From 92266c9dc3a92939c58a93d490a23e7f94a83529 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Tue, 30 Jan 2024 15:06:34 +0500 Subject: [PATCH 001/539] llm provider keys bug fix and refactoring --- .../cypress/support/commands/evaluations.ts | 3 +- .../components/AppSelector/AppSelector.tsx | 3 +- .../AICritiqueEvaluationTable.tsx | 3 +- .../CustomCodeRunEvaluationTable.tsx | 3 +- .../components/Evaluations/Evaluations.tsx | 3 +- .../pages/settings/Secrets/Secrets.tsx | 2 +- agenta-web/src/lib/helpers/llmProviders.ts | 83 +++++++++++++++++ agenta-web/src/lib/helpers/utils.ts | 90 ------------------- 8 files changed, 94 insertions(+), 96 deletions(-) create mode 100644 agenta-web/src/lib/helpers/llmProviders.ts diff --git a/agenta-web/cypress/support/commands/evaluations.ts b/agenta-web/cypress/support/commands/evaluations.ts index b5f24209da..5a5b64da84 100644 --- a/agenta-web/cypress/support/commands/evaluations.ts +++ b/agenta-web/cypress/support/commands/evaluations.ts @@ -1,4 +1,5 @@ -import {randString, removeLlmProviderKey} from "../../../src/lib/helpers/utils" +import {randString} from "../../../src/lib/helpers/utils" +import {removeLlmProviderKey} from "../../../src/lib/helpers/llmProviders" let app_id diff --git a/agenta-web/src/components/AppSelector/AppSelector.tsx b/agenta-web/src/components/AppSelector/AppSelector.tsx index cca4ebfe6d..e463df6d74 100644 --- a/agenta-web/src/components/AppSelector/AppSelector.tsx +++ b/agenta-web/src/components/AppSelector/AppSelector.tsx @@ -8,7 +8,7 @@ import {useAppTheme} from "../Layout/ThemeContextProvider" import {CloseCircleFilled} from "@ant-design/icons" import TipsAndFeatures from "./TipsAndFeatures" import Welcome from "./Welcome" -import {getApikeys, isAppNameInputValid, isDemo} from "@/lib/helpers/utils" +import {isAppNameInputValid, isDemo} from "@/lib/helpers/utils" import { createAndStartTemplate, getTemplates, @@ -24,6 +24,7 @@ import {useAppsData} from "@/contexts/app.context" import {useProfileData} from "@/contexts/profile.context" import CreateAppStatusModal from "./modals/CreateAppStatusModal" import {usePostHogAg} from "@/hooks/usePostHogAg" +import {getApikeys} from "@/lib/helpers/llmProviders" type StyleProps = { themeMode: "dark" | "light" diff --git a/agenta-web/src/components/EvaluationTable/AICritiqueEvaluationTable.tsx b/agenta-web/src/components/EvaluationTable/AICritiqueEvaluationTable.tsx index 5fe2a4674e..b333250db0 100644 --- a/agenta-web/src/components/EvaluationTable/AICritiqueEvaluationTable.tsx +++ b/agenta-web/src/components/EvaluationTable/AICritiqueEvaluationTable.tsx @@ -26,13 +26,14 @@ import { import {useVariants} from "@/lib/hooks/useVariant" import {useRouter} from "next/router" import {EvaluationFlow, EvaluationType} from "@/lib/enums" -import {batchExecute, getApikeys} from "@/lib/helpers/utils" +import {batchExecute} from "@/lib/helpers/utils" import {createUseStyles} from "react-jss" import {exportAICritiqueEvaluationData} from "@/lib/helpers/evaluate" import SecondaryButton from "../SecondaryButton/SecondaryButton" import {useAppTheme} from "../Layout/ThemeContextProvider" import {contentToChatMessageString, testsetRowToChatMessages} from "@/lib/helpers/testset" import ParamsForm from "../Playground/ParamsForm/ParamsForm" +import {getApikeys} from "@/lib/helpers/llmProviders" const {Title} = Typography diff --git a/agenta-web/src/components/EvaluationTable/CustomCodeRunEvaluationTable.tsx b/agenta-web/src/components/EvaluationTable/CustomCodeRunEvaluationTable.tsx index 46a572f2d3..d765ff0e5a 100644 --- a/agenta-web/src/components/EvaluationTable/CustomCodeRunEvaluationTable.tsx +++ b/agenta-web/src/components/EvaluationTable/CustomCodeRunEvaluationTable.tsx @@ -30,13 +30,14 @@ import { import {useVariants} from "@/lib/hooks/useVariant" import {useRouter} from "next/router" import {EvaluationFlow, EvaluationType} from "@/lib/enums" -import {batchExecute, getApikeys} from "@/lib/helpers/utils" +import {batchExecute} from "@/lib/helpers/utils" import {createUseStyles} from "react-jss" import SecondaryButton from "../SecondaryButton/SecondaryButton" import {exportCustomCodeEvaluationData} from "@/lib/helpers/evaluate" import CodeBlock from "../DynamicCodeBlock/CodeBlock" import {contentToChatMessageString, testsetRowToChatMessages} from "@/lib/helpers/testset" import ParamsForm from "../Playground/ParamsForm/ParamsForm" +import {getApikeys} from "@/lib/helpers/llmProviders" const {Title} = Typography diff --git a/agenta-web/src/components/Evaluations/Evaluations.tsx b/agenta-web/src/components/Evaluations/Evaluations.tsx index 65a10bdac9..f3eb52ff81 100644 --- a/agenta-web/src/components/Evaluations/Evaluations.tsx +++ b/agenta-web/src/components/Evaluations/Evaluations.tsx @@ -20,7 +20,7 @@ import { useLoadTestsetsList, fetchCustomEvaluations, } from "@/lib/services/api" -import {dynamicComponent, getAgentaApiUrl, getApikeys, isDemo} from "@/lib/helpers/utils" +import {dynamicComponent, getAgentaApiUrl, isDemo} from "@/lib/helpers/utils" import {useRouter} from "next/router" import {Variant, Parameter, GenericObject, SingleCustomEvaluation} from "@/lib/Types" import {EvaluationType} from "@/lib/enums" @@ -42,6 +42,7 @@ import {createUseStyles} from "react-jss" import AutomaticEvaluationResult from "./AutomaticEvaluationResult" import HumanEvaluationResult from "./HumanEvaluationResult" import {getErrorMessage} from "@/lib/helpers/errorHandler" +import {getApikeys} from "@/lib/helpers/llmProviders" type StyleProps = { themeMode: "dark" | "light" diff --git a/agenta-web/src/components/pages/settings/Secrets/Secrets.tsx b/agenta-web/src/components/pages/settings/Secrets/Secrets.tsx index 857712a886..64e3731379 100644 --- a/agenta-web/src/components/pages/settings/Secrets/Secrets.tsx +++ b/agenta-web/src/components/pages/settings/Secrets/Secrets.tsx @@ -4,7 +4,7 @@ import { removeSingleLlmProviderKey, getAllProviderLlmKeys, LlmProvider, -} from "@/lib/helpers/utils" +} from "@/lib/helpers/llmProviders" import {Button, Input, Space, Typography, message} from "antd" import {useState} from "react" import {createUseStyles} from "react-jss" diff --git a/agenta-web/src/lib/helpers/llmProviders.ts b/agenta-web/src/lib/helpers/llmProviders.ts new file mode 100644 index 0000000000..c4bedd65cc --- /dev/null +++ b/agenta-web/src/lib/helpers/llmProviders.ts @@ -0,0 +1,83 @@ +import _ from "lodash" + +const llmAvailableProvidersToken = "llmAvailableProvidersToken" + +export type LlmProvider = { + title: string + key: string +} + +export const llmAvailableProviders: LlmProvider[] = [ + {title: "OpenAI", key: ""}, + {title: "Replicate", key: ""}, + {title: "Hugging Face", key: ""}, + {title: "Cohere", key: ""}, + {title: "Anthropic", key: ""}, + {title: "Azure", key: ""}, + {title: "TogetherAI", key: ""}, +] + +export const getApikeys = () => { + if (typeof window !== "undefined") { + const llmAvailableProvidersTokenString = localStorage.getItem(llmAvailableProvidersToken) + + if (llmAvailableProvidersTokenString !== null) { + const llmAvailableProvidersTokenArray = JSON.parse(llmAvailableProvidersTokenString) + + if ( + Array.isArray(llmAvailableProvidersTokenArray) && + llmAvailableProvidersTokenArray.length > 0 + ) { + for (let i = 0; i < llmAvailableProvidersTokenArray.length; i++) { + if (llmAvailableProvidersTokenArray[i].key !== "") { + return llmAvailableProvidersTokenArray[i].key + } + } + } + } + return "" + } +} + +export const saveLlmProviderKey = (providerIdx: number, keyValue: string) => { + if (typeof window !== "undefined") { + // TODO: add encryption here + const keys = JSON.parse(localStorage.getItem(llmAvailableProvidersToken) ?? "[{}]") + keys[providerIdx].key = keyValue + localStorage.setItem(llmAvailableProvidersToken, JSON.stringify(keys)) + } +} + +export const getLlmProviderKey = (providerName: string) => + getAllProviderLlmKeys().find((item: LlmProvider) => item.title === providerName)?.key + +export const getAllProviderLlmKeys = () => { + const providers = _.cloneDeep(llmAvailableProviders) + try { + if (typeof window !== "undefined") { + const providersInStorage: LlmProvider[] = JSON.parse( + localStorage.getItem(llmAvailableProvidersToken) || "[{}]", + ) + for (const provider of providers) { + provider.key = providersInStorage.find((p) => p.title === provider.title)?.key || "" + } + } + } catch (error) { + console.log(error) + } + return providers +} + +export const removeSingleLlmProviderKey = (providerIdx: number) => { + if (typeof window !== "undefined") { + const keys = JSON.parse(localStorage.getItem(llmAvailableProvidersToken) ?? "[{}]") + keys[providerIdx].key = "" + localStorage.setItem(llmAvailableProvidersToken, JSON.stringify(keys)) + } +} + +export const removeLlmProviderKey = () => { + if (typeof window !== "undefined") { + localStorage.removeItem(llmAvailableProvidersToken) + } +} diff --git a/agenta-web/src/lib/helpers/utils.ts b/agenta-web/src/lib/helpers/utils.ts index 3d731e5277..c8a62c9afb 100644 --- a/agenta-web/src/lib/helpers/utils.ts +++ b/agenta-web/src/lib/helpers/utils.ts @@ -5,35 +5,6 @@ import {GenericObject} from "../Types" import promiseRetry from "promise-retry" import {getErrorMessage} from "./errorHandler" -const llmAvailableProvidersToken = "llmAvailableProvidersToken" - -export type LlmProvider = { - title: string - key: string -} - -export const llmAvailableProviders: LlmProvider[] = [ - {title: "OpenAI", key: ""}, - {title: "Replicate", key: ""}, - {title: "Hugging Face", key: ""}, - {title: "Cohere", key: ""}, - {title: "Anthropic", key: ""}, - {title: "Azure", key: ""}, - {title: "TogetherAI", key: ""}, -] - -export const getAllLlmProviderKeysAsEnvVariable = () => { - return { - OPENAI_API_KEY: getLlmProviderKey("OpenAI"), - REPLICATE_API_KEY: getLlmProviderKey("Replicate"), - HUGGING_FACE_API_KEY: getLlmProviderKey("Hugging Face"), - COHERE_API_KEY: getLlmProviderKey("Cohere"), - ANTHROPIC_API_KEY: getLlmProviderKey("Anthropic"), - AZURE_API_KEY: getLlmProviderKey("Azure"), - TOGETHERAI_API_KEY: getLlmProviderKey("TogetherAI"), - } -} - export const renameVariables = (name: string) => { if (name === "inputs") { return "Prompt Variables" @@ -62,67 +33,6 @@ export const EvaluationTypeLabels: Record = { [EvaluationType.single_model_test]: "Single Model Test", } -export const getApikeys = () => { - if (typeof window !== "undefined") { - const llmAvailableProvidersTokenString = localStorage.getItem(llmAvailableProvidersToken) - - if (llmAvailableProvidersTokenString !== null) { - const llmAvailableProvidersTokenArray = JSON.parse(llmAvailableProvidersTokenString) - - if ( - Array.isArray(llmAvailableProvidersTokenArray) && - llmAvailableProvidersTokenArray.length > 0 - ) { - for (let i = 0; i < llmAvailableProvidersTokenArray.length; i++) { - if (llmAvailableProvidersTokenArray[i].key !== "") { - return llmAvailableProvidersTokenArray[i].key - } - } - } - } - return "" - } -} - -export const saveLlmProviderKey = (providerIdx: number, keyValue: string) => { - if (typeof window !== "undefined") { - // TODO: add encryption here - const keys = JSON.parse(localStorage.getItem(llmAvailableProvidersToken) ?? "[{}]") - keys[providerIdx].key = keyValue - localStorage.setItem(llmAvailableProvidersToken, JSON.stringify(keys)) - } -} - -export const getLlmProviderKey = (providerName: string) => - getAllProviderLlmKeys().find((item: LlmProvider) => item.title === providerName) - -export const getAllProviderLlmKeys = () => { - if (typeof window !== "undefined") { - const inStorage = localStorage.getItem(llmAvailableProvidersToken) - if (inStorage) { - return JSON.parse(inStorage) - } - // if doesn't have the localStorage variable - localStorage.setItem(llmAvailableProvidersToken, JSON.stringify(llmAvailableProviders)) - } - - return llmAvailableProviders -} - -export const removeSingleLlmProviderKey = (providerIdx: number) => { - if (typeof window !== "undefined") { - const keys = JSON.parse(localStorage.getItem(llmAvailableProvidersToken) ?? "[{}]") - keys[providerIdx].key = "" - localStorage.setItem(llmAvailableProvidersToken, JSON.stringify(keys)) - } -} - -export const removeLlmProviderKey = () => { - if (typeof window !== "undefined") { - localStorage.removeItem(llmAvailableProvidersToken) - } -} - export const capitalize = (s: string) => { if (typeof s !== "string") return "" return s From 5d64fe2ff980880b0fffe1dd987846f720463fc3 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Tue, 30 Jan 2024 18:53:02 +0500 Subject: [PATCH 002/539] fixed issues with new format of env_vars --- .../components/AppSelector/AppSelector.tsx | 9 +++------ .../components/Evaluations/Evaluations.tsx | 5 ++++- agenta-web/src/lib/helpers/llmProviders.ts | 20 ++++++++++--------- agenta-web/src/lib/helpers/utils.ts | 10 +++++----- agenta-web/src/lib/services/api.ts | 5 +++-- 5 files changed, 26 insertions(+), 23 deletions(-) diff --git a/agenta-web/src/components/AppSelector/AppSelector.tsx b/agenta-web/src/components/AppSelector/AppSelector.tsx index a2c639e9d1..7928357af6 100644 --- a/agenta-web/src/components/AppSelector/AppSelector.tsx +++ b/agenta-web/src/components/AppSelector/AppSelector.tsx @@ -22,7 +22,7 @@ import {useAppsData} from "@/contexts/app.context" import {useProfileData} from "@/contexts/profile.context" import CreateAppStatusModal from "./modals/CreateAppStatusModal" import {usePostHogAg} from "@/hooks/usePostHogAg" -import {getApikeys} from "@/lib/helpers/llmProviders" +import {LlmProvider, getAllProviderLlmKeys, getApikeys} from "@/lib/helpers/llmProviders" import ResultComponent from "../ResultComponent/ResultComponent" type StyleProps = { @@ -191,15 +191,12 @@ const AppSelector: React.FC = () => { setStatusModalOpen(true) // attempt to create and start the template, notify user of the progress - const apiKey = getApikeys() + const apiKeys = getAllProviderLlmKeys() await createAndStartTemplate({ appName: newApp, templateId: template_id, orgId: selectedOrg?.id!, - providerKey: - isDemo() && apiKey?.length === 0 - ? [] - : (apiKey as {title: string; key: string; name: string}[]), + providerKey: isDemo() && apiKeys?.length === 0 ? [] : (apiKeys as LlmProvider[]), timeout, onStatusChange: async (status, details, appId) => { setStatusData((prev) => ({status, details, appId: appId || prev.appId})) diff --git a/agenta-web/src/components/Evaluations/Evaluations.tsx b/agenta-web/src/components/Evaluations/Evaluations.tsx index 0324e39053..d818c22f2d 100644 --- a/agenta-web/src/components/Evaluations/Evaluations.tsx +++ b/agenta-web/src/components/Evaluations/Evaluations.tsx @@ -330,7 +330,10 @@ export default function Evaluations() { } else if (selectedTestset?.name === "Select a Test set") { message.error("Please select a testset") return - } else if (!getApikeys() && selectedEvaluationType === EvaluationType.auto_ai_critique) { + } else if ( + !getApikeys()?.length && + selectedEvaluationType === EvaluationType.auto_ai_critique + ) { setError({ message: "In order to run an AI Critique evaluation, please set your OpenAI API key in the API Keys page.", diff --git a/agenta-web/src/lib/helpers/llmProviders.ts b/agenta-web/src/lib/helpers/llmProviders.ts index c4bedd65cc..305b2d2e7e 100644 --- a/agenta-web/src/lib/helpers/llmProviders.ts +++ b/agenta-web/src/lib/helpers/llmProviders.ts @@ -5,21 +5,23 @@ const llmAvailableProvidersToken = "llmAvailableProvidersToken" export type LlmProvider = { title: string key: string + name: string } export const llmAvailableProviders: LlmProvider[] = [ - {title: "OpenAI", key: ""}, - {title: "Replicate", key: ""}, - {title: "Hugging Face", key: ""}, - {title: "Cohere", key: ""}, - {title: "Anthropic", key: ""}, - {title: "Azure", key: ""}, - {title: "TogetherAI", key: ""}, + {title: "OpenAI", key: "", name: "OPENAI_API_KEY"}, + {title: "Replicate", key: "", name: "REPLICATE_API_KEY"}, + {title: "Hugging Face", key: "", name: "HUGGING_FACE_API_KEY"}, + {title: "Cohere", key: "", name: "COHERE_API_KEY"}, + {title: "Anthropic", key: "", name: "ANTHROPIC_API_KEY"}, + {title: "Azure", key: "", name: "AZURE_API_KEY"}, + {title: "TogetherAI", key: "", name: "TOGETHERAI_API_KEY"}, ] export const getApikeys = () => { if (typeof window !== "undefined") { const llmAvailableProvidersTokenString = localStorage.getItem(llmAvailableProvidersToken) + const apiKeys: Array = [] if (llmAvailableProvidersTokenString !== null) { const llmAvailableProvidersTokenArray = JSON.parse(llmAvailableProvidersTokenString) @@ -30,12 +32,12 @@ export const getApikeys = () => { ) { for (let i = 0; i < llmAvailableProvidersTokenArray.length; i++) { if (llmAvailableProvidersTokenArray[i].key !== "") { - return llmAvailableProvidersTokenArray[i].key + apiKeys.push(llmAvailableProvidersTokenArray[i]) } } } } - return "" + return apiKeys } } diff --git a/agenta-web/src/lib/helpers/utils.ts b/agenta-web/src/lib/helpers/utils.ts index f281c00e1e..dfef01ce11 100644 --- a/agenta-web/src/lib/helpers/utils.ts +++ b/agenta-web/src/lib/helpers/utils.ts @@ -8,7 +8,7 @@ import dayjs from "dayjs" import utc from "dayjs/plugin/utc" import {notification} from "antd" import Router from "next/router" -import {getApikeys} from "./llmProviders" +import {getAllProviderLlmKeys, getApikeys} from "./llmProviders" if (typeof window !== "undefined") { //@ts-ignore @@ -46,12 +46,12 @@ export const EvaluationTypeLabels: Record = { } export const apiKeyObject = () => { - const apiKey = getApikeys() + const apiKeys = getAllProviderLlmKeys() - if (!apiKey) return {} + if (!apiKeys) return {} - return apiKey.reduce((acc: GenericObject, {key, name}: GenericObject) => { - acc[name] = key + return apiKeys.reduce((acc: GenericObject, {key, name}: GenericObject) => { + if (key) acc[name] = key return acc }, {}) } diff --git a/agenta-web/src/lib/services/api.ts b/agenta-web/src/lib/services/api.ts index 769db52b41..c4379df92d 100644 --- a/agenta-web/src/lib/services/api.ts +++ b/agenta-web/src/lib/services/api.ts @@ -26,6 +26,7 @@ import { import {EvaluationFlow, EvaluationType} from "../enums" import {delay, getAgentaApiUrl, removeKeys, shortPoll} from "../helpers/utils" import {useProfileData} from "@/contexts/profile.context" +import {LlmProvider} from "../helpers/llmProviders" /** * Raw interface for the parameters parsed from the openapi.json */ @@ -611,7 +612,7 @@ export const createAndStartTemplate = async ({ onStatusChange, }: { appName: string - providerKey: Array<{title: string; key: string; name: string}> + providerKey: Array templateId: string orgId: string timeout?: number @@ -623,7 +624,7 @@ export const createAndStartTemplate = async ({ }) => { const apiKeys = providerKey.reduce( (acc, {key, name}) => { - acc[name] = key + if (key) acc[name] = key return acc }, {} as Record, From 1cf3cdd1537f3fe1d66dd77c01ba0642046a705f Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 30 Jan 2024 17:38:26 +0100 Subject: [PATCH 003/539] Update - resolve failing testcase to create new evaluation --- .../variants_main_router/test_variant_evaluators_router.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/tests/variants_main_router/test_variant_evaluators_router.py b/agenta-backend/agenta_backend/tests/variants_main_router/test_variant_evaluators_router.py index 3563f63ad3..bb77abcbcf 100644 --- a/agenta-backend/agenta_backend/tests/variants_main_router/test_variant_evaluators_router.py +++ b/agenta-backend/agenta_backend/tests/variants_main_router/test_variant_evaluators_router.py @@ -193,7 +193,7 @@ async def test_create_evaluation(): assert response.status_code == 200 assert response_data["app_id"] == payload["app_id"] - assert response_data["status"] == EvaluationStatusEnum.EVALUATION_STARTED + assert response_data["status"]["value"] == EvaluationStatusEnum.EVALUATION_STARTED assert response_data is not None From 351a22eb900af603c1ca07b97e925e376cc4c5ad Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 30 Jan 2024 19:56:35 +0100 Subject: [PATCH 004/539] Update - resolve failing testcases in test_variant_evaluators module --- .../variants_main_router/test_variant_evaluators_router.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/tests/variants_main_router/test_variant_evaluators_router.py b/agenta-backend/agenta_backend/tests/variants_main_router/test_variant_evaluators_router.py index bb77abcbcf..34d34d9415 100644 --- a/agenta-backend/agenta_backend/tests/variants_main_router/test_variant_evaluators_router.py +++ b/agenta-backend/agenta_backend/tests/variants_main_router/test_variant_evaluators_router.py @@ -52,7 +52,7 @@ async def test_get_evaluators_endpoint(): timeout=timeout, ) assert response.status_code == 200 - assert len(response.json()) == 8 # currently we have 8 evaluators + assert len(response.json()) == 9 @pytest.mark.asyncio @@ -213,7 +213,7 @@ async def test_fetch_evaluation_status(): timeout=timeout, ) response_data = response.json() - if response_data["status"] == EvaluationStatusEnum.EVALUATION_FINISHED: + if response_data["status"]["value"] == EvaluationStatusEnum.EVALUATION_FINISHED: assert True return await asyncio.sleep(intervals) From 8734e26cc55b278e9435ec30f8393c232d97d869 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Mon, 5 Feb 2024 13:20:22 +0500 Subject: [PATCH 005/539] sidebar changes and fixes | util types --- agenta-web/src/components/Sidebar/Sidebar.tsx | 68 +++++++++++++++++++ agenta-web/src/hooks/useQuery.ts | 11 +++ agenta-web/src/lib/Types.ts | 18 +++++ .../pages/apps/[app_id]/endpoints/index.tsx | 26 +------ 4 files changed, 99 insertions(+), 24 deletions(-) diff --git a/agenta-web/src/components/Sidebar/Sidebar.tsx b/agenta-web/src/components/Sidebar/Sidebar.tsx index f0aacbb82c..fb1d2fdc0e 100644 --- a/agenta-web/src/components/Sidebar/Sidebar.tsx +++ b/agenta-web/src/components/Sidebar/Sidebar.tsx @@ -12,6 +12,7 @@ import { LogoutOutlined, ApartmentOutlined, FormOutlined, + BarChartOutlined, } from "@ant-design/icons" import {Layout, Menu, Space, Tooltip, theme, Avatar} from "antd" @@ -70,6 +71,9 @@ const useStyles = createUseStyles({ }, menuContainer: { borderRight: "0 !important", + maxHeight: 312, + overflowY: "auto", + position: "relative", }, menuContainer2: { borderRight: "0 !important", @@ -295,6 +299,70 @@ const Sidebar: React.FC = () => { + + } + disabled={!isDemo()} + > + + + + {collapsed + ? "Observability and monitoring of your app" + : "Observability"} + + + + + + + + } + disabled={!isDemo()} + > + + + + {collapsed + ? "Generations of your app" + : "Generations"} + + + + + + { const query = parse(window.location.search.replace("?", "")) + + //do not update query if the value is the same + let changed = false + for (const key in queryObj) { + if (query[key]?.toString() !== queryObj[key]?.toString()) { + changed = true + break + } + } + if (!changed) return + const newQuery = { ...query, ...queryObj, diff --git a/agenta-web/src/lib/Types.ts b/agenta-web/src/lib/Types.ts index 8a0237964c..2dc0c04b98 100644 --- a/agenta-web/src/lib/Types.ts +++ b/agenta-web/src/lib/Types.ts @@ -487,3 +487,21 @@ export type ComparisonResultRow = { }[] id: string } + +export type RequestMetadata = { + cost: number + latency: number + usage: {completion_tokens: number; prompt_tokens: number; total_tokens: number} +} + +export type WithPagination = { + data: T[] + total: number + page: number + pageSize: number +} + +export type PaginationQuery = { + page: number + pageSize: number +} diff --git a/agenta-web/src/pages/apps/[app_id]/endpoints/index.tsx b/agenta-web/src/pages/apps/[app_id]/endpoints/index.tsx index a8cc6bf593..29615ed402 100644 --- a/agenta-web/src/pages/apps/[app_id]/endpoints/index.tsx +++ b/agenta-web/src/pages/apps/[app_id]/endpoints/index.tsx @@ -1,15 +1,13 @@ import cURLCode from "@/code_snippets/endpoints/curl" import pythonCode from "@/code_snippets/endpoints/python" import tsCode from "@/code_snippets/endpoints/typescript" -import DeploymentHistory from "@/components/DeploymentHistory/DeploymentHistory" import DynamicCodeBlock from "@/components/DynamicCodeBlock/DynamicCodeBlock" import ResultComponent from "@/components/ResultComponent/ResultComponent" -import {useQueryParam} from "@/hooks/useQuery" import {Environment, GenericObject, Parameter, Variant} from "@/lib/Types" import {useVariant} from "@/lib/hooks/useVariant" import {fetchEnvironments, fetchVariants, getAppContainerURL} from "@/lib/services/api" -import {ApiOutlined, AppstoreOutlined, DownOutlined, HistoryOutlined} from "@ant-design/icons" -import {Alert, Button, Dropdown, Empty, Space, Tabs, Typography} from "antd" +import {ApiOutlined, DownOutlined} from "@ant-design/icons" +import {Alert, Button, Dropdown, Empty, Space, Typography} from "antd" import {useRouter} from "next/router" import {useEffect, useState} from "react" import {createUseStyles} from "react-jss" @@ -28,7 +26,6 @@ export default function VariantEndpoint() { const classes = useStyles() const router = useRouter() const appId = router.query.app_id as string - const [tab, setTab] = useQueryParam("tab", "overview") // Load URL for the given environment const [uri, setURI] = useState(null) @@ -184,25 +181,6 @@ export default function VariantEndpoint() { {selectedEnvironment?.deployed_app_variant_id ? ( - // , - // children: , - // }, - // { - // key: "history", - // label: "History", - // icon: , - // children: , - // }, - // ]} - // onChange={setTab} - // /> ) : ( Date: Mon, 5 Feb 2024 20:29:22 -0500 Subject: [PATCH 006/539] Added dialog to indicate test set is being saved in create test set UI --- agenta-web/src/components/TestSetTable/TestsetTable.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/agenta-web/src/components/TestSetTable/TestsetTable.tsx b/agenta-web/src/components/TestSetTable/TestsetTable.tsx index 5bff11baef..7ba5014786 100644 --- a/agenta-web/src/components/TestSetTable/TestsetTable.tsx +++ b/agenta-web/src/components/TestSetTable/TestsetTable.tsx @@ -418,6 +418,7 @@ const TestsetTable: React.FC = ({mode}) => { const onSaveData = async () => { try { const afterSave = (response: AxiosResponse) => { + mssgModal("success", "Saving test set...") if (response.status === 200) { setUnSavedChanges(false, () => { mssgModal("success", "Changes saved successfully!") From 403242ccaa14b3789e6d6a486a190dde308a6aa7 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Fri, 9 Feb 2024 14:08:50 +0500 Subject: [PATCH 007/539] improved useQuery --- agenta-web/src/hooks/useQuery.ts | 2 +- agenta-web/src/lib/helpers/utils.ts | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/agenta-web/src/hooks/useQuery.ts b/agenta-web/src/hooks/useQuery.ts index 299c72e9ce..73ca497efb 100644 --- a/agenta-web/src/hooks/useQuery.ts +++ b/agenta-web/src/hooks/useQuery.ts @@ -23,7 +23,7 @@ function getUpdateQuery(router: NextRouter, method: Method) { } //delete keys with undefined values Object.keys(newQuery).forEach((key) => { - if (newQuery[key] === undefined) { + if (newQuery[key] === undefined || newQuery[key] === "") { delete newQuery[key] } }) diff --git a/agenta-web/src/lib/helpers/utils.ts b/agenta-web/src/lib/helpers/utils.ts index a907704b8d..da3ff3764d 100644 --- a/agenta-web/src/lib/helpers/utils.ts +++ b/agenta-web/src/lib/helpers/utils.ts @@ -435,3 +435,6 @@ export const redirectIfNoLLMKeys = () => { } return false } + +export const randNum = (min: number, max: number) => + Math.floor(Math.random() * (max - min + 1) + min) From e0e6e50d80ef56a2e6e4302b1ca51aefdaf08782 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Mon, 12 Feb 2024 12:59:34 +0500 Subject: [PATCH 008/539] added @ant-design/charts package --- agenta-web/package-lock.json | 1052 +++++++++++++++++++++++++++++++++- agenta-web/package.json | 1 + 2 files changed, 1051 insertions(+), 2 deletions(-) diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index 3779a963f6..7dcee972ca 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -8,6 +8,7 @@ "name": "dashboard", "version": "0.1.0", "dependencies": { + "@ant-design/charts": "^2.0.3", "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", "@dnd-kit/core": "^6.1.0", @@ -79,6 +80,28 @@ "node": ">=0.10.0" } }, + "node_modules/@ant-design/charts": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@ant-design/charts/-/charts-2.0.3.tgz", + "integrity": "sha512-CDyDRoMLtUcZ6ZU92nmW23Yt9a9KJU3Z/i5RPMasDuBMShTPNY3i/sOQgv5nTho+7FfBMVrdAax+cKAYcAz3jQ==", + "dependencies": { + "@ant-design/plots": "^2.1.3" + }, + "peerDependencies": { + "lodash-es": "^4.17.21", + "react": ">=16.8.4", + "react-dom": ">=16.8.4" + } + }, + "node_modules/@ant-design/charts-util": { + "version": "0.0.1-alpha.5", + "resolved": "https://registry.npmjs.org/@ant-design/charts-util/-/charts-util-0.0.1-alpha.5.tgz", + "integrity": "sha512-EwTUjRPhU2CUyI2e11pAi9aOQg9oEWdFEWxv1f4j+Ta4doYXd1yTl94Zy9JvigiEj4qv8dPGl0PUd3r+qMVrAg==", + "peerDependencies": { + "react": ">=16.8.4", + "react-dom": ">=16.8.4" + } + }, "node_modules/@ant-design/colors": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.0.tgz", @@ -134,6 +157,22 @@ "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz", "integrity": "sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==" }, + "node_modules/@ant-design/plots": { + "version": "2.1.13", + "resolved": "https://registry.npmjs.org/@ant-design/plots/-/plots-2.1.13.tgz", + "integrity": "sha512-HX0AONkl8UWHwFaqc9nJsxD2+drvbLKVHdFVuf/8mBAKSumLwCyykn1NysaH/BgTfXSJ2k2NxwDD40U8CQg6lQ==", + "dependencies": { + "@ant-design/charts-util": "0.0.1-alpha.5", + "@antv/event-emitter": "^0.1.3", + "@antv/g2": "^5.1.9", + "@antv/g2-extension-plot": "^0.1.1" + }, + "peerDependencies": { + "lodash-es": "^4.17.21", + "react": ">=16.8.4", + "react-dom": ">=16.8.4" + } + }, "node_modules/@ant-design/react-slick": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz", @@ -149,6 +188,281 @@ "react": ">=16.9.0" } }, + "node_modules/@antv/component": { + "version": "1.0.1-beta.2", + "resolved": "https://registry.npmjs.org/@antv/component/-/component-1.0.1-beta.2.tgz", + "integrity": "sha512-yIR2svYP8uaD0NfhbrqbtmSlpdNSyYZLuO64UqnFMBDtDSiG/dK5cyUn0OqK3+ZwIdZDIEkFmFcx1H/lWV/4Cg==", + "dependencies": { + "@antv/g": "^5.18.6", + "@antv/scale": "^0.4.3", + "@antv/util": "^3.3.5", + "svg-path-parser": "^1.1.0" + } + }, + "node_modules/@antv/coord": { + "version": "0.4.7", + "resolved": "https://registry.npmjs.org/@antv/coord/-/coord-0.4.7.tgz", + "integrity": "sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA==", + "dependencies": { + "@antv/scale": "^0.4.12", + "@antv/util": "^2.0.13", + "gl-matrix": "^3.4.3" + } + }, + "node_modules/@antv/coord/node_modules/@antv/util": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", + "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", + "dependencies": { + "csstype": "^3.0.8", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/event-emitter": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@antv/event-emitter/-/event-emitter-0.1.3.tgz", + "integrity": "sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==" + }, + "node_modules/@antv/g": { + "version": "5.18.24", + "resolved": "https://registry.npmjs.org/@antv/g/-/g-5.18.24.tgz", + "integrity": "sha512-qUIjxNPd60VpA6bjDALkRWEWA0CKm2G+vRPkP729eiZ0JnqlRuSqVNibo6QbrlZGEZQfqKiNjiVDODbJjHxNIw==", + "dependencies": { + "@antv/g-camera-api": "1.2.22", + "@antv/g-dom-mutation-observer-api": "1.2.21", + "@antv/g-lite": "1.2.21", + "@antv/g-web-animations-api": "1.2.22" + } + }, + "node_modules/@antv/g-camera-api": { + "version": "1.2.22", + "resolved": "https://registry.npmjs.org/@antv/g-camera-api/-/g-camera-api-1.2.22.tgz", + "integrity": "sha512-+sWDUMTeOACfb6HUJbuMS3ab79xCtFgCHhD+drlNbOjRCJDlkFHPsplyM7vA1a2Rs0zoyV+K68duClsP7Ei3OA==", + "dependencies": { + "@antv/g-lite": "1.2.21", + "@antv/util": "^3.3.4", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-canvas": { + "version": "1.11.26", + "resolved": "https://registry.npmjs.org/@antv/g-canvas/-/g-canvas-1.11.26.tgz", + "integrity": "sha512-7THxFINBbh5MHaapzuUs1mcgXLh4imGZP6xovg8W1riroWGg9q/Mkyt9oXVxK9TtrBNTYQkGR6yVQw7pz3dm6g==", + "dependencies": { + "@antv/g-lite": "1.2.21", + "@antv/g-plugin-canvas-path-generator": "1.3.21", + "@antv/g-plugin-canvas-picker": "1.10.23", + "@antv/g-plugin-canvas-renderer": "1.9.23", + "@antv/g-plugin-dom-interaction": "1.9.21", + "@antv/g-plugin-html-renderer": "1.9.24", + "@antv/g-plugin-image-loader": "1.3.21", + "@antv/util": "^3.3.4", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-dom-mutation-observer-api": { + "version": "1.2.21", + "resolved": "https://registry.npmjs.org/@antv/g-dom-mutation-observer-api/-/g-dom-mutation-observer-api-1.2.21.tgz", + "integrity": "sha512-/gE0hYFAKyrh0bDad4HH6pI9s9VRG3h9RWA5pU4MzFo/9nTQtjp+DvWr9TR/oahg0u9gtyrBO5HE4eI5kziMRA==", + "dependencies": { + "@antv/g-lite": "1.2.21" + } + }, + "node_modules/@antv/g-lite": { + "version": "1.2.21", + "resolved": "https://registry.npmjs.org/@antv/g-lite/-/g-lite-1.2.21.tgz", + "integrity": "sha512-VGo78eaJE93cRPLaWZcXyi0TjfymHrAbweAVI01t3A3wgduqn1CpTXKBICqaNgi/T73rL0zcVO0Nn9th3Lincg==", + "dependencies": { + "@antv/g-math": "2.0.2", + "@antv/util": "^3.3.4", + "d3-color": "^1.4.0", + "eventemitter3": "^5.0.1", + "gl-matrix": "^3.4.3", + "rbush": "^3.0.1", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-math": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@antv/g-math/-/g-math-2.0.2.tgz", + "integrity": "sha512-uqGU1C+70orjeSUoIzD3TuXjL5dRQCIyjZrBrTmm0FWd6VQJMWHyG5ypuZ2lMiI5MrRajVSE1w+3J4hiNBYSJg==", + "dependencies": { + "@antv/util": "^3.3.4", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-canvas-path-generator": { + "version": "1.3.21", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-path-generator/-/g-plugin-canvas-path-generator-1.3.21.tgz", + "integrity": "sha512-pz+2mCHIFGQ9w3ED4awGCrpUQbxdxkGtw1VqjAu178+uimDQJYaTXkpT2rdqsobVcm4LwQCNlugczAJfoJp9fQ==", + "dependencies": { + "@antv/g-lite": "1.2.21", + "@antv/g-math": "2.0.2", + "@antv/util": "^3.3.4", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-canvas-picker": { + "version": "1.10.23", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-picker/-/g-plugin-canvas-picker-1.10.23.tgz", + "integrity": "sha512-rdgSrLQMXIzPAnHf+vJ0unSKGkq1gC90iQVisyWKbH761sfNfVa6I+4lFWrpcBnwU09E3AfGroD1vfiHcpvQ1A==", + "dependencies": { + "@antv/g-lite": "1.2.21", + "@antv/g-math": "2.0.2", + "@antv/g-plugin-canvas-path-generator": "1.3.21", + "@antv/g-plugin-canvas-renderer": "1.9.23", + "@antv/util": "^3.3.4", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-canvas-renderer": { + "version": "1.9.23", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-renderer/-/g-plugin-canvas-renderer-1.9.23.tgz", + "integrity": "sha512-uT2IsUJnwQ0m6n3S86eJYYDMMqF3yUMYcfj6sBchwym2NB3tAC/x0BVFGHZtEyqUkfmBr2wKcYjjBOfPl1tbhw==", + "dependencies": { + "@antv/g-lite": "1.2.21", + "@antv/g-math": "2.0.2", + "@antv/g-plugin-canvas-path-generator": "1.3.21", + "@antv/g-plugin-image-loader": "1.3.21", + "@antv/util": "^3.3.4", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-dom-interaction": { + "version": "1.9.21", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-dom-interaction/-/g-plugin-dom-interaction-1.9.21.tgz", + "integrity": "sha512-aO4yWve2yquZQYqZDU03pM2vgkOjFKk24zTRk+V4cAmdgjtUjCa7EcMWODI8eX2UB6zT31aySzyhOjXHQVC78A==", + "dependencies": { + "@antv/g-lite": "1.2.21", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-dragndrop": { + "version": "1.8.21", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-dragndrop/-/g-plugin-dragndrop-1.8.21.tgz", + "integrity": "sha512-iyhZJsToY3vmVqwuiZIpeWOqGcpK/9Nk13rPR2Qjk+U/9DncNF2b5fEXh3GHMFmQYysiCdPfMbFAwMuRUvoRKQ==", + "dependencies": { + "@antv/g-lite": "1.2.21", + "@antv/util": "^3.3.4", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-html-renderer": { + "version": "1.9.24", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-html-renderer/-/g-plugin-html-renderer-1.9.24.tgz", + "integrity": "sha512-8tM2LaHXpgoyT27tryu/lVDX+YEvKv+KaPCtMTfQf04vL0XfbQ/ATcEXAEksIsNdZ+brQvi3LKh6UPiWCRAs3A==", + "dependencies": { + "@antv/g-lite": "1.2.21", + "@antv/util": "^3.3.4", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-plugin-image-loader": { + "version": "1.3.21", + "resolved": "https://registry.npmjs.org/@antv/g-plugin-image-loader/-/g-plugin-image-loader-1.3.21.tgz", + "integrity": "sha512-PCFRYscSapA4pMkm9TcUQcxV9hnHKe0AIJaR35kV2F1hhuWLMyCPEuxVyWaCMYDFMfrDtVj7dXzL81L4fja8HQ==", + "dependencies": { + "@antv/g-lite": "1.2.21", + "@antv/util": "^3.3.4", + "gl-matrix": "^3.4.3", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g-web-animations-api": { + "version": "1.2.22", + "resolved": "https://registry.npmjs.org/@antv/g-web-animations-api/-/g-web-animations-api-1.2.22.tgz", + "integrity": "sha512-/bh/jUF/hVaDOnNtXRoB5ZsDnPK9IIrduLr4o5sFP+tOuCCBpalWgxeP11yBJoMpl2Y14GmipZTAD8QUoZyyNw==", + "dependencies": { + "@antv/g-lite": "1.2.21", + "@antv/util": "^3.3.4", + "tslib": "^2.5.3" + } + }, + "node_modules/@antv/g2": { + "version": "5.1.15", + "resolved": "https://registry.npmjs.org/@antv/g2/-/g2-5.1.15.tgz", + "integrity": "sha512-WiISs4GUOzHlA4vrkt+eQfr1+LVIAuv4AkfFCRzTprayMO72pLAdgTcwUg9YlvafwM220r9FQD1nXIlYNXOOhA==", + "dependencies": { + "@antv/component": "^1.0.1-beta.0", + "@antv/coord": "^0.4.6", + "@antv/event-emitter": "^0.1.3", + "@antv/g": "^5.18.19", + "@antv/g-canvas": "^1.11.22", + "@antv/g-plugin-dragndrop": "^1.8.17", + "@antv/path-util": "^3.0.1", + "@antv/scale": "^0.4.12", + "@antv/util": "^3.3.5", + "d3-array": "^3.2.4", + "d3-dsv": "^3.0.1", + "d3-force": "^3.0.0", + "d3-format": "^3.1.0", + "d3-geo": "^3.1.0", + "d3-hierarchy": "^3.1.2", + "d3-path": "^3.1.0", + "d3-scale-chromatic": "^3.0.0", + "d3-shape": "^3.2.0", + "d3-voronoi": "^1.1.4", + "flru": "^1.0.2", + "fmin": "^0.0.2", + "pdfast": "^0.2.0" + } + }, + "node_modules/@antv/g2-extension-plot": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@antv/g2-extension-plot/-/g2-extension-plot-0.1.1.tgz", + "integrity": "sha512-yruGQudJYL/3/2/mHA0+WRW6oJ+YX4ZWMSqGu6eY5+ooqvTgeeF91KHixrodiPfiZZ+zDFrNeZ0HsOcLuHB+YA==", + "dependencies": { + "@antv/g": "^5.18.19", + "@antv/g2": "^5.1.8", + "@antv/util": "^3.3.5", + "d3-array": "^3.2.4", + "d3-hierarchy": "^3.1.2" + } + }, + "node_modules/@antv/path-util": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@antv/path-util/-/path-util-3.0.1.tgz", + "integrity": "sha512-tpvAzMpF9Qm6ik2YSMqICNU5tco5POOW7S4XoxZAI/B0L26adU+Md/SmO0BBo2SpuywKvzPH3hPT3xmoyhr04Q==", + "dependencies": { + "gl-matrix": "^3.1.0", + "lodash-es": "^4.17.21", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/scale": { + "version": "0.4.15", + "resolved": "https://registry.npmjs.org/@antv/scale/-/scale-0.4.15.tgz", + "integrity": "sha512-b3b2U1L55fcJg0fB/BloVvcngPo/QxhosWgjn6JmYLVLezxDYMO+zdQou8hxpsLMUVhH15NqRDcM/1n4U6G04g==", + "dependencies": { + "@antv/util": "^2.0.13", + "color-string": "^1.5.5", + "fecha": "^4.2.1" + } + }, + "node_modules/@antv/scale/node_modules/@antv/util": { + "version": "2.0.17", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", + "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", + "dependencies": { + "csstype": "^3.0.8", + "tslib": "^2.0.3" + } + }, + "node_modules/@antv/util": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/@antv/util/-/util-3.3.6.tgz", + "integrity": "sha512-Oj2uAwBWEpEKbYcYgSJ/B6zv7t515L+JZzSpnkZeez/qwvDbS6s80lQRuzWzVhWCTHKSPLkgImxhkV9nzLmv4Q==", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "gl-matrix": "^3.3.0", + "tslib": "^2.3.1" + } + }, "node_modules/@babel/runtime": { "version": "7.23.5", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", @@ -552,6 +866,28 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, + "node_modules/@ljharb/resumer": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/@ljharb/resumer/-/resumer-0.0.1.tgz", + "integrity": "sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==", + "dependencies": { + "@ljharb/through": "^2.3.9" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/@ljharb/through": { + "version": "2.3.12", + "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.12.tgz", + "integrity": "sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==", + "dependencies": { + "call-bind": "^1.0.5" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/@mdx-js/loader": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-2.3.0.tgz", @@ -1831,6 +2167,27 @@ "ajv": "^6.9.1" } }, + "node_modules/align-text": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", + "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", + "dependencies": { + "kind-of": "^3.0.2", + "longest": "^1.0.1", + "repeat-string": "^1.5.2" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/amdefine": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", + "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", + "engines": { + "node": ">=0.4.2" + } + }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -2470,6 +2827,14 @@ "node": ">=6" } }, + "node_modules/camelcase": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", + "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/caniuse-lite": { "version": "1.0.30001568", "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001568.tgz", @@ -2504,6 +2869,18 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/center-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", + "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", + "dependencies": { + "align-text": "^0.1.3", + "lazy-cache": "^1.0.3" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -2647,6 +3024,16 @@ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, + "node_modules/cliui": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", + "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", + "dependencies": { + "center-align": "^0.1.1", + "right-align": "^0.1.1", + "wordwrap": "0.0.2" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -2663,6 +3050,15 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -2756,6 +3152,11 @@ "node": ">= 0.6" } }, + "node_modules/contour_plot": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/contour_plot/-/contour_plot-0.0.1.tgz", + "integrity": "sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw==" + }, "node_modules/cookie": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", @@ -2956,6 +3357,165 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", + "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" + }, + "node_modules/d3-dispatch": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", + "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", + "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", + "dependencies": { + "commander": "7", + "iconv-lite": "0.6", + "rw": "1" + }, + "bin": { + "csv2json": "bin/dsv2json.js", + "csv2tsv": "bin/dsv2dsv.js", + "dsv2dsv": "bin/dsv2dsv.js", + "dsv2json": "bin/dsv2json.js", + "json2csv": "bin/json2dsv.js", + "json2dsv": "bin/json2dsv.js", + "json2tsv": "bin/json2dsv.js", + "tsv2csv": "bin/dsv2dsv.js", + "tsv2json": "bin/dsv2json.js" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-dsv/node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "engines": { + "node": ">= 10" + } + }, + "node_modules/d3-force": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", + "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", + "dependencies": { + "d3-dispatch": "1 - 3", + "d3-quadtree": "1 - 3", + "d3-timer": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-geo": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", + "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", + "dependencies": { + "d3-array": "2.5.0 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-hierarchy": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", + "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-quadtree": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", + "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale-chromatic": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", + "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "dependencies": { + "d3-color": "1 - 3", + "d3-interpolate": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-voronoi": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", + "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==" + }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -2994,6 +3554,14 @@ } } }, + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/decode-named-character-reference": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", @@ -3006,6 +3574,25 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/deep-equal": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", + "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", + "dependencies": { + "is-arguments": "^1.1.1", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "regexp.prototype.flags": "^1.5.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -3040,6 +3627,14 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/defined": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", + "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -3106,6 +3701,17 @@ "url": "https://github.com/motdotla/dotenv?sponsor=1" } }, + "node_modules/dotignore": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", + "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", + "dependencies": { + "minimatch": "^3.0.4" + }, + "bin": { + "ignored": "bin/ignored" + } + }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -3839,6 +4445,11 @@ "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", "dev": true }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", @@ -3987,6 +4598,11 @@ "pend": "~1.2.0" } }, + "node_modules/fecha": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", + "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" + }, "node_modules/fflate": { "version": "0.4.8", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", @@ -4071,6 +4687,116 @@ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" }, + "node_modules/flru": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/flru/-/flru-1.0.2.tgz", + "integrity": "sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==", + "engines": { + "node": ">=6" + } + }, + "node_modules/fmin": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/fmin/-/fmin-0.0.2.tgz", + "integrity": "sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A==", + "dependencies": { + "contour_plot": "^0.0.1", + "json2module": "^0.0.3", + "rollup": "^0.25.8", + "tape": "^4.5.1", + "uglify-js": "^2.6.2" + } + }, + "node_modules/fmin/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fmin/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fmin/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fmin/node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fmin/node_modules/rollup": { + "version": "0.25.8", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.25.8.tgz", + "integrity": "sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA==", + "dependencies": { + "chalk": "^1.1.1", + "minimist": "^1.2.0", + "source-map-support": "^0.3.2" + }, + "bin": { + "rollup": "bin/rollup" + } + }, + "node_modules/fmin/node_modules/source-map": { + "version": "0.1.32", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", + "integrity": "sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ==", + "dependencies": { + "amdefine": ">=0.0.4" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/fmin/node_modules/source-map-support": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.3.tgz", + "integrity": "sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg==", + "dependencies": { + "source-map": "0.1.32" + } + }, + "node_modules/fmin/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/fmin/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/follow-redirects": { "version": "1.15.5", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", @@ -4314,6 +5040,11 @@ "assert-plus": "^1.0.0" } }, + "node_modules/gl-matrix": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", + "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" + }, "node_modules/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -4451,6 +5182,33 @@ "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" }, + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-ansi": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", + "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -4676,6 +5434,17 @@ "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -4790,6 +5559,14 @@ "node": ">= 0.4" } }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } + }, "node_modules/intl-tel-input": { "version": "17.0.21", "resolved": "https://registry.npmjs.org/intl-tel-input/-/intl-tel-input-17.0.21.tgz", @@ -4817,6 +5594,21 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-array-buffer": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", @@ -4830,6 +5622,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" + }, "node_modules/is-async-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", @@ -5464,6 +6261,17 @@ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, + "node_modules/json2module": { + "version": "0.0.3", + "resolved": "https://registry.npmjs.org/json2module/-/json2module-0.0.3.tgz", + "integrity": "sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA==", + "dependencies": { + "rw": "^1.3.2" + }, + "bin": { + "json2module": "bin/json2module" + } + }, "node_modules/json2mq": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", @@ -5724,6 +6532,22 @@ "json-buffer": "3.0.1" } }, + "node_modules/kind-of": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", + "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", + "dependencies": { + "is-buffer": "^1.1.5" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/kind-of/node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" + }, "node_modules/kleur": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", @@ -5757,6 +6581,14 @@ "node": "> 0.8" } }, + "node_modules/lazy-cache": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", + "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -5850,6 +6682,11 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, + "node_modules/lodash-es": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", + "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" + }, "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", @@ -5971,6 +6808,14 @@ "node": ">=8" } }, + "node_modules/longest": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", + "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/longest-streak": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", @@ -6985,6 +7830,25 @@ "mkdirp": "bin/cmd.js" } }, + "node_modules/mock-property": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/mock-property/-/mock-property-1.0.3.tgz", + "integrity": "sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==", + "dependencies": { + "define-data-property": "^1.1.1", + "functions-have-names": "^1.2.3", + "gopd": "^1.0.1", + "has-property-descriptors": "^1.0.0", + "hasown": "^2.0.0", + "isarray": "^2.0.5" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/monaco-editor": { "version": "0.45.0", "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.45.0.tgz", @@ -7230,6 +8094,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -7522,6 +8401,11 @@ "node": ">=8" } }, + "node_modules/pdfast": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/pdfast/-/pdfast-0.2.0.tgz", + "integrity": "sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA==" + }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -7795,6 +8679,11 @@ } ] }, + "node_modules/quickselect": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", + "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" + }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -7813,6 +8702,14 @@ "node": ">= 0.6" } }, + "node_modules/rbush": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", + "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", + "dependencies": { + "quickselect": "^2.0.0" + } + }, "node_modules/rc-cascader": { "version": "3.20.0", "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.20.0.tgz", @@ -8636,6 +9533,14 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/repeat-string": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", + "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", + "engines": { + "node": ">=0.10" + } + }, "node_modules/request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", @@ -8723,6 +9628,17 @@ "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", "dev": true }, + "node_modules/right-align": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", + "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", + "dependencies": { + "align-text": "^0.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -8792,6 +9708,11 @@ "queue-microtask": "^1.2.2" } }, + "node_modules/rw": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", + "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" + }, "node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -8864,8 +9785,7 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" }, "node_modules/scheduler": { "version": "0.23.0", @@ -8999,6 +9919,14 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, "node_modules/sister": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/sister/-/sister-3.0.2.tgz", @@ -9423,6 +10351,11 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/svg-path-parser": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/svg-path-parser/-/svg-path-parser-1.1.0.tgz", + "integrity": "sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A==" + }, "node_modules/swr": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.4.tgz", @@ -9451,6 +10384,62 @@ "node": ">=6" } }, + "node_modules/tape": { + "version": "4.17.0", + "resolved": "https://registry.npmjs.org/tape/-/tape-4.17.0.tgz", + "integrity": "sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw==", + "dependencies": { + "@ljharb/resumer": "~0.0.1", + "@ljharb/through": "~2.3.9", + "call-bind": "~1.0.2", + "deep-equal": "~1.1.1", + "defined": "~1.0.1", + "dotignore": "~0.1.2", + "for-each": "~0.3.3", + "glob": "~7.2.3", + "has": "~1.0.3", + "inherits": "~2.0.4", + "is-regex": "~1.1.4", + "minimist": "~1.2.8", + "mock-property": "~1.0.0", + "object-inspect": "~1.12.3", + "resolve": "~1.22.6", + "string.prototype.trim": "~1.2.8" + }, + "bin": { + "tape": "bin/tape" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tape/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/tape/node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/terser": { "version": "5.26.0", "resolved": "https://registry.npmjs.org/terser/-/terser-5.26.0.tgz", @@ -9813,6 +10802,38 @@ "node": ">=12.20" } }, + "node_modules/uglify-js": { + "version": "2.8.29", + "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", + "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", + "dependencies": { + "source-map": "~0.5.1", + "yargs": "~3.10.0" + }, + "bin": { + "uglifyjs": "bin/uglifyjs" + }, + "engines": { + "node": ">=0.8.0" + }, + "optionalDependencies": { + "uglify-to-browserify": "~1.0.0" + } + }, + "node_modules/uglify-js/node_modules/source-map": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", + "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/uglify-to-browserify": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", + "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==", + "optional": true + }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -10301,6 +11322,22 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/window-size": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", + "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/wordwrap": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", + "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -10361,6 +11398,17 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, + "node_modules/yargs": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", + "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", + "dependencies": { + "camelcase": "^1.0.2", + "cliui": "^2.1.0", + "decamelize": "^1.0.0", + "window-size": "0.1.0" + } + }, "node_modules/yauzl": { "version": "2.10.0", "resolved": "https://registry.npmjs.org/yauzl/-/yauzl-2.10.0.tgz", diff --git a/agenta-web/package.json b/agenta-web/package.json index 19840202f0..7a9565a3f3 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -19,6 +19,7 @@ "types:watch": "tsc -w" }, "dependencies": { + "@ant-design/charts": "^2.0.3", "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", "@dnd-kit/core": "^6.1.0", From eb2b539be22c58bc38d04a3cf1be47a23c6a689e Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Wed, 14 Feb 2024 13:37:52 +0500 Subject: [PATCH 009/539] reusable server table with columns drag and resizing --- .../src/components/ServerTable/components.tsx | 147 +++++++++++++ .../src/components/ServerTable/index.tsx | 205 ++++++++++++++++++ agenta-web/src/hooks/useDeepCompareEffect.ts | 24 ++ 3 files changed, 376 insertions(+) create mode 100644 agenta-web/src/components/ServerTable/components.tsx create mode 100644 agenta-web/src/components/ServerTable/index.tsx create mode 100644 agenta-web/src/hooks/useDeepCompareEffect.ts diff --git a/agenta-web/src/components/ServerTable/components.tsx b/agenta-web/src/components/ServerTable/components.tsx new file mode 100644 index 0000000000..ef9d15ad68 --- /dev/null +++ b/agenta-web/src/components/ServerTable/components.tsx @@ -0,0 +1,147 @@ +import {GenericObject, JSSTheme, PaginationQuery} from "@/lib/Types" +import {Button, Dropdown, Input, TableColumnType} from "antd" +import {AnyObject} from "antd/es/_util/type" +import {ColumnsType} from "antd/es/table" +import dayjs from "dayjs" +import {useMemo} from "react" +import {createUseStyles} from "react-jss" +import {Resizable} from "react-resizable" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + filterRoot: { + "& .input": { + width: 200, + }, + padding: "1rem", + display: "flex", + alignItems: "center", + gap: "0.5rem", + }, + resizableHandle: { + position: "absolute", + width: 10, + height: "100%", + right: "-5px", + bottom: 0, + cursor: "col-resize", + zIndex: 1, + }, +})) + +export type TableParams = { + pagination: PaginationQuery + filters: GenericObject + sorters: GenericObject +} + +export const getFilterParams = ( + type: "number" | "text" | "date", + field: string, + tableParams: TableParams, +) => { + let filterDropdown: TableColumnType["filterDropdown"] = ({ + setSelectedKeys, + selectedKeys, + confirm, + }) => { + const classes = useStyles() + + return ( +
+ { + setSelectedKeys(val ? [val] : []) + confirm() + }} + /> +
+ ) + } + + const filteredValStr = Object.entries(tableParams?.filters || {}).find( + (item) => item[0] === field, + )?.[1] + + return { + filterDropdown, + filteredValue: filteredValStr + ? [ + type === "date" + ? dayjs(filteredValStr.toString()).format("YYYY-MM-DD") + : filteredValStr, + ] + : undefined, + } +} + +interface ColsDropdownProps { + columns: ColumnsType + hiddenCols: string[] + setHiddenCols: (cols: string[]) => void +} + +export const ColsDropdown = ({columns, hiddenCols, setHiddenCols}: ColsDropdownProps) => { + const shownCols = useMemo( + () => + columns + .map((item) => item.key?.toString()!) + .filter((item) => !hiddenCols.includes(item)), + [columns, hiddenCols], + ) + + const onColToggle = (colKey: string) => { + if (hiddenCols.includes(colKey)) { + setHiddenCols(hiddenCols.filter((item) => item !== colKey)) + } else { + setHiddenCols([...hiddenCols, colKey]) + } + } + + return ( + ({ + key: item.key?.toString()!, + label: item.title, + })) as any, + onClick: ({key}) => onColToggle(key), + }} + > + + + ) +} + +export const ResizableTitle: React.FC = (props) => { + const classes = useStyles() + const {onResize, width, ...restProps} = props + + if (!width) { + return + } + + return ( + { + e.stopPropagation() + }} + /> + } + onResize={onResize} + draggableOpts={{enableUserSelectHack: false}} + > + + + ) +} diff --git a/agenta-web/src/components/ServerTable/index.tsx b/agenta-web/src/components/ServerTable/index.tsx new file mode 100644 index 0000000000..b86155d4a0 --- /dev/null +++ b/agenta-web/src/components/ServerTable/index.tsx @@ -0,0 +1,205 @@ +import React, {ReactNode, useEffect, useMemo, useRef, useState} from "react" +import {Space, Table, TableColumnType} from "antd" +import {AnyObject} from "antd/es/_util/type" +import ReactDragListView from "react-drag-listview" +import {useQueryParam} from "@/hooks/useQuery" +import {createUseStyles} from "react-jss" +import {JSSTheme} from "@/lib/Types" +import {ColsDropdown, ResizableTitle, TableParams, getFilterParams} from "./components" +import {useDeepCompareEffect} from "@/hooks/useDeepCompareEffect" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + root: { + width: "100%", + }, + dragHandle: { + cursor: "move", + }, + filterRoot: { + "& .input": { + width: 200, + }, + padding: "1rem", + display: "flex", + alignItems: "center", + gap: "0.5rem", + }, + resizableHandle: { + position: "absolute", + width: 10, + height: "100%", + right: "-5px", + bottom: 0, + cursor: "col-resize", + zIndex: 1, + }, + header: { + width: "100%", + justifyContent: "flex-end", + }, +})) + +type DataCol = TableColumnType & {filterDataType?: Parameters[0]} + +interface Props { + height?: number | string + fetchData?: (params: TableParams) => Promise<{ + data: T[] + total?: number + }> + headersSelection?: boolean + colsDraggable?: boolean + colsResizable?: boolean + pagination?: boolean + columns: DataCol[] + headerExtra?: ReactNode +} + +const ServerTable = ( + props: Omit>, "pagination" | "columns"> & Props, +) => { + const classes = useStyles() + const [columns, setColumns] = useState[]>((props.columns || []) as DataCol[]) + const [_tableParams, setTableParams] = useQueryParam("tableParams") + const [_hiddenCols, _setHiddenCols] = useQueryParam("hiddenCols", "") + const [data, setData] = useState([]) + const [loading, setLoading] = useState(false) + + const tableParams = useMemo(() => JSON.parse(_tableParams || "{}"), [_tableParams]) + const hiddenCols = useMemo(() => _hiddenCols?.split(",") || [], [_hiddenCols]) + const setHiddenCols = (cols: string[]) => _setHiddenCols(cols.join(",")) + const total = useRef(0) + + // useDeepCompareEffect(() => { + // setColumns( + // (props.columns || []).map((item) => ({...item, width: item.width})) as DataCol[], + // ) + // }, [props.columns]) + + useEffect(() => { + setLoading(true) + props + .fetchData?.(tableParams) + .then((res) => { + setData(res.data) + total.current = res.total || 0 + }) + .catch(console.error) + .finally(() => { + setLoading(false) + }) + }, [tableParams]) + + const onDragEnd = (fromIndex: number, toIndex: number) => { + setColumns((cols) => { + const nextCols = [...cols] + const item = nextCols.splice(fromIndex - 1, 1)[0] + nextCols.splice(toIndex - 1, 0, item) + return nextCols + }) + } + + const handleResize = + (key: string) => + (_: any, {size}: {size: {width: number}}) => { + setColumns((cols) => { + return cols.map((col) => ({ + ...col, + width: col.key === key ? size.width : col.width, + })) + }) + } + + const cols = useMemo(() => { + return columns.map((col) => ({ + ...col, + hidden: hiddenCols.includes(col.key?.toString()!), + width: col.width || 150, + onHeaderCell: (column: TableColumnType) => ({ + width: column.width, + onResize: handleResize(column.key?.toString()!), + }), + title: props.colsDraggable ? ( + {col.title as ReactNode} + ) : ( + col.title + ), + sortOrder: col.sorter + ? Object.entries(tableParams?.sorters || {}).find( + (item) => item[0] === col.key?.toString()!, + )?.[1] + : undefined, + ...(col.filterDataType + ? getFilterParams(col.filterDataType, col.key?.toString()!, tableParams) + : {}), + })) + }, [hiddenCols, columns, tableParams, props.colsDraggable]) + + return ( + + + {props.headerExtra} + {props.headersSelection && ( + + )} + + + + size="middle" + {...props} + dataSource={data} + columns={cols as TableColumnType[]} + loading={loading} + pagination={ + !!props.pagination && { + pageSize: tableParams?.pagination?.pageSize || 10, + current: tableParams?.pagination?.page || 1, + total: total.current, + } + } + components={{ + ...(props.components || {}), + header: { + cell: props.colsResizable ? ResizableTitle : undefined, + ...(props.components?.header || {}), + }, + }} + scroll={{x: "max-content", y: props.height}} + onChange={(pagination, filters, sorters, extra) => { + const sortObj = (Array.isArray(sorters) ? sorters[0] : sorters) || {} + setTableParams( + JSON.stringify({ + pagination: { + page: pagination.current, + pageSize: pagination.pageSize, + }, + filters: Object.entries(filters).reduce((acc, [key, value]) => { + const val = value?.[0] + return !val ? acc : {...acc, [key]: val} + }, {}), + sorters: + !sortObj?.order || !sortObj?.columnKey + ? {} + : { + [sortObj.columnKey.toString()]: sortObj.order, + }, + }), + ) + props.onChange?.(pagination, filters, sorters, extra) + }} + /> + + + ) +} + +export default ServerTable diff --git a/agenta-web/src/hooks/useDeepCompareEffect.ts b/agenta-web/src/hooks/useDeepCompareEffect.ts new file mode 100644 index 0000000000..daf2d9ca3e --- /dev/null +++ b/agenta-web/src/hooks/useDeepCompareEffect.ts @@ -0,0 +1,24 @@ +import {isEqual} from "lodash" +import React, {useEffect, useRef} from "react" +import {useUpdateEffect} from "usehooks-ts" + +function useDeepCompareMemoize(value: any) { + const ref = useRef() + + if (!isEqual(value, ref.current)) { + ref.current = value + } + + return ref.current +} + +export function useDeepCompareEffect(callback: React.EffectCallback, deps?: React.DependencyList) { + useEffect(callback, deps?.map(useDeepCompareMemoize)) +} + +export function useDeepCompareUpdateEffect( + callback: React.EffectCallback, + deps?: React.DependencyList, +) { + useUpdateEffect(callback, deps?.map(useDeepCompareMemoize)) +} From 8ccaa7cdd46b9efc798f77305584d5109972559d Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Fri, 16 Feb 2024 09:38:52 +0100 Subject: [PATCH 010/539] added card and table view images --- .../21_ab_test_view_card_view_dark.png | Bin 0 -> 310371 bytes .../21_ab_test_view_card_view_light.png | Bin 0 -> 312333 bytes .../21_ab_test_view_table_view_dark.png | Bin 0 -> 219788 bytes .../21_ab_test_view_table_view_light.png | Bin 0 -> 220427 bytes ...2_single_model_test_view_card_view_dark.png | Bin 0 -> 230455 bytes ..._single_model_test_view_card_view_light.png | Bin 0 -> 230191 bytes ..._single_model_test_view_table_view_dark.png | Bin 0 -> 223159 bytes ...single_model_test_view_table_view_light.png | Bin 0 -> 223700 bytes 8 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 docs/images/basic_guides/21_ab_test_view_card_view_dark.png create mode 100644 docs/images/basic_guides/21_ab_test_view_card_view_light.png create mode 100644 docs/images/basic_guides/21_ab_test_view_table_view_dark.png create mode 100644 docs/images/basic_guides/21_ab_test_view_table_view_light.png create mode 100644 docs/images/basic_guides/22_single_model_test_view_card_view_dark.png create mode 100644 docs/images/basic_guides/22_single_model_test_view_card_view_light.png create mode 100644 docs/images/basic_guides/22_single_model_test_view_table_view_dark.png create mode 100644 docs/images/basic_guides/22_single_model_test_view_table_view_light.png diff --git a/docs/images/basic_guides/21_ab_test_view_card_view_dark.png b/docs/images/basic_guides/21_ab_test_view_card_view_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..fdadd1a699470459c7f3bebb6d9e66f3a765dde4 GIT binary patch literal 310371 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�tP?t%7rKF)bu;N-0EADdKS*+q!ewa&8 z!+WZ2S@eExZ#>`c_t1XYIKJG&gFxVhA2okrnn|aQn+p%{wQH8>=){Zymp+rjG9)6Sgp)nL}agk*pom;YVH~1B)+o>}1Q=^}!tO$P2-Q zciB{XKD8f_AquVEQ1QJCl9g8AMffIV>V^eFNAwTnAeHmb#Y0pj03U__I?;ok)pm_Ev5}V+Xs1emn@qwp zT;*7YaTPpy?#*PiDZ^(>RU-BBts+P=7+8!6XM(ROm`B4*ubY+9{Jrp+KC{>nUo`?1 z9hX(}XnXdKc2|SoZOdon9vu%xej$m3ce>4wHk%Z4Do^cb7Ru&!4sX&4n6m+kjK$l( zyB(SSkvVMEu;hP#g;0Jo4a*jtPosbI@<#Rniz&$OjjFng&n?~$En3G2E`;%m)xy1) z*6xWz=kcbjT_7zcgrQ6qq>8duM0yh-gW^F88oZ1Sly#=n_(C9e{temQ29f z>A1r_EN+7Mxd(y0^L#MC-MbKaZ7S6iw4t8zUbjn<9TEDyLHX|@2Xz7ts@l-zGLX~h zi*6;rc`qRJC>1rG?&bzVW(~V|z;^6y-NX3V4ds0~;r=G`n{I0_)~_J8b*+exqy^hv z>Wu|mAk-z-+6@d9iudVvJhx9Y4QV@w*X{o)UUMrB3Uk^3`P2kl5m|D05)1Z$H-Xky zd75ztu`#oF5eRpGxZhb^nuHGG&f?>DH_{;!dgAjT@T)OVF ztXrmU&M(A#E%(0ib1-adiV}-hq@}$tQV!8QBzz8vKeea!i_bRRyMmJ)xsgFFH0V+X zjqnna!5grGGJ#~7o@4TMx$yqrCsn{uNH`ROY`^Omr)^?!!Wpc~A)@0AN&H!zBy>}$ z3qq5keiHX3jWcLd5;hdy)PZrt;*TZnGPM%ea5X%eBd-usE-J+^V~H6KIb!VP}ko5+fhh z7~1;Gm&3`D&6@>CL>5pWi#%COI^?P&&nF{z>`Y&p-rmk`$5HY!>dLq)PGzIyZ6_S4 zf4LB8k15k)nWo>rA29Jm~oZm1KKhN4I9zXQ0_I~iVdtaWvjmwrC`w5}eDq!jdB~F+x zEe5z1i`v%t$~A^MvM_SEi4F?C^RoH9Icab?VJhN0BLFN_fwV!l(AZ&1XI(ZK1Z-9G z1tWYIen!V{2$jZIf2A;rM;x>9deU2akwSLzjtBag$!NJ4Pz?aw0dLJ&C6!^MPXzEy zkg<0Dj+pg#FZneo#k$KxRJXn1Na_0#glgcCP1N~fr`L-RW}8=-W47N(*LngfgWIaV zNk{xhiKEqM8H5<{_dxrbEk$&Uslpd4Jt6F^fMF{oOa}BqVcoh2=kF|)KgFRw0|lca z+*y^~jW?t*4{t>K%sE}~Php7aTegOZJ|3YsXt22Y`#q`hJq{eM+Pum%C-!Y^tHO;T zA3P4KuXZDk`~-Wf@I`vP)D$v3H!R=i%_Smyc(4nOLvR9SldxEtudVAiZq(% zI%vDjN1`vhiM?%eW7O^QEP_^S%@_%4sE9z%h4|<*@Z^UkA|t*@je#u{6Wiw?i zja_@l%Yydc$O1K0$q{fhK=thPey9~GfZ3wmUuKK+WE#?zC95iA)-SPT+>p!25To2Y zH@@DAC-!{#;|x(YLpS*p7R_-s*W}~G5^#Lkq;sRvE#Qs;SztuvcJ4iNZTiI43fP*W zx?kcwOPJRZ#UQ8xQBNX%F1eSRIQucly1~=)%pM+#fG!SCK zj}gR9B7}6H5!M+Vov48r^Rc!2dBQ2Ku9&NepTKc6tDLC-9@bEp%w>Cxr58Y#0cj!; zIg><>A#_}v>LIzv^jte)5E9Of`&oS4vjx9kRUR(8o@ z=ovHv>3EK40-A^LiP8#6IJ0w~aO)3#>d>%+p0G7KgzG$BMlxrwShv5$1Er}6>Y{lV z=cwsQExrX5`?`Q;1^|CM`LuhHauG<=en8&fEK;0i?=jh%i!XR8DXd)C%ksMtpluR3 zsD+LZAdH^RzQ@w}bwcwJ?L+>srwMEf15D~<3t{#gLa}@YBdN;BEM0fRi5qQ2S5Dgk z_;=J$IETLv3EFlZ_MZ92jZFKHfTLpQ9vLvg61mPy;GHCeqquV_eikk+opE#7`glPG!emx+rZ{t(woPU zg;4k}w?AAg>M>1CKv+hegK5R`0~=qtvncK@*_8FE>Vgq#o%;l$VjyveSlZX}ag|`- zs7KnZx!w(27N7m-4=}RK={kLku5w?6JZWHOjGJXIpEs}XNh3e$Fd_blY<`hf}^TlUjw=l4iVUIAbQzv9gy)cOMUTTEG zcE;J|9&?XKbARtn6^wM7h=7Le*;#v?*+Rrxb`lUZdL}M0uSW4+roF2=#lyhSe;Ea) z(?e-lqh~H%6~jvl;^BDZVn$V61Uitecm*f*TAu)0#99m-Re8ktfTd=@HaraYXFPci8xp8K|D zkJL*}4SoGCLnXDy1u-P(NOG9sdOshfg2QKOJvBSS`_|jjj+Vo)(RUq{z<}{$NY+jg z(N1pF83`zM#5WX|u`r2)Q zR0;uR$fm6rsx!rZub}xbj;-qH7lhlVcAX9SA?E52<{k&^k_q{ryxCrQH?KLEUZF2O zx_1mb*NkI)-ZK6|;!j;^@zK;f)37)6h)MU1y_ykQ7V*C+7&_S{JiPBiP@kP2`&J?rKx{b(qQKwbFfq+Z6{GDPJ(w z_%<^jl(&24z`xHKq)!9#bWAQmH$n_oxNcZpJQiV=)gbKYy>It+qs%0sH|=m_U`HZ@ z9X{Vgm{-X(%V5;bAT9z&T+f&Xgdq6TJnObLQxYg_B=59>f>>IQ1(~s;PT$QZXpyl%>ul?WiAN}f}XVx!4R|gwSFSQMo?>kuIR+X`xLOY zOlC~_{0s9a3>N}m${Fn6Wg#g%3134*wDk?Pz>*BL@WG#LM%fEbLir~Jf)}mshd*t7 zYnFOzjMH!1pHr+a_draWE0t;zCLu!0z&ORs#5QtzF^fOLDWN%*5$nJjb`qKoCMFJn ztcNhxHrTWY0p?tAjez$cJDCl;)ebLC$D zBDs@a9n_D)P z_xGh{>B!>p8C%eX*atlMeBw&Zf^WDQ+}7xyH4ThI)x-iBg(oL|DQB`<_^pHpIH+?R zq?EpcMEHWwUF35&GJj5o$!ck0f%bj6NlzIZ8s(H_Ja^sJ<}mkCZtf3naElg^y$*kX zKCLjsmi31@3rPe{x5UZw4^1 zU)hgkPV@7wZe>nxWu5DbgZabG$6qf6aPAuJ@am!}K@X?WrL9 znB}-5D+^vEj#07WpQlFoHD8IDqp#|@Q=u;uv(EeI2sLV$wWkEPG=U7Q{qoj?L$MgX ziW*!NUc;m8;$GqLz47V`?2nNju;5F`p)sBNQeWD?99JHB7%Rb7P5iPRmvPW_a9sGl zu-dzme=P{1P>eSYiP;d!e%O&qJ?p`XVAaOWAFrfdKHA^gt%m{hx&H5^jh6`T2|DvF zlpjm9neH%IEuiqc%Xi07D8pqJyrDU#jxtBKe7Guq0Da@~5q^`&cyLFLz1`ak?7i}T->MJ{7e2N&2 zbE1Q;#!D*YuL%qP+;On&P@i!M29h@U-(QVtQ*b?+@onIw3)XVb_{mECC)TTz4xv%Y z6Kcafxn_P*KG#iJF0xDLwWlcOy*_1wuRxT*bBX#!V}@2yPyamPgxz&9;D*_0f;TFY zWv21RT*TrobsCj7&!&Ecwf-1g89$&*?YtoT1nSLk?eiK38$yZUsLnd$Md}fU@PbI= z(*#SH53=2HU)syb$uQpj^*xjIF)H8KKbrYa6>;>~@duZpYMaKUtOR+^<@bIAnETrC zF|!iT;YA{Pg_XR~Jc2SZI1HUZzft zg5~H(lJ5s)Mm?e9U=Zu4HD|~uF$y;`asViWiVR*#G1y|uAdwmZUbUvKHC216Y9rkL zQ^yAg!5A{|(R|JHK>Pe@f>)>Yvo`Mr+q?vL!e^KFt#-Gy48uPhmK%Q_7Eg|Z#HAB( zSjNVg!mbQtx4ylN9XIY}CEEBA

*@c?7Jc+ukWweFtrTSnt@Q5;ZW6fFi^kGYdch|1){t#+17u6$tv2XpJkEDY1Q!+VAqr6u|9;Kp>=g6j6#){k+Z@7lCuWg0@gT03+m++rWqxrfFO`!9M zZ!>DvhqbWUUz?)O6*xp=L5eaj8f3zegjNSF9r~Iqv0{?Ub!3*;<4nWxSembigM~l8 zW;EP9Z?=O&yq!|ItvaW~F}u_2G?PkNb&h&NZHoF3iYHoroEy;hlF%oi9FP1d>D9)e za;;09m1q=hXYdod@GW=3!5l0y{KR-Wa4vZ=1HAo#zd=*rn8B=It5Jve5X#xKBQ1Q@ zlF1-fr`BfHv|HF6 z55CNIFdFZ7Wp54@py9siz~xh)^7d)z#py9+?pDWpLjMqLlu+>%9&Nd}9PLT6G#sFq zeZ#0ouwc=fS6@&M-`X4z(^{b?Zee*D;Z}6MpK`n^;I`)s%YHTvyR9()&Q!X9dRZbz zI}NwHkXlL1^mEZu9B7i_xt^GcW4kY7S667Y1yvqsygE$)2!vdu(93t!vx?eVi*ka@ z6WC~gb`5(j8mOtgz|J*ozXmZ^riSas3)rZ2^qaTFrK|V=b?Yhz=$9ZT8fGSyzUOXU zE3VC1FMP;(`l)M0i_>m(ON{U_MG#r%*z}#`=az2~P9!3J<@zY{hE*)ZwFh3QjMJSB z)9zDH)b`}820uCw=GAuw@E}vc9_RX|U0cmtw`OXvqSU-9j$Jw{D%i>M96<{{sz)4u5|lh zHe5!QXb~lSh~h73aLbRVDjM6rFn#PUa{yn;xTKh>9PUoky7 zak`8La7e~4OOP4j(-363)6Q#^3;zElRzPnW6{%5Znl>{lZfHcLd53k zB|YmPz%qcU=gu|-jv!^HP11Ot+)4_bA(vK zlJ$cG&j61rzfaqf2kYyivr12QAumumi{S>_#{|9zW?tPM*zceCnCTt0$f{HNeZnC- zqgC@2=YtY}p&}t1T^pVEp9=oCw>B|=K_$gH#-fqOiChd=kLU%u8$F9MG)urd$D`RM zrosEwD}^NqzNYMr0uj#L^y%JwwgCJjl!Bi{7>y>`4(>K1XSx5NZWWv7`ROJ{lINwrQX-xb^ul~Nc&bud-r#>RU=V>Vzt z)y7b0rl>N6;yT0cnA1#v-yNj)Kaf#Oer-j^Ik=u2-u3$(3O}wM&y#TW;W`ASReRuEBY&2ArZu ziyXL6CqGbLBmNzLk78cKH3#-VqU~%C*PZ+(eiNhb?07_8L`@vz{AF^qQ^?>i?0QNg zGZL0@86T;C`p_I(J^=nqB1TElOfj0mLqB3ij_~_D8U@k!RhU%Tz5ZmDXymCbapEYh zF@C7=IF3Z)wKfMIo{^>rpD7kWMfs~6KqoWZ*B0wk94y3`j!OWl{uqdN8oHXj^TIhz zUNu(}GCrrW4Z8_G54AHSqo6a-K0#y~*R)SELd9K^=#&?$J6?d#c}qFI#LqD?oiO69 zkrWk=HBSBJY3Y9ghr!s+$emXtfR|6Mkw?BF>;5ajunm0DSyM0q^(OZ&KW~E1O~)dZTkQ+Gb~3u zp=6MUZ?0wl$uDY!q(R5}2AIYs$`2&@ znp{d9J09~VBv@#EJ-K@%hK7Lv4q=e?;CI9Bi_|&B&7b`r5Uvjnv=3{$z{fm9Kk>Up zIH&h*mLpVkRmB!AS&f7dU`$;-Bk!V6N%~~Z9mcJbQ`z^L6N+D8Pnk6Bo}qqNMFnmu_>o2KAm;9gJ>N_4!h za>Uezwbb2V>AG@xs$-)+8J5TN&D-a_8wckh$pV4n^YJaC?e8*2e@t2HLBe2o{s!78 ze~}^g1x2pC`3mSDbvaWKF{ZK|o+Z@>>Bh+Df4(%?Z6SJzn*PWp1d&tR-%8o0H~ph1 zQp9&BvTxgjyeqd?wRXmxYe>3(&LtzLjfh1cvn0Oa7*?g3wReF+;0tVt#uLLmq)|y_ z&62t}0f~g#8GpQmf`fg0Iet0)0o7&&sb9_2M}y@Bq92xFmf*yT@fjZsJF@sfD~`Fy zD)8y#iArFdHK5Cw$fwQ~bVOIBQ=*f~RDtv0)sWXJ+0$B$Gd07|85?*xmX37fm3>o+ zGShail;(vyEk>-JTv-AK8^`LzUmIund%Og3HW<8h)1be62^m$Riah@^|7ocR<7+z* zAlYtY6f^1HKJ>;@l7$#xL9rRQ+a9lQ7K8R|?3EPji-rbAbvj0RA^u*PQO(LJ;k$y5 zP3Ub_cNF1~O_Ax_eUEjm?ICT_jm*IF09sw^9aez0Ek#lA?gaMpf?>bjq{yVV{(V;` zBrF;)Lu>L5yATp~gED$!ifK`Z_dD2!%@PC{tkQ-M5~G(a)EkyG|jJ`h(5X;v@GJi#|rRBSad8BN^&!Gqnwpj zoF(}et4RGcW5#8sbhG&?jTY=6%tvh-P>#&|OQTba+r(CH%}K()X++gegB;ade7pMk zqm393{46TTLKh_n=RI%7Z$MjYBaN$#I6uWT6AyX6!drR6q5ipKdU}9)wTYU1@LV6O z2@k7%?|5!#kp0Uxf%?qk3Xi*S0fwg08i_``XXRDcBK42JJR$CJfq$`i`kCC@QzRkTnti{ zn7T)O_NmT53o+3dV=CmIIb8PZlbiu}CYh4&LE~pQNgVP}9Y1!HtKwmH@P`rBd;l;u zy7WGIkY?G((FCl-)qx6_Xj}KDrstehdvA$jqm^ih6~m^0`n6Nh8QNvB1Y^o}Ed{vt{zKLgb1A8I#CR0A|;dvc|E#rQM8ZjZx4 zfa3t``hQ4!?|82F{|&fAqLUShGRh{(-mB~gS&@~>-YZ*1g^cXXY$7BhTZ)qGy=Qi^ z$-bX&ob%)N{dRuc_x;a#oOAH`yx*_!oY!?d5B?E%4F!1R*gpfhYcGb3by?C>5|+iXx{O<=#TayW zIS|2$o`iX;A4wBmdn7Q<5WC%Q^NngjsPkED1--H{2qN6d z^=jY(a$Y@vEA{kdBKoi33$%+1Lmr=?$hkLh}25_sM&k zIf75^*;;~}23jkngBs{`r#oaOBQnLXItKM(ZaVKIHvY=@Yw&Y^7qo;61t1gFqe)d8g{$eW`__P+ut_EZ^1>7z zCstKINiOR{W*3L{hR|1ZU`jog(NWG;caX~*ez7v@xuZbtoI}9RH`kKP*v$s|b_x^7t}OqhJ>B+N7Ze6QuhDvK49f_fpHku% zrF$zPn38@5D7^veU=y7$+N#AA?;^wVOn9LMeA@A9I+=j=mZ67BToX1$GO2OgsN$T} z#wFP=i%`=)H>P)a7PY$W4q$BRfdm^)lIf( z%PTmKwrngWoQwIQ-RoI9KgMU3YqItYWjy_Isf6A5Xf4xbwZ25Gb)Fb!eR=Xu1>oSQ zJOkeiWhZ>&46GX;T~D-ke}?Rc^a4J~?Bh!cBW@_(fFG{W7CFU#*B)$;366QR$GE6? zM!S_XTK^ZS8)>56=Ym zb2I6K&U_=4lE_%Wfb-0kOC{$8m?ShB`EBYyQ`yr7Ugl$Y(`b|pSA*(g+6^qf!i?r; ziq?LU#NU!B{kC|tKODO-NtSsN@io(sb?c!`{ z?@d4wbviPx*}46a{Bp4k1MR$K<9iM7nJ#fj(v3|Vzk0*L@-lfE=H?_{{gM?<;a4$} z4n3){*$fsmeN#C>XvRpJ+#!kH#%fQ{mXq%iRnr$w-7RylArMf*I&(P5*t21lxDv#o zI(>x}{h!qRnA>HXCNmFAH3gPJO#b?Fm6ETY%A5))jTe$c3shd?!hrN+ ztf$Al?(|PcOq!k-W=Ob=5tCfbny{cUN)zAFmn802mOMLrY*9yoPp)@VtWNPoe$P3^ z4Ni%#=bIA-+WPfVkaVFND0zt)U9lr$WGX=o&)tVse7|kSEZEOJl;V>UC&j#ljsElt zi8#j+RHE!4R%mrd?_8I6Y>Ssuw}*`lk(RA$(&(9hzY^rHhOiMZ z@(65ecu~L5=ilCze|L-R-sP?LNpJy@jD$%rr>rIf?l#*p`yqL+96M@Xg}24vOs$nC zC25GbS${$8skV8;jc0ehqT{2|O9@G$JA6pH8Zs^Eek4)eFUNAZ0a2-L@>!ie5zHu( z3eajElcxBerp99-3(U4Rs;xU5X~%M*XW8}GYz0+DIPNkU2y+-+s4KTy(BZ{Q7@@>J zb~olZgjkD_9ENQ*s|{HLUzQj_Y>5+Ly7%@$n3Ym>V&$U%K=JZc3yCC;&jEwdr`ZZG zH0jtH^b9(qfjgR&9?}UM_c~*MDbOvk#m9~T{;@r8Ju+UNmVoUdlhn(}j?BB)GVVZy z8Krs@rI1~gKS}(#!+=V_2E9dDHAB3pBt?W+K)XH)c-!a7CMUjwK4Hpm0#-c=RtQy#QaZvqH^{pb(p-ANN!Jn)+{bg^pevomK)IIpOliz0#0vW2fT<+ zdLqNoO=-gGhZ*-_Hz}dR}iP4lBp)+u?hD;-@ei?+w z?jr*(^OV-$0%=p8qS7t=-aPMfPQyBoM3jQ>>XyLIB_fWmkh#o=d-FCY;67h|-{jYa ztI@!=7wWek)IE-8;Xbk|vmC1>XU#j-ej5$N8--X*mMC*t*d5)+Tl&gBZMMHdj~+~< z7Ox9+f}7kfD|yLe`70iDXooMjlp6=}14K3+o(D?t_+rbdI_$r_4p|F2Q z7q83nJX(%Xl8^Kl(t7C8d30;V`8tI?Tv)kZ-?Vn{Vq#dFp_(261=5r{1s1inpZ&9? zg;l7Gz!T$V5eSwxRN$%^m}N5{gOZ{j3HJw+R23?s_B444J_cLGCm{rQ)IgcnM(V^- zbvUH`A2LaA@!0`0p+$_z%im|H;M*8G-GcV;$0r3Q&Be>_mw|ymQ_hU}3E4wAQMA2o zoZREnDRAsk9)1fGE0ccVBzH_My@qxu2&>J?^QoK$nBdPVs$Pc+SbO)fU6wrS5%-zo ztV``j`zDbn(-B>MPH%xG)U$^9z(#l|*8(B-M+ZN6%n1R^7U5pso0>8_)sL>N?lUZJq_6*a76_dDW-SgW6UB0WkljYt16@ zn&*t|g=#9&t>so(F}IzE1XS-t&eE_@9h;m>4x(SS?;MnO##+|6;^1qsd4`5`auCzx z98+`S9Xr*6Ie71&0+klG9g@`j{0MvBW8zP4G@tQ(s@xim>O9qa<^*Rq+Q(#KhB$QZ zY2oYH4qi*`Dq0Z)49amH|FLDKl1`<0_#(}^x>iqzWkhSGb)5CYk-K+8NZ6EkN=TId z1Sb;R31mJlhbY;95bNeBTbLpP0eXDgO%1aRKegk1rXeT%oIZFteEx+wzTg~B`=J6l zavbOH2-o=Bkf3jlySJYpTrK~VK*VFMfBUS*x`o>}q^LRtais*tj+rBAIc-8rr>#*i{iOq~|7O;-zbv888TSYnX>Dx}3_qB^--)3EhuTrD+ zktivhbyLeXBs$ZWysK!fAgI@HQH&>zdg9e5kwc*ivKQnkZZ6v!MB5NMxTy#(-#(JL zS);YxEOHT4l#hGsZmq%c@#B-z_0T2tMfpf~DnwkUGsK;U6U@O~zbra5o8pFZ1SjGL zlIfBmE8&0ijMO0w@u4_#cp6!nE$w%U4;8I^Ar|dP5Fn?$lF(L` znl@_DKMC1`Q32ol5gyQ#eh;noiw0V74om_wXz{Og0Q2>Td@%joX2UkQim183zS(`ZxkP= znGuW|mhpXD?lto*gA{*y{MK#}3v|AEpL<4)6CA!6`IT6$leAaiOWYs3yy~z~%GTsZbnD_2_%e~mB&unI zL#gz{SH@e3)0Cu>UOF(Ms*9=f;|DX-V zuM+ys^`Ik8_~zUiHQl7D1tGuVYF^X}I~NYsD_~tP6+=d1d~Er%3+x z&6mFyn%uKiLgCj^X5k*+NR-D1k*#yApnPB+x?0xJ&fTcEJm(qY81iG%N8ro$=GyyU zi?0+8q^~D}9zv_izIx{ZzUEc9Zj&`vhIu~D5tz>fP4_v4bHz^)GOC@AS&|ktX{qqo zkoA_CPU6}st23Fw!)DtCx*vrJ$@XSXnd77P4w~6eV%A5caLx+#y1v)uOzS~*xNBYM zZQ+iE8Pr_8^P|TJ6F&eF=f|guR5@~ouh9N&bCX6v^y#4tBCAT(OE!3$LkH#Xe*4@O zsx$!$*C}LUnDX5NDF)Y%5V%=lY=IBum?FQJmySuGFRAx@H*tlaZmEL*!R{>#N{g~Y zP)nkk{95v+2PsEdL7_P{a~0Sk?SM$)w{^Ka|K0&Z3*a$51*V_BU9E^-<)rV0s6+Z9 zh{a{4cd4v=&emK{9D~l?H6Y6R#>k8aD^9q!^33t<4ktWDzz@B~u&o9Zg!&N<-q>Gq z(t(pE#3|5M45PV#7MJn!OS-Zw?5EE*U3H$Lg1M<}H#m)zp2_HXW+Ei{HO? zP`=uwqZ5`CYfi9w1k84EK&fm);W?S=>eQewlocrM^DlM|woZDTL++sEY~mZ&S9t*t zc%|ftQv9No6rwT+!Jtw@AP?h+EKctiP+_{~FSzq7gohpX7N6GzKT(Wh5H9QW*cR2* zKoEJqy#k|oRB0PZK&-^^o_k@wTs{(jwB1?5Zpv1Q%CZc&rR7V^Zur3UhtlU%(qC2E z9-2j&59X>VC?oK|8+-f~Hb;<;!X^!k3I|;aK3H4n6Ix0C-~^5=iQ4fDUGg zcmU~e_3AcwGE+xI*}L

BxmP#KDw$$|c@t*2+w1~k8oTi=@v=2gSIRTcmv_{YeO z2ouX*yRqv+tFOLm>iN8(OpN7JfOP!WE7zSO?$xgQpE7#ZEcge$paqC?N=rG|FE@+V z1N2!}WzBw;ieDk44i}r}(NANx9*I0(QhpxWD)&i;h?LO=1ujXN)`EzzGN|6sC0;AC zLF5^i0Q^w&HBW`=3}X2KdzQZh(6{q8r!F!QU%F26jxrPynN;7V;SPlajc_K7AKwvD zQpeY~K}LD%Cf*EEcDF|q@;srI+ZJCHt>0X8B0?;pOYfC)9n^QigI+KLD|pDv84~6l z5=8LL#Ih3Dv56)5tvo6>o?-cEe3nKEQEus%_VEnq7S87Q`x)Q=+S)tES2)hijx9so zkr}8-BBu`D)ASdQ-6;_YV3e`k6RhVq=&m0}bIuT-EPUX3+1T_6$5$x+2%t9?THHsP zT*)TsR;fen#tmBP*?sA9W%eZ#m{Qk}u%mS~n9gejxRO@J&rZRq*Vh9;TRu0UsJWU! zl&O~g?s)Y^$$7@<%Knv)TJ3n)Ah*ZQ3LTZnOB4M3mft0E5jhQGL5Lo6VcNub4K28? zzd-Ht2~=fd`4&98K?JvTT=wO)%D*mfTrnxvP1}JIb=8hziWL$tcF*o#)i@4=s%QEr z@nXjiT#oU_J69%)BR1*~omjf(AZmgO=nZ3DGho#ld<*rog(HAIlVrR#h{68|5kgWR zL`Hsa7>KgkXjp58U&Cd@^z2L{9L8no;{m^z_o}(@fjeX;d0FaVS5!yRu{2klB_+{% zRPrY0et{n_)BEDr6<6VGK|x&TVC}EyitI2``7a$SAlQnkdyrEb3ixIkt>U!Yg;QAvZ%w^v4+SaTqBF z_Erl@V15=JA&<>8J|)vdfHzZTp_`yFGH|Jsr9Arvak?(Df_Xy*nZY-qXYL9}2anit z_RIwBhg5`BX!yI}-)vFQHNMa%LnZ9PeX1uSHw#l&C*L`xgj&aa_b?B<=SR%`G1s>t z-#vXaNVSc36K0f0yep3?gmls4m<^|F<%*P)eoK;f6hSGIdSTPaj1nT~(&X&KScvppYHkhtfaG4ud0wFGp|ex8`u;SEm`$oZNKE14GNf^ zqpMs47)&GyJAG+_G~0-jb=8UdZ3H3*Sq?@vX(=|%UME$5*|#tOHMTI25u$3T*37%_ z^JE6#q7H58LZNxiORCt*Rx#0MWzG@cC-;NdTWst8+PkqqXZIlwUo|k<&L6&u|LJA- ze(JW1LHkR_?P0TK;O_gAb2v3JLT=TV9sZ}UG-RfvmlYswul6=an{3T8JWiFNIZy;M z#HW1|w~OGLi~(P-3&pHkTbuEZ*US@yTWT*E)0fJh2~DPvWkb(a!3w`dRF}P%)*Z!As5@*8GMcPYbIkGc%G<7$1p#JuZdkMMzai zTZu^M6+8!)xGOjtt;D3vB)nUEO+1o`Zu;GjHrL(2=6?Wz<%L{OEQXGXM?3XsL)=;ClT_-SRWfrzDYbP1NO z{9U4XrZ=`C@CuT(M@a=4&$iZ=CeWioEJxhjzXhW#_a7JI@843_%swasJm>>@#3fyz z1bWZtJGLvtvKVz-u>ymcsx&;)!vM9O<3QYDr>k5rpjEAtYube26Sq4Q%{ElBW|S)U z#(?$0f^a&e2%d25W_@(R!|p5SF2#c6!oP61qrK*gq$Im(jImatH#$&V-Y1fVOq8fD zTLsp8p=Xsz>B_ZSSNARv80omb*9aCe*zb+UCHsui;j-vc|M?DU8OUn-MuNwhQAPx(4PIl+`$y zAJ*dY(%-OlNtpudQ{!ZXIo%l4!TvJuF-U!aO*8A<#%l89imov*5kMxM+1qFbsa70s ze;5i{4UvE{4$D{jVYzZWn{@RYqgqHoUuV8b9kkzjk!0b~yGFqA>LJ5vbYByxXgTN0 z&uy>c$B;RvuzeKDLwY^j&bp!V9FXqz_PQ2kLG!nKXTym1ws2n>`S8Zaxlys7O{-9b zy~_HPMm<2_kp%_42%PMCP-nP@OyigzSFPyOKSdL5?yj1nBl=bb$}m0pKz8t^phL_l zqPZ&EU%HnE&^jM<6?XC~asS&P{BQqH@$F-zDoiT&EsU`q#`IWW#-5q88mkRO5D3he zcW%*R#wy{MaEJ=m@H;GDLzEwDr<;Y=p_oX8Lu(*hIoTZojmchw9A%IZ2FDR=9MP6O zU57>XppCWkO86R-Ky=iCyn0=rLpBbok`}>4S^>O2xvYR<+l6b#l677!?U>~XPleO^ zVpCt+dx5Mn9k`~=8O~Cxzzxv2&CDWgfFA{LxmImJUQPi93eI&)R%rDm9Ag zW*B9MGvLRf5cY{h(cQSJB*-rMcK8jTVH0Jdl`F#sfbFO2NQnamj>Wd?%VNG&iE~!( z*7i742i!y*4zQ?&)pSe1IW~pcZ+weyp(BDaaP=^RvBKZy_M^a|hfvY$`HA`xoWF!0oSAqOW+<8h$@i^U>(ff^TWIR@!`Tq zb&BKK&&oGR!P_^5&vN8I=ud~Y}E!}`h{PIRsea) z*~5{g4hb#CdCpSlvRp)+XIPbPZWIso!KJGzwgdKhiJrdt@^WP*Sqb0RGC_fl-|;i` zNhBjoxf#x65jDmpD@lXMH~!!#TJ_1o#YYh0xxgEbkS=S^;9LXBTN~f@a%;|}U&EDU z1a=X}0rWAG=Kcx(%w{yUTA@6IAuq;1AFhN%@*$Lfv&pDZ3N?=_Mx68#>@HQ-InB5Y zYtzs!Il$-6Cxn1q*exr91Vl&tx}@qt#o3LzsYscPI(l<0Z``GcM$V1sN0UvLlA$d$ z^YYUes0(ufnBz<%3-sOcDcspidfE`)qj%ZHjFlZIvvkRyxlQjSJ?T&gvN&(V`}9vr zHMH0;oAz;Saweh8~Ki$JmHM2kOFshgNj^WZHir7D8BIE->Yo|f8{!TLs!JnC!KuX1NM>Uaqd z*a(1#eV~=-7Jsc(QQkiY>L= z`yea0t!RpZrZ|Tne^&I#z?7QxY#Hm)z9@m(Jjc2Sg;rXORES)Z%})qVU&yc<%qYSR zcRZGgjBk9)7upp+WVJqR6-W6BU`FHp^is=@KLwu?GRQC+Y&0*J|>#k~&$+Qbqsf4`q7j}jshS4FFlDrG5`AQCS% z(~&tlsO!x1J-hKKo>+=>gw8I<`fp|cFr8@<}f-vHyE@BU3v zbntdU-g|En_$f6)Nhl6_t;sjTBVj1s`LaVbVyS}D;xaC>7nIM$S<~Hw z)JG}-HE)O%FE#Ck(X0?ya*Hr~Ar_a&!RMtp?3cRJ96B+@J^%fo|M}^VDkO0M6S@lg zC~iUkhDW$@Ftx_0&WC`Z4n`qqgMB8rGI8dg#Sk*U+}{YcY;?7~PV%3GOy0<$rC)f_ z#s1F+!6PUh-;WFw-JW~g_@na)M>y>cvZ(})_&<&S5Yi(LBHy0Sj|=~D@cwyo_`@{Nu>oNY6X?sO5*BD*xv`{riXh!a+VNF|*D4@Hey{?0fqJ@d$_p9r>Ey-bhT! zAz%Os)h7}kJ}GG_2iu!+4*%JoF8qrMB#hd+TNQTX3O;7u111ekU;ncwg7$|vvg+I% z9_>fo!VQ0a2a~R`x*dM+Bj5JFejwDnXTb(ojgGG9*ZudC;L!Wit9J|~2l*(SNBdQ) zf9xCi&Hbl(V2^U=$RYXdk|RH$fmQ#~-nfUh{^yZj1ni%MMeYm6|D|_#^bHQ)S}qd} zVkJc*MJ&>P9tqaDmT})qTD~Ht|HG4jlV*y%V0skAmm}H96N3F@|6b$S{69UQiYJgA zY=7*3<49{OV1L!;?OM`^4?pd{ELEH#CfM%Rk!lwSj@;&u{iULx{_7pt;gkC>FY886 zft>Z)V;1CxkBl7M!C4P!{d()jf%}(7ltN6IEL~KS?cpy^b2_jwJ4MN8hri?B%oY_j z@>Esl^_dR8;QvpDdiXu!ULLgh>-1s@{&WZNlab4uz;}oE$v@{4-hzr^|6BzXq3Y8f ze%}9jIQL&$C}+=Ug^ebX99|Q-$o+Mvt)FpIJ`CqM{C$W20Qoe<1mv-#_$Y0USS2N) zeP60HG%|$qFQ@5<1)^6*_OO~1&GCQuu1GnW`k)+bn{3YazrX)?uQ`C+LOU}q-oxk5 zjsD;k(mQvXoB!!Y2_VVOFMS4^%ZE;l(8>YYW~JyU*B?7|6bvNpky}bTdH5)&zdmp| zQ)t!q{&eBLUxiajvrCvmb!6AIefMg+g~flm=r}d<$g2C-Yug;YIYQ*3`#VTiC;huM z{*MKeD?kpzyR|yvBR>*)xBq@Y^{PkOKSzG)e;qQRH^@hI#V{XXGvU{Es*PfULU3%978K@A!UjbDSDZ_WtP`DjMyXQQ}Y!@k1xq&2pce6W5pe6!Sm6 z{m?HSe#-PH_3iLMVR3$PiHN-#{N8k00oVU*cb0Hm(*iGOt;LE}lAkKoxxs{KS~` zJB1?$?)MMocAF51g=?wvNDhBFz1IF&2z50zIDYs${$)3Xy!UP(^U25~E>-lv#9ZcW zX8Yq8{Dqhp{N2FT>xbWiR(Id!;4i7B{_zfq(jhK~7CTJrusaa?dXV-!U^-5G^zi=v z73HoVTj(?POCSC4nuMh6ue;QeLtOix9;{GWR}0XT5Xe=HN&i zI4?}rvw!+Xr$QK!!|;PY_vDeaeQ{;~{T^6_{mYgeeM1}u#CO^1)g1{&QQzV3pQ|vM z$L)uA_V<Oe*sg|{(R{J7p~Gf0uJ0f!T6-Oj z@`vm0HoX@@7IRyc9{zGUNL~?z5Bya=`3pxD@%Lvzh#g5S70yillj-kWvU%FQRX-6x z5>a=c|3ze^2%P}cLJp!o{ zYZICM+5K{>#YB|EYc_$7~naA5M-U<6Dsso}5z zAfhhtRefD>tVUoBs($#W9{FP-s6!*XtC|h`2bwv6+SG;ln`}^LW-FfB0ht!0w#8yr z^@kyQ+$l7C^c*NXcQu>?gn}Ld<;6wE<(7qmcDdvp-jPdEBe@@taK}9T70TWs4Bab} zmdYTQt^}%lqbd)M>o4nHlhfnq~6z&6B z_=G}WIieG3!n!5NBk}$o)*qd#kb=iI1@7b44i{S6~VhWSt>~BN5E>{30;siXvu{3X)KQpUtBZLSUuUkLS4^bJb zgNC3&pI_$Vj&%rrAE)G=KI}5mJ|3LSr36*P6zx%JcVYAq!k}1u<6VE`4jnmLheIo< z)2G3W1TMFU@eM%u-Cu&nBED-Pe?b$JbH7k49IdlL>1SV8YJm-au*UFry6cN$78`t(YNkEIa%-@-}fnnAPK5XK4^ zjyJ>@jW@n}rN?Oe^mixa=w^oa3xTYwYwY2iey3&KDEBw_vkn$}4!_}Clj{2{&wMnsM zlBJFu9I?L-&gGta&q#iRwWi2?%RTwWnPG{@!e5SefL08x%VyJ zA1w;`3qK*zYUu~9VYTXC;7cEpp4~iL9&l?ph`eGu#YFo>W~zWRI)6B z+5iEA`(}cW9R>EGuIInFoVbf91O%+|{?y7fDPRQ`4YpvVWFV^XkO3sF4J%+wwRyJ2 z0i()^Ol@!nce}y@grhSl{ZT-FtU_=VrY+?^fi}Sre-C6*VWO^;%-bsf7eioAc_zIa zY4?G6lmd3M(%OEIHn0+&IvO=w0CfkzQZE6jo2%bbRQ;nAIJil@AU9~RTI_dA5IGc_DQeaF4N5V5;9vmD(@W#Xln@mM-B$G%4+Y`RlH& zR<9EM72q*_^p!J6=N!-`b=o}9=jFVrJhs;c2i1X^D!kpux8z&&vv|gRYO(whc}c0e z@vG-TT=5f#8-U>k0jedoCQM4-^G$QqCjbmthzKQl+;1BE0{R7Lt;3u}Z!QcptU3Cf z1gCR8Q6xxu3?Losdw4A1F{HHL+4r$R$@|?}^2Sy*SOp7jbmD?3FAD!_8+d0`EG7B6 zVCr&R1Mi%%%hrPU61ewISMIze&ywPm)yhIhj3Jc~2K)~lr^S@IM_|`aPxk^c3CW*+ zECb5NWIXk05;7N{9vDPMY?SRGbP7K#A9gU@SJY~P3rx_4>yqePcxhYRd3db!aB}zi zz~Oy{U%W;l5zx)A@$oi*xkn@_##F1tV#iGaZOVg7~c z*_EIDycssC7<;ebR(ntki`C0bFip@HsRUTc1AO&47W!b8RvRu5W28Mk1W;y95?)*B zuiBjjJs>4erkhnbf+>>{VqR7}+~%jJE|21YhpGJL&b^SBpFU3`EN_e$6!M>`NWCDD znXw3yc!(Z;d-iO46X;o>%z1G%UBbQ$Wb5lLJ-etg(GM{8aaapk)dti*GQ{|r$f3p@ zT>RKEi3n&a(=!V(U&@Mx!DHhfA!i-Dx&nrW4V;TqMCu*fYIBiq5G)#VfP%30Dojc+ zg!#=%yc!@)6K9ES=0io^`zct+aZAaS7Sn|b!a3Xfp40CFXTbsoPzv2v?tq=KQ`*!#-p=zVYimYp_uT?l z&ni$33M$(WYZ$?96h_2p8Xdv=DC;i!f|4yzLYWP3f}=+wmwL#DP1F@`%kCoLli)Ql zr=uaM@H1#}in(B8nl68$4R;!}vhKlYA$)UTO>8st6HGRF0DwrV#0~2+dwRlvv2*UD zrd#@M2_r{(?>D*F$V{=uHTnfvSTY(`^dv0;h$|AvFB}Cviv_%D27NYJHlRjEmT075 zafc^WZ4PKszNVzSnKKCh5l;c3&(%8!?s^FkFW>Srzfh|M+FQgx2Ji1PE@?!7g11Vn zV!jm%i|#rHH%{onWa>OuR&@=8P1~#|f`N)q{k|acw0at2#q{K!6=fl?BT&w4k?B#{ z&TPsb!6X^u!O-0E(mwKk$9A(2+hGCK_;ZrkVEH(t;su!w+jYR5SMa~Au+N&U zxMS!61lUOLvot+d!-|i$$OM$vbf(FF>NwY+*y($nnzW1L&E_jpp5n(toSrU}xEwh(*kHgl|{Uhcyi6ur?}P@6SD##U>~ zv*if6^?`=poe|6GEMGFg0YokR4$am$LTcE!s-7^b^tQ->ARr7FN=+xaLdrkV?A(Mdy6>@ka9;|k>Y zldUiq_-&40R%^3%rRyNA{C%iGHFw*p9iIVr#1ds%Z1BS}U-+|>5XLz_r%PlinhsM` z7ZMX61Q*)U+KMyZun?^r#Qbau33s0kuWXDjz1Lj~0z}ymZKWi^Xgbm;iy0XNfRph( zY)WZDme9ux^IX1aFWp;#*OVq1EBV_nYV6@z&XIy$h<0WzH5iIQ0CLBlOwnbIQ$9^+ zRubHUSJoiQGev0y2c|nIY?4C?r`cu$6s2g2Yi=2_g@Ec*s&6!&ro1Foj|&8emBwh3 z;=HfU5bmt`ZEgmBD<0-q-0s_&HFIT^nzs;j)nY21Od!7}u|$xaf*NAgz)dr$t@0`v zJXb2WXs;mR_!}$_X#V&It-eLRUL@cHZoSnfjAO+H(*tFWwc$Ucz0rTBh^vkjcl%7q@}vrru2*cy`(w{oa{@!)eX$Y#`Jmk>F5WJZ69x z609l5T2p_NRxP{XC)y8JipznKjNVGjJOpO$ObP%t2~edN>?%N8xbhuCR^i9biG@T` z^m0P)7@Dg*pPW9|GcXVwbRsVX??TAXkQ4`KSZUVu7c{GoJV%*oH>zM5er&v=oxKY{ z#0kRGGF{9K*}L}rf1UG4e2A&2{8!`C3#KpM8FDQQy}a+wtQTXWT)SB4UHD-aL|1ER zy?8(zQtesRHz?c+zC>1MzR+Q_QSm1*H}g%QXH;FCc-y~E$Lp0paCx6Oxh1>r!=Fvd640Sm|KtR~d7WUS{AgDWL z^2plNl*cLNn?|R7id9l$y2GZ*k2{43Z)P?63ss_LXA~%gY~LNmyPi<_YuKiLa}l_* z6IN$I=-BIWvk{2X7Zy;L8G7Qxe41ZLr+jKG9w?C>zP^8xfBjuu(R%~Faug4HSyU6` z&fmn;B8*~0AY({^g^CoFfvU7Qobn+@M&VUw({?Zqv?Z!qe~kjb(SpA2PpUp~T&VQ) zx(QtV97O~W{s*nyS;h0yk1NDe!Pn*kMmFzj&4EWf1~i+RZX1}k4LaCHhouZpNVlKW4^^}YPkqPdp!5B9AGzY=L z@VY~`Ej`93KS~SGns}L!RZRboJ%1Ep7G&bdd&vvKPY|m7Z2mxf36NP7e&DO`fW!(B zTIBBF?)EGBH!_9Rprv=-f;`d=M^m-gpsD^Je=NZVUb&;@Q0UpaZ{^8o}>aKvJm< z*}*L$e&IwJTGfxChq{#|l1R%w&5Rv&STytsWmJwDF*M9S^hDv$ZM4iH7Xi>N4QvDsyKFyi)< zq6FaG8tru1l%z@K*Zu?%C?t=8#QX9j*3$R)YWegts$hnncZ1J$UqPm*APEjH36`(2 zP|?WE5Z|HNIAIT8hiw&$1$u|(n+o;TS{MZdKL7o+SV1q2m-kg{$;aZn1Fq2q7$ zLdWz}5s!xQ++VgC@f1?I{{_G)-it!42eXy zCIvqtkof-Fw+$^o-oncGI<&pww$jC^%O0{PxoMY&67#&$10B7D>&M$qzB;bz@^X3Z zks2SI+2VmAij{MG*K`|^`W(CXsns%!m0INts5U_U$aE zS3SGQR7CkQS)LFX!lbQc_HjWPGBv64CicYdXas1FXNobx-A)ck?Zm zle5t{>-Ns3*u03cG3v`nVZh@;M@+Mm>`3c z$SE3D=?Io;{i>kCpxNTF?Y=5VX>e~!3T<3SYfKTlX8wh!vjftGKF#3f@6iZB30fA+ zre_bp=yLdfpQB~vHkrJVz*d=7WG-4u&wRMXLs>(+YyG96pb-6L4u-q;fTRp52d@Sv z$A-@NZFl_bMfI904}CF7{82wnHe%{azmN5Ro-Xo!5>NkVBZhLRs&*`NaYOE~;kXeSxEG;^*DTf$hot_I$IzWhx{r1OHC9~(ca zGu0?dZ>_^3;X%!fg{DznAcp&sK;-hx$_g(wzk|y1OW?;cz08a=MROLv$!72!Vn!_Y z?NFSNhTsC;sifdK(6R}-Eoz5)sv4IrO^u3aVF;+w>>xyJSi6dd5OBlbF#zh^hXPzd zE2w30LK#}?t@M|;rQy|K!n97O6|A{hC>`jpWlt4?n88&DroLsGYC$^nIt2IPM=X#B zf7uNaQao1JF>i3$i=A%!RPo%c#b(sK)@Fy@!5#cE2B(%cjZdcK7?Meo;8x1el<7+G z(aM$tuTG4MXD<=4>b?X5csFA~He?1IKp2xHYX0C%`h5iig-%M+@TB?(TO|?{`Xqd1 zhJI-dQti5HEG|U*U_|(m0J0u_rtvc!R9DgbWbG1hRhJ*pt6TF=EsgS=!n!)jzn{uh zAJ7Z<8bdE#TRe7*+)q+OSkV$HlX{>{eC7!YO+Su3ahOy@cLW}G$V!H9N8!D^1bj+T z5z&2FyTgr>|5kWF5;ZohgN{ zofT)O0)N6`%Ui+6C;LgI)fp~^D@Vj@`({?X%_PYx%@YT$ai#+J06mOS$ln$kT{fwADE8ndD z4{8$@hZu$_p;zJh-qcftlu`a9yu^MNhkddb{Z8R9u1vSz1(*y^$h}1w>LXac&=LtJQXgo7(Axf8njdGFrsjdwj2wW{sw3;| zM6olDlpuiomeUuA(>blf!=Lx+RFXeC+RxcN6r35qA$jtr;My4TV3h}=5BKvvkOt|x z8;0wKulw4?{pH+0pDyz3Rxay0*`HNP)b}bS1M?^QdF`vZP)*)_-UXy8R0)JFzG$HG~(a{t4>LEk~a2+TYc68ko_U?7W$HO zY+hZ8i=3CPM&pYul&wy-BXaQCvj|x*jb=;tdrhDi$&+z4=yek<7YyX;$?_75-X_^? z94PzHqZD%b7-?G5_0ugVXg!wMP4oDPXw4{^S26BXt0=t?_tv?ehg*q?A}o?j%=k;9 z3ROl3g_tTWkX-3F89T~JDtu-yzAKvFHHB!e$A`Rs@~wg+_g%xZ!0b;Ry_i)nT zYmwXaKOCsncOxXyyxP$&2R?v~;SHt?8q)9HGSAeP7jM1s!Ogh;JxE0?EnD3JXsZMn z55LbWPC#Pc3KgQrM+)s_v358Z=b>70HM{;oGiftZkw}6R2$ASjEg@scoE&QO>N=45 zw`CG-UIGdlf$=*ePx}gEV_dvBx0$rGMk*zy`{y*;@3*^3T-vt z&M*D2KkBus3bltgLxNAgtLZ+w*MJ-dy6ghORu-9bx**e$r4gm`m% zEar!TQ}yD#cEPu!PhlPgm4-z%L3PfpD$BzNwrpa)V%Qj ztCcn|RJ~D==~n6Tt2^{209vTds`7X<68!hL%E!O?mpq1R%FJhHU7iOD@_&&LiJMDN zB)qDrF0B?Zvo`_umtQXM>v9Gx!Yiaou%v}Mj8vLe{*XC~ zeOZ1aKik=4y$8mv&{pqqq$r+v_X;LMUdo-EnD7-H5oRBtu6XpK@ukEvBu;c!{fc8P zYw13n?4LO83iHg9B+l0)!!90Q)Qh#(72yA#tJ!&)sgPX5@++0-+f|5*YK;;#x0O}B zJRc)PpHilgAS{7jLpl|)cGuLUn>O&UM}!f{nZSz*8liDc_a0J=r24~fT6_~SDwKwd z!FbCl2hI#{?3ogCXGlx5S{<_IVl1+H8YzxbDX&hd=!6DO8}A~sbbUg((lg?hOUw%I z<0dL^zc+jFzFSq>5IR1{6?;uX zS|xP~oT#0}Pu{`xTY+b^ekkrJki1}*;q!VpKjQeM_ODN8wnjqRr5|{shl;(G{N0A) zkPGeoNDcpd#!GL)ijQf0#hKc%fyzv}o!Or~x29xWr63=2UGF-zflR~rwhc^o9vJzW z-&FyHNd?nEE^|P!B*{9BoE^)zPn@mtcsX27+;&lTl=<%Z=MY1oRr3X!cCK(c+Y1b& zZ521`qIY1}M){lyqKDT4%7x0&&>-u*ohMUPI-@a1ul%M9lu5p!25zu(-y`?$Jd3R( z`WWhEQINVn=Kt}|J=!gC5Qi#4xYi?Uu$U3D;+^YE&*nSo}-6M0Os8I0T(EYFZ z$fy?E3)yx!Ydg~_6;j-+MT6Q@C-a%@YT(L*&Hta<+(UqDvu#Cn&8q?BYmGHVVLljS zG}15MHYBFI4Xr8C>%>O3%5LGblD9yj>zv;T_Q_o+$F>R^1&z*PSg((dTwQ0n}9MEk5Io z{wY%j_vx^TAHPrc(tW~hWLfF(&@EqQMFs{`>p6%00vksunjjL=e2b5kbYsyqp#hh6 zXBgYnPGUsF2JP|2qhE{R711uMxv!MSSQBPp0n@J%B@MLCY?`QS+D8ZM5L(<@u>@*t zDrfnE-`FtZvR6b)m9`vRz>9@_p;#CrnX?lw5}Xv{k08g3ML6r_@3Hr+vKS00ct3)L zhuj7?EQ~yMb1)o^pHZVY&&laZkqtCH&z&f^Gw>7ITC~B0BMB)Cq*Y~s_S;}H1UM8P zw0veU{}z5#miNco8$2M<+6r3p^3mUR1MOZ=Iqf~j-y?nhi!FAuMf(f|kbX1f#nkr% zb*zh#$;-&>`m%BMY}E;QWH!xnqWKJ(X$DHgMiQ4_!_In7%y<{bb#o9=_6#M-)K~|@ zVi0?MdT|p#K7y1_zr*kkhH^)B#WOXeja42XV@!h>(}!h=Oo6oXz;_S-qH`bA;SDO? z(W-M!Ng#44v8GU!W&>}uJg`>&zLZ1xdK!9|xcTmcz*^B_BD3`2|6! z-_vCW_`QApD_%Vv0~48=%L8-87hhi{x};m%n88}*4T2N|8RXwFZjN@nd-$ydv_%M_ zC~onc3VsQro}GJ!#&#_3;icL8n%9jqNZpB*Cp*G`6J>Yt#4~CFMcNP z^k05-Hk;UBr1JaM;8xH~SiO8n4}!au?0c{Fw$8W(Wqo%dBg4y2>e~fJy{B7lEI4GX`yC{51BFHN^FN_J5g=J)w`mjaM@+ddCpNw zAZ9NTdAb90w&S^!_m51PbQ`xaO$`6!MAu`OGwo;Zo*xNz5GES+;wY|Yzq24jJBIpq*dMs4s{Bq`bdE4o-`8r$Uk#( zbsB(8W!52E~rCZ{o<`Jn2;$0=MjF&uO>~3x45PNt* z?J-?~&+D(A>Dx{VUmj}u7`+&)1r3+L^6go(aPPm0vI6C|{mh&a&)*q4{@wiM=9uIE zX@-uYBvK#&VWL9sYHSNQ6#X_kC?zwX1Y|V&kWU-FwOCQ-7vgLX)!s-I+@6|#IJSC+ zlC*75zTD}hpWxOoHl6NxV>0mz{sAbflj2fp#V83(uOo8)?U|qFtK9CKxumPsNQE*E zjr1?2cb&wxq}9&_JAO7i(T=wuh%1Qyun@xBm6h4FPIQ5JH$<^GJXK&RqVX?P`*=R) zI9Lj^ayRX#ehCNR4NR1X_!WcepQ?iMQ+;_0bIo{_JQ-MVvL)iaV1bJlBpHTIEt< z43skmVI^#g4MFJr`bhH393N`mT(m`f@uilqsO>EFp7O;d>*2P4Gi?!VCAzY-Zc>Xw`(CCz> ztjVz&^ewc{?y7HW`-2f{B~q0wM^Rc1>H)~_%>2!%LaTJBB>E}e;!`cSeY%d00!sH~ zKq}-bPn4LB|D>$FxR*WilI>Jk&56YbaGCAwp!SQYY`aNnIW9r*BxiqHjeZv7K-_qM zO5S!#KGgiOIBaZtxXZ)g+vF~|>q>qna6$jDEPRr{9X^FvI*^Ek%%S(2nmyH9|B1s+ z$Ml7~@-YxwEJ9P>v{f|zXnHof<7m6tNJJFAHBZ!RRq+8D7P5bob9Q70a>Rt_L?^lS zLFZ&3-~!j5Tlg%zeql*{9)JDgQt|)#2OcI0qvRns3zTiU&$h*Chadn-1NlMTCkX;o zYS$=?);xjoqv59S8uCUgcABQ{ia~t*&+~!Wx#PTiN3EdF#@=gVsSgjW%dEu-V6Vhh1C=rEkIUkB!RZ{ zxIjdhOTz0Uk@hX+3@^xnaqxo)>EgQX#ge0jsk>yU9`M`jH^-Ah8qMzX2>5gk3Yzw& zCVMt95QO0tB?%1X32dH9t@!Qvy?nPDDV#^TxNhWbzu?F`0p^ES-Z&e~S${aVuHF1| z5o(<AL8dVxbnvyLxr z?KVSAE4mclx9=asUj6#LkH21f@jrdUT2KSm2TIf1TtGDPfJwbD^;Z}QzGI^e{{p0R z?)zDy{owrP&F+80AQSuG@bq;^g;g$t*S8J-LNWlK#k%&(m^JS-Si~ zLd{fq_A_dWs=iLsnf}#2!tjh#bWO|XUZa>`&A7_3~*QhB3LOGOuYAcrE=q7ygp-!GGv4S z6V{q82k&Cq+;0K?KrH=B=S~*36Xhzy`zKlW8=@OWh|At%UR~<#%rnld6n_PBAJ0!2 z+adl)$F#S2HE^H5bf#19_3jT9K>@n;{p*OxFwE!WtJ#4BQl+E%>oeZQWbQQl2hGbL zJ-QRxpCTe_+_<1ODI{VKU)uir@T=Pt;XZ!VygA6C_Qi?Lq2rop>1LBUK4zbEQTxDZ ztrw6uANla?KL5!^+u-Cf3NjiNbN;}azP=r#dBRpa*NI0}l&P#=}0U9P!>BJ?9-PBd|~Ehvlad&pe={q6Ir$e>#Y$b~Yx6W7WfJykB* zA>*aWD6NVxOfmk1_C2GvLpnF2*BLXlCPnKF|B-abt!r|qDWFB92-&QwTqx^Z-c9Yw%0v1vN)M}VjOH+LijRnd zfgPHj*<=s;3#`hD*S^IMt}VhFJN;;N2a7Nus0GFNTuq{Oh*C$j3mvB(wql6TZ({-HuBUm)3w5}bc zIUn6hf93;5pVdBte8yyc8vrxx9e0xNtStFD7TCj!i1xk8OTCK$toK3B3?+{^*N00r zEeNS#<{Rl9>_wNnzmqL^8w(Uu^)l<0jHaD-x{5Ipa&J`x&#W)X9&s$-A|Q7Vy@-fx z_txa}!@Bn9OA5}T7rM2_fi@_}xGkFS-A3b++N5q2wF`Lh;4-zOS0Fir@C9FG2Mey^ z$wkbEh?c6A`23VA+In+thTHbBY-K+8>Pa6Ze7$Q|vWEiAVKUq&uzS6>#nxNQ9g$!P z;W~1MiwfliMPtZyoF4l6p361%7HW8L;D0IW%4y_NKbh9uK%)qCfGiSeQ_TgwlWKRh zlKufkGOs6K;|b|*Au~jMj4=I?8@blxV>AEJBHZz>pZk30*FH!5ul5;IjM-5!%}Jk? z_3qrlXn(!&FAG~-H;K~k65w_wntu!))Dh8$KO5I6bVkzOcj3mg$>n;d)tPEP_)m`- z59-C|oW5WMeXmj#wKKc|bfxto+&kZ>uW#&TRC)4(oFbwwJKTrsD6ZIz%N=v)ZnvZ>!0y)k+TAX^|LyLkksrOB_yO_t4BM+- z1jbCK7SSP24!D+m~zmrN~B6W54fq)S=N4K0uCr74#;X z66uE7j67Pzh0qgB@$#n~Kf4X7#A97ne^u*qLr{cIECWrF{r84rp}%WBZ!tp{l);)5 zC?ec8*!A_PqxKRSK~YPMbx`0D(|wF`AS*{NNCd|H{#u?8-2dhBAP~}L#6@7^y;ne} z?o({*YQ$@~^^YUn@V`9LUgB-0chbJxKw(tLp0K$~EK`8`fgXI18<^Fk%l7LXD$2k# zl7ivqg^ugmB)4zN6cAkw!mc0=Q_IWCQ-JE9P$3Empf0z@Lt!4g~~+{y#eC0jji{*5nMVg^qCi@GmNr#kj|? zdm2+#LkYmQ&*P&3PqEnoO@ ztGME1O`ku%5z-v4$8tF^1RhqhcFv|1s7DRUyN^XhMfb4AUWR=rdEfjpsTU0NGbj+^ zWK@Xvm`+ouhH9%?x}Jfl@!KARfyP7K%j+=Ff{|61sXBim&J6pFtjS^3k3_~#EW~P< z)~lG}jxsn8a z3sU=dq)T~jFQHuY{=q@`oz1B!DWbBmTw&&Y(q;m{qdhXiRg$;@i6v^;5pNqrv_LqJ zd`;w)9dmzbE%J+;z=!R9T17e&qbcFV*h9AM!t9+)>^g$nZ>(bSe@n%Lw5vHw5o z55Iy_K|z74IfOi_v$J!B~94bW)#jdWLm;I@m&+PG^c~7#+NB z9Yku2+=0ahK?n%QZ0hH@NcUn0-0ljuiQb6`<~wrnu|jeWe!s~1zbm1= z_%}99UC@-Tpryq`N=j-2RPPS56`G(<;CI7W?U+G7fI3ZRD+Cp#ky(9bI%MGk!?#*( z1%_Obq8*eaUrqrkQAlm7lx8tGUTM@jf2~^~HD!`l`7Fbdl0FTU65jArV`NK3>3-E@ zQZU?*wEJ|5@tv?$!i3zyvz#~m^^VF)qyr%goW7#BB+J!SQP>tX{U*nG=ec$y(2om7 zNJqXsZd6gDLDEP-vMl4Qnl`7q>7>h)Z@!-)mY^ea6gGz-mj~TfqkT{o9rcVpH@aw- zfnkF}$=k>0{*TCh_wM7}qeT0gd4l%*fdh1eG0GM3Sr4xt;IeE81q+W$8?V|$yU&%t zLPz)AC`ereyUV_;mwV`9oEmI7x?pg9qCrG^PjgNo@IU<}E-qeZ(0aYfx2Z{D)8wo` z=u(Uo%yN5DJJ(AX#jKGkw+wDr=$)KQFjtgu`FZMGC?0?rd$EKq-^JUM+q>S5*me$` z#Ke0_tmIygw(c>6on{VcM@*!r=ug}#ajJwCYE)Vge&@&cv?rz z;un{b!MJs)t}uyAE!*k{CgM{^w*D}T>n6hmT4T*2udr!%bKR6`2zJ}4MluUZD)&q6 z$Sp%*yz4!Pq$|I;Uvm7&(>mON?5@Z*+IGn}#eK{na1-G z#Dm5W5hvyTdb<)Ke(k5i7?^@~Q64V&UDUn_ZVxi2d;f#{JC(HTu{E#Q`6F@$Y8S;BrC`Vy7QZf%m9w&=&wFc}rYt5xXz9a9Lx zBLXJs+MM>>!J{`rx$gT%3gvdJQNPh?lXgvB7c2z5kQwJaGFgf-|J0 zrPbU2;26j3=I69O#vT1F;Bl<39{;pC#P)4{pe*GKs*|Q#BTLTE%Gg;(c%vnGR4|L> zljl%i)xH1hn&{&dceY)=xaP`=m)V$-EDvqbD z<$USm*Vvvx&pY47`NAw*t>na8Y(YhXEk6U5t6#dK- zu3y!ENbRbd@APH4tNPrWd{m%jk=&Glh+Qw86NK8wQmNENG_X9-f1vdG<>?-$yIa~e zQ2>Z%PGZZ_)FW!z=n}mNFz#jT%=UFw$j6rS?W_XMpH`DCcsgO}E{k7|V}wEmJ<^d^ zVqDr*cdQeKy|1{1W9EUnvpVIaa~8Y6tGIJVv8GS4q0SHli8L4F?aQ@$3=F+}=p)ZL zDGw;FCE8u41?vhT2_-HD51L60>)5w%cTYxUWZLq*0E6FvqkcUKn|)Xz#!dM;q^#Sn zdyk%Cjw;g+5RP^Adt~ZFzH^-D_d(o=g9?f(YfRN&`vSpS>Q9m+?=8eRNHJ@iP$t1J z(sqdSVB=e$R2tPQXdBxtlLDebwNSP2vgYg8A{n$i8&fUoWJ85ib|gOrBo32l*-q-E zgY>6sO36u`rqxoQYEf=wCz^oC;F@w2VJ)8aP7vnEiPBu{ml`y|G%LC9 z0xv_(`psD$TlMukJ;_FDHR40FpNUnuW1Cm?Xwu?>axL^n)EF;0y0ra83_4*`mCxN| zuU*VD=BSPYK^>(H$k1{m=+gIZo_(aaZgqbN+ zT=IP*u$_9qGq?1CFz!H@GsKp9~ z@Ru05e#&ND+&WqB64DX^u=(D*5A3=aA=|S}96ZPNWvt#Nt8xc!fcvEB9?W5(%L#&- z^RJO3PiYhJT1f*!T`1{W* z?fA%|Y*_DEfGFUL&4|&&PV#K7 zxgDR6Z=U2fz&H*;{GVlr1s&?ju0@UHbU(Bb@*1Cj?6&!0k`_6+f^) zM~Dm--+Sj_fV;-k9_DW>JRTqOkK>iKa_GP7sN7*Vc@Hb`*v&pMx>2G#q5M!ZphOjt zErwA{j$JxJ>O%K=W4RHNkJ##|hm)5u5LkM*CPrP#rkg8n-TDsL#VZ|Vy$Zcnn@nEM zIFFU@_cV7`u<;1=RywNo=&a46DU`SmmUY_XS&38L`8_$>ciki<@9TPnN_OK0w_(rg zkee3$e6s{GMuZI4LIh}pYXpn$`ClbVwIN62qu8iDNGt%zmyY&x=^*rF(qe{!@-arj-k4HDqn1X!Fm(pDEaIAL}W^%D| zJFYP>xw|)W_>vbR4|?*}V_-{Jp<@1cBgMLG7KLnwBOz>7Gr@nfbH1B!Z<4z*f6{&H zQ>@#ebCo4c5!O1$%Nj4#fi!&^)&G4S#NV$11 z^JkogetFr7SF7A%EPJS^#|qU>nGq~GL(2`o&K}MR8Q*I*4o-$j>_jmEv6Rizi+7z*;Vd>a%z zvvvMa@qw0RE1Jc-!AU_F6Ytos-@g5zGZ=8nu%plyQ+181Qp3luVDIah(D+y_@o&K) zP3C;f{93;XUrO|WQ==Ko_dtm~CEx}=gx(7aAF-y-dB&(`AL@DU!qp>o`m?0e+HkQ;Et5f!4yRp>`FW*uva6pGT-`gwCqentSBEeFW2>$qRt2hUp zy+8f-@Xn`$ii(}p1wjU0Z#L4K7;U;bIt_~jh&XgEy$jvuQ(dS6vC zdYPmvKZ&FBAP*bLcvZ4Qz}ut7L;Eb{tDMfKv!hy+{nlBVt+^l6oy{>dDLKzD)xPQW z^PkomF=cZ8i;&bwzB*q!J+DGZFt2H-*f1Px&ovlkM(svc;LX*9 z!6(0Z$A+9yh3VcGN#7#2yOT}LXVTt2NLiXGcRlUNMQEeXRU*eP7A}eec1hkWY-t9) zjy#Go#9;J&s?G&f^UPbo`yW(`-@C{uno-~q@9c9K90cUIH(K6{w~dIv8p}MD&UQUG zUWtYXFe21gbqv2`dA?uzK)P>R?$)jryK(!zKOdGVqxFT4Q#|kjekUTYkUSe!&aMh)=lc znPoBTE#Aakf=B9<_$CuhX%Yi41Qxg*#1c}}auoP1J}7-u`x2> zYCqK)h(Vv2cw<^tYu%nBa2W@pVHS&*DlbqE#F(DpL|!CLih1WN+R#{kEbYP&chv}# z>0ZXCQ!A7klzZ^NmpCVH>D^Zy;_O=|YRhjNQ}riv{kEqesHCork6L4$HS&ek#o{*N z)NG{M9Ugx<5&3?*^nv z{|QvX^up`V&1MD$wfYPc8mJJi@>_I1`CVgeo3x0|KrE5XSRTqd+Agwj@r7^cCl~3F zrs~0J(O;|AM7^Ht{4I^z3RwwM z8x+s{EC7iyJa@<~b8^>gFO{GK5Wy;53&hHFtal*wN@0$|M!QkVC{#i$z{MKsvQHQo zZy|K@`OIsSsjhDG2m^HcElk{T1QH7VKux?AP?)>H5QwP496bSJR6Dn>!>gi zj;kfL;~KhA5P`DzCzPKpc08!IhmPzc{lu3aCN>SO2d^28xdYG2nW6anl{niC;s}Hg zO;?)>Vbomv@|w1a@Ue0E@BUt`cY0Mw7;a54NY`e*WBYa#ILVV4Au0Z zv&n<2&SVIGx>}@gtJ|05XlUQ#f0~zE012g6tr)UeDj#0eHw!>p8*=$!CcxNxIJmum zKd$aedBO!owl5N$yYrpNdoF+8-taq+{+a7)v4*?z?_9U~K>C3Op4*~PLmWWole*&1 zkdD3)#~J+Y4OnrRbHJ_-9lq=b3sK;~KbgkHVhKRWDO$c1_sRZ;TA!VmUi}$Fw+#HU zWIEspn9u!c<|Mwx?{ljEIA;HH9KUD6mt`v=+!S#B+aP1s42iCtMk$-1>EmoXzt0H%pWJDS^3ToABH9+Y z0_jIyTCbGM!S=oFvVwtXGJ?XgVlFX%T^-Jam`3O`zPnGe);rT52$jMa+hX_7WM0YzAxg z4+CqmMc?q9jCTJu0fz8_bo_aEJz_;bdTGn}{PVz!2Ookwxea0wbG69hd6tNG`xEZ~ z_P#Zjfuqk|$VJ@J=)RL5>vl31bn}*v@D<3|_4BmV?bNT$b5;Cxi)6-L+;^ADy*Nn6fp`N{i1_{mmMYW%A)_yIpZg?hx$)^!+N$O^Edb%t zPI&A?20Q6J zUQ!`hSR{;Gtj$|hgs&v~`O?>RR7gx-_RYCL-IiW_Y=fQxAZ3&Y*#itfM06p4HBh2Z zvBt)KkO<1#G$z~?D?c*fFC{dA<~ zd>tN~6@r>Q^Q9Z0+KvaocW*rB*=G@krKm-p4M%&aqYA6VXzYGSU7auqG4cD)2sVb` z!!C+CT4F+Q@h_Re#g&SJqgyYB01S>+`10yFN_#%?nQA2xZ5}nX>ZIGT+_dqEcT#nZ z4DCJTLXeLIfd7!U2WUzW2TJt5-F`K5_g**^6TZLs{B!Fk38v4IBr(yJMymS0sj6cu zl_FsPV`C+`;K3x0A?E-6vHY*T`Fq4q+{N&31t_S2qSOt+5I|#LI1*k=PE%mBg7}r< zegOPL@opjt>{AG7*hCYO#5+IF%5!fPZoU8Ml8UL9kSsb}q{#?bsp8l)Z{lh%zF|n|) z{3h3jJk?d0PBE&Ke9fi}589_+_>Ei29cn~>%YU9OnnidcAf_U9HLjWPc*RqhSc$>lR^aK>QR}?U$Mv5BB}K|bT~3N6JD>`ea3TOjMe42! zB*@`BkV<_5eS;x(m$9F4$=DiKq;X6nGgkF3hjc({em~&{4UzTg39n+(m8edAfkm?| z+Wyy%Q{YkuJM8i8Kfmkx1-oomN8tGV@&5LKbTLp~zkZ!sQ=_AlUpFR z)LCMcu3g^`Y@Q7(K*Ux`NA&$d$>0jXppb_kEol)9$f7Vq9V2OlcQe@TG~COIYoF^q z3RE>_3sGgd8}UjtLb`_-0ky7<($s3_(K<=ZfeT`9UR8eu!z)8h`d;m&D!b33SwsW@ zB@`Y;z8*|hrZ?Khd#xKDM)!5JnZxUP@7*W{9NIV$yDyGXVO$XU1b1*Yia)lVmI?|oG^*_dYgjTH1$64_Zh*4VJW>Yx>CCa3MX&wyy+c~I zv)8}>dBl?F8zm9YC_|A3Y3UC+O z+p#u515CN{4?fsLd#G$e;~fNg>DJ~UPn)+7;htt|IHLS_-vorSp9EcZX8$$W@6Y@9 zu;z_erz_uOhl_?x<-)+sOt|}@qjzZN&Juz4bIuq*S5>k(j$e$Fk}_wMFs26%?9-3W|aB3e-e=d$%l$G!4G;m(1kklbn>S?YBXUD}qi6 zIGIlZN!X^Y1z=!t74fnueod zfR@@r^fI)V1&q^Ut149pzh;Lnaxl|d4>x|8_bgH%r)0uwVS*&?P3Bp4dBvJ;OU)KA zJA3M6S60tP>^S!kp?%QQ>i{9`|G$(&Oq+;!m5)rW!MdbYFpLoeSkstg*}=)F-`=Lf zZEW9&hzP#{vtZRmu3WY|P%poY8JqH*E3Y^7@yFxKn`klf7y}oKetfZ*v3&G=`U3_Z z8UcY*_klJ>blcHaV_2s0`xs4*7|wXH*HN{ui1PT+ZX$s%mjb~gh1yz+-;Hc$K7Cm2P9}R zN`wIcu`?_Pp%A=8#8lGtc6mia;3ls^Sl%so>~>I!VYaZo z{t!D;7meUXSf|aK(od6VOj|gS>=m%@-GdE8*&w+O72x~mV`HZoVn;^WI*7Z(JG|dG z6w$s@6cB7g#zd^=OL#*V@4oqc9FR2j5=ur)sCF$Gv!7K+fmKw*7#^V-8|di!#`5*u z-yO$$2mEu3?{-TEU76{%9JJSB4tXE23UDEDEieefTK93*A@JtYr;yz zn=jOL#Ps&DNWt(p8R>xxDAAQ6lvl?-U6Nx7rQP;DJ8?2IPkBDpOVKPRw{o`qgp6~X zI&>S+)+nOw_44xEpgG~9Ex%K-;_2aJY4{1nk99tLF^cUAin+bUL46r92s9levtvLL zA-%o5)<5zJiS6v{h+1Zg+BLmi(^WR@oklyl|6AF z|L)2|sdN*_v&*PJzhz^XC)geE5-QuxI~Fq zA+DIQ>RlEVqKa|L9XzWPIKA}}gQ|U0c`A&#c-LG|`3`o}z(Uqv(q(`_vhU#!gG9JI z1an##G3&(Z;a%TS2kE1v{=ysmAMd_{Ew=|J9q~1>R~GHY;RYVjUqv zo`cS)ynY{SZI|Uw$6t`F9=*7`TU)r9Cv^=NuyU)vM{#jNV4pJ zY?bfhWMRxCSi!`-`5SFnyb_4S-Uwk2J?-cgSCByht%A&gNHtiCP+OgI>8-KDerwVX zNpB7bWk1_m4c##Ngg9oEQK?tsA@)*3n_-N&)W%!JaGG#P-68|9SRH~|ZT;~SbBSSL z>g;&qt3iw+IRbLJ(A2#I%?wm>C>HI$`|2S*F+vm&9^Ebq2i%Sy+&8|A-(eG~o!#^s zTIP_LdBG)S$Sjq*v%Bl>l9^mc2q>7?V^`M-JfSI@@`gn_x?UL<7Z))@88kr2OA@4_ zJs)KP=GCwuVo39Czd}}DuqPOl6RzQV(8o=Oife2LKhiRgK$TlgblZsGL_d)9zI(mA zb4!yU&1F-HE&zXY9N?A})f3y&H*jMn4Dturl$Xc??)zrt%S~y?ge+&nla{o7buS;7 z2GxE?2mIj-wrjqV_zxiZ)lqowJoI%w3e%gpj19|t1oSQMz>T`*Lju@K25QwIg(0lS z-d+WIMn>_XL#e4R(^0P9``?6_(~LOg)cVMeimOJo z2MshPY0bKy^=b7wyr5b5!i8t7KhMpq?$jtHFV!xPcYAD%Aj84qHYYG&kA?f7OF~LQ zw{FGeaNqNjw$;|5RrOuhnmsJqjnD1 zLHh*`wF{tO5nY1mL!RL+fZ`zt1VNvNVHDElqANji^JcFPc6||{l9G~?u&}U5l;Wz= zppX0`x^@xhlbxfiYXb`R9Sy3F;+G=!nobwYX4gUpoDy#iG26Gzn71{~=Zoz`%4`Vj zCR3?%jB&JHe>Jx z)F=X;>*Y4f9D(1Xqe5C7J@#ZJ-h>H*l)&1BvaseR@g8)3{1a{d?oaBp-NVE55TROP zTQe56Y*vO0 z1r(XlZ2Z+MYB6Ih%`-m_sxGq%s#+MNt#Ts*xTzu7O9udv)=vwSuO9iBJ+!nQ z7@3Q8H4EAXem(51~qWHk1(sXd0fc_A^1Pi37@Ryvfs9rP*r)9I_k}{t(1Rg?d;M_tudxSYv9^E3icMs&N+G>XU#Q5{`Mgmm;TC+ zS-8L1>UqlzT!tIOoF)E_4y;4N+0n6R>}*waM)f;T`V1;-1>HAo;9S9Nx!J0HJCD5m zV3SP<2yxoypxZLhg-m@J^$zq7f`%dBx&h!&A>O*7!XS*ArIm|J*1?k}M)-^qR6viP znGjeFC4MmL5SgkoA^g4c>2xdnM|-d;V<@@caWx-orOqu~cMZ*;sy6N+V_28l%5&%W zIqI#rgsSk}?Vmb+`GpfK-;WKuOhHCyA7Wfw+;y~|<2Da*@mE0gOEv5S75!{n#O0wA zi*^An>K_MF^O9f+?ymzdbfGypSgYwf9uv*xjp`h1lcYE${u%ZZi`Ca#oe~jI-{s_m zX1#iacXCwBh`N4~rHqI~9esxiWW<}5&7*ABGVjYe^In}BN7V#=a18DT1vJ|0hbniiNV_pjhSZ$|YFhYwO;?U-<<0>%Q+n}h(Cy1W zNDd)@5W+}MTiVvv)-e6zrGui!`uaLi*{DTv+2|@@-*h+nr}mF_u`rTkl@sRX=90!E zCR8n;?*huHx5xLDGKwGW-5DPOrz>(B({T7nq@JxB6-?kTSMp8e2);Grge<_4V`rr0 zU$X$zJ(i^s#Z|*~9IT#)sPePCi2(u)%f@@q4MfA3zX`#4r0y@ec03l|JFqPMiIf1m z)iyH2W6Zf8@(DV?VV{3mFN=OCBmo-Dxq-L|?{eqf#`}xv5}1N!5Ov`e0`Drn@M@D{ z?EzKhK*fPVJCH#ugIK`OGC@eQzTH!hW=l&;Yw}>Y#eh^-JV(9Fe{2&HJ96J9SnTNb zy^V_~u@#y-ab_R06HkH;BUYwds_n3SR=5$sHf!?JFYvuZsOJiky!FrU109WTzn!;H zub^djUx1-5si3Hjrkhk5^nhZZrK+X|+HH=+j4PCLYy zCwz@fWeSo#$Q+o<5MCHfO+uj594F~kXr-8ej2f<4`FW@5ai*4rLC|W0L)q=|LGyow ziy!2b(t^&b&7Sx**Np)MGe-t}m0v&VC88OWTqte3&EBAg_umULpp6j;38{B{+(Jg^ zB-vJ3Ir6l!D{qW1WzVFhUOmwNV+RaAC33=Jk-w8AM?eww#-{F0#-qO$TMqWj zhtWoE!ort$K&`G}f@(UGqeSukF7gf|>e~FYZjfI%`bvL4Q7e$1fRvH#(mqO5WNXg01WWbTM7BB`wt}AbHfj`p9HeFFz;jx|pEK$;KAJ%qc+Q+k3#^+UM{%B}$vL{q zs(Y#Dl+@ML75ZFJK~1Oh^eH7s6XG?en;E}&A^-U^6%qn4kw(k13_~dbTTH`&*DWjP zyyTYnj?y#3=rbr_WYyxk`6_q(o5rmVDsm3ho`{iGJamv!4QH8A6Ig@W136PPJ0e;G zyszEuRwuY78q~2AZRXxLLN1g$m#7NYi)#HYlN4y7M<~hHVcNinOirc(!4*1i8Dv;j zcO8IembRB90orw8M@OO+EiXj`UNP_@iq6mK|~-Gw#SgK zp4P?7Bh{5cdh0QNtK9d-Z!w`l!Vu+v+niN6c~2$n(hpld%VgdiB8uJA=1wQ&_* zMRf^zumf+yrD|r=iHavdYS0H*%jV&0&#;>OeEG-H($p|nyE`hSNKx&yvKj0>%-6FX z+6GI5h>7s&!{{7T5JcUX+-~Vnb?q%&U{fje`NFc>k{K7a&!9KuTnrcB_^1rBKwi%a z)c#P1#h)CKYT)V~C)QJfdlIX%b#BId{;nFb9(m%+OU0{erGU)L@A=McuG+q-%0<3{ z2uGmWSRprVk!YGXZqdFil8$v|B} zwRJa91hq!3aJzt&h{g5H;+6TwnVBqXSuVfCx{bg_j7AV2Ugd(zFkW;3i&{eJfQy|j z8SvC`TfSq}J~$Lpk5gok?A0c=nbwsPd50|&=r31^2U@Jh~2Ep}j} z2)uSo5)r6de5K`-GX{?ew2b6fA_)Sssl1Wbk4AsYO@%dhA5!rc+@Xh{*tX5-RNK9Z zh$4JrCOK7yhCaE7hgk~pmwe|I%DNuk1J3B*MH0XLfaY!@8-bmpqoe`9{FA_dfYj7f znmX;**_j>aWFeB1*5%J!(!C9MUQ~>OHe&J~F+*M;cF57&iik;CJKSc@&Z*9p2&gY4 zgJu~!?6xL-9JkhpwsqR%m;(uu8Nbe>lIN)8$LUXw<8>Q0-6nu2CnpfY<_H80Ca{H4 z;qp^;Q@Zk&2jn5*@y93H%Hmh@Mo}T+X86+l8W309Q%`q~N6GF%wS8IglTKu6>xWlkSVDN_i7wt-JPFA-clSF0pxH z(m|>jFM%YgV?+S1*_TjY0gfqy2cVJ0oC<_jjjzm&S|&ZG6{Cb3osKrm?B4O$jmhK z>TR+bnooM{xW3_e%WXYdwY3d)^W+;Us>a;C$#J?eoft==%(9g!>bLzXkO1|sW}TN@S;82o^IFdsYzN<9^O!j0YJ%);TDQLCL%3~NX5Z%pYJmzE4icsZI<@+h zc;<#CE5xnF#s=@~yZxnTAUQHoes4Loc{NXl zonQ69o3?pYE0t)EW0;_a(pt4)wA=Asq{izz(qiKPLccGMaA@#W;x+599@l-9-YtiM z?oV5V{%ZjxjJK;$m9hRXk6Jb`B-Zl50SEIFCE* zG~9ys==gfHr|BZp=;Kk9%@%*iC(WxrfBCJcL$rOav{@9lq`mDk&%x8z2sPB*r?bUur8s^5PixU)RD z8kKOmpS#gFYw5WUg#o`=O)W(e5&1Ox~0$Y)Vm zsnjP%p!~j(y4D#C{Bjw>;q))_t4j(Kux2V>z)r%t!bRpp{Q4<@5X2I5^;-&YnL1;v`K zhAT^F?XDmtF{0JDpN1Y!)sae!Z-Bn^y6~@-&YNH9xSdiJ2R}yBtLDTprUUbe%2-MqH%=VW_p-C2n%g})$|?9Y2Ur1EbB?~gQk)~ z1CKNh?E%%*v zF9VVYh=w(ATxhwtZj@;spqoR)&7!!{^m3_9K*J zMurK>y0_+iL2p~n&;-9}Y_U3%g4T4zVhQupnu)vs*uyiRB|mXKT*a5D>Tb$AouiAs z|21vBdav`*Va0k484t(WQQ3OUvraAbjQz7((e?IO&6`vs9SO>Gf+x+pu!3;oF`IRw zg!`S6sAMaGW0anIj+(*SW+|1$@?@tq52f!q{nc(RIX8M%Iu6Arb=sJkb^Tt~ynhpP ztUDPYf-J`}RvA|k zbKVGwkMM~W$}MP=1|v}(bPq)K_?_vvd1nS8Q6Pi92*a>eA!x9;*>A!VvLn3@?zi~Y z`VzNyq6|bg{09ij?rl0?wL!jW%~+E8>G-q%ta_e0p9uhBnOw^2WKOuwbT)D)nrH5- zM288^i+)&Fy~FO5R0R}@9JV}>PHSErLPBlQ5E9I?Mnok$nznGc0=e02zb{}`3{RG* zW1UWQCA_W9e||M7AUkTX&GBshvHL?FC(wCKp)w@`4T0-h<=d}mVU~9DujJ!493#BB zx8%;A`#`G^A(ZN8{$W$Ez)#oDw)mZG%=PUQ-96Vj*bWcNUbC~@?w|LZ9EuN7XE~ml zJUMK%Sv)M-5%t{t7zO+x;q1;YD5yRg8u?UaK1=@pNPFwBss?=gP&UZ3y&$D@1iwbq;?-tmri%mt2@ zLsRkEv^2yHBmv`CH?&&qq0i+1%^0u3a040Ces<%>e_$gJiSg5tk{S?Lz14G~126hV zyt<4-*y)avj6G#k``7fANBbF*;Balzl#tmGZZ~zqhD7=;C{jR*@8Am-# zG9DWr2XX9c-i}b48RB;0JhSXvU+~LbfY+#2=00pcxVsZTSo3ON4EQmCA;QT{=(d_Y z{Dxccfzz7s01#d?4KQKG_b2{pd;maM=XwoZh6r@xm}JHWtax|kBE-hTGF3_ogdoyE zdj%ZyP%7$_=Riia%sSgY6{aUTaW&%Nuj)nz5F3vN$Uuqj!0aAxX|BAVqlOAkz2U0} z=OvbIyzoTM9p|MzkI4>EhHen zvQZB!pXAOp@q#B9-)jpSzplSfjTNX4mT#n|dy^FQe>HXGCX99e{{0?z zG}(W6k3>;kz~Ok*%Qm=8BqSI@g>iOOL}f?IP-0q?^7vxJVR>kVeZrtC;2o3yvU$h5 z8~gOJW;4S8$sT`11X;S zHSFk%itim>>{he1?LCN^RMyrSEiC5`#M_KK$a7v^*%k%~yzb)IFD*%v_0c28#!IKe zoDh`N)%`M5?n(*gi=~Z9e|#$0h)q4` zM(w2B>^_FkYMZp;{9Q}81F-f|aXSiA_DYFU3S8yl-CIe46Q^Hv=jUb6i|M_MljOuQ666{p`e{e9240d9}iE*UO~+U(h4s^?C^$bsl)0uQ7&2 zVuO1$?VHCwU7w^tF;IM6jHDh5^y2?bR0e^YXX9#C<8UDwOm~ox@=QNZm9P176jJ*B zkjwd0ziJoRp-R|J}%MQ`~iMe!#g}aB`xa{PBsG;uvlzyS(XGZTh=i)TWS$Ul0 zdGe7WfrISwBpZJwy=DAjggYZgR1TyR$P!;r~^BNTDOqdCzcp|7aiXSXcR3b7dj(r(((v#@nrg=bP!IS=gYz zmy)kRQ~Yn#{T49kmx0tGe$bleXjgn21!s_78}F!lbDRtgPX2tlp8-E|^Wsb`h1Yi4 zjlIIm!X1?E;&U~l6-VPSI|20-O{@njQ+6*W?Jr9TxhKy|YIQ;!FD5PaPblIh7_*IS zxyqeR5SMrF+&}j(eg6LxDFEhgg}D;JL*dH+c>o!hRmAhb1XJRI#mG(E?C5*%LjesxXnZB)0*u4hlC*;L}i$St#PM)uE2 zDP2}qU-o?)AlGHcj##CS*WJTic?%hUPfw}VCCWcT* zIUvUYT{#~d1|Itm`R1lUL<=+Fz4e}q9VI$b9=dM|`}MoUHuED2fq_{}LvDWE@l-DR znaBd#EVirX{X5;4b!v5o5!u>9dl4}N1ogi*!(JFh#k1v`XNOl#T!&4ve zU`CkDeCHmy-`}_N1SktsqS`1n*+sceIszQ#6(rUIvO*H8!4&9j9g_jb2_ZOWj|cXyJWEIl;S+WTDs(mNu4 zDw00pdx+0U{y_{5KA5tZy;B|c^4r8(HAmdpcdja#NxMb6`r;3r)tgKva&2WOol}LU z6(6$cpUS+8ef*q`dRue5{aLfUp{I~uZ))uPsE&x_eujrfGS+YtjKgdG+!ai+!dD;Y zdWmGLH=YrvGg9z*q-dWP@sktS-nEnRfu9_BJ~EBCrOR%6po-&GM3w~3scUjC z+M`R({o5-zqxU?G26UYiP;Z1k09S~LRndFm(d6D|#qFer;_|PP)Epix+Lk=ea4{0N z;v{1G-?aN69l>xrC^dJxc23%V5QwJ98i=$h0)wZBwu$CVUisiQBrapzm4<>wuqC>> zYZ%lmDlpLWcem}D;+ogU891y7nS;~}HeWuuGj6SBfHPE|)|;U_sYpUIM6gxmrj=O9 ztNbKW=fm(~AWmrFrWNJ~G(M;cF?jSuQBukGuvhyb`M!?t3Fd#s_<#JXfg8H&*6tAn zyFM7Z=_6?%TIe&U(1VADgFcJ-9tR%U4Xpe|GlkF7pR{oP*u1I-R+iSoS{hsg>^P?ivDc6k}}VkP+r zY+tzCVWlLnb5a7SzFDMJ~nFeo~QQOqxMPI?96+|{9aS5Au7wl?pgsSbd zJ9Ok?;`KtljB&k#nJ2M5_y2ZHc@UN!bl&y;RtYBUJOUf!qMk<7PxPwG=SoDhXeixd zce_gkjc^a+=uj(4$cuS<=fo>};nZ^s311hS-9j|YaPyF>ccf7N(gk>8AdZ{f`A?rD zcu1in`$3VNk+@oNT3Rtx~)5+ zY~%eFjZzJ|DnU+&lTr;F766RzuXYseABbB+qp?Q;gFwUZ4h)QhH#VTCr8lOW>YSq2 zqPQgB?Y#@ebict7RIEcUyJ#nOsugt{EFPh@wYL`$&O!!fx2j$9bTKhd&z!R}z>(#D zl_!!)kija;j841-mS9VPhKWi3@cOHRWbv%(Jbkmq z6ovbE{P3*1NNe~p8#sPYQfqb=fk?9IIuc7()w7iR?ff#2J0#>h;7t<&KmW>YYs*xs z4c_LqKKby0AxRrY|9su!U2+C)ZVwgyC4_K%H}hAoc7`kzM5I%)b_Rnu=0D@$2Bf-= zkB=9*^N50SW%_#M5sq@_-~H9HgW&R!9^$zf)o9?bf+LM2$KxG=G!xE2wb+NUA)XyJ z9e#6B$CtbVV20Tl`{=Y*ZNBI$${Uq-GrOgQF9PT35{U<=R#&TSdhg1{-BK7=|MuFD zIBoDK2tMjx1Q6LDLp_~yi#;a#s7`*oI8_A+AObs$9VQIA-`yDx)RHPck|yb}+v;2D zk}eaS&*Rwb>}!x~n^a}Q+yU;51ZkrO+cuPh|wka02Epri!qJpZzWSY#IokEvJF`8q*eeVBf_A1e!lf|H0(GGv7FRtLpSG-BRGs_`7BK2RaSx zuV#X@C!ZGRUu{BfgrW}cQ#bJmrSHzA8A)5|^(FZ>4O21{Vv-08Y@OmK@xmg(%7#8~ z&NLK$=BRAF#znsx8r16hG}D}#DIE=67~WIp8z^gHuY*a_akJF3zultcyO1r~6YeDe zk+9rVgv;CC|K5HZz&}Hnl1zASbak2f-K!$VdjkmI&7vT&s%kb3 zU;;`fXzF7k5|ZS-r~X*Pl1Q-T=H}o9ywW}QV!;j)Q(otDv@=GuzndZe8PXJz&k>EY zE7(D@i*=3N=OHKb@bdCfUTX5=$-LLv)rA>hnWV#^2|+0D$gi)UIU$wj_qQ3Q2m**a zXc621V(5XB-Elji0C`Q87aAEFVF_Cj@z(M2aWcl80d87|lVDy0xuls50YO302x>Vp zW@h=;!|#ZRi3tq}A%+}?pOZt2%)ewuxo2W)%rE@A=ZpC9 z=&g()G(GEm8cl QLE|BxMJ?Tv@d*$A8y5fTzIn32aCYk938d6r!E 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 ca|kz2$VG3SW640ge6fdyTIDKdR%Z)&Kwi literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/21_ab_test_view_card_view_light.png b/docs/images/basic_guides/21_ab_test_view_card_view_light.png new file mode 100644 index 0000000000000000000000000000000000000000..994a01fa415cf75878c38a2b659c01e50c31648c GIT binary patch literal 312333 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

8ipYY2xD*TR&D}D*QuSxPtM%W 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

p?+Y*c-*KvCB;kFpZ5JKPr%);DBMywMFO&*%{; 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≫Yij-xbi^Z~`S(upYj#BzV zc$UuM)$L~$#m=%=YUd_)_@4KVjG801YKvH^ugKzzz;C6;i?;>GW*GPG*Y-GYt*WYO zo8bDsp&|XeTS{xMrToD3(|1HpnIk7JAKlQl4#sf2ZXYGsxqcd<)peIIGI$sC)}m?cQ34>VL)C$C5Bg= zKA5rP2hj67;`47mJQw4Rn$h+CPa#t*y2O*XwkDjf$>PdbWP(Bcf5eZU<{d5Eq z_99qEgm*|D-Z@iaSE<^1OHM4Zhij{!%ZsTe_hD`PC2;oE4sQOxoIR8|K_D02Mg35< zaa6?G_$o-W@zpKJkrN38rD)W~l6RfQur`*85N#~=dYt$J^E#$EB-`D*@4wU_$Gwul zx1n}J!XSMI+tje8@h3)mxfXJfuG@KxnfR<_&Lp~$`Aaeifwyko_~3W!VUyW}MNHf`+Hq1Qxy27n@G80^=24_;L^lMwUsZ5YR%itj z%rm;=iT1_rtw#g>RzNa z3L>jYqqbpx-3;`w;A4d^gVyBYFC5DvT|zK1%d2DCHvd@Rr0PjTXwD?h`HI>4#{)k{ z#8fnxn`(QtF;@`Y#Eyvf%hoODq$3FeE7aBX>N-}0g@@nGvQoMrPsIzHyjeol2d*91 zd5HLph!UsF?CD^*!p8J(Ax=Xmt!7VUSgSV|LF$5mEV*3#d^Y-(x>+-YcNSYoAg|4&;@EFcwb_3m&E&Ck!5{ty-# zdguD}>pNxti`HkRq@`_AR8-9Dj=aGWi`BKx7tX0Z8UOh4l^Oi}rg7WbBTsBo!^SkG z4}dLNlf~Pp)MzS|I=B4eLdnA5C2mZAnlNy=&xMoeZc-nDJ%rLO9old`I zXJ;opiBE#wl=|S>ci(#+#p^zOejAN;@6n@20Ux>f*Y2wP@vq+>``ZsdqUY!5=ji05 zcF4)WVL6(cEUPVgg9F$wt!8l5bvXa#r=g`~c+$Qx046Vf6F2`0>&oE2wfA?Ez#HPK z-3#dz+yZA_?lCbp7g~G2VR50%cawNqc}pK@XEMXr-`@Jx+vmW$9Q#!{@>9h3Pcg<; z(Af4d;&pd-zcV;ENbl_Y?X|i4s9|dfe){xjBhYs0%F4=W4L+akwb)r{Qn)|nJY&bD zzBrN~$(lK_rM1=Ou%|s!_JIW6BYjyV(P`3BKHc5jxoQvd790(*5!T3=6^kt>PBusM z3`t7Tc}u{qF&Dttqvw9|N6nfWM>#qV{4~<3zhwEGdd2m9A~^pcU=la~lhdQ5a{i%* z_&;soDJ&LGLh%dzi|cC|3^+M=*4wz{7i|hY`-~5%En}6yozR{!qx%r>^$$pq5EHJ)Ae_9`-JRStB|L-hO buU}5d1^M2;WEC_4{->+6d0p&Ut5g3EUh@BG literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/21_ab_test_view_table_view_dark.png b/docs/images/basic_guides/21_ab_test_view_table_view_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..f80538d77b9295a9d15f24190f34b9503aa94201 GIT binary patch literal 219788 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 literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/21_ab_test_view_table_view_light.png b/docs/images/basic_guides/21_ab_test_view_table_view_light.png new file mode 100644 index 0000000000000000000000000000000000000000..6fef792e2d5d597f8c6c01d9c7e10703a86c899c GIT binary patch literal 220427 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≶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 ?kRqHH3jsWz05pa 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%0Dxi?9I~A)oQu%kWl2M#xd~d4l-HgS@U+fk0sk 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 ?A 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

{V(9tVV>h83B53H@?z@|U-NET=Pdf+3#kmh^| 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 NZPwltt!{Sy{{psBv~&Of literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/22_single_model_test_view_card_view_light.png b/docs/images/basic_guides/22_single_model_test_view_card_view_light.png new file mode 100644 index 0000000000000000000000000000000000000000..cabd69ea9e7b0ca20333f0c5267258667d2e538b GIT binary patch literal 230191 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̄@c3{;tdI3rTMJUX0(~ddx=E>m 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 literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/22_single_model_test_view_table_view_dark.png b/docs/images/basic_guides/22_single_model_test_view_table_view_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..5b8f744e34c845801e1b456ebf53ff1608d70429 GIT binary patch literal 223159 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

N7-WKyK(Z7l& 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 ROHTj*002ovPDHLkV1mB~F023m literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/22_single_model_test_view_table_view_light.png b/docs/images/basic_guides/22_single_model_test_view_table_view_light.png new file mode 100644 index 0000000000000000000000000000000000000000..c2b2ca30f386ed2a86b20b27f56e0cd942a41e23 GIT binary patch literal 223700 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 Date: Fri, 16 Feb 2024 10:42:07 +0100 Subject: [PATCH 011/539] rename docs image --- .../basic_guides/21_ab_test_view_dark.png | Bin 219788 -> 0 bytes .../basic_guides/21_ab_test_view_light.png | Bin 220427 -> 0 bytes .../22_single_model_test_view_dark.png | Bin 223159 -> 0 bytes .../22_single_model_test_view_light.png | Bin 223700 -> 0 bytes 4 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/images/basic_guides/21_ab_test_view_dark.png delete mode 100644 docs/images/basic_guides/21_ab_test_view_light.png delete mode 100644 docs/images/basic_guides/22_single_model_test_view_dark.png delete mode 100644 docs/images/basic_guides/22_single_model_test_view_light.png diff --git a/docs/images/basic_guides/21_ab_test_view_dark.png b/docs/images/basic_guides/21_ab_test_view_dark.png deleted file mode 100644 index f80538d77b9295a9d15f24190f34b9503aa94201..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 219788 zcmV)4K+3;~P)PyA07*naRCr$Oy?ONiSy>-;Ki^?z7#J9b9n^p|)+KFX+GAZ}k|t5poCHj4+Mf2L z_S95uHina9|7hCN)(sG2P*6|=qD*na4MpuS@nAyhg2)bozyPx|Gi(Dh1K)4Y`#$$s z@AKSy-=E+2H^0Goejb_M@AJOv>sjyf+~rUve_nshD<65qqaXg)52vSJRSuVZML8V4 ztd#QDa&~y|R`rbjha0ND;hzKifwOxwzAu|I+{cMzf!-$Sa9g@9e%*F_3!QHtxBznb#NF|ZTnU$2jg#Tx!=8SPG6#B zzZr|Ct^n9J3}_x_ntmNkU|yOm24C3?4eUTzcr-m6PJsSrguGAK%3nYTp0htsV5x>1 zkwT8upeD)Hjl-EE@dog&Wiyxn)I(muf7j8=?gc*qPwDSn`4Aoa06cxcf6Tb3y#vq4 zmr>}RWW<$Y9$hD+I|sgTk1J^b3`*UIil7hrmd;L_c4$PF^(CL}95xj{+3*zo5^D%u z%6~npd>vC4=AbzJ?9A1`G2hCWM7%BNce2iH70J_6l9@_-#ZSQh8|EnG8$SF0h;ava zZERUtWWdiLd#L!E&NOl%`NsbJZ~)%vc?M@B6ah3(dTaljO^wigvTmC8A$6g!=Uk8N z0cm2SmvtIYXV%}>XbR{=en2S)8dI|k&V)i8)tZLZJ;86*ANixoskT!apPp8mq&xQb z8cIM}i&Z5RyB*APmZSs+cG%lLfW6Hs@G*${1ba_;0db048`%KSdf*< zr-Me{1KR|C9r8psk7zvB7eew%Wj^z1*f+9vP>#`#7cdz2v(>>iSrr6xk^YSGZ7jg8 ze&Yc~bwCKggCHx~51Y6LqG7;lhG;kv=?6AlI}wkrDW(I=VK(-jZlfN1hh@a49`<9t zW?q|#4UQ7A_I#4K4djuAQ2-RRxfK%~xClvpU(r8J*ZTBv`{dMt<>JWiY_+93W9`4SWr6U3&T39<8>3@j8!`f+)}N19 z(;X3WE%VffUK^e}=w-!mM(_H4j|>mSvar@>AHi>@^3P0>gx?QS-C5N}7)M#_II2Hu zx6|9`tAwtA#)AEQp`}MWCizA#7MKWP!q8V+RSayD{Dd+OsLuXKA5sq?s>|)y(HWe& zT4F6Qr)zLAWMWY@zZ!f;gwgl)2mrMejTy)M15HY{1z=swh;JRHJz zg&stcIp0}Kqj5V+u3B{_*Tl1=l%TE_uT#2|LU}qXP2|`)!c}5=GTl}C!)k@I)MV=yy}s)?vw}Jg6X}Q zXU3g55zwDba!Ai^>lWs>{T~>k{tx|zhEEn!6=3|#%XVpFHDb_bYg6_c1)A3MVSp0` z5LBQG<}cf=PImouMt@w`8Vud}Se*AQRG>*2v=fUo$$+g{qVGg^YdmG)eo^Zx%FsN) zKsc~ER0qBi9!a*N=z#C%{jf0+kpK~_j#}6fUc?)n!tA2=ZT{FB%ZA6p(7oun%W3qZ za>wcCLSPWV#MI9;4qOxojbg@Vo1+C_U0@)`Y9h)yyAlL7>K`m*Wr9a_x5sfA0p~N~ zFu!5h0feW~LC(YS1zU)t6KoS+t`x0s!Z?5*2bQ2FLy(2!#0)(&`<9cMBVs2@vJYA+ z(Qva{(`5y*aY)_Z1M2jiMf?hwYV!`7<~N|NwmuQ}sH+d`mSRsC!Ee%Q*|+{|xDs`;DLa-SJ*N4BMwA}~nJRO!t(LvW z1&yAz4AOE9#*j-x&=VJR6X~>mgae53*%iM9dc!gm`O#{oLgn`DxV$kiXER+wx=#r9 z&^j8P^Trde8A0dAc16el$=Eutc`~~%t|CENv)4epd122Hmy|N2QoLoi2ayY-H=Q)6pvlwqCh~d^xfKtFl#PalkW< zGMENjO`W}g!)fpfa+;9%VQI3 zq;Wz!wXmy#_$U^Z>YfdLjefB3yW^9`qGhwnT) zE#Ih311x;?;?p?x=zDCzA&v=*zdSTjofASi1j&{KoB_N6R^Q7uF3<_5Y_VvjW9O~&D zIKju7f8^+5^10gq>Q$1-&o&9H$2LUUVbI5pRJru+Z8*q(pzF{#TMBfcBJs~pMvG-W zndcY{XKdV#GZ!f^vjr}YTFiXGs#r`(cgVVue=IMppLWKn3}s#FKFN}S;^=6gFtR6` zbR*neZ zMXza_BC&5{9|eT>*o2i+?Zm`RK3tF|qFJvZV;>j4SPI2KI!=bKY-m~K)tS{FwbLa~ zj6TzvdMvM2ZkEQ6HfJ`8MH?H+F15d7q0mxGF$b7ISAPX#GDer}6Qs3MIA_v_=mF#v z=@i^nV9k$d9!nLlZnGYy<2?7EY4K$|XEa~c9mC|?$WDzDiFT9PM(^?9JX&`(7JNOZvqp_D3DAvy zfKA6w{fVj0mks=Ek3K7#G>Bix%iUVyG0V}bnJmcil06~W;>7g2zOg!+XG4D*=<(e; zq7NU8(#yb2CMV!&9~{Sw^L)>8#Rlk>CBBDpc-`S}_M%_=*th?h9b4DmAAa|1zV-BQ z_MCEd__JKt1~p=*qjt<|VigdUK?59MWyO#ixL+EJ=m7spM;2Q*^4t;Ro z0oun?F#f_MS(GSc;4fVJ#Tl2=ef0HvVT>2Y#IyngRxl>G09>wk2mS?)TlYn^ z=>;3)?p!hp%s5*W#CV6Mpz*il2?umqe>ewm!iMLu;E*{-?fJ+Z))&HB;b}=n)w~tE z)=Idpl#4b7r2gs{Q!OiO@b;cSSwKVu=J;9=q%RyvlnX0q#E3J@Q3XiSf|;g-5?+ra z<_q)hLBrqWbx$h^plBb_>P=C4B>jmEvG1IA_|Y6&WgI7Kp(QG`LVZ$UZQkpBtSpkD zHL2mf_MHUC!c`FKBXvsdX&-gtcDRf4@$k5FTx;f>kYwF%2(r0%bxkJFY|7?(0K4 z)sn-8=#oFrPQA?woQSm28zoTKy6GB_s^*~arB9#;$}a83)#Z71{u07Xpma2Bz6rY% zq^hH9KUkHo2D4*5pytqxtvXABi1%Rvr83GmaOc^bXtye`{TPQ)F0GS!2jI zj&u`*_*IWr`e`dRcYUF4>8x9qY!Twys*s1FY{yu*dbPH)xRzs-zW4$%3qcgs%1k%3 zz4scD`kcoL!7pk+Qj96!?GMGH9R<7K$yWy_{}51Oe)r8+S<~YQYQ<&uxZJ&U|ana z|14%aW|wAQJleKJBDyzYHjc-m>tSpzVpL6&c)`)V$CRBq;Pp!|ARclugl70RIJ zdkknq@yq#gIz-da3qw1!phsk1*7aS{2fB=J$GFUzmNhGhDPXu^5KnhGy}aX4&R+2A zAODUYm-AJl{lo8j&9|PNo<6UX!SkPUZtcGiX^Ds!t0NM2T%_Un zfXlos;(Lxij}usqA)uY$ZJrJHegZbDE`rNO-mF`srofNVmh^qClo^pqwg6-laP%QQE-|;SX$(!+V4oV5%qw|Tp#b%RT406{t8c$Mv(NH^q0;Ium z@Za4hP+a=rT&)HR#d{F+cBRq1-bXpXBpEzl$xpj68>v%UO&7hKPc7<-6 zmOir5nh@g_bfX%Iyf(-*_i5(A58+GiFf09{yJ@?HHu@s`i(Ll9YXIUVgo;-y9eX-@ zD&oy$CZ%rMUq%y;#J#ZM;w_>J8b1ZJu{ThqaQA#GIK(PtGVU_HQ2|MjR#$2&7udQ~}0^qsEb!$3C_zD7~u>Xl| zSTG%J)2GoL5x=iAhhu5pym zV-8(rwshuG*xA`J%`gYih-M*4k-e?^ji%fBu+u+m(C;{u@?4ojq0#;E z_x{W`e5QQ%1?8-WlPAECI8Yq!C*JC1QNz+}NwPPW5-$2mDKr}8CswtVAM7z zJvL8KFeXeBDbU-mmUje>YjVOSgo4!VPWI7bgYxQz6~pX0usGI!=LjV%CIL1KeB&oM4^nedWo#{f5yW5@Y)S(^0txYvHf!E$KtK-*G+|7L4E4j4x zW66TQG3Ppo5d$M_AgJU7{^a@f8ghL}BYW(7OrbJ}r4Hs@RtD2=|&qZC@- z(IuF$@l=uU1KD8-mM4pw7K!VWikh9K5WFhrFka})0zcM|9O&ZkS~R&bH1ecy#S>1} z8pnOk10c=E@&YdtGwE-vS&o-9R+yZeu)GsYb)z8-H!yXI&V$0R@MNx^xybYKfo*Xb zhPD=TYUIO@?nB^Ym)b@-{I)Ay)K4I*ydF#5ReH!`e zq>I;Guy88J27QpPjAs=F-lX1`>kvKMmGZWXM7T#=t})kTsrQ=q@NImB7bvbBZLO5A z_GtTmXG0=u$|;Mh0v(W1+iK5(X~NgfsQaZF9ZS^W36mA9f->7_;GWNW$Yy1x!DKIR zyu)5ZE>al4Y;7-StTkP@m}Eg;ZN}-S1EbTtv-*g~79kXAjQst)`Xawz?tDjMRu|_ij7zuE(^kqz*Js0hNgi-+PT^y1>53Ab z=@@n~XIisuh(5-5SkOtFKmp4$7|lCQ4&^y`omU;s_F#NDyZ7a%r>Ec8gJOg5-VA~O z?^!9Q!}FG#;}t!~XB-51#9qwKQ&v4*V3746IN>r+wbXd;2+6?B{_1%7` z`6cI%cILN2y~D(e&x=253LVkKMf!Mk$_q3cghR_QU=%ZhpL}Cu*yP%SDLSaP- z+A`i9v0SEMAhHF(iinpC-n8-8w;+ID70|5?)n713EAxrR@8cN-_K9nycmk!ml%RBS z@H(1$@8(X>Y~|Z_g<7fU_~C9G zNxl0%fie!T8#_PH)mpCN2TTb|fe*=|Vb+VDKxqyDj4AS0IN%)eft^dVRvY}TY;7md zt0yVYS21&0vaz0plI=`_L{S1o`N@nRle$^aR-a4k^%FhnI6id4b{a@Ro2_W;`(T<} zv!qn>2I>Rd=o`)V1J(uLR1vMeBQp!WSQec3y+*IKor~CeAI||TcZeVCBR*J4k~h1`USo!IpbH& zR|8!R;>VcM-@D6r{gJLX9v>IK9I>l7X!7tm>%hTbu)J)Gun?MYtYF9|8pQPV3lhYZl z&Ud;tpN}SyMw^+~Rs3f@-!SQb`eS7iN2i>&8Thks`<$M5Gn&)$Ck9T>%$Cl`dmefS z`>1}#D5w$)2InxcmOBzCTXgSrr)T9KY!A!VHsAcbYyU|(J9{DM4n&x{gI`9D1{l3w z8R0cLvc4__-Pyj7hvcGsD|1#(mFLBairz`ER%ArOIr2pfpnwcs&Pk{OWg2;PJoXz?gLDqMIS#<3K4I4SCGXbTiYT? zK+V#w0HY-8QLUXPP^kST#L)tYQhRpPnCdkb3TX zM|yRfKmjj@6)z`8K!U}tr7p?Rbb&evg73pD?D(?-#so|^Rd4PsFg|%XTw>@K9bFX# z{UUzbf91O|(%5Xgw(s=K{2d)le-xCN%OT`#cM>9K+sT&9xzUmPot5?#hZ92K3P)Yx zHCW|Pr@Hs;4HS@N{{#x9?QIf~yon}fXx5mq7^oejWtoNQx~jCZ{Dtkx$TuJ>JC6KO zW6ka=UnJJ~8Vc;VJEKb56MtU{6!mI9R6OK|$UnyRJMiF!OacdZ~rd)Cl z6DuSBh)ZY-FR{;b!APjz5r0=H- zYRaH%94_os55E(Hek5k<#~MP1OMG=AS_n6>A%mh#SkX%Y!mi`7ov=!5MGvZAvKb!v z;iBPj0%axfY(Z! z1q{z6fr4XS!CdL`K!&6^YO(X3pJ`w{_L)F`F8;y!&4Ph@{GO37MJG_0(}%9abQ+ON z$FlAv_jV;vgljX?(;@~O%tRB~Z%>wKc5Km)oaxw+4w5pAsiqmhIYBH07xCb`-uyKc8G&fk_(uCj3+<#+`i zG*_N&_`Zy2-eqse1FjlmO$wpV%6`2z7>)BKMtM^E~3XIom@xkXz4B)hH3>E zl#)&;PupF#$DhoA36GO717q#rwJ)I)V<~Z55xc0&g<>=Adz?T4EKn$YUCr(H$*oPh z0ned^hKx+rdaZ5v&S+6kSanB=!RU=0i{w^Q>G7uLpmm3t)e-8kJ|Rmx@}uaRw99kH zOVW_?v6b~aH%U``?zCy&gpKfG;7QrocrKNbnkddrEJ~ijIu|Q}G79$fryI>9@&n97Sh^`{*hQe$G+_IU2Dcf=g|OiWSDc6E37 z4qYA$!{~wLLoex1TyMm|7VWnL^u+x<5vWU24HgA;&5(2GV<34^VBR#^_2G5emU>ee zCsvDY)nO1;L`z&w4EENchCztF*}R+x{YU z`(uJ=7$m4NG!70)dqHgljdEGhW;>xk3!Rb9QNDm&Ol<&qMze+KIw=xCs?e}udjrci zTzE67h2 zw*^D81Pc zlq!LO=5{C}jP?l}@o+eZl!41}^kapn$BCr3{Ut7e{KoAt6kN;VjF_LCTxbHtr?Gz$ zWgzEAe?n&flLJRLN5By^1;n7?BS(`rfz4MwCD?Ru;?w*g~iWG_0f9 z9!*(TY;{MR7w6sC(%M&G|BgwZjK)FG3EQ-=0Q8$Yl-UUsD|1mhBm1-B7|M2|@|D_6 zR7Qz!8~C{-36x-AT9dtU)6K#aUUD;n!e7w6_nAaVrw>j(Yk$c8-ko~2ZOwMZwM`*w zi~McOju%iX`+nP6pu}sn`Ajsh*$!M!z88Y-NCv{qv~w;A6u_ z0=uxHUq=ZP!9BF794)|EWE>3I2A=4&Jo&MWS?e;ynb({bbS>6@Vtvut?dCGoS!O_O z(0$8&xv)$dgf-Q2?cvdJg|{O_Psx4r-1A*;&>DO&jbi z-zQ-Q_Q7TPiT-I!4*zlVT+?B~9n zxz^%}k2)>0(Z-se8R^2t ze=~i{HaZrql`?E|`+SUWce#@Vn`O1feQ|{s%_EBCF04&uqB^4R#ZI7DYK{^pf$ARG zs<|R=w@^(A&iE7DD!jsL)~oTM0v(|h2KWriCs4KE|B~r_a#}5~WTL z)C;BnV+^iZ+8jyseu)gqK;1~_fY|ywX){{D_6AocUT_YvCBr%NfMWmcB#n>)B@ogP zbtOdxg=8-<_JMuxzd2fn#%~-ho)^#E8#gI(NeI{d$99AR)eYY1i^`a9G~QlxiLVxR z63g*#LPkNT8kuU22`Os)ih+xnFj^VV|Bix2bpcghiN>9kz7q+fVE(X*gp7sDB<)85 zpANwB2b1S%lkilgux(w&NQ~C4>hOoTvIflXRVxQxcK0cOEBDI&M|N+v{MD6KKAqxZ0KZPmX87Dd9dY zegdT?;6@M`I9S3>7~JJEK7k@F6!D9E^uAs7hI}`p8p}GC9LqWBPY?gWPIz93jN7NL zqk)@mD?ZOibFU>(R&@VhZf%e=dQdOYPq1oep%F_SH=%E)w0?zGghiYGFd&XfexYpB z=$Jt7!i;T_y`K`$!C8P+AD{^V+8M;IPhbzmJftty1Kft>i`uc3>;@UR=_u+!v;q2O z8Oul2y?*+6r;GpFgH!dLCz#l=*k<*Kt>;|1WZOeII6#m@;*(VC>fh_ z*EET;*=%UV3zj=}a5*6Y`gJe%zP^ijypCP@^)Q#Yjl{M3$e&!-qiC7OYGf^mGEbaq zZXM3mRaK1Vl!H7UNp^n$36xH39X%ZK4~5C5GngA$@&V>;MdNXQx2{p=KLtZu2=s%v z@^!YWayBb>A>Z$d6DS^HRR>4O2csMA(-SC*X-c8eT|Z<-6V!MZGmp6V{**v*Ilp&o zmt~ii2XgklZePN4Ie~&bw`ktN954n4HwM+6_``WZlV>kDyzK{m>Nn5M&i-mw+E_v9 zsDgtc|A<8!8vfb=rlqyTfV%C9CQtD<-+@1&;kTp2eY{K*5Zu0;BBuA<{KlBuxdqtL zJ;Je*X?Gh^LdrVl4Ih9~w};rleDI32XmPZie$Wg%}m0 zjI31u+iS3PM9l?-xez1U!R2@zyJ~Mi^(ve)9IHHuvx@Vaimml^QSzHS>J5}gPxPl! z7VMld3HztBUZZOL!^v6##d$=2Mmu?hmjc^}1F$|M0&7rsVX=(Yi}^bkV{Tbrh}ab% zpZFZKKE{&RMA-7N594$NdazeD}wRAu7SMqM%Q^&CdF?hN)XDxB0?jhqyrwh}A2SU$^~pZxna5a120n_EhxNo`+8DD2POeQbd zQi&J7?P~2ygsDfsx;_bXjH1CzFL;|7NIy3EiZV04JI3yKwr{1KOMe2T*Q1yySmi&j zyr){+PZF026pVHZ$nyp$A#uen`S4R1h(q84sUzGt8Oag?C}}^y{O`M8RVke zLWT=B>3Frln_1Hii_U37X&2r(bpuvM3*|{U4X$~D0Er}Z5PZTmUCJQ%1B2e~fVCcj zhF{{z4gi!9fdN&?VSX|Snm#_0_sJz%&#-0E35vkFK>H)7#>3W>w{4K_^A{WX4U~zK z%RWWTdaLW8nllYa6!VyFbUlq_Z86qfaq8fqa;P|SARblk<%ZX0-Xc&0IXWd{?g_vE zHy(o~*dTc38G@1G19tNii3rAdq#>CSR}i)9^Quv4w15*9j>CaYWTO{ypDi0Y_+rfJ zp?7*uC0353YtJ-aHR+wPW}^vAnS-`gW+_09G^8sdW)xcZzB};|w7IJt#5llumSI?! z*1jTpPpmW^A6ab7rIE);HhVZUmPW8%ltZk$m%y8c-+{TRW!LN4!6bpgdT=dir|_Qy0YF?l|G=|Qz!xwcZ!CR4Wp4td+Qz_vpYsUJ1#H?_BP}JC zn#4ywS3FM88+`hN@eNN*C^i@wGVswx(}Qt|Hb#2Nv<0=cH+0aEga0x~?yCffiJFDv z99@exa|lGE^EkWU%eYb5r1=ATFuc z9l8))&*;{dfuFOI*g_x3u5B0Vu9_}y!_WxCx{rN9@TzVzgXoed3+=G)rW^C-M;^at zTF};Yn_U}!Jn6)hydQ$D5`@Hr_>QDc@HUzQopMaob0}Rz0i}30vw|uH!3|rnNt#2>0C7fs@_q7 zwqO?@Qc3RQl8Z{cKtbgX^Jts>#3Ix_IIWq`EJ8e|%^1^&;Tj_}`J;$no0#~IWBKhG zVy07Ywc z$H=?PktYOCwc+VSA3r!P!ebb6r3v9E#t+MnRTAN6gXkvcfvq4f^jD^6V{VgOT%W<> zO~c~EN;h1Kl^30mL3D?bVs0HTtLvIT-s2nq7na;BdC>M=%PDLDuF|r?NJV3+ zQ?h+bdX&(GQl`kjc@PrQDlJ?OHd8Qz5mwHr$-1U%h4aM|v{)@j3@DME*tBrZnM|NC zZ=&u;{vsJ6mVm@5=}y}_nHrDF22s0i8Ur3QW&40{-_P8U5=j&gh;>|5P-c4rWmFYx z$I^JZKtDIkB4;|IM7ABnXdy4Imc*oM<99nwbn-|X+Ccm%^Db6IbhE=2*$xZG-j5Ki ze#A^Zg^%S1obWv)YH7Ms<)7DCEL@2zO~DKl!rOvBUkDn^0RCB1P#=@hFTbt`l|^P zY|Pi~xRBlYmn($1iS>Cvs}wF{Q=!qkG!{NF01p^vOAISrp}ZfI#E~^ z`wckZ+sFK{!$vp6JTo!19Uj`d0{CqPE?hW=Zo-CCO$Q855J+!O>V<(mlwyp|s9apk z09x2O6eTDTS8M+2_f6#rP56-Y7_^dw62ke-f{xG*f&+rfZa17NzJ%?}XX8SJOu z*kV--8VkibTG*2X?^h=mtj(G?ut)CVgkP`w_594gCQL)D>Nrn6t^5X~ZmO@^Ilzon zEI+~@arF`UoG5ETum`#?T0i>kw9khlI@kepXF^pele$CE`Xt-??0m8)t``L3|j zO{AFs!@(mJ0|n*T1m>MRdJD+DO=PU3x7O?0&M;V1>#US}5AS^8D_m-wHZ4X&rUjpH zn7io<%2i@-3zw~;2O<8B42Z)(2bG-~Wc*$cwD#SzW*%*zPu9!L;84T(Z}@?(S89w~ zeM*Ug=%UicwnGamq=;dPwnU&sgRmTMT?=-=_;CvYABV}AVLWd`Dthdum2-}&_j(6u zq#4sUJg7!Qq6i&1!n2)3Pccg!(qA}yD)Myomzt#Ab`Fwi3Pfx1MH)7 z7|~NuaNQTuz1D11?a2prn)+S!eIQfk_U0}Xm*8L&S*Vula!^nXCiCX7KP@y+)X7Rv zZzOwhs|u?IV1KGa(nQQf#PGFaD*9VFg|Sj*4p8FN(LyIb_?kZ>ZEFZl|Vt=#d-!3m~vdR8O#*N0ItUSG%jIpR02ivWNWTkgKn&T zU*R<$!6Ua#2&pHp)rv|>K%ix_YHp8%!)2R&uBvvFEbT`H0erbV1MR0>fD4)qooTJZ zh|)sOd2<966(n$GSLiezkoxNM^pp}4%oqKM2X+Ah-6rR{F$J9n)Qbw56E(PgGH6V5 zgXeMrtJ!IZU7L%QKIt2Qc!AC4ePe+<%6$lA>WH&VB|JaIy#rMC-&hSsrFk6YG)%x_ zoo><8>RGqhjM8xlsRWF)U7_p9fKSKCn<)WJA`Qshl9Sd{2>x5@UV$x=bYzL_oSMI= z=@4nQh7NARVZnD!#H^hN42RkhN!qt$g-<)~&~`Zud3>bxoR$_yg2`BC#w1=&jpC!n>9L+O9ux>P{>=x3k{ldZ zF`_6akXXTmo=glxSyxmX1_vY$bE0p_RDhlg z(MYJIku_M+r*_AGbBdJcNAX>IEgUhf5RjpwZ&!n0p9;`ENKqX($wNwHSytrFbspi` z59=U9wkvwJt1RRdR+UYe8h{#ff~I3a=a09%B~KUBqh@~ZQW%xNWmK(%$tkC6lG=(9+9)h1yj$e}3P z*@{6GeX2lL4e(!R0)=gHzx!lWNVT6r+|u;3b)122c=a1hPI)E+Ob||)BmtN~Pm=FJ zZ$WAMY-OY42r4j6h#a3lSy_Oh|H$(ii&BI?$c}Gug#8xFT?z4QncE6GZ?D)57|Orn zxvZ%bZw|hX<|5ymy{(2sQDSBN;GH2wB1V@yX7;OnqrWcg{x}$H)BK}p2Qs3PsWINOWb{<(Q}FCOdr1b zXPvS`)HQYs*Hzlkfs+IgYOXm-K@7oeoWM;`lLX45A>y=PfR{qmE3uj(=8e z`h6Hz8#7;&K=FQOJ-gsttt3aZgFGFmhqL?JP-eD)#s16GhL}+*A9VW`@x+cKtw(Ph z@{ku4=51vH!GR?mx3#^`vy*GPsluL&!Cw!|65@8ehj;xTCs6ca0jQ&oEJ2{V2eoOv zcJ_rCA0LJ^-AX6BGKjoaR+bgov=U1%X()zcnXHyG?NFIEev@3VGJvv1K`dexT*98v zjx-%~5L_+hg}co3P!FY?;B_K;mtvnlfdfX;N_KMVCL0=Ng1G$G#zc(`ONKim^~~eYx(Me!9_PX}Rm4Ro%xxsQ=;rwb4yMx+H}`b{rSr_Xi6C99hF@7T z@aZIUVl9<9iLuh&g_Id3P^zTLTMZ3Ut)4)sv-23T>EG^}E0^gbj>h|PLGJy8{@lrt z7*ZSJgv9LFE!GE{VlD`^Hct&_MWYBV^MU|YnKv1gc18BWdeX6rEgz*%nXn^TeT=5t z_&pF|y2usbH2%giX7jtc&WIz79KSv&GL!{mV&Q4C}|2od4N*aVqpOq!y z-UNzvwB|9>3r(O1Uq&bxjjWW5mgL-P5R{4UlzeTiUMEZ^wI?@FNS@LQ7vDE+zplxm zo}Bi6`~-@mn$@6N;X49(i~ zM!z?KQla*6$OHPnf=--8dU zye~ZK;o-v>)>e+C<_2{v)+(~_4qJLY2^8oYh9eUwvF~R4-Q(r0sL&N`yLHdPAY_rl zyZ$94P%LA}hWVS*x-hD6?U($smB%DX>&2AW{t0iHw0ia36tA619(DJ0bp$A};??n; zH5I7A{!h2y3o|2tk2_)I(KBrGgwr{7hbZ=M`}E)Hfa2S!gOhT03NDSre7nxc$OGZx z5v*STGeggqO^2|V#=0Lv`?mP2ZHM&IG{HIJ2@8N2+O<3EdOSs2JFklZ9s#^9ck&L; zvE*!R*po+1RX~##gW6mlwAMncM3IKZ{3&=!>SOir_T2TirU$vb_U%)5-5^VIMz^0w+|i6O_#W)8o8KG zH4C%e8j4Q;Nt*KCwIA5o{T&IEb__*`p+G~;)kmb~IaDrq!rM8dduVQa$~$WE&p zTTwrO!b(aecdY8-R%5^R!V)MeItw;9iSjvqrNK{2*`d#RSSq%YaAkPwTo4 zHfLw$bhb#4E*2W7>W4QzAU>S=PTUX&hV7c^zB_@!ZU#I6z1 z>oyHTPWY$eH>{JrUF+@RydrzD=4$!-O#-FC7y1t*!*U(I16+}Kk2rZ1GbI}|1Tikp z-)og@0)^Z1{U3ForH~J6yI933kHEN8j*fG9*>j5LqG{Sb`UJ|%_f%XSDy322c}bIb zKG8l^2pVAk+^%n#Kq0ba0tKMh*m0WjT}h6tlwl+7Crccm8uIt#^xz&{3@S|czhW%C zDxM-H*6mJhbn8Y6(ZRD%pjg19{fO<_Ogl1eamf{IZ95CgGIEWoi}davdU+3#Ttt#W zYl|mYofIuDs;qB?iwvA(?|$LK;vgj>#}n@^)C|PIaY-oAj&(?+aTduJf4yh|D1zR! z3lxoqI{ks%XBN>_m{cP*N(M;?VVIpjw@fH>jDc@-2$fKwDV5vMt8m`I5#trK0i*FF~AkkG-9jzhh~r%OCXeC{f|{5Yd;*1>M6H101d7(_O}l}{ zRO}gS76<~+eSdQG>E-}pn$AzJQdH^%%ssutzAq41y$>;-F_hn^YoK_!Om3puV8ek6DXAvni;bI0G9|}*|n=4A=2!FqJ%ktV$A_R2nvj; zHI*HQ-HggTjoGDf_D~J>Wfn|14PaoVU4ih|Wp+NRdb{r;YCrs)cwe`*D@kI_p^AwO zH|)o6XvFG7d|}<=A+|0T;}cHfcGgcv?N6XAfiRW-84jePXc@E4e|z{1TSa>_6U(FZ zu?Jh=&+X-#nNKmpy0g7TfrYwfEc%kXsQFSl30nuaNMb1UZe|z~3;gzv3U8;pak5ahEo2)bvU0&dy>y}w zL~kM3U!g*bQ5_Sjw0)A%&U8f!@*@6MErx~Csx5d|J1NCB zS5PAbA#V9lPAj%bxZ+<%S50|D7z__S>0=V}CdQcq)twnD;n|27_N7j$$Wk`Yz2?x2 zONsWq@pgO)KaA#yRb&~aWBZ%Dj)*Gk@SI8Yz~QIf*{)&l4q5|sXmA%cyk4(OK7 zMgJm61sIG(TIFX2yn$0ku_oIlp%G(H-itA5um#OnIkXGq499jl-@p1R4@`5&g`xpN z=SF!lg)NW(+%BuvJUJ4!83W_T8gaKmH{(P90nmzgmC zmi(ySw%s}osXcFKej5l~{f5Zk-kO0z{b~l+n6=854xWB;10<>hN2jorG5UYs!0L@^ zS#qcpsuk3T4k{oEgvDb3#dzAeea^r=br4}Dl0i^AfHzo_-v0F2wbb+?>N<3B-wg;HI{__GvwdHP~h z=9MkPAyQ1oq)GwKf>!8;m6PS%lwfqw>~M-(g)9mkkJ5pT$WT~(U)4{ud;5pMh$Ko= zG@%t9X1tdq6;heKazU~SXo(+s!M2Mb41v_cy|t_B3%6IZySMW4G3j_aM#D(mcgxvS zHfSPp1JYD>1FKzvR#0bWl8|RL_YiCXyLCj({jLn-o<*r#J|5pCr~ov<4b=Vt;|f|_ zo)DN+M2^Z|V;OA3+a~W6}gD#_DkL-y%pCdc_oInle!H#-&83td~+nmAn?s z^aV22>CtA&{4_fk`}L%}HFM*`LX6j**^5`!*g92Roc7x`CmX~469u3!GV;O9(5Tun zvPrSbK)Lc8ulyHzOq%FvDySu2Dy``!B)F@tcZ zNrnm7nsK^8gL{!HBx{-&8)i-X|`@swnfRb<)I&&q^-j%hU(Z10cm{;rw3-3;@J+ zdw&?xoN#^EYY;GYDD={kCKHah5up1CZh(hp0?mLXQ;bi!+9Oy&MVQ+{i+X%cxBPLp zTBB2g*@sMg@_W!X@&L78TPxqxC7G<#*@K}g6Asgs_ze47U~Yf1u){fL6KXU*iNnk- z1Dn;-$ACmc03-8&>~qw?;znagN@s@V1OOjaJ+DPqi|^jf?a#MkzZC+U#t6?mf}+-d zlR;y4uaOYZ(5K_dzUh8NxV1QUO!4-eVGzuqT-@t|@e)d%tHVyTfj_5D+nlj#nLyWu zX3RIt1M}7?TH4R8RU-YbH(^$UnL+R8(8K1!*o0XOHRAz46`fMbU}^|PYQ*&k=${Xt zFiVho^4th01L7%MyIlu6xheYv9<5zW1=SBFBjf&5BzUTy{DS)ZdTx}#A7XH1{B31B zSBNfGu|e~(V*-QbBg&3lxT64Q644v-@{i~m6=5&&3gfO9URAFiZZYzn_QUAtP!T?0 zHQdU_)|7Hg%Qw}#*3FI#s)P92TXsgHFld}*dZm>E6p63f4(`kFrHD2;XEf0?*0gH3 zc?}t24kgEm=5-Hv7qXY1MTO8jKh*A}sy<0(;<5O%r2K&wos)y)yAo$~e6$Ude1PhT z;rtB7@a;jeAfn;rMf!o{O;!c&Y3mbMH&$a-6aFbCP#ssuA7d)o9`ng?D5MZ}k7~3j z(V&jUdtlWy8v!e^BT0D2!Gr-69cb_5GfS!3kJW&GRiEg6rCNdf%+an_(%gXna~d%X zTqB@)bwN-L$qlT^&olL0%j`@mr5hMUg=3Y)8*QI3iTm27C#z>yk$+Bv*MM7KEcD_AfjX z0RD}WkHCtrns`#d5c0~hB9edZhs#kc39?Jnm%3WeNGY~c-DwPLL3Verr$=FI8$Hcg z+lo<;Pvd!ruQo~$QK1jS?*wX_I9etd6W&}_fkemQaX%e>OH3O76r^5VE8$igNU#c_ z1s6di)UeSf@jG$_Kft61(nHRq_fEV9O{z?nE&gB}J7!l=zXrc4|65GDRE?3hRQm|n zg1=T2$teL*cT04}g~Q>j#4TE1EGiiGbcy#c%Wx!p0TO?@=UdljE7(c-U%pMIUj$w+WnNaLJ z=EQh4Uo6t+F0#BEcoOZ+vX8*c=44B`0O`Wf@KIltcvP0H)SUf~l8Gio6vM@==kYJG zZ$fXzN41?_a9U)~EPPq+i}br#5fWj+#FZx|ZVYW+%M!q(V0IJ$dJA^_&XRmVRe-C_ z4T~7)7NkE(dBND`KmDWrOMruQGxV@r9@pBk1_GH1iMm9Fo#G2}V9oJZ5%z4|7&+2p z|J*&L%d^aLH*wWxL~pcw>g~UNRwE*TZCrb|E_r9p#XM&ruH>_lqcZ3FDNh=AvIx;h zZvFEtKMs;rF=>Ji>@y3*h*I~~xqdiO5tW#>K}>RA%N>mdvj|=|CBE83 z1SP@L-Zbn@TI+1B(4{kn2F#)zj`SfUQZ?r5;HvF)c-e+w?x*q$Oldb;sXh=5WWVEn zBJJ?4C|9FXu8tm%nhTlHLx3FgFZJtOWY=JUOUUi-lg+(ZEuN~k0>U~ar2*XXh&7Np z)<`gEPN?MufQ&Y9xuv()@iCP*J=P1?bQQ>F*iH}pOrs^+2AmC6H_@M+0(7&4#ns$t z{ZWP%3fN^9`F8LbrOhDs75Ix67$DeYN^73H<hL}bJ?o(*|l@Dt3Q>pg= z$#7U1zoXQP@`sT_J&AWV0->(DOrLRZcRqJiPykMAf9A9RThe}Xe%BY5)$HgX*rC~i z&<8z|SIly2^yDcr9JrrbhOW4^4Haf|;f2^%&~a*(6>|iR+Mm!;WS^kdqAn?1i2~?0 z)3U*=P9&AjaVfVa<>8h>FpEiWuy2t8j(CxqGS&=NpF_{ELf%nBOi3J;f9Y}^bQx)w zMxUi9VTe=9&9+b^UAmI~0pa+4Wo_Nchta;{X^)1$gJC)0Zs3t2bn;2qp?L&v-%3V;+_v=7y!kQjUd3a(5 zNik%)OiO?(`pjBm7u49?&u*Z*eqql@*ij5@SowHVCFqLQny-!8sAY`V6d-W%CC&@#DS7mRYSUob4%UJeiM(svd9`;-wEhm zM0nh+?P_13i7&k6i6ds2boGr+-Nc8M!k@o?3W3*87U8uB`Jp*;Unqf>TdXLoILie{ zx5>xp5pUgOH;`1Pe{Po@Kq)1;mxt)DSgcUY_2bUzB-|Vn~%jKW1E(3`T^IJ7QEjZZ`X$W!L=_#7_%l+rWydeGKpvV@2 z3UrP7PXJ3_NXqpE7dfwRm`PU{d!+l&HF_7m9!-6=!s6QMLMH1BDu3lU#VRHj=kf~? zan6Bv0YnEbyD$LFz1eg`Wi#3`hZ-0^SirB$YG8@5GdKvpzvn3zmPbs7 zz+M3FocAY^l1q_T!_9#h&UR7pS^#nUl#WQ8QBv4f0l3T@s&rbT{ydL?oqgEczV{fw~$y4lEU_3j>nsEYUVhk?t~+cg_TGhRUa}Q0l%tOhqLL z0g?^(c9|(QjCNSo`YO>i;Nu(6AfB-5ebUhinjn_&e z^rr-PiP_2UZGlNq_`Hx$~!OOpOl+Sa;+QBw9AB5u|zMG*7;*bAx@NF_o!r zKyrdA%Y;8@{>}3i_C;9^_+8`$`UO?~$D16l?e#d5^>v^c`Ums*joD>ChC14y&P{sFEzKf$-MBsiL3 z!SvwxrIAr^;X1Yag=ogKfAjLyc@uZDnFNE;s0s9Du~4Lb5CLj@gHaycC=GHySO%IW z%Ew5~nH!5X*DC8mo>&)pd-n6T-uJQjlLexdGVDRu70{E!mvgynG4yR;**8X3s+2x2 z#_1D5I+he51T383iNSEhhKTa?<>+W~V9LZZ`qwypjzGX5)BbfYR@v3~RD)O6Kx4h5 zd`fZIrNU|^#r@KsoC76742qCEthggv5;n))SBC#`)Z9|y6+C5}fM*FQ+_cnP;=3V1 zcQLHzuR8zI=^fPFUN@&BfPM;lLa1KcfvPhQq4S5d@)ub>Vj!I3mN^d4J-p;Iwth87 zZH=T)&J-!Y@L@N)tfG(s0mx)H=}~Oif;Wx2M+h_fEO?+EOzCR0qxcCKJ9_kPo;DV} zzGDB_hXon^3<2xb#EiP$(7HvRDwEuRHKR0xNt)M~YF2l~NN{#ow?kLfO~~C8nBvEZcEqvebbod5(SgPyp13bQ7O{ZGvhktCR4xZ`$=s+xTsz~L+Gwd3U zB;_>eb-rFn4@{Xv(-^R}0T5A4r!=KrE04+_Y$SMtA~zjWV$QycJLj^xza$~M1lc`A zaSl9ovrMmDRx~u8b3k<=xMa}^@p^ajn)b~{J6lJ3G zK!7WD#M^ba<=#Q6m-FHh01b{oe^nV|{lY^~de0IzjBH-%UfPClX=1UT5egR7NM+2= zyg(O&5?hSXZ|M=W@|0%=U@?zDx*n=Wx+8W-dw>ZYinrXSb@ z`t?AR%WB_0!@wlMFtK=iQB~pP$yPHv+U`@!1blxZbTZMdl=lq}&~ke8cL?i*u5i9A zUvf_ZjwP}fwE*V4TV&S7tyTZsWo!o3&z8TI&tC;%;k67btdMFP9Nu?&kulm%7Q(i` z7Cza%FAg#5%=UO=fWK;lA@}XO1Iu`ED`QDNN>x_^!l3vJyGV!!cxc5b0G7Jt{n*e! z$9jE`!uTMG?+ix96I_MxL>Y>_OJs_rrCBVK_SArHerVAR6vnT7(zQC57B)pNBt&{2 zXF_Xap#6Xii>r;ppdFA+m_J_DG$q4qD&P3N1Dzv{r_{1LM6rH#gmXT`jV4KRbr@U0 zCr#vGMP!)p76PG(yqy$X_LE$=ZN)pk^J#p`KY%#$6*LZkX-FU-3RE+MwaCKuhY833 zzUt&4>FYoxtPmVhpzb0jrv@(%S)4jAnV*_31GFE?uva|k4;M*{!(He~psxpP0HYv!K^L*G@K*|8(Y^rXmZ`F+!t{f={oPg$@_uY2*}I&sE?Qrhm|x zqb#1(b0JpT0rA)sK6FztpGR#)z7FR(V&8&Z&6S5g?k08xOuetof_24dH|bKTaQ|{I z%F}ETbNl-=uxL5D(BqoQn5}hcEdvBxL7}1NWG(GbXi@o-jn5iVQF(<)t~<4kb5L9L)oN-oo$; zB|?XPjz?sU(UNZUuX;Vc9-`%u zCl47@xnpTD-`FWzgB!yB?7zdOg(dfIz5J9LxGY)hVNKeA@zII<84i=07kMnR&h>{* zD%NjJj|gpi&9L#i8hxuz*7}`dqwm5`;m?A3T=suJ?Eg+Ir1+xiDlX>AL2`@2&4w|Jf&rJJ&8 zq4-=BY8lt_(CA3Xg`g5uR-_V;IUecU*z!F9EXj|rC*^1>w|p+2vYpm_3V=UX zOb8I86kKfGXEIPxeY^H%uAR6x&psG+fLn2rF36Dh311X1Rp~E#v#(_10=(yp5ErD*4 z*A_EBBNLFDYe@W3_1qy%Do;4^m5V0doBr#d=57)pI4x%})#lTQWp{pcm8At$jx7VL zw%68pdL3&EL4mpj1ClkxNmV!N$#K|A`QwPZQ2DTZMp&H~cb5euWv`a`JrWK3b|*G} ze%noLa8eFWoO8#!4neF{O?H*2A_4iJKLghjhs20&e$7B9LCoJo zO7Rw{F72=2w8Y;%eMORTQd6H4GHzXxbt61*P|x97DzCM(l|f?kF=PK#rVr|c*HFwf zy0rT!WZ0)9zU>}2WqSjvtU=7LZ}s#Eg!l;gRmb^g#|=?{6M`Q$hY!$aVNEQU$DOT^ z!aUB7sO`f6z}T;!bbc3cRM7@z)k-$39O0fqXeRg**~&(Lzpk8s&JY17Fq*D5(pPKf z324C?F`!GO7T08d{xP=`wHuqD?oCvr{N-9AO-dLrZuIPB91QT1q}<)^P;4D*g$J@M zCZAyVj-?&ajPzuj z>AL#6(NVL*-@n|a?v#uxU*P5lXHqa}DoU_b(IxOOX`H{S%nC)%m#eirRp_~e9!nZn zP1@Nf#m^#5`=H&m$gh0nsH6tmnUk=(6+Q!q)9o1M#e%Q5d3LhuF@g$qb(hQ>RVLIq>k6_B4tw} z(p==OV$D#`mST2F{n_`(lv<|iu&f2$4#<|7zq*RKv3cgL0vyHb197OFLsXnHw#>S* zT1HJQ{rWF+Ki3=}i;_1ogf0H))l}>f{fJJD-3X|kX`6eaOhqvnWIWhUOz}50WXG0Dr@kzlKQ39gv}X|r16N zVVv;PkZ##M-pL1p$eNJul#2nR_-D=7;1~@*CWJHk!@pYxVcFV>(d9z`x9eWvjkt=? zH6-@uosV{Dpz8kW!qxtTwgDFc-RYDEb`Fu2WPez^`3sW&UK-kJC*qDFX<+!0c*MHJ zcf>C-Zcm^i_&jh;ij3*YVkJXZ@I+>w>&5F%vD+PC4>5AB8KI?v@W5dsSU<~DfTA!RMWleyS&4pJpqg9&vj9PSZxoVFJ@iR4Gjw$je*4!aJS|x@{oT@&_dFpFq6l-0BoEV7%FY+8>nK>KfjL9zNJxIbnu;zKp+Af81Id9QMT=>_>vr$Z%ep#Fyd`EEtjDj#9$O*gs+@}EQoAtrZ#JaZ- z`~WTG>#G3Oc#?+;$qPr@1jr1LQk_5lTMJ+t1CIVNwn}wt1i1md7tx1I6{T`vb~qW{ zDmbAUsgOI!!-EtgA-XxhshclPC`Jf#Qay0QbS~WXS$6TGJL6utgar)-f>vBrqkkIf zV1&9zCpwiAKIF%2*m9af{Yr?-RPS=|decklk;Wifejz<`l)}|ille07y*)4?w|?fMF0u+E z`3c4*6pOP-NjfHH^aN705|%kB73uYG+1-gUeKOWl?3XY9B$J2Ho{NZ}DhBFkh-qlx zU4!CaL1pqRY?Y3Ap%!i~9(p%I5yRrE_TjCn4+4r56%mt5{*s{Xc z+#MAF=sak~^5n%VV0}VN5VH(zM>JMsmICYJmHJ_w30vho81L4`$O}_!SMH3tD$tDL zqxp$x`~!UCcUA@cm>yNJZJoMCt4;70<^98Tn4>9q(t9^)A+9*#6Gp0C6s7}QJXCt~ zl%P#?E*@&5`(ahto1gL|Sz+;^I&&Kfj<%>pn>mY{SAIdhZx$a4MSjyigvTRROxd8T z9sh}fh_qAqyXw9h*^xmXGY6s1xL;bu7RX>_S#t zupJQde38wE;;MUcM4ez~6=CM=RJFdRX<{_@MNs`R>c(cFZ~a$aHY>4;>%ykUmvLGI zEZwvEMZv=@|4&}_r*h81kU{us;0+i95mB=*nHNKuZPco&@eRn9M0HaTf=8`J$np_` zm^8{DI+ZW+2*_sz?FJY7z*eO;`rp0~L9@ zoe39|u2QBWi&dp4*YF36?-w|)X;jbfEKXxuQk=~G)2Ti)R-wapiI}Hr>myXT&g?sbw5g3TNez8^Iuk~4PD)@seU7}Vy>VuBNe->yzi=FC zR?=Kn0M|S9>Rwo4Z@=kaptVO6f!K6;NC`rR7dyn~%-lKCQ*^?`d)!!)trEp4f4`WP zZ@gJud}>$#$>WWsKurovo-uqyd9oOg`|)_KklX3Juxm8rI(n(XC+=df|N71O>A!Gb zPQ0vZ<;D?Yz{e({^NxCv!x8F|KmE}1(>6vrcd(1;YOa{zY#GSEgZGX6U6K-Dd{Xd@ zGP$OGS1>&qlZGKhr!2lcKIMg+P|7i+i&}T(7u@~{SO6iyhltIR#NF9Fv_Erq<)d@J zIX{auXNFHs&OIZ!gqmvql{Bu)Zc#~)<&G6aOxx-heN2&T+1RU5GK0$e!@gdR72t1s z2+8Df*QO86ufoADkGOV=HRX{wM(t(){%8h{AGuSQ6hFMQ*kC6@!>L3h=IifQk+`lAsz8B zhKTiCZz9a6#6bd4&6BsP`8O+^na^i6B@OaUez=h;Zr<~lpnhI#8(_5KSIGnx2Zbwm z3$g4Ilc{W7duV0K>c#hH_ONB1+o<2g`L3lx0{goxG&f5XB# z&dQ%r+2^dM&=P<*_q}E{jqCLTl`+;fviGwIqFA zAJ{H0swoDV4so&l7B5yE_^fBO(cM6V-B+yFO<-@Tz5R72X!!>AjNr zDK;{#{Yl~lUcrWIkGRXD;)G=R(ni88X-)4`)J~n~`z|v=u#>xfRAH*Lg<@V-&KlXL zG!7hDjXJHU4Yd>t1$0nObEA=z&MS!8P)B^M~c*}FugrEVj)V9wFr zDW3}Ckv2xX4DGF9^#@KS-_Bv1r23eo68kRtaZwDZ-9KOAwJBXV4gN9QSzQ@K0gz(T z%)j{lA+P#Z5D1|iulvVL5V7QK&m}zLEy(+u*5g}>Fi#F9jY~F$%(78qxA+%IYy*2^ zt9FSyu7k+7t!BFHv}#VkU2yDL=~EB1V(||O_FqrorJc(2-OSKR%&{LrDs3#Fq9^#}?a~F!TT=16U%vBk3e$Qe{ z0l&@pmrOr|U5m74^tgh_UxzC@R<^TTQ>bsztl_#l+|H!ix5NqefD{9yF7y>#Io?OP zIeJ!a4k6wycI`y9eB`Gje)@Xt!`*;Ft$c4)*U-J;rMD~SNx>qA%%6+eqJ zwtBH0DpUq#@Wr^g>h7HXCG6;K*@OTkojJ$+1zjh^x+^-w~Y z8!{OAao^014tNzK#ceOXO!3Y$R~-^8!O8PAq~PZiWXheso3qXuaOAFuE9U<25v5Rd zx2e4?I+*z^H?OEa!o5uDDMo=&5`uuW7sJ^xj#<5R&O0RFmr;Mp52veVe%kqx`QZ>H zoyBX>A^J0~Qwj0<|COyW$|k$g?yui!{n4&RGWe^E1X8#g1cPrl*YxXUGSq)ztD(n= z>M?78_*?nF$p~t#x8P39a^5$5ys_uE4-!7V&sj12{%pUZUsGS)S zb&w?Nu)HLW_9?a-_7}%xMBy=A)GhCTo+O=ar+Xh6brr~8mojo=?)ADyyJEq|W}?S} zGyX+!C$fbapgSBhc%q{dqI@qEw#nh#8-;P`o&`-LD;Yq@ogo^*Ud=7>9<;n#IRhEw zdv7MFBIte5w)eNkghQy=G9vQ3mN~u{<7I29d34wmgtrG3ULR%es*48)O)`Dv*A_T4&sV8xsSx1}`c{)ps^!*ha3mYcK&mx7W0Tj87{K1ZeT`cS!N(Gqo zl}~E%k=&tueNw)Bs0lf(ar~?7P%mtVICU45HI!7K%(CFu$+ubxL`o)d`9SAYv(bG| z*$I!53M@_cV4Va|ogx3J4np*!HFIk(!{p3;mD_NZDn4h`eR$3FehxXhKyvZ?F|)2t zz1=TdnTp1S^*Dz*Qfff&i)H92as}UnioC1~SGUL_tKW{XwX`weQF)BDAop8Kxs>sS z>*`s?^p)zCEWw`vai%~KsN#WSHJS|6hMxl%&&!-?Ag9=VotP2wJl&@2MW84Bo4G4} zIvNGH!ipinQ`1M&(=cp|QslnB-38+i{}m5->D04qsT z0}E)$?z~$ms_*{WLU+3a)sQc52PO?mGx0TiajaYOm{As`tx&FBgD||cVXUx2NC#H! zKoVtTQ{+CETfxZGJbvcK;oi6%skvmR^7n?RvsDZlHoP+Lx@=9p!v&j0f@_Iytc?lD zk%6U9(1(mO`chE0RfXpgL7jDAJ~Ox6o!t3dWJ#avnP>ys>-l0%OE`&;As;M*J4R=F zZLgo$Db2arzY5LJ;rnCCUEtnp$NEr284o#aD(`(B?jpXb2U(ZzaIlV{TY2Tb1$=}( z=lK)}N3^@JN@3R1ehZP8w-;icVo*#XVQ3kG*N|<$MzjdK7%Gy$elzvA;33!jIod=c zmk52`v50^*-DmZuSKF;W$*{HeXd8i_UN9l(NI6T`;0Y9|xy^A9$4Z;7D~j!%mnx%& zxZF9X(HM^vtknG*n zq;G7rb}Y?`!z=eiacZ64pA1irJ8aTgD}7dSy~v|8tMhNA6Aa#2e4=PDXG7u8itU5G z$1@5E)5021rD-dgZ#d+lwGDWO71IP_mr9m{#_$*W`dR8fJSI?}>)pCZz-ja&ffsFm z`ES+-QbN|QcfnO&*~$vL#h5MC)+UyoAU>1Q@l#l0kDg>{HKNKCYJetYZJ?;LFyG^q zfs2gVQJnH$apQKY`ud~+;8J~q(aP`3;QQ9HmvgUm9iRJVH;^392nA%AFj*}8e|U7} z7(z3>-{2;V2*JF6xMk7n`w{k~F1uma4{ABWOJ6z@OrBaNwgQ<0>04PW3}ZSBzZ+XM z^U=*>kdp~b2M?QRE6z=soE`zzJ!YczZtWg-z!`R4Cpm^}2ebdQBx0L*(3OoRvLgjT zk9&K0_xz-dOe;fL`jTsPdW=0&S;7|B$10SZ{@`icnI&|eYcT~F*v_;s-uODN^KHi; z4ne~O;AOmJ^b)adW;Tq{MGhZaQ!0wt^~^GjgeO3 zE!<~$u+ccE!#xmqP(~#I9-)13f@vM__9$ag%sTLCe5b`FEca2zAjz8w!!>_=_jq0z zsj~wbHEoUak$fr~qow+{^$+@bx#>lsLi~L7UaRe}kWy-TEP8Vj@EitY{pf9&tGwn7 zrHE)=Eo&Dwye29l6ukM1+eQ6E@=7J3w^fI|UDh-zl05%c&_g++!Y;3qHkqsazHLv^ z_qkz&k>q(XNI%I1^IvwR*e1lU&OkvY@usH&Jw4*b-$J4_^9YHev|y}oAXg9u1@F-J zrP%W*><7n(&6tkTEJq7TbERbqGFB2(cf=_jOL zG>m#5;1jt#bwi<}23%%gzA)JxW0U}n^Kh?NTCJmNcrJB^?=JYxpME@6<~%lm-&SnB zJ|(c1WdF0gqUUXY`1k6~QW7TkTR9sjWl%#z1*oTmkkJ-Ax=1uWNp>%IhwYF8o`O?) z5U`qQeJZQnH0HfL8DKj;qk9t0Lb$e**zTV30|Ar(Cee;^AXl?#mcWEd~z5KsBy9M)Gu39$X}^|n!~G$V2&n(f96gd%Q3A4oCk?6WRDl%3mC(bS^P)T-8b-lw6Z&#D45$m^ zM83kBaQ7*K+q+xM%fV`8g?6F!33pfvjFNc07irD-FB`=D6FC5rrlAvCm)B;ST4|HV zL+7sCR5HI%mNq0q_YGOhRXnFxtaCXv<*|0LK~@=gS-L8TkoSPu*sg8-itcAbMU}(iW>ki`o63EcQDO=bh_u6q>=wAfl=7N5LMx>TiB~A(nBy%UhMID)K z-NW|&V9XWMoHs60pjNuHmiD@b&PW`>ZAU{^0IlX=(D?3yB@;ow)q;@}!6&6Xp~mev zmxl%KmxMhVl2@_E*A*en^~Y+(Y=SFmQN{LS(!G=RZ7`TbXeVxONKK%T|M0J9)6t#R zNJeE#S?g9s4$Z~eWC^q82AXfT=!nr<&&UY&1kkwY&e=6y)#BTed? z4}58J)2VH*+4`pyZT)=t;XN|1OJlub$>a!cJ>A+hv~I&ZrGq?|dp}AZZcbaM-M<(4 zh(aHdJ}GYqH_cK5n0zNq_A;`aT^@s}b$(_)(nw`43SGSKmJFZRwN|_ghuG0JY&cys zO@Vg-!woM*1IZn)b85+E{6~4VEnFK8c8@_^s~SH08|%8~FS}+F6&DqG)IP5}!*lOT zNqb6q5AY3ZiW{DaO?w*~O13^dM0@8e=R6DTHP!zllHu161ak=?Ws@Ggl~XBwJ@_mj z?A!Q={Sx{zA0n6C*|EY$bDLf%%7d-u-8H8J4hMN2q%=DrW6*GEBLkCHUh2*G>s}i4 zE_aK-pr*HCaK4*wF0j7k+4{Gq+TqIE{z20FRfeG5Z}7z1IMJS@&rvdX%1I`l|JF`d zC;P3On&H-arlYN`_2L^>@`TSZ5R+Rr%Pj9-=B^J187u7JT4tc~b!AM`Z0~Ch6Az(f zzL+V?*R&~Wt*Yg%WHo+0Lc*;CYOQZl+19sPQ|{hR#?M@WxEXFHg2Z4nY-`6)J#V7t}t4fBA+xwixu7;O`z7C+3$I^+d4igFX zszMfUtAYPF{~>rJdF5%7c|%$75{Zj3Wg_5TEP7{=urM{il1vnBr<_u$7Zk#%4np;} z7x>wd%ww(QE}*#H3PX$OgV~;0cPNy}-$jMGCr2oLRe8QFV~3C|n%9d%KeZo4dyNP^ZlNXL10No^ zl!$?kfx|hkk~w;n?!mq`YS8^hYbARXLYM8}>U-_h27TAhWJv#HZBQY#Aos$!e4V`d z)?{-pYseFq>@jH+FoG~>Kre6U@1^&@=8ULVFyz8JyW&N8iXgtv!$y~MLS3tiWCwT6 z(50~XgB!AeE{_L#;2=rX1=pyBG9mjNC6@*n-yM1qoj1_C&)G7|%20&QRWcZ?*Ku~( z4tk1+q1Agq%W?hjdg6Pv|M%7RP5NJK?l}nl1|iX=aGNlUo2DB9i&xaJ*rf8xvg8M9 z0{}AU`~<@;wX^K1q)r8RvRkgRHun}~mpl2Y`$3ZT)|7~l=zG_v2grV%9Uu|k*l0bf z2Y0mXH5VM)CcPbT3AMj)`R+ML&iVFe2`Rl@q3QYlSgV+xc^}6dR(X#oi}~X_pe3Zc zeg}2I_s3TCpL~RKBABq+#pKUroIj{P zj&JyW^p-ZrY&;9`7rh+#zJ(VYcO3M%rM!dRffxVv%ft(uB5llj`p*9A5SmYO>ycjT z^I?09;lFrO_SK(rxd57u0SPqjc+l~bmj}7)bSaO>#3gdMwWsiufZf1L^#T*a<6GT2 zkn5NlEwCs>rg8HK(?|O)T}|(!d+q&dZ-T-1@oFFo^1rRX+Z9Rcj`VY2>F4e6?=>-&%mgjE~sq zDG}i&f(PZpv(wvxm*GP!|GPqdxu_wZJxj83O?@`<8*g=q z)_FaAu0z)eK`|G2fGg1U@>(KvMZ^1gjM9*N;j?m8BHaFJr=!z;OHj%C=VIfjCnm}F zZ5oZ}r(0RA&PJWij>~9H%*&SK2%qkaztJDltbfsjn}QZI@0S>Jg+HugmU z!{8k`5l7bywV9SdYqKmrx^Ml*3e8J&cc@?#o0w;Noq>`*5);ACkf6#KNudW36EC>E z37w`3#`qIK2erpaAy2iYEfqHsf%61WTIQF#k|faE^oU#C)j67X^Ggk`Z`G>%b6d;t zP&YLiZzA(sbV&FWz-~U7Q?SI0;d$kX!f*IKP1%tlhS}TS1 zxQ5`q$gZ}}O~i~4+IsEX&t-;i3zL0l@b<+*gg2^~_SzY0cT9EJY-=0A`?(Y*|G!Z; zAi*t%J-+P68^_xo;=f`CF>B9hVDgKm_7`x7od%r{U9A9_@7RX-_om}1G)+q@(VOS@ zi;Q8bx3Q}d#i{~E4=~IIxEFj$&F}pCVrC*U>Fj0*rNd)I`H>;$;1^FpWtlYQbToqnXjd*(nsfhOniRKw%w z#Fn1fYwb}d=k^!K+uGxaOQ@Rv0X$NC{kF-xrY(56yaQs$aE*oer;LEp_Ya$DjR9>p zx6F&VVMzxC#(z1X@dy98_(`pC+;eq?Co9|A>1}YfmT<-{$P}|dYC%Sl7J@ZwL0hD| zb?YyiA-vQNP9b@31TW;c|9m{2Xql#*c)yQ}NnY4+*Lu7qm|*tzC$gbdYCjV4kb6vL zz6M=;&bYWG>3QsA?bUU79q?46a@DkjINqx1XjDES#kj7#9kvK+*m~~}?IrvAn(?%m z6{!ECt=fRMMo6SyyE#p6nv_Q87E!)fuuM2iptvM@)A!)p>9GMl5hnZ9%R4D|g7*bCZUL{gHNeMbw1Qv~;w_I}5>tM_g9cAouqUl1P^j%nv$xMDq_XbtS~7gmev7%6kkjry z6p;{;nMj}gIOy2NPOL=y)*F)CGnBXLy&|x;bJ0=;JQZ+D@;YyIzs}x@-}tAzWgEOb zB#hOvC^4K953V4cUQQ?|$r-Y5{n3TySGHllOt}8pc+(C*kpnY}% z9si2xe`_BcP?r;wvw&JlyVc0t=B>^O7k@qEZ!B(aNHd!82Z-l0l*AAFE7U|Une;Ev z0!EXueDoknBT4}WRcOvy5h#_6A^YI`F=*V~gL3>rPFjoupr^?%g*g2ohZ62m`LpDB z=s#leTMx)Rr$h*+#eZ@uUqAaZ`h#~fvP~*?x>ss%R;ZnSE+qE=Ch`c6^RR{kQ^SaD zpBK)c5wW)^5GdvTA7k$w4p;ZK4Kqj>geW1B5Q#E~l0*qnCi)PJGJ1*VJ)(CKBuFAr zgJAStqD7Zmi6D9>h~B%wsNeFu$NSu#En$XMa5 z*{_Yx2aQ)q=;M6WO6!!z9mQNFPfle2+*JMFl=_c^D>C0%kY(2v7F{u0j}yfO9~LCP z)j(?3ONjCNlpkl*dbBz88DGwj9C6Zf6ru6Kk zgda>xb!7we&%oposr$dBHUoX5fpk(p_WtJ)QM`ON5jFkKD6(!1Z{?O)xPAWmNb53w zu=UM?ZEzrSbd(jt7_n>9Hgr?Yts}<=Smx$`Pz)pgcN1E`ho&o5;|HIZ(mzR}}7m{Y~?HH5I}}S{;xKcwUCBvULTyfZxkQB`>AN(vU&d%^NHj!-!Sq0_SYw!z-bAU5hlBLSa!hpZ(L}DzZn2 zR-x1Bx}})*s(V#TTKGg^PbAeIRLwAH5qx5TK$6D|L?p)u$OMH&Flvqd(6Fe&SCY(x zvJ{e3JRhk)l@nWcJk&cK+;dyX>M~3>b53_LJy3NidOU{eN3G}QuV&dDCnRDS|M3*? zfJD?jzO6|KA-wI2^Phiw#^THt#y$xm6AC7s#5m-Al#J5Dhs|f${OSLeN{cSP*Qijt z7o`7CKvHAtW$gq){e2i;l!ouiH^*3mf-Ubm7v1;l1HJD2fkbGKJq(fSUzUeT1S`$t zAh#xiUw#^)X7AR~IC7ytGrga2pk`I?$X58xqaXWFE*q(8fI`a$i?Nh)Lrsv?=mcs>oy&?NrZ0iN16 zVI+MhK1q#C(Uw=#Vk;W?5av9yO%rZWxZ8UH>I?4uUmv-}~?1b<5g+35;Ja+k#X&=8)$-CPc`C8O>+R7ccnjkAyII%uefMi_&|1 z7~?u2>UPZ)WLR)m>j`U8CnBk}u~SXGONAPp37J)7M?Oludg0XJ=uUibUyA1+yIwZd z!D|9H4R`ViuVVr?B$F7oKh_UA3OJ?5cRRC95qEzh4g${NszSlD})377XaPL^ulb%+e=O%GrPBI(;#7QpXM_dLsY+$97`XmaWH1)8OI902JfJ$qLRv{7!$% zIc}%tszqhes}Jt)Cpj3%++;R4c@#CaGRcq~9i)BKkO(H>pt~G02sFi9u$+ZY_z_Z% zZjU2Zl+-Z!r(*36ecZQ_l*kF0-CKW2Cw)|xn5Ec5{+Rb z&iTs@_EWzG<7BX~I>Fp+Db%fHtx7-gsZrXMHP=wVy1vMTBIgtnqeQMjA|4ST?^(ds z4;!iwjELGECZ@-=OH6KD_%M58)stn4xZ-EZ9Ce{9kN{N&5b_hjw(g{b8?f z<1Ec0kA4$0f;T})7%m|Ffmfv1+d zaX84G8y}yc{*pV99B{UQM71|CFDkVEWVtwb*s|SJt6mXK+Dc{X{F{?j2$jvRh=QY6 zP^u3m|G8fLpPc^Cua*ocp7fUg{`Fm}wVkX*a{VN1)w!*;T~8PX0HKrfZTG z=&%BK3jxgbB)Ij{4CARF zfA_GU^KqDPia0khvglr8XP6qgyl#*f`Ldt26;V=DlH^H|@1Kup0?{Y`RP+rPvgzN3 z{Mav_9qD-lUQ8x)yA+Qq(S4t7)g|oSa^S{RCzVGu6B%=;8L^BqKmh;95h@%Z^|c(Z zg)0AVys}RZtI2^YyDL|b$&KMOiCvAYTV9Vee9Lg!b{TfEo==h1WnKI7dhu8$d{Xmo zBQ(1}6j(v%xy!oYQ!pk!cTRzqAn|wXrbMiHlLd zf{`Dnbqo>y^lMms)=1o7rN>35feP>E^f1f@9#fEyzsdEX62E!$5HOY95P$K=Tzk)J zCHpwcS@7;DlZPO#McFlPT^!e(Tu4EGjS;9Q+s1|oJ@&^Y_HC-BUyqdURudhroU!_K zw7))U{w87}D)}Ar;2x7kX)+HpS2I5tdluYc6E9{==0X&J<|Y8>%{1SciAc&4ALc%W zyr-gPp~9_cFX8IdO^QuZXE~4`Ib|Y6dhUjiPEyB2dihe!VK`(1H&ptAbu=>JjPS*_ z*RPx|PVHSwkoN>I(TR<4hK`&8q~7p`KDITY5;u5YO7)|4Cf6xN?R0g4kTM2wplRZp zoM?nX>pmfn%VB6)5xaO%ykLdTaf8X!irB1#5+@pks9}uo77V;veIC-*PYtux zq@tBE`piH1RC)f9KS1WvQ@m|)}eI{vBI-7iP1)|n31{v>1jpo!dIau#A_E%GirNY^r)>JyWXDR=A1x=E)@eBb@clFpFC_O% z>Rk(30CbX#2@801qq7y+`K7t129*CRXs4%N_5USkdmv*3uu}0)U_XfXYdF1|dLHSf zacUOZ;J?v8U6|REN{-&AZsdY@Z;Qh1@45u!@7jalg+}CL!YvjXKF9xM%h?gA3&ZWN zB5YIo9x}5rA;9^5DlwyL=zZfxDW-#mJL(8LDzW_NR}s&BpKB2W%j>+uNwW(j8VJ02 zA=-%jahfFdckeW{hAkOZ1XIIGArXc7#z%Q>8a}n&1ae!~8ciZ&_8F#LhJ8<^hAFG~ zP2o`n@Qe@+sy7k9G*tb1w%$Czxw!D}#KTQ|!}0{xBKx37&tEE40&<)7(f+@x4je?` zLBCoNM^kSWQPPg+U@y zAyNu6G<%d+bEN*V)72>#*x~lWQc~tBg4WT8g13U&%x~lAocA3k)&p` z@TF+g3!~w<1haqOPlGF$bE|rV`{J~A%>0oI*~7B7))e;qv0aC$y1IGmaVmC%+>nS9Az978+&Pb>OV4*ognc?Zw}a`u za@eoC`_z{XV_h(2;VfGsB*@>7^euTADpU6L+3X{B5Ny1kSm73>ucMDIUIcU>iA$@=z(wb!7VM~f@#AHEGS-m z%2tFq6r6-=9xL%ybxL~5QUuQTka58`v52CC-!BXh;nW5(6cwnnCr_>UO~6F!z%*$8 zHjM>)Uy7F>rf%!;K|bqNKiG>s-KaoB;KORy8ZX13GGUBWfIxt1>dI2oM=^O4bz-4Z zV$~o{i0La<9{eRvU>^x!dZ;L4Czd2+V+M`kMt-hW&_v(Vv~o1a$WOxRDFfI*9r&uH zC6?OH!sxllE$!PADnpQSF(gAb5vafP4YOle52t}dTob!9>~-;mz2pm@z=t7rKdmX% z=6M>Iav-7YGvV|wd>G!JkIyJCE(37%SDdEHOtno_>lpo;^*N(Bvk&dfPu6sznG|OF z2OEzU@TderZ`8N#$$;`UYbt**U^Sk4Sx!q~rl53~_}aGZUv~Q$<<%8|W75Hwh7xV;IREq*~T zlxhzhxbf15O&u+ntq5StEIX1Ad9d>Knbcoy^HB}$dEbKb4tb)*%;|EBI9UXKdwUnA zdhw-0zOwI>#8m~`ea^kp13>}*=!2Z{7me*|cj4VD-mV4Y6`)vQXXWzXg6q}W))njb16pRo{zQ~LCg}=srfpH2#SWb!gVOJ4l{I~4gWG0{ z+G8Fzuhs17A0Ds!Or#8sc^|H>ZZwdscRz@HXy7^-usapPo!=#-`Ijx>cjpfWvi9@) zFa0*YQ#vh&S>C>3KK!u`?bktTdT$;tf(ZslN6R~jYSC&abf!v^OJQde>fu2o0~%KN zw#27mF+A}oRpekHMZ`UEy>glBhKRdk<*)pzwI%V-9%~iN(jRUPZ&Y66(lw{ibNr;| z)Q=+N1aG}%jXC*tN7ZiEMM^)^3T?0RLrm=TazHnXUm-0mksaES+L)WEoDdM>sV03%)ZzM-g5YLAGO~7yTZX{ z!fS7}+hgxL9$6}ih4|XN!kXQYHqMD&9Omi;=4jpLVh7!!m1BWPYu#{_P)V&DjVQLZ=8 z2x~&_5P5#L5hs3+ldYhM=l|CWFcrDQ;zDivG(mVcic4>#%Q>%fK-;;2R3LR*-(}2c z_r0BG!?7-wuGp-TpLCcy{i{)PC1b6n0@R*r&XLdSXqw?$xRPi^(rT_i?_x%xtGyIPo86(_eF;7%SZXciwhOmyNue(!Vz1-qC5j+e_UM@wBYz7D zT`u==4KLz5U3-N(uAHWc6dBd~xkz4-?hq8&WSTzgq$x~)8*m1eq6O`-!m9_7pd!q- z9PdpS@Of$sZ5DW~S_L3ebEa3?3{Hw}Id(l+y!Ymo^XHm_rJS|-R-9SzFiHd_Jc|p3 z0$?%>UM2CaQ$YdEb=Y>hk$2Z0Rth)Dr-i*|5UZUN{x>X*PgT=j@N9TW2#Ro|4r2nCZ3`UUPZdvA>SATDp;ObC`z2fnD$F}dGc@pF-fpMQ z2&IpLb3k_s$i|Rzl4b%JbDXf#EI#b?uOv}eACJ>uV-}NW>252FU7SZOo5M{x#a23yP-oFqL{2T{o1wd$YVXKtzWTxIir{? zx|y+c?{8TQZ4)QE0?R8aE6y=TB+I$QA8bmxrTKkMJU!-O%znF9#u6gk8{2+en1RL! z9j~L!hjj^p5ASQZB_~po_ANzE&0|h6xN`YePn8!_KcK`Mn@()mtcbuJ6-un}bpyXJ z-cL&Eu>`PB3JC`}kt%*K!G;(vG;C0LPCD$=e9L8MW3r*Q*?GdtMW?#_aI%SAA}roz zT#)pZJ9wz}M+eIViM1!M$wbW)k5|k*j-M9yui*1{5}>EYpFm>}pd_qlBLXuFg99(NopI6II>r_5T5PWP7g z{v=cSMP5=nY8Fz1w65vPV*7qJRjXx-)4dr=-`2hNs>bMLvFPV>zhay> z{<)mdw!;LkSS=fcHrQvi95bBmH`^N2jg!2;1kJu&wXtLSD> zcI`c|XkX&pm$K3)8!Kb=eU6=atCI@aB*;YiR%=^S(w|;97eZe4u3nt9AsVTIFedf@ z@-%k1V4fmDu)&iNyryHdEey-oHe{HXg9tJ#o65j%>PGR?1b2yE4kTC2j*14`)$}&* zy5F^@$LpinIr)}n+oh+OIv1cVF1_8$!hSR>OjNoBd;96~t_^K99?|n;EJfQ8Vbdm=?VPLiZ_$wOU1TYkX@qCFx-rT#A|n zyIA0JoD=WZgIHsPM2y!K-veLf^`9r#6$v-MhfOXy4=kpb`u2oFBYvVX0mlORQdS99 zY6w;01el6ZFJ8oDde`q%H~rbf)HG(h^g+ciixv?+SwB7LbpCDM?5KCRURT$iAoBRQ z;sIRQAe=ndobWzIQOm9d1I6_}$Tt_EJFt{WmxfRUh(Z18QwL9aqHB$ngg5;kj@VYM zT91@i1T2LWc+PTIbfwN;5#IRj=tdw0PCGTP7@QtNdpz|r=5^E%l@(kmY*^{nFmUP@ zbw7GMfmJkIDB13K+^O$2Oa1L=I#g_Yn*JWg^B+b3dA@*2e{JynGE9}@;4>8-d0q6d zQ43tRrQ`4pxdH|+;(7)P=QL1{BA0nTx!9-!vKATvloMVP`v#u?ns?T6;doS-rTyVf z@2J{CC`lh+T|?^jr$TJD+Xa*oHHMPM=`rc8hTnFFjL39K%$0>aOniIB4EH*HPI~!1 z_)NbSsEjKeoxeeZWXDT68*GC2!D4+SnaB?EF~}=D&3!k$*K78i#S9#~rOGe^IvJhE zQ#5sj3@00J0%mA$@nd@|UmG~iwmy6~aeA_2k3xHb0$5ge zG|RncWYqkjv^zy6LoA1_X7~P6d{~W}i`JzJCzk*>xCE<>53NBf09F=-Sha=WO^|{|WdPvG{`M@bp4+c}zHxiaZAAMX+y7{1hAGHP3u);`g&6?v>emH8`9 zprG&oD5izTS^j|~ww{Gu7aFvhtxw8wzh`!dasc9U$$ECwbv{eA=p47n0GgHZ=?@&5 zKn##faJvwER#Gn5_$Ffx$kUvCljnPJOxC!)D6#kOH?!V$DtIPReycY=;vPI?irM)H zRhnW_*d(2k@SdKJJDNRvFCPh2C0>V^Pb*u-5T%l^vS#XomCp}Mf;qK{QhAg>h+_xj?2X7{#iO=sqn$DiKG-18F2jtJ zZ%@%6?gcs3@lx|CO8qgx8r)V0kBu0uJO_Gh8i5(6* zCV?H_AiCj4wzE`f$(af_Il~2Zp3^t@?WYApFL7n@g4wgv#LURDCp?Y8)l{H%Ko0p8Fd+ z-<9__v7J7(YknmFiwvbj>ubA;8W<-3kz6M11@+qabd%v!xwJL`AEuh2m$SZ2JytUwasGp94jwiQKR?~=Z6ESEJy!5i@ID-!7+L5}>1_@bT7nJg zii&w{$4!*zIS(^?$wmriFA%8$K5}CzDqWF`sIk#AZ#uyGW zsY(%JwK#XADLxE}L+|>>ub#1Zz4mYfbTU=K@3yE}VmEUPj-8_-O##Gds%*Y0U{a@@2E&xD1hLvGgYkyDG3Ng#6Q_tB+`)&c0J;tJx zp!*2!JYvC0L+;3TyrfZA^sQ#qX7S#VUD4rMRh407e$B474rriy=Xb|F?Bc|Hy!)5H z!X(^GqdSoELbyNXqd>#HS77Jja$@Ta4F^39!jDp$$;6Ics3MaQ|Af{@wYnK6vESm0 zEYNNCyG(Cx2OxjtPtYk&xo6C<)(Aiyu88b()mPV)J`=o%pz#~HYOdn@QchORk*_8W zrwN!v7F81QS>5G-ztuzZx(yOA6X~Wutx22kK&z>TsqOyBboprwQ0i_2!%5-B4!y^U zVaPSkqE^FiAU9oF7x?``0;Lq0aC01(XS65g;_Pf`^j!@NVfoqxDI1dg z%%LK?nv)i!hfY7PoAH)dBw~M=txUdQ;QEy_+2akWks1MKETVnEtmDgYS7i**MKuuz zmk0)ToA_lxB>nXp;wyEvDUp|g`w*T<$Gh-eoF;IK<(vNKxrC3>xUVC;-B?gYg@>+x~yCrW(9c!O8-m(3BrTi~ehQ5|{ z2rZXeUL$QNeK9FMs8*})q&T|;&E_?Zb+2DomyhNu%}DefA)Rfy*xmzAfk2VtV#_P3 zj}a+`El>j3NXgH=$M(2#TP}NMTMiUoGFv5&mBSS2xI{OPmA9y2uOGs(^)$85K{eW8YQ!>Rez-B2LhuKl21wys=YE2ASc}ONB zG4O5&u1D9!apg>m_Celx^4+ny%7nyxNVFtHt_n%ROkEKGVisA`X0JwUt4hUm?t?g28H@zEc7paMJedgyk=!iEjJCz5Mba5!P8e?=%SI zr%E)9oA9Uxdm0NKk+ejjV#*zv-NvKqW`Nymvg=}&8^`a2e1QwzG8heXFs=nyAp1z! z$g#@O4t!I>5v$H&3*$cKM#!8A8-?W`n>cCNkw*?Bll=^DE-g!5s0X2)2;3>rl8D{O z{vwubVBiFRcczz+Y0;iyBzr$H!b=7#9*GzsW_Ak&cV6(@ihBaoS|>8W-J2I?KtDh3 zu2h^^BR)t(Zi}2ZA@|^Dm~GaqYI%iIqeDr z?-6`cVUF_y%JsQ@Jd{dAFotF8_3`sXJUwAI@ET}eBjx_E${olHS|i^Umo){YNT(G(OF2M`?Bu^ z>CFZ)pg7{(snM_!ph+UU72OlmG|>LpRHqrSKdq7>X;Pv3&NnW83f>f&S-8PBi0%dJ z#!)JGf94XajAp2B;}bhGN08t|3CsBQC;=ttFTx&Bg1mjFiYWvFH9@EyG{4b@S^S)$ zN4|DzS0a!LVW?XXy*S*C@0^9LKb^u%I5gZC#$^zsk^^BT8Jyjl=uaufX`;?34`Qr7 zm>qhSc5(ET3bHykO@p6 zOj=7GTkjq*a~`r3O`pGM;d4l3k`<_b{FZ$%&^&xo$troyVQg_eBsCdv-@{Q{(RnE; z4QH|ez&+YY7>w!UH~~!S)a5i5I7?3G=?5Qnf4SZ~3!x&ot3@5eP|2}Zk}d!HfE|x& z;%3^A=6Kz&2n%4S-kBRSyMF%mh4#}wDo#1|tA~zN$~>_z_d@9YN3qHk#vPkUy%85k zdSkA(;9F_w@XBzp&0xTO2&>O-Ir={Gs63D1Ruge-hAXw6d9l_GoUP1o92j&l!%L=YF1lncZLewQ^} zfm{tAB~XEeU*j}k+?Cp7!`hesA=fu7SKWd8 zgBg&tIx@|9?Q&OVPfzf!ZdKs1?vHFAtKgd-?XH(8HS3^`^Wc5nt3o`!eA{?XAk6bJT9u zbKt|i8t6M%*qj+IF}Dq8&o2(M-+iMWL!i}LZ5NohDOc50`|mt%cd0<^d=5ufK_j^| z=(T3=oBXL*7c1kvi)B)^NTEq3yEOdiz<@% z_aY~(>m80sY7QK`E-4^+yOgfcEVN>csa6JID98}g2bAi0g&D7Sc{S@h>w&9V@iQ1! zpwfG@51qHUsv~`IObBqb&SiT)+}k`zyoh({lQ^^GsX?9;zL{h-9+HefTDrSAj9K}t`<+&me;krCV%5k*A*j*O7x0T}L+-N3IE=Pve<(=Oo3soR91;`@NV z4dF|nB^dDyU>d|9io<%EG;VyDr|G$6gQEo?fQM8zI{(BkMZt@~M&}6JV87Cc63LBT zf30FxoM!#cTb;Wdtv0xu#PYGR-M<&LRncy^tyrQL zd2(UEpz>D65+m30D%=)A#kr#K=gl_sSOHkkwqKYPoQp{F4>-7T4qx1;&t#UazyG13&BT@am^ZxMD57P}#n4`}yWdsWD6%T_xm>x* zlR7wX11h3$q-rS3J)x#Ac1TU-f%fOx4$m03D4yrOezg9`VM<# z>{{0^9AK{7GCuAu*Ygh79SGz9JUBsJ#DpvN zfMSS>bh6Z!vHH@C@-OLgsgUP8_?SyWH|pokrzc`RMtU@pp{%yw^SL)0Thy!;b(DLb zv(?4LB1+&=WK{rxfP)4h67Qt`T?le>5fI)39-YHR{~ZE;Nvu5nkcer}OL-#X2t~If z92Yl%rxMup@nNW*JkfQpX!a5Rs`WLr z8vZ>*LHH6*lN}YVoRtr9$m72!i;M4m2ZS6Y=iE6&_UsvyWC({jPspMWVzS29jC~$% z{4-BHG+gtaAfI~b2qr^Bk~lbsQp+bNq{Qz(Xt(J1fG5Q0(aU|MdbSK_e;#Z^lWoBFG{@20sG{ zn;q%yY5ev4rr^8>MqO_wdM^5SjPYY{p#5Q~-eeKEB<9|lo!b@U=C43Hp#11YbZ&VLw9s0(t+o&A609y8Tt^%K zBTFb-B(^Q#%14Vf=O=BTZc1YGv?VOK1k59X_5^H}OkyT<;Ka=K*Pl!0GR=S9h0ktZ zf_cBlqt1i_A|q^Y->@PZkLuKOS3H}S2;c)TJyQ8CT9D~|q=%f&jmiCN@8T`fX0U_QnK0yQCDZwnLFDooc=+89qUy$@ylSP@IIq0yYkG!75KjbV41U4 zmRomn;QSr;@{rB9G1E@5Q_qHiv4H{8#QjFrl`~Ep6Yyzsx_K06civS%cI^%MmXli) zYy)__fM&XJ*x8~55`aY#83nk}dgkXR=YEvNFhI|!(iOuuw@lB_-R7-)yvj zsIjv>Apxv8;CDlfAlL2t1k9i0C0j+W*^3=ohD+m75!~bb#PI)LPeP>SU5?+6rrzGw zB~0RZE|meSYrt5N-pp0IKNXuZ!2KP{IoAf`U(2=9CjjQT&wmd+7M%m&yG-&^-9uJlHbei=L94Q(HC*{2!dG1mI;%ntz zBQ6tOV+2|Rjiv0Sm1Fj%a2&r_$U*L6V4wlu&)3{g>1>6+Uo?=ewsI6W&IhlZIgLi_ zn{Sx`D*3a>{-4*j&Jd~sU|$^TRz1XiO0(y8n>$q}`GeB3R~g=B;$`a=s-j!saPwZ{ z1BWjR?x{uY<20TA27oY%2((KL09d-%iOQcVUR}Wu5Td;J0fDJ1P7Ptq@+*m_M;T|* zn9EFd*^pzef}Ydcz+XMp#is3YIifq;K#N&pf8yv;7C4|?V*W{F>*rmk^XJ^Js;x0=R0mSXZ!5d6P1kJeoRnpp>0Uk!-&J7zG(O$V zKl%$Oz(!|kw!&xzaYJl0k)Pik9{VXtkBP(ac~Ju>Cxh2c_YQ6UM~#DbFxoDxN>Z{Y z<>V2yXint~-DSdmGDL}ifskV*S@cjS^fxdHE>2g%vpeHD?lT-O$c$OlfmUpHlFX;v z);HP2(fgp?&U?B{9yf!&cV25g2beT&lL~CzAcsW6*;clAabdLjDwG-q{dpv}bLx$O zOToo2L|Dxxd3ym2NZ%ztD!fBSNNE{U%H=f&oQMQ22}DW79oP}Y7z^)sqXt2P`77-O z#1)lzN5GC!s`F;9-|9Z2uWvT3ZkhP(H!%FJ8;jkstLYFs_@+Le z)6C%W+iOl;&k40xV**m1)BL65(VT5*LgbkjYme?Ae`_hHpmOqfNkPZ9BJGeXWxF19 z@MA8#q>Pz9r+khJz%;YcA?4m~m0$6LYG>&t+9pT%a-Tct>Y(D|)tL^w5yjQGsKJUS z;R6}-rJ`fT$!_&7p9)2_7KQU{dia-EKEJs8cCLH-;3RE3szYqlx>z9zA~iZL3*-A3 z+CGOu@9@G~a)7F&>*e`V?ubWMS;a6cw|QbhRm(3K%YKH#*nw59WgDP)ERX5vIp{^J z326tBBVVw#)tg8sE>5%RsH{Lk+n+J5x9%Q&$gEY@wM65pXFRwat0AGe_-f{U^UZ1R z78DE}5^}(-FSdNeh5#DbdvdtGKBtV6Y_L%(nkPUqnPw0swv$9wVUSBr1;goHw(_dP zNirxZt$syMnv_E9Q~6qz<~o(`f_R!c`GT$DSbtX459%LBI~igM0#bhOxp;Mf!z}>h z5e`RtmE|re%~hpY9zE@EQK!JLG6(s1W;nsJ5%$DqEM+B!pex~FiQ>L@Zmhe0A3U6n4_{8o3|uBX;7b;)hvRR}$?UkF#x zT5+dnhYZcll6Tb@p-GY6GHyWEtfp`oFC>SK`v?ZyAG_f#k(ilH1A98yBQKutafZ~d$U-uZo`)aSBgBZkAzha{GV{Z@#1 zHk-O#HZiauquHHhT=1nM^!MinJBw>a*~h(D)x#viTCn*SN304;fgCgxzpQTHF+coEX(clWe-MPv%u>$VM3S?sXXKSeF`w z9ZTIN1m`6j9ey~E+L!?gSIptfWzVGVC_kH%2~Sks!p-z`7N{sjOZ8`xFX}X5d18G- zGer1`yP5!PbAhj^z>J{4M_Ou``sbHt(Nur+DdRN`D5ckp?S$xJ$4Ls4# zE1x=lCg<7KdQolkO^=nYwjMiPvhyg;6bCKZ12usp|Mlzcx8lt(@teSm;F8nh-8u{C zkf(Lw<~L?j5ffF84?lF6jgZB6?zjsLT8J5=w`)4mve&NXs%}Ff>{uijNfxsqX)47U zxWQO@)|Sd8aJ<{BEBb)vHw|v17=j+&*f-q zJx^6WNy58KDa81d<~~i-8s!syj-QliwjJ&D>o%6IETn{rj_7p_j&)-ZldtMO9dR#J zwgHbQA@YjQ!flssMqS=M?hdG|qcZZJ4_r()-4~KMtr?FEU{ z#=rsCT{H&RSu!M5$->mzHIn`&(f}r?i{pGb*R#0{a`eJ0UoM=5JFmH7*?m7Ha`7%C z2adal6cFcvZ|w8!KTPtnFec>I>wC1A8vaFrR-0+ZrrRAuzbMixWLG{J=txOjxsbe+ z_ibE=M-<0es*M=d)ms67lEj6xG!=e8$X4CoBpaXO=nc631L4K$bR5v}3w_HRc{SiCl|3cAVgJG64%a>Y2s+h-QIx{p|qfPoyL)~Qkk!M&D7^_c_nrWK0Os(zV9W2 ze5(V_zIf4exj+KQh1S8y*RMe3IauR+c|$wGV|Tn3@EG=ei3Nao8pq~%H!vN^oU+=t z$E%QS+`m_&?WLjiPx3lB^ubPzS!Mh2HV!;&rsL!!=z+_&89$VEw8AZd*sExBZl|xx zjIY;J2DncTOmyo?mg@}(k>0>_o#A5j#-Nt32SSe8D7GXx<@pY4raNzt)A7c2VPa)@7#SBFNFz|24NWfrS8O*rWHWGER&7IrO%g zUvkJxY=RV2ZbvYa1dr-y$sxNcnfm7Pmt@RL!w2Ak5&E`Rd~NM$z|4T=)Dm-t2v@G$ zoNiZ!Mh7D}fZZ?YRditd+F@hZ6Ck%5vZiat1XtF~>(ZY8TxcM)w|p~oJ1y{@s-}ts z|Hsg)Wu$(QjO6aPh(YzKlGU%+ zWp1ZI63M@tU-xQOA{%6eq(O7>EY+uG-``_k+EBWD<2wDIRJ+LD?_PojLT}g{ zm7M_d4T#Td*%JML=1SS?Yj+B6j`INHQV?}xAi~9YS@mEAHG$MGA1lm>3}%*&qEE)^G8UPZkIo{!qgaqO;6 zA5=&2>f|aAm9q9-Jh9mzh|uPvt@U6H;pjqgD0|tGg<*y?FSc<15`u!KL(lz&`xudD!`=4-XTm53=6srVBEUj)ZZyY!pr*#a1=cZ3*`%489b00+2M zGE8h<&PPl3vh4afqQ{h&7o7d!-lU7urXi7#dh2bGmkZ*Fz?l5NYC+LLkEE{&a(stA zmYd_}qs>OjF(h%_@v0rMwV~`S5&A&GuCWlhG7v;`Rys5!{R_NL>0axE>lXk|G%Tg6 z!^tHjVK6o18Y4IWOBcm)+E&9wxNyhVgp7(a$IWT;iA%y@EV~C927^ktE?iMYO_+b# z1TT02e|~GmU2iYPqN(d?-6`No@tPFtEWnQLXSI2%Vw z!aG1;y7Hm+JS(YP#UJWR^U@U?Jsi}F@I-K^U_m#t(=~I4aQ;gCjje`P7RNx~ zBYU0FSyLuM!$K&~$_J7k%M1HLN|E1c>Fbk&so?=1Xr!mC#x5lJum ziW$zS1v|xO5a(DW_i>n$y&{V2jJ~b;rE|9CP@}B{J2Ag8xEnh$@zh+ z!9b8_VD#n<{ewzkJ&AxtFDNxDwwc$oVjyo16?&Nxg`Xv!uI`)sc-R$fbxfhX2och8P4)KG4rZacr7t-z${&0tq7lak3DGQ7 zr#O7-xNrD~GhT<6DXD`r`$g{yQ>Y{_6T0K-q-Q={C($cDRH7-UBlJNpfr{SueuCC# zcQgp@Kj_9*fg$U2JRq9ne!~ID<3g`NW=6`%)}RX^w0bR9S;b|)_BWNc@5Jkge+eTfnXS*Xrkzjv^fv97oj zb4Ot8CP?!EeA&;t_pTF6y>_A#$8Bw9XGgNf{;c}JQk&&Thb~X_Ldf&`M;9m}P7J^gI1^(^{P*R{fkf-63@J(*sX{*-P zsI#_IaZP5-b)<18MAnaeI7riLILhpi41Yx_l3pn7^3?Ly$R)k%zEndlN11Xio&|AJ zP~}1hE3NcKvqFj@QM_k02->G~+d2pIi(m_0U3*K`3=ln)JB+q_**u#>#}QW*#bY?( zw3lA?jVo#rckNDijjD65+5eIZ(p`C&Y$mt)vNK$53H1Kzjv z!eV!`bD0s1mUti7U?!F1+reDfm04%?+mlovWm@l_Ko-5!J|vG&Aeazwh~-><$a{C) zepbWJ_X3E7Xcom2MOi0pmyX7Iur7Ca1=RmgxRcB#l2J1xO>z3i#LCQH<|`gFt9_74 zB7*05UwvMCHGGbUbf&=ywxDKCF~AxE2;N`qImf*Lasi5!s=5u{Y@fTa>Z6K;7IVDci zBB;hD*h6pZREuf|*)3E>1U9w`IBH0J>98*iEbdX@UXn@ftm`m@-Y@9@QCTK2FC4Gq z#6>ud6ECnWkukR?KY!IrtjkR@(nDySU5!*AVZkkr`-|$<1ZC;}$JkrNMft7&--4hh zD$)u{cPgpmC=CKbNO#wObTc3-B_Q1}q|#DD4TAzh=g=+P-8KAge*3%kb{{>@83(-P zp1Idr*Shlkp-Ss}^m-8xinl_a@V-y^bnp||wwg+kt_jZCF`A&>a{lp5U8^L;`_9Ht z(Jk{xJpvMKbA822_jR9yn9c8YH6akzrrpuG&u@$tnnw~YGt45 zm%4qWTH>nyEt)4;rgXF&*B6p;O#eViqgH7vV>_ql#AoSJ zC*wFfD(tf{bYEclxeO4tNw%NR;&pxU9ffP?*idbS`!LX<;-{88MyCpMlPkEWnUN_7b0c*`Wp9Yra@B$=psYxqP>AFxkF>sJW2hE%5hLy}B9vjB!e_YT**J3i8B{HvR_8qDiF2pWUo7Sv zF?=DYpHceQ|ImWk`{21`X*L8sG<-t${&2k>X8&N|OfANqN9CySA9~dc29|^+FM8zTuWFkP zT=n$@NkHx@z~bKG?O2`CBm!{L=SB+%WoaN#GkAcDHNBY$%y#qT#M^g+cb)n~Piodp z^ICC}0YCfo!F6=_I&xl8C1kmvNPgfxnl2{vb=Cwhkzl-s6_WSDETL3Zj!gp(Od)QP zNc>+f3Ja%>^a&nTXzT3gH-Yt0V1?5@)d{OKqgKgnZ*UecZET?vt0$rlPk`p&>29G& z8?92WIQyOn4THPDr#vYFtT&%}B9eH$J{_a!P*eK5F0yBA8>q&5_gpHK3lEbr#|<+A zeap|*yAr;dJq?Bm7zSifN2fE2ajz)?!!MsSt>~b_ii;_ZlKT{YUFZ+60)VF02UyZ> zf6Yt<#IXUr1|%qkT)yjF?O*_&h1?;<3U#1sGy!~G4Erch=k#V$rUz-~%dm0(RW$xZ zLqr35D(OI$68cyD<#|8=8EnXgaz{{9MC~bzp|7`A9xId${FeCa@@+{eA|+ZpI&VKt z!eiUb|uYV;NK`>gNxcenB@vm-~04z?Rnl2S+YyL*o(Sr+@(ip@w zn#X{KhB?X;#pOWW-M9Tg4Kq`m_w}ELavg*Au)^>)=R*PFVRhs!a}af#-LwBxUvFXG zmIq3*poZsme~&mc5LxN?^K8`DzRD?&@7_2M#dLGI}*zuk>?6OjW13~%QGV~-jI zP0jk-~D*7kedR3B(N&@xk*z6YxVY z!b#Q?nAm6n8)O=WmZ~R-YzZEMtmgwd{w{dDNW=xI^#}EB@V`w>s}KWuC|(qkLX^bx6iwSe^5rBJloKK;!jNs4@`p zCdS1)+?$-gO*VU53VOo5{N+kjDh%kt;U{Ieee%kp>#xo91PruM++N=@`nwNvH4fyA z9sAxcLz^5Z`^1Hq_53-Qez)KEDJ_39OjT4l{1)S(unH{tSWFJUjgfu_7EB&!!BxdX z14tILm_DZeze}#+U%vB>8b)$=xj-{u-jv9YD4Hbj)foea9A^6(aCNkw%xePW3IO)i z5n5$)-FV3(H!Qc0UBbq=md~?f=LLIEo1O9euW~Oe18AW*zZXCJcRQ72KpY`#(L3Wb zwwaN(!yw3#e@s(WkmnnRze=OW5_4|OU7(+(Glo7l$nd{fBYw4!shHi=rxFZ@EFZT1yBEN(c2-h4 zUZd;^@a`_d7)4d0ffmbsS0+^W{(IJ321njT4aivWWQcq>Ml8P*uT}DoE`6~l;Rdi#uCxmQS`T+JNo7s0zP}T@;-c<8eUs8( zySm>Qcv5;w8O~o@^|sX$=&Wtl_z#xTbjrdxuwSjUL~n+;woQN_rn*m z$M_o}k1Tb=F~Z8Ad5`>!~KXe39?rt!-=^{ z;4s)#?edCava=b8rPfBQw^~5xiw;juiWZ_uM-Htfm!LfwlX))-rAl>Ip0^1Ia68lX zH(?jr&sY;zYunLlZ2Uy;DuoHl!+refIX#R4hD3c-W`Lx^{bCIAQA$k@9VI-p@!rxJ zb&37+utEuv>B92gL1cV(ha<$MkYhv2bYD>SSP_7nND?o>16N*X-#&XAoRzn$#JuJ* z@As(Lja6q4%H2k5;YiBzog}5beo2!7wAV$J(oPI}5S$$!{&$OsKR%x@h*dG!ZXk9? zw`f;VZH0&35Yg+eYBRYDu5jE)>GACqGOVecg%@w7QI~tjTQ#wU<&qhe)uOtVH5)AW z?7m91HTIvvMV#Z}cCOSH4tSZdIl21b9Wopr`Nk6kkStlt>^1IM+D046f6_$W-2m0J!Tzd z5?#CCm>`Sq>=DBB-sdvJwmOyJFD5r*90U-A6;$a~ywrG^pysgRp{GFd)W>Kfa^o(O zwWz$w_xmxbn{0}gAM`QG4_?;k^TF!x0e$I*CvxM7R_JCTY-=v$y*I!_w4_HfOeaUfO zYQtU+?DW1!xr)_RFZY-yBU}0ycZv?@Fc5G6Z6evmI(INod)>~2BFhowW}B+w`tPU< zgCzszx+|>>pFII_9Qg)obcqH1=qmaLB*>YQsv$nkLe%29;HD^z$T%L(ovdFi5FxuQ zQD5`*Xzgam@>MqEY)ZhEQXl@lTFa);ekm~SGj~KKxy9F~FY14uJ#{YTLo|~$h;(B- zkJzr@`Ww{9q1K|tUqa*wo3)1Tenyens}F84a9gK$@xhTHED%mdm`Te|Cz7k@O+I}AXQ`zdU- zR#i~K<1;Pta7WV&0C;}Bm23FujmBS2=dXTZz~ZS2oeEU&&o11`*4(Z>jl1Zcxj&w#P%F}S>IzwyXW#Cb0Bq~H>W^Kdon%iJ>zL$}`(j8*E zW3m@8df__dRTFo#g9WtftKVDwc)e`d4gb+#r(i&Bah-?^MJ?G0Oh=Z_{8q5rl*TVc zAk35vUKsyk5dhi&7Z<|p#!gZ2(_zBn$Td?0g2Z|31aH>Pp-oNr#tZM#RJXwg^L*` zx$M)N@lXez9q+8w*Mc^Qy7Bj8r3sjpCH|gH;_j~m`i)n5zJyn;{^r(NQA^ON+*2Xj zI-WMbWl^zCjMJE%u!{@tChM!*Pl1+sbm;PPi9F!7rG}8XYax7$k8}-es(<)?r95Ub zK>nKcrK*aA!*4tM+_%w9Zg8naxu+F**V{fSe1GtStx9*&MmHrK`h7fF@Dk4Hm;K6i z@S@_mK^YUQo%CRExB}9;**M7VCvXic{z!zA3wHwUM)tLH0mSLbcBkt@gXO8K3jeYWt~_N)-yQ|CTiWo^%G z=i!xsxk9Z;GG=YSrBc3R-kz-5+r=R8)l6EP>P4rnfmk+$*M8P73 z+F>tv>UmgQ|Jix7-y~VXGCb2as8q+ZP|cQ#bh=S#D=;4tbPe|?RO8SQ63!P}^9l~d z@{ujK#^W;tX#LuceZyVl(11UCT)lGfFC}i2D*=cKU77HbcT*=-1|vOx;wC!23yr zLoy10g4<6{tpIKY`Jfp0ee0}+0tr(0N6_7{k+YKww>I#R&*bFEPmjjJ>4iPcAnnWb zD^Y{H_%!|U*!S;GtuShOM$cY{Omb9LoupbWEkTYKaSH_`E0!ak3+zqf7emy!aKh5IeQhKv$edU?^_UN77b=9d?BYA^C9>=kIlj{U%g04?qh6` z2>|8!S+iB%VaX2CE_3Rf`2!rVzx?0_VmDD_98beN@We5)d)|F>MKjmP1QSLUsWWId zW_3L_uT5qs`1+wr7N>HVRogY(YFoVMU}CFqHZ?r59KDFop>z4g)u61ls^Ox-V&^;u zwXL+vkf@F9&vFWK)k9h*IM`28iC1|v=g5S>A-@|rscMr8>l_Es<7C%PnqlM(_FFq= z%3;+){N8C!K~fZz^;5=a(+H*F@ZeVDbXGQI6T0U!|90cDS@X_pKsy=z3ox#HbMaQc zFlTyAZJZF9ZV=mxItsJd?g^$Xi#oP@Wm2Y z!**cOfUQN>lw)e#^^vWbLn2xw@?!Mf0duJ-fnrs!<>gNc(WHrpn$h`tDY}OvvqcBz zqU(mF+a2;rV9WCB1%g9!eYDKZ)^)_XNY#E*VhPvl75VRSblS!jXSWZXe&dh+6BIc9SC+xbHQ+Z9Op=nyVt`6~&tVk5TF2-5`k>j( zy1gj;QMJeZXN+J$!Zy5j)@SUxAqXh%k$FwrX4G-#4vWU%9q)^h%{nJj!`W>r;19)& z_NXvikoQ?GGlv0(-`JmD3G(V!`W)M^7h1b=e~0TM&G#(YYS&}-Np*Gf3}(9c%bsB4 zRVq$(+Qmd_J(D6UE)PK2HuSwCbx7;tKzh|zMi;T?M^m69wT1~CUAum3_+3SAPbgZ) zJ?wr|(`&amIX%C3=&p^}9j3a=k{Mn4T@;*!{ty=7+i5rU${iUz3|;JLtb?#Bj&)~U zm6mxNPFO50ktxqIJq%-og63-L9yi1bFb+RQw1nRZ}%*_n>$nl0rrdha*=2GBU0 zPQW}9D{o`GdeW&)Oi?F;IG?7@+j)UffHvLOn-Lv>m#3av1dW~kpsylCp?NM=DA}Nh z6}sb^l`XyWP9?u5OSK~_I-a!_I%X<(s#~v!neYXsrcPl$|DJ9vW_h879eW%Ig)H&U zZUilyFLAv$-KmDS$D=0wdQW(3P4LM}fT<8`&A!+wcc=HvOSbUR`!6QoV$<_m*Im=r z&kbwed#RKIGa|BAq!B|X?Fuw8xmFu>F9g+`=qnA#%1j7~&vXhyD}Ex;9}_r{Cxatr zoek4SCFC4px+WveQcOpSiQ?t&tn7>zwv^VnGQCw1ZQMW%gGTmP7F{CqF>m7wj%Loi z9mR+1*8&Mn+2h?aOqN!BvrohTM$V}}s?gpfSMb{AdE-RPdW?M}lLZLIvfH~rHW@rj zPD-V>d-=-ytanZfZ_PsIdY4ha;_CBASwBJb`_~*}pNfU-&|=QhaogXa<;fc%fLm@p z7_*{#QDYAGd6Ob~5VM}yJ~HK4TU@pv5(b2F``*NZKYswf_V{Jl#(37+(QL7egNV?p zLgmUUAkXQRenv{3a{BR+q4WH8-xYq0Fp_NA^#9wAi%e0z&cC=-91;xvv)TTw|rj26zpsYs0+U1wroAeCdCsyKV(! zGQI%1qDG;AK9P%FW;8;UWEwS&m}-RU#V_xkcpTO%>#kG`rT}N(hOKxRos7Zove#Se zk~T6#Xt!lWp3=I?6Zj1XMI*6%31OAW7-XEF7}~BwS1dL2+|0@sG@g=&AFDCjDo;th z)W^6WSlL^>Wj7+$boH#!BM9YAwZq1@t_Zn1W3)FRT$`ylA2w^?JcA}YNl_dd%0fBl ztdOSgbAni(Us6`^S35VmxfZPXgj*azWTqVUJ}DM&<<>(yReMGOIPm0`ARR=TRQlF( zVDaU|P6}pb|0CW5w}9d5jmo(N;pui?`jOR26^8@k(DSfvAEU1gXW!>s-Br5m_MXmu z^V?R--pbXLdEYZBHeolYb|u0~tu<^RIyDk|D;M%<+#=(!^rBUwaAJc%e22 ztJvb{$x-1X0(u^H2>g0Gk0Clre(N$yy3PDIdcO0RX`80U2K4f#kf5Z&=o$tW7lL7? zPQgnnZSBe9_9M?e<>@;t)zA+fM6C=D{|rVUqUA}*3mD8f%`2Qr1ViQZFZKMiGf%~1 z<`7wK7mGkHXC_)NJMFiho6-MF_rqp!?nwBnQdFmpM`5_OSC37L4p5Ue9+Dd8ryH2O z3I;Q4Xl!(4x@ZZea6!(LqA}NNOqMBtr`^ zV7y(s-#1eJ!`CI!3w8)h-#(6rO>dYGT7N+K^x^6s?RJl<+nc{jXK%6OrZS(TAq#X(Z1`^(ULHRFLq2$ zO}uV)CmD1}XD2Q%;VAgnL7|}haa3Q5selG7=TVJDxh@qe`ncp&a9j3JZurWDC)0`U z+pBHssO6rXCg^eXLOsc?d%hYECsm0QGU5&)cS%#<+GG?m*7vmah(Wp(MiQi9&n~F< zf*_0`nk6xZ*(;=e8oq}XQ6U#$)qc5Vm{-HkDge$&?eO0G4m5mgCqjbpB7(Hh?y>)` zR^s5UAkvC2?M-*>TJ$jSHbmpg9PBh?Q~dH8NS&IUEsR60M>@Byfx|aJ2M3ODkTu!( zIkB6aa|tCUWM^5Lef1(FwjG{P(T2Df!qdLAy2gv;RJMsacibqXJC_`fRf6d~34Tz# zuuZvUQ4I=TZEV|8IEcvTSsq#)hk-mVPt8aw=f8d>W}AS8F@;RG+2gUvy5RGMqIQ^x zzsz?rQ&G|uPTKt@6Tk!A!hY<33y0E z>oTE&%_Vm{BBAejt}k2}z$4uW-5Ks%E=nf#yi&&qJ;aE4bgl8^2dG16yEnf?)91dH zZgz$%JNqph-t^Pc>x<_dA}11qqpf%(4rA(j5mmT}4VF-rq$Kz+UP>IAesAo2&Iq1; z{;O7flL9jGF;#B^*6}SRUhm6|yx`dZ)!mv!!jmxZGpz^0-;b z<>)eAUC7n4A~1-;Q`_a0%B|r?q&u;-@EzUbXrwfZA;Je_cIeGeyNSDYdJ%xzmhoy{ zEb8S>OiOf9H1f*Gxmy}Pb|Iat(bHLu!`A>^O)YsSx8tDF`y>a4uPMhmi+kKHYSD)Z=v)|O>OONpBu+V)3a_1?L)BQ_XVOVy2*4(+0gGn9rH4(nILOJ zZTiwHxbvjxiELM5gN9rig{~$F(!feL8?%~t`VxPeijm#0Oce4CM;=nattL(gpzB6I zXdmmD%Ve-bM&FCgO)eK`&ms*2Ihrt#FmTDX$c6v8GyW6w`ghmak@Y$ZhmfhYy+zfl z*07@FR#=FeW1G#PJd3+tH8S;VRTig{#`h-=+LZ^rX1u5mp-XD2vQ!iH)hMrrPCr|jt&BOf zC3nS66FKAG+xVg|f0V*_^=F((h|_V|#9Jv~emlQdoNL^-6n-Hn4ck1RkAf(bZ%zG7 zJ1tglZe3=yMG2qr6DqPE59LNDnXAP?zJlbGgx~x4KH6|=Yh$>GD1MK+gN0|82s+Ss zUOqlosOVLa02O$9iQTxaXu}>ymENBG`e=U{qNp!`IC{#d%Inim1g(}fXe_CCV4eCc zij{fnnbCp$GsX?Fu&-W*Is&ha;>>i^_B;FN-^>e*J4qJ~Me0|pU`qv(!ml=+_M(xM zoW*gkq0c6)A4z;SGe@hicT=3Ri&K--#`vvzdKYL^lP@-(`aByN;%=X zAc_%Z+c)-3J!u(bJTRfra+z)Ml@dGGtmhWTUi#K3=hh@P&*}G;$DIoP`+}it`YD~a zfpMhwyh#W0G|b8_e1XAnQ5@y)jCm$mknvzezsc8^lw~H^dj9!AFogNXN%`+LPJqej zXAEcwsgO)=om`C(j{LT%niAg!>3}GcU*Ap$VX$G?8@U~gX$#RG95Pi(v;5qRUSaTF z$)rm<8t7{XH6TSw$8WM@_7k=a)+^7X^%%&+Y1ir_@Ur>d#ZK;Bljc*K_l4lc))dwH zQSMD{GUwM%5QQ&Dx|A5aMO0riCS53XMwNC%Udmneh&?&1_%;tccRX53^qLIf#}%rMhdF*8O;Dy;i-gt%Q4I4d1%Bp_l(Hp;lT~Hh_*O+7y`Pc z*&?VylP4?3VW=T;2PO3*an@juh=prF)Bi=CWpf3!c)o3bNeVt(%Oxa^BU!CGqC>sB zPwv8eN|^rA6@F`S&{oeHNz z`aF-kml<4qWqn*5B|f>xWk`7KYgi7cLNH>QWLgH__m$O$iraW!U?|*zj9IfZo9A#Qc} zLOC!a8n-+PmxCKu9of|d#+!#^UQUKJ#%>ame}){shcQ%N$C4^{ZXHXs81B26Pe1ue zhHVZqniAXM@v7#xU`T?0D$)hhKQFXp7#^ZMGA&mXZlZ`Ak#glZ$y?P{v07!*<6F;i z%ZaNi#^1<+Sj!VtSwAiJl#YHV(6UrKDc!#QT7!jwQZf%0b!=3O{C6+F3gbpca&48g z$V-#wU+M%&=JbMn^InEhLQ|K8k3J9 zT*FX}7f(7$Qm3;C8D`znPwVx-HN~S2@!j->-TBq?`47@DHL?;bmfVH|4yFXrqCF*sb<(Gr!rz0;55&%m(m(m zz4)|aYELCg*~?|+!($w$dsbeBWz<^S*(WS|?sAa^qV;lQQ@XR+cIj-AOw?sc6ik(5 zrzfGz_}jMean}_*;}D7J_Rbu7NRFIOS0$tQ8LuLbMc;559e7>(w0w9?MO_b0Ps@Fs zDR7jNVH3L;jC)0Ee6 zIyJX;azNRy5(rrz^HLm$Q@STUL{6|L>)u8oiJ`OJmkXYREIQ$0T;T2vkKnNT0+hxk zAN8>V&~kN8(z5x%t&g;DpCubGj+&LgT=_A%1PY zXB!kIXfGJ$l5*-WmBf1oGMRFyBKLJlqoq&weBeMpMEa`ooXI;`*~vD;!fpp?)fTU5 z`|DC>eo;cwhC)iCj~Lp~{jj=ph0noW3{{dc7vFQZD)Q*#EgXS&pzIDr$lYK;V{W+z zX>@)9oPJ%D^Nm;E%=p=)q#)ezPtv&%K<@7Am=Z%&>}Kbv6qy*%2=%(-on1DCHFF9z zTL@sF5{hCr>$!ukj~iPI`DH{Bj%_hOR!r&DeeU<%Gs{5=CNa~BIEu^T)WMC*Jr5&z zUYaDgw_Hgzo=5Y4Uc0KMt{iaoOc_OdX7zGN7k0*s&=Y1YB(MtLW;LGPi;Axne8uz# z2n_0&U;%ImrfP*|4@17(_ihc$kS-Bx&unR(ghP9MZ~`HvV2}JlOXbkRYN>TV?8mGJ zK_OSlDRSpw-t#*1`k}~u#d|+SQ1`U2yuukMeXLW*xcq{ApU+lq(dt%Ga;I7=w`W1! zx%6h&JYybPC&xzR-LuZO*67;|!4MaiD-~m$iw8##=F*6XO0yBhTywv^ku29ouBMZU zl3fLwHiheO_B7ByWu1~&;;a#tOad>v7kAMX6-li7FU1eC>KQEoAG$Cd=dYd$TJR z)7mUh_MynCR9ObI`IZp$)D#B<0zsqEbX!}W@kft}@Agt~;6!)i@CgWnhQ4Y@0623D z8zaS(9D|nW|MtOJ@E*j1=IH)6+Pac~`QV10vuSdpdaJzyhzbLUgr1VJ;AY`vO&L+R z5wTP4oYktZ_wJw4S;lI??4a8&Ps`6vG4<&86X?3nU5iT@*NW)kwB~*<9`iV+6bL+t z!w{(#&#BAw{CUI0qJr}IpTyrXpxo3M-G#QugyBNXu8+9*cc^hJ9{gXp_xQ;o&SRFq z%R5Hr|Nf%DH+=ub2!<0{97JRj1v5i*{UjZ7+6f1pDQD8{zqxxZRpFlGqW`AR*hLOO zCeJZ6C`T6VF`%Xd&2eEx%y`e`s|uFavf2MseV1k0Bb4Mi93E|;OVej0c>9T%PtCi; z7jI@f79M8d$UA1oU;xUq0L|1=zTKl`ughk4;W z0Ni37`gm!s2iPIGM^0<-w*%z?c(Gs@j%Q<&y5Sqkl2dsW>96k{*IovK$%(%aDXf_D zdc~>3HeE1sc_a69ckqe~%cKoz_V095o^X83$;^BMpRi$167_}`8O~O(#?6F(%f8Ew z<=d{5#DmH?)T#L}XN3BNp#4{T90)Ymn)mBFG5z!YZX##!XB>G>@YnnoM-%$#oH2=A zWc~!}H7jIaBPA71SP>SIQj3rnx50>anoQV?@g-gNV*jwXL!5CG^k5=-mw2&d-gew- z5u!iuJ5-?GS)T7y^{-?68sV)~zGPsekvKQFsD=_TZjVzHqfo;mF=#WQ{&-)3{64A|GA0T=n-GtvHt7yGj`6=9(9Rm(9t1+FkFDDhxD zJN7M%@9R@qVf`1`=Q}lYeIJe;c4A4dQ$``&09`#!DvV4{K|vu(M&jUcFrJn18NgxD zFz`KkFZX>A7Vyt^fOX!Z0T*0i^NRjA7!G*z26l+eSfZ5L+pRVM~|X`Fy0ZkM{KJbx&kB6%D$W^q!J}ebTN=#Vf0AwEHQiej9}#<$Hp! zb+5wbvkL1Q@9(6wcRG8?)0p_1gC2#ZlqAM<7eQjK{T2ZAk}-g~vV-sky>5^nxT^r%ba@?a?$wIp08MeR8i!l|G{P z_DtB1y`%|Q3^=3`!r#8UX#N#LQ>^)+DPJlAG=8;Tfl^?+i&E6wloRuuQLfuE0dVip z+7%Y0-cKqC0+euC!znH4<^j6=gXjNVoPtzf4|Q_C7!3UH9(qE8b4LeOa~hL4j)&jf zwhu|NB}5fSnlOF^Ibx$U_&Xp1evI`*ECR!$x9-QX_mXjkfYu^2gmC1c;GA$1psAlE zkPY(oU-qRl26%u-DSkF^AODm40?v*D9*|k{;e4X8D6mPX6wspPF)k{A!%%%E)O$4d z>^^QMG2p%p$dwp0P%o}^cI@W9M!ge!qnS<~1}c;24s>4ezzSznMt2Q!`gxIQ77a0RI>rSZQ`CkO$!xtao*~6@BD;c9|a3 zQGvhG+3bL*9QYc>35JhbP}Ty3kM4}OlK^<`Ws zSUEM>IneU5h(oXH9n$amVY$n6a`en4RQ${~TApF4hO+dV>+=ogbL8==v-xFzl+z+L zcZ`bweRYOYnaB(8yvx&&dO@$RfB~dF?+?n!&CQ+Mv%%?%^gE>2ZuD!oxw6GDdyx(w z{3L=N#Q|yqrCkdVLhC=uS>O5rIH`_0*Nw$q;hjwtVq%XMYl6=GCk+S!gi2tsqen)3 ze_i>HSMdYT_^~vG8cMOUhPa`|F-|hL9*6Khz zdby%x-8c66&+|6LXadD)?Q%a2rJ6Nw^n^Lfl#g@$o!gWtPK{f-JBVp0VJ1t|k=rh3}dltqWvPVZ9tfOT|r1;>wQ70f&YrwElC2n@imaP}N8X{QaNPhb3VIfQJ%pu8qUyhPpGP zgBZ;fApWB%BqVhH&N_?}{*AzIH_&OTYV^1^93ukAjD+l$Mfw)W*hYzNX^wJOb|=y% z`^wZljE5NE$os|0S_WhdFzpo@#rTr4z0Ra%O!oi+U3_$461UEzr1B#*59@bwKbQ1v z6W(*A?<+KxegfVNc%NSEIHkNHwQ=XA(+<0G7r*iheab^hMhTmZrMO&tCmLl+(Klp8 z23)oilV*B@FP@ISk~GkVgTIXOcOuo?zG=?t({OWp*2{=fj#8g6T9?>ZAP+=L#I*} z4k+Z&;{axvqUP6unF*AXj9*UI(yk=%wvyAT7a!JjP8pp1?bj zY}DM#Bm&;a%Y8u7u|;w;6_5nGxofn`&E&qr(?DnKGGcUv8pZcdpny><#m-@&s5u1%Z?lA?`T&q%s??Nnqz#2RjT?T+A9PPz2;t$FKAG0(tw(k97;W`=pLHSd*ZSDVTg~vY( zumO>gi$#DY0y;G|&^JU^y}IfzwP0TB7#SL3_@3$%Dss@xYtbVssNbg=fQ}(hKFNs; z7nQ!|EWln$05Dpu0;K7YAXWpiw7QnZXTMZ6Z!>& z3l|yVtCwuN4pRz#I;F58AEhW#P7f1heB_-b)cx2pbHm%Y>;YN4bqhmb=G*mQO9$=- z?2RcH+^2&>9Bq2n&$X!~3ldG0YPIa4Yxip1maq1&BGYLnzfP;CYwy-=iZ~YT-Zei) zS1)y)7+9k1U8^4E7ssS1ot9s&odubFzo*-NY|7m6RUB%l0WW^2oNp1ZKXZcA^aHq9 z6tx4oo>~50bl_gG3%dgt27vC-07^T34@U91YCwDq33=Uh8zuFNz?P}*PU4lRTx}5J zn|8atI_UzaTSxsQ&?R=mmxNC!o|Wix;}O;)*_ASv6q%*rBM8PKL=>Rh@J4n+W`9=MwUp|Wp7!^5B3;MLVB zt4~OcZcs-6XiaG9`wClFm2LJ#O&9e?E;kymm%`VDf3`uK0$>qpMx1b)8$nb%3RQsS|bb2vidZsKVrNZW)dy@O_jP_n8_dBWDq!N((xkqjQ+@ zoJjYRtt&1rHnNDHn9vzFi&5;Z71E#s3wX#~xPV5nrBXJY>7wOeIKSy@(^kk5PSS{OZ2PsaiYLhV!i%Mx9#q8bn^xLD?q_E=imO|>CoNglBQlqY#|KLJ;@p{KLrI1beT`L1l4H z!*g`P*VFzWq!`V6pH(qZ1~vmeucfRoE}rPc7Gh<-DDv}P?(tXMynTH9Z%XRc*;HQ7 z;e^8Tt!oYg@>M7(;+&3#HB;^u$v^V7vaM9Wi~zpT)QXs;O_R@t?kvxNdcJczZBRR4 zuq{***P3;0b5>I$U(MqU+=YkI#=V`r+IH{pQP2DF6aBLB5UtQa#sa|A!U@?a09&n`81+oHYo86loJt{Z6 zoF}&kS5h0>m`Kd)Lo1GU^VI_ao@pDZwhzs&KnDQ8v%72}qGY2d_4T07nC57m`me7P z{GFSlmD+6fl@9v!gNoS}7yzS|4R1{|^t_qkADyVwi zGga=iBwqnNnRXWhj>*-psuK4CJ117epIN)OxAf4son`}E!Z_-OVa6%bOt~8$xufv5U;AGIr}Y1RxGaU-KSHUvflGziDLk7L$6+|>}96ptxwqQ zyDi^^ouO1ieX&v(Q607xV>Ye-EEwjd5{|k~^Vj zr%RDJmD@F+Vz3c8Qk;w%Dh>Wo95Ko|5LB2KdVXV$b~DL>)^Ox$e^Eqb=KpjV#P#!) zT@TczHaRy^AAo7-36ioL9UU?0DGz$B2>`L^0nHGJAsdc8Vo&jD}92HLji!x#{&4i*)E5c($J{2C$1?1kmNZn7Da7k zr~+V2|EbUkngX7aH}mMBnfiEy5MWtqPsq zj20XQwj`4o4tCrKHCk-Rjk@#UcLSHRIK7Daw;!MZS3XgL!G(?F)Dq8ztK&&0!0&O# z_PlZP2ncMY$%}tyZGsoe4#=`~W)pD{1&=oHQHGbOt$BBtp=GIj4aLpU8rK@7 zT=f-BHuma9ZupF2-GVbgCG6`Wt_?~{UrT&h?eUE(TIweozC-%4jL8|2{>44SSeGoSAAy$gvAAQ`=FEja!8c#C` z41E8zR?l883uYau^QFZ}7h7q~1M0f0#63i_Ui9GoS`k3|j44_&HzfK0pqtCIqVC&M zyFjwVA48U)*z4_ae?-TP1Ur%nY#e@ptj(*MpM0qL3#{NO2_=zRLQi{<883c1WEnsZt!Qv7o) z)9QS^e*XF!bH-!V{+OP3Y9f{@d*l6$N@f1*`SmlU46*6<$NGH}{dv@}8m!s*=Rhhn znBc_Ng8XbB@R$WIKfu$oH~iT6Zp?;@sDdrSMqYl?VPIEX{IcptRNo+hu5B_`k6HEr zbMg_R!5~VG4*0*+&L&?LZwcq3p{raHmiQ=3l&sR$@znmVF}xVCdMO_Q=&%mCaO8)A zuHO8#Oy(|`ON|<{IkeY1=OkBS}z)Lsm~#jtHqphCk6dFq~s#lh$m5l z={dK2H$Rv&#m9(74&LDAHjfFWG_9FIPYtH?)wJNW4T4TMBybN56_~X`>zAC$Meu z>eU)f4Dvg4J|)@ip}YF)EVwt|un4ZKN$9RL82!c`kR?^59Wlg~x|ju+kKNo{#lu=W9yBl2+)B$L6o7CI?iiUr@1A^sFg#A~FfAWz5>rCG=niS}{)g`Sezm&Yp zmmE0MPM*I4oMcNpiH)TjHC@4vIqU(^hLQ$q!;#Nkmm7Tw&Ra$=xHc+e=BA-=I}iHA zxo=pwPXqn>Jpn>7yN4s6sRFX49~!oPH*aBpR;k-6o;+NBfS+4&p%g7S3J`1w911}y z16fC*RhaTgzUeVJ<}?y%nEFW?QI9s%l|4zAD4&KHMEgg1o zdc?zRI=~PG3emSvmb}>D0Q;Ew0EhFL`vPfsiD^U96z&BT=f%76H-6W%7fbO8c6`mH z5ki_we35*ta2?@^9`Bky0@mk@+?q>UZQX-qq!~Z=T(F9K?9$mq>t)=qp7HV=LhNN0lyxY zUU9z7s*W>`l#NjDerY%<3q>oi_SNhqHBBOiRp17U3EENYa<`euN7Xj_&}=ZMUV3(w z`!-|;Ksob65CC(QNv9R!^;LSEgpIDWt%k&4Zx3}bYG@*)5gtGABPl(iwEx*-7SY=B zXa8Q%N5F!v*FhiwZ zYO=Ara4PVouX@4A$^lQyN|a3TBDb6YI{1#0YaO-aOvu8eBRT6nFC*?>M99J>$M-Pl zK4~#D%hpuKQ0nPwUFLDVw#`%?T1I^6nL|b0c0^OfQ@j8o>X1T9z{z{E7H7D_K*Um8 z(IGdNi_JJ%E=kA|K=aaqDKzljZKEa%mVl0XMG6{h?AVN4V3MI?UL+HLN6s_nX7_N! zE8FV8#h+U<+~QY#X-<8cmJhlNsXXEDo(Xtm<8;mqy2UAPIR^V21W+!m;g+uGW%q4) z{&>dcYWe!)*sz_FJsvoSo^^-nFsnUR-$d(BPQ{K~sj>HTKi>8CkVcLEMBE5FN|*n@ z0cU0%YlpQ8d%~I)0hMUpv&a0TiP8qEx6gvaFO92#>r&&Qh^VN1}cSP-;yGtCkC zXA0mp-{6J;++tGHZ4F$8FbdEi8N_?&?mej64SW>h$B$AM;M$y8nkub^FZO=(#2GK%RX$%j0=&ug*DI-mE3*&r zV#Tr-B>&~BflxrYLw$-!j!v+5=evlXcZ)fmJW$Q8Di*=1_|ks?idh-K}2Ba8fld76s06Z8l)8I zZUjWWoBeF}#`k&me!t_GAHy7a$GWbS=UV5Lv8r>FObXrRH?CvOBW4*j@+nMA_y3~P zw7Il&hxXIRnjo8tCZ+~$%H~;d5N;8wCgYt(3az`9Z)-@+s?j?E!-Z&n6NgfzlOjzy zp2g#UQ7$*V$!7E4I*0fBsHEPwk~oJ0q4Aqj_iV#Pxazuq5sw>6g`_?g7mUF2F%Y98 z(0tb68avBdj{q;%X$9w_mVnrt&!V+IYq;f=c$sWRsuA~`*A9Md$PRopef9^W-yeFng_SjdcLHNMZcTOK%A zsj-qVCEZhC3U*M2)#xz+YW}`xA3k)?mN7(PjUOH-K~xEgmGNJ?uZG`Qj{_m-(>TKH zz+4#JDUi;<@h&vCGrtWzqyx%1=DCSvBv9{9qi+uc%s%eFdSiB;HdO4#M~~d$8p>}$CrMjsGL+W{nHsJ#l}&7_%qLAiwA1J&c!zwp8Wy|ym4!& zp>+;f$wflT&#c|17GK=mxU;;qA6&y{(R0UEqi#BD05%%B*V4{Lx#xEZD=vDotQY-u zh6b5&x^kR`hhyk5Fr;@ZJ33bfywr=FiBW!2QFlX%!M%rdA9KHboH4-THY6P?UDZo0 zim_fGFAOVikyx)7>`8isVlXrt{N@^=GP-P_=4D7axGyDcBxLx;1q5esL&INDa}2v) zCCGyD7%?c0Wox#4W_$$;Lv&4?n&?8}H`qgkw$ntJ*xrzM62^FUr zH05@Js`7`7Hgz>!>GJvDcsrB&Sy%9`(Mv_GN|lP6HS@|(+nN?W@=D?)3r0p;n+e6N zw=1Hx<2cb*7vIwPIKEA7s5K31cL(k>_W@s*U?IQkX zE3-ei>eo!2Z`q_?7gwf5QK!DzSLR<+ZrR}vFl(T!lUNf7iLc5h>;=;G@h60Jn&-zG z7b+(5GUaj$3Hn*tOdP9@JeE{?AKPU8J|CBqx#RS3#?hauR;lGmF!-{H^|n zpyTdldr^xmwq0e9k^_1&#y=omM z)Is*@=!}fWBO?NEGsh7r@f7|#hQ_Si39Ke}A1_XI9>YPOs`#z*X z#?xvVCh#_UECtq|hg-D+uvxH1uD*l*nO$X{|BY>ae2%;R2ayF(8zi~dj zQp!VRW5=kWYIxi!54A%9jX)zAM9;`RHLM4rDZrUr~)Qa#Yi01ylPLq;JV ztqu0oJ3H8@yA#_uLHB1tOdOQO9}-**kf3clu9A{ljXCqqIjteJtr=<=hRT@Gl$}2M z+^xDFcH8P%Tc4LErVi&jcZ-*+5+e$cW&LJZNGYHY#%skbPWp#IL`um4f8ub9YCQd0 z+IgZNCQ_(E6LHz#0KFkTghgg&(AFM?5%YU}9A)svR9a3|cp5K;PMV2>Xj4%EV*+w9 z9q?>>qM#MtL7|IjIBeF)a+oW5UH={-{>rsmG|{Wmv2NY{!%Yt~#Y0~;#RwWf9Q4a~ zPjE@IfMfe0RhGX1Kup~^fO~Sxd-s>F&|N~lm%_M$=A$p=8I~VZOv)v^eB+|WUEf#e zSl?>Mm8(UGAh{Cjsgh2e5ZzGlu!_+3zMUUwJ=}J&6uy@L>mQj+Q^!HG%C57R9e%cc zJn05cnMdgscdtoK4%!m}3e?z>CO*OOs9Xwz23L)l;(Gyg74zZO53<+d-u~Kt{{uz) z&mLK_1Yt3&7JS0F0e8ek-75)d%SX#$5)KU+QTT|`XY)fsVU0MEw_r$hN$-S)MfTji z-T9loy^Y7o6Xx^XyY;Exhw?S%fm(PJ(6T`&0qgO6hr<{np9mBk&X1cIn4Xp}{)RF8 zB?-iRpyojRaSwEHhnkX53L{OKLVGiYG?23|)|4?%D(p(h$`ik!i@*rT$ZUo>zk2o% zfZEz4-0Sx^wxjiagcKHo(~d?Qv&{DE98_p|OrO}5bu#DFh*~!sBa(K#6^wx+7YBgK zI8YXew-cP07!71#ghjR<`A4hK@$drLUN0gQMA%jnUsdhJtD zD{VX-pc0OqP=ka1qBHn_gDF0(2!GLAr$OXyoUv8uxBZ%!a04v($<5jpa^C%+`!#AO za$kDy-imFD6yyGRg*qYDHjUQ((1!iwwXf-zo9OnX`)95R8 zV*F)ifxW|ayu;)9OJe7%M+w4WQC-8vv8{hbrk2tlYJ-ukR3Gw~!-IHGH6|iqJUlE( zwd_Q<-*=Zl8}7cBzBN}l4@TY8RmFl&Z2O8FA$iJP7uKXxs|bvA4ryGES|}8pKUiZz zRyuOWY6tk7T**|a7?-9up}!0qF3#by_%YUPwJuU;d0tic21o?F=RaZdrVu~_;XuER z%rVyn;eQ_P9o=mJhh?Nlvi=jQK7UqC0VI+Pdc@k0;c5h&j$C}|V5)7Z#y;ZgIV(;| z0ZnbzG`+`IphQci>NKw^3WSob)4S#}xL{PyCSqi`qssCoQv~S;&Haec^cY+HDs`iu zZG{8<18n}HgPA$2tE<^S9}Kf%0v$d%$IDoD?Su11H2@8_n(I7Ah=AI(Oj<={Wt3o% z&?OP_KXKOg=QykHHl^s_ruY&V1j?p>es+S$4v2u-43oxqR_+HGM|}jf-I|fdNMGiV zVw4wS()K(m6vf3x7&Ii%AG#A!Bh~Sc8D?t840`h&;*+i=!yKnfhroAT@r#`e`ad}n z_isj9uX>p{G;Tl0umV6KXx+O;&u!D)SOO4@0t~<1wl@Yqq>}iZ*p>jujxkl)(QYt> z@K0rcg#flxvm?Yb;a381Zd8|^!j5numJ-KM)rz=KKKdw1RtSFm8TU5H@j<52)Oy|PtAB$&Y=L0Q9ON3G` zF6FvwBeT=gOfNh4IHI$k89I&8-NqcEWm1=DmBuSg+fb@0c`%b-M$LE&c(!Y4w!MlM zl;(9j%nJ|FJwZjFfn^>{49&Go{BDf@c9l`p6h6Oh>O+JiiQ!t9`cl~q)#}252!%Yd zM>J>-G$;~SzicmM=+)-7o}qc3jEZ(ucvHb;c>Cs?QEIS1vu%dTaa}F8IAe65^g&4vRpIhJKJ`&fb;Mo+`luU!N-pnzX2^g*jUSUjX_2!xUBUGKGCnh$fy>>&)PWVjGHIinZqZ8 z+4~TO$d*16jvAn~A87x=j9ISRi{$*=`l}`4oiSibsO+>;jxMSI0}`;-$E`%;F3U_j zz9BXkh%P2!mX&LkaTDQiCnWy6^8i++`2+nkj*-J-nE^cx+*BzDYH(HX^&Hsn`9Zl& zHL4t1C`m*e+k6H2mgJMq5IlXalHgZq4u;t|w-RU6yjT~l1R8-^tDGa*Zee2pieWj7 zD3&y?hUC@tx9v7*cF>Sf7(Qe}bWLyWQF}ElM9IbVHA))P-gKNIz?=o*A;B^m(DwX3dDt& zu>nEH97lnMQ-JJKCdrU^nJ2=_v%=neX}3tB3sX>d{Cd}Tas$MOXPJbXx7c{El9U$* z?Obb4b@ign>^g6l`%z5H@T+0Yc#A|>Xq-;g!iFG_yf2=Gl#1$h+FD8}J!W`!-q$g; zL0yK#JXbm*g@vH3eRn>kCn>|QLEcE+f0dADT{2p+yJg(ntGByrVqEdPM3ccF<4LZ@ z)QeofP)(o*s$DaklHP~Av2}wVc?(dU4vhI*u$x*CjA);N*)1-H?bY=#ko4XSN#UGw zSSK#cN^KSoG{zYuO?p6 zT|aVmmE6-<^m4A}R~Vr1q8q;*Z#lB>zJlfLn@_L$9EPi5DuSzi4LN&HX*PD{E*#U! zsVK(FbO#6?FE_F-UuYV=1d3G#qN8Q)m)n2AyM^Gl@znHpb7RVScIP#98CJ2pW*1J7 z(h&wp_Wa!3%0)3}Xn7?x0D1(+xH%i;7{z(NO&KEuW}hCV`toRSuhTnc6~rBMkZ87Y zYKbCudOiK31C<>3<;ASyBQ7o5gHg6BEjmC6fUAO$C0iTgZlHEl^34;En_iV|_JzgE zi_(K)0n+2G!MS$%FSVK@rkwTK@n{-v@Nvm7^iNzj7|oOsJBks~e0r27wwyh0`|~q_ z^N{&+V|3+ClwHL0JGMP(9EasQk<#^IaV*A3jZc84on%EhZNwYbIouSPz8LQB1UY@_ zUWL&_DiZ6X-B#SU?;gqblN?4SG{Jwy8E_Xr!pj|T4j$=Wiz(ll+@x;?5!ijUb?(HMd|FulUc6UD43ETH5uCxvJ5(>&v1F~ z`5Q&}GEz?9hduxCunNA?7Gv0mUQ5f1y3Z?Mu`xqI^J>sg(oo87ORSb5^x#Og?0!+f zJ75xI0tobJ!bs2&ghUi-7~#_SEQCKNIlE#(b!iTh76p?qC6c!zy-4x5S)N89pI^r2 zxE}IXhRH;~Wm2rgwMFyDt2zE#nIVN~KyiHZn;*>bKJ-^T81$;PqIce4=uXpP)}8H{ z5x6XlaisnjV3Lg(po!-`t5wc=xIFW>j8`OZmQq zT{@zoqX9#!jRm)DO(`K3P<^2=(w)oeMt0MWw*=IdvxQQG2jD?S-HtLE~}@sS=3s#S;T&TcPPR$Izm zceiR-GSkepDi(4OKDzJE5jt|ImM^r~^G;NpqvdFvBET?Q5YNZw#vDCI8BiG}7Urn8 zI)AHl-`K*2t(fj!4!{&Bc08B%=$UWRy-bzYdYC6d!K6^BUeZN7QzIrcCzrW45W{xH zl5Wz-;}xU)_<0}ydaCm+g^mN{_~j{S?KOJV+IvZl z8d-Kq9q3hy5Cl<&IWapKkLK`AHC*Q%XXFGrC6>`W2fWTzGwQs^ov9(Ban4lqQFJVy zxzhVmzsekWiLt2Ykmy*AAhYB9m>xO74(mj{7&ax_^ejX0eHAYC#G8CTNMZm+fpA;k zcCgUiY%+2tTt3^x##(d5AAybW8dyyJFY|q(Y1T~Z1`mUqw~qu=fMUvk*D{gH_p6}n zo(;pNe_}X)RDqCXKvx&*ghI=^zx1XR>>h*m)lOpMq^FH}U>alQHho=rsLN}dAUuvH zrk7XnTPH)<^&^Xs5vI-=iA0;1-v%prXS%x*e&zdvtDes>Az6TY^Ejq&+w z%~S*5%}J~K$J{hM@a3u1vM|@ocAYjD>JZ~*Pv66rbzIVwR3L~g9K`i98rWfCV1)-+(FVyUL!m@#AGhYgDoCa0lfw~+imj`pKcyd6l=En8AaDL86Rq=}$nE`LQ+ z=UR(QBLS-FXvl|Oo#dC01H^g6QFj|mqIcl8l(OcdK~Yq_M)w@zUPbT0Hv82z1E~2<%kF#}49!#ytt0TodTNGZVAe@H}O)xRUH$Flfnr~ zjafe=po#%{8SrC0>7Oq7G9qGz42EREqh!0uq`kaitDOdbWLB;sd0ThqHl_AD*E_Et zIbn}VIC+@ogS(6r-cogEn)}I!-Hb<&P_Sj(WAq3&koCvorpTQYKa@|7WLM0!;C;Lt zR>Y?-Enzp|w_4wBzfqF+GfaG_gB&OVZScsbT=d;}zUQED)6<^+^ppd#SYdpuRVMX< zV8zAvb2vC8d40LlTZC1^5>=F*W)+1!UPR&-*3kDRiv3i^WevNta>vd{y4&3d;eP{? zc_vf#;8u4VFkq5JY_*rVW-m-&@JOtP4v4)bvt4amL>6a}%hj2zJQC3t+tGkr=40b!1Gk=%xmKTlOMqSeggKWP^iLM|$ww zzfb`Tge9Ig5RYS<2>&GuI=VYu3LWWK$kN%f;%fnXwaP|4Sxii6J#r)6&tXPAidpkP zTsF^y6ZX?sns%RdB^0pOia#t;tmw>4bT9whpj{^Ou}@GgX0wx|FFxkSutmOJrut8` zRa}(!i{+*VX`QZe2Eu*)I6nwz%&65wAF9a#g=Jl6Po#ZiMc5uIkaVA6a-ADrnhS zTnH&6iRX1biA*tP{139lYep^xFJMj)c3Cjo)l4hmRG)lgv&Nrw55SWCQ9uCBWJ2@_ zJ3;;mRVZ;l^(;1XcgNdHR)^EL-Dc$tw@iM77->mxa+Yx^dJOGDs{!YwK}9d{zIIhS z>iPEpt8hD-(jB;CYEP%kzSe=2TG}c%r2Ed)m0X#CL}fs0*y_59;^+@H6Ft7xfB0%C+5Fi2QaQz z$bca%Ox>j7uUALnF_sw8Go^2@m`^D3-tcQDJ+jR(bm*$;OuE%U>X9)bAR?~DP1|J^ zOIB~4)zK7l(>b-thi{#6^ zDEut7r&izScg`a-%B<;?6%wn~h!^W$#>QMrPhUOKE83lyD{LtB6V_#+c(h`ke}!z1 z?m@!A#GIG2KAneyQdPGKUm=;NEaaAREig&6QBRcoJODT?`r}#|2Ak6q@Ny`6w31sD9F`+FB|GZ*mAeZ z`+rCpP+)+Q%yyz~Rb;PNXwtLdZkuOsD(Dj)k3ftWNO1GXRN_u_b!UQITvHlv>ZiZb z8V{RiR?R>gdV$(%BU1);OCK3AhiG${YeVHLaD3mw`epd*TKTCTm&ZJJq<7?iQ0B^Vh~?+M)EXECgkuK4s4LH< z^^L%YLr|MclJspZE+9raKm}=MxISF5Nr@EsxnY8XeqFbpc=g*C!X?nrY>;a({W;^C*cOiGo0{(^e&M?_AWTdi@%FdQcNO0oV%YSujR*%bhdw1}hy!%++xpXK35r~RlTh50$ zg=mGsSic&|YyY;qkAbDYYYM#fTXtYWCZ_UdRT@ei36%c&ffVDDiL2~bJT7%u?yPeV zoDg@~BZ|#LtEeV442m%!jpmjs}djLOY(x`udYx@Ym771_z`8YJ0U&OXoa6Wz4BT9c$5 zKfg)rJ#Hr%7xZRPEeI){ov*2v|0;kJAd$d(QGUmO{03O;Qhv|%=+DQhtm#ypn-O*} zxmP%lOr=?wR_wUB5g2Z;ywP{p2tbQ3bLo9+_1*kHUCr9Cc9~u`07x$l>bNP8fP%ca z8-HPf1waR%1M1uLefAFj#ofFIybU($0X?#HtDt2m0@fL38fN*;83fOSyW)p8Uv-yh z(P)-KkNLZlu(B09*4?34)FqK(y8|#%WrX??IauGdmv(=3OaQ;; zT>)X;RyDXxlF9WP9Ci#yW@|()=10}ocuZr9k)`SSkj6@PcwNh(DH~fg9we!lp+eSYW?H%xn z-(}Qj8Uk~*c~KekZ4Jf5EK-jUfa~4_xJ7%+Hf_P;7W=e`?*0zmiIOQyVJ ze+vpgK8@+HQNg!z_VBuUCO#4B6H2hrJ4QyDYGyR=@F342-A@WH1$wep@g`C12_*bB ztC^2nUPRKX0^`#MmQTWdyTd5(3XL-DxWB!^T@X+#D4@qh!~u;w+Ap#wK-n62#hAPX zQf8UdRxnE3NW*8mSOxuAmR-NLeHQwQCpcjyUt3El}GqEKD|z zvY%K}W;p^VjybfUI<7)BLm4a7`bO?`9@D4ck?)E^$%~6yl33k|lxq~5%8?Kw@wbJ- zL>Dg>oD3MU#}5N6et{=|(N?_)?z)eW=E&sTY=l6$6RDx^YdruoIDHt zOvxf*8Q*#_eAdjO^dPNp1129uH#{vaU#xDBoFm$ocnyDB>yAGVZNnXVK2rTD#0~aL`U4uFHj;9|$W3wvu;9c<^uc zjstfoW59`(K?ugDx(;pt+S+Bg;;TQ{nwIg<@R9;lt2txGAs0WOv{EetZ6w8shJCj3 zE?)K+Ax5glRo@BzZ6fvPJQkS|Fp<8v6P7rUWu#CfZ)rcP`)VRgq@GKd(=JG^?Xd#JrZ%q`uyDDN8zQO(GQT$KAgnR zVb?`Iiof*nJGBua`qS&Jy!QbCx_qv!aB>qZ$LS78U z6TtzRrvxLy9OUbMO>mzZAlN*RBy0W@cy#5WIP#p4vrpt+)^!h`4+3kJMXI|cUZMo! zNs?XsSAp+jND}Ut1aTNO=#=U1_H+IOZEFd*D4byg~I?~0>pztXC6oXKOkT4|Sh z%|!4UR}d`HIC6@1ZNr`bLW3k3lEkH1yN9uA4Li7*^@I0Y|10eLrh7ytU=+)TNu&FC z#imoYD}HmBYz%jRaRuEes_+FgH(y*zRFg@hF7qt3xsa{B=$5-36GYu3^| zL**b!1(Hxwjq6NWq)f#YC?;a*+ywfaG{q(?qFStKEU7kSPV z4(MK{*8K_0kjgQ~uzm)w0D003Q~Z_f+wgFhH9u~hqN)O&QU=;U3a{7>UDgfQr*&y; z)F5~1=9GS&xO-yXdW!iJ}o zlR;<5w-wVkCbZ9Tw@|p~JF(hgA@P>s?ThQ-3M71Y7*y$NP1|k2c*Ib6qk`3MwfhG$ z#&aD}Iad%oEvIj;Q4RjK8ODjm&S#~X<|jUXMv3N3<3k7_{d(aeX02!LSiJ##K1XXZ zk{qvRc|8*~)@k(}+WaH%KGgFYZUcM@W!<4M7@_25b~ph#W15-&`bAr{LXWA97Qi## zUl}fQn5tVzx>5eyjmbzq5#C>JT8!t^*V@x{=Tx0FT^hG6m-ce7E*TZ?1-?b ziV9f;8;Na;t1uWhO!CM;yzedh|qy@?SSSx9^7M+$HDpMv92=u3}(! z)-iY3{q`@g!PGP~*|oL0z~uNjs{vE88dUXprD_y0>r1Fj77Ga8_)KY?jCmQ);%lR? zdrW7;d{S8M8n2tu9{)^?ou@@}ip|rxqgOBqSJv&^fzPYM*Ioq z5SaR=5_Qcx;@6jzefEeqaV3fIcj<=^e+tN5y_yD)06iD(->W~aMC&uErX1g4Eh}hR zdH_ZpzW~O#`SCaBU7og*_$Cs?QpIgyM=@(eJ(jxbFk$dWg})Zmc234WM-3S*sD zy8rN^p~%w$C5D~SPARsG7GyZ7ax&xSN)+bMp~rqhVEvp z%hQFfgajhoK_~1esG3c&=d14+R&g2ZNLFFTXUSwLFKT-kK<37qX5JSa$c5$q&sR+{ zWDtm{gw+oqd}M8~OXC_Gdb214Y6~M&=wH}(K5ATh3&l#n*XO~)Z7~gM-hF>mw`v7O zJeWc&{zBg_Y~;Vc-uVP}#zxhJ!+a@=UuA}e5iN?DKKwSUW`|b{5>Pb~uNFb`n7E`_ zD&#zIQ?k>P-xKX%T9~-~#7$$z7UP+AM2APmKHsg0on{Q3RL9fz%TS zW-Za0_0PhaN!yrFtpna~l^;etV#pV24$A<42w}9Gu zhq4z?*+;0?DLS-3To)e>%odiUK#aUo7E$esxRBkqo6Qdk3~=##la+(&SgT}rf&LWE zYKGmvFZ91$9(@&AgpFX7UX!~!Dp`+GpmC1R8g(L~r>My^CoDI9-_NL?YNDpi)Q{|#>zZk-udu1SIco~R?K8^Qf z$upjvlQjsJR)=f2!XHeha)n9D|42<~EVdy)J7A+Y>5H2gRoPx4SpoYIj4OQ&l#S=8 zkaICL`mYT@sRL>xhN|6;w(1cF)~bP%-tmWGE)JTGGd_wXDjnB04Nw5p$J0-$S_c9W zhaTdfk&VGiH!p^@|8u?08GGneEdu;&*bSpuRD<>mWKgcRRTYbh5_E7Q32bsHk+Yqz zM_kE_ZvFeS1-^q3LGxie0!l&jth%X%h1b$aAI#D{A%^g#=GbEE(HS{IiesZL6H2^n2t#F%0&27=FA11mfZbYlb@JkUov%BHFboU|YWM&vu* zIKG(S{kK8lLk{4exu2Jawn|4>;c@kWuiR$Gy{;Q4SNUk za{t>tK3_~A_}$0Pe15j2h{tV)Fon+=8p~_DDX(q2hkq*AUU+Ghxsu_2vg^_wx9Db&dy?U7esLWM9(r^y}0R*3| zbD?BVJy!|DrnxOfn*Iusm#F%>--U*%|3!`CVJ~3)yiCYjPDtAAHQgwf+SylB%u+SA zFo`_bsEi^|WZ-iMnMoKSX@3HASDW;bP89~LBcs_J0P*^0@bdk;cu6UNJ~6x~I&|xm z81Q>eL2m6YW(GrHWKcHyX0zTy!THgs0Hv5_+y5U&LxPJg1qS{FY2w+b9q(%^qPR|} z@gNk}zd48Mt{hm|(?Ow|VKa($^TL}G!`-%5ADlCa``baD}d~Bd)^!pD_xNmimzgiYgUlH-jtmR zbP&}fQ)2zA2SMPVD`BPZZ}v$=7;oP-H%+Yhtz@8*>@3Mk@Na7b(^Z_1|AL34s21NF`H|MMKMIA*}yf zp$^YwXjPZ5CO14&Bd8kS!E%x0CH_Aig%XA|Wqbe3l+lP$f}hC=Nirf8hSx)Ln<4Fn z|E{+U2Hm#aO7{=T@gHM2EQRRdL9%PgN_VLVta=CVEbtDN*c z!~uP5q;FIUV5P;uz`U1qevREWDUB0}G)CBDmRgQ6NRJf&9!$!$a-^f-U?lICLt?D| z7T*Qc1R}yBY*hI1<1R)nRlFukGSoi(b}xV^10^4Ng%n3zn^Y?-08VJHkp6I6_4UfF zN4)=PM#>nBvAaC%Yr^8={n@Y4^qV+7fq9)Od{fkL5636v*1~Gr5HMwmI`jw1x$6mn zey^?|#;3Hd;ry#V9Y6P{3r_&H>get+be?AecH+Jv7{NiB5cU+;Xt5gtMwrhapa1F= z|1VkIVZu*JO3ErNRa4K0NTU?rO*jnFAHsG|;dB#GaaBy+=EG~%jLDsQ+U4Rlx%{B{ z1|>T%N`9LRj;X0IsA5J*PWMpYw6875T@9hYEqr z+Mg4j4)*uo=H%pDVAprTRTSGL(%pKe(YF3%3yrF ziisE*1cT~FT1P%l?4VXiq&6Q3UJSVh@ytobyHgF)W9&fI1(k z1C$Yb{l({P*Hu+j&eTQ^BIm^^Qt100Za;gSW>%@h_241Pw*&vkYw3cz)89|-mmRD# z!P89{RqeE;eC56{+o^p&FHD@=ZQ?@2!{-*CfZ7Cdq!^VkV+)z1Qcn;7kdSh3Pi+Vf zl)ZF_d-KA^`u*#v;vXDHuA=sHVYF}Pr~0No8C(YHja`kLN!62@0IO_q!&Wd&xI~yT zh^c~+da2(LWPXnlX-cNZC|U4wo6(j7LG)l2)p=F7si(;ExEN^2jpda6ksS*$f;T-_ z`bX2b#0_GQeE~TIhNN!H$p=WS!|&ptjoz`f+!q?RWudB@&)NA*yTP@xq=~svGUu!x z#F(2=-&;Pc0@Q;so^L7Q#DNHKZb&-J1_NererO7616nQgSVu~3ynwN;DBb(^Puc)G zBmNY$eLfx5lPshHP)?l`o9L~av$I92#m*y-`6>pFSi13NnqK9F%;V!j!duDNoPe_{ zJL~as_g9!hMq8nvwgfb0AxtI(LIf2(%KIpPhcZGGSHsh5L7&Bh2x{&{$Oru=6NkBk zY;Ttt2j<$%0V=O8Dmp;emq9a;Qx3;pr#`yW{c)ZrKU0 zYS9AT9Mq;uwSSvU9_T1RGO9%#`65lPf4aORq*VmqVKXt!Z>$cl5?m}v|0aH5t#&oLavYZsmR^j{eV^4l&(ob4q`EqV^v}+KvM{{Ta;;Pu`il{p`&8CVVd3?b#=;e{ztYih<(r zDXLs0;-K#oRUR>DyC*Da?+cHi><9L{GOZIo}Z;4 z2)pbyG9#5*L>-8sU$_Pg<=?yk$}ZT@zH+f2={MuH7x>N?0(En9i&oBMis{@7RNW>7 zNGBtl%HC@6+OPZFtxfM^tAwfDHZhbjcrhoFr6Xdxnz^TpNeGR3SC}AZPv)tQ#k5or z2#s*gRNw(=GzO48Nb6R7KJ#D zC{h)%(uW^LM%#hIRfYtGI>!z-$IK5ocgZ`tMyJ_oW_HEKw;QO+)|SsYo3C0PSmO~S zKab{&JS%DN+)qDt_5YD2t%P8{QSzq1^Q)U~y_K%APZG0jGqS#OWqdb#f9gTm)cD|h zg#H=l8w-lG2^qp13Ien`hBBVG4)11GIM*^Ea>pFV{NA+F9K9m@(!vS7R$RObMmT)t zq8OXKrZRLscj7_z>>tBhECi+rz+$xxnS3@Is~h%5^m$zt6vxfu4Ih>F3Z4Y4rCv3T z9X>is_bJEqVfEq0hD@R|IN*>;{nhVoI`)-rTB}xXM(W-a7FHFBKDH&MfVUy>u^(l2 zOm{Fpn)z{-zB}!*sU$~-D=#;D_`^Sranq~MXBwcjE7Pj~q&x~$KJb61JDEVLGdw3x6ga2V8lI;SK0oE>ju15nMBm70Cf z(rt9l#Y~Z@4kQVb9WY#XdVs^iq91%v$Z5In&EC=J7BC^~6J?*U@0b5T8nzs;epK~y z)vLV~P3V7p=2!9qHApX&7bdh8)|Aa8~AHT3IhSZ$S`szpZNtQn>Tzn>Dyvl~yp zsKTKJ3)4@PgN;u;%|3y{z|#NlIk^}+|U^78U=X=x6+y1D?17@uVuuj90shd3YKp!dO=H86%&4HRf& zSuy-JLmj&DiYdbV4t2{pI^(A&ht&WX%h1N#69=F9SnWv{IS~<&QZXtjs*!pRNBvUM zkaFei&3EP1jx!EXI6uRBsQInF7zE5OT$u&$w=+?Cu_e1}!{mLrMxcIN;=|-(yH)0e zI@$#YoyS>%_K!p)?NFzU34uG)5Cz-M9eBGt;bA0mxJ)6O>O>x1?VD>^vUm(yuLDVV z6&yd0?Ua>qM#s|@%XV<2py#>}ALYukh9KQj4TU=5`q$UY?O%vIeipda$VFw}nMfsg z@}9!r=VL@Pd?&o#M8SIKU9@^Mr)5i=PU6?B622_C0!a?kXuD$?~mLNb; zQ~&M7-IVWAB0AwIE+0kQkC$^N9Q}7`SZe4D6w}1U&q*!SIaQ&%0C8K)P2a8e?rWtV z+P93n=3@oD_pDm(g%IorO?$SGbLf2OV*2X+TudyumG7J&%yz1-GJ;0vBd*{%VG1ci z;`NxC*MPr3TyHsd~LXtUI&ABsMDXzOH5o4k8ibGK?^@s?#L!GQgA zlhKS6%-Rd)XzSB+`Dq@k%cyahTwk37vx^f`j##Z{el) zb;b`zEk8$(GLPpt#@E^6aQX$fR26zUqE5Gl4H$mP&#-?i(>;uI3nC1XJKUAklUZHh z3NTSF@;ezyj;pp#uB3H;DX=;*Wg$VNb3-pSqj+#h47nHf9+JW83~Dx zWut9v*(hJkzAUVk%K(7UCEAbt&@cu-L=?s9#8u2_9{Pqk7&b(hLdxa1ppjC?F9jy*``&(^ z#jjsTvNbp*!G>&-tW9~$R8kmuzAw>|QatBUT7UKIR$2A5cQ-)qdAEKR#s2&|J3xfh z#3?B`^FnM#PJ85Jv&nHVN695f!Cb=)AIf>K>R|uumR-2f(L3Grilx!115szmWT!(u zp35P1#lD*g6F;V$ZHMwBDrvnE3QwG00LR6#PprOtJ2LxjdY(kJp=7&d=%{KVd^|2C z(LtO`c-sHFcTr)2a2qZ(RYjz|%C~89MDb@kUe%(W5iUMtWnghJw}#+*ZDhkjiQvZP zk5fY5(kv%8!$1hergucH1NuVcA>7KY$oad^#d-$x1zjB4)JwXKj#vf1ZRAch`uRJ( z&KB&fa7+JK5=*O6U11SXIC>W0F2mAd{F?$v}AbutBY~KewLYJvgfvR4(u4ZkohS zI|Sj;_pFVV8;XEKWP9Gxx7GJh^I1Fx7^a%oHGspBl-;#BG;$Q3g2E^?0TQi;V|&Yk zhP7cJJgNDUy=5~XQhz>tx*2d*@51mDyXR;z-O)1DEiM88k3NbY8dzH2!+5u*1JuqU z-P8qEp{45Mno}S|r?;2T!x@R6Pf0aPV7C`K8UoIQ;wo3ETAq)w;ZTwht0K%`B_0JT z3*yH~q^hD35?vOPCu_=10xLDuZX#wnig#XJ<4{_VT}^;ubcE*$)W~0?8tcawxz96a zXY0+d_mzzkiaAC#-&^$xI60czuyAy|dUT&*DcK(d3#g0syUDM3K>sq3yn#ftljx{OxH^V87 zk-^mr2@E1@AIMf%Z^q}Iw4S<3cxw$*1GtrG-KZ}TcqUJpd@f^q=tx{|16U<&4eQ-2 zV^kzWw7A|c6AO2h!EQ6qUo*XGPQUU+l%u~*D;N}jNGF`)8fh&@3e4w9?lD*|b zf1R9-*8lsf@Rpzx9{;AZpC_pbrCseGF>i-CF?52i!W(zG*Gl4ya%g_ z$G?ElO6BCAqlF~HoE-X_o>huiV0w>N@ySS4@7=cb>v%h2H&etljaO7D=apO~%5&v% zc1s?E0p0i1?8k_*{gZW(D${0)DyI#4mX}|yaM*egr8BF+aI+aF-o~dpz~9UGb8M$| z&m`HcTKYQzPO@!B(5^Jw(ch*qz&*P6=Y+z@xg~t=lV18$JKb{iZNfZgKwEHF<#HQU z3}Y+I$;46aeG@Wpwork@z_Sh1bM^gv<^sF2BGsvH92nhI#XH3UqNn?Zk7_3P^*z{o z6jl@{>J^60za}Mt9*23x|D>?|C#>en!%4HkhfUL02&m_tyeI=hHrnt)oc-<<)BrrD z?rfO7rT&&Q|6}X>fww>6(&KJF@I^pW(*k~aQDprDct67pWnrD&-7ZD-p+4v56Hxfx z3a2v7C)&hbC2xfo1fI^ZNRAiw6#%|wWAUb?b#L-mnUG{@L$7WeI>~OTPx5U-;JtTV z9Q?jELUWgF2kOIny}p}MU}eusoe1~8&z+8c&ch*zXotz$_P2VU%~0we{nU=Dw2L5{ zo73yVS1xIuoW#S0isi0S-REq4z^8xO&u=TVW}NI5K-BU?QxVYAGQR+~r+#N^6LIOW zG-n+5ERH6E=ni_lJ*ogQ1q&KWu97SE`n4W#;p3m<9t9J%AI5u5+VvPEZ;$z5OZFeL zV1zIA8*lS;M;qco)hLYmFYTg<_7CPcQ~~=^@_@A-Cp7RMKJRWZo!b{J1|3r(eC$I# z2}AdB^N-jg5kk{eK&D zRcSl=(a8VE+%o%|Zi}f}NBsc6JX-Ka#)QGrH!I5vUFc6Q(fKrzi@Yzx_@exu*U0@WGa{HEY#oai8bP$RB|3>kg--iu9iaL-5C!7OOi! z=GukwqyOT}ZLrUsxn~q0-)UvhWyXmbr_6HU<$>&Q{NoKc*^}o^-`aI$WS;h>OU{V8 zuPsd)ZTskg@GgI$_1%)12sk^n2YL*YiM~4OJYPe=q?YIeaouXa1mUAfl_9F05>kt$ zY)3$DS*VsNGm@i3!-683c_MxK-4DnhOO3Z%eXR$w!d$qkY=&P?9do?VhgtJk1=#v| zO15-?tF^2-ll9bX5ImQ$54AcYsB6Tid;~m>0NY?z&W$g88DE+18||hM()c?6n#?nFBe`S<)^+Y1`Fs75jlt$3JEv-A2{@p;ycA z<}+hMR+a_AVQufa<81=APLSbTo9_9?v=1KNpY^R z)9kkt@V#(SZNPjTJ=;3O;c93{z{XRb=J@>E;=F)8z=aNd?_h{@z5F%I=^owpL_SN= z%Wb(@g?i(m#0&)h3;f3C6cLx_3Cub!kNb#aZxvrG^i%Ky}}#4fr1##7Ex?H1}R z`M&FM=qQVcxB|g6Qf2wFh;njKWVU>Swiev zdNv9AGt}a%s{D_u=bL4E&~r}-OwCV{i8%DGEm^PTe)Pz|VJ)|3*B0E?a2B+4+NdKj z8zhPk@jmf>+H7LWQxb2^X=p!gD-`!e!rc6|?&UV0f!T6`Yj=HjNa;W5<;`j%*1GuA-t2mn3fn`@; zKjglp8w)}-UQ)mM&@>VkYDJz0?boaeY=%3QtCN9HF$%K_TyH_yxKN%mlQLL-aIfA2 z@_&rlXoW80LVbSj#s`)yN(N6AzK^^Ib2{J(D^*QdM|_d&(amE_C=*_M_|b;R=BGL& z8ozkT-n{PNKW5tJu?Zc9DE(0zicH|xK%7Gv20~0Z5`3LwoH#_4yWgce{V139jAr~( zWk6U+5Q`(7$xt9RLM*{|uN0|W41;YKHIOuf)ZSrLHVC_-=tK^^O(X99Ca7cd^q@%S zpQBG&Y@|hRQti8Cg?O%0wFXCfUwK?;<+et?PAc`<@T6$UosI=b!6H*3Ejo{09B9)j zhx`8+d&{7>wk>KjK;sfz0t5*JYdp9$ZUGv14-njfyIUXxPp}4(;O_2j z3GNo$-R0ZdukL&A&$;JS2Oo+j1m`vY?02SL|am1*9{#G^Q z0AZh7Ui5^bqM}`T1GB?Ge^5fhqJ-FL>_zLX;8qKh3UPi-@@yr1q}%w$Cj!=zgtxF@ zy*zxnCj1-h({PrhkZHpDHMQUOdWWr}P(%-`+JYvMqWf#lCC zxYz?v_j;|%%IE8M9H`y4-g@v$3o+bk8pl!sP}Iw{ZZEj*UI^-vfO#=)^C;q1 zw^}54G?7eR4S2cg8e9UFf8OHI4G{mQZKG9(8SQKtiF~If0cI$?-0*41KyLN+^5Pr@ zU!S=UTMc6rb9E80tVs*MyYuP3e#A)7qQ?hv&~9u^af=VQT|B6Io|5|R9;@9XdDp~@ z=EPgTvtPPqBmX0|@JCT&hwF-WJ(we5SJo)fqH;4(A9AzkmWAYt&ZwW~B@AI$^V}N^ zejM*0Y`qUKE1lPpq)pa;kBLSfFtZ9)PV1M|qjWq`XewCqV|fefDpnOkB?JR!@A5M1 ze|{?`+=9me0MMVW907rOG&Hn=n+V31$(v4_MNMbKY%FYmZPWIQdOHR4vDUr10qb7; zsd`oD5{*J1m5$DO)DT7dRv8^PH-|C;r16#|kr5!r%2!T=FPkbA+u=9(fR|lPn1dYg zKlT(l99Vg5e4LqqAzx=eGs_V^i={XuCk8uwok(lxS1|w&6{?XwvtowfL8lf8h=aTE zBSEa%5j>Jyv5*r=#B6Cj%!nsi_9EGjU-6*ujx?^i9Y=@uCGdYta>`Y_m$ZiB^L_`u z_**zw{RbDiE2FB(^*^@WGg}0+!-haeY7R@<=xMAFad~G>J*Bb*abHT~s`D?1hyqf9 z<2X4-xD6>2SXV$D#UMU(?XW2=Btlb8EGrMajIzvI4}uCH7H%Mu;;=3xRZy(P|EKWx ze}5h@rv#G%C3Gvpbz9R1_~QbYh`}x(juO@t*cbMhmjOqO$d5vVpIi!F?!ex>AnP9x z>VFq`f*IcHJ>J${L7mFC_2o5??h1VPoBAf!E11<>B}Vm!{gYBIE}Y9 zD&T+%wNkiKmi!+S-+$hx0dAfoyj&ZPdB7TwZJj6$;6fKJpnZzou9aZuuG!gy{QuaW z&u6wRg9_RSFNck>M4KB4I#JM@iO-W$F@Wnvj_(zdgdfPT6!a|kx0j*`&&3GSn()zF z31kZQ!A(?xhok)vx>o`*L`?uaQjFe_3IGPu8J=;gdWOC8~(k z9Yns$lR(6Gqg7k)N`UB{oG1rongvvBy^78F9~b(6-tfg&e&jx+A!XzgxIrXf@lT`P_!GoT%SG*Ap)%^ z1T{FJjdlig)J6p(;dX}qLh&CH*#Dc@mW82offDk#aX!96AqKX+EWUC(&8uHD*Ft}6 zXs~tG`nOOXaq*xi*N1r8@FBD;1yJ9i=47|4M5E|6$z)2U2>3HNiYf8c}u zd*t#;L23RKmn9II_LZDqE!;eOgDaFrg#@L0djO&+F2f{%#sBy^BBUEJ!F?Z(BgC`` zZ_(qXjv;{dy_!34Pz>k)f4mRkfH-(LHOYvEHMD|iYq;(~#z!tW-Wx`BNJPW&>Fah^ zT38oY1AdPf06Rtf+wK3dKF}wiITxCSwKfDTFoaOm$c96hXkQc8p~?dzAL09uMRnGu zm{<&=#+5IN&{>zL$gmpSRz+z4Wht-&7T-XAyFNxqQ2%*x*r*BI;7g(q*>E%5MEZh$ zc;MEY&G(PP{v`aWTewWZ(Q)f4&p$39;X{9azoMWr?tfSGpFj}MtQby@h={16rKKhG zl0Ii59hH6oH^q0K5ebdY4TGAZQDn1Y5IOWJB(&oX?BwK5ADhs^5;xl9h!H1Rjv~ry zP2ZhB8-$*a%QFi^2reWRF0M&zXu`joZy-v9zJQlAFfbSv92x=^8bmOw0B6>J)QJ0j zNiPlW{A=DF3u_!mc_%0;f~5(boz^qHan!jzok)a;uh?v2oYWd%7L=5d3rk*EXL!c` z%R%l!U72E{qsx_wO^}A17*saJ;%<{G;?9cdp)%@ogx>>SThP@l5V4G}Zk7$V+RVKs z5ua!B7p$ZQAzXt2bmqwxHQhiOR2*JTN9Vhq>!eKOg!sSwiNLtWy7PhI;bK?84FYJM z49pg^E7c83NX3R`uc1;$zC=3G^W-z54L6{Owq2vB%JIh~P%>eM!V~1a1>x(tt~SWa z{!2uWFdD^eOVo7fmBN$#DY|=#S2rFH^!3eD7KX@oeZOZwV=Mm;` zsjXy+&`zTP!K4jPLxN1AhNwrnHDi}i8M9yzIvPIqkk&@S1tEaWH1Y`~h>ZJ}%@+A#x#Ty!nZoKpoF-RhRZ7d>}$Ho z$$PbufB9s!42VmQXg)do0G8-_vllA`RM^S|chdZ~Zdx)c{2u`#0}-`CbXHXQMEjYQFmTv22?R;#uqGDs|goUpV-qA*YdvohdF2#0^cjZmk8yaGW{CGdgF zA)pGBuxsV|uW!JLC%}^m)fon9yhUXFSLLVrR?e*!si6z!JIaGOqx z#BC-70iD4oe@_4;<9Mb%`ESqciK15P&yg*GfuCzlLmc3~hks-?*h(80IvTMmBiMbk z;`y;(;U_x1BM!)shQ5$qMGumd2k`+eF`;4kpZ_DDd`3BtMH*-+a492~K$s)6za~(_ zKp742v~-suKf9#ABFZh=OcqrC%P!h~8{i2L45k@vJ>NC1*qp);)0@-c8!{8;AgGkAY8A(e?19wX@X-c->_bsM;S-6olYe_3p(e-6_~; zt-?Ewgkf^fB-S=$ja4eq*A&r9QQ&n70QSZy$k+Z0N`x%ZmgRyH+<&`M;AdddDA(!) zaO0xT-?QFIVVo!e<=K-NAXmaKtpW8gtWpZfseN3fGSJF`zbC^pE$WjJVn9#WwOe9f zV3^95L>_wVvfu`+ORs^>_`kkdNbgTCPJNfWif1Go|B=cTBz@?Jo;=v z!NI|?KdEV0eRH;TRNkZZ4O#UGm<_y$C35fJ1z3YI3kfX(1QPHJP-Ro(X_Hyw{~vUBGdM{M0)@W z!eXo}8Wnk3u&Y}|vM5&h_Nfa;dgj?SOSi_RoO4ug9EkReszZuLfWeyA{&U^dBEzHS zwbwp-gphh#i|&850P2cbi2v)*04_Fp$nbJUdChVQ!L%h`K!^1vguv)FxD8-%dyVhI zEs0$@Ku2zYVxBopz(OwF3#`)UdSC<0^RF0A<(ZEpU|KNu6BP~c0dxk3hAPV~K7bx` zxa=BY)28yn@98lKKwr+AL*=i9JZFIVqnGB$v(45~>r;yt(v^j|`5eGU+XL{d#$i=V z7Z?cqjk?3|=~h!*!sD=hYajS;vKP_?ZMtI*$yB9<($(wIrqf6!(}TI{L%wH0&_Ux- zOHyj8HQ*;)4RAUp%So39^SYVBJ~lwL`Op{io!fS92HqTcAP+Asi9Iz&CtuHR&z7l|3 zR904|<=cfCjFT}cRB1lU=t^##kQ2i{fQobf**`E=oLq@-1E0Ov$&aF&8-*SuN*ArCijE#-Q!c9wQ6)r4x>Ol`T%&SXjFBV+(M|r|C2ZG5(I1uGH@%GXtL%e zjFk6u#xFP?!}p-y}EqxvUbL$wNaBlNgmm9;%#mLyr9=QAec( zArp{K&vuyQQ}Z>px_5xz?O(7uwgk7$40PYq5`F+C8kCkIHrwUhJ{RIiX+jx;LCn@x z(tN37;UT79_Cs_+yV!0r#(&tJlL zLeccvo3YLC1vIe27RKnP!oAC|KGz>dHXNN&qnR@b$27a`5je7MHOH>$`|<_hTcmUB z_D@y|hkFCnD=`#!v?Lm!P?C)&gU$FXN1%gIVx_sxS+ZdD0X6iUVALWBY;9}`py)1| z2XSX0K?u1Af@2dNkwb5YE-MHXzVppk!l%lR8Gm&QlRm&%X??+p_SYB)f2|l;;qUMI zwYy?VT5hexKT}K9?r94$=2sjsaCq>#*0J+lr>Jch*xw5h5sWwc;r& zj1)S(jz^xZ{GKed=2mX^0E4JpJiBMD8(mt{d;v0ZoJNG1b~$*CG4@#DLUIY2>))fUg+Q) z=b+d)=!0&Z;NY*3*^h%$AGAe9zjE2fnfo+w*K}UluU^9a8d>~!CCEP7k`$}Lx6&XF zSoFaj<%hF>q2v`$;#&&ka)5Tz{c+t^3F77OSP(b&7C;@qIu>sX|%0x^h|X_qfhG*=oO* zs^71#N1Gx=)Z74skoTlQI%5iYr*X)B?&-jXG9ds*OL#=XMiqe^i`?_&J)~WoNP`GK zCn#uL8;}{wGQq>DG8KSR23&4G!4F{aEEr|_-sV?!K!V%9{{W-oW540Y)+3jH3EzKp zxH!)x4qvF0%3Z7#zkUm7fDP@?@$G)a)V=Wn)R!jgswf|n1c{3D$}qBGddZwWU+hhf z*1vtTA|Sf%NGC;>0LbHqwZUnCN?0JA`;olNNpxjZ9|hy6I|~@N-oPOO)F6TD^D6B+ zcoO}v7h4D0TCNhp(CenG%_s{AvY~C?;eI~Yd8VL=WzBsAd68o_`Q6r5Neysink-&1 zJx{J4VsPra>hr8#?L0@-!A!ya)0XkKAL`o};!*a4{clSnxxR>BSzCTt@P?Uf;Lou> zvUS&QGb(iyPakORThL)zTG+qWvD92v^?uOK;7E85KD=-jhE_NLyKP(iOJXW!T6wPKv>h>ec$FokUao^EI^1_hTZN%AQngj zEmPT9YHn->w5lv3>Es%$T|}Zk+RTUu-vBtvwWI;%ZDtC#Soq5|{V1F!VfMt$j=kE} zhhpa}$pzdl@-7OnlzR_4Ytzb7mS(AeVv(rL&Rlh&^G0_go>%bl)BTo+z@Jc~b0&=< z`c3{Ki_whBLBq!}{oXi`@jBpASvis}ATUT+WR}-CkjQiZIPF#|Tj)8TykBrOwmk#P zhr7GAZvel>#Y!Bvx+egbI9-U{GgwBeeq${?L`C@+t1kacPz6vR!(Ci$Jf)3a?%4N- zkr{`anQM;_#RG2ck}C9kvtwajDjfEjneEqflUhx*CG9i~fM3D|P533Y%6{7W{oBC9 zD7JV$#X9%?)^xt18FtUph~Q(MoHjOGQlAI7-0X@q?w!;VG#GvZZsSNi=+jR^WmV9` zlvQL^hAIiX2tOQcph6@%wbBp#%Jd#c{$G|RSF->WouGC^BGM2AH0d^G2-GbC5DY(#$x_oA9hp2H)L}SeyF(}fl}Hgq z@YyjP=MGUhv?qE4L&OizqK-6c0X6RQna)btm%`UDbg3h}DSoYGqsh2ytOQB&at={m z>P~$Y@xc zAP@3gcwWwTsU$qHPSp$_*YEU*fp=!jp1DkAljbJ*b+;$be}=3gdrUxxZSywV}eNx!iEma zuL6Xxc{VSj1jGp)Mb|YacPUTR?f?S^SF!HOQQ^G>9V*IWfy45$GGN3+C18><+0An^ zp82>Qj1&BFL1FcDH&z_Wk)5Ut`@}B4&kGP_Hl|R8W7;=gBvl@^#UTu01cLwzZGH_> znha4eL15iqc=RkZ9%C&#qjF^(v9`8iLKo?j<4g(<9ILv}YSbj~<12P(+1qwWBFq%X z$us1xB%~sDnNU7_D3fcC1Bs$o<9DHt0r>D>JLiilHO3n1VI3~s8tP|c4l2?`)|D!7)HFW10f^~qfmCQL!()>~8>UuQ z$asf@SwRpc`vei_(HZiyXEcaB{Lg9lP79sC^8&klGi1x`P~XmwBk9ffxY`UTc+r)P zYPP>l6ovfE{1i$slwwtH=vSU=kgqq|ZS@vNKO{qNm>Bcgep%Ch$XdsL1Md=Y$W*M6 z6&n(-y3o*(xZ#7IyoZ^PFN~LW@SvHin7+{PQvPOlfpTWj!u#|$mg|=N?Yu|p-NLUS zz1G5gf#w*2Qq~L#W7697*)nWqs1uiud%gFw6SZ#3Ntd1w6j|0!rSd+VN!XjRw`_`^IW8K9#Xz1vL52mKeHL~$<54Fvj zrK>fwUkk(dx1@JgrMOKFgp{qe2_%KPyaH3%*d-Ydg!6I)`rf-Q;f!e=8q1QRV+s@q5XZ z*>Cfl17T1Va{K#h(nL+VS?hg~WQF`oh@tw$a=O!)=Vkf&n=q}_^HOkbnu(Itl|hoz z@v1oqW|2dW+Tb^pdmz);!&4kB`y4;|Zg8~r;IBbVcGJqSqK69an@$y^*Crw8t(6_s zh0N8XbJA|vKDBadn_18`;J@lCF7Nq_ADZI6@L5Q z@POj|;|Cor1K+M1TULkL^(IN({Yv|(cl;qRQT3-E7S;`FL*cJjI|_v&9LDS;_W;|ho6p) z=1|?Ai}Gr0ZGHH|=yen|xse}u8V>o~c6e#nLOGR8HfF~8EmN~t$1MJ>f|GN}_ZhV* zX`MS%HFe!Hz@SwjHN`E3XW4uFz;7Sy2uZ8%0D53-HT7L4v9$Rphp8N}G#q)WhJ3Yf*XHGR6;Tmkn0g8#ppwour}amw8@T5ux+52fsjGFRfcc)7%Ga z=SxkHt?KQ!e`nQv+EH;s(a+}%Xm|sYz?4d35o2^Rs1qBsLj^h};;TdNicMM)NH?(Y4qj$`c+Ipn2_k0+8In>if?x ze2Ze3q&n>jvl?}PA=JKkQF0u7BmtpTk7G_cH1Tc@U88I@jN|4ThY z28DX=^R<^?T!sqq+uEvD1Ch4xJhCnui&qo1m!m|j^OMq9dw|iz^G?U_2@vGYD0gN0 zHlw%Mmc738NRqSO?O;K92$8W%yE2 zvI>*vRiSCMt=wi#xDXe_sb47kC~_0?epe}`Y!q#kILLNxiP#Cpyj_hrR&eb3!nwCV zg;dWSQFL8=#7uJ`TC;!URPmi7yj);NB#}zCpTJ|p+)+niHfDmt+H>w6&v}$okZq=B z<~y{$ZR9}LwFxof2`Q{lWGp-rO3-_&{RkKen`MEtd~+=yKYwgJw{pD!0L|iZJ=oRT z#3bS9TI`KLZei65g(ANf(=M``tLl#+@Xqu$F>V?azNQlvqGMu@j^{j3p9BONo|agCFa*=Cnc?Si${9oyv#SNVH9&fPXpIUiGZR0 zq#B6vJ&f_zYZLPR5J!#|Dwer@SMcl$%Iv*eoATyQ=AY@Z6CTqZj4K{oA3-0E2LjS> z=R4=N=lbEV&-a86N$p+`zuX?*q1zeXKH^nS%#_Lma`9!Iqorp3rvc|})f8>3_$IBOmb!ZuDnKcxuk&tQ{qFdXwi!);LF)QH%(_G6U^@NB{ zOGqbS|JZg|9o#|IWe#z5$Ag&SzNd>%1mJ3G^^&KdFexh2A{KYqI; zj z)g{uMv8fT?)DPpxJAt+CDi6|wm6qXR*&MaI?LC*IbUaYa(OgSbwcS^{J)VuZQ?7a2 z-)$O-eWGQeZ8Glx$7aY2v~N-Uaj8V%)OVk(*D|Vooii5w4qoj2${b`jdGde_$Rt`=^P;$b zdjfqBPr_)*#fEpBZY4Unp2!C^4B9mBcFUmG!6|Lxvvo%^ip3sU&0uZ6DfK8k6;`f!Y~T!s(Y|cz)KJ@S-SRYJV(SRXpd}<${g*PyPtcM z6Nw0kskZd>1O61AuYOxyf64&dbexy;x~brmDZe#}$W*c>WVI1F2k2vMa65)aJL>1} zr<;=S&P)-wF3&ikTNZD6RbCr}&ROK0hkR$QN4F2ZEHEYIoxFEzU@wFXy^PR>b$R=r zuqPjO45BikFe#sa3gfW>1@NaNnF;t1mE9abpCX{!JpCp9`PK$HmK+1a5ff5oen@L? z8G_YkyiFl|8wsil5LbYbZU_i#I2H&(M|g$M1>}9i0?M5xac~5anO!c5v_R?P$swK} z=}6bEz8e)=_~w+4#NU3m>(emTG;cYwbpk+4bGSyxzKv2plnjPo8wbjnPz}PTj7I`8 z8Vuhiig*R?{p0Z+yv?)(d6Hy3rwDd7IyCn6PTHC6KRM|P+<0-uouLGUoL8KE&LUG_ zhd|PZe%4%$Jdxbk8QA$0t&NxyZfdvCXQPp=O}uzVZp_{I!fJ{w9vypTc(Z4~kRiNv z(o5k+8g<^fq>lN(7L^EakMkD-&!*GS#Oxgx$~3pzt$+djVHcs#4aL*7bZsp4A4BSv z%DVOgD!O*ZF!9WXyXB{)2r6L(KoXuVW{M-3DMiujdZ1JL`_$*%1L4=M7paB+DV)jgX!Eqku1{ev(7&;eQ<8^VjcAOOR&XVP?X?! zFB|&%>&4uezz5l#u|*YRa@(ZugnCTivis83vL@~2IxjuS+XQ@I%Aw^dR(g;iA77Gy zWnksC%)!*4O3Z6>NiB=u4nix!G`25A+8ad%a_9yWa&k52qSCr`UZt=m+xeo8d*y&fcV0JYR2esK z_#T(wg>uC3O(iDZ9g=F4dFMyfuQ9)OG9b5>oSkKdqupBM0Y6;F4`C-|GgO#-+jviG zFNxX#l?xjQh*gzh)M*~m?hV#Gvh`3EuB@VZrmal1Vf$4f(=AczfBe{wJbM}CY{nBa7GU1$MM%VPi zhwo9hGf(MrT#r7i9A5VqlCIOH&S@7teuunWr)bnQPPQ>FcJpl;gCopUm8B0uo8TE6 zH-q}jbdIKG=d8(W%L20>h(4EV1lq0xiJ82broyzeAvU}6y$yn`4W%c= z5^20$+HrlL^(k_mf3FRjXer53oXBImWj#U+smFMD;e-7!n5UexptlXMnQjlLq;)_6 zt2|Zrrlq$uc{ai9A=(XryZ6C`yI`l$o1)*GH%xgZ#auXqH^{#ej^tKw*>KfyHRvTi zMLsuIN5MzyN1vH^algNs_*`tIfS?G64ul(=_9 zRa6qfmrU3)Ww30aO4g2mKV2Roqd$cz!@7i#ylBJShW?V!J+xq(Im;yaU`-KeIj9)! zc3vxHKi~;`x32O##r5l^+kFCvyvbs-0VbFOtCs-Ew{TusMEp(SeM5G-dJvOeD>Y%9nEv>o-RYLb4Vo%akfw>*>Abjo?tpuvbGO9Kcpz}F=%jVNq?wbMUv3Yyk z1%UM)=}sns)=811*_rMeVHha~Pf}51U33n_;Mq)s`4R&oeGY+E!fVSCXdegbeaMC{ z?;kY6q=RhQ`bmQ%?%Q`vX&2E1;1ml>x^&ABXLGF)3$sRYc?zc@T9<7bZ6zU<{WG+m zKXrrRM;zc~AMg1H(L$K(E$pwnMhZuDmF?^(VIR!Do7q+dn#qInwVlxqCVOngk>-UT z)#WXhXHn^C0MYcX=%k5!dFJ752oNbQ77_oyQ~RaC%3S%Q?VE|J6?PI>~%PSAMna7t-fl}G97+JH_tk{ zYq^teOzN={rdUPKY@Btvsw!SQjoSX}o6^CRozanq>t_O~$o+_ELO!_l^{j*RjXq_f zmZKthY^Y3X?Z$ksVQD2*SXB+uPJhj9m>#M3s@LTf)2#qpNR^Rg60=VEa41Dh^4-J5 zmF8Ual_JySkcj@$@(9^%`>&xnqb-B0ZX^?YbMnme6nnT{{XMg>)@ZR^h_g5n z_N;QTq=WnEdXD5$N(kI(f37IoP9H1|hEUyZDY&B_LU*ac$kwJ(&bhjzvX=RQ(%iyr zVi2=d-JjMn^Lv1@U2vHSx*zfUUXSa{I+a({f0Ety-4$?aKJ?`lnH98fPUhlBqCZb< ztcWS}%G6pcc2uw8TFP(@{oSM0C75>ELniX4xXx`_QrDPF+`)8+rkp6q4DrlnbL(?Z zm3j$hEnOnehWOf));8_|7pviv!WyH;k`+c7>0p#7_&NG>J6)PXpmlN`tu*Ka9<2kz zi+&&V#HIzIX*>Y=^)@Ia&Qxeg#zEP;4GuYh1fjd}c+D&HW5>+s5>8SvU8c9wPzaHi zOhQPVn9xk`Y8%Ll?-)YNzw;x0;m%WDo!2?`vkU%$JI`e?7XLP-MLvQi*3gu?e8O{N zjsn_HjBvv#6(LlFO_lFXL{||UyL&}e)ubrv9Pn;@?r&G@19VGcClTSyR$_w=ZhId; ztp0!~XwGqhG?;blc+x(F*e=$YjjF9k-%b<|e{ds2=)N0}02_~m@vh?KV$N(^l%2t& z1yMaxXn)FXFiq;uCwXfg&Wu71CMF4np0eYaQLauOg<>%K>$2ltB7eJR zBF420AjZx(ZUW#H>>=$Rl)ozdjrLdgbNh%zj@gIcqcCL@J5JsQzdB@QMnbd0+2M5D z2$JvYO7Q46Yy7Mp=R1TVzdP6I)YEDeVy&SaRLN2X)d{uryL4n?q!&^Yz5Ub4oUf}i z=n3Aw^Xb5)8S1Z;$&x%hOZSiCw)qhfal`(o9%WRGLjZlQ+@MXDRzjUB%s%taiZScz zE?sLfPn4D8LCbjiJuK1)2=KL31~rm|ck!9#D*7vWTdgD`PVmI228r1RIt~Q1AH(pN z?c2S#$4~5JFL?4VQ@N>qG{5FUSU;*6;?O zTuXjZ@XXck4SYNPML^JPO0lvl5A^x%!xt7jt-Yf=d%tOME@HzwR_j0+!bkByO2{}w z*Wc+3)I5!^I3LhbSy1SQYEx7>kaPS@-t?i<+r<6$qZ;__$G+SZn1aAQ!m4+ zd}g>c7C7r$uL?`9Qocn$G5wHeeNPY8!_Omu2ReTHdwL*oj=|(_t)s1LHPFDo4~`zR zyPI=5b^RRB(OlR2{j>vRkFTK4zhk-4_2aglrR_|bMLq)+>C>@tQc~Q9T*HfeE*T{! zc(lL)oUPWag-_MCi*0X(96#?-AnCLHDQSS!;z6+)ums$)2faG}9PGDPU%Is)-esOD zvTGWo&vRF~J#o#Tp}(nl%0HT$?RBdm^_%MbHN5!2LZ5RsQGPDbUo2zj^M@+~)h)ZK zv(l%b$E#A)G~G%BMZan7eww$a^e&aldCb)%k&jWnp^t&SDD9ne;OXrgY;N8nUhiuM zH(1QD@hzo^+t_G1YD_H>_jeo#ty1dWkEhA4pHiF1e&yKb_(?#FnRgI@xgUJ%9jgS2 zL!7N9swu)>EGlC(3dn)FMsfWkJLh-=KH2;1Vuut0ChQ)uOJ3~PyiEhEs#q9oqgSta z%Vb2o#RWz0Va?E1gUwk8m&j^SdO#`+u$wYKgC-M;uR53KM_eDUyi`2t#jjCJ^B^ZjP2~))U&AbSy`4Q%?HT?*8&k zAI!?#_hlFm1leT!cdUcip{zm7x!N))1Q=Bqz9<-J97e}$Za@T&bNC**PWS2kRNrWS z>liMn5r$ScPMY9m%NUqJ4(V$z#V?9Bc_yMiA*i&0$ZMb^R+?R94UB{?M7AKeYQ2j=58STx2<(lZVr%Bm#ArFc4Zz&N&%)u!JX? zm`8}Nmxszq*F`j3(`%I93l9346;;B|0;7z6w~b*5cW4*XX}$TQrVsEiadUpKkn)(F ziAid$v=0`#DqD6M3F&4bg&I2TpYuh@25CI*;0I-z1f5Ndk z?=;h?`-8wyup%&bVcEiZzhb_{$wP-rskUF~rHjawzzzAJ0=DZ+_O;1AiuD|Qx8m(2 zo$Im-LXq{|`^NQ6hRc)b0Ai)NZ~h%yx4naRI)lF~xz~R;r)>-u9dXb1y_x5QLz*@! zRn)V~e2-}|8%qP*FSyvb9YIk8R*F-r)oCUe!B;E4yyQa;0ntw~vUMHH_B_igGDQiH z`EXwkbAPG+xA<}vGhgX%MY-iz=C7pPE)t6;HrZl>eXCxIA>0Cgn?vF94s86 zV^Y}DDW;W~?J4~&p#ENbao{ljOm}RH6wlhfV>77GX#1Yc0gtwaj-|?ewZ+Dy!A^7e zO^b-Fg!&!z5+!Wq1|$!?O!bC%&T)smosnkXo6=N+tU?P#=tF6-GDNk$7|900`l$?Y zvoTL}uU|WTM4-ZpA`6Da!J{p66+z|XiyX1tuUn?N&vSq=QL6WrF?IfH%o>4h4FBm) z`3cLLaE03#S~f7sHT3Y+xAD5D8A+z_2q-qFC|GJSwDl@~Ml%Em-L0Hc)EJ%^WS<@} zh%ssao-Wsnjp6M}Ldq0!VDwBE8ztwl!$1fkQo8sQdYm7kf$8Um86(rWUNNkGN z#*ck3l0OD?_>Y3(oUk2u+1q5{-$v6v2u3LgD{8R)uB3dcj1{#u28L=KbF3(1Wy_lg z5)W~)7n;L&p>)VnDH?PJ1|&tlNAgh&KC{t-QNgo2 zoW-Ph`bPjA6!W#v3!H%OR8WG4=28Yy?{nI;5-GA@_9s!cgq$fq#_j*U`ih8%P8Xbb zibjvJg>slSv8G0gPOc|PjiH(AFJ=>;U0n$FQrTf~a3D(LUkg?dDeLPv0^bFVnZA6- zd-J|>-)8=Cq|W5(ZSB(FSd7T5&Ai5-VO5*9+e!@@k!m+6VV#Cf=bG|>L|j^@PL*iz zZaI}uP8J=MaI~pC(t9Le90WNVar#;IyTZ_Ki5hh(7Nk%27TvDRskiw9;$EOaZ`C6L z_y*Pq2!0;Zw38Im--IMx^&^i2hTMVqx)JN#lGySsfu6rW??Gb0p^in*S70>mqFM*f z2HLAdKWX#?)W7Kh9CVwX$^P!Da3INffT1XInT`Y6C)ez>A|yqo27c|prxfC&(sPZ^ zs&%RsR6L#9q0IUlamEQp*5iqRNkxZ*zTt5^{djpQW}l5X002sE#TnvL7J(GiwZl-n z+(`!5g5!oSx6|(>?v*Mx`3I0(R6txt(g#ihp^^I4T~#s4laTw{CWFhf@rJn;I)ayq zeske5uDt{gX{m)4y{zR$X<~Pid_rJaK0QD&S3L8W+q?&s9a9O~`YQFfCVn?-xtQk9 z;j{Es;BNus#o<)e*XD=OoQ2W5&%Qvj_g{?<_Xm+@UbAKvF13#F8gqF$*g}yuE0%bX z+Q0YTLsrur-K2isRg95n`k0Sz*@o*U`Kw?W?oud!ZJhTjXE7(266YES93jQc~hjET?TqS>2{vKR$?sMa|3A@#dToCDKd zN9v66$GW}E7da{ilx2;!!^4SUR9kN&gWmt7y_8AWtNbD+aEz=_KiXUWGkrxaN{H~1 zZl<^03KuSvJG4%j1TLhrhKzTmjs9W}5#@^8ZQ;r==Dz90} z4gdDu4xrF`BbQ}})}2Inyf9GU)svdtKcQqi@i7rWiDJPbG38PPB$i7KrXo>S$0spb z)>LAvao|6LvIieMHVP%5`xd11-EZ9KL_zozqcq_`Yl~ivRGSq{TA?(c_%Hm2Vm2ov z;^w^~Eo0oatc&TQH`qslnkN2P0|{57qnXu7wn1$|7By>Yf>oTT}&}DW%){`Jd zazWB09J`+TfV+Z-A`)PRt#mHh&p`ebr!H<4p9&A8Xv_A^%-ItDeC4Fd(9@={bl3Ze)eS{D)M)k2&y#aop3k+U=_ zhQw_B+Y|ZmoQ)gnv}V)le&0m`OA8E?L9VF~_4BJ1+;df7Bvii~5lNW2$$N?sv3X>x z4}W8Yzo=RO-HqF4T54rbqchwypI{qqRDdx2oq03vcph|Z@vBvGq1`IfG3?|GyBV2R zAUb!;Lp@zlo`bX-_kZ+Em*mV>={!Xa8x`BdRMrlcA?73`H4ooKQJIC>jp8UuJ%n<+NN@WFW;+8!bIZ|4>!Ow{fuF$b0l!8{7P#7{@7E zzEYv1wa-7ugccB!M(@^rqHM0)RcQ<2# z*{7G^9iOI_C)8d_P-0HVFwU2LSqtry3P3NlRE7WgQ{8$n_4wCDsh*u|9h$%jcI5)u z;KS}20zI3B$jI=;Ju_i0wn~(4-$K1hg{lOcszLxqG=R6lysOd;MX`E3NUk^rLw@6mU8kGTx_pg{=?0d}wW4vQ6TA8^%iKxeOmfAF~(=j^> z#9LTzj|(17iqwL!X?7D}9ZCWf&ZZxR=Sh7Vzq1+IQ7U9Nd0QQU~Vr?Xp{`rn6h{-W6k8&Kir=mavuh5lzav>`3HY< zLwn%c{MgKjAMU4C&MTD!@Sq*5vDH>d=1+AukiGfli0GS1I_~Q>jm!DW^NPKrOyl_6 zQfETGkdR0JJTUZfhNv||(B18hb*k2#h*;3QEK0OJE!2f{Pk!OH%&t3;5qUSo;tz6p zyTa?K(K-O_4sLSoNdUYMllJmjLDU_J*q6MH1$scH@CNp>i-7oyK0`X&aBV`Qe4|b? z-xYgiv8G4Yh_C;;R~RGg+l)LFJFF<`=yFr#^|7eDG!3eAy48yaFCdT|)pg0ZwT_5Xj_$5_EpP&~ zkB$38bW{5as9br?FRJlL45F=Eh?wv+0>*{ypWi|m(U zGM`0zS0A*lDeaumK1&#m1cv#B$1j9W(-87Rv@{Gd!OCDpZ}3)wyW!C> zj}&v8;L*^rCCqQ%esjN$a#dOrSi+q4U;cIxe-gtO`%j1s-05 z9)-?Vvkah^Mc3tj^rd}Edbpw6+$F=LHsnwOWKAw>(sTYnX?ZL9mN=X=55cNwOcinc zh+m&>(dBn$_^^3!^&G#}t_&(MyG?x}I{J}svs;+yR89=&AB$bwy?om=g z5R~rjl#Uss8>AaiLAsT>!b}! z`|sayH7nYAsmAEp*GoN`-EDSl(Qq*_FNnWRdE5?576iksDED=SJ zLv8Ayhki2&AR^n*b@Xyf|CyJ#q>@|Qz4-OV$Ba~7mrbYN@Gz$0gY;&z6w5H!d-&tru{0}%3x#8cIuW- zf)N%ZVT9ItA3gv_0c(wLD77imbBqbH=psW1+?k8(voJ?S+Wz4exHf(T@D(2#_n%x- z0km@@Dhd&1{ubz@ND257YL@U)zb7g@Xiq<1N$v1~;i2KS#eJD70_nqY373Oz&q{Ms zeAq7?Esc2!HAgJdJYgJC4(0qRwb$KxV>DXZiw~??>2SE{vgy0c-l@rrA#M08ulssa zCUHO(TLoo~f%BCv(&(8LYfg4gK_MiB%6EP>Y}r=6x0S2Y>jtWE15c7vihiIGN($*4 zRi*djh29N}LJJ0we_V)M&hg!KIrD{H+5@S?nvYCUSX%^lH14?1pjBxKclQ?Djqow% zd@ZHTAt8(h+oE_j;6*o%D<_^A81p#uk=ixoTzZh5wW^ic5(`TrrjgMPc zgM4p7O}-LIs*%9 zFIYB;;K`nr`ytWaQU7R^+NL5O7_0pz>&yzNTa>^qwvnqJ#t5P!s_#^G-IA{ zcHj!}nCfksnB~n|=q>B!6^XxC2Tuf^R4}oO8#&W)Ve6vB4^?DeT07QLa!Bjq7e#{l zC~d+AKBIfzHw* z{K(~t{YLSCnT44m?`F(xu)1#g^dN9nF4s9Kd8{RM`jlgUW#8wC;)6T#O|hDv;27-M zt^5H@q}6w<^o?a_1@%s6S8&;5-eA3b&^Re+31?*2|J42@9S_LsB>Wsnvy>GP8789$ z{B|UD)Az>r82hkH$Kt}xN;K7|Xx;~%t9fmts;>YqWvo01XE|1hyNkqwFEK-~CJBV0 z2Y(Zi(#BKy`Ry><)v@PpD>hWyECFwevq+jHibK!VJL+}JkJXei1E62?p7!_C9nDJM znq6t$V0g&r56%-<(BR<_r{|1TIoI2<7fSPcC=`24)&5On0mw2Y_Z>$$$S$SEd|*iu z5K$YYSy=9oap_vadtxFqZM`)Lh0ly_PzfHfvwoV}Fw%SexHW41&5y#|C_a+uPu~wM zRpNA#)a2)aKi~`ZVQX>K164SV79@nFa&TGqLao-#bVlF>V}qOUfgi+UP1l~^wVEo5;F4iY=U9Wf!Gx=OE<%MC+8#1mc`QMl2j>^e zR6LHe7w5%baOQH8#Q#Z;eveb2uEa9N-;K$o%81A3}fay zMs0P_$YrjD1qJCIiL@osQ`b|>0gar|vO-1Q^6JdS(T2^W>E^r0M6q{9RA9A(Z=l3= z2UyHO+jpR!>l4zyZid#|CXht88FqLuMrS|0$w9@R_n}NT)oi4-v1{Ri(Rssf6;!sp ziQ_walA}Nq1k`Rucs#&+Rx2g7-b~8>s^Us7bAs};KiJ}QO}?8Gx;ZJN z;-mrOlZ%m0jxFAivFlE_lqQHw$MI|lF?*96-s_WY>wN0fjCX#*VrO1X(iB_Em-$`4 zP|Bn%#uJSLbL#F{d53Yw7YP0@7w1qF!~PGdZ@koLI13Ifb{+NJ4eg7pa0Ywxb?7WV zW;j)!vU|H@;u07h*o(WiG+5LaCL(pkw7pfC`bB%-zLtLEsNn_0^H_gs)5S-$u6>Cv zF)f5LPi90kS)(JOzi$hCmn6dUz5_t6C($FTEX-Uh+~m5Y(v`tqOz&)w>-Qw)27TNP z`BtYR#4~Y}6JaK?@(B15v7^LKPZ775m2d`zUYlHdMycXOQE$rnH&X!v;Ent5h3&Cj ziBsP>@>Lm&xd0#GNO2nve`)%HucxHz`pq8bURysGcV5uZCJErU>I#O8%yer zgE+61cw3@E{-pGP(*~8-&&ZSwG}86rD2$Ln6*_&~q>l_0!Apmr%a2st2zRD14lk55 z@|lk;w)Hp_huV4j7PJ%F#sf3eLks!`Z)@$FCUYFzPp&tB77lVO`v$MJY(r4R`d!=Y z6A#b$vdBp09tgY(ltQCuL1GN+28Vp1U?*;zSGNOhD6Ht|`oiCe_PM%Ebub~c%s31(xyDk_{3)Ky0+0` zJ}~RpY;s}ilQ!j8;J zAfAJm`Y173T_z1MS*@89()cQ5C=3I?Ezf()=7S?i3@Ra2V5*b%Xh|8i*CX?1?{7|u z#di9AD{5*2+~D|@rpZOUQ3R4^XNE4B2B+(bGZ&LLpA`H3PI5msvtwPAgyzgRzf=x?(+Til|ou*>Jjzh>>4)kbsPLe-cccR&MpscEe# z;LMy}$ex+0TnpPa4pdJwGLBjcaGKVcEt8HL=HdqCo3|QmzJ}Ls%nfV$wGF1fci)}w z?s)pN&f!Q??~&8no$;!&TKmyr?XBg;sC7>M{@rgiQ38$=4f>01<4RgHN(2&SBXdU$ z*`7m8f|qYbOC3^AQ{H4O?;6$ECj+V8AL9w1Llg7MC-P4WYF;Im8MMxfhxsruu{8P` zdV7^hxUawSm>{E=Vrvtgo$;`-VzVjI)K;?|Xw@^Ft+TIfnb~vToUP+x4qpAa)_4XK zf!s&z=9(i)Fh;y~kX4>^&d**rP_(PQ*@>C|5cvWf?L)+CR%2Q8rU&_^TJ}@$mmE`) zKw}O#A7%i040(ZuBS=WL(b8G%FEqV+m7SSwU)O#*|MYb5>Os7+j$D9}L3v@Z4v9PncxU@gmfL_|>5N)! zZWHke!}ltc*OZcWs?x!=(=7NZZ{Ah0&l~)_d9k_lsTytbG32bm2jZ01G*&wSQS}R_ z_UOZ4-P&DYJbawkLFHAzxNXdRk2LxsB0>W!?R7DEq?LDWG_v1atZAItN~LPq3@nj9lEdE>cu8U>&f<`Zihc}7ux^*+-8lydA$i$+KX41(tUHBnYt>4 zD%bdDZ}&dA7w^YuqCN$s-uv=rUn<<7f+fe>&~Pk4+Qv&-9^)m~S*5e3!IBXHc;{K} z$d~N(h3Mw2d^n|?geS!?t#>P>k(1Ma!FpWBEt39li7owcHJ#&Y!n(Joa5(md)S_fl81ZFc$x#Y8J>vnCAJ>&#; zh1cau_0{o;vll3 zYA>J+H7=Pf&pAs*GsoFa`WfqRm1yl)G)&UmuIIU40t}7O*b_9r$L<-L74bA&#DkDp zC8ML}m**<7v2u<+II%{a#z$EH$}`w$$9C0EXkbu2UlvUKF$cD5lzbHBEV928BjLQ} za%GC3n>~P5AY#bu_)b3)rH%$F4co`fa&5iF({pn^xxuM=l?**J<|K}XjNh8e=WIhA z5s-mh^3jhOcXq-CJowQ%+qVsIzn_cniGH;jM9fAG;mi zoYkt3b$FT)j}25EPcG)4b#6j6^V}+ezU_qPq)F}Q*=uhg*Y2-FY{nSLI(@SoixooW zy@>985bP-ZI;xVle>iu*oL31>LiM2u&$%J!E@d07GE0PFhL3VfQHe~8qzTx3E?P@# z^`@=ntLFK1WV~u_Y4)oR9v%_by}Hgq&&@*N#C48haCJJjl`L`7GIG#OMVC<-`gSPL z-)HHKSVc$lLGH@I7IH*kI`S1l127xfC0fE$AiUkjJxm+Is@*yM*MRY5!gVsx z)jUZ$0n*Q?u)t)~5U|8&+VGonsJhl6EcLY)tM8DB;z?*OPb9yX8us;%Oh z@)1cA-4BZL*lbW-uX6sbK@BnbZ2gzaM2A-G)ksxXjg4Ew%npH8W*sDuB1Z};i&%^r z?Ap|2qz~N0`Gt7tEnPSo$QL_LVa6pz_!Nt1NoEJAPju`dw>vI}bew(tEI*cWT`|F@ zIx|f6VJX>k^Zsxz|@lI)C`GqD#GX1d19cCTjOJS~HiFIek&$}%0%;5yxBc56&-%{*Me#J;d+==~EX zdd_PBs6;eWG2D~TsD>`D?YU-}!g?wEi$-r|$aJGS3)hCfpy;cu;Hw2+@b;Y1ncaI_fJDy$Ays>d4AQ0cAxAQ@9`~Mfjy1(rLz2YF7Do38(3nNez`i9zZ{-V zYqg=Z4B#PCUA*QQZu_aOk32^zcYj@X3JAxjXuv5n;w3dRY^j)gnDoXiuX5R3J2i1o zO>aaQI{(7kYtB)_pvG;$LwWXG!m#N~#P4#3G>dncTA$xCm~xrj;fkxPt0(V3QsucT zKIt80X)(Nxo|juLM|_@3=O!%a9=s@uj&Guwq_{g`g5>f>ux^}36U_$IjN1kcVZG%o z1fB8*ky~_4WVy|PMe1&O+D?POd?oz(CePk;V8$76BU|(5P4Q&XeL_k~tom6_Dl7#E zm>AOyh!Q0MuNgAA&sYBy5vLdoCJ`+JUi7HBC#z#q^62fvj4 z-t2-Kif0=%8aquv{ivjrX>q69v(2$rkFKJ_2gS>9Q{> z*p21h>Nj(5!}g(CGd_|~-x8lRj0C;lO)wc7;^J43qUzF;m!YKHgX9h?|Bx-R;U3cf zH!qitS%8bvz&E=_Kq7eZ$0G6zQ%l%V<;oSjsHh^t8TPpADd(lhWSs#sMCW=X_b%UR z=%b3yv^T!+i*%=z)f7}^*dw#6I0eV7XeY^xKwhiGaHYM5ds-6C?R=$4R z!|o{&G_rV!83#Rl5G%eST(dI{pEYQCKJ4G)i=+DbNj1o=8JEbt{xfK=xz zg(|}Hp7<^}`j=-;`eKNZZ4~p}SBRp9L&O#l6`j^YU>7$tYB>wR^0>?DGQF1CO&PUsI4{9YpIR?I zq#aU!H$=_S#5bqi#)L7TX=U8&h$m!?tocX|XcCA7XiqfgS5cE3%zQI`bz-YwYx{Sg zgak$wNgfc4SfI07!njECyx_-V!#?W5Qjs-0+Er^x2ckzVb7C979^3-Qu@!~roQx>q z?s+^EJ^mG456!TD$f{lI;%94QZe^K{VsWu-(O|QWc`S8u7njaGJ)JyM+DW#%hhC7Y zr}^|f`3*Z+UbOEqp5OjFBHFi?)@1hOm`yW>?GUHWgpUo;RX|9F=B$ z-xbzyI9y$?puaEj#a_r?>vMWmtHuadK?gG*Cu&WBpGC2?rRoKCljnQ*GOyNh28L5d z5(V?}S1P*pzA&dRA@wns%A_M$YgWqF#O$dYomm7{Y2JD{mxp9WGgn-+L5WDLN`lnKWJ@$V;@)HKe6Q~I; z&X3~ub;oyMKi3ZIkfI<@bY|p63TD@5rZSvgYdjg;;@KN;+Hb#7HCYk~N@(T7L6~ z5wwLmP}MIl^D=xZlBeKE<0TNvI6 ze_0j35U%L&)QascO3ew`qHQ9J_!`0du{s5S#U@OI!0ta=$C=}`jOBOnGZk-@{9R|# z|EGo9s0NrfBVh*kK3!gEQ$?86J(qJ9!GjU+j_%8O+|{2IqM#rWD7xbJ=EKq#2P5en zKBRod6ztl5&sH1W@NS<#<8zYr?5yew*wv=K)zf)VR?OYln^?bS-oRD6w>OF#7t>5Y z*LMB5XeDF6x6pdh0@+T@N=DPc&Q?oQPR&CNMOHUV31-&WN4m86M~Hw4JE9SxZuf5Bn5l9Lq0&TSRNQq@PoC<{uZ&rmBbbII0D;`|T6 zv7-L;=spJO7I$zeW(Z@DnxrfBuXZKZt#cyNZYxD$x_=);!tzW;U7h%L z%GWh;x8L74-qIPnoQOuwN-A<5vmZR%*BU9K*c z9<%S)iw7H9iQmtH5yFVM#HFK4}T50vC9xACRU!dy*%IVj+m-+rBTlm=pkaE3jr0<+O54Xaqhs{ zwSo$xHl|N20NubklUZR4y(a=>+;hz9;ukAdMoR~zOQF3^vajs<7krl;I5Ln_*mJb} zcJtuW1@9OeZVJ^_s!+behtH$)DtIIc$$O>-C0!iqxGInul3k?Aq4UEJYWfTTFup;FISSr zQQM^yyr)EdO({&1E#}$dHX>nF{7f$TZXod6%*l%)gMY+hY|?(nMlKcYpT)m=mBZB2!maue2B-x1aw!F30&&-@myFow17Sw$`T$Il?et!EAgW0Mt`7m}aG z+ECVG8uKT4_@L2$GC)j&f9iNN^4+WSysjW?B%#4D+Nu~y!n!gfmVtIU){7+PJw=zX zQr*alwC#uCUHEZ0HVdrp8Sd#2x%9bo-(MUIBaRT4NAr{9e$!)sS`mXvYUpzourK_X z_B-FJiVhyzi$tx(IP}q0f_Dr*-u_h-|BCeg(y(>fKLb8@_qwxi!nz{=+o$DxMANY^ z%<0LRTE0$gsI-^A_ImG4QdL5KPwY@%;Yh};ek5YvkmXT!LZAERcnV5%PttV-7f|V% z@k5OzxtjX&I)7M)(pkZ}lYHA~>~khXiIzAWm&2YZ3Lek?K_A;d5BA@I0brd1Y`5oM z?l|h7ZlXA-NtmH5E(-Dt+xuN+c8>gY=3-TBy&(=434I*luUQ@vc@rHt%R6gVV6KW} z_l2QeNYc&8rMMN64!12IZ=$Q{T^z8nRE!p4^ zjKUF|!buDac6I7!i~&6AAjKePCg%UD{C1!JuYcdmxDAFujsdg1CP}W;T&o=+`toS5 z`U!m=7eR^QVK^6D6o)ifvuLnHw@gwL+Il3#-H*bA@K+By;K3x4=i-K5IM`}SsOl_X z02ssDSsp+57gqkum;B|UtnqTA%iSZm!+Y?}TMs^~$P*uj3VH~bzc zaUg|2%H#nPFiGt2Pq)gHV4QUUHe#+filD#`i#v$K zk`vZxo(z5no7{knz#oweWPTg)Ric5 z1^?vj#FZrw19Vo|BDp*d#&}oKZc1F4*ZBk*YRe-}z;6}5qM$Q@Ns*D7Fw>ZgZk6*O zl9ZA(c+2@&3mWT$s0uSHq-v|X#N+9o4BS=;0*WN7OZo_T4pY}l&8qwJdfH%MQgqhS zHpTHLe}EA25E>lT+XwchW_hsuA$AZ~wn13$u*zy=Id_l@1)3sDlsSJ7zX7)lPJ?{B z{rm6i5UeVtXG6*Vy8VC&=@kvHvAr}YvLiF$su#>vFWYAe_J+N#$|L6(* zI6RQAeSIIVaoEqX(OJoYf7t%%??G7n)F8b(tOf78#~RPEw{)&$IT17DTO*PhWXnMW zDlGaKP98p;B6gzcf6@aC&Guz`4oGn+{){#+ZJb&Sre2a7F39yKIaqsvanSDwwi08TQ-hai({@a1y5cA0`@dv_n4tHc6hmyh zCd*^Be+%DkQIZ`PNS|rm%|k+)N$=~>SllTn-Od3Xjp9@aX z6?2)X{F5_6z_l!D*(f3Rqlz@Kx|p%mZ1qc zz6UdzSCd6`yG zY2TgUyP$O}FR97Tm}cY=6?qM;s7Ip1pr@<$h-|!nu9@XfpPk0=XxPJef>HliG|^ zd5ua6O;PEYiu<6T#6bC*LV0k^bJV0lP?*%_ej$0t_i%we z&8lDTc_uM&J1jytfNU0G>cbCEbT< zt`!0{xlcG=jJHg%6LqXJ`aC|Jh`jfG5Q;ulgu*@HyE-^f8N_An1EBC!OrMAH0o&Rq z;x{Vmc-&4&86j7QC)*>$w=~_zK#l*jmynS#VFoRtHw!kOs~R}DlM(|2AE2_%nv6EO z`F~=Bawu2Uzk31xy-Q$H1UBrpEJa62uf-j8{EUA^&4fmLc^W1pMl~H3kobqE{pAUA zL8|hn9q7(Zv-h~d-mkFUC!GF7xr{GC-Bbu=2GZrX_mb2eVik=4z11)ha)H^_^~2|L zm0wS0)BW=iOVQC!-tmQ*Os*bO1HyU81_u}YUjzIVrD7hCzAJD;P07 zI|IZ8B^FY-Z1fxySysU-@a%8jq`d$vFkeMGUm&4h6q9hXUcqDZ2LCP7=a*DnXJYrn zSYk@lN(=zgx$9ht^rG+!n@b*GKmIIHmh@^2;^pQVe{n=GKJ!e6yL{tFe+6&s4wJD) zU_6f6wJeKf<+9dGnCWPV($Jf~#S@ja5Eai-mRw2F;b0l_!7S{vI?g)D(>F0uj-&Vo zsIlF{5l&jH*AY^yJTkQoaf5qn?TK|Hl5vH)y_v7J>Al>l;~STJ_t{t3q(|h3_iz%L z{A_CL1}G+vy~{mM90pDz6nSo2@EZ%a)y-oTn|PNYAm4Go(wUi#KhhJ^cWn{y zA#=-Fww;nD=Jj@|X@$FRHo~OZ55_J?-U=pYzPJc=>jC7nJg- zoR0JcO|J9|nxUgxHhlqM)2WJ_nXX=+^0}rWcAy3VDH-A;dwopX-YrGPNH1i(4Br{Yu%T1o&`c)s+BBF@kP7L~L z6|tkNksY~HZk+h~ekl&k!y@UWg=V6JA>H=$EK^!w)HL@asIIYGNyLr^PyX2!%GqUY z_^w~P_d;eu?6HW^m&|k>X3g!#^F*^NgwXvr*&)~C>_q;?^$_$(_WPg+`CJsMcjiZz zuO0Lf5JSr6a~BFU9z=vhL{p9va}^0~79_-%$I|9kH#c#<;(eAV)!RlSNj!vKF9Yxo zC&~p?<@pumey~}YoUPO4(=$jA=B;udP-C9a>6Q+OE&7(|vNSV~xYgdvr%(cdGihG% z6qbhDZ@gVi11vCJH4LNo?(^<5JSRDvER*YxKS~fl&O)@?i{Gr?U+--3AbYen#5sQ5 zP%c3@|AD=FZAkX<3|H5y4cpi828q3ygrT5Fz9J%59j(?n{snB1yn3$>fB^4vJ0HHVZCZaicfbjb#k>$%% zArtJdeba8GA4{X4dMX_$Sf^@Hd1;#HKid&(XFLM!`zT?se*LN-D#8j8aU^V>*6F);q1CT)v3|A2v&sde z(cwQW1XKW15(P}@^{pw90;cq)P$lMfrgVaCTWls#;E&NoAr*75f_s!kOX~A-Z*)h=@xnEk`!m!kuDJd0l#rXDrbOp#~MyAf!6rh8X z=INkIbfP#A^CSOwVQ1&O4hFAWEdQ&{aaQyuD?cJHVZ^uAaLFYINuErteMs=TIPTLK zYy5+8aKm(1N0~I4rktDbVe)_^V3;K3$8dBSkSZ+Ht>KyS4*`X$^)-6yW zQV{Sd@y7@hCPG8MbHgflBk>*Tpl~@hg{wm|sPVVbko2kfd#3E#4=z5v?K5h^o`!Pp z6ZE=oMWpSvM540-A$mIpk)BS_MM)X*KJi(Y)vP99P=Y+cTBmVG@p{_mBv5B3z6!;e zRjhrVxp4a#>V;BeQgf^O<-Xi}`dXLABWm&KpfGmu(;!uWP9I)Kgo5&uA4SsfM+4y1 z>$AAF8f2_;9d>C<}ixpf9Sgo3bn{EAXv|P-lMnba%usdLl4Da;u zCzHrVrOU6Tk;F^x@OjnnCHS2>BN-1Dp&G^GmWYJdZ1_SYepY6quM#;!{HC+=!*JhK}2q9 z1PwyvVV!UoI}=%K!#M;-yjVhzFGh!U_Icd7;Q`!s?rv<_l*Ap@m}lbX!>cby?H6Fj zPF7l5%9DUJG*ORDv4TI|?%)zGwspUg2D{pPtot1@UJQ46#EbxQ1E%5K2VJkWu+Dn$ z_U#uV(}pqL8qaD1(Sm*6zP!l@qd`5hJu}v6p~}KGuUU({I9lzH=tO+Xn4S%?d+VAbjjxG^?+apw9LN*n3#Yy0 zdC&7*#yJI!q(W}-ZK2(?@GP)K3YJQ_&>)<)?T_xUW5T5a)w;0d2Ybqvx?Io5%E^IR zk_3j-E+i3a@*xE4O6esA>)#$b)keW@e^lj&pTAly*A1M5A|EEgjv{30XX$J-q>60v zE2j)UX02DYPdpAzhDkxZ3%op@r$L4N5K^QC6u!7>gQCnDY}opdh8kZ`x{+X@6NyP+ zZI6jvO%a{76iAm5YifPK|NGik-m_Z_%`$k>N|L?qBZY1Y3C9K!aR^i%qHwajeJ9P} z=jZx5WUPVGLfjmNGV1W#|Gn>nUNrspsQf;Ayy*6W_x{(Q=H2Ufi8}&*d*IoWb zTwtf5NdEm%>EEy(I36V>j>xQyNVT^(*fmhUiG3FgF(0*5_%%w<#NV7=j)(O^7s$VT z_<9Wf&9)XC26<=buSQ4~GDx=`(hJ&PRm5UE2AaeIBt4L)HLrl)Fhy)2*fOSRrv3&@ zHehx!GSWMKvr)+9Bgx60?fhB!iaG>LRHPFBY8$H$vFWyIY1x0D-|MT8b{6 zgdV;XD6JFA4p&fkA`_L;zRSPLjlf$tp6?qOkq-n{g}QV8vIYopL5eZYZKZ#=e3iiP za7<@mZm!`5FX2r7AOlWqkJBj z=kdfog(-npP@C4oZ(^RdRTAi?*%87vTYQz4gr+Jv6_q?AAdGXFeK#1Yq~tOWGVH|Y zNPa8iaag~DFpo!_cT6o?4ZPj*CX@TJ0;z)xEo-3={IbrM8T9UaMTJ=($I0WfM9BEV z-x$ch5+YBY<;?-RyCa%985E`?2kWp8Qbp&+R(rDhMlI+!u>N0Z=Z|VI)3nlRLX2j~ z3NWdG=x;>-uL4wX1z@oI67`~w{=A@KRzP}@&OYhCk>0=j70#ZA!sItn7OVUl*pf_c zy&z0JkFOwC(^D1hO#Uodf1~Udx;y96!DXepJU%(MN@og@`x*aIuW)G76B1u1sv( zI;wEjM?nTGUA)##7rZX#+p3o096W4NX6^^Z69aiI)xrU|Gdz|wj zPfm}29}58%{8^2wD$f6O8bc+6pOjj1pnpj0Q_y+R-Bk*g3BBegC4l;vhF^3;vYv6^UO6E%K>`QeZ z$=4o)#F2(Fg^ajTnNjAEmfgja8GQKVK9&|&D=lAQK8-dfJ8fyOBFy#MV~q4A^GPm$ z`j>~IyrDvJ;J^xmnB5qW3tG2iDRPRy0WW-$;b z89r;Nr*UN@4G2v27rU-05UCvBDEi*xj8?FeD=l4A2?OO`ZkKw~Yq z?(`Xsd|ukuMOTzWl;^iXpr*WmHHm5Xffbi+Ci|p$q|Fw-75Pw05sh_a$0)EP)_R!x z3yN$M+7sD4fLV1Z-VJ$kmg@kt^oQWiCIKuzqKF@(qeH$?G_U_z_sa7FEy#;t=()O9 zUzk_`Y@lla#aGrB9=g*1d9C1g?e#0qx}H-EVfIRo@}gr+ZHV)++Dw$Dr!T{#qP7=W zW?z+WS-shBF~4wQZNtre^Tsrw%&1M$JQ5cSihOCTo(3ZgVVv-;*#z2#BHMJkbtA!~ zC4P+OL>N7S+bAJIA>{^5%N1>iA2IZPd#EP9=F}dJSEoB`ou#c53-)KTPEtp2`|;ae zzkYq`_~sv72lVgJg`2GbN*)!$A!z$1MoPS7wr%r&y!hiAShnay$tx6}=OJj@t~t}H z{ke}D_O0U8ie)|$e$srX1sj(G*ire6A}x_Q^AzZ;?#`jYxoB-0UoRLxDbSChrD4|) zTbyi;pDY{$oUZ7S##=4Cwzn1=$U_XwJRt!{dm}%6`otspkmfJPS%@s!_KzyVggV>o zVw|a;;x)NR(jG2-UYvMZu*bToTn3evL-))rET->00V&dC(RwKIJpZ|Rpvy>T3%>Sn z?Tw{5I9r5H+KuY0^}fpJj3_#MZ>SpL0Tkwf-=gfD-1Z&;bW!$v=4N*vZN>lBu{qJV zzf}dOg_%=(Te~$#AQG6do7-bQiTj-mkiWNBo&8bPEGH{3!h781vG3!bCR~f?1dC-^ z4Vw%|7JN`jEk1nTjPnsBKJq#UpGGw8dFFOAfUkmTI=`*}=40f3IT2Xv@mvgi+u;pR zW!PG+kj>d{O_U9NGXPXjvc&!=;~%1bAqSHdJft0XWcye5#*=Tyr`fW~ox-0akV0Xf zw0JPGBdZ^cQ+5{78*9+mu!hL3bg*(%$d1Q%Aa*&cmH1X?A?~p|+?zfL)!5sq@ARHv zl{g8YoGJ&EK7oG}5)l!pv&$T(zg3zo04+e(9?wg_9++z9L)Hswl=;@TcT(sBGbj`k z6(1!Em+LoHuL+fN{-s%9O7nI_nlRUyKBvm2%H{V!lxY^OBgmma5=bI^971k@`$Y*! zgb^`%HSiisn>&OwKcBSD;-n4)Y7VVbx?6EoyNL(x$Td(eRX%ZyqbU0NJv=71y{Am4 zyUwI+(7{{Wkkl*6gOG9q%?}b)P<8jrS?ao86g9JcJ?{#{2J}F~wf(DIR^(<0reDCL zRM<83=miAEaX0Eb9J&`*#usdug#MAef2m^tQhYgfd`}E(>ON#+qAZhbV-&5|;+q-fyX~ZpXJejOz7%^RAW!4=@=KjrR=Lr}_111&w^my|1t)87JzO@L> zja0^}{wHE3kymQK4!dTd3=9K!nhDg{Wu?ap z=siBzZQ3KZ``PS$j+3 z_2*G!G}k95*D3}5K_Kj~$<1*lvM9u?MdqH#5LXP3nbld;M(gkepN3 zc)Hr6J5)F_CPu(b4voN#VS?pBr58! z2|k9NX%ZkA>N+v>EoR%_S_229Q!iI9|06o1&M<=BI4MN<2c;W}dJn^A5+^TY=Y#efqk3Y6F)YYATJY@+yBh>6o*7w@Wvk3?YC|Wl)H62{>XbAhZ z4{%R+0*u{`!~PcJ0hLF>N?c5P>B-ZU785_+{Q=g5Oz($?>m$|c>!Xom??#<^V1K^L zYl@cRclZ=9Ld&LQANts0uNKao&+y;EKAhXQ5T!cpxSc z+&oNOnxi3yJ z0Y}AAE8P#ekpG7JjH!bV8lI05LdJ?KD^44?;Y`hMtw#S16JPDFee>yz-4dg+e#0)n z$P&Y*QIOUK1&p>~r*4)9inwk+8Nl!48x}^*6msejTJ%G8+yka*3ueFGPV)tbvIkoM z7VNBcJAe~2Bu?_O??sojjThMC99Cja<#n^*I>6~Gu7iuR07d!(6zdqO5+|h0syX&o zBw`LT{FSKLXQ&9X80i}q!?eYKtFk8!NWgP=03syu^Q9m%-L_RlI=_98ZoQ+!srUFx zt>l@WRHFc!Cpt5GQ_qhH20V6V0xK-STHKwA)lqGK$vVt@;$6=?>&SHcT%@k&znUOF zcvHRlB$2(mAzyvAxWC^j*I!UBjyA@9Ya)G9CL^_8|J8Tdsn720t(TkZH4mjL0or3K zzw0*S^NDN1e<`a5x58*pNtN7JFS5Tpj5p&>$8xGdbp6=9MT_1S=y#D9 ziuO|(4&bzs;SFsLh&Q4IdH|0W2&9PfeJ`b1I?(RVjj#bHF%a0qCRXIocp-i*a5^uZ zNH~8_qpP$uv#iQCbn%dgvy& z8BfhFVk|v4QpocBt`B-|FCf`o`seS2z+g0zOAlx7Xqwab?SGN0e_5j0aD6y%0PvJ% z*kuh!A+OCulcm`pPgPU|UJBq!QNHK7Yr%6c$T#xh*Tdpxu#RH%P;Okv-Qc9!O1|7= zBBc}#-h~O%dX$iz8Ndju0N_QUu4M`LZ}8k(@LG;wiEN3U`~iSY-E@_gHU^q>Rj)(G z707h%eyUmye~g7n0?@enoNnvDm&zVoeHVqx#G^X@yBB~#ZQ9r2oVqbq=095wzdoqx z4r}QHZ%bvT_xzDPB0|upK1`O_&3S4Z#9V0U_OjGKV;25kz!h5a$$@M1)u5Es{`}-= zyNkab;9UrVWXCnW1Fz;^6Kv=si_;htsyd-(t@@N{s6Thtk?r+u_Pn!R_Q!998e6tnKK!Ijv@wYcNb}1k~;{<6r$e2Z3pPU93M)b?^p&5 zcsse}F)}kRZ&kGQuoYXCsSRp3PuAO*7Xc-4U7M~UJ{iZbSR(Zvvckthx0k{8_ zTd#II0VaFY-k!G~0qrNh1c0j`%@8gQAbJ|@z0#WDM~|7rW-kyczV@n0HI_r|C)1DH zOuMm1y&XaX{e}ScAE(#Z!NF*^7e$yW&41oqY}#I0yEJI>5NH#0oU@*(2B>^$#1=5l zzjX9h19U@hfZ~>?bJyiA3;WzEFSYM>m9h1g`0(C=_7Ej+kYX4Rx2$@y~NGV zR9c4KOaSd0!S#M80khiDY169>(_!@bn!WmsGvW*_v>aGkc`tf>D;8n zALvu_2MELf;#)ZJ$2R1k!TVTCd zH)MbQ-(*DKH&OsJRC{QUA0D=ZN59IzS`|r}M6KZH$)Xebe{}tIR21IxKaSH~N=vIC z(jnbqp@JB6hteS(E*%O23L+(?0t!pR(p{2^3=CRh?>byQUhYo=&#Y{Sq4<_%h9~Aa!#V6P zQWfo>Rtt0R&PsZ-zZ(8Srx~W(?#K%dqs7)ksVz%OhZ0>IFP336#^5#W4L$1bo)6y>=HC`uwft#*cC9i;5Kuiu1S`MlW1%-K5eRjEBF2KKaldhLuN>j`b)?7vKL=4~c*&*<%;P6CXpLkcYdvkVQS$Vl;R)=q< z?KUv+RElc_&x#?~gI8~*XSi77iA5DT9rRnfxB{mTrJB%RR*AHPMM^pc7-7}9nrv}G z7}-hrRLZ$qmgaqT+()BFa{Q<k@GsQ@o6k>?17n zO~&DvsiAA^dn;o^9Fu$&^GP{`nT874{)iHef%1TvA8X~#=eV1yH|4_g%wvy~;K8lK z`FO<3M#C-m4*|-ed4pY{nMP?(dsp)$Mbajfrsn9#M{=_pyaN6>kG&~}gFOq}PD;Tv zcM3v9eaMQ-2pBR*i>!n(LDn|ujirv~Y)_mj25GolNA1*oLFY%)sbzi%g0AUQ16F?PSFcD~nImpN zb7x^tyzsV%r39hr7--RKqd`vVVKpcsNxh_=>lpCz`qBjYQu&NaLP%lJiA??=A{2-O zFUP~f=&6EPtV?dk%#oiD1ckJbXeEnf_x1KsXtOYF1+-WcRx8Pqfc^K-Mckp1t^V?6 zrD8_e3Ra2u*(qYW?E2SQ*N5VqL~6uTEw=8a&4!P1)}QMF4zVYF zTuLx`fi0ib7h8gxy6_UqFlSxWuIyGH91W);0uyT?-*!uv`}Le0>Uof5f8ujDGEqRp zeVs&=>7y7l8al>LZXY)Dli-tTki@uI>E&d?91LE^75v8uzmjOQe|UHECMC~VRJ#(Glkj71 zSx2VtJJ|&6CZkMY1PnCS+G33z-iicZlR4^vv=EnmX+3tnQBCiCdbACiBp|&%8#*WE z2#e&M_(fI8X^2@~l?Vj$P!PTczIKL)1YA3<78yq~=48zjQM2Lrgpm)+^7VS;uYuR0 z@FROHt6QxsZJTL)1ywC(EvavIj=K+h6gGk-(|xPQ3tubW2}xgNzZ$jsvBa-4wI1>W zu=!P8`G3xmFLU|K;y>4DU47d_#9xmR`;#LW%F3zUt+B|u;aV*&FLuY={BC3v2|txt z2IRm%-FO-=d}cM_oV!%(8$<>%BZ<-#7V@r2`@ zLdG%2ZXn8VdE?C6K+nTIDeRIrym)_w_nOQ%xjS@d6Z0-%^v&5;^Sg}vutxNV;R0q0UoTzy6LZ!U+bMKsw$&m=fBp4( z<#?)`0L%9+T-z#x$e5Tf#sh84+Cr&N#i}36sZ`tNZqdLcM@oV+deh|g2Re(FV;xSa zPCr1|`Y?8ffMMWc>q8PGqX!o~+K}|;%-R>26c;ScK1Jjoj!2e*GYqI*IPb zK!a}b|H0w2Z<?DyWLhn(JX+iK;h zmVHCpg{W%84KzvKv534GiJhxLb;YpRbk?I=ojg}Zx~VAJy5v}IH9dvbFv%KIMG{+) zzTRpL3g<{=?~F(kIrWl8znHZiHN2AXZ~PdM5A5i%4Oz4ABiVL(W|EJXz2y>P-5-`F zm#B1PQKae*Xr6Y2C*+ieW^76hth8|N9HTR3;IAKul1KseVZkL?m+;DBR>@b%4<%`k zdb&Zavyu38%rv;J!x|lYE9yBN)1X%Ew{7>gas9`4py4{#>d__kg#!2#Xu&yY7QE7{ z5$m%J(ZOn4iab!|x$WOAsgjEzoxuw`Rk)?|#85{K{8BADT}}#QapHKFS6fM-w)g zDJH}3c@P-{45mm$E!{$W%7Osd3ac$T)6;tMQ3ht}xzVkSxkS17)hP$Ta<0Pv(|u#k z6O z9Mg73eYLzC<`YG8*cv!29-RMM` z3IfpHzu|0BfzIlXXbSBfa_v*~xg$XNJV`7%h-~;@>NN1ORgMp;<+v7BdOIZjxJBKk zl>R)$CWD-6x?@$CVz@=_~eNhyS}5lA6`i#Xo-+> zA(n&M&b1#n%0#j*h`VPnauOz;;jn1}RJvH#ubw1$R35R)C$?K(N}q-DFbLj-hFg#e z9vmsgr3YUwkg$c-Yaa@4^wsNx>?ly=@a-?#zbQE zr7PE30cycKA)FYh8WzJC03rHR*R`E84Z&X`<^Z!o5a2ZcseB1`7$am#NqEJ)NpM~RHe zd4VVj25NYMwRK8GU0x*=->nm$-IeZh?{Nsz5oa_xx}y8dbtAuw$zf zUVTW%17#>$Pqeyg%4Qlbf8{^@rIRQ4*}d(9ZfO%cDGfhz(cBN@q)5N!!XmsrB0~P; zbW_{d4gCa>vdp#7)X0RZe`>aKFkMXWNr{M`CU&f2p1%ACK}Ta!i6I|;(}gBu1|ufx zIYEcbfJOGj94J)?Ss1nfru?|_$$$SRm=_j6?%K>F>^drko$HJY=v-cx^KvPh)Kd#) z(zM*ha6q16J1cwo42S4ENaX-e}|UIYRr} ztX{gcStkY2m^Fy>ZI9Amul9G|BDxU-w~4s2E$UCB{btOa?=^l@NYZ?M-6X`aZYuJkQ4;Aob6AZtyJCjEWES;ovapg|_ zKZL!c4iEcBwyZ_tKCGQMuc8H+32lDw%l2XOV6tJw9>q!Y^=dlHNT8Xq+bhz?M{d-) zkg7|72Jq_F+KDkxCCDn$9hJ?Lb)+7}-D~Ocvw@iZO^k|2>6ie8_K`m5?Ws)rier2! z#3w8M$U=MG-1Pa?Qu0(EQ~W3;6rR1#5gB5RaDc{%EK@T7+C{ZX8y2)tSu62h{YSNp z!TiRn7cUqlH`(F@;S*fzhMjXs9SS7@kC+sR_mL|zV(7a$OR8vGS6XMQ|2Vk^HoajYWmUsWXW&)}%M;G(GZ zlm9U_a{oLT|6h%S>@I%Zu-$Ejvm)LK;(F6!@+U`iCP2Y0k|ZrMy+E5Paa7F}#w-L{ z^XKOmnqV@btCy|%=-%ExM4;?zS^iFcz6e&n_zwUa$;Ct8wdi{Fo4vELM#ia*k60E? z9=Vpkd92kV&j$=A!A4#YmVW)bsWHjo3)@s-?dhg;xhzF{NhHU9nQvXbE`?~}S zzN}1{R!rDf^W3dPypH+jL0{#x?Pm+WYmQX??+Z?pX(yY&zYm^d8f<{U!Yd*F89Mk{ zfQ#blf4jnQ8L`IrQ3Be1mDw7Lp6+Cx|1-Dj0M5~Xiw`W3Bj!wd16A+eySGvL6WGe~ z@dd8eE85f!*a1BXP`|){qpi6MQcL6Ua+*Np5~!nefwEW$K<)(^8l8}^Kd2@ZP}{i} zN|!WA!iB!`?Ub?JbqE3Ic7szi2_N`)dFNUwMcV;1S?adbLt%91&YhqpH+T0(4H4t< z!z;JCe%vJ(W#r#H>u@Lmn4s)(veniZc2m#WyYkF$hV5eDM~yq$vOAtPafSOCkKj8#;9 z?VZ^$Q&gVG>#eQQ@xU5h)Gbv_C=qk$m|Epm>n@vsE=vlcf>ECewMJ3lavH1@rj@Mfu&i_D0k%g2q{ktCWPP0$8)QAfBL}GHLp5^CPHq zTDF7`=k8`&5N}#hN%T+%J>;a@Q~;oG>r#@LX%1clehWZZ9X6gcot+3eH|&pD)|po~ zyUHmkae#+VZKN*4UvjJ;DQ?rTvAXocW^u22MQ5%&1e?+g~xf*uClE?*m z$7qx8$zS<6U%;_rtzjP}nqt zIlcoWN0tldm{ZW4C96boV;8PMN+{$|Y82G!#o;p>d<0k^f+N0c@3BD1zuCYuSR|~; z0OiC!!_r2kt(H=xI_nvuFr&Pk;ZHS+3p^MBd|7{KmECY>SbhBfG<;LaG%_0mDk{B( zqc?Q3TKz+j>mrBjdNQhVpc>YXI|q21sJj`+kZ!Q9ie;5B)e-YMGOK?w3pmahVuV0p z-<8y@3k)|xX_Zy$yw>}agk+CI4!{39vT0w)JTg;eHAS^flqc)rR;szqko9MVZuO#A zSFX->8>g6$ySVau=u40d2h|I)ZQy%sBi0PdUuk9?cXxO5sai3}r6r2OtNC@ZXaHp@hn~M7Fk_Vqv?zBt0XZ+@Z?Ix1Z1d%H1i6Rodn!RDW!&EL zVe&Dkf#mQ__(4enM%4u7$jYag8U|P@X-V#6MbvE4=D3r6mRq(TSR|y7iguyK-IjpE>8svtsh@AWJEtaAl@JR{Tlm~FsoQf=xHUsUo zo@-lR4pGuob0gU|%#pt+XuQDuOD*}8>s#^`T}v0msmX4aujS=CpPp-pGjiyv{=Pt7 zEsiD~inBqTclk|8e9rwiPFqx?(nbxMv*hcai;4<(f?c!jNEWH+yJP*llD=MS(IT>< zQaKRuRS8ZB7jNP{2ebM<`$id6+P}=#Wii}FPO&rn%6~Ao$)5k#f`jmibM*RR$=$K0 zCA$`vz;Y*ck;wGgckkXUBacjKJ;b~E9A-g*OQJaYQe3)|<=xwW&^94cEGSH^9yHzz zZdS(`WD6xKiAtMgYCEINpR8DhBzdg$VcZ3*XB<}#JL1HFRN{cFYcOR~#S|TQcAWR~ z%A8UVC8|I@l1A!~Z|1pA;4!F9^tl6tCn zn(w;L;k0)&t3Eyjp%)2NeV2YFBj~Yy(`eNd%Xc~_7E}*+ojWu5*}D5uSaAU0Da}f$ zi9TEbN7*$`w)BC#V+x8JC#O)*Ia*M1cFv#;5UOsO>SS}NzeJXKG|`OZQK9q+L_E(i z14W*#i?kfu1u9N1lP938IQ#oPm(-#845hE*sp2AMl!}TB)Z%K5a7G+(K`H*ck?ac)Z$V)U3EM}ZT>g0GJWL*1LpofVw=KJhk?@GhLuxz7#+VW7YFALWoqu~RRxI6sitOyL={#lN zzSpYctbT)E<;pGV8!QTftV0(N+Z11%(gDlR(9mO}<4r9R6;Kk(SrM{oZk8@nkKriw zo_c-%r{Mea^3wz92Dy4V1)~XAJm~W29ngZMr>9`_7i7M%x|MP~QQQuj5Cw4Y29Z~z zn*y{on-$KQj_B@QFIC?H^+riBkfJmKS-Tkj=<$8Wt=8Q;yyl`DvKF;bzdNqms3)~ zp0&MnH$MHt-m+BNY)pEG;wxAh$2Y1Y#M551FRoNQ2_40eXxM6I?tq1U!h#LsroognoV56+ zY2MT!DBZQ4_ZM8SV8ECXXAu6bw%9K)Ud#*%|M(VuiR`}5AON;JR-=o*|J(mx_&3*B z{r*GzpIk$&+4*o1TrFNZTWM3q2%hc%QC-WD(5Q63mNwnj)%0FMuXmQ?DR1c7kX~z& z>x&ily8aq@Iwqx#@Aav4;T^|2V}x2K%?+A7OJaUZSnYNvn`Y$jyBis{@>~;7;W*C^ zfq%IGE{sN??^)1+Ow=nxyxN?UOQGhd-(f(e*#+Od3E=)Ls;(l8UU+5naU8FU>vy8a z?;v=310&16eM&$6qMilqpwRZI->l!I2{=2p8GdRgp=v?8@LAZXuWGcWWcO1rX}{o= zticb(3$6K|06hAJ!^y65VWIUvJgjWsdAHTlpo@n^9>0RAOYI8Z@J)7RW>OMq#Yjaj zk<$nz1&@_i#QeIXGMP52ty-pM^J~@AjS)PIq4LV`4-q_<&_#2NE1j#?m5X>!i4T~v zTsgUD);sXx4~Yhzx6^&vgf!;qzih^mD-`>xlnD&691)9BDeIebVQJKgS22Potk z@3YWsL0ar7y~^AzctdrLTWGc~@Te%c8TA_Q3oo%hFY$m7sn{OU%yq1#a_m#dfa0Oj zuAkR{q{nQ7mkT}xO7e{h5sF^_V;eTq6VL#V>E1I2`B7aGB?Js4PZULFstULG02sHu z1L?*xkI%KDuWCX5c5d|*0vegG(fSI`HxpGgHm({&k+)Vz6Pu%i;>(=4(=j zM!p;F{K?^BeR*AZN{pixks1;HU3^|awJm`kKZt%8@Gn!64658?*cTAc(-05{x$`uP zSMb4~kMu$za8gAN-((+zamu@xl)N))rO6Lacr$$u>^GrLlOaD%Q4ino+GU<*mBn zjE7HmVtqco!*b$3q$s)qe$Y*He4rqjBQ>U*6#LE`9C|GXk06wruENI28~>qOV#vA1 zE6Qt_gxZ6fcGypq=iTO%I*vbh*Q_gIdloz7xeKrL!Pe|c2V^MePh-8;M#@Xkg$aYS z+R$rCzHi0Wn#*W}*FIrHR7_{qQ+h?>AAD>t8S}sICH#b3OS1QTtqsI z$xWu=b%c;LEuiEN`fmDO_H{2AxL3eeN+U(71)W|V9LD3VDa4U$L(Adv9)$^TWeumy zeAobDW0{~N+s`qXbM5V3L1JIO{LgiEA?tFp`99RZcq_e%sz!!Gb5Q|A04dLa>yZCa z=+-f|E2teG=~Ct-#9!XS_qmT*RzJv6$H}YdIGVWf;7u8JpcT(Qju&ObbPsWeNlC6h z+RV<&@aysX@q4e##@ zWVS)EPAaJe#n+5a6EFn&Ok^weX5kveKQXZ*>3@Nw-TtX1&!Jhw*6K#Y4b>H`x8tEA zbYWbsYPRZw#q{gyc=$vog8!;YRDYy}`pXH+HWP!l7Wh%raqs+b3I@1f<}IIy$NNZTcuBSC-Z*Qfg17E z7WraFl(b@0EZ*>DV2 z`b|nd+A@Mk`iSF$618?ba#APAZKwN2orRyDL|BsNR!W+uh!MJk+Q=GP^~8(Iu~h4c z0`qyo$iX`ZCDM`W;HML|y^`9>TAkryQEga#G|bZn+m<-7jj1(Y!wm0^iD0b*+(^Gu zqh4l40kLc*2q?ieooPNT`nM50@^>)^vK+lOR^!AI(xjhk({_JCQp9(=jV6#ke?VgF zl6@kNmkV;Ycf*PD80tO^Ealli2!3E`c9swx44n}!2h;@G)|Mf2P+$3w#9st~oorp+ zAYkwhI7tjWE5%VL6?`u_)NmnWa4(CZNxRVttLnL;5DP)Q$KY(>FWpP>)hSbH8M2Oa zSi04HCfo;R7S4t;@j8mqaa83t89E30jKA-zoII7O8fjtjZ!~f1<}FI?XQE6Onktcd z1P$qkm@V_w5qhjeqm7ZXOV5MptG?=blHuObDy1NU^|fyKY;wOKVuzX12V;}3BUH)_ z?hD){GJqE1bwzSJL!n6Zmc_yvGS6o{ z;WrGir64^J=oT~&PnzTEmFFn*YwN7q1aqXc9u)|cb_m=6`hrOoKBF_8CgvZrINuw7 zQa9U0OL$6iXYG0g&1oYTV^{i$BksV?cI{3%UWYt;A>q(KHy1&da<+5ZujEj(iH~ng zrKyr3lS;neK!Moah3lQ&`Q^27me+Nml%eCDi&Y=mic*L4Xev zT+Kx;JM3~}zK$I6q!iki=LoMj1JZA(Z2R<4FD>Z_Fe#&n>%Lu6DA>BLfjJ|OZug?7 zm)Qi)`OtgE^6&?>!AnM}gPGEf49bJX@@$+CT?GXx+vo0OBk)%m-HiNWJR7u2*2UOF z9)JeH*1|3}?vKidV|t<;l!Lkm# zU{8kBkC5BrXORJJL6+${x)$c{=K5O}3rB`JeW1Xn0FIn#4X<45$y$5au_R`=`C!Gh zAgV;#&}f~$8>opF&Dd)@i&&gf<|K^nm%Ip$r{m;u79!w@+!BKfZK&{=8XBH$PBK;_ z4G6(9-Q^Jb3HH9W+uUg{CL##RpZFPdK|SAcf}#$@2o3f0m^7vyv#`Nd^n3 z=ufgf{HAlqfXrO|ilM$;OOMjw)IvmI`C)E@o>L=L-4h%IgMa4a8xs)H5d5&ITPxfngasWtvu+XaQ&$ z5yi^&hFsh!_qc7FT=sI;p$cLI2A8th zztIzX3Y}6X;wRiCu__L|@vqxzn|Puq0NRQXTrdTYeu(ze#C!6yo16 z-vIsgyK}6Hr!1b3!3agbwf46B$(~^yt~R>Xq6IklDD497S`qh46ySi#c&pt#PXi4!&03 zWtjc(^Rg`HNd~Hk_S~T}9ou#WE(klr-abaFub(43Ae)mn=IKYUfxdyr^OAS)tRdyd2D5?rgSi;m z$;q}*Vjyd!t>&)Cjx>fw05kbssG6(fupa1O z*wqluc}6ElS|=-Q98JAq$)TNoW4AK)@tQ|Pe%K;UGq6vmx9n>l%Co;aVh40Y(&HR5 z1**7Pxe{hftFqmpyNz{Db@HSIGbLJ*YxSGG2TBcgg>6I1!cJW)_N`V5Hzcd*uK5-P zZ5+5D5w3P75c|41C#ObYHZQ)3vO1?)zv=u3eZS?C{c91TZFqPxp3n?2f?%_AIKi-*Q(8$hd=4r75(ZS!vRvnJm z;+Kxa0ltTS6Cq3$gy<0unw77=9KAtxP38`BP}^1TzZ&p2Z?YNq{H~K*a-`OVZnSeb zL{oe^(tdfca)(XtmhUgp840rQq0J*dpHC0sOJADP7CHUE@emRlgGVrNwYgl{sOT2@ z9oW^y7Qm0@S;{SJ=WH4&?(GUwR&pLOm-DO3f$uuNZExbC#zA|)`J@C#d2qRHpd=Cf~o zxp}W)-Oe|c3~{HH>2%_Hlv*NV1yu;`;(7WjIHcg@kepG*`1ZYee9UHq~p4&S(u)W2`Laq*q2D{2aFI~I$tJ9;Z zxi~jB*9`k;wDa_XX5w|M8W0POP;>d`I>P_ADtsc6he0SAl84fe!!&37s7C@&vG3}? zBhBcBls)vo+XBy~K2}>3@te#v(DOake)%$Ib#-;>2KL&=2PZR26^d3wLb5mc`9Dx2 zUmh+4aBXyQ@=EgVLZqX)2r;!9UN9BYtU+1}bJFvRRPdie@#Fbm_OUo#{b8cf$2@IW z-;#4vOqdR-2{%*B&%#=reYUlcXVVgYx;8h0P8)xxYacXd1>FvEYp$D#5G#+hXXERZ zFEXHGu@BZ4%3WT5rN_hAzRDl)i)Nprb^DSkHye@9*sC_3W%f(|Q-feaN(Nm<`>8sb zr^ir=ZG3TXuHe5Z|okcsmaTux!5rWxL_UW`K$^1M-bP( zW+fOUBVYjZ-sumwNP<0>W+NTt&6Fl%@d#Ef?8BspVg1funLHEJR{nPTxv~#`n`h2v zDLVghi-xh8#)ndZ`H}TXr;Xx^N!+f~+^RgPz-Q@B@D3t|fk(1{aSO(E8yO z``@~Mm7ZIQK#o{06|%3m^m#ewRV0SjmB6X8&~G6!n$eDP(l_}Sa?Q1>^MlM=yl}ji zzg%u#2~y1^+ftW)UUVHDj7Ojb&WvrbKppwll7fRTvA7S(#`tzs2T#cPQ@?M9b-`?r zDpgc={=mE*925Gw{C5cIn+;+$yR* zSFofFX0n}{%34w}lK<|sco@U8M7!8Ru1%&*;A=I+Pc-y2h^uVHXVg{_IHoi__@qaj zWd-wJ<^9vt9O6K$SIwRG?>D`bzP~pqW6C)sy@T!iutT~tOTc-%LB< zQEy+ticd783GUfi6Yz+Y_P%8G z?AIBrcmd^h?s|UE^m}_PA6fjOBAf4n41UaQyx@@w0ZPSUh{5t?lkwn&8?^tO2bPFT zy9}L5pJffN)Jl@;(lk{PWfmm|4bkt z#0^Y5S>zDm{DCmjsWMXwiWk|Wn0%+oMf_)E?HYU9MN-s2H*0{T6w>`qz7ltW@Oafl ztZB7E@p4EXKqY< zzDq=$;FDTIfgB5g`gPU38M+pCeImMF0>A_eJZt0({_dxld{0L8X0PZdmMJ6efl$7! z&}uE2L)zNj&az&G^X7@NATyeAWrh}KfHK=t$APYMY<;E&YHRB?rRTy5YHTzR2W4^z z{AQM?9yBDXEX|1*3>@bC>xcg0!Q#zQ-!9t8#&qW`JD&_%y5-QMK?xkG=mi0ex zLPr*SM#4|u)3tIga$0#HjnOfAl)lsIn=ioeQ=1>^z&C6MP(Qz@P zsz8#;qz~gFx4sg*#B)~nnn+g-2xyFoj!sNU8lTQ*#rX*_J%98l`pT6nBV%Js)$TdZ zMO~A^NO*!&Nhr3U{ms!mH!lw9pJh*zeHTzYJ^&R56+NZ7Sm`pK>HyCcVZ(aQ(#Dgj zVqQZ!n($k%5qAu@+B;WcqB`$??S^*`GrH6~&g)Y&K%=~}4X+9d^xb?w#2;vM=B=6k z<;T9iO!dR0P+{LW2Q8?5SIKLq)N8`>-z`H{Q$bc{m+9Y7pY_E9eEj9nkr7)k*kRy0KV`a~TFvDO;D;m(fHCr!nGF2rDgPLn zbAt~2p+e@VuaFq5$38C8n>52fN*$%V?w82;siwGqtzf@~v~f1#_+&*+#;)^6$~%&? z`D3%yk20LE@q2dHGKQbh$LVUxb`dk8{O7SJUHM&giYbC9x0HbtZx}SL?Q`CkVvfuC zu7b$aQKol*f%|>9u9ZUqA5~fws@^AUVY8NbiKePHlLY+Y-^43pjPbBBx(WM1YSVhWep_YD6C z^%olus(t(0OIMWqDqt?CA|?L=YfsmqW50+tit62#|JJ2|XnD=DsY0@7=ch{=qAw*YU)jPkku!ESt z-%0bNTk^c1e>83X-9nMaC~qEa75ZI{s6Ih{`8-?*^=5qB^E@8=l2P!!mh5dVVdW`mS zNSnSg%QTIs^%BG=h@7Y_p&6=6z8BT#ZmP^*?f;RQU1x?%z|LTqzU0Mmy8qyEPLDjtdz-w~;9YUYKPaEGv_@CC@KIa@2-fqE^aJ!QM}$}mtK_``-9m~* zZ5=gym_)UZcfiLtp{cE(+ z_C?ZPugPtA2GV>oJ73eqosFv0Zl;T4Z{ZHNGe=$q*57tGC{p-SSur@*@@R9ILv(sc zKvPIn?&QNakLB}*8>Q3JT-A@(4xpoGu9GNi#%Lj;eV_SS|jkCUfZ4C#5OQ0+}0vz)D)kYwe3l3(UHBi{m zwLm%Zpq;iGf!`xPE6pQfGv9nEQd%lF*@NggbbE=u-DXa!KO6d{^4FJ#BVT*AYS9!M`3Hw%RP zLf$6)8`**I{|WafeiX`0#r0^lZG5$4JF+_@Y}eV}%<|cOREPv_CBANd*yddCP~>b) zjo?$--k?PB{DL`tPh?!J{-(<5RoupsitT8T&g687k&5h^f9<-8_jLhnc~XAbz`X#R z%|i4^?|c(qGbpMpI~&yadqzf!1@0N+W-*&9q|wepZQwzZxx0xcZKRtIUt}T9IL(f$ z8_WNYzH?G>8{w@rpCk4gFV-4QXU27=pC<+$znI^bM1LuI(y%XJ;?otlGJj1at4d2w z3q5nt*uJ*;<%|Y0x1QMxV%x^_7Jsw6-j6#wJGUSw9>ONIw@NfcD3VtCI8@vcJz?#R zvAlY>$CQ&`hf#-ShgC+rD|MyXZxAg<%9oKq><6tj4sBpyL{6o{cz#WdoDsPnWJa1f zO6M!o$a`xDVY*qJ#OAv0N8Y)5k$s91_w@8kvFjJ;d7s`bO{%lF$h!XxdxLM$v%JOQ zWv5tqbOWO1lIHbQ*>$`lRsKzW<91Q;3XIuhd>xo-n25@1; zP&&j>GT+DaO#iu~ym$#O17%)lg zr28SEm@6GesFSE$Gq|`nu{o9(cmAmeiyYs_oS+lwdwzSvk6_Dj>6w=RHvP$EqU`Se z{=VITNOlb&uQ@JuX=%x@DFCO+@fC&T*um=VN9FMTYOIt;z{=2I1wDC#_Uf{jA)IaarF&v-?3YzPiQ>ldE6m9+7(TCc z*_>;C>$zvQG?198Ew08(%v*c#v3SLd%}m=uE7&;zu9>PY_gm-pdjXD|(%V zL6%&I9yokFS2NA$`PEq>4B;@Fw4=7Vy1MyY5^2@#p;+xdwRgAM+s+Fb>UlFVe0W8b zsI(^&7)A9#&WXV>R!4}#{81trbW@Jcuo?+`cE>wQMCOpX_m1H}yzJWCGBSGQHgGR4 ziMMyIKKL)_CA0ph8c6tQCq%-;#|Qi2`MvR>G3ZN$&uhoj=NsIKeLF?omSIlOg(o%#r!^M^o*)Pl^H__IinUV^f~VY21J-8XO8YK0&T| zZFna-Dt~P2;>vwcp?MJ%H>`ZPX5!iVD9vn4fmTW5+M|2d`Mw{@WXQjXDmZ1)d6rY? ziQNCQbHCF5Fco*;l>X)0qkKYc(GS0=FjxbF3KKME=Md zSNuj#tE6@)T4QG9P<6OA@CGE72M*XXXUDmBI@v--u=gm1ljszDBr^j;HMS)JL%SnE zhaZ*X;`5SMG|?)d8NN^b>j0|MuU^o9+SSMcQQdI{v2Zcb%~*Trlcq zcBNWX;}+X`A!@Dl3rLi{u($~lN3sr@Pp9RfF;G#6Xv9vny zZ)R7>dufLRRoqTsV30|hMMNZ*mP%APA@A`%tet*vk<}C2Fi*Sz9&+`Vt4P$W3Vgup zs+ptqH-yC_AiS;`G~|wG>l7Z5x)E>>SU_D&sv(;vHgIEPx)@i3R$y(F3Z=`^?>hc; z^ZC>!_n5C1@hRO5ow|o@!JSk^-?B9n5>Wc-D!-y5c~w_x7#&^(spf|UtrgX2p|CTD z&m@jV!SDt&pTi+D8y3#z90=I75yr}+&Nw+9%BP)iT*X5}&(^1EhI2-Qg@rv%_DK_+ z0OC|Ygpsq)8IpdQ8KYJYXz_=UTh|Mm3ALF11}YE8=(6_CUh($`zff~-Jdny6|I(*M zru`Us`x9U@*@DJ{BA2|}+4H$8=cNXO{=VZH)Igd9-7nr6)T-9Pv!$?^py~-7i1?P za|FD_dJ=wwRym(gQgsZ3y=M`>&CAPMwi$R>hgu(R#MZsepFTlyB4?KGh>K#8e6>|v zjsISw)0Fz!mQ7%ADg=|nNSST$*P-DPmFbzcc;4s#!ZlzTBqX*}jJ3hT~&?y!s#AE8uI6-yVDNR z_r81jO{jO7Vf-~UH8-doRD2ALj7*Lf04!}%2aV5Zdi2lEVE6wsg1;Vlgsksm#F#Nw z!L*qSY3$iK4~Xk+vm#}+%^%-c;p^5+NVL^+vbGsW)r*&D#EMdcoF=9 z6u%okD)6cqc5;00*R{C4lloc;ZRnLH(5W(#lVqCD`{*-{=5N`w^CSY0PUL_p=zsu6)ZjvyQR1v=~cem!}w75Uzd)4oy zn!SOwFNFPB8)d|p!y~@Os3ze@rS*0#%WZ!?kb63BCQkZr(%9_Eqy{*1RZxBG*R!;E z;KGc|g+lv?d0~%}#ndiZUjS!=g5F48FUx~5OP?_+To#59`~Ud5>aZxctq&te3z8BN z(v3>zNH;@wgLF&hNC`@(3@zOtAPovggCL#K-QC~IIrqf9hx0wp{P7NtzO(n*Yp-6v zr3Z9hB$U*y5D6R)D>vFG8C|Q?AJ>UbZIgj^p}fzSJ0 zn?3=J0G&3*BXpywtlsM~9snfO-H5HXEi&<6cF7-Jx+S8plDtE>I0=uE@!WI0 z3>}(S1?IgU+svc*BcmOhR;Ru$^g~z{w>4KkI6^2XBV9mxeh0>ZOjse#sNxH%K(N!o zRnuY*ilFoq;S9bT=xjQg81PZ+NnqW5>9b1FV7-H5wF{u2eR|60Qgf~4cUK#*L3Vo< zd^xGtyd1C1i$3qX7{;|RA57*_ij#hH?pQ|gzsIdfiPeokuk%E0aP3)`_bNi1EK^^S z)4(uJ@f;+V`F5NN#xFRDt6J1YW=*F&ka#F;V1NLy)xOl?wq%HhfL;HYXgiRydf@bQ ze3KjnUDU6_byrWmOJHk>$S>!*5R+4Q1aD^%4xemVx5r>6K^8yaJz$GTPXNYp~~xHZm7zs~4_# z_m#{Ht|S^2qtC=~5<~?(ly3pWes;a7S)|&x9XdN{hheq@MN|NyQ%2LYhQ8jh^d&e% z>K0Y^3tf|hcGpxG^X$gW*DKZNCizOr6*Z^&H*qg+^cr>}>aJ16h%G_EGX8G?E&)mu z?_f6cI5@7GZ|jmoXHR^;q0p{9AUpE|&|a6{;#^(;%|~iLBoPQ2Yz19c@F-cA;KFVL zP-B11xK<+np*H@IRBy1#%BWPZl<0zM0r~Fnv?#1xQuaBTLZ(V;)@4=JwFo0n_}KpT zeH#fq=Ws$cgU{BG;Z5vP{%WHW+BR9b+vnkW>ZnmbpzR+fx!DW*y{L4RBO((RftO~W zXQ^Gn24J@ofKCW~qc1=_sSaqgIv$b%jN4x#8IdfFM@n*ld+B+yp0vu@NFQ$pty?-Qt*r_%G`| zcmR*DJ9wJtF`|GjT;v=!VZ_>h*_waedw?Ur7pOzyH_&@YXtGBr+s=<+($K#1K98SXL!w(%5rw`N)(A zPN_Wg^F#tXx^+)~6Rn=RrHK9iOSzNHzdo_TOM99FK75m_XwVn0o2zrJ3X_mb#fNXV z*0cNj`bGfY!4zV&|K;reFnT2OotXN(*s;G6b@Gc64?fhclZ0-gss6$IB_b72d|*mHqzLr2|JGiZ8EP$UB6HFE7)RNZ%woN4S0s z6(Pq8Yp?uNr7A^F#Lv~US<3h=buzCDQRi@CalY0+khV*zj1uQYhz=fNHr-)?YNTa{yJGx zo;$1j{5(ltsX%>W2!vc{4f`wtTRaR-}Fl6k#q1UYQq`h0P!zo~J`P5LNQ zZ5IhYUO-MVdakNkS7uphJ6j>;JN20st~e6~IV%?qUfM&COKU~~3ZbJyd&t1ZXzJu? z4S2sJBO{^hXY7FrM2~`Jl4(^{RVQnma)BsrzTo=e_4n8RMP-2KK$`ve^76$&o76>H zH{N7tL;1RWm&dSpA>GA##!u(#pyLa5Ik|{xLuv%9HM&R__|VOja95WO+?eazys1)1 zB{Ue0%XI(&XhsDR7pre^(NG*69d#rPaC*#~B8|R=e2k5Yt8Hmp;kU4|a$->wbRPN) zdtddJt@rzr#+FYv0Tkf3tLx^lZ^CH3ca%P4YABHR*1_N-cm|G zFfH@}5*?>dY&IUnMAqI-GR-#GPrEds?$JGb-@cRM#$CNHbSo|dp?0J(*oO+#g6F%< zD`el$Bo;2iZtH*YRyQZAI1|I8y1MKl0G1eeJ3jGf&x&|?X|XW1HUV0MwO(RS&_jac z@v-9KJ8@pjg|G@_ivCWyNIXzN_|rm%bHt043ujG-rU|#`G5Mq-Ip)5*VghS^?|wq4 z4~iRncVEams@I0^E^i?XKU&e0t|Hqa#C6DxpdqFdEMTceat*#;I>_+TYr@yF?Az>I zg5lZ~thU+{_01P-R^w7@mZ))^s%S%Y)n{CI@aV4VFe;pk3v0^A+iza4(;48=;^&w+ zi9I?+_^;IgmuZ5052pF~$Uh8rq~)#4nQW_;y7+BK$@}#;1aI?+iXwhrc_QcyvWB1I zNjPjVjs{;Lz;s^n88~DW|HPU9r2}D*_tbR=bs*!uTifVo4>qA?+K<*@h zcHlD&^T^;Aa$15B<2h?{?8Zz*vmc6m z$^(~I=JJ!k#t%|~tR&GkDu2Vur7F#~Q-<4M$Z1DrOk^f7?P`fZT?Y=QV)qN?h8Uvs zN4GQu8A`3C#8o6V8bwwHLs>vS}M zcrkrVPo04Z2why1U|fu@>kvAc!t>Ae?ZgW}<;$=>&&fXxOkhV~A;dL}U0Q=A>wahX z7&Nh$4`_klsHf{qTOs5Aszn6mZ}1 z<&E5&JOc^^T6CR>0{)waf2WdP7IaNR$ob4ZY=9MFHv1#sY7BCIn zY`!{}th%05DB!$FlZsLK2rDd9FO?r*abB)*;H@ZVat?-@~fo~jiQnyk#1_|*}cu=$<-=TQ?^ zyt%f_`>BN2veC9w`V98Nd@GqXnfjs-a%aLsTh(UIFqR$EqCS z#oB|~4318!B#*4jtO_R=@EGSIl6J(LvU5rNVgya)DzGHjj8zxBw5eW6QAPIig+4a> zvg{XJ0~oQ&Go$eu%uMuLBx*A31w+XscmdxgXGS;l1~39u;u1-d_fB}G98!0ByO z<4Qi-zms>r<`}80%4Z`PbH<*kr&6`*_K zSitn%U5bWuMefwpw%nz`r(1)^#G~~Jp00Yxxgt9#vNX=7_UN=PZb zR)|Bp9#QYIaTTTNQBXJ8=%OPQ*d%CC0kjF#ngMe%%oc-Kn3=(ZF=?ff)$eAt6z4}Z z0pJP-rH#d}Jz}54*Sj4Sb!&_i2ShwwHm8U=YZS7y%^h2p=y@H+*}iO71U)RaupG`1 zYgb7>TH7(DMtG>#f-!Fz(+La{IsJxnY1eQ;Wj!w?IjAv=*jUUtASG#8olZrhsNJy8 z_7(@tkuoG?xsgY?K^mVXitLQB>+%08zTe2VmfZqIq!Z&YoM~|XTy$Zi28QH}x1A>o$K zLJcprPi#Ew2S^)@HL_WV`PB3^>c#J-gzWa-vYC}^Og+2Uq1jCw1G0+CVPO{slN`KG zZIa%m3!(&C(-k&_Rw6#!MRUE$*|`O$>($#+x|f14ecti`WVW8Oy9EqIEgqeLvC*~o zVr`DvGDupQ{X4z9;z1xoX)f+i?!)I4zcbyWd%81`-73>P{ruK!M(f%eaKr>{lUWD_ zzHiS}mq)HAKc=k8ERTZAPB?vDNXZ7dGeBXu>2C8Oa_D5y-wX*tHMlJ^%-aeUgcUg$ zGQUUSmczAU{9IN|*61aU8EKxVq&Gb6xQ4-*rn8V;{#l{&ck-t1f*#(*3;!K(s5h`w7NrH?)t3cd;{U z;jueJJvlVJHChg5DySY%e$k+`%A}W!4C&XcYg5e{ zKlq4(b5zp(*yD6z3>%MGKZ#rMXK3irAPbH27r6Gx^O7-rR}tvM!Hrvc7fNYUg}&+s zP5uf4C|?Je&1_aPuqFa4tD~^v&Bc_w=s-bEc0#B0H=aD2@X%L}f#bb;D&*WzLEe^X zSsqD{-uBHCOnV_LnVJsc7P}dB%<`HwPIC}n;lF#M2UuhCUj?g;+!v_% zRunK(N={ilMK)ncM@?kj3X_h=OE4O|_(kx;(X5+AsRVm6Y~RyW(#i9orJf z|8e>m?fH+ZbCxYP^8wNsPN(=1y+*BpQ59PBon*j!B8DA}I9p*pNgp?>5}NaeYo~eb z>vjXWuCEq%-JQ;VTFlIACK@N7M<-<9=hzxcuLV&m7@*mndxnVyQRCp;aV=&7f7I2< zM2oLhZ)@-#XY=;#R%yIE9(yxXCavq#NpZ0}TI`YEq~@tTHH~F>x-*$gW;anJhKBj` z>C~5cwsw7My(cjBK-5?YU#lN*2+4kE5SQ!HKEhH-NfvU8koIBh_XRveicUpx#i4nc zidFOrE8J0z3nI=yH{W|H>`WhwQ2h{Lzi)karNn>R{O<$-!y!Io1b@`jDbgQETxVdh z9xss~VEWN)X?Yx1Wi_2!wi*|^5l{H?4FDfo=ehcb>*M8VuDsL8)6$MY6>H?u)Q5Bu zadGP_BDu5$Iz<~(gYO0e^k#v>;?X=_PgQ2dSKVS|hTxuWPpp(z+kuMq z8JZejK#@2{_}EQmB19Yw(EnNiPh5XKL)cg3(6(Q=sdP6CH7YrvGCE9eLs~j` z`}j6ucU17Yp>buvXCV`h0a9_evQYF#4d~x*(OYIV2z>WdGhI|Q3qK(G? zcDNvJa%8f=RZVS!IEKc`#wmuAgKIPKz>(R?d{~uHJ&yz5N%hHT@5jPM8=E@MG5Kqk zDNZgVX$1f!)L!GXKV>y&(WAOrTp~8MfSXprrhENdrX=;`cny7U3XOFHvef>sUvXP9!XrG9s^zcKnmS#Sg?d0&hmS(5pV4h-<4kYiwTr^^Ps*u3avc4g8mq<{jeV(M) z(sKACr8u2Bg@9(GLd5P=g2o)p$1mjV7b?XEE6mHww%lc6`_3x~u^U^DDW|WPR*X|B zanMkmSHrjI8-xF51>*+wI4^{g6^L=FsLL`-%}Z(X^M_~(NO4mIwxUkK1Qx`vHrT8a zU|xa_;UQ~n+VA10)78^n-xqT-se*gDIpJ_#+dtuu!qYR12E6;tQaJGpM3)oVAV;!G z6Yc6NtY*DH(vJct?;VS)NE1KF(;kT=Of-JF?_tdm%&G zNYFiK4|UBnSM#3&0uUOKZ;H%1bX)##l*om23h4Qo)(hmANE`+w>6QxQbY`S_R|LxK z+i%t}hL%fL<*0VOX%(SHQ#A2kks(y7*C&o*#3y8{Y{xoVkN@JKzn-AIkKMfH4S9`$ z>e&d<7pqy^F^@phJUku-vtEtYBkGYr#kd}-hTjW^4vbJug9Tw6yG*xTyHfmY?XgFh>qS6Y5KU}jO)WUj{wI>PtQ^9fBe_qE#4NK8smN)Z_jI9=KRuNDiOq$ zxY)J#F*NHBWD;Jl5jtuiqbCCirx+LS9-#izlnTJi`}|SEZOFZbr5T@E?^ARh*uhYm zKfvMkWL1O$Ojv`~nR=f{!CEV9$)%B3Qe?^jjFq)bmT{I}pgVQ9Au`lQT=N~iS%sa| z4|G2NLT>t+dF%y2x@hr28{iC{M$?3z=6*O0J~$|pyGqXj+S{6EMjb!?~fyAZaFO!T+7Gj4;BWGcn5As)Z| zrq|f#>~)Lg4EJe00|aZ6#J6ujDSTc5EJT9BxAmrYWEtXDn@P)jn8Fz66g7lS=^^f-XK=pyqZ~rt6sYsXvbI&n4cNrDII2 zbpF9lsJP86?PQF-tkM>x;uPTdoqLU3@;DGMR_w0);=^48)8oVU<&}-~B%)$FOC>9& zq;8S&Qh3}>w7@${y+c*ST*m6X?QD}SBP?lnXed*X>V==g>oH`L5`a~e7vQB=8E{yo z*BQY3%~Pb6ZyqV~qA%fHTtGpwCtYd)m8i(rpARJnk)gs%ugr!f6W&9Y76{7H%1U?8 zVTGxePg6Jp{YXs%|1u2?HEBV-!*nWYWxLVj&}0F@#%3jtATA7J3g|N#{i$0<3POH^ z{bUHPU5=FOa5YOI6(*S4i3z+QjGAh)wZBbqo$b3I%{^$7LW*5x?8IY zHEA;f9ek63Inh14{Er}ZAIjw|ZDd_?4b-Le$`4@aO}MK&j@~N;e>0uX%Ugiv zfjNz(ft!-Z%eyw1j*n|G>c-gT6io`;{Qv%An$&D`@W1)!6)`NJSouKu9R>(AT9u2E z_RnsEe;Q{H1Yn58c(O{$XFwCDPt)8LM*rPQ`djiEx`mAl_RBo$)O`+$-Ksm~*8aDD zdDmfmx0tof_ePwqUY*aPuY>jg)Ea^`s<5r)wkO{h%eWq4{MnZCkKZGYL3~ILc7OJo zUaIqT%tNzV2T1jU31`*=i?GysA4 z1?F!V|M;yxH`pl%1tZZ>5Kr|mr!c4kT@$aT{ zhOG~`KxM}Ney~_;u$H@;j%q{9YH1jN08*wqTZ{OP5rU||A)3qYnyHW|H`oUxy{aJQw?EpZrnL>1>{yg5 zGjfn}dl>#7s`!CVLEdN(Tm{~%21=gOy_=c&=8RI-Q1`ig|47jn6~3k+g`84)>XvET zf=#-?KL8822Z(qzj}`%aNdNj?0o*6CaMV{}V*8R*^k4_5v}A@x11Ytl=|V8owi%XV zh%~?Eek)!=`Pp5z>9=4;r1vN~*`?B#RxcPk6p79U(8Axa zSp}ugTdVY)r8B#!+)q;&G_c{j@qjqfFQd<>|GqxtBiVF2cxf+iiKzXH0QgX`=c>&> z418kwHS@n84%S*oOFF>JF&(GHpmv+Nb}T($?X|;2{{J5(@Bm7P%^j_P*ZF1D?Sl6< z7{DQcS&Fw3h|&tI+?)3qs{f$_a55H;(<{@&fkY-nekfe_C1W4azmgo#?8eX*0Pe(T z#Fb|d0C9+5{& zh3V`6N2p<~g@MT*;1VRaMK1y!{IfbLqxUM^-$e@a21x!L4MY_GfA{y^L7GtgIpCzWv2CZ7|ju%q3uhA3o#c$v0YGerYX zAyG~1dzok*Q=p9kdFxv^D0~m2K*`aTV&e+W%DCuVdo{#dc2%;Pe3}hU{HJejEsKd+p8s$kog;udlJNtICcN$`ngC84e1V25o1D48_4LyUp3KPE zccb=aQAa}gOalH8`I6Ar1FBy?@L0O-yK~rSz_PKEIYHM1$SQsd-BLx;?eR-eOZnjS z+ql=5_cG2Kib$c?$;($JXLMdsp&w3j9vmZ z0I)D>dN2;-*!k7pzJ)Wj-$f0-FO&hK^)jY)F!(n4M+DCmsTHU<&I?r;Ic zs3dPojVsHbREpfdmKGF*XW;#3IG3#O-7UJ7C;zNHxg(mJ$dxU7w-@hDrroX5rz96ISX-QTnkhUx z<)N)Q)f4WBJXZIx9X!GX9k|1TY<|f4 zWrD1$M~Jv}y?yefk)Z9vGcZaohM35G3TQ~eFZ>u+hjH`t zgYOSML{H*KUHcTIfVh;`P#{r`uVW&AzsFdDpfppS%H`7F$QYFGa6Z%$jG7{VN+YY% zRZeTEfVql_LXeQRRcxm$KVr_of0~svTC_1Hr{=T3hi79AnQ2bj9`kv)$eY^$-NFLW zUVwf*-XGPBddGY-XFFZYqW8YNx&HRzrh1m~#<%%AYwFpsDPriC)RAbnKh0Gj z0;O-;^@AxIKpql295sBe~}SS%V~Feh?rQg@_f3AkSC zM|?|*rkpFf>iVg2+lym4)u=o;I_i^Rcg{DPZ7$Ndk?Prf9H^G+8bzdk9+9NRygTM& zv#6rK>cjQ!DS0Ffs1Xy=fFturGWtOR%Y)b-#|jtulEH@clTJje;B~ev_1p?ByP4~; za`HeP$k3AQr;qntNGP_XX@|#bCqrC{M-Cdi7FUV-_4|R-3mp+29@OP!#>wGvhbjAU zG!CQZfoN!W??rKC9x+)zVZOu(V~B+nLTpnr`{ZUGQrONk@QcBcRO~ymSRUZ=rDi@C z(@w&%K@DtW5SV|eqz$u7(_ISRWIfTMYfj&ElGGX~wp+!!)pPX2MqSN2$dnmA8)_b@ z^vX9%`Lda9%~0yZirKe;oK*z|6fuGO_1A>iO1Dx@Wk;rx+EJPwDdJO#&M4RknG*SJn1(25=`&e^!!zT9WIa^PNOL z)hfys!x#|CUJ2Wr8B?1WsxysoEEH!nYm+=}T;bAFzm{RG@g?XJ(m_E0$l;LVOA0}pbDys|T=LQPgXDl_@RNUvO3w$@y zEN9F58&mnL6T20BOABrJiyN!e$1pTT7?K5Y z+D(LZ$2YCc7}9p-+g*f(g~{KT%iFrn%-lLrGxfuJ3x_2IS!aEAszv#VBfj;%&C;<~<%_Bw zL;04P`$0)+4HU5Y?6r5FbQ6sLK$P>?G{+#}jL41K>mp(IS_YmK1TmLwNT2ep3Q%Jt zJ?Gd!TwORXbn7@mgZ~Tnsrv__R9`I{zAuI5C;ZC;$)6fIbETO^7vZvZ&U53GbqYeA z`qh6fs1G+-20lA>zOMVJa-oZyHy=V-3z?W1gmx?wn4Gx z-YJE2`w10`b0zjZ83kmX+>g^$<~&`WS?`HNZ(QEwN$T1Ji^Mmab1$og|7eo9Njmdc zSG02&p~O#Lig=nk^d+qz>GHOyI?3{j{MR;m2A&TS;cFbx*7J8>!wEJwLnX z=@r{~c9my7VHP+Kl%yij?ejo_ZpVU0&eDAI9VVi8YU;cNRL5$k9+ZPXgfswzpCLi) z&)-@E{@Uj6PwBa!{0$9O-%I-Le3Fvy*`>82t6?eW4GuWiP-)j~l-1Qj^Bv*kFd@uPW_QO&jbLj(7Y^YOiy~Ndz3Y)9_+c(1OQS6zBIGiP1})fAnj-UQFeGM zbF6SB(g$mle&UOSx00>t)Ghhlu4&RSaBqJ*SfI^bAQ<^Jk%_}ktL z*btN+r`Mz}Ouxr1E>x^+5**x`E?=A>A(vxJaQ0*{wd2!N%NRO4KnqnFql-<;9dd1| z2RhR0oSlM0*55~XeMVzEnK_jx1)0tYZ=YY=;j}tWcrkG%NEWO5y-9M-zOtdMua&h- z^LaMNN$l7YwC@PtT}jB`bLaqYLushk)T%>yoJ|upYzlx-Qu5de=_cmu$1ujvpIu!M zpchy^dIT@s`cfg!Vur}IcY2;u{a~~Q&nAzM>1Fu6J_1-AIqMnNA&wmF(b%le+=!uDNd?aA zJWbr(>5s<#ZqNfX4M3h>PN=4OHzkb~E4CKiI+Wt|rIuz=hHqe{k7sRjV9u;oV=k}c zFU*+Lo-1vnx<7j!pnm;Qq2_vAso@tgUcYvpw{JshpQ;hOTxIzn#&flXJxM&-wCs)G zn@n>Ne>A>s1s+|VR*5<|>Mvf2-2-kBu+AonW9icCILcTd+qXn>8e76~{eai|vR`$o z-=^TbdKE4y@6SLsHRw=%)`hwr`X4d=xQc^p&|;^;=oa{3bc=AbmKuk*a;M zX)e{m^CVTa6L}2W+JsWr|aNSS2W>ZAQ;6qjRcRu5>u&Pf5ITtvq(tGPG zIiy_ryr~u?_rCLOLYxc8*KH7`nTC%=4}l6=&j&+}_Zc!7IBRwt9(1(ooUv+$8+d?~ z^0_rcV_eZ|xZHB0Os#mTx~2g0vflY}^jd)%S81@wy_@j4(qNDWN2!}gpc8(cMOUG% zk{iIn7RRXVL`1P%hMBlwodqwgS+KR4!1ReP*Kgiga} z8@@WKa`U}Bp;gs+6X6u}Ix0&|1Pn}S*8o*SPFdzVCzybcS!jvx3qex#4!A5XAaFQ4 zb^{-}?S_j-H{pfpv~wR*dE>6x`3-fno_M?z0+;{DDs0DuoLnC(G|swmT1T>s@er3F zt|sb%EC|x61~L`~Vt^uGJ+7z4_bF)PAaLEAB22z*67}oBN^6HP`0nXIhD3hVOVTSD zHiHMFp>JyY;f+7>Ae--jaGR&8+_BFe;k47r5$!hF`7RJojP0Z1f^c`V?m1w11SLwq zlD8!BZz3ph`caCtjaJY?{*aC$u+xK=h8CYRoYHH^X>g@w$5jADZ2E;c_r3^eBr3G~88Ig=8>h7o>wF*w#%!{;p+>rxjf17y4|ujM|2FvP(Sa=&EJo@9M;h0s|=f8 zL(a+o8$5_TDZpWsb@=4&Tp$ZLrx?53N%y&xSWoVfDR}a!1=BoeD%WfNKqLVn$A&%2 z7c{?Mq?+tiHyPiQljCeP+|AE*{lIjy2p3t_&j_bu3irSV5l8^2%|;}%-xIHBAx8}m zroh9+rSrXDS_Z^*P{K`dJjN#OdvT<4JQ9XDP=>w6IZkfg*}G4;nzgdbj0yQb1GGiz zx(aESHwA!o21SN6Kx-SiB7-W`NCEes?rgP%Hm=k&(7-$nXI6RC~=FxFS zi--*k9jUWuoIKg4lq5VV96WuXWgpE~q~wl6BOQie>3u8|x;67DJ|17}Sya<*BJ<-; zBd7raoevwfvF%tLp#3v8E2)vV?m9pjb z+@>7{5)T-$LdEe43sv7t;frlFoXZ2{5I{>KRDjJ>g4`bw1f03M0yY}F^uxK}e=EW)H4S z-g-Sq`#$a=_w&Okb62$1V7-JLOQB(=>= zXEQ#x<7R0-$hvNMDnj7PtUZBg3be~jdyD!1*LwbIp^{e6N}wCyLAP0tKtrL&o_2Yag8Gb{+S5(R=C z)6tQeWcDc5Z&vaCLfUNvdAFZWyf30P>vqXtN0-3>?f`YP%PQDk0Q&ZdMAvN+H|07U zr7r7r!|oro0PA0Rj+Wj}r30yRLDVcjlqT}eUQ?!ebWo{-JE;!58;*WM7yL)?%kNEF z^5ct*WwfJpyXJHZ?M?D7EU46?^l>XIY4)b?O_H8g9iK>l=ufbLJz@~RgSA_&%+Fxv_FcYB?Jad0&;|afKf%1<}V0kNA_b zevb{e7$D=~FRk_Ol9XE6`H0D=Z4-YGas2QKH<7DRNx$9_D!6x^J2EWmJ3v0mp>=|UQUq$&z{M9OBw+kFaFH~9z-jCXp{Cs*^+V$h*QYF?CZfFL83O>My z#sC32CO80?J)lL!94L(1`FX>Hj37r&OWT3y1@w?imKpj3Ku7+gqLcr$zv;2h+Q;TH z)23@>OH0RLnF1BCbQGpU9-Xur^Bk7TNvBs1`7Gjv{XEGAobfIb3&i zZ04GD0YDGbtFTuO9@Ej&4`xZlRKD&bQfJ1i%uY`S18rIitgH#wu#CO8E`jElAY=s9 z76$$8THBGJlVHo%bUpgXyRQ7-jvPI_MWop+c=q%ot?E<@k~fls*ItB@T6C_^)h~n; zmkDEk-#velL2+S1plRq5%g)e{!kZ6T$D42S;hNO)=fkt+;GCaF@cuaIUYqNQXyTJU zqaPWDSU-vcDwm5VpF=F>1al(8E|*KwXkt3GB`Rm0sJVZ83$8;R$9zugXuI4U2lThS zEd#{mSk8QFFfD1_3EU&;%eMxi#K6sj`lF0H4X+q}Ud_ACG`gKK+0_%Y>D2v`oF;`W znN#v3Aq2O~+6qF9{Zp?YZqLAD6M_hQMs3Id2+#N9?eSg8(J!s+NFP1}H%8 zt{rcV6|UTx?ehQn#83zHO)5*0XV6d`$>)JWpM@^x8og31HxkKiB4;ol_!^FZ_ZU}9 zOi@v>ND@y>6r$p>OC1}Kge9qPb8F^ecKZ7Bdi_Lw{eYL=9F^y83g2N$t<%I|FApup z2rI7+Jt%Y}%r6tCgK;0BT@~zLlE{Tje|{26f0A{0f=2DKfz`!lqxVY#m-o#Y`Q}(@ zZqyhnDH`XHB%I;uFOInA=mjS>whMsEhAG4^VzjoM+^peHBH>VKDEyx4YpDMm8d_?B zJ}?mlQGx&XUEq{qR22IDdahkh^Krsz$~mB zS_5f#F$?-^T*$9{rLiTDw5;q0rSV9Gw}A*(VSbNd5KYI&vVE>EHV}Kvy2dEKUdF(o zAP_+V0uXrI_R{CJ;859bwlMD&^!w*5+D{XGv&jSt{gktZyHy@l;SA^|MR?$HQjQG5 z8k(%OVZ6hlnU#3W633EGH-Pgr6-_#X7&A5#5f@>%qCVqEbU#cNY%y|IZP#To{n`h2 zygCy(ATSVRW$$|!u{SEp#v5QNtZ7d?bN7S5KmNuwc)uKuo=cYBbKh>%Esi6PVR z&%QnT!?Ml7Q*=#9{NDPs79&(z;n^lqX_vl-?w5UR{U3%F4=oJp9#&e7$-7gUzD_zN zJPq+%ki<$$W3?YsY>#}9U4|4Y#)Q0{{f6LjBC;ZagS8_-xv!*1hW4mVdP!|`TXZ;0}lw8@GqZ?Rsqez-px|oT}+70R>4o)uLnOb z^{vB}F7>6!@S817@i3Hhu9T&9wf*`;bTl{dJ1VN2$@*QtLz2Vi>4& zE-vGh&TBs?;{2lm5y0v4DZEO>S{%y3o29t$?FU0ju#1eR3g{F-`99>$f}3vOSI_pG zhD1RmR76}BSN`Ofu&E zK)7<+wybQ-j>OPKLk`9wiv&I-X)Icr1)Zla4QyDx?-4G z!Ykv1o_S+J$Ls7clckyMrR$H{%ZC$zjX7jw!>?Gjh;l`vbg=|4s^a2-8(TopEa@ei z<#m1$D9!%yWZOlvo>^>XV@9XWC6BpPUxQ+^nlz!~p>w1j0efU$z0z{4UA2^djpd6< zJFAJZ>wphl=V_o{-ydyK*(8lcPLb(l3JOtX#5V|BkhpIh#~q9%wT3$dAIqit8IgDF z66-*9Pyzx1Bw?I3v1PAEl>pIQ9^z1BTfoQT20`fqn^M4=>wg5z{ zY!Z9dbF+nog(U!qBby3VF zFmAXUt)Jfs%-Ar1a25Lt6Mqxl$Oyeu=`HAa$~3Ko#-raF5B6QB;_^Vm3+HB|ad=jk zGHNb*A#1FgdJ5ms1w?G09tTTfz`-x~@YFBQuztz25)olKSmaCSRsc9E?G?E8;Ob(? zbKEZ4WitNP)o5W-ci9y7Qs}E@T;$V0mk-2)Vmt0eAGaobm4Z&>A{jk~6E=ehdYy&g zvwyMeUy6tPn=p$oiv|r=**5fI~!v_jr2XCc#R(%!#Ev!*`t3XCnG(ft<7~L#j zAd(DJqJZ3LDBI+pAREV^imIbrswW_&ppXCnw{UMb<3a2(uwCnCJC0{xoxVZR4DQ=| z%V3}xNNx*r>;kj^oS%90NaY+ z^l<9{&@$W^IG2kwKcfySV(%s=lXUeko|DxqTRd4X1*UM;9sq+a6V4soW?r$0`*tUB z6Ca{oyD%qed-%lFzA~*L=jYb}=9Aqhu(9a-UON+(yh)wRmLaeh%nbAbhM_Ijr4k^L zLMuwDpb~xp&;At7&|j1WH1J}pU}%klZEoFxgcO#ZBWoK_Xm5#k}LESZ{qdiwbr+gbp+!rL&9)AeRn!a z;_!&!v=DKunx3_6BN)#KmR|SE_GkF@W~jp6h)GDHn=uRW;IC$lo~LT5^mHk_&e5l{ zo(hEi9T8-#$iyy#Vgx**vB0QRoe(y49fv^2_e5N_$uHh!k_dRH?9^?t@VIOx)}YeK z#4|+!h%}wM&3yW#zSqYI(;l0}K8E&>>Qp;qo^rOLl@!_306-BY!+DBg*dKYF3%r06 zJOIEBx?y%r^!nb%aS3bgC0YSv{$FnndRW!@>^zP)sQFyBBKu%yHxG*Q_!it#g?yXt z# zV6oUcmh64j28=Le-QV92+zB~8DDNO;bkgqj_zJ-O3{N&Yt;*K|SSHd9B)4?Xch#P! zw!v0R7r@|LN&$}}x_ysSEE0t7y3vP7cqh?+i8Bz)j}Q@8&g<-{%~DPetn+r}b9!5H z9+u>%4pu zW!&-@d+QvDw?{yMB}O-d7ELyQ;!9=x`~L8lgq)HDDTNfuYtmcg6B4>ak`$2iSF>OM zE!vZrUSXFm-AxQ!P8-J+a1x49hNV{$Q_K!Rb$Q%;xl=C<&ey6cn3O|*aM0vkEvn(P z(yKU2&oyoDe+3X)+6_90#g~`{z|KrmStT6p&ZU8*-BXXqYrdni)>Kqy0Mm}UwLy1= z-q062eQMIR#899^G`_7(v>6*>WNeI>`r568A`1Yel5M&=kom}FD4hS=Pz)g!7;n6M zegF*W>;|S?YOVR~nb-e%i#EJ!5OIw3-Tld_Vhiy(tU;0CS-Kx(iGI0}*hg5d3{`~AuO9^;LdkiRKC2D@r??R68!=>7)wqEw-0YO^Jy)IRzGov`ssZq*) z1lawo7i*5^zhE{86AIP484;KpdD!2H1t6o=JS7JofpXWvD~4U6sTqf`e(1s4CgZZ5 zCuz(o+1j%izK%}QYXSy`m0lNTlhvjeM}7_&E%p)?vc?~}H#*K58>8WoP~&(!A`w(N z#HhW?paD{+pRHO;rgCC>PiQvf1cpL$kl2xt)1ER4NQ z;n{Rx1hjleNFCTZ0I8dAx8W0iSsBb17&_bCnH;||%>m41N{|HR+*0xJY2VF3JO`#T zzbC=u7Xe^mV}bd>`DXTa-j~f3XUBOS(&?);x+l#P=HKF;eBZuei{af6R!b zN+-V^0>(qxeUicFp$1E_M zIP}cF&i8B{iO2h*@&f%Ez9@lPu8vb52g4SgBis5=fhr@6;+#=?DY z7+N&Ig|JIZ6MSPs754gSWwz4$F;Ljbu;Eu6{2<}t`!XGKGr+(@w4#5K*}Q{_fE)0t zVY_+?^=Z%##IHo(dV!|O5r=@ux{HlMRX+0RX+ZdIJQ+{N#7g|(`&8|*&8xKMzRJqV zBVOOGM93VrZ*NY8sJ#pxeTAV;KMwDCqK9$X+GziXAIYH)u;_=qTaLFr55xnW3IS@@ z%1^{#u2XtwXi=4*4FJpZhl2)Km=IggYivmMu0XzH7?|Her!*-bP;2Sfg4pzAH^gy< zI?Qxfz-GDe2O1kEmD!3Ec;mKYf8~T;XY&8DdjkskMCL-!N{ndO0HBLx7+tlVp&FB+$NM8; z#se^!c%6^oKQSW4`sqe63_pL_@QYz6C>jBmpPeQ+J9Vh{EJxsY_Y~Op1?N zB*xl&RgnyE@rK|Trn}yo65L9p@4m>mXK4L>(gnch=!9%s|})QoWloBkG)0CSl)>#>Z-56Qs!DB zG`>xm9{NL)1p%7NyHyfPmtxhC`tycrgoCBUOgFSrYDHCn!$PGpMLPCs$+D^Cn&ka8 z@$Uyh5*{&Ib!QP~qcv{#5t;-!tej%lg_rq`%E7mD+KPFmKj|2uOV4Ac<%G7S9<T7CmrNTVDQ(aR(aDcZgE@OEhQgd5WEV=@`)lvw}Bb&hm124zOV1G zAqH7GWd=|pOr6rr<41SLIxu@BJL6g z%qKlJ4mx=EYAR~;!CUwZ07h;gG$m{KG33|r+e?aIoQ78$qs5GOjtKcKDnIov9(V<; zA~7t2Us4G325UbuNO2&);2$`El1aUf6x*L{Qi?JmbC-w(?3*aDGd{~Nu{EFe#yn;|Z}fB@iz%eC&J9>M`YJ# z>x?I#UIL+u|6}YufST;Os8JIFgdQMLq=hD-2OAwiZvp|NNUw^8A_xRTNa#%vq}h-n zqJmUGdha4dks?ZwDj)<9X(IQ;_x(P=0wbowySL2Kh>$8*x z`j8H)+Peg2QDjtMHY)cubG*T+Kw9+GfO;u-9)*Tr!eumEE#j`KHArkRDy_|ML9v9( z)x5l-m@57Yh~H7DFuV6~kvSu*8XCiqQFg#h*{Q!8b(v*P-&*Uu57*!LqxuQX$PAsN z%Ul^dWE!H#B{CMmO!5NOC-u=STW%6~-kA;J<)_cXs+u(@rQt#t9d}WsTi{tK4)WSf zr$Lh#Vorf&QBCEHUV|7Pk3k^9C-Jik!mUW*?4{rnqy_x%y+xj#s0<1vok49cI&`%t zj0UdjNX}(@D+W{w>$Oo-Id|OY>gSpn55v0t*Z|5vC|#(j;FXm2@F~g}Q7|L^yZ16| z6`^*M_=Xym_?{MxP|FJ5)bo?q6pzta;u^8TKh7S2t3|13$hAGV<9!*4J6|qG<#<}G ze1rxFIO$g=sd(5~MI9PKa+Ktq(j;u=e=%OJU(cgZ&@DXq(QR<7wdQ>N zm&V@bQ}nZa>s)Cv?|=I-(W0w1eBfyRf|S-kWAF5qympzsm@T(opI=eO>8=j9sIj-w zX`6G{CQrbk3^^uCZ+%8*f5y+=xw>;EA!%$V;mb!f3Dt5LPz zJP!x6Ob#bG?7b~ZC;0Zx-EE`D$#8^qRa^s5<~L{(yB+FTGa>PEu@Hn(ow_x?B^;)G zTWOJohDMkct#Ff%BYVBJ`EDpkw+grOPJyf-`NZi<2`q-wfng!2RO@#S&Zdnr!ua7$ z2qOd|U6yhd5{Hwv!WM;9Q!>NoXU1ow*6)a@<6G)rVLY_$(!Utiy45IT7*>?_=^;!r z?Ffrk5>VQRn?;8|urHRxIFv>$U0*Tq>aU9a#Y$mpDY@(+2=NUilHOTk#Y2@cZ<2>m$JyG?XwC$X~7?Rm2 z)tUE`yf4B%p7|zC%PFnh6?EIWWb@f7qQYm9$imKEFro;TT2iFl4GYwh$CY+EGiVxd zCrEZ4%_gZ@@Yk0%)~0`jAtm)WyKDwDTo_YxVaV4I0T!4LzBPL~Br{Zt1}(?_T~pNr zQ;g^>v*4mc=8e*6;LZC_EE@;B=(b)lK6JIw`-5nak!Awy5p2P*;k;*cXqo=gewIua zfbe>YV%guOg@5kuf2V(a#^pft)-a#)MC3K2~z?WgBX$&{8^Wpxw%`T6?T;Z)>p- zfkVjg2V;?$ayN2&ry$|yHeX`h)nddVKAoaPV?H;5qFGFdBZ4DhB0M`xA%Pc-Nz||+ zmQr|e;2YhgPrQa~V}C_BTBi`gRIqYtOQP`O&sk$T__@`P`=mA|afxg!H<1wWNUWMV zf)Q_@&G#q9vCm}^5k;&I+qhuAnjyK;N{fhvYX?8SM=Ig&zJb~MlZ=S6bemw12N*wX zfW)B^_#@b=b9oSEcf+Z6IOV(@b1pZ^LA2scGZhgtsN5VL(pAwr1n3R;>>emg--7v? z=4k1dh36$`h?dBUuHD%a-r=akQg;LnGm1IFb-5%dKeIYPiHteT;njBwf2s^7Le8gK z^b#6Q{ykleL@*wnk#c!u$P=nvB;EMIpRo_v*^e?hVQI9gon}R2-c0{8B5*PfgDz zX)Ofrit)wWgiGW1T3l$A)I9AcqcFns>YPVE2D}T z+2smDwu^ap)<-o%XA*_wXfA+wXym+l_HR7gRVB^@yuOFH)>yy&?c~uq{jKTr=I)U1 zLgG5EoAfp}861v>Op%TUZcS!@;`(|VJ8qS~;StgMbwONVhJK^f>-S;S3|XQ`T;Bnr z)Qt#;A89#x;!R1n5J~GJ@mdQaEK)|uS#RfNfbAO!UYX*rhF6x`#?-A^ zf<--A&Sn}rt`s@wj5SqJ8r7d*mG5>`%< zVedK?I&EuG(`0E!G308H{Ui6qTbLPI2FGqjqSZ2V*oqZq6^-iCoc=5TV*z*;#_rHq^6Un^Cgt6bfZ>np_T5p+j z{r&w#OMdiU0XZE{@o!sD{IS50JdK685M+L`TqH}kNEL?zrRp2=C(=mVuRR&3i9;fR z)86}%d$?>DEq^OQg*H(AZWACQLF5fqLk*5vJ7DIO|Hk9yRlxiudJoCkP3rF3e!`x7 zHzpAJD?>1+p_ktv*2z{-fM;GH_jPI-0R-@CI~5E!L-r!(|eG_TrK|8?2dJP zcvWZolJpgBu(r~=&eg~Z+4}MX8pnpSzj)P`?}p~``$=JIpojdRIjV4_zOH@*KezS`Tl!? z!g~~;*))n;=sE_1vhF<;Ik*QL8Y;V7L*HNd7!>inx2H!&%Xs&88?w#ur8W**#t^L) zhs14a&EJhych;pXQTGSkf_Xzmx_|RL+ANmp}&DQI1Xq*OiuWiA{8KL)MDyG7U zl$l~i3yR;5`35bs0y66i>GdC8EN}*9q`&r>vOniFd7ai${)4)6+j+x(7wm9&duKAB zp9$39owtu^TB!YJrDCBF?6IE;9Op!z?oK(XW7Mjp92OOC=p;_b{_;`@tm^>#BSLaB zP7%_v;Fr4%+6zssuqN+g1!IF-W(QrJMYHj@q$+-+L_kvXi1QO-?gQZqsA%9&sO`0I z$GhWN{|iI1keDGLIx*u}r_!PN$VS0z7L{KI3T)?Tca z{xGEf4F`yNFhNrg-_`g$%M5!1jyCX!qdAidovF5^M8=;UrSZu^^JqQMU_z=m3r&mv zyILB*4jiO_XNGlS#Sn)%sl{ zlR15l72ot7UL7gA|A(+TiDcKuUEG4tjY&>hU$b6V0 zfHHkMtO@}#v`PEwqsOP$CM&Qk!_mszr`vS(4d$3AU@V#@@4Jw?$F^jaA!RoQKy$IJ z2jPp8b{m%*?(DSv>e!F0AvU^vk+@d#HBKD%{g4c;2Z;`l*WEGbrQJs6V;mGO>A=cu zyHZxa4F2XjK2LOJju+G9+&ZHPV(LpZ zfOQolfVoy7hufp3kJp3V8>=1)0n4~la1M5ZIpJp0q!qyaL*PhmkdVH;yqkr~}gCtZ)qu=Br|%uu^MVk0aiWdtTL zNF!SM>>VYJ_7!>t5MUO&y)L0MDBXJvwlRg;s?uN?t721VV&-&l>L;^|KkjW;oGIg7z9< zrz=5D2Tx6N+>bv-iJZWvs$(Gk_)f2C4cf$)N>)6MD(&8eqrJ zz=GTIIV%ebOgrb>hl00dE?vWyF(GZ5Izg%U^45<@Mr3_dRY{X;c+Zo*ddWh1{;$TX;ARhLQVlgJ-_}v8nJ-3#-;Pps*qV zJbjNY@V(CVX`y6?*MHC#JANDoR8ZMjtTD(n+V)WZq8Dnoi;PGMdU?_29%sg(#IV5^ zYkb`F;B-7)2gkDb5RP}|C%l@>?Rh4pNZKb9Za&|PlQ3+tZn*i)v<86uuA{|v%Pa{O zuU>um$%>rPAc8?uyDhl;{9#=e*gLakVFYL2Cj|uOwVu8aN?FLC+aEOzrfVyM=!8LF zCamKh_mgy6ioXNaL@o-;l~ZT@o}XI6O~v5joNeO7zq40nX(axE>jDq zx+;rF_z1?onSQ0xWU`xv5HMD7%dntQ@e}Hdtuifi$EXBW{iBXWJbpix^Ef^InN$;* zeSk|xOt&UZQ1jxku_q?pcx99{{kDD_Uc14UP)s^Q7>%2}Z<_)@Xh>As?k@gfQ%J+t zV`WqxEuMJN!?V}YPubrFytUS;>cgKC<`W4~QZZJDi-@cGT#NlmTjwiRxTqBIAG5tM zFTX(tm?S`HVZ@_@rXw?t(XR|^3@66Kytqwe0}k}V!|;)rRX-_oMf0W@s}0JCiF9B=h>QW||_Q?Nk$ zDSAWuaZtT?KZrU-iDVo3cZLacnQDl70MEM(A~bpX?yKD1 zM|*Mg(cqy3@dZKpd(Wdg9>GYz4DX-P>Q_Db1!ZV|0E1BGlwpiXeMevuhw<#!ItHkW zNcU|}P%}Pvc_`~8Ri4Mdb?(9zn=idD-wHGRFdCyj%`rj~p`@t{4~+@i;(z4qxxM_+ z05iHFu|jf&f4JGkAlp3^dh}|!ZA%4Da=Z@;>`kTS6NE~(LwC?FPrDMas1}_ru7_=@ zwBkdBOmjB>8fiVLwB5|O4v7&UsqcXUE8cYwP^W>U7HYZ}NksGpx4?yTscEv~{r0Mp z2h8Ce#bS2T5_NG)MS>sYwG-`(zY3)Qyy%yUy%(Da) zmn>(A4V8B5xW;T_a?rl=;hE?L#dn=1ekHCB6g=AMA*q;3vEH(j8M=PKHvBAdD|#hE zepIR|4pwj2e0@r`{)@wi!zlGft+p{NIC(|kI+(PE9C z%kC0X|C1YcmAO3plXOVH`l?3Kg|b~QT@n+Nr60vqfgwXS2z6>oDt(SA$KBZ2SQB-f zqu+;L;?Q!8C3GBb5sQ3LHzIVxh^(EJXsIr=jX3AH;N&XlT49icf}uVD z`hip36EU`MW}x@P5Y(}RYFPMZL)kAvn3p*!_ze`ju}Q~cLfEU09a-c7((7d8soj)1@ltFdZ6L1hI;fJYbACOZ{u7RA7|fN58A zKgRdD%kOffr#Ss>$E1z6;!7O4{Kd_<=j*edroe@86io##^0)~N=OQ>%ev#T<@*rL~ z#%Q8XG=!gs()!Fk6G@^()J-~-YU1VLr>d!Vb*96AI~EHd**m%D5eh{B9inUv%(;WP z+Ga!P(ekLxHUdQKnC<7?59J4~a&FEiN4HOj%x|jWFmlE}}*VHST_;6OK{Z>=t|} z)~ADnD`1+*!AbvEWGVH!NDP;;@^~)o9t)*JzGF$Q#3jhHZHq*zR@k}SM3)`e%TdRv7%s}UME2W?0Q^Dr{&+5^ zd;TdKK35PL$mtsu^pedr13)jiMkO;)D(05Cuu+L}6iwS5qu`|vM2~ILY9RclYT07= zF$&J35-|G5pSkRXFy~qjRI`Hgu4q6fnrdrutXC4CC8^+$5p{WZj&>Pi2VlBepCd_O z%rx4qWHibysUC$;KutSd_5w@d6TD3zAp+yx(oH#w_J?as0|r!;qxL38R_=mNAPlLj zjfrbniXmxXI@OdQ2Hy{%F5C%zWA_=`Bol(Nz|~%lu%v=xVj#8gu^*f}#GIdCfRL#G6O7{*qqI;e*a43g z|6zzqx&gguRdTbRr-&v~usasUd~9n8$h%COc2K!a%B{9Ux%jg!R?{tzb;x5T>Mf1| zihi9nme15s>V(nE069K&ss1`3OG+h#T|T~el|pV)QY}~w4<=FpE@-=$zutR_+yYSL zWTy%A1dH$$7jPdU1o1&?r36HH*fzB3S{c`O>|wFJ(wcUY5~#a9{dieEn;895TM4)7=m0*!zAj0)1%Lk==OtSvu;01HF)p?sTNq7 zD8z6Wkdr`VM>c`JVSxX+Qv&I?W|PV9{S|59zLntfnRNhZCe{10x5h)`0!O9iKGQNW z$$C+Ym(wy6p062YzQX0tSC4@R+&e^R|J4clTO`~4m^JrC3c*?JP+vHQ@O4JMYgxBh z{NJ*y9-5IxE};mq@Jx?al6qKT0L;HNw|Sb%g*^d>sdg%mOt_0UjtkmZdzE0PZA^QI zSNk>|(R_EQxOpkY?hX8OWaxAojymZWPdT0Qv3f&C%qXR{AxHCM$bm;RwLU=diiwMG z`gzRnws2_Oy&=BUA5!{QVh#mASQ8)keR1pwx8$O}3{0}&yj6c3*OrSA5A%j3omeGA zC9^4xF{@KYUEp|Mx^?0ZLT5~a#=zYLH^GFM+yz*>z^L6+&~=b{5W6`-`4-i&;;#s~ z9VdogD95~>rVN)|plgLWHDVo!5UwaETJ%Y4QvGN00_x+-LmwN0%%mbdEdhK#{iNXo zw3<0PKG^Bq4MQAL61?v+$4~yTTJg+qs{=>w=xG`6Y3%%VSRfsQazG+su@*}pT0&H! z(PU)vTB%BI34+;M8jeMjZB&3LGRc7H<6>=?t%+EonK_o_1wPqe2vDulqZ9;35lW{p z=SUoF`}uA0SIXck?DhUi!r6|8VaJFFYefAtXV^~i&m~_Tv(J1vW791;boG22{peSO zusv7{BjvhY#9nJC-r?&Pq94K~T1EB8pa#%y{Iq{c_&Oii*7b3AuZ!D}<~$T(eA7tH z;pZS&2*EvJJ5|gi2Z&aZqZSOgT_S33l7p~E;&x;15<)@Y{0EmRF>$%}=j>hm_v}SI zWoQ-3aW7$5eHnFwmr8^CgEpFD59f%yc}FtIZW6&WT{ctf_(m!M9#Ksk;)zn{=(+>8 zfZ~sB1oCbhRJ$NW3FkQ29!e4-nixczi-MJve4Lkk>E6%>D4-NN)g@liLnwE2;L>wp zYKc$|TPJvg)v+5ioz|;G+DDGCsHIswa5QQT)2T5;sdA(-H&XpVq`a%d3q-K{Y++Fv zYExym_@J~2IhoR#e6<7cLkhKMsQ&n9M|iD#UMRG2Ze0DO5kH9ZNz zUFzS$N*NUpF$i)u;wW{5U>-hC`3HiLUcFKlhAirW-+I;-#6QQoo6SUm5$}e1TXc(4 zlyJoqlAeXT6StAh(FK&q2<5he^K|T1A5erkgL3;3ggw3_Cj_to3Cf+c^EHcEX4k-f z7V){YT4S{{SS?c>e_35OkMMP%ka@xgx**_Kwa&GW%lhaQ*u*A~jqN!Qu&*QWN8;)AB(kWq>rl+ievrepXs5^!u$~(fH z*kVK{g?Z*wz}p|K3t30PCDHH(ij8)3b~8NEZUT+5ZUx(X0W(s=igSEDtVftphEmie zt|tXUF@tGB*;sd?3=?3?d{1aaFA+EBa?fi~B6&vWCONyCh+(Cs(|HWdq)cKm+vGV% zCP8U`2@MS4`7sSJIlH;zF*R*M*Qao;cr}GH7Jzm`Srcj)E5biBcaIZpIoaA808Eup z?GpXbv#n+h-)umHH@heJyGVTtJ`PxqlFVEfa&C-xEMm|Ly~`3Sv;+U(LO+wgWiibS z90-R5E=EnHTVjE#MNZwNTCKhX=@P&TvU2`q0jDre~ETXegsWE96Y97@UJQa8Rh6v-WD+mG1D<~0`g={}H9sq9 z9@8SgHrAEeLBvVTnC|y*w3XMO!|XPqo;kN1 z4WV3Dp8FA|!%sUFCZleBD#DVJjXp~ss-{WKxx?TMSL%S=!37#8xsV|^u0)CaU=(yt z0z>mJPPnjCZb=3Qr-dA=Dy!;&=5wGwQ$|Bru*=gK8L_P%d~5Z!pP_D|YYRq2Ab~Ey zZ0r?X2`xw2@81Vr^X3p24ti_MbAFv;Yfeaxww*}64rUAl%6VqFkb@0bbXka3RaWs00zBt^9;fl94%)29XK%dV3Z z1O$1ynPZ^;o1ld16xzgBz3!qLQI9wgo^iZ&apq#1LNv*;n!Vmlp9ME4trTC)uE`D0 zMkLShhu_LejH5+c-)-3^AmTkHs?2l6_OG0mNV;sWNIB^Ap7bkRIKmjdVfB{uyIEm= znHaW@>slSJ;Nev*Y21IgYy(ng^$4}=I+IfMp`{Dz$D(jaexsF0k!*tKr|9itff+dV zk!!E>fbw^NWj{tf>?~J}(e%eFeS32!TIp6iLAjEqOFh5|cvyG%E&@mDr{H>2Fy+_D zjph(6vcYGl6}j+(Y%~~p>7bE$xBcA|kgd)maGMN0a~~0H9hwM(zWc6|nW~Yz=!H&aUiK2k5JnEpua+!#XpQ(ef_>%ffeYey$qie|3 z;;7MR#=UucC@(dJ+iB-qf)mEHg~U`wNhP~l9mNmVJ~vDmo@|08iokzIl|p4GsboBU zg*h>I8pLn|>bfN}a^IUllWBD=a)WME;EHs+;OcZFs=58zT@f5rwEbL1kd^|T& z@Vkjgy3poWifBPo4IOg>O3FtD8gaPkIi<#w14$-8JfNG z>C{gU1SO@-(iA`+vlH^s3K8t!3VWkP80&p-sH-`=q=?eoJF}Ui2(2H%Q8~80t+vrQ zCls5U`m~8M$G_4q2v&!S`@ah3T#NiHjd^rc`ed!F!?PE(O}MHgrO^A%csaJIC==^XWK*OXt=gbvUB=$JVO-Q^wZ)%U4ek|Rk&`vIHpiJ?#TteJ)U^9wYu9pkK2d0& z_Ib?2;YCungMXwl0pq;)Up~&f1uwC>0GI9)hVx|dq2YqmYA1Lj-A~6A62bx??Pp?+ z(C&(O!DxnJjh6kWJ2d-`fvkxn6$z4YHYI8a5D|&Sf^)ekr+P^1kcB1rw78wzLfX#kYi5Y2jfz}oJwSNAp&DGQ7 zG#xbrr^2|XS+Q_bI}MM{*m`qon{q@u?ndYEM0J4ee0a5D)0g4Ef-cO9f;icG2<2Cw8EgAH;6Y!H5N3O+$V!Ei!&DRxAH>Ph)F%x7U*PvNk z0XfumHdNuNBhnoEc61Ag_7e$R(~?vg%9`>;dH{e6;An_nk&n32rxk-nHwTUvX(AXd^^3Mt&6IyDvAQf#kV5G{(#AyAycvQ=czLJ%2@Gvu{t4 z_%;_jUL3*E16-P{d^G6ZEloPvD1;s30P7pTHXpXNugc>{NqVa)ZHeq`EF@XzZY#v) z?xfmW;mgjWpq>t(^amLkaSnyigyZ4c5JDsxI_57T5akzW8)zUug+D=qk35#5Ch$Y=iaIquAM#UwFJ=3r-N+xJ z<{V%b+!n|ms*^Q+ZM7MlNP0bZe%8ePTp?~a0w-n-Zy zGF{jgbNMf;4Sow6)RM?_VUi8X0rV@t0Z%IL44*Iuxk_eM2fB1OoDdc}nWI6S#_?mW z=N?gMef-TaeuC>gU7=XbqP3JX3xCz0|A{zrG6Vy;0 z7E9)*?hs0Oqw6)R9=sxvFl0~0m}t20`h}MR)b$b!gt8NLznn@t6GOr7Itx*{hA={{ zx?Ki)Yh`2lkX#}*v%_{HJK2YUcgcVGc?=Vg^kBwxeKX3m(9C1&Oq`@BJ8||}VowWY zY>HplLzlOdciGKp0U%5XLq7iXMJgRh61X9qJ!Yh~Bo%M9nRe4uE+XRzEjsNKMIb8+ z90fhIOgZRSE)D|hGoVQrd9BeFMW*Nfc@aiwhTUz<9(?|6TV!56G`dnM{*5Z|eqj0H z%Hx#s*qL#08hI}>Z730FXOY4Pt!b98-7dMm{n;cROtVH4HVb^@Z)7d>Q)pSv(656Y zgw(sBQ8B^nZoxh5G$PwX+PgDF8Qge`G$7O$c(|$({t6=M^-#4JU!Pf@vX-#OOCER_ z;QA#^3#BUS;D3HX>yXKM1=4Thf|B{VbR9({_6F^s4h3;mRsipsX?oPZ%O zXW?a`akSqlqglgoVYT0R(LiS_+cb`1d42&J++!i;ISJkorAy=eis3!+@*DD9|MLoa zKsehc=Aq+%xAeq}+B^QciccP=2tS;(l@1&aRQY}qye+ax)XNA|heXqQg0qQ0Y`@OD zST+#S%jq&9&5V4`#lghlk2#d5X+78>FRe>pX@v*=7!UZ*vm`nSBLYm6Ujzh(JAMxt z{Bbb->oDc@T(p^sVzhcsDYs<4()e>x+3wTVsbfjjw+tt6+3j zQ`JH;G$&I}r{58Pu(D1YjI@WhJp&I9M%E`lPN%NI|MMI{WO#sW9jsy*FSUL#uo(MW zZ~Ep}(Qz=8?8&(-0A0jQrOGk^nBY^CjAn)iPy#4V#kSS8bCS_7(Zw@dT2K{1uuldC zw>rT>QPU(`^FT11tJD80-SCHAPWUD;5`)-;dqV>`Ys!D_nX7yk{`W?$O@Y&1u1r1} zZ;Ms)WMz);SPKLsYAS0cxb)M^;L^|MwN!yc2NMIAPE;sgW&eBWNW<){c+h#L3oqh5 zEHS?_+S%8>AAeSIdgz7ibyEWfz2QYELs9rt|I#B}c?}Y?oRWcU|Jp7O(ut*04IWE$W zuLfyAxCZ77|Gh96AJ}Itrx%d8u**e<`31klv)x0nl={G#kM=v&>;rduIvJz0C;fX-;o_9bY%1&3@~cuCCO3ME1JIJ=%xNe4PKasLF(r$$NM&#pObLwFjI(f_m_gtc zJT9WQb7#|Z4D3Vf%i1`v(j@OLZvY2-t8$+T?nU)6V#_H-X`4zW=YgKSGk*2f__Hs} zDyxJFgblQfE|qQDNLsvL=MgC=H+mbJfTUrfG4tr{@%>~vt;}j8shyama`MW>0@{z3 z!a}xRb7zIl3YveMu@+D-)cx|@O8(|4z5eH;$xvFpX@W2o^ya+whjcs(99#Xc=l{4} zG_iUCYqH20$&v>|x5AEm4|-QQH1C0w%v{x(z}y?I?Nvy`2! z5pA#|5in6vH&AP~Cb#9^MK!)>!`2<4dQ$9$OP`yueqF7{oU6ryGlgHytNaeA4Q||| z<9zQy_&ogWq`8B=eQ|xm&6K`Lr2&sa#Er??-wZE~Uo_x3@|f`QF}mkFw`l0=wmil6 z66ooDOFn+98Ih8=2+owYJi*JI9UD7}`& zOO|==)^?C{qsq0*?zCIvSDx~dEyeCd5*78#(wn;Uy(c`r<1 zT@R=xu7emtH4#(M^v@C{e?@&2g}5y|C~^Dv`z#9^i`e6pfD{#;;*7Gbtn{Xzhk`@q zxpR3o&-5=DJ?pdDi;S?+;8yP<+z%Iic9o~5ZpF^W^Mmhv*|>2xahM_{`Ed?_dy~)G zY{ah0H`+u!mc0;|@ne75`m!t60csg%8DDiM=6kL`+0(GLNAj^(`e?{4JGScwS~O_( zb4}P0ZYy!RH@^iQrkv}!&rsKWdy(lLC3sflU*6^i98CIHw4I*M;p0oLl$t3oVv7$B zUWsP06Sh`y*sFQ^v_OAK>W%)a^&RkOyiy783l1w!t^Ud>$9JuV`P&Yz2G=Of_B|SIe(c13ZIm{JF>Z9g4F= z-(8h8-yvjfl8lpjAB3-nopIxAEmYsdm$Acv!jcX>GMaIvqy0W=a!t$B9@4@5$zW4> z!EOP&(fW&FOpKrYjQb$A%4@1v-J+~oj9)Ibe^`y+>UX(8B=acpBN!Ej>UW+!a&GI{Jh?D)EW9FUPLH3=} zAsP!_cIdYLgD3jhq3?7?3s?LYQ^qaLWsCTV`8oZ;8l4tyLVDU}-v| zPs8`mgMib`CYdc)kuK+({aowgjGgKEV%7usNcCIb--PM(_}aa;e)Yb}!{$Q_G;8I4 zz}1)Lh3V~`oxMQC6}*ldZjbqA4+wP41 zJfvptL!-~Y_~G0><7kh$SxK_(Ek@QyvZ17bQ*L_)o8N2K~DLg zer^`Hwv&(2_s^i=kqC#|ieH3AU$0A63S1K_VLgO#|3u>T43UMz8{AC-IR#3=LugJV-x&IDD!M0z-O&NJ z150M{NzWF0K4c{25LkkfF5!NVo7pqzXwX%28&)SlTN3*d348NPmKBfn=DrbGkjD3- z6=F;6@XTvdO;Z|YsY1?5+Ek^23RKU~aQn(-r(qjl=rIt<{X~8G-Je1v9!3gT9n1;0 zzIO4yB`)|TESdo57Q?j%RhB*B>`JJ-#l&POhFW+;1eZ$9cyhI}Sp9?GfC1T4f#b-% zkVB>pIGWY9e_`+Cr?0ToTeXw^TPVItDrLjqq+D@B z!OCMF8?e6OURb_Om{3i2DM)%tTGx?FyjJpHLbb_kO}_96t+M}zg4;Y@(jI}aN+CUh z5dQ3&t79f3B@V_DMkEPo;h$&DoVfs8O(eNw*@7qa>q}XT;cv9{KC}&t-yZ&P$0N%h zCwIN$e!b=)rB^-FLn1h9%NoDNsg9qi-2|;f6Yg4L3msucF7OilM=~KHh37mzbr;*! zoo7zzb-;}j+u7vi<+%-HeYJCG_`;X?_zg`(2vA--iV!Lrff%A3a1@R@Ex-TP-B=tm zDT)yGPM*m@&Q!{HNi-nzM#<}hEBr1&D#B(*``AmxkMnnbsvdaOyfSbIbnbWGlf98o zujmzHJNn!DxHDbP2S0d;Y(}aPHgG2H@>4ron;NJ6S1*5`{;Jr$GTLZS1njUzM_*Xm zMD?AJdU5}Sn8~3bPqC#_SNiwEx@IMU4xReV7MuBx9kasXA_i*;D~#VhXIE%o?|Xm8 zU%60GM*l0Ql-pP}$EWFh!#6vr|8p|mDe)FCv5q{n>b&tF<)Z1H(C;?b>idI zr|Q9WAF48x@GXa8Onto+g~IL5Y3#*#i`sK*ClF9t`gtHc^4b6KEjy@lY&@3+wQmSy zlCC?R1(q4(c=K9<^Oo{Z{!LzVBE~`Nlcf_x81Qm^=St2`@U9j`=HAc9xcuqdgI7-A z57~m?iFgYTzgf_HPvTX+dQS8DANw;Hj0k$%!ASD1`Sw^=$Pl0Z|A_H*vv0xxTgu5YxAnN5`nyWrA6}Gv!3or%e4kM7uF0k?#Vnul z91`C==obbFC%>8JBZ-ZVvu?9F45lSPxBW`Qa?GLX*x2}ZRy;T6)cJ2&?;PdC`T5mi zua@rJuSBxp9xX?8DdE~XDDrKgabLW&Y95a%8zYB*1p^ppC${*(YT^H|pJCGq6{igeMsLGA@2Q5^~bp!QgG~!!TeHlkAmc7s8 zwR=B<6z!dwP3Cw+rp5ck1eMKiO;37%4~Iu;e|wgAJJmboVTQP>=Oan>Gwb}J-!Jlq zuGya)eX}lkV`yVDi(i#S%$;?@+Vk7Zd&6->!aBx$=JMyy33*9fkfqPB6ukCwZf(QF zZ{BL3Mz8058gOoto_ckpreY;yX!jx4$hW4!z~Ke!MVrI|z6`I?Bh(7xtAJs4zT=?z zHZSqs#Vh6BZ>2Z8)>L`AW?y#n5<=xcNGY1qc}c`Ti&N#!q8dqfA7CoEcyQH zUwt;<6%MS=_iyKGCijFk7S?+NRW+X9zgcge<*=J8Fm=ppd}(g<`Gjlc+qhJLY; z@wfwvIPZ=W1pbVqLcAj_EZk8iTL=IR!R+d{w{!Q6m{Mtth|{&7CDaK`CbD$0t9PT4 zndrn>CQc(CHoX(7$^bamby#V!`Xg<%zKfTiU#O@|{r(3@{`U+gv4J8xU*wkOtmmoC zR_dqzA3rVU_B}d(ztSJL6zqI>Z~3+D^g96fyt245Szps@96a3&3Ci8|R@q%1(PbZe zs>j;X+nWLs<^7kO`Hj-B)RR2}Cs^)PpS-JM-Y>MFkW^QRJ+a4<(w(6gkx?6~?AGw` zvxxtp=5nJVZqq0~z4n8W44wvW4aWof0awuCpOTej@ARDP%JLj-LvM%_8g7ku{i5*j z;Y;cGf*SLu(wLw8sg}TGi(BEQ?u{@@+B+e~b9%|DkFeNd{`-zy>?xgHU0r`<;l+H# zc`aw?#w`D4EZ$^v;^#OHRQ&Ve@()7lSJ@9pw5Q?dB^Aw7V5;$aU8wZ?)BOCQs@b+c z6V5lCnX|Xtfj;)*&LAkdwx6h`meZmKPiJ41`;eKP;dUIiS{u_=*v_Areaa;TA0N|k zcBtL}F3lW!I~p3Ndj8z$*FzuFn}6+XxlJ|RKIJo~D<8P&8d)oMZA2pW&K>h8363|V z*_ztgy+92lu-eG9a=$SS(+pZ_9=u8y7M?W{=3+cw@#(4R|EM)Hd6 z^2RX)?;0&jceF#}v~?jJ4kz!azW(q*{TM9u#M!I5&d#|?KyF$ddi2}Jg+PGHTxySD zPE;T_6ae#(yIfxNCLiy(+E_UzPn=Z&7j(iP9+ zo(S>(VyplA4GB&>$5fROQ=82DB0eoM1FP**dp!gocwF7-$pk$bIZEW0=C2y~842lI z*<)PL0oMG-fKKC6m;Dj z!|Dx0fIb#iV95Ar4g3q{LG@Th8Vdkp0u+4@fLVdR(`(kV*r31$#j`IjNkt48iHZ77 ze5OHzc8ovWC)sM@7o?DupzHmkDo|=bp|nb-h@aO$&rh%TNpNa-*375V3cG=eJk>Ts z`L_!FgP8pDqdh;uUc{DV?V2>dxq7{+s`$1t@pGT;_^H5fSDts9w_V1dETq%WbC7vX zjY2z0q|1{0qRe7JWK!O#ymn{NRL#k=)Nyv$Ax4oZ?*J`0I`K8SY8FsW*E{#BYrw^W zs|8BpbkOtix=%ThU|Mq!)w>R(*<~f89M+eHxb=mzv2YV%hmw!Q(75lVKb3}{bd<=@2cC^yg$0qv z0K+X*KiheSHP|8x3ZaaheFI9#luP`Z+v7U*vVzk|LcWMCuj*hy&5z8oma$9x=17)adPvggyYo5^d}Fc zdkh%$H#dcPlpn9akImJwZS)IGhr+~+v5<$s4|Q|fue*e>ZeQ+!>hljEgR*z061Hx{ zD@(%MA>`Dl_br7}Rj-Y$2L3kC(!VdZQ~U;6Q1q#ippbc>@lKDVV}IGC2+VTj1~Mt; zKUzAF8>*gzC)KNXqCW92-v8eN2~-ur!vZ7l!V4Za!)1p_oWN`$mGL6Q>w<65MsJCf zu|7dZqCIcB@BQL_48|}j_IV}~GT^(>VEM*$NHrqi-?bne1|I~x3%8>PAXZChMA0Wd zefpG^=zAP@x6T#x4*fAe+ufKo{}Rt8nF4Iq^iH17%>K;_^d&#OPhZ$$o| zz+g~qUNm!V{a%a$vuT4L15F7lKbyF+=`T0`xy5;dks*4$FDU|?U8gQoY?W^ctH$Tl z{c@upH`-z*g+e+6SQG;ZbC31U^4V2&gA7wL8`x3m&2tf{^|j*bgf_|DIgfx%qQ200 z!>u>#lAoX+Z+D{-T!W^>~ZcG~HR~9yFOv!k2De&u# zOAq62Ds~=@_L8VjexVSNk@vR0)GiTWpW-!u_39>ujoE48vtxiqg$NVSHGa4{^@+V|A z%699^le#~*)G5hEa!R8;`=peb!PSdYhCmoo<+A=5)yBIy#|-b z)Nyo4*Rv6|qo?xN=$F^(n6nuRI*H(XJa5r{W{OTY`Asz(y>^;yTqqTqQ_EdrvdUk7 zVGa4}!BryVA6iEqgj_T&WS$G@BhDvl|3@o^i)5FD z>O+z{q^gF=Eua0(`kwNUgiVOZo6Q@u=KuH0`g4iD4YIQV>(e#=^(w|J5=6 z`}gl3FOkr_`rIThij2De@-+Nu*XqgtOQiX4?1|ac#+EHA56R;aa%ySm(Ec;+XCJX^ zGdag=JzWzznY`#K#q*~Idtp`p8o+CAvXdnEPa8r1FZ&KI1+7%q$iL|Nbo#Qcx8IkN zTMxwrx+;8KEwyX82YNPE8cR2X9ND1x?6}X7JL=NrE5P&28;k+-gRF zU3&_uaU0wk)zb51?_`Oso*&j|Dku9e;9k~sJOnQT{wXzxRc;+jk~)`Ah=twU?I3W!QFyOe={cXHr^#+{ zYPHBSP11&66Ql`+jb4ktg?M@V%~&AMv6!?E3zPUU@T&eD3jm=)J(?*dpPZbO#Tpn5 zy?d{#vC6=qHHh~&;%3hnNuAq3|O85jd;p&GVtPJtBRl9JfE_+Bhh2gsf3sjgM zE)AqLgr;xX3Bm#7PV_MP!tg0vTwGilLP*}xOvb{ZG&MEVgUdT+)3j9| zs2@eZLsnc|OlyXO>xRrj_dl7*|0VD&j01v?l-sEs@tezkhR1FkvwjD1feHLR#l~Ja z4<}yjROr?4GK@NWtfj($Ks$bsfixi-L(JFiSkI^$c3)YL3PwP2Ch)$__HX=CBJ9Qj z6SET&itvbt@sQNCWaj{QQ6(Hw^7RuuNxH8Lgg8jewN@+`r8o;s;i}=d2bwKf?H@Y) z&kNrNxDK7oQs-0ClQX@VAW7$IWJMSqfZfSrf&6Y_BtB*QT?WF`&Tgl4M~1JF-Law3 z4TIgjpYn}e_-^^GHo6_FGrHo;?gf4IKCc}e2x}m63riCS0&LHeYi5yxgr!A_mGi?$ zxDZ6uVI2Hi6Mp@oq*lmGAn?dxc^+jp>*S|f_($pZA3Q34!qgK?g8JGL;zP-+%}}kS zBFpXAshsf)hlf`dQ`sQXj;MHHH~3@-K7xi*GBO_y6$=6$BsA0C5AvP0RLg21iT`>xu$lfZj_&V5@%u`0p(Kj$=HZi5mIIdQKygVb0yegbKp(c7e(t!7B_w}u zgU%f3Ym_8M0KfYg(%Y;ctbmGTBOkp{gbgJtEgd4P2!98)2_T}z`r_|JRrU7&TBJ_V zjU+bSL1cU`=@J1viK-jE^7r+t!wBBEAwgF;9> z8}QglC26yTW13Yl&cu3#u+wd0`hNVkffPg|08H=Ufb37P1p-eH22H9Fza)OWDR>=F>h&=3hT$Hwfa)gTi2tl!c_KH?dNV_}DLM?RoaYqsg5b^HLuFoh-F7CG=p0hlJTcvv84Uy@L`W) z1G$?QkU-9}c$LtpveQ^FnrBw7ZGV|M8<&!_?~DEsgG{YVohLS)ywN%OV`(oL_G}Ri z6NeSmpC3y_EgH5XK#+KFkhHqKw_j5j837>%ty>&Zp}hlPVMiT~QML3J?>2Gma*S`) zvX(!hc%#Oxf`Wz)S9E2#>SpV`AxVOFfHr*zaYZjJ8Ao>)1qZd%>Ucd)WxlV`*nU7c zf7Bt_!iGyW_H$sxhBbgyGkCMl%0x`Up|+ zgm__7c%T;~{HvCX+#PbV`Za*|qkiaGK8-dT0JGJF+3YgtL#;5>aqrGrr7s{A{rZ`Y z1`L_g0!W~pL-Qk<4T&j&YioB? zd7XBO`{YgB?c;7r@u_|C@&?HHTn17mC$E%i_ms&g#PzN%?BnFt+SeKM;DC09n{nwG z3`z4P`D0qY5~;{tzGDY4h#l$`M)5BdRR?I%mqZ#6^U!00&o%tf0#Xa{xDrb(=au#= zc${SKO!7XbmCPRaDUUsj3`=)R10a+aX0Mnl#kP!C;QoyLCcYolU!F@9QLrGjC@2?5 z;~i-;(pK1}=x%b(nB8D7BxsnP_P_lnI_m$-vH;NUZQy}uu=)xsh2s7TRm`}PpzP-~ zXJ!3`S}8-XMlD31KkjvM{8a|dd44oyxP@KhAq7pNz3IP)6EN2rr z3a3nlI)6^lvMLA7+mQI=r7OB=r%Fitq*)aHobv3y@PwZLt+Dk z+o$+Ev62@r2sK6~ht=TRjUxmEb8%4}?JWYLhjeHFF2}xn$}m}L^)(tdFdDYs+GzTy&`12*xrP+wEDE`D&_`3OhVvFmEBK*ff3ae5>Q=887 zVcd+J+B}K}?nA}U@4>S+AbyF8^{O>e&`OO(?#bwY;=JHORkp55bChoNkMizZQ^#$p zDGD;t56v=1C=hNuc5Z`U%AX*%JP0#_`RI|TJ_~c!7~eKhio;EEOTCa%o6Wk2dX{Xw zne(|ixc^e?bosOP4m3N9G`U(fize|ay}p#v4h0xNqvf!4@Zk-4Jur-HxEAvkY$Z^)xu zdl*!%W3pPTf>JP$VNc7XL9|qzEBzjZ6`KEx<3oX-hnDSgLyOOaaCWtYPJPKucyv;2 zP7dXe<;NX$p7adL)_FddgtJn0-rvsAHj|?6s+CG43h-Tlooq1vAy$x*ah2>x+$z)X zZ8XtvdCNuFAIo)0cP8ItDmzz|ZY@H7bLz0cU5w-Mb?c2A1p+Na9WuN7Dj=<&|y z6CH^E8jp{${#QEEe+^A8ko|_x6dlL+ocYD}2!*JwqX^>_FqVogbbay*czItf(tg)) zv8hO&FKOlZ`ZLT$CqgP4DDbf`W{z>Ugr!fL;X;9Oo5u*<-fbmf1q% zvu$eLmhgm>(-S0(q=^g?d~;Hb!2&Gl3hx8ilK;(-$p3B-eko85q;IYBu|;0zm+;Fn zc`!`&A8!FW(aiN)9qZyBxLRrj)D#2Duy@1QgM;?ok$6|`*Po_*j=wFs9@QN&i@N?& z7Zz!Y4TVgyc`MgRxc8$tQ_=pD*kow8jWKiW=}?o3af%^rlehqd4*2v^IkDr98IZA)p1 zEa>^^+_UgW<@}W&-0%HL+_egP9dEz7UtV24Z-&WJc5xh%&TFQFS8hBg_CbIXr9d08aQ*7IwZr>ApZUZ;!oV|&|a|mAyKv#0i}KaKNI8fQ`lo|9g;#?gG0{ioY%zl1L-hQTf8pEort zh`ldiz&Bpt=1T8pJ8-toqeX)m<;ylamO>T3EqB8k*nz2O{br*3%nMcMA6rR3># z+_Uc`O`)axC57qL2&_`svh{j-I=|WV5R3u~o)@~tB~kQ-kUKV^zU(pCwR?l3o(7W) z?ArH3saG<#Ck1@mEC53~CeK-Jtl`eEp5>inCb@iY3AT#4GWZ|$B3KHNF zFm;{c#7kVg7peDh+h$@7BthvuQf$b7^)|;){RH3=Y&^lun`5Z2*L{~ef|o~hXEuUw zEgmnf3H$9&rwR>~ZjUtJj!h^s!RJBX!aE9&?Pim26T_@#LKi65K^OKkrqS_%w3?lbq2fo(v~xkBu{rv)A;M+7@m zw(h+Su#Gn$y4VUmZXuq*3O;GcyuoIAPQA3bv_Su6f6=4P1YV(Y2;K7+Je2ekx%k{@ zjT|4_?mODI?`8+DX1x_=t<}|@Opc||ns*`ju}OdwKmamIH2M+id)Z%W4yGx}G-$y4 zu$1Kcvv>?Y3`~Y}qBjnxT{(}WVpBLAs32d`umA4Db`EZ#?@^0u{M(QgpUsDSc=vEp zW?9hAB&A#q5<1W)`bR|n0LB265>M_AWrKt=66!!-uxqT4RNazyzkMzQ6KkE|CCX!6m2$#8Bxc zP^)n_iRY*&=TPSPk+*Kl$9wGYonSotk&CVm!~2UHd=Khae?4vQZha$uj_{CQ6{tzE z#dQ1x*K#_?0RCz4z|^pQ9hxPG=p_d)wn0VO0T{Z6xzcS;7B1E!L7f@c96yA^@^aST zUPL5Q_~NLW)J9J64DDQNsv6K?u;viOwn6+)ekBH zPGqRx*^ol!tD!2ptT-s)T#N;3SAIpT-14vP+Dv-EU~r?qUs16F>vO8o{L9e)oB?Y6 z3dZ1IrCjIiXZzJKSRI{i6|KP!ZU-7mJ@h*MpGq{HVfBs|84n|1% zkVbaViz;x^_T+W$@OCEjC;?t6t+b|H4#0)7fdR~+1Iyt)-lD)`847mA>e>qNOJwFH z^@`a?sdi>TTBhu zj7)!+dMMT~0huk3FNJ&tZJgGhp3PQKz3*zz&Q_bj;;3{pXbppKu28$J<1bt#2>Eac z&v!2TfmR8^4>9e~5}3ey2YUatYl*8ke(}^E0Ky)4g&p!SMbok@1-bpmt#gp~l zW*R(!Gu@ZGMllr{-ZoXT?1?=N9nO?}7CfUJYmJgfZPzz9+8!_eG{4;-woiDyg)=p^ zKQE3qK-j3dgHP`IA&cHa>wrtZ@KfeX4c~>m%XRW=QSjo%g2T#FxXGZB4jH%wTI9jE zOOvbd`(2$nhd%4p>RA3ekM<8Y_YS?m={V721L8t8_@Aqu_FP(*1)S|Rz3&6DSEvnq zMpt>33ZCQ-sZn(aR+9LiIl)hBmnh(?%Y(L;tT#4rZDsq}*-GPfMMcFASq?b`v5hjc z24c8`w=l=BTm?r@8AW%QRMZzu7AP3F1SnGfz>jAlv3!a*lsB;Cien|8Q&|5>jk%ED z`y|Xm#!bLl`b_>rZCZa>*gg|L<=;4C%8+xIrUieR1fLBy8nim}zhopC*h2yUe8uD8 z;m>?c#|%@i>Z4w02bjS8@Xh{Q1<#Pd&X4d|6f*bPn8ld^aWrGS2F#Uj2kdBmSJW$) zvq^U%19^XCP;j7Z-UApJ8A&i;q9^|dapAuA(M^ix=OK#bYQ!sOCbb<$zW@w*WIi$F zKFQtxh`*cE&BWOhqKu<#;cF0jGxjvXmQ1`Cq9*nd4b8a*Zw+AXSSD9b#!~Bc3<_L} z_yo)kg9+qR{&N`eH=#8gLKL)@_;?rovZB7b6^lfdoa0z67{{7CKZ&2EYlX@3aq5PBL;j%X9K(5m1l;3~<#eeWu|7#Q* z$$bGsJ{d)W{SLDsu}hbFJSkh0;^@H51x70AqVH7V$r_z8m|L1Rgf};}TLzgA9mIdg zTgF-oQ@sDH|Boz60-4Em#)&KQ(*ywnxc&h4h3_b#+7vZ}^4(X=d^~YbVi*MVfr;$0o-f znV&{R2g3UN#+FDTF^JR0IVV>D-bl1w3kkkttnYludbo*vx01mAA41rFZ213KhTpZ+ zMs|1Y*|pEMj?83iZlmNBNlI58B08`mtVaoGEA>pn%*g>2SQGT5(zSbCI6Wxvpz*5X za=)XHA+%JG{qG}@|2sTcfddfnd8K&V)xH^uf@Y$3r+TFEQgY}BCh1)RH2j2Pjl|UX z6G~$~K`ZWjWMdJ0G4=shHo|(}JpBM{6y*JPH%S+Q8ee(%d3KrPZG*+4Of6|SN!^xt z>!F+jhxL&U>Y$_diiQPBPKK!5e{d%M`eqrr{gUqNl=zj?#dG`af&9mRD-|tr+x6a` zXV(VL3M*bNYmITjp@Z?h8N6y}NM^m0z?fAc zz6qQJii6OO(HY}}6z2kPLVJ{Y!d4=4rl<0+v6i+nA2V$n&Q#iM6MfT^|E{uswbgw| zZC~LaR_S={HpOO%|B*tVt@I0s*=?&Dk4%x7lz0&aO+}FV>e$g9^<_(;p}*}-?CgGM zf2_m zfWi@PI=_ObPnYS{<5)uf+a0(O_U-I#H!8`63;G2@V!I}n2+#W8Z6RwkR|pmBAM~B{ zW+%ILkE=+ZRe{&W^>&e)P>oVAPwayGiYz$#!A=!w9*dk@MeZC5TS{vFe8jKPXQG#t zny}nc#~W*}(CfQI_fI~)(XxZe-5n`nd6%6`=vcu>3;My?EybGY;}9LmX)& z%HjM(p*DykL}QO049+2s@N!7(4EDL&KAUsMvOlX&;%p}0&8)Bb_*bFzzldEA@JvVz zZj@Sq);PDfX}&f+i`8fwBK!izmWdPgsXG&#ycs$mq!CREX_E%Mt0sNRP4WaJRZ-$d zL-jkOJE-tCh419;pcKN`kuC)e;?gJV60MeN7&!jX_ZZAT`6I5CUj)T3sDtFqM-cb< zRP4&Oxb+7cq1Uw4u&)#o<(yQlgbWDvIkiU5skPyUMI*>dA_C>x(J@~Z6jTK5;?#bK zm)c}bLQ0|*=tcL_A^-NGc6pkN7KzV?ELOVZis6W7J5}agLlG~tA@j)aI076x6=crb z(V9Ast#-LwFMAH_Zb6CP`H$XJ4sR>9rK5K*tT@3R0JTd`@uGHuNL5r(;m@)TCx^)j z$+PNw?bT@t5&LYZKbyG<;-iHbJ*bRdI{tW_9FL+}#J)#>!*<4jy{89-Mn&8wq>O1Hh5a462NsiO*pV>e7>Rm+JD>* z2djq|8CgOwzWnO618YJEnbmxb{ai?b+1d;czNbyH>vHKd=)hFmae2gb=L+3)i9zv1 z9?89($o2C{d_EOf(*0Dk7s|CvH~}(dQDYAao*yiZo>K$0;j29O^W7M(8RFBBE3k2v zCfPFl;v$QjhO4RT!5QL<17frweatA;-)SOjjV+mRxshei(swDpy`3lLrp>PJV;DGC z2%S_0%g$S^uRWQ%_bS&@G7V23st98uzqB4}L^nKD5IK$MQEW{ujS#F-vh4-PrTpsB z<&Xs3-*oa!#}nfzmq^>c$)wY@LFc=UBNXMoi!9UM9$;n-(xemQq>s(l?+wXziGxhR zRMlAYt1}Dn6~`Evx&1LLs6ktiPDymKTFu{HlT0L(Pj=+4W((w3XPl|~(vAD=GDUvf zRxynC%W(f-=`w0jm1&=YR>dY~vNU%y8gVbBW;eWP1?geStHaoA-E%0fSY^uDI3~xIQ%Ib;|jiHUm6$utgZatHhRc5dQCbd5vea`7K&k_I{ zi}=;o`-a5rOG%9E(SlT2;^zYfixhvFI~EF0N8WrZ-u|PjL$eqR z6rjk8t2tzbnPfb$sy=8})_oxO1=syI*;iN93pTfTya8>dUr`=@L|Z^1qMJr|Abuc; zLZr#=alIUTWpol6O@7JzP)RIxE?ufK;RH(HTcuuKPt7~EUT?-UM58*Of+~@0+84;3g3s+=i|vJVJNoKw9AC&u{86&# zv$^B#WM4f_Oc~nSM-{{1axQiUp8Cy}$j${Mf=5d$Hn(CB{KLxKDO`b5s?l<$0{)0( z8T;u2uetNMfIyINE}LcPwX#`TE9m$<)GV4mSwm}oq2Tg2WFM)c#aIKaU>^Xx)^M&{8peGdqa1Xxh_~^Ko~vXw(0EJ49$Ad=G)S;Ll!tKXv#6(XIPizd^Nn|^EfgnSOlNOE#@M}$0IcS4WK6`Da@U&@y81N!|}i%gTr&TINO;={nJL(v#2 zQ;v9vC;=wX#tlb1{6n2oUtkG2(xW z?DCbr$!YR!kU{B+k$&=l2Ed`jTfbsFqWEaG;=`BzhdFo>Scf?~cA z9q27LauYIwj#GS-l7~yUUfr4{VzwUkWjW4kR*TAOPEanfrtseS@s$G&ILlb-j22|; z6^{ul7EuiE_{85Spkt!sFDAdJMD$>xW`91np(t7v!%d6BO%Ezx zuZkV>slw_euO%Bfp^D*B+Of=Ql6Ok~^eD=@uZ+nI!?DwTH93X8o`cnK7&VL`Xcl$v zlp@^u=O6Tk#6(u5cwMHQ9L@T?NF0bI>q0d zFL_c51yiXru{$@36`QAhKM?b<#C>ix*JUc^tIy7?xEW86+UI`GAd_L|>DHvl5toXy zrHB}hj#cne>@;q}xDto0Rts?ukW}{Qtq-)1>nsY!YdbHW-ZFl{S!cJAM-bnZdrpxd z{I0;ub!Vm4P47*#V=hNs5>GjL#C5iYHv_w}QECDKV3A9{0B-G@G)-reWZE z6PPcHp(0as^)H+ZOxv!`zG;V+_7kv(1E%YQ&DG{Jq7G5)f4Cq8i|6-~ZTc8?{B+5O z4|d#)kvl{9Nzx=*J+-*78;dtQTJD@^LTUrCsu?lPRKar6DBav zhZngp{xE`Z+5(n2!sN@3jqzi)vw#x?&_xd);*?zZ{=gqQ#{?9Q5+Rk@!MamBC3I&= zCm6MgUb|#~GkarYN5$j$=P$x}a%RSypimLcQqFfJ3y*w#7ofI`a7Q ziF`-Flk+K7a0x+%_=~{kmjN|3gcONFe|v~7>Sq^OJ(=K(vjfz`8aFH$Q<<0U{a(xO zj)xr{E*wc4#J3E#rtc~v5CeSEb04uzn*d4mpeQD)Y5=S69-wjY~MCy0%tk%OK z6-KAY6u*r2qzH{>hnkYtLm~QXoid*n=X_;p9qEe`Q&5Z{PMng ztG3Z&1P*+<)A=TyFcn*f7igYP!Z~9h8;jL>bn|SPimmmPvvHr|=bS~Na7uNM4hE2t z4*{KhX0{|*0e8c-J2M#GIZxo5pNV|!*Rb@Ilt&9XtFlCW%53)$`AuT#wE}q!V3o+6 z;9hpjhULi4lJMYrbn8g>$GP<+YXcgu7cJM^De<34begqwOC_5vSj&xdC(qz}8LfF} z4B&$~#tvt=9@PxnH+IZm_5KzL)FWcyiHG6reNzld;iA0w zYIO*;3F^5BZnZzJyl`=X$`~jfLeRH;M3~QBt1!1ZgP0;&7e&W+T8m_E2!O4^w-TD20QRH{$Gv&s_W@@&ZK$Om>{NQuCLu zjj^d}EQgNuE^cYV#5MI+vaRrdp$^B|5B{W3ra8VA9)hGE;d$X7>YbBrEcF!LIdyi< zYHM=OK54@x_#wMl7@dk$SmQI5QdP==Y_m;uoiy?~PDO-jbW<7qC9 zcRo~NR|PoUS0uGp88at}dB1hB`oppVzuG@v1?_@v8cpJxM&Jz+-7hwLCOzFNlE;`e zqj~+dV6f(+IREbW zH?AJgMC>+uZ4*MMzw*mKasE0h`?~xYa*}+{sC`981nro2@V;>%<4k4KMb4KQc1X%A zm`}xAKw*-MG~-=NJP?#CNF|5P;Eq=$0XhgOiv=F>%t)+nih{!rj7Rf&K|gz>EV3<> zUi}y`l}mxi(msJAclM3uhd%B_)($TdP-buR+bgAiUOvi>?`sagN$cT=O@@*4KA}pF=)()BIkST|O$xKg>v0 zHzSy>PO31Olyw^#uc^j*A5VntthXaGID}q->(>?FR}tD|1K?8Q5D|&Y`PM7UTV!LJ zcdF`c=PpAvzCPI%$oDIoS?xW+hBE(-Z)&k$2oV|cWKRxh{X(3%E6bcMpUt*dsFWUB$9Os4@j6C@6`8jy@|cZhjt!10qPx5>r#oq!mtaviQH2qziW~ zelGB3rXQPiM-vzEP6f&4Kw}M}7rbn|NoP$YjZI5;aH2}NcEa)Szyc5?hVQc;c!q|g zN)kj)i==Sd!?R{zo)#QvwUTgVra~$f^V&2Lb*kn#O)_~866aiIIDb!BD}W}HtljsF zdiM)vOP1`Ou;xhl8dxo|igaF1;S*qLBfjrLV--03hN!2|n1BTY%PN4!`H-h2ws@c^uC< z3S>|>#j7KC+c`QL_=HV!T)b3m^blM$;oegC3}}@U3CA6n|yyoxV0o6X4ns6uik3HusXRc8`4507%R~T-sQI*j&FBGXC$I4(WHjUtV0`CMk zYq=eSitJ*^wy*d2a6!|vAI0+;O6elRH^cWreSP7uLIktz_suN${-7V2y1)0vEY}<7PLo_3NUOtVD+eht?GY&b-DgkLv{z=IB>|0 zf=sg8mI8?|ehj$;4yzbrlYvSm|5x=m3Nf)wUw@^8&Y@fSK0;>N!MZT$9=2t@D*$^= z;SoNbX@%H4W<&i;^36nINnfmSgDPs&jiKi@pF=%?4NY(06?gK`dhSX-j zO(#k`7tzF3znX57CY)4Cbl`s8+g2E=X*y9euOa7z^shwxpMtK9g*IMQIq71()WnjWVu+bo=i>adYY><8d(JThFxUbt zjN4t{-Snr6t#4Jc$OJ5%ZTj4YYUp~MB&AO#;X25RK4UBe2L&AeZ#)QvZj9zNzIg_gC99Vo6 zPW{d7^kRp@LH7&7NY;Xx`cM4EA9mfz6#E<-gH-vXKqrF|qq*JNCOL2HT)O)l-1`LK zeP_5F%)DJ})*j!=-|MesKAs;e)F4)Czu1YoSRCJy5)r~XxJJq9X;*HIlzHZAH5PBv z;SUg|Shc>Nb3pftd$bP?PcdSy8D!9Nhe^b}gHq1cU?)?w>@Ka-lyvI%&|~mY|EAWy zNTe<}`I}PWj|P0Wx;2Z}LLU(&N!Pc-bUQjdB;8W{W6qx&((CfOk@LdmNKsZCj6S+l zzf+r%jTn!;i_Pfx(!BllnnE1u57rG)(q{^Ve*1S_I*aPYQWcZ;8PEj_{Tw<%^a)vL z5XIO9paWeK=Kap(3|V2KU#|MK4f8MW8KcZawv?mh!lcot*lfGga>ZiMK=oV;8a{_D zQM#mjVuw&#m;=!R`qP28(oI$59|y25LRvhz6A{5&UFiCG;k1Z?Mf~o3*i!Z}5Ao(i zYjp7F7+9N7;;?Kxq_pCglw{%i8m5dn7RpeIip1$rqCHX+!6u|`-M>>G-%E|#zJac4 z4kHmY9tSES&N|RjL`92{(NX1)+(fdNzmj#m8~7v4f9Nu001wUm``8hb+j8ZhUV{ps z(8iC~ux`>$-M=*$VuhrQhivk}$YY%q`Qi)DBtMneh}!5dQ<6?*xU7`T=mANAq#hY@ zCPQoz8*{Sj(oNo_}!qVVq1bOUA<|VFHa| ze>eS2gxpEKn5^aY+KS&U}~ z=?55H1|R7|XjP;cO;HTa+2w3R^2WHNKmqo6*G`R=-1yOvJyxN@i*C@B?H*hay;Sfn z)QWw}&hd}zftmnW#LUBLL@}`ElFL-W$@*$yLKR)61O996(e;umr@xBlms}A*S8lE6cF0?G$u{W^bIu$W`0k| z@1g}r+{;n**JJhi9et@28KnN=m=^Pa=Z}7ejVuW1D`pbcKK>XwK~*#7Z27mH@w9Xv zJ z^#~U#=SzbxpTMTy0nwU;nus@d7~;?_D(4{&=sf@-ht4^Ju@)O&L5mdG`UF-~ zGXA|PfJ@Il0DBl!Jg7uNoK~?G>nP9b9Vx}l9`%LTqd2+%wWW%5zp@f;Y64?Cb*gVk z@{BprzVWE&1E~>}BOjG_P6+1N&!$%yte;Wro5s!DQ?NlK66Y7=i|@jNlST^pBV4^B z$rPofZO&$?NRWmXjAl-FD(Ww+WkC_6?{8Hf(&~O1!UPJ7#B)}MW97DdM90kQLq`P( zXjlejY9Hg|I#YO_v@<4aB528$V`rW=jHRdB=Vy&5xWo%HD1OfY^f+g+{-#t!$mOc} zlP_!4-h}0+eE#4*GP{{hP1CSmUjzF76IQbQyJReQ;jGMc;SSWNGtv*aS zhgZJ~@hx5)bYZfb-kDR(^}}*^g9|>Pugk$b#KXJ*`;)N>yXuceIHqvnV%(e>{OL@X zf;49%h{h(zC#?H=ev;IES=ExGkpU5v}ORq%`Eje)@ z$hPG2ExPCkT+?-*c>rhg0m^iJ@elI1ljdtZ@@-^a2R?2ftx64lf)c=y5p=ogr!(E^|NOoq_>3#vrqO{F-aZeNh;*CYgzsCS0P}D0RI&4tV z^l*StK-GM_%$0kzBgl)tM9J;QN#5tDdvxBRhuQX>WFgWw%1l$&ZH+b5nfg3G`sPo2 zOrziNRL-`LPVNbG`{@!Vg=BH2m{Rg!Q|WEMUhoNS&v$}dR@7fjDWaa9p+|p}Lr@rb zoUDBmzm@ZkrJWYOlIqBUZnT?ky#u&uGz4=TbKZ~8CJiGiOoMmVYwglWp)pYL05tSOnb@RQN$Loy#NeyR=vdXccar$dN>5kF zR4`)V9%WRhC`81ivHG1waEbGCfAV;|{AM+3_?SB{uSM{ci${_ACXL1B^dLiqFr3pu z)DCAk{?Ig&p!62w&P|S0-8++D`Q3I&NFZP+la?Vy;O86ErGwU9^M3ksD6$y4!G7Mv zceSUei?SZ>m#8R)<&4>j^HOqdn~#LuK|2d@IyI!f*=rmun)k=7mdJSWoZR#F|@GMk)>9e0O8Mc<|) zpsR;?e>eJ;S6_eYg*ua>v8P#a14VUhq7agg85sgY8s2pU4x$KQw=Zkp{2dGM@r36D@!&v?4lyr?FEy;KuMg1g$@mU?42sRFJFHufOHB}2ACa8U$Hl;WkH*~$m+&$KF_|AfZyyFbF)`y8zYS{^WpAPzqKn!y<4PR*S9XeH2~J9lJy6>dhlyux#M+BCppVcqg`JTI zES}4S;{D(gu*})+qrDp~M0N8I1mQVqsPg)#I(KK5XqLd2;_IO3o>eD0sm!rWT9Iqn zKb&HCJVw0381CSZAI2EJH{^J+yqdn@%`wYkTtz7eq$g?o-O;RpdJ?qlV5pGUlEfmE zZYLu;Lv+KscMbjrG=>EIx$P}&# z1FHl;k-p+lmc*W23YJApU8HB0Nd|}flWSe!Gz)m^7P?-ud5A?-fZ_^9*Jb9DT*nC~ zUgG35L&TF?hCkv=y(W$`r&3SV8oxTVNwj%0<0$Eh!3Wi!WwsW?-7}!tG zkiIx~fh{m#!*~>5_(9`g)FzN<`F*n+h3dQkUDEtgve`(hhZcwRM<_~GA@ZjD3L6LE z;~tm^$)VDLV8)m*-6}N6b{e=LNduR!YDa4L=dn}Q#$K-|SOD7ySBs4a^L=fGZ#h~+ zTg@A0i{H?Y1y8^8)E=6dwO-zMG_jJ`BUz{(g-R~S`8b|bRSxH{6^rCDxB748hUeiq zW`#rxHeN}&K6ohcTi888j%6JYn~CRzGcOD*#hjwyfSoi|BS|p59FRwIOg+C2A1CDoT1EU<^oCmh*IFs}%zj4kAGy z<==FK;oX)Rj|D{=DW`6(o8-$LKHW#Ux8WRp#_V6}zmoj6Ns26*LnvN=H*zzccxTO% zA2y;LqTikon^ahSNL)DL;n9LZh>L6|b9-N;?B!{x0KzJ-&CKvG=atOjJ?KotK)Er6 zfkRD_IGRmkdQX=Q6pqdb4B#{ozKrvx7TgQ6nJ^8EmOua5DDcw`!+Q zbfSaHcgqh2CxkTq%m=WosyVN4m@E$xe|MB=eZlbh#lf(2>vWK}763`2N60C_Cy*Rvgf(o5)Cqnp$4r76<)XMfP2Zf+y4ytUY zI<_U$z69?eN8`5+Jm#9NE+_jFLgeF6_)t=0ou9I6cO0+El1);AkmOPw1*UiDsZV}{ z_caABzLy)ku+{ZRkOsd)2bGZuJN667zrS1baOC0s#ENIItFA0tQhF{KVQ~5!-Y(g-C z$UY#W&YPD2zrFhmd7d(3TLzu`cWm@m*sN@VY>ZV@F+h+wO0~TpZRqgib^1X_bufQG zujnxWyT@TJ$nsWMa*?XlrZEc^LaxoX2#K-NSWhdu29sT2NoJev0Wr zlMG8r7|An6djw@lGJDpM{EQ5OG+!#aUskZS<+M5KLZHAjiSMNk#uGX&Fi%bhl#&Y< zE$rx6EbVKkMNbhZz3~I@dx^>eA9F3s8%dldP_SIVBvm16r^4Wl+AgmH zikO=;)|$s!{&U*k1yqKcT)BY5dG_1Al`1%?eRX^Wx<$C3<>MXVC`cFyzAtb-Q-q*_c3C($DjX zE$EQL=qyQiZu;nOfF<>*=Mhu8$XDw2HY~Uly*aUltZH9c-*(qj$u1fV9$qQQT<#0y zD3d#v?mz^Jk4^y+1&;SpQ7Aqm5gL4C7t9gSW%G*Qfb>ir&?y;2YVZbsIF5_b@;aWP zIv^d%xS+)e94W@OOdS;kM}WykoN=0{9L_y);!9xNGMc>Q3EGcTagv55?Z=JsI^uW@)|wJn$n8H2KtdB!WdBGe$r# zvBgnSYL1ETfI+>mO~dhBuz64I02^lfGs(p~f&Pq06i>wHJkmB{Cgdn5+>BHBCXpfO z+^K)h=T#g{E$a{;6(18Q0ol^#WS>A$Ewjp4CMXTaiq{P3HexCu-|eawq4%6tFOya+ zwc4fE-j2)^Gk64~#@A`fz73x91!mXO%j!JP6|W;nVQsRm*tI=-B!BC}$X5Q+yB>K` zL!(EYlr31Ei=VWtGwZ+>1R_vmnVMMXFihEmBY{GLj3-51FFm38?{It=9M1M}?O{R@ zZ>xB&K)n9Ka~5!-4bFxLO~pgmYUUh=iOGHEDvUTVt5sOE2wz=lQ2-9{o*~$$?3zMr+hFVJ%sP8}qNUfP%gfo) zVvLVn_7{vmX}4T(h3X@r_NGsupf54T`Il@gXL%|M6ug=?w{0WG ze?=`cK^S1$wJca=p}E%RvBF-?gubPoSe*?-^@Yj~5Gd)n{>yD#E9dn_pe*U*0~TT* zXr`oA`tp>FjT86!*y`ez_)23qwbo4IA0<^PNFPdyX^SWrr;W_(hQ@>W&s6lAsLIAu2zf|1z>ieXNP)r1NaJ zHw7!FH|^sM{O~>{CUAcv!X%m}@Rw-FMCB+u&(HNEP1tBEfJqCeSF+|Vkth@;f}Tkn z<$^`93@V(DIAcuPZ&Fv`#-=;d}^_M5rG1eJ; zs(Ex(HziM~Dl=Pt+UF|vr);d|(o?^0v?=dJx^vp#g%Q-X*=d4_$$e*l7j6yBX|?qZ z|6J+G6jz)4RtQ~_b(nar7qazu*jnBicRsRBkYK~;?`rHMpLwPEz&xV7AAKmB=G+`r}BT+nwa&?4D=1*|3yeCookzRDk zygt^82o=81goy&&*gjy?1|99ighn7wXo%8K71N=P@zR703}?16`Y0~Cbe;(sAl{jz zNl6sQPoJH#iAes1BguFkAcrl;ONbD-dzPRkIRdB6tKNj;6`y$v{*D>z2qDJQS%#gouwU(!N&YcS$q~ z6Dol?@w)M)^Fp#vIk=Ig>qft+NEd2oB5E*W&AlzpA?4kgXz(##Suy)wt9Q}D>Y3!ZTlsXgYxD`b@x5LY@+Sle&9IRH z=2q3pB^Eka%&>8kd5o>DbP$@bp-y#KdV&lptMru}Soxwb!?Q!C6x88`bvh@}{J-v_ zY|xKpk_Fvbbn^3yMEb-XMVyj?{4Rl!`a27BjLQg4V7KfAWfeo)8*(asM#IohFDz`{ zwq-4;%t)S|(TZi9(SAIR{9%QHK^x980^f=>*V5kCP}$)gB(`b=Xj^7IO9Exf3a*p2 zP5+#5rn~Bn%R=2x`O%-5Z?+B9c#? zEBcRg%;|!Y47|bFl;dlvHpCjFxPgH??QlzH8v z91Y(H-MGHjSJa?*oEM!8alj+3#HMq!{)M0S`Q{1Qn1&&Pgo!6m;4c#>5Sc=k&C8Kq zCn8YW%E2l!%)TYIci0b2N3bX6CXz&B#|r;*~xY0I;pav zXcCTSP=pK;6NO`{C6koTI3J|&dm{iujs(vz~P58QD=7sv|%r<9D2>mq%8 zDLRiQQLx_yn=izK@-xJrQv-?d0hxNvNCum(SvpeJY-M7(~m+uhtU=17f>xKQV~_T~H^ogFAC(l&^oUJM1 zBg|ersYOR|Xx6zVkH4PKlUtNFlm|&D#6>g`N3Y?CR$s+07()G2F4#kFG;g;QyV@84 zi{0yl<;=RSFrgO-6mG9_8BG#{vNRCvj_jo*iEQ3r$kX_r?s>hjC=lI+Ujadjf|R$L zQE|L7{gktlOJCwOrx@z{-3Gd5rIjfk(*K^R*DM%K*ZE@GMeQsJl=H!J%(nGVo^Ymn zqWG(`ZaOykMxgYd61S@{Nh;S2#nFTQ5ni~Q96Q2m*(LH#*=mELhePdsz^6UUkJM3P zhi*e5DtTs8Un`e75ETLiTwtAV6)=PBSW-r|Y^gXu_;{&jG>~r~Nu>G^8G<=vZXC%& zpJ%62>F7+bNqc7fU~ZFQX*U|rcW(M@v=cZEKsV)d1WG|-IwWcl-XndpIJ~+9irVBS z|5BF7s!(57_*F%icoM~3V)V)B?iG+K@Vh5bfNW8BsPHjcUP;=3=etY7v0eVc`Ec}C zx?wKwNCv#;^klmD=q6Z(GAY368Grblh#U1YY_KcY{?|ClMIXmiATgN80bP`QwI&7( zf#AURfGWWycf%^3q|3;iBXo|29-gXxD4&l!Q?^m1=jn*&Ca$;kFECBKmXD?}Zb!Dh z8e`U9# zPkk-Hz_w7=qL&l&+jgPgLN?u}$E8lJ`G(ppEqT&$n{3Qwbsk4&+muP=#71meN?jUT zh0*dx8>61CZn^4KE7dMfIhwZ|dBXD9_J{bxa>=^1gZuDL-8ndSf1H$BlK-I`vPh6I z5YJ-iA_9m8b-ZQxf`J95vtV+d123X=!O{4GX8$Qj$S zSGz8muWhxh#k$hvVLu?kRs=1WLzG2rkkXfg($7zufQ7a(hIe$njPyK<6)f zd);V=K#6vI))Oe;Io1f5h(JLAxDM3~_kJ@KT>RNgL66=>3c@unA1m9*=U-3C9%^HS z5FS}P(EFJ{fxHXr+vwx+b$7257iDa(&$3!VgRL0JTW6*FF}D`Gi9EuoIR@IE1|!`% zBDd%N6X+B0q!m*e3!dOlI=a$Y#7E zUP^c^nj#~>XO9+JX7JbOIkU!Gwqr8BPGcK5heF)ndU=SQ<7f^_gOd36C6DnMvh#csy z3siz)TURpN96Zz)hYvVF?o{g)-eG$Gu}rhm0WVS;9FID5ITcWz|Qr z&)K)CMcR;K8+XiOzhP@DJA&Tzr&(g%0GaT=qSEr33!n#Q9f8tunTA>??7DQ5cQ@Ay z7_W&y;l=+Lfx>5$V>Q|Y%HUWTOvb0H;Cp+9a~{UOa=lU7>(aV4u7WKk%%?uMmzg%plY zN1$~&?@^o%uwCJg&Vu8!JZVW6%maaPdBSKECPku)=J{wZIvSdzHvAD^M7ZERC|DcW zboIabNSBn{;G?skA{^ZkB0M;Xg5}^G%H#$|yC5-+oAay}{tI&klr3PXdre43Aa}wB zzFbhx=9ITN)F!_tP*9g}kBQVxd<1G)Y$U-VT4SqvYrKGo6n+Nms9u;a>5oa7=^kOtH>~Y-)V36L`jDn=n^OX1*`|4HI#b&vx(tvgoL9!O z5}nq2t%+Zozcpbjm5uqvaxYm^fb@yUvG=V@jDen2`g7c@E*hCJgsyQ)A1SH{Nxeqf z)OCrJUY;2XCC+~VDJ@5XRI_xch(3A3eW%{{3nTAz`1OPP@W+4T;10jH)V?R2-DEn! zaiuE2lR{b#n(TsU=0zYSlvy%%*VrGyr~WG;B{*A*`P6j58F_G-Lnx{Sokgbp8lu{{ zc{UHVu9E|W-k-E}X?)ZhEKjYP0yXX$x@8e4W2UVP+E(NV_5gA~d*f6&Jbg??ELolg zdt2D>UxQIigPDnISuM^i*P;lNmZ4o+zu8UR^ZKrGruJwn2M5-S;A>2~b_{Mk-nN#v z21;H}uaN;3Z?i5kE(_b$j_~TWUGSIcBSF$|JJN$)2$Y_}$@_d$JO6-XQTL11X?-iv zK1z&y-b9QXLql~!So>w^&4Lzz5}=A@RtXduGsPz8tJQ3|Y-3_T-Y6c$f_tlSFMI%N zEqiMMCA1@WskmO5?EkIgY4w)b;em!)p!0m&vL5^BGhKzVB~Zq3>iHTe(#_+%20K@} z{-k((#Y}{#x_IN&j|~1alB9UnL9~Z6DLPF(u?m!;bXl#5kWtzh!fc0 zCGrHeFBE|S@5pxG{V4oi>7p){4+r5AIX*eOJz{R1M3ixH_QSsIl_0d zMBO2|M4mc5)KL*G65&F5g@}laA+ufhlyO%-<5o|Ie39)VrBfhZ!o1Cw*bDYtF6$Hh z9-={HQ@Egue-!Q<;k#bq=-8-tY22ibg(K7SHWus4M3{dkgum-KB+`@HJ2Q6q=3sqWF;0u=>NZE(TnnV+Yv#HtfkNu^WCMYPCZ&Kz{HQ0Z zJa^RPkIgk>^V|~MGD54Nko3(lrKN`rP6yau$EsS;U@T*Ao=XKYrc1D$f@zP$8;q^C zT5C}m$zO^RVXa#EYwyO$k2 zogX4T3WI^e-_zr_^a_#;X6l%QfmxP|BR4kx;F##LbXAp@5 zNj@R@O_6kpK+!ecYnmKyue#fLGg<}^yvcoY6I-<{0DIY-{dwsb0zSromu{Wp8L~2@Iw2$xt6=iVwA7)Fa zBZHD+dE?fTx2m_(r>yCW{G0AA&G+JU^JX90QC~xlZ;Yu-SI$((Bbrs^(MpMgrr$uy zNf8i%!V?qr?hCr)8;|C47SB3)FN*(JMW+xc0?{mR^cF{&&;~pYQ~H-L zndb-#Odp~{;BHk&%NzX|wIWdq>K&#bl0!v!05_tJ>(UV@a@q#u4VS=6M2R#WSp>0p zAwBqL>c}x6i3naMYN8$m5ha082tQM!^6^qC8AcvpG!9@3u#i;wmzESn=t!Bc7o<9j zN{@obx-p)#)(+$k;SU?Ow6noQldWV^97vsHfsmCMOe}vV%*2V_cxF3~$y64{l`!3U_9r_m|OGdHk+R%`#DDExojNuMW0`a zXk5;yH`l^rl4oV|cq|!$maN*lndp@n8FgL2h8JI#bvc|)AM^yu*SW*t|GA(tJ7EP!562i-4jd-L*_=fU=iYh^vfwMMe^A>$sQ(aV{qvrGAPvLu*q?Vza z%7joJ&;^~7hA4`wUV2_D92;h2u4;AX(7d@Z9+4eD%6r?a!2?|?v-H^!C~yYn82+JN zW9I5SQ;kp7!52$hl%5^#y)Ob&bC2@GGyQqy>yE13*tj7V!85GGzS4))Sdx%bpK0H; zm?gHVrRvu5mcSDA%hk<0=S;Wt9hb#kLG%&F8Zd4^-o;;X@y^!U5Xo!w ziO2*^azs%aahpXn$uXcuMYvWO2R zT^KWv!;W!?gwbur_oalu1A0q$y=b!$ZP`%djW%_tKIey4MlvKaJ#43G-7Gd!br;fG z_MliK{7btwBoj8dxQt{U2h~ya5ocKG2=CS6K?Vr^AkimGf^cf`127te2^9Vp=^=fm zN{~bE3bNBFPv+TVkjYRfeDlWpV0w7hhI%-CMUw(N)&ofu>7`EHh~ySb`S|o#-&a7h zoSaxwu*GqG3;R%2`yCV?`6vO}b?QsQxw&o}GqNeFJ-SmAH*Ggz(&95p4IH~RReX|o zbe`jEJXU6^Fs2D~#H8!7}}@Ydn$FoXLP#PHyw{v zlTezuEUe(;Z42iDd}b7wbslD9FHSqUDYi2<(Lu$FE3<9Jb84@2>KdzQJdRck(X2ot zP$Ec_8^ky-+tce?xl#&UR`$LlvdAZBH!f}aLWW`y3kZ}Np-{!LLYQckc@Y+#6%ouM zP+Fh1(8fU82WsPzkA@w@-ptp;@N?8mzyaHU z+9+x&T_z_{kvCD(68XcONQ={(uA(<3#3(LW<@w zPO3XHlU39<5-q}8=<4`3d`EYoP+>kwg~=W6$1rcI`r_|7`Jbf|+|`~FJu3}m{j7Ir zO-QRxj|mM_GZm%d@3ED%#J+(ZF-0S3uo;jsK-Yiad-bMtkL&;{F~k3;)C!r6DYN~-lT1PGMV!dM=JU?!cLv% z3H9|al|v!g#)W0@!voA){!<`pz)OLOVs#7IL#ztJK}J`~(?y1|qezO9gPwe~h;S?2 zI|L2-8ifWJ8%?oEs#t+YdV|cto`qixEiuz0Dw7X2lJt7gc=BX7>v=s@m@1`b?-F69 zQ8+1LNppI#hb84@7+c{2f zEPw`=A%o4ui{dwP1WLN`uaAvbhHpDptvvMIQfpaXic|@U;8JCZbfZ8x#}Wbsy|}o{ z)>m;I0!90*;2PE@617PxNm`Q*IB(;#(uqG~9^C|IC%n-PQ~fH^we97V`_NQrQQ|gv zL`f>&_u+llw+$#)kCWN{JCUutA5bh4c8sI|JvUk6-ugtIIN9fOQ(sZE!ASA9+Bc zbd?d`Eyz8_7JAp(Vt`r-%_Po5wV zp@Q}%Q00^3!I^uY*_aFmzc5y7meXLP)n5EhC+iKb(vAm2Zub~XZ$Ld2FLMTAU) zBj`{sIPOc4N&46>@vPGMOC9?qLt90`NX;4pIW`HjXQjquYBIv_eECjoHBCbNevkGu z_;C^yvBtE9W!-?qVw?+;T-}46qab*PYp;29%8XAcfjc8}^_?tYDmG_U_LB7Vc3&c` zlxKV$J6&Rc0Nl zQIn7Sqi5aa%YV@w+#jUbrxIzwlfGEa2;s=75}T_S7L^+9FdFVy)uarn7*tiWH8iK| zu*CL)At7y)Pr%?IoT_oasi29d*9WLAn0zUk{~m$T`f7);iwKm_9jRm-v>fDA?_Lza zUIdErg+@p5qIA85PJ{>GJ<<^tsd9dqAmV0Rt$cHB$H_+2Do>dM?$>z5YAF|vztMtw zeREXKX6cMTX+pVkcbIC%`ToE6SRI#-y1%*aKuOon*G`~_KXJnel){2uzA`P1mH#$ptHu5YcQ051IS&KwY%k!D6S`R7QsOPkT*y!ERZrbZeknAX4N0FT}c5RB)m(*{k9c%^Qf)D;1k<7_^%@nVVN|I}HesZC_ z479Q@FHd=M+aKHINfduT=23X4c!4k>BHBfd`wx0AjwG-O{^%A0%RSbY}t@k_nHW@x=i{RqEt9y1>Gh^ z9-zLOJb|8|%_|G%`g0w*@ssz`i6|ZTX_AJ1U=oG&!2~KEj&;{%Xc_P`-nT-oVCafM zpv1j1<%^@dY<}3)iMncmEP{v?wX>0s8{(_!W4=`Mi9e%4lO|9bC4+wlHTZ*N!V2bD zrLWFQqc|JHttEOtIwUkOZ@4qEquZBIhEBZVSSQc{WJR~;4EZQJQL20ReU?x_8%8Si zOyZ*V6I(1(^0__tk}v&nLaSNyCqzd{_p9^xI(AxjGzc?WZj(inQJKSPH1$ZjnTV5K zRcB?@un4xlT%w=Hj{ncWJ^T$Hb6@*hkn)kAdB3~7{D3=Ld?^Nm)LbnrAezzWmpGaO z^QQzyBo!8+c{roY5Gt|WoC=RCM`}?=OaajOO0^3UL72Ebfg%oQmMM7vj&mz;K5yjk zb!LJWW2$DeXoGs;ZXG(udFLs%_CN#*${HCgy#a7<-nTZXGfX1fZf>2&k-iQBCABBx z+O<;BXxc_tP0GSCII5HpC=H~7r#%Yi?&;2{y=Vhaw;zm02z(&5f(*tR_i!35gCggVwgObHwYYEc;f9^rf zdPreIskZh|tBx(}nt)N%Tdzfu^fM7CvzT<-sgNKX_tVF5iTwFIyd!un`oPGZuf{+Q zmb%Or;M^PQhKoMYKDsxwP^a1&v0Qy3LmHo*=UBw`l-jbM;#aHDLYuPqmA{jFP&|2Z z^d!pFB_8JmccOTb0FRIYLWKSzfkH^Aqp~<+1WXDOF8*gI3nvUOhwpI-M|go{mpMYn z7kva5>&snEV1{rSy;^!V=y1t`*#y zQLG!49Y_>5sg5_pjcu-{E;pQLqRACZ zPjkCA147os_s+=fhCZ?@i7w&M#eLJ~(LYCo3!6e#L;bF!SwN;f`YSmGOq;KCPU+1t z<@cxvz9V0~LWI=h%dk~-8Zenrl5|Src8;!eUORF;ubd?n_zB z>b5Y4~j0kS9o9wIffQ zJO2E^-S?+I>i)N112U#9d8+&vEcOanV%t4H<=Kj?Sak()17Wry;H)_DfX-6K%+_}CWDaCP5A zg?A=ICNx1e_RRE|)qmIYY=3qwWKQ@wwHMDD<24v3IL2k>e#1!Kc%Dw?&=CPQAWgb4 ze`5%g$dd{{!*HxL)viZ)@g_^+_f=<;LIjG|z2F*_E5^3DwUHlfmQEX+vB7^?CULSNBceN-#=PAYAox@vKIc5dHBNL z6Cr-%+!H95m+@ z+;&`*!jvL5QsFGFjf&8ba$x&=XW@M2oQN43J z7U2@Tu5AqF&V$}WERDjNeJJgr%@Ph_TPfJUmM=%WsAU$=9RK>Q*J_u5A^juWK+OFGU4?i}D{Y@ASgKU3}|D z-5>pKvD;Z=-q3eQ$@G^U!q;;&uORW)^z@@7-M$c!9In$Pu0 zJ&thU88e4mRIXTbl%pnTZXTZKGoaWbpSKEoc&ff!Yf}S?$v{8gbli5>5NxjhSwr8aC4yCxz3qD5xgrK z+!OoOh04#7CR)G@fr6V^jRqLB+Kh#k#T#9zZ7BDf$YmWY75j~BXyKxxh~>Jr7*~h; z^5|G>5-6%Fqw-3c4v(QIb7eq|L$OiHe3Nb?!6;@Cu=`;%Kliflupds@$p{l`%63~N zhO^ohYU7D6=}vKy7Quy&W01%V*e&qy;4epqR4$O0W+g+%gh!f}BVIU4 zhPNZ697S>zpJ9fQZcOyZ20cYou({PFjJIb<60yE)k~unq4k}lqPnZwli{{0e16T=x z!Vxqoq9Z1B)EMRYjR~D}zUB`j)DQ|JR6M0bx(Z%|9Yq_luG$mAd4Z1h(&cl%Dv&6e z0KvOa4)GCcG`L_nBXz_!ln9jc_%D?wohs{|8y`xRj^?t>;f?pwaBi8~wa0n!&`*yt zDwavA_sqY3zc-;!LwR(*>(ymc4%>mf>pQFO_$qLwrn%oatJipG`x7Yp=)Q&2SsA_7 zZd;PPO=6#|p1by@Yq=_}q|fIgPi}oclP7i8^CLg={=?zH&YK@`fiXo{WmSM;!V=z{l;^Ia@YK z3_!My@M0iTBdZ?^(lX?5@)_^s(5y-FXp!1F!HH+OHyMGF;!HkISf@nhy%Am{4q9LPs|Xa_5Xl!`y1y(UCNxGPj$5IFju0qX z|3!KxQTWy<9=oA>jmj;oH>#9-Vb?{TfD6rQfW+BONeG z1?>jgc1=DAnIxEVH&w(Dw;PqkQ95GJrHs(cHJKybjPXpr>);6>jfmkp19-1V<*ySc zA&N+Xp~4roau1H~#yr=CfAKBWAz-Ts6Ii00C=!JU5h7stqWRPm=_m(~#dz|Zl*}pF zP*eA^q(ir~of!_CPb~uxMTPO-AKscQMFIUhDjk8G<|);6RCdT)uUFU9B?(6Bbg$$> z|Fa{!X5sIoA795#7fi-i_tj|`n`BtivwNgTZ^X9B_5eZbW~G*`yzO^&pC9i$xp4P= zh>z{kh1aFR#qzIw{o%rW-QnPVSNKW{qY!0c#CbP40xMLIC*)$(2<44ev8n-h(u~L( z4W4eS0;oCyv=(_H=DpM?_2ZiKX49~{J3^qaV5xIo`jP<$QVS6#(L${ifx@2eIT0w` zh?%~1VYC^aY_JqR#av@>`a0dS6!(Nc=^5BDG{DrteMC36ZO&;!ehl?%OaUm?KSoY}d zcOhMGgfAmdsAdD0PZJa3K=l2#RvQl!D9ROIyGb3n^{p>yf>U3w!bqBGZjGI~qR5Rd9kBK?3j*@IhsAsWmu!xxohotYHh{l=Uy$3jZ&+@ zXX{(u!K{}sbN6A=*JNEd+<3Stq6SK?7eB%6Ky>|hflMD;5((iiiNCya7ot*xK=DU= z@o`>2sQBNB=X)aLPIT-mPI;*}SL=isYBe^66*I&(hDugja8AW6ddvz7%rE^$KA(vC`=5@vM-3FQ;@()lLW$oEwvg zDBr@>=g>b} zeXUOSF26;f6tLflKxuV-j;c4qsNukO`ZHs*SQYVYTE z`%4{xp0&x7ZatRjKiD@|d`6(CcG*hDy(3U&$+x*}B91_5`Fm>`Yd-JZuEVmLjuAV0 z`8i*6%u&@(cA!RkZb8zLC1L5~!l-hx;*@o#sLFc_bnnE~-7CBk#Sz>vx!Z{f3!az7sTT1Luw26fnq$iUg{?P3eiQ?NG z?(0#{E`&e{L{vJ`bks={fuhUeSmxRYj%|0HK!LU-oMTxE|E>WFe*Xx8Qj5Zq zv7VGSOAusujp*MMsAr-*kWc c)mBaaKQJ7WcrUiuo&W#<07*qoM6N<$g0`u*djJ3c diff --git a/docs/images/basic_guides/21_ab_test_view_light.png b/docs/images/basic_guides/21_ab_test_view_light.png deleted file mode 100644 index 6fef792e2d5d597f8c6c01d9c7e10703a86c899c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 220427 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≶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 ?kRqHH3jsWz05pa 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%0Dxi?9I~A)oQu%kWl2M#xd~d4l-HgS@U+fk0sk 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
N7-WKyK(Z7l& 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 ROHTj*002ovPDHLkV1mB~F023m diff --git a/docs/images/basic_guides/22_single_model_test_view_light.png b/docs/images/basic_guides/22_single_model_test_view_light.png deleted file mode 100644 index c2b2ca30f386ed2a86b20b27f56e0cd942a41e23..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 223700 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 Date: Fri, 16 Feb 2024 13:17:23 +0100 Subject: [PATCH 012/539] Update - install faker in dev group --- agenta-backend/poetry.lock | 18 ++++++++++++++++-- agenta-backend/pyproject.toml | 1 + 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/agenta-backend/poetry.lock b/agenta-backend/poetry.lock index 290bf8a60b..3235a75be9 100644 --- a/agenta-backend/poetry.lock +++ b/agenta-backend/poetry.lock @@ -1,4 +1,4 @@ -# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. +# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. [[package]] name = "aiodocker" @@ -778,6 +778,20 @@ files = [ [package.extras] test = ["pytest (>=6)"] +[[package]] +name = "faker" +version = "23.2.0" +description = "Faker is a Python package that generates fake data for you." +optional = false +python-versions = ">=3.8" +files = [ + {file = "Faker-23.2.0-py3-none-any.whl", hash = "sha256:2db4b60ef93d247a8fe5518d01ebafa8df3a5dffd40cbb9577b25c45b04a9952"}, + {file = "Faker-23.2.0.tar.gz", hash = "sha256:8631f712e85ae9208352442f74537927a92c439b83125f83e4798e5716764cc9"}, +] + +[package.dependencies] +python-dateutil = ">=2.4" + [[package]] name = "fastapi" version = "0.95.2" @@ -2743,4 +2757,4 @@ multidict = ">=4.0" [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "9ccb77a3fa49d63ec180c5264503e94d923ff666c90812c077c7e4946fdc8378" +content-hash = "17d26248e7e67409796392d64552abd8bfb8f1863b08d67c9fc22fe84293206a" diff --git a/agenta-backend/pyproject.toml b/agenta-backend/pyproject.toml index 227782c285..9bc7744178 100644 --- a/agenta-backend/pyproject.toml +++ b/agenta-backend/pyproject.toml @@ -38,6 +38,7 @@ beanie = "^1.25.0" pytest = "^7.3.1" httpx = "^0.24.0" pytest-asyncio = "^0.21.1" +faker = "^23.2.0" [build-system] requires = ["poetry-core"] From aae8100bc9ac5d656017d1df600fbdc914115530 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 16 Feb 2024 13:19:26 +0100 Subject: [PATCH 013/539] Refactor - update api interfaces for observability --- .../models/api/observability_models.py | 80 ++++++++++++++++++- 1 file changed, 78 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index cc6cb4233f..8e59828876 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -1,5 +1,6 @@ +from enum import Enum from datetime import datetime -from typing import List, Optional, Dict, Any, Union +from typing import List, Optional, Dict, Any from pydantic import BaseModel @@ -27,8 +28,83 @@ class CreateSpan(BaseSpan): pass -class Span(BaseSpan): +class Error(BaseModel): + message: str + stacktrace: Optional[str] = None + + +class Status(str, Enum): + INITIATED = "INITIATED" + COMPLETED = "COMPLETED" + STOPPED = "STOPPED" + CANCELLED = "CANCELLED" + FAILED = "FAILED" + + +class SpanVariant(BaseModel): + variant_id: str + variant_name: str + revision: int + + +class SpanStatus(BaseModel): + value: Optional[Status] + error: Optional[Error] + + +class Span(BaseModel): + id: str + created_at: datetime + variant: SpanVariant + environment: str + status: SpanStatus + metadata: Dict[str, Any] + user_id: str + + +class LLMInputs(BaseModel): + input_name: str + input_value: str + + +class LLMContent(BaseModel): + inputs: List[LLMInputs] + output: str + + +class LLMModelParams(BaseModel): + prompt: Dict[str, Any] + params: Dict[str, Any] + + +class SpanDetail(BaseModel): span_id: str + content: LLMContent + model_params: LLMModelParams + + +class ObservabilityData(BaseModel): + timestamp: datetime + success_count: int + failure_count: int + cost: float + latency: float + total_tokens: int + prompt_tokens: int + completion_tokens: int + environment: str + variant: str + + +class ObservabilityDashboardData(BaseModel): + data: List[ObservabilityData] + total_count: int + failure_rate: float + total_cost: float + avg_cost: float + avg_latency: float + total_tokens: int + avg_tokens: int class CreateFeedback(BaseModel): From 6f7845c00e43bdb1a047c23200131456d6731121 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 16 Feb 2024 13:20:23 +0100 Subject: [PATCH 014/539] Update - created mock functions to generate generation, generation detail and dashboard data --- .../agenta_backend/models/converters.py | 42 +++-- .../agenta_backend/models/db_models.py | 4 +- .../services/event_db_manager.py | 172 +++++++++++++++++- 3 files changed, 196 insertions(+), 22 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index 43021f272e..b95f21edb1 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -10,6 +10,12 @@ from agenta_backend.models.api.user_models import User from agenta_backend.models.api.observability_models import ( Span, + SpanStatus, + SpanVariant, + LLMInputs, + LLMContent, + LLMModelParams, + SpanDetail, Trace, Feedback as FeedbackOutput, ) @@ -93,7 +99,7 @@ AppVariantRevision, ) -from beanie import Link +from beanie import Link, PydanticObjectId as ObjectId logger = logging.getLogger(__name__) @@ -509,26 +515,24 @@ def testset_db_to_pydantic(test_set_db: TestSetDB) -> TestSetOutput: ) -def spans_db_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: +async def spans_to_pydantic(spans: List[ObjectId], trace_db: TraceDB) -> List[Span]: + app_variant_db = await db_manager.fetch_app_variant_by_id(trace_db.variant_id) + spans_db = [ + await SpanDB.find_one(SpanDB.id == ObjectId(span_id)) for span_id in spans + ] return [ Span( - span_id=str(span_db.id), - parent_span_id=str(span_db.parent_span_id), - meta=span_db.meta, - event_name=span_db.event_name, - event_type=span_db.event_type, - start_time=span_db.start_time, - duration=span_db.duration, - status=span_db.status, - end_time=span_db.end_time, - inputs=span_db.inputs, - outputs=span_db.outputs, - prompt_template=span_db.prompt_template, - tokens_input=span_db.tokens_input, - tokens_output=span_db.tokens_output, - token_total=span_db.token_total, - cost=span_db.cost, - tags=span_db.tags, + id=str(span_db.id), + created_at=span_db.created_at, + variant=SpanVariant( + variant_id=str(app_variant_db.id), + variant_name=app_variant_db.variant_name, + revision=app_variant_db.revision, + ), + environment="", + status=SpanStatus(value=trace_db.status.value, error=trace_db.status.error), + metadata=span_db.meta, + user_id=str(trace_db.user.id), ).dict(exclude_unset=True) for span_db in spans_db ] diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 9c086f7662..39751395f2 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -298,7 +298,7 @@ class SpanDB(Document): event_type: Optional[str] start_time: datetime duration: Optional[int] - status: str # initiated, completed, stopped, cancelled + status: Result end_time: datetime = Field(default=datetime.now()) inputs: Optional[List[str]] outputs: Optional[List[str]] @@ -308,6 +308,7 @@ class SpanDB(Document): token_total: Optional[int] cost: Optional[float] tags: Optional[List[str]] + created_at: datetime = Field(default=datetime.now()) class Settings: name = "spans" @@ -332,6 +333,7 @@ class TraceDB(Document): cost: Optional[float] latency: float status: str # initiated, completed, stopped, cancelled, failed + type: str = Field(default="generation") token_consumption: Optional[int] user: Link[UserDB] tags: Optional[List[str]] diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index a30db917f8..95973f0002 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -6,7 +6,9 @@ from agenta_backend.models.api.observability_models import ( Span, + SpanDetail, CreateSpan, + ObservabilityDashboardData, Feedback, CreateFeedback, UpdateFeedback, @@ -15,7 +17,7 @@ UpdateTrace, ) from agenta_backend.models.converters import ( - spans_db_to_pydantic, + spans_to_pydantic, feedback_db_to_pydantic, trace_db_to_pydantic, ) @@ -139,6 +141,172 @@ async def create_trace_span(payload: CreateSpan) -> str: return str(span_db.id) +async def get_trace_spans_by_user_uid(user_uid: str, trace_type: str) -> List[Span]: + """Get the spans for a given trace. + + Args: + user_uid (str): the uid of the user + trace_type (str): the type of the trace + + Returns: + List[Span]: the list of spans for the given user + """ + + user = await db_manager.get_user(user_uid) + + # Get trace + trace = await TraceDB.find_one( + TraceDB.type == trace_type, TraceDB.user.id == user.id, fetch_links=True + ) + + # Get trace spans + spans = await spans_to_pydantic(trace.spans, trace) + return spans + + +async def fetch_mock_generation(user_uid: str) -> List[Span]: + import random, uuid + from faker import Faker + from datetime import datetime, timedelta + + fake = Faker() + list_of_generations = [] + + user = await db_manager.get_user(user_uid) + + def get_random_timestamp(): + past_24_hours = datetime.now() - timedelta(hours=24) + random_time = fake.date_time_between(start_date=past_24_hours) + return random_time.isoformat() + + def generate_mock_generation(): + status_value = random.choice(["SUCCESS", "FAILURE"]) + list_of_generations.append( + Span( + **{ + "id": str(uuid.uuid4()), + "created_at": get_random_timestamp(), + "variant": { + "variant_id": str(uuid.uuid4()), + "variant_name": fake.company(), + "revision": random.randint(1, 20), + }, + "environment": random.choice( + ["development", "staging", "production"] + ), + "status": { + "value": random.choice(["INITIATED", "COMPLETED", "STOPPED"]), + "error": ( + { + "message": fake.sentence(), + "stacktrace": fake.text( + max_nb_chars=200 + ), # Short stacktrace + } + if status_value == "FAILURE" + else None + ), + }, + "metadata": { + "cost": random.uniform(0.01, 2), + "latency": random.uniform(0.1, 10), + "usage": { + "completion_tokens": random.randint(50, 300), + "prompt_tokens": random.randint(20, 100), + "total_tokens": random.randint(100, 500), + }, + }, + "user_id": str(user.id), + } + ) + ) + + for _ in range(10): + generate_mock_generation() + return list_of_generations + + +def fetch_mock_generation_detail(generation_id: str) -> SpanDetail: + import random + from faker import Faker + + fake = Faker() + return SpanDetail( + **{ + "span_id": generation_id, + "content": { + "inputs": [ + {"input_name": fake.word(), "input_value": fake.sentence()} + for _ in range(random.randint(1, 3)) + ], + "output": fake.paragraph(nb_sentences=3), + }, + "model_params": { + "prompt": { + "system": ( + fake.sentence() if random.random() < 0.5 else None + ), # Optional system prompt + "user": fake.sentence(), + "variables": [ + { + "name": fake.word(), + "type": random.choice(["number", "string", "bool"]), + } + for _ in range(random.randint(0, 2)) + ], + }, + "params": { + "temperature": random.uniform(0.2, 0.9), + "top_p": random.uniform(0.5, 1.0), + }, + }, + } + ) + + +def fetch_mock_observability_dashboard() -> ObservabilityDashboardData: + from faker import Faker + import random + from datetime import datetime, timedelta + + fake = Faker() + + list_of_data_points = [] + + def generate_data_point(): + for _ in range(10): + list_of_data_points.append( + { + "timestamp": datetime.now(), + "success_count": random.randint(5, 20), + "failure_count": random.randint(0, 5), + "cost": random.uniform(0.05, 0.5), + "latency": random.uniform(0.2, 1.5), + "total_tokens": random.randint(100, 500), + "prompt_tokens": random.randint(20, 150), + "completion_tokens": random.randint(50, 300), + "environment": random.choice( + ["development", "staging", "production"] + ), + "variant": f"variant_{random.randint(1, 5)}", + } + ) + + generate_data_point() + return ObservabilityDashboardData( + **{ + "data": list_of_data_points, + "total_count": random.randint(50, 200), + "failure_rate": random.uniform(0.0, 0.25), + "total_cost": random.uniform(5, 20), + "avg_cost": random.uniform(0.1, 0.8), + "avg_latency": random.uniform(0.5, 2.0), + "total_tokens": random.randint(1000, 5000), + "avg_tokens": random.randint(100, 500), + } + ) + + async def get_trace_spans(trace_id: str, user_uid: str) -> List[Span]: """Get the spans for a given trace. @@ -157,7 +325,7 @@ async def get_trace_spans(trace_id: str, user_uid: str) -> List[Span]: ) # Get trace spans - spans = spans_db_to_pydantic(trace.spans) + spans = spans_to_pydantic(trace.spans) return spans From 1bf2da5b547f251997cde1066324a89a55183b89 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 16 Feb 2024 13:21:06 +0100 Subject: [PATCH 015/539] Feat - created api endpoints for retrieving generation detail and update generation retrieve --- .../routers/observability_router.py | 100 ++++++++---------- 1 file changed, 46 insertions(+), 54 deletions(-) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 45282038a4..e843220005 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -1,24 +1,15 @@ import os from typing import List -from fastapi import Request -from agenta_backend.utils.common import APIRouter +from fastapi import Request, Query -from agenta_backend.services.event_db_manager import ( - get_variant_traces, - create_app_trace, - create_trace_span, - get_trace_single, - trace_status_update, - get_trace_spans, - add_feedback_to_trace, - get_trace_feedbacks, - get_feedback_detail, - update_trace_feedback, -) +from agenta_backend.utils.common import APIRouter +from agenta_backend.services import event_db_manager from agenta_backend.models.api.observability_models import ( Span, + SpanDetail, CreateSpan, + ObservabilityDashboardData, CreateFeedback, Feedback, UpdateFeedback, @@ -31,38 +22,13 @@ router = APIRouter() -@router.post("/traces/", response_model=str, operation_id="create_trace") -async def create_trace( - payload: CreateTrace, - request: Request, -): - trace = await create_app_trace(payload, request.state.user_id) - return trace - - @router.get( - "/traces/{app_id}/{variant_id}/", - response_model=List[Trace], - operation_id="get_traces", + "/dashboard/", + response_model=ObservabilityDashboardData, + operation_id="observability_dashboard", ) -async def get_traces( - app_id: str, - variant_id: str, - request: Request, -): - traces = await get_variant_traces(app_id, variant_id, request.state.user_id) - return traces - - -@router.get( - "/traces/{trace_id}/", response_model=Trace, operation_id="get_single_trace" -) -async def get_single_trace( - trace_id: str, - request: Request, -): - trace = await get_trace_single(trace_id, request.state.user_id) - return trace +async def get_dashboard_data(request: Request): + return event_db_manager.fetch_mock_observability_dashboard() @router.post("/spans/", response_model=str, operation_id="create_span") @@ -70,19 +36,37 @@ async def create_span( payload: CreateSpan, request: Request, ): - spans_id = await create_trace_span(payload) + spans_id = await event_db_manager.create_trace_span(payload) return spans_id @router.get( - "/spans/{trace_id}/", response_model=List[Span], operation_id="get_spans_of_trace" + "/spans/", response_model=List[Span], operation_id="get_spans_of_generation" ) async def get_spans_of_trace( - trace_id: str, request: Request, + type: str = Query(default="generation"), +): + if type == "generation": + spans = await event_db_manager.fetch_mock_generation(request.state.user_id) + return spans + return [] + + +@router.get( + "/spans/{span_id}/", + response_model=SpanDetail, + operation_id="get_span_of_generation", +) +async def get_span_of_trace( + request: Request, + span_id: str, + type: str = Query(default="generation"), ): - spans = await get_trace_spans(trace_id, request.state.user_id) - return spans + if type == "generation": + spans = event_db_manager.fetch_mock_generation_detail(span_id) + return spans + return [] @router.put( @@ -93,7 +77,9 @@ async def update_trace_status( payload: UpdateTrace, request: Request, ): - trace = await trace_status_update(trace_id, payload, request.state.user_id) + trace = await event_db_manager.trace_status_update( + trace_id, payload, request.state.user_id + ) return trace @@ -105,7 +91,9 @@ async def create_feedback( payload: CreateFeedback, request: Request, ): - feedback = await add_feedback_to_trace(trace_id, payload, request.state.user_id) + feedback = await event_db_manager.add_feedback_to_trace( + trace_id, payload, request.state.user_id + ) return feedback @@ -115,7 +103,9 @@ async def create_feedback( operation_id="get_feedbacks", ) async def get_feedbacks(trace_id: str, request: Request): - feedbacks = await get_trace_feedbacks(trace_id, request.state.user_id) + feedbacks = await event_db_manager.get_trace_feedbacks( + trace_id, request.state.user_id + ) return feedbacks @@ -129,7 +119,9 @@ async def get_feedback( feedback_id: str, request: Request, ): - feedback = await get_feedback_detail(trace_id, feedback_id, request.state.user_id) + feedback = await event_db_manager.get_feedback_detail( + trace_id, feedback_id, request.state.user_id + ) return feedback @@ -144,7 +136,7 @@ async def update_feedback( payload: UpdateFeedback, request: Request, ): - feedback = await update_trace_feedback( + feedback = await event_db_manager.update_trace_feedback( trace_id, feedback_id, payload, request.state.user_id ) return feedback From 4cb8d7a9e3cd68234a4c77d301c05497ec5f235a Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Fri, 16 Feb 2024 16:04:49 +0100 Subject: [PATCH 016/539] added toggle evaluation view section to human evaluation docs --- docs/basic_guides/human_evaluation.mdx | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/docs/basic_guides/human_evaluation.mdx b/docs/basic_guides/human_evaluation.mdx index 8d0c21b7d0..ee7ad6b833 100644 --- a/docs/basic_guides/human_evaluation.mdx +++ b/docs/basic_guides/human_evaluation.mdx @@ -22,8 +22,8 @@ Click on the "Start a new evaluation" button to begin the evaluation process. On - Additional Notes: Add any relevant notes or comments to provide context or details about the evaluation. - Export Results: Use the "Export Results" functionality to save and export the evaluation results. - - + + ## A/B Test A/B tests allow you to compare the performance of two different variants manually. For each data point you can select which variant is better, or if they are equally good or bad. @@ -43,6 +43,16 @@ Click on the "Start a new evaluation" button to begin the evaluation process. On - Additional Notes: Add any relevant notes or comments to provide context or details about the evaluation. - Export Results: Use the "Export Results" functionality to save and export the evaluation results. - - + + +## Toggle Evaluation View (Card/Table mode) +You can also switch to the table view for a different perspective in your evaluation. + +### A/B Test View + + + +### Single Model Test View + + From c4078260a19537ed4e81a46a23a462d1a219b950 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 19 Feb 2024 08:31:56 +0100 Subject: [PATCH 017/539] Update - added missing create_trace endpoint --- .../agenta_backend/routers/observability_router.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index e843220005..6d4547f932 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -31,6 +31,12 @@ async def get_dashboard_data(request: Request): return event_db_manager.fetch_mock_observability_dashboard() +@router.post("/trace/", response_model=str, operation_id="create_trace") +async def create_trace(request: Request, payload: CreateTrace): + trace_id = await event_db_manager.create_app_trace(payload, request.state.user_id) + return trace_id + + @router.post("/spans/", response_model=str, operation_id="create_span") async def create_span( payload: CreateSpan, From 45f3214f0388d10dea1d0883b168cd1b4d66793f Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 19 Feb 2024 08:32:49 +0100 Subject: [PATCH 018/539] Refactor - update base span and trace pydantic models --- .../models/api/observability_models.py | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 8e59828876..99dfbd01ea 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -2,7 +2,7 @@ from datetime import datetime from typing import List, Optional, Dict, Any -from pydantic import BaseModel +from pydantic import BaseModel, Field class BaseSpan(BaseModel): @@ -10,11 +10,10 @@ class BaseSpan(BaseModel): meta: Optional[Dict[str, Any]] event_name: str event_type: Optional[str] - start_time: datetime + start_time: datetime = Field(default=datetime.now()) duration: Optional[int] status: str - end_time: datetime - inputs: Optional[List[str]] + inputs: Optional[Dict[str]] outputs: Optional[List[str]] prompt_template: Optional[str] tokens_input: Optional[int] @@ -129,11 +128,11 @@ class BaseTrace(BaseModel): variant_id: Optional[str] cost: Optional[float] latency: float - status: str + status: str = Field(default=Status.INITIATED) token_consumption: Optional[int] tags: Optional[List[str]] - start_time: datetime - end_time: datetime + start_time: datetime = Field(default=datetime.now()) + end_time: Optional[datetime] class Trace(BaseTrace): From f060b4f59b0f0ef7ff47243967620de14cfbb831 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 19 Feb 2024 08:33:41 +0100 Subject: [PATCH 019/539] Update - modified span db inputs --- agenta-backend/agenta_backend/models/db_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 39751395f2..f79a159b11 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -300,7 +300,7 @@ class SpanDB(Document): duration: Optional[int] status: Result end_time: datetime = Field(default=datetime.now()) - inputs: Optional[List[str]] + inputs: Optional[Dict[str]] outputs: Optional[List[str]] prompt_template: Optional[str] tokens_input: Optional[int] From d62237d842d0e517b2aa4733518de941ace81353 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 19 Feb 2024 09:20:03 +0100 Subject: [PATCH 020/539] Update - generated backend using fern --- agenta-cli/agenta/client/backend/__init__.py | 92 +- agenta-cli/agenta/client/backend/client.py | 6614 +++-------------- .../agenta/client/backend/core/api_error.py | 4 +- .../client/backend/core/datetime_utils.py | 4 +- .../client/backend/core/jsonable_encoder.py | 12 +- .../client/backend/resources/__init__.py | 20 + .../client/backend/resources/apps/__init__.py | 2 + .../client/backend/resources/apps/client.py | 915 +++ .../backend/resources/bases/__init__.py | 2 + .../client/backend/resources/bases/client.py | 121 + .../backend/resources/configs/__init__.py | 2 + .../backend/resources/configs/client.py | 333 + .../backend/resources/containers/__init__.py | 5 + .../backend/resources/containers/client.py | 329 + .../resources/containers/types/__init__.py | 5 + .../types/container_templates_response.py | 2 +- .../resources/environments/__init__.py | 2 + .../backend/resources/environments/client.py | 119 + .../backend/resources/evaluations/__init__.py | 2 + .../backend/resources/evaluations/client.py | 948 +++ .../backend/resources/evaluators/__init__.py | 2 + .../backend/resources/evaluators/client.py | 554 ++ .../resources/observability/__init__.py | 2 + .../backend/resources/observability/client.py | 1007 +++ .../backend/resources/testsets/__init__.py | 2 + .../backend/resources/testsets/client.py | 623 ++ .../backend/resources/variants/__init__.py | 5 + .../backend/resources/variants/client.py | 595 ++ .../resources/variants/types/__init__.py | 5 + ...d_variant_from_base_and_config_response.py | 7 + .../agenta/client/backend/types/__init__.py | 72 +- ...d_variant_from_base_and_config_response.py | 7 - .../client/backend/types/aggregated_result.py | 16 +- .../aggregated_result_evaluator_config.py | 7 + agenta-cli/agenta/client/backend/types/app.py | 12 +- .../types/app_variant_output_extended.py | 15 +- ...iant_output.py => app_variant_response.py} | 17 +- .../backend/types/app_variant_revision.py | 12 +- .../client/backend/types/base_output.py | 12 +- .../backend/types/body_import_testset.py | 12 +- .../agenta/client/backend/types/config_db.py | 12 +- .../client/backend/types/create_app_output.py | 12 +- .../client/backend/types/docker_env_vars.py | 12 +- .../backend/types/environment_output.py | 16 +- .../types/environment_output_extended.py | 37 + .../backend/types/environment_revision.py | 33 + .../types/{delete_evaluation.py => error.py} | 17 +- .../agenta/client/backend/types/evaluation.py | 19 +- .../backend/types/evaluation_scenario.py | 12 +- .../types/evaluation_scenario_input.py | 12 +- .../types/evaluation_scenario_output.py | 16 +- .../types/evaluation_scenario_result.py | 12 +- .../backend/types/evaluation_status_enum.py | 4 + .../client/backend/types/evaluation_type.py | 4 +- .../backend/types/evaluation_webhook.py | 12 +- .../agenta/client/backend/types/evaluator.py | 12 +- .../client/backend/types/evaluator_config.py | 12 +- .../agenta/client/backend/types/feedback.py | 12 +- ...nfig_reponse.py => get_config_response.py} | 16 +- .../backend/types/http_validation_error.py | 12 +- .../client/backend/types/human_evaluation.py | 12 +- .../types/human_evaluation_scenario.py | 16 +- .../types/human_evaluation_scenario_input.py | 12 +- .../types/human_evaluation_scenario_output.py | 12 +- .../types/human_evaluation_scenario_update.py | 37 + .../human_evaluation_scenario_update_score.py | 5 - .../backend/types/human_evaluation_update.py | 29 + .../agenta/client/backend/types/image.py | 13 +- .../client/backend/types/invite_request.py | 13 +- ...ys_output.py => list_api_keys_response.py} | 14 +- .../client/backend/types/llm_content.py | 30 + .../agenta/client/backend/types/llm_inputs.py | 29 + .../client/backend/types/llm_model_params.py | 29 + .../backend/types/llm_run_rate_limit.py | 12 +- .../backend/types/new_human_evaluation.py | 34 + .../client/backend/types/new_testset.py | 12 +- .../types/observability_dashboard_data.py | 36 + .../backend/types/observability_data.py | 37 + .../client/backend/types/organization.py | 12 +- .../backend/types/organization_output.py | 12 +- .../agenta/client/backend/types/permission.py | 141 + .../agenta/client/backend/types/result.py | 14 +- ..._evaluation_scenario_score.py => score.py} | 2 +- .../backend/types/simple_evaluation_output.py | 12 +- .../agenta/client/backend/types/span.py | 38 +- .../client/backend/types/span_detail.py | 32 + .../client/backend/types/span_status.py | 31 + .../client/backend/types/span_variant.py | 30 + .../agenta/client/backend/types/status.py | 37 + .../agenta/client/backend/types/template.py | 12 +- .../backend/types/template_image_info.py | 12 +- .../backend/types/test_set_output_response.py | 12 +- .../backend/types/test_set_simple_response.py | 12 +- .../agenta/client/backend/types/trace.py | 48 - agenta-cli/agenta/client/backend/types/uri.py | 12 +- .../client/backend/types/validation_error.py | 12 +- .../client/backend/types/variant_action.py | 12 +- .../backend/types/variant_action_enum.py | 4 +- .../types/workspace_member_response.py | 30 + .../backend/types/workspace_permission.py | 32 + .../backend/types/workspace_response.py | 36 + .../client/backend/types/workspace_role.py | 41 + .../backend/types/workspace_role_response.py | 30 + 103 files changed, 7651 insertions(+), 6208 deletions(-) create mode 100644 agenta-cli/agenta/client/backend/resources/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/apps/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/apps/client.py create mode 100644 agenta-cli/agenta/client/backend/resources/bases/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/bases/client.py create mode 100644 agenta-cli/agenta/client/backend/resources/configs/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/configs/client.py create mode 100644 agenta-cli/agenta/client/backend/resources/containers/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/containers/client.py create mode 100644 agenta-cli/agenta/client/backend/resources/containers/types/__init__.py rename agenta-cli/agenta/client/backend/{ => resources/containers}/types/container_templates_response.py (79%) create mode 100644 agenta-cli/agenta/client/backend/resources/environments/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/environments/client.py create mode 100644 agenta-cli/agenta/client/backend/resources/evaluations/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/evaluations/client.py create mode 100644 agenta-cli/agenta/client/backend/resources/evaluators/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/evaluators/client.py create mode 100644 agenta-cli/agenta/client/backend/resources/observability/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/observability/client.py create mode 100644 agenta-cli/agenta/client/backend/resources/testsets/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/testsets/client.py create mode 100644 agenta-cli/agenta/client/backend/resources/variants/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/variants/client.py create mode 100644 agenta-cli/agenta/client/backend/resources/variants/types/__init__.py create mode 100644 agenta-cli/agenta/client/backend/resources/variants/types/add_variant_from_base_and_config_response.py delete mode 100644 agenta-cli/agenta/client/backend/types/add_variant_from_base_and_config_response.py create mode 100644 agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py rename agenta-cli/agenta/client/backend/types/{app_variant_output.py => app_variant_response.py} (72%) create mode 100644 agenta-cli/agenta/client/backend/types/environment_output_extended.py create mode 100644 agenta-cli/agenta/client/backend/types/environment_revision.py rename agenta-cli/agenta/client/backend/types/{delete_evaluation.py => error.py} (63%) rename agenta-cli/agenta/client/backend/types/{get_config_reponse.py => get_config_response.py} (67%) create mode 100644 agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py delete mode 100644 agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update_score.py create mode 100644 agenta-cli/agenta/client/backend/types/human_evaluation_update.py rename agenta-cli/agenta/client/backend/types/{list_api_keys_output.py => list_api_keys_response.py} (69%) create mode 100644 agenta-cli/agenta/client/backend/types/llm_content.py create mode 100644 agenta-cli/agenta/client/backend/types/llm_inputs.py create mode 100644 agenta-cli/agenta/client/backend/types/llm_model_params.py create mode 100644 agenta-cli/agenta/client/backend/types/new_human_evaluation.py create mode 100644 agenta-cli/agenta/client/backend/types/observability_dashboard_data.py create mode 100644 agenta-cli/agenta/client/backend/types/observability_data.py create mode 100644 agenta-cli/agenta/client/backend/types/permission.py rename agenta-cli/agenta/client/backend/types/{human_evaluation_scenario_score.py => score.py} (59%) create mode 100644 agenta-cli/agenta/client/backend/types/span_detail.py create mode 100644 agenta-cli/agenta/client/backend/types/span_status.py create mode 100644 agenta-cli/agenta/client/backend/types/span_variant.py create mode 100644 agenta-cli/agenta/client/backend/types/status.py delete mode 100644 agenta-cli/agenta/client/backend/types/trace.py create mode 100644 agenta-cli/agenta/client/backend/types/workspace_member_response.py create mode 100644 agenta-cli/agenta/client/backend/types/workspace_permission.py create mode 100644 agenta-cli/agenta/client/backend/types/workspace_response.py create mode 100644 agenta-cli/agenta/client/backend/types/workspace_role.py create mode 100644 agenta-cli/agenta/client/backend/types/workspace_role_response.py diff --git a/agenta-cli/agenta/client/backend/__init__.py b/agenta-cli/agenta/client/backend/__init__.py index e0e685f5b0..8c8558e55f 100644 --- a/agenta-cli/agenta/client/backend/__init__.py +++ b/agenta-cli/agenta/client/backend/__init__.py @@ -1,20 +1,21 @@ # This file was auto-generated by Fern from our API Definition. from .types import ( - AddVariantFromBaseAndConfigResponse, AggregatedResult, + AggregatedResultEvaluatorConfig, App, - AppVariantOutput, AppVariantOutputExtended, + AppVariantResponse, AppVariantRevision, BaseOutput, BodyImportTestset, ConfigDb, - ContainerTemplatesResponse, CreateAppOutput, - DeleteEvaluation, DockerEnvVars, EnvironmentOutput, + EnvironmentOutputExtended, + EnvironmentRevision, + Error, Evaluation, EvaluationScenario, EvaluationScenarioInput, @@ -26,52 +27,85 @@ Evaluator, EvaluatorConfig, Feedback, - GetConfigReponse, + GetConfigResponse, HttpValidationError, HumanEvaluation, HumanEvaluationScenario, HumanEvaluationScenarioInput, HumanEvaluationScenarioOutput, - HumanEvaluationScenarioScore, - HumanEvaluationScenarioUpdateScore, + HumanEvaluationScenarioUpdate, + HumanEvaluationUpdate, Image, InviteRequest, - ListApiKeysOutput, + ListApiKeysResponse, + LlmContent, + LlmInputs, + LlmModelParams, LlmRunRateLimit, + NewHumanEvaluation, NewTestset, + ObservabilityDashboardData, + ObservabilityData, Organization, OrganizationOutput, + Permission, Result, + Score, SimpleEvaluationOutput, Span, + SpanDetail, + SpanStatus, + SpanVariant, + Status, Template, TemplateImageInfo, TestSetOutputResponse, TestSetSimpleResponse, - Trace, Uri, ValidationError, ValidationErrorLocItem, VariantAction, VariantActionEnum, + WorkspaceMemberResponse, + WorkspacePermission, + WorkspaceResponse, + WorkspaceRole, + WorkspaceRoleResponse, ) from .errors import UnprocessableEntityError +from .resources import ( + AddVariantFromBaseAndConfigResponse, + ContainerTemplatesResponse, + apps, + bases, + configs, + containers, + environments, + evaluations, + evaluators, + observability, + testsets, + variants, +) __all__ = [ "AddVariantFromBaseAndConfigResponse", "AggregatedResult", + "AggregatedResultEvaluatorConfig", "App", - "AppVariantOutput", "AppVariantOutputExtended", + "AppVariantResponse", "AppVariantRevision", "BaseOutput", "BodyImportTestset", "ConfigDb", "ContainerTemplatesResponse", "CreateAppOutput", - "DeleteEvaluation", "DockerEnvVars", "EnvironmentOutput", + "EnvironmentOutputExtended", + "EnvironmentRevision", + "Error", "Evaluation", "EvaluationScenario", "EvaluationScenarioInput", @@ -83,33 +117,59 @@ "Evaluator", "EvaluatorConfig", "Feedback", - "GetConfigReponse", + "GetConfigResponse", "HttpValidationError", "HumanEvaluation", "HumanEvaluationScenario", "HumanEvaluationScenarioInput", "HumanEvaluationScenarioOutput", - "HumanEvaluationScenarioScore", - "HumanEvaluationScenarioUpdateScore", + "HumanEvaluationScenarioUpdate", + "HumanEvaluationUpdate", "Image", "InviteRequest", - "ListApiKeysOutput", + "ListApiKeysResponse", + "LlmContent", + "LlmInputs", + "LlmModelParams", "LlmRunRateLimit", + "NewHumanEvaluation", "NewTestset", + "ObservabilityDashboardData", + "ObservabilityData", "Organization", "OrganizationOutput", + "Permission", "Result", + "Score", "SimpleEvaluationOutput", "Span", + "SpanDetail", + "SpanStatus", + "SpanVariant", + "Status", "Template", "TemplateImageInfo", "TestSetOutputResponse", "TestSetSimpleResponse", - "Trace", "UnprocessableEntityError", "Uri", "ValidationError", "ValidationErrorLocItem", "VariantAction", "VariantActionEnum", + "WorkspaceMemberResponse", + "WorkspacePermission", + "WorkspaceResponse", + "WorkspaceRole", + "WorkspaceRoleResponse", + "apps", + "bases", + "configs", + "containers", + "environments", + "evaluations", + "evaluators", + "observability", + "testsets", + "variants", ] diff --git a/agenta-cli/agenta/client/backend/client.py b/agenta-cli/agenta/client/backend/client.py index 41c5b20e50..b629942165 100644 --- a/agenta-cli/agenta/client/backend/client.py +++ b/agenta-cli/agenta/client/backend/client.py @@ -12,47 +12,25 @@ from .core.jsonable_encoder import jsonable_encoder from .core.remove_none_from_dict import remove_none_from_dict from .errors.unprocessable_entity_error import UnprocessableEntityError -from .types.add_variant_from_base_and_config_response import ( - AddVariantFromBaseAndConfigResponse, -) -from .types.app import App -from .types.app_variant_output import AppVariantOutput -from .types.app_variant_output_extended import AppVariantOutputExtended -from .types.base_output import BaseOutput -from .types.container_templates_response import ContainerTemplatesResponse -from .types.create_app_output import CreateAppOutput -from .types.delete_evaluation import DeleteEvaluation -from .types.docker_env_vars import DockerEnvVars -from .types.environment_output import EnvironmentOutput -from .types.evaluation import Evaluation -from .types.evaluation_status_enum import EvaluationStatusEnum -from .types.evaluation_type import EvaluationType -from .types.evaluation_webhook import EvaluationWebhook -from .types.evaluator import Evaluator -from .types.evaluator_config import EvaluatorConfig -from .types.feedback import Feedback -from .types.get_config_reponse import GetConfigReponse +from .resources.apps.client import AppsClient, AsyncAppsClient +from .resources.bases.client import AsyncBasesClient, BasesClient +from .resources.configs.client import AsyncConfigsClient, ConfigsClient +from .resources.containers.client import AsyncContainersClient, ContainersClient +from .resources.environments.client import AsyncEnvironmentsClient, EnvironmentsClient +from .resources.evaluations.client import AsyncEvaluationsClient, EvaluationsClient +from .resources.evaluators.client import AsyncEvaluatorsClient, EvaluatorsClient +from .resources.observability.client import AsyncObservabilityClient, ObservabilityClient +from .resources.testsets.client import AsyncTestsetsClient, TestsetsClient +from .resources.variants.client import AsyncVariantsClient, VariantsClient from .types.http_validation_error import HttpValidationError -from .types.human_evaluation import HumanEvaluation -from .types.human_evaluation_scenario import HumanEvaluationScenario -from .types.human_evaluation_scenario_input import HumanEvaluationScenarioInput -from .types.human_evaluation_scenario_output import HumanEvaluationScenarioOutput -from .types.human_evaluation_scenario_update_score import ( - HumanEvaluationScenarioUpdateScore, -) -from .types.image import Image from .types.invite_request import InviteRequest -from .types.list_api_keys_output import ListApiKeysOutput -from .types.new_testset import NewTestset +from .types.list_api_keys_response import ListApiKeysResponse from .types.organization import Organization from .types.organization_output import OrganizationOutput -from .types.simple_evaluation_output import SimpleEvaluationOutput -from .types.span import Span -from .types.test_set_output_response import TestSetOutputResponse -from .types.test_set_simple_response import TestSetSimpleResponse -from .types.trace import Trace -from .types.uri import Uri -from .types.variant_action import VariantAction +from .types.permission import Permission +from .types.workspace_response import WorkspaceResponse +from .types.workspace_role import WorkspaceRole +from .types.workspace_role_response import WorkspaceRoleResponse try: import pydantic.v1 as pydantic # type: ignore @@ -63,17 +41,32 @@ OMIT = typing.cast(typing.Any, ...) -class AgentaApi: +class AybruhmApi: def __init__( - self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 + self, + *, + base_url: str, + api_key: str, + timeout: typing.Optional[float] = 60, + httpx_client: typing.Optional[httpx.Client] = None, ): self._client_wrapper = SyncClientWrapper( base_url=base_url, api_key=api_key, - httpx_client=httpx.Client(timeout=timeout), + httpx_client=httpx.Client(timeout=timeout) if httpx_client is None else httpx_client, ) + self.apps = AppsClient(client_wrapper=self._client_wrapper) + self.variants = VariantsClient(client_wrapper=self._client_wrapper) + self.evaluations = EvaluationsClient(client_wrapper=self._client_wrapper) + self.evaluators = EvaluatorsClient(client_wrapper=self._client_wrapper) + self.testsets = TestsetsClient(client_wrapper=self._client_wrapper) + self.containers = ContainersClient(client_wrapper=self._client_wrapper) + self.environments = EnvironmentsClient(client_wrapper=self._client_wrapper) + self.observability = ObservabilityClient(client_wrapper=self._client_wrapper) + self.bases = BasesClient(client_wrapper=self._client_wrapper) + self.configs = ConfigsClient(client_wrapper=self._client_wrapper) - def list_api_keys(self) -> typing.List[ListApiKeysOutput]: + def list_api_keys(self) -> typing.List[ListApiKeysResponse]: """ List all API keys associated with the authenticated user. @@ -81,12 +74,15 @@ def list_api_keys(self) -> typing.List[ListApiKeysOutput]: request (Request): The incoming request object. Returns: - List[ListAPIKeysOutput]: A list of API Keys associated with the user. + List[ListAPIKeysResponse]: A list of API Keys associated with the user. --- - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) client.list_api_keys() """ _response = self._client_wrapper.httpx_client.request( @@ -96,14 +92,14 @@ def list_api_keys(self) -> typing.List[ListApiKeysOutput]: timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[ListApiKeysOutput], _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.List[ListApiKeysResponse], _response.json()) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_api_key(self) -> str: + def create_api_key(self, *, workspace_id: str) -> str: """ Creates an API key for a user. @@ -113,20 +109,30 @@ def create_api_key(self) -> str: Returns: str: The created API key. + Parameters: + - workspace_id: str. --- - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_api_key() + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.create_api_key( + workspace_id="workspace_id", + ) """ _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "keys"), + params=remove_none_from_dict({"workspace_id": workspace_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: return pydantic.parse_obj_as(str, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: _response_json = _response.json() except JSONDecodeError: @@ -150,16 +156,19 @@ def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: Parameters: - key_prefix: str. --- - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_api_key(key_prefix="string") + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.delete_api_key( + key_prefix="key_prefix", + ) """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -182,16 +191,19 @@ def validate_api_key(self, key_prefix: str) -> bool: Parameters: - key_prefix: str. --- - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.validate_api_key(key_prefix="string") + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.validate_api_key( + key_prefix="key_prefix", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -205,6 +217,118 @@ def validate_api_key(self, key_prefix: str) -> bool: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + def list_organizations(self) -> typing.List[Organization]: + """ + Returns a list of organizations associated with the user's session. + + Args: + stoken_session (SessionContainer): The user's session token. + + Returns: + list[Organization]: A list of organizations associated with the user's session. + + Raises: + HTTPException: If there is an error retrieving the organizations from the database. + + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.list_organizations() + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[Organization], _response.json()) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def create_organization( + self, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, + owner: typing.Optional[str] = OMIT, + ) -> typing.Any: + """ + Parameters: + - name: str. + + - description: typing.Optional[str]. + + - type: typing.Optional[str]. + + - owner: typing.Optional[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.create_organization( + name="name", + ) + """ + _request: typing.Dict[str, typing.Any] = {"name": name} + if description is not OMIT: + _request["description"] = description + if type is not OMIT: + _request["type"] = type + if owner is not OMIT: + _request["owner"] = owner + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_own_org(self) -> OrganizationOutput: + """ + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.get_own_org() + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(OrganizationOutput, _response.json()) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + def fetch_organization_details(self, org_id: str) -> typing.Any: """ Get an organization's details. @@ -219,16 +343,19 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: Parameters: - org_id: str. --- - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_organization_details(org_id="string") + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.fetch_organization_details( + org_id="org_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations_ee/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -242,36 +369,91 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def invite_to_org(self, org_id: str, *, request: InviteRequest) -> typing.Any: + def update_organization( + self, + org_id: str, + *, + name: typing.Optional[str] = OMIT, + description: typing.Optional[str] = OMIT, + updated_at: typing.Optional[dt.datetime] = OMIT, + ) -> typing.Any: """ - Invite a user to an Organization. + Parameters: + - org_id: str. - Raises: - HTTPException: _description_; status_code: 500 - HTTPException: This Organization doesn't exist; status_code: 400 - HTTPException: Failed to invite user to organization; status_code: 403 - HTTPException: You cannot invite yourself to your own organization; status_code: 400 - HTTPException: You do not have permission to access this organization; status_code: 500 + - name: typing.Optional[str]. - Returns: - JSONResponse: Invited user to organization; status_code: 200 + - description: typing.Optional[str]. + + - updated_at: typing.Optional[dt.datetime]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.update_organization( + org_id="org_id", + ) + """ + _request: typing.Dict[str, typing.Any] = {} + if name is not OMIT: + _request["name"] = name + if description is not OMIT: + _request["description"] = description + if updated_at is not OMIT: + _request["updated_at"] = updated_at + _response = self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + def invite_user_to_workspace( + self, org_id: str, workspace_id: str, *, request: typing.List[InviteRequest] + ) -> typing.Any: + """ Parameters: - org_id: str. - - request: InviteRequest. + - workspace_id: str. + + - request: typing.List[InviteRequest]. --- - from agenta import InviteRequest - from agenta.client import AgentaApi + from aybruhm import InviteRequest + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.invite_to_org(org_id="string", request=InviteRequest(email="string")) + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.invite_user_to_workspace( + org_id="org_id", + workspace_id="workspace_id", + request=[ + InviteRequest( + email="email", + roles=["roles"], + ) + ], + ) """ _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations_ee/{org_id}/invite", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -287,7 +469,7 @@ def invite_to_org(self, org_id: str, *, request: InviteRequest) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def resend_invitation(self, org_id: str, *, request: InviteRequest) -> typing.Any: + def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -302,21 +484,29 @@ def resend_invitation(self, org_id: str, *, request: InviteRequest) -> typing.An Parameters: - org_id: str. - - request: InviteRequest. + - workspace_id: str. + + - email: str. --- - from agenta import InviteRequest - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.resend_invitation(org_id="string", request=InviteRequest(email="string")) + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.resend_invitation( + org_id="org_id", + workspace_id="workspace_id", + email="email", + ) """ _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", - f"organizations_ee/{org_id}/invite/resend", + f"organizations/{org_id}/workspaces/{workspace_id}/invite/resend", ), - json=jsonable_encoder(request), + json=jsonable_encoder({"email": email}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -330,9 +520,9 @@ def resend_invitation(self, org_id: str, *, request: InviteRequest) -> typing.An raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def add_user_to_org(self, org_id: str, *, token: str) -> typing.Any: + def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: """ - Invite a user to an Organization. + Accept an invitation to a workspace. Raises: HTTPException: _description_; status_code: 500 @@ -340,23 +530,32 @@ def add_user_to_org(self, org_id: str, *, token: str) -> typing.Any: HTTPException: You already belong to this organization; status_code: 400 Returns: - JSONResponse: Added user to organization; status_code: 200 + JSONResponse: Accepted invitation to workspace; status_code: 200 Parameters: - org_id: str. + - workspace_id: str. + - token: str. --- - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.add_user_to_org(org_id="string", token="string") + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.accept_invitation( + org_id="org_id", + workspace_id="workspace_id", + token="token", + ) """ _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", - f"organizations_ee/{org_id}/accept", + f"organizations/{org_id}/workspaces/{workspace_id}/invite/accept", ), json=jsonable_encoder({"token": token}), headers=self._client_wrapper.get_headers(), @@ -372,28 +571,44 @@ def add_user_to_org(self, org_id: str, *, token: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_organization(self, *, request: Organization) -> typing.Any: + def create_workspace( + self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT + ) -> WorkspaceResponse: """ Parameters: - - request: Organization. + - org_id: str. + + - name: str. + + - description: typing.Optional[str]. + + - type: typing.Optional[str]. --- - from agenta import Organization - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_organization(request=Organization(name="string", owner="string")) + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.create_workspace( + org_id="org_id", + name="name", + ) """ + _request: typing.Dict[str, typing.Any] = {"name": name} + if description is not OMIT: + _request["description"] = description + if type is not OMIT: + _request["type"] = type _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations_ee/create" - ), - json=jsonable_encoder(request), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + return pydantic.parse_obj_as(WorkspaceResponse, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -402,43 +617,56 @@ def create_organization(self, *, request: Organization) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_organization( + def update_workspace( self, org_id: str, + workspace_id: str, *, name: typing.Optional[str] = OMIT, description: typing.Optional[str] = OMIT, - ) -> typing.Any: + updated_at: typing.Optional[dt.datetime] = OMIT, + ) -> WorkspaceResponse: """ Parameters: - org_id: str. + - workspace_id: str. + - name: typing.Optional[str]. - description: typing.Optional[str]. + + - updated_at: typing.Optional[dt.datetime]. --- - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_organization(org_id="string") + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.update_workspace( + org_id="org_id", + workspace_id="workspace_id", + ) """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: _request["name"] = name if description is not OMIT: _request["description"] = description + if updated_at is not OMIT: + _request["updated_at"] = updated_at _response = self._client_wrapper.httpx_client.request( - "POST", + "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations_ee/{org_id}/update", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + return pydantic.parse_obj_as(WorkspaceResponse, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -447,77 +675,127 @@ def update_organization( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def health_check(self) -> typing.Any: + def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ - from agenta.client import AgentaApi + Get all workspace roles. - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.health_check() + Returns a list of all available workspace roles. + + Returns: + List[WorkspaceRoleResponse]: A list of WorkspaceRole objects representing the available workspace roles. + + Raises: + HTTPException: If an error occurs while retrieving the workspace roles. + + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.get_all_workspace_roles() """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "health"), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.List[WorkspaceRoleResponse], _response.json()) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def user_profile(self) -> typing.Any: + def get_all_workspace_permissions(self) -> typing.List[Permission]: """ - from agenta.client import AgentaApi + Get all workspace permissions. - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.user_profile() + Returns a list of all available workspace permissions. + + Returns: + List[Permission]: A list of Permission objects representing the available workspace permissions. + + Raises: + HTTPException: If there is an error retrieving the workspace permissions. + + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.get_all_workspace_permissions() """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "profile"), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.List[Permission], _response.json()) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def list_app_variants(self, app_id: str) -> typing.List[AppVariantOutput]: + def assign_role_to_user( + self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT + ) -> bool: """ - Retrieve a list of app variants for a given app ID. + Assigns a role to a user in a workspace. Args: - app_id (str): The ID of the app to retrieve variants for. - stoken_session (SessionContainer, optional): The session container to verify the user's session. Defaults to Depends(verify_session()). + payload (UserRole): The payload containing the organization id, user email, and role to assign. + workspace_id (str): The ID of the workspace. + request (Request): The FastAPI request object. Returns: - List[AppVariantOutput]: A list of app variants for the given app ID. + bool: True if the role was successfully assigned, False otherwise. + + Raises: + HTTPException: If the user does not have permission to perform this action. + HTTPException: If there is an error assigning the role to the user. Parameters: - - app_id: str. + - workspace_id: str. + + - email: str. + + - organization_id: str. + + - role: typing.Optional[WorkspaceRole]. --- - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.list_app_variants(app_id="string") + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.assign_role_to_user( + workspace_id="workspace_id", + email="email", + organization_id="organization_id", + ) """ + _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} + if role is not OMIT: + _request["role"] = role.value _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" - ), + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[AppVariantOutput], _response.json()) # type: ignore + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -526,45 +804,55 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantOutput]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def list_apps( - self, - *, - app_name: typing.Optional[str] = None, - org_id: typing.Optional[str] = None, - ) -> typing.List[App]: + def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: """ - Retrieve a list of apps filtered by app_name and org_id. + Delete a role assignment from a user in a workspace. Args: - app_name (Optional[str]): The name of the app to filter by. - org_id (Optional[str]): The ID of the organization to filter by. - stoken_session (SessionContainer): The session container. + workspace_id (str): The ID of the workspace. + email (str): The email of the user to remove the role from. + org_id (str): The ID of the organization. + role (str): The role to remove from the user. + request (Request): The FastAPI request object. Returns: - List[App]: A list of apps filtered by app_name and org_id. + bool: True if the role assignment was successfully deleted. Raises: - HTTPException: If there was an error retrieving the list of apps. + HTTPException: If there is an error in the request or the user does not have permission to perform the action. + HTTPException: If there is an error in updating the user's roles. Parameters: - - app_name: typing.Optional[str]. + - workspace_id: str. + + - email: str. - - org_id: typing.Optional[str]. + - org_id: str. + + - role: str. --- - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.list_apps() + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.unassign_role_from_user( + workspace_id="workspace_id", + email="email", + org_id="org_id", + role="role", + ) """ _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict({"app_name": app_name, "org_id": org_id}), + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[App], _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -573,44 +861,53 @@ def list_apps( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_app( - self, *, app_name: str, organization_id: typing.Optional[str] = OMIT - ) -> CreateAppOutput: + def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: """ - Create a new app for a user or organization. + Remove a user from a workspace. - Args: - payload (CreateApp): The payload containing the app name and organization ID (optional). - stoken_session (SessionContainer): The session container containing the user's session token. + Parameters: + + - payload (UserRole): The payload containing the user email and organization ID. + - workspace_id (str): The ID of the workspace. + - request (Request): The FastAPI request object. Returns: - CreateAppOutput: The output containing the newly created app's ID and name. + + - WorkspaceResponse: The updated workspace. Raises: - HTTPException: If there is an error creating the app or the user does not have permission to access the app. + + - HTTPException: If the user does not have permission to perform this action. + - HTTPException: If there is an error during the removal process. Parameters: - - app_name: str. + - workspace_id: str. - - organization_id: typing.Optional[str]. + - org_id: str. + + - email: str. --- - from agenta.client import AgentaApi + from aybruhm.client import AybruhmApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_app(app_name="string") + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.remove_user_from_workspace( + workspace_id="workspace_id", + org_id="org_id", + email="email", + ) """ - _request: typing.Dict[str, typing.Any] = {"app_name": app_name} - if organization_id is not OMIT: - _request["organization_id"] = organization_id _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - json=jsonable_encoder(_request), + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), + params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(CreateAppOutput, _response.json()) # type: ignore + return pydantic.parse_obj_as(WorkspaceResponse, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -619,4959 +916,145 @@ def create_app( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def add_variant_from_image( - self, - app_id: str, - *, - variant_name: str, - docker_id: str, - tags: str, - base_name: typing.Optional[str] = OMIT, - config_name: typing.Optional[str] = OMIT, - ) -> typing.Any: + def health_check(self) -> typing.Any: """ - Add a new variant to an app based on a Docker image. - - Args: - app_id (str): The ID of the app to add the variant to. - payload (AddVariantFromImagePayload): The payload containing information about the variant to add. - stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). - - Raises: - HTTPException: If the feature flag is set to "demo" or if the image does not have a tag starting with the registry name (agenta-server) or if the image is not found or if the user does not have access to the app. - - Returns: - dict: The newly added variant. - - Parameters: - - app_id: str. - - - variant_name: str. + from aybruhm.client import AybruhmApi - - docker_id: str. - - - tags: str. - - - base_name: typing.Optional[str]. - - - config_name: typing.Optional[str]. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.add_variant_from_image(app_id="string", variant_name="string", docker_id="string", tags="string") - """ - _request: typing.Dict[str, typing.Any] = { - "variant_name": variant_name, - "docker_id": docker_id, - "tags": tags, - } - if base_name is not OMIT: - _request["base_name"] = base_name - if config_name is not OMIT: - _request["config_name"] = config_name - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/variant/from-image", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def remove_app(self, app_id: str) -> typing.Any: - """ - Remove app, all its variant, containers and images - - Arguments: - app -- App to remove - - Parameters: - - app_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.remove_app(app_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def create_app_and_variant_from_template( - self, - *, - app_name: str, - template_id: str, - env_vars: typing.Dict[str, str], - organization_id: typing.Optional[str] = OMIT, - ) -> AppVariantOutput: - """ - Create an app and variant from a template. - - Args: - payload (CreateAppVariant): The payload containing the app and variant information. - stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). - - Raises: - HTTPException: If the user has reached the app limit or if an app with the same name already exists. - - Returns: - AppVariantOutput: The output of the created app variant. - - Parameters: - - app_name: str. - - - template_id: str. - - - env_vars: typing.Dict[str, str]. - - - organization_id: typing.Optional[str]. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_app_and_variant_from_template(app_name="string", template_id="string", env_vars={"string": "string"}) - """ - _request: typing.Dict[str, typing.Any] = { - "app_name": app_name, - "template_id": template_id, - "env_vars": env_vars, - } - if organization_id is not OMIT: - _request["organization_id"] = organization_id - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "apps/app_and_variant_from_template", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(AppVariantOutput, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: - """ - Retrieve a list of environments for a given app ID. - - Args: - app_id (str): The ID of the app to retrieve environments for. - stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). - - Returns: - List[EnvironmentOutput]: A list of environment objects. - - Parameters: - - app_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.list_environments(app_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[EnvironmentOutput], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def add_variant_from_base_and_config( - self, - *, - base_id: str, - new_variant_name: str, - new_config_name: str, - parameters: typing.Dict[str, typing.Any], - ) -> AddVariantFromBaseAndConfigResponse: - """ - Add a new variant based on an existing one. - Same as POST /config - - Args: - payload (AddVariantFromBasePayload): Payload containing base variant ID, new variant name, and parameters. - stoken_session (SessionContainer, optional): Session container. Defaults to result of verify_session(). - - Raises: - HTTPException: Raised if the variant could not be added or accessed. - - Returns: - Union[AppVariantOutput, Any]: New variant details or exception. - - Parameters: - - base_id: str. - - - new_variant_name: str. - - - new_config_name: str. - - - parameters: typing.Dict[str, typing.Any]. - """ - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "variants/from-base" - ), - json=jsonable_encoder( - { - "base_id": base_id, - "new_variant_name": new_variant_name, - "new_config_name": new_config_name, - "parameters": parameters, - } - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(AddVariantFromBaseAndConfigResponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_variant(self, variant_id: str) -> AppVariantOutputExtended: - """ - Parameters: - - variant_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_variant(variant_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(AppVariantOutputExtended, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def start_variant( - self, - variant_id: str, - *, - action: VariantAction, - env_vars: typing.Optional[DockerEnvVars] = OMIT, - ) -> Uri: - """ - Start a variant of an app. - - Args: - variant_id (str): The ID of the variant to start. - action (VariantAction): The action to perform on the variant (start). - env_vars (Optional[DockerEnvVars], optional): The environment variables to inject to the Docker container. Defaults to None. - stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). - - Returns: - URI: The URL of the started variant. - - Raises: - HTTPException: If the app container cannot be started. - - Parameters: - - variant_id: str. - - - action: VariantAction. - - - env_vars: typing.Optional[DockerEnvVars]. - --- - from agenta import DockerEnvVars, VariantAction, VariantActionEnum - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.start_variant( - variant_id="string", - action=VariantAction(action=VariantActionEnum.START), - env_vars=DockerEnvVars(env_vars={"string": "string"}), - ) - """ - _request: typing.Dict[str, typing.Any] = {"action": action} - if env_vars is not OMIT: - _request["env_vars"] = env_vars - _response = self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Uri, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def remove_variant(self, variant_id: str) -> typing.Any: - """ - Remove a variant from the server. - In the case it's the last variant using the image, stop the container and remove the image. - - Arguments: - app_variant -- AppVariant to remove - - Raises: - HTTPException: If there is a problem removing the app variant - - Parameters: - - variant_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.remove_variant(variant_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def update_variant_parameters( - self, variant_id: str, *, parameters: typing.Dict[str, typing.Any] - ) -> typing.Any: - """ - Updates the parameters for an app variant. - - Args: - variant_id (str): The ID of the app variant to update. - payload (UpdateVariantParameterPayload): The payload containing the updated parameters. - stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). - - Raises: - HTTPException: If there is an error while trying to update the app variant. - - Returns: - JSONResponse: A JSON response containing the updated app variant parameters. - - Parameters: - - variant_id: str. - - - parameters: typing.Dict[str, typing.Any]. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_variant_parameters(variant_id="string", parameters={"string": {"unknown": "string", "type": "unknown"}}) - """ - _response = self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/parameters", - ), - json=jsonable_encoder({"parameters": parameters}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any: - """ - Updates the image used in an app variant. - - Args: - variant_id (str): The ID of the app variant to update. - image (Image): The image information to update. - - Raises: - HTTPException: If an error occurs while trying to update the app variant. - - Returns: - JSONResponse: A JSON response indicating whether the update was successful or not. - - Parameters: - - variant_id: str. - - - request: Image. - --- - from agenta import Image - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_variant_image(variant_id="string", request=Image(docker_id="string", tags="string")) - """ - _response = self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/image", - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def fetch_list_evaluations_evaluations_get( - self, *, app_id: str - ) -> typing.List[Evaluation]: - """ - Fetches a list of evaluations, optionally filtered by an app ID. - - Args: - app_id (Optional[str]): An optional app ID to filter the evaluations. - - Returns: - List[Evaluation]: A list of evaluations. - - Parameters: - - app_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_list_evaluations_evaluations_get(app_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), - params=remove_none_from_dict({"app_id": app_id}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Evaluation], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def create_evaluation( - self, - *, - app_id: str, - variant_ids: typing.List[str], - evaluation_type: EvaluationType, - inputs: typing.List[str], - testset_id: str, - status: str, - ) -> SimpleEvaluationOutput: - """ - Creates a new comparison table document - Raises: - HTTPException: _description_ - Returns: - _description_ - - Parameters: - - app_id: str. - - - variant_ids: typing.List[str]. - - - evaluation_type: EvaluationType. - - - inputs: typing.List[str]. - - - testset_id: str. - - - status: str. - --- - from agenta import EvaluationType - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_evaluation( - app_id="string", - variant_ids=[], - evaluation_type=EvaluationType.HUMAN_A_B_TESTING, - inputs=[], - testset_id="string", - status="string", - ) - """ - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "human-evaluations" - ), - json=jsonable_encoder( - { - "app_id": app_id, - "variant_ids": variant_ids, - "evaluation_type": evaluation_type, - "inputs": inputs, - "testset_id": testset_id, - "status": status, - } - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(SimpleEvaluationOutput, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def delete_evaluations(self, *, request: DeleteEvaluation) -> typing.List[str]: - """ - Delete specific comparison tables based on their unique IDs. - - Args: - delete_evaluations (List[str]): The unique identifiers of the comparison tables to delete. - - Returns: - A list of the deleted comparison tables' IDs. - - Parameters: - - request: DeleteEvaluation. - --- - from agenta import DeleteEvaluation - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_evaluations(request=DeleteEvaluation(evaluations_ids=[])) - """ - _response = self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: - """ - Fetches the status of the evaluation. - - Args: - evaluation_id (str): the evaluation id - request (Request): the request object - - Returns: - (str): the evaluation status - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_evaluation_status(evaluation_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/status", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: - """ - Fetches the results of the evaluation - - Args: - evaluation_id (str): the evaluation id - request (Request): the request object - - Returns: - _type_: _description_ - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_evaluation_results(evaluation_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/results", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def fetch_evaluation_scenarios( - self, evaluation_id: str - ) -> typing.List[HumanEvaluationScenario]: - """ - Fetches evaluation scenarios for a given evaluation ID. - - Arguments: - evaluation_id (str): The ID of the evaluation for which to fetch scenarios. - - Raises: - HTTPException: If the evaluation is not found or access is denied. - - Returns: - List[EvaluationScenario]: A list of evaluation scenarios. - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_evaluation_scenarios(evaluation_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/{evaluation_id}/evaluation_scenarios", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[HumanEvaluationScenario], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def fetch_evaluation(self, evaluation_id: str) -> Evaluation: - """ - Fetches a single evaluation based on its ID. - - Args: - evaluation_id (str): The ID of the evaluation to fetch. - - Returns: - Evaluation: The fetched evaluation. - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_evaluation(evaluation_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Evaluation, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def webhook_example_fake(self) -> EvaluationWebhook: - """ - Returns a fake score response for example webhook evaluation - - Returns: - _description_ - - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.webhook_example_fake() - """ - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/webhook_example_fake", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(EvaluationWebhook, _response.json()) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def fetch_evaluation_scenarios_evaluations_evaluation_scenarios_comparison_results_get( - self, *, evaluations_ids: str - ) -> typing.Any: - """ - Fetches evaluation scenarios for a given evaluation ID. - - Arguments: - evaluation_id (str): The ID of the evaluation for which to fetch scenarios. - - Raises: - HTTPException: If the evaluation is not found or access is denied. - - Returns: - List[EvaluationScenario]: A list of evaluation scenarios. - - Parameters: - - evaluations_ids: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_evaluation_scenarios_evaluations_evaluation_scenarios_comparison_results_get(evaluations_ids="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/evaluation_scenarios/comparison-results", - ), - params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def fetch_list_human_evaluations_human_evaluations_get( - self, *, app_id: str - ) -> typing.List[HumanEvaluation]: - """ - Fetches a list of evaluations, optionally filtered by an app ID. - - Args: - app_id (Optional[str]): An optional app ID to filter the evaluations. - - Returns: - List[HumanEvaluation]: A list of evaluations. - - Parameters: - - app_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_list_human_evaluations_human_evaluations_get(app_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "human-evaluations" - ), - params=remove_none_from_dict({"app_id": app_id}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[HumanEvaluation], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def delete_evaluations_human_evaluations_delete( - self, *, request: DeleteEvaluation - ) -> typing.List[str]: - """ - Delete specific comparison tables based on their unique IDs. - - Args: - delete_evaluations (List[str]): The unique identifiers of the comparison tables to delete. - - Returns: - A list of the deleted comparison tables' IDs. - - Parameters: - - request: DeleteEvaluation. - --- - from agenta import DeleteEvaluation - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_evaluations_human_evaluations_delete(request=DeleteEvaluation(evaluations_ids=[])) - """ - _response = self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "human-evaluations" - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def fetch_human_evaluation_human_evaluations_evaluation_id_get( - self, evaluation_id: str - ) -> HumanEvaluation: - """ - Fetches a single evaluation based on its ID. - - Args: - evaluation_id (str): The ID of the evaluation to fetch. - - Returns: - HumanEvaluation: The fetched evaluation. - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_human_evaluation_human_evaluations_evaluation_id_get(evaluation_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/{evaluation_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(HumanEvaluation, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def update_human_evaluation( - self, - evaluation_id: str, - *, - status: typing.Optional[EvaluationStatusEnum] = OMIT, - ) -> typing.Any: - """ - Updates an evaluation's status. - - Raises: - HTTPException: If the columns in the test set do not match with the inputs in the variant. - - Returns: - None: A 204 No Content status code, indicating that the update was successful. - - Parameters: - - evaluation_id: str. - - - status: typing.Optional[EvaluationStatusEnum]. - --- - from agenta import EvaluationStatusEnum - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_human_evaluation(evaluation_id="string", status=EvaluationStatusEnum.EVALUATION_INITIALIZED) - """ - _request: typing.Dict[str, typing.Any] = {} - if status is not OMIT: - _request["status"] = status - _response = self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/{evaluation_id}", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def update_evaluation_scenario_router_human_evaluations_evaluation_id_evaluation_scenario_evaluation_scenario_id_evaluation_type_put( - self, - evaluation_id: str, - evaluation_scenario_id: str, - evaluation_type: EvaluationType, - *, - vote: typing.Optional[str] = OMIT, - score: typing.Optional[HumanEvaluationScenarioUpdateScore] = OMIT, - correct_answer: typing.Optional[str] = OMIT, - outputs: typing.Optional[typing.List[HumanEvaluationScenarioOutput]] = OMIT, - inputs: typing.Optional[typing.List[HumanEvaluationScenarioInput]] = OMIT, - is_pinned: typing.Optional[bool] = OMIT, - note: typing.Optional[str] = OMIT, - ) -> typing.Any: - """ - Updates an evaluation scenario's vote or score based on its type. - - Raises: - HTTPException: If update fails or unauthorized. - - Returns: - None: 204 No Content status code upon successful update. - - Parameters: - - evaluation_id: str. - - - evaluation_scenario_id: str. - - - evaluation_type: EvaluationType. - - - vote: typing.Optional[str]. - - - score: typing.Optional[HumanEvaluationScenarioUpdateScore]. - - - correct_answer: typing.Optional[str]. - - - outputs: typing.Optional[typing.List[HumanEvaluationScenarioOutput]]. - - - inputs: typing.Optional[typing.List[HumanEvaluationScenarioInput]]. - - - is_pinned: typing.Optional[bool]. - - - note: typing.Optional[str]. - --- - from agenta import EvaluationType, HumanEvaluationScenarioInput, HumanEvaluationScenarioOutput - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_evaluation_scenario_router_human_evaluations_evaluation_id_evaluation_scenario_evaluation_scenario_id_evaluation_type_put( - evaluation_id="string", - evaluation_scenario_id="string", - evaluation_type=EvaluationType.HUMAN_A_B_TESTING, - outputs=[HumanEvaluationScenarioOutput(variant_id="string", variant_output="string")], - inputs=[HumanEvaluationScenarioInput(input_name="string", input_value="string")], - ) - """ - _request: typing.Dict[str, typing.Any] = {} - if vote is not OMIT: - _request["vote"] = vote - if score is not OMIT: - _request["score"] = score - if correct_answer is not OMIT: - _request["correct_answer"] = correct_answer - if outputs is not OMIT: - _request["outputs"] = outputs - if inputs is not OMIT: - _request["inputs"] = inputs - if is_pinned is not OMIT: - _request["is_pinned"] = is_pinned - if note is not OMIT: - _request["note"] = note - _response = self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/{evaluation_id}/evaluation_scenario/{evaluation_scenario_id}/{evaluation_type}", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_evaluation_scenario_score_router_human_evaluations_evaluation_scenario_evaluation_scenario_id_score_get( - self, evaluation_scenario_id: str - ) -> typing.Dict[str, str]: - """ - Fetch the score of a specific evaluation scenario. - - Args: - evaluation_scenario_id: The ID of the evaluation scenario to fetch. - stoken_session: Session data, verified by `verify_session`. - - Returns: - Dictionary containing the scenario ID and its score. - - Parameters: - - evaluation_scenario_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_evaluation_scenario_score_router_human_evaluations_evaluation_scenario_evaluation_scenario_id_score_get( - evaluation_scenario_id="string" - ) - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/evaluation_scenario/{evaluation_scenario_id}/score", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Dict[str, str], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def update_evaluation_scenario_score_router_human_evaluations_evaluation_scenario_evaluation_scenario_id_score_put( - self, evaluation_scenario_id: str, *, score: float - ) -> typing.Any: - """ - Updates the score of an evaluation scenario. - - Raises: - HTTPException: Server error if the evaluation update fails. - - Returns: - None: 204 No Content status code upon successful update. - - Parameters: - - evaluation_scenario_id: str. - - - score: float. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_evaluation_scenario_score_router_human_evaluations_evaluation_scenario_evaluation_scenario_id_score_put( - evaluation_scenario_id="string", score=1.1 - ) - """ - _response = self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/evaluation_scenario/{evaluation_scenario_id}/score", - ), - json=jsonable_encoder({"score": score}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def fetch_results(self, evaluation_id: str) -> typing.Any: - """ - Fetch all the results for one the comparison table - - Arguments: - evaluation*id -- \_description* - - Returns: - _description_ - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_results(evaluation_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/{evaluation_id}/results", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_evaluators_endpoint_evaluators_get(self) -> typing.List[Evaluator]: - """ - Endpoint to fetch a list of evaluators. - - Returns: - List[Evaluator]: A list of evaluator objects. - - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_evaluators_endpoint_evaluators_get() - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Evaluator], _response.json()) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_evaluator_configs_evaluators_configs_get( - self, *, app_id: str - ) -> typing.List[EvaluatorConfig]: - """ - Endpoint to fetch evaluator configurations for a specific app. - - Args: - app_id (str): The ID of the app. - - Returns: - List[EvaluatorConfigDB]: A list of evaluator configuration objects. - - Parameters: - - app_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_evaluator_configs_evaluators_configs_get(app_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), - params=remove_none_from_dict({"app_id": app_id}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[EvaluatorConfig], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def create_new_evaluator_config_evaluators_configs_post( - self, - *, - app_id: str, - name: str, - evaluator_key: str, - settings_values: typing.Dict[str, typing.Any], - ) -> EvaluatorConfig: - """ - Endpoint to fetch evaluator configurations for a specific app. - - Args: - app_id (str): The ID of the app. - - Returns: - EvaluatorConfigDB: Evaluator configuration api model. - - Parameters: - - app_id: str. - - - name: str. - - - evaluator_key: str. - - - settings_values: typing.Dict[str, typing.Any]. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_new_evaluator_config_evaluators_configs_post( - app_id="string", - name="string", - evaluator_key="string", - settings_values={"string": {"unknown": "string", "type": "unknown"}}, - ) - """ - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), - json=jsonable_encoder( - { - "app_id": app_id, - "name": name, - "evaluator_key": evaluator_key, - "settings_values": settings_values, - } - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_evaluator_config_evaluators_configs_evaluator_config_id_get( - self, evaluator_config_id: str - ) -> EvaluatorConfig: - """ - Endpoint to fetch evaluator configurations for a specific app. - - Returns: - List[EvaluatorConfigDB]: A list of evaluator configuration objects. - - Parameters: - - evaluator_config_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_evaluator_config_evaluators_configs_evaluator_config_id_get(evaluator_config_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def update_evaluator_config_evaluators_configs_evaluator_config_id_put( - self, - evaluator_config_id: str, - *, - name: typing.Optional[str] = OMIT, - evaluator_key: typing.Optional[str] = OMIT, - settings_values: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - ) -> EvaluatorConfig: - """ - Endpoint to update evaluator configurations for a specific app. - - Returns: - List[EvaluatorConfigDB]: A list of evaluator configuration objects. - - Parameters: - - evaluator_config_id: str. - - - name: typing.Optional[str]. - - - evaluator_key: typing.Optional[str]. - - - settings_values: typing.Optional[typing.Dict[str, typing.Any]]. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_evaluator_config_evaluators_configs_evaluator_config_id_put(evaluator_config_id="string") - """ - _request: typing.Dict[str, typing.Any] = {} - if name is not OMIT: - _request["name"] = name - if evaluator_key is not OMIT: - _request["evaluator_key"] = evaluator_key - if settings_values is not OMIT: - _request["settings_values"] = settings_values - _response = self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def delete_evaluator_config_evaluators_configs_evaluator_config_id_delete( - self, evaluator_config_id: str - ) -> bool: - """ - Endpoint to delete a specific evaluator configuration. - - Args: - evaluator_config_id (str): The unique identifier of the evaluator configuration. - - Returns: - bool: True if deletion was successful, False otherwise. - - Parameters: - - evaluator_config_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_evaluator_config_evaluators_configs_evaluator_config_id_delete(evaluator_config_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(bool, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def upload_file( - self, *, upload_type: str, file: typing.IO, testset_name: str, app_id: str - ) -> TestSetSimpleResponse: - """ - Uploads a CSV or JSON file and saves its data to MongoDB. - - Args: - upload_type : Either a json or csv file. - file (UploadFile): The CSV or JSON file to upload. - testset_name (Optional): the name of the testset if provided. - - Returns: - dict: The result of the upload process. - - Parameters: - - upload_type: str. - - - file: typing.IO. - - - testset_name: str. - - - app_id: str. - """ - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/upload" - ), - data=jsonable_encoder( - { - "upload_type": upload_type, - "testset_name": testset_name, - "app_id": app_id, - } - ), - files={"file": file}, - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def import_testset(self) -> TestSetSimpleResponse: - """ - Import JSON testset data from an endpoint and save it to MongoDB. - - Args: - endpoint (str): An endpoint URL to import data from. - testset_name (str): the name of the testset if provided. - - Returns: - dict: The result of the import process. - - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.import_testset() - """ - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def create_testset( - self, app_id: str, *, request: NewTestset - ) -> TestSetSimpleResponse: - """ - Create a testset with given name and app_name, save the testset to MongoDB. - - Args: - name (str): name of the test set. - app_name (str): name of the application. - testset (Dict[str, str]): test set data. - - Returns: - str: The id of the test set created. - - Parameters: - - app_id: str. - - - request: NewTestset. - --- - from agenta import NewTestset - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_testset(app_id="string", request=NewTestset(name="string", csvdata=[])) - """ - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_single_testset(self, testset_id: str) -> typing.Any: - """ - Fetch a specific testset in a MongoDB collection using its \_id. - - Args: - testset_id (str): The \_id of the testset to fetch. - - Returns: - The requested testset if found, else an HTTPException. - - Parameters: - - testset_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_single_testset(testset_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: - """ - Update a testset with given id, update the testset in MongoDB. - - Args: - testset_id (str): id of the test set to be updated. - csvdata (NewTestset): New data to replace the old testset. - - Returns: - str: The id of the test set updated. - - Parameters: - - testset_id: str. - - - request: NewTestset. - --- - from agenta import NewTestset - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_testset(testset_id="string", request=NewTestset(name="string", csvdata=[])) - """ - _response = self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputResponse]: - """ - Get all testsets. - - Returns: - - - A list of testset objects. - - Raises: - - - `HTTPException` with status code 404 if no testsets are found. - - Parameters: - - app_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_testsets(app_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets"), - params=remove_none_from_dict({"app_id": app_id}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[TestSetOutputResponse], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: - """ - Delete specific testsets based on their unique IDs. - - Args: - testset_ids (List[str]): The unique identifiers of the testsets to delete. - - Returns: - A list of the deleted testsets' IDs. - - Parameters: - - testset_ids: typing.List[str]. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_testsets(testset_ids=[]) - """ - _response = self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets"), - json=jsonable_encoder({"testset_ids": testset_ids}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Image: - """ - Builds a Docker image from a tar file containing the application code. - - Args: - app_id (str): The ID of the application to build the image for. - base_name (str): The base name of the image to build. - tar_file (UploadFile): The tar file containing the application code. - stoken_session (SessionContainer): The session container for the user making the request. - - Returns: - Image: The Docker image that was built. - - Parameters: - - app_id: str. - - - base_name: str. - - - tar_file: typing.IO. - """ - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/build_image" - ), - params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), - data=jsonable_encoder({}), - files={"tar_file": tar_file}, - headers=self._client_wrapper.get_headers(), - timeout=600, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Image, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: - """ - Restart docker container. - - Args: - payload (RestartAppContainer) -- the required data (app_name and variant_name) - - Parameters: - - variant_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.restart_container(variant_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "containers/restart_container", - ), - json=jsonable_encoder({"variant_id": variant_id}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Dict[str, typing.Any], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def container_templates(self) -> ContainerTemplatesResponse: - """ - Returns a list of templates available for creating new containers. - - Parameters: - stoken_session (SessionContainer): The session container for the user. - - Returns: - - Union[List[Template], str]: A list of templates or an error message. - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/templates" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(ContainerTemplatesResponse, _response.json()) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def construct_app_container_url( - self, - *, - base_id: typing.Optional[str] = None, - variant_id: typing.Optional[str] = None, - ) -> Uri: - """ - Constructs the URL for an app container based on the provided base_id or variant_id. - - Args: - base_id (Optional[str]): The ID of the base to use for the app container. - variant_id (Optional[str]): The ID of the variant to use for the app container. - stoken_session (SessionContainer): The session container for the user. - - Returns: - URI: The URI for the app container. - - Raises: - HTTPException: If the base or variant cannot be found or the user does not have access. - - Parameters: - - base_id: typing.Optional[str]. - - - variant_id: typing.Optional[str]. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.construct_app_container_url() - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/container_url" - ), - params=remove_none_from_dict( - {"base_id": base_id, "variant_id": variant_id} - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Uri, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def deploy_to_environment( - self, *, environment_name: str, variant_id: str - ) -> typing.Any: - """ - Deploys a given variant to an environment - - Args: - environment_name: Name of the environment to deploy to. - variant_id: variant id to deploy. - stoken_session: . Defaults to Depends(verify_session()). - - Raises: - HTTPException: If the deployment fails. - - Parameters: - - environment_name: str. - - - variant_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.deploy_to_environment(environment_name="string", variant_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "environments/deploy" - ), - json=jsonable_encoder( - {"environment_name": environment_name, "variant_id": variant_id} - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def create_trace( - self, - *, - app_id: typing.Optional[str] = OMIT, - variant_id: typing.Optional[str] = OMIT, - cost: typing.Optional[float] = OMIT, - latency: float, - status: str, - token_consumption: typing.Optional[int] = OMIT, - tags: typing.Optional[typing.List[str]] = OMIT, - start_time: dt.datetime, - end_time: dt.datetime, - spans: typing.List[str], - ) -> str: - """ - Parameters: - - app_id: typing.Optional[str]. - - - variant_id: typing.Optional[str]. - - - cost: typing.Optional[float]. - - - latency: float. - - - status: str. - - - token_consumption: typing.Optional[int]. - - - tags: typing.Optional[typing.List[str]]. - - - start_time: dt.datetime. - - - end_time: dt.datetime. - - - spans: typing.List[str]. - --- - import datetime - - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_trace( - latency=1.1, - status="string", - start_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), - end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), - spans=[], - ) - """ - _request: typing.Dict[str, typing.Any] = { - "latency": latency, - "status": status, - "start_time": start_time, - "end_time": end_time, - "spans": spans, - } - if app_id is not OMIT: - _request["app_id"] = app_id - if variant_id is not OMIT: - _request["variant_id"] = variant_id - if cost is not OMIT: - _request["cost"] = cost - if token_consumption is not OMIT: - _request["token_consumption"] = token_consumption - if tags is not OMIT: - _request["tags"] = tags - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(str, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_traces(self, app_id: str, variant_id: str) -> typing.List[Trace]: - """ - Parameters: - - app_id: str. - - - variant_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_traces(app_id="string", variant_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{app_id}/{variant_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Trace], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_single_trace(self, trace_id: str) -> Trace: - """ - Parameters: - - trace_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_single_trace(trace_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Trace, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def update_trace_status(self, trace_id: str, *, status: str) -> bool: - """ - Parameters: - - trace_id: str. - - - status: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_trace_status(trace_id="string", status="string") - """ - _response = self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), - json=jsonable_encoder({"status": status}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(bool, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def create_span( - self, - *, - parent_span_id: typing.Optional[str] = OMIT, - meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - event_name: str, - event_type: typing.Optional[str] = OMIT, - start_time: dt.datetime, - duration: typing.Optional[int] = OMIT, - status: str, - end_time: dt.datetime, - inputs: typing.Optional[typing.List[str]] = OMIT, - outputs: typing.Optional[typing.List[str]] = OMIT, - prompt_template: typing.Optional[str] = OMIT, - tokens_input: typing.Optional[int] = OMIT, - tokens_output: typing.Optional[int] = OMIT, - token_total: typing.Optional[int] = OMIT, - cost: typing.Optional[float] = OMIT, - tags: typing.Optional[typing.List[str]] = OMIT, - ) -> str: - """ - Parameters: - - parent_span_id: typing.Optional[str]. - - - meta: typing.Optional[typing.Dict[str, typing.Any]]. - - - event_name: str. - - - event_type: typing.Optional[str]. - - - start_time: dt.datetime. - - - duration: typing.Optional[int]. - - - status: str. - - - end_time: dt.datetime. - - - inputs: typing.Optional[typing.List[str]]. - - - outputs: typing.Optional[typing.List[str]]. - - - prompt_template: typing.Optional[str]. - - - tokens_input: typing.Optional[int]. - - - tokens_output: typing.Optional[int]. - - - token_total: typing.Optional[int]. - - - cost: typing.Optional[float]. - - - tags: typing.Optional[typing.List[str]]. - --- - import datetime - - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_span( - event_name="string", - start_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), - status="string", - end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), - ) - """ - _request: typing.Dict[str, typing.Any] = { - "event_name": event_name, - "start_time": start_time, - "status": status, - "end_time": end_time, - } - if parent_span_id is not OMIT: - _request["parent_span_id"] = parent_span_id - if meta is not OMIT: - _request["meta"] = meta - if event_type is not OMIT: - _request["event_type"] = event_type - if duration is not OMIT: - _request["duration"] = duration - if inputs is not OMIT: - _request["inputs"] = inputs - if outputs is not OMIT: - _request["outputs"] = outputs - if prompt_template is not OMIT: - _request["prompt_template"] = prompt_template - if tokens_input is not OMIT: - _request["tokens_input"] = tokens_input - if tokens_output is not OMIT: - _request["tokens_output"] = tokens_output - if token_total is not OMIT: - _request["token_total"] = token_total - if cost is not OMIT: - _request["cost"] = cost - if tags is not OMIT: - _request["tags"] = tags - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(str, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_spans_of_trace(self, trace_id: str) -> typing.List[Span]: - """ - Parameters: - - trace_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_spans_of_trace(trace_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{trace_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Span], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: - """ - Parameters: - - trace_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_feedbacks(trace_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Feedback], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def create_feedback( - self, - trace_id: str, - *, - feedback: typing.Optional[str] = OMIT, - score: typing.Optional[float] = OMIT, - meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - ) -> str: - """ - Parameters: - - trace_id: str. - - - feedback: typing.Optional[str]. - - - score: typing.Optional[float]. - - - meta: typing.Optional[typing.Dict[str, typing.Any]]. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_feedback(trace_id="string") - """ - _request: typing.Dict[str, typing.Any] = {} - if feedback is not OMIT: - _request["feedback"] = feedback - if score is not OMIT: - _request["score"] = score - if meta is not OMIT: - _request["meta"] = meta - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(str, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: - """ - Parameters: - - trace_id: str. - - - feedback_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_feedback(trace_id="string", feedback_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Feedback, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def update_feedback( - self, - trace_id: str, - feedback_id: str, - *, - feedback: str, - score: typing.Optional[float] = OMIT, - meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - ) -> Feedback: - """ - Parameters: - - trace_id: str. - - - feedback_id: str. - - - feedback: str. - - - score: typing.Optional[float]. - - - meta: typing.Optional[typing.Dict[str, typing.Any]]. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_feedback(trace_id="string", feedback_id="string", feedback="string") - """ - _request: typing.Dict[str, typing.Any] = {"feedback": feedback} - if score is not OMIT: - _request["score"] = score - if meta is not OMIT: - _request["meta"] = meta - _response = self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Feedback, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def list_organizations(self) -> typing.List[Organization]: - """ - Returns a list of organizations associated with the user's session. - - Args: - stoken_session (SessionContainer): The user's session token. - - Returns: - list[Organization]: A list of organizations associated with the user's session. - - Raises: - HTTPException: If there is an error retrieving the organizations from the database. - - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.list_organizations() - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Organization], _response.json()) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_own_org(self) -> OrganizationOutput: - """ - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_own_org() - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations/own" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(OrganizationOutput, _response.json()) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def list_bases( - self, - *, - app_id: typing.Optional[str] = None, - base_name: typing.Optional[str] = None, - ) -> typing.List[BaseOutput]: - """ - Retrieve a list of bases filtered by app_id and base_name. - - Args: - request (Request): The incoming request. - app_id (Optional[str], optional): The ID of the app to filter by. Defaults to None. - base_name (Optional[str], optional): The name of the base to filter by. Defaults to None. - - Returns: - List[BaseOutput]: A list of BaseOutput objects representing the filtered bases. - - Raises: - HTTPException: If there was an error retrieving the bases. - - Parameters: - - app_id: typing.Optional[str]. - - - base_name: typing.Optional[str]. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.list_bases() - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "bases"), - params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[BaseOutput], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def get_config( - self, - *, - base_id: str, - config_name: typing.Optional[str] = None, - environment_name: typing.Optional[str] = None, - ) -> GetConfigReponse: - """ - Parameters: - - base_id: str. - - - config_name: typing.Optional[str]. - - - environment_name: typing.Optional[str]. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_config(base_id="string") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), - params=remove_none_from_dict( - { - "base_id": base_id, - "config_name": config_name, - "environment_name": environment_name, - } - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(GetConfigReponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def save_config( - self, - *, - base_id: str, - config_name: str, - parameters: typing.Dict[str, typing.Any], - overwrite: bool, - ) -> typing.Any: - """ - Parameters: - - base_id: str. - - - config_name: str. - - - parameters: typing.Dict[str, typing.Any]. - - - overwrite: bool. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.save_config( - base_id="string", - config_name="string", - parameters={"string": {"unknown": "string", "type": "unknown"}}, - overwrite=True, - ) - """ - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), - json=jsonable_encoder( - { - "base_id": base_id, - "config_name": config_name, - "parameters": parameters, - "overwrite": overwrite, - } - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - -class AsyncAgentaApi: - def __init__( - self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 - ): - self._client_wrapper = AsyncClientWrapper( - base_url=base_url, - api_key=api_key, - httpx_client=httpx.AsyncClient(timeout=timeout), - ) - - async def list_api_keys(self) -> typing.List[ListApiKeysOutput]: - """ - List all API keys associated with the authenticated user. - - Args: - request (Request): The incoming request object. - - Returns: - List[ListAPIKeysOutput]: A list of API Keys associated with the user. - - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.list_api_keys() - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "keys"), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[ListApiKeysOutput], _response.json()) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def create_api_key(self) -> str: - """ - Creates an API key for a user. - - Args: - request (Request): The request object containing the user ID in the request state. - - Returns: - str: The created API key. - - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_api_key() - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "keys"), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(str, _response.json()) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: - """ - Delete an API key with the given key prefix for the authenticated user. - - Args: - key_prefix (str): The prefix of the API key to be deleted. - request (Request): The incoming request object. - - Returns: - dict: A dictionary containing a success message upon successful deletion. - - Raises: - HTTPException: If the API key is not found or does not belong to the user. - - Parameters: - - key_prefix: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_api_key(key_prefix="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Dict[str, typing.Any], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def validate_api_key(self, key_prefix: str) -> bool: - """ - This Function is called by the CLI and is used to validate an API key provided by a user in agenta init setup. - Returns: - bool: True. If the request reaches this point, the API key is valid. - - Parameters: - - key_prefix: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.validate_api_key(key_prefix="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(bool, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def fetch_organization_details(self, org_id: str) -> typing.Any: - """ - Get an organization's details. - - Raises: - HTTPException: _description_ - Permission Denied - - Returns: - OrganizationDB Instance - - Parameters: - - org_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_organization_details(org_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations_ee/{org_id}" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def invite_to_org(self, org_id: str, *, request: InviteRequest) -> typing.Any: - """ - Invite a user to an Organization. - - Raises: - HTTPException: _description_; status_code: 500 - HTTPException: This Organization doesn't exist; status_code: 400 - HTTPException: Failed to invite user to organization; status_code: 403 - HTTPException: You cannot invite yourself to your own organization; status_code: 400 - HTTPException: You do not have permission to access this organization; status_code: 500 - - Returns: - JSONResponse: Invited user to organization; status_code: 200 - - Parameters: - - org_id: str. - - - request: InviteRequest. - --- - from agenta import InviteRequest - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.invite_to_org(org_id="string", request=InviteRequest(email="string")) - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations_ee/{org_id}/invite", - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def resend_invitation( - self, org_id: str, *, request: InviteRequest - ) -> typing.Any: - """ - Resend an invitation to a user to an Organization. - - Raises: - HTTPException: _description_; status_code: 500 - HTTPException: Invitation not found or has expired; status_code: 400 - HTTPException: You already belong to this organization; status_code: 400 - - Returns: - JSONResponse: Resent invitation to user; status_code: 200 - - Parameters: - - org_id: str. - - - request: InviteRequest. - --- - from agenta import InviteRequest - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.resend_invitation(org_id="string", request=InviteRequest(email="string")) - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations_ee/{org_id}/invite/resend", - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def add_user_to_org(self, org_id: str, *, token: str) -> typing.Any: - """ - Invite a user to an Organization. - - Raises: - HTTPException: _description_; status_code: 500 - HTTPException: Invitation not found or has expired; status_code: 400 - HTTPException: You already belong to this organization; status_code: 400 - - Returns: - JSONResponse: Added user to organization; status_code: 200 - - Parameters: - - org_id: str. - - - token: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.add_user_to_org(org_id="string", token="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations_ee/{org_id}/accept", - ), - json=jsonable_encoder({"token": token}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def create_organization(self, *, request: Organization) -> typing.Any: - """ - Parameters: - - request: Organization. - --- - from agenta import Organization - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_organization(request=Organization(name="string", owner="string")) - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations_ee/create" - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def update_organization( - self, - org_id: str, - *, - name: typing.Optional[str] = OMIT, - description: typing.Optional[str] = OMIT, - ) -> typing.Any: - """ - Parameters: - - org_id: str. - - - name: typing.Optional[str]. - - - description: typing.Optional[str]. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_organization(org_id="string") - """ - _request: typing.Dict[str, typing.Any] = {} - if name is not OMIT: - _request["name"] = name - if description is not OMIT: - _request["description"] = description - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations_ee/{org_id}/update", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def health_check(self) -> typing.Any: - """ - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.health_check() - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "health"), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def user_profile(self) -> typing.Any: - """ - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.user_profile() - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "profile"), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def list_app_variants(self, app_id: str) -> typing.List[AppVariantOutput]: - """ - Retrieve a list of app variants for a given app ID. - - Args: - app_id (str): The ID of the app to retrieve variants for. - stoken_session (SessionContainer, optional): The session container to verify the user's session. Defaults to Depends(verify_session()). - - Returns: - List[AppVariantOutput]: A list of app variants for the given app ID. - - Parameters: - - app_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.list_app_variants(app_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[AppVariantOutput], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def list_apps( - self, - *, - app_name: typing.Optional[str] = None, - org_id: typing.Optional[str] = None, - ) -> typing.List[App]: - """ - Retrieve a list of apps filtered by app_name and org_id. - - Args: - app_name (Optional[str]): The name of the app to filter by. - org_id (Optional[str]): The ID of the organization to filter by. - stoken_session (SessionContainer): The session container. - - Returns: - List[App]: A list of apps filtered by app_name and org_id. - - Raises: - HTTPException: If there was an error retrieving the list of apps. - - Parameters: - - app_name: typing.Optional[str]. - - - org_id: typing.Optional[str]. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.list_apps() - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict({"app_name": app_name, "org_id": org_id}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[App], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def create_app( - self, *, app_name: str, organization_id: typing.Optional[str] = OMIT - ) -> CreateAppOutput: - """ - Create a new app for a user or organization. - - Args: - payload (CreateApp): The payload containing the app name and organization ID (optional). - stoken_session (SessionContainer): The session container containing the user's session token. - - Returns: - CreateAppOutput: The output containing the newly created app's ID and name. - - Raises: - HTTPException: If there is an error creating the app or the user does not have permission to access the app. - - Parameters: - - app_name: str. - - - organization_id: typing.Optional[str]. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_app(app_name="string") - """ - _request: typing.Dict[str, typing.Any] = {"app_name": app_name} - if organization_id is not OMIT: - _request["organization_id"] = organization_id - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(CreateAppOutput, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def add_variant_from_image( - self, - app_id: str, - *, - variant_name: str, - docker_id: str, - tags: str, - base_name: typing.Optional[str] = OMIT, - config_name: typing.Optional[str] = OMIT, - ) -> typing.Any: - """ - Add a new variant to an app based on a Docker image. - - Args: - app_id (str): The ID of the app to add the variant to. - payload (AddVariantFromImagePayload): The payload containing information about the variant to add. - stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). - - Raises: - HTTPException: If the feature flag is set to "demo" or if the image does not have a tag starting with the registry name (agenta-server) or if the image is not found or if the user does not have access to the app. - - Returns: - dict: The newly added variant. - - Parameters: - - app_id: str. - - - variant_name: str. - - - docker_id: str. - - - tags: str. - - - base_name: typing.Optional[str]. - - - config_name: typing.Optional[str]. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.add_variant_from_image(app_id="string", variant_name="string", docker_id="string", tags="string") - """ - _request: typing.Dict[str, typing.Any] = { - "variant_name": variant_name, - "docker_id": docker_id, - "tags": tags, - } - if base_name is not OMIT: - _request["base_name"] = base_name - if config_name is not OMIT: - _request["config_name"] = config_name - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/variant/from-image", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def remove_app(self, app_id: str) -> typing.Any: - """ - Remove app, all its variant, containers and images - - Arguments: - app -- App to remove - - Parameters: - - app_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.remove_app(app_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def create_app_and_variant_from_template( - self, - *, - app_name: str, - template_id: str, - env_vars: typing.Dict[str, str], - organization_id: typing.Optional[str] = OMIT, - ) -> AppVariantOutput: - """ - Create an app and variant from a template. - - Args: - payload (CreateAppVariant): The payload containing the app and variant information. - stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). - - Raises: - HTTPException: If the user has reached the app limit or if an app with the same name already exists. - - Returns: - AppVariantOutput: The output of the created app variant. - - Parameters: - - app_name: str. - - - template_id: str. - - - env_vars: typing.Dict[str, str]. - - - organization_id: typing.Optional[str]. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_app_and_variant_from_template( - app_name="string", template_id="string", env_vars={"string": "string"} - ) - """ - _request: typing.Dict[str, typing.Any] = { - "app_name": app_name, - "template_id": template_id, - "env_vars": env_vars, - } - if organization_id is not OMIT: - _request["organization_id"] = organization_id - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "apps/app_and_variant_from_template", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(AppVariantOutput, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: - """ - Retrieve a list of environments for a given app ID. - - Args: - app_id (str): The ID of the app to retrieve environments for. - stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). - - Returns: - List[EnvironmentOutput]: A list of environment objects. - - Parameters: - - app_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.list_environments(app_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[EnvironmentOutput], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def add_variant_from_base_and_config( - self, - *, - base_id: str, - new_variant_name: str, - new_config_name: str, - parameters: typing.Dict[str, typing.Any], - ) -> AddVariantFromBaseAndConfigResponse: - """ - Add a new variant based on an existing one. - Same as POST /config - - Args: - payload (AddVariantFromBasePayload): Payload containing base variant ID, new variant name, and parameters. - stoken_session (SessionContainer, optional): Session container. Defaults to result of verify_session(). - - Raises: - HTTPException: Raised if the variant could not be added or accessed. - - Returns: - Union[AppVariantOutput, Any]: New variant details or exception. - - Parameters: - - base_id: str. - - - new_variant_name: str. - - - new_config_name: str. - - - parameters: typing.Dict[str, typing.Any]. - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "variants/from-base" - ), - json=jsonable_encoder( - { - "base_id": base_id, - "new_variant_name": new_variant_name, - "new_config_name": new_config_name, - "parameters": parameters, - } - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(AddVariantFromBaseAndConfigResponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: - """ - Parameters: - - variant_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_variant(variant_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(AppVariantOutputExtended, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def start_variant( - self, - variant_id: str, - *, - action: VariantAction, - env_vars: typing.Optional[DockerEnvVars] = OMIT, - ) -> Uri: - """ - Start a variant of an app. - - Args: - variant_id (str): The ID of the variant to start. - action (VariantAction): The action to perform on the variant (start). - env_vars (Optional[DockerEnvVars], optional): The environment variables to inject to the Docker container. Defaults to None. - stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). - - Returns: - URI: The URL of the started variant. - - Raises: - HTTPException: If the app container cannot be started. - - Parameters: - - variant_id: str. - - - action: VariantAction. - - - env_vars: typing.Optional[DockerEnvVars]. - --- - from agenta import DockerEnvVars, VariantAction, VariantActionEnum - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.start_variant( - variant_id="string", - action=VariantAction(action=VariantActionEnum.START), - env_vars=DockerEnvVars(env_vars={"string": "string"}), - ) - """ - _request: typing.Dict[str, typing.Any] = {"action": action} - if env_vars is not OMIT: - _request["env_vars"] = env_vars - _response = await self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Uri, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def remove_variant(self, variant_id: str) -> typing.Any: - """ - Remove a variant from the server. - In the case it's the last variant using the image, stop the container and remove the image. - - Arguments: - app_variant -- AppVariant to remove - - Raises: - HTTPException: If there is a problem removing the app variant - - Parameters: - - variant_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.remove_variant(variant_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def update_variant_parameters( - self, variant_id: str, *, parameters: typing.Dict[str, typing.Any] - ) -> typing.Any: - """ - Updates the parameters for an app variant. - - Args: - variant_id (str): The ID of the app variant to update. - payload (UpdateVariantParameterPayload): The payload containing the updated parameters. - stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). - - Raises: - HTTPException: If there is an error while trying to update the app variant. - - Returns: - JSONResponse: A JSON response containing the updated app variant parameters. - - Parameters: - - variant_id: str. - - - parameters: typing.Dict[str, typing.Any]. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_variant_parameters( - variant_id="string", parameters={"string": {"unknown": "string", "type": "unknown"}} - ) - """ - _response = await self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/parameters", - ), - json=jsonable_encoder({"parameters": parameters}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def update_variant_image( - self, variant_id: str, *, request: Image - ) -> typing.Any: - """ - Updates the image used in an app variant. - - Args: - variant_id (str): The ID of the app variant to update. - image (Image): The image information to update. - - Raises: - HTTPException: If an error occurs while trying to update the app variant. - - Returns: - JSONResponse: A JSON response indicating whether the update was successful or not. - - Parameters: - - variant_id: str. - - - request: Image. - --- - from agenta import Image - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_variant_image(variant_id="string", request=Image(docker_id="string", tags="string")) - """ - _response = await self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/image", - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def fetch_list_evaluations_evaluations_get( - self, *, app_id: str - ) -> typing.List[Evaluation]: - """ - Fetches a list of evaluations, optionally filtered by an app ID. - - Args: - app_id (Optional[str]): An optional app ID to filter the evaluations. - - Returns: - List[Evaluation]: A list of evaluations. - - Parameters: - - app_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_list_evaluations_evaluations_get(app_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), - params=remove_none_from_dict({"app_id": app_id}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Evaluation], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def create_evaluation( - self, - *, - app_id: str, - variant_ids: typing.List[str], - evaluation_type: EvaluationType, - inputs: typing.List[str], - testset_id: str, - status: str, - ) -> SimpleEvaluationOutput: - """ - Creates a new comparison table document - Raises: - HTTPException: _description_ - Returns: - _description_ - - Parameters: - - app_id: str. - - - variant_ids: typing.List[str]. - - - evaluation_type: EvaluationType. - - - inputs: typing.List[str]. - - - testset_id: str. - - - status: str. - --- - from agenta import EvaluationType - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_evaluation( - app_id="string", - variant_ids=[], - evaluation_type=EvaluationType.HUMAN_A_B_TESTING, - inputs=[], - testset_id="string", - status="string", - ) - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "human-evaluations" - ), - json=jsonable_encoder( - { - "app_id": app_id, - "variant_ids": variant_ids, - "evaluation_type": evaluation_type, - "inputs": inputs, - "testset_id": testset_id, - "status": status, - } - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(SimpleEvaluationOutput, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def delete_evaluations( - self, *, request: DeleteEvaluation - ) -> typing.List[str]: - """ - Delete specific comparison tables based on their unique IDs. - - Args: - delete_evaluations (List[str]): The unique identifiers of the comparison tables to delete. - - Returns: - A list of the deleted comparison tables' IDs. - - Parameters: - - request: DeleteEvaluation. - --- - from agenta import DeleteEvaluation - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_evaluations(request=DeleteEvaluation(evaluations_ids=[])) - """ - _response = await self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: - """ - Fetches the status of the evaluation. - - Args: - evaluation_id (str): the evaluation id - request (Request): the request object - - Returns: - (str): the evaluation status - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_evaluation_status(evaluation_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/status", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: - """ - Fetches the results of the evaluation - - Args: - evaluation_id (str): the evaluation id - request (Request): the request object - - Returns: - _type_: _description_ - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_evaluation_results(evaluation_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/results", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def fetch_evaluation_scenarios( - self, evaluation_id: str - ) -> typing.List[HumanEvaluationScenario]: - """ - Fetches evaluation scenarios for a given evaluation ID. - - Arguments: - evaluation_id (str): The ID of the evaluation for which to fetch scenarios. - - Raises: - HTTPException: If the evaluation is not found or access is denied. - - Returns: - List[EvaluationScenario]: A list of evaluation scenarios. - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_evaluation_scenarios(evaluation_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/{evaluation_id}/evaluation_scenarios", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[HumanEvaluationScenario], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: - """ - Fetches a single evaluation based on its ID. - - Args: - evaluation_id (str): The ID of the evaluation to fetch. - - Returns: - Evaluation: The fetched evaluation. - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_evaluation(evaluation_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Evaluation, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def webhook_example_fake(self) -> EvaluationWebhook: - """ - Returns a fake score response for example webhook evaluation - - Returns: - _description_ - - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.webhook_example_fake() - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/webhook_example_fake", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(EvaluationWebhook, _response.json()) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def fetch_evaluation_scenarios_evaluations_evaluation_scenarios_comparison_results_get( - self, *, evaluations_ids: str - ) -> typing.Any: - """ - Fetches evaluation scenarios for a given evaluation ID. - - Arguments: - evaluation_id (str): The ID of the evaluation for which to fetch scenarios. - - Raises: - HTTPException: If the evaluation is not found or access is denied. - - Returns: - List[EvaluationScenario]: A list of evaluation scenarios. - - Parameters: - - evaluations_ids: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_evaluation_scenarios_evaluations_evaluation_scenarios_comparison_results_get( - evaluations_ids="string" - ) - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/evaluation_scenarios/comparison-results", - ), - params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def fetch_list_human_evaluations_human_evaluations_get( - self, *, app_id: str - ) -> typing.List[HumanEvaluation]: - """ - Fetches a list of evaluations, optionally filtered by an app ID. - - Args: - app_id (Optional[str]): An optional app ID to filter the evaluations. - - Returns: - List[HumanEvaluation]: A list of evaluations. - - Parameters: - - app_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_list_human_evaluations_human_evaluations_get(app_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "human-evaluations" - ), - params=remove_none_from_dict({"app_id": app_id}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[HumanEvaluation], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def delete_evaluations_human_evaluations_delete( - self, *, request: DeleteEvaluation - ) -> typing.List[str]: - """ - Delete specific comparison tables based on their unique IDs. - - Args: - delete_evaluations (List[str]): The unique identifiers of the comparison tables to delete. - - Returns: - A list of the deleted comparison tables' IDs. - - Parameters: - - request: DeleteEvaluation. - --- - from agenta import DeleteEvaluation - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_evaluations_human_evaluations_delete(request=DeleteEvaluation(evaluations_ids=[])) - """ - _response = await self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "human-evaluations" - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def fetch_human_evaluation_human_evaluations_evaluation_id_get( - self, evaluation_id: str - ) -> HumanEvaluation: - """ - Fetches a single evaluation based on its ID. - - Args: - evaluation_id (str): The ID of the evaluation to fetch. - - Returns: - HumanEvaluation: The fetched evaluation. - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_human_evaluation_human_evaluations_evaluation_id_get(evaluation_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/{evaluation_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(HumanEvaluation, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def update_human_evaluation( - self, - evaluation_id: str, - *, - status: typing.Optional[EvaluationStatusEnum] = OMIT, - ) -> typing.Any: - """ - Updates an evaluation's status. - - Raises: - HTTPException: If the columns in the test set do not match with the inputs in the variant. - - Returns: - None: A 204 No Content status code, indicating that the update was successful. - - Parameters: - - evaluation_id: str. - - - status: typing.Optional[EvaluationStatusEnum]. - --- - from agenta import EvaluationStatusEnum - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_human_evaluation(evaluation_id="string", status=EvaluationStatusEnum.EVALUATION_INITIALIZED) - """ - _request: typing.Dict[str, typing.Any] = {} - if status is not OMIT: - _request["status"] = status - _response = await self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/{evaluation_id}", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def update_evaluation_scenario_router_human_evaluations_evaluation_id_evaluation_scenario_evaluation_scenario_id_evaluation_type_put( - self, - evaluation_id: str, - evaluation_scenario_id: str, - evaluation_type: EvaluationType, - *, - vote: typing.Optional[str] = OMIT, - score: typing.Optional[HumanEvaluationScenarioUpdateScore] = OMIT, - correct_answer: typing.Optional[str] = OMIT, - outputs: typing.Optional[typing.List[HumanEvaluationScenarioOutput]] = OMIT, - inputs: typing.Optional[typing.List[HumanEvaluationScenarioInput]] = OMIT, - is_pinned: typing.Optional[bool] = OMIT, - note: typing.Optional[str] = OMIT, - ) -> typing.Any: - """ - Updates an evaluation scenario's vote or score based on its type. - - Raises: - HTTPException: If update fails or unauthorized. - - Returns: - None: 204 No Content status code upon successful update. - - Parameters: - - evaluation_id: str. - - - evaluation_scenario_id: str. - - - evaluation_type: EvaluationType. - - - vote: typing.Optional[str]. - - - score: typing.Optional[HumanEvaluationScenarioUpdateScore]. - - - correct_answer: typing.Optional[str]. - - - outputs: typing.Optional[typing.List[HumanEvaluationScenarioOutput]]. - - - inputs: typing.Optional[typing.List[HumanEvaluationScenarioInput]]. - - - is_pinned: typing.Optional[bool]. - - - note: typing.Optional[str]. - --- - from agenta import EvaluationType, HumanEvaluationScenarioInput, HumanEvaluationScenarioOutput - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_evaluation_scenario_router_human_evaluations_evaluation_id_evaluation_scenario_evaluation_scenario_id_evaluation_type_put( - evaluation_id="string", - evaluation_scenario_id="string", - evaluation_type=EvaluationType.HUMAN_A_B_TESTING, - outputs=[HumanEvaluationScenarioOutput(variant_id="string", variant_output="string")], - inputs=[HumanEvaluationScenarioInput(input_name="string", input_value="string")], - ) - """ - _request: typing.Dict[str, typing.Any] = {} - if vote is not OMIT: - _request["vote"] = vote - if score is not OMIT: - _request["score"] = score - if correct_answer is not OMIT: - _request["correct_answer"] = correct_answer - if outputs is not OMIT: - _request["outputs"] = outputs - if inputs is not OMIT: - _request["inputs"] = inputs - if is_pinned is not OMIT: - _request["is_pinned"] = is_pinned - if note is not OMIT: - _request["note"] = note - _response = await self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/{evaluation_id}/evaluation_scenario/{evaluation_scenario_id}/{evaluation_type}", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def get_evaluation_scenario_score_router_human_evaluations_evaluation_scenario_evaluation_scenario_id_score_get( - self, evaluation_scenario_id: str - ) -> typing.Dict[str, str]: - """ - Fetch the score of a specific evaluation scenario. - - Args: - evaluation_scenario_id: The ID of the evaluation scenario to fetch. - stoken_session: Session data, verified by `verify_session`. - - Returns: - Dictionary containing the scenario ID and its score. - - Parameters: - - evaluation_scenario_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_evaluation_scenario_score_router_human_evaluations_evaluation_scenario_evaluation_scenario_id_score_get( - evaluation_scenario_id="string" - ) - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/evaluation_scenario/{evaluation_scenario_id}/score", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Dict[str, str], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def update_evaluation_scenario_score_router_human_evaluations_evaluation_scenario_evaluation_scenario_id_score_put( - self, evaluation_scenario_id: str, *, score: float - ) -> typing.Any: - """ - Updates the score of an evaluation scenario. - - Raises: - HTTPException: Server error if the evaluation update fails. - - Returns: - None: 204 No Content status code upon successful update. - - Parameters: - - evaluation_scenario_id: str. - - - score: float. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_evaluation_scenario_score_router_human_evaluations_evaluation_scenario_evaluation_scenario_id_score_put( - evaluation_scenario_id="string", score=1.1 - ) - """ - _response = await self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/evaluation_scenario/{evaluation_scenario_id}/score", - ), - json=jsonable_encoder({"score": score}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def fetch_results(self, evaluation_id: str) -> typing.Any: - """ - Fetch all the results for one the comparison table - - Arguments: - evaluation*id -- \_description* - - Returns: - _description_ - - Parameters: - - evaluation_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_results(evaluation_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"human-evaluations/{evaluation_id}/results", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def get_evaluators_endpoint_evaluators_get(self) -> typing.List[Evaluator]: - """ - Endpoint to fetch a list of evaluators. - - Returns: - List[Evaluator]: A list of evaluator objects. - - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_evaluators_endpoint_evaluators_get() - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Evaluator], _response.json()) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def get_evaluator_configs_evaluators_configs_get( - self, *, app_id: str - ) -> typing.List[EvaluatorConfig]: - """ - Endpoint to fetch evaluator configurations for a specific app. - - Args: - app_id (str): The ID of the app. - - Returns: - List[EvaluatorConfigDB]: A list of evaluator configuration objects. - - Parameters: - - app_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_evaluator_configs_evaluators_configs_get(app_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), - params=remove_none_from_dict({"app_id": app_id}), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[EvaluatorConfig], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def create_new_evaluator_config_evaluators_configs_post( - self, - *, - app_id: str, - name: str, - evaluator_key: str, - settings_values: typing.Dict[str, typing.Any], - ) -> EvaluatorConfig: - """ - Endpoint to fetch evaluator configurations for a specific app. - - Args: - app_id (str): The ID of the app. - - Returns: - EvaluatorConfigDB: Evaluator configuration api model. - - Parameters: - - app_id: str. - - - name: str. - - - evaluator_key: str. - - - settings_values: typing.Dict[str, typing.Any]. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_new_evaluator_config_evaluators_configs_post( - app_id="string", - name="string", - evaluator_key="string", - settings_values={"string": {"unknown": "string", "type": "unknown"}}, - ) - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), - json=jsonable_encoder( - { - "app_id": app_id, - "name": name, - "evaluator_key": evaluator_key, - "settings_values": settings_values, - } - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def get_evaluator_config_evaluators_configs_evaluator_config_id_get( - self, evaluator_config_id: str - ) -> EvaluatorConfig: - """ - Endpoint to fetch evaluator configurations for a specific app. - - Returns: - List[EvaluatorConfigDB]: A list of evaluator configuration objects. - - Parameters: - - evaluator_config_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_evaluator_config_evaluators_configs_evaluator_config_id_get(evaluator_config_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def update_evaluator_config_evaluators_configs_evaluator_config_id_put( - self, - evaluator_config_id: str, - *, - name: typing.Optional[str] = OMIT, - evaluator_key: typing.Optional[str] = OMIT, - settings_values: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - ) -> EvaluatorConfig: - """ - Endpoint to update evaluator configurations for a specific app. - - Returns: - List[EvaluatorConfigDB]: A list of evaluator configuration objects. - - Parameters: - - evaluator_config_id: str. - - - name: typing.Optional[str]. - - - evaluator_key: typing.Optional[str]. - - - settings_values: typing.Optional[typing.Dict[str, typing.Any]]. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_evaluator_config_evaluators_configs_evaluator_config_id_put(evaluator_config_id="string") - """ - _request: typing.Dict[str, typing.Any] = {} - if name is not OMIT: - _request["name"] = name - if evaluator_key is not OMIT: - _request["evaluator_key"] = evaluator_key - if settings_values is not OMIT: - _request["settings_values"] = settings_values - _response = await self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def delete_evaluator_config_evaluators_configs_evaluator_config_id_delete( - self, evaluator_config_id: str - ) -> bool: - """ - Endpoint to delete a specific evaluator configuration. - - Args: - evaluator_config_id (str): The unique identifier of the evaluator configuration. - - Returns: - bool: True if deletion was successful, False otherwise. - - Parameters: - - evaluator_config_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_evaluator_config_evaluators_configs_evaluator_config_id_delete(evaluator_config_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(bool, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def upload_file( - self, *, upload_type: str, file: typing.IO, testset_name: str, app_id: str - ) -> TestSetSimpleResponse: - """ - Uploads a CSV or JSON file and saves its data to MongoDB. - - Args: - upload_type : Either a json or csv file. - file (UploadFile): The CSV or JSON file to upload. - testset_name (Optional): the name of the testset if provided. - - Returns: - dict: The result of the upload process. - - Parameters: - - upload_type: str. - - - file: typing.IO. - - - testset_name: str. - - - app_id: str. + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.health_check() """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/upload" - ), - data=jsonable_encoder( - { - "upload_type": upload_type, - "testset_name": testset_name, - "app_id": app_id, - } - ), - files={"file": file}, + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "health"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def import_testset(self) -> TestSetSimpleResponse: + def user_profile(self) -> typing.Any: """ - Import JSON testset data from an endpoint and save it to MongoDB. - - Args: - endpoint (str): An endpoint URL to import data from. - testset_name (str): the name of the testset if provided. - - Returns: - dict: The result of the import process. - - --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.import_testset() + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.user_profile() """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" - ), + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "profile"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_testset( - self, app_id: str, *, request: NewTestset - ) -> TestSetSimpleResponse: - """ - Create a testset with given name and app_name, save the testset to MongoDB. - - Args: - name (str): name of the test set. - app_name (str): name of the application. - testset (Dict[str, str]): test set data. - - Returns: - str: The id of the test set created. - - Parameters: - - app_id: str. - - - request: NewTestset. - --- - from agenta import NewTestset - from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_testset(app_id="string", request=NewTestset(name="string", csvdata=[])) - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, +class AsyncAybruhmApi: + def __init__( + self, + *, + base_url: str, + api_key: str, + timeout: typing.Optional[float] = 60, + httpx_client: typing.Optional[httpx.AsyncClient] = None, + ): + self._client_wrapper = AsyncClientWrapper( + base_url=base_url, + api_key=api_key, + httpx_client=httpx.AsyncClient(timeout=timeout) if httpx_client is None else httpx_client, ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) + self.apps = AsyncAppsClient(client_wrapper=self._client_wrapper) + self.variants = AsyncVariantsClient(client_wrapper=self._client_wrapper) + self.evaluations = AsyncEvaluationsClient(client_wrapper=self._client_wrapper) + self.evaluators = AsyncEvaluatorsClient(client_wrapper=self._client_wrapper) + self.testsets = AsyncTestsetsClient(client_wrapper=self._client_wrapper) + self.containers = AsyncContainersClient(client_wrapper=self._client_wrapper) + self.environments = AsyncEnvironmentsClient(client_wrapper=self._client_wrapper) + self.observability = AsyncObservabilityClient(client_wrapper=self._client_wrapper) + self.bases = AsyncBasesClient(client_wrapper=self._client_wrapper) + self.configs = AsyncConfigsClient(client_wrapper=self._client_wrapper) - async def get_single_testset(self, testset_id: str) -> typing.Any: + async def list_api_keys(self) -> typing.List[ListApiKeysResponse]: """ - Fetch a specific testset in a MongoDB collection using its \_id. + List all API keys associated with the authenticated user. Args: - testset_id (str): The \_id of the testset to fetch. + request (Request): The incoming request object. Returns: - The requested testset if found, else an HTTPException. + List[ListAPIKeysResponse]: A list of API Keys associated with the user. - Parameters: - - testset_id: str. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_single_testset(testset_id="string") + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.list_api_keys() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "keys"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + return pydantic.parse_obj_as(typing.List[ListApiKeysResponse], _response.json()) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_testset( - self, testset_id: str, *, request: NewTestset - ) -> typing.Any: + async def create_api_key(self, *, workspace_id: str) -> str: """ - Update a testset with given id, update the testset in MongoDB. + Creates an API key for a user. Args: - testset_id (str): id of the test set to be updated. - csvdata (NewTestset): New data to replace the old testset. + request (Request): The request object containing the user ID in the request state. Returns: - str: The id of the test set updated. + str: The created API key. Parameters: - - testset_id: str. - - - request: NewTestset. + - workspace_id: str. --- - from agenta import NewTestset - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_testset(testset_id="string", request=NewTestset(name="string", csvdata=[])) - """ - _response = await self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), - json=jsonable_encoder(request), - headers=self._client_wrapper.get_headers(), - timeout=60, + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.create_api_key( + workspace_id="workspace_id", ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputResponse]: - """ - Get all testsets. - - Returns: - - - A list of testset objects. - - Raises: - - - `HTTPException` with status code 404 if no testsets are found. - - Parameters: - - app_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_testsets(app_id="string") """ _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets"), - params=remove_none_from_dict({"app_id": app_id}), + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "keys"), + params=remove_none_from_dict({"workspace_id": workspace_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[TestSetOutputResponse], _response.json()) # type: ignore + return pydantic.parse_obj_as(str, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -5580,35 +1063,41 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_testsets( - self, *, testset_ids: typing.List[str] - ) -> typing.List[str]: + async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ - Delete specific testsets based on their unique IDs. + Delete an API key with the given key prefix for the authenticated user. Args: - testset_ids (List[str]): The unique identifiers of the testsets to delete. + key_prefix (str): The prefix of the API key to be deleted. + request (Request): The incoming request object. Returns: - A list of the deleted testsets' IDs. + dict: A dictionary containing a success message upon successful deletion. + + Raises: + HTTPException: If the API key is not found or does not belong to the user. Parameters: - - testset_ids: typing.List[str]. + - key_prefix: str. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_testsets(testset_ids=[]) + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.delete_api_key( + key_prefix="key_prefix", + ) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets"), - json=jsonable_encoder({"testset_ids": testset_ids}), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.Dict[str, typing.Any], _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -5617,196 +1106,116 @@ async def delete_testsets( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def build_image( - self, *, app_id: str, base_name: str, tar_file: typing.IO - ) -> Image: + async def validate_api_key(self, key_prefix: str) -> bool: """ - Builds a Docker image from a tar file containing the application code. - - Args: - app_id (str): The ID of the application to build the image for. - base_name (str): The base name of the image to build. - tar_file (UploadFile): The tar file containing the application code. - stoken_session (SessionContainer): The session container for the user making the request. - + This Function is called by the CLI and is used to validate an API key provided by a user in agenta init setup. Returns: - Image: The Docker image that was built. - - Parameters: - - app_id: str. - - - base_name: str. - - - tar_file: typing.IO. - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/build_image" - ), - params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), - data=jsonable_encoder({}), - files={"tar_file": tar_file}, - headers=self._client_wrapper.get_headers(), - timeout=600, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Image, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def restart_container( - self, *, variant_id: str - ) -> typing.Dict[str, typing.Any]: - """ - Restart docker container. - - Args: - payload (RestartAppContainer) -- the required data (app_name and variant_name) + bool: True. If the request reaches this point, the API key is valid. Parameters: - - variant_id: str. + - key_prefix: str. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.restart_container(variant_id="string") - """ - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "containers/restart_container", - ), - json=jsonable_encoder({"variant_id": variant_id}), - headers=self._client_wrapper.get_headers(), - timeout=60, + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.validate_api_key( + key_prefix="key_prefix", ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.Dict[str, typing.Any], _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def container_templates(self) -> ContainerTemplatesResponse: - """ - Returns a list of templates available for creating new containers. - - Parameters: - stoken_session (SessionContainer): The session container for the user. - - Returns: - - Union[List[Template], str]: A list of templates or an error message. """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/templates" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(ContainerTemplatesResponse, _response.json()) # type: ignore + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def construct_app_container_url( - self, - *, - base_id: typing.Optional[str] = None, - variant_id: typing.Optional[str] = None, - ) -> Uri: + async def list_organizations(self) -> typing.List[Organization]: """ - Constructs the URL for an app container based on the provided base_id or variant_id. + Returns a list of organizations associated with the user's session. Args: - base_id (Optional[str]): The ID of the base to use for the app container. - variant_id (Optional[str]): The ID of the variant to use for the app container. - stoken_session (SessionContainer): The session container for the user. + stoken_session (SessionContainer): The user's session token. Returns: - URI: The URI for the app container. + list[Organization]: A list of organizations associated with the user's session. Raises: - HTTPException: If the base or variant cannot be found or the user does not have access. - - Parameters: - - base_id: typing.Optional[str]. + HTTPException: If there is an error retrieving the organizations from the database. - - variant_id: typing.Optional[str]. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.construct_app_container_url() + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.list_organizations() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/container_url" - ), - params=remove_none_from_dict( - {"base_id": base_id, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Uri, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + return pydantic.parse_obj_as(typing.List[Organization], _response.json()) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def deploy_to_environment( - self, *, environment_name: str, variant_id: str + async def create_organization( + self, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, + owner: typing.Optional[str] = OMIT, ) -> typing.Any: """ - Deploys a given variant to an environment - - Args: - environment_name: Name of the environment to deploy to. - variant_id: variant id to deploy. - stoken_session: . Defaults to Depends(verify_session()). + Parameters: + - name: str. - Raises: - HTTPException: If the deployment fails. + - description: typing.Optional[str]. - Parameters: - - environment_name: str. + - type: typing.Optional[str]. - - variant_id: str. + - owner: typing.Optional[str]. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.deploy_to_environment(environment_name="string", variant_id="string") + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.create_organization( + name="name", + ) """ + _request: typing.Dict[str, typing.Any] = {"name": name} + if description is not OMIT: + _request["description"] = description + if type is not OMIT: + _request["type"] = type + if owner is not OMIT: + _request["owner"] = owner _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "environments/deploy" - ), - json=jsonable_encoder( - {"environment_name": environment_name, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -5820,114 +1229,62 @@ async def deploy_to_environment( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_trace( - self, - *, - app_id: typing.Optional[str] = OMIT, - variant_id: typing.Optional[str] = OMIT, - cost: typing.Optional[float] = OMIT, - latency: float, - status: str, - token_consumption: typing.Optional[int] = OMIT, - tags: typing.Optional[typing.List[str]] = OMIT, - start_time: dt.datetime, - end_time: dt.datetime, - spans: typing.List[str], - ) -> str: + async def get_own_org(self) -> OrganizationOutput: """ - Parameters: - - app_id: typing.Optional[str]. - - - variant_id: typing.Optional[str]. + from aybruhm.client import AsyncAybruhmApi - - cost: typing.Optional[float]. - - - latency: float. - - - status: str. - - - token_consumption: typing.Optional[int]. - - - tags: typing.Optional[typing.List[str]]. - - - start_time: dt.datetime. - - - end_time: dt.datetime. - - - spans: typing.List[str]. - --- - import datetime - - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_trace( - latency=1.1, - status="string", - start_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), - end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), - spans=[], + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", ) + await client.get_own_org() """ - _request: typing.Dict[str, typing.Any] = { - "latency": latency, - "status": status, - "start_time": start_time, - "end_time": end_time, - "spans": spans, - } - if app_id is not OMIT: - _request["app_id"] = app_id - if variant_id is not OMIT: - _request["variant_id"] = variant_id - if cost is not OMIT: - _request["cost"] = cost - if token_consumption is not OMIT: - _request["token_consumption"] = token_consumption - if tags is not OMIT: - _request["tags"] = tags - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), - json=jsonable_encoder(_request), + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(str, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + return pydantic.parse_obj_as(OrganizationOutput, _response.json()) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_traces(self, app_id: str, variant_id: str) -> typing.List[Trace]: + async def fetch_organization_details(self, org_id: str) -> typing.Any: """ - Parameters: - - app_id: str. + Get an organization's details. + + Raises: + HTTPException: _description_ + Permission Denied + + Returns: + OrganizationDB Instance - - variant_id: str. + Parameters: + - org_id: str. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_traces(app_id="string", variant_id="string") + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.fetch_organization_details( + org_id="org_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{app_id}/{variant_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Trace], _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -5936,27 +1293,50 @@ async def get_traces(self, app_id: str, variant_id: str) -> typing.List[Trace]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_single_trace(self, trace_id: str) -> Trace: + async def update_organization( + self, + org_id: str, + *, + name: typing.Optional[str] = OMIT, + description: typing.Optional[str] = OMIT, + updated_at: typing.Optional[dt.datetime] = OMIT, + ) -> typing.Any: """ Parameters: - - trace_id: str. + - org_id: str. + + - name: typing.Optional[str]. + + - description: typing.Optional[str]. + + - updated_at: typing.Optional[dt.datetime]. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_single_trace(trace_id="string") + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.update_organization( + org_id="org_id", + ) """ + _request: typing.Dict[str, typing.Any] = {} + if name is not OMIT: + _request["name"] = name + if description is not OMIT: + _request["description"] = description + if updated_at is not OMIT: + _request["updated_at"] = updated_at _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Trace, _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -5965,30 +1345,46 @@ async def get_single_trace(self, trace_id: str) -> Trace: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_trace_status(self, trace_id: str, *, status: str) -> bool: + async def invite_user_to_workspace( + self, org_id: str, workspace_id: str, *, request: typing.List[InviteRequest] + ) -> typing.Any: """ Parameters: - - trace_id: str. + - org_id: str. + + - workspace_id: str. - - status: str. + - request: typing.List[InviteRequest]. --- - from agenta.client import AsyncAgentaApi + from aybruhm import InviteRequest + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_trace_status(trace_id="string", status="string") + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.invite_user_to_workspace( + org_id="org_id", + workspace_id="workspace_id", + request=[ + InviteRequest( + email="email", + roles=["roles"], + ) + ], + ) """ _response = await self._client_wrapper.httpx_client.request( - "PUT", + "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" ), - json=jsonable_encoder({"status": status}), + json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -5997,113 +1393,49 @@ async def update_trace_status(self, trace_id: str, *, status: str) -> bool: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_span( - self, - *, - parent_span_id: typing.Optional[str] = OMIT, - meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - event_name: str, - event_type: typing.Optional[str] = OMIT, - start_time: dt.datetime, - duration: typing.Optional[int] = OMIT, - status: str, - end_time: dt.datetime, - inputs: typing.Optional[typing.List[str]] = OMIT, - outputs: typing.Optional[typing.List[str]] = OMIT, - prompt_template: typing.Optional[str] = OMIT, - tokens_input: typing.Optional[int] = OMIT, - tokens_output: typing.Optional[int] = OMIT, - token_total: typing.Optional[int] = OMIT, - cost: typing.Optional[float] = OMIT, - tags: typing.Optional[typing.List[str]] = OMIT, - ) -> str: + async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: """ - Parameters: - - parent_span_id: typing.Optional[str]. - - - meta: typing.Optional[typing.Dict[str, typing.Any]]. - - - event_name: str. - - - event_type: typing.Optional[str]. - - - start_time: dt.datetime. - - - duration: typing.Optional[int]. - - - status: str. - - - end_time: dt.datetime. - - - inputs: typing.Optional[typing.List[str]]. - - - outputs: typing.Optional[typing.List[str]]. - - - prompt_template: typing.Optional[str]. + Resend an invitation to a user to an Organization. - - tokens_input: typing.Optional[int]. + Raises: + HTTPException: _description_; status_code: 500 + HTTPException: Invitation not found or has expired; status_code: 400 + HTTPException: You already belong to this organization; status_code: 400 - - tokens_output: typing.Optional[int]. + Returns: + JSONResponse: Resent invitation to user; status_code: 200 - - token_total: typing.Optional[int]. + Parameters: + - org_id: str. - - cost: typing.Optional[float]. + - workspace_id: str. - - tags: typing.Optional[typing.List[str]]. + - email: str. --- - import datetime + from aybruhm.client import AsyncAybruhmApi - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_span( - event_name="string", - start_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), - status="string", - end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.resend_invitation( + org_id="org_id", + workspace_id="workspace_id", + email="email", ) """ - _request: typing.Dict[str, typing.Any] = { - "event_name": event_name, - "start_time": start_time, - "status": status, - "end_time": end_time, - } - if parent_span_id is not OMIT: - _request["parent_span_id"] = parent_span_id - if meta is not OMIT: - _request["meta"] = meta - if event_type is not OMIT: - _request["event_type"] = event_type - if duration is not OMIT: - _request["duration"] = duration - if inputs is not OMIT: - _request["inputs"] = inputs - if outputs is not OMIT: - _request["outputs"] = outputs - if prompt_template is not OMIT: - _request["prompt_template"] = prompt_template - if tokens_input is not OMIT: - _request["tokens_input"] = tokens_input - if tokens_output is not OMIT: - _request["tokens_output"] = tokens_output - if token_total is not OMIT: - _request["token_total"] = token_total - if cost is not OMIT: - _request["cost"] = cost - if tags is not OMIT: - _request["tags"] = tags _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}/invite/resend", ), - json=jsonable_encoder(_request), + json=jsonable_encoder({"email": email}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(str, _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -6112,27 +1444,49 @@ async def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_spans_of_trace(self, trace_id: str) -> typing.List[Span]: + async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: """ + Accept an invitation to a workspace. + + Raises: + HTTPException: _description_; status_code: 500 + HTTPException: Invitation not found or has expired; status_code: 400 + HTTPException: You already belong to this organization; status_code: 400 + + Returns: + JSONResponse: Accepted invitation to workspace; status_code: 200 + Parameters: - - trace_id: str. + - org_id: str. + + - workspace_id: str. + + - token: str. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_spans_of_trace(trace_id="string") + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.accept_invitation( + org_id="org_id", + workspace_id="workspace_id", + token="token", + ) """ _response = await self._client_wrapper.httpx_client.request( - "GET", + "POST", urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{trace_id}", + f"organizations/{org_id}/workspaces/{workspace_id}/invite/accept", ), + json=jsonable_encoder({"token": token}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Span], _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -6141,27 +1495,44 @@ async def get_spans_of_trace(self, trace_id: str) -> typing.List[Span]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: + async def create_workspace( + self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT + ) -> WorkspaceResponse: """ Parameters: - - trace_id: str. + - org_id: str. + + - name: str. + + - description: typing.Optional[str]. + + - type: typing.Optional[str]. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_feedbacks(trace_id="string") + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.create_workspace( + org_id="org_id", + name="name", + ) """ + _request: typing.Dict[str, typing.Any] = {"name": name} + if description is not OMIT: + _request["description"] = description + if type is not OMIT: + _request["type"] = type _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Feedback], _response.json()) # type: ignore + return pydantic.parse_obj_as(WorkspaceResponse, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -6170,48 +1541,56 @@ async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_feedback( + async def update_workspace( self, - trace_id: str, + org_id: str, + workspace_id: str, *, - feedback: typing.Optional[str] = OMIT, - score: typing.Optional[float] = OMIT, - meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - ) -> str: + name: typing.Optional[str] = OMIT, + description: typing.Optional[str] = OMIT, + updated_at: typing.Optional[dt.datetime] = OMIT, + ) -> WorkspaceResponse: """ Parameters: - - trace_id: str. + - org_id: str. - - feedback: typing.Optional[str]. + - workspace_id: str. - - score: typing.Optional[float]. + - name: typing.Optional[str]. + + - description: typing.Optional[str]. - - meta: typing.Optional[typing.Dict[str, typing.Any]]. + - updated_at: typing.Optional[dt.datetime]. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_feedback(trace_id="string") + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.update_workspace( + org_id="org_id", + workspace_id="workspace_id", + ) """ _request: typing.Dict[str, typing.Any] = {} - if feedback is not OMIT: - _request["feedback"] = feedback - if score is not OMIT: - _request["score"] = score - if meta is not OMIT: - _request["meta"] = meta + if name is not OMIT: + _request["name"] = name + if description is not OMIT: + _request["description"] = description + if updated_at is not OMIT: + _request["updated_at"] = updated_at _response = await self._client_wrapper.httpx_client.request( - "POST", + "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(str, _response.json()) # type: ignore + return pydantic.parse_obj_as(WorkspaceResponse, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -6220,185 +1599,239 @@ async def create_feedback( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: + async def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ - Parameters: - - trace_id: str. + Get all workspace roles. + + Returns a list of all available workspace roles. + + Returns: + List[WorkspaceRoleResponse]: A list of WorkspaceRole objects representing the available workspace roles. + + Raises: + HTTPException: If an error occurs while retrieving the workspace roles. - - feedback_id: str. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_feedback(trace_id="string", feedback_id="string") + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.get_all_workspace_roles() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Feedback, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + return pydantic.parse_obj_as(typing.List[WorkspaceRoleResponse], _response.json()) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_feedback( - self, - trace_id: str, - feedback_id: str, - *, - feedback: str, - score: typing.Optional[float] = OMIT, - meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - ) -> Feedback: + async def get_all_workspace_permissions(self) -> typing.List[Permission]: """ - Parameters: - - trace_id: str. + Get all workspace permissions. - - feedback_id: str. + Returns a list of all available workspace permissions. - - feedback: str. + Returns: + List[Permission]: A list of Permission objects representing the available workspace permissions. - - score: typing.Optional[float]. + Raises: + HTTPException: If there is an error retrieving the workspace permissions. - - meta: typing.Optional[typing.Dict[str, typing.Any]]. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_feedback(trace_id="string", feedback_id="string", feedback="string") + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.get_all_workspace_permissions() """ - _request: typing.Dict[str, typing.Any] = {"feedback": feedback} - if score is not OMIT: - _request["score"] = score - if meta is not OMIT: - _request["meta"] = meta _response = await self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", - ), - json=jsonable_encoder(_request), + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(Feedback, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + return pydantic.parse_obj_as(typing.List[Permission], _response.json()) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def list_organizations(self) -> typing.List[Organization]: + async def assign_role_to_user( + self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT + ) -> bool: """ - Returns a list of organizations associated with the user's session. + Assigns a role to a user in a workspace. Args: - stoken_session (SessionContainer): The user's session token. + payload (UserRole): The payload containing the organization id, user email, and role to assign. + workspace_id (str): The ID of the workspace. + request (Request): The FastAPI request object. Returns: - list[Organization]: A list of organizations associated with the user's session. + bool: True if the role was successfully assigned, False otherwise. Raises: - HTTPException: If there is an error retrieving the organizations from the database. + HTTPException: If the user does not have permission to perform this action. + HTTPException: If there is an error assigning the role to the user. + + Parameters: + - workspace_id: str. + + - email: str. + - organization_id: str. + + - role: typing.Optional[WorkspaceRole]. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.list_organizations() + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.assign_role_to_user( + workspace_id="workspace_id", + email="email", + organization_id="organization_id", + ) """ + _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} + if role is not OMIT: + _request["role"] = role.value _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Organization], _response.json()) # type: ignore + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_own_org(self) -> OrganizationOutput: + async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: """ - from agenta.client import AsyncAgentaApi + Delete a role assignment from a user in a workspace. - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_own_org() + Args: + workspace_id (str): The ID of the workspace. + email (str): The email of the user to remove the role from. + org_id (str): The ID of the organization. + role (str): The role to remove from the user. + request (Request): The FastAPI request object. + + Returns: + bool: True if the role assignment was successfully deleted. + + Raises: + HTTPException: If there is an error in the request or the user does not have permission to perform the action. + HTTPException: If there is an error in updating the user's roles. + + Parameters: + - workspace_id: str. + + - email: str. + + - org_id: str. + + - role: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.unassign_role_from_user( + workspace_id="workspace_id", + email="email", + org_id="org_id", + role="role", + ) """ _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations/own" - ), + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(OrganizationOutput, _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def list_bases( - self, - *, - app_id: typing.Optional[str] = None, - base_name: typing.Optional[str] = None, - ) -> typing.List[BaseOutput]: + async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: """ - Retrieve a list of bases filtered by app_id and base_name. + Remove a user from a workspace. - Args: - request (Request): The incoming request. - app_id (Optional[str], optional): The ID of the app to filter by. Defaults to None. - base_name (Optional[str], optional): The name of the base to filter by. Defaults to None. + Parameters: + + - payload (UserRole): The payload containing the user email and organization ID. + - workspace_id (str): The ID of the workspace. + - request (Request): The FastAPI request object. Returns: - List[BaseOutput]: A list of BaseOutput objects representing the filtered bases. + + - WorkspaceResponse: The updated workspace. Raises: - HTTPException: If there was an error retrieving the bases. + + - HTTPException: If the user does not have permission to perform this action. + - HTTPException: If there is an error during the removal process. Parameters: - - app_id: typing.Optional[str]. + - workspace_id: str. + + - org_id: str. - - base_name: typing.Optional[str]. + - email: str. --- - from agenta.client import AsyncAgentaApi + from aybruhm.client import AsyncAybruhmApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.list_bases() + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.remove_user_from_workspace( + workspace_id="workspace_id", + org_id="org_id", + email="email", + ) """ _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "bases"), - params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), + params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[BaseOutput], _response.json()) # type: ignore + return pydantic.parse_obj_as(WorkspaceResponse, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -6407,95 +1840,48 @@ async def list_bases( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_config( - self, - *, - base_id: str, - config_name: typing.Optional[str] = None, - environment_name: typing.Optional[str] = None, - ) -> GetConfigReponse: + async def health_check(self) -> typing.Any: """ - Parameters: - - base_id: str. - - - config_name: typing.Optional[str]. + from aybruhm.client import AsyncAybruhmApi - - environment_name: typing.Optional[str]. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_config(base_id="string") + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.health_check() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), - params=remove_none_from_dict( - { - "base_id": base_id, - "config_name": config_name, - "environment_name": environment_name, - } - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "health"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(GetConfigReponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore try: _response_json = _response.json() except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def save_config( - self, - *, - base_id: str, - config_name: str, - parameters: typing.Dict[str, typing.Any], - overwrite: bool, - ) -> typing.Any: + async def user_profile(self) -> typing.Any: """ - Parameters: - - base_id: str. - - - config_name: str. - - - parameters: typing.Dict[str, typing.Any]. + from aybruhm.client import AsyncAybruhmApi - - overwrite: bool. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.save_config( - base_id="string", - config_name="string", - parameters={"string": {"unknown": "string", "type": "unknown"}}, - overwrite=True, + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", ) + await client.user_profile() """ _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), - json=jsonable_encoder( - { - "base_id": base_id, - "config_name": config_name, - "parameters": parameters, - "overwrite": overwrite, - } - ), + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "profile"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: _response_json = _response.json() except JSONDecodeError: diff --git a/agenta-cli/agenta/client/backend/core/api_error.py b/agenta-cli/agenta/client/backend/core/api_error.py index da734b5806..2e9fc5431c 100644 --- a/agenta-cli/agenta/client/backend/core/api_error.py +++ b/agenta-cli/agenta/client/backend/core/api_error.py @@ -7,9 +7,7 @@ class ApiError(Exception): status_code: typing.Optional[int] body: typing.Any - def __init__( - self, *, status_code: typing.Optional[int] = None, body: typing.Any = None - ): + def __init__(self, *, status_code: typing.Optional[int] = None, body: typing.Any = None): self.status_code = status_code self.body = body diff --git a/agenta-cli/agenta/client/backend/core/datetime_utils.py b/agenta-cli/agenta/client/backend/core/datetime_utils.py index 47344e9d9c..7c9864a944 100644 --- a/agenta-cli/agenta/client/backend/core/datetime_utils.py +++ b/agenta-cli/agenta/client/backend/core/datetime_utils.py @@ -13,9 +13,7 @@ def serialize_datetime(v: dt.datetime) -> str: """ def _serialize_zoned_datetime(v: dt.datetime) -> str: - if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname( - None - ): + if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname(None): # UTC is a special case where we use "Z" at the end instead of "+00:00" return v.isoformat().replace("+00:00", "Z") else: diff --git a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py index 0e297e18f0..37238ab679 100644 --- a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py +++ b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py @@ -30,22 +30,16 @@ def generate_encoders_by_class_tuples( type_encoder_map: Dict[Any, Callable[[Any], Any]] ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]: - encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict( - tuple - ) + encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(tuple) for type_, encoder in type_encoder_map.items(): encoders_by_class_tuples[encoder] += (type_,) return encoders_by_class_tuples -encoders_by_class_tuples = generate_encoders_by_class_tuples( - pydantic.json.ENCODERS_BY_TYPE -) +encoders_by_class_tuples = generate_encoders_by_class_tuples(pydantic.json.ENCODERS_BY_TYPE) -def jsonable_encoder( - obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None -) -> Any: +def jsonable_encoder(obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None) -> Any: custom_encoder = custom_encoder or {} if custom_encoder: if type(obj) in custom_encoder: diff --git a/agenta-cli/agenta/client/backend/resources/__init__.py b/agenta-cli/agenta/client/backend/resources/__init__.py new file mode 100644 index 0000000000..6a7c8f0ca8 --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/__init__.py @@ -0,0 +1,20 @@ +# This file was auto-generated by Fern from our API Definition. + +from . import apps, bases, configs, containers, environments, evaluations, evaluators, observability, testsets, variants +from .containers import ContainerTemplatesResponse +from .variants import AddVariantFromBaseAndConfigResponse + +__all__ = [ + "AddVariantFromBaseAndConfigResponse", + "ContainerTemplatesResponse", + "apps", + "bases", + "configs", + "containers", + "environments", + "evaluations", + "evaluators", + "observability", + "testsets", + "variants", +] diff --git a/agenta-cli/agenta/client/backend/resources/apps/__init__.py b/agenta-cli/agenta/client/backend/resources/apps/__init__.py new file mode 100644 index 0000000000..f3ea2659bb --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/apps/__init__.py @@ -0,0 +1,2 @@ +# This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/apps/client.py b/agenta-cli/agenta/client/backend/resources/apps/client.py new file mode 100644 index 0000000000..35055c50aa --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/apps/client.py @@ -0,0 +1,915 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing +import urllib.parse +from json.decoder import JSONDecodeError + +from ...core.api_error import ApiError +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.jsonable_encoder import jsonable_encoder +from ...core.remove_none_from_dict import remove_none_from_dict +from ...errors.unprocessable_entity_error import UnprocessableEntityError +from ...types.app import App +from ...types.app_variant_response import AppVariantResponse +from ...types.create_app_output import CreateAppOutput +from ...types.environment_output import EnvironmentOutput +from ...types.environment_output_extended import EnvironmentOutputExtended +from ...types.http_validation_error import HttpValidationError + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class AppsClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: + """ + Retrieve a list of app variants for a given app ID. + + Args: + app_id (str): The ID of the app to retrieve variants for. + stoken_session (SessionContainer, optional): The session container to verify the user's session. Defaults to Depends(verify_session()). + + Returns: + List[AppVariantResponse]: A list of app variants for the given app ID. + + Parameters: + - app_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.list_app_variants( + app_id="app_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[AppVariantResponse], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: + """ + Retrieve the app variant based on the provided app_id and environment. + + Args: + app_id (str): The ID of the app to retrieve the variant for. + environment (str): The environment of the app variant to retrieve. + stoken_session (SessionContainer, optional): The session token container. Defaults to Depends(verify_session()). + + Raises: + HTTPException: If the app variant is not found (status_code=500), or if a ValueError is raised (status_code=400), or if any other exception is raised (status_code=500). + + Returns: + AppVariantResponse: The retrieved app variant. + + Parameters: + - app_id: str. + + - environment: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.get_variant_by_env( + app_id="app_id", + environment="environment", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), + params=remove_none_from_dict({"app_id": app_id, "environment": environment}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AppVariantResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def list_apps( + self, + *, + app_name: typing.Optional[str] = None, + org_id: typing.Optional[str] = None, + workspace_id: typing.Optional[str] = None, + ) -> typing.List[App]: + """ + Retrieve a list of apps filtered by app_name and org_id. + + Args: + app_name (Optional[str]): The name of the app to filter by. + org_id (Optional[str]): The ID of the organization to filter by. + stoken_session (SessionContainer): The session container. + + Returns: + List[App]: A list of apps filtered by app_name and org_id. + + Raises: + HTTPException: If there was an error retrieving the list of apps. + + Parameters: + - app_name: typing.Optional[str]. + + - org_id: typing.Optional[str]. + + - workspace_id: typing.Optional[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.list_apps() + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), + params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[App], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def create_app( + self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT + ) -> CreateAppOutput: + """ + Create a new app for a user or organization. + + Args: + payload (CreateApp): The payload containing the app name and organization ID (optional). + stoken_session (SessionContainer): The session container containing the user's session token. + + Returns: + CreateAppOutput: The output containing the newly created app's ID and name. + + Raises: + HTTPException: If there is an error creating the app or the user does not have permission to access the app. + + Parameters: + - app_name: str. + + - organization_id: typing.Optional[str]. + + - workspace_id: typing.Optional[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.create_app( + app_name="app_name", + ) + """ + _request: typing.Dict[str, typing.Any] = {"app_name": app_name} + if organization_id is not OMIT: + _request["organization_id"] = organization_id + if workspace_id is not OMIT: + _request["workspace_id"] = workspace_id + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(CreateAppOutput, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def add_variant_from_image( + self, + app_id: str, + *, + variant_name: str, + docker_id: str, + tags: str, + base_name: typing.Optional[str] = OMIT, + config_name: typing.Optional[str] = OMIT, + ) -> typing.Any: + """ + Add a new variant to an app based on a Docker image. + + Args: + app_id (str): The ID of the app to add the variant to. + payload (AddVariantFromImagePayload): The payload containing information about the variant to add. + stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). + + Raises: + HTTPException: If the feature flag is set to "demo" or if the image does not have a tag starting with the registry name (agenta-server) or if the image is not found or if the user does not have access to the app. + + Returns: + dict: The newly added variant. + + Parameters: + - app_id: str. + + - variant_name: str. + + - docker_id: str. + + - tags: str. + + - base_name: typing.Optional[str]. + + - config_name: typing.Optional[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.add_variant_from_image( + app_id="app_id", + variant_name="variant_name", + docker_id="docker_id", + tags="tags", + ) + """ + _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} + if base_name is not OMIT: + _request["base_name"] = base_name + if config_name is not OMIT: + _request["config_name"] = config_name + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def remove_app(self, app_id: str) -> typing.Any: + """ + Remove app, all its variant, containers and images + + Arguments: + app -- App to remove + + Parameters: + - app_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.remove_app( + app_id="app_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def create_app_and_variant_from_template( + self, + *, + app_name: str, + template_id: str, + env_vars: typing.Dict[str, str], + organization_id: typing.Optional[str] = OMIT, + workspace_id: typing.Optional[str] = OMIT, + ) -> AppVariantResponse: + """ + Create an app and variant from a template. + + Args: + payload (CreateAppVariant): The payload containing the app and variant information. + stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). + + Raises: + HTTPException: If the user has reached the app limit or if an app with the same name already exists. + + Returns: + AppVariantResponse: The output of the created app variant. + + Parameters: + - app_name: str. + + - template_id: str. + + - env_vars: typing.Dict[str, str]. + + - organization_id: typing.Optional[str]. + + - workspace_id: typing.Optional[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.create_app_and_variant_from_template( + app_name="app_name", + template_id="template_id", + env_vars={"env_vars": "env_vars"}, + ) + """ + _request: typing.Dict[str, typing.Any] = { + "app_name": app_name, + "template_id": template_id, + "env_vars": env_vars, + } + if organization_id is not OMIT: + _request["organization_id"] = organization_id + if workspace_id is not OMIT: + _request["workspace_id"] = workspace_id + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AppVariantResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: + """ + Retrieve a list of environments for a given app ID. + + Args: + app_id (str): The ID of the app to retrieve environments for. + stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). + + Returns: + List[EnvironmentOutput]: A list of environment objects. + + Parameters: + - app_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.list_environments( + app_id="app_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[EnvironmentOutput], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: + """ + Parameters: + - app_id: str. + + - environment_name: typing.Any. + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(EnvironmentOutputExtended, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + +class AsyncAppsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: + """ + Retrieve a list of app variants for a given app ID. + + Args: + app_id (str): The ID of the app to retrieve variants for. + stoken_session (SessionContainer, optional): The session container to verify the user's session. Defaults to Depends(verify_session()). + + Returns: + List[AppVariantResponse]: A list of app variants for the given app ID. + + Parameters: + - app_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.list_app_variants( + app_id="app_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[AppVariantResponse], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: + """ + Retrieve the app variant based on the provided app_id and environment. + + Args: + app_id (str): The ID of the app to retrieve the variant for. + environment (str): The environment of the app variant to retrieve. + stoken_session (SessionContainer, optional): The session token container. Defaults to Depends(verify_session()). + + Raises: + HTTPException: If the app variant is not found (status_code=500), or if a ValueError is raised (status_code=400), or if any other exception is raised (status_code=500). + + Returns: + AppVariantResponse: The retrieved app variant. + + Parameters: + - app_id: str. + + - environment: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.get_variant_by_env( + app_id="app_id", + environment="environment", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), + params=remove_none_from_dict({"app_id": app_id, "environment": environment}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AppVariantResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def list_apps( + self, + *, + app_name: typing.Optional[str] = None, + org_id: typing.Optional[str] = None, + workspace_id: typing.Optional[str] = None, + ) -> typing.List[App]: + """ + Retrieve a list of apps filtered by app_name and org_id. + + Args: + app_name (Optional[str]): The name of the app to filter by. + org_id (Optional[str]): The ID of the organization to filter by. + stoken_session (SessionContainer): The session container. + + Returns: + List[App]: A list of apps filtered by app_name and org_id. + + Raises: + HTTPException: If there was an error retrieving the list of apps. + + Parameters: + - app_name: typing.Optional[str]. + + - org_id: typing.Optional[str]. + + - workspace_id: typing.Optional[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.list_apps() + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), + params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[App], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def create_app( + self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT + ) -> CreateAppOutput: + """ + Create a new app for a user or organization. + + Args: + payload (CreateApp): The payload containing the app name and organization ID (optional). + stoken_session (SessionContainer): The session container containing the user's session token. + + Returns: + CreateAppOutput: The output containing the newly created app's ID and name. + + Raises: + HTTPException: If there is an error creating the app or the user does not have permission to access the app. + + Parameters: + - app_name: str. + + - organization_id: typing.Optional[str]. + + - workspace_id: typing.Optional[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.create_app( + app_name="app_name", + ) + """ + _request: typing.Dict[str, typing.Any] = {"app_name": app_name} + if organization_id is not OMIT: + _request["organization_id"] = organization_id + if workspace_id is not OMIT: + _request["workspace_id"] = workspace_id + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(CreateAppOutput, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def add_variant_from_image( + self, + app_id: str, + *, + variant_name: str, + docker_id: str, + tags: str, + base_name: typing.Optional[str] = OMIT, + config_name: typing.Optional[str] = OMIT, + ) -> typing.Any: + """ + Add a new variant to an app based on a Docker image. + + Args: + app_id (str): The ID of the app to add the variant to. + payload (AddVariantFromImagePayload): The payload containing information about the variant to add. + stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). + + Raises: + HTTPException: If the feature flag is set to "demo" or if the image does not have a tag starting with the registry name (agenta-server) or if the image is not found or if the user does not have access to the app. + + Returns: + dict: The newly added variant. + + Parameters: + - app_id: str. + + - variant_name: str. + + - docker_id: str. + + - tags: str. + + - base_name: typing.Optional[str]. + + - config_name: typing.Optional[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.add_variant_from_image( + app_id="app_id", + variant_name="variant_name", + docker_id="docker_id", + tags="tags", + ) + """ + _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} + if base_name is not OMIT: + _request["base_name"] = base_name + if config_name is not OMIT: + _request["config_name"] = config_name + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def remove_app(self, app_id: str) -> typing.Any: + """ + Remove app, all its variant, containers and images + + Arguments: + app -- App to remove + + Parameters: + - app_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.remove_app( + app_id="app_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def create_app_and_variant_from_template( + self, + *, + app_name: str, + template_id: str, + env_vars: typing.Dict[str, str], + organization_id: typing.Optional[str] = OMIT, + workspace_id: typing.Optional[str] = OMIT, + ) -> AppVariantResponse: + """ + Create an app and variant from a template. + + Args: + payload (CreateAppVariant): The payload containing the app and variant information. + stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). + + Raises: + HTTPException: If the user has reached the app limit or if an app with the same name already exists. + + Returns: + AppVariantResponse: The output of the created app variant. + + Parameters: + - app_name: str. + + - template_id: str. + + - env_vars: typing.Dict[str, str]. + + - organization_id: typing.Optional[str]. + + - workspace_id: typing.Optional[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.create_app_and_variant_from_template( + app_name="app_name", + template_id="template_id", + env_vars={"env_vars": "env_vars"}, + ) + """ + _request: typing.Dict[str, typing.Any] = { + "app_name": app_name, + "template_id": template_id, + "env_vars": env_vars, + } + if organization_id is not OMIT: + _request["organization_id"] = organization_id + if workspace_id is not OMIT: + _request["workspace_id"] = workspace_id + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AppVariantResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: + """ + Retrieve a list of environments for a given app ID. + + Args: + app_id (str): The ID of the app to retrieve environments for. + stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). + + Returns: + List[EnvironmentOutput]: A list of environment objects. + + Parameters: + - app_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.list_environments( + app_id="app_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[EnvironmentOutput], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: + """ + Parameters: + - app_id: str. + + - environment_name: typing.Any. + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(EnvironmentOutputExtended, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/agenta-cli/agenta/client/backend/resources/bases/__init__.py b/agenta-cli/agenta/client/backend/resources/bases/__init__.py new file mode 100644 index 0000000000..f3ea2659bb --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/bases/__init__.py @@ -0,0 +1,2 @@ +# This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/bases/client.py b/agenta-cli/agenta/client/backend/resources/bases/client.py new file mode 100644 index 0000000000..a0c3d0f845 --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/bases/client.py @@ -0,0 +1,121 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing +import urllib.parse +from json.decoder import JSONDecodeError + +from ...core.api_error import ApiError +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.remove_none_from_dict import remove_none_from_dict +from ...errors.unprocessable_entity_error import UnprocessableEntityError +from ...types.base_output import BaseOutput +from ...types.http_validation_error import HttpValidationError + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class BasesClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def list_bases( + self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None + ) -> typing.List[BaseOutput]: + """ + Retrieve a list of bases filtered by app_id and base_name. + + Args: + request (Request): The incoming request. + app_id (Optional[str], optional): The ID of the app to filter by. Defaults to None. + base_name (Optional[str], optional): The name of the base to filter by. Defaults to None. + + Returns: + List[BaseOutput]: A list of BaseOutput objects representing the filtered bases. + + Raises: + HTTPException: If there was an error retrieving the bases. + + Parameters: + - app_id: typing.Optional[str]. + + - base_name: typing.Optional[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.bases.list_bases() + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "bases"), + params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[BaseOutput], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + +class AsyncBasesClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def list_bases( + self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None + ) -> typing.List[BaseOutput]: + """ + Retrieve a list of bases filtered by app_id and base_name. + + Args: + request (Request): The incoming request. + app_id (Optional[str], optional): The ID of the app to filter by. Defaults to None. + base_name (Optional[str], optional): The name of the base to filter by. Defaults to None. + + Returns: + List[BaseOutput]: A list of BaseOutput objects representing the filtered bases. + + Raises: + HTTPException: If there was an error retrieving the bases. + + Parameters: + - app_id: typing.Optional[str]. + + - base_name: typing.Optional[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.bases.list_bases() + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "bases"), + params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[BaseOutput], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/agenta-cli/agenta/client/backend/resources/configs/__init__.py b/agenta-cli/agenta/client/backend/resources/configs/__init__.py new file mode 100644 index 0000000000..f3ea2659bb --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/configs/__init__.py @@ -0,0 +1,2 @@ +# This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/configs/client.py b/agenta-cli/agenta/client/backend/resources/configs/client.py new file mode 100644 index 0000000000..bf7342a498 --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/configs/client.py @@ -0,0 +1,333 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing +import urllib.parse +from json.decoder import JSONDecodeError + +from ...core.api_error import ApiError +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.jsonable_encoder import jsonable_encoder +from ...core.remove_none_from_dict import remove_none_from_dict +from ...errors.unprocessable_entity_error import UnprocessableEntityError +from ...types.get_config_response import GetConfigResponse +from ...types.http_validation_error import HttpValidationError + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class ConfigsClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def get_config( + self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None + ) -> GetConfigResponse: + """ + Parameters: + - base_id: str. + + - config_name: typing.Optional[str]. + + - environment_name: typing.Optional[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.configs.get_config( + base_id="base_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), + params=remove_none_from_dict( + {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(GetConfigResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def save_config( + self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool + ) -> typing.Any: + """ + Parameters: + - base_id: str. + + - config_name: str. + + - parameters: typing.Dict[str, typing.Any]. + + - overwrite: bool. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.configs.save_config( + base_id="base_id", + config_name="config_name", + parameters={}, + overwrite=True, + ) + """ + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), + json=jsonable_encoder( + {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_config_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + """ + Parameters: + - deployment_revision_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.configs.get_config_deployment_revision( + deployment_revision_id="deployment_revision_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + """ + Parameters: + - deployment_revision_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.configs.revert_deployment_revision( + deployment_revision_id="deployment_revision_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + +class AsyncConfigsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def get_config( + self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None + ) -> GetConfigResponse: + """ + Parameters: + - base_id: str. + + - config_name: typing.Optional[str]. + + - environment_name: typing.Optional[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.configs.get_config( + base_id="base_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), + params=remove_none_from_dict( + {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(GetConfigResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def save_config( + self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool + ) -> typing.Any: + """ + Parameters: + - base_id: str. + + - config_name: str. + + - parameters: typing.Dict[str, typing.Any]. + + - overwrite: bool. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.configs.save_config( + base_id="base_id", + config_name="config_name", + parameters={}, + overwrite=True, + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), + json=jsonable_encoder( + {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_config_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + """ + Parameters: + - deployment_revision_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.configs.get_config_deployment_revision( + deployment_revision_id="deployment_revision_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + """ + Parameters: + - deployment_revision_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.configs.revert_deployment_revision( + deployment_revision_id="deployment_revision_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/agenta-cli/agenta/client/backend/resources/containers/__init__.py b/agenta-cli/agenta/client/backend/resources/containers/__init__.py new file mode 100644 index 0000000000..3d1974f7ad --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/containers/__init__.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +from .types import ContainerTemplatesResponse + +__all__ = ["ContainerTemplatesResponse"] diff --git a/agenta-cli/agenta/client/backend/resources/containers/client.py b/agenta-cli/agenta/client/backend/resources/containers/client.py new file mode 100644 index 0000000000..e4b70243e6 --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/containers/client.py @@ -0,0 +1,329 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing +import urllib.parse +from json.decoder import JSONDecodeError + +from ...core.api_error import ApiError +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.jsonable_encoder import jsonable_encoder +from ...core.remove_none_from_dict import remove_none_from_dict +from ...errors.unprocessable_entity_error import UnprocessableEntityError +from ...types.http_validation_error import HttpValidationError +from ...types.image import Image +from ...types.uri import Uri +from .types.container_templates_response import ContainerTemplatesResponse + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class ContainersClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Image: + """ + Builds a Docker image from a tar file containing the application code. + + Args: + app_id (str): The ID of the application to build the image for. + base_name (str): The base name of the image to build. + tar_file (UploadFile): The tar file containing the application code. + stoken_session (SessionContainer): The session container for the user making the request. + + Returns: + Image: The Docker image that was built. + + Parameters: + - app_id: str. + + - base_name: str. + + - tar_file: typing.IO. + """ + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), + params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), + data=jsonable_encoder({}), + files={"tar_file": tar_file}, + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Image, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: + """ + Restart docker container. + + Args: + payload (RestartAppContainer) -- the required data (app_name and variant_name) + + Parameters: + - variant_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.containers.restart_container( + variant_id="variant_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), + json=jsonable_encoder({"variant_id": variant_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Dict[str, typing.Any], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def container_templates(self) -> ContainerTemplatesResponse: + """ + Returns a list of templates available for creating new containers. + + Parameters: + stoken_session (SessionContainer): The session container for the user. + + Returns: + + Union[List[Template], str]: A list of templates or an error message. + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(ContainerTemplatesResponse, _response.json()) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def construct_app_container_url( + self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None + ) -> Uri: + """ + Constructs the URL for an app container based on the provided base_id or variant_id. + + Args: + base_id (Optional[str]): The ID of the base to use for the app container. + variant_id (Optional[str]): The ID of the variant to use for the app container. + request (Request): The request object. + + Returns: + URI: The URI for the app container. + + Raises: + HTTPException: If the base or variant cannot be found or the user does not have access. + + Parameters: + - base_id: typing.Optional[str]. + + - variant_id: typing.Optional[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.containers.construct_app_container_url() + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), + params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Uri, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + +class AsyncContainersClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Image: + """ + Builds a Docker image from a tar file containing the application code. + + Args: + app_id (str): The ID of the application to build the image for. + base_name (str): The base name of the image to build. + tar_file (UploadFile): The tar file containing the application code. + stoken_session (SessionContainer): The session container for the user making the request. + + Returns: + Image: The Docker image that was built. + + Parameters: + - app_id: str. + + - base_name: str. + + - tar_file: typing.IO. + """ + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), + params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), + data=jsonable_encoder({}), + files={"tar_file": tar_file}, + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Image, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: + """ + Restart docker container. + + Args: + payload (RestartAppContainer) -- the required data (app_name and variant_name) + + Parameters: + - variant_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.containers.restart_container( + variant_id="variant_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), + json=jsonable_encoder({"variant_id": variant_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Dict[str, typing.Any], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def container_templates(self) -> ContainerTemplatesResponse: + """ + Returns a list of templates available for creating new containers. + + Parameters: + stoken_session (SessionContainer): The session container for the user. + + Returns: + + Union[List[Template], str]: A list of templates or an error message. + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(ContainerTemplatesResponse, _response.json()) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def construct_app_container_url( + self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None + ) -> Uri: + """ + Constructs the URL for an app container based on the provided base_id or variant_id. + + Args: + base_id (Optional[str]): The ID of the base to use for the app container. + variant_id (Optional[str]): The ID of the variant to use for the app container. + request (Request): The request object. + + Returns: + URI: The URI for the app container. + + Raises: + HTTPException: If the base or variant cannot be found or the user does not have access. + + Parameters: + - base_id: typing.Optional[str]. + + - variant_id: typing.Optional[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.containers.construct_app_container_url() + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), + params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Uri, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/agenta-cli/agenta/client/backend/resources/containers/types/__init__.py b/agenta-cli/agenta/client/backend/resources/containers/types/__init__.py new file mode 100644 index 0000000000..b68c5ab25e --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/containers/types/__init__.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +from .container_templates_response import ContainerTemplatesResponse + +__all__ = ["ContainerTemplatesResponse"] diff --git a/agenta-cli/agenta/client/backend/types/container_templates_response.py b/agenta-cli/agenta/client/backend/resources/containers/types/container_templates_response.py similarity index 79% rename from agenta-cli/agenta/client/backend/types/container_templates_response.py rename to agenta-cli/agenta/client/backend/resources/containers/types/container_templates_response.py index 41b0455c43..5efd9880f9 100644 --- a/agenta-cli/agenta/client/backend/types/container_templates_response.py +++ b/agenta-cli/agenta/client/backend/resources/containers/types/container_templates_response.py @@ -2,6 +2,6 @@ import typing -from .template import Template +from ....types.template import Template ContainerTemplatesResponse = typing.Union[typing.List[Template], str] diff --git a/agenta-cli/agenta/client/backend/resources/environments/__init__.py b/agenta-cli/agenta/client/backend/resources/environments/__init__.py new file mode 100644 index 0000000000..f3ea2659bb --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/environments/__init__.py @@ -0,0 +1,2 @@ +# This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/environments/client.py b/agenta-cli/agenta/client/backend/resources/environments/client.py new file mode 100644 index 0000000000..ff802689dc --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/environments/client.py @@ -0,0 +1,119 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing +import urllib.parse +from json.decoder import JSONDecodeError + +from ...core.api_error import ApiError +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.jsonable_encoder import jsonable_encoder +from ...errors.unprocessable_entity_error import UnprocessableEntityError +from ...types.http_validation_error import HttpValidationError + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class EnvironmentsClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: + """ + Deploys a given variant to an environment + + Args: + environment_name: Name of the environment to deploy to. + variant_id: variant id to deploy. + stoken_session: . Defaults to Depends(verify_session()). + + Raises: + HTTPException: If the deployment fails. + + Parameters: + - environment_name: str. + + - variant_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.environments.deploy_to_environment( + environment_name="environment_name", + variant_id="variant_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), + json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + +class AsyncEnvironmentsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: + """ + Deploys a given variant to an environment + + Args: + environment_name: Name of the environment to deploy to. + variant_id: variant id to deploy. + stoken_session: . Defaults to Depends(verify_session()). + + Raises: + HTTPException: If the deployment fails. + + Parameters: + - environment_name: str. + + - variant_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.environments.deploy_to_environment( + environment_name="environment_name", + variant_id="variant_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), + json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py new file mode 100644 index 0000000000..f3ea2659bb --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py @@ -0,0 +1,2 @@ +# This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/client.py b/agenta-cli/agenta/client/backend/resources/evaluations/client.py new file mode 100644 index 0000000000..0777e6ff5a --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/evaluations/client.py @@ -0,0 +1,948 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing +import urllib.parse +from json.decoder import JSONDecodeError + +from ...core.api_error import ApiError +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.jsonable_encoder import jsonable_encoder +from ...core.remove_none_from_dict import remove_none_from_dict +from ...errors.unprocessable_entity_error import UnprocessableEntityError +from ...types.evaluation import Evaluation +from ...types.evaluation_scenario import EvaluationScenario +from ...types.evaluation_webhook import EvaluationWebhook +from ...types.http_validation_error import HttpValidationError +from ...types.llm_run_rate_limit import LlmRunRateLimit + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class EvaluationsClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def fetch_evaluation_ids( + self, + *, + app_id: str, + resource_type: str, + resource_ids: typing.Optional[typing.Union[str, typing.List[str]]] = None, + ) -> typing.List[str]: + """ + Fetches evaluation ids for a given resource type and id. + + Arguments: + app_id (str): The ID of the app for which to fetch evaluations. + resource_type (str): The type of resource for which to fetch evaluations. + resource_ids List[ObjectId]: The IDs of resource for which to fetch evaluations. + + Raises: + HTTPException: If the resource_type is invalid or access is denied. + + Returns: + List[str]: A list of evaluation ids. + + Parameters: + - app_id: str. + + - resource_type: str. + + - resource_ids: typing.Optional[typing.Union[str, typing.List[str]]]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation_ids( + app_id="app_id", + resource_type="resource_type", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), + params=remove_none_from_dict( + {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: + """ + Fetches a list of evaluations, optionally filtered by an app ID. + + Args: + app_id (Optional[str]): An optional app ID to filter the evaluations. + + Returns: + List[Evaluation]: A list of evaluations. + + Parameters: + - app_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_list_evaluations( + app_id="app_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + params=remove_none_from_dict({"app_id": app_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[Evaluation], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def create_evaluation( + self, + *, + app_id: str, + variant_ids: typing.List[str], + evaluators_configs: typing.List[str], + testset_id: str, + rate_limit: LlmRunRateLimit, + lm_providers_keys: typing.Optional[typing.Dict[str, str]] = OMIT, + correct_answer_column: typing.Optional[str] = OMIT, + ) -> typing.List[Evaluation]: + """ + Creates a new comparison table document + Raises: + HTTPException: _description_ + Returns: + _description_ + + Parameters: + - app_id: str. + + - variant_ids: typing.List[str]. + + - evaluators_configs: typing.List[str]. + + - testset_id: str. + + - rate_limit: LlmRunRateLimit. + + - lm_providers_keys: typing.Optional[typing.Dict[str, str]]. + + - correct_answer_column: typing.Optional[str]. + --- + from aybruhm import LlmRunRateLimit + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.create_evaluation( + app_id="app_id", + variant_ids=["variant_ids"], + evaluators_configs=["evaluators_configs"], + testset_id="testset_id", + rate_limit=LlmRunRateLimit( + batch_size=1, + max_retries=1, + retry_delay=1, + delay_between_batches=1, + ), + ) + """ + _request: typing.Dict[str, typing.Any] = { + "app_id": app_id, + "variant_ids": variant_ids, + "evaluators_configs": evaluators_configs, + "testset_id": testset_id, + "rate_limit": rate_limit, + } + if lm_providers_keys is not OMIT: + _request["lm_providers_keys"] = lm_providers_keys + if correct_answer_column is not OMIT: + _request["correct_answer_column"] = correct_answer_column + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[Evaluation], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: + """ + Delete specific comparison tables based on their unique IDs. + + Args: + delete_evaluations (List[str]): The unique identifiers of the comparison tables to delete. + + Returns: + A list of the deleted comparison tables' IDs. + + Parameters: + - evaluations_ids: typing.List[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.delete_evaluations( + evaluations_ids=["evaluations_ids"], + ) + """ + _response = self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + json=jsonable_encoder({"evaluations_ids": evaluations_ids}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: + """ + Fetches the status of the evaluation. + + Args: + evaluation_id (str): the evaluation id + request (Request): the request object + + Returns: + (str): the evaluation status + + Parameters: + - evaluation_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation_status( + evaluation_id="evaluation_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: + """ + Fetches the results of the evaluation + + Args: + evaluation_id (str): the evaluation id + request (Request): the request object + + Returns: + _type_: _description_ + + Parameters: + - evaluation_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation_results( + evaluation_id="evaluation_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: + """ + Fetches evaluation scenarios for a given evaluation ID. + + Arguments: + evaluation_id (str): The ID of the evaluation for which to fetch scenarios. + + Raises: + HTTPException: If the evaluation is not found or access is denied. + + Returns: + List[EvaluationScenario]: A list of evaluation scenarios. + + Parameters: + - evaluation_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation_scenarios( + evaluation_id="evaluation_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[EvaluationScenario], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def fetch_evaluation(self, evaluation_id: str) -> Evaluation: + """ + Fetches a single evaluation based on its ID. + + Args: + evaluation_id (str): The ID of the evaluation to fetch. + + Returns: + Evaluation: The fetched evaluation. + + Parameters: + - evaluation_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation( + evaluation_id="evaluation_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Evaluation, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def webhook_example_fake(self) -> EvaluationWebhook: + """ + Returns a fake score response for example webhook evaluation + + Returns: + _description_ + + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.webhook_example_fake() + """ + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(EvaluationWebhook, _response.json()) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: + """ + Fetches evaluation scenarios for a given evaluation ID. + + Arguments: + evaluation_id (str): The ID of the evaluation for which to fetch scenarios. + + Raises: + HTTPException: If the evaluation is not found or access is denied. + + Returns: + List[EvaluationScenario]: A list of evaluation scenarios. + + Parameters: + - evaluations_ids: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation_scenarios( + evaluations_ids="evaluations_ids", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" + ), + params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + +class AsyncEvaluationsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def fetch_evaluation_ids( + self, + *, + app_id: str, + resource_type: str, + resource_ids: typing.Optional[typing.Union[str, typing.List[str]]] = None, + ) -> typing.List[str]: + """ + Fetches evaluation ids for a given resource type and id. + + Arguments: + app_id (str): The ID of the app for which to fetch evaluations. + resource_type (str): The type of resource for which to fetch evaluations. + resource_ids List[ObjectId]: The IDs of resource for which to fetch evaluations. + + Raises: + HTTPException: If the resource_type is invalid or access is denied. + + Returns: + List[str]: A list of evaluation ids. + + Parameters: + - app_id: str. + + - resource_type: str. + + - resource_ids: typing.Optional[typing.Union[str, typing.List[str]]]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation_ids( + app_id="app_id", + resource_type="resource_type", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), + params=remove_none_from_dict( + {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: + """ + Fetches a list of evaluations, optionally filtered by an app ID. + + Args: + app_id (Optional[str]): An optional app ID to filter the evaluations. + + Returns: + List[Evaluation]: A list of evaluations. + + Parameters: + - app_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_list_evaluations( + app_id="app_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + params=remove_none_from_dict({"app_id": app_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[Evaluation], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def create_evaluation( + self, + *, + app_id: str, + variant_ids: typing.List[str], + evaluators_configs: typing.List[str], + testset_id: str, + rate_limit: LlmRunRateLimit, + lm_providers_keys: typing.Optional[typing.Dict[str, str]] = OMIT, + correct_answer_column: typing.Optional[str] = OMIT, + ) -> typing.List[Evaluation]: + """ + Creates a new comparison table document + Raises: + HTTPException: _description_ + Returns: + _description_ + + Parameters: + - app_id: str. + + - variant_ids: typing.List[str]. + + - evaluators_configs: typing.List[str]. + + - testset_id: str. + + - rate_limit: LlmRunRateLimit. + + - lm_providers_keys: typing.Optional[typing.Dict[str, str]]. + + - correct_answer_column: typing.Optional[str]. + --- + from aybruhm import LlmRunRateLimit + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.create_evaluation( + app_id="app_id", + variant_ids=["variant_ids"], + evaluators_configs=["evaluators_configs"], + testset_id="testset_id", + rate_limit=LlmRunRateLimit( + batch_size=1, + max_retries=1, + retry_delay=1, + delay_between_batches=1, + ), + ) + """ + _request: typing.Dict[str, typing.Any] = { + "app_id": app_id, + "variant_ids": variant_ids, + "evaluators_configs": evaluators_configs, + "testset_id": testset_id, + "rate_limit": rate_limit, + } + if lm_providers_keys is not OMIT: + _request["lm_providers_keys"] = lm_providers_keys + if correct_answer_column is not OMIT: + _request["correct_answer_column"] = correct_answer_column + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[Evaluation], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: + """ + Delete specific comparison tables based on their unique IDs. + + Args: + delete_evaluations (List[str]): The unique identifiers of the comparison tables to delete. + + Returns: + A list of the deleted comparison tables' IDs. + + Parameters: + - evaluations_ids: typing.List[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.delete_evaluations( + evaluations_ids=["evaluations_ids"], + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + json=jsonable_encoder({"evaluations_ids": evaluations_ids}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: + """ + Fetches the status of the evaluation. + + Args: + evaluation_id (str): the evaluation id + request (Request): the request object + + Returns: + (str): the evaluation status + + Parameters: + - evaluation_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation_status( + evaluation_id="evaluation_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: + """ + Fetches the results of the evaluation + + Args: + evaluation_id (str): the evaluation id + request (Request): the request object + + Returns: + _type_: _description_ + + Parameters: + - evaluation_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation_results( + evaluation_id="evaluation_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: + """ + Fetches evaluation scenarios for a given evaluation ID. + + Arguments: + evaluation_id (str): The ID of the evaluation for which to fetch scenarios. + + Raises: + HTTPException: If the evaluation is not found or access is denied. + + Returns: + List[EvaluationScenario]: A list of evaluation scenarios. + + Parameters: + - evaluation_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation_scenarios( + evaluation_id="evaluation_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[EvaluationScenario], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: + """ + Fetches a single evaluation based on its ID. + + Args: + evaluation_id (str): The ID of the evaluation to fetch. + + Returns: + Evaluation: The fetched evaluation. + + Parameters: + - evaluation_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation( + evaluation_id="evaluation_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Evaluation, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def webhook_example_fake(self) -> EvaluationWebhook: + """ + Returns a fake score response for example webhook evaluation + + Returns: + _description_ + + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.webhook_example_fake() + """ + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(EvaluationWebhook, _response.json()) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: + """ + Fetches evaluation scenarios for a given evaluation ID. + + Arguments: + evaluation_id (str): The ID of the evaluation for which to fetch scenarios. + + Raises: + HTTPException: If the evaluation is not found or access is denied. + + Returns: + List[EvaluationScenario]: A list of evaluation scenarios. + + Parameters: + - evaluations_ids: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation_scenarios( + evaluations_ids="evaluations_ids", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" + ), + params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py new file mode 100644 index 0000000000..f3ea2659bb --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py @@ -0,0 +1,2 @@ +# This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/client.py b/agenta-cli/agenta/client/backend/resources/evaluators/client.py new file mode 100644 index 0000000000..821803ddb0 --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/evaluators/client.py @@ -0,0 +1,554 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing +import urllib.parse +from json.decoder import JSONDecodeError + +from ...core.api_error import ApiError +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.jsonable_encoder import jsonable_encoder +from ...core.remove_none_from_dict import remove_none_from_dict +from ...errors.unprocessable_entity_error import UnprocessableEntityError +from ...types.evaluator import Evaluator +from ...types.evaluator_config import EvaluatorConfig +from ...types.http_validation_error import HttpValidationError + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class EvaluatorsClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def get_evaluators_endpoint(self) -> typing.List[Evaluator]: + """ + Endpoint to fetch a list of evaluators. + + Returns: + List[Evaluator]: A list of evaluator objects. + + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.get_evaluators_endpoint() + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[Evaluator], _response.json()) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: + """ + Endpoint to fetch evaluator configurations for a specific app. + + Args: + app_id (str): The ID of the app. + + Returns: + List[EvaluatorConfigDB]: A list of evaluator configuration objects. + + Parameters: + - app_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.get_evaluator_configs( + app_id="app_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + params=remove_none_from_dict({"app_id": app_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[EvaluatorConfig], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def create_new_evaluator_config( + self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] + ) -> EvaluatorConfig: + """ + Endpoint to fetch evaluator configurations for a specific app. + + Args: + app_id (str): The ID of the app. + + Returns: + EvaluatorConfigDB: Evaluator configuration api model. + + Parameters: + - app_id: str. + + - name: str. + + - evaluator_key: str. + + - settings_values: typing.Dict[str, typing.Any]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.create_new_evaluator_config( + app_id="app_id", + name="name", + evaluator_key="evaluator_key", + settings_values={}, + ) + """ + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + json=jsonable_encoder( + {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: + """ + Endpoint to fetch evaluator configurations for a specific app. + + Returns: + List[EvaluatorConfigDB]: A list of evaluator configuration objects. + + Parameters: + - evaluator_config_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.get_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def update_evaluator_config( + self, + evaluator_config_id: str, + *, + name: typing.Optional[str] = OMIT, + evaluator_key: typing.Optional[str] = OMIT, + settings_values: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + ) -> EvaluatorConfig: + """ + Endpoint to update evaluator configurations for a specific app. + + Returns: + List[EvaluatorConfigDB]: A list of evaluator configuration objects. + + Parameters: + - evaluator_config_id: str. + + - name: typing.Optional[str]. + + - evaluator_key: typing.Optional[str]. + + - settings_values: typing.Optional[typing.Dict[str, typing.Any]]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.update_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) + """ + _request: typing.Dict[str, typing.Any] = {} + if name is not OMIT: + _request["name"] = name + if evaluator_key is not OMIT: + _request["evaluator_key"] = evaluator_key + if settings_values is not OMIT: + _request["settings_values"] = settings_values + _response = self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + ), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def delete_evaluator_config(self, evaluator_config_id: str) -> bool: + """ + Endpoint to delete a specific evaluator configuration. + + Args: + evaluator_config_id (str): The unique identifier of the evaluator configuration. + + Returns: + bool: True if deletion was successful, False otherwise. + + Parameters: + - evaluator_config_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.delete_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + +class AsyncEvaluatorsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: + """ + Endpoint to fetch a list of evaluators. + + Returns: + List[Evaluator]: A list of evaluator objects. + + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.get_evaluators_endpoint() + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[Evaluator], _response.json()) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: + """ + Endpoint to fetch evaluator configurations for a specific app. + + Args: + app_id (str): The ID of the app. + + Returns: + List[EvaluatorConfigDB]: A list of evaluator configuration objects. + + Parameters: + - app_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.get_evaluator_configs( + app_id="app_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + params=remove_none_from_dict({"app_id": app_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[EvaluatorConfig], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def create_new_evaluator_config( + self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] + ) -> EvaluatorConfig: + """ + Endpoint to fetch evaluator configurations for a specific app. + + Args: + app_id (str): The ID of the app. + + Returns: + EvaluatorConfigDB: Evaluator configuration api model. + + Parameters: + - app_id: str. + + - name: str. + + - evaluator_key: str. + + - settings_values: typing.Dict[str, typing.Any]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.create_new_evaluator_config( + app_id="app_id", + name="name", + evaluator_key="evaluator_key", + settings_values={}, + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + json=jsonable_encoder( + {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: + """ + Endpoint to fetch evaluator configurations for a specific app. + + Returns: + List[EvaluatorConfigDB]: A list of evaluator configuration objects. + + Parameters: + - evaluator_config_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.get_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def update_evaluator_config( + self, + evaluator_config_id: str, + *, + name: typing.Optional[str] = OMIT, + evaluator_key: typing.Optional[str] = OMIT, + settings_values: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + ) -> EvaluatorConfig: + """ + Endpoint to update evaluator configurations for a specific app. + + Returns: + List[EvaluatorConfigDB]: A list of evaluator configuration objects. + + Parameters: + - evaluator_config_id: str. + + - name: typing.Optional[str]. + + - evaluator_key: typing.Optional[str]. + + - settings_values: typing.Optional[typing.Dict[str, typing.Any]]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.update_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) + """ + _request: typing.Dict[str, typing.Any] = {} + if name is not OMIT: + _request["name"] = name + if evaluator_key is not OMIT: + _request["evaluator_key"] = evaluator_key + if settings_values is not OMIT: + _request["settings_values"] = settings_values + _response = await self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + ), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(EvaluatorConfig, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def delete_evaluator_config(self, evaluator_config_id: str) -> bool: + """ + Endpoint to delete a specific evaluator configuration. + + Args: + evaluator_config_id (str): The unique identifier of the evaluator configuration. + + Returns: + bool: True if deletion was successful, False otherwise. + + Parameters: + - evaluator_config_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.delete_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/agenta-cli/agenta/client/backend/resources/observability/__init__.py b/agenta-cli/agenta/client/backend/resources/observability/__init__.py new file mode 100644 index 0000000000..f3ea2659bb --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/observability/__init__.py @@ -0,0 +1,2 @@ +# This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py new file mode 100644 index 0000000000..7ba713bc2d --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -0,0 +1,1007 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing +import urllib.parse +from json.decoder import JSONDecodeError + +from ...core.api_error import ApiError +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.jsonable_encoder import jsonable_encoder +from ...core.remove_none_from_dict import remove_none_from_dict +from ...errors.unprocessable_entity_error import UnprocessableEntityError +from ...types.feedback import Feedback +from ...types.http_validation_error import HttpValidationError +from ...types.observability_dashboard_data import ObservabilityDashboardData +from ...types.span import Span +from ...types.span_detail import SpanDetail + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class ObservabilityClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def dashboard(self) -> ObservabilityDashboardData: + """ + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.dashboard() + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(ObservabilityDashboardData, _response.json()) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def create_trace( + self, + *, + app_id: typing.Optional[str] = OMIT, + variant_id: typing.Optional[str] = OMIT, + cost: typing.Optional[float] = OMIT, + latency: float, + status: typing.Optional[str] = OMIT, + token_consumption: typing.Optional[int] = OMIT, + tags: typing.Optional[typing.List[str]] = OMIT, + start_time: typing.Optional[dt.datetime] = OMIT, + end_time: typing.Optional[dt.datetime] = OMIT, + spans: typing.List[str], + ) -> str: + """ + Parameters: + - app_id: typing.Optional[str]. + + - variant_id: typing.Optional[str]. + + - cost: typing.Optional[float]. + + - latency: float. + + - status: typing.Optional[str]. + + - token_consumption: typing.Optional[int]. + + - tags: typing.Optional[typing.List[str]]. + + - start_time: typing.Optional[dt.datetime]. + + - end_time: typing.Optional[dt.datetime]. + + - spans: typing.List[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.create_trace( + latency=1.1, + spans=["spans"], + ) + """ + _request: typing.Dict[str, typing.Any] = {"latency": latency, "spans": spans} + if app_id is not OMIT: + _request["app_id"] = app_id + if variant_id is not OMIT: + _request["variant_id"] = variant_id + if cost is not OMIT: + _request["cost"] = cost + if status is not OMIT: + _request["status"] = status + if token_consumption is not OMIT: + _request["token_consumption"] = token_consumption + if tags is not OMIT: + _request["tags"] = tags + if start_time is not OMIT: + _request["start_time"] = start_time + if end_time is not OMIT: + _request["end_time"] = end_time + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/trace"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(str, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_spans_of_generation(self, *, type: typing.Optional[str] = None) -> typing.List[Span]: + """ + Parameters: + - type: typing.Optional[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.get_spans_of_generation() + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + params=remove_none_from_dict({"type": type}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[Span], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def create_span( + self, + *, + parent_span_id: typing.Optional[str] = OMIT, + meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + event_name: str, + event_type: typing.Optional[str] = OMIT, + start_time: typing.Optional[dt.datetime] = OMIT, + duration: typing.Optional[int] = OMIT, + status: str, + inputs: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + outputs: typing.Optional[typing.List[str]] = OMIT, + prompt_template: typing.Optional[str] = OMIT, + tokens_input: typing.Optional[int] = OMIT, + tokens_output: typing.Optional[int] = OMIT, + token_total: typing.Optional[int] = OMIT, + cost: typing.Optional[float] = OMIT, + tags: typing.Optional[typing.List[str]] = OMIT, + ) -> str: + """ + Parameters: + - parent_span_id: typing.Optional[str]. + + - meta: typing.Optional[typing.Dict[str, typing.Any]]. + + - event_name: str. + + - event_type: typing.Optional[str]. + + - start_time: typing.Optional[dt.datetime]. + + - duration: typing.Optional[int]. + + - status: str. + + - inputs: typing.Optional[typing.Dict[str, typing.Any]]. + + - outputs: typing.Optional[typing.List[str]]. + + - prompt_template: typing.Optional[str]. + + - tokens_input: typing.Optional[int]. + + - tokens_output: typing.Optional[int]. + + - token_total: typing.Optional[int]. + + - cost: typing.Optional[float]. + + - tags: typing.Optional[typing.List[str]]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.create_span( + event_name="event_name", + status="status", + ) + """ + _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} + if parent_span_id is not OMIT: + _request["parent_span_id"] = parent_span_id + if meta is not OMIT: + _request["meta"] = meta + if event_type is not OMIT: + _request["event_type"] = event_type + if start_time is not OMIT: + _request["start_time"] = start_time + if duration is not OMIT: + _request["duration"] = duration + if inputs is not OMIT: + _request["inputs"] = inputs + if outputs is not OMIT: + _request["outputs"] = outputs + if prompt_template is not OMIT: + _request["prompt_template"] = prompt_template + if tokens_input is not OMIT: + _request["tokens_input"] = tokens_input + if tokens_output is not OMIT: + _request["tokens_output"] = tokens_output + if token_total is not OMIT: + _request["token_total"] = token_total + if cost is not OMIT: + _request["cost"] = cost + if tags is not OMIT: + _request["tags"] = tags + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(str, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + """ + Parameters: + - span_id: str. + + - type: typing.Optional[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.get_span_of_generation( + span_id="span_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + params=remove_none_from_dict({"type": type}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(SpanDetail, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def update_trace_status(self, trace_id: str, *, status: str) -> bool: + """ + Parameters: + - trace_id: str. + + - status: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.update_trace_status( + trace_id="trace_id", + status="status", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + json=jsonable_encoder({"status": status}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: + """ + Parameters: + - trace_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.get_feedbacks( + trace_id="trace_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[Feedback], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def create_feedback( + self, + trace_id: str, + *, + feedback: typing.Optional[str] = OMIT, + score: typing.Optional[float] = OMIT, + meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + ) -> str: + """ + Parameters: + - trace_id: str. + + - feedback: typing.Optional[str]. + + - score: typing.Optional[float]. + + - meta: typing.Optional[typing.Dict[str, typing.Any]]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.create_feedback( + trace_id="trace_id", + ) + """ + _request: typing.Dict[str, typing.Any] = {} + if feedback is not OMIT: + _request["feedback"] = feedback + if score is not OMIT: + _request["score"] = score + if meta is not OMIT: + _request["meta"] = meta + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(str, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: + """ + Parameters: + - trace_id: str. + + - feedback_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.get_feedback( + trace_id="trace_id", + feedback_id="feedback_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Feedback, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def update_feedback( + self, + trace_id: str, + feedback_id: str, + *, + feedback: str, + score: typing.Optional[float] = OMIT, + meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + ) -> Feedback: + """ + Parameters: + - trace_id: str. + + - feedback_id: str. + + - feedback: str. + + - score: typing.Optional[float]. + + - meta: typing.Optional[typing.Dict[str, typing.Any]]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.update_feedback( + trace_id="trace_id", + feedback_id="feedback_id", + feedback="feedback", + ) + """ + _request: typing.Dict[str, typing.Any] = {"feedback": feedback} + if score is not OMIT: + _request["score"] = score + if meta is not OMIT: + _request["meta"] = meta + _response = self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + ), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Feedback, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + +class AsyncObservabilityClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def dashboard(self) -> ObservabilityDashboardData: + """ + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.dashboard() + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(ObservabilityDashboardData, _response.json()) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def create_trace( + self, + *, + app_id: typing.Optional[str] = OMIT, + variant_id: typing.Optional[str] = OMIT, + cost: typing.Optional[float] = OMIT, + latency: float, + status: typing.Optional[str] = OMIT, + token_consumption: typing.Optional[int] = OMIT, + tags: typing.Optional[typing.List[str]] = OMIT, + start_time: typing.Optional[dt.datetime] = OMIT, + end_time: typing.Optional[dt.datetime] = OMIT, + spans: typing.List[str], + ) -> str: + """ + Parameters: + - app_id: typing.Optional[str]. + + - variant_id: typing.Optional[str]. + + - cost: typing.Optional[float]. + + - latency: float. + + - status: typing.Optional[str]. + + - token_consumption: typing.Optional[int]. + + - tags: typing.Optional[typing.List[str]]. + + - start_time: typing.Optional[dt.datetime]. + + - end_time: typing.Optional[dt.datetime]. + + - spans: typing.List[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.create_trace( + latency=1.1, + spans=["spans"], + ) + """ + _request: typing.Dict[str, typing.Any] = {"latency": latency, "spans": spans} + if app_id is not OMIT: + _request["app_id"] = app_id + if variant_id is not OMIT: + _request["variant_id"] = variant_id + if cost is not OMIT: + _request["cost"] = cost + if status is not OMIT: + _request["status"] = status + if token_consumption is not OMIT: + _request["token_consumption"] = token_consumption + if tags is not OMIT: + _request["tags"] = tags + if start_time is not OMIT: + _request["start_time"] = start_time + if end_time is not OMIT: + _request["end_time"] = end_time + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/trace"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(str, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_spans_of_generation(self, *, type: typing.Optional[str] = None) -> typing.List[Span]: + """ + Parameters: + - type: typing.Optional[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.get_spans_of_generation() + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + params=remove_none_from_dict({"type": type}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[Span], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def create_span( + self, + *, + parent_span_id: typing.Optional[str] = OMIT, + meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + event_name: str, + event_type: typing.Optional[str] = OMIT, + start_time: typing.Optional[dt.datetime] = OMIT, + duration: typing.Optional[int] = OMIT, + status: str, + inputs: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + outputs: typing.Optional[typing.List[str]] = OMIT, + prompt_template: typing.Optional[str] = OMIT, + tokens_input: typing.Optional[int] = OMIT, + tokens_output: typing.Optional[int] = OMIT, + token_total: typing.Optional[int] = OMIT, + cost: typing.Optional[float] = OMIT, + tags: typing.Optional[typing.List[str]] = OMIT, + ) -> str: + """ + Parameters: + - parent_span_id: typing.Optional[str]. + + - meta: typing.Optional[typing.Dict[str, typing.Any]]. + + - event_name: str. + + - event_type: typing.Optional[str]. + + - start_time: typing.Optional[dt.datetime]. + + - duration: typing.Optional[int]. + + - status: str. + + - inputs: typing.Optional[typing.Dict[str, typing.Any]]. + + - outputs: typing.Optional[typing.List[str]]. + + - prompt_template: typing.Optional[str]. + + - tokens_input: typing.Optional[int]. + + - tokens_output: typing.Optional[int]. + + - token_total: typing.Optional[int]. + + - cost: typing.Optional[float]. + + - tags: typing.Optional[typing.List[str]]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.create_span( + event_name="event_name", + status="status", + ) + """ + _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} + if parent_span_id is not OMIT: + _request["parent_span_id"] = parent_span_id + if meta is not OMIT: + _request["meta"] = meta + if event_type is not OMIT: + _request["event_type"] = event_type + if start_time is not OMIT: + _request["start_time"] = start_time + if duration is not OMIT: + _request["duration"] = duration + if inputs is not OMIT: + _request["inputs"] = inputs + if outputs is not OMIT: + _request["outputs"] = outputs + if prompt_template is not OMIT: + _request["prompt_template"] = prompt_template + if tokens_input is not OMIT: + _request["tokens_input"] = tokens_input + if tokens_output is not OMIT: + _request["tokens_output"] = tokens_output + if token_total is not OMIT: + _request["token_total"] = token_total + if cost is not OMIT: + _request["cost"] = cost + if tags is not OMIT: + _request["tags"] = tags + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(str, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + """ + Parameters: + - span_id: str. + + - type: typing.Optional[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.get_span_of_generation( + span_id="span_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + params=remove_none_from_dict({"type": type}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(SpanDetail, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def update_trace_status(self, trace_id: str, *, status: str) -> bool: + """ + Parameters: + - trace_id: str. + + - status: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.update_trace_status( + trace_id="trace_id", + status="status", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + json=jsonable_encoder({"status": status}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: + """ + Parameters: + - trace_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.get_feedbacks( + trace_id="trace_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[Feedback], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def create_feedback( + self, + trace_id: str, + *, + feedback: typing.Optional[str] = OMIT, + score: typing.Optional[float] = OMIT, + meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + ) -> str: + """ + Parameters: + - trace_id: str. + + - feedback: typing.Optional[str]. + + - score: typing.Optional[float]. + + - meta: typing.Optional[typing.Dict[str, typing.Any]]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.create_feedback( + trace_id="trace_id", + ) + """ + _request: typing.Dict[str, typing.Any] = {} + if feedback is not OMIT: + _request["feedback"] = feedback + if score is not OMIT: + _request["score"] = score + if meta is not OMIT: + _request["meta"] = meta + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(str, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: + """ + Parameters: + - trace_id: str. + + - feedback_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.get_feedback( + trace_id="trace_id", + feedback_id="feedback_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Feedback, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def update_feedback( + self, + trace_id: str, + feedback_id: str, + *, + feedback: str, + score: typing.Optional[float] = OMIT, + meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + ) -> Feedback: + """ + Parameters: + - trace_id: str. + + - feedback_id: str. + + - feedback: str. + + - score: typing.Optional[float]. + + - meta: typing.Optional[typing.Dict[str, typing.Any]]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.update_feedback( + trace_id="trace_id", + feedback_id="feedback_id", + feedback="feedback", + ) + """ + _request: typing.Dict[str, typing.Any] = {"feedback": feedback} + if score is not OMIT: + _request["score"] = score + if meta is not OMIT: + _request["meta"] = meta + _response = await self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + ), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Feedback, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py new file mode 100644 index 0000000000..f3ea2659bb --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py @@ -0,0 +1,2 @@ +# This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/testsets/client.py b/agenta-cli/agenta/client/backend/resources/testsets/client.py new file mode 100644 index 0000000000..5d3f5708a3 --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/testsets/client.py @@ -0,0 +1,623 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing +import urllib.parse +from json.decoder import JSONDecodeError + +from ...core.api_error import ApiError +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.jsonable_encoder import jsonable_encoder +from ...core.remove_none_from_dict import remove_none_from_dict +from ...errors.unprocessable_entity_error import UnprocessableEntityError +from ...types.http_validation_error import HttpValidationError +from ...types.new_testset import NewTestset +from ...types.test_set_output_response import TestSetOutputResponse +from ...types.test_set_simple_response import TestSetSimpleResponse + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class TestsetsClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def upload_file( + self, *, upload_type: str, file: typing.IO, testset_name: str, app_id: str + ) -> TestSetSimpleResponse: + """ + Uploads a CSV or JSON file and saves its data to MongoDB. + + Args: + upload_type : Either a json or csv file. + file (UploadFile): The CSV or JSON file to upload. + testset_name (Optional): the name of the testset if provided. + + Returns: + dict: The result of the upload process. + + Parameters: + - upload_type: str. + + - file: typing.IO. + + - testset_name: str. + + - app_id: str. + """ + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), + data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), + files={"file": file}, + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def import_testset(self) -> TestSetSimpleResponse: + """ + Import JSON testset data from an endpoint and save it to MongoDB. + + Args: + endpoint (str): An endpoint URL to import data from. + testset_name (str): the name of the testset if provided. + + Returns: + dict: The result of the import process. + + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.import_testset() + """ + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: + """ + Create a testset with given name and app_name, save the testset to MongoDB. + + Args: + name (str): name of the test set. + app_name (str): name of the application. + testset (Dict[str, str]): test set data. + + Returns: + str: The id of the test set created. + + Parameters: + - app_id: str. + + - request: NewTestset. + --- + from aybruhm import NewTestset + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.create_testset( + app_id="app_id", + request=NewTestset( + name="name", + csvdata=[{"csvdata": "csvdata"}], + ), + ) + """ + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), + json=jsonable_encoder(request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_single_testset(self, testset_id: str) -> typing.Any: + """ + Fetch a specific testset in a MongoDB collection using its \_id. + + Args: + testset_id (str): The \_id of the testset to fetch. + + Returns: + The requested testset if found, else an HTTPException. + + Parameters: + - testset_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.get_single_testset( + testset_id="testset_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: + """ + Update a testset with given id, update the testset in MongoDB. + + Args: + testset_id (str): id of the test set to be updated. + csvdata (NewTestset): New data to replace the old testset. + + Returns: + str: The id of the test set updated. + + Parameters: + - testset_id: str. + + - request: NewTestset. + --- + from aybruhm import NewTestset + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.update_testset( + testset_id="testset_id", + request=NewTestset( + name="name", + csvdata=[{"csvdata": "csvdata"}], + ), + ) + """ + _response = self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + json=jsonable_encoder(request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputResponse]: + """ + Get all testsets. + + Returns: + + - A list of testset objects. + + Raises: + + - `HTTPException` with status code 404 if no testsets are found. + + Parameters: + - app_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.get_testsets( + app_id="app_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets"), + params=remove_none_from_dict({"app_id": app_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[TestSetOutputResponse], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: + """ + Delete specific testsets based on their unique IDs. + + Args: + testset_ids (List[str]): The unique identifiers of the testsets to delete. + + Returns: + A list of the deleted testsets' IDs. + + Parameters: + - testset_ids: typing.List[str]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.delete_testsets( + testset_ids=["testset_ids"], + ) + """ + _response = self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets"), + json=jsonable_encoder({"testset_ids": testset_ids}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + +class AsyncTestsetsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def upload_file( + self, *, upload_type: str, file: typing.IO, testset_name: str, app_id: str + ) -> TestSetSimpleResponse: + """ + Uploads a CSV or JSON file and saves its data to MongoDB. + + Args: + upload_type : Either a json or csv file. + file (UploadFile): The CSV or JSON file to upload. + testset_name (Optional): the name of the testset if provided. + + Returns: + dict: The result of the upload process. + + Parameters: + - upload_type: str. + + - file: typing.IO. + + - testset_name: str. + + - app_id: str. + """ + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), + data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), + files={"file": file}, + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def import_testset(self) -> TestSetSimpleResponse: + """ + Import JSON testset data from an endpoint and save it to MongoDB. + + Args: + endpoint (str): An endpoint URL to import data from. + testset_name (str): the name of the testset if provided. + + Returns: + dict: The result of the import process. + + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.import_testset() + """ + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: + """ + Create a testset with given name and app_name, save the testset to MongoDB. + + Args: + name (str): name of the test set. + app_name (str): name of the application. + testset (Dict[str, str]): test set data. + + Returns: + str: The id of the test set created. + + Parameters: + - app_id: str. + + - request: NewTestset. + --- + from aybruhm import NewTestset + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.create_testset( + app_id="app_id", + request=NewTestset( + name="name", + csvdata=[{"csvdata": "csvdata"}], + ), + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), + json=jsonable_encoder(request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(TestSetSimpleResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_single_testset(self, testset_id: str) -> typing.Any: + """ + Fetch a specific testset in a MongoDB collection using its \_id. + + Args: + testset_id (str): The \_id of the testset to fetch. + + Returns: + The requested testset if found, else an HTTPException. + + Parameters: + - testset_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.get_single_testset( + testset_id="testset_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: + """ + Update a testset with given id, update the testset in MongoDB. + + Args: + testset_id (str): id of the test set to be updated. + csvdata (NewTestset): New data to replace the old testset. + + Returns: + str: The id of the test set updated. + + Parameters: + - testset_id: str. + + - request: NewTestset. + --- + from aybruhm import NewTestset + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.update_testset( + testset_id="testset_id", + request=NewTestset( + name="name", + csvdata=[{"csvdata": "csvdata"}], + ), + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + json=jsonable_encoder(request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputResponse]: + """ + Get all testsets. + + Returns: + + - A list of testset objects. + + Raises: + + - `HTTPException` with status code 404 if no testsets are found. + + Parameters: + - app_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.get_testsets( + app_id="app_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets"), + params=remove_none_from_dict({"app_id": app_id}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[TestSetOutputResponse], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: + """ + Delete specific testsets based on their unique IDs. + + Args: + testset_ids (List[str]): The unique identifiers of the testsets to delete. + + Returns: + A list of the deleted testsets' IDs. + + Parameters: + - testset_ids: typing.List[str]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.delete_testsets( + testset_ids=["testset_ids"], + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets"), + json=jsonable_encoder({"testset_ids": testset_ids}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[str], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/agenta-cli/agenta/client/backend/resources/variants/__init__.py b/agenta-cli/agenta/client/backend/resources/variants/__init__.py new file mode 100644 index 0000000000..71317185ab --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/variants/__init__.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +from .types import AddVariantFromBaseAndConfigResponse + +__all__ = ["AddVariantFromBaseAndConfigResponse"] diff --git a/agenta-cli/agenta/client/backend/resources/variants/client.py b/agenta-cli/agenta/client/backend/resources/variants/client.py new file mode 100644 index 0000000000..aa7be25f05 --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/variants/client.py @@ -0,0 +1,595 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing +import urllib.parse +from json.decoder import JSONDecodeError + +from ...core.api_error import ApiError +from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper +from ...core.jsonable_encoder import jsonable_encoder +from ...errors.unprocessable_entity_error import UnprocessableEntityError +from ...types.app_variant_output_extended import AppVariantOutputExtended +from ...types.docker_env_vars import DockerEnvVars +from ...types.http_validation_error import HttpValidationError +from ...types.image import Image +from ...types.uri import Uri +from ...types.variant_action import VariantAction +from .types.add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + +# this is used as the default value for optional parameters +OMIT = typing.cast(typing.Any, ...) + + +class VariantsClient: + def __init__(self, *, client_wrapper: SyncClientWrapper): + self._client_wrapper = client_wrapper + + def add_variant_from_base_and_config( + self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] + ) -> AddVariantFromBaseAndConfigResponse: + """ + Add a new variant based on an existing one. + Same as POST /config + + Args: + payload (AddVariantFromBasePayload): Payload containing base variant ID, new variant name, and parameters. + stoken_session (SessionContainer, optional): Session container. Defaults to result of verify_session(). + + Raises: + HTTPException: Raised if the variant could not be added or accessed. + + Returns: + Union[AppVariantResponse, Any]: New variant details or exception. + + Parameters: + - base_id: str. + + - new_variant_name: str. + + - new_config_name: str. + + - parameters: typing.Dict[str, typing.Any]. + """ + _response = self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), + json=jsonable_encoder( + { + "base_id": base_id, + "new_variant_name": new_variant_name, + "new_config_name": new_config_name, + "parameters": parameters, + } + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AddVariantFromBaseAndConfigResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_variant(self, variant_id: str) -> AppVariantOutputExtended: + """ + Parameters: + - variant_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.get_variant( + variant_id="variant_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AppVariantOutputExtended, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def start_variant( + self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT + ) -> Uri: + """ + Start a variant of an app. + + Args: + variant_id (str): The ID of the variant to start. + action (VariantAction): The action to perform on the variant (start). + env_vars (Optional[DockerEnvVars], optional): The environment variables to inject to the Docker container. Defaults to None. + stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). + + Returns: + URI: The URL of the started variant. + + Raises: + HTTPException: If the app container cannot be started. + + Parameters: + - variant_id: str. + + - action: VariantAction. + + - env_vars: typing.Optional[DockerEnvVars]. + --- + from aybruhm import VariantAction, VariantActionEnum + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.start_variant( + variant_id="variant_id", + action=VariantAction( + action=VariantActionEnum.START, + ), + ) + """ + _request: typing.Dict[str, typing.Any] = {"action": action} + if env_vars is not OMIT: + _request["env_vars"] = env_vars + _response = self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Uri, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def remove_variant(self, variant_id: str) -> typing.Any: + """ + Remove a variant from the server. + In the case it's the last variant using the image, stop the container and remove the image. + + Arguments: + app_variant -- AppVariant to remove + + Raises: + HTTPException: If there is a problem removing the app variant + + Parameters: + - variant_id: str. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.remove_variant( + variant_id="variant_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[str, typing.Any]) -> typing.Any: + """ + Updates the parameters for an app variant. + + Args: + variant_id (str): The ID of the app variant to update. + payload (UpdateVariantParameterPayload): The payload containing the updated parameters. + stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). + + Raises: + HTTPException: If there is an error while trying to update the app variant. + + Returns: + JSONResponse: A JSON response containing the updated app variant parameters. + + Parameters: + - variant_id: str. + + - parameters: typing.Dict[str, typing.Any]. + --- + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.update_variant_parameters( + variant_id="variant_id", + parameters={}, + ) + """ + _response = self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), + json=jsonable_encoder({"parameters": parameters}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any: + """ + Updates the image used in an app variant. + + Args: + variant_id (str): The ID of the app variant to update. + image (Image): The image information to update. + + Raises: + HTTPException: If an error occurs while trying to update the app variant. + + Returns: + JSONResponse: A JSON response indicating whether the update was successful or not. + + Parameters: + - variant_id: str. + + - request: Image. + --- + from aybruhm import Image + from aybruhm.client import AybruhmApi + + client = AybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.update_variant_image( + variant_id="variant_id", + request=Image( + docker_id="docker_id", + tags="tags", + ), + ) + """ + _response = self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), + json=jsonable_encoder(request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + +class AsyncVariantsClient: + def __init__(self, *, client_wrapper: AsyncClientWrapper): + self._client_wrapper = client_wrapper + + async def add_variant_from_base_and_config( + self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] + ) -> AddVariantFromBaseAndConfigResponse: + """ + Add a new variant based on an existing one. + Same as POST /config + + Args: + payload (AddVariantFromBasePayload): Payload containing base variant ID, new variant name, and parameters. + stoken_session (SessionContainer, optional): Session container. Defaults to result of verify_session(). + + Raises: + HTTPException: Raised if the variant could not be added or accessed. + + Returns: + Union[AppVariantResponse, Any]: New variant details or exception. + + Parameters: + - base_id: str. + + - new_variant_name: str. + + - new_config_name: str. + + - parameters: typing.Dict[str, typing.Any]. + """ + _response = await self._client_wrapper.httpx_client.request( + "POST", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), + json=jsonable_encoder( + { + "base_id": base_id, + "new_variant_name": new_variant_name, + "new_config_name": new_config_name, + "parameters": parameters, + } + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AddVariantFromBaseAndConfigResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: + """ + Parameters: + - variant_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.get_variant( + variant_id="variant_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AppVariantOutputExtended, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def start_variant( + self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT + ) -> Uri: + """ + Start a variant of an app. + + Args: + variant_id (str): The ID of the variant to start. + action (VariantAction): The action to perform on the variant (start). + env_vars (Optional[DockerEnvVars], optional): The environment variables to inject to the Docker container. Defaults to None. + stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). + + Returns: + URI: The URL of the started variant. + + Raises: + HTTPException: If the app container cannot be started. + + Parameters: + - variant_id: str. + + - action: VariantAction. + + - env_vars: typing.Optional[DockerEnvVars]. + --- + from aybruhm import VariantAction, VariantActionEnum + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.start_variant( + variant_id="variant_id", + action=VariantAction( + action=VariantActionEnum.START, + ), + ) + """ + _request: typing.Dict[str, typing.Any] = {"action": action} + if env_vars is not OMIT: + _request["env_vars"] = env_vars + _response = await self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + json=jsonable_encoder(_request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(Uri, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def remove_variant(self, variant_id: str) -> typing.Any: + """ + Remove a variant from the server. + In the case it's the last variant using the image, stop the container and remove the image. + + Arguments: + app_variant -- AppVariant to remove + + Raises: + HTTPException: If there is a problem removing the app variant + + Parameters: + - variant_id: str. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.remove_variant( + variant_id="variant_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def update_variant_parameters( + self, variant_id: str, *, parameters: typing.Dict[str, typing.Any] + ) -> typing.Any: + """ + Updates the parameters for an app variant. + + Args: + variant_id (str): The ID of the app variant to update. + payload (UpdateVariantParameterPayload): The payload containing the updated parameters. + stoken_session (SessionContainer, optional): The session container. Defaults to Depends(verify_session()). + + Raises: + HTTPException: If there is an error while trying to update the app variant. + + Returns: + JSONResponse: A JSON response containing the updated app variant parameters. + + Parameters: + - variant_id: str. + + - parameters: typing.Dict[str, typing.Any]. + --- + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.update_variant_parameters( + variant_id="variant_id", + parameters={}, + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), + json=jsonable_encoder({"parameters": parameters}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any: + """ + Updates the image used in an app variant. + + Args: + variant_id (str): The ID of the app variant to update. + image (Image): The image information to update. + + Raises: + HTTPException: If an error occurs while trying to update the app variant. + + Returns: + JSONResponse: A JSON response indicating whether the update was successful or not. + + Parameters: + - variant_id: str. + + - request: Image. + --- + from aybruhm import Image + from aybruhm.client import AsyncAybruhmApi + + client = AsyncAybruhmApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.update_variant_image( + variant_id="variant_id", + request=Image( + docker_id="docker_id", + tags="tags", + ), + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "PUT", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), + json=jsonable_encoder(request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py new file mode 100644 index 0000000000..b3bfbb0781 --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py @@ -0,0 +1,5 @@ +# This file was auto-generated by Fern from our API Definition. + +from .add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse + +__all__ = ["AddVariantFromBaseAndConfigResponse"] diff --git a/agenta-cli/agenta/client/backend/resources/variants/types/add_variant_from_base_and_config_response.py b/agenta-cli/agenta/client/backend/resources/variants/types/add_variant_from_base_and_config_response.py new file mode 100644 index 0000000000..3f6c5a7053 --- /dev/null +++ b/agenta-cli/agenta/client/backend/resources/variants/types/add_variant_from_base_and_config_response.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from ....types.app_variant_response import AppVariantResponse + +AddVariantFromBaseAndConfigResponse = typing.Union[AppVariantResponse, typing.Any] diff --git a/agenta-cli/agenta/client/backend/types/__init__.py b/agenta-cli/agenta/client/backend/types/__init__.py index 5dc60dd6ec..77f0bdec08 100644 --- a/agenta-cli/agenta/client/backend/types/__init__.py +++ b/agenta-cli/agenta/client/backend/types/__init__.py @@ -1,21 +1,20 @@ # This file was auto-generated by Fern from our API Definition. -from .add_variant_from_base_and_config_response import ( - AddVariantFromBaseAndConfigResponse, -) from .aggregated_result import AggregatedResult +from .aggregated_result_evaluator_config import AggregatedResultEvaluatorConfig from .app import App -from .app_variant_output import AppVariantOutput from .app_variant_output_extended import AppVariantOutputExtended +from .app_variant_response import AppVariantResponse from .app_variant_revision import AppVariantRevision from .base_output import BaseOutput from .body_import_testset import BodyImportTestset from .config_db import ConfigDb -from .container_templates_response import ContainerTemplatesResponse from .create_app_output import CreateAppOutput -from .delete_evaluation import DeleteEvaluation from .docker_env_vars import DockerEnvVars from .environment_output import EnvironmentOutput +from .environment_output_extended import EnvironmentOutputExtended +from .environment_revision import EnvironmentRevision +from .error import Error from .evaluation import Evaluation from .evaluation_scenario import EvaluationScenario from .evaluation_scenario_input import EvaluationScenarioInput @@ -27,50 +26,67 @@ from .evaluator import Evaluator from .evaluator_config import EvaluatorConfig from .feedback import Feedback -from .get_config_reponse import GetConfigReponse +from .get_config_response import GetConfigResponse from .http_validation_error import HttpValidationError from .human_evaluation import HumanEvaluation from .human_evaluation_scenario import HumanEvaluationScenario from .human_evaluation_scenario_input import HumanEvaluationScenarioInput from .human_evaluation_scenario_output import HumanEvaluationScenarioOutput -from .human_evaluation_scenario_score import HumanEvaluationScenarioScore -from .human_evaluation_scenario_update_score import HumanEvaluationScenarioUpdateScore +from .human_evaluation_scenario_update import HumanEvaluationScenarioUpdate +from .human_evaluation_update import HumanEvaluationUpdate from .image import Image from .invite_request import InviteRequest -from .list_api_keys_output import ListApiKeysOutput +from .list_api_keys_response import ListApiKeysResponse +from .llm_content import LlmContent +from .llm_inputs import LlmInputs +from .llm_model_params import LlmModelParams from .llm_run_rate_limit import LlmRunRateLimit +from .new_human_evaluation import NewHumanEvaluation from .new_testset import NewTestset +from .observability_dashboard_data import ObservabilityDashboardData +from .observability_data import ObservabilityData from .organization import Organization from .organization_output import OrganizationOutput +from .permission import Permission from .result import Result +from .score import Score from .simple_evaluation_output import SimpleEvaluationOutput from .span import Span +from .span_detail import SpanDetail +from .span_status import SpanStatus +from .span_variant import SpanVariant +from .status import Status from .template import Template from .template_image_info import TemplateImageInfo from .test_set_output_response import TestSetOutputResponse from .test_set_simple_response import TestSetSimpleResponse -from .trace import Trace from .uri import Uri from .validation_error import ValidationError from .validation_error_loc_item import ValidationErrorLocItem from .variant_action import VariantAction from .variant_action_enum import VariantActionEnum +from .workspace_member_response import WorkspaceMemberResponse +from .workspace_permission import WorkspacePermission +from .workspace_response import WorkspaceResponse +from .workspace_role import WorkspaceRole +from .workspace_role_response import WorkspaceRoleResponse __all__ = [ - "AddVariantFromBaseAndConfigResponse", "AggregatedResult", + "AggregatedResultEvaluatorConfig", "App", - "AppVariantOutput", "AppVariantOutputExtended", + "AppVariantResponse", "AppVariantRevision", "BaseOutput", "BodyImportTestset", "ConfigDb", - "ContainerTemplatesResponse", "CreateAppOutput", - "DeleteEvaluation", "DockerEnvVars", "EnvironmentOutput", + "EnvironmentOutputExtended", + "EnvironmentRevision", + "Error", "Evaluation", "EvaluationScenario", "EvaluationScenarioInput", @@ -82,32 +98,48 @@ "Evaluator", "EvaluatorConfig", "Feedback", - "GetConfigReponse", + "GetConfigResponse", "HttpValidationError", "HumanEvaluation", "HumanEvaluationScenario", "HumanEvaluationScenarioInput", "HumanEvaluationScenarioOutput", - "HumanEvaluationScenarioScore", - "HumanEvaluationScenarioUpdateScore", + "HumanEvaluationScenarioUpdate", + "HumanEvaluationUpdate", "Image", "InviteRequest", - "ListApiKeysOutput", + "ListApiKeysResponse", + "LlmContent", + "LlmInputs", + "LlmModelParams", "LlmRunRateLimit", + "NewHumanEvaluation", "NewTestset", + "ObservabilityDashboardData", + "ObservabilityData", "Organization", "OrganizationOutput", + "Permission", "Result", + "Score", "SimpleEvaluationOutput", "Span", + "SpanDetail", + "SpanStatus", + "SpanVariant", + "Status", "Template", "TemplateImageInfo", "TestSetOutputResponse", "TestSetSimpleResponse", - "Trace", "Uri", "ValidationError", "ValidationErrorLocItem", "VariantAction", "VariantActionEnum", + "WorkspaceMemberResponse", + "WorkspacePermission", + "WorkspaceResponse", + "WorkspaceRole", + "WorkspaceRoleResponse", ] diff --git a/agenta-cli/agenta/client/backend/types/add_variant_from_base_and_config_response.py b/agenta-cli/agenta/client/backend/types/add_variant_from_base_and_config_response.py deleted file mode 100644 index f9d71ca1b3..0000000000 --- a/agenta-cli/agenta/client/backend/types/add_variant_from_base_and_config_response.py +++ /dev/null @@ -1,7 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -from .app_variant_output import AppVariantOutput - -AddVariantFromBaseAndConfigResponse = typing.Union[AppVariantOutput, typing.Any] diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result.py b/agenta-cli/agenta/client/backend/types/aggregated_result.py index ab5cd4ee8b..cdfc47d3eb 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result.py @@ -4,7 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from .evaluator_config import EvaluatorConfig +from .aggregated_result_evaluator_config import AggregatedResultEvaluatorConfig from .result import Result try: @@ -14,23 +14,15 @@ class AggregatedResult(pydantic.BaseModel): - evaluator_config: EvaluatorConfig + evaluator_config: AggregatedResultEvaluatorConfig result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py new file mode 100644 index 0000000000..567c18f49d --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py @@ -0,0 +1,7 @@ +# This file was auto-generated by Fern from our API Definition. + +import typing + +from .evaluator_config import EvaluatorConfig + +AggregatedResultEvaluatorConfig = typing.Union[EvaluatorConfig, typing.Dict[str, typing.Any]] diff --git a/agenta-cli/agenta/client/backend/types/app.py b/agenta-cli/agenta/client/backend/types/app.py index 7611dc75e9..be4e77b499 100644 --- a/agenta-cli/agenta/client/backend/types/app.py +++ b/agenta-cli/agenta/client/backend/types/app.py @@ -16,19 +16,11 @@ class App(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py index cecc7f0d5a..667bd4c295 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py @@ -19,7 +19,6 @@ class AppVariantOutputExtended(pydantic.BaseModel): variant_name: str parameters: typing.Optional[typing.Dict[str, typing.Any]] previous_variant_name: typing.Optional[str] - organization_id: str user_id: str base_name: str base_id: str @@ -27,21 +26,15 @@ class AppVariantOutputExtended(pydantic.BaseModel): uri: typing.Optional[str] revision: int revisions: typing.List[AppVariantRevision] + organization_id: typing.Optional[str] + workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_output.py b/agenta-cli/agenta/client/backend/types/app_variant_response.py similarity index 72% rename from agenta-cli/agenta/client/backend/types/app_variant_output.py rename to agenta-cli/agenta/client/backend/types/app_variant_response.py index 95f9c11302..83a720f832 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_output.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_response.py @@ -11,34 +11,27 @@ import pydantic # type: ignore -class AppVariantOutput(pydantic.BaseModel): +class AppVariantResponse(pydantic.BaseModel): app_id: str app_name: str variant_id: str variant_name: str parameters: typing.Optional[typing.Dict[str, typing.Any]] previous_variant_name: typing.Optional[str] - organization_id: str user_id: str base_name: str base_id: str config_name: str uri: typing.Optional[str] + organization_id: typing.Optional[str] + workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_revision.py b/agenta-cli/agenta/client/backend/types/app_variant_revision.py index 39976d7a25..38434297c3 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_revision.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_revision.py @@ -19,19 +19,11 @@ class AppVariantRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/base_output.py b/agenta-cli/agenta/client/backend/types/base_output.py index 43a0e31eae..2a0a9b41bd 100644 --- a/agenta-cli/agenta/client/backend/types/base_output.py +++ b/agenta-cli/agenta/client/backend/types/base_output.py @@ -16,19 +16,11 @@ class BaseOutput(pydantic.BaseModel): base_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/body_import_testset.py b/agenta-cli/agenta/client/backend/types/body_import_testset.py index f06788d80d..1cfab34428 100644 --- a/agenta-cli/agenta/client/backend/types/body_import_testset.py +++ b/agenta-cli/agenta/client/backend/types/body_import_testset.py @@ -17,19 +17,11 @@ class BodyImportTestset(pydantic.BaseModel): app_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/config_db.py b/agenta-cli/agenta/client/backend/types/config_db.py index 7e7b9004fd..7414370572 100644 --- a/agenta-cli/agenta/client/backend/types/config_db.py +++ b/agenta-cli/agenta/client/backend/types/config_db.py @@ -16,19 +16,11 @@ class ConfigDb(pydantic.BaseModel): parameters: typing.Optional[typing.Dict[str, typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/create_app_output.py b/agenta-cli/agenta/client/backend/types/create_app_output.py index a736531605..adcf9fdfee 100644 --- a/agenta-cli/agenta/client/backend/types/create_app_output.py +++ b/agenta-cli/agenta/client/backend/types/create_app_output.py @@ -16,19 +16,11 @@ class CreateAppOutput(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/docker_env_vars.py b/agenta-cli/agenta/client/backend/types/docker_env_vars.py index ea0c144502..9a0630554a 100644 --- a/agenta-cli/agenta/client/backend/types/docker_env_vars.py +++ b/agenta-cli/agenta/client/backend/types/docker_env_vars.py @@ -15,19 +15,11 @@ class DockerEnvVars(pydantic.BaseModel): env_vars: typing.Dict[str, str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output.py b/agenta-cli/agenta/client/backend/types/environment_output.py index e979b49748..feb80a72f5 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output.py +++ b/agenta-cli/agenta/client/backend/types/environment_output.py @@ -17,22 +17,16 @@ class EnvironmentOutput(pydantic.BaseModel): deployed_app_variant_id: typing.Optional[str] deployed_variant_name: typing.Optional[str] deployed_app_variant_revision_id: typing.Optional[str] - revision: typing.Optional[str] + revision: typing.Optional[int] + organization_id: typing.Optional[str] + workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output_extended.py b/agenta-cli/agenta/client/backend/types/environment_output_extended.py new file mode 100644 index 0000000000..41baf24d13 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/environment_output_extended.py @@ -0,0 +1,37 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .environment_revision import EnvironmentRevision + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class EnvironmentOutputExtended(pydantic.BaseModel): + name: str + app_id: str + deployed_app_variant_id: typing.Optional[str] + deployed_variant_name: typing.Optional[str] + deployed_app_variant_revision_id: typing.Optional[str] + revision: typing.Optional[int] + revisions: typing.List[EnvironmentRevision] + organization_id: typing.Optional[str] + workspace_id: typing.Optional[str] + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/environment_revision.py b/agenta-cli/agenta/client/backend/types/environment_revision.py new file mode 100644 index 0000000000..cf8aa77edd --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/environment_revision.py @@ -0,0 +1,33 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class EnvironmentRevision(pydantic.BaseModel): + id: str + revision: int + modified_by: str + deployed_app_variant_revision: typing.Optional[str] + deployment: typing.Optional[str] + created_at: dt.datetime + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/delete_evaluation.py b/agenta-cli/agenta/client/backend/types/error.py similarity index 63% rename from agenta-cli/agenta/client/backend/types/delete_evaluation.py rename to agenta-cli/agenta/client/backend/types/error.py index 46eea6648a..174cc34048 100644 --- a/agenta-cli/agenta/client/backend/types/delete_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/error.py @@ -11,23 +11,16 @@ import pydantic # type: ignore -class DeleteEvaluation(pydantic.BaseModel): - evaluations_ids: typing.List[str] +class Error(pydantic.BaseModel): + message: str + stacktrace: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation.py b/agenta-cli/agenta/client/backend/types/evaluation.py index c52aa9105c..64a657815d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation.py +++ b/agenta-cli/agenta/client/backend/types/evaluation.py @@ -5,6 +5,7 @@ from ..core.datetime_utils import serialize_datetime from .aggregated_result import AggregatedResult +from .result import Result try: import pydantic.v1 as pydantic # type: ignore @@ -21,27 +22,19 @@ class Evaluation(pydantic.BaseModel): variant_names: typing.List[str] variant_revision_ids: typing.List[str] revisions: typing.List[str] - testset_id: str - testset_name: str - status: str + testset_id: typing.Optional[str] + testset_name: typing.Optional[str] + status: Result aggregated_results: typing.List[AggregatedResult] created_at: dt.datetime updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py index 36229c357d..b221afc09c 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py @@ -26,19 +26,11 @@ class EvaluationScenario(pydantic.BaseModel): results: typing.List[EvaluationScenarioResult] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py index 700f6372e4..826ae00434 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py @@ -17,19 +17,11 @@ class EvaluationScenarioInput(pydantic.BaseModel): value: typing.Optional[typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py index e869cb650b..582e1ae617 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py @@ -4,6 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime +from .result import Result try: import pydantic.v1 as pydantic # type: ignore @@ -12,23 +13,14 @@ class EvaluationScenarioOutput(pydantic.BaseModel): - type: str - value: typing.Optional[typing.Any] + result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py index 57fbd6e082..62f4d0015a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py @@ -17,19 +17,11 @@ class EvaluationScenarioResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_status_enum.py b/agenta-cli/agenta/client/backend/types/evaluation_status_enum.py index 43c2b002d4..1100b7756e 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_status_enum.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_status_enum.py @@ -14,6 +14,7 @@ class EvaluationStatusEnum(str, enum.Enum): EVALUATION_INITIALIZED = "EVALUATION_INITIALIZED" EVALUATION_STARTED = "EVALUATION_STARTED" EVALUATION_FINISHED = "EVALUATION_FINISHED" + EVALUATION_FINISHED_WITH_ERRORS = "EVALUATION_FINISHED_WITH_ERRORS" EVALUATION_FAILED = "EVALUATION_FAILED" def visit( @@ -21,6 +22,7 @@ def visit( evaluation_initialized: typing.Callable[[], T_Result], evaluation_started: typing.Callable[[], T_Result], evaluation_finished: typing.Callable[[], T_Result], + evaluation_finished_with_errors: typing.Callable[[], T_Result], evaluation_failed: typing.Callable[[], T_Result], ) -> T_Result: if self is EvaluationStatusEnum.EVALUATION_INITIALIZED: @@ -29,5 +31,7 @@ def visit( return evaluation_started() if self is EvaluationStatusEnum.EVALUATION_FINISHED: return evaluation_finished() + if self is EvaluationStatusEnum.EVALUATION_FINISHED_WITH_ERRORS: + return evaluation_finished_with_errors() if self is EvaluationStatusEnum.EVALUATION_FAILED: return evaluation_failed() diff --git a/agenta-cli/agenta/client/backend/types/evaluation_type.py b/agenta-cli/agenta/client/backend/types/evaluation_type.py index 4d2b91066d..45c37b9c82 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_type.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_type.py @@ -15,9 +15,7 @@ class EvaluationType(str, enum.Enum): SINGLE_MODEL_TEST = "single_model_test" def visit( - self, - human_a_b_testing: typing.Callable[[], T_Result], - single_model_test: typing.Callable[[], T_Result], + self, human_a_b_testing: typing.Callable[[], T_Result], single_model_test: typing.Callable[[], T_Result] ) -> T_Result: if self is EvaluationType.HUMAN_A_B_TESTING: return human_a_b_testing() diff --git a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py index c8d71dc626..7eb6db6bc6 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py @@ -15,19 +15,11 @@ class EvaluationWebhook(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator.py b/agenta-cli/agenta/client/backend/types/evaluator.py index 70bea7aa58..f0b44dcc0c 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator.py +++ b/agenta-cli/agenta/client/backend/types/evaluator.py @@ -18,19 +18,11 @@ class Evaluator(pydantic.BaseModel): settings_template: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator_config.py b/agenta-cli/agenta/client/backend/types/evaluator_config.py index 7ca248d882..54fed00c6a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/evaluator_config.py @@ -20,19 +20,11 @@ class EvaluatorConfig(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/feedback.py b/agenta-cli/agenta/client/backend/types/feedback.py index e4fa0db6e1..c771eb1e39 100644 --- a/agenta-cli/agenta/client/backend/types/feedback.py +++ b/agenta-cli/agenta/client/backend/types/feedback.py @@ -19,19 +19,11 @@ class Feedback(pydantic.BaseModel): created_at: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/get_config_reponse.py b/agenta-cli/agenta/client/backend/types/get_config_response.py similarity index 67% rename from agenta-cli/agenta/client/backend/types/get_config_reponse.py rename to agenta-cli/agenta/client/backend/types/get_config_response.py index e3a62dc9fb..448a75128e 100644 --- a/agenta-cli/agenta/client/backend/types/get_config_reponse.py +++ b/agenta-cli/agenta/client/backend/types/get_config_response.py @@ -11,26 +11,18 @@ import pydantic # type: ignore -class GetConfigReponse(pydantic.BaseModel): - config_id: str +class GetConfigResponse(pydantic.BaseModel): + config_id: typing.Optional[str] config_name: str current_version: int parameters: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/http_validation_error.py b/agenta-cli/agenta/client/backend/types/http_validation_error.py index 02fc88d818..e5f647b24d 100644 --- a/agenta-cli/agenta/client/backend/types/http_validation_error.py +++ b/agenta-cli/agenta/client/backend/types/http_validation_error.py @@ -16,19 +16,11 @@ class HttpValidationError(pydantic.BaseModel): detail: typing.Optional[typing.List[ValidationError]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation.py b/agenta-cli/agenta/client/backend/types/human_evaluation.py index 299120edc6..49bfb5da85 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation.py @@ -28,19 +28,11 @@ class HumanEvaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py index cac5dbdd5e..a837a1ff4c 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py @@ -6,7 +6,7 @@ from ..core.datetime_utils import serialize_datetime from .human_evaluation_scenario_input import HumanEvaluationScenarioInput from .human_evaluation_scenario_output import HumanEvaluationScenarioOutput -from .human_evaluation_scenario_score import HumanEvaluationScenarioScore +from .score import Score try: import pydantic.v1 as pydantic # type: ignore @@ -20,26 +20,18 @@ class HumanEvaluationScenario(pydantic.BaseModel): inputs: typing.List[HumanEvaluationScenarioInput] outputs: typing.List[HumanEvaluationScenarioOutput] vote: typing.Optional[str] - score: typing.Optional[HumanEvaluationScenarioScore] + score: typing.Optional[Score] evaluation: typing.Optional[str] correct_answer: typing.Optional[str] is_pinned: typing.Optional[bool] note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py index d65233935e..bf35c307cb 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py @@ -16,19 +16,11 @@ class HumanEvaluationScenarioInput(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py index 752606176b..e239ca6cd2 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py @@ -16,19 +16,11 @@ class HumanEvaluationScenarioOutput(pydantic.BaseModel): variant_output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py new file mode 100644 index 0000000000..cb035d6c6b --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py @@ -0,0 +1,37 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .human_evaluation_scenario_input import HumanEvaluationScenarioInput +from .human_evaluation_scenario_output import HumanEvaluationScenarioOutput +from .score import Score + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class HumanEvaluationScenarioUpdate(pydantic.BaseModel): + vote: typing.Optional[str] + score: typing.Optional[Score] + correct_answer: typing.Optional[str] + outputs: typing.Optional[typing.List[HumanEvaluationScenarioOutput]] + inputs: typing.Optional[typing.List[HumanEvaluationScenarioInput]] + is_pinned: typing.Optional[bool] + note: typing.Optional[str] + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update_score.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update_score.py deleted file mode 100644 index 02d51b079b..0000000000 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update_score.py +++ /dev/null @@ -1,5 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import typing - -HumanEvaluationScenarioUpdateScore = typing.Union[str, int] diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py new file mode 100644 index 0000000000..71c6cac057 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py @@ -0,0 +1,29 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .evaluation_status_enum import EvaluationStatusEnum + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class HumanEvaluationUpdate(pydantic.BaseModel): + status: typing.Optional[EvaluationStatusEnum] + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/image.py b/agenta-cli/agenta/client/backend/types/image.py index 714bf93e9c..03c2193087 100644 --- a/agenta-cli/agenta/client/backend/types/image.py +++ b/agenta-cli/agenta/client/backend/types/image.py @@ -16,21 +16,14 @@ class Image(pydantic.BaseModel): docker_id: str tags: str organization_id: typing.Optional[str] + workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/invite_request.py b/agenta-cli/agenta/client/backend/types/invite_request.py index 38a759ad10..5a454982de 100644 --- a/agenta-cli/agenta/client/backend/types/invite_request.py +++ b/agenta-cli/agenta/client/backend/types/invite_request.py @@ -13,21 +13,14 @@ class InviteRequest(pydantic.BaseModel): email: str + roles: typing.List[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/list_api_keys_output.py b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py similarity index 69% rename from agenta-cli/agenta/client/backend/types/list_api_keys_output.py rename to agenta-cli/agenta/client/backend/types/list_api_keys_response.py index 0a925376d3..0aa72d80ee 100644 --- a/agenta-cli/agenta/client/backend/types/list_api_keys_output.py +++ b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py @@ -11,26 +11,18 @@ import pydantic # type: ignore -class ListApiKeysOutput(pydantic.BaseModel): +class ListApiKeysResponse(pydantic.BaseModel): prefix: str created_at: dt.datetime last_used_at: typing.Optional[dt.datetime] expiration_date: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_content.py b/agenta-cli/agenta/client/backend/types/llm_content.py new file mode 100644 index 0000000000..c6ab83f6d0 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/llm_content.py @@ -0,0 +1,30 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .llm_inputs import LlmInputs + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class LlmContent(pydantic.BaseModel): + inputs: typing.List[LlmInputs] + output: str + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/llm_inputs.py b/agenta-cli/agenta/client/backend/types/llm_inputs.py new file mode 100644 index 0000000000..97f828f45c --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/llm_inputs.py @@ -0,0 +1,29 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class LlmInputs(pydantic.BaseModel): + input_name: str + input_value: str + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/llm_model_params.py b/agenta-cli/agenta/client/backend/types/llm_model_params.py new file mode 100644 index 0000000000..417b05cc6d --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/llm_model_params.py @@ -0,0 +1,29 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class LlmModelParams(pydantic.BaseModel): + prompt: typing.Dict[str, typing.Any] + params: typing.Dict[str, typing.Any] + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py index 24214f4c59..b7ea18a69d 100644 --- a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py +++ b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py @@ -18,19 +18,11 @@ class LlmRunRateLimit(pydantic.BaseModel): delay_between_batches: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py new file mode 100644 index 0000000000..c201ac2f27 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py @@ -0,0 +1,34 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .evaluation_type import EvaluationType + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class NewHumanEvaluation(pydantic.BaseModel): + app_id: str + variant_ids: typing.List[str] + evaluation_type: EvaluationType + inputs: typing.List[str] + testset_id: str + status: str + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/new_testset.py b/agenta-cli/agenta/client/backend/types/new_testset.py index 7f931de42e..20b5ec77ad 100644 --- a/agenta-cli/agenta/client/backend/types/new_testset.py +++ b/agenta-cli/agenta/client/backend/types/new_testset.py @@ -16,19 +16,11 @@ class NewTestset(pydantic.BaseModel): csvdata: typing.List[typing.Dict[str, str]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py new file mode 100644 index 0000000000..f41c6cbc83 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py @@ -0,0 +1,36 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .observability_data import ObservabilityData + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class ObservabilityDashboardData(pydantic.BaseModel): + data: typing.List[ObservabilityData] + total_count: int + failure_rate: float + total_cost: float + avg_cost: float + avg_latency: float + total_tokens: int + avg_tokens: int + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/observability_data.py b/agenta-cli/agenta/client/backend/types/observability_data.py new file mode 100644 index 0000000000..4c6cbc48c0 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/observability_data.py @@ -0,0 +1,37 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class ObservabilityData(pydantic.BaseModel): + timestamp: dt.datetime + success_count: int + failure_count: int + cost: float + latency: float + total_tokens: int + prompt_tokens: int + completion_tokens: int + environment: str + variant: str + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/organization.py b/agenta-cli/agenta/client/backend/types/organization.py index df4d90e2ec..b58da914e4 100644 --- a/agenta-cli/agenta/client/backend/types/organization.py +++ b/agenta-cli/agenta/client/backend/types/organization.py @@ -21,19 +21,11 @@ class Organization(pydantic.BaseModel): invitations: typing.Optional[typing.List[typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization_output.py b/agenta-cli/agenta/client/backend/types/organization_output.py index 93b88e4cf4..d3269aeb52 100644 --- a/agenta-cli/agenta/client/backend/types/organization_output.py +++ b/agenta-cli/agenta/client/backend/types/organization_output.py @@ -16,19 +16,11 @@ class OrganizationOutput(pydantic.BaseModel): name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/permission.py b/agenta-cli/agenta/client/backend/types/permission.py new file mode 100644 index 0000000000..9dad934d8e --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/permission.py @@ -0,0 +1,141 @@ +# This file was auto-generated by Fern from our API Definition. + +import enum +import typing + +T_Result = typing.TypeVar("T_Result") + + +class Permission(str, enum.Enum): + """ + An enumeration. + """ + + READ_SYSTEM = "read_system" + VIEW_APPLICATION = "view_application" + EDIT_APPLICATION = "edit_application" + CREATE_APPLICATION = "create_application" + DELETE_APPLICATION = "delete_application" + CREATE_APP_VARIANT = "create_app_variant" + DELETE_APP_VARIANT = "delete_app_variant" + MODIFY_VARIANT_CONFIGURATIONS = "modify_variant_configurations" + DELETE_APPLICATION_VARIANT = "delete_application_variant" + VIEW_APP_ENVIRONMENT_DEPLOYMENT = "view_app_environment_deployment" + EDIT_APP_ENVIRONMENT_DEPLOYMENT = "edit_app_environment_deployment" + CREATE_APP_ENVIRONMENT_DEPLOYMENT = "create_app_environment_deployment" + VIEW_TESTSET = "view_testset" + EDIT_TESTSET = "edit_testset" + CREATE_TESTSET = "create_testset" + DELETE_TESTSET = "delete_testset" + VIEW_EVALUATION = "view_evaluation" + RUN_EVALUATIONS = "run_evaluations" + EDIT_EVALUATION = "edit_evaluation" + CREATE_EVALUATION = "create_evaluation" + DELETE_EVALUATION = "delete_evaluation" + DEPLOY_APPLICATION = "deploy_application" + VIEW_WORKSPACE = "view_workspace" + EDIT_WORKSPACE = "edit_workspace" + CREATE_WORKSPACE = "create_workspace" + DELETE_WORKSPACE = "delete_workspace" + MODIFY_USER_ROLES = "modify_user_roles" + ADD_NEW_USER_TO_WORKSPACE = "add_new_user_to_workspace" + EDIT_ORGANIZATION = "edit_organization" + DELETE_ORGANIZATION = "delete_organization" + ADD_NEW_USER_TO_ORGANIZATION = "add_new_user_to_organization" + + def visit( + self, + read_system: typing.Callable[[], T_Result], + view_application: typing.Callable[[], T_Result], + edit_application: typing.Callable[[], T_Result], + create_application: typing.Callable[[], T_Result], + delete_application: typing.Callable[[], T_Result], + create_app_variant: typing.Callable[[], T_Result], + delete_app_variant: typing.Callable[[], T_Result], + modify_variant_configurations: typing.Callable[[], T_Result], + delete_application_variant: typing.Callable[[], T_Result], + view_app_environment_deployment: typing.Callable[[], T_Result], + edit_app_environment_deployment: typing.Callable[[], T_Result], + create_app_environment_deployment: typing.Callable[[], T_Result], + view_testset: typing.Callable[[], T_Result], + edit_testset: typing.Callable[[], T_Result], + create_testset: typing.Callable[[], T_Result], + delete_testset: typing.Callable[[], T_Result], + view_evaluation: typing.Callable[[], T_Result], + run_evaluations: typing.Callable[[], T_Result], + edit_evaluation: typing.Callable[[], T_Result], + create_evaluation: typing.Callable[[], T_Result], + delete_evaluation: typing.Callable[[], T_Result], + deploy_application: typing.Callable[[], T_Result], + view_workspace: typing.Callable[[], T_Result], + edit_workspace: typing.Callable[[], T_Result], + create_workspace: typing.Callable[[], T_Result], + delete_workspace: typing.Callable[[], T_Result], + modify_user_roles: typing.Callable[[], T_Result], + add_new_user_to_workspace: typing.Callable[[], T_Result], + edit_organization: typing.Callable[[], T_Result], + delete_organization: typing.Callable[[], T_Result], + add_new_user_to_organization: typing.Callable[[], T_Result], + ) -> T_Result: + if self is Permission.READ_SYSTEM: + return read_system() + if self is Permission.VIEW_APPLICATION: + return view_application() + if self is Permission.EDIT_APPLICATION: + return edit_application() + if self is Permission.CREATE_APPLICATION: + return create_application() + if self is Permission.DELETE_APPLICATION: + return delete_application() + if self is Permission.CREATE_APP_VARIANT: + return create_app_variant() + if self is Permission.DELETE_APP_VARIANT: + return delete_app_variant() + if self is Permission.MODIFY_VARIANT_CONFIGURATIONS: + return modify_variant_configurations() + if self is Permission.DELETE_APPLICATION_VARIANT: + return delete_application_variant() + if self is Permission.VIEW_APP_ENVIRONMENT_DEPLOYMENT: + return view_app_environment_deployment() + if self is Permission.EDIT_APP_ENVIRONMENT_DEPLOYMENT: + return edit_app_environment_deployment() + if self is Permission.CREATE_APP_ENVIRONMENT_DEPLOYMENT: + return create_app_environment_deployment() + if self is Permission.VIEW_TESTSET: + return view_testset() + if self is Permission.EDIT_TESTSET: + return edit_testset() + if self is Permission.CREATE_TESTSET: + return create_testset() + if self is Permission.DELETE_TESTSET: + return delete_testset() + if self is Permission.VIEW_EVALUATION: + return view_evaluation() + if self is Permission.RUN_EVALUATIONS: + return run_evaluations() + if self is Permission.EDIT_EVALUATION: + return edit_evaluation() + if self is Permission.CREATE_EVALUATION: + return create_evaluation() + if self is Permission.DELETE_EVALUATION: + return delete_evaluation() + if self is Permission.DEPLOY_APPLICATION: + return deploy_application() + if self is Permission.VIEW_WORKSPACE: + return view_workspace() + if self is Permission.EDIT_WORKSPACE: + return edit_workspace() + if self is Permission.CREATE_WORKSPACE: + return create_workspace() + if self is Permission.DELETE_WORKSPACE: + return delete_workspace() + if self is Permission.MODIFY_USER_ROLES: + return modify_user_roles() + if self is Permission.ADD_NEW_USER_TO_WORKSPACE: + return add_new_user_to_workspace() + if self is Permission.EDIT_ORGANIZATION: + return edit_organization() + if self is Permission.DELETE_ORGANIZATION: + return delete_organization() + if self is Permission.ADD_NEW_USER_TO_ORGANIZATION: + return add_new_user_to_organization() diff --git a/agenta-cli/agenta/client/backend/types/result.py b/agenta-cli/agenta/client/backend/types/result.py index 544336c305..c807398f53 100644 --- a/agenta-cli/agenta/client/backend/types/result.py +++ b/agenta-cli/agenta/client/backend/types/result.py @@ -4,6 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime +from .error import Error try: import pydantic.v1 as pydantic # type: ignore @@ -14,21 +15,14 @@ class Result(pydantic.BaseModel): type: str value: typing.Optional[typing.Any] + error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_score.py b/agenta-cli/agenta/client/backend/types/score.py similarity index 59% rename from agenta-cli/agenta/client/backend/types/human_evaluation_scenario_score.py rename to agenta-cli/agenta/client/backend/types/score.py index eb99491278..8e90b82171 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_score.py +++ b/agenta-cli/agenta/client/backend/types/score.py @@ -2,4 +2,4 @@ import typing -HumanEvaluationScenarioScore = typing.Union[str, int] +Score = typing.Union[str, int] diff --git a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py index ed86be2b2e..3bba878f7b 100644 --- a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py +++ b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py @@ -20,19 +20,11 @@ class SimpleEvaluationOutput(pydantic.BaseModel): evaluation_type: EvaluationType def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span.py b/agenta-cli/agenta/client/backend/types/span.py index 562d5783e0..b32cc5bc1a 100644 --- a/agenta-cli/agenta/client/backend/types/span.py +++ b/agenta-cli/agenta/client/backend/types/span.py @@ -4,6 +4,8 @@ import typing from ..core.datetime_utils import serialize_datetime +from .span_status import SpanStatus +from .span_variant import SpanVariant try: import pydantic.v1 as pydantic # type: ignore @@ -12,38 +14,20 @@ class Span(pydantic.BaseModel): - parent_span_id: typing.Optional[str] - meta: typing.Optional[typing.Dict[str, typing.Any]] - event_name: str - event_type: typing.Optional[str] - start_time: dt.datetime - duration: typing.Optional[int] - status: str - end_time: dt.datetime - inputs: typing.Optional[typing.List[str]] - outputs: typing.Optional[typing.List[str]] - prompt_template: typing.Optional[str] - tokens_input: typing.Optional[int] - tokens_output: typing.Optional[int] - token_total: typing.Optional[int] - cost: typing.Optional[float] - tags: typing.Optional[typing.List[str]] - span_id: str + id: str + created_at: dt.datetime + variant: SpanVariant + environment: str + status: SpanStatus + metadata: typing.Dict[str, typing.Any] + user_id: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_detail.py b/agenta-cli/agenta/client/backend/types/span_detail.py new file mode 100644 index 0000000000..f5d271c80c --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/span_detail.py @@ -0,0 +1,32 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .llm_content import LlmContent +from .llm_model_params import LlmModelParams + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class SpanDetail(pydantic.BaseModel): + span_id: str + content: LlmContent + model_params: LlmModelParams + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/span_status.py b/agenta-cli/agenta/client/backend/types/span_status.py new file mode 100644 index 0000000000..5bcda585c1 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/span_status.py @@ -0,0 +1,31 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .error import Error +from .status import Status + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class SpanStatus(pydantic.BaseModel): + value: typing.Optional[Status] + error: typing.Optional[Error] + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/span_variant.py b/agenta-cli/agenta/client/backend/types/span_variant.py new file mode 100644 index 0000000000..a67067789d --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/span_variant.py @@ -0,0 +1,30 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class SpanVariant(pydantic.BaseModel): + variant_id: str + variant_name: str + revision: int + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/status.py b/agenta-cli/agenta/client/backend/types/status.py new file mode 100644 index 0000000000..bbf7922525 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/status.py @@ -0,0 +1,37 @@ +# This file was auto-generated by Fern from our API Definition. + +import enum +import typing + +T_Result = typing.TypeVar("T_Result") + + +class Status(str, enum.Enum): + """ + An enumeration. + """ + + INITIATED = "INITIATED" + COMPLETED = "COMPLETED" + STOPPED = "STOPPED" + CANCELLED = "CANCELLED" + FAILED = "FAILED" + + def visit( + self, + initiated: typing.Callable[[], T_Result], + completed: typing.Callable[[], T_Result], + stopped: typing.Callable[[], T_Result], + cancelled: typing.Callable[[], T_Result], + failed: typing.Callable[[], T_Result], + ) -> T_Result: + if self is Status.INITIATED: + return initiated() + if self is Status.COMPLETED: + return completed() + if self is Status.STOPPED: + return stopped() + if self is Status.CANCELLED: + return cancelled() + if self is Status.FAILED: + return failed() diff --git a/agenta-cli/agenta/client/backend/types/template.py b/agenta-cli/agenta/client/backend/types/template.py index b509e795d4..c43fc4beac 100644 --- a/agenta-cli/agenta/client/backend/types/template.py +++ b/agenta-cli/agenta/client/backend/types/template.py @@ -17,19 +17,11 @@ class Template(pydantic.BaseModel): image: TemplateImageInfo def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template_image_info.py b/agenta-cli/agenta/client/backend/types/template_image_info.py index b0c01e7504..5131e053d7 100644 --- a/agenta-cli/agenta/client/backend/types/template_image_info.py +++ b/agenta-cli/agenta/client/backend/types/template_image_info.py @@ -22,19 +22,11 @@ class TemplateImageInfo(pydantic.BaseModel): template_uri: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_output_response.py b/agenta-cli/agenta/client/backend/types/test_set_output_response.py index 715ebcdcd5..ac4a47255d 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_output_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_output_response.py @@ -17,19 +17,11 @@ class TestSetOutputResponse(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py index b6ac04a871..c30fc1de89 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py @@ -17,19 +17,11 @@ class TestSetSimpleResponse(pydantic.BaseModel): created_at: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/trace.py b/agenta-cli/agenta/client/backend/types/trace.py deleted file mode 100644 index 9e06a32be5..0000000000 --- a/agenta-cli/agenta/client/backend/types/trace.py +++ /dev/null @@ -1,48 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import datetime as dt -import typing - -from ..core.datetime_utils import serialize_datetime -from .feedback import Feedback - -try: - import pydantic.v1 as pydantic # type: ignore -except ImportError: - import pydantic # type: ignore - - -class Trace(pydantic.BaseModel): - app_id: typing.Optional[str] - variant_id: typing.Optional[str] - cost: typing.Optional[float] - latency: float - status: str - token_consumption: typing.Optional[int] - tags: typing.Optional[typing.List[str]] - start_time: dt.datetime - end_time: dt.datetime - trace_id: str - spans: typing.List[str] - feedbacks: typing.Optional[typing.List[Feedback]] - - def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } - return super().json(**kwargs_with_defaults) - - def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } - return super().dict(**kwargs_with_defaults) - - class Config: - frozen = True - smart_union = True - json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/uri.py b/agenta-cli/agenta/client/backend/types/uri.py index 608f89ef6f..a04cc35249 100644 --- a/agenta-cli/agenta/client/backend/types/uri.py +++ b/agenta-cli/agenta/client/backend/types/uri.py @@ -15,19 +15,11 @@ class Uri(pydantic.BaseModel): uri: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/validation_error.py b/agenta-cli/agenta/client/backend/types/validation_error.py index ffd8cc872f..67b5ba78e3 100644 --- a/agenta-cli/agenta/client/backend/types/validation_error.py +++ b/agenta-cli/agenta/client/backend/types/validation_error.py @@ -18,19 +18,11 @@ class ValidationError(pydantic.BaseModel): type: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action.py b/agenta-cli/agenta/client/backend/types/variant_action.py index a614ac00f5..1fe22412aa 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action.py +++ b/agenta-cli/agenta/client/backend/types/variant_action.py @@ -16,19 +16,11 @@ class VariantAction(pydantic.BaseModel): action: VariantActionEnum def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action_enum.py b/agenta-cli/agenta/client/backend/types/variant_action_enum.py index 6f5f8c19c5..5aa6f1c7e7 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action_enum.py +++ b/agenta-cli/agenta/client/backend/types/variant_action_enum.py @@ -14,9 +14,7 @@ class VariantActionEnum(str, enum.Enum): START = "START" STOP = "STOP" - def visit( - self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result] - ) -> T_Result: + def visit(self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result]) -> T_Result: if self is VariantActionEnum.START: return start() if self is VariantActionEnum.STOP: diff --git a/agenta-cli/agenta/client/backend/types/workspace_member_response.py b/agenta-cli/agenta/client/backend/types/workspace_member_response.py new file mode 100644 index 0000000000..ef3c928c8e --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/workspace_member_response.py @@ -0,0 +1,30 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .workspace_permission import WorkspacePermission + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class WorkspaceMemberResponse(pydantic.BaseModel): + user: typing.Dict[str, typing.Any] + roles: typing.List[WorkspacePermission] + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/workspace_permission.py b/agenta-cli/agenta/client/backend/types/workspace_permission.py new file mode 100644 index 0000000000..ed74790008 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/workspace_permission.py @@ -0,0 +1,32 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .permission import Permission +from .workspace_role import WorkspaceRole + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class WorkspacePermission(pydantic.BaseModel): + role_name: WorkspaceRole + role_description: typing.Optional[str] + permissions: typing.Optional[typing.List[Permission]] + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/workspace_response.py b/agenta-cli/agenta/client/backend/types/workspace_response.py new file mode 100644 index 0000000000..55ee8f5f51 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/workspace_response.py @@ -0,0 +1,36 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .workspace_member_response import WorkspaceMemberResponse + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class WorkspaceResponse(pydantic.BaseModel): + created_at: typing.Optional[dt.datetime] + updated_at: typing.Optional[dt.datetime] + id: str + name: str + description: typing.Optional[str] + type: typing.Optional[str] + organization: str + members: typing.Optional[typing.List[WorkspaceMemberResponse]] + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/workspace_role.py b/agenta-cli/agenta/client/backend/types/workspace_role.py new file mode 100644 index 0000000000..44b49481e3 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/workspace_role.py @@ -0,0 +1,41 @@ +# This file was auto-generated by Fern from our API Definition. + +import enum +import typing + +T_Result = typing.TypeVar("T_Result") + + +class WorkspaceRole(str, enum.Enum): + """ + An enumeration. + """ + + OWNER = "owner" + VIEWER = "viewer" + EDITOR = "editor" + EVALUATOR = "evaluator" + WORKSPACE_ADMIN = "workspace_admin" + DEPLOYMENT_MANAGER = "deployment_manager" + + def visit( + self, + owner: typing.Callable[[], T_Result], + viewer: typing.Callable[[], T_Result], + editor: typing.Callable[[], T_Result], + evaluator: typing.Callable[[], T_Result], + workspace_admin: typing.Callable[[], T_Result], + deployment_manager: typing.Callable[[], T_Result], + ) -> T_Result: + if self is WorkspaceRole.OWNER: + return owner() + if self is WorkspaceRole.VIEWER: + return viewer() + if self is WorkspaceRole.EDITOR: + return editor() + if self is WorkspaceRole.EVALUATOR: + return evaluator() + if self is WorkspaceRole.WORKSPACE_ADMIN: + return workspace_admin() + if self is WorkspaceRole.DEPLOYMENT_MANAGER: + return deployment_manager() diff --git a/agenta-cli/agenta/client/backend/types/workspace_role_response.py b/agenta-cli/agenta/client/backend/types/workspace_role_response.py new file mode 100644 index 0000000000..4313b624b1 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/workspace_role_response.py @@ -0,0 +1,30 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime +from .workspace_role import WorkspaceRole + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class WorkspaceRoleResponse(pydantic.BaseModel): + role_name: WorkspaceRole + role_description: typing.Optional[str] + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + json_encoders = {dt.datetime: serialize_datetime} From 04cc3b128448062f4d4905b5155f1e1369ecbf8b Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 19 Feb 2024 08:50:42 +0100 Subject: [PATCH 021/539] Update - resolve type error --- .../agenta_backend/models/api/observability_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 99dfbd01ea..78656a425f 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -13,7 +13,7 @@ class BaseSpan(BaseModel): start_time: datetime = Field(default=datetime.now()) duration: Optional[int] status: str - inputs: Optional[Dict[str]] + inputs: Optional[Dict[str, Any]] outputs: Optional[List[str]] prompt_template: Optional[str] tokens_input: Optional[int] From f85af20621c66d32c57044a3200c413fbc225c74 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 19 Feb 2024 08:52:33 +0100 Subject: [PATCH 022/539] Fix - resolve typerror --- agenta-backend/agenta_backend/models/db_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index f79a159b11..6641c746d3 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -300,7 +300,7 @@ class SpanDB(Document): duration: Optional[int] status: Result end_time: datetime = Field(default=datetime.now()) - inputs: Optional[Dict[str]] + inputs: Optional[Dict[str, Any]] outputs: Optional[List[str]] prompt_template: Optional[str] tokens_input: Optional[int] From 521c57683339ecaf2433b6033a9c68d2843253f8 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 19 Feb 2024 09:27:21 +0100 Subject: [PATCH 023/539] Refactor - renamed client backend to use agenta instead of username --- agenta-cli/agenta/client/backend/client.py | 176 ++++++++++----------- 1 file changed, 88 insertions(+), 88 deletions(-) diff --git a/agenta-cli/agenta/client/backend/client.py b/agenta-cli/agenta/client/backend/client.py index b629942165..17dd0b086c 100644 --- a/agenta-cli/agenta/client/backend/client.py +++ b/agenta-cli/agenta/client/backend/client.py @@ -41,7 +41,7 @@ OMIT = typing.cast(typing.Any, ...) -class AybruhmApi: +class AgentaApi: def __init__( self, *, @@ -77,9 +77,9 @@ def list_api_keys(self) -> typing.List[ListApiKeysResponse]: List[ListAPIKeysResponse]: A list of API Keys associated with the user. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -112,9 +112,9 @@ def create_api_key(self, *, workspace_id: str) -> str: Parameters: - workspace_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -156,9 +156,9 @@ def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: Parameters: - key_prefix: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -191,9 +191,9 @@ def validate_api_key(self, key_prefix: str) -> bool: Parameters: - key_prefix: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -231,9 +231,9 @@ def list_organizations(self) -> typing.List[Organization]: HTTPException: If there is an error retrieving the organizations from the database. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -271,9 +271,9 @@ def create_organization( - owner: typing.Optional[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -307,9 +307,9 @@ def create_organization( def get_own_org(self) -> OrganizationOutput: """ - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -343,9 +343,9 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: Parameters: - org_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -387,9 +387,9 @@ def update_organization( - updated_at: typing.Optional[dt.datetime]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -432,10 +432,10 @@ def invite_user_to_workspace( - request: typing.List[InviteRequest]. --- - from aybruhm import InviteRequest - from aybruhm.client import AybruhmApi + from agenta import InviteRequest + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -488,9 +488,9 @@ def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> ty - email: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -539,9 +539,9 @@ def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> ty - token: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -584,9 +584,9 @@ def create_workspace( - type: typing.Optional[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -638,9 +638,9 @@ def update_workspace( - updated_at: typing.Optional[dt.datetime]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -688,9 +688,9 @@ def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: HTTPException: If an error occurs while retrieving the workspace roles. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -723,9 +723,9 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: HTTPException: If there is an error retrieving the workspace permissions. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -772,9 +772,9 @@ def assign_role_to_user( - role: typing.Optional[WorkspaceRole]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -831,9 +831,9 @@ def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, - role: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -887,9 +887,9 @@ def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: s - email: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -918,9 +918,9 @@ def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: s def health_check(self) -> typing.Any: """ - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -942,9 +942,9 @@ def health_check(self) -> typing.Any: def user_profile(self) -> typing.Any: """ - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -965,7 +965,7 @@ def user_profile(self) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response_json) -class AsyncAybruhmApi: +class AsyncAgentaApi: def __init__( self, *, @@ -1001,9 +1001,9 @@ async def list_api_keys(self) -> typing.List[ListApiKeysResponse]: List[ListAPIKeysResponse]: A list of API Keys associated with the user. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1036,9 +1036,9 @@ async def create_api_key(self, *, workspace_id: str) -> str: Parameters: - workspace_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1080,9 +1080,9 @@ async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: Parameters: - key_prefix: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1115,9 +1115,9 @@ async def validate_api_key(self, key_prefix: str) -> bool: Parameters: - key_prefix: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1155,9 +1155,9 @@ async def list_organizations(self) -> typing.List[Organization]: HTTPException: If there is an error retrieving the organizations from the database. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1195,9 +1195,9 @@ async def create_organization( - owner: typing.Optional[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1231,9 +1231,9 @@ async def create_organization( async def get_own_org(self) -> OrganizationOutput: """ - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1267,9 +1267,9 @@ async def fetch_organization_details(self, org_id: str) -> typing.Any: Parameters: - org_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1311,9 +1311,9 @@ async def update_organization( - updated_at: typing.Optional[dt.datetime]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1356,10 +1356,10 @@ async def invite_user_to_workspace( - request: typing.List[InviteRequest]. --- - from aybruhm import InviteRequest - from aybruhm.client import AsyncAybruhmApi + from agenta import InviteRequest + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1412,9 +1412,9 @@ async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) - email: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1463,9 +1463,9 @@ async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) - token: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1508,9 +1508,9 @@ async def create_workspace( - type: typing.Optional[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1562,9 +1562,9 @@ async def update_workspace( - updated_at: typing.Optional[dt.datetime]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1612,9 +1612,9 @@ async def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: HTTPException: If an error occurs while retrieving the workspace roles. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1647,9 +1647,9 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: HTTPException: If there is an error retrieving the workspace permissions. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1696,9 +1696,9 @@ async def assign_role_to_user( - role: typing.Optional[WorkspaceRole]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1755,9 +1755,9 @@ async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id - role: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1811,9 +1811,9 @@ async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, em - email: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1842,9 +1842,9 @@ async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, em async def health_check(self) -> typing.Any: """ - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -1866,9 +1866,9 @@ async def health_check(self) -> typing.Any: async def user_profile(self) -> typing.Any: """ - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( + client = AsyncAgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) From 26d64235513cfca1eba1642d21dc21a41895ddb1 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 19 Feb 2024 10:11:51 +0100 Subject: [PATCH 024/539] Update - modified status enum --- .../agenta_backend/models/api/observability_models.py | 6 ++---- agenta-backend/agenta_backend/services/event_db_manager.py | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 78656a425f..7694cb3e61 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -34,10 +34,8 @@ class Error(BaseModel): class Status(str, Enum): INITIATED = "INITIATED" - COMPLETED = "COMPLETED" - STOPPED = "STOPPED" - CANCELLED = "CANCELLED" - FAILED = "FAILED" + SUCCESS = "SUCCESS" + FAILURE = "FAILURE" class SpanVariant(BaseModel): diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 95973f0002..9d434d6b6f 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -180,7 +180,7 @@ def get_random_timestamp(): return random_time.isoformat() def generate_mock_generation(): - status_value = random.choice(["SUCCESS", "FAILURE"]) + status_value = random.choice(["SUCCESS", "FAILURE", "INITIATED"]) list_of_generations.append( Span( **{ @@ -195,7 +195,7 @@ def generate_mock_generation(): ["development", "staging", "production"] ), "status": { - "value": random.choice(["INITIATED", "COMPLETED", "STOPPED"]), + "value": random.choice(["INITIATED", "SUCCESS", "FAILURE"]), "error": ( { "message": fake.sentence(), From d42352db212ff846eb18dc46c472b292fd50b0bd Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 19 Feb 2024 10:21:07 +0100 Subject: [PATCH 025/539] Refactor - renamed client(s) docstring to make use of right client api --- .../client/backend/resources/apps/client.py | 162 ++++++++++++----- .../client/backend/resources/bases/client.py | 16 +- .../backend/resources/configs/client.py | 96 +++++++--- .../backend/resources/containers/client.py | 72 ++++++-- .../backend/resources/environments/client.py | 30 ++- .../backend/resources/evaluations/client.py | 172 ++++++++++++------ .../backend/resources/evaluators/client.py | 110 +++++++---- .../backend/resources/observability/client.py | 170 +++++++++++------ .../backend/resources/testsets/client.py | 108 +++++++---- .../backend/resources/variants/client.py | 120 ++++++++---- 10 files changed, 731 insertions(+), 325 deletions(-) diff --git a/agenta-cli/agenta/client/backend/resources/apps/client.py b/agenta-cli/agenta/client/backend/resources/apps/client.py index 35055c50aa..83c6a6e7a5 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/client.py +++ b/agenta-cli/agenta/client/backend/resources/apps/client.py @@ -43,9 +43,9 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: Parameters: - app_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -55,7 +55,9 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -69,7 +71,9 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: + def get_variant_by_env( + self, *, app_id: str, environment: str + ) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -89,9 +93,9 @@ def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResp - environment: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -102,8 +106,12 @@ def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResp """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), - params=remove_none_from_dict({"app_id": app_id, "environment": environment}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" + ), + params=remove_none_from_dict( + {"app_id": app_id, "environment": environment} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -145,9 +153,9 @@ def list_apps( - workspace_id: typing.Optional[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -156,7 +164,9 @@ def list_apps( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), + params=remove_none_from_dict( + {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -171,7 +181,11 @@ def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) def create_app( - self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT + self, + *, + app_name: str, + organization_id: typing.Optional[str] = OMIT, + workspace_id: typing.Optional[str] = OMIT, ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -193,9 +207,9 @@ def create_app( - workspace_id: typing.Optional[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -262,9 +276,9 @@ def add_variant_from_image( - config_name: typing.Optional[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -275,14 +289,21 @@ def add_variant_from_image( tags="tags", ) """ - _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} + _request: typing.Dict[str, typing.Any] = { + "variant_name": variant_name, + "docker_id": docker_id, + "tags": tags, + } if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/variant/from-image", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -307,9 +328,9 @@ def remove_app(self, app_id: str) -> typing.Any: Parameters: - app_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -319,7 +340,9 @@ def remove_app(self, app_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -366,9 +389,9 @@ def create_app_and_variant_from_template( - workspace_id: typing.Optional[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -389,7 +412,10 @@ def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "apps/app_and_variant_from_template", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -418,9 +444,9 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: Parameters: - app_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -430,7 +456,9 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -444,7 +472,9 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: + def environment_revisions( + self, app_id: str, environment_name: typing.Any + ) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -454,7 +484,8 @@ def environment_revisions(self, app_id: str, environment_name: typing.Any) -> En _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/revisions/{environment_name}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -488,7 +519,7 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse Parameters: - app_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -500,7 +531,9 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -514,7 +547,9 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: + async def get_variant_by_env( + self, *, app_id: str, environment: str + ) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -534,7 +569,7 @@ async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVaria - environment: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -547,8 +582,12 @@ async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVaria """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), - params=remove_none_from_dict({"app_id": app_id, "environment": environment}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" + ), + params=remove_none_from_dict( + {"app_id": app_id, "environment": environment} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -590,7 +629,7 @@ async def list_apps( - workspace_id: typing.Optional[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -601,7 +640,9 @@ async def list_apps( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), + params=remove_none_from_dict( + {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -616,7 +657,11 @@ async def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_app( - self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT + self, + *, + app_name: str, + organization_id: typing.Optional[str] = OMIT, + workspace_id: typing.Optional[str] = OMIT, ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -638,7 +683,7 @@ async def create_app( - workspace_id: typing.Optional[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -707,7 +752,7 @@ async def add_variant_from_image( - config_name: typing.Optional[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -720,14 +765,21 @@ async def add_variant_from_image( tags="tags", ) """ - _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} + _request: typing.Dict[str, typing.Any] = { + "variant_name": variant_name, + "docker_id": docker_id, + "tags": tags, + } if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/variant/from-image", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -752,7 +804,7 @@ async def remove_app(self, app_id: str) -> typing.Any: Parameters: - app_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -764,7 +816,9 @@ async def remove_app(self, app_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -811,7 +865,7 @@ async def create_app_and_variant_from_template( - workspace_id: typing.Optional[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -834,7 +888,10 @@ async def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "apps/app_and_variant_from_template", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -863,7 +920,7 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] Parameters: - app_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -875,7 +932,9 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -889,7 +948,9 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: + async def environment_revisions( + self, app_id: str, environment_name: typing.Any + ) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -899,7 +960,8 @@ async def environment_revisions(self, app_id: str, environment_name: typing.Any) _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/revisions/{environment_name}", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/bases/client.py b/agenta-cli/agenta/client/backend/resources/bases/client.py index a0c3d0f845..bb00ffd7f2 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/client.py +++ b/agenta-cli/agenta/client/backend/resources/bases/client.py @@ -22,7 +22,10 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def list_bases( - self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None + self, + *, + app_id: typing.Optional[str] = None, + base_name: typing.Optional[str] = None, ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. @@ -43,9 +46,9 @@ def list_bases( - base_name: typing.Optional[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -74,7 +77,10 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def list_bases( - self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None + self, + *, + app_id: typing.Optional[str] = None, + base_name: typing.Optional[str] = None, ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. @@ -95,7 +101,7 @@ async def list_bases( - base_name: typing.Optional[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", diff --git a/agenta-cli/agenta/client/backend/resources/configs/client.py b/agenta-cli/agenta/client/backend/resources/configs/client.py index bf7342a498..4e316f406e 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/client.py +++ b/agenta-cli/agenta/client/backend/resources/configs/client.py @@ -26,7 +26,11 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def get_config( - self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None + self, + *, + base_id: str, + config_name: typing.Optional[str] = None, + environment_name: typing.Optional[str] = None, ) -> GetConfigResponse: """ Parameters: @@ -36,9 +40,9 @@ def get_config( - environment_name: typing.Optional[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -50,7 +54,11 @@ def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} + { + "base_id": base_id, + "config_name": config_name, + "environment_name": environment_name, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -66,7 +74,12 @@ def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) def save_config( - self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool + self, + *, + base_id: str, + config_name: str, + parameters: typing.Dict[str, typing.Any], + overwrite: bool, ) -> typing.Any: """ Parameters: @@ -78,9 +91,9 @@ def save_config( - overwrite: bool. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -95,7 +108,12 @@ def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} + { + "base_id": base_id, + "config_name": config_name, + "parameters": parameters, + "overwrite": overwrite, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -115,9 +133,9 @@ def get_config_deployment_revision(self, deployment_revision_id: str) -> typing. Parameters: - deployment_revision_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -128,7 +146,8 @@ def get_config_deployment_revision(self, deployment_revision_id: str) -> typing. _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -148,9 +167,9 @@ def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: Parameters: - deployment_revision_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -161,7 +180,8 @@ def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}/revert", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -182,7 +202,11 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def get_config( - self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None + self, + *, + base_id: str, + config_name: typing.Optional[str] = None, + environment_name: typing.Optional[str] = None, ) -> GetConfigResponse: """ Parameters: @@ -192,7 +216,7 @@ async def get_config( - environment_name: typing.Optional[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -206,7 +230,11 @@ async def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} + { + "base_id": base_id, + "config_name": config_name, + "environment_name": environment_name, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -222,7 +250,12 @@ async def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) async def save_config( - self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool + self, + *, + base_id: str, + config_name: str, + parameters: typing.Dict[str, typing.Any], + overwrite: bool, ) -> typing.Any: """ Parameters: @@ -234,7 +267,7 @@ async def save_config( - overwrite: bool. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -251,7 +284,12 @@ async def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} + { + "base_id": base_id, + "config_name": config_name, + "parameters": parameters, + "overwrite": overwrite, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -266,12 +304,14 @@ async def save_config( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_config_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + async def get_config_deployment_revision( + self, deployment_revision_id: str + ) -> typing.Any: """ Parameters: - deployment_revision_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -284,7 +324,8 @@ async def get_config_deployment_revision(self, deployment_revision_id: str) -> t _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -299,12 +340,14 @@ async def get_config_deployment_revision(self, deployment_revision_id: str) -> t raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + async def revert_deployment_revision( + self, deployment_revision_id: str + ) -> typing.Any: """ Parameters: - deployment_revision_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -317,7 +360,8 @@ async def revert_deployment_revision(self, deployment_revision_id: str) -> typin _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}/revert", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/containers/client.py b/agenta-cli/agenta/client/backend/resources/containers/client.py index e4b70243e6..748d649d6b 100644 --- a/agenta-cli/agenta/client/backend/resources/containers/client.py +++ b/agenta-cli/agenta/client/backend/resources/containers/client.py @@ -49,7 +49,9 @@ def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Im """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/build_image" + ), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -76,9 +78,9 @@ def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: Parameters: - variant_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -88,7 +90,10 @@ def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "containers/restart_container", + ), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -116,7 +121,9 @@ def container_templates(self) -> ContainerTemplatesResponse: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/templates" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -129,7 +136,10 @@ def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) def construct_app_container_url( - self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None + self, + *, + base_id: typing.Optional[str] = None, + variant_id: typing.Optional[str] = None, ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -150,9 +160,9 @@ def construct_app_container_url( - variant_id: typing.Optional[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -160,8 +170,12 @@ def construct_app_container_url( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), - params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/container_url" + ), + params=remove_none_from_dict( + {"base_id": base_id, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -180,7 +194,9 @@ class AsyncContainersClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Image: + async def build_image( + self, *, app_id: str, base_name: str, tar_file: typing.IO + ) -> Image: """ Builds a Docker image from a tar file containing the application code. @@ -202,7 +218,9 @@ async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/build_image" + ), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -219,7 +237,9 @@ async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: + async def restart_container( + self, *, variant_id: str + ) -> typing.Dict[str, typing.Any]: """ Restart docker container. @@ -229,7 +249,7 @@ async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing Parameters: - variant_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -241,7 +261,10 @@ async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "containers/restart_container", + ), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -269,7 +292,9 @@ async def container_templates(self) -> ContainerTemplatesResponse: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/templates" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -282,7 +307,10 @@ async def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) async def construct_app_container_url( - self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None + self, + *, + base_id: typing.Optional[str] = None, + variant_id: typing.Optional[str] = None, ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -303,7 +331,7 @@ async def construct_app_container_url( - variant_id: typing.Optional[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -313,8 +341,12 @@ async def construct_app_container_url( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), - params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/container_url" + ), + params=remove_none_from_dict( + {"base_id": base_id, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/environments/client.py b/agenta-cli/agenta/client/backend/resources/environments/client.py index ff802689dc..8eab01dfb8 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/client.py +++ b/agenta-cli/agenta/client/backend/resources/environments/client.py @@ -23,7 +23,9 @@ class EnvironmentsClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper - def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: + def deploy_to_environment( + self, *, environment_name: str, variant_id: str + ) -> typing.Any: """ Deploys a given variant to an environment @@ -40,9 +42,9 @@ def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> ty - variant_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -53,8 +55,12 @@ def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> ty """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), - json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "environments/deploy" + ), + json=jsonable_encoder( + {"environment_name": environment_name, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -73,7 +79,9 @@ class AsyncEnvironmentsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: + async def deploy_to_environment( + self, *, environment_name: str, variant_id: str + ) -> typing.Any: """ Deploys a given variant to an environment @@ -90,7 +98,7 @@ async def deploy_to_environment(self, *, environment_name: str, variant_id: str) - variant_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -103,8 +111,12 @@ async def deploy_to_environment(self, *, environment_name: str, variant_id: str) """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), - json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "environments/deploy" + ), + json=jsonable_encoder( + {"environment_name": environment_name, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/client.py b/agenta-cli/agenta/client/backend/resources/evaluations/client.py index 0777e6ff5a..14a6cd62f1 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/client.py @@ -56,9 +56,9 @@ def fetch_evaluation_ids( - resource_ids: typing.Optional[typing.Union[str, typing.List[str]]]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -69,9 +69,15 @@ def fetch_evaluation_ids( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" + ), params=remove_none_from_dict( - {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} + { + "app_id": app_id, + "resource_type": resource_type, + "resource_ids": resource_ids, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -99,9 +105,9 @@ def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: Parameters: - app_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -111,7 +117,9 @@ def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -160,9 +168,9 @@ def create_evaluation( - correct_answer_column: typing.Optional[str]. --- from aybruhm import LlmRunRateLimit - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -192,7 +200,9 @@ def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -207,7 +217,9 @@ def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: + def delete_evaluations( + self, *, evaluations_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -220,9 +232,9 @@ def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.Lis Parameters: - evaluations_ids: typing.List[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -232,7 +244,9 @@ def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.Lis """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -261,9 +275,9 @@ def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: Parameters: - evaluation_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -273,7 +287,10 @@ def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/status", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -301,9 +318,9 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: Parameters: - evaluation_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -313,7 +330,10 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/results", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -327,7 +347,9 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: + def fetch_evaluation_scenarios( + self, evaluation_id: str + ) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -343,9 +365,9 @@ def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[Evaluati Parameters: - evaluation_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -356,7 +378,8 @@ def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[Evaluati _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/evaluation_scenarios", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -384,9 +407,9 @@ def fetch_evaluation(self, evaluation_id: str) -> Evaluation: Parameters: - evaluation_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -396,7 +419,10 @@ def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -418,9 +444,9 @@ def webhook_example_fake(self) -> EvaluationWebhook: _description_ --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -428,7 +454,10 @@ def webhook_example_fake(self) -> EvaluationWebhook: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "evaluations/webhook_example_fake", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -456,9 +485,9 @@ def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: Parameters: - evaluations_ids: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -469,7 +498,8 @@ def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" + f"{self._client_wrapper.get_base_url()}/", + "evaluations/evaluation_scenarios/comparison-results", ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), @@ -518,7 +548,7 @@ async def fetch_evaluation_ids( - resource_ids: typing.Optional[typing.Union[str, typing.List[str]]]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -531,9 +561,15 @@ async def fetch_evaluation_ids( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" + ), params=remove_none_from_dict( - {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} + { + "app_id": app_id, + "resource_type": resource_type, + "resource_ids": resource_ids, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -561,7 +597,7 @@ async def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation Parameters: - app_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -573,7 +609,9 @@ async def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -622,7 +660,7 @@ async def create_evaluation( - correct_answer_column: typing.Optional[str]. --- from aybruhm import LlmRunRateLimit - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -654,7 +692,9 @@ async def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -669,7 +709,9 @@ async def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: + async def delete_evaluations( + self, *, evaluations_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -682,7 +724,7 @@ async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typi Parameters: - evaluations_ids: typing.List[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -694,7 +736,9 @@ async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typi """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -723,7 +767,7 @@ async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: Parameters: - evaluation_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -735,7 +779,10 @@ async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/status", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -763,7 +810,7 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: Parameters: - evaluation_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -775,7 +822,10 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/results", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -789,7 +839,9 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: + async def fetch_evaluation_scenarios( + self, evaluation_id: str + ) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -805,7 +857,7 @@ async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[Ev Parameters: - evaluation_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -818,7 +870,8 @@ async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[Ev _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/evaluation_scenarios", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -846,7 +899,7 @@ async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: Parameters: - evaluation_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -858,7 +911,10 @@ async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -880,7 +936,7 @@ async def webhook_example_fake(self) -> EvaluationWebhook: _description_ --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -890,7 +946,10 @@ async def webhook_example_fake(self) -> EvaluationWebhook: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "evaluations/webhook_example_fake", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -918,7 +977,7 @@ async def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.An Parameters: - evaluations_ids: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -931,7 +990,8 @@ async def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.An _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" + f"{self._client_wrapper.get_base_url()}/", + "evaluations/evaluation_scenarios/comparison-results", ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/client.py b/agenta-cli/agenta/client/backend/resources/evaluators/client.py index 821803ddb0..5a194d1b55 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/client.py @@ -34,9 +34,9 @@ def get_evaluators_endpoint(self) -> typing.List[Evaluator]: List[Evaluator]: A list of evaluator objects. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -44,7 +44,9 @@ def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -69,9 +71,9 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: Parameters: - app_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -81,7 +83,9 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -97,7 +101,12 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: raise ApiError(status_code=_response.status_code, body=_response_json) def create_new_evaluator_config( - self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] + self, + *, + app_id: str, + name: str, + evaluator_key: str, + settings_values: typing.Dict[str, typing.Any], ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -117,9 +126,9 @@ def create_new_evaluator_config( - settings_values: typing.Dict[str, typing.Any]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -132,9 +141,16 @@ def create_new_evaluator_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), json=jsonable_encoder( - {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} + { + "app_id": app_id, + "name": name, + "evaluator_key": evaluator_key, + "settings_values": settings_values, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -159,9 +175,9 @@ def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: Parameters: - evaluator_config_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -172,7 +188,8 @@ def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -210,9 +227,9 @@ def update_evaluator_config( - settings_values: typing.Optional[typing.Dict[str, typing.Any]]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -230,7 +247,8 @@ def update_evaluator_config( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -259,9 +277,9 @@ def delete_evaluator_config(self, evaluator_config_id: str) -> bool: Parameters: - evaluator_config_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -272,7 +290,8 @@ def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -300,7 +319,7 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: List[Evaluator]: A list of evaluator objects. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -310,7 +329,9 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -322,7 +343,9 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: + async def get_evaluator_configs( + self, *, app_id: str + ) -> typing.List[EvaluatorConfig]: """ Endpoint to fetch evaluator configurations for a specific app. @@ -335,7 +358,7 @@ async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorCo Parameters: - app_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -347,7 +370,9 @@ async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorCo """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -363,7 +388,12 @@ async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorCo raise ApiError(status_code=_response.status_code, body=_response_json) async def create_new_evaluator_config( - self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] + self, + *, + app_id: str, + name: str, + evaluator_key: str, + settings_values: typing.Dict[str, typing.Any], ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -383,7 +413,7 @@ async def create_new_evaluator_config( - settings_values: typing.Dict[str, typing.Any]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -398,9 +428,16 @@ async def create_new_evaluator_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), json=jsonable_encoder( - {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} + { + "app_id": app_id, + "name": name, + "evaluator_key": evaluator_key, + "settings_values": settings_values, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -425,7 +462,7 @@ async def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfi Parameters: - evaluator_config_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -438,7 +475,8 @@ async def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfi _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -476,7 +514,7 @@ async def update_evaluator_config( - settings_values: typing.Optional[typing.Dict[str, typing.Any]]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -496,7 +534,8 @@ async def update_evaluator_config( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -525,7 +564,7 @@ async def delete_evaluator_config(self, evaluator_config_id: str) -> bool: Parameters: - evaluator_config_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -538,7 +577,8 @@ async def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = await self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index 7ba713bc2d..e54b26d79c 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -31,9 +31,9 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def dashboard(self) -> ObservabilityDashboardData: """ - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -41,7 +41,9 @@ def dashboard(self) -> ObservabilityDashboardData: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -89,9 +91,9 @@ def create_trace( - spans: typing.List[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -119,7 +121,9 @@ def create_trace( _request["end_time"] = end_time _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/trace"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/trace" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -134,14 +138,16 @@ def create_trace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_spans_of_generation(self, *, type: typing.Optional[str] = None) -> typing.List[Span]: + def get_spans_of_generation( + self, *, type: typing.Optional[str] = None + ) -> typing.List[Span]: """ Parameters: - type: typing.Optional[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -149,7 +155,9 @@ def get_spans_of_generation(self, *, type: typing.Optional[str] = None) -> typin """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -215,9 +223,9 @@ def create_span( - tags: typing.Optional[typing.List[str]]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -226,7 +234,10 @@ def create_span( status="status", ) """ - _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} + _request: typing.Dict[str, typing.Any] = { + "event_name": event_name, + "status": status, + } if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: @@ -255,7 +266,9 @@ def create_span( _request["tags"] = tags _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -270,16 +283,18 @@ def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + def get_span_of_generation( + self, span_id: str, *, type: typing.Optional[str] = None + ) -> SpanDetail: """ Parameters: - span_id: str. - type: typing.Optional[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -289,7 +304,10 @@ def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = N """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/spans/{span_id}", + ), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -311,9 +329,9 @@ def update_trace_status(self, trace_id: str, *, status: str) -> bool: - status: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -324,7 +342,10 @@ def update_trace_status(self, trace_id: str, *, status: str) -> bool: """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), json=jsonable_encoder({"status": status}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -344,9 +365,9 @@ def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: Parameters: - trace_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -356,7 +377,10 @@ def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -388,9 +412,9 @@ def create_feedback( - meta: typing.Optional[typing.Dict[str, typing.Any]]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -407,7 +431,10 @@ def create_feedback( _request["meta"] = meta _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -429,9 +456,9 @@ def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: - feedback_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -443,7 +470,8 @@ def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -479,9 +507,9 @@ def update_feedback( - meta: typing.Optional[typing.Dict[str, typing.Any]]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -499,7 +527,8 @@ def update_feedback( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -522,7 +551,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def dashboard(self) -> ObservabilityDashboardData: """ - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -532,7 +561,9 @@ async def dashboard(self) -> ObservabilityDashboardData: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -580,7 +611,7 @@ async def create_trace( - spans: typing.List[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -610,7 +641,9 @@ async def create_trace( _request["end_time"] = end_time _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/trace"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/trace" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -625,12 +658,14 @@ async def create_trace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_spans_of_generation(self, *, type: typing.Optional[str] = None) -> typing.List[Span]: + async def get_spans_of_generation( + self, *, type: typing.Optional[str] = None + ) -> typing.List[Span]: """ Parameters: - type: typing.Optional[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -640,7 +675,9 @@ async def get_spans_of_generation(self, *, type: typing.Optional[str] = None) -> """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -706,7 +743,7 @@ async def create_span( - tags: typing.Optional[typing.List[str]]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -717,7 +754,10 @@ async def create_span( status="status", ) """ - _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} + _request: typing.Dict[str, typing.Any] = { + "event_name": event_name, + "status": status, + } if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: @@ -746,7 +786,9 @@ async def create_span( _request["tags"] = tags _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -761,14 +803,16 @@ async def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + async def get_span_of_generation( + self, span_id: str, *, type: typing.Optional[str] = None + ) -> SpanDetail: """ Parameters: - span_id: str. - type: typing.Optional[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -780,7 +824,10 @@ async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[st """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/spans/{span_id}", + ), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -802,7 +849,7 @@ async def update_trace_status(self, trace_id: str, *, status: str) -> bool: - status: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -815,7 +862,10 @@ async def update_trace_status(self, trace_id: str, *, status: str) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), json=jsonable_encoder({"status": status}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -835,7 +885,7 @@ async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: Parameters: - trace_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -847,7 +897,10 @@ async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -879,7 +932,7 @@ async def create_feedback( - meta: typing.Optional[typing.Dict[str, typing.Any]]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -898,7 +951,10 @@ async def create_feedback( _request["meta"] = meta _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -920,7 +976,7 @@ async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: - feedback_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -934,7 +990,8 @@ async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -970,7 +1027,7 @@ async def update_feedback( - meta: typing.Optional[typing.Dict[str, typing.Any]]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -990,7 +1047,8 @@ async def update_feedback( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/testsets/client.py b/agenta-cli/agenta/client/backend/resources/testsets/client.py index 5d3f5708a3..099e5ecd72 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/client.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/client.py @@ -52,8 +52,16 @@ def upload_file( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), - data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/upload" + ), + data=jsonable_encoder( + { + "upload_type": upload_type, + "testset_name": testset_name, + "app_id": app_id, + } + ), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -80,9 +88,9 @@ def import_testset(self) -> TestSetSimpleResponse: dict: The result of the import process. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -90,7 +98,9 @@ def import_testset(self) -> TestSetSimpleResponse: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -104,7 +114,9 @@ def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: + def create_testset( + self, app_id: str, *, request: NewTestset + ) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -122,9 +134,9 @@ def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleRe - request: NewTestset. --- from aybruhm import NewTestset - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -138,7 +150,9 @@ def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleRe """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -166,9 +180,9 @@ def get_single_testset(self, testset_id: str) -> typing.Any: Parameters: - testset_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -178,7 +192,9 @@ def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -209,9 +225,9 @@ def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: - request: NewTestset. --- from aybruhm import NewTestset - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -225,7 +241,9 @@ def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -255,9 +273,9 @@ def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputResponse]: Parameters: - app_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -295,9 +313,9 @@ def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: Parameters: - testset_ids: typing.List[str]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -352,8 +370,16 @@ async def upload_file( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), - data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/upload" + ), + data=jsonable_encoder( + { + "upload_type": upload_type, + "testset_name": testset_name, + "app_id": app_id, + } + ), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -380,7 +406,7 @@ async def import_testset(self) -> TestSetSimpleResponse: dict: The result of the import process. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -390,7 +416,9 @@ async def import_testset(self) -> TestSetSimpleResponse: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -404,7 +432,9 @@ async def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: + async def create_testset( + self, app_id: str, *, request: NewTestset + ) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -422,7 +452,7 @@ async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSi - request: NewTestset. --- from aybruhm import NewTestset - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -438,7 +468,9 @@ async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSi """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -466,7 +498,7 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: Parameters: - testset_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -478,7 +510,9 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -492,7 +526,9 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: + async def update_testset( + self, testset_id: str, *, request: NewTestset + ) -> typing.Any: """ Update a testset with given id, update the testset in MongoDB. @@ -509,7 +545,7 @@ async def update_testset(self, testset_id: str, *, request: NewTestset) -> typin - request: NewTestset. --- from aybruhm import NewTestset - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -525,7 +561,9 @@ async def update_testset(self, testset_id: str, *, request: NewTestset) -> typin """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -555,7 +593,7 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons Parameters: - app_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -582,7 +620,9 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: + async def delete_testsets( + self, *, testset_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific testsets based on their unique IDs. @@ -595,7 +635,7 @@ async def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List Parameters: - testset_ids: typing.List[str]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", diff --git a/agenta-cli/agenta/client/backend/resources/variants/client.py b/agenta-cli/agenta/client/backend/resources/variants/client.py index aa7be25f05..cea0069084 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/client.py +++ b/agenta-cli/agenta/client/backend/resources/variants/client.py @@ -14,7 +14,9 @@ from ...types.image import Image from ...types.uri import Uri from ...types.variant_action import VariantAction -from .types.add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse +from .types.add_variant_from_base_and_config_response import ( + AddVariantFromBaseAndConfigResponse, +) try: import pydantic.v1 as pydantic # type: ignore @@ -30,7 +32,12 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def add_variant_from_base_and_config( - self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] + self, + *, + base_id: str, + new_variant_name: str, + new_config_name: str, + parameters: typing.Dict[str, typing.Any], ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -57,7 +64,9 @@ def add_variant_from_base_and_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "variants/from-base" + ), json=jsonable_encoder( { "base_id": base_id, @@ -84,9 +93,9 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: Parameters: - variant_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -96,7 +105,9 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -111,7 +122,11 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) def start_variant( - self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT + self, + variant_id: str, + *, + action: VariantAction, + env_vars: typing.Optional[DockerEnvVars] = OMIT, ) -> Uri: """ Start a variant of an app. @@ -136,9 +151,9 @@ def start_variant( - env_vars: typing.Optional[DockerEnvVars]. --- from aybruhm import VariantAction, VariantActionEnum - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -154,7 +169,9 @@ def start_variant( _request["env_vars"] = env_vars _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -183,9 +200,9 @@ def remove_variant(self, variant_id: str) -> typing.Any: Parameters: - variant_id: str. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -195,7 +212,9 @@ def remove_variant(self, variant_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -209,7 +228,9 @@ def remove_variant(self, variant_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[str, typing.Any]) -> typing.Any: + def update_variant_parameters( + self, variant_id: str, *, parameters: typing.Dict[str, typing.Any] + ) -> typing.Any: """ Updates the parameters for an app variant. @@ -229,9 +250,9 @@ def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[ - parameters: typing.Dict[str, typing.Any]. --- - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -242,7 +263,10 @@ def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[ """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/parameters", + ), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -277,9 +301,9 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any - request: Image. --- from aybruhm import Image - from aybruhm.client import AybruhmApi + from agenta.client import AgentaApi - client = AybruhmApi( + client = AgentaApi( api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api", ) @@ -293,7 +317,10 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/image", + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -314,7 +341,12 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def add_variant_from_base_and_config( - self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] + self, + *, + base_id: str, + new_variant_name: str, + new_config_name: str, + parameters: typing.Dict[str, typing.Any], ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -341,7 +373,9 @@ async def add_variant_from_base_and_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "variants/from-base" + ), json=jsonable_encoder( { "base_id": base_id, @@ -368,7 +402,7 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: Parameters: - variant_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -380,7 +414,9 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -395,7 +431,11 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) async def start_variant( - self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT + self, + variant_id: str, + *, + action: VariantAction, + env_vars: typing.Optional[DockerEnvVars] = OMIT, ) -> Uri: """ Start a variant of an app. @@ -420,7 +460,7 @@ async def start_variant( - env_vars: typing.Optional[DockerEnvVars]. --- from aybruhm import VariantAction, VariantActionEnum - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -438,7 +478,9 @@ async def start_variant( _request["env_vars"] = env_vars _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -467,7 +509,7 @@ async def remove_variant(self, variant_id: str) -> typing.Any: Parameters: - variant_id: str. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -479,7 +521,9 @@ async def remove_variant(self, variant_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -515,7 +559,7 @@ async def update_variant_parameters( - parameters: typing.Dict[str, typing.Any]. --- - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -528,7 +572,10 @@ async def update_variant_parameters( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/parameters", + ), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -543,7 +590,9 @@ async def update_variant_parameters( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any: + async def update_variant_image( + self, variant_id: str, *, request: Image + ) -> typing.Any: """ Updates the image used in an app variant. @@ -563,7 +612,7 @@ async def update_variant_image(self, variant_id: str, *, request: Image) -> typi - request: Image. --- from aybruhm import Image - from aybruhm.client import AsyncAybruhmApi + from agenta.client import AsyncAybruhmApi client = AsyncAybruhmApi( api_key="YOUR_API_KEY", @@ -579,7 +628,10 @@ async def update_variant_image(self, variant_id: str, *, request: Image) -> typi """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/image", + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, From 09a14b2fa8d29e1852dadde290dce8309574c564 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 19 Feb 2024 10:32:58 +0100 Subject: [PATCH 026/539] Refactor - modified span detail model to extend from span and modified mock backend --- .../models/api/observability_models.py | 2 +- .../routers/observability_router.py | 4 +- .../services/event_db_manager.py | 53 +++++++++++++++++-- 3 files changed, 54 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 7694cb3e61..92583088ba 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -74,7 +74,7 @@ class LLMModelParams(BaseModel): params: Dict[str, Any] -class SpanDetail(BaseModel): +class SpanDetail(Span): span_id: str content: LLMContent model_params: LLMModelParams diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 6d4547f932..bfa33ac354 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -70,7 +70,9 @@ async def get_span_of_trace( type: str = Query(default="generation"), ): if type == "generation": - spans = event_db_manager.fetch_mock_generation_detail(span_id) + spans = await event_db_manager.fetch_mock_generation_detail( + span_id, request.state.user_id + ) return spans return [] diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 9d434d6b6f..cbff5fbfc6 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -195,7 +195,7 @@ def generate_mock_generation(): ["development", "staging", "production"] ), "status": { - "value": random.choice(["INITIATED", "SUCCESS", "FAILURE"]), + "value": status_value, "error": ( { "message": fake.sentence(), @@ -226,12 +226,59 @@ def generate_mock_generation(): return list_of_generations -def fetch_mock_generation_detail(generation_id: str) -> SpanDetail: - import random +async def fetch_mock_generation_detail(generation_id: str, user_uid: str) -> SpanDetail: + import random, uuid from faker import Faker + from datetime import datetime, timedelta fake = Faker() + user = await db_manager.get_user(user_uid) + + def get_random_timestamp(): + past_24_hours = datetime.now() - timedelta(hours=24) + random_time = fake.date_time_between(start_date=past_24_hours) + return random_time.isoformat() + + def generate_mock_generation(): + status_value = random.choice(["SUCCESS", "FAILURE", "INITIATED"]) + return { + "id": str(uuid.uuid4()), + "created_at": get_random_timestamp(), + "variant": { + "variant_id": str(uuid.uuid4()), + "variant_name": fake.company(), + "revision": random.randint(1, 20), + }, + "environment": random.choice( + ["development", "staging", "production"] + ), + "status": { + "value": random.choice(["INITIATED", "SUCCESS", "FAILURE"]), + "error": ( + { + "message": fake.sentence(), + "stacktrace": fake.text( + max_nb_chars=200 + ), # Short stacktrace + } + if status_value == "FAILURE" + else None + ), + }, + "metadata": { + "cost": random.uniform(0.01, 2), + "latency": random.uniform(0.1, 10), + "usage": { + "completion_tokens": random.randint(50, 300), + "prompt_tokens": random.randint(20, 100), + "total_tokens": random.randint(100, 500), + }, + }, + "user_id": str(user.id), + } + return SpanDetail( + **generate_mock_generation(), **{ "span_id": generation_id, "content": { From 4c630ed8f81308246d585a7bc4cea0a941bc16ce Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Mon, 19 Feb 2024 15:35:02 +0500 Subject: [PATCH 027/539] added new packages --- agenta-web/package-lock.json | 341 +++++++++++++++++++++-------------- agenta-web/package.json | 6 +- docker-compose.yml | 1 + start_web_standalone.sh | 2 +- 4 files changed, 213 insertions(+), 137 deletions(-) diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index 1dfd273c02..c4801745ea 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -1,16 +1,17 @@ { - "name": "dashboard", - "version": "0.1.0", + "name": "agenta", + "version": "0.12.0", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "dashboard", - "version": "0.1.0", + "name": "agenta", + "version": "0.12.0", "dependencies": { "@ant-design/charts": "^2.0.3", "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", + "@ant-design/plots": "^2.1.13", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^8.0.0", "@heroicons/react": "^2.0.17", @@ -26,11 +27,12 @@ "@types/promise-retry": "^1.1.6", "@types/react-dom": "18.2.1", "@types/react-highlight-words": "^0.16.4", + "@types/react-resizable": "^3.0.7", "@types/react-syntax-highlighter": "^15.5.7", "@types/uuid": "^9.0.7", "ag-grid-community": "^31.0.1", "ag-grid-react": "^31.0.1", - "antd": "^5.4.7", + "antd": "^5.14.1", "autoprefixer": "10.4.14", "axios": "^1.4.0", "classnames": "^2.3.2", @@ -49,10 +51,12 @@ "promise-retry": "^2.0.1", "react": "18.2.0", "react-dom": "18.2.0", + "react-drag-listview": "^2.0.0", "react-error-boundary": "^4.0.11", "react-highlight-words": "^0.20.0", "react-jss": "^10.10.0", "react-markdown": "^8.0.7", + "react-resizable": "^3.0.5", "react-syntax-highlighter": "^15.5.0", "react-youtube": "^10.1.0", "supertokens-auth-react": "^0.34.0", @@ -103,23 +107,23 @@ } }, "node_modules/@ant-design/colors": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.0.tgz", - "integrity": "sha512-iVm/9PfGCbC0dSMBrz7oiEXZaaGH7ceU40OJEfKmyuzR9R5CRimJYPlRiFtMQGQcbNMea/ePcoIebi4ASGYXtg==", + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/@ant-design/colors/-/colors-7.0.2.tgz", + "integrity": "sha512-7KJkhTiPiLHSu+LmMJnehfJ6242OCxSlR3xHVBecYxnMW8MS/878NXct1GqYARyL59fyeFdKRxXTfvR9SnDgJg==", "dependencies": { - "@ctrl/tinycolor": "^3.4.0" + "@ctrl/tinycolor": "^3.6.1" } }, "node_modules/@ant-design/cssinjs": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.18.1.tgz", - "integrity": "sha512-1JURAPrsjK1GwpqByTq3bJ7nF7lbMKDZpehqeR2n8/IR5O58/W1U4VcOeaw5ZyTHri3tEMcom7dyP2tvxpW54g==", + "version": "1.18.4", + "resolved": "https://registry.npmjs.org/@ant-design/cssinjs/-/cssinjs-1.18.4.tgz", + "integrity": "sha512-IrUAOj5TYuMG556C9gdbFuOrigyhzhU5ZYpWb3gYTxAwymVqRbvLzFCZg6OsjLBR6GhzcxYF3AhxKmjB+rA2xA==", "dependencies": { "@babel/runtime": "^7.11.1", "@emotion/hash": "^0.8.0", "@emotion/unitless": "^0.7.5", "classnames": "^2.3.1", - "csstype": "3.1.2", + "csstype": "^3.1.3", "rc-util": "^5.35.0", "stylis": "^4.0.13" }, @@ -128,18 +132,13 @@ "react-dom": ">=16.0.0" } }, - "node_modules/@ant-design/cssinjs/node_modules/csstype": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.2.tgz", - "integrity": "sha512-I7K1Uu0MBPzaFKg4nI5Q7Vs2t+3gWWW648spaF+Rg7pI9ds18Ugn+lvg4SHczUdKlHI5LWBXyqfS8+DufyBsgQ==" - }, "node_modules/@ant-design/icons": { - "version": "5.2.6", - "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.2.6.tgz", - "integrity": "sha512-4wn0WShF43TrggskBJPRqCD0fcHbzTYjnaoskdiJrVHg86yxoZ8ZUqsXvyn4WUqehRiFKnaclOhqk9w4Ui2KVw==", + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@ant-design/icons/-/icons-5.3.0.tgz", + "integrity": "sha512-69FgBsIkeCjw72ZU3fJpqjhmLCPrzKGEllbrAZK7MUdt1BrKsyG6A8YDCBPKea27UQ0tRXi33PcjR4tp/tEXMg==", "dependencies": { "@ant-design/colors": "^7.0.0", - "@ant-design/icons-svg": "^4.3.0", + "@ant-design/icons-svg": "^4.4.0", "@babel/runtime": "^7.11.2", "classnames": "^2.2.6", "rc-util": "^5.31.1" @@ -153,9 +152,9 @@ } }, "node_modules/@ant-design/icons-svg": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.3.1.tgz", - "integrity": "sha512-4QBZg8ccyC6LPIRii7A0bZUk3+lEDCLnhB+FVsflGdcWPPmV+j3fire4AwwoqHV/BibgvBmR9ZIo4s867smv+g==" + "version": "4.4.2", + "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", + "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" }, "node_modules/@ant-design/plots": { "version": "2.1.13", @@ -464,9 +463,9 @@ } }, "node_modules/@babel/runtime": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.5.tgz", - "integrity": "sha512-NdUTHcPe4C99WxPub+K9l9tK5/lV4UXIoaHSYgzco9BCyjKAAwzdBI+wWtYqHt7LJdbo74ZjRPJgzVweq1sz0w==", + "version": "7.23.9", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", + "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", "dependencies": { "regenerator-runtime": "^0.14.0" }, @@ -1206,14 +1205,14 @@ } }, "node_modules/@rc-component/color-picker": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.4.1.tgz", - "integrity": "sha512-vh5EWqnsayZa/JwUznqDaPJz39jznx/YDbyBuVJntv735tKXKwEUZZb2jYEldOg+NKWZwtALjGMrNeGBmqFoEw==", + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@rc-component/color-picker/-/color-picker-1.5.2.tgz", + "integrity": "sha512-YJXujYzYFAEtlXJXy0yJUhwzUWPTcniBZto+wZ/vnACmFnUTNR7dH+NOeqSwMMsssh74e9H5Jfpr5LAH2PYqUw==", "dependencies": { - "@babel/runtime": "^7.10.1", - "@ctrl/tinycolor": "^3.6.0", + "@babel/runtime": "^7.23.6", + "@ctrl/tinycolor": "^3.6.1", "classnames": "^2.2.6", - "rc-util": "^5.30.0" + "rc-util": "^5.38.1" }, "peerDependencies": { "react": ">=16.9.0", @@ -1279,9 +1278,9 @@ } }, "node_modules/@rc-component/tour": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.11.1.tgz", - "integrity": "sha512-c9Lw3/oVinj5D64Rsp8aDLOXcgdViE+hq7bj0Qoo8fTuQEh9sSpUw5OZcum943JkjeIE4hLcc5FD4a5ANtMJ4w==", + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/@rc-component/tour/-/tour-1.12.3.tgz", + "integrity": "sha512-U4mf1FiUxGCwrX4ed8op77Y8VKur+8Y/61ylxtqGbcSoh1EBC7bWd/DkLu0ClTUrKZInqEi1FL7YgFtnT90vHA==", "dependencies": { "@babel/runtime": "^7.18.0", "@rc-component/portal": "^1.0.0-9", @@ -1298,9 +1297,9 @@ } }, "node_modules/@rc-component/trigger": { - "version": "1.18.2", - "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-1.18.2.tgz", - "integrity": "sha512-jRLYgFgjLEPq3MvS87fIhcfuywFSRDaDrYw1FLku7Cm4esszvzTbA0JBsyacAyLrK9rF3TiHFcvoEDMzoD3CTA==", + "version": "1.18.3", + "resolved": "https://registry.npmjs.org/@rc-component/trigger/-/trigger-1.18.3.tgz", + "integrity": "sha512-Ksr25pXreYe1gX6ayZ1jLrOrl9OAUHUqnuhEx6MeHnNa1zVM5Y2Aj3Q35UrER0ns8D2cJYtmJtVli+i+4eKrvA==", "dependencies": { "@babel/runtime": "^7.23.2", "@rc-component/portal": "^1.1.0", @@ -1748,6 +1747,14 @@ "@types/react": "*" } }, + "node_modules/@types/react-resizable": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@types/react-resizable/-/react-resizable-3.0.7.tgz", + "integrity": "sha512-V4N7/xDUME+cxKya/A73MmFrHofTupVdE45boRxeA8HL4Q5pJh3AuG0FWCEy2GB84unIMSRISyEAS/GHWum9EQ==", + "dependencies": { + "@types/react": "*" + } + }, "node_modules/@types/react-syntax-highlighter": { "version": "15.5.11", "resolved": "https://registry.npmjs.org/@types/react-syntax-highlighter/-/react-syntax-highlighter-15.5.11.tgz", @@ -2247,55 +2254,54 @@ } }, "node_modules/antd": { - "version": "5.12.1", - "resolved": "https://registry.npmjs.org/antd/-/antd-5.12.1.tgz", - "integrity": "sha512-lDTg4U/4MxDD4OK0sLM3D0ge+5nHKj27dUj4ufF1FhQKPcRkVnkCWJ43gb1Cn+S3ybvz7yfsiEv0v+QqWJgPlA==", + "version": "5.14.1", + "resolved": "https://registry.npmjs.org/antd/-/antd-5.14.1.tgz", + "integrity": "sha512-P0Bwt9NKSZqnEJ0QAyAb13ay34FjOKsz+KEp/ts+feYsynhUxF7/Ay6d1jS6ZcNpcs+JWTlLKO59YFZ3tX07wQ==", "dependencies": { - "@ant-design/colors": "^7.0.0", - "@ant-design/cssinjs": "^1.18.0", - "@ant-design/icons": "^5.2.6", + "@ant-design/colors": "^7.0.2", + "@ant-design/cssinjs": "^1.18.4", + "@ant-design/icons": "^5.3.0", "@ant-design/react-slick": "~1.0.2", - "@babel/runtime": "^7.23.4", "@ctrl/tinycolor": "^3.6.1", - "@rc-component/color-picker": "~1.4.1", + "@rc-component/color-picker": "~1.5.1", "@rc-component/mutate-observer": "^1.1.0", - "@rc-component/tour": "~1.11.0", - "@rc-component/trigger": "^1.18.2", - "classnames": "^2.3.2", + "@rc-component/tour": "~1.12.3", + "@rc-component/trigger": "^1.18.3", + "classnames": "^2.5.1", "copy-to-clipboard": "^3.3.3", - "dayjs": "^1.11.1", + "dayjs": "^1.11.10", "qrcode.react": "^3.1.0", - "rc-cascader": "~3.20.0", + "rc-cascader": "~3.21.2", "rc-checkbox": "~3.1.0", "rc-collapse": "~3.7.2", "rc-dialog": "~9.3.4", - "rc-drawer": "~6.5.2", + "rc-drawer": "~7.0.0", "rc-dropdown": "~4.1.0", "rc-field-form": "~1.41.0", "rc-image": "~7.5.1", - "rc-input": "~1.3.6", - "rc-input-number": "~8.4.0", - "rc-mentions": "~2.9.1", - "rc-menu": "~9.12.2", + "rc-input": "~1.4.3", + "rc-input-number": "~9.0.0", + "rc-mentions": "~2.10.1", + "rc-menu": "~9.12.4", "rc-motion": "^2.9.0", "rc-notification": "~5.3.0", - "rc-pagination": "~4.0.1", - "rc-picker": "~3.14.6", + "rc-pagination": "~4.0.4", + "rc-picker": "~4.1.1", "rc-progress": "~3.5.1", "rc-rate": "~2.12.0", "rc-resize-observer": "^1.4.0", - "rc-segmented": "~2.2.2", - "rc-select": "~14.10.0", + "rc-segmented": "~2.3.0", + "rc-select": "~14.11.0", "rc-slider": "~10.5.0", "rc-steps": "~6.0.1", "rc-switch": "~4.1.0", - "rc-table": "~7.36.0", - "rc-tabs": "~12.14.1", - "rc-textarea": "~1.5.3", - "rc-tooltip": "~6.1.2", - "rc-tree": "~5.8.2", - "rc-tree-select": "~5.15.0", - "rc-upload": "~4.3.5", + "rc-table": "~7.39.0", + "rc-tabs": "~14.0.0", + "rc-textarea": "~1.6.3", + "rc-tooltip": "~6.1.3", + "rc-tree": "~5.8.5", + "rc-tree-select": "~5.17.0", + "rc-upload": "~4.5.2", "rc-util": "^5.38.1", "scroll-into-view-if-needed": "^3.1.0", "throttle-debounce": "^5.0.0" @@ -2626,6 +2632,20 @@ "dequal": "^2.0.3" } }, + "node_modules/babel-runtime": { + "version": "6.26.0", + "resolved": "https://registry.npmjs.org/babel-runtime/-/babel-runtime-6.26.0.tgz", + "integrity": "sha512-ITKNuq2wKlW1fJg9sSW52eepoYgZBggvOAHC0u/CYu/qxQ9EVzThCgR69BnSXLHjy2f7SY5zaQ4yt7H9ZVxY2g==", + "dependencies": { + "core-js": "^2.4.0", + "regenerator-runtime": "^0.11.0" + } + }, + "node_modules/babel-runtime/node_modules/regenerator-runtime": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.11.1.tgz", + "integrity": "sha512-MguG95oij0fC3QV3URf4V2SDYGJhJnJGqvIIgdECeODCT98wSWDAJ94SSuVpYQUoTcGUIL6L4yNB7j1DFFHSBg==" + }, "node_modules/bail": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", @@ -2963,9 +2983,9 @@ } }, "node_modules/classnames": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.3.2.tgz", - "integrity": "sha512-CSbhY4cFEJRe6/GQzIk5qXZ4Jeg5pcsP7b5peFSDpffpe1cqjASH/n9UTjBwOp6XpMSTwQ8Za2K5V02ueA7Tmw==" + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/classnames/-/classnames-2.5.1.tgz", + "integrity": "sha512-saHYOzhIQs6wy2sVxTM6bUDsQO4F50V9RQ22qBpEdCW+I+/Wmke2HOl6lS6dTpdxVhb88/I6+Hs+438c3lfUow==" }, "node_modules/clean-stack": { "version": "2.2.0", @@ -3034,6 +3054,14 @@ "wordwrap": "0.0.2" } }, + "node_modules/clsx": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", + "integrity": "sha512-EcR6r5a8bj6pu3ycsa/E/cKVGuTgZJZdsyUYHOksG/UHIiKfjxzRxYJpyVBwYaQeOvghal9fcc4PidlgzugAQg==", + "engines": { + "node": ">=6" + } + }, "node_modules/color-convert": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", @@ -3173,6 +3201,13 @@ "toggle-selection": "^1.0.6" } }, + "node_modules/core-js": { + "version": "2.6.12", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-2.6.12.tgz", + "integrity": "sha512-Kb2wC0fvsWfQrgk8HU5lW6U/Lcs8+9aaYcy4ZFc6DDlo4nZ7n70dEgE5rtR0oG6ufKDUnrwfWL1mXR5ljDatrQ==", + "deprecated": "core-js@<3.23.3 is no longer maintained and not recommended for usage due to the number of issues. Because of the V8 engine whims, feature detection in old core-js versions could cause a slowdown up to 100x even if nothing is polyfilled. Some versions have web compatibility issues. Please, upgrade your dependencies to the actual version of core-js.", + "hasInstallScript": true + }, "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", @@ -8721,14 +8756,14 @@ } }, "node_modules/rc-cascader": { - "version": "3.20.0", - "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.20.0.tgz", - "integrity": "sha512-lkT9EEwOcYdjZ/jvhLoXGzprK1sijT3/Tp4BLxQQcHDZkkOzzwYQC9HgmKoJz0K7CukMfgvO9KqHeBdgE+pELw==", + "version": "3.21.2", + "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.21.2.tgz", + "integrity": "sha512-J7GozpgsLaOtzfIHFJFuh4oFY0ePb1w10twqK6is3pAkqHkca/PsokbDr822KIRZ8/CK8CqevxohuPDVZ1RO/A==", "dependencies": { "@babel/runtime": "^7.12.5", "array-tree-filter": "^2.1.0", "classnames": "^2.3.1", - "rc-select": "~14.10.0", + "rc-select": "~14.11.0", "rc-tree": "~5.8.1", "rc-util": "^5.37.0" }, @@ -8783,9 +8818,9 @@ } }, "node_modules/rc-drawer": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-6.5.2.tgz", - "integrity": "sha512-QckxAnQNdhh4vtmKN0ZwDf3iakO83W9eZcSKWYYTDv4qcD2fHhRAZJJ/OE6v2ZlQ2kSqCJX5gYssF4HJFvsEPQ==", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rc-drawer/-/rc-drawer-7.0.0.tgz", + "integrity": "sha512-ePcS4KtQnn57bCbVXazHN2iC8nTPCXlWEIA/Pft87Pd9U7ZeDkdRzG47jWG2/TAFXFlFltRAMcslqmUM8NPCGA==", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/portal": "^1.1.1", @@ -8848,9 +8883,9 @@ } }, "node_modules/rc-input": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.3.6.tgz", - "integrity": "sha512-/HjTaKi8/Ts4zNbYaB5oWCquxFyFQO4Co1MnMgoCeGJlpe7k8Eir2HN0a0F9IHDmmo+GYiGgPpz7w/d/krzsJA==", + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/rc-input/-/rc-input-1.4.3.tgz", + "integrity": "sha512-aHyQUAIRmTlOnvk5EcNqEpJ+XMtfMpYRAJayIlJfsvvH9cAKUWboh4egm23vgMA7E+c/qm4BZcnrDcA960GC1w==", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -8862,14 +8897,14 @@ } }, "node_modules/rc-input-number": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-8.4.0.tgz", - "integrity": "sha512-B6rziPOLRmeP7kcS5qbdC5hXvvDHYKV4vUxmahevYx2E6crS2bRi0xLDjhJ0E1HtOWo8rTmaE2EBJAkTCZOLdA==", + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/rc-input-number/-/rc-input-number-9.0.0.tgz", + "integrity": "sha512-RfcDBDdWFFetouWFXBA+WPEC8LzBXyngr9b+yTLVIygfFu7HiLRGn/s/v9wwno94X7KFvnb28FNynMGj9XJlDQ==", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/mini-decimal": "^1.0.1", "classnames": "^2.2.5", - "rc-input": "~1.3.5", + "rc-input": "~1.4.0", "rc-util": "^5.28.0" }, "peerDependencies": { @@ -8878,16 +8913,16 @@ } }, "node_modules/rc-mentions": { - "version": "2.9.1", - "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.9.1.tgz", - "integrity": "sha512-cZuElWr/5Ws0PXx1uxobxfYh4mqUw2FitfabR62YnWgm+WAfDyXZXqZg5DxXW+M1cgVvntrQgDDd9LrihrXzew==", + "version": "2.10.1", + "resolved": "https://registry.npmjs.org/rc-mentions/-/rc-mentions-2.10.1.tgz", + "integrity": "sha512-72qsEcr/7su+a07ndJ1j8rI9n0Ka/ngWOLYnWMMv0p2mi/5zPwPrEDTt6Uqpe8FWjWhueDJx/vzunL6IdKDYMg==", "dependencies": { "@babel/runtime": "^7.22.5", "@rc-component/trigger": "^1.5.0", "classnames": "^2.2.6", - "rc-input": "~1.3.5", + "rc-input": "~1.4.0", "rc-menu": "~9.12.0", - "rc-textarea": "~1.5.0", + "rc-textarea": "~1.6.1", "rc-util": "^5.34.1" }, "peerDependencies": { @@ -8960,9 +8995,9 @@ } }, "node_modules/rc-pagination": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.0.2.tgz", - "integrity": "sha512-AvQJb881vH/Re5fm3ZYmrlKp0iQe673l2VeOtWUB27/j9yag+LUOh1poAOEOMvX6jXG9x5Mp2Xpf1qOmNHiYzA==", + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/rc-pagination/-/rc-pagination-4.0.4.tgz", + "integrity": "sha512-GGrLT4NgG6wgJpT/hHIpL9nELv27A1XbSZzECIuQBQTVSf4xGKxWr6I/jhpRPauYEWEbWVw22ObG6tJQqwJqWQ==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.3.2", @@ -8974,14 +9009,16 @@ } }, "node_modules/rc-picker": { - "version": "3.14.6", - "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-3.14.6.tgz", - "integrity": "sha512-AdKKW0AqMwZsKvIpwUWDUnpuGKZVrbxVTZTNjcO+pViGkjC1EBcjMgxVe8tomOEaIHJL5Gd13vS8Rr3zzxWmag==", + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/rc-picker/-/rc-picker-4.1.1.tgz", + "integrity": "sha512-H99qaHUepHjHnAqMLiftJEATXRuHJZcUyFoRkyIqUvTHVGnx/uHxFFNm7QIu1valCpfwdsGWQxiWgn9CAxvlvA==", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/trigger": "^1.5.0", "classnames": "^2.2.1", - "rc-util": "^5.30.0" + "rc-overflow": "^1.3.2", + "rc-resize-observer": "^1.4.0", + "rc-util": "^5.38.1" }, "engines": { "node": ">=8.x" @@ -9056,9 +9093,9 @@ } }, "node_modules/rc-segmented": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.2.2.tgz", - "integrity": "sha512-Mq52M96QdHMsNdE/042ibT5vkcGcD5jxKp7HgPC2SRofpia99P5fkfHy1pEaajLMF/kj0+2Lkq1UZRvqzo9mSA==", + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/rc-segmented/-/rc-segmented-2.3.0.tgz", + "integrity": "sha512-I3FtM5Smua/ESXutFfb8gJ8ZPcvFR+qUgeeGFQHBOvRiRKyAk4aBE5nfqrxXx+h8/vn60DQjOt6i4RNtrbOobg==", "dependencies": { "@babel/runtime": "^7.11.1", "classnames": "^2.2.1", @@ -9071,9 +9108,9 @@ } }, "node_modules/rc-select": { - "version": "14.10.0", - "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.10.0.tgz", - "integrity": "sha512-TsIJTYafTTapCA32LLNpx/AD6ntepR1TG8jEVx35NiAAWCPymhUfuca8kRcUNd3WIGVMDcMKn9kkphoxEz+6Ag==", + "version": "14.11.0", + "resolved": "https://registry.npmjs.org/rc-select/-/rc-select-14.11.0.tgz", + "integrity": "sha512-8J8G/7duaGjFiTXCBLWfh5P+KDWyA3KTlZDfV3xj/asMPqB2cmxfM+lH50wRiPIRsCQ6EbkCFBccPuaje3DHIg==", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/trigger": "^1.5.0", @@ -9140,9 +9177,9 @@ } }, "node_modules/rc-table": { - "version": "7.36.0", - "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.36.0.tgz", - "integrity": "sha512-3xVcdCC5OLeOOhaCg+5Lps2oPreM/GWXmUXWTSX4p6vF7F76ABM4dfPpMJ9Dnf5yGRyh+8pe7FRyhRVnWw2H/w==", + "version": "7.39.0", + "resolved": "https://registry.npmjs.org/rc-table/-/rc-table-7.39.0.tgz", + "integrity": "sha512-7fHLMNsm/2DlGwyIMkdH2xIeRzb5I69bLsFaEVtX+gqmGhByy0wtOAgHkiOew3PtXozSJyh+iXifjLgQzWdczw==", "dependencies": { "@babel/runtime": "^7.10.1", "@rc-component/context": "^1.4.0", @@ -9160,9 +9197,9 @@ } }, "node_modules/rc-tabs": { - "version": "12.14.1", - "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-12.14.1.tgz", - "integrity": "sha512-1xlE7JQNYxD5RwBsM7jf2xSdUrkmTSDFLFEm2gqAgnsRlOGydEzXXNAVTOT6QcgM1G/gCm+AgG+FYPUGb4Hs4g==", + "version": "14.0.0", + "resolved": "https://registry.npmjs.org/rc-tabs/-/rc-tabs-14.0.0.tgz", + "integrity": "sha512-lp1YWkaPnjlyhOZCPrAWxK6/P6nMGX/BAZcAC3nuVwKz0Byfp+vNnQKK8BRCP2g/fzu+SeB5dm9aUigRu3tRkQ==", "dependencies": { "@babel/runtime": "^7.11.2", "classnames": "2.x", @@ -9181,13 +9218,13 @@ } }, "node_modules/rc-textarea": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.5.3.tgz", - "integrity": "sha512-oH682ghHx++stFNYrosPRBfwsypywrTXpaD0/5Z8MPkUOnyOQUaY9ueL9tMu6BP1LfsuYQ1VLpg5OtshViLNgA==", + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/rc-textarea/-/rc-textarea-1.6.3.tgz", + "integrity": "sha512-8k7+8Y2GJ/cQLiClFMg8kUXOOdvcFQrnGeSchOvI2ZMIVvX5a3zQpLxoODL0HTrvU63fPkRmMuqaEcOF9dQemA==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "^2.2.1", - "rc-input": "~1.3.5", + "rc-input": "~1.4.0", "rc-resize-observer": "^1.0.0", "rc-util": "^5.27.0" }, @@ -9197,9 +9234,9 @@ } }, "node_modules/rc-tooltip": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.1.2.tgz", - "integrity": "sha512-89zwvybvCxGJu3+gGF8w5AXd4HHk6hIN7K0vZbkzjilVaEAIWPqc1fcyeUeP71n3VCcw7pTL9LyFupFbrx8gHw==", + "version": "6.1.3", + "resolved": "https://registry.npmjs.org/rc-tooltip/-/rc-tooltip-6.1.3.tgz", + "integrity": "sha512-HMSbSs5oieZ7XddtINUddBLSVgsnlaSb3bZrzzGWjXa7/B7nNedmsuz72s7EWFEro9mNa7RyF3gOXKYqvJiTcQ==", "dependencies": { "@babel/runtime": "^7.11.2", "@rc-component/trigger": "^1.18.0", @@ -9211,9 +9248,9 @@ } }, "node_modules/rc-tree": { - "version": "5.8.2", - "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.2.tgz", - "integrity": "sha512-xH/fcgLHWTLmrSuNphU8XAqV7CdaOQgm4KywlLGNoTMhDAcNR3GVNP6cZzb0GrKmIZ9yae+QLot/cAgUdPRMzg==", + "version": "5.8.5", + "resolved": "https://registry.npmjs.org/rc-tree/-/rc-tree-5.8.5.tgz", + "integrity": "sha512-PRfcZtVDNkR7oh26RuNe1hpw11c1wfgzwmPFL0lnxGnYefe9lDAO6cg5wJKIAwyXFVt5zHgpjYmaz0CPy1ZtKg==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", @@ -9230,13 +9267,13 @@ } }, "node_modules/rc-tree-select": { - "version": "5.15.0", - "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.15.0.tgz", - "integrity": "sha512-YJHfdO6azFnR0/JuNBZLDptGE4/RGfVeHAafUIYcm2T3RBkL1O8aVqiHvwIyLzdK59ry0NLrByd+3TkfpRM+9Q==", + "version": "5.17.0", + "resolved": "https://registry.npmjs.org/rc-tree-select/-/rc-tree-select-5.17.0.tgz", + "integrity": "sha512-7sRGafswBhf7n6IuHyCEFCildwQIgyKiV8zfYyUoWfZEFdhuk7lCH+DN0aHt+oJrdiY9+6Io/LDXloGe01O8XQ==", "dependencies": { "@babel/runtime": "^7.10.1", "classnames": "2.x", - "rc-select": "~14.10.0", + "rc-select": "~14.11.0-0", "rc-tree": "~5.8.1", "rc-util": "^5.16.1" }, @@ -9246,9 +9283,9 @@ } }, "node_modules/rc-upload": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.3.5.tgz", - "integrity": "sha512-EHlKJbhkgFSQHliTj9v/2K5aEuFwfUQgZARzD7AmAPOneZEPiCNF3n6PEWIuqz9h7oq6FuXgdR67sC5BWFxJbA==", + "version": "4.5.2", + "resolved": "https://registry.npmjs.org/rc-upload/-/rc-upload-4.5.2.tgz", + "integrity": "sha512-QO3ne77DwnAPKFn0bA5qJM81QBjQi0e0NHdkvpFyY73Bea2NfITiotqJqVjHgeYPOJu5lLVR32TNGP084aSoXA==", "dependencies": { "@babel/runtime": "^7.18.3", "classnames": "^2.2.5", @@ -9278,9 +9315,9 @@ "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, "node_modules/rc-virtual-list": { - "version": "3.11.3", - "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.3.tgz", - "integrity": "sha512-tu5UtrMk/AXonHwHxUogdXAWynaXsrx1i6dsgg+lOo/KJSF8oBAcprh1z5J3xgnPJD5hXxTL58F8s8onokdt0Q==", + "version": "3.11.4", + "resolved": "https://registry.npmjs.org/rc-virtual-list/-/rc-virtual-list-3.11.4.tgz", + "integrity": "sha512-NbBi0fvyIu26gP69nQBiWgUMTPX3mr4FcuBQiVqagU0BnuX8WQkiivnMs105JROeuUIFczLrlgUhLQwTWV1XDA==", "dependencies": { "@babel/runtime": "^7.20.0", "classnames": "^2.2.6", @@ -9291,8 +9328,8 @@ "node": ">=8.x" }, "peerDependencies": { - "react": "*", - "react-dom": "*" + "react": ">=16.9.0", + "react-dom": ">=16.9.0" } }, "node_modules/react": { @@ -9323,6 +9360,28 @@ "react": "^18.2.0" } }, + "node_modules/react-drag-listview": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/react-drag-listview/-/react-drag-listview-2.0.0.tgz", + "integrity": "sha512-7Apx/1Xt4qu+JHHP0rH6aLgZgS7c2MX8ocHVGCi03KfeIWEu0t14MhT3boQKM33l5eJrE/IWfExFTvoYq22fsg==", + "dependencies": { + "babel-runtime": "^6.26.0", + "prop-types": "^15.5.8" + } + }, + "node_modules/react-draggable": { + "version": "4.4.6", + "resolved": "https://registry.npmjs.org/react-draggable/-/react-draggable-4.4.6.tgz", + "integrity": "sha512-LtY5Xw1zTPqHkVmtM3X8MUOxNDOUhv/khTgBgrUvwaS064bwVvxT+q5El0uUFNx5IEPKXuRejr7UqLwBIg5pdw==", + "dependencies": { + "clsx": "^1.1.1", + "prop-types": "^15.8.1" + }, + "peerDependencies": { + "react": ">= 16.3.0", + "react-dom": ">= 16.3.0" + } + }, "node_modules/react-error-boundary": { "version": "4.0.11", "resolved": "https://registry.npmjs.org/react-error-boundary/-/react-error-boundary-4.0.11.tgz", @@ -9408,6 +9467,18 @@ "resolved": "https://registry.npmjs.org/react-is/-/react-is-18.2.0.tgz", "integrity": "sha512-xWGDIW6x921xtzPkhiULtthJHoJvBbF3q26fzloPCK0hsvxtPVelvftw3zjbHWSkR2km9Z+4uxbDDK/6Zw9B8w==" }, + "node_modules/react-resizable": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/react-resizable/-/react-resizable-3.0.5.tgz", + "integrity": "sha512-vKpeHhI5OZvYn82kXOs1bC8aOXktGU5AmKAgaZS4F5JPburCtbmDPqE7Pzp+1kN4+Wb81LlF33VpGwWwtXem+w==", + "dependencies": { + "prop-types": "15.x", + "react-draggable": "^4.0.3" + }, + "peerDependencies": { + "react": ">= 16.3" + } + }, "node_modules/react-syntax-highlighter": { "version": "15.5.0", "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", @@ -10272,9 +10343,9 @@ } }, "node_modules/stylis": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.0.tgz", - "integrity": "sha512-E87pIogpwUsUwXw7dNyU4QDjdgVMy52m+XEOPEKUn161cCzWjjhPSQhByfd1CcNvrOLnXQ6OnnZDwnJrz/Z4YQ==" + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz", + "integrity": "sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==" }, "node_modules/supertokens-auth-react": { "version": "0.34.2", diff --git a/agenta-web/package.json b/agenta-web/package.json index e1ead68f68..76ab874fee 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -22,6 +22,7 @@ "@ant-design/charts": "^2.0.3", "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", + "@ant-design/plots": "^2.1.13", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^8.0.0", "@heroicons/react": "^2.0.17", @@ -37,11 +38,12 @@ "@types/promise-retry": "^1.1.6", "@types/react-dom": "18.2.1", "@types/react-highlight-words": "^0.16.4", + "@types/react-resizable": "^3.0.7", "@types/react-syntax-highlighter": "^15.5.7", "@types/uuid": "^9.0.7", "ag-grid-community": "^31.0.1", "ag-grid-react": "^31.0.1", - "antd": "^5.4.7", + "antd": "^5.14.1", "autoprefixer": "10.4.14", "axios": "^1.4.0", "classnames": "^2.3.2", @@ -60,10 +62,12 @@ "promise-retry": "^2.0.1", "react": "18.2.0", "react-dom": "18.2.0", + "react-drag-listview": "^2.0.0", "react-error-boundary": "^4.0.11", "react-highlight-words": "^0.20.0", "react-jss": "^10.10.0", "react-markdown": "^8.0.7", + "react-resizable": "^3.0.5", "react-syntax-highlighter": "^15.5.0", "react-youtube": "^10.1.0", "supertokens-auth-react": "^0.34.0", diff --git a/docker-compose.yml b/docker-compose.yml index e7c416aee2..9229171cd2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,6 +25,7 @@ services: - POSTHOG_API_KEY=phc_hmVSxIjTW1REBHXgj2aw4HW9X6CXb6FzerBgP9XenC7 - CELERY_BROKER_URL=amqp://guest@rabbitmq// - CELERY_RESULT_BACKEND=redis://redis:6379/0 + - STANDALONE=${STANDALONE} volumes: - ./agenta-backend/agenta_backend:/app/agenta_backend - ./agenta-backend/tests:/app/tests diff --git a/start_web_standalone.sh b/start_web_standalone.sh index bda47266fd..06c0b91e84 100644 --- a/start_web_standalone.sh +++ b/start_web_standalone.sh @@ -29,7 +29,7 @@ compose_file="docker-compose.${suffix}yml" echo "compose_file: $compose_file" # run docker compose without agenta-web service -docker compose -f $compose_file up -d --build --scale agenta-web=0 +STANDALONE=true docker compose -f $compose_file up -d --build --scale agenta-web=0 if [[ $env == "prod" ]]; then # run next js app in prod mode From f1d3e7a7d735bc0a3144a688710e06bb1be520fc Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Mon, 19 Feb 2024 17:00:30 +0500 Subject: [PATCH 028/539] fixed type issues --- agenta-web/package-lock.json | 1 - agenta-web/package.json | 1 - agenta-web/src/components/ServerTable/components.tsx | 10 +++++----- agenta-web/src/components/Spinner/ContentSpinner.tsx | 3 +-- agenta-web/src/pages/apps/[app_id]/endpoints/index.tsx | 6 ++++-- 5 files changed, 10 insertions(+), 11 deletions(-) diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index c4801745ea..4527ba5085 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -11,7 +11,6 @@ "@ant-design/charts": "^2.0.3", "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", - "@ant-design/plots": "^2.1.13", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^8.0.0", "@heroicons/react": "^2.0.17", diff --git a/agenta-web/package.json b/agenta-web/package.json index 76ab874fee..ea868fcfff 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -22,7 +22,6 @@ "@ant-design/charts": "^2.0.3", "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", - "@ant-design/plots": "^2.1.13", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^8.0.0", "@heroicons/react": "^2.0.17", diff --git a/agenta-web/src/components/ServerTable/components.tsx b/agenta-web/src/components/ServerTable/components.tsx index ef9d15ad68..e821e929bd 100644 --- a/agenta-web/src/components/ServerTable/components.tsx +++ b/agenta-web/src/components/ServerTable/components.tsx @@ -1,9 +1,9 @@ import {GenericObject, JSSTheme, PaginationQuery} from "@/lib/Types" -import {Button, Dropdown, Input, TableColumnType} from "antd" -import {AnyObject} from "antd/es/_util/type" +import {Button, Dropdown, Input} from "antd" import {ColumnsType} from "antd/es/table" +import {FilterDropdownProps} from "antd/es/table/interface" import dayjs from "dayjs" -import {useMemo} from "react" +import React, {useMemo} from "react" import {createUseStyles} from "react-jss" import {Resizable} from "react-resizable" @@ -39,7 +39,7 @@ export const getFilterParams = ( field: string, tableParams: TableParams, ) => { - let filterDropdown: TableColumnType["filterDropdown"] = ({ + const FilterDropdown: React.FC = ({ setSelectedKeys, selectedKeys, confirm, @@ -65,7 +65,7 @@ export const getFilterParams = ( )?.[1] return { - filterDropdown, + filterDropdown: FilterDropdown, filteredValue: filteredValStr ? [ type === "date" diff --git a/agenta-web/src/components/Spinner/ContentSpinner.tsx b/agenta-web/src/components/Spinner/ContentSpinner.tsx index c29737848e..62915e819d 100644 --- a/agenta-web/src/components/Spinner/ContentSpinner.tsx +++ b/agenta-web/src/components/Spinner/ContentSpinner.tsx @@ -1,6 +1,5 @@ import React from "react" import {Spin} from "antd" -import {SpinFCType} from "antd/es/spin" import {createUseStyles} from "react-jss" type Props = { @@ -10,7 +9,7 @@ type Props = { React.HTMLAttributes, HTMLDivElement > - spinnerProps?: SpinFCType + spinnerProps?: React.ComponentProps } const useStyles = createUseStyles({ diff --git a/agenta-web/src/pages/apps/[app_id]/endpoints/index.tsx b/agenta-web/src/pages/apps/[app_id]/endpoints/index.tsx index dd4ee5fd55..69d8709aeb 100644 --- a/agenta-web/src/pages/apps/[app_id]/endpoints/index.tsx +++ b/agenta-web/src/pages/apps/[app_id]/endpoints/index.tsx @@ -8,11 +8,12 @@ import {isDemo} from "@/lib/helpers/utils" import {dynamicComponent} from "@/lib/helpers/dynamic" import {useVariant} from "@/lib/hooks/useVariant" import {fetchEnvironments, fetchVariants, getAppContainerURL} from "@/lib/services/api" -import {ApiOutlined, DownOutlined} from "@ant-design/icons" -import {Alert, Button, Dropdown, Empty, Space, Typography} from "antd" +import {ApiOutlined, AppstoreOutlined, DownOutlined, HistoryOutlined} from "@ant-design/icons" +import {Alert, Button, Dropdown, Empty, Space, Tabs, Typography} from "antd" import {useRouter} from "next/router" import {useEffect, useState} from "react" import {createUseStyles} from "react-jss" +import {useQueryParam} from "@/hooks/useQuery" const DeploymentHistory: any = dynamicComponent("DeploymentHistory/DeploymentHistory") @@ -30,6 +31,7 @@ export default function VariantEndpoint() { const classes = useStyles() const router = useRouter() const appId = router.query.app_id as string + const [tab, setTab] = useQueryParam("tab", "overview") // Load URL for the given environment const [uri, setURI] = useState(null) From 52d98ed154dd4aef57efab9957e5e9702a264f11 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 19 Feb 2024 13:47:20 +0100 Subject: [PATCH 029/539] Feat - created llm tracing module --- agenta-cli/agenta/sdk/agenta_tracing.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) create mode 100644 agenta-cli/agenta/sdk/agenta_tracing.py diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py new file mode 100644 index 0000000000..fbfcfc9728 --- /dev/null +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -0,0 +1,15 @@ +from typing import Optional, Dict, Any + + +class LLMTracing: + def __init__(self, base_url, api_key): + raise NotImplementedError + + def start_trace(self, app_id: str, variant_id: str, **kwargs: Dict[str, Any]): + raise NotImplementedError + + def create_span(self, parent_trace_id: Optional[str], event_name: str): + raise NotImplementedError + + def set_pan_tag(self, key: str, value: str): + raise NotImplementedError From 321b61dccfdae09b932a504a35aa52c5b50c4fb0 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 00:21:53 +0100 Subject: [PATCH 030/539] Update - created pagination api models --- .../agenta_backend/models/api/api_models.py | 25 ++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/api_models.py b/agenta-backend/agenta_backend/models/api/api_models.py index 365a657b4c..ab3a2130f6 100644 --- a/agenta-backend/agenta_backend/models/api/api_models.py +++ b/agenta-backend/agenta_backend/models/api/api_models.py @@ -1,9 +1,28 @@ -from datetime import datetime -from agenta_backend.models.db_models import ConfigDB -from typing import Any, Dict, List, Optional from enum import Enum +from datetime import datetime +from typing import Any, Dict, List, Optional, TypeVar from pydantic import BaseModel +from fastapi import Query + +from agenta_backend.models.db_models import ConfigDB + + +# generic type for db models that will be +# translated into a pydantic model(s) +T = TypeVar("T", bound=BaseModel) + + +class PaginationQuery(BaseModel): + page: int = Query(1, ge=1) + pageSize: int = Query(10, ge=1) + + +class WithPagination(BaseModel): + data: List[T] + total: int + page: int + pageSize: int class Error(BaseModel): From a6936167017abc16525d9390119cb2f558536c13 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 14:29:03 +0100 Subject: [PATCH 031/539] Update - extend with pagination base model and added sorter params --- .../agenta_backend/models/api/api_models.py | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/api_models.py b/agenta-backend/agenta_backend/models/api/api_models.py index ab3a2130f6..ede9dcbc5a 100644 --- a/agenta-backend/agenta_backend/models/api/api_models.py +++ b/agenta-backend/agenta_backend/models/api/api_models.py @@ -1,16 +1,20 @@ from enum import Enum from datetime import datetime -from typing import Any, Dict, List, Optional, TypeVar +from typing import Any, Dict, List, Optional, TypeVar, Generic -from pydantic import BaseModel from fastapi import Query +from pydantic import BaseModel, Field from agenta_backend.models.db_models import ConfigDB # generic type for db models that will be # translated into a pydantic model(s) -T = TypeVar("T", bound=BaseModel) +T = TypeVar("T") + + +class GenericObject(BaseModel): + pass class PaginationQuery(BaseModel): @@ -18,7 +22,11 @@ class PaginationQuery(BaseModel): pageSize: int = Query(10, ge=1) -class WithPagination(BaseModel): +class SorterParams(BaseModel): + created_at: str = Field("desc") + + +class WithPagination(BaseModel, Generic[T]): data: List[T] total: int page: int From a2f3772b88ecac6a18c6ad85d1aae5c91f4bf26b Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 14:29:38 +0100 Subject: [PATCH 032/539] Feat - implemented generation request filters base model for filtering --- .../agenta_backend/models/api/observability_models.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 92583088ba..8be625908b 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -4,6 +4,14 @@ from pydantic import BaseModel, Field +from agenta_backend.models.api.api_models import GenericObject + + +class GenerationRequestFilters(GenericObject): + type: str = Field("generation") + environment: Optional[str] + variant: Optional[str] + class BaseSpan(BaseModel): parent_span_id: Optional[str] From 93b1c3b6c7f6427f374ce17314f8b7c8795be60c Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 14:30:17 +0100 Subject: [PATCH 033/539] Update - added pagination, filters, and sorters to spans endpoint --- .../routers/observability_router.py | 26 ++++++++++++++----- 1 file changed, 20 insertions(+), 6 deletions(-) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index bfa33ac354..64d9e80adb 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -1,10 +1,14 @@ -import os from typing import List -from fastapi import Request, Query +from fastapi import Request, Query, Depends from agenta_backend.utils.common import APIRouter from agenta_backend.services import event_db_manager +from agenta_backend.models.api.api_models import ( + WithPagination, + PaginationQuery, + SorterParams, +) from agenta_backend.models.api.observability_models import ( Span, SpanDetail, @@ -16,6 +20,7 @@ Trace, CreateTrace, UpdateTrace, + GenerationRequestFilters, ) @@ -47,14 +52,23 @@ async def create_span( @router.get( - "/spans/", response_model=List[Span], operation_id="get_spans_of_generation" + "/spans/", + response_model=WithPagination[Span], + operation_id="get_spans_of_generation", ) async def get_spans_of_trace( request: Request, - type: str = Query(default="generation"), + pagination: PaginationQuery = Depends(), + filters: GenerationRequestFilters = Depends(), + sorters: SorterParams = Depends(), ): - if type == "generation": - spans = await event_db_manager.fetch_mock_generation(request.state.user_id) + if filters and filters.type == "generation": + spans = await event_db_manager.fetch_mock_generation( + request.state.user_id, + pagination, + filters, + sorters, + ) return spans return [] From a3424c7474af213ce644dbd6ef1a853c8f1cb686 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 14:30:48 +0100 Subject: [PATCH 034/539] Feat - implement get_paginated_data converter --- agenta-backend/agenta_backend/models/converters.py | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index b95f21edb1..d8568553ea 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -97,8 +97,12 @@ TestSetOutput, TemplateImageInfo, AppVariantRevision, + PaginationQuery, + WithPagination, + T as CustomType ) +from fastapi import Depends from beanie import Link, PydanticObjectId as ObjectId @@ -593,3 +597,11 @@ def evaluator_config_db_to_pydantic(evaluator_config: EvaluatorConfigDB): created_at=evaluator_config.created_at, updated_at=evaluator_config.updated_at, ) + +def get_paginated_data(data: List[CustomType], query: PaginationQuery = Depends()): + return WithPagination[CustomType]( + data=data, + total=len(data), + page=query.page, + pageSize=query.pageSize + ) From 29118a4ccf8089c79632bec6f2f89cdb52d05ce0 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 14:31:23 +0100 Subject: [PATCH 035/539] Update - modified fetch_mock_generation with filtering, pagination and sorting logic --- agenta-backend/agenta_backend/main.py | 2 +- .../services/event_db_manager.py | 48 ++++++++++++++----- 2 files changed, 37 insertions(+), 13 deletions(-) diff --git a/agenta-backend/agenta_backend/main.py b/agenta-backend/agenta_backend/main.py index c556824a1e..02aafe54f1 100644 --- a/agenta-backend/agenta_backend/main.py +++ b/agenta-backend/agenta_backend/main.py @@ -54,7 +54,7 @@ async def lifespan(application: FastAPI, cache=True): """ # initialize the database await DBEngine().init_db() - await templates_manager.update_and_sync_templates(cache=cache) + # await templates_manager.update_and_sync_templates(cache=cache) yield diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index cbff5fbfc6..40a7e169e4 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -1,9 +1,10 @@ import logging -from typing import List from datetime import datetime +from typing import List, Optional from fastapi import HTTPException +from agenta_backend.models.api.api_models import PaginationQuery, SorterParams from agenta_backend.models.api.observability_models import ( Span, SpanDetail, @@ -15,11 +16,13 @@ Trace, CreateTrace, UpdateTrace, + GenerationRequestFilters, ) from agenta_backend.models.converters import ( spans_to_pydantic, feedback_db_to_pydantic, trace_db_to_pydantic, + get_paginated_data, ) from agenta_backend.services import db_manager from agenta_backend.models.db_models import ( @@ -141,7 +144,9 @@ async def create_trace_span(payload: CreateSpan) -> str: return str(span_db.id) -async def get_trace_spans_by_user_uid(user_uid: str, trace_type: str) -> List[Span]: +async def get_trace_spans_by_user_uid( + user_uid: str, trace_type: str, pagination: PaginationQuery +) -> List[Span]: """Get the spans for a given trace. Args: @@ -161,10 +166,15 @@ async def get_trace_spans_by_user_uid(user_uid: str, trace_type: str) -> List[Sp # Get trace spans spans = await spans_to_pydantic(trace.spans, trace) - return spans + return get_paginated_data(spans, pagination) -async def fetch_mock_generation(user_uid: str) -> List[Span]: +async def fetch_mock_generation( + user_uid: str, + pagination: PaginationQuery, + filters: GenerationRequestFilters, + sorters: SorterParams, +) -> List[Span]: import random, uuid from faker import Faker from datetime import datetime, timedelta @@ -223,7 +233,25 @@ def generate_mock_generation(): for _ in range(10): generate_mock_generation() - return list_of_generations + + def filter_span(span: Span): + if filters: + if filters.variant and span.variant.variant_name != filters.variant: + return False + if filters.environment and span.environment != filters.environment: + return False + return True + + filtered_generations = filter(filter_span, list_of_generations) + + sort_keys = list(sorters.dict(exclude=None).keys()) + if "created_at" in sort_keys: + reverse = sorters.created_at == "desc" if sorters else False + + sorted_generations = sorted( + filtered_generations, key=lambda x: x.created_at, reverse=reverse + ) + return get_paginated_data(sorted_generations, pagination) async def fetch_mock_generation_detail(generation_id: str, user_uid: str) -> SpanDetail: @@ -249,17 +277,13 @@ def generate_mock_generation(): "variant_name": fake.company(), "revision": random.randint(1, 20), }, - "environment": random.choice( - ["development", "staging", "production"] - ), + "environment": random.choice(["development", "staging", "production"]), "status": { "value": random.choice(["INITIATED", "SUCCESS", "FAILURE"]), "error": ( { "message": fake.sentence(), - "stacktrace": fake.text( - max_nb_chars=200 - ), # Short stacktrace + "stacktrace": fake.text(max_nb_chars=200), # Short stacktrace } if status_value == "FAILURE" else None @@ -307,7 +331,7 @@ def generate_mock_generation(): "top_p": random.uniform(0.5, 1.0), }, }, - } + }, ) From bb43bfe2d2ed18176c69c93de5d427a6062e44d0 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 14:31:50 +0100 Subject: [PATCH 036/539] :art: Format - ran black --- agenta-backend/agenta_backend/models/converters.py | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index d8568553ea..a90b47f758 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -99,7 +99,7 @@ AppVariantRevision, PaginationQuery, WithPagination, - T as CustomType + T as CustomType, ) from fastapi import Depends @@ -598,10 +598,8 @@ def evaluator_config_db_to_pydantic(evaluator_config: EvaluatorConfigDB): updated_at=evaluator_config.updated_at, ) + def get_paginated_data(data: List[CustomType], query: PaginationQuery = Depends()): return WithPagination[CustomType]( - data=data, - total=len(data), - page=query.page, - pageSize=query.pageSize + data=data, total=len(data), page=query.page, pageSize=query.pageSize ) From d902f92ad813c82b1eb9b10ac776af3149b540ee Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 14:32:15 +0100 Subject: [PATCH 037/539] Update - revert changes --- agenta-backend/agenta_backend/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/main.py b/agenta-backend/agenta_backend/main.py index 02aafe54f1..c556824a1e 100644 --- a/agenta-backend/agenta_backend/main.py +++ b/agenta-backend/agenta_backend/main.py @@ -54,7 +54,7 @@ async def lifespan(application: FastAPI, cache=True): """ # initialize the database await DBEngine().init_db() - # await templates_manager.update_and_sync_templates(cache=cache) + await templates_manager.update_and_sync_templates(cache=cache) yield From cd8aa172a5852319dffb49d7986d1f55b690e923 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 22:48:06 +0100 Subject: [PATCH 038/539] Refactor - renamed PaginationQuery to PaginationParam and Query to Field --- agenta-backend/agenta_backend/models/api/api_models.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/api_models.py b/agenta-backend/agenta_backend/models/api/api_models.py index ede9dcbc5a..56ff324bf5 100644 --- a/agenta-backend/agenta_backend/models/api/api_models.py +++ b/agenta-backend/agenta_backend/models/api/api_models.py @@ -17,9 +17,9 @@ class GenericObject(BaseModel): pass -class PaginationQuery(BaseModel): - page: int = Query(1, ge=1) - pageSize: int = Query(10, ge=1) +class PaginationParam(BaseModel): + page: int = Field(default=1, ge=1) + pageSize: int = Field(default=10, ge=1) class SorterParams(BaseModel): From 4c87fe25123033ecfe53a0218fd08ac04ba5c31f Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 22:48:47 +0100 Subject: [PATCH 039/539] Feat - created generation params and observability datashboard data request params --- .../models/api/observability_models.py | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 8be625908b..3a3ca07648 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -4,15 +4,32 @@ from pydantic import BaseModel, Field -from agenta_backend.models.api.api_models import GenericObject +from agenta_backend.models.api.api_models import ( + GenericObject, + SorterParams, + PaginationParam, +) -class GenerationRequestFilters(GenericObject): +class GenerationFilterParams(GenericObject): type: str = Field("generation") environment: Optional[str] variant: Optional[str] +class GenerationParams(BaseModel): + pagination: PaginationParam + filters: GenerationFilterParams + sorters: SorterParams + + +class ObservabilityDashboardDataRequestParams(BaseModel): + startTime: Optional[int] + endTime: Optional[int] + environment: Optional[str] + variant: Optional[str] + + class BaseSpan(BaseModel): parent_span_id: Optional[str] meta: Optional[Dict[str, Any]] From c8e36032f41b0d4b43d823b2c48f601b1204e461 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 22:49:46 +0100 Subject: [PATCH 040/539] Update - added filtering logic in fetch_mock_observability_dashboard function --- .../services/event_db_manager.py | 83 +++++++++++++------ 1 file changed, 57 insertions(+), 26 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 40a7e169e4..79e0bd8e72 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -1,10 +1,10 @@ import logging +from typing import List from datetime import datetime -from typing import List, Optional from fastapi import HTTPException -from agenta_backend.models.api.api_models import PaginationQuery, SorterParams +from agenta_backend.models.api.api_models import PaginationParam, SorterParams from agenta_backend.models.api.observability_models import ( Span, SpanDetail, @@ -16,7 +16,9 @@ Trace, CreateTrace, UpdateTrace, - GenerationRequestFilters, + ObservabilityData, + GenerationFilterParams, + ObservabilityDashboardDataRequestParams, ) from agenta_backend.models.converters import ( spans_to_pydantic, @@ -145,7 +147,7 @@ async def create_trace_span(payload: CreateSpan) -> str: async def get_trace_spans_by_user_uid( - user_uid: str, trace_type: str, pagination: PaginationQuery + user_uid: str, trace_type: str, pagination: PaginationParam ) -> List[Span]: """Get the spans for a given trace. @@ -171,8 +173,8 @@ async def get_trace_spans_by_user_uid( async def fetch_mock_generation( user_uid: str, - pagination: PaginationQuery, - filters: GenerationRequestFilters, + pagination: PaginationParam, + filters: GenerationFilterParams, sorters: SorterParams, ) -> List[Span]: import random, uuid @@ -335,38 +337,67 @@ def generate_mock_generation(): ) -def fetch_mock_observability_dashboard() -> ObservabilityDashboardData: - from faker import Faker +def fetch_mock_observability_dashboard( + params: ObservabilityDashboardDataRequestParams, +) -> ObservabilityDashboardData: import random - from datetime import datetime, timedelta - - fake = Faker() + from datetime import datetime list_of_data_points = [] def generate_data_point(): for _ in range(10): list_of_data_points.append( - { - "timestamp": datetime.now(), - "success_count": random.randint(5, 20), - "failure_count": random.randint(0, 5), - "cost": random.uniform(0.05, 0.5), - "latency": random.uniform(0.2, 1.5), - "total_tokens": random.randint(100, 500), - "prompt_tokens": random.randint(20, 150), - "completion_tokens": random.randint(50, 300), - "environment": random.choice( - ["development", "staging", "production"] - ), - "variant": f"variant_{random.randint(1, 5)}", - } + ObservabilityData( + **{ + "timestamp": datetime.now(), + "success_count": random.randint(5, 20), + "failure_count": random.randint(0, 5), + "cost": random.uniform(0.05, 0.5), + "latency": random.uniform(0.2, 1.5), + "total_tokens": random.randint(100, 500), + "prompt_tokens": random.randint(20, 150), + "completion_tokens": random.randint(50, 300), + "environment": random.choice( + ["development", "staging", "production"] + ), + "variant": f"variant_{random.randint(1, 5)}", + } + ) ) generate_data_point() + + def filter_data(data: ObservabilityData): + if params: + if params.environment and data.environment == params.environment: + return True + if params.variant and data.variant == params.variant: + return True + if (params.startTime and params.endTime) and ( + data.timestamp in [params.startTime, params.endTime] + ): + return True + if ( + params.environment == data.environment + and params.variant == data.variant + ): + return True + if ( + (params.startTime and params.endTime) + and (data.timestamp in [params.startTime, params.endTime]) + and ( + params.environment == data.environment + and params.variant == data.variant + ) + ): + return True + return False + + filtered_data = filter(filter_data, list_of_data_points) return ObservabilityDashboardData( **{ - "data": list_of_data_points, + "data": list(filtered_data), "total_count": random.randint(50, 200), "failure_rate": random.uniform(0.0, 0.25), "total_cost": random.uniform(5, 20), From bc79e021296feffa24518df802993585365c3f22 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 20 Feb 2024 22:50:40 +0100 Subject: [PATCH 041/539] Update - change the use of query params in obs dashboard and spans search endpoint --- .../agenta_backend/models/converters.py | 4 +-- .../routers/observability_router.py | 34 ++++++++----------- 2 files changed, 17 insertions(+), 21 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index a90b47f758..4f719f4056 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -97,7 +97,7 @@ TestSetOutput, TemplateImageInfo, AppVariantRevision, - PaginationQuery, + PaginationParam, WithPagination, T as CustomType, ) @@ -599,7 +599,7 @@ def evaluator_config_db_to_pydantic(evaluator_config: EvaluatorConfigDB): ) -def get_paginated_data(data: List[CustomType], query: PaginationQuery = Depends()): +def get_paginated_data(data: List[CustomType], query: PaginationParam = Depends()): return WithPagination[CustomType]( data=data, total=len(data), page=query.page, pageSize=query.pageSize ) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 64d9e80adb..4f06d39184 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -6,34 +6,35 @@ from agenta_backend.services import event_db_manager from agenta_backend.models.api.api_models import ( WithPagination, - PaginationQuery, - SorterParams, ) from agenta_backend.models.api.observability_models import ( Span, SpanDetail, CreateSpan, - ObservabilityDashboardData, CreateFeedback, Feedback, UpdateFeedback, Trace, CreateTrace, UpdateTrace, - GenerationRequestFilters, + GenerationParams, + ObservabilityDashboardData, + ObservabilityDashboardDataRequestParams, ) router = APIRouter() -@router.get( +@router.post( "/dashboard/", response_model=ObservabilityDashboardData, operation_id="observability_dashboard", ) -async def get_dashboard_data(request: Request): - return event_db_manager.fetch_mock_observability_dashboard() +async def get_dashboard_data( + request: Request, parameters: ObservabilityDashboardDataRequestParams +): + return event_db_manager.fetch_mock_observability_dashboard(parameters) @router.post("/trace/", response_model=str, operation_id="create_trace") @@ -51,23 +52,18 @@ async def create_span( return spans_id -@router.get( - "/spans/", +@router.post( + "/spans/search/", response_model=WithPagination[Span], operation_id="get_spans_of_generation", ) -async def get_spans_of_trace( - request: Request, - pagination: PaginationQuery = Depends(), - filters: GenerationRequestFilters = Depends(), - sorters: SorterParams = Depends(), -): - if filters and filters.type == "generation": +async def get_spans_of_trace(request: Request, params: GenerationParams): + if params.filters and params.filters.type == "generation": spans = await event_db_manager.fetch_mock_generation( request.state.user_id, - pagination, - filters, - sorters, + params.pagination, + params.filters, + params.sorters, ) return spans return [] From 6f435d5269388b27eddae009cb7da454bce973f5 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Wed, 21 Feb 2024 13:10:02 +0500 Subject: [PATCH 042/539] tremor and tailwind setup --- agenta-web/dev.Dockerfile | 10 + agenta-web/package-lock.json | 1875 ++++++++--------- agenta-web/package.json | 12 +- agenta-web/postcss.config.js | 2 + .../Layout/ThemeContextProvider.tsx | 13 +- agenta-web/src/components/Sidebar/Sidebar.tsx | 11 +- agenta-web/src/lib/helpers/axiosConfig.ts | 2 +- agenta-web/src/pages/_document.tsx | 2 +- agenta-web/src/styles/globals.css | 4 + agenta-web/tailwind.config.ts | 150 ++ docker-compose.yml | 1 - start_web_standalone.sh | 4 +- 12 files changed, 1087 insertions(+), 999 deletions(-) create mode 100644 agenta-web/tailwind.config.ts diff --git a/agenta-web/dev.Dockerfile b/agenta-web/dev.Dockerfile index 6af573852c..c155bc07db 100644 --- a/agenta-web/dev.Dockerfile +++ b/agenta-web/dev.Dockerfile @@ -5,20 +5,26 @@ WORKDIR /app # Install dependencies based on the preferred package manager COPY package.json yarn.lock* package-lock.json* pnpm-lock.yaml* ./ RUN \ + # echo "Standalone: $NEXT_PUBLIC_STANDALONE"; \ + # if [[ ! $NEXT_PUBLIC_STANDALONE == "true" ]]; then \ if [ -f yarn.lock ]; then yarn --frozen-lockfile; \ elif [ -f package-lock.json ]; then npm i; \ elif [ -f pnpm-lock.yaml ]; then yarn global add pnpm && pnpm i; \ # Allow install without lockfile, so example works even without Node.js installed locally else echo "Warning: Lockfile not found. It is recommended to commit lockfiles to version control." && yarn install; \ fi +# else echo "NEXT_PUBLIC_STANDALONE is set, skipping install"; \ +# fi COPY src ./src COPY public ./public COPY next.config.js . COPY tsconfig.json . COPY postcss.config.js . +COPY tailwind.config.ts . COPY .env . RUN if [ -f .env.local ]; then cp .env.local .; fi +# RUN if [ -f tailwind.config.ts ]; then cp tailwind.config.ts .; fi # # used in cloud COPY sentry.* . # Next.js collects completely anonymous telemetry data about general usage. Learn more here: https://nextjs.org/telemetry @@ -29,9 +35,13 @@ COPY sentry.* . # Start Next.js in development mode based on the preferred package manager CMD \ + # echo "Standalone: $NEXT_PUBLIC_STANDALONE"; \ + # if [[ ! $NEXT_PUBLIC_STANDALONE == "true" ]]; then \ if [ -f yarn.lock ]; then yarn dev; \ elif [ -f package-lock.json ]; then npm run dev; \ elif [ -f pnpm-lock.yaml ]; then pnpm dev; \ else yarn dev; \ fi +# else echo "NEXT_PUBLIC_STANDALONE is set, skipping run"; \ +# fi diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index 4527ba5085..de9f6c91b2 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -8,17 +8,20 @@ "name": "agenta", "version": "0.12.0", "dependencies": { - "@ant-design/charts": "^2.0.3", "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^8.0.0", + "@headlessui/react": "^1.7.18", + "@headlessui/tailwindcss": "^0.2.0", "@heroicons/react": "^2.0.17", "@mdx-js/loader": "^2.3.0", "@mdx-js/react": "^2.3.0", "@monaco-editor/react": "^4.5.2", "@next/mdx": "^13.4.13", + "@remixicon/react": "^4.1.1", "@sentry/nextjs": "^7.77.0", + "@tremor/react": "^3.14.0", "@types/js-beautify": "^1.14.0", "@types/lodash": "^4.14.201", "@types/mdx": "^2.0.6", @@ -32,7 +35,6 @@ "ag-grid-community": "^31.0.1", "ag-grid-react": "^31.0.1", "antd": "^5.14.1", - "autoprefixer": "10.4.14", "axios": "^1.4.0", "classnames": "^2.3.2", "dayjs": "^1.11.10", @@ -45,7 +47,6 @@ "next": "13.3.4", "nextjs-cors": "^2.1.2", "papaparse": "^5.4.1", - "postcss": "8.4.31", "posthog-js": "^1.104.4", "promise-retry": "^2.0.1", "react": "18.2.0", @@ -61,14 +62,19 @@ "supertokens-auth-react": "^0.34.0", "supertokens-node": "^15.0.4", "swr": "^2.1.5", + "tailwindcss": "^3.4.1", "typescript": "5.0.4", "usehooks-ts": "^2.9.1", "uuid": "^9.0.1" }, "devDependencies": { + "@tailwindcss/forms": "^0.5.7", "@types/node": "^20.8.10", + "autoprefixer": "^10.4.17", "cypress": "^13.4.0", "node-mocks-http": "^1.12.2", + "postcss": "^8.4.35", + "postcss-antd-fixes": "^0.2.0", "prettier": "^3.0.0" }, "engines": { @@ -83,26 +89,15 @@ "node": ">=0.10.0" } }, - "node_modules/@ant-design/charts": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@ant-design/charts/-/charts-2.0.3.tgz", - "integrity": "sha512-CDyDRoMLtUcZ6ZU92nmW23Yt9a9KJU3Z/i5RPMasDuBMShTPNY3i/sOQgv5nTho+7FfBMVrdAax+cKAYcAz3jQ==", - "dependencies": { - "@ant-design/plots": "^2.1.3" + "node_modules/@alloc/quick-lru": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", + "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", + "engines": { + "node": ">=10" }, - "peerDependencies": { - "lodash-es": "^4.17.21", - "react": ">=16.8.4", - "react-dom": ">=16.8.4" - } - }, - "node_modules/@ant-design/charts-util": { - "version": "0.0.1-alpha.5", - "resolved": "https://registry.npmjs.org/@ant-design/charts-util/-/charts-util-0.0.1-alpha.5.tgz", - "integrity": "sha512-EwTUjRPhU2CUyI2e11pAi9aOQg9oEWdFEWxv1f4j+Ta4doYXd1yTl94Zy9JvigiEj4qv8dPGl0PUd3r+qMVrAg==", - "peerDependencies": { - "react": ">=16.8.4", - "react-dom": ">=16.8.4" + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, "node_modules/@ant-design/colors": { @@ -155,22 +150,6 @@ "resolved": "https://registry.npmjs.org/@ant-design/icons-svg/-/icons-svg-4.4.2.tgz", "integrity": "sha512-vHbT+zJEVzllwP+CM+ul7reTEfBR0vgxFe7+lREAsAA7YGsYpboiq2sQNeQeRvh09GfQgs/GyFEvZpJ9cLXpXA==" }, - "node_modules/@ant-design/plots": { - "version": "2.1.13", - "resolved": "https://registry.npmjs.org/@ant-design/plots/-/plots-2.1.13.tgz", - "integrity": "sha512-HX0AONkl8UWHwFaqc9nJsxD2+drvbLKVHdFVuf/8mBAKSumLwCyykn1NysaH/BgTfXSJ2k2NxwDD40U8CQg6lQ==", - "dependencies": { - "@ant-design/charts-util": "0.0.1-alpha.5", - "@antv/event-emitter": "^0.1.3", - "@antv/g2": "^5.1.9", - "@antv/g2-extension-plot": "^0.1.1" - }, - "peerDependencies": { - "lodash-es": "^4.17.21", - "react": ">=16.8.4", - "react-dom": ">=16.8.4" - } - }, "node_modules/@ant-design/react-slick": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/@ant-design/react-slick/-/react-slick-1.0.2.tgz", @@ -186,281 +165,6 @@ "react": ">=16.9.0" } }, - "node_modules/@antv/component": { - "version": "1.0.1-beta.2", - "resolved": "https://registry.npmjs.org/@antv/component/-/component-1.0.1-beta.2.tgz", - "integrity": "sha512-yIR2svYP8uaD0NfhbrqbtmSlpdNSyYZLuO64UqnFMBDtDSiG/dK5cyUn0OqK3+ZwIdZDIEkFmFcx1H/lWV/4Cg==", - "dependencies": { - "@antv/g": "^5.18.6", - "@antv/scale": "^0.4.3", - "@antv/util": "^3.3.5", - "svg-path-parser": "^1.1.0" - } - }, - "node_modules/@antv/coord": { - "version": "0.4.7", - "resolved": "https://registry.npmjs.org/@antv/coord/-/coord-0.4.7.tgz", - "integrity": "sha512-UTbrMLhwJUkKzqJx5KFnSRpU3BqrdLORJbwUbHK2zHSCT3q3bjcFA//ZYLVfIlwqFDXp/hzfMyRtp0c77A9ZVA==", - "dependencies": { - "@antv/scale": "^0.4.12", - "@antv/util": "^2.0.13", - "gl-matrix": "^3.4.3" - } - }, - "node_modules/@antv/coord/node_modules/@antv/util": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", - "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", - "dependencies": { - "csstype": "^3.0.8", - "tslib": "^2.0.3" - } - }, - "node_modules/@antv/event-emitter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@antv/event-emitter/-/event-emitter-0.1.3.tgz", - "integrity": "sha512-4ddpsiHN9Pd4UIlWuKVK1C4IiZIdbwQvy9i7DUSI3xNJ89FPUFt8lxDYj8GzzfdllV0NkJTRxnG+FvLk0llidg==" - }, - "node_modules/@antv/g": { - "version": "5.18.24", - "resolved": "https://registry.npmjs.org/@antv/g/-/g-5.18.24.tgz", - "integrity": "sha512-qUIjxNPd60VpA6bjDALkRWEWA0CKm2G+vRPkP729eiZ0JnqlRuSqVNibo6QbrlZGEZQfqKiNjiVDODbJjHxNIw==", - "dependencies": { - "@antv/g-camera-api": "1.2.22", - "@antv/g-dom-mutation-observer-api": "1.2.21", - "@antv/g-lite": "1.2.21", - "@antv/g-web-animations-api": "1.2.22" - } - }, - "node_modules/@antv/g-camera-api": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@antv/g-camera-api/-/g-camera-api-1.2.22.tgz", - "integrity": "sha512-+sWDUMTeOACfb6HUJbuMS3ab79xCtFgCHhD+drlNbOjRCJDlkFHPsplyM7vA1a2Rs0zoyV+K68duClsP7Ei3OA==", - "dependencies": { - "@antv/g-lite": "1.2.21", - "@antv/util": "^3.3.4", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-canvas": { - "version": "1.11.26", - "resolved": "https://registry.npmjs.org/@antv/g-canvas/-/g-canvas-1.11.26.tgz", - "integrity": "sha512-7THxFINBbh5MHaapzuUs1mcgXLh4imGZP6xovg8W1riroWGg9q/Mkyt9oXVxK9TtrBNTYQkGR6yVQw7pz3dm6g==", - "dependencies": { - "@antv/g-lite": "1.2.21", - "@antv/g-plugin-canvas-path-generator": "1.3.21", - "@antv/g-plugin-canvas-picker": "1.10.23", - "@antv/g-plugin-canvas-renderer": "1.9.23", - "@antv/g-plugin-dom-interaction": "1.9.21", - "@antv/g-plugin-html-renderer": "1.9.24", - "@antv/g-plugin-image-loader": "1.3.21", - "@antv/util": "^3.3.4", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-dom-mutation-observer-api": { - "version": "1.2.21", - "resolved": "https://registry.npmjs.org/@antv/g-dom-mutation-observer-api/-/g-dom-mutation-observer-api-1.2.21.tgz", - "integrity": "sha512-/gE0hYFAKyrh0bDad4HH6pI9s9VRG3h9RWA5pU4MzFo/9nTQtjp+DvWr9TR/oahg0u9gtyrBO5HE4eI5kziMRA==", - "dependencies": { - "@antv/g-lite": "1.2.21" - } - }, - "node_modules/@antv/g-lite": { - "version": "1.2.21", - "resolved": "https://registry.npmjs.org/@antv/g-lite/-/g-lite-1.2.21.tgz", - "integrity": "sha512-VGo78eaJE93cRPLaWZcXyi0TjfymHrAbweAVI01t3A3wgduqn1CpTXKBICqaNgi/T73rL0zcVO0Nn9th3Lincg==", - "dependencies": { - "@antv/g-math": "2.0.2", - "@antv/util": "^3.3.4", - "d3-color": "^1.4.0", - "eventemitter3": "^5.0.1", - "gl-matrix": "^3.4.3", - "rbush": "^3.0.1", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-math": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@antv/g-math/-/g-math-2.0.2.tgz", - "integrity": "sha512-uqGU1C+70orjeSUoIzD3TuXjL5dRQCIyjZrBrTmm0FWd6VQJMWHyG5ypuZ2lMiI5MrRajVSE1w+3J4hiNBYSJg==", - "dependencies": { - "@antv/util": "^3.3.4", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-canvas-path-generator": { - "version": "1.3.21", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-path-generator/-/g-plugin-canvas-path-generator-1.3.21.tgz", - "integrity": "sha512-pz+2mCHIFGQ9w3ED4awGCrpUQbxdxkGtw1VqjAu178+uimDQJYaTXkpT2rdqsobVcm4LwQCNlugczAJfoJp9fQ==", - "dependencies": { - "@antv/g-lite": "1.2.21", - "@antv/g-math": "2.0.2", - "@antv/util": "^3.3.4", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-canvas-picker": { - "version": "1.10.23", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-picker/-/g-plugin-canvas-picker-1.10.23.tgz", - "integrity": "sha512-rdgSrLQMXIzPAnHf+vJ0unSKGkq1gC90iQVisyWKbH761sfNfVa6I+4lFWrpcBnwU09E3AfGroD1vfiHcpvQ1A==", - "dependencies": { - "@antv/g-lite": "1.2.21", - "@antv/g-math": "2.0.2", - "@antv/g-plugin-canvas-path-generator": "1.3.21", - "@antv/g-plugin-canvas-renderer": "1.9.23", - "@antv/util": "^3.3.4", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-canvas-renderer": { - "version": "1.9.23", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-canvas-renderer/-/g-plugin-canvas-renderer-1.9.23.tgz", - "integrity": "sha512-uT2IsUJnwQ0m6n3S86eJYYDMMqF3yUMYcfj6sBchwym2NB3tAC/x0BVFGHZtEyqUkfmBr2wKcYjjBOfPl1tbhw==", - "dependencies": { - "@antv/g-lite": "1.2.21", - "@antv/g-math": "2.0.2", - "@antv/g-plugin-canvas-path-generator": "1.3.21", - "@antv/g-plugin-image-loader": "1.3.21", - "@antv/util": "^3.3.4", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-dom-interaction": { - "version": "1.9.21", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-dom-interaction/-/g-plugin-dom-interaction-1.9.21.tgz", - "integrity": "sha512-aO4yWve2yquZQYqZDU03pM2vgkOjFKk24zTRk+V4cAmdgjtUjCa7EcMWODI8eX2UB6zT31aySzyhOjXHQVC78A==", - "dependencies": { - "@antv/g-lite": "1.2.21", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-dragndrop": { - "version": "1.8.21", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-dragndrop/-/g-plugin-dragndrop-1.8.21.tgz", - "integrity": "sha512-iyhZJsToY3vmVqwuiZIpeWOqGcpK/9Nk13rPR2Qjk+U/9DncNF2b5fEXh3GHMFmQYysiCdPfMbFAwMuRUvoRKQ==", - "dependencies": { - "@antv/g-lite": "1.2.21", - "@antv/util": "^3.3.4", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-html-renderer": { - "version": "1.9.24", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-html-renderer/-/g-plugin-html-renderer-1.9.24.tgz", - "integrity": "sha512-8tM2LaHXpgoyT27tryu/lVDX+YEvKv+KaPCtMTfQf04vL0XfbQ/ATcEXAEksIsNdZ+brQvi3LKh6UPiWCRAs3A==", - "dependencies": { - "@antv/g-lite": "1.2.21", - "@antv/util": "^3.3.4", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-plugin-image-loader": { - "version": "1.3.21", - "resolved": "https://registry.npmjs.org/@antv/g-plugin-image-loader/-/g-plugin-image-loader-1.3.21.tgz", - "integrity": "sha512-PCFRYscSapA4pMkm9TcUQcxV9hnHKe0AIJaR35kV2F1hhuWLMyCPEuxVyWaCMYDFMfrDtVj7dXzL81L4fja8HQ==", - "dependencies": { - "@antv/g-lite": "1.2.21", - "@antv/util": "^3.3.4", - "gl-matrix": "^3.4.3", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g-web-animations-api": { - "version": "1.2.22", - "resolved": "https://registry.npmjs.org/@antv/g-web-animations-api/-/g-web-animations-api-1.2.22.tgz", - "integrity": "sha512-/bh/jUF/hVaDOnNtXRoB5ZsDnPK9IIrduLr4o5sFP+tOuCCBpalWgxeP11yBJoMpl2Y14GmipZTAD8QUoZyyNw==", - "dependencies": { - "@antv/g-lite": "1.2.21", - "@antv/util": "^3.3.4", - "tslib": "^2.5.3" - } - }, - "node_modules/@antv/g2": { - "version": "5.1.15", - "resolved": "https://registry.npmjs.org/@antv/g2/-/g2-5.1.15.tgz", - "integrity": "sha512-WiISs4GUOzHlA4vrkt+eQfr1+LVIAuv4AkfFCRzTprayMO72pLAdgTcwUg9YlvafwM220r9FQD1nXIlYNXOOhA==", - "dependencies": { - "@antv/component": "^1.0.1-beta.0", - "@antv/coord": "^0.4.6", - "@antv/event-emitter": "^0.1.3", - "@antv/g": "^5.18.19", - "@antv/g-canvas": "^1.11.22", - "@antv/g-plugin-dragndrop": "^1.8.17", - "@antv/path-util": "^3.0.1", - "@antv/scale": "^0.4.12", - "@antv/util": "^3.3.5", - "d3-array": "^3.2.4", - "d3-dsv": "^3.0.1", - "d3-force": "^3.0.0", - "d3-format": "^3.1.0", - "d3-geo": "^3.1.0", - "d3-hierarchy": "^3.1.2", - "d3-path": "^3.1.0", - "d3-scale-chromatic": "^3.0.0", - "d3-shape": "^3.2.0", - "d3-voronoi": "^1.1.4", - "flru": "^1.0.2", - "fmin": "^0.0.2", - "pdfast": "^0.2.0" - } - }, - "node_modules/@antv/g2-extension-plot": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@antv/g2-extension-plot/-/g2-extension-plot-0.1.1.tgz", - "integrity": "sha512-yruGQudJYL/3/2/mHA0+WRW6oJ+YX4ZWMSqGu6eY5+ooqvTgeeF91KHixrodiPfiZZ+zDFrNeZ0HsOcLuHB+YA==", - "dependencies": { - "@antv/g": "^5.18.19", - "@antv/g2": "^5.1.8", - "@antv/util": "^3.3.5", - "d3-array": "^3.2.4", - "d3-hierarchy": "^3.1.2" - } - }, - "node_modules/@antv/path-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@antv/path-util/-/path-util-3.0.1.tgz", - "integrity": "sha512-tpvAzMpF9Qm6ik2YSMqICNU5tco5POOW7S4XoxZAI/B0L26adU+Md/SmO0BBo2SpuywKvzPH3hPT3xmoyhr04Q==", - "dependencies": { - "gl-matrix": "^3.1.0", - "lodash-es": "^4.17.21", - "tslib": "^2.0.3" - } - }, - "node_modules/@antv/scale": { - "version": "0.4.15", - "resolved": "https://registry.npmjs.org/@antv/scale/-/scale-0.4.15.tgz", - "integrity": "sha512-b3b2U1L55fcJg0fB/BloVvcngPo/QxhosWgjn6JmYLVLezxDYMO+zdQou8hxpsLMUVhH15NqRDcM/1n4U6G04g==", - "dependencies": { - "@antv/util": "^2.0.13", - "color-string": "^1.5.5", - "fecha": "^4.2.1" - } - }, - "node_modules/@antv/scale/node_modules/@antv/util": { - "version": "2.0.17", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-2.0.17.tgz", - "integrity": "sha512-o6I9hi5CIUvLGDhth0RxNSFDRwXeywmt6ExR4+RmVAzIi48ps6HUy+svxOCayvrPBN37uE6TAc2KDofRo0nK9Q==", - "dependencies": { - "csstype": "^3.0.8", - "tslib": "^2.0.3" - } - }, - "node_modules/@antv/util": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/@antv/util/-/util-3.3.6.tgz", - "integrity": "sha512-Oj2uAwBWEpEKbYcYgSJ/B6zv7t515L+JZzSpnkZeez/qwvDbS6s80lQRuzWzVhWCTHKSPLkgImxhkV9nzLmv4Q==", - "dependencies": { - "fast-deep-equal": "^3.1.3", - "gl-matrix": "^3.3.0", - "tslib": "^2.3.1" - } - }, "node_modules/@babel/runtime": { "version": "7.23.9", "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", @@ -685,6 +389,81 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@floating-ui/core": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "dependencies": { + "@floating-ui/utils": "^0.2.1" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", + "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", + "dependencies": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/react": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.2.tgz", + "integrity": "sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==", + "dependencies": { + "@floating-ui/react-dom": "^1.3.0", + "aria-hidden": "^1.1.3", + "tabbable": "^6.0.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", + "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", + "dependencies": { + "@floating-ui/dom": "^1.2.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + }, + "node_modules/@headlessui/react": { + "version": "1.7.18", + "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.18.tgz", + "integrity": "sha512-4i5DOrzwN4qSgNsL4Si61VMkUcWbcSKueUV7sFhpHzQcSShdlHENE5+QBntMSRvHt8NyoFO2AGG8si9lq+w4zQ==", + "dependencies": { + "@tanstack/react-virtual": "^3.0.0-beta.60", + "client-only": "^0.0.1" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "react": "^16 || ^17 || ^18", + "react-dom": "^16 || ^17 || ^18" + } + }, + "node_modules/@headlessui/tailwindcss": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@headlessui/tailwindcss/-/tailwindcss-0.2.0.tgz", + "integrity": "sha512-fpL830Fln1SykOCboExsWr3JIVeQKieLJ3XytLe/tt1A0XzqUthOftDmjcCYLW62w7mQI7wXcoPXr3tZ9QfGxw==", + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "tailwindcss": "^3.0" + } + }, "node_modules/@heroicons/react": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/@heroicons/react/-/react-2.0.18.tgz", @@ -811,7 +590,6 @@ "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "peer": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -825,7 +603,6 @@ "version": "3.1.1", "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", - "peer": true, "engines": { "node": ">=6.0.0" } @@ -834,7 +611,6 @@ "version": "1.1.2", "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "peer": true, "engines": { "node": ">=6.0.0" } @@ -858,34 +634,11 @@ "version": "0.3.20", "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.20.tgz", "integrity": "sha512-R8LcPeWZol2zR8mmH3JeKQ6QRCFb7XgUhV9ZlGhHLGyg4wpPiPZNQOOWhFZhxKw8u//yTbNGI42Bx/3paXEQ+Q==", - "peer": true, "dependencies": { "@jridgewell/resolve-uri": "^3.1.0", "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@ljharb/resumer": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/@ljharb/resumer/-/resumer-0.0.1.tgz", - "integrity": "sha512-skQiAOrCfO7vRTq53cxznMpks7wS1va95UCidALlOVWqvBAzwPVErwizDwoMqNVMEn1mDq0utxZd02eIrvF1lw==", - "dependencies": { - "@ljharb/through": "^2.3.9" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/@ljharb/through": { - "version": "2.3.12", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.12.tgz", - "integrity": "sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==", - "dependencies": { - "call-bind": "^1.0.5" - }, - "engines": { - "node": ">= 0.4" - } - }, "node_modules/@mdx-js/loader": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/@mdx-js/loader/-/loader-2.3.0.tgz", @@ -1315,6 +1068,14 @@ "react-dom": ">=16.9.0" } }, + "node_modules/@remixicon/react": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/@remixicon/react/-/react-4.1.1.tgz", + "integrity": "sha512-a2WSRfuv94OwSX2AK2IRhDEYAYxL0AOeF5+3boTILpC41e8Mp8ZJ7b2980ekOnJsnkcBofcHi4/GDR9cKTl/Bg==", + "peerDependencies": { + "react": ">=18.2.0" + } + }, "node_modules/@rollup/plugin-commonjs": { "version": "24.0.0", "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-24.0.0.tgz", @@ -1595,6 +1356,62 @@ "tslib": "^2.4.0" } }, + "node_modules/@tailwindcss/forms": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", + "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", + "dev": true, + "dependencies": { + "mini-svg-data-uri": "^1.2.3" + }, + "peerDependencies": { + "tailwindcss": ">=3.0.0 || >= 3.0.0-alpha.1" + } + }, + "node_modules/@tanstack/react-virtual": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@tanstack/react-virtual/-/react-virtual-3.1.1.tgz", + "integrity": "sha512-9tW9xwEW7exSa/8bxu29IPCcB5c9Xlq+whETixIIgYZYKuUY4ZOr000q3oLpL4bkOkolQbB4WXM0MoQGgJXqDg==", + "dependencies": { + "@tanstack/virtual-core": "3.1.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/@tanstack/virtual-core": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@tanstack/virtual-core/-/virtual-core-3.1.1.tgz", + "integrity": "sha512-I5lerX+RWxLM+zw35gwwQIoLvtkOm0ecuQUlEjNey+Ga6TnR66WKLBnSHre59onugxhpDLT2nofRYzxf+izDFQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/tannerlinsley" + } + }, + "node_modules/@tremor/react": { + "version": "3.14.0", + "resolved": "https://registry.npmjs.org/@tremor/react/-/react-3.14.0.tgz", + "integrity": "sha512-bDIaId3js6S0LMhSypLN31l98t13XwPmhF6B1NIZUId/zZwnuE25z95VbKUL8NzHuCETIXSAp+Mm+OyA9EeAFw==", + "dependencies": { + "@floating-ui/react": "^0.19.2", + "@headlessui/react": "^1.7.18", + "@headlessui/tailwindcss": "^0.2.0", + "date-fns": "^2.30.0", + "react-day-picker": "^8.9.1", + "react-transition-state": "^2.1.1", + "recharts": "^2.10.3", + "tailwind-merge": "^1.14.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": ">=16.6.0" + } + }, "node_modules/@types/acorn": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", @@ -1603,6 +1420,60 @@ "@types/estree": "*" } }, + "node_modules/@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-shape": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", + "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", + "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -2173,27 +2044,6 @@ "ajv": "^6.9.1" } }, - "node_modules/align-text": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/align-text/-/align-text-0.1.4.tgz", - "integrity": "sha512-GrTZLRpmp6wIC2ztrWW9MjjTgSKccffgFagbNDOX95/dcjEcYZibYTeaOntySQLcdw1ztBoFkviiUvTMbb9MYg==", - "dependencies": { - "kind-of": "^3.0.2", - "longest": "^1.0.1", - "repeat-string": "^1.5.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/amdefine": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/amdefine/-/amdefine-1.0.1.tgz", - "integrity": "sha512-S2Hw0TtNkMJhIabBwIojKL9YHO5T0n5eNqWJ7Lrlel/zDbftQpxpapi8tZs3X1HWa+u+QeydGmzzNU0m09+Rcg==", - "engines": { - "node": ">=0.4.2" - } - }, "node_modules/ansi-colors": { "version": "4.1.3", "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", @@ -2314,6 +2164,23 @@ "react-dom": ">=16.9.0" } }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==" + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, "node_modules/arch": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/arch/-/arch-2.2.0.tgz", @@ -2334,11 +2201,27 @@ } ] }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==" + }, "node_modules/argparse": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, + "node_modules/aria-hidden": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", + "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/aria-query": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", @@ -2548,9 +2431,10 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "version": "10.4.17", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", + "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "dev": true, "funding": [ { "type": "opencollective", @@ -2559,12 +2443,16 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/autoprefixer" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", + "browserslist": "^4.22.2", + "caniuse-lite": "^1.0.30001578", + "fraction.js": "^4.3.7", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -2688,6 +2576,14 @@ "tweetnacl": "^0.14.3" } }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "engines": { + "node": ">=8" + } + }, "node_modules/blob-util": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/blob-util/-/blob-util-2.0.2.tgz", @@ -2846,18 +2742,18 @@ "node": ">=6" } }, - "node_modules/camelcase": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-1.2.1.tgz", - "integrity": "sha512-wzLkDa4K/mzI1OSITC+DUyjgIl/ETNHE9QvYgy6J6Jvqyyz4C0Xfd+lQhb19sX2jMpZV4IssUn0VDVmglV+s4g==", + "node_modules/camelcase-css": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", + "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", "engines": { - "node": ">=0.10.0" + "node": ">= 6" } }, "node_modules/caniuse-lite": { - "version": "1.0.30001568", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001568.tgz", - "integrity": "sha512-vSUkH84HontZJ88MiNrOau1EBrCqEQYgkC5gIySiDlpsm8sGVrhU7Kx4V6h0tnqaHzIHZv08HlJIwPbL4XL9+A==", + "version": "1.0.30001588", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001588.tgz", + "integrity": "sha512-+hVY9jE44uKLkH0SrUTqxjxqNTOWHsbnQDIKjwkZ3lNTzUUVdBLBGXtj/q5Mp5u98r3droaZAewQuEDzjQdZlQ==", "funding": [ { "type": "opencollective", @@ -2888,18 +2784,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/center-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/center-align/-/center-align-0.1.3.tgz", - "integrity": "sha512-Baz3aNe2gd2LP2qk5U+sDk/m4oSuwSDcBfayTCTBoWpfIGO5XFxPmjILQII4NGiZjD6DoDI6kf7gKaxkf7s3VQ==", - "dependencies": { - "align-text": "^0.1.3", - "lazy-cache": "^1.0.3" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/chalk": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", @@ -2957,6 +2841,40 @@ "node": ">= 0.8.0" } }, + "node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chokidar/node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/chrome-trace-event": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", @@ -3043,16 +2961,6 @@ "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" }, - "node_modules/cliui": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-2.1.0.tgz", - "integrity": "sha512-GIOYRizG+TGoc7Wgc1LiOTLare95R3mzKgoln+Q/lE4ceiYH19gUpl0l0Ffq4lJDEf3FxujMe6IBfOCs7pfqNA==", - "dependencies": { - "center-align": "^0.1.1", - "right-align": "^0.1.1", - "wordwrap": "0.0.2" - } - }, "node_modules/clsx": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/clsx/-/clsx-1.2.1.tgz", @@ -3077,15 +2985,6 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, - "node_modules/color-string": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", - "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, "node_modules/colorette": { "version": "2.0.20", "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", @@ -3179,11 +3078,6 @@ "node": ">= 0.6" } }, - "node_modules/contour_plot": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/contour_plot/-/contour_plot-0.0.1.tgz", - "integrity": "sha512-Nil2HI76Xux6sVGORvhSS8v66m+/h5CwFkBJDO+U5vWaMdNC0yXNCsGDPbzPhvqOEU5koebhdEvD372LI+IyLw==" - }, "node_modules/cookie": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", @@ -3270,6 +3164,17 @@ "is-in-browser": "^1.0.2" } }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/csstype": { "version": "3.1.3", "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", @@ -3403,59 +3308,17 @@ } }, "node_modules/d3-color": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-1.4.1.tgz", - "integrity": "sha512-p2sTHSLCJI2QKunbGb7ocOh7DgTAn8IrLx21QRc/BSnodXM4sv6aLQlnfpvehFMLZEfBc6g9pH9SWQccFYfJ9Q==" - }, - "node_modules/d3-dispatch": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dispatch/-/d3-dispatch-3.0.1.tgz", - "integrity": "sha512-rzUyPU/S7rwUflMyLc1ETDeBj0NRuHKKAcvukozwhshr6g6c5d8zh4c2gQjY2bZ0dXeGLWc1PF174P2tVvKhfg==", + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", "engines": { "node": ">=12" } }, - "node_modules/d3-dsv": { + "node_modules/d3-ease": { "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-dsv/-/d3-dsv-3.0.1.tgz", - "integrity": "sha512-UG6OvdI5afDIFP9w4G0mNq50dSOsXHJaRE8arAS5o9ApWnIElp8GZw1Dun8vP8OyHOZ/QJUKUJwxiiCCnUwm+Q==", - "dependencies": { - "commander": "7", - "iconv-lite": "0.6", - "rw": "1" - }, - "bin": { - "csv2json": "bin/dsv2json.js", - "csv2tsv": "bin/dsv2dsv.js", - "dsv2dsv": "bin/dsv2dsv.js", - "dsv2json": "bin/dsv2json.js", - "json2csv": "bin/json2dsv.js", - "json2dsv": "bin/json2dsv.js", - "json2tsv": "bin/json2dsv.js", - "tsv2csv": "bin/dsv2dsv.js", - "tsv2json": "bin/dsv2json.js" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-dsv/node_modules/commander": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", - "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/d3-force": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-force/-/d3-force-3.0.0.tgz", - "integrity": "sha512-zxV/SsA+U4yte8051P4ECydjD/S+qeYtnaIyAs9tgHCqfguma/aAQDjo85A9Z6EKhBirHRJHXIgJUlffT4wdLg==", - "dependencies": { - "d3-dispatch": "1 - 3", - "d3-quadtree": "1 - 3", - "d3-timer": "1 - 3" - }, + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", "engines": { "node": ">=12" } @@ -3468,25 +3331,6 @@ "node": ">=12" } }, - "node_modules/d3-geo": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-geo/-/d3-geo-3.1.0.tgz", - "integrity": "sha512-JEo5HxXDdDYXCaWdwLRt79y7giK8SbhZJbFWXqbRTolCHFI5jRqteLzCsq51NKbUoX0PjBVSohxrx+NoOUujYA==", - "dependencies": { - "d3-array": "2.5.0 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-hierarchy": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/d3-hierarchy/-/d3-hierarchy-3.1.2.tgz", - "integrity": "sha512-FX/9frcub54beBdugHjDCdikxThEqjnR93Qt7PvQTOHxyiNCAlvMrHhclk3cD5VeAaq9fxmfRp+CnWw9rEMBuA==", - "engines": { - "node": ">=12" - } - }, "node_modules/d3-interpolate": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", @@ -3506,21 +3350,16 @@ "node": ">=12" } }, - "node_modules/d3-quadtree": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-quadtree/-/d3-quadtree-3.0.1.tgz", - "integrity": "sha512-04xDrxQTDTCFwP5H6hRhsRcb9xxv2RzkcsygFzmkSIOJy3PeRJP7sNk3VRIbKXcog561P9oU0/rVH6vDROAgUw==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale-chromatic": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/d3-scale-chromatic/-/d3-scale-chromatic-3.0.0.tgz", - "integrity": "sha512-Lx9thtxAKrO2Pq6OO2Ua474opeziKr279P/TKZsMAhYyNDD3EnCffdbgeSYN5O7m2ByQsxtuP2CSDczNUIZ22g==", + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", "dependencies": { - "d3-color": "1 - 3", - "d3-interpolate": "1 - 3" + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" }, "engines": { "node": ">=12" @@ -3537,6 +3376,28 @@ "node": ">=12" } }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, "node_modules/d3-timer": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", @@ -3545,11 +3406,6 @@ "node": ">=12" } }, - "node_modules/d3-voronoi": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/d3-voronoi/-/d3-voronoi-1.1.4.tgz", - "integrity": "sha512-dArJ32hchFsrQ8uMiTBLq256MpnZjeuBtdHpaDlYuQyjU0CVzCJl/BVW+SkszaAeH95D/8gxqAhgx0ouAWAfRg==" - }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -3567,6 +3423,21 @@ "node": ">=0.10" } }, + "node_modules/date-fns": { + "version": "2.30.0", + "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", + "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "dependencies": { + "@babel/runtime": "^7.21.0" + }, + "engines": { + "node": ">=0.11" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/date-fns" + } + }, "node_modules/dayjs": { "version": "1.11.10", "resolved": "https://registry.npmjs.org/dayjs/-/dayjs-1.11.10.tgz", @@ -3588,13 +3459,10 @@ } } }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha512-z2S+W9X73hAUUki+N+9Za2lBlun89zigOyGrsax+KUQ6wKW4ZoWpEYBkGhQjwAjjDCkWxhY0VKEhk8wzY7F5cA==", - "engines": { - "node": ">=0.10.0" - } + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" }, "node_modules/decode-named-character-reference": { "version": "1.0.2", @@ -3608,25 +3476,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/deep-equal": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.2.tgz", - "integrity": "sha512-5tdhKF6DbU7iIzrIOa1AOUt39ZRm13cmL1cGEh//aqR8x9+tNfbywRf0n5FD/18OKMdo7DNEtrX2t22ZAkI+eg==", - "dependencies": { - "is-arguments": "^1.1.1", - "is-date-object": "^1.0.5", - "is-regex": "^1.1.4", - "object-is": "^1.1.5", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.5.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/deep-is": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", @@ -3661,14 +3510,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/defined": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/defined/-/defined-1.0.1.tgz", - "integrity": "sha512-hsBd2qSVCRE+5PmNdHt1uzyrFu5d3RwmFDKzyNZMFq/EwDNJF7Ee5+D5oEKF0hU6LhtoUF1macFvOe4AskQC1Q==", - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", @@ -3694,6 +3535,11 @@ "node": ">=6" } }, + "node_modules/didyoumean": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", + "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==" + }, "node_modules/diff": { "version": "5.1.0", "resolved": "https://registry.npmjs.org/diff/-/diff-5.1.0.tgz", @@ -3713,6 +3559,11 @@ "node": ">=8" } }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==" + }, "node_modules/doctrine": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", @@ -3724,6 +3575,15 @@ "node": ">=6.0.0" } }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, "node_modules/dotenv": { "version": "16.3.1", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", @@ -3735,17 +3595,6 @@ "url": "https://github.com/motdotla/dotenv?sponsor=1" } }, - "node_modules/dotignore": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/dotignore/-/dotignore-0.1.2.tgz", - "integrity": "sha512-UGGGWfSauusaVJC+8fgV+NVvBXkCTmVv7sk6nojDZZvuOUNGUy0Zk4UpHQD6EDjS0jpBwcACvH4eofvyzBcRDw==", - "dependencies": { - "minimatch": "^3.0.4" - }, - "bin": { - "ignored": "bin/ignored" - } - }, "node_modules/eastasianwidth": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", @@ -4480,9 +4329,9 @@ "dev": true }, "node_modules/eventemitter3": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", - "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==" + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" }, "node_modules/events": { "version": "3.3.0", @@ -4567,6 +4416,14 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-equals": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", + "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -4632,11 +4489,6 @@ "pend": "~1.2.0" } }, - "node_modules/fecha": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/fecha/-/fecha-4.2.3.tgz", - "integrity": "sha512-OP2IUU6HeYKJi3i0z4A19kHMQoLVs4Hc+DPqqxI2h/DPZHTm/vjsfC6P0b4jCMy14XizLBqvndQ+UilD7707Jw==" - }, "node_modules/fflate": { "version": "0.4.8", "resolved": "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz", @@ -4721,116 +4573,6 @@ "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==" }, - "node_modules/flru": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/flru/-/flru-1.0.2.tgz", - "integrity": "sha512-kWyh8ADvHBFz6ua5xYOPnUroZTT/bwWfrCeL0Wj1dzG4/YOmOcfJ99W8dOVyyynJN35rZ9aCOtHChqQovV7yog==", - "engines": { - "node": ">=6" - } - }, - "node_modules/fmin": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/fmin/-/fmin-0.0.2.tgz", - "integrity": "sha512-sSi6DzInhl9d8yqssDfGZejChO8d2bAGIpysPsvYsxFe898z89XhCZg6CPNV3nhUhFefeC/AXZK2bAJxlBjN6A==", - "dependencies": { - "contour_plot": "^0.0.1", - "json2module": "^0.0.3", - "rollup": "^0.25.8", - "tape": "^4.5.1", - "uglify-js": "^2.6.2" - } - }, - "node_modules/fmin/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fmin/node_modules/ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fmin/node_modules/chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", - "dependencies": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fmin/node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fmin/node_modules/rollup": { - "version": "0.25.8", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-0.25.8.tgz", - "integrity": "sha512-a2S4Bh3bgrdO4BhKr2E4nZkjTvrJ2m2bWjMTzVYtoqSCn0HnuxosXnaJUHrMEziOWr3CzL9GjilQQKcyCQpJoA==", - "dependencies": { - "chalk": "^1.1.1", - "minimist": "^1.2.0", - "source-map-support": "^0.3.2" - }, - "bin": { - "rollup": "bin/rollup" - } - }, - "node_modules/fmin/node_modules/source-map": { - "version": "0.1.32", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.1.32.tgz", - "integrity": "sha512-htQyLrrRLkQ87Zfrir4/yN+vAUd6DNjVayEjTSHXu29AYQJw57I4/xEL/M6p6E/woPNJwvZt6rVlzc7gFEJccQ==", - "dependencies": { - "amdefine": ">=0.0.4" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/fmin/node_modules/source-map-support": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.3.3.tgz", - "integrity": "sha512-9O4+y9n64RewmFoKUZ/5Tx9IHIcXM6Q+RTSw6ehnqybUz4a7iwR3Eaw80uLtqqQ5D0C+5H03D4KKGo9PdP33Gg==", - "dependencies": { - "source-map": "0.1.32" - } - }, - "node_modules/fmin/node_modules/strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/fmin/node_modules/supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", - "engines": { - "node": ">=0.8.0" - } - }, "node_modules/follow-redirects": { "version": "1.15.5", "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", @@ -4918,6 +4660,7 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", + "dev": true, "engines": { "node": "*" }, @@ -5074,11 +4817,6 @@ "assert-plus": "^1.0.0" } }, - "node_modules/gl-matrix": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/gl-matrix/-/gl-matrix-3.4.3.tgz", - "integrity": "sha512-wcCp8vu8FT22BnvKVPjXa/ICBWRq/zjFfdofZy1WSpQZpphblv12/bOQLBC1rMM7SGOFS9ltVmKOHil5+Ml7gA==" - }, "node_modules/glob": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", @@ -5216,33 +4954,6 @@ "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==" }, - "node_modules/has": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", - "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/has-ansi": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha512-C8vBJ8DwUCx19vhm7urhTuUsr4/IyP6l4VzNQDv+ryHQObW3TTTp9yB68WpYgRe2bbaGuZ/se74IqFeVnMnLZg==", - "dependencies": { - "ansi-regex": "^2.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/has-ansi/node_modules/ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/has-bigints": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", @@ -5468,17 +5179,6 @@ "resolved": "https://registry.npmjs.org/hyphenate-style-name/-/hyphenate-style-name-1.0.4.tgz", "integrity": "sha512-ygGZLjmXfPHj+ZWh6LwbC37l43MhfztxetbFCoYTM2VjkIUpeHgSNn7QIyVFj7YQ1Wl9Cbw5sholVJPzWvC2MQ==" }, - "node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", @@ -5628,21 +5328,6 @@ "url": "https://github.com/sponsors/wooorm" } }, - "node_modules/is-arguments": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", - "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", - "dependencies": { - "call-bind": "^1.0.2", - "has-tostringtag": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/is-array-buffer": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", @@ -5656,11 +5341,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==" - }, "node_modules/is-async-function": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.0.0.tgz", @@ -5686,6 +5366,17 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-boolean-object": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", @@ -6141,6 +5832,14 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/jiti": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", + "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", + "bin": { + "jiti": "bin/jiti.js" + } + }, "node_modules/jose": { "version": "4.15.4", "resolved": "https://registry.npmjs.org/jose/-/jose-4.15.4.tgz", @@ -6295,17 +5994,6 @@ "integrity": "sha512-ZClg6AaYvamvYEE82d3Iyd3vSSIjQ+odgjaTzRuO3s7toCdFKczob2i0zCh7JE8kWn17yvAWhUVxvqGwUalsRA==", "dev": true }, - "node_modules/json2module": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/json2module/-/json2module-0.0.3.tgz", - "integrity": "sha512-qYGxqrRrt4GbB8IEOy1jJGypkNsjWoIMlZt4bAsmUScCA507Hbc2p1JOhBzqn45u3PWafUgH2OnzyNU7udO/GA==", - "dependencies": { - "rw": "^1.3.2" - }, - "bin": { - "json2module": "bin/json2module" - } - }, "node_modules/json2mq": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/json2mq/-/json2mq-0.2.0.tgz", @@ -6566,22 +6254,6 @@ "json-buffer": "3.0.1" } }, - "node_modules/kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha512-NOW9QQXMoZGg/oqnVNoNTTIFEIid1627WCffUBJEdMxYApq7mNE7CpzucIPc+ZQg25Phej7IJSmX3hO+oblOtQ==", - "dependencies": { - "is-buffer": "^1.1.5" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/kind-of/node_modules/is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==" - }, "node_modules/kleur": { "version": "4.1.5", "resolved": "https://registry.npmjs.org/kleur/-/kleur-4.1.5.tgz", @@ -6615,14 +6287,6 @@ "node": "> 0.8" } }, - "node_modules/lazy-cache": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/lazy-cache/-/lazy-cache-1.0.4.tgz", - "integrity": "sha512-RE2g0b5VGZsOCFOCgP7omTRYFqydmZkBwl5oNnQ1lDYC57uyO9KqNnNVxT7COSHTxrRCWVcAVOcbjk+tvh/rgQ==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/levn": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", @@ -6648,6 +6312,19 @@ "immediate": "~3.0.5" } }, + "node_modules/lilconfig": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", + "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", + "engines": { + "node": ">=10" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==" + }, "node_modules/listr2": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/listr2/-/listr2-3.14.0.tgz", @@ -6716,11 +6393,6 @@ "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" }, - "node_modules/lodash-es": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash-es/-/lodash-es-4.17.21.tgz", - "integrity": "sha512-mKnC+QJ9pWVzv+C4/U3rRsHapFfHvQFoFB92e52xeyGMcX6/OlIl78je1u8vePzYZSkkogMPJ2yjxxsb89cxyw==" - }, "node_modules/lodash.includes": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", @@ -6842,14 +6514,6 @@ "node": ">=8" } }, - "node_modules/longest": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/longest/-/longest-1.0.1.tgz", - "integrity": "sha512-k+yt5n3l48JU4k8ftnKG6V7u32wyH2NfKzeMto9F/QRE0amxy/LayxwlvjjkZEIzqR+19IrtFO8p5kB9QaYUFg==", - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/longest-streak": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", @@ -7826,6 +7490,15 @@ "node": ">=6" } }, + "node_modules/mini-svg-data-uri": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", + "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", + "dev": true, + "bin": { + "mini-svg-data-uri": "cli.js" + } + }, "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", @@ -7864,25 +7537,6 @@ "mkdirp": "bin/cmd.js" } }, - "node_modules/mock-property": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/mock-property/-/mock-property-1.0.3.tgz", - "integrity": "sha512-2emPTb1reeLLYwHxyVx993iYyCHEiRRO+y8NFXFPL5kl5q14sgTK76cXyEKkeKCHeRw35SfdkUJ10Q1KfHuiIQ==", - "dependencies": { - "define-data-property": "^1.1.1", - "functions-have-names": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "hasown": "^2.0.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/monaco-editor": { "version": "0.45.0", "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.45.0.tgz", @@ -7902,6 +7556,16 @@ "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" }, + "node_modules/mz": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", + "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "dependencies": { + "any-promise": "^1.0.0", + "object-assign": "^4.0.1", + "thenify-all": "^1.0.0" + } + }, "node_modules/nanoid": { "version": "3.3.7", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", @@ -8092,10 +7756,19 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, "engines": { "node": ">=0.10.0" } @@ -8120,6 +7793,14 @@ "node": ">=0.10.0" } }, + "node_modules/object-hash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", + "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "engines": { + "node": ">= 6" + } + }, "node_modules/object-inspect": { "version": "1.13.1", "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", @@ -8128,21 +7809,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/object-is": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", - "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", - "dependencies": { - "call-bind": "^1.0.2", - "define-properties": "^1.1.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, "node_modules/object-keys": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", @@ -8435,11 +8101,6 @@ "node": ">=8" } }, - "node_modules/pdfast": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/pdfast/-/pdfast-0.2.0.tgz", - "integrity": "sha512-cq6TTu6qKSFUHwEahi68k/kqN2mfepjkGrG9Un70cgdRRKLKY6Rf8P8uvP2NvZktaQZNF3YE7agEkLj0vGK9bA==" - }, "node_modules/pend": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/pend/-/pend-1.2.0.tgz", @@ -8490,11 +8151,18 @@ "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", - "dev": true, "engines": { "node": ">=0.10.0" } }, + "node_modules/pirates": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", + "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "engines": { + "node": ">= 6" + } + }, "node_modules/pkce-challenge": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-3.1.0.tgz", @@ -8504,9 +8172,9 @@ } }, "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", + "version": "8.4.35", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", + "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", "funding": [ { "type": "opencollective", @@ -8522,12 +8190,134 @@ } ], "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" + "nanoid": "^3.3.7", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-antd-fixes": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/postcss-antd-fixes/-/postcss-antd-fixes-0.2.0.tgz", + "integrity": "sha512-WuV4Ip5DnLg8q+wmNXUq13wZZcA5Lrj+em3Jznl4cxItZDgFp4wEh+5ba59TvFeHfwNuTEZ6YNDsYP9DG6NurQ==", + "dev": true, + "funding": [ + "https://opencollective.com/yuns", + "https://afdian.net/@yunslove" + ], + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-import": { + "version": "15.1.0", + "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", + "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", + "dependencies": { + "postcss-value-parser": "^4.0.0", + "read-cache": "^1.0.0", + "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" + } + }, + "node_modules/postcss-js": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", + "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", + "dependencies": { + "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" + } + }, + "node_modules/postcss-load-config": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.2.tgz", + "integrity": "sha512-bSVhyJGL00wMVoPUzAVAnbEoWyqRxkjv64tUl427SKnPrENtq6hJwUojroMz2VB+Q1edmi4IfrAPpami5VVgMQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "dependencies": { + "lilconfig": "^3.0.0", + "yaml": "^2.3.4" }, "engines": { - "node": "^10 || ^12 || >=14" + "node": ">= 14" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-load-config/node_modules/lilconfig": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-3.1.1.tgz", + "integrity": "sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/antonk52" + } + }, + "node_modules/postcss-nested": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", + "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", + "dependencies": { + "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.15", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", + "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" } }, "node_modules/postcss-value-parser": { @@ -8723,11 +8513,6 @@ } ] }, - "node_modules/quickselect": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/quickselect/-/quickselect-2.0.0.tgz", - "integrity": "sha512-RKJ22hX8mHe3Y6wH/N3wCM6BWtjaxIyyUIkpHOvfFnxdI4yD4tBXEBKSbriGujF6jnSVkJrffuo6vxACiSSxIw==" - }, "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", @@ -8746,14 +8531,6 @@ "node": ">= 0.6" } }, - "node_modules/rbush": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/rbush/-/rbush-3.0.1.tgz", - "integrity": "sha512-XRaVO0YecOpEuIvbhbpTrZgoiI6xBlz6hnlr6EHhd+0x9ase6EmeN+hdwwUaJvLcsFFQ8iWVF1GAK1yB0BWi0w==", - "dependencies": { - "quickselect": "^2.0.0" - } - }, "node_modules/rc-cascader": { "version": "3.21.2", "resolved": "https://registry.npmjs.org/rc-cascader/-/rc-cascader-3.21.2.tgz", @@ -9342,6 +9119,19 @@ "node": ">=0.10.0" } }, + "node_modules/react-day-picker": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.0.tgz", + "integrity": "sha512-mz+qeyrOM7++1NCb1ARXmkjMkzWVh2GL9YiPbRjKe0zHccvekk4HE+0MPOZOrosn8r8zTHIIeOUXTmXRqmkRmg==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/gpbl" + }, + "peerDependencies": { + "date-fns": "^2.28.0 || ^3.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-display-name": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.5.tgz", @@ -9478,6 +9268,20 @@ "react": ">= 16.3" } }, + "node_modules/react-smooth": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.0.tgz", + "integrity": "sha512-2NMXOBY1uVUQx1jBeENGA497HK20y6CPGYL1ZnJLeoQ8rrc3UfmOM82sRxtzpcoCkUMy4CS0RGylfuVhuFjBgg==", + "dependencies": { + "fast-equals": "^5.0.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-syntax-highlighter": { "version": "15.5.0", "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", @@ -9493,6 +9297,30 @@ "react": ">= 0.14.0" } }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/react-transition-state": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-transition-state/-/react-transition-state-2.1.1.tgz", + "integrity": "sha512-kQx5g1FVu9knoz1T1WkapjUgFz08qQ/g1OmuWGi3/AoEFfS0kStxrPlZx81urjCXdz2d+1DqLpU6TyLW/Ro04Q==", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/react-youtube": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/react-youtube/-/react-youtube-10.1.0.tgz", @@ -9509,6 +9337,63 @@ "react": ">=0.14.1" } }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/recharts": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.0.tgz", + "integrity": "sha512-rVNcdNQ5b7+40Ue7mcEKZJyEv+3SUk2bDEVvOyXPDXXVE7TU3lrvnJUgAvO36hSzhRP2DnAamKXvHLFIFOU0Ww==", + "dependencies": { + "clsx": "^2.0.0", + "eventemitter3": "^4.0.1", + "lodash": "^4.17.19", + "react-is": "^16.10.2", + "react-smooth": "^4.0.0", + "recharts-scale": "^0.4.4", + "tiny-invariant": "^1.3.1", + "victory-vendor": "^36.6.8" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/recharts-scale": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", + "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", + "dependencies": { + "decimal.js-light": "^2.4.1" + } + }, + "node_modules/recharts/node_modules/clsx": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "engines": { + "node": ">=6" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", @@ -9613,14 +9498,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha512-PV0dzCYDNfRi1jCDbJzpW7jNNDRuCOG/jI5ctQcGKt/clZD+YcPS3yIlWuTJMmESC8aevCFmWJy5wjAFgNqN6w==", - "engines": { - "node": ">=0.10" - } - }, "node_modules/request-progress": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/request-progress/-/request-progress-3.0.0.tgz", @@ -9708,17 +9585,6 @@ "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", "dev": true }, - "node_modules/right-align": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/right-align/-/right-align-0.1.3.tgz", - "integrity": "sha512-yqINtL/G7vs2v+dFIZmFUDbnVyFUJFKd6gK22Kgo6R4jfJGFtisKyncWDDULgjfqf4ASQuIQyjJ7XZ+3aWpsAg==", - "dependencies": { - "align-text": "^0.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", @@ -9788,11 +9654,6 @@ "queue-microtask": "^1.2.2" } }, - "node_modules/rw": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/rw/-/rw-1.3.3.tgz", - "integrity": "sha512-PdhdWy89SiZogBLaw42zdeqtRJ//zFd2PgQavcICDUgJT5oW10QCRKbJ6bg4r0/UY2M6BWd5tkxuGFRvCkgfHQ==" - }, "node_modules/rxjs": { "version": "7.8.1", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", @@ -9865,7 +9726,8 @@ "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", - "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true }, "node_modules/scheduler": { "version": "0.23.0", @@ -9999,14 +9861,6 @@ "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "node_modules/simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, "node_modules/sister": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/sister/-/sister-3.0.2.tgz", @@ -10346,6 +10200,78 @@ "resolved": "https://registry.npmjs.org/stylis/-/stylis-4.3.1.tgz", "integrity": "sha512-EQepAV+wMsIaGVGX1RECzgrcqRRU/0sYOHkeLsZ3fzHaHXZy4DaOOX0vOlGQdlsjkh3mFHAIlVimpwAs4dslyQ==" }, + "node_modules/sucrase": { + "version": "3.35.0", + "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.35.0.tgz", + "integrity": "sha512-8EbVDiu9iN/nESwxeSxDKe0dunta1GOlHufmSSXxMD2z2/tMZpDMpvXQGsc+ajGo8y2uYUmixaSRUc/QPoQ0GA==", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.2", + "commander": "^4.0.0", + "glob": "^10.3.10", + "lines-and-columns": "^1.1.6", + "mz": "^2.7.0", + "pirates": "^4.0.1", + "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/sucrase/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/sucrase/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "engines": { + "node": ">= 6" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "10.3.10", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", + "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.3.5", + "minimatch": "^9.0.1", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", + "path-scurry": "^1.10.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sucrase/node_modules/minimatch": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", + "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/supertokens-auth-react": { "version": "0.34.2", "resolved": "https://registry.npmjs.org/supertokens-auth-react/-/supertokens-auth-react-0.34.2.tgz", @@ -10431,11 +10357,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/svg-path-parser": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/svg-path-parser/-/svg-path-parser-1.1.0.tgz", - "integrity": "sha512-jGCUqcQyXpfe38R7RFfhrMyfXcBmpMNJI/B+4CE9/Unkh98UporAc461GTthv+TVDuZXsBx7/WiwJb1Oh4tt4A==" - }, "node_modules/swr": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/swr/-/swr-2.2.4.tgz", @@ -10456,68 +10377,62 @@ "node": ">=0.10.0" } }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "engines": { - "node": ">=6" - } + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" }, - "node_modules/tape": { - "version": "4.17.0", - "resolved": "https://registry.npmjs.org/tape/-/tape-4.17.0.tgz", - "integrity": "sha512-KCuXjYxCZ3ru40dmND+oCLsXyuA8hoseu2SS404Px5ouyS0A99v8X/mdiLqsR5MTAyamMBN7PRwt2Dv3+xGIxw==", - "dependencies": { - "@ljharb/resumer": "~0.0.1", - "@ljharb/through": "~2.3.9", - "call-bind": "~1.0.2", - "deep-equal": "~1.1.1", - "defined": "~1.0.1", - "dotignore": "~0.1.2", - "for-each": "~0.3.3", - "glob": "~7.2.3", - "has": "~1.0.3", - "inherits": "~2.0.4", - "is-regex": "~1.1.4", - "minimist": "~1.2.8", - "mock-property": "~1.0.0", - "object-inspect": "~1.12.3", - "resolve": "~1.22.6", - "string.prototype.trim": "~1.2.8" - }, - "bin": { - "tape": "bin/tape" - }, + "node_modules/tailwind-merge": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz", + "integrity": "sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==", "funding": { - "url": "https://github.com/sponsors/ljharb" + "type": "github", + "url": "https://github.com/sponsors/dcastil" } }, - "node_modules/tape/node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "node_modules/tailwindcss": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", + "integrity": "sha512-qAYmXRfk3ENzuPBakNK0SRrUDipP8NQnEY6772uDhflcQz5EhRdD7JNZxyrFHVQNCwULPBn6FNPp9brpO7ctcA==", "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "@alloc/quick-lru": "^5.2.0", + "arg": "^5.0.2", + "chokidar": "^3.5.3", + "didyoumean": "^1.2.2", + "dlv": "^1.1.3", + "fast-glob": "^3.3.0", + "glob-parent": "^6.0.2", + "is-glob": "^4.0.3", + "jiti": "^1.19.1", + "lilconfig": "^2.1.0", + "micromatch": "^4.0.5", + "normalize-path": "^3.0.0", + "object-hash": "^3.0.0", + "picocolors": "^1.0.0", + "postcss": "^8.4.23", + "postcss-import": "^15.1.0", + "postcss-js": "^4.0.1", + "postcss-load-config": "^4.0.1", + "postcss-nested": "^6.0.1", + "postcss-selector-parser": "^6.0.11", + "resolve": "^1.22.2", + "sucrase": "^3.32.0" }, - "engines": { - "node": "*" + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" }, - "funding": { - "url": "https://github.com/sponsors/isaacs" + "engines": { + "node": ">=14.0.0" } }, - "node_modules/tape/node_modules/object-inspect": { - "version": "1.12.3", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", - "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "engines": { + "node": ">=6" } }, "node_modules/terser": { @@ -10600,6 +10515,25 @@ "react": ">=16.3" } }, + "node_modules/thenify": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", + "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", + "dependencies": { + "any-promise": "^1.0.0" + } + }, + "node_modules/thenify-all": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", + "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", + "dependencies": { + "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" + } + }, "node_modules/throttle-debounce": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/throttle-debounce/-/throttle-debounce-5.0.0.tgz", @@ -10623,6 +10557,11 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, + "node_modules/tiny-invariant": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", + "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" + }, "node_modules/tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", @@ -10703,6 +10642,11 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/ts-interface-checker": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", + "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==" + }, "node_modules/tsconfig-paths": { "version": "3.14.2", "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.14.2.tgz", @@ -10882,38 +10826,6 @@ "node": ">=12.20" } }, - "node_modules/uglify-js": { - "version": "2.8.29", - "resolved": "https://registry.npmjs.org/uglify-js/-/uglify-js-2.8.29.tgz", - "integrity": "sha512-qLq/4y2pjcU3vhlhseXGGJ7VbFO4pBANu0kwl8VCa9KEI0V8VfZIx2Fy3w01iSTA/pGwKZSmu/+I4etLNDdt5w==", - "dependencies": { - "source-map": "~0.5.1", - "yargs": "~3.10.0" - }, - "bin": { - "uglifyjs": "bin/uglifyjs" - }, - "engines": { - "node": ">=0.8.0" - }, - "optionalDependencies": { - "uglify-to-browserify": "~1.0.0" - } - }, - "node_modules/uglify-js/node_modules/source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha512-LbrmJOMUSdEVxIKvdcJzQC+nQhe8FUZQTXQy6+I75skNgn3OoQ0DZA8YnFa7gp8tqtL3KPf1kmo0R5DoApeSGQ==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/uglify-to-browserify": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/uglify-to-browserify/-/uglify-to-browserify-1.0.2.tgz", - "integrity": "sha512-vb2s1lYx2xBtUgy+ta+b2J/GLVUR+wmpINwHePmPRhOsIVCG2wDzKJ0n14GslH1BifsqVzSOwQhRaCAsZ/nI4Q==", - "optional": true - }, "node_modules/unbox-primitive": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", @@ -11133,6 +11045,11 @@ "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" } }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" + }, "node_modules/uuid": { "version": "9.0.1", "resolved": "https://registry.npmjs.org/uuid/-/uuid-9.0.1.tgz", @@ -11212,6 +11129,27 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/victory-vendor": { + "version": "36.9.1", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.1.tgz", + "integrity": "sha512-+pZIP+U3pEJdDCeFmsXwHzV7vNHQC/eIbHklfe2ZCZqayYRH7lQbHcVgsJ0XOOv27hWs4jH4MONgXxHMObTMSA==", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", @@ -11402,22 +11340,6 @@ "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/window-size": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/window-size/-/window-size-0.1.0.tgz", - "integrity": "sha512-1pTPQDKTdd61ozlKGNCjhNRd+KPmgLSGa3mZTHoOliaGcESD8G1PXhh7c1fgiPjVbNVfgy2Faw4BI8/m0cC8Mg==", - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/wordwrap": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.2.tgz", - "integrity": "sha512-xSBsCeh+g+dinoBv3GAOWM4LcVVO68wLXRanibtBSdUvkGWQRGeE9P7IwU9EmDDi4jA6L44lz15CGMwdw9N5+Q==", - "engines": { - "node": ">=0.4.0" - } - }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -11478,15 +11400,12 @@ "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" }, - "node_modules/yargs": { - "version": "3.10.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-3.10.0.tgz", - "integrity": "sha512-QFzUah88GAGy9lyDKGBqZdkYApt63rCXYBGYnEP4xDJPXNqXXnBDACnbrXnViV6jRSqAePwrATi2i8mfYm4L1A==", - "dependencies": { - "camelcase": "^1.0.2", - "cliui": "^2.1.0", - "decamelize": "^1.0.0", - "window-size": "0.1.0" + "node_modules/yaml": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.4.tgz", + "integrity": "sha512-8aAvwVUSHpfEqTQ4w/KMlf3HcRdt50E5ODIQJBw1fQ5RL34xabzxtUlzTXVqc4rkZsPbvrXKWnABCD7kWSmocA==", + "engines": { + "node": ">= 14" } }, "node_modules/yauzl": { diff --git a/agenta-web/package.json b/agenta-web/package.json index ea868fcfff..1fc945d287 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -19,17 +19,20 @@ "types:watch": "tsc -w" }, "dependencies": { - "@ant-design/charts": "^2.0.3", "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", "@dnd-kit/core": "^6.1.0", "@dnd-kit/sortable": "^8.0.0", + "@headlessui/react": "^1.7.18", + "@headlessui/tailwindcss": "^0.2.0", "@heroicons/react": "^2.0.17", "@mdx-js/loader": "^2.3.0", "@mdx-js/react": "^2.3.0", "@monaco-editor/react": "^4.5.2", "@next/mdx": "^13.4.13", + "@remixicon/react": "^4.1.1", "@sentry/nextjs": "^7.77.0", + "@tremor/react": "^3.14.0", "@types/js-beautify": "^1.14.0", "@types/lodash": "^4.14.201", "@types/mdx": "^2.0.6", @@ -43,7 +46,6 @@ "ag-grid-community": "^31.0.1", "ag-grid-react": "^31.0.1", "antd": "^5.14.1", - "autoprefixer": "10.4.14", "axios": "^1.4.0", "classnames": "^2.3.2", "dayjs": "^1.11.10", @@ -56,7 +58,6 @@ "next": "13.3.4", "nextjs-cors": "^2.1.2", "papaparse": "^5.4.1", - "postcss": "8.4.31", "posthog-js": "^1.104.4", "promise-retry": "^2.0.1", "react": "18.2.0", @@ -72,14 +73,19 @@ "supertokens-auth-react": "^0.34.0", "supertokens-node": "^15.0.4", "swr": "^2.1.5", + "tailwindcss": "^3.4.1", "typescript": "5.0.4", "usehooks-ts": "^2.9.1", "uuid": "^9.0.1" }, "devDependencies": { + "@tailwindcss/forms": "^0.5.7", "@types/node": "^20.8.10", + "autoprefixer": "^10.4.17", "cypress": "^13.4.0", "node-mocks-http": "^1.12.2", + "postcss": "^8.4.35", + "postcss-antd-fixes": "^0.2.0", "prettier": "^3.0.0" } } diff --git a/agenta-web/postcss.config.js b/agenta-web/postcss.config.js index 4ecd8dbb66..92e7c55570 100644 --- a/agenta-web/postcss.config.js +++ b/agenta-web/postcss.config.js @@ -1,5 +1,7 @@ module.exports = { plugins: { + tailwindcss: {}, autoprefixer: {}, + "postcss-antd-fixes": {}, }, } diff --git a/agenta-web/src/components/Layout/ThemeContextProvider.tsx b/agenta-web/src/components/Layout/ThemeContextProvider.tsx index 8d4bc998e2..d73470b1de 100644 --- a/agenta-web/src/components/Layout/ThemeContextProvider.tsx +++ b/agenta-web/src/components/Layout/ThemeContextProvider.tsx @@ -1,6 +1,7 @@ import {ConfigProvider, theme} from "antd" import {PropsWithChildren, createContext, useState, useContext, useEffect} from "react" import {useLocalStorage, useUpdateEffect} from "usehooks-ts" +import {AntdThemeConfig} from "../../../tailwind.config" export enum ThemeMode { Light = "light", @@ -68,17 +69,7 @@ const ThemeContextProvider: React.FC = ({children}) => { theme={{ algorithm: val === ThemeMode.Dark ? theme.darkAlgorithm : theme.defaultAlgorithm, - token: { - // Seed Token - colorPrimary: "#4AA081", - borderRadius: 8, - }, - components: { - Button: { - colorPrimary: "#4AA081", - colorErrorText: "#ef4146", - }, - }, + ...AntdThemeConfig, }} > {children} diff --git a/agenta-web/src/components/Sidebar/Sidebar.tsx b/agenta-web/src/components/Sidebar/Sidebar.tsx index 04806078e6..39e7cdb5fa 100644 --- a/agenta-web/src/components/Sidebar/Sidebar.tsx +++ b/agenta-web/src/components/Sidebar/Sidebar.tsx @@ -12,6 +12,7 @@ import { LogoutOutlined, FormOutlined, BarChartOutlined, + SwapOutlined, } from "@ant-design/icons" import {Layout, Menu, Space, Tooltip, theme} from "antd" @@ -231,7 +232,7 @@ const Sidebar: React.FC = () => { } key="evaluations" > - }> + }> { key="observability" > } + icon={} disabled={!isDemo()} > { key="requests" > } + icon={ + + } disabled={!isDemo()} > { - return ["created_at", "updated_at"].includes(k) && + return ["created_at", "updated_at", "timestamp"].includes(k) && typeof v === "string" && !v.endsWith("Z") ? v + "Z" diff --git a/agenta-web/src/pages/_document.tsx b/agenta-web/src/pages/_document.tsx index 3021eb7260..4d3984a7fa 100644 --- a/agenta-web/src/pages/_document.tsx +++ b/agenta-web/src/pages/_document.tsx @@ -2,7 +2,7 @@ import {Html, Head, Main, NextScript} from "next/document" export default function Document() { return ( - + Agenta: The LLMOps platform. diff --git a/agenta-web/src/styles/globals.css b/agenta-web/src/styles/globals.css index 3e35410ad0..8411f94cad 100644 --- a/agenta-web/src/styles/globals.css +++ b/agenta-web/src/styles/globals.css @@ -1,3 +1,7 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + html, body { padding: 0; diff --git a/agenta-web/tailwind.config.ts b/agenta-web/tailwind.config.ts new file mode 100644 index 0000000000..4de029c965 --- /dev/null +++ b/agenta-web/tailwind.config.ts @@ -0,0 +1,150 @@ +import {theme} from "antd" +import type {Config} from "tailwindcss" +import colors from "tailwindcss/colors" + +export const AntdThemeConfig = { + token: { + // Seed Token + colorPrimary: "#4AA081", + borderRadius: 8, + }, + components: { + Button: { + colorPrimary: "#4AA081", + colorErrorText: "#ef4146", + }, + }, +} +const token = theme.getDesignToken(AntdThemeConfig) + +const config: Config = { + content: [ + "./src/**/*.{js,ts,jsx,tsx}", + + // Path to Tremor module + "./node_modules/@tremor/**/*.{js,ts,jsx,tsx}", + ], + theme: { + transparent: "transparent", + current: "currentColor", + extend: { + colors: { + // light mode + tremor: { + brand: { + faint: token.colorPrimaryBgHover, + muted: token.colorPrimaryBorderHover, + subtle: token.colorPrimaryHover, + DEFAULT: token.colorPrimary, + emphasis: token.colorPrimaryActive, + inverted: colors.white, + }, + background: { + muted: colors.gray[50], + subtle: colors.gray[100], + DEFAULT: colors.white, + emphasis: colors.gray[700], + }, + border: { + DEFAULT: colors.gray[200], + }, + ring: { + DEFAULT: colors.gray[200], + }, + content: { + subtle: colors.gray[400], + DEFAULT: colors.gray[500], + emphasis: colors.gray[700], + strong: colors.gray[900], + inverted: colors.white, + }, + }, + // dark mode + "dark-tremor": { + brand: { + faint: token.colorPrimaryBgHover, + muted: token.colorPrimaryTextHover, + subtle: token.colorPrimaryHover, + DEFAULT: token.colorPrimary, + emphasis: token.colorPrimaryActive, + inverted: colors.white, + }, + background: { + muted: "#131A2B", + subtle: colors.gray[800], + DEFAULT: colors.gray[900], + emphasis: colors.gray[300], + }, + border: { + DEFAULT: colors.gray[800], + }, + ring: { + DEFAULT: colors.gray[800], + }, + content: { + subtle: colors.gray[600], + DEFAULT: colors.gray[500], + emphasis: colors.gray[200], + strong: colors.gray[50], + inverted: colors.gray[950], + }, + }, + }, + boxShadow: { + // light + "tremor-input": "0 1px 2px 0 rgb(0 0 0 / 0.05)", + "tremor-card": "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)", + "tremor-dropdown": + "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)", + // dark + "dark-tremor-input": "0 1px 2px 0 rgb(0 0 0 / 0.05)", + "dark-tremor-card": "0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1)", + "dark-tremor-dropdown": + "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)", + }, + borderRadius: { + "tremor-small": "0.375rem", + "tremor-default": "0.5rem", + "tremor-full": "9999px", + }, + fontSize: { + "tremor-label": ["0.75rem", {lineHeight: "1rem"}], + "tremor-default": ["0.875rem", {lineHeight: "1.25rem"}], + "tremor-title": ["1.125rem", {lineHeight: "1.75rem"}], + "tremor-metric": ["1.875rem", {lineHeight: "2.25rem"}], + }, + }, + }, + safelist: [ + { + pattern: + /^(bg-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/, + variants: ["hover", "ui-selected"], + }, + { + pattern: + /^(text-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/, + variants: ["hover", "ui-selected"], + }, + { + pattern: + /^(border-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/, + variants: ["hover", "ui-selected"], + }, + { + pattern: + /^(ring-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/, + }, + { + pattern: + /^(stroke-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/, + }, + { + pattern: + /^(fill-(?:slate|gray|zinc|neutral|stone|red|orange|amber|yellow|lime|green|emerald|teal|cyan|sky|blue|indigo|violet|purple|fuchsia|pink|rose)-(?:50|100|200|300|400|500|600|700|800|900|950))$/, + }, + ], + plugins: [require("@headlessui/tailwindcss"), require("@tailwindcss/forms")], +} + +export default config diff --git a/docker-compose.yml b/docker-compose.yml index 9229171cd2..e7c416aee2 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,7 +25,6 @@ services: - POSTHOG_API_KEY=phc_hmVSxIjTW1REBHXgj2aw4HW9X6CXb6FzerBgP9XenC7 - CELERY_BROKER_URL=amqp://guest@rabbitmq// - CELERY_RESULT_BACKEND=redis://redis:6379/0 - - STANDALONE=${STANDALONE} volumes: - ./agenta-backend/agenta_backend:/app/agenta_backend - ./agenta-backend/tests:/app/tests diff --git a/start_web_standalone.sh b/start_web_standalone.sh index 06c0b91e84..77f43e6944 100644 --- a/start_web_standalone.sh +++ b/start_web_standalone.sh @@ -29,7 +29,9 @@ compose_file="docker-compose.${suffix}yml" echo "compose_file: $compose_file" # run docker compose without agenta-web service -STANDALONE=true docker compose -f $compose_file up -d --build --scale agenta-web=0 +export NEXT_PUBLIC_STANDALONE="true" +docker compose -f $compose_file down +docker compose -f $compose_file up -d --build --scale agenta-web=0 if [[ $env == "prod" ]]; then # run next js app in prod mode From 7b7befb646824aef90aeeaea23d4e61bc531c4fd Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 21 Feb 2024 09:16:53 +0100 Subject: [PATCH 043/539] Feat - implemented tracing logic for LLMTracing --- agenta-cli/agenta/sdk/agenta_tracing.py | 105 ++++++++++++++++++++++-- 1 file changed, 97 insertions(+), 8 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index fbfcfc9728..25675a23a7 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -1,15 +1,104 @@ -from typing import Optional, Dict, Any +# Stdlib Imports +import uuid +from datetime import datetime, timedelta +from typing import Optional, Dict, Any, Optional, List + +# Own Imports +from agenta.client.backend import client +from agenta.client.backend.client import AsyncObservabilityClient class LLMTracing: - def __init__(self, base_url, api_key): - raise NotImplementedError + def __init__(self, base_url: str, api_key: Optional[str] = None): + self.base_url = base_url + self.api_key = api_key - def start_trace(self, app_id: str, variant_id: str, **kwargs: Dict[str, Any]): - raise NotImplementedError + def initialize_client(self) -> AsyncObservabilityClient: + return client.AsyncAgentaApi( + base_url=self.base_url, api_key=self.api_key, timeout=60 # type: ignore + ).observability - def create_span(self, parent_trace_id: Optional[str], event_name: str): - raise NotImplementedError + async def start_tracing( + self, + client: AsyncObservabilityClient, + app_id: str, + variant_id: str, + spans: List[str], + **kwargs: Dict[str, Any] + ): + # calculate the latency between the trace start time and end time + trace_end_time = datetime.now() + latency: timedelta = trace_end_time - kwargs["trace_start_time"] # type: ignore + trace = await client.create_trace( + app_id=app_id, + variant_id=variant_id, + cost=kwargs["cost"], # type: ignore + latency=latency.total_seconds(), + status="INITIATED", + token_consumption=kwargs["token_consumption"], # type: ignore + tags=[], + end_time=trace_end_time, + spans=spans, + ) + return trace - def set_pan_tag(self, key: str, value: str): + async def finalize_trace( + self, client: AsyncObservabilityClient, trace_id: str, status: str + ) -> bool: + return await client.update_trace_status( + trace_id=trace_id, status=status + ) + + async def create_span( + self, + client: AsyncObservabilityClient, + parent_span_id: Optional[str], + event_name: str, + **kwargs: Dict[str, Any] + ): + span = await client.create_span( + parent_span_id=parent_span_id, + meta=kwargs["meta"], # type: ignore + event_name=event_name, + event_type="generation", + status="INITIATED", + inputs=kwargs["inputs"], # type: ignore + outputs=kwargs["outputs"], # type: ignore + prompt_template=kwargs["prompt_template"], # type: ignore + tokens_input=kwargs["tokens_input"], # type: ignore + tokens_output=kwargs["tokens_output"], # type: ignore + token_total=kwargs["token_total"], # type: ignore + cost=kwargs["cost"], # type: ignore + tags=[], + ) + return span + + def set_span_tag(self, tag: str): raise NotImplementedError + + async def trace( + self, + app_id: str, + variant_id: str, + **kwargs: Dict[str, Any] + ): + client = self.initialize_client() + + try: + trace_starting = datetime.now() + span = await self.create_span( + client, None, event_name=str(uuid.uuid4()), kwargs=kwargs + ) + trace = await self.start_tracing( + client, + app_id=app_id, + variant_id=variant_id, + spans=[span], + kwargs={**kwargs, "trace_start_time": trace_starting}, + ) + except Exception: + # TODO: handle logic to handle case of failure + return + finally: + await self.finalize_trace(client, trace, "SUCCESS") + return From 373738d7cc79ab355ee68859e1ae3a7272b2a9fe Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 21 Feb 2024 09:16:53 +0100 Subject: [PATCH 044/539] Feat - implemented tracing logic for LLMTracing --- agenta-cli/agenta/sdk/agenta_tracing.py | 105 ++++++++++++++++++++++-- 1 file changed, 97 insertions(+), 8 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index fbfcfc9728..25675a23a7 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -1,15 +1,104 @@ -from typing import Optional, Dict, Any +# Stdlib Imports +import uuid +from datetime import datetime, timedelta +from typing import Optional, Dict, Any, Optional, List + +# Own Imports +from agenta.client.backend import client +from agenta.client.backend.client import AsyncObservabilityClient class LLMTracing: - def __init__(self, base_url, api_key): - raise NotImplementedError + def __init__(self, base_url: str, api_key: Optional[str] = None): + self.base_url = base_url + self.api_key = api_key - def start_trace(self, app_id: str, variant_id: str, **kwargs: Dict[str, Any]): - raise NotImplementedError + def initialize_client(self) -> AsyncObservabilityClient: + return client.AsyncAgentaApi( + base_url=self.base_url, api_key=self.api_key, timeout=60 # type: ignore + ).observability - def create_span(self, parent_trace_id: Optional[str], event_name: str): - raise NotImplementedError + async def start_tracing( + self, + client: AsyncObservabilityClient, + app_id: str, + variant_id: str, + spans: List[str], + **kwargs: Dict[str, Any] + ): + # calculate the latency between the trace start time and end time + trace_end_time = datetime.now() + latency: timedelta = trace_end_time - kwargs["trace_start_time"] # type: ignore + trace = await client.create_trace( + app_id=app_id, + variant_id=variant_id, + cost=kwargs["cost"], # type: ignore + latency=latency.total_seconds(), + status="INITIATED", + token_consumption=kwargs["token_consumption"], # type: ignore + tags=[], + end_time=trace_end_time, + spans=spans, + ) + return trace - def set_pan_tag(self, key: str, value: str): + async def finalize_trace( + self, client: AsyncObservabilityClient, trace_id: str, status: str + ) -> bool: + return await client.update_trace_status( + trace_id=trace_id, status=status + ) + + async def create_span( + self, + client: AsyncObservabilityClient, + parent_span_id: Optional[str], + event_name: str, + **kwargs: Dict[str, Any] + ): + span = await client.create_span( + parent_span_id=parent_span_id, + meta=kwargs["meta"], # type: ignore + event_name=event_name, + event_type="generation", + status="INITIATED", + inputs=kwargs["inputs"], # type: ignore + outputs=kwargs["outputs"], # type: ignore + prompt_template=kwargs["prompt_template"], # type: ignore + tokens_input=kwargs["tokens_input"], # type: ignore + tokens_output=kwargs["tokens_output"], # type: ignore + token_total=kwargs["token_total"], # type: ignore + cost=kwargs["cost"], # type: ignore + tags=[], + ) + return span + + def set_span_tag(self, tag: str): raise NotImplementedError + + async def trace( + self, + app_id: str, + variant_id: str, + **kwargs: Dict[str, Any] + ): + client = self.initialize_client() + + try: + trace_starting = datetime.now() + span = await self.create_span( + client, None, event_name=str(uuid.uuid4()), kwargs=kwargs + ) + trace = await self.start_tracing( + client, + app_id=app_id, + variant_id=variant_id, + spans=[span], + kwargs={**kwargs, "trace_start_time": trace_starting}, + ) + except Exception: + # TODO: handle logic to handle case of failure + return + finally: + await self.finalize_trace(client, trace, "SUCCESS") + return From 30bf62207056deb35107be3eda025615d019c169 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 21 Feb 2024 11:41:38 +0100 Subject: [PATCH 045/539] :art: Format - ran black --- agenta-cli/agenta/client/backend/client.py | 219 ++++++++++++++---- .../agenta/client/backend/core/api_error.py | 4 +- .../client/backend/core/datetime_utils.py | 4 +- .../client/backend/core/jsonable_encoder.py | 12 +- .../client/backend/resources/__init__.py | 13 +- .../client/backend/resources/apps/__init__.py | 1 - .../backend/resources/bases/__init__.py | 1 - .../backend/resources/configs/__init__.py | 1 - .../resources/environments/__init__.py | 1 - .../backend/resources/evaluations/__init__.py | 1 - .../backend/resources/evaluators/__init__.py | 1 - .../resources/observability/__init__.py | 1 - .../backend/resources/testsets/__init__.py | 1 - .../resources/variants/types/__init__.py | 4 +- .../client/backend/types/aggregated_result.py | 12 +- .../aggregated_result_evaluator_config.py | 4 +- agenta-cli/agenta/client/backend/types/app.py | 12 +- .../types/app_variant_output_extended.py | 12 +- .../backend/types/app_variant_response.py | 12 +- .../backend/types/app_variant_revision.py | 12 +- .../client/backend/types/base_output.py | 12 +- .../backend/types/body_import_testset.py | 12 +- .../agenta/client/backend/types/config_db.py | 12 +- .../client/backend/types/create_app_output.py | 12 +- .../client/backend/types/docker_env_vars.py | 12 +- .../backend/types/environment_output.py | 12 +- .../types/environment_output_extended.py | 12 +- .../backend/types/environment_revision.py | 12 +- .../agenta/client/backend/types/error.py | 12 +- .../agenta/client/backend/types/evaluation.py | 12 +- .../backend/types/evaluation_scenario.py | 12 +- .../types/evaluation_scenario_input.py | 12 +- .../types/evaluation_scenario_output.py | 12 +- .../types/evaluation_scenario_result.py | 12 +- .../client/backend/types/evaluation_type.py | 4 +- .../backend/types/evaluation_webhook.py | 12 +- .../agenta/client/backend/types/evaluator.py | 12 +- .../client/backend/types/evaluator_config.py | 12 +- .../agenta/client/backend/types/feedback.py | 12 +- .../backend/types/get_config_response.py | 12 +- .../backend/types/http_validation_error.py | 12 +- .../client/backend/types/human_evaluation.py | 12 +- .../types/human_evaluation_scenario.py | 12 +- .../types/human_evaluation_scenario_input.py | 12 +- .../types/human_evaluation_scenario_output.py | 12 +- .../types/human_evaluation_scenario_update.py | 12 +- .../backend/types/human_evaluation_update.py | 12 +- .../agenta/client/backend/types/image.py | 12 +- .../client/backend/types/invite_request.py | 12 +- .../backend/types/list_api_keys_response.py | 12 +- .../client/backend/types/llm_content.py | 12 +- .../agenta/client/backend/types/llm_inputs.py | 12 +- .../client/backend/types/llm_model_params.py | 12 +- .../backend/types/llm_run_rate_limit.py | 12 +- .../backend/types/new_human_evaluation.py | 12 +- .../client/backend/types/new_testset.py | 12 +- .../types/observability_dashboard_data.py | 12 +- .../backend/types/observability_data.py | 12 +- .../client/backend/types/organization.py | 12 +- .../backend/types/organization_output.py | 12 +- .../agenta/client/backend/types/result.py | 12 +- .../backend/types/simple_evaluation_output.py | 12 +- .../agenta/client/backend/types/span.py | 12 +- .../client/backend/types/span_detail.py | 12 +- .../client/backend/types/span_status.py | 12 +- .../client/backend/types/span_variant.py | 12 +- .../agenta/client/backend/types/template.py | 12 +- .../backend/types/template_image_info.py | 12 +- .../backend/types/test_set_output_response.py | 12 +- .../backend/types/test_set_simple_response.py | 12 +- agenta-cli/agenta/client/backend/types/uri.py | 12 +- .../client/backend/types/validation_error.py | 12 +- .../client/backend/types/variant_action.py | 12 +- .../backend/types/variant_action_enum.py | 4 +- .../types/workspace_member_response.py | 12 +- .../backend/types/workspace_permission.py | 12 +- .../backend/types/workspace_response.py | 12 +- .../backend/types/workspace_role_response.py | 12 +- 78 files changed, 818 insertions(+), 190 deletions(-) diff --git a/agenta-cli/agenta/client/backend/client.py b/agenta-cli/agenta/client/backend/client.py index 17dd0b086c..f5cc8f81dc 100644 --- a/agenta-cli/agenta/client/backend/client.py +++ b/agenta-cli/agenta/client/backend/client.py @@ -19,7 +19,10 @@ from .resources.environments.client import AsyncEnvironmentsClient, EnvironmentsClient from .resources.evaluations.client import AsyncEvaluationsClient, EvaluationsClient from .resources.evaluators.client import AsyncEvaluatorsClient, EvaluatorsClient -from .resources.observability.client import AsyncObservabilityClient, ObservabilityClient +from .resources.observability.client import ( + AsyncObservabilityClient, + ObservabilityClient, +) from .resources.testsets.client import AsyncTestsetsClient, TestsetsClient from .resources.variants.client import AsyncVariantsClient, VariantsClient from .types.http_validation_error import HttpValidationError @@ -53,7 +56,9 @@ def __init__( self._client_wrapper = SyncClientWrapper( base_url=base_url, api_key=api_key, - httpx_client=httpx.Client(timeout=timeout) if httpx_client is None else httpx_client, + httpx_client=httpx.Client(timeout=timeout) + if httpx_client is None + else httpx_client, ) self.apps = AppsClient(client_wrapper=self._client_wrapper) self.variants = VariantsClient(client_wrapper=self._client_wrapper) @@ -168,7 +173,9 @@ def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -203,7 +210,9 @@ def validate_api_key(self, key_prefix: str) -> bool: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -241,7 +250,9 @@ def list_organizations(self) -> typing.List[Organization]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -290,7 +301,9 @@ def create_organization( _request["owner"] = owner _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -317,7 +330,9 @@ def get_own_org(self) -> OrganizationOutput: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations/own" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -355,7 +370,9 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -406,7 +423,9 @@ def update_organization( _request["updated_at"] = updated_at _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -453,7 +472,8 @@ def invite_user_to_workspace( _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}/invite", ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -469,7 +489,9 @@ def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: + def resend_invitation( + self, org_id: str, workspace_id: str, *, email: str + ) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -520,7 +542,9 @@ def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> ty raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: + def accept_invitation( + self, org_id: str, workspace_id: str, *, token: str + ) -> typing.Any: """ Accept an invitation to a workspace. @@ -572,7 +596,12 @@ def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> ty raise ApiError(status_code=_response.status_code, body=_response_json) def create_workspace( - self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT + self, + org_id: str, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, ) -> WorkspaceResponse: """ Parameters: @@ -602,7 +631,10 @@ def create_workspace( _request["type"] = type _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -659,7 +691,8 @@ def update_workspace( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -698,7 +731,9 @@ def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -733,7 +768,9 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -746,7 +783,12 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) def assign_role_to_user( - self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT + self, + workspace_id: str, + *, + email: str, + organization_id: str, + role: typing.Optional[WorkspaceRole] = OMIT, ) -> bool: """ Assigns a role to a user in a workspace. @@ -784,12 +826,18 @@ def assign_role_to_user( organization_id="organization_id", ) """ - _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} + _request: typing.Dict[str, typing.Any] = { + "email": email, + "organization_id": organization_id, + } if role is not OMIT: _request["role"] = role.value _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -804,7 +852,9 @@ def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: + def unassign_role_from_user( + self, workspace_id: str, *, email: str, org_id: str, role: str + ) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -846,8 +896,13 @@ def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), - params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), + params=remove_none_from_dict( + {"email": email, "org_id": org_id, "role": role} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -861,7 +916,9 @@ def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: + def remove_user_from_workspace( + self, workspace_id: str, *, org_id: str, email: str + ) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -901,7 +958,10 @@ def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: s """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/users", + ), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -977,7 +1037,9 @@ def __init__( self._client_wrapper = AsyncClientWrapper( base_url=base_url, api_key=api_key, - httpx_client=httpx.AsyncClient(timeout=timeout) if httpx_client is None else httpx_client, + httpx_client=httpx.AsyncClient(timeout=timeout) + if httpx_client is None + else httpx_client, ) self.apps = AsyncAppsClient(client_wrapper=self._client_wrapper) self.variants = AsyncVariantsClient(client_wrapper=self._client_wrapper) @@ -986,7 +1048,9 @@ def __init__( self.testsets = AsyncTestsetsClient(client_wrapper=self._client_wrapper) self.containers = AsyncContainersClient(client_wrapper=self._client_wrapper) self.environments = AsyncEnvironmentsClient(client_wrapper=self._client_wrapper) - self.observability = AsyncObservabilityClient(client_wrapper=self._client_wrapper) + self.observability = AsyncObservabilityClient( + client_wrapper=self._client_wrapper + ) self.bases = AsyncBasesClient(client_wrapper=self._client_wrapper) self.configs = AsyncConfigsClient(client_wrapper=self._client_wrapper) @@ -1092,7 +1156,9 @@ async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1127,7 +1193,9 @@ async def validate_api_key(self, key_prefix: str) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1165,7 +1233,9 @@ async def list_organizations(self) -> typing.List[Organization]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1214,7 +1284,9 @@ async def create_organization( _request["owner"] = owner _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1241,7 +1313,9 @@ async def get_own_org(self) -> OrganizationOutput: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations/own" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1279,7 +1353,9 @@ async def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1330,7 +1406,9 @@ async def update_organization( _request["updated_at"] = updated_at _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1377,7 +1455,8 @@ async def invite_user_to_workspace( _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}/invite", ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -1393,7 +1472,9 @@ async def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: + async def resend_invitation( + self, org_id: str, workspace_id: str, *, email: str + ) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -1444,7 +1525,9 @@ async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: + async def accept_invitation( + self, org_id: str, workspace_id: str, *, token: str + ) -> typing.Any: """ Accept an invitation to a workspace. @@ -1496,7 +1579,12 @@ async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) raise ApiError(status_code=_response.status_code, body=_response_json) async def create_workspace( - self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT + self, + org_id: str, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, ) -> WorkspaceResponse: """ Parameters: @@ -1526,7 +1614,10 @@ async def create_workspace( _request["type"] = type _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1583,7 +1674,8 @@ async def update_workspace( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -1622,7 +1714,9 @@ async def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1657,7 +1751,9 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1670,7 +1766,12 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) async def assign_role_to_user( - self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT + self, + workspace_id: str, + *, + email: str, + organization_id: str, + role: typing.Optional[WorkspaceRole] = OMIT, ) -> bool: """ Assigns a role to a user in a workspace. @@ -1708,12 +1809,18 @@ async def assign_role_to_user( organization_id="organization_id", ) """ - _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} + _request: typing.Dict[str, typing.Any] = { + "email": email, + "organization_id": organization_id, + } if role is not OMIT: _request["role"] = role.value _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1728,7 +1835,9 @@ async def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: + async def unassign_role_from_user( + self, workspace_id: str, *, email: str, org_id: str, role: str + ) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -1770,8 +1879,13 @@ async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), - params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), + params=remove_none_from_dict( + {"email": email, "org_id": org_id, "role": role} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1785,7 +1899,9 @@ async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: + async def remove_user_from_workspace( + self, workspace_id: str, *, org_id: str, email: str + ) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -1825,7 +1941,10 @@ async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, em """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/users", + ), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/core/api_error.py b/agenta-cli/agenta/client/backend/core/api_error.py index 2e9fc5431c..da734b5806 100644 --- a/agenta-cli/agenta/client/backend/core/api_error.py +++ b/agenta-cli/agenta/client/backend/core/api_error.py @@ -7,7 +7,9 @@ class ApiError(Exception): status_code: typing.Optional[int] body: typing.Any - def __init__(self, *, status_code: typing.Optional[int] = None, body: typing.Any = None): + def __init__( + self, *, status_code: typing.Optional[int] = None, body: typing.Any = None + ): self.status_code = status_code self.body = body diff --git a/agenta-cli/agenta/client/backend/core/datetime_utils.py b/agenta-cli/agenta/client/backend/core/datetime_utils.py index 7c9864a944..47344e9d9c 100644 --- a/agenta-cli/agenta/client/backend/core/datetime_utils.py +++ b/agenta-cli/agenta/client/backend/core/datetime_utils.py @@ -13,7 +13,9 @@ def serialize_datetime(v: dt.datetime) -> str: """ def _serialize_zoned_datetime(v: dt.datetime) -> str: - if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname(None): + if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname( + None + ): # UTC is a special case where we use "Z" at the end instead of "+00:00" return v.isoformat().replace("+00:00", "Z") else: diff --git a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py index 37238ab679..0e297e18f0 100644 --- a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py +++ b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py @@ -30,16 +30,22 @@ def generate_encoders_by_class_tuples( type_encoder_map: Dict[Any, Callable[[Any], Any]] ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]: - encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(tuple) + encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict( + tuple + ) for type_, encoder in type_encoder_map.items(): encoders_by_class_tuples[encoder] += (type_,) return encoders_by_class_tuples -encoders_by_class_tuples = generate_encoders_by_class_tuples(pydantic.json.ENCODERS_BY_TYPE) +encoders_by_class_tuples = generate_encoders_by_class_tuples( + pydantic.json.ENCODERS_BY_TYPE +) -def jsonable_encoder(obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None) -> Any: +def jsonable_encoder( + obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None +) -> Any: custom_encoder = custom_encoder or {} if custom_encoder: if type(obj) in custom_encoder: diff --git a/agenta-cli/agenta/client/backend/resources/__init__.py b/agenta-cli/agenta/client/backend/resources/__init__.py index 6a7c8f0ca8..223d38e477 100644 --- a/agenta-cli/agenta/client/backend/resources/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/__init__.py @@ -1,6 +1,17 @@ # This file was auto-generated by Fern from our API Definition. -from . import apps, bases, configs, containers, environments, evaluations, evaluators, observability, testsets, variants +from . import ( + apps, + bases, + configs, + containers, + environments, + evaluations, + evaluators, + observability, + testsets, + variants, +) from .containers import ContainerTemplatesResponse from .variants import AddVariantFromBaseAndConfigResponse diff --git a/agenta-cli/agenta/client/backend/resources/apps/__init__.py b/agenta-cli/agenta/client/backend/resources/apps/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/apps/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/bases/__init__.py b/agenta-cli/agenta/client/backend/resources/bases/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/bases/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/configs/__init__.py b/agenta-cli/agenta/client/backend/resources/configs/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/configs/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/environments/__init__.py b/agenta-cli/agenta/client/backend/resources/environments/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/environments/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/observability/__init__.py b/agenta-cli/agenta/client/backend/resources/observability/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/observability/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py index b3bfbb0781..fac6b42753 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py @@ -1,5 +1,7 @@ # This file was auto-generated by Fern from our API Definition. -from .add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse +from .add_variant_from_base_and_config_response import ( + AddVariantFromBaseAndConfigResponse, +) __all__ = ["AddVariantFromBaseAndConfigResponse"] diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result.py b/agenta-cli/agenta/client/backend/types/aggregated_result.py index cdfc47d3eb..378e25bd96 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result.py @@ -18,11 +18,19 @@ class AggregatedResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py index 567c18f49d..0af9c60a8e 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py @@ -4,4 +4,6 @@ from .evaluator_config import EvaluatorConfig -AggregatedResultEvaluatorConfig = typing.Union[EvaluatorConfig, typing.Dict[str, typing.Any]] +AggregatedResultEvaluatorConfig = typing.Union[ + EvaluatorConfig, typing.Dict[str, typing.Any] +] diff --git a/agenta-cli/agenta/client/backend/types/app.py b/agenta-cli/agenta/client/backend/types/app.py index be4e77b499..7611dc75e9 100644 --- a/agenta-cli/agenta/client/backend/types/app.py +++ b/agenta-cli/agenta/client/backend/types/app.py @@ -16,11 +16,19 @@ class App(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py index 667bd4c295..7afa9ba62c 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py @@ -30,11 +30,19 @@ class AppVariantOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_response.py b/agenta-cli/agenta/client/backend/types/app_variant_response.py index 83a720f832..89f974a2b8 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_response.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_response.py @@ -27,11 +27,19 @@ class AppVariantResponse(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_revision.py b/agenta-cli/agenta/client/backend/types/app_variant_revision.py index 38434297c3..39976d7a25 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_revision.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_revision.py @@ -19,11 +19,19 @@ class AppVariantRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/base_output.py b/agenta-cli/agenta/client/backend/types/base_output.py index 2a0a9b41bd..43a0e31eae 100644 --- a/agenta-cli/agenta/client/backend/types/base_output.py +++ b/agenta-cli/agenta/client/backend/types/base_output.py @@ -16,11 +16,19 @@ class BaseOutput(pydantic.BaseModel): base_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/body_import_testset.py b/agenta-cli/agenta/client/backend/types/body_import_testset.py index 1cfab34428..f06788d80d 100644 --- a/agenta-cli/agenta/client/backend/types/body_import_testset.py +++ b/agenta-cli/agenta/client/backend/types/body_import_testset.py @@ -17,11 +17,19 @@ class BodyImportTestset(pydantic.BaseModel): app_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/config_db.py b/agenta-cli/agenta/client/backend/types/config_db.py index 7414370572..7e7b9004fd 100644 --- a/agenta-cli/agenta/client/backend/types/config_db.py +++ b/agenta-cli/agenta/client/backend/types/config_db.py @@ -16,11 +16,19 @@ class ConfigDb(pydantic.BaseModel): parameters: typing.Optional[typing.Dict[str, typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/create_app_output.py b/agenta-cli/agenta/client/backend/types/create_app_output.py index adcf9fdfee..a736531605 100644 --- a/agenta-cli/agenta/client/backend/types/create_app_output.py +++ b/agenta-cli/agenta/client/backend/types/create_app_output.py @@ -16,11 +16,19 @@ class CreateAppOutput(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/docker_env_vars.py b/agenta-cli/agenta/client/backend/types/docker_env_vars.py index 9a0630554a..ea0c144502 100644 --- a/agenta-cli/agenta/client/backend/types/docker_env_vars.py +++ b/agenta-cli/agenta/client/backend/types/docker_env_vars.py @@ -15,11 +15,19 @@ class DockerEnvVars(pydantic.BaseModel): env_vars: typing.Dict[str, str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output.py b/agenta-cli/agenta/client/backend/types/environment_output.py index feb80a72f5..6268b56c14 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output.py +++ b/agenta-cli/agenta/client/backend/types/environment_output.py @@ -22,11 +22,19 @@ class EnvironmentOutput(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output_extended.py b/agenta-cli/agenta/client/backend/types/environment_output_extended.py index 41baf24d13..75eea02d69 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/environment_output_extended.py @@ -24,11 +24,19 @@ class EnvironmentOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_revision.py b/agenta-cli/agenta/client/backend/types/environment_revision.py index cf8aa77edd..c98bf70e74 100644 --- a/agenta-cli/agenta/client/backend/types/environment_revision.py +++ b/agenta-cli/agenta/client/backend/types/environment_revision.py @@ -20,11 +20,19 @@ class EnvironmentRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/error.py b/agenta-cli/agenta/client/backend/types/error.py index 174cc34048..ff81c2a8cd 100644 --- a/agenta-cli/agenta/client/backend/types/error.py +++ b/agenta-cli/agenta/client/backend/types/error.py @@ -16,11 +16,19 @@ class Error(pydantic.BaseModel): stacktrace: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation.py b/agenta-cli/agenta/client/backend/types/evaluation.py index 64a657815d..38c75068d4 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation.py +++ b/agenta-cli/agenta/client/backend/types/evaluation.py @@ -30,11 +30,19 @@ class Evaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py index b221afc09c..36229c357d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py @@ -26,11 +26,19 @@ class EvaluationScenario(pydantic.BaseModel): results: typing.List[EvaluationScenarioResult] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py index 826ae00434..700f6372e4 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py @@ -17,11 +17,19 @@ class EvaluationScenarioInput(pydantic.BaseModel): value: typing.Optional[typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py index 582e1ae617..7a2cb171c9 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py @@ -16,11 +16,19 @@ class EvaluationScenarioOutput(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py index 62f4d0015a..57fbd6e082 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py @@ -17,11 +17,19 @@ class EvaluationScenarioResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_type.py b/agenta-cli/agenta/client/backend/types/evaluation_type.py index 45c37b9c82..4d2b91066d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_type.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_type.py @@ -15,7 +15,9 @@ class EvaluationType(str, enum.Enum): SINGLE_MODEL_TEST = "single_model_test" def visit( - self, human_a_b_testing: typing.Callable[[], T_Result], single_model_test: typing.Callable[[], T_Result] + self, + human_a_b_testing: typing.Callable[[], T_Result], + single_model_test: typing.Callable[[], T_Result], ) -> T_Result: if self is EvaluationType.HUMAN_A_B_TESTING: return human_a_b_testing() diff --git a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py index 7eb6db6bc6..c8d71dc626 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py @@ -15,11 +15,19 @@ class EvaluationWebhook(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator.py b/agenta-cli/agenta/client/backend/types/evaluator.py index f0b44dcc0c..70bea7aa58 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator.py +++ b/agenta-cli/agenta/client/backend/types/evaluator.py @@ -18,11 +18,19 @@ class Evaluator(pydantic.BaseModel): settings_template: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator_config.py b/agenta-cli/agenta/client/backend/types/evaluator_config.py index 54fed00c6a..7ca248d882 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/evaluator_config.py @@ -20,11 +20,19 @@ class EvaluatorConfig(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/feedback.py b/agenta-cli/agenta/client/backend/types/feedback.py index c771eb1e39..e4fa0db6e1 100644 --- a/agenta-cli/agenta/client/backend/types/feedback.py +++ b/agenta-cli/agenta/client/backend/types/feedback.py @@ -19,11 +19,19 @@ class Feedback(pydantic.BaseModel): created_at: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/get_config_response.py b/agenta-cli/agenta/client/backend/types/get_config_response.py index 448a75128e..d3b8e334ce 100644 --- a/agenta-cli/agenta/client/backend/types/get_config_response.py +++ b/agenta-cli/agenta/client/backend/types/get_config_response.py @@ -18,11 +18,19 @@ class GetConfigResponse(pydantic.BaseModel): parameters: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/http_validation_error.py b/agenta-cli/agenta/client/backend/types/http_validation_error.py index e5f647b24d..02fc88d818 100644 --- a/agenta-cli/agenta/client/backend/types/http_validation_error.py +++ b/agenta-cli/agenta/client/backend/types/http_validation_error.py @@ -16,11 +16,19 @@ class HttpValidationError(pydantic.BaseModel): detail: typing.Optional[typing.List[ValidationError]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation.py b/agenta-cli/agenta/client/backend/types/human_evaluation.py index 49bfb5da85..299120edc6 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation.py @@ -28,11 +28,19 @@ class HumanEvaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py index a837a1ff4c..5f1f36b824 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py @@ -27,11 +27,19 @@ class HumanEvaluationScenario(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py index bf35c307cb..d65233935e 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py @@ -16,11 +16,19 @@ class HumanEvaluationScenarioInput(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py index e239ca6cd2..752606176b 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py @@ -16,11 +16,19 @@ class HumanEvaluationScenarioOutput(pydantic.BaseModel): variant_output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py index cb035d6c6b..3d099aea1d 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py @@ -24,11 +24,19 @@ class HumanEvaluationScenarioUpdate(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py index 71c6cac057..360f8cc449 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py @@ -16,11 +16,19 @@ class HumanEvaluationUpdate(pydantic.BaseModel): status: typing.Optional[EvaluationStatusEnum] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/image.py b/agenta-cli/agenta/client/backend/types/image.py index 03c2193087..52bd510c66 100644 --- a/agenta-cli/agenta/client/backend/types/image.py +++ b/agenta-cli/agenta/client/backend/types/image.py @@ -19,11 +19,19 @@ class Image(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/invite_request.py b/agenta-cli/agenta/client/backend/types/invite_request.py index 5a454982de..2a9c8f0bac 100644 --- a/agenta-cli/agenta/client/backend/types/invite_request.py +++ b/agenta-cli/agenta/client/backend/types/invite_request.py @@ -16,11 +16,19 @@ class InviteRequest(pydantic.BaseModel): roles: typing.List[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py index 0aa72d80ee..dd393d6268 100644 --- a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py +++ b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py @@ -18,11 +18,19 @@ class ListApiKeysResponse(pydantic.BaseModel): expiration_date: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_content.py b/agenta-cli/agenta/client/backend/types/llm_content.py index c6ab83f6d0..f85285ada3 100644 --- a/agenta-cli/agenta/client/backend/types/llm_content.py +++ b/agenta-cli/agenta/client/backend/types/llm_content.py @@ -17,11 +17,19 @@ class LlmContent(pydantic.BaseModel): output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_inputs.py b/agenta-cli/agenta/client/backend/types/llm_inputs.py index 97f828f45c..a0d2a1bf35 100644 --- a/agenta-cli/agenta/client/backend/types/llm_inputs.py +++ b/agenta-cli/agenta/client/backend/types/llm_inputs.py @@ -16,11 +16,19 @@ class LlmInputs(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_model_params.py b/agenta-cli/agenta/client/backend/types/llm_model_params.py index 417b05cc6d..3e53cf681c 100644 --- a/agenta-cli/agenta/client/backend/types/llm_model_params.py +++ b/agenta-cli/agenta/client/backend/types/llm_model_params.py @@ -16,11 +16,19 @@ class LlmModelParams(pydantic.BaseModel): params: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py index b7ea18a69d..24214f4c59 100644 --- a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py +++ b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py @@ -18,11 +18,19 @@ class LlmRunRateLimit(pydantic.BaseModel): delay_between_batches: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py index c201ac2f27..30067d0ae7 100644 --- a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py @@ -21,11 +21,19 @@ class NewHumanEvaluation(pydantic.BaseModel): status: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_testset.py b/agenta-cli/agenta/client/backend/types/new_testset.py index 20b5ec77ad..7f931de42e 100644 --- a/agenta-cli/agenta/client/backend/types/new_testset.py +++ b/agenta-cli/agenta/client/backend/types/new_testset.py @@ -16,11 +16,19 @@ class NewTestset(pydantic.BaseModel): csvdata: typing.List[typing.Dict[str, str]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py index f41c6cbc83..d85f148aae 100644 --- a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py +++ b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py @@ -23,11 +23,19 @@ class ObservabilityDashboardData(pydantic.BaseModel): avg_tokens: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_data.py b/agenta-cli/agenta/client/backend/types/observability_data.py index 4c6cbc48c0..e55c62e139 100644 --- a/agenta-cli/agenta/client/backend/types/observability_data.py +++ b/agenta-cli/agenta/client/backend/types/observability_data.py @@ -24,11 +24,19 @@ class ObservabilityData(pydantic.BaseModel): variant: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization.py b/agenta-cli/agenta/client/backend/types/organization.py index b58da914e4..df4d90e2ec 100644 --- a/agenta-cli/agenta/client/backend/types/organization.py +++ b/agenta-cli/agenta/client/backend/types/organization.py @@ -21,11 +21,19 @@ class Organization(pydantic.BaseModel): invitations: typing.Optional[typing.List[typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization_output.py b/agenta-cli/agenta/client/backend/types/organization_output.py index d3269aeb52..93b88e4cf4 100644 --- a/agenta-cli/agenta/client/backend/types/organization_output.py +++ b/agenta-cli/agenta/client/backend/types/organization_output.py @@ -16,11 +16,19 @@ class OrganizationOutput(pydantic.BaseModel): name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/result.py b/agenta-cli/agenta/client/backend/types/result.py index c807398f53..77e4c84d0a 100644 --- a/agenta-cli/agenta/client/backend/types/result.py +++ b/agenta-cli/agenta/client/backend/types/result.py @@ -18,11 +18,19 @@ class Result(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py index 3bba878f7b..ed86be2b2e 100644 --- a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py +++ b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py @@ -20,11 +20,19 @@ class SimpleEvaluationOutput(pydantic.BaseModel): evaluation_type: EvaluationType def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span.py b/agenta-cli/agenta/client/backend/types/span.py index b32cc5bc1a..6ac175c6b7 100644 --- a/agenta-cli/agenta/client/backend/types/span.py +++ b/agenta-cli/agenta/client/backend/types/span.py @@ -23,11 +23,19 @@ class Span(pydantic.BaseModel): user_id: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_detail.py b/agenta-cli/agenta/client/backend/types/span_detail.py index f5d271c80c..06a935d36c 100644 --- a/agenta-cli/agenta/client/backend/types/span_detail.py +++ b/agenta-cli/agenta/client/backend/types/span_detail.py @@ -19,11 +19,19 @@ class SpanDetail(pydantic.BaseModel): model_params: LlmModelParams def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_status.py b/agenta-cli/agenta/client/backend/types/span_status.py index 5bcda585c1..722e7430af 100644 --- a/agenta-cli/agenta/client/backend/types/span_status.py +++ b/agenta-cli/agenta/client/backend/types/span_status.py @@ -18,11 +18,19 @@ class SpanStatus(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_variant.py b/agenta-cli/agenta/client/backend/types/span_variant.py index a67067789d..03903fb8d5 100644 --- a/agenta-cli/agenta/client/backend/types/span_variant.py +++ b/agenta-cli/agenta/client/backend/types/span_variant.py @@ -17,11 +17,19 @@ class SpanVariant(pydantic.BaseModel): revision: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template.py b/agenta-cli/agenta/client/backend/types/template.py index c43fc4beac..b509e795d4 100644 --- a/agenta-cli/agenta/client/backend/types/template.py +++ b/agenta-cli/agenta/client/backend/types/template.py @@ -17,11 +17,19 @@ class Template(pydantic.BaseModel): image: TemplateImageInfo def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template_image_info.py b/agenta-cli/agenta/client/backend/types/template_image_info.py index 5131e053d7..b0c01e7504 100644 --- a/agenta-cli/agenta/client/backend/types/template_image_info.py +++ b/agenta-cli/agenta/client/backend/types/template_image_info.py @@ -22,11 +22,19 @@ class TemplateImageInfo(pydantic.BaseModel): template_uri: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_output_response.py b/agenta-cli/agenta/client/backend/types/test_set_output_response.py index ac4a47255d..715ebcdcd5 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_output_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_output_response.py @@ -17,11 +17,19 @@ class TestSetOutputResponse(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py index c30fc1de89..b6ac04a871 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py @@ -17,11 +17,19 @@ class TestSetSimpleResponse(pydantic.BaseModel): created_at: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/uri.py b/agenta-cli/agenta/client/backend/types/uri.py index a04cc35249..608f89ef6f 100644 --- a/agenta-cli/agenta/client/backend/types/uri.py +++ b/agenta-cli/agenta/client/backend/types/uri.py @@ -15,11 +15,19 @@ class Uri(pydantic.BaseModel): uri: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/validation_error.py b/agenta-cli/agenta/client/backend/types/validation_error.py index 67b5ba78e3..ffd8cc872f 100644 --- a/agenta-cli/agenta/client/backend/types/validation_error.py +++ b/agenta-cli/agenta/client/backend/types/validation_error.py @@ -18,11 +18,19 @@ class ValidationError(pydantic.BaseModel): type: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action.py b/agenta-cli/agenta/client/backend/types/variant_action.py index 1fe22412aa..a614ac00f5 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action.py +++ b/agenta-cli/agenta/client/backend/types/variant_action.py @@ -16,11 +16,19 @@ class VariantAction(pydantic.BaseModel): action: VariantActionEnum def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action_enum.py b/agenta-cli/agenta/client/backend/types/variant_action_enum.py index 5aa6f1c7e7..6f5f8c19c5 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action_enum.py +++ b/agenta-cli/agenta/client/backend/types/variant_action_enum.py @@ -14,7 +14,9 @@ class VariantActionEnum(str, enum.Enum): START = "START" STOP = "STOP" - def visit(self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result]) -> T_Result: + def visit( + self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result] + ) -> T_Result: if self is VariantActionEnum.START: return start() if self is VariantActionEnum.STOP: diff --git a/agenta-cli/agenta/client/backend/types/workspace_member_response.py b/agenta-cli/agenta/client/backend/types/workspace_member_response.py index ef3c928c8e..ec907e24d8 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_member_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_member_response.py @@ -17,11 +17,19 @@ class WorkspaceMemberResponse(pydantic.BaseModel): roles: typing.List[WorkspacePermission] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_permission.py b/agenta-cli/agenta/client/backend/types/workspace_permission.py index ed74790008..0d847e611e 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_permission.py +++ b/agenta-cli/agenta/client/backend/types/workspace_permission.py @@ -19,11 +19,19 @@ class WorkspacePermission(pydantic.BaseModel): permissions: typing.Optional[typing.List[Permission]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_response.py b/agenta-cli/agenta/client/backend/types/workspace_response.py index 55ee8f5f51..f0e0bbf5ee 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_response.py @@ -23,11 +23,19 @@ class WorkspaceResponse(pydantic.BaseModel): members: typing.Optional[typing.List[WorkspaceMemberResponse]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_role_response.py b/agenta-cli/agenta/client/backend/types/workspace_role_response.py index 4313b624b1..97531c3143 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_role_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_role_response.py @@ -17,11 +17,19 @@ class WorkspaceRoleResponse(pydantic.BaseModel): role_description: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: From 4390c6b28f52266972d97833d4d8e9a93391e9b0 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 21 Feb 2024 23:13:02 +0100 Subject: [PATCH 046/539] Update - refactor llm tracing methods --- agenta-cli/agenta/sdk/agenta_tracing.py | 33 ++++++++++--------------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index 25675a23a7..6309a6449e 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -15,10 +15,10 @@ def __init__(self, base_url: str, api_key: Optional[str] = None): def initialize_client(self) -> AsyncObservabilityClient: return client.AsyncAgentaApi( - base_url=self.base_url, api_key=self.api_key, timeout=60 # type: ignore + base_url=self.base_url, api_key=self.api_key, timeout=60 # type: ignore ).observability - async def start_tracing( + async def create_trace( self, client: AsyncObservabilityClient, app_id: str, @@ -45,9 +45,7 @@ async def start_tracing( async def finalize_trace( self, client: AsyncObservabilityClient, trace_id: str, status: str ) -> bool: - return await client.update_trace_status( - trace_id=trace_id, status=status - ) + return await client.update_trace_status(trace_id=trace_id, status=status) async def create_span( self, @@ -58,17 +56,17 @@ async def create_span( ): span = await client.create_span( parent_span_id=parent_span_id, - meta=kwargs["meta"], # type: ignore + meta=kwargs["meta"], # type: ignore event_name=event_name, event_type="generation", status="INITIATED", - inputs=kwargs["inputs"], # type: ignore - outputs=kwargs["outputs"], # type: ignore - prompt_template=kwargs["prompt_template"], # type: ignore - tokens_input=kwargs["tokens_input"], # type: ignore - tokens_output=kwargs["tokens_output"], # type: ignore - token_total=kwargs["token_total"], # type: ignore - cost=kwargs["cost"], # type: ignore + inputs=kwargs["inputs"], # type: ignore + outputs=kwargs["outputs"], # type: ignore + prompt_template=kwargs["prompt_template"], # type: ignore + tokens_input=kwargs["prompts_token"], # type: ignore + tokens_output=kwargs["completion_tokens"], # type: ignore + token_total=kwargs["total_tokens"], # type: ignore + cost=kwargs["cost"], # type: ignore tags=[], ) return span @@ -76,12 +74,7 @@ async def create_span( def set_span_tag(self, tag: str): raise NotImplementedError - async def trace( - self, - app_id: str, - variant_id: str, - **kwargs: Dict[str, Any] - ): + async def start_tracing(self, app_id: str, variant_id: str, **kwargs: Dict[str, Any]): client = self.initialize_client() try: @@ -89,7 +82,7 @@ async def trace( span = await self.create_span( client, None, event_name=str(uuid.uuid4()), kwargs=kwargs ) - trace = await self.start_tracing( + trace = await self.create_trace( client, app_id=app_id, variant_id=variant_id, From e8c4edf8d9c8840e269696fba191581ccda26c21 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 21 Feb 2024 23:13:54 +0100 Subject: [PATCH 047/539] Refactor - move get app and app bases logic into individual methods and created trace method --- agenta-cli/agenta/sdk/agenta_init.py | 54 +++++++++++++++++----------- 1 file changed, 33 insertions(+), 21 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index e5e01df45c..9426de8886 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -1,11 +1,14 @@ -from agenta.client.exceptions import APIRequestError -from agenta.client.backend.client import AgentaApi import os import logging -from typing import Any, Optional +from typing import Any, Optional, Dict from .utils.globals import set_global +from agenta.sdk.agenta_tracing import LLMTracing +from agenta.client.backend.client import AgentaApi +from agenta.client.exceptions import APIRequestError + + logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) @@ -75,21 +78,8 @@ def init( ) else: try: - apps = client.list_apps(app_name=app_name) - if len(apps) == 0: - raise APIRequestError(f"App with name {app_name} not found") - - app_id = apps[0].app_id - if not app_id: - raise APIRequestError( - f"App with name {app_name} does not exist on the server." - ) - - bases = client.list_bases(app_id=app_id, base_name=base_name) - if len(bases) == 0: - raise APIRequestError(f"No base was found for the app {app_id}") - - base_id = bases[0].base_id + app_id = self.get_app(app_name) + base_id = self.get_app_bases(app_id, base_name) except Exception as ex: raise APIRequestError( f"Failed to get base id and/or app_id from the server with error: {ex}" @@ -99,6 +89,28 @@ def init( self.api_key = api_key self.config = Config(base_id=base_id, host=host) + def get_app(self, app_name: str) -> str: + apps = client.apps.list_apps(app_name=app_name) + if len(apps) == 0: + raise APIRequestError(f"App with name {app_name} not found") + + app_id = apps[0].app_id + return app_id + + def get_app_bases(self, app_id: str, base_name: str) -> str: + bases = client.bases.list_bases(app_id=app_id, base_name=base_name) + if len(bases) == 0: + raise APIRequestError(f"No base was found for the app {app_id}") + + base_id = bases[0].base_id + return base_id + + async def trace( + self, app_name: str, host: str, api_key: str, **kwargs: Dict[str, Any] + ): + app_id = self.get_app(app_name) + llm_tracing = LLMTracing(host, api_key=api_key) + class Config: def __init__(self, base_id, host): @@ -139,7 +151,7 @@ def push(self, config_name: str, overwrite=True, **kwargs): if not self.persist: return try: - client.save_config( + client.configs.save_config( base_id=self.base_id, config_name=config_name, parameters=kwargs, @@ -161,12 +173,12 @@ def pull(self, config_name: str = "default", environment_name: str = None): if self.persist: try: if environment_name: - config = client.get_config( + config = client.configs.get_config( base_id=self.base_id, environment_name=environment_name ) else: - config = client.get_config( + config = client.configs.get_config( base_id=self.base_id, config_name=config_name, ) From 277f015278169fb8f178f62daf8b851820b68dce Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 21 Feb 2024 23:14:55 +0100 Subject: [PATCH 048/539] Feat - created llm app that uses ag.trace --- .../baby_name_generator/app_async_trace.py | 54 +++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 examples/baby_name_generator/app_async_trace.py diff --git a/examples/baby_name_generator/app_async_trace.py b/examples/baby_name_generator/app_async_trace.py new file mode 100644 index 0000000000..eb77b21697 --- /dev/null +++ b/examples/baby_name_generator/app_async_trace.py @@ -0,0 +1,54 @@ +import agenta as ag +from agenta import FloatParam, TextParam +from openai import OpenAI + +client = OpenAI() + +default_prompt = ( + "Give me 10 names for a baby from this country {country} with gender {gender}!!!!" +) + +ag.init(app_name="test", base_name="app") +ag.config.default( + temperature=FloatParam(0.2), prompt_template=TextParam(default_prompt) +) + + +@ag.entrypoint +def generate(country: str, gender: str): + """ + Generate a baby name based on the given country and gender. + + Args: + country (str): The country to generate the name from. + gender (str): The gender of the baby. + + Returns: + str: The generated baby name. + """ + prompt = ag.config.prompt_template.format(country=country, gender=gender) + + chat_completion = client.chat.completions.create( + model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] + ) + token_usage = chat_completion.usage.dict() + prompt_output = chat_completion.choices[0].message.content + prompt_cost = ag.calculate_token_usage("gpt-3.5-turbo", token_usage) + ag.trace( + ag.app_name, + ag.host, + ag.api_key, + kwargs={ + **token_usage, + "meta": token_usage, + "inputs": ["country", "gender"], + "outputs": [prompt_output], + "prompt_template": ag.config.prompt_template, + "cost": prompt_cost, + }, + ) + return { + "message": prompt_output, + **{"usage": token_usage}, + "cost": prompt_cost, + } From 091a89208558cf24921d8effe3375c804a95d010 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 21 Feb 2024 23:21:19 +0100 Subject: [PATCH 049/539] Refactor - revert back to using query params --- .../routers/observability_router.py | 27 ++++++++++++------- 1 file changed, 17 insertions(+), 10 deletions(-) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 4f06d39184..6c04d6c82a 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -17,7 +17,9 @@ Trace, CreateTrace, UpdateTrace, - GenerationParams, + SorterParams, + PaginationParam, + GenerationFilterParams, ObservabilityDashboardData, ObservabilityDashboardDataRequestParams, ) @@ -26,13 +28,13 @@ router = APIRouter() -@router.post( +@router.get( "/dashboard/", response_model=ObservabilityDashboardData, operation_id="observability_dashboard", ) async def get_dashboard_data( - request: Request, parameters: ObservabilityDashboardDataRequestParams + request: Request, parameters: ObservabilityDashboardDataRequestParams = Depends() ): return event_db_manager.fetch_mock_observability_dashboard(parameters) @@ -52,18 +54,23 @@ async def create_span( return spans_id -@router.post( - "/spans/search/", +@router.get( + "/spans/", response_model=WithPagination[Span], operation_id="get_spans_of_generation", ) -async def get_spans_of_trace(request: Request, params: GenerationParams): - if params.filters and params.filters.type == "generation": +async def get_spans_of_trace( + request: Request, + pagination: PaginationParam = Depends(), + filters: GenerationFilterParams = Depends(), + sorters: SorterParams = Depends(), +): + if filters and filters.type == "generation": spans = await event_db_manager.fetch_mock_generation( request.state.user_id, - params.pagination, - params.filters, - params.sorters, + pagination, + filters, + sorters, ) return spans return [] From 4312e75ef01e94920ca4dab53a17e248ab4ce095 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 21 Feb 2024 23:24:04 +0100 Subject: [PATCH 050/539] Refactor - remove redundant api models --- .../agenta_backend/models/api/api_models.py | 4 ---- .../models/api/observability_models.py | 13 +------------ .../agenta_backend/routers/observability_router.py | 4 ++-- 3 files changed, 3 insertions(+), 18 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/api_models.py b/agenta-backend/agenta_backend/models/api/api_models.py index 56ff324bf5..02ce27816b 100644 --- a/agenta-backend/agenta_backend/models/api/api_models.py +++ b/agenta-backend/agenta_backend/models/api/api_models.py @@ -13,10 +13,6 @@ T = TypeVar("T") -class GenericObject(BaseModel): - pass - - class PaginationParam(BaseModel): page: int = Field(default=1, ge=1) pageSize: int = Field(default=10, ge=1) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 3a3ca07648..82169d6b64 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -4,25 +4,14 @@ from pydantic import BaseModel, Field -from agenta_backend.models.api.api_models import ( - GenericObject, - SorterParams, - PaginationParam, -) -class GenerationFilterParams(GenericObject): +class GenerationFilterParams(BaseModel): type: str = Field("generation") environment: Optional[str] variant: Optional[str] -class GenerationParams(BaseModel): - pagination: PaginationParam - filters: GenerationFilterParams - sorters: SorterParams - - class ObservabilityDashboardDataRequestParams(BaseModel): startTime: Optional[int] endTime: Optional[int] diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 6c04d6c82a..83dc9fd698 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -6,6 +6,8 @@ from agenta_backend.services import event_db_manager from agenta_backend.models.api.api_models import ( WithPagination, + SorterParams, + PaginationParam, ) from agenta_backend.models.api.observability_models import ( Span, @@ -17,8 +19,6 @@ Trace, CreateTrace, UpdateTrace, - SorterParams, - PaginationParam, GenerationFilterParams, ObservabilityDashboardData, ObservabilityDashboardDataRequestParams, From 3225498fd1c5ae12067822174b47eceffda388a4 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 22 Feb 2024 02:17:38 +0100 Subject: [PATCH 051/539] Refactor - update use of client --- agenta-cli/agenta/cli/helper.py | 2 +- agenta-cli/agenta/cli/main.py | 3 ++- agenta-cli/agenta/cli/variant_commands.py | 10 +++++----- agenta-cli/agenta/client/api.py | 2 +- 4 files changed, 9 insertions(+), 8 deletions(-) diff --git a/agenta-cli/agenta/cli/helper.py b/agenta-cli/agenta/cli/helper.py index 8979c7e39c..e81519b2ec 100644 --- a/agenta-cli/agenta/cli/helper.py +++ b/agenta-cli/agenta/cli/helper.py @@ -137,7 +137,7 @@ def update_variants_from_backend( ) try: - variants: List[AppVariant] = client.list_app_variants(app_id=app_id) + variants: List[AppVariant] = client.apps.list_app_variants(app_id=app_id) except Exception as ex: raise ex diff --git a/agenta-cli/agenta/cli/main.py b/agenta-cli/agenta/cli/main.py index 315a4e5295..b6b777d1a2 100644 --- a/agenta-cli/agenta/cli/main.py +++ b/agenta-cli/agenta/cli/main.py @@ -162,6 +162,7 @@ def init(app_name: str, backend_host: str): click.echo(click.style(f"Error: {ex}", fg="red")) sys.exit(1) + filtered_org = None if where_question == "On agenta cloud": which_organization = questionary.select( "Which organization do you want to create the app for?", @@ -180,7 +181,7 @@ def init(app_name: str, backend_host: str): # Get app_id after creating new app in the backend server try: - app_id = client.create_app( + app_id = client.apps.create_app( app_name=app_name, organization_id=filtered_org.id if filtered_org else None, ).app_id diff --git a/agenta-cli/agenta/cli/variant_commands.py b/agenta-cli/agenta/cli/variant_commands.py index d278b1ab1d..94b6e91e37 100644 --- a/agenta-cli/agenta/cli/variant_commands.py +++ b/agenta-cli/agenta/cli/variant_commands.py @@ -126,7 +126,7 @@ def add_variant( ) ) with tar_path.open("rb") as tar_file: - built_image: Image = client.build_image( + built_image: Image = client.containers.build_image( app_id=app_id, base_name=base_name, tar_file=tar_file, @@ -147,7 +147,7 @@ def add_variant( ) ) variant_id = config["variant_ids"][config["variants"].index(variant_name)] - client.update_variant_image( + client.variants.update_variant_image( variant_id=variant_id, request=image, # because Fern code uses "request: Image" instead of "image: Image" ) # this automatically restarts @@ -259,7 +259,7 @@ def start_variant(variant_id: str, app_folder: str, host: str): api_key=api_key, ) - endpoint = client.start_variant(variant_id=variant_id, action={"action": "START"}) + endpoint = client.variants.start_variant(variant_id=variant_id, action={"action": "START"}) click.echo("\n" + click.style("Congratulations! 🎉", bold=True, fg="green")) click.echo( click.style("Your app has been deployed locally as an API. 🚀", fg="cyan") @@ -327,7 +327,7 @@ def remove_variant(variant_name: str, app_folder: str, host: str): ) try: - client.remove_variant(variant_id=variant_id) + client.variants.remove_variant(variant_id=variant_id) except Exception as ex: click.echo( click.style( @@ -365,7 +365,7 @@ def list_variants(app_folder: str, host: str): ) try: - variants: List[AppVariant] = client.list_app_variants(app_id=app_id) + variants: List[AppVariant] = client.apps.list_app_variants(app_id=app_id) except Exception as ex: raise ex diff --git a/agenta-cli/agenta/client/api.py b/agenta-cli/agenta/client/api.py index 6da7869151..81d42b4db9 100644 --- a/agenta-cli/agenta/client/api.py +++ b/agenta-cli/agenta/client/api.py @@ -47,7 +47,7 @@ def add_variant_to_server( ) for attempt in range(retries): try: - response = client.add_variant_from_image( + response = client.apps.add_variant_from_image( app_id=app_id, variant_name=f"{base_name.lower()}.default", base_name=base_name, From f3e38cc6161d071ff15a6ca56e72c443f9729977 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 22 Feb 2024 10:12:31 +0100 Subject: [PATCH 052/539] Refactor - update create_trace args --- .../backend/resources/observability/client.py | 26 +++++++++++++------ 1 file changed, 18 insertions(+), 8 deletions(-) diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index e54b26d79c..3be38c9d9d 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -59,7 +59,8 @@ def create_trace( self, *, app_id: typing.Optional[str] = OMIT, - variant_id: typing.Optional[str] = OMIT, + base_id: typing.Optional[str] = OMIT, + config_name: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, latency: float, status: typing.Optional[str] = OMIT, @@ -73,7 +74,9 @@ def create_trace( Parameters: - app_id: typing.Optional[str]. - - variant_id: typing.Optional[str]. + - base_id: typing.Optional[str]. + + - config_name: typing.Optional[str]. - cost: typing.Optional[float]. @@ -105,8 +108,10 @@ def create_trace( _request: typing.Dict[str, typing.Any] = {"latency": latency, "spans": spans} if app_id is not OMIT: _request["app_id"] = app_id - if variant_id is not OMIT: - _request["variant_id"] = variant_id + if base_id is not OMIT: + _request["base_id"] = base_id + if config_name is not OMIT: + _request["config_name"] = config_name if cost is not OMIT: _request["cost"] = cost if status is not OMIT: @@ -579,7 +584,8 @@ async def create_trace( self, *, app_id: typing.Optional[str] = OMIT, - variant_id: typing.Optional[str] = OMIT, + base_id: typing.Optional[str] = OMIT, + config_name: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, latency: float, status: typing.Optional[str] = OMIT, @@ -593,7 +599,9 @@ async def create_trace( Parameters: - app_id: typing.Optional[str]. - - variant_id: typing.Optional[str]. + - base_id: typing.Optional[str]. + + - config_name: typing.Optional[str]. - cost: typing.Optional[float]. @@ -625,8 +633,10 @@ async def create_trace( _request: typing.Dict[str, typing.Any] = {"latency": latency, "spans": spans} if app_id is not OMIT: _request["app_id"] = app_id - if variant_id is not OMIT: - _request["variant_id"] = variant_id + if base_id is not OMIT: + _request["base_id"] = base_id + if config_name is not OMIT: + _request["config_name"] = config_name if cost is not OMIT: _request["cost"] = cost if status is not OMIT: From 132b5de67748f2685d92fdf02770195062f40629 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 22 Feb 2024 10:21:45 +0100 Subject: [PATCH 053/539] Update - initialize ag with app and base name --- examples/baby_name_generator/app_async_trace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/baby_name_generator/app_async_trace.py b/examples/baby_name_generator/app_async_trace.py index eb77b21697..0f6590c575 100644 --- a/examples/baby_name_generator/app_async_trace.py +++ b/examples/baby_name_generator/app_async_trace.py @@ -8,7 +8,7 @@ "Give me 10 names for a baby from this country {country} with gender {gender}!!!!" ) -ag.init(app_name="test", base_name="app") +ag.init(app_name="aat", base_name="app_async_trace") ag.config.default( temperature=FloatParam(0.2), prompt_template=TextParam(default_prompt) ) From 9e7f35e11495e63d3e012073ba96eef9fa97838e Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 22 Feb 2024 10:22:22 +0100 Subject: [PATCH 054/539] Refactor - replace variant_id with base_id and config_name --- agenta-cli/agenta/sdk/agenta_tracing.py | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index 388bb30ac1..6fb8264270 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -6,6 +6,7 @@ # Own Imports from agenta.client.backend import client from agenta.client.backend.client import AsyncObservabilityClient + # Stdlib Imports import uuid from datetime import datetime, timedelta @@ -30,7 +31,8 @@ async def create_trace( self, client: AsyncObservabilityClient, app_id: str, - variant_id: str, + base_id: str, + config_name: str, spans: List[str], **kwargs: Dict[str, Any] ): @@ -39,7 +41,8 @@ async def create_trace( latency: timedelta = trace_end_time - kwargs["trace_start_time"] # type: ignore trace = await client.create_trace( app_id=app_id, - variant_id=variant_id, + base_id=base_id, + config_name=config_name, cost=kwargs["cost"], # type: ignore latency=latency.total_seconds(), status="INITIATED", @@ -82,7 +85,9 @@ async def create_span( def set_span_tag(self, tag: str): raise NotImplementedError - async def start_tracing(self, app_id: str, variant_id: str, **kwargs: Dict[str, Any]): + async def start_tracing( + self, app_id: str, base_id: str, config_name: str, **kwargs: Dict[str, Any] + ): client = self.initialize_client() try: @@ -93,7 +98,8 @@ async def start_tracing(self, app_id: str, variant_id: str, **kwargs: Dict[str, trace = await self.create_trace( client, app_id=app_id, - variant_id=variant_id, + base_id=base_id, + config_name=config_name, spans=[span], kwargs={**kwargs, "trace_start_time": trace_starting}, ) From 6220b9cabba4a535329e556708176b5ab0f13c08 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 22 Feb 2024 10:25:47 +0100 Subject: [PATCH 055/539] Update - integrate llm tracing in agenta singleton --- agenta-cli/agenta/sdk/agenta_init.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index 9426de8886..27a346c8e4 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -79,13 +79,14 @@ def init( else: try: app_id = self.get_app(app_name) - base_id = self.get_app_bases(app_id, base_name) + base_id = self.get_app_base(app_id, base_name) except Exception as ex: raise APIRequestError( f"Failed to get base id and/or app_id from the server with error: {ex}" ) self.base_id = base_id self.host = host + self.base_name = base_name self.api_key = api_key self.config = Config(base_id=base_id, host=host) @@ -97,7 +98,7 @@ def get_app(self, app_name: str) -> str: app_id = apps[0].app_id return app_id - def get_app_bases(self, app_id: str, base_name: str) -> str: + def get_app_base(self, app_id: str, base_name: str) -> str: bases = client.bases.list_bases(app_id=app_id, base_name=base_name) if len(bases) == 0: raise APIRequestError(f"No base was found for the app {app_id}") @@ -109,7 +110,9 @@ async def trace( self, app_name: str, host: str, api_key: str, **kwargs: Dict[str, Any] ): app_id = self.get_app(app_name) + base_id = self.get_app_base(app_id, self.base_name) # type: ignore llm_tracing = LLMTracing(host, api_key=api_key) + await llm_tracing.start_tracing(app_id, base_id, "default", kwargs=kwargs) class Config: From 9976c33aa224da5726f1c8c0f564d3236e37d0e9 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 22 Feb 2024 11:55:35 +0100 Subject: [PATCH 056/539] Refactor - change inputs type from dict to list --- agenta-backend/agenta_backend/models/db_models.py | 2 +- .../client/backend/resources/observability/client.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 6641c746d3..39751395f2 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -300,7 +300,7 @@ class SpanDB(Document): duration: Optional[int] status: Result end_time: datetime = Field(default=datetime.now()) - inputs: Optional[Dict[str, Any]] + inputs: Optional[List[str]] outputs: Optional[List[str]] prompt_template: Optional[str] tokens_input: Optional[int] diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index 3be38c9d9d..4b870a55d4 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -187,7 +187,7 @@ def create_span( start_time: typing.Optional[dt.datetime] = OMIT, duration: typing.Optional[int] = OMIT, status: str, - inputs: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + inputs: typing.Optional[typing.List[str]] = OMIT, outputs: typing.Optional[typing.List[str]] = OMIT, prompt_template: typing.Optional[str] = OMIT, tokens_input: typing.Optional[int] = OMIT, @@ -212,7 +212,7 @@ def create_span( - status: str. - - inputs: typing.Optional[typing.Dict[str, typing.Any]]. + - inputs: typing.Optional[typing.List[str]]. - outputs: typing.Optional[typing.List[str]]. @@ -712,7 +712,7 @@ async def create_span( start_time: typing.Optional[dt.datetime] = OMIT, duration: typing.Optional[int] = OMIT, status: str, - inputs: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + inputs: typing.Optional[typing.List[str]] = OMIT, outputs: typing.Optional[typing.List[str]] = OMIT, prompt_template: typing.Optional[str] = OMIT, tokens_input: typing.Optional[int] = OMIT, @@ -737,7 +737,7 @@ async def create_span( - status: str. - - inputs: typing.Optional[typing.Dict[str, typing.Any]]. + - inputs: typing.Optional[typing.List[str]]. - outputs: typing.Optional[typing.List[str]]. From d9ddee7907412182fbc89bba42dab327add547db Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 22 Feb 2024 16:19:29 +0100 Subject: [PATCH 057/539] Refactor - modified start_tracing method in LLM tracing --- agenta-cli/agenta/__init__.py | 2 +- agenta-cli/agenta/sdk/__init__.py | 2 +- agenta-cli/agenta/sdk/agenta_init.py | 21 +++++++++++------- agenta-cli/agenta/sdk/agenta_tracing.py | 29 ++++++++++--------------- 4 files changed, 27 insertions(+), 27 deletions(-) diff --git a/agenta-cli/agenta/__init__.py b/agenta-cli/agenta/__init__.py index b46ab36d5e..a2791b84e3 100644 --- a/agenta-cli/agenta/__init__.py +++ b/agenta-cli/agenta/__init__.py @@ -13,7 +13,7 @@ BinaryParam, ) from .sdk.utils.preinit import PreInitObject -from .sdk.agenta_init import Config, init +from .sdk.agenta_init import Config, init, trace from .sdk.utils.helper.openai_cost import calculate_token_usage config = PreInitObject("agenta.config", Config) diff --git a/agenta-cli/agenta/sdk/__init__.py b/agenta-cli/agenta/sdk/__init__.py index 672e09511c..97aa0f5320 100644 --- a/agenta-cli/agenta/sdk/__init__.py +++ b/agenta-cli/agenta/sdk/__init__.py @@ -14,7 +14,7 @@ FileInputURL, BinaryParam, ) -from .agenta_init import Config, init +from .agenta_init import Config, init, trace from .utils.helper.openai_cost import calculate_token_usage config = PreInitObject("agenta.config", Config) diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index 27a346c8e4..5bfbd34ac7 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -86,6 +86,7 @@ def init( ) self.base_id = base_id self.host = host + self.app_name = app_name self.base_name = base_name self.api_key = api_key self.config = Config(base_id=base_id, host=host) @@ -106,14 +107,6 @@ def get_app_base(self, app_id: str, base_name: str) -> str: base_id = bases[0].base_id return base_id - async def trace( - self, app_name: str, host: str, api_key: str, **kwargs: Dict[str, Any] - ): - app_id = self.get_app(app_name) - base_id = self.get_app_base(app_id, self.base_name) # type: ignore - llm_tracing = LLMTracing(host, api_key=api_key) - await llm_tracing.start_tracing(app_id, base_id, "default", kwargs=kwargs) - class Config: def __init__(self, base_id, host): @@ -225,3 +218,15 @@ def init(app_name=None, base_name=None, **kwargs): singleton = AgentaSingleton() singleton.init(app_name=app_name, base_name=base_name, **kwargs) set_global(setup=singleton.setup, config=singleton.config) + + +async def trace(**kwargs): + """Function to start llm tracing. + """ + + singleton = AgentaSingleton() + + app_id = singleton.get_app(singleton.app_name) + base_id = singleton.get_app_base(app_id, singleton.base_name) # type: ignore + llm_tracing = LLMTracing(singleton.host, singleton.api_key) + await llm_tracing.start_tracing(app_id, base_id, "default", **kwargs) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index 6fb8264270..485d53fa53 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -7,15 +7,6 @@ from agenta.client.backend import client from agenta.client.backend.client import AsyncObservabilityClient -# Stdlib Imports -import uuid -from datetime import datetime, timedelta -from typing import Optional, Dict, Any, Optional, List - -# Own Imports -from agenta.client.backend import client -from agenta.client.backend.client import AsyncObservabilityClient - class LLMTracing: def __init__(self, base_url: str, api_key: Optional[str] = None): @@ -24,7 +15,7 @@ def __init__(self, base_url: str, api_key: Optional[str] = None): def initialize_client(self) -> AsyncObservabilityClient: return client.AsyncAgentaApi( - base_url=self.base_url, api_key=self.api_key, timeout=60 # type: ignore + base_url=self.base_url, api_key=self.api_key, timeout=120 # type: ignore ).observability async def create_trace( @@ -74,7 +65,7 @@ async def create_span( inputs=kwargs["inputs"], # type: ignore outputs=kwargs["outputs"], # type: ignore prompt_template=kwargs["prompt_template"], # type: ignore - tokens_input=kwargs["prompts_token"], # type: ignore + tokens_input=kwargs["prompt_tokens"], # type: ignore tokens_output=kwargs["completion_tokens"], # type: ignore token_total=kwargs["total_tokens"], # type: ignore cost=kwargs["cost"], # type: ignore @@ -88,12 +79,12 @@ def set_span_tag(self, tag: str): async def start_tracing( self, app_id: str, base_id: str, config_name: str, **kwargs: Dict[str, Any] ): + trace = None client = self.initialize_client() - try: trace_starting = datetime.now() span = await self.create_span( - client, None, event_name=str(uuid.uuid4()), kwargs=kwargs + client, None, event_name=str(uuid.uuid4()), **kwargs ) trace = await self.create_trace( client, @@ -101,11 +92,15 @@ async def start_tracing( base_id=base_id, config_name=config_name, spans=[span], - kwargs={**kwargs, "trace_start_time": trace_starting}, + **{**kwargs, "trace_start_time": trace_starting}, # type: ignore ) - except Exception: - # TODO: handle logic to handle case of failure + except KeyError as exc: + print(f"Something happened when tracing LLM app. Error: {str(exc)}") + return + except Exception as exc: + print("Error tracing LLM app ", app_id, str(exc)) return finally: - await self.finalize_trace(client, trace, "SUCCESS") + if trace is not None: + await self.finalize_trace(client, trace, "SUCCESS") return From 44d8f3fe6654091e6721a8bdb4d6b7d90bc705f4 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 22 Feb 2024 16:20:02 +0100 Subject: [PATCH 058/539] Refactor - change openai sdk to async --- examples/baby_name_generator/app_async_trace.py | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/examples/baby_name_generator/app_async_trace.py b/examples/baby_name_generator/app_async_trace.py index 0f6590c575..6a1c81c11f 100644 --- a/examples/baby_name_generator/app_async_trace.py +++ b/examples/baby_name_generator/app_async_trace.py @@ -1,8 +1,8 @@ import agenta as ag from agenta import FloatParam, TextParam -from openai import OpenAI +from openai import AsyncOpenAI -client = OpenAI() +client = AsyncOpenAI() default_prompt = ( "Give me 10 names for a baby from this country {country} with gender {gender}!!!!" @@ -15,7 +15,7 @@ @ag.entrypoint -def generate(country: str, gender: str): +async def generate(country: str, gender: str): """ Generate a baby name based on the given country and gender. @@ -28,17 +28,14 @@ def generate(country: str, gender: str): """ prompt = ag.config.prompt_template.format(country=country, gender=gender) - chat_completion = client.chat.completions.create( + chat_completion = await client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] ) token_usage = chat_completion.usage.dict() prompt_output = chat_completion.choices[0].message.content prompt_cost = ag.calculate_token_usage("gpt-3.5-turbo", token_usage) - ag.trace( - ag.app_name, - ag.host, - ag.api_key, - kwargs={ + await ag.trace( + **{ **token_usage, "meta": token_usage, "inputs": ["country", "gender"], From f6b6a67e6d78e13fe4e18e137737d5f24eab66e1 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 22 Feb 2024 16:33:07 +0100 Subject: [PATCH 059/539] Update - modified filter for epoch time filtering --- agenta-backend/agenta_backend/services/event_db_manager.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 79e0bd8e72..498fc31d89 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -374,8 +374,11 @@ def filter_data(data: ObservabilityData): return True if params.variant and data.variant == params.variant: return True + + # Convert data.timestamp to epoch time + epoch_time = int(data.timestamp.timestamp()) if (params.startTime and params.endTime) and ( - data.timestamp in [params.startTime, params.endTime] + epoch_time in [params.startTime, params.endTime] ): return True if ( From 06d9ba5e6fdae977453c5aaf12cb026de92ae6cc Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 23 Feb 2024 09:29:53 +0100 Subject: [PATCH 060/539] Refactor - modified models for Span document --- .../models/api/observability_models.py | 45 +++++++++---------- .../agenta_backend/models/db_models.py | 13 +++++- 2 files changed, 34 insertions(+), 24 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 82169d6b64..b190dba606 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -5,7 +5,6 @@ from pydantic import BaseModel, Field - class GenerationFilterParams(BaseModel): type: str = Field("generation") environment: Optional[str] @@ -19,28 +18,6 @@ class ObservabilityDashboardDataRequestParams(BaseModel): variant: Optional[str] -class BaseSpan(BaseModel): - parent_span_id: Optional[str] - meta: Optional[Dict[str, Any]] - event_name: str - event_type: Optional[str] - start_time: datetime = Field(default=datetime.now()) - duration: Optional[int] - status: str - inputs: Optional[Dict[str, Any]] - outputs: Optional[List[str]] - prompt_template: Optional[str] - tokens_input: Optional[int] - tokens_output: Optional[int] - token_total: Optional[int] - cost: Optional[float] - tags: Optional[List[str]] - - -class CreateSpan(BaseSpan): - pass - - class Error(BaseModel): message: str stacktrace: Optional[str] = None @@ -73,6 +50,28 @@ class Span(BaseModel): user_id: str +class BaseSpan(BaseModel): + parent_span_id: Optional[str] + meta: Optional[Dict[str, Any]] + event_name: str + event_type: Optional[str] + start_time: datetime = Field(default=datetime.now()) + duration: Optional[int] + status: SpanStatus + inputs: Optional[List[str]] + outputs: Optional[List[str]] + prompt_template: Optional[str] + tokens_input: Optional[int] + tokens_output: Optional[int] + token_total: Optional[int] + cost: Optional[float] + tags: Optional[List[str]] + + +class CreateSpan(BaseSpan): + pass + + class LLMInputs(BaseModel): input_name: str input_value: str diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 39751395f2..aac1ce995e 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -291,6 +291,17 @@ class Settings: name = "new_evaluation_scenarios" +class SpanEnumStatus(str, Enum): + INITIATED = "INITIATED" + SUCCESS = "SUCCESS" + FAILURE = "FAILURE" + + +class SpanStatus(BaseModel): + value: Optional[SpanEnumStatus] + error: Optional[Error] + + class SpanDB(Document): parent_span_id: Optional[str] meta: Optional[Dict[str, Any]] @@ -298,7 +309,7 @@ class SpanDB(Document): event_type: Optional[str] start_time: datetime duration: Optional[int] - status: Result + status: SpanStatus end_time: datetime = Field(default=datetime.now()) inputs: Optional[List[str]] outputs: Optional[List[str]] From f540c1c44cd1f39107f42b799a8976d5fad53572 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 23 Feb 2024 09:30:19 +0100 Subject: [PATCH 061/539] Refactor - removde redundant testcases --- .../routers/observability_router.py | 2 +- .../tests/variants_main_router/conftest.py | 15 +++++++-- .../test_observability_router.py | 31 ++----------------- 3 files changed, 15 insertions(+), 33 deletions(-) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 83dc9fd698..01be69d911 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -39,7 +39,7 @@ async def get_dashboard_data( return event_db_manager.fetch_mock_observability_dashboard(parameters) -@router.post("/trace/", response_model=str, operation_id="create_trace") +@router.post("/traces/", response_model=str, operation_id="create_trace") async def create_trace(request: Request, payload: CreateTrace): trace_id = await event_db_manager.create_app_trace(payload, request.state.user_id) return trace_id diff --git a/agenta-backend/agenta_backend/tests/variants_main_router/conftest.py b/agenta-backend/agenta_backend/tests/variants_main_router/conftest.py index 72b54cc4f2..9fd23389b9 100644 --- a/agenta-backend/agenta_backend/tests/variants_main_router/conftest.py +++ b/agenta-backend/agenta_backend/tests/variants_main_router/conftest.py @@ -105,7 +105,10 @@ def spans_db_data(): "event_type": "fixture_call", "start_time": str(datetime.now()), "duration": 8.30, - "status": "initiated", + "status": { + "value": "SUCCESS", + "error": None + }, "end_time": str(datetime.now()), "inputs": ["string"], "outputs": ["string"], @@ -123,7 +126,10 @@ def spans_db_data(): "event_type": "fixture_call", "start_time": str(datetime.now()), "duration": 13.30, - "status": "initiated", + "status": { + "value": "SUCCESS", + "error": None + }, "end_time": str(datetime.now()), "inputs": ["string"], "outputs": ["string"], @@ -141,7 +147,10 @@ def spans_db_data(): "event_type": "fixture_call", "start_time": str(datetime.now()), "duration": 18.30, - "status": "initiated", + "status": { + "value": "SUCCESS", + "error": None + }, "end_time": str(datetime.now()), "inputs": ["string"], "outputs": ["string"], diff --git a/agenta-backend/agenta_backend/tests/variants_main_router/test_observability_router.py b/agenta-backend/agenta_backend/tests/variants_main_router/test_observability_router.py index b2ce08ad09..8965ddb700 100644 --- a/agenta-backend/agenta_backend/tests/variants_main_router/test_observability_router.py +++ b/agenta-backend/agenta_backend/tests/variants_main_router/test_observability_router.py @@ -35,6 +35,7 @@ async def test_create_spans_endpoint(spans_db_data): json=spans_db_data[0], timeout=timeout, ) + print("Response: ", response.json()) assert response.status_code == 200 @@ -159,38 +160,10 @@ async def test_create_trace_endpoint(trace_create_data): assert response.status_code == 200 -@pytest.mark.asyncio -async def test_get_traces_endpoint(): - variants = await AppVariantDB.find(fetch_links=True).to_list() - app_id, variant_id = variants[0].app.id, variants[0].id - - response = await test_client.get( - f"{BACKEND_API_HOST}/observability/traces/{str(app_id)}/{str(variant_id)}/" - ) - assert response.status_code == 200 - assert len(response.json()) == 1 - - -@pytest.mark.asyncio -async def test_get_trace_endpoint(): - traces = await TraceDB.find().to_list() - - variants = await AppVariantDB.find(fetch_links=True).to_list() - app_id, variant_id = variants[0].app.id, variants[0].id - - response = await test_client.get( - f"{BACKEND_API_HOST}/observability/traces/{str(traces[0].id)}/" - ) - assert response.status_code == 200 - assert len(response.json()["spans"]) == 3 - assert response.json()["app_id"] == str(app_id) - assert response.json()["variant_id"] == str(variant_id) - - @pytest.mark.asyncio async def test_update_trace_status_endpoint(): payload = { - "status": random.choice(["initiated", "completed", "stopped", "cancelled"]) + "status": random.choice(["initiated", "success", "failure"]) } traces = await TraceDB.find().to_list() From ab96b4ea458cd627de5545ac96e4777445045fd2 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 23 Feb 2024 09:31:03 +0100 Subject: [PATCH 062/539] :art: Format - ran black --- .../tests/variants_main_router/conftest.py | 15 +++------------ .../test_observability_router.py | 4 +--- agenta-cli/agenta/cli/variant_commands.py | 4 +++- agenta-cli/agenta/sdk/agenta_init.py | 5 ++--- agenta-cli/agenta/sdk/agenta_tracing.py | 6 +++--- 5 files changed, 12 insertions(+), 22 deletions(-) diff --git a/agenta-backend/agenta_backend/tests/variants_main_router/conftest.py b/agenta-backend/agenta_backend/tests/variants_main_router/conftest.py index 9fd23389b9..5c619b9f8b 100644 --- a/agenta-backend/agenta_backend/tests/variants_main_router/conftest.py +++ b/agenta-backend/agenta_backend/tests/variants_main_router/conftest.py @@ -105,10 +105,7 @@ def spans_db_data(): "event_type": "fixture_call", "start_time": str(datetime.now()), "duration": 8.30, - "status": { - "value": "SUCCESS", - "error": None - }, + "status": {"value": "SUCCESS", "error": None}, "end_time": str(datetime.now()), "inputs": ["string"], "outputs": ["string"], @@ -126,10 +123,7 @@ def spans_db_data(): "event_type": "fixture_call", "start_time": str(datetime.now()), "duration": 13.30, - "status": { - "value": "SUCCESS", - "error": None - }, + "status": {"value": "SUCCESS", "error": None}, "end_time": str(datetime.now()), "inputs": ["string"], "outputs": ["string"], @@ -147,10 +141,7 @@ def spans_db_data(): "event_type": "fixture_call", "start_time": str(datetime.now()), "duration": 18.30, - "status": { - "value": "SUCCESS", - "error": None - }, + "status": {"value": "SUCCESS", "error": None}, "end_time": str(datetime.now()), "inputs": ["string"], "outputs": ["string"], diff --git a/agenta-backend/agenta_backend/tests/variants_main_router/test_observability_router.py b/agenta-backend/agenta_backend/tests/variants_main_router/test_observability_router.py index 8965ddb700..c79cee9020 100644 --- a/agenta-backend/agenta_backend/tests/variants_main_router/test_observability_router.py +++ b/agenta-backend/agenta_backend/tests/variants_main_router/test_observability_router.py @@ -162,9 +162,7 @@ async def test_create_trace_endpoint(trace_create_data): @pytest.mark.asyncio async def test_update_trace_status_endpoint(): - payload = { - "status": random.choice(["initiated", "success", "failure"]) - } + payload = {"status": random.choice(["initiated", "success", "failure"])} traces = await TraceDB.find().to_list() response = await test_client.put( diff --git a/agenta-cli/agenta/cli/variant_commands.py b/agenta-cli/agenta/cli/variant_commands.py index 94b6e91e37..195f34bd0c 100644 --- a/agenta-cli/agenta/cli/variant_commands.py +++ b/agenta-cli/agenta/cli/variant_commands.py @@ -259,7 +259,9 @@ def start_variant(variant_id: str, app_folder: str, host: str): api_key=api_key, ) - endpoint = client.variants.start_variant(variant_id=variant_id, action={"action": "START"}) + endpoint = client.variants.start_variant( + variant_id=variant_id, action={"action": "START"} + ) click.echo("\n" + click.style("Congratulations! 🎉", bold=True, fg="green")) click.echo( click.style("Your app has been deployed locally as an API. 🚀", fg="cyan") diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index 5bfbd34ac7..5af6e7d866 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -221,12 +221,11 @@ def init(app_name=None, base_name=None, **kwargs): async def trace(**kwargs): - """Function to start llm tracing. - """ + """Function to start llm tracing.""" singleton = AgentaSingleton() app_id = singleton.get_app(singleton.app_name) - base_id = singleton.get_app_base(app_id, singleton.base_name) # type: ignore + base_id = singleton.get_app_base(app_id, singleton.base_name) # type: ignore llm_tracing = LLMTracing(singleton.host, singleton.api_key) await llm_tracing.start_tracing(app_id, base_id, "default", **kwargs) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index 485d53fa53..f3ad27f353 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -25,7 +25,7 @@ async def create_trace( base_id: str, config_name: str, spans: List[str], - **kwargs: Dict[str, Any] + **kwargs: Dict[str, Any], ): # calculate the latency between the trace start time and end time trace_end_time = datetime.now() @@ -54,7 +54,7 @@ async def create_span( client: AsyncObservabilityClient, parent_span_id: Optional[str], event_name: str, - **kwargs: Dict[str, Any] + **kwargs: Dict[str, Any], ): span = await client.create_span( parent_span_id=parent_span_id, @@ -92,7 +92,7 @@ async def start_tracing( base_id=base_id, config_name=config_name, spans=[span], - **{**kwargs, "trace_start_time": trace_starting}, # type: ignore + **{**kwargs, "trace_start_time": trace_starting}, # type: ignore ) except KeyError as exc: print(f"Something happened when tracing LLM app. Error: {str(exc)}") From 0fe22ac57e8bf0cfb56796cea7157b60a48659c5 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Fri, 23 Feb 2024 13:47:44 +0500 Subject: [PATCH 063/539] refactored sidebar to be config based --- .../EnforceAntdStyles/EnforceAntdStyles.tsx | 14 + .../src/components/ServerTable/components.tsx | 26 +- agenta-web/src/components/Sidebar/Sidebar.tsx | 396 +++++------------- agenta-web/src/components/Sidebar/config.tsx | 192 +++++++++ 4 files changed, 334 insertions(+), 294 deletions(-) create mode 100644 agenta-web/src/components/EnforceAntdStyles/EnforceAntdStyles.tsx create mode 100644 agenta-web/src/components/Sidebar/config.tsx diff --git a/agenta-web/src/components/EnforceAntdStyles/EnforceAntdStyles.tsx b/agenta-web/src/components/EnforceAntdStyles/EnforceAntdStyles.tsx new file mode 100644 index 0000000000..1ece7c0a50 --- /dev/null +++ b/agenta-web/src/components/EnforceAntdStyles/EnforceAntdStyles.tsx @@ -0,0 +1,14 @@ +import React from "react" +import {StyleProvider} from "@ant-design/cssinjs" + +interface Props { + children: React.ReactNode +} + +// To enforce antd styles when tailwindcss styles are conflicting +// more details at: https://ant.design/docs/react/compatible-style#compatible-adjustment +const EnforceAntdStyles: React.FC = ({children}) => { + return {children} +} + +export default EnforceAntdStyles diff --git a/agenta-web/src/components/ServerTable/components.tsx b/agenta-web/src/components/ServerTable/components.tsx index e821e929bd..8c7bc834b2 100644 --- a/agenta-web/src/components/ServerTable/components.tsx +++ b/agenta-web/src/components/ServerTable/components.tsx @@ -6,12 +6,10 @@ import dayjs from "dayjs" import React, {useMemo} from "react" import {createUseStyles} from "react-jss" import {Resizable} from "react-resizable" +import EnforceAntdStyles from "../EnforceAntdStyles/EnforceAntdStyles" const useStyles = createUseStyles((theme: JSSTheme) => ({ filterRoot: { - "& .input": { - width: 200, - }, padding: "1rem", display: "flex", alignItems: "center", @@ -47,16 +45,18 @@ export const getFilterParams = ( const classes = useStyles() return ( -
- { - setSelectedKeys(val ? [val] : []) - confirm() - }} - /> -
+ +
+ { + setSelectedKeys(val ? [val] : []) + confirm() + }} + /> +
+
) } diff --git a/agenta-web/src/components/Sidebar/Sidebar.tsx b/agenta-web/src/components/Sidebar/Sidebar.tsx index 39e7cdb5fa..67d7b1fc8f 100644 --- a/agenta-web/src/components/Sidebar/Sidebar.tsx +++ b/agenta-web/src/components/Sidebar/Sidebar.tsx @@ -1,32 +1,13 @@ -import React, {useEffect, useState} from "react" +import React, {useEffect, useMemo, useState} from "react" import {useRouter} from "next/router" -import { - RocketOutlined, - AppstoreOutlined, - DatabaseOutlined, - CloudUploadOutlined, - LineChartOutlined, - ReadOutlined, - PhoneOutlined, - SettingOutlined, - LogoutOutlined, - FormOutlined, - BarChartOutlined, - SwapOutlined, -} from "@ant-design/icons" -import {Layout, Menu, Space, Tooltip, theme} from "antd" - +import {Layout, Menu, Tooltip, theme} from "antd" import Logo from "../Logo/Logo" import Link from "next/link" import {useAppTheme} from "../Layout/ThemeContextProvider" import {ErrorBoundary} from "react-error-boundary" import {createUseStyles} from "react-jss" -import AlertPopup from "../AlertPopup/AlertPopup" -import {useProfileData} from "@/contexts/profile.context" -import {isDemo} from "@/lib/helpers/utils" -import {useSession} from "@/hooks/useSession" -import {dynamicComponent} from "@/lib/helpers/dynamic" import {useLocalStorage} from "usehooks-ts" +import {useSidebarConfig} from "./config" type StyleProps = { themeMode: "system" | "dark" | "light" @@ -89,12 +70,10 @@ const Sidebar: React.FC = () => { token: {colorBgContainer}, } = theme.useToken() const router = useRouter() - const appId = router.query.app_id as string const classes = useStyles({ themeMode: appTheme, colorBgContainer, } as StyleProps) - const {doesSessionExist, logout} = useSession() const pathSegments = router.asPath.split("/") const page_name = pathSegments[3] @@ -108,30 +87,31 @@ const Sidebar: React.FC = () => { initialSelectedKeys = ["apps"] } const [selectedKeys, setSelectedKeys] = useState(initialSelectedKeys) - const {user} = useProfileData() const [collapsed, setCollapsed] = useLocalStorage("sidebarCollapsed", false) useEffect(() => { setSelectedKeys(initialSelectedKeys) }, [page_name]) - const getNavigationPath = (path: string) => { - if (path === "apps") { - return "/apps" - } else { - return `/apps/${appId}/${path}` - } - } - - const handleLogout = () => { - AlertPopup({ - title: "Logout", - message: "Are you sure you want to logout?", - onOk: logout, + const menu = useSidebarConfig() + const {topItems, bottomItems} = useMemo(() => { + const topItems: ReturnType = [] + const bottomItems: ReturnType = [] + + menu.forEach((item) => { + if (item.isHidden) return + if (item.isBottom) { + bottomItems.push(item) + } else { + topItems.push(item) + } }) - } - const OrgsListSubMenu = dynamicComponent("OrgsListSubMenu/OrgsListSubMenu") + return { + topItems, + bottomItems, + } + }, [menu]) return (
@@ -145,7 +125,7 @@ const Sidebar: React.FC = () => { >
- +
@@ -156,212 +136,54 @@ const Sidebar: React.FC = () => { selectedKeys={initialSelectedKeys} className={classes.menuContainer} > - - }> - - {collapsed - ? "Create new applications or switch between your existing projects." - : "App Management"} - - - - {page_name && ( - <> - - }> - - {collapsed - ? "Experiment with real data and optimize your parameters including prompts, methods, and configuration settings." - : "Playground"} - - - - - - }> - - {collapsed - ? "Create and manage testsets for evaluation purposes." - : "Test Sets"} - - - - - - }> - - {collapsed - ? "Evaluate and Compare variants programmatically." - : "Evaluations"} - - - - - - }> - - {collapsed - ? "Use human feedback to score and compare variants." - : "Annotations"} - - - - - - } - disabled={!isDemo()} - > - - - - {collapsed - ? "Observability and monitoring of your app" - : "Observability"} - - - - - - - - - } - disabled={!isDemo()} + {topItems.map((item) => { + if (item.submenu) { + return ( + - - - - {collapsed - ? "Generations of your app" - : "Generations"} - - - - - - - - }> - - - - {collapsed - ? "Deploy your applications to different environments." - : "Endpoints"} - - - - - - - )} + {item.submenu.map((subitem) => ( + + + + {subitem.title} + + + + ))} + + ) + } else { + return ( + + + + {item.title} + + + + ) + } + })} { className={classes.menuContainer2} selectedKeys={selectedKeys} > - {doesSessionExist && ( - }> - - Settings - - - )} - - }> - - Docs - - - - {isDemo() && ( - <> - }> - { + if (item.submenu) { + return ( + - Book Onboarding Call - - - - {user?.username && ( - } - onClick={handleLogout} - > - Logout - - )} - - )} + {item.submenu.map((subitem) => ( + + + + {subitem.title} + + + + ))} + + ) + } else { + return ( + + + + {item.title} + + + + ) + } + })}
diff --git a/agenta-web/src/components/Sidebar/config.tsx b/agenta-web/src/components/Sidebar/config.tsx new file mode 100644 index 0000000000..4ed0a6d5cc --- /dev/null +++ b/agenta-web/src/components/Sidebar/config.tsx @@ -0,0 +1,192 @@ +import {useProfileData} from "@/contexts/profile.context" +import {useAppId} from "@/hooks/useAppId" +import {useSession} from "@/hooks/useSession" +import {GenericObject} from "@/lib/Types" +import {getColorFromStr} from "@/lib/helpers/colors" +import {dynamicContext} from "@/lib/helpers/dynamic" +import {isDemo} from "@/lib/helpers/utils" +import {getInitials} from "@/lib/helpers/utils_ee" +import { + ApartmentOutlined, + AppstoreOutlined, + BarChartOutlined, + CloudUploadOutlined, + DashboardOutlined, + DatabaseOutlined, + FormOutlined, + LineChartOutlined, + LogoutOutlined, + PhoneOutlined, + ReadOutlined, + RocketOutlined, + SettingOutlined, + SwapOutlined, +} from "@ant-design/icons" +import {Avatar} from "antd" +import {useEffect, useState} from "react" +import AlertPopup from "../AlertPopup/AlertPopup" + +export type SidebarConfig = { + key: string + title: string + tooltip?: string + link?: string + icon: JSX.Element + isHidden?: boolean + isBottom?: boolean + submenu?: Omit[] + onClick?: () => void +} + +export const useSidebarConfig = () => { + const appId = useAppId() + const {user} = useProfileData() + const {doesSessionExist, logout} = useSession() + const isOss = !isDemo() + const [useOrgData, setUseOrgData] = useState(() => () => "") + + useEffect(() => { + dynamicContext("org.context", {useOrgData}).then((context) => { + setUseOrgData(() => context.useOrgData) + }) + }, []) + + const {selectedOrg, orgs, changeSelectedOrg} = useOrgData() + + const sidebarConfig: SidebarConfig[] = [ + { + key: "app-management-link", + title: "App Management", + tooltip: "Create new applications or switch between your existing projects.", + link: "/apps", + icon: , + }, + { + key: "app-playground-link", + title: "Playground", + tooltip: + "Experiment with real data and optimize your parameters including prompts, methods, and configuration settings.", + link: `/apps/${appId}/playground`, + icon: , + isHidden: !appId, + }, + { + key: "app-testsets-link", + title: "Test Sets", + tooltip: "Create and manage testsets for evaluation purposes.", + link: `/apps/${appId}/testsets`, + icon: , + isHidden: !appId, + }, + { + key: "app-evaluations-link", + title: "Evaluations", + tooltip: "Evaluate and Compare variants programmatically.", + link: `/apps/${appId}/evaluations`, + icon: , + isHidden: !appId, + }, + { + key: "app-annotations-link", + title: "Annotations", + tooltip: "Use human feedback to score and compare variants.", + link: `/apps/${appId}/annotations`, + icon: , + isHidden: !appId, + }, + { + key: "app-observability-link", + title: "Observability", + tooltip: "Observability and monitoring of your app", + icon: , + isHidden: !appId, + submenu: [ + { + key: "app-observability-dashboard-link", + title: "Dashboard", + tooltip: "Dashboard view of traces and generations", + link: `/apps/${appId}/observability`, + icon: , + }, + { + key: "app-observability-generations-link", + title: "Generations", + tooltip: "Generations and their details", + link: `/apps/${appId}/observability/generations`, + icon: , + }, + ], + }, + { + key: "app-endpoints-link", + title: "Endpoints", + tooltip: "Deploy your applications to different environments.", + link: `/apps/${appId}/endpoints`, + icon: , + isHidden: !appId, + }, + { + key: "settings-link", + title: "Settings", + link: "/settings", + icon: , + isBottom: true, + isHidden: !doesSessionExist, + }, + { + key: "docs-link", + title: "Docs", + link: "https://docs.agenta.ai", + icon: , + isBottom: true, + }, + { + key: "book-onboarding-call-link", + title: "Book Onboarding Call", + link: "https://cal.com/mahmoud-mabrouk-ogzgey/demo", + icon: , + isBottom: true, + }, + { + key: "orgs-link", + title: selectedOrg?.name || "", + icon: , + isHidden: !isOss && !selectedOrg, + submenu: (orgs || []).map((org: GenericObject) => ({ + key: `orgs-${org.id}-link`, + title: org.name, + onClick: () => { + changeSelectedOrg?.(org.id) + }, + icon: ( + + {getInitials(org.name)} + + ), + })), + isBottom: true, + }, + { + key: "logout-link", + title: "Logout", + icon: , + isBottom: true, + isHidden: !isOss && !user?.username, + onClick: () => { + AlertPopup({ + title: "Logout", + message: "Are you sure you want to logout?", + onOk: logout, + }) + }, + }, + ] + + return sidebarConfig +} From 364ecb02f782f434fd62f7ab123bb2fcab825461 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Fri, 23 Feb 2024 14:46:36 +0500 Subject: [PATCH 064/539] fixed tailwind import issues --- .../components/Layout/ThemeContextProvider.tsx | 15 ++++++++++++++- agenta-web/tailwind.config.ts | 16 +--------------- 2 files changed, 15 insertions(+), 16 deletions(-) diff --git a/agenta-web/src/components/Layout/ThemeContextProvider.tsx b/agenta-web/src/components/Layout/ThemeContextProvider.tsx index d73470b1de..701f8289ae 100644 --- a/agenta-web/src/components/Layout/ThemeContextProvider.tsx +++ b/agenta-web/src/components/Layout/ThemeContextProvider.tsx @@ -1,7 +1,20 @@ import {ConfigProvider, theme} from "antd" import {PropsWithChildren, createContext, useState, useContext, useEffect} from "react" import {useLocalStorage, useUpdateEffect} from "usehooks-ts" -import {AntdThemeConfig} from "../../../tailwind.config" + +export const AntdThemeConfig = { + token: { + // Seed Token + colorPrimary: "#4AA081", + borderRadius: 8, + }, + components: { + Button: { + colorPrimary: "#4AA081", + colorErrorText: "#ef4146", + }, + }, +} export enum ThemeMode { Light = "light", diff --git a/agenta-web/tailwind.config.ts b/agenta-web/tailwind.config.ts index 4de029c965..9c78f09ddc 100644 --- a/agenta-web/tailwind.config.ts +++ b/agenta-web/tailwind.config.ts @@ -1,21 +1,7 @@ import {theme} from "antd" import type {Config} from "tailwindcss" import colors from "tailwindcss/colors" - -export const AntdThemeConfig = { - token: { - // Seed Token - colorPrimary: "#4AA081", - borderRadius: 8, - }, - components: { - Button: { - colorPrimary: "#4AA081", - colorErrorText: "#ef4146", - }, - }, -} -const token = theme.getDesignToken(AntdThemeConfig) +const token = theme.getDesignToken() const config: Config = { content: [ From 577bbfdb41a574fc0781210c09761743992593de Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Fri, 23 Feb 2024 16:54:11 +0500 Subject: [PATCH 065/539] moved dev dependencies to dependencies --- agenta-web/package-lock.json | 14 ++++---------- agenta-web/package.json | 8 ++++---- 2 files changed, 8 insertions(+), 14 deletions(-) diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index de9f6c91b2..6a4038de67 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -21,6 +21,7 @@ "@next/mdx": "^13.4.13", "@remixicon/react": "^4.1.1", "@sentry/nextjs": "^7.77.0", + "@tailwindcss/forms": "^0.5.7", "@tremor/react": "^3.14.0", "@types/js-beautify": "^1.14.0", "@types/lodash": "^4.14.201", @@ -35,6 +36,7 @@ "ag-grid-community": "^31.0.1", "ag-grid-react": "^31.0.1", "antd": "^5.14.1", + "autoprefixer": "^10.4.17", "axios": "^1.4.0", "classnames": "^2.3.2", "dayjs": "^1.11.10", @@ -47,6 +49,8 @@ "next": "13.3.4", "nextjs-cors": "^2.1.2", "papaparse": "^5.4.1", + "postcss": "^8.4.35", + "postcss-antd-fixes": "^0.2.0", "posthog-js": "^1.104.4", "promise-retry": "^2.0.1", "react": "18.2.0", @@ -68,13 +72,9 @@ "uuid": "^9.0.1" }, "devDependencies": { - "@tailwindcss/forms": "^0.5.7", "@types/node": "^20.8.10", - "autoprefixer": "^10.4.17", "cypress": "^13.4.0", "node-mocks-http": "^1.12.2", - "postcss": "^8.4.35", - "postcss-antd-fixes": "^0.2.0", "prettier": "^3.0.0" }, "engines": { @@ -1360,7 +1360,6 @@ "version": "0.5.7", "resolved": "https://registry.npmjs.org/@tailwindcss/forms/-/forms-0.5.7.tgz", "integrity": "sha512-QE7X69iQI+ZXwldE+rzasvbJiyV/ju1FGHH0Qn2W3FKbuYtqp8LKcy6iSw79fVUT5/Vvf+0XgLCeYVG+UV6hOw==", - "dev": true, "dependencies": { "mini-svg-data-uri": "^1.2.3" }, @@ -2434,7 +2433,6 @@ "version": "10.4.17", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", - "dev": true, "funding": [ { "type": "opencollective", @@ -4660,7 +4658,6 @@ "version": "4.3.7", "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, "engines": { "node": "*" }, @@ -7494,7 +7491,6 @@ "version": "1.4.4", "resolved": "https://registry.npmjs.org/mini-svg-data-uri/-/mini-svg-data-uri-1.4.4.tgz", "integrity": "sha512-r9deDe9p5FJUPZAk3A59wGH7Ii9YrjjWw0jmw/liSbHl2CHiyXj6FcDXDu2K3TjVAXqiJdaw3xxwlZZr9E6nHg==", - "dev": true, "bin": { "mini-svg-data-uri": "cli.js" } @@ -7768,7 +7764,6 @@ "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, "engines": { "node": ">=0.10.0" } @@ -8202,7 +8197,6 @@ "version": "0.2.0", "resolved": "https://registry.npmjs.org/postcss-antd-fixes/-/postcss-antd-fixes-0.2.0.tgz", "integrity": "sha512-WuV4Ip5DnLg8q+wmNXUq13wZZcA5Lrj+em3Jznl4cxItZDgFp4wEh+5ba59TvFeHfwNuTEZ6YNDsYP9DG6NurQ==", - "dev": true, "funding": [ "https://opencollective.com/yuns", "https://afdian.net/@yunslove" diff --git a/agenta-web/package.json b/agenta-web/package.json index 1fc945d287..c194f50b3c 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -32,6 +32,7 @@ "@next/mdx": "^13.4.13", "@remixicon/react": "^4.1.1", "@sentry/nextjs": "^7.77.0", + "@tailwindcss/forms": "^0.5.7", "@tremor/react": "^3.14.0", "@types/js-beautify": "^1.14.0", "@types/lodash": "^4.14.201", @@ -46,6 +47,7 @@ "ag-grid-community": "^31.0.1", "ag-grid-react": "^31.0.1", "antd": "^5.14.1", + "autoprefixer": "^10.4.17", "axios": "^1.4.0", "classnames": "^2.3.2", "dayjs": "^1.11.10", @@ -58,6 +60,8 @@ "next": "13.3.4", "nextjs-cors": "^2.1.2", "papaparse": "^5.4.1", + "postcss": "^8.4.35", + "postcss-antd-fixes": "^0.2.0", "posthog-js": "^1.104.4", "promise-retry": "^2.0.1", "react": "18.2.0", @@ -79,13 +83,9 @@ "uuid": "^9.0.1" }, "devDependencies": { - "@tailwindcss/forms": "^0.5.7", "@types/node": "^20.8.10", - "autoprefixer": "^10.4.17", "cypress": "^13.4.0", "node-mocks-http": "^1.12.2", - "postcss": "^8.4.35", - "postcss-antd-fixes": "^0.2.0", "prettier": "^3.0.0" } } From 00ef66b5b769936c21da81a03f193136ea10b1c9 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Sat, 24 Feb 2024 01:30:59 +0500 Subject: [PATCH 066/539] fixed global tailwind issue | sidebar refactored --- agenta-web/prod.Dockerfile | 1 + agenta-web/src/components/Sidebar/Sidebar.tsx | 254 +++++++----------- agenta-web/src/styles/globals.css | 1 - 3 files changed, 105 insertions(+), 151 deletions(-) diff --git a/agenta-web/prod.Dockerfile b/agenta-web/prod.Dockerfile index 1b4281c4fa..dbe9b9da3c 100644 --- a/agenta-web/prod.Dockerfile +++ b/agenta-web/prod.Dockerfile @@ -12,6 +12,7 @@ COPY public ./public COPY next.config.js . COPY tsconfig.json . COPY postcss.config.js . +COPY tailwind.config.ts . COPY .env.production . # used in cloud COPY sentry.* . diff --git a/agenta-web/src/components/Sidebar/Sidebar.tsx b/agenta-web/src/components/Sidebar/Sidebar.tsx index 67d7b1fc8f..616739292b 100644 --- a/agenta-web/src/components/Sidebar/Sidebar.tsx +++ b/agenta-web/src/components/Sidebar/Sidebar.tsx @@ -1,36 +1,32 @@ -import React, {useEffect, useMemo, useState} from "react" +import React, {useMemo} from "react" import {useRouter} from "next/router" -import {Layout, Menu, Tooltip, theme} from "antd" +import {Layout, Menu, Tooltip} from "antd" import Logo from "../Logo/Logo" import Link from "next/link" import {useAppTheme} from "../Layout/ThemeContextProvider" import {ErrorBoundary} from "react-error-boundary" import {createUseStyles} from "react-jss" import {useLocalStorage} from "usehooks-ts" -import {useSidebarConfig} from "./config" - -type StyleProps = { - themeMode: "system" | "dark" | "light" - colorBgContainer: string -} +import {SidebarConfig, useSidebarConfig} from "./config" +import {JSSTheme} from "@/lib/Types" const {Sider} = Layout -const useStyles = createUseStyles({ - sidebar: ({colorBgContainer}: StyleProps) => ({ - background: `${colorBgContainer} !important`, +const useStyles = createUseStyles((theme: JSSTheme) => ({ + sidebar: { + background: `${theme.colorBgContainer} !important`, height: "100vh", position: "sticky !important", bottom: "0px", top: "0px", "&>div:nth-of-type(2)": { - background: `${colorBgContainer} !important`, + background: `${theme.colorBgContainer} !important`, }, - }), - siderWrapper: ({themeMode}: StyleProps) => ({ - border: `0.01px solid ${themeMode === "dark" ? "#222" : "#ddd"}`, - }), + }, + siderWrapper: { + border: `0.01px solid ${theme.isDark ? "#222" : "#ddd"}`, + }, sliderContainer: { display: "flex", flexDirection: "column", @@ -62,41 +58,76 @@ const useStyles = createUseStyles({ menuLinks: { width: "100%", }, -}) +})) + +const SidebarMenu: React.FC<{ + items: SidebarConfig[] + selectedKeys: string[] + menuProps?: React.ComponentProps +}> = ({items, selectedKeys, menuProps}) => { + return ( + + {items.map((item) => { + if (item.submenu) { + return ( + + {item.submenu.map((subitem) => ( + + + + {subitem.title} + + + + ))} + + ) + } else { + return ( + + + + {item.title} + + + + ) + } + })} + + ) +} const Sidebar: React.FC = () => { const {appTheme} = useAppTheme() - const { - token: {colorBgContainer}, - } = theme.useToken() const router = useRouter() - const classes = useStyles({ - themeMode: appTheme, - colorBgContainer, - } as StyleProps) + const classes = useStyles() - const pathSegments = router.asPath.split("/") - const page_name = pathSegments[3] - - let initialSelectedKeys: string[] = [] - if (typeof page_name === "string") { - initialSelectedKeys = [page_name] - } else if (Array.isArray(page_name)) { - initialSelectedKeys = page_name - } else if (typeof page_name === "undefined") { - initialSelectedKeys = ["apps"] - } - const [selectedKeys, setSelectedKeys] = useState(initialSelectedKeys) const [collapsed, setCollapsed] = useLocalStorage("sidebarCollapsed", false) - useEffect(() => { - setSelectedKeys(initialSelectedKeys) - }, [page_name]) - const menu = useSidebarConfig() const {topItems, bottomItems} = useMemo(() => { - const topItems: ReturnType = [] - const bottomItems: ReturnType = [] + const topItems: SidebarConfig[] = [] + const bottomItems: SidebarConfig[] = [] menu.forEach((item) => { if (item.isHidden) return @@ -113,6 +144,28 @@ const Sidebar: React.FC = () => { } }, [menu]) + const selectedKeys = useMemo(() => { + let matched: SidebarConfig + + const executor = (items: SidebarConfig[]) => { + items.forEach((item) => { + if (item.submenu?.length) { + executor(item.submenu) + } else if ( + item.link && + router.asPath.startsWith(item.link) && + item.link.length > (matched?.link?.length || 0) + ) { + matched = item + } + }) + } + executor([...topItems, ...bottomItems]) + + //@ts-ignore + return [matched?.key] + }, [router.asPath, topItems, bottomItems]) + return (
{
}>
- - {topItems.map((item) => { - if (item.submenu) { - return ( - - {item.submenu.map((subitem) => ( - - - - {subitem.title} - - - - ))} - - ) - } else { - return ( - - - - {item.title} - - - - ) - } - })} - - - + - {bottomItems.map((item) => { - if (item.submenu) { - return ( - - {item.submenu.map((subitem) => ( - - - - {subitem.title} - - - - ))} - - ) - } else { - return ( - - - - {item.title} - - - - ) - } - })} - + />
diff --git a/agenta-web/src/styles/globals.css b/agenta-web/src/styles/globals.css index 8411f94cad..8c54cda8e1 100644 --- a/agenta-web/src/styles/globals.css +++ b/agenta-web/src/styles/globals.css @@ -1,4 +1,3 @@ -@tailwind base; @tailwind components; @tailwind utilities; From e8f15d8739f63a3258486505837315d810f6ac5b Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Sat, 24 Feb 2024 20:24:01 +0100 Subject: [PATCH 067/539] mocked playground response --- agenta-web/cypress/e2e/playground.cy.ts | 5 ++++- agenta-web/cypress/fixtures/playground.json | 10 ++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 agenta-web/cypress/fixtures/playground.json diff --git a/agenta-web/cypress/e2e/playground.cy.ts b/agenta-web/cypress/e2e/playground.cy.ts index a486e47257..f967a53aad 100644 --- a/agenta-web/cypress/e2e/playground.cy.ts +++ b/agenta-web/cypress/e2e/playground.cy.ts @@ -6,7 +6,10 @@ describe("Playground Prompt Test", function () { it("Should test prompt functionality in the Playground", () => { cy.get('[data-cy^="testview-input-parameters"]').eq(0).type("Germany") cy.get('[data-cy="testview-input-parameters-run-button"]').click() - cy.get('[data-cy="testview-input-parameters-result"]').should("contain.text", "Loading...") + cy.intercept("POST", "**/demo/app/generate", { + statusCode: 200, + fixture: "playground.json", + }) cy.get('[data-cy="testview-input-parameters-result"]').should( "contain.text", "The capital of Germany is Berlin.", diff --git a/agenta-web/cypress/fixtures/playground.json b/agenta-web/cypress/fixtures/playground.json new file mode 100644 index 0000000000..4b8133a6b6 --- /dev/null +++ b/agenta-web/cypress/fixtures/playground.json @@ -0,0 +1,10 @@ +{ + "cost": 0.0000535, + "latency": 2.6284, + "message": "The capital of Germany is Berlin.", + "usage": { + "completion_tokens": 8, + "prompt_tokens": 25, + "total_tokens": 33 + } +} From 6fad7a30ab52061826df234cb7a1a0fab78ba250 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Sun, 25 Feb 2024 12:27:38 +0100 Subject: [PATCH 068/539] mocked human evaluation response --- .../cypress/e2e/ab-testing-evaluation.cy.ts | 20 +++++++++++++------ .../e2e/single-model-test-evaluation.cy.ts | 7 +++++++ .../cypress/fixtures/human-evaluation.json | 10 ++++++++++ 3 files changed, 31 insertions(+), 6 deletions(-) create mode 100644 agenta-web/cypress/fixtures/human-evaluation.json diff --git a/agenta-web/cypress/e2e/ab-testing-evaluation.cy.ts b/agenta-web/cypress/e2e/ab-testing-evaluation.cy.ts index e6479837fd..4c68254280 100644 --- a/agenta-web/cypress/e2e/ab-testing-evaluation.cy.ts +++ b/agenta-web/cypress/e2e/ab-testing-evaluation.cy.ts @@ -3,11 +3,15 @@ import {randString} from "../../src/lib/helpers/utils" describe("A/B Testing Evaluation workflow", () => { let app_v2 = randString(5) let app_id + let testset_name before(() => { cy.createVariantsAndTestsets() cy.get("@app_id").then((appId) => { app_id = appId }) + cy.get("@testsetName").then((testsetName) => { + testset_name = testsetName + }) }) context("When creating an app variant", () => { @@ -60,11 +64,7 @@ describe("A/B Testing Evaluation workflow", () => { cy.get('[data-cy="variants-dropdown-1"]').trigger("mouseout") cy.get('[data-cy="selected-testset"]').trigger("mouseover") - cy.get(".ant-dropdown") - .eq(2) - .within(() => { - cy.get('[data-cy="testset-0"]').click() - }) + cy.get('[data-cy^="testset"]').contains(testset_name).click() cy.get('[data-cy="selected-testset"]').trigger("mouseout") cy.clickLinkAndWait('[data-cy="start-new-evaluation-button"]') @@ -75,13 +75,21 @@ describe("A/B Testing Evaluation workflow", () => { cy.get( '[data-cy="evaluation-vote-panel-comparison-both-bad-vote-button-button"]', ).should("not.exist") + + cy.intercept("POST", "**/app/generate", { + statusCode: 200, + fixture: "human-evaluation.json", + }).as("generateRequest") + cy.wait(1000) cy.get('[data-cy="abTesting-run-all-button"]').click() + cy.wait("@generateRequest") + cy.get('[data-cy="evaluation-vote-panel-comparison-vote-button"]').eq(0).click() cy.get('[data-cy="evaluation-vote-panel-comparison-vote-button"]').eq(1).click() cy.get( - '[data-cy="evaluation-vote-panel-comparison-both-bad-vote-button-button"]', + '[data-cy="evaluation-vote-panel-comparison-both-good-vote-button-button"]', ).click() }) }) diff --git a/agenta-web/cypress/e2e/single-model-test-evaluation.cy.ts b/agenta-web/cypress/e2e/single-model-test-evaluation.cy.ts index 371ecb12a7..a2d3ee093e 100644 --- a/agenta-web/cypress/e2e/single-model-test-evaluation.cy.ts +++ b/agenta-web/cypress/e2e/single-model-test-evaluation.cy.ts @@ -31,8 +31,15 @@ describe("Single Model Test workflow", () => { cy.get('[data-cy="evaluation-vote-panel-numeric-vote-input"]').should("not.exist") + cy.intercept("POST", "**/app/generate", { + statusCode: 200, + fixture: "human-evaluation.json", + }).as("generateRequest") + cy.wait(1000) cy.get('[data-cy="single-model-run-all-button"]').click() + + cy.wait("@generateRequest") cy.get('[data-cy="evaluation-vote-panel-numeric-vote-input"]').type("100") }) }) diff --git a/agenta-web/cypress/fixtures/human-evaluation.json b/agenta-web/cypress/fixtures/human-evaluation.json new file mode 100644 index 0000000000..5d4425f4bb --- /dev/null +++ b/agenta-web/cypress/fixtures/human-evaluation.json @@ -0,0 +1,10 @@ +{ + "cost": 0.0000535, + "latency": 2.6284, + "message": "The capital of France is Paris.", + "usage": { + "completion_tokens": 8, + "prompt_tokens": 25, + "total_tokens": 33 + } +} From c8f1a43cb90fe2dcbfca30ebbc462d4dd64d0a66 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Mon, 26 Feb 2024 13:16:31 +0100 Subject: [PATCH 069/539] improved comparison test --- agenta-web/cypress/e2e/eval.comparison.cy.ts | 57 +++++++++++++++++++- 1 file changed, 55 insertions(+), 2 deletions(-) diff --git a/agenta-web/cypress/e2e/eval.comparison.cy.ts b/agenta-web/cypress/e2e/eval.comparison.cy.ts index ab0528dee6..cab9822ad0 100644 --- a/agenta-web/cypress/e2e/eval.comparison.cy.ts +++ b/agenta-web/cypress/e2e/eval.comparison.cy.ts @@ -1,5 +1,8 @@ +import {randString} from "../../src/lib/helpers/utils" + describe("Evaluation Comparison Test", function () { let app_id + let app_v2 = randString(5) before(() => { cy.createVariant() cy.get("@app_id").then((appId) => { @@ -8,6 +11,33 @@ describe("Evaluation Comparison Test", function () { cy.get('[data-cy="playground-save-changes-button"]').eq(0).click() }) + context("When creating an app variant", () => { + beforeEach(() => { + cy.visit(`/apps/${app_id}/playground`) + }) + + it("Should successfully create a new app variant", () => { + cy.clickLinkAndWait("button.ant-tabs-nav-add") + cy.get('[data-cy="new-variant-modal"]').should("exist") + cy.get('[data-cy="new-variant-modal-select"]').click() + cy.get('[data-cy^="new-variant-modal-label"]').contains("app.default").click() + cy.get('[data-cy="new-variant-modal-input"]').type(app_v2) + cy.get('[data-cy="new-variant-modal"]').within(() => { + cy.get("button.ant-btn").contains(/ok/i).click() + }) + cy.url().should("include", `/playground?variant=app.${app_v2}`) + cy.get('[data-cy="playground-save-changes-button"]').eq(1).click() + cy.get('[data-cy="playground-publish-button"]').should("exist") + cy.get(".ant-message-notice-content").should("exist") + }) + + it("Should verify user has more than one app variant", () => { + cy.get(".ant-tabs-nav-list").within(() => { + cy.get(".ant-tabs-tab").should("have.length.gt", 1) + }) + }) + }) + context("Executing Evaluation Comparison Workflow", () => { beforeEach(() => { cy.visit(`/apps/${app_id}/evaluations`) @@ -15,9 +45,32 @@ describe("Evaluation Comparison Test", function () { }) it("Should create 2 new Evaluations", () => { - Array.from({length: 2}).map((_) => { - cy.createNewEvaluation() + cy.request({ + url: `${Cypress.env().baseApiURL}/evaluations/?app_id=${app_id}`, + method: "GET", + }).then((resp) => { + if (resp.body.length) { + cy.get('[data-cy="new-evaluation-button"]').click() + } else { + cy.get('[data-cy="new-evaluation-button__no_variants"]').click() + } }) + cy.get(".ant-modal-content").should("exist") + + cy.get('[data-cy="select-testset-group"]').click() + cy.get('[data-cy="select-testset-option"]').eq(0).click() + + cy.get('[data-cy="select-variant-group"]').click() + cy.get('[data-cy="select-variant-option"]').eq(0).click() + cy.get('[data-cy="select-variant-option"]').eq(1).click() + cy.get('[data-cy="select-variant-group"]').click() + + cy.get('[data-cy="select-evaluators-group"]').click() + cy.get('[data-cy="select-evaluators-option"]').eq(0).click() + cy.get('[data-cy="select-evaluators-group"]').click() + + cy.get(".ant-modal-footer > .ant-btn-primary > .ant-btn-icon > .anticon > svg").click() + cy.wait(1000) }) it("Should verify that there are completed evaluations in the list", () => { From 8749f460caa5fb7ea83e529d1fc13709028f1f17 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 27 Feb 2024 09:06:14 +0100 Subject: [PATCH 070/539] Feat - created api router to delete a span of trace and db function to delete span --- .../agenta_backend/routers/observability_router.py | 8 ++++++++ .../agenta_backend/services/event_db_manager.py | 14 ++++++++++++++ 2 files changed, 22 insertions(+) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 83dc9fd698..b5bcd53077 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -94,6 +94,14 @@ async def get_span_of_trace( return [] +@router.delete( + "/spans/{span_id}/", response_model=bool, operation_id="delete_span_of_trace" +) +async def delete_span_of_trace(request: Request, span_id: str): + await event_db_manager.delete_span(span_id, "mock") + return True + + @router.put( "/traces/{trace_id}/", response_model=bool, operation_id="update_trace_status" ) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 498fc31d89..ba4f27133d 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -434,6 +434,20 @@ async def get_trace_spans(trace_id: str, user_uid: str) -> List[Span]: return spans +async def delete_span(span_id: str, resource_type: str): + """Delete the span for a given span_id. + + Args: + span_id (str): The Id of the span + """ + + if resource_type == "mock": + return + + span = await SpanDB.find_one(SpanDB.id == ObjectId(span_id)) + await span.delete() + + async def add_feedback_to_trace( trace_id: str, payload: CreateFeedback, user_uid: str ) -> str: From 1a4911fc72efedc13977483e256c5c62d93b3b72 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 27 Feb 2024 12:15:06 +0100 Subject: [PATCH 071/539] Update - replace variant_id with base_id and config_name --- .../agenta_backend/models/api/observability_models.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index b190dba606..99baf59c24 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -136,7 +136,8 @@ class UpdateFeedback(BaseModel): class BaseTrace(BaseModel): app_id: Optional[str] - variant_id: Optional[str] + base_id: Optional[str] + config_name: Optional[str] cost: Optional[float] latency: float status: str = Field(default=Status.INITIATED) From b518b13bfbf0e60a777b0a5c1e04fc140da90185 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 27 Feb 2024 12:16:08 +0100 Subject: [PATCH 072/539] Refactor - update create trace span --- .../services/event_db_manager.py | 25 ++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 498fc31d89..1002e91c5c 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -29,6 +29,7 @@ from agenta_backend.services import db_manager from agenta_backend.models.db_models import ( TraceDB, + SpanStatus, Feedback as FeedbackDB, SpanDB, ) @@ -141,7 +142,15 @@ async def create_trace_span(payload: CreateSpan) -> str: str: the created span id """ - span_db = SpanDB(**payload.dict()) + end_time = datetime.now() + duration = end_time - payload.start_time + span_status = SpanStatus(value=payload.status) + span_db = SpanDB( + **payload.dict(exclude={"status"}), + status=span_status, + end_time=end_time, + duration=duration.total_seconds(), + ) await span_db.create() return str(span_db.id) @@ -434,6 +443,20 @@ async def get_trace_spans(trace_id: str, user_uid: str) -> List[Span]: return spans +async def delete_span(span_id: str, resource_type: str): + """Delete the span for a given span_id. + + Args: + span_id (str): The Id of the span + """ + + if resource_type == "mock": + return + + span = await SpanDB.find_one(SpanDB.id == ObjectId(span_id)) + await span.delete() + + async def add_feedback_to_trace( trace_id: str, payload: CreateFeedback, user_uid: str ) -> str: From 28e97ab808b0f3dd5dca487ede80886b437e9682 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 27 Feb 2024 13:17:12 +0100 Subject: [PATCH 073/539] Refactor - regenerate client backend with fern --- agenta-cli/agenta/client/backend/__init__.py | 6 +- agenta-cli/agenta/client/backend/client.py | 603 ++++-------------- .../agenta/client/backend/core/api_error.py | 4 +- .../client/backend/core/datetime_utils.py | 4 +- .../client/backend/core/jsonable_encoder.py | 12 +- .../client/backend/resources/__init__.py | 13 +- .../client/backend/resources/apps/__init__.py | 1 + .../client/backend/resources/apps/client.py | 282 ++------ .../backend/resources/bases/__init__.py | 1 + .../client/backend/resources/bases/client.py | 26 +- .../backend/resources/configs/__init__.py | 1 + .../backend/resources/configs/client.py | 158 +---- .../backend/resources/containers/client.py | 96 +-- .../resources/environments/__init__.py | 1 + .../backend/resources/environments/client.py | 46 +- .../backend/resources/evaluations/__init__.py | 1 + .../backend/resources/evaluations/client.py | 340 +++------- .../backend/resources/evaluators/__init__.py | 1 + .../backend/resources/evaluators/client.py | 196 ++---- .../resources/observability/__init__.py | 1 + .../backend/resources/observability/client.py | 427 ++++++------- .../backend/resources/testsets/__init__.py | 1 + .../backend/resources/testsets/client.py | 212 ++---- .../backend/resources/variants/client.py | 214 ++----- .../resources/variants/types/__init__.py | 4 +- .../agenta/client/backend/types/__init__.py | 6 +- .../client/backend/types/aggregated_result.py | 12 +- .../aggregated_result_evaluator_config.py | 4 +- agenta-cli/agenta/client/backend/types/app.py | 12 +- .../types/app_variant_output_extended.py | 12 +- .../backend/types/app_variant_response.py | 12 +- .../backend/types/app_variant_revision.py | 12 +- .../client/backend/types/base_output.py | 12 +- .../backend/types/body_import_testset.py | 12 +- .../agenta/client/backend/types/config_db.py | 12 +- .../client/backend/types/create_app_output.py | 12 +- .../client/backend/types/docker_env_vars.py | 12 +- .../backend/types/environment_output.py | 12 +- .../types/environment_output_extended.py | 12 +- .../backend/types/environment_revision.py | 12 +- .../agenta/client/backend/types/error.py | 12 +- .../agenta/client/backend/types/evaluation.py | 12 +- .../backend/types/evaluation_scenario.py | 12 +- .../types/evaluation_scenario_input.py | 12 +- .../types/evaluation_scenario_output.py | 12 +- .../types/evaluation_scenario_result.py | 12 +- ...py => evaluation_scenario_score_update.py} | 24 +- .../client/backend/types/evaluation_type.py | 4 +- .../backend/types/evaluation_webhook.py | 12 +- .../agenta/client/backend/types/evaluator.py | 12 +- .../client/backend/types/evaluator_config.py | 12 +- .../agenta/client/backend/types/feedback.py | 12 +- .../backend/types/get_config_response.py | 12 +- .../backend/types/http_validation_error.py | 12 +- .../client/backend/types/human_evaluation.py | 12 +- .../types/human_evaluation_scenario.py | 12 +- .../types/human_evaluation_scenario_input.py | 12 +- .../types/human_evaluation_scenario_output.py | 12 +- .../types/human_evaluation_scenario_update.py | 12 +- .../backend/types/human_evaluation_update.py | 12 +- .../agenta/client/backend/types/image.py | 12 +- .../client/backend/types/invite_request.py | 12 +- .../backend/types/list_api_keys_response.py | 12 +- .../client/backend/types/llm_content.py | 12 +- .../agenta/client/backend/types/llm_inputs.py | 12 +- .../client/backend/types/llm_model_params.py | 12 +- .../backend/types/llm_run_rate_limit.py | 12 +- .../backend/types/new_human_evaluation.py | 12 +- .../client/backend/types/new_testset.py | 12 +- .../types/observability_dashboard_data.py | 12 +- .../backend/types/observability_data.py | 12 +- .../client/backend/types/organization.py | 13 +- .../backend/types/organization_output.py | 12 +- .../agenta/client/backend/types/result.py | 12 +- .../backend/types/simple_evaluation_output.py | 12 +- .../client/backend/types/span_detail.py | 21 +- .../client/backend/types/span_status.py | 12 +- .../client/backend/types/span_variant.py | 12 +- .../agenta/client/backend/types/status.py | 24 +- .../agenta/client/backend/types/template.py | 12 +- .../backend/types/template_image_info.py | 12 +- .../backend/types/test_set_output_response.py | 12 +- .../backend/types/test_set_simple_response.py | 12 +- agenta-cli/agenta/client/backend/types/uri.py | 12 +- .../client/backend/types/validation_error.py | 12 +- .../client/backend/types/variant_action.py | 12 +- .../backend/types/variant_action_enum.py | 4 +- .../client/backend/types/with_pagination.py | 32 + .../types/workspace_member_response.py | 12 +- .../backend/types/workspace_permission.py | 12 +- .../backend/types/workspace_response.py | 12 +- .../backend/types/workspace_role_response.py | 12 +- 92 files changed, 881 insertions(+), 2598 deletions(-) rename agenta-cli/agenta/client/backend/types/{span.py => evaluation_scenario_score_update.py} (52%) create mode 100644 agenta-cli/agenta/client/backend/types/with_pagination.py diff --git a/agenta-cli/agenta/client/backend/__init__.py b/agenta-cli/agenta/client/backend/__init__.py index 8c8558e55f..070a3ee2b9 100644 --- a/agenta-cli/agenta/client/backend/__init__.py +++ b/agenta-cli/agenta/client/backend/__init__.py @@ -21,6 +21,7 @@ EvaluationScenarioInput, EvaluationScenarioOutput, EvaluationScenarioResult, + EvaluationScenarioScoreUpdate, EvaluationStatusEnum, EvaluationType, EvaluationWebhook, @@ -52,7 +53,6 @@ Result, Score, SimpleEvaluationOutput, - Span, SpanDetail, SpanStatus, SpanVariant, @@ -66,6 +66,7 @@ ValidationErrorLocItem, VariantAction, VariantActionEnum, + WithPagination, WorkspaceMemberResponse, WorkspacePermission, WorkspaceResponse, @@ -111,6 +112,7 @@ "EvaluationScenarioInput", "EvaluationScenarioOutput", "EvaluationScenarioResult", + "EvaluationScenarioScoreUpdate", "EvaluationStatusEnum", "EvaluationType", "EvaluationWebhook", @@ -142,7 +144,6 @@ "Result", "Score", "SimpleEvaluationOutput", - "Span", "SpanDetail", "SpanStatus", "SpanVariant", @@ -157,6 +158,7 @@ "ValidationErrorLocItem", "VariantAction", "VariantActionEnum", + "WithPagination", "WorkspaceMemberResponse", "WorkspacePermission", "WorkspaceResponse", diff --git a/agenta-cli/agenta/client/backend/client.py b/agenta-cli/agenta/client/backend/client.py index f5cc8f81dc..e0b4a3a650 100644 --- a/agenta-cli/agenta/client/backend/client.py +++ b/agenta-cli/agenta/client/backend/client.py @@ -19,10 +19,7 @@ from .resources.environments.client import AsyncEnvironmentsClient, EnvironmentsClient from .resources.evaluations.client import AsyncEvaluationsClient, EvaluationsClient from .resources.evaluators.client import AsyncEvaluatorsClient, EvaluatorsClient -from .resources.observability.client import ( - AsyncObservabilityClient, - ObservabilityClient, -) +from .resources.observability.client import AsyncObservabilityClient, ObservabilityClient from .resources.testsets.client import AsyncTestsetsClient, TestsetsClient from .resources.variants.client import AsyncVariantsClient, VariantsClient from .types.http_validation_error import HttpValidationError @@ -45,20 +42,9 @@ class AgentaApi: - def __init__( - self, - *, - base_url: str, - api_key: str, - timeout: typing.Optional[float] = 60, - httpx_client: typing.Optional[httpx.Client] = None, - ): + def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): self._client_wrapper = SyncClientWrapper( - base_url=base_url, - api_key=api_key, - httpx_client=httpx.Client(timeout=timeout) - if httpx_client is None - else httpx_client, + base_url=base_url, api_key=api_key, httpx_client=httpx.Client(timeout=timeout) ) self.apps = AppsClient(client_wrapper=self._client_wrapper) self.variants = VariantsClient(client_wrapper=self._client_wrapper) @@ -84,10 +70,7 @@ def list_api_keys(self) -> typing.List[ListApiKeysResponse]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.list_api_keys() """ _response = self._client_wrapper.httpx_client.request( @@ -119,13 +102,8 @@ def create_api_key(self, *, workspace_id: str) -> str: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.create_api_key( - workspace_id="workspace_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.create_api_key(workspace_id="workspace_id") """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -163,19 +141,12 @@ def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.delete_api_key( - key_prefix="key_prefix", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.delete_api_key(key_prefix="key_prefix") """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -200,19 +171,12 @@ def validate_api_key(self, key_prefix: str) -> bool: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.validate_api_key( - key_prefix="key_prefix", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.validate_api_key(key_prefix="key_prefix") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -242,17 +206,12 @@ def list_organizations(self) -> typing.List[Organization]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.list_organizations() """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -284,13 +243,8 @@ def create_organization( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.create_organization( - name="name", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.create_organization(name="name") """ _request: typing.Dict[str, typing.Any] = {"name": name} if description is not OMIT: @@ -301,9 +255,7 @@ def create_organization( _request["owner"] = owner _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -322,17 +274,12 @@ def get_own_org(self) -> OrganizationOutput: """ from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.get_own_org() """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations/own" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -360,19 +307,12 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.fetch_organization_details( - org_id="org_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.fetch_organization_details(org_id="org_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -406,13 +346,8 @@ def update_organization( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.update_organization( - org_id="org_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.update_organization(org_id="org_id") """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -423,9 +358,7 @@ def update_organization( _request["updated_at"] = updated_at _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -454,26 +387,15 @@ def invite_user_to_workspace( from agenta import InviteRequest from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.invite_user_to_workspace( - org_id="org_id", - workspace_id="workspace_id", - request=[ - InviteRequest( - email="email", - roles=["roles"], - ) - ], + org_id="org_id", workspace_id="workspace_id", request=[InviteRequest(email="email", roles=["roles"])] ) """ _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}/invite", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -489,9 +411,7 @@ def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def resend_invitation( - self, org_id: str, workspace_id: str, *, email: str - ) -> typing.Any: + def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -512,15 +432,8 @@ def resend_invitation( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.resend_invitation( - org_id="org_id", - workspace_id="workspace_id", - email="email", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.resend_invitation(org_id="org_id", workspace_id="workspace_id", email="email") """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -542,9 +455,7 @@ def resend_invitation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def accept_invitation( - self, org_id: str, workspace_id: str, *, token: str - ) -> typing.Any: + def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: """ Accept an invitation to a workspace. @@ -565,15 +476,8 @@ def accept_invitation( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.accept_invitation( - org_id="org_id", - workspace_id="workspace_id", - token="token", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.accept_invitation(org_id="org_id", workspace_id="workspace_id", token="token") """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -596,12 +500,7 @@ def accept_invitation( raise ApiError(status_code=_response.status_code, body=_response_json) def create_workspace( - self, - org_id: str, - *, - name: str, - description: typing.Optional[str] = OMIT, - type: typing.Optional[str] = OMIT, + self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT ) -> WorkspaceResponse: """ Parameters: @@ -615,14 +514,8 @@ def create_workspace( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.create_workspace( - org_id="org_id", - name="name", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.create_workspace(org_id="org_id", name="name") """ _request: typing.Dict[str, typing.Any] = {"name": name} if description is not OMIT: @@ -631,10 +524,7 @@ def create_workspace( _request["type"] = type _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -672,14 +562,8 @@ def update_workspace( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.update_workspace( - org_id="org_id", - workspace_id="workspace_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.update_workspace(org_id="org_id", workspace_id="workspace_id") """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -691,8 +575,7 @@ def update_workspace( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -723,17 +606,12 @@ def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.get_all_workspace_roles() """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -760,17 +638,12 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.get_all_workspace_permissions() """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -783,12 +656,7 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) def assign_role_to_user( - self, - workspace_id: str, - *, - email: str, - organization_id: str, - role: typing.Optional[WorkspaceRole] = OMIT, + self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT ) -> bool: """ Assigns a role to a user in a workspace. @@ -816,28 +684,15 @@ def assign_role_to_user( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.assign_role_to_user( - workspace_id="workspace_id", - email="email", - organization_id="organization_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = { - "email": email, - "organization_id": organization_id, - } + _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} if role is not OMIT: - _request["role"] = role.value + _request["role"] = role _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -852,9 +707,7 @@ def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def unassign_role_from_user( - self, workspace_id: str, *, email: str, org_id: str, role: str - ) -> typing.Any: + def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -883,26 +736,13 @@ def unassign_role_from_user( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.unassign_role_from_user( - workspace_id="workspace_id", - email="email", - org_id="org_id", - role="role", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.unassign_role_from_user(workspace_id="workspace_id", email="email", org_id="org_id", role="role") """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), - params=remove_none_from_dict( - {"email": email, "org_id": org_id, "role": role} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -916,9 +756,7 @@ def unassign_role_from_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def remove_user_from_workspace( - self, workspace_id: str, *, org_id: str, email: str - ) -> WorkspaceResponse: + def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -946,22 +784,12 @@ def remove_user_from_workspace( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.remove_user_from_workspace( - workspace_id="workspace_id", - org_id="org_id", - email="email", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.remove_user_from_workspace(workspace_id="workspace_id", org_id="org_id", email="email") """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/users", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -980,10 +808,7 @@ def health_check(self) -> typing.Any: """ from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.health_check() """ _response = self._client_wrapper.httpx_client.request( @@ -1004,10 +829,7 @@ def user_profile(self) -> typing.Any: """ from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.user_profile() """ _response = self._client_wrapper.httpx_client.request( @@ -1026,20 +848,9 @@ def user_profile(self) -> typing.Any: class AsyncAgentaApi: - def __init__( - self, - *, - base_url: str, - api_key: str, - timeout: typing.Optional[float] = 60, - httpx_client: typing.Optional[httpx.AsyncClient] = None, - ): + def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): self._client_wrapper = AsyncClientWrapper( - base_url=base_url, - api_key=api_key, - httpx_client=httpx.AsyncClient(timeout=timeout) - if httpx_client is None - else httpx_client, + base_url=base_url, api_key=api_key, httpx_client=httpx.AsyncClient(timeout=timeout) ) self.apps = AsyncAppsClient(client_wrapper=self._client_wrapper) self.variants = AsyncVariantsClient(client_wrapper=self._client_wrapper) @@ -1048,9 +859,7 @@ def __init__( self.testsets = AsyncTestsetsClient(client_wrapper=self._client_wrapper) self.containers = AsyncContainersClient(client_wrapper=self._client_wrapper) self.environments = AsyncEnvironmentsClient(client_wrapper=self._client_wrapper) - self.observability = AsyncObservabilityClient( - client_wrapper=self._client_wrapper - ) + self.observability = AsyncObservabilityClient(client_wrapper=self._client_wrapper) self.bases = AsyncBasesClient(client_wrapper=self._client_wrapper) self.configs = AsyncConfigsClient(client_wrapper=self._client_wrapper) @@ -1067,10 +876,7 @@ async def list_api_keys(self) -> typing.List[ListApiKeysResponse]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.list_api_keys() """ _response = await self._client_wrapper.httpx_client.request( @@ -1102,13 +908,8 @@ async def create_api_key(self, *, workspace_id: str) -> str: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.create_api_key( - workspace_id="workspace_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.create_api_key(workspace_id="workspace_id") """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -1146,19 +947,12 @@ async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.delete_api_key( - key_prefix="key_prefix", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.delete_api_key(key_prefix="key_prefix") """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1183,19 +977,12 @@ async def validate_api_key(self, key_prefix: str) -> bool: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.validate_api_key( - key_prefix="key_prefix", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.validate_api_key(key_prefix="key_prefix") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1225,17 +1012,12 @@ async def list_organizations(self) -> typing.List[Organization]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.list_organizations() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1267,13 +1049,8 @@ async def create_organization( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.create_organization( - name="name", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.create_organization(name="name") """ _request: typing.Dict[str, typing.Any] = {"name": name} if description is not OMIT: @@ -1284,9 +1061,7 @@ async def create_organization( _request["owner"] = owner _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1305,17 +1080,12 @@ async def get_own_org(self) -> OrganizationOutput: """ from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.get_own_org() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations/own" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1343,19 +1113,12 @@ async def fetch_organization_details(self, org_id: str) -> typing.Any: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.fetch_organization_details( - org_id="org_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.fetch_organization_details(org_id="org_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1389,13 +1152,8 @@ async def update_organization( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.update_organization( - org_id="org_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.update_organization(org_id="org_id") """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -1406,9 +1164,7 @@ async def update_organization( _request["updated_at"] = updated_at _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1437,26 +1193,15 @@ async def invite_user_to_workspace( from agenta import InviteRequest from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.invite_user_to_workspace( - org_id="org_id", - workspace_id="workspace_id", - request=[ - InviteRequest( - email="email", - roles=["roles"], - ) - ], + org_id="org_id", workspace_id="workspace_id", request=[InviteRequest(email="email", roles=["roles"])] ) """ _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}/invite", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -1472,9 +1217,7 @@ async def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def resend_invitation( - self, org_id: str, workspace_id: str, *, email: str - ) -> typing.Any: + async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -1495,15 +1238,8 @@ async def resend_invitation( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.resend_invitation( - org_id="org_id", - workspace_id="workspace_id", - email="email", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.resend_invitation(org_id="org_id", workspace_id="workspace_id", email="email") """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -1525,9 +1261,7 @@ async def resend_invitation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def accept_invitation( - self, org_id: str, workspace_id: str, *, token: str - ) -> typing.Any: + async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: """ Accept an invitation to a workspace. @@ -1548,15 +1282,8 @@ async def accept_invitation( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.accept_invitation( - org_id="org_id", - workspace_id="workspace_id", - token="token", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.accept_invitation(org_id="org_id", workspace_id="workspace_id", token="token") """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -1579,12 +1306,7 @@ async def accept_invitation( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_workspace( - self, - org_id: str, - *, - name: str, - description: typing.Optional[str] = OMIT, - type: typing.Optional[str] = OMIT, + self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT ) -> WorkspaceResponse: """ Parameters: @@ -1598,14 +1320,8 @@ async def create_workspace( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.create_workspace( - org_id="org_id", - name="name", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.create_workspace(org_id="org_id", name="name") """ _request: typing.Dict[str, typing.Any] = {"name": name} if description is not OMIT: @@ -1614,10 +1330,7 @@ async def create_workspace( _request["type"] = type _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1655,14 +1368,8 @@ async def update_workspace( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.update_workspace( - org_id="org_id", - workspace_id="workspace_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.update_workspace(org_id="org_id", workspace_id="workspace_id") """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -1674,8 +1381,7 @@ async def update_workspace( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -1706,17 +1412,12 @@ async def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.get_all_workspace_roles() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1743,17 +1444,12 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.get_all_workspace_permissions() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1766,12 +1462,7 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) async def assign_role_to_user( - self, - workspace_id: str, - *, - email: str, - organization_id: str, - role: typing.Optional[WorkspaceRole] = OMIT, + self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT ) -> bool: """ Assigns a role to a user in a workspace. @@ -1799,28 +1490,15 @@ async def assign_role_to_user( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.assign_role_to_user( - workspace_id="workspace_id", - email="email", - organization_id="organization_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = { - "email": email, - "organization_id": organization_id, - } + _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} if role is not OMIT: - _request["role"] = role.value + _request["role"] = role _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1835,9 +1513,7 @@ async def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def unassign_role_from_user( - self, workspace_id: str, *, email: str, org_id: str, role: str - ) -> typing.Any: + async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -1866,26 +1542,13 @@ async def unassign_role_from_user( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.unassign_role_from_user( - workspace_id="workspace_id", - email="email", - org_id="org_id", - role="role", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.unassign_role_from_user(workspace_id="workspace_id", email="email", org_id="org_id", role="role") """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), - params=remove_none_from_dict( - {"email": email, "org_id": org_id, "role": role} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1899,9 +1562,7 @@ async def unassign_role_from_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def remove_user_from_workspace( - self, workspace_id: str, *, org_id: str, email: str - ) -> WorkspaceResponse: + async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -1929,22 +1590,12 @@ async def remove_user_from_workspace( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.remove_user_from_workspace( - workspace_id="workspace_id", - org_id="org_id", - email="email", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.remove_user_from_workspace(workspace_id="workspace_id", org_id="org_id", email="email") """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/users", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1963,10 +1614,7 @@ async def health_check(self) -> typing.Any: """ from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.health_check() """ _response = await self._client_wrapper.httpx_client.request( @@ -1987,10 +1635,7 @@ async def user_profile(self) -> typing.Any: """ from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.user_profile() """ _response = await self._client_wrapper.httpx_client.request( diff --git a/agenta-cli/agenta/client/backend/core/api_error.py b/agenta-cli/agenta/client/backend/core/api_error.py index da734b5806..2e9fc5431c 100644 --- a/agenta-cli/agenta/client/backend/core/api_error.py +++ b/agenta-cli/agenta/client/backend/core/api_error.py @@ -7,9 +7,7 @@ class ApiError(Exception): status_code: typing.Optional[int] body: typing.Any - def __init__( - self, *, status_code: typing.Optional[int] = None, body: typing.Any = None - ): + def __init__(self, *, status_code: typing.Optional[int] = None, body: typing.Any = None): self.status_code = status_code self.body = body diff --git a/agenta-cli/agenta/client/backend/core/datetime_utils.py b/agenta-cli/agenta/client/backend/core/datetime_utils.py index 47344e9d9c..7c9864a944 100644 --- a/agenta-cli/agenta/client/backend/core/datetime_utils.py +++ b/agenta-cli/agenta/client/backend/core/datetime_utils.py @@ -13,9 +13,7 @@ def serialize_datetime(v: dt.datetime) -> str: """ def _serialize_zoned_datetime(v: dt.datetime) -> str: - if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname( - None - ): + if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname(None): # UTC is a special case where we use "Z" at the end instead of "+00:00" return v.isoformat().replace("+00:00", "Z") else: diff --git a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py index 0e297e18f0..37238ab679 100644 --- a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py +++ b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py @@ -30,22 +30,16 @@ def generate_encoders_by_class_tuples( type_encoder_map: Dict[Any, Callable[[Any], Any]] ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]: - encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict( - tuple - ) + encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(tuple) for type_, encoder in type_encoder_map.items(): encoders_by_class_tuples[encoder] += (type_,) return encoders_by_class_tuples -encoders_by_class_tuples = generate_encoders_by_class_tuples( - pydantic.json.ENCODERS_BY_TYPE -) +encoders_by_class_tuples = generate_encoders_by_class_tuples(pydantic.json.ENCODERS_BY_TYPE) -def jsonable_encoder( - obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None -) -> Any: +def jsonable_encoder(obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None) -> Any: custom_encoder = custom_encoder or {} if custom_encoder: if type(obj) in custom_encoder: diff --git a/agenta-cli/agenta/client/backend/resources/__init__.py b/agenta-cli/agenta/client/backend/resources/__init__.py index 223d38e477..6a7c8f0ca8 100644 --- a/agenta-cli/agenta/client/backend/resources/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/__init__.py @@ -1,17 +1,6 @@ # This file was auto-generated by Fern from our API Definition. -from . import ( - apps, - bases, - configs, - containers, - environments, - evaluations, - evaluators, - observability, - testsets, - variants, -) +from . import apps, bases, configs, containers, environments, evaluations, evaluators, observability, testsets, variants from .containers import ContainerTemplatesResponse from .variants import AddVariantFromBaseAndConfigResponse diff --git a/agenta-cli/agenta/client/backend/resources/apps/__init__.py b/agenta-cli/agenta/client/backend/resources/apps/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/apps/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/apps/client.py b/agenta-cli/agenta/client/backend/resources/apps/client.py index 83c6a6e7a5..960fb5e5f8 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/client.py +++ b/agenta-cli/agenta/client/backend/resources/apps/client.py @@ -45,19 +45,12 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.apps.list_app_variants( - app_id="app_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.list_app_variants(app_id="app_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -71,9 +64,7 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_by_env( - self, *, app_id: str, environment: str - ) -> AppVariantResponse: + def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -95,23 +86,13 @@ def get_variant_by_env( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.apps.get_variant_by_env( - app_id="app_id", - environment="environment", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_variant_by_env(app_id="app_id", environment="environment") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" - ), - params=remove_none_from_dict( - {"app_id": app_id, "environment": environment} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), + params=remove_none_from_dict({"app_id": app_id, "environment": environment}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -155,18 +136,13 @@ def list_apps( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.apps.list_apps() + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.list_apps() """ _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict( - {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} - ), + params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -181,11 +157,7 @@ def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) def create_app( - self, - *, - app_name: str, - organization_id: typing.Optional[str] = OMIT, - workspace_id: typing.Optional[str] = OMIT, + self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -209,13 +181,8 @@ def create_app( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.apps.create_app( - app_name="app_name", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.create_app(app_name="app_name") """ _request: typing.Dict[str, typing.Any] = {"app_name": app_name} if organization_id is not OMIT: @@ -278,32 +245,17 @@ def add_variant_from_image( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.apps.add_variant_from_image( - app_id="app_id", - variant_name="variant_name", - docker_id="docker_id", - tags="tags", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = { - "variant_name": variant_name, - "docker_id": docker_id, - "tags": tags, - } + _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/variant/from-image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -330,19 +282,12 @@ def remove_app(self, app_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.apps.remove_app( - app_id="app_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.remove_app(app_id="app_id") """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -391,14 +336,9 @@ def create_app_and_variant_from_template( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.apps.create_app_and_variant_from_template( - app_name="app_name", - template_id="template_id", - env_vars={"env_vars": "env_vars"}, + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.create_app_and_variant_from_template( + app_name="app_name", template_id="template_id", env_vars={"env_vars": "env_vars"} ) """ _request: typing.Dict[str, typing.Any] = { @@ -412,10 +352,7 @@ def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "apps/app_and_variant_from_template", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -446,19 +383,12 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.apps.list_environments( - app_id="app_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.list_environments(app_id="app_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -472,9 +402,7 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def environment_revisions( - self, app_id: str, environment_name: typing.Any - ) -> EnvironmentOutputExtended: + def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -484,8 +412,7 @@ def environment_revisions( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/revisions/{environment_name}", + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -519,21 +446,14 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse Parameters: - app_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.apps.list_app_variants( - app_id="app_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.list_app_variants(app_id="app_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -547,9 +467,7 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_by_env( - self, *, app_id: str, environment: str - ) -> AppVariantResponse: + async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -569,25 +487,15 @@ async def get_variant_by_env( - environment: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.apps.get_variant_by_env( - app_id="app_id", - environment="environment", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_variant_by_env(app_id="app_id", environment="environment") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" - ), - params=remove_none_from_dict( - {"app_id": app_id, "environment": environment} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), + params=remove_none_from_dict({"app_id": app_id, "environment": environment}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -629,20 +537,15 @@ async def list_apps( - workspace_id: typing.Optional[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.apps.list_apps() + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.list_apps() """ _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict( - {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} - ), + params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -657,11 +560,7 @@ async def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_app( - self, - *, - app_name: str, - organization_id: typing.Optional[str] = OMIT, - workspace_id: typing.Optional[str] = OMIT, + self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -683,15 +582,10 @@ async def create_app( - workspace_id: typing.Optional[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.apps.create_app( - app_name="app_name", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.create_app(app_name="app_name") """ _request: typing.Dict[str, typing.Any] = {"app_name": app_name} if organization_id is not OMIT: @@ -752,34 +646,19 @@ async def add_variant_from_image( - config_name: typing.Optional[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.apps.add_variant_from_image( - app_id="app_id", - variant_name="variant_name", - docker_id="docker_id", - tags="tags", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = { - "variant_name": variant_name, - "docker_id": docker_id, - "tags": tags, - } + _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/variant/from-image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -804,21 +683,14 @@ async def remove_app(self, app_id: str) -> typing.Any: Parameters: - app_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.apps.remove_app( - app_id="app_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.remove_app(app_id="app_id") """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -865,16 +737,11 @@ async def create_app_and_variant_from_template( - workspace_id: typing.Optional[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.apps.create_app_and_variant_from_template( - app_name="app_name", - template_id="template_id", - env_vars={"env_vars": "env_vars"}, + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.create_app_and_variant_from_template( + app_name="app_name", template_id="template_id", env_vars={"env_vars": "env_vars"} ) """ _request: typing.Dict[str, typing.Any] = { @@ -888,10 +755,7 @@ async def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "apps/app_and_variant_from_template", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -920,21 +784,14 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] Parameters: - app_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.apps.list_environments( - app_id="app_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.list_environments(app_id="app_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -948,9 +805,7 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def environment_revisions( - self, app_id: str, environment_name: typing.Any - ) -> EnvironmentOutputExtended: + async def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -960,8 +815,7 @@ async def environment_revisions( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/revisions/{environment_name}", + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/bases/__init__.py b/agenta-cli/agenta/client/backend/resources/bases/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/bases/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/bases/client.py b/agenta-cli/agenta/client/backend/resources/bases/client.py index bb00ffd7f2..f5e0dd5569 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/client.py +++ b/agenta-cli/agenta/client/backend/resources/bases/client.py @@ -22,10 +22,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def list_bases( - self, - *, - app_id: typing.Optional[str] = None, - base_name: typing.Optional[str] = None, + self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. @@ -48,11 +45,8 @@ def list_bases( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.bases.list_bases() + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.list_bases() """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -77,10 +71,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def list_bases( - self, - *, - app_id: typing.Optional[str] = None, - base_name: typing.Optional[str] = None, + self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. @@ -101,13 +92,10 @@ async def list_bases( - base_name: typing.Optional[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.bases.list_bases() + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.list_bases() """ _response = await self._client_wrapper.httpx_client.request( "GET", diff --git a/agenta-cli/agenta/client/backend/resources/configs/__init__.py b/agenta-cli/agenta/client/backend/resources/configs/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/configs/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/configs/client.py b/agenta-cli/agenta/client/backend/resources/configs/client.py index 4e316f406e..bb85bbd5e6 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/client.py +++ b/agenta-cli/agenta/client/backend/resources/configs/client.py @@ -26,11 +26,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def get_config( - self, - *, - base_id: str, - config_name: typing.Optional[str] = None, - environment_name: typing.Optional[str] = None, + self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None ) -> GetConfigResponse: """ Parameters: @@ -42,23 +38,14 @@ def get_config( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.configs.get_config( - base_id="base_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_config(base_id="base_id") """ _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - { - "base_id": base_id, - "config_name": config_name, - "environment_name": environment_name, - } + {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -74,12 +61,7 @@ def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) def save_config( - self, - *, - base_id: str, - config_name: str, - parameters: typing.Dict[str, typing.Any], - overwrite: bool, + self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool ) -> typing.Any: """ Parameters: @@ -93,27 +75,14 @@ def save_config( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.configs.save_config( - base_id="base_id", - config_name="config_name", - parameters={}, - overwrite=True, - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.save_config(base_id="base_id", config_name="config_name", parameters={}, overwrite=True) """ _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - { - "base_id": base_id, - "config_name": config_name, - "parameters": parameters, - "overwrite": overwrite, - } + {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -135,19 +104,13 @@ def get_config_deployment_revision(self, deployment_revision_id: str) -> typing. --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.configs.get_config_deployment_revision( - deployment_revision_id="deployment_revision_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_config_deployment_revision(deployment_revision_id="deployment_revision_id") """ _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -169,19 +132,13 @@ def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.configs.revert_deployment_revision( - deployment_revision_id="deployment_revision_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.revert_deployment_revision(deployment_revision_id="deployment_revision_id") """ _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}/revert", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -202,11 +159,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def get_config( - self, - *, - base_id: str, - config_name: typing.Optional[str] = None, - environment_name: typing.Optional[str] = None, + self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None ) -> GetConfigResponse: """ Parameters: @@ -216,25 +169,16 @@ async def get_config( - environment_name: typing.Optional[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.configs.get_config( - base_id="base_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_config(base_id="base_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - { - "base_id": base_id, - "config_name": config_name, - "environment_name": environment_name, - } + {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -250,12 +194,7 @@ async def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) async def save_config( - self, - *, - base_id: str, - config_name: str, - parameters: typing.Dict[str, typing.Any], - overwrite: bool, + self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool ) -> typing.Any: """ Parameters: @@ -267,29 +206,16 @@ async def save_config( - overwrite: bool. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.configs.save_config( - base_id="base_id", - config_name="config_name", - parameters={}, - overwrite=True, - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.save_config(base_id="base_id", config_name="config_name", parameters={}, overwrite=True) """ _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - { - "base_id": base_id, - "config_name": config_name, - "parameters": parameters, - "overwrite": overwrite, - } + {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -304,28 +230,20 @@ async def save_config( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_config_deployment_revision( - self, deployment_revision_id: str - ) -> typing.Any: + async def get_config_deployment_revision(self, deployment_revision_id: str) -> typing.Any: """ Parameters: - deployment_revision_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.configs.get_config_deployment_revision( - deployment_revision_id="deployment_revision_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_config_deployment_revision(deployment_revision_id="deployment_revision_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -340,28 +258,20 @@ async def get_config_deployment_revision( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def revert_deployment_revision( - self, deployment_revision_id: str - ) -> typing.Any: + async def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: """ Parameters: - deployment_revision_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.configs.revert_deployment_revision( - deployment_revision_id="deployment_revision_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.revert_deployment_revision(deployment_revision_id="deployment_revision_id") """ _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}/revert", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/containers/client.py b/agenta-cli/agenta/client/backend/resources/containers/client.py index 748d649d6b..dd3d7d336d 100644 --- a/agenta-cli/agenta/client/backend/resources/containers/client.py +++ b/agenta-cli/agenta/client/backend/resources/containers/client.py @@ -49,9 +49,7 @@ def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Im """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/build_image" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -80,20 +78,12 @@ def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.containers.restart_container( - variant_id="variant_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.restart_container(variant_id="variant_id") """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "containers/restart_container", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -121,9 +111,7 @@ def container_templates(self) -> ContainerTemplatesResponse: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/templates" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -136,10 +124,7 @@ def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) def construct_app_container_url( - self, - *, - base_id: typing.Optional[str] = None, - variant_id: typing.Optional[str] = None, + self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -162,20 +147,13 @@ def construct_app_container_url( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.containers.construct_app_container_url() + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.construct_app_container_url() """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/container_url" - ), - params=remove_none_from_dict( - {"base_id": base_id, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), + params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -194,9 +172,7 @@ class AsyncContainersClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def build_image( - self, *, app_id: str, base_name: str, tar_file: typing.IO - ) -> Image: + async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Image: """ Builds a Docker image from a tar file containing the application code. @@ -218,9 +194,7 @@ async def build_image( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/build_image" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -237,9 +211,7 @@ async def build_image( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def restart_container( - self, *, variant_id: str - ) -> typing.Dict[str, typing.Any]: + async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: """ Restart docker container. @@ -249,22 +221,14 @@ async def restart_container( Parameters: - variant_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.containers.restart_container( - variant_id="variant_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.restart_container(variant_id="variant_id") """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "containers/restart_container", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -292,9 +256,7 @@ async def container_templates(self) -> ContainerTemplatesResponse: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/templates" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -307,10 +269,7 @@ async def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) async def construct_app_container_url( - self, - *, - base_id: typing.Optional[str] = None, - variant_id: typing.Optional[str] = None, + self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -331,22 +290,15 @@ async def construct_app_container_url( - variant_id: typing.Optional[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.containers.construct_app_container_url() + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.construct_app_container_url() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/container_url" - ), - params=remove_none_from_dict( - {"base_id": base_id, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), + params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/environments/__init__.py b/agenta-cli/agenta/client/backend/resources/environments/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/environments/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/environments/client.py b/agenta-cli/agenta/client/backend/resources/environments/client.py index 8eab01dfb8..f88b1585d9 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/client.py +++ b/agenta-cli/agenta/client/backend/resources/environments/client.py @@ -23,9 +23,7 @@ class EnvironmentsClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper - def deploy_to_environment( - self, *, environment_name: str, variant_id: str - ) -> typing.Any: + def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: """ Deploys a given variant to an environment @@ -44,23 +42,13 @@ def deploy_to_environment( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.environments.deploy_to_environment( - environment_name="environment_name", - variant_id="variant_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.deploy_to_environment(environment_name="environment_name", variant_id="variant_id") """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "environments/deploy" - ), - json=jsonable_encoder( - {"environment_name": environment_name, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), + json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -79,9 +67,7 @@ class AsyncEnvironmentsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def deploy_to_environment( - self, *, environment_name: str, variant_id: str - ) -> typing.Any: + async def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: """ Deploys a given variant to an environment @@ -98,25 +84,15 @@ async def deploy_to_environment( - variant_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.environments.deploy_to_environment( - environment_name="environment_name", - variant_id="variant_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.deploy_to_environment(environment_name="environment_name", variant_id="variant_id") """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "environments/deploy" - ), - json=jsonable_encoder( - {"environment_name": environment_name, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), + json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/client.py b/agenta-cli/agenta/client/backend/resources/evaluations/client.py index 14a6cd62f1..0fe4108c07 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/client.py @@ -29,11 +29,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def fetch_evaluation_ids( - self, - *, - app_id: str, - resource_type: str, - resource_ids: typing.Optional[typing.Union[str, typing.List[str]]] = None, + self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -54,30 +50,18 @@ def fetch_evaluation_ids( - resource_type: str. - - resource_ids: typing.Optional[typing.Union[str, typing.List[str]]]. + - resource_ids: typing.Union[typing.Optional[str], typing.List[str]]. --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluations.fetch_evaluation_ids( - app_id="app_id", - resource_type="resource_type", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.fetch_evaluation_ids(app_id="app_id", resource_type="resource_type") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), params=remove_none_from_dict( - { - "app_id": app_id, - "resource_type": resource_type, - "resource_ids": resource_ids, - } + {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -107,19 +91,12 @@ def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluations.fetch_list_evaluations( - app_id="app_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.fetch_list_evaluations(app_id="app_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -167,24 +144,16 @@ def create_evaluation( - correct_answer_column: typing.Optional[str]. --- - from aybruhm import LlmRunRateLimit + from agenta import LlmRunRateLimit from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluations.create_evaluation( + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.create_evaluation( app_id="app_id", variant_ids=["variant_ids"], evaluators_configs=["evaluators_configs"], testset_id="testset_id", - rate_limit=LlmRunRateLimit( - batch_size=1, - max_retries=1, - retry_delay=1, - delay_between_batches=1, - ), + rate_limit=LlmRunRateLimit(batch_size=1, max_retries=1, retry_delay=1, delay_between_batches=1), ) """ _request: typing.Dict[str, typing.Any] = { @@ -200,9 +169,7 @@ def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -217,9 +184,7 @@ def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def delete_evaluations( - self, *, evaluations_ids: typing.List[str] - ) -> typing.List[str]: + def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -234,19 +199,12 @@ def delete_evaluations( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluations.delete_evaluations( - evaluations_ids=["evaluations_ids"], - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.delete_evaluations(evaluations_ids=["evaluations_ids"]) """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -277,20 +235,12 @@ def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluations.fetch_evaluation_status( - evaluation_id="evaluation_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.fetch_evaluation_status(evaluation_id="evaluation_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/status", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -320,20 +270,12 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluations.fetch_evaluation_results( - evaluation_id="evaluation_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.fetch_evaluation_results(evaluation_id="evaluation_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/results", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -347,9 +289,7 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def fetch_evaluation_scenarios( - self, evaluation_id: str - ) -> typing.List[EvaluationScenario]: + def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -367,19 +307,13 @@ def fetch_evaluation_scenarios( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluations.fetch_evaluation_scenarios( - evaluation_id="evaluation_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.fetch_evaluation_scenarios(evaluation_id="evaluation_id") """ _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/evaluation_scenarios", + f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -409,20 +343,12 @@ def fetch_evaluation(self, evaluation_id: str) -> Evaluation: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluations.fetch_evaluation( - evaluation_id="evaluation_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.fetch_evaluation(evaluation_id="evaluation_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -446,18 +372,12 @@ def webhook_example_fake(self) -> EvaluationWebhook: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluations.webhook_example_fake() + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.webhook_example_fake() """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/webhook_example_fake", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -487,19 +407,13 @@ def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluations.fetch_evaluation_scenarios( - evaluations_ids="evaluations_ids", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.fetch_evaluation_scenarios(evaluations_ids="evaluations_ids") """ _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/evaluation_scenarios/comparison-results", + f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), @@ -521,11 +435,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def fetch_evaluation_ids( - self, - *, - app_id: str, - resource_type: str, - resource_ids: typing.Optional[typing.Union[str, typing.List[str]]] = None, + self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -546,30 +456,18 @@ async def fetch_evaluation_ids( - resource_type: str. - - resource_ids: typing.Optional[typing.Union[str, typing.List[str]]]. + - resource_ids: typing.Union[typing.Optional[str], typing.List[str]]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluations.fetch_evaluation_ids( - app_id="app_id", - resource_type="resource_type", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.fetch_evaluation_ids(app_id="app_id", resource_type="resource_type") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), params=remove_none_from_dict( - { - "app_id": app_id, - "resource_type": resource_type, - "resource_ids": resource_ids, - } + {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -597,21 +495,14 @@ async def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation Parameters: - app_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluations.fetch_list_evaluations( - app_id="app_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.fetch_list_evaluations(app_id="app_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -659,24 +550,16 @@ async def create_evaluation( - correct_answer_column: typing.Optional[str]. --- - from aybruhm import LlmRunRateLimit - from agenta.client import AsyncAybruhmApi + from agenta import LlmRunRateLimit + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluations.create_evaluation( + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.create_evaluation( app_id="app_id", variant_ids=["variant_ids"], evaluators_configs=["evaluators_configs"], testset_id="testset_id", - rate_limit=LlmRunRateLimit( - batch_size=1, - max_retries=1, - retry_delay=1, - delay_between_batches=1, - ), + rate_limit=LlmRunRateLimit(batch_size=1, max_retries=1, retry_delay=1, delay_between_batches=1), ) """ _request: typing.Dict[str, typing.Any] = { @@ -692,9 +575,7 @@ async def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -709,9 +590,7 @@ async def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_evaluations( - self, *, evaluations_ids: typing.List[str] - ) -> typing.List[str]: + async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -724,21 +603,14 @@ async def delete_evaluations( Parameters: - evaluations_ids: typing.List[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluations.delete_evaluations( - evaluations_ids=["evaluations_ids"], - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.delete_evaluations(evaluations_ids=["evaluations_ids"]) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -767,22 +639,14 @@ async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: Parameters: - evaluation_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluations.fetch_evaluation_status( - evaluation_id="evaluation_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.fetch_evaluation_status(evaluation_id="evaluation_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/status", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -810,22 +674,14 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: Parameters: - evaluation_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluations.fetch_evaluation_results( - evaluation_id="evaluation_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.fetch_evaluation_results(evaluation_id="evaluation_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/results", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -839,9 +695,7 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def fetch_evaluation_scenarios( - self, evaluation_id: str - ) -> typing.List[EvaluationScenario]: + async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -857,21 +711,15 @@ async def fetch_evaluation_scenarios( Parameters: - evaluation_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluations.fetch_evaluation_scenarios( - evaluation_id="evaluation_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.fetch_evaluation_scenarios(evaluation_id="evaluation_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/evaluation_scenarios", + f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -899,22 +747,14 @@ async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: Parameters: - evaluation_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluations.fetch_evaluation( - evaluation_id="evaluation_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.fetch_evaluation(evaluation_id="evaluation_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -936,20 +776,14 @@ async def webhook_example_fake(self) -> EvaluationWebhook: _description_ --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluations.webhook_example_fake() + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.webhook_example_fake() """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/webhook_example_fake", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -977,21 +811,15 @@ async def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.An Parameters: - evaluations_ids: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluations.fetch_evaluation_scenarios( - evaluations_ids="evaluations_ids", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.fetch_evaluation_scenarios(evaluations_ids="evaluations_ids") """ _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/evaluation_scenarios/comparison-results", + f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/client.py b/agenta-cli/agenta/client/backend/resources/evaluators/client.py index 5a194d1b55..02a2896772 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/client.py @@ -36,17 +36,12 @@ def get_evaluators_endpoint(self) -> typing.List[Evaluator]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluators.get_evaluators_endpoint() + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_evaluators_endpoint() """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -73,19 +68,12 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluators.get_evaluator_configs( - app_id="app_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_evaluator_configs(app_id="app_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -101,12 +89,7 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: raise ApiError(status_code=_response.status_code, body=_response_json) def create_new_evaluator_config( - self, - *, - app_id: str, - name: str, - evaluator_key: str, - settings_values: typing.Dict[str, typing.Any], + self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -128,29 +111,14 @@ def create_new_evaluator_config( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluators.create_new_evaluator_config( - app_id="app_id", - name="name", - evaluator_key="evaluator_key", - settings_values={}, - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.create_new_evaluator_config(app_id="app_id", name="name", evaluator_key="evaluator_key", settings_values={}) """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), json=jsonable_encoder( - { - "app_id": app_id, - "name": name, - "evaluator_key": evaluator_key, - "settings_values": settings_values, - } + {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -177,19 +145,13 @@ def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluators.get_evaluator_config( - evaluator_config_id="evaluator_config_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_evaluator_config(evaluator_config_id="evaluator_config_id") """ _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -229,13 +191,8 @@ def update_evaluator_config( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluators.update_evaluator_config( - evaluator_config_id="evaluator_config_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.update_evaluator_config(evaluator_config_id="evaluator_config_id") """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -247,8 +204,7 @@ def update_evaluator_config( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -279,19 +235,13 @@ def delete_evaluator_config(self, evaluator_config_id: str) -> bool: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.evaluators.delete_evaluator_config( - evaluator_config_id="evaluator_config_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.delete_evaluator_config(evaluator_config_id="evaluator_config_id") """ _response = self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -319,19 +269,14 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: List[Evaluator]: A list of evaluator objects. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluators.get_evaluators_endpoint() + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_evaluators_endpoint() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -343,9 +288,7 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_evaluator_configs( - self, *, app_id: str - ) -> typing.List[EvaluatorConfig]: + async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: """ Endpoint to fetch evaluator configurations for a specific app. @@ -358,21 +301,14 @@ async def get_evaluator_configs( Parameters: - app_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluators.get_evaluator_configs( - app_id="app_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_evaluator_configs(app_id="app_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -388,12 +324,7 @@ async def get_evaluator_configs( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_new_evaluator_config( - self, - *, - app_id: str, - name: str, - evaluator_key: str, - settings_values: typing.Dict[str, typing.Any], + self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -413,31 +344,18 @@ async def create_new_evaluator_config( - settings_values: typing.Dict[str, typing.Any]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluators.create_new_evaluator_config( - app_id="app_id", - name="name", - evaluator_key="evaluator_key", - settings_values={}, + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.create_new_evaluator_config( + app_id="app_id", name="name", evaluator_key="evaluator_key", settings_values={} ) """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), json=jsonable_encoder( - { - "app_id": app_id, - "name": name, - "evaluator_key": evaluator_key, - "settings_values": settings_values, - } + {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -462,21 +380,15 @@ async def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfi Parameters: - evaluator_config_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluators.get_evaluator_config( - evaluator_config_id="evaluator_config_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_evaluator_config(evaluator_config_id="evaluator_config_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -514,15 +426,10 @@ async def update_evaluator_config( - settings_values: typing.Optional[typing.Dict[str, typing.Any]]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluators.update_evaluator_config( - evaluator_config_id="evaluator_config_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.update_evaluator_config(evaluator_config_id="evaluator_config_id") """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -534,8 +441,7 @@ async def update_evaluator_config( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -564,21 +470,15 @@ async def delete_evaluator_config(self, evaluator_config_id: str) -> bool: Parameters: - evaluator_config_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.evaluators.delete_evaluator_config( - evaluator_config_id="evaluator_config_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.delete_evaluator_config(evaluator_config_id="evaluator_config_id") """ _response = await self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/observability/__init__.py b/agenta-cli/agenta/client/backend/resources/observability/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/observability/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index 4b870a55d4..4ac1a6f809 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -13,8 +13,9 @@ from ...types.feedback import Feedback from ...types.http_validation_error import HttpValidationError from ...types.observability_dashboard_data import ObservabilityDashboardData -from ...types.span import Span from ...types.span_detail import SpanDetail +from ...types.span_status import SpanStatus +from ...types.with_pagination import WithPagination try: import pydantic.v1 as pydantic # type: ignore @@ -29,26 +30,42 @@ class ObservabilityClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper - def dashboard(self) -> ObservabilityDashboardData: + def dashboard( + self, + *, + start_time: typing.Optional[int] = None, + end_time: typing.Optional[int] = None, + environment: typing.Optional[str] = None, + variant: typing.Optional[str] = None, + ) -> ObservabilityDashboardData: """ + Parameters: + - start_time: typing.Optional[int]. + + - end_time: typing.Optional[int]. + + - environment: typing.Optional[str]. + + - variant: typing.Optional[str]. + --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.observability.dashboard() + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.dashboard() """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + params=remove_none_from_dict( + {"startTime": start_time, "endTime": end_time, "environment": environment, "variant": variant} ), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: return pydantic.parse_obj_as(ObservabilityDashboardData, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: _response_json = _response.json() except JSONDecodeError: @@ -96,14 +113,8 @@ def create_trace( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.observability.create_trace( - latency=1.1, - spans=["spans"], - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.create_trace(latency=1.1, spans=["spans"]) """ _request: typing.Dict[str, typing.Any] = {"latency": latency, "spans": spans} if app_id is not OMIT: @@ -126,9 +137,7 @@ def create_trace( _request["end_time"] = end_time _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/trace" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -144,31 +153,52 @@ def create_trace( raise ApiError(status_code=_response.status_code, body=_response_json) def get_spans_of_generation( - self, *, type: typing.Optional[str] = None - ) -> typing.List[Span]: + self, + *, + page: typing.Optional[int] = None, + page_size: typing.Optional[int] = None, + type: typing.Optional[str] = None, + environment: typing.Optional[str] = None, + variant: typing.Optional[str] = None, + created_at: typing.Optional[str] = None, + ) -> WithPagination: """ Parameters: + - page: typing.Optional[int]. + + - page_size: typing.Optional[int]. + - type: typing.Optional[str]. + + - environment: typing.Optional[str]. + + - variant: typing.Optional[str]. + + - created_at: typing.Optional[str]. --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.observability.get_spans_of_generation() + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_spans_of_generation() """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + params=remove_none_from_dict( + { + "page": page, + "pageSize": page_size, + "type": type, + "environment": environment, + "variant": variant, + "created_at": created_at, + } ), - params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Span], _response.json()) # type: ignore + return pydantic.parse_obj_as(WithPagination, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -186,7 +216,7 @@ def create_span( event_type: typing.Optional[str] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, duration: typing.Optional[int] = OMIT, - status: str, + status: SpanStatus, inputs: typing.Optional[typing.List[str]] = OMIT, outputs: typing.Optional[typing.List[str]] = OMIT, prompt_template: typing.Optional[str] = OMIT, @@ -210,7 +240,7 @@ def create_span( - duration: typing.Optional[int]. - - status: str. + - status: SpanStatus. - inputs: typing.Optional[typing.List[str]]. @@ -228,21 +258,13 @@ def create_span( - tags: typing.Optional[typing.List[str]]. --- + from agenta import SpanStatus from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.observability.create_span( - event_name="event_name", - status="status", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.create_span(event_name="event_name", status=SpanStatus()) """ - _request: typing.Dict[str, typing.Any] = { - "event_name": event_name, - "status": status, - } + _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: @@ -271,9 +293,7 @@ def create_span( _request["tags"] = tags _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -288,9 +308,7 @@ def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_span_of_generation( - self, span_id: str, *, type: typing.Optional[str] = None - ) -> SpanDetail: + def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: """ Parameters: - span_id: str. @@ -299,20 +317,12 @@ def get_span_of_generation( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.observability.get_span_of_generation( - span_id="span_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_span_of_generation(span_id="span_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{span_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -336,21 +346,12 @@ def update_trace_status(self, trace_id: str, *, status: str) -> bool: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.observability.update_trace_status( - trace_id="trace_id", - status="status", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.update_trace_status(trace_id="trace_id", status="status") """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), json=jsonable_encoder({"status": status}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -372,20 +373,12 @@ def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.observability.get_feedbacks( - trace_id="trace_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_feedbacks(trace_id="trace_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -419,13 +412,8 @@ def create_feedback( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.observability.create_feedback( - trace_id="trace_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.create_feedback(trace_id="trace_id") """ _request: typing.Dict[str, typing.Any] = {} if feedback is not OMIT: @@ -436,10 +424,7 @@ def create_feedback( _request["meta"] = meta _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -463,20 +448,13 @@ def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.observability.get_feedback( - trace_id="trace_id", - feedback_id="feedback_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_feedback(trace_id="trace_id", feedback_id="feedback_id") """ _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -514,15 +492,8 @@ def update_feedback( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.observability.update_feedback( - trace_id="trace_id", - feedback_id="feedback_id", - feedback="feedback", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.update_feedback(trace_id="trace_id", feedback_id="feedback_id", feedback="feedback") """ _request: typing.Dict[str, typing.Any] = {"feedback": feedback} if score is not OMIT: @@ -532,8 +503,7 @@ def update_feedback( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -554,26 +524,42 @@ class AsyncObservabilityClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def dashboard(self) -> ObservabilityDashboardData: + async def dashboard( + self, + *, + start_time: typing.Optional[int] = None, + end_time: typing.Optional[int] = None, + environment: typing.Optional[str] = None, + variant: typing.Optional[str] = None, + ) -> ObservabilityDashboardData: """ - from agenta.client import AsyncAybruhmApi + Parameters: + - start_time: typing.Optional[int]. - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.observability.dashboard() + - end_time: typing.Optional[int]. + + - environment: typing.Optional[str]. + + - variant: typing.Optional[str]. + --- + from agenta.client import AsyncAgentaApi + + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.dashboard() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + params=remove_none_from_dict( + {"startTime": start_time, "endTime": end_time, "environment": environment, "variant": variant} ), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: return pydantic.parse_obj_as(ObservabilityDashboardData, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: _response_json = _response.json() except JSONDecodeError: @@ -599,7 +585,7 @@ async def create_trace( Parameters: - app_id: typing.Optional[str]. - - base_id: typing.Optional[str]. + - base_id: typing.Optional[str]. - config_name: typing.Optional[str]. @@ -619,16 +605,10 @@ async def create_trace( - spans: typing.List[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.observability.create_trace( - latency=1.1, - spans=["spans"], - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.create_trace(latency=1.1, spans=["spans"]) """ _request: typing.Dict[str, typing.Any] = {"latency": latency, "spans": spans} if app_id is not OMIT: @@ -651,9 +631,7 @@ async def create_trace( _request["end_time"] = end_time _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/trace" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -669,31 +647,52 @@ async def create_trace( raise ApiError(status_code=_response.status_code, body=_response_json) async def get_spans_of_generation( - self, *, type: typing.Optional[str] = None - ) -> typing.List[Span]: + self, + *, + page: typing.Optional[int] = None, + page_size: typing.Optional[int] = None, + type: typing.Optional[str] = None, + environment: typing.Optional[str] = None, + variant: typing.Optional[str] = None, + created_at: typing.Optional[str] = None, + ) -> WithPagination: """ Parameters: + - page: typing.Optional[int]. + + - page_size: typing.Optional[int]. + - type: typing.Optional[str]. + + - environment: typing.Optional[str]. + + - variant: typing.Optional[str]. + + - created_at: typing.Optional[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.observability.get_spans_of_generation() + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_spans_of_generation() """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + params=remove_none_from_dict( + { + "page": page, + "pageSize": page_size, + "type": type, + "environment": environment, + "variant": variant, + "created_at": created_at, + } ), - params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(typing.List[Span], _response.json()) # type: ignore + return pydantic.parse_obj_as(WithPagination, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -711,7 +710,7 @@ async def create_span( event_type: typing.Optional[str] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, duration: typing.Optional[int] = OMIT, - status: str, + status: SpanStatus, inputs: typing.Optional[typing.List[str]] = OMIT, outputs: typing.Optional[typing.List[str]] = OMIT, prompt_template: typing.Optional[str] = OMIT, @@ -735,7 +734,7 @@ async def create_span( - duration: typing.Optional[int]. - - status: str. + - status: SpanStatus. - inputs: typing.Optional[typing.List[str]]. @@ -753,21 +752,13 @@ async def create_span( - tags: typing.Optional[typing.List[str]]. --- - from agenta.client import AsyncAybruhmApi + from agenta import SpanStatus + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.observability.create_span( - event_name="event_name", - status="status", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.create_span(event_name="event_name", status=SpanStatus()) """ - _request: typing.Dict[str, typing.Any] = { - "event_name": event_name, - "status": status, - } + _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: @@ -796,9 +787,7 @@ async def create_span( _request["tags"] = tags _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -813,31 +802,21 @@ async def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_span_of_generation( - self, span_id: str, *, type: typing.Optional[str] = None - ) -> SpanDetail: + async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: """ Parameters: - span_id: str. - type: typing.Optional[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.observability.get_span_of_generation( - span_id="span_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_span_of_generation(span_id="span_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{span_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -859,23 +838,14 @@ async def update_trace_status(self, trace_id: str, *, status: str) -> bool: - status: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.observability.update_trace_status( - trace_id="trace_id", - status="status", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.update_trace_status(trace_id="trace_id", status="status") """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), json=jsonable_encoder({"status": status}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -895,22 +865,14 @@ async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: Parameters: - trace_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.observability.get_feedbacks( - trace_id="trace_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_feedbacks(trace_id="trace_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -942,15 +904,10 @@ async def create_feedback( - meta: typing.Optional[typing.Dict[str, typing.Any]]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.observability.create_feedback( - trace_id="trace_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.create_feedback(trace_id="trace_id") """ _request: typing.Dict[str, typing.Any] = {} if feedback is not OMIT: @@ -961,10 +918,7 @@ async def create_feedback( _request["meta"] = meta _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -986,22 +940,15 @@ async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: - feedback_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.observability.get_feedback( - trace_id="trace_id", - feedback_id="feedback_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_feedback(trace_id="trace_id", feedback_id="feedback_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1037,17 +984,10 @@ async def update_feedback( - meta: typing.Optional[typing.Dict[str, typing.Any]]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.observability.update_feedback( - trace_id="trace_id", - feedback_id="feedback_id", - feedback="feedback", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.update_feedback(trace_id="trace_id", feedback_id="feedback_id", feedback="feedback") """ _request: typing.Dict[str, typing.Any] = {"feedback": feedback} if score is not OMIT: @@ -1057,8 +997,7 @@ async def update_feedback( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/testsets/client.py b/agenta-cli/agenta/client/backend/resources/testsets/client.py index 099e5ecd72..29918d8a8f 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/client.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/client.py @@ -52,16 +52,8 @@ def upload_file( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/upload" - ), - data=jsonable_encoder( - { - "upload_type": upload_type, - "testset_name": testset_name, - "app_id": app_id, - } - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), + data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -90,17 +82,12 @@ def import_testset(self) -> TestSetSimpleResponse: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.testsets.import_testset() + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.import_testset() """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -114,9 +101,7 @@ def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_testset( - self, app_id: str, *, request: NewTestset - ) -> TestSetSimpleResponse: + def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -133,26 +118,15 @@ def create_testset( - request: NewTestset. --- - from aybruhm import NewTestset + from agenta import NewTestset from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.testsets.create_testset( - app_id="app_id", - request=NewTestset( - name="name", - csvdata=[{"csvdata": "csvdata"}], - ), - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.create_testset(app_id="app_id", request=NewTestset(name="name", csvdata=[{"csvdata": "csvdata"}])) """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -182,19 +156,12 @@ def get_single_testset(self, testset_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.testsets.get_single_testset( - testset_id="testset_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_single_testset(testset_id="testset_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -224,26 +191,15 @@ def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: - request: NewTestset. --- - from aybruhm import NewTestset + from agenta import NewTestset from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.testsets.update_testset( - testset_id="testset_id", - request=NewTestset( - name="name", - csvdata=[{"csvdata": "csvdata"}], - ), - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.update_testset(testset_id="testset_id", request=NewTestset(name="name", csvdata=[{"csvdata": "csvdata"}])) """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -275,13 +231,8 @@ def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputResponse]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.testsets.get_testsets( - app_id="app_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_testsets(app_id="app_id") """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -315,13 +266,8 @@ def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.testsets.delete_testsets( - testset_ids=["testset_ids"], - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.delete_testsets(testset_ids=["testset_ids"]) """ _response = self._client_wrapper.httpx_client.request( "DELETE", @@ -370,16 +316,8 @@ async def upload_file( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/upload" - ), - data=jsonable_encoder( - { - "upload_type": upload_type, - "testset_name": testset_name, - "app_id": app_id, - } - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), + data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -406,19 +344,14 @@ async def import_testset(self) -> TestSetSimpleResponse: dict: The result of the import process. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.testsets.import_testset() + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.import_testset() """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -432,9 +365,7 @@ async def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_testset( - self, app_id: str, *, request: NewTestset - ) -> TestSetSimpleResponse: + async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -451,26 +382,15 @@ async def create_testset( - request: NewTestset. --- - from aybruhm import NewTestset - from agenta.client import AsyncAybruhmApi + from agenta import NewTestset + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.testsets.create_testset( - app_id="app_id", - request=NewTestset( - name="name", - csvdata=[{"csvdata": "csvdata"}], - ), - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.create_testset(app_id="app_id", request=NewTestset(name="name", csvdata=[{"csvdata": "csvdata"}])) """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -498,21 +418,14 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: Parameters: - testset_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.testsets.get_single_testset( - testset_id="testset_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_single_testset(testset_id="testset_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -526,9 +439,7 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_testset( - self, testset_id: str, *, request: NewTestset - ) -> typing.Any: + async def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: """ Update a testset with given id, update the testset in MongoDB. @@ -544,26 +455,15 @@ async def update_testset( - request: NewTestset. --- - from aybruhm import NewTestset - from agenta.client import AsyncAybruhmApi + from agenta import NewTestset + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.testsets.update_testset( - testset_id="testset_id", - request=NewTestset( - name="name", - csvdata=[{"csvdata": "csvdata"}], - ), - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.update_testset(testset_id="testset_id", request=NewTestset(name="name", csvdata=[{"csvdata": "csvdata"}])) """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -593,15 +493,10 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons Parameters: - app_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.testsets.get_testsets( - app_id="app_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_testsets(app_id="app_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -620,9 +515,7 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_testsets( - self, *, testset_ids: typing.List[str] - ) -> typing.List[str]: + async def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: """ Delete specific testsets based on their unique IDs. @@ -635,15 +528,10 @@ async def delete_testsets( Parameters: - testset_ids: typing.List[str]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.testsets.delete_testsets( - testset_ids=["testset_ids"], - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.delete_testsets(testset_ids=["testset_ids"]) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", diff --git a/agenta-cli/agenta/client/backend/resources/variants/client.py b/agenta-cli/agenta/client/backend/resources/variants/client.py index cea0069084..8dd04082ad 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/client.py +++ b/agenta-cli/agenta/client/backend/resources/variants/client.py @@ -14,9 +14,7 @@ from ...types.image import Image from ...types.uri import Uri from ...types.variant_action import VariantAction -from .types.add_variant_from_base_and_config_response import ( - AddVariantFromBaseAndConfigResponse, -) +from .types.add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse try: import pydantic.v1 as pydantic # type: ignore @@ -32,12 +30,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def add_variant_from_base_and_config( - self, - *, - base_id: str, - new_variant_name: str, - new_config_name: str, - parameters: typing.Dict[str, typing.Any], + self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -64,9 +57,7 @@ def add_variant_from_base_and_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "variants/from-base" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), json=jsonable_encoder( { "base_id": base_id, @@ -95,19 +86,12 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.variants.get_variant( - variant_id="variant_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_variant(variant_id="variant_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -122,11 +106,7 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) def start_variant( - self, - variant_id: str, - *, - action: VariantAction, - env_vars: typing.Optional[DockerEnvVars] = OMIT, + self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT ) -> Uri: """ Start a variant of an app. @@ -150,28 +130,18 @@ def start_variant( - env_vars: typing.Optional[DockerEnvVars]. --- - from aybruhm import VariantAction, VariantActionEnum + from agenta import VariantAction, VariantActionEnum from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.variants.start_variant( - variant_id="variant_id", - action=VariantAction( - action=VariantActionEnum.START, - ), - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.start_variant(variant_id="variant_id", action=VariantAction(action=VariantActionEnum.START)) """ _request: typing.Dict[str, typing.Any] = {"action": action} if env_vars is not OMIT: _request["env_vars"] = env_vars _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -202,19 +172,12 @@ def remove_variant(self, variant_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.variants.remove_variant( - variant_id="variant_id", - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.remove_variant(variant_id="variant_id") """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -228,9 +191,7 @@ def remove_variant(self, variant_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_variant_parameters( - self, variant_id: str, *, parameters: typing.Dict[str, typing.Any] - ) -> typing.Any: + def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[str, typing.Any]) -> typing.Any: """ Updates the parameters for an app variant. @@ -252,21 +213,12 @@ def update_variant_parameters( --- from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.variants.update_variant_parameters( - variant_id="variant_id", - parameters={}, - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.update_variant_parameters(variant_id="variant_id", parameters={}) """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/parameters", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -300,27 +252,15 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any - request: Image. --- - from aybruhm import Image + from agenta import Image from agenta.client import AgentaApi - client = AgentaApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - client.variants.update_variant_image( - variant_id="variant_id", - request=Image( - docker_id="docker_id", - tags="tags", - ), - ) + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.update_variant_image(variant_id="variant_id", request=Image(docker_id="docker_id", tags="tags")) """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -341,12 +281,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def add_variant_from_base_and_config( - self, - *, - base_id: str, - new_variant_name: str, - new_config_name: str, - parameters: typing.Dict[str, typing.Any], + self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -373,9 +308,7 @@ async def add_variant_from_base_and_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "variants/from-base" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), json=jsonable_encoder( { "base_id": base_id, @@ -402,21 +335,14 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: Parameters: - variant_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.variants.get_variant( - variant_id="variant_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_variant(variant_id="variant_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -431,11 +357,7 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) async def start_variant( - self, - variant_id: str, - *, - action: VariantAction, - env_vars: typing.Optional[DockerEnvVars] = OMIT, + self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT ) -> Uri: """ Start a variant of an app. @@ -459,28 +381,18 @@ async def start_variant( - env_vars: typing.Optional[DockerEnvVars]. --- - from aybruhm import VariantAction, VariantActionEnum - from agenta.client import AsyncAybruhmApi + from agenta import VariantAction, VariantActionEnum + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.variants.start_variant( - variant_id="variant_id", - action=VariantAction( - action=VariantActionEnum.START, - ), - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.start_variant(variant_id="variant_id", action=VariantAction(action=VariantActionEnum.START)) """ _request: typing.Dict[str, typing.Any] = {"action": action} if env_vars is not OMIT: _request["env_vars"] = env_vars _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -509,21 +421,14 @@ async def remove_variant(self, variant_id: str) -> typing.Any: Parameters: - variant_id: str. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.variants.remove_variant( - variant_id="variant_id", - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.remove_variant(variant_id="variant_id") """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -559,23 +464,14 @@ async def update_variant_parameters( - parameters: typing.Dict[str, typing.Any]. --- - from agenta.client import AsyncAybruhmApi + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.variants.update_variant_parameters( - variant_id="variant_id", - parameters={}, - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.update_variant_parameters(variant_id="variant_id", parameters={}) """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/parameters", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -590,9 +486,7 @@ async def update_variant_parameters( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_variant_image( - self, variant_id: str, *, request: Image - ) -> typing.Any: + async def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any: """ Updates the image used in an app variant. @@ -611,27 +505,15 @@ async def update_variant_image( - request: Image. --- - from aybruhm import Image - from agenta.client import AsyncAybruhmApi + from agenta import Image + from agenta.client import AsyncAgentaApi - client = AsyncAybruhmApi( - api_key="YOUR_API_KEY", - base_url="https://yourhost.com/path/to/api", - ) - await client.variants.update_variant_image( - variant_id="variant_id", - request=Image( - docker_id="docker_id", - tags="tags", - ), - ) + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.update_variant_image(variant_id="variant_id", request=Image(docker_id="docker_id", tags="tags")) """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py index fac6b42753..b3bfbb0781 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py @@ -1,7 +1,5 @@ # This file was auto-generated by Fern from our API Definition. -from .add_variant_from_base_and_config_response import ( - AddVariantFromBaseAndConfigResponse, -) +from .add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse __all__ = ["AddVariantFromBaseAndConfigResponse"] diff --git a/agenta-cli/agenta/client/backend/types/__init__.py b/agenta-cli/agenta/client/backend/types/__init__.py index 77f0bdec08..377f166736 100644 --- a/agenta-cli/agenta/client/backend/types/__init__.py +++ b/agenta-cli/agenta/client/backend/types/__init__.py @@ -20,6 +20,7 @@ from .evaluation_scenario_input import EvaluationScenarioInput from .evaluation_scenario_output import EvaluationScenarioOutput from .evaluation_scenario_result import EvaluationScenarioResult +from .evaluation_scenario_score_update import EvaluationScenarioScoreUpdate from .evaluation_status_enum import EvaluationStatusEnum from .evaluation_type import EvaluationType from .evaluation_webhook import EvaluationWebhook @@ -51,7 +52,6 @@ from .result import Result from .score import Score from .simple_evaluation_output import SimpleEvaluationOutput -from .span import Span from .span_detail import SpanDetail from .span_status import SpanStatus from .span_variant import SpanVariant @@ -65,6 +65,7 @@ from .validation_error_loc_item import ValidationErrorLocItem from .variant_action import VariantAction from .variant_action_enum import VariantActionEnum +from .with_pagination import WithPagination from .workspace_member_response import WorkspaceMemberResponse from .workspace_permission import WorkspacePermission from .workspace_response import WorkspaceResponse @@ -92,6 +93,7 @@ "EvaluationScenarioInput", "EvaluationScenarioOutput", "EvaluationScenarioResult", + "EvaluationScenarioScoreUpdate", "EvaluationStatusEnum", "EvaluationType", "EvaluationWebhook", @@ -123,7 +125,6 @@ "Result", "Score", "SimpleEvaluationOutput", - "Span", "SpanDetail", "SpanStatus", "SpanVariant", @@ -137,6 +138,7 @@ "ValidationErrorLocItem", "VariantAction", "VariantActionEnum", + "WithPagination", "WorkspaceMemberResponse", "WorkspacePermission", "WorkspaceResponse", diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result.py b/agenta-cli/agenta/client/backend/types/aggregated_result.py index 378e25bd96..cdfc47d3eb 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result.py @@ -18,19 +18,11 @@ class AggregatedResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py index 0af9c60a8e..567c18f49d 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py @@ -4,6 +4,4 @@ from .evaluator_config import EvaluatorConfig -AggregatedResultEvaluatorConfig = typing.Union[ - EvaluatorConfig, typing.Dict[str, typing.Any] -] +AggregatedResultEvaluatorConfig = typing.Union[EvaluatorConfig, typing.Dict[str, typing.Any]] diff --git a/agenta-cli/agenta/client/backend/types/app.py b/agenta-cli/agenta/client/backend/types/app.py index 7611dc75e9..be4e77b499 100644 --- a/agenta-cli/agenta/client/backend/types/app.py +++ b/agenta-cli/agenta/client/backend/types/app.py @@ -16,19 +16,11 @@ class App(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py index 7afa9ba62c..667bd4c295 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py @@ -30,19 +30,11 @@ class AppVariantOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_response.py b/agenta-cli/agenta/client/backend/types/app_variant_response.py index 89f974a2b8..83a720f832 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_response.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_response.py @@ -27,19 +27,11 @@ class AppVariantResponse(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_revision.py b/agenta-cli/agenta/client/backend/types/app_variant_revision.py index 39976d7a25..38434297c3 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_revision.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_revision.py @@ -19,19 +19,11 @@ class AppVariantRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/base_output.py b/agenta-cli/agenta/client/backend/types/base_output.py index 43a0e31eae..2a0a9b41bd 100644 --- a/agenta-cli/agenta/client/backend/types/base_output.py +++ b/agenta-cli/agenta/client/backend/types/base_output.py @@ -16,19 +16,11 @@ class BaseOutput(pydantic.BaseModel): base_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/body_import_testset.py b/agenta-cli/agenta/client/backend/types/body_import_testset.py index f06788d80d..1cfab34428 100644 --- a/agenta-cli/agenta/client/backend/types/body_import_testset.py +++ b/agenta-cli/agenta/client/backend/types/body_import_testset.py @@ -17,19 +17,11 @@ class BodyImportTestset(pydantic.BaseModel): app_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/config_db.py b/agenta-cli/agenta/client/backend/types/config_db.py index 7e7b9004fd..7414370572 100644 --- a/agenta-cli/agenta/client/backend/types/config_db.py +++ b/agenta-cli/agenta/client/backend/types/config_db.py @@ -16,19 +16,11 @@ class ConfigDb(pydantic.BaseModel): parameters: typing.Optional[typing.Dict[str, typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/create_app_output.py b/agenta-cli/agenta/client/backend/types/create_app_output.py index a736531605..adcf9fdfee 100644 --- a/agenta-cli/agenta/client/backend/types/create_app_output.py +++ b/agenta-cli/agenta/client/backend/types/create_app_output.py @@ -16,19 +16,11 @@ class CreateAppOutput(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/docker_env_vars.py b/agenta-cli/agenta/client/backend/types/docker_env_vars.py index ea0c144502..9a0630554a 100644 --- a/agenta-cli/agenta/client/backend/types/docker_env_vars.py +++ b/agenta-cli/agenta/client/backend/types/docker_env_vars.py @@ -15,19 +15,11 @@ class DockerEnvVars(pydantic.BaseModel): env_vars: typing.Dict[str, str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output.py b/agenta-cli/agenta/client/backend/types/environment_output.py index 6268b56c14..feb80a72f5 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output.py +++ b/agenta-cli/agenta/client/backend/types/environment_output.py @@ -22,19 +22,11 @@ class EnvironmentOutput(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output_extended.py b/agenta-cli/agenta/client/backend/types/environment_output_extended.py index 75eea02d69..41baf24d13 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/environment_output_extended.py @@ -24,19 +24,11 @@ class EnvironmentOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_revision.py b/agenta-cli/agenta/client/backend/types/environment_revision.py index c98bf70e74..cf8aa77edd 100644 --- a/agenta-cli/agenta/client/backend/types/environment_revision.py +++ b/agenta-cli/agenta/client/backend/types/environment_revision.py @@ -20,19 +20,11 @@ class EnvironmentRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/error.py b/agenta-cli/agenta/client/backend/types/error.py index ff81c2a8cd..174cc34048 100644 --- a/agenta-cli/agenta/client/backend/types/error.py +++ b/agenta-cli/agenta/client/backend/types/error.py @@ -16,19 +16,11 @@ class Error(pydantic.BaseModel): stacktrace: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation.py b/agenta-cli/agenta/client/backend/types/evaluation.py index 38c75068d4..64a657815d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation.py +++ b/agenta-cli/agenta/client/backend/types/evaluation.py @@ -30,19 +30,11 @@ class Evaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py index 36229c357d..b221afc09c 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py @@ -26,19 +26,11 @@ class EvaluationScenario(pydantic.BaseModel): results: typing.List[EvaluationScenarioResult] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py index 700f6372e4..826ae00434 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py @@ -17,19 +17,11 @@ class EvaluationScenarioInput(pydantic.BaseModel): value: typing.Optional[typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py index 7a2cb171c9..582e1ae617 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py @@ -16,19 +16,11 @@ class EvaluationScenarioOutput(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py index 57fbd6e082..62f4d0015a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py @@ -17,19 +17,11 @@ class EvaluationScenarioResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py similarity index 52% rename from agenta-cli/agenta/client/backend/types/span.py rename to agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py index 6ac175c6b7..4a8fcbcb6a 100644 --- a/agenta-cli/agenta/client/backend/types/span.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py @@ -4,8 +4,6 @@ import typing from ..core.datetime_utils import serialize_datetime -from .span_status import SpanStatus -from .span_variant import SpanVariant try: import pydantic.v1 as pydantic # type: ignore @@ -13,29 +11,15 @@ import pydantic # type: ignore -class Span(pydantic.BaseModel): - id: str - created_at: dt.datetime - variant: SpanVariant - environment: str - status: SpanStatus - metadata: typing.Dict[str, typing.Any] - user_id: str +class EvaluationScenarioScoreUpdate(pydantic.BaseModel): + score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_type.py b/agenta-cli/agenta/client/backend/types/evaluation_type.py index 4d2b91066d..45c37b9c82 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_type.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_type.py @@ -15,9 +15,7 @@ class EvaluationType(str, enum.Enum): SINGLE_MODEL_TEST = "single_model_test" def visit( - self, - human_a_b_testing: typing.Callable[[], T_Result], - single_model_test: typing.Callable[[], T_Result], + self, human_a_b_testing: typing.Callable[[], T_Result], single_model_test: typing.Callable[[], T_Result] ) -> T_Result: if self is EvaluationType.HUMAN_A_B_TESTING: return human_a_b_testing() diff --git a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py index c8d71dc626..7eb6db6bc6 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py @@ -15,19 +15,11 @@ class EvaluationWebhook(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator.py b/agenta-cli/agenta/client/backend/types/evaluator.py index 70bea7aa58..f0b44dcc0c 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator.py +++ b/agenta-cli/agenta/client/backend/types/evaluator.py @@ -18,19 +18,11 @@ class Evaluator(pydantic.BaseModel): settings_template: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator_config.py b/agenta-cli/agenta/client/backend/types/evaluator_config.py index 7ca248d882..54fed00c6a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/evaluator_config.py @@ -20,19 +20,11 @@ class EvaluatorConfig(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/feedback.py b/agenta-cli/agenta/client/backend/types/feedback.py index e4fa0db6e1..c771eb1e39 100644 --- a/agenta-cli/agenta/client/backend/types/feedback.py +++ b/agenta-cli/agenta/client/backend/types/feedback.py @@ -19,19 +19,11 @@ class Feedback(pydantic.BaseModel): created_at: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/get_config_response.py b/agenta-cli/agenta/client/backend/types/get_config_response.py index d3b8e334ce..448a75128e 100644 --- a/agenta-cli/agenta/client/backend/types/get_config_response.py +++ b/agenta-cli/agenta/client/backend/types/get_config_response.py @@ -18,19 +18,11 @@ class GetConfigResponse(pydantic.BaseModel): parameters: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/http_validation_error.py b/agenta-cli/agenta/client/backend/types/http_validation_error.py index 02fc88d818..e5f647b24d 100644 --- a/agenta-cli/agenta/client/backend/types/http_validation_error.py +++ b/agenta-cli/agenta/client/backend/types/http_validation_error.py @@ -16,19 +16,11 @@ class HttpValidationError(pydantic.BaseModel): detail: typing.Optional[typing.List[ValidationError]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation.py b/agenta-cli/agenta/client/backend/types/human_evaluation.py index 299120edc6..49bfb5da85 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation.py @@ -28,19 +28,11 @@ class HumanEvaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py index 5f1f36b824..a837a1ff4c 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py @@ -27,19 +27,11 @@ class HumanEvaluationScenario(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py index d65233935e..bf35c307cb 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py @@ -16,19 +16,11 @@ class HumanEvaluationScenarioInput(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py index 752606176b..e239ca6cd2 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py @@ -16,19 +16,11 @@ class HumanEvaluationScenarioOutput(pydantic.BaseModel): variant_output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py index 3d099aea1d..cb035d6c6b 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py @@ -24,19 +24,11 @@ class HumanEvaluationScenarioUpdate(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py index 360f8cc449..71c6cac057 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py @@ -16,19 +16,11 @@ class HumanEvaluationUpdate(pydantic.BaseModel): status: typing.Optional[EvaluationStatusEnum] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/image.py b/agenta-cli/agenta/client/backend/types/image.py index 52bd510c66..03c2193087 100644 --- a/agenta-cli/agenta/client/backend/types/image.py +++ b/agenta-cli/agenta/client/backend/types/image.py @@ -19,19 +19,11 @@ class Image(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/invite_request.py b/agenta-cli/agenta/client/backend/types/invite_request.py index 2a9c8f0bac..5a454982de 100644 --- a/agenta-cli/agenta/client/backend/types/invite_request.py +++ b/agenta-cli/agenta/client/backend/types/invite_request.py @@ -16,19 +16,11 @@ class InviteRequest(pydantic.BaseModel): roles: typing.List[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py index dd393d6268..0aa72d80ee 100644 --- a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py +++ b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py @@ -18,19 +18,11 @@ class ListApiKeysResponse(pydantic.BaseModel): expiration_date: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_content.py b/agenta-cli/agenta/client/backend/types/llm_content.py index f85285ada3..c6ab83f6d0 100644 --- a/agenta-cli/agenta/client/backend/types/llm_content.py +++ b/agenta-cli/agenta/client/backend/types/llm_content.py @@ -17,19 +17,11 @@ class LlmContent(pydantic.BaseModel): output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_inputs.py b/agenta-cli/agenta/client/backend/types/llm_inputs.py index a0d2a1bf35..97f828f45c 100644 --- a/agenta-cli/agenta/client/backend/types/llm_inputs.py +++ b/agenta-cli/agenta/client/backend/types/llm_inputs.py @@ -16,19 +16,11 @@ class LlmInputs(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_model_params.py b/agenta-cli/agenta/client/backend/types/llm_model_params.py index 3e53cf681c..417b05cc6d 100644 --- a/agenta-cli/agenta/client/backend/types/llm_model_params.py +++ b/agenta-cli/agenta/client/backend/types/llm_model_params.py @@ -16,19 +16,11 @@ class LlmModelParams(pydantic.BaseModel): params: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py index 24214f4c59..b7ea18a69d 100644 --- a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py +++ b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py @@ -18,19 +18,11 @@ class LlmRunRateLimit(pydantic.BaseModel): delay_between_batches: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py index 30067d0ae7..c201ac2f27 100644 --- a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py @@ -21,19 +21,11 @@ class NewHumanEvaluation(pydantic.BaseModel): status: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_testset.py b/agenta-cli/agenta/client/backend/types/new_testset.py index 7f931de42e..20b5ec77ad 100644 --- a/agenta-cli/agenta/client/backend/types/new_testset.py +++ b/agenta-cli/agenta/client/backend/types/new_testset.py @@ -16,19 +16,11 @@ class NewTestset(pydantic.BaseModel): csvdata: typing.List[typing.Dict[str, str]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py index d85f148aae..f41c6cbc83 100644 --- a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py +++ b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py @@ -23,19 +23,11 @@ class ObservabilityDashboardData(pydantic.BaseModel): avg_tokens: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_data.py b/agenta-cli/agenta/client/backend/types/observability_data.py index e55c62e139..4c6cbc48c0 100644 --- a/agenta-cli/agenta/client/backend/types/observability_data.py +++ b/agenta-cli/agenta/client/backend/types/observability_data.py @@ -24,19 +24,11 @@ class ObservabilityData(pydantic.BaseModel): variant: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization.py b/agenta-cli/agenta/client/backend/types/organization.py index df4d90e2ec..4a6b6dd1f8 100644 --- a/agenta-cli/agenta/client/backend/types/organization.py +++ b/agenta-cli/agenta/client/backend/types/organization.py @@ -19,21 +19,14 @@ class Organization(pydantic.BaseModel): owner: str members: typing.Optional[typing.List[str]] invitations: typing.Optional[typing.List[typing.Any]] + is_paying: typing.Optional[bool] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization_output.py b/agenta-cli/agenta/client/backend/types/organization_output.py index 93b88e4cf4..d3269aeb52 100644 --- a/agenta-cli/agenta/client/backend/types/organization_output.py +++ b/agenta-cli/agenta/client/backend/types/organization_output.py @@ -16,19 +16,11 @@ class OrganizationOutput(pydantic.BaseModel): name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/result.py b/agenta-cli/agenta/client/backend/types/result.py index 77e4c84d0a..c807398f53 100644 --- a/agenta-cli/agenta/client/backend/types/result.py +++ b/agenta-cli/agenta/client/backend/types/result.py @@ -18,19 +18,11 @@ class Result(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py index ed86be2b2e..3bba878f7b 100644 --- a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py +++ b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py @@ -20,19 +20,11 @@ class SimpleEvaluationOutput(pydantic.BaseModel): evaluation_type: EvaluationType def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_detail.py b/agenta-cli/agenta/client/backend/types/span_detail.py index 06a935d36c..68a659300b 100644 --- a/agenta-cli/agenta/client/backend/types/span_detail.py +++ b/agenta-cli/agenta/client/backend/types/span_detail.py @@ -6,6 +6,8 @@ from ..core.datetime_utils import serialize_datetime from .llm_content import LlmContent from .llm_model_params import LlmModelParams +from .span_status import SpanStatus +from .span_variant import SpanVariant try: import pydantic.v1 as pydantic # type: ignore @@ -14,24 +16,23 @@ class SpanDetail(pydantic.BaseModel): + id: str + created_at: dt.datetime + variant: SpanVariant + environment: str + status: SpanStatus + metadata: typing.Dict[str, typing.Any] + user_id: str span_id: str content: LlmContent model_params: LlmModelParams def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_status.py b/agenta-cli/agenta/client/backend/types/span_status.py index 722e7430af..5bcda585c1 100644 --- a/agenta-cli/agenta/client/backend/types/span_status.py +++ b/agenta-cli/agenta/client/backend/types/span_status.py @@ -18,19 +18,11 @@ class SpanStatus(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_variant.py b/agenta-cli/agenta/client/backend/types/span_variant.py index 03903fb8d5..a67067789d 100644 --- a/agenta-cli/agenta/client/backend/types/span_variant.py +++ b/agenta-cli/agenta/client/backend/types/span_variant.py @@ -17,19 +17,11 @@ class SpanVariant(pydantic.BaseModel): revision: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/status.py b/agenta-cli/agenta/client/backend/types/status.py index bbf7922525..4f37704227 100644 --- a/agenta-cli/agenta/client/backend/types/status.py +++ b/agenta-cli/agenta/client/backend/types/status.py @@ -12,26 +12,18 @@ class Status(str, enum.Enum): """ INITIATED = "INITIATED" - COMPLETED = "COMPLETED" - STOPPED = "STOPPED" - CANCELLED = "CANCELLED" - FAILED = "FAILED" + SUCCESS = "SUCCESS" + FAILURE = "FAILURE" def visit( self, initiated: typing.Callable[[], T_Result], - completed: typing.Callable[[], T_Result], - stopped: typing.Callable[[], T_Result], - cancelled: typing.Callable[[], T_Result], - failed: typing.Callable[[], T_Result], + success: typing.Callable[[], T_Result], + failure: typing.Callable[[], T_Result], ) -> T_Result: if self is Status.INITIATED: return initiated() - if self is Status.COMPLETED: - return completed() - if self is Status.STOPPED: - return stopped() - if self is Status.CANCELLED: - return cancelled() - if self is Status.FAILED: - return failed() + if self is Status.SUCCESS: + return success() + if self is Status.FAILURE: + return failure() diff --git a/agenta-cli/agenta/client/backend/types/template.py b/agenta-cli/agenta/client/backend/types/template.py index b509e795d4..c43fc4beac 100644 --- a/agenta-cli/agenta/client/backend/types/template.py +++ b/agenta-cli/agenta/client/backend/types/template.py @@ -17,19 +17,11 @@ class Template(pydantic.BaseModel): image: TemplateImageInfo def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template_image_info.py b/agenta-cli/agenta/client/backend/types/template_image_info.py index b0c01e7504..5131e053d7 100644 --- a/agenta-cli/agenta/client/backend/types/template_image_info.py +++ b/agenta-cli/agenta/client/backend/types/template_image_info.py @@ -22,19 +22,11 @@ class TemplateImageInfo(pydantic.BaseModel): template_uri: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_output_response.py b/agenta-cli/agenta/client/backend/types/test_set_output_response.py index 715ebcdcd5..ac4a47255d 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_output_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_output_response.py @@ -17,19 +17,11 @@ class TestSetOutputResponse(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py index b6ac04a871..c30fc1de89 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py @@ -17,19 +17,11 @@ class TestSetSimpleResponse(pydantic.BaseModel): created_at: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/uri.py b/agenta-cli/agenta/client/backend/types/uri.py index 608f89ef6f..a04cc35249 100644 --- a/agenta-cli/agenta/client/backend/types/uri.py +++ b/agenta-cli/agenta/client/backend/types/uri.py @@ -15,19 +15,11 @@ class Uri(pydantic.BaseModel): uri: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/validation_error.py b/agenta-cli/agenta/client/backend/types/validation_error.py index ffd8cc872f..67b5ba78e3 100644 --- a/agenta-cli/agenta/client/backend/types/validation_error.py +++ b/agenta-cli/agenta/client/backend/types/validation_error.py @@ -18,19 +18,11 @@ class ValidationError(pydantic.BaseModel): type: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action.py b/agenta-cli/agenta/client/backend/types/variant_action.py index a614ac00f5..1fe22412aa 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action.py +++ b/agenta-cli/agenta/client/backend/types/variant_action.py @@ -16,19 +16,11 @@ class VariantAction(pydantic.BaseModel): action: VariantActionEnum def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action_enum.py b/agenta-cli/agenta/client/backend/types/variant_action_enum.py index 6f5f8c19c5..5aa6f1c7e7 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action_enum.py +++ b/agenta-cli/agenta/client/backend/types/variant_action_enum.py @@ -14,9 +14,7 @@ class VariantActionEnum(str, enum.Enum): START = "START" STOP = "STOP" - def visit( - self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result] - ) -> T_Result: + def visit(self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result]) -> T_Result: if self is VariantActionEnum.START: return start() if self is VariantActionEnum.STOP: diff --git a/agenta-cli/agenta/client/backend/types/with_pagination.py b/agenta-cli/agenta/client/backend/types/with_pagination.py new file mode 100644 index 0000000000..2b7a1588ac --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/with_pagination.py @@ -0,0 +1,32 @@ +# This file was auto-generated by Fern from our API Definition. + +import datetime as dt +import typing + +from ..core.datetime_utils import serialize_datetime + +try: + import pydantic.v1 as pydantic # type: ignore +except ImportError: + import pydantic # type: ignore + + +class WithPagination(pydantic.BaseModel): + data: typing.List[typing.Any] + total: int + page: int + page_size: int = pydantic.Field(alias="pageSize") + + def json(self, **kwargs: typing.Any) -> str: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().json(**kwargs_with_defaults) + + def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + return super().dict(**kwargs_with_defaults) + + class Config: + frozen = True + smart_union = True + allow_population_by_field_name = True + json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/workspace_member_response.py b/agenta-cli/agenta/client/backend/types/workspace_member_response.py index ec907e24d8..ef3c928c8e 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_member_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_member_response.py @@ -17,19 +17,11 @@ class WorkspaceMemberResponse(pydantic.BaseModel): roles: typing.List[WorkspacePermission] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_permission.py b/agenta-cli/agenta/client/backend/types/workspace_permission.py index 0d847e611e..ed74790008 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_permission.py +++ b/agenta-cli/agenta/client/backend/types/workspace_permission.py @@ -19,19 +19,11 @@ class WorkspacePermission(pydantic.BaseModel): permissions: typing.Optional[typing.List[Permission]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_response.py b/agenta-cli/agenta/client/backend/types/workspace_response.py index f0e0bbf5ee..55ee8f5f51 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_response.py @@ -23,19 +23,11 @@ class WorkspaceResponse(pydantic.BaseModel): members: typing.Optional[typing.List[WorkspaceMemberResponse]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_role_response.py b/agenta-cli/agenta/client/backend/types/workspace_role_response.py index 97531c3143..4313b624b1 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_role_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_role_response.py @@ -17,19 +17,11 @@ class WorkspaceRoleResponse(pydantic.BaseModel): role_description: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: From 7a65a04b7ceba01e3a752e1d942e2f744fa7e972 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 27 Feb 2024 14:41:09 +0100 Subject: [PATCH 074/539] Update - import db query to fetch app by name and parameters --- .../agenta_backend/services/db_manager.py | 20 +++++-------------- 1 file changed, 5 insertions(+), 15 deletions(-) diff --git a/agenta-backend/agenta_backend/services/db_manager.py b/agenta-backend/agenta_backend/services/db_manager.py index d8dfbb77a2..2d32fa855c 100644 --- a/agenta-backend/agenta_backend/services/db_manager.py +++ b/agenta-backend/agenta_backend/services/db_manager.py @@ -1763,7 +1763,7 @@ async def fetch_app_by_name_and_parameters( AppDB: the instance of the app """ - query_expression = {"app_name": app_name} + app_db = await AppDB.find_one(AppDB.app_name == app_name, fetch_links=True) if isCloudEE(): # assert that if organization is provided, workspace_id is also provided, and vice versa @@ -1771,22 +1771,12 @@ async def fetch_app_by_name_and_parameters( organization_id is not None and workspace_id is not None ), "organization_id and workspace_id must be provided together" - query_expression.update( - { - "organization.id": ObjectId(organization_id), - "workspace.id": ObjectId(workspace_id), - } + return await app_db.find_one( + AppDB.organization.id == ObjectId(organization_id), + AppDB.workspace.id == ObjectId(workspace_id), ) else: - query_expression.update( - { - "user.uid": user_uid, - } - ) - - app_db = await AppDB.find_one(query_expression, fetch_links=True) - - return app_db + return await app_db.find_one(AppDB.user.uid == user_uid) async def create_new_evaluation( From ab4626cd4f50c5af3d45df8ebe9727de02b612c2 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 27 Feb 2024 14:41:51 +0100 Subject: [PATCH 075/539] Update - remove arguments in ag.init() --- examples/baby_name_generator/app_async_trace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/baby_name_generator/app_async_trace.py b/examples/baby_name_generator/app_async_trace.py index 6a1c81c11f..8271835c87 100644 --- a/examples/baby_name_generator/app_async_trace.py +++ b/examples/baby_name_generator/app_async_trace.py @@ -8,7 +8,7 @@ "Give me 10 names for a baby from this country {country} with gender {gender}!!!!" ) -ag.init(app_name="aat", base_name="app_async_trace") +ag.init() ag.config.default( temperature=FloatParam(0.2), prompt_template=TextParam(default_prompt) ) From 06d45ac4b237a5dd25ba7292ebbab0b50269c1d5 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 27 Feb 2024 14:53:41 +0100 Subject: [PATCH 076/539] :art: Format - ran black for agenta-cli --- agenta-cli/agenta/client/backend/client.py | 227 ++++++++++++++---- .../agenta/client/backend/core/api_error.py | 4 +- .../client/backend/core/datetime_utils.py | 4 +- .../client/backend/core/jsonable_encoder.py | 12 +- .../client/backend/resources/__init__.py | 13 +- .../client/backend/resources/apps/__init__.py | 1 - .../client/backend/resources/apps/client.py | 114 +++++++-- .../backend/resources/bases/__init__.py | 1 - .../client/backend/resources/bases/client.py | 10 +- .../backend/resources/configs/__init__.py | 1 - .../backend/resources/configs/client.py | 72 ++++-- .../backend/resources/containers/client.py | 60 +++-- .../resources/environments/__init__.py | 1 - .../backend/resources/environments/client.py | 24 +- .../backend/resources/evaluations/__init__.py | 1 - .../backend/resources/evaluations/client.py | 124 +++++++--- .../backend/resources/evaluators/__init__.py | 1 - .../backend/resources/evaluators/client.py | 74 ++++-- .../resources/observability/__init__.py | 1 - .../backend/resources/observability/client.py | 116 +++++++-- .../backend/resources/testsets/__init__.py | 1 - .../backend/resources/testsets/client.py | 72 ++++-- .../backend/resources/variants/client.py | 90 +++++-- .../resources/variants/types/__init__.py | 4 +- .../client/backend/types/aggregated_result.py | 12 +- .../aggregated_result_evaluator_config.py | 4 +- agenta-cli/agenta/client/backend/types/app.py | 12 +- .../types/app_variant_output_extended.py | 12 +- .../backend/types/app_variant_response.py | 12 +- .../backend/types/app_variant_revision.py | 12 +- .../client/backend/types/base_output.py | 12 +- .../backend/types/body_import_testset.py | 12 +- .../agenta/client/backend/types/config_db.py | 12 +- .../client/backend/types/create_app_output.py | 12 +- .../client/backend/types/docker_env_vars.py | 12 +- .../backend/types/environment_output.py | 12 +- .../types/environment_output_extended.py | 12 +- .../backend/types/environment_revision.py | 12 +- .../agenta/client/backend/types/error.py | 12 +- .../agenta/client/backend/types/evaluation.py | 12 +- .../backend/types/evaluation_scenario.py | 12 +- .../types/evaluation_scenario_input.py | 12 +- .../types/evaluation_scenario_output.py | 12 +- .../types/evaluation_scenario_result.py | 12 +- .../types/evaluation_scenario_score_update.py | 12 +- .../client/backend/types/evaluation_type.py | 4 +- .../backend/types/evaluation_webhook.py | 12 +- .../agenta/client/backend/types/evaluator.py | 12 +- .../client/backend/types/evaluator_config.py | 12 +- .../agenta/client/backend/types/feedback.py | 12 +- .../backend/types/get_config_response.py | 12 +- .../backend/types/http_validation_error.py | 12 +- .../client/backend/types/human_evaluation.py | 12 +- .../types/human_evaluation_scenario.py | 12 +- .../types/human_evaluation_scenario_input.py | 12 +- .../types/human_evaluation_scenario_output.py | 12 +- .../types/human_evaluation_scenario_update.py | 12 +- .../backend/types/human_evaluation_update.py | 12 +- .../agenta/client/backend/types/image.py | 12 +- .../client/backend/types/invite_request.py | 12 +- .../backend/types/list_api_keys_response.py | 12 +- .../client/backend/types/llm_content.py | 12 +- .../agenta/client/backend/types/llm_inputs.py | 12 +- .../client/backend/types/llm_model_params.py | 12 +- .../backend/types/llm_run_rate_limit.py | 12 +- .../backend/types/new_human_evaluation.py | 12 +- .../client/backend/types/new_testset.py | 12 +- .../types/observability_dashboard_data.py | 12 +- .../backend/types/observability_data.py | 12 +- .../client/backend/types/organization.py | 12 +- .../backend/types/organization_output.py | 12 +- .../agenta/client/backend/types/result.py | 12 +- .../backend/types/simple_evaluation_output.py | 12 +- .../client/backend/types/span_detail.py | 12 +- .../client/backend/types/span_status.py | 12 +- .../client/backend/types/span_variant.py | 12 +- .../agenta/client/backend/types/template.py | 12 +- .../backend/types/template_image_info.py | 12 +- .../backend/types/test_set_output_response.py | 12 +- .../backend/types/test_set_simple_response.py | 12 +- agenta-cli/agenta/client/backend/types/uri.py | 12 +- .../client/backend/types/validation_error.py | 12 +- .../client/backend/types/variant_action.py | 12 +- .../backend/types/variant_action_enum.py | 4 +- .../client/backend/types/with_pagination.py | 12 +- .../types/workspace_member_response.py | 12 +- .../backend/types/workspace_permission.py | 12 +- .../backend/types/workspace_response.py | 12 +- .../backend/types/workspace_role_response.py | 12 +- 89 files changed, 1422 insertions(+), 362 deletions(-) diff --git a/agenta-cli/agenta/client/backend/client.py b/agenta-cli/agenta/client/backend/client.py index e0b4a3a650..04e2b6c25a 100644 --- a/agenta-cli/agenta/client/backend/client.py +++ b/agenta-cli/agenta/client/backend/client.py @@ -19,7 +19,10 @@ from .resources.environments.client import AsyncEnvironmentsClient, EnvironmentsClient from .resources.evaluations.client import AsyncEvaluationsClient, EvaluationsClient from .resources.evaluators.client import AsyncEvaluatorsClient, EvaluatorsClient -from .resources.observability.client import AsyncObservabilityClient, ObservabilityClient +from .resources.observability.client import ( + AsyncObservabilityClient, + ObservabilityClient, +) from .resources.testsets.client import AsyncTestsetsClient, TestsetsClient from .resources.variants.client import AsyncVariantsClient, VariantsClient from .types.http_validation_error import HttpValidationError @@ -42,9 +45,13 @@ class AgentaApi: - def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): + def __init__( + self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 + ): self._client_wrapper = SyncClientWrapper( - base_url=base_url, api_key=api_key, httpx_client=httpx.Client(timeout=timeout) + base_url=base_url, + api_key=api_key, + httpx_client=httpx.Client(timeout=timeout), ) self.apps = AppsClient(client_wrapper=self._client_wrapper) self.variants = VariantsClient(client_wrapper=self._client_wrapper) @@ -146,7 +153,9 @@ def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -176,7 +185,9 @@ def validate_api_key(self, key_prefix: str) -> bool: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -211,7 +222,9 @@ def list_organizations(self) -> typing.List[Organization]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -255,7 +268,9 @@ def create_organization( _request["owner"] = owner _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -279,7 +294,9 @@ def get_own_org(self) -> OrganizationOutput: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations/own" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -312,7 +329,9 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -358,7 +377,9 @@ def update_organization( _request["updated_at"] = updated_at _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -395,7 +416,8 @@ def invite_user_to_workspace( _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}/invite", ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -411,7 +433,9 @@ def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: + def resend_invitation( + self, org_id: str, workspace_id: str, *, email: str + ) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -455,7 +479,9 @@ def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> ty raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: + def accept_invitation( + self, org_id: str, workspace_id: str, *, token: str + ) -> typing.Any: """ Accept an invitation to a workspace. @@ -500,7 +526,12 @@ def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> ty raise ApiError(status_code=_response.status_code, body=_response_json) def create_workspace( - self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT + self, + org_id: str, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, ) -> WorkspaceResponse: """ Parameters: @@ -524,7 +555,10 @@ def create_workspace( _request["type"] = type _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -575,7 +609,8 @@ def update_workspace( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -611,7 +646,9 @@ def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -643,7 +680,9 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -656,7 +695,12 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) def assign_role_to_user( - self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT + self, + workspace_id: str, + *, + email: str, + organization_id: str, + role: typing.Optional[WorkspaceRole] = OMIT, ) -> bool: """ Assigns a role to a user in a workspace. @@ -687,12 +731,18 @@ def assign_role_to_user( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} + _request: typing.Dict[str, typing.Any] = { + "email": email, + "organization_id": organization_id, + } if role is not OMIT: _request["role"] = role _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -707,7 +757,9 @@ def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: + def unassign_role_from_user( + self, workspace_id: str, *, email: str, org_id: str, role: str + ) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -741,8 +793,13 @@ def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), - params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), + params=remove_none_from_dict( + {"email": email, "org_id": org_id, "role": role} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -756,7 +813,9 @@ def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: + def remove_user_from_workspace( + self, workspace_id: str, *, org_id: str, email: str + ) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -789,7 +848,10 @@ def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: s """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/users", + ), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -848,9 +910,13 @@ def user_profile(self) -> typing.Any: class AsyncAgentaApi: - def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): + def __init__( + self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 + ): self._client_wrapper = AsyncClientWrapper( - base_url=base_url, api_key=api_key, httpx_client=httpx.AsyncClient(timeout=timeout) + base_url=base_url, + api_key=api_key, + httpx_client=httpx.AsyncClient(timeout=timeout), ) self.apps = AsyncAppsClient(client_wrapper=self._client_wrapper) self.variants = AsyncVariantsClient(client_wrapper=self._client_wrapper) @@ -859,7 +925,9 @@ def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[floa self.testsets = AsyncTestsetsClient(client_wrapper=self._client_wrapper) self.containers = AsyncContainersClient(client_wrapper=self._client_wrapper) self.environments = AsyncEnvironmentsClient(client_wrapper=self._client_wrapper) - self.observability = AsyncObservabilityClient(client_wrapper=self._client_wrapper) + self.observability = AsyncObservabilityClient( + client_wrapper=self._client_wrapper + ) self.bases = AsyncBasesClient(client_wrapper=self._client_wrapper) self.configs = AsyncConfigsClient(client_wrapper=self._client_wrapper) @@ -952,7 +1020,9 @@ async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -982,7 +1052,9 @@ async def validate_api_key(self, key_prefix: str) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1017,7 +1089,9 @@ async def list_organizations(self) -> typing.List[Organization]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1061,7 +1135,9 @@ async def create_organization( _request["owner"] = owner _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1085,7 +1161,9 @@ async def get_own_org(self) -> OrganizationOutput: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations/own" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1118,7 +1196,9 @@ async def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1164,7 +1244,9 @@ async def update_organization( _request["updated_at"] = updated_at _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1201,7 +1283,8 @@ async def invite_user_to_workspace( _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}/invite", ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -1217,7 +1300,9 @@ async def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: + async def resend_invitation( + self, org_id: str, workspace_id: str, *, email: str + ) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -1261,7 +1346,9 @@ async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: + async def accept_invitation( + self, org_id: str, workspace_id: str, *, token: str + ) -> typing.Any: """ Accept an invitation to a workspace. @@ -1306,7 +1393,12 @@ async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) raise ApiError(status_code=_response.status_code, body=_response_json) async def create_workspace( - self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT + self, + org_id: str, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, ) -> WorkspaceResponse: """ Parameters: @@ -1330,7 +1422,10 @@ async def create_workspace( _request["type"] = type _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1381,7 +1476,8 @@ async def update_workspace( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -1417,7 +1513,9 @@ async def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1449,7 +1547,9 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1462,7 +1562,12 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) async def assign_role_to_user( - self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT + self, + workspace_id: str, + *, + email: str, + organization_id: str, + role: typing.Optional[WorkspaceRole] = OMIT, ) -> bool: """ Assigns a role to a user in a workspace. @@ -1493,12 +1598,18 @@ async def assign_role_to_user( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} + _request: typing.Dict[str, typing.Any] = { + "email": email, + "organization_id": organization_id, + } if role is not OMIT: _request["role"] = role _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1513,7 +1624,9 @@ async def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: + async def unassign_role_from_user( + self, workspace_id: str, *, email: str, org_id: str, role: str + ) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -1547,8 +1660,13 @@ async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), - params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), + params=remove_none_from_dict( + {"email": email, "org_id": org_id, "role": role} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1562,7 +1680,9 @@ async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: + async def remove_user_from_workspace( + self, workspace_id: str, *, org_id: str, email: str + ) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -1595,7 +1715,10 @@ async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, em """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/users", + ), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/core/api_error.py b/agenta-cli/agenta/client/backend/core/api_error.py index 2e9fc5431c..da734b5806 100644 --- a/agenta-cli/agenta/client/backend/core/api_error.py +++ b/agenta-cli/agenta/client/backend/core/api_error.py @@ -7,7 +7,9 @@ class ApiError(Exception): status_code: typing.Optional[int] body: typing.Any - def __init__(self, *, status_code: typing.Optional[int] = None, body: typing.Any = None): + def __init__( + self, *, status_code: typing.Optional[int] = None, body: typing.Any = None + ): self.status_code = status_code self.body = body diff --git a/agenta-cli/agenta/client/backend/core/datetime_utils.py b/agenta-cli/agenta/client/backend/core/datetime_utils.py index 7c9864a944..47344e9d9c 100644 --- a/agenta-cli/agenta/client/backend/core/datetime_utils.py +++ b/agenta-cli/agenta/client/backend/core/datetime_utils.py @@ -13,7 +13,9 @@ def serialize_datetime(v: dt.datetime) -> str: """ def _serialize_zoned_datetime(v: dt.datetime) -> str: - if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname(None): + if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname( + None + ): # UTC is a special case where we use "Z" at the end instead of "+00:00" return v.isoformat().replace("+00:00", "Z") else: diff --git a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py index 37238ab679..0e297e18f0 100644 --- a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py +++ b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py @@ -30,16 +30,22 @@ def generate_encoders_by_class_tuples( type_encoder_map: Dict[Any, Callable[[Any], Any]] ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]: - encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(tuple) + encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict( + tuple + ) for type_, encoder in type_encoder_map.items(): encoders_by_class_tuples[encoder] += (type_,) return encoders_by_class_tuples -encoders_by_class_tuples = generate_encoders_by_class_tuples(pydantic.json.ENCODERS_BY_TYPE) +encoders_by_class_tuples = generate_encoders_by_class_tuples( + pydantic.json.ENCODERS_BY_TYPE +) -def jsonable_encoder(obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None) -> Any: +def jsonable_encoder( + obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None +) -> Any: custom_encoder = custom_encoder or {} if custom_encoder: if type(obj) in custom_encoder: diff --git a/agenta-cli/agenta/client/backend/resources/__init__.py b/agenta-cli/agenta/client/backend/resources/__init__.py index 6a7c8f0ca8..223d38e477 100644 --- a/agenta-cli/agenta/client/backend/resources/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/__init__.py @@ -1,6 +1,17 @@ # This file was auto-generated by Fern from our API Definition. -from . import apps, bases, configs, containers, environments, evaluations, evaluators, observability, testsets, variants +from . import ( + apps, + bases, + configs, + containers, + environments, + evaluations, + evaluators, + observability, + testsets, + variants, +) from .containers import ContainerTemplatesResponse from .variants import AddVariantFromBaseAndConfigResponse diff --git a/agenta-cli/agenta/client/backend/resources/apps/__init__.py b/agenta-cli/agenta/client/backend/resources/apps/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/apps/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/apps/client.py b/agenta-cli/agenta/client/backend/resources/apps/client.py index 960fb5e5f8..20b3932d43 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/client.py +++ b/agenta-cli/agenta/client/backend/resources/apps/client.py @@ -50,7 +50,9 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -64,7 +66,9 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: + def get_variant_by_env( + self, *, app_id: str, environment: str + ) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -91,8 +95,12 @@ def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResp """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), - params=remove_none_from_dict({"app_id": app_id, "environment": environment}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" + ), + params=remove_none_from_dict( + {"app_id": app_id, "environment": environment} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -142,7 +150,9 @@ def list_apps( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), + params=remove_none_from_dict( + {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -157,7 +167,11 @@ def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) def create_app( - self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT + self, + *, + app_name: str, + organization_id: typing.Optional[str] = OMIT, + workspace_id: typing.Optional[str] = OMIT, ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -248,14 +262,21 @@ def add_variant_from_image( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} + _request: typing.Dict[str, typing.Any] = { + "variant_name": variant_name, + "docker_id": docker_id, + "tags": tags, + } if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/variant/from-image", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -287,7 +308,9 @@ def remove_app(self, app_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -352,7 +375,10 @@ def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "apps/app_and_variant_from_template", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -388,7 +414,9 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -402,7 +430,9 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: + def environment_revisions( + self, app_id: str, environment_name: typing.Any + ) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -412,7 +442,8 @@ def environment_revisions(self, app_id: str, environment_name: typing.Any) -> En _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/revisions/{environment_name}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -453,7 +484,9 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -467,7 +500,9 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: + async def get_variant_by_env( + self, *, app_id: str, environment: str + ) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -494,8 +529,12 @@ async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVaria """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), - params=remove_none_from_dict({"app_id": app_id, "environment": environment}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" + ), + params=remove_none_from_dict( + {"app_id": app_id, "environment": environment} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -545,7 +584,9 @@ async def list_apps( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), + params=remove_none_from_dict( + {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -560,7 +601,11 @@ async def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_app( - self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT + self, + *, + app_name: str, + organization_id: typing.Optional[str] = OMIT, + workspace_id: typing.Optional[str] = OMIT, ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -651,14 +696,21 @@ async def add_variant_from_image( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} + _request: typing.Dict[str, typing.Any] = { + "variant_name": variant_name, + "docker_id": docker_id, + "tags": tags, + } if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/variant/from-image", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -690,7 +742,9 @@ async def remove_app(self, app_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -755,7 +809,10 @@ async def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "apps/app_and_variant_from_template", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -791,7 +848,9 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -805,7 +864,9 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: + async def environment_revisions( + self, app_id: str, environment_name: typing.Any + ) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -815,7 +876,8 @@ async def environment_revisions(self, app_id: str, environment_name: typing.Any) _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/revisions/{environment_name}", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/bases/__init__.py b/agenta-cli/agenta/client/backend/resources/bases/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/bases/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/bases/client.py b/agenta-cli/agenta/client/backend/resources/bases/client.py index f5e0dd5569..88082d3555 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/client.py +++ b/agenta-cli/agenta/client/backend/resources/bases/client.py @@ -22,7 +22,10 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def list_bases( - self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None + self, + *, + app_id: typing.Optional[str] = None, + base_name: typing.Optional[str] = None, ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. @@ -71,7 +74,10 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def list_bases( - self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None + self, + *, + app_id: typing.Optional[str] = None, + base_name: typing.Optional[str] = None, ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. diff --git a/agenta-cli/agenta/client/backend/resources/configs/__init__.py b/agenta-cli/agenta/client/backend/resources/configs/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/configs/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/configs/client.py b/agenta-cli/agenta/client/backend/resources/configs/client.py index bb85bbd5e6..f13859b76c 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/client.py +++ b/agenta-cli/agenta/client/backend/resources/configs/client.py @@ -26,7 +26,11 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def get_config( - self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None + self, + *, + base_id: str, + config_name: typing.Optional[str] = None, + environment_name: typing.Optional[str] = None, ) -> GetConfigResponse: """ Parameters: @@ -45,7 +49,11 @@ def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} + { + "base_id": base_id, + "config_name": config_name, + "environment_name": environment_name, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -61,7 +69,12 @@ def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) def save_config( - self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool + self, + *, + base_id: str, + config_name: str, + parameters: typing.Dict[str, typing.Any], + overwrite: bool, ) -> typing.Any: """ Parameters: @@ -82,7 +95,12 @@ def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} + { + "base_id": base_id, + "config_name": config_name, + "parameters": parameters, + "overwrite": overwrite, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -110,7 +128,8 @@ def get_config_deployment_revision(self, deployment_revision_id: str) -> typing. _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -138,7 +157,8 @@ def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}/revert", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -159,7 +179,11 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def get_config( - self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None + self, + *, + base_id: str, + config_name: typing.Optional[str] = None, + environment_name: typing.Optional[str] = None, ) -> GetConfigResponse: """ Parameters: @@ -178,7 +202,11 @@ async def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} + { + "base_id": base_id, + "config_name": config_name, + "environment_name": environment_name, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -194,7 +222,12 @@ async def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) async def save_config( - self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool + self, + *, + base_id: str, + config_name: str, + parameters: typing.Dict[str, typing.Any], + overwrite: bool, ) -> typing.Any: """ Parameters: @@ -215,7 +248,12 @@ async def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} + { + "base_id": base_id, + "config_name": config_name, + "parameters": parameters, + "overwrite": overwrite, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -230,7 +268,9 @@ async def save_config( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_config_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + async def get_config_deployment_revision( + self, deployment_revision_id: str + ) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -243,7 +283,8 @@ async def get_config_deployment_revision(self, deployment_revision_id: str) -> t _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -258,7 +299,9 @@ async def get_config_deployment_revision(self, deployment_revision_id: str) -> t raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + async def revert_deployment_revision( + self, deployment_revision_id: str + ) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -271,7 +314,8 @@ async def revert_deployment_revision(self, deployment_revision_id: str) -> typin _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}/revert", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/containers/client.py b/agenta-cli/agenta/client/backend/resources/containers/client.py index dd3d7d336d..869a87c4c4 100644 --- a/agenta-cli/agenta/client/backend/resources/containers/client.py +++ b/agenta-cli/agenta/client/backend/resources/containers/client.py @@ -49,7 +49,9 @@ def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Im """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/build_image" + ), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -83,7 +85,10 @@ def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "containers/restart_container", + ), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -111,7 +116,9 @@ def container_templates(self) -> ContainerTemplatesResponse: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/templates" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -124,7 +131,10 @@ def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) def construct_app_container_url( - self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None + self, + *, + base_id: typing.Optional[str] = None, + variant_id: typing.Optional[str] = None, ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -152,8 +162,12 @@ def construct_app_container_url( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), - params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/container_url" + ), + params=remove_none_from_dict( + {"base_id": base_id, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -172,7 +186,9 @@ class AsyncContainersClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Image: + async def build_image( + self, *, app_id: str, base_name: str, tar_file: typing.IO + ) -> Image: """ Builds a Docker image from a tar file containing the application code. @@ -194,7 +210,9 @@ async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/build_image" + ), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -211,7 +229,9 @@ async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: + async def restart_container( + self, *, variant_id: str + ) -> typing.Dict[str, typing.Any]: """ Restart docker container. @@ -228,7 +248,10 @@ async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "containers/restart_container", + ), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -256,7 +279,9 @@ async def container_templates(self) -> ContainerTemplatesResponse: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/templates" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -269,7 +294,10 @@ async def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) async def construct_app_container_url( - self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None + self, + *, + base_id: typing.Optional[str] = None, + variant_id: typing.Optional[str] = None, ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -297,8 +325,12 @@ async def construct_app_container_url( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), - params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/container_url" + ), + params=remove_none_from_dict( + {"base_id": base_id, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/environments/__init__.py b/agenta-cli/agenta/client/backend/resources/environments/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/environments/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/environments/client.py b/agenta-cli/agenta/client/backend/resources/environments/client.py index f88b1585d9..ffba541661 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/client.py +++ b/agenta-cli/agenta/client/backend/resources/environments/client.py @@ -23,7 +23,9 @@ class EnvironmentsClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper - def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: + def deploy_to_environment( + self, *, environment_name: str, variant_id: str + ) -> typing.Any: """ Deploys a given variant to an environment @@ -47,8 +49,12 @@ def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> ty """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), - json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "environments/deploy" + ), + json=jsonable_encoder( + {"environment_name": environment_name, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -67,7 +73,9 @@ class AsyncEnvironmentsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: + async def deploy_to_environment( + self, *, environment_name: str, variant_id: str + ) -> typing.Any: """ Deploys a given variant to an environment @@ -91,8 +99,12 @@ async def deploy_to_environment(self, *, environment_name: str, variant_id: str) """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), - json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "environments/deploy" + ), + json=jsonable_encoder( + {"environment_name": environment_name, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/client.py b/agenta-cli/agenta/client/backend/resources/evaluations/client.py index 0fe4108c07..2dfd066929 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/client.py @@ -29,7 +29,11 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def fetch_evaluation_ids( - self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] + self, + *, + app_id: str, + resource_type: str, + resource_ids: typing.Union[typing.Optional[str], typing.List[str]], ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -59,9 +63,15 @@ def fetch_evaluation_ids( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" + ), params=remove_none_from_dict( - {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} + { + "app_id": app_id, + "resource_type": resource_type, + "resource_ids": resource_ids, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -96,7 +106,9 @@ def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -169,7 +181,9 @@ def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -184,7 +198,9 @@ def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: + def delete_evaluations( + self, *, evaluations_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -204,7 +220,9 @@ def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.Lis """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -240,7 +258,10 @@ def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/status", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -275,7 +296,10 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/results", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -289,7 +313,9 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: + def fetch_evaluation_scenarios( + self, evaluation_id: str + ) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -313,7 +339,8 @@ def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[Evaluati _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/evaluation_scenarios", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -348,7 +375,10 @@ def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -377,7 +407,10 @@ def webhook_example_fake(self) -> EvaluationWebhook: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "evaluations/webhook_example_fake", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -413,7 +446,8 @@ def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" + f"{self._client_wrapper.get_base_url()}/", + "evaluations/evaluation_scenarios/comparison-results", ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), @@ -435,7 +469,11 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def fetch_evaluation_ids( - self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] + self, + *, + app_id: str, + resource_type: str, + resource_ids: typing.Union[typing.Optional[str], typing.List[str]], ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -465,9 +503,15 @@ async def fetch_evaluation_ids( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" + ), params=remove_none_from_dict( - {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} + { + "app_id": app_id, + "resource_type": resource_type, + "resource_ids": resource_ids, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -502,7 +546,9 @@ async def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -575,7 +621,9 @@ async def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -590,7 +638,9 @@ async def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: + async def delete_evaluations( + self, *, evaluations_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -610,7 +660,9 @@ async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typi """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -646,7 +698,10 @@ async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/status", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -681,7 +736,10 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/results", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -695,7 +753,9 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: + async def fetch_evaluation_scenarios( + self, evaluation_id: str + ) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -719,7 +779,8 @@ async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[Ev _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/evaluation_scenarios", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -754,7 +815,10 @@ async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -783,7 +847,10 @@ async def webhook_example_fake(self) -> EvaluationWebhook: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "evaluations/webhook_example_fake", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -819,7 +886,8 @@ async def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.An _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" + f"{self._client_wrapper.get_base_url()}/", + "evaluations/evaluation_scenarios/comparison-results", ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/client.py b/agenta-cli/agenta/client/backend/resources/evaluators/client.py index 02a2896772..e4aab0699b 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/client.py @@ -41,7 +41,9 @@ def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -73,7 +75,9 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -89,7 +93,12 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: raise ApiError(status_code=_response.status_code, body=_response_json) def create_new_evaluator_config( - self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] + self, + *, + app_id: str, + name: str, + evaluator_key: str, + settings_values: typing.Dict[str, typing.Any], ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -116,9 +125,16 @@ def create_new_evaluator_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), json=jsonable_encoder( - {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} + { + "app_id": app_id, + "name": name, + "evaluator_key": evaluator_key, + "settings_values": settings_values, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -151,7 +167,8 @@ def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -204,7 +221,8 @@ def update_evaluator_config( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -241,7 +259,8 @@ def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -276,7 +295,9 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -288,7 +309,9 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: + async def get_evaluator_configs( + self, *, app_id: str + ) -> typing.List[EvaluatorConfig]: """ Endpoint to fetch evaluator configurations for a specific app. @@ -308,7 +331,9 @@ async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorCo """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -324,7 +349,12 @@ async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorCo raise ApiError(status_code=_response.status_code, body=_response_json) async def create_new_evaluator_config( - self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] + self, + *, + app_id: str, + name: str, + evaluator_key: str, + settings_values: typing.Dict[str, typing.Any], ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -353,9 +383,16 @@ async def create_new_evaluator_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), json=jsonable_encoder( - {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} + { + "app_id": app_id, + "name": name, + "evaluator_key": evaluator_key, + "settings_values": settings_values, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -388,7 +425,8 @@ async def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfi _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -441,7 +479,8 @@ async def update_evaluator_config( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -478,7 +517,8 @@ async def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = await self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/observability/__init__.py b/agenta-cli/agenta/client/backend/resources/observability/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/observability/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index 4ac1a6f809..2f3b6ad99b 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -55,9 +55,16 @@ def dashboard( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + ), params=remove_none_from_dict( - {"startTime": start_time, "endTime": end_time, "environment": environment, "variant": variant} + { + "startTime": start_time, + "endTime": end_time, + "environment": environment, + "variant": variant, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -137,7 +144,9 @@ def create_trace( _request["end_time"] = end_time _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/traces" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -183,7 +192,9 @@ def get_spans_of_generation( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), params=remove_none_from_dict( { "page": page, @@ -264,7 +275,10 @@ def create_span( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.create_span(event_name="event_name", status=SpanStatus()) """ - _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} + _request: typing.Dict[str, typing.Any] = { + "event_name": event_name, + "status": status, + } if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: @@ -293,7 +307,9 @@ def create_span( _request["tags"] = tags _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -308,7 +324,9 @@ def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + def get_span_of_generation( + self, span_id: str, *, type: typing.Optional[str] = None + ) -> SpanDetail: """ Parameters: - span_id: str. @@ -322,7 +340,10 @@ def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = N """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/spans/{span_id}", + ), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -351,7 +372,10 @@ def update_trace_status(self, trace_id: str, *, status: str) -> bool: """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), json=jsonable_encoder({"status": status}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -378,7 +402,10 @@ def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -424,7 +451,10 @@ def create_feedback( _request["meta"] = meta _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -454,7 +484,8 @@ def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -503,7 +534,8 @@ def update_feedback( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -549,9 +581,16 @@ async def dashboard( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + ), params=remove_none_from_dict( - {"startTime": start_time, "endTime": end_time, "environment": environment, "variant": variant} + { + "startTime": start_time, + "endTime": end_time, + "environment": environment, + "variant": variant, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -631,7 +670,9 @@ async def create_trace( _request["end_time"] = end_time _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/traces" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -677,7 +718,9 @@ async def get_spans_of_generation( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), params=remove_none_from_dict( { "page": page, @@ -758,7 +801,10 @@ async def create_span( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.create_span(event_name="event_name", status=SpanStatus()) """ - _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} + _request: typing.Dict[str, typing.Any] = { + "event_name": event_name, + "status": status, + } if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: @@ -787,7 +833,9 @@ async def create_span( _request["tags"] = tags _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -802,7 +850,9 @@ async def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + async def get_span_of_generation( + self, span_id: str, *, type: typing.Optional[str] = None + ) -> SpanDetail: """ Parameters: - span_id: str. @@ -816,7 +866,10 @@ async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[st """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/spans/{span_id}", + ), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -845,7 +898,10 @@ async def update_trace_status(self, trace_id: str, *, status: str) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), json=jsonable_encoder({"status": status}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -872,7 +928,10 @@ async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -918,7 +977,10 @@ async def create_feedback( _request["meta"] = meta _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -948,7 +1010,8 @@ async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -997,7 +1060,8 @@ async def update_feedback( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/testsets/client.py b/agenta-cli/agenta/client/backend/resources/testsets/client.py index 29918d8a8f..948dbb0478 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/client.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/client.py @@ -52,8 +52,16 @@ def upload_file( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), - data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/upload" + ), + data=jsonable_encoder( + { + "upload_type": upload_type, + "testset_name": testset_name, + "app_id": app_id, + } + ), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -87,7 +95,9 @@ def import_testset(self) -> TestSetSimpleResponse: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -101,7 +111,9 @@ def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: + def create_testset( + self, app_id: str, *, request: NewTestset + ) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -126,7 +138,9 @@ def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleRe """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -161,7 +175,9 @@ def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -199,7 +215,9 @@ def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -316,8 +334,16 @@ async def upload_file( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), - data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/upload" + ), + data=jsonable_encoder( + { + "upload_type": upload_type, + "testset_name": testset_name, + "app_id": app_id, + } + ), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -351,7 +377,9 @@ async def import_testset(self) -> TestSetSimpleResponse: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -365,7 +393,9 @@ async def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: + async def create_testset( + self, app_id: str, *, request: NewTestset + ) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -390,7 +420,9 @@ async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSi """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -425,7 +457,9 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -439,7 +473,9 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: + async def update_testset( + self, testset_id: str, *, request: NewTestset + ) -> typing.Any: """ Update a testset with given id, update the testset in MongoDB. @@ -463,7 +499,9 @@ async def update_testset(self, testset_id: str, *, request: NewTestset) -> typin """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -515,7 +553,9 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: + async def delete_testsets( + self, *, testset_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific testsets based on their unique IDs. diff --git a/agenta-cli/agenta/client/backend/resources/variants/client.py b/agenta-cli/agenta/client/backend/resources/variants/client.py index 8dd04082ad..6e928c3add 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/client.py +++ b/agenta-cli/agenta/client/backend/resources/variants/client.py @@ -14,7 +14,9 @@ from ...types.image import Image from ...types.uri import Uri from ...types.variant_action import VariantAction -from .types.add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse +from .types.add_variant_from_base_and_config_response import ( + AddVariantFromBaseAndConfigResponse, +) try: import pydantic.v1 as pydantic # type: ignore @@ -30,7 +32,12 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def add_variant_from_base_and_config( - self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] + self, + *, + base_id: str, + new_variant_name: str, + new_config_name: str, + parameters: typing.Dict[str, typing.Any], ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -57,7 +64,9 @@ def add_variant_from_base_and_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "variants/from-base" + ), json=jsonable_encoder( { "base_id": base_id, @@ -91,7 +100,9 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -106,7 +117,11 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) def start_variant( - self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT + self, + variant_id: str, + *, + action: VariantAction, + env_vars: typing.Optional[DockerEnvVars] = OMIT, ) -> Uri: """ Start a variant of an app. @@ -141,7 +156,9 @@ def start_variant( _request["env_vars"] = env_vars _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -177,7 +194,9 @@ def remove_variant(self, variant_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -191,7 +210,9 @@ def remove_variant(self, variant_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[str, typing.Any]) -> typing.Any: + def update_variant_parameters( + self, variant_id: str, *, parameters: typing.Dict[str, typing.Any] + ) -> typing.Any: """ Updates the parameters for an app variant. @@ -218,7 +239,10 @@ def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[ """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/parameters", + ), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -260,7 +284,10 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/image", + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -281,7 +308,12 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def add_variant_from_base_and_config( - self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] + self, + *, + base_id: str, + new_variant_name: str, + new_config_name: str, + parameters: typing.Dict[str, typing.Any], ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -308,7 +340,9 @@ async def add_variant_from_base_and_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "variants/from-base" + ), json=jsonable_encoder( { "base_id": base_id, @@ -342,7 +376,9 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -357,7 +393,11 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) async def start_variant( - self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT + self, + variant_id: str, + *, + action: VariantAction, + env_vars: typing.Optional[DockerEnvVars] = OMIT, ) -> Uri: """ Start a variant of an app. @@ -392,7 +432,9 @@ async def start_variant( _request["env_vars"] = env_vars _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -428,7 +470,9 @@ async def remove_variant(self, variant_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -471,7 +515,10 @@ async def update_variant_parameters( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/parameters", + ), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -486,7 +533,9 @@ async def update_variant_parameters( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any: + async def update_variant_image( + self, variant_id: str, *, request: Image + ) -> typing.Any: """ Updates the image used in an app variant. @@ -513,7 +562,10 @@ async def update_variant_image(self, variant_id: str, *, request: Image) -> typi """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/image", + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py index b3bfbb0781..fac6b42753 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py @@ -1,5 +1,7 @@ # This file was auto-generated by Fern from our API Definition. -from .add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse +from .add_variant_from_base_and_config_response import ( + AddVariantFromBaseAndConfigResponse, +) __all__ = ["AddVariantFromBaseAndConfigResponse"] diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result.py b/agenta-cli/agenta/client/backend/types/aggregated_result.py index cdfc47d3eb..378e25bd96 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result.py @@ -18,11 +18,19 @@ class AggregatedResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py index 567c18f49d..0af9c60a8e 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py @@ -4,4 +4,6 @@ from .evaluator_config import EvaluatorConfig -AggregatedResultEvaluatorConfig = typing.Union[EvaluatorConfig, typing.Dict[str, typing.Any]] +AggregatedResultEvaluatorConfig = typing.Union[ + EvaluatorConfig, typing.Dict[str, typing.Any] +] diff --git a/agenta-cli/agenta/client/backend/types/app.py b/agenta-cli/agenta/client/backend/types/app.py index be4e77b499..7611dc75e9 100644 --- a/agenta-cli/agenta/client/backend/types/app.py +++ b/agenta-cli/agenta/client/backend/types/app.py @@ -16,11 +16,19 @@ class App(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py index 667bd4c295..7afa9ba62c 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py @@ -30,11 +30,19 @@ class AppVariantOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_response.py b/agenta-cli/agenta/client/backend/types/app_variant_response.py index 83a720f832..89f974a2b8 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_response.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_response.py @@ -27,11 +27,19 @@ class AppVariantResponse(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_revision.py b/agenta-cli/agenta/client/backend/types/app_variant_revision.py index 38434297c3..39976d7a25 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_revision.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_revision.py @@ -19,11 +19,19 @@ class AppVariantRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/base_output.py b/agenta-cli/agenta/client/backend/types/base_output.py index 2a0a9b41bd..43a0e31eae 100644 --- a/agenta-cli/agenta/client/backend/types/base_output.py +++ b/agenta-cli/agenta/client/backend/types/base_output.py @@ -16,11 +16,19 @@ class BaseOutput(pydantic.BaseModel): base_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/body_import_testset.py b/agenta-cli/agenta/client/backend/types/body_import_testset.py index 1cfab34428..f06788d80d 100644 --- a/agenta-cli/agenta/client/backend/types/body_import_testset.py +++ b/agenta-cli/agenta/client/backend/types/body_import_testset.py @@ -17,11 +17,19 @@ class BodyImportTestset(pydantic.BaseModel): app_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/config_db.py b/agenta-cli/agenta/client/backend/types/config_db.py index 7414370572..7e7b9004fd 100644 --- a/agenta-cli/agenta/client/backend/types/config_db.py +++ b/agenta-cli/agenta/client/backend/types/config_db.py @@ -16,11 +16,19 @@ class ConfigDb(pydantic.BaseModel): parameters: typing.Optional[typing.Dict[str, typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/create_app_output.py b/agenta-cli/agenta/client/backend/types/create_app_output.py index adcf9fdfee..a736531605 100644 --- a/agenta-cli/agenta/client/backend/types/create_app_output.py +++ b/agenta-cli/agenta/client/backend/types/create_app_output.py @@ -16,11 +16,19 @@ class CreateAppOutput(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/docker_env_vars.py b/agenta-cli/agenta/client/backend/types/docker_env_vars.py index 9a0630554a..ea0c144502 100644 --- a/agenta-cli/agenta/client/backend/types/docker_env_vars.py +++ b/agenta-cli/agenta/client/backend/types/docker_env_vars.py @@ -15,11 +15,19 @@ class DockerEnvVars(pydantic.BaseModel): env_vars: typing.Dict[str, str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output.py b/agenta-cli/agenta/client/backend/types/environment_output.py index feb80a72f5..6268b56c14 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output.py +++ b/agenta-cli/agenta/client/backend/types/environment_output.py @@ -22,11 +22,19 @@ class EnvironmentOutput(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output_extended.py b/agenta-cli/agenta/client/backend/types/environment_output_extended.py index 41baf24d13..75eea02d69 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/environment_output_extended.py @@ -24,11 +24,19 @@ class EnvironmentOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_revision.py b/agenta-cli/agenta/client/backend/types/environment_revision.py index cf8aa77edd..c98bf70e74 100644 --- a/agenta-cli/agenta/client/backend/types/environment_revision.py +++ b/agenta-cli/agenta/client/backend/types/environment_revision.py @@ -20,11 +20,19 @@ class EnvironmentRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/error.py b/agenta-cli/agenta/client/backend/types/error.py index 174cc34048..ff81c2a8cd 100644 --- a/agenta-cli/agenta/client/backend/types/error.py +++ b/agenta-cli/agenta/client/backend/types/error.py @@ -16,11 +16,19 @@ class Error(pydantic.BaseModel): stacktrace: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation.py b/agenta-cli/agenta/client/backend/types/evaluation.py index 64a657815d..38c75068d4 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation.py +++ b/agenta-cli/agenta/client/backend/types/evaluation.py @@ -30,11 +30,19 @@ class Evaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py index b221afc09c..36229c357d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py @@ -26,11 +26,19 @@ class EvaluationScenario(pydantic.BaseModel): results: typing.List[EvaluationScenarioResult] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py index 826ae00434..700f6372e4 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py @@ -17,11 +17,19 @@ class EvaluationScenarioInput(pydantic.BaseModel): value: typing.Optional[typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py index 582e1ae617..7a2cb171c9 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py @@ -16,11 +16,19 @@ class EvaluationScenarioOutput(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py index 62f4d0015a..57fbd6e082 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py @@ -17,11 +17,19 @@ class EvaluationScenarioResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py index 4a8fcbcb6a..68ed0da745 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py @@ -15,11 +15,19 @@ class EvaluationScenarioScoreUpdate(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_type.py b/agenta-cli/agenta/client/backend/types/evaluation_type.py index 45c37b9c82..4d2b91066d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_type.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_type.py @@ -15,7 +15,9 @@ class EvaluationType(str, enum.Enum): SINGLE_MODEL_TEST = "single_model_test" def visit( - self, human_a_b_testing: typing.Callable[[], T_Result], single_model_test: typing.Callable[[], T_Result] + self, + human_a_b_testing: typing.Callable[[], T_Result], + single_model_test: typing.Callable[[], T_Result], ) -> T_Result: if self is EvaluationType.HUMAN_A_B_TESTING: return human_a_b_testing() diff --git a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py index 7eb6db6bc6..c8d71dc626 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py @@ -15,11 +15,19 @@ class EvaluationWebhook(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator.py b/agenta-cli/agenta/client/backend/types/evaluator.py index f0b44dcc0c..70bea7aa58 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator.py +++ b/agenta-cli/agenta/client/backend/types/evaluator.py @@ -18,11 +18,19 @@ class Evaluator(pydantic.BaseModel): settings_template: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator_config.py b/agenta-cli/agenta/client/backend/types/evaluator_config.py index 54fed00c6a..7ca248d882 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/evaluator_config.py @@ -20,11 +20,19 @@ class EvaluatorConfig(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/feedback.py b/agenta-cli/agenta/client/backend/types/feedback.py index c771eb1e39..e4fa0db6e1 100644 --- a/agenta-cli/agenta/client/backend/types/feedback.py +++ b/agenta-cli/agenta/client/backend/types/feedback.py @@ -19,11 +19,19 @@ class Feedback(pydantic.BaseModel): created_at: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/get_config_response.py b/agenta-cli/agenta/client/backend/types/get_config_response.py index 448a75128e..d3b8e334ce 100644 --- a/agenta-cli/agenta/client/backend/types/get_config_response.py +++ b/agenta-cli/agenta/client/backend/types/get_config_response.py @@ -18,11 +18,19 @@ class GetConfigResponse(pydantic.BaseModel): parameters: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/http_validation_error.py b/agenta-cli/agenta/client/backend/types/http_validation_error.py index e5f647b24d..02fc88d818 100644 --- a/agenta-cli/agenta/client/backend/types/http_validation_error.py +++ b/agenta-cli/agenta/client/backend/types/http_validation_error.py @@ -16,11 +16,19 @@ class HttpValidationError(pydantic.BaseModel): detail: typing.Optional[typing.List[ValidationError]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation.py b/agenta-cli/agenta/client/backend/types/human_evaluation.py index 49bfb5da85..299120edc6 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation.py @@ -28,11 +28,19 @@ class HumanEvaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py index a837a1ff4c..5f1f36b824 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py @@ -27,11 +27,19 @@ class HumanEvaluationScenario(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py index bf35c307cb..d65233935e 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py @@ -16,11 +16,19 @@ class HumanEvaluationScenarioInput(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py index e239ca6cd2..752606176b 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py @@ -16,11 +16,19 @@ class HumanEvaluationScenarioOutput(pydantic.BaseModel): variant_output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py index cb035d6c6b..3d099aea1d 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py @@ -24,11 +24,19 @@ class HumanEvaluationScenarioUpdate(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py index 71c6cac057..360f8cc449 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py @@ -16,11 +16,19 @@ class HumanEvaluationUpdate(pydantic.BaseModel): status: typing.Optional[EvaluationStatusEnum] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/image.py b/agenta-cli/agenta/client/backend/types/image.py index 03c2193087..52bd510c66 100644 --- a/agenta-cli/agenta/client/backend/types/image.py +++ b/agenta-cli/agenta/client/backend/types/image.py @@ -19,11 +19,19 @@ class Image(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/invite_request.py b/agenta-cli/agenta/client/backend/types/invite_request.py index 5a454982de..2a9c8f0bac 100644 --- a/agenta-cli/agenta/client/backend/types/invite_request.py +++ b/agenta-cli/agenta/client/backend/types/invite_request.py @@ -16,11 +16,19 @@ class InviteRequest(pydantic.BaseModel): roles: typing.List[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py index 0aa72d80ee..dd393d6268 100644 --- a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py +++ b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py @@ -18,11 +18,19 @@ class ListApiKeysResponse(pydantic.BaseModel): expiration_date: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_content.py b/agenta-cli/agenta/client/backend/types/llm_content.py index c6ab83f6d0..f85285ada3 100644 --- a/agenta-cli/agenta/client/backend/types/llm_content.py +++ b/agenta-cli/agenta/client/backend/types/llm_content.py @@ -17,11 +17,19 @@ class LlmContent(pydantic.BaseModel): output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_inputs.py b/agenta-cli/agenta/client/backend/types/llm_inputs.py index 97f828f45c..a0d2a1bf35 100644 --- a/agenta-cli/agenta/client/backend/types/llm_inputs.py +++ b/agenta-cli/agenta/client/backend/types/llm_inputs.py @@ -16,11 +16,19 @@ class LlmInputs(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_model_params.py b/agenta-cli/agenta/client/backend/types/llm_model_params.py index 417b05cc6d..3e53cf681c 100644 --- a/agenta-cli/agenta/client/backend/types/llm_model_params.py +++ b/agenta-cli/agenta/client/backend/types/llm_model_params.py @@ -16,11 +16,19 @@ class LlmModelParams(pydantic.BaseModel): params: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py index b7ea18a69d..24214f4c59 100644 --- a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py +++ b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py @@ -18,11 +18,19 @@ class LlmRunRateLimit(pydantic.BaseModel): delay_between_batches: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py index c201ac2f27..30067d0ae7 100644 --- a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py @@ -21,11 +21,19 @@ class NewHumanEvaluation(pydantic.BaseModel): status: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_testset.py b/agenta-cli/agenta/client/backend/types/new_testset.py index 20b5ec77ad..7f931de42e 100644 --- a/agenta-cli/agenta/client/backend/types/new_testset.py +++ b/agenta-cli/agenta/client/backend/types/new_testset.py @@ -16,11 +16,19 @@ class NewTestset(pydantic.BaseModel): csvdata: typing.List[typing.Dict[str, str]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py index f41c6cbc83..d85f148aae 100644 --- a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py +++ b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py @@ -23,11 +23,19 @@ class ObservabilityDashboardData(pydantic.BaseModel): avg_tokens: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_data.py b/agenta-cli/agenta/client/backend/types/observability_data.py index 4c6cbc48c0..e55c62e139 100644 --- a/agenta-cli/agenta/client/backend/types/observability_data.py +++ b/agenta-cli/agenta/client/backend/types/observability_data.py @@ -24,11 +24,19 @@ class ObservabilityData(pydantic.BaseModel): variant: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization.py b/agenta-cli/agenta/client/backend/types/organization.py index 4a6b6dd1f8..83c81d68d4 100644 --- a/agenta-cli/agenta/client/backend/types/organization.py +++ b/agenta-cli/agenta/client/backend/types/organization.py @@ -22,11 +22,19 @@ class Organization(pydantic.BaseModel): is_paying: typing.Optional[bool] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization_output.py b/agenta-cli/agenta/client/backend/types/organization_output.py index d3269aeb52..93b88e4cf4 100644 --- a/agenta-cli/agenta/client/backend/types/organization_output.py +++ b/agenta-cli/agenta/client/backend/types/organization_output.py @@ -16,11 +16,19 @@ class OrganizationOutput(pydantic.BaseModel): name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/result.py b/agenta-cli/agenta/client/backend/types/result.py index c807398f53..77e4c84d0a 100644 --- a/agenta-cli/agenta/client/backend/types/result.py +++ b/agenta-cli/agenta/client/backend/types/result.py @@ -18,11 +18,19 @@ class Result(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py index 3bba878f7b..ed86be2b2e 100644 --- a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py +++ b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py @@ -20,11 +20,19 @@ class SimpleEvaluationOutput(pydantic.BaseModel): evaluation_type: EvaluationType def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_detail.py b/agenta-cli/agenta/client/backend/types/span_detail.py index 68a659300b..ab4516173d 100644 --- a/agenta-cli/agenta/client/backend/types/span_detail.py +++ b/agenta-cli/agenta/client/backend/types/span_detail.py @@ -28,11 +28,19 @@ class SpanDetail(pydantic.BaseModel): model_params: LlmModelParams def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_status.py b/agenta-cli/agenta/client/backend/types/span_status.py index 5bcda585c1..722e7430af 100644 --- a/agenta-cli/agenta/client/backend/types/span_status.py +++ b/agenta-cli/agenta/client/backend/types/span_status.py @@ -18,11 +18,19 @@ class SpanStatus(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_variant.py b/agenta-cli/agenta/client/backend/types/span_variant.py index a67067789d..03903fb8d5 100644 --- a/agenta-cli/agenta/client/backend/types/span_variant.py +++ b/agenta-cli/agenta/client/backend/types/span_variant.py @@ -17,11 +17,19 @@ class SpanVariant(pydantic.BaseModel): revision: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template.py b/agenta-cli/agenta/client/backend/types/template.py index c43fc4beac..b509e795d4 100644 --- a/agenta-cli/agenta/client/backend/types/template.py +++ b/agenta-cli/agenta/client/backend/types/template.py @@ -17,11 +17,19 @@ class Template(pydantic.BaseModel): image: TemplateImageInfo def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template_image_info.py b/agenta-cli/agenta/client/backend/types/template_image_info.py index 5131e053d7..b0c01e7504 100644 --- a/agenta-cli/agenta/client/backend/types/template_image_info.py +++ b/agenta-cli/agenta/client/backend/types/template_image_info.py @@ -22,11 +22,19 @@ class TemplateImageInfo(pydantic.BaseModel): template_uri: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_output_response.py b/agenta-cli/agenta/client/backend/types/test_set_output_response.py index ac4a47255d..715ebcdcd5 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_output_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_output_response.py @@ -17,11 +17,19 @@ class TestSetOutputResponse(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py index c30fc1de89..b6ac04a871 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py @@ -17,11 +17,19 @@ class TestSetSimpleResponse(pydantic.BaseModel): created_at: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/uri.py b/agenta-cli/agenta/client/backend/types/uri.py index a04cc35249..608f89ef6f 100644 --- a/agenta-cli/agenta/client/backend/types/uri.py +++ b/agenta-cli/agenta/client/backend/types/uri.py @@ -15,11 +15,19 @@ class Uri(pydantic.BaseModel): uri: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/validation_error.py b/agenta-cli/agenta/client/backend/types/validation_error.py index 67b5ba78e3..ffd8cc872f 100644 --- a/agenta-cli/agenta/client/backend/types/validation_error.py +++ b/agenta-cli/agenta/client/backend/types/validation_error.py @@ -18,11 +18,19 @@ class ValidationError(pydantic.BaseModel): type: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action.py b/agenta-cli/agenta/client/backend/types/variant_action.py index 1fe22412aa..a614ac00f5 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action.py +++ b/agenta-cli/agenta/client/backend/types/variant_action.py @@ -16,11 +16,19 @@ class VariantAction(pydantic.BaseModel): action: VariantActionEnum def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action_enum.py b/agenta-cli/agenta/client/backend/types/variant_action_enum.py index 5aa6f1c7e7..6f5f8c19c5 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action_enum.py +++ b/agenta-cli/agenta/client/backend/types/variant_action_enum.py @@ -14,7 +14,9 @@ class VariantActionEnum(str, enum.Enum): START = "START" STOP = "STOP" - def visit(self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result]) -> T_Result: + def visit( + self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result] + ) -> T_Result: if self is VariantActionEnum.START: return start() if self is VariantActionEnum.STOP: diff --git a/agenta-cli/agenta/client/backend/types/with_pagination.py b/agenta-cli/agenta/client/backend/types/with_pagination.py index 2b7a1588ac..ae2a4dfa06 100644 --- a/agenta-cli/agenta/client/backend/types/with_pagination.py +++ b/agenta-cli/agenta/client/backend/types/with_pagination.py @@ -18,11 +18,19 @@ class WithPagination(pydantic.BaseModel): page_size: int = pydantic.Field(alias="pageSize") def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_member_response.py b/agenta-cli/agenta/client/backend/types/workspace_member_response.py index ef3c928c8e..ec907e24d8 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_member_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_member_response.py @@ -17,11 +17,19 @@ class WorkspaceMemberResponse(pydantic.BaseModel): roles: typing.List[WorkspacePermission] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_permission.py b/agenta-cli/agenta/client/backend/types/workspace_permission.py index ed74790008..0d847e611e 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_permission.py +++ b/agenta-cli/agenta/client/backend/types/workspace_permission.py @@ -19,11 +19,19 @@ class WorkspacePermission(pydantic.BaseModel): permissions: typing.Optional[typing.List[Permission]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_response.py b/agenta-cli/agenta/client/backend/types/workspace_response.py index 55ee8f5f51..f0e0bbf5ee 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_response.py @@ -23,11 +23,19 @@ class WorkspaceResponse(pydantic.BaseModel): members: typing.Optional[typing.List[WorkspaceMemberResponse]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_role_response.py b/agenta-cli/agenta/client/backend/types/workspace_role_response.py index 4313b624b1..97531c3143 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_role_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_role_response.py @@ -17,11 +17,19 @@ class WorkspaceRoleResponse(pydantic.BaseModel): role_description: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: From 13fb8912519ef64dd979cbddc53e6c7ed279ceaf Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 27 Feb 2024 14:54:27 +0100 Subject: [PATCH 077/539] Refactor - update trace db and db function to create trace span --- agenta-backend/agenta_backend/models/db_models.py | 3 ++- agenta-backend/agenta_backend/services/event_db_manager.py | 4 +--- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index aac1ce995e..f4396d7c11 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -337,7 +337,8 @@ class Feedback(BaseModel): class TraceDB(Document): app_id: Optional[str] - variant_id: str + base_id: str + config_name: str spans: List[PydanticObjectId] start_time: datetime end_time: datetime = Field(default=datetime.now()) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 1002e91c5c..3d5027d8ea 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -144,10 +144,8 @@ async def create_trace_span(payload: CreateSpan) -> str: end_time = datetime.now() duration = end_time - payload.start_time - span_status = SpanStatus(value=payload.status) span_db = SpanDB( - **payload.dict(exclude={"status"}), - status=span_status, + **payload.dict(exclude={"end_time", "duration"}), end_time=end_time, duration=duration.total_seconds(), ) From da2480f6d457185562616f431172eac50bba96b1 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 27 Feb 2024 15:19:22 +0100 Subject: [PATCH 078/539] Refactor - modified llm tracing module --- agenta-cli/agenta/sdk/agenta_tracing.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index f3ad27f353..bf87c978b1 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -5,13 +5,14 @@ # Own Imports from agenta.client.backend import client +from agenta.client.backend.types.span_status import SpanStatus from agenta.client.backend.client import AsyncObservabilityClient class LLMTracing: def __init__(self, base_url: str, api_key: Optional[str] = None): - self.base_url = base_url - self.api_key = api_key + self.base_url = base_url + "/api" + self.api_key = api_key if api_key is not None else "" def initialize_client(self) -> AsyncObservabilityClient: return client.AsyncAgentaApi( @@ -37,7 +38,7 @@ async def create_trace( cost=kwargs["cost"], # type: ignore latency=latency.total_seconds(), status="INITIATED", - token_consumption=kwargs["token_consumption"], # type: ignore + token_consumption=kwargs["total_tokens"], # type: ignore tags=[], end_time=trace_end_time, spans=spans, @@ -61,7 +62,7 @@ async def create_span( meta=kwargs["meta"], # type: ignore event_name=event_name, event_type="generation", - status="INITIATED", + status=SpanStatus(**{"value": "INITIATED", "error": None}), inputs=kwargs["inputs"], # type: ignore outputs=kwargs["outputs"], # type: ignore prompt_template=kwargs["prompt_template"], # type: ignore From 1fe96098e6a7db26a3c0396b5d804af4a9f1d766 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 27 Feb 2024 23:47:31 +0100 Subject: [PATCH 079/539] Refactor - remove ag.trace function --- examples/baby_name_generator/app_async_trace.py | 10 ---------- 1 file changed, 10 deletions(-) diff --git a/examples/baby_name_generator/app_async_trace.py b/examples/baby_name_generator/app_async_trace.py index 8271835c87..916b8d9b2c 100644 --- a/examples/baby_name_generator/app_async_trace.py +++ b/examples/baby_name_generator/app_async_trace.py @@ -34,16 +34,6 @@ async def generate(country: str, gender: str): token_usage = chat_completion.usage.dict() prompt_output = chat_completion.choices[0].message.content prompt_cost = ag.calculate_token_usage("gpt-3.5-turbo", token_usage) - await ag.trace( - **{ - **token_usage, - "meta": token_usage, - "inputs": ["country", "gender"], - "outputs": [prompt_output], - "prompt_template": ag.config.prompt_template, - "cost": prompt_cost, - }, - ) return { "message": prompt_output, **{"usage": token_usage}, From ae7dafde1a36a04d887e336a7e78af7b3573337e Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 01:07:17 +0100 Subject: [PATCH 080/539] Feat - integrate llm tracing to sdk --- agenta-cli/agenta/sdk/agenta_decorator.py | 47 ++++++++++++++++++++--- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index eebcccc986..e8dbc97b8e 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -77,7 +77,9 @@ async def wrapper(*args, **kwargs) -> Any: func_params, api_config_params = split_kwargs(kwargs, config_params) ingest_files(func_params, ingestible_files) agenta.config.set(**api_config_params) - return await execute_function(func, *args, **func_params) + return await execute_function( + func, *args, **{"params": func_params, "config_params": config_params} + ) @functools.wraps(func) async def wrapper_deployed(*args, **kwargs) -> Any: @@ -90,7 +92,11 @@ async def wrapper_deployed(*args, **kwargs) -> Any: agenta.config.pull(config_name=kwargs["config"]) else: agenta.config.pull(config_name="default") - return await execute_function(func, *args, **func_params) + + config = agenta.config.all() + return await execute_function( + func, *args, **{"params": func_params, "config_params": config} + ) update_function_signature(wrapper, func_signature, config_params, ingestible_files) route = f"/{endpoint_name}" @@ -152,6 +158,33 @@ def ingest_files( func_params[name] = ingest_file(func_params[name]) +async def prepare_llm_params_and_begin_tracing( + params: Dict[str, Any], result: Union[str, dict] +) -> None: + """Prepares LLM parameters and begins tracing. + + Args: + params (Dict[str, Any]): the LLM app parameters + result (Union[str, dict]): the output of the llm run + """ + + if "config_params" in params: + trace_data = { + "inputs": list(params["params"].keys()), + "prompt_template": params["config_params"]["prompt_template"], + } + + if isinstance(result, dict): + trace_data["outputs"] = [result.get("message")] + trace_data["cost"] = result.get("cost") + trace_data["meta"] = result.get("usage") + trace_data.update(result["usage"]) + else: + trace_data["outputs"] = [result] + + await agenta.trace(**trace_data) + + async def execute_function( func: Callable[..., Any], *args, **func_params ) -> Union[Dict[str, Any], JSONResponse]: @@ -166,20 +199,24 @@ async def execute_function( is_coroutine_function = inspect.iscoroutinefunction(func) start_time = time.perf_counter() if is_coroutine_function: - result = await func(*args, **func_params) + result = await func(*args, **func_params["params"]) else: - result = func(*args, **func_params) + result = func(*args, **func_params["params"]) end_time = time.perf_counter() latency = end_time - start_time + # Prepare llm arguments and begins tracing + await prepare_llm_params_and_begin_tracing(func_params, result) + if isinstance(result, Context): save_context(result) if isinstance(result, Dict): return FuncResponse(**result, latency=round(latency, 4)).dict() if isinstance(result, str): - return FuncResponse(message=result, latency=round(latency, 4)).dict() + return FuncResponse(message=result, latency=round(latency, 4)).dict() # type: ignore except Exception as e: return handle_exception(e) + return FuncResponse(message="Unexpected error occurred", latency=round(latency, 4)).dict() # type: ignore def handle_exception(e: Exception) -> JSONResponse: From a3f54a26dbe6faf0344623cc3660fc301049aa60 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 01:08:08 +0100 Subject: [PATCH 081/539] Refactor - change status value from INITIATED to SUCCESS --- agenta-cli/agenta/sdk/agenta_tracing.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index bf87c978b1..571c3c1889 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -62,7 +62,7 @@ async def create_span( meta=kwargs["meta"], # type: ignore event_name=event_name, event_type="generation", - status=SpanStatus(**{"value": "INITIATED", "error": None}), + status=SpanStatus(**{"value": "SUCCESS", "error": None}), inputs=kwargs["inputs"], # type: ignore outputs=kwargs["outputs"], # type: ignore prompt_template=kwargs["prompt_template"], # type: ignore From 668a8f8b16ca12f1368683c150b76856180a9c9c Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 01:16:43 +0100 Subject: [PATCH 082/539] Update - brought back use of ag.trace and added comments --- examples/baby_name_generator/app_async_trace.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/examples/baby_name_generator/app_async_trace.py b/examples/baby_name_generator/app_async_trace.py index 916b8d9b2c..16e078146a 100644 --- a/examples/baby_name_generator/app_async_trace.py +++ b/examples/baby_name_generator/app_async_trace.py @@ -34,6 +34,20 @@ async def generate(country: str, gender: str): token_usage = chat_completion.usage.dict() prompt_output = chat_completion.choices[0].message.content prompt_cost = ag.calculate_token_usage("gpt-3.5-turbo", token_usage) + + #! NOTE: the use of ag.trace has explicitly become redundant due to the + #! fact that tracing has been integrated into the sdk. CHeck app_async for llm + #! example with the explicit trace use + await ag.trace( + **{ + **token_usage, + "meta": token_usage, + "inputs": ["country", "gender"], + "outputs": [prompt_output], + "prompt_template": ag.config.prompt_template, + "cost": prompt_cost, + }, + ) return { "message": prompt_output, **{"usage": token_usage}, From 91c9fd12d026326c98d24e7f3fa3a78738eda843 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 01:19:03 +0100 Subject: [PATCH 083/539] Refactor - update ag.trace comment --- examples/baby_name_generator/app_async_trace.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/baby_name_generator/app_async_trace.py b/examples/baby_name_generator/app_async_trace.py index 16e078146a..441fb68266 100644 --- a/examples/baby_name_generator/app_async_trace.py +++ b/examples/baby_name_generator/app_async_trace.py @@ -35,7 +35,7 @@ async def generate(country: str, gender: str): prompt_output = chat_completion.choices[0].message.content prompt_cost = ag.calculate_token_usage("gpt-3.5-turbo", token_usage) - #! NOTE: the use of ag.trace has explicitly become redundant due to the + #! NOTE: the use of ag.trace explicitly become redundant due to the #! fact that tracing has been integrated into the sdk. CHeck app_async for llm #! example with the explicit trace use await ag.trace( From 4c44a67e9dc30aa31450cd47a97a688ddbe5bdc9 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 01:20:16 +0100 Subject: [PATCH 084/539] Refactor - update ag.trace comment --- examples/baby_name_generator/app_async_trace.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/baby_name_generator/app_async_trace.py b/examples/baby_name_generator/app_async_trace.py index 441fb68266..6b1d24fa67 100644 --- a/examples/baby_name_generator/app_async_trace.py +++ b/examples/baby_name_generator/app_async_trace.py @@ -35,9 +35,9 @@ async def generate(country: str, gender: str): prompt_output = chat_completion.choices[0].message.content prompt_cost = ag.calculate_token_usage("gpt-3.5-turbo", token_usage) - #! NOTE: the use of ag.trace explicitly become redundant due to the - #! fact that tracing has been integrated into the sdk. CHeck app_async for llm - #! example with the explicit trace use + #! NOTE: the use of ag.trace explicitly has become redundant due to the + #! fact that tracing has been integrated into the sdk. Check app_async.py for llm + #! example without the explicit trace use await ag.trace( **{ **token_usage, From a1ca3a30032cd1c0a3228546efec65be1c148b82 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 14:22:24 +0100 Subject: [PATCH 085/539] Refactor - replace mock data with real data --- .../services/event_db_manager.py | 324 +++++++----------- 1 file changed, 121 insertions(+), 203 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 3d5027d8ea..66ca8d30e2 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -106,9 +106,7 @@ async def get_trace_single(trace_id: str, user_uid: str) -> Trace: return trace_db_to_pydantic(trace) -async def trace_status_update( - trace_id: str, payload: UpdateTrace, user_uid: str -) -> bool: +async def trace_update(trace_id: str, payload: UpdateTrace, user_uid: str) -> bool: """Update status of trace. Args: @@ -126,9 +124,7 @@ async def trace_status_update( TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id ) - # Update and save trace - trace.status = payload.status - await trace.save() + await trace.update({"$set": payload.dict(exclude_none=True)}) return True @@ -144,8 +140,10 @@ async def create_trace_span(payload: CreateSpan) -> str: end_time = datetime.now() duration = end_time - payload.start_time + trace = await TraceDB.find_one(TraceDB.id == ObjectId(payload.trace_id)) span_db = SpanDB( - **payload.dict(exclude={"end_time", "duration"}), + **payload.dict(exclude={"end_time", "duration", "trace_id"}), + trace=trace, end_time=end_time, duration=duration.total_seconds(), ) @@ -153,8 +151,12 @@ async def create_trace_span(payload: CreateSpan) -> str: return str(span_db.id) -async def get_trace_spans_by_user_uid( - user_uid: str, trace_type: str, pagination: PaginationParam +async def fetch_generation_spans( + user_uid: str, + app_id: str, + pagination: PaginationParam, + filters: GenerationFilterParams, + sorters: SorterParams, ) -> List[Span]: """Get the spans for a given trace. @@ -167,81 +169,9 @@ async def get_trace_spans_by_user_uid( """ user = await db_manager.get_user(user_uid) - - # Get trace - trace = await TraceDB.find_one( - TraceDB.type == trace_type, TraceDB.user.id == user.id, fetch_links=True - ) - - # Get trace spans - spans = await spans_to_pydantic(trace.spans, trace) - return get_paginated_data(spans, pagination) - - -async def fetch_mock_generation( - user_uid: str, - pagination: PaginationParam, - filters: GenerationFilterParams, - sorters: SorterParams, -) -> List[Span]: - import random, uuid - from faker import Faker - from datetime import datetime, timedelta - - fake = Faker() - list_of_generations = [] - - user = await db_manager.get_user(user_uid) - - def get_random_timestamp(): - past_24_hours = datetime.now() - timedelta(hours=24) - random_time = fake.date_time_between(start_date=past_24_hours) - return random_time.isoformat() - - def generate_mock_generation(): - status_value = random.choice(["SUCCESS", "FAILURE", "INITIATED"]) - list_of_generations.append( - Span( - **{ - "id": str(uuid.uuid4()), - "created_at": get_random_timestamp(), - "variant": { - "variant_id": str(uuid.uuid4()), - "variant_name": fake.company(), - "revision": random.randint(1, 20), - }, - "environment": random.choice( - ["development", "staging", "production"] - ), - "status": { - "value": status_value, - "error": ( - { - "message": fake.sentence(), - "stacktrace": fake.text( - max_nb_chars=200 - ), # Short stacktrace - } - if status_value == "FAILURE" - else None - ), - }, - "metadata": { - "cost": random.uniform(0.01, 2), - "latency": random.uniform(0.1, 10), - "usage": { - "completion_tokens": random.randint(50, 300), - "prompt_tokens": random.randint(20, 100), - "total_tokens": random.randint(100, 500), - }, - }, - "user_id": str(user.id), - } - ) - ) - - for _ in range(10): - generate_mock_generation() + spans_db = await SpanDB.find( + SpanDB.trace.user.id == str(user.id), SpanDB.trace.app_id == app_id + ).to_list() def filter_span(span: Span): if filters: @@ -251,129 +181,138 @@ def filter_span(span: Span): return False return True - filtered_generations = filter(filter_span, list_of_generations) + # Get trace spans + spans = await spans_to_pydantic(spans_db) + filtered_generations = filter(filter_span, spans) + # Sorting logic + reverse = False sort_keys = list(sorters.dict(exclude=None).keys()) if "created_at" in sort_keys: reverse = sorters.created_at == "desc" if sorters else False sorted_generations = sorted( - filtered_generations, key=lambda x: x.created_at, reverse=reverse + filtered_generations, key=lambda x: x["created_at"], reverse=reverse ) return get_paginated_data(sorted_generations, pagination) -async def fetch_mock_generation_detail(generation_id: str, user_uid: str) -> SpanDetail: - import random, uuid - from faker import Faker - from datetime import datetime, timedelta +async def fetch_generation_span_detail(span_id: str, user_uid: str) -> SpanDetail: + """Get a generation span detail. - fake = Faker() - user = await db_manager.get_user(user_uid) + Args: + span_id (str): The ID of a span + user_uid (str): The user ID - def get_random_timestamp(): - past_24_hours = datetime.now() - timedelta(hours=24) - random_time = fake.date_time_between(start_date=past_24_hours) - return random_time.isoformat() + Returns: + SpanDetail: span detail pydantic model + """ - def generate_mock_generation(): - status_value = random.choice(["SUCCESS", "FAILURE", "INITIATED"]) - return { - "id": str(uuid.uuid4()), - "created_at": get_random_timestamp(), + user = await db_manager.get_user(user_uid) + span_db = await SpanDB.find_one(SpanDB.id == ObjectId(span_id), SpanDB.trace.user.id == user.id) + app_variant_db = await db_manager.fetch_app_variant_by_base_id_and_config_name( + span_db.trace.base_id, span_db.trace.config_name + ) + def convert_variables(span_db: SpanDB): + """ + Converts a list of variables to a list of dictionaries with name and type information. + + Args: + span_db: A dictionary containing a list of variables under the "inputs" key. + + Returns: + A list of dictionaries, where each dictionary has the following keys: + name: The name of the variable. + type: The type of the variable (string, number, or boolean). + """ + + variables = [] + for variable in span_db.inputs: + if isinstance(variable, str): + variable_type = "string" + elif isinstance(variable, (int, float)): + variable_type = "number" + elif isinstance(variable, bool): + variable_type = "boolean" + else: + raise ValueError(f"Unsupported variable type: {type(variable)}") + + variables.append({"name": variable, "type": variable_type}) + return variables + + return SpanDetail( + **{ + "id": str(span_db.id), + "created_at": span_db.created_at.isoformat(), "variant": { - "variant_id": str(uuid.uuid4()), - "variant_name": fake.company(), - "revision": random.randint(1, 20), + "variant_id": str(app_variant_db.id), + "variant_name": app_variant_db.variant_name, + "revision": app_variant_db.revision, }, - "environment": random.choice(["development", "staging", "production"]), + "environment": "", "status": { - "value": random.choice(["INITIATED", "SUCCESS", "FAILURE"]), + "value": span_db.status.value, "error": ( { - "message": fake.sentence(), - "stacktrace": fake.text(max_nb_chars=200), # Short stacktrace + "message": span_db.status.error.message, + "stacktrace": span_db.status.error.stacktrace, } - if status_value == "FAILURE" + if span_db.status.value == "FAILURE" else None ), }, - "metadata": { - "cost": random.uniform(0.01, 2), - "latency": random.uniform(0.1, 10), - "usage": { - "completion_tokens": random.randint(50, 300), - "prompt_tokens": random.randint(20, 100), - "total_tokens": random.randint(100, 500), - }, - }, + "metadata": span_db.meta, "user_id": str(user.id), - } - - return SpanDetail( - **generate_mock_generation(), + }, **{ - "span_id": generation_id, + "span_id": str(span_db.id), "content": { - "inputs": [ - {"input_name": fake.word(), "input_value": fake.sentence()} - for _ in range(random.randint(1, 3)) - ], - "output": fake.paragraph(nb_sentences=3), + "inputs": span_db.inputs, + "output": span_db.outputs[0], }, "model_params": { "prompt": { "system": ( - fake.sentence() if random.random() < 0.5 else None - ), # Optional system prompt - "user": fake.sentence(), - "variables": [ - { - "name": fake.word(), - "type": random.choice(["number", "string", "bool"]), - } - for _ in range(random.randint(0, 2)) - ], - }, - "params": { - "temperature": random.uniform(0.2, 0.9), - "top_p": random.uniform(0.5, 1.0), + span_db.prompt_system + ), + "user": span_db.prompt_user, + "variables": convert_variables(span_db), }, + "params": app_variant_db.config.parameters, }, }, ) -def fetch_mock_observability_dashboard( +async def retrieve_observability_dashboard( params: ObservabilityDashboardDataRequestParams, ) -> ObservabilityDashboardData: - import random - from datetime import datetime - - list_of_data_points = [] - - def generate_data_point(): - for _ in range(10): - list_of_data_points.append( - ObservabilityData( - **{ - "timestamp": datetime.now(), - "success_count": random.randint(5, 20), - "failure_count": random.randint(0, 5), - "cost": random.uniform(0.05, 0.5), - "latency": random.uniform(0.2, 1.5), - "total_tokens": random.randint(100, 500), - "prompt_tokens": random.randint(20, 150), - "completion_tokens": random.randint(50, 300), - "environment": random.choice( - ["development", "staging", "production"] - ), - "variant": f"variant_{random.randint(1, 5)}", - } - ) + traces = await TraceDB.find(TraceDB.app_id == ObjectId(params.appId)) + list_of_spans_db: SpanDB = [] + + for trace in traces: + for span in trace.spans: + span_db = await SpanDB.find_one(SpanDB.id == ObjectId(span)) + list_of_spans_db.append(span_db) + + list_of_observability_data: ObservabilityData = [] + for span_db in list_of_spans_db: + list_of_observability_data.append( + ObservabilityData( + **{ + "timestamp": span_db.created_at, + "success_count": len(list_of_spans_db), + "failure_count": 0, + "cost": span_db.cost, + "latency": span_db.latency, + "total_tokens": span_db.token_total, + "prompt_tokens": span_db.tokens_input, + "completion_tokens": span_db.tokens_output, + "environment": "", + "variant": "", + } ) - - generate_data_point() + ) def filter_data(data: ObservabilityData): if params: @@ -404,53 +343,32 @@ def filter_data(data: ObservabilityData): return True return False - filtered_data = filter(filter_data, list_of_data_points) + len_of_spans_db = len(list_of_observability_data) + filtered_data = filter(filter_data, list_of_observability_data) return ObservabilityDashboardData( **{ "data": list(filtered_data), - "total_count": random.randint(50, 200), - "failure_rate": random.uniform(0.0, 0.25), - "total_cost": random.uniform(5, 20), - "avg_cost": random.uniform(0.1, 0.8), - "avg_latency": random.uniform(0.5, 2.0), - "total_tokens": random.randint(1000, 5000), - "avg_tokens": random.randint(100, 500), + "total_count": len_of_spans_db, + "failure_rate": 0, + "total_cost": sum([span_db.cost for span_db in list_of_spans_db]), + "avg_cost": sum([span_db.cost for span_db in list_of_spans_db]) + / len_of_spans_db, + "avg_latency": sum([span_db.duration for span_db in list_of_spans_db]) + / len_of_spans_db, + "total_tokens": sum([span_db.token_total for span_db in list_of_spans_db]), + "avg_tokens": sum([span_db.token_total for span_db in list_of_spans_db]) + / len_of_spans_db, } ) -async def get_trace_spans(trace_id: str, user_uid: str) -> List[Span]: - """Get the spans for a given trace. - - Args: - trace_id (str): the Id of the trace - - Returns: - List[Span]: the list of spans for the given trace - """ - - user = await db_manager.get_user(user_uid) - - # Get trace - trace = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id, fetch_links=True - ) - - # Get trace spans - spans = spans_to_pydantic(trace.spans) - return spans - - -async def delete_span(span_id: str, resource_type: str): +async def delete_span(span_id: str): """Delete the span for a given span_id. Args: span_id (str): The Id of the span """ - if resource_type == "mock": - return - span = await SpanDB.find_one(SpanDB.id == ObjectId(span_id)) await span.delete() From 766fbec659fbbb82ebb99d6f773bae7f4daee4e1 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 14:23:23 +0100 Subject: [PATCH 086/539] Feat - created db function to fetch app variant by base and config name --- .../agenta_backend/services/db_manager.py | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/agenta-backend/agenta_backend/services/db_manager.py b/agenta-backend/agenta_backend/services/db_manager.py index 2d32fa855c..957393ff46 100644 --- a/agenta-backend/agenta_backend/services/db_manager.py +++ b/agenta-backend/agenta_backend/services/db_manager.py @@ -183,6 +183,29 @@ async def fetch_app_variant_by_id( return app_variant +async def fetch_app_variant_by_base_id_and_config_name( + base_id: str, config_name: str +) -> Optional[AppVariantDB]: + """ + Fetches an app variant by its base ID and config name. + + Args: + base_id (str): The ID of the variant base to fetch + config_name (str): The name of the config + + Returns: + AppVariantDB: The fetched app variant, or None if no app variant was found. + """ + assert base_id is not None, "base_id cannot be None" + assert config_name is not None, "config_name cannot be None" + app_variant = await AppVariantDB.find_one( + AppVariantDB.base.id == ObjectId(base_id), + AppVariantDB.config_name == config_name, + fetch_links=True, + ) + return app_variant + + async def fetch_app_variant_revision_by_variant( app_variant_id: str, revision: int ) -> AppVariantRevisionsDB: From a3580fe8160bf80d4b30f94466f2211f7496e7aa Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 14:28:21 +0100 Subject: [PATCH 087/539] Refactor - replaced mock functions --- .../routers/observability_router.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 839d265197..60d0bdbb75 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -36,7 +36,9 @@ async def get_dashboard_data( request: Request, parameters: ObservabilityDashboardDataRequestParams = Depends() ): - return event_db_manager.fetch_mock_observability_dashboard(parameters) + if not parameters.appId: + return [] + return event_db_manager.retrieve_observability_dashboard(parameters) @router.post("/traces/", response_model=str, operation_id="create_trace") @@ -61,13 +63,15 @@ async def create_span( ) async def get_spans_of_trace( request: Request, + app_id: str, pagination: PaginationParam = Depends(), filters: GenerationFilterParams = Depends(), sorters: SorterParams = Depends(), ): if filters and filters.type == "generation": - spans = await event_db_manager.fetch_mock_generation( + spans = await event_db_manager.fetch_generation_spans( request.state.user_id, + app_id, pagination, filters, sorters, @@ -87,7 +91,7 @@ async def get_span_of_trace( type: str = Query(default="generation"), ): if type == "generation": - spans = await event_db_manager.fetch_mock_generation_detail( + spans = await event_db_manager.fetch_generation_span_detail( span_id, request.state.user_id ) return spans @@ -98,14 +102,14 @@ async def get_span_of_trace( "/spans/{span_id}/", response_model=bool, operation_id="delete_span_of_trace" ) async def delete_span_of_trace(request: Request, span_id: str): - await event_db_manager.delete_span(span_id, "mock") + await event_db_manager.delete_span(span_id) return True @router.put( - "/traces/{trace_id}/", response_model=bool, operation_id="update_trace_status" + "/traces/{trace_id}/", response_model=bool, operation_id="update_trace" ) -async def update_trace_status( +async def update_trace( trace_id: str, payload: UpdateTrace, request: Request, From 53e813031474e07914a098323b770c86d169c6fc Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 14:29:07 +0100 Subject: [PATCH 088/539] Refactor - update base_span model --- .../agenta_backend/models/api/observability_models.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 99baf59c24..2e04d84c49 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -16,6 +16,7 @@ class ObservabilityDashboardDataRequestParams(BaseModel): endTime: Optional[int] environment: Optional[str] variant: Optional[str] + appId: Optional[str] class Error(BaseModel): @@ -51,6 +52,7 @@ class Span(BaseModel): class BaseSpan(BaseModel): + trace_id: Optional[str] parent_span_id: Optional[str] meta: Optional[Dict[str, Any]] event_name: str @@ -60,7 +62,8 @@ class BaseSpan(BaseModel): status: SpanStatus inputs: Optional[List[str]] outputs: Optional[List[str]] - prompt_template: Optional[str] + prompt_system: Optional[str] + prompt_user: Optional[str] tokens_input: Optional[int] tokens_output: Optional[int] token_total: Optional[int] @@ -144,7 +147,6 @@ class BaseTrace(BaseModel): token_consumption: Optional[int] tags: Optional[List[str]] start_time: datetime = Field(default=datetime.now()) - end_time: Optional[datetime] class Trace(BaseTrace): @@ -159,3 +161,4 @@ class CreateTrace(BaseTrace): class UpdateTrace(BaseModel): status: str + end_time: datetime From 6360f3ced601eb08cfc83090788bc87202c664f3 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 14:29:42 +0100 Subject: [PATCH 089/539] Refactor - moved SpanDB to bottom --- .../agenta_backend/models/db_models.py | 49 ++++++++++--------- 1 file changed, 25 insertions(+), 24 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index f4396d7c11..9bcba6fc91 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -302,29 +302,6 @@ class SpanStatus(BaseModel): error: Optional[Error] -class SpanDB(Document): - parent_span_id: Optional[str] - meta: Optional[Dict[str, Any]] - event_name: str # Function or execution name - event_type: Optional[str] - start_time: datetime - duration: Optional[int] - status: SpanStatus - end_time: datetime = Field(default=datetime.now()) - inputs: Optional[List[str]] - outputs: Optional[List[str]] - prompt_template: Optional[str] - tokens_input: Optional[int] - tokens_output: Optional[int] - token_total: Optional[int] - cost: Optional[float] - tags: Optional[List[str]] - created_at: datetime = Field(default=datetime.now()) - - class Settings: - name = "spans" - - class Feedback(BaseModel): uid: str = Field(default=str(uuid4())) user_id: str @@ -339,7 +316,6 @@ class TraceDB(Document): app_id: Optional[str] base_id: str config_name: str - spans: List[PydanticObjectId] start_time: datetime end_time: datetime = Field(default=datetime.now()) cost: Optional[float] @@ -353,3 +329,28 @@ class TraceDB(Document): class Settings: name = "traces" + + +class SpanDB(Document): + trace: Link[TraceDB] + parent_span_id: Optional[str] + meta: Optional[Dict[str, Any]] + event_name: str # Function or execution name + event_type: Optional[str] + start_time: datetime + duration: Optional[int] + status: SpanStatus + end_time: datetime = Field(default=datetime.now()) + inputs: Optional[List[str]] + outputs: Optional[List[str]] + prompt_user: Optional[str] + prompt_system: Optional[str] + tokens_input: Optional[int] + tokens_output: Optional[int] + token_total: Optional[int] + cost: Optional[float] + tags: Optional[List[str]] + created_at: datetime = Field(default=datetime.now()) + + class Settings: + name = "spans" \ No newline at end of file From d0ab20309fb1a16aabb2c8d564cd5a41a5555c2b Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 14:30:22 +0100 Subject: [PATCH 090/539] Refactor - modified spans_to_pydantic use --- .../agenta_backend/models/converters.py | 28 ++++++++++--------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index 4f719f4056..ac6ab32310 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -519,27 +519,29 @@ def testset_db_to_pydantic(test_set_db: TestSetDB) -> TestSetOutput: ) -async def spans_to_pydantic(spans: List[ObjectId], trace_db: TraceDB) -> List[Span]: - app_variant_db = await db_manager.fetch_app_variant_by_id(trace_db.variant_id) - spans_db = [ - await SpanDB.find_one(SpanDB.id == ObjectId(span_id)) for span_id in spans - ] - return [ - Span( +async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: + spans = [] + for span_db in spans_db: + app_variant_db = await db_manager.fetch_app_variant_by_base_id_and_config_name( + span_db.trace.base_id, span_db.trace.config_name + ) + + span = Span( id=str(span_db.id), - created_at=span_db.created_at, + created_at=span_db.created_at.isoformat(), variant=SpanVariant( variant_id=str(app_variant_db.id), variant_name=app_variant_db.variant_name, revision=app_variant_db.revision, ), environment="", - status=SpanStatus(value=trace_db.status.value, error=trace_db.status.error), + status=SpanStatus(value=span_db.status.value, error=span_db.status.error), metadata=span_db.meta, - user_id=str(trace_db.user.id), - ).dict(exclude_unset=True) - for span_db in spans_db - ] + user_id=str(span_db.trace.user.id), # Assuming trace_db exists + ) + spans.append(span.dict(exclude_unset=True)) + + return spans def feedback_db_to_pydantic(feedback_db: FeedbackDB) -> FeedbackOutput: From bd2ba5614f489d7add7ad6c553ad9bff71951520 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 14:44:57 +0100 Subject: [PATCH 091/539] Update - refactored llm tracing --- agenta-cli/agenta/sdk/agenta_tracing.py | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index 571c3c1889..c0fa24f941 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -25,7 +25,6 @@ async def create_trace( app_id: str, base_id: str, config_name: str, - spans: List[str], **kwargs: Dict[str, Any], ): # calculate the latency between the trace start time and end time @@ -41,23 +40,24 @@ async def create_trace( token_consumption=kwargs["total_tokens"], # type: ignore tags=[], end_time=trace_end_time, - spans=spans, ) return trace async def finalize_trace( self, client: AsyncObservabilityClient, trace_id: str, status: str ) -> bool: - return await client.update_trace_status(trace_id=trace_id, status=status) + return await client.update_trace(trace_id=trace_id, status=status, end_time=datetime.now()) async def create_span( self, client: AsyncObservabilityClient, + trace_id: str, parent_span_id: Optional[str], event_name: str, **kwargs: Dict[str, Any], ): span = await client.create_span( + trace_id=trace_id, parent_span_id=parent_span_id, meta=kwargs["meta"], # type: ignore event_name=event_name, @@ -65,7 +65,8 @@ async def create_span( status=SpanStatus(**{"value": "SUCCESS", "error": None}), inputs=kwargs["inputs"], # type: ignore outputs=kwargs["outputs"], # type: ignore - prompt_template=kwargs["prompt_template"], # type: ignore + prompt_system=kwargs["system"], # type: ignore + prompt_user=kwargs["user"], # type: ignore tokens_input=kwargs["prompt_tokens"], # type: ignore tokens_output=kwargs["completion_tokens"], # type: ignore token_total=kwargs["total_tokens"], # type: ignore @@ -84,17 +85,16 @@ async def start_tracing( client = self.initialize_client() try: trace_starting = datetime.now() - span = await self.create_span( - client, None, event_name=str(uuid.uuid4()), **kwargs - ) trace = await self.create_trace( client, app_id=app_id, base_id=base_id, config_name=config_name, - spans=[span], **{**kwargs, "trace_start_time": trace_starting}, # type: ignore ) + await self.create_span( + client, trace, None, event_name=str(uuid.uuid4()), **kwargs + ) except KeyError as exc: print(f"Something happened when tracing LLM app. Error: {str(exc)}") return From 19b346cd7342f1fbc61f7ca96ace1ad65e7e864f Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 14:45:10 +0100 Subject: [PATCH 092/539] Refactor - improve function to get prompt system --- agenta-cli/agenta/sdk/agenta_decorator.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index e8dbc97b8e..4a14596049 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -168,10 +168,24 @@ async def prepare_llm_params_and_begin_tracing( result (Union[str, dict]): the output of the llm run """ + def get_prompt_system(config_params: Dict[str, Any]) -> Union[str, None]: + if "prompt_template" in config_params: + return config_params["prompt_template"] + + if "prompt_system" in config_params: + return config_params["prompt_system"] + + if "base_prompt" in config_params: + return config_params["base_prompt"] + + return None + + if "config_params" in params: trace_data = { "inputs": list(params["params"].keys()), - "prompt_template": params["config_params"]["prompt_template"], + "prompt_system": get_prompt_system(params["config_params"]), + "prompt_user": params["config_params"].get("prompt_user"), } if isinstance(result, dict): From 150c155bcdc1949740920402cb79f2e433ed7eb3 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 14:45:52 +0100 Subject: [PATCH 093/539] :art: Format - ran black --- agenta-backend/agenta_backend/models/db_models.py | 2 +- .../agenta_backend/routers/observability_router.py | 4 +--- .../agenta_backend/services/event_db_manager.py | 9 +++++---- agenta-cli/agenta/sdk/agenta_decorator.py | 1 - agenta-cli/agenta/sdk/agenta_tracing.py | 4 +++- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 9bcba6fc91..4c44653e6a 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -353,4 +353,4 @@ class SpanDB(Document): created_at: datetime = Field(default=datetime.now()) class Settings: - name = "spans" \ No newline at end of file + name = "spans" diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 60d0bdbb75..aa2f92ad45 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -106,9 +106,7 @@ async def delete_span_of_trace(request: Request, span_id: str): return True -@router.put( - "/traces/{trace_id}/", response_model=bool, operation_id="update_trace" -) +@router.put("/traces/{trace_id}/", response_model=bool, operation_id="update_trace") async def update_trace( trace_id: str, payload: UpdateTrace, diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 66ca8d30e2..05b1fd9af0 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -209,10 +209,13 @@ async def fetch_generation_span_detail(span_id: str, user_uid: str) -> SpanDetai """ user = await db_manager.get_user(user_uid) - span_db = await SpanDB.find_one(SpanDB.id == ObjectId(span_id), SpanDB.trace.user.id == user.id) + span_db = await SpanDB.find_one( + SpanDB.id == ObjectId(span_id), SpanDB.trace.user.id == user.id + ) app_variant_db = await db_manager.fetch_app_variant_by_base_id_and_config_name( span_db.trace.base_id, span_db.trace.config_name ) + def convert_variables(span_db: SpanDB): """ Converts a list of variables to a list of dictionaries with name and type information. @@ -272,9 +275,7 @@ def convert_variables(span_db: SpanDB): }, "model_params": { "prompt": { - "system": ( - span_db.prompt_system - ), + "system": (span_db.prompt_system), "user": span_db.prompt_user, "variables": convert_variables(span_db), }, diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index 4a14596049..a473d97345 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -180,7 +180,6 @@ def get_prompt_system(config_params: Dict[str, Any]) -> Union[str, None]: return None - if "config_params" in params: trace_data = { "inputs": list(params["params"].keys()), diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index c0fa24f941..590446806a 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -46,7 +46,9 @@ async def create_trace( async def finalize_trace( self, client: AsyncObservabilityClient, trace_id: str, status: str ) -> bool: - return await client.update_trace(trace_id=trace_id, status=status, end_time=datetime.now()) + return await client.update_trace( + trace_id=trace_id, status=status, end_time=datetime.now() + ) async def create_span( self, From 90ab763328aa4e54c8bfda99860ff2299ce45449 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 15:09:21 +0100 Subject: [PATCH 094/539] Update - regenerate sdk client backend with fern --- agenta-cli/agenta/client/backend/client.py | 227 ++++------------ .../agenta/client/backend/core/api_error.py | 4 +- .../client/backend/core/datetime_utils.py | 4 +- .../client/backend/core/jsonable_encoder.py | 12 +- .../client/backend/resources/__init__.py | 13 +- .../client/backend/resources/apps/__init__.py | 1 + .../client/backend/resources/apps/client.py | 114 ++------ .../backend/resources/bases/__init__.py | 1 + .../client/backend/resources/bases/client.py | 10 +- .../backend/resources/configs/__init__.py | 1 + .../backend/resources/configs/client.py | 72 +----- .../backend/resources/containers/client.py | 64 ++--- .../resources/environments/__init__.py | 1 + .../backend/resources/environments/client.py | 24 +- .../backend/resources/evaluations/__init__.py | 1 + .../backend/resources/evaluations/client.py | 124 ++------- .../backend/resources/evaluators/__init__.py | 1 + .../backend/resources/evaluators/client.py | 74 ++---- .../resources/observability/__init__.py | 1 + .../backend/resources/observability/client.py | 244 ++++++++++-------- .../backend/resources/testsets/__init__.py | 1 + .../backend/resources/testsets/client.py | 72 ++---- .../backend/resources/variants/client.py | 90 ++----- .../resources/variants/types/__init__.py | 4 +- .../client/backend/types/aggregated_result.py | 12 +- .../aggregated_result_evaluator_config.py | 4 +- agenta-cli/agenta/client/backend/types/app.py | 12 +- .../types/app_variant_output_extended.py | 12 +- .../backend/types/app_variant_response.py | 12 +- .../backend/types/app_variant_revision.py | 12 +- .../client/backend/types/base_output.py | 12 +- .../backend/types/body_import_testset.py | 12 +- .../agenta/client/backend/types/config_db.py | 12 +- .../client/backend/types/create_app_output.py | 12 +- .../client/backend/types/docker_env_vars.py | 12 +- .../backend/types/environment_output.py | 12 +- .../types/environment_output_extended.py | 12 +- .../backend/types/environment_revision.py | 12 +- .../agenta/client/backend/types/error.py | 12 +- .../agenta/client/backend/types/evaluation.py | 12 +- .../backend/types/evaluation_scenario.py | 12 +- .../types/evaluation_scenario_input.py | 12 +- .../types/evaluation_scenario_output.py | 12 +- .../types/evaluation_scenario_result.py | 12 +- .../types/evaluation_scenario_score_update.py | 12 +- .../client/backend/types/evaluation_type.py | 4 +- .../backend/types/evaluation_webhook.py | 12 +- .../agenta/client/backend/types/evaluator.py | 12 +- .../client/backend/types/evaluator_config.py | 12 +- .../agenta/client/backend/types/feedback.py | 12 +- .../backend/types/get_config_response.py | 12 +- .../backend/types/http_validation_error.py | 12 +- .../client/backend/types/human_evaluation.py | 12 +- .../types/human_evaluation_scenario.py | 12 +- .../types/human_evaluation_scenario_input.py | 12 +- .../types/human_evaluation_scenario_output.py | 12 +- .../types/human_evaluation_scenario_update.py | 12 +- .../backend/types/human_evaluation_update.py | 12 +- .../agenta/client/backend/types/image.py | 12 +- .../client/backend/types/invite_request.py | 12 +- .../backend/types/list_api_keys_response.py | 12 +- .../client/backend/types/llm_content.py | 12 +- .../agenta/client/backend/types/llm_inputs.py | 12 +- .../client/backend/types/llm_model_params.py | 12 +- .../backend/types/llm_run_rate_limit.py | 12 +- .../backend/types/new_human_evaluation.py | 12 +- .../client/backend/types/new_testset.py | 12 +- .../types/observability_dashboard_data.py | 12 +- .../backend/types/observability_data.py | 12 +- .../client/backend/types/organization.py | 12 +- .../backend/types/organization_output.py | 12 +- .../agenta/client/backend/types/result.py | 12 +- .../backend/types/simple_evaluation_output.py | 12 +- .../client/backend/types/span_detail.py | 12 +- .../client/backend/types/span_status.py | 12 +- .../client/backend/types/span_variant.py | 12 +- .../agenta/client/backend/types/template.py | 12 +- .../backend/types/template_image_info.py | 12 +- .../backend/types/test_set_output_response.py | 12 +- .../backend/types/test_set_simple_response.py | 12 +- agenta-cli/agenta/client/backend/types/uri.py | 12 +- .../client/backend/types/validation_error.py | 12 +- .../client/backend/types/variant_action.py | 12 +- .../backend/types/variant_action_enum.py | 4 +- .../client/backend/types/with_pagination.py | 12 +- .../types/workspace_member_response.py | 12 +- .../backend/types/workspace_permission.py | 12 +- .../backend/types/workspace_response.py | 12 +- .../backend/types/workspace_role_response.py | 12 +- 89 files changed, 478 insertions(+), 1438 deletions(-) diff --git a/agenta-cli/agenta/client/backend/client.py b/agenta-cli/agenta/client/backend/client.py index 04e2b6c25a..e0b4a3a650 100644 --- a/agenta-cli/agenta/client/backend/client.py +++ b/agenta-cli/agenta/client/backend/client.py @@ -19,10 +19,7 @@ from .resources.environments.client import AsyncEnvironmentsClient, EnvironmentsClient from .resources.evaluations.client import AsyncEvaluationsClient, EvaluationsClient from .resources.evaluators.client import AsyncEvaluatorsClient, EvaluatorsClient -from .resources.observability.client import ( - AsyncObservabilityClient, - ObservabilityClient, -) +from .resources.observability.client import AsyncObservabilityClient, ObservabilityClient from .resources.testsets.client import AsyncTestsetsClient, TestsetsClient from .resources.variants.client import AsyncVariantsClient, VariantsClient from .types.http_validation_error import HttpValidationError @@ -45,13 +42,9 @@ class AgentaApi: - def __init__( - self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 - ): + def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): self._client_wrapper = SyncClientWrapper( - base_url=base_url, - api_key=api_key, - httpx_client=httpx.Client(timeout=timeout), + base_url=base_url, api_key=api_key, httpx_client=httpx.Client(timeout=timeout) ) self.apps = AppsClient(client_wrapper=self._client_wrapper) self.variants = VariantsClient(client_wrapper=self._client_wrapper) @@ -153,9 +146,7 @@ def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -185,9 +176,7 @@ def validate_api_key(self, key_prefix: str) -> bool: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -222,9 +211,7 @@ def list_organizations(self) -> typing.List[Organization]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -268,9 +255,7 @@ def create_organization( _request["owner"] = owner _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -294,9 +279,7 @@ def get_own_org(self) -> OrganizationOutput: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations/own" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -329,9 +312,7 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -377,9 +358,7 @@ def update_organization( _request["updated_at"] = updated_at _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -416,8 +395,7 @@ def invite_user_to_workspace( _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}/invite", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -433,9 +411,7 @@ def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def resend_invitation( - self, org_id: str, workspace_id: str, *, email: str - ) -> typing.Any: + def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -479,9 +455,7 @@ def resend_invitation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def accept_invitation( - self, org_id: str, workspace_id: str, *, token: str - ) -> typing.Any: + def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: """ Accept an invitation to a workspace. @@ -526,12 +500,7 @@ def accept_invitation( raise ApiError(status_code=_response.status_code, body=_response_json) def create_workspace( - self, - org_id: str, - *, - name: str, - description: typing.Optional[str] = OMIT, - type: typing.Optional[str] = OMIT, + self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT ) -> WorkspaceResponse: """ Parameters: @@ -555,10 +524,7 @@ def create_workspace( _request["type"] = type _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -609,8 +575,7 @@ def update_workspace( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -646,9 +611,7 @@ def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -680,9 +643,7 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -695,12 +656,7 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) def assign_role_to_user( - self, - workspace_id: str, - *, - email: str, - organization_id: str, - role: typing.Optional[WorkspaceRole] = OMIT, + self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT ) -> bool: """ Assigns a role to a user in a workspace. @@ -731,18 +687,12 @@ def assign_role_to_user( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = { - "email": email, - "organization_id": organization_id, - } + _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} if role is not OMIT: _request["role"] = role _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -757,9 +707,7 @@ def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def unassign_role_from_user( - self, workspace_id: str, *, email: str, org_id: str, role: str - ) -> typing.Any: + def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -793,13 +741,8 @@ def unassign_role_from_user( """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), - params=remove_none_from_dict( - {"email": email, "org_id": org_id, "role": role} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -813,9 +756,7 @@ def unassign_role_from_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def remove_user_from_workspace( - self, workspace_id: str, *, org_id: str, email: str - ) -> WorkspaceResponse: + def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -848,10 +789,7 @@ def remove_user_from_workspace( """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/users", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -910,13 +848,9 @@ def user_profile(self) -> typing.Any: class AsyncAgentaApi: - def __init__( - self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 - ): + def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): self._client_wrapper = AsyncClientWrapper( - base_url=base_url, - api_key=api_key, - httpx_client=httpx.AsyncClient(timeout=timeout), + base_url=base_url, api_key=api_key, httpx_client=httpx.AsyncClient(timeout=timeout) ) self.apps = AsyncAppsClient(client_wrapper=self._client_wrapper) self.variants = AsyncVariantsClient(client_wrapper=self._client_wrapper) @@ -925,9 +859,7 @@ def __init__( self.testsets = AsyncTestsetsClient(client_wrapper=self._client_wrapper) self.containers = AsyncContainersClient(client_wrapper=self._client_wrapper) self.environments = AsyncEnvironmentsClient(client_wrapper=self._client_wrapper) - self.observability = AsyncObservabilityClient( - client_wrapper=self._client_wrapper - ) + self.observability = AsyncObservabilityClient(client_wrapper=self._client_wrapper) self.bases = AsyncBasesClient(client_wrapper=self._client_wrapper) self.configs = AsyncConfigsClient(client_wrapper=self._client_wrapper) @@ -1020,9 +952,7 @@ async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1052,9 +982,7 @@ async def validate_api_key(self, key_prefix: str) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1089,9 +1017,7 @@ async def list_organizations(self) -> typing.List[Organization]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1135,9 +1061,7 @@ async def create_organization( _request["owner"] = owner _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1161,9 +1085,7 @@ async def get_own_org(self) -> OrganizationOutput: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations/own" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1196,9 +1118,7 @@ async def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1244,9 +1164,7 @@ async def update_organization( _request["updated_at"] = updated_at _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1283,8 +1201,7 @@ async def invite_user_to_workspace( _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}/invite", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -1300,9 +1217,7 @@ async def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def resend_invitation( - self, org_id: str, workspace_id: str, *, email: str - ) -> typing.Any: + async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -1346,9 +1261,7 @@ async def resend_invitation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def accept_invitation( - self, org_id: str, workspace_id: str, *, token: str - ) -> typing.Any: + async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: """ Accept an invitation to a workspace. @@ -1393,12 +1306,7 @@ async def accept_invitation( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_workspace( - self, - org_id: str, - *, - name: str, - description: typing.Optional[str] = OMIT, - type: typing.Optional[str] = OMIT, + self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT ) -> WorkspaceResponse: """ Parameters: @@ -1422,10 +1330,7 @@ async def create_workspace( _request["type"] = type _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1476,8 +1381,7 @@ async def update_workspace( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -1513,9 +1417,7 @@ async def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1547,9 +1449,7 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1562,12 +1462,7 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) async def assign_role_to_user( - self, - workspace_id: str, - *, - email: str, - organization_id: str, - role: typing.Optional[WorkspaceRole] = OMIT, + self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT ) -> bool: """ Assigns a role to a user in a workspace. @@ -1598,18 +1493,12 @@ async def assign_role_to_user( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = { - "email": email, - "organization_id": organization_id, - } + _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} if role is not OMIT: _request["role"] = role _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1624,9 +1513,7 @@ async def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def unassign_role_from_user( - self, workspace_id: str, *, email: str, org_id: str, role: str - ) -> typing.Any: + async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -1660,13 +1547,8 @@ async def unassign_role_from_user( """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), - params=remove_none_from_dict( - {"email": email, "org_id": org_id, "role": role} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1680,9 +1562,7 @@ async def unassign_role_from_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def remove_user_from_workspace( - self, workspace_id: str, *, org_id: str, email: str - ) -> WorkspaceResponse: + async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -1715,10 +1595,7 @@ async def remove_user_from_workspace( """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/users", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/core/api_error.py b/agenta-cli/agenta/client/backend/core/api_error.py index da734b5806..2e9fc5431c 100644 --- a/agenta-cli/agenta/client/backend/core/api_error.py +++ b/agenta-cli/agenta/client/backend/core/api_error.py @@ -7,9 +7,7 @@ class ApiError(Exception): status_code: typing.Optional[int] body: typing.Any - def __init__( - self, *, status_code: typing.Optional[int] = None, body: typing.Any = None - ): + def __init__(self, *, status_code: typing.Optional[int] = None, body: typing.Any = None): self.status_code = status_code self.body = body diff --git a/agenta-cli/agenta/client/backend/core/datetime_utils.py b/agenta-cli/agenta/client/backend/core/datetime_utils.py index 47344e9d9c..7c9864a944 100644 --- a/agenta-cli/agenta/client/backend/core/datetime_utils.py +++ b/agenta-cli/agenta/client/backend/core/datetime_utils.py @@ -13,9 +13,7 @@ def serialize_datetime(v: dt.datetime) -> str: """ def _serialize_zoned_datetime(v: dt.datetime) -> str: - if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname( - None - ): + if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname(None): # UTC is a special case where we use "Z" at the end instead of "+00:00" return v.isoformat().replace("+00:00", "Z") else: diff --git a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py index 0e297e18f0..37238ab679 100644 --- a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py +++ b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py @@ -30,22 +30,16 @@ def generate_encoders_by_class_tuples( type_encoder_map: Dict[Any, Callable[[Any], Any]] ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]: - encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict( - tuple - ) + encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(tuple) for type_, encoder in type_encoder_map.items(): encoders_by_class_tuples[encoder] += (type_,) return encoders_by_class_tuples -encoders_by_class_tuples = generate_encoders_by_class_tuples( - pydantic.json.ENCODERS_BY_TYPE -) +encoders_by_class_tuples = generate_encoders_by_class_tuples(pydantic.json.ENCODERS_BY_TYPE) -def jsonable_encoder( - obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None -) -> Any: +def jsonable_encoder(obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None) -> Any: custom_encoder = custom_encoder or {} if custom_encoder: if type(obj) in custom_encoder: diff --git a/agenta-cli/agenta/client/backend/resources/__init__.py b/agenta-cli/agenta/client/backend/resources/__init__.py index 223d38e477..6a7c8f0ca8 100644 --- a/agenta-cli/agenta/client/backend/resources/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/__init__.py @@ -1,17 +1,6 @@ # This file was auto-generated by Fern from our API Definition. -from . import ( - apps, - bases, - configs, - containers, - environments, - evaluations, - evaluators, - observability, - testsets, - variants, -) +from . import apps, bases, configs, containers, environments, evaluations, evaluators, observability, testsets, variants from .containers import ContainerTemplatesResponse from .variants import AddVariantFromBaseAndConfigResponse diff --git a/agenta-cli/agenta/client/backend/resources/apps/__init__.py b/agenta-cli/agenta/client/backend/resources/apps/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/apps/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/apps/client.py b/agenta-cli/agenta/client/backend/resources/apps/client.py index 20b3932d43..960fb5e5f8 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/client.py +++ b/agenta-cli/agenta/client/backend/resources/apps/client.py @@ -50,9 +50,7 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -66,9 +64,7 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_by_env( - self, *, app_id: str, environment: str - ) -> AppVariantResponse: + def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -95,12 +91,8 @@ def get_variant_by_env( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" - ), - params=remove_none_from_dict( - {"app_id": app_id, "environment": environment} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), + params=remove_none_from_dict({"app_id": app_id, "environment": environment}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -150,9 +142,7 @@ def list_apps( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict( - {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} - ), + params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -167,11 +157,7 @@ def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) def create_app( - self, - *, - app_name: str, - organization_id: typing.Optional[str] = OMIT, - workspace_id: typing.Optional[str] = OMIT, + self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -262,21 +248,14 @@ def add_variant_from_image( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = { - "variant_name": variant_name, - "docker_id": docker_id, - "tags": tags, - } + _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/variant/from-image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -308,9 +287,7 @@ def remove_app(self, app_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -375,10 +352,7 @@ def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "apps/app_and_variant_from_template", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -414,9 +388,7 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -430,9 +402,7 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def environment_revisions( - self, app_id: str, environment_name: typing.Any - ) -> EnvironmentOutputExtended: + def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -442,8 +412,7 @@ def environment_revisions( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/revisions/{environment_name}", + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -484,9 +453,7 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -500,9 +467,7 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_by_env( - self, *, app_id: str, environment: str - ) -> AppVariantResponse: + async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -529,12 +494,8 @@ async def get_variant_by_env( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" - ), - params=remove_none_from_dict( - {"app_id": app_id, "environment": environment} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), + params=remove_none_from_dict({"app_id": app_id, "environment": environment}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -584,9 +545,7 @@ async def list_apps( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict( - {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} - ), + params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -601,11 +560,7 @@ async def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_app( - self, - *, - app_name: str, - organization_id: typing.Optional[str] = OMIT, - workspace_id: typing.Optional[str] = OMIT, + self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -696,21 +651,14 @@ async def add_variant_from_image( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = { - "variant_name": variant_name, - "docker_id": docker_id, - "tags": tags, - } + _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/variant/from-image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -742,9 +690,7 @@ async def remove_app(self, app_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -809,10 +755,7 @@ async def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "apps/app_and_variant_from_template", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -848,9 +791,7 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -864,9 +805,7 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def environment_revisions( - self, app_id: str, environment_name: typing.Any - ) -> EnvironmentOutputExtended: + async def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -876,8 +815,7 @@ async def environment_revisions( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/revisions/{environment_name}", + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/bases/__init__.py b/agenta-cli/agenta/client/backend/resources/bases/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/bases/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/bases/client.py b/agenta-cli/agenta/client/backend/resources/bases/client.py index 88082d3555..f5e0dd5569 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/client.py +++ b/agenta-cli/agenta/client/backend/resources/bases/client.py @@ -22,10 +22,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def list_bases( - self, - *, - app_id: typing.Optional[str] = None, - base_name: typing.Optional[str] = None, + self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. @@ -74,10 +71,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def list_bases( - self, - *, - app_id: typing.Optional[str] = None, - base_name: typing.Optional[str] = None, + self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. diff --git a/agenta-cli/agenta/client/backend/resources/configs/__init__.py b/agenta-cli/agenta/client/backend/resources/configs/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/configs/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/configs/client.py b/agenta-cli/agenta/client/backend/resources/configs/client.py index f13859b76c..bb85bbd5e6 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/client.py +++ b/agenta-cli/agenta/client/backend/resources/configs/client.py @@ -26,11 +26,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def get_config( - self, - *, - base_id: str, - config_name: typing.Optional[str] = None, - environment_name: typing.Optional[str] = None, + self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None ) -> GetConfigResponse: """ Parameters: @@ -49,11 +45,7 @@ def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - { - "base_id": base_id, - "config_name": config_name, - "environment_name": environment_name, - } + {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -69,12 +61,7 @@ def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) def save_config( - self, - *, - base_id: str, - config_name: str, - parameters: typing.Dict[str, typing.Any], - overwrite: bool, + self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool ) -> typing.Any: """ Parameters: @@ -95,12 +82,7 @@ def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - { - "base_id": base_id, - "config_name": config_name, - "parameters": parameters, - "overwrite": overwrite, - } + {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -128,8 +110,7 @@ def get_config_deployment_revision(self, deployment_revision_id: str) -> typing. _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -157,8 +138,7 @@ def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}/revert", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -179,11 +159,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def get_config( - self, - *, - base_id: str, - config_name: typing.Optional[str] = None, - environment_name: typing.Optional[str] = None, + self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None ) -> GetConfigResponse: """ Parameters: @@ -202,11 +178,7 @@ async def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - { - "base_id": base_id, - "config_name": config_name, - "environment_name": environment_name, - } + {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -222,12 +194,7 @@ async def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) async def save_config( - self, - *, - base_id: str, - config_name: str, - parameters: typing.Dict[str, typing.Any], - overwrite: bool, + self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool ) -> typing.Any: """ Parameters: @@ -248,12 +215,7 @@ async def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - { - "base_id": base_id, - "config_name": config_name, - "parameters": parameters, - "overwrite": overwrite, - } + {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -268,9 +230,7 @@ async def save_config( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_config_deployment_revision( - self, deployment_revision_id: str - ) -> typing.Any: + async def get_config_deployment_revision(self, deployment_revision_id: str) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -283,8 +243,7 @@ async def get_config_deployment_revision( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -299,9 +258,7 @@ async def get_config_deployment_revision( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def revert_deployment_revision( - self, deployment_revision_id: str - ) -> typing.Any: + async def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -314,8 +271,7 @@ async def revert_deployment_revision( _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}/revert", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/containers/client.py b/agenta-cli/agenta/client/backend/resources/containers/client.py index 869a87c4c4..748db696dc 100644 --- a/agenta-cli/agenta/client/backend/resources/containers/client.py +++ b/agenta-cli/agenta/client/backend/resources/containers/client.py @@ -49,14 +49,12 @@ def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Im """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/build_image" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, headers=self._client_wrapper.get_headers(), - timeout=60, + timeout=600, ) if 200 <= _response.status_code < 300: return pydantic.parse_obj_as(Image, _response.json()) # type: ignore @@ -85,10 +83,7 @@ def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "containers/restart_container", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -116,9 +111,7 @@ def container_templates(self) -> ContainerTemplatesResponse: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/templates" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -131,10 +124,7 @@ def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) def construct_app_container_url( - self, - *, - base_id: typing.Optional[str] = None, - variant_id: typing.Optional[str] = None, + self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -162,12 +152,8 @@ def construct_app_container_url( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/container_url" - ), - params=remove_none_from_dict( - {"base_id": base_id, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), + params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -186,9 +172,7 @@ class AsyncContainersClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def build_image( - self, *, app_id: str, base_name: str, tar_file: typing.IO - ) -> Image: + async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Image: """ Builds a Docker image from a tar file containing the application code. @@ -210,14 +194,12 @@ async def build_image( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/build_image" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, headers=self._client_wrapper.get_headers(), - timeout=60, + timeout=600, ) if 200 <= _response.status_code < 300: return pydantic.parse_obj_as(Image, _response.json()) # type: ignore @@ -229,9 +211,7 @@ async def build_image( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def restart_container( - self, *, variant_id: str - ) -> typing.Dict[str, typing.Any]: + async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: """ Restart docker container. @@ -248,10 +228,7 @@ async def restart_container( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "containers/restart_container", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -279,9 +256,7 @@ async def container_templates(self) -> ContainerTemplatesResponse: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/templates" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -294,10 +269,7 @@ async def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) async def construct_app_container_url( - self, - *, - base_id: typing.Optional[str] = None, - variant_id: typing.Optional[str] = None, + self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -325,12 +297,8 @@ async def construct_app_container_url( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/container_url" - ), - params=remove_none_from_dict( - {"base_id": base_id, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), + params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/environments/__init__.py b/agenta-cli/agenta/client/backend/resources/environments/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/environments/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/environments/client.py b/agenta-cli/agenta/client/backend/resources/environments/client.py index ffba541661..f88b1585d9 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/client.py +++ b/agenta-cli/agenta/client/backend/resources/environments/client.py @@ -23,9 +23,7 @@ class EnvironmentsClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper - def deploy_to_environment( - self, *, environment_name: str, variant_id: str - ) -> typing.Any: + def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: """ Deploys a given variant to an environment @@ -49,12 +47,8 @@ def deploy_to_environment( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "environments/deploy" - ), - json=jsonable_encoder( - {"environment_name": environment_name, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), + json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -73,9 +67,7 @@ class AsyncEnvironmentsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def deploy_to_environment( - self, *, environment_name: str, variant_id: str - ) -> typing.Any: + async def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: """ Deploys a given variant to an environment @@ -99,12 +91,8 @@ async def deploy_to_environment( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "environments/deploy" - ), - json=jsonable_encoder( - {"environment_name": environment_name, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), + json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/client.py b/agenta-cli/agenta/client/backend/resources/evaluations/client.py index 2dfd066929..0fe4108c07 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/client.py @@ -29,11 +29,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def fetch_evaluation_ids( - self, - *, - app_id: str, - resource_type: str, - resource_ids: typing.Union[typing.Optional[str], typing.List[str]], + self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -63,15 +59,9 @@ def fetch_evaluation_ids( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), params=remove_none_from_dict( - { - "app_id": app_id, - "resource_type": resource_type, - "resource_ids": resource_ids, - } + {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -106,9 +96,7 @@ def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -181,9 +169,7 @@ def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -198,9 +184,7 @@ def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def delete_evaluations( - self, *, evaluations_ids: typing.List[str] - ) -> typing.List[str]: + def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -220,9 +204,7 @@ def delete_evaluations( """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -258,10 +240,7 @@ def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/status", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -296,10 +275,7 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/results", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -313,9 +289,7 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def fetch_evaluation_scenarios( - self, evaluation_id: str - ) -> typing.List[EvaluationScenario]: + def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -339,8 +313,7 @@ def fetch_evaluation_scenarios( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/evaluation_scenarios", + f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -375,10 +348,7 @@ def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -407,10 +377,7 @@ def webhook_example_fake(self) -> EvaluationWebhook: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/webhook_example_fake", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -446,8 +413,7 @@ def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/evaluation_scenarios/comparison-results", + f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), @@ -469,11 +435,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def fetch_evaluation_ids( - self, - *, - app_id: str, - resource_type: str, - resource_ids: typing.Union[typing.Optional[str], typing.List[str]], + self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -503,15 +465,9 @@ async def fetch_evaluation_ids( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), params=remove_none_from_dict( - { - "app_id": app_id, - "resource_type": resource_type, - "resource_ids": resource_ids, - } + {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -546,9 +502,7 @@ async def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -621,9 +575,7 @@ async def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -638,9 +590,7 @@ async def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_evaluations( - self, *, evaluations_ids: typing.List[str] - ) -> typing.List[str]: + async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -660,9 +610,7 @@ async def delete_evaluations( """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -698,10 +646,7 @@ async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/status", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -736,10 +681,7 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/results", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -753,9 +695,7 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def fetch_evaluation_scenarios( - self, evaluation_id: str - ) -> typing.List[EvaluationScenario]: + async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -779,8 +719,7 @@ async def fetch_evaluation_scenarios( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/evaluation_scenarios", + f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -815,10 +754,7 @@ async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -847,10 +783,7 @@ async def webhook_example_fake(self) -> EvaluationWebhook: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/webhook_example_fake", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -886,8 +819,7 @@ async def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.An _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/evaluation_scenarios/comparison-results", + f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/client.py b/agenta-cli/agenta/client/backend/resources/evaluators/client.py index e4aab0699b..02a2896772 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/client.py @@ -41,9 +41,7 @@ def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -75,9 +73,7 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -93,12 +89,7 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: raise ApiError(status_code=_response.status_code, body=_response_json) def create_new_evaluator_config( - self, - *, - app_id: str, - name: str, - evaluator_key: str, - settings_values: typing.Dict[str, typing.Any], + self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -125,16 +116,9 @@ def create_new_evaluator_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), json=jsonable_encoder( - { - "app_id": app_id, - "name": name, - "evaluator_key": evaluator_key, - "settings_values": settings_values, - } + {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -167,8 +151,7 @@ def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -221,8 +204,7 @@ def update_evaluator_config( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -259,8 +241,7 @@ def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -295,9 +276,7 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -309,9 +288,7 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_evaluator_configs( - self, *, app_id: str - ) -> typing.List[EvaluatorConfig]: + async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: """ Endpoint to fetch evaluator configurations for a specific app. @@ -331,9 +308,7 @@ async def get_evaluator_configs( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -349,12 +324,7 @@ async def get_evaluator_configs( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_new_evaluator_config( - self, - *, - app_id: str, - name: str, - evaluator_key: str, - settings_values: typing.Dict[str, typing.Any], + self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -383,16 +353,9 @@ async def create_new_evaluator_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), json=jsonable_encoder( - { - "app_id": app_id, - "name": name, - "evaluator_key": evaluator_key, - "settings_values": settings_values, - } + {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -425,8 +388,7 @@ async def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfi _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -479,8 +441,7 @@ async def update_evaluator_config( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -517,8 +478,7 @@ async def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = await self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/observability/__init__.py b/agenta-cli/agenta/client/backend/resources/observability/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/observability/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index 2f3b6ad99b..c4520546b8 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -37,6 +37,7 @@ def dashboard( end_time: typing.Optional[int] = None, environment: typing.Optional[str] = None, variant: typing.Optional[str] = None, + app_id: typing.Optional[str] = None, ) -> ObservabilityDashboardData: """ Parameters: @@ -47,6 +48,8 @@ def dashboard( - environment: typing.Optional[str]. - variant: typing.Optional[str]. + + - app_id: typing.Optional[str]. --- from agenta.client import AgentaApi @@ -55,15 +58,14 @@ def dashboard( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), params=remove_none_from_dict( { "startTime": start_time, "endTime": end_time, "environment": environment, "variant": variant, + "appId": app_id, } ), headers=self._client_wrapper.get_headers(), @@ -91,7 +93,6 @@ def create_trace( token_consumption: typing.Optional[int] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, - end_time: typing.Optional[dt.datetime] = OMIT, spans: typing.List[str], ) -> str: """ @@ -114,8 +115,6 @@ def create_trace( - start_time: typing.Optional[dt.datetime]. - - end_time: typing.Optional[dt.datetime]. - - spans: typing.List[str]. --- from agenta.client import AgentaApi @@ -140,13 +139,9 @@ def create_trace( _request["tags"] = tags if start_time is not OMIT: _request["start_time"] = start_time - if end_time is not OMIT: - _request["end_time"] = end_time _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -164,6 +159,7 @@ def create_trace( def get_spans_of_generation( self, *, + app_id: str, page: typing.Optional[int] = None, page_size: typing.Optional[int] = None, type: typing.Optional[str] = None, @@ -173,6 +169,8 @@ def get_spans_of_generation( ) -> WithPagination: """ Parameters: + - app_id: str. + - page: typing.Optional[int]. - page_size: typing.Optional[int]. @@ -188,15 +186,14 @@ def get_spans_of_generation( from agenta.client import AgentaApi client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_spans_of_generation() + client.get_spans_of_generation(app_id="app_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), params=remove_none_from_dict( { + "app_id": app_id, "page": page, "pageSize": page_size, "type": type, @@ -221,6 +218,7 @@ def get_spans_of_generation( def create_span( self, *, + trace_id: typing.Optional[str] = OMIT, parent_span_id: typing.Optional[str] = OMIT, meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, event_name: str, @@ -230,7 +228,8 @@ def create_span( status: SpanStatus, inputs: typing.Optional[typing.List[str]] = OMIT, outputs: typing.Optional[typing.List[str]] = OMIT, - prompt_template: typing.Optional[str] = OMIT, + prompt_system: typing.Optional[str] = OMIT, + prompt_user: typing.Optional[str] = OMIT, tokens_input: typing.Optional[int] = OMIT, tokens_output: typing.Optional[int] = OMIT, token_total: typing.Optional[int] = OMIT, @@ -239,6 +238,8 @@ def create_span( ) -> str: """ Parameters: + - trace_id: typing.Optional[str]. + - parent_span_id: typing.Optional[str]. - meta: typing.Optional[typing.Dict[str, typing.Any]]. @@ -257,7 +258,9 @@ def create_span( - outputs: typing.Optional[typing.List[str]]. - - prompt_template: typing.Optional[str]. + - prompt_system: typing.Optional[str]. + + - prompt_user: typing.Optional[str]. - tokens_input: typing.Optional[int]. @@ -275,10 +278,9 @@ def create_span( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.create_span(event_name="event_name", status=SpanStatus()) """ - _request: typing.Dict[str, typing.Any] = { - "event_name": event_name, - "status": status, - } + _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} + if trace_id is not OMIT: + _request["trace_id"] = trace_id if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: @@ -293,8 +295,10 @@ def create_span( _request["inputs"] = inputs if outputs is not OMIT: _request["outputs"] = outputs - if prompt_template is not OMIT: - _request["prompt_template"] = prompt_template + if prompt_system is not OMIT: + _request["prompt_system"] = prompt_system + if prompt_user is not OMIT: + _request["prompt_user"] = prompt_user if tokens_input is not OMIT: _request["tokens_input"] = tokens_input if tokens_output is not OMIT: @@ -307,9 +311,7 @@ def create_span( _request["tags"] = tags _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -324,9 +326,7 @@ def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_span_of_generation( - self, span_id: str, *, type: typing.Optional[str] = None - ) -> SpanDetail: + def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: """ Parameters: - span_id: str. @@ -340,10 +340,7 @@ def get_span_of_generation( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{span_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -358,25 +355,54 @@ def get_span_of_generation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_trace_status(self, trace_id: str, *, status: str) -> bool: + def delete_span_of_trace(self, span_id: str) -> bool: + """ + Parameters: + - span_id: str. + --- + from agenta.client import AgentaApi + + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.delete_span_of_trace(span_id="span_id") + """ + _response = self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def update_trace(self, trace_id: str, *, status: str, end_time: dt.datetime) -> bool: """ Parameters: - trace_id: str. - status: str. + + - end_time: dt.datetime. --- + import datetime + from agenta.client import AgentaApi client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_trace_status(trace_id="trace_id", status="status") + client.update_trace( + trace_id="trace_id", status="status", end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00") + ) """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), - json=jsonable_encoder({"status": status}), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + json=jsonable_encoder({"status": status, "end_time": end_time}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -402,10 +428,7 @@ def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -451,10 +474,7 @@ def create_feedback( _request["meta"] = meta _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -484,8 +504,7 @@ def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -534,8 +553,7 @@ def update_feedback( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -563,6 +581,7 @@ async def dashboard( end_time: typing.Optional[int] = None, environment: typing.Optional[str] = None, variant: typing.Optional[str] = None, + app_id: typing.Optional[str] = None, ) -> ObservabilityDashboardData: """ Parameters: @@ -573,6 +592,8 @@ async def dashboard( - environment: typing.Optional[str]. - variant: typing.Optional[str]. + + - app_id: typing.Optional[str]. --- from agenta.client import AsyncAgentaApi @@ -581,15 +602,14 @@ async def dashboard( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), params=remove_none_from_dict( { "startTime": start_time, "endTime": end_time, "environment": environment, "variant": variant, + "appId": app_id, } ), headers=self._client_wrapper.get_headers(), @@ -617,7 +637,6 @@ async def create_trace( token_consumption: typing.Optional[int] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, - end_time: typing.Optional[dt.datetime] = OMIT, spans: typing.List[str], ) -> str: """ @@ -640,8 +659,6 @@ async def create_trace( - start_time: typing.Optional[dt.datetime]. - - end_time: typing.Optional[dt.datetime]. - - spans: typing.List[str]. --- from agenta.client import AsyncAgentaApi @@ -666,13 +683,9 @@ async def create_trace( _request["tags"] = tags if start_time is not OMIT: _request["start_time"] = start_time - if end_time is not OMIT: - _request["end_time"] = end_time _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -690,6 +703,7 @@ async def create_trace( async def get_spans_of_generation( self, *, + app_id: str, page: typing.Optional[int] = None, page_size: typing.Optional[int] = None, type: typing.Optional[str] = None, @@ -699,6 +713,8 @@ async def get_spans_of_generation( ) -> WithPagination: """ Parameters: + - app_id: str. + - page: typing.Optional[int]. - page_size: typing.Optional[int]. @@ -714,15 +730,14 @@ async def get_spans_of_generation( from agenta.client import AsyncAgentaApi client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_spans_of_generation() + await client.get_spans_of_generation(app_id="app_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), params=remove_none_from_dict( { + "app_id": app_id, "page": page, "pageSize": page_size, "type": type, @@ -747,6 +762,7 @@ async def get_spans_of_generation( async def create_span( self, *, + trace_id: typing.Optional[str] = OMIT, parent_span_id: typing.Optional[str] = OMIT, meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, event_name: str, @@ -756,7 +772,8 @@ async def create_span( status: SpanStatus, inputs: typing.Optional[typing.List[str]] = OMIT, outputs: typing.Optional[typing.List[str]] = OMIT, - prompt_template: typing.Optional[str] = OMIT, + prompt_system: typing.Optional[str] = OMIT, + prompt_user: typing.Optional[str] = OMIT, tokens_input: typing.Optional[int] = OMIT, tokens_output: typing.Optional[int] = OMIT, token_total: typing.Optional[int] = OMIT, @@ -765,6 +782,8 @@ async def create_span( ) -> str: """ Parameters: + - trace_id: typing.Optional[str]. + - parent_span_id: typing.Optional[str]. - meta: typing.Optional[typing.Dict[str, typing.Any]]. @@ -783,7 +802,9 @@ async def create_span( - outputs: typing.Optional[typing.List[str]]. - - prompt_template: typing.Optional[str]. + - prompt_system: typing.Optional[str]. + + - prompt_user: typing.Optional[str]. - tokens_input: typing.Optional[int]. @@ -801,10 +822,9 @@ async def create_span( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.create_span(event_name="event_name", status=SpanStatus()) """ - _request: typing.Dict[str, typing.Any] = { - "event_name": event_name, - "status": status, - } + _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} + if trace_id is not OMIT: + _request["trace_id"] = trace_id if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: @@ -819,8 +839,10 @@ async def create_span( _request["inputs"] = inputs if outputs is not OMIT: _request["outputs"] = outputs - if prompt_template is not OMIT: - _request["prompt_template"] = prompt_template + if prompt_system is not OMIT: + _request["prompt_system"] = prompt_system + if prompt_user is not OMIT: + _request["prompt_user"] = prompt_user if tokens_input is not OMIT: _request["tokens_input"] = tokens_input if tokens_output is not OMIT: @@ -833,9 +855,7 @@ async def create_span( _request["tags"] = tags _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -850,9 +870,7 @@ async def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_span_of_generation( - self, span_id: str, *, type: typing.Optional[str] = None - ) -> SpanDetail: + async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: """ Parameters: - span_id: str. @@ -866,10 +884,7 @@ async def get_span_of_generation( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{span_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -884,25 +899,54 @@ async def get_span_of_generation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_trace_status(self, trace_id: str, *, status: str) -> bool: + async def delete_span_of_trace(self, span_id: str) -> bool: + """ + Parameters: + - span_id: str. + --- + from agenta.client import AsyncAgentaApi + + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.delete_span_of_trace(span_id="span_id") + """ + _response = await self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def update_trace(self, trace_id: str, *, status: str, end_time: dt.datetime) -> bool: """ Parameters: - trace_id: str. - status: str. + + - end_time: dt.datetime. --- + import datetime + from agenta.client import AsyncAgentaApi client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_trace_status(trace_id="trace_id", status="status") + await client.update_trace( + trace_id="trace_id", status="status", end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00") + ) """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), - json=jsonable_encoder({"status": status}), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + json=jsonable_encoder({"status": status, "end_time": end_time}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -928,10 +972,7 @@ async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -977,10 +1018,7 @@ async def create_feedback( _request["meta"] = meta _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1010,8 +1048,7 @@ async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1060,8 +1097,7 @@ async def update_feedback( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/testsets/client.py b/agenta-cli/agenta/client/backend/resources/testsets/client.py index 948dbb0478..29918d8a8f 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/client.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/client.py @@ -52,16 +52,8 @@ def upload_file( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/upload" - ), - data=jsonable_encoder( - { - "upload_type": upload_type, - "testset_name": testset_name, - "app_id": app_id, - } - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), + data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -95,9 +87,7 @@ def import_testset(self) -> TestSetSimpleResponse: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -111,9 +101,7 @@ def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_testset( - self, app_id: str, *, request: NewTestset - ) -> TestSetSimpleResponse: + def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -138,9 +126,7 @@ def create_testset( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -175,9 +161,7 @@ def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -215,9 +199,7 @@ def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -334,16 +316,8 @@ async def upload_file( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/upload" - ), - data=jsonable_encoder( - { - "upload_type": upload_type, - "testset_name": testset_name, - "app_id": app_id, - } - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), + data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -377,9 +351,7 @@ async def import_testset(self) -> TestSetSimpleResponse: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -393,9 +365,7 @@ async def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_testset( - self, app_id: str, *, request: NewTestset - ) -> TestSetSimpleResponse: + async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -420,9 +390,7 @@ async def create_testset( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -457,9 +425,7 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -473,9 +439,7 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_testset( - self, testset_id: str, *, request: NewTestset - ) -> typing.Any: + async def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: """ Update a testset with given id, update the testset in MongoDB. @@ -499,9 +463,7 @@ async def update_testset( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -553,9 +515,7 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_testsets( - self, *, testset_ids: typing.List[str] - ) -> typing.List[str]: + async def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: """ Delete specific testsets based on their unique IDs. diff --git a/agenta-cli/agenta/client/backend/resources/variants/client.py b/agenta-cli/agenta/client/backend/resources/variants/client.py index 6e928c3add..8dd04082ad 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/client.py +++ b/agenta-cli/agenta/client/backend/resources/variants/client.py @@ -14,9 +14,7 @@ from ...types.image import Image from ...types.uri import Uri from ...types.variant_action import VariantAction -from .types.add_variant_from_base_and_config_response import ( - AddVariantFromBaseAndConfigResponse, -) +from .types.add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse try: import pydantic.v1 as pydantic # type: ignore @@ -32,12 +30,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def add_variant_from_base_and_config( - self, - *, - base_id: str, - new_variant_name: str, - new_config_name: str, - parameters: typing.Dict[str, typing.Any], + self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -64,9 +57,7 @@ def add_variant_from_base_and_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "variants/from-base" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), json=jsonable_encoder( { "base_id": base_id, @@ -100,9 +91,7 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -117,11 +106,7 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) def start_variant( - self, - variant_id: str, - *, - action: VariantAction, - env_vars: typing.Optional[DockerEnvVars] = OMIT, + self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT ) -> Uri: """ Start a variant of an app. @@ -156,9 +141,7 @@ def start_variant( _request["env_vars"] = env_vars _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -194,9 +177,7 @@ def remove_variant(self, variant_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -210,9 +191,7 @@ def remove_variant(self, variant_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_variant_parameters( - self, variant_id: str, *, parameters: typing.Dict[str, typing.Any] - ) -> typing.Any: + def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[str, typing.Any]) -> typing.Any: """ Updates the parameters for an app variant. @@ -239,10 +218,7 @@ def update_variant_parameters( """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/parameters", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -284,10 +260,7 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -308,12 +281,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def add_variant_from_base_and_config( - self, - *, - base_id: str, - new_variant_name: str, - new_config_name: str, - parameters: typing.Dict[str, typing.Any], + self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -340,9 +308,7 @@ async def add_variant_from_base_and_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "variants/from-base" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), json=jsonable_encoder( { "base_id": base_id, @@ -376,9 +342,7 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -393,11 +357,7 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) async def start_variant( - self, - variant_id: str, - *, - action: VariantAction, - env_vars: typing.Optional[DockerEnvVars] = OMIT, + self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT ) -> Uri: """ Start a variant of an app. @@ -432,9 +392,7 @@ async def start_variant( _request["env_vars"] = env_vars _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -470,9 +428,7 @@ async def remove_variant(self, variant_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -515,10 +471,7 @@ async def update_variant_parameters( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/parameters", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -533,9 +486,7 @@ async def update_variant_parameters( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_variant_image( - self, variant_id: str, *, request: Image - ) -> typing.Any: + async def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any: """ Updates the image used in an app variant. @@ -562,10 +513,7 @@ async def update_variant_image( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py index fac6b42753..b3bfbb0781 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py @@ -1,7 +1,5 @@ # This file was auto-generated by Fern from our API Definition. -from .add_variant_from_base_and_config_response import ( - AddVariantFromBaseAndConfigResponse, -) +from .add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse __all__ = ["AddVariantFromBaseAndConfigResponse"] diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result.py b/agenta-cli/agenta/client/backend/types/aggregated_result.py index 378e25bd96..cdfc47d3eb 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result.py @@ -18,19 +18,11 @@ class AggregatedResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py index 0af9c60a8e..567c18f49d 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py @@ -4,6 +4,4 @@ from .evaluator_config import EvaluatorConfig -AggregatedResultEvaluatorConfig = typing.Union[ - EvaluatorConfig, typing.Dict[str, typing.Any] -] +AggregatedResultEvaluatorConfig = typing.Union[EvaluatorConfig, typing.Dict[str, typing.Any]] diff --git a/agenta-cli/agenta/client/backend/types/app.py b/agenta-cli/agenta/client/backend/types/app.py index 7611dc75e9..be4e77b499 100644 --- a/agenta-cli/agenta/client/backend/types/app.py +++ b/agenta-cli/agenta/client/backend/types/app.py @@ -16,19 +16,11 @@ class App(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py index 7afa9ba62c..667bd4c295 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py @@ -30,19 +30,11 @@ class AppVariantOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_response.py b/agenta-cli/agenta/client/backend/types/app_variant_response.py index 89f974a2b8..83a720f832 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_response.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_response.py @@ -27,19 +27,11 @@ class AppVariantResponse(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_revision.py b/agenta-cli/agenta/client/backend/types/app_variant_revision.py index 39976d7a25..38434297c3 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_revision.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_revision.py @@ -19,19 +19,11 @@ class AppVariantRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/base_output.py b/agenta-cli/agenta/client/backend/types/base_output.py index 43a0e31eae..2a0a9b41bd 100644 --- a/agenta-cli/agenta/client/backend/types/base_output.py +++ b/agenta-cli/agenta/client/backend/types/base_output.py @@ -16,19 +16,11 @@ class BaseOutput(pydantic.BaseModel): base_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/body_import_testset.py b/agenta-cli/agenta/client/backend/types/body_import_testset.py index f06788d80d..1cfab34428 100644 --- a/agenta-cli/agenta/client/backend/types/body_import_testset.py +++ b/agenta-cli/agenta/client/backend/types/body_import_testset.py @@ -17,19 +17,11 @@ class BodyImportTestset(pydantic.BaseModel): app_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/config_db.py b/agenta-cli/agenta/client/backend/types/config_db.py index 7e7b9004fd..7414370572 100644 --- a/agenta-cli/agenta/client/backend/types/config_db.py +++ b/agenta-cli/agenta/client/backend/types/config_db.py @@ -16,19 +16,11 @@ class ConfigDb(pydantic.BaseModel): parameters: typing.Optional[typing.Dict[str, typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/create_app_output.py b/agenta-cli/agenta/client/backend/types/create_app_output.py index a736531605..adcf9fdfee 100644 --- a/agenta-cli/agenta/client/backend/types/create_app_output.py +++ b/agenta-cli/agenta/client/backend/types/create_app_output.py @@ -16,19 +16,11 @@ class CreateAppOutput(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/docker_env_vars.py b/agenta-cli/agenta/client/backend/types/docker_env_vars.py index ea0c144502..9a0630554a 100644 --- a/agenta-cli/agenta/client/backend/types/docker_env_vars.py +++ b/agenta-cli/agenta/client/backend/types/docker_env_vars.py @@ -15,19 +15,11 @@ class DockerEnvVars(pydantic.BaseModel): env_vars: typing.Dict[str, str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output.py b/agenta-cli/agenta/client/backend/types/environment_output.py index 6268b56c14..feb80a72f5 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output.py +++ b/agenta-cli/agenta/client/backend/types/environment_output.py @@ -22,19 +22,11 @@ class EnvironmentOutput(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output_extended.py b/agenta-cli/agenta/client/backend/types/environment_output_extended.py index 75eea02d69..41baf24d13 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/environment_output_extended.py @@ -24,19 +24,11 @@ class EnvironmentOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_revision.py b/agenta-cli/agenta/client/backend/types/environment_revision.py index c98bf70e74..cf8aa77edd 100644 --- a/agenta-cli/agenta/client/backend/types/environment_revision.py +++ b/agenta-cli/agenta/client/backend/types/environment_revision.py @@ -20,19 +20,11 @@ class EnvironmentRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/error.py b/agenta-cli/agenta/client/backend/types/error.py index ff81c2a8cd..174cc34048 100644 --- a/agenta-cli/agenta/client/backend/types/error.py +++ b/agenta-cli/agenta/client/backend/types/error.py @@ -16,19 +16,11 @@ class Error(pydantic.BaseModel): stacktrace: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation.py b/agenta-cli/agenta/client/backend/types/evaluation.py index 38c75068d4..64a657815d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation.py +++ b/agenta-cli/agenta/client/backend/types/evaluation.py @@ -30,19 +30,11 @@ class Evaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py index 36229c357d..b221afc09c 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py @@ -26,19 +26,11 @@ class EvaluationScenario(pydantic.BaseModel): results: typing.List[EvaluationScenarioResult] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py index 700f6372e4..826ae00434 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py @@ -17,19 +17,11 @@ class EvaluationScenarioInput(pydantic.BaseModel): value: typing.Optional[typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py index 7a2cb171c9..582e1ae617 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py @@ -16,19 +16,11 @@ class EvaluationScenarioOutput(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py index 57fbd6e082..62f4d0015a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py @@ -17,19 +17,11 @@ class EvaluationScenarioResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py index 68ed0da745..4a8fcbcb6a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py @@ -15,19 +15,11 @@ class EvaluationScenarioScoreUpdate(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_type.py b/agenta-cli/agenta/client/backend/types/evaluation_type.py index 4d2b91066d..45c37b9c82 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_type.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_type.py @@ -15,9 +15,7 @@ class EvaluationType(str, enum.Enum): SINGLE_MODEL_TEST = "single_model_test" def visit( - self, - human_a_b_testing: typing.Callable[[], T_Result], - single_model_test: typing.Callable[[], T_Result], + self, human_a_b_testing: typing.Callable[[], T_Result], single_model_test: typing.Callable[[], T_Result] ) -> T_Result: if self is EvaluationType.HUMAN_A_B_TESTING: return human_a_b_testing() diff --git a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py index c8d71dc626..7eb6db6bc6 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py @@ -15,19 +15,11 @@ class EvaluationWebhook(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator.py b/agenta-cli/agenta/client/backend/types/evaluator.py index 70bea7aa58..f0b44dcc0c 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator.py +++ b/agenta-cli/agenta/client/backend/types/evaluator.py @@ -18,19 +18,11 @@ class Evaluator(pydantic.BaseModel): settings_template: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator_config.py b/agenta-cli/agenta/client/backend/types/evaluator_config.py index 7ca248d882..54fed00c6a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/evaluator_config.py @@ -20,19 +20,11 @@ class EvaluatorConfig(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/feedback.py b/agenta-cli/agenta/client/backend/types/feedback.py index e4fa0db6e1..c771eb1e39 100644 --- a/agenta-cli/agenta/client/backend/types/feedback.py +++ b/agenta-cli/agenta/client/backend/types/feedback.py @@ -19,19 +19,11 @@ class Feedback(pydantic.BaseModel): created_at: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/get_config_response.py b/agenta-cli/agenta/client/backend/types/get_config_response.py index d3b8e334ce..448a75128e 100644 --- a/agenta-cli/agenta/client/backend/types/get_config_response.py +++ b/agenta-cli/agenta/client/backend/types/get_config_response.py @@ -18,19 +18,11 @@ class GetConfigResponse(pydantic.BaseModel): parameters: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/http_validation_error.py b/agenta-cli/agenta/client/backend/types/http_validation_error.py index 02fc88d818..e5f647b24d 100644 --- a/agenta-cli/agenta/client/backend/types/http_validation_error.py +++ b/agenta-cli/agenta/client/backend/types/http_validation_error.py @@ -16,19 +16,11 @@ class HttpValidationError(pydantic.BaseModel): detail: typing.Optional[typing.List[ValidationError]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation.py b/agenta-cli/agenta/client/backend/types/human_evaluation.py index 299120edc6..49bfb5da85 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation.py @@ -28,19 +28,11 @@ class HumanEvaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py index 5f1f36b824..a837a1ff4c 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py @@ -27,19 +27,11 @@ class HumanEvaluationScenario(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py index d65233935e..bf35c307cb 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py @@ -16,19 +16,11 @@ class HumanEvaluationScenarioInput(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py index 752606176b..e239ca6cd2 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py @@ -16,19 +16,11 @@ class HumanEvaluationScenarioOutput(pydantic.BaseModel): variant_output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py index 3d099aea1d..cb035d6c6b 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py @@ -24,19 +24,11 @@ class HumanEvaluationScenarioUpdate(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py index 360f8cc449..71c6cac057 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py @@ -16,19 +16,11 @@ class HumanEvaluationUpdate(pydantic.BaseModel): status: typing.Optional[EvaluationStatusEnum] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/image.py b/agenta-cli/agenta/client/backend/types/image.py index 52bd510c66..03c2193087 100644 --- a/agenta-cli/agenta/client/backend/types/image.py +++ b/agenta-cli/agenta/client/backend/types/image.py @@ -19,19 +19,11 @@ class Image(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/invite_request.py b/agenta-cli/agenta/client/backend/types/invite_request.py index 2a9c8f0bac..5a454982de 100644 --- a/agenta-cli/agenta/client/backend/types/invite_request.py +++ b/agenta-cli/agenta/client/backend/types/invite_request.py @@ -16,19 +16,11 @@ class InviteRequest(pydantic.BaseModel): roles: typing.List[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py index dd393d6268..0aa72d80ee 100644 --- a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py +++ b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py @@ -18,19 +18,11 @@ class ListApiKeysResponse(pydantic.BaseModel): expiration_date: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_content.py b/agenta-cli/agenta/client/backend/types/llm_content.py index f85285ada3..c6ab83f6d0 100644 --- a/agenta-cli/agenta/client/backend/types/llm_content.py +++ b/agenta-cli/agenta/client/backend/types/llm_content.py @@ -17,19 +17,11 @@ class LlmContent(pydantic.BaseModel): output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_inputs.py b/agenta-cli/agenta/client/backend/types/llm_inputs.py index a0d2a1bf35..97f828f45c 100644 --- a/agenta-cli/agenta/client/backend/types/llm_inputs.py +++ b/agenta-cli/agenta/client/backend/types/llm_inputs.py @@ -16,19 +16,11 @@ class LlmInputs(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_model_params.py b/agenta-cli/agenta/client/backend/types/llm_model_params.py index 3e53cf681c..417b05cc6d 100644 --- a/agenta-cli/agenta/client/backend/types/llm_model_params.py +++ b/agenta-cli/agenta/client/backend/types/llm_model_params.py @@ -16,19 +16,11 @@ class LlmModelParams(pydantic.BaseModel): params: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py index 24214f4c59..b7ea18a69d 100644 --- a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py +++ b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py @@ -18,19 +18,11 @@ class LlmRunRateLimit(pydantic.BaseModel): delay_between_batches: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py index 30067d0ae7..c201ac2f27 100644 --- a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py @@ -21,19 +21,11 @@ class NewHumanEvaluation(pydantic.BaseModel): status: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_testset.py b/agenta-cli/agenta/client/backend/types/new_testset.py index 7f931de42e..20b5ec77ad 100644 --- a/agenta-cli/agenta/client/backend/types/new_testset.py +++ b/agenta-cli/agenta/client/backend/types/new_testset.py @@ -16,19 +16,11 @@ class NewTestset(pydantic.BaseModel): csvdata: typing.List[typing.Dict[str, str]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py index d85f148aae..f41c6cbc83 100644 --- a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py +++ b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py @@ -23,19 +23,11 @@ class ObservabilityDashboardData(pydantic.BaseModel): avg_tokens: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_data.py b/agenta-cli/agenta/client/backend/types/observability_data.py index e55c62e139..4c6cbc48c0 100644 --- a/agenta-cli/agenta/client/backend/types/observability_data.py +++ b/agenta-cli/agenta/client/backend/types/observability_data.py @@ -24,19 +24,11 @@ class ObservabilityData(pydantic.BaseModel): variant: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization.py b/agenta-cli/agenta/client/backend/types/organization.py index 83c81d68d4..4a6b6dd1f8 100644 --- a/agenta-cli/agenta/client/backend/types/organization.py +++ b/agenta-cli/agenta/client/backend/types/organization.py @@ -22,19 +22,11 @@ class Organization(pydantic.BaseModel): is_paying: typing.Optional[bool] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization_output.py b/agenta-cli/agenta/client/backend/types/organization_output.py index 93b88e4cf4..d3269aeb52 100644 --- a/agenta-cli/agenta/client/backend/types/organization_output.py +++ b/agenta-cli/agenta/client/backend/types/organization_output.py @@ -16,19 +16,11 @@ class OrganizationOutput(pydantic.BaseModel): name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/result.py b/agenta-cli/agenta/client/backend/types/result.py index 77e4c84d0a..c807398f53 100644 --- a/agenta-cli/agenta/client/backend/types/result.py +++ b/agenta-cli/agenta/client/backend/types/result.py @@ -18,19 +18,11 @@ class Result(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py index ed86be2b2e..3bba878f7b 100644 --- a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py +++ b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py @@ -20,19 +20,11 @@ class SimpleEvaluationOutput(pydantic.BaseModel): evaluation_type: EvaluationType def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_detail.py b/agenta-cli/agenta/client/backend/types/span_detail.py index ab4516173d..68a659300b 100644 --- a/agenta-cli/agenta/client/backend/types/span_detail.py +++ b/agenta-cli/agenta/client/backend/types/span_detail.py @@ -28,19 +28,11 @@ class SpanDetail(pydantic.BaseModel): model_params: LlmModelParams def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_status.py b/agenta-cli/agenta/client/backend/types/span_status.py index 722e7430af..5bcda585c1 100644 --- a/agenta-cli/agenta/client/backend/types/span_status.py +++ b/agenta-cli/agenta/client/backend/types/span_status.py @@ -18,19 +18,11 @@ class SpanStatus(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_variant.py b/agenta-cli/agenta/client/backend/types/span_variant.py index 03903fb8d5..a67067789d 100644 --- a/agenta-cli/agenta/client/backend/types/span_variant.py +++ b/agenta-cli/agenta/client/backend/types/span_variant.py @@ -17,19 +17,11 @@ class SpanVariant(pydantic.BaseModel): revision: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template.py b/agenta-cli/agenta/client/backend/types/template.py index b509e795d4..c43fc4beac 100644 --- a/agenta-cli/agenta/client/backend/types/template.py +++ b/agenta-cli/agenta/client/backend/types/template.py @@ -17,19 +17,11 @@ class Template(pydantic.BaseModel): image: TemplateImageInfo def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template_image_info.py b/agenta-cli/agenta/client/backend/types/template_image_info.py index b0c01e7504..5131e053d7 100644 --- a/agenta-cli/agenta/client/backend/types/template_image_info.py +++ b/agenta-cli/agenta/client/backend/types/template_image_info.py @@ -22,19 +22,11 @@ class TemplateImageInfo(pydantic.BaseModel): template_uri: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_output_response.py b/agenta-cli/agenta/client/backend/types/test_set_output_response.py index 715ebcdcd5..ac4a47255d 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_output_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_output_response.py @@ -17,19 +17,11 @@ class TestSetOutputResponse(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py index b6ac04a871..c30fc1de89 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py @@ -17,19 +17,11 @@ class TestSetSimpleResponse(pydantic.BaseModel): created_at: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/uri.py b/agenta-cli/agenta/client/backend/types/uri.py index 608f89ef6f..a04cc35249 100644 --- a/agenta-cli/agenta/client/backend/types/uri.py +++ b/agenta-cli/agenta/client/backend/types/uri.py @@ -15,19 +15,11 @@ class Uri(pydantic.BaseModel): uri: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/validation_error.py b/agenta-cli/agenta/client/backend/types/validation_error.py index ffd8cc872f..67b5ba78e3 100644 --- a/agenta-cli/agenta/client/backend/types/validation_error.py +++ b/agenta-cli/agenta/client/backend/types/validation_error.py @@ -18,19 +18,11 @@ class ValidationError(pydantic.BaseModel): type: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action.py b/agenta-cli/agenta/client/backend/types/variant_action.py index a614ac00f5..1fe22412aa 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action.py +++ b/agenta-cli/agenta/client/backend/types/variant_action.py @@ -16,19 +16,11 @@ class VariantAction(pydantic.BaseModel): action: VariantActionEnum def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action_enum.py b/agenta-cli/agenta/client/backend/types/variant_action_enum.py index 6f5f8c19c5..5aa6f1c7e7 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action_enum.py +++ b/agenta-cli/agenta/client/backend/types/variant_action_enum.py @@ -14,9 +14,7 @@ class VariantActionEnum(str, enum.Enum): START = "START" STOP = "STOP" - def visit( - self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result] - ) -> T_Result: + def visit(self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result]) -> T_Result: if self is VariantActionEnum.START: return start() if self is VariantActionEnum.STOP: diff --git a/agenta-cli/agenta/client/backend/types/with_pagination.py b/agenta-cli/agenta/client/backend/types/with_pagination.py index ae2a4dfa06..2b7a1588ac 100644 --- a/agenta-cli/agenta/client/backend/types/with_pagination.py +++ b/agenta-cli/agenta/client/backend/types/with_pagination.py @@ -18,19 +18,11 @@ class WithPagination(pydantic.BaseModel): page_size: int = pydantic.Field(alias="pageSize") def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_member_response.py b/agenta-cli/agenta/client/backend/types/workspace_member_response.py index ec907e24d8..ef3c928c8e 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_member_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_member_response.py @@ -17,19 +17,11 @@ class WorkspaceMemberResponse(pydantic.BaseModel): roles: typing.List[WorkspacePermission] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_permission.py b/agenta-cli/agenta/client/backend/types/workspace_permission.py index 0d847e611e..ed74790008 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_permission.py +++ b/agenta-cli/agenta/client/backend/types/workspace_permission.py @@ -19,19 +19,11 @@ class WorkspacePermission(pydantic.BaseModel): permissions: typing.Optional[typing.List[Permission]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_response.py b/agenta-cli/agenta/client/backend/types/workspace_response.py index f0e0bbf5ee..55ee8f5f51 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_response.py @@ -23,19 +23,11 @@ class WorkspaceResponse(pydantic.BaseModel): members: typing.Optional[typing.List[WorkspaceMemberResponse]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_role_response.py b/agenta-cli/agenta/client/backend/types/workspace_role_response.py index 97531c3143..4313b624b1 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_role_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_role_response.py @@ -17,19 +17,11 @@ class WorkspaceRoleResponse(pydantic.BaseModel): role_description: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: From 12af162bb056574f836cc687c2392422ec20f972 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 15:17:42 +0100 Subject: [PATCH 095/539] Update - removed and added fields in create span/trace model --- .../agenta_backend/models/api/observability_models.py | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 2e04d84c49..483372939a 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -52,7 +52,6 @@ class Span(BaseModel): class BaseSpan(BaseModel): - trace_id: Optional[str] parent_span_id: Optional[str] meta: Optional[Dict[str, Any]] event_name: str @@ -72,7 +71,7 @@ class BaseSpan(BaseModel): class CreateSpan(BaseSpan): - pass + trace_id: str class LLMInputs(BaseModel): @@ -142,7 +141,6 @@ class BaseTrace(BaseModel): base_id: Optional[str] config_name: Optional[str] cost: Optional[float] - latency: float status: str = Field(default=Status.INITIATED) token_consumption: Optional[int] tags: Optional[List[str]] @@ -156,7 +154,7 @@ class Trace(BaseTrace): class CreateTrace(BaseTrace): - spans: List[str] + pass class UpdateTrace(BaseModel): From 65aa2c9422ff0e6ca4f204c2a333c0b9b7730b98 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 15:19:21 +0100 Subject: [PATCH 096/539] Update - modified trace update db function --- .../agenta_backend/services/event_db_manager.py | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 05b1fd9af0..9d6245fb62 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -124,7 +124,16 @@ async def trace_update(trace_id: str, payload: UpdateTrace, user_uid: str) -> bo TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id ) - await trace.update({"$set": payload.dict(exclude_none=True)}) + # Calculate latency + latency = payload.end_time - trace.start_time + await trace.update( + { + "$set": { + **payload.dict(exclude_none=True), + "latency": latency.total_seconds(), + }, + } + ) return True From 8bc3507daa86950a1fd34b283bc86aef949bf2aa Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 15:20:19 +0100 Subject: [PATCH 097/539] Refactor - remove redundant fields --- agenta-cli/agenta/sdk/agenta_tracing.py | 5 ----- 1 file changed, 5 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index 590446806a..dc30dbc313 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -27,19 +27,14 @@ async def create_trace( config_name: str, **kwargs: Dict[str, Any], ): - # calculate the latency between the trace start time and end time - trace_end_time = datetime.now() - latency: timedelta = trace_end_time - kwargs["trace_start_time"] # type: ignore trace = await client.create_trace( app_id=app_id, base_id=base_id, config_name=config_name, cost=kwargs["cost"], # type: ignore - latency=latency.total_seconds(), status="INITIATED", token_consumption=kwargs["total_tokens"], # type: ignore tags=[], - end_time=trace_end_time, ) return trace From 2eddd2697401a469ec1d264df80c7bc78919cc1f Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 16:04:21 +0100 Subject: [PATCH 098/539] Update - modified observability client --- .../backend/resources/observability/client.py | 44 ++++++------------- 1 file changed, 14 insertions(+), 30 deletions(-) diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index c4520546b8..f01b6efebd 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -88,12 +88,10 @@ def create_trace( base_id: typing.Optional[str] = OMIT, config_name: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, - latency: float, status: typing.Optional[str] = OMIT, token_consumption: typing.Optional[int] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, - spans: typing.List[str], ) -> str: """ Parameters: @@ -105,8 +103,6 @@ def create_trace( - cost: typing.Optional[float]. - - latency: float. - - status: typing.Optional[str]. - token_consumption: typing.Optional[int]. @@ -114,15 +110,13 @@ def create_trace( - tags: typing.Optional[typing.List[str]]. - start_time: typing.Optional[dt.datetime]. - - - spans: typing.List[str]. --- from agenta.client import AgentaApi client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_trace(latency=1.1, spans=["spans"]) + client.create_trace() """ - _request: typing.Dict[str, typing.Any] = {"latency": latency, "spans": spans} + _request: typing.Dict[str, typing.Any] = {} if app_id is not OMIT: _request["app_id"] = app_id if base_id is not OMIT: @@ -218,7 +212,6 @@ def get_spans_of_generation( def create_span( self, *, - trace_id: typing.Optional[str] = OMIT, parent_span_id: typing.Optional[str] = OMIT, meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, event_name: str, @@ -235,11 +228,10 @@ def create_span( token_total: typing.Optional[int] = OMIT, cost: typing.Optional[float] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, + trace_id: str, ) -> str: """ Parameters: - - trace_id: typing.Optional[str]. - - parent_span_id: typing.Optional[str]. - meta: typing.Optional[typing.Dict[str, typing.Any]]. @@ -271,16 +263,16 @@ def create_span( - cost: typing.Optional[float]. - tags: typing.Optional[typing.List[str]]. + + - trace_id: str. --- from agenta import SpanStatus from agenta.client import AgentaApi client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_span(event_name="event_name", status=SpanStatus()) + client.create_span(event_name="event_name", status=SpanStatus(), trace_id="trace_id") """ - _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} - if trace_id is not OMIT: - _request["trace_id"] = trace_id + _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status, "trace_id": trace_id} if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: @@ -632,12 +624,10 @@ async def create_trace( base_id: typing.Optional[str] = OMIT, config_name: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, - latency: float, status: typing.Optional[str] = OMIT, token_consumption: typing.Optional[int] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, - spans: typing.List[str], ) -> str: """ Parameters: @@ -649,8 +639,6 @@ async def create_trace( - cost: typing.Optional[float]. - - latency: float. - - status: typing.Optional[str]. - token_consumption: typing.Optional[int]. @@ -658,15 +646,13 @@ async def create_trace( - tags: typing.Optional[typing.List[str]]. - start_time: typing.Optional[dt.datetime]. - - - spans: typing.List[str]. --- from agenta.client import AsyncAgentaApi client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_trace(latency=1.1, spans=["spans"]) + await client.create_trace() """ - _request: typing.Dict[str, typing.Any] = {"latency": latency, "spans": spans} + _request: typing.Dict[str, typing.Any] = {} if app_id is not OMIT: _request["app_id"] = app_id if base_id is not OMIT: @@ -762,7 +748,6 @@ async def get_spans_of_generation( async def create_span( self, *, - trace_id: typing.Optional[str] = OMIT, parent_span_id: typing.Optional[str] = OMIT, meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, event_name: str, @@ -779,11 +764,10 @@ async def create_span( token_total: typing.Optional[int] = OMIT, cost: typing.Optional[float] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, + trace_id: str, ) -> str: """ Parameters: - - trace_id: typing.Optional[str]. - - parent_span_id: typing.Optional[str]. - meta: typing.Optional[typing.Dict[str, typing.Any]]. @@ -815,16 +799,16 @@ async def create_span( - cost: typing.Optional[float]. - tags: typing.Optional[typing.List[str]]. + + - trace_id: str. --- from agenta import SpanStatus from agenta.client import AsyncAgentaApi client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_span(event_name="event_name", status=SpanStatus()) + await client.create_span(event_name="event_name", status=SpanStatus(), trace_id="trace_id") """ - _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status} - if trace_id is not OMIT: - _request["trace_id"] = trace_id + _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status, "trace_id": trace_id} if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: From e42b9966b54eb07f9d818af843c13d4db8ed4041 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 16:35:33 +0100 Subject: [PATCH 099/539] Update - refactor fetch app by name and parameters query --- .../agenta_backend/services/db_manager.py | 30 +++++++++++++++---- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/services/db_manager.py b/agenta-backend/agenta_backend/services/db_manager.py index 957393ff46..ff63e99563 100644 --- a/agenta-backend/agenta_backend/services/db_manager.py +++ b/agenta-backend/agenta_backend/services/db_manager.py @@ -1786,7 +1786,18 @@ async def fetch_app_by_name_and_parameters( AppDB: the instance of the app """ - app_db = await AppDB.find_one(AppDB.app_name == app_name, fetch_links=True) + """Fetch an app by its name, organization id, and workspace id. + + Args: + app_name (str): The name of the app + organization_id (str): The ID of the app organization + workspace_id (str): The ID of the app workspace + + Returns: + AppDB: the instance of the app + """ + + query_expression = {"app_name": app_name} if isCloudEE(): # assert that if organization is provided, workspace_id is also provided, and vice versa @@ -1794,12 +1805,21 @@ async def fetch_app_by_name_and_parameters( organization_id is not None and workspace_id is not None ), "organization_id and workspace_id must be provided together" - return await app_db.find_one( - AppDB.organization.id == ObjectId(organization_id), - AppDB.workspace.id == ObjectId(workspace_id), + query_expression.update( + { + "organization.id": ObjectId(organization_id), + "workspace.id": ObjectId(workspace_id), + } ) else: - return await app_db.find_one(AppDB.user.uid == user_uid) + query_expression.update( + { + "user.uid": user_uid, + } + ) + + app_db = await AppDB.find_one(query_expression, fetch_links=True) + return app_db async def create_new_evaluation( From 1d760d91edef328afe170afbcfb39d11b1f7d23f Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 16:37:12 +0100 Subject: [PATCH 100/539] Refactor - remove duplicate comment --- agenta-backend/agenta_backend/services/db_manager.py | 11 ----------- 1 file changed, 11 deletions(-) diff --git a/agenta-backend/agenta_backend/services/db_manager.py b/agenta-backend/agenta_backend/services/db_manager.py index ff63e99563..1aad360fb7 100644 --- a/agenta-backend/agenta_backend/services/db_manager.py +++ b/agenta-backend/agenta_backend/services/db_manager.py @@ -1786,17 +1786,6 @@ async def fetch_app_by_name_and_parameters( AppDB: the instance of the app """ - """Fetch an app by its name, organization id, and workspace id. - - Args: - app_name (str): The name of the app - organization_id (str): The ID of the app organization - workspace_id (str): The ID of the app workspace - - Returns: - AppDB: the instance of the app - """ - query_expression = {"app_name": app_name} if isCloudEE(): From 0a68c470b706ed50adc5c8b7201c202e0cabe46e Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 16:54:03 +0100 Subject: [PATCH 101/539] Update - fix keyerror in create_span function --- agenta-cli/agenta/sdk/agenta_tracing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index dc30dbc313..ff3c3cc80b 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -62,8 +62,8 @@ async def create_span( status=SpanStatus(**{"value": "SUCCESS", "error": None}), inputs=kwargs["inputs"], # type: ignore outputs=kwargs["outputs"], # type: ignore - prompt_system=kwargs["system"], # type: ignore - prompt_user=kwargs["user"], # type: ignore + prompt_system=kwargs["prompt_system"], # type: ignore + prompt_user=kwargs["prompt_user"], # type: ignore tokens_input=kwargs["prompt_tokens"], # type: ignore tokens_output=kwargs["completion_tokens"], # type: ignore token_total=kwargs["total_tokens"], # type: ignore From 31b010a4d114e411b02470e02ab5a465db105690 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 18:28:18 +0100 Subject: [PATCH 102/539] Refactor - change inputs type to Dict --- .../agenta_backend/models/api/observability_models.py | 3 +-- agenta-backend/agenta_backend/models/db_models.py | 4 ++-- .../agenta/client/backend/resources/observability/client.py | 4 ++-- agenta-cli/agenta/sdk/agenta_decorator.py | 2 +- 4 files changed, 6 insertions(+), 7 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 483372939a..cfe859bf01 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -16,7 +16,6 @@ class ObservabilityDashboardDataRequestParams(BaseModel): endTime: Optional[int] environment: Optional[str] variant: Optional[str] - appId: Optional[str] class Error(BaseModel): @@ -59,7 +58,7 @@ class BaseSpan(BaseModel): start_time: datetime = Field(default=datetime.now()) duration: Optional[int] status: SpanStatus - inputs: Optional[List[str]] + inputs: Optional[Dict[str, Any]] outputs: Optional[List[str]] prompt_system: Optional[str] prompt_user: Optional[str] diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 4c44653e6a..7245f6aff2 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -319,7 +319,7 @@ class TraceDB(Document): start_time: datetime end_time: datetime = Field(default=datetime.now()) cost: Optional[float] - latency: float + latency: Optional[float] status: str # initiated, completed, stopped, cancelled, failed type: str = Field(default="generation") token_consumption: Optional[int] @@ -341,7 +341,7 @@ class SpanDB(Document): duration: Optional[int] status: SpanStatus end_time: datetime = Field(default=datetime.now()) - inputs: Optional[List[str]] + inputs: Optional[Dict[str, Any]] outputs: Optional[List[str]] prompt_user: Optional[str] prompt_system: Optional[str] diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index f01b6efebd..926de7a84e 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -755,7 +755,7 @@ async def create_span( start_time: typing.Optional[dt.datetime] = OMIT, duration: typing.Optional[int] = OMIT, status: SpanStatus, - inputs: typing.Optional[typing.List[str]] = OMIT, + inputs: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, outputs: typing.Optional[typing.List[str]] = OMIT, prompt_system: typing.Optional[str] = OMIT, prompt_user: typing.Optional[str] = OMIT, @@ -782,7 +782,7 @@ async def create_span( - status: SpanStatus. - - inputs: typing.Optional[typing.List[str]]. + - inputs: typing.Optional[typing.Dict[str, Any]]. - outputs: typing.Optional[typing.List[str]]. diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index a473d97345..5529dcb0d7 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -182,7 +182,7 @@ def get_prompt_system(config_params: Dict[str, Any]) -> Union[str, None]: if "config_params" in params: trace_data = { - "inputs": list(params["params"].keys()), + "inputs": params["params"], "prompt_system": get_prompt_system(params["config_params"]), "prompt_user": params["config_params"].get("prompt_user"), } From 87498c2afaa044b9eee6e98bb935a7f58b65d5b3 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 18:28:40 +0100 Subject: [PATCH 103/539] Update - refactor dashboard for observability --- .../routers/observability_router.py | 9 +- .../services/event_db_manager.py | 112 ++++++++---------- 2 files changed, 53 insertions(+), 68 deletions(-) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index aa2f92ad45..55345610ff 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -34,11 +34,10 @@ operation_id="observability_dashboard", ) async def get_dashboard_data( - request: Request, parameters: ObservabilityDashboardDataRequestParams = Depends() + request: Request, app_id: str, parameters: ObservabilityDashboardDataRequestParams = Depends() ): - if not parameters.appId: - return [] - return event_db_manager.retrieve_observability_dashboard(parameters) + dashboard_data = await event_db_manager.retrieve_observability_dashboard(app_id, parameters) + return dashboard_data @router.post("/traces/", response_model=str, operation_id="create_trace") @@ -112,7 +111,7 @@ async def update_trace( payload: UpdateTrace, request: Request, ): - trace = await event_db_manager.trace_status_update( + trace = await event_db_manager.trace_update( trace_id, payload, request.state.user_id ) return trace diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 9d6245fb62..cf86ba51a0 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -75,13 +75,6 @@ async def create_app_trace(payload: CreateTrace, user_uid: str) -> str: """ user = await db_manager.get_user(user_uid) - - # Ensure spans exists in the db - for span in payload.spans: - span_db = await SpanDB.find_one(SpanDB.id == ObjectId(span), fetch_links=True) - if span_db is None: - raise HTTPException(404, detail=f"Span {span} does not exist") - trace_db = TraceDB(**payload.dict(), user=user) await trace_db.create() return str(trace_db.id) @@ -177,9 +170,9 @@ async def fetch_generation_spans( List[Span]: the list of spans for the given user """ - user = await db_manager.get_user(user_uid) spans_db = await SpanDB.find( - SpanDB.trace.user.id == str(user.id), SpanDB.trace.app_id == app_id + SpanDB.trace.app_id == app_id, + fetch_links=True, ).to_list() def filter_span(span: Span): @@ -218,9 +211,7 @@ async def fetch_generation_span_detail(span_id: str, user_uid: str) -> SpanDetai """ user = await db_manager.get_user(user_uid) - span_db = await SpanDB.find_one( - SpanDB.id == ObjectId(span_id), SpanDB.trace.user.id == user.id - ) + span_db = await SpanDB.find_one(SpanDB.id == ObjectId(span_id), fetch_links=True) app_variant_db = await db_manager.fetch_app_variant_by_base_id_and_config_name( span_db.trace.base_id, span_db.trace.config_name ) @@ -275,11 +266,12 @@ def convert_variables(span_db: SpanDB): }, "metadata": span_db.meta, "user_id": str(user.id), - }, - **{ "span_id": str(span_db.id), "content": { - "inputs": span_db.inputs, + "inputs": [ + {"input_name": key, "input_value": value} + for key, value in span_db.inputs.items() + ], "output": span_db.outputs[0], }, "model_params": { @@ -295,78 +287,72 @@ def convert_variables(span_db: SpanDB): async def retrieve_observability_dashboard( + app_id: str, params: ObservabilityDashboardDataRequestParams, ) -> ObservabilityDashboardData: - traces = await TraceDB.find(TraceDB.app_id == ObjectId(params.appId)) - list_of_spans_db: SpanDB = [] - - for trace in traces: - for span in trace.spans: - span_db = await SpanDB.find_one(SpanDB.id == ObjectId(span)) - list_of_spans_db.append(span_db) + spans_db = await SpanDB.find( + SpanDB.trace.app_id == app_id, fetch_links=True + ).to_list() + if spans_db == []: + return [] list_of_observability_data: ObservabilityData = [] - for span_db in list_of_spans_db: + for span_db in spans_db: + app_variant_db = await db_manager.fetch_app_variant_by_base_id_and_config_name( + span_db.trace.base_id, span_db.trace.config_name + ) + latency = span_db.end_time - span_db.start_time list_of_observability_data.append( ObservabilityData( **{ "timestamp": span_db.created_at, - "success_count": len(list_of_spans_db), + "success_count": 0, "failure_count": 0, "cost": span_db.cost, - "latency": span_db.latency, + "latency": latency.total_seconds(), "total_tokens": span_db.token_total, "prompt_tokens": span_db.tokens_input, "completion_tokens": span_db.tokens_output, "environment": "", - "variant": "", + "variant": app_variant_db.variant_name, } ) ) - def filter_data(data: ObservabilityData): - if params: - if params.environment and data.environment == params.environment: - return True - if params.variant and data.variant == params.variant: - return True - - # Convert data.timestamp to epoch time - epoch_time = int(data.timestamp.timestamp()) - if (params.startTime and params.endTime) and ( - epoch_time in [params.startTime, params.endTime] - ): - return True - if ( - params.environment == data.environment - and params.variant == data.variant - ): - return True - if ( - (params.startTime and params.endTime) - and (data.timestamp in [params.startTime, params.endTime]) - and ( - params.environment == data.environment - and params.variant == data.variant - ) - ): - return True - return False + def filter_data_by_params(observability_data: List[ObservabilityData]): + filtered_data = observability_data + if params.startTime or params.endTime: + def filter_by_timestamp(data: ObservabilityData): + epoch_time = int(data.timestamp.timestamp()) + return params.startTime <= epoch_time <= params.endTime + + filtered_data = filter(filter_by_timestamp, filtered_data) + + if params.environment: + filtered_data = filter(lambda data: data.environment == params.environment, filtered_data) + + if params.variant: + filtered_data = filter(lambda data: data.variant == params.variant, filtered_data) + return list(filtered_data) + len_of_spans_db = len(list_of_observability_data) - filtered_data = filter(filter_data, list_of_observability_data) + filtered_data = filter_data_by_params(list_of_observability_data) + return ObservabilityDashboardData( **{ - "data": list(filtered_data), + "data": filtered_data, "total_count": len_of_spans_db, "failure_rate": 0, - "total_cost": sum([span_db.cost for span_db in list_of_spans_db]), - "avg_cost": sum([span_db.cost for span_db in list_of_spans_db]) - / len_of_spans_db, - "avg_latency": sum([span_db.duration for span_db in list_of_spans_db]) - / len_of_spans_db, - "total_tokens": sum([span_db.token_total for span_db in list_of_spans_db]), - "avg_tokens": sum([span_db.token_total for span_db in list_of_spans_db]) + "total_cost": round(sum([span_db.cost for span_db in spans_db]), 5), + "avg_cost": round( + sum([span_db.cost for span_db in spans_db]) / len_of_spans_db, 5 + ), + "avg_latency": round( + sum([span_db.duration for span_db in spans_db]) / len_of_spans_db, 5 + ), + "total_tokens": sum([span_db.token_total for span_db in spans_db]), + "avg_tokens": sum([span_db.token_total for span_db in spans_db]) / len_of_spans_db, } ) From bf21381f15d18aa76df20e0ca3aafe611dc7b8f4 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 28 Feb 2024 18:29:30 +0100 Subject: [PATCH 104/539] :art: Format - ran black --- .../routers/observability_router.py | 8 +- .../services/event_db_manager.py | 10 +- agenta-cli/agenta/client/backend/client.py | 227 ++++++++++++++---- .../agenta/client/backend/core/api_error.py | 4 +- .../client/backend/core/datetime_utils.py | 4 +- .../client/backend/core/jsonable_encoder.py | 12 +- .../client/backend/resources/__init__.py | 13 +- .../client/backend/resources/apps/__init__.py | 1 - .../client/backend/resources/apps/client.py | 114 +++++++-- .../backend/resources/bases/__init__.py | 1 - .../client/backend/resources/bases/client.py | 10 +- .../backend/resources/configs/__init__.py | 1 - .../backend/resources/configs/client.py | 72 ++++-- .../backend/resources/containers/client.py | 60 +++-- .../resources/environments/__init__.py | 1 - .../backend/resources/environments/client.py | 24 +- .../backend/resources/evaluations/__init__.py | 1 - .../backend/resources/evaluations/client.py | 124 +++++++--- .../backend/resources/evaluators/__init__.py | 1 - .../backend/resources/evaluators/client.py | 74 ++++-- .../resources/observability/__init__.py | 1 - .../backend/resources/observability/client.py | 122 +++++++--- .../backend/resources/testsets/__init__.py | 1 - .../backend/resources/testsets/client.py | 72 ++++-- .../backend/resources/variants/client.py | 90 +++++-- .../resources/variants/types/__init__.py | 4 +- .../client/backend/types/aggregated_result.py | 12 +- .../aggregated_result_evaluator_config.py | 4 +- agenta-cli/agenta/client/backend/types/app.py | 12 +- .../types/app_variant_output_extended.py | 12 +- .../backend/types/app_variant_response.py | 12 +- .../backend/types/app_variant_revision.py | 12 +- .../client/backend/types/base_output.py | 12 +- .../backend/types/body_import_testset.py | 12 +- .../agenta/client/backend/types/config_db.py | 12 +- .../client/backend/types/create_app_output.py | 12 +- .../client/backend/types/docker_env_vars.py | 12 +- .../backend/types/environment_output.py | 12 +- .../types/environment_output_extended.py | 12 +- .../backend/types/environment_revision.py | 12 +- .../agenta/client/backend/types/error.py | 12 +- .../agenta/client/backend/types/evaluation.py | 12 +- .../backend/types/evaluation_scenario.py | 12 +- .../types/evaluation_scenario_input.py | 12 +- .../types/evaluation_scenario_output.py | 12 +- .../types/evaluation_scenario_result.py | 12 +- .../types/evaluation_scenario_score_update.py | 12 +- .../client/backend/types/evaluation_type.py | 4 +- .../backend/types/evaluation_webhook.py | 12 +- .../agenta/client/backend/types/evaluator.py | 12 +- .../client/backend/types/evaluator_config.py | 12 +- .../agenta/client/backend/types/feedback.py | 12 +- .../backend/types/get_config_response.py | 12 +- .../backend/types/http_validation_error.py | 12 +- .../client/backend/types/human_evaluation.py | 12 +- .../types/human_evaluation_scenario.py | 12 +- .../types/human_evaluation_scenario_input.py | 12 +- .../types/human_evaluation_scenario_output.py | 12 +- .../types/human_evaluation_scenario_update.py | 12 +- .../backend/types/human_evaluation_update.py | 12 +- .../agenta/client/backend/types/image.py | 12 +- .../client/backend/types/invite_request.py | 12 +- .../backend/types/list_api_keys_response.py | 12 +- .../client/backend/types/llm_content.py | 12 +- .../agenta/client/backend/types/llm_inputs.py | 12 +- .../client/backend/types/llm_model_params.py | 12 +- .../backend/types/llm_run_rate_limit.py | 12 +- .../backend/types/new_human_evaluation.py | 12 +- .../client/backend/types/new_testset.py | 12 +- .../types/observability_dashboard_data.py | 12 +- .../backend/types/observability_data.py | 12 +- .../client/backend/types/organization.py | 12 +- .../backend/types/organization_output.py | 12 +- .../agenta/client/backend/types/result.py | 12 +- .../backend/types/simple_evaluation_output.py | 12 +- .../client/backend/types/span_detail.py | 12 +- .../client/backend/types/span_status.py | 12 +- .../client/backend/types/span_variant.py | 12 +- .../agenta/client/backend/types/template.py | 12 +- .../backend/types/template_image_info.py | 12 +- .../backend/types/test_set_output_response.py | 12 +- .../backend/types/test_set_simple_response.py | 12 +- agenta-cli/agenta/client/backend/types/uri.py | 12 +- .../client/backend/types/validation_error.py | 12 +- .../client/backend/types/variant_action.py | 12 +- .../backend/types/variant_action_enum.py | 4 +- .../client/backend/types/with_pagination.py | 12 +- .../types/workspace_member_response.py | 12 +- .../backend/types/workspace_permission.py | 12 +- .../backend/types/workspace_response.py | 12 +- .../backend/types/workspace_role_response.py | 12 +- 91 files changed, 1439 insertions(+), 369 deletions(-) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 55345610ff..065e178705 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -34,9 +34,13 @@ operation_id="observability_dashboard", ) async def get_dashboard_data( - request: Request, app_id: str, parameters: ObservabilityDashboardDataRequestParams = Depends() + request: Request, + app_id: str, + parameters: ObservabilityDashboardDataRequestParams = Depends(), ): - dashboard_data = await event_db_manager.retrieve_observability_dashboard(app_id, parameters) + dashboard_data = await event_db_manager.retrieve_observability_dashboard( + app_id, parameters + ) return dashboard_data diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index cf86ba51a0..d67b03cf35 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -322,6 +322,7 @@ async def retrieve_observability_dashboard( def filter_data_by_params(observability_data: List[ObservabilityData]): filtered_data = observability_data if params.startTime or params.endTime: + def filter_by_timestamp(data: ObservabilityData): epoch_time = int(data.timestamp.timestamp()) return params.startTime <= epoch_time <= params.endTime @@ -329,13 +330,16 @@ def filter_by_timestamp(data: ObservabilityData): filtered_data = filter(filter_by_timestamp, filtered_data) if params.environment: - filtered_data = filter(lambda data: data.environment == params.environment, filtered_data) + filtered_data = filter( + lambda data: data.environment == params.environment, filtered_data + ) if params.variant: - filtered_data = filter(lambda data: data.variant == params.variant, filtered_data) + filtered_data = filter( + lambda data: data.variant == params.variant, filtered_data + ) return list(filtered_data) - len_of_spans_db = len(list_of_observability_data) filtered_data = filter_data_by_params(list_of_observability_data) diff --git a/agenta-cli/agenta/client/backend/client.py b/agenta-cli/agenta/client/backend/client.py index e0b4a3a650..04e2b6c25a 100644 --- a/agenta-cli/agenta/client/backend/client.py +++ b/agenta-cli/agenta/client/backend/client.py @@ -19,7 +19,10 @@ from .resources.environments.client import AsyncEnvironmentsClient, EnvironmentsClient from .resources.evaluations.client import AsyncEvaluationsClient, EvaluationsClient from .resources.evaluators.client import AsyncEvaluatorsClient, EvaluatorsClient -from .resources.observability.client import AsyncObservabilityClient, ObservabilityClient +from .resources.observability.client import ( + AsyncObservabilityClient, + ObservabilityClient, +) from .resources.testsets.client import AsyncTestsetsClient, TestsetsClient from .resources.variants.client import AsyncVariantsClient, VariantsClient from .types.http_validation_error import HttpValidationError @@ -42,9 +45,13 @@ class AgentaApi: - def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): + def __init__( + self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 + ): self._client_wrapper = SyncClientWrapper( - base_url=base_url, api_key=api_key, httpx_client=httpx.Client(timeout=timeout) + base_url=base_url, + api_key=api_key, + httpx_client=httpx.Client(timeout=timeout), ) self.apps = AppsClient(client_wrapper=self._client_wrapper) self.variants = VariantsClient(client_wrapper=self._client_wrapper) @@ -146,7 +153,9 @@ def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -176,7 +185,9 @@ def validate_api_key(self, key_prefix: str) -> bool: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -211,7 +222,9 @@ def list_organizations(self) -> typing.List[Organization]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -255,7 +268,9 @@ def create_organization( _request["owner"] = owner _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -279,7 +294,9 @@ def get_own_org(self) -> OrganizationOutput: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations/own" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -312,7 +329,9 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -358,7 +377,9 @@ def update_organization( _request["updated_at"] = updated_at _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -395,7 +416,8 @@ def invite_user_to_workspace( _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}/invite", ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -411,7 +433,9 @@ def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: + def resend_invitation( + self, org_id: str, workspace_id: str, *, email: str + ) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -455,7 +479,9 @@ def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> ty raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: + def accept_invitation( + self, org_id: str, workspace_id: str, *, token: str + ) -> typing.Any: """ Accept an invitation to a workspace. @@ -500,7 +526,12 @@ def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> ty raise ApiError(status_code=_response.status_code, body=_response_json) def create_workspace( - self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT + self, + org_id: str, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, ) -> WorkspaceResponse: """ Parameters: @@ -524,7 +555,10 @@ def create_workspace( _request["type"] = type _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -575,7 +609,8 @@ def update_workspace( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -611,7 +646,9 @@ def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -643,7 +680,9 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -656,7 +695,12 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) def assign_role_to_user( - self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT + self, + workspace_id: str, + *, + email: str, + organization_id: str, + role: typing.Optional[WorkspaceRole] = OMIT, ) -> bool: """ Assigns a role to a user in a workspace. @@ -687,12 +731,18 @@ def assign_role_to_user( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} + _request: typing.Dict[str, typing.Any] = { + "email": email, + "organization_id": organization_id, + } if role is not OMIT: _request["role"] = role _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -707,7 +757,9 @@ def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: + def unassign_role_from_user( + self, workspace_id: str, *, email: str, org_id: str, role: str + ) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -741,8 +793,13 @@ def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), - params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), + params=remove_none_from_dict( + {"email": email, "org_id": org_id, "role": role} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -756,7 +813,9 @@ def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: + def remove_user_from_workspace( + self, workspace_id: str, *, org_id: str, email: str + ) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -789,7 +848,10 @@ def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: s """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/users", + ), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -848,9 +910,13 @@ def user_profile(self) -> typing.Any: class AsyncAgentaApi: - def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): + def __init__( + self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 + ): self._client_wrapper = AsyncClientWrapper( - base_url=base_url, api_key=api_key, httpx_client=httpx.AsyncClient(timeout=timeout) + base_url=base_url, + api_key=api_key, + httpx_client=httpx.AsyncClient(timeout=timeout), ) self.apps = AsyncAppsClient(client_wrapper=self._client_wrapper) self.variants = AsyncVariantsClient(client_wrapper=self._client_wrapper) @@ -859,7 +925,9 @@ def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[floa self.testsets = AsyncTestsetsClient(client_wrapper=self._client_wrapper) self.containers = AsyncContainersClient(client_wrapper=self._client_wrapper) self.environments = AsyncEnvironmentsClient(client_wrapper=self._client_wrapper) - self.observability = AsyncObservabilityClient(client_wrapper=self._client_wrapper) + self.observability = AsyncObservabilityClient( + client_wrapper=self._client_wrapper + ) self.bases = AsyncBasesClient(client_wrapper=self._client_wrapper) self.configs = AsyncConfigsClient(client_wrapper=self._client_wrapper) @@ -952,7 +1020,9 @@ async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -982,7 +1052,9 @@ async def validate_api_key(self, key_prefix: str) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1017,7 +1089,9 @@ async def list_organizations(self) -> typing.List[Organization]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1061,7 +1135,9 @@ async def create_organization( _request["owner"] = owner _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1085,7 +1161,9 @@ async def get_own_org(self) -> OrganizationOutput: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations/own" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1118,7 +1196,9 @@ async def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1164,7 +1244,9 @@ async def update_organization( _request["updated_at"] = updated_at _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1201,7 +1283,8 @@ async def invite_user_to_workspace( _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}/invite", ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -1217,7 +1300,9 @@ async def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: + async def resend_invitation( + self, org_id: str, workspace_id: str, *, email: str + ) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -1261,7 +1346,9 @@ async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: + async def accept_invitation( + self, org_id: str, workspace_id: str, *, token: str + ) -> typing.Any: """ Accept an invitation to a workspace. @@ -1306,7 +1393,12 @@ async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) raise ApiError(status_code=_response.status_code, body=_response_json) async def create_workspace( - self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT + self, + org_id: str, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, ) -> WorkspaceResponse: """ Parameters: @@ -1330,7 +1422,10 @@ async def create_workspace( _request["type"] = type _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1381,7 +1476,8 @@ async def update_workspace( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -1417,7 +1513,9 @@ async def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1449,7 +1547,9 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1462,7 +1562,12 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) async def assign_role_to_user( - self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT + self, + workspace_id: str, + *, + email: str, + organization_id: str, + role: typing.Optional[WorkspaceRole] = OMIT, ) -> bool: """ Assigns a role to a user in a workspace. @@ -1493,12 +1598,18 @@ async def assign_role_to_user( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} + _request: typing.Dict[str, typing.Any] = { + "email": email, + "organization_id": organization_id, + } if role is not OMIT: _request["role"] = role _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1513,7 +1624,9 @@ async def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: + async def unassign_role_from_user( + self, workspace_id: str, *, email: str, org_id: str, role: str + ) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -1547,8 +1660,13 @@ async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), - params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), + params=remove_none_from_dict( + {"email": email, "org_id": org_id, "role": role} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1562,7 +1680,9 @@ async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: + async def remove_user_from_workspace( + self, workspace_id: str, *, org_id: str, email: str + ) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -1595,7 +1715,10 @@ async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, em """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/users", + ), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/core/api_error.py b/agenta-cli/agenta/client/backend/core/api_error.py index 2e9fc5431c..da734b5806 100644 --- a/agenta-cli/agenta/client/backend/core/api_error.py +++ b/agenta-cli/agenta/client/backend/core/api_error.py @@ -7,7 +7,9 @@ class ApiError(Exception): status_code: typing.Optional[int] body: typing.Any - def __init__(self, *, status_code: typing.Optional[int] = None, body: typing.Any = None): + def __init__( + self, *, status_code: typing.Optional[int] = None, body: typing.Any = None + ): self.status_code = status_code self.body = body diff --git a/agenta-cli/agenta/client/backend/core/datetime_utils.py b/agenta-cli/agenta/client/backend/core/datetime_utils.py index 7c9864a944..47344e9d9c 100644 --- a/agenta-cli/agenta/client/backend/core/datetime_utils.py +++ b/agenta-cli/agenta/client/backend/core/datetime_utils.py @@ -13,7 +13,9 @@ def serialize_datetime(v: dt.datetime) -> str: """ def _serialize_zoned_datetime(v: dt.datetime) -> str: - if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname(None): + if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname( + None + ): # UTC is a special case where we use "Z" at the end instead of "+00:00" return v.isoformat().replace("+00:00", "Z") else: diff --git a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py index 37238ab679..0e297e18f0 100644 --- a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py +++ b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py @@ -30,16 +30,22 @@ def generate_encoders_by_class_tuples( type_encoder_map: Dict[Any, Callable[[Any], Any]] ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]: - encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(tuple) + encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict( + tuple + ) for type_, encoder in type_encoder_map.items(): encoders_by_class_tuples[encoder] += (type_,) return encoders_by_class_tuples -encoders_by_class_tuples = generate_encoders_by_class_tuples(pydantic.json.ENCODERS_BY_TYPE) +encoders_by_class_tuples = generate_encoders_by_class_tuples( + pydantic.json.ENCODERS_BY_TYPE +) -def jsonable_encoder(obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None) -> Any: +def jsonable_encoder( + obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None +) -> Any: custom_encoder = custom_encoder or {} if custom_encoder: if type(obj) in custom_encoder: diff --git a/agenta-cli/agenta/client/backend/resources/__init__.py b/agenta-cli/agenta/client/backend/resources/__init__.py index 6a7c8f0ca8..223d38e477 100644 --- a/agenta-cli/agenta/client/backend/resources/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/__init__.py @@ -1,6 +1,17 @@ # This file was auto-generated by Fern from our API Definition. -from . import apps, bases, configs, containers, environments, evaluations, evaluators, observability, testsets, variants +from . import ( + apps, + bases, + configs, + containers, + environments, + evaluations, + evaluators, + observability, + testsets, + variants, +) from .containers import ContainerTemplatesResponse from .variants import AddVariantFromBaseAndConfigResponse diff --git a/agenta-cli/agenta/client/backend/resources/apps/__init__.py b/agenta-cli/agenta/client/backend/resources/apps/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/apps/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/apps/client.py b/agenta-cli/agenta/client/backend/resources/apps/client.py index 960fb5e5f8..20b3932d43 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/client.py +++ b/agenta-cli/agenta/client/backend/resources/apps/client.py @@ -50,7 +50,9 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -64,7 +66,9 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: + def get_variant_by_env( + self, *, app_id: str, environment: str + ) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -91,8 +95,12 @@ def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResp """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), - params=remove_none_from_dict({"app_id": app_id, "environment": environment}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" + ), + params=remove_none_from_dict( + {"app_id": app_id, "environment": environment} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -142,7 +150,9 @@ def list_apps( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), + params=remove_none_from_dict( + {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -157,7 +167,11 @@ def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) def create_app( - self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT + self, + *, + app_name: str, + organization_id: typing.Optional[str] = OMIT, + workspace_id: typing.Optional[str] = OMIT, ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -248,14 +262,21 @@ def add_variant_from_image( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} + _request: typing.Dict[str, typing.Any] = { + "variant_name": variant_name, + "docker_id": docker_id, + "tags": tags, + } if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/variant/from-image", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -287,7 +308,9 @@ def remove_app(self, app_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -352,7 +375,10 @@ def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "apps/app_and_variant_from_template", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -388,7 +414,9 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -402,7 +430,9 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: + def environment_revisions( + self, app_id: str, environment_name: typing.Any + ) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -412,7 +442,8 @@ def environment_revisions(self, app_id: str, environment_name: typing.Any) -> En _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/revisions/{environment_name}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -453,7 +484,9 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -467,7 +500,9 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: + async def get_variant_by_env( + self, *, app_id: str, environment: str + ) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -494,8 +529,12 @@ async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVaria """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), - params=remove_none_from_dict({"app_id": app_id, "environment": environment}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" + ), + params=remove_none_from_dict( + {"app_id": app_id, "environment": environment} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -545,7 +584,9 @@ async def list_apps( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), + params=remove_none_from_dict( + {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -560,7 +601,11 @@ async def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_app( - self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT + self, + *, + app_name: str, + organization_id: typing.Optional[str] = OMIT, + workspace_id: typing.Optional[str] = OMIT, ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -651,14 +696,21 @@ async def add_variant_from_image( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} + _request: typing.Dict[str, typing.Any] = { + "variant_name": variant_name, + "docker_id": docker_id, + "tags": tags, + } if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/variant/from-image", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -690,7 +742,9 @@ async def remove_app(self, app_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -755,7 +809,10 @@ async def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "apps/app_and_variant_from_template", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -791,7 +848,9 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -805,7 +864,9 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: + async def environment_revisions( + self, app_id: str, environment_name: typing.Any + ) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -815,7 +876,8 @@ async def environment_revisions(self, app_id: str, environment_name: typing.Any) _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/revisions/{environment_name}", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/bases/__init__.py b/agenta-cli/agenta/client/backend/resources/bases/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/bases/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/bases/client.py b/agenta-cli/agenta/client/backend/resources/bases/client.py index f5e0dd5569..88082d3555 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/client.py +++ b/agenta-cli/agenta/client/backend/resources/bases/client.py @@ -22,7 +22,10 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def list_bases( - self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None + self, + *, + app_id: typing.Optional[str] = None, + base_name: typing.Optional[str] = None, ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. @@ -71,7 +74,10 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def list_bases( - self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None + self, + *, + app_id: typing.Optional[str] = None, + base_name: typing.Optional[str] = None, ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. diff --git a/agenta-cli/agenta/client/backend/resources/configs/__init__.py b/agenta-cli/agenta/client/backend/resources/configs/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/configs/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/configs/client.py b/agenta-cli/agenta/client/backend/resources/configs/client.py index bb85bbd5e6..f13859b76c 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/client.py +++ b/agenta-cli/agenta/client/backend/resources/configs/client.py @@ -26,7 +26,11 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def get_config( - self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None + self, + *, + base_id: str, + config_name: typing.Optional[str] = None, + environment_name: typing.Optional[str] = None, ) -> GetConfigResponse: """ Parameters: @@ -45,7 +49,11 @@ def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} + { + "base_id": base_id, + "config_name": config_name, + "environment_name": environment_name, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -61,7 +69,12 @@ def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) def save_config( - self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool + self, + *, + base_id: str, + config_name: str, + parameters: typing.Dict[str, typing.Any], + overwrite: bool, ) -> typing.Any: """ Parameters: @@ -82,7 +95,12 @@ def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} + { + "base_id": base_id, + "config_name": config_name, + "parameters": parameters, + "overwrite": overwrite, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -110,7 +128,8 @@ def get_config_deployment_revision(self, deployment_revision_id: str) -> typing. _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -138,7 +157,8 @@ def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}/revert", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -159,7 +179,11 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def get_config( - self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None + self, + *, + base_id: str, + config_name: typing.Optional[str] = None, + environment_name: typing.Optional[str] = None, ) -> GetConfigResponse: """ Parameters: @@ -178,7 +202,11 @@ async def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} + { + "base_id": base_id, + "config_name": config_name, + "environment_name": environment_name, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -194,7 +222,12 @@ async def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) async def save_config( - self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool + self, + *, + base_id: str, + config_name: str, + parameters: typing.Dict[str, typing.Any], + overwrite: bool, ) -> typing.Any: """ Parameters: @@ -215,7 +248,12 @@ async def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} + { + "base_id": base_id, + "config_name": config_name, + "parameters": parameters, + "overwrite": overwrite, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -230,7 +268,9 @@ async def save_config( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_config_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + async def get_config_deployment_revision( + self, deployment_revision_id: str + ) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -243,7 +283,8 @@ async def get_config_deployment_revision(self, deployment_revision_id: str) -> t _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -258,7 +299,9 @@ async def get_config_deployment_revision(self, deployment_revision_id: str) -> t raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + async def revert_deployment_revision( + self, deployment_revision_id: str + ) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -271,7 +314,8 @@ async def revert_deployment_revision(self, deployment_revision_id: str) -> typin _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}/revert", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/containers/client.py b/agenta-cli/agenta/client/backend/resources/containers/client.py index 748db696dc..8f97f53369 100644 --- a/agenta-cli/agenta/client/backend/resources/containers/client.py +++ b/agenta-cli/agenta/client/backend/resources/containers/client.py @@ -49,7 +49,9 @@ def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Im """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/build_image" + ), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -83,7 +85,10 @@ def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "containers/restart_container", + ), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -111,7 +116,9 @@ def container_templates(self) -> ContainerTemplatesResponse: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/templates" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -124,7 +131,10 @@ def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) def construct_app_container_url( - self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None + self, + *, + base_id: typing.Optional[str] = None, + variant_id: typing.Optional[str] = None, ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -152,8 +162,12 @@ def construct_app_container_url( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), - params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/container_url" + ), + params=remove_none_from_dict( + {"base_id": base_id, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -172,7 +186,9 @@ class AsyncContainersClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Image: + async def build_image( + self, *, app_id: str, base_name: str, tar_file: typing.IO + ) -> Image: """ Builds a Docker image from a tar file containing the application code. @@ -194,7 +210,9 @@ async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/build_image" + ), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -211,7 +229,9 @@ async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: + async def restart_container( + self, *, variant_id: str + ) -> typing.Dict[str, typing.Any]: """ Restart docker container. @@ -228,7 +248,10 @@ async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "containers/restart_container", + ), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -256,7 +279,9 @@ async def container_templates(self) -> ContainerTemplatesResponse: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/templates" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -269,7 +294,10 @@ async def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) async def construct_app_container_url( - self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None + self, + *, + base_id: typing.Optional[str] = None, + variant_id: typing.Optional[str] = None, ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -297,8 +325,12 @@ async def construct_app_container_url( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), - params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/container_url" + ), + params=remove_none_from_dict( + {"base_id": base_id, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/environments/__init__.py b/agenta-cli/agenta/client/backend/resources/environments/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/environments/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/environments/client.py b/agenta-cli/agenta/client/backend/resources/environments/client.py index f88b1585d9..ffba541661 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/client.py +++ b/agenta-cli/agenta/client/backend/resources/environments/client.py @@ -23,7 +23,9 @@ class EnvironmentsClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper - def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: + def deploy_to_environment( + self, *, environment_name: str, variant_id: str + ) -> typing.Any: """ Deploys a given variant to an environment @@ -47,8 +49,12 @@ def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> ty """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), - json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "environments/deploy" + ), + json=jsonable_encoder( + {"environment_name": environment_name, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -67,7 +73,9 @@ class AsyncEnvironmentsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: + async def deploy_to_environment( + self, *, environment_name: str, variant_id: str + ) -> typing.Any: """ Deploys a given variant to an environment @@ -91,8 +99,12 @@ async def deploy_to_environment(self, *, environment_name: str, variant_id: str) """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), - json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "environments/deploy" + ), + json=jsonable_encoder( + {"environment_name": environment_name, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/client.py b/agenta-cli/agenta/client/backend/resources/evaluations/client.py index 0fe4108c07..2dfd066929 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/client.py @@ -29,7 +29,11 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def fetch_evaluation_ids( - self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] + self, + *, + app_id: str, + resource_type: str, + resource_ids: typing.Union[typing.Optional[str], typing.List[str]], ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -59,9 +63,15 @@ def fetch_evaluation_ids( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" + ), params=remove_none_from_dict( - {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} + { + "app_id": app_id, + "resource_type": resource_type, + "resource_ids": resource_ids, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -96,7 +106,9 @@ def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -169,7 +181,9 @@ def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -184,7 +198,9 @@ def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: + def delete_evaluations( + self, *, evaluations_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -204,7 +220,9 @@ def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.Lis """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -240,7 +258,10 @@ def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/status", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -275,7 +296,10 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/results", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -289,7 +313,9 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: + def fetch_evaluation_scenarios( + self, evaluation_id: str + ) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -313,7 +339,8 @@ def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[Evaluati _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/evaluation_scenarios", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -348,7 +375,10 @@ def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -377,7 +407,10 @@ def webhook_example_fake(self) -> EvaluationWebhook: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "evaluations/webhook_example_fake", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -413,7 +446,8 @@ def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" + f"{self._client_wrapper.get_base_url()}/", + "evaluations/evaluation_scenarios/comparison-results", ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), @@ -435,7 +469,11 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def fetch_evaluation_ids( - self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] + self, + *, + app_id: str, + resource_type: str, + resource_ids: typing.Union[typing.Optional[str], typing.List[str]], ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -465,9 +503,15 @@ async def fetch_evaluation_ids( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" + ), params=remove_none_from_dict( - {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} + { + "app_id": app_id, + "resource_type": resource_type, + "resource_ids": resource_ids, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -502,7 +546,9 @@ async def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -575,7 +621,9 @@ async def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -590,7 +638,9 @@ async def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: + async def delete_evaluations( + self, *, evaluations_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -610,7 +660,9 @@ async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typi """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -646,7 +698,10 @@ async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/status", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -681,7 +736,10 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/results", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -695,7 +753,9 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: + async def fetch_evaluation_scenarios( + self, evaluation_id: str + ) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -719,7 +779,8 @@ async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[Ev _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/evaluation_scenarios", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -754,7 +815,10 @@ async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -783,7 +847,10 @@ async def webhook_example_fake(self) -> EvaluationWebhook: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "evaluations/webhook_example_fake", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -819,7 +886,8 @@ async def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.An _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" + f"{self._client_wrapper.get_base_url()}/", + "evaluations/evaluation_scenarios/comparison-results", ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/client.py b/agenta-cli/agenta/client/backend/resources/evaluators/client.py index 02a2896772..e4aab0699b 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/client.py @@ -41,7 +41,9 @@ def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -73,7 +75,9 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -89,7 +93,12 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: raise ApiError(status_code=_response.status_code, body=_response_json) def create_new_evaluator_config( - self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] + self, + *, + app_id: str, + name: str, + evaluator_key: str, + settings_values: typing.Dict[str, typing.Any], ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -116,9 +125,16 @@ def create_new_evaluator_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), json=jsonable_encoder( - {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} + { + "app_id": app_id, + "name": name, + "evaluator_key": evaluator_key, + "settings_values": settings_values, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -151,7 +167,8 @@ def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -204,7 +221,8 @@ def update_evaluator_config( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -241,7 +259,8 @@ def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -276,7 +295,9 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -288,7 +309,9 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: + async def get_evaluator_configs( + self, *, app_id: str + ) -> typing.List[EvaluatorConfig]: """ Endpoint to fetch evaluator configurations for a specific app. @@ -308,7 +331,9 @@ async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorCo """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -324,7 +349,12 @@ async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorCo raise ApiError(status_code=_response.status_code, body=_response_json) async def create_new_evaluator_config( - self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] + self, + *, + app_id: str, + name: str, + evaluator_key: str, + settings_values: typing.Dict[str, typing.Any], ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -353,9 +383,16 @@ async def create_new_evaluator_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), json=jsonable_encoder( - {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} + { + "app_id": app_id, + "name": name, + "evaluator_key": evaluator_key, + "settings_values": settings_values, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -388,7 +425,8 @@ async def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfi _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -441,7 +479,8 @@ async def update_evaluator_config( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -478,7 +517,8 @@ async def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = await self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/observability/__init__.py b/agenta-cli/agenta/client/backend/resources/observability/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/observability/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index 926de7a84e..db7bef9e35 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -58,7 +58,9 @@ def dashboard( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + ), params=remove_none_from_dict( { "startTime": start_time, @@ -135,7 +137,9 @@ def create_trace( _request["start_time"] = start_time _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/traces" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -184,7 +188,9 @@ def get_spans_of_generation( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), params=remove_none_from_dict( { "app_id": app_id, @@ -272,7 +278,11 @@ def create_span( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.create_span(event_name="event_name", status=SpanStatus(), trace_id="trace_id") """ - _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status, "trace_id": trace_id} + _request: typing.Dict[str, typing.Any] = { + "event_name": event_name, + "status": status, + "trace_id": trace_id, + } if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: @@ -303,7 +313,9 @@ def create_span( _request["tags"] = tags _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -318,7 +330,9 @@ def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + def get_span_of_generation( + self, span_id: str, *, type: typing.Optional[str] = None + ) -> SpanDetail: """ Parameters: - span_id: str. @@ -332,7 +346,10 @@ def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = N """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/spans/{span_id}", + ), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -359,7 +376,10 @@ def delete_span_of_trace(self, span_id: str) -> bool: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/spans/{span_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -373,7 +393,9 @@ def delete_span_of_trace(self, span_id: str) -> bool: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_trace(self, trace_id: str, *, status: str, end_time: dt.datetime) -> bool: + def update_trace( + self, trace_id: str, *, status: str, end_time: dt.datetime + ) -> bool: """ Parameters: - trace_id: str. @@ -393,7 +415,10 @@ def update_trace(self, trace_id: str, *, status: str, end_time: dt.datetime) -> """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), json=jsonable_encoder({"status": status, "end_time": end_time}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -420,7 +445,10 @@ def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -466,7 +494,10 @@ def create_feedback( _request["meta"] = meta _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -496,7 +527,8 @@ def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -545,7 +577,8 @@ def update_feedback( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -594,7 +627,9 @@ async def dashboard( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + ), params=remove_none_from_dict( { "startTime": start_time, @@ -671,7 +706,9 @@ async def create_trace( _request["start_time"] = start_time _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/traces" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -720,7 +757,9 @@ async def get_spans_of_generation( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), params=remove_none_from_dict( { "app_id": app_id, @@ -808,7 +847,11 @@ async def create_span( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.create_span(event_name="event_name", status=SpanStatus(), trace_id="trace_id") """ - _request: typing.Dict[str, typing.Any] = {"event_name": event_name, "status": status, "trace_id": trace_id} + _request: typing.Dict[str, typing.Any] = { + "event_name": event_name, + "status": status, + "trace_id": trace_id, + } if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id if meta is not OMIT: @@ -839,7 +882,9 @@ async def create_span( _request["tags"] = tags _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -854,7 +899,9 @@ async def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + async def get_span_of_generation( + self, span_id: str, *, type: typing.Optional[str] = None + ) -> SpanDetail: """ Parameters: - span_id: str. @@ -868,7 +915,10 @@ async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[st """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/spans/{span_id}", + ), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -895,7 +945,10 @@ async def delete_span_of_trace(self, span_id: str) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/spans/{span_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -909,7 +962,9 @@ async def delete_span_of_trace(self, span_id: str) -> bool: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_trace(self, trace_id: str, *, status: str, end_time: dt.datetime) -> bool: + async def update_trace( + self, trace_id: str, *, status: str, end_time: dt.datetime + ) -> bool: """ Parameters: - trace_id: str. @@ -929,7 +984,10 @@ async def update_trace(self, trace_id: str, *, status: str, end_time: dt.datetim """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), json=jsonable_encoder({"status": status, "end_time": end_time}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -956,7 +1014,10 @@ async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1002,7 +1063,10 @@ async def create_feedback( _request["meta"] = meta _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1032,7 +1096,8 @@ async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1081,7 +1146,8 @@ async def update_feedback( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/testsets/client.py b/agenta-cli/agenta/client/backend/resources/testsets/client.py index 29918d8a8f..948dbb0478 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/client.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/client.py @@ -52,8 +52,16 @@ def upload_file( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), - data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/upload" + ), + data=jsonable_encoder( + { + "upload_type": upload_type, + "testset_name": testset_name, + "app_id": app_id, + } + ), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -87,7 +95,9 @@ def import_testset(self) -> TestSetSimpleResponse: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -101,7 +111,9 @@ def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: + def create_testset( + self, app_id: str, *, request: NewTestset + ) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -126,7 +138,9 @@ def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleRe """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -161,7 +175,9 @@ def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -199,7 +215,9 @@ def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -316,8 +334,16 @@ async def upload_file( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), - data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/upload" + ), + data=jsonable_encoder( + { + "upload_type": upload_type, + "testset_name": testset_name, + "app_id": app_id, + } + ), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -351,7 +377,9 @@ async def import_testset(self) -> TestSetSimpleResponse: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -365,7 +393,9 @@ async def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: + async def create_testset( + self, app_id: str, *, request: NewTestset + ) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -390,7 +420,9 @@ async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSi """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -425,7 +457,9 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -439,7 +473,9 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: + async def update_testset( + self, testset_id: str, *, request: NewTestset + ) -> typing.Any: """ Update a testset with given id, update the testset in MongoDB. @@ -463,7 +499,9 @@ async def update_testset(self, testset_id: str, *, request: NewTestset) -> typin """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -515,7 +553,9 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: + async def delete_testsets( + self, *, testset_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific testsets based on their unique IDs. diff --git a/agenta-cli/agenta/client/backend/resources/variants/client.py b/agenta-cli/agenta/client/backend/resources/variants/client.py index 8dd04082ad..6e928c3add 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/client.py +++ b/agenta-cli/agenta/client/backend/resources/variants/client.py @@ -14,7 +14,9 @@ from ...types.image import Image from ...types.uri import Uri from ...types.variant_action import VariantAction -from .types.add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse +from .types.add_variant_from_base_and_config_response import ( + AddVariantFromBaseAndConfigResponse, +) try: import pydantic.v1 as pydantic # type: ignore @@ -30,7 +32,12 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def add_variant_from_base_and_config( - self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] + self, + *, + base_id: str, + new_variant_name: str, + new_config_name: str, + parameters: typing.Dict[str, typing.Any], ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -57,7 +64,9 @@ def add_variant_from_base_and_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "variants/from-base" + ), json=jsonable_encoder( { "base_id": base_id, @@ -91,7 +100,9 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -106,7 +117,11 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) def start_variant( - self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT + self, + variant_id: str, + *, + action: VariantAction, + env_vars: typing.Optional[DockerEnvVars] = OMIT, ) -> Uri: """ Start a variant of an app. @@ -141,7 +156,9 @@ def start_variant( _request["env_vars"] = env_vars _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -177,7 +194,9 @@ def remove_variant(self, variant_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -191,7 +210,9 @@ def remove_variant(self, variant_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[str, typing.Any]) -> typing.Any: + def update_variant_parameters( + self, variant_id: str, *, parameters: typing.Dict[str, typing.Any] + ) -> typing.Any: """ Updates the parameters for an app variant. @@ -218,7 +239,10 @@ def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[ """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/parameters", + ), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -260,7 +284,10 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/image", + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -281,7 +308,12 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def add_variant_from_base_and_config( - self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] + self, + *, + base_id: str, + new_variant_name: str, + new_config_name: str, + parameters: typing.Dict[str, typing.Any], ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -308,7 +340,9 @@ async def add_variant_from_base_and_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "variants/from-base" + ), json=jsonable_encoder( { "base_id": base_id, @@ -342,7 +376,9 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -357,7 +393,11 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) async def start_variant( - self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT + self, + variant_id: str, + *, + action: VariantAction, + env_vars: typing.Optional[DockerEnvVars] = OMIT, ) -> Uri: """ Start a variant of an app. @@ -392,7 +432,9 @@ async def start_variant( _request["env_vars"] = env_vars _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -428,7 +470,9 @@ async def remove_variant(self, variant_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -471,7 +515,10 @@ async def update_variant_parameters( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/parameters", + ), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -486,7 +533,9 @@ async def update_variant_parameters( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any: + async def update_variant_image( + self, variant_id: str, *, request: Image + ) -> typing.Any: """ Updates the image used in an app variant. @@ -513,7 +562,10 @@ async def update_variant_image(self, variant_id: str, *, request: Image) -> typi """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/image", + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py index b3bfbb0781..fac6b42753 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py @@ -1,5 +1,7 @@ # This file was auto-generated by Fern from our API Definition. -from .add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse +from .add_variant_from_base_and_config_response import ( + AddVariantFromBaseAndConfigResponse, +) __all__ = ["AddVariantFromBaseAndConfigResponse"] diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result.py b/agenta-cli/agenta/client/backend/types/aggregated_result.py index cdfc47d3eb..378e25bd96 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result.py @@ -18,11 +18,19 @@ class AggregatedResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py index 567c18f49d..0af9c60a8e 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py @@ -4,4 +4,6 @@ from .evaluator_config import EvaluatorConfig -AggregatedResultEvaluatorConfig = typing.Union[EvaluatorConfig, typing.Dict[str, typing.Any]] +AggregatedResultEvaluatorConfig = typing.Union[ + EvaluatorConfig, typing.Dict[str, typing.Any] +] diff --git a/agenta-cli/agenta/client/backend/types/app.py b/agenta-cli/agenta/client/backend/types/app.py index be4e77b499..7611dc75e9 100644 --- a/agenta-cli/agenta/client/backend/types/app.py +++ b/agenta-cli/agenta/client/backend/types/app.py @@ -16,11 +16,19 @@ class App(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py index 667bd4c295..7afa9ba62c 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py @@ -30,11 +30,19 @@ class AppVariantOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_response.py b/agenta-cli/agenta/client/backend/types/app_variant_response.py index 83a720f832..89f974a2b8 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_response.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_response.py @@ -27,11 +27,19 @@ class AppVariantResponse(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_revision.py b/agenta-cli/agenta/client/backend/types/app_variant_revision.py index 38434297c3..39976d7a25 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_revision.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_revision.py @@ -19,11 +19,19 @@ class AppVariantRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/base_output.py b/agenta-cli/agenta/client/backend/types/base_output.py index 2a0a9b41bd..43a0e31eae 100644 --- a/agenta-cli/agenta/client/backend/types/base_output.py +++ b/agenta-cli/agenta/client/backend/types/base_output.py @@ -16,11 +16,19 @@ class BaseOutput(pydantic.BaseModel): base_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/body_import_testset.py b/agenta-cli/agenta/client/backend/types/body_import_testset.py index 1cfab34428..f06788d80d 100644 --- a/agenta-cli/agenta/client/backend/types/body_import_testset.py +++ b/agenta-cli/agenta/client/backend/types/body_import_testset.py @@ -17,11 +17,19 @@ class BodyImportTestset(pydantic.BaseModel): app_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/config_db.py b/agenta-cli/agenta/client/backend/types/config_db.py index 7414370572..7e7b9004fd 100644 --- a/agenta-cli/agenta/client/backend/types/config_db.py +++ b/agenta-cli/agenta/client/backend/types/config_db.py @@ -16,11 +16,19 @@ class ConfigDb(pydantic.BaseModel): parameters: typing.Optional[typing.Dict[str, typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/create_app_output.py b/agenta-cli/agenta/client/backend/types/create_app_output.py index adcf9fdfee..a736531605 100644 --- a/agenta-cli/agenta/client/backend/types/create_app_output.py +++ b/agenta-cli/agenta/client/backend/types/create_app_output.py @@ -16,11 +16,19 @@ class CreateAppOutput(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/docker_env_vars.py b/agenta-cli/agenta/client/backend/types/docker_env_vars.py index 9a0630554a..ea0c144502 100644 --- a/agenta-cli/agenta/client/backend/types/docker_env_vars.py +++ b/agenta-cli/agenta/client/backend/types/docker_env_vars.py @@ -15,11 +15,19 @@ class DockerEnvVars(pydantic.BaseModel): env_vars: typing.Dict[str, str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output.py b/agenta-cli/agenta/client/backend/types/environment_output.py index feb80a72f5..6268b56c14 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output.py +++ b/agenta-cli/agenta/client/backend/types/environment_output.py @@ -22,11 +22,19 @@ class EnvironmentOutput(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output_extended.py b/agenta-cli/agenta/client/backend/types/environment_output_extended.py index 41baf24d13..75eea02d69 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/environment_output_extended.py @@ -24,11 +24,19 @@ class EnvironmentOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_revision.py b/agenta-cli/agenta/client/backend/types/environment_revision.py index cf8aa77edd..c98bf70e74 100644 --- a/agenta-cli/agenta/client/backend/types/environment_revision.py +++ b/agenta-cli/agenta/client/backend/types/environment_revision.py @@ -20,11 +20,19 @@ class EnvironmentRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/error.py b/agenta-cli/agenta/client/backend/types/error.py index 174cc34048..ff81c2a8cd 100644 --- a/agenta-cli/agenta/client/backend/types/error.py +++ b/agenta-cli/agenta/client/backend/types/error.py @@ -16,11 +16,19 @@ class Error(pydantic.BaseModel): stacktrace: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation.py b/agenta-cli/agenta/client/backend/types/evaluation.py index 64a657815d..38c75068d4 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation.py +++ b/agenta-cli/agenta/client/backend/types/evaluation.py @@ -30,11 +30,19 @@ class Evaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py index b221afc09c..36229c357d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py @@ -26,11 +26,19 @@ class EvaluationScenario(pydantic.BaseModel): results: typing.List[EvaluationScenarioResult] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py index 826ae00434..700f6372e4 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py @@ -17,11 +17,19 @@ class EvaluationScenarioInput(pydantic.BaseModel): value: typing.Optional[typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py index 582e1ae617..7a2cb171c9 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py @@ -16,11 +16,19 @@ class EvaluationScenarioOutput(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py index 62f4d0015a..57fbd6e082 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py @@ -17,11 +17,19 @@ class EvaluationScenarioResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py index 4a8fcbcb6a..68ed0da745 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py @@ -15,11 +15,19 @@ class EvaluationScenarioScoreUpdate(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_type.py b/agenta-cli/agenta/client/backend/types/evaluation_type.py index 45c37b9c82..4d2b91066d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_type.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_type.py @@ -15,7 +15,9 @@ class EvaluationType(str, enum.Enum): SINGLE_MODEL_TEST = "single_model_test" def visit( - self, human_a_b_testing: typing.Callable[[], T_Result], single_model_test: typing.Callable[[], T_Result] + self, + human_a_b_testing: typing.Callable[[], T_Result], + single_model_test: typing.Callable[[], T_Result], ) -> T_Result: if self is EvaluationType.HUMAN_A_B_TESTING: return human_a_b_testing() diff --git a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py index 7eb6db6bc6..c8d71dc626 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py @@ -15,11 +15,19 @@ class EvaluationWebhook(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator.py b/agenta-cli/agenta/client/backend/types/evaluator.py index f0b44dcc0c..70bea7aa58 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator.py +++ b/agenta-cli/agenta/client/backend/types/evaluator.py @@ -18,11 +18,19 @@ class Evaluator(pydantic.BaseModel): settings_template: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator_config.py b/agenta-cli/agenta/client/backend/types/evaluator_config.py index 54fed00c6a..7ca248d882 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/evaluator_config.py @@ -20,11 +20,19 @@ class EvaluatorConfig(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/feedback.py b/agenta-cli/agenta/client/backend/types/feedback.py index c771eb1e39..e4fa0db6e1 100644 --- a/agenta-cli/agenta/client/backend/types/feedback.py +++ b/agenta-cli/agenta/client/backend/types/feedback.py @@ -19,11 +19,19 @@ class Feedback(pydantic.BaseModel): created_at: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/get_config_response.py b/agenta-cli/agenta/client/backend/types/get_config_response.py index 448a75128e..d3b8e334ce 100644 --- a/agenta-cli/agenta/client/backend/types/get_config_response.py +++ b/agenta-cli/agenta/client/backend/types/get_config_response.py @@ -18,11 +18,19 @@ class GetConfigResponse(pydantic.BaseModel): parameters: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/http_validation_error.py b/agenta-cli/agenta/client/backend/types/http_validation_error.py index e5f647b24d..02fc88d818 100644 --- a/agenta-cli/agenta/client/backend/types/http_validation_error.py +++ b/agenta-cli/agenta/client/backend/types/http_validation_error.py @@ -16,11 +16,19 @@ class HttpValidationError(pydantic.BaseModel): detail: typing.Optional[typing.List[ValidationError]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation.py b/agenta-cli/agenta/client/backend/types/human_evaluation.py index 49bfb5da85..299120edc6 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation.py @@ -28,11 +28,19 @@ class HumanEvaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py index a837a1ff4c..5f1f36b824 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py @@ -27,11 +27,19 @@ class HumanEvaluationScenario(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py index bf35c307cb..d65233935e 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py @@ -16,11 +16,19 @@ class HumanEvaluationScenarioInput(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py index e239ca6cd2..752606176b 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py @@ -16,11 +16,19 @@ class HumanEvaluationScenarioOutput(pydantic.BaseModel): variant_output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py index cb035d6c6b..3d099aea1d 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py @@ -24,11 +24,19 @@ class HumanEvaluationScenarioUpdate(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py index 71c6cac057..360f8cc449 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py @@ -16,11 +16,19 @@ class HumanEvaluationUpdate(pydantic.BaseModel): status: typing.Optional[EvaluationStatusEnum] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/image.py b/agenta-cli/agenta/client/backend/types/image.py index 03c2193087..52bd510c66 100644 --- a/agenta-cli/agenta/client/backend/types/image.py +++ b/agenta-cli/agenta/client/backend/types/image.py @@ -19,11 +19,19 @@ class Image(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/invite_request.py b/agenta-cli/agenta/client/backend/types/invite_request.py index 5a454982de..2a9c8f0bac 100644 --- a/agenta-cli/agenta/client/backend/types/invite_request.py +++ b/agenta-cli/agenta/client/backend/types/invite_request.py @@ -16,11 +16,19 @@ class InviteRequest(pydantic.BaseModel): roles: typing.List[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py index 0aa72d80ee..dd393d6268 100644 --- a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py +++ b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py @@ -18,11 +18,19 @@ class ListApiKeysResponse(pydantic.BaseModel): expiration_date: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_content.py b/agenta-cli/agenta/client/backend/types/llm_content.py index c6ab83f6d0..f85285ada3 100644 --- a/agenta-cli/agenta/client/backend/types/llm_content.py +++ b/agenta-cli/agenta/client/backend/types/llm_content.py @@ -17,11 +17,19 @@ class LlmContent(pydantic.BaseModel): output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_inputs.py b/agenta-cli/agenta/client/backend/types/llm_inputs.py index 97f828f45c..a0d2a1bf35 100644 --- a/agenta-cli/agenta/client/backend/types/llm_inputs.py +++ b/agenta-cli/agenta/client/backend/types/llm_inputs.py @@ -16,11 +16,19 @@ class LlmInputs(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_model_params.py b/agenta-cli/agenta/client/backend/types/llm_model_params.py index 417b05cc6d..3e53cf681c 100644 --- a/agenta-cli/agenta/client/backend/types/llm_model_params.py +++ b/agenta-cli/agenta/client/backend/types/llm_model_params.py @@ -16,11 +16,19 @@ class LlmModelParams(pydantic.BaseModel): params: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py index b7ea18a69d..24214f4c59 100644 --- a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py +++ b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py @@ -18,11 +18,19 @@ class LlmRunRateLimit(pydantic.BaseModel): delay_between_batches: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py index c201ac2f27..30067d0ae7 100644 --- a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py @@ -21,11 +21,19 @@ class NewHumanEvaluation(pydantic.BaseModel): status: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_testset.py b/agenta-cli/agenta/client/backend/types/new_testset.py index 20b5ec77ad..7f931de42e 100644 --- a/agenta-cli/agenta/client/backend/types/new_testset.py +++ b/agenta-cli/agenta/client/backend/types/new_testset.py @@ -16,11 +16,19 @@ class NewTestset(pydantic.BaseModel): csvdata: typing.List[typing.Dict[str, str]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py index f41c6cbc83..d85f148aae 100644 --- a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py +++ b/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py @@ -23,11 +23,19 @@ class ObservabilityDashboardData(pydantic.BaseModel): avg_tokens: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_data.py b/agenta-cli/agenta/client/backend/types/observability_data.py index 4c6cbc48c0..e55c62e139 100644 --- a/agenta-cli/agenta/client/backend/types/observability_data.py +++ b/agenta-cli/agenta/client/backend/types/observability_data.py @@ -24,11 +24,19 @@ class ObservabilityData(pydantic.BaseModel): variant: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization.py b/agenta-cli/agenta/client/backend/types/organization.py index 4a6b6dd1f8..83c81d68d4 100644 --- a/agenta-cli/agenta/client/backend/types/organization.py +++ b/agenta-cli/agenta/client/backend/types/organization.py @@ -22,11 +22,19 @@ class Organization(pydantic.BaseModel): is_paying: typing.Optional[bool] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization_output.py b/agenta-cli/agenta/client/backend/types/organization_output.py index d3269aeb52..93b88e4cf4 100644 --- a/agenta-cli/agenta/client/backend/types/organization_output.py +++ b/agenta-cli/agenta/client/backend/types/organization_output.py @@ -16,11 +16,19 @@ class OrganizationOutput(pydantic.BaseModel): name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/result.py b/agenta-cli/agenta/client/backend/types/result.py index c807398f53..77e4c84d0a 100644 --- a/agenta-cli/agenta/client/backend/types/result.py +++ b/agenta-cli/agenta/client/backend/types/result.py @@ -18,11 +18,19 @@ class Result(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py index 3bba878f7b..ed86be2b2e 100644 --- a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py +++ b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py @@ -20,11 +20,19 @@ class SimpleEvaluationOutput(pydantic.BaseModel): evaluation_type: EvaluationType def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_detail.py b/agenta-cli/agenta/client/backend/types/span_detail.py index 68a659300b..ab4516173d 100644 --- a/agenta-cli/agenta/client/backend/types/span_detail.py +++ b/agenta-cli/agenta/client/backend/types/span_detail.py @@ -28,11 +28,19 @@ class SpanDetail(pydantic.BaseModel): model_params: LlmModelParams def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_status.py b/agenta-cli/agenta/client/backend/types/span_status.py index 5bcda585c1..722e7430af 100644 --- a/agenta-cli/agenta/client/backend/types/span_status.py +++ b/agenta-cli/agenta/client/backend/types/span_status.py @@ -18,11 +18,19 @@ class SpanStatus(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_variant.py b/agenta-cli/agenta/client/backend/types/span_variant.py index a67067789d..03903fb8d5 100644 --- a/agenta-cli/agenta/client/backend/types/span_variant.py +++ b/agenta-cli/agenta/client/backend/types/span_variant.py @@ -17,11 +17,19 @@ class SpanVariant(pydantic.BaseModel): revision: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template.py b/agenta-cli/agenta/client/backend/types/template.py index c43fc4beac..b509e795d4 100644 --- a/agenta-cli/agenta/client/backend/types/template.py +++ b/agenta-cli/agenta/client/backend/types/template.py @@ -17,11 +17,19 @@ class Template(pydantic.BaseModel): image: TemplateImageInfo def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template_image_info.py b/agenta-cli/agenta/client/backend/types/template_image_info.py index 5131e053d7..b0c01e7504 100644 --- a/agenta-cli/agenta/client/backend/types/template_image_info.py +++ b/agenta-cli/agenta/client/backend/types/template_image_info.py @@ -22,11 +22,19 @@ class TemplateImageInfo(pydantic.BaseModel): template_uri: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_output_response.py b/agenta-cli/agenta/client/backend/types/test_set_output_response.py index ac4a47255d..715ebcdcd5 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_output_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_output_response.py @@ -17,11 +17,19 @@ class TestSetOutputResponse(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py index c30fc1de89..b6ac04a871 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py @@ -17,11 +17,19 @@ class TestSetSimpleResponse(pydantic.BaseModel): created_at: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/uri.py b/agenta-cli/agenta/client/backend/types/uri.py index a04cc35249..608f89ef6f 100644 --- a/agenta-cli/agenta/client/backend/types/uri.py +++ b/agenta-cli/agenta/client/backend/types/uri.py @@ -15,11 +15,19 @@ class Uri(pydantic.BaseModel): uri: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/validation_error.py b/agenta-cli/agenta/client/backend/types/validation_error.py index 67b5ba78e3..ffd8cc872f 100644 --- a/agenta-cli/agenta/client/backend/types/validation_error.py +++ b/agenta-cli/agenta/client/backend/types/validation_error.py @@ -18,11 +18,19 @@ class ValidationError(pydantic.BaseModel): type: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action.py b/agenta-cli/agenta/client/backend/types/variant_action.py index 1fe22412aa..a614ac00f5 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action.py +++ b/agenta-cli/agenta/client/backend/types/variant_action.py @@ -16,11 +16,19 @@ class VariantAction(pydantic.BaseModel): action: VariantActionEnum def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action_enum.py b/agenta-cli/agenta/client/backend/types/variant_action_enum.py index 5aa6f1c7e7..6f5f8c19c5 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action_enum.py +++ b/agenta-cli/agenta/client/backend/types/variant_action_enum.py @@ -14,7 +14,9 @@ class VariantActionEnum(str, enum.Enum): START = "START" STOP = "STOP" - def visit(self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result]) -> T_Result: + def visit( + self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result] + ) -> T_Result: if self is VariantActionEnum.START: return start() if self is VariantActionEnum.STOP: diff --git a/agenta-cli/agenta/client/backend/types/with_pagination.py b/agenta-cli/agenta/client/backend/types/with_pagination.py index 2b7a1588ac..ae2a4dfa06 100644 --- a/agenta-cli/agenta/client/backend/types/with_pagination.py +++ b/agenta-cli/agenta/client/backend/types/with_pagination.py @@ -18,11 +18,19 @@ class WithPagination(pydantic.BaseModel): page_size: int = pydantic.Field(alias="pageSize") def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_member_response.py b/agenta-cli/agenta/client/backend/types/workspace_member_response.py index ef3c928c8e..ec907e24d8 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_member_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_member_response.py @@ -17,11 +17,19 @@ class WorkspaceMemberResponse(pydantic.BaseModel): roles: typing.List[WorkspacePermission] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_permission.py b/agenta-cli/agenta/client/backend/types/workspace_permission.py index ed74790008..0d847e611e 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_permission.py +++ b/agenta-cli/agenta/client/backend/types/workspace_permission.py @@ -19,11 +19,19 @@ class WorkspacePermission(pydantic.BaseModel): permissions: typing.Optional[typing.List[Permission]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_response.py b/agenta-cli/agenta/client/backend/types/workspace_response.py index 55ee8f5f51..f0e0bbf5ee 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_response.py @@ -23,11 +23,19 @@ class WorkspaceResponse(pydantic.BaseModel): members: typing.Optional[typing.List[WorkspaceMemberResponse]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_role_response.py b/agenta-cli/agenta/client/backend/types/workspace_role_response.py index 4313b624b1..97531c3143 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_role_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_role_response.py @@ -17,11 +17,19 @@ class WorkspaceRoleResponse(pydantic.BaseModel): role_description: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: From cf1ed6bb349b1c6f8099b5e9c4d29bf633772707 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 29 Feb 2024 08:52:41 +0100 Subject: [PATCH 105/539] Update - add logic to store active app configuration --- agenta-cli/agenta/sdk/agenta_init.py | 34 ++++++++++++++++++---------- 1 file changed, 22 insertions(+), 12 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index 5af6e7d866..bf221a9870 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -29,8 +29,7 @@ class AgentaSingleton: """Singleton class to save all the "global variables" for the sdk.""" _instance = None - setup = None - config = None + _config_data = None def __new__(cls): if not cls._instance: @@ -84,12 +83,14 @@ def init( raise APIRequestError( f"Failed to get base id and/or app_id from the server with error: {ex}" ) - self.base_id = base_id - self.host = host - self.app_name = app_name - self.base_name = base_name - self.api_key = api_key - self.config = Config(base_id=base_id, host=host) + self._config_data = { + "base_id": base_id, + "host": host, + "app_name": app_name, + "base_name": base_name, + "api_key": api_key, + "config": Config(base_id=base_id, host=host) + } def get_app(self, app_name: str) -> str: apps = client.apps.list_apps(app_name=app_name) @@ -107,6 +108,15 @@ def get_app_base(self, app_id: str, base_name: str) -> str: base_id = bases[0].base_id return base_id + def get_current_config(self): + """ + Retrieves the current active configuration + """ + + if self._config_data is None: + raise RuntimeError("AgentaSingleton has not been initialized") + return self._config_data + class Config: def __init__(self, base_id, host): @@ -224,8 +234,8 @@ async def trace(**kwargs): """Function to start llm tracing.""" singleton = AgentaSingleton() - - app_id = singleton.get_app(singleton.app_name) - base_id = singleton.get_app_base(app_id, singleton.base_name) # type: ignore - llm_tracing = LLMTracing(singleton.host, singleton.api_key) + config_data = singleton.get_current_config() + app_id = config_data["app_id"] + base_id = config_data["base_id"] # type: ignore + llm_tracing = LLMTracing(config_data["host"], config_data["api_key"]) await llm_tracing.start_tracing(app_id, base_id, "default", **kwargs) From 7df0fa0139fd4c3eeb69ea0720963f8b1964b224 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 29 Feb 2024 16:07:53 +0100 Subject: [PATCH 106/539] Refactor - modified agenta_init to retrieve app config from singleton --- agenta-cli/agenta/sdk/agenta_init.py | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index bf221a9870..9969f321bb 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -29,6 +29,7 @@ class AgentaSingleton: """Singleton class to save all the "global variables" for the sdk.""" _instance = None + setup = None _config_data = None def __new__(cls): @@ -42,6 +43,7 @@ def init( base_name: Optional[str] = None, api_key: Optional[str] = None, base_id: Optional[str] = None, + app_id: Optional[str] = None, host: Optional[str] = None, **kwargs: Any, ) -> None: @@ -83,13 +85,15 @@ def init( raise APIRequestError( f"Failed to get base id and/or app_id from the server with error: {ex}" ) + self._config_data = { "base_id": base_id, "host": host, + "app_id": os.environ.get("AGENTA_APP_ID") if not app_id else app_id, "app_name": app_name, "base_name": base_name, "api_key": api_key, - "config": Config(base_id=base_id, host=host) + "config": Config(base_id=base_id, host=host), } def get_app(self, app_name: str) -> str: @@ -227,7 +231,8 @@ def init(app_name=None, base_name=None, **kwargs): """ singleton = AgentaSingleton() singleton.init(app_name=app_name, base_name=base_name, **kwargs) - set_global(setup=singleton.setup, config=singleton.config) + config = singleton.get_current_config()["config"] + set_global(setup=singleton.setup, config=config) async def trace(**kwargs): @@ -235,7 +240,7 @@ async def trace(**kwargs): singleton = AgentaSingleton() config_data = singleton.get_current_config() - app_id = config_data["app_id"] - base_id = config_data["base_id"] # type: ignore llm_tracing = LLMTracing(config_data["host"], config_data["api_key"]) - await llm_tracing.start_tracing(app_id, base_id, "default", **kwargs) + await llm_tracing.start_tracing( + config_data["app_id"], config_data["base_id"], "default", **kwargs + ) From 6dc1443d4395d310665706e0d36b0b37fe11f37b Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 29 Feb 2024 16:08:41 +0100 Subject: [PATCH 107/539] Update - added app_id to env vars when building llm app image --- agenta-backend/agenta_backend/services/app_manager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/services/app_manager.py b/agenta-backend/agenta_backend/services/app_manager.py index 04c7d747bb..48ccaed5d9 100644 --- a/agenta-backend/agenta_backend/services/app_manager.py +++ b/agenta-backend/agenta_backend/services/app_manager.py @@ -90,7 +90,11 @@ async def start_variant( # domain_name = "http://localhost" env_vars = {} if env_vars is None else env_vars env_vars.update( - {"AGENTA_BASE_ID": str(db_app_variant.base.id), "AGENTA_HOST": domain_name} + { + "AGENTA_BASE_ID": str(db_app_variant.base.id), + "AGENTA_APP_ID": str(db_app_variant.app.id), + "AGENTA_HOST": domain_name, + } ) if isCloudEE(): api_key = await api_key_service.create_api_key( From 721e94e213213b8e77f110d7b86f60e1bfd32611 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Thu, 29 Feb 2024 21:08:20 +0500 Subject: [PATCH 108/539] servertable improved --- .../src/components/ServerTable/components.tsx | 29 +++++++++++++++++-- agenta-web/src/components/Sidebar/config.tsx | 11 +++++-- agenta-web/src/lib/Types.ts | 2 +- agenta-web/src/lib/helpers/utils.ts | 15 ++++++++++ 4 files changed, 51 insertions(+), 6 deletions(-) diff --git a/agenta-web/src/components/ServerTable/components.tsx b/agenta-web/src/components/ServerTable/components.tsx index 8c7bc834b2..de3d5bd30d 100644 --- a/agenta-web/src/components/ServerTable/components.tsx +++ b/agenta-web/src/components/ServerTable/components.tsx @@ -1,12 +1,13 @@ import {GenericObject, JSSTheme, PaginationQuery} from "@/lib/Types" -import {Button, Dropdown, Input} from "antd" +import {Button, Dropdown, Input, Space} from "antd" import {ColumnsType} from "antd/es/table" import {FilterDropdownProps} from "antd/es/table/interface" import dayjs from "dayjs" -import React, {useMemo} from "react" +import React, {ReactNode, useMemo} from "react" import {createUseStyles} from "react-jss" import {Resizable} from "react-resizable" import EnforceAntdStyles from "../EnforceAntdStyles/EnforceAntdStyles" +import {CheckOutlined} from "@ant-design/icons" const useStyles = createUseStyles((theme: JSSTheme) => ({ filterRoot: { @@ -24,6 +25,21 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ cursor: "col-resize", zIndex: 1, }, + dropdownMenu: { + "&>.ant-dropdown-menu-item": { + "& .anticon-check": { + display: "none", + }, + }, + "&>.ant-dropdown-menu-item-selected": { + "&:not(:hover)": { + backgroundColor: "transparent !important", + }, + "& .anticon-check": { + display: "inline-flex !important", + }, + }, + }, })) export type TableParams = { @@ -83,6 +99,7 @@ interface ColsDropdownProps { } export const ColsDropdown = ({columns, hiddenCols, setHiddenCols}: ColsDropdownProps) => { + const classes = useStyles() const shownCols = useMemo( () => columns @@ -106,9 +123,15 @@ export const ColsDropdown = ({columns, hiddenCols, setHiddenCols}: ColsDropd selectedKeys: shownCols, items: columns.map((item) => ({ key: item.key?.toString()!, - label: item.title, + label: ( + + + <>{item.title as ReactNode} + + ), })) as any, onClick: ({key}) => onColToggle(key), + className: classes.dropdownMenu, }} >
- + return ( +
+
+ + +
- - - ), - }, - ] +
+ Single Model Test Results +
- return ( - +
+ ) } diff --git a/agenta-web/src/components/Evaluations/HumanEvaluationResult.tsx b/agenta-web/src/components/Evaluations/HumanEvaluationResult.tsx index 1b7977a621..21b4293baa 100644 --- a/agenta-web/src/components/Evaluations/HumanEvaluationResult.tsx +++ b/agenta-web/src/components/Evaluations/HumanEvaluationResult.tsx @@ -1,7 +1,7 @@ import {deleteEvaluations, fetchData} from "@/lib/services/api" -import {Button, Collapse, Statistic, Table, Typography} from "antd" +import {Button, Statistic, Table, Typography} from "antd" import {useRouter} from "next/router" -import {useContext, useEffect, useState} from "react" +import {useEffect, useState} from "react" import {ColumnsType} from "antd/es/table" import {EvaluationResponseType} from "@/lib/Types" import {DeleteOutlined} from "@ant-design/icons" @@ -11,7 +11,6 @@ import {formatDate} from "@/lib/helpers/dateTimeHelper" import {useAppTheme} from "../Layout/ThemeContextProvider" import {getVotesPercentage} from "@/lib/helpers/evaluate" import {getAgentaApiUrl, isDemo} from "@/lib/helpers/utils" -import Link from "next/link" interface VariantVotesData { number_of_votes: number @@ -53,9 +52,6 @@ type StyleProps = { const useStyles = createUseStyles({ container: { marginBottom: 20, - "& svg": { - color: "red", - }, }, collapse: ({themeMode}: StyleProps) => ({ margin: "10px 0", @@ -97,11 +93,25 @@ const useStyles = createUseStyles({ color: "#3f8600", }, }, + btnContainer: { + display: "flex", + alignItems: "center", + justifyContent: "flex-end", + margin: "20px 0", + gap: 10, + "& svg": { + color: "red", + }, + }, }) const {Title} = Typography -export default function HumanEvaluationResult() { +interface HumanEvaluationResultProps { + setIsEvalModalOpen: React.Dispatch> +} + +export default function HumanEvaluationResult({setIsEvalModalOpen}: HumanEvaluationResultProps) { const router = useRouter() const [evaluationsList, setEvaluationsList] = useState([]) const [selectedRowKeys, setSelectedRowKeys] = useState([]) @@ -333,46 +343,35 @@ export default function HumanEvaluationResult() { } catch {} } - const items = [ - { - key: "1", - label: ( -
- A/B Test Results -
- ), - children: ( -
-
- -
+ return ( +
+
+ + +
-
- - ), - }, - ] +
+ A/B Test Results +
- return ( - +
+ ) } diff --git a/agenta-web/src/components/Evaluations/Evaluations.tsx b/agenta-web/src/components/HumanEvaluationModal/HumanEvaluationModal.tsx similarity index 56% rename from agenta-web/src/components/Evaluations/Evaluations.tsx rename to agenta-web/src/components/HumanEvaluationModal/HumanEvaluationModal.tsx index 29230f21ec..30f9ed3c7d 100644 --- a/agenta-web/src/components/Evaluations/Evaluations.tsx +++ b/agenta-web/src/components/HumanEvaluationModal/HumanEvaluationModal.tsx @@ -1,36 +1,18 @@ -import {useState, useEffect} from "react" -import { - Button, - Col, - Dropdown, - MenuProps, - Radio, - RadioChangeEvent, - Row, - Typography, - message, - ModalProps, -} from "antd" -import {DownOutlined} from "@ant-design/icons" +import React, {useEffect, useState} from "react" +import {GenericObject, JSSTheme, Parameter, Variant} from "@/lib/Types" import {createNewEvaluation, fetchVariants, useLoadTestsetsList} from "@/lib/services/api" -import {getAllProviderLlmKeys, getApikeys, isDemo} from "@/lib/helpers/utils" -import {useRouter} from "next/router" -import {Variant, Parameter, GenericObject, JSSTheme} from "@/lib/Types" +import {Button, Col, Dropdown, MenuProps, Modal, ModalProps, Row, Spin, message} from "antd" +import {getErrorMessage} from "@/lib/helpers/errorHandler" +import {isDemo} from "@/lib/helpers/utils" +import {DownOutlined} from "@ant-design/icons" import {EvaluationType} from "@/lib/enums" -import {EvaluationTypeLabels} from "@/lib/helpers/utils" -import EvaluationErrorModal from "./EvaluationErrorModal" +import {PERMISSION_ERR_MSG} from "@/lib/helpers/axiosConfig" import {getAllVariantParameters} from "@/lib/helpers/variantHelper" - -import Image from "next/image" -import abTesting from "@/media/testing.png" -import singleModel from "@/media/score.png" +import {dynamicComponent} from "@/lib/helpers/dynamic" +import {useRouter} from "next/router" import {useAppTheme} from "../Layout/ThemeContextProvider" import {createUseStyles} from "react-jss" -import HumanEvaluationResult from "./HumanEvaluationResult" -import {getErrorMessage} from "@/lib/helpers/errorHandler" -import AutomaticEvaluationResult from "./AutomaticEvaluationResult" -import {dynamicComponent} from "@/lib/helpers/dynamic" -import {PERMISSION_ERR_MSG} from "@/lib/helpers/axiosConfig" +import EvaluationErrorModal from "../Evaluations/EvaluationErrorModal" type StyleProps = { themeMode: "dark" | "light" @@ -132,9 +114,18 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ justifyContent: "space-between", }, })) -const {Title} = Typography -export default function Evaluations() { +interface HumanEvaluationModalProps { + isEvalModalOpen: boolean + setIsEvalModalOpen: React.Dispatch> + evaluationType: "single_model_test" | "human_a_b_testing" +} + +const HumanEvaluationModal = ({ + isEvalModalOpen, + setIsEvalModalOpen, + evaluationType, +}: HumanEvaluationModalProps) => { const router = useRouter() const {appTheme} = useAppTheme() const [areAppVariantsLoading, setAppVariantsLoading] = useState(false) @@ -151,11 +142,7 @@ export default function Evaluations() { const [selectedVariants, setSelectedVariants] = useState( new Array(1).fill({variantName: "Select a variant"}), ) - const [numberOfVariants, setNumberOfVariants] = useState(1) - const [selectedEvaluationType, setSelectedEvaluationType] = useState( - "Select an evaluation type", - ) const [selectedCustomEvaluationID, setSelectedCustomEvaluationID] = useState("") const appId = router.query.app_id?.toString() || "" @@ -191,10 +178,6 @@ export default function Evaluations() { fetchData() }, [appId]) - useEffect(() => { - getAllProviderLlmKeys() - }, []) - useEffect(() => { if (variants.length > 0) { const fetchAndSetSchema = async () => { @@ -268,8 +251,8 @@ export default function Evaluations() { ({key}: {key: string}) => { const data = { variants: [ - selectedVariants[dropdownIndex].variantName, - selectedVariants[dropdownIndex].variantName, + selectedVariants[dropdownIndex]?.variantName, + selectedVariants[dropdownIndex]?.variantName, ], } @@ -317,32 +300,18 @@ export default function Evaluations() { const onStartEvaluation = async () => { // 1. We check all data is provided - if (selectedTestset === undefined || selectedTestset.name === "Select a testSet") { + if (selectedTestset === undefined || selectedTestset.name === "Select a Test set") { message.error("Please select a Testset") return } else if (selectedVariants[0].variantName === "Select a variant") { message.error("Please select a variant") return } else if ( - selectedEvaluationType === EvaluationType.human_a_b_testing && + evaluationType === EvaluationType.human_a_b_testing && selectedVariants[1]?.variantName === "Select a variant" ) { message.error("Please select a second variant") return - } else if (selectedEvaluationType === "Select an evaluation type") { - message.error("Please select an evaluation type") - return - } else if (selectedTestset?.name === "Select a Test set") { - message.error("Please select a testset") - return - } else if (!getApikeys() && selectedEvaluationType === EvaluationType.auto_ai_critique) { - setError({ - message: - "In order to run an AI Critique evaluation, please set your OpenAI API key in the API Keys page.", - btnText: "Go to API Keys", - endpoint: "/settings/?tab=secrets", - }) - return } // 2. We create a new app evaluation @@ -350,7 +319,7 @@ export default function Evaluations() { variant_ids: selectedVariants.map((variant) => variant.variantId), appId, inputs: variantsInputs[selectedVariants[0].variantName], - evaluationType: EvaluationType[selectedEvaluationType as keyof typeof EvaluationType], + evaluationType: EvaluationType[evaluationType as keyof typeof EvaluationType], evaluationTypeSettings: {}, llmAppPromptTemplate: "", selectedCustomEvaluationID, @@ -372,149 +341,106 @@ export default function Evaluations() { // 3 We set the variants setVariants(selectedVariants) - if (selectedEvaluationType === EvaluationType.human_a_b_testing) { + if (evaluationType === EvaluationType.human_a_b_testing) { router.push(`/apps/${appId}/annotations/${evaluationTableId}/human_a_b_testing`) - } else if (selectedEvaluationType === EvaluationType.single_model_test) { + } else if (evaluationType === EvaluationType.single_model_test) { router.push(`/apps/${appId}/annotations/${evaluationTableId}/single_model_test`) } } - const onChangeEvaluationType = (e: RadioChangeEvent) => { - const evaluationType = e.target.value - setSelectedEvaluationType(evaluationType) - setSelectedCustomEvaluationID("") - let nbOfVariants = 1 - if (evaluationType === EvaluationType.human_a_b_testing) { - nbOfVariants = 2 - } - setNumberOfVariants(nbOfVariants) - - // set the selected variants array length based on numVariants - setSelectedVariants( - Array.from( - {length: nbOfVariants}, - (_, i) => selectedVariants[i] || {variantName: "Select a variant"}, - ), - ) - } - return ( -
-
- {typeof isError === "string" &&
{isError}
} - {areAppVariantsLoading &&
loading variants...
} -
-
- -
- 1. Start a new evaluation - - - 2. Which variants would you like to evaluate - - - 3. Which testset you want to use? - - - - - onChangeEvaluationType(e)} - className={classes.radioGroup} - value={selectedEvaluationType} - > - -
- - - {EvaluationTypeLabels[EvaluationType.human_a_b_testing]} - -
-
- - -
- - - {EvaluationTypeLabels[EvaluationType.single_model_test]} - -
-
-
- - - {Array.from({length: numberOfVariants}).map((_, index) => ( - + <> + { + setIsEvalModalOpen(false) + setSelectedTestset({name: "Select a Test set"}) + setSelectedVariants(new Array(1).fill({variantName: "Select a variant"})) + }} + title="Start a New Evaluation" + footer={null} + > + + {typeof isError === "string" ? ( +
{isError}
+ ) : ( +
+
+

Which testset you want to use?

+ + + +
+ +
+

Which variants would you like to evaluate

+ {Array.from({ + length: evaluationType === "human_a_b_testing" ? 2 : 1, + }).map((_, index) => ( + + + + ))} +
+ + - - ))} - -
- - - - - - - - {selectedEvaluationType === EvaluationType.human_a_b_testing && isDemo() && ( - - - + {evaluationType === EvaluationType.human_a_b_testing && + isDemo() && ( + + + + )} + + + + + )} - - - - - + + + setError({message: "", btnText: "", endpoint: ""})} @@ -522,10 +448,6 @@ export default function Evaluations() { message={error.message} btnText={error.btnText} /> -
- - -
- + ) } + +export default HumanEvaluationModal diff --git a/agenta-web/src/components/Layout/Layout.tsx b/agenta-web/src/components/Layout/Layout.tsx index 2648936185..47a6fecdb8 100644 --- a/agenta-web/src/components/Layout/Layout.tsx +++ b/agenta-web/src/components/Layout/Layout.tsx @@ -250,7 +250,7 @@ const App: React.FC = ({children}) => { }} > e.preventDefault()}> - + = ({ saveOptParams, isLoading, isChatVariant, - promptRevisions, historyStatus, setPromptOptParams, - setPromptRevisions, setHistoryStatus, } = useVariant(appId, variant) + const [retrying, setRetrying] = useState(false) const [isParamsCollapsed, setIsParamsCollapsed] = useState("1") const [containerURI, setContainerURI] = useState("") @@ -244,7 +243,8 @@ const ViewNavigation: React.FC = ({ tabID={tabID} setHistoryStatus={setHistoryStatus} setIsDrawerOpen={setIsDrawerOpen} - setPromptRevisions={setPromptRevisions} + isDrawerOpen={isDrawerOpen} + historyStatus={historyStatus} /> @@ -259,12 +259,8 @@ const ViewNavigation: React.FC = ({ isChatVariant={!!isChatVariant} compareMode={compareMode} onStateChange={onStateChange} - promptRevisions={promptRevisions} - historyStatus={historyStatus} setPromptOptParams={setPromptOptParams} promptOptParams={promptOptParams} - isDrawerOpen={isDrawerOpen} - setIsDrawerOpen={setIsDrawerOpen} /> diff --git a/agenta-web/src/components/Playground/Views/ParametersView.tsx b/agenta-web/src/components/Playground/Views/ParametersView.tsx index 1aaae7c96d..ee77c85ac2 100644 --- a/agenta-web/src/components/Playground/Views/ParametersView.tsx +++ b/agenta-web/src/components/Playground/Views/ParametersView.tsx @@ -1,4 +1,4 @@ -import {Environment, IPromptVersioning, Parameter, Variant} from "@/lib/Types" +import {Environment, IPromptRevisions, Parameter, Variant} from "@/lib/Types" import type {CollapseProps} from "antd" import {Button, Col, Collapse, Row, Space, Tooltip, message} from "antd" import React, {useContext, useEffect, useState} from "react" @@ -9,6 +9,12 @@ import {promptVersioning, removeVariant} from "@/lib/services/api" import {CloudUploadOutlined, DeleteOutlined, HistoryOutlined, SaveOutlined} from "@ant-design/icons" import {usePostHogAg} from "@/hooks/usePostHogAg" import {isDemo} from "@/lib/helpers/utils" +import {useQueryParam} from "@/hooks/useQuery" +import {dynamicComponent} from "@/lib/helpers/dynamic" + +const PromptVersioningDrawer: any = dynamicComponent( + `PromptVersioningDrawer/PromptVersioningDrawer`, +) interface Props { variant: Variant @@ -30,8 +36,12 @@ interface Props { onStateChange: (isDirty: boolean) => void compareMode: boolean tabID: React.MutableRefObject + isDrawerOpen: boolean setIsDrawerOpen: React.Dispatch> - setPromptRevisions: React.Dispatch> + historyStatus: { + loading: boolean + error: boolean + } setHistoryStatus: React.Dispatch< React.SetStateAction<{ loading: boolean @@ -76,15 +86,18 @@ const ParametersView: React.FC = ({ onStateChange, compareMode, tabID, - setHistoryStatus, + isDrawerOpen, setIsDrawerOpen, - setPromptRevisions, + historyStatus, + setHistoryStatus, }) => { const classes = useStyles() const posthog = usePostHogAg() const [messageApi, contextHolder] = message.useMessage() const [isPublishModalOpen, setPublishModalOpen] = useState(false) const isVariantExisting = !!variant.variantId + const [revisionNum, setRevisionNum] = useQueryParam("revision") + const [promptRevisions, setPromptRevisions] = useState([]) useEffect(() => { onStateChange(variant.persistent === false) @@ -153,6 +166,10 @@ const ParametersView: React.FC = ({ } } + let filteredRevisions + if (promptRevisions !== undefined) { + filteredRevisions = promptRevisions.filter((item) => item.revision !== 0) + } const items: CollapseProps["items"] = [ { key: "1", @@ -271,6 +288,14 @@ const ParametersView: React.FC = ({ setIsModalOpen={setPublishModalOpen} environments={environments} /> + ) } diff --git a/agenta-web/src/components/Playground/Views/TestView.tsx b/agenta-web/src/components/Playground/Views/TestView.tsx index daabacb5c6..054075b5c4 100644 --- a/agenta-web/src/components/Playground/Views/TestView.tsx +++ b/agenta-web/src/components/Playground/Views/TestView.tsx @@ -1,7 +1,7 @@ import React, {useContext, useEffect, useRef, useState} from "react" import {Button, Input, Card, Row, Col, Space, Form, Modal} from "antd" import {CaretRightOutlined, CloseCircleOutlined, PlusOutlined} from "@ant-design/icons" -import {callVariant} from "@/lib/services/api" +import {callVariant, promptRevision} from "@/lib/services/api" import { ChatMessage, ChatRole, @@ -31,10 +31,6 @@ import duration from "dayjs/plugin/duration" import {useQueryParam} from "@/hooks/useQuery" import {dynamicComponent} from "@/lib/helpers/dynamic" -const PromptVersioningDrawer: any = dynamicComponent( - `PromptVersioningDrawer/PromptVersioningDrawer`, -) - dayjs.extend(relativeTime) dayjs.extend(duration) @@ -143,15 +139,8 @@ interface TestViewProps { isChatVariant?: boolean compareMode: boolean onStateChange: (isDirty: boolean) => void - promptRevisions: IPromptVersioning | undefined - historyStatus: { - loading: boolean - error: boolean - } setPromptOptParams: React.Dispatch> promptOptParams: Parameter[] | null - setIsDrawerOpen: React.Dispatch> - isDrawerOpen: boolean } interface BoxComponentProps { @@ -330,10 +319,6 @@ const App: React.FC = ({ compareMode, onStateChange, setPromptOptParams, - promptRevisions, - historyStatus, - isDrawerOpen, - setIsDrawerOpen, }) => { const router = useRouter() const appId = router.query.app_id as unknown as string @@ -348,7 +333,6 @@ const App: React.FC = ({ const [resultsList, setResultsList] = useState(testList.map(() => "")) const [params, setParams] = useState | null>(null) const classes = useStylesApp({themeMode: appTheme} as StyleProps) - const filteredRevisions = promptRevisions?.revisions.filter((item) => item.revision !== 0) const rootRef = React.useRef(null) const [isLLMProviderMissingModalOpen, setIsLLMProviderMissingModalOpen] = useState(false) @@ -365,39 +349,42 @@ const App: React.FC = ({ useEffect(() => { if (!revisionNum) return - const revision = filteredRevisions?.find((rev) => rev.revision === parseInt(revisionNum)) - - if (!revision) return + const fetchData = async () => { + const revision = await promptRevision(variant.variantId, parseInt(revisionNum)) + if (!revision) return - setPromptOptParams((prevState: Parameter[] | null) => { - if (!prevState) { - return prevState - } + setPromptOptParams((prevState: Parameter[] | null) => { + if (!prevState) { + return prevState + } - const parameterNames = [ - "temperature", - "model", - "max_tokens", - "prompt_system", - "prompt_user", - "top_p", - "frequence_penalty", - "presence_penalty", - "inputs", - ] - - return prevState.map((param: Parameter) => { - if (parameterNames.includes(param.name)) { - const newValue = (revision?.config.parameters as Record)[ - param.name - ] - if (newValue !== undefined) { - param.default = newValue + const parameterNames = [ + "temperature", + "model", + "max_tokens", + "prompt_system", + "prompt_user", + "top_p", + "frequence_penalty", + "presence_penalty", + "inputs", + ] + + return prevState.map((param: Parameter) => { + if (parameterNames.includes(param.name)) { + const newValue = (revision?.config.parameters as Record)[ + param.name + ] + if (newValue !== undefined) { + param.default = newValue + } } - } - return param + return param + }) }) - }) + } + + fetchData() }, [revisionNum]) const abortControllersRef = useRef([]) @@ -684,14 +671,6 @@ const App: React.FC = ({ have a valid API key for the model you are using.

- ) } diff --git a/agenta-web/src/components/Sidebar/Sidebar.tsx b/agenta-web/src/components/Sidebar/Sidebar.tsx index 616739292b..b46bea6856 100644 --- a/agenta-web/src/components/Sidebar/Sidebar.tsx +++ b/agenta-web/src/components/Sidebar/Sidebar.tsx @@ -1,14 +1,33 @@ import React, {useMemo} from "react" import {useRouter} from "next/router" -import {Layout, Menu, Tooltip} from "antd" +import { + RocketOutlined, + AppstoreOutlined, + DatabaseOutlined, + CloudUploadOutlined, + ReadOutlined, + PhoneOutlined, + SettingOutlined, + LogoutOutlined, + SlidersOutlined, + PlayCircleOutlined, +} from "@ant-design/icons" +import {Divider, Layout, Menu, Space, Tooltip, theme} from "antd" + import Logo from "../Logo/Logo" import Link from "next/link" import {useAppTheme} from "../Layout/ThemeContextProvider" import {ErrorBoundary} from "react-error-boundary" import {createUseStyles} from "react-jss" import {useLocalStorage} from "usehooks-ts" -import {SidebarConfig, useSidebarConfig} from "./config" -import {JSSTheme} from "@/lib/Types" +import Image from "next/image" +import abTesting from "@/media/testing.png" +import singleModel from "@/media/score.png" + +type StyleProps = { + themeMode: "system" | "dark" | "light" + colorBgContainer: string +} const {Sider} = Layout @@ -23,10 +42,15 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ "&>div:nth-of-type(2)": { background: `${theme.colorBgContainer} !important`, }, - }, - siderWrapper: { - border: `0.01px solid ${theme.isDark ? "#222" : "#ddd"}`, - }, + }), + siderWrapper: ({themeMode}: StyleProps) => ({ + border: `0.01px solid ${themeMode === "dark" ? "#222" : "#ddd"}`, + }), + evaluationImg: ({themeMode}: StyleProps) => ({ + width: 20, + height: 20, + filter: themeMode === "dark" ? "invert(1)" : "none", + }), sliderContainer: { display: "flex", flexDirection: "column", @@ -58,64 +82,12 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ menuLinks: { width: "100%", }, -})) - -const SidebarMenu: React.FC<{ - items: SidebarConfig[] - selectedKeys: string[] - menuProps?: React.ComponentProps -}> = ({items, selectedKeys, menuProps}) => { - return ( - - {items.map((item) => { - if (item.submenu) { - return ( - - {item.submenu.map((subitem) => ( - - - - {subitem.title} - - - - ))} - - ) - } else { - return ( - - - - {item.title} - - - - ) - } - })} - - ) -} + subMenuContainer: { + "& .ant-menu-submenu-title": { + paddingLeft: "16px !important", + }, + }, +}) const Sidebar: React.FC = () => { const {appTheme} = useAppTheme() @@ -184,9 +156,247 @@ const Sidebar: React.FC = () => { }>
- + + }> + + {collapsed + ? "Create new applications or switch between your existing projects." + : "App Management"} + + + + {page_name && ( + <> + + }> + + {collapsed + ? "Experiment with real data and optimize your parameters including prompts, methods, and configuration settings." + : "Playground"} + + + + + + }> + + {collapsed + ? "Create and manage testsets for evaluation purposes." + : "Test Sets"} + + + + + {collapsed && } + + + + } + > + + {collapsed + ? "Select and customize evaluators such as custom code or regex evaluators." + : "Evaluators"} + + + + + } + > + + {collapsed + ? "Choose your variants and evaluators to start the evaluation process." + : "Results"} + + + + + {collapsed && } + + + + + } + > + + {collapsed + ? "A/B tests allow you to compare the performance of two different variants manually." + : "A/B Evaluation"} + + + + + + } + > + + {collapsed + ? "Single model test allows you to score the performance of a single LLM app manually." + : "Single Model Eval."} + + + + + + {collapsed && } + + + + } + > + + + + {collapsed + ? "Deploy your applications to different environments." + : "Endpoints"} + + + + + + + + )} + + + ({ table: { @@ -55,6 +56,7 @@ const EvaluationCompareMode: React.FC = () => { const classes = useStyles() const {appTheme} = useAppTheme() const [evaluationIdsStr = "", setEvaluationIdsStr] = useQueryParam("evaluations") + const [showDiff, setShowDiff] = useQueryParam("showDiff", "show") const [fetching, setFetching] = useState(false) const [rows, setRows] = useState([]) const [testset, setTestset] = useState() @@ -124,10 +126,28 @@ const EvaluationCompareMode: React.FC = () => { field: `variants.${vi}.output` as any, ...getFilterParams("text"), valueGetter: (params) => { - return getTypedValue( - params.data?.variants.find( - (item) => item.evaluationId === variant.evaluationId, - )?.output?.result, + return ( + <> + {showDiff === "show" ? ( + + + item.evaluationId === variant.evaluationId, + )?.output?.result, + )} + expectedOutput={params.data?.correctAnswer} + /> + + ) : ( + getTypedValue( + params.data?.variants.find( + (item) => item.evaluationId === variant.evaluationId, + )?.output?.result, + ) + )} + ) }, cellRenderer: LongTextCellRenderer, @@ -182,7 +202,7 @@ const EvaluationCompareMode: React.FC = () => { }) return colDefs - }, [rows]) + }, [rows, showDiff]) const fetcher = () => { setFetching(true) @@ -257,9 +277,20 @@ const EvaluationCompareMode: React.FC = () => { - - - + + + Show Difference: + setShowDiff(showDiff === "show" ? "hide" : "show")} + /> + + + + +
diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EmptyEvaluations.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EmptyEvaluations.tsx index a23ebbceca..64de7a3f51 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EmptyEvaluations.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EmptyEvaluations.tsx @@ -75,6 +75,7 @@ const EmptyEvaluations: React.FC = ({onConfigureEvaluators, onBeginEvalua icon={} type="default" onClick={onBeginEvaluation} + data-cy={"new-evaluation-button__no_variants"} > Begin Evaluation Now diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index 8d8ad2aaf3..589c8d7197 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -180,6 +180,12 @@ const EvaluationResults: React.FC = () => { ) }, + onCellClicked(params: any) { + const {revisions, variants} = params.data + router.push( + `/apps/${appId}/playground?variant=${variants[0].variantName}&revision=${revisions[0]}`, + ) + }, valueGetter: (params) => `${params.data?.variants[0].variantName} #${params.data?.revisions[0]}`, headerName: "Variant", @@ -198,6 +204,9 @@ const EvaluationResults: React.FC = () => { minWidth: 160, tooltipValueGetter: (params) => params.value, ...getFilterParams("text"), + onCellClicked(params) { + router.push(`/apps/${appId}/testsets/${params.data?.testset.id}`) + }, }, ...evaluatorConfigs.map( (config) => @@ -328,6 +337,9 @@ const EvaluationResults: React.FC = () => { ref={gridRef as any} rowData={evaluations} columnDefs={colDefs} + rowStyle={{ + cursor: "pointer", + }} getRowId={(params) => params.data.id} onRowClicked={(params) => { // ignore clicks on the checkbox col diff --git a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx index d1a19ffdfe..23ac810381 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -9,7 +9,7 @@ import { import {DeleteOutlined, DownloadOutlined} from "@ant-design/icons" import {ColDef} from "ag-grid-community" import {AgGridReact} from "ag-grid-react" -import {Space, Spin, Tag, Tooltip, Typography} from "antd" +import {Space, Spin, Switch, Tag, Tooltip, Typography} from "antd" import {useRouter} from "next/router" import React, {useEffect, useMemo, useRef, useState} from "react" import {createUseStyles} from "react-jss" @@ -21,6 +21,8 @@ import {LongTextCellRenderer, ResultRenderer} from "../cellRenderers/cellRendere import AgCustomHeader from "@/components/AgCustomHeader/AgCustomHeader" import {useAtom} from "jotai" import {evaluatorsAtom} from "@/lib/atoms/evaluation" +import CompareOutputDiff from "@/components/CompareOutputDiff/CompareOutputDiff" +import {useQueryParam} from "@/hooks/useQuery" const useStyles = createUseStyles((theme: JSSTheme) => ({ infoRow: { @@ -53,6 +55,7 @@ const EvaluationScenarios: React.FC = () => { const [evaluators, setEvaluators] = useAtom(evaluatorsAtom) const gridRef = useRef>() const evalaution = scenarios[0]?.evaluation + const [showDiff, setShowDiff] = useQueryParam("showDiff", "show") const colDefs = useMemo(() => { const colDefs: ColDef<_EvaluationScenario>[] = [] @@ -94,7 +97,18 @@ const EvaluationScenarios: React.FC = () => { if (result && result.type == "error") { return `${result?.error?.message}\n${result?.error?.stacktrace}` } - return result?.value + return ( + <> + {showDiff === "show" ? ( + + ) : ( + result?.value + )} + + ) }, cellRenderer: LongTextCellRenderer, }) @@ -126,7 +140,7 @@ const EvaluationScenarios: React.FC = () => { }) }) return colDefs - }, [evalaution, scenarios]) + }, [evalaution, scenarios, showDiff]) const fetcher = () => { setFetching(true) @@ -200,6 +214,13 @@ const EvaluationScenarios: React.FC = () => { + + Show Difference: + setShowDiff(showDiff === "show" ? "hide" : "show")} + /> + diff --git a/agenta-web/src/components/pages/evaluations/evaluators/Evaluators.tsx b/agenta-web/src/components/pages/evaluations/evaluators/Evaluators.tsx index 3c676e038a..fc6c242df9 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/Evaluators.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/Evaluators.tsx @@ -38,6 +38,7 @@ const Evaluators: React.FC = () => { const appId = useAppId() const [evaluatorConfigs, setEvaluatorConfigs] = useAtom(evaluatorConfigsAtom) const [newEvalModalOpen, setNewEvalModalOpen] = useState(false) + const [newEvalModalConfigOpen, setNewEvalModalConfigOpen] = useState(false) const [editIndex, setEditIndex] = useState(-1) const [fetching, setFetching] = useState(false) const [searchTerm, setSearchTerm] = useState("") @@ -61,7 +62,8 @@ const Evaluators: React.FC = () => {
setSearchTerm(term)} + value={searchTerm} + onChange={(e) => setSearchTerm(e.target.value)} placeholder="Search" allowClear enterButton @@ -88,7 +90,7 @@ const Evaluators: React.FC = () => { evaluatorConfig={item} onEdit={() => { setEditIndex(ix) - setNewEvalModalOpen(true) + setNewEvalModalConfigOpen(true) }} onSuccessDelete={fetcher} /> @@ -99,11 +101,14 @@ const Evaluators: React.FC = () => { setNewEvalModalOpen(false)} onSuccess={() => { setNewEvalModalOpen(false) + setNewEvalModalConfigOpen(false) fetcher() }} + newEvalModalConfigOpen={newEvalModalConfigOpen} + setNewEvalModalConfigOpen={setNewEvalModalConfigOpen} + setNewEvalModalOpen={setNewEvalModalOpen} editMode={editIndex !== -1} initialValues={evaluatorConfigs[editIndex]} /> diff --git a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx index 03dd8d3afc..d425fd2735 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx @@ -8,14 +8,15 @@ import { createEvaluatorConfig, updateEvaluatorConfig, } from "@/services/evaluations" -import {EditOutlined, InfoCircleOutlined, PlusOutlined} from "@ant-design/icons" +import {ArrowLeftOutlined, EditOutlined, InfoCircleOutlined, PlusOutlined} from "@ant-design/icons" import {Editor} from "@monaco-editor/react" -import {Divider, Form, Input, InputNumber, Modal, Radio, Switch, Tooltip, theme} from "antd" +import {Button, Form, Input, InputNumber, Modal, Switch, Table, Tag, Tooltip, theme} from "antd" import {Rule} from "antd/es/form" import {useAtom} from "jotai" import Image from "next/image" import React, {useEffect, useMemo, useState} from "react" import {createUseStyles} from "react-jss" +import {ColumnsType} from "antd/es/table" const useStyles = createUseStyles((theme: JSSTheme) => ({ label: { @@ -42,10 +43,9 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ borderLeft: `1px solid ${theme.colorPrimary}`, }, }, - radioBtn: { + evalNameContainer: { display: "flex", alignItems: "center", - gap: "0.325rem", }, divider: { margin: "1rem -1.5rem", @@ -56,6 +56,37 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ borderRadius: theme.borderRadius, overflow: "hidden", }, + evaluatorsTable: { + maxHeight: 550, + overflowY: "scroll", + margin: "2rem 0 1rem", + border: `1px solid ${theme.colorBorder}`, + borderRadius: theme.borderRadius, + "& .ant-table-thead": { + position: "sticky", + top: 0, + zIndex: 1000, + }, + }, + evalModalBtns: { + display: "flex", + alignItems: "center", + gap: 10, + width: "100%", + justifyContent: "flex-end", + }, + evalBtnContainer: { + display: "flex", + alignItems: "center", + justifyContent: "space-between", + width: "100%", + }, + searchContainer: { + marginTop: "1rem", + width: "100%", + display: "flex", + justifyContent: "flex-end", + }, })) type DynamicFormFieldProps = EvaluationSettingsTemplate & { @@ -131,21 +162,40 @@ type Props = { onSuccess?: () => void initialValues?: EvaluatorConfig editMode?: boolean + setNewEvalModalOpen: (value: React.SetStateAction) => void + newEvalModalConfigOpen: boolean + setNewEvalModalConfigOpen: React.Dispatch> } & React.ComponentProps const NewEvaluatorModal: React.FC = ({ onSuccess, editMode = false, initialValues, + setNewEvalModalOpen, + newEvalModalConfigOpen, + setNewEvalModalConfigOpen, ...props }) => { const classes = useStyles() const evaluators = useAtom(evaluatorsAtom)[0].filter((item) => !item.direct_use) const [selectedEval, setSelectedEval] = useState(null) const [submitLoading, setSubmitLoading] = useState(false) + const [searchTerm, setSearchTerm] = useState("") const appId = useAppId() const [form] = Form.useForm() + const filtered = useMemo(() => { + if (!searchTerm) return evaluators + return evaluators.filter((item) => + item.name.toLowerCase().includes(searchTerm.toLowerCase()), + ) + }, [searchTerm, evaluators]) + + const handleCloseModal = () => { + setSearchTerm("") + setNewEvalModalOpen(false) + } + const evalFields = useMemo( () => Object.keys(selectedEval?.settings_template || {}) @@ -159,15 +209,22 @@ const NewEvaluatorModal: React.FC = ({ useEffect(() => { form.resetFields() - if (initialValues) form.setFieldsValue(initialValues) - setSelectedEval( - evaluators.find((item) => item.key === initialValues?.evaluator_key) || null, - ) - }, [props.open]) + if (initialValues) { + form.setFieldsValue(initialValues) + setSelectedEval( + evaluators.find((item) => item.key === initialValues?.evaluator_key) || null, + ) + } + }, [newEvalModalConfigOpen]) const onSubmit = (values: CreateEvaluationConfigData) => { setSubmitLoading(true) - const data = {...values, settings_values: values.settings_values || {}} + if (!selectedEval?.key) throw new Error("No selected key") + const data = { + ...values, + evaluator_key: selectedEval.key, + settings_values: values.settings_values || {}, + } ;(editMode ? updateEvaluatorConfig(initialValues?.id!, data) : createEvaluatorConfig(appId, data) @@ -177,75 +234,177 @@ const NewEvaluatorModal: React.FC = ({ .finally(() => setSubmitLoading(false)) } + const columns: ColumnsType = [ + { + title: "Name", + dataIndex: "name", + key: "name", + width: 200, + render(_, record) { + return ( + <> +
+ {record.icon_url && ( + + )} + {record.name} +
+ + ) + }, + }, + { + title: "Type", + dataIndex: "type", + key: "type", + render(_, record) { + const template = Object.keys(record?.settings_template || {}) + .filter((key) => !!record?.settings_template[key]?.type) + .map((key) => ({ + key, + ...record?.settings_template[key]!, + })) + + return ( + <> + {template[0].type} + + ) + }, + }, + { + title: "Description", + dataIndex: "description", + key: "description", + render(_, record) { + return ( + <> +
{record.description}
+ + ) + }, + }, + ] + return ( - : , - loading: submitLoading, - }} - width={650} - {...props} - > - -
+ - - - - - - setSelectedEval( - evaluators.find((item) => item.key === e.target.value) || null, - ) +
+ setSearchTerm(e.target.value)} + placeholder="Search" + allowClear + enterButton + style={{ + maxWidth: 300, + }} + /> +
+
{ + return { + onClick: () => { + setNewEvalModalOpen(false) + setNewEvalModalConfigOpen(true) + setSelectedEval(data) + }, + style: { + cursor: "pointer", + }, + "data-cy": `select-new-evaluator-${index}`, } - className={classes.radioGroup} + }} + /> + + + { + setNewEvalModalConfigOpen(false) + }} + destroyOnClose + onOk={form.submit} + title={editMode ? "Edit your evaluator" : "Configure your evaluator"} + footer={null} + data-cy="configure-new-evaluator-modal" + > + + - {evaluators.map((evaluator, index) => ( - -
+ + + {evalFields.map((field) => ( + + ))} + + +
+ {!editMode && ( +
- - ))} - -
- {evalFields.map((field) => ( - - ))} - - + Back + + )} + +
+ + +
+
+
+ +
+ ) } diff --git a/agenta-web/src/lib/Types.ts b/agenta-web/src/lib/Types.ts index b80f281fdd..d0e9e5946a 100644 --- a/agenta-web/src/lib/Types.ts +++ b/agenta-web/src/lib/Types.ts @@ -391,6 +391,7 @@ export interface Evaluator { icon_url?: string | StaticImageData color?: string direct_use?: boolean + description: string } export interface EvaluatorConfig { diff --git a/agenta-web/src/lib/hooks/useVariant.ts b/agenta-web/src/lib/hooks/useVariant.ts index 1262c656ba..62dd5d0c7b 100644 --- a/agenta-web/src/lib/hooks/useVariant.ts +++ b/agenta-web/src/lib/hooks/useVariant.ts @@ -1,6 +1,6 @@ import {useState, useEffect} from "react" import {promptVersioning, saveNewVariant, updateVariantParams} from "@/lib/services/api" -import {Variant, Parameter, IPromptVersioning} from "@/lib/Types" +import {Variant, Parameter, IPromptRevisions} from "@/lib/Types" import {getAllVariantParameters, updateInputParams} from "@/lib/helpers/variantHelper" import {isDemo} from "../helpers/utils" import {PERMISSION_ERR_MSG} from "../helpers/axiosConfig" @@ -13,7 +13,6 @@ import {PERMISSION_ERR_MSG} from "../helpers/axiosConfig" * @returns */ export function useVariant(appId: string, variant: Variant) { - const [promptRevisions, setPromptRevisions] = useState() const [historyStatus, setHistoryStatus] = useState({loading: false, error: false}) const [promptOptParams, setPromptOptParams] = useState(null) const [inputParams, setInputParams] = useState(null) @@ -34,10 +33,6 @@ export function useVariant(appId: string, variant: Variant) { variant, ) setPromptOptParams(parameters) - if (variant.variantId && isDemo()) { - const revisions = await promptVersioning(variant.variantId) - setPromptRevisions(revisions) - } setInputParams(inputs) setURIPath(URIPath) setIsChatVariant(isChatVariant) @@ -115,10 +110,8 @@ export function useVariant(appId: string, variant: Variant) { saveOptParams, refetch: fetchParameters, isChatVariant, - promptRevisions, historyStatus, setPromptOptParams, - setPromptRevisions, setHistoryStatus, } } diff --git a/agenta-web/src/lib/services/api.ts b/agenta-web/src/lib/services/api.ts index 8c935903dc..f396b2ca3e 100644 --- a/agenta-web/src/lib/services/api.ts +++ b/agenta-web/src/lib/services/api.ts @@ -719,9 +719,24 @@ export const publishVariant = async (variantId: string, environmentName: string) } export const promptVersioning = async (variantId: string, ignoreAxiosError: boolean = false) => { - const {data} = await axios.get(`${getAgentaApiUrl()}/api/variants/${variantId}/`, { + const {data} = await axios.get(`${getAgentaApiUrl()}/api/variants/${variantId}/revisions/`, { _ignoreError: ignoreAxiosError, } as any) return data } + +export const promptRevision = async ( + variantId: string, + revisionNumber: number, + ignoreAxiosError: boolean = false, +) => { + const {data} = await axios.get( + `${getAgentaApiUrl()}/api/variants/${variantId}/revisions/${revisionNumber}/`, + { + _ignoreError: ignoreAxiosError, + } as any, + ) + + return data +} diff --git a/agenta-web/src/pages/apps/[app_id]/annotations/human_a_b_testing.tsx b/agenta-web/src/pages/apps/[app_id]/annotations/human_a_b_testing.tsx new file mode 100644 index 0000000000..def899328c --- /dev/null +++ b/agenta-web/src/pages/apps/[app_id]/annotations/human_a_b_testing.tsx @@ -0,0 +1,20 @@ +import HumanEvaluationResult from "@/components/Evaluations/HumanEvaluationResult" +import HumanEvaluationModal from "@/components/HumanEvaluationModal/HumanEvaluationModal" +import React, {useState} from "react" + +const HumanABTestingEvaluation = () => { + const [isEvalModalOpen, setIsEvalModalOpen] = useState(false) + return ( + <> + + + + + ) +} + +export default HumanABTestingEvaluation diff --git a/agenta-web/src/pages/apps/[app_id]/annotations/index.tsx b/agenta-web/src/pages/apps/[app_id]/annotations/index.tsx deleted file mode 100644 index e0aa2e3565..0000000000 --- a/agenta-web/src/pages/apps/[app_id]/annotations/index.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import Evaluations from "@/components/Evaluations/Evaluations" - -export default function Evaluation() { - return -} diff --git a/agenta-web/src/pages/apps/[app_id]/annotations/single_model_test.tsx b/agenta-web/src/pages/apps/[app_id]/annotations/single_model_test.tsx new file mode 100644 index 0000000000..9487da1bc3 --- /dev/null +++ b/agenta-web/src/pages/apps/[app_id]/annotations/single_model_test.tsx @@ -0,0 +1,21 @@ +import React, {useState} from "react" +import AutomaticEvaluationResult from "@/components/Evaluations/AutomaticEvaluationResult" +import HumanEvaluationModal from "@/components/HumanEvaluationModal/HumanEvaluationModal" + +const SingleModelTestEvaluation = () => { + const [isEvalModalOpen, setIsEvalModalOpen] = useState(false) + + return ( + <> + + + + + ) +} + +export default SingleModelTestEvaluation diff --git a/agenta-web/src/pages/apps/[app_id]/evaluations/index.tsx b/agenta-web/src/pages/apps/[app_id]/evaluations/index.tsx deleted file mode 100644 index d4ff95e3fb..0000000000 --- a/agenta-web/src/pages/apps/[app_id]/evaluations/index.tsx +++ /dev/null @@ -1,69 +0,0 @@ -import EvaluationResults from "@/components/pages/evaluations/evaluationResults/EvaluationResults" -import Evaluators from "@/components/pages/evaluations/evaluators/Evaluators" -import {useAppId} from "@/hooks/useAppId" -import {useQueryParam} from "@/hooks/useQuery" -import {JSSTheme} from "@/lib/Types" -import {evaluatorConfigsAtom, evaluatorsAtom} from "@/lib/atoms/evaluation" -import {fetchAllEvaluatorConfigs, fetchAllEvaluators} from "@/services/evaluations" -import {SlidersOutlined, UnorderedListOutlined} from "@ant-design/icons" -import {Tabs} from "antd" -import {useAtom} from "jotai" -import React, {useEffect} from "react" -import {createUseStyles} from "react-jss" - -const useStyles = createUseStyles((theme: JSSTheme) => ({ - root: { - "& .ant-tabs-nav": { - position: "sticky", - top: 0, - zIndex: 1, - background: theme.colorBgContainer, - marginBottom: 0, - }, - }, -})) - -interface Props {} - -const Evaluations: React.FC = () => { - const [tab, setTab] = useQueryParam("tab", "results") - const appId = useAppId() - const classes = useStyles() - const setEvaluators = useAtom(evaluatorsAtom)[1] - const setEvaluatorConfigs = useAtom(evaluatorConfigsAtom)[1] - - useEffect(() => { - Promise.all([fetchAllEvaluators(), fetchAllEvaluatorConfigs(appId)]).then( - ([evaluators, configs]) => { - setEvaluators(evaluators) - setEvaluatorConfigs(configs) - }, - ) - }, [appId]) - - return ( -
- , - children: , - }, - { - key: "evaluators", - label: "Evaluators", - icon: , - children: , - }, - ]} - onChange={setTab} - /> -
- ) -} - -export default Evaluations diff --git a/agenta-web/src/pages/apps/[app_id]/evaluations/new-evaluator.tsx b/agenta-web/src/pages/apps/[app_id]/evaluations/new-evaluator.tsx new file mode 100644 index 0000000000..c951cd492a --- /dev/null +++ b/agenta-web/src/pages/apps/[app_id]/evaluations/new-evaluator.tsx @@ -0,0 +1,25 @@ +import Evaluators from "@/components/pages/evaluations/evaluators/Evaluators" +import {useAppId} from "@/hooks/useAppId" +import {evaluatorConfigsAtom, evaluatorsAtom} from "@/lib/atoms/evaluation" +import {fetchAllEvaluatorConfigs, fetchAllEvaluators} from "@/services/evaluations" +import {useAtom} from "jotai" +import React, {useEffect} from "react" + +const NewEvaluator = () => { + const appId = useAppId() + const setEvaluators = useAtom(evaluatorsAtom)[1] + const setEvaluatorConfigs = useAtom(evaluatorConfigsAtom)[1] + + useEffect(() => { + Promise.all([fetchAllEvaluators(), fetchAllEvaluatorConfigs(appId)]).then( + ([evaluators, configs]) => { + setEvaluators(evaluators) + setEvaluatorConfigs(configs) + }, + ) + }, [appId]) + + return +} + +export default NewEvaluator diff --git a/agenta-web/src/pages/apps/[app_id]/evaluations/results.tsx b/agenta-web/src/pages/apps/[app_id]/evaluations/results.tsx new file mode 100644 index 0000000000..3ff2ab20df --- /dev/null +++ b/agenta-web/src/pages/apps/[app_id]/evaluations/results.tsx @@ -0,0 +1,25 @@ +import EvaluationResults from "@/components/pages/evaluations/evaluationResults/EvaluationResults" +import {useAppId} from "@/hooks/useAppId" +import {evaluatorConfigsAtom, evaluatorsAtom} from "@/lib/atoms/evaluation" +import {fetchAllEvaluatorConfigs, fetchAllEvaluators} from "@/services/evaluations" +import {useAtom} from "jotai" +import React, {useEffect} from "react" + +const EvalResults = () => { + const appId = useAppId() + const setEvaluators = useAtom(evaluatorsAtom)[1] + const setEvaluatorConfigs = useAtom(evaluatorConfigsAtom)[1] + + useEffect(() => { + Promise.all([fetchAllEvaluators(), fetchAllEvaluatorConfigs(appId)]).then( + ([evaluators, configs]) => { + setEvaluators(evaluators) + setEvaluatorConfigs(configs) + }, + ) + }, [appId]) + + return +} + +export default EvalResults diff --git a/docker-compose.gh.yml b/docker-compose.gh.yml index 99d338ed4a..83d66b4b22 100644 --- a/docker-compose.gh.yml +++ b/docker-compose.gh.yml @@ -145,6 +145,7 @@ services: - ./agenta-backend/agenta_backend:/app/agenta_backend - /var/run/docker.sock:/var/run/docker.sock depends_on: + - mongo - rabbitmq - redis extra_hosts: diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 7df348cc13..3425e8ed74 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -145,8 +145,9 @@ services: - ./agenta-backend/agenta_backend:/app/agenta_backend - /var/run/docker.sock:/var/run/docker.sock depends_on: - - rabbitmq - - redis + - mongo + - rabbitmq + - redis extra_hosts: - "host.docker.internal:host-gateway" networks: diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 255b5d1094..3fd1585b7f 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -22,7 +22,7 @@ services: - DOMAIN_NAME=http://localhost - CELERY_BROKER_URL=amqp://guest@rabbitmq// - CELERY_RESULT_BACKEND=redis://redis:6379/0 - - DATABASE_MODE=v2 + - DATABASE_MODE=test - FEATURE_FLAG=oss - OPENAI_API_KEY=${OPENAI_API_KEY} - AGENTA_TEMPLATE_REPO=agentaai/templates_v2 @@ -43,7 +43,7 @@ services: "--log-level", "info", "--root-path", - "/api", + "/api" ] labels: - "traefik.http.routers.backend.rule=PathPrefix(`/api/`)" @@ -61,6 +61,21 @@ services: networks: - agenta-network + mongo_express: + image: mongo-express:0.54.0 + environment: + ME_CONFIG_MONGODB_ADMINUSERNAME: username + ME_CONFIG_MONGODB_ADMINPASSWORD: password + ME_CONFIG_MONGODB_SERVER: mongo + ports: + - "8081:8081" + networks: + - agenta-network + depends_on: + mongo: + condition: service_healthy + restart: always + mongo: image: mongo:5.0 container_name: agenta-mongo-test @@ -111,13 +126,14 @@ services: - CELERY_BROKER_URL=amqp://guest@rabbitmq// - CELERY_RESULT_BACKEND=redis://redis:6379/0 - FEATURE_FLAG=oss + - DATABASE_MODE=test volumes: - ./agenta-backend/agenta_backend:/app/agenta_backend - /var/run/docker.sock:/var/run/docker.sock depends_on: - - mongo - rabbitmq - redis + - mongo extra_hosts: - host.docker.internal:host-gateway networks: diff --git a/docker-compose.yml b/docker-compose.yml index e7c416aee2..5085c63711 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -149,6 +149,7 @@ services: - ./agenta-backend/agenta_backend:/app/agenta_backend - /var/run/docker.sock:/var/run/docker.sock depends_on: + - mongo - rabbitmq - redis extra_hosts: diff --git a/docs/basic_guides/automatic_evaluation.mdx b/docs/basic_guides/automatic_evaluation.mdx index 26ac847e5e..2af956f11a 100644 --- a/docs/basic_guides/automatic_evaluation.mdx +++ b/docs/basic_guides/automatic_evaluation.mdx @@ -1,5 +1,70 @@ --- -title: 'Automatic Evaluation' +title: 'Evaluating LLM Apps' +description: Systematically evaluate your LLM applications and compare their performance. --- - This page is under construction. Please reach out to us on [Slack](https://join.slack.com/t/agenta-hq/shared_invite/zt-1zsafop5i-Y7~ZySbhRZvKVPV5DO_7IA) **#support** channel, [Book a call](https://cal.com/mahmoud-mabrouk-ogzgey/demo), through [email](mailto:team@agenta.ai) if you need help with using automatic evaluation. \ No newline at end of file +The key to building production-ready LLM applications is to have a tight feedback loop of prompt engineering and evaluation. In this document, we will explain how to use agenta to quickly evaluate and compare the performance of your LLM applications. + +## Configuring Evaluators + +Agenta comes with a set of built-in evaluators that can be configured. + +By default, each project includes the following evaluators (which do not require configuration): +- Exact match: This evaluator checks if the generated answer is an exact match to the expected answer. The aggregated result is the percentage of correct answers. + +Additionally, the following configurable evaluators are available but need to be explicitly configured and added before use. + +To add an evaluator, go to the Evaluators tab and click on the "Add Evaluator" button. A modal will appear where you can select the evaluator you want to add and configure it. + + + + + + + +**Configurable evaluators** +- Regex match: This evaluator checks if the generated answer matches a regular expression pattern. You need to provide the regex expression and specify whether an answer is correct if it matches or does not match the regex. +- Webhook evaluator: This evaluator sends the generated answer and the correct_answer to a webhook and expects a response indicating the correctness of the answer. You need to provide the URL of the webhook. +- Similarity Match evaluator: This evaluator checks if the generated answer is similar to the expected answer. You need to provide the similarity threshold. It uses the Jaccard similarity to compare the answers. +- AI Critic evaluator: This evaluator sends the generated answer and the correct_answer to an LLM model and uses it to evaluate the correctness of the answer. You need to provide the evaluation prompt (or use the default prompt). +- Custom code evaluator: This evaluator allows you to write your own evaluator in Python. You need to provide the Python code for the evaluator. More details can be found here. + + +## Begin Evaluation +To start an evaluation, go to the Evaluations page and click on the "Begin Evaluation Now" button. A modal will appear where you can fine-tune the evaluation based on your specific requirements. + +In the modal, you need to specify the following parameters: + +- Testset: Choose the testset you want to use for the evaluation. +- Variants: Select one or more variants you wish to evaluate. +- Evaluators: Choose one or more evaluators for the assessment. + + + + +### Advanced Configuration +Additional configurations for batching and retrying LLM calls are available in the advanced configuration section. You can specify the following parameters: + +- Batch Size: Set the number of testsets to include in each batch (default is 10). +- Retry Delay: Define the delay before retrying a failed language model call (in seconds, default is 3). +- Max Retries: Specify the maximum number of retries for a failed language model call (default is 3). +- Delay Between Batches: Set the delay between running batches (in seconds, default is 5). + +In addition to the batching and retrying configurations, you can also specify the following parameters: +- Correct Answer Column: Specify the column in the test set containing the correct/expected answer (default is correct_answer). + + + + +## View Evaluation Result +To view the result of an evaluation, double-click on the evaluation row once you have clicked the "Create" button and the evaluation status is set to "completed". This will give you access to the detailed evaluation results. + + + + +## Compare Evaluations +When the evaluation status is set to "completed", you can select two or more evaluations from the same testset to compare. Click on the "Compare" button, and you will be taken to the Evaluation comparison view where you can compare the output of two or more evaluations. + + + + diff --git a/docs/basic_guides/custom_evaluator.mdx b/docs/basic_guides/custom_evaluator.mdx new file mode 100644 index 0000000000..b2ad3888c1 --- /dev/null +++ b/docs/basic_guides/custom_evaluator.mdx @@ -0,0 +1,57 @@ +--- +title: 'Writing Custom Evaluators' +description: 'Write the code for a custom evaluator on Agenta' +--- + +Sometimes, the default evaluators on Agenta may not be sufficient for your specific use case. In such cases, you can create a custom evaluator to suit your specific needs. Custom evaluators are written in Python. + +For the moment, there are limitation on the code that can be written in the custom evaluator. Our backend uses RestrictedPython to execute the code which limits the libraries that can be used. + + +## Accessing the Evaluator Page +To create a custom evaluator on Agenta, simply click on the Evaluations button in the sidebar menu, and then select the "Evaluators" tab within the Evaluations page. + + + +## Creating an Evaluator +On the Evaluators tab, click on the "New Evaluator" button at the top right corner of your screen which would open a modal prompting you to provide the following information: +1. Evaluator name: Enter a unique and descriptive name for your custom evaluator. +2. Evaluator Template: Choose a template for your custom evaluator. This could be based on the specific criteria or type of evaluation you want. + + +Click on the "Create" button within the modal to confirm and complete the creation of your custom evaluator. + +## Evaluation code + +Your code should include on function called evaluate with the following signature: +```python +from typing import Dict + +def evaluate( + app_params: Dict[str, str], + inputs: Dict[str, str], + output: str, + correct_answer: str +) -> float: +``` + +The function should return a float value which is the score of the evaluation. The score should be between 0 and 1. 0 means the evaluation failed and 1 means the evaluation passed. + +The parameters are as follows: +1. app_params: A dictionary containing the configuration of the app. This would include the prompt, model and all the other parameters specified in the playground with the same naming. +2. inputs: A dictionary containing the inputs of the app. +3. output: The generated output of the app. +4. correct_answer: The correct answer of the app. + +For instance, exact match would be implemented as follows: +```python +from typing import Dict + +def evaluate( + app_params: Dict[str, str], + inputs: Dict[str, str], + output: str, + correct_answer: str +) -> float: + return 1 if output == correct_answer else 0 +``` diff --git a/docs/basic_guides/human_evaluation.mdx b/docs/basic_guides/human_evaluation.mdx index 9545bcd8d0..8d0c21b7d0 100644 --- a/docs/basic_guides/human_evaluation.mdx +++ b/docs/basic_guides/human_evaluation.mdx @@ -2,4 +2,47 @@ title: 'Human Evaluation' --- - This page is under construction. Please reach out to us on [Slack](https://join.slack.com/t/agenta-hq/shared_invite/zt-1zsafop5i-Y7~ZySbhRZvKVPV5DO_7IA) **#support** channel, [Book a call](https://cal.com/mahmoud-mabrouk-ogzgey/demo), or through [email](mailto:team@agenta.ai) if you need help with using human evaluation. \ No newline at end of file +Sometimes, you may need to evaluate the performance of your models using human judgment. This is where the Human Evaluation feature comes in. It allows you to conduct A/B tests and single model tests to evaluate the performance of your models using human judgment. + +## Single Model Evaluation +Single model test allows you to score the performance of a single LLM app manually. + +To start a new evaluation with the single model test, you need to: +- Select a variant would you like to evaluate +- Select a testset you want to use for the evaluation + +To start a new evaluation with the single model test, follow these steps: + +1. Select the variant you would like to evaluate. +2. Choose the testset you want to use for the evaluation. + +Click on the "Start a new evaluation" button to begin the evaluation process. Once the evaluation is initiated, you will be directed to the Single Model Test Evaluation view. Here, you can perform the following actions: + +- Score: Enter a numerical score to evaluate the performance of the chosen variant. +- Additional Notes: Add any relevant notes or comments to provide context or details about the evaluation. +- Export Results: Use the "Export Results" functionality to save and export the evaluation results. + + + + +## A/B Test +A/B tests allow you to compare the performance of two different variants manually. For each data point you can select which variant is better, or if they are equally good or bad. + +To start a new evaluation with an A/B Test, follow these steps: + +1. Select two variants that you would like to evaluate. +2. Choose the testset you want to use for the evaluation. + +### Invite Collaborators + +In an A/B Test, you can invite members of your workspace to collaborate on the evaluation by sharing a link to the evaluation. For information on how to add members to your workspace, please refer to this guide. + +Click on the "Start a new evaluation" button to begin the evaluation process. Once the evaluation is initiated, you will be directed to the A/B Test Evaluation view. Here, you can perform the following actions: + +- Scoring between variants: Evaluate and score the performance of each variant for the expected output. +- Additional Notes: Add any relevant notes or comments to provide context or details about the evaluation. +- Export Results: Use the "Export Results" functionality to save and export the evaluation results. + + + + diff --git a/docs/images/basic_guides/15_accessing_evaluator_page_dark.png b/docs/images/basic_guides/15_accessing_evaluator_page_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..0cdea59df59c3c59e260c4b86cf8a854363c894a GIT binary patch literal 247802 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�x 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≤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

>`YxuAG3wwvYgS?_UC`t>Ns zztW^^B{G>bD=QKNFPWQ#C--iyjlMMf+VzOXO{GPSXkNQ|W^=^s;!Tg)QDzx@j?a;8?DG?K@X~ua-z{~@pVTawC}s#6YNMf0zh9sL_>W3y#zl4DLaLy`YH7Q z2TJ8HgTJfFa0c^T>I}v>R0iyhYt6xk-D z<+&r6Re@-ptUg$dNOT?5{uV;V@qD^9>?XhYtBXh9MOP4f4^z+@C5Q7`HGElB8jiDs zA#20rgW(y_f7fu^Q!$ELpWPzSIVwlD^t(;IpLB|TlJBv*)zhbZ?R4P4jS^$C^Q+6% z75{RCVw=f>#Rm>HlHY0Nm994vMSfDbD>Sck<(*Qz*_V`daP2KhtRyP7=GZ3MMVq|b zti8kA7HkHKy%b6f#1yLl+7-v#UG@FC!O7NG>-?3M2Q9lB;!m(8HO>uR!$%5xZq0PE zs^EMof}1(ePD3L+;!@>1OJ;<7g1H3^>aSa0T~Zc|MS`%$6(hziUQhWfdF}1RG_!8= zPf5+GXFWp#h;hGU7J0s29nqZ@TQ$_)o7XiLqY@TP_DYp&5;!V3NOj-R8B(bk{OH z4%DsnkNi|X)1uC~spU_4bL9MPTHSTS14K}40E$-t?boN|B){1&NScosXMD_JaO9t( zGbF5*r?ENPaRWqpHX;x;PRlFQrKXz0^_KPd?EE+priq47d#ZRg^>M4WI>inj9pjLl zA}loSe8zP|?z8XTDvEGNQm~`9M?LLN^S1l@vnlDLjl`@8PhK@qsN6Rq`MfYz0|HB0 zK|yEH`v()L5z65yq2fAGJcisE$v)*}0peC&Or5phz0f-eY$7!?NuF_AdYwBD$lyC; zzBQSj-RHA1P$#|BH9J)+O=L2+jOLRphuE!(z6Fsa(jU#rIPQ$NM!(D$AEE>@{cA&7 zaawu2ex}{?Eba#(ZxxH=)bN>zx!%%@%VKUSb2SItd>eT(L1#MrW^J_-kXduRO1(Tf z++31IE;ViLJ7Ns+@i~t>9fJ0D4^nqBe@z#p*LL9^m;cyVflVMFX(iIVTsjQ2*SRAM zU~lC^jb64s-&1p&D`CH@fwIvqmDH>e)_pp^kh;>Jn3`wt(n>T4Sq3tCbuHEf>ilYW3{93RKP_1}v*ZP1VQ z8KqycHB4y$I;?ctnN+^){-i2>qiwJB0RLJ4u3ug1YM}sHr}ZUX&H%#*Ml0>$%

fO4-zWXSvZ!gkCp*}y^XRxy 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

@w*G15WrnH-|;{ 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

-fD-RIOoR65iF0#wHY9pI+*AOR!#yoJ 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 literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/15_accessing_evaluator_page_light.png b/docs/images/basic_guides/15_accessing_evaluator_page_light.png new file mode 100644 index 0000000000000000000000000000000000000000..f98f5e4ea67b8bcfd7b9060136701aef42990fe4 GIT binary patch literal 247562 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�x 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≤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 <(MPwc+h}am}3*UV& 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 EAGcA47ytkO literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/16_new_evaluator_modal_light.png b/docs/images/basic_guides/16_new_evaluator_modal_light.png new file mode 100644 index 0000000000000000000000000000000000000000..2588848188bf81bc499b49116cbb5308e10f0258 GIT binary patch literal 153514 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⪚ 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�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 z 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⪙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 Mm{{+AVC;78zqQi&hyVZp literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/17_begin_evaluation_modal_light.png b/docs/images/basic_guides/17_begin_evaluation_modal_light.png new file mode 100644 index 0000000000000000000000000000000000000000..f115d50e126492565111ef992d063ad76678d02b GIT binary patch literal 152463 zcmeFZcUY546E+?Y1VJel5UFB8rK5sCC>~U7fQnKS2#A365)x`CHb9z6Rhn2prS}p@ zP?0F1DN;iK2|XksbO`0Q@%5Y|yzlq_@A^KuF33Z&&+b06vorV1+?%jV`nub=_HaQU zkZtGAp1J~ou-8B!Y=xYg!8?!T&L%@3TQ%)1Vf8Z;`A%yCt2S@6nM?&T~PR{@Tj6OTF?GGxaPj}3HVpuDw(tYZEDqgF8!wrE=$?8YFHbZ7(%nD9$v_T|{uS$e%+jc9; zK;P<#FNAdlvTHXBTuvU=@GvZl?b3sBES@0TvZwwUhfs$WVJ++S6#F6+@@RKx>%wA{ zStu_{kTJdX2`eO2sd}-PwP5Q<*5U&S+M$AYw+F1oU)-Lt(h>-@xWc_IEZX<$ht4ZO zE;)wy+U}L#V_i4zRqkHG@jg2IoWUhj3#r!%lr1^`CC@GR_vi-+oGnYCA zqlnXTM^1k5cjxh{TYDO{CR?HUZLhdd{-vV_tO^PhKUNXzo5CMi9jQgVD1LK0v_v96 zeh^RDd*<-dZ~1KZH5@+U?LH>6Y_8S!ce%t?`+zSb)Z>L@+)}Zp6(`5d6FMzpA6WIF zwZ44v0)rg5!_K8=r*6h!T9!PwB)$HgMmj$jV1p4mTeQRE{HpO&)~F}qhSK#B26qx! z3r?piD01CA9x6IrM3RhEwtlG8by-JwyM4Ay0C%W0`->KBb}gesxh-MWx)X+nc_Rf0 zPYw^BI!q6~)3Bg$Iv`&_%velIgu7jiuVDKFZ?;9!zL2^Pf^6*4by2gNr?$ACPn{pQ zQ)6-(mMqy6cDb8mdnftQ)84H&JC;A3uz^7fAo^$7wNmBeLc@$}!vt;IKU(jk_e*Q< zx4bJ+!*<2wo3_|z)(@qa2bv2Rx3{pENw5fMLquYqrHh@L65#i*3znReI>q`(t4ID) z?-9uTOKUbJS>9?vo<5H0Rl3UFtnPB55YhEB7~ zCA?9cES_tcgNlvpN9Uy%?^Az#xlm3u$Z6Wz;JEtnGAjYoTx@f+WP9-s|Duo^0W;03 zatwbH-R0Y1vUNN+b2<-CK#@BgAr~ju+C$AhM17f@obZ)NGuP?8IYhsuBlbgUc^k^q z^x$-gLyB*TrgS$KTdR%VG0TxKyR-L%p0ZyQSl-8(D8k?DzQ48WOV=()*V^d)*2ZF@z@}xeAaAs;TqfgZ4<11 z?^#+PQFjdcWy(3b-y_@vn^IjSMP}}n_3yYNvH#wK7JgJMTfwObe!JQobe%ho&+ZpE zcjn6Dt*7pteQf%f_0?9>`%c=WlE**iedZtB=^-|z?Xu7Oto#($V(867yV}k~UXu3Q zIUZKn!g)+A<(}^K_dn>o*XlH%ZxUJ#KRUK-ftNwLl6tY?2T14>En>>k9b#*Ta zcFKsxSiO+27m#m#P)V4}~9F%`On{m7S7&e6skUZ%s+!#Rkcy z{c;Cf_EYzz?nm;8^K+ct|3vdk>fnWk2i?!HzuNxI_nX+aE#G!sQ5ma#`0ioY!=m${ z=N~>i``YBSnN3-}dz|zUgKL_PkAIH8T z2vAQp zdRz83&;Ho6U9v&(e@Q==ec9Hc-zwJ9oAtF#r0s-*e@TTyoWrbx@pp?iF>SJKrsFYf z;otFXyzgK}v{ng66Z`z*<$K`AjvSA=-Sd5S%PYsI_K5a|HnVpXH>Rs>qXo|4&r6$x z=apP?Olr5!(e;dQ(YI^$nPH!y%p9F@aeh%+qO7Za0e#Ug51E9-M#V>E>Az_5OgW!o zt(LMi!s=7Mg2!&W5XWwn-QtKyPt!_P;(R9Sb>l`DZh3B8O=q+EochK>oej?O*T*0(K#FoA2ewVAm?LD?f zjuRcaZI`|@bj!TY?sQ7)Lct$aWcpMt?wPio4&dGqULa5;;~+~lc_OPJdsMc=wDdZr zsIc^W;q_Z>mTlHKc8vvcg}EgdJDnnW*;5BYXLw`$ZL)omGx}>Ok*5S+gfGr2Mmt4! zqY2y;m2R(y{Sh;J4(~D5n9A7H7Cdxm^b)yc=(Agdrwr1`&0n$p=GFQ)aWAjyq7WYN zdiQRsr&n?N=;YT=FO$w-Jxbxjs>W(CczVUX@&<&xr_Y!J?T8z3&=(&`Rc?2Fe4~gU z=*8<5=9l7^7jj?soo*aX&%n8Pck}Dikt$A$U<-J4lrL%$IWIS<*}swyeb=D0*(EJi zvE7=@x-{Bn&~X?)OB^SR;btz(5(YZPT*sSd^X39~TZ+~2cJfcg+TiPNQmm>uJ-K4p z#CZI1bGFU4X zN78qjP>_W;;UD`JwseB3=Q5+t7N;&d0?m@J<#+*g0P3)m}d-t4zzcAMAi!O+I zx@VejVxTlAnb!a>B(K$+o5{%da$_Om>)?6 zYA;n67_%IDz`0nIcIdwHZyE#k!D@_=)xSsDl`y^#Am%cgBe8Sb&BBay8 zOp=;Bu7RL@4>))4magU#t;5&?ZDFxN`E$;%w9cWqR=A|O`wT85Bi$;8J-^OeI67e~ z^ORnE=+$V#(}jz@4a24xMZ?YG&l;aqBY2dgob{*8rYpEdkj>mFWsaIQ0dvcJ;VBP| zcVSH*6+gF6|N6m)TYP2blA&|h^{`ii!;)#IlLSfO_rnSC7m@Aq>jt&=QiUtHup;W8KfsxF`Kz^oBu6D7fm zi{@XcP80iKF@}m{4DoIizq)3{z+v>~o2<=GnkR_WX;d*n=SLSw%eXYOpk}(p;XsF} z;tX8H$ZglNu8g8B&6R24X@TR?i-yz9?*x_Qc~*8!cD!DtuMp)A$aBDCQ8{bABf=dj zjhhrV@%9d5R%UW%s#h82;!v&PfQw5DGp)tVubOwkoUq4Gkqf@A3SMrP8sglBbXm3v z9McdDGFE4KeqfV!h#hA=+ou%+xzK^8Bf9-sR-Z&K%TXcU-=9ZD*rl;qYRMQ)OQ>Yq z=q@Zkf-1|mCZwaEEn6JkAz8)YwB<=UAF4{b5J-qUgzZ-weelZs zc?5o$_x$H|(~}1f4)EW0@az4Y_3zf~HP1Kwea%(~K7*Vz)H!z!yc$}2*x0zhZ@YSO zv8A2@Z)|ZpYYK-z1P(BNS8K%TqIXF`$JN6|LRn5hPC-(WOF}{d z>T%0f?aHY$zitQrX-MAo^mJ2`m-q7WlJhz$=jvf6uc)f3DzBgy3aU zGvXDoKV@(gyaF|2{;-;YKZpMF3a(i=Ss%UN0ZXn8Id|&hRd1FF;+85IV^jHw^N)f) z@6^`5$LVobDdf$?EumZMvz5X*Ise*illoV`$KD{zou@MTZTL>IJ!P{IyLol{)eKH! zy+n@F_t`k_oC<~YF8LEm$XD~I)#xlQuUSKEpX#-e_IKADHLfxER?X2%&v)pb_<`NS z&BDsY$tR&51X+Kv`)SQd*2%}_ms|J#*JsSu!A9B;>Y4w(@8@Tixj1WdeN6QpZs_z^ zbGCl!`oaF`X7}qLh<|KC+pGUIB?)aXq}V@g*Ifkv84`%}k6{0(&!0{5#}xcA1$=)z z32^Fv{N*1Y@&^_CF$MqsH3izO%N>C$f}7U|A^Eec9HO2r?ZOa={6<#RNoUN`u;v~X ztNGhYnf_Xec3kzA~fk`fSD47b&8wqbrg&*qn}wylpbI+KDd{asz6B=eg< zj|hxfUFj~?zbHB74F}Jy3x4+P;ERu*xbv*(HalDY%j)8TrBSROsEDc~b*I*~V~gJ> zu@e^c(t=aQP#c1|sE6WDl$2OVWqp~rKJ1COq|K-KA>84-u(SlEuk(UkKUq#<#$sOj zmjC+D%hH?0YGJajN&ERh2}s`9n|=8lEbr&VT15U@Kkykj2~P1vcIE1lU3@`#l-G*+ zdfWMYUB9&{8Eudwmi5Er%B5+n4Ozm7i6)plJ`k)!qObA_LD$|(PZCejX|Ixi#tMZ{R}yaS?{>1um%qS z`})?? zKX7J6@8AofHC-S-=H|rc1_bLxuW#p+A0**_S3WhJmIONN8%^;}VPoqfdmfLtzrG>g zn=PCl9M#4-Cw77kXY$MLvwon-R*hy{T>l`-X4;&XAA&8D#$ZWcLM1zLlE4IsxuNuR zY6v<<@8Y{hGrGud1~YUe>{97FGf6qPL40g=2f@k_b{$W%*#ZP};B8uoAfJEU$^j+q z^$VhHd6MPi!kr)<@f7eJo(bRYRRTHZhN3n$n_#^&Spc(|PBPYpXy(Ntg%3+C_kPCP zwyf8zpqlM$_xdkrfB#g+%~_+ey8T(rF_s_m$ApG9wkzf2d|x(nK566_&;;3l65^Q@UZN4T~V8Q%XlN224v&k;VErbO!+}A zZ4Q)n^^H0Bd$uB2gWJiEvx+j^Hyuf;i3CgSI%sor^or%g4_fDlvBd?#y1un7&DrY2 zwnw7^$R6TCxK$vk`L#W}-?Oq>Zwzq^b^6m8u-Mx~T-oTd2v&nRUPZgGYAb>#Fk}zm(u&LAHp>lr zz*3Lx0oT2daW5e!GPKmD!9bj_7ue${a@FG^vk?jJF6$e}Kw+Qv+n%jA6;7cwg?E40 z%$HrPLx>TSM&9PpfhyztoK<{n$$L2E;b!;=Me$_NH`ht!y97@t;ffkC z@jgQx2s3>0OH3Vb1LCw2;^@;H>)q%GMcJ3pKJpVsnvc^Gi}$V9mMj4i8*g+395k^J z&LbtpYv`^-GPioKBf8+|4O~C+tD>y0|NKokG}dKpZi8|vZ;?^&H!sGXjus#2&LJf} zNX*p4NrA!pjuRJzatzDSqb35X0gtU!Ru3xtu0bICmVb~noDCZ;BHRj_S+Loj+iDW8 zDvyeUfw5N|t1cfk%WUy_Tre@zSuIj@S+K)$!_b^;bKBWyLy51h4|Yyio01WG@P)&# z(&%7I;Q}L793GIjv(gYEXbqP#3PWyKX=#*fEVO*N@VBBJKKpDdzwryfdnstnM_fK6N$yLx>X&d zdd>KPYB`cgo!Lx*C{u09n}ikd2u|;Lr3XIIPs_~BvWdm!?VpIza5=|`rFF^AU*N4xkG`TcE$qmDJ*s90$Vsjv7aX=7j zav)LaP->>${C+>x3L%r(D2~+{&B8mI333L7 zggKucr4BHXO_MH+1OP|$e78$OL&p8utmGO%P%Jv8})H?Vv$3%isxe4}s4h-NyxC49s_CWV&aELJozs}^C^1^?D}0$3bURj%;S zEc=u6BU1TEiVdyE>q(C0Z0qKu#ZlJGBQ@zVB~tc*q5ek6R=)Y);ito)NKbhi3k_&9WfD-dTN zu%Gn8GKhw{3ev|?ufdR2Nu@*X`0ifXw7jF(l294&K0O^?Id;a}5lo>c2O1IVXD1>x=JKFw+SXnk@MRToi zI6du`ed!3WZT*XMZL7b^NNOAMIx3bMYwUhJWxa*r%ucH*z1Pn=Ig6f;xSa{+lo?XJ zYs*FMNMrXUVzQqR0kb5-=t^5L&C@Xb#E#go{P`KIbhTKoYO*LOb((pHHWH z8KJ?1(JlAozC-(2cyIHl4nDeO(7d>zAP{_f#|f}go(W+=~Os#zJ(JlI=s$Ns>6xb^zc3#r@D>* z1if}gQc;tdqf$4fraaHdqsB+LXuJp*k-`<2EIY zR26m4w0YrOJYtfLbzoO#ja842NUrw}Y|7gG-wh3%_0`5+iSDCtM>6W`@7lKM5`4O2 zQF4xczh<2bX63WPmcncnv+sar5!;p?Cn@Vml?+@`)rsRS-2 z1a^t|Prg?_(0SfGF*t%j`L<3n(9)=<3%o(RS(}c!kem# z$HaCp=p#*D7&v_4M@ZgHho+Mo%$U>j8X>#nugi4tHFx2QUUvsf8K_o@SW$;E3MYF- zxw%|mtgnC#xevgK$oNt}fzbzbe$?B798K^hQ|HQA6vGtRuo7)A=kxXg_2#{2+c%g8 z!v4v&JpU3^`T?m@!>C8)zyf#Et|JIuWb44xpF@<2kC@%6iW2>0dt_}BSm;MMjy9{> zm5gP{<2}?nq621LCh72~-imAW++ZiQE$^~5sg5KM-`k;oTQ_;Hd+y8po+kU*I2&TI zb^VeL!86*_GqAl}kkUtI8wQrXS^70Gm0d}q7tY~#!mV9({z{+5!8v@Pb+iVOcOQat zy}y>o*JEw=t~+|LHIg}Xulbkmu&!4z2finuWF7t56B7_(D}0FuBp_)AUIpw8R+6xI z^U_=d`g88>1_XILdq2AT>;|C(%kCQ8-2c91Teuy?Ypjxjo<)s}Iu=b7`qY(7z{jJt z0T}AtRe-(9?9Txg*JPUlm!BO{Y%OK)j|+dXu>g6SeTjAQ&7qG29_n37^@X{9{-&vf zqNrvh-i(G*O;8O$MFMQ08AUEHEds5sZS!bXb(}>Zh=o1Phz9A>w1rx!T!)8EIvW+^ zO-*as>P&AwT3Enq-ntTH^W{=j62fV&U}82~QI_Gqw66sKFPh=y(w)qio)3Y0Dv^`@ z-pWV6b>^-aDc63sUYUbs1rr5=I4%h7P9U6XH;zXTN%*OrRD^%&jbUG{riunS*>M`^ za8ls54&-JVld5+oo7C)b0eTXUdaeI$jdq<_T_7dh<<<07T2hio zE!D91?>*C%ArnoxPK3@9SK|w`953QeglKYp2fO>YD1v)StQGw)(MF%i>}kqt3^b!u z6u~;FDj#dR!DWWCOG2VAm2Z78(xqQm=o}wMK264B;tMn!p&R-O{=2`n@yxckAr!$> zz>#GkS@8VP^_C+46RS`V$H@mDE9CH%go3mSU7C0g^Q>@XU_H}pa*RWf?J1r%o7kqN@w$dX#5IuvdE%wrWC5jr)8}hmUc%29}VsB$gzErKKX9*ak78O zl0Cx4rwp5a0EXKf>dR^ zbZKU_IZ-vDKMZwiuW*=c9j_c33UC=wdmuz$u6E*ouQu3A{fBf0JkU3czaa>XH;l^!2!4GZAunXoo=KuDx$20 zkQD+!&F=4ytqV6;SZ~MyPckK3Gh+-cV5*A?28rpDM{KXFcUX*9;$j&n!sYlO*2!yT z?i-P2k}MyKw+#K1r{=B{vW%NjN(;;F&5h^!x zHenWTk+-SBY(7CYW2!lEifKo)&?yY&tP%e`>wJ9{@3Xl| zu@*xW$_zQhB^zb}@$K6@(I1m7B0^9D_2%LwVyqp(3|HZSMhgTPptsj=1fDw&ZJIoU zzjUIbwSH=$&^$g47i&{8<)o5>&4vy8#*JJbE}t#wV(xBCfTPON*89ea`P~&jhrBMv zBJgl5=r(WQojS+*ebng`?87>lXm#%sDi{FG(zJs|DT$^yJ+f=wP>K6Qi2;uPZ|7zV zwkB=-xrTCXisLU~sy6h{a@qS2-`bccy||-O4o znYAT}zx{?C(46_6_i{YhDUM|b6s1U}L$&z-*r~}eNOS<>&LE~x&kNav*r~A7rGTJB^(C)dC=0fUqh~~)s)`)c~UaH@p1zT}|f4N}c z@pfA5Me}POxAS(>oBQ3p+3HZ~Oj*#>DaCUo)=NvK#o5YHrx{3Susx8ky;A-B{zvJP zsXV=(P8KyC%?VH$`dUiBFn20Gq$<5pih?Un2PJ$@IkQTw3BGa(n`#BIT#EF<9?xI`;%`#afHvx4F38y{|LL zi8W9iiY>)@zw>YXYjTCNW>c1cX2=Z80u`%U(o4aC?KNFB_JbZjX;@U4P`Gdjzk|<#`gWbH$n_kmI z`!A>AVx1ZFg%~5S>7mG{WK)vKaK+4N2_{48E{J1ygE%(R^QyW*j$9=!4?oi3c{&koMLL?ccyankLe(qPu~#wA)QMyI zjVPL5-!MqdEbPv(<@tB1mH)C#we(9>7FO(PlJF7^(zWan+|zu+C>29X%+71GNwUc{ zMx@$AToWe&QAU&0azDu^Z58uXD4G5~e$$M&L=A}2sAr59X1mHl3^d4kg5EPP#fep` zvw3M3Nx5Ftj?>w88jgip4&1t|sq2b-0P?6IcY7n_*s`)&M~lM4Db)FCZ}`9+3Zq%Y?+B8 z>ItG%h-iDV|I`=t`ibB0utJqKtVPsLV<^_}pcMA~HkXzjkU&YEa9w%;S$?jEy;p~| z0_J8L+L8?IVNTw9e?`G1iKjQe*Wt}Trd~IX$hy%-Y%b9C zfdQvR?h%7S0)SC2^Z}W#4zr1yf)`%&mO!c!UYA{h^x_LISwSP$#*MMQ-*Azx{-oi! zJpZ9v*q(*Yx|-jh(@&e7R+sYDD#H|(JFTOg<-98Jae7WW{*6fU{|d(N`A7Wldc;+u z!Gif9E}N-l00%ULIfR(T_Xf17RI`E)D;7Dsr1<$I7`aIgk=V|2-am6Wt3{+Sy8dm3fZN#+BWLA*} zK*JNcr0WfmIzQ4m44K=zt}TZ~9qD{ob;FoCf-DW6?c6k(A2zRzV?584Wu44eWMJ1A z!^}UK{LZHqmD&4+-A`_P@{b3s`OLobftEbAJB?K^$d46Db0xQNa@H7=s&?6Zx#T_i zr5#wSaCZb5&9F&wF|SA?6f|iO_<};3&q<|xH={o^j%eHzPu$#}wmc}6q{S%Ga@3r! zXg&@D$=M`skN|1?nJ9VIQDqA!-{`BX0GTh(8dZIb+3&+Mtp;haxCFu8!GkJKCr0YD zmOpA0=aqe4@m69emsRLd_1j@f-x8k9W9F-4R;JU|mK)_)zRBy&ISQj_kUnR~YFl1F z$?-$YJMyTBw*DaYKNdKn8+cXOwXb=Vq_s*?um3O&Ql^egCrAeOR-B{MRVajFLmMOcWKySedA?a(QC?2 zodQ?LFxP>${ffg2N^K`}&HA#;DGrU-ay{aP_jHt>fz!ib{@*l}S7%{sC1LXWA`j%^ za3DR1R9{_67hg&jHR$S_$xv~Y3tYsP&C&wq(Mf@;BY~;K8UvyGo-uR4F)P$FJuhAT z2!w909-KSS`}uB6z@Toxt7_vs&)3oj-lr3|-@jiQ;@EQ7%`0_qd z_wt~@>Mi(7VdCv?y_^5>alwk*o*!wPRn|h&36|6Y5Z)M!R3_SnxN;)b%we{qvM~B| z88FqSabpW~u<|&#>^$nA5ErlNBh!&iXB3PfgGV%F0!(8vlIFanhM7GtJ89kLxNmq{ zO*3@5;h;sycG|AA(&ZZ7W$hh##pMhl4fFB~JdM$FaCLC|dlI8>ZM7#QJ8kBb)bYSc zjzER3=txeZef@F?eQPUyee{_Cwp^(+e~+$P<8w-^lVBT5JNKKW?zf1XD#vN$$~<#g zYlE#^o5o|8@i8l%p+2^jd-7(yfwX%xbFeQj+ezJNPrxn@IiKx$>tM^?kDYVGwpWd4 z(4LAQfe6dC&@cyv>D?U|_T`WJaszxOMuI%P*K>SCED65&D66-jT*+RU^LDG z*K^L?U%~@`G3P=UfivMo?^L{V47z7XPF+*NXW^rGZ*3ZN`@BQLUe@XE?ZI`J@ZhQrnscp~gI-fy;CbwpAP9-^#Me=FjDq zF#rm7>Sr01jZIs0K%i#E{Q7wVB1r+!yVpEGaEzbr>F!nH6WjBgX(gkw2pMQ`N})^# z3TJDcJ>6W&*8hXv5~5kWO}h19$241i+RB6-K`I-c={miDnMG0IX&K9RzItC#{($!g z%M3unT7>pmFUEQlN7qy`UQK-jes$Pjb)e<@ zpzpLFcHXa`OOBrlw@lg;<{HQ#G^PL)F-#I)^ENW>pkG~cDf=^ewfQm5LvUl}eg>_tYgHwt0>pqq$0t zmPgx{k>1XkREl$+GQC$q^X)(*mpNLFY??GcjT=_?@*l*tey1Nv!W^LDm|Zr8XwIb1 zrH(tc%7$m+NarXfwi+yA^A6B-;=I*g{-b;s`dY{7w^o=sDhj*Ty{(3DcVwBY=jv++ zPa&JxHMKwcx0>C#HJHdoK-;5*id^@wcx&A2izVMqPGV+rlO0Ri_cdyJkDg?jd%Qb> z;5q-&JbtK>)|nlSSQT=Fh{1e?f=6Xt+`~nKVQjJV?;eYTv)Pbk-nB{IB#X z4bbm-&F!GgM|rs=qlRC8s_ zz<{+U`*Y9?GZA=q(Az;Z!8>8*g2mL6;q3|Kr*7<|6+}rr1X*+y+Zf~u$aoi_w7dm! zl^`_D7119a5BQ>BDCphEqxt6Y~WMRve&2KF!ifh275oG-}!wYIj zG7cT|@6I#kazlo_^d|CDN-O=UE0maoXCl4f<9R-MRH{h=?1~T#fdRN$l;=hO6ZbM(4(c#r7 zhU!f>x&{=jD19l+_g7M@M_Y&So*WSS{F=d1D@lX!(iS8n6Usv>#W$Zaui|;NdA@!*o;N=Q`}S|s`L|%jf^a>gU6S~n!I1sfnQcJ0u^K7t8%#q~1?W~;5 z=cO+O0fiL+9H(B>gB}+#aKZV-S%-C`4Q5>(IM?UVK!5hgf1J_P9DtnuAc%4MW&k^+ z`gWqr#1aFVdo0s*uNjT`RB8NXDcAGwwUOW7>+2590N-j?| zt{T`ypnxQBx9c9y5uv=zNBS;fN&Aui=7XIc)hMw}*vu60++v+fVOdi%+hM)?SAE5% zNc!WzUW4mQAc_0#+)9i_n#P0VA;F;d3lrqwV&2l_s8sZ;qZ3)|{ejaefvo{2t@qTa z{na6D_Jhmj>n-%wjF$>c!ZgC$*rU0Rm0!*95Q!S!H_=GofUmvEu?%)W6Zu0*(tEI834n%EfQ{Aenk; zwN3@|bu~vp6+za`uE3Qrh(d%9KC&DUFB zlZZb88D)V4&FUlr-VsNANjJHVB=3jN;dq)*^Yr)jp^8FtXigIBNumuAQMC#BR||DJ zEhgZTw1wi~D6jO9m{0W6ar4-<6)8k3aPU(a9|qe zez`R~MC3d(QWY^Q({sjVOP9UO>xo9JcEv-W!{P>ZII>RtP&zN__H<_8Ql{aiNzUh_ zSsp+0%9EBVuc|t#sciu<$VINOg*%OXOF4ZGz{iyx!>*FCnyRx>n)EPa@{nI0UaCQA zo1N1Pd;gGnot;R4_AJw79;{2gu;`HB(l1Waj_&vndjZNXW>B6$dn8BBbfy6ekyjKp z?~~?UC)E0&xGj6Sq2FY7e;-E_q9{bhtnW|%#7@}7=DS7uV7O*1YHL5~es zd>Bo2gunQi?Wo>0)Jc46+;8ZBl- zthLgrm2!=urWsof9Isc6;WnHI{37FFtP}L7{vjhhL<*>W)dq{2J}lmEZGNW+vy?-6 z4Bk6{SRiXwjM4>S0pB}+1KpC9!rY!HjE7eHq8+GYxs75T?60qXy|sp6vEy=k0`3zM zYO@NkdZsK7$$NVhBY^5%eU2@rqGwpS%pSLs!Ec)YJGPtlO%sqf2pRNK2&h#mY*@%( zkFE)Z@LJx}VsO_X_f^iZ>2P^#t-3u1f@y9awiFQLu!~7ppBll3b<(#7s(mX?iPLv_ zc#Zjm_^I@u2KR|~G1F+tB762CeO8&fwGkxQ$IqcmaE7f!n3ei;!_lOD(NK?Xa?14( zDCSV1KbMxp;uK&}Ed=#(jbidNmYzyMXuX@<&E$yk+Ok-Y5}HNzn4W8Q)y!*o4a+EZ z*E)0;Y4+&Q_PnkyUhlbUE(rY=R)Ij4y+44<2vh@LIrF!h1@^WaiSPDtK&Y0wBy|Uv z8oTJi3es#Usv}vvO`w3n<7_cs+3{(Z<$_9oK6hPQyjb-x~4wc24Rz6E48La7%y?q6=T9<7kJH?Ce4z&?ezv zuSJ_j{4EK2r?(_{$DONyPFV3e4s2O48+c2f;y(Ton%W*%vq`L_R!}V-@3Lvq#Z46T zDZwN@j|Jps;m>dyRCf+Dni3>Bvr~L+0cY@Fd$471fYXkdLIB;ZZ5) z9)RrKi@#CpuPr!XXX@e#Vuo}F|KMAidMWJ%)Xn`U199C>q4WVno*!|T36!P*rhn(t z3kXZvf%JRy=+)8ac%sT0AfG7C?m9v*rUFJ>(K*KMkz%hCULOfxP99YT6^D~$UZ6#>Hz4PP&p#iDnXtKwk#~uZ8gNCCZ>aoaB`y?x;S9lBYD6iwxeKW>P#Sxxs^qQyUC4X5mNnly9(_(bZ&C1!Js*0c=#+dmXiX-wx znipm|#U=)cmWM>wtTB;)RH=L5ryUdYV+#NQPyb{=-q4bU(9p)D8t+0)O|#H76UMaG z+H`LL0;aJK(&v8ew~TM6FAGb#R884xh~*~;>*TJx(X*aHn|U>`KQ%OWy@uwncza*u z=0<~+T%q)>Qk46nC_V|^)w)&OXxFgJO41mW>d|eVSpr)!iTBcJ&JNd}2Xw7QVnqjv zWub}#r=Ej`oq39@YwcAjf4|KGXesb=ml?qynF@kg_$05aD~|Fk^UhrXX*_1++RZCi zpZP5_Ot$;opr)Al3Ypp4b2 zxoFW2HsZGb(?&e@C9du7?*aguG9Hwbc4Vhy8YPg%OW#rw5JSkBT@2HB0zo7wh%XRJ7LLI;uSHE60$D4%gjww8_}J|DkhX6(IjRxSq5t`eL(1f z<&v&R@CRY%O7a?Ch#Cax{us+l>&4V%h%~>V2fEf8b_iCFp7!#$w+FLoWLTI#S)qU~ z{Eo9uE=1n*iRZ+U?mnZU$JzU*NA3Tm&{+Bbug@fK6FRIj0FkkrM_B9O*1I988~uN0 zb77Cz1t8-CSP-e5D^yO7kbjh1Qk!5@hb}e%8PjvEc2JU#^CR`chm;3ai2N4w)xDC> zJ|*y+NjyO*InZ^j>f1~IdCyoJx{j36NqkLf6Ga)UBBPT^#cA@@KRo}BwK=)LVTGn+1&ml(#odEnY%5T2v)Eo!|*yCZ#&%PZCbQjvfq~z+y+~p4qR6&P2RnnHph5Y@!9p;nWqsb44;`xa~oiZSUHdDS>V;jWk5NDaEjtnQ!i?P0&Q9y)bX{uJcIc zyhB2b7w|M+FdNu@S5LNypSD|z>8O~g7)pY^n8)Y6XieC%4C)6r>^26Js#JagFTB~X z5;KQYMGmOnG{Ak$T6Jx)89S+gnCr4Dn;&OdnK_GXt$1^)2S=4dCKUTmNXx`J%u@&; z@YS#iGy%vaA9JJC57<;$vv?o5@mu}jC)cv|r*hiQKbW!tS0Bq=%=4J0i2grJ5h&Ez zIQ|`t|AJ|jfLvn+(WLZV(u@G*;@urN{eXKEcsKr~-o>FmI;F|Pm~F(7`Z6atO=FZw&E!@IF86#MBcDgc*c zWmcBk!Q5Kj8=y6FYY7Bp79Rf_UH&S7DClWJ4S<`UoILh&!>;;wY$c4r~BtH?{B{Hz29??f(Q2|G5CClmN8z z@2*bw-whUDA@@dyBXjYq{#pDqL`9S4O;H=b<71t?@>zMq{9B|H41j$GhY3$oegG0# z_rn*B#Va!M9X5eBK29CumCk})ur?n7p_kS;rg}7&^mIH0RG1kFhkpcYnn0e|*AAFA z6|xZd`@h%7ekuqG$hD1~f?BOF1@$ous>A=0klk+R*^$$k%%?02XS%EQAvH!QBG$&o z1=#<+zuSLitxy|~)6GDP1v@0H52Tz-F`7*VQjW>}N6L2Qxkb??x~B0XrI4zfg&Vbm zNp}G8{rvsHA510fa=F&bRMN43mGsX9{z%}D1pY|ij|Bcm;Ex3UFOtCANAcCk!mxFa znTaWCSXi4uX*=mIkJ_7+9dSd*t`qe|n)o88-W4a~Tr{fThH>c)PqgxbpLES%^kf58 zq0O|heshtZ)Hs8$AVz4eG_w;gh$@t62Jrast>3e5OsG2w@Tnhb6%BJqIT_&F6NH>` zRVKbQ{|Ddx)x6Ee%U2>|qS{{r+PxsEQ~?3XflK<>8S z>e`4gmwqC24CAjZHvq+cIF-E{VM1Kbe;}?F*&_v2t5#nKEo1M0{b-}8o&(q>_h$ls zB=AQ9eb?l(0!T&5y+1}1{H#!pMf$w{napG(DwnKe;}LWGNGq@TW+EqYxZe^AEYpgOe!4W{*$)?^Mt|U z<&7YEmbO$awdJ{_f+N?ZoBRN^ypPG>9$eb?EtHe*wk9ByDa)hAE+iQmXq2duB90!E zRH^#0Eh(vQdAPBfhN8V*rhR;6E&MB^9L)Z+jKJ=?H-vTtq-ifGG&0zgwo>!VE$n{= z3MT>0QQY9S4|ghMi2RcK6#e&qdyQ^li8Lz+~#5Yuh4~+|o0q z@AYgVL6|;BWS(&lU<%tY030kRCR&_n5qXbeGC7XZWBZsK%&B6(UW>YN+Z1T(9o`}n zCX3)WsCpsnL<_$yF;6b(`M=@EOKB~BDe;Z0fvwHLRDe*;y9+dyzDB!<0a|P^L1*~@ zMEoy=KT3`?ViPw%o0wa}{637izO@A}^>|_8=$XbG7evJit|DGwCyT*+4`Z|Q&xDCMThj7i>SWu35K`U%#X3D#C|4R;QpJ2wg0vA@qJWenPb4bSD=cQ6q&gv8rPO!YgxoK=23>>SVR4%-*Y5yrzSfI z3TN$3fcOgvzH0T1JDCoty6alT{MG_|;gb(#)fDHLKF-D0u%*{?DJw&+*|B-#%E1Hj zUCW@9?F?@@$&qvG|6}jXqoLmaIAElZvZP41kSHQlWRFlOl!~&9k|f!ZVQfPbWvj>} zTa?tb@5|WNvM*&HgRyU83}!4d^L)O#OZRqv=RD^*&v~BbJm>y#@9A_-^ZkB5%X@jf zU+>rZf&L$+2#D5!o14F(g;|1V?+TbkL8zLt^j9_IZw5#Z_85_$YMvft8M>Y%`2G4n;Rfu=h zKLgPVBE&20h(YXvpb9N>VynP-dh<*8<~brTY!r;q@Cn0Q526TPQ^VFDAmr!_b zAqTUFq6FM$3iI>Z&%`P6hRpp`;mpX2_10R0k0f4g)g8EBPp>eA=>2h+GL*_SyDswJzQMeSAf$DrvC$WIabi1JfzO z@;xauOJ$qVY#LmUaNsFK-DSbqW^&B%)_;(=II2{;hjed{t1IgGMmXqnEAZ$q%N=k| zb}^eQ8tRHFMcIUAtEf@ES@1;(>kAliUyzSg^r-}w*3&7^)U(aN4R`1nhjkzajhriB zGgnaeM}5*L@N%=Qz3T32+u)u3nG(3^j{8RCqwah@R zJE>&sWE|W(2aBL#D3hQq=5TqMVuse{gn$gmn@l1(8OCORS@0zQ@d z(zi>V`;0f?SE!!cSbI*a^Q}Lq)^mX2YDQO%B@GwE!RX5EjlJHj>DgAg+>#0EE=81+^{4PLqVyT7>#q#01nxf{sIK z7i|C^mX8UAX;+LNbBw-b|Hasc6>0{v{v;Mn07$O&(2wA)U&A7511DAN+WO4#|NL7hryflCaig76mCV8a3BE@MZOX2xpcv(T#*Dq2pcZEYq%KI9sx*N z&KiXTA{lCFJSIc)UI!b~tw!PN`HZfu&~wggc!Sm(v|Bp^^Lpv9=}CYVld04|i7F86 zDTkjd+bn(5Ca~dIoQca9s-O&1U^c0s6^Pzkr)Xm_P`$Lc#oob11C#c6lVsb!@(hRb ze^S~ux?byg6h+oJTuvN;u8O$O*d6ad$;+tBs>UU=hCm)d1ux-1#==G^?m&Ip9TIjH zqT|jp#Sk2ap_YKV#>(B!26bionxNK(iKE8FjbR?je|T`pmKP)8$_FM~0PA>dM#g!8 zcZW=N(@+LfthKiJM+63#B6w=6cs@GuX7kC%IA-w-(4ba04@grn`6md6EPPJix~Wa~ zwrW^cZRzFe*WNTq{|RP(-1LOQi?{YT;~vrFlF@ycZ?sz=k*SHP_u&pCT&Xh^v4~bD`?NT}Q)1-$`1i zyDU~Qq3Y(j!eukxwB?CaPpGfISHC}MyHsvG@F?7~D`w~f%U9YkJM|r+Ga~+*eU6p- zPz$vY&?9`sOPY-5=M>-dKC2{vzT3$UV^CuTu@hDPCZPtHPMC zJ^^HBs+YJAL`eFqGu6F&_HbNmAt$92+(g@iv(im=1B53&De)fn2M%ejFO|39M5H!9 z15WGepmP|xv)_xs=cRL9n~zW8oC>}Bre`~k(xhUOt5+r02lJ) zT6%HTrI6&x*z63e=fdTS`PAGg6n5V+94G+qr58FoQ9P>kIA&=1RNNi}qR;XNqeHt2jw#V^*t74Dzq z9#@s0;hKKRJt&1FQY3+ryVtrze%QiXgJY>>Cd3m$Y)&MsHQV&hFdNCM1V6q>Cpcmm za0AggB@^!+)~*)MA8rU`1$OZTh>l*nQ zjd=s~Q0%IGLu8qTh|6~NB57glTq3^uF>-J0*wyfvOFdN4$P&PR>@b6b{t{*&PWJcO zh=}a7=LBhleRtRB&w9OiF&WyfoZu0fqK7-*l-s6;E(X-8K0zU5o$GTANgwXfYuh;Q zjQ3hVfheS-CT{;8yQDxr>Ux-PMyGVM>KgZo$FW?5@o8t~Vq!uS`@Vp^n z&if2uthP>Pc^}Dr$47;7Lg;{Oy`)6 z?ePH_aVflik=s&DenAxi>8iEle(Wn0(iDETCLf@&CA*phDi4mZT{3H84#wS_U=k;s zIa3;S1V1_TX;-C{IyF6rI;tQr`uZT@k>^^#2Gr_M(Bj}@k%YBva#)xpE35z=>K<`F z?@g6@GaNRbIRWRNyh$hA$|K~UjVWycv}G^%7Zsd)VLH6Du-Xb^0v|Vl=mbUaS}Zv7 z?iWk07sgeEXglgv1+2owH*i|-HVf4=ZY`f|OSKr?R$GJ}wNZ*9Yb*nHn;%1t>5`y$FoX5Acj*D?mtU@y%B4(c>z%x^}*}0 zY<03%ay`^CTIgr#{`%InxrWZ&Z*kux!KU#(ugzT7U5xX)S88yoCKa5^Duc}uFDcHC zTN-`RAdf2CSTk0M=Fij)5{u6Xlld58-Qk=c*G#sHm#GR7za)Ps{J64(|CRnnT7z$_ z0(`R1E=FYT3`%JwJ{#h{9@}0i2-BV^a1<3-k)Kmav~N2oO=5wl#2%*6RFSH zFMwn52B#Iet4^dcI7Jp$6KVnm5Cxq2I2jt4M6zoGj}pc_NUB8Zm<7ij7nR+jWDfW?1hNxy1tx*Krn*NZ zx~EBe6Ib&>2yl5F4b020i|uSI;Wypndu1@$5a`GI(Z<_tE6AI7JTy*&gT8r!ODAcF zypa8;!fWc5FEn;eINd-4#41`tbvFa3-O04qnFVgOD7K;jHS90uQe2f&pMz1M=$+?T zN21(CR2V`{M5aQ-Ng`fAqC4?ZrdS!XgTP|s`9 zHdEp?f3DPLtk7q+(1RV(og04=v2t$Eaa`Gdl4Yl-^0A%7lLt7dx-<-FP`8Who9N|n zYFp1IN&L$x(fFOM>^@0qsCzu>>;%8FQkWh(YjnBmn*9D-7Aogs^ajyu>k&ojNos2R zH|mR?0;{mO7Q@1MZesRjl8O&?bb9cOf!7Nzp{%;D7Qz5yaiq}B`H5@X<@20Gu~TAIvClMmVnBc&znaq%r0T``%^U<+0Qg$lit7=q+o{t?Ntt` zkFyb>l5P#jl!f%{s%!I-@)mlojo8FL*sRy~xyM6`x@bD;U*mP{QrsJj25<^#I@ma6!fX=bI7vwer7@hbyzIBjpJ(2tn*dpd9PHo8W#LEY!o|mz zSf@r^c?r*-%SBRXy~^xP(_!msLgzoZB|cT!vqymShQ@I@5x-&I-44RSvQ=SPgA9kI z5B0uK;Sl#bp;=i~G;ri_z-|5qxA_`Qne2_Zf9E+T^9tLH=Jx4lL!v&j#l*Ncj3+7H z6pls2<6C2C&CyHoePvimODrui^A+y!LFI5g<6X&FwUUcL&DIiiB_1h=8yR~$oj0md zR|0Gq$UWt&`OnUU4g2jkTZomO6}%wRpP8s+Hy}k{y7xKfF3u-UHKzmL2rNr+b1W23 z# zd=EZ$#Hcm;CJ_BNZO|>+oZ>UO)VI5=&k&iJef;#XNGvv=FV&W02|G(SNmbG6EXq9- zH2H3H9i6Z#7s(`(`$?hY_2uIIN-gS?YsTi^D^5nPN4KdYAj(M(!?PI=9i(SDr@^qN zcPGQn;hn>#vTYA=namQtw0*2btQjtiY@=i8b5#%O0y7o(Gzh|2VN zgPGLdC{NkH!v?tLjm@#`D^m3Q3cJZG`j)!mc^vB9`KcifQSb$A!`kgEZEOk*fr1|Q za=L4C8C7eGP^DvHWp>d^I&gfBMwPrx#~9Qp6pg_zS}z>B$Y)%Cwz$7yO)BxYt3hyI z^m9+{>KE-MLk$b?q5B6T8OWZX$Kl!3W)7+>&F%f=A>)rtla*nl?y8t^@8fp`Ym$5l z#@P@7OHwKibSmn(E1NLi5LO?|&RSK?Cz3XTbQHygHFuyck{80$y#|DvGb*U-78;Xl zIm2*VsKV+TSp}6S=8KY!YV>q^=F)w`X65i^M#Dbc#^&|X4`!0_Co>7igu;7wy)$1s z`sQ)B&rqd~`r>japmoB++#WBKfZxU)3%M%Qr8WJ=X!@>luA6iZ3^b4 zT>YLGzCX6hQk=t(&X^9%LUek){*JEvf`Mmkw$3iW>}TaO*Ok*tms6#?O7ty8znuv= zw)z2ep3WwOQ;fshN%YEd2Qq2mcx^!E?)z;w$ZM zbm=O{qrsjDmEXGdbkD*cmffqkVjvk0K2ODTB@z)du##cOMz{F{Mt<^jB+44mS(JCn z&H32XHqj~J_M8}$zZ-DdD(J7fN#Yj7w>=lRb1ryJOO|dnM_FIg1Gi>tNBrV6H0aIfy~LYquFd!} zkdLa)b2c21b+0|V{+sE1-cn~~$;DYE#4{r%*@E5(i&OOce!@(l!tSDbMf7(IOc*b; z);36sT-h8Otyl-b%@Tx_Y3(Nyw#t>9Rs_Pu;geoxU#tXZZ=5tR&1GDC$fPJT$xdl! zzm(4H%mzaTJxy+#S=tfLr%ZO{^K~4T+f_^-txIPh!2e*aBitts%A*H2C}PrD(=NP1 zZGH4qD6yxs4&^+EZY>H^r;?wkKU(71SJ|}TO!SvfKNcA%9(DWXk^8t*f&I;&eG=|tSr`85t5kMrk-apJL^4N0 zp?{;&tBFhe+^5K;1m$;Thj6^*v*!4>A*hN1Z0O5>?p;ita^Raq6B!KA})BBqVaKf1=1 z)_xYH1jW5UHXZgwq2+-7MUPvM03%}#ek~q9-8CLQ*IS#vK!+A60YrxN~TTTEKQ${hMVu~%{6$`K;B?VWT1aEl4$tKhZpZB6u zC0qiHfk$Vt%*-e(|E0PZWztauvOaiY(7LVBds*I zR%>ruE08^AzH?ZMBDq~>^EdgZ&hd*kWCF`&nRshn>I(MRIMdACFyHY}cbMj0mX zbFBEvnIq?3Gwu6`F?B4<$A*3#fve0a9qb-qRk_WRaYMrR`P=jw(LPG3fenMz?FTH@ z0{nM_-W3nMsM$NswIB~EZma%QwA`uJ!*6n9=kPc&k&Vrff62W0_BO|hW4Zn>nusO_ z8YhtBlCVCkCX4`M>q)HH4{iwm3BHeWACqaW5D0m~Av=Z(mGo(_8O&J{jFJe(Plsn%4v8k7sDTLxxcB^5Ui8 z;p-b?ubCd}$E1#nTtDJVjINk37+61S68RZ(^yTH9#PN~Xanh}|`g5=w1b=*-sY7vc zAwK{Z{O$MFUApk6)e^Y0Wwmq-+QsH#8OVFozRmByQahYI;E>pyNXZ7M6%Ea z)Jp?wrIi}B8O+`vln@&;G|F)HugRdw4YN%`B?Cu~Cexu#VF?tyF!!y!QRA_npEw6# zpti8_bOEMMqZuOTkF%$*3NAJ*+<_m-RHz(-FiRw#h)B}?uTj*7af2D@?M@HI85q=x z2~RA#s~A}Mb2;SgQr!DL;~>}{1In~rG0{xCj>i}$%fXRb5JA?<$IG5(Jh4*q6#qnp z7Ro&Q?b^brjLGx;9*_nSWz~_kdgsh;Pj4!n%M z&Q+6%sONizm^g`L>T79v%o-RUm0*9O6*gvLbN-@$w;-JHX6MC!=t|fi+L?NS7zYIk|lu`IzyxS0h(t7)>tXbZn zgD-GhZ?Zt3U?W*CE{#TUIUVs0x*#O-Ew_t+uGm0}KW5j2gbkZ5hPC$A8IYl(+|>@& z^ppf252QKk1(m`SmGL72Yfc-WRet=L%%U)|I+<@*ukb-NP>`P4aGy#HgeNbyGHg?e zBcPid>=}vE7akvFP(16ZH)9;W3QBW=6Oi!pkw)xE9H&5mj7f}%pN!$m-vIL zbTZiei5ZFbs4I)fyQpP2t#~^IhSQp->80mhP2|>225J|_TD9{O(HizESK4@6biyU$ zZ7hiB2~dMTkh%-Y^E00pYB>qjFtB8JyKDL4a{>~#`;G0cTe(e-&O=1_JB>WyffvO* zBZsE%t(>hprp5{}a6Nlemv{3>aDFUSaD4LO@Hgy{AdHs+A+DNtM>D$ge23Ct(XzOO zbh&E#b9J%bL;e?)t-|lA&A}?!3%E&)*nxd1o15%~2o{Nig6yQUE4L2?I&T92RX8H`8x`BG3(E@r*9LH7LljuW}S7i+YaZ* z<)bXtu)~bfxcj^B_)r*Rx#&-@GFbD%;ZdXN2(8h32!ptcCuAidXHKDEezWtRzWr!>9yw zq5{hW<0E-ZN!>sxPxDno<>YIv+kJj2#}0m*$UXiP$ng;6(qZ}D@rcm&&26Bn8KJ;B zqx7&vlRn|u%8u3@!y9*QT8>DsCDZ961~V3w-|hVxI5VQ0V#cT!-I?I|z_odF$2@y+ zz;8UaZp2#2+TTn3l+k0im2^SjW7hYri&^N=n(pDbb2wFP+bP>kPJe~ZC7-|N_1lgo zSN|<~)B*7L`74)nj`Vi zhVRt=9zLiF(2rjKgxCIL&7(|{+tGM1B+Kp<=Ictv2(WLYTm2^kwdDi@Dwfl^D~nN> zg1Oj`rm!3}`1#SoLY3v*<^};ev=J^t1TmMU0GZ7OZ)sC^dn~ zx5^k4Nm*KNw!fJBR}?1FACEmhJn}ky0TfBr>+@hD9_!XHpe|*5)V3_yNex9>ZH%BazH_dWi5T6^DCeemMvci<3 zycANXl9{DBuuqnLALjTH>?WEa4A~7TggnoDW{N%HWt08xtIcmK%AfXjtWj$4!v24y z;m>}U>CsZN3AH1>GQ=)Sb++~{LG;&uiKs5q$uyM4bj|G=Gt@SN9ef)1sPnwPW)D2% zWx4P@+3=47Cg&>_N{OutZ|yRswZ+VA`GNKwMr~tG-WYY`i)DifD?><}*386i{*UJe z@=ngHH6APy5fr()nX;gGfRt z#XOI{jm~0G9jGdCr#oOsZA3)$wdqo#64ovRwap7*cdINgtzf-+k|EwpI$U+N*A;2A z6g}#R@(g5q8`pgbXCsV*61dq1f?wNmX z_15KA{c-tiCej^J!R6nWQ*a#vmp{MLuW{?gul@UvS2B5cf0@eMY|LCPAK>}i@C|x&^baWbY=g*$G z8kAiZpU2>S{!1P(O3Z#&=%B9ajhc&XfW@Hw+p@)<77KD8mVrMY2w@{<>ykvea=CDi zK|k<_!q-dzleYHFU4cKWRulYhze>+`a7?2PB1`ZoMY_B!C^P=sTJJ|~p?)vi|{t=(kv+Ux8 zP#&STJpJ{e@95M72VVbn`u1Y4|F7}+P5RP9cmB$Np<@f3u7iHUTW42`s5#&czNo

80BLb!9 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 literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/18_begin_evaluation_modal_advanced_config_dark.png b/docs/images/basic_guides/18_begin_evaluation_modal_advanced_config_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..4ce85f662047494ae147fbfaa37d583946748ce3 GIT binary patch literal 99406 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%0D9-Dr3GC;c361z*hwY7_>515Ti z4LUZJ4#6z*b3o`1u`;2m8t1YJu-Z@-7(OjJAJC_{nDnVbgl)Idyhn7z5DkPb!N8%2zU z;OY3`Hrz8eM-cvq^;sL*)xw=U9h1wy_z3OJoK^9y$#(x9lRK&XajnmLjK4X(_bA~e zY0@vc>fRwmB^B#AX>jICnl=SVSC&Dxq%GEwdLZ-zq<}#)?FoD8vrW@`*wWdn0)@=2 zz_-DDUd+q7?n?hF_R*{jG_pHOrS9vyl?#4O*jz}9?zoVW(EM6!$}ao*$z`g2O;@n% zt8dNaf)H`7M1L_ik_9c4CG5i#v&re#los!AFQ#d#z$M5C-)-@7biT;{Gob9ZdpoDh zmi)V%GFe6$Ytb|INtC8?mH5TMWfg(Mrbf}l{N+B6*@dl#(M4Ddo%+U?ERNcx^VBO* z+U6O35j-Y_-JV!1X|1_mR)afunpocCOs&aw597$-=?_mV9}VR2Lkw!fd&a^2X=r#t zeJR=$wfeLuZ5EtC`ujviA28JbU(ZDI?JITpqx&(A2XV^mB;yqCbrF+@MW%&f1)1z6 z7sPO6zd_TB@DEXxb26({OOG9_eMUFA&?uP@hNj>qZvH-(44n(8b})NTn}tf1gxk(GNF@gTz?{PQ@*mLjT> z#aFa(YHjGvgevb||1ockFy>PkaY-UUYTthcq&RFsJZ& zuAU=_EUJU;Xh`_b6VXpkhn-{Ln?bW375TQs+u+otjB_stIVYX>P`Kw6Zf;(wlQzwIt5U zM4Z}#h03O=ve7Eea-SD#vSXBsfOLPLd@exC4D;f>JnM}W09k3hA%Qmv2j`$H%-6z z%U!Q8Cx@dKpUB_;vQP!W1xB~o{KZ8A2Vx9JMpWP0_gLfvI=x7#KN)X1H6yzR6>!T{ zzFHeGJIb5JWL_y?;O(t?iNF2-JmFtw1-1ch>E@X}x@BLg)&|@j3$Ue6Qyqx4E;sv3 zdCHH+kHvCZm{}< z(Ne*g^DhTFb??rBzVNpPT0t4R8GQPwvyr>Kph;LU6akyZc~zf0IDAU}0orkf{Ik87 zOvslj%0-juGj?g!%{ikRN3cCitzj1)Tpd$aHGIJa8ap#?rmkFtwZ>`kZ{{5_I!Q&E z>9U}BrDqLiVCCFD_3vcRKLaD=`S{!FSA=_Ev%Jem?uESx0Qp-)UcX{g|Kd^$1Ryd&eY z@U15FN6ihary!i5{)~O%*ivlOLA%afO7TYsu@_Uq-Prhqyl~<(ATg$1m@El=5khtC z#v||DkDqSV*n*9rR1m{TZ}JvFDiZJW-nvWYbqP_GH;sDU+)M*4 zz0uNMI?LlnY{mLJ6AmD1!%=T-S}4Y<1g-ZxgX(tr`;P=pxcx3v-gtBaaMa11SZ+9m1<6G6z5!QsL`0gAL4pgV~tK?^X zjPRxpTra=35LsGw|IBW3T6S3-FLFJ5AEkJHJpA@-eq%%NLCbH3S38tfo;CJWdenm7 zm~s-L3Z;5r|$BDgW|C${3mSl(B}A6mL@tZ=HGP&~q)#qaPHn*jM)G&M~x@ z=+y_P4qDa47lDgdu({(a(7F1YCWzvO!>vcn-Jq!Y>MwRLyLh0fjQnF_L z{A9{1N&=NT_(jSUQ`u0CAZii`7b2|pU>B(9jl`ft6n1~9Sl}lI33Gzno^J^!urQd* z_ha}oj6Bx7BOz_zjAnJI3OU`ps)TX~_42NN!YC-&w~paQR^Lw-7&-VgOe7 zjXU0apy1HsOlS2)t>v&Yad9=t+W;`_R@ONGH%F;xi%(0!wM<)UtR$$dGEA#Fm6wu8M)-w=#r zty7Uu{N@+)wq9_zt?J^;=uC%OQl(_k`@BVtp0yc|ApUe62~@&M03^g(nIzO`lAB01_LiJAsGPfN z^PD}sY52{=9UckP%wk^cL3lPzscT;;5;XN3uwP+=@J+trq_>|?-LTswfxVIbbDVV8 ziIcT|8z*BE0aV@OXN_%@s!1ReKWc(T5b(LTl4x5lUg^=;x+@Ww+b0K+0DrrVTsr-H zBI04Wdv&Vn;qGHH(n*i%vJmJ!KQcCh=Nd!*1U7j___>@(={`)k;G7KGqqAJXag)+w zt19L(mO4+82LxVS3rpG0JS|H+bSpXJMQ!+b&RzNH3k=f?@k7)3wGztM%BzQZ1da?- z^(~c5CI#)yW+7>(xD;Wgb5xyw5zKN?>n!(kGkYk)A|x;~FORA_pea0yzRVj)U8^}A zcl(n41R=8NL2SK`ecmOvaxrl5IH@Dqi8~~zGbk|snGZg#CASO7$U|5rpTk}RZWu_2cw3h zE@A5UE8BuNUp#2(*9OzVH<-ROYQ#mZ54QEF%mOy(!pI6DVz;tQe7x^{Xhh%(EN+|^ zv6eiUJI#=@_%hO98L<)#mNS`Q*U^^x@?=;kAm+RT%6I`(xLX5!0$dd5Bgk_cz{%xW z-+*s7%hB^JpFj*RbcmwbwrQgNJ-V2*0ey81I@5slfo3;)=; z3z;bwlJLqIo1c?BD_b6V=?jD;Jg(i>FNHGnD=|uZ2}fV1B0(YkBF+HjKdhAh;!Ai^ z#5yOb%rxGiXI3lN!$NBmLpTKH5-DS~<#%QmhFOhQVA0)_KVdFkCb4%VyW?Za?Puk> zzA@j(NaiYk-S!jsU!NF?9TPyw9qT?rrp|l?sUG_?nDymusXr0|-)T|}X7w4q52&2EoV9;A879T_caVC`*Zx~>cX|(ppz() zDd(>%F4dAuH+q18OuiaFnPvSDQIhQnNFB&r%6a*jz3Ns#R@zfnbN9L`p+l#ChB=P& zB<+yNz5nil-g&r#4^XBdYE zI~8|+{;TkDw*7~v{w^&4TVe3mZvCI&9rv$k6kBb>F5)_>;TA8Wy-)Z{`0ZjQRXKDx z>F#l=!+}1;Cld*o(r-wp^W^EWtK7Nr>b4BUQLk5bsa1S#>}HjC{G8lR=+&#Ys~&5^ zPVa?9ie_fpE8B+GE*4RyVXAUhGe6%HR2#C<)a;cgs)?qg;vjuO8ZmQv!Y=PltnQHL zMCdbJfkC}1${{2w|JIKEYl9t^Lc%J)gMPQ6q;j^e`F&n4ZVl?QH0-@ftrG_00%heM zt@M&*FuNl-k@j#B>0dStUeqNXh~M|q73sBpiP}Wiea70lSv)t+s^=ucwY_e#y5q1G zcfs!t41J-I;6HVl=HIp8j|KBSg0G#sT~z!JNE98!9Bn8p)iV6^M!K%p`2^pH!H?66 z=bcE$!Bz3BkGcGVvwzuP$QJm6fDQk-GQKArr1LSSSLX;ev(2x0_(r+R^NuJHN68!P zoZV;YCKwB0LWqq%Wb*T;#=pcLgsS)hpf({z40J0fA>#>J-f5<5m@flVVQ#y z?|8#uNMJKDhWA9%zZUSvOTZDr=d!7-LBcS9#6dZm2j-9LlRPCkzWN5{kGwmjS<+T! z%o^3=7)7pbd@1~=B;ZH0`6_(Avgmrgg6%i0#2OKx{`o zaoI#7IR?=$8G`OnZ^#AN<)e8{aF$Odq3+LKi-TU;d0<3vj|f(;C?vNbxm^W-8l+*T zm8|>Jqj`<5ltPwQ15iOR6YVv^#h=EF;*{?t-=8x!vE@@{?gp{IP?so8iqA z{>zqd(IUi_RE%?t0JSNU%<1wqg2bLu_ZAEN!^MNvFA?Yu{gq61`~g!aF+w)Ve+g4! z9NOQ$5$;4x!KxNg&Kxx|XWyK;zP0)l2wyNdtAW<8tbPed8fRuH)L1YFFRhL-ZfQM8 z8}1EL6lSvol0r^#I5btq4Pj8mt-^>u%fVz=VEPEMwSxr-5T=|n%svRJ-K?Ri;u(Ga zr-s%s==w-(v2lSx@(7T<%uEV+t-dESZm`b2{8H8L(T@8QhA4dcnkrbyhL}yytoc^~ z#HNdQ?9n#b!*U-XaH?%j+taWpx?$MI1$)_GyBwMR2rY>Jx|c8NL!#(ghXuH=VELi4 z<(J|t8a9eU5i_Tz(vw4{1wQHyE?rVas$-p}E{`eb5nsZFd`A0riIK2`^^dxZ9X5Mg zo@#^hBJE2D0Jr_1(ORiulXiO|-pLP$c!l|I65rViI7SmdHtW5Qq|RrWLw`PSbhlSF zcfdDrn>}h=w5K0Nv+%CNoR!SmU#3a0fr+$B6|fEc;h>bx^}nYG?KJB@e9n46iaQpvU7fbN;QLc~j6p&4*2CXSkp$UE z`RDYumNk7km058$W(FbOAQpU7xtRVm{3*_&VBsh--e4R{2Q;KqxS1J22x5k&gi?zR=~|n~w5>Ld4{) zdKOZM82?;|e9HsBvff>|XU~yY84|e#93Ef*y$>-PR>>J{;{gWX_wQ%CR^+_Lz?jSE zL{4PyQ!ME_FdNF^y&%P>%zxNHS#3S0%Jf^sgvb{eh9+c42f4*_%%dJHtmTCIDsXfd zm{ZwPOuwZTzupTqjzJ%BI5^stet}lEr=0%^@Ii$pPegSc--pr8F@T{x-%bSoS!A!| zPX7%KWqBt{0ESXsde%KblX`G%oycejUeB9lyD1fh$Ivd!f+MznY)Qp6q*9{~|EbRU z=8O>Oj4-A_tTIC1GjHF2wjj-SmjCb=Ff|XzaTTc}oYpYDv&=lAFbJhSb5mPKUB)75 z#ZQH?17YaOc5J1wlWSam(7T$u+TM_q%Your@QgjRt%RJ0slNP1WQ8mf~cJtjNZ!O}r3 zPL|S;gzhn|jcIe;$5qgjvEigP8BSS`I z$9O~iSlV*LR$L-xasKRi+OeX8F6?HOSgn*93cWKG-y(83d%_ipaQX3fn%F|FM^i6t*X|6s{A9+>lD#m_z0aPV%zE&^b9qU~x9R36# zjnl}+PjHBQy8wQ(dRrC67)h;9XoragLh1~ z@o26Tdx9y=OfofP=GdaEo+@K!=K-zEDXQvasbwHW>z(VBR|~+5F95@@a?-~4fB>-= zj8Bs;6>-D#a}FW%>aMDzR$HB_4iCdZqx+ujLr$*YX#;51K5w8&fl&q7%S*yevv4&C z(%JmsJZS1;{&K8%6Q`r57`mrlf77h` z7J(n2GMvTg1q40zoJwsE);E2kRF_DR?0_B5SJCc&b58a+Ay(y&kfOm+qoK7&kbHgj z{7Xb~2Ge4P4`}y~OnWE;Y|1l&y6BzWkt2NXGHdNo0rtjGEg-3hYNcFbD=P$c*b&Bz zcKJhTTFO|edt+xlmxp|B^IR;b4|z0`{c&DFi_@?8MfPBw;A3qYhcE>JHr;t5u6F`a zQF~A=i7S1LqLd5u!=^HVgFsU^GZs)Na4hx$9zLtJdXcI5x^~7!6HA5Mq22?Z=-w|k z^c_Wr%8Bo%u(_TN?b==$%qKMXtYQLkGOY3trY|)m0i`mR(9~Hy&wPJjewT>yV*#PNi(797kCbuVlldLulXR z7Glai|Va~-;A4%Q+~h6HEN~X)u!V ziHyUa$cdXuZaOE^iyJd1vbnf>hHQ~wx`z7sMjZnRS8x*$-^S`&9$A0#Txq`EiYt#Z zRsJ();rbTtxE(UA2KB(IGW3D(5mEU?(>;%$t+*YBIUm zZlBVoSEqAK4Oz{^n7_&vc3D`**kYdKS7r3sRBzNkeAX+(CTJ<6^a@lQ_@2`wttu2* zr~_XSM3A3|VR3>wD0eiE zg#u~7$Pm&J;Ue!p?ny*$mDqil_~60M>Wrv`&0D%1bd;V)H-SWM6P%Volo$G_Y0UOE zF!WD8GkwAyar3kJ+hri;Utc~qEN9;>DNNF(E%2JLy1VF}sfjtwA1qu^$5phA(S2-Y z?j@5LNByc(lIPefG*Xf^MdrnajQTV(Q%$kQUtyipkiuGk^ zhm2y2(|z1HTxC#J9o4BrudS&uRvme`)A{qvS^8@0kJ56%bIIg2WN=X@+TpRt_ymzT zD;hI{ zjPSvsb+drGLiLQ#mSKWlkMsCN>#nS<*mFaFF4wACpMIn&SdVb-^F?QY4{y|~>*CHt zvmax}A52Q21Lff0mFgI-!$Iw~^7Of;FePd-DTLT)D?rIT=>%rlsgvl>D{?U+ZZKl> zsF9g0551M!5bKN>7hR$ztD219<5l`|nV(>4q!nh{VoOr)IHfvEsCjC2!?kSwr`p=m z$Jf0tqrEBmRr%Ck(wAVP!1pXuR=ZQ$=J2fpwj@5X14;o;DYf^Hv3ia2a-2?|=6B`V zGv=Q@&+k1P++M43noBUzzsOejbLkkZ4d!{zeRM9-g1D-&%lUdAjOib8uhjJwp$Fzu za9<}N*>z5AGcjejvwc>*O+O?z;amY~;=$t_^n#;o95d<6>w-E|Jejs=djIP5aA^Jz z^PdPXtFDCaHm(-1(~|@HBgH0*l4@r78IlJsW&RB1`l~31pv!b4i8Fdz&aD;3$1*hr zRR8G)tg|BpLbDc9${{wM=hhnd&eGSG^~iNu9%c#fwaCi9q7n*$RD1qyOwCHQ*8(qb zbxcmb_;f)$vkIzt&pEd}`uXS9BnzBajx`D@e5)6HoDFH-%hm!VoNKaCqs(Z!b!x;p zj++C8W>V)jlW{1KwNph0_1^WERAO>t`2#ZMh%qrwT%pLPY{b~fT8y}w?QV3;dBPtf zkwRv_0R>yZlVbqHzbZX`Xg>z2woeqxXrW{S?#(wcZP*kv-tFetN|tyVGB}`N{IsX7 zxG#;@6x26tgcnz0L(YHWmzx)2^`ageB)npW!1Px5iq>k(ehS0pW3IV8{k{(_KoJB~uekm*`fxGW$9#oj zX>}m;rdPD|1q)jjI^Hhf#MMKOR9zNtasYiK`8#c52A#|jmJ_`P`;In^@)!%xw8OIE zV||+L;uy0Tx|Tb~T1+E8(B=A5zQ0<05~#s9ol^BDg38PtWmo)ohfn9y^-e1|ofgz9 zzt+7aSYFmGZ|YIlBp5bdRT`XVP674&D`#e9N_8C0X@78r*Y~mhQ0*n%F^4pt>04vP zUg+g9HP@@3Ed0Lts+BNup&MU!3^bkLMUAHQe0S_@%&Q1jQ0xwgn(pA2t+=f8(gzcn z(?KDS(G80ho#me;8xzkyFBmcEUnwjwSMs<=8vVXdg*2W@+vnN(D}keeCdQUZD)?d{ zkrp3=uyHcU(qLv6-w|D$SE{w7`0>|Ov-H7OSJ>~?P>k_T(tL^IWo@$$pG?*K1X`Up z-*Mj`Ix7TIj&!rbiHaE8Kz%?2;q7krBk7OLwh-U8(DAyGV2DaR%0{wH5x^@P)E)j zZqG@?I4H&jM7IFRuZq#@LqUW`gqAB9{(h z*X>nzh6CUUB#ycjK8YN!(naqa)4C{uuWv6!6ED&gV z*4hI*@~E+TZTpoI3`9j2(LFK_ow%r;^`3!evMsCgIG+*=mNVD87A`4=h+(izqL`2d zcRj&68OF_Z$jQ63FVr6=KWj)=R>dp)V%>>>hXcD?f zBh9tp+@Ddp#Spo7)`yy_3@rpC`9)7vQj`GTL6z#9-QqkXaGsyz5+4(eU$@1++Y6+u zO6{%*vhlCC!TK+C7=U|a#yq6I9p`&!g$3JIq*9!I&iE8O6a@wscdh@cB0c4-lFw{{~1 zI5n}ed*~i)f5A;Eqm0W^m7hHT*P$E>>^Y0&l&O?B`K-G@AeIC(6gtTJ-Z^7ee-Rm? z6_Tcx9;N1P95a|sR$nEK>=oA(bNxfh^8yp{9C4;2qH#efrV&lK<2Of%!YU7`kI`VX z_exvj3Cb}f<6bKjDX?U7Wu`o`&px$j+o=t%h5vUcsERUnW@eQ&;xYFmS8zRJ@Hc;+ zz$+aIh^nuiljMmoxw?m1`W!!D`q)_CAy)3@Af!9BZHvU)rKl%Y#rf~_y# z2`nQgiS)2{I3zw@mX});QRRT3`PK_tCoh9G%pR{dB6_NsQQ8R9Yf!TXaA40BVsM@K)Od zcLU?w2iIGIS5jflLFv?9MVSHxMSvAkEsD!}mm5_1o{W-dm4@8mV)_cB5BvfSpAL;q zIb0IZtX(CZYa|L>ulv#LDh`GAAUdK{SdaZUFeBI#vI@L6&Go1Hr+G>ah$0ti?d8NL ziL_qNui6A%RmPRa#JC{eK#=F$VSFy;y(npezO_PAIX=q&qKHh^b#lN`z@+2&{AmUv zH6M&Xhonkn#$&z+s}RiEdWwBc zOeBzjW=w-zV}0R6S^wY(S__Abj1s$3N>6nyljr!YEh4jr31zcK$^lfMs=)|c)zduU zog@}KM@|}uuYgY>pq2JK8}{5WA9J;H8zab7HvAv1vSC70wp#`rU+yDB^Cuwc{9JQ| z-&c~2-|bx0ic0K@ME2B}{?Tx4W4_IF-vI=z8L9l@kt@h{r=_Z$lZ<63Zjz(AN&=&% zj8zD!I%g@c8vVGsPIp#*VFEGiUz;nrUV8^5)`HfdqjYb+g`h>hjnfGSB(1VW_v%{_ z${jf;DJ7^b8}sb>W;37qLd*x4j;c}E@#QN5$g!dq8yQ1XU;Y5Y6$As8#7@t$i*p{E zv1p)3l)?7`=)6sRFhaLHR9X~6!b~&Fx!Q&Jx4(-tC+ljm;=FT`t=86X$#-#11|kSH z(}RsE-)@S2e_|Bk6cJHa*M4DmK6EQ%eImC(BBaCiaWp%xwsF{F{jjL?=_6jVG8PXR z0HSu}|F*n*;mI?M`23f2Uj1HyDr;Nm^5Ing-j&tI9GY?Y$|72*PKSD=oD3fm8*m~i zk{ve=9;`QMSd89_r%zz<&8O_omQB)^lv}>j*yX}WabiY#PaEt%5iZ6Jp{$A{I(GZ+ ziz}UPRXi*&<@U%d+jVLi$3&cmrpD1zEy4XDMgojTfO(fC97;}8&&db@522Ha;L<5d z;#y9w)~RWUqmApC=q|slIPYrwVrq<}+^jRJ$s(sLwbblIdd4m}K?X%oB}_}!T)!x% z#&@+SGK)}l=-5=M0w1>nsp4vRZqHM@KpSRb36!9xYrTq~rL1r<%$&u>wnSJo1c|La z|BezgDu1T_IDHk0F|jO|V=pn&IJMMqAg-%Jno;lFjdD@#98I|*{RCA-R;;TR1yT5d z&eW9)5k@1Z^*b|Fsl|rj6=-fO8bUWwSUZnP4)SaerY zKjAyRlI3uft7$$Q+?RhU!uc3XQ(NUxTR)V$Ztlf-X?i5NPOT*pJFBQ?F?k}mWHYVV-n<-|g_puI$B?1z zf#%nQdid+F&{?T3;|^)}0^yBcKlM%io%6%3S3#VLJW#*F5PL|L6g_5Nyu&ots@Flw4}Ecx07;5BCm zwbrhK*vd$x(|P0K+Gs@>TCBdApEXi6@~BrIQ>d8s$|Gq8nt9hrpjq?x%ExyYeLyk{ z9!|nLKA2Em&qFJKwTdEoEjxNwK8d1OTb(V98N)QANo{c(e$L8;&XB5`t#Q|uamN*8 z$Ql;zWjKN+Uq3fam_j0rvQe&RqBcs(35Dr zeSoTjRk!W-zihU@;zi2iMLy3zvjmJjT4Z($yqJ2O!w@%Z=$sjlUx`vJL~PF6h4INx zPg~???UU(_jk$|>q)6pIAVtXhluppo=)9%H1_vxbbAaixxZUGhX=JCSPz%ec;#6Oa zQgD?QW0`T}BrTEMoTMa~`e;;svk%6y+`F^I`=@O9}zrN%G0RE-vy)BKe{vmb7` z(xR68-a@Ysp?GUawiGziUoAlKcTIwfD^tO0d|v*vRXWWZVWk0?7^&o5f%rntcx#^R zD8{jCKW25Qa6Q#OIu6GEhLjwGX>ieHrdgPfo3yg(9A_pvr%JO0RVz$0BdNa<<##89 z4eKhumvuG1G^VwJTCBOYdbrIUJ2UH=oOI3ggE!F?&fM>S(^}rUl|EAhP7!Br9Z;_x z8PST#&m3##e7`)BxzXgX@ho49_o8(JB)JxC3@w%47^|N>%NNjJY}_z&qtD%AG#Fvw zm|Zt$YLg1UezoNKsYk_Kywlo}HW_tfug5J|c#BIe1qdK{k)8= zDuU>C0pVf&k30a{sLMi`>@%N60CVT;VbZzthGpOYr#~d z25dnz-jPmmRAs-*V)4ZqxWg?~1G*Hw^|Y_rOX`A>VW$)@&q{hE17{Ydx`H%G_?adm za@|c{m*I$~B3D@-=+D`Aa?)a(3(RJna(dZWk~o}H^$Ps1B9DB$osIyKrpo^2R@V-k z55vOrSdgr?VtTxT9>2ADPxk1!wPm%NZURdh<&N#726{wXfbrGSF>3duM?5F$a>ZUR zuox6+FrB9vjD7U_AOd80;ETw)1pas{@5BL`lBZTFK~4J4@fA<@&mhP)pY2dh+<7~n zp4On7s#7?x08C8Atb>}vSPuUzbJBD}hYYktj?~;EIc#|nIj@iiiW`uU@D!s@xR(Pl z(QlhZn5%f}?;4cb{JUi_0wl{jk!3!0Pvfz^T=>IjmJ{0je)#W){Pl&MFtNoqSQ{lr3ujUq?}LT>OdWOq#;;!0h9w#qe}NiWug`_1k#60_js&JT^#EUAG{&v6;$J(CXYS@ZcJ|@GM~$E;#u(Nv9FwI5@KyHBlEl*t<|lhm9t}R)z7=Kq#_u*d+A>= z_E~TW=tA6oE^aJzg&3osDDP+rNcZg;s^co|GcpWdiDbRpBhmk*+w-hwTDk##(2utS zGmre(_gm}a>g4Lu7o;)Yn9?<*UZe_9Qd#VKPaKPI3Ge=l12ULOI3P3+FoZrpxSy*~ zSqu7?NH%roltRprQ;KnYUsaH-2f66!yaAK*zgA!hq&(*n7ZH!UPj8=u=*0mwB>Jq0 zY_jOpJq;5Qt3`d9_*Z5? zt3-;2rI-@#g@nfphZN(59Slq}&x(>wKWX&De-H7{SBYpK{&TDyf>&>zxUA_x-y6s&&l~(q;6U1f{Hl!5y-7^-EAQx@rO&<~y<^cvx_?)QL(F)_lT6n^ zBWRh*mY)^UoD9fhV`X1wl+PEVM%5s51yd4qnhKMUuDO zf8h=AkYHj~zJ2f|qcoaM3gV`X1go{>uWUP;$uIB~A__&E6)vgk0ef%FF_nGnyK=na zvF*Wn!Iun_8zxi^GEH599i;G-nxC3n-Qupc$qej z<(Uxyz~4Wg{SSZxx%!58kZ0AiV6XiWUR1?Q>m+uI&EB zSG&oM7;0#nrBu1#66VVWuSd?|WgZ3(Nfu_7-yKjRL;>91n&4Orht0o-y08d3!@d8Z zGwhoP9%N`ggh|T@dAcEZjD?at*-^e2=pJ$gg?kNDW;B!_z2kA1?yeFtZJ4N9rs*TW zZ%b-Pf(;>2C*R%31hUxgY4KL%>Vwbt_gWzo1&3b?Phalz)+cq zY@#=QET64}K~L5-#7FS};CxDWM?=Wu8x~4w5*m+)#c%KQghP`h^JO}mh;nM^sbsb_ z=+)RWc+GFx=70Wd_Y2g|U@w82N=rBhQ{%59q%ohW+wwcxJXn(e@f(OfZ)d6nb^tX- zL0kf<)YL!y79;s&+W+piu(^j7pPXfxG(Ps@o`&H>*^g9VGI>Qj8zy+`l_s|9&6|X)Chngp_ai~HWI{P}5GFy& zng=2&@TSJ-?TzZSa8%zYM{41RH0$7n?nUzjt}p;%h>0(GxtJV<(Zn zn7bKu>2El?KP%FxEeSU6)b^ZNkkUrxD+5OcY*aM1odah+AD*@lTmcVp8e?8oBaK5 z+h?7Up!O{HNr?B0(_7mfrT>NA3)SOH<)DS*h+pm8 zB}p<)2ZiqlS(f_-GHDzbNg_2GI#&EqWV`X-Ks=F(&{c%H$3Y(Xs1ETu<1lB~2^%a0p6JF>{SsTJl$cW2+YYp|p} zj9<6$u#{$SSJ5NLa{0bDjB4;j@0|J1(-|mz-%|D>JlSkQKO1y5}=UT)FhDT1$ z6Bpk1ix(k0LE~xm%q$89;NmBiTwXX8&;?c)&GM+)>4#q|w z>v#<~SS@r>C>gxg=W8JQi1IH2v$)H2>^qC)NQ|7V+(k)(j7_!G2Ei(F#1yjizT8-* z{)*=6D<77$Loz z6G``W;ls}~b9<0&e(Q#lCB!pS!hVMd*t3T}pRKB|=dKMdcR{Xn@8>Lg?d^`=> zc&O|OtobA9sS2@_0`G3uruOx~ksl2?6jG#Jg~(>i1}KSk{vUIKN@}W1u#>xp1l@nA z=VjIFvFz@x_{47rEDWo2)C$TXBliy1s7TYJ3dLsgYH3H!nZ(uG@BE=3i)!9Knfj0r zAKVX3-V?8WmxpWid@zF8!VH5c6Qz*Lcy(AopcNjOOVlCQILGa1x1Eo~iOpGpPU>Jb z?=1_6KRLhVBgnTd(q{mBF3o#5;p$Grk5XXRc`Wty(x6TC?Kdn@M>g$R&!;(i6m%>54F zcgJxacH}wef;QS4nUo+B`EscbPWr@BUVG6Vk`*seFJ~=h)r%+?$ znX<L2BQQuK60We*`Gk=HVdU138-kwqZS;51b+_04Mw_IW2H!aG$WL& z$_tWu_0>O3;VbF=in!x%3D+`u2~>eGC3t$JzHS5U+HGhOP;Peg=vdJb?(D`7V#pQrzmwhC@aCEzt6CWbPKT7of=22YE zNk9|d>A-4qMCTdL`JlW8T8ncBHW5)&oPDRv{jG2{MKgDywy)xfsa5KKM2M9txJdac8--R!3GbvhOIghu~2c+*>&Q|R`)xpi}NAu za{t-~M=mP!%8N0HtMz9*c@g(asaG96mV;m^QUexJ+JzuPv-7oH+-@8E;jM^&oa$MB zYOr7rG6ee(jye=p2^^*Jrcz@uS9fyqg?r*+AwfgOc#!N&a6;+AAh3}nEl3A|$@6mN z*L)9Y3S>t~11sG&gDF%fiP#z9%sp`CeP;F*G-Sf>+`qTn-$HIqSO)j5;vcJXekYML z)IcP7eNd4EVHj?J?5)c2(N0lne!AUe%qWd07)hX~%DO%~5@Y5lW^CP%1BGA-f2GF% z`#>Q|B|ITy7tWjAgOn*^L249&;mg}UBxW-FwMY{eK>b?*`0!#RwjjI(ePYz@j)4r0 z>_SzwD}uw$#>O7lcct&n{c&(-<3K9G%k7x&#$^+TJkz%~ohIPy$-S$mvaG&7e>N?` zV>_c`V2s_dQrP}Nh?_eYDHV__^C_QJdipN?U|Fo|V#i&F@-nuvI44>7!@FR6ACtiR+VDWwo z5;0=T{EG5T8i^vs@}r0siA1{P17wf+M*bvI+WxS2IDDoLD_tZEe2Ac8#v&&r{}H{XFVnvO3vG}oTZJo)0e^l}8zG^SfJ7f+YpgsgzR zi0i;k+(1zvnbx>ynh}y~{Zpff?5H!KpUgvaDs;C#HA9AhwI2gUS4ydOS0i836v!2C zwDeRdkDOCsU z(y?>o>N+g^SLQ%uH{|gj@v>paBcOq=PmHJ#wcwWh%g;Q8=08Xk$?p9N0&<-VZZi%{ zXx&Db(8LQ}%kQ}GvBbLVnMR4UvQ7c%6#6Cj)$|_eyPM= z+V@~V1uqO-ekQ|b_bK-wH?(`{56hadz*oR%q&97hqlp9)uDm{@ppdD2K2bEAr|=Gp zbFy7&%&tTW$)jG1_-hX_NED$|jk{Zcx<54WD+ztlXBxNzfw)ooi%1*>9z@{JXeWYH zl!9$^5SgmkMmNdfQ^8ZVfBCr+kPrN?ehw4boO={eIU&euWWY{IL9I!Ml(}D_!e6YP z+1%T9CCA^wGAtgd%-}g2#uj|JI#_X=Ilg<+2LvJu(gY*e6U;i(D$H8)y z*q?Ikv;P@73$GtZoj!Rf@F{D-xl!3YPKD8IHmz>?ol^DQwQW=9O6K;qF}t*5$OpP0 z;xsUHP@+iBNW|I(l5Xo?OC#`3Ks8S6vH(-{1I^qov*dq3sLF>Cn5Gs~@?E`TM`#lK zSC4%BfWJbHOBft#n5eTxn_q&HOOIpDNZ;jSE_HlnAJ|mnEQca#nnkgPOKj=q7dxg# zWMPRI&HcDN_0Y~Cx{O_pO4~lRwO3yWS{y#DNQ!L3_Z8FEOe!hrSDY;rxZy!R_P{;@ z+L;CRO8xIq(dF;%G~+h38ka8~Nn;?|_AR9$@D&ohdGPcU@>>6>-GQjQy5*@ou4xIz z$jWi%U!H&eTqZ0~*lXun_q~b-*Af2EX4mG->yhpZwKYdm^C!Gxc29^M@bQUyFM+S9 zXvudvXgAh`1XQ=;eg_Y!viH2pT~AKOqxcp6bdo1)?7J>e3=i_-rxb&< z0Wm8w$mUM3ub)1d%7py-vA^(v{6R0wYatM9`hB}i7#06xanBLp`v>6lA6UYTnDR*s zZji4vFJB}e+OEN<4G3z_iJ}+zklzY*3{@Y8eq`Vc1zQNjN2`=@B2*Ljkf=W2&4HKrE2rwHPPltj5NSUX!Z7cKx%#e`GX#H~=3r!`#|4IBm*_kck zS>(k|4feyd5=C~7BK@84mEwQ>NL*ki*FPtxczBQ4d#g`=)R;UrjU4DA-fkA)TMJ$!x4HVNs}Hzo{8LYWZBdT+8lgTg zK=J^8x`$YMg@l0qXXPuH4)6gQT4tz*aD_)OnK}Cq>R|0=aY-dt987RAgh#OIW8LYA zAume07haTT%*p6X<_WyExaG+?SC|{sK@(zzNFTpk{uS`81=kCpWf%g`Fh3H?dZzS) z4>FUQ#*nTp0-4l2S*;!;WNUt=(b^GzEJWO}}TsA>DiWx$tf&rS!rOSdq7d%G@?~Hv1tjKkhXA0^3 z4U-<~lOz*4SFtwq<+ED@-_2H1qx5_ip!Lw@SC{8>;0~DakW328S7&eP09|@Q_<{b` z7H{uC^&3Jktg;r!mim`p!tlQuK$tiJ-!U4NQqH2^dsj|we+m6~E4 zEl3OHbK=iRFMpWj4NW@=2G8Y@<=fKX4$s&-6#ox2)qNK=H$S&DJ zw(R>lXso4V7n(2((ISKjkv+T7m}Dz!i>1hJj0hpyFqRn0*uKx#(C2c__5QrC>+|35 zce|bc&L17~dOe?y*JHgu?)NEEH=rke6?8P2huGa?MNpI4LjYFhj_esO0YKUNU_376 z50FxVZ*klj6bW)-30`>V23V-312Pgmog0L64eUT%>+&U%d@`7sUj<9n-X&Rp7DI#% z^kdaCFe=?(i1ykr2eKgBHk!wh@-@SZ*aHxv0Kzpuz%E9BP%-V}+yW}FhuPP98p2i@ zPJ8L}0IY%YRDRfdWa0<9(}{J*YNVw3KpuEWtG#Zd(aE&}oJPvnH;w!eBQ=niESQlD#MitC$K2c z6xVU+;)AUG*msrDn2=3?(Xo)=7H|_|4KFN+d~Zt z%_>)nh_>dd0b+X);((cJKzaix%NzuhQ<3?xKau?w`uVXlV9hn9y0NF_k6NaA^7#(1 zV*jmY9VpcB$-m-KS^>%(?mcx&01Z))^bL?)B4LZgoq7U2mOx+~nix9X3ZvD(G_T?V zQ2Dgc)*j)~4Ma8|hWz@&K9=Lzt^Q+TLty;!xSuk#I3yTkZm`j4R^4&&h*ikMphoD! z1PuE*ntKU_gVTdw-@3|<0+2268$arY5(a_mT&7=#aPY%2nS?T}eWT>;KOFWPoGT6ULx70izhj_7>$@#5KSrcGlo_%O@-Uyz~@ zk!bnTw}4W3_>)@<_wgB^1~@dXu;qKTGk+SO3~zt3QGGcR-od|QC^{Uz0#PA;d65IR zwPA-FS`-Pi_8?^mYSy6V+t_lNB3KlaznI5=`zoi%wu*mMP)SflXQ zjbcyC@2PEz_KXYu2aN0JJXdbm2MDwD$}lhS2uAh}AOaBIFpuqZ82bu=00HBL^(#L3 zrc=c={ya>))5e85lX8FyWx=jH-^sZdKJn)|N0l@qX_HKnc>UBCU%DC8*-e$TdaMNMwC-Besc+Qukaq%aT+QV~g%5)DP!E&Ya zS8nMgY|cg49_KBfXoOn=5ENk_Y-z94RS;3Vh!4qTvRU!-mWQ|O+BPTcj%tyG5{P!~ zKNJE}fNcBlC&L7xXUEh_#*(|MJ1^{!X^r91nj!^YShFQ+jlP_D)qSi>{Rn_o6q<;+ zKqIDo4;2AN6`dM;M2F8vW|lpmGFpBoV>U43(;1nD4lI%wm{2x=rsSTk9Wo6ptS;+~ zfqDk8KCzaIXZ=B>F)BQnQDy3Km3O24DP~o>>gS>z5?V!>Ku>Xstc&;1Lr!U~7o%p#^~A(cjCHsp zdvPTCq_e_p)VFD*Dn3r88bBYV1WUS%t^(;~-A%UMb9Ki$O$)3>?2f8ijZF0I9bQ43 zRiRgOM9YFeVkIhr?+43(W^aJRBwgY3Z7*A zX4C#G`O+-9t6HD+BKnip2UKrvt)6{qh)RXHZl&C&JDKMJw})bzFI=zOt^E^VD{?Pz zRu)nnD!cRDx*>ath2{e>^G-qCq7ux;BI|h!^4FJhv`QOb(I~;0>GtFDv70>6|N$ z6(G9#-1p(J=*LTKCUalXJ}+=iPNnqj(zn)t(xajylFU*P0sM}x-c~sm5oA9odql(E^NdI4~+?1Plsh^KF=Yb)eN>hPN71CYw7+Wpuzex))&&q#;G zRIT;2(tc;NIvGN4M%ez%(YGE}_>0IrGg7aAhVR9-U(9YfTsQG^9d}2oyr8?J>Y}7J zat<5v1A^ie@f?=L2OmCuyq=Geh*>9-|5N_j0EV%&7idhYC%T-Mtm#a2ZhQDa@a7(I z<;z&M>KO!9z*@7Tu5_o2_6gy za?Y@O6*eAS&6(Bk{4SU57NA&ux^w_Jm9ATKO5%YSIfG?yXnMIvsKOBj37Q5rKNmyB z3{NE36ANx(Z60fXHE7atC=9|czdhCM@q|(bUHF66l|e88<6$i?U-j;#sF|i1l@!2u zt3|ujCjz?bLe0ye&)AZjbe*mCPbej_rJ>gP2HhUp!4=xwO}iup92DU6;QLGusSWVE zZ1*_64tsxjn5CRt8H=8R~t8iwg&5AfA2Bu^T#AHbC zVJN;yxV9J_iMhsDFt;&#qg&9nDnMk&1|ME+AEQ9(j-GBd62M<8w~oC#`yv+kzVZuC z;^PB(sE$K7xM}ckeKR`l;>>nP^02;_C{qtW^O(2wUCN_(3ak)T!%>ZVk?yd? zFXJZnV;M03lvbIR08+AE9?*n5CbQO>irFLFoDTcS9rrE=^fdX&jCelw=XU@|S zN$UW(^$${J_H!!uU-k_pX`xS*IVj|y5`hm*#sPRb@`lh;amD2`l<}_nUq;g@)G*c} z>Wd;{*u=<{%jQ(MDM{A{U3R{n4N+=`# z$Ukn=mY)Iux19T`;8<5Kljk?96?2*O*0Q!Fb26N&s5$4v?j7Z69=|YkaxvA-pL;R;nSF{wX`#L5#8@gcy$36dx6kAfIFs1njx?tg z%%|>DexX4JWWldR)!+AVWS@^xIDIl|3lSkj5IbQ4i&8~{h1|VD(rF?7DXV$&dU&eB z_&g%g19kR;KAmyw@QWvC?P9?wU*s_duyzz(p@HNeI$sFQMRN2JXRS_nHo0@>jjX^0 zsw1C>fFK~RAr4Xcj5={uasR|m(@Fn)La%*UoLPde7Jm)-y1J1+|F{sM3VkXQ9&VkE zHD3SGBboeX`SY%lnETf@Hs_}eN){e##Rif)QzPU55bkrp7r?jVsyAi8+8Z<8y4QLV z)Jo26Z_KsGff{t2mB)cS5|DaLwv#fldT{$s?sl<*ZwX`T5!hphL*z1UJ#s-%?NzH0 zry2>G_tBigcRXG=e~8~VIS-MzSTwH#d>M~p{t?bN@_V@yFhoqWuerR zQom*q9EqO{kf5@R;j}$n&cpDUFWCEz`|etw4exYd%5nnyzVEJNCHV5aG~y%m2CkO} z`hU9Oa=tNj<;*5s;L4{*r%p9XMz~K8kP5sR+20#j)YKQevA;!#eQnb5)wor$Eh5hS zv}dprzuvd87yHRXgwky0DF%kR*xScgYw8(mX0VA|tBIIzqdtu!bhU7GACU7DgH4qX zvK80zNDYl*I^U!4A3D`#f&JBd(}56Xwj7Xg)Ki6Z2NWCNi9XTCOw{kOh^TS|nT-?} zvyMbuYZxh5b9z2SJRBhgNV~=?b%7-uiyBSX%WL@ci?-0D&~c0=x-?;)1=~Eckl8pz zYvr|qiR=1gO-wBaDeHC0f0&l-^_B00Ny+v1&n?^>&CW)#OFEk_fU>q{F2eK?woc7C ze~YeGAAgjXz4G#o)*>shSK>r6H;1$9HyO+&He%Ns){^+AyrUmYNz96~)bUjZ@zyK_HVKs- zmojk5zak1hhK=p|qFO93p0(AwsA}2F)~=p!Bvm=Xu7ra)jf1Xo*uH#~Y_>_EsFVUq zq)1fn)}4m*)PM|`dX_pNTJ*J(=bEbp&S47kuK1*6^)yYf*!&q9ZGVs7kq7gj1QZ$> z=FuiKSQX)BEt8Iwi6|3D^TMgJy@NQ*irpx9k&?H6lrZT2DfhI(1R%;>QF`4gU3b}* zpj6S9^=k#Lv$?X&C?%rL=-xMdFWw{Z?W-viYjigm#^1Ub(_E9-m`7(_x7j6V;~J+8 zxWUVA-HyzD7MKdO6Tj7cH|z@Z?{%`Ey{x)M^*k(w{7eHlyY~FR>j=3umM zw$~WInt7+njr;RB-dvI@s`<7tT`IOFw~!u0YyHcvciHS7|8V_ve9aBT0);W2S&`gOgv=?TT)Z}FfKTo z-_fLzi*u$H&uB7Ycyc}_aMo#-+)x<)t}anZ5YS><;gA_{KmD_hORh%C+g=MSkOi#f zG=X4s?@Fw8&PGGV4H9RiYoBBVZ@q4|uOqUi_PUVoEnqW`B6mf|njkM4- z8Mnr*Vq!DkP*Zz})@{3eqr}(gX5?vUPq<(7L9|t|6tcT8Ex~z8qVMts(?%|u{&5N! z%Puzy7N1@tNd)UPsd=wXnbF=#<7+7ag0MD0hKwvyP}u_zA7$EP2z@31FMG0Vv7j_9}2Jy|a`7fg)nklUaUn%d8gg zcWx~BpswSymi3pjZep_7hPkUP?Jad|Zk;|g9e$bOr?K9wN+lv4ho^w3)!brlPAq|M z^j&bV&SZ~oBvHB0rBqf96r3^|DPu%Gv+-u?{h1XfL4 zQj?E6W&*2MB4$y`g*qObNnQL_6DsxOmxh+teAH*qeXI!%_-^|8eC`!4_)Q6vdNyic z^N$Mjt1%mL5PY}=Sd@jTN)VbSuK(BvY5Kb;TXmSPcD>`G-cXv}m-7vo7&lQ4VwSkmD9% z#qoH^jM-ToiGw$uwW%0H+`Y&j=# z#&ga#Pikrir&Xl${)}b;s-@qo(lqZEDG=&2STQD-R-HPR3-l6-h5&Wml*W^e<3m;z zcVK5HP0D%`0dm%>*hE*)z_p^P{jmNSU=Q7^i@h_}8O5!ex|Q;)5mE!@8ytk@>fw@G z+y@Bn$PHJBI@qW2@J5Z+o~ym%tWmGJc7i+atb(65&K1rP%bLM!dNMbSlu9tmc)UQn4NJP? z&tl1haOKKFsxJDS)$HV8zEhD*4=8dMHnTFpPBxh=-2h%YG+ClAfHQ9N+UxkDqj2GL zU&uAEk&L7V^tBcEEE70u``S!}yJpC(XA%iN?JOrQ8{j_wiMq}^aZiyQl`^9+Ii?XC z&9s>SjyY#qv!{zWbD#=#R*^K6eLhby&#N9d&UMWx6Y1QR2o@>wt>gKBPSfwtOG967 zSq67fUenU4?%AK#-qL$o=|hG)A;lsmDf_aM7~KPCjYf(6#m=SJ8YxMf*lRrG*}G&9 ziWhA_&lBo+Uye!_XPL4Z+70?QX`cIzLYd0W(N3} z&ON%4RkHYuOv@a)((E4KRczX59r@MjKNj>P$&~L7M!DW88OBy&**Q%O#Q@9$(h;54>A9|TW4 zrd8SgDDeNuDOK?Xqi4)2zMwNQ)98+1h8RQMj-UXLSMW-$yl~E>6LWL=jXy7ieON7| zi{OzPPx4BV2$MrJb`GkYvST3V5HgfMW@K+TmzOKV50})}C#6WN-BW+jgn3B@ebXW| zK0~q7%7xv3?!&DO65foIDa+mv>wFun#?0$rB@uP&_O~P1JvnEYJc9|z-UC-K zR%j%*-c-hwKVd}z$9EtrO?1w zCEWT-bfS6$YEjX`Yf@7}`3U$XUaCD<|+ zkvcrt&y2{6EK;tNk3I1fuMxFqM({zs##b+u3_+W``q*J;2VIF>;9#$!B5i-pRU;+X zc;KYA4O-2^;dX9zm-DB`V5ODIA?G^}=jH_Sxm>M1ums~~Nnm$r6ZvaF zp*;la%^2Av61S9X$e+_L1{48FJ;uX)X<1R`(vK7_OTaH{3m%0U3twe|WP;I>@Jb-+ zr&h#zyY=1SfNWQHaC`HgTatcc-Y{Pbd=q!15eSWsmG&i?t2DW4Wyvtss!}CBFZD18 zys<$h;jY?ju)t1;8KkPZR@#3v7l)nFEyVMxkG^{xAlNN~_J{|$1bPjksqo}GVqJq% z3(X@3;hbCRQJ-EOK$EXpH0{xRWV!+b?PVD-xUx5I6IkTX^e=mlcXBQVh~T|(YwXK$ zZZ#WAPMU|-Oaw*E6vzS^ig=y#SalgpnoRRr{?j&Qddw3R9ZtW>N|W{VSSjH)rqk;C z*3N7X!=~ia4T#~lKOqH$B`;MiIc6cXdz z<0nFVM(+1mpJSy(GjHV4XB_EO)J*n9d=$#$*I&+XoG9NE&&20AMiKmNz`PfCfF*gH z?hg;#XSjDUxJ~q@DKwvus7b~{@nI#|y<0!_E1X<4slKdd5GxljBhy`#+d1w0#PwNP zlybx!7%xp0!wb2~8fV=|PoL5j&Y?-ITFxtDE!(Wdxzr#BAXi3LbU1lQj3}qS%xBZU%svFBP;~uB7a(oA5Y*2ei z#N%88=)r8=maf^S6R+6SG`vGRKg~)E5DV z&K9UI1cRekGF_-vSks=NBd~2`X64FZY2;UzhpY$5jf_WY&6dX6d=gAjvb&dwOgn zSf&Qv1Ut)l9DH4Q?1GueM3)e{d^HJPYNf;FR{ z0iZYOl-wu*pY{SuZ4SvZ-=%f?5*n0vNZf7%mOdmFCy!HdCU%5XWUrsKRX836C@9Qu>lUZBhlhH1}7q^J? zZ0Hr#9S#tzMAK!B69WupE^R#V0Qy$2E7D-KcMx{YS*zyxE#AF{x!TGe;J=xDbKDDC zjUU^D=QPb`Q3E*P~{0K3fU-bm!cwch3C;6HAKqTCtH_)+Mti&-qwo zTMJRV&ztY$i~|~niH6bIHo$=QE&faM@W%_R-&IrGGZSOqX%-fZ0v0KNSY z0#mPxd$D!d{c0lvKTI<}x0=(>;sESSfQG6HlWc< z9p-868_#dem$*UtI(#$VpTr{Z(HPGXez$S0D@R^}&@@?Tl4*L12E`!5C_dWnTx$C8 z#wNT#B)hXjB}j6mV*$3MxRED5!CWlf1qq(DJ6Oa%y_g$N-F<}gO9hTpLKTV&;=K{R zLQ$MU?b=*D1tpu@*-kaV;tpzYDt8`qxUjZrb;$XZnom0?ESoLoJbjCl8c7?+J}qUg zOR{5$YtEXa9m};%^rnn>P*o!b(5RQU9bb zy~)U$ivY$ZrDXDH_n)1Q9+&}%nXCQfh?0J1dVk%9&fB??l1$JnS$){O+)$kuPRL8k zPH-%*7!boKCl;vo{k%|XWIVX|AtP#b@l(!EvCUhZA)zwwUGGEc88~~IB}m}av>{Ae ziA7(t&2&0#WK=%M>iJ0u=*gO^P1P@>zea-9Tw#yXl9J|xcB--&Q5W7S-k>}+sN*Tp zdC8rmDPCoxt;_4uSBi<<{KkbJL|h?NEgo@-y8FF8w+UyHGs_(0R1o z>YRrsF*j%MJwV;D4$;mYh;Z zKl%~caq|fCOEh0XwEych%WIVVl#?fdg!>Y&_Vby6J*xOUD5Yo)YwDc~0z5VU>jhDs z<#h*nuXRnjGf^}&s8LyIGU=2PYqz-=K>gb&|VClRsb2 z!A)0wf+jEJp&7q68)b9yP@Li*vH6zfts6(pU8olKGOewOH1Y~kUD^|2^;UW!qQfJReHWb$~A{P8CHicW|H>}r<8s15BV)~2Sqy`Jh*dEzEk zEiu&5YcG-Q@qvDYK&SfvgZ7%2+QI$AsHRscWe;{cpRJ+#4^1y|KwN#psk=C28A094L{w9rd-MHKX6wul2XaeR84$*nAW=&cLD{s zbZNiQ4TFv;`S0J!QAdi2?<}N2!*=kWo|JR;npI_z1S}u9r4yaQ*TRL13ZTq>T5xv? z2+=@j>;hTt`~i+9ln*t*Po(@cXYL)P64lfbOcu9aAYh<@c=P7&dYTzfW~ng$3qbk% zJcCYCI*{M}+8-QNDxpOSk&EB`yvbzuZk4gNl3jQ&Po!0n2Ch`AMCJ}xnH$?`)zYdtO4mU)x)BR?dzUMMV@Acb} znmbbEn_>>;n_-VYINwj@h^dcF)=O`0jlH;OS{hqjDmj&da{C>S(wwQnJLIEA9s$+_ znVEivKF|n}Y=6E%;?9PA%<7%a-IJ0^S~P<`9lQK#Fm||5z8p`p<9gq}I@+fGokGXv z_T4=6Rgq`^yQxf6%eK}b2)G)yDZS&PD^RQ#UXCn|1-!E-zC^B@TTXx8`0NU~b=JS; zgeOc=k%YWk6KyZ)gAcPv-iJVRuWV}MUs+X10%17&7=`JSGYOA(!TJbx{|_Cw{LH5*sJAt$hQ&_8xY%!yP@x2 zm9=L1X)i!L4xQfV`F7N}g3qNt0k^dFOno^Y6caz~j)~ATqgw+t9C|J|K%y%oTW!{% zUz%z=P}^D`$i;N>>PJ}OT*3jk*nQ5GmAFt@iTb{u@(&)LJs(b7cYJPVxWs zW$vq3t4TVc)U|J)tWoTeZ-KR}+dj(iKj%CzKwP*`_Ouz|mTs;-$qKloW$*T8Ylnxs zlE1D}Vm|gS@24M37>QD_j_6j>iAa^%HlX;MRGSW+uO1Wo%IJQXI;QSlHGj)XiRu$i z-U}AD>bkK*v@c)$I)9#~#_@C^FM(+u9`+ov(DL0eY!UFU5B#|HnLTE{h+`+Sa0tJ< zw~5ouM0M?Zw{iV8v+Y;rAkMN@-763$t0c;sM~+SjVRTI{uIz0OqJ+{WDEP}m(*>im z8RVCG>~I)}H|Cy=x^Mu`@8qYGp)J7`fa4YTr6645J~2}2l5g+1rd5iKoNuCj*ekF9 z={R@;M8fjTXI}Is=U$dj-4GJKV}*cBA1kmsA8EaphWzn9Xl}7nKLm8uA2ugSHI(V> zT*&LA)JNDZojd|Q!4@#EczvVkxzcwr;sOWTpG@2A7Xli#kBAH67a@Dg@eSmWW>P{h zzy%Bd4Fw(+_wNVxiWZ%tmwXVSct+STS>94I2O}H*rr+;ItMudDcnWPGKuCTxo?xmdsD=^^eC%$c zyJ=-0=lN5krzSA4=k-%nor!(}Fx!Zsb*u1A4;d~K5(M*s3Nn8jU&hgx? zV~z%Kmb7+KxQ3FKSkZp+!A@320w#dA29Nun-!4V(tz&0)TJyyNJD;p7H{@2*bkiQ5 zCxVMI9K1ZkLNR6|DrKkCPUpnMlh9RlcxOBMQsc6JB4t{kzfN(7e>FC6b_3E+n{$WH z>2BZ8iKlm^YRqc_P(9VCwXid3C~L!YlWl^ZKhK=cT=Ioes4hFJl@YCgHACC!LE{z6 z>2flZ5ZajSPUlh(O0cP%luN#E;396#6Mtx&-m`~>NmE71Btc@H_-rT96FmM$Nr)2@ zj?IY`7kj9pf%HzLvB5h0dOj`G0(&!_id1P7i`=wo9Q8 zG>5XRPB$V1SEk+*f7{Vl?FuLq_2L!y{vRqB+ftfCqxW2S@uGeD(fQj9N4}irMTiul zYMU*d|DxLZoqq>?<2fHgSNhVj!9_v0V4GTc?7{oWVhXi1Y9kTwj{UDa<=xq%ed2oq z`JRWKtVJ8*?~oJ|j%T7;=-4KMCbi>1Ny}Lq+ccoHZwPk5Ud|m4NN!Y$->jVGi zz-j=o^#6);fRee~0P@c-(L?TmYZg5f-tIkbZfN^JD>afXJqCk+aPL%etVd5a?zc$A zd#ta_8*bT4XHIovXq^GSe8I_WpGKie{w7?C910bKcnN;SPD~$FDiJFtUMzjv6InKI zO{ud)cl$NySf1-E0M>k^uMk&c=fT}guz5d-;+BPD2npyHh2$0SKcka z-_@<=2lkLcz(f`&tgp0P>nXBOlbx9Q-gZBugMPnbt=*n2*eOw5cJ78p;h%VIODHsa z)7Od;RVGzwCxRg>HnI9U=5*TKjQA& zWZ{&t4rcFc1z@qLca-nIcCG4gPtk^WjRg!+Fi3iVaMNX&8;rY^2QDd7}t zs2~3N(2YkpjC}@U6vH8C9W|Dxza0|>oTS3@!`m*DqwNuNG#TNEKe(U=p|Ot33pp$Qmt-`MMZ7+HgVit#j{kXlJE#&x8P_fD4z4N z%H{{jE@SnKJ}_2@Fy)1_ivp=((I*{Tz}q)LNQDK& z-`hI|Rg3Kz>Yu>+h9M(Z+sXL^oLApmj>3lH?O)#23(0dc-Zg%=b#}^uHm03p0VrwZ z6+o|RC{*G#TpOAuiL_i9q6<6;VRECI>bHaP(TT^9x!#nT+oDth6#)&?5E^eEvxVg} z`Pct^9VQ}Gfm@q%1>RLt#UK01-05sq8_l3CIwYKJ-;R4?|NY^HCPTXhXN#F5kYE$% z0Z8UT6gKChVtbg!w|<^epm7gaNK_xy-09emIoixBdPr3i7Ql_jZwi2^{g61YQqt(Z zrymr5ZcPT?uKrta1L%)X9TcUox$^ATAb@x8l@JH8f))nZ{X2P2!OoX5Xa8il+;4ei zE{M+GmgbtP;OdK3f1dTl90klY2=kX*HScntyS3BIo45-d(EhmUT5iB9OnAnW{^?I@ z+>xQuq2A$ZEY(`_6vra=cgK>DMJmj07lD@%H`ivdNtSoM-B6OHb5=gIV~}YgJHDhE zK=(sN8ludca|0%n*&DB!%2qk!3+90Os@W>EpYw?Ytb4j#`AyR=d;l_J4`QJ{JAkQoO6=3pE~{K*SA@6 z;O2PXm=%xJ1{84-E#XWe*0bXQV7!(EMAJn!z(y3dWi&HdPb)Yzr0d_5IB%%N(>tg0Pxi6f8+x1`?g6bI2t8fssh_}dCao65rg0}Q8 zWQuV>1F;N?FI^igP07HU54cy7CQjEUCXQ@Hy%(p(ZQT>4cRsC^-C#RB7hgMo7-tz1IP3(a#n$D-GX6k04cw7D1?2WL}c4f-c{_R=4ljh zxpy%NpsIP~CY0#VN3{&(Mq`Z2hr6C%B409t7H&GgDt`Cw|7YL)yPieqxL**D@bfWM z7I|u%WUgd9=wjdF3(rgUNRN-kt*N*+xFjo^%CA|e8#L3zPJs_cmku?d+=(-@NtXO} zJ$ezWrM+38wG60*qz?%69|JcRQe)QuA+;`Dz}&qB;jW#G55o}8Tl4xb;Zh3tcR7Ie zx9l2P!3p#NQl{pb&2k1-TfFt4%~n~z8cgS@?QVl&+Fq)AWJ{N!F7-@Ep@~(L6Yj#1 zTY8`@wCe;@;%COuN8k)wuKeu`yQ)&KmtZ0rR5>tFV9<8(YJXp7v7<9Ye(|MVaD)6( z;Uu8K@dlGVqiwH(r$s4BX)Q-Q;LXqtCKBc&9|S>>{PJ-&(cG zB>yHChjW~tXstUT{8B3vs;IiZqoHM(V=ru7p%XCuA5S0xQy>Q;Jsbj2{nBKdglT4E z1bfwXzTr!CY?P^#gkXarYxzWacn1J}#RA_LeL@HxGXns9QgjKw-L&XYbDPv~yNh)x zb`)R#I53O2KKB%r%u3$o%#Cmw>H`tUg_fzkoWr`ji22GrzhzO@4XRc)jdU8Sgo|47rRJtq&nw;RV?^cnnRg& zgKP*=4qB%-n#xP9t1AtO+I`8ClZ>`9r~(oOoe2`o9bkzx$^L8nQybym7Zr0RtyLK% zOjrP)?Nrg+YNh<77=(uTxE*RD+Iy=ffO}Zy8@e*0uhi-1GUM13HE zTDkik^zSGkR)3970&yP=+7p5r3*)V=B5}X1S&RPdCV8q8ux!Lhg3Zw4TSFg7NTR4rKs$-Qa%5I*cL7|JQ zm#it>sF7slDmKuN7sw-ZflgQ7C-uL3Dbg3=+ybkL(q0igd=ZdQ$$lYrb1Y8h_s?-3 zcx7EB1IQR|;Ar!T0||f)06&HJiYp+lLSH> zoneduJhdZ${&~De)0X0%Y|#wyk5XGl-Z4QX&d3V|JLwZj2*KiRWg95nVEwmrBSgud z3J3{wjKCD&H*^(% z(@>l5dx3~hXSapB5Yz9U>7s^u7q>?ur1T~fcz>;4>N0*3zODF474&6p)$$_I&oLN0oM-qS(Dof=wMNih|HjIoYd)z;~^Pjuy3zsZ`~sw_%+ zdw_C72M*}ew~qht4C91KgyC9;4?tOts*A@MfCw(!p|YE;DU@7|z+@1b z563A7ZBPDnOsIN4s?}sp(%lD~$X@UgCm5gwXic?|d(iHolYTI@HG0C{15NQ(ua5*> z-SD>_zf5}sdgYJB4s{RGdJlGwJp->SY$t6Dy>jVaUKwCT6H1uX@_kJUEWf?Gv zys6m&IXTE>;Eb7AT#MVU%Wlw*H;peGI4!gl zmH$g7wDbPkucAdc1nq_N!|Y%Y%Y@}CID-!{btcdSe%XD2yK{`4PmuB|2HPBD|6S#z zvJ)(J+6vpfyX_6Vj!K75A!)t)aQnP~xt_lv3WLn`&F-t*m4N-_Dq|?{nE$dqGW;J* zA#Hn~LtLbHjx)DZspLZvz^m$9(P0GfBI(txi2IKz{5{?L#}xizil9LI$14B_^N&}6 zl8}E);U81jaghI*!at_)k16~sR{j$p{s|B}#nk^_n!Q&L>+;C=)_9y&X|Jo5NRxw^#?bv3`d1vr%n}?7SPNbDxS)ON_9PxU1K3s{9YVT z4!dLp^w=f=W26q$@#qBziq7O&|MA-ZMIhE3FM3v8870R6seg7r4TSCjt3=8E+nvzZ zljI|L$dwA}r9p!UbZROzYjb_`g~xH|UN7RplQC6Ceo3?e8895#}YaUQbRg0)=&HBEUht zOC%#XIOs`$Aj9r5e5glml#x434FbcB{%~|r_nR>=0%6$X878a8bUvUmrr90%( zPtIgX3KQY)*Xg2x`kCG1Di*HPxYEy(F#w>fJXxL{3f-0Y?z`%t#zEY@d3a};A9w%k zuoxtpvUxY3(~KjtZ_b6>1`6?J?O+prbP~+1t>aScytLN`+-o*u_B%dEzAw{A=1hyt z74aXU?F4A!I75BK!1yO~NUUGKb62$;@orjga{T6j!cIL|gp5Df21CPCjy|Bzyp0bQWyRH z3HfF)%D5k;wnkli0XCdqM(eDy(XJ%G4iRE;6~Zj`OhlakeO_YH6Sn47)pvTfrx~en zGjoyBWARR;*T^IwE03$bqHe;WQ*jPU(hJ6}Kbhjp$_T%@1X)#PEP_Vs~Yp0vL z-97oQGfKb(j_boLG{8tpgtD3qVqKLHU>{@8Rz4z~xo~kIabPifG0d#;jJj%-TH0YH z5}@tMtDWgJ2;De6rLwOx0MHb@kOzYFruQ6cx}edvBLrK!ITtHnW}2SJcFN3f5Sm<4 z1`LZtd{7#kCr%+7D|9Ml?*6&sveiGiMNSo}qh%bUV1t8XB>+d!dlrxGXkGe)!46??1JemS=84e|0wrmESP!p0|GZ< zIZ{_7yhA&KE4LcBivlBu!8+iObJ6ZVD;$NLX|_QxR4-SFQ~{75)|1dYl9S}A1rtF{ z)tfDAS{$2*81=3m8MOm#X93pgNd1Nlpi8d(24Kj%JZ#$5I}(cybS8>ORqz+09YN?w`XPaD)gO2v(4h)IqUZt6&|Sg zbVQbG!$p$sNnHJ>{r}1o&#zM2dqem6J4G6Xa1p`|2+8KID z5e9N`@M@L_%2EBI+{j}w^cp4rIrO5o7Wwqate>D#k?=`tFn!akG~v<+FVU`9hPnI3 ztz?}sG|$J>01T(JtIW{-V;zvJfunc6!)Ur`F8b2cl~yeXTU3r9u9SG^oXneGb5Ot` zR{M#}+&!f%)_ zQ$1bE`Km3Pt98+o-O9b}j3{h)ZhdtDKY3=}=#0Hdak`=3HLW?rFYJGcu;Q_4{429yslK9XdY)1P9SI8 zH$|WwN*qvrcP-QM0m@bLG_G%SYS>Fk2~iiuh-24}(ekQ0b4#woG~XFluC+lVow!sI z_-4knEcF~KHnx_*xFQyOkb+fX64+DpEepG^9{cVI?Pwvo-VeOb-^ z{{fBwCZ`gCr(*BFw2P9HteFxwGnfR;4KTT#8y#9w?#>)TUVu|Zd%1F4t`ou! zX{q3R^E7yktV5NAnXG-TA_>N+1bc)Wd?-5(H$iV3`nuO%k=v%9$3xYE)j^w@_KA!F z%?o~{p!u~$^KjEDc#^O)bMDcLxLe zBn;(j{PV_-x%sueON9GN5Hi?Exs9o`!!1w4vwp>@m|@}<4_abvS!Yqrdtng*SAV^0 zMY(ay5H_6yCfK4(fBCI!Z4PebvuU#v<9Rpx1~(;%Ad5{FP7q7jf*7Ye8f|F;%A@!h zQcBJk4QDrTP{X3K0>vOYUBY}|=t36bHwH8A_$fLecws_KPr)XG1TDG+J9R9)E}Y5i zT9)Z_SX9{No^;sAYRTH$^4OF7h9(Mrkj8WN#s%mHcRQ$lrX=}e3oo0&I4kis%V$@Q!XT5YVNgiT+g;E33Z z96`pa!FSC9O(W&O&1A5XM2Hwd%)3X=70MH70~pHE)dRegB#`&7^wC|6V(V`;J5Kih zwZXk{vg#W0lKI;I$KHEKHJPsK!|LGJMNz~CC{hFzR6u%FL_nI5AYDZ%K|nw{0YMaz z5-Fid@1aD5(2E7>MM^-r(g`I}5)3WB=Z!GOz4tlJ-sjBv*80|(e`d{^QAnQme(&cl zSK-1u54ftA9h}WXTG%a|ZQH1wf0;X7sjtHw%R{mt8`r&1WGAh^L6k1mYs+Q8sTpQZ zK^^v~JormiB07r!@4~HHH&xMdMD}jv3%X0#EW9XhY9i7W7X_2&7o0C^l&8-1X^%E- z$G4FW5d?JW3I#sdn>C}-u3ry3l|BEtMyg;)!)2>x1yc@O-63E3BG$AqTy$8MpZ5hav{%vu_%8-;$OxGH?RjlOy>-YVXPfosA|VMmjJ@VUAQ=IPjPS?Z%OIm5Yds9&ayiZE(wH zfT8ZYT6nwVOyt_m2#XD@VC+CHlB~|IDX!6-Uo(n6ptV3r1!7Olj=V1ZhQpaoC+P4y zfIz|_<%Kn*GVd*WcS_5ZHPd=8#A04l$NrL!fAk9SDK z4>z+45k;tlLp96zj*5()VXdXl{H2&Z5v1W#oZVK%ZOQO)vgSPgm6)Md#z1l`Q~6ro zcr2qZK51T8o<~F1+6cR+m@o~) zQW{#M=7UgLD>;Zky_p~aW4msQ`PW<40n$KiHq&xjzFH>yLEusa!Od0{)_XD(?u9YZ z%I7!ZdlRq}M0Kk$=P;FWoElGHEFa(%9xSy#0JH^hg@&~)pe(WbDnSgvCeL!FU!%H@ zWI9dp>Mz*LyGWx}r{>&!3mKk~c5EqU=jD-@XKg*bft!Z5@6bt$rN;rCkY8c~!6l4m zdz_=eZ{-Y;VGu_0cY_T(lM`#4I2<1FLZnwrxB@rd!Df`pxR=o(FNC{le{;%67eXMr z0IyfOcC@fy-_a?S==%Q9c%D0X6{hBseKR4qvl&s&lW1#USy(YUhH%ii{L?w61j)dw z7X78m_3u`N14S+T@K^8!hS;*TnzdO8x#WP$J?Sn9LGZf-4JS$W>`Nd#Ppa(1 z)DOeZ7{}h5a=C^|QiJ(vL;(34BwbkZX>=VU1bIjaY=j1oSfG3|0b-9TCHqDI4?_lXK^{UU zwEc`u_;4y6A_d1t?p;7Xq2QKuTjbkTEtgV;7s`*=&Ed4)sfn)WB)HUbr-iDf&1ZwY zadKvs$K@a%5ZN(na=11C`!FYs-cr`|LR1hRV8>524^Xvg7VCu>v?R%3z7P!eM^JD1 z>c4T$kbdJ{#}Tf@fA}WrMSR2aSx|eyeQq5HeavxMSw8b7ZZMn0QoF9uJ{_yhJcWc+ zq|(7=a;Gd>mVEF>jn5Zfcj+-tgDt$)+mHPYlVCEc;Z1i3+Js8hF745nJGgrNOnHNI zERKgHqIDB`&Q~@k0XEEye4(f0g_#s5;=Q?vl!?LLE$Lrc-)RH7*+1pKh~u==+9A|_ zP-};LNegg;Cp$Z}_&}pDdi9^@M@Q-K%f=%v-nUlH1j6%c##-FTd6-_%Jm_TyYUUU& zspE(HT~-a`Q7@s^C7V#b+nvw{GDVzbKEJV$)7R*M8(86v%n|;pJdb7w2sw3w+`Av2 z7bYm{Pm`aQz<-}Q=)f3L`t&r;b+p$n9^>X*3@qK+pe))9rw6Te%1xJIEyFTmT7m7S z7fQZSJwy^9ml4XQ8@8n^n-P_p=ozsH7_w{$CK|<{h5P75J^$G>4k@O`Vdifo&-*~A zq8>7dXs*{QU%WmPr?h7Cy*?7zu5=xHpi}wf;w5%QKOc;;#Nv7Z#jh)NJ~S;E5bKf% zZ&d3Fw;nqp3(IUEF$kayjqc(0N4!l~gB#5UhiggZGq|E8$va&Rd4YFx10)miV&hDS ze{!b%Y)S*xmpT`iG!=J#GOi+(i!Myn4+>%xzL3tAEH!pSkK=Sz<#|i$qst+w+uDM=inlE2PVFhU z3p@jpnB{(8V`-;<`vnc4#oQ69@axez2>>ri5wl6GYZFRltvJFAk>UQi;QH}Iv^O*` z6X!j(P?(#EGTc9kPt`r>0tAQC0D5rwTm4w36kg$OvV6Vac4-a*Oub3_gVL7up00{8 z$gSkycql3wo7GW%8f4A$yV#?^Zcf3E`EGGkbem7u-@x=nA2m z2X;ME%05tIvQxUU*$mZV<%NjVX2Y`9EEPj+MEpPz!;EcU;EKuwLir`Ea#h2ff^#Gs ziv30h6Gtks%{$Fz+6r@|^Mu2{_Hx?SkBDrxy8HmF=E?)4STkDiqU$8Su3$37Zj6$sAAaV(T8{N*N|LNd|!_>Ds zq||-uF`2+@XiqHrdWHnJ#IxX~lTT&E$UqWfdS?#9HsEkqg^8;iMd>!Ag+G*>^Hs~D zQ^@8!nQgYJAW6`G3Gce?t_Xjm-#qsE!~RUeoRszQ`5Df11S#bf=DLWMRk^SG`YJ_{ zEwte1OPDC&;PcLvBUXvR*$>NWBxi$4ZzAKg`}wo8a5CA=fd5+k{5<{02_n++raJoN zDjF&P^4d(CG z88ugP)x~{$3vk+*1r_pMm@%>fs82B1**Li5;Ea`{a#WJ8&TP28X!ix+eaE>bdzJco z##OltI!kJsPKpoojl86fDj)jxC> zKyyT>QyxYsVf2+?u$pILDaNv_xI+_M%k8&~>Xh7G?hFbC?*(&+-!t7~nUWl(=w9o} z@}6OJSMF;my?gHGi*=yxJBk~!#gpGcvE4P9h?L>*9!=5S$~oA6Gt-!3cL01o{IcTS zHupk?ep)I*KTI!IIj>|dj-pYFK)86=xI3Y=n0Yl;fYyc)S3u$K>N4-+u6DJ(n4IhD z;sl|Q1`i~(T4UM6uzIaRlNwYoU7Y*KM`;*(!94pAp}b{nud{vT3OGS@lrlmt}PIB!M1 zi>j-N122PXpvcg3o~$(?1-+RJ5BRUSKd3W0GsUK z_@H7pF2Cevrp6$-pb*BNRj<9(f|N(M0`^16d6qs^R%;K6%m($=rXNL@>iT9%pGz+T zcBJX>%#~ZctEfXH#*(B_?LarRyG8G z2>guZ=7kK!`KJIH@V2nHH6IA$nR-&3N-59fU!s*GB(c$y4X4!as}Xe)%T8Bb<>nrG6a1OW7wxNKQ0h2zWQ=w+9! z=mPrMLW!g2eQqh~qn*-*Iagj>F0WGFmYbt+u4Gqzl8rf=)WAwlm8ghMvpnyS@bh}` zY<+y#PKM}0@S`s7DeU2t%{+~xV&=`ZKhj*dwxsH@`iZ9rFe@mFJ_7^}dlyPrgE3g} zV$Ppnw6sZ-9;q$q(4Ol-(ZrHA^7Fsn+%|#^V1~vV+IwOvNF4l!+IPd4b~P}-INV(a zwXy{};l~&>I3ARmJ;fMKhY^jYj{d_W*PgbrCW*GfPsrlVzu7km^b6EWa?BxY_My(7 z$Vw37k%s66TY?D=X9jpVV~v@1Jo+=k%_Xq+X)R&+8SX3NLwjnbm-6*x)h&;Gb86Sq zKWQD?8VFI8n)QCFPa&Eo4XpfjggxF;WYLQUISJa4J#amA`ng-LPg&-EJfi5@h@hGx zvx%0LeasMNE{*B81<0$?{WkW~tH$Wd`pZ`@Ts0Sc^-_!!w zfExXWn{$YazR7?5BP_v>`kS`_x>L`;c^m(qh5{*r4WeH{U?-JHfYDF{DnWWB0FDsi zHWp;J$qtH`rUU-!VX10yv6q2EWPaV0B*tZqvmXm zugZs301f|8y-a&ys@fTO;mH8);gBO~Dz{1Zgzdb3FGk$aDoWVekmHRidTLB;v!FG5 zM!RMO1k4u!wKPdU7b^)kenIe4IEej#O09=mG0HDd3=>SGUHTuCD#U6kiXm5-Z zX!k!RAa;@G$BXBA=gezB-^~XWR*$B#3sZqyyeOcyV(feY$yN=tH4}dj{y}K|ko^z5 ztPu6$O!{T{Hz^W8wO46S@dQNZ`Nvi8Zj3Iv#EmjfV7hKl2p^hIX5-l;O~Q6v*T-v~ zSiafHdX$MzzZQYd5IbFDMWYu!etVR*MhUd3U+f2yLF-3PL_YyiW)f5Y{sXz6bmx#3 zPJsZ?ut+f9hxU~i!o_J1>Ghmq@>723>vY z&U=6GKjDc4faR-E!u#)o{rDzZ=sG!|IdI8rmRZe{_@4b;)o(!4eeO>9Rp^OL{>%ac z)X$PflWhpxzPkwbu8a-NdC8&I>6kPz2jEvZ%j~=P)h>+EPG~>DXUm_E;Q>O4v?u-h z(+icuo9Q;`&^K0gXAS&B*2IReQbhg69E|!Wb1>RMk>CM@q_o4K_al#9-@SeFqh325 zFA2jI4ZXm00cx+)qQ_xF?~S0zr;= z;aS(CEemvXiyq#gSNODv-SW(!8ED(9+p+w~sc@CXLyF>$<~}lMcj5kpaJ|KoX>P0`>OI{f0K6``8B8 zvqXhPn4jsm^`PuTj$MUF77NR*9#fEs`u=|At$y0^nBBO}5!MjfLziT2ZUtF{>6 z$0afYhAqZwZx3$1PkV)aETmN){>i=rXdqz7Y6f{GD!9R3kcQ?PQZ^SzhVi8~>qMxMkZx+Osfo7d!^2tHCCFioqT6 z(&cJBbO*8jJSh6P3e$|<;zj7Fpz8ln$&fikW1k*xLU9`J#Hh4AI2{g@(Ql%zAA=Ho z@=utbpP8Gt5#SVJdY0mTXhd$^d6kw~k|?eB_R8WEqt1`KDf%o&ILHktE` zj}3{*QwL}h=YTPVkc&X#*1X_l!_eJ584Ah%5CZq+Pj@G+Lq)37ReXEOpL|G7BKP<# zuy|Ak2*=*|XC^0U&wD3$P`^Lixe*JgB0r*k4gA+%CIi}8EywS4n>J=uh8(Je`XNwkAgOc)?g*9NIEz#}XS(l^Kldxo@9;HPU&p6)JZc2mGkVJoE!fYjn7 zP(Ct^lJ;=#0TN4X09rdhatd$+g#_FtKmbtA2~vi@wb&d8NSOn7^{k2xNYu}KrUwTh z+S8j=DxiA9;8CkQ+K5+{vB7T)@;d`VS$KkO?_g&rIY(GHbwkZO}^ zB@GM@kf-Kg6~lb!OcNRyz84*L1yF->_FX9ejm-~%bSDj$O0=cufX>D3VCY2{5q{aeF(t|W z;ePRPQix5+i?H+LA?)eg+Xpxxp_9I!%K(TBK2#E+xY`~Y$8co<2qTszL-LW6+xeYj zXIV6;U`3%TIksL-L|S_r1weDOneR?>$#9?yV1;G`tcSK3-=tE5A$sd0fB0%qRUk^{u@BUgOC@TdXwR>)NY>@76CEbQ>v14sF`Jz3Rf z=Cjq`_oL0Z{e7c43Hy`k1j>2ou98L^JYN??TbxyK7%fz(g-`-qM%PRX>|@$9L9nX6 z0kLXi4y}?{TEaCm72>{Ealtb+IBp?9jHo~`!pwEuV=mRlOq0QW&mpj7J4`%|lx51{ zo669?IEv0TOdz=Himm|7$6|)hi#u1Kkt;!CN&l?oAQPaOOx~e)y~ROiAwQ+a71L21 ztG{SB;O@K%Ewu_bKFxtQUl%^CdNQav2f z%X^CEsOH|^vWLIy!f56V07i>pKglx)-bW%K*R}k*vJqd@Z-imCtz>|ce29k(sbYb` zqHwaj-x1i|H?vC+&*bAHe|R9+X8`t%_#`9NNq$rs0EorpQco^BFs*~%^hR#5jIWdQ;F!H&O};YSq$#PA?_l;~K^ zexPjUa7I9O71AM$fo}eP(IMpNB01&3;U%wt5r87fbbJ)(^%{fvx|}DR?j2CS$L1-R zu759@zkVa+z-XfD>8;RCE=ylG_w2#;6o8d`ig_xqlnc;HqpeaYq%{#7(>MgU41DW4 zom-QNTZvTNj+Eq^`rt`9uQ4eS!}0m+&?{G2~`yx4Yh~wvmj-Q z0@cyMoT^TO7x8=89*p?(>nj`)*2SY?`?bk{8De0{>j?xw4JIMTCKum3jm+Q;s3Bj` zm5LrMIYLh9Y*fCaC!HQ+wiRT{O_){OrhsIefl}lmuAQws#~Ogn}#reBGVhHyCpFIhf1 z^A3}}OY0tK!ac)`9$qe?B%gV!$>~+Wb{OhVx4vM`p2XsKT_(O5&0cPa8FRJF zsGeS}UdHr^?YB%)T-QOOP5jP)!Pw12ds|vI#G^k_3`-fjq2J2oTdI3MQ-O#ZBLBwv zU54vP0rNMEQ8ry?LwU6;76h{~q?$VEuK)#?DimDKM#VfE!FA|Ia78GTkI1OcJZ*EC z2AVW8nve?NKWgtl1%#~uFFmA&s4a`-Jh!CZm02^s1TJ%)Z=q=t9DPrOn5yPs>BaFp zo|?VeAMqa1BAs=f{CG`FRg^sp6ADj*dx`^OHF-~BejA?mVa(`@oWOUa2FSVPPLQ16^Akljd&ehNY#jA2`D->)!ip4e#$cfg% z1pc{j*AGd}BitMkgoA|KP{>PVQpMUu)BZV~@Gk3qrS+SMh2=Arc)!GsLUUP|>uq<4 zYvXWSzLLdqNjVH0KpntEt^9UVU^d8B%)OAA={D{n*)@L9u4o*u_Je#K-knhSNFQR201Znbj&-;A>n5j69 z@;>GJWlP6paqnw|ci!LzUsRLeV7I|g^t|{3!P4%1Ou>{6Z}avN=3Rh`!s;<^z&D$WP^_ylU3>j5Z>3qry-oZji}Z#)SauAd20!ODD!)=nQz9L_P^ zf}aVZx^Ktx%rOrxdY$u4>{eWibglQTgqU`3 zj1&ZD?axKEC@Ff77!LKt?*}_uveUmzC4We~x>A+oaSY#Lm�wjo)Q5?VXgr!b2Gd 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�ny^Id=Nd^Y&qd=76-Z^|`FvEENlTXG4 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Ąi8si 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

&d=TU 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'-B^P_ujl6TYhB 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�LqUVmo!PKxt-DoQfDtB)RK|Ja%X+3 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%0DIg5LN58v?W(}G;0gdpT!ekbT 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

bN8;LwtWjHnX1TJZ!3G|uI`*>zPW+SW$vYN4! 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 z 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/21_ab_test_view_light.png b/docs/images/basic_guides/21_ab_test_view_light.png new file mode 100644 index 0000000000000000000000000000000000000000..6fef792e2d5d597f8c6c01d9c7e10703a86c899c GIT binary patch literal 220427 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≶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 ?kRqHH3jsWz05pa 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%0Dxi?9I~A)oQu%kWl2M#xd~d4l-HgS@U+fk0sk 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

N7-WKyK(Z7l& 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 ROHTj*002ovPDHLkV1mB~F023m literal 0 HcmV?d00001 diff --git a/docs/images/basic_guides/22_single_model_test_view_light.png b/docs/images/basic_guides/22_single_model_test_view_light.png new file mode 100644 index 0000000000000000000000000000000000000000..c2b2ca30f386ed2a86b20b27f56e0cd942a41e23 GIT binary patch literal 223700 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 Date: Sat, 2 Mar 2024 21:49:10 +0100 Subject: [PATCH 116/539] Update - set default environment to playground --- agenta-backend/agenta_backend/models/db_models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 154457726e..03c8664a35 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -319,7 +319,7 @@ class TraceDB(Document): start_time: datetime end_time: datetime = Field(default=datetime.now()) cost: Optional[float] - environment: Optional[str] + environment: Optional[str] = Field(default="playground") latency: Optional[float] status: str # initiated, completed, stopped, cancelled, failed type: str = Field(default="generation") @@ -342,7 +342,7 @@ class SpanDB(Document): start_time: datetime duration: Optional[int] status: SpanStatus - environment: Optional[str] + environment: Optional[str] = Field(default="playground") end_time: datetime = Field(default=datetime.now()) inputs: Optional[Dict[str, Any]] outputs: Optional[List[str]] From d54a4810ca7be0d4e4f9c09969163b4d9bb5a1b3 Mon Sep 17 00:00:00 2001 From: Abram Date: Sat, 2 Mar 2024 21:49:49 +0100 Subject: [PATCH 117/539] Refactor - update data in ObservabilityDashboardData --- agenta-backend/agenta_backend/services/event_db_manager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index f392085d13..e6413d0c4d 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -327,10 +327,10 @@ async def retrieve_observability_dashboard( sum([span_db.cost for span_db in spans_db]) / len_of_spans_db, 5 ), "avg_latency": round( - sum([span_db.latency for span_db in spans_db]) / len_of_spans_db, 5 + sum([span_db.duration for span_db in spans_db]) / len_of_spans_db, 5 ), - "total_tokens": sum([span_db.total_tokens for span_db in spans_db]), - "avg_tokens": sum([span_db.total_tokens for span_db in spans_db]) + "total_tokens": sum([span_db.token_total for span_db in spans_db]), + "avg_tokens": sum([span_db.token_total for span_db in spans_db]) / len_of_spans_db, } ) From dde04aa0525e93786b475ac05769cca77ac8879f Mon Sep 17 00:00:00 2001 From: Abram Date: Sat, 2 Mar 2024 21:50:45 +0100 Subject: [PATCH 118/539] Refactor - remove filtering and aggregation logic from redis cache service --- .../agenta_backend/services/filters.py | 72 +++++++++++++++++++ .../services/redis_cache_service.py | 44 +++--------- 2 files changed, 81 insertions(+), 35 deletions(-) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 27edb66380..3ec64aae9d 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -5,6 +5,7 @@ Trace, ObservabilityData, GenerationFilterParams, + ObservabilityDashboardData, ObservabilityDashboardDataRequestParams, ) @@ -13,6 +14,16 @@ def filter_observability_dashboard_data_by_params( params: ObservabilityDashboardDataRequestParams, observability_data: List[Union[ObservabilityData, Dict[str, Any]]], ): + """Filter observability dashboard data by the provided params. + + Args: + params (ObservabilityDashboardDataRequestParams): the params to filter data with + observability_data (List[Union[ObservabilityData, Dict[str, Any]]]): data to filter + + Returns: + filtered list of data + """ + filtered_data = [] if observability_data != [] and isinstance(observability_data[0], dict): filtered_data = [ @@ -44,9 +55,70 @@ def filter_by_timestamp(data: ObservabilityData): def filter_document_by_filter_params( filters: GenerationFilterParams, document: Union[Span, Trace] ) -> bool: + """Filter document by the provided params. + + Args: + filters (GenerationFilterParams): the params to filter with + document (Union[Span, Trace]): expects either a span or trace document + + Returns: + bool: True or False if param matches condition + """ + if filters: if filters.variant and document.variant.variant_name != filters.variant: return False if filters.environment and document.environment != filters.environment: return False return True + + +def filter_and_aggregate_cache_observability_data( + params: ObservabilityDashboardDataRequestParams, + observability_data: List[Dict[str, Any]], +) -> ObservabilityDashboardData: + """Filter and aggregate cache data for the dashboard. + + Args: + params (ObservabilityDashboardDataRequestParams): the params to filter data with + observability_data (List[Dict[str, Any]]): cached data to filter + + Returns: + aggregated dashboard data + """ + + len_of_spans_db = len(observability_data) + filtered_data = filter_observability_dashboard_data_by_params( + params, observability_data + ) + if filtered_data == []: + return ObservabilityDashboardData( + **{ + "data": [], + "total_count": 0, + "failure_rate": 0, + "total_cost": 0, + "avg_cost": 0, + "avg_latency": 0, + "total_tokens": 0, + "avg_tokens": 0, + } + ) + return ObservabilityDashboardData( + **{ + "data": filtered_data, + "total_count": len_of_spans_db, + "failure_rate": 0, + "total_cost": round(sum([span["cost"] for span in observability_data]), 5), + "avg_cost": round( + sum([span["cost"] for span in observability_data]) / len_of_spans_db, 5 + ), + "avg_latency": round( + sum([span["latency"] for span in observability_data]) / len_of_spans_db, + 5, + ), + "total_tokens": sum([span["total_tokens"] for span in observability_data]), + "avg_tokens": sum([span["total_tokens"] for span in observability_data]) + / len_of_spans_db, + } + ) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index c02945fff9..4c86eff74f 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -1,5 +1,5 @@ import json -from typing import Dict, Any, Coroutine, Callable +from typing import Any, Coroutine, Callable from agenta_backend.services import filters from agenta_backend.utils import redis_utils @@ -10,48 +10,22 @@ async def cache_observability_data( data_func: Coroutine[None, None, Callable[[str, Any], ObservabilityDashboardData]], **kwargs, ) -> ObservabilityDashboardData: + # Prepare required args app_id = kwargs["app_id"] parameters = kwargs["parameters"] + + # Initialize redis connection redis = redis_utils.redis_connection() + + # Retrieve cache key and return data if it exists cached_data = redis.get(f"obs_dashboard_data_{app_id}") if cached_data is not None: loaded_data = json.loads(cached_data) - spans_data = loaded_data["data"] - len_of_spans_db = len(spans_data) - filtered_data = filters.filter_observability_dashboard_data_by_params( - parameters, spans_data - ) - if filtered_data == []: - return ObservabilityDashboardData( - **{ - "data": [], - "total_count": 0, - "failure_rate": 0, - "total_cost": 0, - "avg_cost": 0, - "avg_latency": 0, - "total_tokens": 0, - "avg_tokens": 0, - } - ) - return ObservabilityDashboardData( - **{ - "data": filtered_data, - "total_count": len_of_spans_db, - "failure_rate": 0, - "total_cost": round(sum([span["cost"] for span in spans_data]), 5), - "avg_cost": round( - sum([span["cost"] for span in spans_data]) / len_of_spans_db, 5 - ), - "avg_latency": round( - sum([span["latency"] for span in spans_data]) / len_of_spans_db, 5 - ), - "total_tokens": sum([span["total_tokens"] for span in spans_data]), - "avg_tokens": sum([span["total_tokens"] for span in spans_data]) - / len_of_spans_db, - } + return filters.filter_and_aggregate_cache_observability_data( + parameters, loaded_data["data"] ) + # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) redis.setex(f"obs_dashboard_data_{app_id}", 1800, data.json()) return data From 618dcf5e568077ba8e91969058a66d88c2fb2722 Mon Sep 17 00:00:00 2001 From: Abram Date: Sat, 2 Mar 2024 22:26:47 +0100 Subject: [PATCH 119/539] Update - revert back to previous sidebar --- agenta-web/package-lock.json | 2 +- agenta-web/src/components/Sidebar/Sidebar.tsx | 346 ++++-------------- 2 files changed, 69 insertions(+), 279 deletions(-) diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index ff392c61cf..97debd5502 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -5,7 +5,7 @@ "requires": true, "packages": { "": { - "name": "dashboard", + "name": "agenta", "version": "0.12.1", "dependencies": { "@ant-design/colors": "^7.0.0", diff --git a/agenta-web/src/components/Sidebar/Sidebar.tsx b/agenta-web/src/components/Sidebar/Sidebar.tsx index b46bea6856..616739292b 100644 --- a/agenta-web/src/components/Sidebar/Sidebar.tsx +++ b/agenta-web/src/components/Sidebar/Sidebar.tsx @@ -1,33 +1,14 @@ import React, {useMemo} from "react" import {useRouter} from "next/router" -import { - RocketOutlined, - AppstoreOutlined, - DatabaseOutlined, - CloudUploadOutlined, - ReadOutlined, - PhoneOutlined, - SettingOutlined, - LogoutOutlined, - SlidersOutlined, - PlayCircleOutlined, -} from "@ant-design/icons" -import {Divider, Layout, Menu, Space, Tooltip, theme} from "antd" - +import {Layout, Menu, Tooltip} from "antd" import Logo from "../Logo/Logo" import Link from "next/link" import {useAppTheme} from "../Layout/ThemeContextProvider" import {ErrorBoundary} from "react-error-boundary" import {createUseStyles} from "react-jss" import {useLocalStorage} from "usehooks-ts" -import Image from "next/image" -import abTesting from "@/media/testing.png" -import singleModel from "@/media/score.png" - -type StyleProps = { - themeMode: "system" | "dark" | "light" - colorBgContainer: string -} +import {SidebarConfig, useSidebarConfig} from "./config" +import {JSSTheme} from "@/lib/Types" const {Sider} = Layout @@ -42,15 +23,10 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ "&>div:nth-of-type(2)": { background: `${theme.colorBgContainer} !important`, }, - }), - siderWrapper: ({themeMode}: StyleProps) => ({ - border: `0.01px solid ${themeMode === "dark" ? "#222" : "#ddd"}`, - }), - evaluationImg: ({themeMode}: StyleProps) => ({ - width: 20, - height: 20, - filter: themeMode === "dark" ? "invert(1)" : "none", - }), + }, + siderWrapper: { + border: `0.01px solid ${theme.isDark ? "#222" : "#ddd"}`, + }, sliderContainer: { display: "flex", flexDirection: "column", @@ -82,12 +58,64 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ menuLinks: { width: "100%", }, - subMenuContainer: { - "& .ant-menu-submenu-title": { - paddingLeft: "16px !important", - }, - }, -}) +})) + +const SidebarMenu: React.FC<{ + items: SidebarConfig[] + selectedKeys: string[] + menuProps?: React.ComponentProps +}> = ({items, selectedKeys, menuProps}) => { + return ( + + {items.map((item) => { + if (item.submenu) { + return ( + + {item.submenu.map((subitem) => ( + + + + {subitem.title} + + + + ))} + + ) + } else { + return ( + + + + {item.title} + + + + ) + } + })} + + ) +} const Sidebar: React.FC = () => { const {appTheme} = useAppTheme() @@ -156,247 +184,9 @@ const Sidebar: React.FC = () => { }>
- - - }> - - {collapsed - ? "Create new applications or switch between your existing projects." - : "App Management"} - - - - {page_name && ( - <> - - }> - - {collapsed - ? "Experiment with real data and optimize your parameters including prompts, methods, and configuration settings." - : "Playground"} - - - - - - }> - - {collapsed - ? "Create and manage testsets for evaluation purposes." - : "Test Sets"} - - - - - {collapsed && } - - - - } - > - - {collapsed - ? "Select and customize evaluators such as custom code or regex evaluators." - : "Evaluators"} - - - - - } - > - - {collapsed - ? "Choose your variants and evaluators to start the evaluation process." - : "Results"} - - - - - {collapsed && } - - - - - } - > - - {collapsed - ? "A/B tests allow you to compare the performance of two different variants manually." - : "A/B Evaluation"} - - - - - - } - > - - {collapsed - ? "Single model test allows you to score the performance of a single LLM app manually." - : "Single Model Eval."} - - - - - - {collapsed && } - - - - } - > - - - - {collapsed - ? "Deploy your applications to different environments." - : "Endpoints"} - - - - - - - - )} - - - Date: Sat, 2 Mar 2024 23:35:01 +0100 Subject: [PATCH 120/539] Update - refactor agenta sdk to previous state and modified wrapped_deployed function --- agenta-cli/agenta/sdk/agenta_decorator.py | 8 ++++++- agenta-cli/agenta/sdk/agenta_init.py | 26 ++++++++++------------- 2 files changed, 18 insertions(+), 16 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index 5529dcb0d7..9615d25cea 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -95,7 +95,12 @@ async def wrapper_deployed(*args, **kwargs) -> Any: config = agenta.config.all() return await execute_function( - func, *args, **{"params": func_params, "config_params": config} + func, + *args, + **{ + "params": func_params, + "config_params": {**config, "environment": kwargs["environment"]}, + }, ) update_function_signature(wrapper, func_signature, config_params, ingestible_files) @@ -183,6 +188,7 @@ def get_prompt_system(config_params: Dict[str, Any]) -> Union[str, None]: if "config_params" in params: trace_data = { "inputs": params["params"], + "environment": params["config_params"].get("environment", None), "prompt_system": get_prompt_system(params["config_params"]), "prompt_user": params["config_params"].get("prompt_user"), } diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index 9969f321bb..e8ef1192ae 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -30,7 +30,7 @@ class AgentaSingleton: _instance = None setup = None - _config_data = None + config = None def __new__(cls): if not cls._instance: @@ -86,15 +86,13 @@ def init( f"Failed to get base id and/or app_id from the server with error: {ex}" ) - self._config_data = { - "base_id": base_id, - "host": host, - "app_id": os.environ.get("AGENTA_APP_ID") if not app_id else app_id, - "app_name": app_name, - "base_name": base_name, - "api_key": api_key, - "config": Config(base_id=base_id, host=host), - } + self.base_id = base_id + self.host = host + self.app_id = os.environ.get("AGENTA_APP_ID") if app_id is None else app_id + self.app_name = app_name + self.base_name = base_name + self.api_key = api_key + self.config = Config(base_id=base_id, host=host) def get_app(self, app_name: str) -> str: apps = client.apps.list_apps(app_name=app_name) @@ -231,16 +229,14 @@ def init(app_name=None, base_name=None, **kwargs): """ singleton = AgentaSingleton() singleton.init(app_name=app_name, base_name=base_name, **kwargs) - config = singleton.get_current_config()["config"] - set_global(setup=singleton.setup, config=config) + set_global(setup=singleton.setup, config=singleton.config) async def trace(**kwargs): """Function to start llm tracing.""" singleton = AgentaSingleton() - config_data = singleton.get_current_config() - llm_tracing = LLMTracing(config_data["host"], config_data["api_key"]) + llm_tracing = LLMTracing(singleton.host, singleton.api_key) await llm_tracing.start_tracing( - config_data["app_id"], config_data["base_id"], "default", **kwargs + singleton.app_id, singleton.base_id, "default", **kwargs ) From 45048c54e82e0f46869e232f8d7e83b37b04d92d Mon Sep 17 00:00:00 2001 From: Abram Date: Sat, 2 Mar 2024 23:36:14 +0100 Subject: [PATCH 121/539] Refactor - added environment to llm tracing, observability client and api model(s) --- .../agenta_backend/models/api/observability_models.py | 3 ++- .../client/backend/resources/observability/client.py | 10 ++++++++++ agenta-cli/agenta/sdk/agenta_tracing.py | 6 ++++-- 3 files changed, 16 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 910b9eafcc..12efa1b359 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -72,6 +72,7 @@ class BaseSpan(BaseModel): class CreateSpan(BaseSpan): trace_id: str + environment: Optional[str] class LLMInputs(BaseModel): @@ -156,7 +157,7 @@ class BaseTrace(BaseModel): class CreateTrace(BaseTrace): - pass + environment: Optional[str] class UpdateTrace(BaseModel): diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index db7bef9e35..8f21e310da 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -660,6 +660,7 @@ async def create_trace( config_name: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, status: typing.Optional[str] = OMIT, + environment: typing.Optional[str] = OMIT, token_consumption: typing.Optional[int] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, @@ -676,6 +677,8 @@ async def create_trace( - status: typing.Optional[str]. + - environment: typing.Optional[str]. + - token_consumption: typing.Optional[int]. - tags: typing.Optional[typing.List[str]]. @@ -698,6 +701,8 @@ async def create_trace( _request["cost"] = cost if status is not OMIT: _request["status"] = status + if environment is not OMIT: + _request["environment"] = environment if token_consumption is not OMIT: _request["token_consumption"] = token_consumption if tags is not OMIT: @@ -794,6 +799,7 @@ async def create_span( start_time: typing.Optional[dt.datetime] = OMIT, duration: typing.Optional[int] = OMIT, status: SpanStatus, + environment: typing.Optional[str] = OMIT, inputs: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, outputs: typing.Optional[typing.List[str]] = OMIT, prompt_system: typing.Optional[str] = OMIT, @@ -821,6 +827,8 @@ async def create_span( - status: SpanStatus. + - environment: typing.Optional[str]. + - inputs: typing.Optional[typing.Dict[str, Any]]. - outputs: typing.Optional[typing.List[str]]. @@ -862,6 +870,8 @@ async def create_span( _request["start_time"] = start_time if duration is not OMIT: _request["duration"] = duration + if environment is not OMIT: + _request["environment"] = environment if inputs is not OMIT: _request["inputs"] = inputs if outputs is not OMIT: diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index ff3c3cc80b..11c0e297d0 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -1,7 +1,7 @@ # Stdlib Imports import uuid -from datetime import datetime, timedelta -from typing import Optional, Dict, Any, Optional, List +from datetime import datetime +from typing import Optional, Dict, Any, Optional # Own Imports from agenta.client.backend import client @@ -32,6 +32,7 @@ async def create_trace( base_id=base_id, config_name=config_name, cost=kwargs["cost"], # type: ignore + environment=kwargs["environment"], # type: ignore status="INITIATED", token_consumption=kwargs["total_tokens"], # type: ignore tags=[], @@ -59,6 +60,7 @@ async def create_span( meta=kwargs["meta"], # type: ignore event_name=event_name, event_type="generation", + environment=kwargs["environment"], # type: ignore status=SpanStatus(**{"value": "SUCCESS", "error": None}), inputs=kwargs["inputs"], # type: ignore outputs=kwargs["outputs"], # type: ignore From 20217bb321cc98758e4d464c3f8ef7e1cddfd34d Mon Sep 17 00:00:00 2001 From: Abram Date: Sat, 2 Mar 2024 23:54:06 +0100 Subject: [PATCH 122/539] Update - remove default from trace and span db to event db function --- agenta-backend/agenta_backend/models/db_models.py | 4 ++-- .../agenta_backend/services/event_db_manager.py | 9 +++++++-- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 03c8664a35..154457726e 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -319,7 +319,7 @@ class TraceDB(Document): start_time: datetime end_time: datetime = Field(default=datetime.now()) cost: Optional[float] - environment: Optional[str] = Field(default="playground") + environment: Optional[str] latency: Optional[float] status: str # initiated, completed, stopped, cancelled, failed type: str = Field(default="generation") @@ -342,7 +342,7 @@ class SpanDB(Document): start_time: datetime duration: Optional[int] status: SpanStatus - environment: Optional[str] = Field(default="playground") + environment: Optional[str] end_time: datetime = Field(default=datetime.now()) inputs: Optional[Dict[str, Any]] outputs: Optional[List[str]] diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index e6413d0c4d..0372e7d14f 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -79,7 +79,11 @@ async def create_app_trace(payload: CreateTrace, user_uid: str) -> str: """ user = await db_manager.get_user(user_uid) - trace_db = TraceDB(**payload.dict(), user=user) + trace_db = TraceDB( + **payload.dict(exclude={"environment"}), + environment="playground" if not payload.environment else payload.environment, + user=user, + ) await trace_db.create() return str(trace_db.id) @@ -148,8 +152,9 @@ async def create_trace_span(payload: CreateSpan) -> str: duration = end_time - payload.start_time trace = await TraceDB.find_one(TraceDB.id == ObjectId(payload.trace_id)) span_db = SpanDB( - **payload.dict(exclude={"end_time", "duration", "trace_id"}), + **payload.dict(exclude={"end_time", "duration", "trace_id", "environment"}), trace=trace, + environment="playground" if not payload.environment else payload.environment, end_time=end_time, duration=duration.total_seconds(), ) From 52eb941b64bf8e0ee9900eec2f8f7613ebf7da60 Mon Sep 17 00:00:00 2001 From: Abram Date: Sat, 2 Mar 2024 23:54:28 +0100 Subject: [PATCH 123/539] :art: Format - ran black --- agenta-cli/agenta/sdk/agenta_tracing.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py index 11c0e297d0..3d83eeff63 100644 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ b/agenta-cli/agenta/sdk/agenta_tracing.py @@ -32,7 +32,7 @@ async def create_trace( base_id=base_id, config_name=config_name, cost=kwargs["cost"], # type: ignore - environment=kwargs["environment"], # type: ignore + environment=kwargs["environment"], # type: ignore status="INITIATED", token_consumption=kwargs["total_tokens"], # type: ignore tags=[], @@ -60,7 +60,7 @@ async def create_span( meta=kwargs["meta"], # type: ignore event_name=event_name, event_type="generation", - environment=kwargs["environment"], # type: ignore + environment=kwargs["environment"], # type: ignore status=SpanStatus(**{"value": "SUCCESS", "error": None}), inputs=kwargs["inputs"], # type: ignore outputs=kwargs["outputs"], # type: ignore From fb67db253073035f36133af12e3941ca87725cfb Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 5 Mar 2024 13:16:59 +0100 Subject: [PATCH 124/539] Update - created get_pagination_skip_limit converter --- agenta-backend/agenta_backend/models/converters.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index 26d64eb553..5b76705a3c 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -3,7 +3,7 @@ import json import logging -from typing import List +from typing import List, Tuple from agenta_backend.services import db_manager from agenta_backend.utils.common import isCloudEE @@ -12,10 +12,6 @@ Span, SpanStatus, SpanVariant, - LLMInputs, - LLMContent, - LLMModelParams, - SpanDetail, Trace, Feedback as FeedbackOutput, ) @@ -614,3 +610,9 @@ def get_paginated_data(data: List[CustomType], query: PaginationParam = Depends( return WithPagination[CustomType]( data=data, total=len(data), page=query.page, pageSize=query.pageSize ) + + +def get_pagination_skip_limit(pagination: PaginationParam) -> Tuple[int, int]: + skip = (pagination.page - 1) * pagination.pageSize + limit = pagination.pageSize + return skip, limit From f8907cd154828e920e08ad6e844f2acc3cb3a6b8 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 5 Mar 2024 13:17:51 +0100 Subject: [PATCH 125/539] Refactor - update pagination and sorting logic when retrieving spans and traces --- .../services/event_db_manager.py | 62 +++++++++---------- 1 file changed, 30 insertions(+), 32 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 0372e7d14f..c0acd731aa 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -28,6 +28,7 @@ feedback_db_to_pydantic, trace_db_to_pydantic, get_paginated_data, + get_pagination_skip_limit, ) from agenta_backend.services import db_manager, filters, helpers from agenta_backend.models.db_models import ( @@ -37,6 +38,7 @@ SpanDB, ) +import pymongo from beanie.operators import In from beanie import PydanticObjectId as ObjectId @@ -180,33 +182,29 @@ async def fetch_generation_spans( List[Span]: the list of spans for the given user """ - spans_db = SpanDB.find( - SpanDB.trace.app_id == app_id, - fetch_links=True, + # Apply pagination and sorting + skip, limit = get_pagination_skip_limit(pagination) + sort_direction = ( + pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING ) + + # Fetch spans with pagination and sorting applied + spans_db = SpanDB.find( + SpanDB.trace.app_id == app_id, fetch_links=True, skip=skip, limit=limit + ).sort([(SpanDB.created_at, sort_direction)]) if filters_param.trace_id is not None: - spans_db = await spans_db.find( + spans_db = await spans_db.find_many( SpanDB.trace.id == ObjectId(filters_param.trace_id) ).to_list() else: spans_db = await spans_db.to_list() - # Get trace spans + # Convert beanie documents to pydantic models and filter based on the filter_params spans = await spans_to_pydantic(spans_db) filtered_generations = filter( partial(filters.filter_document_by_filter_params, filters_param), spans ) - - # Sorting logic - reverse = False - sort_keys = list(sorters.dict(exclude=None).keys()) - if "created_at" in sort_keys: - reverse = sorters.created_at == "desc" if sorters else False - - sorted_generations = sorted( - filtered_generations, key=lambda x: x["created_at"], reverse=reverse - ) - return get_paginated_data(sorted_generations, pagination) + return get_paginated_data(list(filtered_generations), pagination) async def fetch_generation_span_detail(span_id: str, user_uid: str) -> SpanDetail: @@ -359,27 +357,27 @@ async def fetch_traces( List[Trace]: the list of trace for the given app_id """ - traces_db = await TraceDB.find( - TraceDB.app_id == app_id, - fetch_links=True, - ).to_list() + # Apply pagination and sorting + skip, limit = get_pagination_skip_limit(pagination) + sort_direction = ( + pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING + ) + + # Fetch traces with pagination and sorting applied + traces_db = ( + await TraceDB.find( + TraceDB.app_id == app_id, fetch_links=True, skip=skip, limit=limit + ) + .sort([(TraceDB.created_at, sort_direction)]) + .to_list() + ) - # Get traces + # Convert beanie documents to pydantic models and filter based on the filter_params traces = await traces_to_pydantic(traces_db) filtered_traces = filter( partial(filters.filter_document_by_filter_params, filters_param), traces ) - - # Sorting logic - reverse = False - sort_keys = list(sorters.dict(exclude=None).keys()) - if "created_at" in sort_keys: - reverse = sorters.created_at == "desc" if sorters else False - - sorted_traces = sorted( - filtered_traces, key=lambda x: x["created_at"], reverse=reverse - ) - return get_paginated_data(sorted_traces, pagination) + return get_paginated_data(list(filtered_traces), pagination) async def fetch_trace_detail(trace_id: str, user_uid: str) -> TraceDetail: From 8e7efa7386414abbad75aedde4b499cf97c56e03 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Tue, 5 Mar 2024 17:26:33 +0500 Subject: [PATCH 126/539] default value capability to ServerTable --- agenta-web/src/components/ServerTable/index.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/agenta-web/src/components/ServerTable/index.tsx b/agenta-web/src/components/ServerTable/index.tsx index b86155d4a0..0a75981313 100644 --- a/agenta-web/src/components/ServerTable/index.tsx +++ b/agenta-web/src/components/ServerTable/index.tsx @@ -53,6 +53,7 @@ interface Props { pagination?: boolean columns: DataCol[] headerExtra?: ReactNode + defaultTableParams?: Partial } const ServerTable = ( @@ -60,7 +61,10 @@ const ServerTable = ( ) => { const classes = useStyles() const [columns, setColumns] = useState[]>((props.columns || []) as DataCol[]) - const [_tableParams, setTableParams] = useQueryParam("tableParams") + const [_tableParams, setTableParams] = useQueryParam( + "tableParams", + props.defaultTableParams && JSON.stringify(props.defaultTableParams), + ) const [_hiddenCols, _setHiddenCols] = useQueryParam("hiddenCols", "") const [data, setData] = useState([]) const [loading, setLoading] = useState(false) From 915a508171f59e6793eebdea6bc71e285c5d2d17 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 5 Mar 2024 15:13:39 +0100 Subject: [PATCH 127/539] Update - added metadata for generation span detail --- agenta-backend/agenta_backend/services/event_db_manager.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index c0acd731aa..10a6244265 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -245,7 +245,11 @@ async def fetch_generation_span_detail(span_id: str, user_uid: str) -> SpanDetai else None ), }, - "metadata": span_db.meta, + "metadata": { + "cost": span_db.cost, + "latency": span_db.duration, + "usage": span_db.meta, + }, "user_id": str(user.id), "span_id": str(span_db.id), "content": { From 6cf77fe058188eabbb3f0e4f16dd1cad386ccc98 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 5 Mar 2024 15:40:04 +0100 Subject: [PATCH 128/539] Update - modified fetch_generation_spans query --- agenta-backend/agenta_backend/models/converters.py | 6 +++++- agenta-backend/agenta_backend/services/event_db_manager.py | 2 +- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index 5b76705a3c..d4d3709c29 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -512,7 +512,11 @@ async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: ), environment=span_db.environment, status=SpanStatus(value=span_db.status.value, error=span_db.status.error), - metadata=span_db.meta, + metadata={ + "cost": span_db.cost, + "latency": span_db.duration, + "usage": span_db.meta, + }, user_id=str(span_db.trace.user.id), ) spans.append(span.dict(exclude_unset=True)) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 10a6244265..004a7eca07 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -194,7 +194,7 @@ async def fetch_generation_spans( ).sort([(SpanDB.created_at, sort_direction)]) if filters_param.trace_id is not None: spans_db = await spans_db.find_many( - SpanDB.trace.id == ObjectId(filters_param.trace_id) + SpanDB.trace.id == ObjectId(filters_param.trace_id), fetch_links=True ).to_list() else: spans_db = await spans_db.to_list() From ab018fc5694615d8bd8c94e6091ea74d35fbc051 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 5 Mar 2024 15:40:26 +0100 Subject: [PATCH 129/539] Update - modified get spans of trace router --- agenta-backend/agenta_backend/routers/observability_router.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index b9e3609b47..0550589866 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -77,7 +77,7 @@ async def get_traces( filters: GenerationFilterParams = Depends(), sorters: SorterParams = Depends(), ): - spans = await event_db_manager.fetch_generation_spans( + spans = await event_db_manager.fetch_traces( app_id, pagination, filters, From e83cb94bab1a0d8e575e13a0c386e259923122b3 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 5 Mar 2024 15:53:51 +0100 Subject: [PATCH 130/539] Minor update - ensure environment is visible in span generation detail --- agenta-backend/agenta_backend/services/event_db_manager.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 004a7eca07..497129366e 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -233,7 +233,7 @@ async def fetch_generation_span_detail(span_id: str, user_uid: str) -> SpanDetai "variant_name": app_variant_db.variant_name, "revision": app_variant_db.revision, }, - "environment": "", + "environment": span_db.environment, "status": { "value": span_db.status.value, "error": ( From 95f99e027d6261b169652fd8212670bc8f655721 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Tue, 5 Mar 2024 15:56:59 +0100 Subject: [PATCH 131/539] corrected parameters types in deployment view --- agenta-web/src/lib/Types.ts | 18 +++--------------- 1 file changed, 3 insertions(+), 15 deletions(-) diff --git a/agenta-web/src/lib/Types.ts b/agenta-web/src/lib/Types.ts index d0df2873ea..3f997cd0be 100644 --- a/agenta-web/src/lib/Types.ts +++ b/agenta-web/src/lib/Types.ts @@ -169,28 +169,16 @@ export interface Parameter { maximum?: number } -export interface Parameters { - frequence_penalty: number - inputs: [{}] - max_tokens: number - model: string - presence_penalty: number - prompt_system: string - prompt_user: string - temperature: number - top_p: number -} - export interface DeploymentRevisionConfig { config_name: string current_version: number - parameters: Parameters + parameters: Record } export interface IPromptRevisions { config: { config_name: string - parameters: Parameters + parameters: Record } created_at: string modified_by: string @@ -210,7 +198,7 @@ export interface IPromptVersioning { base_name: string config_name: string organization_id: string - parameters: Parameters + parameters: Record previous_variant_name: string | null revision: number revisions: [IPromptRevisions] From 77e6cc013a728a653cf36f83359dcd418033d747 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 5 Mar 2024 16:13:56 +0100 Subject: [PATCH 132/539] Update - return list of spans if trace_id is provided when retriving spans of trace --- agenta-backend/agenta_backend/services/event_db_manager.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 497129366e..82ec20097c 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -204,6 +204,8 @@ async def fetch_generation_spans( filtered_generations = filter( partial(filters.filter_document_by_filter_params, filters_param), spans ) + if filters_param.trace_id: + return list(filtered_generations) return get_paginated_data(list(filtered_generations), pagination) From 337b4aff6b01a66c145d6e5a0e2cc493588d6a5f Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 5 Mar 2024 16:24:14 +0100 Subject: [PATCH 133/539] Update - set response_model of get_spans_of_trace to Any --- agenta-backend/agenta_backend/routers/observability_router.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 0550589866..b97dd2dcad 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -1,4 +1,4 @@ -from typing import List, Optional +from typing import List, Any from fastapi import Request, Query, Depends @@ -109,7 +109,7 @@ async def delete_traces(request: Request, ids: List[str]): @router.get( "/spans/", - response_model=WithPagination[Span], + response_model=Any, operation_id="get_spans_of_generation", ) async def get_spans_of_trace( From 1b039b11fb6ab6816e3997e1d7c2842e3363c933 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 5 Mar 2024 16:43:35 +0100 Subject: [PATCH 134/539] Refactor - remove custom type and make use of typing.Any --- .../agenta_backend/models/api/api_models.py | 11 +++-------- agenta-backend/agenta_backend/models/converters.py | 7 +++---- .../agenta_backend/routers/observability_router.py | 5 +---- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/api_models.py b/agenta-backend/agenta_backend/models/api/api_models.py index 2c00fc3104..fa860084d0 100644 --- a/agenta-backend/agenta_backend/models/api/api_models.py +++ b/agenta-backend/agenta_backend/models/api/api_models.py @@ -1,17 +1,12 @@ from enum import Enum from datetime import datetime -from typing import Any, Dict, List, Optional, TypeVar, Generic +from typing import Any, Dict, List, Optional -from fastapi import Query from pydantic import BaseModel, Field from agenta_backend.models.db_models import ConfigDB -# generic type for db models that will be -# translated into a pydantic model(s) -T = TypeVar("T") - class PaginationParam(BaseModel): page: int = Field(default=1, ge=1) @@ -22,8 +17,8 @@ class SorterParams(BaseModel): created_at: str = Field("desc") -class WithPagination(BaseModel, Generic[T]): - data: List[T] +class WithPagination(BaseModel): + data: List[Any] total: int page: int pageSize: int diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index d4d3709c29..c1774c6bb9 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -3,7 +3,7 @@ import json import logging -from typing import List, Tuple +from typing import List, Tuple, Any from agenta_backend.services import db_manager from agenta_backend.utils.common import isCloudEE @@ -93,7 +93,6 @@ AppVariantRevision, PaginationParam, WithPagination, - T as CustomType, ) from fastapi import Depends @@ -610,8 +609,8 @@ def evaluator_config_db_to_pydantic(evaluator_config: EvaluatorConfigDB): ) -def get_paginated_data(data: List[CustomType], query: PaginationParam = Depends()): - return WithPagination[CustomType]( +def get_paginated_data(data: List[Any], query: PaginationParam = Depends()): + return WithPagination( data=data, total=len(data), page=query.page, pageSize=query.pageSize ) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index b97dd2dcad..1c04b4b1fd 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -10,13 +10,11 @@ PaginationParam, ) from agenta_backend.models.api.observability_models import ( - Span, SpanDetail, CreateSpan, CreateFeedback, Feedback, UpdateFeedback, - Trace, TraceDetail, CreateTrace, UpdateTrace, @@ -67,7 +65,7 @@ async def create_span( @router.get( "/traces/", - response_model=WithPagination[Trace], + response_model=WithPagination, operation_id="get_traces", ) async def get_traces( @@ -109,7 +107,6 @@ async def delete_traces(request: Request, ids: List[str]): @router.get( "/spans/", - response_model=Any, operation_id="get_spans_of_generation", ) async def get_spans_of_trace( From 53b359cdb8763a2b039055de4139953533e90e64 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 6 Mar 2024 09:18:32 +0100 Subject: [PATCH 135/539] Update - allow unique cache key for observability dashboard --- agenta-backend/agenta_backend/models/api/api_models.py | 1 - .../agenta_backend/services/redis_cache_service.py | 6 ++++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/api_models.py b/agenta-backend/agenta_backend/models/api/api_models.py index fa860084d0..9abb9d8189 100644 --- a/agenta-backend/agenta_backend/models/api/api_models.py +++ b/agenta-backend/agenta_backend/models/api/api_models.py @@ -7,7 +7,6 @@ from agenta_backend.models.db_models import ConfigDB - class PaginationParam(BaseModel): page: int = Field(default=1, ge=1) pageSize: int = Field(default=10, ge=1) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index 4c86eff74f..3e53056d51 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -18,7 +18,7 @@ async def cache_observability_data( redis = redis_utils.redis_connection() # Retrieve cache key and return data if it exists - cached_data = redis.get(f"obs_dashboard_data_{app_id}") + cached_data = redis.get(f"obs_dashboard_data_{app_id}_{parameters.environment}") if cached_data is not None: loaded_data = json.loads(cached_data) return filters.filter_and_aggregate_cache_observability_data( @@ -27,5 +27,7 @@ async def cache_observability_data( # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) - redis.setex(f"obs_dashboard_data_{app_id}", 1800, data.json()) + redis.setex( + f"obs_dashboard_data_{app_id}_{parameters.environment}", 1800, data.json() + ) return data From 32effffbf5b7731bc5164bdcb3103951ec74bfb7 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 6 Mar 2024 11:23:56 +0100 Subject: [PATCH 136/539] Update - resolve filtering by timestamp --- agenta-backend/agenta_backend/services/filters.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 3ec64aae9d..3b6a04d748 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -33,11 +33,9 @@ def filter_observability_dashboard_data_by_params( filtered_data = observability_data if params.startTime or params.endTime: - def filter_by_timestamp(data: ObservabilityData): - epoch_time = int(data.timestamp.timestamp()) + epoch_time = int(data.timestamp.timestamp()) * 1000 return params.startTime <= epoch_time <= params.endTime - filtered_data = filter(filter_by_timestamp, filtered_data) if params.environment: From 1a328e1d596ccc63473a5b1504d704e730ed55cc Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Thu, 7 Mar 2024 09:11:13 +0500 Subject: [PATCH 137/539] fixed sidebar links for evaluation and annotations --- agenta-web/src/components/Sidebar/config.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/agenta-web/src/components/Sidebar/config.tsx b/agenta-web/src/components/Sidebar/config.tsx index 6f4adcdb00..c5f20e420b 100644 --- a/agenta-web/src/components/Sidebar/config.tsx +++ b/agenta-web/src/components/Sidebar/config.tsx @@ -82,7 +82,7 @@ export const useSidebarConfig = () => { key: "app-evaluations-link", title: "Evaluations", tooltip: "Evaluate and Compare variants programmatically.", - link: `/apps/${appId}/evaluations`, + link: `/apps/${appId}/evaluations/results`, icon: , isHidden: !appId, }, @@ -90,9 +90,17 @@ export const useSidebarConfig = () => { key: "app-annotations-link", title: "Annotations", tooltip: "Use human feedback to score and compare variants.", - link: `/apps/${appId}/annotations`, icon: , isHidden: !appId, + submenu: [ + { + key: "app-annotations-single-model-link", + title: "Single Model Evaluation", + tooltip: "Single Model Evaluation", + link: `/apps/${appId}/annotations/single_model_test`, + icon: , + }, + ], }, { key: "app-observability-link", From d855edabca8019581e1d42469eb22777aabb7545 Mon Sep 17 00:00:00 2001 From: Venkata Raviteja Gullapudi Date: Sat, 9 Mar 2024 22:26:05 +0530 Subject: [PATCH 138/539] fix: Delete evaluator modal is light in dark mode #1424 --- agenta-web/src/components/AlertPopup/AlertPopup.tsx | 6 +++++- .../pages/evaluations/evaluators/EvaluatorCard.tsx | 5 ++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/agenta-web/src/components/AlertPopup/AlertPopup.tsx b/agenta-web/src/components/AlertPopup/AlertPopup.tsx index e405394498..87d3320505 100644 --- a/agenta-web/src/components/AlertPopup/AlertPopup.tsx +++ b/agenta-web/src/components/AlertPopup/AlertPopup.tsx @@ -2,6 +2,7 @@ import React, {ReactNode} from "react" import {Modal, ModalFuncProps} from "antd" import {ExclamationCircleOutlined} from "@ant-design/icons" import {globalErrorHandler} from "@/lib/helpers/errorHandler" +import { HookAPI } from "antd/es/modal/useModal" function handleCb(cb: AlertPopupProps["onOk"]) { if (typeof cb !== "function") return cb @@ -19,6 +20,7 @@ function handleCb(cb: AlertPopupProps["onOk"]) { export type AlertPopupProps = ModalFuncProps & { message: ReactNode cancellable?: boolean + modalInstance?: HookAPI } export default function AlertPopup({ @@ -29,10 +31,12 @@ export default function AlertPopup({ onOk, onCancel, cancellable = true, + modalInstance, type, ...ModalProps }: AlertPopupProps) { - return Modal[type || "confirm"]({ + const modalIns = modalInstance as any || Modal; + return modalIns[type || "confirm"]({ title, content: message, okText, diff --git a/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx b/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx index ddf540e463..f455d0a692 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx @@ -1,7 +1,7 @@ import React from "react" import {EvaluatorConfig, JSSTheme} from "@/lib/Types" import {DeleteOutlined, EditOutlined} from "@ant-design/icons" -import {Card, Tag, Typography} from "antd" +import {Card, Tag, Typography, Modal} from "antd" import {createUseStyles} from "react-jss" import dayjs from "dayjs" import Image from "next/image" @@ -60,11 +60,13 @@ const EvaluatorCard: React.FC = ({evaluatorConfig, onEdit, onSuccessDelet const classes = useStyles() const [evaluators] = useAtom(evaluatorsAtom) const evaluator = evaluators.find((item) => item.key === evaluatorConfig.evaluator_key)! + const [modal, contextHolder] = Modal.useModal() const onDelete = async () => { AlertPopup({ title: "Delete evaluator", message: "Are you sure you want to delete this evaluator?", + modalInstance: modal, onOk: async () => { if ( !(await checkIfResourceValidForDeletion({ @@ -122,6 +124,7 @@ const EvaluatorCard: React.FC = ({evaluatorConfig, onEdit, onSuccessDelet {evaluatorConfig.name}
+ {contextHolder} ) } From b84a44ca7e9a09f195de1f5976da6db604416272 Mon Sep 17 00:00:00 2001 From: Venkata Raviteja Gullapudi Date: Sat, 9 Mar 2024 22:33:44 +0530 Subject: [PATCH 139/539] fix: prettier formatting --- agenta-web/src/components/AlertPopup/AlertPopup.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-web/src/components/AlertPopup/AlertPopup.tsx b/agenta-web/src/components/AlertPopup/AlertPopup.tsx index 87d3320505..4f436598ea 100644 --- a/agenta-web/src/components/AlertPopup/AlertPopup.tsx +++ b/agenta-web/src/components/AlertPopup/AlertPopup.tsx @@ -2,7 +2,7 @@ import React, {ReactNode} from "react" import {Modal, ModalFuncProps} from "antd" import {ExclamationCircleOutlined} from "@ant-design/icons" import {globalErrorHandler} from "@/lib/helpers/errorHandler" -import { HookAPI } from "antd/es/modal/useModal" +import {HookAPI} from "antd/es/modal/useModal" function handleCb(cb: AlertPopupProps["onOk"]) { if (typeof cb !== "function") return cb @@ -35,7 +35,7 @@ export default function AlertPopup({ type, ...ModalProps }: AlertPopupProps) { - const modalIns = modalInstance as any || Modal; + const modalIns = (modalInstance as any) || Modal return modalIns[type || "confirm"]({ title, content: message, From f40fbe91ce66b9c9f61bb0e679dc63c4148be0fe Mon Sep 17 00:00:00 2001 From: Abram Date: Sun, 10 Mar 2024 23:53:51 +0100 Subject: [PATCH 140/539] Update - resolve concerns in pr#1427 --- agenta-cli/agenta/sdk/agenta_init.py | 2 -- 1 file changed, 2 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index e8ef1192ae..580d5ef9f2 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -89,8 +89,6 @@ def init( self.base_id = base_id self.host = host self.app_id = os.environ.get("AGENTA_APP_ID") if app_id is None else app_id - self.app_name = app_name - self.base_name = base_name self.api_key = api_key self.config = Config(base_id=base_id, host=host) From 68b2406b0546af32f44fb6e19eaca060da1c2e16 Mon Sep 17 00:00:00 2001 From: Abram Date: Sun, 10 Mar 2024 23:59:26 +0100 Subject: [PATCH 141/539] Update - revamp trace and span db documents --- .../agenta_backend/models/db_models.py | 63 ++++++++++++------- 1 file changed, 42 insertions(+), 21 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 154457726e..6b9349cb13 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -1,6 +1,7 @@ from enum import Enum from uuid import uuid4 from datetime import datetime +from functools import lru_cache from typing import Any, Dict, List, Optional from pydantic import BaseModel, Field @@ -312,48 +313,68 @@ class Feedback(BaseModel): updated_at: datetime = Field(default=datetime.now()) +class LLMTokens(BaseModel): + prompt_tokens: int + completion_tokens: int + total_tokens: int + + +class LLMPrompts(BaseModel): + prompt_user: Optional[str] + prompt_system: str + + +class TracingEventTypes(BaseModel): + LLM_REQUEST = "llm_request" + EMBEDDING = "embedding" + + class TraceDB(Document): - app_id: Optional[str] + app_id: str base_id: str config_name: str + trace_name: Optional[str] start_time: datetime end_time: datetime = Field(default=datetime.now()) cost: Optional[float] - environment: Optional[str] - latency: Optional[float] - status: str # initiated, completed, stopped, cancelled, failed - type: str = Field(default="generation") - token_consumption: Optional[int] + model: str + inputs: Optional[Dict[str, Any]] + outputs: Optional[List[str]] + variant_config: Dict[str, Any] + environment: Optional[str] # request source -> playground, development, etc + status: str # initiated, completed, stopped, canceled, failed user: Link[UserDB] tags: Optional[List[str]] feedbacks: Optional[List[Feedback]] created_at: datetime = Field(default=datetime.now()) + @lru_cache() + def get_latency(cls) -> float: + return (cls.end_time - cls.start_time).total_seconds() + class Settings: name = "traces" class SpanDB(Document): trace: Link[TraceDB] - parent_span_id: Optional[str] - meta: Optional[Dict[str, Any]] + parent_span_id: Optional[str] # parent observability of span event_name: str # Function or execution name - event_type: Optional[str] - start_time: datetime - duration: Optional[int] + event_type: Optional[TracingEventTypes] status: SpanStatus - environment: Optional[str] + input: Optional[str] + output: Optional[str] + environment: Optional[str] # request source -> playground, development, etc + start_time: datetime end_time: datetime = Field(default=datetime.now()) - inputs: Optional[Dict[str, Any]] - outputs: Optional[List[str]] - prompt_user: Optional[str] - prompt_system: Optional[str] - tokens_input: Optional[int] - tokens_output: Optional[int] - token_total: Optional[int] - cost: Optional[float] - tags: Optional[List[str]] + tokens: Optional[LLMTokens] created_at: datetime = Field(default=datetime.now()) + @lru_cache() + def get_latency(cls) -> float: + return (cls.end_time - cls.start_time).total_seconds() + class Settings: name = "spans" + # use_cache = True # Important for link indexing performance + indexes = [] # TODO: how to index trace given that it's a linked document? From 195e9fad5e2c834448fcfe4d73fe8096aa70ba37 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 11 Mar 2024 00:00:39 +0100 Subject: [PATCH 142/539] Feat - created llm logger --- agenta-cli/agenta/sdk/tracing/logger.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 agenta-cli/agenta/sdk/tracing/logger.py diff --git a/agenta-cli/agenta/sdk/tracing/logger.py b/agenta-cli/agenta/sdk/tracing/logger.py new file mode 100644 index 0000000000..1dc83e8cfd --- /dev/null +++ b/agenta-cli/agenta/sdk/tracing/logger.py @@ -0,0 +1,19 @@ +import logging + + +class LLMLogger: + def __init__(self, name="LLMLogger", level=logging.INFO): + self.logger = logging.getLogger(name) + self.logger.setLevel(level) + + # Add a stream logger to view the logs in the console + console_handler = logging.StreamHandler() + self.logger.addHandler(console_handler) + + @property + def log(self) -> logging.Logger: + return self.logger + + +# Initialize llm logger +llm_logger = LLMLogger().log From d1d2d966b4225552a87bf91ec262f878c76d3392 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 11 Mar 2024 00:01:47 +0100 Subject: [PATCH 143/539] Feat - created module responsible for handling async tasks --- .../agenta/sdk/tracing/tasks_manager.py | 109 ++++++++++++++++++ 1 file changed, 109 insertions(+) create mode 100644 agenta-cli/agenta/sdk/tracing/tasks_manager.py diff --git a/agenta-cli/agenta/sdk/tracing/tasks_manager.py b/agenta-cli/agenta/sdk/tracing/tasks_manager.py new file mode 100644 index 0000000000..d11e1f429f --- /dev/null +++ b/agenta-cli/agenta/sdk/tracing/tasks_manager.py @@ -0,0 +1,109 @@ +# Stdlib Imports +import queue +import asyncio +import threading +from logging import Logger +from typing import Coroutine, Optional, Union +from concurrent.futures import ThreadPoolExecutor, Future + +# Own Imports +from agenta.client.backend.types.error import Error + + +class AsyncTask(object): + """Wraps a coroutine (an asynchronous function defined with async def). + + Args: + coroutine (Coroutine): asynchronous function + """ + + def __init__(self, coroutine: Coroutine): + self.coroutine = coroutine + self.task: Optional[asyncio.Task] = None + + async def run(self) -> Union[asyncio.Task, Error]: + """Creates an asyncio Task from the coroutine and starts it + + Returns: + Task: asyncio task + """ + + try: + self.task = asyncio.create_task(self.coroutine) + except Exception as exc: + return Error(message="error running task", stacktrace=str(exc)) + return await self.task + + def cancel(self): + """ + Cancels running asyncio Task. + """ + + if self.task: + self.task.cancel() + + +class TaskQueue(object): + """Stores a list of AsyncTask instances. + + Args: + tasks (List[AsyncTasks]): list of async task instances + + Example Usage: + ```python + queue = TaskQueue() + queue.add_task(long_running_task(1)) + queue.add_task(long_running_task(2)) + ``` + """ + + def __init__(self, num_workers: int, logger: Logger): + self.tasks = queue.Queue() # type: ignore + self._lock = threading.Lock() + self._logger = logger + self._thread_pool = ThreadPoolExecutor(max_workers=num_workers) + + def add_task(self, coroutine: Coroutine) -> AsyncTask: + """Adds a new task to be executed. + + Args: + coroutine (Coroutine): async task + + Returns: + AsyncTask: task to be executed + """ + + task = AsyncTask(coroutine) + with self._lock: + self.tasks.put(task) + return task + + def _worker(self): + """ + Runs task gotten from the queue in a thread pool. + """ + + while True: + with self._lock: + task = self.tasks.get() + try: + self._logger.info(f"Running LLM tracing: {str(task)}") + future = self._thread_pool.submit(asyncio.run, task.run()) + future.add_done_callback(self._handle_task_completion) + except Exception as exc: + self._logger.error(f"Error running task: {exc}") + finally: + self.tasks.task_done() + self._logger.info(f"Tracing completed: {str(task)}") + + def _handle_task_completion(self, future: Future): + """Handles task completion or exception raise. + + Args: + future (Future): asynchronous task in progress + """ + + try: + future.result() + except Exception as exc: + self._logger.error(f"Error in completed task: {exc}") From e86c76c3bb4f6cfca199c8f3710b1cb62bd537a4 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 11 Mar 2024 00:06:16 +0100 Subject: [PATCH 144/539] Feat - implemented module for handling stateful operations --- agenta-cli/agenta/sdk/tracing/states.py | 135 ++++++++++++++++++++++++ 1 file changed, 135 insertions(+) create mode 100644 agenta-cli/agenta/sdk/tracing/states.py diff --git a/agenta-cli/agenta/sdk/tracing/states.py b/agenta-cli/agenta/sdk/tracing/states.py new file mode 100644 index 0000000000..aba9db8a88 --- /dev/null +++ b/agenta-cli/agenta/sdk/tracing/states.py @@ -0,0 +1,135 @@ +# Stdlib Imports +from enum import Enum +from bson import ObjectId +from logging import Logger +from datetime import datetime +from typing import Dict, Any, Optional, List + +# Own Imports +from agenta.sdk.tracing.tasks_manager import TaskQueue +from agenta.client.backend.client import AsyncObservabilityClient + + +class StateTypes(Enum): + TRACE = 1 + SPAN = 2 + GENERATION = 3 + + +class StatefulClient(object): + """Base class for handling stateful operations in when tracing LLM; \ + capable of creating different nested objects like spans, and generations. + + Args: + client (AsyncObservabilityClient): Core interface for Observability API. + trace_id (str): Id of the trace associated with the stateful client. + llm_logger (Logger): The logger associated with the LLM tracing. + state_type (StateTypes): Enum indicating whether the client is a trace, span or generation. + task_manager (TaskManager): Manager handling asynchronous tasks for the client. + parent_span_id (Optional[str]): The parent ID of a span. Defaults to None + """ + + def __init__( + self, + client: AsyncObservabilityClient, + trace_id: str, + llm_logger: Logger, + state_type: StateTypes, + task_manager: TaskQueue, + parent_span_id: Optional[str] = None, + ): + self.client = client + self.trace_id = trace_id + self.parent_span_id = parent_span_id + self.llm_logger = llm_logger + self.state_type = state_type + self.task_manager = task_manager + + def _add_state_to_tracing(self, body: Dict[str, Any]) -> Dict[str, Any]: + """Adds state based on type to the tracing. + + Args: + body (Dict[str, Any]): tracing body + + Returns: + Dict[str, Any]: updated body based on the state type + """ + + if self.state_type == StateTypes.TRACE: + body["trace_id"] = self.trace_id + elif self.state_type == StateTypes.SPAN: + body["parent_span_id"] = self.parent_span_id + return body + + def _create_span_oid(self) -> str: + """Creates a unique mongo oid for the span object. + + Returns: + str: stringify oid of the span + """ + + return str(ObjectId()) + + def span( + self, name: Optional[str], input: str, output: str, **kwargs: Dict[str, Any] + ) -> "StatefulClient": # type: ignore + span_id = self._create_span_oid() + try: + self.task_manager.add_task( + self.client.create_span( + trace_id=self.trace_id, + event_name=name, + event_type="llm_request", + status="", + input=input, + output=output, + environment=kwargs["environment"], + start_time=datetime.now(), + tokens=kwargs.get("usage", None), + ) + ) + self.parent_span_id = span_id + except Exception as exc: + self.llm_logger.error( + f"Error creating span of trace {str(self.trace_id)}: {str(exc)}" + ) + finally: + return StatefulClient( + client=self.client, + trace_id=self.trace_id, + llm_logger=self.llm_logger, + state_type=StateTypes.SPAN, + task_manager=self.task_manager, + parent_span_id=( + self._create_span_oid() + if not self.parent_span_id + else self.parent_span_id + ), + ) + + def span_child(self, parent_span_id: str, event_name: str): + raise NotImplemented("TODO: Implement creation of span child.") # type: ignore + + def end( + self, + output: str, + usage: Optional[Dict[str, Any]], + tags: Optional[List[str]], + **kwargs: Dict[str, Any], + ): + try: + self.task_manager.add_task( + self.client.update_trace( + self.trace_id, + output=output, + status="COMPLETED", + usage=usage, + tags=tags, + end_time=datetime.now(), + **kwargs, + ) + ) + except Exception as exc: + self.llm_logger.error( + f"Error ending trace {str(self.trace_id)} request: {str(exc)}" + ) From 39b8887e72d38efdcc7d718c1ba624c5bcb4b5a0 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 11 Mar 2024 00:08:05 +0100 Subject: [PATCH 145/539] Feat - implemented llm tracing with new tracing sdk --- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 106 +++++++++++++++++++ 1 file changed, 106 insertions(+) create mode 100644 agenta-cli/agenta/sdk/tracing/llm_tracing.py diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py new file mode 100644 index 0000000000..55b0ca07bf --- /dev/null +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -0,0 +1,106 @@ +# Stdlib Imports +from bson import ObjectId +from datetime import datetime +from typing import Optional, Optional + +# Own Imports +from agenta.client.backend import client +from agenta.sdk.tracing.logger import llm_logger +from agenta.sdk.tracing.tasks_manager import TaskQueue +from agenta.sdk.tracing.states import StatefulClient, StateTypes +from agenta.client.backend.client import AsyncObservabilityClient + + +class AgentaLLMTracing(object): + """Agenta llm tracing object. + + Args: + base_url (str): The URL of the backend host + api_key (str): The API Key of the backend host + tasks_manager (TaskQueue): The tasks manager dedicated to handling asynchronous tasks + llm_logger (Logger): The logger associated with the LLM tracing + max_workers (int): The maximum number of workers to run tracing + manual_tracing (bool): Defaults to False, since observability would begin automatically when a LLM app is ran. + """ + + def __init__( + self, + base_url: str, + api_key: Optional[str] = None, + max_workers: int = 4, + manual_tracing: bool = False, + ): + self.base_url = base_url + "/api" + self.api_key = api_key if api_key is not None else "" + self.manual_tracing = manual_tracing + self.llm_logger = llm_logger + self.tasks_manager = TaskQueue(max_workers, logger=llm_logger) + + @property + def client(self) -> AsyncObservabilityClient: + """Initialize observability async client + + Returns: + AsyncObservabilityClient: async client + """ + + return client.AsyncAgentaApi( + base_url=self.base_url, api_key=self.api_key, timeout=120 # type: ignore + ).observability + + def _create_trace_oid(self) -> str: + """Creates a unique mongo oid for the trace object. + + Returns: + str: stringify oid of the trace + """ + + return str(ObjectId()) + + def trace( + self, + trace_name: Optional[str], + app_id: str, + base_id: str, + config_name: str, + **kwargs, + ) -> StatefulClient: + """Creates a new trace. + + Args: + trace_name (Optional[str]): The identifier for the trace. + app_id (str): The ID of the app. + base_id (str): The ID of the base. + config_name (str): The name of the config. + + Returns: + StatefulClient: client used to make stateful calls. + """ + + trace_id = self._create_trace_oid() + try: + self.tasks_manager.add_task( + self.client.create_trace( + app_id=app_id, + base_id=base_id, + config_name=config_name, + trace_name=trace_name, + start_time=datetime.now(), + model=kwargs["model"], + inputs=kwargs["inputs"], + environment=kwargs["environment"], # type: ignore + status="INITIATED", + tags=[], + ) + ) + except Exception as exc: + self.llm_logger.error(f"Error creating trace: {str(exc)}") + finally: + return StatefulClient( + client=self.client, + trace_id=trace_id, + llm_logger=self.llm_logger, + state_type=StateTypes.TRACE, + task_manager=self.tasks_manager, + parent_span_id=None, + ) From d456bd17afccda535f069c42755b8a58d514652b Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 11 Mar 2024 00:20:57 +0100 Subject: [PATCH 146/539] Update - pass trace/span generated objectid to request --- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 1 + agenta-cli/agenta/sdk/tracing/states.py | 1 + 2 files changed, 2 insertions(+) diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 55b0ca07bf..1983ab4dc3 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -81,6 +81,7 @@ def trace( try: self.tasks_manager.add_task( self.client.create_trace( + id=trace_id, app_id=app_id, base_id=base_id, config_name=config_name, diff --git a/agenta-cli/agenta/sdk/tracing/states.py b/agenta-cli/agenta/sdk/tracing/states.py index aba9db8a88..542b434007 100644 --- a/agenta-cli/agenta/sdk/tracing/states.py +++ b/agenta-cli/agenta/sdk/tracing/states.py @@ -77,6 +77,7 @@ def span( try: self.task_manager.add_task( self.client.create_span( + id=span_id, trace_id=self.trace_id, event_name=name, event_type="llm_request", From b9e46ac7f02b6309feed41fc36cb2f0776d34f4f Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 11 Mar 2024 10:59:05 +0100 Subject: [PATCH 147/539] Refactor - change user from linked document to str --- agenta-backend/agenta_backend/models/db_models.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 6b9349cb13..0b8ec834a5 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -343,7 +343,7 @@ class TraceDB(Document): variant_config: Dict[str, Any] environment: Optional[str] # request source -> playground, development, etc status: str # initiated, completed, stopped, canceled, failed - user: Link[UserDB] + user: Optional[str] tags: Optional[List[str]] feedbacks: Optional[List[Feedback]] created_at: datetime = Field(default=datetime.now()) @@ -364,6 +364,7 @@ class SpanDB(Document): status: SpanStatus input: Optional[str] output: Optional[str] + user: Optional[str] environment: Optional[str] # request source -> playground, development, etc start_time: datetime end_time: datetime = Field(default=datetime.now()) @@ -377,4 +378,4 @@ def get_latency(cls) -> float: class Settings: name = "spans" # use_cache = True # Important for link indexing performance - indexes = [] # TODO: how to index trace given that it's a linked document? + indexes = [] # TODO: how to index trace given that it's a linked document? From adb10a873abd57addb4566c417f50e8197d429e0 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Mon, 11 Mar 2024 13:44:27 +0100 Subject: [PATCH 148/539] improved pr to add loading animation to button --- .../src/components/TestSetTable/TestsetTable.tsx | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/agenta-web/src/components/TestSetTable/TestsetTable.tsx b/agenta-web/src/components/TestSetTable/TestsetTable.tsx index 7ba5014786..b2bcc1c7a3 100644 --- a/agenta-web/src/components/TestSetTable/TestsetTable.tsx +++ b/agenta-web/src/components/TestSetTable/TestsetTable.tsx @@ -147,6 +147,7 @@ const TestsetTable: React.FC = ({mode}) => { const {testset_id} = router.query const [unSavedChanges, setUnSavedChanges] = useStateCallback(false) const [loading, setLoading] = useState(false) + const [isLoading, setIsLoading] = useState(false) const [testsetName, setTestsetName] = useState("") const [rowData, setRowData] = useState([]) const [isModalOpen, setIsModalOpen] = useState(false) @@ -416,13 +417,14 @@ const TestsetTable: React.FC = ({mode}) => { } const onSaveData = async () => { + setIsLoading(true) try { const afterSave = (response: AxiosResponse) => { - mssgModal("success", "Saving test set...") if (response.status === 200) { setUnSavedChanges(false, () => { mssgModal("success", "Changes saved successfully!") }) + setIsLoading(false) } } @@ -509,7 +511,12 @@ const TestsetTable: React.FC = ({mode}) => { placeholder="Test Set Name" data-cy="testset-name-input" /> - From e15d335caecbef1b80e13417d9c8b57617fb1fc0 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Tue, 12 Mar 2024 00:07:21 +0500 Subject: [PATCH 149/539] UI enhancements | sidebar | fillers --- agenta-web/package-lock.json | 9 ++ agenta-web/package.json | 1 + .../src/components/EmptyComponent/index.tsx | 76 ++++++++++ agenta-web/src/components/Layout/Layout.tsx | 2 +- .../src/components/ServerTable/index.tsx | 4 +- agenta-web/src/components/Sidebar/Sidebar.tsx | 133 ++++++++++++------ agenta-web/src/components/Sidebar/config.tsx | 91 +++++++++--- 7 files changed, 254 insertions(+), 62 deletions(-) create mode 100644 agenta-web/src/components/EmptyComponent/index.tsx diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index 97debd5502..f98f3c7b6d 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -48,6 +48,7 @@ "jotai": "^2.5.0", "js-beautify": "^1.14.8", "lodash": "^4.17.21", + "lucide-react": "^0.356.0", "next": "13.3.4", "nextjs-cors": "^2.1.2", "papaparse": "^5.4.1", @@ -6562,6 +6563,14 @@ "node": ">=10" } }, + "node_modules/lucide-react": { + "version": "0.356.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.356.0.tgz", + "integrity": "sha512-MDInjLrmZToccH2UxEshntujBlFwtOofGB22FN/eg39FfGVYV1TT1eMIv2j4rdaTJBpYjUuX7fEo9pwYkNFgwA==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/magic-string": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", diff --git a/agenta-web/package.json b/agenta-web/package.json index 6d332d6b95..d15275659a 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -59,6 +59,7 @@ "jotai": "^2.5.0", "js-beautify": "^1.14.8", "lodash": "^4.17.21", + "lucide-react": "^0.356.0", "next": "13.3.4", "nextjs-cors": "^2.1.2", "papaparse": "^5.4.1", diff --git a/agenta-web/src/components/EmptyComponent/index.tsx b/agenta-web/src/components/EmptyComponent/index.tsx new file mode 100644 index 0000000000..ce938b1ee7 --- /dev/null +++ b/agenta-web/src/components/EmptyComponent/index.tsx @@ -0,0 +1,76 @@ +import {JSSTheme} from "@/lib/Types" +import {Button, Empty, Space, Tooltip, Typography} from "antd" +import React, {ReactNode} from "react" +import {createUseStyles} from "react-jss" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + empty: { + "& .ant-empty-description": { + fontSize: 16, + marginBottom: "1.5rem", + color: theme.colorTextSecondary, + }, + "& .ant-empty-image": { + "& img": { + filter: theme.isDark ? "invert(1)" : "none", + }, + height: "auto", + marginBottom: "1.5rem", + color: theme.colorTextSecondary, + }, + }, +})) + +type Cta = { + text: string + onClick?: () => void + icon?: ReactNode + tooltip?: string +} + +interface Props { + image?: ReactNode + description?: ReactNode + primaryCta?: Cta + secondaryCta?: Cta +} + +const EmptyComponent: React.FC = ({image, description, primaryCta, secondaryCta}) => { + const classes = useStyles() + + return ( + + + {primaryCta && ( + + + + )} + {secondaryCta && ( + <> + Or + + + + + )} + + + ) +} + +export default EmptyComponent diff --git a/agenta-web/src/components/Layout/Layout.tsx b/agenta-web/src/components/Layout/Layout.tsx index 47a6fecdb8..5c8d9a87c8 100644 --- a/agenta-web/src/components/Layout/Layout.tsx +++ b/agenta-web/src/components/Layout/Layout.tsx @@ -1,5 +1,5 @@ import React, {useEffect, useMemo, useState} from "react" -import {Breadcrumb, Button, ConfigProvider, Dropdown, Layout, Space, Tooltip, theme} from "antd" +import {Breadcrumb, Button, Dropdown, Layout, Space, Tooltip, theme} from "antd" import Sidebar from "../Sidebar/Sidebar" import {GithubFilled, LinkedinFilled, TwitterOutlined} from "@ant-design/icons" import Link from "next/link" diff --git a/agenta-web/src/components/ServerTable/index.tsx b/agenta-web/src/components/ServerTable/index.tsx index 0a75981313..f2b40e90fb 100644 --- a/agenta-web/src/components/ServerTable/index.tsx +++ b/agenta-web/src/components/ServerTable/index.tsx @@ -118,7 +118,7 @@ const ServerTable = ( return columns.map((col) => ({ ...col, hidden: hiddenCols.includes(col.key?.toString()!), - width: col.width || 150, + width: col.width || 200, onHeaderCell: (column: TableColumnType) => ({ width: column.width, onResize: handleResize(column.key?.toString()!), @@ -165,7 +165,7 @@ const ServerTable = ( loading={loading} pagination={ !!props.pagination && { - pageSize: tableParams?.pagination?.pageSize || 10, + pageSize: tableParams?.pagination?.pageSize || 20, current: tableParams?.pagination?.page || 1, total: total.current, } diff --git a/agenta-web/src/components/Sidebar/Sidebar.tsx b/agenta-web/src/components/Sidebar/Sidebar.tsx index 616739292b..aac6361fc5 100644 --- a/agenta-web/src/components/Sidebar/Sidebar.tsx +++ b/agenta-web/src/components/Sidebar/Sidebar.tsx @@ -1,4 +1,4 @@ -import React, {useMemo} from "react" +import React, {useEffect, useMemo, useState} from "react" import {useRouter} from "next/router" import {Layout, Menu, Tooltip} from "antd" import Logo from "../Logo/Logo" @@ -45,10 +45,22 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ flexDirection: "column", flex: 1, }, + "& .ant-menu-submenu-title": { + paddingInlineEnd: "20px", + "& .ant-menu-submenu-arrow": { + insetInlineEnd: "8px", + }, + }, + "& .ant-menu-item,.ant-menu-submenu-title": { + paddingLeft: "12px !important", + }, + "& .ant-menu-sub > .ant-menu-item": { + paddingLeft: "24px !important", + }, }, menuContainer: { borderRight: "0 !important", - maxHeight: 312, + maxHeight: "calc(100vh - 390px)", overflowY: "auto", position: "relative", }, @@ -56,17 +68,20 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ borderRight: "0 !important", }, menuLinks: { + display: "inline-block", width: "100%", }, })) const SidebarMenu: React.FC<{ items: SidebarConfig[] - selectedKeys: string[] + collapsed: boolean menuProps?: React.ComponentProps -}> = ({items, selectedKeys, menuProps}) => { +}> = ({items, menuProps, collapsed}) => { + const classes = useStyles() + return ( - + {items.map((item) => { if (item.submenu) { return ( @@ -76,39 +91,56 @@ const SidebarMenu: React.FC<{ title={item.title} onTitleClick={item.onClick} > - {item.submenu.map((subitem) => ( - - - - {subitem.title} - - - - ))} + {item.submenu.map((subitem) => { + const node = ( + + {subitem.title} + + ) + + return ( + + {collapsed ? ( + node + ) : ( + + {node} + + )} + + ) + })} ) } else { + const node = ( + + {item.title} + + ) return ( - - - {item.title} - - + {collapsed ? ( + node + ) : ( + + {node} + + )} ) } @@ -121,6 +153,7 @@ const Sidebar: React.FC = () => { const {appTheme} = useAppTheme() const router = useRouter() const classes = useStyles() + const [openKey, setOpenKey] = useState() const [collapsed, setCollapsed] = useLocalStorage("sidebarCollapsed", false) @@ -144,34 +177,40 @@ const Sidebar: React.FC = () => { } }, [menu]) - const selectedKeys = useMemo(() => { + const [selectedKeys, openKeys] = useMemo(() => { let matched: SidebarConfig + let openKey = "" - const executor = (items: SidebarConfig[]) => { + const executor = (items: SidebarConfig[], subKey?: string) => { items.forEach((item) => { if (item.submenu?.length) { - executor(item.submenu) + executor(item.submenu, item.key) } else if ( item.link && router.asPath.startsWith(item.link) && item.link.length > (matched?.link?.length || 0) ) { matched = item + if (subKey) openKey = subKey } }) } executor([...topItems, ...bottomItems]) //@ts-ignore - return [matched?.key] + return [[matched?.key], openKey ? [openKey] : []] }, [router.asPath, topItems, bottomItems]) + useEffect(() => { + setOpenKey(openKeys[0]) + }, [openKeys[0]]) + return (
setCollapsed(value)} @@ -185,14 +224,24 @@ const Sidebar: React.FC = () => { }>
setOpenKey(openKeys.at(-1)), + }} items={topItems} - selectedKeys={selectedKeys} + collapsed={collapsed} /> setOpenKey(openKeys.at(-1)), + }} items={bottomItems} - selectedKeys={selectedKeys} + collapsed={collapsed} />
diff --git a/agenta-web/src/components/Sidebar/config.tsx b/agenta-web/src/components/Sidebar/config.tsx index c5f20e420b..8a15a31c30 100644 --- a/agenta-web/src/components/Sidebar/config.tsx +++ b/agenta-web/src/components/Sidebar/config.tsx @@ -1,12 +1,13 @@ import {useProfileData} from "@/contexts/profile.context" import {useAppId} from "@/hooks/useAppId" import {useSession} from "@/hooks/useSession" -import {GenericObject} from "@/lib/Types" +import {GenericObject, JSSTheme} from "@/lib/Types" import {getColorFromStr} from "@/lib/helpers/colors" import {dynamicContext} from "@/lib/helpers/dynamic" import {getInitials, isDemo} from "@/lib/helpers/utils" import { ApartmentOutlined, + ApiOutlined, AppstoreOutlined, BarChartOutlined, CloudUploadOutlined, @@ -17,14 +18,28 @@ import { LogoutOutlined, PartitionOutlined, PhoneOutlined, + PlayCircleOutlined, ReadOutlined, RocketOutlined, SettingOutlined, + SlidersOutlined, SwapOutlined, } from "@ant-design/icons" import {Avatar} from "antd" import {useEffect, useState} from "react" import AlertPopup from "../AlertPopup/AlertPopup" +import Image from "next/image" +import abTesting from "@/media/testing.png" +import singleModel from "@/media/score.png" +import {createUseStyles} from "react-jss" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + evaluationImg: { + width: 20, + height: 20, + filter: theme.isDark ? "invert(1)" : "none", + }, +})) export type SidebarConfig = { key: string @@ -39,6 +54,7 @@ export type SidebarConfig = { } export const useSidebarConfig = () => { + const classes = useStyles() const appId = useAppId() const {user} = useProfileData() const {doesSessionExist, logout} = useSession() @@ -79,33 +95,67 @@ export const useSidebarConfig = () => { isHidden: !appId, }, { - key: "app-evaluations-link", - title: "Evaluations", - tooltip: "Evaluate and Compare variants programmatically.", - link: `/apps/${appId}/evaluations/results`, + key: "app-auto-evaluations-link", + title: "Automatic Evaluation", icon: , isHidden: !appId, + submenu: [ + { + key: "app-evaluators-link", + title: "Evaluators", + tooltip: + "Select and customize evaluators such as custom code or regex evaluators.", + link: `/apps/${appId}/evaluations/new-evaluator`, + icon: , + }, + { + key: "app-evaluations-results-link", + title: "Results", + tooltip: "Choose your variants and evaluators to start the evaluation process.", + link: `/apps/${appId}/evaluations/results`, + icon: , + }, + ], }, { - key: "app-annotations-link", - title: "Annotations", - tooltip: "Use human feedback to score and compare variants.", + key: "app-human-evaluations-link", + title: "Human Evaluation", icon: , isHidden: !appId, submenu: [ { - key: "app-annotations-single-model-link", - title: "Single Model Evaluation", - tooltip: "Single Model Evaluation", + key: "app-human-ab-testing-link", + title: "A/B Evaluation", + tooltip: + "A/B tests allow you to compare the performance of two different variants manually.", + link: `/apps/${appId}/annotations/human_a_b_testing`, + icon: ( + A/B Evaluation + ), + }, + { + key: "app-single-model-test-link", + title: "Single Model Eval.", + tooltip: + "Single model test allows you to score the performance of a single LLM app manually.", link: `/apps/${appId}/annotations/single_model_test`, - icon: , + icon: ( + Single Model Evaluation + ), }, ], }, { key: "app-observability-link", title: "Observability", - tooltip: "Observability and monitoring of your app", icon: , isHidden: !appId, submenu: [ @@ -133,12 +183,19 @@ export const useSidebarConfig = () => { ], }, { - key: "app-endpoints-link", - title: "Endpoints", - tooltip: "Deploy your applications to different environments.", - link: `/apps/${appId}/endpoints`, + key: "app-deployment-link", + title: "Deployment", icon: , isHidden: !appId, + submenu: [ + { + key: "app-endpoints-link", + title: "Endpoints", + tooltip: "Deploy your applications to different environments.", + link: `/apps/${appId}/endpoints`, + icon: , + }, + ], }, { key: "settings-link", From ed81b5dbba5481a04aa45470aaf27a4f44603706 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 12 Mar 2024 07:45:05 +0100 Subject: [PATCH 150/539] levenshtein distance --- .../resources/evaluators/evaluators.py | 17 +++++++ .../services/evaluators_service.py | 47 +++++++++++++++++++ .../agenta_backend/tasks/evaluations.py | 1 + .../tests/unit/test_evaluators.py | 17 +++++++ 4 files changed, 82 insertions(+) diff --git a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py index cf00af533d..65d13b099f 100644 --- a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py +++ b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py @@ -28,6 +28,8 @@ "type": "number", "default": 0.5, "description": "The threshold value for similarity comparison", + "min": 0, + "max": 1, } }, "description": "Similarity Match evaluator checks if the generated answer is similar to the expected answer. You need to provide the similarity threshold. It uses the Jaccard similarity to compare the answers.", @@ -228,6 +230,21 @@ }, "description": "Contains All evaluator checks if the output contains all of the specified substrings from a comma-separated list, considering case sensitivity based on the settings.", }, + { + "name": "Levenshtein", + "key": "auto_levenshtein_distance", + "direct_use": False, + "settings_template": { + "label": "Levenshtein Distance Settings", + "description": "Evaluates if the Levenshtein distance is below a certain threshold.", + "threshold": { + "label": "Threshold", + "type": "number", + "default": 10, + }, + }, + "description": "Levenshtein Distance evaluator checks if the Levenshtein distance between the output and the correct answer is below a specified threshold.", + }, ] diff --git a/agenta-backend/agenta_backend/services/evaluators_service.py b/agenta-backend/agenta_backend/services/evaluators_service.py index bab421c9c5..7910856f43 100644 --- a/agenta-backend/agenta_backend/services/evaluators_service.py +++ b/agenta-backend/agenta_backend/services/evaluators_service.py @@ -421,6 +421,53 @@ def auto_contains_json( ) +def levenshtein_distance(s1, s2): + if len(s1) < len(s2): + return levenshtein_distance(s2, s1) + + if len(s2) == 0: + return len(s1) + + previous_row = range(len(s2) + 1) + for i, c1 in enumerate(s1): + current_row = [i + 1] + for j, c2 in enumerate(s2): + insertions = previous_row[j + 1] + 1 + deletions = current_row[j] + 1 + substitutions = previous_row[j] + (c1 != c2) + current_row.append(min(insertions, deletions, substitutions)) + previous_row = current_row + + return previous_row[-1] + + +def auto_levenshtein_distance( + inputs: Dict[str, Any], + output: str, + correct_answer: str, + app_params: Dict[str, Any], + settings_values: Dict[str, Any], + lm_providers_keys: Dict[str, Any], +) -> Result: + try: + threshold = settings_values.get("threshold", 10) + distance = levenshtein_distance(output, correct_answer) + print("threshold", threshold) + print("distance", distance) + + result = Result(type="bool", value=distance <= threshold) + return result + except Exception as e: + return Result( + type="error", + value=None, + error=Error( + message="Error during Levenshtein threshold evaluation", + stacktrace=str(e), + ), + ) + + def evaluate( evaluator_key: str, inputs: Dict[str, Any], diff --git a/agenta-backend/agenta_backend/tasks/evaluations.py b/agenta-backend/agenta_backend/tasks/evaluations.py index 1882f35564..50ce322437 100644 --- a/agenta-backend/agenta_backend/tasks/evaluations.py +++ b/agenta-backend/agenta_backend/tasks/evaluations.py @@ -355,6 +355,7 @@ async def aggregate_evaluator_results( "auto_contains_any", "auto_contains_all", "auto_contains_json", + "auto_levenshtein_distance", ]: result = aggregation_service.aggregate_float(results) diff --git a/agenta-backend/agenta_backend/tests/unit/test_evaluators.py b/agenta-backend/agenta_backend/tests/unit/test_evaluators.py index 894233d7d4..88fb3934da 100644 --- a/agenta-backend/agenta_backend/tests/unit/test_evaluators.py +++ b/agenta-backend/agenta_backend/tests/unit/test_evaluators.py @@ -1,6 +1,7 @@ import pytest from agenta_backend.services.evaluators_service import ( + auto_levenshtein_distance, auto_starts_with, auto_ends_with, auto_contains, @@ -129,3 +130,19 @@ def test_auto_contains_all(output, substrings, case_sensitive, expected): def test_auto_contains_json(output, expected): result = auto_contains_json({}, output, "", {}, {}, {}) assert result.value == expected + + +@pytest.mark.parametrize( + "output, correct_answer, threshold, expected", + [ + ("hello world", "hello world", 5, True), + ("hello world", "hola mundo", 5, False), + ("hello world", "hello world!", 2, True), + ("hello world", "hello wor", 10, True), + ], +) +def test_auto_levenshtein_distance(output, correct_answer, threshold, expected): + result = auto_levenshtein_distance( + {}, output, correct_answer, {}, {"threshold": threshold}, {} + ) + assert result.value == expected From 93db6f6dc9d57c4b89d5d6d1c6a29750680e204e Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 12 Mar 2024 08:56:31 +0100 Subject: [PATCH 151/539] Update - improve cache key for observability data --- .../agenta_backend/services/redis_cache_service.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index 3e53056d51..16896d8e6b 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -13,12 +13,13 @@ async def cache_observability_data( # Prepare required args app_id = kwargs["app_id"] parameters = kwargs["parameters"] + cache_key = kwargs["cache_key"] # Initialize redis connection redis = redis_utils.redis_connection() # Retrieve cache key and return data if it exists - cached_data = redis.get(f"obs_dashboard_data_{app_id}_{parameters.environment}") + cached_data = redis.get(cache_key) if cached_data is not None: loaded_data = json.loads(cached_data) return filters.filter_and_aggregate_cache_observability_data( @@ -27,7 +28,5 @@ async def cache_observability_data( # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) - redis.setex( - f"obs_dashboard_data_{app_id}_{parameters.environment}", 1800, data.json() - ) + redis.setex(cache_key, 1800, data.json()) return data From 9610eedc6f67e8bd21c2c45de4fbf2bca26efefb Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 12 Mar 2024 08:58:05 +0100 Subject: [PATCH 152/539] Refactor - update retrieve_observability_dashboard db function --- .../routers/observability_router.py | 6 ++++- .../services/event_db_manager.py | 24 +++++++++---------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 1c04b4b1fd..d8f5d0cdcd 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -38,7 +38,11 @@ async def get_dashboard_data( try: dashboard_data = await redis_cache_service.cache_observability_data( event_db_manager.retrieve_observability_dashboard, - **{"app_id": app_id, "parameters": parameters} + **{ + "app_id": app_id, + "parameters": parameters, + "cache_key": str(request.url), + } ) return dashboard_data except Exception as e: diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 82ec20097c..38ac42d968 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -295,8 +295,8 @@ async def retrieve_observability_dashboard( ObservabilityData( **{ "timestamp": span_db.created_at, - "success_count": 0, - "failure_count": 0, + "success_count": 1 if span_db.status.value == "SUCCESS" else 0, + "failure_count": 1 if span_db.status.value == "FAILURE" else 0, "cost": span_db.cost, "latency": latency.total_seconds(), "total_tokens": span_db.token_total, @@ -308,11 +308,11 @@ async def retrieve_observability_dashboard( ) ) - len_of_spans_db = len(list_of_observability_data) filtered_data = filters.filter_observability_dashboard_data_by_params( params, list_of_observability_data ) - if filtered_data == []: + len_of_filtered_data = len(filtered_data) + if len(filtered_data) == 0: return ObservabilityDashboardData( **{ "data": [], @@ -329,18 +329,18 @@ async def retrieve_observability_dashboard( return ObservabilityDashboardData( **{ "data": filtered_data, - "total_count": len_of_spans_db, - "failure_rate": 0, - "total_cost": round(sum([span_db.cost for span_db in spans_db]), 5), + "total_count": len_of_filtered_data, + "failure_rate": round(sum([data.failure_count for data in filtered_data]), 5), + "total_cost": round(sum([data.cost for data in filtered_data]), 5), "avg_cost": round( - sum([span_db.cost for span_db in spans_db]) / len_of_spans_db, 5 + sum([data.cost for data in filtered_data]) / len_of_filtered_data, 5 ), "avg_latency": round( - sum([span_db.duration for span_db in spans_db]) / len_of_spans_db, 5 + sum([data.latency for data in filtered_data]) / len_of_filtered_data, 5 ), - "total_tokens": sum([span_db.token_total for span_db in spans_db]), - "avg_tokens": sum([span_db.token_total for span_db in spans_db]) - / len_of_spans_db, + "total_tokens": sum([data.total_tokens for data in filtered_data]), + "avg_tokens": sum([data.total_tokens for data in filtered_data]) + / len_of_filtered_data, } ) From 98854cc62686583f2dbae474eb4837c4c0463e78 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 12 Mar 2024 09:16:00 +0100 Subject: [PATCH 153/539] Update - refactor pagination logic for traces/spans --- .../agenta_backend/models/converters.py | 4 +-- .../services/event_db_manager.py | 34 ++++++++++++++----- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index c1774c6bb9..4a6d493da4 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -609,9 +609,9 @@ def evaluator_config_db_to_pydantic(evaluator_config: EvaluatorConfigDB): ) -def get_paginated_data(data: List[Any], query: PaginationParam = Depends()): +def get_paginated_data(data: List[Any], data_count: int, query: PaginationParam = Depends()): return WithPagination( - data=data, total=len(data), page=query.page, pageSize=query.pageSize + data=data, total=data_count, page=query.page, pageSize=query.pageSize ) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 38ac42d968..f5f245d33a 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -188,10 +188,18 @@ async def fetch_generation_spans( pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING ) + # Fetch spans without pagination and sorting applied + base_spans_db = SpanDB.find(SpanDB.trace.app_id == app_id) + + # Count of spans in db + spans_count = await base_spans_db.find(fetch_links=True).count() + # Fetch spans with pagination and sorting applied - spans_db = SpanDB.find( - SpanDB.trace.app_id == app_id, fetch_links=True, skip=skip, limit=limit - ).sort([(SpanDB.created_at, sort_direction)]) + spans_db = base_spans_db.find(fetch_links=True, skip=skip, limit=limit).sort( + [(SpanDB.created_at, sort_direction)] + ) + + # Filter based on trace_id or not if filters_param.trace_id is not None: spans_db = await spans_db.find_many( SpanDB.trace.id == ObjectId(filters_param.trace_id), fetch_links=True @@ -206,7 +214,7 @@ async def fetch_generation_spans( ) if filters_param.trace_id: return list(filtered_generations) - return get_paginated_data(list(filtered_generations), pagination) + return get_paginated_data(list(filtered_generations), spans_count, pagination) async def fetch_generation_span_detail(span_id: str, user_uid: str) -> SpanDetail: @@ -330,7 +338,9 @@ async def retrieve_observability_dashboard( **{ "data": filtered_data, "total_count": len_of_filtered_data, - "failure_rate": round(sum([data.failure_count for data in filtered_data]), 5), + "failure_rate": round( + sum([data.failure_count for data in filtered_data]), 5 + ), "total_cost": round(sum([data.cost for data in filtered_data]), 5), "avg_cost": round( sum([data.cost for data in filtered_data]) / len_of_filtered_data, 5 @@ -369,11 +379,17 @@ async def fetch_traces( pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING ) + # Fetch traces without pagination and sorting applied + base_traces_db = TraceDB.find( + TraceDB.app_id == app_id, + ) + + # Count of traces in db + traces_count = await base_traces_db.count() + # Fetch traces with pagination and sorting applied traces_db = ( - await TraceDB.find( - TraceDB.app_id == app_id, fetch_links=True, skip=skip, limit=limit - ) + await base_traces_db.find(fetch_links=True, skip=skip, limit=limit) .sort([(TraceDB.created_at, sort_direction)]) .to_list() ) @@ -383,7 +399,7 @@ async def fetch_traces( filtered_traces = filter( partial(filters.filter_document_by_filter_params, filters_param), traces ) - return get_paginated_data(list(filtered_traces), pagination) + return get_paginated_data(list(filtered_traces), traces_count, pagination) async def fetch_trace_detail(trace_id: str, user_uid: str) -> TraceDetail: From f21e86f6000854ae43f98645b4436bf95c4a400f Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 12 Mar 2024 09:16:20 +0100 Subject: [PATCH 154/539] :art: Format - ran black --- agenta-backend/agenta_backend/models/converters.py | 4 +++- agenta-backend/agenta_backend/services/filters.py | 2 ++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index 4a6d493da4..5e520a9c73 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -609,7 +609,9 @@ def evaluator_config_db_to_pydantic(evaluator_config: EvaluatorConfigDB): ) -def get_paginated_data(data: List[Any], data_count: int, query: PaginationParam = Depends()): +def get_paginated_data( + data: List[Any], data_count: int, query: PaginationParam = Depends() +): return WithPagination( data=data, total=data_count, page=query.page, pageSize=query.pageSize ) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 3b6a04d748..436f8dcde9 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -33,9 +33,11 @@ def filter_observability_dashboard_data_by_params( filtered_data = observability_data if params.startTime or params.endTime: + def filter_by_timestamp(data: ObservabilityData): epoch_time = int(data.timestamp.timestamp()) * 1000 return params.startTime <= epoch_time <= params.endTime + filtered_data = filter(filter_by_timestamp, filtered_data) if params.environment: From f02b67740594a74be94cb8d97884c079bfff3001 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Tue, 12 Mar 2024 09:20:35 +0100 Subject: [PATCH 155/539] improved conditional for number type --- .../pages/evaluations/evaluators/NewEvaluatorModal.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx index 6926be8f33..72a90033a2 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx @@ -166,8 +166,10 @@ const DynamicFormField: React.FC = ({ > {type === "string" || type === "regex" ? ( - ) : type === "number" ? ( + ) : type === "number" && label === "Similarity Threshold" ? ( + ) : type === "number" && label === "Threshold" ? ( + ) : type === "boolean" || type === "bool" ? ( ) : type === "text" ? ( From a1eeab503c11da0384137f067be41312f4987efe Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Tue, 12 Mar 2024 10:28:57 +0100 Subject: [PATCH 156/539] retrieve min and max values for number type --- .../pages/evaluations/evaluators/NewEvaluatorModal.tsx | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx index 72a90033a2..5dbe0244c5 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx @@ -109,6 +109,8 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ type DynamicFormFieldProps = EvaluationSettingsTemplate & { name: string | string[] + min?: number + max?: number } const DynamicFormField: React.FC = ({ @@ -117,6 +119,8 @@ const DynamicFormField: React.FC = ({ type, default: defaultVal, description, + min, + max, }) => { const {appTheme} = useAppTheme() const classes = useStyles() @@ -166,10 +170,8 @@ const DynamicFormField: React.FC = ({ > {type === "string" || type === "regex" ? ( - ) : type === "number" && label === "Similarity Threshold" ? ( - - ) : type === "number" && label === "Threshold" ? ( - + ) : type === "number" ? ( + ) : type === "boolean" || type === "bool" ? ( ) : type === "text" ? ( From cee8291434f4e842496c804f21fe9738c316214e Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 12 Mar 2024 13:37:11 +0100 Subject: [PATCH 157/539] support passing agenta api key as an env var --- agenta-cli/agenta/cli/main.py | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/agenta-cli/agenta/cli/main.py b/agenta-cli/agenta/cli/main.py index cd4c1fab7b..d4e01f204a 100644 --- a/agenta-cli/agenta/cli/main.py +++ b/agenta-cli/agenta/cli/main.py @@ -83,6 +83,9 @@ def cli(): def init(app_name: str, backend_host: str): init_option = "Blank App" if backend_host != "" and app_name != "" else "" """Initialize a new Agenta app with the template files.""" + + api_key = os.getenv('AGENTA_API_KEY') + if not app_name: while True: app_name = questionary.text("Please enter the app name").ask() @@ -125,7 +128,8 @@ def init(app_name: str, backend_host: str): else: backend_host = "https://cloud.agenta.ai" - api_key = helper.get_api_key(backend_host) + if not api_key: + api_key = helper.get_api_key(backend_host) elif where_question is None: # User pressed Ctrl+C sys.exit(0) From ff21921140726253a8fd8305a6dd8b9042401e08 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 12 Mar 2024 13:37:11 +0100 Subject: [PATCH 158/539] support passing agenta api key as an env var --- agenta-cli/agenta/cli/main.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-cli/agenta/cli/main.py b/agenta-cli/agenta/cli/main.py index d4e01f204a..1fea2a7164 100644 --- a/agenta-cli/agenta/cli/main.py +++ b/agenta-cli/agenta/cli/main.py @@ -84,7 +84,7 @@ def init(app_name: str, backend_host: str): init_option = "Blank App" if backend_host != "" and app_name != "" else "" """Initialize a new Agenta app with the template files.""" - api_key = os.getenv('AGENTA_API_KEY') + api_key = os.getenv("AGENTA_API_KEY") if not app_name: while True: From 9879bdbe602e181ac1a628aa287b9781e8dc3221 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Tue, 12 Mar 2024 23:13:48 +0100 Subject: [PATCH 159/539] feat: toggle visibility in comparison view --- .../evaluationCompare/EvaluationCompare.tsx | 45 ++++++++++++++++--- 1 file changed, 38 insertions(+), 7 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx index 3536bd508f..1d0e6088ca 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -16,7 +16,12 @@ import React, {useEffect, useMemo, useRef, useState} from "react" import {createUseStyles} from "react-jss" import {getFilterParams, getTypedValue} from "@/lib/helpers/evaluate" import {getColorFromStr, getRandomColors} from "@/lib/helpers/colors" -import {DownloadOutlined} from "@ant-design/icons" +import { + CloseCircleFilled, + CloseCircleOutlined, + DownloadOutlined, + UndoOutlined, +} from "@ant-design/icons" import {getAppValues} from "@/contexts/app.context" import {useQueryParam} from "@/hooks/useQuery" import {LongTextCellRenderer} from "../cellRenderers/cellRenderers" @@ -55,7 +60,9 @@ const EvaluationCompareMode: React.FC = () => { const appId = useAppId() const classes = useStyles() const {appTheme} = useAppTheme() - const [evaluationIdsStr = "", setEvaluationIdsStr] = useQueryParam("evaluations") + const [evaluationIdsStr = ""] = useQueryParam("evaluations") + const [evalIds, setEvalIds] = useState(evaluationIdsStr.split(",").filter((item) => !!item)) + const [hiddenVariants, setHiddenVariants] = useState([]) const [showDiff, setShowDiff] = useQueryParam("showDiff", "show") const [fetching, setFetching] = useState(false) const [rows, setRows] = useState([]) @@ -112,6 +119,8 @@ const EvaluationCompareMode: React.FC = () => { }) variants.forEach((variant, vi) => { + const isHidden = evalIds.includes(variant.evaluationId) + colDefs.push({ headerComponent: (props: any) => ( @@ -125,6 +134,7 @@ const EvaluationCompareMode: React.FC = () => { flex: 1, field: `variants.${vi}.output` as any, ...getFilterParams("text"), + hide: !isHidden, valueGetter: (params) => { return ( <> @@ -167,6 +177,7 @@ const EvaluationCompareMode: React.FC = () => { Object.entries(confgisMap).forEach(([_, configs]) => { configs.forEach(({config, variant, color}) => { + const isHidden = evalIds.includes(variant.evaluationId) colDefs.push({ flex: 1, headerName: config.name, @@ -188,6 +199,7 @@ const EvaluationCompareMode: React.FC = () => { }, field: "variants.0.evaluatorConfigs.0.result" as any, ...getFilterParams("text"), + hide: !isHidden, valueGetter: (params) => { return getTypedValue( params.data?.variants @@ -202,7 +214,7 @@ const EvaluationCompareMode: React.FC = () => { }) return colDefs - }, [rows, showDiff]) + }, [rows, showDiff, evalIds]) const fetcher = () => { setFetching(true) @@ -229,8 +241,14 @@ const EvaluationCompareMode: React.FC = () => { fetcher() }, [appId, evaluationIdsStr]) - const handleDeleteVariant = (evalId: string) => { - setEvaluationIdsStr(evaluationIds.filter((item) => item !== evalId).join(",")) + const handleToggleVariantVisibility = (evalId: string) => { + if (hiddenVariants.includes(evalId)) { + setHiddenVariants(hiddenVariants.filter((item) => item !== evalId)) + setEvalIds([...evalIds, evalId]) + } else { + setHiddenVariants([...hiddenVariants, evalId]) + setEvalIds(evalIds.filter((val) => val !== evalId)) + } } const onExport = () => { @@ -262,9 +280,22 @@ const EvaluationCompareMode: React.FC = () => { handleDeleteVariant(v.evaluationId)} - closable={evaluationIds.length > 1} + onClick={() => + handleToggleVariantVisibility(v.evaluationId) + } className={classes.tag} + style={{ + opacity: hiddenVariants.includes(v.evaluationId) + ? 0.4 + : 1, + }} + icon={ + evalIds.includes(v.evaluationId) ? ( + + ) : ( + + ) + } > Date: Thu, 14 Mar 2024 07:52:47 +0100 Subject: [PATCH 160/539] Update - refactor observability dashboard data request params --- .../agenta_backend/models/api/observability_models.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 12efa1b359..31f9590823 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -13,8 +13,7 @@ class GenerationFilterParams(BaseModel): class ObservabilityDashboardDataRequestParams(BaseModel): - startTime: Optional[int] - endTime: Optional[int] + timeRange: str = Field(default="24_hours") environment: Optional[str] variant: Optional[str] @@ -105,7 +104,7 @@ class TraceDetail(Trace): class ObservabilityData(BaseModel): - timestamp: datetime + timestamp: str success_count: int failure_count: int cost: float @@ -113,8 +112,6 @@ class ObservabilityData(BaseModel): total_tokens: int prompt_tokens: int completion_tokens: int - environment: Optional[str] - variant: str class ObservabilityDashboardData(BaseModel): From 09f4d493ec9243a167cc8274d104f564343b7126 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 14 Mar 2024 07:54:00 +0100 Subject: [PATCH 161/539] Feat - created filters for obs dashboard --- .../agenta_backend/services/filters.py | 190 +++++++++++++++++- 1 file changed, 188 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 436f8dcde9..a60c635b07 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -1,5 +1,7 @@ +from datetime import datetime, timedelta from typing import List, Union, Dict, Any +from agenta_backend.models.db_models import SpanDB from agenta_backend.models.api.observability_models import ( Span, Trace, @@ -10,6 +12,190 @@ ) +def filter_by_time_range(time_range: str) -> datetime: + """ + Filters a datetime object based on a specified time range. + + Args: + time_range (str): The time range to filter by + + Returns: + time_range (datetime): Specific time depends on the value of the time_range + """ + + now = datetime.now() + if time_range == "24_hours": + return now - timedelta(hours=24) + elif time_range == "7_days": + return now - timedelta(days=7) + elif time_range == "30_days": + return now - timedelta(days=30) + elif time_range == "60_days": + return now - timedelta(days=60) + elif time_range == "90_days": + return now - timedelta(days=90) + elif time_range == "180_days": + return now - timedelta(days=180) + else: + raise ValueError("Invalid time parameter.") + + +def calculate_target_hours() -> List[int]: + now = datetime.now() + target_hours = [] + for i in range(24): + hour = (now - timedelta(hours=i)).hour + target_hours.append(hour) + return target_hours + + +def prepares_spans_aggregation_by_timerange(time_range: str): + """Prepares aggregation statement by time_range. + + Args: + time_range (str): The time range to filter by + + Returns: + Dict: mapping based on time range + """ + + time_range_mappings = { + "24_hours": { + "$group": { + "_id": { + "$dateToString": { + "format": "%Y-%m-%dT%H", + "date": "$created_at", + } + }, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } + }, + "30_days": { + "$group": { + "_id": {"$dateToString": {"format": "%Y-%m-%d", "date": "$created_at"}}, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } + }, + "60_days": { + "$group": { + "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } + }, + "90_days": { + "$group": { + "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } + }, + "180_days": { + "$group": { + "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } + }, + } + return time_range_mappings.get(time_range, None) + + +def filter_observability_dashboard_spans_db_by_filters( + app_id: str, + params: ObservabilityDashboardDataRequestParams +): + if params.environment and params.variant: + filtered_spans = SpanDB.find( + SpanDB.trace.app_id == app_id, + SpanDB.environment == params.environment, + SpanDB.trace.base_id == params.variant, + fetch_links=True, + ) + elif params.variant: + filtered_spans = SpanDB.find( + SpanDB.trace.app_id == app_id, + SpanDB.trace.base_id == params.variant, + fetch_links=True, + ) + elif params.environment: + filtered_spans = SpanDB.find( + SpanDB.trace.app_id == app_id, + SpanDB.environment == params.environment, + fetch_links=True, + ) + else: + filtered_spans = SpanDB.find(SpanDB.trace.app_id == app_id, fetch_links=True) + return filtered_spans + def filter_observability_dashboard_data_by_params( params: ObservabilityDashboardDataRequestParams, observability_data: List[Union[ObservabilityData, Dict[str, Any]]], @@ -66,9 +252,9 @@ def filter_document_by_filter_params( """ if filters: - if filters.variant and document.variant.variant_name != filters.variant: + if filters.variant and document["variant"]["variant_name"] != filters.variant: return False - if filters.environment and document.environment != filters.environment: + if filters.environment and document["environment"] != filters.environment: return False return True From 13d9008b5bacd250538493ee00a0211d0c630a02 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 14 Mar 2024 07:54:26 +0100 Subject: [PATCH 162/539] Refactor - rewrote retrieve obs dashboard aggregation logic --- .../services/event_db_manager.py | 93 ++++++++----------- 1 file changed, 40 insertions(+), 53 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index f5f245d33a..f4053cc1d4 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -33,7 +33,6 @@ from agenta_backend.services import db_manager, filters, helpers from agenta_backend.models.db_models import ( TraceDB, - SpanStatus, Feedback as FeedbackDB, SpanDB, ) @@ -287,70 +286,58 @@ async def retrieve_observability_dashboard( app_id: str, params: ObservabilityDashboardDataRequestParams, ) -> ObservabilityDashboardData: - spans_db = await SpanDB.find( - SpanDB.trace.app_id == app_id, fetch_links=True - ).to_list() - if spans_db == []: - return [] + # Construct spans base query + spans_base = SpanDB.find(SpanDB.trace.app_id == app_id, fetch_links=True).find( + SpanDB.environment == params.environment + ) - list_of_observability_data: ObservabilityData = [] - for span_db in spans_db: - app_variant_db = await db_manager.fetch_app_variant_by_base_id_and_config_name( - span_db.trace.base_id, span_db.trace.config_name - ) - latency = span_db.end_time - span_db.start_time - list_of_observability_data.append( - ObservabilityData( - **{ - "timestamp": span_db.created_at, - "success_count": 1 if span_db.status.value == "SUCCESS" else 0, - "failure_count": 1 if span_db.status.value == "FAILURE" else 0, - "cost": span_db.cost, - "latency": latency.total_seconds(), - "total_tokens": span_db.token_total, - "prompt_tokens": span_db.tokens_input, - "completion_tokens": span_db.tokens_output, - "environment": span_db.environment, - "variant": app_variant_db.variant_name, - } - ) - ) + # Apply filtering based on the environment and variant (base_id) + filtered_spans = filters.filter_observability_dashboard_spans_db_by_filters(app_id, params) - filtered_data = filters.filter_observability_dashboard_data_by_params( - params, list_of_observability_data - ) - len_of_filtered_data = len(filtered_data) - if len(filtered_data) == 0: - return ObservabilityDashboardData( - **{ - "data": [], - "total_count": 0, - "failure_rate": 0, - "total_cost": 0, - "avg_cost": 0, - "avg_latency": 0, - "total_tokens": 0, - "avg_tokens": 0, - } + # Apply datetime filter and aggregation pipeline + spans = None + if params.timeRange is not None: + filter_datetime = filters.filter_by_time_range(params.timeRange) + spans_aggregation_mapping = filters.prepares_spans_aggregation_by_timerange( + params.timeRange ) + pipeline = [ + {"$match": {"created_at": {"$gte": filter_datetime}}}, + spans_aggregation_mapping, + ] + spans = await filtered_spans.aggregate( + pipeline, + ).to_list() + + if spans is None or len(spans) == 0: + return [] + + len_of_observability_data = len(spans) + observability_data: ObservabilityData = [] + for span in spans: + observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) return ObservabilityDashboardData( **{ - "data": filtered_data, - "total_count": len_of_filtered_data, + "data": observability_data, + "total_count": len_of_observability_data, "failure_rate": round( - sum([data.failure_count for data in filtered_data]), 5 + sum(data.failure_count for data in observability_data), 5 ), - "total_cost": round(sum([data.cost for data in filtered_data]), 5), + "total_cost": round(sum(data.cost for data in observability_data), 5), "avg_cost": round( - sum([data.cost for data in filtered_data]) / len_of_filtered_data, 5 + sum(data.cost for data in observability_data) + / len_of_observability_data, + 5, ), "avg_latency": round( - sum([data.latency for data in filtered_data]) / len_of_filtered_data, 5 + sum(data.latency for data in observability_data) + / len_of_observability_data, + 5, ), - "total_tokens": sum([data.total_tokens for data in filtered_data]), - "avg_tokens": sum([data.total_tokens for data in filtered_data]) - / len_of_filtered_data, + "total_tokens": sum(data.total_tokens for data in observability_data), + "avg_tokens": sum(data.total_tokens for data in observability_data) + / len_of_observability_data, } ) From 8fb36a69e8197705a51d126828ce4acfc0145197 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 14 Mar 2024 07:57:56 +0100 Subject: [PATCH 163/539] Refactor - set expiry time for obs dashboard agg to 15 minutes --- .../agenta_backend/services/redis_cache_service.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index 16896d8e6b..22f9eadf4f 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -1,7 +1,6 @@ import json from typing import Any, Coroutine, Callable -from agenta_backend.services import filters from agenta_backend.utils import redis_utils from agenta_backend.models.api.observability_models import ObservabilityDashboardData @@ -22,11 +21,9 @@ async def cache_observability_data( cached_data = redis.get(cache_key) if cached_data is not None: loaded_data = json.loads(cached_data) - return filters.filter_and_aggregate_cache_observability_data( - parameters, loaded_data["data"] - ) + return loaded_data # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) - redis.setex(cache_key, 1800, data.json()) + redis.setex(cache_key, 900, data.json()) return data From 1110157b46303153b056541f9a1c8d9fd0961368 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 14 Mar 2024 07:59:09 +0100 Subject: [PATCH 164/539] :art: Format - ran black --- agenta-backend/agenta_backend/services/event_db_manager.py | 4 +++- agenta-backend/agenta_backend/services/filters.py | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index f4053cc1d4..1a3f8ed7e6 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -292,7 +292,9 @@ async def retrieve_observability_dashboard( ) # Apply filtering based on the environment and variant (base_id) - filtered_spans = filters.filter_observability_dashboard_spans_db_by_filters(app_id, params) + filtered_spans = filters.filter_observability_dashboard_spans_db_by_filters( + app_id, params + ) # Apply datetime filter and aggregation pipeline spans = None diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index a60c635b07..5ec92fb5d7 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -170,8 +170,7 @@ def prepares_spans_aggregation_by_timerange(time_range: str): def filter_observability_dashboard_spans_db_by_filters( - app_id: str, - params: ObservabilityDashboardDataRequestParams + app_id: str, params: ObservabilityDashboardDataRequestParams ): if params.environment and params.variant: filtered_spans = SpanDB.find( @@ -193,9 +192,10 @@ def filter_observability_dashboard_spans_db_by_filters( fetch_links=True, ) else: - filtered_spans = SpanDB.find(SpanDB.trace.app_id == app_id, fetch_links=True) + filtered_spans = SpanDB.find(SpanDB.trace.app_id == app_id, fetch_links=True) return filtered_spans + def filter_observability_dashboard_data_by_params( params: ObservabilityDashboardDataRequestParams, observability_data: List[Union[ObservabilityData, Dict[str, Any]]], From d0a13eeca21c51620815076948bc8f0ead5bf204 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 14 Mar 2024 09:00:33 +0100 Subject: [PATCH 165/539] Refactor - sort obs data by timestamp and fix success/failure count --- .../services/event_db_manager.py | 13 ++++++------ .../agenta_backend/services/filters.py | 20 +++++++++---------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 1a3f8ed7e6..b73dd1a16d 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -286,11 +286,6 @@ async def retrieve_observability_dashboard( app_id: str, params: ObservabilityDashboardDataRequestParams, ) -> ObservabilityDashboardData: - # Construct spans base query - spans_base = SpanDB.find(SpanDB.trace.app_id == app_id, fetch_links=True).find( - SpanDB.environment == params.environment - ) - # Apply filtering based on the environment and variant (base_id) filtered_spans = filters.filter_observability_dashboard_spans_db_by_filters( app_id, params @@ -319,10 +314,14 @@ async def retrieve_observability_dashboard( for span in spans: observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) + sorted_data = sorted(observability_data, key=lambda x: x.timestamp) + total_count = round( + sum(data.failure_count for data in observability_data), 5 + ) + round(sum(data.success_count for data in observability_data), 5) return ObservabilityDashboardData( **{ - "data": observability_data, - "total_count": len_of_observability_data, + "data": sorted_data, + "total_count": total_count, "failure_rate": round( sum(data.failure_count for data in observability_data), 5 ), diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 5ec92fb5d7..90b0d44dfa 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -74,10 +74,10 @@ def prepares_spans_aggregation_by_timerange(time_range: str): } }, "success_count": { - "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} }, "cost": {"$sum": "$cost"}, "total_tokens": {"$sum": "$token_total"}, @@ -94,10 +94,10 @@ def prepares_spans_aggregation_by_timerange(time_range: str): } }, "success_count": { - "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} }, "cost": {"$sum": "$cost"}, "total_tokens": {"$sum": "$token_total"}, @@ -114,10 +114,10 @@ def prepares_spans_aggregation_by_timerange(time_range: str): } }, "success_count": { - "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} }, "cost": {"$sum": "$cost"}, "total_tokens": {"$sum": "$token_total"}, @@ -134,10 +134,10 @@ def prepares_spans_aggregation_by_timerange(time_range: str): } }, "success_count": { - "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} }, "cost": {"$sum": "$cost"}, "total_tokens": {"$sum": "$token_total"}, @@ -154,10 +154,10 @@ def prepares_spans_aggregation_by_timerange(time_range: str): } }, "success_count": { - "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} }, "cost": {"$sum": "$cost"}, "total_tokens": {"$sum": "$token_total"}, From 94b2bdc4d37f83060943f56ddf231b404e769c78 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Thu, 14 Mar 2024 13:29:52 +0500 Subject: [PATCH 166/539] sidebar tag feature --- agenta-web/src/components/Sidebar/Sidebar.tsx | 10 +++++++--- agenta-web/src/components/Sidebar/config.tsx | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/agenta-web/src/components/Sidebar/Sidebar.tsx b/agenta-web/src/components/Sidebar/Sidebar.tsx index aac6361fc5..20ad0080b7 100644 --- a/agenta-web/src/components/Sidebar/Sidebar.tsx +++ b/agenta-web/src/components/Sidebar/Sidebar.tsx @@ -1,6 +1,6 @@ import React, {useEffect, useMemo, useState} from "react" import {useRouter} from "next/router" -import {Layout, Menu, Tooltip} from "antd" +import {Layout, Menu, Tag, Tooltip} from "antd" import Logo from "../Logo/Logo" import Link from "next/link" import {useAppTheme} from "../Layout/ThemeContextProvider" @@ -88,7 +88,11 @@ const SidebarMenu: React.FC<{ + {item.title} {item.tag && {item.tag}} + + } onTitleClick={item.onClick} > {item.submenu.map((subitem) => { @@ -129,7 +133,7 @@ const SidebarMenu: React.FC<{ href={item.link || "#"} target={item.link?.startsWith("http") ? "_blank" : undefined} > - {item.title} + {item.title} {item.tag && {item.tag}} ) return ( diff --git a/agenta-web/src/components/Sidebar/config.tsx b/agenta-web/src/components/Sidebar/config.tsx index 8a15a31c30..f63f9fd3a0 100644 --- a/agenta-web/src/components/Sidebar/config.tsx +++ b/agenta-web/src/components/Sidebar/config.tsx @@ -51,6 +51,7 @@ export type SidebarConfig = { isBottom?: boolean submenu?: Omit[] onClick?: () => void + tag?: string } export const useSidebarConfig = () => { @@ -158,6 +159,7 @@ export const useSidebarConfig = () => { title: "Observability", icon: , isHidden: !appId, + tag: "beta", submenu: [ { key: "app-observability-dashboard-link", From 0dd64d8e13a640ec90ff9ca9c4be589534ab82b0 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Thu, 14 Mar 2024 12:10:32 +0100 Subject: [PATCH 167/539] removed cell redirect on variant and testset --- .../evaluations/evaluationResults/EvaluationResults.tsx | 9 --------- 1 file changed, 9 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index 5c42ccec1c..5d105faf6e 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -180,12 +180,6 @@ const EvaluationResults: React.FC = () => { ) }, - onCellClicked(params: any) { - const {revisions, variants} = params.data - router.push( - `/apps/${appId}/playground?variant=${variants[0].variantName}&revision=${revisions[0]}`, - ) - }, valueGetter: (params) => `${params.data?.variants[0].variantName} #${params.data?.revisions[0]}`, headerName: "Variant", @@ -204,9 +198,6 @@ const EvaluationResults: React.FC = () => { minWidth: 160, tooltipValueGetter: (params) => params.value, ...getFilterParams("text"), - onCellClicked(params) { - router.push(`/apps/${appId}/testsets/${params.data?.testset.id}`) - }, }, ...evaluatorConfigs.map( (config) => From 80c000ba7aaa75982da18eeb60e05cb9673c8300 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Thu, 14 Mar 2024 15:09:12 +0100 Subject: [PATCH 168/539] increased code eval modal width --- .../pages/evaluations/evaluators/NewEvaluatorModal.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx index 6926be8f33..860fd03ca2 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx @@ -393,6 +393,7 @@ const NewEvaluatorModal: React.FC = ({ } footer={null} data-cy="configure-new-evaluator-modal" + width={selectedEval?.key === "auto_custom_code_run" ? 800 : 600} >
Date: Thu, 14 Mar 2024 22:16:45 +0530 Subject: [PATCH 169/539] fix: added model instance to appcontext so that at a time only 1 instance will be there & inherits context through Layout and fixes all the alert popup usages --- .../src/components/AlertPopup/AlertPopup.tsx | 11 +++++------ agenta-web/src/components/Layout/Layout.tsx | 18 ++++++++++++++++-- .../evaluations/evaluators/EvaluatorCard.tsx | 3 --- agenta-web/src/contexts/app.context.tsx | 14 +++++++++++++- 4 files changed, 34 insertions(+), 12 deletions(-) diff --git a/agenta-web/src/components/AlertPopup/AlertPopup.tsx b/agenta-web/src/components/AlertPopup/AlertPopup.tsx index 4f436598ea..2a4deb9087 100644 --- a/agenta-web/src/components/AlertPopup/AlertPopup.tsx +++ b/agenta-web/src/components/AlertPopup/AlertPopup.tsx @@ -1,8 +1,8 @@ import React, {ReactNode} from "react" -import {Modal, ModalFuncProps} from "antd" +import {ModalFuncProps} from "antd" import {ExclamationCircleOutlined} from "@ant-design/icons" import {globalErrorHandler} from "@/lib/helpers/errorHandler" -import {HookAPI} from "antd/es/modal/useModal" +import {getAppValues, useAppsData} from "@/contexts/app.context" function handleCb(cb: AlertPopupProps["onOk"]) { if (typeof cb !== "function") return cb @@ -20,7 +20,6 @@ function handleCb(cb: AlertPopupProps["onOk"]) { export type AlertPopupProps = ModalFuncProps & { message: ReactNode cancellable?: boolean - modalInstance?: HookAPI } export default function AlertPopup({ @@ -31,12 +30,12 @@ export default function AlertPopup({ onOk, onCancel, cancellable = true, - modalInstance, type, ...ModalProps }: AlertPopupProps) { - const modalIns = (modalInstance as any) || Modal - return modalIns[type || "confirm"]({ + const {modalInstance} = getAppValues() + + return modalInstance[type || "confirm"]({ title, content: message, okText, diff --git a/agenta-web/src/components/Layout/Layout.tsx b/agenta-web/src/components/Layout/Layout.tsx index 47a6fecdb8..9355a0e05d 100644 --- a/agenta-web/src/components/Layout/Layout.tsx +++ b/agenta-web/src/components/Layout/Layout.tsx @@ -1,5 +1,15 @@ import React, {useEffect, useMemo, useState} from "react" -import {Breadcrumb, Button, ConfigProvider, Dropdown, Layout, Space, Tooltip, theme} from "antd" +import { + Breadcrumb, + Button, + ConfigProvider, + Dropdown, + Layout, + Modal, + Space, + Tooltip, + theme, +} from "antd" import Sidebar from "../Sidebar/Sidebar" import {GithubFilled, LinkedinFilled, TwitterOutlined} from "@ant-design/icons" import Link from "next/link" @@ -117,7 +127,7 @@ type LayoutProps = { const App: React.FC = ({children}) => { const {user} = useProfileData() const {appTheme, themeMode, toggleAppTheme} = useAppTheme() - const {currentApp} = useAppsData() + const {currentApp, setModalInstance} = useAppsData() const capitalizedAppName = renameVariablesCapitalizeAll(currentApp?.app_name || "") const [footerRef, {height: footerHeight}] = useElementSize() const classes = useStyles({themeMode: appTheme, footerHeight} as StyleProps) @@ -126,6 +136,7 @@ const App: React.FC = ({children}) => { const appId = router.query.app_id as string const isDarkTheme = appTheme === "dark" const {token} = theme.useToken() + const [modal, contextHolder] = Modal.useModal() useEffect(() => { if (user && isDemo()) { @@ -192,6 +203,8 @@ const App: React.FC = ({children}) => { } } githubRepo() + + setModalInstance(modal) }, []) useEffect(() => { @@ -284,6 +297,7 @@ const App: React.FC = ({children}) => { {children} + {contextHolder}
diff --git a/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx b/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx index f455d0a692..78eab8bc05 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx @@ -60,13 +60,11 @@ const EvaluatorCard: React.FC = ({evaluatorConfig, onEdit, onSuccessDelet const classes = useStyles() const [evaluators] = useAtom(evaluatorsAtom) const evaluator = evaluators.find((item) => item.key === evaluatorConfig.evaluator_key)! - const [modal, contextHolder] = Modal.useModal() const onDelete = async () => { AlertPopup({ title: "Delete evaluator", message: "Are you sure you want to delete this evaluator?", - modalInstance: modal, onOk: async () => { if ( !(await checkIfResourceValidForDeletion({ @@ -124,7 +122,6 @@ const EvaluatorCard: React.FC = ({evaluatorConfig, onEdit, onSuccessDelet {evaluatorConfig.name}
- {contextHolder} ) } diff --git a/agenta-web/src/contexts/app.context.tsx b/agenta-web/src/contexts/app.context.tsx index 84c84df25a..12f3d8089d 100644 --- a/agenta-web/src/contexts/app.context.tsx +++ b/agenta-web/src/contexts/app.context.tsx @@ -12,6 +12,9 @@ type AppContextType = { error: any isLoading: boolean mutate: () => void + + modalInstance: any + setModalInstance: (context: any) => void } const initialValues: AppContextType = { @@ -20,6 +23,9 @@ const initialValues: AppContextType = { error: null, isLoading: false, mutate: () => {}, + + modalInstance: null, + setModalInstance: (context) => {}, } const useApps = () => { @@ -68,14 +74,20 @@ const AppContextProvider: React.FC = ({children}) => { [apps, appId], ) + const [modalInstance, setModalInstance] = useState(null) + appContextValues.currentApp = currentApp appContextValues.apps = apps appContextValues.error = error appContextValues.isLoading = isLoading appContextValues.mutate = mutate + appContextValues.modalInstance = modalInstance + appContextValues.setModalInstance = setModalInstance return ( - + {children} ) From 1279c12e204d3e69c452608dac6d0a9bb7296796 Mon Sep 17 00:00:00 2001 From: Venkata Raviteja Gullapudi Date: Thu, 14 Mar 2024 22:19:15 +0530 Subject: [PATCH 170/539] style: formatting fix --- agenta-web/src/components/AlertPopup/AlertPopup.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/components/AlertPopup/AlertPopup.tsx b/agenta-web/src/components/AlertPopup/AlertPopup.tsx index 2a4deb9087..fc352416b6 100644 --- a/agenta-web/src/components/AlertPopup/AlertPopup.tsx +++ b/agenta-web/src/components/AlertPopup/AlertPopup.tsx @@ -34,7 +34,7 @@ export default function AlertPopup({ ...ModalProps }: AlertPopupProps) { const {modalInstance} = getAppValues() - + return modalInstance[type || "confirm"]({ title, content: message, From 91cdaea7133f82b5ad3091222335e1a25497b165 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 08:35:09 +0100 Subject: [PATCH 171/539] Feat - created helper function to fill observability dashboard missing data --- .../agenta_backend/services/helpers.py | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/services/helpers.py b/agenta-backend/agenta_backend/services/helpers.py index 11a440c19a..9368830eb2 100644 --- a/agenta-backend/agenta_backend/services/helpers.py +++ b/agenta-backend/agenta_backend/services/helpers.py @@ -1,7 +1,9 @@ import json -from typing import List, Dict, Any +from typing import List, Dict, Any, Tuple +from datetime import datetime, timedelta from agenta_backend.models.db_models import SpanDB +from agenta_backend.models.api.observability_models import ObservabilityData def format_inputs(list_of_dictionaries: List[Dict[str, Any]]) -> Dict: @@ -87,3 +89,44 @@ def convert_generation_span_inputs_variables(span_db: SpanDB) -> List[Dict[str, variables.append({"name": variable, "type": variable_type}) return variables + + +def range_of_dates_based_on_timerange( + time_range: str, current_date: datetime +) -> Tuple[datetime, datetime]: + if time_range == "24_hours": + start_date = current_date - timedelta(days=1) + end_date = current_date + elif time_range == "7_days": + start_date = current_date - timedelta(days=7) + end_date = current_date + elif time_range == "30_days": + start_date = current_date - timedelta(days=30) + end_date = current_date + return start_date, end_date + + +def fill_missing_data( + data: List[ObservabilityData], + time_range: str, +) -> List[ObservabilityData]: + current_date, end_date = range_of_dates_based_on_timerange( + time_range, datetime.now() + ) + result_map = {result.timestamp: result for result in data} + while current_date <= end_date: + if current_date not in result_map: + result_map[current_date] = ObservabilityData( + **{ + "timestamp": current_date.strftime("%Y-%m-%d 00:00:00"), + "success_count": 0, + "failure_count": 0, + "cost": 0, + "latency": 0, + "total_tokens": 0, + "prompt_tokens": 0, + "completion_tokens": 0, + } + ) + current_date += timedelta(days=1) + return list(result_map.values()) From 11cef0930bcd3a4eedd31443472d24004d6cf930 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 08:36:00 +0100 Subject: [PATCH 172/539] Refactor - simplified spans aggregation logic by timerange --- .../agenta_backend/services/filters.py | 135 ++++-------------- 1 file changed, 29 insertions(+), 106 deletions(-) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 90b0d44dfa..2cdc4a40af 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -59,114 +59,37 @@ def prepares_spans_aggregation_by_timerange(time_range: str): Dict: mapping based on time range """ + if time_range == "24_hours": + date_trunc_unit = "hour" + elif time_range in ["7_days", "30_days"]: + date_trunc_unit = "day" + else: # for 60_days, 90_days, and 180_days + date_trunc_unit = "month" + time_range_mappings = { - "24_hours": { - "$group": { - "_id": { - "$dateToString": { - "format": "%Y-%m-%dT%H", - "date": "$created_at", - } - }, - "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } - }, - "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} - }, - "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} - }, - "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$token_total"}, - "prompt_tokens": {"$sum": "$tokens_input"}, - "completion_tokens": {"$sum": "$tokens_output"}, - } - }, - "30_days": { - "$group": { - "_id": {"$dateToString": {"format": "%Y-%m-%d", "date": "$created_at"}}, - "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } - }, - "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} - }, - "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} - }, - "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$token_total"}, - "prompt_tokens": {"$sum": "$tokens_input"}, - "completion_tokens": {"$sum": "$tokens_output"}, - } - }, - "60_days": { - "$group": { - "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, - "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } - }, - "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} - }, - "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} - }, - "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$token_total"}, - "prompt_tokens": {"$sum": "$tokens_input"}, - "completion_tokens": {"$sum": "$tokens_output"}, - } - }, - "90_days": { - "$group": { - "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, - "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } - }, - "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} - }, - "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} - }, - "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$token_total"}, - "prompt_tokens": {"$sum": "$tokens_input"}, - "completion_tokens": {"$sum": "$tokens_output"}, - } - }, - "180_days": { - "$group": { - "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, - "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } - }, - "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} - }, - "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} - }, - "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$token_total"}, - "prompt_tokens": {"$sum": "$tokens_input"}, - "completion_tokens": {"$sum": "$tokens_output"}, - } - }, + "$group": { + "_id": { + "$dateTrunc": {"date": "$created_at", "unit": date_trunc_unit} + }, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } } - return time_range_mappings.get(time_range, None) + + return time_range_mappings def filter_observability_dashboard_spans_db_by_filters( From 571de6241e4832fd872615c8f97eeb8f3f1d29f3 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 08:36:35 +0100 Subject: [PATCH 173/539] Update - set condition to cache data if its len exceeds/equals 1 --- agenta-backend/agenta_backend/services/redis_cache_service.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index 22f9eadf4f..a3873e3ae9 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -25,5 +25,6 @@ async def cache_observability_data( # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) - redis.setex(cache_key, 900, data.json()) + if len(data) >= 1: + redis.setex(cache_key, 900, data.json()) return data From dd5649ff3ca7995d1197f4a4e11e51fb58c32c2a Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 08:37:13 +0100 Subject: [PATCH 174/539] Refactor - sort full observability data --- .../agenta_backend/services/event_db_manager.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index b73dd1a16d..1639da10a6 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -312,9 +312,13 @@ async def retrieve_observability_dashboard( len_of_observability_data = len(spans) observability_data: ObservabilityData = [] for span in spans: - observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) + observability_data.append(ObservabilityData(**span, timestamp=str(span["_id"]))) - sorted_data = sorted(observability_data, key=lambda x: x.timestamp) + full_observability_data = helpers.fill_missing_data( + data=observability_data, + time_range=params.timeRange, + ) + sorted_data = sorted(full_observability_data, key=lambda x: x.timestamp) total_count = round( sum(data.failure_count for data in observability_data), 5 ) + round(sum(data.success_count for data in observability_data), 5) From 03e59a979fe69713f53863bf60ee27a24b4db125 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 08:37:45 +0100 Subject: [PATCH 175/539] :art: Format - ran black --- agenta-backend/agenta_backend/services/filters.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 2cdc4a40af..cfb9152269 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -68,13 +68,9 @@ def prepares_spans_aggregation_by_timerange(time_range: str): time_range_mappings = { "$group": { - "_id": { - "$dateTrunc": {"date": "$created_at", "unit": date_trunc_unit} - }, + "_id": {"$dateTrunc": {"date": "$created_at", "unit": date_trunc_unit}}, "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } + "$sum": {"$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000]} }, "success_count": { "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} From 107db865da74779f423da4949701f828fb77eecb Mon Sep 17 00:00:00 2001 From: Raviteja Date: Fri, 15 Mar 2024 13:09:50 +0530 Subject: [PATCH 176/539] Update EvaluatorCard.tsx Remove unused modal impor --- .../components/pages/evaluations/evaluators/EvaluatorCard.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx b/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx index 78eab8bc05..ddf540e463 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/EvaluatorCard.tsx @@ -1,7 +1,7 @@ import React from "react" import {EvaluatorConfig, JSSTheme} from "@/lib/Types" import {DeleteOutlined, EditOutlined} from "@ant-design/icons" -import {Card, Tag, Typography, Modal} from "antd" +import {Card, Tag, Typography} from "antd" import {createUseStyles} from "react-jss" import dayjs from "dayjs" import Image from "next/image" From b20d5a53d341848f04cb2db9faff5ddf6c18b133 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 09:31:18 +0100 Subject: [PATCH 177/539] Refactor - update cache_observability_data --- agenta-backend/agenta_backend/services/redis_cache_service.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index a3873e3ae9..22f9eadf4f 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -25,6 +25,5 @@ async def cache_observability_data( # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) - if len(data) >= 1: - redis.setex(cache_key, 900, data.json()) + redis.setex(cache_key, 900, data.json()) return data From 9e49ea1b552272d927b064fe19f4bd3d179b3eaf Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 09:31:48 +0100 Subject: [PATCH 178/539] Update - added logic to fill data for 24_hours --- .../services/event_db_manager.py | 27 +++++++------------ .../agenta_backend/services/helpers.py | 13 ++++++--- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 1639da10a6..11224c7ca4 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -306,10 +306,6 @@ async def retrieve_observability_dashboard( pipeline, ).to_list() - if spans is None or len(spans) == 0: - return [] - - len_of_observability_data = len(spans) observability_data: ObservabilityData = [] for span in spans: observability_data.append(ObservabilityData(**span, timestamp=str(span["_id"]))) @@ -318,30 +314,27 @@ async def retrieve_observability_dashboard( data=observability_data, time_range=params.timeRange, ) + len_of_observability_data = len(full_observability_data) sorted_data = sorted(full_observability_data, key=lambda x: x.timestamp) - total_count = round( - sum(data.failure_count for data in observability_data), 5 - ) + round(sum(data.success_count for data in observability_data), 5) + total_count = round(sum(data.failure_count for data in sorted_data), 5) + round( + sum(data.success_count for data in sorted_data), 5 + ) return ObservabilityDashboardData( **{ "data": sorted_data, "total_count": total_count, - "failure_rate": round( - sum(data.failure_count for data in observability_data), 5 - ), - "total_cost": round(sum(data.cost for data in observability_data), 5), + "failure_rate": round(sum(data.failure_count for data in sorted_data), 5), + "total_cost": round(sum(data.cost for data in sorted_data), 5), "avg_cost": round( - sum(data.cost for data in observability_data) - / len_of_observability_data, + sum(data.cost for data in sorted_data) / len_of_observability_data, 5, ), "avg_latency": round( - sum(data.latency for data in observability_data) - / len_of_observability_data, + sum(data.latency for data in sorted_data) / len_of_observability_data, 5, ), - "total_tokens": sum(data.total_tokens for data in observability_data), - "avg_tokens": sum(data.total_tokens for data in observability_data) + "total_tokens": sum(data.total_tokens for data in sorted_data), + "avg_tokens": sum(data.total_tokens for data in sorted_data) / len_of_observability_data, } ) diff --git a/agenta-backend/agenta_backend/services/helpers.py b/agenta-backend/agenta_backend/services/helpers.py index 9368830eb2..03d1c5dfe9 100644 --- a/agenta-backend/agenta_backend/services/helpers.py +++ b/agenta-backend/agenta_backend/services/helpers.py @@ -95,7 +95,7 @@ def range_of_dates_based_on_timerange( time_range: str, current_date: datetime ) -> Tuple[datetime, datetime]: if time_range == "24_hours": - start_date = current_date - timedelta(days=1) + start_date = current_date - timedelta(hours=24) end_date = current_date elif time_range == "7_days": start_date = current_date - timedelta(days=7) @@ -118,7 +118,11 @@ def fill_missing_data( if current_date not in result_map: result_map[current_date] = ObservabilityData( **{ - "timestamp": current_date.strftime("%Y-%m-%d 00:00:00"), + "timestamp": ( + current_date.strftime("%Y-%m-%d %I:00:00") + if time_range == "24_hours" + else current_date.strftime("%Y-%m-%d %00:00:00") + ), "success_count": 0, "failure_count": 0, "cost": 0, @@ -128,5 +132,8 @@ def fill_missing_data( "completion_tokens": 0, } ) - current_date += timedelta(days=1) + if time_range == "24_hours": + current_date += timedelta(hours=1) + else: + current_date += timedelta(days=1) return list(result_map.values()) From d0a954f94f09480abca60195a64063ec50de03ce Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 10:48:31 +0100 Subject: [PATCH 179/539] Refactor - truncate timestamp --- .../models/api/observability_models.py | 2 +- .../services/event_db_manager.py | 11 ++++---- .../agenta_backend/services/helpers.py | 27 ++++++++++++------- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 31f9590823..406a0e6760 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -104,7 +104,7 @@ class TraceDetail(Trace): class ObservabilityData(BaseModel): - timestamp: str + timestamp: datetime success_count: int failure_count: int cost: float diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 11224c7ca4..04303f0e2f 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -308,7 +308,11 @@ async def retrieve_observability_dashboard( observability_data: ObservabilityData = [] for span in spans: - observability_data.append(ObservabilityData(**span, timestamp=str(span["_id"]))) + observability_data.append( + ObservabilityData( + **span, timestamp=span["_id"].strftime("%Y-%m-%d %I:00:00") + ) + ) full_observability_data = helpers.fill_missing_data( data=observability_data, @@ -316,13 +320,10 @@ async def retrieve_observability_dashboard( ) len_of_observability_data = len(full_observability_data) sorted_data = sorted(full_observability_data, key=lambda x: x.timestamp) - total_count = round(sum(data.failure_count for data in sorted_data), 5) + round( - sum(data.success_count for data in sorted_data), 5 - ) return ObservabilityDashboardData( **{ "data": sorted_data, - "total_count": total_count, + "total_count": len_of_observability_data, "failure_rate": round(sum(data.failure_count for data in sorted_data), 5), "total_cost": round(sum(data.cost for data in sorted_data), 5), "avg_cost": round( diff --git a/agenta-backend/agenta_backend/services/helpers.py b/agenta-backend/agenta_backend/services/helpers.py index 03d1c5dfe9..74b77727a1 100644 --- a/agenta-backend/agenta_backend/services/helpers.py +++ b/agenta-backend/agenta_backend/services/helpers.py @@ -95,7 +95,7 @@ def range_of_dates_based_on_timerange( time_range: str, current_date: datetime ) -> Tuple[datetime, datetime]: if time_range == "24_hours": - start_date = current_date - timedelta(hours=24) + start_date = current_date - timedelta(days=1) end_date = current_date elif time_range == "7_days": start_date = current_date - timedelta(days=7) @@ -113,16 +113,25 @@ def fill_missing_data( current_date, end_date = range_of_dates_based_on_timerange( time_range, datetime.now() ) - result_map = {result.timestamp: result for result in data} + result_map = {} + for result in data: + truncated_timestamp = ( + result.timestamp.replace(minute=0, second=0, microsecond=0) + if time_range == "24_hours" + else current_date.replace(hour=0, minute=0, second=0, microsecond=0) + ) + result_map[truncated_timestamp] = result + while current_date <= end_date: - if current_date not in result_map: - result_map[current_date] = ObservabilityData( + truncated_current_date = ( + current_date.strftime("%Y-%m-%d %I:00:00") + if time_range == "24_hours" + else current_date.strftime("%Y-%m-%d 00:00:00") + ) + if truncated_current_date not in result_map: + result_map[truncated_current_date] = ObservabilityData( **{ - "timestamp": ( - current_date.strftime("%Y-%m-%d %I:00:00") - if time_range == "24_hours" - else current_date.strftime("%Y-%m-%d %00:00:00") - ), + "timestamp": truncated_current_date, "success_count": 0, "failure_count": 0, "cost": 0, From f918a7bb8ee2dd37407de71f9a2e26ab0ce3e6bf Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 11:06:33 +0100 Subject: [PATCH 180/539] Update - fix truncate date issue --- .../agenta_backend/services/event_db_manager.py | 2 +- agenta-backend/agenta_backend/services/helpers.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 04303f0e2f..318127e9c8 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -310,7 +310,7 @@ async def retrieve_observability_dashboard( for span in spans: observability_data.append( ObservabilityData( - **span, timestamp=span["_id"].strftime("%Y-%m-%d %I:00:00") + **span, timestamp=span["_id"] ) ) diff --git a/agenta-backend/agenta_backend/services/helpers.py b/agenta-backend/agenta_backend/services/helpers.py index 74b77727a1..95292edf36 100644 --- a/agenta-backend/agenta_backend/services/helpers.py +++ b/agenta-backend/agenta_backend/services/helpers.py @@ -116,14 +116,14 @@ def fill_missing_data( result_map = {} for result in data: truncated_timestamp = ( - result.timestamp.replace(minute=0, second=0, microsecond=0) + result.timestamp.replace(minute=0, second=0) if time_range == "24_hours" - else current_date.replace(hour=0, minute=0, second=0, microsecond=0) + else result.timestamp.replace(hour=0, minute=0, second=0) ) - result_map[truncated_timestamp] = result + result_map[str(truncated_timestamp)] = result while current_date <= end_date: - truncated_current_date = ( + truncated_current_date = str( current_date.strftime("%Y-%m-%d %I:00:00") if time_range == "24_hours" else current_date.strftime("%Y-%m-%d 00:00:00") From 5cf54c046eb41f26f3818f5f0c02968d5e11c468 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 11:42:40 +0100 Subject: [PATCH 181/539] Update - fix count of traces/spans by filter --- .../services/event_db_manager.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 318127e9c8..124c9da541 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -191,7 +191,11 @@ async def fetch_generation_spans( base_spans_db = SpanDB.find(SpanDB.trace.app_id == app_id) # Count of spans in db - spans_count = await base_spans_db.find(fetch_links=True).count() + spans_count = ( + await base_spans_db.find(fetch_links=True, skip=skip, limit=limit) + .sort([(SpanDB.created_at, sort_direction)]) + .count() + ) # Fetch spans with pagination and sorting applied spans_db = base_spans_db.find(fetch_links=True, skip=skip, limit=limit).sort( @@ -308,11 +312,7 @@ async def retrieve_observability_dashboard( observability_data: ObservabilityData = [] for span in spans: - observability_data.append( - ObservabilityData( - **span, timestamp=span["_id"] - ) - ) + observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) full_observability_data = helpers.fill_missing_data( data=observability_data, @@ -371,7 +371,11 @@ async def fetch_traces( ) # Count of traces in db - traces_count = await base_traces_db.count() + traces_count = ( + await base_traces_db.find(fetch_links=True, skip=skip, limit=limit) + .sort([(TraceDB.created_at, sort_direction)]) + .count() + ) # Fetch traces with pagination and sorting applied traces_db = ( From 9a32cf2ddcd3cc38809123a2397318aeb525559b Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Fri, 15 Mar 2024 13:14:31 +0100 Subject: [PATCH 182/539] prevent visibility feat when only 1 eval left --- .../evaluations/evaluationCompare/EvaluationCompare.tsx | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx index 51dc86104a..0894b9d74a 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -297,7 +297,10 @@ const EvaluationCompareMode: React.FC = () => { : 1, }} icon={ - evalIds.includes(v.evaluationId) ? ( + evalIds.length < 2 && + evalIds.includes( + v.evaluationId, + ) ? null : evalIds.includes(v.evaluationId) ? ( ) : ( From cec89b9d244073a879f33d9387d97acf7f2c25ec Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 14:41:43 +0100 Subject: [PATCH 183/539] Update - modified latency sum aggregation logic --- agenta-backend/agenta_backend/services/filters.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index cfb9152269..807f1848ea 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -69,9 +69,7 @@ def prepares_spans_aggregation_by_timerange(time_range: str): time_range_mappings = { "$group": { "_id": {"$dateTrunc": {"date": "$created_at", "unit": date_trunc_unit}}, - "latency": { - "$sum": {"$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000]} - }, + "latency": {"$sum": {"$divide": ["$duration", 1000]}}, "success_count": { "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, From 2b42271c39c4838747dbc296b1f578189c94106a Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 14:57:19 +0100 Subject: [PATCH 184/539] Update - divide duration by 100 to get seconds --- agenta-backend/agenta_backend/models/converters.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index 5e520a9c73..ab897cfc13 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -513,7 +513,7 @@ async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: status=SpanStatus(value=span_db.status.value, error=span_db.status.error), metadata={ "cost": span_db.cost, - "latency": span_db.duration, + "latency": span_db.duration / 100, "usage": span_db.meta, }, user_id=str(span_db.trace.user.id), @@ -542,7 +542,7 @@ async def traces_to_pydantic(traces_db: List[TraceDB]) -> List[Trace]: status=SpanStatus(value=trace_db.status, error=None), metadata={ "cost": trace_db.cost, - "latency": trace_db.latency, + "latency": trace_db.latency / 100, "usage": {"total_tokens": trace_db.token_consumption}, }, user_id=str(trace_db.user.id), From 05daeb64c263f6ef43c916b42a97873c19451019 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 15:14:02 +0100 Subject: [PATCH 185/539] Update - remove redundant function --- .../services/event_db_manager.py | 36 ++----------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 124c9da541..388aba8a68 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -46,29 +46,6 @@ logger.setLevel(logging.INFO) -async def get_variant_traces( - app_id: str, variant_id: str, user_uid: str -) -> List[Trace]: - """Get the traces for a given app variant. - - Args: - app_id (str): the app id of the trace - variant_id (str): the id of the variant - - Returns: - List[Trace]: the list of traces for the given app variant - """ - - user = await db_manager.get_user(user_uid) - traces = await TraceDB.find( - TraceDB.user.id == user.id, - TraceDB.app_id == app_id, - TraceDB.variant_id == variant_id, - fetch_links=True, - ).to_list() - return [trace_db_to_pydantic(trace) for trace in traces] - - async def create_app_trace(payload: CreateTrace, user_uid: str) -> str: """Create a new trace. @@ -191,11 +168,7 @@ async def fetch_generation_spans( base_spans_db = SpanDB.find(SpanDB.trace.app_id == app_id) # Count of spans in db - spans_count = ( - await base_spans_db.find(fetch_links=True, skip=skip, limit=limit) - .sort([(SpanDB.created_at, sort_direction)]) - .count() - ) + spans_count = await base_spans_db.find(fetch_links=True).count() # Fetch spans with pagination and sorting applied spans_db = base_spans_db.find(fetch_links=True, skip=skip, limit=limit).sort( @@ -371,11 +344,7 @@ async def fetch_traces( ) # Count of traces in db - traces_count = ( - await base_traces_db.find(fetch_links=True, skip=skip, limit=limit) - .sort([(TraceDB.created_at, sort_direction)]) - .count() - ) + traces_count = await base_traces_db.find(fetch_links=True).count() # Fetch traces with pagination and sorting applied traces_db = ( @@ -389,6 +358,7 @@ async def fetch_traces( filtered_traces = filter( partial(filters.filter_document_by_filter_params, filters_param), traces ) + return get_paginated_data(list(filtered_traces), traces_count, pagination) From 3a7b84aed86ed6bffb55447a3c372a2636e5b3a5 Mon Sep 17 00:00:00 2001 From: Venkata Raviteja Gullapudi Date: Sat, 16 Mar 2024 12:35:17 +0530 Subject: [PATCH 186/539] fix: modal instance fallback and respective types --- agenta-web/src/components/AlertPopup/AlertPopup.tsx | 7 +++++-- agenta-web/src/contexts/app.context.tsx | 6 +++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/agenta-web/src/components/AlertPopup/AlertPopup.tsx b/agenta-web/src/components/AlertPopup/AlertPopup.tsx index fc352416b6..679340b135 100644 --- a/agenta-web/src/components/AlertPopup/AlertPopup.tsx +++ b/agenta-web/src/components/AlertPopup/AlertPopup.tsx @@ -1,8 +1,9 @@ import React, {ReactNode} from "react" -import {ModalFuncProps} from "antd" +import {Modal, ModalFuncProps} from "antd" import {ExclamationCircleOutlined} from "@ant-design/icons" import {globalErrorHandler} from "@/lib/helpers/errorHandler" import {getAppValues, useAppsData} from "@/contexts/app.context" +import {HookAPI} from "antd/es/modal/useModal" function handleCb(cb: AlertPopupProps["onOk"]) { if (typeof cb !== "function") return cb @@ -20,6 +21,7 @@ function handleCb(cb: AlertPopupProps["onOk"]) { export type AlertPopupProps = ModalFuncProps & { message: ReactNode cancellable?: boolean + type?: keyof HookAPI } export default function AlertPopup({ @@ -34,8 +36,9 @@ export default function AlertPopup({ ...ModalProps }: AlertPopupProps) { const {modalInstance} = getAppValues() + const modal = modalInstance || Modal - return modalInstance[type || "confirm"]({ + return modal[type || "confirm"]({ title, content: message, okText, diff --git a/agenta-web/src/contexts/app.context.tsx b/agenta-web/src/contexts/app.context.tsx index 12f3d8089d..7cf2990e8d 100644 --- a/agenta-web/src/contexts/app.context.tsx +++ b/agenta-web/src/contexts/app.context.tsx @@ -5,6 +5,7 @@ import {useRouter} from "next/router" import {PropsWithChildren, createContext, useContext, useEffect, useMemo, useState} from "react" import useSWR from "swr" import {dynamicContext} from "@/lib/helpers/dynamic" +import {HookAPI} from "antd/es/modal/useModal" type AppContextType = { currentApp: ListAppsItem | null @@ -13,7 +14,7 @@ type AppContextType = { isLoading: boolean mutate: () => void - modalInstance: any + modalInstance?: HookAPI setModalInstance: (context: any) => void } @@ -24,7 +25,6 @@ const initialValues: AppContextType = { isLoading: false, mutate: () => {}, - modalInstance: null, setModalInstance: (context) => {}, } @@ -74,7 +74,7 @@ const AppContextProvider: React.FC = ({children}) => { [apps, appId], ) - const [modalInstance, setModalInstance] = useState(null) + const [modalInstance, setModalInstance] = useState() appContextValues.currentApp = currentApp appContextValues.apps = apps From b45d2229dc973978adf49ebce5d11a154898d15c Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 08:34:50 +0100 Subject: [PATCH 187/539] Refactor - remove / 100 from traces and spans converter to pydantic --- agenta-backend/agenta_backend/models/converters.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index ab897cfc13..5e520a9c73 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -513,7 +513,7 @@ async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: status=SpanStatus(value=span_db.status.value, error=span_db.status.error), metadata={ "cost": span_db.cost, - "latency": span_db.duration / 100, + "latency": span_db.duration, "usage": span_db.meta, }, user_id=str(span_db.trace.user.id), @@ -542,7 +542,7 @@ async def traces_to_pydantic(traces_db: List[TraceDB]) -> List[Trace]: status=SpanStatus(value=trace_db.status, error=None), metadata={ "cost": trace_db.cost, - "latency": trace_db.latency / 100, + "latency": trace_db.latency, "usage": {"total_tokens": trace_db.token_consumption}, }, user_id=str(trace_db.user.id), From e06357877ecd47910376c0d3b77ecc30d8eae5ee Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 09:02:51 +0100 Subject: [PATCH 188/539] Update - improve spans/traces count by filters_param --- .../agenta_backend/services/event_db_manager.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 388aba8a68..f7bcc1fa3e 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -168,7 +168,12 @@ async def fetch_generation_spans( base_spans_db = SpanDB.find(SpanDB.trace.app_id == app_id) # Count of spans in db - spans_count = await base_spans_db.find(fetch_links=True).count() + filters_query = {} + if filters_param.environment is not None: + filters_query["environment"] = filters_param.environment + # elif filters_param.variant is not None: TODO: improve in observability sdk + # filters_query["base_id"] = filters_param.variant + spans_count = await base_spans_db.find(filters_query, fetch_links=True).count() # Fetch spans with pagination and sorting applied spans_db = base_spans_db.find(fetch_links=True, skip=skip, limit=limit).sort( @@ -344,7 +349,12 @@ async def fetch_traces( ) # Count of traces in db - traces_count = await base_traces_db.find(fetch_links=True).count() + filters_query = {} + if filters_param.environment is not None: + filters_query["environment"] = filters_param.environment + # elif filters_param.variant is not None: TODO: improve in observability sdk + # filters_query["base_id"] = filters_param.variant + traces_count = await base_traces_db.find(filters_query, fetch_links=True).count() # Fetch traces with pagination and sorting applied traces_db = ( From 8e25aad5d1b303e4251f26516c7b674c2f7af4e6 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 10:15:24 +0100 Subject: [PATCH 189/539] Refactor - update trace/span db models based on pr#1432 review --- agenta-backend/agenta_backend/models/db_models.py | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 0b8ec834a5..7adce6eadf 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -319,11 +319,6 @@ class LLMTokens(BaseModel): total_tokens: int -class LLMPrompts(BaseModel): - prompt_user: Optional[str] - prompt_system: str - - class TracingEventTypes(BaseModel): LLM_REQUEST = "llm_request" EMBEDDING = "embedding" @@ -334,10 +329,10 @@ class TraceDB(Document): base_id: str config_name: str trace_name: Optional[str] + meta: Optional[Dict[str, Any]] start_time: datetime end_time: datetime = Field(default=datetime.now()) cost: Optional[float] - model: str inputs: Optional[Dict[str, Any]] outputs: Optional[List[str]] variant_config: Dict[str, Any] @@ -345,6 +340,7 @@ class TraceDB(Document): status: str # initiated, completed, stopped, canceled, failed user: Optional[str] tags: Optional[List[str]] + token_consumption: Optional[int] feedbacks: Optional[List[Feedback]] created_at: datetime = Field(default=datetime.now()) @@ -359,11 +355,13 @@ class Settings: class SpanDB(Document): trace: Link[TraceDB] parent_span_id: Optional[str] # parent observability of span + meta: Optional[Dict[str, Any]] event_name: str # Function or execution name event_type: Optional[TracingEventTypes] status: SpanStatus input: Optional[str] output: Optional[str] + model: str user: Optional[str] environment: Optional[str] # request source -> playground, development, etc start_time: datetime From 17b0e3a4e06c8d0d0a90fc9c69b24821f414fab8 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Mon, 18 Mar 2024 14:42:07 +0500 Subject: [PATCH 190/539] unblock ui on error boundary when route is changed --- .../src/components/Layout/ErrorFallback.tsx | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/agenta-web/src/components/Layout/ErrorFallback.tsx b/agenta-web/src/components/Layout/ErrorFallback.tsx index b6f16b0404..cc94fc1d59 100644 --- a/agenta-web/src/components/Layout/ErrorFallback.tsx +++ b/agenta-web/src/components/Layout/ErrorFallback.tsx @@ -1,14 +1,20 @@ -import {getErrorMessage, globalErrorHandler} from "@/lib/helpers/errorHandler" +import {getErrorMessage} from "@/lib/helpers/errorHandler" import {Button, Result} from "antd" +import {useRouter} from "next/router" import {useEffect} from "react" +import {FallbackProps} from "react-error-boundary" -interface Props { - error: any -} +const ErrorFallback: React.FC = ({error, resetErrorBoundary}) => { + const router = useRouter() -const ErrorFallback: React.FC = ({error}) => { useEffect(() => { - globalErrorHandler(error) + const handleRouteChange = () => { + resetErrorBoundary() + } + router.events.on("routeChangeComplete", handleRouteChange) + return () => { + router.events.off("routeChangeComplete", handleRouteChange) + } }, []) return ( From 9e3d5c0b493936edf4b72063551a6db3b834d4bd Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Mon, 18 Mar 2024 13:52:53 +0100 Subject: [PATCH 191/539] pinned status column to right --- .../pages/evaluations/evaluationResults/EvaluationResults.tsx | 1 + 1 file changed, 1 insertion(+) diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index 5d105faf6e..fc9fe3af87 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -240,6 +240,7 @@ const EvaluationResults: React.FC = () => { flex: 1, field: "status", minWidth: 185, + pinned: "right", ...getFilterParams("text"), filterValueGetter: (params) => statusMapper(token)[params.data?.status.value as EvaluationStatus].label, From ce3ae41523ba842b1aed9f3c2b4ddd3f35446432 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Mon, 18 Mar 2024 14:53:24 +0100 Subject: [PATCH 192/539] fixed infinite loading on error --- agenta-web/src/components/TestSetTable/TestsetTable.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/agenta-web/src/components/TestSetTable/TestsetTable.tsx b/agenta-web/src/components/TestSetTable/TestsetTable.tsx index b2bcc1c7a3..b63c663a76 100644 --- a/agenta-web/src/components/TestSetTable/TestsetTable.tsx +++ b/agenta-web/src/components/TestSetTable/TestsetTable.tsx @@ -417,8 +417,8 @@ const TestsetTable: React.FC = ({mode}) => { } const onSaveData = async () => { - setIsLoading(true) try { + setIsLoading(true) const afterSave = (response: AxiosResponse) => { if (response.status === 200) { setUnSavedChanges(false, () => { @@ -431,6 +431,7 @@ const TestsetTable: React.FC = ({mode}) => { if (mode === "create") { if (!testsetName) { setIsModalOpen(true) + setIsLoading(false) } else { const response = await createNewTestset(appId, testsetName, rowData) afterSave(response) @@ -445,6 +446,7 @@ const TestsetTable: React.FC = ({mode}) => { } } catch (error) { console.error("Error saving test set:", error) + setIsLoading(false) } } From ca49587282157cedbbbf46230f61b21bf0aae21f Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 15:09:07 +0100 Subject: [PATCH 193/539] Refactor - replace base_id and config_name with variant_id --- agenta-backend/agenta_backend/models/db_models.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 7adce6eadf..c780346443 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -326,8 +326,7 @@ class TracingEventTypes(BaseModel): class TraceDB(Document): app_id: str - base_id: str - config_name: str + variant_id: str trace_name: Optional[str] meta: Optional[Dict[str, Any]] start_time: datetime From 71660acd6853db8a17bf0bc42f4f912061167b11 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 15:10:18 +0100 Subject: [PATCH 194/539] Refactor - update base and create trace pydantic model --- .../agenta_backend/models/api/observability_models.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 12efa1b359..e44ff0810b 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -147,8 +147,7 @@ class UpdateFeedback(BaseModel): class BaseTrace(BaseModel): app_id: Optional[str] - base_id: Optional[str] - config_name: Optional[str] + variant_id: Optional[str] cost: Optional[float] status: str = Field(default=Status.INITIATED) token_consumption: Optional[int] @@ -157,6 +156,9 @@ class BaseTrace(BaseModel): class CreateTrace(BaseTrace): + id: str + trace_name: str + inputs: Dict[str, Any] environment: Optional[str] From a89fc8dc7afdef16b4ace4b5b9dcef2b598cb634 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 15:11:24 +0100 Subject: [PATCH 195/539] Feat - created endpoint to retrieve variant using base id --- .../agenta_backend/routers/variants_router.py | 34 +++++++++++++++++++ .../agenta_backend/services/db_manager.py | 20 +++++++++++ 2 files changed, 54 insertions(+) diff --git a/agenta-backend/agenta_backend/routers/variants_router.py b/agenta-backend/agenta_backend/routers/variants_router.py index ac92cd30aa..c281aedb9b 100644 --- a/agenta-backend/agenta_backend/routers/variants_router.py +++ b/agenta-backend/agenta_backend/routers/variants_router.py @@ -351,6 +351,40 @@ async def get_variant( raise HTTPException(status_code=500, detail=str(e)) +@router.get( + "/{base_id}/", + operation_id="get_variant_using_base_id", + response_model=AppVariantResponse, +) +async def get_variant_using_base_id( + base_id: str, + request: Request, +): + logger.debug("getting variant with base " + base_id) + try: + app_variant = await db_manager.fetch_app_variant_by_base_id(base_id=base_id) + + if isCloudEE(): + has_permission = await check_action_access( + user_uid=request.state.user_id, + object=app_variant, + permission=Permission.VIEW_APPLICATION, + ) + logger.debug(f"User has Permission to get variant: {has_permission}") + if not has_permission: + error_msg = f"You do not have permission to perform this action. Please contact your organization admin." + logger.error(error_msg) + return JSONResponse( + {"detail": error_msg}, + status_code=403, + ) + + return await converters.app_variant_db_to_output(app_variant) + except Exception as e: + logger.exception(f"An error occurred: {str(e)}") + raise HTTPException(status_code=500, detail=str(e)) + + @router.get( "/{variant_id}/revisions/", operation_id="get_variant_revisions", diff --git a/agenta-backend/agenta_backend/services/db_manager.py b/agenta-backend/agenta_backend/services/db_manager.py index ad1ebb6c4c..4feefd0e8e 100644 --- a/agenta-backend/agenta_backend/services/db_manager.py +++ b/agenta-backend/agenta_backend/services/db_manager.py @@ -183,6 +183,26 @@ async def fetch_app_variant_by_id( return app_variant +async def fetch_app_variant_by_base_id( + base_id: str +) -> Optional[AppVariantDB]: + """ + Fetches an app variant by its base ID and config name. + + Args: + base_id (str): The ID of the variant base to fetch + + Returns: + AppVariantDB: The fetched app variant, or None if no app variant was found. + """ + assert base_id is not None, "base_id cannot be None" + app_variant = await AppVariantDB.find_one( + AppVariantDB.base.id == ObjectId(base_id), + fetch_links=True, + ) + return app_variant + + async def fetch_app_variant_by_base_id_and_config_name( base_id: str, config_name: str ) -> Optional[AppVariantDB]: From 6b5d74ec5cbc88e2feaca97bcbf82a5559d1362e Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 15:12:25 +0100 Subject: [PATCH 196/539] Refactor - rewrite tracing sdk --- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 160 +++++++++++++++---- 1 file changed, 132 insertions(+), 28 deletions(-) diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 1983ab4dc3..06d933c590 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -1,17 +1,63 @@ # Stdlib Imports from bson import ObjectId from datetime import datetime -from typing import Optional, Optional +from typing import Optional, Dict, Any, List # Own Imports from agenta.client.backend import client from agenta.sdk.tracing.logger import llm_logger from agenta.sdk.tracing.tasks_manager import TaskQueue -from agenta.sdk.tracing.states import StatefulClient, StateTypes from agenta.client.backend.client import AsyncObservabilityClient -class AgentaLLMTracing(object): +class Span: + def __init__( + self, + trace_id: str, + span_id: str, + name: str, + input: str, + event_type: str, + parent_span_id: Optional[str] = None, + **kwargs: Dict[str, Any], + ): + self.trace_id = trace_id + self.span_id = span_id + self.name = name + self.event_type = event_type + self.parent_span_id = parent_span_id + self.start_time = datetime.now() + self.end_time = Optional[datetime] + self.input = input + self.output = Optional[Dict[str, Any]] + self.tokens = Optional[Dict[str, int]] + self.attributes: Dict[str, Any] = kwargs + + def set_attribute(self, key: str, value: Any): + self.attributes[key] = value + + def end(self, output: Dict[str, Any]): + self.end_time = datetime.now() + self.output = output["message"] + self.tokens = output.get("usage", {}) + + def __dict__(self): + return { + "trace_id": self.trace_id, + "span_id": self.span_id, + "name": self.name, + "event_type": self.event_type, + "parent_span_id": self.parent_span_id, + "start_time": self.start_time.isoformat() if self.start_time else None, + "end_time": self.end_time.isoformat() if self.end_time else None, + "input": self.input, + "output": self.output, + "tokens": self.tokens, + "meta": self.attributes, + } + + +class Tracing(object): """Agenta llm tracing object. Args: @@ -20,7 +66,6 @@ class AgentaLLMTracing(object): tasks_manager (TaskQueue): The tasks manager dedicated to handling asynchronous tasks llm_logger (Logger): The logger associated with the LLM tracing max_workers (int): The maximum number of workers to run tracing - manual_tracing (bool): Defaults to False, since observability would begin automatically when a LLM app is ran. """ def __init__( @@ -28,13 +73,15 @@ def __init__( base_url: str, api_key: Optional[str] = None, max_workers: int = 4, - manual_tracing: bool = False, ): self.base_url = base_url + "/api" self.api_key = api_key if api_key is not None else "" - self.manual_tracing = manual_tracing self.llm_logger = llm_logger self.tasks_manager = TaskQueue(max_workers, logger=llm_logger) + self.active_span = None + self.active_trace = None + self.tags: List[str] = [] + self.span_dict: Dict[str, Span] = {} # type: ignore @property def client(self) -> AsyncObservabilityClient: @@ -48,8 +95,55 @@ def client(self) -> AsyncObservabilityClient: base_url=self.base_url, api_key=self.api_key, timeout=120 # type: ignore ).observability - def _create_trace_oid(self) -> str: - """Creates a unique mongo oid for the trace object. + def set_span_attribute(self, **kwargs: Dict[str, Any]): + span = self.span_dict[self.active_span] # type: ignore + for k, v in kwargs.items(): + span.set_attribute(k, v) + + def set_trace_tags(self, tags: List[str]): + self.tags.extend(tags) + + def start_span( + self, + name: str, + input: str, + event_type: str = "llm_request", + trace_id: Optional[str] = None, + parent_span_id: Optional[str] = None, + **kwargs: Dict[str, Any], + ) -> Span: + trace_id = trace_id if trace_id else self._create_trace_id() + span_id = self._create_span_id() + parent_span_id = self.active_span if not parent_span_id else parent_span_id + span = Span( + trace_id=trace_id, + span_id=span_id, + name=name, + event_type=event_type, + parent_span_id=parent_span_id, + input=input, + **kwargs, + ) + self.span_dict[span_id] = span + self.active_span = span_id # type: ignore + return span + + def end_span(self, output: Dict[str, Any], span: Span): + span.end(output=output) + self.active_span = span.parent_span_id # type: ignore + try: + self.tasks_manager.add_task(self._send_span(span=span)) + self.parent_span_id = span.span_id + except Exception as exc: + self.llm_logger.error( + f"Error creating span of trace {str(span.trace_id)}: {str(exc)}" + ) + + async def _send_span(self, span: Span): + return await self.client.create_span(**span.__dict__()) + + def _create_trace_id(self) -> str: + """Creates a unique mongo id for the trace object. Returns: str: stringify oid of the trace @@ -57,14 +151,23 @@ def _create_trace_oid(self) -> str: return str(ObjectId()) + def _create_span_id(self) -> str: + """Creates a unique mongo id for the span object. + + Returns: + str: stringify oid of the span + """ + + return str(ObjectId()) + def trace( self, trace_name: Optional[str], app_id: str, - base_id: str, - config_name: str, + variant_id: str, + inputs: Dict[str, Any], **kwargs, - ) -> StatefulClient: + ): """Creates a new trace. Args: @@ -72,36 +175,37 @@ def trace( app_id (str): The ID of the app. base_id (str): The ID of the base. config_name (str): The name of the config. - - Returns: - StatefulClient: client used to make stateful calls. """ - trace_id = self._create_trace_oid() + trace_id = self._create_trace_id() try: self.tasks_manager.add_task( self.client.create_trace( id=trace_id, app_id=app_id, - base_id=base_id, - config_name=config_name, + variant_id=variant_id, trace_name=trace_name, start_time=datetime.now(), - model=kwargs["model"], - inputs=kwargs["inputs"], + inputs=inputs, environment=kwargs["environment"], # type: ignore status="INITIATED", - tags=[], + tags=self.tags, ) ) + self.active_trace = trace_id # type: ignore except Exception as exc: self.llm_logger.error(f"Error creating trace: {str(exc)}") - finally: - return StatefulClient( - client=self.client, - trace_id=trace_id, - llm_logger=self.llm_logger, - state_type=StateTypes.TRACE, - task_manager=self.tasks_manager, - parent_span_id=None, + + def end_trace(self, outputs: List[str], **kwargs: Dict[str, Any]): + try: + self.tasks_manager.add_task( + self.client.update_trace( + id=self.active_trace, + status="COMPLETED", + end_time=datetime.now(), + outputs=outputs, + **kwargs, + ) ) + except Exception as exc: + self.llm_logger.error(f"Error creating trace: {str(exc)}") From 6fda93576bb48ec61a18a8c119b2e77be6046209 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 15:15:09 +0100 Subject: [PATCH 197/539] Feat - created span tracing decorator --- agenta-cli/agenta/sdk/tracing/decorators.py | 40 +++++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 agenta-cli/agenta/sdk/tracing/decorators.py diff --git a/agenta-cli/agenta/sdk/tracing/decorators.py b/agenta-cli/agenta/sdk/tracing/decorators.py new file mode 100644 index 0000000000..48cfb6248f --- /dev/null +++ b/agenta-cli/agenta/sdk/tracing/decorators.py @@ -0,0 +1,40 @@ +# Stdlib Imports +import inspect +from functools import wraps + +# Own Imports +from agenta.sdk.tracing.llm_tracing import Tracing + + +async def span(tracing: Tracing, event_type: str = "llm_request"): + """Decorator to automatically start and end spans.""" + + def decorator(func): + @wraps(func) + async def wrapper(*args, **kwargs): + span = tracing.start_span( + func.__name__, + input=str(args), + event_type=event_type, + trace_id=tracing.active_trace, + ) + result = None + try: + is_coroutine_function = inspect.iscoroutinefunction(func) + if is_coroutine_function: + result = await func(*args, **kwargs) + else: + result = func(*args, **kwargs) + except Exception as e: + span.set_attribute("error", True) + span.set_attribute("error_message", str(e)) + raise + finally: + if not isinstance(result, dict): + result = {"message": result} + tracing.end_span(output=result, span=span) + return result + + return wrapper + + return decorator From 8c583c2c0f52390e5b0a983a5783b397c0f42fb6 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 15:19:29 +0100 Subject: [PATCH 198/539] Update - integrated tracing to agenta sdk --- agenta-cli/agenta/__init__.py | 3 ++- agenta-cli/agenta/sdk/__init__.py | 3 ++- agenta-cli/agenta/sdk/agenta_decorator.py | 23 ++++++++++++++------- agenta-cli/agenta/sdk/agenta_init.py | 25 ++++++++++++++--------- 4 files changed, 35 insertions(+), 19 deletions(-) diff --git a/agenta-cli/agenta/__init__.py b/agenta-cli/agenta/__init__.py index a2791b84e3..91151dcaaf 100644 --- a/agenta-cli/agenta/__init__.py +++ b/agenta-cli/agenta/__init__.py @@ -12,8 +12,9 @@ FileInputURL, BinaryParam, ) +from .sdk.tracing.decorators import span from .sdk.utils.preinit import PreInitObject -from .sdk.agenta_init import Config, init, trace +from .sdk.agenta_init import Config, init, llm_tracing from .sdk.utils.helper.openai_cost import calculate_token_usage config = PreInitObject("agenta.config", Config) diff --git a/agenta-cli/agenta/sdk/__init__.py b/agenta-cli/agenta/sdk/__init__.py index 97aa0f5320..29de24c734 100644 --- a/agenta-cli/agenta/sdk/__init__.py +++ b/agenta-cli/agenta/sdk/__init__.py @@ -14,7 +14,8 @@ FileInputURL, BinaryParam, ) -from .agenta_init import Config, init, trace +from .tracing.decorators import span +from .agenta_init import Config, init, llm_tracing from .utils.helper.openai_cost import calculate_token_usage config = PreInitObject("agenta.config", Config) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index 9615d25cea..c40e684e04 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -56,7 +56,7 @@ def ingest_file(upfile: UploadFile): return InFile(file_name=upfile.filename, file_path=temp_file.name) -def entrypoint(func: Callable[..., Any]) -> Callable[..., Any]: +def entrypoint(func: Callable[..., Any], max_workers: int = 4) -> Callable[..., Any]: """ Decorator to wrap a function for HTTP POST and terminal exposure. @@ -72,15 +72,22 @@ def entrypoint(func: Callable[..., Any]) -> Callable[..., Any]: config_params = agenta.config.all() ingestible_files = extract_ingestible_files(func_signature) + # Initialize llm tracing + tracing = agenta.llm_tracing(max_workers=max_workers) + @functools.wraps(func) async def wrapper(*args, **kwargs) -> Any: func_params, api_config_params = split_kwargs(kwargs, config_params) ingest_files(func_params, ingestible_files) agenta.config.set(**api_config_params) - return await execute_function( + result = await execute_function( func, *args, **{"params": func_params, "config_params": config_params} ) + # End tracing for playground + tracing.end_trace(outputs=[result["message"]], **kwargs) # type: ignore + return result + @functools.wraps(func) async def wrapper_deployed(*args, **kwargs) -> Any: func_params = { @@ -94,15 +101,20 @@ async def wrapper_deployed(*args, **kwargs) -> Any: agenta.config.pull(config_name="default") config = agenta.config.all() - return await execute_function( + result = await execute_function( func, *args, **{ "params": func_params, - "config_params": {**config, "environment": kwargs["environment"]}, + "config_params": config, + "environment": kwargs["environment"], }, ) + # End tracing + tracing.end_trace(outputs=[result["message"]], **kwargs) # type: ignore + return result + update_function_signature(wrapper, func_signature, config_params, ingestible_files) route = f"/{endpoint_name}" app.post(route, response_model=FuncResponse)(wrapper) @@ -224,9 +236,6 @@ async def execute_function( end_time = time.perf_counter() latency = end_time - start_time - # Prepare llm arguments and begins tracing - await prepare_llm_params_and_begin_tracing(func_params, result) - if isinstance(result, Context): save_context(result) if isinstance(result, Dict): diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index 580d5ef9f2..ec040e36c8 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -1,12 +1,13 @@ import os import logging -from typing import Any, Optional, Dict +from typing import Any, Optional from .utils.globals import set_global -from agenta.sdk.agenta_tracing import LLMTracing from agenta.client.backend.client import AgentaApi +from agenta.sdk.tracing.llm_tracing import Tracing from agenta.client.exceptions import APIRequestError +from agenta.client.backend.types.base_output import BaseOutput logger = logging.getLogger(__name__) @@ -80,7 +81,8 @@ def init( else: try: app_id = self.get_app(app_name) - base_id = self.get_app_base(app_id, base_name) + variant_id = self.get_variant(app_id, base_name).variant_id + base_id = self.get_app_base(app_id, base_name).base_id except Exception as ex: raise APIRequestError( f"Failed to get base id and/or app_id from the server with error: {ex}" @@ -89,6 +91,7 @@ def init( self.base_id = base_id self.host = host self.app_id = os.environ.get("AGENTA_APP_ID") if app_id is None else app_id + self.variant_id = variant_id self.api_key = api_key self.config = Config(base_id=base_id, host=host) @@ -100,13 +103,16 @@ def get_app(self, app_name: str) -> str: app_id = apps[0].app_id return app_id - def get_app_base(self, app_id: str, base_name: str) -> str: + def get_app_base(self, app_id: str, base_name: str) -> BaseOutput: bases = client.bases.list_bases(app_id=app_id, base_name=base_name) if len(bases) == 0: raise APIRequestError(f"No base was found for the app {app_id}") + return bases[0] - base_id = bases[0].base_id - return base_id + def get_variant(self, app_id: str, base_name: str): + base = self.get_app_base(app_id=app_id, base_name=base_name) + variant = client.variants.get_variant_using_base_id(base_id=base.base_id) + return variant def get_current_config(self): """ @@ -230,11 +236,10 @@ def init(app_name=None, base_name=None, **kwargs): set_global(setup=singleton.setup, config=singleton.config) -async def trace(**kwargs): +def llm_tracing(max_workers: int) -> Tracing: """Function to start llm tracing.""" singleton = AgentaSingleton() - llm_tracing = LLMTracing(singleton.host, singleton.api_key) - await llm_tracing.start_tracing( - singleton.app_id, singleton.base_id, "default", **kwargs + return Tracing( + base_url=singleton.host, api_key=singleton.api_key, max_workers=max_workers ) From 444e2c395b2a2c4566a208f955f64032d876453c Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 15:20:00 +0100 Subject: [PATCH 199/539] Cleanup - remove redundant file(s) --- .../agenta/sdk/tracing/context_manager.py | 13 ++ agenta-cli/agenta/sdk/tracing/states.py | 136 ------------------ 2 files changed, 13 insertions(+), 136 deletions(-) create mode 100644 agenta-cli/agenta/sdk/tracing/context_manager.py delete mode 100644 agenta-cli/agenta/sdk/tracing/states.py diff --git a/agenta-cli/agenta/sdk/tracing/context_manager.py b/agenta-cli/agenta/sdk/tracing/context_manager.py new file mode 100644 index 0000000000..9add1775b7 --- /dev/null +++ b/agenta-cli/agenta/sdk/tracing/context_manager.py @@ -0,0 +1,13 @@ +# Own Imports +from agenta.sdk.tracing.llm_tracing import Tracing + + +class TracingContextManager: + def __init__(self, tracing: Tracing): + ... + + def __enter__(self): + ... + + def __exit__(self, exc_type, exc_val, exc_tb): + ... diff --git a/agenta-cli/agenta/sdk/tracing/states.py b/agenta-cli/agenta/sdk/tracing/states.py deleted file mode 100644 index 542b434007..0000000000 --- a/agenta-cli/agenta/sdk/tracing/states.py +++ /dev/null @@ -1,136 +0,0 @@ -# Stdlib Imports -from enum import Enum -from bson import ObjectId -from logging import Logger -from datetime import datetime -from typing import Dict, Any, Optional, List - -# Own Imports -from agenta.sdk.tracing.tasks_manager import TaskQueue -from agenta.client.backend.client import AsyncObservabilityClient - - -class StateTypes(Enum): - TRACE = 1 - SPAN = 2 - GENERATION = 3 - - -class StatefulClient(object): - """Base class for handling stateful operations in when tracing LLM; \ - capable of creating different nested objects like spans, and generations. - - Args: - client (AsyncObservabilityClient): Core interface for Observability API. - trace_id (str): Id of the trace associated with the stateful client. - llm_logger (Logger): The logger associated with the LLM tracing. - state_type (StateTypes): Enum indicating whether the client is a trace, span or generation. - task_manager (TaskManager): Manager handling asynchronous tasks for the client. - parent_span_id (Optional[str]): The parent ID of a span. Defaults to None - """ - - def __init__( - self, - client: AsyncObservabilityClient, - trace_id: str, - llm_logger: Logger, - state_type: StateTypes, - task_manager: TaskQueue, - parent_span_id: Optional[str] = None, - ): - self.client = client - self.trace_id = trace_id - self.parent_span_id = parent_span_id - self.llm_logger = llm_logger - self.state_type = state_type - self.task_manager = task_manager - - def _add_state_to_tracing(self, body: Dict[str, Any]) -> Dict[str, Any]: - """Adds state based on type to the tracing. - - Args: - body (Dict[str, Any]): tracing body - - Returns: - Dict[str, Any]: updated body based on the state type - """ - - if self.state_type == StateTypes.TRACE: - body["trace_id"] = self.trace_id - elif self.state_type == StateTypes.SPAN: - body["parent_span_id"] = self.parent_span_id - return body - - def _create_span_oid(self) -> str: - """Creates a unique mongo oid for the span object. - - Returns: - str: stringify oid of the span - """ - - return str(ObjectId()) - - def span( - self, name: Optional[str], input: str, output: str, **kwargs: Dict[str, Any] - ) -> "StatefulClient": # type: ignore - span_id = self._create_span_oid() - try: - self.task_manager.add_task( - self.client.create_span( - id=span_id, - trace_id=self.trace_id, - event_name=name, - event_type="llm_request", - status="", - input=input, - output=output, - environment=kwargs["environment"], - start_time=datetime.now(), - tokens=kwargs.get("usage", None), - ) - ) - self.parent_span_id = span_id - except Exception as exc: - self.llm_logger.error( - f"Error creating span of trace {str(self.trace_id)}: {str(exc)}" - ) - finally: - return StatefulClient( - client=self.client, - trace_id=self.trace_id, - llm_logger=self.llm_logger, - state_type=StateTypes.SPAN, - task_manager=self.task_manager, - parent_span_id=( - self._create_span_oid() - if not self.parent_span_id - else self.parent_span_id - ), - ) - - def span_child(self, parent_span_id: str, event_name: str): - raise NotImplemented("TODO: Implement creation of span child.") # type: ignore - - def end( - self, - output: str, - usage: Optional[Dict[str, Any]], - tags: Optional[List[str]], - **kwargs: Dict[str, Any], - ): - try: - self.task_manager.add_task( - self.client.update_trace( - self.trace_id, - output=output, - status="COMPLETED", - usage=usage, - tags=tags, - end_time=datetime.now(), - **kwargs, - ) - ) - except Exception as exc: - self.llm_logger.error( - f"Error ending trace {str(self.trace_id)} request: {str(exc)}" - ) From eda8540a6dbe3c908abe685442b4fc247565f64e Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Mon, 18 Mar 2024 19:31:17 +0500 Subject: [PATCH 200/539] formatters utils | evaluators link fixed --- .../evaluationResults/EvaluationResults.tsx | 2 +- agenta-web/src/lib/helpers/dateTimeHelper.ts | 4 ++++ agenta-web/src/lib/helpers/formatters.ts | 21 +++++++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 agenta-web/src/lib/helpers/formatters.ts diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index 589c8d7197..5c42ccec1c 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -290,7 +290,7 @@ const EvaluationResults: React.FC = () => { {!fetching && !evaluations.length ? ( - router.push(`/apps/${appId}/evaluations?tab=evaluators`) + router.push(`/apps/${appId}/evaluations/new-evaluator`) } onBeginEvaluation={() => { setNewEvalModalOpen(true) diff --git a/agenta-web/src/lib/helpers/dateTimeHelper.ts b/agenta-web/src/lib/helpers/dateTimeHelper.ts index b1ac3cfa5b..434badbbf7 100644 --- a/agenta-web/src/lib/helpers/dateTimeHelper.ts +++ b/agenta-web/src/lib/helpers/dateTimeHelper.ts @@ -3,3 +3,7 @@ import dayjs from "dayjs" export const formatDate = (date: dayjs.ConfigType): string => { return dayjs(date).format("DD MMM YYYY | h:m a") } + +export const formatDate24 = (date: dayjs.ConfigType, includeSeconds = false): string => { + return dayjs(date).format("DD MMM YY, HH:mm" + (includeSeconds ? ":ss" : "")) +} diff --git a/agenta-web/src/lib/helpers/formatters.ts b/agenta-web/src/lib/helpers/formatters.ts new file mode 100644 index 0000000000..34caa04736 --- /dev/null +++ b/agenta-web/src/lib/helpers/formatters.ts @@ -0,0 +1,21 @@ +const intlNumber = new Intl.NumberFormat("en-US", { + maximumFractionDigits: 2, +}) + +const intlCurrency = new Intl.NumberFormat("en-US", { + style: "currency", + currency: "USD", + maximumFractionDigits: 4, +}) + +export const formatNumber = (value = 0) => { + return intlNumber.format(value) +} + +export const formatCurrency = (value = 0) => { + return intlCurrency.format(value) +} + +export const formatLatency = (value = 0) => { + return `${intlNumber.format(value / 1000)}s` +} From 1a81b07049f42dbc016844a6d74971acbe64d05d Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 16:32:22 +0100 Subject: [PATCH 201/539] Refactor - update example to make use of observability tracing --- examples/baby_name_generator/app_async.py | 28 +++++++++++++++-------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/examples/baby_name_generator/app_async.py b/examples/baby_name_generator/app_async.py index de8681cfa4..dc8e0c4cb0 100644 --- a/examples/baby_name_generator/app_async.py +++ b/examples/baby_name_generator/app_async.py @@ -1,4 +1,3 @@ -from agenta import FloatParam, TextParam import agenta as ag from openai import AsyncOpenAI @@ -10,10 +9,22 @@ ag.init() ag.config.default( - temperature=FloatParam(0.2), prompt_template=TextParam(default_prompt) + temperature=ag.FloatParam(0.2), prompt_template=ag.TextParam(default_prompt) ) +@ag.span(ag.llm_tracing, event_type="llm_request") +async def llm_call(prompt): + chat_completion = await client.chat.completions.create( + model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] + ) + ag.llm_tracing.set_span_attribute(model="gpt-3.5-turbo") + return { + "message": chat_completion.choices[0].message.content, + "usage": chat_completion.usage.dict(), + } + + @ag.entrypoint async def generate(country: str, gender: str) -> str: """ @@ -26,14 +37,11 @@ async def generate(country: str, gender: str) -> str: Returns: str: The generated baby name. """ - prompt = ag.config.prompt_template.format(country=country, gender=gender) - chat_completion = await client.chat.completions.create( - model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] - ) - token_usage = chat_completion.usage.dict() + prompt = ag.config.prompt_template.format(country=country, gender=gender) + response = await llm_call(prompt=prompt) return { - "message": chat_completion.choices[0].message.content, - **{"usage": token_usage}, - "cost": ag.calculate_token_usage("gpt-3.5-turbo", token_usage), + "message": response["message"], + "usage": response["usage"], + "cost": ag.calculate_token_usage("gpt-3.5-turbo", response["usage"]), } From ecc2007f5134b94f58ace206ca2e08537fad6a87 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 16:32:53 +0100 Subject: [PATCH 202/539] :art: Format - ran black --- agenta-backend/agenta_backend/services/db_manager.py | 4 +--- agenta-backend/agenta_backend/services/filters.py | 2 ++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/services/db_manager.py b/agenta-backend/agenta_backend/services/db_manager.py index 4feefd0e8e..b34b198408 100644 --- a/agenta-backend/agenta_backend/services/db_manager.py +++ b/agenta-backend/agenta_backend/services/db_manager.py @@ -183,9 +183,7 @@ async def fetch_app_variant_by_id( return app_variant -async def fetch_app_variant_by_base_id( - base_id: str -) -> Optional[AppVariantDB]: +async def fetch_app_variant_by_base_id(base_id: str) -> Optional[AppVariantDB]: """ Fetches an app variant by its base ID and config name. diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 3b6a04d748..436f8dcde9 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -33,9 +33,11 @@ def filter_observability_dashboard_data_by_params( filtered_data = observability_data if params.startTime or params.endTime: + def filter_by_timestamp(data: ObservabilityData): epoch_time = int(data.timestamp.timestamp()) * 1000 return params.startTime <= epoch_time <= params.endTime + filtered_data = filter(filter_by_timestamp, filtered_data) if params.environment: From 16dabdf68571067886e0c64cedd65547527acdbe Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 16:13:10 +0000 Subject: [PATCH 203/539] docs: update README.md [skip ci] --- README.md | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 168268c212..c90f237a3d 100644 --- a/README.md +++ b/README.md @@ -159,7 +159,7 @@ Check out our [Contributing Guide](https://docs.agenta.ai/contributing/getting-s ## Contributors ✨ -[![All Contributors](https://img.shields.io/badge/all_contributors-40-orange.svg?style=flat-square)](#contributors-) +[![All Contributors](https://img.shields.io/badge/all_contributors-41-orange.svg?style=flat-square)](#contributors-) Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): @@ -220,6 +220,7 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
Dennis Zelada
Dennis Zelada

💻
Romain Brucker
Romain Brucker

💻
Heon Heo
Heon Heo

💻
Drew Reisner
Drew Reisner

💻
From a3a7c86ce169637dcde76f2d0694bfc1b5ce062a Mon Sep 17 00:00:00 2001 From: "allcontributors[bot]" <46447321+allcontributors[bot]@users.noreply.github.com> Date: Mon, 18 Mar 2024 16:13:11 +0000 Subject: [PATCH 204/539] docs: update .all-contributorsrc [skip ci] --- .all-contributorsrc | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.all-contributorsrc b/.all-contributorsrc index 77e1f85cea..5f82a54f76 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -381,6 +381,15 @@ "contributions": [ "code" ] + }, + { + "login": "Drewski2222", + "name": "Drew Reisner", + "avatar_url": "https://avatars.githubusercontent.com/u/39228951?v=4", + "profile": "https://github.com/Drewski2222", + "contributions": [ + "code" + ] } ], "contributorsPerLine": 7, From 2c0ea46abe3c7d5b4eeb40c39bdf89cbf525de5e Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 19 Mar 2024 06:32:57 +0100 Subject: [PATCH 205/539] add levenshtein distance with optional threshold --- .../resources/evaluators/evaluators.py | 16 +++++++++-- .../services/evaluators_service.py | 28 ++++++++++++++++++- .../agenta_backend/tasks/evaluations.py | 1 + .../evaluators/NewEvaluatorModal.tsx | 19 ------------- 4 files changed, 42 insertions(+), 22 deletions(-) diff --git a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py index 65d13b099f..2315e6aad2 100644 --- a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py +++ b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py @@ -30,6 +30,7 @@ "description": "The threshold value for similarity comparison", "min": 0, "max": 1, + "required": True } }, "description": "Similarity Match evaluator checks if the generated answer is similar to the expected answer. You need to provide the similarity threshold. It uses the Jaccard similarity to compare the answers.", @@ -45,6 +46,7 @@ "type": "regex", "default": "", "description": "Pattern for regex testing (ex: ^this_word\\d{3}$)", + "required": True }, "regex_should_match": { "label": "Match/Mismatch", @@ -64,6 +66,7 @@ "type": "string", "default": "", "description": "The name of the field in the JSON output that you wish to evaluate", + "required": True } }, "description": "JSON Field Match evaluator compares specific fields within JSON (JavaScript Object Notation) data. This matching can involve finding similarities or correspondences between fields in different JSON objects.", @@ -78,6 +81,7 @@ "type": "text", "default": "We have an LLM App that we want to evaluate its outputs. Based on the prompt and the parameters provided below evaluate the output based on the evaluation strategy below: Evaluation strategy: 0 to 10 0 is very bad and 10 is very good. Prompt: {llm_app_prompt_template} Inputs: country: {country} Correct Answer:{correct_answer} Evaluate this: {variant_output} Answer ONLY with one of the given grading or evaluation options.", "description": "Template for AI critique prompts", + "required": True } }, "description": "AI Critique evaluator sends the generated answer and the correct_answer to an LLM model and uses it to evaluate the correctness of the answer. You need to provide the evaluation prompt (or use the default prompt).", @@ -92,6 +96,7 @@ "type": "code", "default": "from typing import Dict\n\ndef evaluate(\n app_params: Dict[str, str],\n inputs: Dict[str, str],\n output: str,\n correct_answer: str\n) -> float:\n # ...\n return 0.75 # Replace with your calculated score", "description": "Code for evaluating submissions", + "required": True } }, "description": "Code Evaluation allows you to write your own evaluator in Python. You need to provide the Python code for the evaluator.", @@ -105,6 +110,7 @@ "label": "Webhook URL", "type": "string", "description": "https://your-webhook-url.com", + "required": True }, }, "description": "Webhook test evaluator sends the generated answer and the correct_answer to a webhook and expects a response indicating the correctness of the answer. You need to provide the URL of the webhook and the response of the webhook must be between 0 and 1.", @@ -137,6 +143,7 @@ "prefix": { "label": "prefix", "type": "string", + "required": True }, "case_sensitive": { "label": "Case Sensitive", @@ -163,6 +170,7 @@ "label": "suffix", "type": "string", "description": "The string to match at the end of the output.", + "required": True }, }, "description": "Ends With evaluator checks if the output ends with a specified suffix, considering case sensitivity based on the settings.", @@ -184,6 +192,7 @@ "label": "substring", "type": "string", "description": "The string to check if it is contained in the output.", + "required": True }, }, "description": "Contains evaluator checks if the output contains a specified substring, considering case sensitivity based on the settings.", @@ -205,6 +214,7 @@ "label": "substrings", "type": "string", "description": "Provide a comma-separated list of strings to check if any is contained in the output.", + "required": True }, }, "description": "Contains Any evaluator checks if the output contains any of the specified substrings from a comma-separated list, considering case sensitivity based on the settings.", @@ -226,13 +236,14 @@ "label": "substrings", "type": "string", "description": "Provide a comma-separated list of strings to check if all are contained in the output.", + "required": True }, }, "description": "Contains All evaluator checks if the output contains all of the specified substrings from a comma-separated list, considering case sensitivity based on the settings.", }, { - "name": "Levenshtein", - "key": "auto_levenshtein_distance", + "name": "Levenshtein threshold", + "key": "auto_levenshtein_distance_threshold", "direct_use": False, "settings_template": { "label": "Levenshtein Distance Settings", @@ -241,6 +252,7 @@ "label": "Threshold", "type": "number", "default": 10, + "required": False }, }, "description": "Levenshtein Distance evaluator checks if the Levenshtein distance between the output and the correct answer is below a specified threshold.", diff --git a/agenta-backend/agenta_backend/services/evaluators_service.py b/agenta-backend/agenta_backend/services/evaluators_service.py index 7910856f43..b6459e8e65 100644 --- a/agenta-backend/agenta_backend/services/evaluators_service.py +++ b/agenta-backend/agenta_backend/services/evaluators_service.py @@ -441,7 +441,7 @@ def levenshtein_distance(s1, s2): return previous_row[-1] -def auto_levenshtein_distance( +def auto_levenshtein_distance_threshold( inputs: Dict[str, Any], output: str, correct_answer: str, @@ -468,6 +468,32 @@ def auto_levenshtein_distance( ) +def auto_levenshtein_distance( + inputs: Dict[str, Any], + output: str, + correct_answer: str, + app_params: Dict[str, Any], + settings_values: Dict[str, Any], + lm_providers_keys: Dict[str, Any], +) -> Result: + try: + distance = levenshtein_distance(output, correct_answer) + if "threshold" in settings_values: + + threshold = settings_values["threshold"] + is_within_threshold = distance <= threshold + return Result(type="bool", value=is_within_threshold) + except Exception as e: + return Result( + type="error", + value=None, + error=Error( + message="Error during Levenshtein threshold evaluation", + stacktrace=str(e), + ), + ) + + def evaluate( evaluator_key: str, inputs: Dict[str, Any], diff --git a/agenta-backend/agenta_backend/tasks/evaluations.py b/agenta-backend/agenta_backend/tasks/evaluations.py index 50ce322437..dbaf164ab4 100644 --- a/agenta-backend/agenta_backend/tasks/evaluations.py +++ b/agenta-backend/agenta_backend/tasks/evaluations.py @@ -356,6 +356,7 @@ async def aggregate_evaluator_results( "auto_contains_all", "auto_contains_json", "auto_levenshtein_distance", + "auto_levenshtein_distance_threshold", ]: result = aggregation_service.aggregate_float(results) diff --git a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx index 5dbe0244c5..1be09c03c2 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx @@ -299,25 +299,6 @@ const NewEvaluatorModal: React.FC = ({ ) }, }, - { - title: "Type", - dataIndex: "type", - key: "type", - render(_, record) { - const template = Object.keys(record?.settings_template || {}) - .filter((key) => !!record?.settings_template[key]?.type) - .map((key) => ({ - key, - ...record?.settings_template[key]!, - })) - - return ( - <> - {template[0].type} - - ) - }, - }, { title: "Description", dataIndex: "description", From 4a764c9451a4289b972164f53d0c562400d0f943 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Tue, 19 Mar 2024 10:41:44 +0500 Subject: [PATCH 206/539] map evaluator's reqd param to form field --- .../pages/evaluations/evaluators/NewEvaluatorModal.tsx | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx index 1be09c03c2..b2613d89f6 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx @@ -111,6 +111,7 @@ type DynamicFormFieldProps = EvaluationSettingsTemplate & { name: string | string[] min?: number max?: number + required?: boolean } const DynamicFormField: React.FC = ({ @@ -121,12 +122,13 @@ const DynamicFormField: React.FC = ({ description, min, max, + required, }) => { const {appTheme} = useAppTheme() const classes = useStyles() const {token} = theme.useToken() - const rules: Rule[] = [{required: true, message: "This field is required"}] + const rules: Rule[] = [{required: required ?? true, message: "This field is required"}] if (type === "regex") rules.push({ validator: (_, value) => From ab272e7c1b75d7eda5f4bdb22e42d72176da8054 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Tue, 19 Mar 2024 10:45:54 +0500 Subject: [PATCH 207/539] fixed EvaluationSettingsTemplate type --- .../pages/evaluations/evaluators/NewEvaluatorModal.tsx | 3 --- agenta-web/src/lib/Types.ts | 3 +++ 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx index b2613d89f6..24b51a428c 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx @@ -109,9 +109,6 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ type DynamicFormFieldProps = EvaluationSettingsTemplate & { name: string | string[] - min?: number - max?: number - required?: boolean } const DynamicFormField: React.FC = ({ diff --git a/agenta-web/src/lib/Types.ts b/agenta-web/src/lib/Types.ts index d0df2873ea..b3d0632242 100644 --- a/agenta-web/src/lib/Types.ts +++ b/agenta-web/src/lib/Types.ts @@ -382,6 +382,9 @@ export interface EvaluationSettingsTemplate { label: string default?: ValueType description: string + min?: number + max?: number + required?: boolean } export interface Evaluator { From 0bb775678a6a8ab914c6c282801cc3e26a316b82 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 19 Mar 2024 07:01:48 +0100 Subject: [PATCH 208/539] make levenstein evaluator supports an optional threshold parameter --- .../services/evaluators_service.py | 32 +++---------------- 1 file changed, 4 insertions(+), 28 deletions(-) diff --git a/agenta-backend/agenta_backend/services/evaluators_service.py b/agenta-backend/agenta_backend/services/evaluators_service.py index b6459e8e65..83c241e0e6 100644 --- a/agenta-backend/agenta_backend/services/evaluators_service.py +++ b/agenta-backend/agenta_backend/services/evaluators_service.py @@ -441,33 +441,6 @@ def levenshtein_distance(s1, s2): return previous_row[-1] -def auto_levenshtein_distance_threshold( - inputs: Dict[str, Any], - output: str, - correct_answer: str, - app_params: Dict[str, Any], - settings_values: Dict[str, Any], - lm_providers_keys: Dict[str, Any], -) -> Result: - try: - threshold = settings_values.get("threshold", 10) - distance = levenshtein_distance(output, correct_answer) - print("threshold", threshold) - print("distance", distance) - - result = Result(type="bool", value=distance <= threshold) - return result - except Exception as e: - return Result( - type="error", - value=None, - error=Error( - message="Error during Levenshtein threshold evaluation", - stacktrace=str(e), - ), - ) - - def auto_levenshtein_distance( inputs: Dict[str, Any], output: str, @@ -478,11 +451,14 @@ def auto_levenshtein_distance( ) -> Result: try: distance = levenshtein_distance(output, correct_answer) + if "threshold" in settings_values: - threshold = settings_values["threshold"] is_within_threshold = distance <= threshold return Result(type="bool", value=is_within_threshold) + + return Result(type="number", value=distance) + except Exception as e: return Result( type="error", From 939f6bb4e6b267d6556a4983e84ae8907e470efc Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 19 Mar 2024 07:02:12 +0100 Subject: [PATCH 209/539] remove evaluator --- agenta-backend/agenta_backend/tasks/evaluations.py | 1 - 1 file changed, 1 deletion(-) diff --git a/agenta-backend/agenta_backend/tasks/evaluations.py b/agenta-backend/agenta_backend/tasks/evaluations.py index dbaf164ab4..50ce322437 100644 --- a/agenta-backend/agenta_backend/tasks/evaluations.py +++ b/agenta-backend/agenta_backend/tasks/evaluations.py @@ -356,7 +356,6 @@ async def aggregate_evaluator_results( "auto_contains_all", "auto_contains_json", "auto_levenshtein_distance", - "auto_levenshtein_distance_threshold", ]: result = aggregation_service.aggregate_float(results) From 73169f5144fb3abde41cf5750ef28e635e419997 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 19 Mar 2024 07:02:40 +0100 Subject: [PATCH 210/539] adjust levenstein evaluator --- .../agenta_backend/resources/evaluators/evaluators.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py index 2315e6aad2..7c83026fff 100644 --- a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py +++ b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py @@ -242,8 +242,8 @@ "description": "Contains All evaluator checks if the output contains all of the specified substrings from a comma-separated list, considering case sensitivity based on the settings.", }, { - "name": "Levenshtein threshold", - "key": "auto_levenshtein_distance_threshold", + "name": "Levenshtein Distance", + "key": "auto_levenshtein_distance", "direct_use": False, "settings_template": { "label": "Levenshtein Distance Settings", @@ -251,7 +251,6 @@ "threshold": { "label": "Threshold", "type": "number", - "default": 10, "required": False }, }, From ef661ff8c43dd4214643f64517ef40d66ee6dd12 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 19 Mar 2024 07:03:32 +0100 Subject: [PATCH 211/539] adjust evaluator description --- .../agenta_backend/resources/evaluators/evaluators.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py index 7c83026fff..ff3ccce657 100644 --- a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py +++ b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py @@ -247,15 +247,15 @@ "direct_use": False, "settings_template": { "label": "Levenshtein Distance Settings", - "description": "Evaluates if the Levenshtein distance is below a certain threshold.", + "description": "Evaluates the Levenshtein distance between the output and the correct answer. If a threshold is specified, it checks if the distance is below this threshold and returns a boolean value. If no threshold is specified, it returns the numerical Levenshtein distance.", "threshold": { "label": "Threshold", "type": "number", "required": False }, }, - "description": "Levenshtein Distance evaluator checks if the Levenshtein distance between the output and the correct answer is below a specified threshold.", - }, + "description": "This evaluator calculates the Levenshtein distance between the output and the correct answer. If a threshold is provided in the settings, it returns a boolean indicating whether the distance is within the threshold. If no threshold is provided, it returns the actual Levenshtein distance as a numerical value." + } ] From 2ae9a77046ddbb9783972478d7e50f2710c4d544 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 19 Mar 2024 07:04:16 +0100 Subject: [PATCH 212/539] format --- .../resources/evaluators/evaluators.py | 36 ++++++++----------- .../services/evaluators_service.py | 4 +-- 2 files changed, 16 insertions(+), 24 deletions(-) diff --git a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py index ff3ccce657..3faab67016 100644 --- a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py +++ b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py @@ -30,7 +30,7 @@ "description": "The threshold value for similarity comparison", "min": 0, "max": 1, - "required": True + "required": True, } }, "description": "Similarity Match evaluator checks if the generated answer is similar to the expected answer. You need to provide the similarity threshold. It uses the Jaccard similarity to compare the answers.", @@ -46,7 +46,7 @@ "type": "regex", "default": "", "description": "Pattern for regex testing (ex: ^this_word\\d{3}$)", - "required": True + "required": True, }, "regex_should_match": { "label": "Match/Mismatch", @@ -66,7 +66,7 @@ "type": "string", "default": "", "description": "The name of the field in the JSON output that you wish to evaluate", - "required": True + "required": True, } }, "description": "JSON Field Match evaluator compares specific fields within JSON (JavaScript Object Notation) data. This matching can involve finding similarities or correspondences between fields in different JSON objects.", @@ -81,7 +81,7 @@ "type": "text", "default": "We have an LLM App that we want to evaluate its outputs. Based on the prompt and the parameters provided below evaluate the output based on the evaluation strategy below: Evaluation strategy: 0 to 10 0 is very bad and 10 is very good. Prompt: {llm_app_prompt_template} Inputs: country: {country} Correct Answer:{correct_answer} Evaluate this: {variant_output} Answer ONLY with one of the given grading or evaluation options.", "description": "Template for AI critique prompts", - "required": True + "required": True, } }, "description": "AI Critique evaluator sends the generated answer and the correct_answer to an LLM model and uses it to evaluate the correctness of the answer. You need to provide the evaluation prompt (or use the default prompt).", @@ -96,7 +96,7 @@ "type": "code", "default": "from typing import Dict\n\ndef evaluate(\n app_params: Dict[str, str],\n inputs: Dict[str, str],\n output: str,\n correct_answer: str\n) -> float:\n # ...\n return 0.75 # Replace with your calculated score", "description": "Code for evaluating submissions", - "required": True + "required": True, } }, "description": "Code Evaluation allows you to write your own evaluator in Python. You need to provide the Python code for the evaluator.", @@ -110,7 +110,7 @@ "label": "Webhook URL", "type": "string", "description": "https://your-webhook-url.com", - "required": True + "required": True, }, }, "description": "Webhook test evaluator sends the generated answer and the correct_answer to a webhook and expects a response indicating the correctness of the answer. You need to provide the URL of the webhook and the response of the webhook must be between 0 and 1.", @@ -140,11 +140,7 @@ "settings_template": { "label": "Single Model Testing Settings", "description": "Checks if the output starts with the specified prefix.", - "prefix": { - "label": "prefix", - "type": "string", - "required": True - }, + "prefix": {"label": "prefix", "type": "string", "required": True}, "case_sensitive": { "label": "Case Sensitive", "type": "boolean", @@ -170,7 +166,7 @@ "label": "suffix", "type": "string", "description": "The string to match at the end of the output.", - "required": True + "required": True, }, }, "description": "Ends With evaluator checks if the output ends with a specified suffix, considering case sensitivity based on the settings.", @@ -192,7 +188,7 @@ "label": "substring", "type": "string", "description": "The string to check if it is contained in the output.", - "required": True + "required": True, }, }, "description": "Contains evaluator checks if the output contains a specified substring, considering case sensitivity based on the settings.", @@ -214,7 +210,7 @@ "label": "substrings", "type": "string", "description": "Provide a comma-separated list of strings to check if any is contained in the output.", - "required": True + "required": True, }, }, "description": "Contains Any evaluator checks if the output contains any of the specified substrings from a comma-separated list, considering case sensitivity based on the settings.", @@ -236,7 +232,7 @@ "label": "substrings", "type": "string", "description": "Provide a comma-separated list of strings to check if all are contained in the output.", - "required": True + "required": True, }, }, "description": "Contains All evaluator checks if the output contains all of the specified substrings from a comma-separated list, considering case sensitivity based on the settings.", @@ -248,14 +244,10 @@ "settings_template": { "label": "Levenshtein Distance Settings", "description": "Evaluates the Levenshtein distance between the output and the correct answer. If a threshold is specified, it checks if the distance is below this threshold and returns a boolean value. If no threshold is specified, it returns the numerical Levenshtein distance.", - "threshold": { - "label": "Threshold", - "type": "number", - "required": False - }, + "threshold": {"label": "Threshold", "type": "number", "required": False}, }, - "description": "This evaluator calculates the Levenshtein distance between the output and the correct answer. If a threshold is provided in the settings, it returns a boolean indicating whether the distance is within the threshold. If no threshold is provided, it returns the actual Levenshtein distance as a numerical value." - } + "description": "This evaluator calculates the Levenshtein distance between the output and the correct answer. If a threshold is provided in the settings, it returns a boolean indicating whether the distance is within the threshold. If no threshold is provided, it returns the actual Levenshtein distance as a numerical value.", + }, ] diff --git a/agenta-backend/agenta_backend/services/evaluators_service.py b/agenta-backend/agenta_backend/services/evaluators_service.py index 83c241e0e6..6a8219e056 100644 --- a/agenta-backend/agenta_backend/services/evaluators_service.py +++ b/agenta-backend/agenta_backend/services/evaluators_service.py @@ -451,12 +451,12 @@ def auto_levenshtein_distance( ) -> Result: try: distance = levenshtein_distance(output, correct_answer) - + if "threshold" in settings_values: threshold = settings_values["threshold"] is_within_threshold = distance <= threshold return Result(type="bool", value=is_within_threshold) - + return Result(type="number", value=distance) except Exception as e: From f7d9b1491dd26db4ed4ba0751eee8dc55f70daee Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 19 Mar 2024 07:09:20 +0100 Subject: [PATCH 213/539] add test when no threshold is passed --- .../agenta_backend/tests/unit/test_evaluators.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/tests/unit/test_evaluators.py b/agenta-backend/agenta_backend/tests/unit/test_evaluators.py index 88fb3934da..821a6f4fd8 100644 --- a/agenta-backend/agenta_backend/tests/unit/test_evaluators.py +++ b/agenta-backend/agenta_backend/tests/unit/test_evaluators.py @@ -139,10 +139,13 @@ def test_auto_contains_json(output, expected): ("hello world", "hola mundo", 5, False), ("hello world", "hello world!", 2, True), ("hello world", "hello wor", 10, True), + ("hello world", "hello worl", None, 1), + ("hello world", "helo world", None, 1), ], ) def test_auto_levenshtein_distance(output, correct_answer, threshold, expected): + settings_values = {"threshold": threshold} if threshold is not None else {} result = auto_levenshtein_distance( - {}, output, correct_answer, {}, {"threshold": threshold}, {} + {}, output, correct_answer, {}, settings_values, {} ) - assert result.value == expected + assert result.value == expected \ No newline at end of file From 9449f57b32b65d5e40bc6f60269b8956d1415eb9 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 19 Mar 2024 07:09:48 +0100 Subject: [PATCH 214/539] format --- agenta-backend/agenta_backend/tests/unit/test_evaluators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/tests/unit/test_evaluators.py b/agenta-backend/agenta_backend/tests/unit/test_evaluators.py index 821a6f4fd8..f76dd9e6fb 100644 --- a/agenta-backend/agenta_backend/tests/unit/test_evaluators.py +++ b/agenta-backend/agenta_backend/tests/unit/test_evaluators.py @@ -148,4 +148,4 @@ def test_auto_levenshtein_distance(output, correct_answer, threshold, expected): result = auto_levenshtein_distance( {}, output, correct_answer, {}, settings_values, {} ) - assert result.value == expected \ No newline at end of file + assert result.value == expected From e63247af054f5f0eafc6de561e493ef2f5ff1d76 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 19 Mar 2024 08:49:16 +0100 Subject: [PATCH 215/539] Refactor - update pydantic models to create and update trace/span --- .../models/api/observability_models.py | 20 +++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index e44ff0810b..b473f721aa 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -51,6 +51,12 @@ class Span(BaseModel): user_id: str +class LLMTokens(BaseModel): + prompt_tokens: int + completion_tokens: int + total_tokens: int + + class BaseSpan(BaseModel): parent_span_id: Optional[str] meta: Optional[Dict[str, Any]] @@ -59,20 +65,17 @@ class BaseSpan(BaseModel): start_time: datetime = Field(default=datetime.now()) duration: Optional[int] status: SpanStatus - inputs: Optional[Dict[str, Any]] - outputs: Optional[List[str]] - prompt_system: Optional[str] - prompt_user: Optional[str] - tokens_input: Optional[int] - tokens_output: Optional[int] - token_total: Optional[int] + input: Optional[Dict[str, Any]] + output: Optional[str] cost: Optional[float] - tags: Optional[List[str]] class CreateSpan(BaseSpan): trace_id: str + span_id: str environment: Optional[str] + end_time: datetime + tokens: Optional[LLMTokens] class LLMInputs(BaseModel): @@ -165,3 +168,4 @@ class CreateTrace(BaseTrace): class UpdateTrace(BaseModel): status: str end_time: datetime + outputs: List[str] From 925590dac281795f44708cbd4fa70f2f9b449177 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 19 Mar 2024 08:56:07 +0100 Subject: [PATCH 216/539] Refactor - allow tracing object state to be shared across the llm app --- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 06d933c590..121ab8d4f2 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -30,6 +30,7 @@ def __init__( self.end_time = Optional[datetime] self.input = input self.output = Optional[Dict[str, Any]] + self.cost = Optional[float] self.tokens = Optional[Dict[str, int]] self.attributes: Dict[str, Any] = kwargs @@ -39,13 +40,14 @@ def set_attribute(self, key: str, value: Any): def end(self, output: Dict[str, Any]): self.end_time = datetime.now() self.output = output["message"] + self.cost = output.get("cost", None) self.tokens = output.get("usage", {}) def __dict__(self): return { "trace_id": self.trace_id, "span_id": self.span_id, - "name": self.name, + "event_name": self.name, "event_type": self.event_type, "parent_span_id": self.parent_span_id, "start_time": self.start_time.isoformat() if self.start_time else None, @@ -68,6 +70,13 @@ class Tracing(object): max_workers (int): The maximum number of workers to run tracing """ + _instance = None + + def __new__(cls, *args, **kwargs): + if not cls._instance: + cls._instance = super().__new__(cls) + return cls._instance + def __init__( self, base_url: str, @@ -200,7 +209,7 @@ def end_trace(self, outputs: List[str], **kwargs: Dict[str, Any]): try: self.tasks_manager.add_task( self.client.update_trace( - id=self.active_trace, + trace_id=self.active_trace, status="COMPLETED", end_time=datetime.now(), outputs=outputs, From eb495ffe2006ad233a51fd0f7ac1b52688cb204c Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Thu, 7 Mar 2024 09:11:13 +0500 Subject: [PATCH 217/539] fixed sidebar links for evaluation and annotations --- agenta-web/src/components/Sidebar/config.tsx | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/agenta-web/src/components/Sidebar/config.tsx b/agenta-web/src/components/Sidebar/config.tsx index 6f4adcdb00..c5f20e420b 100644 --- a/agenta-web/src/components/Sidebar/config.tsx +++ b/agenta-web/src/components/Sidebar/config.tsx @@ -82,7 +82,7 @@ export const useSidebarConfig = () => { key: "app-evaluations-link", title: "Evaluations", tooltip: "Evaluate and Compare variants programmatically.", - link: `/apps/${appId}/evaluations`, + link: `/apps/${appId}/evaluations/results`, icon: , isHidden: !appId, }, @@ -90,9 +90,17 @@ export const useSidebarConfig = () => { key: "app-annotations-link", title: "Annotations", tooltip: "Use human feedback to score and compare variants.", - link: `/apps/${appId}/annotations`, icon: , isHidden: !appId, + submenu: [ + { + key: "app-annotations-single-model-link", + title: "Single Model Evaluation", + tooltip: "Single Model Evaluation", + link: `/apps/${appId}/annotations/single_model_test`, + icon: , + }, + ], }, { key: "app-observability-link", From 98d0024f4f7cd6ee9618a70460bd847d7e8af18e Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Tue, 12 Mar 2024 00:07:21 +0500 Subject: [PATCH 218/539] UI enhancements | sidebar | fillers --- agenta-web/package-lock.json | 9 ++ agenta-web/package.json | 1 + .../src/components/EmptyComponent/index.tsx | 76 ++++++++++ agenta-web/src/components/Layout/Layout.tsx | 2 +- .../src/components/ServerTable/index.tsx | 4 +- agenta-web/src/components/Sidebar/Sidebar.tsx | 133 ++++++++++++------ agenta-web/src/components/Sidebar/config.tsx | 91 +++++++++--- 7 files changed, 254 insertions(+), 62 deletions(-) create mode 100644 agenta-web/src/components/EmptyComponent/index.tsx diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index 97debd5502..f98f3c7b6d 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -48,6 +48,7 @@ "jotai": "^2.5.0", "js-beautify": "^1.14.8", "lodash": "^4.17.21", + "lucide-react": "^0.356.0", "next": "13.3.4", "nextjs-cors": "^2.1.2", "papaparse": "^5.4.1", @@ -6562,6 +6563,14 @@ "node": ">=10" } }, + "node_modules/lucide-react": { + "version": "0.356.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.356.0.tgz", + "integrity": "sha512-MDInjLrmZToccH2UxEshntujBlFwtOofGB22FN/eg39FfGVYV1TT1eMIv2j4rdaTJBpYjUuX7fEo9pwYkNFgwA==", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/magic-string": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", diff --git a/agenta-web/package.json b/agenta-web/package.json index 6d332d6b95..d15275659a 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -59,6 +59,7 @@ "jotai": "^2.5.0", "js-beautify": "^1.14.8", "lodash": "^4.17.21", + "lucide-react": "^0.356.0", "next": "13.3.4", "nextjs-cors": "^2.1.2", "papaparse": "^5.4.1", diff --git a/agenta-web/src/components/EmptyComponent/index.tsx b/agenta-web/src/components/EmptyComponent/index.tsx new file mode 100644 index 0000000000..ce938b1ee7 --- /dev/null +++ b/agenta-web/src/components/EmptyComponent/index.tsx @@ -0,0 +1,76 @@ +import {JSSTheme} from "@/lib/Types" +import {Button, Empty, Space, Tooltip, Typography} from "antd" +import React, {ReactNode} from "react" +import {createUseStyles} from "react-jss" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + empty: { + "& .ant-empty-description": { + fontSize: 16, + marginBottom: "1.5rem", + color: theme.colorTextSecondary, + }, + "& .ant-empty-image": { + "& img": { + filter: theme.isDark ? "invert(1)" : "none", + }, + height: "auto", + marginBottom: "1.5rem", + color: theme.colorTextSecondary, + }, + }, +})) + +type Cta = { + text: string + onClick?: () => void + icon?: ReactNode + tooltip?: string +} + +interface Props { + image?: ReactNode + description?: ReactNode + primaryCta?: Cta + secondaryCta?: Cta +} + +const EmptyComponent: React.FC = ({image, description, primaryCta, secondaryCta}) => { + const classes = useStyles() + + return ( + + + {primaryCta && ( + + + + )} + {secondaryCta && ( + <> + Or + + + + + )} + + + ) +} + +export default EmptyComponent diff --git a/agenta-web/src/components/Layout/Layout.tsx b/agenta-web/src/components/Layout/Layout.tsx index 47a6fecdb8..5c8d9a87c8 100644 --- a/agenta-web/src/components/Layout/Layout.tsx +++ b/agenta-web/src/components/Layout/Layout.tsx @@ -1,5 +1,5 @@ import React, {useEffect, useMemo, useState} from "react" -import {Breadcrumb, Button, ConfigProvider, Dropdown, Layout, Space, Tooltip, theme} from "antd" +import {Breadcrumb, Button, Dropdown, Layout, Space, Tooltip, theme} from "antd" import Sidebar from "../Sidebar/Sidebar" import {GithubFilled, LinkedinFilled, TwitterOutlined} from "@ant-design/icons" import Link from "next/link" diff --git a/agenta-web/src/components/ServerTable/index.tsx b/agenta-web/src/components/ServerTable/index.tsx index 0a75981313..f2b40e90fb 100644 --- a/agenta-web/src/components/ServerTable/index.tsx +++ b/agenta-web/src/components/ServerTable/index.tsx @@ -118,7 +118,7 @@ const ServerTable = ( return columns.map((col) => ({ ...col, hidden: hiddenCols.includes(col.key?.toString()!), - width: col.width || 150, + width: col.width || 200, onHeaderCell: (column: TableColumnType) => ({ width: column.width, onResize: handleResize(column.key?.toString()!), @@ -165,7 +165,7 @@ const ServerTable = ( loading={loading} pagination={ !!props.pagination && { - pageSize: tableParams?.pagination?.pageSize || 10, + pageSize: tableParams?.pagination?.pageSize || 20, current: tableParams?.pagination?.page || 1, total: total.current, } diff --git a/agenta-web/src/components/Sidebar/Sidebar.tsx b/agenta-web/src/components/Sidebar/Sidebar.tsx index 616739292b..aac6361fc5 100644 --- a/agenta-web/src/components/Sidebar/Sidebar.tsx +++ b/agenta-web/src/components/Sidebar/Sidebar.tsx @@ -1,4 +1,4 @@ -import React, {useMemo} from "react" +import React, {useEffect, useMemo, useState} from "react" import {useRouter} from "next/router" import {Layout, Menu, Tooltip} from "antd" import Logo from "../Logo/Logo" @@ -45,10 +45,22 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ flexDirection: "column", flex: 1, }, + "& .ant-menu-submenu-title": { + paddingInlineEnd: "20px", + "& .ant-menu-submenu-arrow": { + insetInlineEnd: "8px", + }, + }, + "& .ant-menu-item,.ant-menu-submenu-title": { + paddingLeft: "12px !important", + }, + "& .ant-menu-sub > .ant-menu-item": { + paddingLeft: "24px !important", + }, }, menuContainer: { borderRight: "0 !important", - maxHeight: 312, + maxHeight: "calc(100vh - 390px)", overflowY: "auto", position: "relative", }, @@ -56,17 +68,20 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ borderRight: "0 !important", }, menuLinks: { + display: "inline-block", width: "100%", }, })) const SidebarMenu: React.FC<{ items: SidebarConfig[] - selectedKeys: string[] + collapsed: boolean menuProps?: React.ComponentProps -}> = ({items, selectedKeys, menuProps}) => { +}> = ({items, menuProps, collapsed}) => { + const classes = useStyles() + return ( - + {items.map((item) => { if (item.submenu) { return ( @@ -76,39 +91,56 @@ const SidebarMenu: React.FC<{ title={item.title} onTitleClick={item.onClick} > - {item.submenu.map((subitem) => ( - - - - {subitem.title} - - - - ))} + {item.submenu.map((subitem) => { + const node = ( + + {subitem.title} + + ) + + return ( + + {collapsed ? ( + node + ) : ( + + {node} + + )} + + ) + })} ) } else { + const node = ( + + {item.title} + + ) return ( - - - {item.title} - - + {collapsed ? ( + node + ) : ( + + {node} + + )} ) } @@ -121,6 +153,7 @@ const Sidebar: React.FC = () => { const {appTheme} = useAppTheme() const router = useRouter() const classes = useStyles() + const [openKey, setOpenKey] = useState() const [collapsed, setCollapsed] = useLocalStorage("sidebarCollapsed", false) @@ -144,34 +177,40 @@ const Sidebar: React.FC = () => { } }, [menu]) - const selectedKeys = useMemo(() => { + const [selectedKeys, openKeys] = useMemo(() => { let matched: SidebarConfig + let openKey = "" - const executor = (items: SidebarConfig[]) => { + const executor = (items: SidebarConfig[], subKey?: string) => { items.forEach((item) => { if (item.submenu?.length) { - executor(item.submenu) + executor(item.submenu, item.key) } else if ( item.link && router.asPath.startsWith(item.link) && item.link.length > (matched?.link?.length || 0) ) { matched = item + if (subKey) openKey = subKey } }) } executor([...topItems, ...bottomItems]) //@ts-ignore - return [matched?.key] + return [[matched?.key], openKey ? [openKey] : []] }, [router.asPath, topItems, bottomItems]) + useEffect(() => { + setOpenKey(openKeys[0]) + }, [openKeys[0]]) + return (
setCollapsed(value)} @@ -185,14 +224,24 @@ const Sidebar: React.FC = () => { }>
setOpenKey(openKeys.at(-1)), + }} items={topItems} - selectedKeys={selectedKeys} + collapsed={collapsed} /> setOpenKey(openKeys.at(-1)), + }} items={bottomItems} - selectedKeys={selectedKeys} + collapsed={collapsed} />
diff --git a/agenta-web/src/components/Sidebar/config.tsx b/agenta-web/src/components/Sidebar/config.tsx index c5f20e420b..8a15a31c30 100644 --- a/agenta-web/src/components/Sidebar/config.tsx +++ b/agenta-web/src/components/Sidebar/config.tsx @@ -1,12 +1,13 @@ import {useProfileData} from "@/contexts/profile.context" import {useAppId} from "@/hooks/useAppId" import {useSession} from "@/hooks/useSession" -import {GenericObject} from "@/lib/Types" +import {GenericObject, JSSTheme} from "@/lib/Types" import {getColorFromStr} from "@/lib/helpers/colors" import {dynamicContext} from "@/lib/helpers/dynamic" import {getInitials, isDemo} from "@/lib/helpers/utils" import { ApartmentOutlined, + ApiOutlined, AppstoreOutlined, BarChartOutlined, CloudUploadOutlined, @@ -17,14 +18,28 @@ import { LogoutOutlined, PartitionOutlined, PhoneOutlined, + PlayCircleOutlined, ReadOutlined, RocketOutlined, SettingOutlined, + SlidersOutlined, SwapOutlined, } from "@ant-design/icons" import {Avatar} from "antd" import {useEffect, useState} from "react" import AlertPopup from "../AlertPopup/AlertPopup" +import Image from "next/image" +import abTesting from "@/media/testing.png" +import singleModel from "@/media/score.png" +import {createUseStyles} from "react-jss" + +const useStyles = createUseStyles((theme: JSSTheme) => ({ + evaluationImg: { + width: 20, + height: 20, + filter: theme.isDark ? "invert(1)" : "none", + }, +})) export type SidebarConfig = { key: string @@ -39,6 +54,7 @@ export type SidebarConfig = { } export const useSidebarConfig = () => { + const classes = useStyles() const appId = useAppId() const {user} = useProfileData() const {doesSessionExist, logout} = useSession() @@ -79,33 +95,67 @@ export const useSidebarConfig = () => { isHidden: !appId, }, { - key: "app-evaluations-link", - title: "Evaluations", - tooltip: "Evaluate and Compare variants programmatically.", - link: `/apps/${appId}/evaluations/results`, + key: "app-auto-evaluations-link", + title: "Automatic Evaluation", icon: , isHidden: !appId, + submenu: [ + { + key: "app-evaluators-link", + title: "Evaluators", + tooltip: + "Select and customize evaluators such as custom code or regex evaluators.", + link: `/apps/${appId}/evaluations/new-evaluator`, + icon: , + }, + { + key: "app-evaluations-results-link", + title: "Results", + tooltip: "Choose your variants and evaluators to start the evaluation process.", + link: `/apps/${appId}/evaluations/results`, + icon: , + }, + ], }, { - key: "app-annotations-link", - title: "Annotations", - tooltip: "Use human feedback to score and compare variants.", + key: "app-human-evaluations-link", + title: "Human Evaluation", icon: , isHidden: !appId, submenu: [ { - key: "app-annotations-single-model-link", - title: "Single Model Evaluation", - tooltip: "Single Model Evaluation", + key: "app-human-ab-testing-link", + title: "A/B Evaluation", + tooltip: + "A/B tests allow you to compare the performance of two different variants manually.", + link: `/apps/${appId}/annotations/human_a_b_testing`, + icon: ( + A/B Evaluation + ), + }, + { + key: "app-single-model-test-link", + title: "Single Model Eval.", + tooltip: + "Single model test allows you to score the performance of a single LLM app manually.", link: `/apps/${appId}/annotations/single_model_test`, - icon: , + icon: ( + Single Model Evaluation + ), }, ], }, { key: "app-observability-link", title: "Observability", - tooltip: "Observability and monitoring of your app", icon: , isHidden: !appId, submenu: [ @@ -133,12 +183,19 @@ export const useSidebarConfig = () => { ], }, { - key: "app-endpoints-link", - title: "Endpoints", - tooltip: "Deploy your applications to different environments.", - link: `/apps/${appId}/endpoints`, + key: "app-deployment-link", + title: "Deployment", icon: , isHidden: !appId, + submenu: [ + { + key: "app-endpoints-link", + title: "Endpoints", + tooltip: "Deploy your applications to different environments.", + link: `/apps/${appId}/endpoints`, + icon: , + }, + ], }, { key: "settings-link", From 6f5118d73bd23aa8c68e982ff3b5ba31e9d2f4f3 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Thu, 14 Mar 2024 13:29:52 +0500 Subject: [PATCH 219/539] sidebar tag feature --- agenta-web/src/components/Sidebar/Sidebar.tsx | 10 +++++++--- agenta-web/src/components/Sidebar/config.tsx | 2 ++ 2 files changed, 9 insertions(+), 3 deletions(-) diff --git a/agenta-web/src/components/Sidebar/Sidebar.tsx b/agenta-web/src/components/Sidebar/Sidebar.tsx index aac6361fc5..20ad0080b7 100644 --- a/agenta-web/src/components/Sidebar/Sidebar.tsx +++ b/agenta-web/src/components/Sidebar/Sidebar.tsx @@ -1,6 +1,6 @@ import React, {useEffect, useMemo, useState} from "react" import {useRouter} from "next/router" -import {Layout, Menu, Tooltip} from "antd" +import {Layout, Menu, Tag, Tooltip} from "antd" import Logo from "../Logo/Logo" import Link from "next/link" import {useAppTheme} from "../Layout/ThemeContextProvider" @@ -88,7 +88,11 @@ const SidebarMenu: React.FC<{ + {item.title} {item.tag && {item.tag}} + + } onTitleClick={item.onClick} > {item.submenu.map((subitem) => { @@ -129,7 +133,7 @@ const SidebarMenu: React.FC<{ href={item.link || "#"} target={item.link?.startsWith("http") ? "_blank" : undefined} > - {item.title} + {item.title} {item.tag && {item.tag}} ) return ( diff --git a/agenta-web/src/components/Sidebar/config.tsx b/agenta-web/src/components/Sidebar/config.tsx index 8a15a31c30..f63f9fd3a0 100644 --- a/agenta-web/src/components/Sidebar/config.tsx +++ b/agenta-web/src/components/Sidebar/config.tsx @@ -51,6 +51,7 @@ export type SidebarConfig = { isBottom?: boolean submenu?: Omit[] onClick?: () => void + tag?: string } export const useSidebarConfig = () => { @@ -158,6 +159,7 @@ export const useSidebarConfig = () => { title: "Observability", icon: , isHidden: !appId, + tag: "beta", submenu: [ { key: "app-observability-dashboard-link", From 52b1e34fccdd44fe924bbdb8f69b01b8c6f22a9a Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 12 Mar 2024 08:56:31 +0100 Subject: [PATCH 220/539] Update - improve cache key for observability data --- .../agenta_backend/services/redis_cache_service.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index 3e53056d51..16896d8e6b 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -13,12 +13,13 @@ async def cache_observability_data( # Prepare required args app_id = kwargs["app_id"] parameters = kwargs["parameters"] + cache_key = kwargs["cache_key"] # Initialize redis connection redis = redis_utils.redis_connection() # Retrieve cache key and return data if it exists - cached_data = redis.get(f"obs_dashboard_data_{app_id}_{parameters.environment}") + cached_data = redis.get(cache_key) if cached_data is not None: loaded_data = json.loads(cached_data) return filters.filter_and_aggregate_cache_observability_data( @@ -27,7 +28,5 @@ async def cache_observability_data( # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) - redis.setex( - f"obs_dashboard_data_{app_id}_{parameters.environment}", 1800, data.json() - ) + redis.setex(cache_key, 1800, data.json()) return data From 81fe0461a4e73f7ddccc4f6d2bedad181780ff1d Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 12 Mar 2024 08:58:05 +0100 Subject: [PATCH 221/539] Refactor - update retrieve_observability_dashboard db function --- .../routers/observability_router.py | 6 ++++- .../services/event_db_manager.py | 24 +++++++++---------- 2 files changed, 17 insertions(+), 13 deletions(-) diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index 1c04b4b1fd..d8f5d0cdcd 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -38,7 +38,11 @@ async def get_dashboard_data( try: dashboard_data = await redis_cache_service.cache_observability_data( event_db_manager.retrieve_observability_dashboard, - **{"app_id": app_id, "parameters": parameters} + **{ + "app_id": app_id, + "parameters": parameters, + "cache_key": str(request.url), + } ) return dashboard_data except Exception as e: diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 82ec20097c..38ac42d968 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -295,8 +295,8 @@ async def retrieve_observability_dashboard( ObservabilityData( **{ "timestamp": span_db.created_at, - "success_count": 0, - "failure_count": 0, + "success_count": 1 if span_db.status.value == "SUCCESS" else 0, + "failure_count": 1 if span_db.status.value == "FAILURE" else 0, "cost": span_db.cost, "latency": latency.total_seconds(), "total_tokens": span_db.token_total, @@ -308,11 +308,11 @@ async def retrieve_observability_dashboard( ) ) - len_of_spans_db = len(list_of_observability_data) filtered_data = filters.filter_observability_dashboard_data_by_params( params, list_of_observability_data ) - if filtered_data == []: + len_of_filtered_data = len(filtered_data) + if len(filtered_data) == 0: return ObservabilityDashboardData( **{ "data": [], @@ -329,18 +329,18 @@ async def retrieve_observability_dashboard( return ObservabilityDashboardData( **{ "data": filtered_data, - "total_count": len_of_spans_db, - "failure_rate": 0, - "total_cost": round(sum([span_db.cost for span_db in spans_db]), 5), + "total_count": len_of_filtered_data, + "failure_rate": round(sum([data.failure_count for data in filtered_data]), 5), + "total_cost": round(sum([data.cost for data in filtered_data]), 5), "avg_cost": round( - sum([span_db.cost for span_db in spans_db]) / len_of_spans_db, 5 + sum([data.cost for data in filtered_data]) / len_of_filtered_data, 5 ), "avg_latency": round( - sum([span_db.duration for span_db in spans_db]) / len_of_spans_db, 5 + sum([data.latency for data in filtered_data]) / len_of_filtered_data, 5 ), - "total_tokens": sum([span_db.token_total for span_db in spans_db]), - "avg_tokens": sum([span_db.token_total for span_db in spans_db]) - / len_of_spans_db, + "total_tokens": sum([data.total_tokens for data in filtered_data]), + "avg_tokens": sum([data.total_tokens for data in filtered_data]) + / len_of_filtered_data, } ) From 5607c0c932e093809f9ef0e75ba655e337b2e34c Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 12 Mar 2024 09:16:00 +0100 Subject: [PATCH 222/539] Update - refactor pagination logic for traces/spans --- .../agenta_backend/models/converters.py | 4 +-- .../services/event_db_manager.py | 34 ++++++++++++++----- 2 files changed, 27 insertions(+), 11 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index c1774c6bb9..4a6d493da4 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -609,9 +609,9 @@ def evaluator_config_db_to_pydantic(evaluator_config: EvaluatorConfigDB): ) -def get_paginated_data(data: List[Any], query: PaginationParam = Depends()): +def get_paginated_data(data: List[Any], data_count: int, query: PaginationParam = Depends()): return WithPagination( - data=data, total=len(data), page=query.page, pageSize=query.pageSize + data=data, total=data_count, page=query.page, pageSize=query.pageSize ) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 38ac42d968..f5f245d33a 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -188,10 +188,18 @@ async def fetch_generation_spans( pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING ) + # Fetch spans without pagination and sorting applied + base_spans_db = SpanDB.find(SpanDB.trace.app_id == app_id) + + # Count of spans in db + spans_count = await base_spans_db.find(fetch_links=True).count() + # Fetch spans with pagination and sorting applied - spans_db = SpanDB.find( - SpanDB.trace.app_id == app_id, fetch_links=True, skip=skip, limit=limit - ).sort([(SpanDB.created_at, sort_direction)]) + spans_db = base_spans_db.find(fetch_links=True, skip=skip, limit=limit).sort( + [(SpanDB.created_at, sort_direction)] + ) + + # Filter based on trace_id or not if filters_param.trace_id is not None: spans_db = await spans_db.find_many( SpanDB.trace.id == ObjectId(filters_param.trace_id), fetch_links=True @@ -206,7 +214,7 @@ async def fetch_generation_spans( ) if filters_param.trace_id: return list(filtered_generations) - return get_paginated_data(list(filtered_generations), pagination) + return get_paginated_data(list(filtered_generations), spans_count, pagination) async def fetch_generation_span_detail(span_id: str, user_uid: str) -> SpanDetail: @@ -330,7 +338,9 @@ async def retrieve_observability_dashboard( **{ "data": filtered_data, "total_count": len_of_filtered_data, - "failure_rate": round(sum([data.failure_count for data in filtered_data]), 5), + "failure_rate": round( + sum([data.failure_count for data in filtered_data]), 5 + ), "total_cost": round(sum([data.cost for data in filtered_data]), 5), "avg_cost": round( sum([data.cost for data in filtered_data]) / len_of_filtered_data, 5 @@ -369,11 +379,17 @@ async def fetch_traces( pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING ) + # Fetch traces without pagination and sorting applied + base_traces_db = TraceDB.find( + TraceDB.app_id == app_id, + ) + + # Count of traces in db + traces_count = await base_traces_db.count() + # Fetch traces with pagination and sorting applied traces_db = ( - await TraceDB.find( - TraceDB.app_id == app_id, fetch_links=True, skip=skip, limit=limit - ) + await base_traces_db.find(fetch_links=True, skip=skip, limit=limit) .sort([(TraceDB.created_at, sort_direction)]) .to_list() ) @@ -383,7 +399,7 @@ async def fetch_traces( filtered_traces = filter( partial(filters.filter_document_by_filter_params, filters_param), traces ) - return get_paginated_data(list(filtered_traces), pagination) + return get_paginated_data(list(filtered_traces), traces_count, pagination) async def fetch_trace_detail(trace_id: str, user_uid: str) -> TraceDetail: From bc29045147e04ca972cdd741bce07b0b45342efc Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 12 Mar 2024 09:16:20 +0100 Subject: [PATCH 223/539] :art: Format - ran black --- agenta-backend/agenta_backend/models/converters.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index 4a6d493da4..5e520a9c73 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -609,7 +609,9 @@ def evaluator_config_db_to_pydantic(evaluator_config: EvaluatorConfigDB): ) -def get_paginated_data(data: List[Any], data_count: int, query: PaginationParam = Depends()): +def get_paginated_data( + data: List[Any], data_count: int, query: PaginationParam = Depends() +): return WithPagination( data=data, total=data_count, page=query.page, pageSize=query.pageSize ) From 3528ba6ab97a12650c09bfcec09a9b0c1a9ed329 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 14 Mar 2024 07:52:47 +0100 Subject: [PATCH 224/539] Update - refactor observability dashboard data request params --- .../agenta_backend/models/api/observability_models.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index b473f721aa..d59411368d 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -13,8 +13,7 @@ class GenerationFilterParams(BaseModel): class ObservabilityDashboardDataRequestParams(BaseModel): - startTime: Optional[int] - endTime: Optional[int] + timeRange: str = Field(default="24_hours") environment: Optional[str] variant: Optional[str] @@ -108,7 +107,7 @@ class TraceDetail(Trace): class ObservabilityData(BaseModel): - timestamp: datetime + timestamp: str success_count: int failure_count: int cost: float @@ -116,8 +115,6 @@ class ObservabilityData(BaseModel): total_tokens: int prompt_tokens: int completion_tokens: int - environment: Optional[str] - variant: str class ObservabilityDashboardData(BaseModel): From 657adc1e1b97c7bf78b005f25a4996ad2db40ecf Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 14 Mar 2024 07:54:00 +0100 Subject: [PATCH 225/539] Feat - created filters for obs dashboard --- .../agenta_backend/services/filters.py | 190 +++++++++++++++++- 1 file changed, 188 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 436f8dcde9..a60c635b07 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -1,5 +1,7 @@ +from datetime import datetime, timedelta from typing import List, Union, Dict, Any +from agenta_backend.models.db_models import SpanDB from agenta_backend.models.api.observability_models import ( Span, Trace, @@ -10,6 +12,190 @@ ) +def filter_by_time_range(time_range: str) -> datetime: + """ + Filters a datetime object based on a specified time range. + + Args: + time_range (str): The time range to filter by + + Returns: + time_range (datetime): Specific time depends on the value of the time_range + """ + + now = datetime.now() + if time_range == "24_hours": + return now - timedelta(hours=24) + elif time_range == "7_days": + return now - timedelta(days=7) + elif time_range == "30_days": + return now - timedelta(days=30) + elif time_range == "60_days": + return now - timedelta(days=60) + elif time_range == "90_days": + return now - timedelta(days=90) + elif time_range == "180_days": + return now - timedelta(days=180) + else: + raise ValueError("Invalid time parameter.") + + +def calculate_target_hours() -> List[int]: + now = datetime.now() + target_hours = [] + for i in range(24): + hour = (now - timedelta(hours=i)).hour + target_hours.append(hour) + return target_hours + + +def prepares_spans_aggregation_by_timerange(time_range: str): + """Prepares aggregation statement by time_range. + + Args: + time_range (str): The time range to filter by + + Returns: + Dict: mapping based on time range + """ + + time_range_mappings = { + "24_hours": { + "$group": { + "_id": { + "$dateToString": { + "format": "%Y-%m-%dT%H", + "date": "$created_at", + } + }, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } + }, + "30_days": { + "$group": { + "_id": {"$dateToString": {"format": "%Y-%m-%d", "date": "$created_at"}}, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } + }, + "60_days": { + "$group": { + "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } + }, + "90_days": { + "$group": { + "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } + }, + "180_days": { + "$group": { + "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } + }, + } + return time_range_mappings.get(time_range, None) + + +def filter_observability_dashboard_spans_db_by_filters( + app_id: str, + params: ObservabilityDashboardDataRequestParams +): + if params.environment and params.variant: + filtered_spans = SpanDB.find( + SpanDB.trace.app_id == app_id, + SpanDB.environment == params.environment, + SpanDB.trace.base_id == params.variant, + fetch_links=True, + ) + elif params.variant: + filtered_spans = SpanDB.find( + SpanDB.trace.app_id == app_id, + SpanDB.trace.base_id == params.variant, + fetch_links=True, + ) + elif params.environment: + filtered_spans = SpanDB.find( + SpanDB.trace.app_id == app_id, + SpanDB.environment == params.environment, + fetch_links=True, + ) + else: + filtered_spans = SpanDB.find(SpanDB.trace.app_id == app_id, fetch_links=True) + return filtered_spans + def filter_observability_dashboard_data_by_params( params: ObservabilityDashboardDataRequestParams, observability_data: List[Union[ObservabilityData, Dict[str, Any]]], @@ -66,9 +252,9 @@ def filter_document_by_filter_params( """ if filters: - if filters.variant and document.variant.variant_name != filters.variant: + if filters.variant and document["variant"]["variant_name"] != filters.variant: return False - if filters.environment and document.environment != filters.environment: + if filters.environment and document["environment"] != filters.environment: return False return True From 34fa185c83ea72e7f115c131679f15a6495893d0 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 14 Mar 2024 07:54:26 +0100 Subject: [PATCH 226/539] Refactor - rewrote retrieve obs dashboard aggregation logic --- .../services/event_db_manager.py | 93 ++++++++----------- 1 file changed, 40 insertions(+), 53 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index f5f245d33a..f4053cc1d4 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -33,7 +33,6 @@ from agenta_backend.services import db_manager, filters, helpers from agenta_backend.models.db_models import ( TraceDB, - SpanStatus, Feedback as FeedbackDB, SpanDB, ) @@ -287,70 +286,58 @@ async def retrieve_observability_dashboard( app_id: str, params: ObservabilityDashboardDataRequestParams, ) -> ObservabilityDashboardData: - spans_db = await SpanDB.find( - SpanDB.trace.app_id == app_id, fetch_links=True - ).to_list() - if spans_db == []: - return [] + # Construct spans base query + spans_base = SpanDB.find(SpanDB.trace.app_id == app_id, fetch_links=True).find( + SpanDB.environment == params.environment + ) - list_of_observability_data: ObservabilityData = [] - for span_db in spans_db: - app_variant_db = await db_manager.fetch_app_variant_by_base_id_and_config_name( - span_db.trace.base_id, span_db.trace.config_name - ) - latency = span_db.end_time - span_db.start_time - list_of_observability_data.append( - ObservabilityData( - **{ - "timestamp": span_db.created_at, - "success_count": 1 if span_db.status.value == "SUCCESS" else 0, - "failure_count": 1 if span_db.status.value == "FAILURE" else 0, - "cost": span_db.cost, - "latency": latency.total_seconds(), - "total_tokens": span_db.token_total, - "prompt_tokens": span_db.tokens_input, - "completion_tokens": span_db.tokens_output, - "environment": span_db.environment, - "variant": app_variant_db.variant_name, - } - ) - ) + # Apply filtering based on the environment and variant (base_id) + filtered_spans = filters.filter_observability_dashboard_spans_db_by_filters(app_id, params) - filtered_data = filters.filter_observability_dashboard_data_by_params( - params, list_of_observability_data - ) - len_of_filtered_data = len(filtered_data) - if len(filtered_data) == 0: - return ObservabilityDashboardData( - **{ - "data": [], - "total_count": 0, - "failure_rate": 0, - "total_cost": 0, - "avg_cost": 0, - "avg_latency": 0, - "total_tokens": 0, - "avg_tokens": 0, - } + # Apply datetime filter and aggregation pipeline + spans = None + if params.timeRange is not None: + filter_datetime = filters.filter_by_time_range(params.timeRange) + spans_aggregation_mapping = filters.prepares_spans_aggregation_by_timerange( + params.timeRange ) + pipeline = [ + {"$match": {"created_at": {"$gte": filter_datetime}}}, + spans_aggregation_mapping, + ] + spans = await filtered_spans.aggregate( + pipeline, + ).to_list() + + if spans is None or len(spans) == 0: + return [] + + len_of_observability_data = len(spans) + observability_data: ObservabilityData = [] + for span in spans: + observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) return ObservabilityDashboardData( **{ - "data": filtered_data, - "total_count": len_of_filtered_data, + "data": observability_data, + "total_count": len_of_observability_data, "failure_rate": round( - sum([data.failure_count for data in filtered_data]), 5 + sum(data.failure_count for data in observability_data), 5 ), - "total_cost": round(sum([data.cost for data in filtered_data]), 5), + "total_cost": round(sum(data.cost for data in observability_data), 5), "avg_cost": round( - sum([data.cost for data in filtered_data]) / len_of_filtered_data, 5 + sum(data.cost for data in observability_data) + / len_of_observability_data, + 5, ), "avg_latency": round( - sum([data.latency for data in filtered_data]) / len_of_filtered_data, 5 + sum(data.latency for data in observability_data) + / len_of_observability_data, + 5, ), - "total_tokens": sum([data.total_tokens for data in filtered_data]), - "avg_tokens": sum([data.total_tokens for data in filtered_data]) - / len_of_filtered_data, + "total_tokens": sum(data.total_tokens for data in observability_data), + "avg_tokens": sum(data.total_tokens for data in observability_data) + / len_of_observability_data, } ) From c094fcf13fe155739d87094e2de6d0fd8d920273 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 14 Mar 2024 07:57:56 +0100 Subject: [PATCH 227/539] Refactor - set expiry time for obs dashboard agg to 15 minutes --- .../agenta_backend/services/redis_cache_service.py | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index 16896d8e6b..22f9eadf4f 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -1,7 +1,6 @@ import json from typing import Any, Coroutine, Callable -from agenta_backend.services import filters from agenta_backend.utils import redis_utils from agenta_backend.models.api.observability_models import ObservabilityDashboardData @@ -22,11 +21,9 @@ async def cache_observability_data( cached_data = redis.get(cache_key) if cached_data is not None: loaded_data = json.loads(cached_data) - return filters.filter_and_aggregate_cache_observability_data( - parameters, loaded_data["data"] - ) + return loaded_data # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) - redis.setex(cache_key, 1800, data.json()) + redis.setex(cache_key, 900, data.json()) return data From dd955c6ebe8db49f70d2276b2c8f7f72ded8717a Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 14 Mar 2024 07:59:09 +0100 Subject: [PATCH 228/539] :art: Format - ran black --- agenta-backend/agenta_backend/services/event_db_manager.py | 4 +++- agenta-backend/agenta_backend/services/filters.py | 6 +++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index f4053cc1d4..1a3f8ed7e6 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -292,7 +292,9 @@ async def retrieve_observability_dashboard( ) # Apply filtering based on the environment and variant (base_id) - filtered_spans = filters.filter_observability_dashboard_spans_db_by_filters(app_id, params) + filtered_spans = filters.filter_observability_dashboard_spans_db_by_filters( + app_id, params + ) # Apply datetime filter and aggregation pipeline spans = None diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index a60c635b07..5ec92fb5d7 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -170,8 +170,7 @@ def prepares_spans_aggregation_by_timerange(time_range: str): def filter_observability_dashboard_spans_db_by_filters( - app_id: str, - params: ObservabilityDashboardDataRequestParams + app_id: str, params: ObservabilityDashboardDataRequestParams ): if params.environment and params.variant: filtered_spans = SpanDB.find( @@ -193,9 +192,10 @@ def filter_observability_dashboard_spans_db_by_filters( fetch_links=True, ) else: - filtered_spans = SpanDB.find(SpanDB.trace.app_id == app_id, fetch_links=True) + filtered_spans = SpanDB.find(SpanDB.trace.app_id == app_id, fetch_links=True) return filtered_spans + def filter_observability_dashboard_data_by_params( params: ObservabilityDashboardDataRequestParams, observability_data: List[Union[ObservabilityData, Dict[str, Any]]], From 84b0e69df9874c4dd52319d67fda3ffeba21e7bb Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 14 Mar 2024 09:00:33 +0100 Subject: [PATCH 229/539] Refactor - sort obs data by timestamp and fix success/failure count --- .../services/event_db_manager.py | 13 ++++++------ .../agenta_backend/services/filters.py | 20 +++++++++---------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 1a3f8ed7e6..b73dd1a16d 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -286,11 +286,6 @@ async def retrieve_observability_dashboard( app_id: str, params: ObservabilityDashboardDataRequestParams, ) -> ObservabilityDashboardData: - # Construct spans base query - spans_base = SpanDB.find(SpanDB.trace.app_id == app_id, fetch_links=True).find( - SpanDB.environment == params.environment - ) - # Apply filtering based on the environment and variant (base_id) filtered_spans = filters.filter_observability_dashboard_spans_db_by_filters( app_id, params @@ -319,10 +314,14 @@ async def retrieve_observability_dashboard( for span in spans: observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) + sorted_data = sorted(observability_data, key=lambda x: x.timestamp) + total_count = round( + sum(data.failure_count for data in observability_data), 5 + ) + round(sum(data.success_count for data in observability_data), 5) return ObservabilityDashboardData( **{ - "data": observability_data, - "total_count": len_of_observability_data, + "data": sorted_data, + "total_count": total_count, "failure_rate": round( sum(data.failure_count for data in observability_data), 5 ), diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 5ec92fb5d7..90b0d44dfa 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -74,10 +74,10 @@ def prepares_spans_aggregation_by_timerange(time_range: str): } }, "success_count": { - "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} }, "cost": {"$sum": "$cost"}, "total_tokens": {"$sum": "$token_total"}, @@ -94,10 +94,10 @@ def prepares_spans_aggregation_by_timerange(time_range: str): } }, "success_count": { - "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} }, "cost": {"$sum": "$cost"}, "total_tokens": {"$sum": "$token_total"}, @@ -114,10 +114,10 @@ def prepares_spans_aggregation_by_timerange(time_range: str): } }, "success_count": { - "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} }, "cost": {"$sum": "$cost"}, "total_tokens": {"$sum": "$token_total"}, @@ -134,10 +134,10 @@ def prepares_spans_aggregation_by_timerange(time_range: str): } }, "success_count": { - "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} }, "cost": {"$sum": "$cost"}, "total_tokens": {"$sum": "$token_total"}, @@ -154,10 +154,10 @@ def prepares_spans_aggregation_by_timerange(time_range: str): } }, "success_count": { - "$sum": {"$cond": [{"$eq": ["$status", "SUCCESS"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status", "FAILURE"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} }, "cost": {"$sum": "$cost"}, "total_tokens": {"$sum": "$token_total"}, From cc072adf1e7915672fefaad6e2356ac8d2aa91b9 Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Mon, 18 Mar 2024 19:31:17 +0500 Subject: [PATCH 230/539] formatters utils | evaluators link fixed --- .../evaluationResults/EvaluationResults.tsx | 2 +- agenta-web/src/lib/helpers/dateTimeHelper.ts | 4 ++++ agenta-web/src/lib/helpers/formatters.ts | 21 +++++++++++++++++++ 3 files changed, 26 insertions(+), 1 deletion(-) create mode 100644 agenta-web/src/lib/helpers/formatters.ts diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index 589c8d7197..5c42ccec1c 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -290,7 +290,7 @@ const EvaluationResults: React.FC = () => { {!fetching && !evaluations.length ? ( - router.push(`/apps/${appId}/evaluations?tab=evaluators`) + router.push(`/apps/${appId}/evaluations/new-evaluator`) } onBeginEvaluation={() => { setNewEvalModalOpen(true) diff --git a/agenta-web/src/lib/helpers/dateTimeHelper.ts b/agenta-web/src/lib/helpers/dateTimeHelper.ts index b1ac3cfa5b..434badbbf7 100644 --- a/agenta-web/src/lib/helpers/dateTimeHelper.ts +++ b/agenta-web/src/lib/helpers/dateTimeHelper.ts @@ -3,3 +3,7 @@ import dayjs from "dayjs" export const formatDate = (date: dayjs.ConfigType): string => { return dayjs(date).format("DD MMM YYYY | h:m a") } + +export const formatDate24 = (date: dayjs.ConfigType, includeSeconds = false): string => { + return dayjs(date).format("DD MMM YY, HH:mm" + (includeSeconds ? ":ss" : "")) +} diff --git a/agenta-web/src/lib/helpers/formatters.ts b/agenta-web/src/lib/helpers/formatters.ts new file mode 100644 index 0000000000..34caa04736 --- /dev/null +++ b/agenta-web/src/lib/helpers/formatters.ts @@ -0,0 +1,21 @@ +const intlNumber = new Intl.NumberFormat("en-US", { + maximumFractionDigits: 2, +}) + +const intlCurrency = new Intl.NumberFormat("en-US", { + style: "currency", + currency: "USD", + maximumFractionDigits: 4, +}) + +export const formatNumber = (value = 0) => { + return intlNumber.format(value) +} + +export const formatCurrency = (value = 0) => { + return intlCurrency.format(value) +} + +export const formatLatency = (value = 0) => { + return `${intlNumber.format(value / 1000)}s` +} From 0cca82b546c8e606f10b725f1f53116c89be0e86 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 08:35:09 +0100 Subject: [PATCH 231/539] Feat - created helper function to fill observability dashboard missing data --- .../agenta_backend/services/helpers.py | 45 ++++++++++++++++++- 1 file changed, 44 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/services/helpers.py b/agenta-backend/agenta_backend/services/helpers.py index 11a440c19a..9368830eb2 100644 --- a/agenta-backend/agenta_backend/services/helpers.py +++ b/agenta-backend/agenta_backend/services/helpers.py @@ -1,7 +1,9 @@ import json -from typing import List, Dict, Any +from typing import List, Dict, Any, Tuple +from datetime import datetime, timedelta from agenta_backend.models.db_models import SpanDB +from agenta_backend.models.api.observability_models import ObservabilityData def format_inputs(list_of_dictionaries: List[Dict[str, Any]]) -> Dict: @@ -87,3 +89,44 @@ def convert_generation_span_inputs_variables(span_db: SpanDB) -> List[Dict[str, variables.append({"name": variable, "type": variable_type}) return variables + + +def range_of_dates_based_on_timerange( + time_range: str, current_date: datetime +) -> Tuple[datetime, datetime]: + if time_range == "24_hours": + start_date = current_date - timedelta(days=1) + end_date = current_date + elif time_range == "7_days": + start_date = current_date - timedelta(days=7) + end_date = current_date + elif time_range == "30_days": + start_date = current_date - timedelta(days=30) + end_date = current_date + return start_date, end_date + + +def fill_missing_data( + data: List[ObservabilityData], + time_range: str, +) -> List[ObservabilityData]: + current_date, end_date = range_of_dates_based_on_timerange( + time_range, datetime.now() + ) + result_map = {result.timestamp: result for result in data} + while current_date <= end_date: + if current_date not in result_map: + result_map[current_date] = ObservabilityData( + **{ + "timestamp": current_date.strftime("%Y-%m-%d 00:00:00"), + "success_count": 0, + "failure_count": 0, + "cost": 0, + "latency": 0, + "total_tokens": 0, + "prompt_tokens": 0, + "completion_tokens": 0, + } + ) + current_date += timedelta(days=1) + return list(result_map.values()) From 3ef4ccd004918c70e2fde3fa04dd1c30a12e1109 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 08:36:00 +0100 Subject: [PATCH 232/539] Refactor - simplified spans aggregation logic by timerange --- .../agenta_backend/services/filters.py | 135 ++++-------------- 1 file changed, 29 insertions(+), 106 deletions(-) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 90b0d44dfa..2cdc4a40af 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -59,114 +59,37 @@ def prepares_spans_aggregation_by_timerange(time_range: str): Dict: mapping based on time range """ + if time_range == "24_hours": + date_trunc_unit = "hour" + elif time_range in ["7_days", "30_days"]: + date_trunc_unit = "day" + else: # for 60_days, 90_days, and 180_days + date_trunc_unit = "month" + time_range_mappings = { - "24_hours": { - "$group": { - "_id": { - "$dateToString": { - "format": "%Y-%m-%dT%H", - "date": "$created_at", - } - }, - "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } - }, - "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} - }, - "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} - }, - "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$token_total"}, - "prompt_tokens": {"$sum": "$tokens_input"}, - "completion_tokens": {"$sum": "$tokens_output"}, - } - }, - "30_days": { - "$group": { - "_id": {"$dateToString": {"format": "%Y-%m-%d", "date": "$created_at"}}, - "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } - }, - "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} - }, - "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} - }, - "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$token_total"}, - "prompt_tokens": {"$sum": "$tokens_input"}, - "completion_tokens": {"$sum": "$tokens_output"}, - } - }, - "60_days": { - "$group": { - "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, - "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } - }, - "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} - }, - "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} - }, - "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$token_total"}, - "prompt_tokens": {"$sum": "$tokens_input"}, - "completion_tokens": {"$sum": "$tokens_output"}, - } - }, - "90_days": { - "$group": { - "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, - "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } - }, - "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} - }, - "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} - }, - "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$token_total"}, - "prompt_tokens": {"$sum": "$tokens_input"}, - "completion_tokens": {"$sum": "$tokens_output"}, - } - }, - "180_days": { - "$group": { - "_id": {"$dateToString": {"format": "%Y-%m", "date": "$created_at"}}, - "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } - }, - "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} - }, - "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} - }, - "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$token_total"}, - "prompt_tokens": {"$sum": "$tokens_input"}, - "completion_tokens": {"$sum": "$tokens_output"}, - } - }, + "$group": { + "_id": { + "$dateTrunc": {"date": "$created_at", "unit": date_trunc_unit} + }, + "latency": { + "$sum": { + "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] + } + }, + "success_count": { + "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} + }, + "failure_count": { + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} + }, + "cost": {"$sum": "$cost"}, + "total_tokens": {"$sum": "$token_total"}, + "prompt_tokens": {"$sum": "$tokens_input"}, + "completion_tokens": {"$sum": "$tokens_output"}, + } } - return time_range_mappings.get(time_range, None) + + return time_range_mappings def filter_observability_dashboard_spans_db_by_filters( From cb9e7cecfb761fc61c217268b611756eb9247c68 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 08:36:35 +0100 Subject: [PATCH 233/539] Update - set condition to cache data if its len exceeds/equals 1 --- agenta-backend/agenta_backend/services/redis_cache_service.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index 22f9eadf4f..a3873e3ae9 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -25,5 +25,6 @@ async def cache_observability_data( # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) - redis.setex(cache_key, 900, data.json()) + if len(data) >= 1: + redis.setex(cache_key, 900, data.json()) return data From 739e5522bbdaaa459c1bdb4b91014947d2133b74 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 08:37:13 +0100 Subject: [PATCH 234/539] Refactor - sort full observability data --- .../agenta_backend/services/event_db_manager.py | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index b73dd1a16d..1639da10a6 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -312,9 +312,13 @@ async def retrieve_observability_dashboard( len_of_observability_data = len(spans) observability_data: ObservabilityData = [] for span in spans: - observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) + observability_data.append(ObservabilityData(**span, timestamp=str(span["_id"]))) - sorted_data = sorted(observability_data, key=lambda x: x.timestamp) + full_observability_data = helpers.fill_missing_data( + data=observability_data, + time_range=params.timeRange, + ) + sorted_data = sorted(full_observability_data, key=lambda x: x.timestamp) total_count = round( sum(data.failure_count for data in observability_data), 5 ) + round(sum(data.success_count for data in observability_data), 5) From be688a4a94ec701b6668dd137eededf46b04d751 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 08:37:45 +0100 Subject: [PATCH 235/539] :art: Format - ran black --- agenta-backend/agenta_backend/services/filters.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 2cdc4a40af..cfb9152269 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -68,13 +68,9 @@ def prepares_spans_aggregation_by_timerange(time_range: str): time_range_mappings = { "$group": { - "_id": { - "$dateTrunc": {"date": "$created_at", "unit": date_trunc_unit} - }, + "_id": {"$dateTrunc": {"date": "$created_at", "unit": date_trunc_unit}}, "latency": { - "$sum": { - "$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000] - } + "$sum": {"$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000]} }, "success_count": { "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} From 400373a17e71a6ba6cf1ac46e982ec6198718529 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 09:31:18 +0100 Subject: [PATCH 236/539] Refactor - update cache_observability_data --- agenta-backend/agenta_backend/services/redis_cache_service.py | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index a3873e3ae9..22f9eadf4f 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -25,6 +25,5 @@ async def cache_observability_data( # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) - if len(data) >= 1: - redis.setex(cache_key, 900, data.json()) + redis.setex(cache_key, 900, data.json()) return data From d724007a1b1883773e97bf8ea35d31f481b5c79d Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 09:31:48 +0100 Subject: [PATCH 237/539] Update - added logic to fill data for 24_hours --- .../services/event_db_manager.py | 27 +++++++------------ .../agenta_backend/services/helpers.py | 13 ++++++--- 2 files changed, 20 insertions(+), 20 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 1639da10a6..11224c7ca4 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -306,10 +306,6 @@ async def retrieve_observability_dashboard( pipeline, ).to_list() - if spans is None or len(spans) == 0: - return [] - - len_of_observability_data = len(spans) observability_data: ObservabilityData = [] for span in spans: observability_data.append(ObservabilityData(**span, timestamp=str(span["_id"]))) @@ -318,30 +314,27 @@ async def retrieve_observability_dashboard( data=observability_data, time_range=params.timeRange, ) + len_of_observability_data = len(full_observability_data) sorted_data = sorted(full_observability_data, key=lambda x: x.timestamp) - total_count = round( - sum(data.failure_count for data in observability_data), 5 - ) + round(sum(data.success_count for data in observability_data), 5) + total_count = round(sum(data.failure_count for data in sorted_data), 5) + round( + sum(data.success_count for data in sorted_data), 5 + ) return ObservabilityDashboardData( **{ "data": sorted_data, "total_count": total_count, - "failure_rate": round( - sum(data.failure_count for data in observability_data), 5 - ), - "total_cost": round(sum(data.cost for data in observability_data), 5), + "failure_rate": round(sum(data.failure_count for data in sorted_data), 5), + "total_cost": round(sum(data.cost for data in sorted_data), 5), "avg_cost": round( - sum(data.cost for data in observability_data) - / len_of_observability_data, + sum(data.cost for data in sorted_data) / len_of_observability_data, 5, ), "avg_latency": round( - sum(data.latency for data in observability_data) - / len_of_observability_data, + sum(data.latency for data in sorted_data) / len_of_observability_data, 5, ), - "total_tokens": sum(data.total_tokens for data in observability_data), - "avg_tokens": sum(data.total_tokens for data in observability_data) + "total_tokens": sum(data.total_tokens for data in sorted_data), + "avg_tokens": sum(data.total_tokens for data in sorted_data) / len_of_observability_data, } ) diff --git a/agenta-backend/agenta_backend/services/helpers.py b/agenta-backend/agenta_backend/services/helpers.py index 9368830eb2..03d1c5dfe9 100644 --- a/agenta-backend/agenta_backend/services/helpers.py +++ b/agenta-backend/agenta_backend/services/helpers.py @@ -95,7 +95,7 @@ def range_of_dates_based_on_timerange( time_range: str, current_date: datetime ) -> Tuple[datetime, datetime]: if time_range == "24_hours": - start_date = current_date - timedelta(days=1) + start_date = current_date - timedelta(hours=24) end_date = current_date elif time_range == "7_days": start_date = current_date - timedelta(days=7) @@ -118,7 +118,11 @@ def fill_missing_data( if current_date not in result_map: result_map[current_date] = ObservabilityData( **{ - "timestamp": current_date.strftime("%Y-%m-%d 00:00:00"), + "timestamp": ( + current_date.strftime("%Y-%m-%d %I:00:00") + if time_range == "24_hours" + else current_date.strftime("%Y-%m-%d %00:00:00") + ), "success_count": 0, "failure_count": 0, "cost": 0, @@ -128,5 +132,8 @@ def fill_missing_data( "completion_tokens": 0, } ) - current_date += timedelta(days=1) + if time_range == "24_hours": + current_date += timedelta(hours=1) + else: + current_date += timedelta(days=1) return list(result_map.values()) From dd39b9c85734742134d45bb9d4b577c9e02cb010 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 10:48:31 +0100 Subject: [PATCH 238/539] Refactor - truncate timestamp --- .../models/api/observability_models.py | 2 +- .../services/event_db_manager.py | 11 ++++---- .../agenta_backend/services/helpers.py | 27 ++++++++++++------- 3 files changed, 25 insertions(+), 15 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index d59411368d..b0fc1ccbc8 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -107,7 +107,7 @@ class TraceDetail(Trace): class ObservabilityData(BaseModel): - timestamp: str + timestamp: datetime success_count: int failure_count: int cost: float diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 11224c7ca4..04303f0e2f 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -308,7 +308,11 @@ async def retrieve_observability_dashboard( observability_data: ObservabilityData = [] for span in spans: - observability_data.append(ObservabilityData(**span, timestamp=str(span["_id"]))) + observability_data.append( + ObservabilityData( + **span, timestamp=span["_id"].strftime("%Y-%m-%d %I:00:00") + ) + ) full_observability_data = helpers.fill_missing_data( data=observability_data, @@ -316,13 +320,10 @@ async def retrieve_observability_dashboard( ) len_of_observability_data = len(full_observability_data) sorted_data = sorted(full_observability_data, key=lambda x: x.timestamp) - total_count = round(sum(data.failure_count for data in sorted_data), 5) + round( - sum(data.success_count for data in sorted_data), 5 - ) return ObservabilityDashboardData( **{ "data": sorted_data, - "total_count": total_count, + "total_count": len_of_observability_data, "failure_rate": round(sum(data.failure_count for data in sorted_data), 5), "total_cost": round(sum(data.cost for data in sorted_data), 5), "avg_cost": round( diff --git a/agenta-backend/agenta_backend/services/helpers.py b/agenta-backend/agenta_backend/services/helpers.py index 03d1c5dfe9..74b77727a1 100644 --- a/agenta-backend/agenta_backend/services/helpers.py +++ b/agenta-backend/agenta_backend/services/helpers.py @@ -95,7 +95,7 @@ def range_of_dates_based_on_timerange( time_range: str, current_date: datetime ) -> Tuple[datetime, datetime]: if time_range == "24_hours": - start_date = current_date - timedelta(hours=24) + start_date = current_date - timedelta(days=1) end_date = current_date elif time_range == "7_days": start_date = current_date - timedelta(days=7) @@ -113,16 +113,25 @@ def fill_missing_data( current_date, end_date = range_of_dates_based_on_timerange( time_range, datetime.now() ) - result_map = {result.timestamp: result for result in data} + result_map = {} + for result in data: + truncated_timestamp = ( + result.timestamp.replace(minute=0, second=0, microsecond=0) + if time_range == "24_hours" + else current_date.replace(hour=0, minute=0, second=0, microsecond=0) + ) + result_map[truncated_timestamp] = result + while current_date <= end_date: - if current_date not in result_map: - result_map[current_date] = ObservabilityData( + truncated_current_date = ( + current_date.strftime("%Y-%m-%d %I:00:00") + if time_range == "24_hours" + else current_date.strftime("%Y-%m-%d 00:00:00") + ) + if truncated_current_date not in result_map: + result_map[truncated_current_date] = ObservabilityData( **{ - "timestamp": ( - current_date.strftime("%Y-%m-%d %I:00:00") - if time_range == "24_hours" - else current_date.strftime("%Y-%m-%d %00:00:00") - ), + "timestamp": truncated_current_date, "success_count": 0, "failure_count": 0, "cost": 0, From d487f69a4ce04c52a76cbce1750bb2e29bf47748 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 11:06:33 +0100 Subject: [PATCH 239/539] Update - fix truncate date issue --- .../agenta_backend/services/event_db_manager.py | 2 +- agenta-backend/agenta_backend/services/helpers.py | 8 ++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 04303f0e2f..318127e9c8 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -310,7 +310,7 @@ async def retrieve_observability_dashboard( for span in spans: observability_data.append( ObservabilityData( - **span, timestamp=span["_id"].strftime("%Y-%m-%d %I:00:00") + **span, timestamp=span["_id"] ) ) diff --git a/agenta-backend/agenta_backend/services/helpers.py b/agenta-backend/agenta_backend/services/helpers.py index 74b77727a1..95292edf36 100644 --- a/agenta-backend/agenta_backend/services/helpers.py +++ b/agenta-backend/agenta_backend/services/helpers.py @@ -116,14 +116,14 @@ def fill_missing_data( result_map = {} for result in data: truncated_timestamp = ( - result.timestamp.replace(minute=0, second=0, microsecond=0) + result.timestamp.replace(minute=0, second=0) if time_range == "24_hours" - else current_date.replace(hour=0, minute=0, second=0, microsecond=0) + else result.timestamp.replace(hour=0, minute=0, second=0) ) - result_map[truncated_timestamp] = result + result_map[str(truncated_timestamp)] = result while current_date <= end_date: - truncated_current_date = ( + truncated_current_date = str( current_date.strftime("%Y-%m-%d %I:00:00") if time_range == "24_hours" else current_date.strftime("%Y-%m-%d 00:00:00") From 2ab603ab05b7c5385639bd737c78a4173ed191be Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 11:42:40 +0100 Subject: [PATCH 240/539] Update - fix count of traces/spans by filter --- .../services/event_db_manager.py | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 318127e9c8..124c9da541 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -191,7 +191,11 @@ async def fetch_generation_spans( base_spans_db = SpanDB.find(SpanDB.trace.app_id == app_id) # Count of spans in db - spans_count = await base_spans_db.find(fetch_links=True).count() + spans_count = ( + await base_spans_db.find(fetch_links=True, skip=skip, limit=limit) + .sort([(SpanDB.created_at, sort_direction)]) + .count() + ) # Fetch spans with pagination and sorting applied spans_db = base_spans_db.find(fetch_links=True, skip=skip, limit=limit).sort( @@ -308,11 +312,7 @@ async def retrieve_observability_dashboard( observability_data: ObservabilityData = [] for span in spans: - observability_data.append( - ObservabilityData( - **span, timestamp=span["_id"] - ) - ) + observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) full_observability_data = helpers.fill_missing_data( data=observability_data, @@ -371,7 +371,11 @@ async def fetch_traces( ) # Count of traces in db - traces_count = await base_traces_db.count() + traces_count = ( + await base_traces_db.find(fetch_links=True, skip=skip, limit=limit) + .sort([(TraceDB.created_at, sort_direction)]) + .count() + ) # Fetch traces with pagination and sorting applied traces_db = ( From 2ddaf1a4e91fb66673a1e89b8e6544acff7bd042 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 14:41:43 +0100 Subject: [PATCH 241/539] Update - modified latency sum aggregation logic --- agenta-backend/agenta_backend/services/filters.py | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index cfb9152269..807f1848ea 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -69,9 +69,7 @@ def prepares_spans_aggregation_by_timerange(time_range: str): time_range_mappings = { "$group": { "_id": {"$dateTrunc": {"date": "$created_at", "unit": date_trunc_unit}}, - "latency": { - "$sum": {"$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000]} - }, + "latency": {"$sum": {"$divide": ["$duration", 1000]}}, "success_count": { "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} }, From 32f71a03c28020ba7a66dea7c943779db1fb1359 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 14:57:19 +0100 Subject: [PATCH 242/539] Update - divide duration by 100 to get seconds --- agenta-backend/agenta_backend/models/converters.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index 5e520a9c73..ab897cfc13 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -513,7 +513,7 @@ async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: status=SpanStatus(value=span_db.status.value, error=span_db.status.error), metadata={ "cost": span_db.cost, - "latency": span_db.duration, + "latency": span_db.duration / 100, "usage": span_db.meta, }, user_id=str(span_db.trace.user.id), @@ -542,7 +542,7 @@ async def traces_to_pydantic(traces_db: List[TraceDB]) -> List[Trace]: status=SpanStatus(value=trace_db.status, error=None), metadata={ "cost": trace_db.cost, - "latency": trace_db.latency, + "latency": trace_db.latency / 100, "usage": {"total_tokens": trace_db.token_consumption}, }, user_id=str(trace_db.user.id), From fda47480b97da788e61cdde271d7173da9faae78 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 15 Mar 2024 15:14:02 +0100 Subject: [PATCH 243/539] Update - remove redundant function --- .../services/event_db_manager.py | 36 ++----------------- 1 file changed, 3 insertions(+), 33 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 124c9da541..388aba8a68 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -46,29 +46,6 @@ logger.setLevel(logging.INFO) -async def get_variant_traces( - app_id: str, variant_id: str, user_uid: str -) -> List[Trace]: - """Get the traces for a given app variant. - - Args: - app_id (str): the app id of the trace - variant_id (str): the id of the variant - - Returns: - List[Trace]: the list of traces for the given app variant - """ - - user = await db_manager.get_user(user_uid) - traces = await TraceDB.find( - TraceDB.user.id == user.id, - TraceDB.app_id == app_id, - TraceDB.variant_id == variant_id, - fetch_links=True, - ).to_list() - return [trace_db_to_pydantic(trace) for trace in traces] - - async def create_app_trace(payload: CreateTrace, user_uid: str) -> str: """Create a new trace. @@ -191,11 +168,7 @@ async def fetch_generation_spans( base_spans_db = SpanDB.find(SpanDB.trace.app_id == app_id) # Count of spans in db - spans_count = ( - await base_spans_db.find(fetch_links=True, skip=skip, limit=limit) - .sort([(SpanDB.created_at, sort_direction)]) - .count() - ) + spans_count = await base_spans_db.find(fetch_links=True).count() # Fetch spans with pagination and sorting applied spans_db = base_spans_db.find(fetch_links=True, skip=skip, limit=limit).sort( @@ -371,11 +344,7 @@ async def fetch_traces( ) # Count of traces in db - traces_count = ( - await base_traces_db.find(fetch_links=True, skip=skip, limit=limit) - .sort([(TraceDB.created_at, sort_direction)]) - .count() - ) + traces_count = await base_traces_db.find(fetch_links=True).count() # Fetch traces with pagination and sorting applied traces_db = ( @@ -389,6 +358,7 @@ async def fetch_traces( filtered_traces = filter( partial(filters.filter_document_by_filter_params, filters_param), traces ) + return get_paginated_data(list(filtered_traces), traces_count, pagination) From 5f1420ad871f8090aa12a7282bf0d730602b11ab Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 08:34:50 +0100 Subject: [PATCH 244/539] Refactor - remove / 100 from traces and spans converter to pydantic --- agenta-backend/agenta_backend/models/converters.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index ab897cfc13..5e520a9c73 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -513,7 +513,7 @@ async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: status=SpanStatus(value=span_db.status.value, error=span_db.status.error), metadata={ "cost": span_db.cost, - "latency": span_db.duration / 100, + "latency": span_db.duration, "usage": span_db.meta, }, user_id=str(span_db.trace.user.id), @@ -542,7 +542,7 @@ async def traces_to_pydantic(traces_db: List[TraceDB]) -> List[Trace]: status=SpanStatus(value=trace_db.status, error=None), metadata={ "cost": trace_db.cost, - "latency": trace_db.latency / 100, + "latency": trace_db.latency, "usage": {"total_tokens": trace_db.token_consumption}, }, user_id=str(trace_db.user.id), From 838c69e11b79368402dde3d6bcc3e0f2479c17dc Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 18 Mar 2024 09:02:51 +0100 Subject: [PATCH 245/539] Update - improve spans/traces count by filters_param --- .../agenta_backend/services/event_db_manager.py | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 388aba8a68..f7bcc1fa3e 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -168,7 +168,12 @@ async def fetch_generation_spans( base_spans_db = SpanDB.find(SpanDB.trace.app_id == app_id) # Count of spans in db - spans_count = await base_spans_db.find(fetch_links=True).count() + filters_query = {} + if filters_param.environment is not None: + filters_query["environment"] = filters_param.environment + # elif filters_param.variant is not None: TODO: improve in observability sdk + # filters_query["base_id"] = filters_param.variant + spans_count = await base_spans_db.find(filters_query, fetch_links=True).count() # Fetch spans with pagination and sorting applied spans_db = base_spans_db.find(fetch_links=True, skip=skip, limit=limit).sort( @@ -344,7 +349,12 @@ async def fetch_traces( ) # Count of traces in db - traces_count = await base_traces_db.find(fetch_links=True).count() + filters_query = {} + if filters_param.environment is not None: + filters_query["environment"] = filters_param.environment + # elif filters_param.variant is not None: TODO: improve in observability sdk + # filters_query["base_id"] = filters_param.variant + traces_count = await base_traces_db.find(filters_query, fetch_links=True).count() # Fetch traces with pagination and sorting applied traces_db = ( From 4e6dc81093362cbd49d9905bd49dc87d0ed2c1b8 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 19 Mar 2024 12:52:34 +0100 Subject: [PATCH 246/539] Update - regenerate backend cli client with fern --- agenta-cli/agenta/client/backend/__init__.py | 10 +- agenta-cli/agenta/client/backend/client.py | 227 ++---- .../agenta/client/backend/core/api_error.py | 4 +- .../client/backend/core/datetime_utils.py | 4 +- .../client/backend/core/jsonable_encoder.py | 12 +- .../client/backend/resources/__init__.py | 13 +- .../client/backend/resources/apps/__init__.py | 1 + .../client/backend/resources/apps/client.py | 114 +-- .../backend/resources/bases/__init__.py | 1 + .../client/backend/resources/bases/client.py | 10 +- .../backend/resources/configs/__init__.py | 1 + .../backend/resources/configs/client.py | 72 +- .../backend/resources/containers/client.py | 60 +- .../resources/environments/__init__.py | 1 + .../backend/resources/environments/client.py | 24 +- .../backend/resources/evaluations/__init__.py | 1 + .../backend/resources/evaluations/client.py | 124 +--- .../backend/resources/evaluators/__init__.py | 1 + .../backend/resources/evaluators/client.py | 74 +- .../resources/observability/__init__.py | 1 + .../backend/resources/observability/client.py | 669 +++++++++++------- .../backend/resources/testsets/__init__.py | 1 + .../backend/resources/testsets/client.py | 72 +- .../backend/resources/variants/client.py | 265 +++++-- .../resources/variants/types/__init__.py | 4 +- .../agenta/client/backend/types/__init__.py | 10 +- .../client/backend/types/aggregated_result.py | 12 +- .../aggregated_result_evaluator_config.py | 4 +- agenta-cli/agenta/client/backend/types/app.py | 12 +- .../types/app_variant_output_extended.py | 51 -- .../backend/types/app_variant_response.py | 13 +- .../backend/types/app_variant_revision.py | 12 +- .../client/backend/types/base_output.py | 12 +- .../backend/types/body_import_testset.py | 12 +- .../agenta/client/backend/types/config_db.py | 12 +- .../client/backend/types/create_app_output.py | 12 +- .../client/backend/types/docker_env_vars.py | 12 +- .../backend/types/environment_output.py | 12 +- .../types/environment_output_extended.py | 12 +- .../backend/types/environment_revision.py | 12 +- .../agenta/client/backend/types/error.py | 12 +- .../agenta/client/backend/types/evaluation.py | 12 +- .../backend/types/evaluation_scenario.py | 12 +- .../types/evaluation_scenario_input.py | 12 +- .../types/evaluation_scenario_output.py | 12 +- .../types/evaluation_scenario_result.py | 12 +- .../types/evaluation_scenario_score_update.py | 12 +- .../client/backend/types/evaluation_type.py | 4 +- .../backend/types/evaluation_webhook.py | 12 +- .../agenta/client/backend/types/evaluator.py | 13 +- .../client/backend/types/evaluator_config.py | 12 +- .../agenta/client/backend/types/feedback.py | 12 +- .../backend/types/get_config_response.py | 12 +- .../backend/types/http_validation_error.py | 12 +- .../client/backend/types/human_evaluation.py | 12 +- .../types/human_evaluation_scenario.py | 12 +- .../types/human_evaluation_scenario_input.py | 12 +- .../types/human_evaluation_scenario_output.py | 12 +- .../types/human_evaluation_scenario_update.py | 12 +- .../backend/types/human_evaluation_update.py | 12 +- .../agenta/client/backend/types/image.py | 12 +- .../client/backend/types/invite_request.py | 12 +- .../backend/types/list_api_keys_response.py | 12 +- .../client/backend/types/llm_content.py | 12 +- .../agenta/client/backend/types/llm_inputs.py | 12 +- .../client/backend/types/llm_model_params.py | 12 +- .../backend/types/llm_run_rate_limit.py | 12 +- .../{observability_data.py => llm_tokens.py} | 23 +- .../backend/types/new_human_evaluation.py | 12 +- .../client/backend/types/new_testset.py | 12 +- .../client/backend/types/organization.py | 12 +- .../backend/types/organization_output.py | 12 +- .../agenta/client/backend/types/result.py | 12 +- .../backend/types/simple_evaluation_output.py | 12 +- .../client/backend/types/span_detail.py | 14 +- .../client/backend/types/span_status.py | 12 +- .../client/backend/types/span_variant.py | 12 +- .../agenta/client/backend/types/template.py | 12 +- .../backend/types/template_image_info.py | 12 +- .../backend/types/test_set_output_response.py | 12 +- .../backend/types/test_set_simple_response.py | 12 +- ...lity_dashboard_data.py => trace_detail.py} | 32 +- agenta-cli/agenta/client/backend/types/uri.py | 12 +- .../client/backend/types/validation_error.py | 12 +- .../client/backend/types/variant_action.py | 12 +- .../backend/types/variant_action_enum.py | 4 +- .../client/backend/types/with_pagination.py | 12 +- .../types/workspace_member_response.py | 12 +- .../backend/types/workspace_permission.py | 12 +- .../backend/types/workspace_response.py | 12 +- .../backend/types/workspace_role_response.py | 12 +- 91 files changed, 951 insertions(+), 1655 deletions(-) delete mode 100644 agenta-cli/agenta/client/backend/types/app_variant_output_extended.py rename agenta-cli/agenta/client/backend/types/{observability_data.py => llm_tokens.py} (59%) rename agenta-cli/agenta/client/backend/types/{observability_dashboard_data.py => trace_detail.py} (51%) diff --git a/agenta-cli/agenta/client/backend/__init__.py b/agenta-cli/agenta/client/backend/__init__.py index 070a3ee2b9..2f9b65376a 100644 --- a/agenta-cli/agenta/client/backend/__init__.py +++ b/agenta-cli/agenta/client/backend/__init__.py @@ -4,7 +4,6 @@ AggregatedResult, AggregatedResultEvaluatorConfig, App, - AppVariantOutputExtended, AppVariantResponse, AppVariantRevision, BaseOutput, @@ -43,10 +42,9 @@ LlmInputs, LlmModelParams, LlmRunRateLimit, + LlmTokens, NewHumanEvaluation, NewTestset, - ObservabilityDashboardData, - ObservabilityData, Organization, OrganizationOutput, Permission, @@ -61,6 +59,7 @@ TemplateImageInfo, TestSetOutputResponse, TestSetSimpleResponse, + TraceDetail, Uri, ValidationError, ValidationErrorLocItem, @@ -94,7 +93,6 @@ "AggregatedResult", "AggregatedResultEvaluatorConfig", "App", - "AppVariantOutputExtended", "AppVariantResponse", "AppVariantRevision", "BaseOutput", @@ -134,10 +132,9 @@ "LlmInputs", "LlmModelParams", "LlmRunRateLimit", + "LlmTokens", "NewHumanEvaluation", "NewTestset", - "ObservabilityDashboardData", - "ObservabilityData", "Organization", "OrganizationOutput", "Permission", @@ -152,6 +149,7 @@ "TemplateImageInfo", "TestSetOutputResponse", "TestSetSimpleResponse", + "TraceDetail", "UnprocessableEntityError", "Uri", "ValidationError", diff --git a/agenta-cli/agenta/client/backend/client.py b/agenta-cli/agenta/client/backend/client.py index 04e2b6c25a..e0b4a3a650 100644 --- a/agenta-cli/agenta/client/backend/client.py +++ b/agenta-cli/agenta/client/backend/client.py @@ -19,10 +19,7 @@ from .resources.environments.client import AsyncEnvironmentsClient, EnvironmentsClient from .resources.evaluations.client import AsyncEvaluationsClient, EvaluationsClient from .resources.evaluators.client import AsyncEvaluatorsClient, EvaluatorsClient -from .resources.observability.client import ( - AsyncObservabilityClient, - ObservabilityClient, -) +from .resources.observability.client import AsyncObservabilityClient, ObservabilityClient from .resources.testsets.client import AsyncTestsetsClient, TestsetsClient from .resources.variants.client import AsyncVariantsClient, VariantsClient from .types.http_validation_error import HttpValidationError @@ -45,13 +42,9 @@ class AgentaApi: - def __init__( - self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 - ): + def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): self._client_wrapper = SyncClientWrapper( - base_url=base_url, - api_key=api_key, - httpx_client=httpx.Client(timeout=timeout), + base_url=base_url, api_key=api_key, httpx_client=httpx.Client(timeout=timeout) ) self.apps = AppsClient(client_wrapper=self._client_wrapper) self.variants = VariantsClient(client_wrapper=self._client_wrapper) @@ -153,9 +146,7 @@ def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -185,9 +176,7 @@ def validate_api_key(self, key_prefix: str) -> bool: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -222,9 +211,7 @@ def list_organizations(self) -> typing.List[Organization]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -268,9 +255,7 @@ def create_organization( _request["owner"] = owner _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -294,9 +279,7 @@ def get_own_org(self) -> OrganizationOutput: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations/own" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -329,9 +312,7 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -377,9 +358,7 @@ def update_organization( _request["updated_at"] = updated_at _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -416,8 +395,7 @@ def invite_user_to_workspace( _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}/invite", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -433,9 +411,7 @@ def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def resend_invitation( - self, org_id: str, workspace_id: str, *, email: str - ) -> typing.Any: + def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -479,9 +455,7 @@ def resend_invitation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def accept_invitation( - self, org_id: str, workspace_id: str, *, token: str - ) -> typing.Any: + def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: """ Accept an invitation to a workspace. @@ -526,12 +500,7 @@ def accept_invitation( raise ApiError(status_code=_response.status_code, body=_response_json) def create_workspace( - self, - org_id: str, - *, - name: str, - description: typing.Optional[str] = OMIT, - type: typing.Optional[str] = OMIT, + self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT ) -> WorkspaceResponse: """ Parameters: @@ -555,10 +524,7 @@ def create_workspace( _request["type"] = type _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -609,8 +575,7 @@ def update_workspace( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -646,9 +611,7 @@ def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -680,9 +643,7 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -695,12 +656,7 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) def assign_role_to_user( - self, - workspace_id: str, - *, - email: str, - organization_id: str, - role: typing.Optional[WorkspaceRole] = OMIT, + self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT ) -> bool: """ Assigns a role to a user in a workspace. @@ -731,18 +687,12 @@ def assign_role_to_user( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = { - "email": email, - "organization_id": organization_id, - } + _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} if role is not OMIT: _request["role"] = role _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -757,9 +707,7 @@ def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def unassign_role_from_user( - self, workspace_id: str, *, email: str, org_id: str, role: str - ) -> typing.Any: + def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -793,13 +741,8 @@ def unassign_role_from_user( """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), - params=remove_none_from_dict( - {"email": email, "org_id": org_id, "role": role} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -813,9 +756,7 @@ def unassign_role_from_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def remove_user_from_workspace( - self, workspace_id: str, *, org_id: str, email: str - ) -> WorkspaceResponse: + def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -848,10 +789,7 @@ def remove_user_from_workspace( """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/users", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -910,13 +848,9 @@ def user_profile(self) -> typing.Any: class AsyncAgentaApi: - def __init__( - self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 - ): + def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): self._client_wrapper = AsyncClientWrapper( - base_url=base_url, - api_key=api_key, - httpx_client=httpx.AsyncClient(timeout=timeout), + base_url=base_url, api_key=api_key, httpx_client=httpx.AsyncClient(timeout=timeout) ) self.apps = AsyncAppsClient(client_wrapper=self._client_wrapper) self.variants = AsyncVariantsClient(client_wrapper=self._client_wrapper) @@ -925,9 +859,7 @@ def __init__( self.testsets = AsyncTestsetsClient(client_wrapper=self._client_wrapper) self.containers = AsyncContainersClient(client_wrapper=self._client_wrapper) self.environments = AsyncEnvironmentsClient(client_wrapper=self._client_wrapper) - self.observability = AsyncObservabilityClient( - client_wrapper=self._client_wrapper - ) + self.observability = AsyncObservabilityClient(client_wrapper=self._client_wrapper) self.bases = AsyncBasesClient(client_wrapper=self._client_wrapper) self.configs = AsyncConfigsClient(client_wrapper=self._client_wrapper) @@ -1020,9 +952,7 @@ async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1052,9 +982,7 @@ async def validate_api_key(self, key_prefix: str) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1089,9 +1017,7 @@ async def list_organizations(self) -> typing.List[Organization]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1135,9 +1061,7 @@ async def create_organization( _request["owner"] = owner _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1161,9 +1085,7 @@ async def get_own_org(self) -> OrganizationOutput: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations/own" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1196,9 +1118,7 @@ async def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1244,9 +1164,7 @@ async def update_organization( _request["updated_at"] = updated_at _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1283,8 +1201,7 @@ async def invite_user_to_workspace( _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}/invite", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -1300,9 +1217,7 @@ async def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def resend_invitation( - self, org_id: str, workspace_id: str, *, email: str - ) -> typing.Any: + async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -1346,9 +1261,7 @@ async def resend_invitation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def accept_invitation( - self, org_id: str, workspace_id: str, *, token: str - ) -> typing.Any: + async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: """ Accept an invitation to a workspace. @@ -1393,12 +1306,7 @@ async def accept_invitation( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_workspace( - self, - org_id: str, - *, - name: str, - description: typing.Optional[str] = OMIT, - type: typing.Optional[str] = OMIT, + self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT ) -> WorkspaceResponse: """ Parameters: @@ -1422,10 +1330,7 @@ async def create_workspace( _request["type"] = type _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1476,8 +1381,7 @@ async def update_workspace( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -1513,9 +1417,7 @@ async def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1547,9 +1449,7 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1562,12 +1462,7 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) async def assign_role_to_user( - self, - workspace_id: str, - *, - email: str, - organization_id: str, - role: typing.Optional[WorkspaceRole] = OMIT, + self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT ) -> bool: """ Assigns a role to a user in a workspace. @@ -1598,18 +1493,12 @@ async def assign_role_to_user( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = { - "email": email, - "organization_id": organization_id, - } + _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} if role is not OMIT: _request["role"] = role _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1624,9 +1513,7 @@ async def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def unassign_role_from_user( - self, workspace_id: str, *, email: str, org_id: str, role: str - ) -> typing.Any: + async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -1660,13 +1547,8 @@ async def unassign_role_from_user( """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), - params=remove_none_from_dict( - {"email": email, "org_id": org_id, "role": role} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1680,9 +1562,7 @@ async def unassign_role_from_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def remove_user_from_workspace( - self, workspace_id: str, *, org_id: str, email: str - ) -> WorkspaceResponse: + async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -1715,10 +1595,7 @@ async def remove_user_from_workspace( """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/users", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/core/api_error.py b/agenta-cli/agenta/client/backend/core/api_error.py index da734b5806..2e9fc5431c 100644 --- a/agenta-cli/agenta/client/backend/core/api_error.py +++ b/agenta-cli/agenta/client/backend/core/api_error.py @@ -7,9 +7,7 @@ class ApiError(Exception): status_code: typing.Optional[int] body: typing.Any - def __init__( - self, *, status_code: typing.Optional[int] = None, body: typing.Any = None - ): + def __init__(self, *, status_code: typing.Optional[int] = None, body: typing.Any = None): self.status_code = status_code self.body = body diff --git a/agenta-cli/agenta/client/backend/core/datetime_utils.py b/agenta-cli/agenta/client/backend/core/datetime_utils.py index 47344e9d9c..7c9864a944 100644 --- a/agenta-cli/agenta/client/backend/core/datetime_utils.py +++ b/agenta-cli/agenta/client/backend/core/datetime_utils.py @@ -13,9 +13,7 @@ def serialize_datetime(v: dt.datetime) -> str: """ def _serialize_zoned_datetime(v: dt.datetime) -> str: - if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname( - None - ): + if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname(None): # UTC is a special case where we use "Z" at the end instead of "+00:00" return v.isoformat().replace("+00:00", "Z") else: diff --git a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py index 0e297e18f0..37238ab679 100644 --- a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py +++ b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py @@ -30,22 +30,16 @@ def generate_encoders_by_class_tuples( type_encoder_map: Dict[Any, Callable[[Any], Any]] ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]: - encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict( - tuple - ) + encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(tuple) for type_, encoder in type_encoder_map.items(): encoders_by_class_tuples[encoder] += (type_,) return encoders_by_class_tuples -encoders_by_class_tuples = generate_encoders_by_class_tuples( - pydantic.json.ENCODERS_BY_TYPE -) +encoders_by_class_tuples = generate_encoders_by_class_tuples(pydantic.json.ENCODERS_BY_TYPE) -def jsonable_encoder( - obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None -) -> Any: +def jsonable_encoder(obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None) -> Any: custom_encoder = custom_encoder or {} if custom_encoder: if type(obj) in custom_encoder: diff --git a/agenta-cli/agenta/client/backend/resources/__init__.py b/agenta-cli/agenta/client/backend/resources/__init__.py index 223d38e477..6a7c8f0ca8 100644 --- a/agenta-cli/agenta/client/backend/resources/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/__init__.py @@ -1,17 +1,6 @@ # This file was auto-generated by Fern from our API Definition. -from . import ( - apps, - bases, - configs, - containers, - environments, - evaluations, - evaluators, - observability, - testsets, - variants, -) +from . import apps, bases, configs, containers, environments, evaluations, evaluators, observability, testsets, variants from .containers import ContainerTemplatesResponse from .variants import AddVariantFromBaseAndConfigResponse diff --git a/agenta-cli/agenta/client/backend/resources/apps/__init__.py b/agenta-cli/agenta/client/backend/resources/apps/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/apps/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/apps/client.py b/agenta-cli/agenta/client/backend/resources/apps/client.py index 20b3932d43..960fb5e5f8 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/client.py +++ b/agenta-cli/agenta/client/backend/resources/apps/client.py @@ -50,9 +50,7 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -66,9 +64,7 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_by_env( - self, *, app_id: str, environment: str - ) -> AppVariantResponse: + def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -95,12 +91,8 @@ def get_variant_by_env( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" - ), - params=remove_none_from_dict( - {"app_id": app_id, "environment": environment} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), + params=remove_none_from_dict({"app_id": app_id, "environment": environment}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -150,9 +142,7 @@ def list_apps( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict( - {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} - ), + params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -167,11 +157,7 @@ def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) def create_app( - self, - *, - app_name: str, - organization_id: typing.Optional[str] = OMIT, - workspace_id: typing.Optional[str] = OMIT, + self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -262,21 +248,14 @@ def add_variant_from_image( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = { - "variant_name": variant_name, - "docker_id": docker_id, - "tags": tags, - } + _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/variant/from-image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -308,9 +287,7 @@ def remove_app(self, app_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -375,10 +352,7 @@ def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "apps/app_and_variant_from_template", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -414,9 +388,7 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -430,9 +402,7 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def environment_revisions( - self, app_id: str, environment_name: typing.Any - ) -> EnvironmentOutputExtended: + def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -442,8 +412,7 @@ def environment_revisions( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/revisions/{environment_name}", + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -484,9 +453,7 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -500,9 +467,7 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_by_env( - self, *, app_id: str, environment: str - ) -> AppVariantResponse: + async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -529,12 +494,8 @@ async def get_variant_by_env( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" - ), - params=remove_none_from_dict( - {"app_id": app_id, "environment": environment} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), + params=remove_none_from_dict({"app_id": app_id, "environment": environment}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -584,9 +545,7 @@ async def list_apps( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict( - {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} - ), + params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -601,11 +560,7 @@ async def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_app( - self, - *, - app_name: str, - organization_id: typing.Optional[str] = OMIT, - workspace_id: typing.Optional[str] = OMIT, + self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -696,21 +651,14 @@ async def add_variant_from_image( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = { - "variant_name": variant_name, - "docker_id": docker_id, - "tags": tags, - } + _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/variant/from-image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -742,9 +690,7 @@ async def remove_app(self, app_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -809,10 +755,7 @@ async def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "apps/app_and_variant_from_template", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -848,9 +791,7 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -864,9 +805,7 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def environment_revisions( - self, app_id: str, environment_name: typing.Any - ) -> EnvironmentOutputExtended: + async def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -876,8 +815,7 @@ async def environment_revisions( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/revisions/{environment_name}", + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/bases/__init__.py b/agenta-cli/agenta/client/backend/resources/bases/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/bases/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/bases/client.py b/agenta-cli/agenta/client/backend/resources/bases/client.py index 88082d3555..f5e0dd5569 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/client.py +++ b/agenta-cli/agenta/client/backend/resources/bases/client.py @@ -22,10 +22,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def list_bases( - self, - *, - app_id: typing.Optional[str] = None, - base_name: typing.Optional[str] = None, + self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. @@ -74,10 +71,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def list_bases( - self, - *, - app_id: typing.Optional[str] = None, - base_name: typing.Optional[str] = None, + self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. diff --git a/agenta-cli/agenta/client/backend/resources/configs/__init__.py b/agenta-cli/agenta/client/backend/resources/configs/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/configs/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/configs/client.py b/agenta-cli/agenta/client/backend/resources/configs/client.py index f13859b76c..bb85bbd5e6 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/client.py +++ b/agenta-cli/agenta/client/backend/resources/configs/client.py @@ -26,11 +26,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def get_config( - self, - *, - base_id: str, - config_name: typing.Optional[str] = None, - environment_name: typing.Optional[str] = None, + self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None ) -> GetConfigResponse: """ Parameters: @@ -49,11 +45,7 @@ def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - { - "base_id": base_id, - "config_name": config_name, - "environment_name": environment_name, - } + {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -69,12 +61,7 @@ def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) def save_config( - self, - *, - base_id: str, - config_name: str, - parameters: typing.Dict[str, typing.Any], - overwrite: bool, + self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool ) -> typing.Any: """ Parameters: @@ -95,12 +82,7 @@ def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - { - "base_id": base_id, - "config_name": config_name, - "parameters": parameters, - "overwrite": overwrite, - } + {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -128,8 +110,7 @@ def get_config_deployment_revision(self, deployment_revision_id: str) -> typing. _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -157,8 +138,7 @@ def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}/revert", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -179,11 +159,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def get_config( - self, - *, - base_id: str, - config_name: typing.Optional[str] = None, - environment_name: typing.Optional[str] = None, + self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None ) -> GetConfigResponse: """ Parameters: @@ -202,11 +178,7 @@ async def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - { - "base_id": base_id, - "config_name": config_name, - "environment_name": environment_name, - } + {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -222,12 +194,7 @@ async def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) async def save_config( - self, - *, - base_id: str, - config_name: str, - parameters: typing.Dict[str, typing.Any], - overwrite: bool, + self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool ) -> typing.Any: """ Parameters: @@ -248,12 +215,7 @@ async def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - { - "base_id": base_id, - "config_name": config_name, - "parameters": parameters, - "overwrite": overwrite, - } + {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -268,9 +230,7 @@ async def save_config( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_config_deployment_revision( - self, deployment_revision_id: str - ) -> typing.Any: + async def get_config_deployment_revision(self, deployment_revision_id: str) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -283,8 +243,7 @@ async def get_config_deployment_revision( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -299,9 +258,7 @@ async def get_config_deployment_revision( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def revert_deployment_revision( - self, deployment_revision_id: str - ) -> typing.Any: + async def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -314,8 +271,7 @@ async def revert_deployment_revision( _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}/revert", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/containers/client.py b/agenta-cli/agenta/client/backend/resources/containers/client.py index 8f97f53369..748db696dc 100644 --- a/agenta-cli/agenta/client/backend/resources/containers/client.py +++ b/agenta-cli/agenta/client/backend/resources/containers/client.py @@ -49,9 +49,7 @@ def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Im """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/build_image" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -85,10 +83,7 @@ def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "containers/restart_container", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -116,9 +111,7 @@ def container_templates(self) -> ContainerTemplatesResponse: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/templates" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -131,10 +124,7 @@ def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) def construct_app_container_url( - self, - *, - base_id: typing.Optional[str] = None, - variant_id: typing.Optional[str] = None, + self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -162,12 +152,8 @@ def construct_app_container_url( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/container_url" - ), - params=remove_none_from_dict( - {"base_id": base_id, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), + params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -186,9 +172,7 @@ class AsyncContainersClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def build_image( - self, *, app_id: str, base_name: str, tar_file: typing.IO - ) -> Image: + async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Image: """ Builds a Docker image from a tar file containing the application code. @@ -210,9 +194,7 @@ async def build_image( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/build_image" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -229,9 +211,7 @@ async def build_image( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def restart_container( - self, *, variant_id: str - ) -> typing.Dict[str, typing.Any]: + async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: """ Restart docker container. @@ -248,10 +228,7 @@ async def restart_container( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "containers/restart_container", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -279,9 +256,7 @@ async def container_templates(self) -> ContainerTemplatesResponse: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/templates" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -294,10 +269,7 @@ async def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) async def construct_app_container_url( - self, - *, - base_id: typing.Optional[str] = None, - variant_id: typing.Optional[str] = None, + self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -325,12 +297,8 @@ async def construct_app_container_url( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/container_url" - ), - params=remove_none_from_dict( - {"base_id": base_id, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), + params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/environments/__init__.py b/agenta-cli/agenta/client/backend/resources/environments/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/environments/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/environments/client.py b/agenta-cli/agenta/client/backend/resources/environments/client.py index ffba541661..f88b1585d9 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/client.py +++ b/agenta-cli/agenta/client/backend/resources/environments/client.py @@ -23,9 +23,7 @@ class EnvironmentsClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper - def deploy_to_environment( - self, *, environment_name: str, variant_id: str - ) -> typing.Any: + def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: """ Deploys a given variant to an environment @@ -49,12 +47,8 @@ def deploy_to_environment( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "environments/deploy" - ), - json=jsonable_encoder( - {"environment_name": environment_name, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), + json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -73,9 +67,7 @@ class AsyncEnvironmentsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def deploy_to_environment( - self, *, environment_name: str, variant_id: str - ) -> typing.Any: + async def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: """ Deploys a given variant to an environment @@ -99,12 +91,8 @@ async def deploy_to_environment( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "environments/deploy" - ), - json=jsonable_encoder( - {"environment_name": environment_name, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), + json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/client.py b/agenta-cli/agenta/client/backend/resources/evaluations/client.py index 2dfd066929..0fe4108c07 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/client.py @@ -29,11 +29,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def fetch_evaluation_ids( - self, - *, - app_id: str, - resource_type: str, - resource_ids: typing.Union[typing.Optional[str], typing.List[str]], + self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -63,15 +59,9 @@ def fetch_evaluation_ids( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), params=remove_none_from_dict( - { - "app_id": app_id, - "resource_type": resource_type, - "resource_ids": resource_ids, - } + {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -106,9 +96,7 @@ def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -181,9 +169,7 @@ def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -198,9 +184,7 @@ def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def delete_evaluations( - self, *, evaluations_ids: typing.List[str] - ) -> typing.List[str]: + def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -220,9 +204,7 @@ def delete_evaluations( """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -258,10 +240,7 @@ def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/status", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -296,10 +275,7 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/results", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -313,9 +289,7 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def fetch_evaluation_scenarios( - self, evaluation_id: str - ) -> typing.List[EvaluationScenario]: + def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -339,8 +313,7 @@ def fetch_evaluation_scenarios( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/evaluation_scenarios", + f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -375,10 +348,7 @@ def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -407,10 +377,7 @@ def webhook_example_fake(self) -> EvaluationWebhook: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/webhook_example_fake", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -446,8 +413,7 @@ def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/evaluation_scenarios/comparison-results", + f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), @@ -469,11 +435,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def fetch_evaluation_ids( - self, - *, - app_id: str, - resource_type: str, - resource_ids: typing.Union[typing.Optional[str], typing.List[str]], + self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -503,15 +465,9 @@ async def fetch_evaluation_ids( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), params=remove_none_from_dict( - { - "app_id": app_id, - "resource_type": resource_type, - "resource_ids": resource_ids, - } + {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -546,9 +502,7 @@ async def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -621,9 +575,7 @@ async def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -638,9 +590,7 @@ async def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_evaluations( - self, *, evaluations_ids: typing.List[str] - ) -> typing.List[str]: + async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -660,9 +610,7 @@ async def delete_evaluations( """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -698,10 +646,7 @@ async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/status", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -736,10 +681,7 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/results", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -753,9 +695,7 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def fetch_evaluation_scenarios( - self, evaluation_id: str - ) -> typing.List[EvaluationScenario]: + async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -779,8 +719,7 @@ async def fetch_evaluation_scenarios( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/evaluation_scenarios", + f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -815,10 +754,7 @@ async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -847,10 +783,7 @@ async def webhook_example_fake(self) -> EvaluationWebhook: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/webhook_example_fake", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -886,8 +819,7 @@ async def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.An _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/evaluation_scenarios/comparison-results", + f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/client.py b/agenta-cli/agenta/client/backend/resources/evaluators/client.py index e4aab0699b..02a2896772 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/client.py @@ -41,9 +41,7 @@ def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -75,9 +73,7 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -93,12 +89,7 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: raise ApiError(status_code=_response.status_code, body=_response_json) def create_new_evaluator_config( - self, - *, - app_id: str, - name: str, - evaluator_key: str, - settings_values: typing.Dict[str, typing.Any], + self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -125,16 +116,9 @@ def create_new_evaluator_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), json=jsonable_encoder( - { - "app_id": app_id, - "name": name, - "evaluator_key": evaluator_key, - "settings_values": settings_values, - } + {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -167,8 +151,7 @@ def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -221,8 +204,7 @@ def update_evaluator_config( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -259,8 +241,7 @@ def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -295,9 +276,7 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -309,9 +288,7 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_evaluator_configs( - self, *, app_id: str - ) -> typing.List[EvaluatorConfig]: + async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: """ Endpoint to fetch evaluator configurations for a specific app. @@ -331,9 +308,7 @@ async def get_evaluator_configs( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -349,12 +324,7 @@ async def get_evaluator_configs( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_new_evaluator_config( - self, - *, - app_id: str, - name: str, - evaluator_key: str, - settings_values: typing.Dict[str, typing.Any], + self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -383,16 +353,9 @@ async def create_new_evaluator_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), json=jsonable_encoder( - { - "app_id": app_id, - "name": name, - "evaluator_key": evaluator_key, - "settings_values": settings_values, - } + {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -425,8 +388,7 @@ async def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfi _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -479,8 +441,7 @@ async def update_evaluator_config( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -517,8 +478,7 @@ async def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = await self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/observability/__init__.py b/agenta-cli/agenta/client/backend/resources/observability/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/observability/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index 8f21e310da..245b6bf587 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -12,9 +12,10 @@ from ...errors.unprocessable_entity_error import UnprocessableEntityError from ...types.feedback import Feedback from ...types.http_validation_error import HttpValidationError -from ...types.observability_dashboard_data import ObservabilityDashboardData +from ...types.llm_tokens import LlmTokens from ...types.span_detail import SpanDetail from ...types.span_status import SpanStatus +from ...types.trace_detail import TraceDetail from ...types.with_pagination import WithPagination try: @@ -33,48 +34,100 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): def dashboard( self, *, - start_time: typing.Optional[int] = None, - end_time: typing.Optional[int] = None, + app_id: str, + time_range: typing.Optional[str] = None, environment: typing.Optional[str] = None, variant: typing.Optional[str] = None, - app_id: typing.Optional[str] = None, - ) -> ObservabilityDashboardData: + ) -> typing.Any: """ Parameters: - - start_time: typing.Optional[int]. + - app_id: str. - - end_time: typing.Optional[int]. + - time_range: typing.Optional[str]. - environment: typing.Optional[str]. - variant: typing.Optional[str]. - - - app_id: typing.Optional[str]. --- from agenta.client import AgentaApi client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.dashboard() + client.dashboard(app_id="app_id") """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + params=remove_none_from_dict( + {"app_id": app_id, "timeRange": time_range, "environment": environment, "variant": variant} ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_traces( + self, + *, + app_id: str, + page: typing.Optional[int] = None, + page_size: typing.Optional[int] = None, + type: typing.Optional[str] = None, + trace_id: typing.Optional[str] = None, + environment: typing.Optional[str] = None, + variant: typing.Optional[str] = None, + created_at: typing.Optional[str] = None, + ) -> WithPagination: + """ + Parameters: + - app_id: str. + + - page: typing.Optional[int]. + + - page_size: typing.Optional[int]. + + - type: typing.Optional[str]. + + - trace_id: typing.Optional[str]. + + - environment: typing.Optional[str]. + + - variant: typing.Optional[str]. + + - created_at: typing.Optional[str]. + --- + from agenta.client import AgentaApi + + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_traces(app_id="app_id") + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), params=remove_none_from_dict( { - "startTime": start_time, - "endTime": end_time, + "app_id": app_id, + "page": page, + "pageSize": page_size, + "type": type, + "trace_id": trace_id, "environment": environment, "variant": variant, - "appId": app_id, + "created_at": created_at, } ), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(ObservabilityDashboardData, _response.json()) # type: ignore + return pydantic.parse_obj_as(WithPagination, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -87,21 +140,22 @@ def create_trace( self, *, app_id: typing.Optional[str] = OMIT, - base_id: typing.Optional[str] = OMIT, - config_name: typing.Optional[str] = OMIT, + variant_id: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, status: typing.Optional[str] = OMIT, token_consumption: typing.Optional[int] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, + id: str, + trace_name: str, + inputs: typing.Dict[str, typing.Any], + environment: typing.Optional[str] = OMIT, ) -> str: """ Parameters: - app_id: typing.Optional[str]. - - base_id: typing.Optional[str]. - - - config_name: typing.Optional[str]. + - variant_id: typing.Optional[str]. - cost: typing.Optional[float]. @@ -112,19 +166,25 @@ def create_trace( - tags: typing.Optional[typing.List[str]]. - start_time: typing.Optional[dt.datetime]. + + - id: str. + + - trace_name: str. + + - inputs: typing.Dict[str, typing.Any]. + + - environment: typing.Optional[str]. --- from agenta.client import AgentaApi client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_trace() + client.create_trace(id="id", trace_name="trace_name", inputs={}) """ - _request: typing.Dict[str, typing.Any] = {} + _request: typing.Dict[str, typing.Any] = {"id": id, "trace_name": trace_name, "inputs": inputs} if app_id is not OMIT: _request["app_id"] = app_id - if base_id is not OMIT: - _request["base_id"] = base_id - if config_name is not OMIT: - _request["config_name"] = config_name + if variant_id is not OMIT: + _request["variant_id"] = variant_id if cost is not OMIT: _request["cost"] = cost if status is not OMIT: @@ -135,11 +195,11 @@ def create_trace( _request["tags"] = tags if start_time is not OMIT: _request["start_time"] = start_time + if environment is not OMIT: + _request["environment"] = environment _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -154,6 +214,33 @@ def create_trace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + def delete_traces(self, *, request: typing.List[str]) -> bool: + """ + Parameters: + - request: typing.List[str]. + --- + from agenta.client import AgentaApi + + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.delete_traces(request=["string"]) + """ + _response = self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + json=jsonable_encoder(request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + def get_spans_of_generation( self, *, @@ -161,10 +248,11 @@ def get_spans_of_generation( page: typing.Optional[int] = None, page_size: typing.Optional[int] = None, type: typing.Optional[str] = None, + trace_id: typing.Optional[str] = None, environment: typing.Optional[str] = None, variant: typing.Optional[str] = None, created_at: typing.Optional[str] = None, - ) -> WithPagination: + ) -> typing.Any: """ Parameters: - app_id: str. @@ -175,6 +263,8 @@ def get_spans_of_generation( - type: typing.Optional[str]. + - trace_id: typing.Optional[str]. + - environment: typing.Optional[str]. - variant: typing.Optional[str]. @@ -188,15 +278,14 @@ def get_spans_of_generation( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), params=remove_none_from_dict( { "app_id": app_id, "page": page, "pageSize": page_size, "type": type, + "trace_id": trace_id, "environment": environment, "variant": variant, "created_at": created_at, @@ -206,7 +295,7 @@ def get_spans_of_generation( timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(WithPagination, _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -225,16 +314,14 @@ def create_span( start_time: typing.Optional[dt.datetime] = OMIT, duration: typing.Optional[int] = OMIT, status: SpanStatus, - inputs: typing.Optional[typing.List[str]] = OMIT, - outputs: typing.Optional[typing.List[str]] = OMIT, - prompt_system: typing.Optional[str] = OMIT, - prompt_user: typing.Optional[str] = OMIT, - tokens_input: typing.Optional[int] = OMIT, - tokens_output: typing.Optional[int] = OMIT, - token_total: typing.Optional[int] = OMIT, + input: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + output: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, - tags: typing.Optional[typing.List[str]] = OMIT, trace_id: str, + span_id: str, + environment: typing.Optional[str] = OMIT, + end_time: dt.datetime, + tokens: typing.Optional[LlmTokens] = OMIT, ) -> str: """ Parameters: @@ -252,36 +339,42 @@ def create_span( - status: SpanStatus. - - inputs: typing.Optional[typing.List[str]]. - - - outputs: typing.Optional[typing.List[str]]. + - input: typing.Optional[typing.Dict[str, typing.Any]]. - - prompt_system: typing.Optional[str]. + - output: typing.Optional[str]. - - prompt_user: typing.Optional[str]. - - - tokens_input: typing.Optional[int]. + - cost: typing.Optional[float]. - - tokens_output: typing.Optional[int]. + - trace_id: str. - - token_total: typing.Optional[int]. + - span_id: str. - - cost: typing.Optional[float]. + - environment: typing.Optional[str]. - - tags: typing.Optional[typing.List[str]]. + - end_time: dt.datetime. - - trace_id: str. + - tokens: typing.Optional[LlmTokens]. --- + import datetime + from agenta import SpanStatus from agenta.client import AgentaApi client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_span(event_name="event_name", status=SpanStatus(), trace_id="trace_id") + client.create_span( + event_name="event_name", + status=SpanStatus(), + trace_id="trace_id", + span_id="span_id", + end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), + ) """ _request: typing.Dict[str, typing.Any] = { "event_name": event_name, "status": status, "trace_id": trace_id, + "span_id": span_id, + "end_time": end_time, } if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id @@ -293,29 +386,19 @@ def create_span( _request["start_time"] = start_time if duration is not OMIT: _request["duration"] = duration - if inputs is not OMIT: - _request["inputs"] = inputs - if outputs is not OMIT: - _request["outputs"] = outputs - if prompt_system is not OMIT: - _request["prompt_system"] = prompt_system - if prompt_user is not OMIT: - _request["prompt_user"] = prompt_user - if tokens_input is not OMIT: - _request["tokens_input"] = tokens_input - if tokens_output is not OMIT: - _request["tokens_output"] = tokens_output - if token_total is not OMIT: - _request["token_total"] = token_total + if input is not OMIT: + _request["input"] = input + if output is not OMIT: + _request["output"] = output if cost is not OMIT: _request["cost"] = cost - if tags is not OMIT: - _request["tags"] = tags + if environment is not OMIT: + _request["environment"] = environment + if tokens is not OMIT: + _request["tokens"] = tokens _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -330,32 +413,25 @@ def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_span_of_generation( - self, span_id: str, *, type: typing.Optional[str] = None - ) -> SpanDetail: + def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: """ Parameters: - - span_id: str. - - - type: typing.Optional[str]. + - request: typing.List[str]. --- from agenta.client import AgentaApi client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_span_of_generation(span_id="span_id") + client.delete_spans_of_trace(request=["string"]) """ _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{span_id}", - ), - params=remove_none_from_dict({"type": type}), + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(SpanDetail, _response.json()) # type: ignore + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -364,27 +440,24 @@ def get_span_of_generation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def delete_span_of_trace(self, span_id: str) -> bool: + def get_trace_detail(self, trace_id: str) -> TraceDetail: """ Parameters: - - span_id: str. + - trace_id: str. --- from agenta.client import AgentaApi client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_span_of_trace(span_id="span_id") + client.get_trace_detail(trace_id="trace_id") """ _response = self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{span_id}", - ), + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + return pydantic.parse_obj_as(TraceDetail, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -393,9 +466,7 @@ def delete_span_of_trace(self, span_id: str) -> bool: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_trace( - self, trace_id: str, *, status: str, end_time: dt.datetime - ) -> bool: + def update_trace(self, trace_id: str, *, status: str, end_time: dt.datetime, outputs: typing.List[str]) -> bool: """ Parameters: - trace_id: str. @@ -403,6 +474,8 @@ def update_trace( - status: str. - end_time: dt.datetime. + + - outputs: typing.List[str]. --- import datetime @@ -410,16 +483,16 @@ def update_trace( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.update_trace( - trace_id="trace_id", status="status", end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00") + trace_id="trace_id", + status="status", + end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), + outputs=["outputs"], ) """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), - json=jsonable_encoder({"status": status, "end_time": end_time}), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + json=jsonable_encoder({"status": status, "end_time": end_time, "outputs": outputs}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -433,6 +506,35 @@ def update_trace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + """ + Parameters: + - span_id: str. + + - type: typing.Optional[str]. + --- + from agenta.client import AgentaApi + + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_span_of_generation(span_id="span_id") + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + params=remove_none_from_dict({"type": type}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(SpanDetail, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ Parameters: @@ -445,10 +547,7 @@ def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -494,10 +593,7 @@ def create_feedback( _request["meta"] = meta _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -527,8 +623,7 @@ def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -577,8 +672,7 @@ def update_feedback( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -602,48 +696,100 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): async def dashboard( self, *, - start_time: typing.Optional[int] = None, - end_time: typing.Optional[int] = None, + app_id: str, + time_range: typing.Optional[str] = None, environment: typing.Optional[str] = None, variant: typing.Optional[str] = None, - app_id: typing.Optional[str] = None, - ) -> ObservabilityDashboardData: + ) -> typing.Any: """ Parameters: - - start_time: typing.Optional[int]. + - app_id: str. - - end_time: typing.Optional[int]. + - time_range: typing.Optional[str]. - environment: typing.Optional[str]. - variant: typing.Optional[str]. - - - app_id: typing.Optional[str]. --- from agenta.client import AsyncAgentaApi client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.dashboard() + await client.dashboard(app_id="app_id") """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + params=remove_none_from_dict( + {"app_id": app_id, "timeRange": time_range, "environment": environment, "variant": variant} ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_traces( + self, + *, + app_id: str, + page: typing.Optional[int] = None, + page_size: typing.Optional[int] = None, + type: typing.Optional[str] = None, + trace_id: typing.Optional[str] = None, + environment: typing.Optional[str] = None, + variant: typing.Optional[str] = None, + created_at: typing.Optional[str] = None, + ) -> WithPagination: + """ + Parameters: + - app_id: str. + + - page: typing.Optional[int]. + + - page_size: typing.Optional[int]. + + - type: typing.Optional[str]. + + - trace_id: typing.Optional[str]. + + - environment: typing.Optional[str]. + + - variant: typing.Optional[str]. + + - created_at: typing.Optional[str]. + --- + from agenta.client import AsyncAgentaApi + + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_traces(app_id="app_id") + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), params=remove_none_from_dict( { - "startTime": start_time, - "endTime": end_time, + "app_id": app_id, + "page": page, + "pageSize": page_size, + "type": type, + "trace_id": trace_id, "environment": environment, "variant": variant, - "appId": app_id, + "created_at": created_at, } ), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(ObservabilityDashboardData, _response.json()) # type: ignore + return pydantic.parse_obj_as(WithPagination, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -656,64 +802,66 @@ async def create_trace( self, *, app_id: typing.Optional[str] = OMIT, - base_id: typing.Optional[str] = OMIT, - config_name: typing.Optional[str] = OMIT, + variant_id: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, status: typing.Optional[str] = OMIT, - environment: typing.Optional[str] = OMIT, token_consumption: typing.Optional[int] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, + id: str, + trace_name: str, + inputs: typing.Dict[str, typing.Any], + environment: typing.Optional[str] = OMIT, ) -> str: """ Parameters: - app_id: typing.Optional[str]. - - base_id: typing.Optional[str]. - - - config_name: typing.Optional[str]. + - variant_id: typing.Optional[str]. - cost: typing.Optional[float]. - status: typing.Optional[str]. - - environment: typing.Optional[str]. - - token_consumption: typing.Optional[int]. - tags: typing.Optional[typing.List[str]]. - start_time: typing.Optional[dt.datetime]. + + - id: str. + + - trace_name: str. + + - inputs: typing.Dict[str, typing.Any]. + + - environment: typing.Optional[str]. --- from agenta.client import AsyncAgentaApi client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_trace() + await client.create_trace(id="id", trace_name="trace_name", inputs={}) """ - _request: typing.Dict[str, typing.Any] = {} + _request: typing.Dict[str, typing.Any] = {"id": id, "trace_name": trace_name, "inputs": inputs} if app_id is not OMIT: _request["app_id"] = app_id - if base_id is not OMIT: - _request["base_id"] = base_id - if config_name is not OMIT: - _request["config_name"] = config_name + if variant_id is not OMIT: + _request["variant_id"] = variant_id if cost is not OMIT: _request["cost"] = cost if status is not OMIT: _request["status"] = status - if environment is not OMIT: - _request["environment"] = environment if token_consumption is not OMIT: _request["token_consumption"] = token_consumption if tags is not OMIT: _request["tags"] = tags if start_time is not OMIT: _request["start_time"] = start_time + if environment is not OMIT: + _request["environment"] = environment _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -728,6 +876,33 @@ async def create_trace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + async def delete_traces(self, *, request: typing.List[str]) -> bool: + """ + Parameters: + - request: typing.List[str]. + --- + from agenta.client import AsyncAgentaApi + + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.delete_traces(request=["string"]) + """ + _response = await self._client_wrapper.httpx_client.request( + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + json=jsonable_encoder(request), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + async def get_spans_of_generation( self, *, @@ -735,10 +910,11 @@ async def get_spans_of_generation( page: typing.Optional[int] = None, page_size: typing.Optional[int] = None, type: typing.Optional[str] = None, + trace_id: typing.Optional[str] = None, environment: typing.Optional[str] = None, variant: typing.Optional[str] = None, created_at: typing.Optional[str] = None, - ) -> WithPagination: + ) -> typing.Any: """ Parameters: - app_id: str. @@ -749,6 +925,8 @@ async def get_spans_of_generation( - type: typing.Optional[str]. + - trace_id: typing.Optional[str]. + - environment: typing.Optional[str]. - variant: typing.Optional[str]. @@ -762,15 +940,14 @@ async def get_spans_of_generation( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), params=remove_none_from_dict( { "app_id": app_id, "page": page, "pageSize": page_size, "type": type, + "trace_id": trace_id, "environment": environment, "variant": variant, "created_at": created_at, @@ -780,7 +957,7 @@ async def get_spans_of_generation( timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(WithPagination, _response.json()) # type: ignore + return pydantic.parse_obj_as(typing.Any, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -799,17 +976,14 @@ async def create_span( start_time: typing.Optional[dt.datetime] = OMIT, duration: typing.Optional[int] = OMIT, status: SpanStatus, - environment: typing.Optional[str] = OMIT, - inputs: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - outputs: typing.Optional[typing.List[str]] = OMIT, - prompt_system: typing.Optional[str] = OMIT, - prompt_user: typing.Optional[str] = OMIT, - tokens_input: typing.Optional[int] = OMIT, - tokens_output: typing.Optional[int] = OMIT, - token_total: typing.Optional[int] = OMIT, + input: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + output: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, - tags: typing.Optional[typing.List[str]] = OMIT, trace_id: str, + span_id: str, + environment: typing.Optional[str] = OMIT, + end_time: dt.datetime, + tokens: typing.Optional[LlmTokens] = OMIT, ) -> str: """ Parameters: @@ -827,38 +1001,42 @@ async def create_span( - status: SpanStatus. - - environment: typing.Optional[str]. - - - inputs: typing.Optional[typing.Dict[str, Any]]. + - input: typing.Optional[typing.Dict[str, typing.Any]]. - - outputs: typing.Optional[typing.List[str]]. + - output: typing.Optional[str]. - - prompt_system: typing.Optional[str]. - - - prompt_user: typing.Optional[str]. - - - tokens_input: typing.Optional[int]. + - cost: typing.Optional[float]. - - tokens_output: typing.Optional[int]. + - trace_id: str. - - token_total: typing.Optional[int]. + - span_id: str. - - cost: typing.Optional[float]. + - environment: typing.Optional[str]. - - tags: typing.Optional[typing.List[str]]. + - end_time: dt.datetime. - - trace_id: str. + - tokens: typing.Optional[LlmTokens]. --- + import datetime + from agenta import SpanStatus from agenta.client import AsyncAgentaApi client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_span(event_name="event_name", status=SpanStatus(), trace_id="trace_id") + await client.create_span( + event_name="event_name", + status=SpanStatus(), + trace_id="trace_id", + span_id="span_id", + end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), + ) """ _request: typing.Dict[str, typing.Any] = { "event_name": event_name, "status": status, "trace_id": trace_id, + "span_id": span_id, + "end_time": end_time, } if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id @@ -870,31 +1048,19 @@ async def create_span( _request["start_time"] = start_time if duration is not OMIT: _request["duration"] = duration - if environment is not OMIT: - _request["environment"] = environment - if inputs is not OMIT: - _request["inputs"] = inputs - if outputs is not OMIT: - _request["outputs"] = outputs - if prompt_system is not OMIT: - _request["prompt_system"] = prompt_system - if prompt_user is not OMIT: - _request["prompt_user"] = prompt_user - if tokens_input is not OMIT: - _request["tokens_input"] = tokens_input - if tokens_output is not OMIT: - _request["tokens_output"] = tokens_output - if token_total is not OMIT: - _request["token_total"] = token_total + if input is not OMIT: + _request["input"] = input + if output is not OMIT: + _request["output"] = output if cost is not OMIT: _request["cost"] = cost - if tags is not OMIT: - _request["tags"] = tags + if environment is not OMIT: + _request["environment"] = environment + if tokens is not OMIT: + _request["tokens"] = tokens _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -909,32 +1075,25 @@ async def create_span( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_span_of_generation( - self, span_id: str, *, type: typing.Optional[str] = None - ) -> SpanDetail: + async def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: """ Parameters: - - span_id: str. - - - type: typing.Optional[str]. + - request: typing.List[str]. --- from agenta.client import AsyncAgentaApi client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_span_of_generation(span_id="span_id") + await client.delete_spans_of_trace(request=["string"]) """ _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{span_id}", - ), - params=remove_none_from_dict({"type": type}), + "DELETE", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(SpanDetail, _response.json()) # type: ignore + return pydantic.parse_obj_as(bool, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -943,27 +1102,24 @@ async def get_span_of_generation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_span_of_trace(self, span_id: str) -> bool: + async def get_trace_detail(self, trace_id: str) -> TraceDetail: """ Parameters: - - span_id: str. + - trace_id: str. --- from agenta.client import AsyncAgentaApi client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_span_of_trace(span_id="span_id") + await client.get_trace_detail(trace_id="trace_id") """ _response = await self._client_wrapper.httpx_client.request( - "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{span_id}", - ), + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(bool, _response.json()) # type: ignore + return pydantic.parse_obj_as(TraceDetail, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -973,7 +1129,7 @@ async def delete_span_of_trace(self, span_id: str) -> bool: raise ApiError(status_code=_response.status_code, body=_response_json) async def update_trace( - self, trace_id: str, *, status: str, end_time: dt.datetime + self, trace_id: str, *, status: str, end_time: dt.datetime, outputs: typing.List[str] ) -> bool: """ Parameters: @@ -982,6 +1138,8 @@ async def update_trace( - status: str. - end_time: dt.datetime. + + - outputs: typing.List[str]. --- import datetime @@ -989,16 +1147,16 @@ async def update_trace( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.update_trace( - trace_id="trace_id", status="status", end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00") + trace_id="trace_id", + status="status", + end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), + outputs=["outputs"], ) """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), - json=jsonable_encoder({"status": status, "end_time": end_time}), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + json=jsonable_encoder({"status": status, "end_time": end_time, "outputs": outputs}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1012,6 +1170,35 @@ async def update_trace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + """ + Parameters: + - span_id: str. + + - type: typing.Optional[str]. + --- + from agenta.client import AsyncAgentaApi + + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_span_of_generation(span_id="span_id") + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + params=remove_none_from_dict({"type": type}), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(SpanDetail, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ Parameters: @@ -1024,10 +1211,7 @@ async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1073,10 +1257,7 @@ async def create_feedback( _request["meta"] = meta _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1106,8 +1287,7 @@ async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1156,8 +1336,7 @@ async def update_feedback( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/testsets/client.py b/agenta-cli/agenta/client/backend/resources/testsets/client.py index 948dbb0478..29918d8a8f 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/client.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/client.py @@ -52,16 +52,8 @@ def upload_file( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/upload" - ), - data=jsonable_encoder( - { - "upload_type": upload_type, - "testset_name": testset_name, - "app_id": app_id, - } - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), + data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -95,9 +87,7 @@ def import_testset(self) -> TestSetSimpleResponse: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -111,9 +101,7 @@ def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_testset( - self, app_id: str, *, request: NewTestset - ) -> TestSetSimpleResponse: + def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -138,9 +126,7 @@ def create_testset( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -175,9 +161,7 @@ def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -215,9 +199,7 @@ def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -334,16 +316,8 @@ async def upload_file( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/upload" - ), - data=jsonable_encoder( - { - "upload_type": upload_type, - "testset_name": testset_name, - "app_id": app_id, - } - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), + data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -377,9 +351,7 @@ async def import_testset(self) -> TestSetSimpleResponse: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -393,9 +365,7 @@ async def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_testset( - self, app_id: str, *, request: NewTestset - ) -> TestSetSimpleResponse: + async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -420,9 +390,7 @@ async def create_testset( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -457,9 +425,7 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -473,9 +439,7 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_testset( - self, testset_id: str, *, request: NewTestset - ) -> typing.Any: + async def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: """ Update a testset with given id, update the testset in MongoDB. @@ -499,9 +463,7 @@ async def update_testset( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -553,9 +515,7 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_testsets( - self, *, testset_ids: typing.List[str] - ) -> typing.List[str]: + async def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: """ Delete specific testsets based on their unique IDs. diff --git a/agenta-cli/agenta/client/backend/resources/variants/client.py b/agenta-cli/agenta/client/backend/resources/variants/client.py index 6e928c3add..530f92faa4 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/client.py +++ b/agenta-cli/agenta/client/backend/resources/variants/client.py @@ -8,15 +8,14 @@ from ...core.client_wrapper import AsyncClientWrapper, SyncClientWrapper from ...core.jsonable_encoder import jsonable_encoder from ...errors.unprocessable_entity_error import UnprocessableEntityError -from ...types.app_variant_output_extended import AppVariantOutputExtended +from ...types.app_variant_response import AppVariantResponse +from ...types.app_variant_revision import AppVariantRevision from ...types.docker_env_vars import DockerEnvVars from ...types.http_validation_error import HttpValidationError from ...types.image import Image from ...types.uri import Uri from ...types.variant_action import VariantAction -from .types.add_variant_from_base_and_config_response import ( - AddVariantFromBaseAndConfigResponse, -) +from .types.add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse try: import pydantic.v1 as pydantic # type: ignore @@ -32,12 +31,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def add_variant_from_base_and_config( - self, - *, - base_id: str, - new_variant_name: str, - new_config_name: str, - parameters: typing.Dict[str, typing.Any], + self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -64,9 +58,7 @@ def add_variant_from_base_and_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "variants/from-base" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), json=jsonable_encoder( { "base_id": base_id, @@ -88,7 +80,7 @@ def add_variant_from_base_and_config( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant(self, variant_id: str) -> AppVariantOutputExtended: + def get_variant(self, variant_id: str) -> AppVariantResponse: """ Parameters: - variant_id: str. @@ -100,14 +92,12 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(AppVariantOutputExtended, _response.json()) # type: ignore + return pydantic.parse_obj_as(AppVariantResponse, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -117,11 +107,7 @@ def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) def start_variant( - self, - variant_id: str, - *, - action: VariantAction, - env_vars: typing.Optional[DockerEnvVars] = OMIT, + self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT ) -> Uri: """ Start a variant of an app. @@ -156,9 +142,7 @@ def start_variant( _request["env_vars"] = env_vars _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -194,9 +178,7 @@ def remove_variant(self, variant_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -210,9 +192,7 @@ def remove_variant(self, variant_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_variant_parameters( - self, variant_id: str, *, parameters: typing.Dict[str, typing.Any] - ) -> typing.Any: + def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[str, typing.Any]) -> typing.Any: """ Updates the parameters for an app variant. @@ -239,10 +219,7 @@ def update_variant_parameters( """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/parameters", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -284,10 +261,7 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -302,18 +276,95 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + def get_variant_using_base_id(self, base_id: str) -> AppVariantResponse: + """ + Parameters: + - base_id: str. + --- + from agenta.client import AgentaApi + + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_variant_using_base_id(base_id="base_id") + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{base_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AppVariantResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariantRevision]: + """ + Parameters: + - variant_id: str. + --- + from agenta.client import AgentaApi + + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_variant_revisions(variant_id="variant_id") + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[AppVariantRevision], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + def get_variant_revision(self, variant_id: str, revision_number: int) -> AppVariantRevision: + """ + Parameters: + - variant_id: str. + + - revision_number: int. + --- + from agenta.client import AgentaApi + + client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client.get_variant_revision(variant_id="variant_id", revision_number=1) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions/{revision_number}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AppVariantRevision, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + class AsyncVariantsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def add_variant_from_base_and_config( - self, - *, - base_id: str, - new_variant_name: str, - new_config_name: str, - parameters: typing.Dict[str, typing.Any], + self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -340,9 +391,7 @@ async def add_variant_from_base_and_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "variants/from-base" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), json=jsonable_encoder( { "base_id": base_id, @@ -364,7 +413,7 @@ async def add_variant_from_base_and_config( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: + async def get_variant(self, variant_id: str) -> AppVariantResponse: """ Parameters: - variant_id: str. @@ -376,14 +425,12 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(AppVariantOutputExtended, _response.json()) # type: ignore + return pydantic.parse_obj_as(AppVariantResponse, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -393,11 +440,7 @@ async def get_variant(self, variant_id: str) -> AppVariantOutputExtended: raise ApiError(status_code=_response.status_code, body=_response_json) async def start_variant( - self, - variant_id: str, - *, - action: VariantAction, - env_vars: typing.Optional[DockerEnvVars] = OMIT, + self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT ) -> Uri: """ Start a variant of an app. @@ -432,9 +475,7 @@ async def start_variant( _request["env_vars"] = env_vars _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -470,9 +511,7 @@ async def remove_variant(self, variant_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -515,10 +554,7 @@ async def update_variant_parameters( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/parameters", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -533,9 +569,7 @@ async def update_variant_parameters( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_variant_image( - self, variant_id: str, *, request: Image - ) -> typing.Any: + async def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any: """ Updates the image used in an app variant. @@ -562,10 +596,7 @@ async def update_variant_image( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -579,3 +610,85 @@ async def update_variant_image( except JSONDecodeError: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_variant_using_base_id(self, base_id: str) -> AppVariantResponse: + """ + Parameters: + - base_id: str. + --- + from agenta.client import AsyncAgentaApi + + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_variant_using_base_id(base_id="base_id") + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{base_id}"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AppVariantResponse, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariantRevision]: + """ + Parameters: + - variant_id: str. + --- + from agenta.client import AsyncAgentaApi + + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_variant_revisions(variant_id="variant_id") + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions"), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(typing.List[AppVariantRevision], _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + + async def get_variant_revision(self, variant_id: str, revision_number: int) -> AppVariantRevision: + """ + Parameters: + - variant_id: str. + + - revision_number: int. + --- + from agenta.client import AsyncAgentaApi + + client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + await client.get_variant_revision(variant_id="variant_id", revision_number=1) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions/{revision_number}" + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(AppVariantRevision, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) diff --git a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py index fac6b42753..b3bfbb0781 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py @@ -1,7 +1,5 @@ # This file was auto-generated by Fern from our API Definition. -from .add_variant_from_base_and_config_response import ( - AddVariantFromBaseAndConfigResponse, -) +from .add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse __all__ = ["AddVariantFromBaseAndConfigResponse"] diff --git a/agenta-cli/agenta/client/backend/types/__init__.py b/agenta-cli/agenta/client/backend/types/__init__.py index 377f166736..06795860eb 100644 --- a/agenta-cli/agenta/client/backend/types/__init__.py +++ b/agenta-cli/agenta/client/backend/types/__init__.py @@ -3,7 +3,6 @@ from .aggregated_result import AggregatedResult from .aggregated_result_evaluator_config import AggregatedResultEvaluatorConfig from .app import App -from .app_variant_output_extended import AppVariantOutputExtended from .app_variant_response import AppVariantResponse from .app_variant_revision import AppVariantRevision from .base_output import BaseOutput @@ -42,10 +41,9 @@ from .llm_inputs import LlmInputs from .llm_model_params import LlmModelParams from .llm_run_rate_limit import LlmRunRateLimit +from .llm_tokens import LlmTokens from .new_human_evaluation import NewHumanEvaluation from .new_testset import NewTestset -from .observability_dashboard_data import ObservabilityDashboardData -from .observability_data import ObservabilityData from .organization import Organization from .organization_output import OrganizationOutput from .permission import Permission @@ -60,6 +58,7 @@ from .template_image_info import TemplateImageInfo from .test_set_output_response import TestSetOutputResponse from .test_set_simple_response import TestSetSimpleResponse +from .trace_detail import TraceDetail from .uri import Uri from .validation_error import ValidationError from .validation_error_loc_item import ValidationErrorLocItem @@ -76,7 +75,6 @@ "AggregatedResult", "AggregatedResultEvaluatorConfig", "App", - "AppVariantOutputExtended", "AppVariantResponse", "AppVariantRevision", "BaseOutput", @@ -115,10 +113,9 @@ "LlmInputs", "LlmModelParams", "LlmRunRateLimit", + "LlmTokens", "NewHumanEvaluation", "NewTestset", - "ObservabilityDashboardData", - "ObservabilityData", "Organization", "OrganizationOutput", "Permission", @@ -133,6 +130,7 @@ "TemplateImageInfo", "TestSetOutputResponse", "TestSetSimpleResponse", + "TraceDetail", "Uri", "ValidationError", "ValidationErrorLocItem", diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result.py b/agenta-cli/agenta/client/backend/types/aggregated_result.py index 378e25bd96..cdfc47d3eb 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result.py @@ -18,19 +18,11 @@ class AggregatedResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py index 0af9c60a8e..567c18f49d 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py @@ -4,6 +4,4 @@ from .evaluator_config import EvaluatorConfig -AggregatedResultEvaluatorConfig = typing.Union[ - EvaluatorConfig, typing.Dict[str, typing.Any] -] +AggregatedResultEvaluatorConfig = typing.Union[EvaluatorConfig, typing.Dict[str, typing.Any]] diff --git a/agenta-cli/agenta/client/backend/types/app.py b/agenta-cli/agenta/client/backend/types/app.py index 7611dc75e9..be4e77b499 100644 --- a/agenta-cli/agenta/client/backend/types/app.py +++ b/agenta-cli/agenta/client/backend/types/app.py @@ -16,19 +16,11 @@ class App(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py b/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py deleted file mode 100644 index 7afa9ba62c..0000000000 --- a/agenta-cli/agenta/client/backend/types/app_variant_output_extended.py +++ /dev/null @@ -1,51 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import datetime as dt -import typing - -from ..core.datetime_utils import serialize_datetime -from .app_variant_revision import AppVariantRevision - -try: - import pydantic.v1 as pydantic # type: ignore -except ImportError: - import pydantic # type: ignore - - -class AppVariantOutputExtended(pydantic.BaseModel): - app_id: str - app_name: str - variant_id: str - variant_name: str - parameters: typing.Optional[typing.Dict[str, typing.Any]] - previous_variant_name: typing.Optional[str] - user_id: str - base_name: str - base_id: str - config_name: str - uri: typing.Optional[str] - revision: int - revisions: typing.List[AppVariantRevision] - organization_id: typing.Optional[str] - workspace_id: typing.Optional[str] - - def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } - return super().json(**kwargs_with_defaults) - - def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } - return super().dict(**kwargs_with_defaults) - - class Config: - frozen = True - smart_union = True - json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/app_variant_response.py b/agenta-cli/agenta/client/backend/types/app_variant_response.py index 89f974a2b8..d5d166be8c 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_response.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_response.py @@ -23,23 +23,16 @@ class AppVariantResponse(pydantic.BaseModel): base_id: str config_name: str uri: typing.Optional[str] + revision: int organization_id: typing.Optional[str] workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_revision.py b/agenta-cli/agenta/client/backend/types/app_variant_revision.py index 39976d7a25..38434297c3 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_revision.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_revision.py @@ -19,19 +19,11 @@ class AppVariantRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/base_output.py b/agenta-cli/agenta/client/backend/types/base_output.py index 43a0e31eae..2a0a9b41bd 100644 --- a/agenta-cli/agenta/client/backend/types/base_output.py +++ b/agenta-cli/agenta/client/backend/types/base_output.py @@ -16,19 +16,11 @@ class BaseOutput(pydantic.BaseModel): base_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/body_import_testset.py b/agenta-cli/agenta/client/backend/types/body_import_testset.py index f06788d80d..1cfab34428 100644 --- a/agenta-cli/agenta/client/backend/types/body_import_testset.py +++ b/agenta-cli/agenta/client/backend/types/body_import_testset.py @@ -17,19 +17,11 @@ class BodyImportTestset(pydantic.BaseModel): app_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/config_db.py b/agenta-cli/agenta/client/backend/types/config_db.py index 7e7b9004fd..7414370572 100644 --- a/agenta-cli/agenta/client/backend/types/config_db.py +++ b/agenta-cli/agenta/client/backend/types/config_db.py @@ -16,19 +16,11 @@ class ConfigDb(pydantic.BaseModel): parameters: typing.Optional[typing.Dict[str, typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/create_app_output.py b/agenta-cli/agenta/client/backend/types/create_app_output.py index a736531605..adcf9fdfee 100644 --- a/agenta-cli/agenta/client/backend/types/create_app_output.py +++ b/agenta-cli/agenta/client/backend/types/create_app_output.py @@ -16,19 +16,11 @@ class CreateAppOutput(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/docker_env_vars.py b/agenta-cli/agenta/client/backend/types/docker_env_vars.py index ea0c144502..9a0630554a 100644 --- a/agenta-cli/agenta/client/backend/types/docker_env_vars.py +++ b/agenta-cli/agenta/client/backend/types/docker_env_vars.py @@ -15,19 +15,11 @@ class DockerEnvVars(pydantic.BaseModel): env_vars: typing.Dict[str, str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output.py b/agenta-cli/agenta/client/backend/types/environment_output.py index 6268b56c14..feb80a72f5 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output.py +++ b/agenta-cli/agenta/client/backend/types/environment_output.py @@ -22,19 +22,11 @@ class EnvironmentOutput(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output_extended.py b/agenta-cli/agenta/client/backend/types/environment_output_extended.py index 75eea02d69..41baf24d13 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/environment_output_extended.py @@ -24,19 +24,11 @@ class EnvironmentOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_revision.py b/agenta-cli/agenta/client/backend/types/environment_revision.py index c98bf70e74..cf8aa77edd 100644 --- a/agenta-cli/agenta/client/backend/types/environment_revision.py +++ b/agenta-cli/agenta/client/backend/types/environment_revision.py @@ -20,19 +20,11 @@ class EnvironmentRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/error.py b/agenta-cli/agenta/client/backend/types/error.py index ff81c2a8cd..174cc34048 100644 --- a/agenta-cli/agenta/client/backend/types/error.py +++ b/agenta-cli/agenta/client/backend/types/error.py @@ -16,19 +16,11 @@ class Error(pydantic.BaseModel): stacktrace: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation.py b/agenta-cli/agenta/client/backend/types/evaluation.py index 38c75068d4..64a657815d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation.py +++ b/agenta-cli/agenta/client/backend/types/evaluation.py @@ -30,19 +30,11 @@ class Evaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py index 36229c357d..b221afc09c 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py @@ -26,19 +26,11 @@ class EvaluationScenario(pydantic.BaseModel): results: typing.List[EvaluationScenarioResult] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py index 700f6372e4..826ae00434 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py @@ -17,19 +17,11 @@ class EvaluationScenarioInput(pydantic.BaseModel): value: typing.Optional[typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py index 7a2cb171c9..582e1ae617 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py @@ -16,19 +16,11 @@ class EvaluationScenarioOutput(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py index 57fbd6e082..62f4d0015a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py @@ -17,19 +17,11 @@ class EvaluationScenarioResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py index 68ed0da745..4a8fcbcb6a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py @@ -15,19 +15,11 @@ class EvaluationScenarioScoreUpdate(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_type.py b/agenta-cli/agenta/client/backend/types/evaluation_type.py index 4d2b91066d..45c37b9c82 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_type.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_type.py @@ -15,9 +15,7 @@ class EvaluationType(str, enum.Enum): SINGLE_MODEL_TEST = "single_model_test" def visit( - self, - human_a_b_testing: typing.Callable[[], T_Result], - single_model_test: typing.Callable[[], T_Result], + self, human_a_b_testing: typing.Callable[[], T_Result], single_model_test: typing.Callable[[], T_Result] ) -> T_Result: if self is EvaluationType.HUMAN_A_B_TESTING: return human_a_b_testing() diff --git a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py index c8d71dc626..7eb6db6bc6 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py @@ -15,19 +15,11 @@ class EvaluationWebhook(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator.py b/agenta-cli/agenta/client/backend/types/evaluator.py index 70bea7aa58..ea706c01a8 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator.py +++ b/agenta-cli/agenta/client/backend/types/evaluator.py @@ -16,21 +16,14 @@ class Evaluator(pydantic.BaseModel): key: str direct_use: bool settings_template: typing.Dict[str, typing.Any] + description: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator_config.py b/agenta-cli/agenta/client/backend/types/evaluator_config.py index 7ca248d882..54fed00c6a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/evaluator_config.py @@ -20,19 +20,11 @@ class EvaluatorConfig(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/feedback.py b/agenta-cli/agenta/client/backend/types/feedback.py index e4fa0db6e1..c771eb1e39 100644 --- a/agenta-cli/agenta/client/backend/types/feedback.py +++ b/agenta-cli/agenta/client/backend/types/feedback.py @@ -19,19 +19,11 @@ class Feedback(pydantic.BaseModel): created_at: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/get_config_response.py b/agenta-cli/agenta/client/backend/types/get_config_response.py index d3b8e334ce..448a75128e 100644 --- a/agenta-cli/agenta/client/backend/types/get_config_response.py +++ b/agenta-cli/agenta/client/backend/types/get_config_response.py @@ -18,19 +18,11 @@ class GetConfigResponse(pydantic.BaseModel): parameters: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/http_validation_error.py b/agenta-cli/agenta/client/backend/types/http_validation_error.py index 02fc88d818..e5f647b24d 100644 --- a/agenta-cli/agenta/client/backend/types/http_validation_error.py +++ b/agenta-cli/agenta/client/backend/types/http_validation_error.py @@ -16,19 +16,11 @@ class HttpValidationError(pydantic.BaseModel): detail: typing.Optional[typing.List[ValidationError]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation.py b/agenta-cli/agenta/client/backend/types/human_evaluation.py index 299120edc6..49bfb5da85 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation.py @@ -28,19 +28,11 @@ class HumanEvaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py index 5f1f36b824..a837a1ff4c 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py @@ -27,19 +27,11 @@ class HumanEvaluationScenario(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py index d65233935e..bf35c307cb 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py @@ -16,19 +16,11 @@ class HumanEvaluationScenarioInput(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py index 752606176b..e239ca6cd2 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py @@ -16,19 +16,11 @@ class HumanEvaluationScenarioOutput(pydantic.BaseModel): variant_output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py index 3d099aea1d..cb035d6c6b 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py @@ -24,19 +24,11 @@ class HumanEvaluationScenarioUpdate(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py index 360f8cc449..71c6cac057 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py @@ -16,19 +16,11 @@ class HumanEvaluationUpdate(pydantic.BaseModel): status: typing.Optional[EvaluationStatusEnum] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/image.py b/agenta-cli/agenta/client/backend/types/image.py index 52bd510c66..03c2193087 100644 --- a/agenta-cli/agenta/client/backend/types/image.py +++ b/agenta-cli/agenta/client/backend/types/image.py @@ -19,19 +19,11 @@ class Image(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/invite_request.py b/agenta-cli/agenta/client/backend/types/invite_request.py index 2a9c8f0bac..5a454982de 100644 --- a/agenta-cli/agenta/client/backend/types/invite_request.py +++ b/agenta-cli/agenta/client/backend/types/invite_request.py @@ -16,19 +16,11 @@ class InviteRequest(pydantic.BaseModel): roles: typing.List[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py index dd393d6268..0aa72d80ee 100644 --- a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py +++ b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py @@ -18,19 +18,11 @@ class ListApiKeysResponse(pydantic.BaseModel): expiration_date: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_content.py b/agenta-cli/agenta/client/backend/types/llm_content.py index f85285ada3..c6ab83f6d0 100644 --- a/agenta-cli/agenta/client/backend/types/llm_content.py +++ b/agenta-cli/agenta/client/backend/types/llm_content.py @@ -17,19 +17,11 @@ class LlmContent(pydantic.BaseModel): output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_inputs.py b/agenta-cli/agenta/client/backend/types/llm_inputs.py index a0d2a1bf35..97f828f45c 100644 --- a/agenta-cli/agenta/client/backend/types/llm_inputs.py +++ b/agenta-cli/agenta/client/backend/types/llm_inputs.py @@ -16,19 +16,11 @@ class LlmInputs(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_model_params.py b/agenta-cli/agenta/client/backend/types/llm_model_params.py index 3e53cf681c..417b05cc6d 100644 --- a/agenta-cli/agenta/client/backend/types/llm_model_params.py +++ b/agenta-cli/agenta/client/backend/types/llm_model_params.py @@ -16,19 +16,11 @@ class LlmModelParams(pydantic.BaseModel): params: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py index 24214f4c59..b7ea18a69d 100644 --- a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py +++ b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py @@ -18,19 +18,11 @@ class LlmRunRateLimit(pydantic.BaseModel): delay_between_batches: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_data.py b/agenta-cli/agenta/client/backend/types/llm_tokens.py similarity index 59% rename from agenta-cli/agenta/client/backend/types/observability_data.py rename to agenta-cli/agenta/client/backend/types/llm_tokens.py index e55c62e139..353f864d9e 100644 --- a/agenta-cli/agenta/client/backend/types/observability_data.py +++ b/agenta-cli/agenta/client/backend/types/llm_tokens.py @@ -11,32 +11,17 @@ import pydantic # type: ignore -class ObservabilityData(pydantic.BaseModel): - timestamp: dt.datetime - success_count: int - failure_count: int - cost: float - latency: float - total_tokens: int +class LlmTokens(pydantic.BaseModel): prompt_tokens: int completion_tokens: int - environment: str - variant: str + total_tokens: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py index 30067d0ae7..c201ac2f27 100644 --- a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py @@ -21,19 +21,11 @@ class NewHumanEvaluation(pydantic.BaseModel): status: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_testset.py b/agenta-cli/agenta/client/backend/types/new_testset.py index 7f931de42e..20b5ec77ad 100644 --- a/agenta-cli/agenta/client/backend/types/new_testset.py +++ b/agenta-cli/agenta/client/backend/types/new_testset.py @@ -16,19 +16,11 @@ class NewTestset(pydantic.BaseModel): csvdata: typing.List[typing.Dict[str, str]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization.py b/agenta-cli/agenta/client/backend/types/organization.py index 83c81d68d4..4a6b6dd1f8 100644 --- a/agenta-cli/agenta/client/backend/types/organization.py +++ b/agenta-cli/agenta/client/backend/types/organization.py @@ -22,19 +22,11 @@ class Organization(pydantic.BaseModel): is_paying: typing.Optional[bool] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization_output.py b/agenta-cli/agenta/client/backend/types/organization_output.py index 93b88e4cf4..d3269aeb52 100644 --- a/agenta-cli/agenta/client/backend/types/organization_output.py +++ b/agenta-cli/agenta/client/backend/types/organization_output.py @@ -16,19 +16,11 @@ class OrganizationOutput(pydantic.BaseModel): name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/result.py b/agenta-cli/agenta/client/backend/types/result.py index 77e4c84d0a..c807398f53 100644 --- a/agenta-cli/agenta/client/backend/types/result.py +++ b/agenta-cli/agenta/client/backend/types/result.py @@ -18,19 +18,11 @@ class Result(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py index ed86be2b2e..3bba878f7b 100644 --- a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py +++ b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py @@ -20,19 +20,11 @@ class SimpleEvaluationOutput(pydantic.BaseModel): evaluation_type: EvaluationType def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_detail.py b/agenta-cli/agenta/client/backend/types/span_detail.py index ab4516173d..7df1b9f0e8 100644 --- a/agenta-cli/agenta/client/backend/types/span_detail.py +++ b/agenta-cli/agenta/client/backend/types/span_detail.py @@ -19,7 +19,7 @@ class SpanDetail(pydantic.BaseModel): id: str created_at: dt.datetime variant: SpanVariant - environment: str + environment: typing.Optional[str] status: SpanStatus metadata: typing.Dict[str, typing.Any] user_id: str @@ -28,19 +28,11 @@ class SpanDetail(pydantic.BaseModel): model_params: LlmModelParams def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_status.py b/agenta-cli/agenta/client/backend/types/span_status.py index 722e7430af..5bcda585c1 100644 --- a/agenta-cli/agenta/client/backend/types/span_status.py +++ b/agenta-cli/agenta/client/backend/types/span_status.py @@ -18,19 +18,11 @@ class SpanStatus(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_variant.py b/agenta-cli/agenta/client/backend/types/span_variant.py index 03903fb8d5..a67067789d 100644 --- a/agenta-cli/agenta/client/backend/types/span_variant.py +++ b/agenta-cli/agenta/client/backend/types/span_variant.py @@ -17,19 +17,11 @@ class SpanVariant(pydantic.BaseModel): revision: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template.py b/agenta-cli/agenta/client/backend/types/template.py index b509e795d4..c43fc4beac 100644 --- a/agenta-cli/agenta/client/backend/types/template.py +++ b/agenta-cli/agenta/client/backend/types/template.py @@ -17,19 +17,11 @@ class Template(pydantic.BaseModel): image: TemplateImageInfo def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template_image_info.py b/agenta-cli/agenta/client/backend/types/template_image_info.py index b0c01e7504..5131e053d7 100644 --- a/agenta-cli/agenta/client/backend/types/template_image_info.py +++ b/agenta-cli/agenta/client/backend/types/template_image_info.py @@ -22,19 +22,11 @@ class TemplateImageInfo(pydantic.BaseModel): template_uri: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_output_response.py b/agenta-cli/agenta/client/backend/types/test_set_output_response.py index 715ebcdcd5..ac4a47255d 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_output_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_output_response.py @@ -17,19 +17,11 @@ class TestSetOutputResponse(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py index b6ac04a871..c30fc1de89 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py @@ -17,19 +17,11 @@ class TestSetSimpleResponse(pydantic.BaseModel): created_at: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py b/agenta-cli/agenta/client/backend/types/trace_detail.py similarity index 51% rename from agenta-cli/agenta/client/backend/types/observability_dashboard_data.py rename to agenta-cli/agenta/client/backend/types/trace_detail.py index d85f148aae..9738ec59fd 100644 --- a/agenta-cli/agenta/client/backend/types/observability_dashboard_data.py +++ b/agenta-cli/agenta/client/backend/types/trace_detail.py @@ -4,7 +4,8 @@ import typing from ..core.datetime_utils import serialize_datetime -from .observability_data import ObservabilityData +from .span_status import SpanStatus +from .span_variant import SpanVariant try: import pydantic.v1 as pydantic # type: ignore @@ -12,30 +13,21 @@ import pydantic # type: ignore -class ObservabilityDashboardData(pydantic.BaseModel): - data: typing.List[ObservabilityData] - total_count: int - failure_rate: float - total_cost: float - avg_cost: float - avg_latency: float - total_tokens: int - avg_tokens: int +class TraceDetail(pydantic.BaseModel): + id: str + created_at: dt.datetime + variant: SpanVariant + environment: typing.Optional[str] + status: SpanStatus + metadata: typing.Dict[str, typing.Any] + user_id: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/uri.py b/agenta-cli/agenta/client/backend/types/uri.py index 608f89ef6f..a04cc35249 100644 --- a/agenta-cli/agenta/client/backend/types/uri.py +++ b/agenta-cli/agenta/client/backend/types/uri.py @@ -15,19 +15,11 @@ class Uri(pydantic.BaseModel): uri: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/validation_error.py b/agenta-cli/agenta/client/backend/types/validation_error.py index ffd8cc872f..67b5ba78e3 100644 --- a/agenta-cli/agenta/client/backend/types/validation_error.py +++ b/agenta-cli/agenta/client/backend/types/validation_error.py @@ -18,19 +18,11 @@ class ValidationError(pydantic.BaseModel): type: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action.py b/agenta-cli/agenta/client/backend/types/variant_action.py index a614ac00f5..1fe22412aa 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action.py +++ b/agenta-cli/agenta/client/backend/types/variant_action.py @@ -16,19 +16,11 @@ class VariantAction(pydantic.BaseModel): action: VariantActionEnum def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action_enum.py b/agenta-cli/agenta/client/backend/types/variant_action_enum.py index 6f5f8c19c5..5aa6f1c7e7 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action_enum.py +++ b/agenta-cli/agenta/client/backend/types/variant_action_enum.py @@ -14,9 +14,7 @@ class VariantActionEnum(str, enum.Enum): START = "START" STOP = "STOP" - def visit( - self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result] - ) -> T_Result: + def visit(self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result]) -> T_Result: if self is VariantActionEnum.START: return start() if self is VariantActionEnum.STOP: diff --git a/agenta-cli/agenta/client/backend/types/with_pagination.py b/agenta-cli/agenta/client/backend/types/with_pagination.py index ae2a4dfa06..2b7a1588ac 100644 --- a/agenta-cli/agenta/client/backend/types/with_pagination.py +++ b/agenta-cli/agenta/client/backend/types/with_pagination.py @@ -18,19 +18,11 @@ class WithPagination(pydantic.BaseModel): page_size: int = pydantic.Field(alias="pageSize") def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_member_response.py b/agenta-cli/agenta/client/backend/types/workspace_member_response.py index ec907e24d8..ef3c928c8e 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_member_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_member_response.py @@ -17,19 +17,11 @@ class WorkspaceMemberResponse(pydantic.BaseModel): roles: typing.List[WorkspacePermission] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_permission.py b/agenta-cli/agenta/client/backend/types/workspace_permission.py index 0d847e611e..ed74790008 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_permission.py +++ b/agenta-cli/agenta/client/backend/types/workspace_permission.py @@ -19,19 +19,11 @@ class WorkspacePermission(pydantic.BaseModel): permissions: typing.Optional[typing.List[Permission]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_response.py b/agenta-cli/agenta/client/backend/types/workspace_response.py index f0e0bbf5ee..55ee8f5f51 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_response.py @@ -23,19 +23,11 @@ class WorkspaceResponse(pydantic.BaseModel): members: typing.Optional[typing.List[WorkspaceMemberResponse]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_role_response.py b/agenta-cli/agenta/client/backend/types/workspace_role_response.py index 97531c3143..4313b624b1 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_role_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_role_response.py @@ -17,19 +17,11 @@ class WorkspaceRoleResponse(pydantic.BaseModel): role_description: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: From 5d04cab5ff0cf6600ff43a631e621bbbc46cc8c9 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 19 Mar 2024 12:53:53 +0100 Subject: [PATCH 247/539] Cleanup - remove lru_cache decorator --- agenta-backend/agenta_backend/models/db_models.py | 3 --- 1 file changed, 3 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index c780346443..4fc2cb2cd6 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -1,7 +1,6 @@ from enum import Enum from uuid import uuid4 from datetime import datetime -from functools import lru_cache from typing import Any, Dict, List, Optional from pydantic import BaseModel, Field @@ -343,7 +342,6 @@ class TraceDB(Document): feedbacks: Optional[List[Feedback]] created_at: datetime = Field(default=datetime.now()) - @lru_cache() def get_latency(cls) -> float: return (cls.end_time - cls.start_time).total_seconds() @@ -368,7 +366,6 @@ class SpanDB(Document): tokens: Optional[LLMTokens] created_at: datetime = Field(default=datetime.now()) - @lru_cache() def get_latency(cls) -> float: return (cls.end_time - cls.start_time).total_seconds() From 7e08cd08030ed2e787f97e5ed8662a1e13323226 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 19 Mar 2024 12:55:03 +0100 Subject: [PATCH 248/539] :art: Format - ran black --- agenta-cli/agenta/client/backend/client.py | 227 ++++++++++++++---- .../agenta/client/backend/core/api_error.py | 4 +- .../client/backend/core/datetime_utils.py | 4 +- .../client/backend/core/jsonable_encoder.py | 12 +- .../client/backend/resources/__init__.py | 13 +- .../client/backend/resources/apps/__init__.py | 1 - .../client/backend/resources/apps/client.py | 114 +++++++-- .../backend/resources/bases/__init__.py | 1 - .../client/backend/resources/bases/client.py | 10 +- .../backend/resources/configs/__init__.py | 1 - .../backend/resources/configs/client.py | 72 ++++-- .../backend/resources/containers/client.py | 60 +++-- .../resources/environments/__init__.py | 1 - .../backend/resources/environments/client.py | 24 +- .../backend/resources/evaluations/__init__.py | 1 - .../backend/resources/evaluations/client.py | 124 +++++++--- .../backend/resources/evaluators/__init__.py | 1 - .../backend/resources/evaluators/client.py | 74 ++++-- .../resources/observability/__init__.py | 1 - .../backend/resources/observability/client.py | 176 +++++++++++--- .../backend/resources/testsets/__init__.py | 1 - .../backend/resources/testsets/client.py | 72 ++++-- .../backend/resources/variants/client.py | 126 +++++++--- .../resources/variants/types/__init__.py | 4 +- .../client/backend/types/aggregated_result.py | 12 +- .../aggregated_result_evaluator_config.py | 4 +- agenta-cli/agenta/client/backend/types/app.py | 12 +- .../backend/types/app_variant_response.py | 12 +- .../backend/types/app_variant_revision.py | 12 +- .../client/backend/types/base_output.py | 12 +- .../backend/types/body_import_testset.py | 12 +- .../agenta/client/backend/types/config_db.py | 12 +- .../client/backend/types/create_app_output.py | 12 +- .../client/backend/types/docker_env_vars.py | 12 +- .../backend/types/environment_output.py | 12 +- .../types/environment_output_extended.py | 12 +- .../backend/types/environment_revision.py | 12 +- .../agenta/client/backend/types/error.py | 12 +- .../agenta/client/backend/types/evaluation.py | 12 +- .../backend/types/evaluation_scenario.py | 12 +- .../types/evaluation_scenario_input.py | 12 +- .../types/evaluation_scenario_output.py | 12 +- .../types/evaluation_scenario_result.py | 12 +- .../types/evaluation_scenario_score_update.py | 12 +- .../client/backend/types/evaluation_type.py | 4 +- .../backend/types/evaluation_webhook.py | 12 +- .../agenta/client/backend/types/evaluator.py | 12 +- .../client/backend/types/evaluator_config.py | 12 +- .../agenta/client/backend/types/feedback.py | 12 +- .../backend/types/get_config_response.py | 12 +- .../backend/types/http_validation_error.py | 12 +- .../client/backend/types/human_evaluation.py | 12 +- .../types/human_evaluation_scenario.py | 12 +- .../types/human_evaluation_scenario_input.py | 12 +- .../types/human_evaluation_scenario_output.py | 12 +- .../types/human_evaluation_scenario_update.py | 12 +- .../backend/types/human_evaluation_update.py | 12 +- .../agenta/client/backend/types/image.py | 12 +- .../client/backend/types/invite_request.py | 12 +- .../backend/types/list_api_keys_response.py | 12 +- .../client/backend/types/llm_content.py | 12 +- .../agenta/client/backend/types/llm_inputs.py | 12 +- .../client/backend/types/llm_model_params.py | 12 +- .../backend/types/llm_run_rate_limit.py | 12 +- .../agenta/client/backend/types/llm_tokens.py | 12 +- .../backend/types/new_human_evaluation.py | 12 +- .../client/backend/types/new_testset.py | 12 +- .../client/backend/types/organization.py | 12 +- .../backend/types/organization_output.py | 12 +- .../agenta/client/backend/types/result.py | 12 +- .../backend/types/simple_evaluation_output.py | 12 +- .../client/backend/types/span_detail.py | 12 +- .../client/backend/types/span_status.py | 12 +- .../client/backend/types/span_variant.py | 12 +- .../agenta/client/backend/types/template.py | 12 +- .../backend/types/template_image_info.py | 12 +- .../backend/types/test_set_output_response.py | 12 +- .../backend/types/test_set_simple_response.py | 12 +- .../client/backend/types/trace_detail.py | 12 +- agenta-cli/agenta/client/backend/types/uri.py | 12 +- .../client/backend/types/validation_error.py | 12 +- .../client/backend/types/variant_action.py | 12 +- .../backend/types/variant_action_enum.py | 4 +- .../client/backend/types/with_pagination.py | 12 +- .../types/workspace_member_response.py | 12 +- .../backend/types/workspace_permission.py | 12 +- .../backend/types/workspace_response.py | 12 +- .../backend/types/workspace_role_response.py | 12 +- 88 files changed, 1487 insertions(+), 381 deletions(-) diff --git a/agenta-cli/agenta/client/backend/client.py b/agenta-cli/agenta/client/backend/client.py index e0b4a3a650..04e2b6c25a 100644 --- a/agenta-cli/agenta/client/backend/client.py +++ b/agenta-cli/agenta/client/backend/client.py @@ -19,7 +19,10 @@ from .resources.environments.client import AsyncEnvironmentsClient, EnvironmentsClient from .resources.evaluations.client import AsyncEvaluationsClient, EvaluationsClient from .resources.evaluators.client import AsyncEvaluatorsClient, EvaluatorsClient -from .resources.observability.client import AsyncObservabilityClient, ObservabilityClient +from .resources.observability.client import ( + AsyncObservabilityClient, + ObservabilityClient, +) from .resources.testsets.client import AsyncTestsetsClient, TestsetsClient from .resources.variants.client import AsyncVariantsClient, VariantsClient from .types.http_validation_error import HttpValidationError @@ -42,9 +45,13 @@ class AgentaApi: - def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): + def __init__( + self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 + ): self._client_wrapper = SyncClientWrapper( - base_url=base_url, api_key=api_key, httpx_client=httpx.Client(timeout=timeout) + base_url=base_url, + api_key=api_key, + httpx_client=httpx.Client(timeout=timeout), ) self.apps = AppsClient(client_wrapper=self._client_wrapper) self.variants = VariantsClient(client_wrapper=self._client_wrapper) @@ -146,7 +153,9 @@ def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -176,7 +185,9 @@ def validate_api_key(self, key_prefix: str) -> bool: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -211,7 +222,9 @@ def list_organizations(self) -> typing.List[Organization]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -255,7 +268,9 @@ def create_organization( _request["owner"] = owner _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -279,7 +294,9 @@ def get_own_org(self) -> OrganizationOutput: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations/own" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -312,7 +329,9 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -358,7 +377,9 @@ def update_organization( _request["updated_at"] = updated_at _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -395,7 +416,8 @@ def invite_user_to_workspace( _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}/invite", ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -411,7 +433,9 @@ def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: + def resend_invitation( + self, org_id: str, workspace_id: str, *, email: str + ) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -455,7 +479,9 @@ def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> ty raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: + def accept_invitation( + self, org_id: str, workspace_id: str, *, token: str + ) -> typing.Any: """ Accept an invitation to a workspace. @@ -500,7 +526,12 @@ def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> ty raise ApiError(status_code=_response.status_code, body=_response_json) def create_workspace( - self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT + self, + org_id: str, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, ) -> WorkspaceResponse: """ Parameters: @@ -524,7 +555,10 @@ def create_workspace( _request["type"] = type _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -575,7 +609,8 @@ def update_workspace( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -611,7 +646,9 @@ def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -643,7 +680,9 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -656,7 +695,12 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) def assign_role_to_user( - self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT + self, + workspace_id: str, + *, + email: str, + organization_id: str, + role: typing.Optional[WorkspaceRole] = OMIT, ) -> bool: """ Assigns a role to a user in a workspace. @@ -687,12 +731,18 @@ def assign_role_to_user( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} + _request: typing.Dict[str, typing.Any] = { + "email": email, + "organization_id": organization_id, + } if role is not OMIT: _request["role"] = role _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -707,7 +757,9 @@ def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: + def unassign_role_from_user( + self, workspace_id: str, *, email: str, org_id: str, role: str + ) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -741,8 +793,13 @@ def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), - params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), + params=remove_none_from_dict( + {"email": email, "org_id": org_id, "role": role} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -756,7 +813,9 @@ def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: + def remove_user_from_workspace( + self, workspace_id: str, *, org_id: str, email: str + ) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -789,7 +848,10 @@ def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: s """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/users", + ), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -848,9 +910,13 @@ def user_profile(self) -> typing.Any: class AsyncAgentaApi: - def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60): + def __init__( + self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 + ): self._client_wrapper = AsyncClientWrapper( - base_url=base_url, api_key=api_key, httpx_client=httpx.AsyncClient(timeout=timeout) + base_url=base_url, + api_key=api_key, + httpx_client=httpx.AsyncClient(timeout=timeout), ) self.apps = AsyncAppsClient(client_wrapper=self._client_wrapper) self.variants = AsyncVariantsClient(client_wrapper=self._client_wrapper) @@ -859,7 +925,9 @@ def __init__(self, *, base_url: str, api_key: str, timeout: typing.Optional[floa self.testsets = AsyncTestsetsClient(client_wrapper=self._client_wrapper) self.containers = AsyncContainersClient(client_wrapper=self._client_wrapper) self.environments = AsyncEnvironmentsClient(client_wrapper=self._client_wrapper) - self.observability = AsyncObservabilityClient(client_wrapper=self._client_wrapper) + self.observability = AsyncObservabilityClient( + client_wrapper=self._client_wrapper + ) self.bases = AsyncBasesClient(client_wrapper=self._client_wrapper) self.configs = AsyncConfigsClient(client_wrapper=self._client_wrapper) @@ -952,7 +1020,9 @@ async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -982,7 +1052,9 @@ async def validate_api_key(self, key_prefix: str) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1017,7 +1089,9 @@ async def list_organizations(self) -> typing.List[Organization]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1061,7 +1135,9 @@ async def create_organization( _request["owner"] = owner _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1085,7 +1161,9 @@ async def get_own_org(self) -> OrganizationOutput: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "organizations/own" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1118,7 +1196,9 @@ async def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1164,7 +1244,9 @@ async def update_organization( _request["updated_at"] = updated_at _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1201,7 +1283,8 @@ async def invite_user_to_workspace( _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}/invite", ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -1217,7 +1300,9 @@ async def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: + async def resend_invitation( + self, org_id: str, workspace_id: str, *, email: str + ) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -1261,7 +1346,9 @@ async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: + async def accept_invitation( + self, org_id: str, workspace_id: str, *, token: str + ) -> typing.Any: """ Accept an invitation to a workspace. @@ -1306,7 +1393,12 @@ async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) raise ApiError(status_code=_response.status_code, body=_response_json) async def create_workspace( - self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT + self, + org_id: str, + *, + name: str, + description: typing.Optional[str] = OMIT, + type: typing.Optional[str] = OMIT, ) -> WorkspaceResponse: """ Parameters: @@ -1330,7 +1422,10 @@ async def create_workspace( _request["type"] = type _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1381,7 +1476,8 @@ async def update_workspace( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" + f"{self._client_wrapper.get_base_url()}/", + f"organizations/{org_id}/workspaces/{workspace_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -1417,7 +1513,9 @@ async def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1449,7 +1547,9 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1462,7 +1562,12 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) async def assign_role_to_user( - self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT + self, + workspace_id: str, + *, + email: str, + organization_id: str, + role: typing.Optional[WorkspaceRole] = OMIT, ) -> bool: """ Assigns a role to a user in a workspace. @@ -1493,12 +1598,18 @@ async def assign_role_to_user( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") """ - _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} + _request: typing.Dict[str, typing.Any] = { + "email": email, + "organization_id": organization_id, + } if role is not OMIT: _request["role"] = role _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1513,7 +1624,9 @@ async def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: + async def unassign_role_from_user( + self, workspace_id: str, *, email: str, org_id: str, role: str + ) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -1547,8 +1660,13 @@ async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), - params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/roles", + ), + params=remove_none_from_dict( + {"email": email, "org_id": org_id, "role": role} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1562,7 +1680,9 @@ async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: + async def remove_user_from_workspace( + self, workspace_id: str, *, org_id: str, email: str + ) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -1595,7 +1715,10 @@ async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, em """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"workspaces/{workspace_id}/users", + ), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/core/api_error.py b/agenta-cli/agenta/client/backend/core/api_error.py index 2e9fc5431c..da734b5806 100644 --- a/agenta-cli/agenta/client/backend/core/api_error.py +++ b/agenta-cli/agenta/client/backend/core/api_error.py @@ -7,7 +7,9 @@ class ApiError(Exception): status_code: typing.Optional[int] body: typing.Any - def __init__(self, *, status_code: typing.Optional[int] = None, body: typing.Any = None): + def __init__( + self, *, status_code: typing.Optional[int] = None, body: typing.Any = None + ): self.status_code = status_code self.body = body diff --git a/agenta-cli/agenta/client/backend/core/datetime_utils.py b/agenta-cli/agenta/client/backend/core/datetime_utils.py index 7c9864a944..47344e9d9c 100644 --- a/agenta-cli/agenta/client/backend/core/datetime_utils.py +++ b/agenta-cli/agenta/client/backend/core/datetime_utils.py @@ -13,7 +13,9 @@ def serialize_datetime(v: dt.datetime) -> str: """ def _serialize_zoned_datetime(v: dt.datetime) -> str: - if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname(None): + if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname( + None + ): # UTC is a special case where we use "Z" at the end instead of "+00:00" return v.isoformat().replace("+00:00", "Z") else: diff --git a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py index 37238ab679..0e297e18f0 100644 --- a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py +++ b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py @@ -30,16 +30,22 @@ def generate_encoders_by_class_tuples( type_encoder_map: Dict[Any, Callable[[Any], Any]] ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]: - encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(tuple) + encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict( + tuple + ) for type_, encoder in type_encoder_map.items(): encoders_by_class_tuples[encoder] += (type_,) return encoders_by_class_tuples -encoders_by_class_tuples = generate_encoders_by_class_tuples(pydantic.json.ENCODERS_BY_TYPE) +encoders_by_class_tuples = generate_encoders_by_class_tuples( + pydantic.json.ENCODERS_BY_TYPE +) -def jsonable_encoder(obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None) -> Any: +def jsonable_encoder( + obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None +) -> Any: custom_encoder = custom_encoder or {} if custom_encoder: if type(obj) in custom_encoder: diff --git a/agenta-cli/agenta/client/backend/resources/__init__.py b/agenta-cli/agenta/client/backend/resources/__init__.py index 6a7c8f0ca8..223d38e477 100644 --- a/agenta-cli/agenta/client/backend/resources/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/__init__.py @@ -1,6 +1,17 @@ # This file was auto-generated by Fern from our API Definition. -from . import apps, bases, configs, containers, environments, evaluations, evaluators, observability, testsets, variants +from . import ( + apps, + bases, + configs, + containers, + environments, + evaluations, + evaluators, + observability, + testsets, + variants, +) from .containers import ContainerTemplatesResponse from .variants import AddVariantFromBaseAndConfigResponse diff --git a/agenta-cli/agenta/client/backend/resources/apps/__init__.py b/agenta-cli/agenta/client/backend/resources/apps/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/apps/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/apps/client.py b/agenta-cli/agenta/client/backend/resources/apps/client.py index 960fb5e5f8..20b3932d43 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/client.py +++ b/agenta-cli/agenta/client/backend/resources/apps/client.py @@ -50,7 +50,9 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -64,7 +66,9 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: + def get_variant_by_env( + self, *, app_id: str, environment: str + ) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -91,8 +95,12 @@ def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResp """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), - params=remove_none_from_dict({"app_id": app_id, "environment": environment}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" + ), + params=remove_none_from_dict( + {"app_id": app_id, "environment": environment} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -142,7 +150,9 @@ def list_apps( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), + params=remove_none_from_dict( + {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -157,7 +167,11 @@ def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) def create_app( - self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT + self, + *, + app_name: str, + organization_id: typing.Optional[str] = OMIT, + workspace_id: typing.Optional[str] = OMIT, ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -248,14 +262,21 @@ def add_variant_from_image( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} + _request: typing.Dict[str, typing.Any] = { + "variant_name": variant_name, + "docker_id": docker_id, + "tags": tags, + } if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/variant/from-image", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -287,7 +308,9 @@ def remove_app(self, app_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -352,7 +375,10 @@ def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "apps/app_and_variant_from_template", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -388,7 +414,9 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -402,7 +430,9 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: + def environment_revisions( + self, app_id: str, environment_name: typing.Any + ) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -412,7 +442,8 @@ def environment_revisions(self, app_id: str, environment_name: typing.Any) -> En _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/revisions/{environment_name}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -453,7 +484,9 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -467,7 +500,9 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: + async def get_variant_by_env( + self, *, app_id: str, environment: str + ) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -494,8 +529,12 @@ async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVaria """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), - params=remove_none_from_dict({"app_id": app_id, "environment": environment}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" + ), + params=remove_none_from_dict( + {"app_id": app_id, "environment": environment} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -545,7 +584,9 @@ async def list_apps( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), + params=remove_none_from_dict( + {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -560,7 +601,11 @@ async def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_app( - self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT + self, + *, + app_name: str, + organization_id: typing.Optional[str] = OMIT, + workspace_id: typing.Optional[str] = OMIT, ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -651,14 +696,21 @@ async def add_variant_from_image( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") """ - _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} + _request: typing.Dict[str, typing.Any] = { + "variant_name": variant_name, + "docker_id": docker_id, + "tags": tags, + } if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/variant/from-image", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -690,7 +742,9 @@ async def remove_app(self, app_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -755,7 +809,10 @@ async def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "apps/app_and_variant_from_template", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -791,7 +848,9 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -805,7 +864,9 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: + async def environment_revisions( + self, app_id: str, environment_name: typing.Any + ) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -815,7 +876,8 @@ async def environment_revisions(self, app_id: str, environment_name: typing.Any) _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" + f"{self._client_wrapper.get_base_url()}/", + f"apps/{app_id}/revisions/{environment_name}", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/bases/__init__.py b/agenta-cli/agenta/client/backend/resources/bases/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/bases/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/bases/client.py b/agenta-cli/agenta/client/backend/resources/bases/client.py index f5e0dd5569..88082d3555 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/client.py +++ b/agenta-cli/agenta/client/backend/resources/bases/client.py @@ -22,7 +22,10 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def list_bases( - self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None + self, + *, + app_id: typing.Optional[str] = None, + base_name: typing.Optional[str] = None, ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. @@ -71,7 +74,10 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def list_bases( - self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None + self, + *, + app_id: typing.Optional[str] = None, + base_name: typing.Optional[str] = None, ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. diff --git a/agenta-cli/agenta/client/backend/resources/configs/__init__.py b/agenta-cli/agenta/client/backend/resources/configs/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/configs/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/configs/client.py b/agenta-cli/agenta/client/backend/resources/configs/client.py index bb85bbd5e6..f13859b76c 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/client.py +++ b/agenta-cli/agenta/client/backend/resources/configs/client.py @@ -26,7 +26,11 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def get_config( - self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None + self, + *, + base_id: str, + config_name: typing.Optional[str] = None, + environment_name: typing.Optional[str] = None, ) -> GetConfigResponse: """ Parameters: @@ -45,7 +49,11 @@ def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} + { + "base_id": base_id, + "config_name": config_name, + "environment_name": environment_name, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -61,7 +69,12 @@ def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) def save_config( - self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool + self, + *, + base_id: str, + config_name: str, + parameters: typing.Dict[str, typing.Any], + overwrite: bool, ) -> typing.Any: """ Parameters: @@ -82,7 +95,12 @@ def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} + { + "base_id": base_id, + "config_name": config_name, + "parameters": parameters, + "overwrite": overwrite, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -110,7 +128,8 @@ def get_config_deployment_revision(self, deployment_revision_id: str) -> typing. _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -138,7 +157,8 @@ def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}/revert", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -159,7 +179,11 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def get_config( - self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None + self, + *, + base_id: str, + config_name: typing.Optional[str] = None, + environment_name: typing.Optional[str] = None, ) -> GetConfigResponse: """ Parameters: @@ -178,7 +202,11 @@ async def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} + { + "base_id": base_id, + "config_name": config_name, + "environment_name": environment_name, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -194,7 +222,12 @@ async def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) async def save_config( - self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool + self, + *, + base_id: str, + config_name: str, + parameters: typing.Dict[str, typing.Any], + overwrite: bool, ) -> typing.Any: """ Parameters: @@ -215,7 +248,12 @@ async def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} + { + "base_id": base_id, + "config_name": config_name, + "parameters": parameters, + "overwrite": overwrite, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -230,7 +268,9 @@ async def save_config( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_config_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + async def get_config_deployment_revision( + self, deployment_revision_id: str + ) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -243,7 +283,8 @@ async def get_config_deployment_revision(self, deployment_revision_id: str) -> t _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -258,7 +299,9 @@ async def get_config_deployment_revision(self, deployment_revision_id: str) -> t raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: + async def revert_deployment_revision( + self, deployment_revision_id: str + ) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -271,7 +314,8 @@ async def revert_deployment_revision(self, deployment_revision_id: str) -> typin _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" + f"{self._client_wrapper.get_base_url()}/", + f"configs/deployment/{deployment_revision_id}/revert", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/containers/client.py b/agenta-cli/agenta/client/backend/resources/containers/client.py index 748db696dc..8f97f53369 100644 --- a/agenta-cli/agenta/client/backend/resources/containers/client.py +++ b/agenta-cli/agenta/client/backend/resources/containers/client.py @@ -49,7 +49,9 @@ def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Im """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/build_image" + ), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -83,7 +85,10 @@ def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "containers/restart_container", + ), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -111,7 +116,9 @@ def container_templates(self) -> ContainerTemplatesResponse: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/templates" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -124,7 +131,10 @@ def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) def construct_app_container_url( - self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None + self, + *, + base_id: typing.Optional[str] = None, + variant_id: typing.Optional[str] = None, ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -152,8 +162,12 @@ def construct_app_container_url( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), - params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/container_url" + ), + params=remove_none_from_dict( + {"base_id": base_id, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -172,7 +186,9 @@ class AsyncContainersClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Image: + async def build_image( + self, *, app_id: str, base_name: str, tar_file: typing.IO + ) -> Image: """ Builds a Docker image from a tar file containing the application code. @@ -194,7 +210,9 @@ async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/build_image" + ), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, @@ -211,7 +229,9 @@ async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: + async def restart_container( + self, *, variant_id: str + ) -> typing.Dict[str, typing.Any]: """ Restart docker container. @@ -228,7 +248,10 @@ async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "containers/restart_container", + ), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -256,7 +279,9 @@ async def container_templates(self) -> ContainerTemplatesResponse: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/templates" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -269,7 +294,10 @@ async def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) async def construct_app_container_url( - self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None + self, + *, + base_id: typing.Optional[str] = None, + variant_id: typing.Optional[str] = None, ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -297,8 +325,12 @@ async def construct_app_container_url( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), - params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "containers/container_url" + ), + params=remove_none_from_dict( + {"base_id": base_id, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/environments/__init__.py b/agenta-cli/agenta/client/backend/resources/environments/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/environments/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/environments/client.py b/agenta-cli/agenta/client/backend/resources/environments/client.py index f88b1585d9..ffba541661 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/client.py +++ b/agenta-cli/agenta/client/backend/resources/environments/client.py @@ -23,7 +23,9 @@ class EnvironmentsClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper - def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: + def deploy_to_environment( + self, *, environment_name: str, variant_id: str + ) -> typing.Any: """ Deploys a given variant to an environment @@ -47,8 +49,12 @@ def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> ty """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), - json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "environments/deploy" + ), + json=jsonable_encoder( + {"environment_name": environment_name, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -67,7 +73,9 @@ class AsyncEnvironmentsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: + async def deploy_to_environment( + self, *, environment_name: str, variant_id: str + ) -> typing.Any: """ Deploys a given variant to an environment @@ -91,8 +99,12 @@ async def deploy_to_environment(self, *, environment_name: str, variant_id: str) """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), - json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "environments/deploy" + ), + json=jsonable_encoder( + {"environment_name": environment_name, "variant_id": variant_id} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/client.py b/agenta-cli/agenta/client/backend/resources/evaluations/client.py index 0fe4108c07..2dfd066929 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/client.py @@ -29,7 +29,11 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def fetch_evaluation_ids( - self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] + self, + *, + app_id: str, + resource_type: str, + resource_ids: typing.Union[typing.Optional[str], typing.List[str]], ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -59,9 +63,15 @@ def fetch_evaluation_ids( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" + ), params=remove_none_from_dict( - {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} + { + "app_id": app_id, + "resource_type": resource_type, + "resource_ids": resource_ids, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -96,7 +106,9 @@ def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -169,7 +181,9 @@ def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -184,7 +198,9 @@ def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: + def delete_evaluations( + self, *, evaluations_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -204,7 +220,9 @@ def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.Lis """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -240,7 +258,10 @@ def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/status", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -275,7 +296,10 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/results", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -289,7 +313,9 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: + def fetch_evaluation_scenarios( + self, evaluation_id: str + ) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -313,7 +339,8 @@ def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[Evaluati _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/evaluation_scenarios", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -348,7 +375,10 @@ def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -377,7 +407,10 @@ def webhook_example_fake(self) -> EvaluationWebhook: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "evaluations/webhook_example_fake", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -413,7 +446,8 @@ def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" + f"{self._client_wrapper.get_base_url()}/", + "evaluations/evaluation_scenarios/comparison-results", ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), @@ -435,7 +469,11 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def fetch_evaluation_ids( - self, *, app_id: str, resource_type: str, resource_ids: typing.Union[typing.Optional[str], typing.List[str]] + self, + *, + app_id: str, + resource_type: str, + resource_ids: typing.Union[typing.Optional[str], typing.List[str]], ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -465,9 +503,15 @@ async def fetch_evaluation_ids( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" + ), params=remove_none_from_dict( - {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} + { + "app_id": app_id, + "resource_type": resource_type, + "resource_ids": resource_ids, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -502,7 +546,9 @@ async def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -575,7 +621,9 @@ async def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -590,7 +638,9 @@ async def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: + async def delete_evaluations( + self, *, evaluations_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -610,7 +660,9 @@ async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typi """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluations" + ), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -646,7 +698,10 @@ async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/status", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -681,7 +736,10 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/results", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -695,7 +753,9 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: + async def fetch_evaluation_scenarios( + self, evaluation_id: str + ) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -719,7 +779,8 @@ async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[Ev _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}/evaluation_scenarios", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -754,7 +815,10 @@ async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"evaluations/{evaluation_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -783,7 +847,10 @@ async def webhook_example_fake(self) -> EvaluationWebhook: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + "evaluations/webhook_example_fake", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -819,7 +886,8 @@ async def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.An _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" + f"{self._client_wrapper.get_base_url()}/", + "evaluations/evaluation_scenarios/comparison-results", ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/client.py b/agenta-cli/agenta/client/backend/resources/evaluators/client.py index 02a2896772..e4aab0699b 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/client.py @@ -41,7 +41,9 @@ def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -73,7 +75,9 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -89,7 +93,12 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: raise ApiError(status_code=_response.status_code, body=_response_json) def create_new_evaluator_config( - self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] + self, + *, + app_id: str, + name: str, + evaluator_key: str, + settings_values: typing.Dict[str, typing.Any], ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -116,9 +125,16 @@ def create_new_evaluator_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), json=jsonable_encoder( - {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} + { + "app_id": app_id, + "name": name, + "evaluator_key": evaluator_key, + "settings_values": settings_values, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -151,7 +167,8 @@ def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -204,7 +221,8 @@ def update_evaluator_config( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -241,7 +259,8 @@ def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -276,7 +295,9 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -288,7 +309,9 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: + async def get_evaluator_configs( + self, *, app_id: str + ) -> typing.List[EvaluatorConfig]: """ Endpoint to fetch evaluator configurations for a specific app. @@ -308,7 +331,9 @@ async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorCo """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -324,7 +349,12 @@ async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorCo raise ApiError(status_code=_response.status_code, body=_response_json) async def create_new_evaluator_config( - self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] + self, + *, + app_id: str, + name: str, + evaluator_key: str, + settings_values: typing.Dict[str, typing.Any], ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -353,9 +383,16 @@ async def create_new_evaluator_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" + ), json=jsonable_encoder( - {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} + { + "app_id": app_id, + "name": name, + "evaluator_key": evaluator_key, + "settings_values": settings_values, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -388,7 +425,8 @@ async def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfi _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -441,7 +479,8 @@ async def update_evaluator_config( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -478,7 +517,8 @@ async def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = await self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" + f"{self._client_wrapper.get_base_url()}/", + f"evaluators/configs/{evaluator_config_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/observability/__init__.py b/agenta-cli/agenta/client/backend/resources/observability/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/observability/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index 245b6bf587..f96ab62684 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -56,9 +56,16 @@ def dashboard( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + ), params=remove_none_from_dict( - {"app_id": app_id, "timeRange": time_range, "environment": environment, "variant": variant} + { + "app_id": app_id, + "timeRange": time_range, + "environment": environment, + "variant": variant, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -110,7 +117,9 @@ def get_traces( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/traces" + ), params=remove_none_from_dict( { "app_id": app_id, @@ -180,7 +189,11 @@ def create_trace( client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") client.create_trace(id="id", trace_name="trace_name", inputs={}) """ - _request: typing.Dict[str, typing.Any] = {"id": id, "trace_name": trace_name, "inputs": inputs} + _request: typing.Dict[str, typing.Any] = { + "id": id, + "trace_name": trace_name, + "inputs": inputs, + } if app_id is not OMIT: _request["app_id"] = app_id if variant_id is not OMIT: @@ -199,7 +212,9 @@ def create_trace( _request["environment"] = environment _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/traces" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -226,7 +241,9 @@ def delete_traces(self, *, request: typing.List[str]) -> bool: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/traces" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -278,7 +295,9 @@ def get_spans_of_generation( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), params=remove_none_from_dict( { "app_id": app_id, @@ -398,7 +417,9 @@ def create_span( _request["tokens"] = tokens _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -425,7 +446,9 @@ def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -452,7 +475,10 @@ def get_trace_detail(self, trace_id: str) -> TraceDetail: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -466,7 +492,14 @@ def get_trace_detail(self, trace_id: str) -> TraceDetail: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_trace(self, trace_id: str, *, status: str, end_time: dt.datetime, outputs: typing.List[str]) -> bool: + def update_trace( + self, + trace_id: str, + *, + status: str, + end_time: dt.datetime, + outputs: typing.List[str], + ) -> bool: """ Parameters: - trace_id: str. @@ -491,8 +524,13 @@ def update_trace(self, trace_id: str, *, status: str, end_time: dt.datetime, out """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), - json=jsonable_encoder({"status": status, "end_time": end_time, "outputs": outputs}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), + json=jsonable_encoder( + {"status": status, "end_time": end_time, "outputs": outputs} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -506,7 +544,9 @@ def update_trace(self, trace_id: str, *, status: str, end_time: dt.datetime, out raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + def get_span_of_generation( + self, span_id: str, *, type: typing.Optional[str] = None + ) -> SpanDetail: """ Parameters: - span_id: str. @@ -520,7 +560,10 @@ def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = N """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/spans/{span_id}", + ), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -547,7 +590,10 @@ def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -593,7 +639,10 @@ def create_feedback( _request["meta"] = meta _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -623,7 +672,8 @@ def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -672,7 +722,8 @@ def update_feedback( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -718,9 +769,16 @@ async def dashboard( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" + ), params=remove_none_from_dict( - {"app_id": app_id, "timeRange": time_range, "environment": environment, "variant": variant} + { + "app_id": app_id, + "timeRange": time_range, + "environment": environment, + "variant": variant, + } ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -772,7 +830,9 @@ async def get_traces( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/traces" + ), params=remove_none_from_dict( { "app_id": app_id, @@ -842,7 +902,11 @@ async def create_trace( client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") await client.create_trace(id="id", trace_name="trace_name", inputs={}) """ - _request: typing.Dict[str, typing.Any] = {"id": id, "trace_name": trace_name, "inputs": inputs} + _request: typing.Dict[str, typing.Any] = { + "id": id, + "trace_name": trace_name, + "inputs": inputs, + } if app_id is not OMIT: _request["app_id"] = app_id if variant_id is not OMIT: @@ -861,7 +925,9 @@ async def create_trace( _request["environment"] = environment _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/traces" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -888,7 +954,9 @@ async def delete_traces(self, *, request: typing.List[str]) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/traces" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -940,7 +1008,9 @@ async def get_spans_of_generation( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), params=remove_none_from_dict( { "app_id": app_id, @@ -1060,7 +1130,9 @@ async def create_span( _request["tokens"] = tokens _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1087,7 +1159,9 @@ async def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "observability/spans" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1114,7 +1188,10 @@ async def get_trace_detail(self, trace_id: str) -> TraceDetail: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1129,7 +1206,12 @@ async def get_trace_detail(self, trace_id: str) -> TraceDetail: raise ApiError(status_code=_response.status_code, body=_response_json) async def update_trace( - self, trace_id: str, *, status: str, end_time: dt.datetime, outputs: typing.List[str] + self, + trace_id: str, + *, + status: str, + end_time: dt.datetime, + outputs: typing.List[str], ) -> bool: """ Parameters: @@ -1155,8 +1237,13 @@ async def update_trace( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), - json=jsonable_encoder({"status": status, "end_time": end_time, "outputs": outputs}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), + json=jsonable_encoder( + {"status": status, "end_time": end_time, "outputs": outputs} + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1170,7 +1257,9 @@ async def update_trace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: + async def get_span_of_generation( + self, span_id: str, *, type: typing.Optional[str] = None + ) -> SpanDetail: """ Parameters: - span_id: str. @@ -1184,7 +1273,10 @@ async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[st """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/spans/{span_id}", + ), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1211,7 +1303,10 @@ async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1257,7 +1352,10 @@ async def create_feedback( _request["meta"] = meta _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}", + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1287,7 +1385,8 @@ async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1336,7 +1435,8 @@ async def update_feedback( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" + f"{self._client_wrapper.get_base_url()}/", + f"observability/feedbacks/{trace_id}/{feedback_id}", ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py index f3ea2659bb..67a41b2742 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py @@ -1,2 +1 @@ # This file was auto-generated by Fern from our API Definition. - diff --git a/agenta-cli/agenta/client/backend/resources/testsets/client.py b/agenta-cli/agenta/client/backend/resources/testsets/client.py index 29918d8a8f..948dbb0478 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/client.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/client.py @@ -52,8 +52,16 @@ def upload_file( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), - data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/upload" + ), + data=jsonable_encoder( + { + "upload_type": upload_type, + "testset_name": testset_name, + "app_id": app_id, + } + ), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -87,7 +95,9 @@ def import_testset(self) -> TestSetSimpleResponse: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -101,7 +111,9 @@ def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: + def create_testset( + self, app_id: str, *, request: NewTestset + ) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -126,7 +138,9 @@ def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleRe """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -161,7 +175,9 @@ def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -199,7 +215,9 @@ def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -316,8 +334,16 @@ async def upload_file( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), - data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/upload" + ), + data=jsonable_encoder( + { + "upload_type": upload_type, + "testset_name": testset_name, + "app_id": app_id, + } + ), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -351,7 +377,9 @@ async def import_testset(self) -> TestSetSimpleResponse: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -365,7 +393,9 @@ async def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: + async def create_testset( + self, app_id: str, *, request: NewTestset + ) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -390,7 +420,9 @@ async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSi """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -425,7 +457,9 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -439,7 +473,9 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: + async def update_testset( + self, testset_id: str, *, request: NewTestset + ) -> typing.Any: """ Update a testset with given id, update the testset in MongoDB. @@ -463,7 +499,9 @@ async def update_testset(self, testset_id: str, *, request: NewTestset) -> typin """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -515,7 +553,9 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: + async def delete_testsets( + self, *, testset_ids: typing.List[str] + ) -> typing.List[str]: """ Delete specific testsets based on their unique IDs. diff --git a/agenta-cli/agenta/client/backend/resources/variants/client.py b/agenta-cli/agenta/client/backend/resources/variants/client.py index 530f92faa4..837ef8266e 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/client.py +++ b/agenta-cli/agenta/client/backend/resources/variants/client.py @@ -15,7 +15,9 @@ from ...types.image import Image from ...types.uri import Uri from ...types.variant_action import VariantAction -from .types.add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse +from .types.add_variant_from_base_and_config_response import ( + AddVariantFromBaseAndConfigResponse, +) try: import pydantic.v1 as pydantic # type: ignore @@ -31,7 +33,12 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def add_variant_from_base_and_config( - self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] + self, + *, + base_id: str, + new_variant_name: str, + new_config_name: str, + parameters: typing.Dict[str, typing.Any], ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -58,7 +65,9 @@ def add_variant_from_base_and_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "variants/from-base" + ), json=jsonable_encoder( { "base_id": base_id, @@ -92,7 +101,9 @@ def get_variant(self, variant_id: str) -> AppVariantResponse: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -107,7 +118,11 @@ def get_variant(self, variant_id: str) -> AppVariantResponse: raise ApiError(status_code=_response.status_code, body=_response_json) def start_variant( - self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT + self, + variant_id: str, + *, + action: VariantAction, + env_vars: typing.Optional[DockerEnvVars] = OMIT, ) -> Uri: """ Start a variant of an app. @@ -142,7 +157,9 @@ def start_variant( _request["env_vars"] = env_vars _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -178,7 +195,9 @@ def remove_variant(self, variant_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -192,7 +211,9 @@ def remove_variant(self, variant_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[str, typing.Any]) -> typing.Any: + def update_variant_parameters( + self, variant_id: str, *, parameters: typing.Dict[str, typing.Any] + ) -> typing.Any: """ Updates the parameters for an app variant. @@ -219,7 +240,10 @@ def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[ """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/parameters", + ), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -261,7 +285,10 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/image", + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -288,7 +315,9 @@ def get_variant_using_base_id(self, base_id: str) -> AppVariantResponse: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{base_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{base_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -314,7 +343,10 @@ def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariantRevisi """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/revisions", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -328,7 +360,9 @@ def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariantRevisi raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_revision(self, variant_id: str, revision_number: int) -> AppVariantRevision: + def get_variant_revision( + self, variant_id: str, revision_number: int + ) -> AppVariantRevision: """ Parameters: - variant_id: str. @@ -343,7 +377,8 @@ def get_variant_revision(self, variant_id: str, revision_number: int) -> AppVari _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions/{revision_number}" + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/revisions/{revision_number}", ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -364,7 +399,12 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def add_variant_from_base_and_config( - self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] + self, + *, + base_id: str, + new_variant_name: str, + new_config_name: str, + parameters: typing.Dict[str, typing.Any], ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -391,7 +431,9 @@ async def add_variant_from_base_and_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", "variants/from-base" + ), json=jsonable_encoder( { "base_id": base_id, @@ -425,7 +467,9 @@ async def get_variant(self, variant_id: str) -> AppVariantResponse: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -440,7 +484,11 @@ async def get_variant(self, variant_id: str) -> AppVariantResponse: raise ApiError(status_code=_response.status_code, body=_response_json) async def start_variant( - self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT + self, + variant_id: str, + *, + action: VariantAction, + env_vars: typing.Optional[DockerEnvVars] = OMIT, ) -> Uri: """ Start a variant of an app. @@ -475,7 +523,9 @@ async def start_variant( _request["env_vars"] = env_vars _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -511,7 +561,9 @@ async def remove_variant(self, variant_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -554,7 +606,10 @@ async def update_variant_parameters( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/parameters", + ), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -569,7 +624,9 @@ async def update_variant_parameters( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any: + async def update_variant_image( + self, variant_id: str, *, request: Image + ) -> typing.Any: """ Updates the image used in an app variant. @@ -596,7 +653,10 @@ async def update_variant_image(self, variant_id: str, *, request: Image) -> typi """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/image", + ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -623,7 +683,9 @@ async def get_variant_using_base_id(self, base_id: str) -> AppVariantResponse: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{base_id}"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", f"variants/{base_id}" + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -637,7 +699,9 @@ async def get_variant_using_base_id(self, base_id: str) -> AppVariantResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariantRevision]: + async def get_variant_revisions( + self, variant_id: str + ) -> typing.List[AppVariantRevision]: """ Parameters: - variant_id: str. @@ -649,7 +713,10 @@ async def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariant """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions"), + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/revisions", + ), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -663,7 +730,9 @@ async def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariant raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_revision(self, variant_id: str, revision_number: int) -> AppVariantRevision: + async def get_variant_revision( + self, variant_id: str, revision_number: int + ) -> AppVariantRevision: """ Parameters: - variant_id: str. @@ -678,7 +747,8 @@ async def get_variant_revision(self, variant_id: str, revision_number: int) -> A _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions/{revision_number}" + f"{self._client_wrapper.get_base_url()}/", + f"variants/{variant_id}/revisions/{revision_number}", ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py index b3bfbb0781..fac6b42753 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py @@ -1,5 +1,7 @@ # This file was auto-generated by Fern from our API Definition. -from .add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse +from .add_variant_from_base_and_config_response import ( + AddVariantFromBaseAndConfigResponse, +) __all__ = ["AddVariantFromBaseAndConfigResponse"] diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result.py b/agenta-cli/agenta/client/backend/types/aggregated_result.py index cdfc47d3eb..378e25bd96 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result.py @@ -18,11 +18,19 @@ class AggregatedResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py index 567c18f49d..0af9c60a8e 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py @@ -4,4 +4,6 @@ from .evaluator_config import EvaluatorConfig -AggregatedResultEvaluatorConfig = typing.Union[EvaluatorConfig, typing.Dict[str, typing.Any]] +AggregatedResultEvaluatorConfig = typing.Union[ + EvaluatorConfig, typing.Dict[str, typing.Any] +] diff --git a/agenta-cli/agenta/client/backend/types/app.py b/agenta-cli/agenta/client/backend/types/app.py index be4e77b499..7611dc75e9 100644 --- a/agenta-cli/agenta/client/backend/types/app.py +++ b/agenta-cli/agenta/client/backend/types/app.py @@ -16,11 +16,19 @@ class App(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_response.py b/agenta-cli/agenta/client/backend/types/app_variant_response.py index d5d166be8c..9ce97e20ce 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_response.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_response.py @@ -28,11 +28,19 @@ class AppVariantResponse(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_revision.py b/agenta-cli/agenta/client/backend/types/app_variant_revision.py index 38434297c3..39976d7a25 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_revision.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_revision.py @@ -19,11 +19,19 @@ class AppVariantRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/base_output.py b/agenta-cli/agenta/client/backend/types/base_output.py index 2a0a9b41bd..43a0e31eae 100644 --- a/agenta-cli/agenta/client/backend/types/base_output.py +++ b/agenta-cli/agenta/client/backend/types/base_output.py @@ -16,11 +16,19 @@ class BaseOutput(pydantic.BaseModel): base_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/body_import_testset.py b/agenta-cli/agenta/client/backend/types/body_import_testset.py index 1cfab34428..f06788d80d 100644 --- a/agenta-cli/agenta/client/backend/types/body_import_testset.py +++ b/agenta-cli/agenta/client/backend/types/body_import_testset.py @@ -17,11 +17,19 @@ class BodyImportTestset(pydantic.BaseModel): app_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/config_db.py b/agenta-cli/agenta/client/backend/types/config_db.py index 7414370572..7e7b9004fd 100644 --- a/agenta-cli/agenta/client/backend/types/config_db.py +++ b/agenta-cli/agenta/client/backend/types/config_db.py @@ -16,11 +16,19 @@ class ConfigDb(pydantic.BaseModel): parameters: typing.Optional[typing.Dict[str, typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/create_app_output.py b/agenta-cli/agenta/client/backend/types/create_app_output.py index adcf9fdfee..a736531605 100644 --- a/agenta-cli/agenta/client/backend/types/create_app_output.py +++ b/agenta-cli/agenta/client/backend/types/create_app_output.py @@ -16,11 +16,19 @@ class CreateAppOutput(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/docker_env_vars.py b/agenta-cli/agenta/client/backend/types/docker_env_vars.py index 9a0630554a..ea0c144502 100644 --- a/agenta-cli/agenta/client/backend/types/docker_env_vars.py +++ b/agenta-cli/agenta/client/backend/types/docker_env_vars.py @@ -15,11 +15,19 @@ class DockerEnvVars(pydantic.BaseModel): env_vars: typing.Dict[str, str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output.py b/agenta-cli/agenta/client/backend/types/environment_output.py index feb80a72f5..6268b56c14 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output.py +++ b/agenta-cli/agenta/client/backend/types/environment_output.py @@ -22,11 +22,19 @@ class EnvironmentOutput(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output_extended.py b/agenta-cli/agenta/client/backend/types/environment_output_extended.py index 41baf24d13..75eea02d69 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/environment_output_extended.py @@ -24,11 +24,19 @@ class EnvironmentOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_revision.py b/agenta-cli/agenta/client/backend/types/environment_revision.py index cf8aa77edd..c98bf70e74 100644 --- a/agenta-cli/agenta/client/backend/types/environment_revision.py +++ b/agenta-cli/agenta/client/backend/types/environment_revision.py @@ -20,11 +20,19 @@ class EnvironmentRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/error.py b/agenta-cli/agenta/client/backend/types/error.py index 174cc34048..ff81c2a8cd 100644 --- a/agenta-cli/agenta/client/backend/types/error.py +++ b/agenta-cli/agenta/client/backend/types/error.py @@ -16,11 +16,19 @@ class Error(pydantic.BaseModel): stacktrace: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation.py b/agenta-cli/agenta/client/backend/types/evaluation.py index 64a657815d..38c75068d4 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation.py +++ b/agenta-cli/agenta/client/backend/types/evaluation.py @@ -30,11 +30,19 @@ class Evaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py index b221afc09c..36229c357d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py @@ -26,11 +26,19 @@ class EvaluationScenario(pydantic.BaseModel): results: typing.List[EvaluationScenarioResult] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py index 826ae00434..700f6372e4 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py @@ -17,11 +17,19 @@ class EvaluationScenarioInput(pydantic.BaseModel): value: typing.Optional[typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py index 582e1ae617..7a2cb171c9 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py @@ -16,11 +16,19 @@ class EvaluationScenarioOutput(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py index 62f4d0015a..57fbd6e082 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py @@ -17,11 +17,19 @@ class EvaluationScenarioResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py index 4a8fcbcb6a..68ed0da745 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py @@ -15,11 +15,19 @@ class EvaluationScenarioScoreUpdate(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_type.py b/agenta-cli/agenta/client/backend/types/evaluation_type.py index 45c37b9c82..4d2b91066d 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_type.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_type.py @@ -15,7 +15,9 @@ class EvaluationType(str, enum.Enum): SINGLE_MODEL_TEST = "single_model_test" def visit( - self, human_a_b_testing: typing.Callable[[], T_Result], single_model_test: typing.Callable[[], T_Result] + self, + human_a_b_testing: typing.Callable[[], T_Result], + single_model_test: typing.Callable[[], T_Result], ) -> T_Result: if self is EvaluationType.HUMAN_A_B_TESTING: return human_a_b_testing() diff --git a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py index 7eb6db6bc6..c8d71dc626 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py @@ -15,11 +15,19 @@ class EvaluationWebhook(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator.py b/agenta-cli/agenta/client/backend/types/evaluator.py index ea706c01a8..75c3b71454 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator.py +++ b/agenta-cli/agenta/client/backend/types/evaluator.py @@ -19,11 +19,19 @@ class Evaluator(pydantic.BaseModel): description: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator_config.py b/agenta-cli/agenta/client/backend/types/evaluator_config.py index 54fed00c6a..7ca248d882 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/evaluator_config.py @@ -20,11 +20,19 @@ class EvaluatorConfig(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/feedback.py b/agenta-cli/agenta/client/backend/types/feedback.py index c771eb1e39..e4fa0db6e1 100644 --- a/agenta-cli/agenta/client/backend/types/feedback.py +++ b/agenta-cli/agenta/client/backend/types/feedback.py @@ -19,11 +19,19 @@ class Feedback(pydantic.BaseModel): created_at: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/get_config_response.py b/agenta-cli/agenta/client/backend/types/get_config_response.py index 448a75128e..d3b8e334ce 100644 --- a/agenta-cli/agenta/client/backend/types/get_config_response.py +++ b/agenta-cli/agenta/client/backend/types/get_config_response.py @@ -18,11 +18,19 @@ class GetConfigResponse(pydantic.BaseModel): parameters: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/http_validation_error.py b/agenta-cli/agenta/client/backend/types/http_validation_error.py index e5f647b24d..02fc88d818 100644 --- a/agenta-cli/agenta/client/backend/types/http_validation_error.py +++ b/agenta-cli/agenta/client/backend/types/http_validation_error.py @@ -16,11 +16,19 @@ class HttpValidationError(pydantic.BaseModel): detail: typing.Optional[typing.List[ValidationError]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation.py b/agenta-cli/agenta/client/backend/types/human_evaluation.py index 49bfb5da85..299120edc6 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation.py @@ -28,11 +28,19 @@ class HumanEvaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py index a837a1ff4c..5f1f36b824 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py @@ -27,11 +27,19 @@ class HumanEvaluationScenario(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py index bf35c307cb..d65233935e 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py @@ -16,11 +16,19 @@ class HumanEvaluationScenarioInput(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py index e239ca6cd2..752606176b 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py @@ -16,11 +16,19 @@ class HumanEvaluationScenarioOutput(pydantic.BaseModel): variant_output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py index cb035d6c6b..3d099aea1d 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py @@ -24,11 +24,19 @@ class HumanEvaluationScenarioUpdate(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py index 71c6cac057..360f8cc449 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py @@ -16,11 +16,19 @@ class HumanEvaluationUpdate(pydantic.BaseModel): status: typing.Optional[EvaluationStatusEnum] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/image.py b/agenta-cli/agenta/client/backend/types/image.py index 03c2193087..52bd510c66 100644 --- a/agenta-cli/agenta/client/backend/types/image.py +++ b/agenta-cli/agenta/client/backend/types/image.py @@ -19,11 +19,19 @@ class Image(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/invite_request.py b/agenta-cli/agenta/client/backend/types/invite_request.py index 5a454982de..2a9c8f0bac 100644 --- a/agenta-cli/agenta/client/backend/types/invite_request.py +++ b/agenta-cli/agenta/client/backend/types/invite_request.py @@ -16,11 +16,19 @@ class InviteRequest(pydantic.BaseModel): roles: typing.List[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py index 0aa72d80ee..dd393d6268 100644 --- a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py +++ b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py @@ -18,11 +18,19 @@ class ListApiKeysResponse(pydantic.BaseModel): expiration_date: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_content.py b/agenta-cli/agenta/client/backend/types/llm_content.py index c6ab83f6d0..f85285ada3 100644 --- a/agenta-cli/agenta/client/backend/types/llm_content.py +++ b/agenta-cli/agenta/client/backend/types/llm_content.py @@ -17,11 +17,19 @@ class LlmContent(pydantic.BaseModel): output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_inputs.py b/agenta-cli/agenta/client/backend/types/llm_inputs.py index 97f828f45c..a0d2a1bf35 100644 --- a/agenta-cli/agenta/client/backend/types/llm_inputs.py +++ b/agenta-cli/agenta/client/backend/types/llm_inputs.py @@ -16,11 +16,19 @@ class LlmInputs(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_model_params.py b/agenta-cli/agenta/client/backend/types/llm_model_params.py index 417b05cc6d..3e53cf681c 100644 --- a/agenta-cli/agenta/client/backend/types/llm_model_params.py +++ b/agenta-cli/agenta/client/backend/types/llm_model_params.py @@ -16,11 +16,19 @@ class LlmModelParams(pydantic.BaseModel): params: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py index b7ea18a69d..24214f4c59 100644 --- a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py +++ b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py @@ -18,11 +18,19 @@ class LlmRunRateLimit(pydantic.BaseModel): delay_between_batches: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_tokens.py b/agenta-cli/agenta/client/backend/types/llm_tokens.py index 353f864d9e..d53f8eb8f8 100644 --- a/agenta-cli/agenta/client/backend/types/llm_tokens.py +++ b/agenta-cli/agenta/client/backend/types/llm_tokens.py @@ -17,11 +17,19 @@ class LlmTokens(pydantic.BaseModel): total_tokens: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py index c201ac2f27..30067d0ae7 100644 --- a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py @@ -21,11 +21,19 @@ class NewHumanEvaluation(pydantic.BaseModel): status: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_testset.py b/agenta-cli/agenta/client/backend/types/new_testset.py index 20b5ec77ad..7f931de42e 100644 --- a/agenta-cli/agenta/client/backend/types/new_testset.py +++ b/agenta-cli/agenta/client/backend/types/new_testset.py @@ -16,11 +16,19 @@ class NewTestset(pydantic.BaseModel): csvdata: typing.List[typing.Dict[str, str]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization.py b/agenta-cli/agenta/client/backend/types/organization.py index 4a6b6dd1f8..83c81d68d4 100644 --- a/agenta-cli/agenta/client/backend/types/organization.py +++ b/agenta-cli/agenta/client/backend/types/organization.py @@ -22,11 +22,19 @@ class Organization(pydantic.BaseModel): is_paying: typing.Optional[bool] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization_output.py b/agenta-cli/agenta/client/backend/types/organization_output.py index d3269aeb52..93b88e4cf4 100644 --- a/agenta-cli/agenta/client/backend/types/organization_output.py +++ b/agenta-cli/agenta/client/backend/types/organization_output.py @@ -16,11 +16,19 @@ class OrganizationOutput(pydantic.BaseModel): name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/result.py b/agenta-cli/agenta/client/backend/types/result.py index c807398f53..77e4c84d0a 100644 --- a/agenta-cli/agenta/client/backend/types/result.py +++ b/agenta-cli/agenta/client/backend/types/result.py @@ -18,11 +18,19 @@ class Result(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py index 3bba878f7b..ed86be2b2e 100644 --- a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py +++ b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py @@ -20,11 +20,19 @@ class SimpleEvaluationOutput(pydantic.BaseModel): evaluation_type: EvaluationType def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_detail.py b/agenta-cli/agenta/client/backend/types/span_detail.py index 7df1b9f0e8..d57d61cd59 100644 --- a/agenta-cli/agenta/client/backend/types/span_detail.py +++ b/agenta-cli/agenta/client/backend/types/span_detail.py @@ -28,11 +28,19 @@ class SpanDetail(pydantic.BaseModel): model_params: LlmModelParams def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_status.py b/agenta-cli/agenta/client/backend/types/span_status.py index 5bcda585c1..722e7430af 100644 --- a/agenta-cli/agenta/client/backend/types/span_status.py +++ b/agenta-cli/agenta/client/backend/types/span_status.py @@ -18,11 +18,19 @@ class SpanStatus(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_variant.py b/agenta-cli/agenta/client/backend/types/span_variant.py index a67067789d..03903fb8d5 100644 --- a/agenta-cli/agenta/client/backend/types/span_variant.py +++ b/agenta-cli/agenta/client/backend/types/span_variant.py @@ -17,11 +17,19 @@ class SpanVariant(pydantic.BaseModel): revision: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template.py b/agenta-cli/agenta/client/backend/types/template.py index c43fc4beac..b509e795d4 100644 --- a/agenta-cli/agenta/client/backend/types/template.py +++ b/agenta-cli/agenta/client/backend/types/template.py @@ -17,11 +17,19 @@ class Template(pydantic.BaseModel): image: TemplateImageInfo def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template_image_info.py b/agenta-cli/agenta/client/backend/types/template_image_info.py index 5131e053d7..b0c01e7504 100644 --- a/agenta-cli/agenta/client/backend/types/template_image_info.py +++ b/agenta-cli/agenta/client/backend/types/template_image_info.py @@ -22,11 +22,19 @@ class TemplateImageInfo(pydantic.BaseModel): template_uri: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_output_response.py b/agenta-cli/agenta/client/backend/types/test_set_output_response.py index ac4a47255d..715ebcdcd5 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_output_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_output_response.py @@ -17,11 +17,19 @@ class TestSetOutputResponse(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py index c30fc1de89..b6ac04a871 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py @@ -17,11 +17,19 @@ class TestSetSimpleResponse(pydantic.BaseModel): created_at: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/trace_detail.py b/agenta-cli/agenta/client/backend/types/trace_detail.py index 9738ec59fd..24d07d4597 100644 --- a/agenta-cli/agenta/client/backend/types/trace_detail.py +++ b/agenta-cli/agenta/client/backend/types/trace_detail.py @@ -23,11 +23,19 @@ class TraceDetail(pydantic.BaseModel): user_id: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/uri.py b/agenta-cli/agenta/client/backend/types/uri.py index a04cc35249..608f89ef6f 100644 --- a/agenta-cli/agenta/client/backend/types/uri.py +++ b/agenta-cli/agenta/client/backend/types/uri.py @@ -15,11 +15,19 @@ class Uri(pydantic.BaseModel): uri: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/validation_error.py b/agenta-cli/agenta/client/backend/types/validation_error.py index 67b5ba78e3..ffd8cc872f 100644 --- a/agenta-cli/agenta/client/backend/types/validation_error.py +++ b/agenta-cli/agenta/client/backend/types/validation_error.py @@ -18,11 +18,19 @@ class ValidationError(pydantic.BaseModel): type: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action.py b/agenta-cli/agenta/client/backend/types/variant_action.py index 1fe22412aa..a614ac00f5 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action.py +++ b/agenta-cli/agenta/client/backend/types/variant_action.py @@ -16,11 +16,19 @@ class VariantAction(pydantic.BaseModel): action: VariantActionEnum def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action_enum.py b/agenta-cli/agenta/client/backend/types/variant_action_enum.py index 5aa6f1c7e7..6f5f8c19c5 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action_enum.py +++ b/agenta-cli/agenta/client/backend/types/variant_action_enum.py @@ -14,7 +14,9 @@ class VariantActionEnum(str, enum.Enum): START = "START" STOP = "STOP" - def visit(self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result]) -> T_Result: + def visit( + self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result] + ) -> T_Result: if self is VariantActionEnum.START: return start() if self is VariantActionEnum.STOP: diff --git a/agenta-cli/agenta/client/backend/types/with_pagination.py b/agenta-cli/agenta/client/backend/types/with_pagination.py index 2b7a1588ac..ae2a4dfa06 100644 --- a/agenta-cli/agenta/client/backend/types/with_pagination.py +++ b/agenta-cli/agenta/client/backend/types/with_pagination.py @@ -18,11 +18,19 @@ class WithPagination(pydantic.BaseModel): page_size: int = pydantic.Field(alias="pageSize") def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_member_response.py b/agenta-cli/agenta/client/backend/types/workspace_member_response.py index ef3c928c8e..ec907e24d8 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_member_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_member_response.py @@ -17,11 +17,19 @@ class WorkspaceMemberResponse(pydantic.BaseModel): roles: typing.List[WorkspacePermission] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_permission.py b/agenta-cli/agenta/client/backend/types/workspace_permission.py index ed74790008..0d847e611e 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_permission.py +++ b/agenta-cli/agenta/client/backend/types/workspace_permission.py @@ -19,11 +19,19 @@ class WorkspacePermission(pydantic.BaseModel): permissions: typing.Optional[typing.List[Permission]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_response.py b/agenta-cli/agenta/client/backend/types/workspace_response.py index 55ee8f5f51..f0e0bbf5ee 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_response.py @@ -23,11 +23,19 @@ class WorkspaceResponse(pydantic.BaseModel): members: typing.Optional[typing.List[WorkspaceMemberResponse]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_role_response.py b/agenta-cli/agenta/client/backend/types/workspace_role_response.py index 4313b624b1..97531c3143 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_role_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_role_response.py @@ -17,11 +17,19 @@ class WorkspaceRoleResponse(pydantic.BaseModel): role_description: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} + kwargs_with_defaults: typing.Any = { + "by_alias": True, + "exclude_unset": True, + **kwargs, + } return super().dict(**kwargs_with_defaults) class Config: From 84df2fdc067cb5797b60415c7b1fb0132b05c009 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 19 Mar 2024 19:45:15 +0100 Subject: [PATCH 249/539] Refactor - update app_async llm example --- examples/baby_name_generator/app_async.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/examples/baby_name_generator/app_async.py b/examples/baby_name_generator/app_async.py index dc8e0c4cb0..dcba7c30c3 100644 --- a/examples/baby_name_generator/app_async.py +++ b/examples/baby_name_generator/app_async.py @@ -13,12 +13,15 @@ ) -@ag.span(ag.llm_tracing, event_type="llm_request") +tracing = ag.llm_tracing() + + +@ag.span(tracing, event_type="llm_request") # su types are: llm_request, embedding async def llm_call(prompt): chat_completion = await client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] ) - ag.llm_tracing.set_span_attribute(model="gpt-3.5-turbo") + tracing.set_span_attribute(model="gpt-3.5-turbo") return { "message": chat_completion.choices[0].message.content, "usage": chat_completion.usage.dict(), From 1732b42e2a7b4989f87e8ba84a9a9288b990533a Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 19 Mar 2024 19:51:42 +0100 Subject: [PATCH 250/539] Major refactor - update observability sdk --- .../models/api/observability_models.py | 8 +- .../agenta_backend/models/db_models.py | 3 +- .../agenta_backend/services/app_manager.py | 1 + agenta-cli/agenta/sdk/agenta_decorator.py | 18 +- agenta-cli/agenta/sdk/agenta_init.py | 23 +- agenta-cli/agenta/sdk/tracing/decorators.py | 9 +- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 41 +- .../agenta/sdk/tracing/tasks_manager.py | 16 +- agenta-cli/poetry.lock | 360 +++++++++++------- agenta-cli/pyproject.toml | 1 + examples/baby_name_generator/app_async.py | 2 +- 11 files changed, 296 insertions(+), 186 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index b0fc1ccbc8..244e7f3139 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -51,9 +51,9 @@ class Span(BaseModel): class LLMTokens(BaseModel): - prompt_tokens: int - completion_tokens: int - total_tokens: int + prompt_tokens: int = Field(default=0) + completion_tokens: int = Field(default=0) + total_tokens: int = Field(default=0) class BaseSpan(BaseModel): @@ -150,7 +150,6 @@ class BaseTrace(BaseModel): variant_id: Optional[str] cost: Optional[float] status: str = Field(default=Status.INITIATED) - token_consumption: Optional[int] tags: Optional[List[str]] start_time: datetime = Field(default=datetime.now()) @@ -166,3 +165,4 @@ class UpdateTrace(BaseModel): status: str end_time: datetime outputs: List[str] + token_consumption: Optional[int] diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 4fc2cb2cd6..6ed6e1cf38 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -356,9 +356,8 @@ class SpanDB(Document): event_name: str # Function or execution name event_type: Optional[TracingEventTypes] status: SpanStatus - input: Optional[str] + input: Optional[Dict[str, Any]] output: Optional[str] - model: str user: Optional[str] environment: Optional[str] # request source -> playground, development, etc start_time: datetime diff --git a/agenta-backend/agenta_backend/services/app_manager.py b/agenta-backend/agenta_backend/services/app_manager.py index 48ccaed5d9..fc737bec82 100644 --- a/agenta-backend/agenta_backend/services/app_manager.py +++ b/agenta-backend/agenta_backend/services/app_manager.py @@ -91,6 +91,7 @@ async def start_variant( env_vars = {} if env_vars is None else env_vars env_vars.update( { + "AGENTA_VARIANT_ID": str(db_app_variant.id), "AGENTA_BASE_ID": str(db_app_variant.base.id), "AGENTA_APP_ID": str(db_app_variant.app.id), "AGENTA_HOST": domain_name, diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index c40e684e04..73df57e21f 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -56,7 +56,7 @@ def ingest_file(upfile: UploadFile): return InFile(file_name=upfile.filename, file_path=temp_file.name) -def entrypoint(func: Callable[..., Any], max_workers: int = 4) -> Callable[..., Any]: +def entrypoint(func: Callable[..., Any]) -> Callable[..., Any]: """ Decorator to wrap a function for HTTP POST and terminal exposure. @@ -73,19 +73,27 @@ def entrypoint(func: Callable[..., Any], max_workers: int = 4) -> Callable[..., ingestible_files = extract_ingestible_files(func_signature) # Initialize llm tracing - tracing = agenta.llm_tracing(max_workers=max_workers) + tracing = agenta.llm_tracing() @functools.wraps(func) async def wrapper(*args, **kwargs) -> Any: func_params, api_config_params = split_kwargs(kwargs, config_params) + + # Start tracing + tracing.trace( + trace_name=func.__name__, + inputs={"prompt": [func_params, api_config_params]}, + ) ingest_files(func_params, ingestible_files) agenta.config.set(**api_config_params) result = await execute_function( func, *args, **{"params": func_params, "config_params": config_params} ) - # End tracing for playground - tracing.end_trace(outputs=[result["message"]], **kwargs) # type: ignore + # End tracing + if isinstance(result, JSONResponse): + result = {"message": str(result), "usage": None} + tracing.end_trace(outputs=[result["message"]], **result["usage"]) # type: ignore return result @functools.wraps(func) @@ -112,6 +120,8 @@ async def wrapper_deployed(*args, **kwargs) -> Any: ) # End tracing + if isinstance(result, JSONResponse): + result = {"message": str(result), "usage": None} tracing.end_trace(outputs=[result["message"]], **kwargs) # type: ignore return result diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index ec040e36c8..5b1302bab9 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -7,7 +7,6 @@ from agenta.client.backend.client import AgentaApi from agenta.sdk.tracing.llm_tracing import Tracing from agenta.client.exceptions import APIRequestError -from agenta.client.backend.types.base_output import BaseOutput logger = logging.getLogger(__name__) @@ -81,8 +80,7 @@ def init( else: try: app_id = self.get_app(app_name) - variant_id = self.get_variant(app_id, base_name).variant_id - base_id = self.get_app_base(app_id, base_name).base_id + base_id = self.get_app_base(app_id, base_name) except Exception as ex: raise APIRequestError( f"Failed to get base id and/or app_id from the server with error: {ex}" @@ -91,7 +89,7 @@ def init( self.base_id = base_id self.host = host self.app_id = os.environ.get("AGENTA_APP_ID") if app_id is None else app_id - self.variant_id = variant_id + self.variant_id = os.environ.get("AGENTA_VARIANT_ID") self.api_key = api_key self.config = Config(base_id=base_id, host=host) @@ -103,16 +101,11 @@ def get_app(self, app_name: str) -> str: app_id = apps[0].app_id return app_id - def get_app_base(self, app_id: str, base_name: str) -> BaseOutput: + def get_app_base(self, app_id: str, base_name: str) -> str: bases = client.bases.list_bases(app_id=app_id, base_name=base_name) if len(bases) == 0: raise APIRequestError(f"No base was found for the app {app_id}") - return bases[0] - - def get_variant(self, app_id: str, base_name: str): - base = self.get_app_base(app_id=app_id, base_name=base_name) - variant = client.variants.get_variant_using_base_id(base_id=base.base_id) - return variant + return bases[0].base_id def get_current_config(self): """ @@ -236,10 +229,14 @@ def init(app_name=None, base_name=None, **kwargs): set_global(setup=singleton.setup, config=singleton.config) -def llm_tracing(max_workers: int) -> Tracing: +def llm_tracing(max_workers: Optional[int] = None) -> Tracing: """Function to start llm tracing.""" singleton = AgentaSingleton() return Tracing( - base_url=singleton.host, api_key=singleton.api_key, max_workers=max_workers + base_url=singleton.host, + app_id=singleton.app_id, # type: ignore + variant_id=singleton.variant_id, # type: ignore + api_key=singleton.api_key, + max_workers=max_workers, ) diff --git a/agenta-cli/agenta/sdk/tracing/decorators.py b/agenta-cli/agenta/sdk/tracing/decorators.py index 48cfb6248f..cd3ae168db 100644 --- a/agenta-cli/agenta/sdk/tracing/decorators.py +++ b/agenta-cli/agenta/sdk/tracing/decorators.py @@ -6,29 +6,30 @@ from agenta.sdk.tracing.llm_tracing import Tracing -async def span(tracing: Tracing, event_type: str = "llm_request"): +def span(tracing: Tracing, event_type: str): """Decorator to automatically start and end spans.""" def decorator(func): @wraps(func) async def wrapper(*args, **kwargs): + result = None span = tracing.start_span( func.__name__, - input=str(args), + input=kwargs, event_type=event_type, trace_id=tracing.active_trace, ) - result = None try: is_coroutine_function = inspect.iscoroutinefunction(func) if is_coroutine_function: result = await func(*args, **kwargs) else: result = func(*args, **kwargs) + span.update_span_status("COMPLETED") except Exception as e: span.set_attribute("error", True) span.set_attribute("error_message", str(e)) - raise + span.update_span_status("FAILED", str(e)) finally: if not isinstance(result, dict): result = {"message": result} diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 121ab8d4f2..b0f9b0ffdb 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -1,5 +1,4 @@ # Stdlib Imports -from bson import ObjectId from datetime import datetime from typing import Optional, Dict, Any, List @@ -9,6 +8,9 @@ from agenta.sdk.tracing.tasks_manager import TaskQueue from agenta.client.backend.client import AsyncObservabilityClient +# Third Party Imports +from bson.objectid import ObjectId + class Span: def __init__( @@ -29,6 +31,7 @@ def __init__( self.start_time = datetime.now() self.end_time = Optional[datetime] self.input = input + self.status = Dict[str, Any] self.output = Optional[Dict[str, Any]] self.cost = Optional[float] self.tokens = Optional[Dict[str, int]] @@ -37,6 +40,15 @@ def __init__( def set_attribute(self, key: str, value: Any): self.attributes[key] = value + def update_span_status(self, status: str, exc: Optional[str]): + if status == "FAILED": + self.status = { # type: ignore + "value": None, + "error": {"message": status, "stacktrace": str(exc)}, + } + elif status == "COMPLETED": + self.status == {"value": status, "error": None} + def end(self, output: Dict[str, Any]): self.end_time = datetime.now() self.output = output["message"] @@ -54,6 +66,7 @@ def __dict__(self): "end_time": self.end_time.isoformat() if self.end_time else None, "input": self.input, "output": self.output, + "status": self.status, "tokens": self.tokens, "meta": self.attributes, } @@ -80,13 +93,19 @@ def __new__(cls, *args, **kwargs): def __init__( self, base_url: str, + app_id: str, + variant_id: str, api_key: Optional[str] = None, - max_workers: int = 4, + max_workers: Optional[int] = None, ): self.base_url = base_url + "/api" self.api_key = api_key if api_key is not None else "" self.llm_logger = llm_logger - self.tasks_manager = TaskQueue(max_workers, logger=llm_logger) + self.app_id = app_id + self.variant_id = variant_id + self.tasks_manager = TaskQueue( + max_workers if max_workers else 4, logger=llm_logger + ) self.active_span = None self.active_trace = None self.tags: List[str] = [] @@ -172,8 +191,6 @@ def _create_span_id(self) -> str: def trace( self, trace_name: Optional[str], - app_id: str, - variant_id: str, inputs: Dict[str, Any], **kwargs, ): @@ -188,20 +205,22 @@ def trace( trace_id = self._create_trace_id() try: + self.llm_logger.info("Starting tracing...") self.tasks_manager.add_task( self.client.create_trace( id=trace_id, - app_id=app_id, - variant_id=variant_id, - trace_name=trace_name, + app_id=self.app_id, + variant_id=self.variant_id, + trace_name=trace_name, # type: ignore start_time=datetime.now(), inputs=inputs, - environment=kwargs["environment"], # type: ignore + environment=kwargs.get("environment"), # type: ignore status="INITIATED", tags=self.tags, ) ) self.active_trace = trace_id # type: ignore + self.llm_logger.info("Trace ended successfully.") except Exception as exc: self.llm_logger.error(f"Error creating trace: {str(exc)}") @@ -209,11 +228,11 @@ def end_trace(self, outputs: List[str], **kwargs: Dict[str, Any]): try: self.tasks_manager.add_task( self.client.update_trace( - trace_id=self.active_trace, + trace_id=self.active_trace, # type: ignore status="COMPLETED", end_time=datetime.now(), + token_consumption=kwargs.get("total_tokens"), outputs=outputs, - **kwargs, ) ) except Exception as exc: diff --git a/agenta-cli/agenta/sdk/tracing/tasks_manager.py b/agenta-cli/agenta/sdk/tracing/tasks_manager.py index d11e1f429f..7887e8af21 100644 --- a/agenta-cli/agenta/sdk/tracing/tasks_manager.py +++ b/agenta-cli/agenta/sdk/tracing/tasks_manager.py @@ -74,9 +74,8 @@ def add_task(self, coroutine: Coroutine) -> AsyncTask: """ task = AsyncTask(coroutine) - with self._lock: - self.tasks.put(task) - return task + self.tasks.put(task) + return self._worker() def _worker(self): """ @@ -84,17 +83,16 @@ def _worker(self): """ while True: - with self._lock: - task = self.tasks.get() + task = self.tasks.get() try: - self._logger.info(f"Running LLM tracing: {str(task)}") future = self._thread_pool.submit(asyncio.run, task.run()) future.add_done_callback(self._handle_task_completion) except Exception as exc: - self._logger.error(f"Error running task: {exc}") + self._logger.error(f"Error running task: {str(exc)}") + break finally: self.tasks.task_done() - self._logger.info(f"Tracing completed: {str(task)}") + break def _handle_task_completion(self, future: Future): """Handles task completion or exception raise. @@ -106,4 +104,4 @@ def _handle_task_completion(self, future: Future): try: future.result() except Exception as exc: - self._logger.error(f"Error in completed task: {exc}") + self._logger.error(f"Error in completed task: {str(exc)}") diff --git a/agenta-cli/poetry.lock b/agenta-cli/poetry.lock index 792f318e38..8b6050ea60 100644 --- a/agenta-cli/poetry.lock +++ b/agenta-cli/poetry.lock @@ -1,15 +1,4 @@ -# This file is automatically @generated by Poetry 1.7.1 and should not be changed by hand. - -[[package]] -name = "annotated-types" -version = "0.6.0" -description = "Reusable constraint types to use with typing.Annotated" -optional = false -python-versions = ">=3.8" -files = [ - {file = "annotated_types-0.6.0-py3-none-any.whl", hash = "sha256:0641064de18ba7a25dee8f96403ebc39113d0cb953a01429249d5c7564666a43"}, - {file = "annotated_types-0.6.0.tar.gz", hash = "sha256:563339e807e53ffd9c267e99fc6d9ea23eb8443c08f112651963e24e22f84a5d"}, -] +# This file is automatically @generated by Poetry 1.6.1 and should not be changed by hand. [[package]] name = "anyio" @@ -237,6 +226,26 @@ files = [ {file = "decorator-5.1.1.tar.gz", hash = "sha256:637996211036b6385ef91435e4fae22989472f9d571faba8927ba8253acbc330"}, ] +[[package]] +name = "dnspython" +version = "2.6.1" +description = "DNS toolkit" +optional = false +python-versions = ">=3.8" +files = [ + {file = "dnspython-2.6.1-py3-none-any.whl", hash = "sha256:5ef3b9680161f6fa89daf8ad451b5f1a33b18ae8a1c6778cdf4b43f08c0a6e50"}, + {file = "dnspython-2.6.1.tar.gz", hash = "sha256:e8f0f9c23a7b7cb99ded64e6c3a6f3e701d78f50c55e002b839dea7225cff7cc"}, +] + +[package.extras] +dev = ["black (>=23.1.0)", "coverage (>=7.0)", "flake8 (>=7)", "mypy (>=1.8)", "pylint (>=3)", "pytest (>=7.4)", "pytest-cov (>=4.1.0)", "sphinx (>=7.2.0)", "twine (>=4.0.0)", "wheel (>=0.42.0)"] +dnssec = ["cryptography (>=41)"] +doh = ["h2 (>=4.1.0)", "httpcore (>=1.0.0)", "httpx (>=0.26.0)"] +doq = ["aioquic (>=0.9.25)"] +idna = ["idna (>=3.6)"] +trio = ["trio (>=0.23)"] +wmi = ["wmi (>=1.5.1)"] + [[package]] name = "docker" version = "6.1.3" @@ -305,6 +314,62 @@ typing-extensions = ">=4.8.0" [package.extras] all = ["email-validator (>=2.0.0)", "httpx (>=0.23.0)", "itsdangerous (>=1.1.0)", "jinja2 (>=2.11.2)", "orjson (>=3.2.1)", "pydantic-extra-types (>=2.0.0)", "pydantic-settings (>=2.0.0)", "python-multipart (>=0.0.5)", "pyyaml (>=5.3.1)", "ujson (>=4.0.1,!=4.0.2,!=4.1.0,!=4.2.0,!=4.3.0,!=5.0.0,!=5.1.0)", "uvicorn[standard] (>=0.12.0)"] +[[package]] +name = "h11" +version = "0.14.0" +description = "A pure-Python, bring-your-own-I/O implementation of HTTP/1.1" +optional = false +python-versions = ">=3.7" +files = [ + {file = "h11-0.14.0-py3-none-any.whl", hash = "sha256:e3fe4ac4b851c468cc8363d500db52c2ead036020723024a109d37346efaa761"}, + {file = "h11-0.14.0.tar.gz", hash = "sha256:8f19fbbe99e72420ff35c00b27a34cb9937e902a8b810e2c88300c6f0a3b699d"}, +] + +[[package]] +name = "httpcore" +version = "1.0.4" +description = "A minimal low-level HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpcore-1.0.4-py3-none-any.whl", hash = "sha256:ac418c1db41bade2ad53ae2f3834a3a0f5ae76b56cf5aa497d2d033384fc7d73"}, + {file = "httpcore-1.0.4.tar.gz", hash = "sha256:cb2839ccfcba0d2d3c1131d3c3e26dfc327326fbe7a5dc0dbfe9f6c9151bb022"}, +] + +[package.dependencies] +certifi = "*" +h11 = ">=0.13,<0.15" + +[package.extras] +asyncio = ["anyio (>=4.0,<5.0)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] +trio = ["trio (>=0.22.0,<0.25.0)"] + +[[package]] +name = "httpx" +version = "0.27.0" +description = "The next generation HTTP client." +optional = false +python-versions = ">=3.8" +files = [ + {file = "httpx-0.27.0-py3-none-any.whl", hash = "sha256:71d5465162c13681bff01ad59b2cc68dd838ea1f10e51574bac27103f00c91a5"}, + {file = "httpx-0.27.0.tar.gz", hash = "sha256:a0cb88a46f32dc874e04ee956e4c2764aba2aa228f650b06788ba6bda2962ab5"}, +] + +[package.dependencies] +anyio = "*" +certifi = "*" +httpcore = "==1.*" +idna = "*" +sniffio = "*" + +[package.extras] +brotli = ["brotli", "brotlicffi"] +cli = ["click (==8.*)", "pygments (==2.*)", "rich (>=10,<14)"] +http2 = ["h2 (>=3,<5)"] +socks = ["socksio (==1.*)"] + [[package]] name = "idna" version = "3.6" @@ -573,139 +638,55 @@ files = [ [[package]] name = "pydantic" -version = "2.5.3" -description = "Data validation using Python type hints" +version = "1.10.13" +description = "Data validation and settings management using python type hints" optional = false python-versions = ">=3.7" files = [ - {file = "pydantic-2.5.3-py3-none-any.whl", hash = "sha256:d0caf5954bee831b6bfe7e338c32b9e30c85dfe080c843680783ac2b631673b4"}, - {file = "pydantic-2.5.3.tar.gz", hash = "sha256:b3ef57c62535b0941697cce638c08900d87fcb67e29cfa99e8a68f747f393f7a"}, + {file = "pydantic-1.10.13-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:efff03cc7a4f29d9009d1c96ceb1e7a70a65cfe86e89d34e4a5f2ab1e5693737"}, + {file = "pydantic-1.10.13-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:3ecea2b9d80e5333303eeb77e180b90e95eea8f765d08c3d278cd56b00345d01"}, + {file = "pydantic-1.10.13-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1740068fd8e2ef6eb27a20e5651df000978edce6da6803c2bef0bc74540f9548"}, + {file = "pydantic-1.10.13-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:84bafe2e60b5e78bc64a2941b4c071a4b7404c5c907f5f5a99b0139781e69ed8"}, + {file = "pydantic-1.10.13-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:bc0898c12f8e9c97f6cd44c0ed70d55749eaf783716896960b4ecce2edfd2d69"}, + {file = "pydantic-1.10.13-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:654db58ae399fe6434e55325a2c3e959836bd17a6f6a0b6ca8107ea0571d2e17"}, + {file = "pydantic-1.10.13-cp310-cp310-win_amd64.whl", hash = "sha256:75ac15385a3534d887a99c713aa3da88a30fbd6204a5cd0dc4dab3d770b9bd2f"}, + {file = "pydantic-1.10.13-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c553f6a156deb868ba38a23cf0df886c63492e9257f60a79c0fd8e7173537653"}, + {file = "pydantic-1.10.13-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:5e08865bc6464df8c7d61439ef4439829e3ab62ab1669cddea8dd00cd74b9ffe"}, + {file = "pydantic-1.10.13-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e31647d85a2013d926ce60b84f9dd5300d44535a9941fe825dc349ae1f760df9"}, + {file = "pydantic-1.10.13-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:210ce042e8f6f7c01168b2d84d4c9eb2b009fe7bf572c2266e235edf14bacd80"}, + {file = "pydantic-1.10.13-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:8ae5dd6b721459bfa30805f4c25880e0dd78fc5b5879f9f7a692196ddcb5a580"}, + {file = "pydantic-1.10.13-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:f8e81fc5fb17dae698f52bdd1c4f18b6ca674d7068242b2aff075f588301bbb0"}, + {file = "pydantic-1.10.13-cp311-cp311-win_amd64.whl", hash = "sha256:61d9dce220447fb74f45e73d7ff3b530e25db30192ad8d425166d43c5deb6df0"}, + {file = "pydantic-1.10.13-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:4b03e42ec20286f052490423682016fd80fda830d8e4119f8ab13ec7464c0132"}, + {file = "pydantic-1.10.13-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f59ef915cac80275245824e9d771ee939133be38215555e9dc90c6cb148aaeb5"}, + {file = "pydantic-1.10.13-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5a1f9f747851338933942db7af7b6ee8268568ef2ed86c4185c6ef4402e80ba8"}, + {file = "pydantic-1.10.13-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:97cce3ae7341f7620a0ba5ef6cf043975cd9d2b81f3aa5f4ea37928269bc1b87"}, + {file = "pydantic-1.10.13-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:854223752ba81e3abf663d685f105c64150873cc6f5d0c01d3e3220bcff7d36f"}, + {file = "pydantic-1.10.13-cp37-cp37m-win_amd64.whl", hash = "sha256:b97c1fac8c49be29486df85968682b0afa77e1b809aff74b83081cc115e52f33"}, + {file = "pydantic-1.10.13-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:c958d053453a1c4b1c2062b05cd42d9d5c8eb67537b8d5a7e3c3032943ecd261"}, + {file = "pydantic-1.10.13-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:4c5370a7edaac06daee3af1c8b1192e305bc102abcbf2a92374b5bc793818599"}, + {file = "pydantic-1.10.13-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7d6f6e7305244bddb4414ba7094ce910560c907bdfa3501e9db1a7fd7eaea127"}, + {file = "pydantic-1.10.13-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d3a3c792a58e1622667a2837512099eac62490cdfd63bd407993aaf200a4cf1f"}, + {file = "pydantic-1.10.13-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:c636925f38b8db208e09d344c7aa4f29a86bb9947495dd6b6d376ad10334fb78"}, + {file = "pydantic-1.10.13-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:678bcf5591b63cc917100dc50ab6caebe597ac67e8c9ccb75e698f66038ea953"}, + {file = "pydantic-1.10.13-cp38-cp38-win_amd64.whl", hash = "sha256:6cf25c1a65c27923a17b3da28a0bdb99f62ee04230c931d83e888012851f4e7f"}, + {file = "pydantic-1.10.13-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:8ef467901d7a41fa0ca6db9ae3ec0021e3f657ce2c208e98cd511f3161c762c6"}, + {file = "pydantic-1.10.13-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:968ac42970f57b8344ee08837b62f6ee6f53c33f603547a55571c954a4225691"}, + {file = "pydantic-1.10.13-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:9849f031cf8a2f0a928fe885e5a04b08006d6d41876b8bbd2fc68a18f9f2e3fd"}, + {file = "pydantic-1.10.13-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:56e3ff861c3b9c6857579de282ce8baabf443f42ffba355bf070770ed63e11e1"}, + {file = "pydantic-1.10.13-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f00790179497767aae6bcdc36355792c79e7bbb20b145ff449700eb076c5f96"}, + {file = "pydantic-1.10.13-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:75b297827b59bc229cac1a23a2f7a4ac0031068e5be0ce385be1462e7e17a35d"}, + {file = "pydantic-1.10.13-cp39-cp39-win_amd64.whl", hash = "sha256:e70ca129d2053fb8b728ee7d1af8e553a928d7e301a311094b8a0501adc8763d"}, + {file = "pydantic-1.10.13-py3-none-any.whl", hash = "sha256:b87326822e71bd5f313e7d3bfdc77ac3247035ac10b0c0618bd99dcf95b1e687"}, + {file = "pydantic-1.10.13.tar.gz", hash = "sha256:32c8b48dcd3b2ac4e78b0ba4af3a2c2eb6048cb75202f0ea7b34feb740efc340"}, ] [package.dependencies] -annotated-types = ">=0.4.0" -pydantic-core = "2.14.6" -typing-extensions = ">=4.6.1" +typing-extensions = ">=4.2.0" [package.extras] -email = ["email-validator (>=2.0.0)"] - -[[package]] -name = "pydantic-core" -version = "2.14.6" -description = "" -optional = false -python-versions = ">=3.7" -files = [ - {file = "pydantic_core-2.14.6-cp310-cp310-macosx_10_7_x86_64.whl", hash = "sha256:72f9a942d739f09cd42fffe5dc759928217649f070056f03c70df14f5770acf9"}, - {file = "pydantic_core-2.14.6-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:6a31d98c0d69776c2576dda4b77b8e0c69ad08e8b539c25c7d0ca0dc19a50d6c"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:5aa90562bc079c6c290f0512b21768967f9968e4cfea84ea4ff5af5d917016e4"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:370ffecb5316ed23b667d99ce4debe53ea664b99cc37bfa2af47bc769056d534"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:f85f3843bdb1fe80e8c206fe6eed7a1caeae897e496542cee499c374a85c6e08"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:9862bf828112e19685b76ca499b379338fd4c5c269d897e218b2ae8fcb80139d"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:036137b5ad0cb0004c75b579445a1efccd072387a36c7f217bb8efd1afbe5245"}, - {file = "pydantic_core-2.14.6-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:92879bce89f91f4b2416eba4429c7b5ca22c45ef4a499c39f0c5c69257522c7c"}, - {file = "pydantic_core-2.14.6-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:0c08de15d50fa190d577e8591f0329a643eeaed696d7771760295998aca6bc66"}, - {file = "pydantic_core-2.14.6-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:36099c69f6b14fc2c49d7996cbf4f87ec4f0e66d1c74aa05228583225a07b590"}, - {file = "pydantic_core-2.14.6-cp310-none-win32.whl", hash = "sha256:7be719e4d2ae6c314f72844ba9d69e38dff342bc360379f7c8537c48e23034b7"}, - {file = "pydantic_core-2.14.6-cp310-none-win_amd64.whl", hash = "sha256:36fa402dcdc8ea7f1b0ddcf0df4254cc6b2e08f8cd80e7010d4c4ae6e86b2a87"}, - {file = "pydantic_core-2.14.6-cp311-cp311-macosx_10_7_x86_64.whl", hash = "sha256:dea7fcd62915fb150cdc373212141a30037e11b761fbced340e9db3379b892d4"}, - {file = "pydantic_core-2.14.6-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:ffff855100bc066ff2cd3aa4a60bc9534661816b110f0243e59503ec2df38421"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1b027c86c66b8627eb90e57aee1f526df77dc6d8b354ec498be9a757d513b92b"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:00b1087dabcee0b0ffd104f9f53d7d3eaddfaa314cdd6726143af6bc713aa27e"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:75ec284328b60a4e91010c1acade0c30584f28a1f345bc8f72fe8b9e46ec6a96"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:7e1f4744eea1501404b20b0ac059ff7e3f96a97d3e3f48ce27a139e053bb370b"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b2602177668f89b38b9f84b7b3435d0a72511ddef45dc14446811759b82235a1"}, - {file = "pydantic_core-2.14.6-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:6c8edaea3089bf908dd27da8f5d9e395c5b4dc092dbcce9b65e7156099b4b937"}, - {file = "pydantic_core-2.14.6-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:478e9e7b360dfec451daafe286998d4a1eeaecf6d69c427b834ae771cad4b622"}, - {file = "pydantic_core-2.14.6-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:b6ca36c12a5120bad343eef193cc0122928c5c7466121da7c20f41160ba00ba2"}, - {file = "pydantic_core-2.14.6-cp311-none-win32.whl", hash = "sha256:2b8719037e570639e6b665a4050add43134d80b687288ba3ade18b22bbb29dd2"}, - {file = "pydantic_core-2.14.6-cp311-none-win_amd64.whl", hash = "sha256:78ee52ecc088c61cce32b2d30a826f929e1708f7b9247dc3b921aec367dc1b23"}, - {file = "pydantic_core-2.14.6-cp311-none-win_arm64.whl", hash = "sha256:a19b794f8fe6569472ff77602437ec4430f9b2b9ec7a1105cfd2232f9ba355e6"}, - {file = "pydantic_core-2.14.6-cp312-cp312-macosx_10_7_x86_64.whl", hash = "sha256:667aa2eac9cd0700af1ddb38b7b1ef246d8cf94c85637cbb03d7757ca4c3fdec"}, - {file = "pydantic_core-2.14.6-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:cdee837710ef6b56ebd20245b83799fce40b265b3b406e51e8ccc5b85b9099b7"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:2c5bcf3414367e29f83fd66f7de64509a8fd2368b1edf4351e862910727d3e51"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:26a92ae76f75d1915806b77cf459811e772d8f71fd1e4339c99750f0e7f6324f"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a983cca5ed1dd9a35e9e42ebf9f278d344603bfcb174ff99a5815f953925140a"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cb92f9061657287eded380d7dc455bbf115430b3aa4741bdc662d02977e7d0af"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e4ace1e220b078c8e48e82c081e35002038657e4b37d403ce940fa679e57113b"}, - {file = "pydantic_core-2.14.6-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:ef633add81832f4b56d3b4c9408b43d530dfca29e68fb1b797dcb861a2c734cd"}, - {file = "pydantic_core-2.14.6-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7e90d6cc4aad2cc1f5e16ed56e46cebf4877c62403a311af20459c15da76fd91"}, - {file = "pydantic_core-2.14.6-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:e8a5ac97ea521d7bde7621d86c30e86b798cdecd985723c4ed737a2aa9e77d0c"}, - {file = "pydantic_core-2.14.6-cp312-none-win32.whl", hash = "sha256:f27207e8ca3e5e021e2402ba942e5b4c629718e665c81b8b306f3c8b1ddbb786"}, - {file = "pydantic_core-2.14.6-cp312-none-win_amd64.whl", hash = "sha256:b3e5fe4538001bb82e2295b8d2a39356a84694c97cb73a566dc36328b9f83b40"}, - {file = "pydantic_core-2.14.6-cp312-none-win_arm64.whl", hash = "sha256:64634ccf9d671c6be242a664a33c4acf12882670b09b3f163cd00a24cffbd74e"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-macosx_10_7_x86_64.whl", hash = "sha256:24368e31be2c88bd69340fbfe741b405302993242ccb476c5c3ff48aeee1afe0"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-macosx_11_0_arm64.whl", hash = "sha256:e33b0834f1cf779aa839975f9d8755a7c2420510c0fa1e9fa0497de77cd35d2c"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6af4b3f52cc65f8a0bc8b1cd9676f8c21ef3e9132f21fed250f6958bd7223bed"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d15687d7d7f40333bd8266f3814c591c2e2cd263fa2116e314f60d82086e353a"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:095b707bb287bfd534044166ab767bec70a9bba3175dcdc3371782175c14e43c"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:94fc0e6621e07d1e91c44e016cc0b189b48db053061cc22d6298a611de8071bb"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1ce830e480f6774608dedfd4a90c42aac4a7af0a711f1b52f807130c2e434c06"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a306cdd2ad3a7d795d8e617a58c3a2ed0f76c8496fb7621b6cd514eb1532cae8"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:2f5fa187bde8524b1e37ba894db13aadd64faa884657473b03a019f625cee9a8"}, - {file = "pydantic_core-2.14.6-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:438027a975cc213a47c5d70672e0d29776082155cfae540c4e225716586be75e"}, - {file = "pydantic_core-2.14.6-cp37-none-win32.whl", hash = "sha256:f96ae96a060a8072ceff4cfde89d261837b4294a4f28b84a28765470d502ccc6"}, - {file = "pydantic_core-2.14.6-cp37-none-win_amd64.whl", hash = "sha256:e646c0e282e960345314f42f2cea5e0b5f56938c093541ea6dbf11aec2862391"}, - {file = "pydantic_core-2.14.6-cp38-cp38-macosx_10_7_x86_64.whl", hash = "sha256:db453f2da3f59a348f514cfbfeb042393b68720787bbef2b4c6068ea362c8149"}, - {file = "pydantic_core-2.14.6-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:3860c62057acd95cc84044e758e47b18dcd8871a328ebc8ccdefd18b0d26a21b"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:36026d8f99c58d7044413e1b819a67ca0e0b8ebe0f25e775e6c3d1fabb3c38fb"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:8ed1af8692bd8d2a29d702f1a2e6065416d76897d726e45a1775b1444f5928a7"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:314ccc4264ce7d854941231cf71b592e30d8d368a71e50197c905874feacc8a8"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:982487f8931067a32e72d40ab6b47b1628a9c5d344be7f1a4e668fb462d2da42"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2dbe357bc4ddda078f79d2a36fc1dd0494a7f2fad83a0a684465b6f24b46fe80"}, - {file = "pydantic_core-2.14.6-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2f6ffc6701a0eb28648c845f4945a194dc7ab3c651f535b81793251e1185ac3d"}, - {file = "pydantic_core-2.14.6-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:7f5025db12fc6de7bc1104d826d5aee1d172f9ba6ca936bf6474c2148ac336c1"}, - {file = "pydantic_core-2.14.6-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:dab03ed811ed1c71d700ed08bde8431cf429bbe59e423394f0f4055f1ca0ea60"}, - {file = "pydantic_core-2.14.6-cp38-none-win32.whl", hash = "sha256:dfcbebdb3c4b6f739a91769aea5ed615023f3c88cb70df812849aef634c25fbe"}, - {file = "pydantic_core-2.14.6-cp38-none-win_amd64.whl", hash = "sha256:99b14dbea2fdb563d8b5a57c9badfcd72083f6006caf8e126b491519c7d64ca8"}, - {file = "pydantic_core-2.14.6-cp39-cp39-macosx_10_7_x86_64.whl", hash = "sha256:4ce8299b481bcb68e5c82002b96e411796b844d72b3e92a3fbedfe8e19813eab"}, - {file = "pydantic_core-2.14.6-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:b9a9d92f10772d2a181b5ca339dee066ab7d1c9a34ae2421b2a52556e719756f"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fd9e98b408384989ea4ab60206b8e100d8687da18b5c813c11e92fd8212a98e0"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:4f86f1f318e56f5cbb282fe61eb84767aee743ebe32c7c0834690ebea50c0a6b"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:86ce5fcfc3accf3a07a729779d0b86c5d0309a4764c897d86c11089be61da160"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3dcf1978be02153c6a31692d4fbcc2a3f1db9da36039ead23173bc256ee3b91b"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:eedf97be7bc3dbc8addcef4142f4b4164066df0c6f36397ae4aaed3eb187d8ab"}, - {file = "pydantic_core-2.14.6-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:d5f916acf8afbcab6bacbb376ba7dc61f845367901ecd5e328fc4d4aef2fcab0"}, - {file = "pydantic_core-2.14.6-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:8a14c192c1d724c3acbfb3f10a958c55a2638391319ce8078cb36c02283959b9"}, - {file = "pydantic_core-2.14.6-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:0348b1dc6b76041516e8a854ff95b21c55f5a411c3297d2ca52f5528e49d8411"}, - {file = "pydantic_core-2.14.6-cp39-none-win32.whl", hash = "sha256:de2a0645a923ba57c5527497daf8ec5df69c6eadf869e9cd46e86349146e5975"}, - {file = "pydantic_core-2.14.6-cp39-none-win_amd64.whl", hash = "sha256:aca48506a9c20f68ee61c87f2008f81f8ee99f8d7f0104bff3c47e2d148f89d9"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-macosx_10_7_x86_64.whl", hash = "sha256:d5c28525c19f5bb1e09511669bb57353d22b94cf8b65f3a8d141c389a55dec95"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-macosx_11_0_arm64.whl", hash = "sha256:78d0768ee59baa3de0f4adac9e3748b4b1fffc52143caebddfd5ea2961595277"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8b93785eadaef932e4fe9c6e12ba67beb1b3f1e5495631419c784ab87e975670"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:a874f21f87c485310944b2b2734cd6d318765bcbb7515eead33af9641816506e"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:b89f4477d915ea43b4ceea6756f63f0288941b6443a2b28c69004fe07fde0d0d"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:172de779e2a153d36ee690dbc49c6db568d7b33b18dc56b69a7514aecbcf380d"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:dfcebb950aa7e667ec226a442722134539e77c575f6cfaa423f24371bb8d2e94"}, - {file = "pydantic_core-2.14.6-pp310-pypy310_pp73-win_amd64.whl", hash = "sha256:55a23dcd98c858c0db44fc5c04fc7ed81c4b4d33c653a7c45ddaebf6563a2f66"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-macosx_10_7_x86_64.whl", hash = "sha256:4241204e4b36ab5ae466ecec5c4c16527a054c69f99bba20f6f75232a6a534e2"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e574de99d735b3fc8364cba9912c2bec2da78775eba95cbb225ef7dda6acea24"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1302a54f87b5cd8528e4d6d1bf2133b6aa7c6122ff8e9dc5220fbc1e07bffebd"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:f8e81e4b55930e5ffab4a68db1af431629cf2e4066dbdbfef65348b8ab804ea8"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:c99462ffc538717b3e60151dfaf91125f637e801f5ab008f81c402f1dff0cd0f"}, - {file = "pydantic_core-2.14.6-pp37-pypy37_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:e4cf2d5829f6963a5483ec01578ee76d329eb5caf330ecd05b3edd697e7d768a"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-macosx_10_7_x86_64.whl", hash = "sha256:cf10b7d58ae4a1f07fccbf4a0a956d705356fea05fb4c70608bb6fa81d103cda"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-macosx_11_0_arm64.whl", hash = "sha256:399ac0891c284fa8eb998bcfa323f2234858f5d2efca3950ae58c8f88830f145"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9c6a5c79b28003543db3ba67d1df336f253a87d3112dac3a51b94f7d48e4c0e1"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:599c87d79cab2a6a2a9df4aefe0455e61e7d2aeede2f8577c1b7c0aec643ee8e"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:43e166ad47ba900f2542a80d83f9fc65fe99eb63ceec4debec160ae729824052"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:3a0b5db001b98e1c649dd55afa928e75aa4087e587b9524a4992316fa23c9fba"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:747265448cb57a9f37572a488a57d873fd96bf51e5bb7edb52cfb37124516da4"}, - {file = "pydantic_core-2.14.6-pp38-pypy38_pp73-win_amd64.whl", hash = "sha256:7ebe3416785f65c28f4f9441e916bfc8a54179c8dea73c23023f7086fa601c5d"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-macosx_10_7_x86_64.whl", hash = "sha256:86c963186ca5e50d5c8287b1d1c9d3f8f024cbe343d048c5bd282aec2d8641f2"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-macosx_11_0_arm64.whl", hash = "sha256:e0641b506486f0b4cd1500a2a65740243e8670a2549bb02bc4556a83af84ae03"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:71d72ca5eaaa8d38c8df16b7deb1a2da4f650c41b58bb142f3fb75d5ad4a611f"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:27e524624eace5c59af499cd97dc18bb201dc6a7a2da24bfc66ef151c69a5f2a"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:a3dde6cac75e0b0902778978d3b1646ca9f438654395a362cb21d9ad34b24acf"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-musllinux_1_1_aarch64.whl", hash = "sha256:00646784f6cd993b1e1c0e7b0fdcbccc375d539db95555477771c27555e3c556"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-musllinux_1_1_x86_64.whl", hash = "sha256:23598acb8ccaa3d1d875ef3b35cb6376535095e9405d91a3d57a8c7db5d29341"}, - {file = "pydantic_core-2.14.6-pp39-pypy39_pp73-win_amd64.whl", hash = "sha256:7f41533d7e3cf9520065f610b41ac1c76bc2161415955fbcead4981b22c7611e"}, - {file = "pydantic_core-2.14.6.tar.gz", hash = "sha256:1fd0c1d395372843fba13a51c28e3bb9d59bd7aebfeb17358ffaaa1e4dbbe948"}, -] - -[package.dependencies] -typing-extensions = ">=4.6.0,<4.7.0 || >4.7.0" +dotenv = ["python-dotenv (>=0.10.4)"] +email = ["email-validator (>=1.0.3)"] [[package]] name = "pygments" @@ -722,6 +703,109 @@ files = [ plugins = ["importlib-metadata"] windows-terminal = ["colorama (>=0.4.6)"] +[[package]] +name = "pymongo" +version = "4.6.2" +description = "Python driver for MongoDB " +optional = false +python-versions = ">=3.7" +files = [ + {file = "pymongo-4.6.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7640d176ee5b0afec76a1bda3684995cb731b2af7fcfd7c7ef8dc271c5d689af"}, + {file = "pymongo-4.6.2-cp310-cp310-manylinux1_i686.whl", hash = "sha256:4e2129ec8f72806751b621470ac5d26aaa18fae4194796621508fa0e6068278a"}, + {file = "pymongo-4.6.2-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:c43205e85cbcbdf03cff62ad8f50426dd9d20134a915cfb626d805bab89a1844"}, + {file = "pymongo-4.6.2-cp310-cp310-manylinux2014_i686.whl", hash = "sha256:91ddf95cedca12f115fbc5f442b841e81197d85aa3cc30b82aee3635a5208af2"}, + {file = "pymongo-4.6.2-cp310-cp310-manylinux2014_ppc64le.whl", hash = "sha256:0fbdbf2fba1b4f5f1522e9f11e21c306e095b59a83340a69e908f8ed9b450070"}, + {file = "pymongo-4.6.2-cp310-cp310-manylinux2014_s390x.whl", hash = "sha256:097791d5a8d44e2444e0c8c4d6e14570ac11e22bcb833808885a5db081c3dc2a"}, + {file = "pymongo-4.6.2-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:e0b208ebec3b47ee78a5c836e2e885e8c1e10f8ffd101aaec3d63997a4bdcd04"}, + {file = "pymongo-4.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1849fd6f1917b4dc5dbf744b2f18e41e0538d08dd8e9ba9efa811c5149d665a3"}, + {file = "pymongo-4.6.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa0bbbfbd1f8ebbd5facaa10f9f333b20027b240af012748555148943616fdf3"}, + {file = "pymongo-4.6.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4522ad69a4ab0e1b46a8367d62ad3865b8cd54cf77518c157631dac1fdc97584"}, + {file = "pymongo-4.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:397949a9cc85e4a1452f80b7f7f2175d557237177120954eff00bf79553e89d3"}, + {file = "pymongo-4.6.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9d511db310f43222bc58d811037b176b4b88dc2b4617478c5ef01fea404f8601"}, + {file = "pymongo-4.6.2-cp310-cp310-win32.whl", hash = "sha256:991e406db5da4d89fb220a94d8caaf974ffe14ce6b095957bae9273c609784a0"}, + {file = "pymongo-4.6.2-cp310-cp310-win_amd64.whl", hash = "sha256:94637941fe343000f728e28d3fe04f1f52aec6376b67b85583026ff8dab2a0e0"}, + {file = "pymongo-4.6.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:84593447a5c5fe7a59ba86b72c2c89d813fbac71c07757acdf162fbfd5d005b9"}, + {file = "pymongo-4.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9aebddb2ec2128d5fc2fe3aee6319afef8697e0374f8a1fcca3449d6f625e7b4"}, + {file = "pymongo-4.6.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f706c1a644ed33eaea91df0a8fb687ce572b53eeb4ff9b89270cb0247e5d0e1"}, + {file = "pymongo-4.6.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18c422e6b08fa370ed9d8670c67e78d01f50d6517cec4522aa8627014dfa38b6"}, + {file = "pymongo-4.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d002ae456a15b1d790a78bb84f87af21af1cb716a63efb2c446ab6bcbbc48ca"}, + {file = "pymongo-4.6.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f86ba0c781b497a3c9c886765d7b6402a0e3ae079dd517365044c89cd7abb06"}, + {file = "pymongo-4.6.2-cp311-cp311-win32.whl", hash = "sha256:ac20dd0c7b42555837c86f5ea46505f35af20a08b9cf5770cd1834288d8bd1b4"}, + {file = "pymongo-4.6.2-cp311-cp311-win_amd64.whl", hash = "sha256:e78af59fd0eb262c2a5f7c7d7e3b95e8596a75480d31087ca5f02f2d4c6acd19"}, + {file = "pymongo-4.6.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:6125f73503407792c8b3f80165f8ab88a4e448d7d9234c762681a4d0b446fcb4"}, + {file = "pymongo-4.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba052446a14bd714ec83ca4e77d0d97904f33cd046d7bb60712a6be25eb31dbb"}, + {file = "pymongo-4.6.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b65433c90e07dc252b4a55dfd885ca0df94b1cf77c5b8709953ec1983aadc03"}, + {file = "pymongo-4.6.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2160d9c8cd20ce1f76a893f0daf7c0d38af093f36f1b5c9f3dcf3e08f7142814"}, + {file = "pymongo-4.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f251f287e6d42daa3654b686ce1fcb6d74bf13b3907c3ae25954978c70f2cd4"}, + {file = "pymongo-4.6.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d7d227a60b00925dd3aeae4675575af89c661a8e89a1f7d1677e57eba4a3693c"}, + {file = "pymongo-4.6.2-cp312-cp312-win32.whl", hash = "sha256:311794ef3ccae374aaef95792c36b0e5c06e8d5cf04a1bdb1b2bf14619ac881f"}, + {file = "pymongo-4.6.2-cp312-cp312-win_amd64.whl", hash = "sha256:f673b64a0884edcc56073bda0b363428dc1bf4eb1b5e7d0b689f7ec6173edad6"}, + {file = "pymongo-4.6.2-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:fe010154dfa9e428bd2fb3e9325eff2216ab20a69ccbd6b5cac6785ca2989161"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:1f5f4cd2969197e25b67e24d5b8aa2452d381861d2791d06c493eaa0b9c9fcfe"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:c9519c9d341983f3a1bd19628fecb1d72a48d8666cf344549879f2e63f54463b"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:c68bf4a399e37798f1b5aa4f6c02886188ef465f4ac0b305a607b7579413e366"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:a509db602462eb736666989739215b4b7d8f4bb8ac31d0bffd4be9eae96c63ef"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:362a5adf6f3f938a8ff220a4c4aaa93e84ef932a409abecd837c617d17a5990f"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:ee30a9d4c27a88042d0636aca0275788af09cc237ae365cd6ebb34524bddb9cc"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:477914e13501bb1d4608339ee5bb618be056d2d0e7267727623516cfa902e652"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebd343ca44982d480f1e39372c48e8e263fc6f32e9af2be456298f146a3db715"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3797e0a628534e07a36544d2bfa69e251a578c6d013e975e9e3ed2ac41f2d95"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97d81d357e1a2a248b3494d52ebc8bf15d223ee89d59ee63becc434e07438a24"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed694c0d1977cb54281cb808bc2b247c17fb64b678a6352d3b77eb678ebe1bd9"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ceaaff4b812ae368cf9774989dea81b9bbb71e5bed666feca6a9f3087c03e49"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7dd63f7c2b3727541f7f37d0fb78d9942eb12a866180fbeb898714420aad74e2"}, + {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e571434633f99a81e081738721bb38e697345281ed2f79c2f290f809ba3fbb2f"}, + {file = "pymongo-4.6.2-cp37-cp37m-win32.whl", hash = "sha256:3e9f6e2f3da0a6af854a3e959a6962b5f8b43bbb8113cd0bff0421c5059b3106"}, + {file = "pymongo-4.6.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3a5280f496297537301e78bde250c96fadf4945e7b2c397d8bb8921861dd236d"}, + {file = "pymongo-4.6.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:5f6bcd2d012d82d25191a911a239fd05a8a72e8c5a7d81d056c0f3520cad14d1"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:4fa30494601a6271a8b416554bd7cde7b2a848230f0ec03e3f08d84565b4bf8c"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:bea62f03a50f363265a7a651b4e2a4429b4f138c1864b2d83d4bf6f9851994be"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:b2d445f1cf147331947cc35ec10342f898329f29dd1947a3f8aeaf7e0e6878d1"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:5db133d6ec7a4f7fc7e2bd098e4df23d7ad949f7be47b27b515c9fb9301c61e4"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:9eec7140cf7513aa770ea51505d312000c7416626a828de24318fdcc9ac3214c"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:5379ca6fd325387a34cda440aec2bd031b5ef0b0aa2e23b4981945cff1dab84c"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:579508536113dbd4c56e4738955a18847e8a6c41bf3c0b4ab18b51d81a6b7be8"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3bae553ca39ed52db099d76acd5e8566096064dc7614c34c9359bb239ec4081"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d0257e0eebb50f242ca28a92ef195889a6ad03dcdde5bf1c7ab9f38b7e810801"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbafe3a1df21eeadb003c38fc02c1abf567648b6477ec50c4a3c042dca205371"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaecfafb407feb6f562c7f2f5b91f22bfacba6dd739116b1912788cff7124c4a"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e942945e9112075a84d2e2d6e0d0c98833cdcdfe48eb8952b917f996025c7ffa"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2f7b98f8d2cf3eeebde738d080ae9b4276d7250912d9751046a9ac1efc9b1ce2"}, + {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:8110b78fc4b37dced85081d56795ecbee6a7937966e918e05e33a3900e8ea07d"}, + {file = "pymongo-4.6.2-cp38-cp38-win32.whl", hash = "sha256:df813f0c2c02281720ccce225edf39dc37855bf72cdfde6f789a1d1cf32ffb4b"}, + {file = "pymongo-4.6.2-cp38-cp38-win_amd64.whl", hash = "sha256:64ec3e2dcab9af61bdbfcb1dd863c70d1b0c220b8e8ac11df8b57f80ee0402b3"}, + {file = "pymongo-4.6.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bff601fbfcecd2166d9a2b70777c2985cb9689e2befb3278d91f7f93a0456cae"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:f1febca6f79e91feafc572906871805bd9c271b6a2d98a8bb5499b6ace0befed"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:d788cb5cc947d78934be26eef1623c78cec3729dc93a30c23f049b361aa6d835"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5c2f258489de12a65b81e1b803a531ee8cf633fa416ae84de65cd5f82d2ceb37"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:fb24abcd50501b25d33a074c1790a1389b6460d2509e4b240d03fd2e5c79f463"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:4d982c6db1da7cf3018183891883660ad085de97f21490d314385373f775915b"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:b2dd8c874927a27995f64a3b44c890e8a944c98dec1ba79eab50e07f1e3f801b"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:4993593de44c741d1e9f230f221fe623179f500765f9855936e4ff6f33571bad"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:658f6c028edaeb02761ebcaca8d44d519c22594b2a51dcbc9bd2432aa93319e3"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68109c13176749fbbbbbdb94dd4a58dcc604db6ea43ee300b2602154aebdd55f"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:707d28a822b918acf941cff590affaddb42a5d640614d71367c8956623a80cbc"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f251db26c239aec2a4d57fbe869e0a27b7f6b5384ec6bf54aeb4a6a5e7408234"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57c05f2e310701fc17ae358caafd99b1830014e316f0242d13ab6c01db0ab1c2"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b575fbe6396bbf21e4d0e5fd2e3cdb656dc90c930b6c5532192e9a89814f72d"}, + {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:ca5877754f3fa6e4fe5aacf5c404575f04c2d9efc8d22ed39576ed9098d555c8"}, + {file = "pymongo-4.6.2-cp39-cp39-win32.whl", hash = "sha256:8caa73fb19070008e851a589b744aaa38edd1366e2487284c61158c77fdf72af"}, + {file = "pymongo-4.6.2-cp39-cp39-win_amd64.whl", hash = "sha256:3e03c732cb64b96849310e1d8688fb70d75e2571385485bf2f1e7ad1d309fa53"}, + {file = "pymongo-4.6.2.tar.gz", hash = "sha256:ab7d01ac832a1663dad592ccbd92bb0f0775bc8f98a1923c5e1a7d7fead495af"}, +] + +[package.dependencies] +dnspython = ">=1.16.0,<3.0.0" + +[package.extras] +aws = ["pymongo-auth-aws (<2.0.0)"] +encryption = ["certifi", "pymongo[aws]", "pymongocrypt (>=1.6.0,<2.0.0)"] +gssapi = ["pykerberos", "winkerberos (>=0.5.0)"] +ocsp = ["certifi", "cryptography (>=2.5)", "pyopenssl (>=17.2.0)", "requests (<3.0.0)", "service-identity (>=18.1.0)"] +snappy = ["python-snappy"] +test = ["pytest (>=7)"] +zstd = ["zstandard"] + [[package]] name = "pytest" version = "6.2.5" @@ -1017,4 +1101,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "0abc9dc5b617ce798c5af8972d45920e340aee2f399061c8ebd10c8bd0e58bbd" +content-hash = "30bc8fdd308d2358e09993a7e620236be7ca58a5f0b8f425eb23eed22cbfe143" diff --git a/agenta-cli/pyproject.toml b/agenta-cli/pyproject.toml index 2d99b7a314..01fd5976b1 100644 --- a/agenta-cli/pyproject.toml +++ b/agenta-cli/pyproject.toml @@ -29,6 +29,7 @@ importlib-metadata = "^6.7.0" posthog = "^3.1.0" pydantic = "1.10.13" httpx = "^0.27.0" +pymongo = "^4.6.2" [tool.poetry.dev-dependencies] pytest = "^6.2" diff --git a/examples/baby_name_generator/app_async.py b/examples/baby_name_generator/app_async.py index dcba7c30c3..6ca4497d44 100644 --- a/examples/baby_name_generator/app_async.py +++ b/examples/baby_name_generator/app_async.py @@ -16,7 +16,7 @@ tracing = ag.llm_tracing() -@ag.span(tracing, event_type="llm_request") # su types are: llm_request, embedding +@ag.span(tracing, event_type="llm_request") # su types are: llm_request, embedding async def llm_call(prompt): chat_completion = await client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] From 525eacfdf92e1506d95d1077b4e29ec3329922ea Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Wed, 20 Mar 2024 00:22:47 +0100 Subject: [PATCH 251/539] bug fix --- .../evaluationCompare/EvaluationCompare.tsx | 28 +++++++++++-------- 1 file changed, 17 insertions(+), 11 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx index 0894b9d74a..52a9b498eb 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -16,12 +16,7 @@ import React, {useEffect, useMemo, useRef, useState} from "react" import {createUseStyles} from "react-jss" import {getFilterParams, getTypedValue} from "@/lib/helpers/evaluate" import {getColorFromStr, getRandomColors} from "@/lib/helpers/colors" -import { - CloseCircleFilled, - CloseCircleOutlined, - DownloadOutlined, - UndoOutlined, -} from "@ant-design/icons" +import {CloseCircleOutlined, DownloadOutlined, UndoOutlined} from "@ant-design/icons" import {getAppValues} from "@/contexts/app.context" import {useQueryParam} from "@/hooks/useQuery" import {LongTextCellRenderer} from "../cellRenderers/cellRenderers" @@ -287,9 +282,6 @@ const EvaluationCompareMode: React.FC = () => { - handleToggleVariantVisibility(v.evaluationId) - } className={classes.tag} style={{ opacity: hiddenVariants.includes(v.evaluationId) @@ -301,9 +293,23 @@ const EvaluationCompareMode: React.FC = () => { evalIds.includes( v.evaluationId, ) ? null : evalIds.includes(v.evaluationId) ? ( - + + handleToggleVariantVisibility( + v.evaluationId, + ) + } + style={{cursor: "pointer"}} + /> ) : ( - + + handleToggleVariantVisibility( + v.evaluationId, + ) + } + style={{cursor: "pointer"}} + /> ) } > From c2a48b0d77534959941657f81b8d187fdb12fb1f Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 20 Mar 2024 08:58:39 +0100 Subject: [PATCH 252/539] Update - regenerate cli backend client --- .../backend/resources/observability/client.py | 38 +++++++++++-------- .../agenta/client/backend/types/llm_tokens.py | 6 +-- 2 files changed, 25 insertions(+), 19 deletions(-) diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index f96ab62684..aac91e28b3 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -152,7 +152,6 @@ def create_trace( variant_id: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, status: typing.Optional[str] = OMIT, - token_consumption: typing.Optional[int] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, id: str, @@ -170,8 +169,6 @@ def create_trace( - status: typing.Optional[str]. - - token_consumption: typing.Optional[int]. - - tags: typing.Optional[typing.List[str]]. - start_time: typing.Optional[dt.datetime]. @@ -202,8 +199,6 @@ def create_trace( _request["cost"] = cost if status is not OMIT: _request["status"] = status - if token_consumption is not OMIT: - _request["token_consumption"] = token_consumption if tags is not OMIT: _request["tags"] = tags if start_time is not OMIT: @@ -499,6 +494,7 @@ def update_trace( status: str, end_time: dt.datetime, outputs: typing.List[str], + token_consumption: typing.Optional[int] = OMIT, ) -> bool: """ Parameters: @@ -509,6 +505,8 @@ def update_trace( - end_time: dt.datetime. - outputs: typing.List[str]. + + - token_consumption: typing.Optional[int]. --- import datetime @@ -522,15 +520,20 @@ def update_trace( outputs=["outputs"], ) """ + _request: typing.Dict[str, typing.Any] = { + "status": status, + "end_time": end_time, + "outputs": outputs, + } + if token_consumption is not OMIT: + _request["token_consumption"] = token_consumption _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}", ), - json=jsonable_encoder( - {"status": status, "end_time": end_time, "outputs": outputs} - ), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -865,7 +868,6 @@ async def create_trace( variant_id: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, status: typing.Optional[str] = OMIT, - token_consumption: typing.Optional[int] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, id: str, @@ -883,8 +885,6 @@ async def create_trace( - status: typing.Optional[str]. - - token_consumption: typing.Optional[int]. - - tags: typing.Optional[typing.List[str]]. - start_time: typing.Optional[dt.datetime]. @@ -915,8 +915,6 @@ async def create_trace( _request["cost"] = cost if status is not OMIT: _request["status"] = status - if token_consumption is not OMIT: - _request["token_consumption"] = token_consumption if tags is not OMIT: _request["tags"] = tags if start_time is not OMIT: @@ -1212,6 +1210,7 @@ async def update_trace( status: str, end_time: dt.datetime, outputs: typing.List[str], + token_consumption: typing.Optional[int] = OMIT, ) -> bool: """ Parameters: @@ -1222,6 +1221,8 @@ async def update_trace( - end_time: dt.datetime. - outputs: typing.List[str]. + + - token_consumption: typing.Optional[int]. --- import datetime @@ -1235,15 +1236,20 @@ async def update_trace( outputs=["outputs"], ) """ + _request: typing.Dict[str, typing.Any] = { + "status": status, + "end_time": end_time, + "outputs": outputs, + } + if token_consumption is not OMIT: + _request["token_consumption"] = token_consumption _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}", ), - json=jsonable_encoder( - {"status": status, "end_time": end_time, "outputs": outputs} - ), + json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/types/llm_tokens.py b/agenta-cli/agenta/client/backend/types/llm_tokens.py index d53f8eb8f8..0c5a71755b 100644 --- a/agenta-cli/agenta/client/backend/types/llm_tokens.py +++ b/agenta-cli/agenta/client/backend/types/llm_tokens.py @@ -12,9 +12,9 @@ class LlmTokens(pydantic.BaseModel): - prompt_tokens: int - completion_tokens: int - total_tokens: int + prompt_tokens: typing.Optional[int] + completion_tokens: typing.Optional[int] + total_tokens: typing.Optional[int] def json(self, **kwargs: typing.Any) -> str: kwargs_with_defaults: typing.Any = { From 05b2f1cf58d13fdb8bb41344e86890c7301838a7 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 20 Mar 2024 10:27:12 +0100 Subject: [PATCH 253/539] Refactor - update observability workflow -> sdk, pydantic api models, db models --- .../models/api/observability_models.py | 2 +- .../agenta_backend/models/db_models.py | 8 ++--- .../routers/observability_router.py | 6 ++-- .../services/event_db_manager.py | 35 +++++++------------ .../backend/resources/observability/client.py | 4 +++ agenta-cli/agenta/sdk/agenta_decorator.py | 3 +- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 8 +++-- 7 files changed, 28 insertions(+), 38 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 244e7f3139..f88c36fda8 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -62,7 +62,6 @@ class BaseSpan(BaseModel): event_name: str event_type: Optional[str] start_time: datetime = Field(default=datetime.now()) - duration: Optional[int] status: SpanStatus input: Optional[Dict[str, Any]] output: Optional[str] @@ -158,6 +157,7 @@ class CreateTrace(BaseTrace): id: str trace_name: str inputs: Dict[str, Any] + variant_config: Dict[str, Any] environment: Optional[str] diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 6ed6e1cf38..36bbacfb44 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -318,11 +318,6 @@ class LLMTokens(BaseModel): total_tokens: int -class TracingEventTypes(BaseModel): - LLM_REQUEST = "llm_request" - EMBEDDING = "embedding" - - class TraceDB(Document): app_id: str variant_id: str @@ -354,7 +349,7 @@ class SpanDB(Document): parent_span_id: Optional[str] # parent observability of span meta: Optional[Dict[str, Any]] event_name: str # Function or execution name - event_type: Optional[TracingEventTypes] + event_type: str status: SpanStatus input: Optional[Dict[str, Any]] output: Optional[str] @@ -363,6 +358,7 @@ class SpanDB(Document): start_time: datetime end_time: datetime = Field(default=datetime.now()) tokens: Optional[LLMTokens] + cost: Optional[float] created_at: datetime = Field(default=datetime.now()) def get_latency(cls) -> float: diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index d8f5d0cdcd..b0e48a0431 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -54,7 +54,7 @@ async def get_dashboard_data( @router.post("/traces/", response_model=str, operation_id="create_trace") async def create_trace(request: Request, payload: CreateTrace): - trace_id = await event_db_manager.create_app_trace(payload, request.state.user_id) + trace_id = await event_db_manager.create_app_trace(payload) return trace_id @@ -161,9 +161,7 @@ async def update_trace( payload: UpdateTrace, request: Request, ): - trace = await event_db_manager.trace_update( - trace_id, payload, request.state.user_id - ) + trace = await event_db_manager.trace_update(trace_id, payload) return trace diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index f7bcc1fa3e..16966dae22 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -46,7 +46,7 @@ logger.setLevel(logging.INFO) -async def create_app_trace(payload: CreateTrace, user_uid: str) -> str: +async def create_app_trace(payload: CreateTrace) -> str: """Create a new trace. Args: @@ -56,17 +56,16 @@ async def create_app_trace(payload: CreateTrace, user_uid: str) -> str: Trace: the created trace """ - user = await db_manager.get_user(user_uid) trace_db = TraceDB( - **payload.dict(exclude={"environment"}), + **payload.dict(exclude={"environment", "id"}), + id=ObjectId(payload.id), environment="playground" if not payload.environment else payload.environment, - user=user, ) await trace_db.create() return str(trace_db.id) -async def get_trace_single(trace_id: str, user_uid: str) -> Trace: +async def get_trace_single(trace_id: str) -> Trace: """Get a single trace. Args: @@ -76,16 +75,14 @@ async def get_trace_single(trace_id: str, user_uid: str) -> Trace: Trace: the trace """ - user = await db_manager.get_user(user_uid) - # Get trace trace = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id, fetch_links=True + TraceDB.id == ObjectId(trace_id), ) return trace_db_to_pydantic(trace) -async def trace_update(trace_id: str, payload: UpdateTrace, user_uid: str) -> bool: +async def trace_update(trace_id: str, payload: UpdateTrace) -> bool: """Update status of trace. Args: @@ -96,20 +93,12 @@ async def trace_update(trace_id: str, payload: UpdateTrace, user_uid: str) -> bo bool: True if successful """ - user = await db_manager.get_user(user_uid) - - # Get trace - trace = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id - ) + trace = await TraceDB.find_one(TraceDB.id == ObjectId(trace_id)) - # Calculate latency - latency = payload.end_time - trace.start_time await trace.update( { "$set": { **payload.dict(exclude_none=True), - "latency": latency.total_seconds(), }, } ) @@ -126,15 +115,15 @@ async def create_trace_span(payload: CreateSpan) -> str: str: the created span id """ - end_time = datetime.now() - duration = end_time - payload.start_time trace = await TraceDB.find_one(TraceDB.id == ObjectId(payload.trace_id)) span_db = SpanDB( - **payload.dict(exclude={"end_time", "duration", "trace_id", "environment"}), + **payload.dict( + exclude={"end_time", "trace_id", "span_id", "end_time", "environment"} + ), + id=ObjectId(payload.span_id), trace=trace, environment="playground" if not payload.environment else payload.environment, - end_time=end_time, - duration=duration.total_seconds(), + end_time=payload.end_time, ) await span_db.create() return str(span_db.id) diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index aac91e28b3..23da3200a1 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -873,6 +873,7 @@ async def create_trace( id: str, trace_name: str, inputs: typing.Dict[str, typing.Any], + variant_config: typing.Dict[str, typing.Any], environment: typing.Optional[str] = OMIT, ) -> str: """ @@ -895,6 +896,8 @@ async def create_trace( - inputs: typing.Dict[str, typing.Any]. + - variant_config: typing.Dict[str, typing.Any]. + - environment: typing.Optional[str]. --- from agenta.client import AsyncAgentaApi @@ -906,6 +909,7 @@ async def create_trace( "id": id, "trace_name": trace_name, "inputs": inputs, + "variant_config": variant_config, } if app_id is not OMIT: _request["app_id"] = app_id diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index 73df57e21f..4974a00345 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -82,7 +82,8 @@ async def wrapper(*args, **kwargs) -> Any: # Start tracing tracing.trace( trace_name=func.__name__, - inputs={"prompt": [func_params, api_config_params]}, + inputs={"prompt": func_params}, + variant_config=api_config_params, ) ingest_files(func_params, ingestible_files) agenta.config.set(**api_config_params) diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index b0f9b0ffdb..3a2b1da828 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -135,7 +135,7 @@ def start_span( self, name: str, input: str, - event_type: str = "llm_request", + event_type: str, trace_id: Optional[str] = None, parent_span_id: Optional[str] = None, **kwargs: Dict[str, Any], @@ -192,6 +192,7 @@ def trace( self, trace_name: Optional[str], inputs: Dict[str, Any], + variant_config: Dict[str, Any], **kwargs, ): """Creates a new trace. @@ -214,13 +215,14 @@ def trace( trace_name=trace_name, # type: ignore start_time=datetime.now(), inputs=inputs, + variant_config=variant_config, environment=kwargs.get("environment"), # type: ignore status="INITIATED", tags=self.tags, ) ) self.active_trace = trace_id # type: ignore - self.llm_logger.info("Trace ended successfully.") + self.llm_logger.info("Trace ended.") except Exception as exc: self.llm_logger.error(f"Error creating trace: {str(exc)}") @@ -231,7 +233,7 @@ def end_trace(self, outputs: List[str], **kwargs: Dict[str, Any]): trace_id=self.active_trace, # type: ignore status="COMPLETED", end_time=datetime.now(), - token_consumption=kwargs.get("total_tokens"), + token_consumption=kwargs.get("total_tokens"), # typ: ignore outputs=outputs, ) ) From 9d1bbf4c3edd8702c376588e7e59cca893fac08e Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 20 Mar 2024 10:42:51 +0100 Subject: [PATCH 254/539] Refactor - update observability workflow -> sdk, pydantic api models, db models --- agenta-cli/agenta/sdk/agenta_decorator.py | 2 +- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 4 +++- examples/baby_name_generator/requirements.txt | 1 + 3 files changed, 5 insertions(+), 2 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index 4974a00345..e6f469819b 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -94,7 +94,7 @@ async def wrapper(*args, **kwargs) -> Any: # End tracing if isinstance(result, JSONResponse): result = {"message": str(result), "usage": None} - tracing.end_trace(outputs=[result["message"]], **result["usage"]) # type: ignore + tracing.end_trace(outputs=[result["message"]], usage=result["usage"]) # type: ignore return result @functools.wraps(func) diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 3a2b1da828..9739065304 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -233,7 +233,9 @@ def end_trace(self, outputs: List[str], **kwargs: Dict[str, Any]): trace_id=self.active_trace, # type: ignore status="COMPLETED", end_time=datetime.now(), - token_consumption=kwargs.get("total_tokens"), # typ: ignore + token_consumption=kwargs["usage"].get( + "total_tokens" + ), # typ: ignore outputs=outputs, ) ) diff --git a/examples/baby_name_generator/requirements.txt b/examples/baby_name_generator/requirements.txt index e72ba551d7..cb3f679b88 100644 --- a/examples/baby_name_generator/requirements.txt +++ b/examples/baby_name_generator/requirements.txt @@ -1,2 +1,3 @@ agenta openai +pymongo \ No newline at end of file From ba0323801ce51f04c14dfa20dd33cb50d132e5b6 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 20 Mar 2024 10:53:10 +0100 Subject: [PATCH 255/539] Minor refactor - update trace outputs incase of exception --- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 9739065304..5ed0a9e7d0 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -241,3 +241,11 @@ def end_trace(self, outputs: List[str], **kwargs: Dict[str, Any]): ) except Exception as exc: self.llm_logger.error(f"Error creating trace: {str(exc)}") + self.tasks_manager.add_task( + self.client.update_trace( + trace_id=self.active_trace, # type: ignore + status="FAILED", + end_time=datetime.now(), + outputs=[str(exc)], + ) + ) From f7afc7c510ec820e3d02123c92a524a00cd9999b Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Wed, 20 Mar 2024 14:34:10 +0100 Subject: [PATCH 256/539] fixed output column and modified component to accept output value --- .../cellRenderers/cellRenderers.tsx | 4 ++-- .../EvaluationScenarios.tsx | 21 ++++++++++--------- 2 files changed, 13 insertions(+), 12 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx b/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx index 59e3cd10b9..9089ef6387 100644 --- a/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx +++ b/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx @@ -71,7 +71,7 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ }, })) -export function LongTextCellRenderer(params: ICellRendererParams) { +export function LongTextCellRenderer(params: ICellRendererParams, output?: any) { const {value, api, node} = params const [expanded, setExpanded] = useState( node.rowHeight !== api.getSizesForCurrentTheme().rowHeight, @@ -123,7 +123,7 @@ export function LongTextCellRenderer(params: ICellRendererParams) { className={classes.longCell} style={expanded ? {textWrap: "wrap", lineHeight: "2em", paddingTop: 6.5} : undefined} > - {value} + {output ? output : value} {expanded ? ( diff --git a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx index ea13957b1a..687ae40f10 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -71,7 +71,7 @@ const EvaluationScenarios: React.FC = () => { valueGetter: (params) => { return getTypedValue(params.data?.inputs[index]) }, - cellRenderer: LongTextCellRenderer, + cellRenderer: (params: any) => LongTextCellRenderer(params), }) }) colDefs.push({ @@ -83,7 +83,7 @@ const EvaluationScenarios: React.FC = () => { valueGetter: (params) => { return params.data?.correct_answer?.toString() || "" }, - cellRenderer: LongTextCellRenderer, + cellRenderer: (params: any) => LongTextCellRenderer(params), }) evalaution?.variants.forEach((_, index) => { colDefs.push({ @@ -97,14 +97,15 @@ const EvaluationScenarios: React.FC = () => { if (result && result.type == "error") { return `${result?.error?.message}\n${result?.error?.stacktrace}` } - return showDiff === "show" ? ( - - ) : ( - result?.value - ) + return showDiff === "show" + ? LongTextCellRenderer( + params, + , + ) + : LongTextCellRenderer(params) }, valueGetter: (params) => { const result = params.data?.outputs[index].result From 1311136d9ea18dcb5e7ba02f0f84d4d46c23b9c3 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Wed, 20 Mar 2024 14:34:36 +0100 Subject: [PATCH 257/539] implemented output fix in comparison view --- .../evaluationCompare/EvaluationCompare.tsx | 45 ++++++++++--------- 1 file changed, 24 insertions(+), 21 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx index fedb229b0e..159b766767 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -97,7 +97,7 @@ const EvaluationCompareMode: React.FC = () => { field: `inputs.${ix}.value` as any, ...getFilterParams("text"), pinned: "left", - cellRenderer: LongTextCellRenderer, + cellRenderer: (params: any) => LongTextCellRenderer(params), }) }) @@ -108,7 +108,7 @@ const EvaluationCompareMode: React.FC = () => { field: "correctAnswer", ...getFilterParams("text"), pinned: "left", - cellRenderer: LongTextCellRenderer, + cellRenderer: (params: any) => LongTextCellRenderer(params), }) variants.forEach((variant, vi) => { @@ -128,25 +128,28 @@ const EvaluationCompareMode: React.FC = () => { cellRenderer: (params: any) => { return ( <> - {showDiff === "show" ? ( - - - item.evaluationId === variant.evaluationId, - )?.output?.result, - )} - expectedOutput={params.data?.correctAnswer} - /> - - ) : ( - getTypedValue( - params.data?.variants.find( - (item: any) => item.evaluationId === variant.evaluationId, - )?.output?.result, - ) - )} + {showDiff === "show" + ? LongTextCellRenderer( + params, + + item.evaluationId === variant.evaluationId, + )?.output?.result, + )} + expectedOutput={params.data?.correctAnswer} + />, + ) + : LongTextCellRenderer( + params, + getTypedValue( + params.data?.variants.find( + (item: any) => + item.evaluationId === variant.evaluationId, + )?.output?.result, + ), + )} ) }, From 04504245a7c50c648bfa2421bec34ca5b8341891 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 20 Mar 2024 15:51:28 +0100 Subject: [PATCH 258/539] Refactor - cleanup observability sdk and update backend response --- .../models/api/observability_models.py | 6 +-- .../agenta_backend/models/converters.py | 26 +++++++----- .../agenta_backend/models/db_models.py | 4 +- .../routers/observability_router.py | 8 +--- .../services/event_db_manager.py | 42 +++++++++---------- .../agenta_backend/services/filters.py | 14 ++++--- .../agenta_backend/services/helpers.py | 2 +- .../services/redis_cache_service.py | 8 ++-- agenta-cli/agenta/sdk/tracing/decorators.py | 2 +- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 12 +++--- 10 files changed, 63 insertions(+), 61 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index f88c36fda8..851d08ef63 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -25,8 +25,8 @@ class Error(BaseModel): class Status(str, Enum): INITIATED = "INITIATED" - SUCCESS = "SUCCESS" - FAILURE = "FAILURE" + COMPLETED = "COMPLETED" + FAILED = "FAILED" class SpanVariant(BaseModel): @@ -47,7 +47,7 @@ class Span(BaseModel): environment: Optional[str] status: SpanStatus metadata: Dict[str, Any] - user_id: str + user_id: Optional[str] class LLMTokens(BaseModel): diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index 5e520a9c73..790c6ff333 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -10,6 +10,7 @@ from agenta_backend.models.api.user_models import User from agenta_backend.models.api.observability_models import ( Span, + Error, SpanStatus, SpanVariant, Trace, @@ -497,8 +498,8 @@ def testset_db_to_pydantic(test_set_db: TestSetDB) -> TestSetOutput: async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: spans: List[Span] = [] for span_db in spans_db: - app_variant_db = await db_manager.fetch_app_variant_by_base_id_and_config_name( - span_db.trace.base_id, span_db.trace.config_name + app_variant_db = await db_manager.fetch_app_variant_by_id( + span_db.trace.variant_id ) span = Span( @@ -513,10 +514,10 @@ async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: status=SpanStatus(value=span_db.status.value, error=span_db.status.error), metadata={ "cost": span_db.cost, - "latency": span_db.duration, - "usage": span_db.meta, + "latency": span_db.get_latency(), + "usage": span_db.tokens, }, - user_id=str(span_db.trace.user.id), + user_id="", ) spans.append(span.dict(exclude_unset=True)) @@ -526,10 +527,13 @@ async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: async def traces_to_pydantic(traces_db: List[TraceDB]) -> List[Trace]: traces: List[Trace] = [] for trace_db in traces_db: - app_variant_db = await db_manager.fetch_app_variant_by_base_id_and_config_name( - trace_db.base_id, trace_db.config_name - ) + app_variant_db = await db_manager.fetch_app_variant_by_id(trace_db.variant_id) + trace_span_status = ( + SpanStatus(value=trace_db.status) + if trace_db.status in ["INITIATED", "COMPLETED"] + else SpanStatus(value=None, error=Error(message=trace_db.status)) + ) trace = Trace( id=str(trace_db.id), created_at=trace_db.created_at.isoformat(), @@ -539,13 +543,13 @@ async def traces_to_pydantic(traces_db: List[TraceDB]) -> List[Trace]: revision=app_variant_db.revision, ), environment=trace_db.environment, - status=SpanStatus(value=trace_db.status, error=None), + status=trace_span_status, metadata={ "cost": trace_db.cost, - "latency": trace_db.latency, + "latency": trace_db.get_latency(), "usage": {"total_tokens": trace_db.token_consumption}, }, - user_id=str(trace_db.user.id), + user_id="", ) traces.append(trace.dict(exclude_unset=True)) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 36bbacfb44..0153ea91d0 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -293,8 +293,8 @@ class Settings: class SpanEnumStatus(str, Enum): INITIATED = "INITIATED" - SUCCESS = "SUCCESS" - FAILURE = "FAILURE" + COMPLETED = "COMPLETED" + FAILED = "FAILED" class SpanStatus(BaseModel): diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py index b0e48a0431..3bc35a0990 100644 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ b/agenta-backend/agenta_backend/routers/observability_router.py @@ -97,9 +97,7 @@ async def get_trace_detail( request: Request, trace_id: str, ): - trace_detail = await event_db_manager.fetch_trace_detail( - trace_id, request.state.user_id - ) + trace_detail = await event_db_manager.fetch_trace_detail(trace_id) return trace_detail @@ -142,9 +140,7 @@ async def get_span_of_trace( type: str = Query(default="generation"), ): if type == "generation": - spans = await event_db_manager.fetch_generation_span_detail( - span_id, request.state.user_id - ) + spans = await event_db_manager.fetch_generation_span_detail(span_id) return spans return [] diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 16966dae22..b3b03e5313 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -7,12 +7,14 @@ from agenta_backend.models.api.api_models import PaginationParam, SorterParams from agenta_backend.models.api.observability_models import ( + Error, Span, SpanDetail, CreateSpan, ObservabilityDashboardData, Feedback, CreateFeedback, + SpanStatus, UpdateFeedback, Trace, TraceDetail, @@ -187,22 +189,18 @@ async def fetch_generation_spans( return get_paginated_data(list(filtered_generations), spans_count, pagination) -async def fetch_generation_span_detail(span_id: str, user_uid: str) -> SpanDetail: +async def fetch_generation_span_detail(span_id: str) -> SpanDetail: """Get a generation span detail. Args: span_id (str): The ID of a span - user_uid (str): The user ID Returns: SpanDetail: span detail pydantic model """ - user = await db_manager.get_user(user_uid) span_db = await SpanDB.find_one(SpanDB.id == ObjectId(span_id), fetch_links=True) - app_variant_db = await db_manager.fetch_app_variant_by_base_id_and_config_name( - span_db.trace.base_id, span_db.trace.config_name - ) + app_variant_db = await db_manager.fetch_app_variant_by_id(span_db.trace.variant_id) return SpanDetail( **{ @@ -227,22 +225,22 @@ async def fetch_generation_span_detail(span_id: str, user_uid: str) -> SpanDetai }, "metadata": { "cost": span_db.cost, - "latency": span_db.duration, - "usage": span_db.meta, + "latency": span_db.get_latency(), + "usage": span_db.tokens, }, - "user_id": str(user.id), + "user_id": "", "span_id": str(span_db.id), "content": { "inputs": [ {"input_name": key, "input_value": value} - for key, value in span_db.inputs.items() + for key, value in span_db.input.items() ], - "output": span_db.outputs[0], + "output": span_db.output, }, "model_params": { "prompt": { - "system": (span_db.prompt_system), - "user": span_db.prompt_user, + "system": "", + "user": "", "variables": helpers.convert_generation_span_inputs_variables( span_db ), @@ -361,7 +359,7 @@ async def fetch_traces( return get_paginated_data(list(filtered_traces), traces_count, pagination) -async def fetch_trace_detail(trace_id: str, user_uid: str) -> TraceDetail: +async def fetch_trace_detail(trace_id: str) -> TraceDetail: """Get a trace detail. Args: @@ -372,12 +370,14 @@ async def fetch_trace_detail(trace_id: str, user_uid: str) -> TraceDetail: TraceDetail: trace detail pydantic model """ - user = await db_manager.get_user(user_uid) trace_db = await get_single_trace(trace_id) - app_variant_db = await db_manager.fetch_app_variant_by_base_id_and_config_name( - trace_db.base_id, trace_db.config_name - ) + app_variant_db = await db_manager.fetch_app_variant_by_id(trace_db.variant_id) + span_status = ( + SpanStatus(value=trace_db.status) + if trace_db.status in ["INITIATED", "COMPLETED"] + else SpanStatus(value=None, error=Error(message=trace_db.status)) + ) return TraceDetail( **{ "id": str(trace_db.id), @@ -388,13 +388,13 @@ async def fetch_trace_detail(trace_id: str, user_uid: str) -> TraceDetail: "revision": app_variant_db.revision, }, "environment": trace_db.environment, - "status": {"value": trace_db.status, "error": None}, + "status": span_status, "metadata": { "cost": trace_db.cost, - "latency": trace_db.latency, + "latency": trace_db.get_latency(), "usage": {"total_tokens": trace_db.token_consumption}, }, - "user_id": str(user.id), + "user_id": "", }, ) diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py index 807f1848ea..f8774c9e7f 100644 --- a/agenta-backend/agenta_backend/services/filters.py +++ b/agenta-backend/agenta_backend/services/filters.py @@ -69,17 +69,19 @@ def prepares_spans_aggregation_by_timerange(time_range: str): time_range_mappings = { "$group": { "_id": {"$dateTrunc": {"date": "$created_at", "unit": date_trunc_unit}}, - "latency": {"$sum": {"$divide": ["$duration", 1000]}}, + "latency": { + "$sum": {"$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000]} + }, "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "SUCCESS"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "COMPLETED"]}, 1, 0]} }, "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILURE"]}, 1, 0]} + "$sum": {"$cond": [{"$eq": ["$status.value", "FAILED"]}, 1, 0]} }, "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$token_total"}, - "prompt_tokens": {"$sum": "$tokens_input"}, - "completion_tokens": {"$sum": "$tokens_output"}, + "total_tokens": {"$sum": "$tokens.total_tokens"}, + "prompt_tokens": {"$sum": "$tokens.prompt_tokens"}, + "completion_tokens": {"$sum": "$tokens.completion_tokens"}, } } diff --git a/agenta-backend/agenta_backend/services/helpers.py b/agenta-backend/agenta_backend/services/helpers.py index 95292edf36..a16c5f257c 100644 --- a/agenta-backend/agenta_backend/services/helpers.py +++ b/agenta-backend/agenta_backend/services/helpers.py @@ -77,7 +77,7 @@ def convert_generation_span_inputs_variables(span_db: SpanDB) -> List[Dict[str, """ variables: List[Dict[str, str]] = [] - for variable in span_db.inputs: + for variable in span_db.input: if isinstance(variable, str): variable_type = "string" elif isinstance(variable, (int, float)): diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index 22f9eadf4f..a90dc9b829 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -18,10 +18,10 @@ async def cache_observability_data( redis = redis_utils.redis_connection() # Retrieve cache key and return data if it exists - cached_data = redis.get(cache_key) - if cached_data is not None: - loaded_data = json.loads(cached_data) - return loaded_data + # cached_data = redis.get(cache_key) + # if cached_data is not None: + # loaded_data = json.loads(cached_data) + # return loaded_data # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) diff --git a/agenta-cli/agenta/sdk/tracing/decorators.py b/agenta-cli/agenta/sdk/tracing/decorators.py index cd3ae168db..360ac9a2d6 100644 --- a/agenta-cli/agenta/sdk/tracing/decorators.py +++ b/agenta-cli/agenta/sdk/tracing/decorators.py @@ -29,7 +29,7 @@ async def wrapper(*args, **kwargs): except Exception as e: span.set_attribute("error", True) span.set_attribute("error_message", str(e)) - span.update_span_status("FAILED", str(e)) + span.update_span_status("FAILED", exc=str(e)) finally: if not isinstance(result, dict): result = {"message": result} diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 5ed0a9e7d0..218d2e057a 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -18,7 +18,7 @@ def __init__( trace_id: str, span_id: str, name: str, - input: str, + input: Dict[str, Any], event_type: str, parent_span_id: Optional[str] = None, **kwargs: Dict[str, Any], @@ -32,7 +32,7 @@ def __init__( self.end_time = Optional[datetime] self.input = input self.status = Dict[str, Any] - self.output = Optional[Dict[str, Any]] + self.output = Optional[str] self.cost = Optional[float] self.tokens = Optional[Dict[str, int]] self.attributes: Dict[str, Any] = kwargs @@ -40,19 +40,19 @@ def __init__( def set_attribute(self, key: str, value: Any): self.attributes[key] = value - def update_span_status(self, status: str, exc: Optional[str]): + def update_span_status(self, status: str, exc: Optional[str] = None): if status == "FAILED": self.status = { # type: ignore "value": None, "error": {"message": status, "stacktrace": str(exc)}, } elif status == "COMPLETED": - self.status == {"value": status, "error": None} + self.status = {"value": status, "error": None} # type: ignore def end(self, output: Dict[str, Any]): self.end_time = datetime.now() self.output = output["message"] - self.cost = output.get("cost", None) + self.cost = output.get("cost", 0) self.tokens = output.get("usage", {}) def __dict__(self): @@ -134,7 +134,7 @@ def set_trace_tags(self, tags: List[str]): def start_span( self, name: str, - input: str, + input: Dict[str, Any], event_type: str, trace_id: Optional[str] = None, parent_span_id: Optional[str] = None, From 86dca6536bb015cdcef94cf384bb69c4d831110e Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Thu, 21 Mar 2024 15:25:47 +0100 Subject: [PATCH 259/539] added labels to inputs in card view --- .../Evaluations/EvaluationCardView/index.tsx | 75 +++++++++++-------- 1 file changed, 43 insertions(+), 32 deletions(-) diff --git a/agenta-web/src/components/Evaluations/EvaluationCardView/index.tsx b/agenta-web/src/components/Evaluations/EvaluationCardView/index.tsx index 45e114047c..f0097bc08e 100644 --- a/agenta-web/src/components/Evaluations/EvaluationCardView/index.tsx +++ b/agenta-web/src/components/Evaluations/EvaluationCardView/index.tsx @@ -361,33 +361,38 @@ const EvaluationCardView: React.FC = ({
- - isChat - ? onChatChange(value) - : onInputChange( - {target: {value}} as any, - scenarioId, - scenario.inputs.findIndex((ip) => ip.input_name === name), - ) - } - inputParams={ - isChat - ? [{name: "chat", value: chat} as any] - : variantData[0].inputParams?.map((item) => ({ - ...item, - value: scenario.inputs.find( - (ip) => ip.input_name === item.name, - )?.input_value, - })) || [] - } - key={scenarioId} - useChatDefaultValue - form={form} - onFinish={() => onRun(scenarioId)} - imageSize="large" - /> +
+ Inputs + + isChat + ? onChatChange(value) + : onInputChange( + {target: {value}} as any, + scenarioId, + scenario.inputs.findIndex( + (ip) => ip.input_name === name, + ), + ) + } + inputParams={ + isChat + ? [{name: "chat", value: chat} as any] + : variantData[0].inputParams?.map((item) => ({ + ...item, + value: scenario.inputs.find( + (ip) => ip.input_name === item.name, + )?.input_value, + })) || [] + } + key={scenarioId} + useChatDefaultValue + form={form} + onFinish={() => onRun(scenarioId)} + imageSize="large" + /> +
@@ -405,11 +410,17 @@ const EvaluationCardView: React.FC = ({
- {!isAbTesting && ( - - Model Response - - )} +
+ {!isAbTesting ? ( + + Model Response + + ) : ( + + Outputs + + )} +
Date: Thu, 21 Mar 2024 15:58:05 +0100 Subject: [PATCH 260/539] Add new files and update .gitignore --- .gitignore | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/.gitignore b/.gitignore index a27893b1a4..4a739feaf8 100644 --- a/.gitignore +++ b/.gitignore @@ -59,4 +59,10 @@ agenta-web/cypress/videos/ rabbitmq_data # docker compose override -docker-compose.*override.yaml \ No newline at end of file +docker-compose.*override.yaml +agenta-backend/agenta_backend/migrations/*.sh +agenta-backend/agenta_backend/migrations/migrations/v0_11_0_to_v0_12_0/20240131194122_create_default_workspace_for_org.py +agenta-backend/agenta_backend/migrations/migrations/v0_11_0_to_v0_12_0/20240203035221_move_org_existing_members_to_workspace.py +agenta-backend/agenta_backend/migrations/migrations/v0_11_0_to_v0_12_0/20240201102156_update_org_invitation.py +agenta-backend/agenta_backend/migrations/migrations/v0_11_0_to_v0_12_0/20240203035520_add_workspace_field_to_db_models.py +docker-compose.oss.prod.yml From f4afb2cfcd806cd010f2a98c3f4dab21f263faf9 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Fri, 22 Mar 2024 09:49:47 +0100 Subject: [PATCH 261/539] overrode default cell style attribute --- .../pages/evaluations/cellRenderers/cellRenderers.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx b/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx index 9089ef6387..9708db9189 100644 --- a/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx +++ b/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx @@ -95,7 +95,7 @@ export function LongTextCellRenderer(params: ICellRendererParams, output?: any) cellsArr.forEach((cell) => { cell.setAttribute( "style", - "overflow: visible; white-space: pre-wrap; text-overflow: unset;", + "overflow: visible; white-space: pre-wrap; text-overflow: unset; line-height: 2.5em;", ) }) const height = Math.max(...cellsArr.map((cell) => cell.scrollHeight)) @@ -121,7 +121,7 @@ export function LongTextCellRenderer(params: ICellRendererParams, output?: any) return (
{output ? output : value} From dd84372b4d29b3ab32ed40e697b7857fe22edaa6 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Fri, 22 Mar 2024 11:54:29 +0100 Subject: [PATCH 262/539] increased cell height --- .../pages/evaluations/cellRenderers/cellRenderers.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx b/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx index 9708db9189..866090f990 100644 --- a/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx +++ b/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx @@ -99,7 +99,7 @@ export function LongTextCellRenderer(params: ICellRendererParams, output?: any) ) }) const height = Math.max(...cellsArr.map((cell) => cell.scrollHeight)) - node.setRowHeight(height <= defaultHeight ? defaultHeight * 2 : height) + node.setRowHeight(height <= defaultHeight ? defaultHeight * 2 : height + 10) } else { cellsArr.forEach((cell) => { cell.setAttribute( From 91ebb5b7fb68699035d807e50647dfb3b9fc7e0e Mon Sep 17 00:00:00 2001 From: Abram Date: Sun, 24 Mar 2024 20:45:27 +0100 Subject: [PATCH 263/539] Update - modify trace and span detail response --- .../models/api/observability_models.py | 8 +++--- .../services/event_db_manager.py | 26 +++---------------- 2 files changed, 8 insertions(+), 26 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 851d08ef63..368f97b01e 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -83,7 +83,7 @@ class LLMInputs(BaseModel): class LLMContent(BaseModel): inputs: List[LLMInputs] - output: str + output: Optional[str] class LLMModelParams(BaseModel): @@ -92,9 +92,7 @@ class LLMModelParams(BaseModel): class SpanDetail(Span): - span_id: str content: LLMContent - model_params: LLMModelParams class Trace(Span): @@ -102,7 +100,9 @@ class Trace(Span): class TraceDetail(Trace): - pass + inputs: Dict[str, Any] + outputs: List[str] + variant_config: Dict[str, Any] class ObservabilityData(BaseModel): diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index b3b03e5313..3bcd5a39e4 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -212,24 +212,13 @@ async def fetch_generation_span_detail(span_id: str) -> SpanDetail: "revision": app_variant_db.revision, }, "environment": span_db.environment, - "status": { - "value": span_db.status.value, - "error": ( - { - "message": span_db.status.error.message, - "stacktrace": span_db.status.error.stacktrace, - } - if span_db.status.value == "FAILURE" - else None - ), - }, + "status": span_db.status.dict(), "metadata": { "cost": span_db.cost, "latency": span_db.get_latency(), "usage": span_db.tokens, }, "user_id": "", - "span_id": str(span_db.id), "content": { "inputs": [ {"input_name": key, "input_value": value} @@ -237,16 +226,6 @@ async def fetch_generation_span_detail(span_id: str) -> SpanDetail: ], "output": span_db.output, }, - "model_params": { - "prompt": { - "system": "", - "user": "", - "variables": helpers.convert_generation_span_inputs_variables( - span_db - ), - }, - "params": app_variant_db.config.parameters, - }, }, ) @@ -381,6 +360,8 @@ async def fetch_trace_detail(trace_id: str) -> TraceDetail: return TraceDetail( **{ "id": str(trace_db.id), + "inputs": trace_db.inputs, + "outputs": trace_db.outputs, "created_at": trace_db.created_at.isoformat(), "variant": { "variant_id": str(app_variant_db.id), @@ -395,6 +376,7 @@ async def fetch_trace_detail(trace_id: str) -> TraceDetail: "usage": {"total_tokens": trace_db.token_consumption}, }, "user_id": "", + "variant_config": trace_db.variant_config, }, ) From 64d83f3be015756525a60188defc5ec44b359735 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Sun, 24 Mar 2024 23:39:11 +0100 Subject: [PATCH 264/539] added evaluation images --- agenta-web/src/media/automatic_evaluation.png | Bin 0 -> 28717 bytes agenta-web/src/media/human_evaluation.png | Bin 0 -> 19310 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 agenta-web/src/media/automatic_evaluation.png create mode 100644 agenta-web/src/media/human_evaluation.png diff --git a/agenta-web/src/media/automatic_evaluation.png b/agenta-web/src/media/automatic_evaluation.png new file mode 100644 index 0000000000000000000000000000000000000000..21afc33bd420ab2359d9180c7cb8ce4c6bf1ffa4 GIT binary patch literal 28717 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 o1`0P$M8xNV_y4~a Date: Mon, 25 Mar 2024 06:04:33 +0000 Subject: [PATCH 265/539] Bump versions --- agenta-backend/pyproject.toml | 2 +- agenta-cli/pyproject.toml | 2 +- agenta-web/package-lock.json | 4 ++-- agenta-web/package.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/agenta-backend/pyproject.toml b/agenta-backend/pyproject.toml index 9471926a51..fbd07a5474 100644 --- a/agenta-backend/pyproject.toml +++ b/agenta-backend/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta_backend" -version = "0.12.3" +version = "0.12.4" description = "" authors = ["Mahmoud Mabrouk "] readme = "README.md" diff --git a/agenta-cli/pyproject.toml b/agenta-cli/pyproject.toml index e9c50bafd8..5a7c126a1a 100644 --- a/agenta-cli/pyproject.toml +++ b/agenta-cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta" -version = "0.12.3" +version = "0.12.4" description = "The SDK for agenta is an open-source LLMOps platform." readme = "README.md" authors = ["Mahmoud Mabrouk "] diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index 86a835dbdc..aa2a4e4556 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -1,12 +1,12 @@ { "name": "dashboard", - "version": "0.12.3", + "version": "0.12.4", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "dashboard", - "version": "0.12.3", + "version": "0.12.4", "dependencies": { "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", diff --git a/agenta-web/package.json b/agenta-web/package.json index c11f4e7625..6f25692c17 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -1,6 +1,6 @@ { "name": "agenta", - "version": "0.12.3", + "version": "0.12.4", "private": true, "engines": { "node": ">=18" From 7c967f21f96d1b51112a94e56e9236a7ee0f12d0 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 25 Mar 2024 07:20:08 +0100 Subject: [PATCH 266/539] Minor update - refactor trace detail response types --- .../agenta_backend/models/api/observability_models.py | 3 +-- .../agenta_backend/services/event_db_manager.py | 9 +++++++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 368f97b01e..3f0491acd9 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -100,8 +100,7 @@ class Trace(Span): class TraceDetail(Trace): - inputs: Dict[str, Any] - outputs: List[str] + content: Dict[str, Any] variant_config: Dict[str, Any] diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 3bcd5a39e4..acc549a521 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -360,8 +360,13 @@ async def fetch_trace_detail(trace_id: str) -> TraceDetail: return TraceDetail( **{ "id": str(trace_db.id), - "inputs": trace_db.inputs, - "outputs": trace_db.outputs, + "content": { + "inputs": [ + {"input_name": key, "input_value": value} + for key, value in trace_db.input.items() + ], + "output": trace_db.output, + }, "created_at": trace_db.created_at.isoformat(), "variant": { "variant_id": str(app_variant_db.id), From b844614d81839a51e2049c33ebea4fc950dbba88 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 25 Mar 2024 07:41:53 +0100 Subject: [PATCH 267/539] Minor refactor - rename input to inputs --- agenta-backend/agenta_backend/services/event_db_manager.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index acc549a521..90b9512851 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -360,12 +360,12 @@ async def fetch_trace_detail(trace_id: str) -> TraceDetail: return TraceDetail( **{ "id": str(trace_db.id), - "content": { + "content": { "inputs": [ {"input_name": key, "input_value": value} - for key, value in trace_db.input.items() + for key, value in trace_db.inputs.items() ], - "output": trace_db.output, + "output": trace_db.outputs, }, "created_at": trace_db.created_at.isoformat(), "variant": { From 49be819a15c84ea99402da40006c4a2dcb560369 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Mon, 25 Mar 2024 09:55:38 +0100 Subject: [PATCH 268/539] removed images --- agenta-web/src/media/automatic_evaluation.png | Bin 28717 -> 0 bytes agenta-web/src/media/human_evaluation.png | Bin 19310 -> 0 bytes 2 files changed, 0 insertions(+), 0 deletions(-) delete mode 100644 agenta-web/src/media/automatic_evaluation.png delete mode 100644 agenta-web/src/media/human_evaluation.png diff --git a/agenta-web/src/media/automatic_evaluation.png b/agenta-web/src/media/automatic_evaluation.png deleted file mode 100644 index 21afc33bd420ab2359d9180c7cb8ce4c6bf1ffa4..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 28717 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 o1`0P$M8xNV_y4~a Date: Mon, 25 Mar 2024 12:27:54 +0100 Subject: [PATCH 269/539] Added new feature flag for cloudDev that serves the apps locally --- agenta-backend/agenta_backend/main.py | 18 +++++++----- .../agenta_backend/routers/app_router.py | 28 +++++++++++++------ .../routers/container_router.py | 6 ++-- .../agenta_backend/services/app_manager.py | 22 ++++++++++----- .../services/container_manager.py | 4 +-- .../services/templates_manager.py | 7 +++-- agenta-backend/agenta_backend/utils/common.py | 16 +++++++++-- 7 files changed, 69 insertions(+), 32 deletions(-) diff --git a/agenta-backend/agenta_backend/main.py b/agenta-backend/agenta_backend/main.py index c556824a1e..8ccb20d3bf 100644 --- a/agenta-backend/agenta_backend/main.py +++ b/agenta-backend/agenta_backend/main.py @@ -18,13 +18,13 @@ configs_router, health_router, ) -from agenta_backend.utils.common import isCloudEE +from agenta_backend.utils.common import isEE, isCloudProd, isCloudDev, isOss from agenta_backend.models.db_engine import DBEngine from agenta_backend.open_api import open_api_tags_metadata -if isCloudEE(): +if isEE() or isCloudProd(): from agenta_backend.commons.services import templates_manager -else: +elif isCloudDev() or isOss(): from agenta_backend.services import templates_manager from fastapi import FastAPI @@ -83,7 +83,8 @@ async def lifespan(application: FastAPI, cache=True): app.include_router(health_router.router, prefix="/health") app.include_router(user_profile.router, prefix="/profile") app.include_router(app_router.router, prefix="/apps", tags=["Apps"]) -app.include_router(variants_router.router, prefix="/variants", tags=["Variants"]) +app.include_router(variants_router.router, + prefix="/variants", tags=["Variants"]) app.include_router( evaluation_router.router, prefix="/evaluations", tags=["Evaluations"] ) @@ -92,9 +93,12 @@ async def lifespan(application: FastAPI, cache=True): prefix="/human-evaluations", tags=["Human-Evaluations"], ) -app.include_router(evaluators_router.router, prefix="/evaluators", tags=["Evaluators"]) -app.include_router(testset_router.router, prefix="/testsets", tags=["Testsets"]) -app.include_router(container_router.router, prefix="/containers", tags=["Containers"]) +app.include_router(evaluators_router.router, + prefix="/evaluators", tags=["Evaluators"]) +app.include_router(testset_router.router, + prefix="/testsets", tags=["Testsets"]) +app.include_router(container_router.router, + prefix="/containers", tags=["Containers"]) app.include_router( environment_router.router, prefix="/environments", tags=["Environments"] ) diff --git a/agenta-backend/agenta_backend/routers/app_router.py b/agenta-backend/agenta_backend/routers/app_router.py index 730cba1f15..9a79673bc3 100644 --- a/agenta-backend/agenta_backend/routers/app_router.py +++ b/agenta-backend/agenta_backend/routers/app_router.py @@ -11,7 +11,8 @@ from agenta_backend.models import converters from agenta_backend.utils.common import ( isEE, - isCloud, + isCloudProd, + isCloudDev, APIRouter, isCloudEE, ) @@ -60,10 +61,12 @@ from agenta_backend.commons.models.db_models import Permission -if isCloud(): +if isCloudProd(): from agenta_backend.cloud.services import ( lambda_deployment_manager as deployment_manager, ) # noqa pylint: disable-all +elif isCloudDev(): + from agenta_backend.services import deployment_manager elif isEE(): from agenta_backend.ee.services import ( deployment_manager, @@ -103,7 +106,8 @@ async def list_app_variants( object_type="app", permission=Permission.VIEW_APPLICATION, ) - logger.debug(f"User has Permission to list app variants: {has_permission}") + logger.debug( + f"User has Permission to list app variants: {has_permission}") if not has_permission: error_msg = f"You do not have access to perform this action. Please contact your organization admin." return JSONResponse( @@ -170,7 +174,8 @@ async def get_variant_by_env( # Check if the fetched app variant is None and raise exception if it is if app_variant_db is None: - raise HTTPException(status_code=500, detail="App Variant not found") + raise HTTPException( + status_code=500, detail="App Variant not found") return await converters.app_variant_db_to_output(app_variant_db) except ValueError as e: # Handle ValueErrors and return 400 status code @@ -402,7 +407,8 @@ async def remove_app(app_id: str, request: Request): object=app, permission=Permission.DELETE_APPLICATION, ) - logger.debug(f"User has Permission to delete app: {has_permission}") + logger.debug( + f"User has Permission to delete app: {has_permission}") if not has_permission: error_msg = f"You do not have access to perform this action. Please contact your organization admin." return JSONResponse( @@ -413,7 +419,8 @@ async def remove_app(app_id: str, request: Request): await app_manager.remove_app(app) except DockerException as e: detail = f"Docker error while trying to remove the app: {str(e)}" - logger.exception(f"Docker error while trying to remove the app: {str(e)}") + logger.exception( + f"Docker error while trying to remove the app: {str(e)}") raise HTTPException(status_code=500, detail=detail) except Exception as e: detail = f"Unexpected error while trying to remove the app: {str(e)}" @@ -514,7 +521,8 @@ async def create_app_and_variant_from_template( else "Step 3: Retrieve template from db" ) template_db = await db_manager.get_template(payload.template_id) - repo_name = os.environ.get("AGENTA_TEMPLATE_REPO", "agentaai/templates_v2") + repo_name = os.environ.get( + "AGENTA_TEMPLATE_REPO", "agentaai/templates_v2") image_name = f"{repo_name}:{template_db.name}" logger.debug( @@ -612,7 +620,8 @@ async def list_environments( object_type="app", permission=Permission.VIEW_APPLICATION, ) - logger.debug(f"User has Permission to list environments: {has_permission}") + logger.debug( + f"User has Permission to list environments: {has_permission}") if not has_permission: error_msg = f"You do not have access to perform this action. Please contact your organization admin." return JSONResponse( @@ -650,7 +659,8 @@ async def list_app_environment_revisions( object_type="app", permission=Permission.VIEW_APPLICATION, ) - logger.debug(f"User has Permission to list environments: {has_permission}") + logger.debug( + f"User has Permission to list environments: {has_permission}") if not has_permission: error_msg = f"You do not have access to perform this action. Please contact your organization admin." return JSONResponse( diff --git a/agenta-backend/agenta_backend/routers/container_router.py b/agenta-backend/agenta_backend/routers/container_router.py index 1e0b5bc3d1..35d9a73c24 100644 --- a/agenta-backend/agenta_backend/routers/container_router.py +++ b/agenta-backend/agenta_backend/routers/container_router.py @@ -5,7 +5,7 @@ from fastapi import Request, UploadFile, HTTPException from agenta_backend.services import db_manager -from agenta_backend.utils.common import APIRouter, isCloudEE, isCloud, isEE +from agenta_backend.utils.common import APIRouter, isCloudEE, isCloudProd, isCloudDev, isEE if isCloudEE(): from agenta_backend.commons.models.db_models import Permission @@ -15,8 +15,10 @@ from agenta_backend.models.api.api_models import Image -if isCloud(): +if isCloudProd(): from agenta_backend.cloud.services import container_manager +elif isCloudDev(): + from agenta_backend.services import container_manager elif isEE(): from agenta_backend.ee.services import container_manager else: diff --git a/agenta-backend/agenta_backend/services/app_manager.py b/agenta-backend/agenta_backend/services/app_manager.py index fc737bec82..acc585ab63 100644 --- a/agenta-backend/agenta_backend/services/app_manager.py +++ b/agenta-backend/agenta_backend/services/app_manager.py @@ -25,14 +25,17 @@ from agenta_backend.utils.common import ( isEE, isOssEE, - isCloud, + isCloudProd, + isCloudDev, isCloudEE, ) -if isCloud(): +if isCloudProd(): from agenta_backend.cloud.services import ( lambda_deployment_manager as deployment_manager, ) # noqa pylint: disable-all +elif isCloudDev(): + from agenta_backend.services import deployment_manager elif isEE(): from agenta_backend.ee.services import ( deployment_manager, @@ -291,10 +294,12 @@ async def remove_app_related_resources(app_id: str): ) for environment_db in environments: await db_manager.remove_environment(environment_db) - logger.info(f"Successfully deleted environment {environment_db.name}.") + logger.info( + f"Successfully deleted environment {environment_db.name}.") # Delete associated testsets await db_manager.remove_app_testsets(app_id) - logger.info(f"Successfully deleted test sets associated with app {app_id}.") + logger.info( + f"Successfully deleted test sets associated with app {app_id}.") await db_manager.remove_app_by_id(app_id) logger.info(f"Successfully remove app object {app_id}.") @@ -404,7 +409,8 @@ async def add_variant_based_on_image( or variant_name in [None, ""] or docker_id_or_template_uri in [None, ""] ): - raise ValueError("App variant, variant name or docker_id/template_uri is None") + raise ValueError( + "App variant, variant name or docker_id/template_uri is None") if not isCloudEE(): if tags in [None, ""]: @@ -417,7 +423,8 @@ async def add_variant_based_on_image( # Check if app variant already exists logger.debug("Step 2: Checking if app variant already exists") variants = await db_manager.list_app_variants_for_app_id(app_id=str(app.id)) - already_exists = any(av for av in variants if av.variant_name == variant_name) + already_exists = any( + av for av in variants if av.variant_name == variant_name) if already_exists: logger.error("App variant with the same name already exists") raise ValueError("App variant with the same name already exists") @@ -499,5 +506,6 @@ async def add_variant_based_on_image( config=config_db, ) - logger.debug("End: Successfully created db_app_variant: %s", db_app_variant) + logger.debug("End: Successfully created db_app_variant: %s", + db_app_variant) return db_app_variant diff --git a/agenta-backend/agenta_backend/services/container_manager.py b/agenta-backend/agenta_backend/services/container_manager.py index c055c83ddd..aa3412d5f4 100644 --- a/agenta-backend/agenta_backend/services/container_manager.py +++ b/agenta-backend/agenta_backend/services/container_manager.py @@ -20,7 +20,7 @@ AppDB, ) from agenta_backend.services import docker_utils -from agenta_backend.utils.common import isCloud +from agenta_backend.utils.common import isCloudProd client = docker.from_env() @@ -100,7 +100,7 @@ def build_image_job( shutil.unpack_archive(tar_path, temp_dir) try: - if isCloud(): + if isCloudProd(): dockerfile = "Dockerfile.cloud" else: dockerfile = "Dockerfile" diff --git a/agenta-backend/agenta_backend/services/templates_manager.py b/agenta-backend/agenta_backend/services/templates_manager.py index c77da181e6..16c8f97d69 100644 --- a/agenta-backend/agenta_backend/services/templates_manager.py +++ b/agenta-backend/agenta_backend/services/templates_manager.py @@ -10,8 +10,8 @@ from agenta_backend.config import settings from agenta_backend.utils import redis_utils from agenta_backend.services import db_manager - -if os.environ["FEATURE_FLAG"] in ["oss", "cloud"]: +from agenta_backend.utils.common import isCloud, isOss +if isCloud() or isOss(): from agenta_backend.services import container_manager from typing import Union @@ -66,7 +66,8 @@ async def update_and_sync_templates(cache: bool = True) -> None: image_res = await container_manager.pull_docker_image( repo_name=f"{repo_owner}/{repo_name}", tag=temp["name"] ) - print(f"Template Image {image_res[0]['id']} pulled from DockerHub.") + print( + f"Template Image {image_res[0]['id']} pulled from DockerHub.") # Remove old templates from database await db_manager.remove_old_template_from_db(templates_ids_not_to_remove) diff --git a/agenta-backend/agenta_backend/utils/common.py b/agenta-backend/agenta_backend/utils/common.py index 02af4e73b8..984160b5d6 100644 --- a/agenta-backend/agenta_backend/utils/common.py +++ b/agenta-backend/agenta_backend/utils/common.py @@ -51,11 +51,11 @@ def decorator(func: DecoratedCallable) -> DecoratedCallable: def isCloudEE(): - return os.environ["FEATURE_FLAG"] in ["cloud", "ee"] + return os.environ["FEATURE_FLAG"] in ["cloud", "ee", "cloud-dev"] def isCloud(): - return os.environ["FEATURE_FLAG"] == "cloud" + return os.environ["FEATURE_FLAG"] in ["cloud", "cloud-dev"] def isEE(): @@ -64,3 +64,15 @@ def isEE(): def isOssEE(): return os.environ["FEATURE_FLAG"] in ["oss", "ee"] + + +def isCloudProd(): + return os.environ["FEATURE_FLAG"] == "cloud" + + +def isCloudDev(): + return os.environ["FEATURE_FLAG"] == "cloud-dev" + + +def isOss(): + return os.environ["FEATURE_FLAG"] == "oss" From 121034ed9f340c1471e1af4dceff8ad5d9e2b37b Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 25 Mar 2024 13:23:34 +0100 Subject: [PATCH 270/539] Refactor - modified tracing sdk and backend logic --- .../models/api/observability_models.py | 5 +- .../agenta_backend/models/db_models.py | 3 +- .../services/event_db_manager.py | 2 +- .../backend/resources/observability/client.py | 21 ++++--- agenta-cli/agenta/sdk/agenta_decorator.py | 58 ++++--------------- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 32 ++++++---- examples/baby_name_generator/app_async.py | 4 +- 7 files changed, 55 insertions(+), 70 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 3f0491acd9..e20eeab0c4 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -71,6 +71,7 @@ class BaseSpan(BaseModel): class CreateSpan(BaseSpan): trace_id: str span_id: str + config: Optional[dict] environment: Optional[str] end_time: datetime tokens: Optional[LLMTokens] @@ -146,7 +147,6 @@ class UpdateFeedback(BaseModel): class BaseTrace(BaseModel): app_id: Optional[str] variant_id: Optional[str] - cost: Optional[float] status: str = Field(default=Status.INITIATED) tags: Optional[List[str]] start_time: datetime = Field(default=datetime.now()) @@ -156,7 +156,7 @@ class CreateTrace(BaseTrace): id: str trace_name: str inputs: Dict[str, Any] - variant_config: Dict[str, Any] + config: Dict[str, Any] environment: Optional[str] @@ -164,4 +164,5 @@ class UpdateTrace(BaseModel): status: str end_time: datetime outputs: List[str] + cost: Optional[float] token_consumption: Optional[int] diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 0153ea91d0..56916ebd5f 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -328,7 +328,7 @@ class TraceDB(Document): cost: Optional[float] inputs: Optional[Dict[str, Any]] outputs: Optional[List[str]] - variant_config: Dict[str, Any] + config: Dict[str, Any] environment: Optional[str] # request source -> playground, development, etc status: str # initiated, completed, stopped, canceled, failed user: Optional[str] @@ -356,6 +356,7 @@ class SpanDB(Document): user: Optional[str] environment: Optional[str] # request source -> playground, development, etc start_time: datetime + config: Optional[Dict[str, Any]] end_time: datetime = Field(default=datetime.now()) tokens: Optional[LLMTokens] cost: Optional[float] diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 90b9512851..12b69f6686 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -360,7 +360,7 @@ async def fetch_trace_detail(trace_id: str) -> TraceDetail: return TraceDetail( **{ "id": str(trace_db.id), - "content": { + "content": { "inputs": [ {"input_name": key, "input_value": value} for key, value in trace_db.inputs.items() diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index 23da3200a1..e0b2836eb3 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -866,14 +866,13 @@ async def create_trace( *, app_id: typing.Optional[str] = OMIT, variant_id: typing.Optional[str] = OMIT, - cost: typing.Optional[float] = OMIT, status: typing.Optional[str] = OMIT, tags: typing.Optional[typing.List[str]] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, id: str, trace_name: str, inputs: typing.Dict[str, typing.Any], - variant_config: typing.Dict[str, typing.Any], + config: typing.Dict[str, typing.Any], environment: typing.Optional[str] = OMIT, ) -> str: """ @@ -882,8 +881,6 @@ async def create_trace( - variant_id: typing.Optional[str]. - - cost: typing.Optional[float]. - - status: typing.Optional[str]. - tags: typing.Optional[typing.List[str]]. @@ -896,7 +893,7 @@ async def create_trace( - inputs: typing.Dict[str, typing.Any]. - - variant_config: typing.Dict[str, typing.Any]. + - config: typing.Dict[str, typing.Any]. - environment: typing.Optional[str]. --- @@ -909,14 +906,12 @@ async def create_trace( "id": id, "trace_name": trace_name, "inputs": inputs, - "variant_config": variant_config, + "config": config, } if app_id is not OMIT: _request["app_id"] = app_id if variant_id is not OMIT: _request["variant_id"] = variant_id - if cost is not OMIT: - _request["cost"] = cost if status is not OMIT: _request["status"] = status if tags is not OMIT: @@ -1048,6 +1043,7 @@ async def create_span( start_time: typing.Optional[dt.datetime] = OMIT, duration: typing.Optional[int] = OMIT, status: SpanStatus, + config: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, input: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, output: typing.Optional[str] = OMIT, cost: typing.Optional[float] = OMIT, @@ -1073,6 +1069,8 @@ async def create_span( - status: SpanStatus. + - config: typing.Optional[typing.Dict[str, typing.Any]]. + - input: typing.Optional[typing.Dict[str, typing.Any]]. - output: typing.Optional[str]. @@ -1120,6 +1118,8 @@ async def create_span( _request["start_time"] = start_time if duration is not OMIT: _request["duration"] = duration + if config is not OMIT: + _request["config"] = config if input is not OMIT: _request["input"] = input if output is not OMIT: @@ -1214,6 +1214,7 @@ async def update_trace( status: str, end_time: dt.datetime, outputs: typing.List[str], + cost: typing.Optional[float] = OMIT, token_consumption: typing.Optional[int] = OMIT, ) -> bool: """ @@ -1226,6 +1227,8 @@ async def update_trace( - outputs: typing.List[str]. + - cost: typing.Optional[float]. + - token_consumption: typing.Optional[int]. --- import datetime @@ -1245,6 +1248,8 @@ async def update_trace( "end_time": end_time, "outputs": outputs, } + if cost is not OMIT: + _request["cost"] = cost if token_consumption is not OMIT: _request["token_consumption"] = token_consumption _response = await self._client_wrapper.httpx_client.request( diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index e6f469819b..d13ed17897 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -82,8 +82,8 @@ async def wrapper(*args, **kwargs) -> Any: # Start tracing tracing.trace( trace_name=func.__name__, - inputs={"prompt": func_params}, - variant_config=api_config_params, + inputs=func_params, + config=api_config_params, ) ingest_files(func_params, ingestible_files) agenta.config.set(**api_config_params) @@ -93,8 +93,8 @@ async def wrapper(*args, **kwargs) -> Any: # End tracing if isinstance(result, JSONResponse): - result = {"message": str(result), "usage": None} - tracing.end_trace(outputs=[result["message"]], usage=result["usage"]) # type: ignore + result = {"message": str(result), "usage": None, "cost": None} + tracing.end_trace(outputs=[result["message"]], usage=result["usage"], cost=result["cost"]) # type: ignore return result @functools.wraps(func) @@ -110,13 +110,20 @@ async def wrapper_deployed(*args, **kwargs) -> Any: agenta.config.pull(config_name="default") config = agenta.config.all() + + # Start tracing + tracing.trace( + trace_name=func.__name__, + inputs=func_params, + config=config, + **{"environment": kwargs["environment"]}, + ) result = await execute_function( func, *args, **{ "params": func_params, "config_params": config, - "environment": kwargs["environment"], }, ) @@ -186,47 +193,6 @@ def ingest_files( func_params[name] = ingest_file(func_params[name]) -async def prepare_llm_params_and_begin_tracing( - params: Dict[str, Any], result: Union[str, dict] -) -> None: - """Prepares LLM parameters and begins tracing. - - Args: - params (Dict[str, Any]): the LLM app parameters - result (Union[str, dict]): the output of the llm run - """ - - def get_prompt_system(config_params: Dict[str, Any]) -> Union[str, None]: - if "prompt_template" in config_params: - return config_params["prompt_template"] - - if "prompt_system" in config_params: - return config_params["prompt_system"] - - if "base_prompt" in config_params: - return config_params["base_prompt"] - - return None - - if "config_params" in params: - trace_data = { - "inputs": params["params"], - "environment": params["config_params"].get("environment", None), - "prompt_system": get_prompt_system(params["config_params"]), - "prompt_user": params["config_params"].get("prompt_user"), - } - - if isinstance(result, dict): - trace_data["outputs"] = [result.get("message")] - trace_data["cost"] = result.get("cost") - trace_data["meta"] = result.get("usage") - trace_data.update(result["usage"]) - else: - trace_data["outputs"] = [result] - - await agenta.trace(**trace_data) - - async def execute_function( func: Callable[..., Any], *args, **func_params ) -> Union[Dict[str, Any], JSONResponse]: diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 218d2e057a..c5bc6237e2 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -37,8 +37,14 @@ def __init__( self.tokens = Optional[Dict[str, int]] self.attributes: Dict[str, Any] = kwargs - def set_attribute(self, key: str, value: Any): - self.attributes[key] = value + def set_attribute(self, key: str, value: Any, parent_key: Optional[str] = None): + if parent_key is not None: + model_config = self.attributes.get(parent_key, None) + if not model_config: + self.attributes[parent_key] = {} + self.attributes[parent_key][key] = value + else: + self.attributes[key] = value def update_span_status(self, status: str, exc: Optional[str] = None): if status == "FAILED": @@ -123,10 +129,12 @@ def client(self) -> AsyncObservabilityClient: base_url=self.base_url, api_key=self.api_key, timeout=120 # type: ignore ).observability - def set_span_attribute(self, **kwargs: Dict[str, Any]): + def set_span_attribute( + self, parent_key: Optional[str] = None, **kwargs: Dict[str, Any] + ): span = self.span_dict[self.active_span] # type: ignore - for k, v in kwargs.items(): - span.set_attribute(k, v) + for key, value in kwargs.items(): + span.set_attribute(key, value, parent_key) def set_trace_tags(self, tags: List[str]): self.tags.extend(tags) @@ -192,21 +200,22 @@ def trace( self, trace_name: Optional[str], inputs: Dict[str, Any], - variant_config: Dict[str, Any], - **kwargs, + config: Dict[str, Any], + **kwargs: Dict[str, Any], ): """Creates a new trace. Args: trace_name (Optional[str]): The identifier for the trace. app_id (str): The ID of the app. - base_id (str): The ID of the base. - config_name (str): The name of the config. + config (Dict): The configuration of the app. + **kwargs (Dict): Additional information. """ trace_id = self._create_trace_id() try: self.llm_logger.info("Starting tracing...") + print("Config: ", config) self.tasks_manager.add_task( self.client.create_trace( id=trace_id, @@ -215,7 +224,7 @@ def trace( trace_name=trace_name, # type: ignore start_time=datetime.now(), inputs=inputs, - variant_config=variant_config, + config=config, environment=kwargs.get("environment"), # type: ignore status="INITIATED", tags=self.tags, @@ -233,9 +242,10 @@ def end_trace(self, outputs: List[str], **kwargs: Dict[str, Any]): trace_id=self.active_trace, # type: ignore status="COMPLETED", end_time=datetime.now(), + cost=kwargs.get("cost"), # type: ignore token_consumption=kwargs["usage"].get( "total_tokens" - ), # typ: ignore + ), # type: ignore outputs=outputs, ) ) diff --git a/examples/baby_name_generator/app_async.py b/examples/baby_name_generator/app_async.py index 6ca4497d44..eb89dade09 100644 --- a/examples/baby_name_generator/app_async.py +++ b/examples/baby_name_generator/app_async.py @@ -21,7 +21,9 @@ async def llm_call(prompt): chat_completion = await client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] ) - tracing.set_span_attribute(model="gpt-3.5-turbo") + tracing.set_span_attribute( + "model", name="gpt-3.5-turbo" + ) # translate to {"model": {"name": "gpt-3.5-turbo"}} return { "message": chat_completion.choices[0].message.content, "usage": chat_completion.usage.dict(), From 33f9c305e89e8a3f261f64ec6fac1aa98696b765 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 25 Mar 2024 13:51:14 +0100 Subject: [PATCH 271/539] Minor refactor - update trace/span detail response --- .../models/api/observability_models.py | 1 + .../services/event_db_manager.py | 3 +- .../baby_name_generator/app_async_trace.py | 55 ------------------- 3 files changed, 3 insertions(+), 56 deletions(-) delete mode 100644 examples/baby_name_generator/app_async_trace.py diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index e20eeab0c4..fa680c8fbe 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -94,6 +94,7 @@ class LLMModelParams(BaseModel): class SpanDetail(Span): content: LLMContent + config: Optional[Dict[str, Any]] class Trace(Span): diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 12b69f6686..908adeb843 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -226,6 +226,7 @@ async def fetch_generation_span_detail(span_id: str) -> SpanDetail: ], "output": span_db.output, }, + "config": span_db.config, }, ) @@ -381,7 +382,7 @@ async def fetch_trace_detail(trace_id: str) -> TraceDetail: "usage": {"total_tokens": trace_db.token_consumption}, }, "user_id": "", - "variant_config": trace_db.variant_config, + "config": trace_db.config, }, ) diff --git a/examples/baby_name_generator/app_async_trace.py b/examples/baby_name_generator/app_async_trace.py deleted file mode 100644 index 6b1d24fa67..0000000000 --- a/examples/baby_name_generator/app_async_trace.py +++ /dev/null @@ -1,55 +0,0 @@ -import agenta as ag -from agenta import FloatParam, TextParam -from openai import AsyncOpenAI - -client = AsyncOpenAI() - -default_prompt = ( - "Give me 10 names for a baby from this country {country} with gender {gender}!!!!" -) - -ag.init() -ag.config.default( - temperature=FloatParam(0.2), prompt_template=TextParam(default_prompt) -) - - -@ag.entrypoint -async def generate(country: str, gender: str): - """ - Generate a baby name based on the given country and gender. - - Args: - country (str): The country to generate the name from. - gender (str): The gender of the baby. - - Returns: - str: The generated baby name. - """ - prompt = ag.config.prompt_template.format(country=country, gender=gender) - - chat_completion = await client.chat.completions.create( - model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] - ) - token_usage = chat_completion.usage.dict() - prompt_output = chat_completion.choices[0].message.content - prompt_cost = ag.calculate_token_usage("gpt-3.5-turbo", token_usage) - - #! NOTE: the use of ag.trace explicitly has become redundant due to the - #! fact that tracing has been integrated into the sdk. Check app_async.py for llm - #! example without the explicit trace use - await ag.trace( - **{ - **token_usage, - "meta": token_usage, - "inputs": ["country", "gender"], - "outputs": [prompt_output], - "prompt_template": ag.config.prompt_template, - "cost": prompt_cost, - }, - ) - return { - "message": prompt_output, - **{"usage": token_usage}, - "cost": prompt_cost, - } From f33a84f6fc934e4e4f24dae391caefba39f36b75 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 25 Mar 2024 14:08:58 +0100 Subject: [PATCH 272/539] Minor refactor - remove print statement in trace method --- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 1 - 1 file changed, 1 deletion(-) diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index c5bc6237e2..e529836f71 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -215,7 +215,6 @@ def trace( trace_id = self._create_trace_id() try: self.llm_logger.info("Starting tracing...") - print("Config: ", config) self.tasks_manager.add_task( self.client.create_trace( id=trace_id, From a409093a331bcfe46eb667422cc831faf7368752 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 25 Mar 2024 15:46:10 +0100 Subject: [PATCH 273/539] Refactor - modified obs sdk and backend logic --- .../models/api/observability_models.py | 2 +- .../agenta_backend/models/db_models.py | 1 - .../services/event_db_manager.py | 2 +- agenta-cli/agenta/docker/docker_utils.py | 2 +- agenta-cli/agenta/sdk/agenta_decorator.py | 50 ++++++++++++------- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 17 ++++--- examples/baby_name_generator/app_async.py | 9 ++-- 7 files changed, 48 insertions(+), 35 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index fa680c8fbe..345ecc26e5 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -103,7 +103,7 @@ class Trace(Span): class TraceDetail(Trace): content: Dict[str, Any] - variant_config: Dict[str, Any] + config: Dict[str, Any] class ObservabilityData(BaseModel): diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 56916ebd5f..8137dbef13 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -356,7 +356,6 @@ class SpanDB(Document): user: Optional[str] environment: Optional[str] # request source -> playground, development, etc start_time: datetime - config: Optional[Dict[str, Any]] end_time: datetime = Field(default=datetime.now()) tokens: Optional[LLMTokens] cost: Optional[float] diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 908adeb843..52ccd6230f 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -226,7 +226,7 @@ async def fetch_generation_span_detail(span_id: str) -> SpanDetail: ], "output": span_db.output, }, - "config": span_db.config, + "config": span_db.meta.get("model_config"), }, ) diff --git a/agenta-cli/agenta/docker/docker_utils.py b/agenta-cli/agenta/docker/docker_utils.py index b885e38e22..69d3ffb11e 100644 --- a/agenta-cli/agenta/docker/docker_utils.py +++ b/agenta-cli/agenta/docker/docker_utils.py @@ -12,7 +12,7 @@ logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) -DEBUG = False +DEBUG = True def create_dockerfile(out_folder: Path): diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index d13ed17897..7dd42f0125 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -9,10 +9,10 @@ import functools from pathlib import Path from tempfile import NamedTemporaryFile -from typing import Any, Callable, Dict, Optional, Tuple, List, Union +from typing import Any, Callable, Dict, Optional, Tuple, List -from fastapi import Body, FastAPI, UploadFile from fastapi.responses import JSONResponse +from fastapi import Body, FastAPI, UploadFile from fastapi.middleware.cors import CORSMiddleware import agenta @@ -84,18 +84,25 @@ async def wrapper(*args, **kwargs) -> Any: trace_name=func.__name__, inputs=func_params, config=api_config_params, + **{"environment": "playground"}, # type: ignore ) ingest_files(func_params, ingestible_files) agenta.config.set(**api_config_params) - result = await execute_function( + llm_result = await execute_function( func, *args, **{"params": func_params, "config_params": config_params} ) # End tracing - if isinstance(result, JSONResponse): - result = {"message": str(result), "usage": None, "cost": None} - tracing.end_trace(outputs=[result["message"]], usage=result["usage"], cost=result["cost"]) # type: ignore - return result + if isinstance(llm_result, JSONResponse): + result = {"message": str(llm_result), "total_tokens": 0, "cost": 0} + else: + result = { + "message": llm_result.message, + "total_tokens": llm_result.usage.total_tokens, + "cost": llm_result.cost, + } + tracing.end_trace(outputs=[result["message"]], total_tokens=result["total_tokens"], cost=result["cost"]) # type: ignore + return llm_result @functools.wraps(func) async def wrapper_deployed(*args, **kwargs) -> Any: @@ -118,7 +125,7 @@ async def wrapper_deployed(*args, **kwargs) -> Any: config=config, **{"environment": kwargs["environment"]}, ) - result = await execute_function( + llm_result = await execute_function( func, *args, **{ @@ -128,10 +135,18 @@ async def wrapper_deployed(*args, **kwargs) -> Any: ) # End tracing - if isinstance(result, JSONResponse): - result = {"message": str(result), "usage": None} - tracing.end_trace(outputs=[result["message"]], **kwargs) # type: ignore - return result + if isinstance(llm_result, JSONResponse): + result = {"message": str(llm_result), "total_tokens": 0, "cost": 0} + else: + result = { + "message": llm_result.message, + "total_tokens": ( + llm_result.usage.total_tokens if llm_result.usage else None + ), + "cost": llm_result.cost, + } + tracing.end_trace(outputs=[result["message"]], total_tokens=result["total_tokens"], cost=result["cost"]) # type: ignore + return llm_result update_function_signature(wrapper, func_signature, config_params, ingestible_files) route = f"/{endpoint_name}" @@ -193,9 +208,7 @@ def ingest_files( func_params[name] = ingest_file(func_params[name]) -async def execute_function( - func: Callable[..., Any], *args, **func_params -) -> Union[Dict[str, Any], JSONResponse]: +async def execute_function(func: Callable[..., Any], *args, **func_params): """Execute the function and handle any exceptions.""" try: @@ -210,18 +223,19 @@ async def execute_function( result = await func(*args, **func_params["params"]) else: result = func(*args, **func_params["params"]) + end_time = time.perf_counter() latency = end_time - start_time if isinstance(result, Context): save_context(result) if isinstance(result, Dict): - return FuncResponse(**result, latency=round(latency, 4)).dict() + return FuncResponse(**result, latency=round(latency, 4)) if isinstance(result, str): - return FuncResponse(message=result, latency=round(latency, 4)).dict() # type: ignore + return FuncResponse(message=result, latency=round(latency, 4)) # type: ignore except Exception as e: return handle_exception(e) - return FuncResponse(message="Unexpected error occurred", latency=round(latency, 4)).dict() # type: ignore + return FuncResponse(message="Unexpected error occurred", latency=0) # type: ignore def handle_exception(e: Exception) -> JSONResponse: diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index e529836f71..927298f9df 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -130,10 +130,10 @@ def client(self) -> AsyncObservabilityClient: ).observability def set_span_attribute( - self, parent_key: Optional[str] = None, **kwargs: Dict[str, Any] + self, parent_key: Optional[str] = None, attributes: Dict[str, Any] = {} ): span = self.span_dict[self.active_span] # type: ignore - for key, value in kwargs.items(): + for key, value in attributes.items(): span.set_attribute(key, value, parent_key) def set_trace_tags(self, tags: List[str]): @@ -234,17 +234,20 @@ def trace( except Exception as exc: self.llm_logger.error(f"Error creating trace: {str(exc)}") - def end_trace(self, outputs: List[str], **kwargs: Dict[str, Any]): + def end_trace( + self, + outputs: List[str], + cost: Optional[float] = None, + total_tokens: Optional[int] = None, + ): try: self.tasks_manager.add_task( self.client.update_trace( trace_id=self.active_trace, # type: ignore status="COMPLETED", end_time=datetime.now(), - cost=kwargs.get("cost"), # type: ignore - token_consumption=kwargs["usage"].get( - "total_tokens" - ), # type: ignore + cost=cost, + token_consumption=total_tokens, outputs=outputs, ) ) diff --git a/examples/baby_name_generator/app_async.py b/examples/baby_name_generator/app_async.py index eb89dade09..32937d49e8 100644 --- a/examples/baby_name_generator/app_async.py +++ b/examples/baby_name_generator/app_async.py @@ -22,8 +22,8 @@ async def llm_call(prompt): model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] ) tracing.set_span_attribute( - "model", name="gpt-3.5-turbo" - ) # translate to {"model": {"name": "gpt-3.5-turbo"}} + "model_config", {"model": "gpt-3.5-turbo", "temperature": ag.config.temperature} + ) # translate to {"model_config": {"model": "gpt-3.5-turbo", "temperature": 0.2}} return { "message": chat_completion.choices[0].message.content, "usage": chat_completion.usage.dict(), @@ -31,16 +31,13 @@ async def llm_call(prompt): @ag.entrypoint -async def generate(country: str, gender: str) -> str: +async def generate(country: str, gender: str): """ Generate a baby name based on the given country and gender. Args: country (str): The country to generate the name from. gender (str): The gender of the baby. - - Returns: - str: The generated baby name. """ prompt = ag.config.prompt_template.format(country=country, gender=gender) From 574f0a41627ac30eb76398e0e2f7f518bedba7e2 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Mon, 25 Mar 2024 15:50:30 +0100 Subject: [PATCH 274/539] added eval start buttons --- .../pages/apps/[app_id]/testsets/index.tsx | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/agenta-web/src/pages/apps/[app_id]/testsets/index.tsx b/agenta-web/src/pages/apps/[app_id]/testsets/index.tsx index 1174ce6dcf..3faf4680d6 100644 --- a/agenta-web/src/pages/apps/[app_id]/testsets/index.tsx +++ b/agenta-web/src/pages/apps/[app_id]/testsets/index.tsx @@ -1,5 +1,4 @@ -import {Button, Tooltip, Spin, Table} from "antd" - +import {Button, Table, Space} from "antd" import Link from "next/link" import {useRouter} from "next/router" import {ColumnsType} from "antd/es/table" @@ -34,7 +33,9 @@ const useStyles = createUseStyles({ flexWrap: "wrap", }, startLink: { - marginLeft: 10, + display: "flex", + alignItems: "center", + gap: 8, }, }) @@ -115,9 +116,17 @@ export default function Testsets() { )}
- - {testsets.length > 0 && } - + {testsets.length > 0 && ( + + + + + + + + + + )}
{selectedRowKeys.length > 0 && ( From d622b937a2f2e575dc354fceb35ae6187a0badc1 Mon Sep 17 00:00:00 2001 From: Abram Date: Mon, 25 Mar 2024 16:53:12 +0100 Subject: [PATCH 275/539] Minor refactor - added logging for create_span --- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 927298f9df..0bb7f7d178 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -162,6 +162,7 @@ def start_span( ) self.span_dict[span_id] = span self.active_span = span_id # type: ignore + self.llm_logger.info(f"Creating span {span.span_id}...") return span def end_span(self, output: Dict[str, Any], span: Span): @@ -170,6 +171,7 @@ def end_span(self, output: Dict[str, Any], span: Span): try: self.tasks_manager.add_task(self._send_span(span=span)) self.parent_span_id = span.span_id + self.llm_logger.info(f"Created span {span.span_id} successfully.") except Exception as exc: self.llm_logger.error( f"Error creating span of trace {str(span.trace_id)}: {str(exc)}" From 8acfb3ce27904fe62564fbd978329129da3cecac Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Mon, 25 Mar 2024 17:05:43 +0100 Subject: [PATCH 276/539] style --- agenta-backend/agenta_backend/main.py | 14 +++++-------- .../agenta_backend/routers/app_router.py | 21 +++++++------------ .../routers/container_router.py | 8 ++++++- .../agenta_backend/services/app_manager.py | 15 +++++-------- .../services/templates_manager.py | 4 ++-- 5 files changed, 26 insertions(+), 36 deletions(-) diff --git a/agenta-backend/agenta_backend/main.py b/agenta-backend/agenta_backend/main.py index 8ccb20d3bf..c6da10f42a 100644 --- a/agenta-backend/agenta_backend/main.py +++ b/agenta-backend/agenta_backend/main.py @@ -18,7 +18,7 @@ configs_router, health_router, ) -from agenta_backend.utils.common import isEE, isCloudProd, isCloudDev, isOss +from agenta_backend.utils.common import isEE, isCloudProd, isCloudDev, isOss, isCloudEE from agenta_backend.models.db_engine import DBEngine from agenta_backend.open_api import open_api_tags_metadata @@ -83,8 +83,7 @@ async def lifespan(application: FastAPI, cache=True): app.include_router(health_router.router, prefix="/health") app.include_router(user_profile.router, prefix="/profile") app.include_router(app_router.router, prefix="/apps", tags=["Apps"]) -app.include_router(variants_router.router, - prefix="/variants", tags=["Variants"]) +app.include_router(variants_router.router, prefix="/variants", tags=["Variants"]) app.include_router( evaluation_router.router, prefix="/evaluations", tags=["Evaluations"] ) @@ -93,12 +92,9 @@ async def lifespan(application: FastAPI, cache=True): prefix="/human-evaluations", tags=["Human-Evaluations"], ) -app.include_router(evaluators_router.router, - prefix="/evaluators", tags=["Evaluators"]) -app.include_router(testset_router.router, - prefix="/testsets", tags=["Testsets"]) -app.include_router(container_router.router, - prefix="/containers", tags=["Containers"]) +app.include_router(evaluators_router.router, prefix="/evaluators", tags=["Evaluators"]) +app.include_router(testset_router.router, prefix="/testsets", tags=["Testsets"]) +app.include_router(container_router.router, prefix="/containers", tags=["Containers"]) app.include_router( environment_router.router, prefix="/environments", tags=["Environments"] ) diff --git a/agenta-backend/agenta_backend/routers/app_router.py b/agenta-backend/agenta_backend/routers/app_router.py index 9a79673bc3..883fc01a16 100644 --- a/agenta-backend/agenta_backend/routers/app_router.py +++ b/agenta-backend/agenta_backend/routers/app_router.py @@ -106,8 +106,7 @@ async def list_app_variants( object_type="app", permission=Permission.VIEW_APPLICATION, ) - logger.debug( - f"User has Permission to list app variants: {has_permission}") + logger.debug(f"User has Permission to list app variants: {has_permission}") if not has_permission: error_msg = f"You do not have access to perform this action. Please contact your organization admin." return JSONResponse( @@ -174,8 +173,7 @@ async def get_variant_by_env( # Check if the fetched app variant is None and raise exception if it is if app_variant_db is None: - raise HTTPException( - status_code=500, detail="App Variant not found") + raise HTTPException(status_code=500, detail="App Variant not found") return await converters.app_variant_db_to_output(app_variant_db) except ValueError as e: # Handle ValueErrors and return 400 status code @@ -407,8 +405,7 @@ async def remove_app(app_id: str, request: Request): object=app, permission=Permission.DELETE_APPLICATION, ) - logger.debug( - f"User has Permission to delete app: {has_permission}") + logger.debug(f"User has Permission to delete app: {has_permission}") if not has_permission: error_msg = f"You do not have access to perform this action. Please contact your organization admin." return JSONResponse( @@ -419,8 +416,7 @@ async def remove_app(app_id: str, request: Request): await app_manager.remove_app(app) except DockerException as e: detail = f"Docker error while trying to remove the app: {str(e)}" - logger.exception( - f"Docker error while trying to remove the app: {str(e)}") + logger.exception(f"Docker error while trying to remove the app: {str(e)}") raise HTTPException(status_code=500, detail=detail) except Exception as e: detail = f"Unexpected error while trying to remove the app: {str(e)}" @@ -521,8 +517,7 @@ async def create_app_and_variant_from_template( else "Step 3: Retrieve template from db" ) template_db = await db_manager.get_template(payload.template_id) - repo_name = os.environ.get( - "AGENTA_TEMPLATE_REPO", "agentaai/templates_v2") + repo_name = os.environ.get("AGENTA_TEMPLATE_REPO", "agentaai/templates_v2") image_name = f"{repo_name}:{template_db.name}" logger.debug( @@ -620,8 +615,7 @@ async def list_environments( object_type="app", permission=Permission.VIEW_APPLICATION, ) - logger.debug( - f"User has Permission to list environments: {has_permission}") + logger.debug(f"User has Permission to list environments: {has_permission}") if not has_permission: error_msg = f"You do not have access to perform this action. Please contact your organization admin." return JSONResponse( @@ -659,8 +653,7 @@ async def list_app_environment_revisions( object_type="app", permission=Permission.VIEW_APPLICATION, ) - logger.debug( - f"User has Permission to list environments: {has_permission}") + logger.debug(f"User has Permission to list environments: {has_permission}") if not has_permission: error_msg = f"You do not have access to perform this action. Please contact your organization admin." return JSONResponse( diff --git a/agenta-backend/agenta_backend/routers/container_router.py b/agenta-backend/agenta_backend/routers/container_router.py index 35d9a73c24..c7c06da8d3 100644 --- a/agenta-backend/agenta_backend/routers/container_router.py +++ b/agenta-backend/agenta_backend/routers/container_router.py @@ -5,7 +5,13 @@ from fastapi import Request, UploadFile, HTTPException from agenta_backend.services import db_manager -from agenta_backend.utils.common import APIRouter, isCloudEE, isCloudProd, isCloudDev, isEE +from agenta_backend.utils.common import ( + APIRouter, + isCloudEE, + isCloudProd, + isCloudDev, + isEE, +) if isCloudEE(): from agenta_backend.commons.models.db_models import Permission diff --git a/agenta-backend/agenta_backend/services/app_manager.py b/agenta-backend/agenta_backend/services/app_manager.py index acc585ab63..7875bea69c 100644 --- a/agenta-backend/agenta_backend/services/app_manager.py +++ b/agenta-backend/agenta_backend/services/app_manager.py @@ -294,12 +294,10 @@ async def remove_app_related_resources(app_id: str): ) for environment_db in environments: await db_manager.remove_environment(environment_db) - logger.info( - f"Successfully deleted environment {environment_db.name}.") + logger.info(f"Successfully deleted environment {environment_db.name}.") # Delete associated testsets await db_manager.remove_app_testsets(app_id) - logger.info( - f"Successfully deleted test sets associated with app {app_id}.") + logger.info(f"Successfully deleted test sets associated with app {app_id}.") await db_manager.remove_app_by_id(app_id) logger.info(f"Successfully remove app object {app_id}.") @@ -409,8 +407,7 @@ async def add_variant_based_on_image( or variant_name in [None, ""] or docker_id_or_template_uri in [None, ""] ): - raise ValueError( - "App variant, variant name or docker_id/template_uri is None") + raise ValueError("App variant, variant name or docker_id/template_uri is None") if not isCloudEE(): if tags in [None, ""]: @@ -423,8 +420,7 @@ async def add_variant_based_on_image( # Check if app variant already exists logger.debug("Step 2: Checking if app variant already exists") variants = await db_manager.list_app_variants_for_app_id(app_id=str(app.id)) - already_exists = any( - av for av in variants if av.variant_name == variant_name) + already_exists = any(av for av in variants if av.variant_name == variant_name) if already_exists: logger.error("App variant with the same name already exists") raise ValueError("App variant with the same name already exists") @@ -506,6 +502,5 @@ async def add_variant_based_on_image( config=config_db, ) - logger.debug("End: Successfully created db_app_variant: %s", - db_app_variant) + logger.debug("End: Successfully created db_app_variant: %s", db_app_variant) return db_app_variant diff --git a/agenta-backend/agenta_backend/services/templates_manager.py b/agenta-backend/agenta_backend/services/templates_manager.py index 16c8f97d69..940804ff01 100644 --- a/agenta-backend/agenta_backend/services/templates_manager.py +++ b/agenta-backend/agenta_backend/services/templates_manager.py @@ -11,6 +11,7 @@ from agenta_backend.utils import redis_utils from agenta_backend.services import db_manager from agenta_backend.utils.common import isCloud, isOss + if isCloud() or isOss(): from agenta_backend.services import container_manager @@ -66,8 +67,7 @@ async def update_and_sync_templates(cache: bool = True) -> None: image_res = await container_manager.pull_docker_image( repo_name=f"{repo_owner}/{repo_name}", tag=temp["name"] ) - print( - f"Template Image {image_res[0]['id']} pulled from DockerHub.") + print(f"Template Image {image_res[0]['id']} pulled from DockerHub.") # Remove old templates from database await db_manager.remove_old_template_from_db(templates_ids_not_to_remove) From bd6ae0beaab208e9762895166921510f45adf93a Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Mon, 25 Mar 2024 17:32:45 +0100 Subject: [PATCH 277/539] oo --- agenta-cli/agenta/sdk/agenta_decorator.py | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index e6f469819b..b87e9abbee 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -5,6 +5,7 @@ import time import inspect import argparse +import asyncio import traceback import functools from pathlib import Path @@ -94,7 +95,9 @@ async def wrapper(*args, **kwargs) -> Any: # End tracing if isinstance(result, JSONResponse): result = {"message": str(result), "usage": None} - tracing.end_trace(outputs=[result["message"]], usage=result["usage"]) # type: ignore + tracing.end_trace( + outputs=[result["message"]], usage=result["usage"] + ) # type: ignore return result @functools.wraps(func) @@ -252,10 +255,14 @@ async def execute_function( if isinstance(result, Dict): return FuncResponse(**result, latency=round(latency, 4)).dict() if isinstance(result, str): - return FuncResponse(message=result, latency=round(latency, 4)).dict() # type: ignore + # type: ignore + return FuncResponse(message=result, latency=round(latency, 4)).dict() except Exception as e: return handle_exception(e) - return FuncResponse(message="Unexpected error occurred", latency=round(latency, 4)).dict() # type: ignore + # type: ignore + return FuncResponse( + message="Unexpected error occurred", latency=round(latency, 4) + ).dict() def handle_exception(e: Exception) -> JSONResponse: @@ -431,6 +438,14 @@ def handle_terminal_run( ) agenta.config.set(**args_config_params) + loop = asyncio.get_event_loop() + result = loop.run_until_complete( + execute_function( + func, **{"params": args_func_params, "config_params": args_config_params} + ) + ) + print(result) + def override_schema(openapi_schema: dict, func_name: str, endpoint: str, params: dict): """ From 1643bf1f0b9c80dd012e7403bc36a92eb5b77e5b Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Mon, 25 Mar 2024 17:45:49 +0100 Subject: [PATCH 278/539] cypress fixture file structure --- agenta-web/cypress/e2e/ab-testing-evaluation.cy.ts | 2 +- agenta-web/cypress/e2e/playground.cy.ts | 2 +- agenta-web/cypress/e2e/single-model-test-evaluation.cy.ts | 2 +- .../fixtures/{ => single-prompt-openai}/human-evaluation.json | 0 .../cypress/fixtures/{ => single-prompt-openai}/playground.json | 0 5 files changed, 3 insertions(+), 3 deletions(-) rename agenta-web/cypress/fixtures/{ => single-prompt-openai}/human-evaluation.json (100%) rename agenta-web/cypress/fixtures/{ => single-prompt-openai}/playground.json (100%) diff --git a/agenta-web/cypress/e2e/ab-testing-evaluation.cy.ts b/agenta-web/cypress/e2e/ab-testing-evaluation.cy.ts index 4c68254280..218b5b15fd 100644 --- a/agenta-web/cypress/e2e/ab-testing-evaluation.cy.ts +++ b/agenta-web/cypress/e2e/ab-testing-evaluation.cy.ts @@ -78,7 +78,7 @@ describe("A/B Testing Evaluation workflow", () => { cy.intercept("POST", "**/app/generate", { statusCode: 200, - fixture: "human-evaluation.json", + fixture: "single-prompt-openai/human-evaluation.json", }).as("generateRequest") cy.wait(1000) diff --git a/agenta-web/cypress/e2e/playground.cy.ts b/agenta-web/cypress/e2e/playground.cy.ts index f967a53aad..871b2d2b66 100644 --- a/agenta-web/cypress/e2e/playground.cy.ts +++ b/agenta-web/cypress/e2e/playground.cy.ts @@ -8,7 +8,7 @@ describe("Playground Prompt Test", function () { cy.get('[data-cy="testview-input-parameters-run-button"]').click() cy.intercept("POST", "**/demo/app/generate", { statusCode: 200, - fixture: "playground.json", + fixture: "single-prompt-openai/playground.json", }) cy.get('[data-cy="testview-input-parameters-result"]').should( "contain.text", diff --git a/agenta-web/cypress/e2e/single-model-test-evaluation.cy.ts b/agenta-web/cypress/e2e/single-model-test-evaluation.cy.ts index a2d3ee093e..bfe6721c7a 100644 --- a/agenta-web/cypress/e2e/single-model-test-evaluation.cy.ts +++ b/agenta-web/cypress/e2e/single-model-test-evaluation.cy.ts @@ -33,7 +33,7 @@ describe("Single Model Test workflow", () => { cy.intercept("POST", "**/app/generate", { statusCode: 200, - fixture: "human-evaluation.json", + fixture: "single-prompt-openai/human-evaluation.json", }).as("generateRequest") cy.wait(1000) diff --git a/agenta-web/cypress/fixtures/human-evaluation.json b/agenta-web/cypress/fixtures/single-prompt-openai/human-evaluation.json similarity index 100% rename from agenta-web/cypress/fixtures/human-evaluation.json rename to agenta-web/cypress/fixtures/single-prompt-openai/human-evaluation.json diff --git a/agenta-web/cypress/fixtures/playground.json b/agenta-web/cypress/fixtures/single-prompt-openai/playground.json similarity index 100% rename from agenta-web/cypress/fixtures/playground.json rename to agenta-web/cypress/fixtures/single-prompt-openai/playground.json From 46f7ad1437789cf1f3e6da241ba4399e939952c3 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Mon, 25 Mar 2024 20:05:20 +0100 Subject: [PATCH 279/539] bf --- agenta-backend/agenta_backend/__init__.py | 2 +- .../agenta_backend/services/user_service.py | 4 +-- .../agenta_backend/tasks/evaluations.py | 32 ++++++++++++------- 3 files changed, 24 insertions(+), 14 deletions(-) diff --git a/agenta-backend/agenta_backend/__init__.py b/agenta-backend/agenta_backend/__init__.py index 6ae4ebe022..ff650b4015 100644 --- a/agenta-backend/agenta_backend/__init__.py +++ b/agenta-backend/agenta_backend/__init__.py @@ -1,6 +1,6 @@ import os -if os.environ["FEATURE_FLAG"] in ["cloud"]: +if os.environ["FEATURE_FLAG"] in ["cloud", "cloud-dev"]: import agenta_backend.cloud.__init__ if os.environ["FEATURE_FLAG"] in ["ee"]: import agenta_backend.ee.__init__ diff --git a/agenta-backend/agenta_backend/services/user_service.py b/agenta-backend/agenta_backend/services/user_service.py index bf452b316c..da33b28fcb 100644 --- a/agenta-backend/agenta_backend/services/user_service.py +++ b/agenta-backend/agenta_backend/services/user_service.py @@ -1,6 +1,6 @@ import os - -if os.environ["FEATURE_FLAG"] in ["cloud"]: +from agenta_backend.utils.common import isCloud +if isCloud(): from agenta_backend.commons.models.db_models import UserDB_ as UserDB else: from agenta_backend.models.db_models import UserDB diff --git a/agenta-backend/agenta_backend/tasks/evaluations.py b/agenta-backend/agenta_backend/tasks/evaluations.py index 54069c5527..eb9b3ea118 100644 --- a/agenta-backend/agenta_backend/tasks/evaluations.py +++ b/agenta-backend/agenta_backend/tasks/evaluations.py @@ -44,7 +44,7 @@ check_if_evaluation_contains_failed_evaluation_scenarios, ) -if os.environ["FEATURE_FLAG"] in ["cloud", "ee"]: +if isCloudEE(): from agenta_backend.commons.models.db_models import AppDB_ as AppDB else: from agenta_backend.models.db_models import AppDB @@ -95,7 +95,8 @@ def evaluate( # 1. Fetch data from the database loop.run_until_complete(DBEngine().init_db()) app = loop.run_until_complete(fetch_app_by_id(app_id)) - app_variant_db = loop.run_until_complete(fetch_app_variant_by_id(variant_id)) + app_variant_db = loop.run_until_complete( + fetch_app_variant_by_id(variant_id)) assert ( app_variant_db is not None ), f"App variant with id {variant_id} not found!" @@ -142,7 +143,8 @@ def evaluate( for data_point, app_output in zip(testset_db.csvdata, app_outputs): # 1. We prepare the inputs logger.debug(f"Preparing inputs for data point: {data_point}") - list_inputs = get_app_inputs(app_variant_parameters, openapi_parameters) + list_inputs = get_app_inputs( + app_variant_parameters, openapi_parameters) logger.debug(f"List of inputs: {list_inputs}") inputs = [ @@ -216,7 +218,8 @@ def evaluate( # 3. We evaluate evaluators_results: [EvaluationScenarioResult] = [] for evaluator_config_db in evaluator_config_dbs: - logger.debug(f"Evaluating with evaluator: {evaluator_config_db}") + logger.debug( + f"Evaluating with evaluator: {evaluator_config_db}") if correct_answer_column in data_point: result = evaluators_service.evaluate( evaluator_key=evaluator_config_db.evaluator_key, @@ -267,7 +270,8 @@ def evaluate( correct_answer=correct_answer, outputs=[ EvaluationScenarioOutputDB( - result=Result(type="text", value=app_output.result.value) + result=Result( + type="text", value=app_output.result.value) ) ], results=evaluators_results, @@ -286,7 +290,8 @@ def evaluate( "status": Result( type="status", value="EVALUATION_FAILED", - error=Error(message="Evaluation Failed", stacktrace=str(e)), + error=Error(message="Evaluation Failed", + stacktrace=str(e)), ) }, ) @@ -304,7 +309,8 @@ def evaluate( ) failed_evaluation_scenarios = loop.run_until_complete( - check_if_evaluation_contains_failed_evaluation_scenarios(new_evaluation_db.id) + check_if_evaluation_contains_failed_evaluation_scenarios( + new_evaluation_db.id) ) evaluation_status = Result( @@ -320,7 +326,8 @@ def evaluate( loop.run_until_complete( update_evaluation( - evaluation_id=new_evaluation_db.id, updates={"status": evaluation_status} + evaluation_id=new_evaluation_db.id, updates={ + "status": evaluation_status} ) ) @@ -353,7 +360,8 @@ async def aggregate_evaluator_results( result = aggregation_service.aggregate_float(results) else: - raise Exception(f"Evaluator {evaluator_key} aggregation does not exist") + raise Exception( + f"Evaluator {evaluator_key} aggregation does not exist") evaluator_config = await fetch_evaluator_config(config_id) aggregated_result = AggregatedResult( @@ -379,12 +387,14 @@ def get_app_inputs(app_variant_parameters, openapi_parameters) -> List[Dict[str, for param in openapi_parameters: if param["type"] == "input": list_inputs.append({"name": param["name"], "type": "input"}) - elif param["type"] == "dict": # in case of dynamic inputs (as in our templates) + # in case of dynamic inputs (as in our templates) + elif param["type"] == "dict": # let's get the list of the dynamic inputs if ( param["name"] in app_variant_parameters ): # in case we have modified in the playground the default list of inputs (e.g. country_name) - input_names = [_["name"] for _ in app_variant_parameters[param["name"]]] + input_names = [_["name"] + for _ in app_variant_parameters[param["name"]]] else: # otherwise we use the default from the openapi input_names = param["default"] for input_name in input_names: From 78db3c3d03bcfa823499d08bb13cd74386423c2f Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Mon, 25 Mar 2024 20:13:01 +0100 Subject: [PATCH 280/539] format --- .../agenta_backend/services/user_service.py | 1 + .../agenta_backend/tasks/evaluations.py | 27 +++++++------------ 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/agenta-backend/agenta_backend/services/user_service.py b/agenta-backend/agenta_backend/services/user_service.py index da33b28fcb..be7714c802 100644 --- a/agenta-backend/agenta_backend/services/user_service.py +++ b/agenta-backend/agenta_backend/services/user_service.py @@ -1,5 +1,6 @@ import os from agenta_backend.utils.common import isCloud + if isCloud(): from agenta_backend.commons.models.db_models import UserDB_ as UserDB else: diff --git a/agenta-backend/agenta_backend/tasks/evaluations.py b/agenta-backend/agenta_backend/tasks/evaluations.py index eb9b3ea118..38a5a5d03f 100644 --- a/agenta-backend/agenta_backend/tasks/evaluations.py +++ b/agenta-backend/agenta_backend/tasks/evaluations.py @@ -95,8 +95,7 @@ def evaluate( # 1. Fetch data from the database loop.run_until_complete(DBEngine().init_db()) app = loop.run_until_complete(fetch_app_by_id(app_id)) - app_variant_db = loop.run_until_complete( - fetch_app_variant_by_id(variant_id)) + app_variant_db = loop.run_until_complete(fetch_app_variant_by_id(variant_id)) assert ( app_variant_db is not None ), f"App variant with id {variant_id} not found!" @@ -143,8 +142,7 @@ def evaluate( for data_point, app_output in zip(testset_db.csvdata, app_outputs): # 1. We prepare the inputs logger.debug(f"Preparing inputs for data point: {data_point}") - list_inputs = get_app_inputs( - app_variant_parameters, openapi_parameters) + list_inputs = get_app_inputs(app_variant_parameters, openapi_parameters) logger.debug(f"List of inputs: {list_inputs}") inputs = [ @@ -218,8 +216,7 @@ def evaluate( # 3. We evaluate evaluators_results: [EvaluationScenarioResult] = [] for evaluator_config_db in evaluator_config_dbs: - logger.debug( - f"Evaluating with evaluator: {evaluator_config_db}") + logger.debug(f"Evaluating with evaluator: {evaluator_config_db}") if correct_answer_column in data_point: result = evaluators_service.evaluate( evaluator_key=evaluator_config_db.evaluator_key, @@ -270,8 +267,7 @@ def evaluate( correct_answer=correct_answer, outputs=[ EvaluationScenarioOutputDB( - result=Result( - type="text", value=app_output.result.value) + result=Result(type="text", value=app_output.result.value) ) ], results=evaluators_results, @@ -290,8 +286,7 @@ def evaluate( "status": Result( type="status", value="EVALUATION_FAILED", - error=Error(message="Evaluation Failed", - stacktrace=str(e)), + error=Error(message="Evaluation Failed", stacktrace=str(e)), ) }, ) @@ -309,8 +304,7 @@ def evaluate( ) failed_evaluation_scenarios = loop.run_until_complete( - check_if_evaluation_contains_failed_evaluation_scenarios( - new_evaluation_db.id) + check_if_evaluation_contains_failed_evaluation_scenarios(new_evaluation_db.id) ) evaluation_status = Result( @@ -326,8 +320,7 @@ def evaluate( loop.run_until_complete( update_evaluation( - evaluation_id=new_evaluation_db.id, updates={ - "status": evaluation_status} + evaluation_id=new_evaluation_db.id, updates={"status": evaluation_status} ) ) @@ -360,8 +353,7 @@ async def aggregate_evaluator_results( result = aggregation_service.aggregate_float(results) else: - raise Exception( - f"Evaluator {evaluator_key} aggregation does not exist") + raise Exception(f"Evaluator {evaluator_key} aggregation does not exist") evaluator_config = await fetch_evaluator_config(config_id) aggregated_result = AggregatedResult( @@ -393,8 +385,7 @@ def get_app_inputs(app_variant_parameters, openapi_parameters) -> List[Dict[str, if ( param["name"] in app_variant_parameters ): # in case we have modified in the playground the default list of inputs (e.g. country_name) - input_names = [_["name"] - for _ in app_variant_parameters[param["name"]]] + input_names = [_["name"] for _ in app_variant_parameters[param["name"]]] else: # otherwise we use the default from the openapi input_names = param["default"] for input_name in input_names: From 6e79904ac8b05fc2f7714a2e60b72760b4d39995 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 26 Mar 2024 07:50:46 +0100 Subject: [PATCH 281/539] Minor refactor - remove latency divide by 1000 --- agenta-web/src/lib/helpers/formatters.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/lib/helpers/formatters.ts b/agenta-web/src/lib/helpers/formatters.ts index 34caa04736..b0fdfb9659 100644 --- a/agenta-web/src/lib/helpers/formatters.ts +++ b/agenta-web/src/lib/helpers/formatters.ts @@ -17,5 +17,5 @@ export const formatCurrency = (value = 0) => { } export const formatLatency = (value = 0) => { - return `${intlNumber.format(value / 1000)}s` + return `${intlNumber}s` } From 40be464500e05ac7123903b10246e8ae292a5603 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 26 Mar 2024 09:14:47 +0100 Subject: [PATCH 282/539] Minor refactor - fix formatLatency formatter --- agenta-web/src/lib/helpers/formatters.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/lib/helpers/formatters.ts b/agenta-web/src/lib/helpers/formatters.ts index b0fdfb9659..3026288836 100644 --- a/agenta-web/src/lib/helpers/formatters.ts +++ b/agenta-web/src/lib/helpers/formatters.ts @@ -17,5 +17,5 @@ export const formatCurrency = (value = 0) => { } export const formatLatency = (value = 0) => { - return `${intlNumber}s` + return `${intlNumber.format(value)}s` } From c5b4b38e9fb8643869444206c09f801a66875400 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 26 Mar 2024 09:24:16 +0100 Subject: [PATCH 283/539] Refactor - revert back to previous state --- agenta-web/src/lib/helpers/formatters.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/lib/helpers/formatters.ts b/agenta-web/src/lib/helpers/formatters.ts index 3026288836..34caa04736 100644 --- a/agenta-web/src/lib/helpers/formatters.ts +++ b/agenta-web/src/lib/helpers/formatters.ts @@ -17,5 +17,5 @@ export const formatCurrency = (value = 0) => { } export const formatLatency = (value = 0) => { - return `${intlNumber.format(value)}s` + return `${intlNumber.format(value / 1000)}s` } From 97760d8ba9a90fd34e04864887b469806d302c21 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Wed, 27 Mar 2024 05:12:18 +0100 Subject: [PATCH 284/539] removed commons related types and apis in oss --- .../Playground/Views/ParametersView.tsx | 2 +- .../components/Playground/Views/TestView.tsx | 10 +---- agenta-web/src/lib/Types.ts | 40 ------------------ agenta-web/src/lib/hooks/useVariant.ts | 5 +-- agenta-web/src/lib/services/api.ts | 41 ------------------- 5 files changed, 4 insertions(+), 94 deletions(-) diff --git a/agenta-web/src/components/Playground/Views/ParametersView.tsx b/agenta-web/src/components/Playground/Views/ParametersView.tsx index ee77c85ac2..397dbeeaf7 100644 --- a/agenta-web/src/components/Playground/Views/ParametersView.tsx +++ b/agenta-web/src/components/Playground/Views/ParametersView.tsx @@ -1,7 +1,7 @@ import {Environment, IPromptRevisions, Parameter, Variant} from "@/lib/Types" import type {CollapseProps} from "antd" import {Button, Col, Collapse, Row, Space, Tooltip, message} from "antd" -import React, {useContext, useEffect, useState} from "react" +import React, {useEffect, useState} from "react" import {createUseStyles} from "react-jss" import {ModelParameters, ObjectParameters, StringParameters} from "./ParametersCards" import PublishVariantModal from "./PublishVariantModal" diff --git a/agenta-web/src/components/Playground/Views/TestView.tsx b/agenta-web/src/components/Playground/Views/TestView.tsx index dc3e13e5bd..0667fbedde 100644 --- a/agenta-web/src/components/Playground/Views/TestView.tsx +++ b/agenta-web/src/components/Playground/Views/TestView.tsx @@ -2,14 +2,7 @@ import React, {useContext, useEffect, useRef, useState} from "react" import {Button, Input, Card, Row, Col, Space, Form, Modal} from "antd" import {CaretRightOutlined, CloseCircleOutlined, PlusOutlined} from "@ant-design/icons" import {callVariant, promptRevision} from "@/lib/services/api" -import { - ChatMessage, - ChatRole, - GenericObject, - IPromptVersioning, - Parameter, - Variant, -} from "@/lib/Types" +import {ChatMessage, ChatRole, GenericObject, Parameter, Variant} from "@/lib/Types" import {batchExecute, randString, removeKeys} from "@/lib/helpers/utils" import LoadTestsModal from "../LoadTestsModal" import AddToTestSetDrawer from "../AddToTestSetDrawer/AddToTestSetDrawer" @@ -29,7 +22,6 @@ import dayjs from "dayjs" import relativeTime from "dayjs/plugin/relativeTime" import duration from "dayjs/plugin/duration" import {useQueryParam} from "@/hooks/useQuery" -import {dynamicComponent} from "@/lib/helpers/dynamic" dayjs.extend(relativeTime) dayjs.extend(duration) diff --git a/agenta-web/src/lib/Types.ts b/agenta-web/src/lib/Types.ts index ec0ad81a24..d2f379e474 100644 --- a/agenta-web/src/lib/Types.ts +++ b/agenta-web/src/lib/Types.ts @@ -169,12 +169,6 @@ export interface Parameter { maximum?: number } -export interface DeploymentRevisionConfig { - config_name: string - current_version: number - parameters: Record -} - export interface IPromptRevisions { config: { config_name: string @@ -185,29 +179,6 @@ export interface IPromptRevisions { revision: number } -export interface IEnvironmentRevision { - revision: number - modified_by: string - created_at: string -} - -export interface IPromptVersioning { - app_id: string - app_name: string - base_id: string - base_name: string - config_name: string - organization_id: string - parameters: Record - previous_variant_name: string | null - revision: number - revisions: [IPromptRevisions] - uri: string - user_id: string - variant_id: string - variant_name: string -} - export interface EvaluationResponseType { id: string variant_ids: string[] @@ -312,17 +283,6 @@ export interface Environment { revision: string | null } -export interface DeploymentRevisions extends Environment { - revisions: { - created_at: string - deployed_app_variant_revision: string - deployment: string - id: string - modified_by: string - revision: number - }[] -} - export interface CustomEvaluation { id: string app_name: string diff --git a/agenta-web/src/lib/hooks/useVariant.ts b/agenta-web/src/lib/hooks/useVariant.ts index 62dd5d0c7b..b05e4f164f 100644 --- a/agenta-web/src/lib/hooks/useVariant.ts +++ b/agenta-web/src/lib/hooks/useVariant.ts @@ -1,8 +1,7 @@ import {useState, useEffect} from "react" -import {promptVersioning, saveNewVariant, updateVariantParams} from "@/lib/services/api" -import {Variant, Parameter, IPromptRevisions} from "@/lib/Types" +import {saveNewVariant, updateVariantParams} from "@/lib/services/api" +import {Variant, Parameter} from "@/lib/Types" import {getAllVariantParameters, updateInputParams} from "@/lib/helpers/variantHelper" -import {isDemo} from "../helpers/utils" import {PERMISSION_ERR_MSG} from "../helpers/axiosConfig" /** diff --git a/agenta-web/src/lib/services/api.ts b/agenta-web/src/lib/services/api.ts index 343053d0a6..fe4dbde63b 100644 --- a/agenta-web/src/lib/services/api.ts +++ b/agenta-web/src/lib/services/api.ts @@ -12,7 +12,6 @@ import { AppTemplate, GenericObject, Environment, - DeploymentRevisionConfig, CreateCustomEvaluation, ExecuteCustomEvalCode, AICritiqueCreate, @@ -671,46 +670,6 @@ export const fetchEnvironments = async (appId: string): Promise = return data } -export const fetchDeploymentRevisionConfig = async ( - deploymentRevisionId: string, -): Promise => { - const response = await fetch( - `${getAgentaApiUrl()}/api/configs/deployment/${deploymentRevisionId}/`, - ) - - if (response.status !== 200) { - throw new Error("Failed to fetch deployment revision configuration") - } - - const data = (await response.json()) as DeploymentRevisionConfig - return data -} - -export const fetchDeploymentRevisions = async ( - appId: string, - environmentName: string, - ignoreAxiosError: boolean = false, -) => { - const {data} = await axios.get( - `${getAgentaApiUrl()}/api/apps/${appId}/revisions/${environmentName}/`, - { - _ignoreError: ignoreAxiosError, - } as any, - ) - return data -} - -export const revertDeploymentRevision = async ( - deploymentRevisionId: string, - ignoreAxiosError: boolean = false, -) => { - const response = await axios.post( - `${getAgentaApiUrl()}/api/configs/deployment/${deploymentRevisionId}/revert/`, - {_ignoreError: ignoreAxiosError} as any, - ) - return response -} - export const publishVariant = async (variantId: string, environmentName: string) => { await axios.post(`${getAgentaApiUrl()}/api/environments/deploy/`, { environment_name: environmentName, From d2bb15cac60672e5143990f21b8c098ba3986ef0 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Wed, 27 Mar 2024 12:27:18 +0100 Subject: [PATCH 285/539] improve conditional to add to testset if the columns in playground and testset match --- .../Playground/AddToTestSetDrawer/AddToTestSetDrawer.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/components/Playground/AddToTestSetDrawer/AddToTestSetDrawer.tsx b/agenta-web/src/components/Playground/AddToTestSetDrawer/AddToTestSetDrawer.tsx index 1b75618ad1..8df1d3f7d9 100644 --- a/agenta-web/src/components/Playground/AddToTestSetDrawer/AddToTestSetDrawer.tsx +++ b/agenta-web/src/components/Playground/AddToTestSetDrawer/AddToTestSetDrawer.tsx @@ -190,7 +190,7 @@ const AddToTestSetDrawer: React.FC = ({params, isChatVariant, ...props}) ) // if cols mismatch (playground cols not a superset of testset cols) - if (missingColsTestset.length) { + if (missingColsTestset.length && missingColsPlayground.length) { AlertPopup({ type: "error", title: "Columns mismatch", From 34ff693344e88dc43adef11342b9e72482ceb93d Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 28 Mar 2024 07:33:41 +0100 Subject: [PATCH 286/539] Refactor - update tracing sdk --- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 90 +++++++++---------- .../agenta/sdk/tracing/tasks_manager.py | 64 +++++++++---- examples/baby_name_generator/app_async.py | 6 +- 3 files changed, 92 insertions(+), 68 deletions(-) diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 0bb7f7d178..d92957a78a 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -168,14 +168,11 @@ def start_span( def end_span(self, output: Dict[str, Any], span: Span): span.end(output=output) self.active_span = span.parent_span_id # type: ignore - try: - self.tasks_manager.add_task(self._send_span(span=span)) - self.parent_span_id = span.span_id - self.llm_logger.info(f"Created span {span.span_id} successfully.") - except Exception as exc: - self.llm_logger.error( - f"Error creating span of trace {str(span.trace_id)}: {str(exc)}" - ) + self.tasks_manager.add_task( + span.span_id, "span", self._send_span(span=span), self.client + ) + self.parent_span_id = span.span_id + self.llm_logger.info(f"Created span {span.span_id} successfully.") async def _send_span(self, span: Span): return await self.client.create_span(**span.__dict__()) @@ -215,26 +212,26 @@ def trace( """ trace_id = self._create_trace_id() - try: - self.llm_logger.info("Starting tracing...") - self.tasks_manager.add_task( - self.client.create_trace( - id=trace_id, - app_id=self.app_id, - variant_id=self.variant_id, - trace_name=trace_name, # type: ignore - start_time=datetime.now(), - inputs=inputs, - config=config, - environment=kwargs.get("environment"), # type: ignore - status="INITIATED", - tags=self.tags, - ) - ) - self.active_trace = trace_id # type: ignore - self.llm_logger.info("Trace ended.") - except Exception as exc: - self.llm_logger.error(f"Error creating trace: {str(exc)}") + self.llm_logger.info(f"Starting tracing for trace {trace_id}...") + self.tasks_manager.add_task( + trace_id, + "trace", + self.client.create_trace( + id=trace_id, + app_id=self.app_id, + variant_id=self.variant_id, + trace_name=trace_name, # type: ignore + start_time=datetime.now(), + inputs=inputs, + config=config, + environment=kwargs.get("environment"), # type: ignore + status="INITIATED", + tags=self.tags, + ), + self.client, + ) + self.active_trace = trace_id # type: ignore + self.llm_logger.info(f"Trace {trace_id} ended successfully.") def end_trace( self, @@ -242,24 +239,19 @@ def end_trace( cost: Optional[float] = None, total_tokens: Optional[int] = None, ): - try: - self.tasks_manager.add_task( - self.client.update_trace( - trace_id=self.active_trace, # type: ignore - status="COMPLETED", - end_time=datetime.now(), - cost=cost, - token_consumption=total_tokens, - outputs=outputs, - ) - ) - except Exception as exc: - self.llm_logger.error(f"Error creating trace: {str(exc)}") - self.tasks_manager.add_task( - self.client.update_trace( - trace_id=self.active_trace, # type: ignore - status="FAILED", - end_time=datetime.now(), - outputs=[str(exc)], - ) - ) + if not self.active_trace: + return + + self.tasks_manager.add_task( + self.active_trace, + "trace", + self.client.update_trace( + trace_id=self.active_trace, # type: ignore + status="COMPLETED", + end_time=datetime.now(), + cost=cost, + token_consumption=total_tokens, + outputs=outputs, + ), + self.client, + ) diff --git a/agenta-cli/agenta/sdk/tracing/tasks_manager.py b/agenta-cli/agenta/sdk/tracing/tasks_manager.py index 7887e8af21..0f71085eea 100644 --- a/agenta-cli/agenta/sdk/tracing/tasks_manager.py +++ b/agenta-cli/agenta/sdk/tracing/tasks_manager.py @@ -3,11 +3,13 @@ import asyncio import threading from logging import Logger -from typing import Coroutine, Optional, Union +from datetime import datetime +from typing import Coroutine, Optional, Union, Dict, Any from concurrent.futures import ThreadPoolExecutor, Future # Own Imports from agenta.client.backend.types.error import Error +from agenta.client.backend.client import AsyncObservabilityClient class AsyncTask(object): @@ -17,9 +19,18 @@ class AsyncTask(object): coroutine (Coroutine): asynchronous function """ - def __init__(self, coroutine: Coroutine): + def __init__( + self, + coroutine_id: str, + coroutine_type: str, + coroutine: Coroutine, + client: AsyncObservabilityClient, + ): + self.coroutine_id = coroutine_id + self.coroutine_type = coroutine_type self.coroutine = coroutine self.task: Optional[asyncio.Task] = None + self.client = client async def run(self) -> Union[asyncio.Task, Error]: """Creates an asyncio Task from the coroutine and starts it @@ -63,17 +74,26 @@ def __init__(self, num_workers: int, logger: Logger): self._logger = logger self._thread_pool = ThreadPoolExecutor(max_workers=num_workers) - def add_task(self, coroutine: Coroutine) -> AsyncTask: + def add_task( + self, + coroutine_id: str, + coroutine_type: str, + coroutine: Coroutine, + obs_client: AsyncObservabilityClient, + ) -> AsyncTask: """Adds a new task to be executed. Args: + coroutine_id (str): The Id of the coroutine + coroutine_type (str): The type of coroutine coroutine (Coroutine): async task + obs_client (AsyncObservabilityClient): The async observability client Returns: AsyncTask: task to be executed """ - task = AsyncTask(coroutine) + task = AsyncTask(coroutine_id, coroutine_type, coroutine, obs_client) self.tasks.put(task) return self._worker() @@ -83,25 +103,35 @@ def _worker(self): """ while True: - task = self.tasks.get() + task: AsyncTask = self.tasks.get() # type: ignore try: future = self._thread_pool.submit(asyncio.run, task.run()) - future.add_done_callback(self._handle_task_completion) + future.result() except Exception as exc: self._logger.error(f"Error running task: {str(exc)}") + + self._logger.error(f"Updating {task.coroutine_type} status to FAILED.") + self._handle_error_completion( + client=task.client, type=task.coroutine_type, exc=exc + ) break finally: self.tasks.task_done() break - def _handle_task_completion(self, future: Future): - """Handles task completion or exception raise. - - Args: - future (Future): asynchronous task in progress - """ - - try: - future.result() - except Exception as exc: - self._logger.error(f"Error in completed task: {str(exc)}") + def _handle_error_completion( + self, client: AsyncObservabilityClient, type: str, exc: Exception + ): + if type == None: + return + + if type == "trace": + task = client.update_trace( + trace_id=trace, # type: ignore + status="FAILED", + end_time=datetime.now(), + outputs=[str(exc)], + ) + + future = self._thread_pool.submit(asyncio.run, task) # type: ignore + future.result() diff --git a/examples/baby_name_generator/app_async.py b/examples/baby_name_generator/app_async.py index 32937d49e8..9d796ba38f 100644 --- a/examples/baby_name_generator/app_async.py +++ b/examples/baby_name_generator/app_async.py @@ -24,9 +24,11 @@ async def llm_call(prompt): tracing.set_span_attribute( "model_config", {"model": "gpt-3.5-turbo", "temperature": ag.config.temperature} ) # translate to {"model_config": {"model": "gpt-3.5-turbo", "temperature": 0.2}} + tokens_usage = chat_completion.usage.dict() return { + "cost": ag.calculate_token_usage("gpt-3.5-turbo", tokens_usage), "message": chat_completion.choices[0].message.content, - "usage": chat_completion.usage.dict(), + "usage": tokens_usage, } @@ -45,5 +47,5 @@ async def generate(country: str, gender: str): return { "message": response["message"], "usage": response["usage"], - "cost": ag.calculate_token_usage("gpt-3.5-turbo", response["usage"]), + "cost": response["cost"], } From e04c63bdd3b8617774dbf56a1b94b1beaa4d07ea Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 28 Mar 2024 08:03:01 +0100 Subject: [PATCH 287/539] Update - modified trace/generate detail content --- agenta-backend/agenta_backend/services/event_db_manager.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 52ccd6230f..1e7b48d2c4 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -224,7 +224,7 @@ async def fetch_generation_span_detail(span_id: str) -> SpanDetail: {"input_name": key, "input_value": value} for key, value in span_db.input.items() ], - "output": span_db.output, + "outputs": [span_db.output], }, "config": span_db.meta.get("model_config"), }, @@ -366,7 +366,7 @@ async def fetch_trace_detail(trace_id: str) -> TraceDetail: {"input_name": key, "input_value": value} for key, value in trace_db.inputs.items() ], - "output": trace_db.outputs, + "outputs": trace_db.outputs, }, "created_at": trace_db.created_at.isoformat(), "variant": { From 6b9966a809e0240f608286bb18074eb6803e59c1 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 28 Mar 2024 08:34:28 +0100 Subject: [PATCH 288/539] Minor refactor - update format latency to not divide by 1000 --- agenta-web/src/lib/helpers/formatters.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/lib/helpers/formatters.ts b/agenta-web/src/lib/helpers/formatters.ts index 34caa04736..3026288836 100644 --- a/agenta-web/src/lib/helpers/formatters.ts +++ b/agenta-web/src/lib/helpers/formatters.ts @@ -17,5 +17,5 @@ export const formatCurrency = (value = 0) => { } export const formatLatency = (value = 0) => { - return `${intlNumber.format(value / 1000)}s` + return `${intlNumber.format(value)}s` } From 3dce1c4a977dcffaad1937f07b25f008e4320667 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 28 Mar 2024 08:38:46 +0100 Subject: [PATCH 289/539] Minor refactor - rename llm content ouput to outputs --- .../agenta_backend/models/api/observability_models.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 345ecc26e5..dacf0ce7e4 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -84,7 +84,7 @@ class LLMInputs(BaseModel): class LLMContent(BaseModel): inputs: List[LLMInputs] - output: Optional[str] + outputs: Optional[str] class LLMModelParams(BaseModel): From 4d2933600f92d30ff51ddcf349318a0d152d7f3f Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 28 Mar 2024 08:45:56 +0100 Subject: [PATCH 290/539] Minor refactor - replace content type 'LLMContent' to 'Dict' --- .../agenta_backend/models/api/observability_models.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index dacf0ce7e4..34d5a6da48 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -84,7 +84,7 @@ class LLMInputs(BaseModel): class LLMContent(BaseModel): inputs: List[LLMInputs] - outputs: Optional[str] + output: Optional[str] class LLMModelParams(BaseModel): @@ -93,7 +93,7 @@ class LLMModelParams(BaseModel): class SpanDetail(Span): - content: LLMContent + content: Dict[str, Any] config: Optional[Dict[str, Any]] From 513ecdccbcc9b25217c1a536d418e5858aadc07f Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 09:26:37 +0100 Subject: [PATCH 291/539] add average cost and latency to evaluation schema --- agenta-backend/agenta_backend/models/api/evaluation_model.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/agenta-backend/agenta_backend/models/api/evaluation_model.py b/agenta-backend/agenta_backend/models/api/evaluation_model.py index 33ecc1e134..45f8f76e48 100644 --- a/agenta-backend/agenta_backend/models/api/evaluation_model.py +++ b/agenta-backend/agenta_backend/models/api/evaluation_model.py @@ -71,6 +71,8 @@ class Evaluation(BaseModel): testset_name: Optional[str] status: Result aggregated_results: List[AggregatedResult] + average_cost: Optional[Result] + average_latency: Optional[Result] created_at: datetime updated_at: datetime From f9e826959e8260dfa3ea557ae52c02fb274c3027 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 09:29:10 +0100 Subject: [PATCH 292/539] add cost and latency to all models and related methods --- agenta-backend/agenta_backend/models/converters.py | 2 ++ agenta-backend/agenta_backend/models/db_models.py | 4 ++++ agenta-web/src/lib/Types.ts | 4 ++++ agenta-web/src/services/evaluations/index.ts | 2 ++ 4 files changed, 12 insertions(+) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index a1406ec7e8..ec7c591098 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -145,6 +145,8 @@ async def evaluation_db_to_pydantic( aggregated_results=aggregated_results, created_at=evaluation_db.created_at, updated_at=evaluation_db.updated_at, + average_cost=evaluation_db.average_cost, + average_latency=evaluation_db.average_latency, ) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 9c086f7662..a3579c565f 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -266,6 +266,8 @@ class EvaluationDB(Document): variant_revision: PydanticObjectId evaluators_configs: List[PydanticObjectId] aggregated_results: List[AggregatedResult] + average_cost: Optional[Result] = None + average_latency: Optional[Result] = None created_at: datetime = Field(default=datetime.now()) updated_at: datetime = Field(default=datetime.now()) @@ -284,6 +286,8 @@ class EvaluationScenarioDB(Document): note: Optional[str] evaluators_configs: List[PydanticObjectId] results: List[EvaluationScenarioResult] + latency: Optional[int] = None + cost: Optional[int] = None created_at: datetime = Field(default=datetime.now()) updated_at: datetime = Field(default=datetime.now()) diff --git a/agenta-web/src/lib/Types.ts b/agenta-web/src/lib/Types.ts index ec0ad81a24..7577fbe428 100644 --- a/agenta-web/src/lib/Types.ts +++ b/agenta-web/src/lib/Types.ts @@ -363,6 +363,8 @@ type ValueTypeOptions = | "regex" | "object" | "error" + | "cost" + | "latency" //evaluation revamp types export interface EvaluationSettingsTemplate { @@ -442,6 +444,8 @@ export interface _Evaluation { updated_at?: string duration?: number revisions: string[] + average_latency?: TypedValue & {error: null | EvaluationError} + average_cost?: TypedValue & {error: null | EvaluationError} variant_revision_ids: string[] } diff --git a/agenta-web/src/services/evaluations/index.ts b/agenta-web/src/services/evaluations/index.ts index ae7b3b506a..7a2089544f 100644 --- a/agenta-web/src/services/evaluations/index.ts +++ b/agenta-web/src/services/evaluations/index.ts @@ -104,6 +104,8 @@ const evaluationTransformer = (item: any) => ({ revisions: item.revisions, variant_revision_ids: item.variant_revision_ids, variant_ids: item.variant_ids, + average_cost: item.average_cost, + average_latency: item.average_latency, }) export const fetchAllEvaluations = async (appId: string) => { const response = await axios.get(`/api/evaluations/`, {params: {app_id: appId}}) From 1082d8b939cfa82b2317f1a215422af045a0fcc2 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 11:17:45 +0100 Subject: [PATCH 293/539] add aggregate method for the llm response latency & cost --- .../services/aggregation_service.py | 31 +++++++++++++++++-- .../evaluationResults/EvaluationResults.tsx | 16 ++++++++++ 2 files changed, 45 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/aggregation_service.py b/agenta-backend/agenta_backend/services/aggregation_service.py index d657bdf4de..b5c7cd7e28 100644 --- a/agenta-backend/agenta_backend/services/aggregation_service.py +++ b/agenta-backend/agenta_backend/services/aggregation_service.py @@ -1,8 +1,8 @@ import re import traceback -from typing import List +from typing import List, Optional -from agenta_backend.models.db_models import Result, Error +from agenta_backend.models.db_models import InvokationResult, Result, Error def aggregate_ai_critique(results: List[Result]) -> Result: @@ -73,3 +73,30 @@ def aggregate_float(results: List[Result]) -> Result: value=None, error=Error(message=str(exc), stacktrace=str(traceback.format_exc())), ) + + +def aggregate_float_from_llm_app_response( + invocation_results: List[InvokationResult], key: Optional[str] +) -> Result: + try: + if not key: + raise ValueError("Key is required to aggregate InvokationResult objects.") + + values = [ + inv_result.result.value[key] + for inv_result in invocation_results + if isinstance(inv_result.result.value, dict) + and key in inv_result.result.value + ] + + if not values: + raise ValueError("No valid values found for aggregation.") + + average_value = sum(values) / len(values) + return Result(type=key, value=average_value) + except Exception as exc: + return Result( + type="error", + value=None, + error=Error(message=str(exc), stacktrace=str(traceback.format_exc())), + ) diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index fc9fe3af87..cd7589c521 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -246,6 +246,22 @@ const EvaluationResults: React.FC = () => { statusMapper(token)[params.data?.status.value as EvaluationStatus].label, cellRenderer: StatusRenderer, }, + { + flex: 1, + field: "average_latency", + headerName: "Latency", + minWidth: 120, + ...getFilterParams("number"), + valueGetter: (params) => getTypedValue(params?.data.average_latency) + }, + { + flex: 1, + field: "average_cost", + headerName: "Cost", + minWidth: 120, + ...getFilterParams("number"), + valueGetter: (params) => getTypedValue(params?.data.average_cost), + }, { flex: 1, field: "created_at", From 484f0f5b6b2991e1506071b046189580173560db Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 11:18:11 +0100 Subject: [PATCH 294/539] adjust result from llm response to contain cost and latency --- .../agenta_backend/services/llm_apps_service.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/llm_apps_service.py b/agenta-backend/agenta_backend/services/llm_apps_service.py index d67ca4321e..7e8fd84d73 100644 --- a/agenta-backend/agenta_backend/services/llm_apps_service.py +++ b/agenta-backend/agenta_backend/services/llm_apps_service.py @@ -86,9 +86,17 @@ async def invoke_app( url, json=payload, timeout=httpx.Timeout(timeout=5, read=None, write=5) ) response.raise_for_status() - app_output = response.json() + app_response = response.json() return InvokationResult( - result=Result(type="text", value=app_output["message"], error=None) + result=Result( + type="object", + value={ + "output": app_response["message"], + "latency": app_response["latency"], + "cost": app_response["cost"], + }, + error=None, + ) ) except httpx.HTTPStatusError as e: From 20609b901e5a1dcefba88abbda692c6b8ff888b4 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 11:19:09 +0100 Subject: [PATCH 295/539] add average cost and latency to the evaluation --- .../agenta_backend/tasks/evaluations.py | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/tasks/evaluations.py b/agenta-backend/agenta_backend/tasks/evaluations.py index 50ce322437..32ecc22949 100644 --- a/agenta-backend/agenta_backend/tasks/evaluations.py +++ b/agenta-backend/agenta_backend/tasks/evaluations.py @@ -218,9 +218,14 @@ def evaluate( for evaluator_config_db in evaluator_config_dbs: logger.debug(f"Evaluating with evaluator: {evaluator_config_db}") if correct_answer_column in data_point: + output_value = ( + app_output.result.value["output"] + if isinstance(app_output.result.value, dict) + else app_output.result.value + ) result = evaluators_service.evaluate( evaluator_key=evaluator_config_db.evaluator_key, - output=app_output.result.value, + output=output_value, correct_answer=data_point[correct_answer_column], settings_values=evaluator_config_db.settings_values, app_params=app_variant_parameters, @@ -276,6 +281,20 @@ def evaluate( ) ) + # Add average cost and latency + average_latency = aggregation_service.aggregate_float_from_llm_app_response( + app_outputs, "latency" + ) + average_cost = aggregation_service.aggregate_float_from_llm_app_response( + app_outputs, "cost" + ) + loop.run_until_complete( + update_evaluation( + evaluation_id, + {"average_latency": average_latency, "average_cost": average_cost}, + ) + ) + except Exception as e: logger.error(f"An error occurred during evaluation: {e}") traceback.print_exc() From 43eb33321d3967c5826023061388c662d87c941a Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 11:19:40 +0100 Subject: [PATCH 296/539] cost and latency columns --- .../EvaluationScenarios.tsx | 22 +++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx index 687ae40f10..63ad400fe7 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -23,6 +23,7 @@ import {useAtom} from "jotai" import {evaluatorsAtom} from "@/lib/atoms/evaluation" import CompareOutputDiff from "@/components/CompareOutputDiff/CompareOutputDiff" import {useQueryParam} from "@/hooks/useQuery" +import {formatCost, formatLatency} from "@/lib/helpers/utils" const useStyles = createUseStyles((theme: JSSTheme) => ({ infoRow: { @@ -139,6 +140,27 @@ const EvaluationScenarios: React.FC = () => { }, }) }) + colDefs.push({ + flex: 1, + minWidth: 120, + headerName: "Cost", + field: "cost", + ...getFilterParams("text"), + valueGetter: (params) => { + return formatCost(params.data.outputs[0].result.value.cost); + }, + }); + + colDefs.push({ + flex: 1, + minWidth: 120, + headerName: "Latency", + field: "latency", + ...getFilterParams("text"), + valueGetter: (params) => { + return formatLatency(params.data.outputs[0].result.value.latency); + }, + }); return colDefs }, [evalaution, scenarios, showDiff]) From 55d7c0acadd4a241f9d70b6746818b219e15b563 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 11:20:09 +0100 Subject: [PATCH 297/539] fixes --- .../src/components/CompareOutputDiff/CompareOutputDiff.tsx | 2 +- agenta-web/src/components/Playground/NewVariantModal.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-web/src/components/CompareOutputDiff/CompareOutputDiff.tsx b/agenta-web/src/components/CompareOutputDiff/CompareOutputDiff.tsx index ea983e860a..7f6a1520f9 100644 --- a/agenta-web/src/components/CompareOutputDiff/CompareOutputDiff.tsx +++ b/agenta-web/src/components/CompareOutputDiff/CompareOutputDiff.tsx @@ -9,7 +9,7 @@ interface CompareOutputDiffProps { const CompareOutputDiff = ({variantOutput, expectedOutput}: CompareOutputDiffProps) => { const {appTheme} = useAppTheme() - const results = diffWords(variantOutput, expectedOutput) + const results = diffWords(variantOutput.output, expectedOutput) const display = results.map((part, index) => { if (part.removed) { diff --git a/agenta-web/src/components/Playground/NewVariantModal.tsx b/agenta-web/src/components/Playground/NewVariantModal.tsx index 34b5c0542c..ed8578c85b 100644 --- a/agenta-web/src/components/Playground/NewVariantModal.tsx +++ b/agenta-web/src/components/Playground/NewVariantModal.tsx @@ -35,7 +35,7 @@ const NewVariantModal: React.FC = ({ const [isInputValid, setIsInputValid] = useState(false) const handleTemplateVariantChange = (value: string) => { - let newValue = value.includes(".") ? value.split(".")[0] : value + let newValue = value.includes(".") ? value.output.split(".")[0] : value setTemplateVariantName(value) setVariantPlaceHolder(`${newValue}`) setIsInputValid(newVariantName.trim().length > 0 && value !== "Source Variant") From 6b5eb60a4bbea821530312be6d8e885e82c0acd4 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 11:20:45 +0100 Subject: [PATCH 298/539] improve the getTypedValue with new types --- agenta-web/src/lib/helpers/evaluate.ts | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/agenta-web/src/lib/helpers/evaluate.ts b/agenta-web/src/lib/helpers/evaluate.ts index b904f4799a..5e5f64449c 100644 --- a/agenta-web/src/lib/helpers/evaluate.ts +++ b/agenta-web/src/lib/helpers/evaluate.ts @@ -14,6 +14,7 @@ import AlertPopup from "@/components/AlertPopup/AlertPopup" import {capitalize, round} from "lodash" import dayjs from "dayjs" import {runningStatuses} from "@/components/pages/evaluations/cellRenderers/cellRenderers" +import { formatCost, formatLatency } from "./utils" export const exportExactEvaluationData = (evaluation: Evaluation, rows: GenericObject[]) => { const exportRow = rows.map((data, ix) => { @@ -269,11 +270,19 @@ export function getTypedValue(res?: TypedValue) { if (value === undefined) return "-" - return type === "number" - ? round(Number(value), 2) - : ["boolean", "bool"].includes(type as string) - ? capitalize(value?.toString()) - : value?.toString() + switch (type) { + case "number": + return round(Number(value), 2); + case "boolean": + case "bool": + return capitalize(value?.toString()); + case "cost": + return formatCost(Number(value)); + case "latency": + return formatLatency(Number(value)); + default: + return value?.toString(); + } } type CellDataType = "number" | "text" | "date" From 31882df2b0d65ae4eae01c590be9a4dfc461552a Mon Sep 17 00:00:00 2001 From: MohammedMaaz Date: Mon, 18 Mar 2024 19:31:17 +0500 Subject: [PATCH 299/539] formatters utils | evaluators link fixed --- agenta-web/src/lib/helpers/dateTimeHelper.ts | 4 ++++ agenta-web/src/lib/helpers/formatters.ts | 21 ++++++++++++++++++++ 2 files changed, 25 insertions(+) create mode 100644 agenta-web/src/lib/helpers/formatters.ts diff --git a/agenta-web/src/lib/helpers/dateTimeHelper.ts b/agenta-web/src/lib/helpers/dateTimeHelper.ts index b1ac3cfa5b..434badbbf7 100644 --- a/agenta-web/src/lib/helpers/dateTimeHelper.ts +++ b/agenta-web/src/lib/helpers/dateTimeHelper.ts @@ -3,3 +3,7 @@ import dayjs from "dayjs" export const formatDate = (date: dayjs.ConfigType): string => { return dayjs(date).format("DD MMM YYYY | h:m a") } + +export const formatDate24 = (date: dayjs.ConfigType, includeSeconds = false): string => { + return dayjs(date).format("DD MMM YY, HH:mm" + (includeSeconds ? ":ss" : "")) +} diff --git a/agenta-web/src/lib/helpers/formatters.ts b/agenta-web/src/lib/helpers/formatters.ts new file mode 100644 index 0000000000..34caa04736 --- /dev/null +++ b/agenta-web/src/lib/helpers/formatters.ts @@ -0,0 +1,21 @@ +const intlNumber = new Intl.NumberFormat("en-US", { + maximumFractionDigits: 2, +}) + +const intlCurrency = new Intl.NumberFormat("en-US", { + style: "currency", + currency: "USD", + maximumFractionDigits: 4, +}) + +export const formatNumber = (value = 0) => { + return intlNumber.format(value) +} + +export const formatCurrency = (value = 0) => { + return intlCurrency.format(value) +} + +export const formatLatency = (value = 0) => { + return `${intlNumber.format(value / 1000)}s` +} From 87ed91f4ae438414a049ef255999c924dea748b1 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 11:31:30 +0100 Subject: [PATCH 300/539] use Maaz currency and latency helpers --- .../evaluations/evaluationScenarios/EvaluationScenarios.tsx | 4 ++-- agenta-web/src/lib/helpers/evaluate.ts | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx index 63ad400fe7..ba0b4857b8 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -23,7 +23,7 @@ import {useAtom} from "jotai" import {evaluatorsAtom} from "@/lib/atoms/evaluation" import CompareOutputDiff from "@/components/CompareOutputDiff/CompareOutputDiff" import {useQueryParam} from "@/hooks/useQuery" -import {formatCost, formatLatency} from "@/lib/helpers/utils" +import {formatCurrency, formatLatency} from "@/lib/helpers/formatters" const useStyles = createUseStyles((theme: JSSTheme) => ({ infoRow: { @@ -147,7 +147,7 @@ const EvaluationScenarios: React.FC = () => { field: "cost", ...getFilterParams("text"), valueGetter: (params) => { - return formatCost(params.data.outputs[0].result.value.cost); + return formatCurrency(params.data.outputs[0].result.value.cost); }, }); diff --git a/agenta-web/src/lib/helpers/evaluate.ts b/agenta-web/src/lib/helpers/evaluate.ts index 5e5f64449c..c18760d4fa 100644 --- a/agenta-web/src/lib/helpers/evaluate.ts +++ b/agenta-web/src/lib/helpers/evaluate.ts @@ -14,7 +14,7 @@ import AlertPopup from "@/components/AlertPopup/AlertPopup" import {capitalize, round} from "lodash" import dayjs from "dayjs" import {runningStatuses} from "@/components/pages/evaluations/cellRenderers/cellRenderers" -import { formatCost, formatLatency } from "./utils" +import { formatCurrency, formatLatency } from "./formatters" export const exportExactEvaluationData = (evaluation: Evaluation, rows: GenericObject[]) => { const exportRow = rows.map((data, ix) => { @@ -277,7 +277,7 @@ export function getTypedValue(res?: TypedValue) { case "bool": return capitalize(value?.toString()); case "cost": - return formatCost(Number(value)); + return formatCurrency(Number(value)); case "latency": return formatLatency(Number(value)); default: From 64769ae0c68f6fe5c65f73f6614d835cf2e4f3eb Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 28 Mar 2024 12:34:02 +0100 Subject: [PATCH 301/539] Minor refactor - revert formatLatency back to previous state and multiple span/trace latency by 1000 --- agenta-backend/agenta_backend/models/db_models.py | 4 ++-- agenta-web/src/lib/helpers/formatters.ts | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 8137dbef13..06ec84314f 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -338,7 +338,7 @@ class TraceDB(Document): created_at: datetime = Field(default=datetime.now()) def get_latency(cls) -> float: - return (cls.end_time - cls.start_time).total_seconds() + return (cls.end_time - cls.start_time).total_seconds() * 1000 class Settings: name = "traces" @@ -362,7 +362,7 @@ class SpanDB(Document): created_at: datetime = Field(default=datetime.now()) def get_latency(cls) -> float: - return (cls.end_time - cls.start_time).total_seconds() + return (cls.end_time - cls.start_time).total_seconds() * 1000 class Settings: name = "spans" diff --git a/agenta-web/src/lib/helpers/formatters.ts b/agenta-web/src/lib/helpers/formatters.ts index 3026288836..34caa04736 100644 --- a/agenta-web/src/lib/helpers/formatters.ts +++ b/agenta-web/src/lib/helpers/formatters.ts @@ -17,5 +17,5 @@ export const formatCurrency = (value = 0) => { } export const formatLatency = (value = 0) => { - return `${intlNumber.format(value)}s` + return `${intlNumber.format(value / 1000)}s` } From 3dcaebbd2a9bb6c7bcf75dbad0467ff9b1ae6ac2 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Thu, 28 Mar 2024 13:33:50 +0100 Subject: [PATCH 302/539] feat: filters evaluators in results view --- .../evaluationResults/EvaluationResults.tsx | 67 ++++++++++++++++++- 1 file changed, 64 insertions(+), 3 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index fc9fe3af87..cee3142b90 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -3,8 +3,14 @@ import {AgGridReact} from "ag-grid-react" import {useAppTheme} from "@/components/Layout/ThemeContextProvider" import {ColDef} from "ag-grid-community" import {createUseStyles} from "react-jss" -import {Button, Space, Spin, Tag, Tooltip, theme} from "antd" -import {DeleteOutlined, PlusCircleOutlined, SlidersOutlined, SwapOutlined} from "@ant-design/icons" +import {Button, Dropdown, Space, Spin, Tag, Tooltip, theme} from "antd" +import { + CheckOutlined, + DeleteOutlined, + PlusCircleOutlined, + SlidersOutlined, + SwapOutlined, +} from "@ant-design/icons" import {EvaluationStatus, JSSTheme, _Evaluation} from "@/lib/Types" import {uniqBy} from "lodash" import dayjs from "dayjs" @@ -46,6 +52,21 @@ const useStyles = createUseStyles((theme: JSSTheme) => ({ marginTop: "1rem", alignSelf: "flex-end", }, + dropdownMenu: { + "&>.ant-dropdown-menu-item": { + "& .anticon-check": { + display: "none", + }, + }, + "&>.ant-dropdown-menu-item-selected": { + "&:not(:hover)": { + backgroundColor: "transparent !important", + }, + "& .anticon-check": { + display: "inline-flex !important", + }, + }, + }, })) interface Props {} @@ -63,6 +84,7 @@ const EvaluationResults: React.FC = () => { const router = useRouter() const {token} = theme.useToken() const gridRef = useRef() + const [hiddenEvalConfigs, setHiddenEvalConfigs] = useState([]) const runningEvaluationIds = useMemo( () => @@ -204,6 +226,7 @@ const EvaluationResults: React.FC = () => { ({ flex: 1, minWidth: 190, + hide: hiddenEvalConfigs.includes(config.id), field: "aggregated_results", headerComponent: (props: any) => ( @@ -257,7 +280,7 @@ const EvaluationResults: React.FC = () => { }, ] return colDefs - }, [evaluatorConfigs]) + }, [evaluatorConfigs, hiddenEvalConfigs]) const compareBtnNode = ( ) + const onToggleEvaluatorVisibility = (evalConfigId: string) => { + if (!hiddenEvalConfigs.includes(evalConfigId)) { + setHiddenEvalConfigs([...hiddenEvalConfigs, evalConfigId]) + } else { + setHiddenEvalConfigs(hiddenEvalConfigs.filter((item) => item !== evalConfigId)) + } + } + + const shownEvalConfigs = useMemo( + () => + evaluatorConfigs + .map((item) => item.id) + .filter((item) => !hiddenEvalConfigs.includes(item)), + [evaluatorConfigs, hiddenEvalConfigs], + ) return ( <> @@ -319,6 +357,29 @@ const EvaluationResults: React.FC = () => { New Evaluation + + + ({ + key: configs.id, + label: ( + + + <>{configs.evaluator?.name} + + ), + })), + onClick: ({key}) => onToggleEvaluatorVisibility(key), + className: classes.dropdownMenu, + }} + > + + + +
Date: Thu, 28 Mar 2024 14:31:23 +0100 Subject: [PATCH 303/539] add latency and cost to models --- agenta-backend/agenta_backend/models/api/evaluation_model.py | 2 ++ agenta-backend/agenta_backend/models/db_models.py | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/agenta-backend/agenta_backend/models/api/evaluation_model.py b/agenta-backend/agenta_backend/models/api/evaluation_model.py index 45f8f76e48..b09e12681e 100644 --- a/agenta-backend/agenta_backend/models/api/evaluation_model.py +++ b/agenta-backend/agenta_backend/models/api/evaluation_model.py @@ -102,6 +102,8 @@ class EvaluationScenarioInput(BaseModel): class EvaluationScenarioOutput(BaseModel): result: Result + cost: Optional[float] + latency: Optional[float] class HumanEvaluationScenarioInput(BaseModel): diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index a3579c565f..4988b6273c 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -193,6 +193,8 @@ class Result(BaseModel): class InvokationResult(BaseModel): result: Result + cost: Optional[float] = None + latency: Optional[float] = None class EvaluationScenarioResult(BaseModel): @@ -213,6 +215,8 @@ class EvaluationScenarioInputDB(BaseModel): class EvaluationScenarioOutputDB(BaseModel): result: Result + cost: Optional[float] = None + latency: Optional[float] = None class HumanEvaluationScenarioInput(BaseModel): From 9847da519e6b1f40a82e79cccc2269b8519ee7a5 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 14:31:33 +0100 Subject: [PATCH 304/539] fix aggregation --- .../agenta_backend/services/aggregation_service.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/agenta-backend/agenta_backend/services/aggregation_service.py b/agenta-backend/agenta_backend/services/aggregation_service.py index b5c7cd7e28..b459766301 100644 --- a/agenta-backend/agenta_backend/services/aggregation_service.py +++ b/agenta-backend/agenta_backend/services/aggregation_service.py @@ -83,14 +83,13 @@ def aggregate_float_from_llm_app_response( raise ValueError("Key is required to aggregate InvokationResult objects.") values = [ - inv_result.result.value[key] + getattr(inv_result, key) for inv_result in invocation_results - if isinstance(inv_result.result.value, dict) - and key in inv_result.result.value + if hasattr(inv_result, key) and getattr(inv_result, key) is not None ] if not values: - raise ValueError("No valid values found for aggregation.") + raise ValueError(f"No valid values found for {key} aggregation.") average_value = sum(values) / len(values) return Result(type=key, value=average_value) From c382959eee256b0217431b6c044b152a2aaadd05 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 14:31:50 +0100 Subject: [PATCH 305/539] adjust schema --- .../agenta_backend/services/llm_apps_service.py | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/agenta-backend/agenta_backend/services/llm_apps_service.py b/agenta-backend/agenta_backend/services/llm_apps_service.py index 7e8fd84d73..2d1b6e56ec 100644 --- a/agenta-backend/agenta_backend/services/llm_apps_service.py +++ b/agenta-backend/agenta_backend/services/llm_apps_service.py @@ -89,14 +89,12 @@ async def invoke_app( app_response = response.json() return InvokationResult( result=Result( - type="object", - value={ - "output": app_response["message"], - "latency": app_response["latency"], - "cost": app_response["cost"], - }, + type="text", + value=app_response["message"], error=None, - ) + ), + latency=app_response["latency"], + cost=app_response["cost"], ) except httpx.HTTPStatusError as e: From f236aed60d267ea0cae924f4fd13b6e40ea519c0 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 14:32:07 +0100 Subject: [PATCH 306/539] adjust EvaluationScenarioOutputDB --- agenta-backend/agenta_backend/tasks/evaluations.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/tasks/evaluations.py b/agenta-backend/agenta_backend/tasks/evaluations.py index 32ecc22949..d985c22d99 100644 --- a/agenta-backend/agenta_backend/tasks/evaluations.py +++ b/agenta-backend/agenta_backend/tasks/evaluations.py @@ -272,7 +272,9 @@ def evaluate( correct_answer=correct_answer, outputs=[ EvaluationScenarioOutputDB( - result=Result(type="text", value=app_output.result.value) + result=Result(type="text", value=app_output.result.value), + latency=app_output.latency, + cost=app_output.cost ) ], results=evaluators_results, From da220cb3d4b98b3b606f73e6b2a0f949bd30d51c Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 14:32:21 +0100 Subject: [PATCH 307/539] fixes --- .../src/components/CompareOutputDiff/CompareOutputDiff.tsx | 2 +- .../evaluations/evaluationScenarios/EvaluationScenarios.tsx | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/agenta-web/src/components/CompareOutputDiff/CompareOutputDiff.tsx b/agenta-web/src/components/CompareOutputDiff/CompareOutputDiff.tsx index 7f6a1520f9..ea983e860a 100644 --- a/agenta-web/src/components/CompareOutputDiff/CompareOutputDiff.tsx +++ b/agenta-web/src/components/CompareOutputDiff/CompareOutputDiff.tsx @@ -9,7 +9,7 @@ interface CompareOutputDiffProps { const CompareOutputDiff = ({variantOutput, expectedOutput}: CompareOutputDiffProps) => { const {appTheme} = useAppTheme() - const results = diffWords(variantOutput.output, expectedOutput) + const results = diffWords(variantOutput, expectedOutput) const display = results.map((part, index) => { if (part.removed) { diff --git a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx index ba0b4857b8..bef79b2d5e 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -147,7 +147,7 @@ const EvaluationScenarios: React.FC = () => { field: "cost", ...getFilterParams("text"), valueGetter: (params) => { - return formatCurrency(params.data.outputs[0].result.value.cost); + return formatCurrency(params.data.outputs[0].cost); }, }); @@ -158,7 +158,7 @@ const EvaluationScenarios: React.FC = () => { field: "latency", ...getFilterParams("text"), valueGetter: (params) => { - return formatLatency(params.data.outputs[0].result.value.latency); + return formatLatency(params.data.outputs[0].latency); }, }); return colDefs From 361b6d704f389e53c38d196b609e2da504f922e3 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 14:34:01 +0100 Subject: [PATCH 308/539] format --- .../agenta_backend/services/llm_apps_service.py | 2 +- agenta-backend/agenta_backend/tasks/evaluations.py | 2 +- .../evaluationResults/EvaluationResults.tsx | 2 +- .../evaluationScenarios/EvaluationScenarios.tsx | 10 +++++----- agenta-web/src/lib/helpers/evaluate.ts | 12 ++++++------ 5 files changed, 14 insertions(+), 14 deletions(-) diff --git a/agenta-backend/agenta_backend/services/llm_apps_service.py b/agenta-backend/agenta_backend/services/llm_apps_service.py index 2d1b6e56ec..7c963caf3c 100644 --- a/agenta-backend/agenta_backend/services/llm_apps_service.py +++ b/agenta-backend/agenta_backend/services/llm_apps_service.py @@ -93,7 +93,7 @@ async def invoke_app( value=app_response["message"], error=None, ), - latency=app_response["latency"], + latency=app_response["latency"], cost=app_response["cost"], ) diff --git a/agenta-backend/agenta_backend/tasks/evaluations.py b/agenta-backend/agenta_backend/tasks/evaluations.py index d985c22d99..162f7bcbb0 100644 --- a/agenta-backend/agenta_backend/tasks/evaluations.py +++ b/agenta-backend/agenta_backend/tasks/evaluations.py @@ -274,7 +274,7 @@ def evaluate( EvaluationScenarioOutputDB( result=Result(type="text", value=app_output.result.value), latency=app_output.latency, - cost=app_output.cost + cost=app_output.cost, ) ], results=evaluators_results, diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index cd7589c521..d218be3970 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -252,7 +252,7 @@ const EvaluationResults: React.FC = () => { headerName: "Latency", minWidth: 120, ...getFilterParams("number"), - valueGetter: (params) => getTypedValue(params?.data.average_latency) + valueGetter: (params) => getTypedValue(params?.data.average_latency), }, { flex: 1, diff --git a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx index bef79b2d5e..f3cef4af91 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -147,10 +147,10 @@ const EvaluationScenarios: React.FC = () => { field: "cost", ...getFilterParams("text"), valueGetter: (params) => { - return formatCurrency(params.data.outputs[0].cost); + return formatCurrency(params.data.outputs[0].cost) }, - }); - + }) + colDefs.push({ flex: 1, minWidth: 120, @@ -158,9 +158,9 @@ const EvaluationScenarios: React.FC = () => { field: "latency", ...getFilterParams("text"), valueGetter: (params) => { - return formatLatency(params.data.outputs[0].latency); + return formatLatency(params.data.outputs[0].latency) }, - }); + }) return colDefs }, [evalaution, scenarios, showDiff]) diff --git a/agenta-web/src/lib/helpers/evaluate.ts b/agenta-web/src/lib/helpers/evaluate.ts index c18760d4fa..55edfe758d 100644 --- a/agenta-web/src/lib/helpers/evaluate.ts +++ b/agenta-web/src/lib/helpers/evaluate.ts @@ -14,7 +14,7 @@ import AlertPopup from "@/components/AlertPopup/AlertPopup" import {capitalize, round} from "lodash" import dayjs from "dayjs" import {runningStatuses} from "@/components/pages/evaluations/cellRenderers/cellRenderers" -import { formatCurrency, formatLatency } from "./formatters" +import {formatCurrency, formatLatency} from "./formatters" export const exportExactEvaluationData = (evaluation: Evaluation, rows: GenericObject[]) => { const exportRow = rows.map((data, ix) => { @@ -272,16 +272,16 @@ export function getTypedValue(res?: TypedValue) { switch (type) { case "number": - return round(Number(value), 2); + return round(Number(value), 2) case "boolean": case "bool": - return capitalize(value?.toString()); + return capitalize(value?.toString()) case "cost": - return formatCurrency(Number(value)); + return formatCurrency(Number(value)) case "latency": - return formatLatency(Number(value)); + return formatLatency(Number(value)) default: - return value?.toString(); + return value?.toString() } } From 5042b9d7dac35d9ecdd05f216fa11cf40336ad9e Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 14:39:48 +0100 Subject: [PATCH 309/539] handle null values for cost and latency --- .../evaluationScenarios/EvaluationScenarios.tsx | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx index f3cef4af91..f348832ebd 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -147,7 +147,9 @@ const EvaluationScenarios: React.FC = () => { field: "cost", ...getFilterParams("text"), valueGetter: (params) => { - return formatCurrency(params.data.outputs[0].cost) + return params.data.outputs[0].cost == undefined + ? "-" + : formatCurrency(params.data.outputs[0].cost) }, }) @@ -158,7 +160,9 @@ const EvaluationScenarios: React.FC = () => { field: "latency", ...getFilterParams("text"), valueGetter: (params) => { - return formatLatency(params.data.outputs[0].latency) + return params.data.outputs[0].latency == undefined + ? "-" + : formatLatency(params.data.outputs[0].latency) }, }) return colDefs From 7c285652e253d5458dd50946a0f1d9c9246ee2dc Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 14:45:15 +0100 Subject: [PATCH 310/539] revert change --- agenta-web/src/components/Playground/NewVariantModal.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/components/Playground/NewVariantModal.tsx b/agenta-web/src/components/Playground/NewVariantModal.tsx index ed8578c85b..34b5c0542c 100644 --- a/agenta-web/src/components/Playground/NewVariantModal.tsx +++ b/agenta-web/src/components/Playground/NewVariantModal.tsx @@ -35,7 +35,7 @@ const NewVariantModal: React.FC = ({ const [isInputValid, setIsInputValid] = useState(false) const handleTemplateVariantChange = (value: string) => { - let newValue = value.includes(".") ? value.output.split(".")[0] : value + let newValue = value.includes(".") ? value.split(".")[0] : value setTemplateVariantName(value) setVariantPlaceHolder(`${newValue}`) setIsInputValid(newVariantName.trim().length > 0 && value !== "Source Variant") From ccda0535d4da9ced0ccd98b37cdce25454cc7570 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 14:56:07 +0100 Subject: [PATCH 311/539] fix types --- .../evaluations/evaluationResults/EvaluationResults.tsx | 4 ++-- .../evaluations/evaluationScenarios/EvaluationScenarios.tsx | 6 ++---- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index d218be3970..2548b7a169 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -252,7 +252,7 @@ const EvaluationResults: React.FC = () => { headerName: "Latency", minWidth: 120, ...getFilterParams("number"), - valueGetter: (params) => getTypedValue(params?.data.average_latency), + valueGetter: (params) => getTypedValue(params?.data?.average_latency), }, { flex: 1, @@ -260,7 +260,7 @@ const EvaluationResults: React.FC = () => { headerName: "Cost", minWidth: 120, ...getFilterParams("number"), - valueGetter: (params) => getTypedValue(params?.data.average_cost), + valueGetter: (params) => getTypedValue(params?.data?.average_cost), }, { flex: 1, diff --git a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx index f348832ebd..c72d37550f 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -144,10 +144,9 @@ const EvaluationScenarios: React.FC = () => { flex: 1, minWidth: 120, headerName: "Cost", - field: "cost", ...getFilterParams("text"), valueGetter: (params) => { - return params.data.outputs[0].cost == undefined + return params.data?.outputs[0].cost == undefined ? "-" : formatCurrency(params.data.outputs[0].cost) }, @@ -157,10 +156,9 @@ const EvaluationScenarios: React.FC = () => { flex: 1, minWidth: 120, headerName: "Latency", - field: "latency", ...getFilterParams("text"), valueGetter: (params) => { - return params.data.outputs[0].latency == undefined + return params.data?.outputs[0].latency == undefined ? "-" : formatLatency(params.data.outputs[0].latency) }, From 5b606e48e2709ec23a7bdfd3633a8c12886e4170 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 28 Mar 2024 15:10:39 +0100 Subject: [PATCH 312/539] add cost and latency in eval scenario --- agenta-web/src/lib/Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/lib/Types.ts b/agenta-web/src/lib/Types.ts index 7577fbe428..0dd3335e37 100644 --- a/agenta-web/src/lib/Types.ts +++ b/agenta-web/src/lib/Types.ts @@ -455,7 +455,7 @@ export interface _EvaluationScenario { evaluation: _Evaluation evaluators_configs: EvaluatorConfig[] inputs: (TypedValue & {name: string})[] - outputs: {result: TypedValue}[] + outputs: {result: TypedValue; cost?: number; latency?: number}[] correct_answer?: string is_pinned?: boolean note?: string From 8da92b0a26f504ff125b31706ee9bdf99f267b20 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Thu, 28 Mar 2024 15:54:45 +0100 Subject: [PATCH 313/539] allowed filtering for all columns in table --- .../evaluationResults/EvaluationResults.tsx | 37 +++++++++++-------- 1 file changed, 22 insertions(+), 15 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index cee3142b90..d8b7a1712e 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -84,7 +84,7 @@ const EvaluationResults: React.FC = () => { const router = useRouter() const {token} = theme.useToken() const gridRef = useRef() - const [hiddenEvalConfigs, setHiddenEvalConfigs] = useState([]) + const [hiddenCols, setHiddenCols] = useState([]) const runningEvaluationIds = useMemo( () => @@ -190,6 +190,7 @@ const EvaluationResults: React.FC = () => { minWidth: 160, pinned: "left", headerCheckboxSelection: true, + hide: hiddenCols.includes("Variant"), checkboxSelection: true, showDisabledCheckboxes: true, cellRenderer: (params: any) => { @@ -210,6 +211,8 @@ const EvaluationResults: React.FC = () => { }, { field: "testset.name", + hide: hiddenCols.includes("Testset"), + headerName: "Testset", cellRenderer: (params: any) => ( = () => { ({ flex: 1, minWidth: 190, - hide: hiddenEvalConfigs.includes(config.id), + hide: hiddenCols.includes(config.name), field: "aggregated_results", + headerName: config.name, headerComponent: (props: any) => ( = () => { ), { flex: 1, + headerName: "Status", + hide: hiddenCols.includes("Status"), field: "status", minWidth: 185, pinned: "right", @@ -273,6 +279,7 @@ const EvaluationResults: React.FC = () => { flex: 1, field: "created_at", headerName: "Created", + hide: hiddenCols.includes("Created"), minWidth: 160, ...getFilterParams("date"), cellRenderer: DateFromNowRenderer, @@ -280,7 +287,7 @@ const EvaluationResults: React.FC = () => { }, ] return colDefs - }, [evaluatorConfigs, hiddenEvalConfigs]) + }, [evaluatorConfigs, hiddenCols]) const compareBtnNode = ( ) const onToggleEvaluatorVisibility = (evalConfigId: string) => { - if (!hiddenEvalConfigs.includes(evalConfigId)) { - setHiddenEvalConfigs([...hiddenEvalConfigs, evalConfigId]) + if (!hiddenCols.includes(evalConfigId)) { + setHiddenCols([...hiddenCols, evalConfigId]) } else { - setHiddenEvalConfigs(hiddenEvalConfigs.filter((item) => item !== evalConfigId)) + setHiddenCols(hiddenCols.filter((item) => item !== evalConfigId)) } } - const shownEvalConfigs = useMemo( + const shownCols = useMemo( () => - evaluatorConfigs - .map((item) => item.id) - .filter((item) => !hiddenEvalConfigs.includes(item)), - [evaluatorConfigs, hiddenEvalConfigs], + colDefs + .map((item) => item.headerName) + .filter((item) => item !== undefined && !hiddenCols.includes(item)) as string[], + [colDefs], ) return ( @@ -362,13 +369,13 @@ const EvaluationResults: React.FC = () => { ({ - key: configs.id, + selectedKeys: shownCols, + items: colDefs.map((configs) => ({ + key: configs.headerName as string, label: ( - <>{configs.evaluator?.name} + <>{configs.headerName} ), })), From 42cf014bc2505edbe60d8208f3393d44cd83247a Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Fri, 29 Mar 2024 06:51:31 +0100 Subject: [PATCH 314/539] fixed typo --- .../pages/evaluations/evaluationResults/EvaluationResults.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index d8b7a1712e..d9212a4267 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -383,7 +383,7 @@ const EvaluationResults: React.FC = () => { className: classes.dropdownMenu, }} > - + From 1a94867a23a6ed67fedddd0383da8a87034fb378 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 29 Mar 2024 11:25:34 +0100 Subject: [PATCH 315/539] remove old implementation code --- agenta-backend/agenta_backend/tasks/evaluations.py | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/agenta-backend/agenta_backend/tasks/evaluations.py b/agenta-backend/agenta_backend/tasks/evaluations.py index 162f7bcbb0..7e63f49989 100644 --- a/agenta-backend/agenta_backend/tasks/evaluations.py +++ b/agenta-backend/agenta_backend/tasks/evaluations.py @@ -218,14 +218,9 @@ def evaluate( for evaluator_config_db in evaluator_config_dbs: logger.debug(f"Evaluating with evaluator: {evaluator_config_db}") if correct_answer_column in data_point: - output_value = ( - app_output.result.value["output"] - if isinstance(app_output.result.value, dict) - else app_output.result.value - ) result = evaluators_service.evaluate( evaluator_key=evaluator_config_db.evaluator_key, - output=output_value, + output=app_output.result.value, correct_answer=data_point[correct_answer_column], settings_values=evaluator_config_db.settings_values, app_params=app_variant_parameters, From 52fb90739eb2f61090c4fb6696b9e8eb9bd0035d Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Fri, 29 Mar 2024 13:39:55 +0100 Subject: [PATCH 316/539] fixed failing cypress tests --- agenta-web/cypress/e2e/eval.comparison.cy.ts | 4 ++-- agenta-web/cypress/e2e/eval.evaluations.cy.ts | 2 +- .../pages/evaluations/evaluationResults/EvaluationResults.tsx | 4 ++-- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/agenta-web/cypress/e2e/eval.comparison.cy.ts b/agenta-web/cypress/e2e/eval.comparison.cy.ts index 56424f7808..e2101f6c49 100644 --- a/agenta-web/cypress/e2e/eval.comparison.cy.ts +++ b/agenta-web/cypress/e2e/eval.comparison.cy.ts @@ -32,8 +32,8 @@ describe("Evaluation Comparison Test", function () { }) it("Should select 2 evaluations, click on the compare button, and successfully navigate to the comparison page", () => { - cy.get("#ag-33-input").check() - cy.get("#ag-39-input").check() + cy.get("div.ag-selection-checkbox input").eq(0).check() + cy.get("div.ag-selection-checkbox input").eq(1).check() cy.get('[data-cy="evaluation-results-compare-button"]').should("not.be.disabled") cy.get('[data-cy="evaluation-results-compare-button"]').click() cy.location("pathname").should("include", "/evaluations/compare") diff --git a/agenta-web/cypress/e2e/eval.evaluations.cy.ts b/agenta-web/cypress/e2e/eval.evaluations.cy.ts index 492544bf95..2192e9a7e8 100644 --- a/agenta-web/cypress/e2e/eval.evaluations.cy.ts +++ b/agenta-web/cypress/e2e/eval.evaluations.cy.ts @@ -33,7 +33,7 @@ describe("Evaluations CRUD Operations Test", function () { it("Should select evaluation and successfully delete it", () => { cy.get(".ag-root-wrapper").should("exist") - cy.get("#ag-33-input").check() + cy.get("div.ag-selection-checkbox input").eq(0).check() cy.get(":nth-child(1) > .ant-btn > .ant-btn-icon > .anticon > svg").click() cy.get(".ant-modal-confirm-btns > :nth-child(2) > span").click() }) diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index 2548b7a169..7a75ee454a 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -250,7 +250,7 @@ const EvaluationResults: React.FC = () => { flex: 1, field: "average_latency", headerName: "Latency", - minWidth: 120, + minWidth: 80, ...getFilterParams("number"), valueGetter: (params) => getTypedValue(params?.data?.average_latency), }, @@ -258,7 +258,7 @@ const EvaluationResults: React.FC = () => { flex: 1, field: "average_cost", headerName: "Cost", - minWidth: 120, + minWidth: 80, ...getFilterParams("number"), valueGetter: (params) => getTypedValue(params?.data?.average_cost), }, From 29e098968011330dd43672efeb018cc89851c27a Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 29 Mar 2024 14:29:07 +0100 Subject: [PATCH 317/539] handle optional latency and cost in app response --- agenta-backend/agenta_backend/services/llm_apps_service.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/services/llm_apps_service.py b/agenta-backend/agenta_backend/services/llm_apps_service.py index 7c963caf3c..7db418b60d 100644 --- a/agenta-backend/agenta_backend/services/llm_apps_service.py +++ b/agenta-backend/agenta_backend/services/llm_apps_service.py @@ -93,8 +93,8 @@ async def invoke_app( value=app_response["message"], error=None, ), - latency=app_response["latency"], - cost=app_response["cost"], + latency=app_response.get("latency"), + cost=app_response.get("cost"), ) except httpx.HTTPStatusError as e: From f65424a605b31b8799636fd5978abb0d55aa08f0 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 29 Mar 2024 15:16:06 +0100 Subject: [PATCH 318/539] add latency and cost to comparison view --- .../evaluationCompare/EvaluationCompare.tsx | 49 +++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx index 547e7644b7..69fd53278c 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -25,6 +25,7 @@ import AgCustomHeader from "@/components/AgCustomHeader/AgCustomHeader" import {useAtom} from "jotai" import {evaluatorsAtom} from "@/lib/atoms/evaluation" import CompareOutputDiff from "@/components/CompareOutputDiff/CompareOutputDiff" +import { formatCurrency, formatLatency } from "@/lib/helpers/formatters" const useStyles = createUseStyles((theme: JSSTheme) => ({ table: { @@ -218,6 +219,50 @@ const EvaluationCompareMode: React.FC = () => { }) }) + variants.forEach((variant, vi) => { + colDefs.push({ + headerComponent: (props: any) => ( + + + Latency + {variant.variantName} + + + ), + minWidth: 120, + flex: 1, + valueGetter: (params) => { + const latency = params.data?.variants.find( + (item) => item.evaluationId === variant.evaluationId, + )?.output?.latency + return latency == "undefined" ? "-" : formatLatency(latency) + }, + ...getFilterParams("text"), + }) + }) + + variants.forEach((variant, vi) => { + colDefs.push({ + headerComponent: (props: any) => ( + + + Cost + {variant.variantName} + + + ), + minWidth: 120, + flex: 1, + valueGetter: (params) => { + const cost = params.data?.variants.find( + (item) => item.evaluationId === variant.evaluationId, + )?.output?.cost + return cost == "undefined" ? "-" : formatCurrency(cost) + }, + ...getFilterParams("text"), + }) + }) + return colDefs }, [rows, showDiff, evalIds]) @@ -364,3 +409,7 @@ const EvaluationCompareMode: React.FC = () => { } export default EvaluationCompareMode +function formatCost(cost: any) { + throw new Error("Function not implemented.") +} + From 21b42bb26f38381007b67e5865363b054775bb01 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 29 Mar 2024 15:16:06 +0100 Subject: [PATCH 319/539] add latency and cost to comparison view --- .../pages/evaluations/evaluationCompare/EvaluationCompare.tsx | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx index 69fd53278c..3724411574 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -25,7 +25,7 @@ import AgCustomHeader from "@/components/AgCustomHeader/AgCustomHeader" import {useAtom} from "jotai" import {evaluatorsAtom} from "@/lib/atoms/evaluation" import CompareOutputDiff from "@/components/CompareOutputDiff/CompareOutputDiff" -import { formatCurrency, formatLatency } from "@/lib/helpers/formatters" +import {formatCurrency, formatLatency} from "@/lib/helpers/formatters" const useStyles = createUseStyles((theme: JSSTheme) => ({ table: { @@ -412,4 +412,3 @@ export default EvaluationCompareMode function formatCost(cost: any) { throw new Error("Function not implemented.") } - From d9661af27e9e3393f37e78ae162a80b72742a954 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 29 Mar 2024 15:27:47 +0100 Subject: [PATCH 320/539] format --- agenta-web/src/lib/Types.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/lib/Types.ts b/agenta-web/src/lib/Types.ts index 0dd3335e37..dc853a7534 100644 --- a/agenta-web/src/lib/Types.ts +++ b/agenta-web/src/lib/Types.ts @@ -491,7 +491,7 @@ export type ComparisonResultRow = { variants: { variantId: string variantName: string - output: {result: TypedValue} + output: {result: TypedValue; cost?: number; latency?: number} evaluationId: string evaluatorConfigs: { evaluatorConfig: EvaluatorConfig From cf87d94dc41b056cbd43be3abb6b706446d64b1c Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 29 Mar 2024 15:30:33 +0100 Subject: [PATCH 321/539] another fix --- .../pages/evaluations/evaluationCompare/EvaluationCompare.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx index 3724411574..93cd279fe9 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -235,7 +235,7 @@ const EvaluationCompareMode: React.FC = () => { const latency = params.data?.variants.find( (item) => item.evaluationId === variant.evaluationId, )?.output?.latency - return latency == "undefined" ? "-" : formatLatency(latency) + return latency === "undefined" ? "-" : formatLatency(latency) }, ...getFilterParams("text"), }) @@ -257,7 +257,7 @@ const EvaluationCompareMode: React.FC = () => { const cost = params.data?.variants.find( (item) => item.evaluationId === variant.evaluationId, )?.output?.cost - return cost == "undefined" ? "-" : formatCurrency(cost) + return cost === "undefined" ? "-" : formatCurrency(cost) }, ...getFilterParams("text"), }) From 82ecf5448064296b314a73747cc471751bd71115 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 29 Mar 2024 15:40:19 +0100 Subject: [PATCH 322/539] fix types --- .../pages/evaluations/evaluationCompare/EvaluationCompare.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx index 93cd279fe9..c7b3c0cef8 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -235,7 +235,7 @@ const EvaluationCompareMode: React.FC = () => { const latency = params.data?.variants.find( (item) => item.evaluationId === variant.evaluationId, )?.output?.latency - return latency === "undefined" ? "-" : formatLatency(latency) + return latency === undefined ? "-" : formatLatency(latency) }, ...getFilterParams("text"), }) @@ -257,7 +257,7 @@ const EvaluationCompareMode: React.FC = () => { const cost = params.data?.variants.find( (item) => item.evaluationId === variant.evaluationId, )?.output?.cost - return cost === "undefined" ? "-" : formatCurrency(cost) + return cost === undefined ? "-" : formatCurrency(cost) }, ...getFilterParams("text"), }) From 947839218b835dd51e155872db643c70a5440a48 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 29 Mar 2024 16:00:54 +0100 Subject: [PATCH 323/539] fix formatter --- agenta-web/src/lib/helpers/formatters.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/lib/helpers/formatters.ts b/agenta-web/src/lib/helpers/formatters.ts index 34caa04736..3026288836 100644 --- a/agenta-web/src/lib/helpers/formatters.ts +++ b/agenta-web/src/lib/helpers/formatters.ts @@ -17,5 +17,5 @@ export const formatCurrency = (value = 0) => { } export const formatLatency = (value = 0) => { - return `${intlNumber.format(value / 1000)}s` + return `${intlNumber.format(value)}s` } From 8f57d1579ea0624860dd7fdf8ed7c93797df49ee Mon Sep 17 00:00:00 2001 From: Abram Date: Sun, 31 Mar 2024 09:05:33 +0100 Subject: [PATCH 324/539] Minor refactor - remove buggy .filter() logic that removes parameters that don't have a value --- agenta-web/src/lib/services/api.ts | 2 -- 1 file changed, 2 deletions(-) diff --git a/agenta-web/src/lib/services/api.ts b/agenta-web/src/lib/services/api.ts index 343053d0a6..cdba47bf3c 100644 --- a/agenta-web/src/lib/services/api.ts +++ b/agenta-web/src/lib/services/api.ts @@ -103,11 +103,9 @@ export async function callVariant( mainInputParams[key] = inputParametersDict[key] } } - optionalParameters = optionalParameters || [] const optParams = optionalParameters - .filter((param) => param.default) .filter((param) => param.type !== "object") // remove dicts from optional parameters .reduce((acc: any, param) => { acc[param.name] = param.default From 1efe8f5ba37b48f944a3403787719bc150cedb77 Mon Sep 17 00:00:00 2001 From: Abram Date: Sun, 31 Mar 2024 09:31:50 +0100 Subject: [PATCH 325/539] Update - set organization_id to be optional --- agenta-cli/agenta/client/backend/types/app_variant_output.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-cli/agenta/client/backend/types/app_variant_output.py b/agenta-cli/agenta/client/backend/types/app_variant_output.py index 95f9c11302..97866d023b 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_output.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_output.py @@ -18,7 +18,7 @@ class AppVariantOutput(pydantic.BaseModel): variant_name: str parameters: typing.Optional[typing.Dict[str, typing.Any]] previous_variant_name: typing.Optional[str] - organization_id: str + organization_id: typing.Optional[str] user_id: str base_name: str base_id: str From 8a0fa6ae63bc64a0aa86dd378fc061f9982f391e Mon Sep 17 00:00:00 2001 From: Abram Date: Sun, 31 Mar 2024 09:33:18 +0100 Subject: [PATCH 326/539] Update - bump version to 0.12.5 --- agenta-cli/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-cli/pyproject.toml b/agenta-cli/pyproject.toml index 5a7c126a1a..01bbbabd62 100644 --- a/agenta-cli/pyproject.toml +++ b/agenta-cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta" -version = "0.12.4" +version = "0.12.5" description = "The SDK for agenta is an open-source LLMOps platform." readme = "README.md" authors = ["Mahmoud Mabrouk "] From 3df119f7881e8864b3e717f0456d0e1c915cf801 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Sun, 31 Mar 2024 11:49:53 +0200 Subject: [PATCH 327/539] Fix api key issue --- agenta-cli/agenta/cli/main.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/agenta-cli/agenta/cli/main.py b/agenta-cli/agenta/cli/main.py index 1fea2a7164..5566f6b717 100644 --- a/agenta-cli/agenta/cli/main.py +++ b/agenta-cli/agenta/cli/main.py @@ -153,18 +153,21 @@ def init(app_name: str, backend_host: str): try: key_prefix = api_key.split(".")[0] client.validate_api_key(key_prefix=key_prefix) - - # Make request to fetch user organizations after api key validation + except Exception as ex: + click.echo( + click.style( + f"Error: Unable to validate API key.\nError: {ex}", fg="red" + ) + ) + sys.exit(1) + # Make request to fetch user organizations after api key validation + try: organizations = client.list_organizations() if len(organizations) >= 1: user_organizations = organizations except Exception as ex: - if ex.status_code == 401: - click.echo(click.style("Error: Invalid API key", fg="red")) - sys.exit(1) - else: - click.echo(click.style(f"Error: {ex}", fg="red")) - sys.exit(1) + click.echo(click.style(f"Error: {ex}", fg="red")) + sys.exit(1) filtered_org = None if where_question == "On agenta cloud": From 10ba36a6c1e64d38b9e9c751606b45a1b9308c25 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Sun, 31 Mar 2024 11:50:54 +0200 Subject: [PATCH 328/539] Revert "Fix api key issue" This reverts commit 3df119f7881e8864b3e717f0456d0e1c915cf801. --- agenta-cli/agenta/cli/main.py | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/agenta-cli/agenta/cli/main.py b/agenta-cli/agenta/cli/main.py index 5566f6b717..1fea2a7164 100644 --- a/agenta-cli/agenta/cli/main.py +++ b/agenta-cli/agenta/cli/main.py @@ -153,21 +153,18 @@ def init(app_name: str, backend_host: str): try: key_prefix = api_key.split(".")[0] client.validate_api_key(key_prefix=key_prefix) - except Exception as ex: - click.echo( - click.style( - f"Error: Unable to validate API key.\nError: {ex}", fg="red" - ) - ) - sys.exit(1) - # Make request to fetch user organizations after api key validation - try: + + # Make request to fetch user organizations after api key validation organizations = client.list_organizations() if len(organizations) >= 1: user_organizations = organizations except Exception as ex: - click.echo(click.style(f"Error: {ex}", fg="red")) - sys.exit(1) + if ex.status_code == 401: + click.echo(click.style("Error: Invalid API key", fg="red")) + sys.exit(1) + else: + click.echo(click.style(f"Error: {ex}", fg="red")) + sys.exit(1) filtered_org = None if where_question == "On agenta cloud": From cb96ee4d9bde66140e6360e30627cfc5a609cd65 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Sun, 31 Mar 2024 11:53:37 +0200 Subject: [PATCH 329/539] hotfix --- agenta-cli/agenta/cli/main.py | 19 +++++++++++-------- 1 file changed, 11 insertions(+), 8 deletions(-) diff --git a/agenta-cli/agenta/cli/main.py b/agenta-cli/agenta/cli/main.py index 1fea2a7164..5566f6b717 100644 --- a/agenta-cli/agenta/cli/main.py +++ b/agenta-cli/agenta/cli/main.py @@ -153,18 +153,21 @@ def init(app_name: str, backend_host: str): try: key_prefix = api_key.split(".")[0] client.validate_api_key(key_prefix=key_prefix) - - # Make request to fetch user organizations after api key validation + except Exception as ex: + click.echo( + click.style( + f"Error: Unable to validate API key.\nError: {ex}", fg="red" + ) + ) + sys.exit(1) + # Make request to fetch user organizations after api key validation + try: organizations = client.list_organizations() if len(organizations) >= 1: user_organizations = organizations except Exception as ex: - if ex.status_code == 401: - click.echo(click.style("Error: Invalid API key", fg="red")) - sys.exit(1) - else: - click.echo(click.style(f"Error: {ex}", fg="red")) - sys.exit(1) + click.echo(click.style(f"Error: {ex}", fg="red")) + sys.exit(1) filtered_org = None if where_question == "On agenta cloud": From e49dfb1877a96f3877b7f1967ae10c0a9c411a4b Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Sun, 31 Mar 2024 14:12:12 +0100 Subject: [PATCH 330/539] bumped ag-grid version --- agenta-web/package-lock.json | 22 +++++++++---------- agenta-web/package.json | 4 ++-- .../evaluationResults/EvaluationResults.tsx | 4 ++-- 3 files changed, 15 insertions(+), 15 deletions(-) diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index aa2a4e4556..ea6c7e65cc 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -1,11 +1,11 @@ { - "name": "dashboard", + "name": "agenta", "version": "0.12.4", "lockfileVersion": 3, "requires": true, "packages": { "": { - "name": "dashboard", + "name": "agenta", "version": "0.12.4", "dependencies": { "@ant-design/colors": "^7.0.0", @@ -28,8 +28,8 @@ "@types/react-highlight-words": "^0.16.4", "@types/react-syntax-highlighter": "^15.5.7", "@types/uuid": "^9.0.7", - "ag-grid-community": "^31.0.1", - "ag-grid-react": "^31.0.1", + "ag-grid-community": "^31.2.0", + "ag-grid-react": "^31.2.0", "antd": "^5.4.7", "autoprefixer": "10.4.14", "axios": "^1.4.0", @@ -1773,16 +1773,16 @@ } }, "node_modules/ag-grid-community": { - "version": "31.0.1", - "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-31.0.1.tgz", - "integrity": "sha512-RZQlW1DTOJHsUR/tnbnTJQKgAnDlHi05YYyTe5AgNor/1TlX1hoYdcqrGsJjvcHQgTjeEgzWOL0yf+KcqXZzxg==" + "version": "31.2.0", + "resolved": "https://registry.npmjs.org/ag-grid-community/-/ag-grid-community-31.2.0.tgz", + "integrity": "sha512-Ija6X171Iq3mFZASZlriQIIdEFqA71rZIsjQD6KHy5lMmxnoseZTX2neThBav1gvr6SA6n5B2PD6eUHdZnrUfw==" }, "node_modules/ag-grid-react": { - "version": "31.0.1", - "resolved": "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-31.0.1.tgz", - "integrity": "sha512-9nmYPsgH1YUDUDOTiyaFsysoNAx/y72ovFJKuOffZC1V7OrQMadyP6DbqGFWCqzzoLJOY7azOr51dDQzAIXLpw==", + "version": "31.2.0", + "resolved": "https://registry.npmjs.org/ag-grid-react/-/ag-grid-react-31.2.0.tgz", + "integrity": "sha512-ObFdPmF3EC7/xWZX8NjrZjURePyFa72MWjb1ZgUqDP7Wq09OSXXyKBN1qXmfUIT3h4o5+os6tCQEqoo7Op+3ZA==", "dependencies": { - "ag-grid-community": "~31.0.1", + "ag-grid-community": "31.2.0", "prop-types": "^15.8.1" }, "peerDependencies": { diff --git a/agenta-web/package.json b/agenta-web/package.json index 6f25692c17..85ea5a763d 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -39,8 +39,8 @@ "@types/react-highlight-words": "^0.16.4", "@types/react-syntax-highlighter": "^15.5.7", "@types/uuid": "^9.0.7", - "ag-grid-community": "^31.0.1", - "ag-grid-react": "^31.0.1", + "ag-grid-community": "^31.2.0", + "ag-grid-react": "^31.2.0", "antd": "^5.4.7", "autoprefixer": "10.4.14", "axios": "^1.4.0", diff --git a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx index 7a75ee454a..2548b7a169 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationResults/EvaluationResults.tsx @@ -250,7 +250,7 @@ const EvaluationResults: React.FC = () => { flex: 1, field: "average_latency", headerName: "Latency", - minWidth: 80, + minWidth: 120, ...getFilterParams("number"), valueGetter: (params) => getTypedValue(params?.data?.average_latency), }, @@ -258,7 +258,7 @@ const EvaluationResults: React.FC = () => { flex: 1, field: "average_cost", headerName: "Cost", - minWidth: 80, + minWidth: 120, ...getFilterParams("number"), valueGetter: (params) => getTypedValue(params?.data?.average_cost), }, From 0f096eb460f4ad5ba1f0e00a76dd55710e1f5bc1 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Sun, 31 Mar 2024 16:01:20 +0200 Subject: [PATCH 331/539] Update pyproject.toml --- agenta-backend/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/pyproject.toml b/agenta-backend/pyproject.toml index fbd07a5474..9e5247c582 100644 --- a/agenta-backend/pyproject.toml +++ b/agenta-backend/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta_backend" -version = "0.12.4" +version = "0.12.5" description = "" authors = ["Mahmoud Mabrouk "] readme = "README.md" From 1f61ab7d6cc2e6a2290b6552d5fe6f902db28db5 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Mon, 1 Apr 2024 14:07:45 +0200 Subject: [PATCH 332/539] added a new sdk parameter --- agenta-cli/agenta/sdk/types.py | 43 ++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/agenta-cli/agenta/sdk/types.py b/agenta-cli/agenta/sdk/types.py index a3f6b39eba..2dd0341e4e 100644 --- a/agenta-cli/agenta/sdk/types.py +++ b/agenta-cli/agenta/sdk/types.py @@ -127,6 +127,49 @@ def __modify_schema__(cls, field_schema: dict[str, Any]): ) +class GroupedMultipleChoiceParam(str): + def __new__(cls, default: str = None, options: Dict[str, List[str]] = None): + if options is None: + options = {} + + # Check if default is in the options + if default and not any(default in choices for choices in options.values()): + # If options are empty and default is not, allow instantiation but raise a warning or error later + if not options: + print(f"Warning: Default value {default} provided but options are empty.") + else: + raise ValueError(f"Default value {default} is not in the provided options") + + # If no default is provided, take the first choice from the first group + if not default: + for choices in options.values(): + if choices: + default = choices[0] + break + + if default is None: + raise ValueError("No choices available in the provided options or default not set") + + instance = super().__new__(cls, default) + instance.options = options + instance.default = default + return instance + + def validate(self, value): + # Check if the value is in any of the option groups + if not any(value in group for group in self.options.values()): + raise ValueError(f"{value} is not a valid choice. Available choices are: {self.options}") + + @classmethod + def __modify_schema__(cls, field_schema: dict[str, Any], **kwargs): + options = kwargs.get('options', {}) + field_schema.update({ + "x-parameter": "grouped_choice", + "type": "string", + "choices": options, + }) + + class Message(BaseModel): role: str content: str From 4c8e217fb39d48322100ff5069c2e0089d32f7d2 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Mon, 1 Apr 2024 15:27:04 +0200 Subject: [PATCH 333/539] add GroupedMultipleChoiceParam to types --- agenta-cli/agenta/__init__.py | 1 + agenta-cli/agenta/sdk/__init__.py | 1 + agenta-cli/agenta/sdk/types.py | 3 --- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/agenta-cli/agenta/__init__.py b/agenta-cli/agenta/__init__.py index b46ab36d5e..2281f620ec 100644 --- a/agenta-cli/agenta/__init__.py +++ b/agenta-cli/agenta/__init__.py @@ -7,6 +7,7 @@ InFile, IntParam, MultipleChoiceParam, + GroupedMultipleChoiceParam, MessagesInput, TextParam, FileInputURL, diff --git a/agenta-cli/agenta/sdk/__init__.py b/agenta-cli/agenta/sdk/__init__.py index 672e09511c..dc70e64ad0 100644 --- a/agenta-cli/agenta/sdk/__init__.py +++ b/agenta-cli/agenta/sdk/__init__.py @@ -9,6 +9,7 @@ InFile, IntParam, MultipleChoiceParam, + GroupedMultipleChoiceParam, TextParam, MessagesInput, FileInputURL, diff --git a/agenta-cli/agenta/sdk/types.py b/agenta-cli/agenta/sdk/types.py index 2dd0341e4e..e04c68eea7 100644 --- a/agenta-cli/agenta/sdk/types.py +++ b/agenta-cli/agenta/sdk/types.py @@ -134,13 +134,11 @@ def __new__(cls, default: str = None, options: Dict[str, List[str]] = None): # Check if default is in the options if default and not any(default in choices for choices in options.values()): - # If options are empty and default is not, allow instantiation but raise a warning or error later if not options: print(f"Warning: Default value {default} provided but options are empty.") else: raise ValueError(f"Default value {default} is not in the provided options") - # If no default is provided, take the first choice from the first group if not default: for choices in options.values(): if choices: @@ -156,7 +154,6 @@ def __new__(cls, default: str = None, options: Dict[str, List[str]] = None): return instance def validate(self, value): - # Check if the value is in any of the option groups if not any(value in group for group in self.options.values()): raise ValueError(f"{value} is not a valid choice. Available choices are: {self.options}") From b50538c010ef938c1332891e8fa5981045ed60d3 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Mon, 1 Apr 2024 15:29:34 +0200 Subject: [PATCH 334/539] add GroupedMultipleChoiceParam to the override schema --- agenta-cli/agenta/sdk/agenta_decorator.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index eebcccc986..adf78d36b9 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -25,6 +25,7 @@ InFile, IntParam, MultipleChoiceParam, + GroupedMultipleChoiceParam, TextParam, MessagesInput, FileInputURL, @@ -396,6 +397,11 @@ def find_in_schema(schema: dict, param_name: str, xparam: str): f"Body_{func_name}_{endpoint}_post" ]["properties"] for param_name, param_val in params.items(): + if isinstance(param_val, GroupedMultipleChoiceParam): + subschema = find_in_schema(schema_to_override, param_name, "grouped_choice") + if subschema: + subschema["choices"] = param_val.options + subschema["default"] = param_val.default if isinstance(param_val, MultipleChoiceParam): subschema = find_in_schema(schema_to_override, param_name, "choice") default = str(param_val) From d5ed30db7430f2b2e4e108a2b2b2dd9d16c602f4 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Mon, 1 Apr 2024 15:31:33 +0200 Subject: [PATCH 335/539] add groupped choice to openai parser --- agenta-web/src/lib/helpers/openapi_parser.ts | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/agenta-web/src/lib/helpers/openapi_parser.ts b/agenta-web/src/lib/helpers/openapi_parser.ts index 02a3100d68..d4f2f0e632 100644 --- a/agenta-web/src/lib/helpers/openapi_parser.ts +++ b/agenta-web/src/lib/helpers/openapi_parser.ts @@ -9,6 +9,9 @@ export interface Parameter { required: boolean default?: any enum?: Array + choices?: {[key: string]: Array} + minimum?: number + maximum?: number } const getBodySchemaName = (schema: GenericObject): string => { @@ -33,7 +36,7 @@ export const openAISchemaToParameters = (schema: GenericObject): Parameter[] => // get the actual schema for the body parameters Object.entries(schema.components.schemas[bodySchemaName].properties || {}).forEach( ([name, param]: [string, any]) => { - const parameter = { + let parameter: Parameter = { name: name, input: !param["x-parameter"] || ["messages", "file_url"].includes(param["x-parameter"]) @@ -46,6 +49,10 @@ export const openAISchemaToParameters = (schema: GenericObject): Parameter[] => maximum: param["maximum"] ? param.maximum : 1, required: !!schema.components.schemas[bodySchemaName]?.required?.includes(name), } + // above should be refactored to include only appropriate fields per x-parameter type + if (parameter.type === "grouped_choice") { + parameter.choices = param["choices"] + } parameters.push(parameter) }, @@ -59,6 +66,8 @@ const determineType = (xParam: any): string => { return "string" case "choice": return "array" + case "grouped_choice": + return "grouped_choice" case "float": return "number" case "dict": From 7e665208f3e4642cf52289c1737a3640157cf2b2 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Mon, 1 Apr 2024 15:33:20 +0200 Subject: [PATCH 336/539] replace normal select with groupped select --- .../Playground/Views/ParametersCards.tsx | 58 +++++++++++++------ 1 file changed, 41 insertions(+), 17 deletions(-) diff --git a/agenta-web/src/components/Playground/Views/ParametersCards.tsx b/agenta-web/src/components/Playground/Views/ParametersCards.tsx index 7025050d6b..c25502d1de 100644 --- a/agenta-web/src/components/Playground/Views/ParametersCards.tsx +++ b/agenta-web/src/components/Playground/Views/ParametersCards.tsx @@ -1,8 +1,22 @@ import React from "react" -import {createUseStyles} from "react-jss" -import {renameVariables} from "@/lib/helpers/utils" -import {Parameter, InputParameter} from "@/lib/Types" -import {Row, Card, Slider, Select, InputNumber, Col, Input, Button, Switch} from "antd" +import { createUseStyles } from "react-jss" +import { renameVariables } from "@/lib/helpers/utils" +import { Parameter, InputParameter } from "@/lib/Types" +import { DownOutlined } from "@ant-design/icons" +import { + Row, + Card, + Slider, + Select, + InputNumber, + Col, + Input, + Button, + Switch, + Dropdown, + Menu, + Space, +} from "antd" const useStyles = createUseStyles({ row1: { @@ -66,6 +80,21 @@ interface ModelParametersProps { handleParamChange: (name: string, value: number | string | boolean) => void } +const GroupedSelect = ({ choices, defaultValue, handleChange }) => ( + + {param.type === "grouped_choice" && ( + handleParamChange(param.name, value) } - className={classes.select} - > - {param.enum?.map((value: string, index: number) => ( - - {value} - - ))} - + /> )} {param.type === "boolean" && ( Date: Mon, 1 Apr 2024 16:12:36 +0200 Subject: [PATCH 337/539] format --- agenta-cli/agenta/sdk/types.py | 30 ++++++++++++++++++++---------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/agenta-cli/agenta/sdk/types.py b/agenta-cli/agenta/sdk/types.py index e04c68eea7..2c1b8fe959 100644 --- a/agenta-cli/agenta/sdk/types.py +++ b/agenta-cli/agenta/sdk/types.py @@ -135,9 +135,13 @@ def __new__(cls, default: str = None, options: Dict[str, List[str]] = None): # Check if default is in the options if default and not any(default in choices for choices in options.values()): if not options: - print(f"Warning: Default value {default} provided but options are empty.") + print( + f"Warning: Default value {default} provided but options are empty." + ) else: - raise ValueError(f"Default value {default} is not in the provided options") + raise ValueError( + f"Default value {default} is not in the provided options" + ) if not default: for choices in options.values(): @@ -146,7 +150,9 @@ def __new__(cls, default: str = None, options: Dict[str, List[str]] = None): break if default is None: - raise ValueError("No choices available in the provided options or default not set") + raise ValueError( + "No choices available in the provided options or default not set" + ) instance = super().__new__(cls, default) instance.options = options @@ -155,16 +161,20 @@ def __new__(cls, default: str = None, options: Dict[str, List[str]] = None): def validate(self, value): if not any(value in group for group in self.options.values()): - raise ValueError(f"{value} is not a valid choice. Available choices are: {self.options}") + raise ValueError( + f"{value} is not a valid choice. Available choices are: {self.options}" + ) @classmethod def __modify_schema__(cls, field_schema: dict[str, Any], **kwargs): - options = kwargs.get('options', {}) - field_schema.update({ - "x-parameter": "grouped_choice", - "type": "string", - "choices": options, - }) + options = kwargs.get("options", {}) + field_schema.update( + { + "x-parameter": "grouped_choice", + "type": "string", + "choices": options, + } + ) class Message(BaseModel): From fe421033b4539e8f36f305e16010adab990e11a8 Mon Sep 17 00:00:00 2001 From: mmabrouk <4510758+mmabrouk@users.noreply.github.com> Date: Mon, 1 Apr 2024 14:37:20 +0000 Subject: [PATCH 338/539] Bump versions --- agenta-backend/pyproject.toml | 2 +- agenta-cli/pyproject.toml | 2 +- agenta-web/package-lock.json | 4 ++-- agenta-web/package.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/agenta-backend/pyproject.toml b/agenta-backend/pyproject.toml index 9e5247c582..8d92bcf390 100644 --- a/agenta-backend/pyproject.toml +++ b/agenta-backend/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta_backend" -version = "0.12.5" +version = "0.12.6" description = "" authors = ["Mahmoud Mabrouk "] readme = "README.md" diff --git a/agenta-cli/pyproject.toml b/agenta-cli/pyproject.toml index 01bbbabd62..f003cc8951 100644 --- a/agenta-cli/pyproject.toml +++ b/agenta-cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta" -version = "0.12.5" +version = "0.12.6" description = "The SDK for agenta is an open-source LLMOps platform." readme = "README.md" authors = ["Mahmoud Mabrouk "] diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index ea6c7e65cc..8789227d0f 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -1,12 +1,12 @@ { "name": "agenta", - "version": "0.12.4", + "version": "0.12.5", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "agenta", - "version": "0.12.4", + "version": "0.12.5", "dependencies": { "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", diff --git a/agenta-web/package.json b/agenta-web/package.json index 85ea5a763d..1e94bb57ad 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -1,6 +1,6 @@ { "name": "agenta", - "version": "0.12.4", + "version": "0.12.5", "private": true, "engines": { "node": ">=18" From 7772146948ca781efbe9ea0d431d63fe9a3f7d60 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Mon, 1 Apr 2024 16:38:00 +0200 Subject: [PATCH 339/539] Update package.json --- agenta-web/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/package.json b/agenta-web/package.json index 1e94bb57ad..adc7c6ca2c 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -1,6 +1,6 @@ { "name": "agenta", - "version": "0.12.5", + "version": "0.12.6", "private": true, "engines": { "node": ">=18" From 772734b432d4170eee8831da5661272e7b263f8d Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Mon, 1 Apr 2024 16:38:21 +0200 Subject: [PATCH 340/539] Update package-lock.json --- agenta-web/package-lock.json | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index 8789227d0f..cda12727c0 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -1,12 +1,12 @@ { "name": "agenta", - "version": "0.12.5", + "version": "0.12.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "agenta", - "version": "0.12.5", + "version": "0.12.6", "dependencies": { "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", From 0fad1ddcf6f947d059248c3c8981bad262084681 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Mon, 1 Apr 2024 16:39:58 +0200 Subject: [PATCH 341/539] fix types --- .../Playground/Views/ParametersCards.tsx | 18 ++++++++++++------ agenta-web/src/lib/Types.ts | 1 + agenta-web/src/lib/helpers/openapi_parser.ts | 13 +------------ 3 files changed, 14 insertions(+), 18 deletions(-) diff --git a/agenta-web/src/components/Playground/Views/ParametersCards.tsx b/agenta-web/src/components/Playground/Views/ParametersCards.tsx index c25502d1de..dfb9cd371e 100644 --- a/agenta-web/src/components/Playground/Views/ParametersCards.tsx +++ b/agenta-web/src/components/Playground/Views/ParametersCards.tsx @@ -74,13 +74,13 @@ const useStyles = createUseStyles({ }, }) -interface ModelParametersProps { - optParams: Parameter[] | null - onChange: (param: Parameter, value: number | string) => void - handleParamChange: (name: string, value: number | string | boolean) => void +interface GroupedSelectProps { + choices: { [group: string]: string[] }; + defaultValue: string; + handleChange: (value: string) => void; } -const GroupedSelect = ({ choices, defaultValue, handleChange }) => ( +const GroupedSelect: React.FC = ({ choices, defaultValue, handleChange }) => ( ({ label: groupLabel, diff --git a/agenta-web/src/lib/helpers/openapi_parser.ts b/agenta-web/src/lib/helpers/openapi_parser.ts index 0dd3d5d93d..261429ed67 100644 --- a/agenta-web/src/lib/helpers/openapi_parser.ts +++ b/agenta-web/src/lib/helpers/openapi_parser.ts @@ -2,7 +2,6 @@ import {GenericObject, Parameter} from "../Types" - const getBodySchemaName = (schema: GenericObject): string => { return ( schema?.paths?.["/generate"]?.post?.requestBody?.content["application/json"]?.schema["$ref"] From a837c20d22cbdc81a8165d967f308624afa9727f Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Mon, 1 Apr 2024 18:46:00 +0200 Subject: [PATCH 343/539] move templates url to env var --- agenta-backend/agenta_backend/services/templates_manager.py | 6 +++--- docker-compose.gh.yml | 1 + docker-compose.prod.yml | 1 + docker-compose.test.yml | 1 + docker-compose.yml | 1 + 5 files changed, 7 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/services/templates_manager.py b/agenta-backend/agenta_backend/services/templates_manager.py index c77da181e6..0391e214fa 100644 --- a/agenta-backend/agenta_backend/services/templates_manager.py +++ b/agenta-backend/agenta_backend/services/templates_manager.py @@ -14,6 +14,8 @@ if os.environ["FEATURE_FLAG"] in ["oss", "cloud"]: from agenta_backend.services import container_manager +templates_base_url = os.getenv("TEMPLATES_BASE_URL") + from typing import Union @@ -118,9 +120,7 @@ async def retrieve_templates_info_from_s3( return json.loads(cached_data) # If not cached, fetch data from Docker Hub and cache it in Redis - response = await get_templates_info_from_s3( - "https://llm-app-json.s3.eu-central-1.amazonaws.com/llm_info.json" - ) + response = await get_templates_info_from_s3(f"{templates_base_url}/llm_info.json") # Cache the data in Redis for 60 minutes r.set("temp_data", json.dumps(response), ex=900) diff --git a/docker-compose.gh.yml b/docker-compose.gh.yml index 83d66b4b22..97c7862423 100644 --- a/docker-compose.gh.yml +++ b/docker-compose.gh.yml @@ -26,6 +26,7 @@ services: - DOMAIN_NAME=${DOMAIN_NAME:-http://localhost} - CELERY_BROKER_URL=amqp://guest@rabbitmq// - CELERY_RESULT_BACKEND=redis://redis:6379/0 + - TEMPLATES_BASE_URL=https://llm-app-json.s3.eu-central-1.amazonaws.com command: [ "uvicorn", diff --git a/docker-compose.prod.yml b/docker-compose.prod.yml index 3425e8ed74..0680414188 100644 --- a/docker-compose.prod.yml +++ b/docker-compose.prod.yml @@ -22,6 +22,7 @@ services: - AGENTA_TEMPLATE_REPO=agentaai/templates_v2 - CELERY_BROKER_URL=amqp://guest@rabbitmq// - CELERY_RESULT_BACKEND=redis://redis:6379/0 + - TEMPLATES_BASE_URL=https://llm-app-json.s3.eu-central-1.amazonaws.com volumes: - ./agenta-backend/agenta_backend:/app/agenta_backend - ./agenta-backend/tests:/app/tests diff --git a/docker-compose.test.yml b/docker-compose.test.yml index 3fd1585b7f..df4ddb3047 100644 --- a/docker-compose.test.yml +++ b/docker-compose.test.yml @@ -27,6 +27,7 @@ services: - OPENAI_API_KEY=${OPENAI_API_KEY} - AGENTA_TEMPLATE_REPO=agentaai/templates_v2 - POSTHOG_API_KEY=phc_hmVSxIjTW1REBHXgj2aw4HW9X6CXb6FzerBgP9XenC7 + - TEMPLATES_BASE_URL=https://llm-app-json.s3.eu-central-1.amazonaws.com volumes: - ./agenta-backend/agenta_backend:/app/agenta_backend - ./agenta-backend/tests:/app/tests diff --git a/docker-compose.yml b/docker-compose.yml index 5085c63711..1a9406b7bb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -25,6 +25,7 @@ services: - POSTHOG_API_KEY=phc_hmVSxIjTW1REBHXgj2aw4HW9X6CXb6FzerBgP9XenC7 - CELERY_BROKER_URL=amqp://guest@rabbitmq// - CELERY_RESULT_BACKEND=redis://redis:6379/0 + - TEMPLATES_BASE_URL=https://llm-app-json.s3.eu-central-1.amazonaws.com volumes: - ./agenta-backend/agenta_backend:/app/agenta_backend - ./agenta-backend/tests:/app/tests From 47264082962d6ce475ae8e8e46e694426ad8ef9d Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Mon, 1 Apr 2024 18:53:43 +0200 Subject: [PATCH 344/539] wrong code committed --- agenta-cli/agenta/sdk/types.py | 43 ---------------------------------- 1 file changed, 43 deletions(-) diff --git a/agenta-cli/agenta/sdk/types.py b/agenta-cli/agenta/sdk/types.py index 2dd0341e4e..a3f6b39eba 100644 --- a/agenta-cli/agenta/sdk/types.py +++ b/agenta-cli/agenta/sdk/types.py @@ -127,49 +127,6 @@ def __modify_schema__(cls, field_schema: dict[str, Any]): ) -class GroupedMultipleChoiceParam(str): - def __new__(cls, default: str = None, options: Dict[str, List[str]] = None): - if options is None: - options = {} - - # Check if default is in the options - if default and not any(default in choices for choices in options.values()): - # If options are empty and default is not, allow instantiation but raise a warning or error later - if not options: - print(f"Warning: Default value {default} provided but options are empty.") - else: - raise ValueError(f"Default value {default} is not in the provided options") - - # If no default is provided, take the first choice from the first group - if not default: - for choices in options.values(): - if choices: - default = choices[0] - break - - if default is None: - raise ValueError("No choices available in the provided options or default not set") - - instance = super().__new__(cls, default) - instance.options = options - instance.default = default - return instance - - def validate(self, value): - # Check if the value is in any of the option groups - if not any(value in group for group in self.options.values()): - raise ValueError(f"{value} is not a valid choice. Available choices are: {self.options}") - - @classmethod - def __modify_schema__(cls, field_schema: dict[str, Any], **kwargs): - options = kwargs.get('options', {}) - field_schema.update({ - "x-parameter": "grouped_choice", - "type": "string", - "choices": options, - }) - - class Message(BaseModel): role: str content: str From c071ab08f463d8736cf59612ef8aa162c53cf1ad Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 2 Apr 2024 09:04:35 +0100 Subject: [PATCH 345/539] Update - created app_with_observability folder along with llm examples --- .../app_async.py | 0 .../app_nested_async.py | 125 ++++++++++++++ .../app_with_observability/dict_app_async.py | 92 ++++++++++ .../dos_observability_script.py | 160 ++++++++++++++++++ .../observability_script.py | 138 +++++++++++++++ .../app_with_observability/requirements.txt | 4 + examples/baby_name_generator/requirements.txt | 3 +- 7 files changed, 520 insertions(+), 2 deletions(-) rename examples/{baby_name_generator => app_with_observability}/app_async.py (100%) create mode 100644 examples/app_with_observability/app_nested_async.py create mode 100644 examples/app_with_observability/dict_app_async.py create mode 100644 examples/app_with_observability/dos_observability_script.py create mode 100644 examples/app_with_observability/observability_script.py create mode 100644 examples/app_with_observability/requirements.txt diff --git a/examples/baby_name_generator/app_async.py b/examples/app_with_observability/app_async.py similarity index 100% rename from examples/baby_name_generator/app_async.py rename to examples/app_with_observability/app_async.py diff --git a/examples/app_with_observability/app_nested_async.py b/examples/app_with_observability/app_nested_async.py new file mode 100644 index 0000000000..358a51fe22 --- /dev/null +++ b/examples/app_with_observability/app_nested_async.py @@ -0,0 +1,125 @@ +import agenta as ag +from openai import AsyncOpenAI + +client = AsyncOpenAI() + + +prompt_1 = "Determine the three main topics that a user would ask about based on this documentation page {context_1}" +prompt_2 = "Create 10 Question and Answers based on the following topics {topics} and the documentation page {context_1} " + +CHAT_LLM_GPT = [ + "gpt-3.5-turbo-16k-0613", + "gpt-3.5-turbo-16k", + "gpt-3.5-turbo-1106", + "gpt-3.5-turbo-061`3", + "gpt-3.5-turbo-0301", + "gpt-3.5-turbo", + "gpt-4", + "gpt-4-1106-preview", +] + +ag.init() +ag.config.default( + temperature_1=ag.FloatParam(default=1, minval=0.0, maxval=2.0), + model_1=ag.MultipleChoiceParam("gpt-3.5-turbo", CHAT_LLM_GPT), + max_tokens_1=ag.IntParam(-1, -1, 4000), + prompt_user_1=ag.TextParam(prompt_1), + top_p_1=ag.FloatParam(1), + frequence_penalty_1=ag.FloatParam(default=0.0, minval=-2.0, maxval=2.0), + presence_penalty_1=ag.FloatParam(default=0.0, minval=-2.0, maxval=2.0), + temperature_2=ag.FloatParam(default=1, minval=0.0, maxval=2.0), + model_2=ag.MultipleChoiceParam("gpt-3.5-turbo", CHAT_LLM_GPT), + max_tokens_2=ag.IntParam(-1, -1, 4000), + prompt_user_2=ag.TextParam(prompt_2), + top_p_2=ag.FloatParam(1), + frequence_penalty_2=ag.FloatParam(default=0.0, minval=-2.0, maxval=2.0), + presence_penalty_2=ag.FloatParam(default=0.0, minval=-2.0, maxval=2.0), +) + + +tracing = ag.llm_tracing() + + +@ag.span(tracing, event_type="llm_request") +async def llm_call( + prompt: str, + model: str, + temperature: float, + max_tokens: int, + top_p: float, + frequency_penalty: float, + presence_penalty: float, +): + response = await client.chat.completions.create( + model=model, + messages=[{"content": prompt, "role": "user"}], + temperature=temperature, + max_tokens=max_tokens, + top_p=top_p, + frequency_penalty=frequency_penalty, + presence_penalty=presence_penalty, + ) + tracing.set_span_attribute( + "model_config", {"model": model, "temperature": temperature} + ) + tokens_usage = response.usage.dict() # type: ignore + return { + "cost": ag.calculate_token_usage(model, tokens_usage), + "message": response.choices[0].message.content, + "usage": tokens_usage, + } + + +@ag.span(tracing, event_type="llm_request") +async def finalize_wrapper(context_1: str, max_tokens: int, llm_response: str): + prompt = ag.config.prompt_user_2.format(topics=llm_response, context_1=context_1) + response = await llm_call( + prompt=prompt, + model=ag.config.model_2, + temperature=ag.config.temperature_2, + max_tokens=max_tokens, + top_p=ag.config.top_p_2, + frequency_penalty=ag.config.frequence_penalty_2, + presence_penalty=ag.config.presence_penalty_2, + ) + return response + + +@ag.span(tracing, event_type="llm_request") +async def wrapper(context_1: str, max_tokens: int): + prompt = ag.config.prompt_user_1.format(context_1=context_1) + + response = await llm_call( + prompt=prompt, + model=ag.config.model_1, + temperature=ag.config.temperature_1, + max_tokens=max_tokens, + top_p=ag.config.top_p_1, + frequency_penalty=ag.config.frequence_penalty_1, + presence_penalty=ag.config.presence_penalty_1, + ) + final_response = await finalize_wrapper( + context_1=context_1, + max_tokens=max_tokens, + llm_response=response["message"], + ) + return final_response + + +@ag.entrypoint +async def generate(context_1: str): + """ + Generate a baby name based on the given country and gender. + + Args: + country (str): The country to generate the name from. + gender (str): The gender of the baby. + """ + + max_tokens = ag.config.max_tokens_1 if ag.config.max_tokens_1 != -1 else None + response = await wrapper(context_1=context_1, max_tokens=max_tokens) + return { + "message": response["message"], + "usage": response["usage"], + "cost": response["cost"], + } diff --git a/examples/app_with_observability/dict_app_async.py b/examples/app_with_observability/dict_app_async.py new file mode 100644 index 0000000000..347b3ff601 --- /dev/null +++ b/examples/app_with_observability/dict_app_async.py @@ -0,0 +1,92 @@ +import agenta as ag +import litellm + +ag.init() + +prompts = { + "system_prompt": "You are an expert in geography.", + "user_prompt": """What is the capital of {country}?""", +} + +# ChatGPT 3.5 models +CHAT_LLM_GPT = [ + "gpt-3.5-turbo-16k-0613", + "gpt-3.5-turbo-16k", + "gpt-3.5-turbo-1106", + "gpt-3.5-turbo-0613", + "gpt-3.5-turbo-0301", + "gpt-3.5-turbo", + "gpt-4", + "gpt-4-1106-preview", +] +GPT_FORMAT_RESPONSE = ["gpt-3.5-turbo-1106", "gpt-4-1106-preview"] +ag.config.default( + temperature=ag.FloatParam(default=1, minval=0.0, maxval=2.0), + model=ag.MultipleChoiceParam("gpt-3.5-turbo", CHAT_LLM_GPT), + max_tokens=ag.IntParam(-1, -1, 4000), + prompt_system=ag.TextParam(prompts["system_prompt"]), + prompt_user=ag.TextParam(prompts["user_prompt"]), + top_p=ag.FloatParam(1), + frequence_penalty=ag.FloatParam(default=0.0, minval=-2.0, maxval=2.0), + presence_penalty=ag.FloatParam(default=0.0, minval=-2.0, maxval=2.0), + force_json=ag.BinaryParam(False), +) + +tracing = ag.llm_tracing() + + +@ag.span(tracing, event_type="llm_request") +async def litellm_call(prompt_system: str, prompt_user: str): + max_tokens = ag.config.max_tokens if ag.config.max_tokens != -1 else None + if ag.config.force_json and ag.config.model not in GPT_FORMAT_RESPONSE: + raise ValueError( + "Model {} does not support JSON response format".format(ag.config.model) + ) + response_format = ( + {"type": "json_object"} + if ag.config.force_json and ag.config.model in GPT_FORMAT_RESPONSE + else {"type": "text"} + ) + response = await litellm.acompletion( + model=ag.config.model, + messages=[ + {"content": prompt_system, "role": "system"}, + {"content": prompt_user, "role": "user"}, + ], + temperature=ag.config.temperature, + max_tokens=max_tokens, + top_p=ag.config.top_p, + frequency_penalty=ag.config.frequence_penalty, + presence_penalty=ag.config.presence_penalty, + response_format=response_format, + ) + + tokens_usage = response.usage.dict() + return { + "cost": ag.calculate_token_usage(ag.config.model, tokens_usage), + "message": response.choices[0].message.content, + "usage": tokens_usage, + } + + +@ag.entrypoint +async def generate( + inputs: ag.DictInput = ag.DictInput(default_keys=["country"]), +): + try: + prompt_user = ag.config.prompt_user.format(**inputs) + except Exception as e: + prompt_user = ag.config.prompt_user + try: + prompt_system = ag.config.prompt_system.format(**inputs) + except Exception as e: + prompt_system = ag.config.prompt_system + + llm_response = await litellm_call( + prompt_system=prompt_system, prompt_user=prompt_user + ) + return { + "message": llm_response["message"], + "usage": llm_response["usage"], + "cost": llm_response["cost"], + } diff --git a/examples/app_with_observability/dos_observability_script.py b/examples/app_with_observability/dos_observability_script.py new file mode 100644 index 0000000000..342bfd979e --- /dev/null +++ b/examples/app_with_observability/dos_observability_script.py @@ -0,0 +1,160 @@ +import time +import httpx +import random +import asyncio +from datetime import datetime +from bson.objectid import ObjectId +from typing import Optional, Dict, Any, List + + +ATTRIBUTES: Dict[str, Any] = {} +BASE_API_URL: str = "http://localhost/api/observability" + + +def generate_oid() -> str: + return str(ObjectId()) + + +async def create_trace( + trace_id: str, + trace_name: str, + inputs: Dict[str, Any], + config: Dict[str, Any], + **kwargs: Dict[str, Any], +): + payload = { + "id": trace_id, + "app_id": generate_oid(), + "variant_id": generate_oid(), + "trace_name": trace_name, + "start_time": datetime.now().isoformat(), + "inputs": inputs, + "config": config, + "environment": kwargs.get("environment", "python-script"), + "tags": kwargs.get("tags", []), + } + async with httpx.AsyncClient() as client: + response = await client.post(f"{BASE_API_URL}/traces", json=payload) + if response.status_code == 200: + print("Trace created successfully") + else: + print("Unable to start trace") + + +async def end_trace( + trace_id: str, + outputs: List[str], + cost: Optional[float] = None, + total_tokens: Optional[float] = None, +): + payload = { + "trace_id": trace_id, + "status": "COMPLETED", + "end_time": str(datetime.now()), + "outputs": outputs, + "cost": cost, + "total_tokens": total_tokens, + } + async with httpx.AsyncClient() as client: + response = await client.put(f"{BASE_API_URL}/traces/{trace_id}", json=payload) + if response.status_code == 200: + print("Tracing completed successfully") + else: + print("Unable to complete tracing") + + +def set_span_attributes( + parent_key: Optional[str] = None, attributes: Dict[str, Any] = {} +) -> Dict[str, Any]: + for key, value in attributes.items(): + if parent_key is not None: + parent_config = ATTRIBUTES.get(parent_key, None) + if not parent_config: + ATTRIBUTES[parent_key] = {} + ATTRIBUTES[parent_key][key] = value + else: + ATTRIBUTES[key] = value + return ATTRIBUTES + + +async def create_span( + trace_id: str, input: Dict[str, Any], output: str, tokens: Dict[str, Any] +): + span_id = generate_oid() + start_time = datetime.now().isoformat() + set_span_attributes("model_config", {"model": "gpt-3.5-turbo", "temperature": 0.65}) + payload = { + "trace_id": trace_id, + "span_id": span_id, + "event_name": "api_call", + "event_type": "llm_request", + "parent_span_id": None, + "start_time": start_time, + "end_time": datetime.now().isoformat(), + "input": input, + "output": output, + "status": {"value": "COMPLETED", "error": None}, + "tokens": tokens, + "meta": ATTRIBUTES, + } + async with httpx.AsyncClient() as client: + response = await client.post(f"{BASE_API_URL}/spans", json=payload) + if response.status_code == 200: + print(f"Created trace span {span_id} successfully") + else: + print(f"Error creating trace span {span_id}") + print("Response data: ", response.json()) + + +def mock_llm_call(country: str) -> Dict[str, Any]: + # do something with input + + randomized_completion = int(random.uniform(10.0, 40.0)) + randomized_prompt = int(random.uniform(10.0, 40.0)) + total_tokens = randomized_completion + randomized_prompt + return { + "message": "The capital name for Germany is Berlin.", + "cost": random.uniform(0.0005, 1.0), + "usage": { + "completion_tokens": randomized_completion, + "prompt_tokens": randomized_prompt, + "total_tokens": total_tokens, + }, + } + + +async def start_tracing(requests_to_make: int): + total_requests = 3 + start_start = time.perf_counter() + while True: + if total_requests == requests_to_make: + await asyncio.sleep(3) + requests_to_make *= 10 + + trace_id = generate_oid() + llm_input = {"country": "Germany"} + outputs = mock_llm_call(llm_input["country"]) + try: + await create_trace(trace_id, "mock_llm_call", llm_input, {}, **{}) + await create_span(trace_id, llm_input, outputs["message"], outputs["usage"]) + await end_trace( + trace_id, + [outputs["message"]], + outputs["cost"], + outputs["usage"]["total_tokens"], + ) + total_requests += 3 + end_time = time.perf_counter() + time_elapsed = end_time - start_start + print( + f" ================= Iteration completed ================= \n- Requests made: {total_requests} \n- Time elapsed: {time_elapsed:.2f} seconds" + ) + except httpx.RequestError as ex: + print(f"Backend Error: {ex}") + requests_to_make = max(1, requests_to_make // 2) # Reduce load + await asyncio.sleep(2) + + +if __name__ == "__main__": + requests_to_make = 1000 + asyncio.run(start_tracing(requests_to_make)) diff --git a/examples/app_with_observability/observability_script.py b/examples/app_with_observability/observability_script.py new file mode 100644 index 0000000000..9e09a7d718 --- /dev/null +++ b/examples/app_with_observability/observability_script.py @@ -0,0 +1,138 @@ +import httpx +import random +import asyncio +from datetime import datetime +from bson.objectid import ObjectId +from typing import Optional, Dict, Any, List + + +ATTRIBUTES: Dict[str, Any] = {} +BASE_API_URL: str = "http://localhost/api/observability" + + +def generate_oid() -> str: + return str(ObjectId()) + + +async def create_trace( + trace_id: str, + trace_name: str, + inputs: Dict[str, Any], + config: Dict[str, Any], + **kwargs: Dict[str, Any], +): + payload = { + "id": trace_id, + "app_id": generate_oid(), + "variant_id": generate_oid(), + "trace_name": trace_name, + "start_time": datetime.now().isoformat(), + "inputs": inputs, + "config": config, + "environment": kwargs.get("environment", "python-script"), + "tags": kwargs.get("tags", []), + } + async with httpx.AsyncClient() as client: + response = await client.post(f"{BASE_API_URL}/traces", json=payload) + if response.status_code == 200: + print("Trace created successfully") + else: + print("Unable to start trace") + + +async def end_trace( + trace_id: str, + outputs: List[str], + cost: Optional[float] = None, + total_tokens: Optional[float] = None, +): + payload = { + "trace_id": trace_id, + "status": "COMPLETED", + "end_time": str(datetime.now()), + "outputs": outputs, + "cost": cost, + "total_tokens": total_tokens, + } + async with httpx.AsyncClient() as client: + response = await client.put(f"{BASE_API_URL}/traces/{trace_id}", json=payload) + if response.status_code == 200: + print("Tracing completed successfully") + else: + print("Unable to complete tracing") + + +def set_span_attributes( + parent_key: Optional[str] = None, attributes: Dict[str, Any] = {} +) -> Dict[str, Any]: + for key, value in attributes.items(): + if parent_key is not None: + parent_config = ATTRIBUTES.get(parent_key, None) + if not parent_config: + ATTRIBUTES[parent_key] = {} + ATTRIBUTES[parent_key][key] = value + else: + ATTRIBUTES[key] = value + return ATTRIBUTES + + +async def create_span(trace_id: str, input: str, output: str, tokens: Dict[str, Any]): + span_id = generate_oid() + start_time = datetime.now().isoformat() + set_span_attributes("model_config", {"model": "gpt-3.5-turbo", "temperature": 0.65}) + payload = { + "trace_id": trace_id, + "span_id": span_id, + "event_name": "api_call", + "event_type": "llm_request", + "parent_span_id": None, + "start_time": start_time, + "end_time": datetime.now().isoformat(), + "input": input, + "output": output, + "status": {"value": "COMPLETED", "error": None}, + "tokens": tokens, + "meta": ATTRIBUTES, + } + async with httpx.AsyncClient() as client: + response = await client.post(f"{BASE_API_URL}/spans", json=payload) + if response.status_code == 200: + print(f"Created trace span {span_id} successfully") + else: + print(f"Error creating trace span {span_id}") + print("Response data: ", response.json()) + + +def mock_llm_call(country: str) -> Dict[str, Any]: + # do something with input + + randomized_completion = int(random.uniform(10.0, 40.0)) + randomized_prompt = int(random.uniform(10.0, 40.0)) + total_tokens = randomized_completion + randomized_prompt + return { + "message": "The capital name for Germany is Berlin.", + "cost": random.uniform(0.0005, 1.0), + "usage": { + "completion_tokens": randomized_completion, + "prompt_tokens": randomized_prompt, + "total_tokens": total_tokens, + }, + } + + +async def start_tracing(): + trace_id = generate_oid() + llm_input = {"country": "Germany"} + outputs = mock_llm_call(llm_input["country"]) + await create_trace(trace_id, "mock_llm_call", llm_input, {}, **{}) + await create_span(trace_id, llm_input, outputs["message"], outputs["usage"]) + await end_trace( + trace_id, + [outputs["message"]], + outputs["cost"], + outputs["usage"]["total_tokens"], + ) + + +if __name__ == "__main__": + asyncio.run(start_tracing()) diff --git a/examples/app_with_observability/requirements.txt b/examples/app_with_observability/requirements.txt new file mode 100644 index 0000000000..da3c66d716 --- /dev/null +++ b/examples/app_with_observability/requirements.txt @@ -0,0 +1,4 @@ +agenta +openai +pymongo +litellm \ No newline at end of file diff --git a/examples/baby_name_generator/requirements.txt b/examples/baby_name_generator/requirements.txt index cb3f679b88..310f162cec 100644 --- a/examples/baby_name_generator/requirements.txt +++ b/examples/baby_name_generator/requirements.txt @@ -1,3 +1,2 @@ agenta -openai -pymongo \ No newline at end of file +openai \ No newline at end of file From f749399bd973e336f6ed7e2481d483f6bd57aca8 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Tue, 2 Apr 2024 10:08:56 +0100 Subject: [PATCH 346/539] added mistral ai to llm available providers --- agenta-backend/agenta_backend/models/api/evaluation_model.py | 1 + agenta-web/src/lib/Types.ts | 1 + agenta-web/src/lib/helpers/llmProviders.ts | 1 + 3 files changed, 3 insertions(+) diff --git a/agenta-backend/agenta_backend/models/api/evaluation_model.py b/agenta-backend/agenta_backend/models/api/evaluation_model.py index b09e12681e..c9954479ae 100644 --- a/agenta-backend/agenta_backend/models/api/evaluation_model.py +++ b/agenta-backend/agenta_backend/models/api/evaluation_model.py @@ -241,6 +241,7 @@ class LMProvidersEnum(str, Enum): azure_base = "AZURE_API_BASE" azure_key = "AZURE_API_KEY" togetherai = "TOGETHERAI_API_KEY" + mistralai = "MISTRALAI_API_KEY" class NewEvaluation(BaseModel): diff --git a/agenta-web/src/lib/Types.ts b/agenta-web/src/lib/Types.ts index 42a0ef4c8a..d2e94c7b0b 100644 --- a/agenta-web/src/lib/Types.ts +++ b/agenta-web/src/lib/Types.ts @@ -261,6 +261,7 @@ export interface LlmProvidersKeys { AZURE_API_KEY: string AZURE_API_BASE: string TOGETHERAI_API_KEY: string + MISTRALAI_API_KEY: string } export interface AppTemplate { diff --git a/agenta-web/src/lib/helpers/llmProviders.ts b/agenta-web/src/lib/helpers/llmProviders.ts index 21a8b33e6b..aac6d4e383 100644 --- a/agenta-web/src/lib/helpers/llmProviders.ts +++ b/agenta-web/src/lib/helpers/llmProviders.ts @@ -17,6 +17,7 @@ export const llmAvailableProviders: LlmProvider[] = [ {title: "Anthropic", key: "", name: "ANTHROPIC_API_KEY"}, {title: "Azure", key: "", name: "AZURE_API_KEY"}, {title: "TogetherAI", key: "", name: "TOGETHERAI_API_KEY"}, + {title: "Mistral AI", key: "", name: "MISTRALAI_API_KEY"}, ] export const getApikeys = () => { From 023426c7476592d6dfc846e3554391a94c660e75 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Tue, 2 Apr 2024 10:17:24 +0100 Subject: [PATCH 347/539] fixed typo --- agenta-backend/agenta_backend/models/api/evaluation_model.py | 2 +- agenta-web/src/lib/Types.ts | 2 +- agenta-web/src/lib/helpers/llmProviders.ts | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/evaluation_model.py b/agenta-backend/agenta_backend/models/api/evaluation_model.py index c9954479ae..015655870b 100644 --- a/agenta-backend/agenta_backend/models/api/evaluation_model.py +++ b/agenta-backend/agenta_backend/models/api/evaluation_model.py @@ -241,7 +241,7 @@ class LMProvidersEnum(str, Enum): azure_base = "AZURE_API_BASE" azure_key = "AZURE_API_KEY" togetherai = "TOGETHERAI_API_KEY" - mistralai = "MISTRALAI_API_KEY" + mistral = "MISTRAL_API_KEY" class NewEvaluation(BaseModel): diff --git a/agenta-web/src/lib/Types.ts b/agenta-web/src/lib/Types.ts index d2e94c7b0b..66b10a3630 100644 --- a/agenta-web/src/lib/Types.ts +++ b/agenta-web/src/lib/Types.ts @@ -261,7 +261,7 @@ export interface LlmProvidersKeys { AZURE_API_KEY: string AZURE_API_BASE: string TOGETHERAI_API_KEY: string - MISTRALAI_API_KEY: string + MISTRAL_API_KEY: string } export interface AppTemplate { diff --git a/agenta-web/src/lib/helpers/llmProviders.ts b/agenta-web/src/lib/helpers/llmProviders.ts index aac6d4e383..2d4f446e79 100644 --- a/agenta-web/src/lib/helpers/llmProviders.ts +++ b/agenta-web/src/lib/helpers/llmProviders.ts @@ -17,7 +17,7 @@ export const llmAvailableProviders: LlmProvider[] = [ {title: "Anthropic", key: "", name: "ANTHROPIC_API_KEY"}, {title: "Azure", key: "", name: "AZURE_API_KEY"}, {title: "TogetherAI", key: "", name: "TOGETHERAI_API_KEY"}, - {title: "Mistral AI", key: "", name: "MISTRALAI_API_KEY"}, + {title: "Mistral AI", key: "", name: "MISTRAL_API_KEY"}, ] export const getApikeys = () => { From 462a4d5afd01d9361e18712f0c22cb3d596a1693 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 2 Apr 2024 11:50:41 +0200 Subject: [PATCH 348/539] Update evaluation_model.py --- agenta-backend/agenta_backend/models/api/evaluation_model.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/models/api/evaluation_model.py b/agenta-backend/agenta_backend/models/api/evaluation_model.py index 015655870b..ba5b1b4467 100644 --- a/agenta-backend/agenta_backend/models/api/evaluation_model.py +++ b/agenta-backend/agenta_backend/models/api/evaluation_model.py @@ -241,7 +241,7 @@ class LMProvidersEnum(str, Enum): azure_base = "AZURE_API_BASE" azure_key = "AZURE_API_KEY" togetherai = "TOGETHERAI_API_KEY" - mistral = "MISTRAL_API_KEY" + mistralai = "MISTRAL_API_KEY" class NewEvaluation(BaseModel): From cff4cb20970ae6a8712065161e90429536b1fe64 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 2 Apr 2024 12:24:39 +0200 Subject: [PATCH 349/539] put back array as it break older apps --- .../Playground/Views/ParametersCards.tsx | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/agenta-web/src/components/Playground/Views/ParametersCards.tsx b/agenta-web/src/components/Playground/Views/ParametersCards.tsx index cd2591e8cb..81946991fa 100644 --- a/agenta-web/src/components/Playground/Views/ParametersCards.tsx +++ b/agenta-web/src/components/Playground/Views/ParametersCards.tsx @@ -161,6 +161,21 @@ export const ModelParameters: React.FC = ({ className={classes.colSlider} /> )} + {param.type === "array" && ( + + )} {param.type === "grouped_choice" && ( Date: Tue, 2 Apr 2024 12:44:20 +0200 Subject: [PATCH 350/539] replace options with choices --- agenta-cli/agenta/sdk/agenta_decorator.py | 2 +- agenta-cli/agenta/sdk/types.py | 22 +++++++++++----------- 2 files changed, 12 insertions(+), 12 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index adf78d36b9..dc0ae686b0 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -400,7 +400,7 @@ def find_in_schema(schema: dict, param_name: str, xparam: str): if isinstance(param_val, GroupedMultipleChoiceParam): subschema = find_in_schema(schema_to_override, param_name, "grouped_choice") if subschema: - subschema["choices"] = param_val.options + subschema["choices"] = param_val.choices subschema["default"] = param_val.default if isinstance(param_val, MultipleChoiceParam): subschema = find_in_schema(schema_to_override, param_name, "choice") diff --git a/agenta-cli/agenta/sdk/types.py b/agenta-cli/agenta/sdk/types.py index 2c1b8fe959..1526f434d8 100644 --- a/agenta-cli/agenta/sdk/types.py +++ b/agenta-cli/agenta/sdk/types.py @@ -128,34 +128,34 @@ def __modify_schema__(cls, field_schema: dict[str, Any]): class GroupedMultipleChoiceParam(str): - def __new__(cls, default: str = None, options: Dict[str, List[str]] = None): - if options is None: - options = {} + def __new__(cls, default: str = None, choices: Dict[str, List[str]] = None): + if choices is None: + choices = {} - # Check if default is in the options - if default and not any(default in choices for choices in options.values()): - if not options: + # Check if default is in the choices + if default and not any(default in choices for choices in choices.values()): + if not choices: print( - f"Warning: Default value {default} provided but options are empty." + f"Warning: Default value {default} provided but choices are empty." ) else: raise ValueError( - f"Default value {default} is not in the provided options" + f"Default value {default} is not in the provided choices" ) if not default: - for choices in options.values(): + for choices in choices.values(): if choices: default = choices[0] break if default is None: raise ValueError( - "No choices available in the provided options or default not set" + "No choices available in the provided choices or default not set" ) instance = super().__new__(cls, default) - instance.options = options + instance.choices = choices instance.default = default return instance From 5cc7ea8d3988e78d7c96513ad9ff37b8c3b6f55b Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 2 Apr 2024 14:25:46 +0200 Subject: [PATCH 351/539] fixes --- agenta-cli/agenta/sdk/types.py | 14 ++++---------- 1 file changed, 4 insertions(+), 10 deletions(-) diff --git a/agenta-cli/agenta/sdk/types.py b/agenta-cli/agenta/sdk/types.py index 1526f434d8..1376a4941b 100644 --- a/agenta-cli/agenta/sdk/types.py +++ b/agenta-cli/agenta/sdk/types.py @@ -132,7 +132,6 @@ def __new__(cls, default: str = None, choices: Dict[str, List[str]] = None): if choices is None: choices = {} - # Check if default is in the choices if default and not any(default in choices for choices in choices.values()): if not choices: print( @@ -149,30 +148,25 @@ def __new__(cls, default: str = None, choices: Dict[str, List[str]] = None): default = choices[0] break - if default is None: - raise ValueError( - "No choices available in the provided choices or default not set" - ) - instance = super().__new__(cls, default) instance.choices = choices instance.default = default return instance def validate(self, value): - if not any(value in group for group in self.options.values()): + if not any(value in group for group in self.choices.values()): raise ValueError( - f"{value} is not a valid choice. Available choices are: {self.options}" + f"{value} is not a valid choice. Available choices are: {self.choices}" ) @classmethod def __modify_schema__(cls, field_schema: dict[str, Any], **kwargs): - options = kwargs.get("options", {}) + choices = kwargs.get("choices", {}) field_schema.update( { "x-parameter": "grouped_choice", "type": "string", - "choices": options, + "choices": choices, } ) From 98f87b815118e99e5977c01fe0d58770f6bdc206 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 2 Apr 2024 14:43:42 +0200 Subject: [PATCH 352/539] remove useless method --- agenta-cli/agenta/sdk/types.py | 6 ------ 1 file changed, 6 deletions(-) diff --git a/agenta-cli/agenta/sdk/types.py b/agenta-cli/agenta/sdk/types.py index 1376a4941b..497cbdec39 100644 --- a/agenta-cli/agenta/sdk/types.py +++ b/agenta-cli/agenta/sdk/types.py @@ -153,12 +153,6 @@ def __new__(cls, default: str = None, choices: Dict[str, List[str]] = None): instance.default = default return instance - def validate(self, value): - if not any(value in group for group in self.choices.values()): - raise ValueError( - f"{value} is not a valid choice. Available choices are: {self.choices}" - ) - @classmethod def __modify_schema__(cls, field_schema: dict[str, Any], **kwargs): choices = kwargs.get("choices", {}) From 234600fecee4aea598144365e5d9ed29a2f88582 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 2 Apr 2024 15:25:06 +0200 Subject: [PATCH 353/539] make model param full width --- .../Playground/Views/ParametersCards.tsx | 31 ++++++++++--------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/agenta-web/src/components/Playground/Views/ParametersCards.tsx b/agenta-web/src/components/Playground/Views/ParametersCards.tsx index 81946991fa..4ab508f091 100644 --- a/agenta-web/src/components/Playground/Views/ParametersCards.tsx +++ b/agenta-web/src/components/Playground/Views/ParametersCards.tsx @@ -80,20 +80,23 @@ interface GroupedSelectProps { handleChange: (value: string) => void } -const GroupedSelect: React.FC = ({choices, defaultValue, handleChange}) => ( - ({ + label: groupLabel, + options: groupChoices.map((choice) => ({ + label: choice, + value: choice, + })), + }))} + /> + ) +} interface ModelParametersProps { optParams: Parameter[] | null From 23af353349c505c811e0c08d9cdd722377230124 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 2 Apr 2024 16:40:35 +0200 Subject: [PATCH 354/539] example of app using many providers --- examples/what_to_do_today/app.py | 95 ++++++++++++++++++++++ examples/what_to_do_today/requirements.txt | 2 + 2 files changed, 97 insertions(+) create mode 100644 examples/what_to_do_today/app.py create mode 100644 examples/what_to_do_today/requirements.txt diff --git a/examples/what_to_do_today/app.py b/examples/what_to_do_today/app.py new file mode 100644 index 0000000000..21e53b2c07 --- /dev/null +++ b/examples/what_to_do_today/app.py @@ -0,0 +1,95 @@ +import agenta as ag +import litellm + +litellm.drop_params=True + +ag.init() + +prompts = { + "system_prompt": "You are an expert in finding the best activity for people having free time. Activities should not necessary fun activities. Be creative!", + "user_prompt": """What can I do today knowing that I live in {country}, +I am {marital_status} and I have {duration} free time? +I am not interested in activities like: {not_desired_activities} + """, + +} + +provider_models = { + "Mistral AI": [ + "mistral/mistral-tiny", + "mistral/mistral-small", + "mistral/mistral-medium", + "mistral/mistral-large-latest", + ], + "Open AI": [ + "gpt-3.5-turbo-16k-0613", + "gpt-3.5-turbo-16k", + "gpt-3.5-turbo-1106", + "gpt-3.5-turbo-0613", + "gpt-3.5-turbo-0301", + "gpt-3.5-turbo", + "gpt-4", + "gpt-4-1106-preview", + ], + "Cohere": [ + "command-nightly", + ] +} + +GPT_FORMAT_RESPONSE = ["gpt-3.5-turbo-1106", "gpt-4-1106-preview"] + +ag.config.default( + temperature=ag.FloatParam(default=1, minval=0.0, maxval=2.0), + model=ag.GroupedMultipleChoiceParam(default="gpt-3.5-turbo", choices=provider_models), + max_tokens=ag.IntParam(-1, -1, 4000), + prompt_system=ag.TextParam(prompts["system_prompt"]), + prompt_user=ag.TextParam(prompts["user_prompt"]), + top_p=ag.FloatParam(1), + frequence_penalty=ag.FloatParam(default=0.0, minval=-2.0, maxval=2.0), + presence_penalty=ag.FloatParam(default=0.0, minval=-2.0, maxval=2.0), + force_json=ag.BinaryParam(False) +) + + +@ag.entrypoint +async def generate( + inputs: ag.DictInput = ag.DictInput(default_keys=["country", "marital_status", "duration", "not_desired_activities"]), +): + try: + prompt_user = ag.config.prompt_user.format(**inputs) + except Exception as e: + prompt_user = ag.config.prompt_user + try: + prompt_system = ag.config.prompt_system.format(**inputs) + except Exception as e: + prompt_system = ag.config.prompt_system + + max_tokens = ag.config.max_tokens if ag.config.max_tokens != -1 else None + + if ag.config.force_json and ag.config.model not in GPT_FORMAT_RESPONSE: + raise ValueError("Model {} does not support JSON response format".format(ag.config.model)) + + response_format = {"type": "json_object"} if ag.config.force_json and ag.config.model in GPT_FORMAT_RESPONSE else {"type": "text"} + + completion_params = { + "model": ag.config.model, + "messages": [{"content": prompt_system, "role": "system"}, {"content": prompt_user, "role": "user"}], + "temperature": ag.config.temperature, + "max_tokens": max_tokens, + "top_p": ag.config.top_p, + "response_format": response_format, + } + + # Include frequency_penalty and presence_penalty only if supported + if ag.config.model in GPT_FORMAT_RESPONSE: + completion_params["frequency_penalty"] = ag.config.frequence_penalty + completion_params["presence_penalty"] = ag.config.presence_penalty + + response = await litellm.acompletion(**completion_params) + + token_usage = response.usage.dict() + return { + "message": response.choices[0]. message.content, + **{"usage": token_usage}, + "cost": ag.calculate_token_usage(ag.config.model, token_usage), + } \ No newline at end of file diff --git a/examples/what_to_do_today/requirements.txt b/examples/what_to_do_today/requirements.txt new file mode 100644 index 0000000000..e72ba551d7 --- /dev/null +++ b/examples/what_to_do_today/requirements.txt @@ -0,0 +1,2 @@ +agenta +openai From f90c3ebf7a5f736a4be4f9da041e5b9e6552f3a0 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 2 Apr 2024 16:45:01 +0200 Subject: [PATCH 355/539] format new app --- examples/what_to_do_today/app.py | 34 +++++++++++++++++++++----------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/examples/what_to_do_today/app.py b/examples/what_to_do_today/app.py index 21e53b2c07..411bc772c4 100644 --- a/examples/what_to_do_today/app.py +++ b/examples/what_to_do_today/app.py @@ -1,7 +1,7 @@ import agenta as ag import litellm -litellm.drop_params=True +litellm.drop_params = True ag.init() @@ -11,7 +11,6 @@ I am {marital_status} and I have {duration} free time? I am not interested in activities like: {not_desired_activities} """, - } provider_models = { @@ -33,27 +32,31 @@ ], "Cohere": [ "command-nightly", - ] + ], } GPT_FORMAT_RESPONSE = ["gpt-3.5-turbo-1106", "gpt-4-1106-preview"] ag.config.default( temperature=ag.FloatParam(default=1, minval=0.0, maxval=2.0), - model=ag.GroupedMultipleChoiceParam(default="gpt-3.5-turbo", choices=provider_models), + model=ag.GroupedMultipleChoiceParam( + default="gpt-3.5-turbo", choices=provider_models + ), max_tokens=ag.IntParam(-1, -1, 4000), prompt_system=ag.TextParam(prompts["system_prompt"]), prompt_user=ag.TextParam(prompts["user_prompt"]), top_p=ag.FloatParam(1), frequence_penalty=ag.FloatParam(default=0.0, minval=-2.0, maxval=2.0), presence_penalty=ag.FloatParam(default=0.0, minval=-2.0, maxval=2.0), - force_json=ag.BinaryParam(False) + force_json=ag.BinaryParam(False), ) @ag.entrypoint async def generate( - inputs: ag.DictInput = ag.DictInput(default_keys=["country", "marital_status", "duration", "not_desired_activities"]), + inputs: ag.DictInput = ag.DictInput( + default_keys=["country", "marital_status", "duration", "not_desired_activities"] + ), ): try: prompt_user = ag.config.prompt_user.format(**inputs) @@ -67,13 +70,22 @@ async def generate( max_tokens = ag.config.max_tokens if ag.config.max_tokens != -1 else None if ag.config.force_json and ag.config.model not in GPT_FORMAT_RESPONSE: - raise ValueError("Model {} does not support JSON response format".format(ag.config.model)) + raise ValueError( + "Model {} does not support JSON response format".format(ag.config.model) + ) - response_format = {"type": "json_object"} if ag.config.force_json and ag.config.model in GPT_FORMAT_RESPONSE else {"type": "text"} + response_format = ( + {"type": "json_object"} + if ag.config.force_json and ag.config.model in GPT_FORMAT_RESPONSE + else {"type": "text"} + ) completion_params = { "model": ag.config.model, - "messages": [{"content": prompt_system, "role": "system"}, {"content": prompt_user, "role": "user"}], + "messages": [ + {"content": prompt_system, "role": "system"}, + {"content": prompt_user, "role": "user"}, + ], "temperature": ag.config.temperature, "max_tokens": max_tokens, "top_p": ag.config.top_p, @@ -89,7 +101,7 @@ async def generate( token_usage = response.usage.dict() return { - "message": response.choices[0]. message.content, + "message": response.choices[0].message.content, **{"usage": token_usage}, "cost": ag.calculate_token_usage(ag.config.model, token_usage), - } \ No newline at end of file + } From be5ba32b3ac116f63f0dca6bce015f0d71b4b306 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 2 Apr 2024 17:05:27 +0200 Subject: [PATCH 356/539] add docs --- docs/developer_guides/sdk/config_datatypes.mdx | 11 +++++++++++ .../grouped_multiple_choice_param.png | Bin 0 -> 59164 bytes 2 files changed, 11 insertions(+) create mode 100644 docs/images/sdk_params/grouped_multiple_choice_param.png diff --git a/docs/developer_guides/sdk/config_datatypes.mdx b/docs/developer_guides/sdk/config_datatypes.mdx index 88f3577295..7c544cd817 100644 --- a/docs/developer_guides/sdk/config_datatypes.mdx +++ b/docs/developer_guides/sdk/config_datatypes.mdx @@ -40,6 +40,17 @@ agenta.config.register_default(temperature = ag.IntParam(default=0.5, minval=0, This displays a binary switch in the playground. +### MultipleChoiceParam + + +The MultipleChoiceParam is a dropdown menu that provides a list of individual choices. + + +### GroupedMultipleChoiceParam + +The GroupedMultipleChoiceParam is a dropdown menu that presents options in clustered groups, allowing users to select from a categorized list of choices. +![Image of Evaluation Interface](/images/sdk_params/grouped_multiple_choice_param.png) + ```python agenta.config.register_default(temperature = ag.IntParam(default=0.5, minval=0, maxval=2), force_json = BinaryParam()) diff --git a/docs/images/sdk_params/grouped_multiple_choice_param.png b/docs/images/sdk_params/grouped_multiple_choice_param.png new file mode 100644 index 0000000000000000000000000000000000000000..204386413c479dcecf0f49cbb6e9ab4a25f5729a GIT binary patch literal 59164 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 T*vGOP3_#%N>gTe~DWM4fBa&*W literal 0 HcmV?d00001 From 73702e40c381932598682250a9b3af7567f11004 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Tue, 2 Apr 2024 17:08:19 +0200 Subject: [PATCH 357/539] add script to format all folders --- format.sh | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100755 format.sh diff --git a/format.sh b/format.sh new file mode 100755 index 0000000000..58e7382923 --- /dev/null +++ b/format.sh @@ -0,0 +1,8 @@ +cd agenta-web +npx prettier --write . +cd ../agenta-backend +black . +cd ../agenta-backend +black . +cd ../examples +black . \ No newline at end of file From 0482772e80adaa5a66b4942959e54a376ca567a2 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Tue, 2 Apr 2024 17:31:26 +0100 Subject: [PATCH 358/539] docs: updated changelog --- docs/changelog/main.mdx | 147 +++++++++++++++++++++++++++++++++++++--- 1 file changed, 136 insertions(+), 11 deletions(-) diff --git a/docs/changelog/main.mdx b/docs/changelog/main.mdx index 41368020fd..ffc0f866ef 100644 --- a/docs/changelog/main.mdx +++ b/docs/changelog/main.mdx @@ -2,35 +2,160 @@ title: "Changelog" --- +## v0.12.6 - TITLE +*1st April 2024* +- Added Latency and Cost to Evaluation +- Fixed when API key is wrong in CLI +- Removed logic that filters parameters without a value + +## v0.12.5 - TITLE +*31st March 2024* +- Feature: Toggle variant visibility in comparison view +- Resolved issue with "Start Evaluation" button in Testset view +- Fixed bug in CLI causing variant not to serve +- Allowed the addition of a data point from the playground when columns mismatch +- Improved Parameters type + +## v0.12.4 - TITLE +*25th March 2024* +- Introduced New string matching evaluators +- Implemented support for passing API Key as an ENV variable +- Updated Human Evaluation Documentation +- Introduced Levenshtein distance evaluator +- Resolved issue with viewing the evaluation full output value +- Improved Error boundary logic to unblock UI +- Improved logic to save and retrieve multiple LLM provider keys +- Fixed Modal instances to support dark mode +- Made improvements to Human evaluation card view +- Added dialog to indicate testset being saved in UI + +## v0.12.3 - TITLE +*11th March 2024* +- Enhanced Webhook evaluator logic +- Fixed column resize in comparison view +- Fixed a bug in the evaluation output in CSV file +- Made inputs in Human evaluation view unmodifiable +- Added option to save a testset in the Single model evaluation view +- Fixed path to Evaluators view when navigating from Evaluations +- Added evaluator name to "Configure your evaluator" modal + +## v0.12.2 - TITLE +*4th March 2024* +- Pay check +- Feature: Highlight output difference in the comparison view +- Updated documentation for Evaluator and Human Evaluation +- Resolved failing Frontend test +- Added assertion for app variant not found +- Resolved unbound error +- Improved the error messages when invoking LLM applications +- Improved "Add new evaluation" modal +- Resolved failing Backend tests +- Upgraded Sidemenu to display Configure evaluator and run evaluator under Evaluations section +- Changed cursor to pointer when hovering over evaluation results + +## v0.12.0 - TITLE +*14th February 2024* +- Feature: Deployment Versioning +- Feature: RBAC Implementation +- Implemented State persistence for Evaluations +- Updated documentation for vision gpt explain images +- Fixed bug in custom code evaluation aggregation +- Fixed bug with Evaluation results not being exported correctly +- Improved Frontend test for Evaluations +- Implemented prevention of used resources being deleted + +## v0.10.2 - TITLE +*4th February 2024* +- Fixed failing Frontend test in Playground +- Updated LLM providers in Backend enum +- Fixed bug in variant environment deployment +- Fixed Evaluation table sorting +- Made use of server timezone instead of UTC +- Addressed issue when invoking LLM app with missing LLM provider key + +## v0.10.1 - TITLE +*31st January 2024* +- Updated failing Backend tests +- Fixed result object +- Added option to use variables non-interactively +- Updated API code in cloud + +## v0.10.0 - TITLE +*31st January 2024* +- Feature: Prompt Versioning +- Added Dynamic Drawer for Prompt Versioning +- Enhancement: Prompt Versioning and migrations + +## v0.9.1 - TITLE +*30th January 2024* +- Added correct answer column and JSON field match evaluator + +## v0.9.0 - TITLE +*29th January 2024* +- Error handling in evaluations +- Added button in A/B testing evaluation to mark both as correct +- Improved Loading state in Human Evaluation +- Fixed logic for sending API key in Frontend + +## v0.8.4 - TITLE +*27th January 2024* +- Modified agenta SDK handle_exception +- Removed deprecated code for building and uploading Docker image + +## v0.8.3 - TITLE +*25th January 2024* +- Feature: Use your own api key in cloud +- Updated beanie to use official version +- Fixed failing Backend tests + +## v0.8.2 - TITLE +*24th January 2024* +- Updated Human evaluation table to add annotation and correct answer columns +- Improved error handling in playground +- Resolved issue with live results in A/B testing evaluation not updating +- Improved query lookup for evaluation scenarios +- Fixed a bug in rate limit configuration validation +- Fixed issue with all aggregated results +- Resolved failing Backend tests +- Disabled import from endpoint in cloud due to security reasons +- Fixed environment variable injection to enable cloud users to use their own keys +- Simplified migration process + +## v0.8.1 - TITLE +*24th January 2024* +- Evaluations in Backend +- Added Migration steps to documentation +- Improved UI/UX in Evaluation view + ## v0.8.0 - Revamping evaluation -*22th January 2024* +*22nd January 2024* We've spent the past month re-engineering our evaluation workflow. Here's what's new: **Running Evaluations** 1. Simultaneous Evaluations: You can now run multiple evaluations for different app variants and evaluators concurrently. - + 2. Rate Limit Parameters: Specify these during evaluations and reattempts to ensure reliable results without exceeding open AI rate limits. - + - + 3. Reusable Evaluators: Configure evaluators such as similarity match, regex match, or AI critique and use them across multiple evaluations. - + - + **Evaluation Reports** 1. Dashboard Improvements: We've upgraded our dashboard interface to better display evaluation results. You can now filter and sort results by evaluator, test set, and outcomes. - + - + 2. Comparative Analysis: Select multiple evaluation runs and view the results of various LLM applications side-by-side. - + - + ## v0.7.1 - Adding Cost and Token Usage to the Playground *12th January 2024* @@ -59,7 +184,7 @@ This necessitated modifications to the SDK. Now, the LLM application API returns ## v0.6.6 - Improving Side-by-side Comparison in the Playground -*19th December 2023* +*19th December 2023* - Enhanced the side-by-side comparison in the playground for better user experience ## v0.6.5 - Resolved Batch Logic Issue in Evaluation From ad411eadcd13b1cb1379f14867323a99fcee96a2 Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 3 Apr 2024 12:08:52 +0100 Subject: [PATCH 359/539] Cleanup - refactor observability to follow otel best practices --- .../models/api/observability_models.py | 8 +++---- .../agenta_backend/models/db_models.py | 8 +++---- agenta-cli/agenta/__init__.py | 2 +- .../backend/resources/observability/client.py | 22 ++++++++--------- agenta-cli/agenta/sdk/__init__.py | 2 +- agenta-cli/agenta/sdk/agenta_decorator.py | 5 +--- agenta-cli/agenta/sdk/agenta_init.py | 3 +++ agenta-cli/agenta/sdk/tracing/decorators.py | 12 +++++----- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 24 +++++++++---------- .../agenta/sdk/tracing/tasks_manager.py | 7 ++++-- examples/app_with_observability/app_async.py | 7 ++---- 11 files changed, 50 insertions(+), 50 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 34d5a6da48..68029c1936 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -58,9 +58,9 @@ class LLMTokens(BaseModel): class BaseSpan(BaseModel): parent_span_id: Optional[str] - meta: Optional[Dict[str, Any]] - event_name: str - event_type: Optional[str] + attributes: Optional[Dict[str, Any]] + name: str + type: Optional[str] start_time: datetime = Field(default=datetime.now()) status: SpanStatus input: Optional[Dict[str, Any]] @@ -150,7 +150,7 @@ class BaseTrace(BaseModel): variant_id: Optional[str] status: str = Field(default=Status.INITIATED) tags: Optional[List[str]] - start_time: datetime = Field(default=datetime.now()) + start_time: datetime class CreateTrace(BaseTrace): diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 06ec84314f..abcc601f38 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -322,7 +322,7 @@ class TraceDB(Document): app_id: str variant_id: str trace_name: Optional[str] - meta: Optional[Dict[str, Any]] + attributes: Optional[Dict[str, Any]] start_time: datetime end_time: datetime = Field(default=datetime.now()) cost: Optional[float] @@ -347,9 +347,9 @@ class Settings: class SpanDB(Document): trace: Link[TraceDB] parent_span_id: Optional[str] # parent observability of span - meta: Optional[Dict[str, Any]] - event_name: str # Function or execution name - event_type: str + attributes: Optional[Dict[str, Any]] + name: str # Function or execution name + type: str status: SpanStatus input: Optional[Dict[str, Any]] output: Optional[str] diff --git a/agenta-cli/agenta/__init__.py b/agenta-cli/agenta/__init__.py index 91151dcaaf..49ab103b87 100644 --- a/agenta-cli/agenta/__init__.py +++ b/agenta-cli/agenta/__init__.py @@ -14,7 +14,7 @@ ) from .sdk.tracing.decorators import span from .sdk.utils.preinit import PreInitObject -from .sdk.agenta_init import Config, init, llm_tracing +from .sdk.agenta_init import Config, init, tracing from .sdk.utils.helper.openai_cost import calculate_token_usage config = PreInitObject("agenta.config", Config) diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index e0b2836eb3..94fdc2f959 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -1037,9 +1037,9 @@ async def create_span( self, *, parent_span_id: typing.Optional[str] = OMIT, - meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - event_name: str, - event_type: typing.Optional[str] = OMIT, + attributes: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, + name: str, + type: typing.Optional[str] = OMIT, start_time: typing.Optional[dt.datetime] = OMIT, duration: typing.Optional[int] = OMIT, status: SpanStatus, @@ -1057,11 +1057,11 @@ async def create_span( Parameters: - parent_span_id: typing.Optional[str]. - - meta: typing.Optional[typing.Dict[str, typing.Any]]. + - attributes: typing.Optional[typing.Dict[str, typing.Any]]. - - event_name: str. + - name: str. - - event_type: typing.Optional[str]. + - type: typing.Optional[str]. - start_time: typing.Optional[dt.datetime]. @@ -1102,7 +1102,7 @@ async def create_span( ) """ _request: typing.Dict[str, typing.Any] = { - "event_name": event_name, + "name": name, "status": status, "trace_id": trace_id, "span_id": span_id, @@ -1110,10 +1110,10 @@ async def create_span( } if parent_span_id is not OMIT: _request["parent_span_id"] = parent_span_id - if meta is not OMIT: - _request["meta"] = meta - if event_type is not OMIT: - _request["event_type"] = event_type + if attributes is not OMIT: + _request["attributes"] = attributes + if type is not OMIT: + _request["type"] = type if start_time is not OMIT: _request["start_time"] = start_time if duration is not OMIT: diff --git a/agenta-cli/agenta/sdk/__init__.py b/agenta-cli/agenta/sdk/__init__.py index 29de24c734..1d8e6a69ba 100644 --- a/agenta-cli/agenta/sdk/__init__.py +++ b/agenta-cli/agenta/sdk/__init__.py @@ -15,7 +15,7 @@ BinaryParam, ) from .tracing.decorators import span -from .agenta_init import Config, init, llm_tracing +from .agenta_init import Config, init, tracing from .utils.helper.openai_cost import calculate_token_usage config = PreInitObject("agenta.config", Config) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index 5ffb115bb8..eb5fa0f4b4 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -73,15 +73,12 @@ def entrypoint(func: Callable[..., Any]) -> Callable[..., Any]: config_params = agenta.config.all() ingestible_files = extract_ingestible_files(func_signature) - # Initialize llm tracing - tracing = agenta.llm_tracing() - @functools.wraps(func) async def wrapper(*args, **kwargs) -> Any: func_params, api_config_params = split_kwargs(kwargs, config_params) # Start tracing - tracing.trace( + agenta.tracing.trace( trace_name=func.__name__, inputs=func_params, config=api_config_params, diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index 5b1302bab9..0d707ea594 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -240,3 +240,6 @@ def llm_tracing(max_workers: Optional[int] = None) -> Tracing: api_key=singleton.api_key, max_workers=max_workers, ) + + +tracing = llm_tracing() diff --git a/agenta-cli/agenta/sdk/tracing/decorators.py b/agenta-cli/agenta/sdk/tracing/decorators.py index 360ac9a2d6..84dfb607bf 100644 --- a/agenta-cli/agenta/sdk/tracing/decorators.py +++ b/agenta-cli/agenta/sdk/tracing/decorators.py @@ -3,21 +3,21 @@ from functools import wraps # Own Imports -from agenta.sdk.tracing.llm_tracing import Tracing +import agenta as ag -def span(tracing: Tracing, event_type: str): +def span(type: str): """Decorator to automatically start and end spans.""" def decorator(func): @wraps(func) async def wrapper(*args, **kwargs): result = None - span = tracing.start_span( + span = ag.tracing.start_span( func.__name__, input=kwargs, - event_type=event_type, - trace_id=tracing.active_trace, + type=type, + trace_id=ag.tracing.active_trace, ) try: is_coroutine_function = inspect.iscoroutinefunction(func) @@ -33,7 +33,7 @@ async def wrapper(*args, **kwargs): finally: if not isinstance(result, dict): result = {"message": result} - tracing.end_span(output=result, span=span) + ag.tracing.end_span(output=result, span=span) return result return wrapper diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index d92957a78a..4f01119f60 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -1,5 +1,5 @@ # Stdlib Imports -from datetime import datetime +from datetime import datetime, timezone from typing import Optional, Dict, Any, List # Own Imports @@ -19,16 +19,16 @@ def __init__( span_id: str, name: str, input: Dict[str, Any], - event_type: str, + type: str, parent_span_id: Optional[str] = None, **kwargs: Dict[str, Any], ): self.trace_id = trace_id self.span_id = span_id self.name = name - self.event_type = event_type + self.type = type self.parent_span_id = parent_span_id - self.start_time = datetime.now() + self.start_time = datetime.now(timezone.utc) self.end_time = Optional[datetime] self.input = input self.status = Dict[str, Any] @@ -56,7 +56,7 @@ def update_span_status(self, status: str, exc: Optional[str] = None): self.status = {"value": status, "error": None} # type: ignore def end(self, output: Dict[str, Any]): - self.end_time = datetime.now() + self.end_time = datetime.now(timezone.utc) self.output = output["message"] self.cost = output.get("cost", 0) self.tokens = output.get("usage", {}) @@ -65,8 +65,8 @@ def __dict__(self): return { "trace_id": self.trace_id, "span_id": self.span_id, - "event_name": self.name, - "event_type": self.event_type, + "name": self.name, + "type": self.type, "parent_span_id": self.parent_span_id, "start_time": self.start_time.isoformat() if self.start_time else None, "end_time": self.end_time.isoformat() if self.end_time else None, @@ -74,7 +74,7 @@ def __dict__(self): "output": self.output, "status": self.status, "tokens": self.tokens, - "meta": self.attributes, + "attributes": self.attributes, } @@ -143,7 +143,7 @@ def start_span( self, name: str, input: Dict[str, Any], - event_type: str, + type: str, trace_id: Optional[str] = None, parent_span_id: Optional[str] = None, **kwargs: Dict[str, Any], @@ -155,7 +155,7 @@ def start_span( trace_id=trace_id, span_id=span_id, name=name, - event_type=event_type, + type=type, parent_span_id=parent_span_id, input=input, **kwargs, @@ -221,7 +221,7 @@ def trace( app_id=self.app_id, variant_id=self.variant_id, trace_name=trace_name, # type: ignore - start_time=datetime.now(), + start_time=datetime.now(timezone.utc), inputs=inputs, config=config, environment=kwargs.get("environment"), # type: ignore @@ -248,7 +248,7 @@ def end_trace( self.client.update_trace( trace_id=self.active_trace, # type: ignore status="COMPLETED", - end_time=datetime.now(), + end_time=datetime.now(timezone.utc), cost=cost, token_consumption=total_tokens, outputs=outputs, diff --git a/agenta-cli/agenta/sdk/tracing/tasks_manager.py b/agenta-cli/agenta/sdk/tracing/tasks_manager.py index 0f71085eea..6ca6421a20 100644 --- a/agenta-cli/agenta/sdk/tracing/tasks_manager.py +++ b/agenta-cli/agenta/sdk/tracing/tasks_manager.py @@ -112,7 +112,10 @@ def _worker(self): self._logger.error(f"Updating {task.coroutine_type} status to FAILED.") self._handle_error_completion( - client=task.client, type=task.coroutine_type, exc=exc + client=task.client, + trace=task.coroutine_id, + type=task.coroutine_type, + exc=exc, ) break finally: @@ -120,7 +123,7 @@ def _worker(self): break def _handle_error_completion( - self, client: AsyncObservabilityClient, type: str, exc: Exception + self, client: AsyncObservabilityClient, trace: str, type: str, exc: Exception ): if type == None: return diff --git a/examples/app_with_observability/app_async.py b/examples/app_with_observability/app_async.py index 9d796ba38f..cf423750e4 100644 --- a/examples/app_with_observability/app_async.py +++ b/examples/app_with_observability/app_async.py @@ -13,15 +13,12 @@ ) -tracing = ag.llm_tracing() - - -@ag.span(tracing, event_type="llm_request") # su types are: llm_request, embedding +@ag.span(type="llm_request") # su types are: llm_request, embedding async def llm_call(prompt): chat_completion = await client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] ) - tracing.set_span_attribute( + ag.tracing.set_span_attribute( "model_config", {"model": "gpt-3.5-turbo", "temperature": ag.config.temperature} ) # translate to {"model_config": {"model": "gpt-3.5-turbo", "temperature": 0.2}} tokens_usage = chat_completion.usage.dict() From eccdb70569a1b7deb32d413e8c030b66e7bb875e Mon Sep 17 00:00:00 2001 From: Abram Date: Wed, 3 Apr 2024 12:12:47 +0100 Subject: [PATCH 360/539] Minor refactor - update use of tracing in obs examples --- examples/app_with_observability/app_nested_async.py | 11 ++++------- examples/app_with_observability/dict_app_async.py | 4 +--- 2 files changed, 5 insertions(+), 10 deletions(-) diff --git a/examples/app_with_observability/app_nested_async.py b/examples/app_with_observability/app_nested_async.py index 358a51fe22..291796df10 100644 --- a/examples/app_with_observability/app_nested_async.py +++ b/examples/app_with_observability/app_nested_async.py @@ -37,10 +37,7 @@ ) -tracing = ag.llm_tracing() - - -@ag.span(tracing, event_type="llm_request") +@ag.span(type="llm_request") async def llm_call( prompt: str, model: str, @@ -59,7 +56,7 @@ async def llm_call( frequency_penalty=frequency_penalty, presence_penalty=presence_penalty, ) - tracing.set_span_attribute( + ag.tracing.set_span_attribute( "model_config", {"model": model, "temperature": temperature} ) tokens_usage = response.usage.dict() # type: ignore @@ -70,7 +67,7 @@ async def llm_call( } -@ag.span(tracing, event_type="llm_request") +@ag.span(type="llm_request") async def finalize_wrapper(context_1: str, max_tokens: int, llm_response: str): prompt = ag.config.prompt_user_2.format(topics=llm_response, context_1=context_1) response = await llm_call( @@ -85,7 +82,7 @@ async def finalize_wrapper(context_1: str, max_tokens: int, llm_response: str): return response -@ag.span(tracing, event_type="llm_request") +@ag.span(type="llm_request") async def wrapper(context_1: str, max_tokens: int): prompt = ag.config.prompt_user_1.format(context_1=context_1) diff --git a/examples/app_with_observability/dict_app_async.py b/examples/app_with_observability/dict_app_async.py index 347b3ff601..5d42a00c97 100644 --- a/examples/app_with_observability/dict_app_async.py +++ b/examples/app_with_observability/dict_app_async.py @@ -32,10 +32,8 @@ force_json=ag.BinaryParam(False), ) -tracing = ag.llm_tracing() - -@ag.span(tracing, event_type="llm_request") +@ag.span(type="llm_request") async def litellm_call(prompt_system: str, prompt_user: str): max_tokens = ag.config.max_tokens if ag.config.max_tokens != -1 else None if ag.config.force_json and ag.config.model not in GPT_FORMAT_RESPONSE: From 18e0508d80906b741ee0d70991933260a0feca0e Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 4 Apr 2024 11:16:30 +0100 Subject: [PATCH 361/539] Refactor - make use of llm_tracing func directly --- agenta-cli/agenta/__init__.py | 3 ++- agenta-cli/agenta/sdk/__init__.py | 3 ++- agenta-cli/agenta/sdk/agenta_decorator.py | 5 ++++- agenta-cli/agenta/sdk/agenta_init.py | 3 --- agenta-cli/agenta/sdk/tracing/decorators.py | 8 +++++--- examples/app_with_observability/app_async.py | 3 ++- examples/app_with_observability/app_nested_async.py | 3 ++- 7 files changed, 17 insertions(+), 11 deletions(-) diff --git a/agenta-cli/agenta/__init__.py b/agenta-cli/agenta/__init__.py index 49ab103b87..7108ba4cd9 100644 --- a/agenta-cli/agenta/__init__.py +++ b/agenta-cli/agenta/__init__.py @@ -14,7 +14,8 @@ ) from .sdk.tracing.decorators import span from .sdk.utils.preinit import PreInitObject -from .sdk.agenta_init import Config, init, tracing +from .sdk.agenta_init import Config, init, llm_tracing from .sdk.utils.helper.openai_cost import calculate_token_usage + config = PreInitObject("agenta.config", Config) diff --git a/agenta-cli/agenta/sdk/__init__.py b/agenta-cli/agenta/sdk/__init__.py index 1d8e6a69ba..252feff591 100644 --- a/agenta-cli/agenta/sdk/__init__.py +++ b/agenta-cli/agenta/sdk/__init__.py @@ -15,7 +15,8 @@ BinaryParam, ) from .tracing.decorators import span -from .agenta_init import Config, init, tracing +from .agenta_init import Config, init, llm_tracing from .utils.helper.openai_cost import calculate_token_usage + config = PreInitObject("agenta.config", Config) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index eb5fa0f4b4..b5c08dfec5 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -73,12 +73,15 @@ def entrypoint(func: Callable[..., Any]) -> Callable[..., Any]: config_params = agenta.config.all() ingestible_files = extract_ingestible_files(func_signature) + # Initialize tracing + tracing = agenta.llm_tracing() + @functools.wraps(func) async def wrapper(*args, **kwargs) -> Any: func_params, api_config_params = split_kwargs(kwargs, config_params) # Start tracing - agenta.tracing.trace( + tracing.trace( trace_name=func.__name__, inputs=func_params, config=api_config_params, diff --git a/agenta-cli/agenta/sdk/agenta_init.py b/agenta-cli/agenta/sdk/agenta_init.py index 0d707ea594..5b1302bab9 100644 --- a/agenta-cli/agenta/sdk/agenta_init.py +++ b/agenta-cli/agenta/sdk/agenta_init.py @@ -240,6 +240,3 @@ def llm_tracing(max_workers: Optional[int] = None) -> Tracing: api_key=singleton.api_key, max_workers=max_workers, ) - - -tracing = llm_tracing() diff --git a/agenta-cli/agenta/sdk/tracing/decorators.py b/agenta-cli/agenta/sdk/tracing/decorators.py index 84dfb607bf..af799d5876 100644 --- a/agenta-cli/agenta/sdk/tracing/decorators.py +++ b/agenta-cli/agenta/sdk/tracing/decorators.py @@ -9,15 +9,17 @@ def span(type: str): """Decorator to automatically start and end spans.""" + tracing = ag.llm_tracing() + def decorator(func): @wraps(func) async def wrapper(*args, **kwargs): result = None - span = ag.tracing.start_span( + span = tracing.start_span( func.__name__, input=kwargs, type=type, - trace_id=ag.tracing.active_trace, + trace_id=tracing.active_trace, ) try: is_coroutine_function = inspect.iscoroutinefunction(func) @@ -33,7 +35,7 @@ async def wrapper(*args, **kwargs): finally: if not isinstance(result, dict): result = {"message": result} - ag.tracing.end_span(output=result, span=span) + tracing.end_span(output=result, span=span) return result return wrapper diff --git a/examples/app_with_observability/app_async.py b/examples/app_with_observability/app_async.py index cf423750e4..6f0612c15d 100644 --- a/examples/app_with_observability/app_async.py +++ b/examples/app_with_observability/app_async.py @@ -8,6 +8,7 @@ ) ag.init() +tracing = ag.llm_tracing() ag.config.default( temperature=ag.FloatParam(0.2), prompt_template=ag.TextParam(default_prompt) ) @@ -18,7 +19,7 @@ async def llm_call(prompt): chat_completion = await client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] ) - ag.tracing.set_span_attribute( + tracing.set_span_attribute( "model_config", {"model": "gpt-3.5-turbo", "temperature": ag.config.temperature} ) # translate to {"model_config": {"model": "gpt-3.5-turbo", "temperature": 0.2}} tokens_usage = chat_completion.usage.dict() diff --git a/examples/app_with_observability/app_nested_async.py b/examples/app_with_observability/app_nested_async.py index 291796df10..fe94789e78 100644 --- a/examples/app_with_observability/app_nested_async.py +++ b/examples/app_with_observability/app_nested_async.py @@ -19,6 +19,7 @@ ] ag.init() +tracing = ag.llm_tracing() ag.config.default( temperature_1=ag.FloatParam(default=1, minval=0.0, maxval=2.0), model_1=ag.MultipleChoiceParam("gpt-3.5-turbo", CHAT_LLM_GPT), @@ -56,7 +57,7 @@ async def llm_call( frequency_penalty=frequency_penalty, presence_penalty=presence_penalty, ) - ag.tracing.set_span_attribute( + tracing.set_span_attribute( "model_config", {"model": model, "temperature": temperature} ) tokens_usage = response.usage.dict() # type: ignore From 7f9310fd299f185153f436962f7c1d3b8d0106f2 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Thu, 4 Apr 2024 13:53:11 +0100 Subject: [PATCH 362/539] removed Lucide icons and installed react-icons --- agenta-web/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/package.json b/agenta-web/package.json index ba8b2a8119..87d3e3fb67 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -57,7 +57,6 @@ "jotai": "^2.5.0", "js-beautify": "^1.14.8", "lodash": "^4.17.21", - "lucide-react": "^0.356.0", "next": "13.3.4", "nextjs-cors": "^2.1.2", "papaparse": "^5.4.1", @@ -70,6 +69,7 @@ "react-drag-listview": "^2.0.0", "react-error-boundary": "^4.0.11", "react-highlight-words": "^0.20.0", + "react-icons": "^5.0.1", "react-jss": "^10.10.0", "react-markdown": "^8.0.7", "react-resizable": "^3.0.5", From f30c5e36cc72f6ab1bf8d0e758b832ec17d06b6e Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Thu, 4 Apr 2024 14:40:51 +0100 Subject: [PATCH 363/539] updated package lock --- agenta-web/package-lock.json | 563 ++--------------------------------- agenta-web/package.json | 1 + 2 files changed, 19 insertions(+), 545 deletions(-) diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index 20f4337ace..b8b79f607f 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -21,6 +21,7 @@ "@next/mdx": "^13.4.13", "@remixicon/react": "^4.1.1", "@sentry/nextjs": "^7.77.0", + "@tailwindcss/forms": "^0.5.7", "@types/diff": "^5.0.9", "@types/js-beautify": "^1.14.0", "@types/lodash": "^4.14.201", @@ -46,7 +47,6 @@ "jotai": "^2.5.0", "js-beautify": "^1.14.8", "lodash": "^4.17.21", - "lucide-react": "^0.356.0", "next": "13.3.4", "nextjs-cors": "^2.1.2", "papaparse": "^5.4.1", @@ -59,6 +59,7 @@ "react-drag-listview": "^2.0.0", "react-error-boundary": "^4.0.11", "react-highlight-words": "^0.20.0", + "react-icons": "^5.0.1", "react-jss": "^10.10.0", "react-markdown": "^8.0.7", "react-resizable": "^3.0.5", @@ -390,54 +391,6 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, - "node_modules/@floating-ui/core": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", - "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", - "dependencies": { - "@floating-ui/utils": "^0.2.1" - } - }, - "node_modules/@floating-ui/dom": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", - "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", - "dependencies": { - "@floating-ui/core": "^1.0.0", - "@floating-ui/utils": "^0.2.0" - } - }, - "node_modules/@floating-ui/react": { - "version": "0.19.2", - "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.2.tgz", - "integrity": "sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==", - "dependencies": { - "@floating-ui/react-dom": "^1.3.0", - "aria-hidden": "^1.1.3", - "tabbable": "^6.0.1" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/react-dom": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", - "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", - "dependencies": { - "@floating-ui/dom": "^1.2.1" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@floating-ui/utils": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", - "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" - }, "node_modules/@headlessui/react": { "version": "1.7.18", "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.18.tgz", @@ -776,21 +729,6 @@ } } }, - "node_modules/@next/swc-darwin-arm64": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-13.3.4.tgz", - "integrity": "sha512-vux7RWfzxy1lD21CMwZsy9Ej+0+LZdIIj1gEhVmzOQqQZ5N56h8JamrjIVCfDL+Lpj8KwOmFZbPHE8qaYnL2pg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@next/swc-darwin-x64": { "version": "13.3.4", "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-13.3.4.tgz", @@ -806,111 +744,6 @@ "node": ">= 10" } }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-13.3.4.tgz", - "integrity": "sha512-UqcKkYTKslf5YAJNtZ5XV1D5MQJIkVtDHL8OehDZERHzqOe7jvy41HFto33IDPPU8gJiP5eJb3V9U26uifqHjw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-13.3.4.tgz", - "integrity": "sha512-HE/FmE8VvstAfehyo/XsrhGgz97cEr7uf9IfkgJ/unqSXE0CDshDn/4as6rRid74eDR8/exi7c2tdo49Tuqxrw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-13.3.4.tgz", - "integrity": "sha512-xU+ugaupGA4SL5aK1ZYEqVHrW3TPOhxVcpaJLfpANm2443J4GfxCmOacu9XcSgy5c51Mq7C9uZ1LODKHfZosRQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-13.3.4.tgz", - "integrity": "sha512-cZvmf5KcYeTfIK6bCypfmxGUjme53Ep7hx94JJtGrYgCA1VwEuYdh+KouubJaQCH3aqnNE7+zGnVEupEKfoaaA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-13.3.4.tgz", - "integrity": "sha512-7dL+CAUAjmgnVbjXPIpdj7/AQKFqEUL3bKtaOIE1JzJ5UMHHAXCPwzQtibrsvQpf9MwcAmiv8aburD3xH1xf8w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-ia32-msvc": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-ia32-msvc/-/swc-win32-ia32-msvc-13.3.4.tgz", - "integrity": "sha512-qplTyzEl1vPkS+/DRK3pKSL0HeXrPHkYsV7U6gboHYpfqoHY+bcLUj3gwVUa9PEHRIoq4vXvPzx/WtzE6q52ng==", - "cpu": [ - "ia32" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "13.3.4", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-13.3.4.tgz", - "integrity": "sha512-usdvZT7JHrTuXC+4OKN5mCzUkviFkCyJJTkEz8jhBpucg+T7s83e7owm3oNFzmj5iKfvxU2St6VkcnSgpFvEYA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", @@ -1393,25 +1226,6 @@ "url": "https://github.com/sponsors/tannerlinsley" } }, - "node_modules/@tremor/react": { - "version": "3.14.0", - "resolved": "https://registry.npmjs.org/@tremor/react/-/react-3.14.0.tgz", - "integrity": "sha512-bDIaId3js6S0LMhSypLN31l98t13XwPmhF6B1NIZUId/zZwnuE25z95VbKUL8NzHuCETIXSAp+Mm+OyA9EeAFw==", - "dependencies": { - "@floating-ui/react": "^0.19.2", - "@headlessui/react": "^1.7.18", - "@headlessui/tailwindcss": "^0.2.0", - "date-fns": "^2.30.0", - "react-day-picker": "^8.9.1", - "react-transition-state": "^2.1.1", - "recharts": "^2.10.3", - "tailwind-merge": "^1.14.0" - }, - "peerDependencies": { - "react": "^18.0.0", - "react-dom": ">=16.6.0" - } - }, "node_modules/@types/acorn": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", @@ -1420,60 +1234,6 @@ "@types/estree": "*" } }, - "node_modules/@types/d3-array": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", - "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==" - }, - "node_modules/@types/d3-color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", - "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" - }, - "node_modules/@types/d3-ease": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", - "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" - }, - "node_modules/@types/d3-interpolate": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", - "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", - "dependencies": { - "@types/d3-color": "*" - } - }, - "node_modules/@types/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" - }, - "node_modules/@types/d3-scale": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", - "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", - "dependencies": { - "@types/d3-time": "*" - } - }, - "node_modules/@types/d3-shape": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", - "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", - "dependencies": { - "@types/d3-path": "*" - } - }, - "node_modules/@types/d3-time": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", - "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==" - }, - "node_modules/@types/d3-timer": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", - "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" - }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -2216,17 +1976,6 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, - "node_modules/aria-hidden": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.3.tgz", - "integrity": "sha512-xcLxITLe2HYa1cnYnwCjkOO1PqUHQpozB8x9AR0OgWN2woOBi5kSDVxKfd0b7sb1hw5qFeJhXm9H1nu3xSfLeQ==", - "dependencies": { - "tslib": "^2.0.0" - }, - "engines": { - "node": ">=10" - } - }, "node_modules/aria-query": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", @@ -2436,9 +2185,9 @@ } }, "node_modules/autoprefixer": { - "version": "10.4.17", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", - "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", "funding": [ { "type": "opencollective", @@ -2447,16 +2196,12 @@ { "type": "tidelift", "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" } ], "dependencies": { - "browserslist": "^4.22.2", - "caniuse-lite": "^1.0.30001578", - "fraction.js": "^4.3.7", + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", "picocolors": "^1.0.0", "postcss-value-parser": "^4.2.0" @@ -3300,116 +3045,6 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "node_modules/d3-array": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", - "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", - "dependencies": { - "internmap": "1 - 2" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-color": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", - "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-ease": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", - "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-format": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", - "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-interpolate": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", - "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", - "dependencies": { - "d3-color": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-path": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", - "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-scale": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", - "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", - "dependencies": { - "d3-array": "2.10.0 - 3", - "d3-format": "1 - 3", - "d3-interpolate": "1.2.0 - 3", - "d3-time": "2.1.1 - 3", - "d3-time-format": "2 - 4" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-shape": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", - "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", - "dependencies": { - "d3-path": "^3.1.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", - "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", - "dependencies": { - "d3-array": "2 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-time-format": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", - "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", - "dependencies": { - "d3-time": "1 - 3" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/d3-timer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", - "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", - "engines": { - "node": ">=12" - } - }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -3431,6 +3066,8 @@ "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", + "optional": true, + "peer": true, "dependencies": { "@babel/runtime": "^7.21.0" }, @@ -3463,11 +3100,6 @@ } } }, - "node_modules/decimal.js-light": { - "version": "2.5.1", - "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", - "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" - }, "node_modules/decode-named-character-reference": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", @@ -3579,15 +3211,6 @@ "node": ">=6.0.0" } }, - "node_modules/dom-helpers": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", - "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", - "dependencies": { - "@babel/runtime": "^7.8.7", - "csstype": "^3.0.2" - } - }, "node_modules/dotenv": { "version": "16.3.1", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", @@ -4332,11 +3955,6 @@ "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", "dev": true }, - "node_modules/eventemitter3": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", - "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" - }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", @@ -4420,14 +4038,6 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, - "node_modules/fast-equals": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", - "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", - "engines": { - "node": ">=6.0.0" - } - }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -5296,14 +4906,6 @@ "node": ">= 0.4" } }, - "node_modules/internmap": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", - "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", - "engines": { - "node": ">=12" - } - }, "node_modules/intl-tel-input": { "version": "17.0.21", "resolved": "https://registry.npmjs.org/intl-tel-input/-/intl-tel-input-17.0.21.tgz", @@ -6561,14 +6163,6 @@ "node": ">=10" } }, - "node_modules/lucide-react": { - "version": "0.356.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.356.0.tgz", - "integrity": "sha512-MDInjLrmZToccH2UxEshntujBlFwtOofGB22FN/eg39FfGVYV1TT1eMIv2j4rdaTJBpYjUuX7fEo9pwYkNFgwA==", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/magic-string": { "version": "0.27.0", "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", @@ -9127,19 +8721,6 @@ "node": ">=0.10.0" } }, - "node_modules/react-day-picker": { - "version": "8.10.0", - "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.0.tgz", - "integrity": "sha512-mz+qeyrOM7++1NCb1ARXmkjMkzWVh2GL9YiPbRjKe0zHccvekk4HE+0MPOZOrosn8r8zTHIIeOUXTmXRqmkRmg==", - "funding": { - "type": "individual", - "url": "https://github.com/sponsors/gpbl" - }, - "peerDependencies": { - "date-fns": "^2.28.0 || ^3.0.0", - "react": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/react-display-name": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.5.tgz", @@ -9203,6 +8784,14 @@ "react": "^0.14.0 || ^15.0.0 || ^16.0.0-0 || ^17.0.0-0 || ^18.0.0-0" } }, + "node_modules/react-icons": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/react-icons/-/react-icons-5.0.1.tgz", + "integrity": "sha512-WqLZJ4bLzlhmsvme6iFdgO8gfZP17rfjYEJ2m9RsZjZ+cc4k1hTzknEz63YS1MeT50kVzoa1Nz36f4BEx+Wigw==", + "peerDependencies": { + "react": "*" + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -9276,20 +8865,6 @@ "react": ">= 16.3" } }, - "node_modules/react-smooth": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.0.tgz", - "integrity": "sha512-2NMXOBY1uVUQx1jBeENGA497HK20y6CPGYL1ZnJLeoQ8rrc3UfmOM82sRxtzpcoCkUMy4CS0RGylfuVhuFjBgg==", - "dependencies": { - "fast-equals": "^5.0.1", - "prop-types": "^15.8.1", - "react-transition-group": "^4.4.5" - }, - "peerDependencies": { - "react": "^16.8.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/react-syntax-highlighter": { "version": "15.5.0", "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", @@ -9305,30 +8880,6 @@ "react": ">= 0.14.0" } }, - "node_modules/react-transition-group": { - "version": "4.4.5", - "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", - "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", - "dependencies": { - "@babel/runtime": "^7.5.5", - "dom-helpers": "^5.0.1", - "loose-envify": "^1.4.0", - "prop-types": "^15.6.2" - }, - "peerDependencies": { - "react": ">=16.6.0", - "react-dom": ">=16.6.0" - } - }, - "node_modules/react-transition-state": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/react-transition-state/-/react-transition-state-2.1.1.tgz", - "integrity": "sha512-kQx5g1FVu9knoz1T1WkapjUgFz08qQ/g1OmuWGi3/AoEFfS0kStxrPlZx81urjCXdz2d+1DqLpU6TyLW/Ro04Q==", - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, "node_modules/react-youtube": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/react-youtube/-/react-youtube-10.1.0.tgz", @@ -9364,44 +8915,6 @@ "node": ">=8.10.0" } }, - "node_modules/recharts": { - "version": "2.12.0", - "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.0.tgz", - "integrity": "sha512-rVNcdNQ5b7+40Ue7mcEKZJyEv+3SUk2bDEVvOyXPDXXVE7TU3lrvnJUgAvO36hSzhRP2DnAamKXvHLFIFOU0Ww==", - "dependencies": { - "clsx": "^2.0.0", - "eventemitter3": "^4.0.1", - "lodash": "^4.17.19", - "react-is": "^16.10.2", - "react-smooth": "^4.0.0", - "recharts-scale": "^0.4.4", - "tiny-invariant": "^1.3.1", - "victory-vendor": "^36.6.8" - }, - "engines": { - "node": ">=14" - }, - "peerDependencies": { - "react": "^16.0.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" - } - }, - "node_modules/recharts-scale": { - "version": "0.4.5", - "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", - "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", - "dependencies": { - "decimal.js-light": "^2.4.1" - } - }, - "node_modules/recharts/node_modules/clsx": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", - "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", - "engines": { - "node": ">=6" - } - }, "node_modules/reflect.getprototypeof": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", @@ -10385,20 +9898,6 @@ "node": ">=0.10.0" } }, - "node_modules/tabbable": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", - "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" - }, - "node_modules/tailwind-merge": { - "version": "1.14.0", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz", - "integrity": "sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, "node_modules/tailwindcss": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", @@ -10565,11 +10064,6 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, - "node_modules/tiny-invariant": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.1.tgz", - "integrity": "sha512-AD5ih2NlSssTCwsMznbvwMZpJ1cbhkGd2uueNxzv2jDlEeZdU04JQfRnggJQ8DrcVBGjAsCKwFBbDlVNtEMlzw==" - }, "node_modules/tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", @@ -11137,27 +10631,6 @@ "url": "https://opencollective.com/unified" } }, - "node_modules/victory-vendor": { - "version": "36.9.1", - "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.1.tgz", - "integrity": "sha512-+pZIP+U3pEJdDCeFmsXwHzV7vNHQC/eIbHklfe2ZCZqayYRH7lQbHcVgsJ0XOOv27hWs4jH4MONgXxHMObTMSA==", - "dependencies": { - "@types/d3-array": "^3.0.3", - "@types/d3-ease": "^3.0.0", - "@types/d3-interpolate": "^3.0.1", - "@types/d3-scale": "^4.0.2", - "@types/d3-shape": "^3.1.0", - "@types/d3-time": "^3.0.0", - "@types/d3-timer": "^3.0.0", - "d3-array": "^3.1.6", - "d3-ease": "^3.0.1", - "d3-interpolate": "^3.0.1", - "d3-scale": "^4.0.2", - "d3-shape": "^3.1.0", - "d3-time": "^3.0.0", - "d3-timer": "^3.0.1" - } - }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", diff --git a/agenta-web/package.json b/agenta-web/package.json index 87d3e3fb67..8fa32f5656 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -32,6 +32,7 @@ "@next/mdx": "^13.4.13", "@remixicon/react": "^4.1.1", "@sentry/nextjs": "^7.77.0", + "@tailwindcss/forms": "^0.5.7", "@types/diff": "^5.0.9", "@types/js-beautify": "^1.14.0", "@types/lodash": "^4.14.201", From 301406e9ebff2ec6922d967815da7fb32fbf7232 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Thu, 4 Apr 2024 15:04:57 +0100 Subject: [PATCH 364/539] installed missing tremor package --- agenta-web/package-lock.json | 409 ++++++++++++++++++++++++++++++++++- agenta-web/package.json | 1 + 2 files changed, 408 insertions(+), 2 deletions(-) diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index b8b79f607f..380ef51a56 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -22,6 +22,7 @@ "@remixicon/react": "^4.1.1", "@sentry/nextjs": "^7.77.0", "@tailwindcss/forms": "^0.5.7", + "@tremor/react": "^3.15.0", "@types/diff": "^5.0.9", "@types/js-beautify": "^1.14.0", "@types/lodash": "^4.14.201", @@ -391,6 +392,54 @@ "node": "^12.22.0 || ^14.17.0 || >=16.0.0" } }, + "node_modules/@floating-ui/core": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@floating-ui/core/-/core-1.6.0.tgz", + "integrity": "sha512-PcF++MykgmTj3CIyOQbKA/hDzOAiqI3mhuoN44WRCopIs1sgoDoU4oty4Jtqaj/y3oDU6fnVSm4QG0a3t5i0+g==", + "dependencies": { + "@floating-ui/utils": "^0.2.1" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/@floating-ui/dom/-/dom-1.6.3.tgz", + "integrity": "sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==", + "dependencies": { + "@floating-ui/core": "^1.0.0", + "@floating-ui/utils": "^0.2.0" + } + }, + "node_modules/@floating-ui/react": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/@floating-ui/react/-/react-0.19.2.tgz", + "integrity": "sha512-JyNk4A0Ezirq8FlXECvRtQOX/iBe5Ize0W/pLkrZjfHW9GUV7Xnq6zm6fyZuQzaHHqEnVizmvlA96e1/CkZv+w==", + "dependencies": { + "@floating-ui/react-dom": "^1.3.0", + "aria-hidden": "^1.1.3", + "tabbable": "^6.0.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/react-dom": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@floating-ui/react-dom/-/react-dom-1.3.0.tgz", + "integrity": "sha512-htwHm67Ji5E/pROEAr7f8IKFShuiCKHwUC/UY4vC3I5jiSvGFAYnSYiZO5MlGmads+QqvUkR9ANHEguGrDv72g==", + "dependencies": { + "@floating-ui/dom": "^1.2.1" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@floating-ui/utils/-/utils-0.2.1.tgz", + "integrity": "sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==" + }, "node_modules/@headlessui/react": { "version": "1.7.18", "resolved": "https://registry.npmjs.org/@headlessui/react/-/react-1.7.18.tgz", @@ -1226,6 +1275,25 @@ "url": "https://github.com/sponsors/tannerlinsley" } }, + "node_modules/@tremor/react": { + "version": "3.15.0", + "resolved": "https://registry.npmjs.org/@tremor/react/-/react-3.15.0.tgz", + "integrity": "sha512-TNhLzlGV9ph0Bzd7uTFHaE7Je9diIDuqt7Khnm5XkqO7y0jTE+9aGT/gcV6qTZV/9dfkcv8Aw1J/NpxH+hynGQ==", + "dependencies": { + "@floating-ui/react": "^0.19.2", + "@headlessui/react": "^1.7.18", + "@headlessui/tailwindcss": "^0.2.0", + "date-fns": "^2.30.0", + "react-day-picker": "^8.9.1", + "react-transition-state": "^2.1.1", + "recharts": "^2.10.3", + "tailwind-merge": "^1.14.0" + }, + "peerDependencies": { + "react": "^18.0.0", + "react-dom": ">=16.6.0" + } + }, "node_modules/@types/acorn": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/@types/acorn/-/acorn-4.0.6.tgz", @@ -1234,6 +1302,60 @@ "@types/estree": "*" } }, + "node_modules/@types/d3-array": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@types/d3-array/-/d3-array-3.2.1.tgz", + "integrity": "sha512-Y2Jn2idRrLzUfAKV2LyRImR+y4oa2AntrgID95SHJxuMUrkNXmanDSed71sRNZysveJVt1hLLemQZIady0FpEg==" + }, + "node_modules/@types/d3-color": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/@types/d3-color/-/d3-color-3.1.3.tgz", + "integrity": "sha512-iO90scth9WAbmgv7ogoq57O9YpKmFBbmoEoCHDB2xMBY0+/KVrqAaCDyCE16dUspeOvIxFFRI+0sEtqDqy2b4A==" + }, + "node_modules/@types/d3-ease": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-ease/-/d3-ease-3.0.2.tgz", + "integrity": "sha512-NcV1JjO5oDzoK26oMzbILE6HW7uVXOHLQvHshBUW4UMdZGfiY6v5BeQwh9a9tCzv+CeefZQHJt5SRgK154RtiA==" + }, + "node_modules/@types/d3-interpolate": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/d3-interpolate/-/d3-interpolate-3.0.4.tgz", + "integrity": "sha512-mgLPETlrpVV1YRJIglr4Ez47g7Yxjl1lj7YKsiMCb27VJH9W8NVM6Bb9d8kkpG/uAQS5AmbA48q2IAolKKo1MA==", + "dependencies": { + "@types/d3-color": "*" + } + }, + "node_modules/@types/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@types/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-P2dlU/q51fkOc/Gfl3Ul9kicV7l+ra934qBFXCFhrZMOL6du1TM0pm1ThYvENukyOn5h9v+yMJ9Fn5JK4QozrQ==" + }, + "node_modules/@types/d3-scale": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/@types/d3-scale/-/d3-scale-4.0.8.tgz", + "integrity": "sha512-gkK1VVTr5iNiYJ7vWDI+yUFFlszhNMtVeneJ6lUTKPjprsvLLI9/tgEGiXJOnlINJA8FyA88gfnQsHbybVZrYQ==", + "dependencies": { + "@types/d3-time": "*" + } + }, + "node_modules/@types/d3-shape": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/@types/d3-shape/-/d3-shape-3.1.6.tgz", + "integrity": "sha512-5KKk5aKGu2I+O6SONMYSNflgiP0WfZIQvVUMan50wHsLG1G94JlxEVnCpQARfTtzytuY0p/9PXXZb3I7giofIA==", + "dependencies": { + "@types/d3-path": "*" + } + }, + "node_modules/@types/d3-time": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/d3-time/-/d3-time-3.0.3.tgz", + "integrity": "sha512-2p6olUZ4w3s+07q3Tm2dbiMZy5pCDfYwtLXXHUnVzXgQlZ/OyPtUz6OL382BkOuGlLXqfT+wqv8Fw2v8/0geBw==" + }, + "node_modules/@types/d3-timer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/d3-timer/-/d3-timer-3.0.2.tgz", + "integrity": "sha512-Ps3T8E8dZDam6fUyNiMkekK3XUsaUEik+idO9/YjPtfj2qruF8tFBXS7XhtE4iIXBLxhmLjP3SXpLhVf21I9Lw==" + }, "node_modules/@types/debug": { "version": "4.1.12", "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", @@ -1976,6 +2098,17 @@ "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==" }, + "node_modules/aria-hidden": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/aria-hidden/-/aria-hidden-1.2.4.tgz", + "integrity": "sha512-y+CcFFwelSXpLZk/7fMB2mUbGtX9lKycf1MWJ7CaTIERyitVlyQx6C+sxcROU2BAJ24OiZyK+8wj2i8AlBoS3A==", + "dependencies": { + "tslib": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/aria-query": { "version": "5.3.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", @@ -3045,6 +3178,116 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/d3-array": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz", + "integrity": "sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg==", + "dependencies": { + "internmap": "1 - 2" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-color": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz", + "integrity": "sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-ease": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-ease/-/d3-ease-3.0.1.tgz", + "integrity": "sha512-wR/XK3D3XcLIZwpbvQwQ5fK+8Ykds1ip7A2Txe0yxncXSdq1L9skcG7blcedkOX+ZcgxGAmLX1FrRGbADwzi0w==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-format": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz", + "integrity": "sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-interpolate": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz", + "integrity": "sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g==", + "dependencies": { + "d3-color": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-path": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-path/-/d3-path-3.1.0.tgz", + "integrity": "sha512-p3KP5HCf/bvjBSSKuXid6Zqijx7wIfNW+J/maPs+iwR35at5JCbLUT0LzF1cnjbCHWhqzQTIN2Jpe8pRebIEFQ==", + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-scale": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/d3-scale/-/d3-scale-4.0.2.tgz", + "integrity": "sha512-GZW464g1SH7ag3Y7hXjf8RoUuAFIqklOAq3MRl4OaWabTFJY9PN/E1YklhXLh+OQ3fM9yS2nOkCoS+WLZ6kvxQ==", + "dependencies": { + "d3-array": "2.10.0 - 3", + "d3-format": "1 - 3", + "d3-interpolate": "1.2.0 - 3", + "d3-time": "2.1.1 - 3", + "d3-time-format": "2 - 4" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-shape": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/d3-shape/-/d3-shape-3.2.0.tgz", + "integrity": "sha512-SaLBuwGm3MOViRq2ABk3eLoxwZELpH6zhl3FbAoJ7Vm1gofKx6El1Ib5z23NUEhF9AsGl7y+dzLe5Cw2AArGTA==", + "dependencies": { + "d3-path": "^3.1.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/d3-time/-/d3-time-3.1.0.tgz", + "integrity": "sha512-VqKjzBLejbSMT4IgbmVgDjpkYrNWUYJnbCGo874u7MMKIWsILRX+OpX/gTk8MqjpT1A/c6HY2dCA77ZN0lkQ2Q==", + "dependencies": { + "d3-array": "2 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-time-format": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/d3-time-format/-/d3-time-format-4.1.0.tgz", + "integrity": "sha512-dJxPBlzC7NugB2PDLwo9Q8JiTR3M3e4/XANkreKSUxF8vvXKqm1Yfq4Q5dl8budlunRVlUUaDUgFt7eA8D6NLg==", + "dependencies": { + "d3-time": "1 - 3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/d3-timer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/d3-timer/-/d3-timer-3.0.1.tgz", + "integrity": "sha512-ndfJ/JxxMd3nw31uyKoY2naivF+r29V+Lc0svZxe1JvvIRmi8hUsrMvdOwgS1o6uBHmiz91geQ0ylPP0aj1VUA==", + "engines": { + "node": ">=12" + } + }, "node_modules/damerau-levenshtein": { "version": "1.0.8", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", @@ -3066,8 +3309,6 @@ "version": "2.30.0", "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-2.30.0.tgz", "integrity": "sha512-fnULvOpxnC5/Vg3NCiWelDsLiUc9bRwAPs/+LfTLNvetFCtCTN+yQz15C/fs4AwX1R9K5GLtLfn8QW+dWisaAw==", - "optional": true, - "peer": true, "dependencies": { "@babel/runtime": "^7.21.0" }, @@ -3100,6 +3341,11 @@ } } }, + "node_modules/decimal.js-light": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/decimal.js-light/-/decimal.js-light-2.5.1.tgz", + "integrity": "sha512-qIMFpTMZmny+MMIitAB6D7iVPEorVw6YQRWkvarTkT4tBeSLLiHzcwj6q0MmYSFCiVpiqPJTJEYIrpcPzVEIvg==" + }, "node_modules/decode-named-character-reference": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", @@ -3211,6 +3457,15 @@ "node": ">=6.0.0" } }, + "node_modules/dom-helpers": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/dom-helpers/-/dom-helpers-5.2.1.tgz", + "integrity": "sha512-nRCa7CK3VTrM2NmGkIy4cbK7IZlgBE/PYMn55rrXefr5xXDP0LdtfPnblFDoVdcAfslJ7or6iqAUnx0CCGIWQA==", + "dependencies": { + "@babel/runtime": "^7.8.7", + "csstype": "^3.0.2" + } + }, "node_modules/dotenv": { "version": "16.3.1", "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-16.3.1.tgz", @@ -3955,6 +4210,11 @@ "integrity": "sha512-tYUSVOGeQPKt/eC1ABfhHy5Xd96N3oIijJvN3O9+TsC28T5V9yX9oEfEK5faP0EFSNVOG97qtAS68GBrQB2hDg==", "dev": true }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==" + }, "node_modules/events": { "version": "3.3.0", "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", @@ -4038,6 +4298,14 @@ "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==" }, + "node_modules/fast-equals": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/fast-equals/-/fast-equals-5.0.1.tgz", + "integrity": "sha512-WF1Wi8PwwSY7/6Kx0vKXtw8RwuSGoM1bvDaJbu7MxDlR1vovZjIAKrnzyrThgAjm6JDTu0fVgWXDlMGspodfoQ==", + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/fast-glob": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", @@ -4906,6 +5174,14 @@ "node": ">= 0.4" } }, + "node_modules/internmap": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz", + "integrity": "sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg==", + "engines": { + "node": ">=12" + } + }, "node_modules/intl-tel-input": { "version": "17.0.21", "resolved": "https://registry.npmjs.org/intl-tel-input/-/intl-tel-input-17.0.21.tgz", @@ -8721,6 +8997,19 @@ "node": ">=0.10.0" } }, + "node_modules/react-day-picker": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/react-day-picker/-/react-day-picker-8.10.0.tgz", + "integrity": "sha512-mz+qeyrOM7++1NCb1ARXmkjMkzWVh2GL9YiPbRjKe0zHccvekk4HE+0MPOZOrosn8r8zTHIIeOUXTmXRqmkRmg==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/gpbl" + }, + "peerDependencies": { + "date-fns": "^2.28.0 || ^3.0.0", + "react": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-display-name": { "version": "0.2.5", "resolved": "https://registry.npmjs.org/react-display-name/-/react-display-name-0.2.5.tgz", @@ -8865,6 +9154,20 @@ "react": ">= 16.3" } }, + "node_modules/react-smooth": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/react-smooth/-/react-smooth-4.0.1.tgz", + "integrity": "sha512-OE4hm7XqR0jNOq3Qmk9mFLyd6p2+j6bvbPJ7qlB7+oo0eNcL2l7WQzG6MBnT3EXY6xzkLMUBec3AfewJdA0J8w==", + "dependencies": { + "fast-equals": "^5.0.1", + "prop-types": "^15.8.1", + "react-transition-group": "^4.4.5" + }, + "peerDependencies": { + "react": "^16.8.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.8.0 || ^17.0.0 || ^18.0.0" + } + }, "node_modules/react-syntax-highlighter": { "version": "15.5.0", "resolved": "https://registry.npmjs.org/react-syntax-highlighter/-/react-syntax-highlighter-15.5.0.tgz", @@ -8880,6 +9183,30 @@ "react": ">= 0.14.0" } }, + "node_modules/react-transition-group": { + "version": "4.4.5", + "resolved": "https://registry.npmjs.org/react-transition-group/-/react-transition-group-4.4.5.tgz", + "integrity": "sha512-pZcd1MCJoiKiBR2NRxeCRg13uCXbydPnmB4EOeRrY7480qNWO8IIgQG6zlDkm6uRMsURXPuKq0GWtiM59a5Q6g==", + "dependencies": { + "@babel/runtime": "^7.5.5", + "dom-helpers": "^5.0.1", + "loose-envify": "^1.4.0", + "prop-types": "^15.6.2" + }, + "peerDependencies": { + "react": ">=16.6.0", + "react-dom": ">=16.6.0" + } + }, + "node_modules/react-transition-state": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/react-transition-state/-/react-transition-state-2.1.1.tgz", + "integrity": "sha512-kQx5g1FVu9knoz1T1WkapjUgFz08qQ/g1OmuWGi3/AoEFfS0kStxrPlZx81urjCXdz2d+1DqLpU6TyLW/Ro04Q==", + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, "node_modules/react-youtube": { "version": "10.1.0", "resolved": "https://registry.npmjs.org/react-youtube/-/react-youtube-10.1.0.tgz", @@ -8915,6 +9242,44 @@ "node": ">=8.10.0" } }, + "node_modules/recharts": { + "version": "2.12.4", + "resolved": "https://registry.npmjs.org/recharts/-/recharts-2.12.4.tgz", + "integrity": "sha512-dM4skmk4fDKEDjL9MNunxv6zcTxePGVEzRnLDXALRpfJ85JoQ0P0APJ/CoJlmnQI0gPjBlOkjzrwrfQrRST3KA==", + "dependencies": { + "clsx": "^2.0.0", + "eventemitter3": "^4.0.1", + "lodash": "^4.17.21", + "react-is": "^16.10.2", + "react-smooth": "^4.0.0", + "recharts-scale": "^0.4.4", + "tiny-invariant": "^1.3.1", + "victory-vendor": "^36.6.8" + }, + "engines": { + "node": ">=14" + }, + "peerDependencies": { + "react": "^16.0.0 || ^17.0.0 || ^18.0.0", + "react-dom": "^16.0.0 || ^17.0.0 || ^18.0.0" + } + }, + "node_modules/recharts-scale": { + "version": "0.4.5", + "resolved": "https://registry.npmjs.org/recharts-scale/-/recharts-scale-0.4.5.tgz", + "integrity": "sha512-kivNFO+0OcUNu7jQquLXAxz1FIwZj8nrj+YkOKc5694NbjCvcT6aSZiIzNzd2Kul4o4rTto8QVR9lMNtxD4G1w==", + "dependencies": { + "decimal.js-light": "^2.4.1" + } + }, + "node_modules/recharts/node_modules/clsx": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.0.tgz", + "integrity": "sha512-m3iNNWpd9rl3jvvcBnu70ylMdrXt8Vlq4HYadnU5fwcOtvkSQWPmj7amUcDT2qYI7risszBjI5AUIUox9D16pg==", + "engines": { + "node": ">=6" + } + }, "node_modules/reflect.getprototypeof": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.4.tgz", @@ -9898,6 +10263,20 @@ "node": ">=0.10.0" } }, + "node_modules/tabbable": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/tabbable/-/tabbable-6.2.0.tgz", + "integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==" + }, + "node_modules/tailwind-merge": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-1.14.0.tgz", + "integrity": "sha512-3mFKyCo/MBcgyOTlrY8T7odzZFx+w+qKSMAmdFzRvqBfLlSigU6TZnlFHK0lkMwj9Bj8OYU+9yW9lmGuS0QEnQ==", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, "node_modules/tailwindcss": { "version": "3.4.1", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.4.1.tgz", @@ -10064,6 +10443,11 @@ "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==", "dev": true }, + "node_modules/tiny-invariant": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/tiny-invariant/-/tiny-invariant-1.3.3.tgz", + "integrity": "sha512-+FbBPE1o9QAYvviau/qC5SE3caw21q3xkvWKBtja5vgqOWIHHJ3ioaq1VPfn/Szqctz2bU/oYeKd9/z5BL+PVg==" + }, "node_modules/tiny-warning": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/tiny-warning/-/tiny-warning-1.0.3.tgz", @@ -10631,6 +11015,27 @@ "url": "https://opencollective.com/unified" } }, + "node_modules/victory-vendor": { + "version": "36.9.2", + "resolved": "https://registry.npmjs.org/victory-vendor/-/victory-vendor-36.9.2.tgz", + "integrity": "sha512-PnpQQMuxlwYdocC8fIJqVXvkeViHYzotI+NJrCuav0ZYFoq912ZHBk3mCeuj+5/VpodOjPe1z0Fk2ihgzlXqjQ==", + "dependencies": { + "@types/d3-array": "^3.0.3", + "@types/d3-ease": "^3.0.0", + "@types/d3-interpolate": "^3.0.1", + "@types/d3-scale": "^4.0.2", + "@types/d3-shape": "^3.1.0", + "@types/d3-time": "^3.0.0", + "@types/d3-timer": "^3.0.0", + "d3-array": "^3.1.6", + "d3-ease": "^3.0.1", + "d3-interpolate": "^3.0.1", + "d3-scale": "^4.0.2", + "d3-shape": "^3.1.0", + "d3-time": "^3.0.0", + "d3-timer": "^3.0.1" + } + }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", diff --git a/agenta-web/package.json b/agenta-web/package.json index 8fa32f5656..0da959bc80 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -33,6 +33,7 @@ "@remixicon/react": "^4.1.1", "@sentry/nextjs": "^7.77.0", "@tailwindcss/forms": "^0.5.7", + "@tremor/react": "^3.15.0", "@types/diff": "^5.0.9", "@types/js-beautify": "^1.14.0", "@types/lodash": "^4.14.201", From 1f3cc649d32edbd86f35beb53d4aa8e0668fb99a Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Thu, 4 Apr 2024 18:38:54 +0200 Subject: [PATCH 365/539] remove docker_hub_repo_owner and docker_hub_repo_name to use AGENTA_TEMPLATE_REPO --- agenta-backend/agenta_backend/config.py | 5 +---- agenta-backend/agenta_backend/config.toml | 4 +--- .../agenta_backend/services/templates_manager.py | 14 +++++--------- 3 files changed, 7 insertions(+), 16 deletions(-) diff --git a/agenta-backend/agenta_backend/config.py b/agenta-backend/agenta_backend/config.py index 56965077b3..f08c94341a 100644 --- a/agenta-backend/agenta_backend/config.py +++ b/agenta-backend/agenta_backend/config.py @@ -12,8 +12,6 @@ os.environ["REGISTRY"] = toml_config["registry"] os.environ["DATABASE_URL"] = toml_config["database_url"] os.environ["DOCKER_HUB_URL"] = toml_config["docker_hub_url"] -os.environ["DOCKER_HUB_REPO_OWNER"] = toml_config["docker_hub_repo_owner"] -os.environ["DOCKER_HUB_REPO_NAME"] = toml_config["docker_hub_repo_name"] os.environ["DATABASE_MODE"] = os.environ.get("DATABASE_MODE", "v2") @@ -22,8 +20,7 @@ class Settings(BaseSettings): registry: str database_url: str docker_hub_url: str - docker_hub_repo_owner: str - docker_hub_repo_name: str + settings = Settings() diff --git a/agenta-backend/agenta_backend/config.toml b/agenta-backend/agenta_backend/config.toml index c5b0f0b5aa..f3f6547f99 100644 --- a/agenta-backend/agenta_backend/config.toml +++ b/agenta-backend/agenta_backend/config.toml @@ -1,6 +1,4 @@ docker_registry_url="registry:5001" registry="agentaai" database_url="sqlite:////db/deploy.db" -docker_hub_url="https://hub.docker.com/v2/repositories/{}/{}" -docker_hub_repo_owner="agentaai" -docker_hub_repo_name="templates_v2" +docker_hub_url="https://hub.docker.com/v2/repositories" diff --git a/agenta-backend/agenta_backend/services/templates_manager.py b/agenta-backend/agenta_backend/services/templates_manager.py index 0391e214fa..43998af7f2 100644 --- a/agenta-backend/agenta_backend/services/templates_manager.py +++ b/agenta-backend/agenta_backend/services/templates_manager.py @@ -15,6 +15,7 @@ from agenta_backend.services import container_manager templates_base_url = os.getenv("TEMPLATES_BASE_URL") +agenta_template_repo = os.getenv("AGENTA_TEMPLATE_REPO") from typing import Union @@ -60,13 +61,10 @@ async def update_and_sync_templates(cache: bool = True) -> None: ) print(f"Template {template_id} added to the database.") - # Get docker hub config - repo_owner = settings.docker_hub_repo_owner - repo_name = settings.docker_hub_repo_name # Pull image from DockerHub image_res = await container_manager.pull_docker_image( - repo_name=f"{repo_owner}/{repo_name}", tag=temp["name"] + repo_name=f"{agenta_template_repo}", tag=temp["name"] ) print(f"Template Image {image_res[0]['id']} pulled from DockerHub.") @@ -90,8 +88,7 @@ async def retrieve_templates_from_dockerhub_cached(cache: bool) -> List[dict]: # If not cached, fetch data from Docker Hub and cache it in Redis response = await retrieve_templates_from_dockerhub( settings.docker_hub_url, - settings.docker_hub_repo_owner, - settings.docker_hub_repo_name, + agenta_template_repo, ) response_data = response["results"] @@ -130,7 +127,7 @@ async def retrieve_templates_info_from_s3( @backoff.on_exception(backoff.expo, (ConnectError, CancelledError), max_tries=5) async def retrieve_templates_from_dockerhub( - url: str, repo_owner: str, repo_name: str + url: str, repo_name: str ) -> Union[List[dict], dict]: """ Business logic to retrieve templates from DockerHub. @@ -139,7 +136,6 @@ async def retrieve_templates_from_dockerhub( url (str): The URL endpoint for retrieving templates. Should contain placeholders `{}` for the `repo_owner` and `repo_name` values to be inserted. For example: `https://hub.docker.com/v2/repositories/{}/{}/tags`. - repo_owner (str): The owner or organization of the repository from which templates are to be retrieved. repo_name (str): The name of the repository where the templates are located. Returns: @@ -148,7 +144,7 @@ async def retrieve_templates_from_dockerhub( async with httpx.AsyncClient() as client: response = await client.get( - f"{url.format(repo_owner, repo_name)}/tags", timeout=10 + f"{url}/{repo_name}/tags", timeout=10 ) if response.status_code == 200: response_data = response.json() From da6a2d84b6352f87fdb00fffee7df82f731fc292 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 5 Apr 2024 12:09:26 +0200 Subject: [PATCH 366/539] refactor openai parser --- agenta-web/src/lib/helpers/openapi_parser.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/agenta-web/src/lib/helpers/openapi_parser.ts b/agenta-web/src/lib/helpers/openapi_parser.ts index 261429ed67..e9281100f4 100644 --- a/agenta-web/src/lib/helpers/openapi_parser.ts +++ b/agenta-web/src/lib/helpers/openapi_parser.ts @@ -32,12 +32,16 @@ export const openAISchemaToParameters = (schema: GenericObject): Parameter[] => : false, type: param["x-parameter"] ? determineType(param["x-parameter"]) : "string", default: param.default, - enum: param["enum"] ? param.enum : [], - minimum: param["minimum"] ? param.minimum : 0, - maximum: param["maximum"] ? param.maximum : 1, required: !!schema.components.schemas[bodySchemaName]?.required?.includes(name), } - // above should be refactored to include only appropriate fields per x-parameter type + + if (parameter.type === "array") { + parameter.enum = param["enum"] + } + if (parameter.type === "float" || parameter.type === "int") { + parameter.minimum = param["minimum"] + parameter.maximum = param["maximum"] + } if (parameter.type === "grouped_choice") { parameter.choices = param["choices"] } From cd45e1844b9a7c180dba4b416104dcb28a5fc6ce Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 5 Apr 2024 12:10:00 +0200 Subject: [PATCH 367/539] format --- agenta-backend/agenta_backend/config.py | 1 - agenta-backend/agenta_backend/services/templates_manager.py | 5 +---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/config.py b/agenta-backend/agenta_backend/config.py index f08c94341a..a84eb0341a 100644 --- a/agenta-backend/agenta_backend/config.py +++ b/agenta-backend/agenta_backend/config.py @@ -22,5 +22,4 @@ class Settings(BaseSettings): docker_hub_url: str - settings = Settings() diff --git a/agenta-backend/agenta_backend/services/templates_manager.py b/agenta-backend/agenta_backend/services/templates_manager.py index 43998af7f2..cd5f8812c5 100644 --- a/agenta-backend/agenta_backend/services/templates_manager.py +++ b/agenta-backend/agenta_backend/services/templates_manager.py @@ -61,7 +61,6 @@ async def update_and_sync_templates(cache: bool = True) -> None: ) print(f"Template {template_id} added to the database.") - # Pull image from DockerHub image_res = await container_manager.pull_docker_image( repo_name=f"{agenta_template_repo}", tag=temp["name"] @@ -143,9 +142,7 @@ async def retrieve_templates_from_dockerhub( """ async with httpx.AsyncClient() as client: - response = await client.get( - f"{url}/{repo_name}/tags", timeout=10 - ) + response = await client.get(f"{url}/{repo_name}/tags", timeout=10) if response.status_code == 200: response_data = response.json() return response_data From a8f37a52051d34e92de37361d0c0c2364c87b35c Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 5 Apr 2024 15:15:42 +0200 Subject: [PATCH 368/539] add assert --- agenta-cli/agenta/sdk/agenta_decorator.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index dc0ae686b0..8a1670858a 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -399,9 +399,9 @@ def find_in_schema(schema: dict, param_name: str, xparam: str): for param_name, param_val in params.items(): if isinstance(param_val, GroupedMultipleChoiceParam): subschema = find_in_schema(schema_to_override, param_name, "grouped_choice") - if subschema: - subschema["choices"] = param_val.choices - subschema["default"] = param_val.default + assert subschema, f"GroupedMultipleChoiceParam '{param_name}' is in the parameters but could not be found in the openapi.json" + subschema["choices"] = param_val.choices + subschema["default"] = param_val.default if isinstance(param_val, MultipleChoiceParam): subschema = find_in_schema(schema_to_override, param_name, "choice") default = str(param_val) From 4d14c1256e5f868800804584407edb42e4441334 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 5 Apr 2024 15:19:51 +0200 Subject: [PATCH 369/539] fix folder in fomat script --- format.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/format.sh b/format.sh index 58e7382923..9ba4887746 100755 --- a/format.sh +++ b/format.sh @@ -2,7 +2,7 @@ cd agenta-web npx prettier --write . cd ../agenta-backend black . -cd ../agenta-backend +cd ../agenta-cli black . cd ../examples black . \ No newline at end of file From f96a9d6f552f7969388d6451765942824c0b2492 Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 5 Apr 2024 15:20:10 +0200 Subject: [PATCH 370/539] format --- agenta-cli/agenta/sdk/agenta_decorator.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index 8a1670858a..9823970805 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -399,7 +399,9 @@ def find_in_schema(schema: dict, param_name: str, xparam: str): for param_name, param_val in params.items(): if isinstance(param_val, GroupedMultipleChoiceParam): subschema = find_in_schema(schema_to_override, param_name, "grouped_choice") - assert subschema, f"GroupedMultipleChoiceParam '{param_name}' is in the parameters but could not be found in the openapi.json" + assert ( + subschema + ), f"GroupedMultipleChoiceParam '{param_name}' is in the parameters but could not be found in the openapi.json" subschema["choices"] = param_val.choices subschema["default"] = param_val.default if isinstance(param_val, MultipleChoiceParam): From 94367073e12a3cc5a614fe48c6faa133a3f5e2fd Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 5 Apr 2024 16:08:04 +0200 Subject: [PATCH 371/539] print the model --- examples/what_to_do_today/app.py | 1 + 1 file changed, 1 insertion(+) diff --git a/examples/what_to_do_today/app.py b/examples/what_to_do_today/app.py index 411bc772c4..0abf51f636 100644 --- a/examples/what_to_do_today/app.py +++ b/examples/what_to_do_today/app.py @@ -74,6 +74,7 @@ async def generate( "Model {} does not support JSON response format".format(ag.config.model) ) + print("model: ", ag.config.model) response_format = ( {"type": "json_object"} if ag.config.force_json and ag.config.model in GPT_FORMAT_RESPONSE From c66aa4fcbd4caee2a1f44fbef685a0e8f9c00ffa Mon Sep 17 00:00:00 2001 From: Akrem Abayed Date: Fri, 5 Apr 2024 16:27:33 +0200 Subject: [PATCH 372/539] add emoji --- .github/workflows/bump-versions.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/bump-versions.yml b/.github/workflows/bump-versions.yml index 352cd0cc76..14eaebf888 100644 --- a/.github/workflows/bump-versions.yml +++ b/.github/workflows/bump-versions.yml @@ -1,4 +1,4 @@ -name: Bump versions +name: "🆙 Bump versions" on: workflow_dispatch: From ead87c555efd1889499d91f82cbe90ef68131fbc Mon Sep 17 00:00:00 2001 From: aakrem <6608260+aakrem@users.noreply.github.com> Date: Fri, 5 Apr 2024 14:29:28 +0000 Subject: [PATCH 373/539] Bump versions --- agenta-backend/pyproject.toml | 2 +- agenta-cli/pyproject.toml | 2 +- agenta-web/package-lock.json | 4 ++-- agenta-web/package.json | 2 +- 4 files changed, 5 insertions(+), 5 deletions(-) diff --git a/agenta-backend/pyproject.toml b/agenta-backend/pyproject.toml index 8d92bcf390..278d644a88 100644 --- a/agenta-backend/pyproject.toml +++ b/agenta-backend/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta_backend" -version = "0.12.6" +version = "0.12.7" description = "" authors = ["Mahmoud Mabrouk "] readme = "README.md" diff --git a/agenta-cli/pyproject.toml b/agenta-cli/pyproject.toml index f003cc8951..75af686c8f 100644 --- a/agenta-cli/pyproject.toml +++ b/agenta-cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta" -version = "0.12.6" +version = "0.12.7" description = "The SDK for agenta is an open-source LLMOps platform." readme = "README.md" authors = ["Mahmoud Mabrouk "] diff --git a/agenta-web/package-lock.json b/agenta-web/package-lock.json index cda12727c0..de74dd6cc5 100644 --- a/agenta-web/package-lock.json +++ b/agenta-web/package-lock.json @@ -1,12 +1,12 @@ { "name": "agenta", - "version": "0.12.6", + "version": "0.12.7", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "agenta", - "version": "0.12.6", + "version": "0.12.7", "dependencies": { "@ant-design/colors": "^7.0.0", "@ant-design/icons": "^5.0.1", diff --git a/agenta-web/package.json b/agenta-web/package.json index adc7c6ca2c..13e6363d8b 100644 --- a/agenta-web/package.json +++ b/agenta-web/package.json @@ -1,6 +1,6 @@ { "name": "agenta", - "version": "0.12.6", + "version": "0.12.7", "private": true, "engines": { "node": ">=18" From 9199107ec2cad5b01a86cff2c0f9488245fd9fae Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Sat, 6 Apr 2024 17:38:43 +0100 Subject: [PATCH 374/539] made textarea resizeable and added line breaks to ai critique text --- .../agenta_backend/resources/evaluators/evaluators.py | 2 +- .../pages/evaluations/evaluators/NewEvaluatorModal.tsx | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py index 3faab67016..cb20a13521 100644 --- a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py +++ b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py @@ -79,7 +79,7 @@ "prompt_template": { "label": "Prompt Template", "type": "text", - "default": "We have an LLM App that we want to evaluate its outputs. Based on the prompt and the parameters provided below evaluate the output based on the evaluation strategy below: Evaluation strategy: 0 to 10 0 is very bad and 10 is very good. Prompt: {llm_app_prompt_template} Inputs: country: {country} Correct Answer:{correct_answer} Evaluate this: {variant_output} Answer ONLY with one of the given grading or evaluation options.", + "default": "We have an LLM App that we want to evaluate its outputs. Based on the prompt and the parameters provided below evaluate the output based on the evaluation strategy below:\nEvaluation strategy: 0 to 10 0 is very bad and 10 is very good.\nPrompt: {llm_app_prompt_template}\nInputs: country: {country}\nCorrect Answer:{correct_answer}\nEvaluate this: {variant_output}\n\nAnswer ONLY with one of the given grading or evaluation options.", "description": "Template for AI critique prompts", "required": True, } diff --git a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx index bb67065b5b..6ea154af35 100644 --- a/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluators/NewEvaluatorModal.tsx @@ -174,7 +174,7 @@ const DynamicFormField: React.FC = ({ ) : type === "boolean" || type === "bool" ? ( ) : type === "text" ? ( - + ) : type === "code" ? ( Date: Sun, 7 Apr 2024 13:30:50 +0200 Subject: [PATCH 375/539] add injecting mistral and cohere keys --- .../agenta_backend/routers/app_router.py | 24 ++++++++++++------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/agenta-backend/agenta_backend/routers/app_router.py b/agenta-backend/agenta_backend/routers/app_router.py index 730cba1f15..a9b27b0b00 100644 --- a/agenta-backend/agenta_backend/routers/app_router.py +++ b/agenta-backend/agenta_backend/routers/app_router.py @@ -562,16 +562,24 @@ async def create_app_and_variant_from_template( else "Step 7: Starting variant and injecting environment variables" ) if isCloudEE(): - if not os.environ["OPENAI_API_KEY"]: + supported_llm_prodviders_keys = [ + "OPENAI_API_KEY", + "MISTRAL_API_KEY", + "COHERE_API_KEY", + ] + missing_keys = [ + key for key in supported_llm_prodviders_keys if not os.environ.get(key) + ] + if missing_keys: + missing_keys_str = ", ".join(missing_keys) raise Exception( - "Unable to start app container. Please file an issue by clicking on the button below.", + f"Unable to start app container. The following environment variables are missing: {missing_keys_str}. Please file an issue by clicking on the button below." ) - envvars = { - **(payload.env_vars or {}), - "OPENAI_API_KEY": os.environ[ - "OPENAI_API_KEY" - ], # order is important here - } + + envvars = {**(payload.env_vars or {})} + for key in supported_llm_prodviders_keys: + if os.environ.get(key): + envvars[key] = os.environ[key] else: envvars = {} if payload.env_vars is None else payload.env_vars await app_manager.start_variant(app_variant_db, envvars) From 728c55e32b7dce95d53bc36a191a51b1968dc231 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 5 Apr 2024 22:00:00 +0100 Subject: [PATCH 376/539] Refactor - added pagination filtering for traces/spans, update meta use to attributes, etc --- .../services/event_db_manager.py | 25 +++++++++++++++---- 1 file changed, 20 insertions(+), 5 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 1e7b48d2c4..9937fc482c 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -162,8 +162,8 @@ async def fetch_generation_spans( filters_query = {} if filters_param.environment is not None: filters_query["environment"] = filters_param.environment - # elif filters_param.variant is not None: TODO: improve in observability sdk - # filters_query["base_id"] = filters_param.variant + elif filters_param.variant is not None: + filters_query["variant_id"] = filters_param.variant spans_count = await base_spans_db.find(filters_query, fetch_links=True).count() # Fetch spans with pagination and sorting applied @@ -205,6 +205,7 @@ async def fetch_generation_span_detail(span_id: str) -> SpanDetail: return SpanDetail( **{ "id": str(span_db.id), + "name": span_db.name, "created_at": span_db.created_at.isoformat(), "variant": { "variant_id": str(app_variant_db.id), @@ -226,7 +227,7 @@ async def fetch_generation_span_detail(span_id: str) -> SpanDetail: ], "outputs": [span_db.output], }, - "config": span_db.meta.get("model_config"), + "config": span_db.attributes.get("model_config"), }, ) @@ -259,6 +260,20 @@ async def retrieve_observability_dashboard( for span in spans: observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) + if observability_data == []: + return ObservabilityDashboardData( + **{ + "data": [], + "total_count": 0, + "failure_rate": 0.0, + "total_cost": 0.0, + "avg_cost": 0.0, + "avg_latency": 0.0, + "total_tokens": 0, + "avg_tokens": 0, + } + ) + full_observability_data = helpers.fill_missing_data( data=observability_data, time_range=params.timeRange, @@ -319,8 +334,8 @@ async def fetch_traces( filters_query = {} if filters_param.environment is not None: filters_query["environment"] = filters_param.environment - # elif filters_param.variant is not None: TODO: improve in observability sdk - # filters_query["base_id"] = filters_param.variant + elif filters_param.variant is not None: + filters_query["variant_id"] = filters_param.variant traces_count = await base_traces_db.find(filters_query, fetch_links=True).count() # Fetch traces with pagination and sorting applied From da3deaaca2b628292c476f142c57d48cbda9b783 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 5 Apr 2024 22:00:26 +0100 Subject: [PATCH 377/539] Update - added support for nth tree for spans --- .../models/api/observability_models.py | 3 ++ .../agenta_backend/models/converters.py | 30 ++++++++++++++----- 2 files changed, 26 insertions(+), 7 deletions(-) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py index 68029c1936..e6efb78c38 100644 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ b/agenta-backend/agenta_backend/models/api/observability_models.py @@ -42,12 +42,15 @@ class SpanStatus(BaseModel): class Span(BaseModel): id: str + name: str + parent_span_id: Optional[str] created_at: datetime variant: SpanVariant environment: Optional[str] status: SpanStatus metadata: Dict[str, Any] user_id: Optional[str] + children: Optional[List["Span"]] class LLMTokens(BaseModel): diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index 4df1e87d91..769559abb2 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -498,17 +498,19 @@ def testset_db_to_pydantic(test_set_db: TestSetDB) -> TestSetOutput: async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: - spans: List[Span] = [] + child_spans: List[Span] = [] + spans_dict: Dict[str, Span] = {} + for span_db in spans_db: app_variant_db = await db_manager.fetch_app_variant_by_id( span_db.trace.variant_id ) - - span = Span( + spans_dict[str(span_db.id)] = Span( id=str(span_db.id), + name=span_db.name, created_at=span_db.created_at.isoformat(), variant=SpanVariant( - variant_id=str(app_variant_db.id), + variant_id=str(span_db.trace.variant_id), variant_name=app_variant_db.variant_name, revision=app_variant_db.revision, ), @@ -519,11 +521,25 @@ async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: "latency": span_db.get_latency(), "usage": span_db.tokens, }, - user_id="", + user_id=span_db.user, + parent_span_id=span_db.parent_span_id, ) - spans.append(span.dict(exclude_unset=True)) - return spans + for span_db in spans_db: + if span_db.parent_span_id: + parent_span = spans_dict.get(span_db.parent_span_id) + child_span = spans_dict[str(span_db.id)] + if parent_span: + if hasattr(parent_span, "children") and not parent_span.children: + parent_span.children = [] + + parent_span.children.append(child_span) + child_spans.append(child_span) + + top_level_spans = [span for span in spans_dict.values() if span not in child_spans] + return [ + span.dict(exclude_unset=True, exclude_none=True) for span in top_level_spans + ] async def traces_to_pydantic(traces_db: List[TraceDB]) -> List[Trace]: From 40dfa585fa9148435ea157d332f26d50b54d5071 Mon Sep 17 00:00:00 2001 From: Abram Date: Sun, 7 Apr 2024 03:45:54 +0100 Subject: [PATCH 378/539] Update - added logic to flush queue and its size --- agenta-cli/agenta/sdk/tracing/tasks_manager.py | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/agenta-cli/agenta/sdk/tracing/tasks_manager.py b/agenta-cli/agenta/sdk/tracing/tasks_manager.py index 6ca6421a20..ac54dbe435 100644 --- a/agenta-cli/agenta/sdk/tracing/tasks_manager.py +++ b/agenta-cli/agenta/sdk/tracing/tasks_manager.py @@ -70,7 +70,6 @@ class TaskQueue(object): def __init__(self, num_workers: int, logger: Logger): self.tasks = queue.Queue() # type: ignore - self._lock = threading.Lock() self._logger = logger self._thread_pool = ThreadPoolExecutor(max_workers=num_workers) @@ -138,3 +137,18 @@ def _handle_error_completion( future = self._thread_pool.submit(asyncio.run, task) # type: ignore future.result() + + def _get_size(self) -> int: + """Returns the approximate number of items in the queue.""" + + return self.tasks.qsize() + + def flush(self) -> None: + """Clears all items from the queue.""" + + q_size = self._get_size() + self._logger.info("Flushing queue...") + with self.tasks.mutex: # acts as a lock to ensure that only one thread can access the queue + self.tasks.join() + self._logger.info(f"Queue with {q_size} items flushed successfully") + return From 906ee7a52aa6ffa8638948b4a226d4aa0d07b749 Mon Sep 17 00:00:00 2001 From: Abram Date: Sun, 7 Apr 2024 03:46:31 +0100 Subject: [PATCH 379/539] Minor refactor - clean up cache observability data function --- .../agenta_backend/services/redis_cache_service.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py index a90dc9b829..41ade034cc 100644 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ b/agenta-backend/agenta_backend/services/redis_cache_service.py @@ -1,6 +1,8 @@ +# Stdlib Imports import json from typing import Any, Coroutine, Callable +# Own Imports from agenta_backend.utils import redis_utils from agenta_backend.models.api.observability_models import ObservabilityDashboardData @@ -18,10 +20,10 @@ async def cache_observability_data( redis = redis_utils.redis_connection() # Retrieve cache key and return data if it exists - # cached_data = redis.get(cache_key) - # if cached_data is not None: - # loaded_data = json.loads(cached_data) - # return loaded_data + cached_data = redis.get(cache_key) + if cached_data is not None: + loaded_data = json.loads(cached_data) + return loaded_data # Retrieve observability dashboard data and cache data for re-use data = await data_func(app_id, parameters) From 638e9efcc3eb2661cb87c9c489663697db2400d4 Mon Sep 17 00:00:00 2001 From: Abram Date: Sun, 7 Apr 2024 03:47:28 +0100 Subject: [PATCH 380/539] Minor refactor - set DEBUG to False and remove redundant imports --- agenta-cli/agenta/docker/docker_utils.py | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/agenta-cli/agenta/docker/docker_utils.py b/agenta-cli/agenta/docker/docker_utils.py index 69d3ffb11e..7a08d7f038 100644 --- a/agenta-cli/agenta/docker/docker_utils.py +++ b/agenta-cli/agenta/docker/docker_utils.py @@ -3,19 +3,15 @@ import tarfile import tempfile from pathlib import Path -from tempfile import TemporaryDirectory -import docker -from agenta.config import settings -from docker.models.images import Image logger = logging.getLogger(__name__) logger.setLevel(logging.DEBUG) -DEBUG = True +DEBUG = False -def create_dockerfile(out_folder: Path): +def create_dockerfile(out_folder: Path) -> Path: """Creates a dockerfile based on the template in the out_folder. Arguments: From deef70694442d0e6f8aa8bfcfbe18c504b602531 Mon Sep 17 00:00:00 2001 From: Abram Date: Sun, 7 Apr 2024 16:23:07 +0100 Subject: [PATCH 381/539] Refactor - raise exception in case of error in running execute_function --- agenta-cli/agenta/sdk/agenta_decorator.py | 31 +++---- agenta-cli/agenta/sdk/agenta_tracing.py | 106 ---------------------- 2 files changed, 13 insertions(+), 124 deletions(-) delete mode 100644 agenta-cli/agenta/sdk/agenta_tracing.py diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index b5c08dfec5..24d9e7f794 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -12,9 +12,8 @@ from tempfile import NamedTemporaryFile from typing import Any, Callable, Dict, Optional, Tuple, List -from fastapi.responses import JSONResponse -from fastapi import Body, FastAPI, UploadFile from fastapi.middleware.cors import CORSMiddleware +from fastapi import Body, FastAPI, UploadFile, HTTPException import agenta from .context import save_context @@ -85,7 +84,7 @@ async def wrapper(*args, **kwargs) -> Any: trace_name=func.__name__, inputs=func_params, config=api_config_params, - **{"environment": "playground"}, # type: ignore + environment="playground" # type: ignore #NOTE: wrapper is only called in playground ) ingest_files(func_params, ingestible_files) agenta.config.set(**api_config_params) @@ -94,15 +93,11 @@ async def wrapper(*args, **kwargs) -> Any: ) # End tracing - if isinstance(llm_result, JSONResponse): - result = {"message": str(llm_result), "total_tokens": 0, "cost": 0} - else: - result = { - "message": llm_result.message, - "total_tokens": llm_result.usage.total_tokens, - "cost": llm_result.cost, - } - tracing.end_trace(outputs=[result["message"]], total_tokens=result["total_tokens"], cost=result["cost"]) # type: ignore + tracing.end_trace( + outputs=[llm_result.message], + total_tokens=llm_result.usage.total_tokens, + cost=llm_result.cost + ) return llm_result @functools.wraps(func) @@ -235,18 +230,18 @@ async def execute_function(func: Callable[..., Any], *args, **func_params): if isinstance(result, str): return FuncResponse(message=result, latency=round(latency, 4)) # type: ignore except Exception as e: - return handle_exception(e) + handle_exception(e) return FuncResponse(message="Unexpected error occurred", latency=0) # type: ignore -def handle_exception(e: Exception) -> JSONResponse: - """Handle exceptions and return a JSONResponse.""" +def handle_exception(e: Exception): + """Handle exceptions.""" status_code: int = e.status_code if hasattr(e, "status_code") else 500 - traceback_str = traceback.format_exception(e, value=e, tb=e.__traceback__) - return JSONResponse( + traceback_str = traceback.format_exception(e, value=e, tb=e.__traceback__) # type: ignore + raise HTTPException( status_code=status_code, - content={"error": str(e), "traceback": "".join(traceback_str)}, + detail={"error": str(e), "traceback": "".join(traceback_str)}, ) diff --git a/agenta-cli/agenta/sdk/agenta_tracing.py b/agenta-cli/agenta/sdk/agenta_tracing.py deleted file mode 100644 index 3d83eeff63..0000000000 --- a/agenta-cli/agenta/sdk/agenta_tracing.py +++ /dev/null @@ -1,106 +0,0 @@ -# Stdlib Imports -import uuid -from datetime import datetime -from typing import Optional, Dict, Any, Optional - -# Own Imports -from agenta.client.backend import client -from agenta.client.backend.types.span_status import SpanStatus -from agenta.client.backend.client import AsyncObservabilityClient - - -class LLMTracing: - def __init__(self, base_url: str, api_key: Optional[str] = None): - self.base_url = base_url + "/api" - self.api_key = api_key if api_key is not None else "" - - def initialize_client(self) -> AsyncObservabilityClient: - return client.AsyncAgentaApi( - base_url=self.base_url, api_key=self.api_key, timeout=120 # type: ignore - ).observability - - async def create_trace( - self, - client: AsyncObservabilityClient, - app_id: str, - base_id: str, - config_name: str, - **kwargs: Dict[str, Any], - ): - trace = await client.create_trace( - app_id=app_id, - base_id=base_id, - config_name=config_name, - cost=kwargs["cost"], # type: ignore - environment=kwargs["environment"], # type: ignore - status="INITIATED", - token_consumption=kwargs["total_tokens"], # type: ignore - tags=[], - ) - return trace - - async def finalize_trace( - self, client: AsyncObservabilityClient, trace_id: str, status: str - ) -> bool: - return await client.update_trace( - trace_id=trace_id, status=status, end_time=datetime.now() - ) - - async def create_span( - self, - client: AsyncObservabilityClient, - trace_id: str, - parent_span_id: Optional[str], - event_name: str, - **kwargs: Dict[str, Any], - ): - span = await client.create_span( - trace_id=trace_id, - parent_span_id=parent_span_id, - meta=kwargs["meta"], # type: ignore - event_name=event_name, - event_type="generation", - environment=kwargs["environment"], # type: ignore - status=SpanStatus(**{"value": "SUCCESS", "error": None}), - inputs=kwargs["inputs"], # type: ignore - outputs=kwargs["outputs"], # type: ignore - prompt_system=kwargs["prompt_system"], # type: ignore - prompt_user=kwargs["prompt_user"], # type: ignore - tokens_input=kwargs["prompt_tokens"], # type: ignore - tokens_output=kwargs["completion_tokens"], # type: ignore - token_total=kwargs["total_tokens"], # type: ignore - cost=kwargs["cost"], # type: ignore - tags=[], - ) - return span - - def set_span_tag(self, tag: str): - raise NotImplementedError - - async def start_tracing( - self, app_id: str, base_id: str, config_name: str, **kwargs: Dict[str, Any] - ): - trace = None - client = self.initialize_client() - try: - trace_starting = datetime.now() - trace = await self.create_trace( - client, - app_id=app_id, - base_id=base_id, - config_name=config_name, - **{**kwargs, "trace_start_time": trace_starting}, # type: ignore - ) - await self.create_span( - client, trace, None, event_name=str(uuid.uuid4()), **kwargs - ) - except KeyError as exc: - print(f"Something happened when tracing LLM app. Error: {str(exc)}") - return - except Exception as exc: - print("Error tracing LLM app ", app_id, str(exc)) - return - finally: - if trace is not None: - await self.finalize_trace(client, trace, "SUCCESS") - return From 642afb812faaae282fdcc02302b2a1e95f1b7c7a Mon Sep 17 00:00:00 2001 From: Abram Date: Sun, 7 Apr 2024 16:24:05 +0100 Subject: [PATCH 382/539] :art: Format - ran black --- .../services/event_db_manager.py | 22 +++++++++---------- agenta-cli/agenta/sdk/agenta_decorator.py | 4 ++-- 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py index 9937fc482c..52fa3f1d05 100644 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -262,17 +262,17 @@ async def retrieve_observability_dashboard( if observability_data == []: return ObservabilityDashboardData( - **{ - "data": [], - "total_count": 0, - "failure_rate": 0.0, - "total_cost": 0.0, - "avg_cost": 0.0, - "avg_latency": 0.0, - "total_tokens": 0, - "avg_tokens": 0, - } - ) + **{ + "data": [], + "total_count": 0, + "failure_rate": 0.0, + "total_cost": 0.0, + "avg_cost": 0.0, + "avg_latency": 0.0, + "total_tokens": 0, + "avg_tokens": 0, + } + ) full_observability_data = helpers.fill_missing_data( data=observability_data, diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index 24d9e7f794..3631097b82 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -84,7 +84,7 @@ async def wrapper(*args, **kwargs) -> Any: trace_name=func.__name__, inputs=func_params, config=api_config_params, - environment="playground" # type: ignore #NOTE: wrapper is only called in playground + environment="playground", # type: ignore #NOTE: wrapper is only called in playground ) ingest_files(func_params, ingestible_files) agenta.config.set(**api_config_params) @@ -96,7 +96,7 @@ async def wrapper(*args, **kwargs) -> Any: tracing.end_trace( outputs=[llm_result.message], total_tokens=llm_result.usage.total_tokens, - cost=llm_result.cost + cost=llm_result.cost, ) return llm_result From b6604ce5b3c3e94a08b129c35a0072515b0b9d9b Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Mon, 8 Apr 2024 10:40:26 +0200 Subject: [PATCH 383/539] added vercel to origins --- agenta-backend/agenta_backend/main.py | 1 + 1 file changed, 1 insertion(+) diff --git a/agenta-backend/agenta_backend/main.py b/agenta-backend/agenta_backend/main.py index dc0885e483..8da74fd4fc 100644 --- a/agenta-backend/agenta_backend/main.py +++ b/agenta-backend/agenta_backend/main.py @@ -38,6 +38,7 @@ "http://localhost:3001", "http://0.0.0.0:3000", "http://0.0.0.0:3001", + "https://*.vercel.app", ] celery_app = Celery("agenta_app") From a760f57e35af2bcdf4da4eca99534aff66292093 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Mon, 8 Apr 2024 11:39:35 +0200 Subject: [PATCH 384/539] fix --- agenta-backend/agenta_backend/main.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/main.py b/agenta-backend/agenta_backend/main.py index 8da74fd4fc..10e3f97239 100644 --- a/agenta-backend/agenta_backend/main.py +++ b/agenta-backend/agenta_backend/main.py @@ -38,9 +38,9 @@ "http://localhost:3001", "http://0.0.0.0:3000", "http://0.0.0.0:3001", - "https://*.vercel.app", ] + celery_app = Celery("agenta_app") celery_app.config_from_object(celery_config) @@ -66,6 +66,7 @@ async def lifespan(application: FastAPI, cache=True): app.add_middleware( CORSMiddleware, allow_origins=origins, + allow_origin_regex="https://.*\.vercel\.app", allow_credentials=True, allow_methods=["*"], allow_headers=allow_headers, From ad092f60a66e099f4364a8b67e95a4fcc3e1b22b Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Mon, 8 Apr 2024 12:39:49 +0100 Subject: [PATCH 385/539] stored showDiff state in local storage --- .../pages/evaluations/evaluationCompare/EvaluationCompare.tsx | 3 ++- .../evaluations/evaluationScenarios/EvaluationScenarios.tsx | 4 ++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx index c7b3c0cef8..6e7607f41b 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -26,6 +26,7 @@ import {useAtom} from "jotai" import {evaluatorsAtom} from "@/lib/atoms/evaluation" import CompareOutputDiff from "@/components/CompareOutputDiff/CompareOutputDiff" import {formatCurrency, formatLatency} from "@/lib/helpers/formatters" +import {useLocalStorage} from "usehooks-ts" const useStyles = createUseStyles((theme: JSSTheme) => ({ table: { @@ -59,7 +60,7 @@ const EvaluationCompareMode: React.FC = () => { const [evaluationIdsStr = ""] = useQueryParam("evaluations") const [evalIds, setEvalIds] = useState(evaluationIdsStr.split(",").filter((item) => !!item)) const [hiddenVariants, setHiddenVariants] = useState([]) - const [showDiff, setShowDiff] = useQueryParam("showDiff", "show") + const [showDiff, setShowDiff] = useLocalStorage("showDiff", "show") const [fetching, setFetching] = useState(false) const [rows, setRows] = useState([]) const [testset, setTestset] = useState() diff --git a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx index c72d37550f..5a40ef8e92 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -22,8 +22,8 @@ import AgCustomHeader from "@/components/AgCustomHeader/AgCustomHeader" import {useAtom} from "jotai" import {evaluatorsAtom} from "@/lib/atoms/evaluation" import CompareOutputDiff from "@/components/CompareOutputDiff/CompareOutputDiff" -import {useQueryParam} from "@/hooks/useQuery" import {formatCurrency, formatLatency} from "@/lib/helpers/formatters" +import {useLocalStorage} from "usehooks-ts" const useStyles = createUseStyles((theme: JSSTheme) => ({ infoRow: { @@ -56,7 +56,7 @@ const EvaluationScenarios: React.FC = () => { const [evaluators, setEvaluators] = useAtom(evaluatorsAtom) const gridRef = useRef>() const evalaution = scenarios[0]?.evaluation - const [showDiff, setShowDiff] = useQueryParam("showDiff", "show") + const [showDiff, setShowDiff] = useLocalStorage("showDiff", "show") const colDefs = useMemo(() => { const colDefs: ColDef<_EvaluationScenario>[] = [] From 8154dff0aafb91e0c9c0cc7d37983444576c79bf Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Mon, 8 Apr 2024 15:42:57 +0200 Subject: [PATCH 386/539] Update evaluators.py --- .../agenta_backend/resources/evaluators/evaluators.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py index cb20a13521..effa7d417e 100644 --- a/agenta-backend/agenta_backend/resources/evaluators/evaluators.py +++ b/agenta-backend/agenta_backend/resources/evaluators/evaluators.py @@ -253,7 +253,7 @@ def get_all_evaluators(): """ - Returns a list of evaluators. + Returns a list of evaluators Returns: List[dict]: A list of evaluator dictionaries. From df78f048835e14ba2be83660f0cd88140c043c8d Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Mon, 8 Apr 2024 15:00:40 +0100 Subject: [PATCH 387/539] fixed row height change when switching diff state --- .../pages/evaluations/cellRenderers/cellRenderers.tsx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx b/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx index 866090f990..94a468f599 100644 --- a/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx +++ b/agenta-web/src/components/pages/evaluations/cellRenderers/cellRenderers.tsx @@ -95,7 +95,7 @@ export function LongTextCellRenderer(params: ICellRendererParams, output?: any) cellsArr.forEach((cell) => { cell.setAttribute( "style", - "overflow: visible; white-space: pre-wrap; text-overflow: unset; line-height: 2.5em;", + "overflow: visible; white-space: pre-wrap; text-overflow: unset;", ) }) const height = Math.max(...cellsArr.map((cell) => cell.scrollHeight)) From d39e0433cf51f519098afeb2111c5b0f74bd1233 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 9 Apr 2024 09:14:21 +0100 Subject: [PATCH 388/539] Cleanup - remove old version of observability backend --- agenta-backend/agenta_backend/main.py | 4 - .../models/api/observability_models.py | 172 ------ .../agenta_backend/models/converters.py | 56 +- .../agenta_backend/models/db_engine.py | 7 +- .../agenta_backend/models/db_models.py | 81 --- .../routers/observability_router.py | 220 ------- .../services/event_db_manager.py | 561 ------------------ .../services/redis_cache_service.py | 31 - 8 files changed, 17 insertions(+), 1115 deletions(-) delete mode 100644 agenta-backend/agenta_backend/models/api/observability_models.py delete mode 100644 agenta-backend/agenta_backend/routers/observability_router.py delete mode 100644 agenta-backend/agenta_backend/services/event_db_manager.py delete mode 100644 agenta-backend/agenta_backend/services/redis_cache_service.py diff --git a/agenta-backend/agenta_backend/main.py b/agenta-backend/agenta_backend/main.py index e6d61874e2..d025de35cb 100644 --- a/agenta-backend/agenta_backend/main.py +++ b/agenta-backend/agenta_backend/main.py @@ -10,7 +10,6 @@ evaluation_router, human_evaluation_router, evaluators_router, - observability_router, testset_router, user_profile, variants_router, @@ -98,9 +97,6 @@ async def lifespan(application: FastAPI, cache=True): app.include_router( environment_router.router, prefix="/environments", tags=["Environments"] ) -app.include_router( - observability_router.router, prefix="/observability", tags=["Observability"] -) app.include_router(bases_router.router, prefix="/bases", tags=["Bases"]) app.include_router(configs_router.router, prefix="/configs", tags=["Configs"]) diff --git a/agenta-backend/agenta_backend/models/api/observability_models.py b/agenta-backend/agenta_backend/models/api/observability_models.py deleted file mode 100644 index e6efb78c38..0000000000 --- a/agenta-backend/agenta_backend/models/api/observability_models.py +++ /dev/null @@ -1,172 +0,0 @@ -from enum import Enum -from datetime import datetime -from typing import List, Optional, Dict, Any - -from pydantic import BaseModel, Field - - -class GenerationFilterParams(BaseModel): - type: str = Field("generation") - trace_id: Optional[str] - environment: Optional[str] - variant: Optional[str] - - -class ObservabilityDashboardDataRequestParams(BaseModel): - timeRange: str = Field(default="24_hours") - environment: Optional[str] - variant: Optional[str] - - -class Error(BaseModel): - message: str - stacktrace: Optional[str] = None - - -class Status(str, Enum): - INITIATED = "INITIATED" - COMPLETED = "COMPLETED" - FAILED = "FAILED" - - -class SpanVariant(BaseModel): - variant_id: str - variant_name: str - revision: int - - -class SpanStatus(BaseModel): - value: Optional[Status] - error: Optional[Error] - - -class Span(BaseModel): - id: str - name: str - parent_span_id: Optional[str] - created_at: datetime - variant: SpanVariant - environment: Optional[str] - status: SpanStatus - metadata: Dict[str, Any] - user_id: Optional[str] - children: Optional[List["Span"]] - - -class LLMTokens(BaseModel): - prompt_tokens: int = Field(default=0) - completion_tokens: int = Field(default=0) - total_tokens: int = Field(default=0) - - -class BaseSpan(BaseModel): - parent_span_id: Optional[str] - attributes: Optional[Dict[str, Any]] - name: str - type: Optional[str] - start_time: datetime = Field(default=datetime.now()) - status: SpanStatus - input: Optional[Dict[str, Any]] - output: Optional[str] - cost: Optional[float] - - -class CreateSpan(BaseSpan): - trace_id: str - span_id: str - config: Optional[dict] - environment: Optional[str] - end_time: datetime - tokens: Optional[LLMTokens] - - -class LLMInputs(BaseModel): - input_name: str - input_value: str - - -class LLMContent(BaseModel): - inputs: List[LLMInputs] - output: Optional[str] - - -class LLMModelParams(BaseModel): - prompt: Dict[str, Any] - params: Dict[str, Any] - - -class SpanDetail(Span): - content: Dict[str, Any] - config: Optional[Dict[str, Any]] - - -class Trace(Span): - pass - - -class TraceDetail(Trace): - content: Dict[str, Any] - config: Dict[str, Any] - - -class ObservabilityData(BaseModel): - timestamp: datetime - success_count: int - failure_count: int - cost: float - latency: float - total_tokens: int - prompt_tokens: int - completion_tokens: int - - -class ObservabilityDashboardData(BaseModel): - data: List[ObservabilityData] - total_count: int - failure_rate: float - total_cost: float - avg_cost: float - avg_latency: float - total_tokens: int - avg_tokens: int - - -class CreateFeedback(BaseModel): - feedback: Optional[str] - score: Optional[float] - meta: Optional[Dict] - - -class Feedback(CreateFeedback): - feedback_id: str - created_at: Optional[datetime] - - -class UpdateFeedback(BaseModel): - feedback: str - score: Optional[float] - meta: Optional[Dict] - - -class BaseTrace(BaseModel): - app_id: Optional[str] - variant_id: Optional[str] - status: str = Field(default=Status.INITIATED) - tags: Optional[List[str]] - start_time: datetime - - -class CreateTrace(BaseTrace): - id: str - trace_name: str - inputs: Dict[str, Any] - config: Dict[str, Any] - environment: Optional[str] - - -class UpdateTrace(BaseModel): - status: str - end_time: datetime - outputs: List[str] - cost: Optional[float] - token_consumption: Optional[int] diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index 769559abb2..f0e0008785 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -8,14 +8,6 @@ from agenta_backend.services import db_manager from agenta_backend.utils.common import isCloudEE from agenta_backend.models.api.user_models import User -from agenta_backend.models.api.observability_models import ( - Span, - Error, - SpanStatus, - SpanVariant, - Trace, - Feedback as FeedbackOutput, -) from agenta_backend.models.api.evaluation_model import ( Evaluation, HumanEvaluation, @@ -28,6 +20,10 @@ ) if isCloudEE(): + from agenta_backend.cloud.observability.models.db import ( + SpanDB, + Feedback as FeedbackDB, + ) from agenta_backend.commons.models.db_models import ( AppDB_ as AppDB, UserDB_ as UserDB, @@ -43,6 +39,14 @@ EvaluationScenarioDB_ as EvaluationScenarioDB, HumanEvaluationScenarioDB_ as HumanEvaluationScenarioDB, ) + from agenta_backend.cloud.observability.models.api import ( + Span, + Error, + SpanStatus, + SpanVariant, + Trace, + Feedback as FeedbackOutput, + ) from agenta_backend.commons.models.api.api_models import ( AppVariant_ as AppVariant, ImageExtended_ as ImageExtended, @@ -77,12 +81,9 @@ ) from agenta_backend.models.db_models import ( - SpanDB, - TraceDB, TemplateDB, AggregatedResult, AppVariantRevisionsDB, - Feedback as FeedbackDB, EvaluationScenarioResult, ) from agenta_backend.models.api.api_models import ( @@ -497,7 +498,7 @@ def testset_db_to_pydantic(test_set_db: TestSetDB) -> TestSetOutput: ) -async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: +async def spans_to_pydantic(spans_db: List["SpanDB"]) -> List["Span"]: child_spans: List[Span] = [] spans_dict: Dict[str, Span] = {} @@ -542,7 +543,7 @@ async def spans_to_pydantic(spans_db: List[SpanDB]) -> List[Span]: ] -async def traces_to_pydantic(traces_db: List[TraceDB]) -> List[Trace]: +async def traces_to_pydantic(traces_db: List["TraceDB"]) -> List["Trace"]: traces: List[Trace] = [] for trace_db in traces_db: app_variant_db = await db_manager.fetch_app_variant_by_id(trace_db.variant_id) @@ -574,7 +575,7 @@ async def traces_to_pydantic(traces_db: List[TraceDB]) -> List[Trace]: return traces -def feedback_db_to_pydantic(feedback_db: FeedbackDB) -> FeedbackOutput: +def feedback_db_to_pydantic(feedback_db: "FeedbackDB") -> "FeedbackOutput": return FeedbackOutput( feedback_id=str(feedback_db.uid), feedback=feedback_db.feedback, @@ -584,33 +585,6 @@ def feedback_db_to_pydantic(feedback_db: FeedbackDB) -> FeedbackOutput: ).dict(exclude_unset=True) -def trace_db_to_pydantic(trace_db: TraceDB) -> Trace: - feedbacks = trace_db.feedbacks - if feedbacks is None: - result = [] - else: - result = [ - feedback_db_to_pydantic(feedback) - for feedback in feedbacks - if feedback is not None - ] - - return Trace( - trace_id=str(trace_db.id), - app_id=trace_db.app_id, - variant_id=trace_db.variant_id, - cost=trace_db.cost, - latency=trace_db.latency, - status=trace_db.status, - token_consumption=trace_db.token_consumption, - tags=trace_db.tags, - start_time=trace_db.start_time, - end_time=trace_db.end_time, - feedbacks=result, - spans=[str(span) for span in trace_db.spans], - ).dict(exclude_unset=True) - - def user_db_to_pydantic(user_db: UserDB) -> User: return User( id=str(user_db.id), diff --git a/agenta-backend/agenta_backend/models/db_engine.py b/agenta-backend/agenta_backend/models/db_engine.py index fb812e2bab..896f316d6d 100644 --- a/agenta-backend/agenta_backend/models/db_engine.py +++ b/agenta-backend/agenta_backend/models/db_engine.py @@ -9,6 +9,7 @@ from agenta_backend.utils.common import isCloudEE if isCloudEE(): + from agenta_backend.cloud.observability.models.db import SpanDB from agenta_backend.commons.models.db_models import ( APIKeyDB, WorkspaceDB, @@ -47,8 +48,6 @@ ) from agenta_backend.models.db_models import ( - SpanDB, - TraceDB, TemplateDB, AppVariantRevisionsDB, ) @@ -57,8 +56,6 @@ document_models: List[Document] = [ AppDB, UserDB, - SpanDB, - TraceDB, ImageDB, TestSetDB, TemplateDB, @@ -76,7 +73,7 @@ ] if isCloudEE(): - document_models = document_models + [OrganizationDB, WorkspaceDB, APIKeyDB] + document_models = document_models + [SpanDB, OrganizationDB, WorkspaceDB, APIKeyDB] # Configure and set logging level diff --git a/agenta-backend/agenta_backend/models/db_models.py b/agenta-backend/agenta_backend/models/db_models.py index 8b310a4ddd..26f78e9516 100644 --- a/agenta-backend/agenta_backend/models/db_models.py +++ b/agenta-backend/agenta_backend/models/db_models.py @@ -1,5 +1,3 @@ -from enum import Enum -from uuid import uuid4 from datetime import datetime from typing import Any, Dict, List, Optional @@ -297,82 +295,3 @@ class EvaluationScenarioDB(Document): class Settings: name = "new_evaluation_scenarios" - - -class SpanEnumStatus(str, Enum): - INITIATED = "INITIATED" - COMPLETED = "COMPLETED" - FAILED = "FAILED" - - -class SpanStatus(BaseModel): - value: Optional[SpanEnumStatus] - error: Optional[Error] - - -class Feedback(BaseModel): - uid: str = Field(default=str(uuid4())) - user_id: str - feedback: Optional[str] - score: Optional[float] - meta: Optional[Dict[str, Any]] - created_at: datetime - updated_at: datetime = Field(default=datetime.now()) - - -class LLMTokens(BaseModel): - prompt_tokens: int - completion_tokens: int - total_tokens: int - - -class TraceDB(Document): - app_id: str - variant_id: str - trace_name: Optional[str] - attributes: Optional[Dict[str, Any]] - start_time: datetime - end_time: datetime = Field(default=datetime.now()) - cost: Optional[float] - inputs: Optional[Dict[str, Any]] - outputs: Optional[List[str]] - config: Dict[str, Any] - environment: Optional[str] # request source -> playground, development, etc - status: str # initiated, completed, stopped, canceled, failed - user: Optional[str] - tags: Optional[List[str]] - token_consumption: Optional[int] - feedbacks: Optional[List[Feedback]] - created_at: datetime = Field(default=datetime.now()) - - def get_latency(cls) -> float: - return (cls.end_time - cls.start_time).total_seconds() * 1000 - - class Settings: - name = "traces" - - -class SpanDB(Document): - trace: Link[TraceDB] - parent_span_id: Optional[str] # parent observability of span - attributes: Optional[Dict[str, Any]] - name: str # Function or execution name - type: str - status: SpanStatus - input: Optional[Dict[str, Any]] - output: Optional[str] - user: Optional[str] - environment: Optional[str] # request source -> playground, development, etc - start_time: datetime - end_time: datetime = Field(default=datetime.now()) - tokens: Optional[LLMTokens] - cost: Optional[float] - created_at: datetime = Field(default=datetime.now()) - - def get_latency(cls) -> float: - return (cls.end_time - cls.start_time).total_seconds() * 1000 - - class Settings: - name = "spans" - # use_cache = True # Important for link indexing performance - indexes = [] # TODO: how to index trace given that it's a linked document? diff --git a/agenta-backend/agenta_backend/routers/observability_router.py b/agenta-backend/agenta_backend/routers/observability_router.py deleted file mode 100644 index 3bc35a0990..0000000000 --- a/agenta-backend/agenta_backend/routers/observability_router.py +++ /dev/null @@ -1,220 +0,0 @@ -from typing import List, Any - -from fastapi import Request, Query, Depends - -from agenta_backend.utils.common import APIRouter -from agenta_backend.services import event_db_manager, redis_cache_service -from agenta_backend.models.api.api_models import ( - WithPagination, - SorterParams, - PaginationParam, -) -from agenta_backend.models.api.observability_models import ( - SpanDetail, - CreateSpan, - CreateFeedback, - Feedback, - UpdateFeedback, - TraceDetail, - CreateTrace, - UpdateTrace, - GenerationFilterParams, - ObservabilityDashboardDataRequestParams, -) - - -router = APIRouter() - - -@router.get( - "/dashboard/", - operation_id="observability_dashboard", -) -async def get_dashboard_data( - request: Request, - app_id: str, - parameters: ObservabilityDashboardDataRequestParams = Depends(), -): - try: - dashboard_data = await redis_cache_service.cache_observability_data( - event_db_manager.retrieve_observability_dashboard, - **{ - "app_id": app_id, - "parameters": parameters, - "cache_key": str(request.url), - } - ) - return dashboard_data - except Exception as e: - import traceback - - traceback.print_exc() - return [] - - -@router.post("/traces/", response_model=str, operation_id="create_trace") -async def create_trace(request: Request, payload: CreateTrace): - trace_id = await event_db_manager.create_app_trace(payload) - return trace_id - - -@router.post("/spans/", response_model=str, operation_id="create_span") -async def create_span( - payload: CreateSpan, - request: Request, -): - spans_id = await event_db_manager.create_trace_span(payload) - return spans_id - - -@router.get( - "/traces/", - response_model=WithPagination, - operation_id="get_traces", -) -async def get_traces( - request: Request, - app_id: str, - pagination: PaginationParam = Depends(), - filters: GenerationFilterParams = Depends(), - sorters: SorterParams = Depends(), -): - spans = await event_db_manager.fetch_traces( - app_id, - pagination, - filters, - sorters, - ) - return spans - - -@router.get( - "/traces/{trace_id}/", - response_model=TraceDetail, - operation_id="get_trace_detail", -) -async def get_trace_detail( - request: Request, - trace_id: str, -): - trace_detail = await event_db_manager.fetch_trace_detail(trace_id) - return trace_detail - - -@router.delete("/traces/", response_model=bool, operation_id="delete_traces") -async def delete_traces(request: Request, ids: List[str]): - await event_db_manager.delete_traces(ids) - return True - - -@router.get( - "/spans/", - operation_id="get_spans_of_generation", -) -async def get_spans_of_trace( - request: Request, - app_id: str, - pagination: PaginationParam = Depends(), - filters: GenerationFilterParams = Depends(), - sorters: SorterParams = Depends(), -): - if filters and filters.type == "generation": - spans = await event_db_manager.fetch_generation_spans( - app_id, - pagination, - filters, - sorters, - ) - return spans - return [] - - -@router.get( - "/spans/{span_id}/", - response_model=SpanDetail, - operation_id="get_span_of_generation", -) -async def get_span_of_trace( - request: Request, - span_id: str, - type: str = Query(default="generation"), -): - if type == "generation": - spans = await event_db_manager.fetch_generation_span_detail(span_id) - return spans - return [] - - -@router.delete("/spans/", response_model=bool, operation_id="delete_spans_of_trace") -async def delete_spans_of_trace(request: Request, ids: List[str]): - await event_db_manager.delete_spans(ids) - return True - - -@router.put("/traces/{trace_id}/", response_model=bool, operation_id="update_trace") -async def update_trace( - trace_id: str, - payload: UpdateTrace, - request: Request, -): - trace = await event_db_manager.trace_update(trace_id, payload) - return trace - - -@router.post( - "/feedbacks/{trace_id}/", response_model=str, operation_id="create_feedback" -) -async def create_feedback( - trace_id: str, - payload: CreateFeedback, - request: Request, -): - feedback = await event_db_manager.add_feedback_to_trace( - trace_id, payload, request.state.user_id - ) - return feedback - - -@router.get( - "/feedbacks/{trace_id}/", - response_model=List[Feedback], - operation_id="get_feedbacks", -) -async def get_feedbacks(trace_id: str, request: Request): - feedbacks = await event_db_manager.get_trace_feedbacks( - trace_id, request.state.user_id - ) - return feedbacks - - -@router.get( - "/feedbacks/{trace_id}/{feedback_id}/", - response_model=Feedback, - operation_id="get_feedback", -) -async def get_feedback( - trace_id: str, - feedback_id: str, - request: Request, -): - feedback = await event_db_manager.get_feedback_detail( - trace_id, feedback_id, request.state.user_id - ) - return feedback - - -@router.put( - "/feedbacks/{trace_id}/{feedback_id}/", - response_model=Feedback, - operation_id="update_feedback", -) -async def update_feedback( - trace_id: str, - feedback_id: str, - payload: UpdateFeedback, - request: Request, -): - feedback = await event_db_manager.update_trace_feedback( - trace_id, feedback_id, payload, request.state.user_id - ) - return feedback diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py deleted file mode 100644 index 52fa3f1d05..0000000000 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ /dev/null @@ -1,561 +0,0 @@ -import logging -from typing import List -from functools import partial -from datetime import datetime - -from fastapi import HTTPException - -from agenta_backend.models.api.api_models import PaginationParam, SorterParams -from agenta_backend.models.api.observability_models import ( - Error, - Span, - SpanDetail, - CreateSpan, - ObservabilityDashboardData, - Feedback, - CreateFeedback, - SpanStatus, - UpdateFeedback, - Trace, - TraceDetail, - CreateTrace, - UpdateTrace, - ObservabilityData, - GenerationFilterParams, - ObservabilityDashboardDataRequestParams, -) -from agenta_backend.models.converters import ( - spans_to_pydantic, - traces_to_pydantic, - feedback_db_to_pydantic, - trace_db_to_pydantic, - get_paginated_data, - get_pagination_skip_limit, -) -from agenta_backend.services import db_manager, filters, helpers -from agenta_backend.models.db_models import ( - TraceDB, - Feedback as FeedbackDB, - SpanDB, -) - -import pymongo -from beanie.operators import In -from beanie import PydanticObjectId as ObjectId - - -logger = logging.getLogger(__name__) -logger.setLevel(logging.INFO) - - -async def create_app_trace(payload: CreateTrace) -> str: - """Create a new trace. - - Args: - payload (CreateTrace): the required payload - - Returns: - Trace: the created trace - """ - - trace_db = TraceDB( - **payload.dict(exclude={"environment", "id"}), - id=ObjectId(payload.id), - environment="playground" if not payload.environment else payload.environment, - ) - await trace_db.create() - return str(trace_db.id) - - -async def get_trace_single(trace_id: str) -> Trace: - """Get a single trace. - - Args: - trace_id (str): the Id of the trace - - Returns: - Trace: the trace - """ - - # Get trace - trace = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), - ) - return trace_db_to_pydantic(trace) - - -async def trace_update(trace_id: str, payload: UpdateTrace) -> bool: - """Update status of trace. - - Args: - trace_id (str): the Id of the trace - payload (UpdateTrace): the required payload - - Returns: - bool: True if successful - """ - - trace = await TraceDB.find_one(TraceDB.id == ObjectId(trace_id)) - - await trace.update( - { - "$set": { - **payload.dict(exclude_none=True), - }, - } - ) - return True - - -async def create_trace_span(payload: CreateSpan) -> str: - """Create a new span for a given trace. - - Args: - payload (CreateSpan): the required payload - - Returns: - str: the created span id - """ - - trace = await TraceDB.find_one(TraceDB.id == ObjectId(payload.trace_id)) - span_db = SpanDB( - **payload.dict( - exclude={"end_time", "trace_id", "span_id", "end_time", "environment"} - ), - id=ObjectId(payload.span_id), - trace=trace, - environment="playground" if not payload.environment else payload.environment, - end_time=payload.end_time, - ) - await span_db.create() - return str(span_db.id) - - -async def fetch_generation_spans( - app_id: str, - pagination: PaginationParam, - filters_param: GenerationFilterParams, - sorters: SorterParams, -) -> List[Span]: - """Get the spans for a given trace. - - Args: - app_id (str): The ID of the app - pagination (PaginationParam): The data of the pagination param - filters_param (GenerationFilterParams): The data of the generation filter params - sorters (SorterParams): The data of the sorters param - - Returns: - List[Span]: the list of spans for the given user - """ - - # Apply pagination and sorting - skip, limit = get_pagination_skip_limit(pagination) - sort_direction = ( - pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING - ) - - # Fetch spans without pagination and sorting applied - base_spans_db = SpanDB.find(SpanDB.trace.app_id == app_id) - - # Count of spans in db - filters_query = {} - if filters_param.environment is not None: - filters_query["environment"] = filters_param.environment - elif filters_param.variant is not None: - filters_query["variant_id"] = filters_param.variant - spans_count = await base_spans_db.find(filters_query, fetch_links=True).count() - - # Fetch spans with pagination and sorting applied - spans_db = base_spans_db.find(fetch_links=True, skip=skip, limit=limit).sort( - [(SpanDB.created_at, sort_direction)] - ) - - # Filter based on trace_id or not - if filters_param.trace_id is not None: - spans_db = await spans_db.find_many( - SpanDB.trace.id == ObjectId(filters_param.trace_id), fetch_links=True - ).to_list() - else: - spans_db = await spans_db.to_list() - - # Convert beanie documents to pydantic models and filter based on the filter_params - spans = await spans_to_pydantic(spans_db) - filtered_generations = filter( - partial(filters.filter_document_by_filter_params, filters_param), spans - ) - if filters_param.trace_id: - return list(filtered_generations) - return get_paginated_data(list(filtered_generations), spans_count, pagination) - - -async def fetch_generation_span_detail(span_id: str) -> SpanDetail: - """Get a generation span detail. - - Args: - span_id (str): The ID of a span - - Returns: - SpanDetail: span detail pydantic model - """ - - span_db = await SpanDB.find_one(SpanDB.id == ObjectId(span_id), fetch_links=True) - app_variant_db = await db_manager.fetch_app_variant_by_id(span_db.trace.variant_id) - - return SpanDetail( - **{ - "id": str(span_db.id), - "name": span_db.name, - "created_at": span_db.created_at.isoformat(), - "variant": { - "variant_id": str(app_variant_db.id), - "variant_name": app_variant_db.variant_name, - "revision": app_variant_db.revision, - }, - "environment": span_db.environment, - "status": span_db.status.dict(), - "metadata": { - "cost": span_db.cost, - "latency": span_db.get_latency(), - "usage": span_db.tokens, - }, - "user_id": "", - "content": { - "inputs": [ - {"input_name": key, "input_value": value} - for key, value in span_db.input.items() - ], - "outputs": [span_db.output], - }, - "config": span_db.attributes.get("model_config"), - }, - ) - - -async def retrieve_observability_dashboard( - app_id: str, - params: ObservabilityDashboardDataRequestParams, -) -> ObservabilityDashboardData: - # Apply filtering based on the environment and variant (base_id) - filtered_spans = filters.filter_observability_dashboard_spans_db_by_filters( - app_id, params - ) - - # Apply datetime filter and aggregation pipeline - spans = None - if params.timeRange is not None: - filter_datetime = filters.filter_by_time_range(params.timeRange) - spans_aggregation_mapping = filters.prepares_spans_aggregation_by_timerange( - params.timeRange - ) - pipeline = [ - {"$match": {"created_at": {"$gte": filter_datetime}}}, - spans_aggregation_mapping, - ] - spans = await filtered_spans.aggregate( - pipeline, - ).to_list() - - observability_data: ObservabilityData = [] - for span in spans: - observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) - - if observability_data == []: - return ObservabilityDashboardData( - **{ - "data": [], - "total_count": 0, - "failure_rate": 0.0, - "total_cost": 0.0, - "avg_cost": 0.0, - "avg_latency": 0.0, - "total_tokens": 0, - "avg_tokens": 0, - } - ) - - full_observability_data = helpers.fill_missing_data( - data=observability_data, - time_range=params.timeRange, - ) - len_of_observability_data = len(full_observability_data) - sorted_data = sorted(full_observability_data, key=lambda x: x.timestamp) - return ObservabilityDashboardData( - **{ - "data": sorted_data, - "total_count": len_of_observability_data, - "failure_rate": round(sum(data.failure_count for data in sorted_data), 5), - "total_cost": round(sum(data.cost for data in sorted_data), 5), - "avg_cost": round( - sum(data.cost for data in sorted_data) / len_of_observability_data, - 5, - ), - "avg_latency": round( - sum(data.latency for data in sorted_data) / len_of_observability_data, - 5, - ), - "total_tokens": sum(data.total_tokens for data in sorted_data), - "avg_tokens": sum(data.total_tokens for data in sorted_data) - / len_of_observability_data, - } - ) - - -async def fetch_traces( - app_id: str, - pagination: PaginationParam, - filters_param: GenerationFilterParams, - sorters: SorterParams, -) -> List[Trace]: - """Get the traces for the given app_id. - - Args: - app_id (str): The ID of the app - pagination (PaginationParam): The data of the pagination param - filters_param (GenerationFilterParams): The data of the generation filter params - sorters (SorterParams): The data of the sorters param - - Returns: - List[Trace]: the list of trace for the given app_id - """ - - # Apply pagination and sorting - skip, limit = get_pagination_skip_limit(pagination) - sort_direction = ( - pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING - ) - - # Fetch traces without pagination and sorting applied - base_traces_db = TraceDB.find( - TraceDB.app_id == app_id, - ) - - # Count of traces in db - filters_query = {} - if filters_param.environment is not None: - filters_query["environment"] = filters_param.environment - elif filters_param.variant is not None: - filters_query["variant_id"] = filters_param.variant - traces_count = await base_traces_db.find(filters_query, fetch_links=True).count() - - # Fetch traces with pagination and sorting applied - traces_db = ( - await base_traces_db.find(fetch_links=True, skip=skip, limit=limit) - .sort([(TraceDB.created_at, sort_direction)]) - .to_list() - ) - - # Convert beanie documents to pydantic models and filter based on the filter_params - traces = await traces_to_pydantic(traces_db) - filtered_traces = filter( - partial(filters.filter_document_by_filter_params, filters_param), traces - ) - - return get_paginated_data(list(filtered_traces), traces_count, pagination) - - -async def fetch_trace_detail(trace_id: str) -> TraceDetail: - """Get a trace detail. - - Args: - trace_id (str): The ID of a trace - user_uid (str): The user ID - - Returns: - TraceDetail: trace detail pydantic model - """ - - trace_db = await get_single_trace(trace_id) - app_variant_db = await db_manager.fetch_app_variant_by_id(trace_db.variant_id) - - span_status = ( - SpanStatus(value=trace_db.status) - if trace_db.status in ["INITIATED", "COMPLETED"] - else SpanStatus(value=None, error=Error(message=trace_db.status)) - ) - return TraceDetail( - **{ - "id": str(trace_db.id), - "content": { - "inputs": [ - {"input_name": key, "input_value": value} - for key, value in trace_db.inputs.items() - ], - "outputs": trace_db.outputs, - }, - "created_at": trace_db.created_at.isoformat(), - "variant": { - "variant_id": str(app_variant_db.id), - "variant_name": app_variant_db.variant_name, - "revision": app_variant_db.revision, - }, - "environment": trace_db.environment, - "status": span_status, - "metadata": { - "cost": trace_db.cost, - "latency": trace_db.get_latency(), - "usage": {"total_tokens": trace_db.token_consumption}, - }, - "user_id": "", - "config": trace_db.config, - }, - ) - - -async def get_single_trace(trace_id: str) -> TraceDB: - """Get a single trace document from database. - - Args: - trace_id (str): The id of the trace - - Returns: - TraceDB: the trace document - """ - - trace_db = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), fetch_links=True - ) - if not trace_db: - raise HTTPException(404, {"message": "Trace does not exist"}) - return trace_db - - -async def delete_spans(span_ids: List[str]): - """Delete the span for a given span_ids. - - Args: - span_ids (str): The ids of the span - """ - - object_ids: List[ObjectId] = [ObjectId(span_id) for span_id in span_ids] - await SpanDB.find(In(SpanDB.id, object_ids)).delete() - - -async def delete_traces(trace_ids: List[str]): - """Delete the trace for the given trace_ids - - Args: - trace_ids (str): The ids of the trace - """ - - object_ids: List[ObjectId] = [ObjectId(trace_id) for trace_id in trace_ids] - await TraceDB.find(In(TraceDB.id, object_ids)).delete() - - -async def add_feedback_to_trace( - trace_id: str, payload: CreateFeedback, user_uid: str -) -> str: - """Add a feedback to a trace. - - Args: - trace_id (str): the Id of the trace - payload (CreateFeedback): the required payload - - Returns: - str: the feedback id - """ - - user = await db_manager.get_user(user_uid) - feedback = FeedbackDB( - user_id=str(user.id), - feedback=payload.feedback, - score=payload.score, - created_at=datetime.now(), - ) - - trace = await TraceDB.find_one(TraceDB.id == ObjectId(trace_id), fetch_links=True) - if trace.feedbacks is None: - trace.feedbacks = [feedback] - else: - trace.feedbacks.append(feedback) - - # Update trace - await trace.save() - return feedback.uid - - -async def get_trace_feedbacks(trace_id: str, user_uid: str) -> List[Feedback]: - """Get the feedbacks for a given trace. - - Args: - trace_id (str): the Id of the trace - - Returns: - List[Feedback]: the list of feedbacks for the given trace - """ - - user = await db_manager.get_user(user_uid) - - # Get feedbacks in trace - trace = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id, fetch_links=True - ) - feedbacks = [feedback_db_to_pydantic(feedback) for feedback in trace.feedbacks] - return feedbacks - - -async def get_feedback_detail( - trace_id: str, feedback_id: str, user_uid: str -) -> Feedback: - """Get a single feedback. - - Args: - trace_id (str): the Id of the trace - feedback_id (str): the Id of the feedback - - Returns: - Feedback: the feedback - """ - - user = await db_manager.get_user(user_uid) - - # Get trace - trace = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id, fetch_links=True - ) - - # Get feedback - feedback = [ - feedback_db_to_pydantic(feedback) - for feedback in trace.feedbacks - if feedback.uid == feedback_id - ] - return feedback[0] - - -async def update_trace_feedback( - trace_id: str, feedback_id: str, payload: UpdateFeedback, user_uid: str -) -> Feedback: - """Update a feedback. - - Args: - trace_id (str): the Id of the trace - feedback_id (str): the Id of the feedback - payload (UpdateFeedback): the required payload - - Returns: - Feedback: the feedback - """ - - user = await db_manager.get_user(user_uid) - - # Get trace - trace = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id, fetch_links=True - ) - - # update feedback - feedback_json = {} - for feedback in trace.feedbacks: - if feedback.uid == feedback_id: - for key, value in payload.dict(exclude_none=True).items(): - setattr(feedback, key, value) - feedback_json = feedback.dict() - break - - # Save feedback in trace and return a copy - await trace.save() - - # Replace key and transform into a pydantic representation - feedback_json["feedback_id"] = feedback_json.pop("uid") - return Feedback(**feedback_json) diff --git a/agenta-backend/agenta_backend/services/redis_cache_service.py b/agenta-backend/agenta_backend/services/redis_cache_service.py deleted file mode 100644 index 41ade034cc..0000000000 --- a/agenta-backend/agenta_backend/services/redis_cache_service.py +++ /dev/null @@ -1,31 +0,0 @@ -# Stdlib Imports -import json -from typing import Any, Coroutine, Callable - -# Own Imports -from agenta_backend.utils import redis_utils -from agenta_backend.models.api.observability_models import ObservabilityDashboardData - - -async def cache_observability_data( - data_func: Coroutine[None, None, Callable[[str, Any], ObservabilityDashboardData]], - **kwargs, -) -> ObservabilityDashboardData: - # Prepare required args - app_id = kwargs["app_id"] - parameters = kwargs["parameters"] - cache_key = kwargs["cache_key"] - - # Initialize redis connection - redis = redis_utils.redis_connection() - - # Retrieve cache key and return data if it exists - cached_data = redis.get(cache_key) - if cached_data is not None: - loaded_data = json.loads(cached_data) - return loaded_data - - # Retrieve observability dashboard data and cache data for re-use - data = await data_func(app_id, parameters) - redis.setex(cache_key, 900, data.json()) - return data From 888509546d630d33fed65bac4952504d71088317 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 5 Apr 2024 09:38:21 +0100 Subject: [PATCH 389/539] Refactor - added pagination filtering for traces/spans, update meta use to attributes, etc --- .../services/event_db_manager.py | 560 ++++++++++++++++++ 1 file changed, 560 insertions(+) create mode 100644 agenta-backend/agenta_backend/services/event_db_manager.py diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py new file mode 100644 index 0000000000..75b8de88f3 --- /dev/null +++ b/agenta-backend/agenta_backend/services/event_db_manager.py @@ -0,0 +1,560 @@ +import logging +from typing import List +from functools import partial +from datetime import datetime + +from fastapi import HTTPException + +from agenta_backend.models.api.api_models import PaginationParam, SorterParams +from agenta_backend.models.api.observability_models import ( + Error, + Span, + SpanDetail, + CreateSpan, + ObservabilityDashboardData, + Feedback, + CreateFeedback, + SpanStatus, + UpdateFeedback, + Trace, + TraceDetail, + CreateTrace, + UpdateTrace, + ObservabilityData, + GenerationFilterParams, + ObservabilityDashboardDataRequestParams, +) +from agenta_backend.models.converters import ( + spans_to_pydantic, + traces_to_pydantic, + feedback_db_to_pydantic, + trace_db_to_pydantic, + get_paginated_data, + get_pagination_skip_limit, +) +from agenta_backend.services import db_manager, filters, helpers +from agenta_backend.models.db_models import ( + TraceDB, + Feedback as FeedbackDB, + SpanDB, +) + +import pymongo +from beanie.operators import In +from beanie import PydanticObjectId as ObjectId + + +logger = logging.getLogger(__name__) +logger.setLevel(logging.INFO) + + +async def create_app_trace(payload: CreateTrace) -> str: + """Create a new trace. + + Args: + payload (CreateTrace): the required payload + + Returns: + Trace: the created trace + """ + + trace_db = TraceDB( + **payload.dict(exclude={"environment", "id"}), + id=ObjectId(payload.id), + environment="playground" if not payload.environment else payload.environment, + ) + await trace_db.create() + return str(trace_db.id) + + +async def get_trace_single(trace_id: str) -> Trace: + """Get a single trace. + + Args: + trace_id (str): the Id of the trace + + Returns: + Trace: the trace + """ + + # Get trace + trace = await TraceDB.find_one( + TraceDB.id == ObjectId(trace_id), + ) + return trace_db_to_pydantic(trace) + + +async def trace_update(trace_id: str, payload: UpdateTrace) -> bool: + """Update status of trace. + + Args: + trace_id (str): the Id of the trace + payload (UpdateTrace): the required payload + + Returns: + bool: True if successful + """ + + trace = await TraceDB.find_one(TraceDB.id == ObjectId(trace_id)) + + await trace.update( + { + "$set": { + **payload.dict(exclude_none=True), + }, + } + ) + return True + + +async def create_trace_span(payload: CreateSpan) -> str: + """Create a new span for a given trace. + + Args: + payload (CreateSpan): the required payload + + Returns: + str: the created span id + """ + + trace = await TraceDB.find_one(TraceDB.id == ObjectId(payload.trace_id)) + span_db = SpanDB( + **payload.dict( + exclude={"end_time", "trace_id", "span_id", "end_time", "environment"} + ), + id=ObjectId(payload.span_id), + trace=trace, + environment="playground" if not payload.environment else payload.environment, + end_time=payload.end_time, + ) + await span_db.create() + return str(span_db.id) + + +async def fetch_generation_spans( + app_id: str, + pagination: PaginationParam, + filters_param: GenerationFilterParams, + sorters: SorterParams, +) -> List[Span]: + """Get the spans for a given trace. + + Args: + app_id (str): The ID of the app + pagination (PaginationParam): The data of the pagination param + filters_param (GenerationFilterParams): The data of the generation filter params + sorters (SorterParams): The data of the sorters param + + Returns: + List[Span]: the list of spans for the given user + """ + + # Apply pagination and sorting + skip, limit = get_pagination_skip_limit(pagination) + sort_direction = ( + pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING + ) + + # Fetch spans without pagination and sorting applied + base_spans_db = SpanDB.find(SpanDB.trace.app_id == app_id) + + # Count of spans in db + filters_query = {} + if filters_param.environment is not None: + filters_query["environment"] = filters_param.environment + elif filters_param.variant is not None: + filters_query["variant_id"] = filters_param.variant + spans_count = await base_spans_db.find(filters_query, fetch_links=True).count() + + # Fetch spans with pagination and sorting applied + spans_db = base_spans_db.find(fetch_links=True, skip=skip, limit=limit).sort( + [(SpanDB.created_at, sort_direction)] + ) + + # Filter based on trace_id or not + if filters_param.trace_id is not None: + spans_db = await spans_db.find_many( + SpanDB.trace.id == ObjectId(filters_param.trace_id), fetch_links=True + ).to_list() + else: + spans_db = await spans_db.to_list() + + # Convert beanie documents to pydantic models and filter based on the filter_params + spans = await spans_to_pydantic(spans_db) + filtered_generations = filter( + partial(filters.filter_document_by_filter_params, filters_param), spans + ) + if filters_param.trace_id: + return list(filtered_generations) + return get_paginated_data(list(filtered_generations), spans_count, pagination) + + +async def fetch_generation_span_detail(span_id: str) -> SpanDetail: + """Get a generation span detail. + + Args: + span_id (str): The ID of a span + + Returns: + SpanDetail: span detail pydantic model + """ + + span_db = await SpanDB.find_one(SpanDB.id == ObjectId(span_id), fetch_links=True) + app_variant_db = await db_manager.fetch_app_variant_by_id(span_db.trace.variant_id) + + return SpanDetail( + **{ + "id": str(span_db.id), + "created_at": span_db.created_at.isoformat(), + "variant": { + "variant_id": str(app_variant_db.id), + "variant_name": app_variant_db.variant_name, + "revision": app_variant_db.revision, + }, + "environment": span_db.environment, + "status": span_db.status.dict(), + "metadata": { + "cost": span_db.cost, + "latency": span_db.get_latency(), + "usage": span_db.tokens, + }, + "user_id": "", + "content": { + "inputs": [ + {"input_name": key, "input_value": value} + for key, value in span_db.input.items() + ], + "outputs": [span_db.output], + }, + "config": span_db.attributes.get("model_config"), + }, + ) + + +async def retrieve_observability_dashboard( + app_id: str, + params: ObservabilityDashboardDataRequestParams, +) -> ObservabilityDashboardData: + # Apply filtering based on the environment and variant (base_id) + filtered_spans = filters.filter_observability_dashboard_spans_db_by_filters( + app_id, params + ) + + # Apply datetime filter and aggregation pipeline + spans = None + if params.timeRange is not None: + filter_datetime = filters.filter_by_time_range(params.timeRange) + spans_aggregation_mapping = filters.prepares_spans_aggregation_by_timerange( + params.timeRange + ) + pipeline = [ + {"$match": {"created_at": {"$gte": filter_datetime}}}, + spans_aggregation_mapping, + ] + spans = await filtered_spans.aggregate( + pipeline, + ).to_list() + + observability_data: ObservabilityData = [] + for span in spans: + observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) + + if observability_data == []: + return ObservabilityDashboardData( + **{ + "data": [], + "total_count": 0, + "failure_rate": 0.0, + "total_cost": 0.0, + "avg_cost": 0.0, + "avg_latency": 0.0, + "total_tokens": 0, + "avg_tokens": 0, + } + ) + + full_observability_data = helpers.fill_missing_data( + data=observability_data, + time_range=params.timeRange, + ) + len_of_observability_data = len(full_observability_data) + sorted_data = sorted(full_observability_data, key=lambda x: x.timestamp) + return ObservabilityDashboardData( + **{ + "data": sorted_data, + "total_count": len_of_observability_data, + "failure_rate": round(sum(data.failure_count for data in sorted_data), 5), + "total_cost": round(sum(data.cost for data in sorted_data), 5), + "avg_cost": round( + sum(data.cost for data in sorted_data) / len_of_observability_data, + 5, + ), + "avg_latency": round( + sum(data.latency for data in sorted_data) / len_of_observability_data, + 5, + ), + "total_tokens": sum(data.total_tokens for data in sorted_data), + "avg_tokens": sum(data.total_tokens for data in sorted_data) + / len_of_observability_data, + } + ) + + +async def fetch_traces( + app_id: str, + pagination: PaginationParam, + filters_param: GenerationFilterParams, + sorters: SorterParams, +) -> List[Trace]: + """Get the traces for the given app_id. + + Args: + app_id (str): The ID of the app + pagination (PaginationParam): The data of the pagination param + filters_param (GenerationFilterParams): The data of the generation filter params + sorters (SorterParams): The data of the sorters param + + Returns: + List[Trace]: the list of trace for the given app_id + """ + + # Apply pagination and sorting + skip, limit = get_pagination_skip_limit(pagination) + sort_direction = ( + pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING + ) + + # Fetch traces without pagination and sorting applied + base_traces_db = TraceDB.find( + TraceDB.app_id == app_id, + ) + + # Count of traces in db + filters_query = {} + if filters_param.environment is not None: + filters_query["environment"] = filters_param.environment + elif filters_param.variant is not None: + filters_query["variant_id"] = filters_param.variant + traces_count = await base_traces_db.find(filters_query, fetch_links=True).count() + + # Fetch traces with pagination and sorting applied + traces_db = ( + await base_traces_db.find(fetch_links=True, skip=skip, limit=limit) + .sort([(TraceDB.created_at, sort_direction)]) + .to_list() + ) + + # Convert beanie documents to pydantic models and filter based on the filter_params + traces = await traces_to_pydantic(traces_db) + filtered_traces = filter( + partial(filters.filter_document_by_filter_params, filters_param), traces + ) + + return get_paginated_data(list(filtered_traces), traces_count, pagination) + + +async def fetch_trace_detail(trace_id: str) -> TraceDetail: + """Get a trace detail. + + Args: + trace_id (str): The ID of a trace + user_uid (str): The user ID + + Returns: + TraceDetail: trace detail pydantic model + """ + + trace_db = await get_single_trace(trace_id) + app_variant_db = await db_manager.fetch_app_variant_by_id(trace_db.variant_id) + + span_status = ( + SpanStatus(value=trace_db.status) + if trace_db.status in ["INITIATED", "COMPLETED"] + else SpanStatus(value=None, error=Error(message=trace_db.status)) + ) + return TraceDetail( + **{ + "id": str(trace_db.id), + "content": { + "inputs": [ + {"input_name": key, "input_value": value} + for key, value in trace_db.inputs.items() + ], + "outputs": trace_db.outputs, + }, + "created_at": trace_db.created_at.isoformat(), + "variant": { + "variant_id": str(app_variant_db.id), + "variant_name": app_variant_db.variant_name, + "revision": app_variant_db.revision, + }, + "environment": trace_db.environment, + "status": span_status, + "metadata": { + "cost": trace_db.cost, + "latency": trace_db.get_latency(), + "usage": {"total_tokens": trace_db.token_consumption}, + }, + "user_id": "", + "config": trace_db.config, + }, + ) + + +async def get_single_trace(trace_id: str) -> TraceDB: + """Get a single trace document from database. + + Args: + trace_id (str): The id of the trace + + Returns: + TraceDB: the trace document + """ + + trace_db = await TraceDB.find_one( + TraceDB.id == ObjectId(trace_id), fetch_links=True + ) + if not trace_db: + raise HTTPException(404, {"message": "Trace does not exist"}) + return trace_db + + +async def delete_spans(span_ids: List[str]): + """Delete the span for a given span_ids. + + Args: + span_ids (str): The ids of the span + """ + + object_ids: List[ObjectId] = [ObjectId(span_id) for span_id in span_ids] + await SpanDB.find(In(SpanDB.id, object_ids)).delete() + + +async def delete_traces(trace_ids: List[str]): + """Delete the trace for the given trace_ids + + Args: + trace_ids (str): The ids of the trace + """ + + object_ids: List[ObjectId] = [ObjectId(trace_id) for trace_id in trace_ids] + await TraceDB.find(In(TraceDB.id, object_ids)).delete() + + +async def add_feedback_to_trace( + trace_id: str, payload: CreateFeedback, user_uid: str +) -> str: + """Add a feedback to a trace. + + Args: + trace_id (str): the Id of the trace + payload (CreateFeedback): the required payload + + Returns: + str: the feedback id + """ + + user = await db_manager.get_user(user_uid) + feedback = FeedbackDB( + user_id=str(user.id), + feedback=payload.feedback, + score=payload.score, + created_at=datetime.now(), + ) + + trace = await TraceDB.find_one(TraceDB.id == ObjectId(trace_id), fetch_links=True) + if trace.feedbacks is None: + trace.feedbacks = [feedback] + else: + trace.feedbacks.append(feedback) + + # Update trace + await trace.save() + return feedback.uid + + +async def get_trace_feedbacks(trace_id: str, user_uid: str) -> List[Feedback]: + """Get the feedbacks for a given trace. + + Args: + trace_id (str): the Id of the trace + + Returns: + List[Feedback]: the list of feedbacks for the given trace + """ + + user = await db_manager.get_user(user_uid) + + # Get feedbacks in trace + trace = await TraceDB.find_one( + TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id, fetch_links=True + ) + feedbacks = [feedback_db_to_pydantic(feedback) for feedback in trace.feedbacks] + return feedbacks + + +async def get_feedback_detail( + trace_id: str, feedback_id: str, user_uid: str +) -> Feedback: + """Get a single feedback. + + Args: + trace_id (str): the Id of the trace + feedback_id (str): the Id of the feedback + + Returns: + Feedback: the feedback + """ + + user = await db_manager.get_user(user_uid) + + # Get trace + trace = await TraceDB.find_one( + TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id, fetch_links=True + ) + + # Get feedback + feedback = [ + feedback_db_to_pydantic(feedback) + for feedback in trace.feedbacks + if feedback.uid == feedback_id + ] + return feedback[0] + + +async def update_trace_feedback( + trace_id: str, feedback_id: str, payload: UpdateFeedback, user_uid: str +) -> Feedback: + """Update a feedback. + + Args: + trace_id (str): the Id of the trace + feedback_id (str): the Id of the feedback + payload (UpdateFeedback): the required payload + + Returns: + Feedback: the feedback + """ + + user = await db_manager.get_user(user_uid) + + # Get trace + trace = await TraceDB.find_one( + TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id, fetch_links=True + ) + + # update feedback + feedback_json = {} + for feedback in trace.feedbacks: + if feedback.uid == feedback_id: + for key, value in payload.dict(exclude_none=True).items(): + setattr(feedback, key, value) + feedback_json = feedback.dict() + break + + # Save feedback in trace and return a copy + await trace.save() + + # Replace key and transform into a pydantic representation + feedback_json["feedback_id"] = feedback_json.pop("uid") + return Feedback(**feedback_json) From 15bf395ab809534fe78c555b206d4971b44459ba Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 9 Apr 2024 11:31:34 +0100 Subject: [PATCH 390/539] Cleanup - remove event_db_manager --- .../services/event_db_manager.py | 560 ------------------ 1 file changed, 560 deletions(-) delete mode 100644 agenta-backend/agenta_backend/services/event_db_manager.py diff --git a/agenta-backend/agenta_backend/services/event_db_manager.py b/agenta-backend/agenta_backend/services/event_db_manager.py deleted file mode 100644 index 75b8de88f3..0000000000 --- a/agenta-backend/agenta_backend/services/event_db_manager.py +++ /dev/null @@ -1,560 +0,0 @@ -import logging -from typing import List -from functools import partial -from datetime import datetime - -from fastapi import HTTPException - -from agenta_backend.models.api.api_models import PaginationParam, SorterParams -from agenta_backend.models.api.observability_models import ( - Error, - Span, - SpanDetail, - CreateSpan, - ObservabilityDashboardData, - Feedback, - CreateFeedback, - SpanStatus, - UpdateFeedback, - Trace, - TraceDetail, - CreateTrace, - UpdateTrace, - ObservabilityData, - GenerationFilterParams, - ObservabilityDashboardDataRequestParams, -) -from agenta_backend.models.converters import ( - spans_to_pydantic, - traces_to_pydantic, - feedback_db_to_pydantic, - trace_db_to_pydantic, - get_paginated_data, - get_pagination_skip_limit, -) -from agenta_backend.services import db_manager, filters, helpers -from agenta_backend.models.db_models import ( - TraceDB, - Feedback as FeedbackDB, - SpanDB, -) - -import pymongo -from beanie.operators import In -from beanie import PydanticObjectId as ObjectId - - -logger = logging.getLogger(__name__) -logger.setLevel(logging.INFO) - - -async def create_app_trace(payload: CreateTrace) -> str: - """Create a new trace. - - Args: - payload (CreateTrace): the required payload - - Returns: - Trace: the created trace - """ - - trace_db = TraceDB( - **payload.dict(exclude={"environment", "id"}), - id=ObjectId(payload.id), - environment="playground" if not payload.environment else payload.environment, - ) - await trace_db.create() - return str(trace_db.id) - - -async def get_trace_single(trace_id: str) -> Trace: - """Get a single trace. - - Args: - trace_id (str): the Id of the trace - - Returns: - Trace: the trace - """ - - # Get trace - trace = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), - ) - return trace_db_to_pydantic(trace) - - -async def trace_update(trace_id: str, payload: UpdateTrace) -> bool: - """Update status of trace. - - Args: - trace_id (str): the Id of the trace - payload (UpdateTrace): the required payload - - Returns: - bool: True if successful - """ - - trace = await TraceDB.find_one(TraceDB.id == ObjectId(trace_id)) - - await trace.update( - { - "$set": { - **payload.dict(exclude_none=True), - }, - } - ) - return True - - -async def create_trace_span(payload: CreateSpan) -> str: - """Create a new span for a given trace. - - Args: - payload (CreateSpan): the required payload - - Returns: - str: the created span id - """ - - trace = await TraceDB.find_one(TraceDB.id == ObjectId(payload.trace_id)) - span_db = SpanDB( - **payload.dict( - exclude={"end_time", "trace_id", "span_id", "end_time", "environment"} - ), - id=ObjectId(payload.span_id), - trace=trace, - environment="playground" if not payload.environment else payload.environment, - end_time=payload.end_time, - ) - await span_db.create() - return str(span_db.id) - - -async def fetch_generation_spans( - app_id: str, - pagination: PaginationParam, - filters_param: GenerationFilterParams, - sorters: SorterParams, -) -> List[Span]: - """Get the spans for a given trace. - - Args: - app_id (str): The ID of the app - pagination (PaginationParam): The data of the pagination param - filters_param (GenerationFilterParams): The data of the generation filter params - sorters (SorterParams): The data of the sorters param - - Returns: - List[Span]: the list of spans for the given user - """ - - # Apply pagination and sorting - skip, limit = get_pagination_skip_limit(pagination) - sort_direction = ( - pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING - ) - - # Fetch spans without pagination and sorting applied - base_spans_db = SpanDB.find(SpanDB.trace.app_id == app_id) - - # Count of spans in db - filters_query = {} - if filters_param.environment is not None: - filters_query["environment"] = filters_param.environment - elif filters_param.variant is not None: - filters_query["variant_id"] = filters_param.variant - spans_count = await base_spans_db.find(filters_query, fetch_links=True).count() - - # Fetch spans with pagination and sorting applied - spans_db = base_spans_db.find(fetch_links=True, skip=skip, limit=limit).sort( - [(SpanDB.created_at, sort_direction)] - ) - - # Filter based on trace_id or not - if filters_param.trace_id is not None: - spans_db = await spans_db.find_many( - SpanDB.trace.id == ObjectId(filters_param.trace_id), fetch_links=True - ).to_list() - else: - spans_db = await spans_db.to_list() - - # Convert beanie documents to pydantic models and filter based on the filter_params - spans = await spans_to_pydantic(spans_db) - filtered_generations = filter( - partial(filters.filter_document_by_filter_params, filters_param), spans - ) - if filters_param.trace_id: - return list(filtered_generations) - return get_paginated_data(list(filtered_generations), spans_count, pagination) - - -async def fetch_generation_span_detail(span_id: str) -> SpanDetail: - """Get a generation span detail. - - Args: - span_id (str): The ID of a span - - Returns: - SpanDetail: span detail pydantic model - """ - - span_db = await SpanDB.find_one(SpanDB.id == ObjectId(span_id), fetch_links=True) - app_variant_db = await db_manager.fetch_app_variant_by_id(span_db.trace.variant_id) - - return SpanDetail( - **{ - "id": str(span_db.id), - "created_at": span_db.created_at.isoformat(), - "variant": { - "variant_id": str(app_variant_db.id), - "variant_name": app_variant_db.variant_name, - "revision": app_variant_db.revision, - }, - "environment": span_db.environment, - "status": span_db.status.dict(), - "metadata": { - "cost": span_db.cost, - "latency": span_db.get_latency(), - "usage": span_db.tokens, - }, - "user_id": "", - "content": { - "inputs": [ - {"input_name": key, "input_value": value} - for key, value in span_db.input.items() - ], - "outputs": [span_db.output], - }, - "config": span_db.attributes.get("model_config"), - }, - ) - - -async def retrieve_observability_dashboard( - app_id: str, - params: ObservabilityDashboardDataRequestParams, -) -> ObservabilityDashboardData: - # Apply filtering based on the environment and variant (base_id) - filtered_spans = filters.filter_observability_dashboard_spans_db_by_filters( - app_id, params - ) - - # Apply datetime filter and aggregation pipeline - spans = None - if params.timeRange is not None: - filter_datetime = filters.filter_by_time_range(params.timeRange) - spans_aggregation_mapping = filters.prepares_spans_aggregation_by_timerange( - params.timeRange - ) - pipeline = [ - {"$match": {"created_at": {"$gte": filter_datetime}}}, - spans_aggregation_mapping, - ] - spans = await filtered_spans.aggregate( - pipeline, - ).to_list() - - observability_data: ObservabilityData = [] - for span in spans: - observability_data.append(ObservabilityData(**span, timestamp=span["_id"])) - - if observability_data == []: - return ObservabilityDashboardData( - **{ - "data": [], - "total_count": 0, - "failure_rate": 0.0, - "total_cost": 0.0, - "avg_cost": 0.0, - "avg_latency": 0.0, - "total_tokens": 0, - "avg_tokens": 0, - } - ) - - full_observability_data = helpers.fill_missing_data( - data=observability_data, - time_range=params.timeRange, - ) - len_of_observability_data = len(full_observability_data) - sorted_data = sorted(full_observability_data, key=lambda x: x.timestamp) - return ObservabilityDashboardData( - **{ - "data": sorted_data, - "total_count": len_of_observability_data, - "failure_rate": round(sum(data.failure_count for data in sorted_data), 5), - "total_cost": round(sum(data.cost for data in sorted_data), 5), - "avg_cost": round( - sum(data.cost for data in sorted_data) / len_of_observability_data, - 5, - ), - "avg_latency": round( - sum(data.latency for data in sorted_data) / len_of_observability_data, - 5, - ), - "total_tokens": sum(data.total_tokens for data in sorted_data), - "avg_tokens": sum(data.total_tokens for data in sorted_data) - / len_of_observability_data, - } - ) - - -async def fetch_traces( - app_id: str, - pagination: PaginationParam, - filters_param: GenerationFilterParams, - sorters: SorterParams, -) -> List[Trace]: - """Get the traces for the given app_id. - - Args: - app_id (str): The ID of the app - pagination (PaginationParam): The data of the pagination param - filters_param (GenerationFilterParams): The data of the generation filter params - sorters (SorterParams): The data of the sorters param - - Returns: - List[Trace]: the list of trace for the given app_id - """ - - # Apply pagination and sorting - skip, limit = get_pagination_skip_limit(pagination) - sort_direction = ( - pymongo.ASCENDING if sorters.created_at == "asc" else pymongo.DESCENDING - ) - - # Fetch traces without pagination and sorting applied - base_traces_db = TraceDB.find( - TraceDB.app_id == app_id, - ) - - # Count of traces in db - filters_query = {} - if filters_param.environment is not None: - filters_query["environment"] = filters_param.environment - elif filters_param.variant is not None: - filters_query["variant_id"] = filters_param.variant - traces_count = await base_traces_db.find(filters_query, fetch_links=True).count() - - # Fetch traces with pagination and sorting applied - traces_db = ( - await base_traces_db.find(fetch_links=True, skip=skip, limit=limit) - .sort([(TraceDB.created_at, sort_direction)]) - .to_list() - ) - - # Convert beanie documents to pydantic models and filter based on the filter_params - traces = await traces_to_pydantic(traces_db) - filtered_traces = filter( - partial(filters.filter_document_by_filter_params, filters_param), traces - ) - - return get_paginated_data(list(filtered_traces), traces_count, pagination) - - -async def fetch_trace_detail(trace_id: str) -> TraceDetail: - """Get a trace detail. - - Args: - trace_id (str): The ID of a trace - user_uid (str): The user ID - - Returns: - TraceDetail: trace detail pydantic model - """ - - trace_db = await get_single_trace(trace_id) - app_variant_db = await db_manager.fetch_app_variant_by_id(trace_db.variant_id) - - span_status = ( - SpanStatus(value=trace_db.status) - if trace_db.status in ["INITIATED", "COMPLETED"] - else SpanStatus(value=None, error=Error(message=trace_db.status)) - ) - return TraceDetail( - **{ - "id": str(trace_db.id), - "content": { - "inputs": [ - {"input_name": key, "input_value": value} - for key, value in trace_db.inputs.items() - ], - "outputs": trace_db.outputs, - }, - "created_at": trace_db.created_at.isoformat(), - "variant": { - "variant_id": str(app_variant_db.id), - "variant_name": app_variant_db.variant_name, - "revision": app_variant_db.revision, - }, - "environment": trace_db.environment, - "status": span_status, - "metadata": { - "cost": trace_db.cost, - "latency": trace_db.get_latency(), - "usage": {"total_tokens": trace_db.token_consumption}, - }, - "user_id": "", - "config": trace_db.config, - }, - ) - - -async def get_single_trace(trace_id: str) -> TraceDB: - """Get a single trace document from database. - - Args: - trace_id (str): The id of the trace - - Returns: - TraceDB: the trace document - """ - - trace_db = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), fetch_links=True - ) - if not trace_db: - raise HTTPException(404, {"message": "Trace does not exist"}) - return trace_db - - -async def delete_spans(span_ids: List[str]): - """Delete the span for a given span_ids. - - Args: - span_ids (str): The ids of the span - """ - - object_ids: List[ObjectId] = [ObjectId(span_id) for span_id in span_ids] - await SpanDB.find(In(SpanDB.id, object_ids)).delete() - - -async def delete_traces(trace_ids: List[str]): - """Delete the trace for the given trace_ids - - Args: - trace_ids (str): The ids of the trace - """ - - object_ids: List[ObjectId] = [ObjectId(trace_id) for trace_id in trace_ids] - await TraceDB.find(In(TraceDB.id, object_ids)).delete() - - -async def add_feedback_to_trace( - trace_id: str, payload: CreateFeedback, user_uid: str -) -> str: - """Add a feedback to a trace. - - Args: - trace_id (str): the Id of the trace - payload (CreateFeedback): the required payload - - Returns: - str: the feedback id - """ - - user = await db_manager.get_user(user_uid) - feedback = FeedbackDB( - user_id=str(user.id), - feedback=payload.feedback, - score=payload.score, - created_at=datetime.now(), - ) - - trace = await TraceDB.find_one(TraceDB.id == ObjectId(trace_id), fetch_links=True) - if trace.feedbacks is None: - trace.feedbacks = [feedback] - else: - trace.feedbacks.append(feedback) - - # Update trace - await trace.save() - return feedback.uid - - -async def get_trace_feedbacks(trace_id: str, user_uid: str) -> List[Feedback]: - """Get the feedbacks for a given trace. - - Args: - trace_id (str): the Id of the trace - - Returns: - List[Feedback]: the list of feedbacks for the given trace - """ - - user = await db_manager.get_user(user_uid) - - # Get feedbacks in trace - trace = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id, fetch_links=True - ) - feedbacks = [feedback_db_to_pydantic(feedback) for feedback in trace.feedbacks] - return feedbacks - - -async def get_feedback_detail( - trace_id: str, feedback_id: str, user_uid: str -) -> Feedback: - """Get a single feedback. - - Args: - trace_id (str): the Id of the trace - feedback_id (str): the Id of the feedback - - Returns: - Feedback: the feedback - """ - - user = await db_manager.get_user(user_uid) - - # Get trace - trace = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id, fetch_links=True - ) - - # Get feedback - feedback = [ - feedback_db_to_pydantic(feedback) - for feedback in trace.feedbacks - if feedback.uid == feedback_id - ] - return feedback[0] - - -async def update_trace_feedback( - trace_id: str, feedback_id: str, payload: UpdateFeedback, user_uid: str -) -> Feedback: - """Update a feedback. - - Args: - trace_id (str): the Id of the trace - feedback_id (str): the Id of the feedback - payload (UpdateFeedback): the required payload - - Returns: - Feedback: the feedback - """ - - user = await db_manager.get_user(user_uid) - - # Get trace - trace = await TraceDB.find_one( - TraceDB.id == ObjectId(trace_id), TraceDB.user.id == user.id, fetch_links=True - ) - - # update feedback - feedback_json = {} - for feedback in trace.feedbacks: - if feedback.uid == feedback_id: - for key, value in payload.dict(exclude_none=True).items(): - setattr(feedback, key, value) - feedback_json = feedback.dict() - break - - # Save feedback in trace and return a copy - await trace.save() - - # Replace key and transform into a pydantic representation - feedback_json["feedback_id"] = feedback_json.pop("uid") - return Feedback(**feedback_json) From aa900b3063c9842ea7f2b61047c743b188bc7309 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 9 Apr 2024 12:07:59 +0100 Subject: [PATCH 391/539] Cleanup - remove redunant codes belonging to observability --- .../agenta_backend/models/converters.py | 99 ------------------- 1 file changed, 99 deletions(-) diff --git a/agenta-backend/agenta_backend/models/converters.py b/agenta-backend/agenta_backend/models/converters.py index f0e0008785..2e13547ff5 100644 --- a/agenta-backend/agenta_backend/models/converters.py +++ b/agenta-backend/agenta_backend/models/converters.py @@ -20,10 +20,6 @@ ) if isCloudEE(): - from agenta_backend.cloud.observability.models.db import ( - SpanDB, - Feedback as FeedbackDB, - ) from agenta_backend.commons.models.db_models import ( AppDB_ as AppDB, UserDB_ as UserDB, @@ -39,14 +35,6 @@ EvaluationScenarioDB_ as EvaluationScenarioDB, HumanEvaluationScenarioDB_ as HumanEvaluationScenarioDB, ) - from agenta_backend.cloud.observability.models.api import ( - Span, - Error, - SpanStatus, - SpanVariant, - Trace, - Feedback as FeedbackOutput, - ) from agenta_backend.commons.models.api.api_models import ( AppVariant_ as AppVariant, ImageExtended_ as ImageExtended, @@ -498,93 +486,6 @@ def testset_db_to_pydantic(test_set_db: TestSetDB) -> TestSetOutput: ) -async def spans_to_pydantic(spans_db: List["SpanDB"]) -> List["Span"]: - child_spans: List[Span] = [] - spans_dict: Dict[str, Span] = {} - - for span_db in spans_db: - app_variant_db = await db_manager.fetch_app_variant_by_id( - span_db.trace.variant_id - ) - spans_dict[str(span_db.id)] = Span( - id=str(span_db.id), - name=span_db.name, - created_at=span_db.created_at.isoformat(), - variant=SpanVariant( - variant_id=str(span_db.trace.variant_id), - variant_name=app_variant_db.variant_name, - revision=app_variant_db.revision, - ), - environment=span_db.environment, - status=SpanStatus(value=span_db.status.value, error=span_db.status.error), - metadata={ - "cost": span_db.cost, - "latency": span_db.get_latency(), - "usage": span_db.tokens, - }, - user_id=span_db.user, - parent_span_id=span_db.parent_span_id, - ) - - for span_db in spans_db: - if span_db.parent_span_id: - parent_span = spans_dict.get(span_db.parent_span_id) - child_span = spans_dict[str(span_db.id)] - if parent_span: - if hasattr(parent_span, "children") and not parent_span.children: - parent_span.children = [] - - parent_span.children.append(child_span) - child_spans.append(child_span) - - top_level_spans = [span for span in spans_dict.values() if span not in child_spans] - return [ - span.dict(exclude_unset=True, exclude_none=True) for span in top_level_spans - ] - - -async def traces_to_pydantic(traces_db: List["TraceDB"]) -> List["Trace"]: - traces: List[Trace] = [] - for trace_db in traces_db: - app_variant_db = await db_manager.fetch_app_variant_by_id(trace_db.variant_id) - - trace_span_status = ( - SpanStatus(value=trace_db.status) - if trace_db.status in ["INITIATED", "COMPLETED"] - else SpanStatus(value=None, error=Error(message=trace_db.status)) - ) - trace = Trace( - id=str(trace_db.id), - created_at=trace_db.created_at.isoformat(), - variant=SpanVariant( - variant_id=str(app_variant_db.id), - variant_name=app_variant_db.variant_name, - revision=app_variant_db.revision, - ), - environment=trace_db.environment, - status=trace_span_status, - metadata={ - "cost": trace_db.cost, - "latency": trace_db.get_latency(), - "usage": {"total_tokens": trace_db.token_consumption}, - }, - user_id="", - ) - traces.append(trace.dict(exclude_unset=True)) - - return traces - - -def feedback_db_to_pydantic(feedback_db: "FeedbackDB") -> "FeedbackOutput": - return FeedbackOutput( - feedback_id=str(feedback_db.uid), - feedback=feedback_db.feedback, - score=feedback_db.score, - meta=feedback_db.meta, - created_at=feedback_db.created_at, - ).dict(exclude_unset=True) - - def user_db_to_pydantic(user_db: UserDB) -> User: return User( id=str(user_db.id), From 0321e6887671e41f1518545dbfc75ef808cd807c Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Tue, 9 Apr 2024 13:44:34 +0100 Subject: [PATCH 392/539] clicking enter key creates app --- .../components/AppSelector/AppSelector.tsx | 68 +++++++++---------- 1 file changed, 33 insertions(+), 35 deletions(-) diff --git a/agenta-web/src/components/AppSelector/AppSelector.tsx b/agenta-web/src/components/AppSelector/AppSelector.tsx index 9979cce7be..a8166395ab 100644 --- a/agenta-web/src/components/AppSelector/AppSelector.tsx +++ b/agenta-web/src/components/AppSelector/AppSelector.tsx @@ -254,6 +254,36 @@ const AppSelector: React.FC = () => { [apps, newApp], ) + const handleEnterKeyPress = (event: React.KeyboardEvent) => { + if (event.key === "Enter") { + handleCreateApp() + } + } + + const handleCreateApp = () => { + if (appNameExist) { + notification.warning({ + message: "Template Selection", + description: "App name already exists. Please choose a different name.", + duration: 3, + }) + } else if (fetchingTemplate && newApp.length > 0 && isAppNameInputValid(newApp)) { + notification.info({ + message: "Template Selection", + description: "The template image is currently being fetched. Please wait...", + duration: 3, + }) + } else if (!fetchingTemplate && newApp.length > 0 && isAppNameInputValid(newApp)) { + handleTemplateCardClick(templateId as string) + } else { + notification.warning({ + message: "Template Selection", + description: "Please provide a valid app name to choose a template.", + duration: 3, + }) + } + } + return ( { placeholder="New app name (e.g., chat-app)" value={newApp} onChange={(e) => setNewApp(e.target.value)} + onKeyDown={handleEnterKeyPress} disabled={fetchingTemplate} /> - {appNameExist &&
App name already exist
} + {appNameExist &&
App name already exists
} {newApp.length > 0 && !isAppNameInputValid(newApp) && (
App name must contain only letters, numbers, underscore, or dash @@ -368,40 +399,7 @@ const AppSelector: React.FC = () => { type="primary" loading={fetchingTemplate} disabled={appNameExist || newApp.length === 0} - onClick={() => { - if (appNameExist) { - notification.warning({ - message: "Template Selection", - description: - "App name already exists. Please choose a different name.", - duration: 3, - }) - } else if ( - fetchingTemplate && - newApp.length > 0 && - isAppNameInputValid(newApp) - ) { - notification.info({ - message: "Template Selection", - description: - "The template image is currently being fetched. Please wait...", - duration: 3, - }) - } else if ( - !fetchingTemplate && - newApp.length > 0 && - isAppNameInputValid(newApp) - ) { - handleTemplateCardClick(templateId as string) - } else { - notification.warning({ - message: "Template Selection", - description: - "Please provide a valid app name to choose a template.", - duration: 3, - }) - } - }} + onClick={handleCreateApp} > Create From 3fb3a17471d4ff60cbd297d40c07a1806e5ca381 Mon Sep 17 00:00:00 2001 From: Abram Date: Tue, 9 Apr 2024 17:32:52 +0100 Subject: [PATCH 393/539] Cleanup - remove redundant codes relating to observability --- .../agenta_backend/services/filters.py | 229 ------------------ .../agenta_backend/services/helpers.py | 89 ------- 2 files changed, 318 deletions(-) delete mode 100644 agenta-backend/agenta_backend/services/filters.py diff --git a/agenta-backend/agenta_backend/services/filters.py b/agenta-backend/agenta_backend/services/filters.py deleted file mode 100644 index f8774c9e7f..0000000000 --- a/agenta-backend/agenta_backend/services/filters.py +++ /dev/null @@ -1,229 +0,0 @@ -from datetime import datetime, timedelta -from typing import List, Union, Dict, Any - -from agenta_backend.models.db_models import SpanDB -from agenta_backend.models.api.observability_models import ( - Span, - Trace, - ObservabilityData, - GenerationFilterParams, - ObservabilityDashboardData, - ObservabilityDashboardDataRequestParams, -) - - -def filter_by_time_range(time_range: str) -> datetime: - """ - Filters a datetime object based on a specified time range. - - Args: - time_range (str): The time range to filter by - - Returns: - time_range (datetime): Specific time depends on the value of the time_range - """ - - now = datetime.now() - if time_range == "24_hours": - return now - timedelta(hours=24) - elif time_range == "7_days": - return now - timedelta(days=7) - elif time_range == "30_days": - return now - timedelta(days=30) - elif time_range == "60_days": - return now - timedelta(days=60) - elif time_range == "90_days": - return now - timedelta(days=90) - elif time_range == "180_days": - return now - timedelta(days=180) - else: - raise ValueError("Invalid time parameter.") - - -def calculate_target_hours() -> List[int]: - now = datetime.now() - target_hours = [] - for i in range(24): - hour = (now - timedelta(hours=i)).hour - target_hours.append(hour) - return target_hours - - -def prepares_spans_aggregation_by_timerange(time_range: str): - """Prepares aggregation statement by time_range. - - Args: - time_range (str): The time range to filter by - - Returns: - Dict: mapping based on time range - """ - - if time_range == "24_hours": - date_trunc_unit = "hour" - elif time_range in ["7_days", "30_days"]: - date_trunc_unit = "day" - else: # for 60_days, 90_days, and 180_days - date_trunc_unit = "month" - - time_range_mappings = { - "$group": { - "_id": {"$dateTrunc": {"date": "$created_at", "unit": date_trunc_unit}}, - "latency": { - "$sum": {"$divide": [{"$subtract": ["$end_time", "$start_time"]}, 1000]} - }, - "success_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "COMPLETED"]}, 1, 0]} - }, - "failure_count": { - "$sum": {"$cond": [{"$eq": ["$status.value", "FAILED"]}, 1, 0]} - }, - "cost": {"$sum": "$cost"}, - "total_tokens": {"$sum": "$tokens.total_tokens"}, - "prompt_tokens": {"$sum": "$tokens.prompt_tokens"}, - "completion_tokens": {"$sum": "$tokens.completion_tokens"}, - } - } - - return time_range_mappings - - -def filter_observability_dashboard_spans_db_by_filters( - app_id: str, params: ObservabilityDashboardDataRequestParams -): - if params.environment and params.variant: - filtered_spans = SpanDB.find( - SpanDB.trace.app_id == app_id, - SpanDB.environment == params.environment, - SpanDB.trace.base_id == params.variant, - fetch_links=True, - ) - elif params.variant: - filtered_spans = SpanDB.find( - SpanDB.trace.app_id == app_id, - SpanDB.trace.base_id == params.variant, - fetch_links=True, - ) - elif params.environment: - filtered_spans = SpanDB.find( - SpanDB.trace.app_id == app_id, - SpanDB.environment == params.environment, - fetch_links=True, - ) - else: - filtered_spans = SpanDB.find(SpanDB.trace.app_id == app_id, fetch_links=True) - return filtered_spans - - -def filter_observability_dashboard_data_by_params( - params: ObservabilityDashboardDataRequestParams, - observability_data: List[Union[ObservabilityData, Dict[str, Any]]], -): - """Filter observability dashboard data by the provided params. - - Args: - params (ObservabilityDashboardDataRequestParams): the params to filter data with - observability_data (List[Union[ObservabilityData, Dict[str, Any]]]): data to filter - - Returns: - filtered list of data - """ - - filtered_data = [] - if observability_data != [] and isinstance(observability_data[0], dict): - filtered_data = [ - ObservabilityData(**obs_data) for obs_data in observability_data - ] - else: - filtered_data = observability_data - - if params.startTime or params.endTime: - - def filter_by_timestamp(data: ObservabilityData): - epoch_time = int(data.timestamp.timestamp()) * 1000 - return params.startTime <= epoch_time <= params.endTime - - filtered_data = filter(filter_by_timestamp, filtered_data) - - if params.environment: - filtered_data = filter( - lambda data: data.environment == params.environment, filtered_data - ) - - if params.variant: - filtered_data = filter( - lambda data: data.variant == params.variant, filtered_data - ) - return list(filtered_data) - - -def filter_document_by_filter_params( - filters: GenerationFilterParams, document: Union[Span, Trace] -) -> bool: - """Filter document by the provided params. - - Args: - filters (GenerationFilterParams): the params to filter with - document (Union[Span, Trace]): expects either a span or trace document - - Returns: - bool: True or False if param matches condition - """ - - if filters: - if filters.variant and document["variant"]["variant_name"] != filters.variant: - return False - if filters.environment and document["environment"] != filters.environment: - return False - return True - - -def filter_and_aggregate_cache_observability_data( - params: ObservabilityDashboardDataRequestParams, - observability_data: List[Dict[str, Any]], -) -> ObservabilityDashboardData: - """Filter and aggregate cache data for the dashboard. - - Args: - params (ObservabilityDashboardDataRequestParams): the params to filter data with - observability_data (List[Dict[str, Any]]): cached data to filter - - Returns: - aggregated dashboard data - """ - - len_of_spans_db = len(observability_data) - filtered_data = filter_observability_dashboard_data_by_params( - params, observability_data - ) - if filtered_data == []: - return ObservabilityDashboardData( - **{ - "data": [], - "total_count": 0, - "failure_rate": 0, - "total_cost": 0, - "avg_cost": 0, - "avg_latency": 0, - "total_tokens": 0, - "avg_tokens": 0, - } - ) - return ObservabilityDashboardData( - **{ - "data": filtered_data, - "total_count": len_of_spans_db, - "failure_rate": 0, - "total_cost": round(sum([span["cost"] for span in observability_data]), 5), - "avg_cost": round( - sum([span["cost"] for span in observability_data]) / len_of_spans_db, 5 - ), - "avg_latency": round( - sum([span["latency"] for span in observability_data]) / len_of_spans_db, - 5, - ), - "total_tokens": sum([span["total_tokens"] for span in observability_data]), - "avg_tokens": sum([span["total_tokens"] for span in observability_data]) - / len_of_spans_db, - } - ) diff --git a/agenta-backend/agenta_backend/services/helpers.py b/agenta-backend/agenta_backend/services/helpers.py index a16c5f257c..e3b9bf0810 100644 --- a/agenta-backend/agenta_backend/services/helpers.py +++ b/agenta-backend/agenta_backend/services/helpers.py @@ -2,9 +2,6 @@ from typing import List, Dict, Any, Tuple from datetime import datetime, timedelta -from agenta_backend.models.db_models import SpanDB -from agenta_backend.models.api.observability_models import ObservabilityData - def format_inputs(list_of_dictionaries: List[Dict[str, Any]]) -> Dict: """ @@ -60,89 +57,3 @@ def include_dynamic_values(json_data: Dict, inputs: Dict[str, Any]) -> Dict: json_data = json_data.replace(f"{key}", value) return json_data - - -def convert_generation_span_inputs_variables(span_db: SpanDB) -> List[Dict[str, str]]: - """ - Converts a list of span generation inputs variables \ - to a list of dictionaries with name and type information. - - Args: - span_db: The span db document. - - Returns: - A list of dictionaries, where each dictionary has the following keys: - name: The name of the variable. - type: The type of the variable (string, number, or boolean). - """ - - variables: List[Dict[str, str]] = [] - for variable in span_db.input: - if isinstance(variable, str): - variable_type = "string" - elif isinstance(variable, (int, float)): - variable_type = "number" - elif isinstance(variable, bool): - variable_type = "boolean" - else: - raise ValueError(f"Unsupported variable type: {type(variable)}") - - variables.append({"name": variable, "type": variable_type}) - return variables - - -def range_of_dates_based_on_timerange( - time_range: str, current_date: datetime -) -> Tuple[datetime, datetime]: - if time_range == "24_hours": - start_date = current_date - timedelta(days=1) - end_date = current_date - elif time_range == "7_days": - start_date = current_date - timedelta(days=7) - end_date = current_date - elif time_range == "30_days": - start_date = current_date - timedelta(days=30) - end_date = current_date - return start_date, end_date - - -def fill_missing_data( - data: List[ObservabilityData], - time_range: str, -) -> List[ObservabilityData]: - current_date, end_date = range_of_dates_based_on_timerange( - time_range, datetime.now() - ) - result_map = {} - for result in data: - truncated_timestamp = ( - result.timestamp.replace(minute=0, second=0) - if time_range == "24_hours" - else result.timestamp.replace(hour=0, minute=0, second=0) - ) - result_map[str(truncated_timestamp)] = result - - while current_date <= end_date: - truncated_current_date = str( - current_date.strftime("%Y-%m-%d %I:00:00") - if time_range == "24_hours" - else current_date.strftime("%Y-%m-%d 00:00:00") - ) - if truncated_current_date not in result_map: - result_map[truncated_current_date] = ObservabilityData( - **{ - "timestamp": truncated_current_date, - "success_count": 0, - "failure_count": 0, - "cost": 0, - "latency": 0, - "total_tokens": 0, - "prompt_tokens": 0, - "completion_tokens": 0, - } - ) - if time_range == "24_hours": - current_date += timedelta(hours=1) - else: - current_date += timedelta(days=1) - return list(result_map.values()) From ed6b50a62b871d8e8329cf99684860054ccb5098 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Tue, 9 Apr 2024 19:24:21 +0200 Subject: [PATCH 394/539] update --- docs/changelog/main.mdx | 172 +++++++++++++++++++++------------------- 1 file changed, 90 insertions(+), 82 deletions(-) diff --git a/docs/changelog/main.mdx b/docs/changelog/main.mdx index ffc0f866ef..6e82efdbe1 100644 --- a/docs/changelog/main.mdx +++ b/docs/changelog/main.mdx @@ -2,130 +2,138 @@ title: "Changelog" --- -## v0.12.6 - TITLE +## v0.12.6 - Compare latency and costs *1st April 2024* -- Added Latency and Cost to Evaluation -- Fixed when API key is wrong in CLI -- Removed logic that filters parameters without a value +You can now compare the latency and cost of different variants in the evaluation view. +< add screenshot > -## v0.12.5 - TITLE +## v0.12.5 - Minor improvements *31st March 2024* -- Feature: Toggle variant visibility in comparison view + +** Toggle variants in comparison view ** +You can now toggle the visibility of variants in the comparison view, allowing you to compare a multitude of variants side-by-side at the same time ** +< add screenshot > + +** Improvements ** +- You can now add a datapoint from the playground to the test set even if there is a column mismatch + +** Bug fixes ** - Resolved issue with "Start Evaluation" button in Testset view - Fixed bug in CLI causing variant not to serve -- Allowed the addition of a data point from the playground when columns mismatch -- Improved Parameters type -## v0.12.4 - TITLE +## v0.12.4 - New evaluators *25th March 2024* -- Introduced New string matching evaluators -- Implemented support for passing API Key as an ENV variable -- Updated Human Evaluation Documentation -- Introduced Levenshtein distance evaluator -- Resolved issue with viewing the evaluation full output value -- Improved Error boundary logic to unblock UI -- Improved logic to save and retrieve multiple LLM provider keys -- Fixed Modal instances to support dark mode + +We have added some more evaluators, a new string matching and a Levenshtein distance evaluation. + +** Improvements ** +- Updated documentation for human evaluation - Made improvements to Human evaluation card view - Added dialog to indicate testset being saved in UI -## v0.12.3 - TITLE +** Bug fixes ** +- Fixed issue with viewing the full output value during evaluation +- Enhanced error boundary logic to unblock user interface +- Improved logic to save and retrieve multiple LLM provider keys +- Fixed Modal instances to support dark mode + +## v0.12.3 - Minor improvements *11th March 2024* -- Enhanced Webhook evaluator logic + +- Improved the logic of the Webhook evaluator +- Made the inputs in the Human evaluation view non-editable +- Added an option to save a test set in the Single model evaluation view +- Included the evaluator name in the "Configure your evaluator" modal + +** Bug fixes ** - Fixed column resize in comparison view -- Fixed a bug in the evaluation output in CSV file -- Made inputs in Human evaluation view unmodifiable -- Added option to save a testset in the Single model evaluation view -- Fixed path to Evaluators view when navigating from Evaluations -- Added evaluator name to "Configure your evaluator" modal +- Resolved a bug affecting the evaluation output in the CSV file +- Corrected the path to the Evaluators view when navigating from Evaluations + -## v0.12.2 - TITLE +## v0.12.2 - Highlight ouput difference when comparing evaluations *4th March 2024* -- Pay check -- Feature: Highlight output difference in the comparison view -- Updated documentation for Evaluator and Human Evaluation -- Resolved failing Frontend test -- Added assertion for app variant not found -- Resolved unbound error + +We have improved the evaluation comparison view to show the difference to the expected output. + +** Improvements ** - Improved the error messages when invoking LLM applications - Improved "Add new evaluation" modal -- Resolved failing Backend tests - Upgraded Sidemenu to display Configure evaluator and run evaluator under Evaluations section - Changed cursor to pointer when hovering over evaluation results -## v0.12.0 - TITLE +## v0.12.0 - Deployment Versioning and RBAC *14th February 2024* -- Feature: Deployment Versioning -- Feature: RBAC Implementation -- Implemented State persistence for Evaluations -- Updated documentation for vision gpt explain images -- Fixed bug in custom code evaluation aggregation +** Deployment versioning ** +You now have access to a history of prompts deployed to our three environments. This feature allows you to roll back to previous versions if needed. + +** Role-Based Access Control ** +You can now invite team members and assign them fine-grained roles in agenta. +< add screenshot> + +** Improvements ** +- We now prevent the deletion of test sets that are used in evaluations + +** Bug fixes** +- Fixed bug in custom code evaluation aggregation. Up until know the aggregated result for custom code evalution where not computed correctly. - Fixed bug with Evaluation results not being exported correctly + +- Updated documentation for vision gpt explain images - Improved Frontend test for Evaluations -- Implemented prevention of used resources being deleted -## v0.10.2 - TITLE +## v0.10.2- Minor fixes *4th February 2024* -- Fixed failing Frontend test in Playground + +- Addressed issue when invoking LLM app with missing LLM provider key - Updated LLM providers in Backend enum - Fixed bug in variant environment deployment -- Fixed Evaluation table sorting +- Fixed the sorting in evaluation tables - Made use of server timezone instead of UTC -- Addressed issue when invoking LLM app with missing LLM provider key -## v0.10.1 - TITLE +## v0.10.0 - Prompt Versioning *31st January 2024* -- Updated failing Backend tests -- Fixed result object -- Added option to use variables non-interactively -- Updated API code in cloud +We've introduced the feature to version prompts, allowing you to track changes made by the team and revert to previous versions. To view the change history of the configuration, click on the sign in the playground to access all previous versions. +< add screenshot> -## v0.10.0 - TITLE -*31st January 2024* -- Feature: Prompt Versioning -- Added Dynamic Drawer for Prompt Versioning -- Enhancement: Prompt Versioning and migrations - -## v0.9.1 - TITLE +## v0.9.1 - New JSON Evaluator *30th January 2024* -- Added correct answer column and JSON field match evaluator +We have added a new evaluator to match JSON fields and added the possiblity to use other columns in the test set other than the `correct_answer` column as the ground truth. +< add screenshot> -## v0.9.0 - TITLE +## v0.9.0 - Improved error handling in evaluation *29th January 2024* -- Error handling in evaluations -- Added button in A/B testing evaluation to mark both as correct -- Improved Loading state in Human Evaluation -- Fixed logic for sending API key in Frontend +We have improved error handling in evaluation to return more information about the exact source of the error in the evaluation view +< add screenshot (maybe with wrong openai key) > -## v0.8.4 - TITLE -*27th January 2024* -- Modified agenta SDK handle_exception -- Removed deprecated code for building and uploading Docker image +**Improvements**: +- Added the option in A/B testing human evaluation to mark both variants as correct +- Improved loading state in Human Evaluation -## v0.8.3 - TITLE +## v0.8.3 - Bring your own API key *25th January 2024* -- Feature: Use your own api key in cloud -- Updated beanie to use official version -- Fixed failing Backend tests +Up until know, we required users to use our OpenAI API key when using cloud. Starting now, you can use your own API key for any new application you create. -## v0.8.2 - TITLE +## v0.8.2 - Improved human evaluation workflow *24th January 2024* -- Updated Human evaluation table to add annotation and correct answer columns + +** Faster human evaluation workflow +We have updated the human evaluation table view to add annotation and correct answer columns. + + + +**Improvements**: +- Simplified the database migration process +- Fixed environment variable injection to enable cloud users to use their own keys +- Disabled import from endpoint in cloud due to security reasons +- Improved query lookup speed for evaluation scenarios - Improved error handling in playground -- Resolved issue with live results in A/B testing evaluation not updating -- Improved query lookup for evaluation scenarios + +**Bug fixes**: +- Resolved failing Backend tests - Fixed a bug in rate limit configuration validation - Fixed issue with all aggregated results -- Resolved failing Backend tests -- Disabled import from endpoint in cloud due to security reasons -- Fixed environment variable injection to enable cloud users to use their own keys -- Simplified migration process +- Resolved issue with live results in A/B testing evaluation not updating -## v0.8.1 - TITLE -*24th January 2024* -- Evaluations in Backend -- Added Migration steps to documentation -- Improved UI/UX in Evaluation view ## v0.8.0 - Revamping evaluation *22nd January 2024* From 16cae6013889cc318941e893e46f931c169d7037 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Wed, 10 Apr 2024 08:59:57 +0100 Subject: [PATCH 395/539] Fix: Allow expanding rows to display full error messages --- .../evaluationScenarios/EvaluationScenarios.tsx | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx index 5a40ef8e92..f109464761 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -22,8 +22,8 @@ import AgCustomHeader from "@/components/AgCustomHeader/AgCustomHeader" import {useAtom} from "jotai" import {evaluatorsAtom} from "@/lib/atoms/evaluation" import CompareOutputDiff from "@/components/CompareOutputDiff/CompareOutputDiff" +import {useQueryParam} from "@/hooks/useQuery" import {formatCurrency, formatLatency} from "@/lib/helpers/formatters" -import {useLocalStorage} from "usehooks-ts" const useStyles = createUseStyles((theme: JSSTheme) => ({ infoRow: { @@ -56,7 +56,7 @@ const EvaluationScenarios: React.FC = () => { const [evaluators, setEvaluators] = useAtom(evaluatorsAtom) const gridRef = useRef>() const evalaution = scenarios[0]?.evaluation - const [showDiff, setShowDiff] = useLocalStorage("showDiff", "show") + const [showDiff, setShowDiff] = useQueryParam("showDiff", "show") const colDefs = useMemo(() => { const colDefs: ColDef<_EvaluationScenario>[] = [] @@ -96,7 +96,10 @@ const EvaluationScenarios: React.FC = () => { cellRenderer: (params: any) => { const result = params.data?.outputs[index].result if (result && result.type == "error") { - return `${result?.error?.message}\n${result?.error?.stacktrace}` + return LongTextCellRenderer( + params, + `${result?.error?.message}\n${result?.error?.stacktrace}`, + ) } return showDiff === "show" ? LongTextCellRenderer( From 1b459754c54c4132157680bc25bad2d82f20f1f9 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Wed, 10 Apr 2024 09:08:55 +0100 Subject: [PATCH 396/539] synced with main branch --- .../evaluations/evaluationScenarios/EvaluationScenarios.tsx | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx index f109464761..e375c46e9d 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationScenarios/EvaluationScenarios.tsx @@ -22,8 +22,8 @@ import AgCustomHeader from "@/components/AgCustomHeader/AgCustomHeader" import {useAtom} from "jotai" import {evaluatorsAtom} from "@/lib/atoms/evaluation" import CompareOutputDiff from "@/components/CompareOutputDiff/CompareOutputDiff" -import {useQueryParam} from "@/hooks/useQuery" import {formatCurrency, formatLatency} from "@/lib/helpers/formatters" +import {useLocalStorage} from "usehooks-ts" const useStyles = createUseStyles((theme: JSSTheme) => ({ infoRow: { @@ -56,7 +56,7 @@ const EvaluationScenarios: React.FC = () => { const [evaluators, setEvaluators] = useAtom(evaluatorsAtom) const gridRef = useRef>() const evalaution = scenarios[0]?.evaluation - const [showDiff, setShowDiff] = useQueryParam("showDiff", "show") + const [showDiff, setShowDiff] = useLocalStorage("showDiff", "show") const colDefs = useMemo(() => { const colDefs: ColDef<_EvaluationScenario>[] = [] From 50333498d8d9af5641c4d5a167c2979b483c069f Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Wed, 10 Apr 2024 14:53:44 +0100 Subject: [PATCH 397/539] added screenshots and updated docs --- docs/changelog/main.mdx | 36 ++++++++++++------ .../compare_latency_and_cost_dark.png | Bin 0 -> 284386 bytes .../compare_latency_and_cost_light.png | Bin 0 -> 326249 bytes .../improved_error_handling_dark.png | Bin 0 -> 332407 bytes .../improved_error_handling_light.png | Bin 0 -> 365703 bytes .../improved_human_eval_workflow_dark.png | Bin 0 -> 489515 bytes .../improved_human_eval_workflow_light.png | Bin 0 -> 490461 bytes .../changelog/new_json_evaluator_dark.png | Bin 0 -> 467723 bytes .../changelog/new_json_evaluator_light.png | Bin 0 -> 476761 bytes .../changelog/prompt_versioning_dark.png | Bin 0 -> 343136 bytes .../changelog/prompt_versioning_light.png | Bin 0 -> 345802 bytes docs/images/changelog/rbac_dark.png | Bin 0 -> 86193 bytes docs/images/changelog/rbac_light.png | Bin 0 -> 103808 bytes .../toggle_variants_visibility_dark.png | Bin 0 -> 372147 bytes .../toggle_variants_visibility_light.png | Bin 0 -> 372385 bytes 15 files changed, 25 insertions(+), 11 deletions(-) create mode 100644 docs/images/changelog/compare_latency_and_cost_dark.png create mode 100644 docs/images/changelog/compare_latency_and_cost_light.png create mode 100644 docs/images/changelog/improved_error_handling_dark.png create mode 100644 docs/images/changelog/improved_error_handling_light.png create mode 100644 docs/images/changelog/improved_human_eval_workflow_dark.png create mode 100644 docs/images/changelog/improved_human_eval_workflow_light.png create mode 100644 docs/images/changelog/new_json_evaluator_dark.png create mode 100644 docs/images/changelog/new_json_evaluator_light.png create mode 100644 docs/images/changelog/prompt_versioning_dark.png create mode 100644 docs/images/changelog/prompt_versioning_light.png create mode 100644 docs/images/changelog/rbac_dark.png create mode 100644 docs/images/changelog/rbac_light.png create mode 100644 docs/images/changelog/toggle_variants_visibility_dark.png create mode 100644 docs/images/changelog/toggle_variants_visibility_light.png diff --git a/docs/changelog/main.mdx b/docs/changelog/main.mdx index 6e82efdbe1..f5056a40e6 100644 --- a/docs/changelog/main.mdx +++ b/docs/changelog/main.mdx @@ -4,15 +4,19 @@ title: "Changelog" ## v0.12.6 - Compare latency and costs *1st April 2024* + You can now compare the latency and cost of different variants in the evaluation view. -< add screenshot > + + -## v0.12.5 - Minor improvements +## v0.12.5 - Minor improvements *31st March 2024* ** Toggle variants in comparison view ** -You can now toggle the visibility of variants in the comparison view, allowing you to compare a multitude of variants side-by-side at the same time ** -< add screenshot > + +You can now toggle the visibility of variants in the comparison view, allowing you to compare a multitude of variants side-by-side at the same time. + + ** Improvements ** - You can now add a datapoint from the playground to the test set even if there is a column mismatch @@ -64,12 +68,16 @@ We have improved the evaluation comparison view to show the difference to the ex ## v0.12.0 - Deployment Versioning and RBAC *14th February 2024* + ** Deployment versioning ** + You now have access to a history of prompts deployed to our three environments. This feature allows you to roll back to previous versions if needed. ** Role-Based Access Control ** + You can now invite team members and assign them fine-grained roles in agenta. -< add screenshot> + + ** Improvements ** - We now prevent the deletion of test sets that are used in evaluations @@ -92,18 +100,24 @@ You can now invite team members and assign them fine-grained roles in agenta. ## v0.10.0 - Prompt Versioning *31st January 2024* + We've introduced the feature to version prompts, allowing you to track changes made by the team and revert to previous versions. To view the change history of the configuration, click on the sign in the playground to access all previous versions. -< add screenshot> + + ## v0.9.1 - New JSON Evaluator *30th January 2024* + We have added a new evaluator to match JSON fields and added the possiblity to use other columns in the test set other than the `correct_answer` column as the ground truth. -< add screenshot> + + ## v0.9.0 - Improved error handling in evaluation *29th January 2024* -We have improved error handling in evaluation to return more information about the exact source of the error in the evaluation view -< add screenshot (maybe with wrong openai key) > + +We have improved error handling in evaluation to return more information about the exact source of the error in the evaluation view. + + **Improvements**: - Added the option in A/B testing human evaluation to mark both variants as correct @@ -118,8 +132,8 @@ Up until know, we required users to use our OpenAI API key when using cloud. Sta ** Faster human evaluation workflow We have updated the human evaluation table view to add annotation and correct answer columns. - - + + **Improvements**: - Simplified the database migration process diff --git a/docs/images/changelog/compare_latency_and_cost_dark.png b/docs/images/changelog/compare_latency_and_cost_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..ef5419177efb26d63e0e286097ba570321b1b6fa GIT binary patch literal 284386 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

C3riqk2DK*N4Q++AuLZAup4AC)` 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�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

S*hBm&EbS581yu&bu#-vHZja= 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%0D@ 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

(Z-C=J1Te_cJ*!$mTM*-!rub@ znAVgMlIbkf2r%6Sm6oW=3i|7ngZ(G#dYLg!c@CAJ=d6| z>Y))C4`oN^)gEZN4rLyC0@4A-l_vvcQZh|dssAA_d`!pMj#4c z6-m5q0|^bZcqW|rNiZ0CAOM3ihGIMJKLkbn4)~Zq zA6uNwpHn!IFMs$ulmmrh{2j)QkWErrAtiCz`EQ?(;L40bnJdn)&@aiW9PHvb^!J3v zPGd&UGC|_#X(CZr$Wa^YOHZlFDb<^z1%oPo^Zh%ETB746mPJNQH7crOGH-^ecI*q$ zqmqyqXyDprU$Q~}vD%q-lY_nGvLyHb^MYTNTs0w28+e&iF1 zYicBkA5qFli6=TDI>c-u3lf;~vES38{4OqGR>PYWqkQ*@o}ss(=itg?h6V zdO}SaK(QzqOzkCV$)5vsjwgf0!EOee22l&-qVZyOpjd`xo>1YxOqZ-2Du$~I-_T2h z6UwjqXW5B!>KTWdySCmvw!7V9dvE)0`@uK<>oj6iWXne%lql(yHwf5AVH!mOC?!))nx!+%9)G6!B5KtfKDJ~K1 zc6Dvlfd|avSQN@EFi=l_^c~J;eo?efM?tX7of8PAC7Kv;+6!hj4y@`-Ox7L zR&e27k0pmo1O^ZUhNB&Of&DR8b3kVi6a&hH^M0IL9Zi5;{~pedS*3yE4RD~KxwW_8 zPhpUflIe(HpShzv0%h#d)~DETH3At$vIhepCm08k?q~)D?1RAF!t`p#QWh}-f6O+h ze%%8-fY+!iIU&QCfU^%YRt{S6-cA4&D8e$qn+!H|VSKLMH2x~=GS;IyA)s!&6vs0- z4y~1m_vbgB=9!_kM*e$ZfU>!{wkdt29We9C635`4XJuxUHpO7ghZ*zhz9zHXVZdC1^D9J@~$*m904e zYn7p(o5{cq^PcqA|J`ic`u@H>zPK0J^|b%AHEBO=t-K(wC4jDHt=g~Y!NUc}1TLxc zzz%~)0X@Rs6M<~l3=(+jYhJG;c(U#Z484G4vzE{M3N_*E+z#twdwtj1mp=Nvwt2B> zZ=ODD=lwx~C+&FD|769Xmny$j2cCWE3uis7cLs0?3gxJr0rUEKl1{##0QiLoP4g1j z+kI2eoAq1?Zt^$tXVNYvENdqFXVGrg(@{afJ{`y$r|CLTu3}I>z{s;EEI5DUil??2 z1=Usg$*{@vqL;|)XTfuvQ+7N(X~nWvQh}GrBqfSwyi7r^RZje)q|eF4Ss!M-CxT&s zU7~uoG@-7L59v`i1Bng@>D@Z)n=g!g}&q{=lK}yS5&;M ze#hB*vk%>P6!dAAL-wZ7b-q_c+f=b8VRr+v+~75K`miE%HRGuAj9?4;)PyPo-!knu zKef}X{yg<-XN6Ae>8UIe+c-(Giqa z!3dzd8-08Mhg{lpRhYmboi=8A>*&9p4mWc$1CPK6>oeEZC9;Gt2XXW2b*X_CrDrRn zV?&jgzv?rKr@MIJ__$_n1(VOgMO@;=s*o^$o!AgE&CJ0iFu9>u?Pb_5RE`**x@B#3 zd{<;3U*HIFAdF0H7(+KrPO9RF4*o1B$Grnp@5oN`#DI)}!^H%;VK}Gt7!aIYPRbBx zFrMLf#bd@gru89!V(^&bDh0mI>$YBP+Ot&69oz2QZ$nw>wKMBu`|$bG_A7@UwSV*Q zt@dkAf7^cH_`SB;tlGZ!&)n>!g;#I=)qi>bW^+0=aT;4t0x-~)1r$IbA)w%bYL4vh z457$`P{n*Lfe?L04FIS>SHBAgsSsun_|WlD8KXuof-feVO#lZyRWHY>>ZRq#tNLs# zz6MZYtEO4jikmQmWk(#OAcrYu&SzY;3j;;R?#eXQQL0Dk1D9r0R-HNO4K#i*c>&=s zv>oBdMCc5-PbFyJ3Z|M}TazM`Uxlw0ze72yE=H}AaOZX@d3Sn-ej^vkTeeycpmg5Y z@2Tp39t#e2nXkCe+P)py>2BS2@4wr&_d9L5C@tj7Fcn(%@Zg2AeA|~_a9)rR7iydF zqMD2T3=m~w%AQaMJPdyej!f`fq=vOQQ4u1DSJrLqRZOo?i4lgJI)jjXUJV*kLS(yn z0q%?{G-lA&oyc(_35s|_y8J$jby0jFlZY3pMzb z^?vrnE!|V1wo}llJ12aSWqq0ZNe_+;&k)4mfv2--6`4*I-DPs6Ugx26jqTRB%Y)i} zI=JtI_Us{ba$?TxT#-aJKy@r!cB-=zNduV(P5q{yEy&5DRi_3?l)^0$lx<}8xrOe66CGv{_lmR<3SGraS=h#TP zeRd{Og5v}eZwa6buThqA%+LDn1m_d+g6H9);y%i#BWUhR$ff?2zOhWhLHd_$H8aX+s6kUUA5mQ`li-?GLf=Yh%8MFuKzhqQSF zA}qNmf-d8o409_w zB1mqEe66I3K&b^|~gj`cqBX|@CNHV|Hv2NkPw>(qng!h{CAlckP*fRM;G(fgw^WFk) zUQ_JB^a4+Q!`*~qB6q+`SvB}z3YeIVKJp2ohoN%95;|wHgp7pHV`%h(qh04xl|Ly5 z7K@F~%&p-lq%D3mV6OWCorUiu!4LM^g8jj?EoYY6eOZ#0;V=7T#m@4iVYWi&oENsv zB43_-k@%qfF|_ssZJ7-q7+SJzrG=O5KmLajHprNgUsVYZQ)&R(l$Cpg%-hVEL&bCv zB32l)luaNy5KUBet?0;6v~_Cxe^yhw9s)lRir-Ct_u4kRXyzLq;Uq36n{{=;J>G{w<>^E+4v=C4kgPWl<^!@Z~rbM{~ zo*sz03@XKcxv*MWP;^0bFvF$4x{&}wYkTRXziKazPwn>(-)w(;{}1h7z5ajN!}(QP zwL?2@?qp5iWc|In<5N4V9@=qr-&XC}`wxeV6D*t?W1cxaN~%on>L3L!dXSZz0Qx5no-?iQPp{-uL(_Wk(+7JKN|J3$B`J`=6y&f#| zkDhgQ=xrQ&`z8J<7aZ20LHgUXi7hDaPPG^iScjHzjz=D)S!Nka2l`1F2IHU}^I46s<2(0w}sm{l>=0SP8@`trnHUY<0r*>Q)+xq2w zyMO0BX&cvhki$^;hH*|fTjcNj8P=-zs4Q5~aAF}_6l-8z7S5p}*k%EgFh&D6HTYmv zj#8DV_Y|>Ftvp!yut7&@&YV@=zGZUfAm)@iWy-o?j(##f-%%E{>=xu-4ZK*cF2?@@-hdMn0xAa8V3$h8TK7Pf`+RuOiaV=fIvcG{Ao z5pzISFeFQSE|Q42f)O1E;!r@DfMcwg53aQIa9_ymaKQ-h9lg8YGw?YfkS$>(3iXD^h&_pj`oyNW%bkEHQT%Db9F4)9JC( zIG9Cz2u6Fb)nxY7xjnBB?Rj@baj{P3ZMxy|~UCaywGRoxS3 zs(LW?z8qYDZKCqGsMa?Hdop1!;{zvPItMVetQBwIA&~j%xL*n|lYf^9vK-AVHt--r zoW24>=W=RxR*8^uWxRE`h%=gTk}JrE;mt;sL=@61ffr)qAaIR@Fb_7HjRd=~_}Ac8 zQj=5+9_9U68P=89xe-=mCYGlGPvz?knkq*SuNT7pzPIj?-TFL(!9l|Zc^#Ks;o60ah=yNF|NN%6JsbsU{D|IB6} z#(raEPlX9a;MpK>CUhnrsjjrN##mFR(D_u@hqjCZ^V16_n=wA&33EJJ3ZS^t!4}e) zq2>6}q?ZFI?zMKDxr}X<9`)&j&?D_khtzil=ud(`_4UOg>m7qsgtVREo!(-iYFBr` zz3G3iw{6`8WDkn0&h5kJAGd#b{)hJ8ZvM7?@%X*=-tkA;L%+B4GUI1+I<(#C(2f#7 z*|p7Tud}%@v1q&?%YtA{TCHH8Z_SNc3&8l9BikJ2uNm1~wCqN=;ByyW6hKLu78Z;9 zR%o40mbR|qjpg8?F1kO*hIlsusrm=nzMzNB<2=FVGXCQ*GlkO$HZy|=ps4zW2v~I9#RB<`S)N_>R+pWDL4fgyGds&6dFHNE2o)gKccIs{Od?x3K)eE`KrL2EJ5fz&ob2BApD zdJt7m`F_|rZxk>wdPPzIuWRd~3r2DT6mIz zm+64?-j_d+;G#+qQXpitYgcdW{J1z3;Scr6PjoyFptvi?&iL&DCXW|Xqq~h`HjuRP+O+j%*VemD+ud#3_F>bWkFVOXr+;~Mwgn=1pwdg@=$+xsJSq8k?785e)G4Ckus9E|;8@XTV`{Rhro+~4BqK* z*EY30);Q*(x}SjUz@0nE$AfV{ToR2-riC#O)(yfg)~gDt4>m}!3SH1oIh%=3_A!1G^)CiMiN{aV~s89!*$Tn$sPLXozA@%r_g?wQjK5r_ z*?dNQW<+2MDx_f|*fBC{6A^x%H}DL91X+n%QmsTYbK;shl7p%lb+zq))8SG;Z??J! zvn^!+q)?*Mkf|aiz#05@PLZ<}WXG*CY8bkay>T04dujQmo!Y}$+XnS(3ws{CwBTAD z+b8X=?N^)jqGx`c`UQ-~c3kh;ukOF!{^0mG?T_xh+rE7KxIG+xrk9X)u;}8NkI&89@rsX)8K_w=5}73)nQ^v*_E})a%Y0wwbc1&_u;}RtoW-2xMplC zKepyc7JdQ#MzzP_9JiE)OMFMyD%6t?#g#;0EcTgWY?-)Ju~Zy@2gWcFvI?2RwkzQ- zA|I&&1%rx{G@NY$1?tD^j$mAzfPIjHP%$mjWVBGia|5fq5J16taK>_8<{+2_P;dQg znL3ybugKogvLnWvWVS-FlnlyUYwNpqet4%n>|VCbr^oi)KmU*I;nPD~t+v|d-vY#& zO~2IJS}WNEzA7kaB&VI92!dy9RXKA-P$|I8p=>SOE(%psC@!!YnenD}ksLsYbMOF4 znZtR267z*N6mJ_q2|5-1%IS%DP~11+5SYQK(uq7{l{WM|bWV5Lx)aRkU4@;?O@Cg_ zKKO;S%oBR=mB|QRqQJe&yw2Hsl&+iAU5*|k5pMPJq3zy#*-kx!7l|VlK#61rWHnNy z&R~4-h4OIRn8710BBR*1Me8ljXe4^$*?6_aC!j0UkI+S4%FvE zCDn`-JMW)l*H2k@f9@0)UmHQ#qwr`WfU;D9V&^fL!1344%pVap*8?covBCUKct&+1 z4B4HQpkqO>;2GfUJ>aC7mh~s*QVyj-SJ1@eYLt04Z=PXrg#SF1D#M~XtmA_BjB9Ak zHGVI4kShxFHlI3G$ey4B*sYv!Qma*Bq0Tp`iqgL&Z>YeKE9_IXy^X(GxAl74ws)Jh z+OFFD<9$1Cj_v9Aq-|qmSGem6fyzE^btXs97;9mAcf2tv#bAd$8n~-GYHcz4UhOH= zZ%GfmF6Mc?Z}0x<7u)B)^5ypC@YMFtuiN_hNiK|+c3r4eGubA3pvfZ8JL~6359rUO zDyzI&reQfb;swx~XU@5$3*ndFS6fHzbhUk=4VrcDNPKk3k_H1D1N$OT!jYD!!Gp7; z7$|y;x~~VYX#{fbjGT+Bn`2N4*VFlEEDs1|2Wik%U)!egJT;L}8(U6^Gtz!K+V$#N21>VT5E+G*14 zc&-sNVfvW;J~`mf*OnGP`yA~qNmhF$E72LthZN&sc{8BgGjP4B@uV@RNOWQjrHy@u%X?}bN^ zBTUcmGA>-3X&wOKh+>Q|DmD>-Ojv(wX1ZkQ7L4r<&PxUj99CBxkx7{_$9;5LH(F2k zv|L7@L@zTOH={%G^Y$~@cSEF|+d~hIST);OvgB3Kl777c&rRD(F3Y(+wN-mKKezXe zpR}*F|J?rd_T%=&Hy^jh^IjtQ+I|1rj@`g%Pi=jEZl~2QN4eb*1-vy0NC%k=S=3%8 zQV*pHG`s< zOrywfML+;UtMxUb3z^*laLUK&9m7XlP9NF6Q9`WkdGb#l&xS5k3RD*wdaA&{?S{9PPZ z#c_fS#$W~sF=$2t>E3rZXAh~>-B0(^z1G_Myh@Jh>OE)g->`-rpB|Qud-fya(TO=I zGMzi!?_r?w%$YICe6y4_*yNd&Q{_VvG(FrX8bj#as{~d(+!4T#c6WDebN8a{4=>uY z-ShVS-~Y3=`Pz3|+a8*ndtydc7}=)(SNm50Bn8uKw-I0=-NnI_VciOV3Ywa3plzRU z5P|7&c82af_6#&Uf0hO)bX$pD5`d!4wCc;!yBtodJv^RZ0TlaOxgZC^E$7CbxeB0w zdoWH52H<&D0w{TngU97_v#)e}6l|#Tmv5lX2fe|X(d?5B-gIMLu;^Y!ZUCU1Np)%G z&ADx*?Pixwr*^#Gx4R$tu(g8)8BD&|(?WI{uLRyzB}xvUKmaT0N7WjFgwFf4XSyb+ z`XeW#(!S9%Mu7d6e_fpbw5Q4w+b^eAZslX`QT!QBGXw_vluO2Ip)aAa0?-DCsI&uT zImFB)fKr@IKcLk&K`RS5sN#NttObAvWcKIa5SCS!ECMgS-28qdOi3^UdQzm{DB~r0 zfxz~3{!707{Zu!#_M^McLIVrM51J@#n_?g3Ag#8lo zhAU9w&C>viRqtQxe^TZ19DLB~#g)?=dx^cT3l)U!v?Bq?XosYvY#E(K*F6XkV-KL- z$W9q?5wro&>AsNz4Q9P9?C_dX_!Kb4X`HHr)&Uf&<}jO&!Os<_W0XE6vznly;%Tw| zYf8QOjaQbr{zT;wa~3DySc0V4!@6e?Eb_n8n?vu;>?yV@k_`azy5XC7K)nP_2tO79 zAmPHzPAX8ghi%(GJG9;1wmqI7+Ufjg30G*>2$`w@lnkV5;ECk(0=v{|ERs)9NWXgtG4M?`fuN8!pym+HYn|B_pYeq z?Dn7sXaUSoK-c$z4>G5!AMOyMW(I+4g|aF?JuQHOfQd4D??}+k(^R7cdH@xl8ny!< zev_~#!BLe&qb^X)%mFWbGzI7CySM@n-(3rWy8gDnECMLM3RofeJa5VqYz2`& z7C<3eIp}94WwYfn_)wGEHedSR|E-Ovf;wYEpCE9(Heo}yVOhWg@q|Ae_x8;WBCR>u z@&=N_FyQrm&qO1@NmwuS2hR)~5nWm+2t+q-8ES}ZfiP?>A_}Fo0K-;W1QCG+6k44S zU@-ecF`^1)61mKg?0xic6Aa7T(4?Fsc-!wucHsPYmc;*1~A z%HS{}J0HwiHt8~%q$+#pLY9%NFFpUjg@R9mE zCKG(mtrBInee}+{2dAD5)>=DA0Hr?|hrX*u>D4J(%Bz8v&Kvzal%C<-$ME^rUunO7 z_x1K0o3FOdy!}>tdHPhU=DJKeZ|~aX^3b-Ix7wDWgA#qM`=RqH3_L?i=cXCbd%5Q* zl`FY6B3CmEd@qa{tqigW>)&fsyo*j(}9PPDFZNwD8<)()oM;3 zrP+3vsb(-Fx`rIE;E88Am`*^IqV6AL0(1sdcG}^VnMfzJWIT@R!1uakctIRWZ(He5 zx&tt_b~)I?Z@1lm@nT;M!5e_eM(Ya3YYVi*qi{G$KULeMiWzKX@S@&<-46XZVJre; zRF+`hghP`d4k{7d()pkVQFixjcmJa8o`2BJU;b8m_20hQ_Q!suRu3QuxH9H>zkSeH z!`W~bPE9q4buDxieD4>*DknKM@abBS)11)++hw9?mesc4TN{%hCzgnTlPql(0+Y@(lZEO1b5g?pcA zQ~2!6=(kWnpj=JZQ%h5`$a_YV8tYxYYXG#1N=?K#x5w?J9o~Q0_V3@fQ*VI+o1zDE z6B8*_LdUb^s7#~l;hD2$FS(#2p%UvC#HzMo7+|3%Vh{*AO-MYp4NGCS!LickTje3^ zPShNB+Ckd|jKhKT5p?2p0RQV}7`X*9tHEh9uR4;R5<<7MA{oj&`If7 zTSw@2go7FtC>fZ53$Ke+0mKndv+HOB;MeHuZSD|I0>nc$@?p%HU7AFJ+(R^$)kR$E zepG)SKv8VAN?#Wj*3+3JS|S}?H`15FPZ7Xz6JSMfG7Yq(f`*w?A%gbkIe2zoGgOS# z_YHuB^Hg6;TWg_FW!i~ojW=RZSQjvV7oL!Iehl`5LG2y^0KLlB^qxIKUllY}7Ci#t zzAh$oq$Qc!nA5q zDvjElKIh$uk2}n(`g-xg@lwzWsxM5QLH6r3IZ$n_vKD9CRQ+35PlDqXe3}s>`;Cwn ziN@vL9@tbfig^?E2ofH)`(4`|4sCn4Yx`&WcHSJ@@$|NBq>Y!H=4krJ+EFsdjb?VR z7dTVgNtgY7$WrsQu>X=7ugfm;wu7}rzslZT+NZn6c7FeP`{^(JQfvE7d;9RFZH^D^ z;q7a!l%F1xpyJJIb^=Rkjn7nx%vD=xK8*0;>$?H+mpJ~!#%tozCT4$Oe?fw95HM71NmGC z*z_U)Ag-VT%))^TbU?slhr9}BCMfo(yn&<-UK5k8{t?R$*rB$*9-lECz-lr+~RPdS?WF&us_=mqdcy&gx+wQ!LX4yuM6u7$~W8H13?ko=~qZX8sS!2(c-&@ zKWo03%lxn=h$4)3bT&LEvm+GIX;p!HRUdDcd%?A^S^`^>) zvUN$1*%X31F{7$k=k%=a!@N29ASaV1I)Hwk*hE-|89I)sh6!Z$1<(h-Aa+IMGR@J~ z88(yYKf$>qzaY*ILybjrBUE5szWb_U|Gxm?KohpV_$VnC!_$EQXZF|;ilGb6_3hEo-= zObP`Uh5?a9W}a!zFd$%r#&tdWxIEAPWRSZ5u8lW>N!;j5k&XGYu6-&*Sph0+f5Aq| zWy+KcPz__xbcE}%G_2DjFm!#i@;B6%mr(2YRufx4%4;Xlx(KY6y zawn>!^f0VlJGFhgYY*+Gj^Akis{KLx)$P~XPrUi697ZfTv73ACxqrDxC5o=`q3znE zI2QdGVn#^vMLRFJE2S_H=2--f~VD51MbJyH#LiHQF)LXLe<7<6(wUl8vK1bA5gI zTc^c^pto7ZEk?J(gUA&3b&uAC(4k?lLa39ba$TyLe6-1I?oOw$VwfPqfYmod(6$U( z`Hg~+PE}rsG0DL9p1mF>RI5w$&U~GjKb$E=253942*SIer+}Hs27xpB+8(y;@bP=? zxWBaXu79rpN0-$AUwVKW(4the2s0YUN$mdSDT4)r23Gne`p48@$R#s0L?caPTKygn*tF=>u?8 z9ea^?$NH~iwggbH_NG6Oov7p#jxGnkOTk7&6baCq&20j!dqq$XuUIHHTEA zkjx}-q*je+QjR^--lG*E5h%8orB~T96j7K$JmvaaP2wy|G?Bqrr<4q48c)wNh;wG_ zz&5zf(9$s!(>l`s5%1l->Qdy*+-~+UD3Uy&~RuuUC{= zY*y2gM@dnGkMJ+$bK+rne+2mg*tLa36=RP8ZCg8TPwnC5UHh3YeX*Th9Q4eS-n#2} zYNyjfJNEX*o%VaKT7OSz!&QA)$l3lj4V-JDMBgvb#=wOvM3Ql&BDYqXOBI0L`q0u0Z5-6>O=r>>N6i~M1Mg$t1)_LDYo)<)Vkx`=T_%D$i!7bPO>llKGh|J0ZVC&dnUg;w zgKM8*r+9qohgrW+?4eh_)TfPXH4SX}ZLxzl*JL{ISy`tpUhH4o$N?9wXjEev*NyjI zAKOfn%tX$Z{ZE*Vlypx8yn~=6D6(h~7e;OwSFJ2jsdS}Ze_3#3N>H|&QL_Upd7VOT zsDm0ZP21Mh;8u)x23jP=>vo8WcmdEhm-fNsb^EC|f8GB1{ny*CKmKuh(cZTG`E}d3 zqqUAvr&#J)`hoO4fFi9Sx_Z(I7yapn9N)>kyUSxcZna`1$W~>RA_fbNvVel%nznXw zDc0de0LH695Y%u19IIaCACE*^AdF`|u!A{_ytmepjEsIGE4`3n5r`upU<1*h5g<$5 zPsQw1j>}WD^3(!hRBlehBabs@H)pvcbHcut3G_gW5rklbA%tbDtoO{80$d!gw7Kew zv!zWLLMg-1143h&HH-lVhMyWhc~^mL*UyZ4>{CBN%;jNUZY_Tj;Hs_wBsD zZ1r6zA4p^$4W0`ivkrizxa}D<^J8Pz&2&@E^PRZQ5U6kstYo9!c?lR6#1 zGoxIZfMi{puu+&MCD0@We%UkI{~?H?4~xn=X;TxyE~(BM1y=&-uK{aVNBB`1&@zEj z+PcAZu-&INPmmjt%rNtLE6B~muD)0uGeB@zj+I?o)fIKT@RpW z71k9H#=o~`Vi81V6Ag$xNcPSDB+bQumY(-UQ^vf#Mu?J-;X$uIm;JACwBd;RdL zJwCi?=i@`$Tu$wBI?9=msy=!Ek@XQ|QN}LZj7VAVffdQVFZ|S5%c}XJ0My01qos`o zE@o8{w(I??AqW(B8mQKFUXd7AdD``&(pUFEgVx~TxYE>LnD)f}7Y6#ia z8XT{h9JD{Kz_lR7WW9jc&kSn8o zpw9%aAedkOR*rC6z~)x%FZdHCEQ-B9m($8)qkk3q2t#YUf2Lh@o8G|(EoTO0z4Q*x z0ZUW$sqB=sbP>76-wlH|JHwMrz@K`d+x$xnF@7Ny+e#19`w?i9WlQ7Y7Mq%cV1)3* zQLz1I7!9gFt+T*ttB}CK$#L#San&bmHyY8E3KS&{C*1O&8pZQx-k^i)OvyKM?8!D3 z=rb*RcXk6@cXjlHMem!0e(eEXRRA`ED5igC*OSn>dR_#vXb}j@b)3v#2I{UR`Yz8+ z&v;@Kp&GY!+h^}zDwvi1Ta!~ZCfd^S9rfW5?e7KdwZEf+g*B#uXF1M+$SDO!H>DnOl#GE9%f=Sn7KTv*J_{53`{Z*5cP)Sl&=NpKxnBYq1K=7# z99d_3hE||lalUEX#Pr$@MnG2!&e)kUus$>}hXYqN1H4L?6g*W+!GxM#%fP5UcOsvz z(J;VS3bIsjur~PDA~WPbcEDE|9&vc4JyQZGCMxHTf&{GdnMo9;kxlK=Y;a0S$}gpid|ZMygP@gdW4qj z*FmvGC9YV;&X4^Wc+NWSm^1q(l}K{N5a>@wSYs_18SDJyz}UnPyu7(5)u5ij z@v;wAUOv^C#Ys{SMJtVUElEe)wSF#*B{E#Lmv%ZF+l$Y9+)js0JNf+v(;{oUx1f`1 zHw~bGKh(Dx<+9rZ4qkNZ$tVk#lhU6CP$rX}gC21xtGN3eoRUDl^_5l&KPeUudSFjw zXgV-Xueb)X^cE~SeVY*EpY&4hI}qHu!(nTUgN`7Leuqk#5Xxfq_>egJ z*`7NK5Yvm;qJm90@HE!7@B^D}vj9r_RZaz2W*Gd}gi1k=%zeXaY?GD4jwld<@B1{{OtMz&k5J~E<9WY}b?=v3J3w}>Ut z`*nSg9_3@k7?kc|hsmCjZH#-}q*(BqJj2#Xmk+J8uFDWq9f<@n9(1241uP9`vw>W- z8&c(g57>;o$ypdeiY(8JVv_+2aG3aiLKCZTG3c(p_eH{aHl~5D=yd2P8)~MGZV$m9 z_309LkKo?~>sXC9`R`AuTA{UY+m)-f+;7i81;{(4{7%Q5oCDgqp7qcEXVnjt&tq)N zv^Zj+R$T=E{}ej|Qs23Fv7f6k-C}v?#f7ey?^m*DaM~^L6N!l6HCDPqHL|`S>}DQu z*958yho2f;qv}3k15WrzewEq&)lW8B@3u@IiykhYd5E!8+`hu%f_`APX^_?B5Ux|3eMy>3fdo@mIqMOk0b-hAY~^&|K6gh%W4wW=}Wq*L5d<(`~f8gft);&YX@lixSac*2Eb$P6{L776RwD9e*f4$>gIcvRRy*ilvyH7 zWLerXQCWd;Rz@sTW>MkUINce7z?mfLK7nTzOHkUKc_fyk+pL1Zvwxt>DX{9BZ32w1 zwNWStyWXd|-?LzYuPd?MOdejRoqDXhJ&cU~SUBY~F(-&;%(j-xZUwj4;JnE>1Sq*d zxQZ-+v3h1EfGIMnYk)v>Kh_N(=B>eFX^{1^ZSBqGvF+Mj>y`3%yM6oM^xgJT+wZjh zb@!+3AHMnX_Wbfm+qDO2_9dC6n_gkEYnuxyP;eku53=;nx&yLDny?vK6K$%fNMvl- zo(RBi6&!F%dxFB4`IrL^l^4Z4)p~m0YjkBd)n{LEyCVR#8bGOXbq>BVs;W)`htM@h zt~=!!MHI;JeU+-4suPqTeH<_fHC2N$*+(NnNQddc0_7U+(yr)=Oi>#N*Cheg>LcR$ z35@pV<8bGRV>Q#aw*n|e3zfcE0M6veH66i53uiH2By(`I0tKwKzW*Wxsd}u_m8{-o z*LIsjYumeaKD=np@856F&v)&w|K0!7?qBzw*ypzG6wj5$>{49agm;kC!K-*u-?z)=*xo*V+BVzHE4`Ih-{DCB#Q^LTzxgV-JRaAj z`y5)er+Y4b$mY_1uzzeH{LD|c&;I;Rx5tNm*2!agc=K9>lbK9MpB#ZTX zrd3*HqebqEA4W18!1IC!K#xy(e(a0sd$*H9{%QAt&=DiO6*+8wzT5jt|Ho#lAi+qX3~<#0p%nw%xiOgN43VP;f4q&BFBn656~<2d$UNm_hyHIAB+hJ>ctsH48hAZTr!8 zEBJ$B*@j(!eOZ3EZU;?_m~!2Jp9^7M!~Un1yn4rQHXV&aR^cjPv(DiiM|TU|5-BFI zGweo84R%$(vUYavFkJ$1JjJ!18q6d?Rf!8-4x^z|xpOX~sKBjomT6 zg%%{s&zW5|+<|~qmSq__lwtygq6fAtv~I2q-T4P?x9Nw%n_<`kDCgeu zSF;QCVEL}v;)EezBm{RT_etAs0<6+HnlT4@jq>&W?vV!>c(l~jP|kif0pt{_ zLn4Dy*9#RW(UUkN+o&pqzXb$2t4Cx(I^E-(c@Jn@6tX=^gFkv7vpx2GaA56l=@ku1qRTgT7$Aq9rqA$L)}N4mvU+ZR1Q?+_F$Pco z9t-{1UMJnXNQ}@iXaF$(=p0~rh%9BAt$_-mwJx`&sT9k00N@jS8}lu#GHfg}gHro0 ztWgK5=!_N2MeRPbreypau+g?~@|gsNXbb}499z3Tw7U;KXy?POoh6=qmTcL8pX@+h zbC~^rdiT|natd)y!HcT_ltd(vZ5atXx=uBK5>f)8p3XN~0m2ctYLCUU%>ITgleT9P zcyawS2I*Zcz@C!Kdgc+E1JM8+R|ju}RY&=S@$3Bc`<_vk&O}7(1XN2FhgBa-4ka5D zDS)D2eda4lJo79}fG1U;bfQ{hWm0>GYXKCeC1 z3NvTRN!5?cSOwb^MED~hhdRq7n&Xs-^>ytlu1JCI2gVZ zf$@dzgYvWMU1toPYyTNxno$qqf|f33tSbukdWx4+d#rPf`xuS>mTXDYI7Ao4jtEa>71wG8yJTyOfu%7&a=M)rmI@fq-BwU1DmgyC`R`CHgBW>)&%TT7FrzZl! zGqGUXSnD{P(>l>5p}Q6WXW=rcIXAxtYpj*eIe-$itDr5ej4X*c_I!Rz!UfX%IWXvy zYFJGk=X6ROh=sl9cKLjs5zruC%9aI5GbtEtiM1;^!E<9fgcCH?CS;%`v?fcC59z91v#Vh@W?ZynY)N;Fb19TFB5Rq$^*SKR$ zkp0akX=gBAIGYEA+EqHBIrgW{0w}U%*=I+#ByWr7twsnXtID^SAPl+j^4eQ2%i zFAwcud*2?ds^q@4c6U0pm*?-bFKz#({m<=>+ehuY?f&%lZGSo1;a2;$l>ka_Pt+Zd zUY`OZqgOPhQk|P-hU!@g zp!5C>0vLnmK3{yuLu>Dop6$9(*HG6*pDR0T{YtZ}6)7-dr<4_;Ynsn16206(;Gz#) zuPltPcMqWS(ND_a%i8I4we^AYZ!daG#~a4oR)D>pIeFhM&t9~{{rm034=(Mi|L5Y3Fobrvi-J0oPBVYf_MlWhTiv z?;9+;OMyhsvNGzTmR>hg^=$YZs6jB2XXL<8%5*h5kLV2Z7LK&)uf<7P(`AOvgF_em zYL^>9_x`?cgrF&PL<2_2LID7u!i2kaBu+V`N~VFTAmP`1^?dVAMCgOuLGpihCsJG z*1MXW;vgb?{M!@Mbaq1KW8P zK$%H<_Nn4bfRJZuCteGnZ~}qOLxbabW|9U_Hv3&`yInin?c3qmp7nnr1Pgn$a{u$B0h9?%&%iI`6SK3JzTDMKSpfta&Slu1$Uf$M+s__&^TZFP z5nc+f1lj3$FB0NjgCE4p zmRRXQ99wIrnY3oM`W{f7%Vwu__t&!w08XYpIN6`>OUBzH=o(ue_QKqTpUVXM)c8Ex zCZ6iArS z3)9*FKrqAW&4Yk&x*9W}W8M)l1EVPbXOuGIqw-u9d>+qM&1M7;6Uol983B+H;y~Da zs?n~VI!POvj~~9% zer@;7_FMOV-G1)PpR_}F5X9;0``G2vsdtBQaU$RJbBo0((7m?PA_hYU!8mXouSD3A z%8@>Iv2Pv0i?yXm);VmY0q-u>rzQ1Y$8Wq zAhX;Qp{xl7hsZFNd!We8z#;N3+26W{guYqbM@9CUNFVGaR|;@)bgR0V)fWkm@X zht^R!S@jy}0|6!S_nZ|mlhX3NA1bcv>Okj&&sY~QufW-w$#`88E30>-31`Vn92k;2 zkk!a)>g(d|;H<4(Z{yViDBHvH_VN8^+SmW%AGYmZeyg2!*5BKBxf=e^tB`>(!js=( zPIfkgbdB|S)CzAA43XywKe9cf*`obFF9>zDDaowVfMt;ss>6*BBp_Uaqhsb0<{Z;7-s5@syCA=mZ-jQYTUl>Ss0c6$Ab|#l zG*e%83wr|@WmRq1F5wsEx%0W5y4-tqXwN?Sus!yJ==VJcaMUI+0B!o-p<`qZpqOKz z@=$Gn3_Kd=6A`yB*EnOOoF2pY}A9p za5yY>wAjKnk!yRIDVf*a{0fpIKC=k>7UB0=cd%nJ-i*5y%p*TkZ%-_8EA z07`F(y4m&r_HBRH|J$|w-L^d(KW&%oqnw8VnWsc+2nSlv&>`MD2H!gyGE5Qp z@Ac?X_6uOQ$}=Xx4B-e1FlL#rd{SG10h2PaaG7S>!Is@t+U6m2Y5r{0?V&sLiJAZP zITENa@ZI@aXi}?BMC|qRalAu;+9vvA9)#0u3ICZ)aJvBjj@X4BbxT32kmbSGp?)lx zoXi5YfoAlXc?ikHT0JSeQtSZVdv67GOTx~-PyU@vg>@4!B$c6-R5-JNm>AR|p+HrZ zgA166DpBG9Ue2HjZYuHB%x1j#7ZJ;gJk z%1#xuaZjv4RI=##tV$dBVcHe@!h$;vM}RB499!@q)=z!#0BYjd>y=t&1*yfdj`4`BNcoaJ|~iUh9Mz7mYr#OcF@+M;+6YBn&8VhP(oH$llfU)&x2?CBl_t z001BWNkl@cyh8X|UvfqH)C zyb?v389`}-&YpnK92=3H#6SkK`ATXsnlnRuwMQYP!SBA zs(d)8H_M`U8Xqz6GP|Si=IYENhd^u_agLxJ+W_ipt9H zlF^CE-8f@J6th#edwgnuTe|}o25yu}78`*LU}_fXGK3H^YMhagi+57Hx(uN8C;$ae z$W4P2Hm%gE)dut){WU5LLKwj@%<>Z1SPBvcT*tC<<~${d?tv$>jV6Y@Uaxyb(3Am> z5zu|Ar08IEr|;hTS_3~@IY|DzziYd@_u2<9K5DPN{Pp(czkFHFNpVT|1jk|qayp5- zIet59YMe_{1!BEDz~(_ijnvmHIld0hRp-SFPpafy1z|KurV=Ruo3T2wHMi0rKpUf- zfh^wQAlQKA&7%5p+Og;xK~y>z8`>v;2nM4_sVBOtV6(o5O#r+anqBF}vVdjc$$Iha zlf6K2(XX-haV8n*d;vMOt(|t~wtxS=bnNnyiTejxD}-WEjm8tJJK2UIqX5U z0mUYU18GSD;vBn;I+2#X-rCZpn80a2bmQ=U1~;+C%j=4aJ+wt;aQ_KHy8;tJN0X#e zm1$T*TXmTS4r68j7&cvO))WAt_A{JRhIc84>GPiwK&d?Aa!>+hnQ(M_3o#iVYfy@V z1aw^i^i?htS-{UtK(@+;@L+UqF?Y7`jrUycJT38V*0xHX+B>L9kTntm2Hz;V{B+4 zX6r1ziW2y7+uCD4YU%#ae*E*l(Dom`Xpe7Sx6|pNJ@%l=>8(_s>;+>pfZV(v4WMXJ zS^cT&B6|-Eyk5+}+iGrd?}U$V1_b1_Jez^~{IZZ8CW}+$Ux31HbAdDiFk^-1HcSHk zz}qu9Wb!|q17lB|=~Nzl4dnQDH-eGShg!gobMdSKiUQb55p&t@_N(aPqU9`rqSH2+ z%zm2(WAvTN>IX`uO}fD*8a6rM9dwq*R2SJ^z!pv5bZMhS8*9$l802O8@#G)`)oM^d zMA5n<&7h;%wJItr~c7Z1#JqS;qJ zWB^5i$9Or})cUsh&*qE2^Sd(>eMM@N`5u?(h7h_5D6X2>Xzr@$wE6hNIVF)ZHrE}n_?ny-YfX;MaETuoHYa>;z0D1o$$Oa+W7 z_|AkP(}N%!8D|Da*Pw#1rU82Vo;pxjffa?4qnWacZY%)i*6&fk8_Z<_iWC!{qf*D# z@8f4BN6W_Twz5mynjyqOR@W6WOqoB-I8^Ysj5843gM+r7U3_~*(XbXdu)_}hnn*B) z2-t)=fMI`=#OwlX717tq*Q*B?aCB&(r)^Q5*!k$zy39V;ij1ksCF$ zzM(6^yRuSt?uO8oz<0fGujKNW8-Hlq*4uPFv~6#kzumRBn`8UZ+pn~LcKCYx_4A*% zj~~C;4yRY`)B)pdKmVcEW1OU=S8r6Ljy4>Go{cxQ*>b_|!oL5a;Jlm07Es%U@T=|Dsh2i;@50`I4Wj%pbZ!%;Wh`ZQ()O007aS0rfB~F z380irUm2^2WeOJK_WspYGe%<$_$%g?s!-%v`~amnS!)hFl`)Q>t+Pl3gl54-1IeGn zainjjYG@F+WR&4M9>dJB8wS#!0YK~t+LvXN{Vti5=iUaQ)3*X9m+hf#w$J4(l>M{! z+w&is+xPzOKWeA9k0L-^R^JGsB$-^s4yRk?#H{T6>fJyrDOtcdk%AgQcY__l24&fM z=uGt$=dwxnI0x9&F3EFAmPIgA=$mUnGHb^*8-ij&+=CtPl4ioz0~2NbxCg;iD17i0 zfy`;UJfIqFRy6o(S!p7R#{deXNRW4|C0qvBSd0R5OEEFtciVP4KeYDz(4K$vk+k&c z?e~OsMe-ZaDebAcPS&;zX&Tc;HB!L+PT{5r2a5~SRF@w4Fymn z+fN-j0j?0_!~UcYwH@MXWA#7==x6{2BLE|OMZK|AecRYe3o(E01k~5tY{az|L2EN5Ti^eseOVfdwb#suwZ4$XCf(V0MY=F=tH0T;h$7+BSJ9aVP@Ia`- zNqvzyo#?GN%$=_3cA5_WFf9)1mx3q>;PgG1?1L!=4NgbEo%c*h zH15ToYVbJdJI!s7C|xH@T0_vH+n024vKQpVlPBe%=qfOffMV~X+t0y>M~?Dv`a1tG z@AoabCS5z5tF3ob^9Fqd{%+F66;DW;3|P(V4W5f-bPw`BgG{qzJ0%PxH|RmZ+ug41 z?)Ghae`x#rO?y0kDitW=C!|U#9YYOB;WK$OlKJ3++LRnUuYlv_{Z(jhfmt&;h|j~-b%8}`SPe0g1x1W7=5U|?FY_p^^C|#03|>I(~Z8Z zIXO3c!?AiWuQcpe*iuSxV|9{UXW7>Ybf?4>;WLt>Ss&<|lTMn+=>=J<$p^~?7m<}? z?^WNJ_$JvJ`QdWi#HO%CSXXm#5ID^t&ezhdS?eL@32&2SHX#nSk8$w0$@@=e=QyMmUo6>?+S^`4> zfG@4rvb~j7ejyui4eR?^AZMn7vo12uqH$3=AQLtDMmEtYt3N^RLzJ`LOaTU~0tPkv zb&3K9k4IIE%8#x?wW>LOy8Uelw`pI(S0L)9`R3h6VjjU_c7fXVzW4O0%T9M~GbhM< zwTVFRiWqgdI?1StuD!m-PRoVn5lnVTHVq2GmXuZ`=B_ zfQwM92&tS0qd_Ngl&lAM^;cBRp?%2&Ym;G^F=ec(fuyW(@Z4E;G=wFL3J!F^VV-YY z1QaER0=Q4g&y8~!^i|f?Nf=#YTrkAE-z4z?Kp-Z8P-w9xDy$dMp;o(;2>p!e6%iSKlkvh_CMVJMf=6e*V;!9-w=nR z@5`|}Ann|?mwp&M3_8tLZ~$tOwVJ>wSwsSE<*b5Gl)Ai}0fEdRC?M;l3`a_6-{cxL z+%qM}MD7(BZm{)T$>+C#Zo*hXFh*%#=-t5F05#pDH3XykSz}uuSsytzg=MYH$H|bK zRsgac=!AHH4E1bw4ps$!Yp_Ibit%nGNaNu3Ec@R#5mks0Se}6jFk+R(pJ)U^hEN5{ zQer0q)voe3gXMju^uq4K_iC)g&sqazAWivD0sr1B`yx*DX=^a}X4kg6=WVlp-ZqEl z?SsvW_Psy+N_+LqZ@2q%4=l!el3}!ja3(4+0a!d=qiF!)286EGQ7CShHrqSYvQvr1 zXfD<;1)0r);rdV&E;MHd8>cgCXW)fkAOH@8msX*)*DFvHB3rShlh z2~-()=A4j@$@*$5%qmW74MOwwAg}3JlX3b^v)2}F5iko#3TelaWM=GVUl&xeb>8l+ zNuGW9e%rjblYZ~#t+gNVl6aLTav!(Mpa6FRQI)B`C{+% ziwL0jo*K`B*4XKl*H2NP*a%bx>7FbOk!KI|Mu2Dux+6HGMr8S+EJ(BE%P!ee;zkbO z>on~@UDk+NgBNIa$2$j5a&-nVM0V(lF3X@Yt&>$sM)G0d z-3f@}l*kB_pT`^SbX(b-Q=u>tgc@%tsb4GH@Kut$9S*3=RK9VbAzMEyHup5kTRVeTpa|DNn~OI2BcUGhHTH zyppRgE-x*FN|(G(-clZXG7F%L&fA0&P0pwx9gfGUvSiG{%+CxbESUHz|KrOZA+yQk zg&GMoB6Ax7#Z^X3m@Iw7%?@>JLT=xO*|#?>GQi~>}opafpvUqTsop^dMc;ln@=+geZ{kYzI& zHnYvT5IEUk-aYv7%ralUFGJh4`^&zaH*ckSq~{&cXDQptS(e1P1F?qw)hFb*#58X{}_5;D_|Eq%8I+ zc3%!Z7hNF%6c{gR`gUh7iNd6a)csNd?Y+x5$b;+{62cOout-T!XadT~{RZh49;?~< zF8gFr;rMVYAhalhvLfM)K5M{7gMtyHnen*>UntYb$agIhbf>YWH)ZWR1W;~1YXJy2 ze-84Nd*a@By0-=FfU|;c+sjD+X{qY$S<2gIZL@#Y_RrpHFLy86Ctv?w``#b^xAyXQ zu#Fm>j`~)my+x@z^NimZtz=X;<&x^ztlZRtEtF#&rVFZ^8cfynXnZ>pZxOgvxgL5v zs-{#n7dxW{)!r$9vM~0Qd9`=7GGW_T)kehNe!*rR@Yf zH)pH{b?UggbUgQSaXQEr0Tc!xQYL)`dfov9SGKoa(B$Cxl2w4&Xy<&QQf#uDDiBb0 zuF8sR2~mF7mA11RW$Se5l42*#h99(S%GbstXL;D~ zYG+`eVew3TB(uRp>-H+?m2Hc)v;c~;IR~-r!yZC66Go|j5(rIBxR^66PfLP@y@Mt2 zaxT|^_GJJC75w>Jj!{?S-v3zRVO%M&KUNbeey#hvuzvHauVj~3^c*w`N>(7wz#!9a zK^bG4vzdNW{RABlzzFYa-4BruCWN)hB5Xyr-*4M6?Awn%{_U1s`3(TWvJV9tHj);` zaYe9NX&UzTyzLM=TqskT{eMMYYC)fP4r)`MPY%$@XT73he`trh`?kAlau&+lpZUTsv{%PZ+v)Lbdwkp9*Q@I<5Gt>|- z+h=l}>HCnGb7_35)fB%|uo2qxIBcBlZ}U+clo_iYJ58@J*vd<=U7#k0Sxnow)w7@S zQ#p{4cmlBabg5Lq@OssRsHC4HV=@u}>b$VOE7>vF70X~DaIDZ_Lhd5cJ3VW+4y7+j zdrRk@#3)2YT4kLkWrvK1p|5;mn2%or*T!%X8ARvXohSZeOm~v!v9cHzhD1M4$uSke z1ELED7pW88CXd&OC}Du2oLDeZ%!f|@ZKb`Zv0zh?8LtNWUIBg!sMfz2}B zU}y3U0TdPto^_Q>JXW#tdj=$_jlzU-!|K#WFG4su{F#TvY( zp+Vm~^W>!KGo9JJyxQJ{0LrCzA3;WqK8)w2!X9m=bRGegM6W`9YLtu*L%#wZ$F)3v z2rghCc?>Q9r_PZs&I|yYE$Ix14`sC81O!m9CVr*)cMv$XsF4|tY(m&OTzyeq$HE6e z7o~4ClAwU~I~A7Q=#T^bkU6jDjcx8&Nr7D#8w`h+;U(;_ljA5slzy1_0?>p@B8U3A zZO7&M!4u$BX)#g(3Kw=oDA^k5`egpPzV8u0iKW*2Wj~7*iNoTY-HPL^oRdpyIpZ^L z=h(iC$rrEyl-D?qZ1fJaQ2;WTRS)9ILGnj+1lqIqcC&2{yVee;$JW~cYlE(Hd$zr_ z58wQt{rcvw+P~cXar<2Rc60q8~vH&)$7iw+QbCzhTFG=j62!Oi@Db-|`tyTKyCw zi2w}bg@i==x^}rPalLapZqM!T;RkK|;!Y2gH_-xzM=M9^vB`YS6%jn|0TkwkB>%*W zdVl~3Zv1};pj0PG11R8c4REHGWCjBISuddfG?tVIua>Xy8!9zmgV=i{d)Zycfwx1S z6rY3aFN~WHL+uZ8hlmdSmgiY3-tH(Wp{mT|y{K~8{T%|-XS51uzXCTQ0!V(^88a@Y zjkooR0F#}RrnVbpimK5H*g9naD$QF<3X>6oT{jVdYX>yWG>LaYBj8|Q%(XkosCXS) zhACLCbb}x;0>Pg7$-yry<_{e}8Ex8iAAJ=ezRGS?C>_H-_OTZ_f}BZwUV+wiMWuPglCozH{(HlD1IM0|$GQ+6-z3*d}hlfTV}5J^RvfF5SEqiI{&ynDT&2nu2-S-%4|tSf$b_FT`%R>3(ahI`?lL3 z+U|ba_Ro6F`(t}NzHZHu0LGUZZvdnuWi8ey{L=25iYmUe^I_XQ*}QGfe*ClTb6@zp zBpkec`=*^9UdeeU=aZhhBKP+*b~;^3#f0i+-T`UtwFt;2n|i_rPUkc!JUeUr9zRl{ zlfcJG3SYG3i7Fq3dM17`2V2X+F3qVyUg$aj3TK=R!13V28+(q{KBP|$x~jZUnNWS) z6*vulGw$m&*Fju>tz>VK86=v_4YiO(N>)<4WRE1Q#dMW;1=DtJc!4JB_4il1^R|#arb*i{Jws?h1?gIDvuju* zpO0cm@jAyU8>wycgrKK#-MT|4PKC808;BT`0}&CJ$m=OK-Xef_pB+Qu% zm?WgQbdU$x{=gQQXd_Jm9V@&Cd0pj-3^VwYZEMA;%!{%ly!2{cBed>PGZu7!)|$iq zLPQjsd8Mm0Ng3FO2*<=r6-$wX>wX5xL}&QDvH4`1u}uYMj$Bd>uW=)S5juE^ZlgB3N8)OKWJPFS`syxlzC&2OVvch?2W9 z&TFhpmq9QDYaqw-cnq}eLr(b6Z6_@a9v+N$&OoPBiplC@TvnB$^+jCi%Y_tIwr0xP?9$za9U7*$H35K z-^kGsL#iqr88d`(2H*g`sWWP{V`Eqbu@cyol5BK!D1gFiF>IU9mCEZ1q3EAQDW{Cc zs<2hqjG{yL)U#lHA2DPGX>h(rNCy^;!LRvwBGzf`_4io!*jl6I9^?=M`mPcE8!RpLp{(?N<+9YrnbstM)UGf8FlRuiF07&rQ*zwPj2)^^=w6 z&zvY^aAiXWBlNX){i*>!RND0OO_CEJO3#!dnB0iQMXard+j(-(I~}?%w2f+zx|blO z{y73D_L(c@2zY?*d?-Xao^ft~UbMQR02;~LIC$Gk1~ODte}{SuqXnOninIt3W~Td; zvzPrl1d~8F9wc%hRm3+73#_XW@d1!?goeo^(<6k*tU?Ioq?i2+`etLht~Gb+Tq#zZFl#w{op_SSv&sCciMil zZ`;#F&Q0lU@lK`)z9}Iz>rZwFpq`B)iUbKcRSmOB)&94)VpNF|;!x#E+;00=a>|>5LU7lhIxZ2wp46VwOa9>L3?+ z>NMTg#@~zNk?hHqI+Rjg4X)M1@u|DGr-qQqck%u{yhQ zC(tg9aamS*Xj8OqN^4*;T=qvcPM_@ZM?QqI^b&(yY!b_|WtZSeeFE0W=wg3v*4pa(eg5UaU^RKM`!3 zZe%6vka=0(<2wGHW|B?2@+N@6z+@LPWB?)QF>KR0T?M58h)I{RNU|*wE2k$h$alsQ z*7CNWgR}Mg%2u* z;`(d_HrHL2_4G6e)rU1%wfgi0@6de-dKqYtq|)Pl}p%aM+NTS$f`dNei;Qx{bb zAu%9J;$aN>>uwJn3~1loBX{|0SmB_Hu;*;vaJQ+tq$URd*g$j)G#BzlmmO=TvsOGM z>}*51JTZ=gN_v0nZIDs6uAah*{SL1?OgwJ#unL1NAAaR`{_SOz4Wd4GCf+Iog3-gN z0HM|Ziu9BwBQ!Z=D}sUmV8DyBetd7)m@Nu8?4dz~$(6L$GnXjX7SF9sm0-B&vj)J$ z3CNhh3?)oSnnA2=uh|(L!rbFXiqac9IP3#GgiPOMBkO*3W6y@)8#qux(3sQ@%^B{lqn6SXxWkw)hT!& zTnhWdj5~=G!_n7GPe8!H#{k$MGui1$->sjM_kiLqlZ8s4Dg$do*$xc#1A2)jhqb6{ z!w%=nKsQ6tgKWIs^gGsQnl%AMcasPzaJg;Ab8Gk8W4pinef!tvKWe|V{mb^@!#CQq z%Yy)Ql9weQVNdURD?yaa`7Q$kW?Xu^EC7JEem$rWtpr#N?t_1~9l@jd_v_%$LCg_3g5lpsBHd!y0ixhk-l_g$5#0mNF!Wm83*>Xtbq+zQq2o zI+!IhWfr8)?;W$8qDT165y}Of4m%(%vdjDEt3R_nZ`*!*Xvh6s+dO-(9bSIe+F$-% z``Ul{ukF391QMCxupo*C`_`n~&IfPw@_I0H@y0`9f zrZ3dFc~Fs9M(!pc1Qe&vu&oJlHrdEucnElhv~99XFRl_o;6o*Yj-4G61W+;^Mw@{; zk6}*zk*KmTyOW!e>e^vRm@Y!8S9;NRa79n{zH1+Q)sfb+#Q}v#s*!{O2mi0z;<`Rj zZLj;qG)ARDk%yc-WtLrzKS0l&y-4Sy#@h0c_k>;Xop zITe{7Yj&;w<0sNihbKzYMT0$lC_OHHmGAASp*7vB+n5~_Q zp6q@(&pZFSUekFAsFAY$tp$!S)!4enX=PCd zf7$ga1Pk`zBy26C#nXs~5kh2Sc-rjh_M)-h;czXnV+NG;zPpTRvzC_HT1|mv(UHENcsT{SQzD?!HI`-M8EzZK$q$g5WQ)#dbvpNA zE7;4`UcmWG7}tb}2LZ+`i3%mXDDj&-YV=F>^?l8dXc3ezzafdwl#*N@4>osf(F)qf z+G%CpXkXiQ0k`1udSV>v#r+lW|lZCW8y@j@K1&_W}MZ=&PcPd@N}?yGraOxsi29A>ed2%ylsoKLiGO7&Y+jZN^F-PZ`!_V|@vN0LK zt9w;J%%ul|PgCI4oDqP{=7&(kaD1>pg=}$qv^s1!ylVyutM|xQ%)AeFj90IXXR)wi z;Wf5PDmc6eI(E#bWLW(3l9AVqv_un@@i-|-b6}ocbBhLM_uzH}P@J||LD5#-h|w%m zP5v0hqG?bBVTZjR4YlNsDMT(8WkCW!a6OoK&JQ!6Ck0U4{>zTTRGzrU*xRLn?g}j} z+t#tH7=&AfHf&*JMD#n;z)Aq$qOH2t(g*&0Y5U8$9X99oxi?>Fzxm=j?O(J%YVSY% zZ9AMF+qU&qUYgz6ofF|jnSYfHmLX#YJF2s-d)|#M3Brirj8TN)Y7(2O8`MNKx{>?F zOiG@w(rX7IIT+IKzY##`eU7=q4=oZK)}&X>2m%q9QO^|>vQADU@k9`E381)R246-! zdH0>uzLLX?LwY5!i}q$5w3f#pOA~lFXx+|>7`*fU9|I`9hdMDin*E1i=BpBGRwlmY z=lUq@F-&{7MoLQ^{ONA`zMXb=ZFB#k9bSCcK6tZlfAa7DLwoPdrX5adD&q{O-q>qT zIuQviQk7y=oBbL4xd*tOAPDr3P?7Jg>Z*3<2gG z!=*z;gaaM3H-#KlnFQSRxuEBMjn=@;11Kv!B3FyuQ2U3QoTB&WIC^UbTO$fc&Sa`) zC5>})8->?K*f{!R%kya6bRGM=jRH+bs?R`Yx5yy19#BBu-L}2iJhshy&)WV+-f!p2 zsqH#2)vFk`y&7r^pvbTh5F?{e#ktPM<){S(e43=f+}$EDxT*u}AJZ{xcWs%Hb!W9t zK}_!CAnSGjRnX6z^a_yP2{FsI+t$gQlpdGQ1Q3Z2(kOw6^57Iesrrr96`9J?mZ;mk z!MPF0@xeLp&UXAt6e`$`eOx#Muqh@0pR7N(pmKXBD%O;jv}J{v@rDQIEL#UCte-s} zM$X*d&!UMRlH=5#w$f$|pagy4z*K!AgY2L!eV@rsufpq6vj+rdugSUr{o$Fs{!H6U zSISN>E(y%AEL^bCN_yH1{4BEw90Gi!{Y?Qg6J!7aro>XtK(U~)+ncj{oUY6_HaP;| z5YZDHr|o%myAG9npj0876L?YpMVs75i&x{l09E^Qm9E3M4%*B9B(57bxt_zqe~0|h z=i={~Ze%+d`b7V2R-wCToBdW=dF}7++NbSR`>B8OrS|gUkJ_6zpSH)-oA!8q+s>y)ZSmCuC=*aweQPtETo*<*b)q$D z*O-EN1p4W2BMF5;^NXK>Iz2PVt0$wY!3e=mm=r$QDo|KHukz0IZ75z3Y#<>?uphj~ zWL(0St_3NT(cDZBU{%aIOEjB;`I+Bz%%LYVcoEmQYa}h?j2B@ugHE91W&so<)Y0~? z0jCf)mFuSBvkFFQtrSbm^VEQfR;5yK#SL9f!deGVuAg}lqh=o$vQX?!t}cWh?t5fO zKL%`vt*MeZIr()#JixV5G$#FrHM8qop2nIbJzRVe_9J+`tL%Ep88KPDVw{C@(El@` zI(e>2x1!@%?oF6KvO>HiJx$)dqPZDv5^!ux8@LANE^La6krb` zhLVX#Rd`nxlmaL$mW&^-*)HXw9Iyp|Cxa?Rml7#ZD_G6+ZWyPMNXm|Q9t?B=-tiQo zSzY6dqkF4c+=;q7BNHP@4W#jBU;+Sg6DybXz5qUKGtQn(fhZkj7v!=1qj2KVF9jb$ z9}wAubQr2lu7Se=&KTtCO8$C9NfLb&0O5BH3Pyd1r|`pci=&-^8CWS87yB)=RFr`O zrs)uGHA-gB#WQ$2uRCoq#`y{h8!S?018V5%`_#e)&kX&bstaCMsa3(FRWszhg1s|A|bCn4YOc?3C zfa>qWN;eGlE6+-XH^|ungyP$Ez26(zbvd!SYume*ZF~Q+eSG+!eeDnatUdn4H`=q^ zLE9(_fxv^b!@JRaqF1Fz@lCXcnhk5|C>N(S-J2?m>>IOdR929Yo^+f!nchZkp0%V% zsfI9ke2Fp!I>9<9SdlY9)_X0sn!GOuP_+FE2Q5U&BzaxelVvoufK(Pa@pv4@{eB8z)KdVAQn$99xMzsrKp&lBeEIsW@FWfVuOo>jmIV$B|qo zN*21|^pw8iybsA-N-|)vSr8pbt>+9=1d#E8tn2;AJWH*Adey$p+neKuGxNS+7@}nvV(P^o53n)D{bd0 zid;3MzL8a&fmYxPUI`9H(1rn!EGuU`7PPpKQ6id5mZzZO%jN{-vL3zqedjirJM#nMpWMS(+o z%g$s$hVFXc)pe04FJU0T2btN2*-p+jBy^Hiq4Wdg z_j;iGp|#`XjZ}$fJg>K;)Uzslbvi!?8=bXPUI%!$yVg$9Ged$B-`~7$KmLV()IRw6 zpJ{JC`MY-N=bl_1+v%jOyQFf2WHa-E0(VO1w|=VK_*9=7&vhS80=l@{WKasAsJsk5 z$+n#C5rmow9JCCr0PDbiR1LuRiO`KcI4TCrj+_Nhd`=S{2OGLfrM1O+_W+96S=(JZ zpLH*<{&f9gfWF!uROydE8?}xSisAD=ta1tM`P6JDThf*sIs$6}nWC5G9f$steMM3L zfohqeG-22idx{RP7@z8b+`@}V)ajK1$YTJgu4vUqwWXwa@CoSRYx+Xl*+#Gz-2{yG z$!Osf@^x+}=FutBj|pXZ73=We3ti!`f*XI0-M|xyv}AuU!YNKx%i}z zuMK;W&{2F%rU$NQiE)fJ&Ps*^Eh4E6E2XwA<|?!#)hAl@s6^SXwV-{B-c)z?Su1U> z#^dj!3x1g3iEPyufBScJ>1}`C37(`i#P;c8n=u(_XBPb%9r;_)Bo&=EN~p*Jp94_5 zl(&_&U(LpiB}+hP=)pH8T!M41>Y@13TGYTm&q;aLpMiH##4ZE86wsh-qzuHA!4+nseIYO{|1Ama3`X_GD8Q5kGVyIt;I%hyr|4Ex4yV%`&;G^Pmr-^EVQ}sRxI%Q5?>x$yLCv{<<1K z;Rli|PN1)iin0mKV^gP*xr6ATf8JYsCArfb2l+_v@^)K`mSL_BtQ8xmqS_tcq zgE@ISL^k$TZVMrjg>_;+LnbuEeF3G0AeFSZ>TcTF|@1dxduW^M+%>CK!J8jo);Ov=%KD<`BY;> z19IIACa7WyL3*#C3%L_f>1}JLbL-6$kG+6H`2Q@lw}1Jf?LT}e2g}RIDRAeE$1S|B zfJDhTLbahej7dlt4P6VM$aLjhN`Stm6hHyJ%T?tp6WI;C8vqTp6~Xg`)?L7uOq|RS zfgJ6X-p>eAFotCh%Ps^^++p_ksOf7ls`PykoC<(F=00*Y1G-M@D$LVixV}CB0^G6I zce|}odD+IAo!!uzb!=F!{`sy}wL91*T0Pn~L5|ev4gK{I;7VGK?m`f0ao!c*R_wdj z=Dv%wzW1;I&8C9R#J)*TNaq#w3cw+cS6I4M>5%Lj!PmZ4L0`%55!zuRRF{M0p8sCv zpZzD0VAz@VB--iamQYtG<<+G=aQ0kEv^?N@gj5Om*#ja8Nsuku_}Pa%7K1T6Ko z5l~Wp$M(ez*~Z+UMZy-W!C2K1yoRIg3E#-(l9UMO9Cxj&H*`#twGDmiKoGSxX8KXp zWnknYfP!GJUkky@%mTP{;+;G`XnyCCtoGZ4wqLRm5N@&P&$f%9gD999~`8 z&qtB}cJ0usQ118bvOBkj<14W%I~VV|F6if#bhXzT2X`ApdsIq$)J}t9nsmE8Df=F0Yclw%bCo`CL%(w7aa;x6?gw1wZ*lgM&Gi<(F3y8pKJgz@KD&R6GO#qHSalbT);G!pG zQCn=-n|k}m~$kKkMi zdX^40E-U-+#;SS<3Y|0Qbh>XfaT$~0Q!>`6Q`GNsl!DAgq;xIdG z`6+lsL@^1LWet?&HR}`vHPx=UrJw1kk{#M@&5rvR?Th|~u8ic=NaV2gXOfhlzKqI1 z_=%Q3DT@|Daly8#lHoU$fKl~FmMx~r@^60mxBpGzpW6Y5mB=yW{@B_ zVlN!l3sMONWnvgx8iJzh8xb(^&siB+hPb##=CJboEAME}SN-v7m4!eIu}y?*@$zwP z4XC5J@-@>nku8s_WGO8Bl-`5$y2{4ggiwUpE_x!TB67(y?)Hh@3hMyaqsw zAXS!j0c%-cuG4fcRLNOLO_mxfk2HARQ8K9KVs9>r+>mFvZUfnD+GB?uE|+$9Ik(ex z({`t0`|SCl{gcaA+Hc+cW&4NcZ?^XyzumT%*V>A0v(-}gX#ho?HZ{_8IBHOmmF=?5 z0AE=GfEx>g!e%C~w@d)0kJuy9O4HR~xq}NlS6x1c;7NdE_C;!K7%jReFd+8_NFnFO z2>M`h5y2A|VCDprL=XfF#9&%*Mv|iZ$*_l6 zhD)8SgOs}c)`QzxXK_W5%NzR+D_=-_c&CcBxQc^cK6cl607j>b5%@^pic@z@O+#yW z1zAG_1rQwag6XYNN7$lj*PE1TNS2azMy7C$ML>veh;Gcym`t9)!FB1zU{w^b6BU8< zY*)9T+1Kn_Qo0U1_ConxZ;YxfRr?uWT_2ve+qT_a+N;Z}_WW}{ z);|0Bf6z{cOFO;(v>hMbN|5|`d}zB)pgksIMRxedgix!1^) zXUmXbU%OGXKvpV`PFF<(-)Mb%1xt!`?pjuZkHYtUWC>R{naSpX2WwMom2Xa)sGOFe zW%*2IpRTk`X9U3K^9ouC{iQrr_1Sno%XSsFy4HMlSW-ehetlN9D=6u}_q8W+Cf6rK zI#si#XOW-euj{SN?F?APt+chQFPM)hTV6I+Z$V{=r4n#=0Stp^B*Zf3VBdHzv>wL7 zCN+Ye>A|F9U6)USI4gNJ%rCz%os~jpozWiaz!^}UkOz+3vS0|RC*XgeX!p383=f=B7=byY@Io_gInfC587Esx;704nt}+h@6^ zJLPaftzRTEFkI>3xiB1b_6}N@MXT*!14zP3g>sq*&*eEQBV&i*;Oa5t66k-owSM_c z0weqGpj@`?bC2I>zr6o;`|l55Za?|D$plnL)o{9hat<0{#SjY=Ot-U1ZO{6 zpfSl_3tosr3@1x7Trqy(M+ANReVs)17Ffj^+t@vT6Pmz-uL3UjR&g5W?sSH8bsqZx zxj*t=+kfzWd))N)CmKZQ=kefvA>#s~kNQ2lLbkb`#PB#W`t?Bg@qDTZ@T;zelI>@2 zWx-N`mI|t9OCvr1gH4_*1!{*NlW_@H#x@e?SV z=Y;(bxliqpL>(Y#R)Q5>KMuOU23SD@7qOJU!0%VJIm(58%{ovt4+y{(?b%n!Ikv&- zXXD}Dc{T<>n-8E0(H=l8ix8l}x{0{ar$>baXJ|*9(sj_llhSrY12}l@+-I}k-NX#1uzXi5D+(hfe|Tb=1t_P_#yZM=+u1v6LvuF(C6>51D#I&3z)xD31F7;Sc;4jm zlK>H=-^@GVRDkA0x1_EGV*o{I&}fpgVo~A9NlA+qUiu8$CuI^lz?e6H?YDUan9CAR z;>4bet0@v-=2XHL*lLhpY~h}mvfH=aVc+)8?%R2DYLCa)ZM!|TZEqdi11Azd*|gJc z*S42k+nqOUf9#bh+jiXb%9LY!e7S8u`DilZJO?^O3D9bz`HP%VrCl^9Q;ECMH7$kdGFtB<+;k~)Vj ztUSO(OzK{~yB^oU>|nJ3C;DgJa&l(%i!2W4v??AQs|r@R-JfBf+p8Q*6yde?>IvQ# zonukz*Y>Lt9$gDH?Si#~XY{=sZ0JJRR5Jw+coag16d+N+BYyh#((VPo!peKHTX=uP z05L(Q`mid#>oh5%VDY|CD)|~XFG|1ad|^yims^CM-lM`LoFLgb8%L&J0P5Piy1%=x z{chK3x<3b>#~uu_S}j;fO}DZ6vi;Eqrqya>2q%tqJkA0 zY4>|rscr-*z9$4s+)ytv=C)K)hwt2u?YwzxyUTss$r0Gc_N+a$_ul?(`=9oI(SGCZ z8|`xsf7;r)XN6f^ne2&{HHr=9S>t0xSD1|$k#dPD4zr{wB7$$bm7Ur!+U?!3(!=4y zS%|qpw%b$e`LV(PIj>hgm}v{I(`@K?O1!(%FBm%vuEqI{nFK>o!i4<)9ya{upOW6+75vhxn5RW#fTXv93-e~JGavi{D`bixle4P2%rq$ z0%s+pEJUbI;CLVraJ+;iF0qp zn$Axby3;cb5?_uFNk5Q_WU(u&>Po70Q8MzFb~|5+FiN2sdum@V>%k8D6af}q7YF15 z2-YO!IRM0KCOg7LKAk0?0zUvPt;Ss#+5Q{@ttc}+fDy`m1yRr3KvYx@;9hM}h=d-T zt)U4gu3Jo8bUxu92hBPU_*n(X=v7J`5Ioa=a$jGIx_BXz^l57IBWMy8CVi0WO4ID` zD_yd$A~b3?4dfO861IKnoWUb3FZEs34m3Xq;&$b#!;T9x(a$E)cfg*7ztTrJ(qs?7 zXe9s`L-mf_o-kW6Fs&-wnNU#BW}9!&0E#@VAicpv`%AX}AStg}E) zl@eWY6PT>>US*jBa-UK-@ZJC`$zOEnx+n1(Ho=ax^M&MuHK2 z4Cy@ZMLs~f>dNect9*bn)cNIBP}Hxj?={y+MK#XH#M)2nZwWS-O<2|~1su@Qhk$*r zHiq7t$cCF_AvR4vMA4+A{A<4pFPpDRexlebhI9+dZ_Yi;4f-bSc zvU=o)M_?Y;=-Nh70``~fbKTXPXcV^7y9uSx)6f?nys^ELUOUIYz3Y#<5OXV)f zT*s*M`53+q#$)rp;rojaQXOaxf3nS(kqkNI@~P@)R9k$;nV~n0e#$sQSL)rPeIK?C zXbnN-`FPl72VHPW_HmT+d5pA{t1$UF2)LO0Wb^RxnYsB?N~?jC*wfn5OE+xE+x;9% zwn@qWRNfjt4rimyN1FmD?9jU+CSb<1h?x1_0l4w3D86R`+{}QBtBbudp1{j6AP6i_ z0S5&kq>8H{b~(a8uZIxha}@Mm9DbTX?*N4nJqpuBSWuQLTnBmm)8gsMM_oplHC7MqSkacL#UcGgGQ zvfFZbwZv@f0QBXy>WrXO(-S3uKMO{XJk&-v$qtFfvZ2B4Ue;biC;|(hKr6vPciyn~ zdqqdiQW2v7hx+oKIT)75!0R=z)Dzap0T$%2h+Mb_3ZHM!Ngj|gKEqKyb%AjTstYx5K6f3+=IrAmNf%Z36$6D9R{xVXH){IqQ zdyB0hx^3^Z%B0oGsBxhcF}_!nIhdV7Gp0D0U^EW7DV2}r?I4Kg!6Tx72`YgNuxJR5 z8ejDLw^a3#=3tI#ofqC20hazAXh9Q2wPhmY6FqDO2Zx;P_Q;82J4iqU05ppFLX|#N2p77 zC=D^8(0TWh8W4s z01C!wdo_`@Gro$?V!pgyt9vv+5S1=6Z;>(a9JPl`=SmQiGAPB)(`z4hm$rTHMcaJ% zLVCwb`;+jq15EKG$1%{I0tTz#2ZPxF(2ZNFw@^)#WV54%7qxW?dY@as3aB`vOhvbR zU%({rMn62%d7J_$vj@%iP#qpe*~)+67M!b0V)I#%fhwiPtP!db>B^Wdv&dExZm003ma??sXch$?*zoF88i76MO(!?yGo>#UaXFA9@3RbK1W;BodzhwxxcYnspMvCz zZHe_jhVWAZD3;h30S#SoZI4>`C(ZxHA=^EPV5pkX1*@PL=9K*yOWYW2w(9{DUPlCk zLRRR4dhpn6b>^+4I}0C=yw&fdz*Y}rz?Q556xLx_NB=j17`1;ps_oSHsF}8=4|uNu z=B0M3&?8U+YS%a|c^mDlqpz@D{;K%lwyc(fLYEdDs>wojAbhXP-S*1fecRvNwcY<) z+q*s6x*hjHV_w#6@3YTMvK323;@FlWIkE#Jl@w*CFcnO>;E_s&;w6#cB|JbC{|8jT z19`%7UMP6N;faDrVp2)P33l)$7M6@;`J$tXqa&TO_geEpjqd(+|GLNczB%`iSuX4B zwdOa+H%5=X{<=qx+ur{4(4LMTw$1L?PSRpU{RR0swzl8w+xd8Ghudv?d2?=m=Chw} z&p!TE`|#Cw+u`N++WGX@4(BHYgU{!-Klb~sn%tqHCk3fp8tYX{jMVifo5*^1rnlFS z@JW&960OOSm|W7`PW&ZHqAlu6e4dgb9$pkPNiyodi|S6He)ne;S@s#I&SxLjr8G=7#7-?k5~h3T}4-ic-J0KWrZPOL}e zFaS~aWhSR0RL%@UartF1l@?7Bsk&yJD;VpN#75r(!&##MN2#Xs9S7Vrwc{cS9%HU0 zP_};Xf=Ba<(B+ThY}So+yPdvW45=$d+l56!Bm&LkGww9Q;xyLPAKU90)@SR`CzSJ% z*v?7%{&|dvg!D#EmdB6s-h3TM%IDoi*_+bRTkWG&cg4T!*raQ#?^wAi&23UlhR?NV zc;Y`fHA9}<*D^Yf3D6lWe5M2AFDHR!36!qa$MHLfq-7m2Je3ObNB9KplHB3%IT;cp zv)Byp9!|XVIfaJC)7=(@UK{x&B~UI*4STiu?0@o$MgbUqs&2J;c(!tFFYJYjZ~y}} zk__PLjcksb(e2O65W{4ZOFAHymv}RPC>@I(?-_6v3IRYi_ZsBmoT?C1*#H2hZB5md z^GVkPingcFjfeh}Eh49pDWZ-w*vHn^t3=9~uL^o6kim?YR%_epCrX5OFtcyWXjF(q z&FUPIBIK+-E_YrObV{IDmmZ#guYurK+xSbuOv8xxe*N>8p48;nsP{)5tCUTOWMLk> zR}n}FQBx%D2@CTH$nPuD&Zk2X&!i{a#dGBva_Ds9u87p!^!Sf zP@&d!D_`Re)%jT2Qfv-yNXj(k?=JB_sNco%=G@x-Y11D2MUIle%4p11A(ylIcy zm+ddT`rY<7H^13Fx&3x~ar{@3Vv&p2BP#WT3f3-kmP$r#S+Hyj$LbIySJg?$Oodm< zpQYuFu0)(k2d=D8+rY&+4PxwRQo#4B|HB*`ZoR;)Yb99XlO}L0=H&OGsA6{?Tg5jj z-leq`5-pxdG2JAjz_ZF{;mBK%DRh|$B8-md3q8W-P;DPsD(&pCs>}V9STONKOmGa` z)~` z@5~X~www0!aNFALv-ZaAJMF_Seyu(JKVNI@&~J&~wxiz>RFCnJPGGuBfY(52&9P#I zoYWTE>TCxRj#Ygpyr0_+ghgF25vEH^D=+7?WccC6;Zv6J&ikk))??T1=OkCtGzs|G z0_B0T1w0B+TmQXe5KZm?s!kn+p6KMtpGy{V_P&q<(N42dgf7c$qnH3HpZuehxLb7m zvnn_RHBZ}9JKS#C&BxwSA5Q`wx-=KSu1v_rEsBwYQ5L00d=y9DQ8SX;JmXnRBTt;+ z%Q+B5P6u=l6&6+Sf2kdrnb(*Fp*3=Gyj%i_Qx0WslP?JX#4IJY0yN`i8I-B(ckq58 z7~nr!P>)j-L-1|3&R?I)pzuU^IsLFIeGGv5erUx$_*eO1vgQfz>-V6WCSC&o#9_~7rV#hRUFn>&9qP-uw$uHSA*F^TVHNFF$y{ZC}1>kLOqI>G(>USK9O4Z|gFxY1uvi z&}Q8PgP?~F1&N9aAZR^-vP!=z6DT9E0xTq^A$hNIg@PN^d!(015Bf-Shhn-PiW1*_ ze4MCo7>2)E~jgq4CZ>U3z%)ur=Q9+-M;h!WN~f zJ>n^S#MUV%6ZNhrKBa-UEyuQ&s2uD|a7T>Gf4d}oI+q$pcW~ITTW{SPc4HoQTcH5j zQHhVlCn|U@mO@+fac1+5{iPLV?_S=SY0`BlPCp_hh?suigjlr|=lLlRO=yvxg+3qR zsq%fY9eGP}QquNB+(k{GEMpzUa7AV~nIddx*ib6Gu#;#qK7sX0L5uy8owN9Xa92>< zb@W$xAu;L}hs&n0JKl0fOLm!*40_%b?j=U=-U(mz8X z_iX&|ke22w`->vbdP+oW44oPbW$XS(FL0BYksYk}xh*BFs#mI8ZhERGP&h$>iGmE5 zR80DOr4n{J4kE9mJu6=tlN)N_l_wQENy(OL#w`xgbqSOe*5sHpf#P*C!D@?OeA>Ct zeCl7Dat9<#HUzUn0tFlH$)W-hV6Wk~Ls=;J26drXQFV^TwPb8LCZ2H>b*L&s1~oZ& zp?COuZ7%sThH*2}WK{i`^rUCe5`&=K~DwC zl`IK^69q$;hKXL}lL$JfJB(MxsR2NbcPlxs&Z<^CQwhHSglM=YdFb- z4Kewv7ja>83-2zp0qb+<7hZ4An|60@?P!-1ANpn4=U#PxZ0Fs%z5Dd-_T$I*+P`!E z)%F(-UuqAB_uKaTB#CFC16p~>h0)Q$lPeIGC#+5l@3rfOl0boq4jpBNLzRa7z&X%_ z3M4#V6mL%&)Ag?!=mNN$$ftU!w-FeD(s1(h{gObjqt-Cw7PbkkG!aAnqs>-0ZR8#5 zLb;}(lQPOC+^$GH7Q9RK${K)dG9=?DxawmfzziXX3K+r$))^0T=VQsXn&E_0sKP0B zkNxDwCcwB}${5GQXL`y5mPxW1pCN(LWdSwN{k{nfsd})oZ@YH5y=mvW=k4z9owonR z2ko1`_M2_@vY*=8wUgYJ;&~`1mnWc#xylzCN5zxcH#-GY_r^wDvVF1(*QgRYq2q-q zlMU8D(Hz|}wz4F>j9Tl&XE}k=gHfl43-#PV@^v8I8gyA?R_c*w$X-(2v_9sQ@B=7; zLb3qoE|E2Xi&X3bK+NPuR#yE{OZZlDg9<%~3iW`>aB0)o+a)=+ukxntzE16Fdusc) z-fa74cTGE&L;^)&;h4PwOmvS^`F%;wwQXZ0Or%0B;p8X|SndO?@rPB1n#!x}D)XZv z1D$IDLuL7S4a!bNMR&DybUlHhZK$N3owZGJ{@@lCE`OnqWgCf2UH;$$%vo6d%molm z$Fyoke#X|8_F*bp3jw>+4+)g9E!Mz$aKwyP^deAWUfHw`yhJs$f0q34sP^aaai>K_ ztoR8Hiv2#BME7+p`2n8J;|J|B52{AcnALQ6LpOh0QqfBwUH%T;$|AsY~KWptfdXhP{ z08(dro}@~IBtH!DE6(2JG>fq5M@^v2!E4v2Ge1Q9Q|J)&g}1xj8ug~#+-@a_a%hk3 z)#;@aGDwTa)4A2n>TwCu$w(RE^6o5R^21g@C+MQ&LI-DU6f zq_v1^!a=&tH2+3AVAxYhr-MYmBvDAj>$bMBGI?&7XurSCqDmqPi)L_JeTx8wfS0BO z6~z@57h^k^hId*%qAC62r|HH43RFo(a}T_u#Fz&JM7AB2tTvv^_h%U;M`MXU&nB zr%`2#CHNW96 zeEz>bcPEf55?%NfRnNi)D+!buI0{2*Gijpm^)FNq80DO5bVQKq94_&NOr*#z{r^7$Gq`s|Kf@Aufms`dnq!zIT8`1b?9hjx2> z+5X1qciLaS`~CK*S6^v&r|)W!v)p51mE=-|pg`9WAJ_Q+7z>s_5J@ex`0_VP(72<5 zB#s3b5Qm^sA8)C;j`tojE>+uRFlE0MT6oE7xBZFe=b4fkqI+V$xc+dNGI@{UlP*KUjyQ)bI^jJ|u$@5efS?|UP6bXn- zhI~$P>c&zUv!tMlv`$J=dcr$B@zkqn&ECl0(8vBH3GmJBO}lyL&33r4JD1FJ5chw@ z|GXH$vkY5bbgvp?ddvL->yEB|9KZ7P%4_1G&e#2IO# zbC}Ox0Tl~~E9l&z7CSjG+PInh3C0vNZvw?Z^V&RQ-Ev=**@|J#0KV-?dY{{+y$Sm( zcg9dVV6`&@=Gjmj{{XPW{9^HxG)v%5?1Wc8 zFYYb3bI^pA&)a~%usM_@x*~xRx{<0!ZEBpjP9Wll2N>{({R17k{WD+5l+BX-WzZ4{ z6r7ZCO{FH^-Y;OME4SBh1i2|EP#6dy;56)%%5Xoq0C{%WmbJ`*IeCcu zFaXTK|F2_F^^{6Ux?lj;-|%NFW-uLD?@+kvy?z>nWgWoaIKrm;uAV$z*AM*dOL4ex zlV`gyIXl~S%1BBj-G*v3 zB;8<_FH5ZG*m4(3d`s;((=~jVZinP{MR~m2t3lpqJ#Lui1ab?+DIW2c(0>#Y0fUHSD9w+Unkfz2cdVK*-w5k81_A=Ttc|vQF z1gSKY?{*)l-q~vfEdtKdsWQmXoX&xJ=yOq6qW;?GJM;eVGuQ3CK9viMmiMXZ+KkQ4 z-k9~&MSKZ&l`X2b@jMMDCq|z|b%7Q;0HetVCFXvP6%X!!)T2Cr~(8L!u++k{vR>wAQ%fO9EO-pqTv|vRSAgyxv#Ia~J?hW+x1) z^N-)+nI8M$;_{w2qE8lUafYKBSgTdV%$P@D1fz$(#RS*ivYbFs(go1XjH65#B)Oh9 zCdrNoFt@(p!50D0@lntWdS5d)sVw!Nz%EA%4KHAr70_IbOhc(&^Zupv)(QbU*T>`- zX2~J+agA4`LJpZ{bB568k>|k4Y5S^tT*U>K{W7U0c+|r3EHOc!Ch$EuYbMB=inIz~ z20$#hbnB6W(Y~V>6DTl}HXo_bodo+86i$W*a<$TeF44Jd+R-j+?vmMCd1kkCs1T%JuvBQz0m%lXWLcYy<%?F z;$=`ksO2vnQxIaJNJY;s8oy$ca4B3aDn#hlG-o>UIW;RoBEFDE;De{UYw1 zVL-}slYECZk?b6=R}*3V;&A0O|15zXw0FFZRZ=N|vc&gGCr}*hq!W@$4!yi~tM>(H z)uK***Ds3hNv2Jg69qZ@T`1@MzMc2?ZFBc_duRKsefx`FZXf>c*V^;bjb1L@Wy%2g zo){ON0O&-ZXV!UCIY?H!52)bk_0EC<7fTl;>Nu*yxee!dL|*m3m;I+xD9US*IUlw+ zDPrhDXmhG6ltj-*OQ0yPLxvzO${s}8Z0TAuC(T(kp zya#}|mU#K8L-Fr$2{i5|q<4kSt(Eyc7HnRbSDZl62jpY6i9+0ZQK{)21oD>j2-#ms zpywMnqDS|mFmquYLZFC|>^2?L)i^pS0HTpFMGf5EI=^=B0gwGJ0gpiInv1yX!h zy%2`MtNxyq1WNi2E8$CiM?QhV;GVB;;`fU#hF{k0$!;(If4kkb+up|OZr46My_CBc zH|JB^o%;!t)?VJ6+6Ons_9K7wue9^sxxIXRznveS+Trlj4(EgDQlATXpcUNi5?Aop%q(-crDQ@WOB>pPlkEsQ zqJXXiCd&UP%1H=O%p|W%lQC1@*%CFX@JGMFN38TRIraY#k3c7@%t8;Vm!Uib{xthB z9JTIG?xfY0c(^uB_@_(@<5KdAgjy)T5G_Ip|0E7E6V*3-Y6ILKCuRfFKzp--MGckv zF}IL)!$VUt4~ZK!S2*!7NUkT#-bo>3m$&|VPs(KcVQqV12P*%1LWJCr zgzwgvrqgk?-FHqhPZjO=nLr6WIdPIH3JY%Rv98($$cXP(qB9WCi66_l!3rEz4#0cH z%jRF}Nr*UEIge}mEbLwonO{zz1c#EJwovGpy~#}Vs>|3WUu6i(LpolSB`ee=ei<=G zuHsgIAz}Q$lvLqI>vPhnc;0cQq?|D)yZgrMcP=7e-#m&pMCSe!5-3yqKzWYMPyE6c z`iV=k3+9L}BBG=71EYzsPIW_Qy)bHVVkCeid*7`6)}<`HClOSMDZozxNG*(@R2+h4 z?wrf)$cM$RQ4)nnBZLWtu+Qf`(!}RULSdRr# z2)@{XkdH75R(wfhBlA>AkYpu8h5nJgl8%2mtte?i-}Pj{!g%SORMEI&1Bt&|g#j*g zQU#)f6K7-MsOqP$aU9?h`M?sk54`*U_+n@M^hBZwC!6AgU2w3)+BVFR@&+GaPrzr{ zK2I1qyMiLVxQ!C`G@mU`^4in+TYm!Ui*vtKWLwL`jVeG z>F?Q|dmAGK&$s9si_7JCg9kp-KvIKSJ*}Zmfvnco9tji*$kB!f_EV4|rM-UB#zJEz zlc!9&*ekmMR=?>WG>%3Wu!Qxg3}|bxwFc-4tq+^V>*^M-JF5tI>13as(1Q#+w@4z# z9C2Ob-@Z(PyHfP^{IQ`ZgJLxPl%qL?4!A-iowtee%V|B&(;zu@@+d&oAf7m z#tIX{2Qdn{uN3q0z$x(*3L%og_IxII#Kg~>RZ40?u8og1(SS-WQj?zKVaG@VPX&bO zSx;4rb0TT8jitrNU{EofEb4!=mV3IO8SBK~7W4|+EaSY$R(0 z&*^}^0;IBE&u-i8J8!nf?ZNy}jMjNk6K4XrcEA%S>?|p>)(T(QIG@k}YbSpW)$8T7 zU;y}~H4XF)DtjFd=YI9NPjdX-)~>3as?^I4;qyMXxL2TmCz6LA@KqnpPHeb`X{_Ni zaDUBOQ6NEO089d*-1sJCo!%HgkMXalqzstIIw*)|`EvRb_@g#V#~CaA%{tCb@IYyE zKrQ>;hf*Djy8xBs~p!FfM1(cfh~vdP|5`uHg& z^1J<=sz6834$73<VhyLsknje>rzN}Ky4-fa_Lxmg?2Rgr zX);fM2J$>HuJNDD17Nq!OXrhjY_3n)A$nw3qsx3$>w=Hel>*3NW0E2zDh%`BxZ9=8 zO@jF?OFU0HUcU<&soL1JLee;(%aCmMvhdmAHqbJN6|GN9fQ@+7r^)dGs}u29Xl}_1 zm_(yU@>My-u1)rPu!dm)gl={ZSLPC%huPe)-}~0K`*ySMZq=^s@Av%{llF9alERbo z_RtRPsXacl_UC`so}?)39tB%Q2)11e(3!1q3!HR7-U^0{xKJSC&g_Gv6DaA+r4k&n2JC|P-#FZ+ z=ZxmN3t42#6Mka{-3LYpD+OBHf0&LxQuH**n5g3ug!oUel9`tP_=OL77iVWDRp5qfqSSRa%z{x-@6FH5^2|IzR?bM7U zcj#XRx0IEF>0~Azq|pBR>^Wv9Zucd#-c{bgJN#YNVF-S+yu~~0=sm1zCkY$Why2c* zWQ(#G4+4a%zsR;rq$bAdr7X7CDqmFydPGA0rYjt|>h!LMv*bQj1&fK0nCDWMVe zCbO|^vB@m^T*d#=_jPL4c9UeA9PcE4wl^S671InX-s3OW25((Rd;wjRx*X|Zbe}{2 zC{|T?-Z3mF3_1y$_&)RTzyzgjpvx`xpTD3}IBh=n`7eBZv)TTDm_FP5dF9_S2S$L2 zH`qcb;tn7#2moX2(e%tNTu7v3jbpzR1H;+E>DodMnjn{nESzxBKmy9p*q)Pesd|CA zd%95nV=$d6rx}hg!-Hf70PChkHrrXpZV2!WCup7o2t#iCuyEJI;tCl&Ob-?MT$zL5 z{hU>qFd)pr-2ctLCugM)9KbRk`RvZ4pT;0x0E%91&e-b0>32b)FVT-rkCfLYybv}o zz|*;uVX0=H&EZi#i7CQyQCp(l(TXNju`!cNm{-z4{&EZBiZ7`?e*q3@00xLd^JK>H zWY$nIx^nrZ$pexwa0kTMFvAY{>(y6%^>8XYn54CZzSomZJy4nHAxMA&6t<}6r&sMq z4qtEo_U-Srzjpl9c6)wm+w(y{seOBDyVFx^ZEu(L8q$fIBo_Eg=NYZ5Jn2DtL#t8I zuEr|p-Imz}X5#;tF?1sf0Koc{+KIaWl=R&yD|Csv&D9+=fb7O!bGxL;ANfD8I1l6v z{G)dkSdvF_Ayy24ms_9y zzE8V-+uS{GHxF;L{dwQs`#*XcuU`4M*LI9jHF<)|tE+NfD;efIiPFMrRyiGCKomep zEoeY?`tcY74VX)={xuz{yr325DsNiL3m{hi2IqF!kEr@k#(_GhWS2$4i8Y{>5*x$g z2m=8Yi`*CR$EQZ&A?VMB!RRF7Ggz7aSE*f9I;`2rOTGssgEUcCWOU(VlCK@bC}CXu zlwH5;WV7qR+EEi{o7NuQd8<7>^mcUM!ISW%!2Q-&zMr!&0B1VPz_jE;NPEGpRN{sS zF@T=m%g6Tp3mn7d8l?% z?yU)ZJ`XIYFoQOiPg;0l!sJ0tsK8Dpc1HEE!&y3_>tE6v3Ha;#N{I_fyo?oxs7BSH zkrLD4r~(lHi_ux$Z2JYd){kNV`p=k$+W`Y)XO)0r+pXo9hS^@hq5fFK(Goq#W`Q(x zKhK!3Km}^(JfV+(wLyC)x`Sp}M`E2C*Xc&qcO_aeUxBC6_u^uDS5uzYD)vu_Kg%dY zvQKOfPM;t_JXgZtkJ;Y%Ttsga0ItMES+7~FQNZbVrc}zxe32X{MJ*t&*$|wd;unP( z2Q$Z~)g7vew~hlrEA3drhpN@RqN$eeN0EJEdu0! zx!*2#bCgTucMrF1x4UVNkB{widTNK8Lwme?)qd!+Kh~cA;5+Summjvns}I}x_|%Ta zLpvX}XbUGuVZU&nLY$z}65j%R`$R=VI5y~D?zpXdfrcU5JUyWi^9R{0KojujWCgtf)7 zodp$}2wjU?1wE<$sv1?seLbgL{EwO9#Yxx{R+~`| z%t>uaB{gIs{ATifuH7#x%0a=;uxEf%Jtite{N)SkCRrgB>l_2<7x4`{DaH4jXrj^X zRq}1gF>d7(4UwZ2vB#P+e=C5Q+BWmGXNiQFZCvm%sy`pGxyq8Rf4s*LetmFXFkX$D zLfhHX6)0cyEBZHc+s1t1yhyd}A2e@!Z}Yid`1}8`wewH25>w*>#S>26(gvGNqvPKs zXk|lY8D@WE0um))X|`GAZ=5Viub%sj@(9+YN}2)@s`}-5vr^CjA^;wk1mjnS?ZR3B z+UsLu5=D*7m}QXWKC)%3-ETqf*WUxf-XPIQ=tvQWXQDe=cy=s#Z^0&h4# zbJ=5c7>aL}9JzuW(j!6BIe?w{Wegg44t-`7dW4a8{;&a;d2$|@tgVZ`F*>ETf#74? zZhwvx8@K}r83yfjow@(&I43(2zPf~Y@^5Kj@OrNv1ko zSFn?^q!a7=T*sh4`AnuK2Dy*Z??ZWh{BHY+r~kM8?6a@8PoKWh-hBMJi1O}ykR$hp z&5eR_?a{(nu}F7u5ljK+zH%tRD9g6dfU- z+r`KOuu7D(aXC3Lqqo>ANuo@+)Qqz0KDmP=Kn(!~*#+x?YZT??0R==O;G=&k36u`_ zQp>ZNIJM`NctYoH2_@0d5&X%jl=uV48n#BY5%cW2R;E@d(*%mXpXokz@MWuW0)_1# zdWv2QN+){Kb*;7HllAOw+WF?b?d~4hi)U}Q5B|kh+qb^><@S8{ydA7^d~bkS=;xmF z%#}56hvdBzu7OiNIQlEd3iUV+V9dZw9FZ4AVwKJogRLhB^hk0}pb!_q@gg54=w{%z ztuga>cT)AJx!NiVx{@r8lnF=H+U!{Zr2?%iqv#Q>IvMV*;YVKK9!5mv)OcB5c)>SSLY$p4;xGx2-r@A;GzA?{C`v<8QR1C8o9iyR`xprP338 z+IFBPP`V!Kd%NvN{U@x&fkREA2v-n);@O$3^}mS>NaZAbuM`F$@by5(f)8B4=vSj# zPw1%~FDEb9_i->pl?%1)82dQuNtRN8;;dkPdbt-uZC~+5E$;dI02%b#7H{%2e99R3S23!To^nRR`4dO5zv~nG9CB&b-JzD0|*`iuM@f=|1qpPN3DO+=ud~@Us-h zg@BJq`lZ+6KCUw^;`FVill5X0f(Fs9YTk>+g=dqE1!r_1ek3i`(6)?QS-0 zce`)*56|0&uU@v}{@7k_KWK0L*&l2l|MQ<}uMQtbV&(Ys*iQYzcxw+Od}Kb2_%+6B zo_mSgV}IqaU0A6(F_Gjat_E>DON1wFFkzWOgoe zl2i>P&UDM7c-*y2ml2tmaUz{opC;xBoOYj=_(2kllR`7-!X>}0sGAZO6tPtOz1%)yVxYMce*7O+t3M6OegyZm-T*s zUfDtARQE$qoyfmuMHp4ODS^WJquM07!XY^7YKyd)Bv9}k#I~$+8DG6N_7+{ZaL={a z^g_yraWB)j?oD0zrLo31$ll4=4g6O7o3#Elyaw~Xgw+1l zsF%^%R2OVwMPYEMCsAa?NI>jCoX8Y+*qB*ft~TUEVkE-_Z>E?dRcHCPWNysBcmB;0Fj z5p(4JSFH|+ik+kk?3d(-rOKW%rU@tIU^HRMpa#9*67F?rJvloaF|mqL93kd^V@&X` z(m2+U=Y&8ktfB6~m|W{B07pC%;Al=uQVXblB|b@O?Q%xJ!z`J|PJpV(Q`>Kz+Q(mg zqkU%go%VCLUuu8$@k{OD@Lj!7Ui7ZfWP57ce#xCE>izN(nAMN;Z zs#361GegiB{oz&K&??aqD4Vz!0BZ`(7fv7ZLIjX#2Q(&ugqLw=&Z1CZw_q$sAS%mS zPN2BOko}1J3N$ISTvemjSD43XZgeflobD*LBPMhIxuai_J(o>FC z{M1Bq@Kz4o!fdPcVtvLo2o+$7UkwO`o>c2c$w(+|I-%tWKw1Y=+)q>r5CNdYs{K+z zXC)=LmPD~JPUuaX^ooK>vmdeVUg5>I5JhC?w%K(cN)xg|iCt?qAA8YucfGpzEcpsO zsTvm|Yh`VpgjEfz@_wxZN==@qjj+2aCTcGdC{&?uI!^;x)8AG(sQXJT17SmK<1{dj zAKp*D;FiDwpRWbwiO=l5p)?+V^&*;Vg9XGhFv;yDsxU3U@dOGkww`P>>={mW3_yL2 zeY!7Dk_;T+$#!B({kz=G%lu9NGDfEXc=mQ?mO!beZ6-yqNV1U?9ZuwiU0pLzmioQ(sZvnqv|dw9Xl>RkcBOa8dOn`Os6 z=#^1wQoJX*Pj2- z+wGH|{o(d_df8q+e$aa2;PCWH?=*of0xdYkApOX)$MN-=PbszxC#WF!8pf%t^h$m! zCQ?0&!Xo{Wf}RLWb(8gd(9HT@O~kxj0tI>m^M~Fa6DSJ_E}McUYz;r)H7_yC0OndC zPNZ=?H~8Y5$dkp0S%p(Bz0PW-Q*BC$G)uajTK3BJl>S8e0u1d1)y zi;rmADh_seN6YDD;8n&Zt2l$%1iT}b10J(vt855G?&L4A&YjIQ$%q$*#`ym3WJ}Kf z_2zSb=LYuQ_0pK#>W_g~uzqx8lUq1*iAQ_hxfcHoNrB+2^Uk z&s)JHOQ1A_B1M3R<(V|)%qlX%m=~1uHSEUE1PvJ|8I+|d!RZ#Ur7f>d1sk9r_NML; ze7m)MU09yt({|LJg>m{kyeNHP4!Y+_fvc$s0+r11()Ynrh6ko2$pW2R33AQGAAqlk z0W_u_zMc{ZF*#Qv{R@%xj*|gNB9nK)o1H-;$Hr(D%s1C2fU+Z76Jo)1d5%!N*Co($ z0wrW_d7I4P#)*eQX*tzpf14&yCc0=hGu>V14cD6+cy6qujzu1-@t)8;A8qS%4iyY!zWrt}}g;$Xr-m3Tf`}z(|ByHPid)s!m5AF8$ zp}oC(vwis=|61FA<9lr{EsC^%wg9#rSh0QPHc>LQD-$T;7|$xjLqEc~RXe~=*DRok zBiwy_P9jzXuW_yMTGcVee@iZu?-d+tzbFzqloBWtJ19F}c`hYTbhdtJV##y4ZC@aCKCwAG`GSO)+AAOJ~3K~&Qx$9_qu1!Ni|SZk#oNC48akTS8Hd*Gfu=zvmMlfQkz^kHUUiu#oZP|~3mB*^72Zba z)V@XeQ2PJWOCFh7M8DEzd#IFaaI2FE6EF*U`mK%90^ znbtNNDEfg~tF*ds0>%B9zBgJ8>P6JJ{Hu^aTq~RMk_-*@MjW=D+s*Tvkr&z@m{##l z!2D_>U|$LlLLzM3v7A7e&jI=*CmEb0e9H<@j-;hB`1L=q@6|Mw);YRelptSyLou@A zubLdl2J+fmsnCe|ZvhtKp1C?cic9ofxt{*t?{C`O{=VHlduW@7oA&;2w zE^qE%l{T5ZqI$i`J-KS2=#t;+X5NY??PMYf5L5@)$;eAg1#{1U=|ZKuPiwK-9$1Jb zisyGOsr69XG2$=K^9hSE9v@Fm2J^=rs(fulDVe7dN@r*r#A^~>cRVIy2A@kWKw(Tu zLNr~+__N$fF+WTCpr0VNLNQfV2Fpt|-s}}tkW@ZOu?*Q0`MceXDAbw7X9Rvvb@GIt z05~IgBEQRBb@16(yP{xnwjii#^-a^yQgC73h&~W-`wKF%jc36wJbs}gXlHcmg(m<12c{MY#);*HGoa*A7(S%V&Q$1UQ|S#c2i z0Ezu`)>U;761Pg}(|Pmn$yYx2`Ct02b31?LQk6*nlY}2(Z|&v62XcfRHwY+Et_4_~ zsVQ4ng*roP%)Ay94ba<4B8LL=%8a({uD}tr=4zPPrrSJ3k&c=2*QLey2B@yAs zK=UNA!h5Z4CW4L==u!jJ8MuFi;DpE!lMo0waq&nmV>Wa&*}V1@bFet8ArWJ|nX#GXI{PYa*B0@i5{;1e9C$*i2FMM3x;psFTCY3gY3rJ}5AdH-hNC64`ZB_B`C zgCcVTI5*>aY4hlrLH{Hg|xL8Dpike=+&;9Wx(Y=kBpRHj7p8*mg=70Md~ z5P*-7jIacX>ss5Js)N+Sh-3dc14;_o98e7|L6-b2dx4tJvDtEkq=UTHV;&nvvhCzF zo8dsJtj~^j(uVs!(wb+bk}}I}*TLQ4i@v5QQ8PIallerLGK9hAksCUI9?X?g<>~4f zK-NMfosrZND2u_y$G9LTofB?q+%;GbSg!7}u`;)+`FxJ4yu4HgYZ(PWnH2kdOvovgsz zmq-aYnvL2R65;4^l^ute78lP3N%={10}VzGJxCIO_DA~f32)E%_llRZI$}F zO2@97k2mLb|MpvLbGK_pyPHYPV;_5~2Pcf~J4;Aw>^B-I!!zR(BcQyOlJG*0-lof* zjDUxnb5VQIwvvOQI#$?(Vi!4>G`-KUmh6EnklJpTd~=|$fgqw1SaEi3?$Vp+h)rG?i3;P@sn2p=ul zoLZn?S~G)W26`!D$Jf#x7!WxDGLfL0?2fF3_q4JL?77EV^7>l&K7z$!#ZdRr0XS>p zk-!;?FH!Yv>}GZc>OI@mOJIm_6(>-TRDsh}4JG|P+Hs{!>S%%IO?E>NmCM}LoBgad zD(`_iIb~n7j3WWAb3rf+qr-}5^0(=xmp{&ou-Sy=uV+0M&snQQF$wDPLSQbo@DekF zYHP#uXA=-uq8Fp6dfaaJ?QZwbZXWL2{>_K>;zvH#HXqx!?;O9`PKU>Kemb=C6Owl} zpU#ief^$e(2~9%QJR*~exT~$xXOos8Fwwzu#~@5+xh}^ka3PwI%zfvTmV}pN!I;=OAtMkD=JYMbG{ zn0}%gBgiEeIobq#|B1wxc*u5GM_vKem&iO#h}k;gE;{|TCkqhMJK@%qnCslxNxg-y z)_d^u{d6aX3>pPYUA}=8ReqnjD)Kife!%aG{$TlFjE!R<15NFuf3@>`B30RXc*(G@ zOKz7fhs4e7a-#3rw^=86Flz}vI%)X2Jm$|w0%f|^fe)6L>lz9y`>y;N!8lnzF0CzL zqxOFG_3-)R`z(_Y|C0Y~xRT0N*w*v;{M(=Y2Y>uo(MzBE{4f69bKCrP;1N-Y_EH>A z1n4#jDwG>BsMQq1@(8KTcU3&ffUj%#1&>yJ=wK!m8=mZt0PxILHrztImCD8dz;w(BF38$kC4nM^`F%D^7yQMTBD?)bdcME=2oNDv{4dkbWoF_(^O|Q# zC3m`0U{3tBIOce2g&mFS*w+%Fsu)!=j28ihDPV6lHp;4Bx9;<cYUTc5!fBt&gKb_kC7?6Ai2fT$B^cI5L z*`=O|;YT=IFi8toGp$+iWbl;Nop{uOvp(CnbahFA>0U$vW&WH4bhHi)Is@phJfbH) z*w&hEGma6eo4ymEnGB-d@n8uDX?N8L)DsRk!GH_kX?!Z0V4r}KNYSQAC28iL&HNml zTXhzL7_(C?xDSB+x{$Z-c7!CSi?&6#N?K0kO4fgnGO6RPwf*ylcJt=*c4!A}^JSHR zeSRmiy?t%Fu2TgV1qea&P2f}gJNz=$UfK&j5-8Xk_ut%rTRYwoNTdXcgYU}~z&K$7 zna^N@R{tva9=+l7GuAgAyyYfB{gKd_p|?4>m9gYez!R3BvcKuPx?bxeb-Qc#KzNmM zB$CXFRshd@;uK&n0P4K9%FEUFV!bi&Zr^`y=~)$HPe%1ik*%ei>sbRRW_olzfsz4j z)pVe9_%@LB-b;FHtVMPVJ0?lza)M-%M5!k{f*#8!P$XgKG(r@k`bhPT@eEa=YX54! zXGe8|V$urqWdGkRo5_3#I%?28JF0F z_X4&7Dsn-ORvXX$AMey97S*{=bgJ!X#Lrk`wv8Bnplx|EPV}%nyfn9~5-47jsP@di z!-E&#jeT)E#tBsYTL6(swmi}1US0U16uS&pR4Bw~{v`ZXixzyi$JUIgI5{E`zUm^b)TerHIzObEIT>jMa7vvQW~(^P<+Q{;Gx2w9RTRi>4- zbkV&^8*){Z`@Scv+P*!teS6*>+qKKMk5239Wh3?NGKDW7PZ zwY1VbmYq>L4m@N@L3u(i-Wz@_4$`@({R-Z(q?C>8C%Ftbma&kyfU0E2O_js^wL+8H z#47?~&;}>ol8&K*hdOu;z$d^>JF+{fK#v@M?muNOr+~mX=D_2{;etNJbBm5la*XtD zmhFD8m!IA|wC%Gu+l$jf`^G>0t@iZIKWX=;y#mT|8UP^FXvL}nJszD7r6})o#+*B9 zy6t3B@b$9QQyb4QFYN@=P<1L*^-rra;c!w*gfg!z`wHpRJ+4mVl3z0ayCo-W{b2{x zb|!!X^5G`~jLxtta{6Pv1+2`WI#ecuA^O;te%U)!qBCv4pU9l5_7Hi*-gc1E+0l}r znxi&*-pAgycIflI+qe6--fHc(C-JQ1j<=Pw;)U~35-6gs?6Sft2LN7WF2s5Y8upeA z=2@FgMq*4e&{0(R6} z87u>)vLBwz%$mjzF4_E*X4c|GT7e*8XgncF9-Zq>+S&A&t+!kQFc0=J`)u-=0!Us9 zY-M$pY?`qzaZzapsgkW#jtl?SPtahHNaRk^y!_C-qI*zb$`=?b?gpR>RjpmkRA0M) zyOq{YlDLw@tMU#K2g+l*F4xGmPikT30elX~NBt{o2>G3?4b&x1H&uL#Ef6^lUa!0h zd6*h*>=lwlGzV2TIl$LDMMe6GNQ^v>b;&)2xbvsP7kb}A1(Q{N!AT50%yh#5_{o^4 z9#$ET1WHUhe-CeSE?KO&*4?HPPOzOOuR4PIn*xkq{Lwq6G>MSoMzvE$bMixyEu6De z-k%b4XbwFW|JkfB&Q_P#=Q`7KbOJ?Q5^EZPE0bN(=P?#ea=I;dUnurSt=6%fc6&M1 zd$WJmcK3H}|NO4)e&DX%{lIN|y!l=`9zGNx>wMZv;?eJ1G`+>R5c5N_6CNDqHjrXF zjjtmXr8X>+wx5ty-BY^Xz=3A-GhDZf{3>)Y*;HGK!UEeR-fnwAe)3tl^XdXhx?N;7c%&Kq)STvvZ=D{UYUcF8Xk*ni427&RQX((T1@TJ;A>0 z`!n4_Mpf3T9LVpbfD4|uz7zLODs5(dc8oc8?8y30XNGr5;*WlOO}JCWfMR|p>{q&2 zU1*I&K+u^Bn1;lyI#&_@F2uprzXVK(x4@QZLPlc-iDGPQ)rezzC@<2252xH{)EG}? z$@}s_565X78=CNhTR#G_B!09LdjX>}M#L{td<#B$#S7p&ae@$g4E=PS0b)P0f1{V) zR{6@V==!)RkhMoCZUKJh$q2*oL|4LBG@4iM2&clSONhr_2`4hXG@r})d*NP`x}K5m z=?TV?H|JmZ(f|4DKNHrpwf2*L`K36vRe#Q`!wIoW0G@=^ws z(&aZ%1$!+MED@m!%sAeP*F^D)GJJ7%lan_2+yX*Tj0>keUP@P6By@E=1SRDI~rEIFC!8oXL%$DL$8a(Zb|<-Mw`twOJSccvEo zk#bLk_y)EvH!{}{4D(qus)kG390P!5{w8YjJ8c07bq1s$}#gYM5d zkg2;ICs0_n<{&PT%fVm4W7#j@zvDf^iqg9Kwr%$h?dkTRy?gt1d;hn;+P?F9zuz8? z9mKOcxxH{>0yEM*2wI)a+BjC>02UMg?7)H&VLPFTG!vsG9q57VcuFq6LK6k3k{Vtw zB%?O8#bkx|Kjs=$2NkYI5ESg*Fv8p zzOr@CX6bXs+HGzl2o==I0jBYU=?L}Z>{-z%uGYirw|k6^`%Sxf<5}B3+}d3zCe^Zs zkga3eNcCvfF$&%nw{o$X%Vk`)%_cQ%;Z->S70dVz6%&v<96|Hge%9BG*or`KC5ncy zw*5nO7$*@pfK5_rAOptmSQIax#B~Tb)f8iYs*j&_s}DyBA2rqXeIx(~jB`^@$&&gO zP<=?$DuHy_Y=ccv1Z`AtXzUPxY5?+c1q7cPVmqta8iO#@u|6S)$x$f;)ox{TwcR@is|XK{wgnk`A9J z-uW5}2;{N*ge}(a2ayXZ^vN&dL}DK}e6TRbkQ3Fl3czckDbye0IV*IdxJ)%<2mjCQ zxZg?4u-o0W-Q8W=Kf7=HkKMN0cW>J9{$)FyUdqWzsZyVuY|^m`kV^o4a#JU#yR7|$ zpR@*eDC5e$(fS=v0gX()JpqS14WVDd&M9s5_gM_xdCv8KpKK(3VY;S&*W(S;&*9|a z0_L&k3xh*v{6i-q`#vrDQEp43Ob`(K5wft9q?3e%WR|jqKxzGRN-#WL=|Huj= zvZI$sh{XvxA;z9Slgl$@kHQ#KrdbWPFTZ~EiA68~M_13g|_qD#rByrlu5^7hNy>^(2jb zC04hrBxYcFo~JopSMgMG0i#O(wGtKp)3Ok2iH*T zciP7ff7o`XS8Xd77mJzpo#mtmK!ggI;^BIifk>L4s?xSP%4T(Qk#Lwq1b%`9-+}X` zV}%Z4cgA0&@Q24kc3U_mY=G{NbhN5)eF64BC+|};V@Z@!eW&}_Cz6w8YyOJ!@StS7 zW>X*svZ((B1ZWk9G)D(mO_wt`sImJjyh#Iu9wGGB$^LvT{fqNy)a( zyG-AbRC2#*DVEC{)HbarF`}woRCrRuqfT(!2klRGrY2}W)&z(-zwZfv&8L^ z_iV!k*%Lh#e#$gHn4BUSR4==RFr5?qd|d)1DH0oHyaOe4fm6rJ8T}?Y1`WeN8)!06Hqo< zhLw50!QX2C44U_@2GNdeXtyJ$Kj<_l#U@~HJuzH(G$nOHzk6IfDWa+Kg&b-E#dMm@ z9qox`Ng60Trwq$yieUr5cbV_co~#uYl0ddJrJel`RLewXi9B2KxXQ)SZn?Zu`^e6R zda@8oP5x=zA$iYS>G-59+hFgc1d3x16Ge4t9$}|OKW1EiPN3A!)$h2RK+)a_ z;D-cvxR!P~;Azo`pJ1yfa>xmkf*rf-5GP0^TCSpR#Sa0*Z~TO8Uz>Civ4lGOGseM~ z$C*AekyCM`#25K`FrgaJqqrW0ZzDgi@oLCiJ%!Z2Rs89R-CvC@=*6?x08)~$a@J{3 zzmo)ts^;ulx=&f!noa#Zvbjrhb3US!nf{H6`iFby`sd>bR>n4LYyYDk`v-sUKj9ri z*ltOb|DpGTNlt)2IoH$$BV>&v1e4>1HUrV+)@q{@bO1Arz`d8U!2~9R!*mmm_26}M z?c$LdFz3vcZ7hS*SAyhRiQ=33rH^|%wlFn$DL43TgDiI!h862N^mA1p{ z+vj`CkJZcVbC5e9a48XI>OFXgDj#?x7R)sv{YXhMBBDCH0mzPu`nnTDb<-L2@%v5| zf~Wf3lt7`x3#{PfEu=ZKzjQ@1Wu8D`;|)J-C33L^UD_K5+g-1QQulb&&Q;tl$Z==m(OBwegd2R+?EN(;DVdkvlJZFmgG)e(9Hy*hkq z&3t3@H-E1J!g7kz9)Zk8-qVOEV6UBK=)plx7{Mtk33LRy;s1fJaC#-T@E7Ett_rvD=O4 z*X#G@K+jV^4~dt?zU86D%BdQH@nwwlofrqZO6^29k!?T{GGSj=6>If zyR%&=-+_7%7YT%}E=jZb{@KD-99rmcz4Igoj$@D=75)r(beN-_d^0j z_Bc+U%uYe*%5*$HxfoJ-z^%e%XYCeO)W;xKd z1v+8(<@=G=#?Jh$_E~7m zw$*hJ;)q%DGxKZM>a`QIMt85qUuX@sqHmYh=E=~Ak$BA?$69zw?n z8_${6Y_YYcVqep&oZco8Ku$NIm@Q%a6_^4s+6q~Oo>v*}dRu(JKuiO)3u90900B6Mu%cF2pg%B5}sk;I}C zDC7(J*mEFkstck2m^Y?6(-J7zw&$pZnYXYUuOKd*1f#SK!zojMV zrfs)-Q&)D^8Tr!s9V+adw&XX@YAK;^3&^zMqy%=+x!zAVGB%=qwNk| zA?!SYN;s$OO}NIBlc9E^#ciQ&epF{h*ECmd0B9~#bD5Hz#icv+f>C*0#hoOGCRUxrwQ&J#4F;{W?26r7 zQs%Uis4lulENW*nIXROZf%VomPSaZD0He`tYBvc^tSE!@q_kLAN zTpQSCEG>J?No=VQP;iSANz9&_sMcT={XJc*WgYf?{E-p~7A@O5^9HEfoLi#B6WTYM zB5wV+^r5bH#F$KEOMBYKrIY5^7!stFbx6{g<0&ugZOfEM@(oFl;ApDO!vi?^yy~rf zQljeaV17=@RJ}X93q@vvB#nKc+OkoHkP|2aOMNhc{X%%YN z$ECnld9u%P-!|L(cDTK7w|6hvv;78u8J%H?z%nDQyoYF>iEW60rK{94U4v z*+Y|q@Zf@<^|`nMCDFs%^sxOm9m?~a+Q9C&az$#^S2H@rX*QBKX|sp>4lJyhy>D^~ z#n)obCutEK6oILPiyRciPtV6*luQ$ck z)8w3i2VzLgAzJ{<7=Q|!r#eAhbD9uZqsqMvmf(ckN}D@tHCB{kvN@L6nYpUV36w&Z z|GyF_GH>!VkU$AyEP%D-tzSrN>FJa3q2zs@?5b9U!MVT*F8Ko6m$ZvGVqh1j$OuhX7r57RQZQq(WFiSv*G*HQ`u#2 zF!tJemp+@~jfJNfmx>rjCo%PJ&5qZ1*0>3LrT5bO=_XJ#Qs?q!=jz3~TSUg8=Zpr6 zGzBktt3~5WDiku!=nHe3QttG-q>rJu20wbH?|HDPJ&3r*$AjL0s-Xf+A&8x-Bki8s z;F14wmC=$wqqns*y?nvm$9vboxm?JyGLw=(kpcngQo$ipB%UuXB zVa69h$gmr#BYx$)IsX@E+m%>gZE~Oe{4f69?RoQ`w@v$u90K+EaqAgqn;0no12{EM zhFQ(k1d50t{I;IS?iCVz>0rp{Fl`~;yp3CW_HqIxoE?nGvt|XXS+o-58pb#9Y>AU% zgID@nmQ^AdqH@7O1JmB+M(Cjq09V${n1}ZViV6#Ks)Y&;(hczLFH^!CIr}>x4X7I zpW4mW-nP4TYM*%ecKbI@UvB^I?eDfv9^Pwj9{$AcpX##!0I6?xX}6#? z63BKuUPB?%#SW{7&XK!1kU-H>7x+<1c7sWdtgx^0urA5wMCZPGp*<-8FMq zxHkPTxlCTDwvs?$d!m#BC>fQORY&Pcqx#Wp3Qmh&eFq8~g5U(~_j93535*2W4vq; zON3^mN?xZx6ard0HZS;s>6i}B%6%p$xjg=9``GT@dApq+`bE8}Beo|k|LBb{jy;L8 zX>BL^-|V|>P5@?R`zJw=s?zavhW@!C9QsyWjBy?I0|2(o0U8vV-=HzQ@K>Bl$>t~9 zA1mPZnBB!m#Ke;dTXeI!sYDdJ^iUy7NDXLUaI zaEc2!=BK+iU29LCpP`mz^1qHdT9Imo3?-Z zrtLnyZ|7&{cG$jZ+f$D?#?!ohA`LpFEO)%WV{8#v6DUY{!T#u~``OPzw}>h$L;rWZ@Rn4h>7!>qwRv#(W?Q9`vz zG2m=$*X!B5kbi1Q(J>&%0gNrrqPK>O4hWUMvTiZ@ThS=|75z?S#9}E>cp~CB2g{Qk zH^~KV;y4>6P{d>?2&gj+ax&3zAZ2sFH{pGLyy`>dhweHXToiF^{d3*Z#c4~j^ylFq) z&YO>Iw9&ZwZ&bzRMvi9T`zz1KE7w|U_)+CT(B!O?*((^0U=|;m@svqeusmws(8h28 zIAcqGVg;f@uxT=BeEV{JCoy0Jzq0JugS=Ka=4H&0_6}RFNCz3bq6i~dq>Sheo%qqH!3R~Sqy);6-sQDbE(J;JMcnRC&D6Q6MyGq3r$^J_guyiqUdip#Uhgz&!Wvuweb)Hk3DU|Z=M33%E0oG#w$lSyoBv?!;3#D`BDL+ywUPosh~>WSe|aG4i_yzt!iv2eP3}r^63HnaK>^WvI{&8U;$28(RKbU z`G*;Ozmz?6Q~y|>)$CEHOLs~8vGTtDn|5r6^SQm+-io2V-JILq=~esG(|hf6+po8u zz5iPKq3?dN-S1wt)(%R;)2Zz&Fu>hATf{TWSg4DtR3k5prUSSE zkmF^Ngz2v!IfcyDlP#tQb?an+QrTa4Qb97Cx3y&glMbgTsX9Js3j)$3ppyy9`gQ8y zH(M2fd$v4Qfz6zWad&ssl$s}`9azeFDK-=tF+upR(?!Ikr zAKK0Ri}vP+oA#xD^iSIxPy5ym8Ze0EcUwuk!^o-I_HyYhFI@z{q8!pwzAm!^?&whh zC2{{ODdP_;oTek+LmyRX^y#6E9rG~<027^>c?Ss;o++GL*!&{IND$IH5xf*>F9{6) zf(b_{i<{|xtkmV7lBPZ_Dzu@*WSWcLy;ljEOU1=Y=m|GUGDKAmbN~S|q^ndikWfCi zr`@5oXSeP4?Kj$a*H5N&b=4CGDj)rTV5hKLBo7gRc+UI*R?Xl9N}yEQXWrAwg#Z;z zW8##B>sA9Wh)nory?|URRH1wG+vPoe(j}f!wXGH|xEROzY%GB6v}kmo40zB1_04M#rE*Y8Kr}?l!8rk`GjR%xU0}U z?%#GG1J+p9%#PX2V{vAhvW5(gq!>M#{C)s}l!wYmq1eVo*Ke=MtfWF8U$-kQzS$u1le*`LJ?_Y1d13+FXuHZ}x4w zyKOi34{iI#O}l&dS=+qT+Tr$PJGKwZpX=v(p)5Q~(KU)W(3r)yQ<9b;Rn`8)?hy|_ z*MknGcTKs2QORYrB(%4DH-JqBH+}AbOeY)werp3<^op!+nkVAC-`@(G+x zpv1E0N{T9qbt7q}_L(7;oDdCJGRm7TLThmuHowf~!8$);6i#HC_AmM#`>XN<*;~?i z&Tv*B;To9qbMOob|5y=TOw72*goLr&Me-I(G^)KZJJl%R!?_zo8ZB`LB}z&9S$Lrw zCOQ#%^Rk_A{&&|4f);O;e^q_$r?u>aDxDH5Mke?V@tPGB0Y6aPzx-3}meMlTHv6u# z6xs7o;-WxDkGj&p%@AYT{?H%?X|HQMos7fMT5VOlZT33%1B1N_z!qcT?kr1DtNAW+Iw|us-ljftXdwM1??}V~@?6*W-)!ge?`$^hA0JPf|MkcJmp}O5 eSGHe1`u_mz1y00jq#N4+0000PyA07*naRCr$8y;-mA%W)spYps3GAt??bDNz(9inbs-q7=!pE!lz*vVTACorH4vN@BN!yV4vYXvp@s;jH3hyU99 zUNYXq<=K0!9;&OWtE=nRRedTOKY#C!zW#U4=kvdRE#+^X%Iz!Ae%Fd8`s-9~ToDaPBV2<%=Q7lcv?cA=zMJpR z#HrFN{o?Pe4cE8!T#2FKQwv%~38(S&KQxY(SH9TocGW7{mNlWjcry5-lQ6Vlz4DOw z*^n)Tq`$~da1;I4S@V4K<5BL{DZzBftkln`!&~K#%%u^c0wI6b8F2Mmjj0tSvT}KWZ28CAIwc7vp;;_gG7y`!D_|5SN{rJyxt;J4t-JyS8(>EEX{3LSVMFDHm$|g%l#~}Jb=7Zap zMJ|0foshK9wO(Z$V{GT2sHQ$_6n;wG*cusZ=1teC8y~mnbQICu%4Scwmrw8$(g5zp zT2<#7gS@6|R)ey$TOM9Fw zl>x)?@y>j7Wo9xm>M!Gg+I)>2sLX`HnsI=-7>?81Qi*tWHk+q6(B93rZ*Ru99j5w$ zP0F+W%mgga0iEtx$O87zshUb?8_Fp3+MRIgb`rSH@ zdy4(tDFk;$V*@}+R>Q0mwjDx$ero(UpjMc789$(u+_+Lb6+56p^q<;8AhHuTPiV4^ zJRh3*rFH|ayY;I!J(eU%H9Tl!n(3w*C)2)U5?s6TRklsQr%vM;%hTPbJfuYz2AzlX?PUG9)MuQu9q zk}OhDfz=09eLTU}qjJ#o$)xvsq4ATMAD}H;mt(EZ=XYK{!Dke7s~)+B8W(HGd?vDp zWo3F_++a^{{Rn+G@HGqxSbV|j&$GDOdsT<%c}@Nj-BEp$Rf_7im+S}W30!J8wgkUk zI{@?JdB0<7qE-KB-DFfZ242fNhhDX%8h)=)~?R+qm+k z@ruUC| zI2rL&^uBy5N&XQh1#t?4X<~n7Q|-q_`dlZ6x1nfl_8mE!BRrX+RL?FwK}J6MW{4-JG^IcIO;71p}q!7D3}Q7k)sX>RBE} zDs8S1iDWVP@%ojj3(Z@a5!`7vfOfSta;BTMi7+c0Ijl;X?YyCDb`rW~t-sd0-?6#f zSY`ZGp~?b{&hk#-HUvI$RRylo%tM(OF&zC38DPA80ErF^6}az0B*bJ(lA885hu z6%wa(v%%_??RMh|a>)s&8gSLgH#Rs$uaIHSl5O%@`Bp!}mZ&GG*`OD?WmZ+>)9Wy2 zcqJ9-*noj`^0xM|q6{#VhLku6r z7q~suliKjZ?OYxhj9}EF+{#<7^K_y^)kSuFJv2R(b9s0?m)rTV(Em=S*X8xokIQGu zJLNY&^NsS`U;IJ&%BR0we&+Ina=yM>&Zk$Ul#4WWj*erPkT55qTVPudKr`KX*GnfY z;T$#Clbqo{Y}5dJSY8W9QiN&Lknfj&_j{J|+S__VI$fbrnURxLgl+Gq zX*-~%dZMg2J08;x_fn|teHX>=a#q+>gUt%$NlrJ$!x9dB(5;o^$_ zawcoOT;u!={Wl`&1yjFR%I7oJ;cRXi8*J1MY&#urbK1RA38dA6pJ!j zIw!q07Ee`btK`_CKash~w(-w&fM4fP$A`5CTDc1?%l~Nqx;M3MzLAg))<(lCozF%` zdYTT-X=V_BjG^p#hx%$gZ+t)0(+&i)HHyCdzHzTE^lLq=6I=Ijz7qhY(GhOEjp)RE z-K%gftG?XKzVP&tZA}geEzkUnpvSJQ66mxw7UV8YD|9nYnF1J@b*RpNsot+G5d}Sq zGFx!jO3zffC&;XbGhenJv_$}dINalzmfP0$1O&m{3dq1<0nDf0btjMhJjnG%=Y%2LT$7R{>ABE&5FV6QD$Z z90oK1RM3SUZkzfQ*&uL&{^l_$pu*#1&_zKS0#NkaF2KM=ff$)zYD>Tt8DBYHj4#4N zJ{cOY$K`nnbdJ;`%fJo;C;+GG$%3v+$y{NYWu6;zLZ?w=2YvSInH_(fI=-zMym z7IZ|FRrJGWl}<&8U&Dh9-n@{NE(F)#rDNGDdWULr0XfniwmF0%?h|y^{o4@MYsF%=1dIx6= z=c5r>Y4`cY$J1OwuXdRLhxN!60lZ$cyv&O|X6jb;cig%S$Zo0;-Vjf%ZD<)jfS@a`^d|#fX9j|9T8w};~uIfx-H^_jh=Bf zXgziU81nvT8M)}J%7rLj{yWp7YO6PL51%bGoH=00K2e$V=QtOT(X&7`WHf2rJtAr{ zdWBna`S#CCx&2rF>mUBsKOV6-wT%9wKl$cgzm&^=SxWhX>7m}YYPZng+;&J8uOFa` z`h7|fCO2qycgU{DW)7fuWq{2neul2aVH^A~PUvAIRblfdk2nBPu-0bdV4q9)$!;SD z1$ZJAfGP3@d*7anquuCQr+U8db^C3ZV9f)(X!{cdqK;!{NO~k2V`>$4TzuL)=#J4S zYJAEq6d7CX1M?r+Amw?+EuiY0@0UtDrq)3%-x;9LL{qfrc(Z8*K(E_W^!AD%^L0GZ zhRm}cE9R!sF_WVTzTgf3O1HeLMr7c?Kn6meUBr-&&`{$}L7=(R%fg!hD5B`03v|mi zneeI$#*LT%07MxoU-d>tp8#_rXPBp|KU&~P3_Nu{MI$9MW)Lygt<$;+D^S!z40d4i z<6wcAK@pw@iTMvhz-ZOmp$?2T9eS$(iU%)^UqPnZbsuGj3>;dcW2bU&bmR6{y%8rz z8aWPfgo@p)(3@l`B4+};`L-OxVywI5cAUr;9qpd3*Yb2emxtS9`Pl8<^6B^gpYqFZ zzEghhFPzG+{`_P4^uu?{<@UpJzP**cPM7jXcNR{U^1vVtWKS;$*j*f*q=p3qpk$w~ zSImo)=$uZ`%9!jmvFN=7c^Vp!XV8I__l_RdIfL~h;_5{XuAysOPO#d>ux^yy1%Q%~ zu+=t9|InYW`x3n0qGd6u_qO5b-)RHJ*>v1~-kscbhOFoF#UF(C8_$L_iWLFJ}e;jii5k zPqbnl1n?1ST>u!q@~ix={E!G2X^#L9Tx5f#&)*p+f+!#XV>)09&SLFPZkc;9Mdy?3 zcoj|&6^RD&KRJL>OL%{#SaK^Dvn~ndn_O;lcNb00M2!hCav9iTos~#2X>%RXouwee zx>V4v2NN6rL^!WbL77A=94((YsHdv=8D9cG;q$)Ed)!vc|DqRnz4QK_u3M1IXXLPN~YV&u-BTV(cfl>IFLXcm$he2Byu%-dq~i#nA#Npx>@Nij4CzXfM^~{nR}m z0$8xJdPhF=xB6+Zt`eZ*UVtv{#vSdthqV`aBe=AdDlbFp(yoNFH(G#F_ec+hXmntd z32$1-oXMyma`@f@C#vmuZ-8cO*xvb0>m>#8C3}Uuw&8Ylh*=tX@ge2qsr>2bcK%2I z>>qvgpT_SyO1}0#ef#g8uI0a};7lZbAkHz=uR}d0ZAt8~RT8o&>V)LZ3K&3`yejN6 zIp#=nGirhzHv`^GDplRW-;&POnJ-nU5jfvKYP3M7Fededuo${5%EgiRYl_yPzStYRHy?5#c#V&1Do(~nJwo#)xz=>?UlbZ(-K(Tgn z0Irco$A4_Z8GzD_?g|1LL5x6^y&Q`hg6&)&XOe(MWw%U}DIbNRx< zpEGcByS>YOUQQPVQ0VvT`BWZH=W@A~a?!1d0kv7whXt#wjexb@-YtPs&I#wY*=`(*fyB9PiYIkp3z*vPopSt@MOjTok8xNxBU-)8;Toyvgx*OQfIaV6 z9+2jO zGQdR#=ZEF2#ORXI82#s28Ra+sqrBu|p)5PI;2<82MQLJPh5Bwjo2gAwve}x7Jc)DM z)8;({8vmVcL+!XK03wBJKb+bL;0B+g+Vng1@|u(*$F~76yrpaUDUEo*5@610TjtP5 zdNGb(ziKKj;Wd|Mzo3FD3ML?37t(nNtpEum(nOs81Xf7223`K4=x0g&r62->01Ae1 zl!iu>=;zYDf-f%hms}(|m+KWEiA04+Bnkl~08j*6AzIMZl`lbQM95X5X8>?KYFaL_ z(`7sYpj_D9LKl_8xqTG%XkaFG+Q#qM~vubE!1* zj#>c}nJT$xY4f8g$5XjeP-K+SN`1s8t2MSYUW!#vPX$R-H~}bfU%omQ>m|#P3W>l< zo7Zlvcx23(es=3-&vCTWZqilju$FBoA7Avp?Knd3b|&K*gI<_qIY@wK51^QSIg~-b zHu8>NGumet46UK*`QN4G3YkJuKWExjo7&6NYiHlICTj+uNCIt9uhmD}11Qz6*k{71 z3~XgpwmRKULfR|T@v#thgmp3O zhqtBEfB4V-;cxtRzD#4meC?0E@po^h^MBiilZ_0mwmT6(6W8XZC(XI!P7BDqDeAf) zQUIl{4Y|FHwHU)7nc2E1XNP{Tfz(LcQPw?!g*WZu%)`s_$#J~xY}IJMI!O>#szTB~ zbOQLV&hVd!;MkCU4uH~c0MURB{bu2VY79dr8s|R`R2P@$hbn2@sK`@Fsq-F-)ovz* z)rNe1!Ko`tzjv547vJJpmFJht#y$e&!vIiP@B}`tn7`9Bt8Q%VMHn?frBG^fA$3w1 zlPP(vnkun@-07jGE>WN2u9cw*N~vbCexj_k@?YhtM$Cy15I4};^j%^CNt-QTC;1s` z^ux$F73C;v69PKl7TS&Mo=t=fSzySZzO5S>+fWCNZuqOtYGvBXn9gxrpJC`}zYcJ! z8}CJvbx{ciV>w+vkath$psLOY z!vGqipr7B5Ch{aY^G6nhlZly;anyS8<9Sw4o zR!nJJk(xH|D)G1nYxHp2cY--X9la0$U$0r`8+0^%&UmRe_NTnq=+E{sFK7B;*Y-r` zidV~tSJECg+uIY(MvAZb-y;(}QmC06HD-Qd!fx{IIeMToAa>U7Mu!>8!ogTfJRBe# zpFPhz(0g-Tucpl2uNsWS>Z>rtX?;OQ)&@88B173sQcIzQF4f`O9+PSdIXw(gxCPpr z1!tT{*20RcYN(FKFw~Kr7RRF~S4;y4iRA`Dh&r9KZ?XBglv>v3P!1>aif2+A{)F*1 zd}$9%tRal|a@Oj}paNv)hBcf-@ukrDuJkSdXpTe%T!jg9K|lPH2#xeBLXMA9kzBdn!teYg6j@s^o7 zlTD(Y?Xb746;<>Jz&R`9o1Fh!nj-iA~~&GR=040jE)A8cdgWR{5w`MZMYj^}c1VE&2J%JEi|4lpIzHsY4Zu_{v()c^z z=OAF&%Yg#;Er;qnEzPAwrX+P`)jdRq!<|G5oUI{i@F;-dv8k$H;gW8$D$zw&?_0H7 z+*KDn>CW8^Cj^Yg?}uiqFE|AtZ6fs-F8m*O5XB_pKmL<%{`Kqa{J&gzi^wE5G18*a zPaWVOg5C|$W!6|b-YAr^8Gzy!B!nO`Oq`!$Wx)};7lNVcV-U&F%VB4&nG;pkAdIQi z=_(w+V~QW~4(pFo;3H+*p=lH2wrL}4Tk2+;RCPZ42$Od6?dICX0$yWLVu1Q@XWNg* zAhgv8fVvPd{~RNnA8MFab$)ybuV`fO{_1Y9R^_)gSgJw-uk;E!x>ml7Wkwx%OHr!h zv>OvnsmmCUN-stR$-1n02Ej6*^iBj5EjEr?7zye`rcH+3VWt7GviXFe6^+V%e!5!- zjUig~28=fk45R=RO)WYd%lC z2%Q@NlsYySDaK-Eg5OJ0ax2LIEj`q5pgsX7c!P;sfiXq-nyXWXZZ6PKi$=#sUp~C) z;p=oQZ^~nN^Z0K0-1X1PU--*m-0a=SGq+=2jK@@ zL|DVrelV_s0hG+jYEeAzd*-j#=bb`z?K`Ei)GwQ4S^tyrCXY#(rNht@Iw0CxPSN^n zs<`#g%$qmJN6uw!Xq#_gkL~Iud+>JK(9cIJM4x>$_h|YmV6lxYM$37>!DseA!So{SacS^V(f#( zJ9e_s=??8d=ZY<(HccbaP8W7_=hfl{UD|x(SQ##fOg@k5kDW=I(e3v5)%x7&iporH zYi6`8>}9^~K4PMN5u1(r-P6VEH?bG9HX7R`&|oyVy&#oKPrUyf_4Koh<`F-KH%4c? z9MO?2O63ppg#ItKyVF)i%lO>JeXw&s>^IyDeJ*;pYDzf1J^koYL4sy0L*F<*yOW-R z9(jOYeFV9_cY=nI!m9!~0)XJwI?_o=-|VC^z(g)sA{|AsSHvFoifKpi6z6o*$XlzX|BDH&v`I9$rVZhen~`(R+<#VUR@W zMH(-O9MNbNPQ?Y@>sv7j2Jw3;`aOUl16lN%AxG=rk$I9A28LQdM0iYK%!5StAk7+2 zlQ^#d{z!C8J^RZ0Eh0w{MFD%{GxaQ(&{cWFZ=$aNs7M>FOv_TQpYaqoz+jYVDO-UJ zSJ%u^qR&SLIC=(=5kgwD3w%Ea&0pOXDxP zPw2+K^#;D#6U;|h-#Y+`jdu_M(np}=5g(Ff&F??%(x%$bO&JG{3@2mYJhpxsfCcNs z`LCkC*NeXccOVITTGlzQbJp%1&3eJyXag4IVRpx0kBJYjJ3FOsLmH1V+dB1ITc-nP z+}_=^)2%nz^RUa>ZmaeH^n&-l&J=&W$BLJm7)8H>2C_k~6H`)^; zc6PXEyI^~Gx)i(%CI+Gl4~>1Gta`j77Q~z}5!Z4%{SBn^GP3^upM3M5lyd$9Q6AY1 z)^-yx^CcM3VmPSNthsS5Qpy764}silTtwI)Mk&1V)KpQCj+AV#v_c9VzVXm5c5G_G zT13C~8`lG4F*;peVhAY+=cwx#YEKv7OOC1Jpq$FiMr zPY*MWpS|;0WFtE0K~tRHI!EpS_(ZG$C5cuqZ^ zE9eS;fCW)&q#NZW)*Q9|W`*+4zxCtWwaqac;G@x%%Y4Sg8fn#nI^0$8ZgYuhSc(;7|{IANJ>j&jRH$iT1 zIm+a8zLqm*3ZsT3!bMUSNX!eT^Wq2Ud)+Lo4m8@o_ z#Wyvar#mAD?s1^n{0ycCJl$#Aa&72bt?Zgvo1^dI=TiWButw>YY@`i0>#hA@a}8;A z&fy&%F`I*Y`g-2hTdiYWkF(TGcgRtfmw2fymgeiSg@$jz*^YH@jVyFUHwSKGT=CP( z#10?gyfJCZP8>Ui3bd8aX`6bdq)=zdw|&#HqHK=O)#uYO^)usO;)8>xC$+ zKdu|b(?vqW;cLGm9nk?EZjXpE*)*MnpfBu!ZVSom-LN@y;sHKR`ttg#dlyIR`E&Zv zj>-DSZS=Y{@qHHU6QWS;j1l{(>A~dj_R06n`zRtG+1bV3I5AM9y&%XJaFibUR{#`P z`t1YsWDg@+ql$<;ybiF$9R7GK1V9OA@)RBsfFkdWh~(F36)44VKL7wA07*naRC>8j zZxieIG@-3Vk7#|0MBxYQ0j}VYd5Ip8Itp&++bbM(q7fqk#7O!t>0dwxc~o8^V9JR= zo-5NVZ<|P3E=~`oAPJ3y-eaM5_)&W5gCk9ZkB?6Zbf|3&5QfeI05v2MM&Dntt5M(! zB3$6?l*j_E%XA{Wn6xLB2i{7>911TW>PRCNZFuo-)qCNx(_|+AH6bm9mBCz{q?;S^99D+ziODEj39!_SKfsS| z3(c8RJs$1%GqB4?(RlR1e;$2@qdK4yj%?B;{QFt-3DyIp+?H|q6z=1_W=22r-_C(x zc)d8sa^|cnF)M^WCNBez>G z%%&wp+Q9PqZ`R91UCgPW7xzZf23zmFNJ|)9Li5 z|MVYz_202tU;E>4{e#o#^j~|!6X%guVaZKs4xds1?2$w_EdSuNhDJ(sh=#%%+0{`m zGJ(i~+|aMi+jh)DfWWVW37b}5?K{E~6nQp1;f)Ox6&B+V?S+FbW55V>VUDuA!!7T5 zSfQ}H{Zw*8kW}^zsXXayk0@o9iWbV&jIaj4uB^Wy;Ju31+y8t%5vln z<|4;E5Z34Stl*NrjV8)r1X5KcyE1+t;Qe~3GP{s&8=Fa=tKgLw`pD@9KSoATr3ag# z$SmXuddH_-vxnNV+l0-qs>2B(p4B*7=aj|fq^n@14wPnHb4_VkKhR~dp(6%krD;b7 zyi6nXGSqXsIDobEfY6P;%6&A{bP?zl)V~Yl?-Ewt?pwM>Cp`v#daDn?lXASsBb&6D zUasY_e85MdGab^da-gC^+NUHhExm?s$J z*}R3hX{IggGyb~+#$l&Fj?^8=N3>~&AcpG3uDqMS7F}&8c13IReUgrDRlifr(a{hA zHps$c;cWF8UvlBS!;9^VVcd;k$F=A@L)i6AT)e;XG*?2Kwml`VwsVf>HW`O9{k-) z+B?}yaymaw6B_OSjCjZ%>}#IpsMGPc$?gP1RA&SCGJE3;(IV#b*|l-tiBO^%ov34L z)|k&suv!!gUU7BMsqLm@>xT`fg1dxHwwOnmTn1T*bBf3TpSDN0kNo0YD|gbRO{!%c z;7`=)*``Ah=aHN{$gVu|n|RVfoexuwoZg5)5-p?ep9mNtYk?iF)CR`lBO-9IRNKa* z>-;8&i&&{q6iBt=fDc5qaCv&SMEbP8`OOkZ8^-3414JqaLg0ly0I%N*&{H3ZM-+*? zZz6WIJpPN6T0|3pBo_uk=s&TWr40sG3~WIJ4II-#BahR-8>;$H9bf zgbneH0`Dtnyb>+DNdQa(AE@!y}VE{w7?bVBn;>50(kG&tHR%_FXWisb|7{W)tUpO#< zzEII**>MhM@So|n3vKOX-s<;-FHqC?CAMWd7L5i{ImTsI?`NuDiMv;)d*}=13Ad3%YMn~? zPyXp2{>DFMO276e-}>Ln?ey!JBI*DXRv6WI8G;ttSalrZ_N6mWrkc+i;hv$pM(Ike z*6&ASh@V%RFCGx80ovL6bwvh(cE%BT;DpqryJ?-$NgY%hp0|9i$$h?w4)U8|4ZSu! zYsRE1%n=Qm3(s>!Y+`lPCm7*!-l#EN!~=ugFZzHk&$-|XbqAoV9piHQ1knPs@<(Pt zWUh|W1B?b%9(0mKP$;8k$^WF1-vH`dEA2Q-s}sBXewhQ?J9Y3-=E_*}vaz!!+d);{ z`_GTJ6F1IQHbydRwUX7b22hkU?dCUp+|Q-(a!Ss?6udj7Q6K%(k9FCOtRvdwR37!{ zMDweUVqWM*!ehBo%B}0EoUZ5cs(h^6_!0TH<#N50*SE*=@!Jo}r*2;_zw|Tjl;8g4 zQhxPw@0ZV%ua{S+_sW?bq<>2fbxDq922k{N@ktNMf)ms`hx};$OGlW@oLbDN6@W5S z^7)kPFu&0qp?wzh12@>C9%5NqIS&V8vbI>!J3W7Z2Y&ok4VGMFPHZ=m=>X)&NuqTs z&By~k{hrmx*=+u2li66it{`~lKFa9x^TvDS#+);Iv@!3fOnIL0x}n4Uk}wztNqQT^aAQI*I8!KA^P2_4`n^C+Xq1UYAxn zr(;R%m1dg4{LjP)j={*DrcP+Uv#Qfe6Clw!%q*le6OPUv@OlW2&v;3I8d5tVrOERQ z?diCt>&%aRr7Ya{qiCaMeIS(tRLiV=e3#5^(-(M9O{%J9vo_lHyz^L8c&&q!On%$I zWj;80BxM(rgw!?XIaidM{dG$ddL_C+>Ir}%edDCZkHDLWBtU}!CVZaJbXq2U5)D$z zQ~*W56}*>15hU(A0v0SiR*i;{R9$!jL;#VR&PzcPu8Z_o06HYPgv!gq^)*_9ewT<8 zr1X`3U zOtMLt=}>hIkA_7Ujfy-smkHH=gMUxXco{f9Yu@?-|HqPWLM%x{wDL$`u)-EtMS5Q z^$iUkm{-D=X~*3CiPYc3)8PDzPL3*&DBp7qj^Gnzz%KYGvC_L}5`RAN+xF&!=1%_2 z%5H7)jA8A{s%`EgFc|4hyV3e%6`7cX27;_ifj}~Nie9VLT;}wEOga@n zvGa-gFl#0iy|k)>&8=wp)bzRX%MU@4tjlF)n5?EnwNV35RP)DjTt1X7<@V42*&qJq zS5JTMkG}qQPN&QNkU4^Qb8zWvG?-}1;ns-`((sse9p7M=y1W%u<8mO2JIZ}ujN6jq zwh@j51+^oU7|*&+?N{sY461>-9L#<{Xlln<9=lBuO?5abXxF?)uq0dX$>yS)oZEUw zI7`P4Ai&e&4*2m9@Y2rDjX|0M@4%;x%F{LAoIQHu%8n2Nr}(JH-8HpauIUE~u`!HV zIj_pf?c$t2Gf&-D+xL#xe7!_KxCPgC*I4aw#|XTCW>M3x>Dbzc<}rXGh7EQFslUU|msxWu=rtH*lur~(4k+B^&OQ!XFas_|BDG{ssOago-;=pc!4tHlH*uT3 z^}C@=&=+Cf@@3(?ZFnVV1G8?LC9q?ba=QTs9_pBksS*5K?V)x{A^~?2g8fGw@4bBx zz=GIRtQ(!x#Lt~|JJn?wf8zXxG9&q4(ZZ_0y@uU1+oy5qflN$1HVGAit@XHCT=#rG zlbdcbYX?zZb5Va<*2B8Vw9jh-502->fcEXRgmJieXS+e^XwD!zdUzhpnMRAL&5Q6GI*aD*O>S3m?HjesW-X(ACNm0ypVx(g54OY}#5!-WAB z?n}WED=%Y`fE7uF`>1b@Jn?Jp!mB4ljBwTxtph*?Z@M@S5sy(LT7a7|pLFcRC>2tK{xKge=|h>=Vb zJV;V~!;qPEDTOykpR3jZ)Su!V{Pv0 zLPqe}NM>v+^_Nmsmxp{~-ChpBNB0-3Q+Ma0*-b-VusHA{taatygb`i1w+b8;kbd#f zQbdV=pT_y7J%A$qTet=gGw7+S{sbbarYjWN!AH8}=5XBiRbMKClv>_N>bo|=M8+p9 zN-`6<`sZu;_fCKRPrm)1-)^`6ECWzlbXp(l3Q7Z0F;gDx?NCgMlIV;)?>MbD>i1?l zqNpE+W3#piXEkUW(dc(kziEw))|T#?+DbO?ps>^YiBR?}pXc+lzo6#xtzlJ-M$SU~ z^ZpCv}HDIOm1VIzMqOjNZbjbdCTNuW0=VGOFeEy7ZgBZM*|OZ)fgycr0b|Eo5AO zT)uLkT?a((nIbS!pkxA|zHSh}-zz_R{lCgrzwmDPYhU@G{KCiIEg!pnue>HLaHV^4p10Hj9eU}J`U^+6 z$d6=-#?_9RZ(9=)aJiM9^Lp9qW*CglO00@d`;YRQ@mI@?&P8&fNt_Fz0xQfxM97iH z-)#(;?Cy+5_e-82I59v!LZKs1_g7OrK!zK^T@zU!;PqgQ9bKvzBCn$X5H?bt!=)C8 z7}E4YWAHj7ZE~ld!F*;XJnH-HMLVmP(MJtF`E z(IF49s}o*7m&g`z>RUN=)LVoKJMA?E7)O!7Cf4^r*pyJf0?{DWpG3Yq63D>-3eAh8 z+Y*4IMydcP5zCv(N;w8fv^=Lb{?+8fFJ%0QRI^kzb*; z&ClOD*?ECC3)gOk!(?FKt)}YQx-4qWcsv zKL9`)6*1AP*`>af-zEEgRj1dYUf;;R?g1W2JtsfA0E&u7*Ok8=9|16@-B_a7X${%4 zt=~ri^z>MV*`xBwL+>a*_2DG`4)fJGpQHzWkiM&lO3`5DMg(Abs~%5fzuU6m=&pLc z#WWBRSl`O>?b=u;kIyfy7#&0f5LPwXOW-SDaeH3+6TX2;DzGVGEad|;0dpo(QiCd5 zFl=N)U_#|zWD*e~Jb8) zD!2cF0F-}nyOlqHGVqFmevg7SQbx}QP%0YRAgpUSY!ungy*)WE$Q$ud~Tc3jZ+5dj#xWP6h#(lp@_fG#Yk5~Qdt|^+M-Lfqg#Kgx<29a0_?WY@Ym-7Qh zn!LJxP~Mcs@~V7LKK}Tv@`X3=l;8c;Yx(LgzE?i^_WvyBr?=(d^uP~j^0DcmlELnn3#OVdRX|ZRe8b!-j;T-G*LwgMIbRiPaB%IcLh;37^fIwiU;`JB8C>J4gDF z_ICJxq&*n7qdL{XtfK)9qdFtUE!UgKMK?A?d8_~w7kLUJoKK(r^re>$Jk28~y(oSt z)UYNuqZd%i?H~Q+qC`MEO{*JjJF<|Vw+|4%@4EGhi?WdxXChI-rZYmb)28yxF2_f zBgIz~3XMupr?=ZY90=y-h6_|jc2%D~i4AV6s%j4DnYy!@^Acr13LbBlEl~P~AEaLJ zY9Al3558l0%0vo)BJYvF2`j0&e3~c)EVM5MOPXkudZ~c1VE8T?3E6C)El;W1!pAkMMTGdA6;kinb0AR-lI(cIr#eq zP*K1N0Ez)xwY>CI!4{K8yo17~h0sm!ui(ea;EwNr_t>FJ}Dx96+h-5K%^W z6IaF%&xEP7SKmz;0Sc+ZT00)m-B}-+zNpQLBaQ6vbzgngbuX%})nl5auK`uOZp!*0 z$FZt`=Ia?y(EuuZxl!nPqRWEr?Xirv;*W*?6z@vo@b><;1l@@;JDR`#^EzwYyhaem z&Y8OLIo%AOA>MldKxtcoPD|xqwGS}%y2XplFZ0%3R-VbtN~WT$$MxRJ!T4?LCu zD?n>1+b)&as2uCVh5g}AP9|BnRKUVr8>l7%BCG_u)`VJE`68FjCbV(86rAzuzx9n$PCp+R3xV~{Z|^Ma%1?6@`a?1p z-7>=%=N_KlS9nmM#~yE&_OqyoRnNN)z&LJOVrH0m<)1A$zV&Rv+4HPlSofqCt39us z)HB{>HdY1LVT|LRv3n6lv2>vGv|U`pu&Y|hYP_NTPv zyk)u4gTvYbK&{^ipm69kVHgB-$el4tvn2=0SMvF_l#iX?DG%k_n`uN@Q`uvuoQ_9nY-#Ve2-`Db%qi*D&Ea9zmgY1E=E#)l(Cvq60$P{@K z1>f0Sq{&2Kj=bYy@H{2K`v-vbjkkJRh@l#szc`U-&L#CP{v$0QfDDzgw)y&r_;_Lu@reikr(MX-o zx^w%_0jeNe<0=h+;^t)pRzP6*%c(;SXUWcQ7CJzgsZ3{Gs zd#aNwTU+ScJ@TCD6;EqSFXossH4oNys^}QEFg2Bw^gx$E;Ham+@xXhwHXz%f&knTn z-%kJ(?%$=D13PT!kp^woWJL5LA_?U9-qOYtYcsguBtAkfXxAp%ogLr&HMLdeC1yaV zWndm^lm#3~%yt=+Y`X#q$aJVq_aKPA^MQyHDJSFM&+vu{zvrP5Da=1aYt*s=2>5qS zL=|Y9bbbE>ZC@39QLw=tlJ@}0O`}pYeX@W9^5{H36r>wN`Y(Vmcu*cu8v=4rdM~tr zNEZQ`IJ!h5Y1+seeQ=)ba{-VL-NIU)0SDm+^H|?I0Y5N)0YBs+V??#oT>_vHPSJW6 zaND(r9l?ClBgXKVp%be(JFKPl5u;+Y77Ji?w~bidrb5Kx7qE*Ri~I5SK4n# z&mYc%ne%q!r1$zbUZU>)4*SN+X&g7Om-1Icy84Y0Yf4l3xQkj0rfM3b$`eWL6?x(R z_BZcM51EOVPwFh~7i%i6rn*HZp5@c+JH}(DXGhNYp>M6(zD2j+?18AjJtxY|d};se zhrtSQ?bhR3{jie{06n(FM!vauOSUoqU)~p#$rOKS#5}{dA9U_=h$DuZX`7f<9_I21GyS`*C zZ!)Kgh2Po|AZ_%M11LkK`_0qe`=f8set14I8I%4egjL6!>~UE5I3v!5;zbd;R@EII zj_5tl)X@pRf8H;4R>qn(XFQ>@L5sgd4YMY7S2DQN;wbdWm>uJ2hRP|OfL)_>eE z>PDj+2YT$#^K4uZ=mR2M73ahXNgB*}F?Yz%PK1N`67AC6_?*o{`(1VDb5lyfk#)TX zG8~nparsJr%P+4Vj`cR-yE7mr>hoB4!6?aiZN`EbIvndzQ_E?OoPw>B>m50r$(l4? zx30|KXooDeLu^x0#EoQ0G85RJGmCI`)P zd2@OyZ>~QopS}HA`SNGJUw-||=kjZxe!qPF`mJ&+@A11Pr`xq$P8Z3@WkhhUJ7X00 zeJTvn$mtU_%i)b5j&A^z$+*3PEwX;fuc0L)G)=djtS(N0rWAC%o`^_L>_@GAo9JFf zytMUP84MWCJg>B-q6Fz!$Xi3_>bClzt!mY84`;m!AXlLzPg{tZK#`rrHR~7$>&D_; zQHuHUyj$rb$XV4o*2_@d!+e^P$M@D(WXXq}_hlyM!SvYB=cYqZ_K2{E-_JN zFz>$pzz~?Ov049{`lwkFzRm(9b9<)gSL3%`w{LdToU?I~+?v=~)?53RE9CY1Y^sNL z*@~!WFNg72yV*W9YkRP-H6LRi^-IgO$$hWr_c|=-ON-EOI$#P|Wb&!)LzmcMMPKpz z5xuxzs5+@>2l`g5H~RtaJ3tO)9Dvezd`Ef>?_hcb6Wgl&GdEaIBArvU?>Y_P_7o3} zFqbr~6zU*&v2G(3bb(_?ocOR}sb77!5$|g#2x6(Enn&eTn|lDo9&cBtzrBrueiQ_8 z?Q;4nq~daq&P)0$jqG3mMpJ8D37kQyECMIwBrbpkK$iMBM~*0nA<;01Xpx8#d2n9a zCcs5OB1_?=^+gLxM2Y+>pb=6eAyUUbDo>`nfD;-$!{ZdWL3wIdK$RN(Vjzl|GibBM zvm+{nzz~sVxiken*PWK>*2oz4;W&Q~{>Hm2_!|ITOkpIlrA}$L2jQ9-_oX@cZP&<_ z0f0Ai{8mZlvzr5anyd-BPK=I5SJ!pZY8ZEGyaOg%WgoWzSvvzA3l(GE`^_OSE}TwW zZ8zSxVHQ`&fY~ZA)$NvM%4OqG{cKSYs^|PW8^&)3Z1fil>z)M->ZJ*CY{84lI(J-k z+PKP4uE{GeGxk>ij6ie0-(mpklv&cI{{M;6{)zacu6Foc^p2c+RajJ z*bO|S3Im1I7tfOE6#0hfYW7kgR=_AQuU?R&HtIVb@;P)!hxBRZ;yrBr+AM#1RRQ(T zPVL*RclFH}%{DN|RL0>}U)ZHFG-6-Z6;gFoX7|MQYH$Ub9M`ImcNL$gkz0)nvhbg- zr?36-xA&;%={oeuQRnQ@@`s4oEIe{vXO8QtUPg@vBNKuEu;>+!x|< zpoLXM;Q|;DzDu!-ZCm~7(EduM7BL^Ewr^Q*J6+n@Q z4|=$rA86;pjE1%Ad7eUhX{FG;wae{o`S|s_zKJa`Ul@8gQva|aR17>x%T5YpfJ3}F4XxbZILnmR)MJht7JmH&HI=Qff&3iC9 z1clGJDbM2oW?1nZkV8zm;ZJshn!OqRjfpJ*RWKuz6-##90QhT8&&jyCmGFHwwtK*n zX08_F^hc1W!N_70W_AR2q)md7XiO%uPM;kw-$wFh{CK7JLF*|WP+^g6D5e;uc zJs&C3vC#7*{LVBa{n@&i%tx%2o+vf#Sd7k!%|a(Ir*^{4U>J}5uFr8-P7Ob_hc{0^aM|%+J62@d$y#e>lhJ1 z3CqH5(cZDA0K|~nPKHdc1!8y)yrfMdMHOofvn!*=tKQZ%M_M{>uur`nf;$j<0BEZ; zW^ZfSXDVg@MbNSjWNf}Oz(Z`OrX56XsO`Y!2vWte1&i_m1W4Bc7$H&uAPn9Gu{Toy z*6;-*M64h}Ljj;OMUZHEFD)bW3FMIXQyAdj_e<~?yMPD+jF2rZ?*Wq2l+$6cGoIQN zphTi1dBW&oRo$l88A)R|e7jv6 z4ER*bS}Yb$bKYNGlcFp<{4b><(;H;AcB)#`ez-VvrE|8LW0vMj9D{ZryIWhTgG}wV z3aC9+%=L2S!{{&R$y&{B;dfh(>wMJCeH%rs6=`lS<$B(T(^X`qJ_zqU0a(?&cR+wv z@owGfl$qL6aL^6LJJOr64=xoO$fIpkP@;{7@D5{$TLbp_xv?vc+D6m2$ZDLIhVG$# z+|OD^mm7yH1&L@8$G!puUO3|sOfy;dp2TNV3*t!RK?AJUdf8F|2WJDuRj|Cgyz%Br z3Ve8gWpW-hnN|I=vsOIKW~Ihss!zo>S!iNzxylMyWoA+8=QM`a^(Ng_eb_A;(4+c0 zl0GI^d?4Nw2e4)#Gu$3p?B~TG?QvLzGs#+~l5vJY*>k zyAycwRu3T;W{=)WJIOtt)A<#r+4|V^-SV^V{~zVoKlk182fubLKljNG%ER@$<#PLB zxo|%KtK2+)7~qKkCbolP#UB?i15i*E2cxlGu}%&>bFj0ZX9KZg^wmg5FM+F*eB zI3|7Kuo-WltpJoQ8A8OF`v(Ci|VsMcA;R;e;diJUDSzs+S4}R9eWZ&6sk1? zSycMq)QvJb0#G!KhiqA7AG?R+Rj+qjn6-_!1md7QP0l;b^)SY&mvR6_We+L0m_WBx zVLvyFvdX2Uk8*P+QX_rJc>oihXi&C&7hCIZ$gjS3%_Lk5PicSjXF%} zD*=Ao8!yg%O~8Z%98v#>wh>vA_e^9S?Xh|no#La-;DD3UiarJ(zzI3$DqzB6aZ&K; z)=`C!=scYT01=6DPIljq?lFe9*xL{4EMD%TQ7_c}XU7q{(r`Gp`+s>nYH#>+{m2>b zKlk-e*Za-NSWOkEsr>c2#!SlVMyb#I}jxc zgbkp~h~KfF9<*u4{37zBm%cDIVlC|>JP!leMwA7Cn;ma7S~2pf`i}ebThtG|OM`wp znIGzAB`u1 zBy*wm#{5wsxo?zNt!#rkHIMrCw8^-3-l?eu15oBQ<=&v~74}L|%-VlB041BR(LrE6 z;(yahu)<%YXIqW=K9FwJ>T|ze&9Sa&8~a{Ltmje{>kI!CY}5naxQ`9z#h|ikP2LzO zRTdow_`so?l-$O-l_v@nb`J9gdS{Z_yuK~3%VYWU^?T*#FW)ME^-J%T-~Oe?^10K$ zDyOG+%b6a0*Ta!Sbm=XuhMs&woO?+d6Qur;Ixr?qm%|f>gZiS)<)J8{pV@$uIO3Qc zZ{Tz^2hbhk@~rkiN5i*)7s&4^tMMImet{jccDtoJk{b_TXu}QIlZ`L5g|Uh^#ZA_L zH~j)`Jw7%*wmx#Hi@=X{H3OZJD3ql$)s0~^oH*u2<`Q<;ncm57>+y1HH0#vKawFDS zwyS~OALSRFrR zpvSPi>g;JRJ5F@haEa~cJ5<(wGkpR*%QPplfI5w?JfH#^wnKl6bk1mwj_!&6y$_5_ zX}0mS&VoAxx;nts@z|;|B)b9cqps@|xO?Nmt!E}|!2Is;Eaw=Jt$4B(|~3jn*kzTP6Nml*Bg<|-Bz0Gc?bYXw%@JxoWXo`XT*e8%*vSz%XcjOC zX}=I%qF@f9MdZB{`j4Vs6adjk98M*Mhv{9~H2^4*GOWIPBcB6A(Fk?|eu!p$Cxz*z zGXxHQBYOeTBiU+r(9pQz{cPoqZ5u#7n8gOs3u;vK5Q69MO zA5#{;P^)8D+l7a)QA9{lKa_M--~DL<6Gd;w2m`O1A+MRfUYX%LIzIYTMxez@INMkB zG`=ib_)<&!33+r-H}7~K1s(cr!uEW`n}`abBA0;<7rCfEOCOf@Cqt+;eZ35Hnej(R zgFdbPnJUA|C$|Px0E(Q=!_UzE%Bf4iBmnZ0$WKIv0mHAa!PbSQ}<&ZsTuSTKoUp8h*l>$T@fGkRz(|c+0^+@X0?vr0Vs&N zs&~Ld_X)rlTHz=o04UgVp%X_JJVfUn{%QQzZS7{>92p-OfMQHLJgT4O3bKv%+2f+| zT*okT#>+;yik66nuR8?g1z4JGfGYsSciU}@-f^yvyGkEBH|9J~sF$CHG+2=)Y(#D| zayKqsU`qatY~rUMM12XitE`w&J4uuC65S2j@N0VRw|brqdOAIo4=!)ZCmtWltLvq_ zJw22ggC0+%++It%uJillfpYiWN_p@6z(yQJqFl+5p9zSWcO13zRU?IJvSM_2CLIQ9<77oL!VhNSg=K_lKBor~cdO!&4nZ=N>^QAg=)H)8o~ z)rO~YWNi=Im;esmL14cp{A$|PKN`_Q9WQH%-1)(#(=wpdylIPQrpSXvc2`V}YYF8e z!?6Z@d;T+|B2rz(%DlIWc2=&lTwNsBs{dmxcgqr{Qr3(OdBw|^jwz9kXOP)eU8Emm zcDYEZPWKJg-)e{*{ZwHi+AgiB_ zu%^mt%e7n3tWT*o$0TKJ?Kw1_8@(f@(h{B8h$gW&S9oghriMONubBr#w2*R3(s@Ze zapEKD2yP_2S;BQRf`jR{N8J_6Ls~98w65vB05(W82_9Nku!Xb*XU3$yCDj*!B?5X# z3O2lNB9FW4n<5sqqF{}^bJD&|QlnK6xp6K}N;iQJPgiMAqC)ghdj0--)o2&`+((XR z3N%h71|Wq%8NGRK5jTkTap{$iHVhF-lJ*Sd4?r1>M4^bE0B*@{swvSl0!0841sGja zkWQ;=<5m{quFek|2fq)q-?p%Jt=9{;t_)o^Q&6w&&b3|zdi1@?2*LzA6i)EoY5y{p z`!YY62T{hr$;kMupYQt&q)r5HKpQk}YjQLb)4dByb&-;dRio+x?I~>ZXHHK|mj!zj ztkF}!?zT}nkpReHW?s;1{T!-xnVFZtv;^1&z=2X|v(wusmkQa|S^M`L>VBaE%Kd@k zfN-ph?80osql_jnk5xIPBCHoHX%1NX^1Dd_TGw}M>fVO_>U_3oRO?$qZK@~cjjr)H z)^2_VV2$5l(=FRMZ5mFy$PTp8fNBBg=}aD#X}OOvG!}*ifM2l&+6Ew4WC^<1|3V`{ zs!L>Z5lM@n^AQVVr);E00G@g^m%-|vbPBKIxBGX7{$ZDacsiwFI4#)T3)%=}KSnL} z>6gcGfj-vXk<#-NUU^H|L7?*W>;RN}Q}z5X_0Zf3`N_#xD<|Ueror6x=n8V6oiQ#z$4DU319dy4yS5&U!lC7!aWd6xLvTdZe3Z zqTT4s&LjqbLiQuEX>v`bfY@{;aE?=P9Gy@VvMSoTq13{ z4DEH>ozm1essqhCWOJ2C!5yGuSbf!Q_PsYd;~1wxk&Gj8SlQN;^v$Pt>ccTRj(^J2 zg+rNH?e@lwx2y5`x&!&7HizPk_E8u5Y@<%rXw#3{KwaM}Aq+Hm1Y2)q*RC_02Tq*W z&&IwoBdu9)gM$3AemA`lzv96$b(t<%UN$oj;Z7Px>))crMzkZUFUp)NKk^B6O~!er zzuhs9|MZ`A8&_N2i$DLaZABfsTI=c1LnFpNM6LLACT?#q`El}O^5xqc5#`GSy=NZv z!I^1C$2U3=1D~{)u7{|PeKg7HJQu%Dbi2(fcrF@t1uD{EqTrQ96ih zskeWdqD+2!p0*X>roTFM+PTLq;_CQtwh!x9eT3KA%Ih0V3}Ez^XAD4rL*CO(mw}XM zj&5K_zu3CyU$!dnPX6U|RGg+tzz%>e0t_LtMCkZoqPg7;USzjf?jTs*Eb=m*x~_bP4(sUue@=KsE5`rC9$BiLEaa_YRkRt zfT$;4J$5P2t)*sNRf?K6aYoQ;)xCKfK=F=af7S-jarFG1JI!StG9OU}sQ5NAzgz{W z+>C`NJmGJvTUkyN{o-vMljF8K$b`WU$yP?~vYc)0Nq+0r$biNi>-E2n5^4N1?jkcT zz58@=B8{+V1Y{5pYHYi8^JQj6%^Mc$FJ(fyttsD}UGAOqRd>6{Ed>H>u3$D{iTHGP z5~`)LRmUjP4qFT3A4E}TwFp{xj;+Rv8O+!`Z5K*FMgU62la+i!eT#0D`36wutx=th zWxGQF1>q=}y_62xv47dCo43g+Kl+J1VA8C0XGeZy07_IyQD8D;D^q;C&hR5(MHU^? z-o~y9NZR$H(=3BcuTZTs8&CcnEmqB^7($K@$kB&X^ca8wC6pPZt;mN>%Av*ijl0&6 z-<6pUhbd9b$XGIkc|>N{wBDyIeY-1qvh|7j;CW|YBs=Y@pV?R;JH7q@-~HN^md>2# zR(^6&Zq40VBBYSO7Nr*xJddDf#5d-5h2-(GBP1-!jyC6!euaFFH|AFV@nNk?Vb~K@ z+oMC-r97P;ODT^UX+pQ%UX>?(}W%zZL@X z{MABH0DJv-osr4h(c5HRUrhDUhM-0HNL9gNQ8635j`7FLq0-ZhKWq)7;^yp)1?X?u z_jE4O`WryvA!QQgo#z019Gn_%{WbIJzCWxRH|BFzr0b7pbk6x^4r4>XbrAQgDQWH; z!1Lqu&QkU_?S|})lI7ZPsn42qnYa{CU1@!*O%sM_=@S?U}iH}U~?sr1p<+&qp-uM7)|ICB!KV?SNzXusZ2MO4o1 zM)#bBt_CDgkN}Y~NcAM(37kU!J~UEAFB9SsdIll*rV-s@mo!y~=8!j8#DgyHb|~;d zQ6HAR>dYA)`0@8^O_POo7%*W_=FETsQeX+#a#4Up9lcNT-UmmLP<#Bwq3}f>g2$UC z`aTQGa4pO4s4!qcH5ANg9-Rjd@Q#c`rbu)Or5cl{nMcZ|PG<*1)X>B006YLRX=DlY zhg3Lt+eD5G0D16U3P2kHP^g-KEC5gxtkSi~;EBG0Lggq$6J(F;n(Rsc0?g>TW-+9w zr8W}@&Q1gjo#@>KC$0?2(X3vOp3UzQDtip%h|ZO^<-G{628RGjr#JfOuaPgnpY8pa zJgCAfPtuZ6`XtbM&knS5O2d-Ex~KA>g8>Y@4|qD2j20V%(;b-~lfD*tX|)uY4jK=X z4iC8yIv+)v<~)BC-uO33*=BsQ$KfkEGz9>2nKy{oao|PWD#Z4PYJX=Qx?O*F?lG=G zbcb)(WGsM0{!Ub!Kh0m!q?eL1tQ^hn;Z4!H{kQv3=A+^xF2AKx*JdURRu}JNxjHfJ zm6(K8=XCwX)NtCN-`ac~0TOCzEz?Cv%Z0g8`)ZnPN@Xan`OMdZag5f!&O)OjM(fXH zbQ3^n`kvUFQvgNy(oV$l9gg>?!k4L&ZAwSSBa1Lg^O6{%&m?;UpeXdJhj3Y>GiP=r zBiq!x!`pw4O~fy7E_=?>3>^bd_8b8#zGk-#S9P8_F$ekm{N9eXkQq?AdAp6t8w^K# zxVOAtZ!2ZDlIyw5XHF)O3*8TzAw*r*tr=%rc!Pk_)`@;Sa)^zz!BCWS91V_p06=d5 z?(q58d`9^?GIokOxs>zuRe8F+Ew|HK21?|>MX9E)p8TlM;u%Se#}9T)X4+~ z#SV7U&=#FA(eX)rzG_E}Sl4p!Tb< z4=WhZK6DahdST;o4(7zSJDT&A<9Z~HkiBea3&nwfyLz^_8CGwU_jH?-)~l1|8CS43vO-0Tex7 zWcvWO?Ap~cnvMA0aYp^lQ<*T*w~xM?&$P~pj@3NcxHOHFML2=AXdv|00bXGYt0ifC z*f>MXY=!0H@7cP@h*LUDt|tQ^dWMhMC%O>eg_kF+;kbyioT%&u*BNZ$QFGYMZgYDc*I~3 z+GJpdABz{h5P%|T^FiM|k(<*(m$qr?)l>%9!HqO(`c{jAP6DjdRO0e@y+*8XButHD zqB)f`X9|iah;k+{=StrQKX~5NF)e3UaZH;vV9t9vtKz2tICQOfypf~#gHFO3Sw4^J zsQqN<3v1pX6nf*C($=CnvTMHr1Re3SjU4XxIO4&(Aq}%Lol}`JzlHagWpgDeLS*8k zb}66p4Fqd-x;d!z=D&?QM1G`^A?llwq8j~Vnx^f?#^gV4&UFBI>V;2Y7lW=Y%GZw{ zkxKkoklpT;XeZq9-4roDRBi%b1mLe)02O&^ArdLpJIEM6Y7(GXZ@r6_J9a}m#t`ETR1y3 z13F^gv-J)jaRitI@tXrdLng`>CYM+f@tE&y#b}Q5+SK-i^*L`k03|NU1&trd*ZrF! z``ygYucMC0QF-a3o9cs3)P77m!fBub&+y6^J;1j?`lxJk7`Eyk!QGCI$xc#{x3g0Z z${wk+&zJvymJA1c+sS5pe8xz=kjnqm51Bg^4X_vmCu!Ll)v=z z@0Z{C(o^}$$G%xkr}xY0_CdMuiBjK9p*NE_XYs3=PZkG>BY?xo=`)+#l|!hj>j8!U zMrV$*o$-ul=o~%1;3nabH&NYoj?2)lcT9JV>`*r7lghemO?Rf_+PU3Zn}eBE9cHv^ zu^G$!IBlsM;W5&u%_eg&e`ys5P9aR%FX5=BM{A&IdqCS%{$P>DLVixO@BGbR&wsb? zTNAFWOkT6G`MHhjq?1$6xbVBJPZi#6UE=2_wm)L%aDfClj`g3r|L@B2)+RVF)Yy`) zXtut5OPTJZ?@d1)l--Ok9!2lL7X}< zy8}e)_9)O4WY)&%I*kv8uI6QD8BEVsSmQGheyOurYzKRi_T7vn42)UiqFp+jH2MyG zy7n56f_`u9kv*5lb2kr3yT(GQFF--HS?gHsTyFplg7}bHM8?`v;l|L&iF{riqbTRj z23$fu=l|#QQSk>+CkiY%o`{z~E?D8Fxd0(`ocS}Hjw{2XL5eO(O;w{?@Mya{OizG^04bUx%c4KTp)TLow@iErEO}Rj z+7AE<(uwK&CwS{bqE!_1KuWFv6!Cj4+9m@k_JB9Wr;#qi1U*{-R03c{57#3_64ILC zofP5>epjr=FLuE31WZTRjkw9@!w=QX! zKmA_CS)7?%LoYYv$}e+ZHYg^cqx+&`?MN$9&AOJ~3K~(VRgH<;G!2^R$0-#g@IjS^Xs(f5}JM9|cecYWlY<@(Cq|ov#&J~nL4UZu3^YQXB)gmxRcQ~|Y z^#uSFzKt)tyWNyIPMIGc#5(71Z9CRE`l#VCDpy9qvDQ9}(vcs#eEcwI`AM~z@nFt} z71)ri;W@~f$?b@)mzCM0w|>kj80<*-IK3X)pJ%!$^?19MHxyLP2d`T>Unpeyv0N_{ zX#P|l9)DDR^OJv8{??a&SpKa~y;D9}ept%&{ZcM(_;7fpQ`zOI+-@Im9kTDwoJ|e4 zcQ5-J*|xKDGRDI@xdTv|{xh>c4#)NG+kg&F!*oo8+v{nw>a?4VZxZR_>F@?pN8e~& zY{*s9)?#c&=KAQI9%&oHvOcn?)~=B5{li5n6-IP-XBvGF)9SdBzy{l!{Wt5=KFb`x z{uce_+=IVd+!7qLFTc-;iFA3j!nUt$;+yV(bm$COO5y_m*?y;2gkNz zTl{`EItDzGlTBzPMhfZIR%aq-k>B^MWl#gMx;X@WnU3;%X>v1uB@Zip+jvHL#y=t- zJA>R{E$P2qw1*Ng1uzD-{LI8(&BY5|B+IuzH(vgAXC1xV*{srpXq<$~4&>VDf94KB zeal6wdyCsMuy5=}y>JU&&MG(_B~FH;54|_TMb>?v_6xOf`xm+)Ud5cf-+;&(m#W0c zRYPC1Jf%aSTAw2nds*>S&X?3PQN_UhU^HE{itN>>xFQMF0-@UceBE zY(Oe70Z=3|MpE-|x-3MDxTp*CK^L94O^U9tauV^uX{r?L5Ku>>Ni^Dofd-8Tx!x|E z2JF$l!D0Xk9)uTKB+5f0P0%ib9l~Rwo%*j}&LiEj=2T`EjV4hLN#6#+eQ^eID5{3a zpJ{A0z?Az%x-(8SgJ_iMJQeF)X~6guxZ_J}R$q2rjzDs9VRNNsKJUAPh21FC2#qv}K0(A@yW{GvJ%DOvSOjLO*YagBT@S=}t+WOb?WIZ-MNM>gK0 z^<$Cs-=BBjl)2js=C<9Ppgh%tHgaWoU4rfw`tmK<))p!kD+`M%X?~7+3 zj%)`K^@1P&_fS4|JmHB=)tDbHl~=tp5F(#;`kB~K63He%d?Fv&WDMAhLIc|zYjJ4qCcHEN1vDn9 z!D2O=HWyWeIUY^HNKbeXh;*lbijR_t>zn@mNk1Y#k=H|C9a5anTu4HgpE{>78exwL zb#_WfhMUsq4}m*I@|umaO-XJ#&?SxzKk zwnv^`CbgA?+~MsH)jQPHZ7cVpy^Or9C|No04eW$+SCsrNeh!K8>%Fec_gp8cumdDfEa(;Z^6kz4_Bw)$;#)msK zX*dD}0rp6DkW#mD${ZWg`YJ>h34;U8NFG|5l^ZOH<1JSIuz(3UAskDIX0&)qUQdB^ zvTju14j-z+rJWwsU9@pz&Ns;sQ(#qiq>Ef#h;S~fiM^q1dQc(OHOFx<#Ago9)ljy^ z>%0=vbp*bIP9bYU*~aaBfO`X?vov02x_SP&`a9zfxAf`|sdBbPv+*5OFq87lI~*~+ zlLr+>_UCBOS$VhC(ye00#y!CArn%6z+NQ>t<=pvo7(t4`VfCJAB0b&E5~2<9rJQP| zhoug=hY+X@uOBD6Xy9OB8efdQfemW=_F$YNfX&u3>OI58-5#Tt!&!e(?_$0aIqnU( zu*D@C1fLHl{A_@Yopl*(4i+2K^Yxu@^SlHa{Jz7#DrdC% z-a{`>+zjiEvjQFFcXox_G0CdIXYDO$vCri@|GUf$eOG}m+LDMiTanzbM3vx&ZDHQx zZ?oB>-WlO^e*1 z)L#q`NIUYtdwtWRrVXPvL?mSwgEji_JAo(kIo=MD^k52qU#l35h7jcWn;5-0u_v`bzE{*^w zGk`?K*l*r@8Clx(eaH_u*;0ufq(2%JGn$<}-Jabsf7qnz7;_&HzN&$HyfL=Pe@6i2r4-PL`5)EyQ3*h{c#~P6%r&Z|9=29a-c}iTQ5hJz z7FN|B=*IKl4?yEKcletvz*w(YByOV{0Vox5ejaU=4qG}qL;BFmj5eFSjxl$;yx}YL zcf?fbfjx*H-&SZ2MSE1gbg7pFP{zK%k)r@8{NAXZH{URv{J;1;Zi@9*<2{CB9L;@t z+{>q0WC@$R-durYIhRRGQ1r-!A6TT6TyM&I=~Djf&;NOObNx;^ zpWiRHr&GC6gbKZjLf{Fj%4>PLUd!c7Z>E4&SZVaZV(koWb?8ZTPdI$3sr8V^BBp=G zi6G`z>qPhcP1`sUZQ=%Gr*`*Q`Yyp_;PET_8xHWeE*5N0$2nT(so?I<>y9=1W#-N}Fr|5OjE}&PU zO%wp(_e~tIqBI$ZL#ewIU?Cc$AL*N4J+!x8^ig`1bGi|Z2pZ|PM!Jv;N%|`tzm6S| zE)13^fJTqFO9YQZ;ow~rNFYBTukWTXJ#4Dcg)b?KXeH*0zKbCeD)rhQk#Bx4hqIoX z^*xuM*VRVB!|)=5BJULKk9A_Q={&*5FXzpoxa!4P-|ouK#^OBDgGVkD-gh3&ReN@Z zW;#Rav~JGq1FuhH4)HTTpG!TwAw*@_&%q{4D>zyOpB$ZT0uU4v>;V`SOt~NnbO6ugF4T$LPA}*>>Lp zKv~K9?%Fxxi)K=qv|mEpXl?GSS!i8ekSJu32TlHreCBC2!byq?X``7^-+OFM0N@m#i#LdRiZwPejyXL@5 zt{5z5$G15|>XL`QF#huyIb7rU`lTXJ+U0W}h!AI@4K0icWy!QqU?n?wdvJ7kV;dK= zvd!gw0L5fP^}8vC{z}Txp+CDk6h9uedXCXEt~+)riN3)Dh}|h(j^E)tjQQTtRhnkIOIJ{_pZTKl`2X`(OES z`NHdOmshtR$;~`^Ddlo1m+OtweNiL|0V!mRoNf=LFrb1PvJ}-IkqvY^jj3;(u4>VA zM$fL3W@6WcVtmRT5Hz?~BN|d_8 zk(rKlcWjQjU8_zHyIj*NgB>u!y5l3Pvs{$Ht10iCd@fqY@}uk6O_vPDm>Gk9vWB!^ zj^OM|fSRTq%*CKVJ>)lX!gCSUl&{{*RpNk-bLr0`Wumoyt+eQ)VpsGfJ#6o)BdJ??0W%Z zcMfeQZ{3hv$MM|O^mN?mrRdoBQZh*NgmhRFA4^rMuKx^l;je@3va9zSX8JZ}^QYrD z)W=KNR;r(4-~Lc()2@9+k>~`dzbRWySThpZTDFG61VYD~SH+Jz0UzO%ioiY3b4{1! zk1?cpLUuHkiz-fg|c!v&fYAo&^1^0ErkL z?!6PtGwL7;#yw2V>8Z%wBdMwAhrtGoda3Vq=vy%gL@=!)nXDi9Ag6?s6yaPkFRr&^i zq7g7y7rRc{m1Ehr_gpImX2QMgRI@~X1E``=V|}|~d(19miVCk2ApoHRK2$f6?xIKB z0f^XHA9ZzbNOmZHRy_#Ef35HRcnusgtY_eXBbn)dZ!&HZQNDsHVnC3uH<8JvygN$6 zALJuYn8d-}occ*N%_QO!uWPqwfG!4<`S|NW3cQz9&(=0vXU9a(z|bU`Ts&%g)v7m) z7T#KfTUZH_*p5uqTsZKgbXcXSX8Jhr=+yhJHRvLmnp`)eYwYi$K6sz>ZB(sojnJ7 zm|nLsS~^=K(0~eubmP{IpkdInXmGg1?%f|kJ3#QoYG{@7{9^!HXtQqqGxu=m?7FcPFdwiXi(*-#!n+|VGO+-WrJL)_-I}9^8H)@WshZ% zc7L~z#(@8@n`TZ_iXb5%vbxA=mZaQ;!x@IkFvho2O1+m z3pJ^4_Bhs*vQ7|V8rQC9p1Xd!YTntPUv4$MDuhUe1(hBs$!-{D^x87WM#ml@qI}GJ3FmlCtKAZkmEikd15%I?!e;@x2l+TWI5mTsUSL37L!yYzuFQ8l96l z?Z6JuI+$Dj*tOU2GE9OE-|-=ngVB6&waCMPUPoDr0D}J`S9qhA3FsiGcnaW$jwPI(q^X`ywQZtIK@e-0$|GeL9=-Pu*8|LuJ|${IBT*17 z;?tTjm>}Q*+OB9R%I@(U@r6etoP!+{wtVx>l6 zXc>+oQSgIDAipE!R!#SXHZ`gPWdKSTfKuOa;dUru#=TJj?Fbrg08qd~iVV3@+`E7) z{OG;Ds{&w&+Tf@X@PJc%$t5lWh%kOFhbRFCk$4(qPI=xCxkASuO_M`&fplF$Ga?8C zgyFiu7BJ}60;do?B)$=vd9;PIk!>+iJn_DY3aL0%Rj+^ra%Z-H zL3L|HdT0S1q8~B-y#u~9H~YH_+3kB7@nU8KH<-@gNUr49-zx3GJ+$k`6fb7i%bIFw zu#T*}5uM_+45CoHK2q95E?SMm?c;QB5iCIuy0l56<=RM>q0WUc!ZAOx(OfxUjE>K5 zvDJO!*e!I#w_sFB8i2zQIEc7W;7UOA&{whrw^1W~5VmbYp)Jrw-y^HI_>Jp3Vs*V^ z$WCgoM}ieP$Nnxv6+8b>J@!_=s|j(Qt(2;Z-@OW8jV%8vCBnPPDgd`OP40WY%j0($ zhK#v28xkLW^d*>G}$VrmB9cz^~x^*3v7jKa0z=v8WV2gi@%Ik)_=J@;IJ z8g}0_GVb|2=53S!&?t zJlJBnu>(;SL?UwEkM#6b%RS~29qIRiGEMh5jcum*GMx$MM$lvFdlQ>&s{xmC$BfjC zxf&hfhSLH1aClG(c)i~6(dGB;kNi5*V$kmoU_u%NmCh4i1qZ0#%a#0(Hcym z_OhbPf7qQf21bFH2*@@+R}*&6_nxj~{~xi-^T6vIj$#OUdh7TX^hatFW_Hu=n6p%j zlgH|#!^wA(!g;JFoEOh+m`rR)393p&rDn zLK~hx(l@n@aM4IoYSE7XA=-uqbnIbwYO6+HP(1-B^lcDs-$#dl zo|=M-`sWh?>%0n-AO)AD3{zU(+DK)gDX z5xFB}l`mKg8p&f@fxUktee$^&Wi_>zU(o{KRH4p%8a^sT9O>R6J&rEHW$C`nz4t`@ zYVDl=DwMu$0}pR6lFb{po%_ zaJ)}^f&ft@It7_}=p86}uhmBj=9rNmBk8m3M?|UaEAdTV`5NE1ZH)Y!e)w^B-jVs; z`HbcKSnRt7%<=nVm8p}SdHtSRWp(ce&5~~Zc#U8TUUm;AMcTRV59<;6xcKj7@P|{+ z8IbXowd>F;Hm^{RJBWE#OKu~3gRUPb02B!w&gy%GxpfM720LT_IqmJnvsY(_sLUwt zZwZL9z~ZV~M8=z(pJPLzQdwm?wtIYz`>~sez|k3{k0#J-}v(TEI z{regbI9RpD<&`)0fEl8w_rW5Y&Yg5#*uIn}24Lv;BX}}uJDXSknXkw49b|6E(`KOw zu~CM*wq_IZ5dbJ&mnAo~R^oE}`yCyTwAx*nV?o=Ovn@g=GB^cR4(hQu!jH;NDSD=e%ehEoTqT%QzS?k+^Sj z{fOgDfEcdF(cl6c@@D`V+&J-QJf)keks}%vp{kYv39bWhLf#TVYA+9x0GuJ9L*mkX zq>0v3`V3H^zNs&I5Z>NJsVTcKCIUP-6&QgSMhkr=0EYYrFh)QO23HhR;q+l=xu`{L ziD{x^!h0x4Ck7Bjqjvy&V9d-nzVJowyXa%}Y=$5LMfiicl86=k8(@(NA87V?q|~bs zCUN(|662_rbiIqBGH1O8@_Ts)kmAqE_`W(AM;Ty_11Q_!`t6**v1I_M^@h837c&&|BBN-#Nl5yMiMluWtk3 z`1ih~rD&RnX*V|pe4Sm^ME^K++>BQl2t`vXs|+8jr|60(OInRa;qyep6`DpGX^*R6r#E*cPiCi?z zN7I+q&1#NZ+g@Hl(y)5?A_5RIU6b{*(oIcwwmIgtj20D=ZVZv18PLJXOg#k|6W}oS z^4acR4FFNo$FZX9 zE)NcnAy$c0Fh@IVw@7281H!Ol0|c5(cSJb~b9i(pJLQ{o8$jK3iL7*wcDlWHZMK(= zWkUv*;K2@)Vn369ZK*mNv$0d}7_SF?8j;wrW4FL-$oK|7ja{+t_-0PFnIp~9LAh3k z`dS1${VtV?Z7uQ(-X^T=W#d+FgVwEQjkb^I#FW1S9g%PofoKC)p89rM5e~F6SXUzr z{HcIjKd5B=S%L$Q(-7=f152oxTVr0%Mz!|*1E|E|8b!f%); z;KB5ell6L4K*qJD?}0Etp((K#%+ZJv`j?|e8UV#dhG-ft9T(nWd9sJtYuYaX9q5gh zo23Dx#J(Kip>IXtofHC9>`f9&^QGk|Du$z11keF6CDAsL;)dHh2}on0jPjl8$z$&| zrI_?j>A|RO1&a(&(o|lkBU7glE(#1_?y*yONyX_HD@3-1Hl-^&lb!gr=1R?Xf^rgh zB0uDWl)FpPlZMN4lNO3?l3s=Q_%`KH!_<)i(oB zEO^q5J#Os)A!gD3ahr61H$K6{--S17Mm}WS>_lKDW(Q5h>iS^oAFS!Oyfk7rtMagt z)fTKsOFJFJoJOXy$&kDb$xaXeG;rCu>vwelN9kBy!kz&rG8XK~3U?18$X*OU@dJ&E zZZ%aO{rA|W!0jW(=|@j(+v7(|dq0={FuKdPd+N;jJd`n3a^t9gTCdeyC(4-`4s;{5 zGzSY;YVMBZ+i(B?AOJ~3K~$$h){d^t58JSijnJn}**JJ^EkVfKBn^VLgF9Tq6j9Uu z#Q0n(>~Rx*J^ND6X>*G~q0op9M86p<;>IgxI31HdIMbtw=W@BdDsQg0^5*(j-n+=5 z;??b30G>c$zdn9_r+nezJLM0)_-Ey}zxadl`B&ePx8I+h%9-=dUrKp8m+Qm1JaMGS z2j$_4hvHw!mVA0#DTVqyJ11t=$xUZ>ZgdXCP{K{eyeV0=xL=4e?XI5KN4n?ma%;f>w>nOVe*rPR*RP-HgK_l)Wv z;=Kb7cEu3wM?N!8aVihsX9K$EI&Id08w{7#^_ulzMIA6>c`%fB84ns!NCw-0Ekow+ zMM$B#b+f@-&!fiF@^YS}7V3bF1G;FpXev`~5#dC|?X99kCSw=^zyog)`s>C)@|Qf0 z&HKt??ss|e(&c#U8#?>w`rf7!318x|7Y&T;f3;mQ6*=3Ix9N(y!B-SVYyRU1@{tbJ z&vKjsJJ4%YbdlbQ+&wQPWH7zqXFBh&AGJ^K48rdnIU6>opHpsU#&1Wj_EkX)eIKM- zub!v@JtMhlwh@UoZ+=+K!~wK=M81v2fY8Ci4Sm8kDPE zHS(mkX~M*y1gGfo5g$y9d?vs}B@RG~?3xO^1ONspsyG_PMWZ0K7C*So@4jdRhfCWf z^iXOm0b?}bt^f$y55H4_hz>-ya0)P&s*AxE9Rup|8zcZ3&gD^4doeBgz&wE@^f`kW zoZ1Qx#^YU=`ZqupDTBxADJ_-*P#B!iehKh63ylJnTnc62;rakj5FMm_6VM{svPQaq z?{sRBbYmiG%uju9MP>}|pUB%YQbrw^8h}7jzn{{&t_oB1VDlO=n^s@B1W+^=CGr! z0sP$l2ymovAuMQ@t)>>jTO*h!o39PC-?MZNK&d)|_Ja&qB*2VHS(IAX8^?g$`Z9DB z0q(zh|3u|Q-`}Bgp|Gsoqgmec%&mo-zq&G>&!aziqbFGb;Q8SI>P(yX6~2= zzdtHoM zqy%lulzQt{F4uE;xSjaFr_%@JW9N6v&%FJ5`O81^o$~vC@l<~KGe0P=Z{IAh%RA+E zqsWp=Ia8`H?oLt-+)fnH@_xAxsKSl|ifXCmpb>i5apdLXpe2(Uio0zL%JIk1xwzZr zz;ZR79BiklH;~DLO@@Uw7D{fHU)t0%NrVE7t!~ao>jzCmq9bsY42qjPI@n-##Vs-g z8D{HL#|0Td(bXXY4%b+3)KxP~{e%CR>EV$2jE!D&0J>en)#B`_KrWM!L*5MPaIGmi z*3%Sn&R$C2=t*RxQ4uk^Fp>}1%k;`3&DoBMHV3-ShhHCEI=(0%sCB%ySEU zxTH7sGg#MnHz-DA=wX(J6ZtYSt#+O24Ud|muzbUPLl-&ylIbjK3*(#Hed&dlW~`o1 z)FJ5tyd|LoEF(xF4ccZpF4a{STS`9aFNI4BjCe59?cuxFM7OW_@}aJQOMYK>dJ1zp zTyDPe8O>FX`=)#}i@&|hoVKRrm+6wXv|pa@NOkOJgwvaE^Xuojm%@2&JCZr?A>S@_ zmvgj>8bGvw=sZbL<@Oi6wE>$$AAQFg98yQ?IzR`z8=^)|3}oQl4gwJHUW=T8C`!XW zI?n)#2QKuT6n=XJ|5@~jyt_iF#tgWjx&(+=1dT+u*jp(2&dHO$c|xEQMW6uSApk|v zjnSDw=7Upvo#>4eb%LPry1le zm-caR04(wrsGI;9>Kvx>ZUK~d33a8Z;@LX-C%j+8JEK?ae$?M*Ktl%h0NBVBPULZn z=oz(VJEQq2RHr#6$kx{CDtvwQk1ea75UHs;W<<-;`CiUTVh^SPvzguKB2(n+I$owT zm>3unMT?vnC=MG@Vv=|>1Mdgf*(cEC`Ardgr?cM^mYk4?j*aVC?c89kO8eBKyzDDK z5@83{VDD2cg#B23K2=;sc0|i#x3dp}YNU%?4*x&$-gQaZLAQRGP*8l0}(0JNwT(t2PX?WB@O9JU0{9IB2B^67rbNiZppX&z!t- zaARk7`e)+!*8qxNUdQ`<4FD)^&c~^UZ-~O}FFMVfC-G1qZO&-R(BTe|RnlHE*JGK? zIrWk`sqbb7{9G~jRAi1TFK1)LAIC~Mk~Yye7cZBQ)!G?3Qts1BuR||rs?H^Z;nS@; z7-L9SL?QQduj_ofmIo>-FL%?*`?nvI&wct|%AbAxTK@GnPUXv||5nQFr{#QlDrW** zu5aYF8by}ei2nqb&}K!>^iS1cLAjf8o4`50H=JCpe6Ac;8=RXtlhW5G^4U0@H~Jnv zqJ5ZSW9IxzzKeYH4(lUidETUI($lFAn8B%LVrnVpI=B6luLmZ8V*rL& z$>KlzO4NmwC9W$AA?JXVk)aZ!luPL01oeEdv~0m zfjyk<`!*+ovzEnmd7jT}&9uD(jA-A7^VuZCoN}%>xAMx@M5&PpYBRWKBh)4lXC_f0 z`!e@zjw1y$AJ1MR#QZP00u)iJr}jn0w@$U&c)p6 z#{9!$d1i1!MjOH1VBMFiGUddPzdP4&s?MrZi~iudMM9y zlwju|0FVbs)1^@(G(sr~PyONdGv88{dMZRT^&wFrlD13Ik1^luIn;BZTi!Hw0doXI zq10j(KtWv>>YLlqITQ0zK^C>t5P`&Wssr%M(LL0jf*%^)QlnL5-T4cC;v}vfBWNvi z9>dQ-=QRd-h<*=J*IFqO*+j`aq<@^3`^%hr0LqTPEc1bQe+J*`PxN*MEG)PC!2>(~ z6J4dPwW@1zgTCXG!&TkLtCvq zZ)IQ&n_e6EFAP9&FMGfH>979!2e+M$XSd+*v9G;C5xxb6s(}y{!VayOP`2$z*(4~H z^fuD&YSQOMig#z@IM~(8A8(2fwaqmOUhV5_Y+mq~xBgjYm)|>IFCXOFZb9V-XMoH> z!!q3-`dWEtjgQYlR^CP*_X8>I;a)h3gMu)2EI;zDZ4{mJb#UN%fmn>zIL4pxcFmiX z2bH`v{jV{Xelw81p@&;%pd4TxINJ$Kbiv`TRZRK0lZ9>7(+8Z~jC1 zUw-#z<-h;(Ps^L~Nx9uF<#eKA@uzaSQd9|nB;-txx+(mRPCfkDmCuS4GJn24Ld!;F zr6kY7%m?O2+%U5ZR8Fb)NepiE2BSc>H7eG3q*aH~<6AhEQyok%4;yYOjKnae^VOvP~6X|p7$le`*MB-uSe;S}e`I)Ux|1REH$rZnofIhr^XUAps zEF^kqxYxY_oylJ&SD7aPO{VkXKh&4e#=#|jhlJkoid(azv5x5O)Y)u+jtO`3 z0qYwL_(%mE$LdDhN=BC)B>9bwdH+&~8Z%jma&b2kq(w8xCIs8M#X$kKPGLBdUN`gR_i}x% zF13P#Irt%O3O&&w)DF9*+{!L4w(nMf z5YtM|!2UfEb9t`58~CC{$hisIYbqTzR0i~8nE^zRu{9Ac9w6au3Xvp;M5#`E1_+c1 z6dhvV2ijDJzj#at;HYgO^_GAi?CMubOVVKh3=u#C^-joPDUs#^5Y$>E3`SffqQg>h zQIv>A#Yp4_6@Hg@ID*83B1nw|pa*qIv>?5JIs$@lbWH$I1QelS@N}jjwjezkqD%^> zDMrK&fDi#)Bz>2p_!2&FL_J5m2(UpsLb@@2UhkfuZVH1~Ivt!MO`Yljav(|t*JG;F z6j=hO9a}0{3NQvkuoeUu@kNyVDkb{iP_JfGjbs6saXypG2#A(BUuWlE|6TkYDmb1` z(MRLNbl}5L8tOJEi(uDZH3BzQ=lu@k3VgFU&^;mgKcgn)@rr`6?Uyx0^rtp^Zq;4% z-1CjHM~E^-YC#)^Mj+s4v?dljS7C){3Sq!2Th#U)ZqZ!976KD?j=+=<34)d!oa8k2Ll9~ z>T&(42T`k)QB&B+0gY}hk-;oSoa^mEXAs`R2|S@<@Q>G@mM@j>l|TB8kIJ8Y{i%HI z{U4UkUq2|<>vOqrUdn4ZGk`+BOWH3<(S!<@W@T_aATN`n{(O~?)+eU_|x)!(n#S1oH?9JE7T1xr(!UZ-2$E zyHMBTJKE&vc`sjgx0$5Y@@;i&_4|Qe-**#`G%}b=`nYp2gWW1u11G`DsB<#w<+pRz zJG%XM(69Frfo2vKA^DCaQ6!ZGUO4TRO(xqNtYKsNoiGv^s~v2Xv( zd`;|u5G#(n&F@>enMJ7$Wn}@N2oL6|QKC^&ui=aicCW*e~oV*+k9tbd@UH(LyIkl}J#(Y?i`(fNagDg_Wl7B|GxmSisx-4I= zpX>C+`5WA#-x535*3h}VYAEz?{82;M8C9#6y6>kB_W@6N86w(6EkNIJcI)0A%k*b5 zzUFyt96;b`s?Cyi&LMw5S;@`aB6L(fg8pmz9T4H?_#UU}u8d^zV0;ZuWbm^CQ}hcA z#oF{^o9qF6Y8Xi}+R*oBa~8+4wf=&9W;$vKg2WvRf8$m=Y!+kSI8~6R+5hg>AWn6D zDaNhR-nEl;cGB#bZgYQR?;Wh?>ER7BbN3?LRDE84l2@XPY)2DpcAuzA-3)b~R{FMN z^+2CHk7i@{@1-h9NH@f&Lt-H z;hjd;@2m~z8jYGdY)d6HLkGl&7t@2N-=IvgJ=e(rx6!uUX-VxTzikbh6}Es}mGn1u z+mvIu49fG-?NaBvF&B6%kjMZm+q$KJdM_(=eC9wknNMn>SfmMxjaQkjH7jZ)i`*qp z`&uJFFg4F=sQZ^<=!PA1<@tc6i0P%IxVz!F3%T=6p=Fm*FE8SD*7znbf(Y5e}wlXnnhA* zQJODAgb27J(Q14GArOke4vaxT9l7>ZQ+F}ogA@fB`=1 z>W}PB^u}{0hmDM545|w!v^6fR1LjTxwt!CeezQLG^Sam6vjR>e08mD<37`dCRj^X# zc>Pm}^YcDiOFja{w;y*{(J}eG6|uWiju$#Cjv<>4*1m}5(Q)HBMB0sXTC`c%sKQr>-dD38}udGC|IE#Lgo56Zv!qjUMn=RPX$Tt6&t%9CU- zzR;0Fe@H<+yi>~Mq1?`&Nbz};Ipf==l-`PNPLLww0bwp1uhC6gPWqa4EE%*Jl zBWuymb~~fKoy^(INEoCq*u!RYbs`+(etS$VeTQegGg|W*QSiPB+c>D8p=A-BVB47* zZg;cq2yhZ;+DQe~sBF}QY4_r(B**z#jWd1T&v`Olyu;pvbR&YI2)84XIbyHDgh-qxhb~e1wbRJ9k3?~U94#ro)-zuEF=o@p{OE1P{?U8v zUrCF!3dC#sO8NnfHYcDt@?LdWvqeF_b%NEnQ)CMC#9=pSJ#UmQ4_;5y9KafX=9Vt9 zHHNlbx)%#Vs~IhzZKAWel{=qS%{(`q8Z#3Y(P4GW;so62zXD~Q6X87ajS z5V0-C01k<$K*WlGB3gWyovISW!GKCrpdHU4I-`OpDA0~54~Z<1`X)&4h2rrAYM)dZhiT#png(AfSY6o^Yxa0#v9zihwLs#{&^50?G);!Zl)uhU<-^RwNadrXl0> zU>fbhV3P2TKn$w&BI&zo-4u=-K@Aj59fq1Ja&-gg&2;PlkXRQgaALQ|X&p)p6rLXf zb=a0B1)_vO3+yOKRz%dhv5x>D# z9FsBV__u9SAtT7z7ged6UNR0PGwVI4)*mFhoJ5eNV2|ztG_SISwfiKf83HJzp82reB9Vl-ca15yOjs6L!{sgzMBCk^vvA=3Y1PxYG&}iqVsEy zKa;2Y!FOe79+09XT|0(vY@}64Sr=xO@+Ml1rzJV|fbgT*y(^ydEz1Jvc~y($?dO+V z(LLL&UK>C;4qyyVPC6_#nB4|BQp`|(tD7P#ejWebuMeXxF)hZ=?Ezlx`xOBP2r~ds zknfQ<2Qs%a&(I!7ahx~p8&N*|W-8-R0GNOQ%fX!M!qMis$IF+F#Lsg*`pKtfPTh66 zP_R60G*ruk(sy0U`_Dfrzga#gfBcn?%AbAXT7L8N_vP{WlOnlsFXeW5XPT=YnM@CQHFY;|2B(f9x6!k` z>2xOlUh7G%$2v-B<=^y?AL|z7iAdAxJ%`$358x&yz{IRc=7Wz4aSsQdOZ^6sk0JF> zV^@X!$z&wi&mUCn`?Hln45<<}duNgG2eIk|~3v#32-0U63b zk`y?}1KZ2yB#DY?ZYxKA!#U_3(hADiR;PrIPH(2p z27)=8qirX%r`zeIkqAao;w^Z5pKa3{V%o`)Tzb*fB-TCAV~TyYF@zt1~+QTFt$c$ zT$&n-BPA5D;Ive1{;1Q{qE3jMN9G4zgr(>Y24s-RON*%sa6!+=R7$jp7Ia7Ci-I*Y zREjhqIvMOBki>#ZPvvxeC{NcSpPe7LUm6=dTT^anL3yi@B7I3Ad3jgrlOR2pM#58{ zT4cV0Jcu}v+xQg}Qt(Ankd=32sYro(6mOQk z#muQ&eHA>brD9nf#tV*BlBUUO9Pb1yxxm4aUL2^q>@h{yL7TcyQZg-lWtE zsCie%(nB4!QpsX~+O&Uf3785Mdfr*6QF zs!tVL?n z_|QS?k#8n^S{~2Wa(VuF`PS#ZSN^Zx`n&S2-*_rtC_gS|a@;bT-;{D9fJB|SH-=su zXmTm#_FgIcIXy@9Q20cqa;7N;a8x*P_TqF&r9J^>f^#A_5lv8+%75+>VWFf$^>g!U z1nJ70z}vo@5G4Ue5_h4E@PIbfkU62U3B`VsawjU;&|h#GuEkX6%|E#FQbISAJ#kt# zjwb&;-U$}9u7$3rhAq$w?p;$&QM0@jP%>JC)L&B2e7R;3jS-`81}~b;F#6s*1q09* zUvc&aFHooMNq~AD4jDLQFY2d zz17+AY|GHNbA9c|QS*#0lxEyPKg~$#cyO42URU9h2-GZ_&SXGub=%?HDHtBQDT47r zYE;BPZ?By3!)|CjPk`t|J*AH2&Kck)Z7FYI=naT*P!8cq$^eu`7sPf0Up3v%p=**u zmFsQ6cnuV5btznu{&afmc6*0-2Gp>O01Cd_umNUciZ{|tPbZtG>7oPYVV*CvCFzgM zgF9tc08mVa)~GhrF6sAe0w)mV;7h0H9g0ZFnA!sGiF^%GEw&D1w4wk?EY%d!&dGVa zwHYM6j?g4iQfU#6Du|&ct6rvB@P><(>xCmxBMO?>-lb6vI0d_602&>UYTEa^rN((!0MvShv>-w9G(}QM3S$ZB-Lg zRY7&Q_TWxkcT%q;Zlj%vJ2+3r_d0+mIAWteEBc+R-{ie&_SAhL_D_kjX>RCL&2xa4 z68c%Tf_AL*k<3b(x7IJE8piah>n8vxJpZn^c?S@vpjzIO0D1@zsImkdszcA-8Oe+^ zQDqW7HS96=9&*OY}Q!8w@ zRaf%e9As013X{kz&=01gPGqAB zsy7}xb!#6q4)DfiTN%foDeuP%s8^?Jld`3?3ijT7&6iDUl)_%eLhb~6b0gePH5-rA z&B7a`D`0S=;qXX*IEf1{YjY^eEC&4{6=#=YE9b~)vIBN2vruS8yILa0)}?I7{g1y5 z#@So#CtEqa0VD=IeuO6PC||9=BfOeD+mFqs49twzxcOMV&#s#pS40!g97(y6Q#s$x z{ExoikaGfM^zIcGcGu5{PnYYZJe(i-Di(ipCIg%bz+cN3Zy%Olx%{{CC%^f#@;`q4 zT7KvK@0WMW&&&Dxv2vVxP5@w5W%M5a!*n|h+mox$q1&2_K<3G3`E`@J02%`C`EXl5 z^S_C1f}xVGP<5v2Tban#t#(6rMvi#bezxfoAEVVW8^>^P<8j$M4j##x zWNe+>IfU{*^xd>_!{2<4?1&Z7xYnC z;dcD*ZXg+GXS~m3Y9y=4vnC7iyZAR8$`$k+2A5<`*=}Ako}*7WlysX+vn_Z3{TSW{d{79mzP0b&kH?u~1 zo2PNSI(f|I4SY2)BKYm;b<+VeB@`8f%Pk$5m~JDk?HyTyKCc^iAl%clpqt0o6avsz zLFk5T`{`(8HEUx>nL}qfeboRHZVjpf(sTw~S#)||G4R~WZogmmclFc zvl_qFs+;b^VE71V*_pda7u)n|8TL1poi5fnFb&)dWzJJ^*3kLEpGoovO=%iMq}wzo zVqeDSdgY0(Sy7P`F@lph`V<-g2-P8ogPmNaU_EGHs~KswtS*V9qM~Qm9nSKmbxX8> zf&d0W2WukR!X+vNpn+KBwTL?ErZg$O6ln4FRjjzXMSw`e37-l$4VHo~MuXHh;m8M< z_Nx|{7j;U$dpTK1qzKZD(M@^*JcvgXFd+vb0~!EUG=-NuBOnxw?-`(m{#^^!OFyXH zBA+W5qfsObz_{8bLZf^J{t3+zO@ing5hICM5lODmD;BN7{u89tQai?&)cPxp`B z8-JPeJB_G|ZOs53^et1i-gji3R$52?A(?|#Syezmw|Hk$nQziZl!QIE8Hf4@D6Xvc zL&%)6UhRe?Hg26Ik6DOskrZ#hxG{vmUp#WHv(luzW=;K;&xtIJkudrFSuEqJ9hiUz9gI1xn3zqZyePvtLi_u$t*i~ zyASLl_}QjpI${8RjN0anlJajxh5rjbRKHzbo8o|T_JFd1Vv!>1%}NUg&$l~qXS5zG6q70mw3Ixm|AWcoEv)dC_ z3+&~$aPfWO2mx@h!}=AuRl&`l?D~QXEXKRK0ggGHjl}~s-boMVmVpARo8AW*h9R!( zODC7R>=t^^D#QaSTdMLdp__Eec(kGL_3a&%p)Ed>CTqLd zpYi@|Fg|NQgMN-X%DlL`oZNc|; z3<4-1ItInuwG0`76C4Snv~lCLfIR)q;DAP#2+&ZYSmb*FP$*)9feEDjRZxP{a49e$ zX{4x5i1tt45y+z8gw-<9c9Fu1Q-vuI!Uf|wnnb`qYLmedq&8Drnqfa4Fp+_qo|yT}va#U#43zNwOBZgHtIsaB*|ej!MtvsVD|&sZ zde4C#{^F+qwQYolfRydML{ERlm-*bP3~G`)iO7)lIanBB0_J;>SMZLl;2X&YzbZzb=n}ARsB$P#MYoc%;f^#@{vcQPiVtq;DkUDN{K}|jX5giLDPhgL*`OWw>RbC_J%>?%fq$& z{QO+rxqVW;Ts|z{I{jVw-~QlQ{_tP?s9bLUR36GxA@HTKPL>RGwC_5!R!d~~{Y)8U zay4=UuLyAccxT48F4PCjFJdR4+Oe-|;f%p0yX^r!GRa?4wrmr7A5vB|vJ#x| zX5tL`;x_fxzdhof^{+*GvoY8+vCYl#8t?p6cpVU;WdvZ>)LZn72R+g;MSY*?9vr%lddzp2=+;B?xUMFL2zddhH20|kuo0Kj1}Tn z6Es?%;a!b3>F3YVYIQF8{D7@1}PE~J%O z^jx-YfGMpYi*p?y2_j>Bgo%rIK_8YUUZNG7{Vkf6Rwo*3w>~^E{*t5Kt&=- zB;rGAw;*+wf-eAqIKoDYyenves1o`=N1$-Ol1__33o~&^!WKUZn3*tpz}Lb zIrn?RUPBQ;Spk=x$J8$XE(RvFE>i_wYn_`}mYt*PbOxY^ZfW<(IIoD7!{==TN@DZu zD2HE;XZ8%_rE_rsSa4+4{R?n@_sou{QpNPyu5ftx0EB<5)+o?%4v8DK}}R? z=ochI=~?I{H8#K&@FyO^6CSZM^{52acJ}7$X#4Z$halstbrTQ9ZNp@cYerp@Mn1FY z?N_OtBtM+ytK7;P+QF`m<#u~4xAV0;oPSHd1ooB$cmeG3zK(S+@8++Ijw#K)TZJITtL{sut ztTsoOXWj;Q!qd2F+_&l0?$&Gmp%FcZs7M<0A8pYIS<@F&8pAW4C@<*Pl~3EQh(8$!~g?Q&+ASu_706}eq?=n9t>zh#89kva#S=T0222`J;*mavQuT0MW3_bC?RZU zyuh)Yte?nyj3t|tWj&JBOh(#g@)3EX2D5!U07i@iB;`S|>cRfnIczc=rSF;}Althf zxP*0(0{j})q0ZXIn?vt);kwE*lP4v3wkG2=r1RE}p>>)bnWw>=2R$;CbZkZZe=idw z`3RAK`o7#w?gUyK%?)VPj;}_ixEuc(wPMqxHAduFo+zzj657(B1xW#>5iDA-gQ67# zT#(ddC^D~_8m?bWEhXP0%EU*zFvtM_!WC^t9TY^hT&`D3Plgm%RBJ_|I22q!dMu6X zVBmzo3#r$@K!_HWr*{bGKokhm!QX3oFwLVcpbMqX3bj@=troq96kZ(tqV-R%34p@s zk~z9WqFJPV3SCYUz(YV3sTIV4iOxUMO3y2pgtTbPPn9v|DNm>HL)w<2^8A0s)#@#K zi*Rv4T(QzEy~jaND!LqX!auGqh}$Qtyo!v96I7n(s23;C@)~>unXF4s)F#)eU#a6} zJ808iWf2w9c5T%^(>Prn=x~69!;i`;)G_PtLSBElYNSa#-QJ&3FJ$gT>?LS;o|1P_`)@FlQ+Zttkzugl2=ot+1g=0k4sM}kkDQ# z;8rl){SS#kfv>ElD^tC4SH`Kj+T!w_10?cZXJ$Ft=K#uKweX94VXSg9#R*C~q}1Kw z*dGnd2$|&Z?U&u>_Iv(CJ~`v-jIOuuNdD}(;y1*;cgSXx(c=e7Q7Gu`wGR28J-_lE z_twV>*?tY#TZIbV#WBCJxdvvad3L+zJ{ymWDY^|vH(H-L>V!83iZ~%)g`!f*wOmin zoVJUMcdC!_{*^-UPh5!cdU`6KyZxa2&buF$?|l6q%m45jKQ5oYe#92A~VhT+b;wkgps{srWA zNc4vXMn-*j%ZXKn>;AOVA3?_HlrfaWx&aa&?SpL(`V_Z-4E_6bi?_~ba zR?|QI0e~$Gpy_TR&?8yqS6usgFc?oGWMj2>GBxP?xoa1B;Y-% z@Lpx1>&6{bh$Q=dv~l`AcXaz=0sHCXz9WHwPhE4FTy~3XkQdS$1oXQ)T2}x{quY~t zo9b`3Uqx2doG&kwx5*sY94p;%pBgT&#kxzUZIV)I)ZB0x#1vdQ#`wH9)S@nJob>TU z51?do8bs6Dj%oUmsq1({FAwUK46kQmZD8J_y#o4N$}c8`K+Z_J5})Le6S#{?=6!o|v^A4%th)K(g4g0xl2Uja&F zEgHb#(sM~VD+NiYD*z_k3DQ;76k3wLN(;VIbPLm|z=qa8L2-KqC3p%6Gy(VkfP;9V zktsJy%Ow#gIBg@{mH;6_2Y?|-59U78_Bs8Sru({ZiYr=Y1n>xWg0y3jhD)8sDq>v! zgxb-1DMT~sjmYk)Q8xN}1EA!L{HOkFQxV%4=SQBiTFsd|7TU5l2Z|LAYZ{79K@c!|GYHTI+50}wS!r{RgTHq&pT zD47+2()bblT=0C0Uaqqt^L~By_`!Lm=0&wPsIRZA0TzrQ9kw}-ZZPbpZxAAAw{?7nF zSs2qQj3Xyy2cV<{lvZjI2N4L5GhUjTJiKi|<-E>qtQBdyj?Au|xzRb>sC-iy--po^ zccF_*27Ja3jN~!<90vYT65}c4c<#TWJ^JUP(p>>*Gr+6`grf4=IQVQ11nYc8i$Ac` z+cKLSyv4^xM#IrA$)2Vd6#5|mg^I?LVK2bSsXX2&dW7#@m2!Jzga7F)aVziLp2`@v{MP55%KNvUl=JC{(|uj8&zx73W#dZb|K<-Lz{Dir)v!|MjnN$v ze7Zxp+=K{?xd_;ly3`r(Wzy^Uehr%Ku7AjX2+bdmApp#JK* z3S(|43BtVOhkJP@pX6Z(277(enUbK@08sF30E9AqZafhP;)Bd=ya8k#0yYWHqfGPC zRfC$lOj3aHphw``LY5o3$=2VdZe$Yl{Z%wZY%&A|(r>3>lMS#t*^SYYJax#SIgkFx4Xc^Eu)B(#z7Y}$HLSuAM7G6iZw43gI z$a>%@i}YxXjpmBl*Z?bLWAIJ01Iv3gGEn&*hAh^%AGi1NjM86KubL9$9ry$Kn%h26 zp50Y*FS|@OQo0QGQ0Cvx{_3Bp{MZL!d_QnPk^2`8z--+0{BPf$=nd(=>D!INd=WbR zb{^s8l=fze%=nMn{jmR(7VBFm5)i|sh&(4zN&*@PA8hF`8K}9U00y^L z>!M&wMA3GOfUI`Kp6v2QMU>YM$dOOP?TkvE;h>~ zq`vZJ69Y$3Xnr75;HwZuR82 zj)WPYq4(3)h!e0i2Tr2gSDEnq9le{W0_eiVBmnR`v&)kd_#?l6>r<=xX!Lxxx>*N> zFVZ6NM^K+VHFEr^oCaC^9g>Z3!o(q;DKJqWb@7iD!k7=@XYV!sa1)8m&|n-AHGERtiV- z^1DOn+ju71#9`o*2A%;KSYH?OGlS6^Ew-(gWX6x}2ZOd)FV8U%7m@{Hx#mars}r zc`9Ey|EF@IQwW0;^j|7>`0Shj2lN_lu5*a2~{sM7KH6jcl7l{Jfoe7HU48?;Rpwrx2p250=3I1_!B-qFUt!#M+^ z2`6*MOFY(e>;7mW&L-eV*Ejk~c+vnR)hMnYm{0ZPbrb*;x6W9xdH(zF{BqDS+0eo~ zWQcI;u=Tu2+UMa+j_IrQXZq0hb3jisNgMLGx8*IKa%f(l2PwwG-v0`+Ei6#J=2o!b!W5qsAfrlF8AvXaGt`!`B>5UrQduQPll( za^XOgbcmszihsuQC(~W2T(r*dek00q+8`>`k0;|3zE9)`9T82u98_sroer-!r>tUpdQK+ zczX#E;;N^T$@3nJD7i{ zd7{TpF1F6H0}w;@7u4qvaG*w@R1if$6OGnj@WE)MUnu%Q>yS`w6^-yA(1PocDCok^ zxx(}SL!^+rf*P!5P@rB?b=A5nGESt{;s_8LJNq^s$}^%yIEqBr3k9kG03ZNKL_t*O z;P182yhNh7+Ao@lOX{O&nl7eMqD^>AbjGrJB*JR~YKUf}@Oowd$|RxS0`(|!IkM=3AqTgi}CE>?z^XvMQb<&P!Hs{TE$(G;H zmTil{G=S?Lsm#zmJ{SGoQe<#}X7cox0kB`ylxVu9RA+Qhg9utf*ZBvZ4LlmYS~s#)>)B@H*TZX$apj<2eSd5${t&NP zbtnDLPAA&j&Z9@3dFl8^pd#jQ$44=HHhZ6>^Z9%&kGE5Kyh_S0s&n$pe!_D(pB@-E zA@loMF6H@L%ERrseE#xr`Nn&HTmJlazF)rmTOXCrUw&L3p3bG5sqp+oa^}k2t8%(h zBnuf)C>)yTzLmpjcOrVbyqa9PxuhxaVc_#3ts9}7DwC*{5j}c<%u`5hq%d1Ks?6Y- z<*`-sqOmAOx8~J(lmRH_C|*rYu)^%|qiM7frh=a+pc_f)_|+QuU5g|BHtmK8m-x<* z9oqM54tHd^ak9x?z5RoCw_YJHM`MoGTdls^+%OZm(tgxo+6=$p)WW5cPvobLUhuTCrz+Hi3$168m#Ssg@P5FJRdMmi4r zup395AFoG1YBPS{hj#{zwuEGUrhLKvpYVDlC+ra0&_&JrjyG|f-f_{%uN!mZ)gd_! zQ5hybJ_=R$B}Wemu3K6wUZdk}kE!J;5V|{?-Z=tmG583C)Ct2yFgaV~>!z|L@R%LT z{w%2l-LaQ(a{_J%ol3Lq`!yw&h&w$~BUHo@k6Y?q9uSeDAc8qD5k(^JZ~=5%PxPG> zwP&D3Z@+UfdAZ`HktFIsMO_x8A>()3$PbB1p~w=XC9C71dL?u^;W{JNQl2^bSb-pp zczLkM603h=;K*5`ICP!?!f=}k+(<-?&?B+?QuJMb6-nVGDY^hE3E06!=@~%L^kXii z8iOsIC7?#+NED8OTl9|cMaRm(ibTDLqX$tr!g@>l#XLsclqzRP31$+>Q&;7h$HdV< zB0fl6V|7y4*F=213E*@_1df~#O|IFr%Js?$kl;2}7Q#eVL}&WQf8zV#mEbO93wv9K zt1Pp@1!A{)9<55S$)&)8os!d&`s zOP}q^#b=NmZ=Kl|#dVpQ-k?%qqG2%uN%oz<0}I15VB?X5Uv+IN(zNH#pw2QQdwtM&A(<_`>E3!c1$-j}@_jjemZn3W-! zNg*FrI0~hdGuJ#3Q<`j!CpHS+Dd*d@yg5-!%17mk&)+TI{?#9sZ-3)be)|g_lrP*q zERWBhmQvmkL-`~iikLRkCZ8%M=`CKO?eMPtpLSNdIm8w{WN4@TW~;7xTP9}9Utpk# zv)fvJPXH85oRR7e_Gl$Kp2OHp%S4BG=Im+A=ft@j+n&gG=O|I0?XW#<)~$VWDr#e0 zn^8|>oetjhk6J{4`_RS}-nXcrY&E?SXtb+NhF+Cw@^&^z!=jOm0+9%oYRXk!LYj2B&(k>}Zb589pDhT$D`K$yqEY&*BRn>Wihyb%G=%}G!q z{QcfRv=yDnBE*51o4u!PFJu1wM0ee-3w9U6XZTz?mXY4s*gFn6f{%<7>*+O_KhbZ) zvmy20969SCI;Z%?TIpB-9W{xZvgOn${Q(N0w&uj4l+S`&1I=v}M^~KdqsxvRL6E5| zawbOXtmFmPM#+(`ys;~t!QQa%J)b87h^&s874W?mjYuwZlh^;|karJfK$KTcor|@P z-Vt&{R{L(_ILClSeKKaj=-Y@6B=&1HxBcBdoKB?!X`0*CZr6_>iaF0j&Sl&>9v(i< zS~V&KtPzbO-%G@b0x(7!?0f-B=!c8A+dKH)Ir7=3LJ=%A&6uR)Ql~y5Q1~;UR|=gI zkf5N&mFPfGc6F+1)Cae#kv^8b3lSk!d|uLc2?!$qiq$t!P=hX%aRi7Ke@BWi23St? zos5}*A&W+-wNa#Sz4ReJU)_M1OnEt#yTL z>E5w*$u0g0=J2Xc_SgngSO6?&!yL`-dEfTRKPqahbuecdbk(M{!&Br6T8D9r#@LUe z0s&slwBT$TYs8n{2jGdcfsq~Eke4-{wwly*^dcoiHjKA!9uh#2U4Q(K`%Pt+hx zfD7`DMxzANris>A_{?pd2PwpGmm@oBOi{yR-NXyrok=z@jfMbU1EzQz&vA4(_4WDm zVsOKcYNiyE5@JFnLXv&!Wf{*>*{>=y7 zlpvgElu>WI4C*%#L5;Z!ciMn3PoF)gh{uSP%)%5UG(yDO2&_*Js|U&3XUjj6C+~GA z|1u0e%91F>$w5bN-@HBAA(t?0-(FAmx9rzWOJ}BccA_)xr{%MMb00K*Ic;pbvrJyg z14W_`SaN$VPp3MP;aZhXxQRcAd7hk-99 z^hD?Ka$3>Wpi|fH6^WdaHkS5FH5j$ftP=b8AL}?**UsdWSsM8HKgGhP13}Xon<#{FBMpnM*4k?|ZMQb>!L<@FV@*w);9);+(E^O?XV~+=rf& znk8I|#P*RIsUnsdYM}TzAi&~WC^HCl)mpH=Mrk0ThQS3b=FU+UJU&W^g@W)%&xQ10 z0=P(2h=3Ck@uAMO^Fz5_Br-(mh)4tqr}?7XD+;L4_wtNHVpuvb22KRfVF2U;AOrPT z0FnrOTsK9*6BM2YZ5+{ZI&*3;jE8x_5i1&nV(G`!B2^QH=~Zyc02r;oBDeLye~|-3 zoyhcQnlZiAZ+BTNQpL@&0V$F`3szj339+f)A-&ohJJp4`ZM2z!iAPM0ER#d@*F~rB z%AZHid*39^=l-0Y^*h?6Gk;dr7SEQChzk)dqj$3R8mlt2>7Q>c9$BNZlrhUHJCnLB z=t~OGtIxFag>INIZYw1j$mWStc%5nOp*__yI>uV#wMrJ`uZz@(&U9C6g?X(}Q|Kv| zEA>cV%NW=mHLaDlmTco0V7JFLd8+lVW9^U53N?~t1>o^2woFDF#?{~vpDN7rwvSkm z28MpVR1YVwYHI(yOv?FkEnhAll&_utzWg8G`lS5fZ~UaZ`}_~(k@Oqk3~b$=#g|Bpodwj8 zb3VzKrtV@;#r+(yisMwdlv6|FcXau;+Y{8B(nCbOi8+!FJ+0{Ns z!+{&yEWUW&(~eu=2ZW*n>%t&7@-K5T#y+6uosQX^XWwOV09lEzecw2-^;55_I^C@| z+Yhj7o0jQ=fha!*cIz5?DIxA9JbIl0j9W>0xp8s9=5EJcP(^e^Z_z8S1-Ql0cOXH~ zRZ+f=%mMg`+w;*epYgyi#b(^Ajt9I?*A;}&%QDrj3w;~`Q214Cmvx--G3y`Q#P*FG za+oc~+c}Dkf+;u?XhSmqWkXikLB2|XVroqW*WPGu&nPQrtTa{M>3t3Q1k!db&NVVb z&(r}J##>hulu%sWQgor#O1)hR;6q%gEr=pxmN7}Xt(sa&v<7OuNPGAjbYHKM&Pwhs zz`-tH27xisCg`vAL{KwCz!XX2CC3sMec`^dlvyr%LsE$eeNvNz{s~yYeO}SOr2V2) zT}bQ2fC+s@Md)?xRF{N+nOZPjBT5w9k$NNouu#;BM57?pmZbK&&_4oNxUP)MFGrqO z`Yr)~qyRmlL3GSWKwfTx=uZ=k=TyN1PxO6or&b|`a3@B-3)}<8>jUmI$@P33wS2PhQ!IoXFk0f>1Apj*| z0LuZJE;S|FC>W#qf9sq@Fvb7f$T#aG>`y%*Gk~&NyUosBzg_WJN3&fD&Rb}l9D7^7_61HA1^<;$L&d0?7t9OlwMwY`jr&*E*Ylemc=Y{-tJu)V_mIgJ4NU(OsjJOua+HjzwH5|7yNo2 z==8?o8Kmd(1L*o3==#+bpt7>|bhxF}OpkW3>WAju*y8{cTiUJx{&m@45RzoxViVIQ zedGb=DAI&3-S(@)lnfvc{xO`t@?fhP9txUCWIKhyKVB?VWA*HQLda&0!s! zfN@PS%Uy>V?etkXq!)rG)Mn@4^I}JOFEgtX`L%U+K)2bL;$hJ_IBnqW#y20}?n!?H z+FXAfUv0sO4HM;~43r=~r3 z>gDOuIg9$G(eHx}GEl=i6o&f3%Ul@jhO_!8d)jSB$1(zBPIOTt?xV9Flf~YNI-Gi5 zDddivRE(GE-rGuHEwWAxOO9=+Mj78{_uBe&a%4^*tfj<`jC0)0#T}6>F}2r@kZ27F z*(#Pyp0-$7;UX;-?Y1|UBcE1AWYoE{A!PEW&a_4}Vp=t)8=xx&0Ez%3vKCN)zOD?d zpW)K+RP#W95{QkgJpo79ImxwEgh&7`40I@903gBM(He>L3On(&ty+9uqfU74DT>3@ zHqja=+&+K+{T_f0M~hqqAVKtqubWaMULG`6mx3B>-e_TX20Z|vC=jCcR2ZDGR9v-& z2}jmwv3eex0U8RDumiY8*>Lh>jW($O5dk#ya|U@d-4~)rL@T&R6^>x3slWg%fw#;= z?gxOFD?o1%CekLX8<`uG4o#;fxS2k~^-yZ8f@w;YgEp;~e4@`b`&nH-@~yXh5}lN+ zZUZUwyOnQi2SAD4z_+sUBl)&7NBNGr1OKCD@!M4vH4x9oOFpRH%js3&*AM{ z$=i^nsTr>{$yWZ8vj2j#xJ(M!J9wlQn=j8+%`zbDk>)1~v6pRGGH`gq*efxG=V(*{6J| zj?}-UOPvFkRA&e+vPaeT1=Nc_{upYq#(PCxi^%5D&2=27?}NHzNeksL>75}jD8=3= z0%d3M?<$QP{Sz@;EqtTnWwul@A(J9d%fUxO7YalTmXztMTVq+L<4wg2tmvP)AgzX! z&C&MUtQx=b`_%?EYBnm!JG)=Lb}xO)hLZ>4e6t~OlZ>&g0VBsSGMIONc5WQ(w)J|? z#d;6BhnLr*;BB|GBR?KMS%b7nu{nw;)fVybTArzRVtFjr@}_+0>4Wmy=kJ!k`0Dq{ zx4-sL`OP=~Pbtp|nz$RgRP&^qF6DH3E~m?z8gW9P%=ucbrz;nyf1pSd=;w`%Kjo{P zcEt!d1fal(@Ae3%r>ElMoU_Y)Ce!_4M2(}`eU}w<*X7%Kjn&$SjEb~%yguM)&3LsO zJ9LfX!I1Zh)l*OM$%8)nAytNv;m$iA9PlVo@87U-F8XPDaYq`A`6UWsYn{lkHeW9~ z7qdA-B**AeItlXeG;&*VBi8A4aj=$+`A=@`KuZ$HMioX%^2am;_zLG2;iWF`~N z5p5QE3om8em1ob_84+>EFB8@hnPjvf&sIqH7Oezp)-;bA;JDt8>Ji zS0&}-JYQT> zmC{DZPn4ft$mGe@dfpjNd!u+BJ@4hOf+v2|64BxHfQ+ZzX0k%jRfovfv{k>=@{rYu zWzI&83_(@VQ@vp&qdm~ZVDn@&KB(<^-pRFFX9UU zDh$d1Kv6m*-BxWw3d;)sA-~hVTX_b+azXtQk}yg~M(xUHxMg2ccnPpUkuprPIvDvB zr%^Fd!=#S06Faum72kY8Iu@_E{GN`b^C@bELa5B%j%q!9$mQ zV@rL9wld%((}1&a3JH>qjp(r2Caxi-jt8t-a6$*qAdd&B0g;rcJ+tTY(x;9vU8nxb zW-MF>sf|F9ohx3ZsB**lM4jf5S3EjkeGp3(Nk2olgHz=XIvuIAq-F8H^>$NJE5&@l zJz!&U;%JI>R?vKAQhU(FFEgK*tzB^tN8!4q)8YYVlC}0L`+FAkcfg}n>O0U10j(OD zh;ffVj_f$bV7rmsudr4IvlT5bv-F%!4D;6u2T})$0TdfpqJLfjpyVvC3u(BBMlUv> z>x?E7n_X0@PT+&aHtzi-N+U)1Y{A7r_z6_gqAOq%2BV5KQ-Jl%u~xmQ1AKDkiH_SH zN3I{OC>DIu)5jYl7Nt5v;}){hXErWTZmR>`nrD99nK{h{Am&b<@W|+n*v`h~X|Mj9 z8Ld?cvcA27Z|A2j`eVS_sJ~+enW`+adD@*D|L#5S#I2)p$j{NuIbeEywd$9Q$7>1# z`###=bN}9Ko=66t&)0IkQS``zq|;(^mh#;{6jJ>Ur^j+Bm-0krJ5`Opk*R)`4M4~E z&h6v!{?iZ3@4x@O@)zGcm2dvqhvoC-gYwSppGvvt0okROky{^fOlfmzOZq937K_!M z9Y9yB$L=f*9;A?6Y=U84;B+-BBHJ`VvyBcJ+-^@P*?iVW&|jG3KvzSxBP-!0B@Lf-h>)W;2IH^`TIn`hTXZNTrterSsdoR(wL$UDlFnDNYGo-Zk%XN6lh?{SBTy|?FT?WZmSI+)s4P^V2-^*d) zc$sm(N4=1(>*$c?CP%yu(LNY6?=9FP!n-3~(i~o5e@AqV*TZfS;(B2E;4B~P|NQ-6 zJ@CgXyTR`Tc-8?U!votwj%-+F(H>N6$sP%B!mOox_JPCi4DT1rke-nA^BeA8huG2LdYnlx9uBK`9e}E6o-e*dn?lB=&kH>``##Fbc#ksY6gwJgJqdBRjSJO_EXUMi=;y?>L?DaxT#?M5 zD=;s+BLFkVGVE;u8pP*_bXh(P4kAvf!`;`pX(CY6abLG|r2CRFOFa`w$Hg=$AEXTe zP{fhPHAnEQ)+#|i(~X0x6

- Quickly iterate, debug, and evaluate your LLM apps
- The open-source LLMOps platform for prompt-engineering, evaluation, human feedback, and deployment of complex LLM apps. +

Collaborate on prompts, evaluate, and deploy LLM applications with confidence

+ The open-source LLM developer platform for prompt-engineering, evaluation, human feedback, and deployment of complex LLM apps.

@@ -34,7 +34,6 @@ PyPI - Downloads -

@@ -56,7 +55,7 @@ - + @@ -66,8 +65,8 @@
- - + + Mockup agenta
@@ -79,126 +78,75 @@ ---

- AboutQuick Start • - InstallationFeaturesDocumentationEnterprise • - Community • + Roadmap • + Join Our SlackContributing

--- -# ℹ️ About +# ⭐️ Why Agenta? + +Agenta is an end-to-end LLM developer platform. It provides the tools for **prompt engineering and management**, ⚖️ **evaluation**, **human annotation**, and :rocket: **deployment**. All without imposing any restrictions on your choice of framework, library, or model. + +Agenta allows developers and product teams to collaborate in building production-grade LLM-powered applications in less time. + +### With Agenta, you can: -Agenta is an end-to-end LLMOps platform. It provides the tools for **prompt engineering and management**, ⚖️ **evaluation**, and :rocket: **deployment**. All without imposing any restrictions on your choice of framework, library, or model. +- [🧪 **Experiment** and **compare** prompts](https://docs.agenta.ai/basic_guides/prompt_engineering) on [any LLM workflow](https://docs.agenta.ai/advanced_guides/custom_applications) (chain-of-prompts, Retrieval Augmented Generation (RAG), LLM agents...) +- ✍️ Collect and [**annotate golden test sets**](https://docs.agenta.ai/basic_guides/test_sets) for evaluation +- 📈 [**Evaluate** your application](https://docs.agenta.ai/basic_guides/automatic_evaluation) with pre-existing or [**custom evaluators**](https://docs.agenta.ai/advanced_guides/using_custom_evaluators) +- [🔍 **Annotate** and **A/B test**](https://docs.agenta.aibasic_guides/human_evaluation) your applications with **human feedback** +- [🤝 **Collaborate with product teams**](https://docs.agenta.ai/basic_guides/team_management) for prompt engineering and evaluation +- [🚀 **Deploy your application**](https://docs.agenta.ai/basic_guides/deployment) in one-click in the UI, through CLI, or through github workflows. -Agenta allows developers and product teams to collaborate and build robust AI applications in less time. +### Works with any LLM app workflow -## 🔨 How does it work? +Agenta enables prompt engineering and evaluation on any LLM app architecture: +- Chain of prompts +- RAG +- Agents +- ... -| Using an LLM App Template (For Non-Technical Users) | Starting from Code | -| ------------- | ------------- | -|1. [Create an application using a pre-built template from our UI](https://cloud.agenta.ai?utm_source=github&utm_medium=readme&utm_campaign=github)
2. Access a playground where you can test and compare different prompts and configurations side-by-side.
3. Systematically evaluate your application using pre-built or custom evaluators.
4. Deploy the application to production with one click. |1. [Add a few lines to any LLM application code to automatically create a playground for it](https://docs.agenta.ai/developer_guides/tutorials/first-app-with-langchain)
2. Experiment with prompts and configurations, and compare them side-by-side in the playground.
3. Systematically evaluate your application using pre-built or custom evaluators.
4. Deploy the application to production with one click. | +It works with any framework such as [Langchain](https://langchain.com), [LlamaIndex](https://www.llamaindex.ai/) and any LLM provider (openAI, Cohere, Mistral). -

+[Jump here to see how to use your own custom application with agenta](/advanced_guides/custom_applications) # Quick Start -### [Try the cloud version](https://cloud.agenta.ai?utm_source=github&utm_medium=readme&utm_campaign=github) -### [Create your first application in one-minute](https://docs.agenta.ai/getting_started/getting-started-ui) -### [Create an application using Langchain](https://docs.agenta.ai/developer_guides/tutorials/first-app-with-langchain) +### [Get started for free](https://cloud.agenta.ai?utm_source=github&utm_medium=readme&utm_campaign=github) +### [Explore the Docs](https://docs.agenta.ai) +### [Create your first application in one-minute](https://docs.agenta.ai/quickstart/getting-started-ui) +### [Create an application using Langchain](https://docs.agenta.ai/tutorials/first-app-with-langchain) ### [Self-host agenta](https://docs.agenta.ai/self-host/host-locally) -### [Read the Documentation](https://docs.agenta.ai) ### [Check the Cookbook](https://docs.agenta.ai/cookbook) # Features -

Playground 🪄

- With just a few lines of code, define the parameters and prompts you wish to experiment with. You and your team can quickly experiment and test new variants on the web UI.
- -https://github.com/Agenta-AI/agenta/assets/4510758/8b736d2b-7c61-414c-b534-d95efc69134c - -

Version Evaluation 📊

-Define test sets, then evaluate manually or programmatically your different variants.
- -![](https://github.com/Agenta-AI/agenta/assets/4510758/b1de455d-7e0a-48d6-8497-39ba641600f0) - - -

API Deployment 🚀

-When you are ready, deploy your LLM applications as APIs in one click.
- -![](https://github.com/Agenta-AI/agenta/blob/main/docs/images/endpoint.gif) - -## Why choose Agenta for building LLM-apps? - -- 🔨 **Build quickly**: You need to iterate many times on different architectures and prompts to bring apps to production. We streamline this process and allow you to do this in days instead of weeks. -- 🏗️ **Build robust apps and reduce hallucination**: We provide you with the tools to systematically and easily evaluate your application to make sure you only serve robust apps to production. -- 👨‍💻 **Developer-centric**: We cater to complex LLM-apps and pipelines that require more than one simple prompt. We allow you to experiment and iterate on apps that have complex integration, business logic, and many prompts. -- 🌐 **Solution-Agnostic**: You have the freedom to use any libraries and models, be it Langchain, llma_index, or a custom-written alternative. -- 🔒 **Privacy-First**: We respect your privacy and do not proxy your data through third-party services. The platform and the data are hosted on your infrastructure. - -## How Agenta works: - -**1. Write your LLM-app code** - -Write the code using any framework, library, or model you want. Add the `agenta.post` decorator and put the inputs and parameters in the function call just like in this example: - -_Example simple application that generates baby names:_ - -```python -import agenta as ag -from langchain.chains import LLMChain -from langchain.llms import OpenAI -from langchain.prompts import PromptTemplate - -default_prompt = "Give me five cool names for a baby from {country} with this gender {gender}!!!!" -ag.init() -ag.config(prompt_template=ag.TextParam(default_prompt), - temperature=ag.FloatParam(0.9)) - -@ag.entrypoint -def generate( - country: str, - gender: str, -) -> str: - llm = OpenAI(temperature=ag.config.temperature) - prompt = PromptTemplate( - input_variables=["country", "gender"], - template=ag.config.prompt_template, - ) - chain = LLMChain(llm=llm, prompt=prompt) - output = chain.run(country=country, gender=gender) - - return output -``` - -**2.Deploy your app using the Agenta CLI** - -Screenshot 2023-06-19 at 15 58 34 - -**3. Go to agenta at http://localhost** - -Now your team can 🔄 iterate, 🧪 experiment, and ⚖️ evaluate different versions of your app (with your code!) in the web platform. -
- -Screenshot 2023-06-25 at 21 08 53 +| Playground | Evaluation | +| ------- | ------- | +| Compare and version prompts for any LLM app, from single prompt to agents.

C3riqk2DK*N4Q++AuLZAup4AC)` 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�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 z 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 z%0D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%0DTv}xPciyF)J|Sa}OBmtNP+* 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

(jXw+B}k`qNvG1hKhFQ0_j*3@ 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

CV8ht!1c#MBFKQK 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%0A>+13U#|LSI$sTlI!K|2& zf5JbeJpDG#KbO(zt}_j|1Uy5;$!&;I0K>&OAs+ypH`h)8^MU)$Mn|9E?3(^SnLa?Y zTJb}aNkg8Aq{jx*$HrPD!U@I#F6>z5hXWikkPCL9wh+>xaezjLK*|nP^EsSu+U|w# zOL_wp{`TJKmd!5$iZQ=P!XOe~b+an-8FnCQ++ea@MMX?>vPO$~ClWTM>+DKYm_=n`FCmT^H&X>j@Nj*2+$J2%SAE+6pbmFBNg$(sTZ3 zN_qJ`cCL&nkI)`fCoA`|ted2!T^&m?qUkyKWuPwD1DYF~~-sKsn%&w>QrPIug;Ghp_Ij zJXy3HfRrsmU~+)f0T6gal2?@l8sOCf79eQ_Ne*j56{~#|C&Ee{+fXWh_)CB%5 zD@v7v$PoJM%V*$`wS8~Xw``-=_h?`hV4j-?a|o8C-x*;>Gp0$E?wR^7+Mm zPo~OBn;AaCbALi&6=PFS&Fp#cJ9r- zy?gm(`|#tScsK=VLNJNm!G?zmQMWc?Aqi zz_VS8M3C{6wkW`eu)_Lp2VTddjy|W`09BzI=?`t6(hd~kFHsxWnn0#xrc-&*dGw?) z5*CRa?L3_R+29C3d`tVR@jB>Bqjg6lu zr7tVTCDNx}NlzO}pe-ff!~J8kR5KOP`!&-Ntnv@=7srWlkM zrSV<{hBSc^nlp4}uE0cZXL8!745IIYzo;#yOh4L7@HWTh@Nx?NwX(MFuwI6p*^~KG*S#1l0RFc!}@g5a-K9 zlb!0vjJ>v1XT+}00q8NmCg>JxISZiY)v-8)-T0r)zbDp0@4JLehgLvgx0nwDNL}91Fw cd(~Wn^^3$avpOK2D|d~n?!T)KG73N4)yC* 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%0DI_Q*X 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

^E?UJyIYP(Z|)z_*6u4v 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

!mck0jad(co?gMVFKB6Ldz7 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

hAQ31txYVs%B+I!NFfd_dlCye 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

RWlW>6p}6uzuo9gKRX9}m^75) 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

&Jzgf>9kt@?bqp*AojXh;ihc7D}9_BM|&K_>53M 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 qVS?t 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⪙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 FVW$$4#PRr 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ⓈO+x9~SItuV03OnOgBZ8(tag#&=3-#m`>twKY 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 Gc&H`n#5#ediM3NdH;hzS1_ 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%0Alo+w)HWmzxMzk#anbJ$1THiXiD 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

$rAsb7b`HM1I1kb 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

X8yDY)QjaNH2Mrx2H*LM~LO39)WR8 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 z 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 literal 0 HcmV?d00001 diff --git a/docs/images/changelog/prompt_versioning_dark.png b/docs/images/changelog/prompt_versioning_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..af97b26be522d2b5194f4522dc4a14df127f1aa6 GIT binary patch literal 343136 zcmV)CK*GO?P)w1^@s6-s5~q00001b5ch_0Itp) z=>PyA07*naRCr#@y<4wsOL8WZbI!H)xzxpVb(JsGMO(Jpws1GJtp=%)kbu4jsUIvP zE{#xkx#6J^0*U_t5%;PMlG0EuT>yr9PFcDbrf-Rsn;v)7svMSSr^M#hL7 zBj?(?Y_HO(z1A2x@)8*t85v(j#HlU({KG%^;BU3o{_gqQ{T_2JZR^6Tl;Zqg~OulH5HISqY1rn{ElSY!X>nf%RnMwdORE6uD9ryslUXEB{R zbuu>?Q*3gN65iK5IMO51V8TPJ<93yq;heAs(ifSt>k`vy&zT>|~&MCw^KXag6PwZNBVG`hG$a7)@eEU&UT@}v>RajKP8}{(Cgp}E ztRj~s2Ynr6;$(S5meJ~RXWvpAORJM@@!zuuyJfMx*NY`8t+tD3V=PH z%{UBd(o=rbZc5d~j4p$upE?2OrOPbhF0tJP4glmTi_{Xp=PIBYq?Q z4*XuMKmW$~X0z^OK7-6+Tbm8yh=6HqnI?Ih!wwX9>dt1mTq4g?FI%X{`&g{cytl8& zp?V|oy=vsqVy~aA#Zvf&+6Fx=$N{DK%1`0})k79|epl~VX}8)_?Aa>4q0IG)xKA#M z-2P!TW?2_mS2x)hbXl!qPY)j6rT)fsusUXbQ|aX^WOvz`=lIg6{j|UXyKQj~S?Q3K z$u!N|+Z|Ok)x**;RKJhP!mPqVj{Yoo{hsmcmDTl6zKUZ`i(ojvITNk-qWoS+N|}=; z?Cv#q&=uXnz@voPcI!~u|Jzcaf z&+@nROMbtdF4m_$1{sgE@g!>K>D->#u9iRRH|U#`Ywh`ZZS8!q{+-)v`P=3Jb&36o zbh5vVhFXWbQ#$u@7$?d~T~{e!<-}U2_35$^{+0d+eK1qtHTfRj=v*0lo3`vc!FAI` z5c$SzAgojB;W9Pe?sf>QANd>gnJuW?r{*%Pv~7gqZU+kT1!D~yo@7s4)%p9a%ozLD z$Fnbo*#{}__OJzccGRC}=ZSswHqzL;J$FuzJdzm=;@I==Xm-@GhQ5Y=WqN2`_P(0$ zsZG*4Uh_zon|aRm=TPSBc#o~-VeF?#NV8QA?{pK{Zg0vfs@~k%**k%Ht~b~|PiM2w z2ivE7b2bwsBqYWlzh6!#l`5B0YnRilJ)GqCYkO$;{o! zb-DdNkEh%J@pyXrU;c}~|L^>7M-A!5P{YI~dVkaq5yOz}Io0YDG zP1Kn5h^dZh-M$ZERF$5hhWwmhi*iFyQ(S1~I!xKovg3hQC%kGi8p(Ypz~-$iauxxt z+eha}tBX|AfBgV9R5EmM(md?f!l61$st%(epA~sqRyG>+@1K*m^TnnQw-E{$n13cc zNStD&fGt*edkdgMcqjHO_FDyu8Bd^-Q$Wqv29*@0Vwk&^P<6H>UQ!pnfjVpumz#rC z7%IDRTvR;fEmgF@rgUrP>vOxDTl=_u+e$+Gnpi=q|6tSRi*~g=?dgl zNlozB=oQH&isojeS4KT$G6!h=lc_fRX<2at&?mYm?!dzD}g$7jre5anHCb$P3^4(;feTg16G?H)A-U|$PRi6*L zF#-L=fXMnH+r(k-(MZ`~wyupw96aqy*_m=!BK8MQ={Esv+3(Q*++OUzt`i(J#~;Wm z?gvA?ENIH@@q!5=XlXtV0N1^ZWQEsPHln?GTKRsrOckIxN)2$3#tI5hc3K^~wjGNv+#Ig7KU-6g6$w_x3yb zCZjiCLXGkSm0+ZI0L1_of+#9+Z|p085G||U8{i^+Re%F+1HeFA{9VT*whA@;s~J$s zD#&3VjcSMbozpzHCQBcOy}Oa^hramZYNnjKW^eT%k5 z`CX)(%6VIBB6qQEUjdA$eO*?x$aSo2z_-|~q>Mu5`tP-!6*NH^044xYFD65UVp#+ZqSpIL&!lcDohZg z4X2zb6QOFKN`ZA_M39rUL*4Z47`!R`NDVID{Cy zBWw{JP5Hum%uB6d+S2T87K-&QeHYqSP^oXrYH%NWL!m+7DKE8NI&XTuSx`FIyq;B- zZr8$$r+ItB8Es0jaRqC0D>PUrGn*$}Rd!oMs^Jzb8u z@G&*&Z52R7q?H3Gah}qg4QrhjDP~6H$e#;yul<}%(3CDTYA5|;m*ta(tBb~+k9<8Q z=J0+M#_ofIL#-E0`d0N(*M!j3fUl`MKVay=fLUoy)F+PwTW&`z1z}z`o|7vJjWWIh zND7`R_1D#Q4$A$^0TcrHM(4p8eMI{^0QI*-j-eVo&j=r;AKh1NuNuIUqw)MKI$6|t zv>$Bt2OH1EFfs$oC+DK!gc9_I0q`(+==xjGMTUK52UKUdSjRA?g?ZQ%*#YbBowh@e zAy-(my*h^*8U$dVB7=ivS>^`?;I1_q>WTZtoj1j`7BhBrFP+3^;Wj#3-P~mM;fw4z z+Iy+1kXK>cMpyQDXu>Nz-#fooUR?z9oSA|02c^;1ZQ1cWC+}@+-VVJ8 ztZf5)dLJNvp$VBc6T)_cLD+j5)Xm-lfTVkk_=QzJ-qDMN-Xa7C?9^l5tD)XxEz~*# zH~8KFf#_WVFBN*e793>c)}>?qwPsKSc4P{p%;oe zSQ}_#APUP7c#)k9Cv$)|@G_GA0IbqJ35cR~8SgqU(s=}B^}~LLDFG;v%awmjW{aJG zHa3m^;;I>e8y3ck!M2kw?ryfRux7KJX9kQ+ZAXQjDE0@(j~=;W&#qd@l6^0Rt&FJZ zXCH=s-9dv@P-;e_a$DTl`>HX+wmI(gx!e)0B7kz_IpptCRGqyo9`%DCMP_WIak}uo z0Z(-8cBvZaX*KQI7w+9#SWpfLOxR+AOCAN_I1x4DY}){n3t{O}$1kab znBgHJhIaFFvj7%`z}nI6PF{G54EwhuXM2laco!5a&>QHxkBCNSdtjox7uZp5Idee& zx|c~bgjd3R%TVx)QPa55-1nO0fu@3_TLi8~Qg&MBFjtxGd2^fesSCI5VGLqP(C#Y~ zNT+LNkWO%???fO$7WaWdojcsE>UV#u|-%exsa)V$W5qBx%L2HOzI4Z_w6iqQVi(vy&>OP!@4ZNADvzS zVvL@XVt8x3Fb&ZHbr3(cQBv4N5$97kyOG*~A%p*SR%zmIXtQBF9MDWq29Rk6)oGPf zaEp3|M}dI(;OGX;$#4eXhx5V8C;gw!YuGCD9C-6FB;O8wrgT}@d`j9>0LqS$ry^H% zDBmcYNu?UTF^2bNE4SYl`xwVO>nGQfmyPpG;DJkteGO|c(_~)~`5Aceyr9STe` z@5lF3A79)7-VEJ|I!W$JCESfxn>9s4diut7=9jENUfzlGGwV~ep9TFvr)C5;a8Zk9 zBcdjJCT9ydhg1Lt>kT@;>$nJQ1d+AfoBES@R_S^>fsB5>k2*k>^J&ZsS2eJw7`(_E zaSlchBc6BTwZtue!a8^&geOL{4Z%x3o$ctoFzjh&jMuO)SVJ_>YZxfM_=>jG zXzn4vPI~_fAO*r?L8i*TJ)D(*Aqe{nUQ%xkdZN%Xg`OD<$0cppMF)6*h_RlbwJeNS ze10=83%P^hUL1Q+LMADpqYls(lB3QV**IiEL@k=15krr zE8U|8fC;=tG~}0>f&c)CH;O)&u-OXQz{^I%pV>DW!b|y>;|Ay>&C47JKqGUl|6VTs ztOG1I7w3MO*SWPid{?wNQ*}GDwEbPaQ|}uAu<#Yu>d51L#dMqFXb+Te_eN)i_ISHL z{|qdueg=j~nX`a_6WN`2u_=vG!8peoPmzgTy@M{DM~~*j zrEb2!plb^usJ)IMETTNeOleRTr*~W%U9@r@VI#!CmG9IC_Xf~JCGhzKZxgWxhVWgF zrxrX>0FJzp_wI=T0Oj%A+M|Lg>V=|U%H{NYedluf`+w)}{d@m&6c+=@6+Ah$|7j>- zC>16*B0(=vPGZfdZ}>3-`KSnN6~xSx=$qlzVKHjCGtAGCIR}*>E6fXr@VUwwTuBqU zSB!R>zaa^7SEFKw<@SLrINfx5XFG#-BlsAzc|;S3rYI!xL7IncKRoEnY~#~fWgUdE zekB&ULk;!r4FFDuEuD9qGzIc*SSRM+x<0#98~s|gHj0rcbosj8-)EsO@NHxliODCu z5Tzm7oH1`W04k3pA?|wVaBINs)_8a|Y~@{;_e~w+?)|UW8$A=xi#|i6ETpnPrJJsF zAgY22X7twndx*QZopGa~$Ja%{3F)ccTNdRAz98*#lmDLdK8(D5l3OBY++tBdDedXR z3uFSt>U4W*@1K6uKK1;^?O*!jH{0L*>g)EEPkg^Uv=7_q`6G4R>z)nHu+C=$tNixY z^oDMtU@0#qWe(%jF8~ZqQr`9^bMMJx$j1)KBtet^%p1AOfiSK(#LBoki24PC`8@{E zY)~u|k3O-Ju};6SaAxIa)Z{5l$VY`1en8^+>qz6wTxl0c%1GU1iBXpYalbTh*v&oK z4s)DyWrdfUI@tcsX3K9D_TzfolMgj)SCC7&Z_!XzRm^XP?`YK6F$^hxbN-4shVaK4 z)qmJe+u=6fvs^LG;n5yH6$8}bB9#-bMNvML7cZTxxIrIrr0wQLmT{d2TE%Ljj+d4E zX>(z&vb@R0&Nyr;Z9bnn;~DCea$%j?J{mTtBf=yja^!LT9u0HO$e8NEKpd=LNz^s< zT(GWcAI*5}fd7Hl&haSjC^6x;&3svvGg&sA0rG`_#qP}7T>6}b#cB^1dIpf=NFM80 zq|pi(iS@t1THPBH`?mq*f*v}o!N6eNck5dvi#N|gz6__0Yy5RjH)LM9+%OyTq^+69 z#1cPnJ-!JjY3GWg_VW4nsQl)A!L!`Q%rLE=_}(XfOn?^x0$Jv$ys>s9)GmMIne$9; zLoKy-!G~v~uxZTH<>~t3seeb$j=ZnGTiBtBrgpoxG)_7Db1lcV(}fR;He6Y>zq*{? z?&912Cuchu0VgF55w8&BH#xT_ z<6VL=3ZxJi65y&msKpGk{HE|B$wj|HZs)G?xnVyBLsV zd0ynoqJla4H$W=~yF3>R?<>H|M@=EdCrFpVuwwvyM(_Zi73Q?76fJd`b4_BN~H6Mmu|@ zO2sxKxP{Nn#uz}7iZ0bUfQ^6LfW4eP9`}i?j$um{8HaruzH%0gC|n4KEapZhKnTHM z3B83ihhvtZBwYEXQ;6*lKnempo^O`tL_AOg6w&-A`0qhOa{(C9d?%9oMDn4?bH0;j z4Bw@{3&0}pB~J=~7b*X6d;Smq&A;~_If&vbU&3~sujl_WUw;_&D{jZL&Gw!p-ibHv zY~6-H(KaHygGjO);Zic)>~==#wUoW%0Pi?Y^zEG&iR=am&yMMk9*(MMt)Xv~prk>U z073*vP)SnU4_BEro%JV9L&$Z)A}(-zl}zdgqnaEiY%z8GC6*gNl5}>$X3532chE^; zJB&iA{&6AhuqTjE{7{I^ith?(w=Ike)rHX3du!&mRSC&1AfdKW4s}7_6$CFEHkRsq zfHO$HRZ)#QhHtx>=K%#Rjtc$OlJ*6S8$Dr^hOjf9kB18bEA%TWv?|C|mGoyyLlZ&j z2z-V@^iKOpd-v%(?U!Eti}o8|`f2;MpZ`hw!ui|n{q}>P;>0+)D{^Xk^ca|Ua3eXW z&yAnXUG)c*fwe4|Zn#fnSCl;V`>vd;4`&^HOdlT^b4aiw;7IASGACT1cNDIQ`m-2L zEw27a{evKnW%i`r9pmDf$%dpTnKm?!yHRM%6_m)wSgBpgO^g9c^Ew$<)xWAfRq|$Q zY=u|%=vwg;=Q{AX(@5%Cm_wicIQJX_`^~SDTA_=C3%^_aRmD#yu(UYc)nz;-RyQN1_2!A1%t}+?Cm96A?Ar7VC{9%DffE zT95@R)!b8NYH$x1C6+eHd&hcDCvAPlIf;9z-wZN?b$QkZ@^SNik#};JH~ZzC^QZmj z7m!Md+{1^uq;UKE#XkfSUPuzi@Hc4xB^}ReKb?bnm2c2DSRY3t!LVn=j^}oQ(DC^U z1U{m*%<0Ph;dG#GRx!^k5Ou#qrv@U9P1~;I>$u+0w1FNLLVLQ45B)p_P@+A+TQ$9g z=Raseacp~DN;#|+=WhIl01u7MQVKWeJAg*;W8ksjf>HEH;5N%EmSVu?&H?X1R^LGt zzDLx3>d`#9Fvkb-vDkmwMKkInIzMulu#6{#2OZ$a0`C_w#4{%fLwhk%y8;RHd=a3; z>VwA#z7xPBCU^Hb6u6L!hvsFXUMT=h82U@SOIWA%AK|^|K?4AWAWQ^WIQC})Lc^KxG$C^$mI#?B`lfAZ~!6ZC1L=N&Vhvu!@NfOL=VA59_VU5 zWQ{&gdK#AExU%FgB(tX;-q-zLIM@B*ctd#!fD%E7EW%eok(Y>m{pJ9SkK@S~gQ}dN2Ic@INGsx8F|!plGNq z1x(JKEWWh|0Zjz>kY@s-GzrxuV9ImToF@jL$oqE$DAABzBY=XCUpD|Ok`3x|`y2oI z-}#RS~z%sfbjKC zp*SBX)KJSTzehN1Dno^d*Y*nS1-Sj_LaU>6#1J3$qsA5-n9^52+Bu}mso>r9z7d7L zXBCI~&Eajh@Jl&68m#((2eaL03pWtL+;P>0A$9}rNGDCe9+`a8x41;XhXdML&?<8g z$UVlC%ysO_z&&HdWUlDtfe8a4DA2g12?()&F2Ht$*Zv8j8du-2`wgGXreUauJU`zq z8ZPVkbW^40>3nM!5q>v8cc0*iayqw<#qC!G=*#j@L1|0SiR|ck2 zPu)NJ* zssGwwqs$zd;pLV^qQr0aWKZsEH2QTb-ZEwWObRAr%Wj)qb`th$FW1YCIDg}D#%UaE zw7Jpnx36)NUC>N>R|XMl-)+S1BLBSc0B1VH#DnS%Lk8A)btC?cP9JPX$2H-UIv2(j zo!_9*3Ot$0b?e)`{5$Bt>1iN)DoRqgz>8J5tyr0i;{v!}EZvQYm_Y=5Z_!|aYfhZN| zLS6 zM?2U-4-?+J2H-IQD53%~*9k*|^|r+8M7>!Yhyj>FK!jc(oCD-Q0eC{M5a}AgjcFi#Rqc+Wg64rCzT2}5$JmkYrar#ApGX+!=4=wtwr)g!h7 z&I`SOkUIsS1p=qq`Y_`zlF^H24Lnk~ewf2VE`s_uwp7XgP^no&&;S4+07*naR4D_1 z;){(8qz}dg#qeYFkcxIv6Rq-vMvtL7l_J#~$@Q5>#L;(LGc0#(ykDtttqjz=oW}yx z>na=w5^YRkuaO8s@khxRJVRJV1)#9qwO)>A)m=It07V%L2UNr^Y|{n|Q5JbaP>lroH1l9MU~&BY6= z-rbFsm^3Ml@HR;xNgV1u%DW~Q!_TJ936&$b)Nh#t!-gS!RP3V1NUk!TwdgUR+mxM4 z;!tL2d8|WkGz=f5%fh}f;jRcSrSuP&T2kI-f1$FxIox||U<)=J^|Wv7+)TiN zaZ?@z;0*1rTH3v(Pzd;OyhNqDmP&`?zBy{d!uEU;XbfIs;*NI_7d*W&BB8`ud(!Y+ z;)Z-th2!-6+}@L%Gwr!aB-O{ukK4PiztO(>-Usb>e)-yd^)nx~_pcwcciM-oog}}B z<)^W2+G!PdW4o-9e6fvhytPlNv23w82XLd1S;N6{MgGy_B+l4@*M_!Hh4F~YoBPJT zgy*HmjSo}*hw`ah{_K#|7d=zlaPNYz?`9JLFdVv*V@zHkZELhEP zR6>$*dZzfT^eM64#%q*&_+53q0eG@XBf6}qNL*QK#Z)@5k=M@78jHNczA~}A_ao^Z z+75X>{yYDTkaKp_Os z@M$G;^Txlp>?;G?3ocG9wl)@vba%benFD3@dDer&-%L2}H6Jm?&iqvuI3j&!gZx>@ z;ujIL*gs2689E-Q980AUkTQLt9detb1(x1`0g&rmmFan^3|1_MK^E>Af|4L{vHN>lp1R=qo zYKuK#v@e0CrZt-^(!T@KgO3V`3!s1}mO!gyV>?ofXXCxsj+y5)M&ucN4=jev zAj3ynGuBuF$IPyNqzy%zHA8=$IJatd$Ii+~HnJ=QB+*3i;(?+`LL6MJ=dPZ*b#+;1C&y3X2IbvW)?eAN1QSYo1}4PAGTSKO4CY*-s+K)EP9 z=!L@D1S`|Ax(;3{tXJz_DVIG!Fm@zB=g*Nat!RU(-wJ*_?(?4O?&nV`$>>Ml?CeI* ziFZZ>Tmzo0aSiE!tG7xd4b)?MZcpvu(%R$eYkTkfllFN1PW!~^Pus74{wM8sfBEC~ z3-5f;-h2Mjb~;}yLXH{9F9vLyKnGAsIbmb#R7yC>5pPq?$|s(QQ8-TKU;wS!$`D8mlv688-$%+Qra8}>bq;VvUrG0@?JU+|}jorz&TYJnAB4Qpe8 z$h$PEURu8@nq+!qBhZvb7L1#5%9S=TugNHfz^f5JF?z;6YhN@V_MAwpBbJB;&@P~D zeWbeX;lDkPld6Yh-Fst6?xQ-k1^(C+k?$#D0`qPF6#F=j;pnuNdC&W@<6-?aWbx8it&s1HGhi*s--8PZ*Z`6T^(;4u z9W9+k@@d%j?;1l|H~HIpX*yjqcX}P&GX`hBg`7H>?~eFzuOAhU9+j^Su>Q@=WKf+% zxTxc~iNC+(8vzG(XuEQ?yfXSU6N(y6QFVzEOI%bx#ybW41h8rt9OH_3qH!;1X zZ*A1u8{T6UM*688XSa_y$7>PGQ{f}rTyjc$JKT2WMM0kP!Pjcs@6-zYqfLnVF{tXp zmoc+XW=tn=k-f-zBKZuUn8${B33;9l^>6^K2#&=3CjeFeG^lgvO>&8h3ErjrvwES> zYs8YT+uy2%UJVdn)=>5Gkh3#D696dYDWj1cF70}~X(D!QkAR2)L=xf)*ouVp0(b(i z74+fUE={f|5+Kq33&))w6+qGQ@||biWZM=hjLGM-JlsrE6kvUN^c)>1=)a*3n z`!!GmN=Ym`&M#zYv^{g~bU8&{*wev69+mvv`X-%$YLm9Rx=NtdOeOa{f>Cd<2CzN% zeW*I9$y<>g@m-I0WNlj&eW$^WqhYmHbQ~l=be}R8liRic?BcN;l{KL1sI9dy9nAC zWor;@By<*R+d1QcOCx@PA>;^1SmkEU0YRx%TgqzvOB+|H3^aoh)rETq-()^EOkc(*WxK`rxRQsV&J!$nczjV(=aC(5{So`|k?e%)^Esok!Z_Ql(u zv|oGwU$npWiyySV^w}S@_f9`(O_Id7XS@9&V9YC3C3V@@VM|ER*J)R^I~n_?y`3kh z!R60U?EUH^4-Hek?1#j=7%PVpD(d!4domv0kl(XX&J1_uP|^Ta#^VO8TsXMZ69m~c z1VwofJ7>>_ahTv+U7#!F;=$U%oRtrA8R=-=-=g7)2D!9?E5q$ejkX&j{-lqy;ZYzc z+i?>u)?2+fqSj^OOl6=9ULAW=zzxt1A4%tM!A2ua=x}DYfxifPkoN))M%q%A@Gz)y zB7r~CH3WIO>zy(zgBPq#-w-&5_TXq;J6-SK|M*Ru`=hoteI%b%p$S(jOZ~pqW$;2 z_rzj5K+3S6?o}N%ui1Di?QC)Ed3{xLa4%>w3}=-oCp5^iF>lAd9?UR4kShQvQvl8? zjB?_L5BK_1%8=RE;(oTmetvp9;6;R+g`AMz-@uzh=@yOnG%+%)O?ZDqHx(<3e7QTq zi7eX8v0YGdqr1sXmm4#gmiA_si_`^{pcYSrJo&;;XGSz6j_Hl5QLe+4}cIPo;Ug-ep%0lVu{n4 z8wttIWB4t8CmtR>$B8r{pakw!qm1}XD9B-68|o2aN#qrP(77o96r76Pn#f$bmtLLzwqdl2$VfDc}ljN!+|a9|o!A|#{t5MOG~kT&sN z!g?#cj5f4DNgMjT0%7K9W6O^r%#Z^GbB0i2_Pf~_FxSBg%)XBnF50D-BpzFCEeGwY zj#=Z(j%H_vahH#w=fFvR0oLt}{reUB)k^`CzU7S<^k z@wVe!gfs3Dy;eM5VxKU?Ie-#r$hp*U5!%}UP%4|>QUCLtWe}(Wg=TfS9Mwuy>I{HS zmhcHTeVQ>e3o!vB40Hzljk^*zUlYsed18Gc0r1( z=ZOO-07(?|uzV;?1`jV2`%iPAFpL+xRAwQ(Brl4BGXloQf9**-&uXZ{3@J48cmWSls^p$21HFy`a|aL$S)=_sx`_g za!`!2usX|xb`?M{WA)Z1HEQO#abX|N>J9G)-HRj$U;+EyKgpHiO(oiScf=$$I%Ptk z53kpUu~~})E+a{M(jAn_I2QmRsa4%sD{qq^Wb*U^7{G!agmp6B2Tns#Te$TW7e*Tn zT?}Qm5~|EN4SQ&sf`OHou#7@}?;tcF52$4drX+(Rx-pzQeUL}&ceH+2zW2>2yC6n% zI&8B27%2g{?6yg}G;tb{gixpJv(oi?zO?sm-)rwZeY1V}-S4*F`uV5!>!16uedh7I z?Va}hc4{A4oL})|ldxTvcD-F1Lbn+Woh}wCuUsKqc@@XN{T6z5Fd9t>XZ*_dn<~?T zjp4?=FTa~`^hSY+k|N*S-s@k=n-a$un_f_u1_g8Ic5FWi$SjYtP!5OI(%4l@$dLfp z$iJi2a8Da-Jg%VX24tF#yp9JjCa>{fQnrGB1vIG)Q^UMl8&g`!i<$RH*p2dZ&Uh=b zMC7x?D!zf`O|#_9BSr|k=RjgVl%uU6BPws3xEJV@M(`ujF#IlkB@dFP{TYq^G@eX6 zFnldcjPeyrvyHH%mN|d0(k!&Ovc_g*bWaSjOv|NtiTkF@+%(^n7sXVD9o($nW2MZm zT+17IRVah5wCps%`e#L=hh3h~$e&A-o#j&asH8cUNRW4>db+R{m-=UgR^=BIss!RD zP`BcV6&X65Dk$@ktlp!4+#*)TzDLGkU9Zx+6tMAX3~1+ueJa`q9S&!RP02y$-RjaW zHrDR}0hO#7=D3PXUzB&)1Hag~G-MU^q%i*j$%08P&Z(+Pq>r5fLr#;fBA{Nh!pnTTtlGgB_sr4GB4ifn z2oME-cTW=oR~S0X-$^+M!xjJqs|$HY0G6Qd26Sls2A~)~gXHTdhs%f3XDJU)9Do|| z=8!s>(*$Nl0UYqHRNa%fTV509KGAVTDjCQ2)MrkJdQCy|kjb7Oo;ZY59TYd5_e zh7{}^q`y&&6G*d*GSNQ5Jrwqul%!l)l6=q5?D!j9+%s(V#c>aiGJ*snKyWD0766o) z_e@lWFffptyV9 z(LUQ*&g5B;xkn%jHNFvSu@GG5L=f%h-LPy_*Kwjxy+8K1tA|#`HxaYLh5ZDyv;W8j z5~wTK6IF65C_>0ueg`0;A-2>51&QR}F#tt=?*IzIe93>B1H}@_YjSxD@udKX{ijLh z&z6AxBpxUh2JA!t<@(LLL4?@{}n>0Gs=i0 z4@@Z~hczmjh!|Zvf_lVo%B&P*^!5miL~jy*9Q4IKs*#yuPkj=RISkQ}G`XIO_2Z=~ean~f8NLM$=%|5TuYh^wcW=JX&^{zHqL==5M zrL(v*!v)GbG)DZ+laW@8v&k8%ltazFf#Y=OAAu-ESW_GPdt1H+P_}fL^ZdQ5^rhwF z#^$_Zn<9j(xyGu-c~UjYN2huA$sxHIk=o9Kz4Dw_HfX*fH4JDn=f zcSf@Uyw1j)Snt}X>QVzAP~KSL@+|+g?8KmvM6))Q_BwQ+;DuFVP98yJ;Hu_rT0i@e zK4SSPe;yHhC1jJVi*y0vC3NsU_WNUF?|85;JQ;L-^+PpI!t!;IuS7`|2!c~{|Bu2d zdKlzyV#mC#MIx6v)XqGp+?m|SIGR3_|0~77&KyHrFuX18yW~jgqsm>jO=RaieH_+e zAq&&NZ|oZOy}N&gX{~_pRO2k%*4+&sd{7;Boj!>d(`Aph+7<1G(RR9b(6fQyNhC-WE81xZhDdD2mTMIoQ=oDft=@_y4id9-Lbb3x{?$6Vm7LCB;H8mcrjdO zJuUJm02IG|W|tdDA>8uk_dODQ2RlGY8i#BBABK6qf|+E6_E9|@;#s5uen# zM7?P)IDxAwPA~@NdT7iRZi|3R^r$hAM?jgL;9lA%07H))^9*7>82L`V8S?xPcpVjStO5*2{mt)7uM{hkrR)Zz;yk8t0K%PkionCk*g5|raLfZ{vCpwiOz ztllKWiKnNM7?aN{yf14i-N`viSbm*9$!B5-<8|#pA__nvpb3DH4xk|HmW1FEZxqXA zB4sR5Jad^K*NFft*Y=L)Ix$ZZ0Z*6<#lRB@{iWV0rzb6UKHvW6^tG>l` z`^}L^k8Mw2B%b|5WBgR+|w<1hgxGId94exh04bW_t@{ za5LI)QFY);0!}wEns3xaZRJp1@#}UJ`4&J|LXSsW_hUOldnzF7kRjESK-=irR$nTqG-shO zhGkN!G0c7{UfYm9&G5z`8M>lHQw7R0J7CL<-={{|g5!92Bz*=W0lj-Fo(c!nDg864 zi+Z|-YlSC(QQ5|f*W+Qj+Q1Uvn+<6%k|RY2-?Sb-Wgg3%u|(i$2-v{4cht4v$H@Oy zPZVq3Ol4@^u{OqwxsR7^U8dekDy)*;P_& z8=-Is%vv~&&77=woZLAFEbfLSe-LhCv%i4>s&$n2@xkb2^-kAGG_c2YJR$6xuD7H4 z8pv1}0;gcfo%D~qDU7jV{LZw`bsUZDP2LZ5&wH4iGYE>Pa!Y`d>pSz(3+Z+57-lq! zGINFYPV2q>=xvP2bfs(BBk$?sj7E9iCk=K%$a@L?GcLb!aN6s_W~{+8h5L&qvz}C> zb=X{Q0F>}e`j37=fXx?_7e~iSh-P#$GWB<{z7P^OvWZ@Dq=y2- zP@w?2oX@>Ah;a;{utv~!z%^nxE|(KLp=O#?e|NB>iy6zM8Y4n*RBW7}$KZiu{c{S0 z5MAzhLeRL=0N6mAsM~-U%d2y2lxu)NiH{w&*G(wGl zCK{VOAZtyewTbFmg~ekNM0$BVxA`QPV$AK+IV>hzxqRFJ$7eJk<=7(NPUPqHn>*gc#;(Rmef*tA2Df=sQVnMvB0zVD=OHJBonbYkSVHrBzko^49oz%dh%= zxD>-6QR5u-FSm6}j|)<7(Azcdjq31%^4A>YPxaP^(M`(gHH*wsa~?!J6M^UTY&olM z^`x@}iMv`1#6&MGuSl{8M2KZ|RfbPqJ6%6+?_7V-KG{BKUp{}M{pJ^b+J56pPwjKB zzSAyG-)@&PR8kzI9^jsQQgy1G)F}99L&2@(o2{K<39YfLD=9R97qho9Y)02!(0u&i z-xEXWP(FT3Ihebi%Y=|XRrCIN=m($a0xjCvH5AUqVU5T7cnGHFURiJC+XVx0wV)0S zn+08`VkR{(UBD|Wl>j#1n^wNvDdTj#qn_bl8W`Xub?MCWx0*dZ^9W zI=p8dcgxN?6L;$*ld|D`)AnJ$~?Wa4A;Kj4ht3OxiyX}^DYmzsqv`+e^UOQzQ^U7<;-As zpH%8YuyNJ5;`+zKSl&Ya?-}b`Eqf6D@2IT`)R^Ry*i;p1%vj=8d$YCdWw+;tZ8fYU zRF>sOxu+iy;NJHH`tSX&D6jpMg9yVS1^r_WEE|BPNINqqIEX9T>Jfm#ezBfGr45B}+EXz)_n z6;I$b@Ojn)%!4IVyl3#AHM3_}XMGtEI06=qfRT-H{qS7=W-@#iKyew;<;LdH@}zmE zgV>q^C{%r4dbfnOV;{RpIQ9v$?r@VH#dRt_1IAEq^oHso!BF8S@H^m<;vDUH%G>~S z=HE15n^q(iA{>RB#0zBMzXLrwJ3s zE4adB@#>i(;D~sj$hS}a9TLb(0DwS$zg_T95f9CDG`s)+AOJ~3K~xk0SuUsR_4Ku` ze~`AwdJ(@FYsatm4?vqmP#Gd@avThB#Q_X3Yeezr77{ zwoE9JwLXW;JsBA5tzgB8_=XTxM)l2UL|R!Fd+1wzIOnjRS+FuVl`rmCNtXMm(;4I$ zmLtzg>D(k^5x1>QIP>w^@p_E#B`hJ69C<5$u#`Edq}0o`&8ta5N&4 zHjk1!N9gl(JGaNvsXeym_L2PkaBDxk{iOZM!ymW5_NhNny zUahg=plbEc#vI$|3)|#JHhL%UXIke_snu1`JQv$pxAm(?j|oq6`n)av!du5Y81i|X zj{?xhb9@gg4bvI;YV+J4tk!)OKksmUod3vwgN!A8Ry)V7XlCqPS&5ZLL<-B5tJ!pK zp}%>LavBut&Ns?JCU{>U(XrQtIj!c)*)JxB*Bb*pFN2ca3i`iM7Vw>IFdLdgqkkG~ z$wSuvv=^ZdJ*nz=gRbD~m++^5W1IdhKIVvk*y##ycV z$+IYuR+fpEv9NV3V_U6vGqyqdnOuEYpzTWg!@iV0nBMwcsrb*KOqMaup7w&e`CFO0 zMgCsl={?Vn*9k`G_cnB`ZhhpEvzIk{p^F%qFFYWmz7Y*T=@}wcNr0>?I zCX|PF%`?3|l%xP&Jdr&6972R?XfS$>*feNZGU?|TK!+r($7!PjHw-C8FiOt&2+?IU z_K;u}&WyQEv>t{nlf?7ZzIvc^00sPOXGygg00bIsF<7pi`$mDCQRfui@`UnnX}gL} z-h-i7<6$V1k83b%hItLlyv$alQB;$ow9Ma96x{=$fM8)=PWGD!1RMb_D`VPMWqN;R z?dIo4K*h}CBHPIZU?j+7rMua~1{s&=HR}gQ6oDIva$epZ<=)X23z;0wyOz5I@~oyV z_m)-KjS{!l8SSxd|FjMxxTJ3!SdI!vOQtE=0Q0NmsH=^12%AQXcc*%s*@v*2kg|_C>t}Y%U!@ zL8BYvb!BpJ!4VGCk$)64p}-=FtD86#&#rP8(->K7D@l^TQ>7-1HG4Va`KEmGBSxYV zrn4VFlwWloy7Or17ESv3x8T4%wR|EbZ61z9aQ_n1+c>^9K-YI7d-6ewY zo%6N5`}D2$$>)FGe)V%dY`^j4kJ~SQ@_X(5_Jj6t{Rr-W(8iVC*E5pEiw1X5BOhFs zl(Q7jA80t%6$L0)6ja)~Ri#xN;SMhsi zeqX@gJ(DlfxTmp>D4&NpPqdhIEk1W$j9vitGA_~>%3|0XD3sGa!4*LFt#U51;ojuX z{fj3psX)tYU5|oorJZ5kyL_nEaPCH0pP7fs_DRQu&Mnoq(9<|KdwGcZCc9=B&rNUm zcVP`}#u(|MyFd_#)jEy%BFkIc0&PCj7ys51T%OMZQ0Z{In*tIo8xJ?evfQVFrG~gc1V&jF_sZx=v@+-|vWtVs{86LbX%8^N2|9kpW>1BJe;izuceUo>EgF$f( zCLTYk`!DKyKdV#;-~T*1O=J4Hety`?7Xv7iT|DI&*l^fjyl9Zm4%~|i{x4+_jh<$% zal_<+*Rtyu)$K3c2w~(L5};FtFNCl3r9d6%&ByKnO&W)1f6NX>t z^wv9WHdNdE?ZU)%0waJDB3%^)u}-M6qxA@&u))s1E-qD$RD2Eo+J=fg0#Le@0oDou z1oEKA_UIMjGh^UHAE<#M7T$@6PF2$ePZaj8gD6a5&gAg~jp*ScMtq1Hf;3|Aw{v_7 z@5L}ypb5fqp&ojRFkBVAO)QbT4*#OLN}jI<8iYJ2lGxonP?YyA6qqN5Cny8pM|LZK z6d~Wqm7oR^%B#1G2kQ4mHi7F(Z#Ckoypj|ja?bew9>G0?@@(C}j? z@j3x5!v`i$+E zps6ggTe9bNjbIj?$NIwr z^%fpXx}koD!ImVTk^Co~Cz|g>g8x~Pc>b%2-8KIS024_Aph@H{ESGwqFj+hk#q+&} z_Ifg)MZgvDK0yu?@mf)D6y`q>Zx;>c1yDtDH>>1Z15olb%_e1csZL+Qcn?9LGDcSm zTzHT-qaQ*CPllja$!!IlJVDe$OVPu`!Ho!@Om1b!cULo>>S%r5gP^r`e4)?)QY3bl zqS{02+-$L}o#VNRpeDZkA#I z@AYB001GOiVf&EwCH5kpjpMh23T^-jE70$b^wvO1M~_X(5uQ+rm~y~=-BV{ZQ(B*f zEa}OWg!duf$TS9C(I#i0SEQ$|mvlA&$kbb%4c}H_liWI^Q3^3?@g6)WU>J2?#g0AK zFlxvDqn;iw)NXa$;0pK7?Z@rm<8QXFy!-9;*S~UYzxmk@+Pk+uZ5K%re~}y~mv*{6 z*ac|Gk0LQupWAbL-ChY@B>TMF%+pw=($W*;h(7DR*o4P`kf|4pKhEzD4rUue_YRYJ z*|5%4*6f6hDR1Hi**IJN$PC^VMKqz*l$E%qKSS%VhrJXtk}> z;Ih#$9;7FpC!EfT&t~hKeVTp4?y9FnSR;PIvH|k%m_%NOy9b_FeKBkc_w5*We#0^H z-3&mP88uQR!*~z$!aPiUbpytf3P zaE_<9&6Awjou64as(3+QRsnU$dpCxIeU0bA2%uJD-Q}YK6fwQIU*?Ma{)+~pM4Io= zE6cFSE#avm?CZnkvYbkJcL(U_*82q7+qnXIO&n7IEr$Nb&Kw)m``t8KXA_SIrA1}T z_j7Qe-&SkRWdoDo2Kln0A4ge6P{)lBBY?s)w01r1$0za154k(FT1jX<3==fhoC{g4 zN{31JzQ`Jw@(OJ*DwIJ=-n`di!pJMwe%WB=A@Tr2YKeh7hMVc{xBN>R2Ka)3pV1ci z%lhZ@)Su%>guiKM=XYQY=tiT;Cv5>t=xw0=o-7_7H3NVWKmpvyL~P^1=tvXkX^2{;NN&gD+cJR09N2<&XI@h(uu~J(>XCVlC?HO6-nXYx*b!-aaB5t zJkaG{IHv>i@kim!}Tlv#h=274C z8qV!jz{VcP6O-FlfI#dkFJb4)*s;$??Z@|G$ICQi-LX!6Mk|@g!BHmGp}cZk*`6B5 zF<0-veEfEomd4i=DCL}MwtJOeK_A=NuDg9x?fqN>CaF(nKPYSTp$84o5Aa055{B(k zFB1#pCBTU!jTi7llgI0S06WB+MDm%aw~2-D(y|7Q_;d3vK?pB`C*qxg94jIf@%wXo zkn7)?1Lf9E|L6}8!V8xG2paTVbeIgrfD6$UFhM-f82}QK&d}iMx8jpx>WG55CHbM& zYwmkGQLCUN6zY~K12&d?durIU$zC}$*S$(VXrQ7oBFc;+;}UG=OkQ$24v8bA7}6br70eZrq(E)895ME@oAIrJh9=eji-h+ zI1@K6=c0NShfsVt^kMSdvf+-2unV$fF|G#R3;^8`8Yz*E^5>;fx%*w7rvs86_aPgU z-T*|&ecKo{BhOXyl6b;F7jE)-odhAeOP9c_gTd;Kv6hB|5TbCiehU7+$6y}EK2bY1 z76X!04}FQg)%qURXp#?kooU&SI9`_w=^8p1!4tL_+sSBsrt5~zHjtQDJMCXSQtyvF ziS%Y)RHq7duE7XW5iJ2En`xa1z{$#+8mx9!svA!ZR&%7?T?WU@E0hVDjum)+u%u>z1nP#n^`MCLn!CkWL^b$>y)`R@1bwD?NC0H ziY*6;f1`|2Lnn2h41yfhIk^Zj1<^v^HuScG;1Os!td-DjF=$nMrbE~R4}x5!h#}Zm z@-5d;HPd(O^GA%LUcn5J75b>_IRJ^nx(@W!UxRL1$%u0O#;{!E({%RV-HP`3FElvY ze~0WN|=A=B3>wx%LL$wfFVdMuX#`Ooq#L`zF3$p4eceiP6b!c2Ei0*L#53>`ucZ>$YgsWdZ`pGt4VyjW0j7+@|nm$2RxdSM;#o<;H z5@6^szp;lrtA?%&XVqTJu*bg0yHLQUHVO%JvYbjkxL6Jj4@)+lKaPY>pxD67kxR7w z%IySNsrzd1;1hX&WJd_AOdHpkwVkc_9))5TV51Q`_n1m8>XWx#!V|8e?*asKT|Wy{ zq9L@fs6_BRh6eBx6I;HM6$UE`-SXS?FdCp|l#HLmx|N|LfO2pE_sxLJ{x%NmlRB2f{bsfA z6F$9u2aV-X?L*HrmakmAE$Sn*sdrlV7+T z5ueSN>J7$wM33ryoa-ZAtAMfPHnXgbr!Q8L$4IG zO+C)HDNksi&N4ztBWBOcSK)7;*PY8bzPF{JMAmcps$Gb&rn?kDws!#@Fc^JA-tD`^9ps)n?^tfxde$ECLN@KHwnNG z3Gby|G$Aw>fE0S8@H>Dt0(f+<4xIc2&_I3CZ}Y%W&kzgAMK77)ozp=TfHeSZ;6XxA zsC$%HjvDjA5ugLo0AauMcP5u7kY!Og@Z7)^dKj6Jm_S$m-fScmk)wyMCy3S6f-4it zFUU#MFaNid+oSlf@LdT!naLmaZw`Q_b-9V~+!tg76sq5IA295>u$dYDXMN>`=c#%b z&N3T$v!k8Q?5&%Aq_9>M&DXqYY`-rmm;q9I;MlzYN^BO}JNiTT8KN@?)ZqhM+?d%* zsdtT1M(nq=E+VmX~c>hIb9`gAIT_2|7{kZVEyUYEq#TM^&p&WLiP7>-#PT zQ{6~=4t+*WXQvX?((YrO1rPd{$&UOsHU z@u`2&{^c)xt9|}6-)!&RzT4ivzHSfKPq%ixw08b!Yp0LfRg6Qo_uA?9X!7K#wbRD! zZI8X`cT?rY2vzR?Y3(d1NN7CWy58+=GIVclnuXi6&X4ws8eEHx>%2rEdoV^SK>8ia z?wr1IKR9N7t|Ib|L$0q)j_Z!;U73@Gq4XA$@w-}ochwihl8s#}eIH11&~SdeG6yqK zZ~B@+gX+VA&q^JV>uNHd1BHCkvKyROU#NFwuJ+oi<|qRlx@K&>>Cj^P94m95g!L8M ze=Ic>uHM`Ldgt^3j~j%^}*B7pM7GG$TL`Wj<->sx8GzjJ=3GH7no z9lQ;E|C)hbi(`~xKJS4yGcU||#(2e>C)Q_=k}OyaI^RJdEvPf=TvETYklbUAXY>uV{aTYuPPgh zv1JU_uA#~{o+!NdnQRgz=qPowUEGw0hX5xLZ6l1BMda|QGjL-7Q0(BYVd!m5o9R-M z%3E6G=()nsPTk{y;i@c5ma1^p56gj~bp@{xcx-f!5Vjq2q^Ku|CXz>8^z!I=P&jT$ z^e&Mmtn5kdfA?G~^1TGjc8?V^eM&v3%lct`)to5;t{8wKAPux;)FJ&s$S`~-<@LP) zFVbI+d}1Jpv_qi8E?o)$q;#~pwGPXJDXhhBQ!f(*Q|N_aUL{N@Z#h;N z;!A)P0x0xA5&Ncu64MAd$bo_pX!nC5Yj7=tW!!$~jj&xX6v=s-J-8S5cimG!{ekfU zfWk?@{?lj5%lp~N-t8(ZcO2-H9Np~>)dtX_@I3JFT@(2>0u!Z3uvWr5Ib^6uX&+b| zqS87YsNgx!K`g$WU3AJliK>g_E5XQftJLvrAqpdLp%jr%*akytoeBZj|$FD7|r4w4~5)IupOEZ}1EXYi`EYT^5GC6;buqH$&}9UjvGJ zgby@PTi@%GMZ&zb)aCWs9wgO>x?zjLVm<^qzotsM!XY=xee8xc2N@AHrUz!@Eewygz38WyAj-7!v!DjX6`}G4fG)UKN+OGDQ>l zwKvE2%7&wPW?QTEPRD7&aAQ>E_L5~X4hGA2cerMwadn^*K{U$V)qyWBsQrSKAvYTT zmIu1fpUkrZj|Z8tktYjv$0ECDhoY{x4WMYqz=KXK^X*no_N935IDP1Q^1U#44*O2{ z)(yKR4+c82bNSyp=W-V)xwkIe{B}GK0zqH8*J=|Mri(gcTw`Vc?6HJ61}O}~arsm6 ziy0|!A%BkVanBQi2KG(#F44L)3>fZpBNUf;c(}^h!+J51yhI#%5|MKvm~Df z$bG%a6;*heFdP{2u`u+N0V48DLlwarg`mij{!MTNXMQA%CxFsH8V7e&%SXRCKN>cEwg6;NUC{slAOJ~3K~$7je>Ij09Lar(9xPPf;-&Ew;DL2^ z`}An}i+#)O`EHqP$l2Cb)p5_(wlae3)*tKbF}HxE^M@yko=O{ged|b^-L46G7`m0pjz<+5vWu>LKOIra9s%F zg?uI)(bd<9dLJ`=H20hU8{|Nln|LDi<&aGPi|Rqnq>Soq+1c&3o`bNy;5I zmfoJ#Xx2BDNdl+ng(#^!i9FhzrmR@o#J^>ax9vAn0_ z>h_(cAjXyRAw@d4G^y>#(jJZF)!7xF#|p9a#Ge_dSt@(nfEV&jdbAO}S|ae0h4~=J zHLO(cQRLs5FzCXse>d7k`lz(*oH)BOcjisP?rt_42gJ5iCCKNtE^Aro8#-T_uDt)I z1S(h}9!Drmms-8OAxN_bI`e>nawhD7FGT{hKP;2@x6&8V6h4 zMswfttJe_At{5w{{GwrSW8;cmC!3dpG=hS)VxYFMm2E{jg#t&0VwXqu%}{rK#(Cn{ z0?%&fxpGr@GkNvmEViNpt~h3zy(zh;^1-MQc`qK!Rx6zFE;h&2O71JWL|bY5fIny5 z)93Led1hFQ?A>P@~ zfL>Rs&AP~AfakQB?L&S)x91m#AYn;|VEDazEN}UP&3+T=KLWj$yAswq&(ZvrM*9+& zq}N|;$Pe>tt>-;q?W;E^MQ|qTK+)5hC*i$=`#~2fzT(-4;o^4XAB9nsmxOs~4*Hk( z9=EIH{VwL{xmO6%nIgx6qK#-?7)2Tdkoy^jgyTGJi?t zi+J{y3d!Hre+Om9HGpOrtfrW!!PAECt!)Jd*jDThzzB>Np{@W>pp0H6HRHPjgalL~ z_~G6yc9u5K1R#pkCl?br4**c$S%GBjOiYh5kOA@x3DUcVhN_&JA4U4t0Tlh-JzC&l zBG4s47H#NsYEOcaTpm2Mmw+lVs|t2_TLP4vVfxeDArY)07=pYonoHHZH+U^m=q$ho zJySdsnSn3*o?*sp&iJi(pr9Wddrv&idSo1$Cq>u(sXd9eihd^qFaXQ=SJie4^98LP zq0Rhf0Jp+*Oad~)60Fzpc#4Z&PW$oh2R-Qtzm?z9 zcY6Rt9!d6y;QJt9H-n$|3v)C`&;?y;&r{_k;7JCld`y$Rtk@xy>S=B>NOe>XX+4bB zE>TOK5x0%IC?#Lf6D4>ar5rtRk`xHZV2O+5dSAS>bGz8S5O*2agoWP>1Tje@xkkhT zM1Tzq*QK5(@H)|F_U|hT)uo}h#2ZCG67fLM+$aD*)Dz_bfaFo@l(J8ra9$J0Yu)ft z(R?T2Uk%%3;E4q%ln`Fu*82kv8QA1UBW#YXH$6I8h#wMJNs>JhTp5iDW1p}dOS2Lt zLxvVE@!Sl zpbrDfDG0!O2=T>Tt#v}^zR@XaiVxahNP|HL4&WES zDjs=evWziTc@7)T9vXRb0|*TsC<$=up%wyt;)1r#Lgyuc3L|&H1=&c|UnzOAGKbf= zZGhkWXA^p<;$ePohfNBh+G)jaTevcss^qN+K8D_d9471?6E{`8!P=JcNdEV9er`{v ztA^$h(Iq$B&f=AFLnKzLXE{7Pv}a2Y|ELpwZm-V|?R5L7y?6U=`|9JLv|szVZ?s?k z{5RXrz5B!V*gkBh=aXKv6UF9qd(}?rF7;YL7|{QftK|Azl^X&r_Z}*2wD)|rw+XWz zT}RdJ$@yH@7ji4lk5I?vM(PTHV&6}_O;|q-y3RE_ohKdhH;YF5NYi`f!euWR`6zV3 zYzUJ^XMLd%SWw8y76&68=lHIH?+A^zbSpHDZO}qP)Aw}Q*Tl|8vsbPUu`-`xufxtR^m9_rD`R`umE+`FDOe6iX1j%AjMw;X?AW5Z|&!HeeDI_ z<%OW3Y#L-<19_~2Of3$Nn>F;(!A@j!eO^tAc~*#kNb#OJu6n~qSxFhmXW5V+<@gSO zvdfkgIFNaCLdO>Y8?((&+T5Yt3zk-|uaFJ9d7*M2tA63uz5ZlyaVn!|V0;6lKo*5>wEy%nL0B%RvJ?mN_h_X5l5 zx)3|%xdvilf1(X;1vHp}CFK}R=c+{BZd)Ekf3!nX9xcGd2 zHc`=NA3&+(YPg&l^dOivxUMbH0Qp7jeE|p90ZyP+n9qu;j#xBN)lieG#Ii~Irq~(v zlE2!EP2vf?t>9S!3`#0X5^n&CJQtuu0TA;B5s(DniR3-$;k?A_6K^;tqrQC8+1^=G9W=5myUg`_%SZoXJtPT&sKRMI2P%jPgJzr`NZM+b&D z%X!XpGuibdh`ipnpg4c1BS?!4j}}`5=RCwi+@Si(uExDp6<|jHQ2@oB(XPPFGJAYc z5OPxnkOBd#%8R+OS|m9I)3D#!j2pnGg6;aF_UieY?Mv@`yM6UDAGW{znUC6MUwyy5 zfB9}Z-F}SwDkllkB}PMO*}}c>4wHg{@}3I?_f9lSn1X_{Q$=E$?Y=b@&;d*e<;TM& z7#H)=_uz)%XY)xeV+CTHb_)n~?cDf{bq{@>^|R<7JL}Al`yaotxi~V44o2ji#XTFF ze!r2-dleNluV@fm_;Yn8yf}H1gEY}I*XL;ZT%-BKOyX>&Knb)WfF6|!?U|c*6CjIt! ze_R*yOC=-us}C~WO^OohtM2=7fya<$8ovzsS9(`8&9O-4h58`RZ`?qX* zZ}DW=MIOt0bl%4&f_NZ9>boWQc8bRJmd}PPq|dWHQe4LI^=<|!_rBY^C=|zdz@rqPeQ&(Ik@nzIk?77dc{IWH^ja74es6S{msRy(G@M0mpQv;*f9@PHeL&kZo z8|-@B@_an$u&zXFldEP1Oa{w77k(z+ta(RPaBg??#sD3cQsj_?{ zUMA%kQHgH(N>G0Y?`0s5zaRR*uwMXBaJ{bQE@3Dz1vexyz5HjMAf8-a`v^;#0x{Ot z?%C4AZ{b@D1*SwI=!1IUk%PIZL6qJ<4NY$OP2wELMN{`W@ep0co7Sezk>PG?CrKVE z?1$P?f*~FA!etZIK5eev|Gs%egZA*H+F%m6X_e0;b&hPZx+@LR#M*FxB-uW(P4=8A zRh!kb7}jd$brS1#S`7Ws#)otVURU&1iQm{t6CPBXq{#@j7014@%Z23X88C|W^el~C zqOz^9hs7;=#mfYB8z2%IQu}7e`{TK^h1agvCOK9hfBTPa3mjA0y0tGRoa9?Z--*r< z8AMSo)*LCpc4zhv;aqsH*u{HSOA)3^Knh6|uihu(WpaZD%7c2KSPm5P6agTDMDgNv zqDkI0RF@@>54lc|NS?V<5ZVg>3i6yho?Zhuu{eJ}eIcCMus}ws zSQ?ZG-c%kS{lJfky82|i010G@LkG2L0Ra?}VZGRARNQx+3RvKdRH4qmXR4V^z!gN0 z{VxcVg9t-eWu?;B@8PiRKC9>_7yxWyyD|G&2zpfp;zl()DA-K&vnkqT>%MN|+}rO2 zOawH!TwA-CH;Uf!P-Q`s7pu>d2T?X2udmxH5iqwOx1T$GtNq&Ne$f8PXTRUR`1q&o z-O~@+xqaMjp6pg;!@_Zqfz^{G9z3Yj3%DZu^W1Ky*Lve*rtEij#9-tsB^n35M~Ot7 zJ)@r&4UG*7(&UzUL4T@#n55r=U& z51B(DO-4Dp*V&zSgTXF$WODn?MBF* zz+V+eQ}F-LXB(65jk}XuzxHwL#rHm79?hi@jWj%U9`uK-C3#4qD2RV#`tTk6`h8E^ z09YKCk|p*dc$j3bFkQFdz3v4IW0>`E@6)4t%lB#TJgQ@0oiLW8A>CDP7IB=HxOQGB zFJ_-@=5$ZyAZGX*{Ve5C2wsr)G$ypJjQ-Uc*LtJpZrGPx*2KLpzRz+b%K4(hFXG+3 zycAXY_N-P3``TNP(X4(2Kv|uiqjj=cPb{|y2RA!w#XX7!!1gW)#rvy^2b=d z=ingUv(M~<880==7Hl8zP_Y~+_89>b2Sd_17{Ca^XCsMw_oTs*4?u_ZM?FO3KbYKM z#23#IP>7x^@~0+`w@_Y;Z-Qj)2;+s^AJ(3E2Lafihl_cKSRFkVinVLW*W)(;Z_b|Z z9bgG_x>(zuQzayfx4zTMgGufkB+#sEGAVJsq!*=I;^BfCYVH$cJ4=T$Zs-yH~w;9|8djVDW0{ z(X*{qo~t*?NdS_jA++ED0ubdL0Z8PX04VBxBH_3!6qhHD7jF^dFp>W>T$hIE5+DWM zB}g1E-$@yGm*{_zJEe)IiiGWwoG6I4gYaFHWYS0ELGhr0La+Zcc%YO^wE$2!8J$55 zlp?jmWtTBm7twAEIMWv-*X2|yP%o71o{YMqq~=^L2BhRK=hd!QSvhpgWLh-H z-rEtKl)yDrKaR#Ud}B28Xgbr^$60_UaSiJ4EEBy@c7_+% zRxEaxj94JwMphJtpjkBv3N5rTlPxQs=K7=IZdH~qwetc#ALb>4r^Zum@JsueJ~w%? zyY{7#00eGmnL=;P4EhIDQq=FBCjOUX7R3BaH_D zWo0@hp~R{i>@{6do28l~^pKD&MJOya%wz8o(-_X1BmMkjsZ+&U$$4;besMz@wQwKi zc_MsAhw)%l>D^~JBo^12h9()JOU|^Ydpw_Wtb=d_U_nm=8w&v>wbNVTdIBh5PKMi( z(ZE2C^L7uz)z9B@t`JiqJXv7aCp{Rh3LuH}MF0-~08rQgg21aowg83(1Gqvk#FDsc zvoqPko&-PW1ychGmA@=sta=>Dd%5jTaAgNTVYD1Z_K?3d+WJsF9b-rwRf6;APqTC#Ph`RmuTp&%T51N@WcTW3H2p^TeA7H zfF}f40MLl%2|Q4wJ|>(0*ga4*R2RKZOnNxb!(fI&7XeTPQX zYB5n592cg++O|S$cEM9XCtC%qZ`TlXaudVKs&0gbhC(9gePU((QxGz67Tzm^@GNGG z#P>1C5IzgvjNKUk6x2(w179jTI}i7dNA$HMcTo*Pg+E8BCXpzh_;+Vl$mRMyoXZ> z`wUXh#dx|gnIf23T|-W#pSdcYDCF_Cj4KGFYzRsACFd9wHwZF5gkoi7GGB$mr<7ts zHsQes;T=^dE~->KwdeNk?Fa3>>-XEwU4GQQ{QeKyFMsAI?H4}%!}k8|JMG=;_XIzN zR&l{CSxGdHoGH8scWzA)aPcl7h(ZA_>q}Bh37Dci?}nmm1mYS_0MbbMaa-s_aCLe% zz4de5tHNyRat#~UYHeP}&bM=>8FMuZZHD>=867I)dhNv6dJ|M_4}A`e4&zTBI)IWH zINrQpCEB)|{mUIKkF!T4 zic9XOtgqo{+zR{g%J+vu5hl*5z;lHtsca=T$u;Tft9keIa@Va4Q&LP9vXfRnZ*hOUU|`Y!unV7VDfJ^ zzSwUX9(O&Gk_XBlo0F`afhQz|x4kGsT^(il;dT&eU7g3H>9~jXZ==mZ&w3FUcr>o+ zy@MTgk{rtHc&GXN#&yiYKqO%FK8XVjbywpr#}Z{~-~&I|^e_+je8&T2N^=uF`aTLxJ`I-S?Hwke<*#dXwE(&Zi;6i2!4m;b7D5Z2MqEuOxQ2%No}Cv=#~D=DA& z{fLx0{Ct+=b-<&KeIw|W2xg0F>Zmf*Ak+0RW}9o5i@kA&A#6Guz%_W1$gx zvj=b<@>-+Z%%0*Q1QWyBn7I)5plJ_6yYUiXp9k*WG?Irz^3Gr8VPXIZLU>tDAO-8p zsBUK>dVh={3f04NJBwLQ!d|Hu#Moe1?*Y>V=s<#a15mCEDMgPIxp7a662oCxxGeqF z>JOj`fC=!R_E7*BCUe((CIn2zuv_q8A;2Q#5N?a!FU-%Pc~b=V2mp%G%IGOQU<&W`cY0$#!p_&h zJ^XD!k_S&#;_I7WFuh6%G&u&jc(naN~5- z$Tsjqfd`5wkq-&rHFVbn-X!W}qW=Ma5f2mz<0W1!ug*{H)rB4>0-jh76a`PM%IW5@BS$|s+yR;zWq3jkNC^HFy`*g+X^s3+;-?aMBA|*y&N=c zKgNZPg($W>fCA&USF&COmZp`^%`-q{!`#3qnp?XJ9&c5+#7jE=b zWAJ*@*bm$5GD&H(F$fkMI6O)RLZ!pP7$TY9l=iueH`1Am z6BL-0DGvu4C9<8O)h;waF-gYv zN>89(5XMoBZ;8&8B9QjpLBFi_2V_nj%$2&>s*EnE^Q;C!|IGjZAOJ~3K~z@FE5crFe)Mvp&4ugY{2Lvj8GE$6$h$~}6LKv>l` zNGyv~l+zXH`8{+ph{@QG%F`zgt?zo^ z$cLiOH9QwU6apxc&>i5203}WHorr}JV2S)IAc}K-M?a}q;%Jt;UM^&kwG05g_E z-ar$E^Mcn4{M8hqHSmNGF9^%Cy8tMX1EpG2fI0mqEUjH!MK6_C3^vN3qTcOCef^_# z%@<+|os-gILmJ312%K)b=&8vz;s&B}5H{REZ1FKxTd^^BMlq4=?oz3pm~X|yaP=|! zT?i&&a?^aThcJk4xr}2MSBf2wxyE%KJdsaMb%IqUpAZE^Z~E-S5pd#vBOVF4UL!UszznvL`liwQ ztbm&iybD9GL-`>o}*QROWLs!nM%{Wio*u~vl`knW)lCu4FizqU3@O@|> zw|Aev+dkdC)qeStKWtz9?1%01pZHOG=kmk$aQkt)+&;qEF+`R?iT*3zO&+33_(WWD zvE7}n0+3iA&JykmAxT7R3I0oA>j{f1rFf4kTzR!cP;1qx1|ueo8Qx~5)lS3yjZ=M6 zxYY8o#?)IUzlVI8|KxBpMOinXIkRo6n;wF#eWfeAGU?Bzj$rW67Ht!%26Oizd}S^| z8E9h1x5Aet&Ot$EgL@hHsNPT?#}s#7JJdNJl?I(zh$5b9Q=d01`NA==FUm&*P;7@d zG-PDDWaCZ_Ei_wxJL^+fJ&!%p+v@eP*sW-jVya{ffC>SWIL_c^Kj=PxOeVevev79x$cI&<=6uvf-b7W^nq^X{T>=bg2mtO*grZNbRgKWQJRLj z+-|I<+C#Dt>W=YN^LNCTIz@%jGUJ7*L785RD@IN3H!EfD82{TWI?a6(JW`hO&OLcY?&LF?{#|&dI4E$B080Q$rNazMrKtM|_{_Xq z@%)V6<397oQyc-5R2g~9F2PNka-Acr=lJZfj~ivebYJ<r z%Y_Z)^#OJpyWMa3KsXf?56odQP#{io1Q@hZ(zaU^w)4@wfKVD|s-9Sxb!@>cf+zm3 zwg>*f_ger3Ep+b{zgTJCB1ARnV5l&HLaNT#T7znXaY;C9+<&(2o9Bgs1NsP_95*Y+ z5MmAn5HtzkiPX<#K6c5{Fz{&~0je<9lmx10XQm4|0pvb97{*%*LOtBp( zVHto(m;;9R!nFXig#^zOpF@TMBaeqmvdD|Fl{pCa1-{b@#wwnWpBU>T+G)DAvX0-L z*4waH$F_HES`5Em*{7mNwEAZrEgP?lVqaSUQ1UwNHeSeb`Fo|F68JDWE4{6M*;^&I zKLakXjwks-V*MtsM*56rfoeQM`I&u>axH@=X%Jq&dQ(Ji@zHafk$&R-p!7DoJApu? zn}BSOeV4Tl^@pA%=m_g0@TAr~^Ey$m!aP#M`$Rws0Z=6LmH;A>P#!r?7>-NAcv%h< z1yqpVM7>ZH5P1#o?->OSeV2nP5XS6~!2gf;1s^ zR%av`Xo9gsHDXXc=;dPl=;G9JT12LHy3w=5W>=r1d^hp;sGXz-c>%qlf|lmd1PYAo z{ceYDGch)wyffqn-YN(s7Q;`W=J}zB--PXF!lqD)I6uk<|37?vB!nnJh@Z$3$TmMh zmSUSYT#_^6F$vZH29t{fNNgpJJ!UdtX3jY?=Wp-#g{tRys;hf-ueIL&eJ5vxdXLV0 zd#}~2f2ymitLy2iy7UENpsjJUEv*105o50~Hwr6P4x8$6+%ga%?k{Qysj=r<{)KO) z4kqA68y%;hmA6`RPI*&87?%^^8RyJpI+VjeTCWew-SWor;pL0VKm6(!mw)2x-dg^# zk9=Wyw*38NxxTSH-kEm_K_Gf5xhsmsWc87cEN_baadvS@x?El<0^wv{Cg!n%6$}?$ zd8oK{bKnHAn(9{iY!zrVl08-%*R@g}%GxL&4R}~`q`h?##)uyO4-5{`M1C*BxR|Ch zjFIO`B*fuV)TgOJuaP0FQYw2i$&7q_sy0gwMTHJUV_EW~9^}Ja){}-bxv`bjh=NV- z;13N7E^-mad0VDpzep0q2WR+SI)5jN>T3;UwD$CXZFkALOZ)23vBzS}#d11fbZFK}UHu`XMjMBcMoHXQLb8hvv8`v}Z66 zo{;{MdE#h;A25L8yeT7a3r>^2x`0^nRE;3EH|kQa$fxZPlDx#qNKWyb2%(K)B}%H*cF z_jxzyEfD)*(_R25q9?xz*~klBlB+A)bk^aD?c@?5KGPa*&LUZN5gjZ3X#kXpe(l_7 zoE;|3`eaXsOKs*$a>~ciyK%k}>9mZQCqlaf`i9F0)UskS%qI3jcv3JjLrkRt$5^Q>ws$+3@HOcTL4FNF){OkGP&9p zXs7fQU&k|@Gb!lEAL5!8e>>9XbzHj zm_G+!D5oT@Btd1hP{<>wg!CNZ**fCE_)7w0j#+_cinj`QqOz2_ILh*&mK7!MPU2h# z9Na_`p0sTrv?nG2q026a!1_ndLz7&|LPr z0UZXEFz1QqK%wW!bN4b4m;!GT14#^gae(CXo_nU)@1Ar%Rwsy|; zyL-YYiG28)HD1)&1Ld{Pg=s&>*vr=qN-VX`Wab6fU5qKhT6~@r>E4p$c9U!&RjEo3 zPZR6)m%~!oUf~r`Ee?0J1lPg!5oj7sgcgL;Kw(bvN%uqrYE#C$G<9@fPZIT3sHQp*Sk^fj|9IYmPO4NTq~?hiR=FK zXhXii##;YKh;U*1|idiwnGkG%TZ%eQ>h=a+B(=+8$1yp1kexUKWUa#F}H zExYKZe&GtNo+pqc34Lq^Tbo5}DeZ1evgz9qpil{o1GkjhnWe$TiJkq@`)srMv;rw^ zF@krDtc?tab}M7%MsHTei-xD;{Xo;AJoFX@MYh&ed3WSv&hael&0DoDPf|#|SWnUkw65%LhJtFt-(_CQLyUH{ zLkxH{MC(BSE85F@6M=4l-&?ok{d!{JL@s{QL-?%n-*(4mQ2%pv};K+BFREooWS_|EYd6S#Lu4ASo_tU zr%MB(^!DAG=1{cF{U|r$%Tv-g+RGt;^QDBNRA~9N(cR+AtNl%DImzGA#fPeD@lZ3V zI5;J%y575`xX8^ddA1rV&oeqJwm^=T$BkA0$#sW}rguaaY!eum^nt1mv_jm(zjeqJ zbc^Tf7LectKzT{*&a{sKH~8DjsruGUP|XeZsw`<($WbnO*1W0kSnbgb#E4xotqp|K z%A?Ty^$5t&TQq<=Si)rRq8aSy1ss93LF)u{J6IGzlx$N1ECry*@{tqED+YaLP>=u`S_0@9qx>YWTv;Rt0S>tLO#tV7AKoZ7)BrLRvdd{%`tWc` zc}|pv!~qhUBh)KUMBX2s8^x2-6ZCMfgbC@xOGTb5$a~_6=LsOmqeb=Qf6Y*=JSpA> zC%26aVZoH&MWM*bGg{xy1d9jcED-g_q8MiqB7=&ucaCP>(E&>;(OqW%Y2LyQ) zmxQ68@Hc=2!OKY|R<AyA-gtM*7JYpew&)Q1sZ z(1N}B?;hyUf)oY7!O9)UrYso-nq(A#hXzA|k=|okk0q!2b~{*7>MZlo04PCN@JoFx zkhQsyhmjYG;lSc#hWUe5Q19j5cd7*1>R`V$TI(VI>xs;qX*#Q&9c1^(5a73 z*W8aP%^DXamy~^9*}UsTTYIlSkYPp3NYjkh6&5_hJ}reieOkm>&4fu(6yy~BseN7& zfa05SG5XqK-})&<%VyRCQ0m)Rs53yDZUbe8$L`hUOQo5CsD}y+rK@~bXbL))gSk|4 zC{S8{ppHGezrM9RyS%=9)%_Qium8{+%f~H<=RnL2Zjr==$waGbR)%#!AZ2pw9fxSq^!e~NM+#;jXP3AKD;yMyu{TV-3pQX4m!IAociKEM zoVIPsd?+!!pEkUj<|ePNBMtZZoB6ci|EE;x`)4+`?@iwUum*7rx6wa)zv^$V?s79_ zaR5bYKN(XhFePh5Y9Jd=N+^natFi`>(pst%uhii!TJQ2|kH(3AgEo4mopPhm05dve zRbSeh_hxzbedvjaR=InXVyYK=82Rr2oO#ivR~4RVd7zivCBiIR8QF_Ovj##yAt47fvq*slNZNo zeSb>zWc?PfQqdn_h^n8+50L@ekq~Hy)FWJPF4JWMRZ)Q?t5B6XGPgC6hS$E0%N55 zdt{TaGULktZs7LB;bjgGrGZ`?34DQCAPEYtMDK8fAe7SRu z-?f^HR?bBBeybUtQ*N7aT2l=pZl|#oQ3swA2oOgPi8-=s)Dw)A)&eiyK!cz>80_y| z04438#g3Xc*ztB1stt?uJS{f8I$rYLoi!)X^$1w9w;_+lpt^frC0V1}tKX^J!vn=Y6MTnoTpqSd-X{i% zIDmrhJ#3fddA2?XKyi;Ac%cC5l{7)dB|@!n);j&rU;bRNF_WAk3QWK4Mz+Bo3IP^H zL|9z}QNk@}_Zl2X;hk13L>C~=`ims)0|dBI0Vq1WodKAvT(vyrS!o%1KYaCkEAt2P zrcvVd@<9PR&{>@u%E7kuU7jx12migfMXt76uM_J8?<}AVDjzk-QoJx)1RKnNAB=}H z?e4V&$O%uRXrrAG)PuhBhYFf3P5Gj*#-}))+2bZ3p-@>73cei6pK6GRN{poHoX=s> zVWICppm+~Ssu=4o_j{z%*VQ^r!_RX0eK_o!ca+`x_Lb9T5I^e zS6^$ijeV)pcbximz?019Y_QudZrR|+WGZj0sH}IL{U0uCdy#10z2Uks2P0!>ZZGJO z<>gWN(BriyOzM`=7N^cIu-wRT>*ARoVh);d+=|#T#@G_y^|~RM?eC}{?QNG^@@_a(j&UU0j<8CMNqya*>q-vuo7lq|9*+w=TL#q- z)JcigvK|ef@gPwCmNkkj8$gfsu$r zQtg*I*Y*1YD^Di}D7%MacmXTyWD z9OPf{%ZqYaj;n~}TkI_K%;7ah04M+*1keiv!DYx~e2<7IW!{t=J^&Vi5hYZZlE&-8 zDDtDo;{qX}kjPzTK_z^5a7&Aqq+#ABxpOw_QC^hdjZjA`uRSlyhU&)Y z0O;zqm2G}S^~It#5VJPSE2_&_mcTlh!@ZZX*()QoCN{d|oze41$zClPz!-V2h>jz` z#O6Ymso|kjUs-HL>+XA==Z{F;7J%u|BDddyB|g7Zt`?MTpJzL2J)Yv30#Pd2RfKNe z2A(B8y=^#Pd7VhS*}no%Bo|xt!!P)If_OM(A*YA|CYGaw$=p4h7CcP=q7V=vNCNK@ zdZT#QF7rS!ZxiG|iT@O)%e_vJSYA0z?0ZiVPte5jp5XUu0Z`=Yb}mtTN+u*Tv?}Lf zI+GchJqL(zu5Ow?d258kSz$OR8HI8TY@-a3xi?~yhJjiP>i;^hp*GXKfOKWUQMKg!Q7)mSn-*RNT6R^0hvGYn7w280 zSXXSs%z++aDcu=#fJx6VK5pk#iI4v;V71&jyGZj-}p_i>}ODzvwu>teM3)OjztzgqY zt+k(0>Ba~>Zc*m`YN|!_<#bsd3@I^C#2n!4U-6xPgEX>+bRI9-rhx(J##J5;SMu&Ap4cgTq^>5!MC{YmbIR>%y**)8cMZ4JVdL|T0rCmW zz3-pgyhrsmoY5rZy>hfS9GT!FRA}|UEU1!vKMZ;v;D6t;D|h-M9bK2nJQ*OG*8kJ0 zy!op`AXxIedQrYPnxD|8p~EA)>u`etK4&RBQoW(3_Qb#BpBI|z7X(nmw;LW6ZrvSj z_i23`Pzew!vQx0R4A|de)&L52Se@dHp8Bgff3ZS%LzFepazFqTUL>#mRY_D5H}Iib zh4ERTwL;%37KVO^qO9+-YOk-1xu|}5Z1^3jidhIrU-gT1*eiu$asWk<t2ch?AaIY^8#FNGa9HydROMUG@R1Po69Q0NiAla)cP@VQnI} z3391mJf)uwq8NbUULgP_kVi#;kjg3y7sH6T_2CX4DLF3*^Q0(=ynEVQ%z~jDF}gY| zkDEF%edWOtRxH><4CFz$t>R%4xmT3k!25#sltAA975EhV46sg~EV5WR$Cf#s|RX~zzb}r zW&NsL4GOH^YhV~^eNlc3NXhlKzeisns&;wRlJyaKRpBR+t zAc=+RGVsIy1^@zY6oufrEcbUz8t)z?09#5P6tiiX*9m|UcySLDCaCvZ zDE7Df-z@SJlgQKHS#mLlJyB;r&Pf+QVHhZE6q3%pEw;qx-Q&+P5uC8l5fal@duCtc zX#2ukHk+)6w4%_^#?FN-L%qjoOWrOxztbSV1%~&QIOpshC;|~`Ri38mim3=b5b2em zo!W%}03ZNKL_t)VL3tQAE9`HxYeON>{R0WRB1US_SUhZ00`8}}?g==fm>DA^pB7Dy1S)y?X zZ1S+V$ZTff%)C#0HqVxL?g7G;v0#1Mzr3|PJH5Gl=>t20*`S@48y?piaHNBLZ;2;H>@jL)WA-a;s-jybG~Lnq<6zzbC=Fd2khkh)w=LDzqyOe0*DqJB znIC8kA8DrrMVCOMt^c3={^M%8-PuCIx8)>-f&+lyxHmlQue)td6o$mOFXQwz@Gg)M+hb`W!L>CV^4$ zO?`o4e{CgRYjnAl!tg@IMy`*&+$Xuie(UM64rl61)b`^X%fFd8iR;XxT|lbgoz?s` zYbQ6exmG*<+2yTP4y6y;b?rQJfbX~3+^j?E(dMj^FQQl`c1N`;@IuDhL31y}m#NO) zzQprFDRty>h?Q>l_eN(LQm!#jSD-{Xu2)`0SvShMdNxGo5V8Y7r8S~9n=l)Ug zN`J`<^@VHiG`1y>H`ex{uB1K1LTDv%EGM@DfNreSrvfOxL^bct*+b18IZhlJYtvR2 zG&-Q4L|ZU~4=sAT>zU)#k{axnEdU^UgxcNjaVFp%F*OHuxk^ma+d;|*+Rt*LUq_iD zzE{U%`IPTg5mU04$ZEj#9Ki6|hMLZ8D&Gs_kXL7R02hgE-$iX&k5~o?o$(($a{xLB zl)+dFXdxN}pyJ?53FGBu1%@#hy?_qqv6TBm9u~Nk3ed!_U=kP+_@O)_`WIyx21`M0 z=$-P&P+=uEi6xci*cdP6@zR9oV&eH4Kw$!Tf<;ab_b9QYVql6wfUz&`DdJZ|0RS;n z9K2WxP0iz^gcK`YHOM!D`rQMC0F?tMM)b3dgMd(YNO8Uclqv!5F}>C{tVuE^i%}FB zOuVd%zV5-IoGDx^F4|;xYvq$t5L6g;j-Aj0*bIJjN!keT36ta)E;7eOo4$92uYh!Wn^Wl&>ich8a7wlNxaZFBjD9-JIBQLYfB zZbcFtjF&q*rFD;AJZy{%{@40W?!`-qx7%KdD?{(rv z)MfFQVX=$Skh8mq*yz(r-YuVo-`5NJ+f#M;J+gx(EnJFok_>eXTpA$SN^!= zw~hX`hp9}zo?*0{ng(m2W#ElLbq{hK1BxF8b?aU-vKdp%Wn;|E&1?Dg$dP%WeSg!u z6d7J0U|Gr085tZi0o_Y|V32`Ux42mM=mo((eg zT?1Aesj3H{RKpwr37Mxm?Rp*JkGy^w8pe9G=XCjvJ~f7Y|CC;GJvt7jr;(>ectrh* z!@I`vL>|a=K3c_)S6aH{b(AN4Fn34gN67e&T=I3%c(BAZ!Y6o}coQ35Xjw*V@pX8h zgyMn@KXP$QDfeXdXh&uo?23j_gRoz>g#SvjK zDC2zKu~B)DFynB0>+?nHZ?2aft*)mF?9%*bubv=Q51iOXoY>9+S7zXz&B!*ISQXcfOpVe&jqnV)u~@ylE0% zUSWg>sO!so*PX8f5^SyA3P8DGO^3{GYz|I3@}KmtE!{ELen9i#`g#%1G|{G=B6hUL z*TdN)k2X998;fE+o9JH~_@9NFT;#Odz+BQT?c`EqO56<#n3Sq0;N_Vz%yECWaoVol@c1xoSX&0Vw`&fE=jLcZBT0LcqlGl?Y_gHwIF{BcuQ%s?)D}64Z!L zVFW}XSBr=ED&e_c-7;$mfg6G)9*QfzH5-e(jl>eAyc>)e-YY;GXQZ5LR}1$5CU zxrI3MA|ZYD5-EF18x{;a#T-4f25ugU!^Wt!S!|}GC@Hax@`8yjH1|AF(3^oqm*i#- z1j*}T+?VbBpl!SQn*zbb9WPwpB<`fCP$pHtMs==7!92zgBdZ3>Z1rf;K5Kys{N3ND zV6P^JP`>6%@_k^YgbI^AH*X`dS&lA!-+As6W{*ych+V+q<-p!-AcgXvI1u6h${BzO zqv5<_9w_d80b$oSd84UgRs3i{8Op7BrY#a z$rGiN%4Ta#LRruy#D$-40__Cj_(EyCTHM=&rfcvX!IKo4EbbC$p%EOgZ3;cBJw%F! zOX|0PfdFf=mkaZpxDtv(H9(x~*`j_4{h(+vn>86z;kz6Yckc))NTHMGv6kE|Rl-?; zN1>o4Zy>p9(Ie*$K36FqtAMAnh~+FQ!R}%@UUOc;kWlWu$h$+|RfuP`Bhd9rbk#iP zc5*ncU@j_n&F+G21P=r73%E+#K_mVYKQZTfi5jp*DxPlbfU9%ISiE|#oPOHysFKD_ z2;<6&-*Pa0}TT=KhFJJfSJIja9Z!XWTuP>+T zmzU-GPL*=a6EZrJ+NhK`$$t0LPvJIP7F-^W2FtCiQWj$+_xG_aO(2x>d?;wENfjv6 zo?@`=G(A=W>ZvXKs(EkcGE36@I}a{tE%b??a;@=Q&s%`HZ9_bqYu~tiPCl;qx7#tb z!+%45uy8LMWz)4}dBd7%-)Ght5@+j0UUH9v##4~BB|^G$LGi)-$+2KV@CZxShEMzq@+Q&n~DNBSu5aWa5bZRPoCg!YQR zQ@yT+4A!=cbNPEe87EH^^*#319w3&hXGE>U(qY0T05Hk9Xe-Nt-kNBh z4cA_?35xNzyy@7MkF%1bg3m&I&PwQv%c6#C)9`+HovyrL2 zixtU;2pO5ygnupo#hyRG1En=C=e4?OZ-?L73lq0-<4Y)QG!XD{q&lsqb{{2x5+H7t zd(>USy4WfMJ>{T8Kd5`Pp-6NAl*FsSD~d=^^zgMT;i7KA5--^BW~`l9`1KwV?WQ&A z!x->JF2AWaADOSVOa^{=W{o-P)i(l|6YW-8j?O9_nbfY8Rrh*|V`nc?pJ~jjs@bDi zy9f1TNHsSjfVJ7%S}_?qV24&|%N@^Rnk#~Ry_?)HfKlhJ9>L`%chrX!SV6i=A5UPYLlHt8wI}k024zW(D%{jdxQ*g4@ zIlSqI%7q=F^iMfn^A%leH7Sf)6(k)pvV`4IT{Z9ll?H1@KtbIG`ipC@0$3303tld; zc7%tCtE9OKs<1<7K`IPI$dK%@guG`q^&mI_qX2$JQ@6*|8bUFyRrOW1| zMccX+OtLd{9T&$pBuyy-+k=uEWOFgK_+Leb% z)qh^vk9U^u#6c7!Ww%7_26i}*p``Ij5}(3xIe=myNcKRvgZGH#GkJc`Wb^bkQIdG` zLb32&=8VP=q`Gl5I`}BV%{f67~lGcaneXHg4!3CQS=+~i2=a}L?>%!BK#z3)%-yvK9E4X1Co_q*%os?R#DTf@hE-9# z9kda9pF@~{^)klqBAcX$?M;VmRqu==YLLhgc1oZU6ist!vVN)eKK@jnza#L2bDUz- z$?HYnOa@zMXeTgKyikZr#-$T_+F%*Ptb1R=8wF7vF&=FlC|cGb>aF$AGWV(&;1Anz zCBn8asxe6rg_le#tQ+Un6%y+6(i)&jpV36Ug~Xs+V_GmvS`J>O6Vj(%FzdfY3OMOJ z`aJc#nj51J?tn^x#i&d;T^=7DOfffCyUkz}e$@oY!`sX9_~qqeA9`Fq{;~I#uYL6k z%ZE;%UCs|*Tu$a`B152~k?&IO+KrZ!p!WRkvYgE`#oE1JmaBQfXvNAaMe?FnbcZC8 zu>(kADONL6^SKTvH9z*}Mz@DFkLiHdJ?yqU-RelLi{A}(iMFqMOw%*!r^?+6h<(dO z%(lBd!z#3waR)Yymd!X+*QmNJdTewd1k7HU;o@of`P9%5x5m704a!Bp?9ja0;EJ5d zb8!nTRz|^{InT1FT8GK78He8-3S|R)I>6#6BIRUI*U@n|`*78~*I}~DNJ}Gd)Z6m( zMp&B00MG^A)DIc8L-f$VG0H3C&zrXMx4wNf9vaTqMM=i{z4a|w)gkPrfjMc4TA=M% zhH{{J(T*ceRy*dye6%sHwqINA$67ebcx?xr$(l|Qv z*V_k%b7=dnZsGHA76*#0ekcB14Ot+E@vZ6+yBi;T@CF zt6SeM)bakuTXI05@!BujP+og^;`F_Y#hHB^=;2E-HCk%6cJfHYu< zzV~nGvBOYb5!y>Y0_O(64L}5eEG16|4D(7_@20}=@WB4=7Aprclz3iwP0X8u$>-gB z2G@8CfI{#B0q+4G$dkjt2=C|I;4NAOPM3Z~lb$z0{v^_vV{onJ#@mXuaowfb191J?4(MD~=xVW$6agIDb zz%KPBQ09VXTAy?9RIi>&YE>7wB)3cI0?-xhogF+ak%#2nQrZwadtU7Fy(f+Ld){XA z=6?i45I)O*4di0>MDUA+>@u$tOAyc8CY~go-X%;J@8P=6=AmNYzYG{bUKCF>p8=H9 zd+u#w?I3g)%F6r1Az6Ys0#H0$a*SE}D(T8IzU=W3>{lj{kI%|(it?I-`XClzv2IY@ z?szZ>`(A2O)!^Uq|2bq8WsPr2J_sTE{yQhnKjna9HKTmxX(G@fd9j3N32&|Y-%Jz_ z@I^pI7Q3JqzO}}+EkcP2AS2=b^1jfvPE0+HXxSA@!%>bCusFsi-7$NCIH=L&cPV`m zZ2&A)Dn`t80WdSjL-E$wyBj*k%%%Qi@WKT@VF2bADeOb{AqfbdUMYgyL~@=N>zs#K zOY^PGqQ?W`1@WBk@&yTW!61*DM(B?O_?|tcX)^vC2{t7oE8k&sN@S)v@cCp2IYuDl z#%i1Eb+M%LuU@~reC_>P%Qt-FOUu{1`sVWLdpENnNH+sR*e697%LG5wXIsLgmOnwGyqUzjCBUoQz`cBH5J)q% z8K2(1-7;E@W_;&)+s6>W?fSC6Nr!B-7yb3DcL?`q`9-R`eb-~`I2ds()uAiXPrr8x zjJ~;rY#oKHeExzB#ODV*P%2Vtjr7{z=u?_bX#CBM+FORRNtX=*SAEF5-SXMSyzb85 zdY{<*WH@fgp)KZ1?<&6Lx?g>|(KnS{t5#_RfS$3Wl8zGxp^>cZ?W+g-@WREi=K(8=t{W)b03czQlzw0n zGXnoQps{~u4Qv61FFYtza8zC%Zf>Nvk~u5zg=?m|#jmk%H2CBtl5RU59#2vVa-Nwy z%)Ga5iMvMJ)Lm%l#{H(ZKGlZT*U0-JC@Eg-4BWrzc#W)dvh?j?z8QF< zOe5;no>F9`_az$%yE$cO_2InwIiHEw;elZ`gz69)#&?=?aQ`OpN>Oigv7lbRCGdPQ zay#&V{+0`f0v+sooR2|u(6;1Cu@4zSOW~yyVoLXO=#3$(PRVJ)+#vKBP;M0SOp#SA zyj0w>gm7F6N9F&z=ZJE$;EFWB8ss(c93t-NLhlRaL^bf_fnF;DBOIhKL+r^w4-4OA zHU}lXCwM|Y2i_p?qH(Y#${{~U^wH`{9w_hvfmIDVjR7(RK*2rp z5uU67AM&{IUC;p+1E^$)<27&pep_`^2e&mx|FJMU&q=j60L z_n*$L#oc?l2;@I8&k^_b@Wk)-&VUSfqj;_p&x3MVp4}l|3G$y9c!KBVSz>^R0U!>x zFhrLpkausC44@#CmxtqakEoUy+l<1suoF_5B3r>r-6XCXM?eTgM6JX-?wm31? z&(UXkk;E3In---85EMO!-B?~0*+WG}dx0zEZ}1W700_e5-Pw6E6iTrl+fWV`dY?$Z zN=>ne=2cqY>e08@GSP3fU9B#)k&NL&5*z1=nwB+KQCfx{OPdtakjh&_~ z&2H&+yK&OnC=N6Xr)3DQ4G$@;gDf_JnQ8O)2K|Rr@756#2cBAH1@51 zKY?vK1~a7S?4u`uVtm=It zv0dn-%~(d#MyB@rlKajQSx{DWZ1nF?*Av)#3v)%?y*bR!noi{J@~a+QL__aaR>HEO zrwwtErG2k&tqdFWZRLj%NStpC{4Kgi2l6hcoi6lN3Pu^gPLr+j^u(g(@*V*0|yo>kxr6jmW=zk6Gf&->%v=nSI0TQ8)tI?KcTX;^B`Sa z^%Ee0MZMHduqHG~6_APpa2tc8y z2?FcTn}nVh@I(Qa;q?=gps5iaCYH#Z^Z|gP{|JK6`$Tz1N~kV^D;{!-z)OVtBG_R- ziPtC42T9z~4|uaMTY-qm9A>RgmW;G62Ivhk0cx%OuMcRgP;@*P*jl6~Q(S)84sh>HrEoQ3|JL{)BBU zi?g!r)G}`zE(!}Fi`kdu3F0fHvuBO~lu^5ln5ZOA_ArU<_$BRMpk?jd(~7+w_^|?# zWNhZg>xO?nH6p#-Zgx_70adxk)!6tBU06yDBCZII-r^t8xJv;#`YyL9usC(Ckw zy&{B`h43=#qKE6k-v*>qo+h3I-aJp>ablo~d7oHFE(1`kto@z=6syOc-&uL{Hd&Yh z#mg&f7d%ihcoHGI-0mK$xwdKgS%G?Rb!m>QRu`FjA z5Y+1Yma-kRKi?r5*av{XyUiqig+oikaRKPm+ zHS}X|+%jt9HF@;g)S10zqA$7N!F4SeJ zQijR1yF8x8yPCg3ifXSrRHy2t+~1N(evx5RK1XAl>?=v>uBGC z#!}0WCwgvX18&=V9&Yd>dDBjBu4=Xh><(|n9;f-p@`YpR&A}d5e_BHT03ZNKL_t*W z)=tOPJc}jvWWU~T(M5~Wmuj<@^<;#XF9uhgk?O7t6s~GaMr#>(w|KFWQ|9Qn|NmSr zhaBzkO5|_JL`ZwK9%ubK3;;MKhGnf=e*!0*w@U;77?cn0yHA~?ke%d@JhZ$89bPNq z!O_CY#>5Ut^VD(3K%UoVtFvv%j#xSZ&vXBe04VHuoF@ls(U0ij3;x^cNDU229udln zVp-YH8T)%!WbkY}N3tOiWMiiyG)V%C-8BR_eaU$Qh*cdClknfzYs>u&7baFA}bx+${s50w|lVI91!3rc}uKseh0mT z1!LV0kpo3EhILrLj>5Z@^wQQJs2*;ii}l1i>y;=fdiQ-$FQKJfZS z>snq{^|zT<@)}Wys+GDD0PF$1@&;Mivww}eErK46UY*PLJX}zG-S2iA$=%jF>)+Wt zEIMtr!yMW2dgQ1)ItHP>LR{p0D+3@4Bcuo2%AQsd%C~)SiM2%tfy=2*$!Z&erJ#@( zIf}pwrG)H)Br_HK8NEzAe3seWEeX85NZb=epb3Bx0V?o7v3Cab8b|_Q#LJkM3Ui#e z2a1C+kITI!nzw)5(}e(v{|-Mn^EyG;F059;w1QN*_{cXp%ew%ic$9vNbG4T82>?o2 zyhU1bf||)O;`be`#jx2x&U#JmRQz22(7k~wUq%9IeB*Jilaf$fV1&gi%Rmk8&C9K* z?2PaxDFZJJ!M!OsFTCD*9xEM$y;Tq*XWcI@}U;1VJkK*`UvEP%9m2rF*Iv8DPW&0zt@G7zKo zbF@ad%HmU}5&wwWFbCL15K()u*uEBe_QWrm|o2zHQ#v{@Nnw@FsD?R6y@ zR|elkX^43Bx745OP=E9H9V66DI#&DrO&=c|NET(4;7mB&NCCaAiOwaVBt|#J_LN}{ z6vNFPZyI%F7@?eq5OvM%Of`_@h$~^TavU(O^u{|f1Xg`+KRnP@zJj$P&JM6pttatO zr}L|BWB`SRj;?{f0Y#$fY|J2Sb%^4{18jLsUtE?*Ca1y1w@F@f`;+RcWN-3*@M%uv zvJ4EhuW~m{=NBtb_QwEVp2Ghc-jJt9x8DzfNiDC8+7aKc#-OpL{ieG(ty}^XMq6e8 zD79|3uCkpQD*;bsY{~q-ZO7ja_7dkc*NQj9OVS@=j-iDoA;_^FS+{AuwMNEPFKGAB zbTOuQ*fw47eG_xs1GM(WKOoH(Z;$5s*7dNbhxFcW^79ekyczFmEFlcmxt-$E4-h~Z z?Kd}W`R_|{=XYOprTQbh(kqkKg4TaK_pM0Dmt`t>--H&uY4DAF+5I*h#zNNbe$*+D z0Fl*O4Lr%H*q)@%Jf%&2Lz%H!YkM+0iA>4m$aki12LOsfEmpjMd_FNQUHLF0Ne0DaXqbmUjZnIhOi+Ba9EFuS3*0(1rf3qqC&VpnG?LH zIXoE!!0GbL5#Q$tC>}DpN?QXc>`MZ*6m`|hD}0yFkH*A0gI_#l za{wI{ZNgqDWL5DdArRt2NjX@UbY5Y@1ya}?MUE5Y7I6@RfDA)j<>4| z5WWkbh(eQ}k$Xhnv+oX2xYtbyDfZy3U-GahbeLHH;Z>s0S(pQaA1k51JVCt!C}xSH z$B=uE_}%oyBHK6+MDWM}8>b(^jBNb^fI_`W^~z(%rv`n27YY7$?V?(bns0iPbT}7n z)GwSTZ5)HO?boh->;*tk_^ALb)vFDVWY5##7VuysgR+S1nKVXbj##CM24*8xpGWv~ z@k~Jt!(#*+$h((-Ekys}`s42-?-{TN@{yE2*Atg*iMl9$@%-KW3C_>gUMp&a&Il=l zm-FJq00mteAI*w5wp^<5FlrnF?778@$nD`&5$v67{|26Tei0^nSNJZ=cjEa^%&TN! zD6Yrl*`0;mvc&NW>E&K4NC59SQ0(`Ufhc(IfXVq`d4=!I!^9KGFAol$Ah(KvHs%;$ z{qW364xZS53Q7p*HrYEv|I%)ub0aUAI)+frRlb6M__hB#W;cxBiF2w6wk^V_<%U@n z3QwQnMUl3l;M5K-&us~vt?jDZV$zu$VXP!i2u3&(RN_UQ4UFIoNoQP-ab`w%8T4c8 ziY4OxisbTQ9sn*<^PpVR6_rAKZ=w}N)CT5=M#3y!5#1pHXG3vgZ0r97^`mORf)Ow zPQC4W1r1BWQQdKm=HmaN&DO!c%cG;l9#3$2cX{>ho#msiJ~(jl?E3lT^zixRWI0X@ z{P51_Ls(-7OQcQJm?W2atlVYq)Q`;* zTBD&z-0T8iPoYioO}F3CfwiIHMVc%+a$U<7-FL;tUV)<>-Y^_T6Gf&M8936;`P}!* zvY+j-;IOx0(CW?Kh#}i{b6>UI1qf57myIFz&#J|$sRrO1&7(hW_Zb?AUCHWz4!+N{ zazXv4+{#A2Xj^S1fFNX%j76)HR_R~QIJXj_xxd!W?1fnGjkY7EH`K0}g4ryyPt1~wE`_BU&0XGO3SqqY zmEjTnG-Ij5IXMT48|+65K^B=LUpPglD-+(M!E{}eW1^nr_D9=VJgNhJpaP1fZMe-c zuA;^vw+To~nuiyPo(X7SIag&-m#Z9#OG4UauNF(nj<8);yj*gu5~AzwwO3|y0}l?x zmho{C;D`V>40DCxH3BOT9!y>$07q;Lm>-1IQr+m2gB=_X@~zO=&yZZY8}2zzI6i~} zEBRDBFUfUT3{U}hV(sv%@u_&!xL1mSJn}~IWb+w7Q8+Oh55QChWdd9gxT85MAPwlL zJSs>|4{srWCYoRKA`$=F)D(#Xo)KSwjr6Q6JaT!R$3o%Q2CR;_HBuWAknCHc(T+U| zC*5|{pyKV2UCJedLF}pxTrVw{(1sAxd-QP)KE&!JDA9rmWnE(buk)9b$UfU+D{@LQ zXbZF`b>X|7iKtcC*Q!jR`5rJe0#@pE5#Cv<^;(Y=rb#Z_Oz=>U>Lb7-RM+`K%KQA6;%ffg)x8L0xh2V!LgEz3m02M3$ zuspj%nO7ZPDGB4nD@8sU%>6{;7#}DrlNiZakFJZT(uX5o8+@1gw zzc{XM3df&*~*7N|WuB+e z0pdnB!s4Na2e+!o?_ra4anBQaTR79AUGrAJ_C|n(*or1shVZI=V8vzC5X^A`+c-D| z-_CeA^{wxOuu1?yxQ*GOmGn}0F80kvR~#o}sdHQ<$|AN(cn9!4gTxORnOM8ek9n}b zGe_ao)K8yNPB=g!A*ZM}3^`aDj0_2p?VoZX)y8SOPuqVOskz0ouccfFJ>v4HU$OV< za9-9HyoHiK3#E^|SSrI^+C;SWozI*3RBgpgvV%U8Tv?r4k3F$TV>`-kAVf*aq|;(s zFvApqKdx72H3BG)r^{mhUC(gRyuX~5S0B&Iv-3O4tIytEKKjaA%d6)%mS@-3m*u_J zm*x5nwtkvTP+irN07%m8RL$u2 zs2(=L>-b1N*pm4?R73>V+<_asE8`mJu%+RQjD#ynu#%(NlJ=sWdKHG`9=W$}Jm>Nq zdiYrK_v8m}ulYU3ad1F>D5y zV~4BA1;wAEk2`bBeXrcsm7$>lKBBKp-TBm_jjUY*F1iPO(p>q!+3O_Hm=_>Q7n=Mi z-RWo+e`S2)2Zw090h(3qGEVy{4+r!yQ*{xpaf1#$8fCfMGoV%Ut2W0qRkmc)Ewsp| znj!5wC(>wNx3EK~?JcPCe$~(B!3f0Z9gwR)@o9rF57l9L=>+P#_=CAV@<`mM(lKyX zT~30q-DdOJtokE)kt#~@+z}eo%ooiGbc@_l_*SRWSkwu4*jUfIGuaA$`(Qxtm=eUF zuP)v&|KF;)T`!;9zWq*GIw>n{b$28$R)8T4MwL{2(*ngDLu)x`_dS1~@<)gtZtZy9 z?|a|2dnOp~*nZyq_SO!*%<>!kjzdw~-XY<6LnjA)*qet|_GlieHBFuv8ppY|Bg9!x z*YgdXm&@pNTjg5uYw#%%`;nnHb-Ju->1u7Ydnnrx@B5`U{;a0OzR&V_#P6Zg*l>tr0ytd{C)$E)xAP z%?7}mbP+Rl;MzP6z%pgDPkUaKg$yIzR;v4YjKEhwNJTEJg z)4SJ*jl=q0WjTnPDqgPu1)nnZ+3)vQA8DK7xZYz<6%VP#dl#ZNt&PmXLb?W+g1LJP z0449);1!>X3Sa@>#WnTBpfZa4RoNBe3al(%53Tl6X%nlxOc&3_>lG`ha}hX+FswK% zg0Sim^oX!ioiarXmTz-CEmRYsr9A3T9`ksAQ{Rgn)5fyD9~O&b8e0N#1YopYAsHm{ zb;LyO5O0nBQ#9;6&*KXKg!?N*Z|&)_-Vx|b;6=@w4zq)?liq3CVXxNwfoDCuf0UJn z6CxrMIji=2xJTVh^A{;=w%O6buij$GI12thW z$>C|D%?CBW?Fi@-esEh}TTPkB;^pAeK|RMqQ4yH%vhtRp$d$o8@LwL%B!+~YL#mae zFx<+L7YM+HycGe!X}2AW1prFwv)3)-zP=HF0w#p=p(R>GH$l7(fbz(s^Vs6KJyJ#J zJEg*VL`*M11Hw6rJAIU_9gAIFHULJ1?iPeniSIF25U~h(2DJkdUHy~7h9MtG*%lZU zE#2j4d7!LQq2F16)$#jkl)5bT($~U|5^`ANJ)wx_?WTh9L0hS}j+(w@9HK=L@3|MH zoam=?kgkp+Fh@zTGEULkwVl| zMJS1)8|1Bgz+NLE{YElNRv=7S?MFx)Whyb3D(9Z|kiu z!)b5ZPX((vY5TJw!@Y`I*Xstbuv!BHn&p#vR=%nee5V~ZOm6|8x+%tq+*?DNOYA6s z!c$;-Q^rYaeMLBk+W?eoyz22+8ehv-F{U)Qt#KX|Gul`7Xxd}us*Suy9b7w={NA9) zZn^Yr@6g-c_Rqji2{hZxW%jz|K>eQ{fU-est;M{buMDTgPxOw}Q2aZisTm|10447u zhv&JmDBLvPTl1OajQy_58l7({P$(PH_+8~G%kSmoyQ(h9prEbjsHr^S&2bB_Zk0_Q zy}e=;5Tx-+AF#h+csleGTO;|y^|_rdTmBmr?-_G%0Y!4zTL6MX1AiY1g}R(BmiQR< z2>L$sCD#6yhfw1sCK<5{prr3smu0l~iWq8NGF|6|esJx1KWu|-xjBY_oxaEQ zNQ|X~K`Uol3F8Hl&|8GoD+4VIbP3NCUKF*Q zD;6T`YIYBLszh#-Cer~zcM%-AAhZ`khhZA5?_R&gPeU_yvO0-_w zJI-Z7VmqO(Q-A{A9Z+&}Pu`AA@2XH&U>PQMhc}Be6t@@ak9ozwvjOGocTW&550q*% z=a%6iz%b|xw3O|co+klHXnTi94R08mK%G}vr`%^tGJ1VO0EP@%&_M_*H^FWx6OT6U}t1CdY16}W20;1$}Uc5IpgTJ2Q41Z=3p%)1e{svSz~@D7KAk9{-sSD!G&x&B;01(wb`XrYu3zo+l)M zoRm6{uji#0SBKl_;UQK9+p&yx^Q}Yrp_Y4E!kW*ARdqk-!%ag&&rredhKdXO^|B0B zUQfHrv?JZ3MZSGjF=Zp*@}G$|nde^Cn2IPyqpN!Jq3!^Kczjvf|)AbhK}yWg6dSua#W* z=EYb(&hwi?RK;H3u7Ay;3`bhm>Vy58c+(#rG|G4Bl;uXgab<=-ddXIE3*86GeDXk% zj5OJHG~C+(vH3zpqK`#StaFixc0CVD(zy$ukOrYc=DAUi#k+o=Hx1+9Tvhw&mMj{{ zNP$LMybD7rH@GH*m-h5qX28Bton1xnmdcv45>mJ9yQ8uPMof!y^4|?JK9bqXF7bVb5qdkZrJb)*`rCcp*y(6Xbigv^MDWt@ZyKJsVsxaV6qxup{el$y{#Dc25YM41sRgX zPTM7qQt!sMpU3T%wg0R3*mgCrHtbfCw*oM9{9#vdj)xIEe!^(2@s(FbTQgG?qbugr zY2da4f*RhA^jcavV!LL0ZUv^j!9AOD>=5iDuI<1=AAkWgAX$0f!GdzuBE2+Rtp*_D z(w<%(ZW;1iDi+cTH~kgH%K-=XUQx^sCUK|bEr17a49Vt|RNhlMyT=j2Zpn+p^QL5w zh8DU9f=2KTvAd%82<7G2rvMkw4>?Mh^F-~OOTR7r7ZT8`46XpX_lsysyN-5Tc&y+a zJ3@2ObA+M0v}8P-ScE}?{ll!B^5}uZ5h1&vR)ZHfWz{axdzRVGG?8N8;))vpC=k_P z=1~|Zt&bB)GG&{mc*ItMu5~NSA)*z*zFP8x-+OX- zr5GT9!4O>rW|*gmCxj;e5&((=B?gF?XNl!EDIO*W;Z*<@57A`_I(s-T z+r8zDVqnUHKR=xzVSUBBCklj{ODz8v8JVgLFBU-Zy7n`Fx;&-1_+y{=dtDEvY!-&? z7lie=XlaFMTZ-^jieDFodM!&FJQTJ|IZxua!SDRMv2y&Hp_jrHh~)|}0aQy&??4R|v=HAZ ztXNVhC{}awAcfL`Xb$vH3`~#&ivj?RHC((+(qdFNGLQA8=#82SE(W6IK|6+3!|VyW zCqNV-xB%3YmI!tQikYDWjf15bE-u@1*8mCT!G*)>fNA5EcEfTM4T#Z~#0dzdFVbr(eb7Tl@6JI~`zGr=S^XJ&loCYO}BhD_LZ$ZcKb5|5VvkTr`~GM zJVNSGnN^?j_~dDn<*6M+dPetKIw6@TuRO`W{BK8YQg@7&oTk|zCLZ7NO37FBw07kM ztD5B=-ySj%?gJ`F2SCZ<>=tso%(B$eDp&v3o1&sykDo=yMh^J+RQ@O!a&&N%B}a>I zmAgK~MIaPw`PIf{2ECM+yE>Gn%RJIIqkCx~$NI~An6)K2dIOD)sH;6A$cPS4kqx8E zDx(WFM=u+_j5)ovj@3CL=@z&2JIlvR|K0v%fUdVc_5h+CeXeTX%I*Ou3VWE()}+Jg zys34hF+$Pqh3!_8$TIos=v|)lkt|B{1aB>ZxHX#=4M3Y!q7cU9qWUvIsYxF;U_3F8o zbye<0ZgFg|4y8UdK#am^74pl2L~SVnJPq>h;!v(SN1POf(865=CQ7Hb2twB(&xnI0 z2_UktTDpepW=Q5(@ti3hq6&aQSkQ9r5^Iy;wXo}<@9s&$>%U&Nwe5h0ylL(h3*QAx zQcgP0aACgpBGi}x831vV{GFaG4(PBQdcRzg(;D}fD>&w1k2!^0uV)B zJys>GX$7ECFn(GT36fEJAR|TG6@n=F$k1wO{fNP4FEB)1AkjWcn`GkN)M)#>{AfV28;D zd;!HuOJ)Z4EOnJ;WK*M(ROt?SnV#V77Wi=Lr!4eo#02BdG zLJgPY%%o_jAAOB&T73`OxFKmW*vLzyh+Q#A)@cDKAY7PJot`WJvjlLW%}nRAVykVw z06N@WizwB$VNV3QfDr&iB~OEqvdgvi++_*qUw9ESh>b6}1zu1#5AJemyn@6?CK#UIKYF;XXVIxh`0Tycfz$7fXkQ8pv$hso3a{1Q?`46%D_u9?zM)~t-k7ARe$?IXnW~} zKG^)Ql#f%+pu98m!MeKRN#DBC&O%4)jMGZEgrNd^o>(hMf%5JMeGk!jr=pfTyJKrV z=&WU8)E#u5(TcgIR-<@`=wmN*#iqBr(y7XaNzODyyBAVOc$INe|{^c?) zKZ>yu-+OVbHT#zaYdz27@n-^6nmw$Y)4gTY%9dTe!j793S?PDn=UIMNb2Reg+K>Yy zBazo@-UNvbSqA3uwX%Pgr+ag|N6;6QWxJi~%S!4Ak*iFK{K%lHW_I^(@mkvZ!x)qI z2J&>!SZl4?9BaOD<9Y7}coMq4RwW~#h1YupWp?&L31eXEN!keW;ZzDV9$b0|2U61QS3T(7x*jTFI|Jy%o!DHPqv|B%M&Y}X z@bLay2wBY^%sbW1zN(qz9T8%+r~gYXldqzVMqh1*@Kn;>z#6+nN1)5g1W;&L>-J^q z-EQZb0;9Tm&s%+Bq-*p$-Jl98vHj^jHfvs)TM63nnx^JQ*8e0WoNl>={}upNh7b2uYtV4C1(lc0i&eG(yc2D8Ujz7h0_N3FxIi z(io%OMqbgAq*zw?p7o#^UDZW>7z@hLa#q5mIjxzmM4_d4&T<<>03-5vVaP8V`}xjQ zGvzpe2M@GY2XPcGECVdO*ZmlIM(hp|uk$*DVBsnkfenrwpbfon3~aH`S_D1> z*pxfscg!&Yj~)-z^2a`}qH z{4$=U{3EURjKW+Ey0rVa1%-Oy!?LvTyYd9))IV(}#lBpct-%wF*v*M!7LM-aZt!*=<*%kpeNxUK+D2$}#yLB10MM355&UL;5kZ{NM={~9>*swb5% zA-t3{{_YHr1vXSHTMA$758ZEeLtBo*3yG@rSqj+M#z)wBfP^@c;s}}PLP~$FgkZ@uX9*#N` zwu=i?C|xA#@d%8}X#!)nW5)g-%N@W5^0s*2|B=mL+MEyld<|++7P@>F|ehiKBuTGXMg%?JEVjNX%;nNT&oOlgx`rxT?G_ zl~iD8GxpEH4qG^B{AxvWPjV&cSjMDqV;OZt7&T3@4&9nNGOp9A5m%MuP4poEmQWAy zqdbmSm(Y8ucmb{iBO3YA?ZBQ=+#CjdgFoLbC*u?Hkj)KL7|ft0g8LXI zG+y=GCT}n2%Nxt-@%3eS{L*rIG{D3b{XGx=lGxePgo`rzO79epOP6nUHneoUOwZa~ zZC|94k)6^CJO8u7x3pBibri zY3|-0!8=1yJ5aZZ!KB)U_GB6BT{YkEK`Up6My_T|ZM~9pBjDnxvak!F3_MW62%qHF zW`7#b)YeNN`Yhx6fbA+;kZ-)GYcGkv^J22_T$)1|av;)L!g4)G#bq-?i&wB!4G$i`VTPV6c(=(@L&xn*E*WLC z)k%LRL1}VaF0N1J`k8YijOt}xaQQ$0mO3Z^gcUP4Nxs-13l)GCTvZLwq_$AOispa` zyiXk1@OuW#fg<2V_p>9k6@V51IP^e?uwNih@y;kYPM}4=5{G2)^jdLRGDphk&OKVp zBgMmV#dCO@c+M1pBt{>F=`x^3po@bSN__8S0dUxJ0|xzfvo75|^R|$vo&XWYZr4Th z-P!w;!hH!Kf%OwofNGDCC^9h9O9kFFu*KJ)`gk6w;-qtSB+Z}6rU_I8J2gz2rG1cWVC3$zOK#Wc& zkCrK7xb!vma}VHf4sY~!TqZAl9`?oUuds%C#F|cB>Yp4DGOxsCejy?a9RlF4OoF@! z?w~T+W^w6N9aK#1o+QNnltCgvf61n?ysmxb^`eiIAjWk3q@ zov57UHhE^=DCT9t5MSnXqWmZhqA+p1gC}l-7nq{UwgOOep%J!uEI`>*VnwHmk7;Ah z3FUcd-{<2;EreG*z@$PArtv&P1sI`tF929@ki=2!;!R>5Q!F-g!3@jzSLUfO%!h$q zxOzDRMdBNuGj0(CKLF~$OC_7U3>bmy5pLrPK#ALr%oze<0s^{N2jYM}Mkp)+0&3&3 zT-{*KzPb`2-~rNGdbmI)xDPSPk`{sYyoA3hj-1&Ghk#ZH2DPJp6QGe4_eBu+b|8td z-LbD_4KdtSJjli@0$$p`EASwVH+Vxa^u&bfV~utPy6M`F{U3#b_${@AH$^R|*M1Ua z4X`2P9CbGW8WM=ln>rfB7eWtZQBsR9&_CZWAzYM@sCX-(?^Mt!0F75)xh~7|`|I-T z{=MaHd22a6d}&!8-dq*~O)h5SQkbqsppxDVLBg647iH|9e$Tf+MXlbUWpqeuq-*}u zlybE@#Xn$P9jH#-7``RzuhrLwbRg^bu0Ev zFRK&8QKM-~`NaRLgHY#&s^myEKCI7AbtA1oc-4i(D_UQBb#AcX`c*Q#YF)c*;To^l zAwBD9c2Rl5H@VTRzHb6iYgtsPZH>pF=CX+XwmM!CfKnM}_Xxf-VPOar?04;O z%B@E3KRpm8`kVz$To(vEXSWAoQE0qRHhH^KYg_)vn(wty$)ZjrNBZS+HX3=$vn7HoaC1xs6t%=468^)Dh`P@kM+9R*TblZHjV2Aj&8B9<1jp(>q+v%j`a<&yw8ANIK zE%hVGup@lYqjSt@JAc}5Mj&{;9e!{E83JHf+GEl8bPW+Y16v2%R52Q^h76qPa1=Di zy2WbVwNGhc>Pt@D-bWu3Px`cM?RlCXdI!NoaGW?9K-t{OyUddqHwe9c*2;_?uO8JY z+irx8xdR-xx@exS(Yw+9aGbjRl4?7*yC;8pW%qQ(d=onNM11CaPQHoXZya2gKY>kS)qRI)Q!Kidmr!GejwbhB}_kFrlUfhd`A%Xw6`jx}2sZ;Yd1dTRM6 zx@rCQ&Y+@m1`c-i=;lHI47|DSp56`!!>tl5UdF4KC$Wh(n;G^md=^)RyZTw=J#}vi zSi4Kl6!QZ8!<1^@;xli#@Euf5bbU~P~REzCr!Wdij##ISkMZbk#Wj%N|_zodJNmOhs?SvQM^KVm4xx~J_+v<15pH^ z7#QMSC&>eap}yQB#qytc2rmO%0GODk3p`Qed4l(zwBBv~5AZ^9M+3r{>~Cc|iM?4M zN?B==p4uO|I?H~pRVRM@u}_pF@>(1U>jW}Gv2|LLS&WDRK=9fGR5IzRa?LKoXyxsq zI436Wl$fBrMGzQ>+$tqnqI+UoavlyPf9D3~Kn}&s^$z(xR%yax&>B5b+z56N=s zB=R1eF;Y($7~-x?ylEP=A%G*`K;jK-saqEUmB^T}_|VS)8Ju{<+r^)I{Sc|ETgZxtgl%!Ft7eSwQJQL)GcS?6`p&r+* zWTWotkgTG;wmR}LYHkksS_3YJdUW5a>xOCCO-_5D9Vs-c*!s8d%n{@0Mj2?bW#Bp7 zln&q_3%M`*sg&QebZ~%$)jfsp)&8!*X*5>}K*`>f-Qtp!iRUuQJf;7)uJ=Q29GT;T z^5X^;Ulkq7&W%d5cT*xzw_8AzBW?KJ!?~(-AAOvG zxIu-@O>3O|tX}4^8Oj(ff+qkd-8Q$@$f)nF7s;Spu6j#tc|sR>_~@9PI(^v#O7uyd z*R5xJJW}absql(dIy}_Y-Q}|b-*x+#yf|6_rMKR9^^#5_A)`~stN=q2c$_af$i5KO zH6F8iA9O7V(D6w}7tH|5iuZW7@%12`FYf^jl^Yq^VRK{;ZI4`s~K0=rRE`2a~g_dc!jYb<$b8zfH7ZV zwn!)Km`7j@#}srms}N_!!socXEden69o8x)f=}({kY71w3V<8+fnW+%DI`5l?>Jvd z6kh-oc#g&vW2`zk1^Q1#H;8B#B^3r3;(VF zl+fMAXW=#I($D>ox2X{rQp(hIv~6T6jl5^p+Y`o_Jy~*@Jpcvaxr(>WmN!awON+JJ zr_Tr+((~fbkj#TtXEq0hs*d@MZ!^N;pVpZjd<2{OvnmIQ{e6wF zUC48CAz)%2B?#^HT%ZU6lvmCcfv0$$;CBN}E}rM404T_>g794ipdj~&=R7fw6N?7r zN#v22#qF>1`HD+W`NE3*F5O(VG6==>j-_*F@?fEz_4Kd5_SXnPz#;_Ggg|Zl9NN8BmzMYY76yw9X`_HNdaJlNzokl5V)dm z0GQO6KG3W3leQiugeR~g!eU$ia+KplvEi^7H3<^=1uUWHf=3QRO=Zv{V$3ykDnN>u z0EfEpuxUUO(LMt(Wy{TmJ%#d0+K~ZMK0eJl54{Sn<+_{DJ1HCx!kBL>kbpOT!?0pW zvDKm!O$zWs9NgR@1)$I%Q#_l}VYuRWdrsw20)c#3+9C1trjd-AWz+@SYgd)?-}NzW zFev6H4%4>XKQ8yn!(uLK&y8<=ZN0rLk6&1phj*9d;i0*~OuqERC(jchJ&wpwN{UzE zep_7I^DQTUZDZwiM`3Lx$ey0PwL9otdl0PJ*iy3d<{p(1U}_uYm?JT5Du1Ytt1Y%e z!jYFuwe{8t3FXxKuEvp0-B9MJVXrNB$auNaj~w-xWoqaZ5I_Z~j>ODUE2Ghw=fbohFTe zqPOgi%v69exv&6_rh*`4$1q<4C-+-bpItvvh@RBx${5r0P#FzI*W$K>?h!)V0zTnD z9zRaQhX0PN<=o{X<+CBGC(5g5F9M#V@r(e=JltKkRix*#eD_ksfG0w>K2?bHn6U?< zWH~rWK>dOMiVs2Sb3kA5T=3q;1{Y=WVba(w&&SSQ;bC>M0fqX03!qe6y6MHN7fBqC z0SKCk@H)|hBfNHGVYIyY66)LhQ17 zE}(oRiSE^zPV~-Wv-MuLS&T&bC1dw6Wk@uS5M2s^ z#k?j9!)r0*mxt^kuL}qPfFdsxf*_ud-s~lJ$f-gPo5-2s9xBLJG;+L)#5+=6tkYpU0x(*I#3V)X2>h` z9ZQXUAj6vwj->VOVkcpj)f7C7F-4vkEj-sMBLhlD}?^eQ) zd}$~rHm%~5W8b(Cp&&S4-&>Z4x8Z5>_|CFi%;O}5ckvnoo(L2nbNT{0<0=NS)t9;O zA}rT6augxB+GK80oJB`|wEL~-yHl_QRLZWELgnZoCn;|VUDcu}Im^sGPf4$6MYHqjnEI57CiDdOPOEaB{HfRk3Q-IB^v^~PY5Fp#cH~D`I@0=VenrnZa_ERLD$1zs8^Dtz^=Gp6w#i%TsOlTsa9{CY zl652gtfn{7!ka+XC zKt^MD%DOr94fV7tnY`A&{i`+9u9uepp!ia1Zmv81^W5L4S0whqD6F4b9wdoK0ifiu zcD}FHRvSm6ncJk|6&_3aoIh-hr@fC3P3C~zdS0fjE^wg!6>SfEqa{5mTIrOXLThWw z+Vgbx(#C;$y`MMo+QH#(7t6fRtg)wfo2+DCVpg9&`@5G1?5Ts{9v0^e)zbozzSs{m z(&j@s_)WSPapVhhq+W;l7W;l^o-F`nU3ZMWqvB(m+yYQ?eVK&pe|Uz-8Vh>( zFR)7ZxxXS*_9iKvbgKuyE0<3cR;Qdp1b_gjP#+mmC%Rnnmjt*Zj}6XWv7}|dBkvJ1 z^uwy|mZSjU88*vU(qrN4y{|g56d0nu{6Mozy`EyX4pr0q+H;Qf~57Z zvgI5p@I(PQ;ZXu_5(hl&p83V>E(C_G4(4HTFBE!}6pxWIb`KNgKnXlg5JrqvJ|?}l z@7&;Q?Rls$_VdI%E(A3MkXTP#Ww$=CZuepd%O@t)$3w3t@tTbd^K0}Vv_=`NJT}Nt zvtFqs?@0jxzc zCh(%k&wAxYA+Zh!+p0+G84{FkY+76W*=n=ur)-lcTv`PxDgSu9=ll?S$`S_ii}MM* z>?GOow{xRUA|?}FDF9ZG)&iVrAj;`{T3)d*ULG}P&! zdGm{3Sl)a0UGI7D3?%?i)v~3wf}!4S6EVrHb@@6TU0FDy8=mB?xa^~KnRfQO-=vkf zLeYwdtj^z2FXy?al9_92AwCwCDAyO!1g;KAtZ_Y=hU2P^_IIx{V>L4tBo9owTm&Z) zgz!RMleCzjl~o{C-GicRp$?~!#0AL zFEWBBek);-KRdy-k=B8Goa9kPE zCZ789Qo8g~D(Q?(>-S{=D3YrO*5p%%)I9`b#q7q4Z!EseAWyBVqv5;=h%oHri-2QK zTN*DVY~T}{UVm0JtNLBu$6C*TR-5X~ajy2MEKqeQS0ZnLBSgqDwpYFxr;2RxS{zD0 z0N&{idBalRWNX*b0n5S>(%zK!;7Eld8F_?(G{#2vJY@L2rEf_W9`a|ez7Zd`&pUHf z&0kB4J-y?Wv3)>g_m=3E>=tc44+Ur3001BWNkl^|RHMQ@u`qbP2SsAH_O))FB?g zcXgk($IxqUWi1NzdJX!-u;?L?K_58=uiGdVr4m{UES|qn`|{f}0$5Y(4jQt0SVq6+pS=Gdl~ia=stX8{pa5Ibexfl>5ZhGsm#~y zENZUyw%0AqWHhm%H4iQ>#E5$0e@Fi0i{W86=kis(x=ZD&To?UmE4I_Y{r$7$)sKGl z^0D9XjmyWs>31$)_x0cC-Y4dTV);zqSppA~07x7_F)tI8eRot7&bF>1NU_jCKtKY4 z(3{dr#847i=)Fj>1A-ug4uTM>p#`Lh6s3boFDktV0xG=)LWhtLdVBGlb?GY{TElH^XTviC0spOCwbcHSlDKXl4&7=_>D zp--$FEOD1xrC;Cb_9v>aHQuGZ|Kr*Aqw}B(1B|niOs$@p9&Nob0~vjU*dB($-P7+A zm`7p|0_f=z9}6+s-a@-09QteneYQ$So7s=OGchJ|Q&8d`kBWlNBZ0^1=$V6!nNP=? zL8lGqC2yjh^=h;JeLC7xeqK7p4>2d2fY=uQ3EW z^fPbD-Hqc6HR44ydTdMPL&BYCB)X@Cs3A~6C5NQgnzfa9Mlhc2B}O77jaOG>y-p~# zVv;T+212?^v1FJ7yN>9IT=r3xdFuAr{o%8N+tyMFfQ$Qv5|4P}F35nrhxXbZem`Qm zn>m~NY$>zO$K&Aa0Il+=aTk4xA#|{|$Q}3_+W+G*3pAK* zNY^^Qx`ih?a1?>wZ$nJ%@l3MwsoVGtjfF)3Uinge~M z+{>s)8lzh`tR;gYgN#q_jd>0D-#Tr3+`{ahtfWfi;F9mOaZabifv^AK{uhU?#JMtc z)&Vqz{u1v^R*!db&oOr!wm8o*@eRgZdu;Lp+;;N=ogJ0LgS!pHrVK0>`UCJges``Z z^jNeIJ2y9ly&tqHfVMj!7TPfg_dVjL_~*lt=6HDKl(Uz6AAL4USQYl(boU@VoQn+K z^M$A(w)O4~`Dk;|4lw#;_y7*6#wci+Xy>rV`4IXW!YLkGgYtLkv^e{_Tm>S1D1xpg zm8yAL47n+|B)Kzn#!;QME9eJdKFvVbf&6z&n-dc#DWKn#!&nDd*W?n~c;6iEIB3!J zN?c{@x$qr+%0TKHuobvG(VmCvN)NrQ@Bn~g8u&y8ri2ha8j*XX`b>XeYm^RNER~(H z4qR0|h)1_$+8fRW6nvHq*jBCgKchXKCEVf;Se)$=CTLVz3!((tgA*zF z<7CSjd(%SUwgfPqZ}+8S*b53UlN{ol8QfvNi#_+LZJga_Hpsy!ibGwM%<{FhGFMM= z{|PUAktm>wPdD3Ea*t;~B#`HX!mU$MDdgb`nGVn~>Kvc!@4-u=_(p!26!ON@2(5FZ zNBL6k(%mUTLCy62=czyS zX>|Vah$NdKh|W|UFLNK<4i;FVm=@@5CG^MxWA^B5x6~wa+B^yyM!Ltqj6OLTWuK|& z-bBSQX^nGrWAF{GWxn^IORMzP~M|1a)fuKizk9!X}f2D4s(_qAV~7TC=u6&~pMOZ2A& zVdmoHjEKU|!WU;~K2~N3_?}6t?%0WCp9;4q$v^+!Xp&okqIoU*=sucz|4z%md8UC7 z3>3?aI%?a_BHc0yLJwEF+mA1gXGaT z9+{EK06i)?d2b@2XuF^A46$@Lf=gq;iDC*t7F}4a`rUVmw z5(f>xlXnfk{ri(vZEkg)Z0(#s}* zcm`j;NxxHOZMlIhi=Gh7wBW_K?`v(=_RIMWNIU=F>ASp{?O}Xw ze5fUwi}T%!Xy*eX)l-~k_QAKAENg{-OePY7TjvdC)0^>YXw{R>vt;bp*g2*JCBbtv z3|$rWiS?clR_rVS2?D3Z zw2_?mJ|vR;^O5^GKJW}@)qJEF#Ck4CvDb@K9NpWr=Gkg{dan1&)rdHTdhNlIYt_Ba zlFx}hwZ7fGFh$+kqzrhW7>r`EHeeD#R7l{u!tG(qnCL9AqHX;XOgZT}PeS^>_pV~_ zrCTMkDAy!HMujOft#e`eb6cRT4ss~+5G;m+x1J4@?CVwELvj28_1 z1^A*{yw9m4^kMysd*nz6-ir(ow(Vg|x*q7H-+v`ec)^P3aB*(cplxk%JfaW+f{Lox8WLctewL6A2+u z#|YM$1vAO}BoOj%gt20B#u~h55Z(uss=M>t5{i9`0{;ufgM?%sd^j5?pv?NYs(KSU zt-8dtncU8XkgeG^s0;1NnhWsTOEkeC0ex9RhSsG#!e`!VOT|gIaIaYS@JT#mrb*J_ zLA~kf-K)rfjMGW+Q#&(#Vn3bLrjX-}s0*NdPFG1Sem7NAVH;zkG^!!uCm9%^pK{K* zQC#Q7K>c+k9?2v=+t1PTTdQ*ohNBW>Qs9isN|N50&IhVz@pe|HC#u`o`ehkRssDKF z)4chdeOejhexTg4HcwQ#O(ot+zS;koA&g$`>fJadmJXPpG63OE{lU4GoRBTSgw9YE z%4ypUzS%v?ycj*e>tv>}`-@w_N=C0h9nD8>L34?{11HA<0HU^EbT%RB5k?ttRi`jxAq=s|Y zdxme4I-@~{?^^=B_O9vo+kW*jMLeg|)G zN6#1ZYOaIWz>AO>O?!9iZ8k*8 z{!&-VCK%EK6%X!^L}u@|w>rCvN2s$S;iv&D{49qTKsBJD2B`E2)ug&FbZD6v5 zO|PD#X@rS{p|7kLT_@@OhK?zVEs*LYyb=FIHK8L%446zgSJrE{UuS0>c*=UZy3p~@ zZ4MezPDkT^w&#CD&}_y{O!C~}Y0%5k;qrMgv465h8A{e?2grFLZ_t==;kuf_>+1q2 z7$k>gkgijsN0yw++>EhDI~evoZofTf_x;&P5uK&?665Fi==03+mnYQAnJCTA#nhrB zY5RlG7avI4w>PWWq$tMEg}=^};7+e)K=7%HB^5cpGSbkeY!^_);VlUKKeedOFQ&HZ2d$cwZ>oR2%3(eSMkdrs zpe{{6%b_V`mh9=Hh&XpCv6~}m;d7*4v2}`K??;S%baKN!t_Q(TXRv^(%AooMDq!p3 zrM>iuXP~#r8l8PGW@j0=%NmIAnE%HS5h->uqoN4h@@w(>y%f_0WqC$#`-S(P8383M zZ;d3UA{Fhv;{jh?)%z3q4H^l#a)CJ#Hhot-x~Z{9GrmK}CR6yfP-N8E^TYC>6*DDd zBbf05sP7U*BwYx-rU>b(_U(9(lNlMj??aoik=W%4W_zmJjAzqofs%qTq}`OSlhPD9 zS6+tS&T@I`Ib3IHLAw(kCKVO5J9E5lXK`w`J58=LRMa@3YI5Q7<(M1A(!o7qQBk!W zZM7e$U$ED_lY9i$E#rIrfFYKDrt?_W!NK9Q1E}H5=q>dkB$6Hd;Kw@=p&YUcRb5wK zsyl706p0T!??)6DHx&DpW;L&UUD+)1mdDwc4BL7Q;0{jKESBQBv_qZ2=g8=S&yn9a zcb@7GAGeBlY4zOX7H2;Kl!EyT+8Fnfgmx%mRT$CyVlblQ-o+vc<1&bFW9$k;XO1lM zjXBl@Nj4;QPxA_lTxGRTV-h0v3cbDZg}_oe5V+k~CML)Cl8Q+;F?F`9n^9I)2uci- z!Swp-H>S6-7G(;&R(jvz8GaqlhkX7HG61_iJV5W*kY|0T-k5E=^^k%BQ)8 zl@IqbJB#W6HuG~K^gLUuq}i9N?%wda!qWG&d(M^zaji8YJc7UK+p9sFEH1o?7Y7#0 z(5@M%ZsyB1z&ziSD-A?{KkAZ5or#7=@Gdn0#oiM@?o$(_C&`8!afK&5Kdr-KpNQ0 z`$|?9xN}S}=P2hB-p4K#4ES#z(<7i2m;WUB|EmvMzaP9qYuVm8ak!p`jQI1CkBZs5 zodJ+i4QZ2HRX=g4<8`!t5l#2dwRva8PwV&Ywenkf9c#*hcI1D`?(1eo#8WG-P0Xx} ze|bXhAt&sPs&g`N_ctSkw?77WIk38N3IMcqrp-gu#bLl0?;JV46=lf-Kxg7fr_B#? zDwK4JSS89f#TdEMJusLF*b8_xf3RY7-}dwWU;a;z2PyMMxV`LQw!?R`chdJO%Cn=_CDtytHnP;9VX}mC8;F(U-yzw8HDZqOgt!4Aqb<}M>I>;)cw)dcy|xn0<^Uk zwns~r<5#iJ)@tkw0*=&NU&%7i@B48p7E4;d&Nt012|Mdr13JQy`af4yJBkxP@}-7|WD)nGs)JSQQt`l}HOmG-(1H_G%$;7) zfvjEQAp+H~m-?Uw5@AzK3jF&qz-dg?PnQiyH9asYX$mG8YKe!=fkCa$(B3{-~L)pv8~wS zS}{=E{4Tft(|abpzy36ZnD*E;qjwnVsJv7`nU7X-Tq5pYFufHQG*wEQ7j%SE9O||^ zK4{GFUg|8-dz|&*vF{d7F-K?1*>0t0Z;h+|NLIkJ)hGSs-w_rUD8v6F2%ZZWE!+Rca7i0 ze2l~wuODx(S@!+le%R}3ce0Ci{`5MvqBbUW!tgvsy2CiN?LoO~CkOALzETJNYv zXEAYNvAmy+gWq{dw&ul0WDH8$UW6oy@n{q3UHr{N;hsOx0ya*p^q@kw#s>y=JZs#~ zz`na&4LWr%xu;K~Ju&fRS~Zih-rcWSe6ZuhW4oz`J=?av8v!evh1S_+uUnnEn#HZs ze{nUhB`r1WEglUQ#9OCt))TVS16<|g{}UCEd_zPjWP~#StT5LVpiSLq8r-GO(Ik_n z74w~)r4|&vxwBWM=I>zYR){=`u|9{J=CgYaF7%i& zs9_A*C3&ZO0>J#^opy1h3u~5RO$*#WBaGfKOkiE9lwrSAu_Q(oS_Q+29( zjt=$r5J#%zmg&DvdVUc2^mra7jU1o+T&cEul7+P}8sC#0Dfl#yX_?gq?Ff|55<6TI z9%_=6{PpoZ@OJ%pRT_znV@9Z)e+FN@jNk~RIu!Y5>8 zusypqj{NQ{1}?c$ZJN(Mjn`?|#zw{;8qUCh`hb`rxtC7}rMN6dPLRnsYCPWh*L?>}>u#dsV?tYlA<-|}@19iq5*m9=w@+<5y8pYv z3Ncm{#yzn$uZ|dNB))k(#LY#lc+=lBH=aJ^C)VWqF2Gk-Wl>NupE1a91KzohL3kI` zWc#1MkBF{~+iz%L@yD$Zv|ce2;?2S*``qR1kGN%C{zU-!y0c!IxNJQ+5AJO;+XH%a z+^=%3z}syao_YIuMaLh^LaCyZQiPR4@PklGc|L}T@CW!O+Fak5-?J9q>UL}_8np3M zYWdW>J@r931YiS9AC6*n@a?1OK2@;n1tQaO^&WY*F(hB2sZ3Bv7j43TfAEjxRPm`3 zUh{R&*C~w0=dy|}4OgKf$9}x*5>2?oL9c8IpBcm)4a*+OWmeA#M3cI*_CK}`aZR{N z6YJuS%5jC+GpgGLw%Nzq0mHZb+!TojyTktM0^zc31pC6Pn)USOzD^(JonNV2AA6e> zD2kt8Z=_dU`HMR|IZvK`4g@Em`s z&2o$-j%Jz`(yHJMq!n;8rwcIAlSONRXM2UV>IgMcoypy6M4K`-7!p4$q!IuCsU8Y zVyi8H5qX9mZ`vl_s@|_I)Dj5*kU=)Lmt$VSOL`#}1gp@y!RB?1PaZR9^wZCO!2~wI z5+!7~OL-kM2GBzfImC4fPuKD3p(;{@~XE4zC6 z?yc=+4K^=j_}xE@Ho7O%@woFsjedOKT3_3@4b^&*)hox~Uk@gB=>6vaA?3z-W{{@R z#~2)8;Oqkv{&d$`Xh!j+_MPjJ&b|JSI>cH1G>_4zDs8-bm}!6+Tw3Z_8E(_0-(zmyth?SUh8pINrKR8dxVW)5 zEu*~IcH#aANj>gt-ChWIKULrriyV56a(Kvq92oVHVCM6(h$a>+??8|`c{=`Y z05DQOF~(853`5hzbqWX_*>~ic+GVi z1vq;Z#0zPb8Ya7Sl)Km}@^aeKs{C?ggNTI#;qB_}LB+=*hVI{oEiBs=LH(h{2K5~G7k^Kh;LBL@?dpY); zXa&72cT>JHPRxMakgp?5{RvPAay)uM-UDRK`1Oh2#^cak{Qe%^W?IuBMYH2EQm(R@ z@q?U9oHpxoS3z8Mxl(*c=ROUN8r$`x}kDpA~UzVP)4<_%yU2jImZx9A{o0z9} zLMe4}#iz>T$)f^s?-@^;QCjXQ3ZcCatvmfrK?d$W$Yb2t9UH7)-@LTit5T{hF899p zJtOxpkN_xz`@c+uF;qeluG5Dw;ID0{Ag}2X3p@=q6%BQ=+K_K4fs66sER}l9YdQvl zhTm={5@GK+8~ho?-D3&+f*j>Afy_!D3an=7m}t}dtCNeqw}SSg9uGe>vr+wCJ?ugx zc9!Yk5Utb0E(P&H>%C`*(+&8=km^j=x18LScYGH(xU)=4GHjkv-KyA*iG*xYA`PbpFW zXq@8%Z@mTnd7g{0g22xrL%ozUe&dnGWt}{$^+GynFcG(EYn=DQR(7wS(I(F}Y=Gs`4PO_J^J3Pk z#l6mWXWO(V9ITvn`qNLn6jow{H8H^Lb>-(!{c-2ck9)flK$M>Bw0F?qsY?soUCQ=$ z_FB8jd}Z;l5%;G%<4Zik!=}QPD~l7ILlo$lOqH`H#bM<=i?n|KNv`ANpAVNhl|ZHA z&zv8*P3h52N~UZ!9&dWCd2ebtdb?!B8+qvbr66NYMy@A^d9&hul{Lhn4BY8{Kwg>w zdap2M66FJc)bu)UA=J#EiM0b%m-)eyeK(81geGUs%F?|&bF%iSJ6?gxn4hZqIiF&d zDfX8|Yh*o!K%pa>jJheQaAa)^(^sqUc0)cx3AgxOQ9U8YFa8%Tg!A<}!;pEf@#!}X zD=9(>^Xl7!A%^-AiO*I}1@nz$tP}MV=8J$^9(R#{(doGm>}`@)Kc=;NTn26!?)B0< zXh2*nr*SW&+k6v)6Jp@w&ehC$XDRW;KFD-R5Nk^t@a_`6LeoUejizWYgKrZI-m9Kud z7;pLWU8y0Zp;yU$9tPk1O#WPkBbT^BSn(8NJ7k?#5@rOH9a1U{t0!MkAAFI8iZNNx1-3)a>NM}9-&42Tb~ zAW#tOrQDnk<)8;~%g?U@@u7E7f0-&tyx`yB&1&j6`q9qzaYH(=1xs&pn$}_x>|+U3 zFvwk3K91<`NZ@oZOj(ED*Qc>i4h&QF5NJ@gC6CJb?q`WPTD>-6M~oj2$>lhBP{RC3 zH@AkbIUaA5#sARDNWek1>Z)$BIb~Gj745WCFlvMEn*%G3b*Z}B&q1jP6OJ#tUloW? zb2hj+jB@lT?CItxyPYEv;mt8Z^~cKYzw3+IFF#Xjt|!|bt$z}%lYa1NJpZ^!D6qWK zMg3M}Ebh@RI*HyMWlhh@;|gfgCRU_VNrqr*i`*O+Oq?t{n4#-N^sZA+2WPx**#MBt zIR1wUT5}{PxAcbbP22!pvvDN$>b_CqLdd1nt zmv2?M2x)R&@K{SLnaZ{8TCq}A?;Y0a>`P1szY49BX;R+Zcn`B+KQb0f;}8!-r(O|8 z?2$*=^wq`<3kC4oRt%wX5AagrI(aWWix!xoS%=J|dp)25nt8B|XF6dJ-*zXYoh?us zkmMMzITM9o<(TvOR^{`>{qJ^>Pl_X2_h99S&DYn-1_20Wc9|1c%g%JdJMqCNTHUyh z4u>gjM)6~WZtLl2sWh<2S$^)y_KSsN{RZl$2Z7t8QV zpdQYbiDB%{z0@9U<jIm`WZcnV!nGY1v$!krvbzYb+ej z;~H=_`t;_b7hhlGrG!)*Q1v+gYZ$v#zk^|H0BAz8-mO2NV$x35>h{<6W_bfZ z-zuB2Qfo6Ue#mSB)74SFJB4AFDuhkWVr zNkjJ(5kEr`_Ry7g4ZY;ZB)KubJelBij&ECesgLq?`Xb}l1rVzj;jV_BgXA>fd(Ompw$ z0f+^|BXus%%G`;Gd;nbIQ28t7Z}}-3gG5M`=IFVj*NP+CNun(?n$K@V&0*hwvb;@D z!-6}J;;JbEHmkc#%J)y--p@nJA$?2Gs+w0qJdWDk)_QWWHzdDmQy_O=N4|?>K-7t| zI8bbQ7$x7uGah9Z>JfeFMj(LGov#vho1eTtPTHrtSH+x1Uy-pzDS6&HRj@InmWTSa~> z&A+8nVGxY%PaKuG#H5^hTzFsJxz&p*$si!2LhNs`ObR(9r}5Cj@4@2NRh5#{w>6W> zVOpm}6B=p$$x18IQN?-MMKIK|h5M>PL2rCoe6jDFO+!KGRc6V1PLP~qq%b$z2j(VT z*T*-dF((3#L>$`8n9{<`EAt{pvm$5TF%20SZ(9om35?zGR;C5lJCFz9~jHvB)vb-`;spzIx49 zsgl-(RZO|Fs?$X8-ORE$+`3{vN%T@{E%=~ae|ji6eByQ0TWD!$s*dJo?5c09X94&%I5 z85~he@5k>!)?O2>c3?@E4Cqd85YqFAX+P3`B<(nbZ#G9v9_e7H_lU?_xe!)ZF)U}4 zch}Bs1Zj!7H-h9c+vM28Me$07FtoO+?E%}9#o!@J;rZY9CI~j%Q1G>`u#1H0O%`~2^ zbO65&8FCEkmR5f|Z}jlZduF_-GFiL$=uTwsHF{9iwQf#91F{(-791zBNY~*gV0Uw+W^!7;Ruac~oq`H2V5s_!6`pjED!nle5waohk&0YZ~6TyVz z+I9Z!#MDTW*tUd9dy6=^$x%HD7}o@rOx;FvWDRZ&`8dIEM%-V7kPdb>`-veEA5zB` zc3pUGKfzNo8u8_6h+(-%&&-CBJn!)JZ`e+8Kpq1?WktB$sJxZMDlDq^+EkbL+i0+b ztD8a@>t85GBRiNnX{u<*M?doiZ`BV|NPDExCU1k9{bc~$ACk%?6c!qHB=oj!l{{)P zGauP*T$Gi>72<&dx*1~uf=uqb{C8o(P5y3IHTt4raaB_Lh6wJ*qzc7=H5b<8aB-uV z>->;+9=fD+3B?1~IE(#E!}ITu?awB7>vzgJZZdy;{6&Jg`p*}+iZM&{R{SzW43LsYMB3^gix&dge|O$lEJuZ`Ovs!(L|%?>wc1Ts3wRzCMhy@q`#82@75SVFmGJ&2vR(Z}pBF~vD@ zji}G~fid2u)wBj*aBH4AS8Q@3H_M{L8~P@ovfwLF0@~$K2!pC|J|X`?`6`ybjH{!5~tJp^*duxt$l&+i1c)rz2i z)6of?UTK_y0Rk+)Dk9pg%vVUvIwjlT*&d+Lm}k<6Ys-#QG8PWg&cY^Jjk;)i@dcJp ziXGTwcH|GKX?nH~uSP$;J@hja@qu%yOymbZ+}Ypkmw@}#77_V-K#kRA#+lsob|m)< zdiIl`%2kn$P-G;*!H>MhBZ$`H1~)7z9j#8LfsNb z#*H$h4#^#{Vi2|{T1HF;8h0}_$;RVpx)}mCQNeSJgPBSZtGHlak`i>58ygu4S4r3ZAKbyU>;>S95D^#2| zh5Rr11f6*nc~;|D5fLpusV+XfdPj%OoR9~Lug!T7$uiaHAEwtAbz&0=NrdV}Ef~Yt zC{4Y~%&YR-j6A+Hs=m_nJz#gq6#OJ(w|gkW?Qm&G(q=3)sXw8D+w=wwov!KAt|i8{ zXR`PdTWNz3GrQHJeaW`I?$vYxNX+f#O74RlpV;Z742KnddXQ@4dIUc;+3 z`@PBRCV5ntIBd)h2=~a>GD=!tiX;})DBpJIxncGt9gJ^g@Z$J(6UsGV62I#)=CJt1 zM5pg$HN|xwmQyR&O|j)ZbgjvmrjxIG5k|+KK0_qUW&P>2UH&M){1ye->)Rqn|=I{$;nHrTDhiJC)>4vRTUq zh2v8pdNB(>kRg??pbM~~LCe=_cmo?mf@wV106nX|Wl=V2AwZK_qJ1zL;WqPx2@Ph@7@+9*=J}rU%(%UgY=a z&eIizF9^tM$ezsXxxh&K&7N${$F)v>3Mne~$sPEPoP@_*YNl9%P$mD)-dHj|*9+jX zrcZO542wCs8O6QIoss(QtKOL9!i$)q;s&Lla1Ad6Sw2%@Udpd1A12>2JzOfyGhUpt%ek05o{c%Pk)ipf^+w}+(&gjnW; z&35rNu6{&z#aQ}>O{O}AdA_CjK-wn?y@q^qP2jZ?nGB(0d8D5l8x*&f{; z^`th$MZFv+Zet+a{|&!po@P5m)EEc%nltMQutk=eTp9cSq?3?AfP~E<#55YrR=O1P z^S7$aL1b%LAFX_kqIYk~VL`+H7DA51uG@d3 zw+1*Dg+Z?i3s~pAvhAOnZ&0X=qa!^5zz^?t3L8;tT9&8%Qz%g}5Z)63H=@6tv*jB? zsvuV=kwS`t*jw+h_=H#N`C6pz55+~%@eL6TLUpq{v@F%73(CMMRU|>+K5gnr#ls2~ z6rKmDRXG{F#~5mqAb%lKebOK~H-paqQnjdSK=+!_Ce5TVQoxJ{^+6%xf$cO4HhDLl zw4X4N0Rx|ph5i<#${z*U4h#lcSf6Hal7#&E9pgKSsN?>zPvCdrJ4^_VYM{~WiE&YAeiSb|?0`&EP{vRiJTxeQ z@`em0-oz^xIqcVyt56!jr1Cw#>+2LlLK@4v3;f5Z=|OK#W$p(20kxkzB)^y};4#Gq zul{&Hd+oQtB(8u1v4RYxQY!-RJR^1QkKduhH(}rv>9nd_&&MA7F@S)a4EmYESM(G6Bti_k z(IPs&8X;rxCls(UUsUXmomb#7j~PpAwm%rsTOHCgdIqjO{+%XEu#+3-G(L@urp+8Q zp}~IWT-K2s@Acq{RY|%w^-~x=$r>gnDL+4kk^>jAfTkOA-}x(<+l5qhQ$#&azc%U{ zW|ksw7<|kZ?@L!O-8@58-Z78WYNcX22^Tp-^mhdACLEmEFj6NC`bbyM`~kaCXwQ>s zk%+Q7!{2|D29iPn3fjRb(E}b5E`2P%j;eaT;xh2-%QHbq!(y|Xg(~kcF+fksyJBLuRv*x5xM3TA4lpu;xUS=EUfT!+ zrb@l;jmEf$s=OA4X!F5~w#SVtvy7u2T%TEN+q22iQ{5g)Q;Aro{3Fdu@R8>F>htLJ z-)1hwSFs6gC{PXh!Y&-a`s@u^tH$H^WnCU^F=0KirivI2nKEq#fg)k0CWhR6Qucsf zzt`yaGG3T zuXlPHxVxP|mE^pCib?nbpdwCWk)x6{cbLCVHU`fkRE{D-|7Lja6Kktb3sRYV&m84yD@>|)Yf zdkk{n6ElG17<;eENyIn5qh%9sC!G2-g(QSSe)$$sw-k-OhOuf)f#={-1LSL6Iwf~)x&lL7N!qVW2`e8YG=`(9p@I7B0=JMGg8phmPwAS6z)8p;52wOOUNk>VEF z`_Xy6m#X|WBdE;EH!qU2d=o5)p$L&OEcal!@Fyb@A|tWg)qls6ROcB%wB7IHwEP}q zHwq(36;s-4rfLa*Cf?fIbJM%jX%3XpgH|X@$tH|uSLi*4kle)2xjuoR-~-W?LYD+y z)*gK((2jUlI1>nnkTPg|1!h~w?~(Zf7=rCxscyg*U-D}Hi#YNb;UR>t%28DB^N|X# zw2%3Q>n)PRtQPJ1s;flNEhCskQ zkr2bpzQFdYdawIvyVQ zD!p}}i7AbnLhjFBY*xweO4lU+>=;Z@(5~kCO{uFTLJ9GM_M7a+pS!v$M$0z&Q70WT zP4%zSoQoiC4gw3R@n4Copl025J{}eh=0zKjn3g3#qp@k4TUua<7w!<2%753NEs-io z4vWN{36eQ4%m|6l{lTO}!_Sd9Ya{sUuKxDAZEY|`&$hR=p_Cy5P$fWE0In9cKce8w zFqAhXg960y7>e-dOiC}{ZRyG0hiQxDdauw;^!&8CSkPudB=X3YTyUld8G2_-J$6?Z z#M>A}{*VSGgd9pBM%iV+(&+e%E-}%5ayl@~i^`aZD24qCJoEe?n7X{_bo^hv z0RLhklHt#V|2x}yL1(_#W;2xCVoy8Fl*kA7Y&1=vw=R>0#O#NOHFO^8@u3(56a9nu z%yJokp@LVajhIIt54HVbklm9I{8S8y=7&5f`o+ZCxK8Kg9CZ>JgSWtj-A`l(yPR zkIN0VnPM-0lcdETNs?FF{#poNVzc>Zlh;pFZ6r-g3UPVF_esW4rIqY+JLffgzRhT7@cyZ^8Nwfu4}$NG zKQ8xdy&{{Z*Qw|$fH16?_FenvyR+&!;Zh@dINbcx)GD8~c`JMc6D_WXw)W`GEsvle znJL}16tGc_XX&0z8|g-D5r;QJfcU*tW>9l16;t+;WQyo@q0S;dUEkQOvl+Ab z=G?Wmu;_ANm{yn>$&rRafq{S~JMo;2hp5nY2A*G**+CY+q}q;5J*7`tuX6I%5#EVS z72fwmmw$-}OAa_p?&5{N3@EKq{)6V}QW?p#No{F#2z<0%Mp^UWDsiVgD8LX2AS@sT z{A|Yqk2Z#1Uf~!D*qf3SXvEw&+NjAcy94R(RN1YhCjA<99Dd8S^N#qbJU}$lZ?kS? z_64mT_wg*{@RavVW}N(DYRE{{M)gF2X>tA<_hKFUKKYa1n{xJGvH%L$lvzTjN18d^ zm!U_!UrNWDP)f)_+l>d>?hK?@WlhnqB-~8HJzQWeqYr+*_A|<}B-! zG^TUbXyz=eSes@IG4Z*>#G?i>`HiTV6t$1lZTH?K4cai)JfuoH3wH-lC!Mz|dvftl zd~i?SK9v@$=^Qq4o02mrYxiSezHoVCRXGIpF@h?FQg#2!O2)H(sO*&I@cQkY>vMwo z2-snI%R##5Nie*g)X(!|xF)Nh;fE19{29W(AD;N|Gl_L8tc* zhtSP8w|t%K*wS}<%$lWaf=+fW;5uLaM%TsHV0w_4#K&j|gMhL+9${^k3`VuLEsIU* zyM)H?uhNUWzK876;${;_vfyrQ zU~H)2GgdF^__hW7n4VX4wb=v%88M07irQFnx2uLi%lC74w(zOA2yogO`c~(Q{|15o zhqe+K&7;WF%L-CJ03b%ew8R`0r?^@Baad0=e<0{|du1`*Eel;3WFC^sy>L+S+IA7( zzfei~>9E8$>jxbU3&Cx7ip=uY${JkNXw-L;A5S+Tp0RUtXIHcY5*M=@phB9}(N;JG zhkzZGZL;_mq|{V9A()zJ<%>rM&-^FI^Zgl@Z|>G&ij56?=#FT5s`I%=>`@wO!1xQ> zokb}=6a6*u^mYbv<>{S163@6}BMO*7CI*dlXa~EGG(Z7^CwHf5?PB*<#c!{Ro6M+Y zTqbjdHdCA5{DTAZMt?SB1`$MdU`z*eI0|u}keUQ#n=cK&^mQ5=4VM8*3r@UFy2_kSNCjBh+YTs3Pcn&Cz)pjIw$?}NvK&Q6A@ z1u|YuAM|?{DDRH)Hm&Ho!B}m5?y7X!o&2=RFI3ri?>jvZu=#AeBklqToU{{3HHOWM z)8m7NHES_ufaR9$!qYo1A7s3Bu7Vf|d3;lOU0e=E%|`Unb}|y)rZiaO_}oI4y{YCy z*}iYr!KxQ%Uz4X)f$1@nTt4=`hr`)rL$@`acb_e^o>{pydD&*avdlT2#+^)uJ!?AIaC3{< zB7q$tWY(;iz|71!bG#_K^P%$h;(p%jUb8#%O%}%ajx-DvnG_T4yl0*bD6dTW;dI4) z2cr}6^dL!*poAaDyeGd(EZ$B8oE^>Ry9I8ie*mMxp&sh};!8fQ9Mi9|@Gi&PkA!Erx7dqXGDF({oiDj3eKTQnjW;0`B99L>i*rz zs^Tk59_4qDS#l7W%PANbEopNl#4vs-;g%0g!L;Bcln?&;>m3Dn;KVnLq}DyEBy+GB zij^7A#7_VVBF&%}MC!3Py>F)nvwmWIeWlm?o3MG4YMphkAaFa-cE(K^NNBwEhcqkr zb11#}DmBx2;QPzatS;RI5YN>`MhB{-m43-IQiYL+nywDnCwD>|K1!L|V*~}A?FD6X zo$YrP1|4?>=_Ifttzu>sR`L>u1XK^Y`)-Ft@tLnqyf4gp&9z$*@o-!{ELMw=jg}vo zWIp0K(lJlUFbM$C=9|mFjP9jbUhG|(+dI&o_Z?i-G~M1`uPob1iQ60+jYKBIO`2Uw zD*E6=+7obmP|r6c?#>m&rSrfiJ8Ehvv6aC1lf9utFUMF^z#?_D8t5hUfGj`d2DVn0 z9>6joZl@WhZb?d4`mCU~=ClFJcZLT7cR##2W$uz#dRLQdS1ZLxB*ht-D?FpLe+Ynq zF#GqHl3ocUD2*YOGH)TP=oo@tuWd`|)R5K}R(~ z>5A~Hs>fRzh{p9B$|4?FzyE9eo5%RW!u+PaX~j~j8odVd+TWSoGO%KkS`5BA&Vc_Pxo~#`NO2HJsPIs8`LYgxf%`nm{apNy&O#wz7~xc?Ylcw z2<2ZSLhJkRiG8?f(I#g!rfP*8c5G-{LLSxkQfYto#Vw57%m<14hb$AmYo)`CSzBSm zOq~Dy@jG4Om^)YH`OX;DJr&p+l7i}<&d18?HMBh0dOgy}Z{yJoTxpm&*#u8~p#K98 zSX~Xt7lA)QFl2AH$(0|ZfSwru#LEE(*R_VEBe;AY9JZ<+w|+d?ohW?PFE7w^G==-c zYM~lJ$l7ZZP~LQp*G_;O951P6+rEx1XZk;E zeRWt9VD~o8p@adWM5G6dmQq1tGz^f@Af;Kx_>Fw-eb5y(p%aB;h)au1zjjHu8H@`;(9!y~Uc!HPWEE5^b-MdQ`e3#u)-gpk& z4ccfH4$uMW6|hEWl-^N)&{=;De@C968J2MVf0F}K0ZaxTdapg&3rDYz+GR*M=qNZq z5o1;9hKy{Q)Srgao9l@W@+-M(_xcL@J9js-x1Rn4I14w2F`|~opG*Q2Pxw}YHKw-bo(b7jL$->Gk}QO>+%a{6X@BecG+$17clHzQsnK&1UZjj@!gJ*pz_b}66C zB>TngK>0uGDaX=>Uyl#Iq6;)lCWtr)vqgg`cAe_jSUEmg*}VcX19Pe0&uKQ|?j0zKJ%>uRro({w(Cry*AkYg25twbR+ZnoN-|e z4B_gio~tx&vp)TK4&1HQHh}j}>yB=K0%xH+SvFGA>AF@_d?8}Iv4_nwkl!29%*n+r z-nn%S90@wUw(wt_RQ-zO^x7C0hUvBKoMgp&Y`Tt)+WqCO|zz<@jR>zT4{OY@kEVW-KR}B zU*bW(U58?TWV^8RZZlUsVX9&+?0!M*mhLKBkL{~B2d>eU4IEd`?8;p|godiIFfMVq zd^Y~xX|W~BY|339K4nP{ki~ASD-DJtRaIBml^NtR_lE$&({BjYl$wsW?g5T&7;(pU zw-bcWil%zMOOrzbXHIa+psUe#|Ket-t?#aCMwoYW;2%Djzc?q0`KwS$cia8z#Y;Oo zJBdQRWx#Yf7ovNE`~u+Dcf02NSA0`4k>jij9rsO$u;#lp%lf6mpoTTch@X>U0@Pgf zTMz0p#hZC!pGEn`WP60`&0udE+jPgR?OgP9oT zzz3(b0@x(O+k-G@WxEf2npZ??S5B4#ZBv)2q%_6w{^z8nG+7wYopsECpQ*um^e1R@ zfaA6jL9N}G_O;eybLk8Jo7y$ZQWKLHM8^!zDr1Yg{uJxSFQw86%ZZ<4g`yR0k{*xw zZ>Lvx%*eVf_0MQkGL?pF`piE`|;w-FVLhcX537Ozp7)!6#G!2M#;LCm8XZ7 z6BILpJ- zv8@O9bX8OytK*a}+KF;8G|yn}e4g;WZM&@M&#_^`QhHR@G$|-w3Pxhz1fNw8 z>P_MiT}EwDt`_@jIvh@M7AwH`IG87;pZ!$oZ`&z&<6P(c>a$)wwZ&Q^_C{8^GAP;z z&w8->Z*)tcG*z(Vr`13ALX@S9jzA*8pQ1NV^ZUHB8c&it?r7m`LI|&bQfk|c!u79m zma6}-zW*w(-I;?S2?8TCPG$UYftUExhNsrq826R8+Z{uS<)CGL5UIuoN$v!tyEPi& zQntF6wR~WRYgHPLAEs+)MjF3vVlBUk>d9b7n`u@wbnBRpT8<9X`$%n+tj8kfIMG$Q z@yVnp{x#|_PkD+LDVLW zY{Hs#e_*3_#a|dSxb`_I`d`#a1H&xOMa4e$KQP%m_ceJp(~QrmzX&j z-+~q+S4)D@W!=$n2S0e#@s}ixmBJp!_BOAN8d&LO%(z70mDK$tlKC@TOO;;#1zv}~ zfufGyWh|BUIsVeu7N{)@*8S)?OdbuGRGFI+n$Y6e(WH>Qh<|k@SbD*%C#RX9ztz_TYQD@ z0O?p7Z}jPl(&)|~Q}=f*oLn`jFS<$t3=L8?&3y~pddMubiP)?bG!$-;zOLkigJH*u z?n_TF?g^6tAkAuD^!k7`bzs_F+xNEAn&8^<0?&l2a-BF-e@Tmn|_)}zs{nZx%(ok;2j*o6SHGH`I zh=qBRd*x!uGeLkbbEx%%)@6MEIuyn4(X3=kPLo!DMX@}(Kk(PQ``*m7=kqwV^K-}? zRkvnJjXjhSORzvNwFS%s&jPDd->qKcIS%3g($HtwZBv~OaIFs~iFObB2`_SOICa*J zx0;L=D=f;wU!|7mBi|{hT+vG&KQ~IkfxaNS^Q$JIjTtNNDgz)bc2rpXjdhfaAq}tY zYwn3QrPN-|8XI4%{KdeXPX@R)iT0g>DjTiI$i;19aqbt^=6haB>j}xFu{4AX-)#Lg zf%u((1SA$YI0y|sqisf*Or~+8&ybb{RC)V3nHeW@ zZNaYlZmD{t<0=H8e%$M<>hmzUm=vYNAzlVwM-Y{^; z2%qLFaZEHy{86JcwseN&cSdHq+PUgf(MXK~#{y6 zWvB_FJ0#swLPlf4#`#5bJqQDBLUP(<(YGsZNDm5ar#}~9l*e#zzK0vQe%HFb>Hj$d ziKR9&vh?>D>uq&mW?FRab05l;AudVbEDcd*@>TJ>{90KZ;GePsXOCxj>RW`TcBD>$wAcW8d zJxrW+>EfgN8XEzFMr99t8=Jlh$md~^37UlGH1=>yzw?q9T?H;NT7;BW?jUA7H+dfkz|XK;7B<&f6#wv8L>5yLj?kM%>7UgA`&w8gYcmv zM+Rw_Iixi4ZOnNuk<`4pVXv;xc88(oV5#sHSA!((%6M5HZL{aIb$dZPMtnNs>3jzC z#9R8S85dDcD%lE`S8ryN=M7i3!I(?AcmWkFTPp_|DmyK)CP^*299=GunYxx?L?|(D z*w7*j%;p=ma@*|&?!tJ;@I4+J%!vAg&q@hv5`$#Iag1Ba&XuP#rk=u;RJm*%-|&Y1 zKJ-$q(I4hOPmh;&i2SeC0+V}B&W64h@#-`&OdDSVyp=2bV950r$9d5RWYILWEk2s( z^3Ol}n>UW!$YL*1PA7kqLYJIQ2dQ6AdJ2-)O8Kj42(Eu1L->sa0gU-4<+Vj1^2&2v z5>g?`p5HpZ4MQ>G46u54rVzT?EsH?~i0xoaZUy>(I;@~29ScNblX97!*weW)NfwVB z?B;5*fi&C5v;2;sLFjNhr_~o5VxfRz;(jGwE`LA9+60pRU|XU}D^s2D+}-818yi|7 zx}+%~y?1U-AxC54u(9}Rhz*J?CZL#$$J|H7OF85~?mI@*b>$rW39QcsdeAd1R+h~( zqb1&sH#_lm3?W>uTvE;aJc+}zbWH2jZ`y%+|T>ni^?x2t){^>t)l$@6nL;{q8!Yb7B9Eq+>R ziGV^d^`c$=gb4Pe!4D{H*I9!|a-u{!;omF?z4kO%j?w!#($I93rtIJs*{a^{vjr9P zLJ3jJG&-C^XRU?@ukRXj+oyi4mKot< zv#iA5?Bf-mS4QA4;We&>pq zNn)(9w42O)H@aL0j2NykOGbuJ&cHMNDctE$i>TcN9~cf?&Alx?-i0 zY?k_B@;!UM55qPJzYlDf5w{)3v=-#tJ){oZj2ul01oBVF|4)&HvjLhCnJljWIiz#u zWA(qd0KkBPVetrb$#rz5`ndwvQ(f3lDm_wWw$nk2~ zvu$G9?{{{q9G;+xl?&9%?A>#BD)p}CWu3PD#UQ|RLP`lDA5mjpvh4r$vKG*OnIrkR zhpo$Ysfu!2+d5`@)*G)YHoj%641eccd)Uh3;GvhhB&xJkpz5WZg;ESv6U{jHTU0)6 z;=QXXN>+so@4#f~Kz&t@2i-yQng)T>(78AcQ?wS2t=91nH3;!*MOjt3o~j$hL%7Pi z-TJLswzZQ=jud}fZG7NeyHauce*_02VMv1}w1Yk9O0in*RLNhd7REyZ{OfP|tWyvB zbSO!yV7Vg{ygK!>-3kL}cRhdl>NMGw)czbH4dqd9j24gPjX@TD2Nd7%gLz?eqCR=S zEORsu+Womvr4}t>%NVYtPpHsrAK`Jiwa%RbUONOM8az5aI6+yfbC}|I=Tl$KpKzhB z99KbI@rQ-4Adk{t5OIp^1}2TQn(uJ1`z9C>x|ISGf#K5U1x3ueK^R81)ow|2OdjrV zqZhkxhfb1&rr%ooAOei5N?*KGGz}V>XX?zY<@h23irP|SH}Qd@!pXkdgv9jhmk7z_ zC&8Pv#4zIuDk@%BrUo94~e36v$<%{HFNV5zod`P#_ z>Rxs%n`h3NYSbf_i(>jA(h%E{QR??6SRF?2HHZjd0X~&Ch{tn7HGuR2{q6!jmORRg zL|B3Fu$@MOpth|ZKJWUG+MK6OFIKop4=~2%bnn^ha&w~u8g=TTQg`dXMADlwrBSSe zikH1rlfGKptF_uOBf78K3<#M<+e?_#X?4_sI-zTh|Mjzz7N}r&fdlmN{wtye0#NDz z51-+61;WmaJPShoYO5$?v~rjR{@p!U%4D^t`gZ|o z(0!6bNLE1HDv8U05~WAb2XMhi`}OR$41_E6mj^1&Jh+?9z!5+z}k^o??{$-#kYcbRWvVRJ((s00yS3)T!a;7{^eN+hFHA zSCgr$X^ijjV&KLC7d&SWW6W8*oi#9Ul@8%jp8VB8*$1=rtCJyTC0$iR zZ%17^-Or39Y^dQ_9`w*680rU@Bf{HU#ePp`uE9-S;)}iFI2~?h&LVRBU8G zxjGyx_uFw?Dqej#v>F3IhYqEtN&X|s{4?O(VFNH8bG7InEw*$#z=*Yq4yEtg%=LJZ z|DbutIjf5g?BM8{ty+GCCcFwguk5>yfGvm*^XX~MIyeUQj`P+)UguO6H6rE`kx3k) zq-s%=Sf2mt>qLY5TM^WQRLwa(4ml=F>H{(cg9u0%wM7!XKQJCjv7&O~rBQ*@hEhJk zjcAbrqGa!HYD%FE6Lw~K&}%#I12}6OFyqBsN};#9U0q;j*tfHH>!shN zwlyggClRex5`lwiN@0s7a+~iw2M2NVWk6WarbKfBSc0150VC~S>;OB0$J`8Or(Wav zb_2K>AOJ*YQr1z<<=+M^4|eZ)D=sLmUcgIvgNRm>m^BOnx1@`%kB*ff81(vs0;T#`&@`1Y_TQDrlST2-;mRCrG(Q3Hef6cg+29Z}BT0p%oHeL|5axI3T5AIZ6~d7rNRt+42_fQ;#J|BK;zx`Q z8>oxCxQ~$_iqH5mFe2rVkjHVo)|GqYwAHfF{OrWJZSA6tj19@R9KPO4itx~?XuIgB zqPwFQU3LLnbF{EtY+Gw&Wo|l-J>S)8GFC7PMVM_gPq8yjS54PXh2M;)LIm*Q#*3^G zT1?Eb-+5PM$nhDg^mk8M0^+C+wAQreLwhOlK=GE4^BA0}oBE16D9^bESCaZ`#`bMB zb=W|ZRlNuE+|%{b>c)%aVS))9&2Wj43$Hj7>72azuN+d{O#yM-urUx$DD8;Aj2dYNvaLCmQyGEYSR3U*rC4s#7 z0r~5|&!GU}wtIM2O;G#UB(=qsNjeR=z#!`hC9zucIEh~5#TZ75J z;YvupIWnD$wm~ z)mk{QL5;X?E;8%Z;`u*U_tzte!Ji-#*l&0e$!vw^$i+!RgF_J5C@2ccAfl3sZwp%c z^KhXlBraZ4jgU7c|~DxOpk!Kk-=U6rQLqb*P6N< z!lpA=GuvZEO8iT7$OPCQ@!K~-biniA+>(Knz$UpPX zkwq2ZucNWF2%640kLL{Jc&@eBy9p=!dI4MDa5D}Ti#&Ln+pPEZSf&%77o>~g3`j||(_3qTx+Oy9ed(t(fV`&fuu5gw_bI{x4 zV85r-A-=Ea8gc+&2bdl@@Z#_*32VLyrk5%AJ7yeDI)w%}h3#&MTQ~8`drEg)F+DCh z9K{?qYAMjry%(3-xzcL7E^4Y}SE$d`T9%)eYRT&%!K)YX2PMdlRV8%I zl6IZAw(!m+aHzX>MMSuPnbNwGid?0(kc#BDX@f(!dU!W~1f;@o2y?8c$WX3v1Wt&W z`g=b?HOWG!JvFe+M~Z{}wX5x7BZEF9qZl4dLAz48O{?MFvyd#Zr$LJ1d7M3P?cu&8 zPAEeqBRCeUP+cjbx0{DrFU#{(#)$3twKv-maX zy2S^M*cQs^H&biuYI|h(d^ozRqc;a9U|}{O&ayCAR*%F&JG9H6#L>ioKS=Z?|LOWv zi0y)s6jsB(K?zSriy2QVs(J5^!t_L7&BrCrP$5#4YU-OhetnADpl$6$6snV=T49J~ z6(4BF`cgLbXg0i+(e0@cm+FzC@Ym339>y8l&~zRQSmNvt4Gn(nAZ|pDaP3RF<@WqX zIyo)015qntO!?P+{O4&*xk1t#yIbRGKs@5~vxcfqWg5;m9c&FQS@y7k%%nQ$c1%rS zZ?G{L>+V$8!W(2eC>n`STh;P`hCXm_q#Lewf)U$Tt8tk<9<)^VlksjG?@crqhZSk; zjL^n^d$SE@RKPNAJ0bHI;g|IgpT~FoYF=H}n5ME2Cq`g@1$Pxe zT!HCqEyUUM9A9}K^SfBVS9PcdlB&ES=?!bg1wfR`3|3yPvsHFB;SltfL#(_@&%-9| z=G1WyIXP>`_gxLNFl&nHgr-@+EePV<+s?@nh(1&m#wz4?rS z_Ao8OT*&_>+KP!mctMU2GSwlUB35=HU6(4J9SHB-$0A}!2xF_(0O~W_yx|2IK@ly* zke%Cv@cX;e3TX*QUUe+FKT%#UP0ZeBBYC@HE*;WocOOvF)|RN1?35I!$k!ZFQDokV z1?%_((bCL%W&Dk{hpGi&g!I#O*0_`KXCnbqE%R{jC;a%rc1Ug+Slmt5(?L|mIt{%R7xaM-j=fV5y7#P=DSr=IBpnY77 zZ_{T+C_fr_{0xp3@E7eX1O9E#@b1WesqSA3A}5B)#t&`(h})Nl3C$YrG4++qYc;kb zbd!R;5B#%z<|G%wVs5jylMt$O4W3K`wbpknEAZZlrkG-b@j+*d-g(ZFXPeuLbF`yI$|1hXac%&sJ)w-&NO*Ydm=SI;RK$3)C zbIp}(?7XQlw0Y>!iV{TnG07q6i8wFiLos&*Y!@KO3kkD#IT&^8R(Q}|^jeobPu+}h zSC?tbO}tNlqMlpc?oR-1^o^;G6GI-LLs20s1ct<_oQ7xdXYHF z@Xu1hfBsxk1W+ydy(U)^;-8wvG$>(o)nRl9kxc#`ILJnMRLx#yPiA*a_pEwsV%x3*k-RXjef>a=f>fmYdoM9*ONL?7?@Qu|R{~VbU&E;WI^SD&iD_w_!6_QbagTAbaur8_@6diFBIZBc1n=66wi}sq!3AU&(0>E%0q5E4YO+XP+6KUv&+vy^`^! zKXCG;``)0@g}uZg<`WzfDBGPQ*1gFhM~EsXpa?)}+u1`~RIDfA`4yLsIzHOB!PKXq zp}3B2%Ogt zYlkDYM0vRWQv=b zT9q*4BX9$-FZsNBmQqkiw;fz7HMs72!nmnnAGf5DXf2Yr*VOtDByi)O%0F|heV|6T z2wa!^PKiggs3mC%T7dq~ZtbU`lVa9Wplcd`)UDfz8bBWcR)2WXGvt+N#joXyNSnD{Jn3^*(_rw42HE>hlncrxQCBl~Ua zE5;a|_N+N0ih|)y_qVg=F~~V;eyn@Q#BH|Bv^g4I0l*!PQ8?Qn>iff`@`Q5;Tn5&d z`gW%2?=h}m)Ja28I5ppR#kN}RQe;u3{+4lh_{8gPm{c1p0V6-U(_({U1!_6^53*;c zN4-sc43I9=oF9GueB?Db)=yiTw}!sTsM==t?ol&K%yI8i+AOiRok~Mf9^nbB1+jd$ zuUJyj-nA9`3hsYd=F`)Yl%tWT96RmSbHo$T#}n;U#pXr&x94q8(Djng>Cqko5k7t*PRP#;4{uFmbsl&xw`kkB^_Y)+Ayt4}^Bm(s_ ziTp&wepL?wARHYNeN{XgI@NgeXUKMH{3ar`NjY5DQ5R#C-0Xx?nRB?ECUq~Mt!}m5 zq`9(0flzU^T{RcS`Faas50lgh4o^h7RCiyhw&ly17vN>y@(h$1;>QUd!Vv5ZR0uKu zq+-^S3>S=8k>Mpjw#olBTuO)@SbDCW)0b>U=uP5wk|}n~>6q;c>XkEn$w`T=V@7OV z!@B3()OmM5OTx1*{7>ldxaQ`ppj_PL`1yU~XQN}9@0DUuftVi6n5N~e(ywG-vai@n z?8Hrc;j%aNiT`as*fiNpGqB4|T zPc=8E)jn>`hk?y(tOxzFQ;Qv_r%lw?tJi(7cwl{q1^p1Rh>Ckl%pq9Q-7ikdoGxdr z8)A_*Wo3nuSaG5wn?=VSbacoBHuAYjQNroylTaW6v@}GX% z6}dN)b{nbZIMF3yAlCYS^xRP+#6S4+ZmY-Jil>XF;x$-xfL#%caE`6szYFG+ud>>{ zGx9$Gjd{tpqFQG|)6LVJxopD85@xO27nU+NdB);zfsAHyvs3m&okl=D1^g;QLo!mX zBxuI7>Av*o7`y~37Ehtv`_)xrho6pWWzR(lpl!^IzP9D{ELpUlzxZ?m3`ZG->{4lG zilb&Sj4}e!`LJ;%VFjF&_}j($U($}r3i#wMT3)Skus#hlGdhP*ed`PGIZ`prs6#e7-iEPRDQ9b^W(3b5xrqxK=`AT_&_>jN_qtewpe&wZvM{d`bRo3mu0_CJ(emV|Fp8I zS3*L<)y7;D zVP>}U2*RcEpc2__Z3U!$zB0tEbdeli z>2==i#HW+4Ud8CZ5Yg??2DyeA#34j5wWfF6Cvlw^&N`Ex9Qap)+u_>X*MXyw)DpBq za2k_t6O}SF<5#)E|Mc9VWvb60j`=L*Z>II8Rk`11K+rUyQm8GKImO@LC}+d)cBKlL zJKj?oiF#mu69ap}Tcia?y7TO(k>RBxINGW5yynI*qVJLI<4yGDFobPl{QGCr7M+Jn zUpI;MM-V26e(+x?vk(ncQ6_A3MDKV5_Tdj5^T$73R3|JAg=ty85C{10;K?0J`wZ<{ znICIz|8&##0nAd#A7CeC3XIqeMHi}bV~P>mDO!9SnS=^s>c@a5G1K4G~0?YoYg+6UX`)!oYjjC z`=B@@y1U6E*7yKFhJSw&6-h9t0YQdup9~4l!5#y7K5UB?oZ)JX0l&&k6AAAC1V}uQ z*)KhW{zSRXrqj<{C0e_LSb>M+W9!KAm+Ea#QENQ+T1&UpRjx)W6a#K9kDecG+*x(k z9(c<4^UC3a9rCn{)cw~^>18Hx$@m*b6uCt?P~Z#M4XohK77QKxNf{S264O}PZ6V5r z-;xywZ84K<;rR6Q{Gl`-RxrK1>igo;i4Cf^WZ^g@IhMnc%Y#UWooq*coF((eOR`Ija zKw_wqG}OJId}>Gbv_RB$&j+8><{t!hYRb@F8D7tRI@!kDH@Cxt(Mqv4K@&Joc)=k< zitd0K$==K9suLi^rSrhaWncTjwN@%#bg}mKo?OC$aC4jJaLPXjkDA&@UBvcSVBoUi zTnx{rBmc3L@bj2db{Ny!K3W8Bk_rPB0(<;Wzm?p}3@AfY{!N+iW6tII_h;O zYN5;R{W30?fm$%*i_IxgluV??qnB{|$em(cpWk*{Je2rbau^&g^3UEu-}icsffF}u zAnzCgmw|jJONwfX_N><0voZY2catba?2~k~VZK?8KLV>T7pIbN{*66w_w3`#)pHsD z;sTJG7(`vZMXsKylUn$9_p`*>a#U+<|x|#KRo{hWF zhn*29Di}wF=#Ck0^`xY!<@F>>TCts3aw1p1-JA!}tga$|Q@K9vP zMu^`C81UM()FIAmeyEk+A~LlK9m(3pQh-Zahk}I#y!cEcHRZ1)&WBi5Ays{gjo7x~ z@2>!rCrAaB5g^@(qY|=p*2q!{IS4Hj%*miB4EUYIUOgkSIeX19^qhmh89t5J`$}P^=H0=?8CRKpkT7jVw3UTt`;1|Q65UKLD0Nb z2WB|aK|R;>8)bwBSP4P@{0SKz>=II=T|Y}5iU98&S7&hM z{iu_na&Yt$Gp_RrlmYQA`;C`}C7_`Zqwnn~75}Yr;c;YmKsPYGiB?E%GdiRV_yR>~SNggW#G$B-Sha3n9y)s` zZM~#hAV*&Tw!K3;uQroUZ}>+j4#tH7>?a&D!$6* z^o@i`CmJT0VHqN=ah$wA$I2)A0=^xFs0@N%W7a1OR0!Uz*-qcN@&P1%*PB%BS|-&- zUI1baLs1%Js`pLLTuS}DFyB?zzwE33wyrz9WCAadAs2g|D?9H2`*A3s>IWfKfD6Kb zUap);PDGk`VPNX7Kp4FsZ_^2qS04QYN8S;HEWKv6u340^svkX*XTbquV@t9i|Ldsx z`8-LYVi;X3-pv8w1?dns?>>zmV5$9R?5t%`!J1catXg7I*&$1AQ)FygijNq?mbaGQ zgh+b*|Ka~1A2nhdvVr^I;Q*dYV=JSnksZ8X$#zu=((I#i28J-76QIUe6?0M2?)L}e zr@z?B-}%fE=MTpIBy2k`>TEIIBJ@6O`p)Ik^iJ9W8uVTr9(;(cVo?XH;zisW&ck1_gdp z#A2)Rz)@o|3(U57-T}LSo;Iz+E4?fxgKj(nC9jlF`%v{(H!UG_mtIqz$moN`YE^NK z$wN51pcPNw6>8}a>t=IMc}>(!6XuZb@&uqf&jD_{bM~{!Tv%mzPI7{GH-_htVvipmt5Ff}v+Rq0yd{}=w&h_gEw`TwH z=AV+*q1v8{Uk>}T1zZdl$Uv*P;%F?99N+2`GwNy6s^a9qCBm^v70t!1ES;1JX}#GZ1?WP7$?|>p;G9|w@_&4kpMXz<9FL~K<5n@6jIWXna)k#jp>~B4`lv5#Y1Lt zS5>H;%G9EAs`r+Jp+>oh9YCoU@NNifO5e>FK=l8u|KNT>88;0~0JQUfRTCSSi+*em z2MXDfyr&c9j`mlyh5hF=_F=x@)wH+^l9N;;%U~=-BZ%44*k{3X?A&lluc5Q>Wx`rnJIV4P%p+Mj&%K#kRe!@}j`8dv5ugl5#AHq}e2N1c?3<3N$A69n$=Gqz@;CMn7FBuRqKqz>NX| z>I94nk>+qtm2fme`J+23fm~QK`z7 zw)<&RhEd8XQP(c0_i>()`LPsM z9NLPvajx5_3T80?{dL|LXO_utpD>1piWPF{t`1=_3@y(D1|JjBDX^`YxuHl~`}=9at9uRsIv<9dl%295`h+67M-8V_mOo}ao!<)|XA~9? z=)GT)-+FDUvM7-6TMuo+y0L{teo9&H!us?3RG2qAB`KC}r6S^wR+!@XQCE9C@*_le zw$%Ua&ZqOioqy@YoeHg{|6v(e>puHUUa0=S)dTy}Z~e3D&hMZfd)um4g4WFKKs~U$ z%7m)FONBHWxkSMx#`&5i#-es#{aF6f$6w1k?CjWk`udsnPUZmiU;7DE#CxoY;# zU*>SG-K$w1F3SF}_+gBFtw$^>Qzj=d(JVxXQ}pl;&1B3B>kkFpvtMqgB>RpZ{fZCK zyMS9Vz0QwJaQ${}*XnncZgD`K(~AC2gBGnJZH#uAY4j;tkAPoY55K5OJ+V5^aZ1yL zs|I!jQFah37HwxKON%+h!Se`T(co=2L(uvoQ|EGvfk~*qgx_gNP6Am(+Ei@bnEL`k zOBSwdAdqjxP8KHM2&_h2o3!u`#kY_dx)kWU_wV0(qXnzI!yt97SHI)Oz0Wre5sURhwuplB(NdH9Z) z@0O$Y(eBJt3zIV*Jf@`n<;KLh%EjW&jj^OR*B+wy`?Gb@(jTvk`kWKh`Brx@CEN+t zfq8}LoZ>@2gIM$2>Jv4|c6t){;o)$V@~Gd`po1#O)0(Zu=-c%C_5PSDsbrwUBL#(u zstK;Y&XFPzs|Eu_(OrQn5rimv)hoiRbu!x5oQJYWrYd<@@qE>h?ti+hr=C5wh<<2# zEenbW2(G#4fa4j+Fnv6De_q_5aU}`Cxz+eHNGqX;+Ilh~E`|KUpzk6)=RLyciR(^L zR(t1Hnfym*^9Y5{76aRUuN~-Jv^}h|hdp@;vmk-#1W7tPBG_FEX;+iiAj2A=pNbmx zU&K)m5ZNKzr|{@&*Do#&*M=Xx=T{b&f_K?=uPnr1tU|E-)l(eP6BgG(MlWs2&2#Ep z4@oe*bj?}Ag>>J0crh|$sTw5cVC6c+4O%4JI9@e+uC<1v~Y5wUy9Gs*OIQ%4JszE%5a1f?>_;>dR#FnxD@y8{A+F`dp))s`yw880 z>5`=3`*uK!R2M?h`Y8w-C`v*PPK%FhWlD4Q=Ctf9=t_!9wv*ocN-dblv^m&W zg(3zk$Olz(4GF$cqoOYJ@@qe7F3#4|T$EkB;bA4-gn0_P9mMSWF1BH)(z<$MSx&7b zJmtOh9j$EcC!&r`c5^+oSv6uS%1PShr#du%OPiXq6?HhM6TR~d?LqkErxG=0w0GfB zI%Z48cQbmV+EcB4Pl5t{<^qe*>6ho?yoJ9QxIg;Vm1Ya}Pk`r{4&GbtXS#r#m|%S8 zsaTW>&0R{i;PWpEEE@TZ90@)ocfToL@)(blaACfNgnzpZMLZ&~oo+7UZbya;Q0+QM z^0b)XNGubFn@-W@dC+5TG+GFJP4L)1lW@3G{C-RtG5lipk6yM(Tr9ILhFh;eQm4#m zHbZw+ORqr%<4Y zLjUWXJOwkI5())nPERd<_!s(KdcPStzOioX?`LG|k1R6byJxxm%<Y0{%_|Hv~c8_+mevYSo)y#f+#LsnT4O9&y); z{o`Qsq_H_##hYc2mu`R)`1F-WX*(&7t-@Ldq_I!jqs(9zhE(Vt{r2R>m zf0XRIHwD&^G<>nxhke*HW0+W5OaY5mBiq7DNa_?2? zXm$!f-rJE2Z{N<&92AzEfeX;lUzza#e)TM>D|W1y$7y5h;dbJ4vRsgBI#xAQ$`(~mSi4NyO%DFc~yP5&-V&->R^KU zSC3@;Gn!B0?`#Q8 zRxDH>FWjy0y(Hv(!9An$98&&FD5Glm3y*36JCVM;nmC#*^0LacJDWnk=_*td3e>L9 z=mmx3RMJ(bZfvHnnH_E2JA*E)2yMP{p8kv>1_?Alk%`b8K=<8LO((WZ)`x zC>jQT$F(YLkt+=AP0=pdPhGv0y8|V_pIP#a}if3K-Un!SM z7Gid7p=dLznts@aw|{1N$+E6fW%zjcxw6$HL|ex4pG(lzX?$=|68$QIM8nqnSod4+ z^&73=NNi%HiME&XMg4}DDbobTViG)mhEdq)og&fngM5tTz{yU+P|C;~_3LVgyo#EK@^vqZcj3gRb9vYW6ZpKA{ zKG#Y{5@AWv<@9KmSLz-T-DUH0$Hx!##ENG&t21cK*JC^}tV#HH4D8jNf!GP;-NDG| zBRjVMeS#CkosaaDJda|3^B12tPAzb{?CQ+-N{|%I{XM3oab1Ise;J96Lx z{^gwP+9{|AC6l?Wm3l;X1*5ZrJ#n=$NF8pHhbam*vU!>6b@o-D1QufSMqI`fCX&LM zPqTA7vS8NA0?*o%e5dNYApw|B#{ZA5?+%BvTfcs0#^^0NAw-DLMM<qbjFX zLkz_ztiEREtRQSKbFjEiL2JEjtOe8ONqz6WjQ?3fr)9)}0pmYxH0naJ%R->avl2k{ z@@)VQ8XMoW(V1j%Sj>*>E=b*YMY!Pz$44EVu+QP-Be4L4&;j?KHw-u{6}I3%>K`30 zZv2T2jnK!WsCokm_;o+-Hr)D2@3`*}!l?c`TL}yhLg;qOMt zglH;`CmOI4quE(M+E224OxH~tkw^#F3!Tb^xJo<08JJj1!cbzNk)$XmC#P(k5~Fg{ zR^0db`BtS1Jo6(a1QU>dub9%+jOEZK<~;-xwYQpBMM$`gY%flGrzFN~Cm5Q5!(v7r z;T#oc0xwzB$HXq_63EVx@DTJk=5Wm~hm6!Qn8^_E6S*IWBGvc9T(DL@`1qf&2iu)7 z`%LRu^hsIH>QyCFaAGLJ9%WmhnI{^}8rrzHCYJ*G zX~NHrHo2FVmo+prhUXj^zWO<}Q|ol4iaDE4ezGG;!cqK`BkdK60twQb;e3+7qWyIQBV86ya~s z*_^kTt&DrYbWdfpVK+>3ldte=Yw~0U((^GB?_}bK=R28|GnPS{?4OlmHgqd9RQKlw zk~yPi-)Ak+Pz!tc-1?G#@J>omN!p0DZq%XRVu|(I59b|s5(lo?dc(WErKLwtt;cVr zByszYrm^JgCv_E*yv0H0JotR0+`0czn3lFkz60YF9gw4zE+zQ1gSck9@%)A9gu}_Q zGg$ogf+`q0C92Vkhgs@1CkqkFKl0KO`5R9%N#%2AsMCA4XFq@DF>b6MaDKisXNL_~ zSTK7&+t^TKSocXQebcd%iR0}(heXhbqOy5a5i|TBy9)_F%7?mK+#@~Op7{7IU}eL4 zCX3Shwe(3<+}AGKp#Z48Snkar(ixwvEmMD2dp_WK%-i$ zk@NO=S=PpQ*)8s-tOp^aPGAY#D}A|3_P!|F=7SM!c5pzh>bnBWPY`__bRFw2kcP%v zx`>I=|1FSgs9!~y{9lZzS6e$;3!Z|5WmLEDlfxGRYfVx#5H%@OXw*`82T)qmZ!Ue# zgm`0Y$zIRM=$P{{76?x>s8$ofn2qW9+*51?lr%!UggXfonqd zR^$^6sld}|ab=^BBf@U3s_ppl$EF_fq!(U2#g*5=qruV5Y4xl_w@&?YX65>ndgkU{ zws)^9=i10aX-#jr6-ll|0pW*ep%D#^B4IMwr^Yi2DS-nUpVtS@6%Do;ea6EG&+RyQ+GD|3; z80(plR&D)N{0>Ll#Jhr&)=?kdk*)@zL8GBgJl;4`4ri^ zki)qC2<`ATGr!i`pPz7abMp+9dnY_`Q<|W0j?CbVnkaMfL3i)k&ZR&E&VU@-uiBg& zV-Lj1HaR8}OGe5r76lug{kmXi_4B_Z6JKNTgUy$9-XI#}zNf=iJqNvlSS)rI+RwzN zxD4xDDX=RY|I`8`l$Q(YHF#ETOg#szWMupf*2mPQZwBC!Xju7gJ_sg`0f`M9_WCQd zroro&#=F4!;_Q&XB0iXmxwsRko%_phtyN4XdNr{9;`!IyZqNoUFTF#*%HB|kpw4AI zx3kmi&UB}b6VX%B8SCJ7>c=%9Ljv z-XWw+1*+`v`Tj@A!Ukgml(*L^;R>x~Pd?dR>myhtGena}U7kGMBz10@5*X-+yk1zN z9UdNj;5pBD=h?>MJu8fce)Xdv&-0^{*$2};cp+3Pi(3*tw?E7PwnGFdXTQlibl-4q z>8-ge#mEo)#dbe#_W2v4HH3SWgTQE$^AxV`QFUxLL<#kYJ54uHS=o+$;sM6&CLYTp z*&2R4GjF_bM;lRcilww{C+x}m;gJ#uGZowFieMIaiR+549X$Q2D7zZ!ai@#@xf3Rn zy+zKl-#(4Ko`uZdwht*If1$DWJ>6*jwGpk_s2i*{Mi)r4<%D6o7IZg1p9Yq^zn79H zHmSZ2`LbidW$examuuqpKEI2%o4)ykwm5nQFLKOhN1Ue5OO>8Iq0Uu#x!4H~(OsK4 z_@UA83nQYd;xP6e#pRZ$SU13wZ8pg_v9tATI77|thiGY%Y+8B$B$buzMW$!s!@T*6 zocx#koU@iv*V1Qevf>Afi^zcwvl($Yw!L=^bvs+6R&aFv%T>oe@9$jV?f|~=3Ce8z zI!=>Sagoe?N<_94GdU=}pV0(_GF+cFHCX~uqe!;-P@(>fbx};#7~++&9EIMucE*)5 zuO}P5?ND1h-}!XT7=>jzam^vZO$6rD0g?61Bc*y8W=lcJt3sj08@T*~Qy*g@+8G&;|jigTC&; zxNxRAc+Ro`0e}6d^G`asot8u|TZuCs{PA1qC%MNKoxb;}eUU_KntPY4!yYHV4*_hR zrtNfwGZZ^{uuEI+?DPJ`+N5E)JgE{|95P4snvSK=*i#yUotxPfw+yxRKg|fFJ#$d7 z;lcPD3+BCZO_>4(Ddjdv5N+KTQeY*$1PTF1(#b$tZo;Od;RWP6(V;Goe&6fU)@vU% z$z3_arkMt>DjtJs6zwF$B+YwI(a?k$gfx!u(EdSap3=`CBU{UinFqbO`Sw=_b*drx zn2WNL%bixT_2Z|VQCgy~eE)}gWYWJ%Q{u<*R0(y035m9yR|iHOdh(pTT;?{80bRkA zZ^8h`r>9b{r7x?GDt}*|bBoHf)*v04NUH@)jqOO-OF_pyb2uy~CkJX+HvZZf+3LaQ zwNX|;CX7RM3fk`$u7=e>NKK2ahHy&mpKp9TW0<-Jumbc?s_eD;A)!-KcaD;urM(}6 ztp=|LET)0XNufbgnZT3Bi#u7R~!hRqSDBM`edt11R`B z!y}ngyML%TQdm%+B+}vHIz}``ehewTHiw5LVN@NG(1J}(g2XemoaxJ{d!Pg`M3y#Q zOcWf(p*Lg-CLYNrQDv{+F<`$ZY60;3=mwte#;HlY z|Ckj)kEoP_PWk=2cFVe|-M$bFe$55TN-eITY@mHP3h`}cE|hOAnh8F#y7A;7nF7}RjRnWi%M8qZ$eCmXj47Wj%Sc|RQ))~2fQ{RbD%hqAkYaK|dE zAEnp>5aR5w2uup62~(JTa2#W2T$E_1+|QBXwRP{&0<{*Qz)<+{jclUjVwGz&-DLoY zd?*a@toK!@Lyh1#?-T zB(=*fKUtp8e$e!RytrF`@!lS0@Z+xi8@}&#R;(k1mv0@OxhciSj`UIIvn3i1Xq&GZ*khwZ`I7w~C`sU4NJuAl{W38bv)e1GhQVvLErVA2>6=_z>FL}Kx|R(a_!b% zwbuZgW71;EG}EP-xnDD0gG-hW_c_VvELdsaK7jD2#3xx?Fv#$5Y86Ai{N32J#WC zSYyD1d19zMehvH0_1IbB-{r3MRk>TJleYR8yryk5vEUJMj&`r%Fg*%`Q*#M871wJR z_rU7+j4YE%LEC5;-BVnJb)+Mv{l>P>oh;l$>edJT%=51Z7!f~!@PX!~$nn$cOQ|R9 z^}>=fr-rPqj-ya236~3t$lsldf;Oa#2;3Xyh4XPeC+7Bd84MushPv-TwlR%gk7G!- zy;Gvs0YvO%Mgy)BEy-FAd)!PrVlY$~g7ljN zP@N*xl%)!)lgR!yaA0yYBLSC#o2G`H&aRb70|hXr(+==Y_IDnvwg`;SbJ3TU08e2pbk+=h@6tg;6&N?|(MoNGIf@WjIJjFySt2(WUjP&c`}W*@3hz||z`Bo084A8jT?aNW2sw--S; z((UKmA!e<|Gl^m)EGCG@`Y&R0gDIZ=3=ItxQ@h^@ojCcjz=C&G(|2!w*K^w6XVa#R zd(6yFfK^X_9``M|%xBq?cb2*uk*Ur*UpfClEqjWHOASB>-CnOmDwdyBya3qgt*H+- zxC|eWjjo66x3)0tft%yI+h!5_hhG}#O9OF|ABAK1%U@%!r>a(0{laZZ{Au*G9t)}8EbNF+8E~;LfE6#9EN#{QYDC(r~8VBAQd)IvHc9% z^e*MTwI4p-Q2_`I_^zJI@+S}_FRgxEB8Bw3-j=}GDvA+(+VLu8(!P!tF%KvCh5P1U zE$cOIar}!x@)i6y(dp?WQIuys`BwE{*yRp!lABZY^uws9+YlQ$@OMj2jm(+ zRn2F>_X?&WdT-5RKx`Es&=$v6pL9+q#j@3f1HHhz)DAQV=*)kYz{U^{PmQCG=cJUh zNH;-zsTemOON${WF09)I?6JH6A%jwJGj%`_G^|DifT68N1XqBHz|R92ZYYrK^-l5q3TMTG;nK%0YSx zoW6BZmls&~f#}jeS`(#E)J9ix&^_tveAnK)pOy;Du=VwSstXjU1%(o#^lyJsXkRG7 zP~SMsR8{c8#mE+%vucmQe3GKEB3xYOi ztTvMAcGr(C94t#5P85xKjEVY_?ex_ATGetmDmv$j&F?Y-4+ac0sG;^Y5KpqruYeyk zreQwmYE94Yf<4$Qp6e1>dUo(eSc7)V=Db&@1lFO*#=&Z1Oz`o#%3O^j_JqU)&;C_? zroV|~JQ?@KwALpc{hVmC&B9#fRpfgDERYLuo%n45;)vJ5(v_7e5JHy0Pwa(Md)OKk zN+4d6C_2`Zl7*t&WNzh0c)2-$%CK~$h?B&a9-P*|O_Kb+@Ra`1EH=?-jCrv#Q zL^|qcE+uix>quIc&Tv$BpjmD%wud0Q9yT|`r2568T8LCx1}8KpYjP%Mbm@{;igfNxR zcc}KQgb6{%4(+e99VzQ?`8c3fLYGu_PS-qf&S0JpRIxBtG`q%+L%SfF?|CjusPI?0h|zN*n(<<*r={_!P=-0{fs8fN;g-%R^c?wu1?W zHW(&WIqeLFwA+YlK`Tn`r=H@xXr>sQfR&zj2p0I+L>=JtjBYF)uZf;fM(Ei<(HFag zK}r-(&H}oB`kZ@&C+D!hn}v9j2HnC-IijoN7`_*B^kUHX?_2m+0;Ye#%ONIz;3x3750rs)>$+&!olrhXC4$$yrdmYVZ>+Cu9W%o(JrSCV?Yg7Sk#2DaV0c> zmf+?AH9r$gd5j7q+>OK<2jQ9pL5zM`nBp<=4WIaM2&KYPLO&jDyo}-V%%UdQ;(ix= zKwuKGVzVKkq>KXDwoludy8cD4?YKvupR&d4wfKAH0`0ut@|^Vmnu8Q^{n3Unm1sei zhX+$Hi{x&_;9w{sI?Z8D4|=%d4DT!k!?!4s{L1Z4#rp%A7bKACsxpm5J|8@>E_=5~ z^FZ)EIllgx5*0Pc&ks>VU@22ftYm9vSg%A&6cK!o5Ov{&%U*!G@nJRo%g>GGh09#E z#!@m6tD!=sO=Uvi3SCMvL*k6m*QNDY>y)is2TaJT1<@B{1Lq3w=&j!O6hQEA9^)q8 zsg5!v-!n4ECZ(#@z}9HC3&Y@ZxmX>YALYj^diy;gXSu`cO^)TxE@8HQxMf`G@)6Ud z&nSUMS{^}(tJXROZ1-<(<(zNnR>~NHl@3XQ>pOAWoN1Il$&PKS7tw)lyU&nw4O>a0nj0f1k6z$rRI`z9g zwZi*u7s6h5?;`2%+P;y+;iSP8osS|8) zN*#p}Sn9^}Jo%*Zd)^5|tE>m`Xclao-Ao*rNd$2BVFFDy0HP~G#*#qEDZ@b+8FB5_ zBSh*K)D1INa>3r8V`onFEKgR76CvuJz=Kp#vJx zkyr?lfQ7Q6^U#S8Y@ca!c_c-+)eb&$qOIIH?cX->wPjh?wZrhS2y!BHKgsxnxYAiGNlrXJi1snyUFlM4PmTX2LO+X zG&+w=uri9O6$99R1-E-3nU-F^*+{P503mDfqsWzQxo)q|Txu4$2B&{gJ)Rk9d{Xv;NkUTwqJKKd6g!sD5bs;AxjL2clI(|M#pjbq#tx*^dc2yaxzfe~7tM%(#h~P^Z0(9?h-O8g85!2jJ0A zKGOI|*~>5+cczHn0Kvc)0Dq{;VfGae9zfZp*UT!O#t%SwtiXdIK+7`#i^s~vG23pf z5RCi5Jw!E2MPJvG$2;vo2$dc-bNUDGw@8+bzsAKZM0M7frRi38?k3}uEq=8EBfjr0 zF+h_cy$YTu$m9;5Gfw@kv>~nuU+>F#aCE6ks{Wc!$=Cly?Yts0u=DOn5#f=S2MV*kYFY z;C;DA{fn=qi^bENdN@6awl7MhY7&gDHE#6{$0${TotnsI`39hu8LVL z>=#JSi9yX7y6Cxw-t8ZZ2>li=`v*&u5!N|42)>Q`7`9Qr%&E2sz1VV9^i8H$j$#}? zJ-hALFqsj0^P7vlVY#?$p8|D8AxitCF@sCIBhp*>Ba@@MvO}kHx`1#H+hsoI$d8zuNqO1%@eB`a`Q!l z_t#Gq7X1QvP4O?1c{at}zS-cvD-a=4o>~VKx^g*N-Ji?mI~uRJ{6u}w)c<~tpopm- zV9J^5o!UKa_h;J*Du0|D6kh1MISDWRaAqLE_;nn}`Q%|Lb3NkAq2V_dqMG-NY?YCl zpPqiX!Taty&SaT;I^#)HyFD$MGz8xB+LW26sBYydiAFzZYF{{O9z2OFHkB&2rS8CU zSJbj5?rc@`+r%h#lc4cBTbI?-gT)ryMMVu-YsS7s6D;~}&oexTOS!xgwjR2tj}Fha zp`-LU@esOf1Wf5VYf}AJCkA;x@OPLmHc#@aIYNn_Rj%`16fI7ZZkh#7) zVs8BJl)^>>WUfUFAEyyrG1rEE9e4;a8Z2Fo51!&7g;9sSKfB7R%$H$f{n{^NepRMB ziWfohL6bJ%TLRZvD7xw%~4)F7LT?Zm;Uv)|`bs=>!)@JtIUz5D+}VR6NA}gb%@c&qYMyO_lMO%SA#)$H^c{HuVLP9RIFbc{#zV zHL>{aU;#4a*BSLsoSA6~K$> z%$Qh|4z=(Td^U9C)oV=>F%|^bvh3WtwEpyKIS(Q8Xe`_4a1O~}@B4FNcR54w48Jcl zoBF#9v0wR09vv;+{f8O1;v>YGb)Frre-wXr8;;OV>m7<>k(0tOiH*8IPavIP(}Rf< zN^kw3A_WOM<%?|3uqNJ`R$*@oxWt1A9LR)FMYSW4aOR^eLufl4DYkm-BLp>+7r@rx z^R!34=BK$7vdn{!0BGMR{_Cws2x)wgln5wcsgS)=smwoI=B(7c`m~X=*!DLq8|g~F)uYug~NB0ANbG=UBvxclfaQu0zR zE8{I2e$+i35f!~K{WlawcGD|>N_&J5Y*NuFA^Q;oF<=1-#0;Xs;fTceYDGAjT}&bf z$f=b6EGf+uEdq|D{5HEpCX_@QJPOSe<*?%1~xM7-3E!r zrY243L0-LmFv^IKxf|BczpLaU_AJ7=qK)^OU_zZFo{}KjP2}_YYPSXh2{&ZGX*t54 zFs2Z)frq2ziT~fm!TSWni z`)PHDMMl|OEH6S|;}vszg+QRu@f|Nu(s%*pnHtlBlOiCV#cJl;Dq+ja^f!M->W_C0 zU11s&{tMSwxA)Z7kn>-!K-K$K8#)gy`HE23ABuyBWZ|mI{##i@$ps$YKr?5=pVH^n zmF7bUW#8+ZU}fShcQe!x8)&-2`C#b+<@q+N_~z~ipoGt9Ale|qL9^Hv<3}MX1}$1> z>?X!Gu`fgcUHE2ek7*+APUqc5nwc#KK@r_I_e6&qf*s=}@5nXAq%*s!!Sy4-VSHH8 z*pt)uyZSW8x<~ad=GO1-2T#)zu146y-e-zzDYsa0t>oA`Enkn<1meaEP(EZr@b?iDzN#sraARf*?vl8! zNZ!0qt!Q$+TMD_m_ZMT^u5!Rd`h#bqsgZ)`-PC#wE?|2Rn4{ZvTc?A^4dr(~4}kQf zeNDUdm!CPfp6+Vk&H-2KD&N(_T3kVOH%tx7U5Z+gcwR}AYlxpUt zCiWBoj>)?i{!I4&MhT|qerMp98q6c^#D9kE!8ODNESGXo;-<%YX-sRGrBX7mZqEfJ z^e0RXt55~;V)3-zL&C3feFBY^!y zfF>T|k<5PWwz*>z6`mC;jVSrH*eD%E@JL8!U1Q6TORJ{rbtP6LC~3=KzPs91c$lEu z(raYdj|{`XvR}iVT)aWK!_4~1DlM@%VjQ2i-gG+e5Q%G@NHQV%4|f;q^O5`N;1Ev@ zhz0_|@$KCBN8j0>l|=Sl#ViYB>4CJX^Et;oR0M?gA{Boi2`Iid#2PB9CSa*_G+7-f zZ!_0w*^2SMj?1@bbBYL6{6Lm{$CbiMrF~xrYQ6vjO$zZMcQsWvk!7a45K%{f{n|Gi zi&|T99}$HGgFBvYh|0+x3(|RwzSM1rczvbL{AVx%I~4FyDT9@BD*rkF5H8f!mp`)@ zUjLasu-hjE7u%-N5z0HbO!o*xgK<7Tu~PpKm~=; zp)>8OzUnKZ3=^iqRufZ+-B)#992@`4-_v9Ku zR=M2g{Ak5P$5|UpZ@%gIO-&haA`sC%JxU*HLeoK(_U9BC+11XUC!9Ow=I0-a0`5&8 zlWdEf-xoeUwfOyN;?~s;`@gD?f;yjwN3n|EX#3myzXGydD)(K!kPunMgvw=o0Usic zN{)-W1*+8SheRdc{E5h;R}tC2h(gD#7e&?YUxm}^4I*ePOVi|UN-L6%Kla}JLheyd ziZLrOCl_$=9U#WG!33VlE(y6}MU{z^oPw$mcA?&~r@TTkv~uYMR7v8N!__JW<3KSu zLl$644b52JOA7pSWU}l19;vL!!q2bv+o}Kmly3hV_Mb&a=0qh`#-spBj*gC&u-u6V zAV+3z*W^!l)W4E+^;O*5b6l5G$3VwTa}%y1!%`Gt0PJ{Zi~wc3m_cU84~lOqK3>R|a$50hdR9DiKt`LfxN&!fHn zF{RPkevj}Fi%!cwTO~1>ZEd0tU%hV=SA*t-5`?PZ$B@Y`K4jI`=T_nVQhK8BZKGta ztpW#Fu!ug%sqMRytC{3nEt>Hnl|cvvMVZ>Mq0Otam_X&YjjKye-A|2{-r&9mu}c(2 zeqQaHPni(Dx#9itH<9xa|80<{tJ9Y92)y=kza(e<<0o0a+jt0c?6|)XJuE(cxsmv` z`lBf^rJtR38B!ss1|PYOI@kOgue37wih>ozrJN| zouXbu?tbDBMNO@b7~EEjZcFo*z44it&a)&j!k_$f;~7@Cy}$d;-wxM5Blw?*1lt$E zNcCLj)&8Hps%#zXbBK}ws}U#PBCev-TLiJ9FE1xQc$MU%s52>(N+|;S^LmiYjz+>^ z1Xwa5J^xyL0`?|W8Z4Wrs;rEmWtbTCWIctU)SSS1HptxsfO2g-d0S3CH*YQljjwk> z={Ee&pZ{ORgMEHA6oz+Vgnt4xCzX{T#!T%t4gx>;9{=t5^#WWJ^1hS53MC9_AX^)e ztLBs@+LYN)=d-C>{3(f>DVGv`5vY0%rn7O^1#3=-;)&l?;dl?O%*(BVSSEy&D1nl5 zj%)IpzrYvfId3pT$^83{_!A8Oxp00juEONZpQBuH1D-;P1pv9L^agpSd5_dR5Cvzi zH3<8lNsmZ$9#=NQs^DwOV$76YJj`4h>@{kx5SE@H3+S9u!L4ga2wx>VTzo897he(xMd@XU#>t*kH4=0Nb;~i$af8S zQo_vS@MV`^cuItr1ts?k>5_^h|3nZA?2>eRpi7>~lmkO#aJOwx>dg5&kNl-f>QlvU zX_VVbl%j^lj*GP~-i3iF?~Oq`vcFwu|D3RYTqWfo=qSeNKJ8YqMuuD5SL;j(Q7ZI(<>7R-Z2z&_{xNyZ z>evs^cs|2gh3%P!oGW>})3TCYrFFu__e$>dq@2IeZqAD-xxG#-DG0WY`&P&m`33uzgKhpM0?iwC)-(m*P(u@_M46W32wZeK}Tle%rwUI}1L zp3H$|n0s=j8I2{KXDoo4O7@i5S(_5m<{^!#&bj+ZGkNpYgvA1cDv0f94ak1;yj62? zSgXPq8h`)7+tK@9`R0Gj8#a=2XcQo1X?>rU#%28bZ0t~}74ARgx;4eQ`pzvaJ~7eq zko07c`8VQR?^zseOkA}d)a>!5ZdSVqsa zjJ=QP7bJF6*HZdd@1k?6G(*K18GU>E`x6QZ3UI3A_k1Au0V_$% zJ>A_g&(b^|P4lj%dD(xcqB!altrWpS38*1MKsoN(O%VuHAK6%K?s_B-^p~Pk$O~uL z^l|Apu`yRw7dYbTZBj;1kFWJbg47+}iGAj!QI?|j88_3?Mk+@T?A8b)e)xZXJ#9+b{vKNwnG}f@)oMYofe$n)N zMU^{Jv=f@ip zA7#W-u%=(9GVjwYPBQ~UO*qIX+qSx+?Mc@1x zg+L&NE_!=Et2BS(YE5FOv$2;(k8w`um*_m6aY zVzo)JbGoUp0r=BwC<1X9oxh0Fa8KaMrb!zr)_ zFgJ*72+#BB0N6Jz?Q)4x8SwMBfxGXHl=y1xn_ZrbeeNkNX)IWrc3+It_a#~WB2e|# zzE)A{;^425GtiLYsvR4-GMHWhv>7gfk0L9-4k|8gHuW#JbMMDP0M>b_PT?D%1JB+U zdFJ<);9u%?*WuyOLpa0ZE80ZJu90A-H49gh4g-yoBEcB+Q~|IO#_ZNLzXZ zlg2;tavi_(zi!q7&Y?u0r^ydS9o^&tT|@l^L!a!Y|1LrSL*Vnnr0UfGzW=Z~fY8;% z^KQzVZwVq2S;axmU!Oe*E;9aXbUFL`{G}7vO!1TT0`y|L1!_?fs%Cwkd_)1LIc!sz zn$&4_1=w6E^mvDQvK0Fp34Ec5T z*UCLlUIF=6@M;)cV5|kAIk*wf1G>TIg-v*$y6(2q_QtX+FV)Rn6c1d0E{;Si`{3*t zxNeMRl$-)^78|h9n=l?QziaoMs@nU6Ce{dIsGy@mp|wXnbaTsfj?brJ(EqibAR?I7St#j-$1RN*|At?w{)03w2xfApbeMJuUAv@z4c`2TfeK$^DdZ0odF;*usr^hR@)njc%kPD<-bCz>+a?Sz*{Qx6$z| zeN01Z^3rE9{xNowpR~Tx%WQ(3_L@~uHt1;})5IIYx8}AG#(`T*3y_LF7H|;8Y1{@K zf(Vj1MU8*^2E*{9m__}6LQzA~%I+4Is+3?LzsysOQ+SK|41W(-sC+Do$ zj2c6s$RC=Y>?2ECjjD=aVVj9Zk`{%ZSKEm)Me72IfkKz8B7V+2yf>TOq*R^!rPJ{w zAE&SDQGc(t%uq!6aX-Z@fX@?+1cu6eoPsgL(XpmmU}6dT1YkL3X-r4T@c+1f{`G^O z^%Ybr=(MC@7#QLVjS5a-NF~*cmVeHlcMaMODocx&Yv-x~vsY$!Uw>hGFqYh6vcJ0DgmDVgteAHiokRo7NC6k>?Rkrs!RkU(+IecqW7Z zoW0r?l*Ik;sKKQrOy#S-VFi+fM$Gp;D^%WzYbkr1zN~&R1o8lj^`|Z~UeO2A&cSlF zxTwWf!{MHhofcmwiOff`N<_XZiVz@^lMSqUG2~BXl~}If$d7K8B*6E(uw6IAg1es23>+^jVP}XXL$)iX1x%OK5U?z0xR4sFF_G z>0MKY{T7;&K%6BquPUeQ*DI>8%>FBz{FeJ!J$iO;q4AGF)Ohct^soP(j$#PGM!ZCT zaDWlA1dw*gHZzYE*Y7EbfiKkyE8`@y>gLN6@QDgWm-qz-{ciL*w{{mdpq&5^S4z0V z7TFH`y}Ri9soWrEP6+DGdhBa{k*^|8hm#t!={eD^qE+~3a(X3aP^zWZO(T$1!V0;7 z-kj=c-H%VAkNtxgsm)8WtadKC)lDBL%`4Po9B68LCv`flCqEf={#fXgQYLhER@9}PKGlct4!|;3Kk?n^O~?9N#ior z1M(GNRQXe%{*pSMtz#H^@bkf2Mr@NElp_pECCLFGLP^3H+(7A#A~h>>VE3Z;Foa46 zN2MDCx~lrcba%2E?LVr%Af=lUSJ#k0m6M=idmKCx+Q5!WmnxG+e1~xQ0*V&u`|o}N z?XvIm-0Wi~ob_6`*VV`*{>GF1XSpAHRZGkrK!7-ocX-Ku7PdNb!B}ELt(RfH`6KsFi@W!P@-Aam$@GNYoNeorWv_)5K&WMD( zg0LZL1ii`L07x7Gbz_XbBes*wcLx@vVg;zZi3?yyQ2xn8l0N^k&;z^qdY+MPQ8W>! zO0aaCZ-3?os}sw)%&Sgdqb#uP@BPu$weNpDi878D1sFDh2{1QX%Vl*UfIv`!YK)2| zx)a}lR55)n681?@)V&dKDWDb)dGONqkzc)Pkl>!gGxaDQMCn0dr^WejrQRCnM&=Jl zcw>b1M6n#kEF%QBcJZYQHdOU4VwxJDA~NIop}=z*wCKE{Si5IbjGyF;9mjg;wDhi& zh+4exzNg(m8eh5%I$DWe*Zji9IG=jx^ zFPLg`U$tEYgy0x7omzTb0-S4;38MQP;Zq5FdwUG4r0)KUU^Ozl72-Q&z255raFA~O zc(EFOCnJcg$2x`W=)=0u@Ep--pTwGIQ3iNu`x8L^ z)^EY-F^{M^o>CW|e^)9wR+rq&kbT9)ym0P%wXUspxXxg2z2zlkSc`=jF(X5R87W!R zUm5{o^DayMS=*0b2vF2g)Y_IBK$3f`?A;#gq`DCX-(lCn?fLx<52B=>GZOzuz67;nnx-8rZep31_0*r>GvGc63d*D zS$XFrMLR!bAXgn9STy|z`4kyvxAbwUrdBR->K9sD{y7L^S+q{_z8N~+Ee%YRCBeJH zh$Kk8+34JsuulNBk2L%FSh8cr>XG624xa zOYQ-`b@yu<(VOF&q3<4;p}eDm7U1oZ`>Y^&D+H3a|8cth{R7J3iV5L093{m;rieOb zCej34e>zg2mGU*lu2W$Yw9Wcn0R`_$#ou3ZtDcjTyX@7CCH7=~zW?UKRz-R)3}N}5 zR3Cx-q9dzo+Q*g>Xf|~dGF~dPkIv2KZnJX(;B`>!I3snEgIR*pBF|e$7W3ykwB!>{be4#2e&Qy ze{WljD;D@1WWM}rujn}1O6!@bc4$038q4M%PL2)i{y_k+w_oDB-violTe)o=^*C>U z#*CroGePZzZKJyyymB)?jY+V5_s3ZoiICnb3p}x9Z{CIfV7t-zWBgYvc!xa)ZRO;W z#EgDlH-C>a*Pd_zWxG>1Uh8)QsR$MMxHZM|G2JrM`{>5QBf0;TmwvlKeg{DK1j`40 z`u6Zc$}u}K?DAZ3j)sMDRf9K#CJIiYVF?q9T1yK9LgD3$g?tgX(Dj~yx1TSK!8MwvJDFhsM?Dzc2d`i1;b*0_`L*<)SV zzDuj(L~iO8`iCt`A8cXqfyD8lj&G_pOh|*-Bv7gAZ6Rzw07BI+i=y!h0u;mUd-JjX zj$?v6Fo*)rZ-PlE(vYf)23fP%x7~H0xsf$Jsc87&iPXE=9*;Q7p10i6NuL`p-3@c& zoo2swGO}<)&KM8W9g~r46_$xxi2(3oawL)RgKt`9u@WuBRLr(ks^Pb@0@>@SC|ERS z5_bGypi>$yi=1sY-{$QE*uz!wah;9JyAo_~A~w07;)UM>y)@-+M!Te1Ar--vuO|h) zMCm2kE!$SsVLLy#&Ude2H_+RtTwmL6I=}Pq=eXYOV#w;<=3CI%a>Q$Ch_&DU6*`R>$b*LSY;o7PurXC&P$mFKB(vUCtFPH+JQnBk^l(r zzpd^T?(%x>*WofF3XIjQB3OsF!mbnHBBT;R<|Hs&S2Q{^|?ZXfVRjHv#hXA1qq7*4XsX-(Z z=^$0H(t8a}3B7{?h9*UnA}Sq0x}bp41nEd`p@ZPJa-R2{-@MN`XXcyPe}ypFd+oLE zdfnGWBd2qG4mOoN8@Jsg82YoM@CPUOC9>76cS5`1`j5pqO|r< z-tkMh0CT)BX|2zSK7Qa?;b1K;Y*%81FI{PiWz6`!jvJqT?Zzmzhn3$z$7SjFBRpef z`hp{hp7mK*Hjwg?k#>;(#R53>J1vitJa4GA!}MAm<}}p%Ma3))n*{mJ*H(G#_>Eb= z*Xh{30H^H@*4;Q>VrtA%$?|%(yFQ^?$Lx{P&OU+&F#BNt$})H@!XP1CQU^7%BFFva z=-S!V$|nORSv0QcwId{jqxJ$XUa+c7LG8QKY~bcqbj+ppT$#-T(&lan{fJs z&M(aO4C(!p2&>;snd0`YwA}gr2tO8itB&H&df3erUMv64skBpKoIBL>UoJI^3iX{8 z)~QyU<^{$l_$vpP5$m{7mOH`uK4k5m&#Yfks+~J!*+Xp%HI`d?_eQw&C4cA^VmB5+ zvVHSUunhR~qM)qm+JU_DV6NL}MU>l2pzM97!iFpk!tw5r%sJ8v^)FQZpb-s4Jb`!s zpHHmn7h)IfDJ<+NP}`6No5Ju>q{^Z+;LiXx*i!hJ3VCulB0sO>P`KeXG>C?z6o9!+Vn6B9yAzQ8U{#=OSoe$y)I%cg1FIz37bX z{D)4;U!D`UL0B}aOI)hZA61YsQbhK+cSYii#sHMvxX0PL#suZ{IC<`1(&Q$)f5PvL zh!aSyKQq(kk^QU2U+PvBy1#ZOpL{vWosj)=OMLyE!#4%t^3rqrx?~9c`h(Qf_iLJO4HaqdHv$PA9P-pVafV)3R z@cUS(+m3}hyN77CQ-~d@^iA4TxNCd442imu;IQK?%ClCC;Vv2ACDxSY<3j3dYMSPK zcFc8hX}lC;6ClYs*(dOtMBx635ji&76N23SsCk(jWur;#L7Xi$qMX}i%)mOZPE$R~ z8TMkm#Wo9dA!PQ+cYwV2{)QRE3B{BDMbh;TaR$$I5MoHfu=QXM;;0-LalcR2@6IRh zeJ;FSA8@ojz|uAKOG)sn#F18~eDL5odDrhjRS$QLNf$)zZ{fp)oWG4|c&zd--h9Rz zR=1lnyU+POFx1VmOBIZa8lId_=k8O~xtY21D*Sg6_l>K!-16k{t1KJ0LLhhBovmg1 z1!bS{)8-uT_bFjswO?J3pov>Tq zpGa!V_N&hJxSNF}Q{jA0g=&l+3cUR;Rato^E@YNr%i0O8N88s z#UsY@YYiBB-OCJ@gzL3rSecAW!!nLE$aXk|fM2PS~_UZN7%}?nIH=idb4LC?o zlmJ^~S?i}!*oOqU!PbQfJ)X4=3sm#& z4_%v|)6ew$DtHIyaG2mK`)}E|j2b{NL>712mmtRtag{_U)yG$B_ja9oNM7_N*8{V1 z%X3Z=y9TUU}RUs2^X(Q0NxnbcnQw&cj>{| zUa0|_+rgjl;sW4{+W0+^n_7r5&$;dNF08l!eq@9@8DADIl9pO=&0{p94;%mWsal0KCMpiG43qX` zZGnb|TlJaG9s!i9i_cWy?7FEa($%F6q;Q>)oxU_M_JE`c@zJR|Lr6$fm8vW^Xq*09 zY*cIomhZ>qSuXH}a4KNTTPTELpNTBq%;II4@D5umMkH@Hl6A-5$q`<6A78fn{nBcD zUQ@3xE!9F6byG%!h>s-Nzo$oBV6eV8y5Sw(y>`FwZDK$-<04@%{Ql+;?nylk9b6M=g?MrhyRZ}62jwb4v`}Iz9 z7mm)7Kiua&e@~nlAXF!@jK6Y5ldPyDV?=W6+vL$=6snGr3-nUdMy(81WVlgf2oj97 zP=-7)`Sp2q#OlR&qITlsiw~8RklK?%6p6CFh!qs2G+MDp+l>sHC`ge9K);qbC_82p z1lJ|f8H5jcO>b885Uh^5H)M5vc;kgVNhQ?aW(-k+HzpS0a( z{HoEKdK!lJ}0qJV!Kxf_rCrz5WYF$ z2l}KO^xXr7G8GVH`@H}3g=Y-b!)%bdl>1S>x!aHZ(JP-lU~;!Sh*(h0Z`CW5h;iW( z^yO9QvO<^Y`!S${9TQymjHKQAvdJB46|$C{Ag6}xsK+ErE}exCghbh7(D|?hV*6Ru z4yqv4=aqa6ntw)L5=HRh_X3xEIR5QfSMmVl)9U+d6WAIumy!4Supa=@i-#zSpT6cI z?EVsUE{S@u43BC{WZJJP8W^?4IfHFZ;mA06jaibLQLpI?Cj)U!h4`hAS^}FTCF)rj{{3)k;vam%f3QJf z1V9dRIwl#+Hxa-~YgVPk#OT=&X88+eIi|y(<@EYf5)oPzY(hO|Sy$Va*yN1L8eYn3 zG7#B|tr2CoqWQq|b)AKndrOUlf1eGk# zZ;PF|&Rlb&qVHi_1|^tnG2wFszo-nL$p8R(xE% zt8&_3$I%-24N>9Wr(x#t?Yh}ek^jL))q@da1DQ>|TOEYwy*W;6HOQ5vADN@F<1Wiao8UD7+F9nqa&Xx^T?e#DiP}ZpltHJ+3mba31xX?Z;B|Qdn)aWc zK^RuNdhNo0xag`qUZ94D1TENAF2rL0BBPU+m#^~O`9&7{wurW)Rz5H~IvPs-98^6~ z8EM}jCo>J5F>L(Y0b8nJFE`@HadE(zY2_jZtWO>LYc&m?gW}cRoIus@9G0qn!%_8b zL@6jk1s(UByV;5nB<xNhgIj|3Q{uX!Zb%IPc@KBc+U zSo9Edb-+G4s}46|y)i45{84*0(kq2Og!{g5<<=*1?l%C3nZZiud>a)Ck2(^LB5Hs5 z9QcyV)85juNx6T2bR%3Hp@#T-np`CTG{-&zdc=7GTa93sche3hl#^CzH=zL#0qr$8 zHXRR@6WWyo=)s$ZpngH%oCf@gZh*_+!HW<=e>@`yx+RD2;$L__{x})b*n8Ajtl&WO zMZK|u3-oP%FY5&-t-h(h3CM=J?+022?hQ#l`XNIg!P_-lsrTMYGqLtnw+=dT1f-P3 zBN@7`{kpP0;e<~7x0_dA3rEheUPdHLy-r^999sU4pr$ITS(G2cZx4#?!n_6m2&?B; z_NW-61xhqG+++gUW>Ld%8OI-5Wkl0}u#|Gw6Z^A}C9uT50_tu1@5pNnY*e`)bNn1q zWf^}#U0S|@1i{i50S2lEL1xd!1m)1Md7n4*vX5sEJtN_MK9|X<2*oeve=mNS!<-%v zEdXZYB6hL+5Bdt3@+kW3h#$NZq@h9@2E_O z-*QX^)FQ{Zpgr@_1f@oFrIo?FBgpp5US1u-;mXS&ha^=g5}9F=vp_HQ_*wG#=*i@h z!bo^`04o7rc>gM6`JyK-U`cu)a9WWV>AE+th6!SOgDWqS zLnmOWG6^T}%D->J5+Arb=7OF zc-nsPOLo#ZbQ101{)c99p)8kB1-<+3K`4+g|Pg?|Rcbihe3$Vw}Gab?6BJ$MjM#R+nQkjAqcatA6r0r9Ax}A`oTusMHpOdr9 z(4e9nY!t@eiNNL7x=Y zW&+?XzX2W~1w%r<0s>X%MgS_q0|6d+7u-bfpHl_0W8eL;yJ2fAENcOP;Bz&DK;pI7 z^W)tEPqCCa2&|V7g0W3u8v`Esz`k>R*+aoJT`MvLkp25|C{m1ld zG5AcA(1l-_xESv`*Reb?^4g;41Xn!<*acq+bYJ{%`}Zsh6*lN(eClPx00H^6&Pc-^ zQV1p=t*x#Q$blT&p3?g%chwyI7-?dzu_ovT9c_3wzq&}V@MXHUW!ov;+OH&rTg95t z#`{Ub>C#BlqI|r>e*|E6YK-T^w-=lhj_1E@JTb-p6+{9%v za+l|=&@0bProOMqT;wrnT$cntY%o45csu^itx+sn$)waP{cd15c+=nXvDAhK#7_dX8TySO9jpk+hr;y6D8I$#8~%)GH)raL`~GKQ*!VMPiiHX)12rMa*RUx?$lmKyClX_UB~ zAWI}6m?oDX0x)m|D@7zX8FcbU{1O?OlqbCEE)jvRElEeBR*kreKVFfKz_W&fvstPh zlEmKqnj=maTaP1QC3!tV7J6xk0H(2tTo1V@r?MNSJi77{3BQn<6{@&gx2d%(?><$> zIni-234nrTdt0vzYU?d$nQ}=aEULgPntta~;pa>#TX-bdM+x&Kq-#PuahwA=mgJJx zRg}kAl_i%7B@P9+y1U}UcW;fHOQ|Lj5Of{23*N3D$ zRAO6u@^3-K9vYxYVMJtN{rnYy%Y%h@fP^&N2lAj1FjE_EkQCB#Fq*F2e*Z92+@{J_01LUXl%}5F(jf>aGf(ZM!~ap!E>M zZ}{?tz6muC^a2M9q3`yZsJ;0Xx?`=K<#x(yd9$^ZKnOLF5D^;@PrgQM5&=@`2F^Ei z>%_qHAn~DDQ-E(zJx!e@paUuuzd%IE!4HJmGFvamAmci@gDn@&6@3PX#8Ns+9(XMX ztDC$KPxfCs2kOKrtQ6zm7kF5X!;Oj1{WQ~y06K?5g)00*Ey9A#0Xo>#S>#WaDlU*9)*`)-pd=5IbB@4yak#kd+H1 z3bgi_fkx=csW{aDIJ4)rjph4e(P}?jvf7m>J4n9pIcgKg&K`Qp*&oM@{ zF%QY~H4;VDG3gM&ELtAcH&Pa-Oi1~1iV1{%bC<#C$%A*A9dit?ij#cOuFoa!-3QEH z9QchjR%>Rg0P`2c(AsCE)?CN|7R~@yB>Z|vXwY|@E#y~h^unLF-oNzSQaz7@U)5cQ zU@Ejny&<;L;o@s2FCkR3*x5J5y{>n@^k!i)=X$$0dsT8WkL=axnDoO!L)Wg2s?yOV z1kxu2(k5g-%zkrx6p#)u1ID+CO6%+D>P~7eN&UR#eQM-dckn}#z7j!7ZIuZ zFCFY_rME-#@0=Hr3+fo^3|&@`kWDdMg{W)Xw;f=!8|t^Gg!xYhJZYo}V?iukuY~DL zqz8q_#>Q+(XXZf)FWk9ZiRi7}i=FYKb!~=eh%ZzK^ zG&5>_uDOx&H?4^8k@j%;ukkiY5vV9D)PxmD`v}C4tz=1LixJQNia{)e!zf` zBab;3wsq|Xso0&qX95PRIsO}oXRKO+6%Bwx_ERMLV^$iaU3Bdot&0-yi^dclYB-Kb z=j19eV!o&(8DG1Sq%35moA>!Qa8AU2O@yRkr^64PxYZE z<1xNyjYr?*dXqs(I6*QPPCcyo4C)41CjWis@*uM*5AFM@Ab;TpomWibO&Smn72&ZB<1zFE4oJ$SO)_e9Dufx2mW)Vb;C zB?TJ`{0yKkIfdLvT1kGwo2C^mUO7hzTQm&_vrico|1iO~oa52bCH0h^g0Vnn1KiAL z6eRI46@bh6MqGStoiF<`q^>hu(KD$oM=m9fP z{}b2E5VMN6Hy=j0o*`Y)M*;E(iZF>8FswlV(!i z$bY;a`zRu4kE!3~ad&Z6lgLU(M6xFBXFydvoWtoZ3I5~LO`JWDfVS;k5@%x0L=H%J z^o7HhVJy7Mb^76ltP-ob7>e!pj4|ZNU$@a_98uUPZ0g`=#_hvnv!HI}@<=!)NkFkd zN5HtW_~|`9Odk0l_e+x9%+WWq#gZ(da&fG@W9Ehzm)*TMk6EET6~WMVGej2yUZ2gC zo`13+p%p^<_bU>EeDx<*<;PWYB=JnfxPXSkqly+X>0hNo2b~#VE!2D%eGQvYXwT!u znXFGHny#3QWOGbj|DZBsw8i(I5^vZ$gM8%!L~P6ANFnM*p|NLpv)jYF8_ezTMGS2k zA!A+-=nx5PQT-J<`oZ+x?0wPHEX#=P0W19`2m7|(USA0%db0m^U>gC z|IH}`dIZv1gC$CbHe63k-AhR{8)kO3 zKz(a(U%)o4V2X77C}>Vu`T--OP-T|2&f<(5866@6l17!XcD`_#?sURYYrnEc^g;TOO+TTJW;;DOC}Gzu86W}g!mn(Cy9-CGug?ZEYG z7O2&r*a|XpbV9@w3`P^1Vmz9g|3e>Hu3>{YITm&%jpuLG9N-iH%v1CF+}k zskMN(2S*^`(%uYm}EpQ;U@1m7`bcL9o1ME1pTgDh6peZ z%Zj4Q5R(c9b_(tLG}^PB+MT}L_Cp)Yh{ndo88EDI{?eV^uE1;pX{0Y9M?ybnq3W9hq)n%msmEZ)h{cQsSm z5f$?AQ`N(!oWou!zHyAo?AQ~0WH3#prXdP zX4}#0rL}_evNfyoxOX`AHR#HnH?b_&{uWyFTZ65!zR=xB2=YE^F)TG8yOVhCK&oV- z4w|le_?QJe1M|sA8jyCUimMM#R+d@Q2yM zGC=mMum;{8aTH8!odFU1*lSLXFhz4+Pfzdn@dG%T#|I=-Vyk@TLj&!;-^zzFK!Ot{ zKGq%9TSK7Z{*qMIMPSH~n)dfmn~*Z^+`Eduge(_bZZu#{vv@6eln0?B?}p7EbYI`g zIq)?6OF}4Ib}Hb~#+_finKNLwMQ?H!_ykn5akZ6>t9Z)2?fgx+1&#C4fEGo5XY5@FZJfJ zzZ}C&#GaU>(`ou2QAoy+g>5E?8)EVnakM70XYH|vT9PMPnm%T0{4DB;GEdnuy(m&b z&qb9m$86xGtS(3FsAKZzG^3F%v5$8Ba8LM|M8G>a)YQ=@3ZW$>R#UA5f%fB2&?;%U zJlD=cw9$03vGv_hZ%B(|&AYsDA6su#>sA=k(yH~wj+|;gc-ZW2cinUdO$rIE;zbUZ zkHntMqr90e?mspCXCjYjgAYGV)OB*W-xvkj^9z-rD9_fG(2V zsON~)Cs6%lKcL+90ON*3G2vkWN28s}X*#^Nw{}zd2;uvwrWjQyl1cF76j78oh#in*?w&b>NS0X0g+*H@p$1Nov(ZJp^ zSE-2N(p$Yn3s~6Zz9l48TDi!YPIU&gbKd3u)F2?BQ!%gMR=-~@WqP{&k^W^;K4KQD{1+><6 z_rrGNHyd``7|4@|tB9%LpTIKd9|VB+J30-7=A##*Tm7?kfa- ziMYpWMG(i9P$-|hrB@A7b+Zr5fR4EYm;6RSsTla=H1zKyQ;-43E*OjA0muv01|>}^ znh9F=+Y`|v5Z}-TEmM6Iu$cUl-n+_-w9zur0m*Nj(T5y-U*lg;!L~li+TG?s^Bm9s zJsn?)@ma->{ogb>_>B)9^^t4;SKNdXr9k66+CP6xCgcp5_jIgM7{0J~)pwQl)4Rxr zF$N#T;i8!ITZQ#%>6YXuX6k{(ETij~SpmFU<~0cP0Qmr<4^Q;XKX#=&xQd?tQp8oe zOmE#zilu->7>S~JZha>^qP@c*w0gaA@fyWX5j1vl+KUQSz-1k{cdM2@_W3Z2rHiVf zrQfA90%HGgVo}+IAMIj46}?`0N|?M3b=+(`h?{#|ah*H(mRQA;kG^1la$ZB}OUpNo z(K|etP*;7rtM{a5k5|jnVdSLHHsZ%k{?6x)wfhb8Zj%aVZzIVrqbB9TF{D%l6iHIb zH`hTmkn*eI&JBW0hI)q0l-6^eb<9qLoXfqrd#Oga=?pqpg8V4iV$`YcG1&=-UREJV zOme?WnvaKk0_pg)CJV~h_Q{3AV01P7dtt72P1ByCPCvl85Ez)Fj8pk@^mQga_;)@B z_sFapN&FOW==h^fppjLvkY>^ICZVonZ<;mXvJVY4=@-H%J-59g>-(_p_>p-qv`_0j z>089Xl0WLgWeVyBM~HJ^TP{up9$0CgQ%#r-2ne>w^pL-%`CL z3E=pC?)hy!Bt*zI2vP+;G>xu?Pi9{~z4g8OZJPIMkpr)K(m%;EAha3U4Op~?w5@UQ z3bXkTsJRb}vb1~$$Yj;!y(Uoq1 z-VK{`%#R^JvN?*;_%S9@u_tso6Wv;xWk6)kV2go%C)jI#p zG7<~)uLQrc4V)-q?MV_neHTS>xT*Ok?6zrJ@XlPbMeTnQ0~tM=c~BNe)%peB&ztV$ zRjG1_Vyb<<*57hFN3pxZz5PwfXnqoqVL~&=B!wiB*ij`4sRMI3PJ0tKN~3GHq}MMN zn>Uzm9TmWb7TIqI*S0J;G?nbUn1CFZ>uYk`u7M$z#zGKC6klWIS@vdt=GlM?C?Y=* zdJ!N!eaBOw^;L#oi&kN^Owj7<4{6G@VokSqT_0AqGvh}IWdu+`R+(?20!OTO^qrIu z2o1yN9hz)nSRTJDTHJa*^;^SF`+|50l5J@mYM{7Oybb-sLn3qHECRtHepUv`}i&o29ilu5(%Z`^_VN5j$8bb(72Qr zT@bF!gz$M`7h_V#Q#-58sz`$&laC;!B|T^DEb;fu_@{OVr10u(mK>(PLYBynPbpzh zW=2NV89G{>t_x7A-`JPxW!r7xnwL|`Zp+7!T%ynwLaX(rT*mXpwZ=`q>+`AG{Bioa zN4Z2J@g!XWS>ZLNl5Ci8J|NrFT$&UUsuuM$B@}s2rd8*cZ>%#W^!Zdy&&Tt3pGL|w zZWDSmk9}C6RB99sq-l0}#PKs4Dt=NGHvVfux@F&2xwKF8BSp|ImT-h(i@xO0bo}Mx zm;EtF;T}dySq&{FoxX4O-x(2fbUxx(>Ym}s=G_kt*j4aJ`*$s1ninnga0I0w+vDA3 z-N5GE5jU`8Y$V!)y`k1jG2S{*)U%h{fyn6qz&Q}3zO&r4P3s!N9QJ$eAENI-QUtng z^YRSaU*We6<+*00@Dq23@N@yqq(n1U#dM$O`-qwJQgO$cI~Y6Er-&z4246WSr{66c;NWZ~nlDR`l#C$dprLW<3KPnB{13Z5F$ z-YRQ$p?$cW_@SaH$0E}RcQb#3%Qt25`Wm~bvZ$+}k(JNw`2-?&`BU;Bd>{r;zy#jyemk+P) zRGN?k8frnQ!o%Y!u79QKNSgT-@XRelX8Y8>*_1q6Ac2^Um5#~u852UQoF{dTdQf_4 zC#2$s$2VR3KfNG8NqK9(#>%|L-EcvCIuvq%Aw?-Pt%JGNbHT^oUR>Cq%^ys-W1fuM zcD4h}GfDu`@EHXh68F`T4?dmSRoIdLo6W#{Aw*M(?p%p~MN`orn(8SL|dnm zxEMl9Q@>7f*}ab{<#c~sk^{u+Rn)t|IPx|YSTi?>!|}^56e%90&*S$>z5A8{5Y_eG zudj2B5eKYkM!n~&zuqB5)hSJW@KKo!T&$w9Z{9L@|NrAf`O#t+zFR_qa(M;)#*D92 zrMm6->jOBOH`n^62O6#YHc1%FSPe`caC< zSJ1!XDm4yYpRic_SK4Wg zc)`e@UgNr65v%Q<_NuMq`7ej9{U04Qm|-Bkkf_jh0ZQda#K#k&P(+}Fcp~=-h2&F; zf_nkmIg9~ub3vefk#KOKiCM~;`r)^O1QnXZPyzA6PWPo3+iJAd!4(~zGqiOUSOI)H zy|tEHZGvj>InwMubN-#2-siYamoyiE-`SfS3yAseLXSocs6=)(lPQuAcE1w~W`+f! z1S)vP(yn$L*Q>a?yqVJ<{(<$`bQKzC|bch^eW%C?`Wc1tVC;Mxn=`r^) zgo0hTmDiZMb^zFY{6%_Gf!?J~zMJAC>}IY}_coxKxDi;X5- zV+kdTpX-pa@4kegASwk>Xo<6 z7zTt-Gct~MFBGbD)u&uFVa9W7C#<+->C!*>E_L9$>aA&W&j01RB9NM-J-M%Dm&&RS z;6mtr48w`e4SU>#)$dRNU3g2L$*b{w(h;6Qh9q%itSF;!B};qz`733+4_p;Hu(wPs zHmQ`o5)%c?=S>4mxHF)-Ye+7oC>2;VWl9L=ioWM@`az1*GFHIVqsy3M#&NDTz#}~# zs*@!7p8coupnINubJBo~G}R3*%D3f~3Z+n#!XPCl0}#&g{do|;j|oi$8bEBCmR5i# z$!%vm-46o&s++BFIm>UQgijYst#R4PbLf_v`#4KiI3YKZqMVJ-r-kAjK=m>0$qxav zOa3W9?tSsJhjqqYKK|8TifjqG*h)QDHwe|{)}rC=94bS$)Lysa@SRVrJ>?z3cu*Ix zrOkjc&6`fWUj%}u0lQ@tzr>HK3_?~Q7q&~ZugL*umT>+!xjYH{?AfqPEA{3AK?99J zuN@jnX8+xkZ))jhU*~@(SvC%o9?8g-;PTmYu5BIP!w59@UFE899}mKQX5}Q^itas( zxbtV>!9@C}1D`)vS4HBFaSPN}9Y?AJ(GPVtc`#xFFiP0dXNh&3h&*-%4Bx7Gr}n!n z3K$2`>fUv+wl7SI&)8=o!i*D*2W&zD#Oill&9B_-)nmPvegjvW&^0TRrkThokf)}m zp^95NDlw$LJ6pIVs4#ChJ&@|qD2Lan*K=T5rYHwpsY^SjZAm8s$w*b-8t)VvMf#ri zmDA*>)%U)&&UYslig7xR`cY5zThGTms-(SLK}$g|hCu4E6!2E?*g|*{Bo4{R#Q29> zwi8K_`f_JCb%q1kvq;{Mtn%N&gcF^)hDyrB@O=uM^;CTFpuO(6&e;7PgyUPXgq%>8 zMPvIy{3gj zK*&BzM3+Z!laIuo+Bz`RV3_tPZK2ktih+qu@25BTt14(}j*n~Ns>=lf-%PGXkH9*~ zowI}{*?k%V6ipH-ho5}^$X)gaRALu>=6oCWN4c%ZDO4IvuqQfGt2U;amp@&$S7Y}H zlYDbNrb2mA#q#f6hq`2>EEVjxtl$}YtGhT9Vj^XE`LX@8Gn;TPXictj(&ccbDbJ7SR&qz`waOYB!~O%D;WjF0`4 z)9J|uYseUnrzGsz&1M=P9B5AZ0( z=>8gv|91MBwW4Q=%xhV!%BU?SjV2|xxv;a73*DsrV7P2F0`savt14Qe4)M~fgPhV@ zfMCD=>+;~nJO)u$ZW$j0;Td!U$= z@2sNm-{LlK@X1LvuHlGY#jAHtoslmy>gCk{a)^5|Q@{QbPNQECHF@Vr6HQ4ydTaK&9u5&(QI?fDU9nr({Kg)0k=vzhu9jndWACCZD}@58(qE8t z1Uhzp$$8C$c;9RkIh|Y0bq9%I(E0hUO?_BbBV^$l{5lzSQ&(pnMMFP8L$Ex6A)1VvUUN%Kk!K|Lf{ds zw0KUH*YWVvaZOLAKQ~9TH^*of7%pM*{9UCI0We^|>K=VVk-^1DomYx>eC-fsk=uhb zu<_s}J=B7@Zjwyn2o;QD{PWWGL$mn~B1pSS0lt+RZ^x*YeW>sNhPV><%4pc|HBY($ z>$>B~`wd@tyVuAWit^kBvs&?g-Y4f$KWb6I8jtSCwmDQs2W2t$jOgSPj2E1+icmk+ zBP{z*6wW#cuA5m9D74(^cYAX4XVEsc#cDYOy!gol3*X?uh}j;}Mg(hNM53i5=dxoF z@6?Er0|O&slm^nCgt*KJpi4^9D>^~UUE7tel2-1CLFhrO?xtr)e>@0F%#VVA=^ z-Y(g{_hKi-a;o8aGGAp5*r&j%e>XdzR=jaC{OE=*>w}~zJ$3HqfkT5A7xzD0JtmuP z`MbL&d}5;r+Ub$zS2ca)H~pfL{GmndUYAhD#VMty6En?J<$Dy9s* z#Gkm+EWe%C8WztBt8Mt&Mv4ulnd9kZwS_KlZavc424L6ly_ zNU2~94YMNbV7&=0o_&yFzn>$#cl!8GhIUj?x6XWW85WfVZ%StVI(}AFX-4Dfn zx%4WH0h4DP332=#xW0q^?=bSO(!E9kQkF8sC=wKH&I0sn(0MV_>`$Kv0(asC*;CVM zlt?kEf;E5maNO85pk9JBvxPt-HZpNtv7kt!?iK3UpvLv!xkDw%yrxekx?8}oLTVq1 z$(w~gc-+a)I#Z~$^+Rei|Kkn0(SaTQhM*5GZc<-&Q{#yGI(w~&|JAMT!K=fzeB{`` z9TK>1=@nzK@fXq0CMYDepCgl&m_EDXO@|-6Nb7rr6gGn_ytWOV+a>~=^B=B@la$qd zhL7Yx`f?r{fd^Uo4PoV+rXaB-?#<0R)+&@SN|0DJE!P_+`IT0s1;7ogae*E}rK*J~bc*Keqs2vekt zCeF^j%p+-@$7S}ip>ZiF+x^tPfIRz66Ta&I@L=F5YT$<0AAAx(&u{4CMO$OBv#W)A zS;A1%hsJszW$-W81wg4a@#=0w=-~`1=g>1tx{>3HyoaOl+2i*0OeE$;OO1p_bMy>F zVFw zZAXqB%fGL{AhvU#y?QFW1>)?EJ-w-%58sZoYz@ERCRegNg$R=mbH^qX|GDU_zRqofIPi3YEfZJEE zZCmES1gY?S!#2 zXxEuH#PHoqbr2hQhMGS={gJ-`fqv$j@5cGh7RHGjW9(dU{w~CkhgUiQd5@fYBaC3| zHK;Ln3T<) z0DA3$F#1{GRX3%7zCl)N$m>am)o^6@V;@JWCK9D94dFH3e;Gh!NNkh$hhwG2A<q>8Md{5?`Y?82VEJ%aDfOQu{N3$ti(ycp8knq28){{Q)xsD6dO}jUE3Rk%a z;F;sP)vQZu-3i~laP!~bgHIUhZ&uBE&(T4(tt#!(!Xbr2A9zND{^qU;4jl7^-f8cS zg%A{LIQ{g^mqu( z$rALolqD$KoQGnCbUli4tfRO)U#8_DYg>Uaqxpt$R z;3{e$`IhmX0$RGn-v4PJLc;FO?O2AR4^Qw4ZWjN%d^{LIifX^PM{rV+q}X{ns}NFOao%Q%guJcfn1;7s&2A0YfZ^`{BD0Eep%$_+}diJHfd9`^Gq}79H!- z-lpTQi;FZ=DPD~wwcP)Fe@<#3gmB>(M<1e+{z^h(IEa}LOGtfoKE48dNc+N5g(L@9 z`d-1)i!C?ToTKj*@YfF`&~`nfCt7v-q=^dWmDKJip#njaHm*Kn8vq)pV^jdr*;;V1 zRcH9M6GWZ!shF88>I#imvdFuWQUhGfM18g zpy*Q7Lq~r>YZ!y%tpX#ly+Q9IBxOpBx;4&$KB=w!JKKMg9S2X#zZ1^VGq0Wj zSo0jhO*mR2=x>+U3^1qs=&TBiA_P&cd+Ht00{?fF{J_;=5rYHI*X&_OVS&LG4HzAu6zalh6ZYNhqw!ze{9FAk(CZ8&~dYWTW(8^ z`VgGE^_%d+f4e%!Fau&}Q-sQu$*=}0a3FtCRv#9zudB|;jYZ5BhL;Jb+F6MmJdA(0N)9ed=3SNd3n%vit!OTi!(4qLy4?ooeK07DH zG-v;|T1UVlR}horn^v%@_Sv>tk&C|ub`gqlcb0jh{!h*s_%I~cJ8L0gG733LDWM*y8Z0`;zgS)N=90$GC^WbTxT@gY9jN~Vy)9+ObKJ;)wA2-KsL}GffRWee$ z!{exFkQ4>w>*zPSZUb>FcDDadg!^}2+Xrswmqih@2RRsit*~|^;{oV3#c)DM0>3`q zJ2|o`mU)51z%Xz7a~PQ5!}sz~ylgYKq=aW7?aF!%+6)o{fxImYP%P76^i+SbHsxGB z&yC*OOU06siF!~}46cBe<)_4$Mjh&ROC2SQ^};q!AzhE7XkfgBV|OxErW&5#$YX|8 z5>nW_;Wro9teq4AalGhk_4xWfFX?Mwz#=V*NKs1igIXErg6gw6cWQ$DRmTk+tjx~6 z4$^Z@4W&p4GlnJc3asDn%x8*Om5$;aY-2=dg&?Vmzdv2r*^gQwW*>qMB(cvd%tB{d z21TSHV&Mi*{yH9=s=$>Xmn=1$4U~x?SEiU0%bd9+Cs7nhZ?)`EsQ~~RS8f`;*Hw!x zbN<%maQhwu^oi&)Ma5`tsHcwY{=3huSyv|?@4cHl{`*4z=M!-dGXw7dAjMA$Ud+u= zG75%IPEMjF#``Ln%QIgQVv3JW0{v4{+{eeqkh7c3!QQBXc?QG)S@B^P)q<|k(;+Qj z>pJ%rSZH#I#BAYD1y4*40OES~|6}YeprTs;{b3zIQesHyn1P`~6hUH?9%?{D zKw40gk`4(6X^B&iL6lNbKUmeC*H);Pi|g-j_~2nrKfFZir$Op4hF^)xh~f zNFXW%)P%+aZ;HYC2v)nqo>zq{{14)`3k4J&8RJTRXL@ty*4K8Nr*s5h&ElAKn9Bufz#!C4w3W6#SxV{5K?CQ|8e=t)FTicY=>fEvmS7+uW%H31KHC zN5{iF5q1gE1VwnA1Mo}p@5HD@OQqr9Q(_5-E~fllI*^uT@#{N~1I_Os$H6%GW(U0oMxM#6JC#HwR;2ioqV8%ec;RjJI(9NFx|tiAJ@Sl! z^aL}X?=u?<)!lI^ILG*Q`MfOyLOFoV{n7tUU;hMV`&eW-87@nHy^}EF;MaN1z$9u4 zlOg-BA(Sog+7TV^G+_0{dt?OZafwCt6cNE?>K*XJQO`)2#c3%39fS7L$abu4^cA*0 zanUI%cw>X6LBk$eR7f&8!y?BObXP03(695~pm1+Co%!0C&b$ zK00iQ7*)Hkpoy1;BJvPzNwtSy{}c`j-56*s@L*?d4gfQasmRj$4jRiue%IULF<|es z#?tH$5RhK@nC8Np85d8>yI&A|;2;oEz1p=uIKdk*-{8@=|20|cN`36D!V?+1y4VCm z<&Q41acGjXZ)A@)<}@QABnEIg-kw{*oy9sPBvJC9S_5g#rYc8WNW%uwbk)#*)Y1Rkc9^@9seWRX;5^XsH;!%i4nircp!_i;UEy>wISK zog_$=#H|sJZ-DWe7(HWOH)5=y(aZHI1QU3tv~2UOS#>XKUfU@>c!-;c)&j|OIPM^@ z=9Uv_l>9St%EONmgTfa|?ONL5dh)5ztLS&5umE`(p|34Me9qIgaK3b$0U@ThCetH8$t-5Os(DeI_a|W+jiI&4 z`?E3KG5M>(?>_G37dg8WgDbOEWDM!w;NP=ArKA14Vz`x(K}F1iI7Kd@uN0DFU~tx^ zC9)((LX1jpmYAaKAqH}d?~(v56wt*qVr<2Al3JM?wU!=4#xcvGd$z%Aqj=nbMF1XA z4@g}I7Yk>t|B$+%ESeYt@qpkTntFP1!(@QK9+;ofuub@4R>RP_eG7%?0w2deH{ z`T=c0Orhpecd_*ZoaC7C>)DO7XkSWA)hTsljDZdmadwg4MorE2=>28`NmNaV)QlF> zyY#ILABZYeRFgvGy2!wf_s!%CdYE4W)Gv^(`ZpL5kgi^Set)+(eSFMNp|i!6QxALu z?Hm)>is+#^;|y$ZE&ny}wU0eh8|VD7Tg{UMRZO2#snA~lK*iM37@IrHaL`M*-*jwD z&QZ%|sl@<#4Wvokrzv2}m0oayMmr*vI1&^l1%>waq81o#+tR1|PwVA=Pf$@uY#%*P zdqQV{2-r>kr6I~yIqlwn)xXVqwaAaxVu2t1?vFyj>Z|$%IGSRz)`k?N8jd~t%`tY3 zb?Go=hyaNB_YYEwkeL9UaWu;UWE|TNX6C=)5|o4fbIM#4fN_zqrCGxO-q+1&^ooyUed>hNE{9_ zT7NfRLf${_2zL0V-}&Dc|78sHYZu>}b0D5Jdyl)q&}-okyN88><-8y|ekSHdgXy%G z{?tg#??#vH!$8!BTBN?D!FB6TZ&X$A$n1B?Ez`{$H3be*aF%m8>DinSc=Ps1kM)-K zlubHn${6T%&EN}FHvDLjd1&UB{Q(rMf?R#avC=~717tbM9Reppq%1?T5h&W)JUWE2 zY`!!2E!5TW;5koS*2Pu?+VoL_o73sJl7)h>f*A>#fRbzw->FVTUT7EYa02gPGatqf zPu0RAE|`!RN@o!fhkJj8bMixV*YA7A@EU=5VH+90k3%rQpxw9o)&6ygSbZ~DSu8&q zP=Um>QMA&GS3BK$Fg6KHvgR(Sar00ueCy=FU((L<* zuc3&$QDgex{~l*KSbg`jOT{E`OF#iV%zNCgcf*H_K@X3{$25Mzw7|d}UIuqKS@bp& zJz{y~8XX3k+}cuX&X0x;yzFW05!@h$A}%)y?|hmhg6TRorr??dplY0Yy>M_xQ(v}W zftMp7~^8fKI+8l zq!d*;QGC_%7@HEf*V}9k#LxG(r0w=6sOkMvk4FpzXck{h*iC2>&OGu40YiIN^e1st z+%KuR1ib{GKlKOtDpuUZS;B`EqB?k=iR{=A!S;mIyZY>4MAAy3%zuHtm0lhliX7l$ zjUSf&V9Ri8SaF^&;Wr}*%HJYU`X*o`b?vFwA&1j}g^d_`)W?T7xJ1gkdRueH?h zjm_tN$`9eE-C9C&sG|q5&R_{?4Y6ATZyMpIekP8B6j1`@{HgXx2M;?G1z+ZUDwv!%UQK!N zzvIF`G42aDhz@-3Ip7=HYCijWVqD{Wy}iAj90))^p?Kj^>+7>Wof7Ur*3<)1IfEzcV-Uz^eu~3GWe>WAJ~kcPVb5&3?Y;H z__5|epn$@X5wJ6`_Iou@Ce5?oWc(G^k^L25`m#9DcmQboF7^B`9J6*mzU`9$6uG~= zFcFJtpIq^?MXdU$Iou0Z|J}2U;wi zvg7+eBTJf~r8WNCp@95kjpl^*?$=ZvO&s80bohG{T6SK@)zz|;v}JcaCH^3n;yy3y zUePj&IQfU2h^naOH*$Xbtk-NfDG$`aBOPamamM0Ew>5Y3yZRlmiA?)j2 z$#eCRHI!cX@?eKFO3VyP!SEu)?h{%AaQ9M?f?h9JdOfO5bn%V(rIO~gipR|wVnY&O z{pD8*S1+l&54OSPn5?VY?nU>l4p_vfv(7=L{m5|TEsbo+%-2q@i+*cc$pfw%=^>E( z;d-t83b+1Z?N5SOtn zo4!00p7+9uk?CuYO!dKpd*v!Kt>g=*T2G(toY{tuQvNVhj#9OZ-m1G^+DETncMsE5 zVPpG@9VzEK7JKM0QVw>@Wa4xP39!F_*%Vm0AGd6?pK5Gc#1iO(KS_H$F&HEc2y6%R>K$39O2fRiMy3Liia-f_Eo zrK!Zbcy4w*?WKlersR8@!$g&6xbfSYjEEqgd&VQkVZqZ+Ydlg7JTV+#luHpH!18a&spYXy}vSfL2$VJD{3Bx&k;p^*{rKUUBnT=h`v=l@y(W zsAsH6CU9w`h){f5Ee-NnuYA+6SXgWPp|4vYgOy3#jMl>EIIpO$>}uF~nFF-(PF>I1 zpNny!>E4+agpQ8JJ9kInd7;X2$3?A?KP>|Umr8~#UYh2GD4opHlypw&$|-yeTK&CN z|3NS8TiGzbV_8%GI8C_)7r$;A!|P=^<$mA&(0dINs+1~t?NRr;KFib0_0{DTG>^W@ zbBm;%1o|u#lRA8N8GRB4oJ%9NComzRqGcK;DAhbKa`)l#>TGx?xXz1ps!{MVhuOK-KC5^$H z6|91jH2L*e1<*G6noF{EuQLqVJTo*Rt7q=@tUx`vS$-$szJ5X`U|9o{vJby1+`R}B zL=PT&HgKF?c_PgrlR($uwXgx=WcB1oY5w9q@SWoXJhV@11ouKLOyecDwNzIL;P8YI z1i!3bJ-tjpuqLcntv%fP4hmFbqO;lJMg_)V4oERpqD6rC<83T) zQd6`em)O9g9&lwia54$Iky<^1D;mY9hkSCb)XliMwl>+o;a-Rh7;|778gV~7Z#~`4 z$ctX7Tn;N5HsDle4?_9Oja+RY)nX1e_Zqrg=DRbmKJ7w=b1EAZ91hxjzp;@i^uyuv|me)YQ>ciD^nbM=0UK5N>7VjyVMJ4RLSaZ8ds@iheoDm%ficb_|YX;uON69QqxasidJ(IrO*a=K8#7+ zIc^}Re!ti&;nxU4DFws)%{H_6jh+_7|M%13b_!mZ<*A#{NOznEBPxFtyQso~SMI!4we|!Jb(Vw$Y`arF4dDwUJ zl2g!-hY@~CYsB2ZHs}SCu5H?Bu4ktpKv429A!e)R!8Qz&#mEQGr|M4Ayvu`?HSK=` z<|%DVYM8cK2NKkd9MvxjZ@!%--H|q>6h+QdB&RJ9^RO&)P);0sxj(V7$ zokEtCzud`xMkW9A*K^zw8N}^CCa31%4}Ep=^MBN?s=4Vrmlo`K2F(4)uznqWi|?7m zs^)k#3(OwYkq{{8Z{){sF_BAOJ9DSvF6TpgpRtjv^=}!4>zi-LP~LVa?~NyJSL1rl z`g*lEu9e9$R&ITA{P>eIc}GeRH)MLJ@>cjU0<8$;Jlw2NW|kYB^_NiNK_8ymBTdc(!O{@+-DoG3GGS>c!z zt$NJnWDV$J7E;IwW!Ne6KgX*Kg*7F z-3e(&LxFSveSJ5V;-z8F%~DX8nZph_eS9kJtXz8eIcWPa#18xi8a7i2q{oO^44uU{ zesrwTeByZQivse1fP59m^5r|0ngF*p@Rf)y|!%CB@R2^OEMbZu*m*x5m#N>Ed$}@;Jtm=s7QV`TqJ| ze}fPECt~n5H~L51R3hAsvyZmj6q-qnvsKW0(OMP>OBi7gjw#3b{#M2!_m3!&TWPk1 zL;n*Lfu6WI5qUP2Kw9vhWE&;p+HX~_pLyXTma}oPZF$1zTyyh~We(B0S9z-Ozjm!S~%y`$o& z5-%iPDa+Nf~wONb$m z|KlHIJv{FNJ5A_sWh)xdbeaFKe>9xR^|exi$1e|d=S(k2@Kj$)22Dpw0C(rB!s%(| z49d-s@5K4-VUB~n&kLL+I=yxA8U}n9+DHb*6$Gwqx&?-$TnN)Hoa?(ES?!&*HT6j^ z%0Mk!!z&Hpz{PfkOk}65_k%-Ek^UVGkuWhh;5aC zzL2bmO$#D+ZKFDh<6?P`NjdA?Q6xqxRh;@iuHFdZDZKsakq2m|&yfh3&ZWDsK;@y6 zt(~2747ESm-dw^>{sTu~5rYglDv2&hIF%Rq5A;07bySy+lIbZOqo3MeD40A9yb6X8 z;|Wh^HUO&Tnx?wX{g;tX7u*KUo_%$%ARW#!J{`$KFDy4C%vKj#Y+0P6xGbmH;xX=8 z5&ba^&NfjBsBY4|sel~Kb(o}L4gyz(y{q6v3GqBOTS75K3gbb?^85klr&q);tYn_P z;9&)PuklZRAuofH0kdApOtRr=fdl9-9Zl0a|0yw)q? zqk3-gvQgVbKgk%ft-z{Z7rzIGjgSh`xm>2hWI1gahl!xiq424Dk>m`bc5QI|yQ4+C zUn?JtumlNjZv4-b_<#S|YKj~Tq5e30xk!lf7%#dxK)6DN#jez6zc+*Agjgg}pmeoe zeUvELQ6&ZRpI1tBT6;MCxW4rj9xLy}5q+_?T1xp=hW#wDLwRTjEHv)xw;CEw%^jc9 z#_!$txff}VHKxk+N>RaNofqDxyZwuT*`U}-wcfrehl0h&%-*gg!9kQhS=jsr8-`zKSVK;tvEK;(qsi#C7GSkT;6*c3EmLFT6dON)L~nM+$e6O=6x0 zdrC^{qghQO>P+EhGE8q7%!Z9qq9_^Yp^`3Ou_6@@r$eY}PGkzGHGP+4s_GE3Aa>!} zTd4dzDc9tone1@im^X7#L6Cy=_vjKEfc|{k3$5!ream7c0T43hl%Ea}rc+37f^3oj z#q8JXq)`IuX3x2&UtZ#Q&Re%98uVS=aK1t`ftN8`f6M^ugr;yYo*dmK)*!z|_5Pe7 zNeq$JreM{RG^AwRWTA21Di{wmMK4Thh$=)>Ksjjn579E&qN|}=Kj`y$BeTMlq0L?| z$(bXYrjj1q2920TWd?HlMr_H!X<@uh7STC2!o2YcX zQPoeEQ;_TBiC5^#g~gQ2UT5dwwNYxntg{W7}A7^Wg@VNS=O7Ny03#b3Z z5dCW%CwCoi#`scwX$jXmM+OvH7+~lhY`L)c1n0!ziuWq^R_XpFD!l@{mnX=?pVcJY zE{sw^{U$~kQCPmUCq)HdY`*PS@QRDQVnscHBHB8BRuJVJw~AUPdA(98&t3%DYk&zL zXb09aWFKa2LYV0h9Q#od*Z%Ko`#&zJ`4SK>ay{DEoFI(6SqMZxP0}bz+yhx$@Y5Mo z^q8o^Sx?$fEe76x>k0VkHFa~}2Td(zePlSZo@|Epn*f%^h`6jMylh&^m6prz~G#1w(AzewTG3l&E9+p46K_pKBCg-`ZXS1E=()#R93S{jsi@=pzi8#Cx@7XDO-fkFQI@htzTmj>%H0Y!0#uK)7Ad#($h$40%MD zg8%ym^BO3%NQXuW|9y(N++B2-k`pO<4k102a2WlEtUnSjc>)m0lCHwzthPE3Rk<0} z%&lDdgh|`Yk7i%9;TsRQm&hy(#3w)fcnGeo#Qh01!=gyShxW_yh8i0i_dua8dYk9x zoeAjc=jkQKU8Moh#>IEkByTY4XP3ZwFW(fz)diy1$1e%hGWcRoeUNuB1j#@jM&I*< zzs3`X-NvWMzi0hU2UHCH3}Sds?m?PX{&ZCOT=ZkloIZlP+TJ3wyNGyZTs##~gO}qK zSyt(GX1qjs@QzC)b{R`&z4K7J6=~!{iV{LUfFhnNw%O@&qubla#2xRvZq&;zYf;hT zreM6vxBqg{CL8Ek2pQOVq%OaK9?_6cd>%YKBjA-mMvx)wo>q9aFaj4ofUreaLZGHbPJ7Oe~naTklIR>?1~Z zrQ0kbs0-q!@Xik`8A5wKqE(FMHcePzyX;Vyol}vx^JE*Y3PO^lGPt5p7YyA~`L2S2 zI(pplqt=Y9j$`_;nI6z9l-%k)79AOW%0nj{0}6&(QbIJeTA~FKkdZ{ycuq&#F*0Us!#3*uo#t#Kd@f_;^&A9x$*1IV7(})6$~p4~#O>|+ zaP;NjhYdv?VxK|?qkICtZsYFwKeVrZVf&TgT`|MPX?W)%-LTE?3RCq`m~%tH58tmXsV{MN6G!d5y8T2$icc7T>m9|(vuyJcu%&5+FZDk@P@zXW*N)5_ zA~o^97MC}}qnWp7F~u^lR)7G5@Q=|0QP|jDsN}7YK!C&*o+gfp#(h*#yg-sHoYa!n zFZiOfaMHP1EdTq#2bYyV%to7Dpn+}MZ|_mj&*!_pDoO8o>imbr1)wNAV*QJ*QLdt* z!10Vv{(S&l@dWvZcI`BulZd!3>HN1wX{DHnd2f#Tz72?-*YufT^^HlSU zyx;oXVV*fH%=7ajIW?%%Go<933009f5lt!-`w-(*?JZd2ePfeoN*2-Z&bPCkGW_;7 zv;I7G*w{5x?8~88T}<$m`3v{b=z!*K@meFj9y)F9#a~$!Lb3Kgf4=1MgSi%kvxwW@ zm)4o5$Zvb0EKX=C1S$KI9&uSpOIkzok(Oa(Hp%+FM+D`Tl-lDY|1+siM};U7`AMRx zGgONwj(C#ABhwLcx4^o6odc6#GT@Wv(Z%pOY2V<=fir6ZuL0k@AY2 zNk12z4O@+IuMNv^pg3i|$ZvbhA6j(@h#_nMrx?@5HsEqGAZmF}p60Z84VHS+m~|K$ z0NSMOb%*~B>;`qtj0QL`3HPNFKpjj zE~Yc*H>-vPo`*C^aTGI?gp1zxQHh#MyiT7W+fQFO!*d%Iz`RFRICpL0gQ6}a%@hf$ zj1ml5ccX5nLz0XO;X|OmmqmuuLN}((_ftFzq;x zxj?8h{k*QGx?f#0Yyy5jwQ8!57qVYdruYxUL9xFI%Gxr%X=*~ovT7vrFvVAFAziEIXy=UzL(mykfT@Cb za6zTy2OSs~Tyr90N`RGgqOjUP?6=wV*%Bh@W+4>yhLoqw`b(sCp?DMYL#t5vE&N@=LeNYSiyvnN|i2rchAQJC^Z34o&AIIJo>_DvIQR+kBEEyD|UGrQrNNiNpRrbD8=@pb19y)68ARxXNR`wdT;* z_CMU$i{QRqCYoOPn?8xjL2?m^<3RAryd8X$1yQxrAgkfO@$pSI@vVf|{gO7L2iF|^ zZ@t`v#hzdrqps;h%>ePWqs2hK>^pEVCMVZQzS(?ohTq)lyskaQ?Bhu+se^PD4mp$LzIV2Z%_?bpw~B6pLrEYf?!4Y{MrMxJRGziKZ7VPyF^kh?WX=3E+Hw zdfz{&2ik}u?MijR7h(~FG>D>g)kxbFJF3sCG)AO+cEDvZ*k&_DO*oAh$z`InM)R+2 z2vzp@IR55}9_z*WEeS9+G80F^EZXDwAF#zE>0~Cwkzi08%7O%jv|aB%1mfHPXfXZa zIr!8*y=X$YzB%Xfbvg^$OZVTxmyrqIsPv!O76bVo1{Tzm%VI4t1xdR`K-*@;sr6n1 z(8992GVeC}H$IpU<`i~XSo?aSJC$huQNGYsEJb7+Lx67B{UnrJtJVSfhbqo)E7>y> z**+)0t5T#JfC*maaRj)PtY9^UaLx27JH&Q+`Hi$sNk9Xt{<=(TcqyG(TZNc;9Wkm2 z%L`6ZhK~p)WfKv*Si&8Xo~FUX!aX4Ky=iw*O1=CZBD|V2ad<*Ifs?)9&`2rOBAIX6kAt8C2 zBk}Z*Y0KSxWC-y`RoSgZ+sH75lKLGFs+2c3e&Igq9-;gVWevbyLHt(a0| zEH3AEQ%2OCavQHk5>!c?!6=QFV;WMEN>dDDGrbDHLihdP7moVS z_zJ1@Y)TRovwy%k!|Cn!1w#A16TIn0XuqW~y5tPcF5WC9j%Z^@;(fjoalK)1$o)P8 z$5hhOEo`ahQZlhNEFoCZ%8p~%E?{*d`zf(72~6%GyLik`UVtCsrhH{C{4xge=xWAp zwzMc3TaG#+j%wrhmYOS(AbYnzl-FFKYR;#CU(E-8pIM*3%G$_CoCBeakC`vDv0y*- z-u(oEvh&YVf(8B-Zp!>%8kNKP{aGY2g$Gg(!GkH`$MB}}4_pzaW0m?qNe;b870Hfq z>~gh=M7q+`X-x_97#=F;{a||^RmtjlUQSz^b>>xSr0V8*5{mYbBcuh{Dqn@!X!i7m zm|7N6a-3&8(Tz+MGf^W1&L(>=Ec#E91{0ViVUl?4-&*fDB}vRG0@&xqElTfyht$7+ z;sBb?`ttvt^fic~z21en^Pt;>uJnu~4!4S}!UV0QZy8V&KIJdgu7yP=yj`NQw+ZGJ># zNt1d2{8dF3GSXQ?oVbnkg3@cqo7cAiviJAyh(=Az0;hKokTZAuptA?`$1Of|0^IV- z=ab_#AmQ!V=UFgs>os^^AmJL2#0}QKt95M6_rk-rL0fRn%t1!<(^84nmGKbzdiPER zW?(Tmw3VmxObYH;Ih{NXI0|HiwFeJ+hg?-p$w+f|K??o-XJKua@OA;|@&(y zuO_~iFr{QJGWEW_B$BXL)bW;%_kN^5R$jky^0$!DN-%ZO=eDeY@MQ4cHgbI#=OncQ}Rfc7hyc5-u@TlK`1)^j%dG|iDfAV zkjwRcAdU)*nefs|YD_TClW1GRnWsjub$yKRNNqjlp^N92th4zJS@dblHtRlmTlxjd z@T=p=0(*ORE;q()#JLaMt)j`;X?U1ZNW4z7%_W!lm4+ixh>1M%RSf`UKbP-LTma(v(>Zr{g+L&X#M<~OtCxF-<3}M zeH*T6KW><4if%AQpqr8Z4bt>4PSa|vqYsnYii zkO$KQxjzD&dr~(;-h{KEOhf;Q`x0}@?J`G`xz$w~pdwsMmLW6Z!xziZfG7d7%`*NI z^qKLW3#%617TI_6%Kr4gFw~dbOLJ8N(EIZQ<1AHt_Tsp!*~!6TA(utak>`NkbAz*_ zW^wMnyoQ__2nJ4>lWDHC71Tjr%bPBZ$;O}>BxQbC5mhqXo1Ps2s$l_s76Zp3x zkS7didD1Srt6DtNAdTEk`n4yb`O1ntNpA)!I=<*L0h^bnOX#_A3y*UeO26P8e<1gq*gL`THL&Y7*}L>I6<`?8)MmVlRCCNLm!uz7S0oWcW;wCm_C`(*uJM^q%!I zS@*kFmWmqc3CgPASQWDD*1NO7y?S+I+WdfB4Y*eJogtUc!@kP#0O0hQR+C_)-JDo{#4 z5y99@)&NG;t|t3H&Ykiid(lS$7>F#! zY}|bL!&3i-!2-=uPGDr;m|p1udLRDZD2 z&Xb-)UI0=}_agx*Ps<0a)kAp=xRFKNl@Ec@QpY#%h`(?EFBk5nV76_I!m+Spf*apr z6|!zeLk~Yh1hwveXHue zGC_vldZgNy7goF1B;KybZ7EToZ}FMDV48qWiXdSpG9X(Vul~H5zS^oNUO5F#;G%`m zGUt)G0#=R3(e_W$nD5s&h$yqq6%ZXB1EWLH*$`!^9 zaKZ!2y?SPqv9W4y?T6J0JHM27qK_t@7ZnoBCig6WcKe2Bu+r%9PPwYwZy;_wp7$mL z3u`Axzst^a2JT!;Fg-E`G}TsjhyAW zswZ@FO49Lh3MJIxYC?7BIiYwlO!Z?}p3%X3CAe3c49mEky7Cbi>n7!xEa7ZVj&mL9 zuA)~Ch_kqOw%$|sHEGog#b}t8$>W5NCiL5R(Fe+x-t~7|z{waGK4ssi-)hp|2dZ?3 zEb1L^Z23T7LzlBE=9ATb(ybLvX01WX=++U)UTwh)wQ7xnyOr$8Wh z8io9VEr`pY8~);b)*bl7Mi75F@2|nydQO8hW~$x|Se}J)c>UrT20_fNVU&adcCJe2 z50@^%q^^M=NC$2p=Suaa?tmA91EJ3D8lsU-Fsj2s*GUY{O;%UmY9gV)!mkL3Xq0mQ zh6qC1o{-qsW(Mpe1XyQ^p`+SZU`9J&T=vTx7*355*T&0>g{(cDanC$VBNNeE__2u8 zOjKev_t3BAk4T>HeFHdQ^USB{D#E(n6Vz_Elg51s-7#|U@8rAsRqUEuB3ch`^^Pf7 z`hv}7p0uk$J&cPUffZ>x&{D}Z?8ew!ecbVdOkAt#%N3uyBtad;Q+$=m5I z$>kpJLqR{{nBn?1e3bQgPm$a4;mZ<`C6)_AELzXQ(DAx;D{y@Sb-adml!Ew>p>op_ zIxi|(pXE|IBGM<%Ts;Y=vv1IieFw_s-Or;3pYE`fKTabwp*pScz*k zkUPa@1Okn#Wi2uTnZ-@MF*JH?#K{?jT$eOvxs}X+3*c1|K}QZ1<6&$Qo<8-B1N}h9P^D|-)2f&t{aSE*z3+QX{9k7Q zfT&I?q^ypuMVeZ3jgc4p|9U0FqH*Ph2bVn2b-Chc2CCcfKiMF;CrZxfVBOm%A>yRrSi1e%($HyaCr+_4UEPVM19m4W(@Mk^n z4x)$0c;l&z@WY_s93KzoinUBa=%^dKHit~-TOPe-7~qqHoFm--T)ZAJhX80w-ywZh zDrap&o{4Leb592wQuoNJ{&k28y`iUY6DwEI55Smuip_q20m!l$I>KV6_x$a;Loh9{ zok=l0(QOeurTfDx6E}YV8kQ%MwP#j(f3V#ciA_0kL;T_BS-!8URf`1=ffjgs4g2tu zy~EEZhhFS9+Dk;e1`?ITuYSBRClu8CO;&%f5^|XE5^Yc~rvbYcsgZO_@|e2>Y>2R- zu7+IWG1CQ`02nW+ANEJM36cHT1b7#xn1$J+T&}fjvIB#n2(S1^(|r}K>hdLF5LY)7 z?&9nX*WATYkS4C1-8Y?TR>>J>BtzGI5wywLQl?8AHmQx>oT&5}a?5ns#S*7VqRr%ur6&7WqI(l(c6$Ge_4RMQX)w zrNv!csVD+=;?3RGPcMUiS@5+_*N0$5W{-C6IuLJwHAqahUQf5pZRg4yk0zk!L_n@p zY_tncZ>={lY7s0~`!UjN2LG0eFepA*rdDN?Pl(@8cIC@g6al!KPFRLeOU@j#$HWE52 z^T2bIuT(Mc+BPus#vO`$6Jgnoz0VJfMOUW-JB16Yd%oU1|8w9${`>5XT|TaTjq2Ga zkM8`E0cL7C#BzVtkzbWbn^?EkW8vKWd^f^XEKM8`!Zdn*{(O>~ z%N&qJD(f%`E3$VruJO5+D`Ls%x1PH7GIa^T^ECJm;Edh;eJ+s1=C$KAfoU}U?%kwH zAgyw9>m9`ct;(rGeG!b?J-e?@*I0pDAdhSy8$@;Gr@41}E0*9@EqBe#S$bi@-Y$gM zf)m%nr-{)w0y2*A)os1U46D3#zuqYw&FksUF?^03BjpUVe|181B*-!}JsS~(vx2dt zI+nEYyNR-RhmO`h=4J&-vz24z)DHvao?Y9eC?IND)i?rWPMowdh<1e@a=kXETv5k!G4_fn9u9Oi|F+2@i_O%Xv!6~SK;FNIzqP@VuJnnRR~cRo zr>z$cs6AN7mwI|fTJ$|I4Iy|ni_T{ljW%po03Vzc!Exp%Jo6c$d-#59%j>^<|7;6!UMI`Y?%l1M98^=J z210Js@w|Cw+Cs>`D=n+6yGUL36Z!c9t5;;`8Ny70TFGaSnIaf%Xbtk1a~sk+Xiqny z<R8xRiCss1XV5XwA#DmiB-bb&1{NdZ>E0vcb1qH3ukx98iPt)cMvqp!iTLk~ zF{`b!*i!VLbe{atqeJYmQLe=OS^RvQ&%O#gFA@X(v;_SL|Km0XtX6KgUl2pD5eHt_ z;W}C8vP%bo%i6AmB)iHFM}c}T`Q)zf@$%@g=vW|hc4b{ zEAdct&(0`~G?`HHHwQS??$1aybIcxtMyJi4*1F)|TJ zZr_@*5E>M2mh;t3n;Mm4%y%U#LqIAy2T5l@l-?=j7BlqzqP4es@R6u#`fBBYU)owEVg$({;{^nT5q z$6J}iQoY`R%F)~@j(jG`k6vqlC`qg<(``z#iSAiHsrUWE{gzp_aZ>|1#)U8@-5@?< zwa{K2nson@j1dP6vC=-Hln1$NTK@jEGe#|`YEYY2xHS*w{hC$EV!!pB=KYeerIo>!vfk$CvcqCeK* zi{!)ezv5C_U$u~&d^w|+jr>9(Nc)+ZommOD9!De}P7*iHC0OB{MstigH`4U;e4#*D zQ>9gA;K*JJN&oIIqbJr9Y* zSiWvdT{-C-@jdhFX7c>WCvW~xn8*2C20Ge#V`Sc^3f`)ax5h;&5y2$|Rs8SlPShNQ z9U7=@$TbjAyaw0l49%?di?R$DaQr;v+4rP&kB@3bcQZDBzqmU6efZf|+l*I|7s2QB zRrxo=d&euAia*p5xtYLN=A6u9R)3SkgAU-mDQo^L_dHN!bspGbmteo7!ibo9{y@Zd%a$ zmWu2;N7y7W!`Y%eUSX@K{qE_ISl$>C_E)bPm`&T>laxr1F5He$t(gb@P_~jBGi}8i zrqt*wKfjVA!YHQ;KCMsy1LDPI&&fsm%cdl1MEI}2UF>o}<-C{vC1g59#RS9gkf>z9 zg!L>cjrT4UQUATZe0(p=k28f~-BEX0G5vOil8htvz$w&8i{gqWk0Pi*ITC$B52B zS}X0&#-E`*2SI#fJM0QqWFWI5WjI5#!DO+NX=M3zo%!=#=+kehXQ&<%(~>@}XGUY7 z@6?MF3TS4|i`dkj;r!AC+}P~9g4vDD1g<30t z$ihsoml2_V8HrY(3-sD!O)7Zs>)^3MJ<}s4QSCv$4_%i$H^yW#&N%e<7f>o_rG!rh z1#-)~H7r~IZtvss`|;{5T6fgju3fn9TI!%(4tpZRD`ceygSEq7k+^>jAxYT;(R6fW zn)p`9Uh?Y&wH{SjmvzT@#8njPmX>S!3^gtzlvKdz2{}9%_wjbg@+9%Qnp;uUc^;vx zHT7iitGxNJ9f1%1778^yB9<5WMFZrwL~e6d`S~d`(}p?XMsD6OAkY4BV}@eL+@wjEIjZ1)ER|KRKRE_Lyh4>p2elOp-r%JC^qa8&nKY*pK5AH24svTUX@H(6JMpAz?meA|wJzXk1+waI5S! zy;JND{M%*lXAlI#?s|fGjDy3<3UrKQXq@RK2`lB`c3*#*xFG#^T^R<;#}{MH(w+?g z4|0t13?*_>bn?a7s6zGdc;F(@6r04(GDh>93?K9L$-TkEOxiM~^)-q6`8w)%N!bQ+ zOZyxep4|G)o;=Jn)cv$kYU0fFeV(-AuSrZ)F5jxgh>gV~&STE~a1bXv2^h ze%VuQKP!o{K9kdb2K_6vbR}wiE!50))RjkNfE!LHCI|w zB`~v4)25jBLoxz1h`4VC6g{Gt(7h(hfWk;2*uLEFGx_D-b`iG(NnLR6ki^5G4^>(P z+qnqg3D~@S3M5EQ#?H7;=@*crNQMT9=qg?Kxa_VpaFtOq^2j(5n92~Y1ED?Aw8eW+ zE7J%t(($T$*WCM?*oy)qVjsXn-KV+I@y_K zu`y}+u{Z_Yp8hDDPn?@kza+xY{Khtw#qEInvSt^f&W(hvj1Rwbtf}~{TOF`>d3bFE zU8ZR}wM@aVxw?t~70EPY%q8gl=dsL`QAt@mnsLa-5_8&dAye46;;H8P=dn(1uSX32 z7JB%c^}2sHXpF&S6(eGU$-RQ`9P+{JWE>J-27hLvvza-t^ZXqYNf2h{sPq3Ewg20> ziy$G>36I4`B42Ehf6+p5K5;nyCo09Sd5IN!4NTmni#u9=?O)74-ub(u7Iw<_(+^nB z&++MoGGdOxJtqrC9o0Cmb&Pb~uV`Ou0g4xn^J?z|P{RPYM;Ju8P}NOmM#hM)ABg5S zEf3jpk-BwOG)BKwkJ7y~wVI&w_zlGPiDriYPXKoJIz6TnNJN=kQ=272&H+H`J8vjx zNw&QjhvAHbM0pQ*de4QNVCY+|e@T2}gg2MdSzajVH9EM`_=fZn=ehhz%~SBdb!>Pr zXL>v!T}H;g9aO)hm7s`-jj?{xK}4XNy3Q0k!(Dsq41)h|pq{^VgNI_|(Qk@0dlX)s z<{Lh!<}RJ3t_fM{!$ANpf5S|WMJ@OEJN$7z?}~@%#8&KDhAzd^P^FULz&#st|bf0_GFoN1#P& z83tGll(x`@V*%}#I4_Y$r1=d5@vA6#sxL++F(SLbJkOXRh!;e%24T3n!N0K z(5zw@N+409>x1BhJh>PMY&GFAgrUn=#=_(6LM`KG2o#C8&RK-NMt+Jl?SQISk|CbA zInk{n+U!OF&!(H>g!Yx533Ua(wdBxjMJ4gc-P|$c4uezCN-|0@+QL5 zIvEV}LyNosr+(ozen~v$oag)$HsvX5EZL~$_`6$#dmi#IQ?EttVdID11H&?sgKll* zi%OonR_8|_7X-iskx%ni5AT|De$0tjCmyFr;G48+$+Hg`ZB*`7{%t_eFG%uw=Xm!2 zV>Jt|SCd7t+nZ$T$;&PpQ-yQDdxFw?ZHRmzLs%FVIMFm`7v-M?7r1VZzcGRxuLnrI zAd-&1C~!{!IbB7>p~-T}t52iN3%5HglIt#PvjG5nb|D&A(~H+h!Q7j`B-~Ku9Ds;v zJp9Od!!e;K3H-rp^rP-m9wQYIy6bsj^(kKR3^11z+>!n3aOpTKY6UqG}(5L_j24KNXKVC{1zlx{R3B?~x64 zcyLETM@X4P=*fy&Z9E$Xr;nQ$&!(cZ{i-8l4xV4grJT(HSLHLSqV(?|c+rl=i(vDc z+<7XGys{pC88^p8W^TOhNUhGU!`+_Y|D=$?8DEBv>^Hx$#7XdoLCAL+qk|bHP*0vN z1i{mHE#GR9WgDNB$H^fVRY%W*nRvu1QAafB5s!F6y3}5Z%5)aE=j{$qyiP*s6AqeN z6|pM?#>a9go4?5qdefuE;^~a{JH}M;cFT98(iy>5_N6eOi+*RZ_XXZ1cOs` zXT_N`{?{t?e?2-wZi`TZNo*G|9L)Gd9V(OxKS%jG0#kVPr0SsCMCSb2mMBIb_^sY9 z4&-S}0XR{4^e{SPo;_c@@}N%ybBz2xf#@?ZYiR5%ugjr7wLzsx0|c})gtojTzv$Gf ze{E(R6nor5=7Ozp9{ZeL3^5(KNoaTRGM-KOFGkl)szZwSjFsR=yuTadoNUCuQ z=WZwRy8A&d_h}g+3q25!+(bU(_!{r=z3^{GQ+%#ri`d6bT1&n{{8y((9>cO3em<96 zlmI^?L-SB$QM>1jM7Jt<(yGix|$tB!*}h@%9*wrCJA#XPu8M6U&Dyp z*|~r3a~p`+=XFVMiT4<~Ly^Y4r_q%o$@~v;@zsJIv)B_KJC>&17x_w)f-#SKWGhAD z)@-A}!5D#fY*24kUWwrTtVd(IwF8(nt^A zd;I@bU8auR!725s>NX?G>}2hiwV(j2h-XdY z1(^+<(_w{Ff%8c%8GPf9N~2BRGrBTcz~`h&%v08Btn^<5OO;}Bp67FyPEy_6aqHCg z(b6j7Eu7o8VCgUpj$?fabcI5&^kq|^nJ~rUs|n=sc?1?nQD*hnJKn3X2ii!pOaFDt z7>7cpKP`Oh-5@QAuRs4B;B2lhU*i8`O8{-cdlwZF&2V2B6~alQ^m2l=4P;m2fMF)v z4W`c2pk8Hj(gJIeDSj3D4;Mf{diJ9-NtVN-2(ChPa!{ea!b-YCNydgLlgj(}Zu$)< z9cR)?uK$Z*$9_a*Y{5&i(5|^Bs~)@3$Fionqh{YPF(1|9OYtp@zgcUvFx{>ZV&;0D zJ{eIwv{C)n_DkA5>W@A;Qhr(?tQ;$q72B`7ZDyASFw1iSlu-Xzo*W@qky ztGND_qCjzF6u_^i9w0!4tTm@re$9BP4QHbmek?x6S0!6n0YrgF3hp^1)l0!;pZ13C zV*FPNnrYV#?neE?d+!<8G;@E&d_J7F9@4NFK2);I0;i%sA+7~yMts;%CB@70t4Urqaejza`H2@!gI6zJ*Etk649 zL*ltPw#hGs|n(Z8>kxV z6DCeJehsqS$aLtg)izATmjm&(axU5SeKffhw^o>n=H8Yjgr~RVbfg+iKMX9B-|*0uS>y$! zEbqI>5jmcpO}F#LEyy=MkBz)!wzp9DnIS}J^Yw9F>)%R|o#+~y%PWOD`V%X!da@OQ ze6N$YW2#G~{%u>d8$UvT>`HPNziE>s=s@ofBZtnv7Gi4&xA`dksx>K!H@oJlbTYT? zH!RjLrW8dprbrXF9GDt^aSkvx+V@rWOcN~9r8MBxp(vg>h%78NoTR^$es@QZrS1%j z?X$>bz1-TX>fEa-?)>x2#qEO6A_cIPxL<`ij{`pXB3T?4;`WwBbR#gxEkVObi2tze zpjxMMx$K_Q(CDK9?_taoVao4Ax+cpCCb>(l}g) zIbW^X;2plHz``TOI>Q|uRFAmsVr`=I`}inMZ7R&Fx|qI@mN}PQ>yi0%45XWd>-(2Q zxfdE~S+{my{16R7H#a!MHN$dMX2RUPD!Vp;lv)N56n!J<}VmroQjm&Liq^>ZHm zgJR@|?a4pIMQnctjA8=jTcroDzCu)5aq6}z;MCX1M~}7sCtCKO2k*LBU^WGVQ^`XJ zs>Aq1T44&f>?C`{G=P^XzyS5<1_0rv_3oZX0 zo8Fi;*E$#Dnx}4=icZeQzgqkv^=AKGc$_NbGUOaAXLqKSJ%w;vU3J%B-!?s^e5dn^ zJNS3KL1#gk5OV~b)m2C*5B9^^r8Te3wv90HJKbzL->^kr8@HWCk+uHvm@_sr*y`mE zVyx`+mObvt>GCJ6S)C=o!&_RlQAzbAMIPQ`gnxz8C~*HgS*l@?L+;*4O!;{uUiw?W zqHZ$7CELWa+!uuznwWwUi|&zOieM)Cbd3n^G=^iUvQ}@`N1FV z0j*Dlx1s{(>xBo~{tSs8EQ8SIKHt?IJL|qp_&-3(|NFL2JwUS>k2+g~xdHi8TbsTu z&ssR_)A(G@^np&I=J?0#ENf$9BWAQvJEn%+O#oVeSfgd&LyZD&)s!P8vCW2W6xg2w ztu*#Slk!>n$v-e}q(gbnkA>T$2{8^1Ej%T^w}^Kd7H2BH7JS9NHyR@D9a7@@nVfzUmKezNhnk+EP zLMJ61OzB*{zj(9unoY2g`%3oPai3;WFwpYjB;1aYJny;P*ZCM8oIe!qO@{W@47y3C z_O!W^im8g{_%(1pe{nx(j4q+E)MVTopBlJhwqo;_=lhGv_fH94)|)u5r4121O%=1^ zp)BEr6h0y?XV9hjLu_3_h&+E7K&rds)Vua_t(!i;V21QXv!ddKVk3L22w4H`v-&eNhH*YrCd=<2H|E*y zvp}Ho)aC!Y`(My_;68^}qEVoJV;R!75ikZN5+52g6~k4L+EI+4)EhQM+__Qom8rkw zad(91jg^Dpz)=6+b1|^*G-XsL+`YL+56%wITRCjHR~Z@8!wMVYQQ~D*RG}xMCSxI`m&2 z$)8%wZ0%v~?A--G-FPdN?#qJB`kKuu$p;{C$x12Y@2| zhmKC=X`F>W-JN+m4?BxOnjvGHqs-Nxpx&PbDj>W2*%UhJ|Gjxxe+3i*tTg(an&HIn zfo-V8cJpc|B9TJQy~WMHm-1$+jQtS=L+Te`e_Y2dbvG`s0uf*ZZ-(4SoV1(w*z>-U zY(5CGBBGRU^;bacCGg7gWCi?u2Ry!)_x+!&EOj5|W=qP=9IQuRORidi6;R5|p9UnVco1pf;133VX{6r<2Mx4Suu~*kPgi4b*L_ zV5=Lu)-n*WRyu1W7W+i^RuEqeL%ci&t4s39iW2S5UV0aj>LY=o9!A_VLOgyEyeVjS zNAE2Q9Ez}6TKBg(u)V`K()uF)lTm5ZL=3$E#hT#x2C}SydRiT1*Htjq{x6R#!9$=J zfW(zsXoq`#Y}W**UccPugMT$))~=5BDsV&77$Gxv=F7E@(lJNpI2Y`Y2D?O|@0{~A zu0Mp5)Zu*neZ`e;6NB~1IypVP=neYjMFngK=~_$>of1o8K+mPkAsFz_l)ZXPN2C{i z`A#^*p?^kxdvZo0k9`#I+Mk5L8x#pbZ03t4GSQ-p_3?)vG1j9&qJwZ3}jpCww zt-n_$L%$cvE;Hg36}GGY_`kL9?7ldGrTVQ5^vSBWfr*g5{rm1)(&@9yzR#8Ko|i&^Yq z$|_Jv8AZ#{&$9c5U<@#yb0o3V?7?HGuj4=LBfYKmhALdY^?PiWPDF0(oajtG-7oEQ zND9?9Znb}8JXR$&nAI9^d|3XJEaUvp!8iDuV6#6teSb!x9FOZAyA<5figu^r4=K_g zjl3}v7JI)dY`5OpSTHUzp}Chd7CA+Ka5Kr@M11n$rPnGT6OG^&!f)$+b>!Tye-8(# ze-LX?9DH$8pj8d=diH}Ch_@f4lMt$wID-|sdCz?sY@FU8N z#f`r`UT7cF2QPX5+Y|#qk^qI`BYQ9=BP<2&#}Cj3peV$#8b2Fl@kFU0MX1(MLB&>r zU}xt*M&#H=UN=2%u1HUOR`+ApM6>OfJHq%s) zo21(hT$j_k=$H&8L)W@rsZLUJfA1M!W?id-okZtu6uH|gDSdhGy4$@oJLWtY8qXVD zxGk0gj$6seOyPchgOHC;U*X~Hui-SYTC0fIG7`$y(mOBI-WEvs zLiiJY5ovEqb`m*Fr#k6l)y%XA;~a9jbd9O|Q#n42;v*+(+xf;YoR~GojgPlD2|)lCKxYOE3<0&ws!<lSXm*GXRLz8im+aoF`J-6~34JXd5CNdog-<)f|(UE2M= zmLcF&eEV_Aq$I`cP%w$XM;`jPmp39-SbqYY=q~4fUslcV??A(C=i@VOSEUcFWPP&Zv zJ>&NA^?!fUg84@3uA9g^|1^<6G4K2HPuT1jr2^A6kRvB;O@t-Z^H(+oG+ZCYoXNxd z$Itd#XV*d%JM#TLM>hnOCn7qtxllCxXF){rJ{&F`W0-In3!Xv<4^5O~HM%fEdfCg^ z_DoxzlMpUr5q$Gyc}8i=;==*Id%Y(ir8H`MbdlrMEU|OLxB(WrE zWv}jy>Co>H0?%(;gEV~q4$?#*(X+}-8^c+$-c(#iEn2_4cn%xZD8X%)MNLg|KF^*- z6>1N-KDXKOAaj)uIsIF4O@oSI3;a0z%i|o7J%n6C|Gn)Al2E=8)9`P;(~6rOqtwYo z5E6l_r4X#}d}}R)D@`SV03jQ)vyS+h&66%^`yq+QfW=6ne61~rU&v}64|`+(MbGOV zI-708E*VV8cG&dZ557oE>`f_lnMg1zp%fIshlg$Hod9SW{o=q3StPCG!029i7Jk|g zj1aClNlN`W3fcW>v9#41p7z$0jbSW?UY>5q>?74l;+*WiU%enK(-E|?o}WbV3z+Fzo9F`nHBiwlg;<{YS^avi?X|UCRO&o zGTW2&0DX{6QMNA$03uWLvWErBY?M@C01h>q<^J1=$ZL~Cm8qj2xtD)&-;+Wmg0ZAl zL`tXMlg62s09G~muz!y@20|%MHC|@H92gjgVZS==#Q{@pPQW0K!YMbu@;k6Tn3SBq z1-K!q0K2#i!EBRU%c)b81dha9C6@mATD{4!h z#`5G;jtcJQ;6Q+Yj)V4XMF7Ly@k_nKJHYi(&cGP(^)hM!3^W zHG;TOc_P$kX3^*?9h$nNrs_6UbS7QYZywU@q>bJq5O-x%MuQF+Iu(1cs(KF;MP~^V zQ7!Hgng7;%ncf!p4(bP@doWVdu8%=05cXq4#4S`pae3>MWqJ z#q!{@5fsr6==m5x^w)Q{Q+6%u@e(`W(~Z5>p3k2Q`C$M#6zpl+#i7SSIAQdf!cG8I z+v+sAW`VK)OD|gxgFJZ1{Mp!}4f2l5+9~Ja1IxChL^;e%gLfyOT2M@#O+1#mW|;n# z&hi#pOv&Pq`{?5rWuYf4bbl^zpV+I5%R95CMgg0Y+bHt4%yjxYYl1xDQ>1KAFI7M~ z%UhU7!Fqa{X@E(Pa3=$G*2sH)Swq)^Whp+#yAcsQwQLYnm#;+vbn{@|fK=F8$19Ve z{%cSI;~P!!l@=RW+Gh%%o|A!jw@+mNZ{;Q zf0^I$uV;@|cr3|3F%F4x+cE=0xD|kN;VZL0D84me2(lXxtdr>N0Rn8yEbkk9xL>Kv zK9p#W8f^yalA!xvYp^+O9Myq*J-P)fLLD3S4?! zGY^aJq|LQZN6>=5(YpXqhA1>8ez#Tmc=EDqO*_*DUh&t+FPc!OiSOrl+A!LN%*gf5 zD9CPHH%-KE=TTuq*9}dt^#`Do<#Wx-bqXW`Z!FOL7r|id%S2kUw_uVJI3wcIM4&-& zMcK`(E>3OLJF$0UkWO0nOxV$rvJ8OR1tFZ#{5L(?f1|?Gb>I;mOciZm)Xf4v%*E^S zr;7t=@jivU{MXk;2mE^06TmHQKS*@7uXJ@osO@~uxV-ow21;*kU0UODXBo7Td-*#T zGd*`GpIov<)#1=JwG&wT8$m{uNaheb53zmIoq$!K2Y zvB6@Z4#m&#`YJ&BiU*(cqJXdcF!fhB$8{c_wp~oOL8syX`;o6Rob?7?4qvYw2)r9b z<^aXT29QD!9D#tyB7s>vi-||;$YK0e=y50el%k{H;a*0YygcAxUrX_7rBFD;NoK41 z$L4XkQn69_)8Ae;7uSCPdrbj92E1^Ou1W6Ej}v8k#+6o54KUOiEH>?HfZ(Sp0I$l} zQRy(zubE4J%Sn$E$Zn#@u<$jhKVFRAY5}BjV+1jmz+L%aS^-S>t*Szr4{OS6d>!f? zfM>J{2axH6Hv!vSo7u)^*fpiA2B-c|6JR$G{_w7w^%WPCrJO(RktXnd=a_v9+W0}2 zL{ITgd&P-jljb{4c*WuOUd*h+6?$p=#s{%c(264{t_H`{9-eHi`6nxFPp44~mkdrV zu(2`!4MErcG+_xwM`eU12D}pr`e4?l#V9^XCDN7yiSjks&FAR11LU9r7kwx+=eB(@HuSBR2U>OinX8Tu_ zL(C_GBBo}*XX6v=JTq{+ag|9SgB%d_8bGF$fOpJzEQ;_-a2k9V^IAzWiq>Eck@&|W z8Q33IoxsvD>nff+ae2@qT5ep4IgAflZP^JacTx!w<)CwG>~qTN{?#;hAOw*@(fimj zFVOb}0mnw<{;<;g5Ko|Ij-y(SdAI-zWqCgJgzOIFQR_jedlakR%=ez6*f-@2iW|W^-I3#2CrDfc4J%P%P19+%E@YKHl`-MJc<)O;myeJkn~ff^^no;g3p>dif3DlRJ^sSKfGDoc*K+Owsoy<1O-du6H=t8q zT%x2!|0Fp|XmXS{E95~`dK|0zk)fZ2?><3S`=C=9Z|~CqW$d=^i0QwrIYSQK4O(>Y zVO1_U@Fp%I4@RyRiRitOb8G3l>q$t$v510Dh!B$8-4HlG|B}&C;uxStJ#RzoR_zg= z1@KvInzm|Ph>;9SK*C5J_%(eiE-H$&kP*F*2v)36qBCbkLH6{C9$ke2R`^lCR9T{V z`&l`^@|qGbX^#fvyuk=mvX!Ka1c;bLIx!Q#znJ>!cYBz(7(62vj_ViW_%XanC-=@) zWlbwt%WF(QaDW7UMICxJJwG)KqFGJkf^uN+mfP)~#}lCOQnB?Qu5a4>sN^~&$gMoW zr>w(Cd9M=o36BPIug)F3C(xc&-fVN(61%l!y4zB(z5tP%qMUSZLa5WL_*C0>C^DV*OGWJ$|Q$)(;q=O z1{ifaP;i3Sr)Vu6`@9O(qS&JuEug|?(;l=wdKN4=jpvUE%!a~6aV_{fu`?B&(G&Yr z0aHF{L+M0F+tqvXg3Y6cS5($>P&{~ctEWWHzm^MpA`ig*fDqFe8iY6Fw4(MPTgf5& znIQxL7!YY=#?9PW_tK5(5sug>E@&NO`T{sIC9D@nb?G=%_z6ii$ncRMQMSyX;Z_hU zP>3l;+(J;Wuq?kh-kVudlny>$VrQp9FNk%7e*pwK%w1SNYXa+7C`y%CIPsmYg?rf9 zbmzOdzqcUN5hftGjE_f51t`T)*cT8aGYRZM=@T8wMHG86yPlRF`^T52;8gnN1?cLW z4W~hLB}()Ja{_rQLN`J>oB2a8?9?D=3;6lNnnGjaZyw^Amfy#R_wXrgrVQ+(f6G0+ z(I}m5SgrdOhXHFDmJ%1U8N&dk4&q}o0g?>FYaG+T_ZmSb|cq&}!S`~|D3*a!ez4sP1Y zaJN`hA1z8+@q*LDAZnn(&ZD^Klz$nIwWCPxKSU|_$$3OPR}icO@z&FiaQUG@njTM( z!F~+5^ED+UfVay|bS>N#%!i})6cM1Q|4PRY*hlq zE3ahrcf9BJ_Ma+E~pWD_F1P zM}jK&1LLs^!`+V$xSfXVNVC~$(D!I;(u#XF`g&aO@2rq)+aFuJ;D(AY=IIaL*%8=cFG}f;pOAi%8Hh(jE`Iib=51cJbaN8>n0E(QarV zQ-rShRl|R{04vO#8U)A%im_XuMHlhv{n(oixj&mr9mb`&kiBj@T*!J!CJreiM`7}K z5h)G@sUAGKwLV1^q4MaN!kZ{Drn=k+Jca2AZVb>%Unk-57^ET1?4X zB;IH!E+9)wDodW+FV_F0&XLmaNMJ_sV*5OACXDA{Ai#L#61|W?(tNVfP=xOfn|ZG6 zs4Y-KOg7t`@(nrn?Fh8w%f>-Gt(`%5aOS^kKZgE0K{A{eVAOe||A|<95(i>12C804 zZ-4(#VlWPHv-ZAN=2fbEhLVL%`%Sw^M-VSNP_gWsFqe4uamHl+2tNXYt2^&3zTm<; z>l9TkhJ(HX4W8SeQS&10xK^BJIK9BKKggR%eNhn|yu^(t8hO?{sCdF^L#t;frPcc!X^wDQKZEZFo?u6>=XJ+%KposDvz|I~5?KdROdZb$);18wnRsq$y=^dq2i=kY^##gd?1@7EP4s{MC>nqhRvUi3$KHpnghal*qV4=L>KuO?B5@ zE{fYTH;E}F?Q>Hv`Zu4k@Yf0>G^@+I1TtY%J6nzTNT2+F#V+r|IZ$G^bUQQO;s@LW z*sy*JwH?&?z(t1d=CuPXDyr4Znme-hywDFCRnd53T7K1u3=SWooc}c0d2oB;soeS+ zZu{p}BJ$fPc0ZWbJCFN?zJBHxC1ZRU3eRyuIKfktoWcaFzOh_ZRM!tuM5T=_t|@mP z|4#6#8maIw|L!Y)E-BzC@Xu{Ow%sJMCLl!8Jb6G`zU#^Boc`bI(027aU_7Vp$s`v@ zWl*F`t{2d6fVr;OT<(4N=l{-cj|RbGWeTJ$WRM>DK27Z0ky`Fv=!eR*E<}0Td^Za~ za0>N7S^Yn(VF_>Gheeim9{oYQfvI4E@W(UWt+u9$X-5q=YYjgmq_s~cKid5h+u>qER!C91Jv5;S?Q?24ZVr6_{q);<8jrx-00{_?O9K09Ql5z>28ljYBuW_)A~TnUOb+5kBaZ!x=FnQbA)=0dT;Ij z5q%Sde>z&bsPy4+-wfOi$hLRM3m`_0=Fz*=ALr3=-WNxB(hmg+HjAM~&)J4(Q!1rw zKqMF3MS8hxhNY%<>3v!2-r>!Fxd_ESeHs9T^lllT9xvCwy%O!&FmtVpg8Bv^r|K2@ zz_%11_axv-92EFVESjXwf#Qb!pmTG3n*zW3V(03zJgSM@?w3Puh%%5zUJt-X(O&`v z+^$h2+@^z)oID`5#9r4jy*;ekh-+i3$$+)&PQW>&DqTe>B?=vLa)x|{WeV!)bWKbSEbvWWMiCue2Dr7 z-MaP``pF{wQ;Ve&upxNrdnxHM?&HIRuQ4iy649Vc*<7a}5M{Xger8D}WP8_5A%{28 zQz~poGE7S9DzR4JatH5Hr`_cnHZwwo>>BL<4`Dt0F5k%ZRh`Yn^-SJ*v(<1<@o)1^ zl-T9BrLg0xFXwWfWKqG!a$`OJEH^Q_{RJeoC|blpj}UH6%)*OE$PBXm_LUU#PscdxH5k^eY|FDZ!X$yV4F7cMwztSB?VI0Ct_1) z7ccNGN*39iZS*T~aIW8#Uv!|r^=M`17yo4-D>4Q2BK%c#-K7{3D6)Uvbe)50W6qn}#NEkI2s8@ypQ&$Oo`pQL!|2nhi?e>aWQoe62^leqZnk2HE%`#FFY zN7%JjSDfr7@Rp%_b@b9bIDf_CpS(=~X>l2jAb&K;+V6QPb?s*c!UN;qX}Ax>L^ZDn zx{C_Bx1QKXz?lQFQ(;5iIX9j*{{FzJ2L+L=PXkKhm}itLH)K{bA8-CT0$xV*mZ7WS zxr~>ntnpZ-EeS|Qnn~>7S#9a0kc$L%@6gb6dFVkg zIl-@MUmT`(hCkj(4&7iv7AoKQ5Wfvp^2oy#fc#GisA?+qhxR^5xA2_<^VM7hN)yx^ zj9aMn*!C=>m(`DKu*l$wg7M{s%Gv)^1@>fIpAH+rPPPARmrED}IZDiL_>tkX<}1#c znK)4QB}nQ|&HJ@9S<_wTl31d;3!36^Y4OnZYeL=JT$q}8^o8B&| z#Qk_gZ>X@UILga|&3)8b*r`tezyx?2V!ip!VgeZC&v3!8teY=EJVWhbNPOgJOT5)y zaz^I|13uH?1miG=q7I3&5d=u^RR7I#03Rm>wI0a4=dLXmckYz}2 zZkGZAq~qK=s(OP~x(<(BPh?iyU& z#U}yoRz3*N9n)kkF7MB&*0-Lgc~v>%!DXd(e@wZ*2=38m5<}kJoorSxihva6lBKG? z#-Lf@kZRmp5Ctrb1GWev3eH!u$~pa66wQ?=gCXG#AQeVHwwjOW1l-WUdF@`;#!zS5 zO~aP&ztMylvvX8F`I?+AEjJ&xVs<2BdAVYB$#ZS-fCZY2D)-(+Kr0*wG(uB#efwdm zTL9E~==RjK2I+C=J|wmCq`c+ui#ypBmNJZ}C@1hU7$!`Hmt@=uXp~{^cF8SPLxyD6 zN~En2H|D!qfMi0~dB?xk8s(Oow@M8i<0BMDL zzjvPd3%XN#Puj%%YOKfi_yf4OwXFm!Gk*>C&UU}N+V*SP`0?NsBz3E9UU3ufH}Ksa z;dUqNymahU`93t<=CViuD~r8`7{WzlB~;|-B-H&@w@A1AMw(8hudXFN)@;C;SNa=s z(q-3OpD^s3HB2g0-#)}k88XD$?ZLsU%ho0&OK3h^9dFAzHERK+!FC7C1MYHLQ!2TJ zq(`(9a%->8qTM`o{s+2^xl70jV~FtXGB=U&^=Sk=QQ|opLf?o#_OLo|5M2vCt{Z63 zJsA%OwW?C;AyoBh4xnb_#UGAtelcteJCt=;KLw< zWTe`91JWzx0lTsApi~El_gAH&`onsHk@VW2dKLekH44~vz#+I`DR}K@P6?PnOov_s z9~`(s+VfvFiDuF-?FMv*bV&A{EKT*#a++VwG<_R(yJA7y_=^qpzNm5w4e?I&-}ZiL zoUu{#D;!f3H)O67OmPRayN37HGk4cyM`X9uJ)}7Nm0CO)E~yhxBOuJ{YT0dz?2G>2(J(PK&Up(B5=HWEQ$*PB>A`E)L~nD${gMG z87-T3h78U_>kIEDgCnx=IK1;6)xM`bhX+<5Q3aY>qVdcz?&JpN@2S*=e;Vk@b|=PS zc+~{a1dYi0_ce4-@lb-Bl{iHxBF-d1LzLPWQTgie!aIzk24^bf)=n6ZP3Q)HE>01p z>QhLiZj&a9%qsBLvPqn~gbkfA9zneA1ICIi?ZO~-aQ#~68r27BTk>2ni-J(=A&31% zP}FlyHI3?gkY>m5^uq^P*QtAsXw-AzD5JP6m^xnp9@03bawN(n;k`^RAfEmhCk3P2 z5`Fk-QgYz@?LGvq|DMzvt;VX$Q)V-@{Gend(1C(Qdg5=1N!6y=FLMY&qKsPj_Irg1 z;k6`}IPZI}GhJSh-3VQsDtx40?2-nUTHcr-S@LFc^o+{M5+0K6eaU7Hfkif4^7)1W z;_JG{&=+2Mo)>^Y3F-lZ+gLi;MSTumqgOBtb%I<{{2-%ea|S#(b^8>K3-aFNdy1rP zyY)vGrYn*pTQkhCG(HON=Ji;%cAg$Iaxeg)=i|VJU_gPHM0tH2a@Rri*tu&2*W7%< zeAxWmiOWgNI0+hOzQ~4c=sLi+wrP{ss8_e#jWc3sS2N3jm>aY|BJ`9OhJTT(01J6G zD-v$2ZQn?QXm%a6?*;=CWQh#+vsKI0J1dq;jhNYXMU(ondiVN_J>PrHy@4ge2Sduc zjlw95?A`Kn#-17QP5Dlf`k3SFHFoP40p6A%UvqK!co~9AH0@gC(&F3Yw`**W^flmM z$=yA1-QCD>314F$rtQJ6KCK~q2$tDx4Wrv-Svg&r!pgRLzdD1wSh{j}>k#Q6>q+S? zjJy8~g=zVAFi_JggRuR(BHNC+JPBU%&s4E;TL$p9wN&qK`zb+bkC#rObmvBIhdr$l zKHM61OUxeD{=0O#3S>V&cVPBjJFb^@WbQfMB-Gp%yu~_-6L3%pRe)ss(|OLLq29}_ zYkrE4&yN9MrYz%JHeAZw<+6F%bTy~`@2Iwp+>qb|hgIvy|62CHzNVycKOD>ar%)r$ zZ(j$cj;+#sng}vDmTP}sOqMuo>KlL#{?*8Ddf!&NtlkzQJPs1De~V;ysB!+zR~($Z zd6XH1r}@dS@v(U6d#JHs?a6JBt~{lnsejsRTU@JI;nxDriGo3uSgF)W$=er$NyL$p zNnf*RUTcxXh_0rX>d*?d>T7?QBo`RajBaa=4N&_he-C8PnyPn`FjYG-?uTn89G1Za>%Y#w`4Yn0ncOQ?A0$2J z>K#yiK#RuCFBW}_QiP4OpqEeBVc~pUCw1M7Nw!Q1e^|M3ZZ>g_0x()Wb8)t)327i% z9$<4EEAM`DTkX3vYe2$3rucQ9W*N0A=OXWQqdP`M@M<0hER6-m4wb&3sdp6uqlM#6z@D4G?L!ZkaI0qwTEs42eUqmkk7b zB)}9-8WpAd`D#v{S3=`Qa}+%&%4KA_rIH+K){cr9G$1NO>4shP*Zd1ogbEq?ZMF7yHWg zf*=S^P}CXSLg!hIJH~;Q3g4q$H1D0)Ne*#t0`b9~ zDu=P8%HNQsqw~wh$*xaW?uT>*W(DP#%;m&SfX+ZLKl5Gl$5-u0y6qc>zfHkK{yq8s zo3%(;=*{M~8MlUAMZw%SZ^ zdLc~-tMNw&;{Ei^M1#K&?StyiV}dgfTiM&h%@X+iMW_>r5u_MW%jg~#g3nu*K|Z=W zqqMD`3}&xRMMkLBR+SpEhyrGr63az@!AMsnW@!YL`4`Nd1?_Ls>&{CO7+lrDhz7DP z%}QW;aI)6DwDM|Y{`t$I7v0joT12{xVMKg}wYO^@{LG)ssKd)cz6slZw|Hv+a z`xZ(P(Te z9`Kk@Gy9w(`x)G0&T8qRST7yWUF3(#X<_3ptoUd<6x(lxr%b~15!AEjqS6Yf;>7#}r zxJ1)_^o3Ul-hDGc7E;^~R;E^pVX`6F;pZJ7*fyi^q?}0MONLjq!YDkLD*>mx0oW*u zxh$mYI}1XbZrDBUz?|@#HieA8A{fHwFHX>l@dR@OB$CsiareFYIzxt7%~xfLSR|MlbUrHhqZ?2k7y>YE^nt6A!<7L0uOKvsNn z6zdV()H@6(KzMWcRkewRHN@kMLu>?7ZRg!}x4)Co4t%*G<{Rb?^7(sfQp0#dT*Iak z;B-*m9t(}TQjf#!9fWWZR^5vR&3GRA{+3N;ixB(v#5jF8^V# z_}5%F`JjfyzPw?aeMz=cfILPbt4GlSF!^f_AOeXy~-8 zYR8@X9`Jb?=%Y zjAyDYXe2*S@$^eZ^2a}y=r%?m`9~0U-#)Kx`sAh4tVSo8;spol&yD00z&ggGZFPcv z?af((1qw3*Vt`$QbD8JE;`U28a+M}XM$$GW;%Ce$L5+q&GPO&sh3G65SWlusDroEMLvK=Rn=j5yE+v*Ji z?7ejwid_Mg@WSf|#5Um&cu7haB$gA~AfEWFo)SzwGtn-$fBU zIPhTX$4L1HyhCt6dj}7Csxr@LW&SU^z5|-=KI%VWhpG{)MwNuvqgtEP7AsUsQLEHe zdlylvV((3?s@kJUjjEz%jTS|1N^8~L{D1n6|MR|YpL2f4IfH1EvD^+nt1V7U4Dh!t;ImGhAY1m}#m!*79A@R_~+Nfj^j zNyGM)-TRUbK38|l6mYaFWi2EI7VTf7^ zmBzL}4^E9H0E#JS8piqDF%V*pOgaa&>OhmTn$$Jy*ILWAhe)zwX67YArIzr1iTR1$ zlQi)4nc4$74I7oYwB(!6n>%jbOBaB<+~EPbB9Q#ODkPwuY_Jh%8!(0lp5lv7;sK+0 zbrfI5UU9Y=3BGbbqqM>t?IKt0EO1#@^-Qqg?u)#e0}v4}M4RiCB?=PALaWRG@+S;A zH%(xy+f?{liz%;#ZbJfcG;=b2;6Td^hSu*q>2rGzx`$ZVY05`r;p2I+9G!i5ih0&i z;Z`n@N$Ep`DgxMFqL-!DXT-IU7-lTE8kE#OTX;xWuD9m9`K(Q1urEub z3?N5n-P@}Rct(iuH~C$v#5>SDzY}~0WOFvWKAW3_(yKH@&=%T$0=Xi=llsP;&ja1K|OX? ze^u^344vfo5cRE^SJ`h?+`Q_(DI+rcj}v0bRi0@WbGs=FW`?KN4pa^e^_*Iv|PRgU*mr99>KOU`$hIEO&{f(Uy7xGhWRMj zZ0*lnwiO?OBk~DCghTHkG#+7i7rn%^46Oj&IpgmKg*NC~=98!ihc}?VJ<9eO`u2&L z1ULBjMINn^R9#WM2405zI&f>pcygB<2AEweKt%}X{MT8gF%SjBuJ-kIB*g4~N$mFH zpf;Z+rcpjqNx3K6*sFlmx`d=UUx*&3}VMH zzW(-^VD_=7w}souVv#Yco$sTxswlGtPgUfObzDf%?TgI#($0pvZvdTG$v?(8GtK!v z#7Ebi%Z9nknaUlE!-y^Jj|7o=Td-BNcIo(oReP0A zy|P#BF8i%d5k^5kzz@nleEAMv{E62mw`X|*zbz|4g#AHG;tI~!K`MrCep_s8yq;Z_ zKFJ;NaioY_ZcxTcUyZU4nQ<9(&cX|4n7nCvNF+BVd_bh+<|To4R-q3dHmQ`kMox#D zwFH^r1ZOsu&xy9*xZ<2Oq@_}cCE)$Ig7=g@W6yRz)nvJ?;)3h$GfN$$TT279L_gZU zdq;yDfwNi5N!FGwIXne@cXr(N-=#CDkFDSL-oOc8q|SSlGiBb!$Aj*wsF&MkhB?G= z_KiHW_+GIVcH2z65+r~W-Ova1n&F{JD1Bs~1ueFUwn{Ac5kU?f1`ezPE|qMGkHFT0 zV6qrM=W_iHCEU>8B`Do01=Wktk1toxepdF+Y~0hs5bP7@X^Pl*tb~)scCd`J4`kB z9Rk^QBZe3>Ztgn%sg_H4TQdFJ2^axo;I{MwHO-tt&k)aDo>ijR@@>X>y50dsSuPTx zC?eaTPKS+yX6^)Rm$3rfh@l=fDvDLnbvz(ah-TTEyp=7_x^wwjUd-e{Kzf86*JG$K)?sxJ$x+Zi|+w4gqCn0`;rNk!+*R`$DZlJ zUUp?R#*5RpHcI!s8}Se}2x>dpi@e@xE+Fo4YBZk(LO`2jY_j&%kx`z^2-b~0AFGz2 zJCO6I4R35#2}JW>k!gTJ8g62&@ysIH_{VMz5MqY{nj#0@sC|AF85;Q-pIBA zcp&V>E10=fx4fkIoBXql$!t2Gg4^-Uav9}nK*1PhW4}Jat_A*Lz-&6i$o5TLX!DJ6 z?zjidAMnn`?DR_?GQ0AJLD1jCCbs(s7Jp|h*WiaGO35GlIb8*4xDM#txHuw~*$;%r zO69nYm=_y9w=Lfq(8-Qi2jU7D+?!`IKf=`EUU+#obCwtJs&L!`h2I^=e~rH$`|q?d z;9%yk2#}@>D-j`zUQ&Tp4%K`*1 zGcTu0X|~+Daw0^Gs%=dyPmop)SOLM)4cNc@Mj!5a{dzD;jjPn;55HUcyXS@)vtTrn zmGM>FxBXFC$9$)`q#4~zMMxO58kk7+-6)z}VByWAoqgqrl|MGa1jMrD*}tk2w4AZY z>{YTB>-kAZ9b%Kk(0ib%6XDW)HE<^rG5ZFr_bf|l$Le&hFU`UtkWsYkN84@YyCr;N z(~o4&&KA<#RH_=21ZrKts=KtzvIdTZ4+Yn}a1B>H{OcA{4Q)lf2@~gM#dNfYUp&o{ zf_!b78QbePF_!w+Fu?ec?D&j@!-)%bk2maI3rmM1Qm-V|KATDU=J7E7x_EL+bl7^s z^u(E*M~AiTvE4`HB)(ygYir(PM`scc`?39_+u!U9EB1)|vtIQev zrn3piI;nAGlQCQmTaDfsnW>5KOOjic&F~LI-uf=NVX-g)mR!VT?X;)hfj%CI47&N@ z+(K>}7oANRtp|J_#!^rQ?{HuEcgv{^@y>8b?qqgVeEi`-BuUpS_>W2e&r4w35to+RnR!WPayzY-Vw0%~ zuiSEh?ok2dkuU$({ycoxmZ#YRB5a!3upiAgjL5sUk^7v4$|iVb3^TEv82MJuowo-n z0YnoDMYOZV^ER#K_)tcYI<)u8J?ai$$kf8mYaruUlEqZpyQ$Xqe#cPE5^RupS$Y_* zYDI?K4a;Ol(gW;ldbK-kGQ!M4-@+T-ND)z7t&X;_RchpG#T%o;TRokNAgaPxPZSf_Lm|8RnnvM-b zj*FkFzmY(GNE)vBJ=iW7KZ)-ZcKyZM9n`bq=+&RdZ+C{;dV^HcGw$L5w&CH!x+}y$ z)=)h5?9)T;PRrL@m4xWdjfXGO)G)VcakMlu(_9r6eDtD|(xs%$lA)$_B8eCc@+^V>i| zmJLEdW0w5ZuYHQBv?Hsnrt_v%XHRCvGC;L|b?mFzW^R=)UwX=a*K=2H@eXdhXIesz zA6AgEEuw6Bz^tCtRH-qzq^^8 z%HCT_K#n&wrQKZ9H{W~8MYV(GfuSV&TTj-FXiwKMwGbwk?QZjUPiQ~DG6Q82cyr+T z?XJChx*|&|%V0sDF%^>Wy;$aBf&YKG|5m6 z?*xz+E!(@z!hQJh=Jdt>^3%qFGyhE@^uFQLH`ZP@Re0TcHJyntKKyaq;^2qCnB3o| zT#_p6MK+}9d8P;W0;-(Id*LiP zLDkE@2&D7O=%9d-5m#jV?zF}sp~`F~j^>_MA3i4iP`Zo^cWg~J<_^ean0z*0ySC(U6)HI>Fdx-ZMab7#WVb+cUT6w_9C;noiFy=ZT!Y*tlWV6l zyF!tO_Ha}86@*tYtb{lH{0NkWoZcVV{fB?_k2PSn@>&h>5ER;nM7IJ#2%r>$#D27t zQBc<|`#(|?uR#sD(sF*jzL22!Ms3L-$Z@xOL)8(HG;Xm#yklRIG~o;9i(5`;Pd1Ic zqJ1OWx&7j8Lug8w{`z$s)QSG<+v3C9eSD8wnHGdqP`}9&r4?Jc619as&MA+!m1O(I zEioc)zp~C~Z%zS)5?SywBP5XAu3E!&o=2i}c)Z$%O?3=`K=|v5a~L$zluG$~c^oGe z{D>Ae*cKrNv|D8(isV0WUtU6nYOwf$%}i3Gwkthk;8+U`?F>e=QywIGQTJZ#8;&RQ zD);%}mjOMpxbQNj6l`c$5!y%J0u-dH8}&`5??{14dZ6V&c$Lgrzp{H>xu^DEhf%&~7n&=;Y^Ot%bUVyMH!AZ zKgUMlADQ6)QIlRtLgyhmvHy#%9KfHIhJW8+~+G8sp}f^5Xg(4P>|koJb4nA$=8&&mH#^>Yo2Q zpP{r{lzU#|UBsDTYV#XXw*Z~1N!j)kr(rSp+s_nWMVu1IpHUm}y8&4teit4xLArG( zb^wDw?f&Z!U;b)VznL3q6CU`;?&w=}2R*Y`psb$ge=Ol2FU<648OT5#5bM#37K^}> z>n%E(IB5`JY~FuX!Cs@CZBW}F9q4)N9Us>9X`*>-{^lp8jNs1`!a$>Exc~@a5Zt=& z+nmgg{MKk34g5Pa9u2V>$>eZ9c7Nmz)|>_L)a*- z+g*p|>Dn1~i-1ZHyaCl`-WG@_kQMV5)kP@+|3Va>N)*K|yz22<)u6 zh|a{(q}uS|KWxn9wf}FurJ!$C3QBxTjH1vbQ8u|84BFsorGsQTrm|Q6g8_Bsf(E*Q zVy8ab&O47)AXVY&Jxs1O@pNO^u79G6`o~%WkDfUxGJ(Bm>Zay3BWHYMk;yDTvq(RR$Z_TMyzD&%?EuueP(M?HSwqL39? zMXeN2Agc|O&PfTA0l+OG6nPI)%&RM!WN*Cj!Fi@YdqZhac1G0VOvL; zh-4^>MSaH#ATc@Q7weGoD(fbmv}v39My? zl5SJCU>$3EGeLFEU$_LKl}6$wex8V-F1jUz6ds41M4a8{y~^?URlUT^hERF~_<#`O zJD|BoDF*cSp9*kfw1C&?z9@rn?e7fN^k>M?=^xa_$6AD61nee#Vf~|;^YfACnNEbt zh7ww*ZyvujX&gBH!6EG%29#4*@kmIr8`(T(uacqf!go^%hEeH@wo-3v^>`of*|e}O zsN`7}P&4!xdgIBRzS%SMmMB$wRoJB~9HtsqX7OdE;RmkIrcLz>;GX`qh}kB$2Ej#g zl!J6XMN;21iu_L5N}bY{CbCElB^DM(CwE~)BoDIp|B<%-Z*c%NSHqcbg8!ulHBMZ7 z>;2S&c;X&0g(T+M#YyeoUtWC#^s^az2u4^AxnnP2pYnB~9@b$t%M^C=Hs#t_N8IvwUSsD+U zr;YkP{&?p(_d$byLoBrUBnbXMt%ZinFTAW7>!_QpmhNRwjG_{_t`f~sFV0QX^0l%f zB=rNewyytxRy--wTx5=@7mn>i*hrf_$NMRdf2GON!A%8Er~*hv*PLqLY(Wy4Rq0Bx z&mU!=ERVr}P`uWtqA4!su~HTu^9|OLNB-efvEDD$Y9D>IZ_b5C&n<&rCmtb$BValq zizm(kL;6H0;~any)MiUKFR;*L=yqA{nTPp1e8IGJlEB!4~xpIx?tLF`k6$1DR7`h*6s=$}e@v)PI zh)pWp%8SpV)vrzw|Ni1Uj)V)_2km3LU5B5z-Q4ulph^?Mw`EK#H%*PxlO#rC7ZdRC zdX6a)nVS~5y0vVmM=VzIuM~Ir}J+!ZH=`U-iN(ssGLh!DNW3B0!gdMz1Pv z9T?%ITq(=n{}UiFa1*BAM1Rw!&`J+{LZ~_Mbo9W3Ph}H*WpnCjl2v@WwX5-$sq3i{ zLS6JZ$!}gn@`S7z=dq5RkSti9r zem#5X@^>!^j~fk;@#>U)0dNEMD^J%>TnfB%1uhy#7$iIXD5R)6m><^eH4ko#?u-pc z*b+XJ%q0d{ecmXE_1tCZ@D1OMhV~dGi)t;x&?wvx*SggLRt6k(rzWa5AyxQK(Nqfr=D@8NkqA3!!j0dj)bg};w@c;kfj9chF z2uu6^w50E8?OxAV_t@To{a*U#mP=>YOqzF)9$97gE`$2`P|CFE?lmZ=qaNw&RP-*e zC+O`%xSJZj&{mLlpqv-(w_&v}G&<2{qjmAlhFYH-_orwlDE{rH6rh28qv|VH-~h9r zeTA&JSb9O0BAaf@kQ{RBJM>A%h(u8QwP$!%kb3Zqh$1wo@NPpSyi$er%Qc)LJxX-Y zjJ_KWMRJRbLrq0zcNE3)3Gh00=S$Km+U4i-Kf<&^k{@!DJg=gLndj6!wj+GJN+IWAMagVvY*B|WAdBVofua>C26SAinert2 zEf|XTnUE+KK=oWJSR`a)_QM}<@D(J8wh!QdIt)eP(R;k434 zjkEGmTyeE^n4?uw{2sQD+Qphz@(2XXuy%39)g!0nBWA+z(OC2$dt?hEPR}A6MT6X8 zHCZzP6;AcuU;Wn>CL6#Za$wR78osW|I5A|$dwCMAoyEw;f$iMaAY@wONxDeoRIZw9 zYAOf(tmxhkHAR+i`Fec#5Vic`UF}jnO4$kh`BW+(g@|n)V#n_|arWs%RmnYR8wn&6 zydN`~N@SxOlJ8D|TXcMfTlWrh|&Sx*W02<#_u||{Qq%t8Au6_2@u>x?M6=|7M&TW zsZ`M18=N zf&!|ExW9%7c{A1bmhz|lEEtL!)+Rzdp%S{@F9HCgGol@Z-|CWmb3(hwaFOj+Wy1fa zfd>ISzx4cuh5Q6{e_l$V4C2!UHntiiSb2wfqbEf6vdi7kQ5umS&BPRW7htcr<&X(lcFAiqp zdVclS9vBBwhv2LH+FUA!PDfBclNlJEtkSQ4=<=vg8f^RQ|9(W^nLyKW?sljAA&V)Q zTMvV>RsTKW5jQb4g$ew>A4mDyZt-6ZB~c{Bxs)CQ5KeUmtYf)(IiMbJU3Gs+|CE)e=_ zTM37L4bi_^DG(%5ENH$%EX&}J(oqD2e%Xs_S8@W>lTKu$^vlNzXx23NRwFr~Enn!A z%igUPKVc*BsN0xFiMY&{jxh(P>@aCn7r%%sPXCEtNj)wfa`U;v+VYCDOB7_VEx-++ zq8n%LzH&ER2a=+i$iKkl!ZN_ACYM5ySR1hA+wv5QXz_8)sC7-N_bc=l9ERJ^!Gngw z?H@e)tK45&dL*FBTdU6d(rywnzfIsJNq5)Pi~{CVwRXPxqcQDfDH3f&@E+HT!QPB+ zlTbYwNCE|wS*_L-+<$nFnbT@fl>ku->Sdo{!NF3n_|UMMBiP)uYW~!iCm?uRV!g_b zjQy7V*Uzxi#uN&fU<0=qFhhE{k)6gVYv0D5TL3}mi11iDA6IPHS6^O{coHS)#)2O=cH%7R69{ng z8tvms1c=BXFphzcn+5UMOIQrD0Q&?P=lvo3Q_GE4>PZLg_|UJgh!DB8lJprbQT&65 zo~&-lu+DH`hJaT_?Pny=ed;M_T=oxC|9_}ZOfKLYRym4-dXTdPjT!R>r=C@Rz|U4i zAa5cV=#OF{%X8r+v(C?qYi3rDwIh&L6h1X-B1dz#kFV5AxZ=#)1f?HhYI&t31HbWv)L zO9q0%j&S;+hoKh| zc`Im`TRP$8(Sbi`3L*^(&VtsxK9?Hj8Sr8yYHqm);YUXscjN|X1vnu8@ z&!7{=5ypa$kmmLs(dW6(_Z^sVRc2Q2f8@%`VE0E(H7p5VYNS!W)XaDcdbXU`csCNy z60^K6yFfhr6%R#$d<{epUTTW8RM^DU_S`VHs8luGAMv84tLDEM`NDm68!|fZG=Cz) z8~CqvD334#cmJ6L`k&Y3 zGjLs891B1w)88SU4=-u7fVo9v_G9JieRu4kf7FI@9%$fGcLG<~CG(vg8`c`9_({zY z1dH`%DktIfmZ@W~7Yd$5;<-X|H@0AUcb}84zn$MCjkd(>PG^@ee3758YE9%4nbD`P zwkSt6SQIvd>dWjg+NV3I<*jtytJ5G$9*Pfmo0DPWG2%1n^^Gwo{v$13V$|Zsi21+h ziAN@v^ajUn*$#E%kIlQ|;Xh=D{u4u3p zO=jY;a0>rO!^}JVt~aKL`jKWjPW=&C#oE(n0+BTI1IXMC#?k_CF}LgebWqO(?^Tg^ z<_Ww;e&fg>?4b$#j5*;~zeK!mRFyg2LyLHIh0*Y=5K*E)l`*wUz4te^UAQ_j{f%-` zwC@1`&Hvcwf4+!}20sGGfE^nTeRlfAQg$re1@PA|d&6DIL5>tYPUXf8)o?}Ig9kGy z%v8A2DE>y>2>wl_5iS6(wPQ3c4zZJw)co!N7JI>nh`Jpc!j;Dh=U*}e{E9c{*t$ej z59yPF4_Vdw0P*NSbJBjIIWSWxyI|i)Cr_MSLx2L!+7)meO=*hV$bHHU8MDB3d# zwD*9N`FMJG^Q3;*I-#)9+n|D+(a#O)v$|BQ5b9C$%xS#r?i62ZTK zXynLFW#<4aY`0&u4eP5{x&#HHD^*x^gJl&4@&9`@3 zayqIhe0hvd=9bvnr!}Lgp3EgZvF2}T%1ViufI>|(D`C1K!-;nUyXOF&ldrw{lWPCG zJ^v619FUTSA%FHhm3Ka^wf)jI-w`n>#ZdNV0$^$@rg+pXX*Q4pn{*avF+!lYAp5~ZEbpg&pAJpMIj zHM0UnoH(1Be}O@TFg^SRQy8!9()TQ2L6}WfmUn+oaS6Q!2!4a+H)t-Hg5=q%C%mG5 z72>jh)eC*5ZGBq3lx*~TsW+v97=141w~S}4@}O?h`bQ@J&!=})<*8M{AtqqFpGrt1 zp^}~hf@fbjIN-P#O2x!;TXt=Cy71ZV^qtqbAt98*y>)Jn&o54VroA429; zc`DrK_jo$3;j=`>%%<`8fh+=nVVF|U1|17x$674CS_t2QJMlgtHmlQz=0Ge&^`~lu zWo!zky1bz9n*CV)yx_NrP`9vO5|qr`j>;IVA<2Y6SAic!>@;GIWKh97!~Upbqx&DOqERr~JQ zvDn@#CM(Q;ztj8VJ`KXi8xzksH$sZB*r_%4gfX5GV&+vIOQZpBCM5}rOB3s3f=J|V z2&@I?gvP;*Ab0qvI0Hf@Xc4|Wql73)ezKCEeS&XwaHSU>1Jp;dXMPxZ6)+6>f1W`# zFw2=xStDxk?67=oCYI}v^^wi*FmPdlHqTWKJZgqY0ycCtDO6AgR3N2`P{r|m1H-qI ze^m<5oV?s75%l9hQ6tX%!~%HNkyZD;bSBi&6e`{D7h&i7Y9AyNuJ8g%lECnRMzgbB z2WFo7h19tI!no!2Q!wGpkF{p9cqt}e8U+80DHMUf??v$>lR!1-e?P~!FfHupCh09w zC?ql9ta_n84n(?3iAMsR!OSnI)uCm1btTn>Fa zQ>~DJJG^qd!-J_zpa`ZfB`?NMVA!BOi6tRQJ92BAqiIk$m{DIge7J=G%ku2v%R<65 zwLNz?1e%dbOLqQH)dQ>Z83KiVd*q)I{j<$mAOrH!HZiX~{+W0)DH)cU{PlxC zVidb(4*`Uo?>snx09CiDD9C>ov>D^|tRp_pJC&8+X=v(=%yanm)1~!~tAD*~Y#3cI zlRWNl0Jr;0h@ZSp?hx0 zs+IB~l(Zm2q9@JpvgqG!3j#O5EWtYp$svZ6n;|cX3B=lZJ-RqdgC7|G)c#Uoj+*5K zyHR1(^Srq*t6xsYw{`nMhhxcL%r|wFHPR7xcCIu^5irKhiF2hTY!g6U`ZRExFzMk= zFM?AN1WmY?r>ZL-RYbB*XOJec67?;q{hy-;F2ijSOmsl(C<_Y$*!9KYA8Np-h(MTZ zIz*TPuCI>T#|_~~3QZ9W&o5YoIeeOpx1E$uG?!#kB4=tJMil|d5S)AiF?U2ae_9fX$2 zgF7D3^HvT-5`5gaZ#R=m04YCAjL_G?kq3$0d=mG+FYD#?HTy`j!V4~J!Ve`)ymB!y zOB)L!b?_(XAw(T92%aUrCnE*sgms{1C-vDYr1BElDXP|9Twh9pe)KB>4OtA_DWvw< z6Vs_#+!>+n$b~Mbwy{;1u#+fo|4?{faxZr7OHuc%W~Z87BuoGbvpM}FO+M->&(T;* ze?#Em!W&iP>{QOJi-drwI;8N^;EOkEkLwR3on0#4ta%Ft8cLgp5 zIii_po#S6{{d?34dc-&dR8ZGf9#>kSXwsftaq{OU=a7Si5ktD3Mp+_;mCJJ&+iqlpMWs(&vLRXJD-y8brEe)t1R1_xSvwtHeD1 zjftz99T8;VxRB{5E%=0ikDBF$_2t)oaMpL>@fXzQ)x*f=GLkjQhrB{*}$# zI1v=chp{jk#>~gF^H{roX2?WI5u%u3Cv|Z2Zsrm5PI8{q;J9v z@VPWN0Hk4nLOD>+)_;!yj`y3Qot?c^M|EMf?+6yFuOsGC%@?@r$SC8~6tHqW+IE5R z@Q9jSzH()6`|~^iLPjx27%E3zU<*#deTglyH;* zbD`iF1Ji~FehYj0i|a~HVBn=t>zr8Oh0aw;-sI*lJcT-sI=d_9@-3$(?p3>Y&&SWu ze{_-IQ0X0pKT(^eO|N+1I2Jk-lK)9-uvkZZ<^f;7rl!oc#x4uSqHy!JZ|`n+QlLR` zlQs_bX(}Za_m;qjGPj)o^6{m^_==#Mle%KbvI5y-)z}n7m)af0(UIpOcAYPEZ<&`W z>O51_NobGd8iwVHsx#0kV*8VkYV+dfwq4OvZ37}5zYpn16XNrZ;)Ngbt1r3`Ck=C! z0mtL7RazgMthgbB8Rpoe6##7D|Me-5U`J{ORd8W>xz=5-0DA|AuUEHUmz3ZXm&M0?!%1D0ueU**X|-(Qs)eShM<}lbf1f z5f+|N1iZ(_JU{jT>)>^x?>*%2P3BA9ie-R`n0W6`+>4QDU@!FQfL`!V+u-om$p5GUjt zVpte$&Fb?LuY2%v#B~3f>)onS{0>qY8TMFJB{f*XE8LApaS~Xk>@gSD9p=}@-Re59 z)*N)O_p8$02+^3*xZDh_#MiG%Injxquc}#CF z%*-&c%gZ)IU)SAYO)pP8b`AM+|A3et_IFK5K?R%{p$GvBCs&qxyhfUc(j`TCnxx0; z)4htoq!|B2j%r{SGQX*lV?Ofdpn8N<0#e@0VM;NH^zi9TkK-RAkJr3?PR(hqj$Z*U z{rq%Y?~btLiqQDeoM%hX8RhZvZZ+ggvhtp(jYZ!*Ry}l$q*V96ZBjO@U)Num^M11F z)pfF0^|Di$7IAR4!TS=vH};nM_a|3{1y5H=&zQhg6F+J^0v$M1 zVv-!|a(KOF&SU7t#9lfDb6O5^2YVdI?W#8HB-_Jz=&WX*xt!bYo!+7BX==XuHH3_y z$5U$HZrVhDI9a-J*fSlg)R9lcsPPel$e}bx-hklveue_QP_;3`@96BaI5B|NA1-Mi&&zv zLKJp}4IE;PtJGfS<%Q_fwClzq1W*i})QTJ0g;XXFsSx9}C?k%h+Ajp0pNO9rZ?{wP zLJ?Ev(X+vSl_}UDAsAm1hs$Jr^e)?PLxMkc1{l@82v8g*GrP1?9nT4Lp4Qgs;N0gz zI~9llE*3TAn6iWq&%(O8h87B{s_wA9Tdt$iU_)=5EJsO}ll`QI>2K6;@k|XAiL>!> zYG(;7aB3xgy51!9;8D)A=vbAF_jeOuln8N(ViAYUiA_qM?V%H^y&hUxLR1|-;r!!e zpOaS%+%vJy)9SnR7;pO*a6anP&Sbx6I=aRv=}_M{;VRW|QJ#^YQ1|_@imj8K9wyk{ z@32KmZ{=Gv`4`2WthdHr)+-{i=@A&d)TlUvmmq(&rt4p91XNWu69qjb!3>p*>YdAkaxzj5Wq`#MR>h z*~|$7cVR9EoakCoCteN6p}>$4p3uv!_Wakaz6Hit!vTaprW6v3 zl!VW(-q)`%DO=hKXap#q7Xg+oJ6Z%GYRtr5+SiOaDE6CU#k0jDYu1!|yvaQ;bRJm^ zC)z%wMy%XTt2?5D+pnE$9CSZBFz6uwFYPl`#9OeVDU!IZH&^t63Bwb{&UfPZ9-O}9 z)MWGCXgDJ}s|-A7p5gcU?*0b%1%HylZ3bSVFQAXvEjcH#cT%TR#mXQgre&D=}bJ`<2q~$GvbTzo+(2@orn-u>g&RDXsSK0e#KwSGB z*o}C^J17ClWR$!(j_Rhh>iRcBTWp46UY=^zonVU^y*t*5{nP}6;RP%0krDoSPz2qX zs)e9$s1*wW&e8O}#p!MQQx9&Y}i%ff(>Sa-8J+=Lo0Fd1C@nE`KzkXe7 zr@(V?R)7>*Ah$2E((HN?rT-dM%p$Eg{but+I?;#viapZAG$SY8H_wQ=zr@JA8hb`% zvaX3^c0U|)oxGyIBB2s}jl*r`&3n#!*O-1;O-~cs7E5C{RidtO+vym>P|9%S1+r`Ae0wG6aEC!v7;4)-5Oy_z>gLPvNM^o{HoLf2YA0H* z3?reCxOz4W6fXZpnl6DMYsb^+bjl)x{&PkDUOk6b=Y0Y!ZSz82S*y}}uao&fJ>0iY zqtv1Upvkl?^N75271K}N(#(&UzE|k6pU_Vq(;&OC^A{?pa7hr?&pkuYz)# z$UCnI^1Fnv_EQrh!A>cDoAo+`sC)O`^rhEik+Vn|Py6`AEtb6A&Ax$lJ!*<3EGaG? z85qt;zqWTSb$s$xrlR699Bib3YGjHq&9XE1GE z1zK1DC(-4;V-k$uTD1d{az!RP8)oUSCPS;t6q0$b8{*BARou$ARorEtCvh2`1EhPA@oTJU0?MPI_L8Up1+PwYIOmHihDPYc9epsOciBO@M5iN~fK zCz=<%mQaGQ)U+po+eb~f63Y$ClCSUD3U}!vlRL)K7=;*cMR$^H;0OGgb5d{u~ zeVzg~$b;veE_&;>d!r~ay&$)x<>TU()Z?dFDrNi(KU@u8Y@FOX4OsEH^9hwZSSmLW zkRo&Gp7ykfnP?_M;wniB?k+oSUfFL#c6XmX(B!-muf1Di3vJYeDf1ba3$zBTpHP_| z%8m+~seuViCwB$Zb8U_ZV#0{D#&i&+)PG zxQ9zKCj?|6&~tvQkToxH9JL)A?1ch15k{1}JdUd7rMgoe`oUNwis%t6MO2;n777Y= zchE0?A^b4ecq@%UoQwpj+1#ENo-9s}8g!oeE^3qK_EsdEnwI5uL@ybQn;d^3snY-# zN;h}jIxy`Xw)RW=ZIR2sH1sK@T9*RLe+R>8ob98JE*QSEzwjoDROWe3z` zmF?(bqhv6{w@&41CRjFmXS0ypDIDY5zL3NXZ*}J@e?d(zu_|diNaE+3g}6Tp8Y9`Q zMM^lJwCG?QO=}zXqU!SwM`^fjmkVpUnuVmir97M@AfV<7H3ocxl7h!;42*T%-f`*3 z^aT%gmjnXDiJ!1<@NcLFSw&97opLTqEI9U?xCseA^(jld{szAQ|UZv&0LX53dNJ=;Ts*=Q# zZuIY815Yfbnf@v{GdGZ!VXtg56Vl6nyC)$xNfRk|iZemNcXfHtr{02%`FgL!F`TkkYxaIv+cU+Bbs^EEH;Z9T*K+(&6tCUwrX@585DdC(4OQnv!4jYg}? zXo2&{e4K93oj8>LLY4}_USy1=K2m!4w9I{V3&>(N0p5kg)H_ak0JZ)LI)b^P37m<7 z9KN*Np9NjVOj98U*ZJebhpUW#k-M|fW54&)FMic5*l6Xt57y{u%gL0XBa~n%8DS+-zM$H)-D|afS_cYVP@c*A2zc$X`%79`dodAAWbL54VqX z@e*EIXtjipCT{rkI>Z0A3_NO^ED#~Yl;w{=1d{CjQPJc5lJaC=!W+>fk80(~9)!3c z%%Q4D$?Xx0&zV^x2|vU5=wM+B=r61x!=r%SsY%WJD*(Q>f7tXbpM|zY2_i zQe!Oo*A19R8FIv{VB`f+5a>EaJLj(dleSL*_wV44hN;LcKOdS$Dzh$pvr&{^W7Z>v zX_?AKba5*l77x7m-!);mXb|D%uJmOmMdl3GvD`m(KF9(f&hnK#N)XY1)dKWNU1mQ1 z&$BW~fIuJb?|dw|JU~n|<%%t4n>Dd(!0GwLAWZGWPu;^#(g#_mN}rNz@WZ>Gh~#os{R_u$lYOFqd1Jv4H2?UHvZ0c=W8ig=~F0tp%jHYS|q6}F2`?fg^J8svLw z#iDRvA%+Gaus&ZcQjApN3@fZ|Cxfc*rb@eTykC`9SwPSDN3}y(#e-L z=$H-zL_E2f^-49^1ZGaJBQ)VK{5OIUaYqZHi-akX%~UOY%={q+(ShA5NB#O}kWM_- zmHHq@G)-@5;f`=On@?u6%zP$;4({qEe{FyttVGcT!He9h`zKteThkcp{WhP zR!_ljD&co_6L;t79UkIVss(iBC3WJr%zSCBLbuPY8H?jJvsT7lrmr2ZZ#rN@SrAWG zH9wX7{cPS}p3SCPuheBq$eRF&I2=eDs8lK1+BK_DsKpy-SfYh&th`<<4?S{-B9Ton zl#OeTVdmE3`p8L(mr(r36}x1M+&kOp;@ql~Dq7j84B`0X;E1N1F4sDq`z%pA#-oU& zQplXxT&VRZ5w>r`{o>4+ABeQ}MlFdf=hZ2nX*>YKxy@W2D;I_d#_8ASrCX{gzBu=O z3hpTHmL@0cY4u~;iT0M$l~_!MWOxj1g8v4v7r7qID;rZ7+F<`E@v{bn$v+q9E+(9pLOzRI`G z={SDm59tWIWkISS*VoHw4+nP~ihe2bI zRhu^pf2;9gWg14M;S(3cwSUCEx2 zA$Lr`Fur+%?cbnSLUXOrMT>CdD+zHoU#g1NqS7C!CMb8SXvTkONysA!po8uj>~OUB zPZMC(s0+~Sfcwvh*2t;xd8j3N*dCt3Q&;i@ULM^}fSq*4f7f6`(xUGO?#?yM2(Kzn zNp9;9gu;j7HFyX+i%Q=sj=X?CiG>mXq#zbgk5M_?n7jCGjD^Hr^@!_qS;X+ zGX*d=McNN(1fTzHeL)28P(k3r5&|FTOLMc!0&c#6*3!jT$ZVjmsruVoD=bDF302If znDgnR0$LyT;jl`?f1jK?q@P;7CM481{88kp{B{9OhUdlOkX*P%W#wb#SOJ$M9y&ry zOeF!<=So*%ruzE=jwUwkQlsgCv27h1zibpCHgKbHRwT6d>wy{?n*UZ;oSR@6h zD-qZyJ~IrdKwkG0`p6-V$WGIf-;lbaHxEt?A*RTCP8G=r2~&(@RK&oeZV@jQ^>S9G zQmdn%KdWP`$9s$ngZ)5FoJcgrH7|HI;egX@Z5BfsZkd zvgDfUWq_k}O9?H3ORVgpw925H_&B(Qb;Q-IT{6{{Uj4H41%rrh26%EzkW}0=rpj+CqqGjPpcB;KGZisE zGf_rkkv%r32N$ zA7Oka@mEt)`j}7$?L@yV&G+w~!u?kU)$HrO_(eaD_n3-sh`TFNae&j%aEKlZxhrmf zubsu&ylY03lilW;r)?y+J$bI)j`0fBP^^5_ zwH8A5B%zV@fC$#S)Y#+6uYW%0ERKpT2{n!XASGCrzzww%uFMi{<%)YK} z5vghM@vgP|Dvqc2G>q;K#^JnvLuH<@=GK;4n5vTvj*BMS=ba__4JO_?x=1%AObM1XUYBT0_Lzwtc>;wM;jL>OhJ(rVBA zPkk&J{%uk5v*p?kL1T%KgR`(GuUz!TG!^v0Zf_*f&!FcjY9bUrPLb8QFhm+G2EX&O z{cdd~pXI%Dq!&`M2${n1=V{^E%nSX>u$ffVhnk0c-Z)lYk}rx@c(!2O9~jAX(T7oP~Am`^`L#3;?*-(*3W31aL7KBueA#hmHdbMb@L*?fTh%WyeR+g$>t_H ztcIm$qE0J_^=ORXY*CmrYKJ>!0-;>-sP(-ZjMQ@^^aXPLk0&yIz&qqVJ_f$|h#AX_ zY=vl1wI^0o5^{#>gRRgubQq(HPaly>lIow*hJ+E>opoP_ep!r-W`lCC)@yxwjaT`jAhTM@dQPxc7oF6cY%)yTg4FTso?amQqw&XSw zUBHd{BT`s19j3y?MpdmC#rJ4%De?i1JCU<-pjj_olx$vKGq1)Wy?{L298kb0YxNXE z&IpTC64sBAW@C+NzuA z_JvD__9%ZG3q&hIE1B+ES+!hNq&Fw|KR+HR-(gfxg*T*Yyn@WyH*V#$GHVojeo4vB zx1&-WZIa{@jqct^^Ec&O&Z#z=E(~SA42TL8BBM3+1n_voi)iE%>py8|JZ(#Fi;Q;W zw8b6Y9Oj6;?^;HQf$JE=%Z#C5Wq1}95gROUi29icyUv&t0-4Y5V2(~suB}rFtn&YJ z?hp*SN& z*p@*7mUn$@V+}C#tI745rJ9^Ia8D7xNjnE(V)mc0NIr4+jac$}1YQxhtrw1Fx#%?7 z{eV$%x|70#KkmNZr)H4BDwF;8Og704VT&NGCbl#_(QZ@tBh533#O}@G1W&5PIuwbG##8fv@ zy)5^B)M5GlN?|Q((R0&C#QMik=4ucv5-{GgE66GIhESRMkC<&<#(8^3ZaxTzOA~Dq zHvS@RcanZ4wqE&fF9H$!;UByn8^^OQp`r9pVYavtA^y6 zf;hE9xFXr~Ig#~Cg{Zdt*r7zT;@@pY$ym4{Z5^LXjtUePuuarci#`+Ia9sE z?fQ!x=&?M#`}T2>B04#xqsl~9pL1vUzELGIwF+Az8pvlvn8naS(-*6h>%9C$Qm+crAHc_fhjy!Wbu+~^;DWnT2KjYUwx*lYSqQrTk{0j za>{BG8Stt;$%pK33w(>pMPKy+2$VHH0_1C#5@^p;1M&M)DMD;2JA1 ziWc7CH-9c{V7gGjA#0lL+y>F%Z@e{bd+ppt*%27t4HFWwaWVQaywAkvm!KVCQ*_2> zL7*0mtL7Gkd=jt;fu~|iqt%l!Prh$1rxJrvclIKYRQU^dQAN)BEqZ`N5q?Tnx}$t+ zYFM(x5#3PY+jMj5|Hp?h;vZ@#BcZhRzYd8E>?ZQ?_o8PbAv3D?*~LBC z$o=a@nN^t7^|6x7?*7^Z@_#cw@2y{}ApdriCcs!Yf%uys3v5MobJKbtVf`e@AIsN=*p?-gDPf!!#mms{*EE^W3San-KECUTR}C3}lccb#=Gn}kWGD2{tWK1$ylT&pkC=0NJmODJOn(L3 zA>E7rO(?{zgFIA+Aly#1iU^a-v@x%YU=pB%J$5i4~^lcb$l^zrS_Hf(vKFp zoG1CCx*1|etLb#YY}4&}P#LszKO!wb%SE>@^!Q|CsG))DYjf@YX|`^bml|*)oI&08 zH z%h*B$uak?p%{ba;5J^vgW%$h(VPSzwlzc>zyiW$6ATqyK;S8s&m#O;pCH7Z&w0Rb6 z&p0sxwMi&M11+A1bYxheC%!mz2W04#bw8zmIs&;F^7>ysM1NiE%Pb(6xdsMUzXiU= zc?*jtNq*_L{F`8T6vFwU?H6%@d;AE=Ql_}>1{!ZqT!W;2e@3wy7$p(GnyTX#G8cX& z4a6TABuV!u1ZYQgYv{lu8yP{_MlqDOf9~)vBAPA_i%dd1Q9EX-u;x%&LkCOr_dE6l zCR10YdwRel!&OL~E%l1!{iqzG~FYVQ>x{L=+v>HB7JrZDi4t2Y|Zd}U`7b)o5P5ziePELD(( zuHk}_KKa5e>Ou`mE5!;B4xNjPI}5HA-A?>zuTTUU?;PIbYSn>=z(7v9Pl9axuihCe zLJip2*xDQC6LFvo#djk|}uD&7anB{l+LTcw&DRAAem+b#fnEMIV+{B`qhJjO| zc6G?;+wF7e=4kInE>Lr?<0QcL7VCR(qmqPVEwYK|Jjv28lS(|5)5J?LMD!A~d>lH8 zQO*Wws-?%}l{mQuXe>Ycju`v^8swbz=GlF#B&#ItXv`ygx|{~CJMCr0Z|KCA@B79X=I;nGX6p zTXE*I3|e5w)pSe(dB3O%3_Yt>&#e@1>8&G2Np|-zU}>#|cd~|Ay_OFnMO~4(ZJ)kB zu~YUbvPN@$$?>p22?fe)!$oRIjM}#8mjz@YPjadPS|hc)O<2@KKtDu;(+{IxVZ0wx z%kgUT{!w2h!RvwfsUKMV)xwK&0zdFJJZt3!*FQkE4Fe?U7GIecy=4)_Pv@mAc4#NMznUhq53<_9eUc zTmIqKdR#gpRINX6S2$J(`lqnLP3r+nGdW7gac`q7yRI(M(l1>$e?d9iv?ki}U6UY} zPVLF<*3ti5#G5BJfj2w#?El@V|8oP6^}q>CKzL^@9ge2SEuR%Mo=YMYICyk9%M_6$ z?%zt*aj988Jr)ijX>7)g3jTqsmSMIBg3u5*VgPBlhbgJ=uw^eDwC>z@=(Gn^3RS$z+9dJEVi* zE$m%!lF^UL+m14mV~+RNQZcgaf%C)MUtA8K`CX9~97_8Xnq||M8Mdc_E3<9@PF~TU2R}D;3ZTWFZ2H<2xMY4>jMXVak45jPe*4e}t{gF^1ON zxIO>*fjtAfJdZbb;{UCHXoTO$V?{q^<+wjG=GyCF1P}|FL~dM-o71t^ZVg;66k2ah z3L=CewLiJn$a>LH?y2GBG?X@_4n6xoC8V=CTfIqGViGcj8x=)T!s`)`Dim_kojBxb zRvYYfXq<~1r8!@|6iHrX*O8n;2tF)8kFsst;O7Rt29nSp@IBHR~64c9(`yN@9E`M2K}^{TXE2X z_-cGrsUHQgEpI~bbcclJDGyK1A9wv9QJ>#=1W`OPa{WZq`A87e?Jw(SM z-;Z5OM2h6x6rg~+8=pQb2PtK>(Yoc@gCKnDV|+SB*5&%`RK7Ct{@r=3rtz@75`IE( zR%e;6rK`x7-ZOpDuq&Z45Bp;ym^BZ=Rwd2Y)xCF01j{fcz4d}i2Y>3}I|+@yz28!K zLQ*>fvUl08ErPN<;B+xGAyU9w2{T33TE@0*-xApntxZU1DyW5QK zis#9i_~cPXEF*Ukw>ALG1=mlX=olMwyZ`y2TTDVH=yc+m;&u1_^8}}=X|H_%vG#Ca zV%7jLX241a!JIn6k-eHFUpRH7309OdY^fcJ+Vr_k0nP)ix zmh-J;+PH+5fJsgsHxW>%vPply;dM)keyx8qBy+;`0go5nUU&5OT+@rIphS=RsJb}~ z5MB`8=K@Y0b_v-SK<#Y$=@ay~&;@~bWW!3Fyf*x~m#%Ra@0V*Q6JAKp$B**P)${nL z0PZ=xrF{-O^P^`yx zG~RS&$n3va=EXEVsg)pceG+`l{g&A;Z(GmYoX`B_S3}hJ){xSk4b>_xVulJj*U%c*rCw|ZKwl?0`lLUMRuJ5DIRFaH{#6vv_!vobfo=B z5?P6CMIaBI`6!_dx$ynuHJR!KA0eIk*F2O^=gPF56k|ll6T=Qk*F_CVJT>kaO6k9* z`+%%I%mz&a=9KS~J$Itv_MY+m%q71oe|r4;l~BL*K}^7Duk|+Q=a9mlwX(JU)>q!= zve;&FE*?}QHFr->3ZMOSt>^m(UP6DsAJL(SiM)*)JioYlf!O!* zXndJE3#<5fY(|H`(*S)p2s_W)Jah2jL={|iGqI%KEHnk_!ix5nAU8?W+ zHcGveb6j5p!>9Sx=JFWWmGcJZv|NXD5qM`%E)%pm&7%@U2NgKinhLL5A{MN%1mQvU zy-O88G!gvWa-u&I0mzLTFl+k@fAiZ#Itv#>;40ml{pp<`YeZ)C_0{>&io#p6 z6kx=uzW6UYYSUVe{Hu$is+plq;eCg!z~e+2DN}hxfQ7`49tdJ@!fd+U)id_}`vcDG~ zb9lte-|u|R3aZ`K2bea6KHq~s-9U@F+?pCwtH2{eO+)NT;PvGR>Jva=y4lE0jRP|s z1p%NcY1-?zrub}tyYF&}@e)AY@=y}p%pi{AD){mRc{5pZzl$S2*@8PL?%?aU+sx7? z)G$@QIp(SU>}YlVsn8XK*GZ@PV6em|MLzVdd1S3LbWv~o+Xmlzz-aM1S;Ezw#RRO zNASrN^Sy%&T8d8ddF4enucCr3P%_!$)n~}}zc*of<2Ie|as@OKOx_YX(_FukLjCSv zQ5m{QRU-mVfqS-otD&(+WwQ=}I_QA2;jA%9)}Va1|3X__0T&EW^1UY=UG^x;Pa%sr zESJx_^&=8>R9J*B3zz(QjN5G40~VkkZ>4PozG^CUeQ~h->76q&_+pVILrrQaLE-QY zFecWz8yGTL0H;!=k2!0(V{9Gxl{jSoCrL7$b%5^EzDyoD;Ak!t*KNOG(6KvYo2OE*ywh#J}<7MvM=Ov;=l#SiwnAZ|E9x!bthgBOt>s;3$;95tIT z^AdnKkYTNP9|cgt$XYL;s8fZ>GxG)01EZZEn5#;NMZ+w73+a=|=AUu}u!Q1Xx`nsaE5g)G>puSl#{5KU`2AH zup*g8d}`Kz_S{MexH69XErh5u z=?YOqr!lyWa_15yi{nNS$B6)$6}@_sZrUF1;bvqXwg&`3yu&;WU~Lb0L;S&zZfB?% zm)Psuo_Q%W(UkqGQujo8CAE@fy!U-3YG`AY5=|5@NA#h|K0chzKW8m|!K700iY!{; zIOTSt;>BW!b@kMLF$7H%Hw7h;pa5vRtNzQB!dbtKqBCnPj_`SIBpS^W$dhIeVt|87 ze5{cEP&@`dbYOQOM+UTfK6~952MVQsjrk7rfq3Vj1_T8AjVBG-orY{b5g2?sA|(4V zfKkI})~F&dt87{WUjehY&*(9D z%5UZ;cUc&pg#L31%o)yGW8RE@8OTw8Grqm|XxzF)r1O<3EL+#de&%5RrsQv%oUOJ7oeEGV+?kl0* zYU^Ke(l!Rfwm?*p^ejWsRlFts_dXAp=|?V*sU|{tp|P&kHgn1Hu+%vP=-oz19jUNfIBok4lh#Gv4l)2DAP61Y(;`)6xO&J@77q}ve8IHxei9^hYkT6{3 z*S;SSo`4@e@jM>ZOfS$yfRT5xiute)!pkXP_5RcMzCeb*S}5lCqZKtHw9Ren2l0Ad zUHBN=fHRyShqJ>qUL9dCQaD2w^KQ4ZY7wly@~fp=H>7qJs0&Njj4Cr#9f6@)Z{aY6 zEoq(N`-X#cYGC=r#i_tBcT;~|);9^o2#ZJM;h@~2XBhYR@fZfdckg#)i3;}Lo7=o* zrcp_(ckN~>->(_>3xn+tCI?JP`9lI#c|D=AsOP_I&xz z_j0)*j+KHsKWglz6wQ)s$4mFK-`l=F&qdeAc!h@Jk3js>h4PZkyq9T)!9{CL`goiG0K>p;3)C> zZ#8o=8i2(F2Q<2`<)Xfzzx(7n-IL_Rp(4Y&unJJ%@HN$6m=dk1u-Q-XxJ<&R`c& z_>)iaO?uXkTOcD=$%oIb&Y^4XlNK z5Dj=Pa>(;A3muQk!y=c;e=aL;OxoeerWw+?vA*tM$Dk)d0i|yZCu2B7!}R9eB{3et zW~2=~6Fqo6#*OhegF}I&c%=kP}LWHc) zt*Gb`$Ve~+W;ty((M{G~)i!)X)n0l#IZDVjGJ|5(jk?sEYO;Sb906E$0AtK(Ki+vP;%L zGYw;{;q|i4yY4YTI`JP!n;yr|$Xawh7i@Z*{IDbFbff)C=`p9B0t> zJ+WX|qS__`-DXq-$F`RJ z^~;1@{mzo`UI_EC(`4(!1o3eiaWelA1}rOT#n&MBOeSC_a(h!yCa?=);AA)zW=c*M zTE>zg1n=7%7I1h3yn6d5O`CBRU)tm3w${J8UCEsrMFymDZ(ah8-bTNTk9!CI_+mbL z&*HBD;A`A51t13jo_me{**YN6BGdWIx34@2SQey>oK2^mowL_M|eyd3)Rohc-@7&ON|9G$hwhJGIDj_JQU#^P)rI@^kT zn3d38B{xs?0?Wt9@`B;YD%ipWf_pS7|AI{)0gc47Yz5iGq^yCE2hzfb2- z)i_>5|2NYP6QZEc1Le{Ud^-oO(NmP9X5n}D=daZIytD1%+`GwBBvsL?aobMx!^^0{_uT2|2wC~3 zkxr_n4gu}&-Ww!iAbZCt+SL=Y#mjh7DP1R+>iK6O$!g&Xr=0fGy&dd27X^28TbaD4 z1{-v0kG}S`|JAF+mqZ+Q#l~$WO^*j#u01=Wj6Y}Xk&7cg+!MQM1ky}(hd-QFf#TX) zEVCs2{!OLkP}!bM3^QeNPl;*8CxX5X2psK*tL$8tt|9wkr&ypRCk57O-n+CsYduwCR~DF(@D3Gk@-BWpv6ul!G} z)tKK(6I=90)iF1DO{%=&ez=vxe=B2PW*=a_l_Vo}%p&?! z16BM6lq(|ZvbK6Kn9ChPkObqtNv(s-_})4dg7BE2Mtg|3q;ikQB-Td7nU1G5Ehhu9 z3u;qJwQqWmc9q8PU$sN(YV+z;P$S8#$XH*in*uOW*C3n4&oRk(Na=N(Dy?3OhOz?U_0^PgY3Zg*m z+?odFlG^hDp%v7{_h+)9T;@7rw(q%lA7)0}n{=2Dc<{aVa!SP@AXg@iWbayP$It^$ z?vX~5m20ygoD5@u#u98Ir#vOqa|EDT9?3C#ZgCw{(7c3`oSMxYKr%j8snQs#p58NF zieB5gx)|*C6+=8i3I*DW+{qh>JW|#=^%;BBNbh#9^t9|`qT|J*QSO7 ziNr6$oC8>u+Wbu&*T z>AOEuGxE{xy1Nn8rWVJmyfp0Pu8esg^(Hz#J2as5xYv_?~y?1UFVDRk=IIu zVjf5}Y8vLoFN%;y`*LT};m*~@6mxt+%pz;4n-%Fa(BA%8Dbbc*TEmZkjz36g))$ma z0*+bRzeh)yXlItrSeN1;m*|%e#(gVC;h)HRpREQn;K7E_|C4^3!S4F!wnlb~-(J}yI4yU}HI z$KJQqOv<4o$L@3YyWaTiY6C0FG7}?-vEH%8&pkW@K^l#2Tfg>?Gg3qX4}C7L!U}@; zUKN=R=At?}0Lk;%P#xFkaN9mAGSmc=LMxun%crv|M#a63Kf-4cp>R@FX3A^q_CTr^ z$w~`y%?Bs<*F~Mtf*?s2aNH=bA{z!8sJmwv>V2y<`c+KT`wOFd9EiDed`V8%){dVp za&ff0deFMIKA$djhcl-k!5;3fTfW#B^Voq%CP*1ElzYNN{$JWHc>y@Ig9I<&XmGN! zPxI)|7F!AOF^=($Cw>jJKe(5))OlTRz>M9AF7H1qTApA!PU*LBHEId`lLp_v#F6Fi zw7PI-(6i*D3&bj(_J}>}u4~1R%ETNX;g5@A9vU}Pz z(44oVNv9GQqq637i3f34pQes_hTV=^CAe3xm*82#4R_X2VNLShIrs;opE`x~~3#%56cs|tD|I;magGX<6K1=em8S;>L zOw*PFIQL(}VeoTRHM)wg>UA1`R!J9^x#Xf)o{f8w=e^b$>R?`A(aYJyXV&LNWIvQSvq_unCNdEY$e4~cRAyB_|3m(Vbq}q zhok1rC~0a=pPXeVPUlu>R{g7YGD}5oDQMMloM^SmdpYo&S*dV_e^iXxB#iPz0RovMPQ%l=hX z=;!g7qS|B=0sc~_;^#Bs8?7ewUiSM*&4ywjc0G;nUJ9J|eaDtq_dawq{z?ILU;os_ z@HRj#t^xb3Jo~Yw+l4mS6^7reL8Gt!Bm+1!bYX5solSfzvVQNTPS-^t%kI*(**S}UmMI5m7r$b`FsIyTN4YYGlLp#N$ah5gM+)etaO!I*>$%`R<>~uw(cTie{UZfe&CJ0z zsicLqaz%hwEun(Vwz>S^4?x@VqV8@7jevg1A-QzR&w(<+Brdb<4_bf96Kx}=l8M0A zFHB2duAeKGG(Ryyl1fhpzdA03Jmk@-J=|Vw{;Si(IY0&&;jPzgmOwm01(HdDH4`;{ zJD)Eg*uT^d{Xs8d734edY`OVbR>)Y|y-B)i>Gm(r9{$s@4=O#EC34&a zcgDKw^UZsbqOUlb8m}M7Sf3IKT@*e*q2!p3XnbFu+WH=EUH2qYKC!RjG4EO_K8xiy zt^1;05)-SB9_hLWtmKvD39pKYcnMM3(@L0|Wf+HKZ6?t`y)bkl102Ny?ePoy$(MwJ zMd0q_A@hgzT78c`2Jm{bx=bk+VFqMfK#=r}Q4t7ICW{UVINFTKo7JVl14I5mYYb#6 zy*zE5q}(JQ{8KgFrjU9%cJN8$XV>PKP8$1Bqj{8y6JE zd`Ix4@i-GWaMF(@oV#44p8tt++vwGPzK+XLdHg|E^}WzH zJqS_n0lS_JzSOQ*Az7~5;eVD~36lgmHOKVMR#5dHAn8);*{ZJ2 zdFVtaez{K?oz)yqQ;4U(R5gsfTQ=$}@_3c7p_tJsz#w(JWNY7jh6R^6^UXR~-BI!} zBGSq#-z2-`v)0Jn)c}F#$nT^1bwSBUB=-L3LiBn=EAAT%Oto&kfD@Gle%xMxZ z9GTkonTf}XeZzcj<&dNGVow9@aoW&{_ty|u6>SN)zLVjR4}qMfBxo9CsNmD_h?3L~b?@{c5rvfkIv3HSeTiF-_T1XK$-ITuylXHD?V6|MBrcR0 zYD~~=aQgn~h?*{XcO3ukcl4nk5NymW|Ex#^a;!kX-T8;+SUvQQ{8TqY_8QWzK9z@z zsWlgbdEUp$^V%CJ@4qt4U@6(dhuV}BF3c(7)wQ1ukg_QkBks({p*mHS-@Qj}{uGz5nc)}PN5*sep>})CANNgL;cJ9K-baaj zxV_)Y^k|rFzu7w67(nbBoitF@{Fjh40j31(&w$4_H)t4egQ`3)3Z9MCMc-}ojOCwT z{K6rSXngsPDe@5Mg9te{erHq8(LCS&Mkvuc9r=B$;QTbO@Uc?7QlgsPcjf{Y`IX4x zov{wP;>{C?wSRZT;Z9xcsHQh2=WCB5T*R!P90sQ~CJ&+h&7cwU4+U=2xhc?`>Yfb+ z#H#?_6tx4}lUVZC7dZz4`q_60eE%hbeRjjB^=;&Q`J(pX#fuwOr|1L4HOJ}mYil80aLPsVj^Fip zV@}ga1>GuM)aYAmndP^)La9}45hxD9v_zm|S+?)pFkP!j43&*F_fw0ER%M@>YfpkR zB9k*!cAcq92t4iZ3$^Pai~q`wyY74BCM7o!_?<*5ANR&boiGh+d=izK91bHLhA!iNXMNzp>kh_OUF)L-=9}e!wwS+aQu#cQ-}*zU zx%c6tnd_^QUjLZ`=F{V)$!f&pLJxpkB=;>jv)u5RWVNlNtY4(PA#wPdZ|B6ZQFNk8s9v z)log=_PvK2jkSTR3M@z-{ZC!}LB|!1evvqTYVkGi@VyJ%j=1ICB;%VC{mR!Qb?U&Q z>O=O8xGRWQu#cqa{4D^mi$VWz)O&0vYkmVrvN_yGZTB_Ms&gHI^Cng3ERSWesIS?a zx!gvq@tO^xjIk+j40dBEc*Es3R)PSOo9yTH-NXppR?N!$2sid5H>Z*R4NlE`vAj@Q zuCA@3-34I@CI`ZB5FWa~YBX$z+O9RUkZ+idKTl6>!Z@T1mzeX>&9qZmO`rA6+y32Z z>L9+usG)S09*Hq5a#jHP72E|hARVS+r{DwFnCPobfR)I#2s|2nAM_KzpRy9;gAQ}{ z6XOFE?SGs!p2#rB_*Dh~c+I#Nph}vbj+O*LgqkkOrvN4`WCMUJWFdf*|2ANeadx#* zdJ^bLzf{$9S(NG8!Qi$SEAg%Rs#mDVq9i8(hulJ2Utj<8P7OD?^mg^)zffP(^*OM* zcZ#RUK#vWzo(3P#ci;Zv&^a@eD+Y4CholP%N(2MxV?GRkPXpW|N4-Im-MO}&`^Uho zNdR}vE{EOwh-mTceUIHU&rcjIv5;!Gd`|S8Jn;U9t1m!NdeWrBcZ zK5I&h!3-eaRq+TU^feO-cg3pp)5$(*tsw~y0c0!I<&Y7gFhtCZ{WlG14{zi;2=TQ<5INr0V45A0D_HBe;eY@dVIQ1)6QoLF7r=|cQ`dNp zeXe4JM)xR6{1_yr7@eQhY?74&dZUQ}E%f^Co-T3Ar33AH`F20PXAjDKX36bahnnTLXR9cPX(uqTJH!mr~GvQdZZipaVwvN6R-- zM+~EcR@{U2JjLw*;0LAxeA43ntX4<=SwAm5DV2d;>PzN_6M}eLMas z&L>HhGty1bOWpF(q95eS?}BQVUu9rjePK zK%}m~C4P19h*7{#ON54<%V~%KaNnD@Gsu|TW4Rl-8iAzk1!)-EOx#)?>2sb$$jB``e8-zcn{Eq{+&$vIopRnY(^rHC4sIbR&9G8-cy>e&3~tD*?r5P#=nb)U z*JD85@9O5-TCjPf!?9xo+n_dJQ0;kp3|1NNe= zM;w(wgg=;rFI-dDu)<)G#0skdDO*&SBS(jd9y}yD1~!@TwQH z24>6fIJ~Pvab{TF8=NcWNr22)Va}heR}Lv-3&UJl)tA-yn}?bBrlQY1e^e^Tzn)e zG_P}y;*n&u3YuDhxq2lf0L^{w?x#U0p9FP^|H~ zYExz$6e?x+`TbO^WKOuIbGe7OO}s;iz}|~oVgs?;k68NLfQBN4-b}Kr{M1mZG@y4y zHBk)69jE?+L9HXicP3K8^9^Y(!(M8V)S-Xm+fbeKE7@N|F9@Q{>)HuRh6b(9-oHw84L<-wFO-0`>VFeg8We2M#K|Q9yP0A8 zdQ}oAlJ_{Iku~X*EG&f891f`;;lME(0}LTAPo}+%Pxm|Ju5^VnNIGQ?eu(aWEeRCx z9ZI;1$XqLg$@}4eaDD^8b&@9=(+%RwWO#JabZwa=sv3@c*)MZ40@gGK;qlONN+uY| ze|gf$2i-~z;A;9d72A?hC9gj}U9UH3D`U(r|L{Q*3? zlFXp9wHyC$T{eM-es+0T4=Awwev5!}u_oc^FW_+AFGEfzFh5$r-B@HEkP2-h3ZqaY zQx0_9;JoFr1IxA{0WsWrRvR-JjbR|thG@eb#U z=fxAxMwqIm&p~+F-n_T?CvG7Y9_k@c5wVMIC3K8)%hXUUq#~X%?<@ZdSeYNP5{fy( zjk@yx;}q#tYS&@2=2??y4OF~mg7CN;kQku+Y~C!l0aBgCnY-XTqqX@a1jvI48ZFl8 znXSS0W`O2B^twzjvebzz8-yiQwTnkBVtCiy&W};BmsDuSWE>w{#I99t61L%I<8D3laf@)m~d>H2~8LGz$fK^P4cX*pB4s z@~ZD-I^67L^lyL%1vhC)|Yz zduQr56;yS8v;Lru_hmVwa_r-~j6l669=(f&CVZM_LjZ=(c8 z?;((>UGG+hchr@AP6eqf8O3wzH`+*voJr$X*Vshr#mXK~PnR?CY@78y&_OG(CrLBW zK(}!vJL9j*0F{<|R>|VsUrP3XmA#8V@ayP=#W|D56u0>B2jslM-!sWnW}ecgEgYIOyQke`Ja z8=N zwvq6=?9mP}csAHp_qJ1`87KdmaJLsa4HWrRnwhqv9LjEm#?DZacDq?_$o@n|&`CU2 zCzohPZb|J8;mUQ6J46PEv^b96FF?|;6qn0x$&}H@uzXB0$XW#pp+o=`P5vLYMcVJ} zr(YB9%JX-|iVp{}S3tXIYYK)~YKG4a7JZt8@YEj85KaBtHsC+^YAq0r&_c0JBt&?e zLOQ~6l|J34BY+IIh$wPrdPY_XDZa%M2UK>bebgC1o&Yxeae$$MLa5pYhv82ScW^kG zSwk=0xSasS1XglrMYcNa7jyJ33gd)|8o5PCn0!BRN5kb96%kxC|TX-w0*npuJuIW>9(g%pmvK;Z8TPcC@c!jW&YFdkuL}$nyVhl z|Nk)d)lpIQ-P$@1$`Hc9P$D_R(5W;GNaqj|(kUn@jf6u;_fRTbijpEFEki4%h;(;@ zbbL3y=d5$i`}nT)t#$u_GYh$Yx%a;IwXf~tSj^$#FTKaW=cc;I=AO`cj__LQ`@9O3 z?A6i=OQ3pZ{j@-;lSOrZ3H>Bm&^i!*XXzOe<6}uJw!l<%PE9L2*w}hESWTs~aCVnTu4^b>yL-cXkPIF8i3pJ5mOjA&U2DCeb&at@$_e;yWNzf# z>Y~E*<|;Mu(Ws*iIlM z)-sAxi=9|a@m$lTY%D2-q#`HR4Z7d}anQlco%CDgopnvQIT{RjENZ z9n9fLswG%Qem~CF>^l^?T9T!?U)EWa58S`<{mKLsiBhULwu1h4on)1gQrZGOQQxgW zwxcqd!R*20o`nm#=T5ZD1_n0gjjW9CBdEaF!?hr#YZHV9IP)2r#xo-I%?A0$t zclH*&VHeDYPv!ClRROYsLi zj%zntVIJTjykcB~WEzhgy<>@mxaf95`W3!^6S7Oq8IjBgmd{$Bq7$`S zv`m6vgoh9`tamrDZHjJrZR@;wDy>I?IC~8Xdn|gs=Hu;BTTsMTzj_(}ix5-Ebed^kI*tF1#9J`KawLL-uG>kZElcp&rodP~v|+ z=x~xapo3@mag)S}BC0!PGwG_jYIq~(HEvk*IDOd;PIu1!@q-iP87eN9otZaJ`cibF zo>>eGB<0wZ>-BHU*eFlM;KVykWA{vdlO|6o3Mh41v3f7ZMp!t}#CggDo zPs29yp3?Vwny@iFUE{t}X8{9?2G+_4@yK#Ni(KL4jeZW47jX>uwAEWNYg|moB>qwU zUzPw^lwNZX3BvWLYiLjo36{-@ZC1s@q#9xC;s?NZYqPodSW)$1II7hgDDIrQ!(eaJ zJ)d#VE-~MIR1t*zH7{+H@$#Ka)<^~XcqTBgA~$t=p*-HP`pZM-pv6V4FFZ-lUo+da zdtvz=WVQL0Dpq1Z0Ix8PyGo!Vct)dIeI;^9C2N_(6f6t;?SDKrfiJ+_s(_r*)mLUV zxV>RWks1smrxzUq3PnJdzRI`x{$-G@e1N$XTnuHTl6A=hj&%Adz|tGB6xo;vvMWVq zPltU_+0UKVI=R*4{UTs1cYQetQBFlP$b?E&b`jE2CH}(aRaDZ)K1a!|3VARX%pcOR zvLO-P*Nsuu2(RyCGuOM-joG$)e6@ur6Pu%OF%N7>P+jKv z+xIiy2eNchMHfAJo(T!09C##i3rdL41<}d0J$c||z##5ybT<)a-ynY9qg2)@;%Ce@ zy}fX_qsO6Gn!)d%+NML=jD6brv~7d5UxPGfGhVCQL6d|qOEj=}|30?j8|H|lG|du& zj>SybD)7Wt6V`D%YFQ`PaN}YCwjdvk?{Lw zX=frQg0>jURmz{A#~ow|$#4-G#B>Ox%=)p3b8E9tyz#K>o^P0E_R;zvX1%T8wNbm2 zu>w>Js{*L0W*tD=e-)F0bAWx@L-x-jdmWm33T8qrUbw#HxH{2jdfr?RR$~+{BxB~K z;q(5<^R4jbK{^8Ev(>~bWp^1+oTaVt`rK08XG*_9K}1l?Ca>P*fa<*5$f#{G@4J*> zyroFZ9R2IQ&}cj5`PVv%CcLcAj^C70?pYJ=a4X$G&nE26$^ST>4>&&uu9 zs$dTv>@tPIbiGW^H`y-aID;(N?IUK;5SQNYt!HAsi+wEMfPX7Zl z8?f>a+M*VH+b$Xpf@-C(j&k02DWdC3H1ucJ^oWmriFM)I8|?Bn>kJ3*Oq-R z)kOZToWf;2m##s$2?Avw{L?$OV9V5Hs<~lbXw3fOKAOmvKHYmUErIpM;kvE#KQ|BX zNg@M1nxE>)sKV9YZUTn@54MF|fg)&&d6Ud&SfCr*6<$Ly$<+7D9DLBZ31+@KQHKM} z$Q*h^pdph!WvA_`5~G|}39FQf@Y};OJtF@g2&U%uTMQ>xPD)#c1AqpbqY-jGICwlh zAHd3z-m1&HIKgki)nT+j)zi3ad)U2O8d=v)G!MYL znSj@oHXAki^SY_csu0*(^r5tFbXjL^F(;>a7c^jwE`Qhi^t)Sn*2x#+$aA%?v%~a< zZ_L*9;HX_hiG_#0uPqIN+rmC%;9aX1K6AHe3hhYL_AdHSybznZ6Ai0`ACpTF0Isn*j_Rv%7h5jP*Unah`=ElI|jmy@$Pk_Su^@k9*x#HAFbw4L5%CUo}u3It2<@ z-A3&S3BT7>QvS^@0h=5T*evh*hZ?UIgI6DHqnyP{)_QoxAd#cq7D$=AZ-%^K2VE1{ z;WJ%l$#&%}gjVD#zgsXTOXL=5nH}4AfAvDN!{>L*!R!t@^^M{2occ-p#mke-TR%8W z*}C{FMSFMXQua-W`1aRRSKqzFg2S0T~ z*@+)T3Hu92Ke0!*raM2I%u;>z3#hQnc-ZCI#3)As|6HR)aLtmSfHU5SwhO!G7^AwP zpAzYmsLgr%YhMhwJMBg?(i^}OGfIFicWwZFLNt;RoDBc_#z|xaHjcN)=$}J;Ga9h3 zFlFMX#V2=z@)dg@@lLm3@bX@Irpy}{dcS?hfO1C0oZrbrwuFyzqv{VP#B_7Su*nIR z9VrLRKSf$2hYQ99=M^xWuE7+iGZNPm43%ER8;QesVAYggv8Q*kNn&@nt0oVn94Y#8 zgRjlr8OJjSKf8v9$&Hm1O$Smsc0kd5(80az-~aT-u0CnbgD7UH-bwd>UEPFecv(44 zH}pASet<+LhXgOq`ycmbS}GN{R6i)@wWXG%)`SG(I!@xv1_nu9Z(xH?OT!Mv6a&xrA zGIqN)dyW0>{WXer7ZecFJDIU(%Fab z`#TYz_Pj0h-V5vXX%E3tbq+J15%1o;;GI`=l$yciTE)LGg~jU-Q+qobsE1BBQtl-w z_$I+WcjtwxKo1q(l{Dl{w)4`^1KntA>k7|y7TfAS%1e@ zd9?R3Jmu@>8(oId{8?#|_%u^v@`3jhN;ahyre(6+{Jy1D|A+-HL5W>w{^3`$G!b1C zn;4pCI{2)>h_Ft0F`vAbdzx(5>FX{#tMKOxA63@hEK$XLHrp0OF`;hG^q4;Vi+>B; zBaVQ-IHac2L3*`Ae!+RQK{!)lqxUWFtASoXijl#DVR?93%x)yAS!P~j#`3aA1j=HZ z;=vuhlK0LWU%g6c(Ik8%8hJJP<$KauvTJ^cLg5wUJ%i3LJrN5IE7iV;a>#c@p}sq= zv@H5}J`U+II_0+beoIMX;3@UITZ_Y-(s?6>)qGk^zpvo<+^;L zy*e@0!cPh;&p7YzawM?DNiv{(6e%1Iqo1>#sQGj+zVW2I0(+tK{-H#TuZ~AguOm&(7E)>meB5vX2 z`|x2ab-<42=LvO{WKJcZW_=s;?TuKZ@_%yya?}3|n*sX5cM@paIHav1VLfOyhl|0k z?A_W^JMRqLj~cBA7%?DdedImWf12A-;`Hr7;Zmuea8cUS+Sz|Y@*a}`PT*M(5 z6Y5^y+g3E&6Rbpgy^0oX@$4o9b8n@WV~ghPPXOv6{63V8{mY17;Hr|MrJ)E04SKEZ z$5&qW)8P+FKz-Ni0*)W%S2n`TpLE0`l8dw95GeG2jMgg9DBwWvmfku=6dNtl76rp= zx@B<_5%U@OVN!(lXIZ>_D}fdyXD&erx4hCGu$`bPd~nxh{5bjWIEgN1!=G7T&mXu? z{p4*0^wB7P{HTetu}_(zi%r94_ff|cSah3Fu1iLC%~fyP)lYV7d5`rOTC55`&(p12 z7js!7*=26!f{w-`(@rS(FCKi!FkE|MXQD_g`fNRvhjZdDHVyFMq|o8@PQ+XH?4!WS zO~{tlFOG6y-Dd%Wt9Zbw6{ypWkwnJvk^J^!B9jID6jI zP2$ZR@(47`I6CuuO*;an#PA5WJf27MrncT>I;dJp@4hxcsH2bC>~bZ_dMcb|sF)K}`w0T&fg$nmV+Ymg#oljjgMF)C+3h z@1Cf4bsu(wl~68O`>lNyv5?W-6feJ%NO^tu1H0Ajro%j)iNjA1x`AZ9(%@^wFee>v zf}cKMWlF|U9}Rb*c7H5Ki(K?;W?BLHK<_&2vMgf`F(UcL&L`K#ZUHvZeGhCxKA_f+-{v-j;pq#Tk0ixzcJtJY>Y7RG)0AYzn_6yn~>P>r|PEZMi zv#GfkZJw^K;h|;h2Dp?BEP}~3mc^D5U@Q;U^BU>9iCMIOGO&spAHUQDd=;|JvnayUVYQ%+@9H??Gg%=Rt*mJwmaCj_^ic#Nzs(4kM{%JEw?yL}pay&0 ztqrO$60mFpXv?gOJ}pf@0jOnnuWR9huKMJaTg5s4+r(V`la~%c5P@9bN#J3|^MC(H z33Gh3I&=?!s#KG%C9o2IU5<>1H_j#N)F?zApP@gjAQYY@*(KN>HH%QuW^41tCn!9} z)|9jt$=Wa#m@hCG#UsN-J*1q&QY!i-Q#ysRQ^(6KSiqBWjirr^9m?PDwcUyx{ZPJw zwIxCHrUVOzvzA`&bv)K2uRcI^yZmn)dM+<>Ue{rX#DzZAd%T#35ernm?U0B@eMoCPJ%sQE{~dy zusrK~7f=)7_BE5ky8Tv)#{LY;sF_wDT7W9ydqEhzjrYs-mvu@$wPOv#Ry80L^h;!` z>GHyD*x>Q6bD#mRtIrqeNi);tuxJLX3n16E;74yvkN75ac~%MJ>Ix_tmgPKDncTPO zl$?BqUJtrv?A<-3oNGzuG0nKxO=%jr7;~sL_5nO)$EQu(t@uM%!Is%0K8oLfI7xOo zDF_fVVfIMBDuVZEFGT+Uq$ZN90FIK_Bp_U1*3sf!1<;Z9fqMC|m|HfKpI-*NP?tL2 zuRj3be4&PQYo3pvW=6Szro{F4?e{$c4m}}!mYozvx4s1};aK)Lt9j9u-4rjZVOcK) z(6@is)83otUnGc{VZ!Jgc4oX2)V8ajY(&JuAQ7_NEbp6 za{1_-jf+!Av5|6&H(7v~MW-!YhK&=PM#_)IDJG4Sg_@+d(mCFUC5MEi0DfHUQzijH z3F%Z5^elci4ZC^dSt?7mIN<{{zkbtBz<+tc>PJtRz}XEQw9ok$|f2JslpQKCL+i6v))BvK$f$iUIWid!|C@WbP(p8|b?6+A8ce z?5v<2Sd5uUEVZK}^>juW|y# zI6`L%-|Pz0ZJq{P(fQUc_cAZvWB?3^u>e7ahCo=4g4BuTXOp&X+jMeA9oL?Q)SzWY z{ZBX4w2(2=QU%WEM?`Gnn~kTN`yU=l^u&aAIDc_zJpSr5Iwef5kF0n>S{1~3y?V=c zNzCK&mei577z=F>eM=^gR>Mk$8vO$P@_G$1qcDYI)5(ug`zR_$uLfisa@!t=<2~rC z@KS^DOBSx0bQ?=?^2N9w{Ccc$^gEyCF9z7G=*m-!N|Fsf-Psczj>;@{|Krz&$kU7F zI!~M{B@QI8GH4W7`ciyTLX+I1f#cw1#)^L8n<$DblNYJzxudCt<34-1w4x_5wu7K1 zL3ju%htxaxn#Ia-w!fF-)y7v!T%9bfFIfpc#5u&|)R5V2<{r=F5A0*!B_eVPkzK_* z2Ve0lYrKTFkTcS+=9TXLe3+0v)MI+&BHbeJ30GeCcCQv19IQG=^^id+k zvM+l61?H$D;7mbG0rou<*>W5JB-K*wo7Zp?u6I%A$uKSix^){)?vj7Dxhn<6E4dL) zp_u4 zUGq%6hSi5G&dthA(jWU97gqi_`TrX}Fgv)q=gWn9wj~oUW#(-enQ3{ZkWuG0nR&W@ z%q4X!vgsNdw$pZ&=|rP@AEGNX5U_Vzx{Qm9`6&n*yO7}4f{Qp0ioqX4LP~FVj-2aqpUIs-Ml^Zo~N|!P+#uD(CB%lAd>W z1RH%Ey1*S(7c5*3HSuQEc+E5ttrg`po2QTk!)~kJKe5g6%n!(;uvWI_H6qWS<2FhB z_UbVpIdClxMNjAtFgOd7IP`4LXrXTd<(hyzNu1xoua34(poeJBnWzLnb#cg}hzW_; z&ODoERr^3M7nrATrtpPTatHF<5?Gct5cms#i@v7y-IgA^?KBwxP-ZK5UI9VSuM65z zB)YS?h8q_zjPk67f>{d|N3}p$%K8B(w|jf%XXC*=QXB>pJ!MJL#R=b~dy5FK$9l1o z-&0yBz;PO6mVe5C-hHRxSG45g+^_i27jS2)Kj8={Qg_mf)AOS4n9@1{I(D55p{ZG| zd&jS*&R9yR7>h8145+wvX?9je$|aoem+sT|u7!hE^8b2SU-^4!FE{uSp4U0%M(?ar zu;r_=F)P;-@f$xKaQPDopdgq_-IQG>5^t9&TkOtIlH~Q*@B<_WhqgI#{uC!7rE$!N z9_TwJ!|suRv=~8@-rWt0H*ulBTehAiovnb zCz1Qp_f2u|4o!oJb4AEjQc-#8UV?nf5%tLC2OU0WZ z$Sb8a2UY!X`hABX>mf%3*e2ojLj7cVf7$;0KQQq`<^ zDA(SR$YB0eZtof{hB41HXFn2iF<`uKp`D!uXofMy-yx7g6(~JH!1C1VKf^El9$QAJ z<#dOWQn2%_JPAhfr44?lQ~fZ{olN;F2?x)bP~oK1OJPqfek-^=$fL@6LKIHY2FqNO5g)>Omb7YM^U5$MkkEZ3)u4S~rU+@yOK zNsQP5*oWSOj`NI1k*B#iVMKD(YqR#`x?n_q#5(?riJ{Lu?2SwfV+X+zgP)q zp5&2n=QGUGdvQ@pq{*k!%Y7NkMhKSjR{G9}`x|6ZyZ|7|ltT`uk~G$#l$q`GgSZ1|8@0 zPFTg|KQ0RXWqEc}H&2UEIw1rX9Kq8|if91gI00#5Sj^h9>Y=H`*?1ap-*Ieg-p7(x z0W=6=21>FJO`{vcz&VAzrUyz{*iLt)8MCQza&W542j%xx=sb=8nbT{YCP`g>{bWd@72m2GrW8=8`I(^VP_4564as1`ZNgPFOip_9I&i?2GU(+#WcZd{ z;P34Ei*An6N|#49SHViJ7LGA9F&ic6OD!LxIe_8g2=Aef;&mjz?s}O3-E~BOcI88W zu8mEvizDv6Fs|`3Cy~vkb7$J`bN_;rA$b5(@ve#wjHmmZM{~CEA_ntpY~WyE?++lb z7mW*yVeMxReAkReP(E2(B4rnPj^>9Bw3%WY5{dLjE?$*}*a3>HLf6Z)!FYr0SDL^| z5MKg2knYgER{XV~=2nDY81r~D;auyL-mne17r|L>={$$&afHN8@4!(7l=Fn85@xsj!o{>j#TX%Q z-aT*(+-x=x&0$E{DgBaxLALU$@C)ju?5F(bXV=niTuxXQLbMor^?6k_W0oTLy;O3i zp>)5003s2$J3oH(l9Y7l)_AoSf|T|OW=j<2d9F9Qsb|rhY?^c$yIR82fKL3h$|5>M znPiiy_c9d+PcCv}m3dpd+B3`f*yNrmUQ(-<%VTOPn^r6%Vjz0Z=mS9Q+1(xqS`sm* zWk%iK52Ws!BZd=06@}^D`9}#Yv$xwNtA6!U;8cC#i+}N}ziQ54>ZB^%U1L!^j#ZzP zgpqpgC6Dk2qNj$YyKsvZK6$QT5LF-;A}oK|< z2OztT52D#n>*<9S!`)tzn^TYLYLG`3b_)kEUVW;`!JJRQw zQa!|{3cvP9bOq^xDt%!o_!$2#64J8nfT3Jc>o#0&sZb^Ah?n1$9S#Y%pL<6u zAh74naL#1#PLPa4+j6n6YMZ5e7*TA?{F$;yU=MAieBwY^mdE zv&;henc!|OlcG`if7qlyCaOT)EXS$L!5*#E=uNIy-Kc4-oS}MtFAEOD-MxgMxp;&N zGwFG?Up<%}6*JK^Hy8{ca^MJNHPx*Cx4hx47RT#M>um(O!NJn{^lmpxa*sVHNtrLq zz84wJwsnMsq#>SaP(s4@0PO8N|G`tSvdott?AW3Ll#U=M3lY)<&6v_=O}5@yOcqaw zwBCDHU{|3nkol!&eND6_8{SCDmIwtgn+5}8F#Ry9{vXDm42+@TYcR6>u;3(M!7J*t zebl4KsIut_JRl%JmtPc{Wa|8)Typ{|_h1!GN8zV988qx|EN3H+XK0Py9)aH5hI#&K z)-<(_$RA+P^iB{%iF?ofW<5?Qj?BM2+Br79)O5=_O8-@+V@&%wt-yMWl*eojnzZZwW8wzbOoPDo@l{e&W&2Oi0s=hgL+1uIR^sa5_;8;(|F?I3A{RyLYbI{@ppK z;TQjsX2Ff}h3OgH6}ta?(DiA%T5tKi_cIm$#(8`bIu(?{~Iz z=anM2WFRefK03Vf&xyVI#0(5rMJgdhkeo*0pY7A!OY#DFJbpnr^8*+5HZ(PXY&H+W z0tYJ_8+7<|rd-4u7u$<3)2t7%-+bv!X#S5p-sx(8JA7sg zq(C=@&c4PHiic(6@5A)9TX z#->K)SKdSezl^2(So49FF35e{J;5`pCa!E-iO;uZ^WftGpV2UNPL%yT zd2t9c>TH(U0Ln&od$qeY?bJzn?{vaDm5?NyCO&dP7CF(p(wo=`)R4AC3z^5~{jk_n;`Rt1x)rk0RPoXG>Jz(Q z7W;Zx7Auu%bylMSs0sc|q}or!zXSb$48;|V$>vg|AMekCmk{HkTN~Y-?oq+j2BVI5 zQ^TX@o)nT}BGSm~@TgC5Tu4Y*#0c!CDmor;SS67xaRxFnKadh9(@?#PaM%)F;gSG_ z6ciLT1Q%d$CH^p%l4nBIn5F@RTPC;%**NSm_Bp}%T(!GxOPMG&qS_lA<=foK`@AU z76CulQF;iSrql!FKOWT0m2)mRx)^?T<3XQh{%Rj9jg2~!yd|HR3>xYIpAY?f+vF{) zjD;9^lh6rMjzG4hQGQ-Y7bQ1>XF$@idoD6}grtn_jDje?uj$TW-rekn0Gk7kloGN+5*s_e z@e8fBIVEuLep%KI+ye#*y62h=T9x)OopVRknQpRb3?$ET)|8+Z4uh>WcK0UW7*6X= z=KPZ1iI_fxsLKeo2d@OLzbX@k@nk5nC2*;QM&Q%Z(dklrY*4RpdnkJPlLYbcBq=K~ z@*iL}a6xh60*QJ2S-WAmKLnXdVj$1Jjry>ct5MJScNsk9_qgj@ z#;lF4#I$qdh;?dn#kNyzpgD-6*p4D8f*_mT8{{HmZgKdN^JQVs&RfDhY17%={3fr- z`#TpHemfbCpdBN=-S>(g^)ZFQ30ssj>|xy_qID)LrVoMK;3JbB(XhXpDEl~o(RmYU zcjI3iC01UG;FROwa-cr`wbfE{A7_$<5C!W6n^k0pjD>ir6PC}s_Ezvx7sK#%iDMv{mz=EuOvrh*=u@2NdUVW z@rCx+JK@vb5RGruZIvav58EB|MV#n{G2$Z!vTj)jbPkX5-x*UQ%fNZMFKUtg$HQ49 zydJYXdwP<8w=02B=5Ecb#q`4;GG#YNi;Ij_C#TRP@1QRq3X}KNhnzRjagy+OgY@o` zg9ChEIjMABrwi}MJHLun8sh`q%~WeUc>9{(EPb#ETl4s`!H{{6Uj zcXG1b*58ZK_-6S3Hy24COFzU;v`X~*Gyu7)pgdI zh$s&@hwC42ZTv3!PjsXjh^lOIRF%Vcbr;L)sM9y2s6Xbz?1C6DUS}6-ppXHG{>uW& zjEWq#c!gVd2QPGHJp4e|Vg&(@o?aO%(Pz!@*p1fm35Pae-kzsNF5bd7#n$J1&H5_G zeFvW#SX+Q_a+nrhY8IrveNm?9{$$B2Ja)BJ(jPR!Xo$<9R&lhPHVa@=_=|g0{!%!~ za09bcfKhv+KgTd+Ofzd-1XWsO86(2NWnAZ$HJtZ%5<^(C4lsPUP#TZaRlEOk zDw^*y@je3K2-K=ZVJcb`9MS~&q>!G?8$OXsaEVrRPe+BOnSi0re#4qK%{$JzW88-y zV8|~S^Y^?@a4Z&^G)~53vXEhJe(}b^3L}72n=KEM+DLd{kOF`tXq6Fo6t?yAet$Fn zI;D176rp?sb*djJ&{e?!Z`>jZTn@5XI^1bHvBehk1$>qg4SYG38X!B zV`bQ82eD+32k;BUcRuz2&2N9^P8ZP{a>eIX#P2v>Xds`-G7k{FaIuqzZ-`Ag_svIe zF-6Qa=rJdM;XlFD<$vqSZ4|bQGUkpd?qAgzj%|HOmYJk$K>u>BxX5j=ly(reG~~B? z;rqX{k(q&e{3F<;@akK%h$1}+f`P3k9#4t~2pA9Pjv2lSjDP>qTO^fj}^Oz)H@ zQ%KI)SWs~mEqPpY3s_qv+XNtRk_jfJ*ZFYRhNJv*9aTB0;2rrGWe<je|!KLezYK_xckIgdJEiJBzVczr zHi^wZSmw|kf}3oVv(rahzP%R5M&zb7ak$~l#;AgAaz4TW`8$4tws95k{JYfcOav35 ztd>Suyu(n1!qB%RqAQ8_l;wI)kjY5Qh%V(^2%oX>p_Cd>N@Kgg4cmOm2FufyiK4cLhwiMJfwU%fotEbDNzAfO=O85y&VDl}TJVL{;zHS)QFsRURbrhj0? z9u$kTs(`Go`_`_I{MA3Sc@1nPd#M|ue-iJW$u9U}F)5}Kpa!@*+8=)j=QzB>o;PK!WbuD#eo6>)>X zRzDkIXDLqNn5d07-knni0?Lrc^q*PNF3NE%4YS7VBA;4WrAQDg>b{vJgc7;-T|-~A zlrQ~j!QJD>2?NT1ecwfXfO1-Uwr;oaXY+pqt7fhL#B@G*wU3MO%58EI)Wd}xB=U;3 zf=&tqCS(<+{H^uyuwYUy@}Jv%R1;EUS+DK0`D`O4yj{gyI!eJv z94+Huf&HzRb@XyX6=ZE=x-a^-6ku3$D>FU1!a4J~aqX3{QpGgS@Z8}?lQb~$iE^ZT zcAbW)%(+@Ch7r)s+?(|;0iDixaVBoj;OLel8t=hwlP$hnF!5MU)=hK_Z#~YjpZw-J z6MmVyI8rQ1Si3(Bq}zZ}j0wcBi^Z6hNB=<0wH-@+@peZ3PhAx1)2)7S+ml8X#;qeh4X!vHi=8}%b>~37XCS4xisEl{RAO}3RRnQYXyZ>_4L`ma%7W4# zXaVE0IggWDU9&M7c&YyuexIrjx0E{;U%^~xE$4Bf@*D$R3(3ZM74=~^&4GUyC5Ntm z>3e_g*`;Ty+RDjOIQskCOX@2DPIu5M(jd&#ug>OgZZMkaioQPA z=`M5iZR$txD{w>)RO1Cwgx+r;g74A84#LQ>Yq&7F2RJl?Pc$o?E6ALe((sSv0j_7l9 zijZ)`>y#_$7l`a$kkz9hFrOP@&o*V*I(*`#4Q>3x!H?b5$5~t)uGXSr*|;w zoseT|WBi254~PsU@{cmfkvrw4Aiw{w`2R`5jUO$0a|iR1|_i`-uL% z6a{U^2<#{|diOttD*D&J6-d5nP4CBbg^JVg=H@o(p@7!KJ)6#CwK?`gwr_-UP2J{3 zy@j$%Nj zWAk_kOlNOyy+pOB^1J1^X|0ybS!Y$W1w%Ugv%MyBM29U~ZFG$dl>a}d1vn2LrYh=Xxou0TY1ExSKUDgcwgb$;09Uxtr+dNj zfP9a={4wqM4}lNw*E+ZjHClP%EcV}y99CyQO~jwMw?i&H2_tXVfs_IPfi|%>qw6l^ z`?zfiW9_bd4qAmXg0OIs@y9gmYDK|aWSvRoTOSYIBD%=;bEkC=a@)LkQaHJ_QvF@* zWO^*~_W_}r7WzO&G{0V>QKkCdPlGye8cL*s9{tN`-9^Ja=#)D)70{p%&6v3y4fFn- zkZ0cG_OBk=Zx|!w7_oWyG8E($VI;@P_B_h-Gh)4=HL&uWBizSkG$xd@%!pjiEaY*e z*6(7{i|BhBlylY_zteRd_*Sy3q>UhWJ`=}m2b#V6{KbS_+p>fk<20;>jP^VvUS$_5jJ?l&o{e^vs6VN`W!^cA5CfZP?Nv!R07qiqg0bb z%u;JPImF{4mB47i*;lLouqc`K68kEhWgTJuBp5>UW-u=zb}7&(TXqJ^NEmp^=|U2+ z<1uiz$GW4153ZRIdv6_tL$Nm3WG_WGWqs%}Mft-zoh?JOJl2nCBqezQ06kkMO78!= zSwR0{dO`O@2!FrstY9atcUhMQ|_Ew*7*R~>zn;9;--@fK^5-I(4{cA&jV#>FG3+CiP%p+r7OK4 zIm1xLROAB8$-pH)qjW2s8G-3|>Arfq^kW-@6rnay--VBxT=z7$9-%?6m#Ww$!Ahnw z{~%#ncwKg-;5&|R@;8C#K}X zRk!VnuJv)2liv{=o+IX=zYIQnWB=pu^1cTvqe0~ZI)FA>G48{D&`2jIDLsQ8y&$8@ zto2ImUS8?l3>#<7^SZ7KcFLs2RMOA;KHG_;rZzMhNyNb{c zGRd35$zK&@LIURAOzbCFALh{&*Zb+3;-0gnAgSIKKKS%Eq85d2+ZD; zyw%e@6k*JJhcos%{uiro3ZP>QWv*8XUt`7kxBa=KfIDv~;=tWV37SVy{}(W5zD7I( zjA>)3{o#9E!saKHU})+X*aHw51a#eqzIH3}08Z!m=)mfq_=E*wh1Sa5PUjD{-sSrg z@xFY(fHp7e_pd50Sna8U4$ydbj_)kM;`vS8`nkL~LB;eB8d=Ww_2ShDrl$hgvm$Cw>|}k6o*1A4O-iJmW!#ehn8#j zCpu^P02N=pWaQP z1Q3r4=es~YlkV@RW3SZ((KBDsrKv7oB_Mx!^}UbbyxOXJ(aouVPKZoL$J1hsEI=vw zQ5>fZCwhyHA%!JNQgd7B?Y+jA zg=RcbMHWHrk#khlGajaf7b*Ls5X|wxr~I{l^CVIgz}sWH@AXR6pZ+XKSJ2B>fuesg zUt_Da`TC0LvMvFcHnC*<`0Cn1*UC(@*D19 znUe=aoI^-e>sA3B9k|vD{kvb}lwci(3d)<(D}cbB*#Z}XMHQI9GAkVQfg+@&DE8Di!0dke?2y7%|K;MbfgFGQfvxiyxhTrWe?;#1elo~lDYrhAw%n1FCoUA%ZVnXZ?4m@9v&SN1Zy2~L z(inSM5xKwX6|*;6XIto1lHYTI@vqw*j{bdDW3`3^k=R<0{=WwY{Jh9^9T)R_tHCqF zB%NCYY!iwED(%JA%YwSP(&~W$GC8EHT#aw>K3Wq;*;v!wO97(I@@auh*e3F)xCba? zCKBM%RRpJzJqoqaq3{j-l_HZWXg_zBo7{QXH`n*p!7bS{!kLqTlyTU7Hn+jvDn*5W zN$S!4cKlPm_*P3duS}(sn2DcNI(Sm@k8p7K5P1sMB@(z;ES)oQ4#By#25HY2ZP>U5zP9IYOeHD>W3~>2rtnkD9m?xu2 zB-n^qSx}r3t#hv{(HK6vxpP)c?kzt~wPW!F9vDXry-LOR3Afb>!=XOCN&XFuO`Y3_ z|EWFwpH(tzgr-Idc`s2vFpkBIlKkA@7F2{kNl%)Ypq}QX`p(Q@mMfMhj7@LkJ{Yemr+LPf=ec} zm*^i-0XrY=%zdI4joU7>ILtYdh&`-;g%wKMSCXqNh4Sw9khee$RTIkIx3xbr5D{mB zwEOV^g~G1$6d_?EE~o#y|LkJala=?i0C`MQysWl5=cNyuAP)# zo|K~N9J&6R-qOxkX1k}R{j_UV=hN637xXMyp)gTYqeShCh9tA|zYN6Qn`W!2dE6tzafE)ov15Ymk;nd^SJ%DY38bcoJC#=P^dDDkN%dlR@x*RCdm!hdFY-Ui{$HP|)SJQuq{i$`!38JEZ7 z-}NR93lFOvCpyy7wHc76+LS3jwSQStIPyI1^tr_I1$CUCy~+IOoq@BHfzKIXE@vQ}{UnZ^T*m9C>oyhopksm0N$~`kn92tFYpgDFm*{m$*ez#Km~HUVWon763wP7mh@~?`Cz%cot zH~Nln5+HgG13PImcL5TV&^g|Hgmo*B#O$D#awgY-(=~ht z?!61O@;Se5x?*7BZ&#oc;mZ|d2I6QC-uu(IUv^~CT~BVjWy2$aMr&i6O~y~7^q?ej zMr;v~z8bf12DEv0TMhB#(SCVxpOVIj!u!S;>=zD{pabDtIb29AE`+s)Nxs()q74uE zLIIC6K@07W86jiF4+O5Yb=(c33b90W39MpECvsRD~le{*l?P=F8sxZ&ARb$(WM{A$UckD z2AppBw%G=n%FxXLdZyhI)AlLXzIz?5+iB2$RGfYrFF$u(UZ~~jhoKt`pK)NPWhQaB`Ti= zQC8L!?a~2~ddFLojA16)AC%ZXU0RjJN3KhDEY|h$|oagB%L9M$H zO4&Fa+JXuL1b2j9-}TyRcT7Z}5ki+|z1SnUU09~@Yfa}Gc9vfw6P>J6bf^RjT~gk7 zy`ipRY{gh#BY@?g;Ob0zWh!*$;|y)$Yp#mexdySukeyDaOTpg_-+20b{<-2Cdj`Ne z>sDZJd#ykq@lj#zKP^`r`A?sh}KkW!@(NqkyVv^c0|{I$>))^W&WMvGVJ9 zb19_0Xt;jrXUT5Ll4O^3*I`NBYSAu0x*3)3@;;aPPNkOFeOA9-wPGoAtXH>`<}rLu z^f_J^D#m@!F{+A9FL zsL~qHZRf170wj|sN)`Z__KI@xwX(KhLgNG3TfE)}N9XKdVC!)&+WqVA_P^ja2=8Z? z?;n9%`=lmDB0@&le%MEjWMVNn_oGejhdWP4MxMI+keM_J4P6X{n`PMr6K}em@0Zu# znFp38_lz4I_UhyT${Rdh`}N=G(J&18NilhoV89h=K=pjw=XlPN{wn~8hb8onjouXp zfIG1ndl#v!zZ`%oy3Z0}T*b(RdKMiU5>+G{$L6P^C#V^PexOm2u(CzZ_ik2-Te`k4 znr&H4`DEeO_}H(it^)0(t`j-{5c7WTlZR$QS!br0(W@x-8j?a1)l64`;9M;hfHKoj ztzJ|n+yUcu0Z3dHJGrY#DdpB{_5_Kfa1M)ScjGzL)^v>+Y?W#D3I)Hy_V0X5aXxfj zX^p)}^zoHV9=I1c>4x3#=M8Nv>yeiq*uHa?wI!HcJ^$ouxR=nr*SzOeTksjx1iV&M z`7plVPJjdGq55#G?t97JAt1f?(=V|_S7xunt9r`)6}v*(@#Inx+u^EClU0`o;6szQ zfR2MtLqWp7umF>GFQKF<)LaRG8t53y4}jidX=ilOLc&MNa1O*jHF;?+XEi;Les*Gc ztS%Hpa?)ZOZwOG7Icx@h`u+&h$uLO;;$C&`1Aai#YB#RBfgPZO3RE})f@eMza2a{R z94$yX+WqpAi?NR&3FNMIj%J#v&am5j`OpH!n6t{-y0+H($49wWdaHTATmBaax|?p> za_i^xF(-g>`q`(e>xvA{jAfWDAW?s9{w4V6oLs0{#v}yLI{TGCDsRIZLV?WK;ZkG88N{eGhL2v%1Z{` zhINk@Oio3I)S%c1uQhY1qcA50ONn~m+t~3`>l_|_}LW7Ho5Xs%rL}~ z0YeXh`ptLmLnuON0d1*YID}8-cEC?tyv{kft+sJ93Hhlm`i*!eWiNl4Oj6k-cu4{+ z@oj(>V-u-z@LISGz#N3Uoz*Y*z5sV;u$8&?y}#oz!mfZ$JW%sTobJ|r^fGH>-+ul6 zruwI>%)74**R$b zZ)ujjD4}dKmr-pnxfXi7>cEx|wzV^-&z(1sa~~ydJO+P*uS$Sr|W9URm-jXn_diNRlQ-Tmut)I2RWG7R`6i0x>3CHa#4zZnQ|g4N_Og zz?wI1F~%TELtS{tZ{Yj{4WF05k0KEFa@DK9x$J$AAsLwTT7&MTJ)0iYuMoSJ%&+{Z zPDABsvQ6=o_56R(Zh7&SycwDWkm~!^S++Z}FPPB2T1^LstTxC_bIHx&T-CAq_WgI8 zUVD{Sv^Okt=A4Y8fo4Ni zz;1!#(5)DjNS0Bw?=LdO8Hode9-O4(C5szf<)b1$C^?%(q!DeEHIqdd{Q|*! zS6L4%hJ*50W6&9d5&pQCz#qQbx-38qA7|X@Pz=1W@IyxLm+?w8<=R&o?1UNwdw>Rw zod9D0V#X31T_lpr+-Ptjz;qT8EaCBX4Q`D3F(C8JT`dyXVjf9p{}R&TgJgaS16h2o zu#hsZnA)qV{@h(clkXp88c65RjR$Bp615!);nP+>2Phb$EyLf?z9n&ROuKEtOdx0I zkGkcokY`Q0fM6%e=%#)ka8#E_fdS4Qr)dKy7kDvmnNUm*(tw`J9;Yn+h47L+jD`a3 zyI^)g)p?24l%cxmFu6&&)cw;dURs&a^@8m1io4RVpV6Fip0jU1rvPKo>z3&fd>7JW zRA4kKie(dk`5TXxO2pSF`Cxvg>+)crG00;1=L9c#iit5!1YNcY0xB^q?T`R%%7Mrjq0w>okmyjzyQ= ztV?b0ge>q3=kg@`wJ|m9Jd(|rmWYtt>3#!T{v2S>h@_#9)E%({QxH8T(o0PtV_Nro z19MobtOPFW8@mvg$B8J-!}o>xX;yRPRg(^?*RBLeQ|)H8LrT3b2&lb#Z9(OnX|AnD zNMfnoK?cB>O~e@XI!M$=Z=4eVUpL`8;IXz0e)YX!N;d`&sbKubH`6o;UJdR)tyHV0 zbq`DlPPyyOrws^YlOEwJmDdU(V2dQk$EWEUUpdEYwjR6rjg5TQcGqWZ5QV5+yRdvk zrWa?A0uY~Rs(TuGj=zjGic0-R98d#j^(5BH2ja6pn%i_*F%D#FX8SWu>)VbBlUpGM zRF~PmlXK(9UGTh%wAJwNTfaD(xsM8Slrj%ZT!ZAilR6pT2AA+UVoI-UWJA zV2A>KG#kn!%Z+Y_s?SF)hFgKP)%=$hQBJ*`Pw83_>rnWjMuO5l<=iHNM zb5SD~(hZcN%H0bCRAW`*ZlvypSm@*$zkcS;`h?WTTbLciL?Y--*ktJM*D*L48QW~G zxFx=n5~Di5Et|9q5eTjJeb!9EXy3N9oood6?Sk_+2x^fwtyfKa=?dy*HIs=$+@ACX zMAWJoA2At~Jvte@6TT$@RClkD(l(swo(|`oS8EDt@5ilt-ZgEF-^t zc3hc-`YPVM7;&LjI8j&Lj&MxanBz~GU_4*N>OZiynUMZDSakP!o{v-iu5o7g?`fVO z87Rgr=J~7FRo6`c%4@YQ0X?fPklE;b*JvN$p;_{m#v(tQOW8aDiWGGnV=w0j$(8|? zD6{nLq_?jj{kWi*!!Jpz&Om(nzp153F`1DdZ4`y64Gt(LHDoapwPjSPOu-|;<*v0w zLweu&4k=?Q*9|;Zt)%h$VbJY|(7RAh6Fm?+AqB?+SKX&dJ(}7->&Q!sw;wsZx|b{J zvW^HwZRl=dsH+~-f%hlie4+bhb>Mew$T0cxTN;CkRvp@$Q;ud8>~4%IsR5oIE`>~9 zAZ0nz)*sGEQN|oknH&u|O+4cxNZRy27hvgGcxPF8S8W%QiHL_kM9u&O>2z z%j7L2WRcW>`Ujt}cm&>Iib6* z%eX22t;HK-2Ik+pY{N_?jl0yTsDFr{3SniC}o>% zK_-@=FcF`@HDk#*3*aA$zXKE>s@~34ua*q}MMu5eueZao7brhoQeB`JE&ODY@BY

}Wzqiy9D9*Vb+=%b2RP*J-Kc z$=fOedXZ5EE;2a;{+QUVC7DQ8-U`MYFoCQn-DNztRx;yS67~-|&xif{;&K;wN@)vp zrkn_|i49^o`m!14OQ6zw?tC}+r+*cS_@qc+@$?tIa(>Jz=V;#5j`r;d*7f^V)>Y6) z72`gG#a@qZFpm9ZY?w^_?q<@<8%9DxW&i1BYX7U73G~pzh_TE3rfm?VN840haNaOW zd;-o#hj9!Px`3P^L)`t93eTx;E`pV^ULafakkJ+s1%I6IHq=VTiQ~%A{E>lYBH+)yED6Z>GEz5@6@9{ zI)8fWo=A?TI;F}t2<9(jKLCJB{6$~W4XRDe4)Oy2{8SaBARzbK!ED1IfOHva1%((rq#CH7&-5g&E?j!IQ?oI+OyC|9;nN165DDZ=2lYaI)Cj z!#TQioesJDeKY1lq?|5&*Zo?-6Epz^ER5`1SU&5}?>mQPuSM2Y$n$iHA5Sq_ZbHGT zL9}`LMI!yX!5t1;VqNa1R-bcMiYS{HHXTJ-C*E72ud}{zg8hCvTqTq3`wwzPXFC+o z4^mfcQYAEBtAA&B+UrA2M`KuaKCa^>1yycyY=UmT>NA-B{oyRoP0LP)=LR8o85Fo# z1^3#xSDYlcqE&}4LwpP6c~t=k+oz;^O?izfyRM)303zs-@Sbz%Me9}a&_mf?KR5CR zm)*ZSSi3*7U)ky5s@Cz6Lo83mWed|3aHD)=T!R5)$}GjtZzimkH*GKf03~K?v4cz- z_n#383daWUrus%1rt#Z<9+Djk=A*g}04#%7tqrK#p$`d_e6|}O9iNDQn8Dqv+1#<9 z&NVKraR+HmbbbRUVspZyw7*~IzrQaMqd&XGJl_}ufNv%a;6ajLqd`DT%+>)vVcrNB zp@8!*3K^5jFhTT=O88u_W92lJnN56c(4*`3L&reeG5i*=js=zZTaxaxxtnTfCZ0Op zlgAo>gzO}UaK$5dwk_TyIKk&x4`oddGNa~pkES^d4b|%{8;X_*jrA%FY4}1`p{Yto z$l_c%DeI8)aIRpvlXB?KR_Q$5L{<%4lENmNKRlbAfrcKn9f0~}4s{cdOB_|HVq z98=aGACxtSmT*P@F}Q|D$tk1#&J+AL=t&MKRaNB#V+_rd)+{a6ceiqB3e9*_g2}Bs z?XpwULhiPU4E0wN~h?@Z+ZO%%e^v;9bwCAamK zgKfRkDyRbty`db(ewR<(RI)SBbePJ<-lsc-R4h!hQ2Xr}REN2vRmd<+5c5?%+Jx)t zps*)+=IXUE3wpT7?KrjD_Jk3NEdV*$OC5{Im~JFCzdjlP10?MUeboAk<`Wy^df7e|A8Yts7}5GMeJfn9vn8jX8I&%!?~ z^gO%lWo}G~@vlm!)8Ib*RRuQmb(Cfx)&G+36=VVrzPyC-z3I()#Ig3mz&DN=pnhHI ziLtK!Dk`-%ZoabJ#h4!ZR&DpG4n4ebM`R`E!i$muc-n?&G(kKe74dC?9NMl=IxGrOfWPpzKr@l_Ko7?db3@$>u_P{g_S3hr`>MOUK^%UByC&4SczQ{&@Gm+x9 z8JN?yW%VwXbD(|H>yI|~3ZE|U6SW{-On3HK!{7}x9Cx>>DXSA`f}^RrV@%W9UbrQ7 zfHhL}4GCiIe^QU_xfa)}RO?x>OYrOCN~eX4^3CF!XG}(<<&Zyu^U#->U!>mz7E1Q{ z?L6JhoW5dmA~kgLA^yC>8zQmrgz3ebp5iJezASd(uu0>CTt z7FjVDr4ZtrRT@tUw;|&dng!u%w>hvYU?k@islA)Q1n=Y?BHeRBjO{0>>EVkKMfaWJ z#_zv%BRb&%t5AIE(yueTR$}4Mg{wk66RE@a{9f8X2QkGYT+z(bzWVJa54RA$_A8oG z6&v&K?24hU2^XOX?A(E8(k*c$w|D zOM5}eOTB!A_qE=DP!e_|yNSuy(N>W|W{m5WA`47%sJp!14&_Emtc+SLlFJWOCO~d#G!HJQuYm%M9s-!QJHJ$3pyayL}?qQNGr%xMGzA!7)|( z>)mgguM2LGVaVe~DmTCCq!gV-G}R3WidykV=OSj10?!x#_-B$Nb$^wmOtAIH>#qlF zPb(wlv}&e>Y^YfqnGATT=FHd>y-i;+e^=SQ4s1gR*-oP%NU*81{;apM&m+K45TE=< zWD!t`pLdr;&LPwskrEfUBi>8EYT*L>894tweCm}(J((BV;#oPZM(I+*_)GY6Db})aVR+`_ti*<_<76wbz`zuitDLd*&`pV))yBB)tEW#bDrGPy z-~lb1>Ot8VW0$A1cqQ**xYk#}ud}j#!UIgIk}T$t4fq`q%BHQyyoF{<>v>JQ$3{nO z!6A673&0%r4=&_4??h1joQnj_A--@hgfE&4KpiE?T#-o6hZcjJs0>nvt85%bwFXen zY$!H#l;>`7Qo9rWvAVl9=N73Qb$JjxFM^`i+xQ`Vu-C>At*3_Y+}zt>FagmORULzx zhb=Q6iHMo51WUXY-&wb0i$&2uJt}Guev{(Jj{c}?9F9n2>Ltq`H|sQc4emTI*8Npt z@lDmoz`h0XZt~CJ_;*5;hXH5}BIu95Wp*!<(g3(xUZlmHLf*(3I+h$$?zT4if+$;A zct=%~1{Vze-hP%tsPW>H#*s$zht^NEl(NvcK z)E1f7?!RSw?Yjk<+{VJVmzNmZ7sX^<7Q=JktXMF`mE7G)&V%2S6d z){zQub92X;0`1rOEUN=965IStBI`kU`;^j)Z4dq3@|u*#1e(vrvgD`yk+tZ)uq_T| zlo^}u9v8D1faPA`(F-^z;HMV&C=e+{x355WH@`^kI;j9DLMXeqV#QR5yIA%3;Ummk z!-nx*>h2Qd(v^>W>L81ZG~$0F4E~+AUWEOmbACBFlKujJKy?W%+1kent8M%`ALxOe z3~w#e8EQ(qg>qO&&e6)I$wMXIfqa?x<+ST9C3V>h)u!i7@D&L6w;$Y%XvgwmC$n+b z8xKF@x=u(vw@;2fo5ioa%U;3r`Qyhz3%+f&S7kWt{Gr*^b~pqOije;H@e%`*O^nx2 zm#>lTu=0XZ{R24&(8FwUvbKVerrschE$J&f?voE*Q&|MzO4ewGF0RJ23Gs*KZ;-=l zaXLO=i%uI|Ek2}_`S|4pm~jFl7gIMsovCbr0nihGqUnn>L?-g(PR1KneP8oqPvKkm z5*nWOX|*}ULMZE|;m>jg6n^riRVzVyaeIw{9vY9au>NnEgWulc-`|_*IDlqpV7esV zh0wsG1OzKeP&CB61`sm>(%vdZdy`iGxq_OeTKsPE7(9llW?g=#q662m06io6m`^Ab;~l0z;V89`2dL zm2LYHozMG(I-^0=)1&Jy4KrzE2@ZbL{KcH;*~(V;^d)4_)~2YVNNCGEm|))o)uH5- zC^hTK|6O`p_Nb_}5g^?jQUuO{7G^B+b8oSusG8%G`L!+pAO8WryD;l2fIr&5C!F!) z0-rs}Y&TvKVvu3?eqou{mI)dgeFYyNFX0BS>q#>z?9e@>O#f_8pc8dNMH8TS!56s< zigXj$b{I;G%p~rkHfU!k2}AnI;Y2o30j8(NfOhFbP738Bp&;MfTr-ne!c$DSF*4hA zG;LBt4uOLYiC_IP(RBY9j0$#*W_w=Z zVW~3yGAq5E?sC+v9Cw_iHiLiSdTlBh|imuzq#uRl*!#T9` zl%H7DGAQ10rcnuLnh~1U)(b=t?t&5~3$-B>38Z*;612^~lo!eQsL$_w--uZ0* z5JQ5kg4fsNs%eFkije^#%E^LCarDYJf;Bz;bdXWJ`kwTSdkjn>%IYls$)hWP3FHGN zus9eW7WW&c{X6LW`@5jdxe0u-)cAg`)Q?W&1ZG4HZ*5aoeu?@#HSXFMUYEjHe&49os0HPTPZDa zayU(9U-j*=Q`g{s*UqRp>4s7?i9*P8)KF9r(%8-sL3K0ghf%2xZ>Tk=Q+M8|d3(~~ zQ=3p6jALi-%T*Ed%?%6ZpufndLK7Ispi=N_h~{ zDO(;_>IXfa{mAdwv&#f4k^D75s+#gm`P;^I$zg+HO}E zoc$d3fizEQ=kAu-)hM%x2cQMu;na3;i~l65bzUQ~ z08hsut2*(U+{|GorZR6#wz)#hzQZq4(Of3&RI#d@;rbfC9e-kI=9>N*$F`6G74L1I zU^f7$`pebtxcmq!Q1lc+ZlXOxtwmvf-=P#nFx$OxmCOp;cOE! z?3V0wȰ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�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 Ye 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≺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

U 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≈eCLH|9#FoP{pgQdTamDTq12i!CRF-j;PY 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

mk4_I*;cKCQ`Nhw8*{*Unf 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

#~Po~6oQmyH}BCOo$FnG6;V4t+!L*#8-z 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 literal 0 HcmV?d00001 diff --git a/docs/images/changelog/toggle_variants_visibility_light.png b/docs/images/changelog/toggle_variants_visibility_light.png new file mode 100644 index 0000000000000000000000000000000000000000..ce447945d2977559005f84e35c73da8c8ad8f888 GIT binary patch literal 372385 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

Aa(mb@g_^T*yEUDA;**#IbKUaRMu?c zZUL!(Ba8hH$Rgy&<*o#mhzPrA54sqM3q~pD<24nd9dWliiTk-MUBSo3 zHKXXr0-Z{TcZNqIg$(wW{x4#m!HR>aq9YYA&HFQ&5K=?2`GK??S4Gsd0nx3dKgJ8x z=}1k~aCoSZUKc$&z~|-WC0v95b702GuiuFDg)f99!S5A-^%oe_Qq~5Jm#k-W9S2}K zz9r^Vm+?D(R_i7^D}TN)nxiD)07+|d*=BphY{v&}nFgqNz@T#|CyCe9p_aSPPOKV}%3iH5|<;lm4w5O}WV?Wi~Qk$A+p`@*izOQE8 z*;Qfo_&~LVf6ev;v}BvLgrF-yM_Xz>|3KunEYvI2fZ^9N<*>1iNkmslAg9+DbFe%A z=&ILLgSsN(Is#uR{CC7$%K(lIQEEOUqz`kIvvp`H+iqd(W+YUihBWAFQ;@{CL0{5t z#v~=stH}4*&ObW4LZ`jSWbJ+Si&EE-q9y1FiG#<4THdfP-8os~rCX~0Ilg~clJpOH z2dxxYljT&n6G@F?22fjBgrtQ@c z98+-1gb}kUWA>IL8Fd1S?iOth%he?1t9a5bo#dO=Q`aSDpWI({PaL@K&jGtS zO!VIbA5HT-ysZXO$egT(-q^RTC(lMZe$GE?65{FAVYYtAP~DK>OI5zOGF%s3C9(aU z4w0qtq=6sjUMuSF=jwy1GPkoWqo}_;`M`N!@9^6aV8dRzhQ7|e-4v9p8TwIZ*pyDU zcH)+A7IdT|;-)H}sIkTdDM7izgvx5ZlJ7_h48!6}FuDv zmJhfQfi4ZfX8K|&B_nGgeA~zLJW~3_+X-HjMv-$sX3wjUASqCb@*Q<>c0F-~o#z

sxOnu{_)#1a)nABvRR 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�rx>C%Fst2AL3X;Pi9jOUCo1 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

aJ=5HR9Y*2-}XKUgsEY47mN5BCvFD7Vp#xo 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

  • HcQitBfq>q$i_^s+QwC(Ei z=o+`JguHRBz62riX)BeV4u_Fd1s7fe4x)bRG<5YaGx;p^7H{@H`k=>T3$rmBjr)r#37UO{ zHKM{aZJAN;2U{pUI`_$@&%N#|A!V3Y02gq!2S&C{BxB&cg-1_hoqbf3H>?gJ+xe$V zb$xsA@1r86>fnjZ`kPe^yFJ?U`G`At>*|72)kPSzV=!_axj?WS$ABGY*DSO6jF~x1 z4bRwmj0~pJ^X9w%?EkoQVO|vef@D;f=MID<`q)q?9kA{foj`eDuAs8qhZ!0vpgQvh z>?YYPP08)pTHQ8HK{nx@Q8Wr)GK$3znPPaDkvo={M>`(c!MP605}hI?74(X{_^b-) zxx$r!6}{e+l8D+lvnxh!I+I53;Yv(F96b*NP^wb|2uC_%bl0wPLC*-`V!d8g52jHO zi)X0;6m7w!Ey18VYGulc%~7^z4St;DZmU6*liZ%r*6VJgt-QPvMJr8o82#la_gnmH z)hAYgf*^{u_=@53IyXgy^g%Y(GR*scThPISM~-Qc-R({qwx&ZOPjx_bxI)>QbLzn3 zBK;8|uJcw39v4TPJ<RqX~OB;c~Gl#I-+oXRa$d8csHaP!CYd zn~JZkGqN&>cP@4U2?>jVxi2uBl`%Z$E(@G1t`I3_RFnV(Kvm#XoO0ALW=qmzWJjsn#tQ2J?28wdNg)aflux1LG{2t1 zXn4414pe6x&Uc^@FsCmE+VSdodx`P$vK5r{01AVY$?wR+xh}BeWzxcE9E}0zvm67T ztFk%5Ghl+lYYKO^pvyKMNt)Mbg*<$rqixP|JU_|#`*n{fx4OiudU3roKmAiovyp zo90BRCalk>m^c?^g9S%y&MIVV5;jY04b|D@Dugev?x8yuSuKz{H|?@j$0OR7$MQ!v4Aqv=ty5uZT!J=BSwG&* z0LqdcW^1BBiy&E^Gk8@dOabgmTw4#IKnDoOEPB!x2~S;XrV#2Yt<4U1m$*VWn5K7S zpfMb0<;NbesmWZa_W^}N3{uqM-g`iMiD&1LbuB{7IYGTZ^9vtWSg#+ zwk=M0bjpAcyGVSZHYFNw%BuzO0#-M-YcilSf2URmL@y$*)yBpc=Z><_-fB&Z3>|e@He)@Cy@WbE8 zc6Tdh9aO&A*>HIsxn)%nb~dWVAOJVY*qI!8?z3=~g#&Hv4$yi2%v+`{=)LgJ{$xID z#o2sq;bW4h+fr+O6lI(!(8nwq@GJG69N|dYYUR&Xo-Uut-~Dg@RKE5{@5tk4A7b{& z;YrS#y&s7YH37BwbxP92oJw2{6}>R#U%9@LL0CGVC_x5kNSF@n`=Jc0K^6bK;wxM!S2)w8r7-24*=Q%&VbJ;OoRMBJ zvCg)WQ!p@U6ZO>M_q~KoD`xu~OAjKC@gQD~=Lw+=>h{_lS z@5Vi)-AKa%u*}$l*XB{~g$6yJhhl5dA@X&<)u5Q7FpZ9(UwX}IBGaf$0Bt6yPL_x< z3B?YU4rvHm8ow@g^Y0SpU1u~SgDIkzMC%{beUfnL%=VWqDWG?EDvpo|V{?HMg_9*S zzy?Syj5f|($u)x+;MsHrjEeoJl)=F9_3-y8hYd?L_sNWYchXUr36zaUD*`Q<@sW;s z3N+pe{a!4CaQt5I|w3W6ke@?=#d7%_RApqlmuSrs0TdXs;R}pv=1ws9? zj&pQ!;rTs)QgL{Zy)ltHXknJ?7&Cz=Y#Q7Hc^$sdPj=YyLKgA^ybp}Ll>d!E7{46K zK(4dWE=V9>RACcJgV7dp5<@X?p21tkeM1kV3kFAL2EoJu(a)p6U<{%ao;~76I4-@C zaB@^7z)ZSdbDfvUndhAAR~#x>gTp;q?7gO<<;wfL!D+b z!(`-ifRu#OP*C@|A%hUEGw{Lw#_FsET4x6LR=RuW4T>_mK z?g8%t%z;?=yOCU3<+xz#S~Q9lO6BC7%Qb-+<2%-s)0Jw_rE?tYqBv~WW7wD{WHNcm z(#M**Y*nd7x}y$DR=RL_xYGfzN;(LrtQnh8aE^0g(2$oSSl~~I!Sof@)cJ5#U}+ey z`b?#WA)?R3s0p9WEI{8&J;&ipZJq55$KLnM$tkj);+MD9J@TX`&hT(xIWM-=xrl}n zYKlzuM4a35d(;2yW6u&_BS*itW<dCnz=?3mr}^$TV#iQWt{x0oVdtywvYK z;91Fc5s)s`P~i+sOog*^fX@t`@fow~eXsF(4;q1PpaX?ovv{sMZ)@^O0&sdF=2F(V zOat4Y?L>OT;TL^s<$P0D_drjax9eaLpyRBR39eaIHiN88=ME&t`4wH0Pe>k-{F`J| zodPw;vxcStHd=D2Xo_rZYf*n8EsmUD; zIPGi>jd2+N>}*U+$>JzC@7&6t{`vQ0`{E$4UX&FCtN;KY07*naRDCSx$Ag^CPnHpE zIBD}e+1DKy)BFR5DC>ML5=iKTbUB#`luY(R5|qiGA``ATKr2sexJmm|>9g{}p{m(V z*Zoj4`>)b4Fro9PMn3_9iv|9wzB(pV)nkVJkEa8_iyT;iYw!w(eWTxk3zet%$$=d; z{Q!Hq>S%t3*hha+Fd7fs<=*fhgSAz~dxe3o2Yv*vc=f7R_4n~Vtla~|H(PnU6ZzUV ze^>6m{&U&Z^Vvc+4$4_fg= z0r$MSPb45kyH7sHTT_Mqvq}g6eae&8s=&)(I(uK>K&&4R$7US-INQWU3#>Bv)p>UC zjh1lYa>DVX@x5UM@b5Y-{Y>-v4%aHu7!wF`b1nwH;`Wuda_syqpIIr=aE^hd8UVDQ zjLRcOuu@2Zw^qGu@O7r$&*p|6=y&WPe2KH%qse8hK%tYZM!g6i%LrI_Bd-WvKVy5A zU)B+7`MfDH)VV1%c&f`~5~UmkCl0P!2l!;BJoAt|i|%pL_x-kVIDNLZDe3IZdxxY6I%lsKy2-O1}X*-U0SpAZpuBh4N5`X0_j zsbZgMtv=6Y;>5d2;%o({U#KE}M*A(x;l|98TWz*umK^R;KYzaRWH71&Umo8gIvSbG%>c8o!sN)R*<){L@| zU-^M|yvCZ=c^TJ}m002I)i4|osK2QtuFRPz?ZS|%D${mbIh_x3zT3(DJ71IYi>;ir z7sExfwVY~PkHLr(kzDHFZ6s zz5bpqAsz1Q)NLY~Mnb{7mDWv7o)3GACDXaRaDxG~ zrx{3#@N`D$u;O18KN&pOdEh8X(4pn6!f3Ejzh297#CfOQ&%dpem^-cWSn74lAV%QK z#2LlJ58%vL-?9vpO#>)I&S#8q!?g(>pgIEkDvInX2W(E{(nA`!q!iGdhB&s8LGDlP z&+!kdO5^+*XGPdBz&2?|HMEQC6)28xD{2yrcj9Rc9=57~SNGgfL3;(_Y2XWGX^~}N zdje~xfvy$j^?FcDp9RhRbps2~XqP}Bj`Gl<>N|bX=Bs+Y^Cgqpg)S-IjYda&_X^+{ z=N%oq&c`PnbumtXzrSFq63 zW4hJ3C|l1U=lsKzVns|Za<%}HXKaibkhm5Au$>V9uLMvkD5{K6y)9^t&ZcYj!U{}l zGDkd5&xcMxr;6%Ky&Nsk=HeOK+TK<1!rHm+)VKVJeB(Rcl5hXXAIa0hCvtpxWv!32 z?U7Y6nMCzHdke1xt^)zD@T*#N(aJQ2dlbtQR#(n#_8PvQ|5gXLF(KFGB8`Fk0k4NX z;lstpeGKno7ChjRvM);WSE44(8vHRDB=TxYwrMIUxY zIqtXe?zg@vckjF@52pvY*xa5+*`8?cTu`B;l@c-N?>fJt58BqqEzVTqVZRJ+EO{$9 ze&EW2PMoh46iH@5pHK2W;41?6Jb%Li+Tp7KH$UqP0|0v_m6t)^M2iBly37O*eUNJa z!{?Oo-3~d!9Ys6bI}Ei`qAaX7#LBBOFh%RV;He7?o>7byXhY!Zo7Z?+(w3b^Nj|A6 zME;(70wXXXvztG>2@SN=9D*yEsF&9+j=bP2e@(Aw*QsN-j_|Z&Gq~h7cGw;Z1#!ar ziw_nY*3P%$TGJgjLMC?O)h9aTGN@qP&0 zR4W7l6LkPt;6&Sd>A(8fxmTcA3ojocZvhmv?P7~BRH`7Tf-06LyT&R}w6)jy$pR@_ zfx0l?mP{0;;KjVR2hJfbQ)Tzq< z`b9;MFA<`Bl1~rS!mtdXn@U@lNubuReY4%kcDuKM^1J<;A|F1<$N%mJa{G9;f$}g6 z6|cMssbo&0M}E~rou;Y*J_?Tog04a3nGOHv_&Vf7In2r0zf1td9Pn|7XN;L8q}ZKUsKHqaDlJ`=qPH+$A$ zUU2tW+;o{-Ouc?&`2a)x6|vA-O4x-UP`i7)XN1|H3*&30Iba6$+)9yQb1~>WI@kPS zgRVPHYgY-&@D7@o2lu&la8X~?W+S^Bolv=z&2BHd{a*I>FJ-g4lVAMeefi*n4{XL8 z=XOA(u!^xj_Stjk7pyv(o_)@$pk9~Yes;(>&C8IXy525n_P|UkY;O0+7KYtW=*b;# zsC-041AGRcA4_W3?Buk4lHJ{deCHqhJ-L7HULHUD#D;Eb3$M$Gtr5wteyh~O~A7Nzs|yIl4wbM4UyUd zC^-XVM5v&^64Z0uvIO~PN1&zV=#&Oz!P^l8V`6czhT_x*y?3YJXu)K1NpOqi)2S!M z^ILTdxsJtE=D*3fYP%h4hh%X8@NVOMA$z^0S3x-9?Rk5V!|oza_ZxZd558q>yADqe za(a3YIUcQ|>U7bnlZ$9F$L6eUm<}0lm=IX#hNDeu$WWq|C0PNm9B8icxJoUW2v=~d zFQGV&{rtcq@OaDz?D%8}BrxoQr}B!KXi4lVdO`?Qd{&d8gHOLEUktjwiX12RnO*ibeT{9da_aYWVKDXSC{u-g08#Rh7Bl71mVQ3(2*nC zt;@iCChRik3C^7zVHMumWhYb&uNWy1j9+;Ikhjz`I;G(~Xe~{iU%1m;#qt@rz?<4h zV97|#K8}jEy2{RZu}jzs_|2sZPI8&b55` zjK(J+C9QfZ{87-OF6k-r=vm|X`gY|L^r(i0QM2^hN zcYG<4VS8&GP-aRvoTlvanGwER1lFeS@-TmKN@~yhaOe{;EBBp5*eL`e%C{074WhK{ zFbp7vf#y7*2r7FPkuLaXRn-_^@*#F*z&9R4gA)vj#Hg~^9KSA%^wAbP;jsD3+2*3? zj1&!|XmAAq5^d+DZMwWNMIPl=t5STxJidF9z0Ogw$`t+mAh%}?pd3W2Q1m-(@1+41 z4YXKmFUurnMo$ju4uYp5=uCu+2)OM6t|~~Yb4i@e!q9fdX=R|UQWEDPQ>#j0zBeN+ z>XXKXwk0R-Vazle1m|mqZqK02v`j^&BXn=(V z%{&m%GN&8&Ku6*H$pFYAzTg*eW=RW`u{5s3$jO28JZ zsGdh2h7Zh$V74n7*V2cJ(cOdQ7?7Rtsp=guK?Mu?j^dO237TiNEqkHbg^3qn3wUUQ^Xx_d+3+Po>B{N*p?@S|VK?NJAQWBvq;U}QOObzp1j;f0n1DW8~CGeW;1 z|02r{x>Zq07Hwhr{r@R{@jdCUvk`M*~?$ML;Oc z>%+fW@YMW#ZV;I6Rd^U#51pBQwwTYbA{VLimGA3J6oXw^dj@c@S9Qb~Jbd4(hvi6n z;C*$3hr^jtwah^29^66?g>S?@3akT(?K9vpjS-`iXkU_hsrUxAj!jaBg!2G_6tq!F zAOI#^k>xpKNOooKuA6w~E56A&B<(3>4KxlTp}^h;-f>kV>NAD_N;;&Ot(!A`^m*XR zGr7~{W(}a|{yF?~xnFlDx_+0&CUmt5Yd`~n5_pHqSJT+Wn;Y&VOt4>O7bjecydqBnh4>|C{7LAtH+Xxef!pEZYsYyl6Gcpmp)OYD{2+i* z(hbT?ypXG|gYtOv^WAnUr{hUBH@BFHqHRd;?&bFGrQF=UkRSf|$MWHazn0zYOF12N zjhZ0}=l|$HU&4_vxUL7-KC9zyb|4Oq*G|9~p5do7X-AcmvGUsZc=qn`grWs>b%Yu( z!h7hfI(elmD)_c?zCFnOyBqoAfB0Q_+jc>QpniopLF;Ep31B3BVdS(5rA6plv?3)=PjgVyqxY3GJT$rN4aKpOK0&R_bO&CbEj>tT^NPsISbRGgL69ox{Kd{pKA% ztp!=|lC+_kz0uGFLBEmb=Tp;H%g@X^)l@ixRN5ysdB$~}%BOX6mNf1U;j_jyng`f@ z=e7EL)E3zGUilL#6!^y=k|j0G@j|^@BOoX2{stYR()Ci z4*GM%R)o{G0VU{B6~$B_l0b++sWaj`&V<18mPRS=Q$>uziPuyKYTI$?n_$HNAwo_d3B(4C`>PxN&1jj791)1I`rgSc?ZS$VEs{uVobE zV#(+1G2CC_yI_RQq)JamA`tGMw;_T!=$?f*cl&~hAbD+78n74@t}&>7vyl^>193Oj z4b(*yiV}me8O`_5N)Zj3=$sS_jBGGuet&)?_gYnQ(cp>(QVz1;XuB`1NYS=lkEOMj zw(rt`^k>M znU3vz7{?TXPQctpri&G+Wl2I~HZSbja{P7nNsjtj8k<$zEI3!HgPjb4M1&MO!My%X;& z0t~z<0-Hf)8+2X*Z1w%%wM4ps-vc>48!NA~kBg!gD(lD`nlNe%wJ@x?-y_B0%6%&z ztAiYEkOI2oq=QSeK7hh<`OsC{!!FhPaLW2l4CnR?K!Yp8z%Gx>!M+#SzbQAnH)MCb zl~4b#e=j$myz-=BAEJ2FtgIVkWo;pIp;b{{xWaN}Mb%Xs7x~coGe(;E zawp}_Z#tk4o2x@eDbR}3ryMREse>G+L0$QQotDcew(`QcHB?-vT|nui4;o(Bd!OyZ zOk_H4XYg=sDrg>DyEqIDhfbdHw?;EeL5Ll?!@JH=Q}k1v4b>*6%}M0toeh+Ky17`Z z1O)tWzM&YqgCX$%#((k>@(5(?;{J{!G<3j_G8;XdzUEw5?#}Tp+uj5g5V=}pgOUN-|8{yx+1Ju?#b72Ck!h^;0sF=rHQ z9H*5Pig$&Yx(^+1esYe(Rq8>Y_(H<*&OKyipRTex*AoxNN?1>}fl839t{NOgWh7gT zKGe3B9ze0+PGroxEKODuXG^p8IS2WgbGEUFaGtKWfrHMN6^^s#)+&@ZYv1D984@*} zvOM`hk;aoPEO9K`;Kp-C`9{7GKz8!6!Sf7YW&p})#EdGyn?G>!<-?(^mhV9kwmuyO ztp9Cq_OiXbm-`oQitP6CgCG1@KKbNxYx8CDAlexEao5jQk-L8}KgZP3Qg6AY-(X*E zX1Ft8ZT8W;suQbPvx8o5GYiKdb�J=o*3YjmxIYuv?o=(K$4lYF?MWQ zgh9OGsq-r$U^#2<)y%J483PE^XVwBJ)jt;P0LwF{R3Cnu+9^Qy(?Va)k2+ogo>g)u z-(I|{I(Xf_%b-ga605Q>^dojm$XORWO{kSvQzSt!5wfUizaE zx`1k{E}H{0-$|1{oMZHLfPX?@}VX`3p~S3h+m%*Wbm*CFuwis5#BaR`oq zFt9^^mkzpD`_y@4>c!a8S$V4lMZ5}yZ7M^*D5A%zHcc~!2GeC!7g8pJ{C{De6usR7 z!!=Qh`HV$AL<_GuCUx}bh(Y8WGRWJ5@_rcJ8G$oIGKXA zL{x}9-pq(7Hys8L*Pn-&L54Zm@PMOisW3a2?_r+I;7JEAh{z9f81`FXT<3&ToUaT5 zKF?l?U5Psk`*0FtZ-~B8`^Gass6)Bkio~W08ySMb*#Z!is1wUgfhfpGg@RQ?SRhaz zN&%M2JVR3seI|-kqMVPi-{^lA8w~$K11H{^>+bUCfs@B*>80~h?k+wXMXOD02)zpI zgWaz|7oC-YN)-JZft&hY-5t-m1|N(xTMLqcZ-E>Y&v-8RUx?^+MYO?u-nz zU?Mnod|)sQ#mGcuafSmw$L~8{F9RNlr@aEFuZwFK12$O0wIAqdT|tOoUHO>Xtj2>Q ze!wYKVVl(d%W9*Fzb$~$9Ibu-sO%v>^If>HO6OK}M&@3#5`{`B)sP54nUm9>z1TlN zQUE|l6zM$ppPoydKh&XpJrl*PA25&%pjPY21<*kG(<7ZZ-B(*>4B0qWkt7JRtT*=G zWytI~R98kU4eM1hS88|NEG?9T> zuPv#io?F^P_^USqg3;-`V;ro*b8}e z1gPnB01_lv+f5yN7{FWLR47q(y$GNb6kjAQt?4D)`&8{-DiF)%fB`urrxU?3BCfCW z({P`6T0+L~_!8ZM>JR=*XX0}Klqzo`iNz2G@6t*XZR>S&`_d{=HaBDDWNJjo0~z3`vm`N>TF^9E4j zKuchptw(g7M@_KY$$96eV7UG$+c%E#-T(O?i0mHa;ni>CaJ%6HkxX_&01CI$g<*=+-#CiUiOp19>gDi15hbp~=OTEb(J3&^L zT;UO{3aN={*W?V>I-k>nO1~OF8TnV>YRCdSapvG|`n+F{AZO>b3x;AJl=BNicygt| zm*O@)Lm7V7cY2f6vxyWf}r)Dj=_M4qN$w5v#k*C{@y!*}Hm;3j= zCdb2r9G@PL@qK!-APIN`d?iqIRTrp9t4P{&5$U^g-8c>eNaw$^q~NY{y2(P{AI=uvB*=*8ud~AT)MW-UzjoVeXaE2p07*naRFM@XNhdT$VH8?9QQM6_$sLJHWfvTX z&S=92&xVI$>j+kY5E?izu`zL$&e==O5t-8=111YD>dw%$07`-V@L*kgEjml*aJU+a zKCIo=f%w*vq7h_X)}xjMS&=#wDdC^%Yn0LZJiB+LQ8!!BR zZ?jT#=sbqeYsHEUm-qj)H5giXX^=$;5}CTCj$x1tod9Onttp-}=NJP=u&==MDlJ%h zACI&ebPBFS@FqTkQc!=osgNz2Dn8~*q3HCVdM0|H{rOsgYV_jesJNTeF~s@NU>P#G z{e?4U`vT8vYBG(bAneAWpP?&bL}Az>s5nska2C$I+GVB?4EG_3%4d(&U39__&h_uo zHiix?8h-^43plxRc;r`T2h~5tW6EdbNB*y^Dr`;No9`pC4Jd6PqI#>e*}MFW6>rxr zn^hgm8QnmWbkN|z)*WEP;wJkl3?{sC;TX&X1J`N2rHtS}PlHxykE)#9%0~8bzIh>= zn>Xa`?MwO1U;a=IKlmwlq&gwA9fsH38PjYtPzGv@ee~9FsW_}ihEmxC)=YiMXhu`FxVBg{a{3mJEj)ncVO?5O54h98)X>XGj$4t#ek(7(@t(+DG4y1C zRSnRc)fhI}!eAo_-}SPx2+Q^HBn~(vW*K71Sz1dMdqL0mof*J=#z#8ri5Glk2Kh4B zhLw9jWhCdK@{#q0ln8N2`gVC$o>9*NF%4A5rm9*lb{OGUwY^Gr5H)l%)=GnW(1nf6 z>T?mWLns4=diE;T&zT8HZ7uuN2Wky1mv{!&c0w!Pz&T@y(6>Exrc|@6@r&xruF^gY z!yVL{qCdCbi@y1akzb!f`88I$G|j98m7Mw<-q_-(qm_*>s$BBgTB$QZG_sl&bo1-V z;taObjf>M|xhA%{m}NuHPQvjimPUtFwS9Vfr^LzBM=E^mEU5z0VM$)La$e>%^B>F& zSTbum0GdE$zckaXE7!bc0Oi^_Qf6@Jpnb2l^0kdVU_xLTNLl6)P16jx@0NhUw#=?$ zYBqNyvNYx?ZM?!6msJ=x#y=B+y)wOGNzg%IYGZ&UB21K(T7|OJmR@_gxqCx) z`+J+~_Jbe&P(J?TW7%!@a?(mR(=U)TLYcCR_S6=_btBX%5^I+G56E7T{K_rWdvf^v zLpeQtArFs7bPmu=ey==XE3fLMNFB`mJUldWG$m9+9D&hB<6| z0Hx|9*YUXOat`?}+Q|LWS7I=7JG|V!sv~5&LU|S?O+Ns8MonNb0OuJ|he^6fEv({A zrJK0Fo@;D%q`M5XEf8UbYBN~P=pmAMDOIpB&|F8u4#!b%8W9$YYVwm%Zit)#`ks*b zH)GvlV>YH060`9_>dH)Ri7-Z+YevsKb+6R0?YH6w4nF0yw}c1|7u%-|Ozd#HE&QFb z&#qLxq9g_Nr20Gy1}-Q;34hpI_+gSUo155d7H_*1=cNG@@;HND)cSjO{37b#Ds zbGe9EN_J(*07^#9tVLsKG1r1h{$hv~>=j9^c{V%?=%~=Qt1W8x{Fx4sABcd)e2FTA zqHChIT8>2no*_0C=15O_!2t{O;jpGEJJ@F#y?beZ@wH?;ykp^1;F=6bwM26eZp`{@ z2B}wccv)eMbQv5$!VwKK*4P}^^HxRhrTSbIt4PA|np%dGh&Vd=3S%iu%pBDEzf#>} z=1Ei)bcUg&SVTH9q9B?z-V#EiJ6vhxR03cyWjqf*hA7cTCI#-Sfs__7AY&{J&zT}( zqFsl=Z_Z|pX^`Vy11K8}pqy;h34$k_m7?=cwB?ruP;`(yT7d0sZVK9WX$6V~QTAud zN71Sj3!>Qbb2?#i^$4EZlj_2_5#7#as z-!m0YQ9JF7v8<{yJ7%%=Pi^y+7ik`M>nlw_Y{mS9HiB`S2!JnrR|~f4ZIsYBJEz5Evtgbb{Fg% zG5}{9Y^prUgIKN2h(99@tx=hQW1T|99M%Qj7U$!18|;cqU~-T(@ajag2y#>h`5G>a zpHuOna1Ui_2%XyScXIRM zE3$vM$cO*x-^u0k2iYDka=Y1y&Au`q;oo@%9Q6Py19Rn*FfvRHB`0Mh9UYVpuM6v0 z+dwC=ZWWXVLKcB*@}~t*DqsUY2ZuWyay5W5obULUkX=C&?t~tK^wYgR8yLybWt>x0 zL^EJAJ{w?gU1#MThR=pjOWGvewBdmPGnWcFLu|XVVY70xwJgEyn=j?%J71N9r4;IQ z-uBL3g=&TIj6#QSX21Xnf&%jZigRf=YeG1!`@2Gy9Jh*>dB&m!B4AKgIS2cDk}R;| zQ>hOAYJgfYPkDb}X)yvoCoTc1G2-{-Uelcw1_(1P7srXp9RAPFq%5SOKpHd7Z-PPV znlzxLX)B~LX4((1;h=UK_rU<5Ix<)xR3#R5b2>xWrZ5ef;2kX?DBGok&SURV8K+sN zI8%gWN@coN5{=G;PCvXJL5u~Trh())VTKLd>V#RjI=MVhM1j*VivX)IUYLA=4Gy9*u7N- zJA>yBeblR|gOCXU<^A~~=Jgk}@w)6qp0*##Kl&&CL}dRcufF(L&QFhW)cLWeqioO0 z=bd-+e%<#1Zz$8M{Z(~FPo$jk0qCr>i>AA-ykx1xI||m8G#T*M=Nc)Pc{@1;p9fa? zb9FAa*Nu^ZSgi9ECN!*E$G5M^f(7;xeaAoryLwnPudDDuf9rU&@YB2o?;GzSe+Q1$ zchRv5t<07+5o^XmOxJ=1LmW1#9kN>I6JSOr-mkx(<>BTi-}uA-LT=xCM_xUAW<%jO zPmgjr>YP9%>gbQ2jNA zwuZA)nwtR>GI?YpMw6oquD2WFzSikGB{E5I?Vd@J%8Gn-4ptHc*4F{|N#(=tyRD+D z(4DDkEdhmuUFBlcK}#ZKoIhJ(p>3W8EM4Ei(LIrU+{cFmJ$$=@_hxvKq8wHj=a3Mj&vy zWMAo&Px-R`+Bn4+7DMNK4E*%|p;#B*3Os`WAHSEjM-Y(Jfs({g6{rYM72&XOiY=;K z@_ZPG;c)9JIHPi9LbnXKjB81QwzTkS_b=zpupBEc8;sOAc9Iyl#bQ+!Kw+d(zdifV zR2u{Y!JUq255~c*9pMVjN5PZ<9WIagC|Z?*z=;P>w9S_VRF3jOt5MF{#*3dlpzYU1 z@4=9H1XA=f1X6S+iau9ovFI>+D%61AHRbws6z_qNI;1Mtf(7`y*+;emwLb@E?F^uu zfkV(VR$wAI`Zu-UGQ;D4E8M7KLlr19Eud=2zcaq zU^lMp7xz&O?vUREvwNOIrno$@p83~oV5Vk80-Da;kj!oFo!a)m1?#j=C zFE01ZJFB2uJS{4L)?V}_J`V*1DrXiy_2I&#ESr&{&PsJC?CwN1I+XQZ&bRmSV*5f) zKl@ld`VT*pyI0C@a2_WeOvtkzoI`b`A(tIjt{H$;Zr~Y&B};(&DU5VM8p55W)V?mr z&wX}E*^+DcmggU>f?VdVI)#S7glEacGA24h_E%K4;0l#SujTQ%Ej!a6bEB9oy4 zm(&NVl`bB*FkP?&*=)~)|7V@2@yZ$yreVekm&vgN;$RNR(h*g-V+(?$9f81$S30c) zSrOR_HXA`4hgU-byB4xOh8Yj|1iVSz4z{=}biu;>sc~c))FlO5i+#U5;n1uRV2E+8w1O--=TPpcrkhCPv4j0)1w@o9xa<+c|HcllP4!#h7-2P0j(84tr>JmgGu4C)MFM7 z*GZMdz#bY5=7FeDPjI*w2 z77NeTS=ApqU8vh(HITyhhcp~B_J;@6cbGIS^0xAku)7^+aUY!Z{5>B%0Kf17y=}Wu zUR9ImyAIiw7<)uw&g=iIajL>kCv=^-#RNyco^sdp*fEjI+e|xeBff-A8$P5^;M^tG zk;Tz#n0LY?CRfcHAM|8gpS`W`1O07Hw1?>Mq$Vzd{%-oRAiA)Yn0YeVIZ*NfKTM~$ zc_M6x9=Fi_eGfN}W37*^unyxPgDj2r7ms@-N%$;Y53- zSiNiWy}$SuPP1c)-#GsOD^(e)!@fjk)dVgfW}P5oVyt8ceY_2T=@aUQvo^TQxf;6e>o7>C?tR zkE|exhXj*?Q}a-eEs)MzA*<`RD57N(-Zdlho|C%lL=7D;4L$zd~Ot4HXv}!eyx-u#L2~bK!g#HoH+q3r=TPr z`)T3PGuu@^oDqIuTB#Jym6}z9`dJ+)GlOO@1F7{1$sI zJe7-Yj$G%X5bb04(5uiz7PkYkw{7D~C%6-kXrvb}s)j@`j1`A;@=srcw-~9b4m?hz z@Za)WaBQVjVnL3`#v1q%3=-->d_M`IIKTvDTAmoeTy+*(Cib63S|$P6``nOoWv@8oyt+1=tS%?cm_5WN<9l z%PLX3r|gT)LK$GO}TXi*$26= z1yF)@&@s>m19}nfZLs2X-kvM|94HG2)lb?C#+5U$lPokfe_YZVwA7KwWT3_#H+3dY zGBCq#btXk8K52X6*aYEwM7cRaRqNOdm1*UGT+e4BPuiV@cayIS!K=7pJnt#6oHH@d zNd8;twcK|th@zEWuthV&K7y`=qwoxIlsSVior0hXRIIN2==#FZkQEfIQ$)En1EwJI z>1-`Ks(fd*9;K`&aMUNTLyz*^tp!kS_IGms@(p=7?Bx4@{R4S?dbDThkt2CfYOtg_>h$VN(7JNP_Mjo4LM#X5pHsCGx`e+R9q#F87n*^9)8lc(tA1WPIA0` zl0W^Qz9%o=zLDdnAIZbhqqRr793P9eRyt$QHg!ESjdix+(!kcl9;)4l%hA=sy=mv_T zeYS<+-_Ie6t^uNq?adf10e`kGCVV!R|GI6{$QNAZRQnKto1%AlM-sr8iFob+tn?q> zP2@qX)?oY@!2pHK0PLIx*as& z`0Q=&6@ff<90jji!k_m)A3$+k+x4V)Z)sfwnYv7DYHM`3jx*Er{jCGeO0^81HR?3< zONEnS1k9-KEIJO%0o(OE$j^np*qz$_@Ca+Sr|Oq8|3w1y8UNg9i1`VJ&Xb8AL623; z&>_=o8~Ca5zif?cf7RCwG>#=}FoY_sUcA%|s?X3_Pxr6GAZo4z^8qtZ%kRT4#z02# zhdVDI4q}^WX=4o@01y4FA_?#tU7kvU196(dLaXRipVDAY*gWvEG`rmKSC?haRJ+MH zgf0b*35H#j`lOWsFZqGrHe!J-?|WW>f{4>-6sF4to@%IsRgJ*mWR@3IqhNAQ>@^Zj z#?nA(03HG}&f!)w8Qk%1K9A_PrZ;5}B@S^Eyp4FuO2}+VKqL_)K}Z#%(g}^HdKF&l zMB$2K$Ws>p5qP03G91{dgOS0Ezzm1f#A!}sgHyy`;Bp=jNE)!d-r({Xd`TX}Q>Jl7 zN2Z%-ML&)!{ATi!ggCwc2_^CA_f}yM?#N`ez?6>8>cr&WW_^;)M$u{%opECSYTGW% zMbXw>`a5QzpaSLo@*sDcv)pOb%K1@r_`Fr3XqAf2L=ntJvAHOlla)-f;>E;lyx+*T zd)FPeaV(DKqp%5w;_~|tROL*NZC8%68jx%aQkmc4eaOfRh+9yGj*srJ!TcZw0MbB% z`c*0?>N`@K4G$@B3`%>n>WFvZW;4_{m@3e8mO1G7VElO)NEKf>ju7df{iPGHa@3JK z4iyT>ewqK&%$#-wkh-|dxt@=E@}!|_v()ZXu~r;bnW32EqmazPI@F)CAE2)r= ziK3&P7ieMJVyhf#E3&(n&F)^dI#m9{NBQ7i|9|r4LEA7Koja5svdN4ih;03c8zz9_ z__Od^EKr)Is_qmAMV9*uZWcL`T>JSjaRSiWchPt*kR|*h7!!QXcN0p{oF0Q39B*<} zi6fA~<>f)Eq@?PI$F->7%pV>>pl4w>gmw6f>bW#jUE!ZW&J4p-G4X&+W&VL31A4mS z0DKx5Ko&ryZLK}ib?)cxEHB@EN92t=dD@;tc9F{L)pv;o3>Q@>EGTcFnT7lcj|o|p zLy`swl*+c5fI|J4*BL7-vdr&o2`&~FbNLen>F{2MlS#iY;K?kAMO_wY8$6fzZUm%( zU)S6mKW%H~DJt0E)WiU*`ABAtyJ5(wgAC4gcTy6^saq9vM|LlMLS6G^m>%G2NFT1g zJQqV#hkt&H2T`9h2r)q09#O7S=2d@)Lsf*-^PZ4C=$R(zfI`LjV@p`@K2OFOo;zdz zvC@jiQs6w>Gq=gW(oC|2?K^9AHD``a8>+jB9oYRE$_%fK9<)Mvs zD9e_)?Bic`vZg1F_-(S=11L3nGY(;0zcGFu0;dM42WJeQ6>a)5nWm$Ro|6xy59XlI z@yzU!%0cdD8vRZyQEn`Nvc0{P{foEd@osIm4Cp~leYuC0GY$Jq@#`p;E!rC19(VGv z{aoJpgZJb+|J`@w>GT^pzWPi~4@Zk9p3eu&=B$10QvpH?uNJ5QXNG6jnY>%yv38z$ zOAhh-T%ie_icZ&(#F};_m8zs&ck!fru(cN2qh(*6xlWWYDNFUI%awE%E@ep9NCzGt z`o^eKBwoR3Ty-$^O@=_DQyFV0G~+yryGz)n5azC@re)|Te&>uaas4jP&|>)tuXd;> z{-)AfG-GmGcU>`npK#DGG{NTV)y_D=i@dry$ya~>cjS%VdRLAot&n;UIUH=Tyai9J zbtbCsnb8Xj%mfKthtB(fKG&0VuzV&?LnbVK>PJoVcAdl}NQ$9Iu%42JMMMc)Z>4i=fdoHhFnc$=Dm1qtb=TU3%H z_H_KKI=OC@3891LNm)p?^=yZNE;B;jwV(W+mU+?c=<2UjiJvtMpa0X zP$o|$(U@M*d_XJvreCQl%Z7i;;7KMYRm0!;5EPl%d-MG=F`8ARE=V#+lU05=6Y!3N zd`5<9MYq}YVK33Y&?}dLUTODL9NGNY|K=^c3V|~t1t6|j+~}L8i<+5q6f*^%!5|in zxVo*;gTjL^0Ue+5vE-Ho0~Wk=jk%W34HAPA=3fU=M_|dF{3VG$5yo2n8VoNT83e5{ z5Z{+$(;{FEnkhoXnYU%x7w17Zyh^Yykh^GRXnvtA2Xj$wHsY~8um3$-kYz6qa(6~6FSG*FV9JwMp`2u=t-O4&yv{~Z%z%qcGf}Fu z4NNr9%_8%8w&3eE8z`A>Jb^X7*h~V0CWV3VujF3jO+5(Xj5MPB$?=xF zY{^3`(5Y(3Zf>AOJ~3K~!n1C5#GY-xq_kthXAX6*9Qw^@;>jRKCahO_u~kvT+}wgLjX%V^#? zS~yYi@A@5SmjRIEMc#vYG$;*>7)Wc}T8G3t|ABM%EZf~ij&hLA{a#*v{T(^%H}bgE zU6^3HEd=cv0@buh2t)T!yD zDgK;Rz2~q1sq`l-$Qm z-T)gjo3XZA4dvcZ7FGVx!qIZ<3ip0ZILwDh(P)wTvy5osmLP6H{ox3ax^A-8ug<>5htC_j?p zX(Q*853kjvtkcPK8azTPkjU#^7kF3jmpK2dL;0C!T>Vl;K4gur2g>_}R)Z2H3U!&lIywYPEO zysc%6op#)G8n=oE3>s$3c-Qp3O`Ru_rhj|N=WP~H&?=Kh^UZ5~ehn4v`WkQvhcuH3 z24|(qCmfR}TU6Q1#W5S3a*;Z?Rf}pTnzL+fcXHZZK2E#}U$v6d#wN=E2N%Q?vA->{@k=qGc#djgRfWOD;`;mZr*d>!V|@rHW&>~;2C z@A!ht*Lhge_f2;VEDD-|>gN@$q~DI5b@BE)5{?}=eeP3RhYLi)gZk-ce~jCtgSp-} z!^O^b#{I9$cZPxJPoRviK2E+5pUrhYa)YY-HT@)BkiJ$63^jV`JL>`4Di15&I6^Tu zB@~audHPS7kW{p~XCxG7<+ai#=d(dJX->ah9&{S9rNu)XcD^!4y5-ydSkf%i9hDOv!tpx8o@@ z{#&0PErxaPY~f``hG=v%H^&%3Ej4G=Ig7iPdr*>}Y^nPV3R&}&1SG+NLkpi>xHM^F!_sFU)nrCY&18-VCw z$b%dceNlf2wKqScrEhXL~%WVw?^uUtV(Fa1o1 z%HL>UMGn>~jQ{B{dpO0|ua}Iq21lrk4rgsa10oXOIQ4(1Gdc(^t)`#O!ppmGpa zfR))xt5p_EN41jPwE6VI+WT#EfoQc3nr!_D;zN5b(c^P>;3CDM{XtU$b)-1NF zY`6k!4t@oJ^_KLZ(bXx~3_4#69WS#pTQED`!;AY_#aT?5$oR10SSUO+lr`e<77vM+H+XVUMNE9Bxe9+En8{~jwk;tvdxyb;(#pM4@K&k$W~$T z1E}>ytQ75BgbEU~p}@NK9)%;PXOau1|7=gay6tm4~9XP`3s&>4x77 z-EAf1i-`uXK(#S|vc^|Z`oURdnaYlg5hT?$l1~p0f@^DQnSItw(i0G%2p;9U)0PZJ z*?;wGa{Jbs@?<^&4D5sa&L4wPsm`-k(jic*_Ch(Q!ku!1gG2REJmVfjSjxV1cPB>C z0I=10l8tdR3*fLFj?=RTP|*9n?&o5q+}M`$ZdP$HFmdf*e4fL2Ne!fU2&e0W#bJ?q z*R^JQDSqAtM^2RdFobl^22eW3O9r|d>Y-tHM}qcL7NB(zEBKyU3;1SHmfbL?Q=vKp z^)ur^c2fI<`K>Z}=&Ccj|ySd2i*KXy%`A6TC^X(V%>hU8v9Uet=OxaNn z{$w`tMq4CB(v+eLf~8Oyvm-~fD-$jBH^pzVXX093!60p?i`)nC4RqmJ?T}SFjG(5gG90)cz?n<7d4{|_^Rf7F%tR0jsb19T@Lq}ei@128ov zL*#LHmWTaC-u#{4maqQyH{|s6O3sh3tmTddPYxF4yU0$Bm7zVQokXkRiCw$?HU>~q zf1iRrSz6*U`FgVt``y=g`KbSn@2$@Ny83nhjbG)n-hi)I_;`v@^=2+5)ltw2K3bu& z8Y}d4pJO}f>|a7|4#;7DxUx5S!D zSc4L5gJnxm*c6;%!d*RE^HJL|rL%Bm*EZX)=ug$hz1R;3+t-k`81V$N)zG>zpyw~L ztEtbpz7?HvxYW{-(R8*_1xf!*(d0o}?(?EW+x&#CTQbRd#K93RW;ZL0wE~YVys#A- zl9iN~CNzi0&j_ARL55s1$dUQuUJ8+!yI~Sms0`Avp>5VJjd2hpjOkH}Orr0M&mE>2 zkXmpym%+wRW}?fMF;u7U9ng_WE0TiMvBcq_i+2Qa!nhm>qkRxB&dfJv!ISPe6xG=t zDgg?(9FO~ZM#q`$nQMWwI8E8*ig@A`g1pE6b=`z@_ zVy&UruQ;DkVUXGRwerQ+vXB~8B;}Xnh4I|7zWmksd` zjmli`_Q+y#-n$a{TPP`0X1b~#Ly9)~g`!fOT)4*aInWQ-o!aNkt;pt1WP2z3o0oF8 zeIfFjSMt+;^Ka$NN1N_#FSe@1$i#sG)jM}$(SWftieVpDjRqUsH#n@E_Li9eD*&QH zy0&6iTX1p?sT^u~j2Y1Be3H)cqEDL~&L>bR_5ey^uXC<+I28C~jkY_}9qQ8n zinR!0Ieekt(BdJ8;DiJppX4R@!hHjNZ_@WN>1M>~RFRxI)k)^KlFldK1KI#Nf0*K( z(+|Ik>w$kgl?Bh^?qD>!kwbi~#-CLO^!Xc5U~(bx8{xoU$7*1K=U$yvx<`G_oFN0H zCz|%a^E#Zp1>wldOT|N#6D~x9?r2y(=U4$gWkw_&0?epe=Zu5Xt2qfsGY*#(T}Cq=XVcvE;ClP+$QSYw-)`tnnA!!)_;=8_Yzx-QUap#hdccN1w<~e)1DJoz=d) zg*^9+EI5*=AdbqX^T1*gHF+_+{5A07nMM!+IA3(p@GT5i@!Kr9FxPa_YL2#U*KBdM?2X6)(p? z@EYR}kAc6*(KcJ^`zO?(a>3jBSKjUO8!L@af%IE6cHPD@RQ0Gj(>0PWM(3X4%x@qn; zO_`Fg9RAGel*iiBKKHYw4ncaO55XRcvxs90a&>qy(K7f4=4VyxG2e7;m-*d)`Y+0? zxg-P}MhfG$%Nng;Kw5ik6WRSCLmRI&-Uc8I9Z`AcprD?m)JipGT-ZMgun+nU@C4tEM?-|RQx0L^ z1?myh@g$I%Deo|!lJvy+Nd;YzZOC^Bk-X-JV?>s~v|Qi`j%Bb9UlOP0gii(rN3piv zy4{?u`s8MFw#t(?w9-VYQRFBuHmE?+z)4i1Sn%W^8Z^1x9A$rgke6p2La#xXg9T7D zn4$riI!4+pL&pqdE$$py0JHZbA922x&?i+=x}@5}qheGxBCYOJ)RON?)fHdOVKaJ- z7*w?#aE*lWdii?O<>)We;fS%+Wbjyz!p18V=sKwy)*B`(^@&yGiqYJrU=&I)Oc0|5lM?l9nEoU25AV{94zl1-V*H8wbV+P zB{d}P@gQlm8DdtV^Nwnq*L696nTNca&`91HL;3vdhAN!GvfN3YYakb^F0`q0U^E_D z>&c=(ux?>pLwF8NUhDfPlyCwY11M)xb~kcsSw&|#D~vXKYum7qJCWNLvfbXxo4c3t z>;L};^7O-B%Ki+fpRDZ#+5lR%m_^Z)ufaLZz!)kOa--D{B*jg6x-~u|Z^>gM6bb)u z9O#fq!HiN;D=u)0(twq`Aw)16h8gCNmw5NCK zyd$k(I?2(hQ=Ya@a`Wa}^2XQRk;CpN$1N%Wt4NrUO;bUrR}}|hI6COSr*d0TP!_=o zYPqEZduC`7?xwUi* z<^Kmx*O@MvECAz}FRLz)53&1Vf-Vpp!!>`4Iyn!TaJpPVjai3?#y? zI|=f94W8w=fgg0xBg2k-s$+$J+RiiI$!p`h!|`yv5~a!)7!X_3YwIh8Dr&ec|vJ3=`~KPui<_y=B&O0hDkS zFZe#4U5P!0IchX(V1`bRX!GmY@@)O)xAg(<9&9&WP5)Z*2)vPIm@TJU&%lG$N!_; zePt_OJba7{e|1hD53cL)e3m7$(`x`>UGI z63|b{DVa=B_h9!?9D%Sa*Nt^&vH`h84W87!A!v-a3C@i;UV}Z!p1qPMTCIb(SIwfq zVueT5fKWRmf_S03;EP$JX~>9SUXWEOK#AzbQ`+A$STsjJx4X>lw*DPqTiQAKV^vo? zTHCIJy!Cs(BX9rqH{|hrK;_BdQ8wqJ(Y5K(8t99cb)96khMKT622k?)VSj-iZtoOR zB7Kctj^3+$r=3yhiS~aDjI9QCDh^MQ2&OB8;#pe5(I)5tlpxK)#|k6Tg?dVAPEYqYgX0+;x?|xSUbBOMDOirc>cc5FpWRVa&OHlcmZ>Pi54^#3zYrb?IEIxy(gb!%VC=I{N}e}39-G><<_>;}e+pp~75GUFN0 z5&d*yCo)OWyrN=AA)n5iA<$8np$WPfGSzFi+E#u&9|}a#I>i%vrayQf=(Mx&8yr^7 zoQ8*m9E^cWS%%FbddAWX&1PBetB9OmOr41BKCb$jc9{ll6An?9T_8rqebEY_XI;Ws zLL;G=kz_o6pw_$p`qGfOU~^)s!q9at<@{j3+Z+{nv?23a-C{u>E5D|e3aqI69UVqvz9{jC zT`fo4HN(|$(8LJ&Fvd|^#)lbZRbaOuBl?b}Gn9(zprHEDHc$um;W*vSFEJlHlEN*2 zkG3#LP@uWGE)KIV%)dHIipT>+gv-Qd4*Kt!y{9a@=Vp%3j{szbU&<4)Vdj{Y$y|RIA^1a*;h+ zo7;jhHc;ML?2&OV6*YixRE`Ek<27W_wM)KS5M}lx;0?G5k~5N~N=BsdLzv*iJm9KV zchG_B3N12GvT~xmxdc%1bJEj1wYc-BBB#L&7jy)EszxTVTyPc)evZyp>L*h*xC>ikWW&fdbfSB-840XOR)@s2V zIGo}P0~0B8tKh-<;_-;;WFRY&ntBBaf=1rH2f{Y?Ztq?2D2MuUZMM2VT4(n0P8wK6 zm#Ig(W~eg&5UUWdB2*mwMJZc+5WdAqKw0hC#A ztI_1#gWUosm@K|pfzo(mdGEC@~Q04W7H&4WB zs76701&iXU{Bb^BQVRzWZ_kl$yx0)OQj1-EA)NbopGq@`vxpfBpCWSPoi!^7tqx z9m;(;$mQ~c>Q&E{3BP3Un&iu@WVLhiYLrZ*BD*B@h{eAWL2%5p`YXE z|4AD;t3ZIiOMP`bOX?Bv%z<`+JY`LWES>?ba!Th%4*Y96)2Y#`^MY0tiFa6n;Y2;G z>jvH}6LFTwAJgSR4uE9@-xT)G2DA~wmyA|yar)`1tGV;Pv?BIn%;L$-JXkRK$0NxDLtn!z3d|b#x1!<1+q|cEb)B8eNqMp^A z=tIYmRr~HW*xS${J^4#Wlj%d!_XZ;>b$IHl6Fw89PK~7SF6S=6Ga3B7zKjli*Kry2 zisPQ)#fm}S^@ETUh1QVd$|`Rxn>uZ!N8j53hD=oGU}ZuC@uBPC{%P@pKwozIf{Ci- zT}}4b+^Bp8*d=*c)~`dC>Opa|;i~!zo`c)z^T0ipba8fnR&-M7iCiHEeJ>hpA=GpP z!y>+4_UOzv7NG03inoQ`-De6l-=`)L4zj?ocY-4YoafDV|Kgv&zme^G+;~KZ$~lg} z%V3KWtO=7YWw+L|j{y}7hpEa!I1k;(N&rr>m7u_Qv^=#{&mxs@jiob2V%W~AJT22*sX zAKG~#GX|9sW?J}}E(0jb(}3}&_ZI~{0ux!W0_~K>lsg>gtSDq@iink|rQ%p|4vvb7 zfzBZ5c#E^}ca5|=8P1-9#~tV;J2B7O*Y8Sc^zx^(KG5G4op!tk{BnLvIDh=!8ID(8 z(+MtvA(dD0nQou@BPnP!3ZIoR2$cDE!SlFaKS#>YQkJWZUW146x>R=UeC&KFtmc8o z01<;5UiE_eb3JeadPH(CL~Uc11=$5-%X)|a3L)#&F|L(ZI|o82jC}pTt7Ev96$U)= zs^C|ye5V7T8w#T#%3j@|y=88NUXOug9YdCWk4h8Z)5^cKO%Ts!T|ZwJz;qNKuT^_q zn?;9#%5o#8o4s7N_j0?vlec$o%Ev$ag?#bXKb70VR*pMOPTa_i+9^H@<-Fa~q1wI!Akyy?_qn`bn_=`20qB-DLstt7OZS-{PdfQw1Q#RT<)Xc}aMUqFwej;6gRli@_^bsXYj&o~3H`2Q zvxSIsoH0GYochdACBooJO4@J&$2R**$s-Kks-ZkM1>xYbl#+l193+9}Lr{Y9w5`*UoN1&fGO3oG)@OW&2`L(Qi z!qNwrH^VttV?L|NXdqnDAd|Ele)dIVQabEO-GeL`olAA^+{@Il8CxxQT%1*)9nTaD zy|Y#V4Q~qjZSGJ{p6b7qYKmSpR$)e)(0O#lTR$gYkkU{N*o{Rnfb;V1YQE66f8k`$>AdfBy zLlFP~AOJ~3K~y;dE3DWC+_pP)#$GIdve6*Q{a57n?k)NG&pwb}{_+E>I6>P)w{tvD z)u1=eSs)s(%GbpSFjvcYSS7`{)~kC1OGf>0aHitEFCReB7Uu@Zg&qu^z1bY)v#0mv zd;jZyZ0*~cb!lB5Dv5w$DK$BwrKLbAG$b8D(n+U761scub@&diHO4cZF~*$le806)x?rc*`VRA* zhjDzyVg7A-@dqyD`LlQAuoF4l?PYz?_L@7H^aA;4eV7vse}%y>lXaQwn$N{5!Sbmm zXk(|+ufh7>zV{ulmhF&%NCs}3%0`ky^&#mW8Mx+EREw3D16*h%2m64o*-;4m>BqI^ zHg!gx8_hurptx?TIxg>#VZhHZ4Yraj8S)LuP$!g1am=UKo}_P=$)RV->#=8POGcoF zJYH2f7ZcAwvex_ud}jd^YgMz7^%21mRr`8v$+OonE4Ucd~ownRvym2D%SiVpKV z2pr1&x(1h;n>y}4xU{5g(gCt z&)jIQatWW<={mZdI8Bsf{HP=$rfA8M9DiP9VU;w_Zex;s9JD)be1dV_S$*c${_Af|hr{PUe9Z3aj|fw0f94V?wj~%MeR_Z`6p;9@{%xWX zGs@wcvzwD$ub@C?^Z6tb`Buk8qjdxxgJ;jNU5+bt%hlh9nt@__>=F&+yM1`_Su*`fd+93!Gkar4V=($*W7PhEPts%6bq8< z<>IKplRLS#fXS@@TtK70Tpe%aVzsk7QqB(da;g8-YL%l_t=!3_R-@>BDAV4?M<7K@ z=iDgp$Y^G&=;WX@$z>^)Oaw&M>?|7UnZ;Bbxv#ubw~mzL3i(|53PBe?wL;g)8=$ea z7iQ_15~?B3qieh2&$Bg#^G-u4O^$4L!;*eA6?n<(ysE;UX9FgTXY5 zi`pLRbTtV;5tm^uw^|Un7~~N=Xyp=~r!!2WUJV1~qcAQyr%FE!y*F~Y+Lm6y<91pH zzayy4JR9*0HzgE~E71(z__{}Y+TSfgYc29oEGk-v6bq1t8*fT_G6_4IQaqu>00F~A|W*KB8I zD^_tp{WRCfwI@UbuLk?hJt)dz>8L}d7+`OY^vm75Z`gWVz7A=-@>8`l_&Nk)GitRb zjB+Ty*!H0hM4G5g{axv`q07+Ws<;t63vFHvq)rAf(~R&vh&b)Ca4>9}@OnI#N>cMqUw(23_&?*pOzQFP{L&Xg0h%Xnt? zY|=~EM>q}eN1?_lx6D?_whJ*g=d;kyvHrH1D4)qwFd6J%L#)2B!&P!c*W@&(LsPwq5DZdIvcB*#rA}K(E0=q(S@y@`{R7kIPd0st3dQU_5cd_#_gQ4 z_OPW50s^(1q)P%nc6RxlN>$Byb#DYD9pHsaAZsT#y0|#2ecGXtPiN;)?!X}lQr`^E zKVS5d=_-d@29EY6PU0$y>B#`8=_ z>~+i_XrIf(9UC=hOkI>}ub+tnNEUzE$m;A&Hs{w?g|az&DsR2@w!HJrZ^?QK`o=iA z?gU#6Jar%@gk#xzqlyz|SOf!{;297k*fj$IlPtmWr9%V*1Yz68{yiK(p&F@M4&SA% zys$*7)mrxZcjW`GKarpO`OnJk@E3A-^Ih5BT5l6s9}aqhyiBq)`%ZP+P-8ZFgn%qF z7Et+&pH}x|wBFw>fzLKjn;YNYFYf4*e(n552_e2IDe`!Ez2E;8Dq_JNVA25PQ1~3# zp0(PgMql-=tyF}~{`GgyWmSs%ihh}Q_z)fV-pfPqBf;^!5S;W(KNPCe+w24g4Bw5m z#0ZN@+t1}`(#ZM5kC_vHKi1U*5z*zo*BwUyy&;0!?iSQ%v>UZTEqAGz2ch6QvjIxDV68P%== zc4N*M&kXM&CYl{n((J5S2Ej*f1|0VXL5ER>^tw4`(%?sie^96TcYKa)6KPLA)Yx;bk8WfJbt(VJ6Y1yG zMA{ZhOKc_OGwFsp+RiotMV|7}VQ^51nA?&H1)aX|SC(^$fD?!MQY6MfT6ql+j3`brBtbMft zu!Y!cO~s71O$%Ru)CYUPCgO+GMR5t%_kwvQYW-PIcI91PdKKiDmpde$^^NJ}9IDU@ z=e3(eGD&+LxuXf}K)9B3=&M;8Mq;fT{@aX4!qTDV7nH;dVcKCMYR)zi?R_gX1t$IW+lfSTP6m8X| zffK!C9__oXrW?C_{#t`ANBoXgW1SBp9BFYWE@Z_ zj4Puki@=6#rQjEFSrbJldWghMrOhf(syyZX701)}is#N#rrhy|%(G*=#Rmy}6RD-ih+fXY$S8|KIXt2Y^l;ZR3XH z6!5T1S_8uEew3qEK~#10fKl3PTB0LyUVOg-3e;_oA>}|i(5{Y+)0~%`w}-}kL@#Qs z-069PT+g+q9829FbDjlCcofbcencaJd6YHh=%_LgGZyXg8m*YpC;Gdby6O z`w#$F+1k1fH2h5-c>u*m^Xf;+u4vcbcZOi*uA3~O1-f#2vX!T=y&}i;WcQ{`TG%NMs{A1gO4Xgya-!ysGOsl~=A(Z2*Nbg${J5Z1Ycdh7)k40pL$}I%+MN&Q5c`&%P0Bp5Gml zTUYG322c#cZE?E2jsnSjp8=GrH@hcAA`EFH(JH6zHh`jQjt&Y1bPxV0-w(jJfO&Hk9=IqM;on5{l+wGOS_0~7! z?YG~S)mnon3NE7}g#jcNGN94|!dFeY7(kivw!h%5q3wYkf7G!WJNCqRw!TiN5XTk9 zWCnjK=R=c8Z8o(9?~i{jpZeU-$csPvvOIh5TQcpQ%i&({l+e~l8bDFqw3qb}HsFxW zM*)-o&0udP4|no+ZaP6`%r?wvB!FXO&tm2Ft|?`8Y)dL(wrYZ_<5u00%q{ve@t`2) zu`si7bDbHWoRLA|L=co@l1Rv?U@(#z^k=|8_Dq1qH380evGK?8T}awquDRR|JGAJd z3Lei$&Ch}QtDj-X_Q#WP_aS~;$?AX(8q*e4@6V=t`M`%?mzRF{b+Z|F_jj`2qw++i zy=T6AcZ;a1LB$TvXk>6f&tv;~W^|jWbf8I{g|9SN;DSWAAkm=WE9~dSZaASZ3%@Qr zDhX*QOM69-Iad%bd9DqBA5`J~^5Vl6-iRs~>b@?yHDWsDEL?sgQouc_GD2lg6|kUx z(l6fYK2QUx7KA{0b@&BtPd7o&v1Ci>VH*dYAuU93Jj82qnjH&+;%?T=`7L?bR_=j) z@^>WM6zmATN55vLQMYC7-2~su{x}vynOAIlCN77WT1n6w#0ult6Ek%;BoC#S8!#;eqQl*kzM*!~ilH$|xv82q*N-#r=Z36nXSrp4P zs@*tp?zDE|Ap{=R%fpWE@@^39pfSA9U*~2$>&dM=JwNQ&VJ|OUKHQYr8CXe$Fau>5 z2CB}Ve!DHNq7Zl1fo0o_6hN`QRoXF_FY5GxoI_U_RXP-9QSFgfk5>etx}_+)m;#Lk zfbFKbE$b@Dp5j(*dL%onWN#&`3Pd7+qJfl+1yJ;U6kaT^0hC)0pzQE_wDh`_E4h^m ztx(Y_lp`*k*Q%DyYHwp@kNzr}GI%gBugIzlJTZ>NL0Jk6!M9{)&Mr44KgZl~e)9mA@ASz?D)+40{1ZXk5v8~Kru{@8 zK(Ws@0eb9R81f#Gdni*TM0(*z7&T!+Smg+UfBMX=tfwyre+z;3*#@>`Ixz;K}udqL#EG$>%q|;=;&#MvZiK| zEbFww+YYJbWwji+@(D64@k-S%?wFo>P-%<8EM4={X`}~u<=LBV&meOzD_BE9(qVAp zHRjZ_bvOZTj5a~Va&F!CT73@LX1!z0;mn|9+FQOKZupzFunZeis==j)uDsvubXB*5f8% zV=K}&a+;y>46neCtkRRd=D}^Q$3#~N_FCbnk6Qqr*7akN zYFfErU1$xGtvsrK(aff>a^1ZFn-%iPHiPZT5`Ewt`F_=Pl};g6T;7t_y1z$+O#hzA z31NM?j_ALW`{%+=<@lq{zQq#IX)OZw1?d}1z z*=Kmj?l|%!sXY5CXVm{4?b&h+D=_^>s^cY=r0F)2VMev)yLGyWcUp&kQZ4tE}Qsv#sy>&o{LO zHcVG>^1`_4(ymzE58jsA(H=BkD1O!kRMA6RfDj?1$tx7pq zt1i1--Y%6t$fexN_3=i|wJK$`x9XE8+QLg)dFkcyb^*P%_1anRL@QD@ycZ=@vv>4& zfrbs~X(Fp=`uD&a9+YyhuF8s__v$r9CBsa1HKdVy${kZ#z!GZ}hU#qARuvA6Csmwq zDkzM4+sVOW&7OCf$;+zh^q6%pQohLMk9WerEb^%EEgcwwq@afpx977)fykgguAh2$ zVBlc%!CfZ0Zrj(QtSdA7w0Pz@kIX0;$x@TU8ZG2cw9gtC1qP&YhJ~-3HdA)xhkA+) z*;j*LAp;47Fo=@#s7NBr~oSR2}-@(;oyHm@br7Q3?xzJ z*?6`$AQEJG>n;a%Y0AjXC`@^6uqzMe&44_Z| z(ODxwdk{I!Zf_?9ryIcfmjTL~(?vFVait~=zdOy-Q6 zEptP2=5yijW)!nTuXD`A%dKq)8pEDFRd_7tG{`_UK1AC{o<)jHz*l1(>}1L``si7R%)xHyq%$fFc@bghiJoB3$F%b_Vl{6*|8r+38exB zYjk^Pq4gI;$Yz+7Zkftez7zs(dfNL!aZ2udmaOi|QzMPXIfm0$&Lj4I2H>@Q@)vn- z5qNx{^&UMS4@i-=;j+1m^2M0XXe>M+B!^bQyc(IzOR~N97f*byzGZsar(%yQn?4Sp zIQU0k)6emg9YgsMcBHnyap1AiU2mJxoY#BVfUQBtn9oi6>b7y@dzl>^i>}ZW&!!Kc zgj7VbhCd6gx9dEUQ||e?t)#7WS6gijxs~ntm25Ac*xzry`4xHhFW!^Q=1Mf7T{Ffv z8wav-#YJa#NcM_*!}{>J~%y#DoGcB^Odv7h`a@{ynT znB2VgwjB3&vb(zz*&mP$Xp+pNnb~(>fy(6m#7^Esa5d0~Xx`KW76SC_CO!wkp|6eJ znvE*~l*G{>Q=8ykCo@WW$|W&F;IGO(0K8*a5wemdL1`N_T4%QFN;+oHjzNdkubv0v z8rd0%0NrNJO^^71=a-pWguLb*P3?YRJ_t5)j=+m*H5sbF?4MV16i*iV+|53#e$v+0 zy1B=roNdlTrh`0JtmA{P$%`NVnC$k?<$nK6*7ti^?e;PqcG10MWmO(Xz~Mi=Q$+(S zbI#x_3T^;G!cTXcEp`{tB=@5ksC`f>q=YMA`(wUk&#&4270iaxKOJn0mR$uHAm224 zVji>%ysO$Cb*mnreQalfzkR%FwMG(E{}XMwN_7m!TH;UgVzo=lrgw6paxvTGwzG%; z?Lc`pvSidEa1;P5!!tyK`oT9^2D*mA7dSfIn@kcLvVvyJ%|<_2qtHcQVDdM-Ro<#AcXI!$*(T4C+WlI zNeHBIdK@3&*+k^j7%t^y2>J4w2Z)Spx(c*L#?!8I`Pdf=^bfIltDiN=AHM#DuYS^= z_~~Ey;xEbS_-}126B6!VbzFid6Ia?FDp?fYWi6V9E0 zZGaL0yR86Dfkl8I)>nc3UTE9hB3^<#lIWEYt5J|K*4%rWv+rqu6eHKCvX*y~oLvIV zGoq2+nl3g%ZMo%4{?OBwnA&vOuu3PtVTyM!fbD!@GQg&K>Fr80R^b!n#|$T!L^gJ( zg*&fB%j)NlfX*4{NcgNq*8M6g!oSG)b|KMsv`wETtN-xM+wGY-Boxi z7+Zri8GIj&H4EHS`8y-rxdHxA5C+HHN{ei^$Dj|}c#uBf*!0;XM#%%CCp8fh2_dTh zh$_9%0r8T5o70&b*JmE}b+z}C_$_)|N8_acDe zvVd!~|2js5td%O8{f#P+u&Ef7`n=MIzGW@^FvsXI>^F!-X>k{GfjKWZ~gJ6E8nQ{pBIJ+pb%(d`XucCBb$kf)`ZQZ7C_-|A_ z#`SJIz|C!2AjWXOJ%G}GtTDK_7=Lkr7h=h_54tL^I4WPay(l(5#9Vo}U%XlfY>ZNs z>Kr)1%kpvAp+EgSvr$h3P{JOd9(#<)j(t5b;eIKP0G#Sq5I~`0(#FPIO*Z^n?X~{? zgjSZ!ZA9o$*yxno8WdMwlo~L{Kqjg2chS+Nn>^soAX5LyMB z>z`^vr@n%n8K+=ABY<=U#9|I=Hf`3jy116j`K6p+K9&7(C13fcAn28Viv;uzMPP6nl)BkIu$ufqP!=U#MU*k|o*z z3eFw&CwVXSvb3g690k>0t)GgdD)VWlh8vN_BBXxqW;elYyjCa|tH*`z4UcFE=Kx+O< zTaR{G;*3L@jU&skAx|?>nD#b4j3h?tnfV#C0g_4>B#$!oDHo3|zE}ws`D|QCwu;SX z(p#@ydq;7hciXvxyxZ4$o3tHiS@WCxqBf3cNPQ zuhw|w1=}%Ve33a1`I$CE#d=5>kO<~R5XWUD41;?FE>dVQmBwCy9hUow_0wz49Yw$q z{Afrpbu974ax_?qORI(+%NaJf6_>yICm;ItuY5kX^)tWro4++351+GYhW>IN+5#s7 zC>1nvhuwiy5>yC+7_Wj)P5{jw!HF?rkfnhmN{oQJZiHu#1r`f{ijmRCkVzTsN7J;^3?v`Syjq~R-jC`7DTzWN)&DBb?^71 z+#-0Q!ItAQkLu#NdYnxwvgiv~g(_xfJK=zrtDqFr4s3O1BfjTC!UT#grj*#WL4r2E zg*#>#-Nwkx9VX0nE7cSP|1duUv6|zi9o`6ZfIKh={SAGz9bRVLG{9-~0_|gITSg}KceY8$q zTHREr^oB|+l_2{H4()&2ex9;Ue4~55n0hj-9C}a-Adm3y+4ujZ~le#6~A9ia<>&Z z-;11i{7qXfX+?_3-;UT$8D-d3O2qa)05Z|o>Em5Cs2-ypnw!Oqe>C1G@@g}0WMArf z^JggS$i7}dKv%A6?30h}88dZoZ|C}*Avm|{pjAS}a~r3Ij*%O(CMy^~u@7si2#wHk z)oXW-vj9qonrBsLgy;$^rkF{Yvu#nHpUKblBzvX9vz1)G@`|jk&+P(H4WL-kg8j?= zx7Bxv6cux^Pga&L+0uNY1?H$h=4cqqb$`FR!^1*s9xO2#XUG?L(ed7*B;y zU?bq38=o}wmVpHToy@ZIAQj|s_BkgJRlPzvlKvGOYtu-c9tWTg`;P)Lvo zT+=DF)JmL##jO@rR`EUE@&wgYKMYZ;W+I_>^8y-5NPbT<^-Ed zmUwgm*3G7mYw-Dx-L|pAYPGez8H)lpg{l;4w&CJvEPbDEnrt<7YDs>^Ne(X+us@r=$cZS3yK1D;aFhlfwjev&u8^k;H=yEB>1Q?M4- z3qdclnr27Qzpw<}_Nso|N)hK$@s0Am5M{J8@a&YK&etQl93Z`i^{u@6k=NuCKl2H> zo!%9B|2^674zjnSxi|a$C|Hx@v#M!mE9G&-VhO=)UQ&pP*tN(SK}Z01QfsnCY3 zA3JWpv;maH);677?1t`K2QGTK>;%;p1zjO-(S(tZ_4@2mWX36Vcci_Qvg{jd?17!Z9n(kf*ambZ#FTuTze(mA`k{X@X&H z^HX`-e-W%|vfn)*-6X!u7wwwaeX>HIqy1S-E~_}#OdjAY=6cZsY~}NbrB*3Ns;iYx z$zN_%mV_n$yxC2(^XjA^R7W;Qs?qx0UXFW?Q|NT^L^)|18bvqrd6saaex|iAt3M&^ zaVFLs7r519e?~M;jD@yc^}lWAeGoncpi>rUL+Mm)T)%6!1gq%}GU!kPD28wbp{J;%FtY zCv*0M$cYmK&71?86}&YVKz>HvamE1t>rW-BhJ>B)+s|`82^JZMJTK$LrpmZ?N~Y{Nl$Cgi_z zlx_s({Vm`(e=;2gmb1mZ64jsqdr(krw3_93u*=}LE3v@I_3^n}uk_B8dk>u4TM$L> zLb>)!<+UP3+k2g9HOf(czp;B(^m6&NUNUd(deR9D0K|o|&Ok*L%^|d?bHJc%u8YuE zH+`fKI?nAW%v@4FDEx7{{T_p+{k^iEr1h9jW8H+MM25lGUMh&oBT3Iyg3@rJAmnpX z?gY@qxpYB=D(n!kH_lwhW>3DtlU$0;#;jqAlRv&oCCs2tt~dfV;oOzLUT0L-;dpwLQj(riMw0I;fJs^H=w<@Ig>E2r zT>>r%OP@rFYFzNna(iQG39QN_znT*BImG8tu_IDyWD6vpq*_} zB|q=)t88WatHB&cM`mNieNkRfGTI#bT-qK4kZiW0YswdU5Urzo(j}aVBAc8CU6Mc^ z1-qucHje5Ab-!m-z|QoCOKk#O7KA&9T%XJ3t1rv`O!<{|3Z@W=*-U0F%Z-zaB#PuW ze5`NbLI0FaDRIta3u6fMx-CRbFj;0>+Dbm3f>&tN1E%)M3|%^UJnkle#-5k*Kfp64 z&{zq(N%mo8FTrbwZ~~WkIHB)Lb#**{04#<>;Nyiu7NqJyAg7Id(ma5IdE<4qjx{}9 zEVuwS-6^82KWCW?itxR(`P{;ZmH-SarGtuu4)V2SR8z&xJc~n2GkySM*&ViHB`YO=ub8P_+tgFh0IUgkT=aP~}hh~I>D7hq@ z5ABtDB#Bj0Z?=G5QCXocQg<|(l+4ziLFkkUw%3{Y9t5LcMU<+j&c>Y!tL?e0x0iB$ zaV6)MPvmaDk~iM?W7*v+h;?ppPEDYMEu-?2flu`32cJ~_o9l|kS0$}@JHv)@XBp!&VbQ_Oh82z}B`&T8FrjyY;u_lRx_t^4f=AmAkw5 zWq0$;?7O2@pSaIu6-gGvc6*#ShCSZ(Q0}(tp7MH;p~D%IHG9I1ySkPsI=~SB2wV%N zKkj|emvy9|5`Uk%Apk@Z4n3V!+{MYk1Nop0%56Sr0L+Fg?$$MUy;`E!YF2&FO{_cW zQlQ=~5$Y*F*No{$SQ8Z+T!glK#c#MR=3CM{B)7Ry7+6=$azTA#fcihUk0?Za{ zC<0?$fICk!B`xh{lQrRg5YsA&Go`DG*)^{3s(wgHD1l^`4~<%&>?yV$?YY)AP5WVH zvxZNLr^dc?{9H69Z12hoMFxc~AiqS_yPp7seFR=vjg`Ai-k~<*#E4y3@=C)l-CtcI zJZ#e3xs;j3`fO|t*xreq)~Yz?b6;o%x4oTRv6HgOLZ6d1W*Sl;S|qi4K)_r++U#YK zb-ygA?(Ok7 z=U7YxSa?=V0z7Rq3NgPgq%6s18+LU`;&S|zryc(-WRo<~^K_Lc$s>^mGO+1v9f@{( z+>VI!|RsZNF>&q;ro8TgI`X{?H-%R-uPaXe+DvG$3?k5kXa_%Pa;!*0%Qb%Z#;ESi~;u4VY4 z86VSFjC4P+NtkPQ)sY)mS+bpj*fGa>63C}R5UL_$L~QA0mUrvMV6VOGHB3#?m4hXn zT0jgQdmGgiE0GI1%GGpZfs{)*qJ7s9)hG7P+j(h_&(RF=YFL7pW(IL8f&Ij)Ygesgq~NfJrq# z;TRZrTj(l(Hwwhs{P9%}v{Q1}cVy9fM7{D_d~Ztt zfzEh8Obt?us%Z4u?*xkdtgX7wkG2lzziURg?R6LpG)Nge&-Dy>)B8|H1zWMw+A5(^ zb-YMt)C9IoWuz@kTd-j} z%XULntW`p=%~81%q?ubdap)~R>b2A)P4J>#(q#l_*r%S3Mk~+AW_8^SiF!5{Y)-#) z9svG@=vt|ZlY#h2~RNOpMGrFonKHkD={)PYXF ztO>74)6KdU{9c^>_#*mK61TR#LnSt<<}hAy3j0a}=joBmJ@q^UWXmUG__XzjLl$cx#j^xVj_*~n(Km(>Su|xLL&Y8q#LcFB44KbK!tf= zP_AwHT5X?3REHyuWPERL6Pz`ACn#-pLtcCjo+*l)_?f>JHcSs3RC=*;TdW68&3gvh7aOR^p{lNqS?wTt6Os zUFvWfrP%T|v7kc@NOf_YdqIF203m;1$lxd{BVnVnkAG|F zb%bilq8LX$xIQNV?;dQgb8v&*%95DLKw|5Rt}^z>h>s2Jglmn8cT^Dp6kR{BEu~^o zqcJ0}U2lvs5DaYgg3AC(eO8`JSv%K5g;7gOPu_WgGduOO1QyX5i1$Ylvg{v-K3k1| z?@C5+ND9n`43DILW-66XxPyS8xdg27_n0MAuo?RXIE1w;1iqd2cESAB>LAzJ&PxL* zcFDX3QEug0|JEuMxwDJsHQ;h}d|xhBd)$dK-O9NIQx51*PNir2s}X*vx5+MRM?XJ% z%^iExrO?I4dkSu`BoB^R&1BA_gCkJRapqO^Cp@!CBUnS5#J12CBePPmucPn!iN(JA z+^e$%YsQsZ8eMbRs{s_3Km!@o2T*ce^NY5dSx0-h)=}%{F$xBZoG~g>&@#u&HUYde zFis~NHScM`vn!T_UIYhL&V{$(!$RNTz+#n{2hOO?*l?i61ggtL%8Rh22ppFUkNqm@ zcqqc=vKF&Msi<4Cg-+||+tzaSErLjtU)5*{3~VW=+7b-(!QkgX*$AET0E!0lBegsN zyJc_DX0NR%JgzS6Qu*`kQ@P$gmHm77@~z+f1GzeC7*^$xUm$O`pw`MAaXsGmYsh!O zk}9uHOa4<@p*_ZtLCNf<8DEusX#qTp38x64OlT)Rzy(ufbg=GUVg%f6vivjSEeoJH zxYGoS$dk)68LA#`bp4vG3A(Di7X?nCzQ(g^4DwpU+Bq#_5=W(p2IN#H>BY9I>r1(K z^(8r;X|`+u3W_s&$}WJ&av3!uqS}f}b#n<0EYa^WUAL7EcA_UPI1g6rGK>?X&H&mx zm_bd^7`KfK7-iw++_UwUE_q|Tw?bzkm!tFG4ttJcBgx}4Fw@M4)GuHTLT1HT9A;y8 zcZ`&P1)cZMH?$p@c~>&S8!~qAveH~HXL0OvUTN26y%QSw+y+pVk}*7Ezvrz=E(L(9 zXVkz_9YB}?6t_Jfl%UDnRzp=ww#b^vxS5Gmn8e=e^!sR^+&q}`G_z=();j$}(=Vwh zljAawG?Emx&C?@;C%!j5O`F_mKvjSpv(gg?CCrk@ zJ`q6iL&sn}&^A;j)mA`oj^Gk?WPpCX9&cp%NTvCGP5q|zw5IE{48JA2#qGZioF#qF zz)DzfetfX&LodNg@#HVNXw>#;y*ZQZ*`;hRukB8h?|%0^`Px_C(&o*w*Si)XJCtCQ zw>`D{8s`2*uNx3_p>5`!2^NeQojY}D*eQ<h(y{4~gN5rZ%|8LQ)Jry(nXtg(aMklSD z?#&Ycl)B$b0TlT14%kPfVamy{f4ktgj_o%E7TH+4`Sq4(j+R%0v}0AUk9Xv0Hpjl7mfZ!jEzm6w$leClUgxtZ=|`|=0mgFo_7 znYNQ0rk&j1Jrg_tmF=ql|`vYXqybKip4 zB!S?Z#LOR}&EYP6=-H@%ppBCB8kzRo-dg>>u-?`!snsRP&uu^?v5AIH{k(#_J(r9) z@Z-hPsQ?Q3Vr*CDk^A06_o6oWDJ+D*U7UvoldSeCe?KLAqQxc0GM7#h2wKbudKCYx zLK;Fdu@A=#l!l^WysMHsmE?x;)0Q)wG!AF3XJ<=i5IK@N@)M9f3%Ckg+tSj_zh~1a z707e3U%B61oc7#m!qW^Rvd3sr6O*pza>i$JTurNg{J}4LDS{{1`N5C2^IEOtUr*EV zbIf{RmgEx10U~q&!<9oG6d%*~BE{<=7wvnefYK4A&R^qP8JTOuW?3=c4;kSfgz(NR z_MYK~K*7Lpig40E`308m_`cbZky++~vM2~T)4^ZS7OXu&PGe>xR{*q@Qx!mvjE-P| z3)otI`@m)Lm703Of>VIm)0ob3vlQz2JzS7&LZYkSa+xvK*CseH_jV4g_O0(_aAeLB zW(-D)Ag=(Sq7jjEy<~pc+dU{xR(sru;*}`c&g-fDjtk|l?Cbp z?5#DJwevEC?j?l|h#l4N@$=?RAr~@?ZA-XRf!V6(;!I)wouF{4Yy&hN?qhz zyaopaRM!RwDiQPd)~E@(An(t3iPX$DdJ_YAivgdexar!_jl!)ix&7#epD4jIDl9BF zLDt2fp$F?4ETADw9m9>~>Ts8!Mam~AOk{>2(~-103{-`(rZJsfL5~GI=?Zv(1%En`^ncctLLd@ayuuH@_-Zawco7I#C^R zP$U)slm}UQWB?RjFl6n5f4K1Ve7Oq#UZ*_x<@`X{tYt&$nc2&V0r@=bOp3^d{^ZY0 zJ5e!t00v0p$ah%ea~;zDd39hZ$$lJ=*3J*|Y@m+}n9^1z{ye`FJAfWPFiyv|ya`_B zrYx-`Y!eIGqZ(|#KFIm2FU$7Dr*^qKTaMy!E4y!Ju5+=iVN3Y-x4RDqJNG)Bu|CtE zcG#(aO6nnhSPYzw{0Qi@1pKwWg;}9{CW%BYNvOy{(5A~W zrp{vv3U%166(r>s*A$H6Hh}#H)oJ!q*X2Pvvt~Qom|)ZmhY0lPdF?zCxaj= z^A}!&fPN_c-1Nc^E}5A-S+R+yIWQhsnNFXbeNHfp`xAOzTTC(Oi$204u$4gz7cO8} zr=^jJLthI?4c*TmIKs@i=9AU#Z5~qhxP7`kizZgr=7L~8pK+Q83m2aN{6e-BUv+M- zW|k#|NX&D#HFMxU?A(4Ii@BHk-G3-S{=wHDPDm&L#r%E-o7#kg+_SJfORy|_)CH4f zG(Wz^79+i|YI3EDE$Gsr9kON$`~58Bw;sIXN}Pp#9QZTNX>PwV9V~U2R^e?nXR^6? zBJ1tBTwFbox8MGAdF$)n5HY(4zK+QulRti+lkT;Nyt%gK-eJC_I?|HjYK0lz4;uGh zn{_-UfHDZInJ)DtDZRIZiEGnFV<$?1Yr9WuHSOj3#dqXy{exeS)%Bg+Jbz#Ix3_ZK zD`>rsAXLz-?Ze1I>6wF{Au>7Mt5bATH)gp4CH44n00naaAM5YP;I_-;D;NcXfh1GD zLtA2L4LvWhRpoL5YTFWQVcc@Af$4!V~$>k9<^C7iV&J|6GpyI}6}VM{OgwhlyKSr_`y< z$+54aY%RfS_HNwFI3ba+`cgj?6s3nWkVfERRQ?;VLBmQ>7$?ja;N=6Qm6xJAY2K$LpN0f~u4N01Q7#L_t(~KH}$;t}M9Y z0l0SGllI;1^yWB`{T1>C1f&1Y)@bS9rc@Y%4DbkjEg`%r-(hUi=^p&C>Yoy%r+vvi zv&IP_uryHRfB^v$vxh@p{q}mj{%1e%`7c@9t|8x!Na3e`Goy)>$@oNpzfb}t_F2Ws3x|T^XO9h{` zE`NTBcC%?S0B(Wfmjpoo@szNW1+pgzFiZ+W&!{TI-I=7 zt3X+-`B2(8tTm(PU{xgg?_%0nYp+Ya6GiUqK9r|+sr)Tov%lY$i%Ba|G@$a_E}z%; z^pg3F-HD>0rz$9Y0tHctAjS5TEH2|MWP0&Fl|G3R3e$O@inVao7Sk6Ov;?y}UHKV! z>1Wpqxq7sX_m*dkGx5Hf&YO)172ktWh8@uVPMXi`x5lq3eAiNFyY`wLAHhWOM1#uC z?`~?8QgMVUSP7%ndC&VgTkyH|8`tM}TfUjZ*1)1?^)(=+%j=oFR-=%QN3v)6y?+0Ss%RbO3ic0z zC9OGFcP-JuKD4*MJg)ZYK9P4o94+XLQOwz1pWDUqhl?lH&g-T9rF`wb{hn;U^IW#t z4#ONAmH$VXHn{uYF+Z~;fl(WS#|+eerhrK%7J6{0cMcbx5%PWnQn+0~8>^^xZk!u$ z96XIN&M6-Y;br~SPgG687))BtZaQ$9ka@<;-Ey{%*u&7l1HA|Sb~&zk%d-AY%OO-G z)}QuL+)*G?AFWleEA73$(zXpd*Fck{-5K^rb*v}R%1+yn=yfxL_0g^a+qd_T z%s@CEo>zVv-N%6rcy9E(;>q{sl%1^`$JNP!`WZ1x+qMM36M}fUS+FQ+DsIi zre7>!E}hLLfKtJ;W~%|TVE&{aqrklQu{mcygYN8Svd+#b6Fs!WL!UD?3dS)5IP@hG zC3vYQ**VzS<@f@ina{wQT$pFOyQ+5#;O_%;^-fAW6hMY?)QkfvfH|kTg~~eHC!b%m zdCP=#Q}N zT>csSUs{dXlZtKEU;&-9pvyIK*VVljY22Og`8@y>Fy;EXe#TE zUCG)mzB5GwdAwfBPS$ch9p&!%x8#R@`p4vBpZ>VqKmWGe-`vPj z%BS`cWT@+f-5In!15TBD)dP!-%{RLT!e>#dP9CaO>q*yT5Opo>4e*Eq@gb+$b(!9< zq{{3}0l&@Vy3=s%wO73E)bFn~f`3?r;g zu2sE$KTyS`(xw3byaZAgczCAAj2;~aAV1*04)Dq?YfTKr z)@akt&TpRN?=|)~ZM=m=fd-IZ)6Pc!Vq4JGp1}NwYa@HmXoKyX{h5ZP`^GOxe3Cb9 z4g1^R@6_?h%ZVf62(aLKrf6a2Yl@^_RMjxJXgZ%F^VDI-!R9U#mqRemu}D_EXd)R~ z*3$w)#3WU7!NB2X;J#wYf9%KfhpTDzZ$9+zzWn(mN_v!4_L*P(;?K!6{XJPtKP{7d z{3!BjdIG136q^LmQ61K}c#=-F%O?s6^n%Y)q8eds-E>_->l9d-tW!IK42>aF#!V^M z_HRrdhNnm47X&`^wIi}_WJQ{70~rGfPQa0U|LI_`?0?={vVy#!5G!y=h|W*g_B+~E zr6?y6FUo_Fq$}&3(Kea-RJF?Bz54w6JM{mE?dKqRFT^Tw4EEN}>)bAx-^=;xC>I(`5e=B=T_`v5RPIoLa=eijfqvUTwMT;iPivj{psb<)U5$2>Uhg1RV%B->@-wn~1lb39cT$2};a zM*Np?#avaM+?zhY$ez>I`iFsv+R6r2vsamP29X~gF0KZp1F)U1y&82XYs&o^{v7NZ zN=ETHjtc`KE;cXDyq#6$PiH!#KhkFB{1ccSfdUDjWl(}z51D+(fT{CK`GfBVb?*mX1G++1lg&vDGNf(6gO&>jPtIwSoRqBU=AEFhXf)wrs(` zPO+QnTF3*Q_X`7llAG0?oW1grtX_JGY9Ed99`y#KNsb<@8*Nvm|0aOq#(w2lI)_#5 zF9DT{0OrUT*FAEuFXmWV28AA-6Eoh*s)$o0FOTwKewR)GV~}WK*Hp!@2_65MQnr!Q7cJu;2u?XH7wo zvTP(ixfYW~6)Y|C?^FO~DWI?v*vP#Eo%4cv^jU8OYXCT*m|Hum2mE_luYWgm&SX`t0}X(E$`cpIKYWF2mPZrp-W8@VI0xj{L7>HQ4e#E~qu{Hoj8rp8tOVl<|y~ z11Ooq6TzM)fI_ee{09{beQ6R!eZPU;HtGT6mkFW61APU8RGafFOa8mKxR$far*i$m z2jq|5_>z44o$tuz?1|X@fk(D5^kjmWZB9MhKhqyyGT0kE+wt!VcaLDKk5A$?yStSo z^h1zY51vQ+uE~IC>)&mc$1647%VGUJ`RRZ7cjV%QjXZnz+j4jN9D&rsKJLb9w(pSv z6xvIb5~>}wOtW~}KlcUIMUIA}e)1C?fv(00f>pIW_; zRVJe#ZrxMZ6|FpUOg4OZ!}0ucO~9c6LUWfZ*2q@@P!BMHQ3Xl?hNA+Rc7+4)^gHsY zuvbRU4!Sa77>)wO&!U)eyR7%0nQT&VID*KmtgFeQr@(1@_9&?$0|pF^03@#!DA3Qb zEhmUP#ecPzuoWPAypF%w#RR*P{uE`Bw{dh{Uus>)>9pT3d{AuL0#_`qBFAZYseir4 ze$uBIc@EGG8RXy^8$q*(Ys9nNh6YVKBA#sep!k{3EUU-VhiPp#_dxtmiB8fliLv@Y zE#{X26eK~6)>}DhBs~hBd&eHIRr(!$qC?78(p>sLkTnV}O@F?c Date: Thu, 11 Apr 2024 08:59:14 +0100 Subject: [PATCH 398/539] fixed minor rendering issue --- docs/changelog/main.mdx | 26 ++++++++++++++------------ 1 file changed, 14 insertions(+), 12 deletions(-) diff --git a/docs/changelog/main.mdx b/docs/changelog/main.mdx index f5056a40e6..70c3efdae7 100644 --- a/docs/changelog/main.mdx +++ b/docs/changelog/main.mdx @@ -12,16 +12,16 @@ You can now compare the latency and cost of different variants in the evaluation ## v0.12.5 - Minor improvements *31st March 2024* -** Toggle variants in comparison view ** +**Toggle variants in comparison view** You can now toggle the visibility of variants in the comparison view, allowing you to compare a multitude of variants side-by-side at the same time. -** Improvements ** +**Improvements** - You can now add a datapoint from the playground to the test set even if there is a column mismatch -** Bug fixes ** +**Bug fixes** - Resolved issue with "Start Evaluation" button in Testset view - Fixed bug in CLI causing variant not to serve @@ -30,12 +30,12 @@ You can now toggle the visibility of variants in the comparison view, allowing y We have added some more evaluators, a new string matching and a Levenshtein distance evaluation. -** Improvements ** +**Improvements** - Updated documentation for human evaluation - Made improvements to Human evaluation card view - Added dialog to indicate testset being saved in UI -** Bug fixes ** +**Bug fixes** - Fixed issue with viewing the full output value during evaluation - Enhanced error boundary logic to unblock user interface - Improved logic to save and retrieve multiple LLM provider keys @@ -49,7 +49,7 @@ We have added some more evaluators, a new string matching and a Levenshtein dist - Added an option to save a test set in the Single model evaluation view - Included the evaluator name in the "Configure your evaluator" modal -** Bug fixes ** +**Bug fixes** - Fixed column resize in comparison view - Resolved a bug affecting the evaluation output in the CSV file - Corrected the path to the Evaluators view when navigating from Evaluations @@ -60,7 +60,7 @@ We have added some more evaluators, a new string matching and a Levenshtein dist We have improved the evaluation comparison view to show the difference to the expected output. -** Improvements ** +**Improvements** - Improved the error messages when invoking LLM applications - Improved "Add new evaluation" modal - Upgraded Sidemenu to display Configure evaluator and run evaluator under Evaluations section @@ -69,20 +69,20 @@ We have improved the evaluation comparison view to show the difference to the ex ## v0.12.0 - Deployment Versioning and RBAC *14th February 2024* -** Deployment versioning ** +**Deployment versioning** You now have access to a history of prompts deployed to our three environments. This feature allows you to roll back to previous versions if needed. -** Role-Based Access Control ** +**Role-Based Access Control** You can now invite team members and assign them fine-grained roles in agenta. -** Improvements ** +**Improvements** - We now prevent the deletion of test sets that are used in evaluations -** Bug fixes** +**Bug fixes** - Fixed bug in custom code evaluation aggregation. Up until know the aggregated result for custom code evalution where not computed correctly. - Fixed bug with Evaluation results not being exported correctly @@ -125,12 +125,14 @@ We have improved error handling in evaluation to return more information about t ## v0.8.3 - Bring your own API key *25th January 2024* + Up until know, we required users to use our OpenAI API key when using cloud. Starting now, you can use your own API key for any new application you create. ## v0.8.2 - Improved human evaluation workflow *24th January 2024* -** Faster human evaluation workflow +**Faster human evaluation workflow** + We have updated the human evaluation table view to add annotation and correct answer columns. From 02d5129c93ad7e812ed83262f2f92619e914f90e Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 11 Apr 2024 16:57:26 +0100 Subject: [PATCH 399/539] Update - fix issue with request body with fern-python-sdk and regenerate sdk client backend --- agenta-cli/agenta/client/backend/__init__.py | 12 +- agenta-cli/agenta/client/backend/client.py | 392 ++++++-- .../client/backend/resources/apps/client.py | 152 +++- .../client/backend/resources/bases/client.py | 14 +- .../backend/resources/configs/client.py | 78 +- .../backend/resources/containers/client.py | 58 +- .../backend/resources/environments/client.py | 20 +- .../backend/resources/evaluations/client.py | 196 +++- .../backend/resources/evaluators/client.py | 110 ++- .../backend/resources/observability/client.py | 838 ++++++------------ .../backend/resources/testsets/client.py | 162 +++- .../backend/resources/variants/client.py | 200 +++-- .../agenta/client/backend/types/__init__.py | 12 +- .../{llm_model_params.py => create_span.py} | 23 +- ...llm_inputs.py => create_trace_response.py} | 6 +- .../agenta/client/backend/types/evaluation.py | 2 + .../types/evaluation_scenario_output.py | 2 + .../backend/types/{llm_content.py => span.py} | 22 +- .../client/backend/types/span_detail.py | 13 +- .../agenta/client/backend/types/status.py | 16 +- .../client/backend/types/trace_detail.py | 8 +- 21 files changed, 1402 insertions(+), 934 deletions(-) rename agenta-cli/agenta/client/backend/types/{llm_model_params.py => create_span.py} (55%) rename agenta-cli/agenta/client/backend/types/{llm_inputs.py => create_trace_response.py} (89%) rename agenta-cli/agenta/client/backend/types/{llm_content.py => span.py} (65%) diff --git a/agenta-cli/agenta/client/backend/__init__.py b/agenta-cli/agenta/client/backend/__init__.py index 2f9b65376a..f89466f44f 100644 --- a/agenta-cli/agenta/client/backend/__init__.py +++ b/agenta-cli/agenta/client/backend/__init__.py @@ -10,6 +10,8 @@ BodyImportTestset, ConfigDb, CreateAppOutput, + CreateSpan, + CreateTraceResponse, DockerEnvVars, EnvironmentOutput, EnvironmentOutputExtended, @@ -38,9 +40,6 @@ Image, InviteRequest, ListApiKeysResponse, - LlmContent, - LlmInputs, - LlmModelParams, LlmRunRateLimit, LlmTokens, NewHumanEvaluation, @@ -51,6 +50,7 @@ Result, Score, SimpleEvaluationOutput, + Span, SpanDetail, SpanStatus, SpanVariant, @@ -100,6 +100,8 @@ "ConfigDb", "ContainerTemplatesResponse", "CreateAppOutput", + "CreateSpan", + "CreateTraceResponse", "DockerEnvVars", "EnvironmentOutput", "EnvironmentOutputExtended", @@ -128,9 +130,6 @@ "Image", "InviteRequest", "ListApiKeysResponse", - "LlmContent", - "LlmInputs", - "LlmModelParams", "LlmRunRateLimit", "LlmTokens", "NewHumanEvaluation", @@ -141,6 +140,7 @@ "Result", "Score", "SimpleEvaluationOutput", + "Span", "SpanDetail", "SpanStatus", "SpanVariant", diff --git a/agenta-cli/agenta/client/backend/client.py b/agenta-cli/agenta/client/backend/client.py index 04e2b6c25a..6ac62f552e 100644 --- a/agenta-cli/agenta/client/backend/client.py +++ b/agenta-cli/agenta/client/backend/client.py @@ -46,13 +46,21 @@ class AgentaApi: def __init__( - self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 + self, + *, + base_url: str, + api_key: str, + timeout: typing.Optional[float] = 60, + httpx_client: typing.Optional[httpx.Client] = None, ): self._client_wrapper = SyncClientWrapper( base_url=base_url, api_key=api_key, - httpx_client=httpx.Client(timeout=timeout), + httpx_client=httpx.Client(timeout=timeout) + if httpx_client is None + else httpx_client, ) + self.observability = ObservabilityClient(client_wrapper=self._client_wrapper) self.apps = AppsClient(client_wrapper=self._client_wrapper) self.variants = VariantsClient(client_wrapper=self._client_wrapper) self.evaluations = EvaluationsClient(client_wrapper=self._client_wrapper) @@ -60,7 +68,6 @@ def __init__( self.testsets = TestsetsClient(client_wrapper=self._client_wrapper) self.containers = ContainersClient(client_wrapper=self._client_wrapper) self.environments = EnvironmentsClient(client_wrapper=self._client_wrapper) - self.observability = ObservabilityClient(client_wrapper=self._client_wrapper) self.bases = BasesClient(client_wrapper=self._client_wrapper) self.configs = ConfigsClient(client_wrapper=self._client_wrapper) @@ -77,7 +84,10 @@ def list_api_keys(self) -> typing.List[ListApiKeysResponse]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) client.list_api_keys() """ _response = self._client_wrapper.httpx_client.request( @@ -109,8 +119,13 @@ def create_api_key(self, *, workspace_id: str) -> str: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_api_key(workspace_id="workspace_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.create_api_key( + workspace_id="workspace_id", + ) """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -148,8 +163,13 @@ def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_api_key(key_prefix="key_prefix") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.delete_api_key( + key_prefix="key_prefix", + ) """ _response = self._client_wrapper.httpx_client.request( "DELETE", @@ -180,8 +200,13 @@ def validate_api_key(self, key_prefix: str) -> bool: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.validate_api_key(key_prefix="key_prefix") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.validate_api_key( + key_prefix="key_prefix", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -217,7 +242,10 @@ def list_organizations(self) -> typing.List[Organization]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) client.list_organizations() """ _response = self._client_wrapper.httpx_client.request( @@ -256,8 +284,13 @@ def create_organization( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_organization(name="name") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.create_organization( + name="name", + ) """ _request: typing.Dict[str, typing.Any] = {"name": name} if description is not OMIT: @@ -289,7 +322,10 @@ def get_own_org(self) -> OrganizationOutput: """ from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) client.get_own_org() """ _response = self._client_wrapper.httpx_client.request( @@ -324,8 +360,13 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_organization_details(org_id="org_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.fetch_organization_details( + org_id="org_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -365,8 +406,13 @@ def update_organization( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_organization(org_id="org_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.update_organization( + org_id="org_id", + ) """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -408,9 +454,19 @@ def invite_user_to_workspace( from agenta import InviteRequest from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) client.invite_user_to_workspace( - org_id="org_id", workspace_id="workspace_id", request=[InviteRequest(email="email", roles=["roles"])] + org_id="org_id", + workspace_id="workspace_id", + request=[ + InviteRequest( + email="email", + roles=["roles"], + ) + ], ) """ _response = self._client_wrapper.httpx_client.request( @@ -456,8 +512,15 @@ def resend_invitation( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.resend_invitation(org_id="org_id", workspace_id="workspace_id", email="email") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.resend_invitation( + org_id="org_id", + workspace_id="workspace_id", + email="email", + ) """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -502,8 +565,15 @@ def accept_invitation( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.accept_invitation(org_id="org_id", workspace_id="workspace_id", token="token") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.accept_invitation( + org_id="org_id", + workspace_id="workspace_id", + token="token", + ) """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -545,8 +615,14 @@ def create_workspace( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_workspace(org_id="org_id", name="name") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.create_workspace( + org_id="org_id", + name="name", + ) """ _request: typing.Dict[str, typing.Any] = {"name": name} if description is not OMIT: @@ -596,8 +672,14 @@ def update_workspace( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_workspace(org_id="org_id", workspace_id="workspace_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.update_workspace( + org_id="org_id", + workspace_id="workspace_id", + ) """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -641,7 +723,10 @@ def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) client.get_all_workspace_roles() """ _response = self._client_wrapper.httpx_client.request( @@ -675,7 +760,10 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) client.get_all_workspace_permissions() """ _response = self._client_wrapper.httpx_client.request( @@ -728,15 +816,22 @@ def assign_role_to_user( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.assign_role_to_user( + workspace_id="workspace_id", + email="email", + organization_id="organization_id", + ) """ _request: typing.Dict[str, typing.Any] = { "email": email, "organization_id": organization_id, } if role is not OMIT: - _request["role"] = role + _request["role"] = role.value _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( @@ -788,8 +883,16 @@ def unassign_role_from_user( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.unassign_role_from_user(workspace_id="workspace_id", email="email", org_id="org_id", role="role") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.unassign_role_from_user( + workspace_id="workspace_id", + email="email", + org_id="org_id", + role="role", + ) """ _response = self._client_wrapper.httpx_client.request( "DELETE", @@ -843,8 +946,15 @@ def remove_user_from_workspace( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.remove_user_from_workspace(workspace_id="workspace_id", org_id="org_id", email="email") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.remove_user_from_workspace( + workspace_id="workspace_id", + org_id="org_id", + email="email", + ) """ _response = self._client_wrapper.httpx_client.request( "DELETE", @@ -870,7 +980,10 @@ def health_check(self) -> typing.Any: """ from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) client.health_check() """ _response = self._client_wrapper.httpx_client.request( @@ -891,7 +1004,10 @@ def user_profile(self) -> typing.Any: """ from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) client.user_profile() """ _response = self._client_wrapper.httpx_client.request( @@ -911,12 +1027,22 @@ def user_profile(self) -> typing.Any: class AsyncAgentaApi: def __init__( - self, *, base_url: str, api_key: str, timeout: typing.Optional[float] = 60 + self, + *, + base_url: str, + api_key: str, + timeout: typing.Optional[float] = 60, + httpx_client: typing.Optional[httpx.AsyncClient] = None, ): self._client_wrapper = AsyncClientWrapper( base_url=base_url, api_key=api_key, - httpx_client=httpx.AsyncClient(timeout=timeout), + httpx_client=httpx.AsyncClient(timeout=timeout) + if httpx_client is None + else httpx_client, + ) + self.observability = AsyncObservabilityClient( + client_wrapper=self._client_wrapper ) self.apps = AsyncAppsClient(client_wrapper=self._client_wrapper) self.variants = AsyncVariantsClient(client_wrapper=self._client_wrapper) @@ -925,9 +1051,6 @@ def __init__( self.testsets = AsyncTestsetsClient(client_wrapper=self._client_wrapper) self.containers = AsyncContainersClient(client_wrapper=self._client_wrapper) self.environments = AsyncEnvironmentsClient(client_wrapper=self._client_wrapper) - self.observability = AsyncObservabilityClient( - client_wrapper=self._client_wrapper - ) self.bases = AsyncBasesClient(client_wrapper=self._client_wrapper) self.configs = AsyncConfigsClient(client_wrapper=self._client_wrapper) @@ -944,7 +1067,10 @@ async def list_api_keys(self) -> typing.List[ListApiKeysResponse]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) await client.list_api_keys() """ _response = await self._client_wrapper.httpx_client.request( @@ -976,8 +1102,13 @@ async def create_api_key(self, *, workspace_id: str) -> str: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_api_key(workspace_id="workspace_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.create_api_key( + workspace_id="workspace_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -1015,8 +1146,13 @@ async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_api_key(key_prefix="key_prefix") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.delete_api_key( + key_prefix="key_prefix", + ) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", @@ -1047,8 +1183,13 @@ async def validate_api_key(self, key_prefix: str) -> bool: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.validate_api_key(key_prefix="key_prefix") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.validate_api_key( + key_prefix="key_prefix", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -1084,7 +1225,10 @@ async def list_organizations(self) -> typing.List[Organization]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) await client.list_organizations() """ _response = await self._client_wrapper.httpx_client.request( @@ -1123,8 +1267,13 @@ async def create_organization( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_organization(name="name") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.create_organization( + name="name", + ) """ _request: typing.Dict[str, typing.Any] = {"name": name} if description is not OMIT: @@ -1156,7 +1305,10 @@ async def get_own_org(self) -> OrganizationOutput: """ from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) await client.get_own_org() """ _response = await self._client_wrapper.httpx_client.request( @@ -1191,8 +1343,13 @@ async def fetch_organization_details(self, org_id: str) -> typing.Any: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_organization_details(org_id="org_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.fetch_organization_details( + org_id="org_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -1232,8 +1389,13 @@ async def update_organization( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_organization(org_id="org_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.update_organization( + org_id="org_id", + ) """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -1275,9 +1437,19 @@ async def invite_user_to_workspace( from agenta import InviteRequest from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) await client.invite_user_to_workspace( - org_id="org_id", workspace_id="workspace_id", request=[InviteRequest(email="email", roles=["roles"])] + org_id="org_id", + workspace_id="workspace_id", + request=[ + InviteRequest( + email="email", + roles=["roles"], + ) + ], ) """ _response = await self._client_wrapper.httpx_client.request( @@ -1323,8 +1495,15 @@ async def resend_invitation( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.resend_invitation(org_id="org_id", workspace_id="workspace_id", email="email") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.resend_invitation( + org_id="org_id", + workspace_id="workspace_id", + email="email", + ) """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -1369,8 +1548,15 @@ async def accept_invitation( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.accept_invitation(org_id="org_id", workspace_id="workspace_id", token="token") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.accept_invitation( + org_id="org_id", + workspace_id="workspace_id", + token="token", + ) """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -1412,8 +1598,14 @@ async def create_workspace( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_workspace(org_id="org_id", name="name") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.create_workspace( + org_id="org_id", + name="name", + ) """ _request: typing.Dict[str, typing.Any] = {"name": name} if description is not OMIT: @@ -1463,8 +1655,14 @@ async def update_workspace( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_workspace(org_id="org_id", workspace_id="workspace_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.update_workspace( + org_id="org_id", + workspace_id="workspace_id", + ) """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -1508,7 +1706,10 @@ async def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) await client.get_all_workspace_roles() """ _response = await self._client_wrapper.httpx_client.request( @@ -1542,7 +1743,10 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) await client.get_all_workspace_permissions() """ _response = await self._client_wrapper.httpx_client.request( @@ -1595,15 +1799,22 @@ async def assign_role_to_user( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.assign_role_to_user(workspace_id="workspace_id", email="email", organization_id="organization_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.assign_role_to_user( + workspace_id="workspace_id", + email="email", + organization_id="organization_id", + ) """ _request: typing.Dict[str, typing.Any] = { "email": email, "organization_id": organization_id, } if role is not OMIT: - _request["role"] = role + _request["role"] = role.value _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( @@ -1655,8 +1866,16 @@ async def unassign_role_from_user( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.unassign_role_from_user(workspace_id="workspace_id", email="email", org_id="org_id", role="role") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.unassign_role_from_user( + workspace_id="workspace_id", + email="email", + org_id="org_id", + role="role", + ) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", @@ -1710,8 +1929,15 @@ async def remove_user_from_workspace( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.remove_user_from_workspace(workspace_id="workspace_id", org_id="org_id", email="email") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.remove_user_from_workspace( + workspace_id="workspace_id", + org_id="org_id", + email="email", + ) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", @@ -1737,7 +1963,10 @@ async def health_check(self) -> typing.Any: """ from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) await client.health_check() """ _response = await self._client_wrapper.httpx_client.request( @@ -1758,7 +1987,10 @@ async def user_profile(self) -> typing.Any: """ from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) await client.user_profile() """ _response = await self._client_wrapper.httpx_client.request( diff --git a/agenta-cli/agenta/client/backend/resources/apps/client.py b/agenta-cli/agenta/client/backend/resources/apps/client.py index 20b3932d43..b5a5b3d312 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/client.py +++ b/agenta-cli/agenta/client/backend/resources/apps/client.py @@ -45,8 +45,13 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.list_app_variants(app_id="app_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.list_app_variants( + app_id="app_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -90,8 +95,14 @@ def get_variant_by_env( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_variant_by_env(app_id="app_id", environment="environment") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.get_variant_by_env( + app_id="app_id", + environment="environment", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -144,8 +155,11 @@ def list_apps( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.list_apps() + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.list_apps() """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -195,8 +209,13 @@ def create_app( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_app(app_name="app_name") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.create_app( + app_name="app_name", + ) """ _request: typing.Dict[str, typing.Any] = {"app_name": app_name} if organization_id is not OMIT: @@ -259,8 +278,16 @@ def add_variant_from_image( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.add_variant_from_image( + app_id="app_id", + variant_name="variant_name", + docker_id="docker_id", + tags="tags", + ) """ _request: typing.Dict[str, typing.Any] = { "variant_name": variant_name, @@ -303,8 +330,13 @@ def remove_app(self, app_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.remove_app(app_id="app_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.remove_app( + app_id="app_id", + ) """ _response = self._client_wrapper.httpx_client.request( "DELETE", @@ -359,9 +391,14 @@ def create_app_and_variant_from_template( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_app_and_variant_from_template( - app_name="app_name", template_id="template_id", env_vars={"env_vars": "env_vars"} + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.create_app_and_variant_from_template( + app_name="app_name", + template_id="template_id", + env_vars={"env_vars": "env_vars"}, ) """ _request: typing.Dict[str, typing.Any] = { @@ -409,8 +446,13 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.list_environments(app_id="app_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.apps.list_environments( + app_id="app_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -479,8 +521,13 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.list_app_variants(app_id="app_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.list_app_variants( + app_id="app_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -524,8 +571,14 @@ async def get_variant_by_env( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_variant_by_env(app_id="app_id", environment="environment") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.get_variant_by_env( + app_id="app_id", + environment="environment", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -578,8 +631,11 @@ async def list_apps( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.list_apps() + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.list_apps() """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -629,8 +685,13 @@ async def create_app( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_app(app_name="app_name") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.create_app( + app_name="app_name", + ) """ _request: typing.Dict[str, typing.Any] = {"app_name": app_name} if organization_id is not OMIT: @@ -693,8 +754,16 @@ async def add_variant_from_image( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.add_variant_from_image(app_id="app_id", variant_name="variant_name", docker_id="docker_id", tags="tags") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.add_variant_from_image( + app_id="app_id", + variant_name="variant_name", + docker_id="docker_id", + tags="tags", + ) """ _request: typing.Dict[str, typing.Any] = { "variant_name": variant_name, @@ -737,8 +806,13 @@ async def remove_app(self, app_id: str) -> typing.Any: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.remove_app(app_id="app_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.remove_app( + app_id="app_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", @@ -793,9 +867,14 @@ async def create_app_and_variant_from_template( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_app_and_variant_from_template( - app_name="app_name", template_id="template_id", env_vars={"env_vars": "env_vars"} + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.create_app_and_variant_from_template( + app_name="app_name", + template_id="template_id", + env_vars={"env_vars": "env_vars"}, ) """ _request: typing.Dict[str, typing.Any] = { @@ -843,8 +922,13 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.list_environments(app_id="app_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.apps.list_environments( + app_id="app_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", diff --git a/agenta-cli/agenta/client/backend/resources/bases/client.py b/agenta-cli/agenta/client/backend/resources/bases/client.py index 88082d3555..b1c074f463 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/client.py +++ b/agenta-cli/agenta/client/backend/resources/bases/client.py @@ -48,8 +48,11 @@ def list_bases( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.list_bases() + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.bases.list_bases() """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -100,8 +103,11 @@ async def list_bases( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.list_bases() + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.bases.list_bases() """ _response = await self._client_wrapper.httpx_client.request( "GET", diff --git a/agenta-cli/agenta/client/backend/resources/configs/client.py b/agenta-cli/agenta/client/backend/resources/configs/client.py index f13859b76c..d6458d6c47 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/client.py +++ b/agenta-cli/agenta/client/backend/resources/configs/client.py @@ -42,8 +42,13 @@ def get_config( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_config(base_id="base_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.configs.get_config( + base_id="base_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -88,8 +93,16 @@ def save_config( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.save_config(base_id="base_id", config_name="config_name", parameters={}, overwrite=True) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.configs.save_config( + base_id="base_id", + config_name="config_name", + parameters={}, + overwrite=True, + ) """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -122,8 +135,13 @@ def get_config_deployment_revision(self, deployment_revision_id: str) -> typing. --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_config_deployment_revision(deployment_revision_id="deployment_revision_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.configs.get_config_deployment_revision( + deployment_revision_id="deployment_revision_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -151,8 +169,13 @@ def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.revert_deployment_revision(deployment_revision_id="deployment_revision_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.configs.revert_deployment_revision( + deployment_revision_id="deployment_revision_id", + ) """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -195,8 +218,13 @@ async def get_config( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_config(base_id="base_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.configs.get_config( + base_id="base_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -241,8 +269,16 @@ async def save_config( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.save_config(base_id="base_id", config_name="config_name", parameters={}, overwrite=True) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.configs.save_config( + base_id="base_id", + config_name="config_name", + parameters={}, + overwrite=True, + ) """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -277,8 +313,13 @@ async def get_config_deployment_revision( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_config_deployment_revision(deployment_revision_id="deployment_revision_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.configs.get_config_deployment_revision( + deployment_revision_id="deployment_revision_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -308,8 +349,13 @@ async def revert_deployment_revision( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.revert_deployment_revision(deployment_revision_id="deployment_revision_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.configs.revert_deployment_revision( + deployment_revision_id="deployment_revision_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "POST", diff --git a/agenta-cli/agenta/client/backend/resources/containers/client.py b/agenta-cli/agenta/client/backend/resources/containers/client.py index 8f97f53369..1b9584a01a 100644 --- a/agenta-cli/agenta/client/backend/resources/containers/client.py +++ b/agenta-cli/agenta/client/backend/resources/containers/client.py @@ -46,6 +46,17 @@ def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Im - base_name: str. - tar_file: typing.IO. + --- + from agenta.client import AgentaApi + + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.containers.build_image( + app_id="app_id", + base_name="base_name", + ) """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -56,7 +67,7 @@ def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Im data=jsonable_encoder({}), files={"tar_file": tar_file}, headers=self._client_wrapper.get_headers(), - timeout=600, + timeout=60, ) if 200 <= _response.status_code < 300: return pydantic.parse_obj_as(Image, _response.json()) # type: ignore @@ -80,8 +91,13 @@ def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.restart_container(variant_id="variant_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.containers.restart_container( + variant_id="variant_id", + ) """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -157,8 +173,11 @@ def construct_app_container_url( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.construct_app_container_url() + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.containers.construct_app_container_url() """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -207,6 +226,17 @@ async def build_image( - base_name: str. - tar_file: typing.IO. + --- + from agenta.client import AsyncAgentaApi + + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.containers.build_image( + app_id="app_id", + base_name="base_name", + ) """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -217,7 +247,7 @@ async def build_image( data=jsonable_encoder({}), files={"tar_file": tar_file}, headers=self._client_wrapper.get_headers(), - timeout=600, + timeout=60, ) if 200 <= _response.status_code < 300: return pydantic.parse_obj_as(Image, _response.json()) # type: ignore @@ -243,8 +273,13 @@ async def restart_container( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.restart_container(variant_id="variant_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.containers.restart_container( + variant_id="variant_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -320,8 +355,11 @@ async def construct_app_container_url( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.construct_app_container_url() + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.containers.construct_app_container_url() """ _response = await self._client_wrapper.httpx_client.request( "GET", diff --git a/agenta-cli/agenta/client/backend/resources/environments/client.py b/agenta-cli/agenta/client/backend/resources/environments/client.py index ffba541661..989e270f27 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/client.py +++ b/agenta-cli/agenta/client/backend/resources/environments/client.py @@ -44,8 +44,14 @@ def deploy_to_environment( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.deploy_to_environment(environment_name="environment_name", variant_id="variant_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.environments.deploy_to_environment( + environment_name="environment_name", + variant_id="variant_id", + ) """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -94,8 +100,14 @@ async def deploy_to_environment( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.deploy_to_environment(environment_name="environment_name", variant_id="variant_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.environments.deploy_to_environment( + environment_name="environment_name", + variant_id="variant_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "POST", diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/client.py b/agenta-cli/agenta/client/backend/resources/evaluations/client.py index 2dfd066929..0a858f0ba5 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/client.py @@ -33,7 +33,7 @@ def fetch_evaluation_ids( *, app_id: str, resource_type: str, - resource_ids: typing.Union[typing.Optional[str], typing.List[str]], + resource_ids: typing.Optional[typing.Union[str, typing.List[str]]] = None, ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -54,12 +54,18 @@ def fetch_evaluation_ids( - resource_type: str. - - resource_ids: typing.Union[typing.Optional[str], typing.List[str]]. + - resource_ids: typing.Optional[typing.Union[str, typing.List[str]]]. --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_evaluation_ids(app_id="app_id", resource_type="resource_type") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation_ids( + app_id="app_id", + resource_type="resource_type", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -101,8 +107,13 @@ def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_list_evaluations(app_id="app_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_list_evaluations( + app_id="app_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -159,13 +170,21 @@ def create_evaluation( from agenta import LlmRunRateLimit from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_evaluation( + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.create_evaluation( app_id="app_id", variant_ids=["variant_ids"], evaluators_configs=["evaluators_configs"], testset_id="testset_id", - rate_limit=LlmRunRateLimit(batch_size=1, max_retries=1, retry_delay=1, delay_between_batches=1), + rate_limit=LlmRunRateLimit( + batch_size=1, + max_retries=1, + retry_delay=1, + delay_between_batches=1, + ), ) """ _request: typing.Dict[str, typing.Any] = { @@ -215,8 +234,13 @@ def delete_evaluations( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_evaluations(evaluations_ids=["evaluations_ids"]) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.delete_evaluations( + evaluations_ids=["evaluations_ids"], + ) """ _response = self._client_wrapper.httpx_client.request( "DELETE", @@ -253,8 +277,13 @@ def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_evaluation_status(evaluation_id="evaluation_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation_status( + evaluation_id="evaluation_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -291,8 +320,13 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_evaluation_results(evaluation_id="evaluation_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation_results( + evaluation_id="evaluation_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -333,8 +367,13 @@ def fetch_evaluation_scenarios( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_evaluation_scenarios(evaluation_id="evaluation_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation_scenarios( + evaluation_id="evaluation_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -370,8 +409,13 @@ def fetch_evaluation(self, evaluation_id: str) -> Evaluation: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_evaluation(evaluation_id="evaluation_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation( + evaluation_id="evaluation_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -402,8 +446,11 @@ def webhook_example_fake(self) -> EvaluationWebhook: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.webhook_example_fake() + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.webhook_example_fake() """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -440,8 +487,13 @@ def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.fetch_evaluation_scenarios(evaluations_ids="evaluations_ids") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluations.fetch_evaluation_scenarios( + evaluations_ids="evaluations_ids", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -473,7 +525,7 @@ async def fetch_evaluation_ids( *, app_id: str, resource_type: str, - resource_ids: typing.Union[typing.Optional[str], typing.List[str]], + resource_ids: typing.Optional[typing.Union[str, typing.List[str]]] = None, ) -> typing.List[str]: """ Fetches evaluation ids for a given resource type and id. @@ -494,12 +546,18 @@ async def fetch_evaluation_ids( - resource_type: str. - - resource_ids: typing.Union[typing.Optional[str], typing.List[str]]. + - resource_ids: typing.Optional[typing.Union[str, typing.List[str]]]. --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_evaluation_ids(app_id="app_id", resource_type="resource_type") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation_ids( + app_id="app_id", + resource_type="resource_type", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -541,8 +599,13 @@ async def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_list_evaluations(app_id="app_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_list_evaluations( + app_id="app_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -599,13 +662,21 @@ async def create_evaluation( from agenta import LlmRunRateLimit from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_evaluation( + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.create_evaluation( app_id="app_id", variant_ids=["variant_ids"], evaluators_configs=["evaluators_configs"], testset_id="testset_id", - rate_limit=LlmRunRateLimit(batch_size=1, max_retries=1, retry_delay=1, delay_between_batches=1), + rate_limit=LlmRunRateLimit( + batch_size=1, + max_retries=1, + retry_delay=1, + delay_between_batches=1, + ), ) """ _request: typing.Dict[str, typing.Any] = { @@ -655,8 +726,13 @@ async def delete_evaluations( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_evaluations(evaluations_ids=["evaluations_ids"]) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.delete_evaluations( + evaluations_ids=["evaluations_ids"], + ) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", @@ -693,8 +769,13 @@ async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_evaluation_status(evaluation_id="evaluation_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation_status( + evaluation_id="evaluation_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -731,8 +812,13 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_evaluation_results(evaluation_id="evaluation_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation_results( + evaluation_id="evaluation_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -773,8 +859,13 @@ async def fetch_evaluation_scenarios( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_evaluation_scenarios(evaluation_id="evaluation_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation_scenarios( + evaluation_id="evaluation_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -810,8 +901,13 @@ async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_evaluation(evaluation_id="evaluation_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation( + evaluation_id="evaluation_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -842,8 +938,11 @@ async def webhook_example_fake(self) -> EvaluationWebhook: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.webhook_example_fake() + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.webhook_example_fake() """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -880,8 +979,13 @@ async def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.An --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.fetch_evaluation_scenarios(evaluations_ids="evaluations_ids") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluations.fetch_evaluation_scenarios( + evaluations_ids="evaluations_ids", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/client.py b/agenta-cli/agenta/client/backend/resources/evaluators/client.py index e4aab0699b..e59acf617f 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/client.py @@ -36,8 +36,11 @@ def get_evaluators_endpoint(self) -> typing.List[Evaluator]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_evaluators_endpoint() + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.get_evaluators_endpoint() """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -70,8 +73,13 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_evaluator_configs(app_id="app_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.get_evaluator_configs( + app_id="app_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -120,8 +128,16 @@ def create_new_evaluator_config( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_new_evaluator_config(app_id="app_id", name="name", evaluator_key="evaluator_key", settings_values={}) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.create_new_evaluator_config( + app_id="app_id", + name="name", + evaluator_key="evaluator_key", + settings_values={}, + ) """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -161,8 +177,13 @@ def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_evaluator_config(evaluator_config_id="evaluator_config_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.get_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -208,8 +229,13 @@ def update_evaluator_config( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_evaluator_config(evaluator_config_id="evaluator_config_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.update_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -253,8 +279,13 @@ def delete_evaluator_config(self, evaluator_config_id: str) -> bool: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_evaluator_config(evaluator_config_id="evaluator_config_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.evaluators.delete_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) """ _response = self._client_wrapper.httpx_client.request( "DELETE", @@ -290,8 +321,11 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_evaluators_endpoint() + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.get_evaluators_endpoint() """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -326,8 +360,13 @@ async def get_evaluator_configs( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_evaluator_configs(app_id="app_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.get_evaluator_configs( + app_id="app_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -376,9 +415,15 @@ async def create_new_evaluator_config( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_new_evaluator_config( - app_id="app_id", name="name", evaluator_key="evaluator_key", settings_values={} + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.create_new_evaluator_config( + app_id="app_id", + name="name", + evaluator_key="evaluator_key", + settings_values={}, ) """ _response = await self._client_wrapper.httpx_client.request( @@ -419,8 +464,13 @@ async def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfi --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_evaluator_config(evaluator_config_id="evaluator_config_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.get_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -466,8 +516,13 @@ async def update_evaluator_config( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_evaluator_config(evaluator_config_id="evaluator_config_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.update_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) """ _request: typing.Dict[str, typing.Any] = {} if name is not OMIT: @@ -511,8 +566,13 @@ async def delete_evaluator_config(self, evaluator_config_id: str) -> bool: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_evaluator_config(evaluator_config_id="evaluator_config_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.evaluators.delete_evaluator_config( + evaluator_config_id="evaluator_config_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index 94fdc2f959..54d35d551c 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -1,6 +1,5 @@ # This file was auto-generated by Fern from our API Definition. -import datetime as dt import typing import urllib.parse from json.decoder import JSONDecodeError @@ -10,11 +9,11 @@ from ...core.jsonable_encoder import jsonable_encoder from ...core.remove_none_from_dict import remove_none_from_dict from ...errors.unprocessable_entity_error import UnprocessableEntityError +from ...types.create_span import CreateSpan +from ...types.create_trace_response import CreateTraceResponse from ...types.feedback import Feedback from ...types.http_validation_error import HttpValidationError -from ...types.llm_tokens import LlmTokens from ...types.span_detail import SpanDetail -from ...types.span_status import SpanStatus from ...types.trace_detail import TraceDetail from ...types.with_pagination import WithPagination @@ -51,8 +50,13 @@ def dashboard( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.dashboard(app_id="app_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.dashboard( + app_id="app_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -112,8 +116,13 @@ def get_traces( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_traces(app_id="app_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.get_traces( + app_id="app_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -145,77 +154,52 @@ def get_traces( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_trace( - self, - *, - app_id: typing.Optional[str] = OMIT, - variant_id: typing.Optional[str] = OMIT, - cost: typing.Optional[float] = OMIT, - status: typing.Optional[str] = OMIT, - tags: typing.Optional[typing.List[str]] = OMIT, - start_time: typing.Optional[dt.datetime] = OMIT, - id: str, - trace_name: str, - inputs: typing.Dict[str, typing.Any], - environment: typing.Optional[str] = OMIT, - ) -> str: + def create_traces( + self, *, trace: str, spans: typing.List[CreateSpan] + ) -> CreateTraceResponse: """ Parameters: - - app_id: typing.Optional[str]. - - - variant_id: typing.Optional[str]. - - - cost: typing.Optional[float]. - - - status: typing.Optional[str]. - - - tags: typing.Optional[typing.List[str]]. - - - start_time: typing.Optional[dt.datetime]. - - - id: str. + - trace: str. - - trace_name: str. - - - inputs: typing.Dict[str, typing.Any]. - - - environment: typing.Optional[str]. + - spans: typing.List[CreateSpan]. --- + import datetime + + from agenta import CreateSpan from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_trace(id="id", trace_name="trace_name", inputs={}) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.create_traces( + trace="trace", + spans=[ + CreateSpan( + name="name", + spankind="spankind", + status="status", + start_time=datetime.datetime.fromisoformat( + "2024-01-15 09:30:00+00:00", + ), + end_time=datetime.datetime.fromisoformat( + "2024-01-15 09:30:00+00:00", + ), + ) + ], + ) """ - _request: typing.Dict[str, typing.Any] = { - "id": id, - "trace_name": trace_name, - "inputs": inputs, - } - if app_id is not OMIT: - _request["app_id"] = app_id - if variant_id is not OMIT: - _request["variant_id"] = variant_id - if cost is not OMIT: - _request["cost"] = cost - if status is not OMIT: - _request["status"] = status - if tags is not OMIT: - _request["tags"] = tags - if start_time is not OMIT: - _request["start_time"] = start_time - if environment is not OMIT: - _request["environment"] = environment _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", "observability/traces" ), - json=jsonable_encoder(_request), + json=jsonable_encoder({"trace": trace, "spans": spans}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(str, _response.json()) # type: ignore + return pydantic.parse_obj_as(CreateTraceResponse, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -231,8 +215,13 @@ def delete_traces(self, *, request: typing.List[str]) -> bool: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_traces(request=["string"]) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.delete_traces( + request=["string"], + ) """ _response = self._client_wrapper.httpx_client.request( "DELETE", @@ -253,6 +242,40 @@ def delete_traces(self, *, request: typing.List[str]) -> bool: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + def get_trace_detail(self, trace_id: str) -> TraceDetail: + """ + Parameters: + - trace_id: str. + --- + from agenta.client import AgentaApi + + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.get_trace_detail( + trace_id="trace_id", + ) + """ + _response = self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(TraceDetail, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + def get_spans_of_generation( self, *, @@ -285,8 +308,13 @@ def get_spans_of_generation( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_spans_of_generation(app_id="app_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.get_spans_of_generation( + app_id="app_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -318,117 +346,6 @@ def get_spans_of_generation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_span( - self, - *, - parent_span_id: typing.Optional[str] = OMIT, - meta: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - event_name: str, - event_type: typing.Optional[str] = OMIT, - start_time: typing.Optional[dt.datetime] = OMIT, - duration: typing.Optional[int] = OMIT, - status: SpanStatus, - input: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - output: typing.Optional[str] = OMIT, - cost: typing.Optional[float] = OMIT, - trace_id: str, - span_id: str, - environment: typing.Optional[str] = OMIT, - end_time: dt.datetime, - tokens: typing.Optional[LlmTokens] = OMIT, - ) -> str: - """ - Parameters: - - parent_span_id: typing.Optional[str]. - - - meta: typing.Optional[typing.Dict[str, typing.Any]]. - - - event_name: str. - - - event_type: typing.Optional[str]. - - - start_time: typing.Optional[dt.datetime]. - - - duration: typing.Optional[int]. - - - status: SpanStatus. - - - input: typing.Optional[typing.Dict[str, typing.Any]]. - - - output: typing.Optional[str]. - - - cost: typing.Optional[float]. - - - trace_id: str. - - - span_id: str. - - - environment: typing.Optional[str]. - - - end_time: dt.datetime. - - - tokens: typing.Optional[LlmTokens]. - --- - import datetime - - from agenta import SpanStatus - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_span( - event_name="event_name", - status=SpanStatus(), - trace_id="trace_id", - span_id="span_id", - end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), - ) - """ - _request: typing.Dict[str, typing.Any] = { - "event_name": event_name, - "status": status, - "trace_id": trace_id, - "span_id": span_id, - "end_time": end_time, - } - if parent_span_id is not OMIT: - _request["parent_span_id"] = parent_span_id - if meta is not OMIT: - _request["meta"] = meta - if event_type is not OMIT: - _request["event_type"] = event_type - if start_time is not OMIT: - _request["start_time"] = start_time - if duration is not OMIT: - _request["duration"] = duration - if input is not OMIT: - _request["input"] = input - if output is not OMIT: - _request["output"] = output - if cost is not OMIT: - _request["cost"] = cost - if environment is not OMIT: - _request["environment"] = environment - if tokens is not OMIT: - _request["tokens"] = tokens - _response = self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(str, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: """ Parameters: @@ -436,8 +353,13 @@ def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_spans_of_trace(request=["string"]) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.delete_spans_of_trace( + request=["string"], + ) """ _response = self._client_wrapper.httpx_client.request( "DELETE", @@ -458,95 +380,6 @@ def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_trace_detail(self, trace_id: str) -> TraceDetail: - """ - Parameters: - - trace_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_trace_detail(trace_id="trace_id") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(TraceDetail, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - def update_trace( - self, - trace_id: str, - *, - status: str, - end_time: dt.datetime, - outputs: typing.List[str], - token_consumption: typing.Optional[int] = OMIT, - ) -> bool: - """ - Parameters: - - trace_id: str. - - - status: str. - - - end_time: dt.datetime. - - - outputs: typing.List[str]. - - - token_consumption: typing.Optional[int]. - --- - import datetime - - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_trace( - trace_id="trace_id", - status="status", - end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), - outputs=["outputs"], - ) - """ - _request: typing.Dict[str, typing.Any] = { - "status": status, - "end_time": end_time, - "outputs": outputs, - } - if token_consumption is not OMIT: - _request["token_consumption"] = token_consumption - _response = self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(bool, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - def get_span_of_generation( self, span_id: str, *, type: typing.Optional[str] = None ) -> SpanDetail: @@ -558,8 +391,13 @@ def get_span_of_generation( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_span_of_generation(span_id="span_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.get_span_of_generation( + span_id="span_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -588,8 +426,13 @@ def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_feedbacks(trace_id="trace_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.get_feedbacks( + trace_id="trace_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -630,8 +473,13 @@ def create_feedback( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_feedback(trace_id="trace_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.create_feedback( + trace_id="trace_id", + ) """ _request: typing.Dict[str, typing.Any] = {} if feedback is not OMIT: @@ -669,8 +517,14 @@ def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_feedback(trace_id="trace_id", feedback_id="feedback_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.get_feedback( + trace_id="trace_id", + feedback_id="feedback_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -714,8 +568,15 @@ def update_feedback( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_feedback(trace_id="trace_id", feedback_id="feedback_id", feedback="feedback") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.observability.update_feedback( + trace_id="trace_id", + feedback_id="feedback_id", + feedback="feedback", + ) """ _request: typing.Dict[str, typing.Any] = {"feedback": feedback} if score is not OMIT: @@ -767,8 +628,13 @@ async def dashboard( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.dashboard(app_id="app_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.dashboard( + app_id="app_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -828,8 +694,13 @@ async def get_traces( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_traces(app_id="app_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.get_traces( + app_id="app_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -861,76 +732,52 @@ async def get_traces( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_trace( - self, - *, - app_id: typing.Optional[str] = OMIT, - variant_id: typing.Optional[str] = OMIT, - status: typing.Optional[str] = OMIT, - tags: typing.Optional[typing.List[str]] = OMIT, - start_time: typing.Optional[dt.datetime] = OMIT, - id: str, - trace_name: str, - inputs: typing.Dict[str, typing.Any], - config: typing.Dict[str, typing.Any], - environment: typing.Optional[str] = OMIT, - ) -> str: + async def create_traces( + self, *, trace: str, spans: typing.List[CreateSpan] + ) -> CreateTraceResponse: """ Parameters: - - app_id: typing.Optional[str]. - - - variant_id: typing.Optional[str]. - - - status: typing.Optional[str]. - - - tags: typing.Optional[typing.List[str]]. - - - start_time: typing.Optional[dt.datetime]. - - - id: str. + - trace: str. - - trace_name: str. - - - inputs: typing.Dict[str, typing.Any]. - - - config: typing.Dict[str, typing.Any]. - - - environment: typing.Optional[str]. + - spans: typing.List[CreateSpan]. --- + import datetime + + from agenta import CreateSpan from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_trace(id="id", trace_name="trace_name", inputs={}) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.create_traces( + trace="trace", + spans=[ + CreateSpan( + name="name", + spankind="spankind", + status="status", + start_time=datetime.datetime.fromisoformat( + "2024-01-15 09:30:00+00:00", + ), + end_time=datetime.datetime.fromisoformat( + "2024-01-15 09:30:00+00:00", + ), + ) + ], + ) """ - _request: typing.Dict[str, typing.Any] = { - "id": id, - "trace_name": trace_name, - "inputs": inputs, - "config": config, - } - if app_id is not OMIT: - _request["app_id"] = app_id - if variant_id is not OMIT: - _request["variant_id"] = variant_id - if status is not OMIT: - _request["status"] = status - if tags is not OMIT: - _request["tags"] = tags - if start_time is not OMIT: - _request["start_time"] = start_time - if environment is not OMIT: - _request["environment"] = environment _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( f"{self._client_wrapper.get_base_url()}/", "observability/traces" ), - json=jsonable_encoder(_request), + json=jsonable_encoder({"trace": trace, "spans": spans}), headers=self._client_wrapper.get_headers(), timeout=60, ) if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(str, _response.json()) # type: ignore + return pydantic.parse_obj_as(CreateTraceResponse, _response.json()) # type: ignore if _response.status_code == 422: raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore try: @@ -946,8 +793,13 @@ async def delete_traces(self, *, request: typing.List[str]) -> bool: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_traces(request=["string"]) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.delete_traces( + request=["string"], + ) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", @@ -968,6 +820,40 @@ async def delete_traces(self, *, request: typing.List[str]) -> bool: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) + async def get_trace_detail(self, trace_id: str) -> TraceDetail: + """ + Parameters: + - trace_id: str. + --- + from agenta.client import AsyncAgentaApi + + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.get_trace_detail( + trace_id="trace_id", + ) + """ + _response = await self._client_wrapper.httpx_client.request( + "GET", + urllib.parse.urljoin( + f"{self._client_wrapper.get_base_url()}/", + f"observability/traces/{trace_id}", + ), + headers=self._client_wrapper.get_headers(), + timeout=60, + ) + if 200 <= _response.status_code < 300: + return pydantic.parse_obj_as(TraceDetail, _response.json()) # type: ignore + if _response.status_code == 422: + raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore + try: + _response_json = _response.json() + except JSONDecodeError: + raise ApiError(status_code=_response.status_code, body=_response.text) + raise ApiError(status_code=_response.status_code, body=_response_json) + async def get_spans_of_generation( self, *, @@ -1000,8 +886,13 @@ async def get_spans_of_generation( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_spans_of_generation(app_id="app_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.get_spans_of_generation( + app_id="app_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -1033,122 +924,6 @@ async def get_spans_of_generation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_span( - self, - *, - parent_span_id: typing.Optional[str] = OMIT, - attributes: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - name: str, - type: typing.Optional[str] = OMIT, - start_time: typing.Optional[dt.datetime] = OMIT, - duration: typing.Optional[int] = OMIT, - status: SpanStatus, - config: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - input: typing.Optional[typing.Dict[str, typing.Any]] = OMIT, - output: typing.Optional[str] = OMIT, - cost: typing.Optional[float] = OMIT, - trace_id: str, - span_id: str, - environment: typing.Optional[str] = OMIT, - end_time: dt.datetime, - tokens: typing.Optional[LlmTokens] = OMIT, - ) -> str: - """ - Parameters: - - parent_span_id: typing.Optional[str]. - - - attributes: typing.Optional[typing.Dict[str, typing.Any]]. - - - name: str. - - - type: typing.Optional[str]. - - - start_time: typing.Optional[dt.datetime]. - - - duration: typing.Optional[int]. - - - status: SpanStatus. - - - config: typing.Optional[typing.Dict[str, typing.Any]]. - - - input: typing.Optional[typing.Dict[str, typing.Any]]. - - - output: typing.Optional[str]. - - - cost: typing.Optional[float]. - - - trace_id: str. - - - span_id: str. - - - environment: typing.Optional[str]. - - - end_time: dt.datetime. - - - tokens: typing.Optional[LlmTokens]. - --- - import datetime - - from agenta import SpanStatus - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_span( - event_name="event_name", - status=SpanStatus(), - trace_id="trace_id", - span_id="span_id", - end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), - ) - """ - _request: typing.Dict[str, typing.Any] = { - "name": name, - "status": status, - "trace_id": trace_id, - "span_id": span_id, - "end_time": end_time, - } - if parent_span_id is not OMIT: - _request["parent_span_id"] = parent_span_id - if attributes is not OMIT: - _request["attributes"] = attributes - if type is not OMIT: - _request["type"] = type - if start_time is not OMIT: - _request["start_time"] = start_time - if duration is not OMIT: - _request["duration"] = duration - if config is not OMIT: - _request["config"] = config - if input is not OMIT: - _request["input"] = input - if output is not OMIT: - _request["output"] = output - if cost is not OMIT: - _request["cost"] = cost - if environment is not OMIT: - _request["environment"] = environment - if tokens is not OMIT: - _request["tokens"] = tokens - _response = await self._client_wrapper.httpx_client.request( - "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(str, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: """ Parameters: @@ -1156,8 +931,13 @@ async def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_spans_of_trace(request=["string"]) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.delete_spans_of_trace( + request=["string"], + ) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", @@ -1178,100 +958,6 @@ async def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_trace_detail(self, trace_id: str) -> TraceDetail: - """ - Parameters: - - trace_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_trace_detail(trace_id="trace_id") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(TraceDetail, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - - async def update_trace( - self, - trace_id: str, - *, - status: str, - end_time: dt.datetime, - outputs: typing.List[str], - cost: typing.Optional[float] = OMIT, - token_consumption: typing.Optional[int] = OMIT, - ) -> bool: - """ - Parameters: - - trace_id: str. - - - status: str. - - - end_time: dt.datetime. - - - outputs: typing.List[str]. - - - cost: typing.Optional[float]. - - - token_consumption: typing.Optional[int]. - --- - import datetime - - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_trace( - trace_id="trace_id", - status="status", - end_time=datetime.datetime.fromisoformat("2024-01-15 09:30:00+00:00"), - outputs=["outputs"], - ) - """ - _request: typing.Dict[str, typing.Any] = { - "status": status, - "end_time": end_time, - "outputs": outputs, - } - if cost is not OMIT: - _request["cost"] = cost - if token_consumption is not OMIT: - _request["token_consumption"] = token_consumption - _response = await self._client_wrapper.httpx_client.request( - "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), - json=jsonable_encoder(_request), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(bool, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_span_of_generation( self, span_id: str, *, type: typing.Optional[str] = None ) -> SpanDetail: @@ -1283,8 +969,13 @@ async def get_span_of_generation( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_span_of_generation(span_id="span_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.get_span_of_generation( + span_id="span_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -1313,8 +1004,13 @@ async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_feedbacks(trace_id="trace_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.get_feedbacks( + trace_id="trace_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -1355,8 +1051,13 @@ async def create_feedback( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_feedback(trace_id="trace_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.create_feedback( + trace_id="trace_id", + ) """ _request: typing.Dict[str, typing.Any] = {} if feedback is not OMIT: @@ -1394,8 +1095,14 @@ async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_feedback(trace_id="trace_id", feedback_id="feedback_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.get_feedback( + trace_id="trace_id", + feedback_id="feedback_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -1439,8 +1146,15 @@ async def update_feedback( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_feedback(trace_id="trace_id", feedback_id="feedback_id", feedback="feedback") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.observability.update_feedback( + trace_id="trace_id", + feedback_id="feedback_id", + feedback="feedback", + ) """ _request: typing.Dict[str, typing.Any] = {"feedback": feedback} if score is not OMIT: diff --git a/agenta-cli/agenta/client/backend/resources/testsets/client.py b/agenta-cli/agenta/client/backend/resources/testsets/client.py index 948dbb0478..10dd32b6ee 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/client.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/client.py @@ -28,7 +28,12 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def upload_file( - self, *, upload_type: str, file: typing.IO, testset_name: str, app_id: str + self, + *, + upload_type: typing.Optional[str] = None, + file: typing.IO, + testset_name: typing.Optional[str] = None, + app_id: typing.Optional[str] = None, ) -> TestSetSimpleResponse: """ Uploads a CSV or JSON file and saves its data to MongoDB. @@ -42,13 +47,21 @@ def upload_file( dict: The result of the upload process. Parameters: - - upload_type: str. + - upload_type: typing.Optional[str]. - file: typing.IO. - - testset_name: str. + - testset_name: typing.Optional[str]. - - app_id: str. + - app_id: typing.Optional[str]. + --- + from agenta.client import AgentaApi + + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.upload_file() """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -90,8 +103,11 @@ def import_testset(self) -> TestSetSimpleResponse: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.import_testset() + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.import_testset() """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -133,8 +149,17 @@ def create_testset( from agenta import NewTestset from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.create_testset(app_id="app_id", request=NewTestset(name="name", csvdata=[{"csvdata": "csvdata"}])) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.create_testset( + app_id="app_id", + request=NewTestset( + name="name", + csvdata=[{"csvdata": "csvdata"}], + ), + ) """ _response = self._client_wrapper.httpx_client.request( "POST", @@ -170,8 +195,13 @@ def get_single_testset(self, testset_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_single_testset(testset_id="testset_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.get_single_testset( + testset_id="testset_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -210,8 +240,17 @@ def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: from agenta import NewTestset from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_testset(testset_id="testset_id", request=NewTestset(name="name", csvdata=[{"csvdata": "csvdata"}])) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.update_testset( + testset_id="testset_id", + request=NewTestset( + name="name", + csvdata=[{"csvdata": "csvdata"}], + ), + ) """ _response = self._client_wrapper.httpx_client.request( "PUT", @@ -249,8 +288,13 @@ def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputResponse]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_testsets(app_id="app_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.get_testsets( + app_id="app_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -284,8 +328,13 @@ def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.delete_testsets(testset_ids=["testset_ids"]) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.testsets.delete_testsets( + testset_ids=["testset_ids"], + ) """ _response = self._client_wrapper.httpx_client.request( "DELETE", @@ -310,7 +359,12 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def upload_file( - self, *, upload_type: str, file: typing.IO, testset_name: str, app_id: str + self, + *, + upload_type: typing.Optional[str] = None, + file: typing.IO, + testset_name: typing.Optional[str] = None, + app_id: typing.Optional[str] = None, ) -> TestSetSimpleResponse: """ Uploads a CSV or JSON file and saves its data to MongoDB. @@ -324,13 +378,21 @@ async def upload_file( dict: The result of the upload process. Parameters: - - upload_type: str. + - upload_type: typing.Optional[str]. - file: typing.IO. - - testset_name: str. + - testset_name: typing.Optional[str]. - - app_id: str. + - app_id: typing.Optional[str]. + --- + from agenta.client import AsyncAgentaApi + + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.upload_file() """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -372,8 +434,11 @@ async def import_testset(self) -> TestSetSimpleResponse: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.import_testset() + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.import_testset() """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -415,8 +480,17 @@ async def create_testset( from agenta import NewTestset from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.create_testset(app_id="app_id", request=NewTestset(name="name", csvdata=[{"csvdata": "csvdata"}])) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.create_testset( + app_id="app_id", + request=NewTestset( + name="name", + csvdata=[{"csvdata": "csvdata"}], + ), + ) """ _response = await self._client_wrapper.httpx_client.request( "POST", @@ -452,8 +526,13 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_single_testset(testset_id="testset_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.get_single_testset( + testset_id="testset_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -494,8 +573,17 @@ async def update_testset( from agenta import NewTestset from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_testset(testset_id="testset_id", request=NewTestset(name="name", csvdata=[{"csvdata": "csvdata"}])) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.update_testset( + testset_id="testset_id", + request=NewTestset( + name="name", + csvdata=[{"csvdata": "csvdata"}], + ), + ) """ _response = await self._client_wrapper.httpx_client.request( "PUT", @@ -533,8 +621,13 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_testsets(app_id="app_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.get_testsets( + app_id="app_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -570,8 +663,13 @@ async def delete_testsets( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.delete_testsets(testset_ids=["testset_ids"]) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.testsets.delete_testsets( + testset_ids=["testset_ids"], + ) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", diff --git a/agenta-cli/agenta/client/backend/resources/variants/client.py b/agenta-cli/agenta/client/backend/resources/variants/client.py index 837ef8266e..37abaef6da 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/client.py +++ b/agenta-cli/agenta/client/backend/resources/variants/client.py @@ -96,8 +96,13 @@ def get_variant(self, variant_id: str) -> AppVariantResponse: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_variant(variant_id="variant_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.get_variant( + variant_id="variant_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -149,8 +154,16 @@ def start_variant( from agenta import VariantAction, VariantActionEnum from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.start_variant(variant_id="variant_id", action=VariantAction(action=VariantActionEnum.START)) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.start_variant( + variant_id="variant_id", + action=VariantAction( + action=VariantActionEnum.START, + ), + ) """ _request: typing.Dict[str, typing.Any] = {"action": action} if env_vars is not OMIT: @@ -190,8 +203,13 @@ def remove_variant(self, variant_id: str) -> typing.Any: --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.remove_variant(variant_id="variant_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.remove_variant( + variant_id="variant_id", + ) """ _response = self._client_wrapper.httpx_client.request( "DELETE", @@ -235,8 +253,14 @@ def update_variant_parameters( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_variant_parameters(variant_id="variant_id", parameters={}) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.update_variant_parameters( + variant_id="variant_id", + parameters={}, + ) """ _response = self._client_wrapper.httpx_client.request( "PUT", @@ -280,8 +304,17 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any from agenta import Image from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.update_variant_image(variant_id="variant_id", request=Image(docker_id="docker_id", tags="tags")) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.update_variant_image( + variant_id="variant_id", + request=Image( + docker_id="docker_id", + tags="tags", + ), + ) """ _response = self._client_wrapper.httpx_client.request( "PUT", @@ -303,34 +336,6 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_using_base_id(self, base_id: str) -> AppVariantResponse: - """ - Parameters: - - base_id: str. - --- - from agenta.client import AgentaApi - - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_variant_using_base_id(base_id="base_id") - """ - _response = self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{base_id}" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(AppVariantResponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariantRevision]: """ Parameters: @@ -338,8 +343,13 @@ def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariantRevisi --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_variant_revisions(variant_id="variant_id") + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.get_variant_revisions( + variant_id="variant_id", + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -371,8 +381,14 @@ def get_variant_revision( --- from agenta.client import AgentaApi - client = AgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - client.get_variant_revision(variant_id="variant_id", revision_number=1) + client = AgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + client.variants.get_variant_revision( + variant_id="variant_id", + revision_number=1, + ) """ _response = self._client_wrapper.httpx_client.request( "GET", @@ -462,8 +478,13 @@ async def get_variant(self, variant_id: str) -> AppVariantResponse: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_variant(variant_id="variant_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.get_variant( + variant_id="variant_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -515,8 +536,16 @@ async def start_variant( from agenta import VariantAction, VariantActionEnum from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.start_variant(variant_id="variant_id", action=VariantAction(action=VariantActionEnum.START)) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.start_variant( + variant_id="variant_id", + action=VariantAction( + action=VariantActionEnum.START, + ), + ) """ _request: typing.Dict[str, typing.Any] = {"action": action} if env_vars is not OMIT: @@ -556,8 +585,13 @@ async def remove_variant(self, variant_id: str) -> typing.Any: --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.remove_variant(variant_id="variant_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.remove_variant( + variant_id="variant_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "DELETE", @@ -601,8 +635,14 @@ async def update_variant_parameters( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_variant_parameters(variant_id="variant_id", parameters={}) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.update_variant_parameters( + variant_id="variant_id", + parameters={}, + ) """ _response = await self._client_wrapper.httpx_client.request( "PUT", @@ -648,8 +688,17 @@ async def update_variant_image( from agenta import Image from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.update_variant_image(variant_id="variant_id", request=Image(docker_id="docker_id", tags="tags")) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.update_variant_image( + variant_id="variant_id", + request=Image( + docker_id="docker_id", + tags="tags", + ), + ) """ _response = await self._client_wrapper.httpx_client.request( "PUT", @@ -671,34 +720,6 @@ async def update_variant_image( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_using_base_id(self, base_id: str) -> AppVariantResponse: - """ - Parameters: - - base_id: str. - --- - from agenta.client import AsyncAgentaApi - - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_variant_using_base_id(base_id="base_id") - """ - _response = await self._client_wrapper.httpx_client.request( - "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{base_id}" - ), - headers=self._client_wrapper.get_headers(), - timeout=60, - ) - if 200 <= _response.status_code < 300: - return pydantic.parse_obj_as(AppVariantResponse, _response.json()) # type: ignore - if _response.status_code == 422: - raise UnprocessableEntityError(pydantic.parse_obj_as(HttpValidationError, _response.json())) # type: ignore - try: - _response_json = _response.json() - except JSONDecodeError: - raise ApiError(status_code=_response.status_code, body=_response.text) - raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_revisions( self, variant_id: str ) -> typing.List[AppVariantRevision]: @@ -708,8 +729,13 @@ async def get_variant_revisions( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_variant_revisions(variant_id="variant_id") + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.get_variant_revisions( + variant_id="variant_id", + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", @@ -741,8 +767,14 @@ async def get_variant_revision( --- from agenta.client import AsyncAgentaApi - client = AsyncAgentaApi(api_key="YOUR_API_KEY", base_url="https://yourhost.com/path/to/api") - await client.get_variant_revision(variant_id="variant_id", revision_number=1) + client = AsyncAgentaApi( + api_key="YOUR_API_KEY", + base_url="https://yourhost.com/path/to/api", + ) + await client.variants.get_variant_revision( + variant_id="variant_id", + revision_number=1, + ) """ _response = await self._client_wrapper.httpx_client.request( "GET", diff --git a/agenta-cli/agenta/client/backend/types/__init__.py b/agenta-cli/agenta/client/backend/types/__init__.py index 06795860eb..78ab06fabb 100644 --- a/agenta-cli/agenta/client/backend/types/__init__.py +++ b/agenta-cli/agenta/client/backend/types/__init__.py @@ -9,6 +9,8 @@ from .body_import_testset import BodyImportTestset from .config_db import ConfigDb from .create_app_output import CreateAppOutput +from .create_span import CreateSpan +from .create_trace_response import CreateTraceResponse from .docker_env_vars import DockerEnvVars from .environment_output import EnvironmentOutput from .environment_output_extended import EnvironmentOutputExtended @@ -37,9 +39,6 @@ from .image import Image from .invite_request import InviteRequest from .list_api_keys_response import ListApiKeysResponse -from .llm_content import LlmContent -from .llm_inputs import LlmInputs -from .llm_model_params import LlmModelParams from .llm_run_rate_limit import LlmRunRateLimit from .llm_tokens import LlmTokens from .new_human_evaluation import NewHumanEvaluation @@ -50,6 +49,7 @@ from .result import Result from .score import Score from .simple_evaluation_output import SimpleEvaluationOutput +from .span import Span from .span_detail import SpanDetail from .span_status import SpanStatus from .span_variant import SpanVariant @@ -81,6 +81,8 @@ "BodyImportTestset", "ConfigDb", "CreateAppOutput", + "CreateSpan", + "CreateTraceResponse", "DockerEnvVars", "EnvironmentOutput", "EnvironmentOutputExtended", @@ -109,9 +111,6 @@ "Image", "InviteRequest", "ListApiKeysResponse", - "LlmContent", - "LlmInputs", - "LlmModelParams", "LlmRunRateLimit", "LlmTokens", "NewHumanEvaluation", @@ -122,6 +121,7 @@ "Result", "Score", "SimpleEvaluationOutput", + "Span", "SpanDetail", "SpanStatus", "SpanVariant", diff --git a/agenta-cli/agenta/client/backend/types/llm_model_params.py b/agenta-cli/agenta/client/backend/types/create_span.py similarity index 55% rename from agenta-cli/agenta/client/backend/types/llm_model_params.py rename to agenta-cli/agenta/client/backend/types/create_span.py index 3e53cf681c..2048e384b6 100644 --- a/agenta-cli/agenta/client/backend/types/llm_model_params.py +++ b/agenta-cli/agenta/client/backend/types/create_span.py @@ -4,6 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime +from .llm_tokens import LlmTokens try: import pydantic.v1 as pydantic # type: ignore @@ -11,9 +12,25 @@ import pydantic # type: ignore -class LlmModelParams(pydantic.BaseModel): - prompt: typing.Dict[str, typing.Any] - params: typing.Dict[str, typing.Any] +class CreateSpan(pydantic.BaseModel): + app_id: typing.Optional[str] + variant_id: typing.Optional[str] + inputs: typing.Optional[typing.Dict[str, typing.Any]] + outputs: typing.Optional[typing.List[str]] + config: typing.Optional[typing.Dict[str, typing.Any]] + environment: typing.Optional[str] + tags: typing.Optional[typing.List[str]] + token_consumption: typing.Optional[int] + name: str + parent_span_id: typing.Optional[str] + attributes: typing.Optional[typing.Dict[str, typing.Any]] + spankind: str + status: str + user: typing.Optional[str] + start_time: dt.datetime + end_time: dt.datetime + tokens: typing.Optional[LlmTokens] + cost: typing.Optional[float] def json(self, **kwargs: typing.Any) -> str: kwargs_with_defaults: typing.Any = { diff --git a/agenta-cli/agenta/client/backend/types/llm_inputs.py b/agenta-cli/agenta/client/backend/types/create_trace_response.py similarity index 89% rename from agenta-cli/agenta/client/backend/types/llm_inputs.py rename to agenta-cli/agenta/client/backend/types/create_trace_response.py index a0d2a1bf35..72115931ef 100644 --- a/agenta-cli/agenta/client/backend/types/llm_inputs.py +++ b/agenta-cli/agenta/client/backend/types/create_trace_response.py @@ -11,9 +11,9 @@ import pydantic # type: ignore -class LlmInputs(pydantic.BaseModel): - input_name: str - input_value: str +class CreateTraceResponse(pydantic.BaseModel): + message: str + data: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: kwargs_with_defaults: typing.Any = { diff --git a/agenta-cli/agenta/client/backend/types/evaluation.py b/agenta-cli/agenta/client/backend/types/evaluation.py index 38c75068d4..ca877a97f2 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation.py +++ b/agenta-cli/agenta/client/backend/types/evaluation.py @@ -26,6 +26,8 @@ class Evaluation(pydantic.BaseModel): testset_name: typing.Optional[str] status: Result aggregated_results: typing.List[AggregatedResult] + average_cost: typing.Optional[Result] + average_latency: typing.Optional[Result] created_at: dt.datetime updated_at: dt.datetime diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py index 7a2cb171c9..7f7826ea56 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py @@ -14,6 +14,8 @@ class EvaluationScenarioOutput(pydantic.BaseModel): result: Result + cost: typing.Optional[float] + latency: typing.Optional[float] def json(self, **kwargs: typing.Any) -> str: kwargs_with_defaults: typing.Any = { diff --git a/agenta-cli/agenta/client/backend/types/llm_content.py b/agenta-cli/agenta/client/backend/types/span.py similarity index 65% rename from agenta-cli/agenta/client/backend/types/llm_content.py rename to agenta-cli/agenta/client/backend/types/span.py index f85285ada3..e41af61ae9 100644 --- a/agenta-cli/agenta/client/backend/types/llm_content.py +++ b/agenta-cli/agenta/client/backend/types/span.py @@ -1,10 +1,13 @@ # This file was auto-generated by Fern from our API Definition. +from __future__ import annotations + import datetime as dt import typing from ..core.datetime_utils import serialize_datetime -from .llm_inputs import LlmInputs +from .span_status import SpanStatus +from .span_variant import SpanVariant try: import pydantic.v1 as pydantic # type: ignore @@ -12,9 +15,17 @@ import pydantic # type: ignore -class LlmContent(pydantic.BaseModel): - inputs: typing.List[LlmInputs] - output: str +class Span(pydantic.BaseModel): + id: str + name: str + parent_span_id: typing.Optional[str] + created_at: dt.datetime + variant: SpanVariant + environment: typing.Optional[str] + status: SpanStatus + metadata: typing.Dict[str, typing.Any] + user_id: typing.Optional[str] + children: typing.Optional[typing.List[Span]] def json(self, **kwargs: typing.Any) -> str: kwargs_with_defaults: typing.Any = { @@ -36,3 +47,6 @@ class Config: frozen = True smart_union = True json_encoders = {dt.datetime: serialize_datetime} + + +Span.update_forward_refs() diff --git a/agenta-cli/agenta/client/backend/types/span_detail.py b/agenta-cli/agenta/client/backend/types/span_detail.py index d57d61cd59..e74e7c9bee 100644 --- a/agenta-cli/agenta/client/backend/types/span_detail.py +++ b/agenta-cli/agenta/client/backend/types/span_detail.py @@ -4,8 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime -from .llm_content import LlmContent -from .llm_model_params import LlmModelParams +from .span import Span from .span_status import SpanStatus from .span_variant import SpanVariant @@ -17,15 +16,17 @@ class SpanDetail(pydantic.BaseModel): id: str + name: str + parent_span_id: typing.Optional[str] created_at: dt.datetime variant: SpanVariant environment: typing.Optional[str] status: SpanStatus metadata: typing.Dict[str, typing.Any] - user_id: str - span_id: str - content: LlmContent - model_params: LlmModelParams + user_id: typing.Optional[str] + children: typing.Optional[typing.List[Span]] + content: typing.Dict[str, typing.Any] + config: typing.Optional[typing.Dict[str, typing.Any]] def json(self, **kwargs: typing.Any) -> str: kwargs_with_defaults: typing.Any = { diff --git a/agenta-cli/agenta/client/backend/types/status.py b/agenta-cli/agenta/client/backend/types/status.py index 4f37704227..ebeed387c6 100644 --- a/agenta-cli/agenta/client/backend/types/status.py +++ b/agenta-cli/agenta/client/backend/types/status.py @@ -12,18 +12,18 @@ class Status(str, enum.Enum): """ INITIATED = "INITIATED" - SUCCESS = "SUCCESS" - FAILURE = "FAILURE" + COMPLETED = "COMPLETED" + FAILED = "FAILED" def visit( self, initiated: typing.Callable[[], T_Result], - success: typing.Callable[[], T_Result], - failure: typing.Callable[[], T_Result], + completed: typing.Callable[[], T_Result], + failed: typing.Callable[[], T_Result], ) -> T_Result: if self is Status.INITIATED: return initiated() - if self is Status.SUCCESS: - return success() - if self is Status.FAILURE: - return failure() + if self is Status.COMPLETED: + return completed() + if self is Status.FAILED: + return failed() diff --git a/agenta-cli/agenta/client/backend/types/trace_detail.py b/agenta-cli/agenta/client/backend/types/trace_detail.py index 24d07d4597..dc006277da 100644 --- a/agenta-cli/agenta/client/backend/types/trace_detail.py +++ b/agenta-cli/agenta/client/backend/types/trace_detail.py @@ -4,6 +4,7 @@ import typing from ..core.datetime_utils import serialize_datetime +from .span import Span from .span_status import SpanStatus from .span_variant import SpanVariant @@ -15,12 +16,17 @@ class TraceDetail(pydantic.BaseModel): id: str + name: str + parent_span_id: typing.Optional[str] created_at: dt.datetime variant: SpanVariant environment: typing.Optional[str] status: SpanStatus metadata: typing.Dict[str, typing.Any] - user_id: str + user_id: typing.Optional[str] + children: typing.Optional[typing.List[Span]] + content: typing.Dict[str, typing.Any] + config: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: kwargs_with_defaults: typing.Any = { From 81a523b1c60ef4a854474aa648ac0e20dc72e6d1 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 11 Apr 2024 22:50:37 +0100 Subject: [PATCH 400/539] Update - regenerate sdk client backend --- agenta-cli/agenta/client/backend/__init__.py | 8 +- agenta-cli/agenta/client/backend/client.py | 219 ++++-------------- .../agenta/client/backend/core/api_error.py | 4 +- .../client/backend/core/datetime_utils.py | 4 +- .../client/backend/core/jsonable_encoder.py | 12 +- .../client/backend/resources/__init__.py | 13 +- .../client/backend/resources/apps/__init__.py | 1 + .../client/backend/resources/apps/client.py | 114 +++------ .../backend/resources/bases/__init__.py | 1 + .../client/backend/resources/bases/client.py | 10 +- .../backend/resources/configs/__init__.py | 1 + .../backend/resources/configs/client.py | 72 ++---- .../backend/resources/containers/client.py | 64 ++--- .../resources/environments/__init__.py | 1 + .../backend/resources/environments/client.py | 24 +- .../backend/resources/evaluations/__init__.py | 1 + .../backend/resources/evaluations/client.py | 112 +++------ .../backend/resources/evaluators/__init__.py | 1 + .../backend/resources/evaluators/client.py | 74 ++---- .../resources/observability/__init__.py | 1 + .../backend/resources/observability/client.py | 144 +++--------- .../backend/resources/testsets/__init__.py | 1 + .../backend/resources/testsets/client.py | 72 ++---- .../backend/resources/variants/client.py | 118 +++------- .../resources/variants/types/__init__.py | 4 +- .../agenta/client/backend/types/__init__.py | 8 +- .../client/backend/types/aggregated_result.py | 12 +- .../aggregated_result_evaluator_config.py | 4 +- agenta-cli/agenta/client/backend/types/app.py | 12 +- .../backend/types/app_variant_response.py | 12 +- .../backend/types/app_variant_revision.py | 12 +- .../client/backend/types/base_output.py | 12 +- .../backend/types/body_import_testset.py | 12 +- .../agenta/client/backend/types/config_db.py | 12 +- .../client/backend/types/create_app_output.py | 12 +- .../client/backend/types/create_span.py | 19 +- .../backend/types/create_trace_response.py | 12 +- .../client/backend/types/docker_env_vars.py | 12 +- .../backend/types/environment_output.py | 12 +- .../types/environment_output_extended.py | 12 +- .../backend/types/environment_revision.py | 12 +- .../agenta/client/backend/types/error.py | 12 +- .../agenta/client/backend/types/evaluation.py | 12 +- .../backend/types/evaluation_scenario.py | 12 +- .../types/evaluation_scenario_input.py | 12 +- .../types/evaluation_scenario_output.py | 12 +- .../types/evaluation_scenario_result.py | 12 +- .../types/evaluation_scenario_score_update.py | 12 +- .../client/backend/types/evaluation_type.py | 4 +- .../backend/types/evaluation_webhook.py | 12 +- .../agenta/client/backend/types/evaluator.py | 12 +- .../client/backend/types/evaluator_config.py | 12 +- .../agenta/client/backend/types/feedback.py | 12 +- .../backend/types/get_config_response.py | 12 +- .../backend/types/http_validation_error.py | 12 +- .../client/backend/types/human_evaluation.py | 12 +- .../types/human_evaluation_scenario.py | 12 +- .../types/human_evaluation_scenario_input.py | 12 +- .../types/human_evaluation_scenario_output.py | 12 +- .../types/human_evaluation_scenario_update.py | 12 +- .../backend/types/human_evaluation_update.py | 12 +- .../agenta/client/backend/types/image.py | 12 +- .../client/backend/types/invite_request.py | 12 +- .../backend/types/list_api_keys_response.py | 12 +- .../backend/types/llm_run_rate_limit.py | 12 +- .../agenta/client/backend/types/llm_tokens.py | 12 +- .../backend/types/new_human_evaluation.py | 12 +- .../client/backend/types/new_testset.py | 12 +- .../client/backend/types/organization.py | 12 +- .../backend/types/organization_output.py | 12 +- .../agenta/client/backend/types/result.py | 12 +- .../backend/types/simple_evaluation_output.py | 12 +- .../agenta/client/backend/types/span.py | 18 +- .../client/backend/types/span_detail.py | 18 +- .../agenta/client/backend/types/span_kind.py | 49 ++++ .../client/backend/types/span_status.py | 39 ---- .../client/backend/types/span_status_code.py | 29 +++ .../client/backend/types/span_variant.py | 12 +- .../agenta/client/backend/types/status.py | 29 --- .../agenta/client/backend/types/template.py | 12 +- .../backend/types/template_image_info.py | 12 +- .../backend/types/test_set_output_response.py | 12 +- .../backend/types/test_set_simple_response.py | 12 +- .../client/backend/types/trace_detail.py | 18 +- agenta-cli/agenta/client/backend/types/uri.py | 12 +- .../client/backend/types/validation_error.py | 12 +- .../client/backend/types/variant_action.py | 12 +- .../backend/types/variant_action_enum.py | 4 +- .../client/backend/types/with_pagination.py | 12 +- .../types/workspace_member_response.py | 12 +- .../backend/types/workspace_permission.py | 12 +- .../backend/types/workspace_response.py | 12 +- .../backend/types/workspace_role_response.py | 12 +- 93 files changed, 478 insertions(+), 1509 deletions(-) create mode 100644 agenta-cli/agenta/client/backend/types/span_kind.py delete mode 100644 agenta-cli/agenta/client/backend/types/span_status.py create mode 100644 agenta-cli/agenta/client/backend/types/span_status_code.py delete mode 100644 agenta-cli/agenta/client/backend/types/status.py diff --git a/agenta-cli/agenta/client/backend/__init__.py b/agenta-cli/agenta/client/backend/__init__.py index f89466f44f..8eccc5a323 100644 --- a/agenta-cli/agenta/client/backend/__init__.py +++ b/agenta-cli/agenta/client/backend/__init__.py @@ -52,9 +52,9 @@ SimpleEvaluationOutput, Span, SpanDetail, - SpanStatus, + SpanKind, + SpanStatusCode, SpanVariant, - Status, Template, TemplateImageInfo, TestSetOutputResponse, @@ -142,9 +142,9 @@ "SimpleEvaluationOutput", "Span", "SpanDetail", - "SpanStatus", + "SpanKind", + "SpanStatusCode", "SpanVariant", - "Status", "Template", "TemplateImageInfo", "TestSetOutputResponse", diff --git a/agenta-cli/agenta/client/backend/client.py b/agenta-cli/agenta/client/backend/client.py index 6ac62f552e..89acb8bbe6 100644 --- a/agenta-cli/agenta/client/backend/client.py +++ b/agenta-cli/agenta/client/backend/client.py @@ -19,10 +19,7 @@ from .resources.environments.client import AsyncEnvironmentsClient, EnvironmentsClient from .resources.evaluations.client import AsyncEvaluationsClient, EvaluationsClient from .resources.evaluators.client import AsyncEvaluatorsClient, EvaluatorsClient -from .resources.observability.client import ( - AsyncObservabilityClient, - ObservabilityClient, -) +from .resources.observability.client import AsyncObservabilityClient, ObservabilityClient from .resources.testsets.client import AsyncTestsetsClient, TestsetsClient from .resources.variants.client import AsyncVariantsClient, VariantsClient from .types.http_validation_error import HttpValidationError @@ -56,9 +53,7 @@ def __init__( self._client_wrapper = SyncClientWrapper( base_url=base_url, api_key=api_key, - httpx_client=httpx.Client(timeout=timeout) - if httpx_client is None - else httpx_client, + httpx_client=httpx.Client(timeout=timeout) if httpx_client is None else httpx_client, ) self.observability = ObservabilityClient(client_wrapper=self._client_wrapper) self.apps = AppsClient(client_wrapper=self._client_wrapper) @@ -173,9 +168,7 @@ def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -210,9 +203,7 @@ def validate_api_key(self, key_prefix: str) -> bool: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -250,9 +241,7 @@ def list_organizations(self) -> typing.List[Organization]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -301,9 +290,7 @@ def create_organization( _request["owner"] = owner _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -330,9 +317,7 @@ def get_own_org(self) -> OrganizationOutput: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations/own" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -370,9 +355,7 @@ def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -423,9 +406,7 @@ def update_organization( _request["updated_at"] = updated_at _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -472,8 +453,7 @@ def invite_user_to_workspace( _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}/invite", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -489,9 +469,7 @@ def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def resend_invitation( - self, org_id: str, workspace_id: str, *, email: str - ) -> typing.Any: + def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -542,9 +520,7 @@ def resend_invitation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def accept_invitation( - self, org_id: str, workspace_id: str, *, token: str - ) -> typing.Any: + def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: """ Accept an invitation to a workspace. @@ -596,12 +572,7 @@ def accept_invitation( raise ApiError(status_code=_response.status_code, body=_response_json) def create_workspace( - self, - org_id: str, - *, - name: str, - description: typing.Optional[str] = OMIT, - type: typing.Optional[str] = OMIT, + self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT ) -> WorkspaceResponse: """ Parameters: @@ -631,10 +602,7 @@ def create_workspace( _request["type"] = type _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -691,8 +659,7 @@ def update_workspace( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -731,9 +698,7 @@ def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -768,9 +733,7 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -783,12 +746,7 @@ def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) def assign_role_to_user( - self, - workspace_id: str, - *, - email: str, - organization_id: str, - role: typing.Optional[WorkspaceRole] = OMIT, + self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT ) -> bool: """ Assigns a role to a user in a workspace. @@ -826,18 +784,12 @@ def assign_role_to_user( organization_id="organization_id", ) """ - _request: typing.Dict[str, typing.Any] = { - "email": email, - "organization_id": organization_id, - } + _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} if role is not OMIT: _request["role"] = role.value _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -852,9 +804,7 @@ def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def unassign_role_from_user( - self, workspace_id: str, *, email: str, org_id: str, role: str - ) -> typing.Any: + def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -896,13 +846,8 @@ def unassign_role_from_user( """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), - params=remove_none_from_dict( - {"email": email, "org_id": org_id, "role": role} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -916,9 +861,7 @@ def unassign_role_from_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def remove_user_from_workspace( - self, workspace_id: str, *, org_id: str, email: str - ) -> WorkspaceResponse: + def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -958,10 +901,7 @@ def remove_user_from_workspace( """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/users", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1037,13 +977,9 @@ def __init__( self._client_wrapper = AsyncClientWrapper( base_url=base_url, api_key=api_key, - httpx_client=httpx.AsyncClient(timeout=timeout) - if httpx_client is None - else httpx_client, - ) - self.observability = AsyncObservabilityClient( - client_wrapper=self._client_wrapper + httpx_client=httpx.AsyncClient(timeout=timeout) if httpx_client is None else httpx_client, ) + self.observability = AsyncObservabilityClient(client_wrapper=self._client_wrapper) self.apps = AsyncAppsClient(client_wrapper=self._client_wrapper) self.variants = AsyncVariantsClient(client_wrapper=self._client_wrapper) self.evaluations = AsyncEvaluationsClient(client_wrapper=self._client_wrapper) @@ -1156,9 +1092,7 @@ async def delete_api_key(self, key_prefix: str) -> typing.Dict[str, typing.Any]: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1193,9 +1127,7 @@ async def validate_api_key(self, key_prefix: str) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"keys/{key_prefix}/validate"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1233,9 +1165,7 @@ async def list_organizations(self) -> typing.List[Organization]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1284,9 +1214,7 @@ async def create_organization( _request["owner"] = owner _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1313,9 +1241,7 @@ async def get_own_org(self) -> OrganizationOutput: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "organizations/own" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "organizations/own"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1353,9 +1279,7 @@ async def fetch_organization_details(self, org_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1406,9 +1330,7 @@ async def update_organization( _request["updated_at"] = updated_at _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1455,8 +1377,7 @@ async def invite_user_to_workspace( _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}/invite", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}/invite" ), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), @@ -1472,9 +1393,7 @@ async def invite_user_to_workspace( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def resend_invitation( - self, org_id: str, workspace_id: str, *, email: str - ) -> typing.Any: + async def resend_invitation(self, org_id: str, workspace_id: str, *, email: str) -> typing.Any: """ Resend an invitation to a user to an Organization. @@ -1525,9 +1444,7 @@ async def resend_invitation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def accept_invitation( - self, org_id: str, workspace_id: str, *, token: str - ) -> typing.Any: + async def accept_invitation(self, org_id: str, workspace_id: str, *, token: str) -> typing.Any: """ Accept an invitation to a workspace. @@ -1579,12 +1496,7 @@ async def accept_invitation( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_workspace( - self, - org_id: str, - *, - name: str, - description: typing.Optional[str] = OMIT, - type: typing.Optional[str] = OMIT, + self, org_id: str, *, name: str, description: typing.Optional[str] = OMIT, type: typing.Optional[str] = OMIT ) -> WorkspaceResponse: """ Parameters: @@ -1614,10 +1526,7 @@ async def create_workspace( _request["type"] = type _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1674,8 +1583,7 @@ async def update_workspace( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"organizations/{org_id}/workspaces/{workspace_id}", + f"{self._client_wrapper.get_base_url()}/", f"organizations/{org_id}/workspaces/{workspace_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -1714,9 +1622,7 @@ async def get_all_workspace_roles(self) -> typing.List[WorkspaceRoleResponse]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/roles" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/roles"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1751,9 +1657,7 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "workspaces/permissions"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1766,12 +1670,7 @@ async def get_all_workspace_permissions(self) -> typing.List[Permission]: raise ApiError(status_code=_response.status_code, body=_response_json) async def assign_role_to_user( - self, - workspace_id: str, - *, - email: str, - organization_id: str, - role: typing.Optional[WorkspaceRole] = OMIT, + self, workspace_id: str, *, email: str, organization_id: str, role: typing.Optional[WorkspaceRole] = OMIT ) -> bool: """ Assigns a role to a user in a workspace. @@ -1809,18 +1708,12 @@ async def assign_role_to_user( organization_id="organization_id", ) """ - _request: typing.Dict[str, typing.Any] = { - "email": email, - "organization_id": organization_id, - } + _request: typing.Dict[str, typing.Any] = {"email": email, "organization_id": organization_id} if role is not OMIT: _request["role"] = role.value _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1835,9 +1728,7 @@ async def assign_role_to_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def unassign_role_from_user( - self, workspace_id: str, *, email: str, org_id: str, role: str - ) -> typing.Any: + async def unassign_role_from_user(self, workspace_id: str, *, email: str, org_id: str, role: str) -> typing.Any: """ Delete a role assignment from a user in a workspace. @@ -1879,13 +1770,8 @@ async def unassign_role_from_user( """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/roles", - ), - params=remove_none_from_dict( - {"email": email, "org_id": org_id, "role": role} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/roles"), + params=remove_none_from_dict({"email": email, "org_id": org_id, "role": role}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1899,9 +1785,7 @@ async def unassign_role_from_user( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def remove_user_from_workspace( - self, workspace_id: str, *, org_id: str, email: str - ) -> WorkspaceResponse: + async def remove_user_from_workspace(self, workspace_id: str, *, org_id: str, email: str) -> WorkspaceResponse: """ Remove a user from a workspace. @@ -1941,10 +1825,7 @@ async def remove_user_from_workspace( """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"workspaces/{workspace_id}/users", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"workspaces/{workspace_id}/users"), params=remove_none_from_dict({"org_id": org_id, "email": email}), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/core/api_error.py b/agenta-cli/agenta/client/backend/core/api_error.py index da734b5806..2e9fc5431c 100644 --- a/agenta-cli/agenta/client/backend/core/api_error.py +++ b/agenta-cli/agenta/client/backend/core/api_error.py @@ -7,9 +7,7 @@ class ApiError(Exception): status_code: typing.Optional[int] body: typing.Any - def __init__( - self, *, status_code: typing.Optional[int] = None, body: typing.Any = None - ): + def __init__(self, *, status_code: typing.Optional[int] = None, body: typing.Any = None): self.status_code = status_code self.body = body diff --git a/agenta-cli/agenta/client/backend/core/datetime_utils.py b/agenta-cli/agenta/client/backend/core/datetime_utils.py index 47344e9d9c..7c9864a944 100644 --- a/agenta-cli/agenta/client/backend/core/datetime_utils.py +++ b/agenta-cli/agenta/client/backend/core/datetime_utils.py @@ -13,9 +13,7 @@ def serialize_datetime(v: dt.datetime) -> str: """ def _serialize_zoned_datetime(v: dt.datetime) -> str: - if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname( - None - ): + if v.tzinfo is not None and v.tzinfo.tzname(None) == dt.timezone.utc.tzname(None): # UTC is a special case where we use "Z" at the end instead of "+00:00" return v.isoformat().replace("+00:00", "Z") else: diff --git a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py index 0e297e18f0..37238ab679 100644 --- a/agenta-cli/agenta/client/backend/core/jsonable_encoder.py +++ b/agenta-cli/agenta/client/backend/core/jsonable_encoder.py @@ -30,22 +30,16 @@ def generate_encoders_by_class_tuples( type_encoder_map: Dict[Any, Callable[[Any], Any]] ) -> Dict[Callable[[Any], Any], Tuple[Any, ...]]: - encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict( - tuple - ) + encoders_by_class_tuples: Dict[Callable[[Any], Any], Tuple[Any, ...]] = defaultdict(tuple) for type_, encoder in type_encoder_map.items(): encoders_by_class_tuples[encoder] += (type_,) return encoders_by_class_tuples -encoders_by_class_tuples = generate_encoders_by_class_tuples( - pydantic.json.ENCODERS_BY_TYPE -) +encoders_by_class_tuples = generate_encoders_by_class_tuples(pydantic.json.ENCODERS_BY_TYPE) -def jsonable_encoder( - obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None -) -> Any: +def jsonable_encoder(obj: Any, custom_encoder: Optional[Dict[Any, Callable[[Any], Any]]] = None) -> Any: custom_encoder = custom_encoder or {} if custom_encoder: if type(obj) in custom_encoder: diff --git a/agenta-cli/agenta/client/backend/resources/__init__.py b/agenta-cli/agenta/client/backend/resources/__init__.py index 223d38e477..6a7c8f0ca8 100644 --- a/agenta-cli/agenta/client/backend/resources/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/__init__.py @@ -1,17 +1,6 @@ # This file was auto-generated by Fern from our API Definition. -from . import ( - apps, - bases, - configs, - containers, - environments, - evaluations, - evaluators, - observability, - testsets, - variants, -) +from . import apps, bases, configs, containers, environments, evaluations, evaluators, observability, testsets, variants from .containers import ContainerTemplatesResponse from .variants import AddVariantFromBaseAndConfigResponse diff --git a/agenta-cli/agenta/client/backend/resources/apps/__init__.py b/agenta-cli/agenta/client/backend/resources/apps/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/apps/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/apps/client.py b/agenta-cli/agenta/client/backend/resources/apps/client.py index b5a5b3d312..c7733e9895 100644 --- a/agenta-cli/agenta/client/backend/resources/apps/client.py +++ b/agenta-cli/agenta/client/backend/resources/apps/client.py @@ -55,9 +55,7 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -71,9 +69,7 @@ def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_by_env( - self, *, app_id: str, environment: str - ) -> AppVariantResponse: + def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -106,12 +102,8 @@ def get_variant_by_env( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" - ), - params=remove_none_from_dict( - {"app_id": app_id, "environment": environment} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), + params=remove_none_from_dict({"app_id": app_id, "environment": environment}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -164,9 +156,7 @@ def list_apps( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict( - {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} - ), + params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -181,11 +171,7 @@ def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) def create_app( - self, - *, - app_name: str, - organization_id: typing.Optional[str] = OMIT, - workspace_id: typing.Optional[str] = OMIT, + self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -289,21 +275,14 @@ def add_variant_from_image( tags="tags", ) """ - _request: typing.Dict[str, typing.Any] = { - "variant_name": variant_name, - "docker_id": docker_id, - "tags": tags, - } + _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/variant/from-image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -340,9 +319,7 @@ def remove_app(self, app_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -412,10 +389,7 @@ def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "apps/app_and_variant_from_template", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -456,9 +430,7 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -472,9 +444,7 @@ def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def environment_revisions( - self, app_id: str, environment_name: typing.Any - ) -> EnvironmentOutputExtended: + def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -484,8 +454,7 @@ def environment_revisions( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/revisions/{environment_name}", + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -531,9 +500,7 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variants"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -547,9 +514,7 @@ async def list_app_variants(self, app_id: str) -> typing.List[AppVariantResponse raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_by_env( - self, *, app_id: str, environment: str - ) -> AppVariantResponse: + async def get_variant_by_env(self, *, app_id: str, environment: str) -> AppVariantResponse: """ Retrieve the app variant based on the provided app_id and environment. @@ -582,12 +547,8 @@ async def get_variant_by_env( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env" - ), - params=remove_none_from_dict( - {"app_id": app_id, "environment": environment} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/get_variant_by_env"), + params=remove_none_from_dict({"app_id": app_id, "environment": environment}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -640,9 +601,7 @@ async def list_apps( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps"), - params=remove_none_from_dict( - {"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id} - ), + params=remove_none_from_dict({"app_name": app_name, "org_id": org_id, "workspace_id": workspace_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -657,11 +616,7 @@ async def list_apps( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_app( - self, - *, - app_name: str, - organization_id: typing.Optional[str] = OMIT, - workspace_id: typing.Optional[str] = OMIT, + self, *, app_name: str, organization_id: typing.Optional[str] = OMIT, workspace_id: typing.Optional[str] = OMIT ) -> CreateAppOutput: """ Create a new app for a user or organization. @@ -765,21 +720,14 @@ async def add_variant_from_image( tags="tags", ) """ - _request: typing.Dict[str, typing.Any] = { - "variant_name": variant_name, - "docker_id": docker_id, - "tags": tags, - } + _request: typing.Dict[str, typing.Any] = {"variant_name": variant_name, "docker_id": docker_id, "tags": tags} if base_name is not OMIT: _request["base_name"] = base_name if config_name is not OMIT: _request["config_name"] = config_name _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/variant/from-image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/variant/from-image"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -816,9 +764,7 @@ async def remove_app(self, app_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -888,10 +834,7 @@ async def create_app_and_variant_from_template( _request["workspace_id"] = workspace_id _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "apps/app_and_variant_from_template", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "apps/app_and_variant_from_template"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -932,9 +875,7 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/environments"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -948,9 +889,7 @@ async def list_environments(self, app_id: str) -> typing.List[EnvironmentOutput] raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def environment_revisions( - self, app_id: str, environment_name: typing.Any - ) -> EnvironmentOutputExtended: + async def environment_revisions(self, app_id: str, environment_name: typing.Any) -> EnvironmentOutputExtended: """ Parameters: - app_id: str. @@ -960,8 +899,7 @@ async def environment_revisions( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"apps/{app_id}/revisions/{environment_name}", + f"{self._client_wrapper.get_base_url()}/", f"apps/{app_id}/revisions/{environment_name}" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/bases/__init__.py b/agenta-cli/agenta/client/backend/resources/bases/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/bases/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/bases/client.py b/agenta-cli/agenta/client/backend/resources/bases/client.py index b1c074f463..bb9e967378 100644 --- a/agenta-cli/agenta/client/backend/resources/bases/client.py +++ b/agenta-cli/agenta/client/backend/resources/bases/client.py @@ -22,10 +22,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def list_bases( - self, - *, - app_id: typing.Optional[str] = None, - base_name: typing.Optional[str] = None, + self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. @@ -77,10 +74,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def list_bases( - self, - *, - app_id: typing.Optional[str] = None, - base_name: typing.Optional[str] = None, + self, *, app_id: typing.Optional[str] = None, base_name: typing.Optional[str] = None ) -> typing.List[BaseOutput]: """ Retrieve a list of bases filtered by app_id and base_name. diff --git a/agenta-cli/agenta/client/backend/resources/configs/__init__.py b/agenta-cli/agenta/client/backend/resources/configs/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/configs/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/configs/client.py b/agenta-cli/agenta/client/backend/resources/configs/client.py index d6458d6c47..a20f9bb73f 100644 --- a/agenta-cli/agenta/client/backend/resources/configs/client.py +++ b/agenta-cli/agenta/client/backend/resources/configs/client.py @@ -26,11 +26,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def get_config( - self, - *, - base_id: str, - config_name: typing.Optional[str] = None, - environment_name: typing.Optional[str] = None, + self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None ) -> GetConfigResponse: """ Parameters: @@ -54,11 +50,7 @@ def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - { - "base_id": base_id, - "config_name": config_name, - "environment_name": environment_name, - } + {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -74,12 +66,7 @@ def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) def save_config( - self, - *, - base_id: str, - config_name: str, - parameters: typing.Dict[str, typing.Any], - overwrite: bool, + self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool ) -> typing.Any: """ Parameters: @@ -108,12 +95,7 @@ def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - { - "base_id": base_id, - "config_name": config_name, - "parameters": parameters, - "overwrite": overwrite, - } + {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -146,8 +128,7 @@ def get_config_deployment_revision(self, deployment_revision_id: str) -> typing. _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -180,8 +161,7 @@ def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}/revert", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -202,11 +182,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def get_config( - self, - *, - base_id: str, - config_name: typing.Optional[str] = None, - environment_name: typing.Optional[str] = None, + self, *, base_id: str, config_name: typing.Optional[str] = None, environment_name: typing.Optional[str] = None ) -> GetConfigResponse: """ Parameters: @@ -230,11 +206,7 @@ async def get_config( "GET", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), params=remove_none_from_dict( - { - "base_id": base_id, - "config_name": config_name, - "environment_name": environment_name, - } + {"base_id": base_id, "config_name": config_name, "environment_name": environment_name} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -250,12 +222,7 @@ async def get_config( raise ApiError(status_code=_response.status_code, body=_response_json) async def save_config( - self, - *, - base_id: str, - config_name: str, - parameters: typing.Dict[str, typing.Any], - overwrite: bool, + self, *, base_id: str, config_name: str, parameters: typing.Dict[str, typing.Any], overwrite: bool ) -> typing.Any: """ Parameters: @@ -284,12 +251,7 @@ async def save_config( "POST", urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "configs"), json=jsonable_encoder( - { - "base_id": base_id, - "config_name": config_name, - "parameters": parameters, - "overwrite": overwrite, - } + {"base_id": base_id, "config_name": config_name, "parameters": parameters, "overwrite": overwrite} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -304,9 +266,7 @@ async def save_config( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_config_deployment_revision( - self, deployment_revision_id: str - ) -> typing.Any: + async def get_config_deployment_revision(self, deployment_revision_id: str) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -324,8 +284,7 @@ async def get_config_deployment_revision( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -340,9 +299,7 @@ async def get_config_deployment_revision( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def revert_deployment_revision( - self, deployment_revision_id: str - ) -> typing.Any: + async def revert_deployment_revision(self, deployment_revision_id: str) -> typing.Any: """ Parameters: - deployment_revision_id: str. @@ -360,8 +317,7 @@ async def revert_deployment_revision( _response = await self._client_wrapper.httpx_client.request( "POST", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"configs/deployment/{deployment_revision_id}/revert", + f"{self._client_wrapper.get_base_url()}/", f"configs/deployment/{deployment_revision_id}/revert" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/containers/client.py b/agenta-cli/agenta/client/backend/resources/containers/client.py index 1b9584a01a..276d1aff14 100644 --- a/agenta-cli/agenta/client/backend/resources/containers/client.py +++ b/agenta-cli/agenta/client/backend/resources/containers/client.py @@ -60,14 +60,12 @@ def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Im """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/build_image" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, headers=self._client_wrapper.get_headers(), - timeout=60, + timeout=600, ) if 200 <= _response.status_code < 300: return pydantic.parse_obj_as(Image, _response.json()) # type: ignore @@ -101,10 +99,7 @@ def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "containers/restart_container", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -132,9 +127,7 @@ def container_templates(self) -> ContainerTemplatesResponse: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/templates" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -147,10 +140,7 @@ def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) def construct_app_container_url( - self, - *, - base_id: typing.Optional[str] = None, - variant_id: typing.Optional[str] = None, + self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -181,12 +171,8 @@ def construct_app_container_url( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/container_url" - ), - params=remove_none_from_dict( - {"base_id": base_id, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), + params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -205,9 +191,7 @@ class AsyncContainersClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def build_image( - self, *, app_id: str, base_name: str, tar_file: typing.IO - ) -> Image: + async def build_image(self, *, app_id: str, base_name: str, tar_file: typing.IO) -> Image: """ Builds a Docker image from a tar file containing the application code. @@ -240,14 +224,12 @@ async def build_image( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/build_image" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/build_image"), params=remove_none_from_dict({"app_id": app_id, "base_name": base_name}), data=jsonable_encoder({}), files={"tar_file": tar_file}, headers=self._client_wrapper.get_headers(), - timeout=60, + timeout=600, ) if 200 <= _response.status_code < 300: return pydantic.parse_obj_as(Image, _response.json()) # type: ignore @@ -259,9 +241,7 @@ async def build_image( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def restart_container( - self, *, variant_id: str - ) -> typing.Dict[str, typing.Any]: + async def restart_container(self, *, variant_id: str) -> typing.Dict[str, typing.Any]: """ Restart docker container. @@ -283,10 +263,7 @@ async def restart_container( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "containers/restart_container", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/restart_container"), json=jsonable_encoder({"variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -314,9 +291,7 @@ async def container_templates(self) -> ContainerTemplatesResponse: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/templates" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/templates"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -329,10 +304,7 @@ async def container_templates(self) -> ContainerTemplatesResponse: raise ApiError(status_code=_response.status_code, body=_response_json) async def construct_app_container_url( - self, - *, - base_id: typing.Optional[str] = None, - variant_id: typing.Optional[str] = None, + self, *, base_id: typing.Optional[str] = None, variant_id: typing.Optional[str] = None ) -> Uri: """ Constructs the URL for an app container based on the provided base_id or variant_id. @@ -363,12 +335,8 @@ async def construct_app_container_url( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "containers/container_url" - ), - params=remove_none_from_dict( - {"base_id": base_id, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "containers/container_url"), + params=remove_none_from_dict({"base_id": base_id, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/environments/__init__.py b/agenta-cli/agenta/client/backend/resources/environments/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/environments/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/environments/client.py b/agenta-cli/agenta/client/backend/resources/environments/client.py index 989e270f27..cc3a953dd0 100644 --- a/agenta-cli/agenta/client/backend/resources/environments/client.py +++ b/agenta-cli/agenta/client/backend/resources/environments/client.py @@ -23,9 +23,7 @@ class EnvironmentsClient: def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper - def deploy_to_environment( - self, *, environment_name: str, variant_id: str - ) -> typing.Any: + def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: """ Deploys a given variant to an environment @@ -55,12 +53,8 @@ def deploy_to_environment( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "environments/deploy" - ), - json=jsonable_encoder( - {"environment_name": environment_name, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), + json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -79,9 +73,7 @@ class AsyncEnvironmentsClient: def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper - async def deploy_to_environment( - self, *, environment_name: str, variant_id: str - ) -> typing.Any: + async def deploy_to_environment(self, *, environment_name: str, variant_id: str) -> typing.Any: """ Deploys a given variant to an environment @@ -111,12 +103,8 @@ async def deploy_to_environment( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "environments/deploy" - ), - json=jsonable_encoder( - {"environment_name": environment_name, "variant_id": variant_id} - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "environments/deploy"), + json=jsonable_encoder({"environment_name": environment_name, "variant_id": variant_id}), headers=self._client_wrapper.get_headers(), timeout=60, ) diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/evaluations/client.py b/agenta-cli/agenta/client/backend/resources/evaluations/client.py index 0a858f0ba5..cd0637b887 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluations/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluations/client.py @@ -69,15 +69,9 @@ def fetch_evaluation_ids( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), params=remove_none_from_dict( - { - "app_id": app_id, - "resource_type": resource_type, - "resource_ids": resource_ids, - } + {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -117,9 +111,7 @@ def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -200,9 +192,7 @@ def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -217,9 +207,7 @@ def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def delete_evaluations( - self, *, evaluations_ids: typing.List[str] - ) -> typing.List[str]: + def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -244,9 +232,7 @@ def delete_evaluations( """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -287,10 +273,7 @@ def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/status", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -330,10 +313,7 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/results", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -347,9 +327,7 @@ def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def fetch_evaluation_scenarios( - self, evaluation_id: str - ) -> typing.List[EvaluationScenario]: + def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -378,8 +356,7 @@ def fetch_evaluation_scenarios( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/evaluation_scenarios", + f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -419,10 +396,7 @@ def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -454,10 +428,7 @@ def webhook_example_fake(self) -> EvaluationWebhook: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/webhook_example_fake", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -498,8 +469,7 @@ def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.Any: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/evaluation_scenarios/comparison-results", + f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), @@ -561,15 +531,9 @@ async def fetch_evaluation_ids( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/by_resource"), params=remove_none_from_dict( - { - "app_id": app_id, - "resource_type": resource_type, - "resource_ids": resource_ids, - } + {"app_id": app_id, "resource_type": resource_type, "resource_ids": resource_ids} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -609,9 +573,7 @@ async def fetch_list_evaluations(self, *, app_id: str) -> typing.List[Evaluation """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -692,9 +654,7 @@ async def create_evaluation( _request["correct_answer_column"] = correct_answer_column _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -709,9 +669,7 @@ async def create_evaluation( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_evaluations( - self, *, evaluations_ids: typing.List[str] - ) -> typing.List[str]: + async def delete_evaluations(self, *, evaluations_ids: typing.List[str]) -> typing.List[str]: """ Delete specific comparison tables based on their unique IDs. @@ -736,9 +694,7 @@ async def delete_evaluations( """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluations" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations"), json=jsonable_encoder({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -779,10 +735,7 @@ async def fetch_evaluation_status(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/status", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/status"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -822,10 +775,7 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/results", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/results"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -839,9 +789,7 @@ async def fetch_evaluation_results(self, evaluation_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def fetch_evaluation_scenarios( - self, evaluation_id: str - ) -> typing.List[EvaluationScenario]: + async def fetch_evaluation_scenarios(self, evaluation_id: str) -> typing.List[EvaluationScenario]: """ Fetches evaluation scenarios for a given evaluation ID. @@ -870,8 +818,7 @@ async def fetch_evaluation_scenarios( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}/evaluation_scenarios", + f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}/evaluation_scenarios" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -911,10 +858,7 @@ async def fetch_evaluation(self, evaluation_id: str) -> Evaluation: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluations/{evaluation_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"evaluations/{evaluation_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -946,10 +890,7 @@ async def webhook_example_fake(self) -> EvaluationWebhook: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/webhook_example_fake", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluations/webhook_example_fake"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -990,8 +931,7 @@ async def fetch_evaluation_scenarios(self, *, evaluations_ids: str) -> typing.An _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - "evaluations/evaluation_scenarios/comparison-results", + f"{self._client_wrapper.get_base_url()}/", "evaluations/evaluation_scenarios/comparison-results" ), params=remove_none_from_dict({"evaluations_ids": evaluations_ids}), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/evaluators/client.py b/agenta-cli/agenta/client/backend/resources/evaluators/client.py index e59acf617f..4b36990550 100644 --- a/agenta-cli/agenta/client/backend/resources/evaluators/client.py +++ b/agenta-cli/agenta/client/backend/resources/evaluators/client.py @@ -44,9 +44,7 @@ def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -83,9 +81,7 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -101,12 +97,7 @@ def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: raise ApiError(status_code=_response.status_code, body=_response_json) def create_new_evaluator_config( - self, - *, - app_id: str, - name: str, - evaluator_key: str, - settings_values: typing.Dict[str, typing.Any], + self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -141,16 +132,9 @@ def create_new_evaluator_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), json=jsonable_encoder( - { - "app_id": app_id, - "name": name, - "evaluator_key": evaluator_key, - "settings_values": settings_values, - } + {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -188,8 +172,7 @@ def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfig: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -247,8 +230,7 @@ def update_evaluator_config( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -290,8 +272,7 @@ def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -329,9 +310,7 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -343,9 +322,7 @@ async def get_evaluators_endpoint(self) -> typing.List[Evaluator]: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_evaluator_configs( - self, *, app_id: str - ) -> typing.List[EvaluatorConfig]: + async def get_evaluator_configs(self, *, app_id: str) -> typing.List[EvaluatorConfig]: """ Endpoint to fetch evaluator configurations for a specific app. @@ -370,9 +347,7 @@ async def get_evaluator_configs( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), params=remove_none_from_dict({"app_id": app_id}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -388,12 +363,7 @@ async def get_evaluator_configs( raise ApiError(status_code=_response.status_code, body=_response_json) async def create_new_evaluator_config( - self, - *, - app_id: str, - name: str, - evaluator_key: str, - settings_values: typing.Dict[str, typing.Any], + self, *, app_id: str, name: str, evaluator_key: str, settings_values: typing.Dict[str, typing.Any] ) -> EvaluatorConfig: """ Endpoint to fetch evaluator configurations for a specific app. @@ -428,16 +398,9 @@ async def create_new_evaluator_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "evaluators/configs" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "evaluators/configs"), json=jsonable_encoder( - { - "app_id": app_id, - "name": name, - "evaluator_key": evaluator_key, - "settings_values": settings_values, - } + {"app_id": app_id, "name": name, "evaluator_key": evaluator_key, "settings_values": settings_values} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -475,8 +438,7 @@ async def get_evaluator_config(self, evaluator_config_id: str) -> EvaluatorConfi _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -534,8 +496,7 @@ async def update_evaluator_config( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -577,8 +538,7 @@ async def delete_evaluator_config(self, evaluator_config_id: str) -> bool: _response = await self._client_wrapper.httpx_client.request( "DELETE", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"evaluators/configs/{evaluator_config_id}", + f"{self._client_wrapper.get_base_url()}/", f"evaluators/configs/{evaluator_config_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/observability/__init__.py b/agenta-cli/agenta/client/backend/resources/observability/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/observability/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index 54d35d551c..fe7b1d02b3 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -60,16 +60,9 @@ def dashboard( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), params=remove_none_from_dict( - { - "app_id": app_id, - "timeRange": time_range, - "environment": environment, - "variant": variant, - } + {"app_id": app_id, "timeRange": time_range, "environment": environment, "variant": variant} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -126,9 +119,7 @@ def get_traces( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), params=remove_none_from_dict( { "app_id": app_id, @@ -154,9 +145,7 @@ def get_traces( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_traces( - self, *, trace: str, spans: typing.List[CreateSpan] - ) -> CreateTraceResponse: + def create_traces(self, *, trace: str, spans: typing.List[CreateSpan]) -> CreateTraceResponse: """ Parameters: - trace: str. @@ -165,7 +154,7 @@ def create_traces( --- import datetime - from agenta import CreateSpan + from agenta import CreateSpan, SpanKind, SpanStatusCode from agenta.client import AgentaApi client = AgentaApi( @@ -176,9 +165,10 @@ def create_traces( trace="trace", spans=[ CreateSpan( + id="id", name="name", - spankind="spankind", - status="status", + spankind=SpanKind.TOOL, + status=SpanStatusCode.UNSET, start_time=datetime.datetime.fromisoformat( "2024-01-15 09:30:00+00:00", ), @@ -191,9 +181,7 @@ def create_traces( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), json=jsonable_encoder({"trace": trace, "spans": spans}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -225,9 +213,7 @@ def delete_traces(self, *, request: typing.List[str]) -> bool: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -259,10 +245,7 @@ def get_trace_detail(self, trace_id: str) -> TraceDetail: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -318,9 +301,7 @@ def get_spans_of_generation( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), params=remove_none_from_dict( { "app_id": app_id, @@ -363,9 +344,7 @@ def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -380,9 +359,7 @@ def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_span_of_generation( - self, span_id: str, *, type: typing.Optional[str] = None - ) -> SpanDetail: + def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: """ Parameters: - span_id: str. @@ -401,10 +378,7 @@ def get_span_of_generation( """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{span_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -436,10 +410,7 @@ def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -490,10 +461,7 @@ def create_feedback( _request["meta"] = meta _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -529,8 +497,7 @@ def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -586,8 +553,7 @@ def update_feedback( _response = self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), @@ -638,16 +604,9 @@ async def dashboard( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/dashboard" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/dashboard"), params=remove_none_from_dict( - { - "app_id": app_id, - "timeRange": time_range, - "environment": environment, - "variant": variant, - } + {"app_id": app_id, "timeRange": time_range, "environment": environment, "variant": variant} ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -704,9 +663,7 @@ async def get_traces( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), params=remove_none_from_dict( { "app_id": app_id, @@ -732,9 +689,7 @@ async def get_traces( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_traces( - self, *, trace: str, spans: typing.List[CreateSpan] - ) -> CreateTraceResponse: + async def create_traces(self, *, trace: str, spans: typing.List[CreateSpan]) -> CreateTraceResponse: """ Parameters: - trace: str. @@ -743,7 +698,7 @@ async def create_traces( --- import datetime - from agenta import CreateSpan + from agenta import CreateSpan, SpanKind, SpanStatusCode from agenta.client import AsyncAgentaApi client = AsyncAgentaApi( @@ -754,9 +709,10 @@ async def create_traces( trace="trace", spans=[ CreateSpan( + id="id", name="name", - spankind="spankind", - status="status", + spankind=SpanKind.TOOL, + status=SpanStatusCode.UNSET, start_time=datetime.datetime.fromisoformat( "2024-01-15 09:30:00+00:00", ), @@ -769,9 +725,7 @@ async def create_traces( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), json=jsonable_encoder({"trace": trace, "spans": spans}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -803,9 +757,7 @@ async def delete_traces(self, *, request: typing.List[str]) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/traces" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -837,10 +789,7 @@ async def get_trace_detail(self, trace_id: str) -> TraceDetail: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/traces/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/traces/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -896,9 +845,7 @@ async def get_spans_of_generation( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), params=remove_none_from_dict( { "app_id": app_id, @@ -941,9 +888,7 @@ async def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "observability/spans" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/spans"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -958,9 +903,7 @@ async def delete_spans_of_trace(self, *, request: typing.List[str]) -> bool: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_span_of_generation( - self, span_id: str, *, type: typing.Optional[str] = None - ) -> SpanDetail: + async def get_span_of_generation(self, span_id: str, *, type: typing.Optional[str] = None) -> SpanDetail: """ Parameters: - span_id: str. @@ -979,10 +922,7 @@ async def get_span_of_generation( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/spans/{span_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/spans/{span_id}"), params=remove_none_from_dict({"type": type}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1014,10 +954,7 @@ async def get_feedbacks(self, trace_id: str) -> typing.List[Feedback]: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -1068,10 +1005,7 @@ async def create_feedback( _request["meta"] = meta _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1107,8 +1041,7 @@ async def get_feedback(self, trace_id: str, feedback_id: str) -> Feedback: _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -1164,8 +1097,7 @@ async def update_feedback( _response = await self._client_wrapper.httpx_client.request( "PUT", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"observability/feedbacks/{trace_id}/{feedback_id}", + f"{self._client_wrapper.get_base_url()}/", f"observability/feedbacks/{trace_id}/{feedback_id}" ), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), diff --git a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py index 67a41b2742..f3ea2659bb 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/__init__.py @@ -1 +1,2 @@ # This file was auto-generated by Fern from our API Definition. + diff --git a/agenta-cli/agenta/client/backend/resources/testsets/client.py b/agenta-cli/agenta/client/backend/resources/testsets/client.py index 10dd32b6ee..3dd503765d 100644 --- a/agenta-cli/agenta/client/backend/resources/testsets/client.py +++ b/agenta-cli/agenta/client/backend/resources/testsets/client.py @@ -65,16 +65,8 @@ def upload_file( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/upload" - ), - data=jsonable_encoder( - { - "upload_type": upload_type, - "testset_name": testset_name, - "app_id": app_id, - } - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), + data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -111,9 +103,7 @@ def import_testset(self) -> TestSetSimpleResponse: """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -127,9 +117,7 @@ def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def create_testset( - self, app_id: str, *, request: NewTestset - ) -> TestSetSimpleResponse: + def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -163,9 +151,7 @@ def create_testset( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -205,9 +191,7 @@ def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -254,9 +238,7 @@ def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -396,16 +378,8 @@ async def upload_file( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/upload" - ), - data=jsonable_encoder( - { - "upload_type": upload_type, - "testset_name": testset_name, - "app_id": app_id, - } - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/upload"), + data=jsonable_encoder({"upload_type": upload_type, "testset_name": testset_name, "app_id": app_id}), files={"file": file}, headers=self._client_wrapper.get_headers(), timeout=60, @@ -442,9 +416,7 @@ async def import_testset(self) -> TestSetSimpleResponse: """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "testsets/endpoint"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -458,9 +430,7 @@ async def import_testset(self) -> TestSetSimpleResponse: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def create_testset( - self, app_id: str, *, request: NewTestset - ) -> TestSetSimpleResponse: + async def create_testset(self, app_id: str, *, request: NewTestset) -> TestSetSimpleResponse: """ Create a testset with given name and app_name, save the testset to MongoDB. @@ -494,9 +464,7 @@ async def create_testset( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{app_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -536,9 +504,7 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -552,9 +518,7 @@ async def get_single_testset(self, testset_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_testset( - self, testset_id: str, *, request: NewTestset - ) -> typing.Any: + async def update_testset(self, testset_id: str, *, request: NewTestset) -> typing.Any: """ Update a testset with given id, update the testset in MongoDB. @@ -587,9 +551,7 @@ async def update_testset( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"testsets/{testset_id}"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -646,9 +608,7 @@ async def get_testsets(self, *, app_id: str) -> typing.List[TestSetOutputRespons raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def delete_testsets( - self, *, testset_ids: typing.List[str] - ) -> typing.List[str]: + async def delete_testsets(self, *, testset_ids: typing.List[str]) -> typing.List[str]: """ Delete specific testsets based on their unique IDs. diff --git a/agenta-cli/agenta/client/backend/resources/variants/client.py b/agenta-cli/agenta/client/backend/resources/variants/client.py index 37abaef6da..ef5c0cb895 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/client.py +++ b/agenta-cli/agenta/client/backend/resources/variants/client.py @@ -15,9 +15,7 @@ from ...types.image import Image from ...types.uri import Uri from ...types.variant_action import VariantAction -from .types.add_variant_from_base_and_config_response import ( - AddVariantFromBaseAndConfigResponse, -) +from .types.add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse try: import pydantic.v1 as pydantic # type: ignore @@ -33,12 +31,7 @@ def __init__(self, *, client_wrapper: SyncClientWrapper): self._client_wrapper = client_wrapper def add_variant_from_base_and_config( - self, - *, - base_id: str, - new_variant_name: str, - new_config_name: str, - parameters: typing.Dict[str, typing.Any], + self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -65,9 +58,7 @@ def add_variant_from_base_and_config( """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "variants/from-base" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), json=jsonable_encoder( { "base_id": base_id, @@ -106,9 +97,7 @@ def get_variant(self, variant_id: str) -> AppVariantResponse: """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -123,11 +112,7 @@ def get_variant(self, variant_id: str) -> AppVariantResponse: raise ApiError(status_code=_response.status_code, body=_response_json) def start_variant( - self, - variant_id: str, - *, - action: VariantAction, - env_vars: typing.Optional[DockerEnvVars] = OMIT, + self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT ) -> Uri: """ Start a variant of an app. @@ -170,9 +155,7 @@ def start_variant( _request["env_vars"] = env_vars _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -213,9 +196,7 @@ def remove_variant(self, variant_id: str) -> typing.Any: """ _response = self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -229,9 +210,7 @@ def remove_variant(self, variant_id: str) -> typing.Any: raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def update_variant_parameters( - self, variant_id: str, *, parameters: typing.Dict[str, typing.Any] - ) -> typing.Any: + def update_variant_parameters(self, variant_id: str, *, parameters: typing.Dict[str, typing.Any]) -> typing.Any: """ Updates the parameters for an app variant. @@ -264,10 +243,7 @@ def update_variant_parameters( """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/parameters", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -318,10 +294,7 @@ def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any """ _response = self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -353,10 +326,7 @@ def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariantRevisi """ _response = self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/revisions", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -370,9 +340,7 @@ def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariantRevisi raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - def get_variant_revision( - self, variant_id: str, revision_number: int - ) -> AppVariantRevision: + def get_variant_revision(self, variant_id: str, revision_number: int) -> AppVariantRevision: """ Parameters: - variant_id: str. @@ -393,8 +361,7 @@ def get_variant_revision( _response = self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/revisions/{revision_number}", + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions/{revision_number}" ), headers=self._client_wrapper.get_headers(), timeout=60, @@ -415,12 +382,7 @@ def __init__(self, *, client_wrapper: AsyncClientWrapper): self._client_wrapper = client_wrapper async def add_variant_from_base_and_config( - self, - *, - base_id: str, - new_variant_name: str, - new_config_name: str, - parameters: typing.Dict[str, typing.Any], + self, *, base_id: str, new_variant_name: str, new_config_name: str, parameters: typing.Dict[str, typing.Any] ) -> AddVariantFromBaseAndConfigResponse: """ Add a new variant based on an existing one. @@ -447,9 +409,7 @@ async def add_variant_from_base_and_config( """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", "variants/from-base" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "variants/from-base"), json=jsonable_encoder( { "base_id": base_id, @@ -488,9 +448,7 @@ async def get_variant(self, variant_id: str) -> AppVariantResponse: """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -505,11 +463,7 @@ async def get_variant(self, variant_id: str) -> AppVariantResponse: raise ApiError(status_code=_response.status_code, body=_response_json) async def start_variant( - self, - variant_id: str, - *, - action: VariantAction, - env_vars: typing.Optional[DockerEnvVars] = OMIT, + self, variant_id: str, *, action: VariantAction, env_vars: typing.Optional[DockerEnvVars] = OMIT ) -> Uri: """ Start a variant of an app. @@ -552,9 +506,7 @@ async def start_variant( _request["env_vars"] = env_vars _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), json=jsonable_encoder(_request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -595,9 +547,7 @@ async def remove_variant(self, variant_id: str) -> typing.Any: """ _response = await self._client_wrapper.httpx_client.request( "DELETE", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}" - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -646,10 +596,7 @@ async def update_variant_parameters( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/parameters", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/parameters"), json=jsonable_encoder({"parameters": parameters}), headers=self._client_wrapper.get_headers(), timeout=60, @@ -664,9 +611,7 @@ async def update_variant_parameters( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def update_variant_image( - self, variant_id: str, *, request: Image - ) -> typing.Any: + async def update_variant_image(self, variant_id: str, *, request: Image) -> typing.Any: """ Updates the image used in an app variant. @@ -702,10 +647,7 @@ async def update_variant_image( """ _response = await self._client_wrapper.httpx_client.request( "PUT", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/image", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/image"), json=jsonable_encoder(request), headers=self._client_wrapper.get_headers(), timeout=60, @@ -720,9 +662,7 @@ async def update_variant_image( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_revisions( - self, variant_id: str - ) -> typing.List[AppVariantRevision]: + async def get_variant_revisions(self, variant_id: str) -> typing.List[AppVariantRevision]: """ Parameters: - variant_id: str. @@ -739,10 +679,7 @@ async def get_variant_revisions( """ _response = await self._client_wrapper.httpx_client.request( "GET", - urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/revisions", - ), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions"), headers=self._client_wrapper.get_headers(), timeout=60, ) @@ -756,9 +693,7 @@ async def get_variant_revisions( raise ApiError(status_code=_response.status_code, body=_response.text) raise ApiError(status_code=_response.status_code, body=_response_json) - async def get_variant_revision( - self, variant_id: str, revision_number: int - ) -> AppVariantRevision: + async def get_variant_revision(self, variant_id: str, revision_number: int) -> AppVariantRevision: """ Parameters: - variant_id: str. @@ -779,8 +714,7 @@ async def get_variant_revision( _response = await self._client_wrapper.httpx_client.request( "GET", urllib.parse.urljoin( - f"{self._client_wrapper.get_base_url()}/", - f"variants/{variant_id}/revisions/{revision_number}", + f"{self._client_wrapper.get_base_url()}/", f"variants/{variant_id}/revisions/{revision_number}" ), headers=self._client_wrapper.get_headers(), timeout=60, diff --git a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py index fac6b42753..b3bfbb0781 100644 --- a/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py +++ b/agenta-cli/agenta/client/backend/resources/variants/types/__init__.py @@ -1,7 +1,5 @@ # This file was auto-generated by Fern from our API Definition. -from .add_variant_from_base_and_config_response import ( - AddVariantFromBaseAndConfigResponse, -) +from .add_variant_from_base_and_config_response import AddVariantFromBaseAndConfigResponse __all__ = ["AddVariantFromBaseAndConfigResponse"] diff --git a/agenta-cli/agenta/client/backend/types/__init__.py b/agenta-cli/agenta/client/backend/types/__init__.py index 78ab06fabb..1a1f8c3ae1 100644 --- a/agenta-cli/agenta/client/backend/types/__init__.py +++ b/agenta-cli/agenta/client/backend/types/__init__.py @@ -51,9 +51,9 @@ from .simple_evaluation_output import SimpleEvaluationOutput from .span import Span from .span_detail import SpanDetail -from .span_status import SpanStatus +from .span_kind import SpanKind +from .span_status_code import SpanStatusCode from .span_variant import SpanVariant -from .status import Status from .template import Template from .template_image_info import TemplateImageInfo from .test_set_output_response import TestSetOutputResponse @@ -123,9 +123,9 @@ "SimpleEvaluationOutput", "Span", "SpanDetail", - "SpanStatus", + "SpanKind", + "SpanStatusCode", "SpanVariant", - "Status", "Template", "TemplateImageInfo", "TestSetOutputResponse", diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result.py b/agenta-cli/agenta/client/backend/types/aggregated_result.py index 378e25bd96..cdfc47d3eb 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result.py @@ -18,19 +18,11 @@ class AggregatedResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py index 0af9c60a8e..567c18f49d 100644 --- a/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/aggregated_result_evaluator_config.py @@ -4,6 +4,4 @@ from .evaluator_config import EvaluatorConfig -AggregatedResultEvaluatorConfig = typing.Union[ - EvaluatorConfig, typing.Dict[str, typing.Any] -] +AggregatedResultEvaluatorConfig = typing.Union[EvaluatorConfig, typing.Dict[str, typing.Any]] diff --git a/agenta-cli/agenta/client/backend/types/app.py b/agenta-cli/agenta/client/backend/types/app.py index 7611dc75e9..be4e77b499 100644 --- a/agenta-cli/agenta/client/backend/types/app.py +++ b/agenta-cli/agenta/client/backend/types/app.py @@ -16,19 +16,11 @@ class App(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_response.py b/agenta-cli/agenta/client/backend/types/app_variant_response.py index 9ce97e20ce..d5d166be8c 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_response.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_response.py @@ -28,19 +28,11 @@ class AppVariantResponse(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/app_variant_revision.py b/agenta-cli/agenta/client/backend/types/app_variant_revision.py index 39976d7a25..38434297c3 100644 --- a/agenta-cli/agenta/client/backend/types/app_variant_revision.py +++ b/agenta-cli/agenta/client/backend/types/app_variant_revision.py @@ -19,19 +19,11 @@ class AppVariantRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/base_output.py b/agenta-cli/agenta/client/backend/types/base_output.py index 43a0e31eae..2a0a9b41bd 100644 --- a/agenta-cli/agenta/client/backend/types/base_output.py +++ b/agenta-cli/agenta/client/backend/types/base_output.py @@ -16,19 +16,11 @@ class BaseOutput(pydantic.BaseModel): base_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/body_import_testset.py b/agenta-cli/agenta/client/backend/types/body_import_testset.py index f06788d80d..1cfab34428 100644 --- a/agenta-cli/agenta/client/backend/types/body_import_testset.py +++ b/agenta-cli/agenta/client/backend/types/body_import_testset.py @@ -17,19 +17,11 @@ class BodyImportTestset(pydantic.BaseModel): app_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/config_db.py b/agenta-cli/agenta/client/backend/types/config_db.py index 7e7b9004fd..7414370572 100644 --- a/agenta-cli/agenta/client/backend/types/config_db.py +++ b/agenta-cli/agenta/client/backend/types/config_db.py @@ -16,19 +16,11 @@ class ConfigDb(pydantic.BaseModel): parameters: typing.Optional[typing.Dict[str, typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/create_app_output.py b/agenta-cli/agenta/client/backend/types/create_app_output.py index a736531605..adcf9fdfee 100644 --- a/agenta-cli/agenta/client/backend/types/create_app_output.py +++ b/agenta-cli/agenta/client/backend/types/create_app_output.py @@ -16,19 +16,11 @@ class CreateAppOutput(pydantic.BaseModel): app_name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/create_span.py b/agenta-cli/agenta/client/backend/types/create_span.py index 2048e384b6..65daaf1ba9 100644 --- a/agenta-cli/agenta/client/backend/types/create_span.py +++ b/agenta-cli/agenta/client/backend/types/create_span.py @@ -5,6 +5,8 @@ from ..core.datetime_utils import serialize_datetime from .llm_tokens import LlmTokens +from .span_kind import SpanKind +from .span_status_code import SpanStatusCode try: import pydantic.v1 as pydantic # type: ignore @@ -13,6 +15,7 @@ class CreateSpan(pydantic.BaseModel): + id: str app_id: typing.Optional[str] variant_id: typing.Optional[str] inputs: typing.Optional[typing.Dict[str, typing.Any]] @@ -24,8 +27,8 @@ class CreateSpan(pydantic.BaseModel): name: str parent_span_id: typing.Optional[str] attributes: typing.Optional[typing.Dict[str, typing.Any]] - spankind: str - status: str + spankind: SpanKind + status: SpanStatusCode user: typing.Optional[str] start_time: dt.datetime end_time: dt.datetime @@ -33,19 +36,11 @@ class CreateSpan(pydantic.BaseModel): cost: typing.Optional[float] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/create_trace_response.py b/agenta-cli/agenta/client/backend/types/create_trace_response.py index 72115931ef..dd55a20f06 100644 --- a/agenta-cli/agenta/client/backend/types/create_trace_response.py +++ b/agenta-cli/agenta/client/backend/types/create_trace_response.py @@ -16,19 +16,11 @@ class CreateTraceResponse(pydantic.BaseModel): data: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/docker_env_vars.py b/agenta-cli/agenta/client/backend/types/docker_env_vars.py index ea0c144502..9a0630554a 100644 --- a/agenta-cli/agenta/client/backend/types/docker_env_vars.py +++ b/agenta-cli/agenta/client/backend/types/docker_env_vars.py @@ -15,19 +15,11 @@ class DockerEnvVars(pydantic.BaseModel): env_vars: typing.Dict[str, str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output.py b/agenta-cli/agenta/client/backend/types/environment_output.py index 6268b56c14..feb80a72f5 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output.py +++ b/agenta-cli/agenta/client/backend/types/environment_output.py @@ -22,19 +22,11 @@ class EnvironmentOutput(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_output_extended.py b/agenta-cli/agenta/client/backend/types/environment_output_extended.py index 75eea02d69..41baf24d13 100644 --- a/agenta-cli/agenta/client/backend/types/environment_output_extended.py +++ b/agenta-cli/agenta/client/backend/types/environment_output_extended.py @@ -24,19 +24,11 @@ class EnvironmentOutputExtended(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/environment_revision.py b/agenta-cli/agenta/client/backend/types/environment_revision.py index c98bf70e74..cf8aa77edd 100644 --- a/agenta-cli/agenta/client/backend/types/environment_revision.py +++ b/agenta-cli/agenta/client/backend/types/environment_revision.py @@ -20,19 +20,11 @@ class EnvironmentRevision(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/error.py b/agenta-cli/agenta/client/backend/types/error.py index ff81c2a8cd..174cc34048 100644 --- a/agenta-cli/agenta/client/backend/types/error.py +++ b/agenta-cli/agenta/client/backend/types/error.py @@ -16,19 +16,11 @@ class Error(pydantic.BaseModel): stacktrace: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation.py b/agenta-cli/agenta/client/backend/types/evaluation.py index ca877a97f2..9b5e8e7697 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation.py +++ b/agenta-cli/agenta/client/backend/types/evaluation.py @@ -32,19 +32,11 @@ class Evaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py index 36229c357d..b221afc09c 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario.py @@ -26,19 +26,11 @@ class EvaluationScenario(pydantic.BaseModel): results: typing.List[EvaluationScenarioResult] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py index 700f6372e4..826ae00434 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_input.py @@ -17,19 +17,11 @@ class EvaluationScenarioInput(pydantic.BaseModel): value: typing.Optional[typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py index 7f7826ea56..6e66d162e2 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_output.py @@ -18,19 +18,11 @@ class EvaluationScenarioOutput(pydantic.BaseModel): latency: typing.Optional[float] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py index 57fbd6e082..62f4d0015a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_result.py @@ -17,19 +17,11 @@ class EvaluationScenarioResult(pydantic.BaseModel): result: Result def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py index 68ed0da745..4a8fcbcb6a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_scenario_score_update.py @@ -15,19 +15,11 @@ class EvaluationScenarioScoreUpdate(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluation_type.py b/agenta-cli/agenta/client/backend/types/evaluation_type.py index 4d2b91066d..45c37b9c82 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_type.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_type.py @@ -15,9 +15,7 @@ class EvaluationType(str, enum.Enum): SINGLE_MODEL_TEST = "single_model_test" def visit( - self, - human_a_b_testing: typing.Callable[[], T_Result], - single_model_test: typing.Callable[[], T_Result], + self, human_a_b_testing: typing.Callable[[], T_Result], single_model_test: typing.Callable[[], T_Result] ) -> T_Result: if self is EvaluationType.HUMAN_A_B_TESTING: return human_a_b_testing() diff --git a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py index c8d71dc626..7eb6db6bc6 100644 --- a/agenta-cli/agenta/client/backend/types/evaluation_webhook.py +++ b/agenta-cli/agenta/client/backend/types/evaluation_webhook.py @@ -15,19 +15,11 @@ class EvaluationWebhook(pydantic.BaseModel): score: float def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator.py b/agenta-cli/agenta/client/backend/types/evaluator.py index 75c3b71454..ea706c01a8 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator.py +++ b/agenta-cli/agenta/client/backend/types/evaluator.py @@ -19,19 +19,11 @@ class Evaluator(pydantic.BaseModel): description: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/evaluator_config.py b/agenta-cli/agenta/client/backend/types/evaluator_config.py index 7ca248d882..54fed00c6a 100644 --- a/agenta-cli/agenta/client/backend/types/evaluator_config.py +++ b/agenta-cli/agenta/client/backend/types/evaluator_config.py @@ -20,19 +20,11 @@ class EvaluatorConfig(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/feedback.py b/agenta-cli/agenta/client/backend/types/feedback.py index e4fa0db6e1..c771eb1e39 100644 --- a/agenta-cli/agenta/client/backend/types/feedback.py +++ b/agenta-cli/agenta/client/backend/types/feedback.py @@ -19,19 +19,11 @@ class Feedback(pydantic.BaseModel): created_at: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/get_config_response.py b/agenta-cli/agenta/client/backend/types/get_config_response.py index d3b8e334ce..448a75128e 100644 --- a/agenta-cli/agenta/client/backend/types/get_config_response.py +++ b/agenta-cli/agenta/client/backend/types/get_config_response.py @@ -18,19 +18,11 @@ class GetConfigResponse(pydantic.BaseModel): parameters: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/http_validation_error.py b/agenta-cli/agenta/client/backend/types/http_validation_error.py index 02fc88d818..e5f647b24d 100644 --- a/agenta-cli/agenta/client/backend/types/http_validation_error.py +++ b/agenta-cli/agenta/client/backend/types/http_validation_error.py @@ -16,19 +16,11 @@ class HttpValidationError(pydantic.BaseModel): detail: typing.Optional[typing.List[ValidationError]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation.py b/agenta-cli/agenta/client/backend/types/human_evaluation.py index 299120edc6..49bfb5da85 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation.py @@ -28,19 +28,11 @@ class HumanEvaluation(pydantic.BaseModel): updated_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py index 5f1f36b824..a837a1ff4c 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario.py @@ -27,19 +27,11 @@ class HumanEvaluationScenario(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py index d65233935e..bf35c307cb 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_input.py @@ -16,19 +16,11 @@ class HumanEvaluationScenarioInput(pydantic.BaseModel): input_value: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py index 752606176b..e239ca6cd2 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_output.py @@ -16,19 +16,11 @@ class HumanEvaluationScenarioOutput(pydantic.BaseModel): variant_output: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py index 3d099aea1d..cb035d6c6b 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_scenario_update.py @@ -24,19 +24,11 @@ class HumanEvaluationScenarioUpdate(pydantic.BaseModel): note: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py index 360f8cc449..71c6cac057 100644 --- a/agenta-cli/agenta/client/backend/types/human_evaluation_update.py +++ b/agenta-cli/agenta/client/backend/types/human_evaluation_update.py @@ -16,19 +16,11 @@ class HumanEvaluationUpdate(pydantic.BaseModel): status: typing.Optional[EvaluationStatusEnum] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/image.py b/agenta-cli/agenta/client/backend/types/image.py index 52bd510c66..03c2193087 100644 --- a/agenta-cli/agenta/client/backend/types/image.py +++ b/agenta-cli/agenta/client/backend/types/image.py @@ -19,19 +19,11 @@ class Image(pydantic.BaseModel): workspace_id: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/invite_request.py b/agenta-cli/agenta/client/backend/types/invite_request.py index 2a9c8f0bac..5a454982de 100644 --- a/agenta-cli/agenta/client/backend/types/invite_request.py +++ b/agenta-cli/agenta/client/backend/types/invite_request.py @@ -16,19 +16,11 @@ class InviteRequest(pydantic.BaseModel): roles: typing.List[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py index dd393d6268..0aa72d80ee 100644 --- a/agenta-cli/agenta/client/backend/types/list_api_keys_response.py +++ b/agenta-cli/agenta/client/backend/types/list_api_keys_response.py @@ -18,19 +18,11 @@ class ListApiKeysResponse(pydantic.BaseModel): expiration_date: typing.Optional[dt.datetime] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py index 24214f4c59..b7ea18a69d 100644 --- a/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py +++ b/agenta-cli/agenta/client/backend/types/llm_run_rate_limit.py @@ -18,19 +18,11 @@ class LlmRunRateLimit(pydantic.BaseModel): delay_between_batches: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/llm_tokens.py b/agenta-cli/agenta/client/backend/types/llm_tokens.py index 0c5a71755b..987b972c07 100644 --- a/agenta-cli/agenta/client/backend/types/llm_tokens.py +++ b/agenta-cli/agenta/client/backend/types/llm_tokens.py @@ -17,19 +17,11 @@ class LlmTokens(pydantic.BaseModel): total_tokens: typing.Optional[int] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py index 30067d0ae7..c201ac2f27 100644 --- a/agenta-cli/agenta/client/backend/types/new_human_evaluation.py +++ b/agenta-cli/agenta/client/backend/types/new_human_evaluation.py @@ -21,19 +21,11 @@ class NewHumanEvaluation(pydantic.BaseModel): status: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/new_testset.py b/agenta-cli/agenta/client/backend/types/new_testset.py index 7f931de42e..20b5ec77ad 100644 --- a/agenta-cli/agenta/client/backend/types/new_testset.py +++ b/agenta-cli/agenta/client/backend/types/new_testset.py @@ -16,19 +16,11 @@ class NewTestset(pydantic.BaseModel): csvdata: typing.List[typing.Dict[str, str]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization.py b/agenta-cli/agenta/client/backend/types/organization.py index 83c81d68d4..4a6b6dd1f8 100644 --- a/agenta-cli/agenta/client/backend/types/organization.py +++ b/agenta-cli/agenta/client/backend/types/organization.py @@ -22,19 +22,11 @@ class Organization(pydantic.BaseModel): is_paying: typing.Optional[bool] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/organization_output.py b/agenta-cli/agenta/client/backend/types/organization_output.py index 93b88e4cf4..d3269aeb52 100644 --- a/agenta-cli/agenta/client/backend/types/organization_output.py +++ b/agenta-cli/agenta/client/backend/types/organization_output.py @@ -16,19 +16,11 @@ class OrganizationOutput(pydantic.BaseModel): name: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/result.py b/agenta-cli/agenta/client/backend/types/result.py index 77e4c84d0a..c807398f53 100644 --- a/agenta-cli/agenta/client/backend/types/result.py +++ b/agenta-cli/agenta/client/backend/types/result.py @@ -18,19 +18,11 @@ class Result(pydantic.BaseModel): error: typing.Optional[Error] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py index ed86be2b2e..3bba878f7b 100644 --- a/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py +++ b/agenta-cli/agenta/client/backend/types/simple_evaluation_output.py @@ -20,19 +20,11 @@ class SimpleEvaluationOutput(pydantic.BaseModel): evaluation_type: EvaluationType def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span.py b/agenta-cli/agenta/client/backend/types/span.py index e41af61ae9..49acd5a46a 100644 --- a/agenta-cli/agenta/client/backend/types/span.py +++ b/agenta-cli/agenta/client/backend/types/span.py @@ -6,7 +6,8 @@ import typing from ..core.datetime_utils import serialize_datetime -from .span_status import SpanStatus +from .span_kind import SpanKind +from .span_status_code import SpanStatusCode from .span_variant import SpanVariant try: @@ -22,25 +23,18 @@ class Span(pydantic.BaseModel): created_at: dt.datetime variant: SpanVariant environment: typing.Optional[str] - status: SpanStatus + spankind: SpanKind + status: SpanStatusCode metadata: typing.Dict[str, typing.Any] user_id: typing.Optional[str] children: typing.Optional[typing.List[Span]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_detail.py b/agenta-cli/agenta/client/backend/types/span_detail.py index e74e7c9bee..5e8141176a 100644 --- a/agenta-cli/agenta/client/backend/types/span_detail.py +++ b/agenta-cli/agenta/client/backend/types/span_detail.py @@ -5,7 +5,8 @@ from ..core.datetime_utils import serialize_datetime from .span import Span -from .span_status import SpanStatus +from .span_kind import SpanKind +from .span_status_code import SpanStatusCode from .span_variant import SpanVariant try: @@ -21,7 +22,8 @@ class SpanDetail(pydantic.BaseModel): created_at: dt.datetime variant: SpanVariant environment: typing.Optional[str] - status: SpanStatus + spankind: SpanKind + status: SpanStatusCode metadata: typing.Dict[str, typing.Any] user_id: typing.Optional[str] children: typing.Optional[typing.List[Span]] @@ -29,19 +31,11 @@ class SpanDetail(pydantic.BaseModel): config: typing.Optional[typing.Dict[str, typing.Any]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/span_kind.py b/agenta-cli/agenta/client/backend/types/span_kind.py new file mode 100644 index 0000000000..7559e3620c --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/span_kind.py @@ -0,0 +1,49 @@ +# This file was auto-generated by Fern from our API Definition. + +import enum +import typing + +T_Result = typing.TypeVar("T_Result") + + +class SpanKind(str, enum.Enum): + """ + An enumeration. + """ + + TOOL = "TOOL" + CHAIN = "CHAIN" + LLM = "LLM" + WORKFLOW = "WORKFLOW" + RETRIEVER = "RETRIEVER" + EMBEDDING = "EMBEDDING" + AGENT = "AGENT" + UNKNOWN = "UNKNOWN" + + def visit( + self, + tool: typing.Callable[[], T_Result], + chain: typing.Callable[[], T_Result], + llm: typing.Callable[[], T_Result], + workflow: typing.Callable[[], T_Result], + retriever: typing.Callable[[], T_Result], + embedding: typing.Callable[[], T_Result], + agent: typing.Callable[[], T_Result], + unknown: typing.Callable[[], T_Result], + ) -> T_Result: + if self is SpanKind.TOOL: + return tool() + if self is SpanKind.CHAIN: + return chain() + if self is SpanKind.LLM: + return llm() + if self is SpanKind.WORKFLOW: + return workflow() + if self is SpanKind.RETRIEVER: + return retriever() + if self is SpanKind.EMBEDDING: + return embedding() + if self is SpanKind.AGENT: + return agent() + if self is SpanKind.UNKNOWN: + return unknown() diff --git a/agenta-cli/agenta/client/backend/types/span_status.py b/agenta-cli/agenta/client/backend/types/span_status.py deleted file mode 100644 index 722e7430af..0000000000 --- a/agenta-cli/agenta/client/backend/types/span_status.py +++ /dev/null @@ -1,39 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import datetime as dt -import typing - -from ..core.datetime_utils import serialize_datetime -from .error import Error -from .status import Status - -try: - import pydantic.v1 as pydantic # type: ignore -except ImportError: - import pydantic # type: ignore - - -class SpanStatus(pydantic.BaseModel): - value: typing.Optional[Status] - error: typing.Optional[Error] - - def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } - return super().json(**kwargs_with_defaults) - - def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } - return super().dict(**kwargs_with_defaults) - - class Config: - frozen = True - smart_union = True - json_encoders = {dt.datetime: serialize_datetime} diff --git a/agenta-cli/agenta/client/backend/types/span_status_code.py b/agenta-cli/agenta/client/backend/types/span_status_code.py new file mode 100644 index 0000000000..5b04d5e8f6 --- /dev/null +++ b/agenta-cli/agenta/client/backend/types/span_status_code.py @@ -0,0 +1,29 @@ +# This file was auto-generated by Fern from our API Definition. + +import enum +import typing + +T_Result = typing.TypeVar("T_Result") + + +class SpanStatusCode(str, enum.Enum): + """ + An enumeration. + """ + + UNSET = "UNSET" + OK = "OK" + ERROR = "ERROR" + + def visit( + self, + unset: typing.Callable[[], T_Result], + ok: typing.Callable[[], T_Result], + error: typing.Callable[[], T_Result], + ) -> T_Result: + if self is SpanStatusCode.UNSET: + return unset() + if self is SpanStatusCode.OK: + return ok() + if self is SpanStatusCode.ERROR: + return error() diff --git a/agenta-cli/agenta/client/backend/types/span_variant.py b/agenta-cli/agenta/client/backend/types/span_variant.py index 03903fb8d5..a67067789d 100644 --- a/agenta-cli/agenta/client/backend/types/span_variant.py +++ b/agenta-cli/agenta/client/backend/types/span_variant.py @@ -17,19 +17,11 @@ class SpanVariant(pydantic.BaseModel): revision: int def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/status.py b/agenta-cli/agenta/client/backend/types/status.py deleted file mode 100644 index ebeed387c6..0000000000 --- a/agenta-cli/agenta/client/backend/types/status.py +++ /dev/null @@ -1,29 +0,0 @@ -# This file was auto-generated by Fern from our API Definition. - -import enum -import typing - -T_Result = typing.TypeVar("T_Result") - - -class Status(str, enum.Enum): - """ - An enumeration. - """ - - INITIATED = "INITIATED" - COMPLETED = "COMPLETED" - FAILED = "FAILED" - - def visit( - self, - initiated: typing.Callable[[], T_Result], - completed: typing.Callable[[], T_Result], - failed: typing.Callable[[], T_Result], - ) -> T_Result: - if self is Status.INITIATED: - return initiated() - if self is Status.COMPLETED: - return completed() - if self is Status.FAILED: - return failed() diff --git a/agenta-cli/agenta/client/backend/types/template.py b/agenta-cli/agenta/client/backend/types/template.py index b509e795d4..c43fc4beac 100644 --- a/agenta-cli/agenta/client/backend/types/template.py +++ b/agenta-cli/agenta/client/backend/types/template.py @@ -17,19 +17,11 @@ class Template(pydantic.BaseModel): image: TemplateImageInfo def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/template_image_info.py b/agenta-cli/agenta/client/backend/types/template_image_info.py index b0c01e7504..5131e053d7 100644 --- a/agenta-cli/agenta/client/backend/types/template_image_info.py +++ b/agenta-cli/agenta/client/backend/types/template_image_info.py @@ -22,19 +22,11 @@ class TemplateImageInfo(pydantic.BaseModel): template_uri: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_output_response.py b/agenta-cli/agenta/client/backend/types/test_set_output_response.py index 715ebcdcd5..ac4a47255d 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_output_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_output_response.py @@ -17,19 +17,11 @@ class TestSetOutputResponse(pydantic.BaseModel): created_at: dt.datetime def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py index b6ac04a871..c30fc1de89 100644 --- a/agenta-cli/agenta/client/backend/types/test_set_simple_response.py +++ b/agenta-cli/agenta/client/backend/types/test_set_simple_response.py @@ -17,19 +17,11 @@ class TestSetSimpleResponse(pydantic.BaseModel): created_at: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/trace_detail.py b/agenta-cli/agenta/client/backend/types/trace_detail.py index dc006277da..2a94a35bcf 100644 --- a/agenta-cli/agenta/client/backend/types/trace_detail.py +++ b/agenta-cli/agenta/client/backend/types/trace_detail.py @@ -5,7 +5,8 @@ from ..core.datetime_utils import serialize_datetime from .span import Span -from .span_status import SpanStatus +from .span_kind import SpanKind +from .span_status_code import SpanStatusCode from .span_variant import SpanVariant try: @@ -21,7 +22,8 @@ class TraceDetail(pydantic.BaseModel): created_at: dt.datetime variant: SpanVariant environment: typing.Optional[str] - status: SpanStatus + spankind: SpanKind + status: SpanStatusCode metadata: typing.Dict[str, typing.Any] user_id: typing.Optional[str] children: typing.Optional[typing.List[Span]] @@ -29,19 +31,11 @@ class TraceDetail(pydantic.BaseModel): config: typing.Dict[str, typing.Any] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/uri.py b/agenta-cli/agenta/client/backend/types/uri.py index 608f89ef6f..a04cc35249 100644 --- a/agenta-cli/agenta/client/backend/types/uri.py +++ b/agenta-cli/agenta/client/backend/types/uri.py @@ -15,19 +15,11 @@ class Uri(pydantic.BaseModel): uri: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/validation_error.py b/agenta-cli/agenta/client/backend/types/validation_error.py index ffd8cc872f..67b5ba78e3 100644 --- a/agenta-cli/agenta/client/backend/types/validation_error.py +++ b/agenta-cli/agenta/client/backend/types/validation_error.py @@ -18,19 +18,11 @@ class ValidationError(pydantic.BaseModel): type: str def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action.py b/agenta-cli/agenta/client/backend/types/variant_action.py index a614ac00f5..1fe22412aa 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action.py +++ b/agenta-cli/agenta/client/backend/types/variant_action.py @@ -16,19 +16,11 @@ class VariantAction(pydantic.BaseModel): action: VariantActionEnum def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/variant_action_enum.py b/agenta-cli/agenta/client/backend/types/variant_action_enum.py index 6f5f8c19c5..5aa6f1c7e7 100644 --- a/agenta-cli/agenta/client/backend/types/variant_action_enum.py +++ b/agenta-cli/agenta/client/backend/types/variant_action_enum.py @@ -14,9 +14,7 @@ class VariantActionEnum(str, enum.Enum): START = "START" STOP = "STOP" - def visit( - self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result] - ) -> T_Result: + def visit(self, start: typing.Callable[[], T_Result], stop: typing.Callable[[], T_Result]) -> T_Result: if self is VariantActionEnum.START: return start() if self is VariantActionEnum.STOP: diff --git a/agenta-cli/agenta/client/backend/types/with_pagination.py b/agenta-cli/agenta/client/backend/types/with_pagination.py index ae2a4dfa06..2b7a1588ac 100644 --- a/agenta-cli/agenta/client/backend/types/with_pagination.py +++ b/agenta-cli/agenta/client/backend/types/with_pagination.py @@ -18,19 +18,11 @@ class WithPagination(pydantic.BaseModel): page_size: int = pydantic.Field(alias="pageSize") def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_member_response.py b/agenta-cli/agenta/client/backend/types/workspace_member_response.py index ec907e24d8..ef3c928c8e 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_member_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_member_response.py @@ -17,19 +17,11 @@ class WorkspaceMemberResponse(pydantic.BaseModel): roles: typing.List[WorkspacePermission] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_permission.py b/agenta-cli/agenta/client/backend/types/workspace_permission.py index 0d847e611e..ed74790008 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_permission.py +++ b/agenta-cli/agenta/client/backend/types/workspace_permission.py @@ -19,19 +19,11 @@ class WorkspacePermission(pydantic.BaseModel): permissions: typing.Optional[typing.List[Permission]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_response.py b/agenta-cli/agenta/client/backend/types/workspace_response.py index f0e0bbf5ee..55ee8f5f51 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_response.py @@ -23,19 +23,11 @@ class WorkspaceResponse(pydantic.BaseModel): members: typing.Optional[typing.List[WorkspaceMemberResponse]] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: diff --git a/agenta-cli/agenta/client/backend/types/workspace_role_response.py b/agenta-cli/agenta/client/backend/types/workspace_role_response.py index 97531c3143..4313b624b1 100644 --- a/agenta-cli/agenta/client/backend/types/workspace_role_response.py +++ b/agenta-cli/agenta/client/backend/types/workspace_role_response.py @@ -17,19 +17,11 @@ class WorkspaceRoleResponse(pydantic.BaseModel): role_description: typing.Optional[str] def json(self, **kwargs: typing.Any) -> str: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().json(**kwargs_with_defaults) def dict(self, **kwargs: typing.Any) -> typing.Dict[str, typing.Any]: - kwargs_with_defaults: typing.Any = { - "by_alias": True, - "exclude_unset": True, - **kwargs, - } + kwargs_with_defaults: typing.Any = {"by_alias": True, "exclude_unset": True, **kwargs} return super().dict(**kwargs_with_defaults) class Config: From 86548663c6ac69325f5dfa923a895f8e67e88822 Mon Sep 17 00:00:00 2001 From: Abram Date: Thu, 11 Apr 2024 23:33:00 +0100 Subject: [PATCH 401/539] Refactor - update tracing sdk --- agenta-cli/agenta/sdk/agenta_decorator.py | 50 ++-- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 241 ++++++------------ .../agenta/sdk/tracing/tasks_manager.py | 32 +-- 3 files changed, 104 insertions(+), 219 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index 3631097b82..75a78e5a95 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -80,23 +80,24 @@ async def wrapper(*args, **kwargs) -> Any: func_params, api_config_params = split_kwargs(kwargs, config_params) # Start tracing - tracing.trace( - trace_name=func.__name__, + tracing.start_parent_span( + name=func.__name__, inputs=func_params, config=api_config_params, - environment="playground", # type: ignore #NOTE: wrapper is only called in playground ) + + # Ingest files, prepare configurations and run llm app ingest_files(func_params, ingestible_files) agenta.config.set(**api_config_params) llm_result = await execute_function( - func, *args, **{"params": func_params, "config_params": config_params} + func, *args, params=func_params, config_params=config_params ) - # End tracing - tracing.end_trace( - outputs=[llm_result.message], - total_tokens=llm_result.usage.total_tokens, - cost=llm_result.cost, + # End trace recording + tracing.end_recording( + outputs=llm_result.dict(), + span=tracing.active_span, + environment="playground", # type: ignore #NOTE: wrapper is only called in playground ) return llm_result @@ -115,33 +116,22 @@ async def wrapper_deployed(*args, **kwargs) -> Any: config = agenta.config.all() # Start tracing - tracing.trace( - trace_name=func.__name__, + tracing.start_parent_span( + name=func.__name__, inputs=func_params, config=config, - **{"environment": kwargs["environment"]}, ) + llm_result = await execute_function( - func, - *args, - **{ - "params": func_params, - "config_params": config, - }, + func, *args, params=func_params, config_params=config_params ) - # End tracing - if isinstance(llm_result, JSONResponse): - result = {"message": str(llm_result), "total_tokens": 0, "cost": 0} - else: - result = { - "message": llm_result.message, - "total_tokens": ( - llm_result.usage.total_tokens if llm_result.usage else None - ), - "cost": llm_result.cost, - } - tracing.end_trace(outputs=[result["message"]], total_tokens=result["total_tokens"], cost=result["cost"]) # type: ignore + # End trace recording + tracing.end_recording( + outputs=llm_result.dict(), + span=tracing.active_span, + environment="playground", # type: ignore #NOTE: wrapper is only called in playground + ) return llm_result update_function_signature(wrapper, func_signature, config_params, ingestible_files) diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 4f01119f60..b1c03a95ca 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -7,77 +7,12 @@ from agenta.sdk.tracing.logger import llm_logger from agenta.sdk.tracing.tasks_manager import TaskQueue from agenta.client.backend.client import AsyncObservabilityClient +from agenta.client.backend.types.create_span import CreateSpan, SpanKind, SpanStatusCode # Third Party Imports from bson.objectid import ObjectId -class Span: - def __init__( - self, - trace_id: str, - span_id: str, - name: str, - input: Dict[str, Any], - type: str, - parent_span_id: Optional[str] = None, - **kwargs: Dict[str, Any], - ): - self.trace_id = trace_id - self.span_id = span_id - self.name = name - self.type = type - self.parent_span_id = parent_span_id - self.start_time = datetime.now(timezone.utc) - self.end_time = Optional[datetime] - self.input = input - self.status = Dict[str, Any] - self.output = Optional[str] - self.cost = Optional[float] - self.tokens = Optional[Dict[str, int]] - self.attributes: Dict[str, Any] = kwargs - - def set_attribute(self, key: str, value: Any, parent_key: Optional[str] = None): - if parent_key is not None: - model_config = self.attributes.get(parent_key, None) - if not model_config: - self.attributes[parent_key] = {} - self.attributes[parent_key][key] = value - else: - self.attributes[key] = value - - def update_span_status(self, status: str, exc: Optional[str] = None): - if status == "FAILED": - self.status = { # type: ignore - "value": None, - "error": {"message": status, "stacktrace": str(exc)}, - } - elif status == "COMPLETED": - self.status = {"value": status, "error": None} # type: ignore - - def end(self, output: Dict[str, Any]): - self.end_time = datetime.now(timezone.utc) - self.output = output["message"] - self.cost = output.get("cost", 0) - self.tokens = output.get("usage", {}) - - def __dict__(self): - return { - "trace_id": self.trace_id, - "span_id": self.span_id, - "name": self.name, - "type": self.type, - "parent_span_id": self.parent_span_id, - "start_time": self.start_time.isoformat() if self.start_time else None, - "end_time": self.end_time.isoformat() if self.end_time else None, - "input": self.input, - "output": self.output, - "status": self.status, - "tokens": self.tokens, - "attributes": self.attributes, - } - - class Tracing(object): """Agenta llm tracing object. @@ -112,10 +47,11 @@ def __init__( self.tasks_manager = TaskQueue( max_workers if max_workers else 4, logger=llm_logger ) - self.active_span = None + self.active_span = CreateSpan self.active_trace = None + self.recorded_spans: List[CreateSpan] = [] self.tags: List[str] = [] - self.span_dict: Dict[str, Span] = {} # type: ignore + self.span_dict: Dict[str, CreateSpan] = {} # type: ignore @property def client(self) -> AsyncObservabilityClient: @@ -132,50 +68,96 @@ def client(self) -> AsyncObservabilityClient: def set_span_attribute( self, parent_key: Optional[str] = None, attributes: Dict[str, Any] = {} ): - span = self.span_dict[self.active_span] # type: ignore + span = self.span_dict[self.active_span.id] # type: ignore for key, value in attributes.items(): - span.set_attribute(key, value, parent_key) + self.set_attribute(span.attributes, key, value, parent_key) + + def set_attribute( + self, + span_attributes: Dict[str, Any], + key: str, + value: Any, + parent_key: Optional[str] = None, + ): + if parent_key is not None: + model_config = span_attributes.get(parent_key, None) + if not model_config: + span_attributes[parent_key] = {} + span_attributes[parent_key][key] = value + else: + span_attributes[key] = value def set_trace_tags(self, tags: List[str]): self.tags.extend(tags) + def start_parent_span( + self, name: str, inputs: Dict[str, Any], config: Dict[str, Any] + ): + trace_id = self._create_trace_id() + span_id = self._create_span_id() + span = CreateSpan( + **{ + "id": span_id, + "app_id": self.app_id, + "variant_id": self.variant_id, + "inputs": inputs, + "name": name, + "config": config, + "spankind": SpanKind.WORKFLOW, + "status": SpanStatusCode.UNSET, + "start_time": datetime.now(timezone.utc), + } + ) + self.active_span = span + self.active_trace = trace_id + self.parent_span_id = span_id + def start_span( self, name: str, + spankind: str, input: Dict[str, Any], - type: str, - trace_id: Optional[str] = None, - parent_span_id: Optional[str] = None, - **kwargs: Dict[str, Any], - ) -> Span: - trace_id = trace_id if trace_id else self._create_trace_id() + config: Dict[str, Any] = {}, + ): span_id = self._create_span_id() - parent_span_id = self.active_span if not parent_span_id else parent_span_id - span = Span( - trace_id=trace_id, - span_id=span_id, - name=name, - type=type, - parent_span_id=parent_span_id, - input=input, - **kwargs, + span = CreateSpan( + **{ + "id": span_id, + "inputs": input, + "name": name, + "config": config, + "parent_span_id": self.parent_span_id, + "spankind": spankind, + "status": SpanStatusCode.UNSET, + "start_time": datetime.now(timezone.utc), + } ) - self.span_dict[span_id] = span - self.active_span = span_id # type: ignore - self.llm_logger.info(f"Creating span {span.span_id}...") - return span - - def end_span(self, output: Dict[str, Any], span: Span): - span.end(output=output) - self.active_span = span.parent_span_id # type: ignore + self.active_span = span + self.active_trace = self.active_trace + self.parent_span_id = span_id + + def end_span(self, outputs: Dict[str, Any], span: CreateSpan, **kwargs): + span.end_time = datetime.now(timezone.utc) + span.outputs = [outputs["message"]] + span.cost = outputs.get("cost", 0) + span.environment = kwargs.get("environment") + span.attributes = kwargs + span.tokens = outputs.get("usage", {}) + + # Push span to list of recorded spans + self.recorded_spans.append(span) + + def end_recording(self, outputs: Dict[str, Any], span: CreateSpan, **kwargs): + self.end_span(outputs=outputs, span=span, **kwargs) self.tasks_manager.add_task( - span.span_id, "span", self._send_span(span=span), self.client + self.active_trace, + "trace", + self.client.create_traces(trace="trace", spans=self.recorded_spans), + self.client, + ) + self.llm_logger.info( + f"Tracing for {span.id} recorded successfully and sent for processing." ) - self.parent_span_id = span.span_id - self.llm_logger.info(f"Created span {span.span_id} successfully.") - - async def _send_span(self, span: Span): - return await self.client.create_span(**span.__dict__()) def _create_trace_id(self) -> str: """Creates a unique mongo id for the trace object. @@ -194,64 +176,3 @@ def _create_span_id(self) -> str: """ return str(ObjectId()) - - def trace( - self, - trace_name: Optional[str], - inputs: Dict[str, Any], - config: Dict[str, Any], - **kwargs: Dict[str, Any], - ): - """Creates a new trace. - - Args: - trace_name (Optional[str]): The identifier for the trace. - app_id (str): The ID of the app. - config (Dict): The configuration of the app. - **kwargs (Dict): Additional information. - """ - - trace_id = self._create_trace_id() - self.llm_logger.info(f"Starting tracing for trace {trace_id}...") - self.tasks_manager.add_task( - trace_id, - "trace", - self.client.create_trace( - id=trace_id, - app_id=self.app_id, - variant_id=self.variant_id, - trace_name=trace_name, # type: ignore - start_time=datetime.now(timezone.utc), - inputs=inputs, - config=config, - environment=kwargs.get("environment"), # type: ignore - status="INITIATED", - tags=self.tags, - ), - self.client, - ) - self.active_trace = trace_id # type: ignore - self.llm_logger.info(f"Trace {trace_id} ended successfully.") - - def end_trace( - self, - outputs: List[str], - cost: Optional[float] = None, - total_tokens: Optional[int] = None, - ): - if not self.active_trace: - return - - self.tasks_manager.add_task( - self.active_trace, - "trace", - self.client.update_trace( - trace_id=self.active_trace, # type: ignore - status="COMPLETED", - end_time=datetime.now(timezone.utc), - cost=cost, - token_consumption=total_tokens, - outputs=outputs, - ), - self.client, - ) diff --git a/agenta-cli/agenta/sdk/tracing/tasks_manager.py b/agenta-cli/agenta/sdk/tracing/tasks_manager.py index ac54dbe435..928ee714f2 100644 --- a/agenta-cli/agenta/sdk/tracing/tasks_manager.py +++ b/agenta-cli/agenta/sdk/tracing/tasks_manager.py @@ -1,11 +1,9 @@ # Stdlib Imports import queue import asyncio -import threading from logging import Logger -from datetime import datetime -from typing import Coroutine, Optional, Union, Dict, Any -from concurrent.futures import ThreadPoolExecutor, Future +from typing import Coroutine, Optional, Union +from concurrent.futures import ThreadPoolExecutor # Own Imports from agenta.client.backend.types.error import Error @@ -108,36 +106,12 @@ def _worker(self): future.result() except Exception as exc: self._logger.error(f"Error running task: {str(exc)}") - - self._logger.error(f"Updating {task.coroutine_type} status to FAILED.") - self._handle_error_completion( - client=task.client, - trace=task.coroutine_id, - type=task.coroutine_type, - exc=exc, - ) + self._logger.error(f"Recording trace {task.coroutine_type} status to ERROR.") break finally: self.tasks.task_done() break - def _handle_error_completion( - self, client: AsyncObservabilityClient, trace: str, type: str, exc: Exception - ): - if type == None: - return - - if type == "trace": - task = client.update_trace( - trace_id=trace, # type: ignore - status="FAILED", - end_time=datetime.now(), - outputs=[str(exc)], - ) - - future = self._thread_pool.submit(asyncio.run, task) # type: ignore - future.result() - def _get_size(self) -> int: """Returns the approximate number of items in the queue.""" From 2861e6d78cebbac8d98bf7bf8f43cb8c22e6f5f7 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 12 Apr 2024 07:47:56 +0100 Subject: [PATCH 402/539] Refactor - update tracing sdk --- .../client/backend/types/create_span.py | 6 +- agenta-cli/agenta/sdk/tracing/decorators.py | 14 +- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 74 ++++---- .../agenta/sdk/tracing/tasks_manager.py | 4 +- agenta-cli/poetry.lock | 168 +++++++++--------- agenta-cli/pyproject.toml | 1 + 6 files changed, 140 insertions(+), 127 deletions(-) diff --git a/agenta-cli/agenta/client/backend/types/create_span.py b/agenta-cli/agenta/client/backend/types/create_span.py index 65daaf1ba9..6d2f0abd77 100644 --- a/agenta-cli/agenta/client/backend/types/create_span.py +++ b/agenta-cli/agenta/client/backend/types/create_span.py @@ -27,11 +27,11 @@ class CreateSpan(pydantic.BaseModel): name: str parent_span_id: typing.Optional[str] attributes: typing.Optional[typing.Dict[str, typing.Any]] - spankind: SpanKind - status: SpanStatusCode + spankind: str + status: str user: typing.Optional[str] start_time: dt.datetime - end_time: dt.datetime + end_time: typing.Optional[dt.datetime] tokens: typing.Optional[LlmTokens] cost: typing.Optional[float] diff --git a/agenta-cli/agenta/sdk/tracing/decorators.py b/agenta-cli/agenta/sdk/tracing/decorators.py index af799d5876..338033be9b 100644 --- a/agenta-cli/agenta/sdk/tracing/decorators.py +++ b/agenta-cli/agenta/sdk/tracing/decorators.py @@ -16,10 +16,9 @@ def decorator(func): async def wrapper(*args, **kwargs): result = None span = tracing.start_span( - func.__name__, + name=func.__name__, input=kwargs, - type=type, - trace_id=tracing.active_trace, + spankind=type, ) try: is_coroutine_function = inspect.iscoroutinefunction(func) @@ -27,15 +26,14 @@ async def wrapper(*args, **kwargs): result = await func(*args, **kwargs) else: result = func(*args, **kwargs) - span.update_span_status("COMPLETED") + tracing.update_span_status(span=span, value="OK") except Exception as e: - span.set_attribute("error", True) - span.set_attribute("error_message", str(e)) - span.update_span_status("FAILED", exc=str(e)) + result = str(e) + tracing.update_span_status(span=span, value="ERROR") finally: if not isinstance(result, dict): result = {"message": result} - tracing.end_span(output=result, span=span) + tracing.end_span(outputs=result, span=span) return result return wrapper diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index b1c03a95ca..e722d0c8d1 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -3,9 +3,9 @@ from typing import Optional, Dict, Any, List # Own Imports -from agenta.client.backend import client from agenta.sdk.tracing.logger import llm_logger from agenta.sdk.tracing.tasks_manager import TaskQueue +from agenta.client.backend.client import AsyncAgentaApi from agenta.client.backend.client import AsyncObservabilityClient from agenta.client.backend.types.create_span import CreateSpan, SpanKind, SpanStatusCode @@ -61,7 +61,7 @@ def client(self) -> AsyncObservabilityClient: AsyncObservabilityClient: async client """ - return client.AsyncAgentaApi( + return AsyncAgentaApi( base_url=self.base_url, api_key=self.api_key, timeout=120 # type: ignore ).observability @@ -95,18 +95,17 @@ def start_parent_span( ): trace_id = self._create_trace_id() span_id = self._create_span_id() + self.llm_logger.info("Recording parent span...") span = CreateSpan( - **{ - "id": span_id, - "app_id": self.app_id, - "variant_id": self.variant_id, - "inputs": inputs, - "name": name, - "config": config, - "spankind": SpanKind.WORKFLOW, - "status": SpanStatusCode.UNSET, - "start_time": datetime.now(timezone.utc), - } + id=span_id, + app_id=self.app_id, + variant_id=self.variant_id, + inputs=inputs, + name=name, + config=config, + spankind=SpanKind.WORKFLOW.value, + status=SpanStatusCode.UNSET.value, + start_time=datetime.now(timezone.utc), ) self.active_span = span self.active_trace = trace_id @@ -118,37 +117,50 @@ def start_span( spankind: str, input: Dict[str, Any], config: Dict[str, Any] = {}, - ): + ) -> CreateSpan: span_id = self._create_span_id() + self.llm_logger.info(f"Recording {spankind} span...") span = CreateSpan( - **{ - "id": span_id, - "inputs": input, - "name": name, - "config": config, - "parent_span_id": self.parent_span_id, - "spankind": spankind, - "status": SpanStatusCode.UNSET, - "start_time": datetime.now(timezone.utc), - } + id=span_id, + inputs=input, + name=name, + config=config, + parent_span_id=self.parent_span_id, + spankind=spankind.upper(), + attributes={}, + status=SpanStatusCode.UNSET.value, + start_time=datetime.now(timezone.utc), ) + self.active_span = span + self.span_dict[span.id] = span self.active_trace = self.active_trace self.parent_span_id = span_id + return span + + def update_span_status(self, span: CreateSpan, value: str): + updated_span = CreateSpan(**{**span.dict(), "status": value}) + self.active_span = updated_span def end_span(self, outputs: Dict[str, Any], span: CreateSpan, **kwargs): - span.end_time = datetime.now(timezone.utc) - span.outputs = [outputs["message"]] - span.cost = outputs.get("cost", 0) - span.environment = kwargs.get("environment") - span.attributes = kwargs - span.tokens = outputs.get("usage", {}) + updated_span = CreateSpan( + **span.dict(), + end_time=datetime.now(timezone.utc), + outputs=[outputs["message"]], + cost=outputs.get("cost", None), + environment=kwargs.get("environment"), + tokens=outputs.get("usage"), + ) # Push span to list of recorded spans - self.recorded_spans.append(span) + self.recorded_spans.append(updated_span) + self.llm_logger.info(f"Pushed {updated_span.spankind} span to recorded spans.") def end_recording(self, outputs: Dict[str, Any], span: CreateSpan, **kwargs): self.end_span(outputs=outputs, span=span, **kwargs) + + self.llm_logger.info(f"Preparing to send recorded spans for processing.") + self.llm_logger.info(f"Recorded spans: ", self.recorded_spans) self.tasks_manager.add_task( self.active_trace, "trace", diff --git a/agenta-cli/agenta/sdk/tracing/tasks_manager.py b/agenta-cli/agenta/sdk/tracing/tasks_manager.py index 928ee714f2..a7d807f995 100644 --- a/agenta-cli/agenta/sdk/tracing/tasks_manager.py +++ b/agenta-cli/agenta/sdk/tracing/tasks_manager.py @@ -106,7 +106,9 @@ def _worker(self): future.result() except Exception as exc: self._logger.error(f"Error running task: {str(exc)}") - self._logger.error(f"Recording trace {task.coroutine_type} status to ERROR.") + self._logger.error( + f"Recording trace {task.coroutine_type} status to ERROR." + ) break finally: self.tasks.task_done() diff --git a/agenta-cli/poetry.lock b/agenta-cli/poetry.lock index 8b6050ea60..0210e4c006 100644 --- a/agenta-cli/poetry.lock +++ b/agenta-cli/poetry.lock @@ -705,93 +705,93 @@ windows-terminal = ["colorama (>=0.4.6)"] [[package]] name = "pymongo" -version = "4.6.2" +version = "4.6.3" description = "Python driver for MongoDB " optional = false python-versions = ">=3.7" files = [ - {file = "pymongo-4.6.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:7640d176ee5b0afec76a1bda3684995cb731b2af7fcfd7c7ef8dc271c5d689af"}, - {file = "pymongo-4.6.2-cp310-cp310-manylinux1_i686.whl", hash = "sha256:4e2129ec8f72806751b621470ac5d26aaa18fae4194796621508fa0e6068278a"}, - {file = "pymongo-4.6.2-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:c43205e85cbcbdf03cff62ad8f50426dd9d20134a915cfb626d805bab89a1844"}, - {file = "pymongo-4.6.2-cp310-cp310-manylinux2014_i686.whl", hash = "sha256:91ddf95cedca12f115fbc5f442b841e81197d85aa3cc30b82aee3635a5208af2"}, - {file = "pymongo-4.6.2-cp310-cp310-manylinux2014_ppc64le.whl", hash = "sha256:0fbdbf2fba1b4f5f1522e9f11e21c306e095b59a83340a69e908f8ed9b450070"}, - {file = "pymongo-4.6.2-cp310-cp310-manylinux2014_s390x.whl", hash = "sha256:097791d5a8d44e2444e0c8c4d6e14570ac11e22bcb833808885a5db081c3dc2a"}, - {file = "pymongo-4.6.2-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:e0b208ebec3b47ee78a5c836e2e885e8c1e10f8ffd101aaec3d63997a4bdcd04"}, - {file = "pymongo-4.6.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:1849fd6f1917b4dc5dbf744b2f18e41e0538d08dd8e9ba9efa811c5149d665a3"}, - {file = "pymongo-4.6.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fa0bbbfbd1f8ebbd5facaa10f9f333b20027b240af012748555148943616fdf3"}, - {file = "pymongo-4.6.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4522ad69a4ab0e1b46a8367d62ad3865b8cd54cf77518c157631dac1fdc97584"}, - {file = "pymongo-4.6.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:397949a9cc85e4a1452f80b7f7f2175d557237177120954eff00bf79553e89d3"}, - {file = "pymongo-4.6.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9d511db310f43222bc58d811037b176b4b88dc2b4617478c5ef01fea404f8601"}, - {file = "pymongo-4.6.2-cp310-cp310-win32.whl", hash = "sha256:991e406db5da4d89fb220a94d8caaf974ffe14ce6b095957bae9273c609784a0"}, - {file = "pymongo-4.6.2-cp310-cp310-win_amd64.whl", hash = "sha256:94637941fe343000f728e28d3fe04f1f52aec6376b67b85583026ff8dab2a0e0"}, - {file = "pymongo-4.6.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:84593447a5c5fe7a59ba86b72c2c89d813fbac71c07757acdf162fbfd5d005b9"}, - {file = "pymongo-4.6.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:9aebddb2ec2128d5fc2fe3aee6319afef8697e0374f8a1fcca3449d6f625e7b4"}, - {file = "pymongo-4.6.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1f706c1a644ed33eaea91df0a8fb687ce572b53eeb4ff9b89270cb0247e5d0e1"}, - {file = "pymongo-4.6.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:18c422e6b08fa370ed9d8670c67e78d01f50d6517cec4522aa8627014dfa38b6"}, - {file = "pymongo-4.6.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0d002ae456a15b1d790a78bb84f87af21af1cb716a63efb2c446ab6bcbbc48ca"}, - {file = "pymongo-4.6.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:9f86ba0c781b497a3c9c886765d7b6402a0e3ae079dd517365044c89cd7abb06"}, - {file = "pymongo-4.6.2-cp311-cp311-win32.whl", hash = "sha256:ac20dd0c7b42555837c86f5ea46505f35af20a08b9cf5770cd1834288d8bd1b4"}, - {file = "pymongo-4.6.2-cp311-cp311-win_amd64.whl", hash = "sha256:e78af59fd0eb262c2a5f7c7d7e3b95e8596a75480d31087ca5f02f2d4c6acd19"}, - {file = "pymongo-4.6.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:6125f73503407792c8b3f80165f8ab88a4e448d7d9234c762681a4d0b446fcb4"}, - {file = "pymongo-4.6.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ba052446a14bd714ec83ca4e77d0d97904f33cd046d7bb60712a6be25eb31dbb"}, - {file = "pymongo-4.6.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:2b65433c90e07dc252b4a55dfd885ca0df94b1cf77c5b8709953ec1983aadc03"}, - {file = "pymongo-4.6.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2160d9c8cd20ce1f76a893f0daf7c0d38af093f36f1b5c9f3dcf3e08f7142814"}, - {file = "pymongo-4.6.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1f251f287e6d42daa3654b686ce1fcb6d74bf13b3907c3ae25954978c70f2cd4"}, - {file = "pymongo-4.6.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d7d227a60b00925dd3aeae4675575af89c661a8e89a1f7d1677e57eba4a3693c"}, - {file = "pymongo-4.6.2-cp312-cp312-win32.whl", hash = "sha256:311794ef3ccae374aaef95792c36b0e5c06e8d5cf04a1bdb1b2bf14619ac881f"}, - {file = "pymongo-4.6.2-cp312-cp312-win_amd64.whl", hash = "sha256:f673b64a0884edcc56073bda0b363428dc1bf4eb1b5e7d0b689f7ec6173edad6"}, - {file = "pymongo-4.6.2-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:fe010154dfa9e428bd2fb3e9325eff2216ab20a69ccbd6b5cac6785ca2989161"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:1f5f4cd2969197e25b67e24d5b8aa2452d381861d2791d06c493eaa0b9c9fcfe"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:c9519c9d341983f3a1bd19628fecb1d72a48d8666cf344549879f2e63f54463b"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:c68bf4a399e37798f1b5aa4f6c02886188ef465f4ac0b305a607b7579413e366"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:a509db602462eb736666989739215b4b7d8f4bb8ac31d0bffd4be9eae96c63ef"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:362a5adf6f3f938a8ff220a4c4aaa93e84ef932a409abecd837c617d17a5990f"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:ee30a9d4c27a88042d0636aca0275788af09cc237ae365cd6ebb34524bddb9cc"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:477914e13501bb1d4608339ee5bb618be056d2d0e7267727623516cfa902e652"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ebd343ca44982d480f1e39372c48e8e263fc6f32e9af2be456298f146a3db715"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:c3797e0a628534e07a36544d2bfa69e251a578c6d013e975e9e3ed2ac41f2d95"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:97d81d357e1a2a248b3494d52ebc8bf15d223ee89d59ee63becc434e07438a24"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:ed694c0d1977cb54281cb808bc2b247c17fb64b678a6352d3b77eb678ebe1bd9"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ceaaff4b812ae368cf9774989dea81b9bbb71e5bed666feca6a9f3087c03e49"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:7dd63f7c2b3727541f7f37d0fb78d9942eb12a866180fbeb898714420aad74e2"}, - {file = "pymongo-4.6.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:e571434633f99a81e081738721bb38e697345281ed2f79c2f290f809ba3fbb2f"}, - {file = "pymongo-4.6.2-cp37-cp37m-win32.whl", hash = "sha256:3e9f6e2f3da0a6af854a3e959a6962b5f8b43bbb8113cd0bff0421c5059b3106"}, - {file = "pymongo-4.6.2-cp37-cp37m-win_amd64.whl", hash = "sha256:3a5280f496297537301e78bde250c96fadf4945e7b2c397d8bb8921861dd236d"}, - {file = "pymongo-4.6.2-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:5f6bcd2d012d82d25191a911a239fd05a8a72e8c5a7d81d056c0f3520cad14d1"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux1_i686.whl", hash = "sha256:4fa30494601a6271a8b416554bd7cde7b2a848230f0ec03e3f08d84565b4bf8c"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:bea62f03a50f363265a7a651b4e2a4429b4f138c1864b2d83d4bf6f9851994be"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:b2d445f1cf147331947cc35ec10342f898329f29dd1947a3f8aeaf7e0e6878d1"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:5db133d6ec7a4f7fc7e2bd098e4df23d7ad949f7be47b27b515c9fb9301c61e4"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:9eec7140cf7513aa770ea51505d312000c7416626a828de24318fdcc9ac3214c"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:5379ca6fd325387a34cda440aec2bd031b5ef0b0aa2e23b4981945cff1dab84c"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:579508536113dbd4c56e4738955a18847e8a6c41bf3c0b4ab18b51d81a6b7be8"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f3bae553ca39ed52db099d76acd5e8566096064dc7614c34c9359bb239ec4081"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:d0257e0eebb50f242ca28a92ef195889a6ad03dcdde5bf1c7ab9f38b7e810801"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:fbafe3a1df21eeadb003c38fc02c1abf567648b6477ec50c4a3c042dca205371"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aaecfafb407feb6f562c7f2f5b91f22bfacba6dd739116b1912788cff7124c4a"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e942945e9112075a84d2e2d6e0d0c98833cdcdfe48eb8952b917f996025c7ffa"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2f7b98f8d2cf3eeebde738d080ae9b4276d7250912d9751046a9ac1efc9b1ce2"}, - {file = "pymongo-4.6.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:8110b78fc4b37dced85081d56795ecbee6a7937966e918e05e33a3900e8ea07d"}, - {file = "pymongo-4.6.2-cp38-cp38-win32.whl", hash = "sha256:df813f0c2c02281720ccce225edf39dc37855bf72cdfde6f789a1d1cf32ffb4b"}, - {file = "pymongo-4.6.2-cp38-cp38-win_amd64.whl", hash = "sha256:64ec3e2dcab9af61bdbfcb1dd863c70d1b0c220b8e8ac11df8b57f80ee0402b3"}, - {file = "pymongo-4.6.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:bff601fbfcecd2166d9a2b70777c2985cb9689e2befb3278d91f7f93a0456cae"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux1_i686.whl", hash = "sha256:f1febca6f79e91feafc572906871805bd9c271b6a2d98a8bb5499b6ace0befed"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:d788cb5cc947d78934be26eef1623c78cec3729dc93a30c23f049b361aa6d835"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:5c2f258489de12a65b81e1b803a531ee8cf633fa416ae84de65cd5f82d2ceb37"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:fb24abcd50501b25d33a074c1790a1389b6460d2509e4b240d03fd2e5c79f463"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:4d982c6db1da7cf3018183891883660ad085de97f21490d314385373f775915b"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:b2dd8c874927a27995f64a3b44c890e8a944c98dec1ba79eab50e07f1e3f801b"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:4993593de44c741d1e9f230f221fe623179f500765f9855936e4ff6f33571bad"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:658f6c028edaeb02761ebcaca8d44d519c22594b2a51dcbc9bd2432aa93319e3"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:68109c13176749fbbbbbdb94dd4a58dcc604db6ea43ee300b2602154aebdd55f"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:707d28a822b918acf941cff590affaddb42a5d640614d71367c8956623a80cbc"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:f251db26c239aec2a4d57fbe869e0a27b7f6b5384ec6bf54aeb4a6a5e7408234"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:57c05f2e310701fc17ae358caafd99b1830014e316f0242d13ab6c01db0ab1c2"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:2b575fbe6396bbf21e4d0e5fd2e3cdb656dc90c930b6c5532192e9a89814f72d"}, - {file = "pymongo-4.6.2-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:ca5877754f3fa6e4fe5aacf5c404575f04c2d9efc8d22ed39576ed9098d555c8"}, - {file = "pymongo-4.6.2-cp39-cp39-win32.whl", hash = "sha256:8caa73fb19070008e851a589b744aaa38edd1366e2487284c61158c77fdf72af"}, - {file = "pymongo-4.6.2-cp39-cp39-win_amd64.whl", hash = "sha256:3e03c732cb64b96849310e1d8688fb70d75e2571385485bf2f1e7ad1d309fa53"}, - {file = "pymongo-4.6.2.tar.gz", hash = "sha256:ab7d01ac832a1663dad592ccbd92bb0f0775bc8f98a1923c5e1a7d7fead495af"}, + {file = "pymongo-4.6.3-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:e344d0afdd7c06c1f1e66a4736593293f432defc2191e6b411fc9c82fa8c5adc"}, + {file = "pymongo-4.6.3-cp310-cp310-manylinux1_i686.whl", hash = "sha256:731a92dfc4022db763bfa835c6bd160f2d2cba6ada75749c2ed500e13983414b"}, + {file = "pymongo-4.6.3-cp310-cp310-manylinux2014_aarch64.whl", hash = "sha256:c4726e36a2f7e92f09f5b8e92ba4db7525daffe31a0dcbcf0533edc0ade8c7d8"}, + {file = "pymongo-4.6.3-cp310-cp310-manylinux2014_i686.whl", hash = "sha256:00e6cfce111883ca63a3c12878286e0b89871f4b840290e61fb6f88ee0e687be"}, + {file = "pymongo-4.6.3-cp310-cp310-manylinux2014_ppc64le.whl", hash = "sha256:cc7a26edf79015c58eea46feb5b262cece55bc1d4929a8a9e0cbe7e6d6a9b0eb"}, + {file = "pymongo-4.6.3-cp310-cp310-manylinux2014_s390x.whl", hash = "sha256:4955be64d943b30f2a7ff98d818ca530f7cb37450bc6b32c37e0e74821907ef8"}, + {file = "pymongo-4.6.3-cp310-cp310-manylinux2014_x86_64.whl", hash = "sha256:af039afc6d787502c02089759778b550cb2f25dbe2780f5b050a2e37031c3fbf"}, + {file = "pymongo-4.6.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:ccc15a7c7a99aed7d0831eaf78a607f1db0c7a255f96e3d18984231acd72f70c"}, + {file = "pymongo-4.6.3-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:8e97c138d811e9367723fcd07c4402a9211caae20479fdd6301d57762778a69f"}, + {file = "pymongo-4.6.3-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:ebcc145c74d06296ce0cad35992185064e5cb2aadef719586778c144f0cd4d37"}, + {file = "pymongo-4.6.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:664c64b6bdb31aceb80f0556951e5e2bf50d359270732268b4e7af00a1cf5d6c"}, + {file = "pymongo-4.6.3-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e4056bc421d4df2c61db4e584415f2b0f1eebb92cbf9222f7f38303467c37117"}, + {file = "pymongo-4.6.3-cp310-cp310-win32.whl", hash = "sha256:cdbea2aac1a4caa66ee912af3601557d2bda2f9f69feec83601c78c7e53ece64"}, + {file = "pymongo-4.6.3-cp310-cp310-win_amd64.whl", hash = "sha256:6cec7279e5a1b74b257d0270a8c97943d745811066630a6bc6beb413c68c6a33"}, + {file = "pymongo-4.6.3-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:138b9fa18d40401c217bc038a48bcde4160b02d36d8632015b1804971a2eaa2f"}, + {file = "pymongo-4.6.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:60931b0e07448afe8866ffff764cd5bf4b1a855dc84c7dcb3974c6aa6a377a59"}, + {file = "pymongo-4.6.3-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9b35f8bded43ff91475305445fedf0613f880ff7e25c75ae1028e1260a9b7a86"}, + {file = "pymongo-4.6.3-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:872bad5c83f7eec9da11e1fef5f858c6a4c79fe4a83c7780e7b0fe95d560ae3f"}, + {file = "pymongo-4.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:c2ad3e5bfcd345c0bfe9af69a82d720860b5b043c1657ffb513c18a0dee19c19"}, + {file = "pymongo-4.6.3-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0e208f2ab7b495eff8fd175022abfb0abce6307ac5aee3f4de51fc1a459b71c9"}, + {file = "pymongo-4.6.3-cp311-cp311-win32.whl", hash = "sha256:4670edbb5ddd71a4d555668ef99b032a5f81b59e4145d66123aa0d831eac7883"}, + {file = "pymongo-4.6.3-cp311-cp311-win_amd64.whl", hash = "sha256:1c2761302b6cbfd12e239ce1b8061d4cf424a361d199dcb32da534985cae9350"}, + {file = "pymongo-4.6.3-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:722f2b709b63311c0efda4fa4c603661faa4bec6bad24a6cc41a3bc6d841bf09"}, + {file = "pymongo-4.6.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:994386a4d6ad39e18bcede6dc8d1d693ec3ed897b88f86b1841fbc37227406da"}, + {file = "pymongo-4.6.3-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:391aea047bba928006114282f175bc8d09c53fe1b7d8920bf888325e229302fe"}, + {file = "pymongo-4.6.3-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f4330c022024e7994b630199cdae909123e4b0e9cf15335de71b146c0f6a2435"}, + {file = "pymongo-4.6.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:01277a7e183c59081368e4efbde2b8f577014431b257959ca98d3a4e8682dd51"}, + {file = "pymongo-4.6.3-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:d30d5d7963453b478016bf7b0d87d7089ca24d93dbdecfbc9aa32f1b4772160a"}, + {file = "pymongo-4.6.3-cp312-cp312-win32.whl", hash = "sha256:a023804a3ac0f85d4510265b60978522368b5815772262e61e3a2222a8b315c9"}, + {file = "pymongo-4.6.3-cp312-cp312-win_amd64.whl", hash = "sha256:2a6ae9a600bbc2dbff719c98bf5da584fb8a4f2bb23729a09be2e9c3dbc61c8a"}, + {file = "pymongo-4.6.3-cp37-cp37m-macosx_10_6_intel.whl", hash = "sha256:3b909e5b1864de01510079b39bbdc480720c37747be5552b354bc73f02c24a3c"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux1_i686.whl", hash = "sha256:48c60bd32ec141c0d45d8471179430003d9fb4490da181b8165fb1dce9cc255c"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux1_x86_64.whl", hash = "sha256:36d7049fc183fe4edda3eae7f66ea14c660921429e082fe90b4b7f4dc6664a70"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux2014_aarch64.whl", hash = "sha256:18e5c161b18660f1c9d1f78236de45520a436be65e42b7bb51f25f74ad22bdde"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux2014_i686.whl", hash = "sha256:e458e6fc2b7dd40d15cda04898bd2d8c9ff7ae086c516bc261628d54eb4e3158"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux2014_ppc64le.whl", hash = "sha256:e420e74c6db4594a6d09f39b58c0772679006cb0b4fc40901ba608794d87dad2"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux2014_s390x.whl", hash = "sha256:9c9340c7161e112e36ebb97fbba1cdbe7db3dfacb694d2918b1f155a01f3d859"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux2014_x86_64.whl", hash = "sha256:26d036e0f5de09d0b21d0fc30314fcf2ae6359e4d43ae109aa6cf27b4ce02d30"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b7cf28d9c90e40d4e385b858e4095739829f466f23e08674085161d86bb4bb10"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9066dff9dc0a182478ca5885d0b8a2b820b462e19459ada109df7a3ced31b272"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e1e1586ebdebe0447a24842480defac17c496430a218486c96e2da3f164c0f05"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8b3853fb66bf34ce1b6e573e1bbb3cb28763be9d1f57758535757faf1ab2f24a"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:462684a6f5ce6f2661c30eab4d1d459231e0eed280f338e716e31a24fc09ccb3"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0a4ea44e5a913bdb7c9abd34c69e9fcfac10dfaf49765463e0dc1ea922dd2a9d"}, + {file = "pymongo-4.6.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:098d420a8214ad25f872de7e8b309441995d12ece0376218a04d9ed5d2222cf3"}, + {file = "pymongo-4.6.3-cp37-cp37m-win32.whl", hash = "sha256:7330245253fbe2e09845069d2f4d35dd27f63e377034c94cb0ddac18bc8b0d82"}, + {file = "pymongo-4.6.3-cp37-cp37m-win_amd64.whl", hash = "sha256:151361c101600a85cb1c1e0db4e4b28318b521fcafa9b62d389f7342faaaee80"}, + {file = "pymongo-4.6.3-cp38-cp38-macosx_11_0_universal2.whl", hash = "sha256:4d167d546352869125dc86f6fda6dffc627d8a9c8963eaee665825f2520d542b"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux1_i686.whl", hash = "sha256:eaf3d594ebfd5e1f3503d81e06a5d78e33cda27418b36c2491c3d4ad4fca5972"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux1_x86_64.whl", hash = "sha256:7ee79e02a7c5ed34706ecb5dad19e6c7d267cf86d28c075ef3127c58f3081279"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux2014_aarch64.whl", hash = "sha256:af5c5112db04cf62a5d9d224a24f289aaecb47d152c08a457cca81cee061d5bd"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux2014_i686.whl", hash = "sha256:6b5aec78aa4840e8d6c3881900259892ab5733a366696ca10d99d68c3d73eaaf"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux2014_ppc64le.whl", hash = "sha256:9757602fb45c8ecc1883fe6db7c59c19d87eb3c645ec9342d28a6026837da931"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux2014_s390x.whl", hash = "sha256:dde9fb6e105ce054339256a8b7a9775212ebb29596ef4e402d7bbc63b354d202"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux2014_x86_64.whl", hash = "sha256:7df8b166d3db6cfead4cf55b481408d8f0935d8bd8d6dbf64507c49ef82c7200"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:53451190b8628e1ce7d1fe105dc376c3f10705127bd3b51fe3e107b9ff1851e6"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:75107a386d4ccf5291e75cce8ca3898430e7907f4cc1208a17c9efad33a1ea84"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:4a0660ce32d8459b7f12dc3ca0141528fead62d3cce31b548f96f30902074cc0"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:aa310096450e9c461b7dfd66cbc1c41771fe36c06200440bb3e062b1d4a06b6e"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:5f465cca9b178e7bb782f952dd58e9e92f8ba056e585959465f2bb50feddef5f"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:c67c19f653053ef2ebd7f1837c2978400058d6d7f66ec5760373a21eaf660158"}, + {file = "pymongo-4.6.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:c701de8e483fb5e53874aab642235361aac6de698146b02c644389eaa8c137b6"}, + {file = "pymongo-4.6.3-cp38-cp38-win32.whl", hash = "sha256:90525454546536544307e6da9c81f331a71a1b144e2d038fec587cc9f9250285"}, + {file = "pymongo-4.6.3-cp38-cp38-win_amd64.whl", hash = "sha256:3e1ba5a037c526a3f4060c28f8d45d71ed9626e2bf954b0cd9a8dcc3b45172ee"}, + {file = "pymongo-4.6.3-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:14a82593528cddc93cfea5ee78fac95ae763a3a4e124ca79ee0b24fbbc6da1c9"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux1_i686.whl", hash = "sha256:cd6c15242d9306ff1748681c3235284cbe9f807aeaa86cd17d85e72af626e9a7"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux1_x86_64.whl", hash = "sha256:6de33f1b2eed91b802ec7abeb92ffb981d052f3604b45588309aae9e0f6e3c02"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux2014_aarch64.whl", hash = "sha256:0182899aafe830f25cf96c5976d724efeaaf7b6646c15424ad8dd25422b2efe1"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux2014_i686.whl", hash = "sha256:8d0ea740a2faa56f930dc82c5976d96c017ece26b29a1cddafb58721c7aab960"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux2014_ppc64le.whl", hash = "sha256:5c8a4982f5eb767c6fbfb8fb378683d09bcab7c3251ba64357eef600d43f6c23"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux2014_s390x.whl", hash = "sha256:becfa816545a48c8e740ac2fd624c1c121e1362072d68ffcf37a6b1be8ea187e"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux2014_x86_64.whl", hash = "sha256:ff7d1f449fcad23d9bc8e8dc2b9972be38bcd76d99ea5f7d29b2efa929c2a7ff"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:e097f877de4d6af13a33ef938bf2a2350f424be5deabf8b857da95f5b080487a"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:705a9bfd619301ee7e985d6f91f68b15dfcb2f6f36b8cc225cc82d4260d2bce5"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:2ef1b4992ee1cb8bb16745e70afa0c02c5360220a7a8bb4775888721f052d0a6"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b3d10bdd46cbc35a2109737d36ffbef32e7420569a87904738ad444ccb7ac2c5"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:17c1c143ba77d6e21fc8b48e93f0a5ed982a23447434e9ee4fbb6d633402506b"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:9e51e30d67b468a2a634ade928b30cb3e420127f148a9aec60de33f39087bdc4"}, + {file = "pymongo-4.6.3-cp39-cp39-manylinux_2_5_x86_64.manylinux1_x86_64.whl", hash = "sha256:bec8e4e88984be157408f1923d25869e1b575c07711cdbdde596f66931800934"}, + {file = "pymongo-4.6.3-cp39-cp39-win32.whl", hash = "sha256:98877a9c4ad42df8253a12d8d17a3265781d1feb5c91c767bd153f88feb0b670"}, + {file = "pymongo-4.6.3-cp39-cp39-win_amd64.whl", hash = "sha256:6d5b35da9e16cda630baed790ffc3d0d01029d269523a7cec34d2ec7e6823e75"}, + {file = "pymongo-4.6.3.tar.gz", hash = "sha256:400074090b9a631f120b42c61b222fd743490c133a5d2f99c0208cefcccc964e"}, ] [package.dependencies] @@ -1101,4 +1101,4 @@ testing = ["big-O", "jaraco.functools", "jaraco.itertools", "more-itertools", "p [metadata] lock-version = "2.0" python-versions = "^3.9" -content-hash = "30bc8fdd308d2358e09993a7e620236be7ca58a5f0b8f425eb23eed22cbfe143" +content-hash = "6aa133eaf493ae3c5878cd99042e0ea6aa075ff278192ed75136d84011afc46e" diff --git a/agenta-cli/pyproject.toml b/agenta-cli/pyproject.toml index f003cc8951..0c113a8580 100644 --- a/agenta-cli/pyproject.toml +++ b/agenta-cli/pyproject.toml @@ -29,6 +29,7 @@ importlib-metadata = "^6.7.0" posthog = "^3.1.0" pydantic = "1.10.13" httpx = "^0.27.0" +pymongo = "^4.6.3" [tool.poetry.dev-dependencies] pytest = "^6.2" From 4afcd605d0acffb905536a4568c758946e91cc6f Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 12 Apr 2024 11:21:01 +0100 Subject: [PATCH 403/539] Minor refactor - fix traces creation after ending trace recording --- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index e722d0c8d1..2ff40cf1b1 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -70,7 +70,7 @@ def set_span_attribute( ): span = self.span_dict[self.active_span.id] # type: ignore for key, value in attributes.items(): - self.set_attribute(span.attributes, key, value, parent_key) + self.set_attribute(span.attributes, key, value, parent_key) # type: ignore def set_attribute( self, @@ -134,7 +134,6 @@ def start_span( self.active_span = span self.span_dict[span.id] = span - self.active_trace = self.active_trace self.parent_span_id = span_id return span @@ -164,7 +163,7 @@ def end_recording(self, outputs: Dict[str, Any], span: CreateSpan, **kwargs): self.tasks_manager.add_task( self.active_trace, "trace", - self.client.create_traces(trace="trace", spans=self.recorded_spans), + self.client.create_traces(trace=self.active_trace, spans=self.recorded_spans), self.client, ) self.llm_logger.info( From 13b513e8bd9a376962447e828f305e6c62b42f83 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Fri, 12 Apr 2024 12:23:42 +0200 Subject: [PATCH 404/539] Create publish-to-test-pypi.yaml --- .github/workflows/publish-to-test-pypi.yaml | 57 +++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/publish-to-test-pypi.yaml diff --git a/.github/workflows/publish-to-test-pypi.yaml b/.github/workflows/publish-to-test-pypi.yaml new file mode 100644 index 0000000000..eb17eed70c --- /dev/null +++ b/.github/workflows/publish-to-test-pypi.yaml @@ -0,0 +1,57 @@ +name: Publish to TEST PyPI + +on: + workflow_dispatch: + inputs: + branch: + description: 'Branch to publish' + required: true + default: 'main' + +jobs: + deploy: + runs-on: ubuntu-latest + steps: + - name: Check out the repo + uses: actions/checkout@v4 + with: + ref: ${{ github.event.inputs.branch }} + fetch-depth: 0 + + - name: Set up Python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + + - name: Install poetry + run: | + curl -sSL https://install.python-poetry.org | python3 - + + - name: Navigate to the cli directory + run: cd ${{ github.workspace }}/agenta-cli + + - name: Check for agenta version changes + id: version_check + run: | + # Verify that the pyproject.toml file exists + if [ ! -f pyproject.toml ]; then + echo "pyproject.toml file not found. Exiting..." + exit 1 + fi + + previous_version=$(git describe --abbrev=0 --tags) + current_version=$(poetry version --no-interaction | awk '{print $2}') + if [ "$previous_version" == "$current_version" ]; then + echo "No version change detected. Skipping package publication." + exit 78 + fi + echo "::set-output name=version_bumped::true" + continue-on-error: true + + - name: Build and publish agenta to Test PyPI + if: steps.version_check.outputs.version_bumped == 'true' + run: | + poetry config repositories.testpypi https://test.pypi.org/legacy/ + poetry build + poetry publish --repository testpypi --username __token__ --password ${{ secrets.TEST_PYPI_API_TOKEN }} + continue-on-error: true From 37d4a1c4e2d4cec94ca93317f52ade5237770d60 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Fri, 12 Apr 2024 12:32:52 +0200 Subject: [PATCH 405/539] Update publish-to-test-pypi.yaml --- .github/workflows/publish-to-test-pypi.yaml | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/.github/workflows/publish-to-test-pypi.yaml b/.github/workflows/publish-to-test-pypi.yaml index eb17eed70c..93c035e72e 100644 --- a/.github/workflows/publish-to-test-pypi.yaml +++ b/.github/workflows/publish-to-test-pypi.yaml @@ -27,12 +27,11 @@ jobs: run: | curl -sSL https://install.python-poetry.org | python3 - - - name: Navigate to the cli directory - run: cd ${{ github.workspace }}/agenta-cli - - name: Check for agenta version changes id: version_check run: | + cd ${{ github.workspace }}/agenta-cli + # Verify that the pyproject.toml file exists if [ ! -f pyproject.toml ]; then echo "pyproject.toml file not found. Exiting..." @@ -51,6 +50,11 @@ jobs: - name: Build and publish agenta to Test PyPI if: steps.version_check.outputs.version_bumped == 'true' run: | + # Navigate to the cli directory + cd ${{ github.workspace }} + + # Build and publish agenta-cli + cd agenta-cli poetry config repositories.testpypi https://test.pypi.org/legacy/ poetry build poetry publish --repository testpypi --username __token__ --password ${{ secrets.TEST_PYPI_API_TOKEN }} From 97f77ac269df90d43509c1c8ec5e7191960b8e54 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 12 Apr 2024 14:12:34 +0100 Subject: [PATCH 406/539] Update - fix 307 temporary redirect for POST /traces/ --- .../agenta/client/backend/resources/observability/client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index fe7b1d02b3..dcf3b7d782 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -181,7 +181,7 @@ def create_traces(self, *, trace: str, spans: typing.List[CreateSpan]) -> Create """ _response = self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/trace/"), json=jsonable_encoder({"trace": trace, "spans": spans}), headers=self._client_wrapper.get_headers(), timeout=60, From 5746d020ff3ea654218516e457c0f745dd3f1ef2 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 12 Apr 2024 14:38:56 +0100 Subject: [PATCH 407/539] Minor refactor - set appropriate type of span to ag.span decorator --- examples/app_with_observability/app_async.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/app_with_observability/app_async.py b/examples/app_with_observability/app_async.py index 6f0612c15d..0e437d7c5e 100644 --- a/examples/app_with_observability/app_async.py +++ b/examples/app_with_observability/app_async.py @@ -14,7 +14,7 @@ ) -@ag.span(type="llm_request") # su types are: llm_request, embedding +@ag.span(type="LLM") async def llm_call(prompt): chat_completion = await client.chat.completions.create( model="gpt-3.5-turbo", messages=[{"role": "user", "content": prompt}] From 82eee8294f3412b02a39a003d2bc1c659bb04e24 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 12 Apr 2024 14:48:10 +0100 Subject: [PATCH 408/539] Minor update - rename /traces/ to /trace/ to fix 307 permanently --- .../agenta/client/backend/resources/observability/client.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-cli/agenta/client/backend/resources/observability/client.py b/agenta-cli/agenta/client/backend/resources/observability/client.py index dcf3b7d782..610bff014e 100644 --- a/agenta-cli/agenta/client/backend/resources/observability/client.py +++ b/agenta-cli/agenta/client/backend/resources/observability/client.py @@ -725,7 +725,7 @@ async def create_traces(self, *, trace: str, spans: typing.List[CreateSpan]) -> """ _response = await self._client_wrapper.httpx_client.request( "POST", - urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/traces"), + urllib.parse.urljoin(f"{self._client_wrapper.get_base_url()}/", "observability/trace/"), json=jsonable_encoder({"trace": trace, "spans": spans}), headers=self._client_wrapper.get_headers(), timeout=60, From ccf3a10bcdbebaa9564d33665aa79af87f47ddf6 Mon Sep 17 00:00:00 2001 From: Abram Date: Fri, 12 Apr 2024 21:12:29 +0100 Subject: [PATCH 409/539] Minor refactor - include loggers in each tracing step and update entrypoint to make use of active_trace --- agenta-cli/agenta/sdk/agenta_decorator.py | 4 +- agenta-cli/agenta/sdk/tracing/llm_tracing.py | 40 +++++++++++++------- 2 files changed, 29 insertions(+), 15 deletions(-) diff --git a/agenta-cli/agenta/sdk/agenta_decorator.py b/agenta-cli/agenta/sdk/agenta_decorator.py index 75a78e5a95..57ded3c2da 100644 --- a/agenta-cli/agenta/sdk/agenta_decorator.py +++ b/agenta-cli/agenta/sdk/agenta_decorator.py @@ -96,7 +96,7 @@ async def wrapper(*args, **kwargs) -> Any: # End trace recording tracing.end_recording( outputs=llm_result.dict(), - span=tracing.active_span, + span=tracing.active_trace, environment="playground", # type: ignore #NOTE: wrapper is only called in playground ) return llm_result @@ -129,7 +129,7 @@ async def wrapper_deployed(*args, **kwargs) -> Any: # End trace recording tracing.end_recording( outputs=llm_result.dict(), - span=tracing.active_span, + span=tracing.active_trace, environment="playground", # type: ignore #NOTE: wrapper is only called in playground ) return llm_result diff --git a/agenta-cli/agenta/sdk/tracing/llm_tracing.py b/agenta-cli/agenta/sdk/tracing/llm_tracing.py index 2ff40cf1b1..7f64981f93 100644 --- a/agenta-cli/agenta/sdk/tracing/llm_tracing.py +++ b/agenta-cli/agenta/sdk/tracing/llm_tracing.py @@ -1,6 +1,6 @@ # Stdlib Imports from datetime import datetime, timezone -from typing import Optional, Dict, Any, List +from typing import Optional, Dict, Any, List, Union # Own Imports from agenta.sdk.tracing.logger import llm_logger @@ -48,7 +48,8 @@ def __init__( max_workers if max_workers else 4, logger=llm_logger ) self.active_span = CreateSpan - self.active_trace = None + self.active_trace = CreateSpan + self.recording_trace_id: Union[str, None] = None self.recorded_spans: List[CreateSpan] = [] self.tags: List[str] = [] self.span_dict: Dict[str, CreateSpan] = {} # type: ignore @@ -70,7 +71,7 @@ def set_span_attribute( ): span = self.span_dict[self.active_span.id] # type: ignore for key, value in attributes.items(): - self.set_attribute(span.attributes, key, value, parent_key) # type: ignore + self.set_attribute(span.attributes, key, value, parent_key) # type: ignore def set_attribute( self, @@ -107,9 +108,10 @@ def start_parent_span( status=SpanStatusCode.UNSET.value, start_time=datetime.now(timezone.utc), ) - self.active_span = span - self.active_trace = trace_id - self.parent_span_id = span_id + self.active_trace = span + self.recording_trace_id = trace_id + self.parent_span_id = span.id + self.llm_logger.info(f"Recorded active_trace and parent_span_id: {span.id}") def start_span( self, @@ -134,7 +136,8 @@ def start_span( self.active_span = span self.span_dict[span.id] = span - self.parent_span_id = span_id + self.parent_span_id = span.id + self.llm_logger.info(f"Recorded active_span and parent_span_id: {span.id}") return span def update_span_status(self, span: CreateSpan, value: str): @@ -153,17 +156,28 @@ def end_span(self, outputs: Dict[str, Any], span: CreateSpan, **kwargs): # Push span to list of recorded spans self.recorded_spans.append(updated_span) - self.llm_logger.info(f"Pushed {updated_span.spankind} span to recorded spans.") + self.llm_logger.info(f"Pushed {updated_span.spankind} span {updated_span.id} to recorded spans.") def end_recording(self, outputs: Dict[str, Any], span: CreateSpan, **kwargs): - self.end_span(outputs=outputs, span=span, **kwargs) - + updated_span = CreateSpan( + **span.dict(), + end_time=datetime.now(timezone.utc), + outputs=[outputs["message"]], + cost=outputs.get("cost", None), + environment=kwargs.get("environment"), + tokens=outputs.get("usage"), + ) + self.recorded_spans.append(updated_span) + self.llm_logger.info( + f"Pushed workflow span {updated_span.id} to recorded spans." + ) self.llm_logger.info(f"Preparing to send recorded spans for processing.") - self.llm_logger.info(f"Recorded spans: ", self.recorded_spans) self.tasks_manager.add_task( - self.active_trace, + self.active_trace.id, "trace", - self.client.create_traces(trace=self.active_trace, spans=self.recorded_spans), + self.client.create_traces( + trace=self.recording_trace_id, spans=self.recorded_spans + ), self.client, ) self.llm_logger.info( From 7a4e8d1da22ec44e0ebb239a542ee5b4222880f4 Mon Sep 17 00:00:00 2001 From: Kaosiso Ezealigo Date: Fri, 12 Apr 2024 23:34:28 +0100 Subject: [PATCH 410/539] hide latency and cost columns on filter --- .../pages/evaluations/evaluationCompare/EvaluationCompare.tsx | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx index 6e7607f41b..a613825a09 100644 --- a/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx +++ b/agenta-web/src/components/pages/evaluations/evaluationCompare/EvaluationCompare.tsx @@ -221,6 +221,7 @@ const EvaluationCompareMode: React.FC = () => { }) variants.forEach((variant, vi) => { + const isHidden = evalIds.includes(variant.evaluationId) colDefs.push({ headerComponent: (props: any) => ( @@ -230,6 +231,7 @@ const EvaluationCompareMode: React.FC = () => { ), + hide: !isHidden, minWidth: 120, flex: 1, valueGetter: (params) => { @@ -243,6 +245,7 @@ const EvaluationCompareMode: React.FC = () => { }) variants.forEach((variant, vi) => { + const isHidden = evalIds.includes(variant.evaluationId) colDefs.push({ headerComponent: (props: any) => ( @@ -253,6 +256,7 @@ const EvaluationCompareMode: React.FC = () => { ), minWidth: 120, + hide: !isHidden, flex: 1, valueGetter: (params) => { const cost = params.data?.variants.find( From e9e462a39e3bf37bee6d842a7f72c30c2dd1ef8e Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Sat, 13 Apr 2024 10:18:01 +0200 Subject: [PATCH 411/539] bump pyproject.toml --- agenta-cli/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-cli/pyproject.toml b/agenta-cli/pyproject.toml index 0c113a8580..7915110b69 100644 --- a/agenta-cli/pyproject.toml +++ b/agenta-cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta" -version = "0.12.6" +version = "0.12.6.2" description = "The SDK for agenta is an open-source LLMOps platform." readme = "README.md" authors = ["Mahmoud Mabrouk "] From 8ecb720d42d04d00ba5cf854efc31aa8ddb96322 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Sat, 13 Apr 2024 11:21:22 +0200 Subject: [PATCH 412/539] added new workflow --- ...test-pypi.yaml => publish-prerelease-to-pypi.yaml} | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) rename .github/workflows/{publish-to-test-pypi.yaml => publish-prerelease-to-pypi.yaml} (80%) diff --git a/.github/workflows/publish-to-test-pypi.yaml b/.github/workflows/publish-prerelease-to-pypi.yaml similarity index 80% rename from .github/workflows/publish-to-test-pypi.yaml rename to .github/workflows/publish-prerelease-to-pypi.yaml index 93c035e72e..c90590d32e 100644 --- a/.github/workflows/publish-to-test-pypi.yaml +++ b/.github/workflows/publish-prerelease-to-pypi.yaml @@ -1,4 +1,4 @@ -name: Publish to TEST PyPI +name: Publish a PRE-RELEASE PyPI on: workflow_dispatch: @@ -44,10 +44,14 @@ jobs: echo "No version change detected. Skipping package publication." exit 78 fi + if [[ "$current_version" != *a* ]] && [[ "$current_version" != *b* ]]; then + echo "Current version is not an alpha or beta release. Skipping package publication." + exit 78 + fi echo "::set-output name=version_bumped::true" continue-on-error: true - - name: Build and publish agenta to Test PyPI + - name: Build and publish agenta to PyPI if: steps.version_check.outputs.version_bumped == 'true' run: | # Navigate to the cli directory @@ -55,7 +59,6 @@ jobs: # Build and publish agenta-cli cd agenta-cli - poetry config repositories.testpypi https://test.pypi.org/legacy/ poetry build - poetry publish --repository testpypi --username __token__ --password ${{ secrets.TEST_PYPI_API_TOKEN }} + # poetry publish --username __token__ --password ${{ secrets.TEST_PYPI_API_TOKEN }} continue-on-error: true From 86d18f7c3a24abd793ff1a489c1a433e33287d6b Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Sat, 13 Apr 2024 11:29:46 +0200 Subject: [PATCH 413/539] Update pyproject.toml --- agenta-backend/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-backend/pyproject.toml b/agenta-backend/pyproject.toml index 077d11cd4d..e3696e5159 100644 --- a/agenta-backend/pyproject.toml +++ b/agenta-backend/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta_backend" -version = "0.12.6" +version = "0.13.0a0" description = "" authors = ["Mahmoud Mabrouk "] readme = "README.md" From 1ed5be0bc0dbfd3bb848c0dec64c1a5526ef6aab Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Sat, 13 Apr 2024 11:37:54 +0200 Subject: [PATCH 414/539] Update pyproject.toml --- agenta-cli/pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenta-cli/pyproject.toml b/agenta-cli/pyproject.toml index 7915110b69..18a6a3c728 100644 --- a/agenta-cli/pyproject.toml +++ b/agenta-cli/pyproject.toml @@ -1,6 +1,6 @@ [tool.poetry] name = "agenta" -version = "0.12.6.2" +version = "0.13.0a0" description = "The SDK for agenta is an open-source LLMOps platform." readme = "README.md" authors = ["Mahmoud Mabrouk "] From 5d4e97895c2bc3121340e93e255181081ec22f04 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Sat, 13 Apr 2024 11:39:24 +0200 Subject: [PATCH 415/539] Removed comment in workflow (minor) --- .github/workflows/publish-prerelease-to-pypi.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/publish-prerelease-to-pypi.yaml b/.github/workflows/publish-prerelease-to-pypi.yaml index c90590d32e..04f62b6ac3 100644 --- a/.github/workflows/publish-prerelease-to-pypi.yaml +++ b/.github/workflows/publish-prerelease-to-pypi.yaml @@ -60,5 +60,5 @@ jobs: # Build and publish agenta-cli cd agenta-cli poetry build - # poetry publish --username __token__ --password ${{ secrets.TEST_PYPI_API_TOKEN }} + poetry publish --username __token__ --password ${{ secrets.PYPI_API_TOKEN }} continue-on-error: true From 731aff5912c4015f6d7cd4fa896e43cecfee7591 Mon Sep 17 00:00:00 2001 From: Mahmoud Mabrouk Date: Sat, 13 Apr 2024 11:54:36 +0200 Subject: [PATCH 416/539] Update README.md in CLI --- agenta-cli/README.md | 140 ++++++++++++++----------------------------- 1 file changed, 45 insertions(+), 95 deletions(-) diff --git a/agenta-cli/README.md b/agenta-cli/README.md index d667b815cc..c90f237a3d 100644 --- a/agenta-cli/README.md +++ b/agenta-cli/README.md @@ -2,8 +2,8 @@
    - - + + Shows the logo of agenta
    @@ -14,8 +14,8 @@
    Documentation
  • &Jzgf>9kt@?bqp*AojXh;ihc7D}9_BM|&K_>53M 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 qVS?t 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⪙%q#jGFzt?&dzP793T2DtjQhci6_Dp$z>SpghI&21nL_YV~J)M`#-Bl6X!uxf|wW?<-eG(mJL4R!nr3=rUlSi|xhqIJ z8`7ONfeu)q(7#XMM`}Ma1%rtMUARO)8$XB$WGvG^4`8kQvXIRqoIFA0Z}_}kr`hyH zHtFDgXs&`FGbaQduk8|dV3Zy|mL>}%Rz!UePu*(BcUEkutvmovzpJd7#7cj(of_a3 zUDA(|AOZlc-QthN_d+DWL3mdWkdh!Zd7yEeXF ztA>e}`b~R)o;^>|s02r^G85~k6(O9Ig6qMk(nYF1C`>JHyU_d`eT`L>tIlj-v{k}5 zKUb<+I<8JF=;PrqZ)Ul+Jb{}feRe%CFHZXR+Mf6=brd&iPzD>Na@CUn&=5x+T>n9_ zXG$)U>GiyD2!9r?tIi}w7*(E3-4+R6>RC0r9df}XiAq49OO_N=sq$1M)c5;+n5+Px}23NH8M)uIN}l zVKFA0d`}Z7v(m=SgcFTT6F?z~m9!LJ9#qv#0d@3p2c**-$|3gqO#S!ILx#vHGkinZa62GAQ*}G0=KyBLw1nKo8ZA>4s>F2E4F3ps zuaI_d-=Tr3WL2z3k`ia|GPoy!7NiXs2;mLv4Wo;0QaijRk#nSdhd?^kFkOp`A2PRc zppAUsvy-d>Z>E1Rqa!e9GPpymY5y!?nI$Ql`k2#Lza<>(g$`n2w$>?F^X}Ney2*`N z^k6$}{OL-q`s)+vb4h-@REO!IT-t{Ar93^nl&`Kom9L-wqx{QExJINO=e-Y_}E(mdBT=4w7t$`IKL;l+sV9yZc+ zFuFoat5Is(R)xZ+Z(4HWDu2rrYXnE%SRs1oXGA}oPy3GPQ1_zOR!z+bwie*l{<2i9 ze|zVJqFjO}y-%WiVmwEAbiUJAaZznX5qexNWJO`Sr5XoW^1)r5e`g?J10(##EOKJ$ zQcqRM+PCg9TfKs8OLH&uAmPjs)3*idS=S?Adm-B`EVmj(*Y;r$y;}&d3$0I`4xLhC ze$@HZ>z4Zu_$!)Rn_V}!h4#8pVkX+$IukG$RDGy&#XMmkSf=SsNA$NhH5m(Z^UH@^ zy)6lF5;1K_Q{CU`(Rq91601f%lLtBi5pm3MLj}r2F|T#DH9Bjxgr*IC zM@LG2KREbm>_gyIjprOky)|5(9Jh8D+c6XUJ%j}!OuTXsp~V3=WhSJm;0Iy(KcvfSp6mIk=8NE1%sn(Lr8Gx#786!_^)V+T+?n4Rcfaa$-d1?(+~{xqyfrCp z&BEtJjTt{fwcL0gJf1iVJVDJi;0Fo73na~vOQFz$? z^q?`rhu+O^Fh&;{HcO_+rwfO=;o@^fk_|CRjLO;ny3UM~}`3ezTo`_ig#_!+bs??FP=vmGLkp zFt>0|`iFh9vG8-(W`M)rGw+WoRQu}=AgXfl57YzPMnieq1a++>5!7BGdXi9RRUe#O z=%!5`Qg`O12mEDB4k&2_3MVjnRfay=-uki~mSji;f90y4`g>1uK(JljOu_F6Pr2$# z`Mp)8^yCRul3?OR9+#J~Y@$cJ-7x_}?ZxzS(nhW->-j}J62$e?niRpR6PMf}xDv!8 z9B2;KC}}%!!RZslOZfnk0T|HCEJ-AWLx3O9>2RFB-Vs3y_l!Y=K{p1p`)s7E)8kfj z=I2Pxpe_6}@uS8-s;x%ADg;@5Opet9Z!N%#SF>T_qV2Da(Qm1u|9{$`=>*v#ARls+ z+kC{V7CjQ*Rt%TKg~-m3H#_UItezNe@ao%rAD9ny#>9>Au`ZFmQG`dk>%G?TP(e&3 zUuhCmo=8s|1I62pO-e#&fr)OB!^msM&e&#HA6oO|O<+x+ISOM!Hd#c{Lt+on${@Aa z3jgc>`nOOGTl0h?Vc=7Ys+hMV!#mlxY}kPHsX#Wug3X}?m`OqiXb$x-E3~S>9Ffv|%cHsLqeqPLO-7pg$pQRFJl`XG^mB%AKh z7QA9vpD3CM@$_I^Y?>loKE4)A@FMQ6 z*|MT*t6%cvvs>9MePj^6=bGu+&So>KiBZny&iOPc+ral$UGy?%_Yn z@4xz~{Q0|I%kRJbSiX7qxjbBJ1&iDTEjMs6j7F3Swc=0{G4*f0%0XQG2e=8k2f%AP zaa;6N%0ZPLe#HF@H(RP3Ro+N@n{MC2s4JDpSQGCi)*)LXA2eNepv4r#PPGrqR7wy3 zg*uUzBCg#XrqIs7$-=%| z*(|t7qNCFVukY&kl4sc7X=&9Rlwc7Yg}&x$u&cgfLRy=zAd_kpsQREwYat;76+FUm zG8Vz&wz7UqW1183nN$d&#b~tW0Jw6poVM0P8oeFEmd53z=_}$Bg54AXbl_hn1qpp` zAIO6wXuPBus|0MCor9qEM-?9emMO`M@ie);B#1_GSE@FuaPHgj-LqvUpgP_7S$`^2nu8EgwBD^ZH9d1>UP!p>B92JF9YO zV9r`rSCPz&jW-ZprRVx9(&mZQ?sN7_en8z!73nc8n=ul7KC)Q*9BSHpDW&boDvb})OlBvGVC zNmO%3JVv9AdIaQ*5$h)zrurhXurvMvJH{+n$9Zmwv9jbtdA!!D@rULxQ0a0hZ(n{c zUp@av`NP*A%b!17$`4;Zmv>Je%j3((R*|BQ|JIptlB7+t;wS&rzx5{OR-@AX|HW(u zRQhDgS^H@MWw7zDnm}<;g_T)e8;^r*7rL5zFop=uZT2%Aw1Zvk=%k_ub>fPk8P5G; z@&v8Oy}f1ro9=Qt#KzcR6ZvqnzcgE+JMhNBpWL07SUsN^uD+Q>q9`|5M?!CN%K_hR!Bk6kpSc`>BDP0t1LA9zcqJ%{F(U_m zr~ZAQ-x)mQn#8Ct@?Pk%A0VbQ-Nez$V!Nb!qNc;|Hpl8qif(FkoU)_T;=2J zo^z!J1~wJ%ikhM)pToTPOG%RSoCse5g?onqCTi4?MHMiSJ#v->b=v}w}~oLcB$sunYCX=*^Ab>GN%K+!A<$F- z+Ar72BF<4+12+p<$~;$ES?_nX%<1suKl@|J69ds6ToRkSkw6*B@Ysv+!jdN{z$rGT z5ss^^G=btyISj_rC5DIwu_++MYrl&sPsTe_6QMgk&3$jG;52}|(f15q zgS)dzo^S_)=R~=7oM7v>yTJ{2`1ha#;M)WSe6u4oJcNqb`a0&D&`*x6vaWXG6=S=d zgxHyEHpxSi9|yvDrD$XxY(z^0l5M%14#>uZgF$2?ll2jweTR%gn@sV{#>y?QezT&@ zCb9;-8`nA-avT0+Ee+fq9kerdfpd1w9*-ToW@9;BwKD~2lMTI`npe=7Y^{)q5LnS; z_PxVv_AvYuHL2c66+l1eBYP|jO0V!2)y_WMkU$|1%^XHS^V7c8>!!TE$7{RfJ5l#^ z*(x6+hC}IB9Z&lR5m(2_-)$98Sp*!}IkMg4wV1;-k*;86`L1jgn;oMbpiMAJI?fC^!?HcwGLS z+R5`c7{`439Z^Tn04--FFA&-LiT4m&5aBNKa zC>Fxo8dzRw0R3KglRw!|vl6l#VsC9~^-3P0$5^4_<%Yn46zeQ8n!`H1X_|upS5i!H~M3gK!l0X^Sin++>y81rphg*a;TiBKl z>O;&GFksWh(X$&t&>rPj578=(eG#Z}zq#3lx&RGHc8Z=HBJD+F(%)Hw1k?!#+TO-m zI!#8^^*35rR}BN1E4*|}jcHpwIeZQP?e@g^C#V|XtBnLoJYjK!gp{ij&35rog$-r} zX6(O{zwxx48lx~#q#7Mwb2npts)CKRL-NcafK(R_u;>{>(d{By5|?dY#tGr}B0AwR|Z5UjF(0$MQdZcqs3mK9|e&Q+aG# zK1`BuWkKJB>LG^uI6Yk+s~ftSnyIb@r%y_`^7UTL;i_=uIxqCV?v+6Cn); z6=0UvdS$nTj1#$h3ny&wTn{*HsZrU*yGf@zw33Y96{er-Oj=2owjU2R4fqS+?9xHn zMeTtHhrnBqG+HGgGRJu8X$APrP(HGBLfBnW4X|N-w#Ib>d3uGx%^7m15#PcVoQh-Z zqt;kbm~O0&%x6XW=zWE5*)b${d~QoLvj&-r0bWbk$I(6Bd7 zT?B&D%6R1#&I&6Vkm=eP46X)ILn^mBkbM&u0$mA7iZs(J@0nmwP_8`gz9Xp=(n^xd z;baP5(?w>S6E0HK!qpY>NPJ6pG{=;yTKqdAT($A=aA{s-#qGH!6=Xli@Sm~5rr}CS z6$*?I4lOAp*MI?Tnp~oFqNImjQ7dD~JmvbZwxnG)@k z5%n50Ujx_)6*!w~jBPw%-hSmK`m-1f=gD(oYwUnm&Zyz8t1{}keUw?9h`DBd0DiYZ z*29_EG=|li%=-HIj1+D;67wiI^=W#ut<}{WM#h*Aoq5;2#m+%kk3sJP+}h)w$j=#b z;KS*=40NEKc&AO<_V^LY?XK{0oGD76h)j@uN+)T??!rHrN5;vPD|}W!lt8Nq%%d>&4zh;KXbzBFdtKY{b6PvI%5C`^2luO!>}d=mFF;?kL(xha zUW37HvcaybHgjdHxMa}9oY)xFUau4Dq;r#LhF|(Qe!=V0hW?Aar}CIq6&Ym#C-Sp> z5pXCe8h5qVP=LoG+33zZE{=`i@qYHlUqh!`O(#)<7>j%f?R*s$%{|5~>h)ab}cWR4XrSlK;pB=sab!n&l>Vxm~3a$F;$xBO)JYD}< z-ar0Se*g8C^5^fa<%h36mAB>Ba=Ct{(-_q$0Q|^Nq;cquVa=JeQRTv3BzQl)UpwOU zT-C1O8yASTqaZFopDC_lm5Om-*`i^FUEU@xhbbw_eo*=W zq}W=gLmFEItuO$NZC-1N2Ek|!!7c)EIXG=IT#sr(V!)8v-Hm~rQwObiHIX4dn2>Rs z5)X4&59hh1>xG*P?|b+$Wg0pkyHB?BY(uvH@fYc{DUt6OETL%WMes!qX;Jxicu zDmKu1R)2_HTVyF#acKl2{M)4-keCI0XFJbZlPD}AJ_s=$P6AvtMx)#|E={DsQU7JS zaI(n#tE0?T!VLxu!=My%2VH|M zW&F~w0`oe~VF*uAi0B28Ctki$v^P6zN(QT4{eWC|}G! z(t&W63Y_+PeMG*Kp%2K5)oeOo!N2CBPo&cCl{F~9t|kwb3-g68-GYMcs9|{7U3e#& zx^-VEkEyO4R=HtOA3owq+DZX=gM;R2t~4{uY`HB80C7N$zZ5yc+q))Y)F!$T*|@UK*wXWzT?d_`O0>4f zsyU1r27o*C$c(7xa~*?vkke5U9gJzWOV-%dYLA)}X=_xk*P@qAc$0V0BTNtE{9T?O z%FCrDS?bC^mdESoR(0~{um4*9<-^DF!@Hl#SC^0F;pKCwr~TSyIeopbjg&9(4uOs^ zNNej)SRcLa3WK1pf}ovIs7#K~%(p#(^WiRsJE-QLcKxmR#Yt?wbKT^=lk_;!O`<$o z7$tz)$6n(|+XXW1>!i)FgLmzY%(KrA@j4<8TLcOk&5)e?O=m|O6hUXpjqyTsWk=}_ zS4rE!nR9ZmGm$M>L7z9`H$Oi_5N+^6AFw6dL0j9%riDLQIk+p}nE{`Oiw|h8hFE`} z@owa0&k$aZG`5J=PSt$~(a`(|KD%wD-Ksr!?X|qYB<(QDu!4iL4E&F-b0=^_H#2SI z%BhHcDuRJ*fsUtbzoiAKaj9wN$L5V)z$?G3tcVGq73YIiJhy&D7jGEUTuID>lL}4c zNEHcuXRhOt!#%VHa!nW|BcO@}9;7F6ld2H9I*YD})vK{2@j_KCb#9u-AbjPTF@3v* zG*E3@D_iv1G1^<}BlR+;`mbEaMU~r>O`#Y`osYb+LXX0?_7WiEhwn$rN9)iNE&WO_ zor44+eORt*&|Z1M`v+7RYz8E;ChO~YFV)6@4wbgUVZ#j-V{XHcv&@Vy4Mhm+?@s`EkoW^so#QeC?#XF-tgflQQ^Dd9JImRTqkY=45#54w?Cw?*yUH5> z@l+*SNZ7~gf#22W3RNTpn%3)5JZX*xOoixh_&yW%L3|{{!6+crQytI1^}u$uY4jl_ zP(T@V-sly4+;U4^*kHnGa}_n@x*0GL3~%KeiJD-GQbI){7Ewl)RngT!!HI=fn1^a< z<77#+WSBrvm9^S;)w}aMoe-hQAO^vlZn1h-Ck<8F2qlLriqoJ43RFMG#F@BfqpG#( zkm&okk5_g!fn(Kqeek&ngCV>Zm586L5<@2?>K*t_?AXNOJaVE|@N}Kf6OHo8nApga zMOI~FX(vj~Ls<#9w)gg9{CnRRpp!Y$)1)BHNwM5CvSJIAIl|8{?6i{VtiItQ3G#B_ z@z+(G^MJ0mwu@yrmXT2&qw#R9$Muc<05o@+K*Iz|q(39t&Nzx>G_PSFexMqWwvlW4_FCSQ&*k0ce=om#^K<#%ekkSlAFk!y<(KmC z^07RW=ThG|sR@*NO+v-0&ZWJ3!au|lb9p*j$(qUjq0a}@B3$?N!J)Au0Wri##@#|^ z(x`rg3?DQ9##FWtv2a!nK)0s>>=VOHC$WXgiVP=_I@+zZ-?`@k0rT&JGL5bQnjv&_ z+%Ehp;_dNX~OOh*uza&%o)nn$$Gx#0?eDs!!(o5ex;p7cm^VRX=L#TBh zF9{_3u8nx}vO95!EjfiPMTU5t7zQ8PyD@|vEz#&Ju#}`q%xiW$S-#SIJ!yjM4KY%^ znuz9`$DL1N2&clQsz>SK~X@v#FNQ(4;&-(FnH|Q6{rDaw~?pBiHnjW7?8Fw z^0K;pwVG22xzW=?z8mS8^A+{+ei_nx-)GbLjXa?kSX^dj3oPGQOg$acX&%%tBv7yy z&KqG{Gci~9kscc1?#L~uy|6j1^~guj`bP4e(a=-cuDQxVgxbt4^197pUVF-aeOskw znj6zS$~7r+kRIL;3ddpXE|M zmY0{$t?T9C!pV|)!mbveT*{?Bv?k-W)0~sF+j(1jf9Vgl+}9;(0_X^cE$sIEiyYJq z2=%Tcex*ZK7Wq($o`3>4~X_gIG*S1ASs5*iECt5`D zudsi%*pqn=?>G6j{%>37Oe1>yBdSp4%jhTS+R%5RqoX~!z)(Fd@Fel!O+$ZsrJDfp zw>4qXcJ~a3k~W$^X*79WlCEEPSVK3?*hYIFNR4R zJwwrMi7-_zOgrJ^uAdk$Ns3@{M%JP=k>r=S2+AdqEpHb9Ckbe8{X6eu>8kGCFf&pBcs206GpmMH zV4zi+Vp=cj9%lftIsr&F*bIa*HM$mz5AwG_KU>CA6)1sC?b9Qqg51||9hjG7WL3!p zFf@i994no;4ie$3P1X<3kAS-AS;>&d#o|4sD1lOK(Zm1zKmVT>e9%Un3}l+j(V8)q zl`>)z{48Mc{?Hz`LoF^<8uHjsYG=@tp+Q{WY7XJd4OgUCiH79h=pB0Vt=%4WYXjo( zVN4FHgIML{i7~-m>1{K-da6V53)Qnhe>g?ni^GI>d|-C9R&@G2S~E>YiKxdxU!^BO z$&(#+dm6h4qzo~`O)jo=`YgVyISN*mSE3T)`8XN=v+-5c`8lDg&LPZ9o#h-`YAb7D zt0d;UhTrPyL?;+Ta&fJNODtX4nDsh{nZ}OluX4Sl2I$CnCY&R^=|Mj$9#R>g)=~Q$ zhUaN=3U~AlN;6a*7JD8iI;LIU)t3IHR17Go=PcC zt=RXaT%La|-#q?Q{`B=<%U?eHQojHCQXXG^Esy0RKg@Y44-b#6LgnG*OFy+q*A(=M z)a4%L?^Ah_ts8v4Vvm{mJpA3npE!ias`2OxbWu2BR%eT5kE0%@gm$<36NGoa5 z_UPQ$h@YV(wdm%(HMEbIQ$j`BDb4KL9~SRcP11fekwWw2w@1Xx^#|o;OsTejH%3}p zhQp82w?s)x48U6^T%AK#d+B#tiK2-YO6tg??sC;u-A5=rdJ?8pBiM2J`zv)EtoV@Y z$NDv7{ANnWiK>?xPRz1G`(CZWdt|x>Mw4wsGCSwa_V9j+?6Uis)?|z~*Zifu0#1!} zqb)|IiAzFJ2~88U+|%sPicN&<(nma2^5ty393q1%s@;>@`?|rm?33^k*yTcdVB5@| z>`^hpSNN?bIfpazs0n2(;`!b9wQp-?bqo4%<8p?}%sf;X5sizS)BE`6teDj$hv>(| zv4#M4THF)y><&>jc>O$+zDmy}#_iCjRS;fU#CEXC%kfMGYjK*U6G<_)B!HMGCOakz zgm+CS-X$B%TEh_?0;>vEr3aL*ht<321k&i2Ngj?9p7Op>4q+@8NRZQ2X$h1{!9Jx% zDG$lIGIrIh(=!IZrL|<(lZPJhv zjg7FSHx>jV8-InD4@7Qp1fei^pv?Y3$)+TWd^e=uP-f~f{Nq6mkzQ|C^Euf2I&lhe zl^R{a7XAdcHH7Qmjg->fCLGtg)+#9W-n%y80Bl1usaA4t$)pn!7etJetSQSkCilX7 zO#3~9q5@dEIVaQ0|7~TxUI>AQRpXMO4|Nlplx_r|Q$Q%oqbzM51-OEbEeDOOfCe5J z_{hsB@Sk&7qPUgbvuG{p`rg@*&-=Qlau0TnXyk;JBOj8yj`~L)nkU0d-^&#VeFpee z>ah7h+Ky@n)rO=V+jg_T!Miu>Bc zT>exai2wRad4Kt(l$X!t@=%j6&-`dgh5x7;y)i}|LGSY%*zNCDZL+o#tn{tJpg?s;@QVCJDw~Fz<_qqAtSq>pZk8*JYu-b71FsL?Xb~)6_7Xc z+MVP^GR7}`Hp$%~S4rey9;k!Q`*2gC^yUqR>8`l9scwg~v4ra;+eC!voai(4JpwG- z5K)9Qh>WB{u!(1F*6`bGZ}{_IpY?()@BrR?jiI;jTQxecUqR<$pucAt2RE|;8C`mJ z&_Q9Oae}{*)8x2g6a~xnFWU)@8BIF_PZkFIA6cJSTdJP0ax>~qC7I|iL=*YhSD(~& z3EqhrA+vEG6{0_qY@l|Mz#uPH6Da*oiUyC87u4Q8 zJl~QRiZcbqD3L%(2l-ClU8%VAL`r*fUXnL9xgxdQ@&=1kj&!{HWA;2wf7=D-*4SLu zMy~;D__2>gIEyEbZ3HhoxeRmw@1L&0VLI{R3E9aN;eIS%vQHu3omK}EWwQRVmR>l_ z!AsZ|Me4(Ix$xIo1&eHIOLa>Ls=8UyhW9|3G<&~nl0fOE$|VX`uAN9;K0l)fd6=0( z&Kv-wY((XitBPB`ijoBU8Z?tVCf+k7{lmHhad7wOL^{Qof6KlGdW_9=KOFA2YIWsmhD~MWZje|86r4GX%e?b z_l9CW+D;Q_RvyF*iVm9D3RM_M5F`eY5+G6(2T`&Jl41AY zmK~PDZOaku;l&SjgkKtZ@Q1LV{s4~fgCqLIZ9m!JaI~#xiDI|hZU#jFR7(^ElIm`e zEs_8MkfMY=1ciI+v%~ISy1W7EtulcHuR>BVCpyj8$(MsxNImy0i`3h6c6L; z4Ni_UmsnNbN=|-ai`i@Hes5i(L%KNw{DwO{AuVO9MS7n?-`p-2sJN<4Ouoo1Z4TMw zp7dYY-o#oD$4gfE_{rJTW1%%drR?@YVlmro1v1M86uYriwoycwTCDtyhmM&dh+29m zobnO%c6_4d58eBmdkm7;G_^Fl`tYCWmx333rbR*(5Hj(gU1s%=eA%AhQWyDWfuXeD zGZAZU!JqF_&)Eb3QRDO3O|}lap3$!eJy-IpZ+?0=gK2zuRP(}!rPh2~uEioVx1O-? zN(&;XYoV^oGTGW|1h1QJ!?ro*1(ckbtXES4if3dZSZ^H0Iqeo;DbGISuy_;J+*Io@ z4Ne(jV#(fP?i1*+{j`vy2Vu272zv)t!kNAI!bcyz6`p+XW;nIF6!y0V{GQ>4gcC}; z-Uf2>B^A)O0kuAC+r~`WlK1!uvGe4~FU4&-TryVZRE zTg=wTvKdZv&gV&yaO9U{g~%#3(eOn~MtPKVKcexLFJxW!7F`UJfc+LR)y~ej^6)PG z)l|4O<4g#4g^g^{!`)Uj!a;F&m~;8rx;VvPE|0Pk=PWB)Lu_dolLM!JADJ$jD6nGT z7l$SDW28|&jqO<@*Ui;~@)*s>cED`&*8*nRzTjRr*0{I6a)OCpsqUesG)->=;&3n9 zt0%H`vuMv;{hMNlpK3k9V-A1$D{z-P0^e_QiS1IIV)*&js$aPje{jBwIQ}UqjRDKjzocl2r zFZ7uSb1^q!I+xAW8O37}(L&?6L^P{#z!{7CF=?mOsTNS|cHFQsldZEpw>-=O#`;y` zE=IA$y&Y}iE5=52tee}A8{TuPu*EBoa+CE;_ItDOq}~6f(l-dZ3qZCiw${6$`=5HP zN!~GR{LSw-$s2*L-NhtJx7Z_lu3tyY!%K-l$Bh2wU9w7Yk7$$RH>u>6o;;@Z+B3TN zyK+DbD4$zNc}Ykp`TDw>m4H1=#UiocPsv-56B!bzGJf++qm%CLa1eCKkjQ2t$dA< z2Y~*8xPRc@rQMiWvJhs`{Ibi*&u4odH^EKY;Txtml5qqSgS(qw##F!XylwC_|APK> ztKso_%R_G3@(0B2=Sb;hsSc9lA6WZ#rnb$ESzD0GbRs_Ss2Iw^Cz{(>@*q?mSF1f` z|K($sZj8M3hjW7$g*EHYsZA{1_LxuEY$(k!$mZ<8W*Il1nmhl9>SQt17v)$=GkdP` zvLU9A2`I&NZkhHsjK2T6bIRVYYXyLJB2L^pVy0FHKlcXs>h;1z-dbF(MA(q7qV+^> zvbJjqG|AyJMY!i55n^$&x7`bS+m*yAS#838crTnf_-XjyxohFsM>pZ@iJM{n;5u8R z7(f!E8 z{cG)(*gmN*qz>vTELxwteEsl~#ms);#Inno9>;^5r+%pyw`Fpbf9Rb54%b|5UDFq` z;=}grIYqwYmZLtapC6m?cV2OYdv23G-1lp_x%knd`)=HgrFB-vT!nud+Ka)i##0Xp z;=Ij!VDZwLB>3hk*3Qqys?LA^TY@jp{UE-KoilDd9qfDN$zL=tujO&W;v}t$CK8%6 zy1Ys8MMhmrxXifr>6k1w7iquErFvhJGwHnlF7wmnYulKO|Li*I|NKV6muva@{J7Pv zhbZ~OBd3YTnl6tEVr9|;x$@SpOyhCJGKvkkcVFkna#vW>O`v(cWIw&X#dT4WRqH}y zD%Qnz$|&-*IbvnzS0xvYX=lyvVd9k0{lz~ekMqy&Xf>*L6Ke7kUP%pIY-(=62(nxS96KayP9l{1a8o_rStph{v!STP8KP z@?$quEl|2yHLmIHzwvmy5t+|7dnP#5CGplOEvzHgdI2RV?Xv|9C6M-}eqStxb=cbB zkv$_@x;iiHmHS${M(ZBeyt2=&ZE4+UgK^_82FjF_{d+Y(Hl{bN=CEzLwpyM~T#((q zU-9XVhSnUJ7f_T;w%hgRl!#m<%=p$zjBwTaao=CdMh1C`v|~TzBq%(8W4+`+1ICj^ zvI=|Q1iR_ltPa9@vkrUVAe;#Ah11*1;h~e)!;=q(@YtDK;dFR6?5%EbY?E-HcO51K zN0)Z_ZDZW@1;$AA$J1o{ZR@hTAfQY=RG!^i$~Lra6z4X`&iU%_Ts|}1FmSJs=g?_O zc38*Mq6ezI{fbIo;L0ki>;g8eq`v;VnGM!s?iQ|Ft@4EX-a1wO$Q_??lCsr5{1Q)R z4ld2V>WiWg3%W-fa1T^qNuC4QjkCB*m2>w%?WfQ?H_}}=2zBv%AI!IE!qi&P_%TvG zMCc*$`%r67at|uwJwY~)rrP6w6L_@6xS1M8@u9t5Kex{4(z*Kx7~SZ6rL|K0Ps^da zzkSHeep59khs6}2kvV9^EJ@oSIA`G_10=t&{B3Ay{LNL>cArO{UwZIpH_&z4e0K6c z*Dw1vG19$soWk)!$vaJL{T_#)x#5z$s*|;JW*_SoJ~_$V<&F0h()Q z`B2+Wl->i9fd?mkIoN&eUV5d?kJfwce%_jlx6Arj%Pf*homUbSZ2a3y=%-CNr8Lv8 zefQ3az~axA55RkLr-V1(Ch6l&JsS@?MI_1H@A1`TTJt2-^1M@yy{Ik>{;nw--4#s+ z$6ogP%8!Hc#Xuot)4bdwSu^k4Gc>o{s(SgDvPZV%-A}d>ae4L2ugOfyy}|Cg;3pC*mPraIiKQ<%#7PE8{hcY znN8V$sy};amVoo|;z3Ke>JFH?tkHUnrt>Al1;gJO+3HkIxMJC!65!&zEDI}}*C;oK zxtu)@vju#YmC#*EqJde3a|(E6q3WwLYCGM-)(l9jBma+=)!e+E!HCs$={7@Ns=0 z<EC!lb@j!f5yrOI#P z@fODCStV#?mH?Iyxuqv3#FW;3MA@e9e&v>Pt5&PNbL;2a`QfELWmMi)cx$Zk!GGxn zD>Y@xYQ#TH%mHN<9x}3YKBZdq>QIUvZOfSI)plJ`e8<(D*q2+}+Uo4N(kgE2oE$OA zEi0I1T}cktb?&)*{ZNWs?-Bd$rMwp#{hiYgd4`5rxk$vP^hQP(k{*bLXhUOj>NR6s zj)$t}Wi46j{6P#U$;4I>TAz6p}|>z9UcF?_QDs=3BNz^_oqXJ+7*gIxI>xxa6Vr}3$OQ68&&NOS!)Yu>C2)~jv7{}$zl`|pe4fWk2jSewo8iRf8i#{ttCQ@bgOl5ueo&fs>6kQIl58KCTc>)v z*6eOp)Ny7%n=Gd8`TF)*7%%>`938_x-KlP>=L9cpmwa&7t3xr zq%v_`+~wi{0Nrelunm)4I?}FQT^h$nvTI@K?H9xQq86MjW$p|AS$?1EA3xvb){%jE zQ&eHD^!)r1u)W2m^$WGE#gcOL+Q~Jh+1W>6h_a-fy|g>L)!5w@d|n+t4O3O_{TN?1 zNRBqOt@D$pJM+S~$NtXR*t%|Xj`?Pej)T_NUs#9UINzl@Lt-Y?Z;(lAPwu^a+eB8D zQ~ogPJ^rcdXW8=^TbB8Yxo~YfNo&6AcCP}hd zNv}g#-gKmGZ6f`g(v^3^-fAV)lYa+Cp{f}8*&C|!n{yl^<)C?}Ie* zl-j28J?d`CsuLfkH`fN+yY=648qe)jsSx>VZvSeXpSz~XH3#LNb7TUFYfseITKRQu z0iq=ZpHCu7DV*>*eSx%Rks^3fg-Vg5XA#mCR;KrZR^Bp-+HGh(C*t~cyp>4l1C~#k zE{)lGnE38b)@QDhdh={>OH7OP_%@ndV<4L2W@0UwSr5|bY^Q8qmDbYwv{`G~)=B~j zjm3y9Rx#g4B_};;uFoq0#Vr~-2doEEZjFxceb(%!a$#}vLjTNev-B8`6}zogG2M>Y z`jfTth2Q=MsrlZDINl(*iYT{ z<;Fu}$ttFmYFIYataixP+PuUHrsUM!G1{!hAHw$+jFCQ1eKnHWFU@wVnKrxLTNurp znWdX2lPme$c$``xM%&dH7fmxQ6?Nj69WCQ1)6KWJev2gz8wL0Cjn~}(40Y@7?Vl7PX1m8H=-n||17*Dc-{*Vo=34cf*_#(4Ygcv0Oh)+cn00%bFCN?ut$+S!jLUVd?o;O{+ceT( z6)viAqUmGB`=$+-bBCCwvq0kVyAA? z=K4QgyMutSh+(l7jke7Xfo^#->kc!TyDus;w+{6G&cQD8n7M!MF(@xv!fNy(|7_p+ zwW#$=d{L!lOG_^XD&uC5=YfYWTvhw^KVNK0QCyQPY3^x3mv8Mxg!9(>rn)BPM7-o^ z1y7Bga-X2@#qZuMTRB(X(a3}D>S3^tXXhRo$2R!BF>3{DYheMOsv&jc@2+mLDo6|v zezX|35C4GPL<(tz{q#*%8|kGov(`v2JW<}#@=X*_l2Bpiq#h<*&=(VFa(7r%wular zr-%|%C$ebKW13gWGg+S4Dww(NVrvv_qq*|3`ZzagF_68BDI>V7j)vC6Dvd8=79%mH zOB#(wLSW%TB%46K3+`?Orb1I>lA$?s?=oo8KFbbc{BB8WdHj z2jH&vMcF`HxH#Cx(|gfDYe^Px^E-1&Q9lx^&&Bt)buOvD4lPkv<(N?(mn>hE@;;vB zT&zZZ{;{QBryr~;w$;Zw2hU zQWGP8CXakGJZzon+x6ilbQ8AQHu+XVkymPC-M-#7C0QKlwz4A%se??LegO9A%%|Eh zGImDB#ge|C%I_$dPv>PzQQGiY_3GUXxV5MOKaHyqcGknAX{#MceiE~IA?EVZauPe_ z_=(l^unt$k$^G}j(+^w^A3yhAICbh)*lwVc{vuN$(otDm3DPA_5u#c1n9CyyZ zQZQFuZyfsT^zXR`{bPe*c9&Y5%}BlGF!=tlv@5{?BC+oRjti@N2=SaCctJluT zxj5Q}R+*i#=(EhWjIyl3vgeu`muZ*Z@SEW~Se%X4=g{e<_{{CEookN@d3xG8zaH(( zVPLJ>IqxIBkX_(tpR``@vn|x08@Vm(R@3_5GU@Dnlg%8tpDXjVJ;A>b?b3{7$#qhp zk+UlnjM-bH*#x=AgY4md=_$battG^@7P6LT=j$^kpx8hd9e@4-Fy8=Vk2cGPkXBu%x4OkRQT;2Fs5p15yWPv1FpqNFBw42M}Mz}JKjT2~6 zIve?9<>EyipHH&zk)YCrTQZAt;&eV+HOsRSC z{&rj3Qr+GBuuLbnJO`jkXYSqH!)5nyVe%HGY{u~VHafrWY`WT8PP=^nK6kpkN-xo+ z^`w?TdKMblN-qo4lx*ER*Ln==hex)(HpWZ2?#=xi^p%KR-@Au$V2-yhaw6Gl^{= zCm+=>?$YYVU!3}0`XbIBQK99XpUlqBUU+aFA3JPj@oP3Y4NyMq_UEZzJDGr@LiW@M zn0Dc{cwiK>s=W8onXBtYyjPeSu5mLeX1$rSNfmpuxw9~4ha1;+vnv~<8Fe2HOw~)@ z*yq7CH%YyHfW1pGcg^C?%c*n}w=@x23x9{tU{(CM$Tu1}6JNBOQA*1VW?=1@tYQ25 z-ENKsQKSWDq94k7Wp5d1SIiErtU`CDP3dMN{oc+t%9*jZl;NF7-y37n4c@HP|ENpz zMPg0mKlqNS-enzj$#?Xob1HA1m%41_w=MFmHjbC2o&0UeTWzwV$(VL)&2}C3SsZyU zoY`Io51+mkKKSq|JbwBhoY`IuAxK;kx)Y$hqKB%OPrjC>YC6|)T0?ye%@+RYS2p}z zVYyr{+p-+ixeHtSf?m^F7`q)-1gef3vEKpw#k>BhD(?p7M(14nQ`g8}gXvqvW)Dc` z>b3BESuGojt?G`5By+_t#T>aU+0$*DH7YZ7Pi6fzFj;2v8?id@^<8owSj>U!(z)?A zao$c%O(k|O7=M9Gze*Js+_^f<4W7Go{xJ3S`@=x}mkNAYmb=t*q_g$cYi~L%x?L;F z8(?ynB!0cwDW8GgH{7IhvbY-zzyHQM4CLF~3mOM|{Q3BfMQVf)Q zDM_xn;@wE$+R6k0e_l#T))##18)J#2@s(MNL_tK_OLeP+5nndDsa03FCgfxmAFHt4 zh*;&VI5=MyBPEFsCZJIHcF*puPt+17vm;ka5{t7E1KB6>Dp{v^XS!M^N^j#>+b?aG zU&H*8mG)IFqBy>>-4-WBt~HQ;tZ@7FhjnY)u(V=%ldg=_w9c8Bc2TV1w0R!clIQc# z#&S8?6qVnfX$P?JQOb0w z)3}z4>+|uMb$Vc442IS676kys&86*PPKD%Mt>TgIicS5 zB1!C$yWi$G51&bVaN1C%(x}KRHsk)02DH>o9}8rHj(g#N-%Itk9u=9ng~J9@%WAIV z=?2t97nbv*(^+!ZjrlBHtJ+l6z6Hu;F^!W&w^wVVm-EMlNH2ww>A?EfbWh zf6U0Apub1!QTOts<&K*blCEsYZj18Lo*hr0&D!zHCQ|O|TFPfRx4F($bhqnUW1`nz zeQvvzJ=dc5&-t3qk}c@yIN0yV=8cBGLE)P=@8YDlI^C_g-M+cKUE@$z&t$MGn{T@5 zq~Pp!zv|x{;Pp_wHm|}#IJvnN9^Ahgo<4sgJaO(uIJ>?S*4taz8;DtNk1pAV8X`;f z247I8@3XtxsfzX1lc`3xuCaZt+#?sjYc-{L`RD`hiLzU2F;C1L->_fM%xY{6w>#UZ z>P|h3crsG|?)_|U>`u6YP(QbPKV)T()M4reb!@+{PvIv&V^kD4HD|Jr3Wc>nP>IztG*U+3KmlT)(;VhT3i`ehPsT0Jn%2s--UwWl0-^pS>$71z2ik{%# zFEP0M{4HHJwu1Dz}4{L7-pCeEO*+wU=({ zc&nV|THd*xXtZS#$=p`h+WWG7(GBvJ$&8yu?V?(Zt2X!k3meUGIJeJ@K(aJths@<& z&>p?Farb4m9@>_~|3=ZVm7%NC%uDX&jX||WaQ429t@al$d1g(P^u6iQko;o$NZdEk zZh8DWwMQqQ6a%3*8LS5e7MErg@!(_uT8gyPtUKx}iVdb!C;!wi%fQ|bkP+1y;&pbT zBe=X$uFHRqjFmWxc^>0z7I}i11);Sb&6aS8T}kt9ZQ!%Tx&+Iw?}L@ro}`K*~fNw76~ zr)8M~0R7>_@kp#g-Il(hVDTZG*xm}K58et-Ja8?1^zm&td+Ju$+g=N+?Ry%1sS%WP zYTrH7IBCuMT^896&&Xk-lDj-`w}&OeRUJ+!cU()7S4}G}?(QL)u36R*J#;qytuo42 zow%N^vO^4p63vXz!d)9zqZgRBd{xP3JyDnD14v6h)enP{D;wuUzPuEe%NZ-HQ`f22 zL%Aw$J+Z2Fn?2Jv@it|qPAvo@bGEm{9%{%8%*`Pa*0K^y_XGbXXTh(tRZfqj9+ZiD z@X3BZ6y!!#8{=+pYK$i<>ulfcm*99#-IPP)w&=jAYr5T|dH5#9Y~#dhSF^gtgqbDn zpX#rPwY7dPcS)hLe{lUr?!j7FkJhb`KlerNM#-h0oEjYg#g^XqXt*xFzoJ;ojU{VN zJ?2{iO7jV*E2fT!kjACB)zY!3eO8Z})MGzF-D3LZIrS7?zTL|g^l$Gff6x?WTRB4 z{H}rf%Z(AggfVJ9kdN;eb1~Mf|AVAlF8RrmdxyoQX>VbPHFp&&>)cCDYC!Ixn9tR{SmXXJ z`A$lObnoFBF5g=FWn8TMK)1E8ajg8!*EJb*n8c6(EbN3&sFj`7y_ z_WmEo8OKy@wI!_^a<(-FD&R#%K96?07QGNtPM%2?QkCr2v!)jhP^mugIeVcZW}|9d5UYlB%<_wg~dEZ@VWp6g>hA65J0ul8`| zF1IN{L2N-d?Dj<2sc73>nq`@^Ebnj4{gGk z@NNj(8~U@yq^q>%=C!#J-= z@|{W3JWU5j^6re)xv5*-FZdrNjUO3PQzG8nmW2-1f8>E?Reo_38H<|P!xs0SyI`<6 z={4Gc3pmNt+-RLEjt#Y4%jp)?JF&~W9ccIH5+BEg{Q`0qPA!EclTs+8Y<5}x%X;^k z+Ph^QZFiP#Vl9|NeN_Em`RtJ2+$C8b*c#NjXsWZ8?uk9$9|O+{7WbbGgx>x0l0j&G zCd&S(e^7HZs|Qe8m)4pS?^l-8XJk{bG;xziFQ)e{_c3W~d2BT?t7AP5>NM0;PXkILkY%JD; ziV-eIJLk#ySaA6iq@D6jF27RUQ~VVv-{Ppm`f*;)q9m5#1skiYR9l1|jfX=PA5>=^ zufmmt5BqL{k~G)O+h7olBVDU*!KwiEx%EnlMU#(EZj&G0#7>{K^5`y}(2Mv~y4_Nt zq;-qZn4;AjiD^;>X)8}|ms(5MviY`K>QdC`i55HE(k`r0=K5S_N6f)qb}gP4H%q8? z_oAPA3--Em10}+p|IF+uS$Y22&b~Ix$?ZA1_B739{9-g&@41_qk&2ZpB+s~Ab+U*h zM*~flkGnXHN1Mo_Q+?(!ap)4Sr@ z&c~AX5Z^atAIW!pDXul)OKW65N4ryEX0FWPZOuHpg>Vfxq=3>GRLybbwf^avcP?N2 z5TwpWkBrRSEX~vfHfe1LSlWK)HP!H}YI(ebn%3N+I?}*}qh~nzu8ToATD`J9IuVYj z?BTYKB%JH3kv#72G$bZ^KeF#%8Yu?K-MXpGZq-`m!x{YfwXWA!+toH4tPaA7%{uID z*WrNP;D{2+p8SAb9mr3*Z3wsY4SIQBZXNcwx5AllEqwUw#qjj`%i;W~>tVgQ6;|85 zu-YEzz1=#HiAu7nnYoe3ZvF<=(A#xqKT!1H=Rm8F-rMNqt<^3S9Jo)ITILtArm_~+ zabfZ<|H*nDrjQv6n!{vmtmg74x7WG!g@;xuq>l99dDT5fEKwG8`4IYqwmwdNqR(ZnGCh{>#I71VrD5~`O_~9W0uNH zw?7uYCHX-}LY4?bf=b>tXVjLT%@Jq(YfUqI`pI`Ybc|F+%$+UF9_G7Zm0`I?rhyvA zXe6HB*VjwDU3-|ds=o%eo`d=4%ZJ%=M#K(Zv(ocLa&IQ1GoS7`^)h_C{o>>+>x+xr z=xRw+Q#OmN(S=@P1joIhzpm}Jd01o8e3HLf_kv}=muXyUBcsuF&gDJ0?{i#L^-|<6 zk)=~a@mBZcFSqMhhy&O0Fj15bDKoV;DxYW7FU(J{$OcL|YMKMC(MJ<=x;iC`Pzo^L zxVGrdx`%Y#EvAI8Z9bOr*(tBs*5Vk?(;*A_xiQh^QH@%yFu#|gU3~}vrP0aFexIHg zej)8&K0dkXlzL<&ivQh4aZ)$sHq2jS5(H^b@G z6}Cp9UxFMj#a=GmY!0!xx;>+{#2)7EehST@CddvKPqkzA=6{EMt1NG1`>yUj^H6yQE?4fK~Yt`Sm)GF^~tY2b4 z_13_5*E`O#)Rp7J%2#U?KCQ=Axit;{#>j*NSrh!jda-JeGU$Jk3opsngq_49#Xym& zCYLgjCIxCYAtUC?+pmnr7-YRAy2LmtntzOi;)Mhsuf*l2LWtDexz{pRVA>D4z#-{! zs}!;_v7ZWgzl<0*dvL-)HF^u}d z&Ca-*=%LugvJ-ZXfzp`P-I=Z@R2G&SkYo{5nlt(~OULCIckfBd-zHuaoLYsfLWSO# znJH(IcD-GtIv1T^l-sVx4ojr%%17cm;V2iY-lp5%B&KAMK36xUx}u8fi`MH7N7?Mj zyxL64B~5l%->$<}&@XK}<~38F$-PgRm&;*uv>&$J&HnALQC_v)VfGa;+noJ!>~Cz< zSg{ZTb;mvuHNEcZ=2+7`vTDEU3*UG3D(uSPMR{)H^N&BwWdOg2rj{mj{a)C_;HC6k zep2mkLO8j-7EXrC;mHSYgl8TP;oSP|u-?3cQ~8x7k4QoR1ra2 zYNR2tORLpdp|Mwt+B0a4)+#k>7ZtI^Dz!@OU3;}i%~G3M6|?r<5|0H9=*_qFv^Dl-^@0^~**||ovSru5eD%3d?Jdp_TYLl)lf5}sUaaXm+|)Pi0@`-l9bdGaQrf`1l!v?E5zQ>_d-@02bXMQ}ZFFTl-7#SsJ3s5*qxzOSvO>ok)EmCU88g(_PX$YS%e$35M zH$)XTjQRTq9sS%LQ`W^G;Sr|xauR_Psgfj=I^-)0iiNjaiS}UlxwP(UYty zlU1(oWk}V_wWRE&cD2{jc1CA{yR5M>cHjk9Xr8%nV)>c?iojW=G|JHI%c03O>i%%`NeT-y@;*P z;OY3;=k#nJrc@U}%LKKu@Ahb7(HK}njwOhH@5BA@bVYN^D&C+1B% zPrfftUo3QdDehF2bd>Vhj<)T{dHLtS(@71SmMFQe_j-6R)2vHs?en``gc~Y1sI{`9Nwd~u-7^5y7{LE>A1 zJFfea+WDNU%i+VeL3?vvy@LXAxpqq=KW*bI51t;|zZ;mS6?i&l)ATpx_3H4eJjucz zVXWJQjTN;xoI8rTn_DNdyx2P`V&0N0o9v_5n%)E7&MhH9*&{#YUXH=R>Xo6z;Dzf| z`;q3a^Xz5g8d>&@WK#NzDMr$nAL3jE=2ipVWn*NQLbJA-s5^PYv{hf7UaS?+2m17&?P0PbU8Iz7;D{oYV_uo$lH}Q(*M#_O(aLd?j#W-3U zM|{ftLxZY*FCFjCgMO^-T#?`EI7f^+EOqmk42%=p=wv{JP5RlH)tqH}kv#nNUQwvf z1oBx_UQR5g<{yw?g*h=YA8T)vSA8DZ{@F_YHkCtJQ*>yBPMZ)g`dF3BC4hD9&EfjfN^Zp_{bh@h3qtojj4 ztkPrFXm>8N-v0){jvT+G$}w|tTg7g?;=zLHx2f}t)^bGie!Io3$iZ?{oREvZ%U>@xIu)AF*i*}Q9iu@8*AU4D3~?+) z8TZxRovd{dWHxMKt|Y7CTw}CI87}wixcgYm%%h=`{IHIT<;`B}9V5~4v!PCV8!=Fg zmi=tlpnbq^EeXv5H`lud`?0PG3KgiHUy-EdHjCj2w{=dhbqeuU@tFKI6oswvzo|Jp zyDuOfHt3`CU2{Tq8|AwsqQ|e>^j|?;%286!=kmX z8J<2iWmMh*dY#o3vedi(kgnLH)kYyj#}9jVl^>47ZeR8*z%08{v6 z?%MW_k&PON+pH$-H}j1FWsCh`>uo*0#hRz;x)}lw>&y4!DMP)~+_mn%?n&d71^2E* zFQ>3{zbd|XE46>a+vE9&fpX@JY!Q}R?+Sxr=eh;mL^zF6yuz=5FC>mnijF=Ql|M?a zkB(IgC6aE_Vk@~f+RAdyGA`$}z>BQMg_2f8G^0ZlR5v3%6yJAO=zKd&`)Io5mr(r0 zHb(E^zfpxfHL9uvj-QpvG2!EO2?iXvons-TCpSV4Xck3u-z>i4VZ~0p{9IDm&=G#@ z=zSYg@hzcyh|hpjwsK{>;`G?_y+QvigCSiPIfn6Jk66}n__pyio8kx!mhs<+NsqhU zT`qdoYxgTU3P0FXS!!3B9Bk8%8$7_C9^h zG~EF`%q8l(`@>-lM`Y6g9g~ZEhqE=-z_r38b6YkIziZ^amp%a{612nA;Htv#--~E+_F>j%x+LDzlVAAoz~|bYrpZM~AP^qrE+& zWl4lX-W997-Lhq%fO)OZu{z{X>}AAPv?f~_e~E+Ay}|!c(&owu6V-K@z-`nsPaW+P z|9S@lUM_9IzsyvAXRjn#RXyj*-Cr6XZc3EZ2WRltf4%24rbjPc?<>vGZ!KW?=wS>( zuPi67+GeHVI)D9wk*m7n{gj{YTqcJ?T>E$SUFHeOX5VnC7XGy=it@!QlQF6 zY%IuO+w$tSbE+kvo~bA&0u;xSn9$Ft-hG_OktWaJ#P^ZOak{)V z`rQCE*hHSyizAa5w%!IikiEV-L9*ZZMn}M^fu+fDt8jC+__P=!3S_)msC<5!sb^}< z$E#l|-u(@?SoX69bd=IFeGdML_m3XkQ-2Q=Ca0y+{)e~vQKoJl*>A3^1~)^0;Y*9; ze?C+eQt@|Bi%OvmGY^QZ>ce&*nD7|I9d7XQZMVCuKkpO|{dJg4l}j^;7uj$O!wJeML#7oM)I`5=eC`Zm#ZTbPfT--=+ejU3rESbJyVf0 z9v^|1ifTLKmEf-*K|h%p7(hH@=BYaW=Q1?QeJiRaZF7 zcu}1Y23zT+aO1vhM}S+ilxg+0OvOJ3h1da)T#f*yc<;O3r(_pPR__^WuEf+;<-dcA z=L01YJMs%_os!#&O?+R`BLL-$2ecgde&y0;MnBG>@vq8|T!KxRdSZ+9_k*i({^uZJJ6fHd3GBUeydt{o*-fK2>bpl;YbA=q>f2{z?p6m7jd$X*w z%3of59DrqzMCRVpCll3kU$m)PiOxqMqbD9e-+5&ozEr5x??IF`bZkwOl^eTDid|Oz zCT4wSN#2Ef3qcJ;+9AI^i=wOHP$p+=I#6_5G%ykUlOkhxr7eikiEOPF2Q*Ood@7Cz z;#6I*%Da&$6Own25`mp4L*%8bJgliJzP*y^^x*5rg4En%ftqq_&RJ~7os%V##Fe5- zp}|H@_uW5sPE|%(Jf)P==N{FYpW|KE5r*VfAUT`EH}>YO?Eqe@19 zNHp-WQ0Rru5lyXBvz|RW`OPuD#$7|%wW^6om#^gElB{hkfjbg+2JE5#fhArm3{dI3 zG|`}hiElw{oj99E6P-CouwU*Cwo_fP{kN2SNw9Rip2o?_fqWRyYyR|R=`y%u_&41L z=^{{Pbh)~o5)0?M-7|}M;$Y8lC++-_a7R_;LaQXNV5=4l)iQV@gIY9~Qkcr0Vw*^9 zc^iCElnzJAKb*WZNvImfbNJKMzqq|C1mI9dUgDd<0GsO7TI=begx%FkAqD9?e3bw$ zRdUiX6ttu@PYH)I8fP}=BxI01yicpcVvq_U!j1XAmH~814tS`#yyJB6jBDgc!xD!M z!HQRKO^4>yo3%#wnUDN0cW>Ws{kQ$j&NCd+GUG}w?%^|47bhLjPLWDNWAqFrlX`WK z5fgAzu(&*XGYA*0N?4|OQJsFMA}#Dr%C1bj9wEFEllkRBI4Afc!p~z-ppk_ie53PL z3uF8hF!+6qosGCt;OzoL`}G$=Qrvyo3UGuwp`CZJ<8Mn6x|;;si~5}}NEuH@8dEvI zpKH#wRpPr{H}yc~EX3VZsZcF*tf3dY1?kFcf6J3)cuGkU)g<1+RCCn_+mYzP-Iw1M zD9;g7bkRF0n}2zvWThXC4dSg~Lrp8IJXphhV>;>~dhsdM#X2yW5|*`JiWEx+=Z`|& z#f6BnV!d{bE8V06jXc*PS^`ImrwYj&>92IDQFLjyVei#^Drtof1>*AUZ24HiXnsL( zmDpCrTd>>{7R4R?w+OQf@#e3ZrKz-38vqH7bmG^jbjxY@}+|%&>^GiXM zh(-kDN5`Ay$=~%Q#8RUboJ-LiK;xv8rOlI=D?d&lqxH!OqhZmY1%F!L2KJC0@zP0Y zIG)~qvG1sc-?H8ch$eg$(@eANw1}1*9(BdLuK9hr4=3(CA4s)?8qGt0!p)}jJsN4P zjBnMf@OjMyVu%~7GNb1@^Enc<)Mw3A)|3gRr5|{BFX^1Q^ElJi0?+JO`Y$~HgRK|E z<;+c-WyJ{GN|iZx29NHoe4Lwu9JYGh@u}L0kB3Jbyw@0I}m<( zLci}%kc-oLU4}1VbimuX?$1JEHvr~k9_##b`ISWXTxd#ffl7jLi<4#7T8!E>->735 z{Alnwbx=f#7n_*VHi_$TmO)i>Q-c$q=Lvq^!MyzGC-sr`dB#*PHqX-z&6(1-CuR+d z%~?ETGsV-jwCATMBh5oARmBtKy<#*yo^#G3N58#w*9x0|RD5ta`^7XfxnV+8#m_oX zxeqqKbZh-)ReVW6#}T_X)YY_iFUFu0^vt7P`HPwvR;e1~?1Z}>W3Zh47P#(Un0C5$ z*$|_#Cwd5-v)xV3pz^c@z?PMGvjt7XW#}riliXJgt%!7DCc&mkx^kX|QA^xqc~&~j zT>9kk_-60)vEJc;>y&su?O7l7=bJt!Zx>t0SZw0!#)3BGeD>`Qf4UYiTi0Z>O5R~P z8T#1#uTAyc&e>QMf1vC6s@3@W%rN-N%fYQG>{{KX$8veHWX&q7S0k1tBMuy`I7p&G zH*`(o`6%jn{<5;3$aJ&2j^*3v*hK!K32%BvCzt;`J<|=2taN3R$Z~C0p4m3~yY<~q zySEh6)!$khq))sdntw>0O6jxsJc5dhLaZh5miY3WqOZKS#L`SD3$wc(ie$No)qSU2)DV*9*8E)p-%47ga zSF8TB5W`aiNAuaB1w8r*4iec~>M)|X&R1n3To>dUo&2Vv{(}kt#_ta>_|~e+!LZh7 zZ6##p743d%Lk=6K;rCu#Cynyi_S2kc^4RZ?xxanjefrLAt$$u-1dC=BuVOq;x>&ky zX3vidtJ|bDZU8kN6&JDOO*9OwZ0_27KUn=d#niL-%I6(d{SKdQ#?9-`r7zPaH&z-p zA{j%sdDc?dK67T*Rs&-zXE(2Xqg-NRa!0#*2yaL0^_|${LQQAS5WT(jz>%DjBJ~xz zmOhY{hACZPQEvsztn(N#8DwVj?{oVGC=pBP*xU_VY^=)(&)x}$TXy0JrwBg9!UMH(TG)W1D) zWOU!kj84c1)<{@A47iR5(7RTVfI?iir_U!eMX5?IW-rkgz9WZSBx=muV#OTI^C z+g@yq2n5+*m{vLEevdd`R10dL%e%&(^JBc&_$Fi1Tao-EQXD(ir7-{9h%?gAjpH6X zRMsZyzM5H4y~b!v0oOZmgJOrEyPTNaFC`P0MQRHHDyf2s-CgDpUa9qv>%XSX%CEE6FrZ+Uoasent&dK^2UHV zZ?>tS$!z;tP1qPi|z)rHI{2IUSE!(^}tqGEFIY{9*D>ou*$k`K6TYZxPUx5*y+9)!H$dJC1}Z z3Uun)5AaBRfn`I4muzH>@RUDMmoo_r?(d!)G9M+*VnE8a#%VAM=C(gQ>_lZCT?+le zP9NqoYTGp9HX5CDNU&;>p8TiBAK%dt46R&gCbgj^N#^Gc;eN@cz4?!>cMpBeKM>Y@ zer!kF`Hwo~ChO52^{UqT5UUAw@x?&u`v1>X2U8aJTH)TWS47i*0baFpok~5B7RquF z1+Br#R-=@O_X^yP|Cq+U6q=~lmRc5uq=o9H9a`+#4lq|W=zR#YVS5@w$6QDUhj z9iE-W_j+4ptDl?{H{Clw#oGx=u{apR%NtlFt;aGM7WPYpgFLGGn|5Mz-5Z~MA#P-hbgmg==+1X`x^ys2F*03Sx+|1Pb}1F8 zmIDxWRZWgIlhG%$jI(c(t#CJSO+Nj@pf=YnLy)C%S|U*Wk)xeo83KMsVP(QqPZ|4l z6TiJp9OC*y+jx<`=5Vr(4w3TPXFuxg%(M?Gk*QdRfT^c_;p=q;b&^Nj*Jn1o9rc*8 z_Gd#Cn-`w5`1G%T_#Kf&r<)#bvk`wASCD@l1usK{33HNY(h!VoG-*Juk#p9-oW@5TTdiU{Wd8Vdv8%qjubaAo>#HfOJLve_xWt*FSZC=OeEG=c%H8*RW(Z< zclI{#B_*ZrYNAZA=ga%ldaUNDZo#~14pK61 z3`!OrIPDJ&N@i~;v6iK3IRS45wP8v%jp1lugr!GUkN|l7oP@5c2O#;9h?B^fV zBv>T&et(GhuydkQ6gYjdWia#S$BfKPo}~@XbI-%r#ji40)<&;~r?bT-Wn5Yvufh$XsQkIqP(2q&P>ye(DMn4qI28DONa#}v(RnmCFOh)-&1IGwNdiawY=^LbVqoE!z5?3GVrXu6w*EML4 zoZQ4+*Od<^2p~A{YWp_3y`hi5=}}Ri_Zu{)u3pWdW z-U`=mH{@4kO^~IC(6b!3jyde-l9ip>H@@dFJRZ?$3ACS1*`JF0$)i|q#k@v{V$R!3g#*AQm@daFLO&k60xX5h%fbN10#cM`5BWNUw;D#TFes?iLwY< zP0fY=$GZuNV(Hu}bsIwENpX7sgCd9g%9(!GjYiTCGEb+5ThyN?UVX_>dP3b?@tg!> zBBXzCpgq&~9|OKMvrXW)M}PYCYL$n~D~to_77to%1Oh(TCONDu6Mp5jmh8VgC}UAd(f8Zt%m6OUp5^CiK6qpVg^5B~)Jk*7F_NY>vH$NHl1*KO|`!yS)_ zC`s@?c><-;>I%^>Jrv@e=6!FB^9b@ZiDv<&(DPnB(Y4B|(6aIb%CLHvbBL8l`uW8jcVkx=;oV8P` zhVT+HPcXEI>iX=4rwHm{A6-Lq8xQk*sjJ zEXY?Q_@M&a@m7;AB1+mx$C$l9p8@t|7+PSCa5V|sQvf~nw0k%V%~}#N_mY-@!+#)1 zF2%cRezP)ZgsEr53@XfGOWN}$UDU&VTEXv;8$DqlXraEMe*;-C^qI-*Hu5u?+)PgXgkbBo!(^85FUI(ZF~L=JC0AJhm?LWjs0v z-LH;*D-EX67%1u=t&v;eJ2RriFYN97!_X+-Jho)6#Ox)g#|d{pqUz=$?000I202fB zEms2P<2Ua>5DM)r^!lonj?m#B3vaxiGTb1!~Rn3eI?n$3{$3tEI zGzcYw0=wf2jlYM7grKwv-eKsdU~dpxer-D|sxyF;qD`eQZENh1tGI7NVzizd_RoVH zcCd95F>pn+%0Wbnl%S_4Wq7W=|IJ4tK@5Fw^$%v=x8Fo(#GOPuaEEYyY&Bp2y!fG=F+=ttLc#hD5CTaLca zBE%KEVM`a7Jv2!+bSt1`KxzHmFG_(%t#*2uh@RTb{;s!$nY0v~S^2z*p<2)3iB8ip z!hya{tiA9@_b%1Azq&vgqWSpf;q<9mp{VDiR6@#V{su!^8>vj%r&D^_%JZfBQ{RPV zg8bVsyyY(m7laD?5DtMUP|boC%?a^reCYOK{QL=ooKU!Bu7TC4-F0H%tvD&F{~F(T zLQsW!t?;LD4@qLLh_nO%t+!!)zF@s1H#U?Sih)C6o+jReq`(YGw=%!ZdG zLg&y!&&tish%6&kN~s{$Uas15VSfK%Ko89z#pNq$gwU9$Ay+y$w4al(156`8n8JhNSX4&vGdBLpxfp}A zP4)0&QD)8OzL0VvyDs>?N143PYdZChKMk+*SBw36X%tFVl8 z{rfG%5U_HZEl@g(x`Lr&d#)_n??&Bh+4oJ=M>EV%-A)w?RUi8qdZE+GzW7GZh1Xo$ zc9uxQ|4xnFQ|K<}ww>}~G@>Bvhw81X_T!x6FDVu@8{p<<3lbhSRsUcSx{J1}*LOr_ zh?Fs`fZp0>#h0`4y3oI5fbnMJbn%xzLrbFpTs&nGV}zsnO3b=c8DI_9wmFxBSNIma zyFN|QBe!pJ_5V!qji%(IL9R~&g5xfCxy)+BP(le{^kP#W_gN%yb9|}d=u}IAe8^Yl z>m6;*D7|PB5bGkszgdnb@Qpa4o{$Jbb6LD8lWWrxd#Xs3#RQ+Cgk^9G^C9b%1nL3` zZQ0V8d(9&BuPD5Ie?(LUf4ViJhC75n3@y@UhsrFp;p*<}v0sT4cj2Lq&C@Za;P@zx z5d9PpO3*D(FR`N2h|KiCu!7hfhnWgC-})g53h+l7WX4&C^C=xSkO7wP^(tJhCx;Np zELVVKz#h5W{+*2c)dd_iD*~=sv$+T<*+NAW#jvi^v`I%GBN_rUli^i`_@1(~8H@#q zpG9a`@Yi$KAi#|}sojAinWQ1Ezi|4!udlgt71(=8zu5lOc(_&^*fo8zzjgOc4%KC$ zA)z)h(MF=`xw+UfHIVv>c#1xLiNu{5^c0~Xdrqh-0tEskmSZu2G#6%DEu`^k)4x51j;0V@Nn%SIT z++oYaTbTKDb??OOcE-P}cZWIIOROOE4E2q~>^;@1d+PeZCHSaBwb3e&Bu?Lon8Igq zl!G%{o}vsEHSwrX@zjnuWKN|S6AWdz9@t6;R3F5R5TJW*j+`uklzPD5X)}=n-Q=MZ zD@cL;5hO5o--rljkgNODd`k^BgtPbNs6QB{ju>f&zqvdO2>&a=St4YFMGH_KT4cR}fa;Gw{vM@H zofIb7@0b?)yKd^WTFF>4bWL^6!nb-}jM~uisY1>H09cZR7myTGp{Pe)y~!<_v(ktG zK9fR#AOKx3UhV#k&P?BE42MRDR@mhlxF$XW%zagB=ShGznE0oYh-c}Cc+WF z4^|0I@GbEL22wj#a(L&;^Qyo3-jie?Fmx9Z590N*EY;i<)59h_d?4sn>IPfL!?ZG$ zi>N;_w)tGvMi5$Lef6&XYd;}yn#1!UdmU%%$GmBwH5)>r^tx#iVd)Vsr-1Ona1B0!OoaFGvJ^37{_fjJAORjg7-YlK2&++eR~5 zNn(V(vJaual}w-->|V|56#xwXL0N)d&Q*Z*4|^^*aLGh+QP_)1WF z`4EaFBf-uJb0L{7jp2!Ca!5hyPel$z^;|b~q8}&Im<~e}WN8@GFo*Ab6#USKUXr)v~y|zdoXJjKKHM6 zHgbC*wdi%t{cRTqRmk+?4mG__x8^_{XTQo9tk#gUQ+EG$bN;KMBSA2nID|9`s@}qL zE5F-Ihn$H@NMLKw>$f|-p(l;U!(*gl0KZ=O>uBO3OcKB2jAb0`wKb4Wv(k)kb&CQb zefNYj=XcZUR2Kl2=++!7rbvW)l$imdyfItBpsmq)ZF^nRU>g!eO57>fuX89?1KU&C|9J06yvCovlZ)G#_KC) zxxdh50+4iHOS&C-g-Tr`ZVUK+pY=>xDDz8W+EW6N9}kc43kayNBUK_D&1 zlB{k`!z=&-qElKbuFy|#BeF~-Wh|99Q=&VL|A5OERs?Czy`Lryq>`~A3gnaTb_y`E zuKD^)H;p;V7krGVKK7>+=vKHwokfgE6o~?PW$|+0_AVXa(Fb*Ojsup~!Vf%d-WFK? z9x~w>MJd1_!}~HMASZs-Mz4&X6682y8OMSDs)PW#jAvy~)NBD)Vrlk=^M6;sXA}#x z@$WF>X*K|z`ftpo&to$(t|@Oi+*=}zcNG@55 zYrXy@FVblTI3(3g9LQ~aLnW~S&UL-LoR^N2;pD#SOxCtQ|6X&u-(wK78mL7f9qcQAr-rw;nj@HsaIn}9IQ*5v?vYDq#F z*j|63St)?J_D|i`AA^r2#nxPBjWsKHH)z~&E0&1Sn2(4feYE_CC9oWRs@{#++#gTA5T2jW;fVg-tPPv1#Dpg%3557H<2yN5^JOTqEJsZL%hvJPgXBgn84S9R zFSKsnseq&Zw5bDNOcfhZp=N&m?tsf28Nuw@FuoCf8R@fMgaJ(Q1&~vKEtkdP3|5Sv zw4>^wVZT9ZG)^xISx;B_c*dD)7=UJX4wV5iAbG7$gD$?lU#Xr3POV$6>DW{5K* zlF7@9gFuWy-W7-M@83|=gmdxghDHYkEoK-RVz=uU9SJP9Si$el6uk#iHKbmJh*fT)SljOLA|H@m;aC5P05|#T z2meCGtV$?Qstp=6?$4O{kb{}eg=1i?@?!LWogbx0-Bp?&tr)0nh&`|nsU_yfU)xG7 zGn-m4G|5gcro2Zf|aB=#nnVSN9lvqI` z!fe0nkvJvxi3!2JVn&P`Qrp=7TuO)j)1r`THJi@};EXs#8UXfRSvrwmKrV21z(?>q zC^Ii1_g^X&<;KMuSAs*Iy&@*a&X(e)8Zp3RgV2$Y#HXputImTJ#v#-N11CHZkvq*8 zNSf{oY%$#f5r@-vNr*7;F2F>+=9HThn*eiRi&wAP3>k|DhrCo+|DGdpgP8%=W}})W zbcGwCVL4jLZW&u_Yz+alN%T3eS{R|gA$Q{tfzqhV$O6;_)W6Fn-*571uxHuhneSV3 zP8dEVr+6c9aMK3 z!%s@cc-TTQK%e2ki+c!9_np|{fYkbZm78)`0Q)sRbLszx+%qx4DS*4aGEqueH0Zt= zzECm%=fbQa3FDEZO0iuvVH%YTV-hG#=C3ni$Qzzh$4{>V6A{C3LdrI$nHV%htUPJ_ z0*j_c-eOaY%0HFEJ04N9>NfT(F_6QiP&i)o49?lv{ObPCzF-(G>^2G3T!;xtb;a6{ z#C$}7YK5Oy2rpBHr4Q_$`V_{&k_|t!8hm%tAXEMuISRciHWdJ5FxZuJna6D*MSSaT zghhZc6fn^1lwMW@h5=}!1;0Z;76usD7zA$9U^K>%fQB6sZ z0;+r@IDRt>4VJ>kyew_w|Nf{FkUf@H5sZ7HPVkEA^5p8apz;T_wsc|do3)`fUd@7P zkdk`c68Q?j9rEVi{(Q7f7&MkepCjQ|AAMad2nF(5`*&Z&{q*z6>SsMD-|ik{MsB(R6&^*_10Yi_@gW>@JxZ;yD!PS_@e3GKp2NK-JH#PYx3y@u z)Cg61dZCH*N4NE*<|dK30kqGm6pr%y6ga!B9wlnP2}&k;lfb2hPTZL@)~>JvhXQi3 z%*HdOSEOn1REA1@L;8;Ekjfau|4YkhT2f zmZjYXau_+-r{Luc?#r|G4kmQ%gesvT1YG}g5#Ka;HxORBho*o+;x?bUOyc~eo(`j{ zS5O!_an7PzURXUz47AGVHM)$!)ezEL(%!7i6&G~QU`tnqFr#FkNAhm`3DlwQh3pY} z(5!1V{}{p1sGD?y^&MMd+D&hV!J`Ok85x329PBY8W-s>y;p~K7r5O=Uc0#rw)5;6? zB7W%_BrO;Yp8m&5$=pj!j%L5BWgHMbQ5JxRy)9;J^d4;m#$!mL7=Iw}pRKxMVBPKR zv~T97CrPkY>`wBOAScSou?KmO*huSePt;8izihu0{Atibq8FFvJ+BeTeW!#m^QO2E z?#D!@x*4_t8B|8M5z#VTbYa#gVhRigXJ|qN0K=J;BOS*PO>OX{1o=Fp(~p2o7zRp~ z4IJIG$}hfPs$kZ~cRP%1J8BZywy_;QA+%jmMIHX_I>d^KI|N=%WzTklf|K)#V1b#5 zILlWW|M76XjBP3NdhqY>&B6Nd1zNXDH}L*EHA^T;V5L0m6C=;?Nf*M|5@3qD%}!KW zj&DXB>}0i4>BG-_dI}8Z>nyM}6LARTEmn1dYe$d}iw0!P8Mk>FNKoaj)LhK9*?~{6 znB}?aV|0I>n4Gt4-XNG`l7e5z6(j;~0528U<~m2Cp}X}a6Sj#b{AgD&(X6lp;TM}X z&BPQJu4#_yt(J@i$tBfJY;oMn{YvK*f43pg!AO*&dbAt3R5M%)&Q6QC>A1|cX~25B z5oB0TiowBWwk(N5syE8+cN|(Wd2b65!aVLPSm<|0uqkm!&05B7D85mN7YX?Zz==n- zOyMCXNiuZwilZ6<|1mwVAD-hS0CWGeDh0}D1bUQGG_(8ZCn|NxmB6`fQPdr2Y*|bY zXGJ0uy;^HVJ4LPX9hFbjDdF}Zf4u;j z#4cA=aB1Y>?wd6N4=K>r(QT6K>;WX$+q}j&TE{MqVHm{I;hGzrdWJCIGt>{!O6@qr zAx(+l;q|wQbgM+EZy|8BPvtJuCt>`ZL0xQ=*xT@w^`G*C#|?Lbg!Yk{8fHjN%cFL9K^snAXQgRei= zjVmI7gJ(o^NNpQIDKOfaWa`a`4IfL{zBUizN-HXPsfimK85=?x{wkl2>Y0Ex&r8dU zQe?6NN@`B#K_A;TGn34OYhsS{KV30FqIp8D5;Pyx{j3!L%e1pFn;6?;@Y=Par3)0& z;e+g#8m13(2nN@8a@n}_1CfV!ADhz-q$FVC0F1^5$B(4XE{EbNdlHuWl-R{a=0a87 zwZ9HvFjn3W1RxP;Cf7>?#X%SPZTW^dfQH5es;%3I06O$5@RpjgX{mXKczml^sV(o) zX$T3ZD56ypO{m_C5JD(XUYP_4YP}+7+w&1d4z(rsj5s7QK8L#8;ze|=1Wur|9G{V2 z23L^M%y7X}GtvQY1*WjzQ>J3CowLW4zgezeE!D38k-poJ09Zj>`*R=1mMlVM3C#Ig zUKxZo!t){hNzhg1++Pul#)7)_B(d>g-EZPaqZt{E7QS}zstn&14V>`Qn;>N8T#Onv z@f!rE9m6^Jtku6}u%Voa;kHEHZ3(#I%P_F?M<+D?=1(RW0uN8?WL zZ>y(LxGOd_n}lHahcyDF@b4bi4N@b&m!jC87pS%04Gf3~as!$t1}C71@GA0Vr4ap; zU><$|i+x5YIcGGdUTz7!(x}y6w=xm-EyON>R&7pnWP}8C9{pNedRK`dLQf#ix0%1< zaYlNAG!RF}{W=yA)%*!U4Yns;!Eyhcdlo92aWJ#4mo#>R9JVnq7WndtFsPg`YH$=N zfT2mhc+OvoI;CTHBHxWXFtl}Pw`9v^F<3Wj3vZN1*I+sT-7xyBeZnI=9_bpoYjy-@VJ5;y%^TWZXxN`|5MTrR88&e1y(mUc6@fLNQ+o{iMS%7zrQR8kdcwiEc{BE z87?#kTg27H2Q^N8p8Q<9?MLk`mV8npP-2DJl4-R;OgN*{z;-nRBBB>()lJ7Bt94VI zHV{F_Afv2oMif{CT>(-7do$4F;JEM}1qZjcOkass6-JO!feG>xbQdOOe!vR4aFM1u zUz8(~kp1P=2;xPGREE5p*DfN|l^`)4LD zUR`XmDbcv+BRTxK!MHq9#-G89-=wko%xSbY@!_jxG##|sMg~NL6s%ungx`riD&qEEPNAR zi8-g!F+n*xefOuV18PPEo^#OR{C`3(^uU=~3@{)_;-K8}6NZ{bKxCXSB}E)kS84Vp zBLqD>f=WxMDsd*N+4MN8uxIhw0ACVb`XzQu68UETAd@G`v;;S!zD@H3 zOaTk*Dx|PwPXn>kDev9K&;n>{;?CQeFm+o~h4CZR`rWiJOxa4R7Rdb3J z#QZRo>=tccS^z8}iL_H6AFg}tsG)+K$-=t1sD@WWEZcEfPd@4qkWr@CdaJ>p#14A%$70j>VHR*?@CrYJs_so%M~i7RSOEqA zQsWE?B9}6Xn)Z+Ef$9i&`UQm5u>&VH_fPWOB*!pUfkH_FzJkJKCTm7^n{8X12!~G# z-t8MeBxj-No(Vnu>1C}OfefYF`;+CTudJ!Sz}fRG@MU{9Mcct}?9zoqaT zm^KRC?cXmnsJfL%$KS+6qI`N6{Yu(PB@Sv);osZv{BP+i3EC7kA{;6?Cy5WJ+4?CU z;1*CP*%E!@Bb3O(q)2 z^&c{*&%ck-f|$L3l|({%yyEF38EQ5&Mt2$J8W@m|mJ|nwWmNRbaLPQOLQ7uxkl@F= z>SsS|&bRsNa|q*W_X&h?VO6T|e-g&OG$bq@OYGiC{N>6s)m*2O1xUzQNQ8O;$Yn^T znZiql(P-|c5(&M_WEOuz@{vN(b3~PKo@S16A0r{X&i0<6j2LY;^OUL5RNDI_^7XxwK;Hv-<)yef940ii>q8C?i8Q&A|mc= znDn_{0VSHh&zlz9Zsv#A6H`CXw-9Vz9BYQ0wYBN$_OWf*)S#yM)&T~|ITZl(Lm-_@ zD~QlDvqSX@Uh}`dh%5R)2tzg9Vmj2W+lKECh9dTED3l#@B z?BlGffZ^GXSKjPmdmTP<1qvdS0MaPNDnop<(#5bFl=*ZroXllD%dSD5d`1MutebKk z>$}C7P?DCR&1vzudA;^fQX&2kRrbRN2nC*0jXIclnyxS1uZavS!t7^{y|8Ay1jBFV zr!fEj!`NE@MfpZ=!?H9|3rqJ>OAC@x3oKpBf^>&cN=YfTAX3t;#7YTLf`Agzjfyma zNK1)yNXYvj`uo4%%=doZJF~+u3=H>k&biNZ&ULQ)eqxqY4>E!Gz8IbtD6l(Y`KU;)ivLro1yF@&}D(H2$iHMVk-}%i&RbJ8q4Hox|pKVbN%CO}8 zTB@wNE?5V*@wHe;a>-SuqCmnT0VZ)j+{mKJ8DmjkWz$6L&Th%8EF&AMmpPKvm;UcW-8k$7j)I7=`k|F%fC?nCv zdtl_Z&LqW|J{*W%q*l1_k)`NlP%o%Imw!|G|LYvhy9mOsI#|m?sw@t|p`oLvWF|!k z?>uR-!q>H-TEEx^s2@h^l1-!&@si0Mv&v_+xX-ueF>}thGOr3XY!gth;A4fK%zv%- za@9kezfUdlqIEqAl0??;&(HXL)_?wP5~R%a(?dF*lLbTZYMa_4EnP{?Ti3z zoAcTaphGSBlN`S$({fm1w?8k8>Xdu2(b@mF!sZ1c>_hT3B^ICMuHYf55ivEG=Fa%? zJ3{XI@ZNVJwura3)X9jaeu}@XUnueA{cP~mzTK5Dsl-w2Xic@VL$zm8noZ=;K@#`u zsra2nlHl`xc|fq3f4r3fZHJfx)E5sEbjTXh16Jpc3N_O~Q7ri^lt^HR5b<`O zHMf)QB*F2`Xp+4VP{ly29~<*FJ+1TRo$(+?e#(^}BpVa5Z1RI>zuLtF75*+FJCKOt z;&`ApUDD$8^=n17n`RjGos$=L)#1NVX{R3pjEs8cLj(fi^RaM8ho7|nVIaBW`=b24 zEFFswkI(+p$_VKj*C7-PhR(4R0!Yy(YJlA3Q6oJCQe=Q4ye+QIcrM`$#s2#ncJnpV zm7V5Z@FY~Q-EMutayD9l4cldRM2>$|F6res1GhpC^0&c1c_V{+b$^|8{dw-=v1 zc+)F*aG&P@^lC_bER-)sM83M{#n}(G=C@BW8V+G9pJpJ);(K=oa~#AuLS_VgO*`L? zIENsQ(?SUtz6T%hFBy>Idnt@HIi|GgLJvRLqRWU=y1^SxNkjcH4{Gc79;SQ+Uk z>DKV4it|=g;B3%g-=OMSGp@);HAN3C1nayX%vl?18%+ii^3d%pOt0S-*`OREPdXL! z{&I=*$>x52v(CLQRtm~5;toFW9C*yb)stK!=iw} zkTE*WBAzM7XS{y1=T6%ES*{zM%cl2(xyxJJ@T)||%b8MI>7R}Fe5crd)L*cb_?=lj zRsMx8PKK#+h|xfic{lpHmU=pxGAag!AE|$&RHKn$8IMr|*x2wz&fQLYPsdx8OB~T% zKDJ$iG_r+Iq^TRlW&wXXg|yEu^c7XTOdrK#(!%RvD8%5KH(t`usLRTtlA=GqEKZ@_ zOuF@Eqjq_^vMB-Nz`Ny{qxmPUZy<5D@$tL*-~xpBO8$Cvca7~mmCNtCg zN@h$Z(`^I&Fiwo>J#ske1=8ShfXi&<3uTG;Q!bN$8ok@=^TH<`v;m#m-FJp~ z9bI0|91)%h%4x0Vd{BCPyUa;Mm#EXlSx|Gup;m{3mlN|XYFuo{lt&nfi#uOP{+u3%UXYb7uwkwp-vRM^+nbp33t<2G?E7P?r!OD$4_Av zi^rz}2%_#Mwe7w&@!03{+bFUlg6=1?wc@jzK3@fXc+IitU=VZ^oP-D>l)HMrARnnv zb=Rjirrca8+qPrB3gs*{rsOK;eL@vu_4(9ct2LMMM4m(QG#E+2c6ETU=_8JFU2!od zZ?Rh7kmSRX%G;sBtP>fGTyR9u)0cY)94b)P@WZyIRa#Mt42^Ud@ZDhBDItOs>HAGS z;@{r5hW$0$_ovr>lee+x%UoIU>g)HoYvL4{!!AGl-f&Z_ilHqDAP6VxMSl@=sMin5 z3;paBdr(*K)U0@$^q6-jaa(r-4Q!I*Ey+)xiC+Y09Z;eEJ@V4`B4bi-rCV}AxPi}E zSA7K2L`tXkv@yq{M%fi&=uo*=2fkYF##O&E2_RqJIL^+}i0e>_Cb*{k9)KqN2+O4; zgv7Y-9(_ui{y~2DEx4*+WjFcOFku4KhGuGZkuJdrry2LFPv85Iu@tO~Fb| zR9*ok1bDF*wWw;h*O&xz22Rb?B@SRd9X-9jXmyzi{ATpp*=q-o4B{9 z5TGt-ZrQ5r_tyhIABA_}3k>CL?S_w!e;>$yX8b?x$_@qu4Bzcirn{uABs(Kv{BN|mm&a_vjSHx|J2 zq67jnqUh8hnlbhaQ`Ax+WXm>XhQv*#*j<1EX508g@$^P+d_f4j&1SDwJ20T<>#GUV zVEs(DmtLnl$OfjCF@h?wwYrd|+W1qPM7pujyT(Sz6ozj*KONvMdgLfmWiG7M@?ab~9rx7+t<8E9>E-VORp+f}|ko>R&btrE3}RB^&92@Bmy zVB5K?2BzXYpI#*5 z1zPT^z>Dq-#w;4h$xYE5Nsb9sk*9K~8*Goj+u#+&Iix@&8*=eKrCehf(GJocrI3ERN6eAg$#w`NJQXICqla zLO9Wc*R9C%W-_Y2#F8xN=+RSt9Kj*VySCJ^9{VJcLNnRE3^_cQ>-K9NH!#;2 z0mM9Fg6+0DJampxCIZ{8j-G0ATV+-f|M~ah(8*T(3wPrgD%Y~b)jHOP5*sqBAlwZs zy>O3*nWG=S{$PBqjKFWUd*8-%3NpT4v$Zjl@u79Yn5?Wadu5~eg8^pF5^VYue|OsU5iJPfRQwk$nuYv`p)S?m#um9Gi;PLtT)W zd0?(%NnS?K8Jx5RzOTGbVra{Ro#f?dub#QXTY+LjdPac*Yw75Pq)x3Ya`>%!Wv6Iz z8~H3ByOkWOYn*bjL50IJXkgAk=AYH5`MD6NDWS$%^JbCE0(GjVLUlBpAGM7v8Sk5^ zqeW6B1P3|)R86ZaSOH04%8RExxw6SXOiR&LF#gj5T-96G2&_kn^?4Zq3Ynsq>@tsP zDm~U+)J^&6CXN%$eUIT&0>fq=qgLLem|;vO6tzA3Y?An>){I>0T9hpvxz@2k%+R!y z+5wqBhi&CzbI52We|WkFmc-Y1$-1eB&)w&+PF4Mr!U>1{*z!6% zBgbSjxjk`K%5|Z*NgV2wVA%TgYIu|$%o6iXSp&etT1cYN3pOk^Whw9rp>k2nhlef4 zitNq~OH`Yj6Wmpn&v|0g2Zgx;?Gn_7GjQ~H@()ZrN23bQC}JqDx0?x{h%g!Jtl;{G zva9w!jgYtW=fUkan5~t`{ewjqA)M`q=)mZgLfFIv>g!E-rNfk!hPNlK&u$Q0iVg{9Ey zL7f`9Ur)F>HHa!IujfRHny}FCJ}mQ3a?Z_Yfb&+SfHc{Woi{TaK7*s-JIl&H=o>`| zQzY4~?B%Yf{6OxXWOC2G3 zlcJqD-zPJyjOw{2q7*YD%h}D-q`yd$0G}ne5ok2~`HkKGWJwsoBzG|PbSqRGNSJM0 zpZUM zlA?ReVpB5?H}Hs3N@i+ho?rRd4Tl^rCIIvQs5nk^uYq9@*tr!x0I7ErF-9Nyvi;fl5F8lNPw5iGkeJa&Bs|FV_dzpHnL!R~FYurECpBp5 zd(RK7=dKPWz{t4_FF1;}qm>uunYu*_Z+}8LDA0XpvmI5Vh6yej(ie{#zMUhJ54yhl zc_qL=lU+1U_B7XSENMNa>W(_4&CQ3=c!?O&C@P-`u9y^aZLQwuW;3ibKNSBpGT5-r zQ`4c>3=%hZ7;{OIl&dha1{XLhqCFknMwZO?i{NYDgO;WK7S&vE^zaI<_0j)qy*UCT zX4{7qeL@M>fI{BoluBy`|mz zammC{bG;1stIh@(y+>Y20|!XCxlx2I%~bR2V~5&k9rjeloj9f7L(fhbRifXK8ijA* zgj~qa37o6ZsDk3K1*m@B*Uu@Y9yW-lonEZS;fM8#ySrJMU#M`2>@_uRKWTEZaFuiopnn%JU^GN3#-InV`CbU8ib8?5^gX zgEUcV|LWHU;!!SwFX42>zPNvTNI-3dOXNoSKk0y$5d?vSy`g3#B-Bc8eZp`b=FLSH zE@BaS-dHi@*gGY=(@ANeOwMMCYc(jdr*(n%G3TY0_3V3}>x0s+7aZyZKcm!=Gm11j ziSqPqLsZU8Zd#jQR4T%3by^>*W>yd2Mn$f?)-wIYe@sC0@kJa$#LeHIBDfB^+jDVn z;pm)UMvTj|p11_%8;>oR7LlUxdio1uzH3S$Tj3KGKHjPDN~X#&Nk)y5pB}vs({xQY ztA^MzxcU2TX?rd$T4ecoI?WY1^g$MjD5d`HC+7b;IyDUCr4t!Akij53J3E_XZSh2c zCkGo76Tyn?BG|o@y+UPXZx!voHThSMCpauF9?qYDu?!cTe!c}9_bXzPI}`!cEpTia zlN_?$wX<8t<9A4>j-6Pgco(|F%#SvtU{2e7WxCZlaYI2m)}YdYF`}@edZZvlO~zK% zH@<0S{mn%qKt8DxELPd=@T6(-$B;{ZR5b1$mU_7O3^D}EG?rGj@AHdxAM$E4A7WDv zq*UKb-FTJa-w(+1sd8FQfQMu;`ewX19jSChwa`)l&dRSI&f@-;D&S1OCL6U$l~kd~ z$O=*Bx z%X*%J?*-<(1HXaOlP05le@*cuunE5|1dpqtL$P29Un>+;BNplXLocGl^`4}nLZxmZCSu%k|Ja%TQ=OP57G1MqlF0&3QN1Q9IqWC?aU6@Gzr~_kql32CA7h?2$k=yG%U@&8Qdj}tSbBh=Ypo2CVv zFLx+PlRoh|rxuJ_Brtp_q_Ga1~)fWY6u`sDh&6Uepg%Mm_!@THgO&XeozXl^?{R z9&5a+EIlG>Zfj->(R}!Ag(Jq>u>UiCGMDgfC)98lBzUcnM)BmkD zLSptwWTmYy_K817*J}$7)hh}2;kak{144~lU*TwxjQ{WpILU@? zX9)d^Wq{A{BCg@~&z0e-DqeAmSvaJ!)<@gBg^!#%)uZ7G`%x$OeIZmMz9#3C37<#J z>Z5^*8AX9@xL8GX9 zJmYL^i?0ho+51Te>!Wzy*$VqxoffQJ@0NI>JbFXj`86#X#842#rIOCUwwPySJM?f< z;^p4SjKf6u1`qPd9#gl;B|*}f0LH-Ss&SVe{1VqbQ6bNHLy9OnHJ~yyo4?e#M--$}4ulC!*lzS~?f0`9{_1 zC=W_@V|wjA-N-jsc?$EmJnmqNhI_uo0tZV7#g`V$z|y#RC&e+l)x^{eP#@%pXcjBzv-V6uyo@o;M5f1jqF;27LVukKu7 zeu3C{iD3}CHFZZu=+I8tTy%*`CAXK@u2)+NKP~U}=LpSToXYl!1nK5Jf$x5vn7Oz& zx<_6uHD3qFtfO1kK3%nb0C^U3jYx8FBZ@m`)p-F1YU-jkdmO?1P_0^b{{(0O#BAzx zuL6G^Cr;9RVmrF9F~YxOT%EuU2Hm=8MObhk3{qB7K-u>h^RuJQOcG*xxQC$kCikdo z=JQcsHK z;e&lK1a|X9kIP?lwe|#&!+Hc}EcAVq(=qZZ56tS#BV;qr!yxwQt;7R6%czHiwtM2F zLde}olt{Va>&^*ni~)|e&fXXhX4!j3+T{-_Z58v7sGmaFw2IE|8Ro)o^4r->Sv5-? zb~^{C3eJ<#J_x=LD}S*t;^)M|t6C#ub%S|qS2YvcSgg+-)RRF<}KQX7}qk%PikF+?!3{mL%I<`u1px#COJ*2{j+fzuz@~MsEPkKoT8KsB{t+DW9T2aXP>c5ihB`%?Y`9SCFgSd*vJe)Z5rWgW9 zi9hr}x0;-%GpasZ@$qUsRG9Zy?FV7Ua|n(l#z$kH$^^aykL_(KhgVsXN~wk^pAGq~ z1pi7PfG|Xc4;r8F3u%2gT$Q5sw}o~-6Uf)9S=Ef=@4KaXz3XL-g>VDHtWSAO8?!p% z0pcNYkSTk&U*t}L+aKACD|PQOSryX&sq0~x5jKzZL1n`Yxo;;uBjz7LQj0t4Uti`t zw z4gb}+s49P==XX3GaVoOy+q{>(>-6<@sbP3!@cBj{9k%opU&o660(}i^!U#^ywBD_W z=Wfj=!~RU3y=-1NbpwMDAcs1`^v$b8p8$UZ(p1L$$h+TKZD8^`T!RJe%YhobfNT)A+^@ zai`U3Iz*@>8FR!^Jy!o-M9wLk)cH8NFWq*s>c;!RZBH=wx~}cc$(@_#erq4+$sn+R z_$yEv4S~1d^gF%GrluA!g#cP-n&zYTTj4-*EDj$xxtqPuP%5+_2Jy|lFJu&p#Zo_{xOhzBh`X%_{yzsnnt65rRyA^x) z=FildpCpyWafY~a&z86!iQ|cD{q?+;^0ma&StQs`SY*0m$y!w9i?K@n^&eSFAc-j&$E>WcOTm)m@46&55E#T*3>54&AP1<`B5o?kaC5!(; zk;L!dF4@f=OE#x0@IBssuE~o0Njvr^VehK`D+Z&32q6d&Rx!Ld?i@d8z%ri|;h@~9 ztHRG8ZwAvo5-%}deDZA`F?#iAv(|_Wx!o4EzSGMd|F|;fpj4J_#hfTb_HdHD>8E#P zvcI|ia_aoBrjWLmq6THajNfAHyl(J`zV7#am4CUTg3z^oIc=>2`xuUsr+4BF)S@vm zr&oanw0Q#v%n$w%?aX3;mr~6Pe--d)d3M*N#8y<@1?;cSsH{L)j$R1W_IxEMge)6x zv`TfgrN0}r%~+03B6@%NjI#pS^f+j))A%h%;Wzq;;#7?aVIhMWSW^^j7^O?GsI9YL zl=V(jUyX`Jg`XQWtUtx?cX;|&`iderUFs3ziu$GZYPoI@fN-xRK02dmIaY4-MB?^$ z(O5B7wER9v^Nuhm(ZGCZkit{Od>9XyB>lI!D6llA3#SRRea{2HI`yJHpSUo^ytnyyZHiLG9g5mU-+b}k#GnyrLtH? zmNNsn&JM!Wl~NG7@86E>lWUF>wMu%U<&twudINlh#Zl72(WHXU%JbF~CpyN}qwMjH>HN5vn>Iw6Fy;NxH)%$n zNgJDu^0#RZP=HvHk>7olPO2D@uqS86%sM)2U{)_-mdl7zP#>3fhV3sA&92Pc3K;v$J}0C$>QJ^q?|WfajBY4JFJiXz#g$j;`D< zd+>`lGd|PdMlB~}o-^JP7BoQ@r?W5pn^%>Eh|KQQ-Uey}bOE-~KH1V3%kOP`sg>Hw zz9qos|N&a)`kmhrtiI_Y95q5%KES~%C zy&n(ZF|J&Z-STf|2~KC*lKK9%@t zZP6Fxb#oQ2IkW4Ca%PU}4E66xY2i&wvn?hswnUI-{j0^SD_~|p4(BHa zyQj=hECxK77AZO;KO5dw)LqrX%r`L?g40?nnGXBseO#jMo$%5D~;aGIcicx^yur#QpxRQ4i+%nf0^x*6x6!9URp`oa=z)-0kpV~ z1aXqtav{6Oo&^5LGBj(|&aw0{z{n8*9Z4HZJUxR~154^NHlW7%3=uQPgG;TreHw;XdLq@KZYoqivPHFCJ<*^F>Tea@L(-F7>KmK@jenVXQmOBwBuHOa4AybihTvW>g-os<#9LF7M>e_eVG% zf*7`E&wu)ICM`v>#}Nnx%wJzVnZDmBaCY1yPg?2M#kWLRAW0TJ1D@ILH)OAar@VgN!WlL+ehIZb07V_xCigQp573!&mrFQRYWKs$O@HNf$Ej0eS3gaq8s1mEG z<;BSazALLjd%#bxT*|eZdL$`6pk<4#hv|@<9xR)%-XtY5Sy7pbUxPIDxaj>Zp&&h+ zbV5kh^{9i9+}{QqFntYtAwKfE#FJM!kZ-hQtbzI4UBWYTTmR z@=%@wyc+H(h=5)e$BfNHkN(m;{>AqXlFu@nHM!=(Bb1X@Z_`_#fL^U2{}*~&jZKv2 zhe~xlE1{Z(BW{R8fnaXL;1ofzG0$9YR9Q*`V+(wLeWU+LW9Y2OYXfSdg!{ z&f_{~<@3d1{#9v(GZ+@hiq2>)>Y*|+XIq(v(^vX7EizR{xed{(MTI}GkknF~{4SrT z$7<)A&%DDS@g7J-sZaw^X$r3=Piq zsV~r(spotJGBgj-=uyP%%JI4VTGLdZUmne3K70-LcHJLz1(IoI2oWT=y)?;LGf!JI z1xn)=@AMue8W{tR(taxd&3%<-d~qASFkR(H>rHVFH~Qc}B6v^kCcTZ!(+J^$-Do|Q zDp8FzW3gp15<^$YeeKuVDsh%y5g8cTEI#uA^)XD(PEbnm>=uNJvcSpdyR~Fc# z0xmHSV?PoG0dmDigu*B;3S|@E_Go%~iN2sl5r=?OElu|5tN!pE1r@lbbq8J|Ofo_I z`eL>d4$+k2sTzCTVw|+bX|Y4-1JgNi3t$-Qi`2&xv;VPOGQ^*n0TgW60sHwZ+AE=0 z>y>jMv|+4^|1=A4w6C@7CDdJSxd@o5&^ezwl8_?~X`xJrqiC6U6bO`C&u&crW!1ew z>KG0y>yo#g1(7P@juwaJ*qlkg72}Lrfm1IJhiNu{jUw4@d(tJ28aT^yb`NV>e5>q^ zklX*3aZ@v2iKEs(g~`XVPM%jm^t8Tkv0sl<${{`HWqdwXRf7!<7~EYQ2d>CK{rl5H|=Q>49^BcOlS-TwaEjdUPgNEZxS9ULdD+-g4k z>BI!k7rXKJ5r4v4j5CDH1@lw=DhRoLPX%_d)!GGeSZ)Ihi`TYBuBd0ND|gpkoOzdlV%s4n{y7Ek_!mbp^I;F&s}+~tt=W!h#=-}JdMb7+&~2iKRt8GrdUCY78m70leoYnY)MzI~rMcQywZ_!qjD7O}^QOW#R}z(Y^~ z0vfq(p08^}5H+EK^>&Y6%jx)|=qhYIxdcN=Bn|F?H9sgERET#WdBud?D8R7~R`@;g z?d5uoU-hwc$FS8Q{dHW8O2RjRSLs%dn-#R&%T$dGgKF@5)4);%*$PLaYmr2Q2?+Hu z`FD!@f{!`yBaEFW-tvkwU%b>v9OQf4JsY?>Go;o@kOEV6{mk<*O?NC6s<5QXMssfg zMNS0JZVl#|Q`CnEm1jiX}oq$8+ z&Q?f;x@Tg5mva*xx`IS71J??Yz^KXQLt+yEXw^bl+1Py>mS?+7g>sq?k!ivpGa zO^~0wrkG8GsI?Z19IcvS2VTjtdQGCV1%#I&0YxCC@fO!PkO^|ccCYhI5zI$}ba%7Z z7N7JgXo$L=v3gJSap&@j5CqQqL*@$MC2jIVjL@sb!3r4g>{H4ARXx*Ufd)tsIMFmP zy=Q85yttnQnbOlvA~VZ5dh?03hg`V8Fi-W&x>AbQ3;hwtUA-lp1#LH%>#pE zL^;BZTxn-HSBz3vKHi~qfm>rfsT1p}gJFxjQa9>_rDx5ufh44gG0qX;Mn>xv*&i%k z|Gd(`!*-Sha=`iKob_i>#Q10hN*E?OHqiB$y^D&J5;j@TQ*OW~&9{~!?Zp|DX!B*9OgIMiGi1EN!mQwFyG!ISygWrGf(Awo-INO_LhsCM1xbkM z3CNJCUsgiUz=g4wEsFgj1$b>@kpxwCP;|9@Us8y;yR}wikwP|QB!x6Eq54`keP4Qw zK}N5JdF?Z+uDc%^l#_7NC*)?HDpIwG7wP^9pk`@(X1tB0m|V9Sx8$OH+HOtV3OwJi zqKQJFMHnycyHj87$@lDlkU+Z5HS=$RfWvY74;`p^`)rp-yyibt=R}QZ7)1~1VNzEO zYAiJx7j~(Brh0J!Vh3W*`sa5X1CEtmy67cmpj%Tm?^K#aDRtOqW;qe%b&zBK~SUwX8QHLAY~q zx7K0mE8!hDL_sPkeI+k*o<)~E>IFuugjVP4MjbZ?Ws-9apP!P+?ju`Ow$mjl4KF)I! zX*5U=q!1RcJBGa(Ce^%%ftPg2U;oP_!&xpP7cAF!#dOdTf=n=g_+VyZ(5aT5z7;Sf zf}3^aT_nU`G868ByTQImjZVrL6q`6G3AnS^adEKOrz(oXR@UjQhK`A%=fHiaaX}tj z^{l34!Z&*Yd7N@?-ufsG^&fAtLNroEC4aRsFB2+Y%>6gtvwL)SBwg9@fa|jm+IEO6 zGV9&%lMORg+k6%=(bt(|!k$3WUF5~8$0|x575ecJ!VOb|50zvEouM5`W8y;Q-fdJg zE;)Q)5YziC2W3xq<(!A@c`baN`xfhc^1}IepnSNAF%}?21b+3>&0O#r%2Q6#Aofxq z;_szIB>ez5Do>K`7>|5EflqDt3is=msiTV8&~?Isi1ZN7Jo(S~$8#Z~?Ou|s4hiGL zfIOCX10YomyLWxpAEMQm=60sYhGy9iG0!TkHs^x-V|{6iZD1 z`(Un+-N8nje+U)n2bLk3f3=`BXq@XG7c)$@C)TYo`IcS0=b{a(~@M3a?t-KQ(# z1;d;YzVj?lHgjnZt5vn{6+Tv&*25TpGz$tjpmVJBskb(}2w!;ooNczSyHmhM0J(Xy zSyIMw;6U4;z!(vwJL2Hk6+?Q@h}(9DW2z1@BWkCeeB2P%!H_$dMpA_eR>qCKZ@B&M zl!n5k4@7#kBmwQ$zp3ZyCG{JWc(>(hnfZ!vTq2ZTDwtU=A+HusL#(0aag+K| ztM`a`R8rwtqDVpIc_)hue#<1|s9Rk`eZU*o@=xe+`-_`qC3P=XQ+z4lm=a>+{&%d0 z;|2m4h&*u=mZG}CGBn2}mTlVhkulivr~%5t`*5gclWisfqxNQ2XmHJ?>`}d>Tntkk~m3NMRMW41)J%!WtN)X^H{~@rD6d3qC)4vK6Fj$xpFo<#= z4`sh1#%Xl`&Z92YTSx0bN_2iXT(|{XWuHACD&CDTG51qfMJEmF36I3W`!zSdv#I z2oPsz^yL^7IndVjcMQsgcEG>SqVH$2&Yx|6N)MAmb*j2+DPST+=|*(8C}HXn1}+sT z?5=0=Ex}%lCUJ^-bQFpe!M2{9hfMj%ns|*)^?tUZO7%sQkQ`0+AhgRusB39+`-Oxs zD<^f;(F&$CR}VuxZx*8u2xnQ*^Blmx&)Vq!GhhBAXc$ethN~ev5u5*){3SzkAOi~2 z-q6vbK3a64Pr^l*(!=#KoYWK9cV3wzzA0lO!{GX9-!*c#oto(r_^P-b6-DkmxHEOU z(h{6p9P^5xYTx4Fy)vgHuJB@rtU*#SVrbzYP3gm}*w8{JP*+m$ZA&A|L-}FS=nn(@ zoWKZXEaS+jIV}cW-y-KrqN;Jlk5&V|RPkAp^7zk}SeHu=iD_rMIy*p21z3(1)a8t6 zWw5Sn$%cFA@gy)y@v`3nB-a!$chW=FJ8yV9%%-Ty+?36=ala2bo(;%1Rh6vOi1y>m z_SlM@WPK{--@RYm1-<>Fu`!7(PiBf{kBPeV82`ZT5OB%Xu^?bQ+(o>s251}s? z`xoD+QHn7i%iA-!M2kgrcW@yg2}be@N=~8+h-uAg^`(?rJIg}4G%KJ)rGI}{(%{lw zz(GO?jQ#ytmdu}}TuKQ-E~Nyoap&Eyqy$gm;B3g@A7w>R4z;KOz38~=PSs3XK9y9p zf@tZ=q0c=d6fh5W`V$mmZ1DN^24?}g2}^I{XnlC=V^$sI51&s^J{bW~dieCF2#*A`iCsbRsW}^dt>XUVIi5;8ywLVqnK2 zm4J1MnTwKMRX7+!90Z1cMuj(P^#z))q+7i#2t|~_uZCJnu{X+kP=e?1AsWsTGc#a( zvB_fj9E$WLN#4nb(b5h_M06%R^NH6dx^exz$MPIy2DN|wj5Do{I3Kk~(n#1BS(}o^ z1#jUu6T30Y)u=!>s=Vr>%3BhH4Um=G0=Yq|2GK3$@U z<2yAnzB5aW)TA)HRQm{P<>i4C^D6T9vUDxJ>Fs>d1m`>hPrEO6<|zyCi0J#VBj9xD z#gOdh)b6S{8qXpjj!`q*^|rMJ{4;4AFqJ%rQerQS)kwip_z;hDeNxZ|F;rTm-wksQ z5*G~dgjvj+%T)S*wPhXfU1{RvL15TUZWCCzj2&eC1%< zwUFPsqrh9FCMwA(_i7Z?rbLu-(qtov`eQ!tOY;TcyZ^q*ufW$Z1ONjGhGBMpVL$~S z6pX2PV~BX{qa4~qh7u@)=qL%#U?TQwd=5C#k6gim3o^SVV|)6isl?_%0`wOv5%KB6 zT=kLCMCI0SL)f>%9Yxi&Y6CM zb2G}E0!C(N+qGufUkQxo!@PGsARP&l#Z~Zh&#hR394OOY!O^dgJ1?kyuglq61o7}6O@kH9cfR_wThqGVJvjEVP{SVdu z-$4_J&8eaf92p9gO5*3qSMN74zX#Rkg?6n{)uI}xV8YUAHA7s8!kysYV=BG7$CUgp zjpG#2$V52@RE3DT#>H)o)KR0dY^YNUib&9@w{W+8_3Yr4=l&OSd%1~c5tA?Abf4Z* z-TedO9h!i*{3gp_YA-4;Rivsl}`+@jpS(zm7AXy%>~dX80JnfzS#cmm1m#c%Qs`mk?F;nl{Vz zg`iGa@e4F-A5X&#TB})vU~D36T#X<;ONJqrpby-@Jm1x|B8_td8Se3~Q;DWcU;AK0vs4G`D8~hbR7EX97I?QgiB5D{1&=k?30#H_*0? zXVkazu;?ToY+1R~OfMQ&&J>OeAII|F)@syBTi4V`m2|Hs4H$Z#CQ%hhvt^9HWIfWN zT&u5PlNO#3B#bq`VM)~c@&@_FmplW}O~YX(Wzi_P4VSFRtXi}53ck1wl<$|`-GiaU zP6BEH=mne!;K{D?r*$W=nx~VYUJd_kM{GbZ=733$2)lAHEeIq9>H^&ul?Jd0S2bp} zcda%F2aH}2(-g(OJ+x4--Y9jfw9(wi-cMXgHcRTicp-bVOuxdW$3*Q-!J?X(D5!qf8&2vSy6U%eFly;3ja#f8AtAd0F|FotW0Drm3O*t%r7I)OQNYJcKt zJe7zF-?;aA`M~r+4ydrgjV12Su?dxUU^%PhQg{E&H zguUYh8s5v$YP|tQqN{If+N%MDvW04=bt2aY1V#e9FirtBb-znYLA6t*f0E0?aW)B-xHDp&<`APQnz&z|oQNFY^s;UM~3!;<)ntjCs7Q;bAu%JunvFaU$AB;vb-wL~&&nkl- z>UpvrD)r+&`NYv;Y_eDIMXRq{l)ezj%`;c1ghRw-UD8SvjH*eE$W?L%dWOB&&MU!X zF|ZiA)YR`Xe@8_jIO}jga7kL)Dg0MMk{Lpf(((4`GF;2@of^4j)mSRLFSNsSch(5UM$dS>2Eu|A0C{NkLjKGwb@a1De-Jw1y4HW$F|>jeoy=%<;v6l)}>~B zjS$d@-72$c3A(1*{kJGiXmuwy{$Gr}cR1DWA3x4yBbT^fDtc&2n?Ki84Zs_Q$^jc=Sbg%|2*)TNs zBfY23nHEH?2fbkY0DOd(%3mBqvr-VFTAZH7MEumdS)T*f)1>X{AW64;cmJaQAD=A;(VLd`*6k%dL(Jk* zcS-zb8>~|u)BS%_yf7qS<;EoGT+n$+yMp~uWqhlQR72Y|rgr6(`g@JJkemuwu~Do; zinl-^bu6UAG_dc+$a~sN7A3)KjnsXL8=Jf7aXrH$q_7c<665Q2lzb3=Dx6Z+Z2Q1Z_gi%%EaqLYKv3o3phfdCU_rGr! zAid0EV!a?5;;%ZnQLngPl_30d6wdp7Ho(-nzNK-oW!{uFZ)nn*c1+VPAcD->;Y>>T zuSx9yzZ`WhR!-&2Q-EZc6=dhd1NL4;XFKbQoqi>tDb`WFg6^+XUmF1S=@ zG0*#{2_J1lbiWAM0>Bc^T;Ra>8E8x4G`pr=MNoeAVC+dG@!wt+P z|ILinU$fD+HA1HjdUhbvm@Ny0d6*Ezany?Ljiw)~nCYsFv^f?GtB0(m#^}U|J4XQE zFown)rBw6vV?okn@|pyha*Utd0TM&Gw@TeqorBeH?KME4iNG*#5Qw-{cuGU!d4 z_T8nq{Kpn}H9@RyXUzNj7x@TcwKIs-1aB4C+0SA%4UHD0<7Q{~hdPI-Qb;*EGmM61Jr0^h)L%Ute5L7f6tY4>emPIbiN+!Aqv?LQ6slic zu+GdEiA&W6wJt(Chkw^J^I(yqP^j@GQCx#khTW1YROjl2?-Jwy zk1Z?o50Cvn*57|m4#=9EASuIrp}*6;hjbi8#3N#_y|@VKG0|3aUX_AEPdh{+vtlZ* zX@N!T;_s^&DPoyAAA4g!g?*&U62hZqj2>*#(g`%-H=Y zIV-?$FBx?O*we1H?1P-MY*-0OhE83^ROybGK3jTaK}~+BMb~Z=s)DI~h4A(*Ni?c| zV1}l9s%?#o{lONX@Esycp6=lJGO*ED0Q{di5xGCLIcPQFHnc*w4SnXZz|$qbfg#aa z`xyMK7Ys<#rBU`H?kkTjqEoxG_T>fqN{IrqVIOpOmGVF8K6ZN8N*=~{NX>LUb-A1A z%j6qM2E}Nt`1-!m z_bGoNPv)|8tL8m__iTzz5kJ zXO;!p!3>Dph8TMDUvD2FV~JFF^zr&uzs%xhhc`=MQNfo3%Gfn?t zJb*QM<<$YR$;h~X=HVE_0}bH-lR9e3+b*3d8IZy^ej%U7m|dTev=%EoBy(i** zc=kek!ErWHRiFU!W;r=P#*S z@RY95{^~1HRsO=`IE?XJ+yy$vc-^r=xzZ9=!jQ{1X0NBZUDcpHxJ4$BMfnnp6vSq3 zhaakFe>gn1;e?b0Hb0pkG|(V)(qDMl^`8Gx$LEMVuZIaqMucH zBd^icq~6L(_cis_Pvespt;^Pk8y)9+0#+LwFVqtJ_K?pak3F``p%rEWj{a#wDDT;k z_>lvaF;e7zHbwvA;db)CkNRj|6P!64T0zM=WGtP!gI3AHcL7LYB63q>ju&|DS=L8V z3xknkEAAsVCW=!^kSQeTj+RC3T!ua-5GB1k5t)|!84pAr)_c|}|bPz9^_#X2?^czjgkAs7QYKUWTWV(r`j1g<;R^*nC zgyPS}68{vDxzkyc{c_onMR|I)eZ7>iQ1Nle0nKeNA4#(38Q%)LE{|ebchOg zP-H!JLXDPenzZ{eeYfUf3Xg8(=y}aAamy4yg(BnPFG`_}}P`<-1%*e0TK!4-;J(YCxg z1^@_D`3;gSuv&Q-8FN|$!;bt30%hb+rmp8=37p2gzE^*3LW%B2G;+*7UaZy3%AH{i zz>6yUR>v>=PLvr({KUbRgM$^04*Kqk7XiYFjNSGpS!zHS%2JPh9I)_kI^{CwpRxR< zK>)#-Z3P%;rY3;RjR2euUyXx)HEPN~z|fp%u6wmFTs4oe;Z*X7#-n)&YGr`FYy%kX z3(FTTo|2Nd)lNs@ug`yy`KtH*cXBRH5%l3%V7Ulvr;+0vP+Q zJO07B4s(*(Cj-p!1iLb=(71Zy$xNl9A!G`iF{_~G10AJiB|1Zom4i@cttQgmVBm|= z?<^*6VGkcj$2Q}K8O!G&c2f5Ijh%viD9|0pRZd5O`npa%dOV{ov7?`5~1Hk=aDxexXwa=s_4@35e0ze9qGnA6{Of9Saqf0&C*l6%cJ znLM9C?P&n?AZN1nY)Q|xdF7z(zodJe^&gzl;2_Wj12q6@2r1#$4+pd2Sc6TK`tF}> zw{b_a(>4A6w(ciJM2wa?DV5tDGM*1f_#w$&n*}gz%H40<&fu&_knC?5{4Wau-qLJ( zUyUh}h^)S$o=d|-i(NI2O+~&OMo4Guug{0FZr7p>GGag=Bmt~=;CVc$_Hl+6-?>-4 zAWl>TlU=8+p%@$`*9mQp?$zGiRuepI8Xn*yo>#g9&)I!rfIj-^YnPH&tUORfA?UaF2P(MrR)T} zfO7pxjI4Sl4)~PoD|M0B*q#X&`}*mDJu0^R$1j1?g7p0HX2+yRFI`${ z>Q$A9AK|xXQy)MyZk6+<@@od{_wsG_HE1s#38G-vk#^Ld?sCKy>Z)sg`UR`fRc_QnQRcVoq3XdIFd$LTX4TD zkFDsZhu=o5Jl^__0>Cc6J8P#e;6spzu!BYB1_J}Jn+7bgj7r{bSDz;aYxo?kf&9O5+H9mSyc7t8PAa z7{pA>?iu=?-t!nRRwP`Vwp)G^-D!Ut8pO0mGh9!9=SF1pQBeCDx#VS^m?N+6&e#C^ zGG^t4xZfYRZ1I0hCESxDCedTZ0ovySuwAeBc-Pn(7w-X}?HlYW+x-13xx1i77{K)g z##j2r&U#EckDG^}Iy*EoI^AwG#YMp|j)D9tSfU35;**64C(zqM<%!}$^6Op*qc+At zg)$G-anZDlf8S+dy$XJJb4fgs$tW;GQ8Lne-NW+NSpfz_$Bt$KJ} z8;7Kyw|R9it8@%}wfLf#Rkhx5*Kp@y4#J3VhT>%t2%PZ=n=j#T<>RF*J&l*%B$Av< z^SaC#fW^Lh?Tb&GKrQq^4|Pa7?HglAa_(ab)Z+9++My5UwXQWuZPLEZ>+jKpO1DB06rY&=?aQ_EcVpf6Sip$GWSDab;J2G z0noVX&BK-g-!w2jC1`u|6&j!^u=lC;Z@7kzv3EY(vF1u9Dq;z{^7Xp!7gLvT#@x=) zmmQtT%fNg8{zJ41=iF8H%tp5KncD;uszYqgGtv>{KkIUmmGOE3A?%p0tfOl2>|ii| zuPMD;W=lWT9`D|yR&ulvt(=~Cz3KpJZT5#A)Z;FhC5Fyxer$y&^^ zGUgRt)MhcmbpSRuukc=AC>u}2E%@Cm$9nQFI1~InoJ5kTG3t}oOXbe!MK~MWO!9WZ zJ5bM}twY&WeTWNaZGMlBbVoIj!eXRiSgN*hBsOMMI;5?w8i&j1cp-P2rhI3meMcO4 ziX)Z!nm{>=MO}%vCQxP`FHfohf6048pHzlA-i+9Y%-pPp%!4$6p*KcJwTfbxV~_K} za*m$} zxYB!DuMT#OZiR{}nJZ@a07sJB!(Y4qQhH5#2Q=D)x-FzMhq$+hPd>HmURrN_-AFZN zdQ9`#`ZTxw%aeYVu@>P6c+fk$HKhyl^tdXmib#_E~Da7!tQzH^RTlq>G*F)GBBqm8qd+_rn!XVp`lJE@rrr>&EYu8qS z0g57_8<(ZsjcTM(&5Xg#cnYhbJE2FCXq-@R%&n>q4of+3VmNKZFu2eM9+B)#`HEP9 z)+;=b|K*d?OKZdvy#6O5*AL<<@(iG45d;yW4y0Ii2g-I1b)sQT_Zv2hm3GC&NAlD6 zR4(&*s$aN}eRYo`pe5C1q3 zYv4qpTovX146K2w9k1jQWNh1)u&r5*9j%Ud=ed}mSFe$kL)YaR`7UQ!$V*ICo=}t< zvoFOiT!??)mxC0-jZaz{KFIN$xuG#$0F(@)bi$Ul3T|%}`wc0pKqCspS_Quw_RNNn zi<9h+@z6-#p+{&fMqU~Iiaw;-Z-1-t2Ed-{LiPRLld4zy$csiYDM_unUPf-%zSQ!K z__VV;V1R+s5g0OEbbCEn_Ik(;!Tca`k>22<%0eW8HzaqThIH5*AbF=9W?Q3V{B6&3 z0<`Rjq@CgF zlBsE!wJM$7cvU!MGYz6tNK}d@{Jy%2EtMueqhQ-jhW)rH4zB|mPHi*QZu!*cGMXOUiV6sm(xbxqPDlL%m5Ni``@W0f*0WG&=*t+5d!ZJNy} zVJA-lTQ#DVaA-t&ZK)evI&Cb}&;KmKeWhdanCGJ(S-Ce_2u1WeYVpTeRpz9Lxeg(G zs+mXun~QqcEI3$s;E|u&1;m>jDwpCux#r#2y&Oy%;I{B}AQ9Q(bn%w8kGviR)Bi>S zszi^5JhbbmExoSZ3N(174Lp%i@GT-*Dy`@Uf@9uC^bdfohtBDM{vQb)66ZijO zl67!3EARhmR&@-9D2|CE^X-e`RJH4`*X19-Vh%3!iw#n&c_CC&k|I(kmS`J$ZQdX* za7(GXqmUfX*H-mg|JJ2i%_KX<7`P6;OKP$=$x?8IkUQJ)C|JBgU1C(P4F%3K=RbTJ;NXBm5MBlg|e+))n$h%=CvfJma-gLJv2- zk%i_WRfHvVzeE->vHNj2kYQoVXm~df+c&N4$O|q-S$4!SZw&7ctis=&`b3uSR3H1RHA=A{0j?s?fk?l7qwSgE0tGj|-2lilFHW)QP7|WT z>Jdur4Ew5sPktFZ=hs8g6+i8rR zPvhN~xS7mrOS%~wL~aC4rRE{sGxT-$;%I`CU!9G3cNh0sFqgm^`sOur^(;Q|NnV4v z6Y6kly}G!W${$a|z>>2dl2o8KJ-?h$#Zn}}Uarj4VQ!z8VeQ;B4h4gahQr1Oe@8~o zv@k$ATkQ?x>u8?FBj_c)vMDd=`OiMkZr&sX9%;h|3R_x2JV}9qqjQ}^=VV$#Xai!x ziZwB|de8Ik)nhM)MKniAEkx)Ckx=eL*Ncv-cRt^*q`luGR-@J8fz4MvFlhY{rs<2>QxHJAvIHh+2wM%cs zSYp9$kqUl5q*N$z0bhmJXTUwx*tfNbA!)svK%2YQ6r&*XGo^skJ(Q3~2JY4j>GKul z@o@FnqDZ2B5~@XbiG~zP8V0+G;7O9Zp=9gkQj!dzSel00!Gk0v)E6;jRQp%>Q2l+x zN*nkOsmo;1cwXVst#-Q#@Njq}+>B-#zcO@jJFB%4gH(>MjJZa*DUn=@;klFe6hy{xFM?=4w_Vym6i4vnuG_* zX?5M!afpeR8IWK1#SVO;})&4b3VsS)iiycTDhL;265ec2oPd0`8-TDg_!Zfvk@lJsY%QbLH*c>6*)2B*AhwVg4hgDbB zX07Sz_gRb}v+V~q>~{2QhC;QRv+bHPy)6PVkGDtA42PZD0tJ%hJ4s#z_haZ|NaGQb z!_I8yrfS|DyZ0o9yBe-TbN84#3`BM zA}YT9d4TF1RY71saVMEsZL}9vMDi!%J%(HEQ|t-&hBVpAy}+d+n~+KtVjKx=>IB1- zdt_7-xyeq9kI;*fS6&igJ4|>{aAficxiz<@sE3D7fieSmO0-`#o@&GC$@*#U zdvI&&A3Ql3PFIrd?-}j4!qI8;Q<)9zJ5`}^I*FoEdS316mYG*yXkZdv_;^X{19Fnq z=DbAngjj2br~x;(kM(N_lwM%F!NAQs*09uaudtSkBrh8qNmq^h&*dz?@?|I7ftEw zR`oQBXk3HsV#QL@r(nS6?L0RaYZpGz$8@8EX(9B=;Vk*c?^_P0OTB4B|_V+w1Tx_d;q1&J(#@$L>+(niCk1C9uz)rwV>%Z zKY(wDXGWvl$#p}OlIcBqczH#X1@DWXa38B=s@l6hL5^~Rn2DYF z{CMlp(XlayNLdGSB@r{%+|#!b&4hitGsHJEzM5Ss`kcqDxA7S7iX_mYxLH-{J+D(o zk>o|SMnAz@8||4i8ff*ES$TNk@baX;^5M?4AH?q5lzDG23p5Ds%j3FW33MQJF|>5= zJ<}z?a6yg8B$n6(__|X;M-mKbEPHtL+&(&zm0OE8y)lcsHhn7_8*7!AzPYd0RDW$X zeQ0lj6h_Z?Rl=7MA-9EvA;kFv51-7706|Qz?bmt!^4<>jtaU^pOys$ zBU|q7juA$dVYxdte~k|Xrk$-p|AhVmb>SmOsVCD=opge_$J!4dA0Qg{yOXX-?dynT z6lgUjnWc!AzHdy5C?tN#N*sP{jrWs%J{?P_jE!&bv10qX3&=RLf84c9q*qMH^r_4pmAf=JV!^spFu@3 zZcwpBST?YeEa3Vfl|Pk?yyHVkY67?m;Ln65ffe`Cth{>9n8&tdq@rIvdJri4z6CAI z<%hLATZ!4XdODnokhI}&!R~o|?CF-YzNm)z)kXEP#Eyj?lWSlmMw$aLx)UdjvRCN- z;yN(&)*zFRZ7Orc)Q0ifu&0)?tMGrmwWZ2X_-y<)gMt64)K~)IeQoQx5lA*(S#R z9k1sn_Q&18fe;i_g8%VU5*boEAAb? z4wv_R@E^?t;A!KUiP+qjjqg_(SQ&@;$O{CDT|aL}&#RG>b~exhI#R#gl_l64{O^^0 z;#6^7DBWasD4^wCsu6))Q76fx-D>?C zyWrzPd`|vonV(Sk;uQPu-*Pkef0wd!c69}KQ2+kacJLnvVJND(F@P50v!SNvJX zf$x62djGHh@`6_}bB{R0c*@nj${7j)_$iBqwX6DaN*Z4cj}?9n1uZcA z3yt?7??g3g_t%8#Rss*jCG!ZzOV{^cf3j`m+BsII4Q`URTBPw5ehP z?WiOeRQ?1Yxrd6GZpG%f6Qz;4`gdz_LriM`;(Dk%{`1V9Z2L(*zD2TJAu*bZ(W0hD z3~(lN^vTqU+I)doEy$JRqY-hRy1sh@_taB1)i1v7|5I?%Ho?pbtVZ`DKYHeq!J?($ zd3uCKtHeY2_=*6;F`C0~xmcU6DmQ3&f&?kVejt+2}lqd$}ifd>|3w!k!AkS z_P%=V1z>c=?i50v&>+rj`vLd^L(qrI&+|^NT&{{rXwNNTm9pQ7qUT#q!-X z@5FlE=R|iP{Jz~_%v_^w3&SDwTZKnL9smIRb(IJIR6Bti1VH1+J^X*8rR+=SS6=DN z5B&fiMS_VIA?2-Jpz|_W`vJ-jP51i7n>qs?D@z`8fmpE0q|T3oaaY)*HmkL#9aWzR z>%EdnIe(;fNxCN|4#|=v)F^JlQC3@h=Ls7ul@ZB{rJx)Z9UOnw1;Lqs1 zSM%*VQ3Rh9&+S4w zFIDv5F~_I#+P3PrJ$bJ>5|{%+ys=TDdi)RS7YgOUrI%!9XXvRO=01d9m%jKe9TT@J z<@FvuVd{t!Bxb7Ni+oEG0~1eitKRLHug(#CsKEo!Re;ss#pkWPXM`T~X3{q!aLgo( z>tQn6XMBNfB}q5Dmw#tXO$*os36t-SXMnEYquWjTpN~r51G|%A?PqWX$%4~m-$Bom zw7vL&3Mvq)&NHbj*mN@I3vDmZ+G#)}dzt&&IK(E2eL%BY5@-m10~CwiXrvG|P~CC_ zFP10{0B?|D#KfNg0glXr;(s24nFzPl6>)h4XRqCd^kW@T8_gx4t9R3xGEKF_gg;6n za*B?gU%+g_wX~AoO#M44EY_iAmiY-cTDbCo4qLV{6Qb_g5>~65;dhFU!&;%ao{9BK_DJ#6RNY_C1$t8bgy_vpTqHWIxcyE3ptbK<38ZIlAwU0KHeOnEe+JhYN`&x(K4wiRyGj9XGUY*^sq0)C-Gmbv$~i{ETNyN>#%(r~SxrR-<1> ze9u1eiZHFPw+o4#oGWJM_uI}BZCf*t=zSD6kQt_j?7|SEMWXd>5%Sgn63;k z`|sPX@h-P&#}^Rk*wj^bEWPMh{PbeZ$D&yE?X!(#X7tSM6durn>vG9Krf3(<7s+Jt zpyr|xj;S;ckr-^XbwlKP7fmz(BefklEldD?V8U+a(z}W`t(4JW$`>lMD*>Ej0{|+% z&|mrs)&uWc(g#{S;jJ61*%E!}&^y2-l~zjKeMS6rT+Q$ zyc;T z3mgkbVA{l)#J5`z2SQ}&DgkX??0k||AZ|Iu^L<_7Kp&E(<3`j$fE>OVgP zN4wCBf^IJVxnDR9iq0?R8zLZ%PDlRIXBP056z9zS(eOuVe&urcH;@ckTEcn|0_A#dbm8>KS|HWlxr~8_VP9fyd-Ic~&-h;VQHplY4#+maw9lE}a_e7*fypubYbG?1f0Y#Y zq9gOhgg~RW!xKm|J|lcB33BL3xt~eULp^YO`^cNu8sK0tuRNz!wG&%@q={!{KL0Pc z?L;<%?P0=c`3Z?CXAuLb(Ltx{XU95R({>Ho9n6HDS$T}0)y|i8VyU9h9HgM^vCJ^? z&5$d98KqN_SWw@h5UZAWD0E;)huAVHJGH@Xy!u>fqua%bFjH^()O~1T`K8M8OHs;2 z7)Po^t39pwhqC=~Ay7e4l+or;0-8mYEN7P*7_&mf*L||;_hU~o$#o)|Gn|#<_jbV0Hm{8GkLGq_<<2d??$CR=~-;)r}^;?*>XY# zjgG>q=hNLU!~WD+;EhYGC5uGHb|P6*^Q(ZfAYwgaaB;($GM(pEd+Y-sMf-S)Uu%c6L=`oOoqpvt zEybs1e5+(M<*9)a4=N6oJmLSuBu*>&2=mb($}6d>bzL0ZNt$GB*z_`BX63^Rw!zcQ z0nuXix5i2U%eeh`UR?_bGK&pO=3ua(@OPT*+<$fgWWoP8ZPSihau3pRIdYDK1~35} zW6GJNjS3LOqse@zBYO*uj54TBU7Xk(Y5?V^cDDKo;JDcZ?FL3IHhnD27TM0sxwyWlt4= z(?z^-9qA1~kGfE1GX0l;d}IMzC8zf30q`ieFF0-Xd9-(buz4F++A;IXrH3dCHr+}- zn1QpYDOO3y9Yd~;ap0owd4z1(7u^2TABl9ivj{5AHw*~FOcPbp;Gq};jU=A_LN@fd z2fsv8MCmf=Wy^C^;@_W-WSTtWle_?IE6PbI+MnksKdO4vK0Z|9KH!!q;Y5vj)Sh|& z1nQvE%BS1Pg+<41T;xpR6tlClJpKamGULuqLzU^IsPv`egSv21-=K7Jq+srGadn9vR<+A|QhcA2$3J&ur3!I~>Lh>%%+f=kg2~E1#J%rBVqm^TQ~KSu zEDBgaQn`EaxndRWiTqrmo$a6UqN;&jY{dtG+!zXf@FcDEzALTIa&NP`@t*$r3PxcO zKMIj5Uuool)a_)%-Z;)}%6#{q^#tEXgK7G0vvplhmEU`l_fN4rH|2qZ|Gw1^AWoOv zJKq@fZ_1#LchJ#rFokCDUR|(OW+qE_k)V|LYx`&y`fN6k(8Cbl4cc2b2R!xI(FKfH z8m?YnYz$o`yv(nWlo3R;_WZ-i>+I+mS8Tf+Od1sjvnjjAn3DgC zErKbv8H1zZ3}sB$oLC0MJflCKqn7a%sY^GF-Dhz!!jUJR3{ox)zk4+MyGE|y9e^1a*RN`% zlTR-FecLGh&`Fj3P`swuaI#1DlxI9bfn!oq0O%vJ`&@dO84$;Fs=<%`?w?bBa~>It zTqG8sE;CG*yk%wLWm)V=!l_gbZG1=1RaP&%awbS2tGfMa{g2d=80}O2$uts}`TMul zN^X`Wk6rHGHiS3%o(B@1@&u(dsb4#jfQSF>!C9>ZIR>=+^b9o$$C39$>(A@v`Tkz2#;g;x4Xl309&iO zXe$cPqMjB&nfQG&K*T+0Xcdu`D zPwd`ZQ)LCa(wT6k{o@N)FE}?CqA+^*-TnUwR)SlqCdkqe>Z!;9aKA6B)cs5{SUew^ z-wVxWBAqKx9d;kX5oq7EaejvB`6sD_T7G(gC2_R(uYtUW zfGmBfiN&9TbSM^h?MG&=CSCHZ5W*Ma++kHFF-qtmWILgZW=Xz6BnpQP)G)AZ;~HSY zDd@r;-3JJ&dGgDqn4bV@NVkda61D=D+88BIF0CHd84oK8INIzg)X$4ns#FPgrqY5X zFf7^{6VJMt|KMD72hcwrH@K3g5|2jzGxx*nq0ow!V48ujgQ>i0eq$QrgydD|YDp?B zW;anZg9GV8yw?+V_1RF$!!VS}rEL1gmthpWZFwz_Ma=!3_>%z{qeQeaA6daoPYlP) z7KdFM&0UVe)7N{PCtlW9@2$IsLhn4F3D4%!G^ArF&U4b7ZKPVsdp*+Ns{FODZ~a}r zeCg`7#k{uhiAOAsvFSzXgaU*_DRg%X@CY`(@0mR+vHJ1_kM+mIyWcF71K(s%)=H@s ztrpo!t;n?Sh2VtCPx12gC)`l5lGMe6;Dy&>JN@h{dQennN&2!j?hmk`u%bthL}El{ zenhgh5GjHPu_>=;&B7g#<(o!5ps}6(E&^4k#ED?JOGm(^M!NdGHPzWHpvZ^{MdxO; zU}!(C@s{SMG?C~5-_GWZ0L;)@f#DS+3JdYgsod!#W7$M0n7~?lFd43KJsXouNO(fmdv-$A~o})rZapKwUwa~Fb z{hp!rpT!cPDEo4lheZVu172L@7TGf6JeoTHwWnRmG|!rHma~$nFQVjE_vvrj?{<78 z;g_|P7|kcPD_%fRGkz+mjFYBxtuGXy=1P3#L>P)L8^P+#uzp(|9_31MjnYD-h>)c3 zt^8a?aQT71kd9d?522+odJP}(Oj#0tmgIDc%d=fUIFymGsoOT{4S_r!ndn$B2})E& z5s&|4kSZrF9@%$(JfhayEbYuo3P4ssVVhv5LI8ewE2PY1Yl^^MjpTfj1uKoc(o43! zhy9-mNif-W$&W2BDO~=k*sEX_YUn>|!kWLBq244tNqa#AX9!4HA-o?JK-=$>ogjPT zAcl!QKYl{X(0$AQvjJXVu0hK1csH4?Mcz4nvhqukn8~@)M)RCp7;`yf^gE))BW<3jS1O;zr{7&a@FsDl*`jMcc_4fSA__rbrPDExGwutf$Mqg18B{@pd8ZQ?$t<`!k zxBje<@-Z(Gjv;wcv!PxLMZJ_5$Jg6vdcuK6s1O4Clv+A*q6f%}YoeI;=@K8^@xPgnCqJtqn>^2c1Bu%j4 zcw?jP{dUCrR^3QC2rQg3v!)%6?;c7&cihYyE@#o|Po5RYM6yf5;$&CzBUdh} z&Invnxe-=beDfGzl6m{%!}CglToTXrsXvg+;_-zh^3j`%>P|xcpVq)0 zdQQ$qAXWj@SfkC(Bf==M3lYLYFxCr`c9>GAcZ=<)4U86YD#x8(qL_BPA=syJhm5}F zIbLCCM0(^#2^j_p6}7Yi7)xA z2FK&4oXy-3!raIwpFoztZdVx!-J!mK@xUXz``YMztg0e~G_%Y8MAc^T4cjg_$t;1H z=);f`3f3dLlO5us7H74sKseEj&x<=tpO3eR^<>L1zOgWkSXRhcP7B~bZ_v*~?L2w|ec78c~8({>iq5a6`Z`~%cevuqA7?JbI`aAV%D#@`p3QFOUjz9nz? zAU%&*r|eq42G}@qUNa(8)T6JJ+hJdiuU4i+NbU0sPrm#3NQpj@y4X=0uX|5$qR>4$YV@A!cLVOZVc_Wh` z*o`qOA@0C|VJo)7Pm64%D+ElMFVwE{?%ExjmUK-B@s_5@CrAxm)HqHm{ASU~wZi)K z@Z9IQLYyl$!n^>f#!|`Zu)UQ9F!WdtDpqd-hILo}#L0T!povGncG4$|uP7}k{!~7- zU$6abs3t^%^UHK&CWFC(#mZU&5#|thC@}gDQES~Bba*;L0oMCK59gdUr{gW3P@{z? zI_lg#p2`6J4>N=)%?1Uj&>?!v#yqW-sw|XQR$E73YqK8e8_rGe0Prz zDZxjO-d)~tAvgJ)Jb$zNw1qS&QEaMMFn{CmL4L?d-KBu7q1us_37f!84X*mV*(<*i z8n~p>Ax|Km2oQFS#TWU^4KIrKDTq2So#!GzKC#T3;Oj1>D;tGGTt!sqa3a(U8}jyI z*AFw^y_Vie)E-98JEw;o4s18wBP1|t)fdK3Z;aOMH&=>ax_g&sMeG-{4ndtx`<=M@ z``vu2dY{+^@7AcvrSMBcK z0`nU@rwe{hwNbl{*T}ny5iV1rID>W!WrKdbbQnN>{P9*i5Lmwnp-fIcp{tBR)(v+?~vB>~^iBe!ck7FG=~ZXnlEC z_Iq}67fA>RnD*vFmlYYD`H)Mw3S)|O0Zm_!GYiSP*6)=G3;S1i z9(#UUXd@-XT-g3ehPhxIk|=iOz(DW>VptHwqnhWIhC#ypB%!SyKUR~J*H)G1^uT#2 zKk`@(xU*27$R;a)dtY&XJ}WZCXrDtrB2`kJbocp{+_m3Dus0FDDFj}&wiQ2XcAfDE ze~%8id_GE?lO-Y|lO0|emhGVY&hDeAxP^4-`#h=m`ZgajU<3X8TdVfXZ@hP}#U4bB zz0+BEml8F)HC^+5Ypv9~4!g;q>VI`NG|Qn`x3Tnznohe}LBEaRhv)-gW%5Gv6D|c* zT+e&F!sbwi;wzejh`MSoz1I#3;gXSZs8`yHcOQC7iT%R@{DffgO8vVV6p6d5ijBVk zTG{-roaa>N?_Z-{r+YclFTR0Me@Mci>}23qO3H6u%)#0luG|ms5TKo(cph+#m6C?_hUjfrZ1lm(0p6Ef3W3vqL$*lJ1%{9V@l=j z+C;#q|7<7a?Sog2Ya1y~%gQ}oS^14z`|cb9{<3EAbKgXBb7;f;m5|$j!Fm!vc2|I1 z-e)xA{~_!v^L6nkEh8|kF1*HZAMQM?eZfQg% zq@{c4hWDPM|8t&i?*~69{@Cl@YwuOpwbpiBLLStXJ^!Y;N`X`n*m~2f8nLrKc~X;* zEb|n6SHRtFxIkn4aBKQkrBh~&+w!Mkq7kFIr_WvLWs?nyO`o4ovF$GUjRjK40e4W2 z4JR93l};DF9alXz>kg`JL@*q!;)}U#oO)FHUHD#DM-R$>818qN2_UGaTJiQ;OF03b z-BI}3#BHZ>{zb-n#Ahd}D5Bl?$~plOoaVGi`_V8VAxB*9Dc%2EQZ-WSLzkuif{oLo zrAo`UUDLe}iy9iH3L6eG=4xu9&VI2v8Ki|MAX&;)S>AsmmBPam7?+MajFdE8^!aR_ z9ZdYpAC9-4taHh&RJ2h3RqdLbD(e~&Dsnp6e(m|D;=v&+TlMvnPd0mkm0)e9bwjNv zwqNOjt6DtyfZ=%dKvH^rd+ZD(BP;oB&I=jVIz&#L&p5eXCVwH(l^skr@$L?*kIa=W z@C2W3dY0L38D9+MI<~Y^D3Om&_oi-OvsxVYR_>C{{9J0u-)b*Fyah-%`C}CKQ&OLw zRC(oGxUBg%O9is=X%H6^NOuN9$p{39;PWm~bctn30IxJr z_fb5_bragF|a?P?w6lW}R(QkH{b)9KO1 zNa?K7+R%7)m5$OHg+0@+!)GbdP8r1~?Ws6DFX$Hs2X3wc2QG3Uu82c-IkR zO^vSpo)d8Y-5ORgwzHr1%nL#{>9=LsJf?Z$Pd(*N`j-bZ9DKdrd@!ZX;5U3y>p}Te z#DfX$ExK6Qn9;A4FGCMWRNshif0~0A1;7s`D%(_v%!wNOZwk(7jMkrRwc6p=P&YW( zhWe1o)A#!voE2JVpQUoz`Teg1q{=U{Z`52LMFg3NVIxpD(wvzXZm6q69=+D+grt*3ey49s zIC=IEVF^8{$zP2C&2b+lmL7F-ZqKB}TVYS{5+UP-`fr|-j^7_FYW9W@-lQQ>5u;I- zl|Tp(6EUDN4u#=ISgU;_!1}gfUfuGJKcse=;_zrOW5;QU`pj;)_(b0K-Rnu+&%b_pz{U% zlrPeg-rat&%m~g$G$r_=DZQ!EH8sa4XQ5*?^6p1e8o^kW@7LVba&4e=_0tL`J>SpC z`Wd|rzHBzcpz)m!QMVup`AO1`p(&Cxqd_v~dx2RIwZB3E)tjvb^4SRhE4uWf3J z);V^Ddn3QN0jA3Zg^#3HSsV<`YfTbfeKPncGmrh@&<2$fRvNx-`f0CTo$Rk4Op5LXR(30{4jr)u zE069xv1FaL(d2q)zWPSlFQY-A>;by@L58%yzKds+0#KZx?sqq|U${mVza-Xi=Y*VvA+7zQ>)kWyfw*q1X2Ism=3pSvWVDT79=p-Tx*@4^Q++1AW^(6BY!K15 zd-vwAq&Y{lx$7`Rdxb__f;TbOWFyJ!UT;0PP)F-Vv(=0pQv%wl6Iz2`stDo9^9Cbb;t<|6ZRI!W>==`&y?TPPFGsb zd|2jL4%(x_3kkRL=HN#UNfz5y$2D3M@R4skevgr1u-uT?K6b++HvL`$T`R4>EQ>4nj(=DoT4Hh6b!*@D`1XL-J%!a-(s>Y`2YS%?!TL#WH3cbpU?<%5S1x zuYeK#C_=ciB@?I*6E|-_>9YveX-5pl0SC}XF^;DkH4&dIY&zFOU}hxVw{6oCiWgF; zfDky2?S|5kHwH0>D?A|dMqR1BfB38$ny4B|SzSCkPT~D>+kzz+?3iU9qjc9U1aEv1 zMLm!1p~@ro#<-49$)04s8XJJ6^=fWZ^-_o_H#ct_zcjUD^XFOR`XA|vUVZCFZZZ9; zYUKCG?mw;>lYbIl<9bqY5fFCC7|4CSSYHQ(GxMR*i28wu&#wia+W$|~fjx^`e>fxFPX0&G@Q$w^Ry&Y@4_I&r_4BOr-xjtUJL z|AdF){Q}+OY$Oo+=5#Oy`$(9R@i*`$8sb@@YY36v zu%tuvF6aqW6^ILsOue*!A-T}RhK**XLS!kf^6yHo0@*;g(QH;rsLzs*!s5%{0cY25 zkVf9bX>C#;hL5qof(P$W(#&%l;7-WrF&+nvyRkB!sB>V-eI8`n;(Y;RuQErake7!V z6&)n;8|4gWF+5xNEqt$-M8|6x>f6@5=zY35f1L^A`O3O`!zESPVcY508;O$cnBb6U zeyj`gThrxGj+2Su_en{%I2d{R&GjcyltlCK=cst2hzqoqyJ z@jCk^I(0wXUFmGEA(|ep1}|nFm^CY%&(Ts{RTr#X-rwCl<}i*?+J1SFy$iM;R42UG zeyoCuLvQ!3%fBx29-B1HOr(qv>*_P%=}cYba7`u~*2%R5ZVca$?0b3w`tO+PhhYa7 zSR!@FAK(9$H2;A;#0VHV+ykWL4#J|8ohH3A%_Mgbqc^Hnbj_n(FiYg_A8|@Vp~w9$ z?ulA3$)$EMTp9DFGQ@+AydrjQbHY|md2~!v=~9|M?te4ClYpG`ln)PT-aKH;@GIg% zhhgr+EbP=6tL}M;3uOc1ESMMwuql zd8V0QvP3<8f3)oJkvtx%rI-O@T4b>H7qnQ8#YzQO<0VsUWBN1%cB$g%f;rhbYh``!I1jl=V33zx1R0*)tEF-MzPLEq}! zwzB2DcWv7oXc6DSHVkl{*wf2vyn?9mXuwd-wDIBGan!2gMw+aW3+a4<&VH5Tiq?4m715Rtye0GZfE%`L2ZVd;0~AWM}Y3QmLXY?XQOM zSDbi0?n`^V*q^ymfj&R?b)S0G>l+T=Zm3}S_ibtSvy5B+2(6OJ##KnDN+n-Gl2;9jLfsY>gI8${-d&JdqL|- zJ|MA?gr^zC;3tF<*?<$k#UFhQWKh-=0&|9k-gBq~8&B!`gSX7A@Zkok)naZ&bEC9c zVrwtfYUf_~Wqetkr=m7PAD<*we}Am4GiOg<;lNKt$AFL!iQmzUW|v>s=a5M$Ap6+I zD)}f?w0OX^eq=kh0t_C~@tC}Z3r!ZSlm|IFBerasdOv~xng%G$Igf{>(8Zj>)o9u`qG(^J1$1qmJX>xlwBlh(-`ukHbIUI!aH83Kt*Ur>!^Z@*k& z@o^iY#iVF@zg|?9_d2Dvb*tS{-%M#wz(Iij;G%DefvNjPly+09Z|Ez844Pdq*d*WC zkf=%Q6KVF}H%vbeW27z=o)GToVlDx}uM;BX{0k4fUN(CL(mSe;*EpHcP-Mpwh5u}D zBGZ^<8^`3iKbFxuW_j6DMwN-QKe^TjbeqC_^ zJrVwCWus=|SGgU{7~lhF60hG$5$^&k0X|pshnyGtVyRMZYtL+jU`gFyJ+m6CP+VH4 zKx7FS(pBUu@i)|XI?y3X?R-v-Wj9`5m3~WopYw8OW4tX@^C@pI!22O_sMjkoC-d8f zd<_fRlC)J#kD6WM$SG*scI<#*E*qTlkU0NRe^`e_&G_ugwnyJb`1fd$v*Xd}j1wFE zLZPFV5G2=X3^XI_nEJNekErX3-)^kSyN?&9ve`##KboFbhNU)D<~bO+!$%E|XS=ti zr|-Bg_O0hAOa7qW>xdmEXwCXW#qH;CxTw`hq*u0qTq&yj(Oz5;2jmXkFFUYwiSBtL z+p?%s{o>5?wf|_d`&O`{`Lo8UD4LAXwd(af>h?a7#~y<@rqXsp_I`}yFy14{JM0^2 z5IGvIlB#I19FRGDsYDNc!sf@|Jn^D6d>#!l{>%yHv39gExxOQKJ9G-)`^l zPAOZ7iDgI{SfyRd36X2pMl$qtc59xaMkbhHA7#J@(PraKd(nHmC_MPSmxqg4W~#D# z5!He3(KbDYjnb)u!rO`b-hn4j(2Y zf`?=fF`lN?yz`lyocxPZ4121rGzi!JG6jqD6;sVu?t{2Rvi;{*0{`i$3M>P%*Ec;d z{RsjE1|qLnZuwW}W0rw7jGD^zL2vjdwJC}HSH6J$@_vA>@wSSJ`WB)y=tp=q#|>jH zM@H(TK_NdcJB9>&=kl&Y4Pqt1V601!7b#jd}ManSkqqenKr?& zI8D3{Zmu6|9G^AGKR=Fix4svLH&Fx%R+))@alZl3tXWH3_)oxF{&67I@a-rT?>+%O z(v2$zu_!b^hyGM8eT$3Zi7~#GraIXz?zpk=<_=V$QJqYO=AaV|m+;td9t`e*#!Ku3 z5{>oZbs?lBIn&10H5&e!oCp%RTb|usm;sAzs)$G|8@Zo?2;+GI;aM& z`1+;iQ=xyi2}~z-K@95d3zZ#PdQgrB*8Eab0!U?o2ZR`WHJ;<|9VOwK%!txqm+Mlh z==jaIDrWbo69U4*IcvX?op(*ui-ya+>R-y}rr_x3JmV*Rn>0EI_=33p>K7&qj|{v` zoD(5lnQ*&7xcsUDa>YIEXBpj+61dP8r~Wb5Haz%xwbPsO|2a{gKy59l-SRI0)hBmJ z53@sWtAq%%7qpOizXhS=DDIv?{bp9XlBxM6!GkK1%RTmTkm0z=AnevGMANxu?RzOB zF|C&B6M{R6yc$g*XX&VDCLrvi+GW1Yt@sylk?eO#6p_D|JI>Zeo_||EKQ(UqekWl6 z{M>qD_x1O5KLXoeJxnisibQUI?`y?jlUlcL6SW>?y@qd>-HUK_<(kR|um6>H;0_Lh z`tE2~Xr&9F2Zx6j^C>A;q>qfG^w|Xl97)Z+-r|5%e};dk3?}tUnJo;4(^leHyp9hQ zf7Ydu%+N#WWCGrE5Xyjs_^%|qg5shtVIeU1kdARN4I)fNOHY7=_SM6?_bC(S_6Feq zL7Oc*BGM8a?@ZO{pB%sj-&)yWrBTv$!4P9^FU5W=rL&bLU=V#Ej2?7M9eTb)k68X9 zG92(Pz~din04kfi@@_=@KhDcvTu|)EAP*ICWf>*Lh1kmA<_74X_!@adi62MIAgmgf zw3yxtL6Iu>3G|({=HWR)b=!Wl&G}VxifT0daTrfa^{zRI&U?g1TF06x_DY`j0PD#2 z4}az$h;aC7Q|g$w7A;~qrSON!KeaBL!}Kq@2g;CNX%>-;lfkVHFA54*y#BSQ5z0%2 z9K6jj%CpUkj^9&wB7zR!??O)6su35<@EKkO+Po?f-YxEA z8eO?&ng?jII%T}O@;@hA4FaKKC;XFRE!hyTP$Biu)JN&9oVBN!&cwxHbjc3UkVL#j zy-OILnZf{SQ)`Vy2cSLLOgO?qow!(qDse<6@!(GBIIq7@*E6OVVc2&C?Lh&aC%3cT zpIY9;BA6@21#?G)c*X9`BYOXFc%q5W+*HvQg>_{(9I@bRt>-6rLKf3 zyNwR=MSGh6mWuBdSf*#QM25gMhiFM?(!5?X_n}pvC*PMa5`UV@q+PBX$^KS}rIQ80rE^(}t^d|E3^BYA&06U=L(K=-9Z!slmgX~rZNn0x z9xaiJ@hu5$yO5|pz2O%l66Q^q7zBgwtH|jED5>OKs_KZOM20IGt6<{gGI*R@K9RpH z)#?)nN-jbP4BW@v%pumyO)i{iwJjTa@c|F+Q1kpv)xXB-G65dW&#?Wu zh?rD*TOV}58Sg%#G)fR3E|7m~CvVOL!-Vkf!S7sgop{&5iNzPF+pfI!SmZivlP+{b zGYhvJo!YP8Ybfk~g~7$c#h*#AAS_YcS2(^l>~$^ARwVf3n?4FJ|0_6Fx|sMZ zq)5O5UZiIrpy5Fi$kfdmk4?%`xiYWGm+8Hn)KLB*n-|{3qmIb-YgugZhQIR_M+m$g z2A_>fQn)*gjb+{EY|H0dN|67i@qwR^d9*&8XPcz$mZEVN zv8GP^`y2v5Q!{}a@VDiv3c%l5qi@bnEq+{B7lAt-*}aZqx#00wAA0ipe~t$+__J@$ z|G>ky{2lLMW&qypWa3&Cu08J63*?ffE(BvVKf=wst<{-`pT`4I_9|%>^)y)G=#(;4 zw~f2FB73DSVVHO{hEq@#fL6#`0yTj57M!E10lOG&l1zsa!L6`v7AHcL$a*6Icp<0X zJ=OSE1Oy}QLI$T6@&37xh-^d)gp_+x5gF18J|;sA8hA)lPfHF3z^ewgATCCg+(s3N zZpz*T5C5{3f1e)ceaiOBBn`RIgRf6O{=>hO)rohwU~Ro>=x=zGg=4Y`sJ-N} z4}O*dx?>v!34})3_vBoOEQd8D%^q#*rEag=S zI%Zni-oDE{*;#a%pbX-2HW( zDu4QCd%!pK*bvKM5aK?%I0xkbmN=g_HWih_I2{cMPBe`@iUE@&O6Sk`mhEjQwyP#8 z2*&4(U*wi|3z*`$JBVn-J^ZQjBbi7=qn%FyY{RC>$^XJB91@~fIt%F*S zp7TzQf))5jwhxjNkiTKw={l!mx{`Kw)ptna+aD_+1A?|LGm_2I?=dYnXfVhs80!%i zJ2niKpZ^~L3d+cX9`sNB$oro*O!9DCB*!nWg#WnoFq}5F26$fdqcCa+ZUXk!hAuu? zfn5a2r@)bHkiw9ser?&?lPMgG@2(|5G-a`3e0s8?8b6+Zn*`4lBMR@8B(f@SJTii$ zY{??8)J&MA<)e1JJUxy5E+pKKd!CrUz&r8TAKV^?5)BjO8(?Iij7Re~#|O>k5;3?v za+a*+#DA2-^d9dH6n=f=3e{DGIkl30drZiq%I(s z4G!*1GyVo-4vWsg+kKhQ=g-)9i*2lc3!&kXpR;&&*98L;LOOAv>}!!wcve@G?Xp>uL_a_@{mD8qFIww z{ny#OrMERhTb>J|U)gIW%sDr*sfZ>mJwI2DxcwhWUIDE z!9UQS>!w(?xhL&k>ZYDUXgnbWk$M)NCr=avkY?cSgJ`~IaWJT%a-^=$pH=?wwnjm5 zq`Ziv>i@VFDSiJ601ncnQ>uA>Q-70;4NR-N^-{pnxmyKAk4I<4HZQM-JG2G1BwezR zJd<42Ejcq@1imX4Hi0Z~{GAj}#%=?O@y6rz6MF%q7bwQl;t!q$ zFdN`nKTIqs#4JFG_=L0M{`inTK_wZE{a} zYHK)8mln+>|0NyFElv8a_^+X+3=F|Sx7}%^MM%FTkq7f@#dGtL={A>w*##ugTe$Gi zu`G*KKMoAq{4`c)s4?a=Gj+O@7jezqq0bPl}B-0~SFgy?F6`B?F z(1{Hyeq@$cL)3+QTKj8j5(L8;zF?*31;li5U;PpDYuF47IF9WKF8!NfKm?F};15@d zOV$6n)uFo>PQdyn-NE*PF>#St<2~vOp*>9!#d}<5+ul~EK(0#4mDLjS8Wu8Sb1Pr2 zJzOl4uT4jc^^1_P9-iB8Wz-!Y_qnJ_?`;tN09V_}dv`4gci&1q?WF$oV+hh8xE~%b zeKh^!$S{hyP2b|I-PV|fUIq6cvUJ zRs6_Yqel-P`D-@dyKpX|5WH+3lHyn1`{Gos^KkF4Da5(%f0O$7KPUck1|9_g9A=!O zG4#EbM_`3G9kGpg+XLl&(frja{_|8utJhltDMv^7>~R4LxrEELh91PlpKW?oQNb`c z1tGl9UF|COpKr0fOAsP7N66|^FK(=%^th}jtI~181qzi`-+UKx^)S29PgPabx()~a6AbmxnSDgzg=7tbv) zFmPjgzWaRZMSBin!WT&m+lIB*kIYUZ{B)i3l(%o5zm&dq(Q$FeF%d?~-~L&BVgHA| zPBr+OF6!i67kW~DNo5a;o;Hi3OwMPNPeY@aw5<$2G?IzdPFL8E{`Q?W^tEn%l~xEo z2+(+z;J2-#z|+ZyXv{p4^lN9AbNhNWBq*xu}bl~bfdb03a>d#V{_iIX7~L~QY=WZb=8%X!_Y*}U%ed0vZH6V`nL(f0nJ89 z30Y)M2e)IwSt~mU22ANgpiar?$wbTkq~AKb11VPAlraGEl>LJny|yT0MeCwSX=e^} z&S|`m9J!>NC9u4k;0>>pTQm0lZf_vD%2_t+!yD%`l9cP8gMiW@iHiwe7I5Tp*;&%6L22$TcnIWA`X6!_41Vjky5i)ZI+W0n104^DF%c9U1|kX7d}zfcn!uG%xlV&WD@p zIP9iA@`EAXq7a7KG`*qYLDnBDVsH;*!C5ODc8Y>@l|WL`-sd%tG^Yf4U|LrT!4840 zxFC8-JkUUG!{D#wZ748_5p3#w0utPJ@!^xs!E0N(nfEu74xJauNdapaEmpQHKYbEoE~XGh8xi?lJc2u)(-VZhbrD+ccCzshf?ur(WCU#C*7w(RV7 zPKZc5j(`130wJ9gA6L{)k5hq;%Aj7(wd_7SAny;J=}J-F0h2X79~H%K(%8`F$Zd=M zDzeuDBYJtkD5BizY{@)#5PapHch^SbGt~*E zSOM|Dt&nb=dtE5qdF7%>`H-lNaSYVo#V@bQpvQr-&QTJuMH%n)n6pyl1stC-Ywp|I zn`iNU8;ibuB4+jDXElBYn-UrBRzG$3Z~-g~bcP{j*0_9>OjWSu&Gz?W}L^n zwO{4k>yve34UWM4*Ent^H=6d_3Q|=yCm@zlKe4|)#?Dzy++jT_%v5%PA!am>ynH*~)J-TxKBlB2)a^y7T{G0N& z``e2w<=s#=Ana&x^CrlfH%d+dP1MClD(R3?6iBy**_XUi-r_$G8eUdD4ZWDox7@X6 zpPLkWR_eN_eE?2z;PJ`YlAiLOJ-PqI?L%?s7Bln;HoW8}Q>LowKBJlU4A@0Y(Lgos zqoYKbx{4e84{~LjR49BqHV@f1z(+1#fJf*;KFWq294WB~JfH*kbbY5bPke9`)U$S{Q}s^` zY4puaS=^kzu%w8ayE*3g@9UZCWch=BaGlc3%oaSWAXe>=y*|r@4uGVW|6!#WF+u^zbejY#$}PX}Uk*GL{mH~Siry5Fo(KE8R8r<~0B>``4o>e*xV z2u4xu{YY1AS>~C2Yc1^a$$G$+hfp=5XCW+pKn``WPvUGL7GTc7WK?y7t(imc8k=bSsnQy3T znq0e%wnXwUF%l)Pk%YlQpX*;sG@xvL!K)><6u+ZcdTkr=tz7iKHm8TWAnSvCV0>L$ z8;C4rS`q(k*~q`f5c0g4O;-%R*tG6f3j=u)Arj5Oq^Lm?BcAwzNyKk`*tfTmn~e#9 zA2?s_y6EkKB7et}CB6Wq6_b)2!kvf?*3l0-Rl>&vU(6AcpPwW+LDx`=>F!<8RP6^1 zhm055(n}IIYiQH!#ZK{H#0~fgoNUybKJ^#pUdm?VrMntaiDu{XX4lSoAt>A~Z?=Pa zSe=0odK`~6_%%?O1bxeVj>kA4Zze3vO1K2h_mS~nZjs-4q(FX#pdRX}6~6^_PMOUw zu3x#DefnGUJUf&XEh@D3ees2xaQ02j#aY8eWpOeQd`*(@MIZ0U z%Y`(HV?zAMt3iyjXM>_=@l%Xwbr=R{AE2Xn&4G=zBPkp}OGa%J9DyWUnC5(o>oNLx;&0qn$k{k=OfZi^>%c5Sh|<4JYmwjuO&+m#GK$ zy7-0_~38Zt?h16`A95^db$*CL9fcK{&0h><8qfB9Ta{V^^NH*d>(w; zXLl0LWGa5T010Of*y1Uz=@IX-8fk4jTWvUBg<;HP2xN?!A4g^|&H9UtTW3(!&_`34 zH-1NN*Z2-^x}dbhI2JCzCyqR07~4BWy5!DxGta-*n@RRTkzx!NV}2)2k|7(^81o>T z=z>d_M(?T!7!VxC%%ldvh*8SD`Nn3Beoy?oXB8Ugx@6&hDShAur&J?Afo&dO!=tIW zHqt+U?cHIjA*lLz!Vho7NFmHP-;hqBrt#&8wDJ4oMS^xA1W9EdLX=m;2RWV|TSGF74uv^P6Bu$TGO6c=GGkK=&)eG* z?IM|)g)&Nr*smvmE#%Cx3FtT%r=&P^c<=$~iKe2x-fWT!#%;&CsNDVEGUdB{D15w) zf)0Q^d#vbZWsZMs#AH9{ZL@q}tOA3?%XCR}fbKQ&3oA~Sp10iia3(YG&>%08%#M=6 zi5eAWK~`!62Va~r~PSIydiAd^Zr>*DmE6k z)aBcG4Hz;w36lVuf^@N47G`MjS{9IVM;%3k5mR~=q(3m zd+o1nWep7w86{2WF9cTN!^md|-~~yNeGeel?umUWBcdgMr#&W94Rw6SPYvjhnNlg* z0OkNM`6;2$_TwsI%(Hh}jg4baCd)R&&B@uXrWZ|AzSD}8RTZi+_(`*+NPXuS!Ab;7K z*5V7K(CwgSoe(fnr?r^i($&v89JpGs|1S_+)$_XZ^X=c%KL)Rm0_nn8AuPqXO$ZZq z7EDyzH5LTBSMHSXj;0AXKi=BR%zJQ!?%oZw-kgaglpZFdBfgRz+BifzURxal9}pjy_O2#7R>rtTs%wik~ob6HwMZWtb2 zs?dog)_)Og2GDggTJEiRPu~ZTSzQ4tX7$i^a2f(-I#*Y24|@?M z!FRC*YkUp}6J*bDsy%F^@`2nJ<_L?rdI=q%gd&;Y40)f(oAKTW^OzT{B2VUI`1x8< zl9(G)332h;I0e7mEk0aC^A*%=wj}4D;AWx#p%2mAh6)m}-5-b}f-5r9SjtXy1DYcm zD~<8?l8@fz@xa87lF1;Nv5h$cYIGsLx`HP@HSrT7v$dh;dW63JpwSM6b>DGl>@NF8 z&|WzQ;`;OMzyN9dBN|~2(qap#wp0jI`oi*Mdx<7U{pDN)U_|32(V;53OjnL!qKGUJ z_jXza;y{JVp*255Vj?C=V<4&2MreEtrMj`ggO8vgV{&nP7OFHr0&n#MU`$#3q{#Tq z$P2#_DVKoQi-1^-AbUJQNN_l*x~+;-DGW_85Q@Ep5TGE~eIeZ`!0W^jO6RdLqk1;E1eTf9#nxS2*4c`)Nm%-Qxum5Q!e z4q{bc)M_itMYuw?hc5LX>s$)EgN9W1A}B|-lViLd2t19&w_%`#Sb_SHxf^_#u<+hyX# z%;H4&IX-m1fI}@+UjBx3U6gY&J`|c5(IkwKO1!6J=JVr)B@j%RqQ{U^q7aOIx*nlj zmVj4|1j~{Pf*)g!1qU(!f=&GR;)f)hVe?!wt{fxgX#X#u=Lwo`f)YR_C)rW@NMTWE zh)HBCDmvC3A{zEo0l7p56^tcR703XX?)1KlT7>vOr3=i+DuZ;ZSkNkt^eP7TnRwa> zUCak;(!s*5N|ZQ1+0_t3vJkUKY)@2k`oRy$S(n^RD^!B{kB%0CuhdT+X7W=i=M$#8 z#Rs4w#AP>TZkzX9D`}b>V4#YR14uaw(L_DWRAFXkKh5?!2eyW;d&T=$33ue_G)WR* z@bbiGua%&c;AuD82|ojn9-)B66v;`2B!F~>;Pg^>uS%2i5Z2T@61=w<61g|;iAPNk~9(<=^9{T@t(#LpMm{Z^`uBjBY*ys`IBj3>Y^w~#)UzWlh3Qk zbE|-~yr^yaByfdXc+`VXZ|lu`v$)fT0adbflHT^CVtnM9TxIODo^F?FCPb+#OUO#u zxH72q7ZVca{b%F-M|I_FcV4W!DnXp*+)4xPH8S+U(0`&mF$OU2ZqJTi`Rlab3l7i# zyc*OT%~3Oe8xw*#yn^!uJvhnXt3OShBk!sPP1`YP%Zt0a2!UU7RZ}1l%}2F#DtwWt zP4p)lhKI9d@TVtQBGFp@XjzPE94w9xk_kzBu+|Vx0tuWD+Had}l*_?I%T% zIrubPVI>=(r4VQmnQr-$Gf8N$MC+!Nm_<5qHuL@VZ$8C}HI4;Ya(*~u%|qD2$wvx; zORkS=#C&V`MQv(Bt}aUAR?2| zkeAs)tu7(vx7uyVgGx3XnbI`|qG#Azb zAN!X>bkLW8Pub%#=)la2qs#+~A82u7r_+x&&CrSL zxY{zZ_M8`OSwi#dMv7c}8(Gj*Q1{RL8souo#_<8L@{Apv1OvqH1!thy74(gWcG}*C zmbKQR*g|@^MQJCIKOjSS|0umZ8x3?B8R)V94fzcS-cTX&ieqU8a_APKVywaAWji*j z*)jnj@!XSQMLeMB1GO-d2LqxluBbu~9Q|NeGW4??4E@~Jhbq4{k1=A*jd?`dKpJ)J zmbmcve9TtDT(^Z08x+oo!mzhHsSwfg#&t*r20$37Xd^$+MPd-p$bLEndg8XE14NTK z>26*kv~9s5 z3Xs{>m=l^ukR*IfkOn&=IriJFJ_CGN(Ee2INXVncvPYlgm;FV9P=XReP!3b?tsBa( zF66E%tTnaT71zD8Ek|uxQYloqW~$WFkRSIr^Pp8scCv}D;y;LGODn}nNEEZIKq+LX z(ga9X@!5>7z%rl!q1JSWYwzeb#PoQZ4)3a;MbK5U`nV?jp`@Jf; zaiRFckOG8s^V8tQOT~hH{K`^Tm<5~Lv@$EJOi;)YV+b8tu{6L26Io+l>{8H0^>{#q zM>A$bwj0ieF9eMP_cVNJZx9#SWYttr%6g&ULXlc2SJ5OS8(TD=RNz-@Z{(?3Y+@Pk z+Ce&G>&~m2!FBjQE>(0FU2P;9eg~mLa4g0uezqg_LF?=~&CH@MEGTSyMqYgniFF0O zVUGct83MWx;WFb}N7T<=OUo(#15M3=LD#pqzbF+*{x|~3AA;h^q&xJTvPp+5yo_F$ zR#pa&H@jc-(iU6yOUI$P@G$SABF0c`I7CMa4Diifo{A=?O=f6iQr=_yIk|OywbEGHcq-PM_k{2fn%a@Jdg02Y*}j@E;|^R-fB)-g$c6w!g7_7d>hn# zt4@yE6#wxVi+Ui-+o(W3rX+}R)=h}|v&iA`B(qL3nYC2k9#qtI)|k}nfb&LRqepbx z978b;eJL?idh?-G?(l2L5EpYOHfvCBYd4G1qNn{qUJNHk4AZ&YqZx0pYuKDOve3(i z{VtTFX(aB1w=kl8oknC{FJJtuAUly>hlp9phJK#+E-gm&2FW@$``+h&94C2inN4pB zp+Q_HBaPY{ku8!UbTyw$GUdpR{-=a}fI~VJy$X~5GTEweIGD%4rQ7^?aOW#@=RI;s zhlV>@l{D!1hxhQ1D5V57B~RpC;^LIMKSYCuktR9dz>g z;Q#jgm|y?b$^WFcl|wMYx*FrVU~qb%>zU3qqHrCLcrA_iKyhxqIGt-fwI;U4EgsYuT6R-3$`!aQIoPrh=qDu1~6OKPC>L+5Z2MgCg7$9*Zw zs@W@YPnHW;RyvOq5(1%0pVto8p@pIrbr905>P@rBRnywVdvx!FZtwTak|Q**og<3K z6+)!_=4A;-1%S6pG5!Uuc@$pprQ#dg-W86oh`|Py z?d=F^RY2h%H2LuSddf#l*=u~i8h-uXS1%C~ID&k0i%99aNn4Plk0Ho;utDVQMI^K2 zMC9`K@gp)uI=N5b6I^S{rye`wd#upOcj5{L>wAW6<{t%djaQx3^_@P^C0~M^D0eoZ zD!cDF80w%^rd$_$p64$byDA&`@e{x`j0$D&lRREdFI(`vYPI7jubxx(dD{V!BIe@a zNM>#%IeTD6qVIP3(*%unK`E!C7G>l2NWB`3UXt2R)#5O)*ox=;+8Ikyou4z_;cT11(bfOuJMv*bpNrqBuP^P|PA=_p z?B)*6iTEI{PEf^qw!i*xV{pFP%0BC<9;TXfS9JaMSn7udI_LnO7}kc$E1R8=L}G28 zd*}EVCZ({9uXs_^jcR3;!*BhdI!SngzcX1x5uFPNaOl~m1dyGe2|iPgAL9Z9^Up4C z98P~6tE-f#ZdWX6@Vjq9-g^mAJrZY;_~v9k=UYcM;(dJ>879*D;O_h9xSTt^Zs7L+ zau?FUt^c{4`wQ0=@KN~^_!ql(483a(SzgCrH&kR`cth0$S-G)D#wlqkiQ%{q|E-rEB|oHic+#H7IHF=^;9V+cgV9fe^Isb}ZL>!Zh2_33pt%x3b2rF!&eAg%2ESi(`>2zWrFUqZ5^2B$u4k!{gE`G1CYVUZs@;#6IDbd(viJbNJ|W{Neq__!F=^y|L~- zS@;orr5ikd|6j3vfUb8@tm7c>B0t`Js{U-_(0%Ie&v&Cq57{xhyZcqR(I4H(#Z~g| z8wQDXLu>aph6=|Vr`w~#pTE;iT{z~`aRCi(=R4(ReRtC3+Q2_QO=?jeMjsAt%{q;j zG!;I0evr5NsNrB;c{-XyIpf1ap)uC<^XXhhlMk8?juSG^?SEA3HPkYYkSS&Ogc`I^`1aJ15Hmb1CKSGp76k z=y>BYzXoSltmh*NCtLY-GS)IYw@KW=2FObH&H76O_iIsc4=Z03%DWx@KeFCBD$1_= zA08TpZX|}rL6H!pV(OZP(bMp=}zCnb9;ZE z=eOR!Si@Q@t~uA)`|Pv#CyGx`)*M#3QXuM&o`UGSRA;jv%zN@bFLn3xG3Df}AGEW(00O5w(buy)i)8Q32S9hk^!MaM)i?4b1rNK)+D@%hv7Spco)_h> z*Coc{Uhg%FD2Aq`aUPn;A3wKDC@-xW;9vS!RMh9Y(+Ly5rC`L!0kfKK38vlH6*~A~ zaL@*!bH?f)aG+6PWJoUYXyULIv3N*GSgf7gs{9Rrkkm=?mc8nkK%`#jnH7DVZ00>F zUhKpsPrh1Owwel?@CXH`!Q!7P6&AS5U^JG*`VP{<{_FRAbt ztw(eGK_ibMABl~1m@TvHai$#q`u$P0Yo~9Cdl3sWFuDuGMotS+2Em+|>#8>gB0Ubj1Y@*uDej#LG zqpVNf-KsCewkF)#4OQyA0DV2Q%;HeD5V-NQnLNNkhYl-qJ{+@=s2DVUIF)K$BWqVd zLYtERA)0d6K;zf1ORUlPp@W;E`$nZ~s_&vbP#8`833Li3&P_H$*IiCok=ZF(&mbY~ z5ZQ#5Z8g;bCc>wPP9+?5VkQf;#=HXOrgwc9F%rdC`D6ZtA~_B`cBCE`QIfQfk_PwXEN*c|iqUIUN0@J03r3&JGH-Gpqy0DYBG?g%CAyl4GrhGZ9{uL;rY1klt_3{#6_Q<{P_TnR3R8!tY^_rlHM9~|wR|#mi|M`O&%kWF0@FAGlRD#Ov zb0D!nZ#pyTCOGEAg(ar>_O+dTePbq))6#gJ{us_3VhxYY5)$pwh5 z>h+JB$+HgKeE5=gm+L!YCNQ~rbp?2v(Ok`Y=Oz^=HRFdqCl4&2G1Xt$JV=Jyjm$;7 z_r^{?5Y8&<^JWlU1WHp-S>#9UgxM6|gDZzahGzSbmOyUKesI3Cerk(vpI`6eQ56{( zMfH`Tk2NfB@UG;D=2napZJ+F~+5h~!vH=WPHo&~UvsO}cC|k#6q-e@f@8jNaJrR*! z!E&M-c-`NExYven>b{C`>;Xuyy-5{N)P}X!%bj#IUxfLbj9Fb-x9X1HfO#I7Z%*uu zEt%bVs=-WwoK4~pDD1x8vi~$yqbd1;Y7qkTnnD7$pch(g%&?bPDbX(Ta@#S}4!e#s zo76b!2p+#Gx(@+11jy1AWUZ|lO}U)}5zqAz~QT#+3Rz+2furbNx4zFw#whle8KsY3x=kT{;#x( z#NEHlE3baORP5V_z?TEBUZ&ZJ#y3P06;2XGKrO%WcD`Ya&cW~J8hy0Vl;0tkI8&cS zFfw1VA6nF+ScYtIY?Agv;+0yi{252%ZFqbd@--1V9p|bQbKiI<{~O@rCd7m4oq)az zDu}~>NXqx*^RL|%p!pHLl5H5HF9&NPXI+I%cd z=j3E)&+)96pIn@I0_tXLk@SKY_YK24%;^+CZd43_Q{@p z3bILS@2Wc-pNkcE@O#qp@DWgJh^Pk1@L7{AwV&^|*c%)BBWCUZKUI{v+xuvf_xwpm zJMH4GP`zWe_IEiOo%~v&&&-HBag&p#hd@}$Yr5R~kjOOeL78Q>3cF`ZvYboXdI8my zkFXD7tXTX|IAy*;Cmyd2W{2)(S2l$2jSPfGU$a3K!y_jetHa8kcV)?J`-SthW*#m| zjQ3ES^ZQjOlI$&hFj58)>|{%md!4cL`h!4-x@;lK{@7jUFdnw}EJ4(&nuxt}Dp}I| z2b+Xr|2BbNi|anwFZwP))ZpD9q~47VL9tS}&%N0~p8vxT{wG)$FX?V)verviK!J@7 zzJocOoLaBEp4@LbUNHI2yrxOEkPv&eMI>}wvq$3Q@7@Lkm?mVwa%rbXEl|MD2AgBZ zS$>>mZZ;4#wEj5#;=zHwzto$0SS0)Tg$XVrxaBNvtZp8nR)Nr9pNCy{l4SFXsrre! zlU3Vb_pVF9qY9FP$j$mclQa8HeLxwlHI$($LnY#b74A_dvwbvoSw{mkpn7L=RXHN)0fT0;_kqu97N^jSmyEC{GL)&ms(=8I*Zv3ZqnV(yhXv%F8)hCGl9ZTw zd8a0j^YumPvUM975%LGfl`*T7gW`ps|=e8(t^g<9BO9> zNfp$}cgwHz*3siYcN0M^(mWUJQhWM_Qnnj6etn`so|gLKN`dBBB8Y@^2k8fS z#P9ibCmM6je`_baD_*4qVf_TrlG2$Q+lSUAMwUkMuA~)0cquJth~lOLxKPo)V|}+1 z8F{HdP)&|Ro;WxWtP&uN4uH(q#Ag6Ky_C#&wKW*JkuC3CZf*l0$(lCg`m_W;NALn_ zZdQhd{5fM|zV^R&pA1|kaS^(0Gr2Tpwjj0=TR`aMpSm*lgBFXW`r0agw)}+Mp2g!a zjCB2zX*pzJ+RzLv^}7>ZylW}mi&r)!EjYVl4}{zj#qC{-z8-(1bRa-*($OLz-dxz3 zm8+?Hu&bA%cITQOhS$J@X-u-SstsPy{Qpb@3O16EJZc;Dzq6QTMoKWU$% zVj_50#d;&r_@xvYI^um0?C0V~t>h0l@U!1uJHb~kjZ&5<+Sk(MiUYe{Yx4@Ka|D2#>Vdl6 zpZG0(pmaFS=%nimAw71GKNVmp{FK~hI52KPj}!r&JZJQQCI@D<}xH%uW} zLz6L|QwT3dnaR_>F{ibpo53;agZGo2^JGhL*NKqnMwLUpwI=@?Xtxw`6ngvv+bp}$ zA^?z|DU?H#14fwf}9X|!rr#8a+X(z|yorO%D+AvU6s!=Kt5)n?2_Q@}C`%#g% zbcG7ZY|c=7L0&?{J#v^vJuReNWH;|nGfxko%qN}eJ{gsa7ns!isM|k~F3irJUusMu z5&zMt40$#`@dAq2*6YHhegh*pW4aE+$>JW3*8h_5H~iRt?6wI4JCfKco!z zR^xSoEj(6pI~m(g{fA$O*!L#IJ+j9uMWzqfRU7*NWN^H!PiAh?bLr7*mzAGxwsltI zDbmRgf8t;rd(~i5s=pG~J;5CHj>0kgli~c$XfLc1a4tY}LTEi&BCo&qnq5$S2Rr`q z07bJP&*@o9*-ia0uG38fkezP5i_Y~YSs9`-S;^!hLv~B^Y6Z_SM((j(b(<-P?r`7v zmGna_8W%{AX~YU_%iGsWx^@7VbftMBCu&eQ_cl_C&YB(NXCj_*mFe1%&i|_Z_2@$4 zag`E8o&^3erQy@IpHIR^GUvWr3ja=wQh3W>-yF02OGf19gU)=Sw>3wA{~0DRPPbtTTLBf0$C^e60TT(+$bgQMNhPWwgTE z5?!5$)4idc;s^fgA4FUNrC)E+n7ie7JZj$AJcKW_j(te8pSw^|Z{3#D630K=Z`)aCYR%DI!gh+YziQj4GE-4n~@ zMg(`NQOA#MH-g5s*?hI3er0~v*VhTszI<7wSv zBxLSz0%iOZ+Wq?u1V8bxTMs%I?Z^A}6AU&*(=Pt)#;T%AuA!(SD*yPXJiluSnhGTw zm{ofIOO>?Bc|KlFudA5*1n_yu#wY%)+~x^V?~z9Lh>Jmuy;8UQ1z@#Dy*0QtoBd@= zCcM8>oBsY$kZ6BicUWDsQGGo|3Fdg#%zn{u2|e97-TbB)I&`QZR6l*{X|*Ki&P%-A znq=L###H-N_GS0_L`~6eRlBj;G3va~Lp|rQ#SHT953=86t9)x54o_Gdsv8>{wI%Lz z7tSoOpZ5pdWGOH*O_(|>NPU|3W9Z;61>IvtPn&~{>r;ILiw{FbSitNka)$Ed=a5_e zhO4pBl;!W$s2x1De29gj2NRi}%hCTKGvzpDg+Kp3dfH;x?N#YN3#5jEmsWce6g9b0 zlz-dPNPT_!bzZ4x7*Is!B=wR^l)>CMF7(7&g<$oVPn*Vb-K#Lbf&AvG{Czw>^ zGvrvqKavMomg!`u9A-tWX4PL8 z@UN0$Zz;bdm$D}?1}MHs+Sxg=HI1>#1p~$ZYcpWy=o>tmC#E2DJD+ctf{I0Vy_Y3_ z67mdatFp~`0%1jR#Pi|c#@#t0p}J+oC&^L0? z5X+sXkgg%vnSYfjbC#R*J3XCWzkooJz2lap-m~ZOsOT>GMg|S8zNy6w1rNa{SLIyQ zYhKuv^@4WIckdkyqp3`1V$e4_PJQS`1JiR`i!*=kTj)ettKCs8E-ie+v(sqHkBuTy z*DHdPPdY<~ceQF0Lg^9DKb|nxcwH_F6~mjF=R4aD`DXdX|F)z-ZvZO?6)-Apm|8}+ z+i`=Y9QXH)+7h77Eu|x}WK50i{&0Kf>WkM)6UlBp^qzgPYvY5w8a~cPKAcH2rO(`} zY5)kfN^1v2AS6580j^9nl=2s&$+9kDL&`c15s9K!?|zj&kBN{f&gN+E0?mMNz&4ry zlDp%VorR4S$wyM#N#C8dl5M<2!;LAiVRTK`ZC|T3zal8SE|)8l&t0L$%>HQ}N6}NF zh{|Ue2b-x<;zddKElW4jw6*#+ibeq}8T&(mu(~!9a8(S;|&hJq|b73jmL^^LNV$+uST3lQ55Y}?O4xLDp;8C6VSJDQ;C47 z(M$%hz4t#RA^czTkkc!^;B?qC}CWm*51$q+=HN;V(V8w99X(J(p)U6Tv1BNs)h z0Worx-aAm&t{vzEcWPU zNL8+{WqGnZHW2k&D}$prA#SE2VZu%p$2Z?}D*>%62Y{MbIajr13&Kr4 z;S)sNeAkTS)4J4z=(=S5D23np{67WJU7%f}d^MBp@>c(92%kW7zDAgYt#>30u$N0}R z0;FoJn8SvT`)YS?(^DI^tC<#NpH z5(#-LXmHDOxAoi&T1)KD{9b8G9}ieefC*PG?Oj+h85K@fn*s_nP*(u<(uSB|y&eU! zHd{5R27ejHNKHn0Cxw@qLruZKv;Ez0ex_1=4A=t%nf6rF-|`5t+#B*!kx%!WEKU?C z0m8Wc5mk}^4j2E8kUY!TSMQZ+SmY5TO)nQ@O^hK}$BxC`ggHU8x>ft}O4Aqcv%990 z%=vo2UUg(dytOA$wEa=dt2*wv`#(Ur%KPF1G*cG~OkiHu%#E`j()E}IU3L+%@7p3C z22_!Jtacetx9xxU???sQ8NdZDr%8JU|CCiqoe^ofR?}hJzh7%+Qe6IXnR#eSCE{y@1?rUNUD;%)v z(J^YSR06Jyk6TqW_tftR#>`helqfnP@_`@+i67c~z;Q&M6Bo_5*H_gt)iO!8t0e?u z0r!3Wn1e_iG+vKw)5z1|R_dZISdN?QA3zK2@=8r!7kS(0@S53GW?X!IedVgSy@7MozsnY; zg|@`OtPELIPfn&hj?Nw9ty3%?rxT4e7z?L=lAABJp52fPbll3)zJWvjcQ+U&f^DFfCTt{WtO9e%yHIntj$| z?sp#V`JyU>9|nI_5v)+lRG4&WnUpV09YklV4`kOI-X(zp!yzM85f@Stw!0oZ-dH+a zs7nqL0hVt3=>vQz9}5rpZCq5e(jWDe(C;>GC=2g<@}KA+rrmJ&+hc1@8OyZF3N1gqzeQ2H_vN^9wp_21KK@Z^vvl<9L~| z8shxIAu+?CBKZEH3D$nddhMMXTlxNhTkCwyj8u_0Vg_qxGPYzo$>b3TR6U@r$|CVJ zMBQCDbU7+06Tnk{7V*UKy3(0KytN!e#8Y+FmT{gjml>P+Tst~}p6#PRLMS(80Y}{$ ze*=OVq~AQen$q|$7J$__lg=7-DLG1R6d1T{O|Vme7v@ybEP_ZFmxE*hDv`G_u7;pl z{qHRl9+kj@(iWE8ZM)ny+N=}+wXIUL=9(0HGTs^T9iqMLm*`&b4V;9mZCOAj_j|SN z{=eV&u@b@2?^H>bkB5b|Ui+(W-8xAcmpG@`@~WOxJb*mgS}d?mF_22Yuvodi{dZe^ zPQ?WSu97tsWgzjS_U+Y=XwlZk3QuE7M!o^$qv5eMKD_z4(g!j`+EVk2hOh#Izw0C@N5l$;$do5cE%AfRNjs zEGS{8QolD(HyQ!9sv{|bfTO?eV>uLttN6`!P_+2PmdqMH&AoWaw92En`knI!zA4!h zyHday}{CrrM0>TIk3Cy1bNf*xdIle1x(u<3{U=CF`Q1 zy#E8ef73HkgJ8>gVKHliAVa1@gD6miK5b?gu zP2VmyI{inwrhZXbv4%6)!}vX-EUz&T5VDeETOwPqBQGtj z*`7jXtWrzJ6)>N!{#Ex!p;fP$vE(1+v)-@@)5LGeb*ktem(yLh0|n9COaw4^y04>6 zN%rSbOIo})Lf^74WnH*%bmAk^>GA3EK*pp?06?oVS!`L7{6Y$`M)Wx~8E!imQFfrH zi5!bvR|e+=X;vY^5awg&kw@;Hs?=UiMt{T%r#og_Lq*+tN@GE}Ujt}nCxRr5gq1j> z{V58gfn7Ty}2c8-vJ`#2WG=*=a;-CG@1Eu6aN0|d!S!B zKS`iy9_%#F-c!-M_q+UNPV_Bemqev?b&+pyV1jUbSD|foZ7D5iQz*#p6RfCiCv*`_ z)Bnz6KBs6LTXjbIOb?7doKyJFE}>?xj^`dyU^0uyo`fvXU9o)W14rp5YTUhC(@RY5 z?SngIOlp^|d>(QF#-BT0PtJ~^W?;>#lQnpoR0v|KX+VdE2|#Ed)Z^$b7f?@aDU&Ob z5z_9&Lddp0V%aYU6_8|J5VoyP4T$EXWp-7+5n^9|No2gky-_L?o%pW=h!)TUm(j@) zfVx&YVGb$9S;rrI2z37)h<(`)&W|ho;$h6)8`;k=fo8nDFvlc_wVU z9&r>zw;O!{MyZUx>Fj;?FxQngE&eGWkhTQBT>|^A%ZV3kNh-sHa{-A#qdJ9zXeBXAW$=-WsWlo9VLPTj0{O`IRP#}xfS~y$J zn8qVV=N`h+M{Tu;;1FiK8|FD8^6sR-D;-`dF+bM(j?$q6FY9~J-5wpN{v|?%-Xhl~ z22fa0ehnT^ryu#HP1bUt2!OSlYAqZE^H7`?p$`1rkUgaX&QQ~Ou1UNr(;A}Br8*Tmf!!dmU`!g#|Y!#pSutdK8=9&s9U4BX^ z>WxsYwQ`yena*N)lMA66XU$pfW~WvNvIH zlCVyj_key7ROOZ_oId|n@LnX{i>H)y89$QUI45Gexiv7?Cj}$%)KEWw z1SGtR(t8oQ*kh3UZoQ_w^=5!>SrA2&haSMk`VGL|nr}7N0^{bO5&V8Gd^q8wYvnl5 z>Fp-A0#4N&{nvnL?uaKW^7xK4g4`wZaYG}qe+Be)P+Hlia3K7la0sYxuz|P*&64{5 zrnU^B6w2N1t)GjvO5a=}caktyXl$5>Lm-+=8%=5wV``V_c&ZHI(+p zZ^YP7-)>Uvnsx@Psx#jQqiULnTYH8-TzJUG=$TTxpYSPPeFc9bJ~KZkeSMDg#ttH3 z)FAx_Ahle=LmIUPFwRg{A%qAgu@J$nMx^uVa4t{x{dnZ$Yqj8A>~w*}B#-}II{3!w zFHn4+8$+{VApwq0{E2b;x9a>HA9M$m8xhmgE6v`)jhr_78986ijA}aBrou^g6ffK- zh`$pDxMOXP3m17?rs%#=W@s4xo%SJQ>5BU_6dpP25u{2libzgw0~~mM($9Y-W0=0; zk`ux241apdy!D4r#fA(?CTNuR-smGPdyEI)z{5crJrd_|23$;~WfUHif{Vc@U*`Oq za4~!?O~LSo&aKVQBQ4Fmb1!r|@d$FF-HPrJ7j2ty*zf}vMNstKpSaR<{ST+{(G|&P z&F0?ygT2bm7;bL&3@B$Fv5vuu#z-6Ud;>7Oqd$o45J|N0>V0}S|gpm99 z&63imRik*BR8TAs+6{^Fr@!ar8)KTIJMiSKgUor!bbwHhj1+{nR-4t0OxRK;t)LM~ zO4-H=fel*;JjRK{8@+?G455Wcp)gT9XsY|6N9)6!!uKkg1yLr2k?Lz6|Q|YO1fC@yrBN|}(KO9Sr~1G9g&O|=G2?X{{X z^IA_Gg>rB`UHffa{x`2OU)BKllE|A7-a$?Ul3_J9wa)A<)f+^sQiZ{_S@p z&T%cjZfOI9!qUULoo!>+hVm*;2&LckOQS#% zOzY-u@lxwhotTqDV$w^NN#9Terctei@e)BJ=l?v}lo_9wcvogt<}Eo#A-SXk4mXnM z^rvcHcvL#SB$X}L{Sk5P{jtRH?asSWxCsrf2(4tK5(h$wi``Ljv-hy}`y)}=vNHFY zpkJ(@pT8YEzHbB} zNV!omlm~&kqkQjT>fWn>`8SyLE<3nhqR z%Xw36uizq+3q?VWI0<~4P4Im2^s&jO_1$-NA|aaCh@&InTI{=Skx7*^*Tyn@4n-NG z@xyJ{qJIgG5|fN2#JG6T=S2xan9#oP)d758b8Qdu6XMUEBZd#Jchmc(-8hLp7-h76 z_qv~gx%cydan*Av9RmbCAfuuKGQffal#NvD{{6-3y~_ouA%(MYG?^Lq#c+Iz^JV|z zq#Iof)IU+dOSed544f4_651^JzPx`UhCY zHS|!` z{rdD~M@?jFk4F>U19IRl2`lFHZ@*LKCSYuS{yVa|TiN$SNrj_A!u*1p}B_4mB^y zwjmMye-`3DKj8P#K*2ILR!luxuh(_r>XR5Pk$}P*?Fc<<#e(dApS_!#KAaO%~+r2^KGs`V2z574Zy|xa&J;9+g&DG)zwFPWAI zO7`50`kG#nmi9>jj^NK9mx})<+Ad?TTjBDd2TGiFe0TS3XLw;R>b7Ey^)5H#e_lBs z!Q+fb){j{qMlSZX_O7ULvEvWz0EHt)ER%mU%kOX90uc5)G@cDOEA5_;rr~!yNRiEu zrO@Hi+YQy1M?80M$kyaj1nrt2*=<-v^`c&ljX!hVv<25xckK1zoJ?aNSS)PPgB3NK;-6D+^$ON#Iyw<=gsBT@`#TeQG#mQd6)F?>bMSTT{k{5>F}ImQ%%5-X2Ub&?v*2Hq}&0OkJgSiBiMwsVi{wx%OP3g1MSe%D@1-dbzUuCYiKh z=RDW$Mym5fwVw&w8yYgo`s5r3gp3Il*tWWh&y1e4r*=f-3D3H4sRaF6;5jsqPKyyS>K67@CR`lZR_25l85Exoq z7XEKEBcDMz6qI~@W#7;;y@CX{gVQmFfE-|C!0&wf&qMJ}$q7=D(Es|?3NvWQDQ+t9<2-VkLaJk>k)bZ3l# zWdBcY#OUHQ(0J50;e8pLR{D_($-+n%`sV+0hU(YgF5tk!_pb0nMG$^+ZctI>#08xF z$ed)ZqZGZeUoBf02+~fQb|i)yinQ3`+VW^z6Jeng-|O(+b{7lj3mY5au#Ck+T7+}M z;M*}&l;3$FykRZ$Vblq_GUm0(p@Ca@2l*d&^#~U4gWz|`&px5pHzRv>{)Pw!iXq3^iNbQal?03&Q|H3w!9>C<&DlPMZlJlA77rf9kmei= zgO||p$OPHZAUJX0%l+EcVi4XR75kDR*cKe_U`gcD8&IUWC;Mjy1FR(-h+k2YEZS!v zXD{FRd$#?Pok5(Sbn~UNcklm`lH*AUx}Zqm8GWYSYm8W>I_)IZt=i#!>DEs&MA#$3 zN~QDrnzLRpc&)G2?>j2Ec^*mG&(8Q<2V`Bdc8I$6;Gv^Qw89I5O+vN#_3JKR>C#%> zs>XEmwYm++>7!Tgf$zHiJD@j{>aw~?kN)xZB>3lHm@gkDye8d6_n(J>$KgIBf@`xD z)j|jyRHHrH=c5_1_!6zdZy|K2P~zP}%s^+rycw(dijjELga}r{B%TzvZj7T|WsiB60mZ0+xATm~I4FS|JW+R4 z$Vc`*V>XEt0u!Iol$@sN2FBn`?q~wgH1Fo~_(eZf7kPtQu zZ#NOrC&E-p1Qe!+3$k9S?`kYsuT}dly`*Q;Ne%%|G_Qxi2}ue6sSBRx#d_TT<~Myb z5_|_Q=D)`XIKRNo29fPvdsoxH02_a{zT+1lKpjDMt6`1R>Kk3=gJAE+jtX9h-mM?a zNmhwu+AG#AvKyT#W0XwqPWLuF6+G@%*pP8v)no*UEMcZ?WiFuywuo=Qj>U%%p5Z!w zmQic<2&YTof~miJBpqZp8>bP5og{j!!2HBW`QHEoxdQRxItbG*hdNe8|C|q79+z92 zBe<4;_2!c~a|_}CG|UM#>+yp4=xxyW>_~<-rg-zcS0gXK;#uoQ&htm4;hi=V|5;;_*@}8<4OyN`ZHkWv9@Zx&_zEy zKCX#2xfiwc(!x0!CbOJ%adE+AV&i7;_!T%fp1s;wJA3pV7js-wQGN5DtaVxO#czTX zn6N4RY3*+j6R(Z#!odjJF}|VI(2)p>-G_=i=Gi+Xu2uc*7j^@7u8D{IM5F8@5E2vUnF=zAQMV6hI z#+~|juFYrH-ha&PrUUeZs*YIWNA&Tjm(P)UD)rhh3-at@qoD9_O?P?mSgg4`R!%9_ zPX500JW4DR_t&K?1tYG0p0H8+9s?T69$r&kO`=RInOAAvjr@u75qe%dhD1;#YM*{~s_? zd+ummyv#zP`{mVy6fUqzx=R6}Bx=7`P1;^G%JQ@3Y9wbfqk|rhc zm5DQUwDBWpAFsiz+xYgZB+?@!9=G;ZG(uCN?ky4Y+9~Y9Dg;88P2+>qBrfWLVAg+q zab7M2lmfj!4Tu48iWlN9#u5Ab`@4+T&xL$8CW?F0689|A9m5C7l^#h4uNnuJ(tfPl ztW=?&)U)r=XB&vdncQ?Ad!`;v>x!@jKrLTATHlm*I06j ziX!AHoda$rEQQe0p-U8L4FR)Mn4uURH_j{}@m^_p3tAiXqh!b*G_n%+SrO08bo{?$xRYbzSwGYm+(byK zPHqLwlR{R;74)a>411SyAm?uUyz?qAD(4WBV0ajlR2BrQv#k$eF@7RWeX>8Ol(1bD zfN;sa`+Z+u66G9ey>)ZIk<8B^S)qi)&5o<6B7b)K((a0f=4B{!$m z#rt@@zmC3%|QYFK!9$sLJg?IG`_-hutK8Ab2pWVX+* zr{rF}rCIn>zpX_|!&JeC_#K>$`iMsCT!d{GhPKdo> zayL%UY*tmMm5u=3nv>;bfJUNqap+_;CaZsBxaR9f=SIm@L8-X;$7j^61^*(D@(<;5nQy4NL}Wb_#?;Dc5RiD z#XoHy(;&Q?bxA{1ro{B$OZ|vVsW0d}^|>kw3-bZ--ium^OQDNi9-x7n36I z7WeKeg@K3`(K8A4hyEvn2gJ10&>zUIJc(8lM;LS%&a;}c)_}8a# zr&mp8j1K1^6Mv(ayxO-OT2%-$IPJzOS}DTnlENpXFq9C{L)#)NN(z7 z%ssdY1XrG^~4&p5ew4Ni(c(}%2j z2UiX9iA}GsqHpHE7`l7A5Yj8Z(R~^xII#YU6OOjJucJe$rLB#0aCmj9=k3i>U|bdQ z;X|Ueg^!;X`@!JP+qTX!NI+=PoCvKRYbJANIXqhIp&YAuHrGZ@CQ|gUN@0#6Q{hLe ztn6@^hX{C(_iccAzXqC}3&VrsO)$&KUBe=?tFM{+N_u;>jla0^M|?AVKKI0R|L5(4 zFHyLC;>#RvFgdS|l;=!Dsl2)$5B5`SJHQ)X>!+jLi=#woY|;H0+8D&qqeg!cxUIAInE|cBVp2) zmVn6I!po2vf7{5220|yT-k z+Z$+^{I;9%U4Xn~+anyf@cc`AZktsxmj$n$w#t*OPiU4$(wZBz!^y0-_Jvi(YkLbU z$%%sls&NA%zxm559whp3Q)&n9D*XvPq)ww~P-n$9m}K@AdfIeY54j7vCkuPH;{_VA zfBua@BR$x_@KIsLZ8))NS7*8oq%&%;Dj~;H^4`lN_>(^I11PqEe1>3?-#@y! zeikkeA5b zvhi{)6fU}6e_f)cz*3XMWyJeu*g#1q!l2&j%8>jIw6L2*jrALEv>WzD@9mQ&seY9u zz6>?T>})dpCM(G66j$n*`sopg&$L3@ASZ_{dOAe2iIIyQ}Y}k7p^)m$w1c83wC}KUGkKSW7_iAog z#v4F9Qzj=5A0C+OU1MTmoj$!ek?K#pTW-~7ZESv!FZiTho=F7F;vFeX zH8(4=T99o{)OiO9K6HgWbbX2A8TrNGmv(|?psekn+jAQmyYy4ajUk|vTV<)I$L(EV zu1#zfxZh-Zqn@w==Dp&PGtvUH>!(1fhF;sMgkqpr*9~DlAv!#yT`z5r8$Lu?!J`#u zNw{_Bv7hsKV~zSP8iST&L}UGl=Ac#P^_n#g@aT5Gp-AO?#vcdflyV7)Kd4P!9}n0n z-Q5Z{l?vwBA!Wr1{CuABF(?R+ECa4_z~bn1=(a0Mma5%*h zF~w^5FE6=!)sud~WCL|Fo(wIcWC(NGGVk!v4wcu-hCnh=h02*Y(CADN9mVL$+UDIE zw9TaAx((aGxjo)5CtK6~VS}Aqo;?=Ev$NVGWrc@q(aVabGVP~cQ|Jxu#`g?;8BN)I z{D!tO)dcM86B!|X1UmbE-%wk|?93HWAso9SV@OCXVe!`1XEfd*0}|i+285tk6AQ(* z3|eV^?O?eHEutzFP77X6aoWwcC*|6%E3KYPbrVc$id zgEU7dcKC=oi8!KM!b*5#;^twvPtn<0^;D+cQbbLqXV-B#ewGh)d;iAqTxaPBitB55 z7Sl{j0K0nQdN5%TQ=b4G`HVq7gYDn0)ZbwRdJs;9OP9Ws;v1W~^J;xx+}h3#W9l(O zplx~nbM3&vMw-Cmz07e7?b-ZULfIzZtDRckGh_@}b;eQm^=0#&onz0QnW3gwUjTJm z)|k$Exfq><$26q5OH-_wqveL6wW@K?WcDG_#6;TH?b{0p8w>@zq!dnwtu6%}zV^l2QdQ=&wa105a0Y|^j% zzSvD_0)9ybs9;LOp-p>iGS-V1KW&S6{Zc@S`<}N6OAsI4G%8`WKTUBMY1TK_^cey# zv%V+p3;2?Ijr6#ugoE_xZGEpOk}-+ z6p;y6ze$Iujr7Rka^IK^3Luo6Yvy=3rMw40Hj>=Icc5XiA;3=OdV5s1oIb!63YWrD zq1qKB!SdXYiXXW*m!SKJsLKulP5G^|%xUeP8c2MOk9RAqRZSVEE3Ex{0kBo{i!>yb zB|ve&6prR?9x2OhpdlDR549U2lgu=wq`6AcJuPke)_-1VN6RE>=*paeowcs_VMmH9s2 zZ#u{&gz$`&^{A~6otKs(#JeGFC*#1>{Zr@VC)*YCosV}rg9_7A7ZLnEMdcs=H>>6~ zBwd@vrJEPK9Hdl4z_J?AI47ej@?Cd_Dki^tJ^d90tW1=IAyYN4Q-P(lav!TyN84!J z*Yo70mXXwp;X|j6)XjR_40|Kc#99%vvAX@SVaAH$p06+7R9xt$StihD2&4f<_Orqd z-Pv~nUUW9Ch{2b=Fl-IZFk`Rye*ibTPgP4-n-+uin~jr4UEhkE5P zyI3?BS4~f#WmFQy?4L@wY+lG#d+pos3>%6>lL|}vp4{>t`#n{W+Kf|e+i-}I+qzFJ z#Ef|4k-{oZE%%A^ZJEQS>A}Y+$2YCr%4>PJPM3AVPqFyN@^EU@Y=5}5Da|lGg2e1L zg!eOl6%~Ft?|kfWQSBP;d&hE7JUX@8>=8G0krWsn)GV!c^5_K_f@Fr|wTV7)(F!Ew zF`ejLI2sqzfmR{rml+GsZkS1H{M-v8XT%oIjI_9rtIO2V2W{DKRxf#YVx2{stX^;z zZQ>p$*>c{GoyqkU5|6sQa~(2Bj6lywa3)Yz5EP@`HDBJmf^GPg;TGU|EoEdSNg5TW zi-);8ADttvGw5O(o7m=^?Hl9C%npGbb5h}UgLZ4k35kI^YWBvM%Bwv7z3%9QPFX6{ zVA;s{8>2z~DnrxFD?8MyKrz_7;-rZwYxo=!An+rf^a%$mLsK9QmcwTx8jsH^_!q@~ zOQNQX0rVc&=>oELy_PA*Wfjc5{NAQ&?=ViZU6jI9wu+rZNJye_Y*5-oq_p)Jx(ct5 zQG4*Ha*52kY!$8Babd&u-<}reKA@xd!S>?ub+ECS9p@t^--}w3Z~A)i^~8qm)hCmh zcV8T)?gE5%df8^J#_7R&R?3F`Nt^grdK~zcR7q{<4PzfF8j})#?O0J zZx2t@y_HoN&;A*~CV!WkJL5CZ$oN_NT=Z%|kjfQ^#v@-gHc5-$=8!z;FAht61aux4 zACEPLiLbBa9gYNsAC+0&UeZOI|71G^&OO8O{W^WHSFv}x#>#r%#N#)V1+`;t*KS2E zglR59%gc+oVTaedrP-AhZkkXNFsY?nFMT!{`n8->992WA;@3lN zwimU>Tk?)gjs$yztN7_O#AkCD45@h`;!q@)`@2*z2k|PBElNq2$K(FnqO<5hdN~{+ zHteH5`yIlf_{`mCJYM^T_rfL-lf3f$lwE^(go5L521XOuSd0yUd?WMAx=bqNSFt|x zs#|595CRTdo&1Qy4-cV6SEtFGMF2^J@8szpS4kukP%-z=hh%L_E^n2M-ESRw`+Gaf zGH`(5c={_P3>|jwHy^u|DYy`9+?hsO$Y#;>@xM&z%axZ#S>U`8zj*62kLN@xQx(a` zW0q6P!%K_P#o5~&<9<=uJZm1C$6fS{{9bzgUqZM{y+F%I<4L-m-E(lDQK2LwOe z{2v@2G!Zm!e%u95{oE;$3aRKp?LHTA8d zCdDfxRrjmoHrJy%ukdEi0^{=N`t1S-;Y#Qh37VP2`aIAZM;i(Nt#wVK2a^7lq#mvN%S+=P(^Z(Ixooz4nr1Mzw(spzMs~LKAv~AmEAZfjaa>bYu11|0j|>g(s6QLUK)V^s&Qa2u?|#U z6m1^)v_76~ko0CitF~6@5$NnOG(6V9bIHWSUd){-29!Y2YJZP5x0VJ3eHJJ3C#IKG>lCB!s9dpmngPvt z`VoP?h;5O}X1)34act&em$&Pdzl7XBS&7h!k5;BW`a6cu#3&}Qih+*G6{W7T8>2)WvS1rVle5+(>$=IK=HUj^Dl3O)rXogh>Ki#?hb zQ8T3qeW|XR@q>_AzCM_{T-!BFGhx}F5yn;0D={y4B?*6V7Hv)09)h-BprB6T^BhQ9 z=-$9w?aJwB*KD9Xe~#unS#T+a;JQYE-zv{;f6L49%B`Y!SNjH~R6RwGc&4XUOnKKf zw2zg;4`OQbQVW4(2WF^zF>oQ_xL6>u7pZ>zo9KD4TV#0nkmWBee==icv3ksn|HtXhXJP%C- zy>McalZ%dmsh=c0#~7;I(q4~`tw(ej;>VGc&lWkt_vq40Es{{Xd3hFCg+8v0#QTvy~|)K&z%+s@CRk8 z`Xz&PCWS>RW-S-{;u2D=SG?A+?b1(ke-{ce#S zzdP{Kvavu)O8<}u%SB-YY+J@jccAz0D}BhEl`tu#h#cIgypQqu=U}f_76{mdw)*LdM4L1I7^auziQc* zOx*?e80+b03P^ZG{guamQ_m$Zz%IAk;TNTBfy{LKVW}&_*lAnN)#%Mb_-ZrxQddPU zG}_V@Eb(?%Y|Ja6G#j}PB&+Th%-eyed83q#pTnv9l&H9L1RzMML$)+fl}WkJ^A3iH z&w+Yhw_!B;Oo4MFRjPL2KOp%8d8ujFy*wrif)C#Tx%shwjX}5RYGtBUy58!u=i`8C zqZFu8<~X>?0N;MONS1j$<7W%nquRQHY9>TY_|9RMM8Xm`@9_I4v@bc2u#S7TXHuUz z%k4Um3cDSk42T{!t1Akf)il+eq4r#dGVsEW(-E@e@&>VYc9&ppPB!b+N_^S( ztJBOcAAIpzr#8!h%CZqmQJ&n!|J{sMya^cL`k`p>Nb+^`lPDTvoT`4r)8?zL0qis9>HtUJ84ZFg925NGyUp~O7ZQEvTH0yi`mNSvJ~>Tlg1E`s=4MFk^JDT;F}nUA z4f$zB5H;W$@S5+_XHdv>-cu4pbzVzp41qJ&5+8hd{jKW#Pej_+{=GIbZdD&~4(C2+ zj8CQ8n_bXZCOjl%1p*kp!9xy?!TizSeVJ#xOe8qa1^2x&{@tf&GGx^SLw);;XgmeJ3%#eL0w&#^LYJL&@=A+01IL8 zg9!XH1Nz!0CaLf>7NwwhIHHtIqZ&gg<)-VV8524yBbQb>MP|ez|JK}?nzd4jl0Zgk z6PKYN%;Q%hJATElQ$rEYiwQA<$tLd!x_d}CLYsj@)z$XAVzF`?N}dv1c@A}$NO>k zZQNHK4nK*f#!^L(_rKCm;6~brWqxUSS_H1|EIKfSJ4)+zhpo;Z@!uaO(fx%0;Ad@@ z_F;n*Sd0PaK`)abtx6^Z^#MzXFpsUqS1<*5AE8H?Jn- zv$w>Qq2ev`tq-iXKI(k&=c@5N4rCm~%==HVuI>(E825nF#s;oQ9qQ;JU2X1NwdO-= z^uv#qV~#vx*iv)Q8EwAwp0S^L8ppLujjNVMs(O}|Q9((fqN0eE!=cfBM-2?qE?vF= zRY9JN$rWj}=G_UpnUEVVi@CjakKoue->Xfks-RQS%58FP1sF5A)9^e#K0Y4*kdu>fNRDi-U7u(&;^yY&8oLgFMNL79EU9d5we9WQ zU*KV-qoa{z{1AST96h=M#sEUTgwfrnFN?UaE&SD7^UQtk;}eY9tKW0jc5&iY_b4W)c@usLWm{@{Q2%&Tu(pvK)Yh3M^KK25` z48g{vmM4#8HeU*jZ8V^`IVOd#pYMAhP-s|BSJGZIkhkLC0T!qYyCKx?!YXh=8+-LL z6?6o^mE)(us=QU_okhl{IRgzH=R3UPUYd@3<*1JI{`lo#!miwx*Hg%LFFO5d z=Fh)BKK3)t90gsTa9qD*iD4i24XudYw~N7W^C+4-w7rskI)YbQT?7c>R~-lAVE z)soQa)r)0}SPtGSroGk3z)Y3Nn-@)1W_Q5;LQ0iZ*#E`50Px!-9SJjSw)lfXrYh0h z0TcYnU9eCj8n3O!BJ}e0OSLt|F3VECeHpnR`mNmxevFfoirYC#MLY>bdYtmLa(2$>p&WbrbkTy`+!RK7Mjn}G%U2dPu5zQy6JWo#ZKx?}hR286 z=5l(cr)_$ViUM+;1>FMs{s8r%gQn_Lu$1;8PdE94X1#t-aMJ+V`bC01J*sT`7e&b- zv4oUZ5B!oJQLfg>yw)+P#L-5T)6RncfwF?+rAN#&`XaapoYe3$oyN+Dng^aE`@%AG z%1!#v#HaT@F#?9`tznA1oF{EGk`cyZMQYN% zz8uqLOOAm)fFLST%xlJgi(^8ogY;DW&6#K_#fZ1kyARiAIlxq$bYS@AsC1__grocdPF(vs@~ z4c~6h9Zsbtu7m;UbMV z>LLgQu@W%z{6bUL+p`1$=XX|BZa@5eZ%XPKWE&-RP5gb~|3aIEs9Rzns#92{AqpZ< zhLD7?Uw}HRs+#l-ofllsoDy?0$m{i=tM0S%vq$1NG&rR2aKFWgT}MyP%1W00$y*Q| z90*W~igs24?Hfq9h16Bt?7V#0orM~nu-*8MVS{#XfC-n;IR0V{Q$u>3f2uv!?m%u* zkYBO8+rjQ)h??XZ-cNExb82=2t%YA^#UG>FJ2vLz{9Qa7dSZCsobiZ!TM$@U0iq}r@i_NfA}P?rSV zH!LY12A}o>%nQD5*u3io2)9_ZI4jJXIfs|&hm!7Aj~JMJpiVqP_;Uwu`$~p@FpqwA z;ZDJSzYoQ;zlQ$RGunTbad3}8I1|Vn09eh)dM#(~vz4ub#C&Ih5PLp{{A=Qz=7H;@ zXhUup?&P>fA;)3M+O$zA128xVED}`f%j@~!-@CG@i>Aa6MTqLq97JHwK%12q=B3BF z%pj{_`YXQ6Y-MJ|y8!y}OpLuVKb`Wi!m z(BMr;L>XGB(?nSR#yF#8_K5x{A`gVHE9$t%^x5+5z?Eydv9L7641VC7&TId@_wL>T z3Ap!b>Am;<{l7Mntofj48(bIY z)0>@{W1>qDHc31ZdUwM)MH$Py{Sd4zu$yTdqTz-2z!&npL0ze?8hjyJ*Z&uG#a=`g zfizaZ_l!aBf9STJ5a=ryqPw(Bi*w&Sv#T}%5(yV#(w@D>k|m&s4q~*0z{{K^q3G)h zQtRzg7VH%#eD{;|!q;@dL*}SvUnV%(c~#(b!)^%d&1zu8P$^Mg2>$udk8jVu{4t4) zCx7k9_MhqH4T3=ip{3wIvX6hg3R4{Tc!f4B|C67xnGis>|Mg=s0aj37R%3e2>m{FJ zWVh{XwgXJ-8rCj5WL}X<#HLzTsM&7`H~Y|E-rLAxXZAwGc)chb#(D#~&I-BoLMNKW z{JJF^!B%%wsq`Y6|Lhg$Vz{5brp~AMEFLoW@PF3nREUDJ<#V8@ zOfoo#wz94b8q|MLRMWbYDhirOAp-C2b;95-kayLLE%&p%rek_Kx{Kmz(bLl=MgL&| z`ui*Vf61k?U|Ztaxpr9-hSU(3p{zem6S~Yuub2A^QB-H!0ebV}7iN&%%f-(=9{KOb zNi+o?NBEVQvf014e!e>#1XRSwk*qC=Zy@?TPlQ)5JuY(FED(aRitu*?;u~(EThb9! z{PiunDGj532#+pO7;)b%w5g=Kl&d zKZ5V#p+tt9=|A)=#lP5Hw`%-%Lzz;}CCCUP?`Z{Fj$0WNIoq}uxqzaY!?mlL1y$`t zIZ}I1edE-Va5SMpU#_dYLTSdt#5hf7q^CzyE>+=}_VNOL=bbTe zCyRk6q9y%@yX$!%Z}=_ncqGtm;@W4>i1*R@WW&}s11WHfa4hvB<6$N9Lx$sihJn33 z1^?p}YpIn{CG%xAVC!%zPu);LLSpMxiQj`Ui28Pc(M=DJ%g3F8M>=*5nVCFmD_`ZO z-kup9-~M2sH+9%BWdOPY=7AY(Sl>Q4v}UQu`uO7Z?qVP*Z>#7-CR4z?P5@p#kW^FN zk21M;k27#>wgS9d!7Xrxb-(&bsP~dyF_fY&uo8Yzk2Aw*v=BY{Aq?FsJIH zLG|N7O3nQN-s78cK;W{0^&5}?Joqzp@>K31U?a-9r$~70tn73GPUKEm8?P~Wxq!T= zzB}%*^-C%+Wo@d-8lC2T8>)M7HnBU@sNe1b&2Vg^t<8vW031LA6hD9dT<$wP>dVU@ z8lB7=89#Y)>3G}v^qE})I7WWZ=%~%8U%qMI&}Y427xW`Nr-4oh8dE1bpO$?a z7kwQ^K3Mv_SU4zF-ySkCwYD}Ay^)S+3XheZEjjvJ(myoBdfcjh)SB-50kpcss{aH^ z3k$fEJi{{s4jzS$Ai(OvRtKjGDJ257_Bi!ZuNGT!-x(^~S6B4pKgh1$nJ#Z?LEi0e zq>cM)o#cK?P-CXy$VP_7TU4WA*-b6d_m6L4nJeZvnCT^Ms`rPfAVC-Q zlH;+G0U{ANK6`B~joNH?{ly^EugP?&Tv$2&8c?AF790XX8yrvmN}ZNp)9-a21*=Vd z51Z>?#G<=IGQ!rPI{20b7JD;t-n|nEV&|D2IR(c_#@c>72L=v^rnBu`Qu8AJ-}g0I zmD-e^psC@0XP)s|G$pEg`*^xotcpp4J(N2XgAuY#Y`ssCwCkqYcvb!aDH7~gt$5WV z>pJs(^|2@gK~ot?HE9@F^Df76GM-PZtBGfjFm1EK7x@L8<`pKL+{XB8-FIe)KUT@lnaUrqvBkbnu{14@P z6LftyP|bq}j$R-Ns5{DiH2b~39|a0}n1Y3^tUoz(H$DIL`Bj&%Bsgc~&x7F0s9qAu z_3BR%|5lTE&^V}hk(_pp@)O=qe4~$9Wk06h!rtD#*+NNK+1oHV>z;ZyOzR+IG5nql zQ9H{SArKub3yH6`Qp9j~3}zkHWaWS@QhJ(@V>gY0=AX78=B2`0{PnAZ;GYL{ARn3? z#=!e6n1UflEL*}8J2K!&e!rN)qc@Lb$Ao&vYpx@Pc7$+C1sukJQeRu?XH4zv3)xD! zqIM9mp0S#y%K2M$3;Kbe3v9G%Kc{UYN~{5W)(0 zM3;Q5t4jmNhqrn)PYmwmzVx79ms&z(a;;f?=5C$@+a#|>EOnb3A&s+5j-rc}9no24 zTM@^^)ahINxkW{n_UgmKsH0)5OKj_AS0b}`d+Z0_86Mri^<5N`X*!$EyilVO+O~!H2pPAo+d7MMck@Bc?8PvraFncm+ho`%x!%mW!Z=Gc(w0De0ReuaM#Pv z`X+c5>-4FgsvJ+99`kCjo#}1R0pO*RXzjs$^WPB}!H1PNMe|`F%4)Sh1m=7be{N(i@--r2+JV z=nxpO9V>8e>V{!{lJ+)){$7T#DnD8iJm({>lr;V{y2@&W7;Z8=f~T1Z6FI#R*rn~r}r zZRj%l=w1t;LgBJ`$$dG1n>LAR-hYJ}cE+9@9ar?Jec_QnnnOcvqCsyZkLn9Y#v)Gv zt2P#GfEs}C(M0DWkdn}g*LOALu5C^8E`&h^K@Y1uZ#9l}`G7h3y>0bFa27L>?BMk4 z)RCc_z$thdOK{#~nxrMab@Hlx_s3F%iX`%b2qf|BKC+)%ZaVtXM5YY0myaH$Z1>n& zx|zw+l4EOVY}2L{p8ILiC#tz?QEj)TtCza8Wqjb=Gfjp{t){)OAn(&@h7-OF^}tLB z-57x7_ha2zj}XnAu8CRz-Trge{T7uYM5(Nh{q)+FBgEqnDL))tKZYBwhyqPTA5MJG z0Lj|zTLHX_l-f^}d|;2H|-xXP6}IFDYgf1wJ^C$4bH zIZbmRnG2~sS{?dMPu5S#(OqyvKeyMpEbhS5-9TP(w#~3lT)jJW>y2N$wiB|Bgj%_a zZ}uv<_kly{qhCgm+kBHCK@ZkXPh0|)!vgoh1fN1wNRytn6a%6=)M!KM9at8N`?~?D z;b=vhUU#pJ^HC>d&;7_X20;Y^{MaUzahN8n3H$6WSeqmqQBP-M-Wf1|h+tzS#K_?42?@HdUV?!>@6G)no1%se<~eim@PE}0m}qGD2OS5l4LABeNNsd65g9RQbK9c? z4disCu|kTpW_u>ezqT%AN(^5T#E63C*`rchF@fYf8?d|Nq4VOCz8fPWi+gz8_kQG{ z7OMv;U|a3W3e7ZGi;RYmmBj(kWYJwcxOO-B;EP+hJ7SDS^Ort+Gy)O5{KiR)ePRW%Iy|q{_6k`wNH4JVNl?xUwv}3{9Ascm29CfAGiT~$ribQH(#E@CgH$desq6GAHfX5oS#8XZqnh?; zcsK#A14hGXHk@d^?Um=PQr(BhUOPjiPvihE`F)Nbwock>=WrKDp)cphFn4)L@D=)i ztL2%Zdpx10m<1cB9v5)!Wk!1i#xj?%sNfhh#PwAusH2Cv93UDOJCb&wSA=NO09GQL z<7;kP*09$|S5t+siX9D1DtbSeWg#?3(MGbL-KS*^unz=t0ontg5*%#5K;7U#gSKG| z%VSmvn%;&5%g}zAogwRkDn6NI+pcRmtUJ;?O=>#&W%I|q1B7G;9l)nhNt}lBJ8*je zC9sPslBnkK#`VL-*lp&~U@c-Axpp81(Qv%;v$=NO%2v&NcrJ@uPZ2$T5;2mJ4qp`} zrgCcQAGFrM+aRvN>`@q@8Q)b|;39!)?ZO%#>Me%Tf8lbLEdy;j6ESs<8}MZ76WDm1 zN{7;`z4!P0f)8gqNFlov(=B#{WMNIQn2kQZ0WyGQS~y_j?L>h|9!C%riYZpGGOU+` z3F7H*mw-Yb7Os8cr4GN2eh}=zdI~VG*YIZV6|P!Z8fAr2=sRKgydv;(GASd$cjNjkmN1@$hj%bY*YZu`m3Xd-o;A9q=Cc`D^z09IfwH2~^l zf~SatCK_A9{+O{P--ExFyrb`b>>r2u<)Iw3^Nw2O1N0-vdO>Ye@Ha1HQZ|ujnuwup z9LyUuEYUHTaxNpi)86$X`rvaM@S9`=B4$;j;9RRfiwM6{3^;t?3p;J^M*StXU&46y z1xN|K7%2eo!)41Z7x?zD!?g`R0pbK=9g%J%#M_=5D~~J{+@h!U#Fg9PeCp4gD+t=RqPhTfYeMxEs*UCbMUrgzZw-KV{6+rOu2G zljhcbxD?^43kVMW@+OWW8J2<@vz2LoI!3wPfxeQos^*<>51)!xCQt>wg)yg#oz{hO4^>&S}MNmb%k5Ec+`pHcadcXohR1+lvWT2dMr`1m0ib7jIGQ z;oyy*MNpcnV5xw{HtAW+KSe7&YDyFcgiyWu=F9`IcJK2OG2}PfePNUSqyQ*UjIJY4;810J9 zu>zCAf43B`v0c^afomJ<+0d0_f%GQ61X|yc@W&ZfcAhj{a`L-GVT+NrPS2agCOzZ> zRu;?BPnJEv7$7!fvIgY@?jz0cZmlX1F&jz>Q;ljNm6`R|)<^Bu_e(dxa>ya5Qp7S6 z`#k~Rn8-oDPMfZE#6C%z%sxzGuS$gW=FXpM_G1jyr`};%B)`DVWv+&WGD1faSX&JK zmb5j{A;}3mz4PFr+Q^3rwVdcVv*4*TlI1z}CWJ`t?`B@jw#az#&H`El({INKZ-0Tq znoqlJOUI$f0AN^7O$EM8DUzoYwFSx zyOkSwr5s7*GlYjSI{Yh~EI+GB7oRBA{yT(3{bEJ%q8<^9T)Gu%^m|gH{-Pp&U7y(* zk78*th#wSW@sH+LcyS5rvbhS7EaDm{`64n9z~_?pUghPQt$uK#fak$O zi8~~c<>V4ii@}~@mz$FS8^GZp@I2;1OOZRfq0Vi%el}RCHqI~f?|l#bNQD+!r;2W+ zRG$kizB($zv2JV58Ven80=JRgbet16xu*Oo`$1yffUQs_xPP;jIN_NLYprY;hSTv< zYsy_RB$>Tr=24g%cc{$<0mpQ{<320Zcf9Cs-X;oC&7>hS7IE_~ftB{8pUJ-aNNC;& z)ZY*;W#02%ORT0PkXK_X_+|zG z^t2@at5|u3^C#OQ21<)!X*k+u8s>w};iF)Qsq_Rcu-w$@$*;-Emw;&@Mp5xm?aSJ5 zB^@b`o+`}0+_!OIGN#=Z12SnOj~2O7E(KK3_U?12wXN0R4=L z4cAi8WdYkC)=ED9lE+7mWks)R!kf z3MEBoX`q6-`=|aa{LnQ=b;Zk$4D06-msQZS-VYhA7?1Usy#XYi(WBK$kE2=v1*wE! zThk$(t{riw!t~I&CmynK=?Z{3z_Yd}(EAOPttjLfNCOX?19={~fF}(1Y zA}%91MpSIyuexFo#=1*Jw#HupAkM|N3Hbin`=p>jMnE7<$|yie_-;d@66idE1`iz8 z!o=aC^na}qQ+C=}WWInNs1;zGleqFMCUY+UTqH&#f+gfw>=O)L6k30qbYCTUyaIwq zW~qM!dX6G>kw(tfg~&W(yY;#G(>&%v7qH*=?6W&hN`F~DSZ{cjNP8mJ7k+2udq#%@YfZUayNCW4)N+fe1vzb(o z0>lv{b67MsR1bjr#=bP)^Mk%^aUkoZTcaBm0r5XND`iSrnU(~H#)LxzTZY!(WRSUE~X@WBaVy zabXEEYK}}OhR!-+&x>W+@51FHo+?>VN_9pFQ=`)(3Muq|IVZm;rcOL_ybxwJtIHIG zKV~7=Y#=c$EP^LnYP5w&g%)(o{l6dh-KqdMxdF#{+vw0ZPBe5T*9MDsyTBjx5DayR z_?x^&4LL3xuV;Q?N8&o+9TsALJ(Y-&X;0vxW*9V)5Q$VV7j?fh-82YcrJ^AZzDT=@ z6WIN2^p`K6qLDVBm<7cEE(&1lmMvWl=sM=Z0X(9@}v5gFen| zDkf-(OxgYm+8#u%Vs8KWOYy<5O|oQHjY9sO^9OK?=2Wdq9Pehj`Hmw$QT?_tbPPKw z4F#`7&evbzccCwAmb@CgOMAfr#5#j}10fLL={Zl*a@XhMVzUY>s;tD| zeMoJ#`syqE6_0h^N-~tI2Yt;kO?-Q0l0`;yY_sh6Mnv_>vrYl?m5V*Gb5j1vZG}H|mlOM^UF=LYX;+ z)WO$zdl>9dE~`<*>gvY7=b^`LBBi1V6_jpahtZdB(W00pkS?eaO!%zg!PVReu>Fd{ zfd`ft8u9+!KkepqR)jjLj9I3O(S-#kRzu3+!-Cybr>v_@&CZI)3)?8^R|&)@PkR;g z-^BBfNSdqZpJ$R{VQ4Pct#}HWMY|0>4b0cN!y=ly)8KEuGY#&t*VZ6yXS5_JPv&mf z7PE{|;v#q9u(q62jE#M>>(@wfF{i= zWEv;sHO*{5`lvBTBF9Co=xyXyWYYB`M`C`Y&k`p<*4kD%WL+F$vCnOs<@t}w`)YIJcwi_xY*BklZspzG=q-+=KJLvHNAoD~;*j9_x^oQ9^Xg|%IozzS-RCRvRhC3hj2Tj3u&Pt`a zv$~0LBrK>dr0>eAL@z(_BK5RjFYA@o(dv7nEIn?uvuiYCGm|qX-Kx$0Z7FSPwTkFz zZoE=_7?nM+YSTngyp(n6@`R!PnS+Ub9vJ+5dsL+QA1|p-&|h%G`L}klly+R#u2&ZD z;n{uTNu0KS@Fc5uKGPiTDbtw|=lb5#GgFnwK^X0}jOIx9#*Y(m#Kzkqg z4f%ARfC~(usPMc0`Df1yQDtY#|F-md>wte5M_FIGED-$;arwNM!)5g?I*p45nO_se z9ceTa$LeYX9;VXJ)*$ypLaxSFVXPPAECclvIr{0Jw5C4HNvr%yL73gd#a%!ywuI1- z83n&JUP_PT_7!=**()Ofy*n0PpBu_l0f}~fZ`1NL7qE?`Jn7%< z*22f%FZb?UU%~J6HzYrsp6v45+&-=LGFZ5^nt~N^G`U{)R#q3$ZntAE@_yU@EZg`` z1Na~7hkXAtqmh>|cvYe)pM|rXSAqSKF5}WA3PQ3YE5pN2|6u_vX)O^?SF+cOyL0Ta zqw6$4MB(`?;~VCxa-cn;DP)pGRjtML3k6zS8MKx-{A6rKpk~bnUkEhh+haCUusa8D zAIV-chv08t3m3r55z#MH7~%u%Uxa;I`^PQE6jylG#rys=;)d=&EsN{ai424*qe6ep z&6B5800dN31rr-Cs^_fxzO<34%awTrH_OPJP&~Pf!pR%#9fK4*=*~6ocIdY;GOVaN zrX>WSao7Y+^>i`JI~S-xJJx+_tJvLjDCf_bAw#?@t#>pl2&=xkm)i=ON}ZWFrQnBc zc{IRlES5i0?!62gxWO1nmtDv>NmavN`9JIljn-M}_#p3D#y_c}8~h>+-Ev1$1szn6 zaKkeD;K}%#ij%@22)Ut=N^o3*Js7#4ZxzbvtjomF??WOj+tQ(|^eycJe(u?N zPEMd%RP!xdNG|xLg?ya)SaTPS_*mnjv?2tbo{SD`$D11q{|9ow?Y{wkYQH?8mL7bi zXF@VNwtQ-=o#@jRw+F!%2wO@ic7l2JOx0C{R4{jtoeCNqUw?yf_7a=s6t!+d68O%Z zlj~m21GL^P?v>#)MM5ux0PSCu*2Og-`ehClD@D-Fvqt*n^Cyb~Ens$<^K~fqfByPH zBJ?&2@)KN@$qx(UB4!^Dilro&_ZD}Lx_q%>~4c2uGuqE z(~h^esd_tMgL*BDn8d$P{rV*mzyQ&|lBI`-{emHGPBKSWb$Hu$X~b*M?K-nodnGkRE3^glHs)Bo4E0_I)?vAdJW<<8V9@mQoZNUB!GXMLZgok8xZ@0H)@!d^XOV5KpDqL`_^vRUTVvvpn&dCLw^pVX+P z?sO!yKf5EXX!Hi#5fwr@Xt~QWWS|{|WpJQ&I(!td3D)Z291o z?>a+1FXOFvRk}rU?X`gG(4~aIw%cXactnmXSS~;;BkS20l_2b8n{Ey0=%UE0l2S4# z=_!sqW&s*@t7=a{Kqym(QQ3-`9N}zH_5)z;%SpN+h&THM=!1fN*&+G)0~$6=%jFc> zm=`aM<l&1vnfDfuJ%WW%E*t5-d^Z)0QEKvJ|c(P>BC z)zvlJd8+2}A$?`;MP%$5Zx<`)F)0Zun(HU-TK<=FtvCW)pW^v{hTH$KlU6uGkBXg< zifE1(cotXbP)t%X>7E`+Lj}#1-|Y6u-7P$<-}0O7lAIk5^v~1dkoq7oc&Lq$5}?q( zqUu{3uLwu1zPBTUClbAdsR*NmgJGmMks@(Zr2*XEM@A|ry65NbZzT0^=D+{=>ZfJx z(bbJVA44u889*>fhC%+>q=X*$kUxzrU;giV2USzxLv}qK(fa4AEENnh()BO9zrkGV zb!ydpsi7vFQ`$)4{iP?s~$z#K}Cf8I7YhX zGGrEk5Vz}BxL);$?mkN?{gE^4K>(2@aD-t*gOT$@t>G~Yrp0@ua-z}=rjZOPpFtPB zuW}?~&1Ld8JwkC=V$SDR+vn30_jbRfndu~c5d9pjwZbl+I{X0(1=X%rkw@CVSHoUnwzr~ z)WXl*2@17QI^jR-IDKet1vB3JcB93kT{>d4WV2yy{%M2}{{pAUQ~r7|3->l_Q2MJZ zXHsPw_jD;iURJZTCo|*bhHTsib1%81O$vqb`ybzb!g3gcnjE#*s zo;LcMnwjZL`RxCC6Vsk+rloThq@gr4VB9LD>gzx_$$fUdpv~{g{snFo4EDnBmF15k zQ;3PSj}EtNcrK#lut8j)4K|+hOh?#4BplT1%Ea~ z9eL8^YOgaJ(!ZQ44L^D(tog%DfA<1H#LK2k!Km*FzR?Li` zf6`GOXFQD!JU65%C(I++1Enco0TSdN~0e9wUtSA2IF&P4>?L%4!59=s*HeA(+_PbJ`{h{^Q z1apy&g-awt`PJzrz+V$|{JgNn|NAGCcPo1OG2=omd)nyk^>OVVq0ai-8Nx2^j$?i4 zJ#QvxuNwy^h1XwsaE_O-MTEcE&>8P_x%=5ltN<4^A5k_U`1!f2R)A#@?g}Q}%HY-| z^f_!$Y`&@BsWJI_Bv{%zGFA01@O1A|++EEhnchvs*`P@mTDtiYEsV>&;sPmqI)d8_ zZdTC&514X&V}&O*cKDiAq)Rv&7#4pJv%al9Vm<;kx?GmtId$G{^zh3&O6I&@_`**r zW9l$uWW**Qxr{xEGeAl!Wlgo7f&AqDlP-hn5dB+$;Y;)XiH6TEJp>xkjVlMCim@7d ziiukPv|j6K;(PfIQz+23iU3Mezk!5A=ku7*19G1o(&eKQFKh3R7+F=-iLI?nRq&A0 z24^SB`Bo6~J@!&GRww?Bt&|Lojw*oWk*|h7Shn(!2PW)#dKFRV;|||`Uuc3p87ZDQ zberoi1Vw)bl{BI31|}vfVMD=TW@-$q#MI&8VM3;7>W#cTqd^R1gX!nFrVO{RT;jXY z;ZQYgfyw)WhK$FRRaF}f*Bbr0mus&yw?1|9OBWFlp|m}&_q^yp8$C7lt)(g|Zh&dq zJnhshyZDm0FiKCB>0|NNQavY~cc8VK1uD$a&I-#s7V}1-70RA=idWfk*bC;|p=nsO zd#QkmyCCyAEqc7wJw1x$ZK)d=E17U=VNOXtUq1eZuJ7g0Pn)a9l8^PlNbigP9! zdtalD-nG9|_hmn-qDu@3W3z%4uLep%sb*yD){-Mme?Pc9PnRz0Qcm>KFHrjIxlXrM zo*un*EdMpBS~=tA-ek(YL(f6S8bw%FiHm#|MS;)e-RJSfFm?=GKWx1&|2J6`gPL4h`Xo2Lo7X8+KP zXSWI1T7w`c2cGSnhiO}R|B*eBB6Pj^AbGIk)yUbsS-ZZR2g*0oK*yAJ9#KH>$#C(z zPm=*@p`oF$AAq&o({WvSm&vyti&CX#)Wpy2QS6TntDaVZz9wMOHS==$f&)lQyG%_s z&|Z1Lqk8U3A(vd|@sHXEmnH7lo%CuqAK$HVI=^@h97?m~@^kp<(D(1>hgQ~k2{i0d zGQ|p@Z9r4NQCkF{JH0;ziU-^KS@>9O_g%v#$_@?>_a%)Ch1G3n5#_cMN_QLmypfW8 zpX=5ebaHZLG+tF7t_**m%50=CHO&21>3EYpL*-dyXqchZZA{Tq^QIRGemTIZh2N>a z&*&ktMEi2&dp1*0gkua%eEm@^_h*krHAv;KbKC&JDX#$aS6FE3uXDt9Y1E%fBxCqp zku5<|kv7ywW}>(_5D*jgh-3ER)>b%{eaD$<#ars+F^&g;BLavjgQ>4i1iBmi!SVC1 zI?ND#sGl3efQYrpzYbN}d9aP*|9j8Or0M~kH;ey#%!F{^lLv^I2in1}~Or+@a~i`59Rn zbXSpRUzU)|61C_XhiNEZH}RKJYlPFv1<<5N435GcLNMRTLh7Af*T->cilO?yA3=JN zZWoVQFRj0r@uC zUnya75;YMWoL9#5rqjQrE6}WQ;?6OYz|GM@0{^hOlnb!2=yV%GckIfFl zO50YSTDMJ&TGtuqpUG`j&O1%pe?JM@hP}j`Oygkb*LleAsJzPjnmQ%uSd1BB;d3`PmZu(_nMp~o;`p5ZF-t7 zLoLDSUQ5H;^0IA7d>Uw>s0Jhb!1gHvw~x+8t9h-CHh0V&?(&unfK%Z&ks_c|dJ-K2 z!{BTtPw0oe@p`XyHAwHYEGr()#g(oWWbo`yY45wcYzSf0qp3J5i>vS8h}Y71(CnWF zK|f8&rQ<{?)mSg~mr+94hTB=U1icTGyCRS<*J~KtNjeC1Cq)I&z9p@UoyFTmD8!Lc z#V>*8!=0n^n9jDJwF=rc`pl*?DVI=GHz2`G_-;29sq2p7oWr8Z51Mt^MZ0d$SxY;# zZGvZT0>6IYu0q(lwDz1N7)A@aY`s<$=6S&WXQ9-3nZjjp{E*M{TxMz3(&DZy7d>;M za&`ox9jymALoM`y%JLeWg-oW z`(I@L-uL|&Q2g4(DwhmF(hTa<5=!J!sjhu4gJ)!5#Uv09g^U?^#3qb3zw4hZ&UfnDf=V}tI0HjUhcph|tw>3?q=dX6$>k`N9nSJ(N z>t1&V2i>XT-TWp7Z)2t$92~q-!O0A5XJ&CZJ1LHN#Qm3K<>nSRQU~9{Jy^tX4PW#k zMJ5~^^gqCJ2KQ%S;Y!R7$L6R!xARUm^ZxCFBj?o2cunuErbD_jRTC1KYCDvfcYS$w zW1seV9k68w1~z@%a=%^7Y-Q>{0?2^J2M@vMED+{L^Jkr-1um6n#+<%Bn>`YltCNAO zz=S@VpWlk~MWmj|NC9e+`}7VZ?6bnN(s06C!GLj+dBR+yr>?a%R)&O6-1Os_jXv)8 z7=VumxWk;WU7IvtfdQp%lI)0pc&iT8fD@05xlDGW*UrM^P=n>mAlt{L4N(9b#T?P- z*5m1a{q5)2c9!S)zA&I7ea{HFPsV0{Rz7E60fo1%vo+ZWa3M+Mq7fjQOy5Hw?)$w( z82}NB+w*z$m3Xm(a%gko4LA(r}p7v6#6SgOQ4o8vW$yAg*I!E`q`e5Qg< z9>mFD%4IOh?)_>?gnBfU1RfSNCZyOMo=3O4rHg09Mg2yrJ-%K5eHl%>$Q2e1xOPUS zpQd7Q&a$kssjl$&uA0E#Wj@8h$VjP)h|(a*#j2%#=|b3xi3hETKJQ547tvXKC|%>; zAU}lZk+E0Xww!QCGNRYpD7T8_jyhm4Jic!Y-_eW;y=51kV&C&|_PgHr2UR8R{q93+8x#e~^zD@2Bk0dgAcXH?q77t#liz=U*yE*NFORoh~9c+Wlm^P4{ptG9d_;p#3fJ z!m7vqoae+#Rt*yP g>hO_X`?fDNB$*@B|+*%^_3l??+KAUs+z16i3;0Q`E`=h=n z*t~USdV10s#m#zP6MuDIP@LWF-rvpf|DuUXkyqLfW3b{z?dWNko(g#I@I@kYX${-d~|12`M`0@5a3ZtvT44oJstqYkrEq!dtQ6uHA9bHF^Y2WrqIGh6MnV3rBk zq5Xb`v;UL%*5Z|hBN(Yxpm%&4%kE=2rXZ)&aJozd9KH7s&o3Os(MFE0XP{8*r6#iP zd;>L%5K2NhwyOH}Ca$(Gr~avXIX>F6`z8$3oabaNEr1SMBtHBA-p5Hdo7(6`iJFna z(uq}Y!zi_CNC5aT6X30gihM-7&|)ylTXE3TKba(sJdc0 z6<_q-ie(@lvY4tpSrxxq@U4SV>7;C}@6^vnYqnne-Vct+qEXU5`hG2{Zb_<5Y5cGz zNx4j?Sw2gKXB`#tU6LjgM+K8E)eiI$S9<*iF)1G>rz=+p5-2b>G<)kxdoDV~-V{Ek zWL1)SaWn(A&s}>#34LJoHbupuw4i(B$adQi5EW9}yE?afH%9yx6sbB%qC;}(%mZvO zDx6zwq;F@VBqs1I)L!F0m5QY-;xA0NUEc-|+Is{9jP9GKtKgiC(4fgQfx3I4q~H!n zqj}jD0?GsBwQ6MszBsqOk>31))p^}J3oDYmrO^1_t{-CujcEkUSK__Z4~t`H-=glf zsSys|Z}_zo;{Mz3H<=k@1|xO_jg0K?wKON?cLhwa#7PInn%mUy$vb{H=@LFKrbqk% z1w~fbliHEXJ#!$!-VtR>AY;%u_Hrk6{DbGtbovh~2H@z^o2vC71SEW!-Q3;Jhj-@~ zGX_9vb@joo$^2Gk z>>up<$1$bS!uJy#D}NzyG{3&|erMB-pVhg4+?3Xv+VdbYbSPug`N78{pW4M|j{z@1 zFZ(=uYn=ex@XxpaNd=AR*IwI2MNjC}Kwx99Ffx6atZr*4NVMQ9T=ut%qEk9XS2611 z@#Yf)^_tEti;_433A7kh+wG-sO+318CTT@HI#2n1xY}7}DA7y*)wYvPBoN#1qjBDw zfFP?85dT#yHS}{gM&GPD_&t~7+sBw&|QPYIwPO2T7d3yQpx$Vjddp+|4-vPX%E7$!sUw$bY z9@ysJ^~!WJ;Q>-?^0ElXc4n&r#q5oTV-~w3x9i=Mxj}t_r1F}tudj*t^D41^9K>IF zas6)+&?vs| zals#4;#}6L$ilAD$F5Q(t^#C6KV_nAh4w9jUxE-1R8%&ARAia=!nVWE*DMoX!&IVi zB@vw{NM(elBWea`iOgKaP0Uv4mFy=V)Q}gUifngl_0+#R8e6V@VYdfigw-;J9QET> z{V2bqLg6Exo1{NSD3%-ZM((h4iV5oueoa;K8cjcNep%q-)9Hwfu6tmx!xm(-(Y8p9 z+FT&QiUXyAjj3zx>f+%tFs{dGsJMS|B?1~!!FQ4m4Xa!064^2y;-a?O&t z%6Gb9BFxuw57y8+$>@==Vu24v*{OTEJzOslwsS7ph&>~*smcdjvo!A=wPtus8|6Bn zY(q3dgK>8mXr~`bu|gRchY}DV01)+4 zuVR3gTnis;4#!z{Zx#M?6?>50R=h_lsD(q1_Gx>aZ zEno?O8h1$FmsRyNA6G54Y^oO*hotS09q@i=i>>3eA) zK87Jaz0=NBUWSW4>q!Q9q) zMvx!=q)1mj|898CbY&6!A7a2QEMW+q@kJd5@(!Qn22nVB3>bl6+L;n<@5w9JaQkzA zH9phVAw4;D{LxeQ9VC9XJEv$=VV3jc(_kizBZsu#28%oZA70``Gs^Z4QMbOEZjb^p z-WkkWdUL8RJ8;xF^~pbd$?0KUYJ%PSd?lo%rFqcqQ@t%hZh!Pj%sE^_NArhj;oY$V%)oQ+}cf6U^h?CkDlU6Q_&x9Ka-kUkFqtn$4k1CpHX&-}n!>Po8$ zlTz1QU{7V_ZfQ-q);IzDSfoT*iSC}8+Jx)PkB@tl-|7)Chowg~> zcQ!}q*wW7_9{(biO(+)^Q)@n&)gl^3tdj$ZyCBP>L^9t9af2}fL3E75l=vx`KcQtE z2Zvt6HB9#fTW<(kgSDc>+(l*IXJm{;AO0?L3{F~YIXl;ab>7L_0w9=+;9;zzv;}5q z03+G5)u0LEy+;nBD({(4;A0h`X2F`h&Kv6hj17o_vwPMpk@(hdb91XGuRi5I{u*j7mRGg&X2CGPEo++yC_RPLa{ibPv4RqUgMEi|(GES$&A92@*hs2Zfk<`; zLg3+(SM)mzjY%P&-PZX(U(Ua}x&=@lsiLUiq{!r5V*2y^4?k1rq`dfrQPPf&1Eq;2 z5um_Wr|OcIvI{aH_4x4nfAEIKzoC87;?(n=`&p#}Q3wGeCJtqHKTHgjy|F;@^6^fR zhY&mY<+HGUrZKcABA}wiY->ug)(g0aA3sdil_fxAD{)$#wGOs5iDKDm$j~+Aa)2!= zNhky}Sfun8;cA_6z0xcJxP**Mtne@n4wnKdkJrg-mbl~q&4LntiQ0hJk1zPmqNCj> zwoQDNgN_DP_)@fzEhm@9m!IO#es2Fb#DOs^_xGtR4ieq=Ml2}yK5eH@pCszeKj>Ai zae150CP6gz+OMaMBlR5vZ2sJ1NGpJWr}S!7Rz1R;P`k-}%=7RiS^kzGw~q)*pJ03N z9Wgy&^{039=)GK*z4=+ZRa+xROp9Qjy=In4yo(F7IzbfQ(y(XoUxoPj5w#S@Ugc+4 z{w9#u!nbFs+2Z>6ZJ5Tv92-hNjBw_6DJPc@a3&sziWB!w{91+!7|^ZzH$2Bxq?9z5 zbn5HWqD<8W^$)0WT$v;*{qEZLb#cXnq8XSog{h8{J`4nqD);4D# z3 z0}}dz`d>}}0vcWn@~;4CQc2VHvo@-wYUXVKL@E&p5voVx3>-aC3`>nec_uCX8S{<4 z;|)&-=J8nwT`B8+QIJWU41SvLPu+L~R@c?J$5`4)RajPLd4>z`opQT3m~z>fAqDRQ zRMnGJtZAiqf1q`!msB9=5QSgn_FPQ}NEG3Gclii9vi!ryEX*Vx`QBS6uIG!lbJ_Ov z$9OOwfmmutaPXvQ0LSsvP2}m$!lxv8QUu7no14qd+DjZTXhsEx49-6_e99>*B1X2! z?#KGuVWBx=dS-gkR9H@~?SxE-$l2&Sih-Z@p6N4qjxx0|2{fDl0p#1IE8~S33&69m zJJjOEIqBhomqTli+H^EA7YOD(+MtyV7Iw|SMzpiHj6t8c+LJ4QZ zp(cWZOT7o(({h+vdbnQ2~4L)du@mYst)wMwG*3!BHr_3X< zB#o#okEr1&46}*83trgj(Rp=>Mu!r0httq-Ldk0CWfO0yLC`qhP(Cv=r5?pRdqZ&k zYjg_C%9Np%zrq&o;7L9n_&PGudr1)ri&eL6St2>>t*!mApTDs&c}q)MON#YD_M;cE zZ@^w%Uk3StF5EsP-~MS_3@_qAI-7}(i;9R!s{NGYuWp!rtezkDh?VO*dgO6W6k}f1 z!9hgsZuPS|-4`#n>|VTx`-*p2gM`4*4O0vry`14z656Bx0dp zw|z-q9A{X0_XG5fMoH;?=tFD_T!r3^59^)r7Fv~&_*a*-#_8Ra#eIpkO9oI^{j-kd zks-EFbni|l(fnbt2{UBISYRqW~!72h{49c@11%)(9i|rkQI4JP4Y>zSr zX5f5xav&vy7?!0a2l_u=bjl;;|9z&$Vo)+OT(88H{Aep0AUX!Wp&5yfzPzi8tVZTP zzNyU~8iOUIzI%C$0=Z3i0&B}%Z@*1Um?u19wV!O3eFbrT8)Lz^v$HK!|7Q_w+U%DH zI~uuf0ESfpo;ic4WrpB-Mwl3pksPS&&PWs)SGxEjCk}#RAZeiI2leSkzz+X0dtli! z3B(=YFvAG+emM3V0T8Jp1mM2l{n1q{#6tnJ5dh^qfldj1KtrY@Wq5<`{Cqc;E^xbV zd7YQbEjFQmoQ)$4n7 zoBn;}f&RoAw5UW6dU%uFDfi;}Tq5v8fB!~#&ObT!#jQ84T>Xz_s~h+YF~?M`r;P1( zg9A3hPxVUa+#D&RVTs@TK6iaJ=?UXSOoO@(F=>2}z;K?&ZBpXHvj-(fQJM+cH9#+n<)G(X+^^V9uXh+wTIQCr^Bt(L3jZylS zJ!=yOZa)EM>;&OWg6cbS;8}mEC_1g1B}m|gw~_kUJF+D8TkS=(6XUAV)K69>eR<76 zIK})M7HBp$HWtM2;PS8RQv~!o8sO4>@3j1;{1;KBlnok=i{SnFlM%!ih2ns-M7_jz zW~W%@!+8MdP;ci5w8e{!_<$c0YDJ|#L#Gj?FNTCX2nfTD=;Q_t#S0iLlj<{S5>twko{<74IlDP0I*#CkA6TrVH|k#bUjwjm$@1y=7HoX`v~iV-n* zA4^K!?tDDQ1wldsns|Q&BmiB9%Y5alv)#nsmS)RD6BXveYBo-@b@z)B<_&9=BtO>w zANi{FHozC`zb)U|AoG6*7b;HQLK&<+L}tb+9opkd!0!JDmw-Lc{Q&|-dWV%ou)A|< zTEtZf0l8&G%mR)}CdAaSep)5#L58N4bjlL0L1B^r2G&USvF>#jDhh}JXgqaSC~l3r zNp`fs{}>p+hmZs16%~cWpqXwWjx*Sikn!Dbe^EVGPl3LD&uP4TX=UT%kv+;&}tss1+4znf+&kNZVde> zs52`S%N_F=Br;287Pr7*BK5VTrzo6$jgJrB=C`~Vlo=(-a6_&`7K5w{ow&ev(0)&c&kgtcpAShMTL;Zw7xPoIAO$WMh? zy-j-5@yg|lzzhrC=7MU3I%2$0+Fw2S?n;uk?;OvRohf9Iz>`7({qX!7 zyT81KU<@Z#PV%XwqW4p^3x4uCiDH^?EU5tSs;EU4@RA6qX#})0z-pyauKYk^oUdOc%f&@&<@>cfZZg4>=$fhuYGyjXS{v-^%L0X7JIvO_-jDy#h4X!K(zp`16KeNO1a;s7 z_O5Mx0Rb-SQvP4u!OzA2YE?=Q;9vaRUKGurs;T{$R~l8DjSe5>LlXSHeQo%=n`!+@ z4P$~AWfyo2;GjO(tN~ceMM#XN@W6z78T6`UR=dgUtu?-Zoar`S6l8|REJRQi35V|36 zr6^`m_7%Z>KvZ{_(+=7aJL15F zP?7%7v(~a@@6r*P#cV&oLMOWz28hrG;PT$Y9*gf>+9F@UVu$mpssybyk-SD_PS&@z<(BW^qF9R%GsXfD_A3BEHc(6uh^mw@HOJz&G3oaphy+#!$U#6( zELFg~35S*}Gw0p_^r&?fq`EH!r(q$8!u`(bjB~P23c`1&(moDacq#ONKk2PM{IAn8 zAqjF$@(3_$dK0qTNU|XB7`wN1K1fMu2ykN*62Jb_IJO?bDyu=z+E8yRuXwLSuzCza zE?jG%e;ou{7Q2QfQ#Wmqaj*Cm%>c~@l}qlAWYE=uqiHNI*eVkd;Czb znJhEHU(;~nKBYp^ey;OTma4ihaQ3^60)rHI(T!=EK@@t39Z+Wgmc)D@$i6w1{X2^q zW=Fg$%1_FGncEVx*iX(6Ard?wa3|{$gvx$5$H{(?5YL4bDFLrsie}cGEG0*>?~=Mi zSvYPyx#;)UUfq2JqCsC$nWd@H6DgMGay@Q9T zbLr5WERQhZ^t|xFN@xvRR%fm10^FJYe~(iM3-tE;_lLna6mtDRWE2z{Vn6d3#U51_ zu_4-^ux0EvoCq{nQM!qQjMW+B01^h>TjM1J!-R&(=?KzyK?)hwiIzf#Xf|-qIkj)Q^jm1Q^5ahgN8WSE zy2Fta;jj1a#)Hfqn6g?hFNmJ=x1Ft7wMYY=R1-eAC4Z5)jeTyKnp)1jz%E5Se`mR0 zby!_}*Gv)!O}m%+(m0|4Ui&P$p#w_BL zglhY$-`l@&LJ+R#m2mz+5%WqcP6zP{87PeJP5nJST-%_gQ& z=>q8mx3bhf=)8{6a6rFTXa>BuRSQc^9LTx}EugQ5lg6-L-@(QVi0iCswHf2-LhP_Z zu`mJ6f^SeHAc_%?Zyg!*$d~{gJIIbcjT3m1J!}GkdVt}J!7goh)9rV$&VxR-sX>qd zAM3nGa+nrLS;#KhNuNuEfK1lD35Yc8XY>H!4~ye$|{Y-Yt}h;x9t-J3O~R6?38{L9^Q z6q@-di1pk_44Ags)Ylv45_c;D7I3DXxcw&9R!6wbco;B0JsjJf0xZ!I8H@_~qf z^jal_Y2j_ttFKFmEvrEu9Jt{~dN@Nwq<J5Sds8PPW8Osicv|aYSZui5jvXh<&Mz1{-MzE)qqEGeVLkI9Z2l z&`K%=qJk6G-RHQ2$8Z~jg~!bHOAcf!U^EL(D*?H-#*%w|=sPcY9q1`8o zUmIu~ifM=WF!w3UwRlbm9tq}%=7qPLnx&j{4-x3L(sv%VJmf*-B5{T0+e-`w_u;Vcn z_G<9qaHmn5Y-l8i9VGP_+gK(&vo`9+1GMn}MC?+Bg9yH)%N2#CVG#KfnlqljX^lYowCe^V73@TM^2 zjpGL21d1)puF8ef7MFz(P@dOf30QP6D}x|nhd^!xD?)|hi^gv%4*#C>4P1+^!4kHD zkccoB8%?!$yHQ~m#_a9xSr~aVReXR4#$x9d?vh3&NrDMTnT2u@=R4}cE=0165tdAU zjMIuD#PcvgvMmkg-fIdGwPYuh56A)^x8DXSa1`CU=)*ze-W37Gw5MXEKe)tyr9BZE zYy0~Vnt|~z>n5AHcOlf6gsY|R_pW5oFjo$nRLE}RAEB> zxV0|jTi|?pp$Wys7qvDvcBw$grEY;Vefb$mESTk7p(tl%G$MvbE-sssigohwGHzB4 z2jH}eIfy0d=D$l1ci|$JiI6~upeJrO`g=$|Er)v;ioWR{;EI1*j^=N1r-m^j1Bks= zyILPKJ=s?z+{dOr(*t2wR*|-{LRmnTvK-jSga`z#$I@{tPBRsV_5(RB)GTS_p&l;% zb>T`Bsfq@0Z!1zEi3jdI0V7&v<^;h+Bku`Koo(-8h{CrvTiwLX@iMUr*` zh|Q5=fDqo#2vm(^%IPu(_4jQ7i9anZ#)6@*ZCOf5;NG{cS=|w)ok}qoU>qR9bie>B z_y0;G^@1ef>ov#M6u>PA$y@mjkm6Loi^>Ngz5myxSct+}L0w0M#rdhv^0n}G6cTb| z6OTn0U~8mW!b1KMX+G^NksHI*Q0?tBzW>Fcu}n!`@`f_&pDpMk2TG(vzC!YOIo2dKewKA-LGo zM8zfx;@u#seV@}UgtG*z>ygQCkTL^IlB%B=(T+oRsm>*0oSR%wB*2ig!XoHug9Xbc z{8X`D6~>5T@d1H!J)6%^$iSVh08W`ZB@iY<1CD_6KVPOldgc=VN$v zKq$7QA~rrUHZx{P;p37~`31{{!{I0e6pTK?yB}IV%9`2OS%YC2aH7CouYQTIA75v_ zFdLn=()oSpD%@+9=dCMdGAR4aSfa4fbRQwJChgm^8YFcX_p=LUML)G;;bu1>th&j4 zo@OY_Xw3^VTMq=XSQrI(mJ$G98snCfo%_Hl^++}W02ln4(s#Cf6G>TKd}~V|sYmpW zbNv4#ZQ&3;D1xgXpPjXzwiYK3MmVPS@_+jpLy*t_35Ab*pMF4kQ61817WGTMx;{7) zAkFULO?L%3))u+)jwC}BLd=g=aaxa;S z;cBpv&sk}J_y?#1I!8y;1}bg@r=nkP|J|4Uj|)|Xgiy&U{{0=Hmia))uRsu7kOoa+~_Q3q?G;b8e*@=Lai^ZS)goX6IS~hQ3ZVOL-wAisrz7c8L+WEK*Hc6SQvS zymT1nokxVUa(nL`79lZ9r*#B|c``s@T`hI)N`{!2n;tEOFj!E&DI(h2)KS4{1V;O{oFns9&NcRt_GRJGyX(^8c&ND~qXNa&XIPmI#g!ZG<9V z=wv_ zam_Bo%Ihqb$%x{uR07s_^C--0pz6#R3q?r1(Z$6@cxfcbKaC4ey0^AdZES8XlQnlW zFDZii+oPht|0NbTP9vbg#TcY9!0136!X`;+?>SN#=Ec=k+wdsF?$C-SZSw@{W0H-s z4LFHbIRWd5N@Mtv%plE|FOY<7dN^QPaFk||?Z5x{nUyz*@EQTzu$FgqC9qcp9xL8j z>2fUu0MDO(EJ+8{(SYtr#K^EIf zLJvuXo&o~#*$Tl5@B^FE6%uQPd-z9jHFGN&7n)u}bMLc(NCsoUKd}b<6t#RGwrsev z0Is#wM25Bs^*@Lh!rVkK(!e_#bzoZgCyp&8Za)o`WraBu?bTyO-BBtd)}rKbR_ z6&N4=jo$s=TK7q@huK#ZQc_cSeeDmjnMfEl|E{0`P(Kmk;NXD$X&cz5;R8>={o%dk zfq!k_giuJA{o|tizqtTV*r>Abohmyx#0ALJ#@~riHMeTQn@+YlKs9!vtE>Cg=RzMt z46Q(%oP`O8XHfg6o{Y`&Xn-(9SzCKM+#Pe|kk+%R3MntSXr$4ZgY{|!5`a)>PLapwoYN%oBa zogM{Wx-2cqpWJEZ&efBhdynwK!7%bT)<^pGyQkjoV>u3|wpO8tkroL=dX`Uo=Ohh8o90u&A=dV!FE@G>^GGdln4Hpd>7})EypE{bczm z@b5v2fDkNtscLBvi;9TsJCR@E&@nT69cI$Ji37rG|6>y_MLGlRQ^zfp=oni@mo%fKgw%Is8R5st#x_acR%q@^0lXp(k+<-~Q*=UdOhc4BQ@ zFsjz#4jKur62CUX9>shS7)0YYz6s;5x$c>N{TG4|m|QRcB{6;pwA+GepMs{c z&awp}X3Yq*Z(p2V`!o0If#fW;Yk?B=k1M|Oo@GY;CA-pSaBI{AWT9rug79I-~Y>a6^1Krv{He*K8=Z-9C49Y96?4~Sj} z;VS_a^`FcF<44eNLPX_vGEKCkHqZ+fhO`lgl{KzIee{4>xMm71vf-bI>K_7@xfYn< zzB~$`1(3UxkY2*S%YX^}!a)lU3t4uJdIM6Nea*GY-Ebgs4<44Gk5nK)JUmsnNiO(t zW8dJ)SA0!cFOQv=RwLmwM%8EuBtZDswT@Du&JRX zUHXyFgYR0LEc?D5tRD3`3lAQ~%@r1MLcqYsG~+l>$VFwe2oG~jh$+H$5LWaP^g580 zx<2g(B7qjhm4Sf>+UDdf4?ymAUmr5n&Mvs=G(v%E{!wMaP4m$Zl{EAZ_yF`Es2jlE zSL|;DtmbB!JRN)icd5MLR!dE6n(S|Dl(Mb6;s#VCRd2oJJCr(eh}D{2ljtKr*b`NP zFv)7PC`TvJ8Lek5&K&MhBRDzw^t`($X3oe>ssf8x722N})HK zD=5cU`y~*CqOI~|;y(#eFExPGyxj8MeDPP2cBqe81;ztl6c1RWDwrHM+xuO2rzu}H zoP#5YU87xG5+MXkWc?n}5WWS&?w^+x_NL4zIQr7+Pl!bR5DHtD3JaDX#0eu!Bfov; zNi%f;Macf+`?&qPA)Zx7HWtn?T-@A8(uz}|E95Lh7vAg3c}+7fu?#Kl0yp{7yG-LB zo4A1W{My)@{<~j_1s35_q~FDL_nc zkB!|R$@Fonbb6~1xCBqZBgN)8G%B%DZM6fesglM10Egyr2T8)ofyplGVsBOzpGgPj*D(5vL|bFPL@p&TKpsK?Y1E2D_Z=6S6+773eaz$S8m%wI zii?Z0KP}WJdtDk%wU)3H7jjiJ1YJ#$XRnIHzJENaHzKBcKcRYQh$2zR`>rUXgSoDj z!I*lck=Ac_dEFPhN2^aJLm$6{QW*n+Kezl9^6XKsFs|LQ)?$y|@tfCu{MEMm+JBDG zT>|_0>L7|tmA!=~wH50XI`I%I>AZ%9aNk$2ikizacjfDJy!PgD+zIf_a`K9cb9}f=?Nuvzyg6A)IYkP#F zA8<3tYLAPG9>SC#Iw}m>638B%p#~?2GelYkR=q^sRgxkn)!t5QN|Rv&Fgg`gw9Q zK8XCj(gjw80FU@&Sv!w1k*eT5b#3y3=Ez;@#oNJjz+Ra$VXayLB6Mwj@x)PMdS@Np zKfuAwnN$)s7BG{&ewaGcES-83fojYFayxftKi3@B@O}@3B*<`eyi*9;1w>nWOOdFJt!kUdDJUXioRaZb! zW5F__ZzF}8uijHbscS9SeGCUzNk7+Ibr^`oOiXJ0p1f45sh78ZPHZ;%1L8g4Vq&HldEkrV9K_M1~muTFO@djkRn)55~= zrOv*7K_h1Mfavs}lcPE4NElB|P0cYNt=50@2fqLK=~F19oO|f^vL`*SU;ijEXScug zQWx5V3>?r8m@9{PXLe@rUEeSwCeb2KidSKLbmbT%CWm?%klUkl0vY$ve+DNCqbnV z0O>6F+j*44{W<~MYTz8@q-{=OX~+2pXew6;e)Xwk7vp5Vn_IJK{spT`=VK26|CMIVhVT({b!%^5^(50 zFD@#}l5O)22jPIw>?|0LF&R<_1Uu-!! z%fe$xWlpFJjf}>gIDJ<3+MUnQlBItR*c}i($-LY>G9ium(b_>OT&b3)XP~Q_1x%T= zu`^UgsX!9jo0|i-NI^D$h*(5OsGUVvB_CCK1oQ_VItsAL?n4Qnh{_D}@n^Lqr`*Lq zFB{T14x1+KAvz*esENloCAF1KMoV0R z{;d=ueJnuHdYsHqJSE1kugK1>q+d#IF(F-m{+)@_JD4O*aObl5n@T;dP(4be#1kdM zLUD&(IUU>SXdj%y749&Q@+<@%V4a@MQc)X!wYIZLY|i$^SD^5Rs3T{KOAU%`Xv-3+ zS)f3Kb;3#pBp}% z8H%9DqaCG*scZ{(f>AraOz3|RT8S!xE^g8b@rSb_uW}Zf7(jm)JdC{ zc$2w1|M^P=Ck6F!=L$DnfZxfM`8vXE#`o3FtPs!9&#%s=T-biZTB{TRa-E^i#}thS z5}Bs=m#?-myb9~9!fNfO0FKVEk|8p~RLME;CYUqL=`)>+Ll;y5?`mz0>!v?Nq3+*i zW-eHXX87WaY5l2Z^h9H4XUD|J^+g;2NlKjOuW@C6(8;kLS{NeI+A6Bf7Q!2iu6nWc zqA2GzW5|y*=ZjvCMY4WU)(e2LKDx018@|UBM>O&=D+>j%1AR!44?xApN;~#)k*46` z)YICB>Upnk-){HiK6G8*z|SWbD1c{y)IIogub&BD%ul_zXdcQ9x^+LI6mOF3xOD^q zEswT1)DFGtKm5=|!CUg4^olWpjkU@CO$wULAgob)QW9qt!rJ6t%%?(vp1yH2b(-tzvcwJ_M5o41YGx_!Xt8oY*%* zF)%DfCXUPS2rq?utMj9cN%3wiuIMk)#etqHL z>-|S=6JYQ7_Sqya)Yz^(kaAwM+}zsANiy>fI?7oTRCu#9(`W>El_eG<4Kd}-QBjOH zT>MrcqqY;D?G17qD!u%I0{pB?urvpn7SlH`+gOy%MpT45F_Fk;G${)xU0GigI$>ys znr^KMw|^f63^*k}%%=$3N+ywC6qXVxjuhyrHSDiF0kExfk8qGM>E29_fC_;{@8w>L z&fY>Dc~h`}KM1ZD*T;dCncvOj`yta4 z!M4=2-Tn3MX^VwCk{%T}mFU_dXqic=g!w72<|`+2>@lzk0#rbEDr`ggx^5 zmafRYmwH4$0WHU(a=|P%J@M-FV<0xKI*FhU?C1sy;K2dmKOez5EmD!M{VVzCs%iGY zlYFLfXaeqgl!TZkM`2dgvTs+E-cKyPxe7`MKU1_5b;D3pLL!f#21ggHAu|5?MUJ^qks ztis8Lr-Y4?2*xcswZtz*cHZvjg@w;stj*e4FWZc5SWa^z{foWZQeGYaq?7OBu)pRo(mS zm537(tm)kv;we1q^E-&PZYL9XlS*pdGTsF~ebvX)Y5Q3cVK^uOxN{J;D%>Ze$729x zrB{RFh8|w_(p*K{u}R0M;(6$W=o?F_=cphEtPD5e7nl?9Srk^X40}`>KfxK$MG9=MQI7uDvizk~OX?fmtIFcVo|#ITtOBy>B|6(@3-0Fzdv=I&$N5 z<~GJb8h0DwYtHK~i%{Vj?>}u~2Ge@1oeXYw_}eb|;XcxNYO6JjJ8L`7Y7EjDX(GG> zonoUS5j?8PL;|CKQo$T16^R>d8lz+ukcYdn@9FYY#H^}#-VQ!W7|Kx!dz?1YiN6&X zBez9@OG4rF0(n(clCsod_44qsS3GG98~#ewL0TrhxO2^O5d7PzfUavop*-O^&)1Mx zlKA(KAZ(af2iGBa9Iq#%_n>qit_2_r9Q+-um6G+t*{s7MU<<_Dy9{@kGh$THvf~5X z==Bkc-JpoNmw%iUj3v`sUW1Z`PQVj17P!bY1&vw;Snpkf2|BZhue7sPAll@RL8tas z9ANIqzFSxCiYa{)VE1eU*=L`1-M}QeoAyfEksX{<>6ou1B8|32=KQ&$bY-q}-%e*$3tt!>})sgbLJ=Asn;p(XT2bwidFi}P2T>cFQ0;FQ9_L^ zm;FUdpXZ)~@mv$%uq11f;(a!Uxmn&vrhKva`3rw+OJuJ-^}qz3g^paLULTCc>QT1H=w^>4-oKLIAO#I>fg=dQk0`)-C zb@ir6Z+Rt2KlnldbV@iTt)c;be4vy-C*?~Om|S|}!Il%hU=28-oD#>vW}v0NRl~*4 zg6S&H+N})~pe`XFkwS=BoL*)S;`!}&(Crkgwnmr0vPae&ZFSKm8k{aj3VImh^&r0Y z-l^26=f7Rl%?8vk0ydzI%x?*R&g=5^tf)xsVi8xawQs&k_vgFJNZI54j?14zbB#bM z=epz{Nc*A9zvilc>eQhB*H z$pr2s%7wh0u5~T)$Z5Z>CyHqW@zk-ILqyhngXN>hCjofd?rv;{$_8LCcs!(RTY(DI zmh%kA5Vsx980;;p78}AdRj#6jQNi14jjw5HZete z_ylAsGV)GHS!~QLZ;AklBN!9Gz|J@66Uwc~Id+XQldO%JAG|K4&J4xaz_5Zw>7s`z zbLDFodcT^|eGXPVGPVh4rJ%)cKN*Nh6OdM=h>o!5 zP-IGo)?+!=ucHk7cEf!|XDMRNI0FC#^hWBZx7+_Vq)&vO=Yux2AAWjEGH5p?z!>q! z(2#izkPzpM+AqJuPyC3DYzK`%@7=;$zdN+xcX(n0g>h@C^7o;r-v2qjeD)hD*{iQN zA@z>pa4=s&CldO@((Nu2m*UO8278IX@?uW&nn1oRlWFrIzf-5Dm(wD8-_a~! zXh^&H?Q1)`WHT8`;$JzSr%=)c5>p`pmY$JV_7FOu_CZl2v*@9r|3}wbKtKvQX(MI42^V2o`>&!zw`aiIqR(D zTDq3Xn&-Lid(Xc2zOLUUnQFEZHfs(^m+FQwS->8T73TchXK6>^?MtV0c)B(h)>4GMH{7+2bE zn=R=2hbg%wvU#!gs8jeM#sGaFcHS!|D;J$(6ILXUWabiWG#v=-cauXTX)!Xld zZg~87Ek5u7qLBNJ=M5|IdX!9}YZr>5FJ_T~gizl@B$W*97Gn^f%7~8SRZD)`C2edS zoiQ9nA)6-##Q%;7&b=K;OK8gs-%0n!6K1NdOnZ7jAw;76t7SYGV`C(-h;$Iwhb61( zjVru@-;65Blt@Fb`%n zOp-PfB0Xs~%G&zeV#T<55P_4-YQ0F~U$=yTVf}p1OWIfZLmZ<=8cjkO$$Q7z8G((C ziPV48n)l?1)Im5jz1V!8Je$z+yZ0jrXCB8XkWGXURWi??JhDczl3zEzGr5G;OuG$l_ns}ei2SM`&!ZbE<*Avmj5l%6pP0w6wX?v|hLYWjOcJlrkn9a1d%!2xIW^a| z16^AiTA>UbdHKWf->!Dfryx*Tyd+u3HibZh3*i;3giG;tRcks%R*Ol-fV#Qi&Hnuu2p$e6*wH#+nYLOkAa@~ZAyyOREvXn>;8s- zgn|plTef#ElMbQBI}Z_-fZIF|gbbU>ov@vFKDM3BU++!?1Pv53)W1-#`h3g)GLhXs z_VnP$1Yq!XZUgAT3khafkM!c=;ux60cMso`{>!t1!V z*fF43>W`n)fI@uEwhD{v!wJur-P&Nn#1tZ4tNp)O{GhhDFhry4BtM>-uk?F|d!4ZA_HctY{*!R_O^&$b2QAEE#y?o>bu!6E=)V(xZnXro zbBQ24-Y`k!*U*Vfk=+9;(_jhN@pot8=4p`2w3Y%G!>hDCj-yIRP@QfE@7y!cV{F$$ zVfGeoabC<)ZhNzYDk!yt-UE*?`+(jctqE7QHvba((DEd=*XIq##QqdYnF0sLe$%|QiY2_iZdo0TFNr#~@4PgV@dl+d zgEhmi{?GO)s8oUKyR9NRk4#&<;#{UhLcjWWd+*`wfEMbxv+?@B+Xp?-YP0Q3%#3eo z%|#jw${owsm03YT!eP+n@3{pXy-314B-B)q$MIm}^)EB;`_^MBWC%I%q9b3a$*p6h zH`nf!p8OHloNUPY{*$J_34|(^{=6ut7U3k_Ns2y$;?01#-y*|40FAx^zhO&17DXAZ zOBDT3Xx;53T*Q;Pk8rhD)-$s(C%nHYWwnnIp4>r>dCW@oo(TbFinBJ+8lMUj@`3@6)Xg zS(pU!MpfFYQh`1X&0lN}M`o^v)2z+)R8o5xHMwZx?b3#y>*vZT;HWo*nDz+*+&Pn= zBfB++8jbMwct!}S4!WOl=?+ppjB>TfRfP}$33Y{F39!XZQt&MaRefq-cLAssDtE6B zigAC;Hi0Y2PyUG@9|hLDvg1a7sJ!`}fHLKtyr)W+UxvHV>q(NX2D=Y`a<&u@*Q+J~ zx{>!QiOkvNTt4IEl%mA(l&IXZ{Z!ru>NK!AqYErB$|xHw-zHeOt+sW7wELYM7LL!_ zGtjqX=T-_-(stxmc)kNRrlWjEyF)Su7MA8=i%VY*7v&$>l|~Eqo5Q z(FO=M7IK}Yp6>f;GzjF@L9yNb2=YYIp5dfBE813ueMmUyKcExa<(T-Gtkd2k#L=#q zdxE!wOSb?XCR(z}Z{|B+P@FKUQ@O~FG!b7Ey`S7}6GR1-(wi2($r`*Q6SYLR8U2>X zTU3aRN@3{SLNrf#7)K~8KA=tkBd^4aG-(L!q93nLDRpT6D+k1OPJ29LrS;f+5Q?4QlNA|wi%1`FFZ07!&)+^_K=+Ijg@#Qr<;)M!WS#>u zzY>L3h1KmOo2%Fl18(uXggz+y=}tF(CE4HZL3slVekPIaVH7WjHgm;^@fW;B-)mxO z8snP#AiDa=xl?)E1}xEe9msqD4-tKPfSVViY=7)=s|*+U2N6n(|E+E+;I}7htmbeuzvIJ1CQe)>Oa6 zcIw7C#RS(aY|y-MeU?bdFo!W4w%u2~WHTSI#Kwi6&PT~YQRJ*I>o_rb)8f)WzzSeg z$abRV-3)|?Cn2g#w&D$OP^ETX6EG#rQg=)Z zGL?FcP;Z^m-G}fR%oBh+lbC%6ac_c%e0)7xXi3^xOav>h32amCJvKl^d_)S{i@1Mn z@J+TT3Nbo;1%vndTQRxO2MIwc*~~`L-QPA?9myrNfK93;llcQnqDBK6&+&J*ITt)H zSod%LT*(3(Z~tpFgA$>K*en5S?B$h}`5=M#bA|kCf-fdEPvhbVZUD;*mF~`BI(KzP zKRQj=yA2~6isto*kW?7?j@L(%4XweOk~2-uW+rQ%fY+bzzWqzOM~(Xm@7~FPqyF^i zu*;pw%Y45*&^lj#_g7_wfja*~lZ>o1FTRDH@Aj_e#p@_1I_#wSXPZyfQnZTjPzB|+ z@f(aA>r+3Sa;ePwZFq^0{tMmqZ@@bE=7+MfR~>x=heX6lFR%tPojp|)>FU8I@aShf zW#tIDuik$)*LvRPgxol|uc`0s_HIs45KJ>V{Tku^o(jb3P0q|HgB`kum7W4?V0XP4amAi`H{nI%%1m2O!-IvvbYG#B8HFkwsQ!w! z?k#{jkBP`%M@66l>L~!?Yz#MW0krjH-(Nd?GDys;&BN@rjByj68|`9q;Z*)Vs+51q zFsg=ZcRBKgP!C;nzLzwPgRY`5YGWYK|ND0xChJYGcbI$kGu`rJ&D$~kIpoA#n{K_! z%wq6hak1JPb+L@X)jTPyE|AFBZD`pIXpx0{(-BPi8Xeo9sqzAb-M1jVv?EEo?-GQ;o-70XU{e$1=)Z|Ow%%cY(5s(+GoHP*^%3k>R-ZZU zd@BaE0a*TczEXO7SMWshFTWCrwWe-t6Dy`Ntp-H&0>dtu113ze#>M^EK*#hPux3;%HM!-}^rIP6|hr z<~33=A%WVLrQ5VF@qQD*J3J)$Jb7e4fk+g2yt3cJAK1+Xf?d^>)RkXiJK8fEgvTPU zQ(LolXGBC^BI!XBJIX&35csPcq&pc$%|$}!`b<;o`AwbVU9n3%QAyFC zGn=3mDvT%Tuw?1)()tg0B8}JIT*-*vw>-MhyBx7J@8>o`)A!}Jn;idF`8FZE5jYX5 z8%+Frzpgg9@ex;7bYkR1MX-=C(&V-Y_ZU3hlrgUHOmb*C+ahfnCY&l7PNM8S2h+3M zr9dUA(3F50u^@M}?HoAkB;Ar{QO2E3LqzAf5!T`4FM3pXnflkb6IOThB(Dqe*Exid5M(@ZzIL#~MRreB&E zRgxdrw6TPm9Dna}bp$myra3AwqtZZOjmkcOOcHmtod(Q4b=@%TIMJ>+5!79Sx83I; z)?z(e314i25Q$ImrTJdhJ@=(xQG0xkiYz{Lh*q)9@*y|)PrqWn4K9Ti-6-@7r72{R zqHdRbMR>;cy`o4bGsq%=qBt;0;l7PeQ~dC%Sa)79%7$MNN*MCDT5XH(Pn@IKB}AHP~G|uznUoA1f;x|Q)&Na zKbYcXiAs;r;T^YL1FH!O^NvbWQSoMH|Dvf0n!daaaM2N|%Kd7tW4_4~c(5 znzH*CDi3{5@P%?oHte7)8e)@4kcJbJnzgmH@==8Fx#)*T5~@CHRyJlr0~!+j+ye() zTrDowxL4^a2Oa~Q6dr6WVy1!Li=XBYpd5Wje~7sro`Gx zga3t`@nX<}HooHi^ZviK48gl$i$FSmz|#s%4%hj(wB{~d@l=!9K2HjSKEhQKPdEIh zbRs289uT4;Qqr8%YVxxxWDq)7l&r?xSpit>C!%PX8zAGwJ?vHjoHZJZ&v@$ zb_J;5JV;SM<*G5izJP>kPCUP{0YQ>3GMrh2^Cr%Rx}8?BL)!4vp9b`e;OT8dQU8jf zfKo9&byi|;fubnXC@5gTjpQb=}pA~DRJezbrOcfGuepG%_ znt}9ZOQ%1nCBue4@j!dOaxx9eK7LyMds;O^=Lp07qNt^sTigyU%W`F@p?h~^Y$hbT z<)`svnf=ax_H23$xCZ^F^P8jpsyx8B=N#`#@-c&3f|dmLisBmpcj2lu3HMis9DkLH zjx5v>75=uDke`56Lf>IYlWl^Nim%_vIMrg5x8dazT0r_e&j(-oS*IdTa4HEVsjW1M zXOXIA(Goiq-96y3oeLjTe_%oh(7K~vEXyt5j%x{FD20Mxbx>=v>9_7ojb4)mRhLh( z`5nv4tR74K^!iBsgkDIptfDgCoA~=Z3o~W#mYfdi?L3}lYvP-|D}W z&HNhP&*V+^&lcCbISyVQyx;$OHr=t~myl(k3a=PS(aw^>mfxIAVw2U|kU@OE4nk$e zzIeCKt+b2QiI^2X=XST3VBaDqGXr2VxAL__;pdYe7Br(@3}u&WetiSyT?^~g*CQ=iAf7-+hO z^k~!I#}Z^gQ~Xq-yh>boIftN-3h!;|jKi>*82g=`+1#aBmaVt0Etg`%x-W1)9WD?W zJ3O^4#Pj^g{-3A^XT901Lp9?W|9S>&`ELZoxvb;YR%}sUs8QVE61<|*^Mj@vKo;Gm zdgs-5s&CYbiv+k+T+>`zDKf`#Pxw{u zK>tlzTH4kl6XK#zpI)w-^B=q~t;!!)ZiX8~GVxmJDiwV7-7bOU`0DE{UkvlS(i-`A zC3{#jF_gvl*3f~W*)O8_Jo>>G_6h0#JYqHfO}@fUlBR3;Z%{?vX!tBiyA5&rj5(;< zMRlyUN}B1>)oqazY$Q~X z(*zyS#4AsV3F@`5ybxv{o_TQcrxioJVV$od2h-cXFAj)ObP8yIa*1?iIEb(I!gr`I zZ|{d!yUfTiFfzUcF)kUeP>JOPn4|_0$pN3_1b!j1sydmMAkKVhE{5@D*%{}f(U~~XG@b6er?d|Qr=H8&} zPS%_PHvf>^0a4Op0|OBfBW=CLBjAF>-8Qhp~S|%_jCX2{;CTCSh{e~ z0wDzJ(P#4g&Ay6K^tiHYX>E-{TlDkN@4H>R<)HJAbVpvRxw#%Qqdm7Ka=Gd>S5#A` zsl{s~ak0Uzr9+=w{9lu&!%fJ}4w-uN&&#&-zVV$+jcNs7Mty5O)c{#V@jSsX9$~QV zD|u!Vr9g$I+|JAPMJw||Fe)E9vuVi*y>wvRxt*&`g7VmqA~}_i*1Q^%7;#Q*k+=|x zE-vJICdWo}-_Yk1TBi58b#(u+!Im($kw?#Fu03G`l**)GXai>DSM$k4KF|!HMM+ z73<$Yl|ohUA1A`p%i(&*{tWDo4{v4AfNTVp87;*_Wkr=!2=5>% zlImhUlE>n2zcHP&pzr#|1~{{$FVD6*2$Z?8R5UieQn=bnx=|9W9j^cQCXY!y+x+vV zi1ng_)ppnuoE3$x8VWhCd-wZh#SK9h)hL}dh-?Yw{P}F-k)zbXCtpQog{Eu7pNCj- zDM~m!>T5egK@q8CTt#ZU4r@mO*ik+QLb?L~sbE&CQDtR=mm-UXoF7}^w!eKIa)z&o z{hRjmt3fVW7ya?C7$<}+Z6j&Gp~BYfTUjOT6-Y z*Cxx!v1p+|{lhi}qIK_q;CW5FkNsZU&X3B$gu|MMq`kj&=^j@-&4=H8&6ji1)g)N^ z4GYKqN!73j-et`B1!(+N+87o@ou$L`cc*SDJ3A<6<^DAicSKz(MvCz%46an*xB6YA zMqOg<0n4K(y2)LJ6@LdB$Y`u5zlh6eRj z8A2!t4LEdD1WBkGjOVpd{HzoVrugUojs)?HkeNRv*DbAk7q<#SVo=#XGE-nrASd;mha!ZHj1-=2t|r3lmK{QB7hkqfsDvh(!rrD*8iC-)G-WYc!K{h4da zlR9S&J~Wu!{c2MWj;7j=mhW6=PoD*KVM9WM?r65Hi5i=)Ygd=&Da66f$%=n5X&109 z*}1lJ_E=cNQ$IgMX@s=(EQ&en+x$G+$tbj5170TIA0D6 z+?3Je_t+R!vsSg_1rVu_Bjx%O3HyV_AICa9>g7xt{`0$j9c1Fkv0m7BIpGOMfA!s& zUEa0EYs1+M|7e|i!woAHVQ(_W6*`zY$Rg$ zPH$FSF-v&R;E*`MO}D`Hp|AM_8~N>H7j)At#{Fk6eS`65?mxb-n&*FEbI-W-P*Llt zk>*(pZJREP@~woph!&@7G>U%*-x2oj4eWtsz|--d9gG7%e#Po9eeeG}eb-WfM3aEo zXt|SpIm+rV$))rLzR@XSYSk-5D36HESTclEiqMeq+63@yw9i?%Rdrd#jhTYBskRFL zR3Yn{*^KM+oIviUwB*|_Y&LbHG_}QU>y(YS@0XO6is8|}lw4niXjAkAP*QCM-40T2 zx=q#FVq4;5$0{`t=^KjYtb`DGz@IG+3e@9F9c75`TmGe9+t@0|U&yCUN@=?g_`x!f zcw-2&G`h?T{hR5ZcIA4t;)>wK_V8nii4MAk@?U^&8lj9g_C-w|jk95Oz`)*8-Er-y zc;ZQL-7d?mqiTli{Gm`={}lJ#sj zW^Eycb!CY5koyv72s+4_8+Zj>x<0F-C+H$XV>7W!xlGUdLpUzlNiP7! zo=N-XCquc?%63CAnf{NX@;+Vc(G$8Vqe z&Xx#UAigR7!8LC|u0JI9ZFF9AR0s28{g>c(KHs-5mCygB0?r2q0O?rXK3+6qeq>Op zx(-$oF%GMGH;osYoE}clYCs(4WE@*+@@0e0fKHT^sMUKh!_ux@4HHFjdMPYXsJ_BA zSsFf*`-A+CJYkunmm~e!t6{X$_Yp|cD1V;`{hNIagG_%-LKV^$4`~8ag zC53U3e<7SSQ*CAy$ccDU0aLB=2Q5rDwTfrVLmwNnf8y%{v;h4)4eH1IdP&|2u{)B? zS^sU&=@-_g?QGKWyAh7y#LQeIi>e2j&6#?d$c-D1NZNf7tN9V2P~CA^rWYLln&Wzx z^xD$7)w@2_J0N}U8nnbH4e58i=y9!9 z3q3Lp?G~}Bgs!37^{)=~uG6hZ4v{2e?a?>iW>#73;GEMp;7$x(k%l4IhX~N$@-Bbn z)v%xx5I!c&00STdmPMy-0aFi@e821Z-b~GuyI4cU846Dbx(p-CQasJW5rWAS! z&UkBZWx{>8Idpw7^mh_K11t-4OVh~5E!$A40otawmvdKt=ETrn{1lIE6nk74bM4%Q z0JP;GAPgXeDTY@vL)J4VM_{OzdS#_mMaSyLm>;$V-rrqKrm-+TzOpFj21*_amFGDp zsPXiy6Ap#GG7QO96P`h@2Qn1+{ObCd2xcf~LC}V2_%gs?{=!iOIKqDk_{bTN>?qo2moay0WXn?4=6WK;M#2a|=@WqD_OKD`$ste4~`G2!3; zT3jDlklt}($D+OC-u;>o`f>#dZ~L3m);Euxb9%7M^y{M&ZL`v%w86Y#hp6BApZawt zi}Oc-{&cma$;7JSwf~#zor}Sp-B5@=*=GVvyoE9S@hS^e2t1V+8-LmTZs8UPZ%{ZJ zNfIJJxBr34uL@+bvi)YgT41eJ<}oG#Xeu}up*^B;D8*yZ_UPcdZEjOZQni1$4_tJ}Gd z(kV%m2yV{nnQi^(9PD%xR6xwe+neITUg>7`zj+oKxyKBTri>NfB9N*cs?|rOUY?2~ z$FgU@3>tl-lI{=00=&)$gdv z?Fd2z;6>(l;z&upH<;%__Hs8+U(J(Vp`;2SOaNOo{WeV>gahnu-xCpgxmQe4?9I8VAvwWt1*l+#9y^dh5rV>{PObm zfkUdVnN$!h(C->@nnpyES%Dr>{5u{xI=1zqFJgcE3MQKQtB-FA0>_E#Q;$c$ySE!&5QdYrX0CgX6!-k{V(0p5rzI}wyAzUz zOWF5%jeFKi>wE~4L5m>DZc@X-5_Cm1v?r*&r3^Q6@e_y zTtc@mY`$ur!oNF2R^4$S3R5;DoyVDn#r2UhIQ=NrVOk_uXfJH14{s3$TQ?910KQjv zcwr-a`g-YrA!R^e+bacB@QO!EgL@dvhiFMGc%Fy?*!lg*>9fRT(N{oC2u3}`)*P20 zSE<)~X$2Vvqgs2R|I|caHi8l7D^(>qSGWZT1?LK@Qzt+X4JzSVecA$w-bOt-ekQP{ zZb%kBE|vf7YC>I+`gwQr;llM=&b3lnow$T7qBstdDO7TN)B1RF!&(+ogn0e^Z=tW- z3mxSAO|V({bjQv%P<_G8{P;FNO} zc+|Un2P58X#H-E5G<8)3)#gTJ@3?gEuadfn9?v)1r#3Ck%_ZnQxBk;dKZ-!Gz|CiU zl6g9vnFgWkNXtmv7sPfK{MVw-I#wwsX#@DgfAx3S*A#8oD9w2wV zLF+GuSFw+z5P?*(m*UFIT#Vk82|5*t;E5DJ?>GKTF{V^1hH&9>{ay=8|HR`cU2XGA zk(@(O@AU<5?)h?HNbH7_W9G8~TYlBhvp>S4_dH$}?~sm677e$4aE`G5H_)cs1ll#r zO~Zc!Ee8P=C0ef4Uy?3|K90D)JLO$?3*3t11Oz|=scvUN)3J6EagjKLOz`6O^i#wO z)G#XPo?YGGkU%nKL5)S1RnDi>U+%vvi(=;Mc@@4Fgwb1Iv%!bmEw+Q-7FAteci1=l z+?NLJN`FHP!P}8%hqOi#iO=^$%2#hwguIY3v|gcia+40`eh;WB0{6mh7lP}1+e>6( z%Me^%B|2WNRkhJ)k%=DQ>Fjg@XM+(Tq$yP${#!pn_BND5izSY9&DNlJZ~)~Ca^Qxbdz1~&99X2zG#2KLr9 z&%W8|{cx61rJUFv#pu9f{>usx)CFtZ&wuDV{+{q*8RrwI5H?ZDn%ek)>Y+&SCcIrV8taj*7wL+tO9!{%!cOgHC+Ro}d-N1?`=a9{SKEZ8Qz zs6Lc8^>N|*oO7(NkcBoZH0b+#1BtXG(sTxc(HfR9xyLI&tC0bs($N}G zI}LCfn5k~Eh>KL~g9z22yu_pJ;u0U$N1qn9iAjeQTTZ>NIu!TMsKMriEbmY)@jK>! z*n41`5ml>3`c6pu-!iQEf1vDZHjh)m_8Kp_7FVY1T?U_V_HVr)Ug1tC{vFX@Mg`nk zyg7J#yA~-jqPX#W6WeLtXpQ@)PfwXc*y$8-oF}EN4H6<(7ZEo22qS)FJA99#fdNAg z=NE=cHkiK(_x*gx*VEtQQb4h6QoFOlldW0=$jR7Auvc1y4`hSsZwO`w=G2eC{uuX7 zQpJs1{;s642_TRxuhC49J>$lD8F*UlPJ#l+!Y)|w*0D}-rioC@ZZ9m;nDf!qWh7)A z*f|(C9!uD)&OqYHf{zJ^O_pUBk@N`FDDah2?+COPSm@l%9>BHH4j}?aUqtvXsIyGL z$ndI_WG_&6m@kxBvqrOnjwDjSa!K4mrz?=1IyOpFOfaYT4}e zM0-g{{1}q^>ot3caok;=uqdqGF)cYf6eRxa!FS4O`wM6I<|+lw-4MSyIKLnh%m3C{ z!OA5Q5}!1Dfz2wiJPJy+4S|Q}YZIYG>UNz&sBN%QDDa7&Mm+tS{>k4UoR-55|4MBT zqJOv5@;O`pxiD#(+xwbq^f_;0q%hQQE1iNGW5hk;m3jddEOmACIWjneUrRn*_Gbp* zqTQ}+y%^0Aj4;;zIaF6|D-Hz(7*2*A#60CY!se#Zum>)R@nqw{I`7!PlXDA zU`G!+8nUZ4x#!_2Y>}B^I2TgP^|e2_xU$@B8iHfO8FEv3k~pn3h5WuCItvf1;Fay` z)*#@R95?=tviT>Y~g9C)B zJxK;r`3sZ)#|(?77Pf2CtdBYWE44c;kO|@v|NnY3plRYRYX5M>mhIlWjMC?$;h;{&ODl~k5t0mv zfq^jV*@alk+_y91M5y>cXRJ`VNQ(AUw%2$oss2V-1rDO7aZsv!$zmnCP64eTL@abM zwC@=MRNwZ^mP!rG56sH1%J0Sshx}TKJh;M0aPwY;9?yPhOId2U4y6GCUDfv!Cj#4+ z_L>A`KM6{I50P$_{^_3mx^1}xA)lCr=w6>mq5SRm(yNKb?B{*(7fT>7Wb5R_|LId- zA4oEwiNYS@vP)^-+8VI)$!u>~J&@xhx?j*6(OZR$!JOKTuVXLk2USo5&|mOEN- z=JEXiA%a4FHbAv9zPkzqq<1T-cmGn3Y!=J^K{o4XZEf9CZQEUX?_GH~1BvtZ-@{-0 z^#KD0{)+XI#1>@6lV#~Vsg%2;p=~EL!IPKC9Er+bjCX$6?pO}~>4g-a;A{l3&@#{u zo>Fm#iVRx?Vt_WGhRcCq?7Jqu>i&xNYACx)An@{9=&h-+0@5GIE;sC-j~H02b=P$o z-3zgp;b(rNTKX@6sIT+NASBtZjo)Ok$hpHs_F0f<#Jq@wTb8{Yen=9VF*pqrl1r2{ zI<_lP+sZMSNic*hLlMpsq%~;bYDdPaZJ)Scs6BE^lY%m$gBCBJQS9-wOx{u zLki3LR_Ah;KOXv@r!0hnuTY4<0D1G2Vc<`71Gv@t!zi%er?XT5yEs5KkQR1}KTRf4 zjf9HWGAj?xi2GUguVs%LE%Vv8Y`5Q@1s?gOb-R1wFsl0xm!(Gh)mwTJn!94?ltSYP z7#F^>9UK(eKlHM%!s8az(3NAopO~IvpjFMut(1bLfnRv|ny-8=B*<_u%)^KY-W~Av zTSI0EDAj+t+9FhCfRB7=e!%yZ?*TTyalPSk)29}U@?Pg?lO}clx5$Hdm9@tA=k`wL zj^+GS1MthPF|L^%|2wXx{&_e(Y7I$7@(~hVm!Dg8%1lahdv1X%TF~CY2foSK!t`ix zNpGI{Wfqi>SpOdU7O~*n3nAXu2P*g#D2>x##RR!?sdxGhdcqdn3FH;sjyN^(2trn@ z6YHD>2+(VuC6T-PBwBq|JGbpAS_1DMy_)o2Tz$AVIHat-fe{So-BMd%;^R-!ik#si zC>%b;>i*gTmljnUiR955aKB68pGK()^iwoT6*U*MzX12yD+7+Q>Ur=F4|n;JNn)V~ zg~(s=0p&BFT;4pY%P~-(I{0-TLd9Gxxo#*(k$*qo)(58}wGDgc{Qg>k?7MeImOisI z9nX`P1qS6Ux>c^3nJke8+HcKL2C^EkoC)guXSMZ%z@N|e83YJC|7Y>nxI-q2G`Q~E z`hM&1!@0w(?YeUWEQ&JRubYb$ADV8dA)JiAY*^F66(+}LKL~}JZ}Pm?C}uC)d9q^P z_EPd$78CzP^tRO_RQL&fWFe29!NSL_;_t#|m~rb|C1iqCz>M&+}8XG!0FqM%`AnYED3nv{h zw->%@dH*G79j9d|t@?#5NjI*#!`78iHUqUI`HXh z;Pz`*EJ6A$R})X}{Sang$S2}{1;p3nl#-d7BSba@JDA|v7A7h0-OT4{qm8+XO zlMvP13xjy@7Q=Sm+0%Nf9?mE&FE3LiedT-gA+-+U)|Q^0PR7>%{-4~1KWQYDN#f1PNvvy{?%@KSG=49Ap-u%)ht>rK;K}igUG)0j1n^U;tlZp1 z)BEe;u8}`QWKAQU^OqUO4w#QF8X2hx5(vJ4hP;W0l5WerPi0bmGhD5-_mTPRAyrH) z4-db5>^Go`aIVOdo}V(_7wtmUIN6E?cS}Waav4$d9mx56|9r=HS}-4fO)HP5kBI62 zX7P(|;1LDhP!TC9LZ8WSSS@DB(C);H-vI=|>*nHdMO{1C7m(h!YV|Uw)J5iTP4IDR z^)!?-y2IC1?pbF>YD-8eNyzAKPtvt|aO#$96CfW_NL5f4*&fLh*kc=TsikMJ*Rd!x1bY$EGoXn4UbY zcOIN1Z0JuOd7ii!*``Wo>Tz%2LT7nwl%yPNj&MpX}Cx zhenn0;NfUl4vgLv027f^I~YoRhQ!0>C+03OMI*k4wqq;@Hx+%$8|pO;3D$z%UNiG~ zA8kjzhiwrBL%N=iO*x9v-#yfGad>;?jbV{~OG*<5j3zi!o8X}q7pEL#(2)Km=jJB( z2Dg(WS%##3;p$e)2`(E2T1>_(0!}I-_NzK)+MZiA?{)6U=hb>82>kC)<43gE@#@oO-Y&RXl%B@3ifQW`b|$ykAs^V3Y0fVk9Nhd&K5kbcMbgWvC>3IRzj}h z`CQ=9eJzfaMk)ie237mh+Sb71V&-T5{`8=ya^!qP|;qx`0%dq8To8!Uw+- zUng~yAUZ_MrlwN}jB~+2j6X+hE%-^Bd)c-1HPH{7+e(%Nn(;Hfy-(`sL>SV#X7Re$ zO_?xS5by9_gMj531(~CcA1{pcMj+|Vmz^utuh#1xefsm=?Yb#LfbZeQmmF_dQ^Y+i zekR`6FR)^j-m{87G|T-Qr9m%?RS>*G+5NTe{Uc=;|L67gTRr^X8piyNy-TcL`@tOO zzmPW~oHFbH;+GFzlcQ||Sqm$qe$;p#GV(e}raT_k7_loE9Ws*qV^_NL@;1C=VxHK8 zXF#ZV*kMKFv+a)%56)$(KOqx(IQqjC&pz=|qQo9AV-Wx3VgIBiG-*&C+-Y7)g2TOIR~3($I-c!sI8_}4BECi+ZAypov+1a+MuAzgm#BsX4QO#{dNkGQL@U3! zo?l^HrSqE>dH2Gz#^5)1KbAh?f^?kBTmFZAaaHfS`OsL;UF!vUGKH$(7ju$Ich z*hOV3`cGSZOx8{U24cD?`8k+z7oPgUM2^-S_rPMV98yuTZy!+cQC9UIlp60BP-E_T z3D6loQpa@p8PEdJsYa2X)p05*q{;8(b%lvpB#m``O7lg9Z@vwXZ{+^D!7d}MGPtJh zzzlb}kISu{LshNQ(-&5OPr|Pta;I>==o@8N9!QEnI3 z!t9sJ`3!q$@Ig`;l`45NIpQ=6@=5zNb)WJ!P`G(#nvvYq!h@SEo(EhEI^*y=4bhzE-q>1 z`d-bm<|E50j9sjQtU~_~^>}-nVSx+oCyr7x*q)We+c8D{U+V_LkD&Sl{Pnqa|H+{K zxkbqFSpoz;pIN1YvTnT8e<*oRodf3;99&k+{!pfEcnZ-xAz|4n0Ox+AHESz7>uCS^}z@lI)j?6ZlBdKRP`y3RZ??bZOc1 zE2zRQFTGYP!{0XhY!}*!DH&Iq6C%tcpG|Arzn|fC6@I2WGdrs*@F=^{!mSh>*8Bs+ z1{D(vk2e)WO-)UmW~p#=48<}^k*5w=$UU>SN8hfHZIRJyZkEQPe^q)amz0frKtUf+Cg6g?hFjf@L)=AcGr zwN;n(&HR*YhbrYn1(0Lm7*r%H?K8;zu1XM%=+j5F;1%rU2DY+b~2fA2&t*wYtl$>v-i%L3!Zbn}&!3u=v%WAMZm32sSe__fyYaI$DZ0nCsP>8AApHDPC;CQAuaKvP&E3rLUhI~*L6J|NZy#xYIXp@4+*G4yNr>b@16@|LmHN`Fq@E3oB>*I0CfxqED6 zJ0I_u!)(+%cAJXP~3-$eR9 zznPd|6Cpd^yje|TUB&)BG3OUC!=p~hT3lNz7I67p3if*X(-T7W!wFE)yS@^`I=XEp zTlVo|#^;j_r!ZARjPm+)TOK$gVtuUa$2}t>9cAS&(=WpWp!zgESIb+^l_5YB^Y404 zSeLXm{zsNxHY%XOx4IA^CN?k(xvs_|s?Y2TgO>gppV9*H$`W!CDj*2;p1JuT3Y>A6 z^TB(Q#?jHa@JGpzpMTQ)J_5Al#*j6;?Qy&}YmR>4>s1YV-`17~((M`(l33&lWqn6a zYHWV;KdN`R^@V2oq_-;4b7}QCt?*vMyvc8{!qr`1pg^nj>Jc5+A0U3#wx8v1>o~p6v{qCWy1}Uvx5K+F1P3>Q*!p@}F>3tqDbG||9eT87inwSwjlL)@Kt~*y zv4r`>ha*tTLUY$YpE7Fm&k|vpXJRA)n|f_+M1lMc`8xBOCMv0)B>vFi9$|w60h74P zGXHBBw>Z|9Al~ezUiv_dl$4|fZdq0>txzq;uCQ9F|BI@xj%)Jo-oFQo7!9LaYBUIv z0;5EFG)jXAib_f&8x0~Iio^iHAOu9ZyQD-xKpN==35nm$=i~Ezp5I^dHGR3W-RFJY zC$4i{*;BQHCwK@nAwV~9PecviKR(6ZnCzoy2jI=g_u8_6gV}hGLw|{W4BB+9#Oz#ms$SSq z)QJRr%lQu$Kmnz>hS0Cd%vgMh!&R$$Zznx1q`TPZ?LD=^H96&_RSK(NrA6efiVt^s zT#aX}oz&`n9~Hp5dc1wpOjpJ#$&GSuyfT zVDwE_c(fQL>hn7qw36+&57YqQD-C;26Co}&xIFGT4%_+ep@DV#`I2zRVFrYjJv;?vSPki#H`&k#1Z7KBUXww1hH*cBpk=psW|Ix;;?bBsxb*<9ZPX3dX zj|2KUh|>@WMm2uJWbC~^j;0rwH9$5yJ4Eo*ZF05`FZzp%1)TN^bk4*j=$TlSO7GDV z?;+%$?S;Gza23;! z9f80X40g?bZ!)KU^l549m(Qe{7NABdsTXQ$6=Ff$wiyTl=t8Hg;b3@XYdba8Dc_I z_ek7o|4I3YsLFT34E~{Bkn$JcUMEV6{@bbj`?6nvCPk5XJ#~vL7Iz#Nncbm~znt>O zC|q1zo#kl_uk~A7lSTggIp{;VZ!-q5Vh>#Svi+8;@#26udp>~gzGMArHIVH4TKR!f zlmKuHA>3OTwjWSRes2VFAvZSoJK5NvTk`qPAiE1_4@fIo5_piOby=r|{sb0j!jLfw~ zNb6B4r@V3y6{Kam=@Z`;55Zy;>DRkg5SfbGAyi1NMVn}8vLhz6Dd=EyR}RKMRt+y6 zU~cX6!n$$^vqqAm`dy}vf!l(vGStZ3e*U>L-rpfDeuGaY3+MCA+!9ou<%Mwv zz$@;}-j1xrSN8Y;ge}CZ&O_kD>*E~tf&^shJFR8fFGe4*oaJ&13OIJHjDEXDfGBg< zG$}FRKxe!x7hTmFG zomx~lI7%RbL5K^ntsrvBy!VQGwrszaa?=1kc+)du;uQ+vElSmoT$dQd|c*6 zvUZ~Q1%l8YOqSD@mxI|}>!A}Lt${6({FP6$!q*p9Z%b|+K{OW>Qp~xyvy%PptDTC7 zyV`&vRoxojb;>xxdO(GHQ+{ww1-+2}KIt0u&qb1l1Q7}^xAV+MXVibBdIH=K6y`XV z;goGtuFF>^(b$<`!__jhUF9M*>Mbk0XAx=pR?|4bZ@QZ3JK#!vgpm6_+d4;efs1kU z4$hT-n}-oeKwLKtMG3=gzu?rpw=x7;(-SBCqF) z0mtzQ)$S?YFQp_U{d(qg90VI#6}^(%w(C8v9iOWJnyfsA=@yBwjhU*r-d@cgIbxPu zNg&1XMCDU~pN)YLtTzMb=>=>eSy~Gl8)Ls0S$(mge*Hm*$_q^mlFZ3o=colF0nIto zD#$+D$M&vt(lzDrkBX=^uN?M!CN6s9Ani;Xm4@QSk3T7qtczBVcS=G1zWM}11T|)| zN1Mc<2iLo{ryHJoU_tPwhRb%A{K3kueQiF=^#ZFgjP4e7Cq!C64gT^u4tSR(T+i+O ztl@6=1e~xf9}lre=~o+72)@A_-N9sLhk9g)!iR2XZ-^{HmW|kM|IYc2tv^6`wVrw^ zzd8zepzo;@x?>=Z)*S$QV>bIt4bwNkZgZT;rmt;Hee69~tPh|jqY=-eP+AerwVT?Z zYC6Xy7QkvU`YF#xR1K1R5i_PGCXMnL^Q$me;*I1qZQ-J%mF`PdCQFu`_I=_{Dqj^o z5Ymc;=7cK~SJ&IzZO|2Be$6$Jx^_Q@X1gx`^P)-7$O%Q!n~@BGoY=(AvN0&OS&jR4 zv3PsTS^a$asP4ruq@BM7Nd_*rZo)H`#D0r;FqPXov)HlUhoLHP+d_-PL!be8$2-i3 z>bG{^di5PP(5csTEyD6&(;(gKlARQ~PxP;yv*8_tbK=eNOn6AH``%thK3Fq2xhq{{ z4O`+N7$h3}MZXjv^yH3s97E7U`g$Cb`>xn`O}ELGMR#MLw@V8$W|0$?MfgjMd{hYV zQ@f-QAEbaF?&y6of?tiH{;9C8Ub;hY@Ug0Sl(JqM^vm2nn=hn}wLywvcEQN>nJ=pe z7OWaYl(#@Czle&!KazJpyK~E-N=2PDyFR3VZ+IyOJNeVeOw*wgBYKi~(lT&19~W1+ zE!^_^T@+Db^_8PiJO<}P&ueRZ00prv)^0Jl+S>S$0s#d`cQ`oYrx@fL8bIRVel*^R z#!eOl@$H*23Evgxw=16OuaTv`(HXXwQuKa_Sy}MI55}x1J@5Hs15Z7B$2Od}lruB` z$ix}AShJCmlJ5GNr<)U=!~>}Ks-^C^wzCXrhtIZqADeY>(ZM(bnl3IPytP%&i6CBU z2Mk{2w<)2&a*+xU*lF0GPmjX1>iF#rlsz&&#rqtUT(rDl(2pfDR>4py@&z2zlkIf) zhYLw#PIF2vrc!%uxI810G1$=NyBI`^wRkH79n+#WbqGbAn`JYj&NaIq%&XA8P!8S+ ziwphCMT)fTigJnHO`KRC8?q_`hYtB%dz3bG0ZlIUi2C$HmmO1_@v%Ca!+ttG{$?~=ciV3 ziSR?|`dkt^ZL;JH76c%oV@Z-Avsw#vl7_P?TO3;U`$cP)`-JD!R^MRayVH1$#^)Bm z$q9=^Z+zNsZz8v>ZhI)HfA4_P{nnO0zj1pI=&xUYwSEF0gsxyzb6Odf5{Z^tj6znc851jvbUs2IcoOi?WD8c4@s708p>FM4m zp9=%wmIxPC9fE`ujW<4KQlV|8H3VA=^MA$wcsOkYx&AfQWz?O+r%#zph=u6|Tjv9! zR1*gyT5Il-G0%=AsB>o<B-oSDsDiNIf}C-~o*J1^DT)vnO@{;a<^HgLmAd)#r!Y z#bECt2p$g(i`R>L_`)8njs$779W}`8;V$3s=^kTurG7GDmzy?z5$45 zSmDF0rmR9FtTZfE_J$C0*ETBcwt|KA@=K|=yHkQWezLPPro^oovwKx!a}H1MPTIor zN>%($#2<;6I+CL5pKgg#*qUqHM+XaYZFcZ0Hl_ja8@$~F!4G0%rc5|Wz+G?asH&u! z3R}Dh-bwY+nuaQ>`G?6xW<7Poqyf8$U-G8ARZ$`7X!?Vw|W0u$Dz@sSNt7G=P8pQwU#*@-ei_p9_oisM=y+f_g(ab- zr1n6!<-pU>Wx^vR-Zzd%W?yK74Z9fp-=K9mV9#PzJ6V(Rs3$)y6o4H(;Nyya0M}~{ zkziS{d~V^oP4~Z1_2nlVT`pyi2rC0s`=LB>AMUB>-??d$oZ`_4Nft0I8JQiTcx={` zMQy@)vQJ<-%i}GrN}>GJ)?3zHnqBOvx;jCz<)?7(9L~4O)!;1&Q4_Ll4VU zd~%+3t&!cWx=+fR(RCiEv1|fr1%c;5`iER%ZyON~ee_PCnJa#?#@bWOuiH+7y(Kp? z$T>Q}G0eM~{II*}ud6{-H9++Ct+-1@0-|T(=FmY303Ld7Ugbrqs2(03vD&l13y-=* zm~L!pyzB96*Zy;h{y(`Ui~yy%lK;(3K&U>GO94+`FrJcdj>ao?1!>&Nmuu$=U5jXS z|FP{m+%!_7e=|Cm`grd27a7Vx`O*P4*Ab&ivrxLbq7`b1_dP+|jHY?Gxnm$Fcaj2~ zyCkT7?fCOU$D1%(IbH%E0zY<8_<~Bu)3Ch$+b1=Ba0VD+8tIw)2p=&Fv+8bF{!pgJ zG3*JS3r~avaIIG+m>cK~WBOp7SoT)|3y^ExiPCo(j1xbbGqm61XHW@I>qA5_3r$dl zD9lZn0hKJ*z3T1{O9glQ9JYDXUvtxJal91~Z;B4)h3%cNOE6E-2Z-spDX=UqiE-2) zA0|H39DT$Q{ej&6OjR=mB;2xEA-JbRmfWKh&RWp_5?9R>uO4XMxf#xQ_quC$e)|W6 z{_|%a#*2oZq{L^oxfr|5GApk^(=fO0?R*GM0lQ+(lIv3%6St!RcgYC^|hH9 zY0z^CnRto;y(Qh@LFV?1jE#k(hI$cWXZXwVb?pQE3cK;B#=N*FvFP8KgBjF(bUJ%h zrhw)&cPceF*!j2o247GB^!J+Tu$ijg*|C^q!!vo;@0BzHPT&GLiN^6l*}@RGhnZRD zis9jux4T2(?)L6=V0V)1nD8juep3A{C{fB`6Gg*SWm8-uo(!C8Xi zH&f;+=Vh`1F}vR8W_DvE6IUEi6n!esHT1>}NxvhZ2|X@qBP)|%GN}ID?(E<{OdMq! z6ahfKYub+^3HGkfOi~8S4r@P<75Bd|k}W%C(Oos3WUsgGKwW7AZwwNL!c`^>cctb1 zf5)V!r&kXS;qDMXZRnc2D+q>goBhGQlxITirx6r?6i($8haU?g*2lI|IUdc2UPAT6 zH?{ZWfc484hHDB)qQyI6C!?Df^O`nXn+}im&|%V7TzgI(x({2cF8e{Q6y+}NPYYhY z8;E3HZh55svH{Ss9ii!Mm&jf?Y-iVy3q|~!eJ+xf?dB6lMHg z&1jQV%=ia4mC%CgotxIf{O*9xNJS5E-q%IZgswz{C=+y#6s4U#MZZOt22j2gN-%KG z<6Z==5BxdYqBw2QYpFhsmsp=~HySB&Wy^C|yk*CnD`KfYr(j*7{6gqwV2R(`*0cxc zwL{7~Ejtm8vZVGjYlAj+5|0lQzui>6JC~Cs!#h&+w5Jb)gW9`RDDlr^@2>-Z13qM= za6q~L@hk^#te$DSd5*m?LByut=>gv%>4AA2IN}y8E-oG&M-9qQprmwUTXEu0y1Xz! zMd<9!_wP#zE*c^DoUdT5?i@`$$3DNd&j1;Km#{CTr1_44wYmB^?m6>_z-t^j?VGQ# z`lQMm_JBDgm|~#snF8~MY_o1U^>)@hy61d^EGDMbdOfPa_yiHb>$yKXZ>>e*d_|yc zqxW8su_#RAaAss=j)k7ZaGn)jWE;iUDpBF0NcfQsKfM6#xC|1w*Nnuq3z~ww&E+boH&V~7qxzp|TJ!*aoW>3arb0Ng0riu$QRUr3y zZ!1^AOobb6(rn`e1XP9TJ1J;yZw`)-d@^+=y1d{a!w$vXlOD%M)KrK(Rl}SZU{N62 z;Z$yWv-wA>#<(M*ML-=#$gX5wbj&{BfZf`U{N?;<**q=AOoxh}i+jyk(vScfZH9bA! z4XDBak}J=O+PM~MP(oq(NDfG^RwpKxpsVy+MqGPbr$fiWo_OvgrpcA_M1ifY#O+AWdIZsw4wCxF$G{uK8g=sXjY3)ZC&a{B-nC0_(%a)W zw#q&~UZQ9&&LNr8`4No4l>L^ZQKa;>|aZGUA(jC_Nd}z;dC$NC`r; z7{tOb(@Z!Q1iPA3%Zqs!n12=P($wZVA!qLR{z=Clq zsj*SvbhbAoxTd3YrOtQ%K1hxS3;h+$3FW|}-p!{ z;GH(rEtlEpA|2E%!D8H->PA*m>3-ymgAtJJin@?lLuI}(oQoqqaO=euYs&BDZCOm5vG zk5KHJpFGmx@-lv9z0Y?(OEV*g-JkYpsA0h69U$33p{38x2eht3qL=-@2@7_Gh5~JH zkcK9_!Yk$?hyT%V0nw(MzdeDlbs%wPM5|p>_~Sms5`e;4-eu(Vf!84Z+7xY!2?G#38h>Jd4qV30s^H6TNOU%>s#qFQyQsNhLYMk5 z+$;5E|Go*Kh#GfM`)?nS6{MIXrN;y+Lp1Q=WH}X@ozd$JI&sGhf}R&=VM{$GTIj$S z6jhbQ)R|p<*&^|#$ncUGhz$xlEKeXy$LjV&~~pat37xgrF|Bq z`Os!>EJjJ$!+T-0~ zoXFu9^bwIMDbr7$ol;ogyBw?AD5H!F{B+dlU*bjSX%dRq50rUeT~)xF%NJK;GPhaz z3dYLuEzQI6E$Gu5o{4w=o6E4n1fN`C{I*UKrvKve7WJ;2>7j(eotO)dq@&9@TL-PIlkyiF!XKvmD+0A?RUTHBz{X6GCK7k4HpmVjk zde2*WkRzc7BR2@&wS{nek3Y}g`_&=nM&2)HyGYO~J$svdu z>k;=*1nTA$GBm5ks+N-mUGBN83xccv&yHL)h_8m%F#h+5E8`^7$<4pVwrWzjEKuHH z!&1p|r9m}=4~s<2P2vS+qUL!`P4Vf@brBKu(X0hvm;tfF4hLd6TzeSNdtU+g<%lLZ zN))L$6SXdLSC9Z^A)~<^Ij8=NP-Lcq%IAwK^I@(uD*BKt%}vDl>K9sHwd4t*Mwe^z z7=&~D*D?^L1|(l=0`49E^9#Ytt}?~KdA_r28RKoXj!|NdtKmc#vis~et-UI#NbeNA zv~EFJ!E*83i$m8R4$La0V&mGqux8u+T4c!aam+m10&X%py?&nQM_;$k-DMu7au!w!A!X z-q0;QBi&-dGUbBiD(#5&T638FZzL!!f>WT&iwX?!Isbjs@mH-*BV&`1o$lLY>c31r zf4Xr?q$DFZl2nVigD3!?I&hpNu|f!MOOvvU7w102V@5Dalzs~R8s#KvcV2|nly$PJ zDyZl4(s+tBD~SgPU)?|sGe>0d{oc_bgEz^&Qt^2&TL2v?p;tMqElJiH zn1j!eRvU72g@n|qRJS`y4U&iK)y2HZCvxFJ1+|ZE5&ThU>lf0v$^!rXzTgWcfG=M4 zHtBTTD@G@Iot48^bqNKTugDV_|ML}*b2O1%pyCGC`}%r`jz!Vzh96&VAFTf7yVNTt z`>{kY9i#fY7e%pQsl z&v5{?GR9A=_m(h&8^}90=#j5q<+D9R9)ocd*$5vZ?(ey`)AH)$R}Bzst_^z=#v#s< zycM{U6sc0?=D-tU;bmEF7y;cM@&V5r1-NXy4U zFZ8sB+S}V(J&^v0f>mP@mbcyYE<^VyFEWKaR(TB5e~o$6j$z9OM% zs}IRI>cLBXQz1TF4dZK!Z79z4`{M`2_7{E_F}naAJ5lj*zQh0e%U&TE#Lm_PivM0j z;57)K?xvd~ve$osXT2MT>J|N1gzhP8Vy{Qm?9=CLJ2|x_Euf^%u~NfXL4|yW9P43j zmUEc({c5or3?(1`g9Qkze#+9?mn%X`slnDJ4^DAQBT`hY;#%cWzC1ZrQ?v$qc^!dy z8r!Ov6B96e1PJhNE?vRP|AmwOH;AwYfgz+PyKaN)QTBdR?y^d)x2I`3&+^T$2%?u5F% zMf7P*^n98;;0$~)W$1&RKN9jGNjlY*8{1Z+XE`n%2bh}^IXhpaUy76ZBLvT9f!fg#-#cqrG-e+ba>~w`@ z@tupx`kMl2&$r-5gZBj>SOXNgb&Fcyr>4_Sjj;8RE%?t%FbcgGelHNn@bM5_$=KX1 z++*x3e(55?P=^qm0WEsvqL$xq24+y)O{bdc|LgXPdRLF_tI6H}c>CE^p~V%5w&N9> z6SZJ%vk|nxrJl^80vK%{u&{-{%T{Kk`NE_uvsgou62~17N*3sFEvDhjAxU*w!GppM z?=;zvP$bO9=oYmAL39e9!cq~~D!u&4Ef0t8y#t@e&1eCgWhL-KeJPC7|932fWd{xA zi|lu&`q#rTY9ElckZ64F=(|onn9Ji6tsQ%I-vCX^Khm81D+J0Pep z7-oc*`N~$G^>lJ4!F6z$?axNYbUz<4XCCoo@DctZa` z1#Tt?e$zXG;vDDQx}Y6DR=Ga^_sD?v?$xTzodAz(@>KsuAVdZZF+Qq@LpJiOgPfjc zhLECS)Q2MX+;`EPmh*|d-gYYFxTxb7@kv~CXuHASJY}CdZ*FxZQfu6;vFP)zhRrJaK$K48* zP`-FZG~b6hTILp}5*K1yu%ck|v98moP7p;7i~Lxg{W?bvK|Ejoo;V$eb7G7HG@l)& zd|x)dvb6YJ1@He_ngfPR14RDP&Hq@ce`RUOZv#I*5|qTIsAo$72@GqtMH#{o18vV` zC6hxLsQA2cwctx%AF|@Jtqt&^D))a!3y%8+&095QbX+#2??yv?m!-C-`gn3+S{`Oyys>(1E5I5z>AK1EA^*e0;E8iuW){NY< z&6x|K!-Io+lcT}k{>-sm*iKYDpbk8$o5}A>6A>{}Tx|dQ!{wrjuPQv&zY#3@4hF0d zI-xkb@>Nk@;csveeu?nootjYGTa;dN3-_4{O`BqS(jXMyuky>qzAtDwuHpzO*!(#U70Z-dg6bgiw~ z*uG9pX+M7acwNp$AnWP$QKQsbnf~X^Bk%t97KXvAJm2Z975?8+8`(a?2Vx;sh8NU* zzjDT_X3d4)BJ7l-3T7N-U`!S#o9MX{|8pbW>4g$7z$ape2L;`|hW z$>jhHDS6z`d7MJJhujDnQObN(dokZHd)Zm)3Bc|z6y&WN){L`0TbP+~ zLi}9wt-hH2<9kJaPsILJ+Icc&boXy|ViPNkH{Fi^{JtXn%kZ{8T>Hk{ z3M2k;JR5wplhY-wU;6Iilj5IGMtAP4vi!NCj?UWW{+SX_iag0-JLL!tnR`8R#&fhl zY<-Ngtm?b@d2EF``xsAT(SG;*iZD(ZLM`?io z`7DE!1{E)FMkHUa(FO>fOjWmV6tp^=pB^6k7<`tBPe8CLa=9mB$leEvnZGYAd_IsV z*QE=GSDU+%OsKy~PtOI}H!op}f{;jMT?#bA!aYm@p<}qm6)kL6L`}2VkostZJs}GE z5hO)Ce>G+qdLrw&La~lH5`7C2K`kCN{r>#1jHl_WuSpvujd(n)>T3NU>KaIC40adfVn)P8vu3uspHz^_X;(-#Erj{m1nU z{KpT_!C4PtDG6y(!GF9k;u>;kA2tWGctDHT1-W#T(}%3In6Zy0Yr}X~{<98y9)7hB zJNO)gCs_5J9CQ1l^IBfLcEGV8ty&Kcs&bL5baVKzl}O|2>m8s3L{oEru+)?Io$Pe| z$lup@Ff!(eA2d}GiSfsgxm_y#Y;BZJ*We!>yPNj}%k9O2*1s3mm%dPQ6v(#`(oqBGi{gKpB{RdJ!*7PQrrEj$fdK4{7_(3JN!#Fpr}l2F@lf4l=P`pz zR?g7zF2xJC(~F~~K?)8FER>z_6jvP|jdw~CAKHji%pivfQzdmRU9seSBarXPSs(jo zsG~y~hx-`m5=uH*W>2s=Rg)y;JXPZn!7A^kYFc8!5$e!3egSfR#!rIRt)l$Vl*bvP z`y^HoZ3~W;nS&10gW3V;5Pm7HuaUM=&=nVFmQ~=PajnnpwZPM_*}wMZr7dt>n=HU( zr9o04g#1Ufg6P|71=Pja;AKV*?P;0wm~f-8YoLuF{vtC-T@BISlZqY3 zmH7-a$WIfi3!bz6UCbwAc| z#Qpxwj@xtd^l+Za;FbWaKLiJCs57@ZJGA2Rf^#48bi8kZv7CY6-NA5BeHs1@-vJ5%k9Rlod+s@0?9=85WMjAE>$miLcC zJn2{$apCzesT}HYP_HMEqCn{uE1$YXjBO4ElAZYU`#8YGwy0ZsbVp($?(?ilm%P^% z2^<5bZ^yiQlZsF%+G;ux&i|~c8{>2>sHbYVuJ8S(kPv!LDrjHoCZ6Ey+MZmc$V$T@IhIm@}N85c<*=(%84&9-y&O>jC-r;GF&irA3^RNl;C^OZz_t{o6B$|}sngas;_4>9#TWJ_KE4l<{egT{YcCriTeGs)JuthMTiX}HD&$Be!= z7dG1yO(TG_(EgdAiV_KzXuT2bro@R9MKi;b;#tSoI(h!~puvuBG0t&OFe!P|y+kR* z%cdIz@{jII5B=x~ve#*uSu7kYfzA>Dmn|WdM){W2?BUe9$u(& zWF^E+dkVwO+7;f_F=_~3StUA@duQK9=B~x0eHY|G6)&uP=M46+-2B!gsUhqNG6@Tq zJ4TK+H6a-ng^RIzO->nV&hL%yl2ND$M6x#BC~TwaQqm&8zMP_~d}8+U)>hILJMXTd z=1MUmvw3nP3zI7s{gE0E8iyW8185sJOH-SEJ2!Q1MO{(c>(wDe>Cia5L`XsyI|1z~ z_Km<(gXjT>TZeWVmrZE$}9c>?l5XMRtxw-A>mP%g-6a&0&R zDXe*MD_;Sy5(0qT0%W%FZ=xF_j72Oiozyk`k$c7lKwVeYtuJd$$=QGH%(WH0cH0+> zUB(>zWw^0<&(|z$Ag%DZ?)S!@ZA0siKc*Ijh_g?*To`Mfu1kXZE-%5|iZV{RrkT>c zuE33&g^gG!TFGat!Qbms5}Zk-ls+an&cu>{3}tAT#G3>p=X-VB4gxh2r%Wd+A8AZ# z8+wSpco91SF4)kaubbv9`RKE2UF|ebY~(+Dp;DL2eek|Ebij^k<7KQ%{-tiYH`mI_ z5PLiMoI`o;JFnxXl2M2)8&o7nL{bhXZUa{rVv;&;30d_Q0~j~30trWTdS9~3J+5cS zy8g^;o2%`tn?SHrEl)Y)3mZ}_6o2zMZb$8o>(h4rsKg}IsG(SGxkss{BD%>t-fiy$ z24Nq=1msO}CSTt_l38=J%ZmRpQXhMi{<|=21YEFvZ>1&dRq2R}dMHJaas$yt#8dA^ zCj-KLcI9BSaRPUvZYkIir<&Io0Gg@fJso$8*#YPgP@-<}+V#55GBPSPftrs)NtWhIk1VMk0`ViuFT!&7fVRpK6B<9Ffm^W#4cq%TAr;U6ig zL;_zULbC-kvY`OtaI%}BItS1^K6ZM=>Ji?U_u^geV`P+=NLR{ROAlVk3DF&1!%KJ5 z0<^jy3pyBz6S}J0k}IXGX1mKkhMR=POpK>^ny1+Ngh-HVe8_yi4KMl}s+Zw2mo&qTnIkA`Q(gC!Pg7)nlnc z+i>WWRzw#i#Gudluc*x9slf{1B*prKM%H(a>rx!La9KQaD)ik+65u95?94Gzz{cW0 zU8jK*VkBg|wf-$}TUfyLA*N>1xq1NAO2$zgJzLcBnK(25|GImhjGGs)kSqm(e}0c7 zz15RHT1ow4?)0e7O(09ko;pHgSl!7K3@NT+9kK<=^sfB<{i)c`udm; zg&!W+xS|UR<^w+FdthfjIR{#1nhsVxP>u{!S($6>YW#o1>89=9>%t(0s%erchM3ATnGf#9J#i3PsNfCn5E6rZN zdi%QmPs!W_0#(D1#R}$YQg^QlA>A0g5}vDB3YOTFK*CTvaZUa!;ytT@^VxA<)dj9BvGOKQPn4pa>yw-w8p-#L zL&F5StAB|k7}mYAXjXhy!X1fUvio!`Glu&p_zil2D{Rr9xZWT8H5!&pxZ%NFpqKz{!S%9#`iD`4A5 zG2~hRQ)k((xZ=L}nFDKl^I~;#F3>9Z1rIfQfc^>*1=x0U#59`bu%e}HS@Zeek($`( zptD{SbzD_WXn_RRGZSWp1-S+u93Hxj^VI?P>>ml-y=S$?10e8FRtzrGT5=9Y3~Jr$ zI#7xWoh1?NhWE?-QUEtsNKo+>tU0RoQ?L!VtSZ4#KifK8`B>na(Q86P zd$##U%cjmFM8-XU`mJvE@5ZXxbusr7tn@BUrc$d zRj$9nPI_;Rv_+6#|7F_Sc5pkX&jJ$wNnRsWMI#U}EEfZXDA5iO6%JMhr)o25xnbTo zt3QkDw-8CkoD&I@`pMmX8Mm0G?`@Ry;C*z<`LL_9%q;d5fE@N> z{8=z##n=>0H0Q9E9t*VM0Wevj_(T>YC4r_>rSo@6B%0rS8_RV2(|+YM0!rHa z?8bF(lIK;fnIu22G5XT4xJm+H7>bf7g4gYrK~6duZexBUI$CdP>ctpu0>34jQq89diJV^-1-k1s0J62E%qh0B9tZeQ-)sh9y;Pk{m1%tp)DbX z!?%R7c(9VmmdQm`t;2I^-O=JqLqZ*bWx_R*pPal@+;ll>0Ii=0mCiiwC`nl6y>GDA z*^72J1iD~_X^O>(e5>e~zNR`2(ElU6SMB?#TAdnDFpUE4J*+~^V*D9O%Zs822h-;M z@aqws5=TzBqkd)wnvRO+-*4zm!SNwNhwe*kak#%7J!X!u2v^h3-TL~06#YJ&Wi3FS zj(wc!i)Dob1SU)qid05$Npr+Y;qHf)YMNDCfNj%2a<7+uw&-9HKCg!CKQ-A4A|kG2 zFK==-=3LExvk)RdPEC==-6_Fg6oxxX#5*_?P+u(|J3gMpRxaM` zXER^u;c+WnBSklhxHSOvfSi|g^9No;PWu z=l~u_e=vJf>7_&{LIq+G@`slM1w6i@pKpG>?@E>|61b|xY)6891NJ*7Thkm@V%8U# zW{&Z*wSZpjAdKbKAGAjVJHjHC7iA|nvv?2?svr`lJ zEFtxEWgLMU4MqgRt`B6gfxlvo?y!_3EU3qgd~%fcTv{`psPZNU1;2;CZoS=52DcD| zLJSw3WCCw3*^s3Dtn=Ev|2}7qqt<&{K~CL748d`FVeYcOpY!=C^h$-+mcJDzx8if9 zdyqZ}@=i^8Cdk~Onq-)CurtT$Rs8vLrPy)JS&PHk<`)&R(It1K9%*+2c55L2Syh~J z<%^Wzw-29^!NH#C&8=9VqTQRF8sIuyklCen4Q(vc^=;g8=vuS5& z)Dosu`4Sca)ka1+I!02=cLAW{6JVm<(AfZEQPB8eK5tYJ|2*>)E$Vkv|Fzn%h0Nob zb9gxp;@x1~DET^cNh!D2D>wbKs-7UqzDfWDN3bS7|Lm>+i8gEuo;nrkRl`w-ThCB_ zjwg@I1>gK}OBjeC1@z-ulvKkqt^?4mM8|D^nVR%w_y1r4e8*{Uj?rVTdbtu??EDXQ zwzFvnzU8sxti%)&b2I}Iv+XNTRCoCsa46EEx}LT8=Y77`jcEVd%Ti_A=37!|3Pr6% ztIT9(#N)vSSU;7|5tWowUw~Ae=C_Qwj*jQ?_X$PDr!)q}som!)loFT`cXaor3L!CA zdIH$9&RjX#!ZOs(RqJoV3LtE5Rb&UeG#^h?L|x9Qfa1u~v>YD*no_4&3L}tj_x>2r z8f5EsG4a`XqkSA~;S^icB+?zs`Me~<&eC&{R}oKCyUyVRZh2(qfnBCDbFdGb-FVy~ z;-0Zv6TZ_*FG_o`4mNz&v?lEj)p#thAsVi+VtGxsgJYS+%p@RqKr+%CO{;huqSze| zAr?RrU1>=*-&>ak&u?Hy+6}JzT^1l~d(#T>FNWtx!Z`=t>MmwZhMSE@JCfsi32J1^ zu^8D#Mn^T!$;_ z8I(P)`!n)9`&Uz+OFe`36CsfER8t?xhjz7a4W0E6*!rw`4bEsq95z^?9>+X4_zk=* z_mnLe*f9@5*wonQ&IJ8z{*MDvb_0EV4ab43oV`8RM3W2K%<^_qQ0yRjo6*_ie>ByUsnp(;Pg*umhbFGk8RSA(D(Q=|H{J_uftNFd%05NZWbSllkMU6+s82L%! z5aFqqWP!3%+ot=D4V{Z10TPsEd!s^7_8Up!%foA=n!2{ezcw|aVYtgD>vrwD_N9es zF0ur+NQ@nQ%ywMdlC=fOMP)`3CZV<#(|XW z5YZ7v^hF^YiM&EzL$&ca4K!16T5HiuqrtE^962fVsV;(9vn zC}sm;jNbeJk2VwrSf}{nVqc-Rdp%yo6fNc*5Dpn<@Z67~*KX{Gu*}bCIaT z{Cw`?6Ha}#*D!N}oe@7H7CL-xXHC8J{fW&aNz5@6TE zJ#pDehy|%sXtr|M@2JqWgEyC6YC}pGe3@(G2v_#Ctr~mn(x|cB^f9aHm}LteNg_un z-73c-=M_UYsy}WW!OhkN6xP3!K^HTq8l%*4D0o zqBQAMNskJc5z@S!Wgg4ARy$qFid1jko--{-Z;Uj{%w~u}?c3>u1W!Ta^t6hl6NdZ^ zg8njJD{bY4)btLmDaek2q?I;y2P?zV;Ob$3dVE(_RJ3`5vqcUDz+hPN)_XZ*Fxqg@ zEpTnf2UrTDv$D}4F%#d!l@7ev&vvxA_lvIUTKg-~f3zI0BvFn|-k>AZ-8akTV^h4Hh$9PZeqI)pcG#0;Feb~$WJC`H7I-<`%9X|?Dvp73HJ>DPO z=LrR=N@~@2s^H*$DvRgV85Ep5uz&kL>Z%L(mxsztSO?5O2i$CwiC>ivA$x2S->j9J z0CPp9e9IvMrt)81b2*jt80*|u$?*UT`qB_lpxZfpn`PA&;o*VC^3LE5=xhVASocIfOL0ANW;3g@8^BLXKmm5vHq~Z{9w*J z&Lj4HKd$DPI-gEQL^ye$FLFz3WgZ^%rv~E;l1XZ5$Wi&$lz%A7Bcc&>TouH`#eFBg zA_?7{pJXHE zYG+kNy<}h%B$ns(zz=3fVx5+UuiO_tR%$L4)9y+evvS85)K&KztN13t>NwxIJ*-k! zrg_V35rDG>uh$fYs$Q-XGtLLmqs5B5HNVt48z`Gubvlh&6|dhFlIGrtjTz z-tdSO^-M6vBs(f}^P`fVKJDf%Vx_64AxrLBG_PDA#77tZ?kO^QAVBS@Ky$NNpE_Pqp@xTz!G6z_ofTu3bW_Gi0-op|RkmLJJI zHkQswujO>=)zBgkgl+J`EYI8mgEJ>y&)pU_UzEMn`xq@Ld7LT+X%M30A7JC7=)2pM zf-qdz^5vXcsKmyE!t3xf+EQr7CjPWBImBqti+4)=O?uUt(wz1?bIWj!3GzcRaH6Y~r=LyHomH7m(PkXJ5ISLX`vOYaw*5Fn zx%==G{|&ic*CF&(&;~!H?Yj@RK|1h%DpW!l(Ay}lODpCD_(Mt6*yn(hc11-`{gPPj?6+PdY4!@$waaB^RSgqJd zjQxaE0l{A4=1k+8?Eu#-hnbcI@n%q#>QYnBNT=QF{;siPz}&5wk-4D5@A{04RTfj; za-`{ElJYH-bId^R;v%APG%O5vy!id_)K4$A2kIp}B#hTmv$J9EcoLgb&$_`Fdl z2Neqcd3(%Ni$8wJHjGxE;L^hvOo$5EkE2aAU%`w9r%_`a8ADBeXd#P*ua!iJ7EqNl zQH4ffT859N^ji>v+!XOtz>-I-vMCjFa0tH(D3U7{`8{HzdHS&?!U;Po*uyG*(ru41 z`E%b_w=vFm^EN2|s^c*&y~Ix}-9#n}AfFsHxz$UGZ|IT0rP<&3Nwrl6Rmfg27d8U%rHpX0x!TaJ-x@@nd|hN%xXD5j?C1>&p{w^VV?k< z-oVeJLa^sJ7Io&B44l$ohU?S=iH&y%0xZS?a5>IF3LO+7+3`Du{J{;%Lu6xxfg>pd zkrObUTt$)y`)!xAA009QwXG(?Jb(W>{nUQ(D^K@YW9fD!hyr5h>q;tAK3Ixg1fxlh zMRINW7d;MN9es$swQ;c4(tSEwh}4G=;HKn*SZj(39E(rrS>iUD%289FXr*kB;`Tp~ zxIiq3;AXi3+}*9_MiylP-&NHYMYNnXn>!=~o8T2yRt9Qj-nn~m0ZT9S2E{I?cb17C z-+q}7%H_BWKb5?_bqjQPl(jLoD=~~s++2(Zf(@7o!Q}RF>GMXB3Oc+BN;ue6RsQex zc;AVpfN4|5P%tBhw7bp&wsH4G85D3tra z>LI91;}pkkDy>n~*V+4W@W#hacMB4Ze1+`xvc?+kL^5H`BOfvt%y~$Xi{A2N71K)j zO~8bUyw4=>sK4_370+rLYp^EIn1yrRYdKCDi{|6s?J;|r%`Rr00Ug4dVst*m8_Ieu z6q1@`Pl%$*$MUlB`|;79#KK9N^sKL9Lo&ZGF|w{VCknUKNTQv+lm(_6KxGPR#b42~ ze;G9#Em*rqjgjEi;+S5L+-hXn7S}v5RTT472McOoZshszf^BI4A*tZ_E=fH0@#hTN zXP80>+mQ_S8p)aOgm7NsR3X)Ma>c#@uMi<$$Jtg3DE}^Ly}1T6&%;g!V9Sz3G5y^mCnqs9MhqLt*A2i@bQAc|kBcCd) zTuuiTV4i6tFRR~&ac7tu5VmUXo$n92;0qc*MJ_BXoO2Lgb&OZ87NGC^2h&#p5Yl3T zLWTj>qn(+fb{MFA7gOUf-fs~a`x)3ETe4Yl1xePCToeai>3QmXm6T)!)7#_DKzCw9 zPiCOLGt*~VGRZ~fR08H;!oUXDKsX<3))yi$XUEra6>XpT78jnyxMzsOp-qJz1}Gv|V!kx!bIce#>t?*f}X);Ua8 z1S%!Bh3?_k)0pJ^s(Dyk@?pVhx8CoCZ~8>L%iC=iZw=cja*SD&88yzXk@W z6A7`)Y3NOtx_6RJX-l!9`$_zyxgsA`b;5%f5AGa1JdTK?0!tXqx?I}w)aGXqvt+I9 z+aq9syTl2Cw8%?Y-thuC-_=o*jKCWkp5y?q-HU6xb60@PKQ3x{lYV+y?ija6O@VI~K0$i2j5 zjPlT{EcFHDqz}X|$F}lKY&5qxo&QXtE)i95!-hpLH^U)eb9cxhy#8hJ+ZA8Ij%J=AZ606^H#VqDW zUeg`XZYyBOTJhPj67>Xgy#T7HuoPRS`2uh+1lvVZ{E-wFFWNZ=J-u^>NuFam3or6y zQh4JKxgwFK1N+;6(?#wtQNMpTpys_AqrTgQkhn6LvxrKH-M7lk^);=sQS{6nM1rEM z*s!pBFKeauN?&Vf2q{BQbWC*FV1voupPthwAsE7M@4kJfG3>LGMYL#Y9F`JJT!bM+ z5MxUZC_8;XC9^LPvexw0poZ|G6a?R?6)A>Mc#F5uy6Z%(_``ASqY$0CSdh(;ly}f)#(_|KF;UsMpfRNf>y~l3yu7JC9?rYgOv_Vth zGZDi5oH$8(~ev}!gR%T`XO?YAT z9n7xrVQ)%kynUAmA#~3T-$#$Rc{zF18g)O=@XiiheRPVm=WBa-^N>_^xw4zrMwKVl z12eDOV>hNCP$n#Mlk2pHv5CAtu>Ga-t7j608^-eQ)5$0CNL`yc3f0<4BrO_05F1y; zce~t|#X#BPB;cAcxRX{qZB+@h22#pZ^z0iwUzlUx-dKcMVr3roq|{$^7eTr3kK~IO zZs%$#`i{{^f^6s0qcyHa5*58cIyH6W{{gm+b=Hb(qw+74{*Y@!2T=ED|X`^&Wt2wl3PRq zj#1^cc5hxcbYL$G-Ow# z0PWh9c;b#NEYK#)q^(=b&>j7*CE)T3NNnxQR&@8Y@ZCHD?txXI;;8bhRHH)T6-6N+ z@9_kr-c;v;h{n9t_;UDLR|da5*cW4u1pPV)->IwAGYl*XlOKnBpVUpCFe%B;7e6I- zxcyCLa68dCG)>MX@+UqG{!EFJ^mqLVzaMkqj&IK$wY43{;$)5=jj)^7 z7~tzr90gIJL!vAz|1SZA8bW0&jwW6|YwN_TcP)}2z*4o+_O;Rmi=IJ#P^bmpk6Y|y zlUN^3bB9wb1uBO}TZ)Wb2OuQ`lc z>o57F)y^vn-o7XdVamr*^bU>h_aQ-)y@>gwS_=;eB>ZE+TD$>6xYyjXB$uPa$L%QaF|s}^*e6`7O)8;GtJiEkTK9y4&SwW zG5ahaLOvS9c`QE~#Oj+aQYQ2qmFzCfO7uA$>{GWIDk6yS+U@t6W-V`M##ZEM1xdKgdLc2+Ct*^(3W^JA~Px5~I^ z5qpaeY_@lo6itnCky-vAb|Jbv}>q3`uu9iK+%U0 zjA3p{_RpdSOqm7_fV<=RV5Vr~r_tj+`2VHuDH?hZ%?@-oe>IfM83pYQn z&4#(B<;P}H$_Vx@X${T-f{X-vD==U&#J#5G;3gRADS`YAy%GN4|IqQTshc)=Anw;j zJVS(5n}ru%;Sl+L^UpEyT+^p#_J5OR@3a|Nim+}3elpOGNiVtH`iB%=luUgXk}S7l z2H+Ybka~E;A|{;OP>MEn#D*}kjD+r5;^caU2k|$E)W#8DLr(CsW+sO;f!DjrUK=XK zPAMBkUsjCiD+X8XszHjdP0mDcYW~Ku6 zHV4DKAzFl03LOt_?cf`RCRt4oHg^Ic8~MLgHS!b8lPN=uZ-FwRw&o>v$Dn1MH;$=!< z-sx50{;DvqjSmx%!Hd)~(7U9R=72 z*7v1XW8q7gO4h{5CEaHbuvm!(T`OmaOL?%FnO1yB(`i6)1J}xU##Dy>7|VzD<)nwa z5anhd4i>7%qK^SWpTfYgfWxf% z1U&?h5wN>!p-zc)WMnX&bH{kGp)XC_>yI8`ET_0G|DIGOA_m5G_DB#0cX=VC%f$Fl z#FbitngBjp=glkGP<-_76QlXDB9sXg3&=y5oE+!iMPZzKC_et5@5B)D#X)h9>g+Ne z>i@38jcn8u&?~9tnN~^;d+?%&M{h)@f`YyCgK^}mk{?Oj#Y-u3#X08Uc#$kHxEI&W z()l(jw;aTQJzqGo@Ck&p@NGe$UK?BvG;$ku-l>{KM%PZdFhC zJNCSWAw5251P?zA5qgqkH;JR^=9!}PPGPGecv>G7S{et~UH@WqQSb3zi(%XZo>rQ2 z#@hG)9GJjm1FRg7r@lQzoG8>I(}VNnG2K21nV%E{iHl0C*V_~HoXy?jp9Jz^c+KMI4)&ig-_$G<`;UCCe;|>MBy`*P)_%Z6(G?#? zxoYJgYWrqb1_)JQJ^&#cj9%6O*R4K=#^*mb=6Zz!^&n70=8gX>)&SuTQtW%k4)>T) zdK*6-CO(&Wo#gwh=VGZ3GM5n5cGKeStppe{%}qnZZ+a_-VI`NjAA;B^t!Kx~_qu%x0#jc*UDGOhnE&ljHfX(zrf>Mh$Nt9~*CPqZlUH;-f-JE=@kWnK~Dq zibO&(EMMN~7vG9SNV+{w4H%OXO~Dd&qucNS};48v{*3Sn^K?l9E^kOyFQ~jtZ_nw^^8|bIMgT$0U{q zTx?t?L-C_VG~=aupVhM&kYiUf_Y`=>ZY87Aps(2mN-X7YQzwsT=eX@& zH4(l2EQE5RyvyC*9saqIgc4h|bGIu_H?UL3{N$sJbHmpJuBe{|H6vw&V$7(MZWXy4 zEvB=mcS0QXzR=U#u?o`=A)7Q)JGJ9)km)%e@iyAa+FE(~@^39sFV!&-X0P65<-q@AZ2ZI3eUP5I!}|k{tsC0I z3)sao+9qY8J1RHguT#0`G&>J9ZyFnI3&tziCd6F4xmnG##ehMosqGi3C?Ee}dGmgp%?WqYUKC+4PaCgq4+* z(Y@ya*h;LXfg#$f3`Qf}*slL1#3J-@o|og~PgQ1U12 z4=ItFJfo?TrLw&VXFw^02OQ)w>&sj@@n4f-%3_L40eCFV(&3~mIo1WV>8B?PBUzUR zO;eT_(jEV!Mk;iF*Gbsn9AU?4H4c?yed`v~(|NHwZqYZ8lFUK&^*+dAe2Bj(cDx{e zY1Qm;36dvCKdru9CbUu!ynd_H^$yiyhusJgWV@kyeKUTOH{Nd1FiR*7DP?l zGpKqEW%o-x>>?i;oeO$43k*bm-@k=^BR~tiy(WqG6BCO6G24qzS+%BnHf!ayWdHDk z5eG8uaAM~2p#{J>0pJSt9G{MUHqDw2gTXba6Z?lrl@zc7vApF?Issp6Qqx_QJbf`i zO=P9v!w*v@gQatS&vTlC#Ai*f^FLh)KLL^55b?ifX@kD^&Pc|fLqR>-2h6iM!$HFJ z5lS!ccIQtoK+APceM66zXi^GZm$+oQXZ#zd zUHtz7_bCv$i2)N~!Y?@WIGET~)?-3obFjtr} zN-7)6Px^hL2nl?6O7pf$c6!D~Lw5kU7rVr? zXRfBLr6nb^9NP5Bx3}V|J%YZNRveaI2Mfhrkd$h5Pp#>S^lF#%^kyp|C$mYtQ0>+= z?dbWGAJ|mo`LA-btWrGmpJ3*5R0ewzb!n8p?D1^y-U9QLKv!=`~{DAEzzS{*nXb~NRY zRTFN^fw8Ea^@q3a9gJu_PwoM^=YqM_V`pPErDjFz_^iZjZJLG6#9bmy?2(fi9{z^e2-P~>0_(@CHyFf8pij|1Fg0~58I3QZ%$!2lN;qWw)TLgC^Y4GEY z_{3>&kYirkr7kgv*2M&}!UA-Sw7joB3n{l`2%3Oy^D8p!E}yM0{4FKce0Zxs{-UTi zN>xp!$M@oJv`=(UCO084716;y(>Q%7;HHh$qn>1ym~;$I&TFUa!SJPaD{=E^R9QgD zm>Xu9oGPFR;i*5qSg%%(nwD@l0UChVq%~I!BppRUh$U7#0)|=i>W87Uff4c=V)I4z zG8xh3t8aEFdSD2E=yebOF&zsoWew)e7#BbhG%ZYb+6p6GU1WDQ5=tW|)a7Qz)pEC* z+3sjac26DPxvAmnzeJqt(uh$o1xMYGyVOFWxO3dAh_OYX!v zzANbOkQ^t@)sop|-g>seG=3(ZimHH2XAC?c&oR&3nJUk559oZ^FZ(T~2Q8^J3$#7Q zFZ;^Qp83PQo;x-1E=mR<%KSAT$b32!?)rJVXzSd6_DLHKr#WHfyt|Ee1rw)rcDQ_? zuiXk;E%>H=0Jq-J27t~QbuG%2Nlc0YDsvqu;0%0HmT|CpH5Pm_Le0(g~=8B+nWJmf)gpZVXm8fvN!d{L4YZNbXm{P=~Xl7nmJ` z=5>9dfx2g#pJJPHp+CV3J~yuLZ)#_&7}X5)-oTGDvr$|;l-~!Ccb*0kQ_vu?0K|fT zQ`C~sUlly7{`3ch{xti3k#?35ijVVo6$$o(dhW!b2!9=F^B}Bwkg86$_Zz~(*|+g^ zF%(^P_nT%)H-_MlUNCw`%-Onpb&HR`d8M*)zbLi9Qo=>o;MjYmnewAg7I(C^o$%q1 zV2K^AW}~Ssg9KG!DCh`Qqm%3f%B~#)EJSUk4o>M>JLUdP^OALJ5}x^`GLS&-M|-#x z?6V4l4|pULVR!@UyU51;{myCD`65?IJ1r=ntz6tkq7Z;iVa6_BJG;v=dSeo&IQY){ z-y}9het6!{@`p|K!_l)jZ3)wkX_8zdoa(|o5pcgFn$@7u%R{rPYCa-3hr_OzHwPx@ z62fUALaUXyvQHrNP~*VzRw5Wb;lV*qL)8zZpV$zbK%BP=P(hqQvw(-JV}>vR4#!8i zzR85Y0@YzrE(LlczaR)nk-aG1cktN2k0vhz&L$51mzB_yE`SNd!imugAB*kC4q)De z5N<2bicTN(z0Ee;X2Pj}hLiN#TgbLjwwi3xOK~Sr17vlp#o#~F0*2;r4!Xi>uxyue zrURjbRl(rOZ8;`N-TOCHQ}`am216W3Km?9iNi@0}P2#bhpYv0K2~-W6KDQL0jN>cN ziIODj9|Qk9(;$FGw4(=T)P|d1q`8tDfl`wcDjWotU@Qi>@WpZW6=)fG088^qi+-4R zO}R9`cURWx{&d4S52^co0)bEofM>`X%nVdb3)?r7iwmN9!n>_RD76f8iEm`$raIuNRk;y`@35QBI}0mLQ(J-ftz1Q#lc+?We&m4ss+8DD*G_Ob5)A8UDDD zkC`j*DZ?-*&)>ggo2O=G$`3CqTd5WV0TsjYVH`HG_Kp<;FfRQ#Lhl!ti@W5&?VQfODnvbmFk@$1f}R80v4j49KM~T;3BU?*D!^qfdu;q1U_3d~X2Jro z(3`Wx)f?ENE!2^uz&>v!a60-Z8UDN-IcHZFW{ zYHI4Y++WzMkc&ID_yA!m(e}%37bx)_4PIB=NJxL;IrQ7mLne2anpM9ePMgJ-|F0X^ zsslkVKR-rw=xu#u-6uc^f8XzU3PN3Yl6IY+r%Wgl*AcM&*yicxJB|o}DvQwHqaZy{ zb8PB1fn6geNkZ#^q%_g^A7M#h_*0Fx<-uyF^YOjzOg zo1W%D-(^uk^<7pxa~u-N#2RNU4XgQszY{MFJcB-(&}^U-9{A&M?o8Bb_5G?-m2YKC zylNXnYAr+a{;*4Mnp8F&et4M#G7x(UMZz7<9-rIuy;6^>txDeHdjKxD@5RRDup*aQf5xFt1 z7iNB21t`Op>$<=nmByCBke)Y&5J&vh@z@880d;#uNn&Nxw*o-Vk(V}f0v=1LDP#O; zRq*#c5(G5{oe0B8N2#JFJpeO6$uaBu&0eSUknTY^xzbO{d&!p_3Qi zPTaxK1y#cWFnj`p#s`HHHTWh-f&PIXmKU zG|yHknL$jjFcC8z{<@bfR~I`55;wNn2B^X>Z>bQ*P7azlNr{YcwceoN84|eO+P=7D z$^UF^Im!wQhKl>X0|uMwN=qiV&6ZS+b))t$m1 zqJ>az57FaIy@JL1xo4X z`P)d|11B(f0Xl?|PUY(eD)>yk9Wz=97-9WhM8UVp%s!inqRw@UyO~?9Su$5MpDR2F zSfs%EEq=h7B#t@-9;9MAE+Nl_vLgu$H7Xt&?J7$vPFDh7vGy9tmM>Q6Pfhr-GfwIzQdI_Evu9^gi^Fg0(U|?hb zQLpBlDWH=6uC=QfFNV@X9{K}CAnPHon2B#56rkmF2J1gQEDtbwm`~UW9hIIfY%HkH zgsrn^!H3$CTA+w9wvIr`*A}44mG_Pd(X`Sdkps$!9KN)TiR&olwNM?NrG{e@B;LI3 z0%C>N1Q%*=ra3||pEsOw{e>3>o&5lXj}q2YE)Dazkp<7lh4k0owJa)4~b zZ#kugHh7V1cH)?La_LVwQv*6l@RVI=dUk9m>t0h;5vmbPk_4MNUmI1oPK^qzz^LH<5dP6Tk$^vOW;->N?FZa!!j` z@q4qCVAb_T^`%z1ar4}>N0pYLcb=k$OWrP&d8rJ7t#gU4E72Cwb-4d#daClFhft*S z*E@@U^*Lbo4&;-R7EMq-gy_VWeh4}p0#oIzapHe(qd?Fbuy$~xRfFBhR&k-A9Zh)Q zH!MCZs9>P*B$tjLHy(j5?rWzkWe#z=0qJGfW#iwmQHXl>B+_*)$bM^3by;DjBWyn7ob- zx5|LYK*uj_&B5i4y}(-rS#Le{m^o(uWiWN6eVw|JS!WRacS5P$Cx(6BWB8d9zNkDi zXm{%})OIinEp&fQqJ1(FZ@g@a6ESYh3UvNj{HU;xTL)lUlPEX?58&_L-baLq(1+<5 z%ON{2nIeb`X}q{N2-H96pjXKvfE?RGwe}_D^Bu;J-yl(8U9&y1`{{cM19z1o2xx@Dz$*A%;ozepgj{ z=$i4~deoQ%@%WeeWAT%%eBYEgf^KQyyk?DM0*VLu4Uxm5HO6;NrLAvgQYnlJ-iQi6 z!+FR3L>pLm6=L_%h(M6YFrIOxH9Wvls_Xuq(RARvqE6M5N4H%~Cp?lV{ItSfC~bW6 zIT10Bu;{FDTk!*fufmm#sPg1qn zQ2uL!)W1K`-+HO2+sgFhkGDsPtKehK;R#l4J2m#qBr=Q^2{G&5)ht}TB>s9)90Iu!VhgizHt(LO6QYTq zf`CcZKgVVW+9nE|!a=HT4dGbx3WK2U5N?DLfm$45-tL=>_Py-6{kY^!kt+>aSvf_>TQ1Qi_DJP$avTJQZ0jnJ3|!}Rr^K8x2Gy=C=u1t7($X*Qf^c} zkdWIIWA|Y{Q~=-2SXNG;Q2l&SS4+^H&bmWT}9RSxSihGWkb?KD4kiIs`55jr+t$^OH5`g*mwKUY!@GQnk z-VVY)gSGLOrq(=Ch5|p%t(V}C zSzlekoYxQ5;AY-qe~S+{-sk2jWqR%v!C%f0(|5?0aI7~P6LuX%Dv#{%IHO~29fLa< zm2Q21jnJITO7?jdz?(Em9Hn!!S)qMjP|fkOGwM12W_;Zke_ItdGYyT;-Jl>G(Wf7` zLK!JM4kDD}a72mZRRqdhzBT`h2NEm3q*Ff4N;3cG-uCF5pY_<;e!{d;ShoAG9s>jpovKm!j)qUG^GdZ_>BhTRwh_PC?XZ3>Ua^PAvYQkfNz zZ_$PFh$i0wepTYA##3$YhkOYYKfX=1j z4iI{V_lsTZ)~|GmK?}?7$hCI{N+t2q$_7rk_l>!>sh9`GmJgyB`3g1NY4Z8Y6+YX~ z&?#X)VtB0x9!C2JCKMhy6TF!bY=Z)7KYY?U{0w+vfkpg$Ek4s7D(q&W`TSjiLD`p@ zJC|-0G-n(#hr3Ov2QrS;9gG(gP~x^tao3E@!MUQYVSnm|_hL0Vo#1`zrykQA1uHR1?%nqSlxfXX5t3sV99QHVxr_sD&VqdviYgj zldKI8{!miZz~glz;d7pjD%j=s@uM_)>GFDPw%2vM&!w_I-vXNvz4{)WArD(Y_i z(y|HIf+Dy4Vpl~z9$9RBmb)ChLQ>dDfgBni=WcZP{m5;Ql9JMS=E7$ryk_Nlmr0{T z{6GxJNv9wIdYP5RARC%Cqgz-iR^waBIX>s0@-@);4_INdrQ?r{W@m;k$J~$AaS+DpEvUMM4vz%5T`U*o!)A2VPT75agKe}WZ+UWT%L zHXRF7Z@CR3yqKZx{|6I@g+^gpUm#RfDv_fgK%+02KcNc*8Nl$q!St1al|Jr&rDu=4 zRe#iSW^HMyb6p`EHT|Rz!z?dwwA1;;HPF=+vGgmYSp!h{E4Pbfkasc$+nU*IEPoRb z7f;ey2fH*YmVMqfYQx#v+$=5A!hFQXi+doJ1O>ZM(K7IDxM&&Fz8G_?PQT-(#sr4U zaH&t=60IZ5pVHqCG`fR!{NNGYslyPnc$y~QrT;k>b`Q{{>*L6=zT1;{@X`2IHqpsP zv($tez#T%7$H@DYpS2poag`&HV{p$PsiphSP$aMHGnpjHx7@#c!)e&+FNitH#L-HL=rXT?Be)M22#Esm6TOWQ1t?{ zfq50}Bn0_yR41iwIg#7sJ&FEeb-S9XD?=$C@$-PYZLtX9o%9PX%EghIk=m%Mz~Z!0 z_?PupjaHN^iGeHDT;9p4RVG{1$24dyfshWMpD$aYI5c6Ua98tOwv!zXE?Q{VsT;ES z`e-!?E5@Powmb1_WMgs~kyWotDGvPm=+i+}As@{SJmiYmkE8iaeF_?Hc9}E!#?Mw% zU4(_fTe*QHRay|vq+oPT;B$_285R*goi@TrVi6Z3h&m1}0)dZS_EH;V!p_PtQmn0x z78p4;IWp-xV}ar|FG89)Q(dkR9oKDNgSWCJt%CTG-jj!uU2fP>lke$1j@n*F+Qv_v zMk_ibQ=IlkHf9s+NtQpEUzzlAY?~I1icX4pKhDy~a@56Btuza&FfXIp`i#f^CkkuT zaX>ZE;D*|Cigu4#uO`=E7(NU6EBIDq^w!s~t@a?Cq|>s~S<~P@5kG;^dey7Q#;@$_ zW^5FQzOwxj;sCo**8d9<#}@+?faR6fsRl92Jr*2_5No9_)4InPR$@FWo zUEFLg$>^W`SASGREC>TtSOW@M# z{q^B-9|IBwyBHpw;0g|gHB5szjir7%U1z_}NMShWLooK8N5l+!BP#<|W4Sk`Mn`!; z<$0rI(uw&?$7Kz#M{;JD)0s?b%&oVTM4T?0(xn45vt#9{t^s0fU%rS4Nn$l`H<|Gv z@)`>s$1uq9Ag#jkK9%T(g@;)?nxk?glSK;#yZ=yf{eX9c5`vhwY8+%nZl!C{hVo)V z#517t^{qGB#YwxvQsu<13b<;>PpRM6k!nuX_X&ev8NOnF^@QW~Q;uN|wu~qq^E-q# zjj!vKM_u?jq|gU8eS#WOd>32t%$WF3QFY8K&S}ePp87nWlLG8PV8SFyIl#-58(TfB5KHPI?_cm!KDa;E5qw91@rFGg^GaGl|9j!hA8gW9`6ix|yifI3lPMT(t(XaMH2Pvh zobIc!O(+Ysl^*V){^aL5Zno@M+~R_nv)4C$0=3+1^d&0|<}0|krKzJG*iesJGn#(^ zopr$igXsZtKeQtnlAo%1c24zyN_Cu{GN&Ei%viA~qsiQE-TlM~Q)$D{*?R5?HzyCz z-~?vo4pfG?h=XnsAUCq*ykUG_^xcw`%55%= z)`BmS@ei7QK6kQBP|kp<7TujBYX79QAt{zs_}q&yWOoAZ(cSe~5$5Hbxo^1coYph+ zX6VG>j~P_u`*7K3uB_3|{(@l5Z|`ls{Odyh<31JULP@Y#obEo;Q=JT%i|<CJycC91y(PvPW;B{+OmGsLd?TO}<=`-t-JsW3G z4t#y4>2x;Fej%=lDS@(!HzgHsbF9iPL31ES%YlBA@~kGnxi5xM8VAeKlbnnK)$$9> z!Jh0`T>BR@H4n^OHnL^we$T$LTKgO(m-jB;1-t_n^k8wke^QkY4SgpSuc7*Gqy6mV zsmog)9Vu9+q*DGDk_a%7-{@=DK24Gq{nXWzRx^P`aamRM$nMDi8OzHW(NU|?ijIdH zYB7&L${!Kt4_#iuo;ykJ-g>m_;NaZt5i?d0e$je#o;J5kE=qz3c6ZgUmA`mq!X<~| z#uIq75xK$m*Jb5G*B)%(2+?>Fv-yNje z=#csBL)8=-Oi8=v`^z*6J9WykB@YVE>SuWR0kR;r_l_@Wr5M4y_80m?y9=@lo(Jm0 zT;2Gs+U8%qz&Hxk3I9cNwzViCP)MlE{JD*AiZB9wn_K2aGZ)ADXSMf3Y0FuOoT8dA zXkzHab|D8Uf@q2&`o)Ngl;p*Gsn3vQT!?wX&~aq7_ycG_?MpoWU64m$ zR^?)tL_ERgW~Xn4)Gev4HOqK*P86v22?=Wl7LeGtClW&7P0lyBKB@na48lWa&W=e} zR#yQi=#7r<^+G(7jZAKq_37$L-r|fB1ZZ++|9(zPC9n>vgB#L#yzIaG4A?h;mMN^= ztgl_KQPgAvClmO}9gfbg%JF+c9rnJyGOgU&oP28U=y(^{TT%F1K49TR-F9=-r>&hG z1Mzw?DrNxe(ufgGd&T>6I_lI4!%5zR9aa2K|V7#2{ zo|9oR*2N=@{UPF!E*Lt*L47KKo$($=9vkK4HCHZKAeHHex9bo#2H(bIgosfb23-`!Z3 zj)HnYsRAy!;~0K<9LPbf+3v{U_Vj#{GmnQ1IX$n;+pG33UMBzcv)Lh&kA#rIzj+v@ zx&|L;@^i{R-IffZ&Y|m0HWog#6uSbp+0;2o9uvthsfM(MwTp5?h-MFye|o!-6+B8k_;HIsNBqO$~wCYVhNDFv9f*D5BJO&o@ zCP5MhPT?x2v1$Mc?{j3I*M2&`1osxiP^H`Tg4i0IGMcl;2;VubO(#$-^O}C@v{< z%V!Fv8qGSiYd%Ve3ko_Z&rBk+YFHX7p$)NJZYcuNr6cLGk3dNjR|r6b^BpSL1Gcl? zLsnK+60bb2R{ z0eIr)jO>qu|z6Cl>m50h(xez&# zBK=2HbbqR|!AjN{l{PqxLU{<-zUi8xSkWQB?z=yK6v`oFN6ICQ&>UjyW=o=Guo6;h zYeYSXKGc93=aEkEzCgRx@G)Sy7j13($(E%*wAKhIe+V_DjY!|?{+37vY7M4(tlJmM zlU+LeqSq(CuMS{tKNLs&o`u6`S772rdph*&YvzOws1t=(Sq?cpC9*msB`B|<4$nI z;**Gz;_rFi(ji3mitXe%s#88%^vgDO7W#?HQz0ceczOgoUJeGQ0o89)61Y-gD4}U8 zi60Y)cQv>v{v1XXCT?4;_IoaoEZn%+`RdJMQv#?wgWGks&s`G%lY!k9#KY*h;R4@` zIT!hzn59r)@!1=u2O{W@Y6c;>7bhd?6XgRyT}Mx&smYHv!(Z;{XHY;RsaN-Ri;O;9 z8m!PXjP--oJ2Ed%BxPrOZ(?Yj2 zqo%iLJ_O{Tpqjk)U$yXJGzft%ge)?oi-nrmdpIF1&&!e?GH2957I(Wu;@3)QwOf`r z{1(2wr^NL3QXZ!p)!mk$3_30-i~_P3LsiVijWmKQB@Ou9I`mKwlfGG^@Rgx8%FX!c zv%{*CA&i$Z%#-_ zluLND9Bz25et!r&DE6;v)@^|(L1ejmz;ooiNCIDGx2%@;WQ87^a6kF)#oI(8Dri#z zjO{Zad81UBEN6M*NcT{t7qOV8wm14Oor}29mL|~WyJeU@y*k~gJtBopQ}|j?g5POId1E7b*N4M6?LIVY z`+>xvu;|1jD^pTsoMF|?628`t1DWP)H~et2aP{%sP*TI|SiWo8S8Mkz@7c?zy)M3pqbQ>3;r0 zOgEZUqXNpA?4nQuQ==igA}fL1EOpvsupucgN%>I zr{mxA>S$2IcU~&k18(4d|FP-gMN#%&1%$x}4Fpuh^NxE55u<63fAILO{^nCWHF3-X zti)2p?6YZx-x9Om(%3TLy~@`{?eL}rVP2)!wbEsFz0MI~07d_lby=C7%R2If;{I5yR0}C_rC` zrHZrCyr=RVz5vydJ@ZGymLs%S5F7N9@~5wMV=%VePB26p`Z`B}Y>^6e1sy^Q_O~V? zzeJY&bU^c}i*ZZ}XQJ+XofAW$By0f;#~CLUJWsf|6zfHsvQGB}LCAahMF=aF=#XE) z^D4X#0-gRoOR)Aa#E1tqhfdC+Hm-~`l0pS*<2v}5?IJhIsF1sx^hcHq*qrAB+q_$a z-0~zXi}vmnWffsn98aCt&aP^tA%(%JnJa$B?A35h{P4I?d7wtEu)kT}}%KNd6ur^k#30Uh2Ud1EcvCBH^L2 z9OzX~YCrF-6TKug1!aYKII|e%*96wiSGtf7x56b+=AJyr;6iCmooRZO;#azNgG};s zUO&MK{q#{621k;|hziaw7DJNI;%*7b?XV9cD&imtmvFOA@>r{Uh(j-}<@f>Rr)^rx zF7ZuK;wyVRb=_WJr#DX?yEn*BgKx&5X^#ryw$~+6r{_SCj&+*s+ON5uY!}nHK$0kS z?P9p>-Z*%f*i!TocYo~rHS!ZW3o{6@Lz0HJBB?d}Qf9s?FJ>L>d z!Nf>l9L#=1>*fk!p5WL=he1arYB_?Ldq2#>#Kdsk)bQWsR%f?!^Ku=2fBIM!^xNO> zux5Fm)T_$c!+Yp`!tQnpRTns|d}a!G&8~9w{TBU5keobG?^>{bc-T2bO#LP(s8Zz@`*HBL`BQ%!s1E-KX@obMD zsfU{D_yEkISV}x9Q=>)2xucj+wBgrq(&D&!p}j^19qP`@xn(DxaL*Q#6W3|^)%8i~E$}~RJnd-f)|&@idQMVA=|PFHp^FS$rRj0( zhi_!Py0P$k%KU{~1}||;%8-~(;r$HFn+^FD7{jAv(%7#GwMGcZQcFIImOas*5iIj7 z`{y5PsE-|1lbh(yU{`X-vpHZ<^gYSva~=C+Jatdrl#>((Ax4x8qsaegms?)``AuwX zWssM%{@JT97F}8?MNS}x87B+Xa%)M#dXMCf!>WE1vg_HdWdp0MuRZ%%6Vxk* z%i8zX0xFR@M+h&QtL8!V8nkLuM{VnVo;?g;ikli@o(O_Qs?WWjxY>UcHpn5b32j=q z?ppVUznjmc`aGZVGMW2Ftt^6IXII*|lNDO1kB`~+Rg9^;Jw`isR6`y+TZQEQoi?T@2A#v&I2L?Q zXr7@)PG3JhyBgd{Oc7pzh>Vz*D;X9V zUp-}icKeWHw8VmijXjp_R;9)}Xvbvj)^J{@s;cUDgJ7&Pie57S=<+WDS?-a<0zc<6 zDE<>joQbbYXO|q@smt!QSxW>8t#xxl|2`?gmrWL^8*pMM zjI3~DJjNg->&wPd(^WwRlj}Elokxm0Fx$;1BNjeILco~VmI`bw^o&dB*C`2l*O%?; zt}j)lN#*0|;-jcq@2$iE7w=w@BXs)BDHzbO8bbL@+`M}?Y%!JMN(FFXT)K2JbR7J& zEk(k&S|+Bc2|St91()&JeB&}*uXS>IBKiINn9;I7!W?tS3}{k@Q*p%dWdxMbP;#C2 zFOYqw#}#}kCmYh4^P8^Dl*9YqsdFlpOYzbkDM)$urSnkn38Q{1VN=($_0Kco0 z8)DRkk~N3{XRXaWd{Qk{2X{?E(-IQNXB5jr?AW0x@_B5H3x%@k+FNufvRQnVk|C&H z;BhLulG`!`)uTz$$cm2h16iFnhm7~^RCR$GUf1h~r}Usm@~^$odoP2b#7Idi0=nr4 zjYb824)1PKJSFz0|D+(H+ck?mOVRroG1j}umWsekT6ZOkbi|d-qFRZ8J6TR()&xSb zT>Hi1EiHwm^JXz9=Z0dd(&az?N@--IU{f-S;BHRO`Kscw(tK@6%-n#=^XbO}B@c+T z1z*auj5#5EukI;7dzTer)M4I|`aG_IW2RnT-_1-TE3L{nOP}&(Zo&zR#?j@1 zZ*wIh6O@?xdWH1rFX2xDq{DHaX?VpL{z!jN0p4`GWHVF{O|qGX_a=xzdSax;B~L+z zuLc-U)xMoq{)q86g#w+;LnJ8vxvwuIQ^ifOIexmDN@%gneg5tS)#g3Wty-V0Z+TXe z9tQ?S9Y3U!eTCJb2^BA?5`mu&N9Y=z1pt)oWe#0S_SYEJY+fcz@Qr4G9Qa?$9!-*v zRSQwsqdDp96*PQ|l7fjQG`7cxMw0zZ<%XS^Ktx+jCc&9IGQ?Z6QgU*^CB5k2-?Mw| z8josB#?j=La9<`odcq3m-)B>twN(B(+L!2SM?;9aK1J0Sqi6zpcaDH$OTh=gk5bIK z+yO2ZH8A(e&-L$`4ARK$n=Dh~m0nR(nf>ex>l_XpGnjWH_p6Rs8H)$&$iCBICmg|K z?Mk+TZV5U<_h2x!2wcd6$In&mD{En`u}ZN`mi)@O_C{Bm&u$`~^dJhInWg7_!!liH z$HmPeHH4CNto3NH#=f>AQW!f*ltmXWZ|j=!m6BuHUOHicI?&) zX3`8!^C<_l#&RZZmof4OJ$xc;l=mV-vYn)fZn+gqs^iTkGUn!MA3EVYEPR+8?|M?v z%uof;KibmYd*NIO{-G>ivqC4^w89`4D$=TuW)gRjJ|l~Mt9**)TXT;AJ(85T#nJsk1&oyvQ4wjN@3|=l5i1JdJl>C2v&-L@0>r%pul#3o~3}=Q8pB7H#c{$iljD5ZKenNY9%F7$a8!>~~N%fPt zevgX|R{Vgh{dQfij{IY{$KTemD|%mlgWE361mB`^*M36DQmvEv?TAhJ`(D1YW){jb z_NUA@DFOG<1R0(V+S2S`E1`|A&y}9y-rlQ7*?f{^?nn ze9&LG5$H*&&}T=D_)4l3j#t2blHluLNi7b#l=S|?fsKA2^Om-Ms-!HKFOA%e zMO&n!ROdFjpg+IDpRJ|qvC_~dmk|6CB6zXJ%L2ZZxSHWMWMH(Syau#X9R8d$;_SN) zsz1y;+%qUJ?AUea0>Bb_U3+!ae^frdPHELFwq|#9anby9uo~!fo03&72J^GSSwdX) z8c<8Y4?^E;+q<(TUv2)HtQ%O!;Mq>n?Db5{XlnCzT1ykU|G2pL5ycb5ptEWKJfogP z-Fg1o@tnku8^sa$`SYr*jQcL8IlQ=7+w1YKqbn#@&1=h^k^Pj#gZ1ot{T*KxLK2zp zq(<0lG!$u0N>|FTsiH^~>xQ zROG`dhvb|5I;?BUAGuVcdEtw5+NTMPhADU)NOAq1s764w8bS3ILJHg zS=6XI^_es#28HFjRJniNmJG0GXEAIe4W6TrR&roI8XpBgMbj;>Mo`4x`vUq#4gUBa z7Qh9Z)gg=Q-tsuT#iqCbPQ!yJ!JRyX_+|X7-KeJ@tQAvF#wVg2} zP*=XM=fK#)ua*7;y%E8enY!i3_%XvhabIJ0G()E99w<_H$V=ze{9XMST4=ruye6c6 z$U(1KFXpO877>8bi7SX3^UUfwKF7iO0{}B3w03Rdp#H`6oE#7CY2*jxqfa5cVmnV9 zg&B^%97g~hw}Y=hJOvBPK#l8JsnQ}8CO$x;y5Q=(UQ1&Ul23+TXQnTIHGc(!Tpk0E zk?V)IcQkfgt52L{+_tTG8}bv=$15JbeR-LxAZoEO>p5-GHD*?p??E#Xx;!y@UFW46 zhlbb;(Bh#1iT6$aG&0l5NCSR`kk*2?m(RE_+uw-fVfvZ0nb4J!eu>M+TgRqvdv=tCGfWRu-5utKY@@?BWFw=%C262*QED_Eauje)HeBmRoc+DXDA5vJ-GKC?m^j z{3HSm0_68V+fLWeUzvhV+~{toN^az}&?fK-8;kxg8fUe$!p7&pkxDG=9GqfPN2$qo zp&ef;w-ej0@5}3N=w?`hBPW~lm~42TazBMGQ6Zny%J9DGCpAL~(cN9CF%bvxtc1T4 zO|0CMu@-nT@yWmY1O$7^m)MQgg)!I zTw$i_mN4&HyAjZ3R7}+j|Kxhlhev^je0}a-T}TUpp0Uwh9k}_zA-5Km z-U1mIn-(;ULbS|L$kCwp2*p|p{Bb-Dg={V2ghq{mRu1HDU)D#URGuaq=huPar!_EZ z@s*Jg^0=~H8d+x~K>ri*hA($(Wp3uh^Q(Twwu2jj8zr|Tav71siD#w=)WATwZ zR6K&zQO;>&co{zmaz-MKJI$Hw)r$rg3N*oTq!B-U!}h9-MWAvzGP1G)B&rsLHyCdS z6l(znA^}5n&{ZQrZfh1xuL0z4FZE&UMZd-=3lAcUUQG8Gmo8Hy(EHT&Nwx86_H89c zo$P{I4cR0L_5R7MV_w(@(K0E*J5+rtBAd!Aw~JZktljsm?p)iphq^Axb{H5{6_w%P z`{-5032D_LVit-W-hRSUGf-^ah_>~K1q+!vU9NxAxKN2Hk_d;iu6eBLx=S^`T)fY( z;X5?9;E<+|oy1S~9!X%CzfPNjh#dUPA9zaScPRkYUn)sfP1@bseOu|L!0x>n)ckEc zRyA1zTs`F0knh7l2C(jETvX^E7!j>rLVlH9tTf>Ff*B9qHHWo_bR)7Fto##SsUZP~ ztadgt=eFA^Caz7CK9{E?>L(t;V`Af!dXi(q892anJ(Gpt;se*#O^$eojp8{ zxV*5xK&`57>D#zzkqxLM%hndJ$DFy1CzE7i{H0mnP%B=SYU|(nL7|5+lo%NQ4Vs6Ev z%apI~Zuq0!C-kw2z_)$ZwW$0ojdw(o`hc4C>4sM+Exuk>?XgXb>N8Z0lx0enWa*2^_sfFSD@#V{BAAy)9U zMHT?=0yw>{y=dokDg;otuZSG?0CoId{xcLX70!Lp1Oj5R711g=Qkna*1Mf?o%@xd4 z>{ZfFvfOuTiaFz8BI?Nt>DHSZAf8a>Re}yUxlyN}muvNwz+wsp3}uupX>T^192l_X zhkkRNcnUm`cEh0?GG;F`6*5UNeMEz&l$el)g_gB05aNU&f9U8?djPFFy%zQKErAq3 zB1kJw!XI{gMybKp7 zf(?uaPuc+hPl5;l4WGm9{?PPlr1~u%o@y8Cy1WD`r89AJlRXuC3EeZy(Jt2S{^RSH zfY)IeF)svpJ}iqAf9b$Z2_;rH7YV>^3{sy|KmhJ8Ik9&@*_x1HP@5M5v<{R+Zh1c^ z18_$`#rG|j**hG;1}QSKH9K*xso^Xbd-CDK^^`YnzI)iwBSz?L_4DOD8GN(uyRJFiOg?!U`TSC*kv~CH<IsJC@dcTIONBM+A$oEQTig1OxZ>+)#6F zKKwa;3c{K=Wbz#r{uGQUE*7ad7&dbN*oMed>(3TN`BJUR<`+eu)vQm{Ncd5VkpgT9 zMr)QWZ}J3y#3-p4{uT_KcxHLrY1H}k)s^_Bt25{Ll`X8mDw6@?ZU(&fFacl9vV<(f zYZmzEe%`+yZ8pZ^2W08jc`%3u3u zAy9}K>pk@mjr>s8UUKs)!NsnCW1g1a1`8P6U6SPcrK>yV>Ir8^Hf%M;*+u|ooaFK- zkOJts#TUP(wbTR1_;?v_gpaY~O{vZO(WXu%6`YxkEupGzQFs6tcMTV!LRPwt^Ws-6 z649kj|K9X*07x=C=3m|H1OQzN0L_K3Cx_!<23bWG!7D=K_IIXDMI&?fP*%kt^Ua!N zc06p1KDTl4Frg$sg_2deKTI{^PA);wJHYdt*^Pkl3*f`yL@Y*Ve=vs4`O;!ETMI35 zY~ltPS7V%7mp3UY^3z>gQW~-nUT6!bj5^0uJA%=X;GJE?yo{#)xy!qvGC2SUFFg?3 zr=t!=gwC5VNB=5eStDoYXS0u6I9WfwuKceu4C|y9aQTXG{1nX1LXN}{m(AEI$bH(@Fiq; zc_(s_JpzJjuDQ+!?|A-d*U92Xwp0vv(XxiGjWwz72d36!^KR@!oL6DaXc!15FX9wk z7Kk4P&a|7X<8q}!4NOi7KlUF?TL30zv);%*HJk#}-}S++jTTjA({jnL<;oQH9_rbO zh82SHzN%{Y8GdG6;rjVlU(k)c+B(12GEcRMe%wLd1vm*RLH}HH56qMrOY8RIv1rDFC9C|@KP7~Ql5fZvcc3W}1csW|@8r2YI@r^^;2}$mAQ(o)_*Gf_5UJD_H==DrAh?1XJbCIm znqFqUz0i9|fRn&v=26PQtxDtQ@?9o=i_|@rMm*N!X{uQDyxs1iL?jViG%z53?evxOes79pU1K?u-ve#gbtCZ+ty0ZoQnD@G(v*F#_r6e~bHDnh)lsZGT!iQJsz z2B4B>9wF@7McGOWTcuXl-CVu|yWVUK6u!0nsktF)v}w^^JJn+Tty>c!WEE6!chw47xZhBL zC9Y{V^SJx|ch@;lJfn|;wKW_}c6+e~AHG=0B(DLjxJ~&jzt=Mo@`y`w63sUojvFiowGPk)w>jbKbxlakCs4UduRc^N64r0qy~5#RjvSG*f$j@gUNn$8bv#O_FYfEFMB z+3ob0SF4vZB07L(%={sR@3?DxLJQ7H@xgUWF_d3i;s>yVrS{mUv9hkCNq+XWQh8mvP20^CxtS<+HnsU7~*3?jopQaSPbS zqUe_YNUfwV@D#O;W~#~}(8z;x5kRZ8V*ChH%^yE5xzsU#l{}=KL%y@`NW-VntxwChcD2bKZB|OCLKaF{9sAkHC>1cdIuNIK~V**gvRJ~Ecy?fQmvVSF-Z+)i)8?*05C!jbQPFi z^l_{JE)&Zn64h~8ycu*9)cPMd`HhcH<<9Qn*SU|$&Utd{V|(xth|4KBQ5lkGyJn^? z&mnB)Jt|UtJB{N3B`{y|_cFMPPFZ125mo_)8Vm*%TrDjyMpn*2N({}}{BIL58{)+@ z2iY@drzoY%D*2a?=KG|Tq^_Kw=PAd8Fd=44wHjqi+qNLpIk@|l;U$=}ho|Do>jW^u zP>(o&AV~ibEHOsE7p@M9WPXX3Fys#97YuJcrdAbU8hs?L>1ljsQj%uO}N@UK)zAxAAxX zhd+97pUAs-En(!*Dw6a~Q#1JTGK+g_9c`&CINU@r-N*eajjJY`V7t`y?N(gaudKb^ z^;yMsCplJL@u>v5!L83~{zV&$1knIRiU1`4-qdVQVJOmM&(d3KD^L8yHr)B< ze%K>W#7IYls|1ssqEfnem7?*>?%Sw=-XzX8fT+V*sz=1fF-U%j(?Y9ToM_J%Bj^VBeBN?JnJHFge_u6jVH$rHa=9c7NZU z+Rwe&G20Tp7-e-fM{u{z07zIL*yD4bjEYdp8w{wK;#x_#6?Z z4;7wWY`967+@UO;}y+Optq+GU*o$%j4pAu!pEZiB!~M)*!;7Z|h9cG>qs z*)JrI$v2|jD;km0Z-O3MolZeWVjJ8@MP-p9=gP~87k?0`g+2skne2h#j#Mo%DJh=m zKj%k8bZNjqZbJF}zD_=c9ny>&!0$??;1e6MloNp1!{`z*@nU-{*KRx4Ym!bM3(p>@ zlkFk=y1uch$5!$D-JAF#juxH+_R4?XWvYkn1jd}+FcHLt3bOaNe~XC(@rasT>b9SK z@hB6-2)(S4OpK5P+s`QPW>&zH8E2wTYbtLo zhkK%Vf%gYa9jH$Jd!g!EqX9CE)(=sgoL}nJ;9p@mJ_! z;}Kv|`QZewE+OL@UIoLye*L=8ogyKA{kjene>D~0Y^(UEUOLh8CSceXm??F@+)fq_ zwH}g+iUN%GoZzcKybM%4u5H}%B+83$?sLu6;XOW>6N^up^9}1txLJ#W@bHK*0t>|; zwH7AK!eUv_cx!_}uB3;ymD;+q780cD2-71A{&RB-vBhQc>o&WT6~NnhMRWPl#UI5+ z0xu;wDSYP7M#Msot%z=B#ix9D2A0{He{@LtSSfn=i?fY1*)P25Yn-A0M|8q=)7@bM zS_H7I`!huxwVx=xWrLQl8X1z-I4hk%(%lT8?n(Y(KHNFCA@7d0kBKn4DZ~~;a4XKq z+Lxy)-BlKSHJapDjA)G;*Q`4pv1OTsAAJ_N$i0DEn;I+G=58wrh%oszaKb&E2t2$D zNe+0ZQfWtg8xcfK$F(kbw=fJMT3i{g!?U#5W zSc->5km_W6MURK^+cIv7sEK3FI}1tYy4F;GMYnDx?oKY8KQS9C!74@8Vlm7Olx9JWtXgjhujL^0siNC+QT%5i|Np+hrkgzZ>>y z(6+^TRV9BjB!-!02x{MA=aS{Qsj~ozFc6{A5eKOVOYuJd(ytu3R%;GLGoIg5`>#O` zS$V=h2@>z!=vF=K4!9F&`z`cm-Rb5rse9g=m=Es~0HK0~-nMo!E0M@0&bPg;Ds*IJ z0`wg977k>|GZGq~w-|x2AFLi1D(vu~f_(gq^99`{U>ICP6(J)BDnwTj*kJFN_~Giy zrp-BphNjjU&*;p`<_uN`!Um=XBFbAf8|&=GqBssS>NA*bHY&@B=?$Uh9IBm{h2iRg z=$c*Aq1V1C5S2Zh?i1!g^oA>@FO=NQa7_ces=}@Np%b*JIpEEUO3CyfwfF1KAhGdn%Wd_$1MCCQKef_$> zvIR5!IXIdS9^E&~#l`icN$Mb_saFsELvRKp!hVP%FU}wbBjksc>i_vH8$AeK(;|zc z1sLnt6nMlmxmB+V$)dkq)9dUiO2h0UstO73zuX)GMRq;!V^5DFhEYE8#i;JQU`w-V z?h>s{@E$0QBYg4T=|dZF4otP{ZV3&xVjlPP`d^i^7@)rr!vOwjKCvCbU)|lBZ^=4> zbO2uqA+z44#d#ud1KG7h+xjvJeIvC(eYBk&7Qla33MZN|yu!w2p^v&XEkcd$HsUW< zy?8n4&&)xQsIm_&UA*d(?2HshT29;3h2Xg^gzs@+F(FcpPqnuUD2QxzgtedQDY1X~ z_L(O-juo!{DVTo!>ATY}bys+lTZgWYQ@^+UL1Y+l(2&A2_63bKCl#yv^Evz{yrz0E z$qYClFjLcr6YK|Ak?fQyl|C5fkS`8UNt*!+6yCw_-FuClm9m%*UG5w`P(+_m{4TS8JW8qOg zU>18;n0ilv$Mqh6$6{VBE%lME#BC1{&&YL)$;2Kqppuvc>@h*=Y|b7@e0clCa=X@| zsW~B^HcOoo;oYz9P=Wxp*55@9I2y5q|D|ew03%9;U}si#0lw&z^z=o&849oSQVD(Q z6?%|d({G#W<@a{q-Y!zmLpaNshf{>Zo3qQ_dj><0}?rr9@i1QH-z ziR+1{wS34Fkh@}^M;~%i2Np*RTluc%ZO8a3JMgtG(k@L0{(OrR>GU+N-0R}+Bx|6T zKrkk783__WEVlUlo!*--3lUmGKg_|>cV@JK$q2n^fK6P=fY479Hu(G{MOu#kaR@bCWJ@No0^n_*+@{e`bUHSA2F-#jelGt`kXpI%W7(nms|x7*6mYExkaQ+ z?L4Js6O|sH!U&KkDAOj#Yp!%(uX?^~z2}a_K%iIJbPYWV5ZiS|KY-+Gw~nrs@%3A2 zV{xF1^5Tr{a_q9#zm!2E3%&<}0>nH7Z8=1|0_MhoyrR{>9n*h8W<5Y_vqR}Pqu{o? z0FbMjXJa^dHNj8VDpE2s9tFp$B`#IW zJbu&djZl$GLzJb@Gh2R*yxC({`GV(H!xliqrJ=9sp}HHxy}~66;+)$WeU#Cs?C#o4 zhh3m@0C0R8wfwUxsIn(Upd(Fuka+MEPj_1J+vY9k!tMUrFf|R3v|jq}2Tlczuh#q* zqt~J?1&{tQzYGU6lXik4*Pb3vXdWvFK%md|>#bV1sRoy4{?y;sa->p#zax~?j4g(p zCXU=bDYBE?^TBez%I$BL)}l3v%;bGtWlN6KHj*FkeeWG`CJwZE;jVp`@Ua=6kGbXp z_xlz0C;x?U{3&UG^uu%k4(v(+u3ErUO3CcOk%FxbpVBbny94)TBz4?ux-1;B!q{?; zY*%mZaHGmw=gG&ittq4Imp#i`>jzMN)R-s&SajoqDvwRtjbN{WpQxQ6$`?N!Yg$qZ z}?vqeqR>NZ>7UC}7j}_b|dmz+p5vEGeTebc8?5L;PV*wmsbb9R>s}uN<&J zMF_V#%-p54HV&Tky`5s#D%iYeFjFSONB_eV1mAJtRId`JO#HLADQIVOM|1pOHNtPG z<+9+;`I=rV*{=O4*?(Ao0PcB~>&&9YU0t_7P@F{5ZzNk?>TYI!t}9fjJ^@?03>4*1 zf@q7sIZj0pkN~+p{VC&i5fp$QVps4zwUayTU_elSHsQ~K+bpt~u8Vya#M9w_?>BUD zvA)hd^&tIu3ofl%4r)a$aesbJ<4p4yW5mQdH|)NDts<6>MjZJbf+=)YnN{V{)os$s zX8l6U#*k6H$v3FgTO2pu=#ti)`0@i#D{K-a_x{UR(ytAqU=@SkmW(g_1fLZR<4KG@ zM)Rru+uiai4@DZg71O^<01@nDB)+-ifvqlDf*>zzcYvXH^aMU>c1KzE2~G5$3&7tI zD2WU6BELv3`EZgecO!xGI32-BM?h6Um>7=D(w(8&Aasd*x$Os)| z35=Ff{V$RMYjaZZS)#YH4Eu$U9!LU>s?F-+x2&lPaKs$tx5qA*)TKt_z*j#A&o5HH zC~!zH97M3fI=oFvv(fxDE9u-GQ(#PF^HNn8gbK&~sD%Hsj@w+3Go1V!ErAo`9?uH} zc=bkMaKAWa*eh@MQpJm-;0u}Z(Gsfvy_JBY{BOeg*U=tu6MaW#1EVk$Z4?30apZwM zzkMFj_r&)Rww-cGKK>ME-kTmb7aVHcLpf<&h~>ogbS@BJcEmZO~`xy=h{<#d{N;U42 zmy9R0uGkLF4AtdlBswP#{2UBv4Sl%~uD}Stei-vaz4M8~;5`p5rx#}|QKs7&_q8Hk zefTQ0dCNIyXE~~H?TbfDKusxk5RU+PT$MIm6){JtG;!o)RiFE=W;n2K<`)JM*#z3~^yP7ZVG~`H^)5^@n#Y&G;A0@s-$K(~R5>$%WWCE}$ z_d%&4Wry$1K}z6{p=*NnyfF&1GL<1Cce>#ZW7g1<7fzprcY5D`8Th0RIkcE=i{Y%igXKKn7Gx!MZBvQ4)9M&}w;>(31hd^AKfT5Tvx?mL)X z`m=1|JYd-aMru-P=(=|)=Z^}P52{*<+Q!0|pYWjK4%;3s-qHji19~(wB9BTyXgNTDg(Tz4%$7;|A`6)hzcX=^CfeliszG@8KM$nxPW}~#%*Q05iH;C3NN?IAlJ=O z(0#<%g=;374S&A&!9Qrdr~8sgSN8BA0pYut7rhJKU;4dHGB@h0AS z`m~s*ih}@ys|8ixzYq{m;E?$n{r*}r677g@ZkxPjJ^knVJ=t(}taRz@(l3c(+6I@z zn{eSF2Mu4DQQEe4MbgW!)ZcKUkH77bFsg4^YwG3~bfe?KM)>NQeaeA8=bqvrg;qrs z+ui#D!jzAsJut})^^`9dDpWuwY zOy%*4d_CW-^G}fj{KyV8!QS1O<(O)uFR`#t>vmIk7TLqB5_{#0r#!>dJ`l6+Pv<8L znbN0`q7io2>SymviaTaDP1iZQI^9(N8KrjP^_R!j4=~k~IBlA3+J^qbv4Y?@Y2>YF zZ#f+7>)Uwfa;LU(jrX9D>-dxtu!hYC40H?r#v43O+r>Xz1j!zJC8V5P<}mHT3sP0U zAk27)pn$WOCRhJf0T`1bmn19K2rG@yPzJWZbS!*&dYA~!>&|*(McI9wNw2wp0NzBV z9$focwEN1}?*!TNT@J#Nv%M)9vt z{r|HoZcr|3t^#$jR2!Mczs>23srsjYu1KqPkNy&*;C4p)T%y zdVF|XRP$i{7asG;VDOqsYYV>IBr@ds+^LN2Ju>M#-s!t@7LU>k=eg|;wx6k$>Ck%5 z*Jz$qmRh}j{NNH9E9}uZALBh;6JK&;i1+vTDkYm-ZiX|JyLy>o99 zq+hDiLJj0EE1s%c7>)xKv|Cs`3mH?~tG#;ne{NiS+yvp{W}}id<3%vV;^^BU(C4?1 z@q!cqH(Lu?H?}(i7CALmkvlSXDz%N`66eH?gkr_4Y)LJ+Bd$^QImEe#*slc=J==@^ z$g*e2KP~@k|8f^hG;i@bB{^bU@O{glzA3*(bzKAJvqMfH&PdKCdYg`5PO@YgI@&LU zQQS(G^Q{^7B>14+`J4!`C>d}zLGTMEH3ESqA_iq270erlli%mdQ+i$npZs&5R`Tt4 z`%Je?t`vWotsRp3ylgcs!<_zs@~!mHeec16fwhFAT{}A(=vM1F2I64&>}!QIKPOR6 z<7Fc_C5E|PDK!HcL!b*MQv(A({v^PO%8t5o@h>@z3j!ec*y3!LN>D5{swqwZ6q#v8 z48s|46*W2Gl>KK_)-+Q4%XW%x1nOMRvFuhb;B{A*>lvLTF3ikU?BJgxmi!X3o3y@V zS(x+2ZdUR`QW*;jCv(5T+td(;V?^0{C(<^OU^O>Yil=ZW{4uPBhzOBS0{@;R=i(>E z^webHn=rB>@yBAE7UzuE3eP%*7G}_$fY4b@?%b zZfX!CWSRonBiC{+sh(9M;)<`i8r`*Z$#(Ed9;nt$wjvvk#&HyAVSm-=-sEBDMv2!j z*7zs=)g1Z*lp6l+;40CD$N*iUZ4BTb2V)=Yy~K;(u+eD*BXF>Q8^;(IfeJE+N@Th8 zy^hz5Tl`u{d}{)TcxYP!S3)6oFh&60LEdUK^q5 zzLp{h2wCyZ6ey8B?<fz2en99$5+5NtH+Dk(d*MzgJ6h1DqXSZHfz$C;k!PU)MoNyICvgBEAui1H_;#`Ej zx$3$SF{;1hW=A*`V}heN1Z5gh`;LtEpqAc0l0iJrrBVnCAr9YqEJQ2Z@oDG!pIVQ`>vd+0UttV*}hKr z;my2lgv_T@5JC!Vyy+cbmp};xV|Koeoc?o0WoBM+mHc=mW~I*^vaF^&Ms zTL0(7wLHh(?{lYC(WS7}-_rZ-qQSBO{OLjtRx(1&>Jlr!Qj8NpoMo#UV9>|&c^@_K z+Hnj9>|4TyQIhz=zW+v6O=Uo-5&5~E|GDRWaicM)l~XO7cIvHXq_Jo#8eSMAt_y)J z9tU{~U8gm(H0G|?<+rqA9r_#{nPl=1j1`5^yDW5yKqQxt7MaX=R~Ln)S7=c z_9!azJqWj?*>O~ly0!CC`ccac|A7%9Y~{sz>8Dd(Vpw~J-`lGpdVd0pq#u71wkS~; zf~P#?&@3{>t4quaue|i(7MTGE`!=fd+ubXnMC1%1QX}RPg{948v&FTWWFuD30`ZIR zniGsHnK!HFqi467p8>tkleav&T18!f^ZkEZop(5u{~z%0vy7vR z?7gz0NaWZ@+3Oq>l3B?rnb{ml_Q)pVRD`l4dxwybP4*_)dp@`7`#itv`NMU&aJldE z8SnXezuyz-f=T7F>%L?c1i{IGuo-tC%z53eh5OBuODx-XLVwA%svDlaZA?hO2^MFs z9$>hQP#1;xsp+;)0=mf0!otHxe4>X5r1x5rf8E)WrYtri9er4yPd2^xRbJ!~DSuws z1J@rR#*eyZWzP;U`o)&7I|BA_i#9ohuj>CyUnKaEX_H5JZ{mrp5@7yitzdxX?~?ZB zqN(xebiw6{QqH=wBq`ZdZHYgB-1CaLqbW1YFT9}Ip>T;^wSimrUg}v_OUSdIdtXEh z^>97BkNnuVbh5#o!ChAjxe;i-0D&RZdB4^hI0eny6NtA#zA2vC^i@;lM;6)=;K{3y zC15c5a|q(8=}2)!c2f=Cn;G^((48PgL3^!Y@f|(=w_)>mqlOc3&e!zxbR`s0#HAMZ z(y>drbWNP{>j?NwBe=Z`;o|cNDz%p2F8?e5zx=@u+%;9T)k#u1+H+9QV*M%iam$l} zdV(pC(J?Or`AZ%zV+J%*y#z|;G1S-qBAfed1)gzkm(IXCEHZEa+QSJQcW`(Oed=y; zrvLfCuBqt|!PTQk7v)og#T_O#zd@AGOIIDhO1n;mHZ zP`|QpKAX%A?2)71np8UUAf%v?RPrSyM(Vnu*G|8V@MACXycP?o8TzTB_G=_Q`;Dv( z8e(I8*U5^f9SepZzwtk3XQ!gnt|i8mTX$=on?!g2Gl>!m5gh1^D~t9yAMO|(*gRL? zz4i4fpTC|KV}_GM-;|oS_cV7?UB(R81|mV>siw1nLBLw6w`je-w|uNsU#Q4ZT}&{) ztN9U?T9I#vlkvuoDnntP*n`mUW+{vQw=;e1nU1PjE9-r5EcYIV-r7Iu5C?69V2$@G z28Vk`So)^c!0~<#Wgz})A?M*Iegd!Do$xtBub+V&NOEyzt;u0eJVB4inES8XT_YS% zsGflp*L^}q>814O3&73@6Q2Al_!l*OzpN-FRzZxkKpaC+(u|1A?O$M3OwC^VtV3)^?sb87QPTg`}24=z~^PZ89 zcA=uZ1Z=?ppeAEZ8(s>u+mLt1;53<{J@==$Q|EzunQIgL_if9~Az0S!JS(cXaYKnIQS)CR;Cxjgo7M&&5m^A8aiIfOoN@m>s{HvgVmdbWM1HwrUcwdx-JgjDAb{ zv2#b#Z(t%D2cv>6i*L_5%XHylY&Ai3*uQogh&i8DGL`eWQ<&Chylk)R;nmtqjalPa zV6I0^@M31FyY=-8qSsQ7Mi*Xz(*{_l&L`NId)B521st<{ldIbMs8`*__7O%^Ycap~ z&2}&0!(jP>9a;87?WW3xOog2~^PM@bO_zYGnT!Mn9CW{9>X^l2g@OefDaN3lwHDS@ zvb2XJm0OKISc^TZ5tc1(zt4;hjsIw$bJChmJ7|+bWxoxMwDU-OzttjpYJdGIo5Y?| z@uS>xV(PbxpO`mo#M@)5VK=7V(iBjYR)i51_zvWg3%`2h@zQl{53<^ z2J0IT;A7+hv!`C_eB3yYR(oks{m1Bbr>5I0ePr$qe?FgE&=7;6Cq!N)JkfS|+8Muh?j2{5b;9(2x zAQiaGlqS|=FTEh%MSKp|hiuEhDcvq!%yPSR-K}RL*{*@OiSip&A`jaUIAOA`Cnj6P zclaGz4A*eTvKbjLBpukrQqaeky=#{{X^FRIo!)wW^t<$Dmj>Wp<64o{CA`NKegYzz zW(%7K?jXST#5NvOmG9^R9Ls2@4A(sr@;t!*bpjuR>~W&=#E=2Ktb1C}HL(fL&tsS@ zH;B{xjc}V6&DAjAw!QtTRp=TiazM#|S3CJNP4N7liMFiUh;Z|?Oy@}go40pW*V2y& z?_zNlRN4{8!`VHJ)upO{7k)Ddl3R1eGP!w>ElvX|SXXg0y3Htv~H0BYk^3kyzDI9sldf z1nc2;^IGK7FT>4F===<|_*cCc+3FupgLW&|YAWSKcB7h4Qg+r&p-13Ex?g#f4Dtti zwP#OTCX1&k@^3c{Zzi&SaR#l#pW#+D|789Xo>r8*S(sV^WUOVw=a|AZKMk#JX8+mFj-=dm`tfTzA3E;_ZY+y z@1~|{^cj)nro0q}h7vv3I$aBnqPa@ z+q_}9*QQs~1APL=R8vGgVoDv=jfQ?!@GS(8X=+UOJy*d|o@@6ClDg<1j;ptgAHM8j zPt$?+d#?Th{LwctJH7iCeh8+CuM&<{mRSgqu2CfHDdL%2eYbvr3hZ}e6(joIv+A7- z!BDzUD}vB^ulgZ0)^EG+vCK?5(`B}^?MzweCuLKwXhIj92im=2x@6GxzOVwwnEq!N z18{v0waOSuLd3SiD(AkMfqpV_&gOF@U|2^#L+ZZ=9Zg^Pl%ri|v8ps0Ql{rH!Clu? zXxWlBvEM9K@nOmu%3EiHrrzrx9sX7bkRMu{Ev6l@?Wy$WL)wRKi)>EtTO`}R$_=2h z#?gB7ye0^DK3rqg#!8^yn&4=XHa$X)gw|jMmQ@5plXS(V9V=u<;g45{O;aaGw*8xN zqW z;qDN&zh}c-GxtNJ)(<5D48UR=(b{Dd(VY5_^fOZ=sw;@vaPz=*`Pv{J&MW3pJ+dDq z^(XS9E!`o0BpYS$_RsnJNKJPQcdL!=C}qNWn6gFcq6Rhu$AQ_JmSSg9lJ=Vbr*J

    7f>gMIftjzGO1&#*D*-dO{j*IRipLYlrVCFgv#CL z3pD@b<2*nmQNkW?7Xt!shS?^p4L|EM<4j6ON@x=5wkk+wM2QKb7h~`a@WHbvvL2Gr z3Npq?$v@An>@nfqcobr$W33=4@4J)74K%Ds<1B<6sI7;xiYXrAypIWwhosEohBN&P zBPBq=(VPLp7?A|E&zVZHQuT_N5v5CnRq_p6b%NE}|Cdkt|8FD8CIzlan6OqAbIi-a zumtU8USshAzHReKHNI5k-K0kdLW~G%zA9{phfQ>yc5bO>eF&rwQxFV8^w;K^w8p$E zywetOpIyvxK@l(EQYx{|nQU_Q!Ky5j(pigA5I0=XoP%74l|?t_t-=r+C(_Xx!|oO8~x6 zyGt7=M+1e%LmPZwZ4)IDtKrIcy7#fp_#Oc{jAw7=5C6X;pTMgm3lI+nlCt6IR^BYX z7$WxcF1q|MG&pQS)Qz>)F*eERp?r;e-Kt5F!Jc0GNy@2~u|0|`STvqDf6v6URK#c@ zI-@*0hgKK;04&|CYDu4ZWG4%P@*uU>5)=USxPu9ULV2tmZ6rm1NS-Eo0g2^q*|9Jc z`?ni17S2Uthd^obf)tdz1!LiE0(+K(Gbb6F_M- zJNB)^hkoG)!oAUeC74O7(uC<5^3fr z2*LEfmvF+PcHLErM6fbqITwW)`E z!(dp0?(~BkQ0ph7c@~n_zd_R7Tra}=g}O_59t0+bV6E-zB0iXhd5gwo5{v$Z{p<<6F+)3_56kg75Vku;_E=YnQFG zRz{3s2O;&k4)|a``9l`tH+gw*M6k)zkm`TcCmh!4` zGQSXgmUE|Vi*5AyJ*F94zY9XPa0^e+Jc@M=^eFI_SuhC^C6ealZj_&?d-s@% zhZ(7@u)Ah?`W{Ec_i|Jl3|m@S+Pa}{;`;Y{pXv538yg#*_79iefY2oRmk)HWFU)|V zE=S|(dmLVSmStHoXhT(NDN`66-`K}bAg>1!F@0I0i*4P^a+ z+SdcBG?LFp4$_ulc1tUO19{|utwwu$MLjnewAs@jUh>L<9CRNBAPQD%APCDnij5#Q z+`Rx}jH9;0JIrhmAeTZ&$!%9cMMy0Fk9FJscSVEMumCkLPi5VHRlDWHmX$FYg7CF- z^OKlR!BLD;P#S*x4zHkh`Zyx@ebjEaf7qmSF{SV1%#|FjvPyO&kbUC57011r)s*v(q^ zY%{U>&c7wtfXDhFAdlrm%}2ha9Rh%*DHFPjM#^v0`k+VwJO~X-%lD_UIXK~}m{k)& za#$hL3`7O}G)%s`nug3rjbJ0*WT++~M^(XCA#eRm%PkpNBrin?eQxPDR|{2`3R>bq z#EDRV3Bg|LIScY5p*}QQdWc-Lbqd(4Xpf@st)z8Xnc*+=u$}>j6pYG$SxX*8tY7n0 zvhM}{K!URI)OM?4yRYWrK|qlJx6FL^q7HsS^?`hcKlEdx$IBYc78(}QbX$BmYtSd< z%j9DCa8xz!OY(D*bjv+A(joDZXQVH+kES|1Qw?)aQeodt`KAS#5Fa6e9M0eP2jsEU zsxcj|T~r?s$*G{WPp&Vbc2)2bQezPA3QH==s6k6UTZYho4I|#*JbV9!4e5LUQYe21 z(U7+^*a`a*ZVl3(!Q(YVQSrImgiQW^7e38BX%R;(nJuxby0|2B<7s~3ZI31>T=gOQ zhStdI#4B1c20^zUY4K#U_tQ>N#2l!!$E^wFkA-`tKo%P2TSFBL(y^pk3pkc zp4ee1aw@bqlQt`AaLLO##Wq3dZ?pSfA3LGjq_80u+Hcw|Q8n(YRchE(K2ln(hy8Vf zCC1x710*m}3+`)VK0oon^d(EeuMp&M%xp-HYUJtH+Oyp$`Kk9q)BEw7eW$o3K4eJTrI!)8T)@WDdO>AEp{) zgk{}hJ8owbIDTaBW8Hh~8!A94@f?)U}7s7$5JzxNX?ly89Is<4v5fZWqLEtB>J zH@9cU*skb)VaR{+4M~QeC31!z<&#RRZ_}f?yTLUjMpA;7cHA*6?rjaDv)Z_OQYbXI z=~KJo5)9eX^DA%vN=}hB>d<8#{cXdN|x0eWE07^PT~}oBk9qa)I}6eJE%3E z{+>;K*eSVn_ifcWaF$5T^X$?|+#nu{iScYSwq2STW5;WKgbA5pq2R;vR;5^Om&9sT=x`jpCA||h!cP!400I3y3e z%8J}AEqQhyAIz1aS-Ia*i5?Cm09OU)J(B=88ohA28l)JHSPj)-U!yt8BLs`5=a)$H*MS)dW8!~}1b+xrhT#Z-(8>G`^i?O!McKnpR<6<~rMFu`p9g zSN2qDF!YY$@r}x`#JsntYgVQrfAO>R0iRjV&9_R0(dWNNY$MV)2R_)a=xcXG#muQJ zek6%g^jNgqScU&0iF_T2pI~#{t9a|*50g{K57{+%jk?OBIwJY<(Wp774M$lq{^4L4 z*=XB_!nvE76#e{#iifxxF^hV-MBK*-{w=zOtkzE|Y7Jx6e2w4O^Z6fm2^ggTjX9Nk z-{&t^_>3py2I;S5FGcvgkb(1^Cd%B%Lqbv(4pcTG9w@7JoP4a_#|cL~yvowd{Tz?K zS;~Q&=&KFlg8u78XRwTK2U@E9Re~N!2tAJy(VokuDO@$Fmm8$bh91!Tc6E!cBlGD> z$|+;X6Lh?IYUpQ)&@PF6>Q*<(Og-DFZ3|NHkM@lGY>7}q0^||PPKE+dPaYsH@)Z%D z>FLRQByDd=XYI+Nj_#u%09MXl;U89Rpb-C3;PnFy`V&|~y3qXtPEIWzatm*VmpCe= zh8`STZLeDNn;BotJfK%mnV1rEZGsG>;#}et)$JK@$_NNmsw#OK-V67P%gKFvGov!M z6qrQEuNfx;l*Ad7@BdNp=fMYm5_wwQ3XthjFMOXmAcMJA*F8uuz>cLnQDY6>-#g{O zJlacQO@ibPo2NDx9pw3F}Yv{y;X0sou&6%1?xs@S6*2 zb6lS%^%+Z42O6fP-| z3+RgtGML+Eg@$5Ma~}{csz~20riP7@LUK9HR|{J{ubLjh_76s5#{p_=ykS;L5hvDX ztQP+6xjLX7vgAha<_Ga(+qpkRH&Hi}&tGmfY){}8v+$yDlB7`H@ASEOAr6*VTdxt! zC#~77qG37mrVM3q#+CJ5q&NMktaTo>=D$EtjoRc}z%btyD_7YAZ%>I-xf8o{)?cq7$5!q*UfPg8^-S3$vg}~hB)!-X;&_1@y%OATSK+jvEVL_ilv~VZ}LcLPWZ~w zRB0UDBxYJ)s?6TH_s}^-kR0lsUcEd0s?ySn-NX@=JWfM@q8kJMbyYXgH7iWX;`_x~ z0+ZPuVt$EMN3N*{e1aR+QSns$(>56F<0zVVK({3>;RVAO#sWT{bJgw0szxD(9kpu) zeTL#uv^Ynj?+CnsrVHXw`VBOp!)cs20BM|N!M0Hd|rp;x|EyIQWDCkA>Y1w zBK1CwjH6F?3|{zDQNc!?;Hj~#c7n=}cg_XCtsm!sbtLOrBS9#I;XeqBXpD3Zy~Og@ z|8T6!aCUei_McgR?nqz{A}>@T;;hT{?`qiorUt;y-!+qZ!|-;!YbO z_-sh?nkX{+ksz8YL!?BS@mq$;HkCRWxKA7cPC#s2F}XP5TPr5PJ0?{JHE)0OV)UnD zD`vpcyeoYhH|frR+sr3ZPwu=?s0P&Oqmv%YxZg!=hqr~ACQ@-xM*QliSN`SVhfuwb zDE-_46ij|@BuxI(J5Cv0IWD|#`|*Cmazob;)|iug zAQ6l(|B%!fqsYW7lY=mx$@IXEIda#w1&lAh5Jg#9)shjqb$*^a5C}Tf$fUU$jDzi+DglWUvcC&1O8{+Q6_GIy zUmVUlJC?Q1S@JfD{64R|Wohdbs~Oh&o5jhwn71vsZ=F_11PsKWdq#umAj zV7;|bs(VoejY|)@S>xcekYd+MAZ^kWLvB{up)AA5r~91fc0Qe?5*J$~KZ~1)yL=iZ znW;~?Q&V#_@1nyTCvujpMSnv6tg#AWY_PhWt3E6tQUpvi<0tIqVpC^IusBl$i z{i0rW{gaRBg}_mRYHyqzy$BM7j^DY}d;>Cd;A7N!dVIOy81c%st=M@?t;ImL?TT*o zP{`ztYaows8sp(jjVTC#^cCPZzr%DAXIbS7Huv<Q$(`6*}(>i5o7O<%c3eJZwv05-kK5k9|9%he>s@0PLD6aQh032(j8fBu@jz zf7^0jUW&fErBXV+%*`Y-OHU-1%+k z{Ji3p{-`3w$Vl~Zu71g=uY=W@o-(c$_Q_fPT=Z5X;4@zk8-JI}MVL~BOC;&?#jU^Y zr|nPNhVwW5>7JX$Ba^BrXyj1-UT6$i+;T>57%CoqW5qr%aFUaP3 zX;s?DI0wb^b$h2T{@Q5I{eSNvVEsw$>`|rIQnEA?KZ?6YtI03x@cj__O4O1f?lcNq&Y$Y&XwAHFoyA;T9L4;gPxbT{j)mFG zV?0L{vv@OTD>4HCW$# zQ|q2pugsk^e?NkR=d6pjC-70h3mq2cJXYvt?>NfTlwu#f{j)~l`}=W$-wz<<)tTgg zL}HsNn$+|KO~TWu6qY$6$x2|b)+)d_S!pBYqh;=M>F`PA(Q$1M)LF_Ni5=F!=Cnnq z#EXQ@^N!K$C8fpFD86@ZS+$jk*(=pWi;WYL?kr)i>R7Ys#!$ zVkT!E$So)^jhyXG4!bvdL!z_X*A`yyYk6~jRB5GDd-^)FYDOWeFXLCOj*`UrFLt~Z zJn_N?0>uX=GK@Diea4p;-@M#*6*uNe0Mvv2&~tO;m~9ceh5G~f!_is?Y|V>tC(^C8 zvo~+H>BauMiTd4AsXrBqfu{%t-gfq1;89Bvrt%l_YAQ*K8WvPf6}qz^bxI=KaL#sY zY^#2_JxI;&QZE|B^y45aAX=DRUGd?21Ft`~HY<;5&YL!4%APOGc+GUI@(3#+wBmSI zCjTG4-a0JGcY7Cyp+Teu5Rk4xkW#vaZWy{j8c9LAQIM`71%x3Lq`N^nq)WP6TDpF( zXaCN3?{l5~Ie)=5T*EcU=uY29=?ZnAOZ`SG+@Pa;~n8${u)bE;S;bCk3>U_@b z4fL{<-+BLK+Bsn!^eu_#;X({%Vk~uNVO>;hE1?dZQ(F`H6~tZ_NSs(2zox&nd`Vvc z4WD4hCMQxZ-3ep&*y1;Z=gFk8!E(x5Q6r>HHnxapE^4AL$2nY0aT#F%RWN?o;ZFtW z8Kl56XY~HCircsnX-DAnc_NTI=GGB&g#7miKSvsr42Dc>4R>y(7=7Hom?xSbVe6XW zXo*Ns5uioqeg6Q8YTS5X-!L9g|FGg`7nC9DBwE{er%(Kp^?Wx(r}a)>4DP!ToI6^P zhkCo{iZQ_Yo%8(MUzY*&|op~d5T5r&`8VuQB8~ZOgS`;=11V3V| zMVGZoe}xkYAJ2E5-2c?8_q&^acDWQP*!o?z_bIja+d0 z!gxp`uiBy-|I4pOs!`=m6o?Y7zQ#?;zSN4sx@=@P$$1*Tzg7B;M30Eio+<&SdHK($ zN&NRT*O%^*QbZn2n!Wd)-3ePit-anpufLDG=j>pV8u(uHZmwRoe5yRDeCE^s^xD-N zsmc16qt;F=1BV!U{5Rs#j55ZqXb*tY>a)48b=ZlIz_J!9kwdvB`!lkaVh_ug>+4ws zE1Md!y&%g=9-ZD0pL+%B0H@PS{^RL@b-0LocjS(k9+PZ}hjsm6b!LONN@SNgOd4`eQd54geMV?~!!;ohlKTUQ0paCL1C1tU_ z5iLHZK$*6Csg5mnv3Pm1#*#~_h>*j;mi4UpUPr-E5Qy0Yl5PnMe@cxguh4TJWDO|W z_W3S(f(vQ2=t7O6UbUpf+ZCyJNZ9z5EHh^2<;BJb(`@al^re>1H0-C*xc*bHTSSz? zz(oreF1HC<^U=72lqLh*2F_Hu&$^{y&0OVR2-+XV74`ofumVx{7)I4W(xOE3`#0%h zWd?kP4a=F{rT0$Fl$45!@3sjr_|jVQV4@Ev%r7mobkxElvwR3VsJ$?!pO2cLDKJI7 zJE{on?)BNN8gah!!&{wNj-5Wyg+m)|!%!-gPCu?YxHp`77gycU7?#UE@N)@_1l8S9 zP-nQ=Hah?X>$J$@xGtjjd?vEO>e2s~b*I~!1G~?IW${=Yo+H0&KucKxH2$_VQxMlg z<@2Y{IHYSsPE4zXs!VGWRgXY6w4(#!V+fjNTtQQS@016IESR0p+IB8)OMT*qj@1es zAT_X4r^|ZbqiP}}b2GhIs}7>hT4+=wbXZ4IWMZ$oB<$uXPme7$KayCWG4{)i?pXnUENCYJ~p~_=imM&px#)g_U~HaTMX}w5yQrL!K#G-q>aa(jW_8u55?Cl zMvspZ8hW%Zc`*lEpOw9vlZ-XHqgIJIDjN>b-FG4dEPbfWIBJPf=*`r_{hGrD##f;v z@cOBrGI$CM3GlkY625ASEuVI|AFGkXP+s>HwbX9`ZMJ0vgukNlZl3-N->2PGZpAQ+ z(g0zZy1hERH&5pFGgJ+0O*+&y`HEhE(iFrM?XlYc?myXYGTq;&tJ8YSedu-Tx4^c@beP*%_NgX>1z%F^vA#lyPGg5SoE3h1@-78_;AX2{PkPD<^7Vpy=p zFh5$>Beyi#fMwe(u25Ocr_8d-M)F+tM#50XW>J*|_wUU-zONhv-J33~05@gxXXlq1 zb-IpmP&E6UH5__9-~Eiog42<|Yn;i2wXEoqukoJZ$^^)A`UBdpjkWLZ`kmZ6OC53f zTJO-=eNHTiA+29GuM=WA0}mJfc;YqRBD4Ela`KYNddiwQPaDeZN`0zabGCPGhoPh1${8H^DY0CfBbdh)8-!UsF?;-Yr#ACP0{ zE!`*~C|@w8lQ+dA@}-V3R=}cPiZHZy$(h4HLkKVS%e&WkD4Rb+sXBRC@jA<UkwC_STslb7SNQfzP*_SH7hBfLmk>eqdx0%x z0u_cc?De+GB4aJ)7z+?mY39+3QUIN&+H|2fOQ`w)6O*nIs0X7y4xOqsovFf{rXQm9BDq3cKf zNSjkrZrEV?Df@RnHh)>3YrVUPna?qqVIT5FR!6+Xq4sc;{oC_s+w96KUsNPY;UvH? z^#Zd>73z^^S?tk$KC{FE*QwDAcP7Q<$p+6l!<~&p;IYi@FV7+SU{iFvG3s{>7FeAy<8ks!Kx01em)*z zc<$cY;(46fS)RtKep$bCwP*0$=Tf)X>n8l$w_(%$!LlEp2Jw1^O2rtW&nL3{e{gv$ zhVJ5!>@9{mREzfb9TPZ;{0;=1^sihYrjfMh%hpG=I2 ze>M*&xU#YL9Mvs?FdUn+9UnuT@zxtg+Ip@gRHf8-BjqQoS4QU#e|;c;`C^}V^ zkpqTLTLj&^csoPQeq&G%V)GnMP+?sW7`IL^0Jq9kYL5`|LS;O+ z#X=|xss{7-)hUu%nu!N;+v!R;CU~X^U@_h{#>09)c6YYYEtjmFLU7#?eLJO6^}kL@ zfGH_16CPR5DP~wPH6x?9tt)~vXq;+UrJ3o!H}Gt-Q1vAcY)?NMJ}bi1ojgbpct2WY zE(<38j5y|Fi8rZHb;`KiH+tPqAVUkR@&Jn+_L{eNo;vSLM94$pZS?z_`yv+sr7y2Y{hHhzG_xWNzcN_dxE~ObYJ4q|_SP)e zIcdxje75(Mt~Vjxic%qh6vLy$fd!Tp5-U_k4>|`l;&|nmReV9xhgD)NYoFYcXvBF( z2kLPUxyLKfc2u`)1r1EtK?N!it%#utq_#d9pGHP-)^zGB3 zYG~m;|J$JPw)FGJ<7Cx9P)HdjAtwmnBSyq%F3Yz7sm!AXyxSp$Caw{W16DjF6=S*H zrj(f1b}=F@7zB!E1Q7RHU<6>J^%Gh|6+iFe_gW}cC#1H~ExGUeyYN$mjdTW>;ibIr z(9c+GqQIL+OaL^B1bX~icJTjRg8-2U8xA!fgrta`fzaKLKHbaO!M$o1_D}!tCElo^y0`A38`dlv zKbx-O6Mu<AbGsr^ zu)zt;X(Z0`{KV$#4Z-O`4cgte43THJ{#pF@tI|;>l0$@E9Gq|glR|C}4rO(MXCBX6 zJ_ujOGYgORzMHqS#Y_~ISJy!33N!C2ok+-_{w)N4Ts}?t2PkduNzjbgBcV?7751UX z#j)Vva0(gzV0(xH!TmH)?>5B>Kl|u?p^ILcnj!}}CxYk%xtJLjcMLU;qeiIeeuGq8 zVR6SNN7OTfQ{-+^D!#}kR2_{_Pdcf9RG4`wr`EehKEohjB^fS{Ak^Z$sbN(0z4T_& z-)IIHt&NTZDWBv!AkGS1Z}RTK9f$x5JhQ@h2fazh20+qbG}%jF5N!e6VU=Q~2tWkL z`R`!}pqMDp0P|@Rilsd$z0U{mrf{yqZG&nSAE%o zLA3N^(WxaAXyK6S`IomQW`<9T9NY~k{C4d=ulIj!DZfD=D^b+2J5sga;=_Vm&Ylrt z2g#^(3D=JqY{@A_TphwkQ+_i0F~b=MvIz$X%Cr_BrGjV?`f&_FInJa>EH2NPdGmdw zCzz!j9V){M30aHkj$UcG0n|ruF+je3$;py5Gx1f%g%K;MvB&kg8VfLxAP+R)c>nwJ zg+)TOw21w0k8aODHrV0Kkupk4=S{|7{w({}bvUyWoGarP=EtW`E$!<+KUOuU`1S=d zOMI61nN7-0dAPbd{*kOjcWyPeo)n!z2Lo~rEtr^$*L#qVnR|^jp8cfJ*QHA_Det1o zH8O=S9t%uN|3XgU-gqM>h1nR<^)|8SD{nN$yZm0~&uj1M^y!=JS5J6rWISi-!;j08 zm^V*(s4qc`dNz%aOhEXGL+w!ZpS}eqDnkfeZu7AJhWy?3`pCOQ|F$3BOj&c}tZr_p zOW1=$TyUeAXxuQh8lE3|I)F-juX*kqW+=-C^}l}?UVT4j6SYuINfd_~fentQ3Stzj zERx(95utF~Y?7;%S|Y8BT*6#Cyp%$GyDB#ZXW7W#NN?z(PsBcqt0Y}L9pjy~&`c4k z6V1@UbP^y7SO5ld+;eWw6i$oT8=iub`|8#&2|1$wyW^Y_3EJDUy+=Cf{aoezQv`3N zSKvMVr~b)gcRa)wBZTiUYj_SYM;Le((1IhFoJ^BGRC$~CMP#Hoqk!lb=ugJ=K{zI8 zRk+iNI9cGBL>wZ`Gvz=(Err3!zyv)D&NwZbrBbysJeNY4(%ocsql>7IH`z7cpK*&l z=7s=rgKK}nvnZ`(XNJ97@I3;GOr)PU{`N971=vkI_uT^`|J3P77DblNmLm_TyO0e$ z&AS)*+MKgRa7+nF=I6qo!DaA&l7fw0gLGkSW{fWdOj!u5se2eGt_Uhw+$H-RZO9eH zEyZp}#1=B15C+MYGW(TQXQ&y(zX%!uls||Y1k8Do(|;l*yfrKoTd&zz@+&i$c|Jwl z-{}tkgRpUz{O!K?YK?cpLq1FmeE&$yV50?{qIAP$R!jWwUPHA>ll2oalgafCMq8=JHsO_S91FYI9eA#OW+3JQ5^JE&DfD$ooWpga28KgK;=-_f*w$NXKaeWN)a#j7nzI=#kc}HLS3dLbzF$;l zuKmWKrY;-a{Dr|dVR@!(kRu6{Z)q|qO#Y7_`(H@%>y$vO!~|d{f}T5XCI*8D6y zV1y=&4Un;6Uc)U$$*+Zu54@4YnWSNN=P?7^hjv_9UZbX>7FM38A^3vcl{*JQ>L zd&7q2HkHqy8S6Ek3z zPcILuhGU-l0|L|EnflrJPv|=EdbI(l%6g>d&+Y`Ri14)Hkbwasjrn@s`>(25qC4aH zia(4$0nKupYU?hyG*1G$83JZ?Ul2o0wkXr>H_VC|`*AP$i=@khYFCVapViQcac|`x z78dp?(fy|_Y_(w)VtQYH5sG+BCFIgQev)r<`18)VW~cT-%;I~EX4ii%#`-JOki6MRI+RnJzp;Uj=(IFaWLp3>J@JWmmX3ktyu!ChFW zil2WalfO`lH@gg{fw8PbDlS|KMzE4lI67IIaqDk6dXbcgx&mB1jjBpI9Tx$MdP=r9 zEgG|09*X6jGILrbCyE(MBEaFIbzbVaXP00I$kSZiEOoP@K<>0FF%+2HDjH>S@<&t5D*SGiWDF0zFtn+!3|Ca880LT4VyOkoxk-1=8ST`@&%<%zSRfz9Q(D#xzht3`;wy zua%yVTsqiJ107o07KVm@Vqyl>LTMt3;?hshI~uZ(8U#vp8(tP?*u4gkSt#7l>@>1h zE>6p98InHD5_rF5BPcGa8QVmKZS7?!k3$&85Ybm@+~WOq{2R;>*fZ{4mDp!c)Y+)? zJH1iX^V%b2nd!WRqAdw%?W>)Q0}2P>)^Q9li+$(}O$P(ER9+Zocy*kyk7@_Lc-$10 zVaIC&%?17-x>udmZ$zn@lBC`Ml)%l+KDYmPvj4}^tVRPREgOG)w`2{~TqH>zdRnve~ zR21Ptu+s@9M~0LMlJFL}o}j;=zlCLD3X>Y$#s^?ol~ShEbQWBk~xS7m^ct{x#;ms(ADOLVKLCQrKIOxA7EA^Pk~nWZ3Hw1WUyBx!vSY85RWNN zL*Jb7+8GR75SH?k6C=R_#h&-Gnw-kH8~C)WYYabWFeA!o5+n;GcXNbbW^dIc5pu!Z z9Q;5xad6Ge+0m(C`RE8elF{;%BqTgGzMnz*%sXt7%QtQ;t5>9l@cM(7*gM+)p1MIn zku6qr%`b_z)ISsUmwOOxf03I+J3y+newxr+?hlf zvEZA7jsNn=7`NyC%R-Of6yZZcx*W+a>M%B}>Scy_`Yny$kR?7;?nu@KzH5D@@T-WZ zYjm-J!Pc>(Kf--r+7w(^<`B)!6y+j1Tc{G?85d48=sJyj$Ai@AgXkuj4WC*SVkctm zH1sz>fXG6h$?o`1Cj$j3hC(-I9;NsL*2V<{MjEBCz{A}~I9$dgMe!tz3@xn~qjZdv}@ z0Arse@O7R@4%LDC*E%q#7`s!`3ng{~H%Bc;kv0Y*2!jawa~3rA4pdt}md*g73pG-Y zl(k$n8Z|+vWYWKa5K_5joSq>YRN1v0A^cC1Ku~imIaA;6-bW0nhMvQYgE{V?9CnDo zIrXSnNWLd)HQq!DU4-S^N3bH++eI2gr62C*XxZNSGy<1#&y5=%Po|_kinm~S)~6k zz2N|do>!B??k9fnHn_7lzC~5gzCrmA!}{7`n`F+;Sxl*{v~+sJJTfxUt^`q8sV>Vg zb*_u^vQ91ZuR_c5&sQTWzpF+ZCogavTxTs)Ouv3{@7ViZwlrGcuy)ezH*9d5V~Yiz zu~yH5hRgc)cUUBnf^ZGPo`rXZ8@TExds?p^oz3qRcq0+9NE2vg1dD5FN!7N2E_$6xQSJxCh7Zrm~*L}MX3Z{{ZiD=$wP~{gfa;j=5&9? zn;*6{S$I5ay}0adtCI{;H#Uy>{K{Iw|1yB4<{~n&*Q6Fp&KZ6eSprP`?95g%SL#JJ z67MMwlv@2v4GO^_m1w;P*aGi)H?aSW+&0RfQ)*`Q3tfHv2r3b8gk)$3B*%WpZmZ(o z=`o^(@Y~&re*DYdK$Or<094| zGZAKOsjQNxK{;lc=+Hnmm(NdLRMNWmHRZa7Y{DiBQPteg1UHKCKTX}RYFuwH?aCWn z1X(UPuT4fReI3r^0nov0I8Zl6Wa9gQsjX4!b_gr0WSjpzjY|fg#`r&6v7lOM#9CDqzLv6+ zLFATgx-`PG-M{Z*u1K%f=5RRj*0j;ry#bJzF$YqN7c3jvYHC50?!Uyv27M13w$qyO ztd2MyqZzWC&kq-UDq`IhoO@Rbzh-vuE&CD$Y)J)G{(44g7urn%d7=7~D@;Y6v=_Lx z85CnY*N((Z9EEuDvB&Urt!)X^S#?bkwA9EKuH?d)Mi_s@wZapB>d+>z%Hk)}hq?6i zaVR2wy*z|E%M)-&Z6FUOyp}*nefFIHgc_0gs)(ymaU(*tq|bcq-CQ{|9m&^HKB%DdxYUay1u-IO`ruZ7Pbl)|S0a0Cg@08o%$io1gOTYBh8{&8~Dz zvuDv`Ir{yu0EVjA{cCMQXX$(KMGB{80u$d8v_{w64<)s8*z=A}B{|+eL_F!EkA0J3 zC0LS^KqR6^hyGmvwR5?m{q6u z=YiW&-a~E&%=ZC0Skr7ushr3t=ubv_H$!Lc4iZ#Fe*lVLAr0@h&62dV$IeOjf&;sg ztcJXz`K*?EaKNm7bz=qvs>OGm3Y&f)Y43$~)QH>F4kZX9lNr1HKyviM>3S{FmtG=W zPL$7d!JpZRHfuCU5WSvn3p*EWgep8k&Sc&dSN%E5BIi@x-)4kd{)l(6KKNar-g`~QFCU$4(SMFx}w z&J1fN73Pbe@go+pu~a487QcU0ypX$C^f0-*KMI(k_9rgAk9eZGXhZsTCHWxfg6uGSg4MGwBGsKgBzjrC?o6jrwMpl=6ueJ3TCeD) z^{gouTn1mFU4L{4VTVmx_K8Wk=yEkJF_5hlDHy6Xr_XK{m;o$$W%Fan771cT+Dg-! zPnL3)~bvE#v6ezmW@ zN}`E44XSsw#jn(~E5)oFoIIFh^FB;9+#)XibvPhyB>Or%$GE+~3}6Mglqvm$oBv{? zh-ZeTV)0bu_%XjA0UdCKSL#WLlblr|E8P5%`1-?-z?EG>y7c+1A!9`6^AF|N1Vscg z0;uA_N<02jJRRSG^&?-j-`WJHxTl5npZuUm5w7S`m?wp_-JM20td4)zDUiW6Nf$~M%A|z_7F!LI{sI4uR#u)6Nhron#NZLk# z_BY)BU8I)Gq%1)rhdheuEMYSiar9akt>6(=wFO{h3V6^Kf8SHezYJP4r*lhwUhM zQI`qSf+Q#Oy~*)LbeasN>rTLKbb^cJfPlN}kpT9v8GUbp5M~%KsFto0ffm6Lereul zf1!=Et(rk>ql@U{k=5UzqKV53FHn_2Y)E~kq4?BiOW;TFBL9*BB4O!F!pM3d`!?$^ zETUUXla5H6&Ok4G4T73ud(TLSeyXTSSYr>8j@;t0qjyfro9|+W@L;oP(E)M>f(l9{ z>Z9za5m5?omC*cqTDKo92@QyR73c#RvwUK{i2h;IQL9EIM+;l?zvi1?#{}MKCf!}L zh?#Z+3cCL@*#(`af!Toa?-Dcu7bHSbSPnwRSFN+Xd-lIQj74-(xDA5$Th+QpE`H>; zp>uOis&5q4N$%uxL@*Zvcub=g0fY?|>gxyFaKLWSE>AkwKbh2X_cc+z@D+?p~;&{Pzc&AyEy7@Ht{u>_MwG`;|{mElIN zN|4!DEdPaBzyMiV;d(VkIqzy#;s=#4k(gdNV%B z6A#Y&`zyD|dgf|tve8qL=BOGK6EpgH#4v|ymmU}&}6|~_px{@ ziX#jFvrq$int)5Vm{=$t_0n|m@cF-$H`=)s5pie{!YujUO(NbcNoguSr1%f(ygr5o zS259KJW3yIvuOmc1!2(6o9FqkNjL(AaI?yO-)euZh_9_OfyXW#v(xLpDVDt!+4gpi zQDcEJ|N8@_mROABNnp#mxu(AdPKTb;_Ls76kH(O_D#{m3nbF_W)n7qJz1$Lu`O%XS zN+m~4F>@kJ;?jA|Qa{67d$3>r^^1v;%^*#Q9 zakY~h>x!DZkQZhQXQQ+7#Zb^d1$?T2ioAR{m5%yLp`+$1_vF9Yu{Fj`k*qKa;nXM) z#Ve~PF=7u_SDxyI92%i_UO2mWwOhj5CC-%nm>gBi+5{Zj-9AX~QN-WG+N^boFkvOs zb1u0d`s`G!b)=!ZahXIrWv~fm-aSP}Itv$M811FU!3Rf49i&DNsZ#IK7|z7jgyN_@ zIClIuaIVZv_q zC~eF(M6pb-m>@c$30V;zr-)ZYDeKKLJ`VvsIKf(W9O;3NaqrXfnC*{Kz+G@6mV z-rfc!X~eNmM2)WoNbx@^YWn-VE&2NW+srhCyqu%xt4Qp-3!y%D>TvtAm$2)D8q96~ zu*xY8v`R{?);?bG-fZA3Q97Vc%ynO%N*}Qq3&>!WeMBZ{plX8#?KIpfD~S9G$qN*cJ}%RfJ0&rf?ZOY!N}Y{gnoOQ~Mr^ zE9VtA?iC5P+W*-ZdtoCr37#tv81b?*RBQmEXt+k}ol!unWyF^n(V!eq=UZ&nG`=9Z zJpf6X^pIO^%2RRqjG3LM&Mn;+tj7icpqOQ%AJ~3shU&qHM(pkeH2r5B0S^{HLu`!! z)6G65>QOzKzBloK=w9%nQujK&mbA?`Nvn|lS!wUSnas3J6MHrtLFb%~Jb=S%EpvC_ z9(PAz>@L$ZlCR{;(CuI^Pu#t#y;_Iil0C~TAfrkQ3Hc0V0Sv;f8O!r$tvn#k?;z@A z$n)2idxGwS&`ogu#|jumYcauT(32{wJI&7vKe4_&Tq8@JPRs@>#J^kWJ-Lj`qXg&L zN3+JKUx14I$-jdbBP29^z4e<7P6AP0SExUn$X7rMZ&n>QteOd(G-{`LfdAmEsp>~} zuZI>L*qnGz1wPsa|e7$Oft3>e&tl@B!-Ag-;1^T@sv+L#h4wmweBZ?~TXF z=p;6L2q5Y={yk*YHfF|z%z?4r8I^kSfmTrg}B6QROO1cCtyuhuvsoLqK@H zM96B~k+;so6C9bz3}{L}L8kwDD6m%s=n$RkZE?->1l6*^Tm&jQ-If{Fm>)kp7xNds zIp0s=%c_KB!LDB&{}p2fYRB2U^MMDTCKaC6w|m*LRj{zZ0X-!G6E-Y5_fp!O^Y#mD zaA1krri+FOQ)l{U3@?t~_Ni71UvDJbq#(Kvvfy?~4=pLh_VUJAca|zSLzT&2+~*4A zJ%Reet>r?Rc$;UpeW4J637#{Fz`=e>D*1187flW^iW+eQ6wVk`UuGowS31wD8c$VK zhK^npMq0uma$1{c=FP#}(&KM!#dI>$ALxqwn*p}5?t{6pH=_nGW$KO&hGFEq_@C$qECpkvOX%Q@g+XF7t{22!|FgY**qFSRVcCkUh~i-E-ITU zd<=JAju4;T%N_QP0IBuwV=C$WvlPiqIS=h2# zCeN?s6pa+$$4=;vcxlX7f;KIPo(py>d?08&>!Q@^b)TKtjW^%v4aC@mRCi(b2tS{1q3>+mw0H?lS4xY4>K-1Q2R407L7Xt;t;myT@?7aCfo#w=Ya5-jgdf zAn9DbLPugTZZ;mlpRwqXcw{)>m}A>LoYdQwO{jB4(9hhK*fLSi)Q*TeescA$s0Q35 z_#fYWH@Q~`kU)$&X?#`bmZ5M6_PdzHAT{x=czFHkF0uD!zijzi8?5g=i;?2v-L_cG zLJ3P9eGI=ufWFiXm|Qb!akTVI$lYE;WpV9R&R5s0 z5lF5nYUgafcMCpb`W%J>vaMy)qTI{pu>p7MW|ZGqC~mjaA3%Z@efYx1?I^fZGI=uq zY*2876RtFF3=fPGr`#V2hP$v;m~^tJ@*95E+q-1T1uwj|W@ADCG})2tL@e4CLaQ#=< zT3qJdeq9}v#49;-rGv4z{86{O{be4z+5N6=!9@{h2-dwpjkufa?+PcPJyRgP1SBxm zW5s#^ZTI-PeV`~^pZT>$_1?Mm5pXhGwv!Ow^C_L^hqom19N~~eRJAhWmOrj^YJlp_=1MPniAk9>V zL~LS=h($A+k?fB%KSRa-K&a{KPn9!JsLx~~_#4pA5PBhc?Z*b|XrRtMowxh_j51la zzxQU$!Qyf{?`3` zatv_N*ByZKul5X1iLZVNrr6O6SYt59%I5E<1^6yb^S!8m>QGUY^fxvZnYTyAJKW{e zurzV4YNW6i@$nz7Afa^f--6Y_9E(SlZGA*!6O3BtfNE5@naC+w5_5L+@f?3<6)`Iz zF}X_EYo?$z*}&b#gbJg#K{>rKM2y;1W;1(CVGaAkM+)+ZK+a>}{oSP`L=`85 z>`QV?+CNm@xWS`B*};So987=6C7iO+FtbyryI*TKv}@HeF5W+8@xAhS|24tYc3QzZ z;hBL)Q&rXSEahU$Nb9AMX$Y~!lGnC!E&bVgH>t^FrPkzcL$A%G!Rg*7LcV~_eb6J1 zyi`|wnSUFssrqMwA9a~j&w_x5j-K^nk6oS@VQ>JjisLV^=3UI+t~!l+tLDC&9ZCfk zd%Paer*I8tOoqLBMgF$bsr98L{Qw%xH~-WR-nov-R~R# z<4pw6OwC)=u*7LBG{l=^nFjVsp*6v*e58=qO8``<^(}rtKz%0Be2kw2Kk6nYyXEe5 zP>=)4*%LY(NZzBU&qn??fvh}i+-HKBu62d$Q@EAXOc!~4kN+Ww#aGG6j~9sDIEI11 zI0)3*BuDyNQcilY&+K?iepBOi+34GFur1|w->Wr?l3n+0ppx6&G+ZCI#T}ww`Q5Oc znE+%ailwbLwg(@J32&GwSZw4TfgGdSSQ3de>i4&M1$06(DZ`XRq;-7>Svw=0plUzJ zVWYzQ=g**mK$bVysegZr@?z)VA~wFa!H70}YZWS6NMU{P>8GE5Uf(J7|Dj@UNx7<; zR1Pq)Wde)6`9v;4x*%V)WumIQc2@H$&o)VOFz;d7|0hG%w#^S_ z+vWq|jxU>n8#TNm1KGJ$9ZsQ!$d;Oa?M$(L#oP6=xxmq=Qp0 zHZ+=X-@vt%$TR8B0WVosr#?HHQP>HBcb+0y0+)k4irMA?u-iTfoR@iw(S4^hNNqso zXbVeImqk4cxSd}f=x5F{bpL?)34nPou+4r2bOdABruAGvpU{A4KCK9re`x0w1=|O# z1Yy{|p?p>4e}BUQUAaPS`Php_MuYSOwDJe*IZZmcXJ8>Y5|S$3aL^f@B(mqbMYkCq zELb34JI2=YmzXOP7@PI{!(6@3a~ToOgvypZmi^9~C6OS_PlZi=cQC^c-AEzk$i7Gz z8Ml8oO5<%gw?BD}ii8Z8xIHfezF28}P6mMd>offZ`o%MTToz!$nE$jqJe1VhxS*c((S!FW4Tj*p6c@X-+6`@WXFH* z5)c7WLfg^a^G_;JdWBzHqKF~D?9*e=dS%AgvGWcjotrZ9+-(14$p6cpp`_|GJV^N? zAI9Hrly(nH4=2uL8OJXqrX)+~$Ch+CO~z-cPQ{anC^g_Ml}>>`mTf{i`Xbka3f%v<6!#R73IVP41RBue@0CI z2S5K!459Uhs~mGREI_iXqAk2GLlr4vpPS)Vc?s*T7CQ=K>L@9<`ObcJ|(7-bIB0|{c0dYmU37tDNGH)qTG7dhsk4HUwXxgLU^PLph%FYY(uQFsu59x9~gS*uYCpGm%OYO+X|l~4)M+_iDQZTHY@kx z)1sgup_C)y??F*NM)C}CkkI^U=N*M!5=gV~^iZLIp-+ryQP0QtqHqJizQ!-mAY6tW z_^p7mZa@}>`A0b?h)aIv?vc2z8%KvCUl;<74rwPYvG!C2B6klkoOW=}Q0$vuPwGB= z9$6V#qaDnNru6rRO%muWGNeQ>9NXh55@X`_i^Z475GP7q)7UTXU!g$0yk8Q${Wfu7 zG=`kmIaL>2%(wPVfuNd-ROT>-RFfqgQvNZn0-mi-5>T|@)1Z`;JXO?hm1i~D%x!Vf z&9JOvp>pt~Uweq4urRrJ?3mKyWho3-oa-2rB07kijMMWR6{9~13$gr;bOpY zzMNef>XoaNI~Km^hptxd!%_ID*1L~C$|1s*2dap8;&d_y6+*b4nk?h=5&qndL{_3@ zwQA*giIQKn{EPRYq3o|6>=#$Xh(=SBGgd>QrF&4s4{~D!6##-OkzYC+a-}!`V|mU3 zel3D2n2n@T3)40fZj}E@=1ry&4mW2X=Z~M6_JP1t)Hy6*lIS?%F70v}NN9oWo`JmC@kz*&GzKVTQ3}Y|2rMKd8{~{QN)7!E zoR?!cjg9)f5j}q!hM*$g&-%!3Y)X(JKS?*sMkyhZTj=NqK&(VU`$jNOhSuWPbig}= zS%ivshZ{#rM2?7XF+fg(nf(S}0GLDHbL1V)*w^i;$cYVYRPNLC1%P+4o*L_M_z&;W zzMzgUKu*m1!qKpY72YOa*nS$2vm*ws)MIv=Ju}F;rYi#6p@S?*SM?i0^=iISf zF#;tD^PZ8T=DMz6;fIVH`Q2W;Buru>sw7_fM2fN57)Z5A-X2V-cNGo;MZOV1G6g!k z@<`aX>W(b0KkRsF89H|pV?Rp+K`dVX?JMe|M-=0c>(L}3fny{KJ`urQZ{@K#1{}Wl-|Pav41cKzLHAwnd{Gwvr9-zv7~}#u zvqZ{2n65pX)R+?mdoUjy82%r(G90vsg{YRwDy@&TM7VbADL)G2A2h8gDQ%RAK6%Lg z%%E4Kc=8d0L<=d=SKH-Uzi>}&Gt%=1<*~4{Kf|@5%Be_^g*Goo)$K*RI8HQt=?o9v zSVZ36ZyzrhC?Bo4X~&R|yOG7Zn1qDyt3<=gVCU(dJO9N*L=#_4o89+%EW$T zUUFTE&b3QE#=c4NQP5|8$zGTIa62uNDuLGc3W}@?>)4HYH5_N;@p96SF*4Za`y`a| z5nQPUDG3Rcw}BG+zCK=SucL3rT*A;USM7sl2a{$#NB*@^C?Q`6<1T&<#X1UkLe!3z zUt!aZgivNg3VHH`TMSY{Om0jGMOBbp)fqPoln}$9_AS4=U4GQI3AV-}dueg^x3Vrm z!&UB$p-e{t55&Z;29adP7k+e7_#H%u0(PbOh(7ee32XNG)rZ%cK_8Y<`$7fsg=YXr zfWd-(%;~KiHsbCy1;~5pzlX^Pyhg%4qZWpdgCHq}F5y<~?@BGIM~}^s=XlUyNDdY^ zqaa_LS;g$&8315Svl!OJDg(1O9&qLXsjXwEMm76?p7xG9_RohMwtk&}rTpQ3l>%op z@0dB|BJ{G^Z0_01PfwHDB%fy13S?c68=WrlgtG7#=D6s{711=I#(<#xn(`%+aKfBV zN7YobFNT)C4Q(=LOlcHVc@^%?7;KrC6SCr zneVjTkg?}>bx+kCYOU4f7@WAnVQ^3bYCZ_?09#0#2=Z@>W#o(VBC>~7K4-V1DgPDj|I?YKZ;8qeLBYj-Wf&; zfy=jD4>?U@W{&Ga2?ku%)Bz_wJbt+*6PLlQYhfFQ1$u{+wt^#J)o=1}O8U|gP~0eE zQSt=Zj5W<9z2V5%;vT-7^>tjuUm1Swm$jAtxPOK~C33w$<1ZHxeRfrdB%azNa=DrOreG zbIWpOTmL>A;>+55Iyz?>N=c3iL4IQdv_Ndzhn;6bO>C8s!NPKZde2kT^=(2;@8OE< zg%5oBB`kpw+5}`Te-Abz^B(6H0zUi88~%|6lr)9y_=-f<)o#y|&4%5Abk};|BdUU+ zv{m8z$N|(_AK~^~P;rh@I~wqreaSu~t`@J`NLEjX=--i<6Kzg5D9!0GzVV3KA#1o~ zM)Sp}-A_~aL7PQr%up+z>$f{fm*eW822i3Mo=#c9i@WagMefs8pinz6_xgO5)w8~)&0E0_5eFrYAUy*aUv$qscq zdZp+~S^mu5ljCZwIMExa8@Jy%^$-Qd*?%hSYcOd1|2?y9T%>I z`yaj{|MBj_NF7kK>&df>NN*vv62Df^_~Nzo*%m2g2IB}|Woa$b@0%X4{Mbt;M8Ymd z9}1#>{b2#vd=z_=HJWVTC=i18mj+_x5ZCfS3_a*QHzVh_-oWRnAWbxEeEwKuY&|jq zhZ?Qf6OGC!^Ux=}mFh@Tw6Agj6G3SK@u!jS_AABD;PcVrOmkAMqV3!~)}!wrWv~ zVrD^|P{F8l{Qnqx%ebhbw(WaQ&>$THh%|$ANGQUP!T>Ua5+a}uB_UzZ4yBajNQp3% zh!RQ(igbsBNC+a*3epYYyYRa2=e?e9&qwp8d#}CLc^>EgIF@NP<^}dZ{9dr`@Y5eF zFCD&foyYFSUU2_9Zw-r*`axDpieZY6x-yD7mTfNPjli4n zlL<7sZfq7NVkYJiSE}=89Yj@vZ@sjveMjYK|K3ZoS5y6o0Q-s$AB~Wp%WUp#`I55a zt1qd7ejlkU)qUCE>*fpQmEj(cqi(Iu(N_H`9L#k-hVp*c!v#K7NeN+c^rToF;kHKB z+(GQ*(kT?0NO9AKa<=tR8>o6ooa0Oef@0xQZmCA_+eZfRvhtak^P;}+=+7?O}V1`aT$@1;W5NRvEM@ROa8sq%il>yurlbvVk{IkR>aArY$&40Ed zVSDnFG)C94e)vsF z_5LhKbQ_4Qe7v1!jd&%U38*8p!RPLX3cI6>ho)bj-tUr9E4vQvzo{nx0|zhe7;YHr+!=I*#jJ}mt^z-00%%-cjlW-V*iNZhr3+9KacI~bPqturqqfdeH>04a zK=5c`efeo1G4PpCK!uEq5>K6w>NuNB*LSf~0Uv`V;-(30N zhudBD+aJ?;e3I~A41#tVCI|huC_AO3E&PVRVB@|j556wZK{orO3G5p@NiU%wOskC0 zd=lQLrT+}qlK;~B^mmg%ot;lk``wYy$0C%p7^<|hFj94vfax9+$4bB@eu2b}@Va>I z=_y@HLQZWv>K#jzPvO&O&VK(3#GAQ3_i`RIh4(NkEVO5cs9*nr2ro#ddc!0w(7|y? z)&hlF?WyQp_K1lTk$wlLK{RH)3T0{kgeN|naTD1J$nu6~kYzJt#% zWqIt-TE)R;pW64Ki?>%FFp<%cdOk)*!MY|cygJz|JY(xRzuvzDxe<7x%p(W3S$GBb2JSoZgq= zqlVqB&97Sw*R`*E_s;KkBhP$pK6SxhPcu5u^qH#P=DWR}@jI2bk)GF7u0(#UdZ0g^ z(dV}=nYOjtZ0!~9kmi&i(Yw~+;HUeDmga111B^g6b~erCY0AV@u&h&$M&jvy)7u-E zq_IH(#Y?Y-R`V{0jmTEMFP#yn+evx%=s|p#ILoUV();%VufIn=jIwZ^3y!OE6k_TPwU(`nlrCs53>OMj9z zCcvNG?5RPPuq3)q)M*Z@8Xkz3S^C@hOZ=+OXBVe|8MTzB;&RB6=D_J{)6Rfk!In*B zV^CZjOZrkD^N#6=1&u>BOoR{$c0ZeA4F0r^cIUv*PIzDsgRUCC8YOJVRI{Q{Hitj_qv)9#T3_fAq7*A_N zs>xirEwxbX#01h~I`z^Um4S!sFru_S46lXJ{t;z6p*b80KeeNWb=S@m`I@5m(3~(G zU>bE1SF0XaR{vO*s=;$!;;U(huZr3FntjLD0&JGHqFdimNo(M{tq?kB4k!htnzu=m zG}QODxHd6-%;9b!H6Gx^Vv(gy)|4X*PXAmnyTFP0Y4+JZ^xVk;CuN>I?HeZP|D~4N zQQv(7uldQpZAa^o+c81CNX-RXQy%R(-Z&Z zKam~(3kb|Fx$=^7mopOV;hRvL2Rvo8pypP#aqc zd+vFL)pKS+(cS@I1YJ3#=sDiMxCAh?&)zLrEQVGli63j&P4pLPYuXF%9zr-Tv(60^ z+9U34Cze%pIbAd1spUsG*^lNnev;DGZn#7l3r)f9$&T?{feG;M?Aa{}r-{u4OrM9;nwdNr9R)SR`jDO5=;@wfTLkzYGqwa|C2WAKi; zdHk38T4J3Dp+ExFP?+%0+&=Ro*zIOwcCXssBWhD83p(+-y=iLO7nko57|Hmx77ILrMRm7ZA0K36DX6H9H-I5LEuN^?BRz>>4D$ zR`{gbx%f>JH2_@SbqwlD6<;B|B-d(gzn}l~>fq>4;b*QUclc3DKrk-ywB)SIZ{U@+ zT6@)oP^dT=N}N(VTDxD*VI{lpTlpofN$hc7Lf5U$raee?fmT1i6M>8h0eLUR5Y$ib< z;&#M{8-uh&Nm^XIJU$sRB9+2OCooGBf4CY|G%6aQ=m?>Qm;hIQ+8)T?pT|O%%Ocd( zLMgDy1TTQ#-?n_ye_3T+>*IbeBL8AaQqA}~pvJs@ce?jPRST}V%IkI}YW(1+NbSF? z`S(@uz3d+GpotonERS8K3)@#0pS|*STiGSY#v`x<6uY%YaGQNF3W__K*nnEne*fEQ zkO(HZF_fY^PVM+*!!(dCKBoemXwl<$#&dA)Z9_1f&$&D_Y= zV)KhefLn^yX9`sYnvX8_S>%UDDmA&RidzwF#{j@|{CaSQzH#xwqQf&Nb z+6*sNXY;+_vrtQX?#AuL#c%c`WE^vGME0NBqk|faBc}pfbU?dObM2$8$VlHoG3cSR`i98O0-*ty8>G|-$aN399eVvT=&!q;# z87G}`pUi@4XZVlqyIVJM1AwIZ|NQ#?Q&Qfemf!V9q_MZ~bf%(5))0L9q1AjcEx7q; z*{j4qaMBt^;ca(6&;UgO88Ut;?1jmb;n3OlfP3Ya=C`e^?zy4dJkU(`ByHUEDQ)2q zUiSsRL5YXH2v}EI4;0^C-I`h*)KQkirhNlwU*|R08bc{r9tVcenBet=@s!2h;B{|5 zeBSwMB7r)ml3=+y9m|>gSI(8^MU`FO=j_FF;^%eQbQ4~CTM8@RVaVEE*4Px&7?9LO zIk~jkdf!;>|mIWQ#^yv?p*Y^tpYEo^`niM!fTwY!S(AEawFNf z%CS{@d2Csz>0dFv^hC(}S6av8yPOZ;+j7PmzpkzRSqS`DRy*6|vLDkEM}cLROZW>o z(+X9)LOtg6^0gb8Ve1S}hTiXfe`xzIzlA+o>qwP`a}5!im!E8f{oJ7&8JZIWNQti$ z!iJvBvk^hO@0Ob_czbWP#W;U^<>p_Y14Ez-)2O-rbB;=wkZNqhtnM<5pOpOncaeF% z65jh~l0e^)b-X3=L?~HI@!ouzW0%_TI{h{SO38zCyBxSR3h8wrbPGeI8+imQCOd{r zRkR_#4WfSARXJ>>|N1wMCpvW&pan1M&_MdRNpdNA`-rou-C<=NsX&GsO@2JEkmks< zt@&dVpGy23LNO$&t;3qt-~ZdZ{@^K4mo8G<(UNdYOFSnXnSP(EQDN^~UI`ZeiC{DM zV94X=xqvrA;O$5%Uh@0WL*!9Dy4=wQrOyT?Qm7%61KJ{^=%!wJjikQ&>!HjU?lyhX zIo&LAncb~`8__>y7bCX7T1DG0B$f8-@G9M0Ep=xIs}G3<49(aycSGI z;=SmdR(}}`pIEr+Iu)#?_V{3_49G3rV9;8i+J~=o1$T1)${%FGQ1J|^K*zI5M!)vZ zpTk>WLKQx#D&%OV(2;IX_rIdgfBfiOXUT_^v(e&Z5q^2x0AIG3;*NbgV&hMRqq=~c z9y@6b4zh4?+QplY5JVIZvb`cy{%RwUYsiRPs)7Wx&x8Q?cVLn(Nz2E|@QSy1D)411Y9*@V-7RRb4+5S;})@-bd^Rv+=!5dyBIZ<7p{Ta%rJ+`WUT6Ei8Ha;WVx7 zgz~I?gagSnxr_BpO|;orqbBk%Lafq+L7{>#m%C0{)dctsDwoT!>iMhxt2zXZz~p57UEo64E|mTj0CpKn_5@qIJy#J7 zu)G=g@GvHGy!(_UQxRfK1a@^QU*o6Pf&IfH{g)NZL10M>9)OX#J($N|sb?$GMK5XV zbb!CSZ~;i+%M1jC+T&>3BYv4!5uJ~p&Mz%;Kq?%cQe0dgH>w264Ud&OF4f$;Z?r?z z3q^JGq^u;YmR!90V!=gF4%~VBVA-j2rwd!>9=nxjRrpL!6Di=^E9)sOaK=7kZ-|aU zIlwO>RJ5cgS%dlS`7uF`FU=yH-54roVfTj%Y9<76_o`^9%YYu2qZO~Aqg#ERY0a1< z4ZH6X%}l1qlcmKQ#$=sI=r>m;Fli=}L)bR~REO;V6u{D$VT$Dy939?cRMWzf!6$!~DvP zw6Xhc0FAWLoUqz8A#iR0r|Yl&q*HUXpWj@r(xLnmx?NYi+B+Q6x$~dy>mrL&=PvoM zF4j0fCL|mhLwQ<0>^k1G`Cb=j|K*DL(+88jm-w3DG~y&4bZUw1-2v?l;3}rha`u%N zWm%IeMR0^%Yy=|c>m8(zj8u7#Y|}ypuyUFPUPb4&uBu}F2aHCuM)qSYOK#|4glWda zVxFsN9`-#v&g~C-`x%mp$yz2t7k!>@-0-QL0AJXX%QRV={nNm|*01{WLKS{*I$COr zBPP(jGP%dsKh~{Hf44(Kkw^3j&8eh)Hk6RJY$gA>^88osu_rvrl}ANMoD$#i88i`p zeI3^_33TR9y3|jtdQS&pS<>S#PTzFB@h6eidx<*YDr{-Ez{{K10VpqHhhz9tEWtmstRSjl6co9J^1-Sz9}v zpuHbMeWz>*Xx9GM=2E_(B({>b!7{APt%K3R?SbRGqca{2u!Akm^mQ_Mca`u5qcNT@jV8|)mZY=&{ zPVk!}&N#jFq~Bf~(7Zo-gF>RbaU%cY4V*vlmAZ5iP3XI^ZLxhq>ZddF>;v81Zv{?( zsr1&~(9^#QYJV+DqeD-f*B$ArKbn)$UWJ`SlQqA$__aAU;aTxz$EBp^MRI~K!1~k4 ze57jEH2(bYXk|4Qto(~&Ug+2duEgnsp{jHLD$v24hKb`zP#^-I<7a;L@-}sy9?%O2 zpV&iAESD+UBewOHhXprgYA!AqKHsb`Urjob^&aO($0c5lk4M<4!IudM)z+>@>@4&yTxS;&`jC?}K$|>ODk}#= zm(Wn?)Y?WGg-06Be#vT?>r|54&#Oz_RUSap2%=gg>aJRtX!LMpf$}G++_1Jjib6V^ zmIdqc+(D=|{k_TWKvR+ySQz*9{)2+mupiln3MFIK`Eml0*}niu;D0oz47}Xu)1K4GI`MGr|G0h ztIisCV4<=hgOdC&xm-C|V}*Q33~29t%R^rTIM1c~feL~Nw*^4Y+j@_{K4}RKrT3@Q zw7bl4UtzhXA>BiW1!ujGaiTjZfb4t9o}$rZlUpAO+Z0?%KUSr`Qy8KgvH>-?pCMC` z+pBf6IZ$&;ftP*%o$uGo^S`ncE*KS=Y=nC80)@rAhH`!rDYnbixMspJMtpI4U3DsE zn~J0JJs4opcc2_I_=cQI^I*83o${q|w^#IxBf*qVZ%LTCD;xxyKVcN4NG zwp|K)D`{>AT4$%CETZoZs+oCtXcgFJ3$~A8R@nf2wST{YNQT;n{}oWW(QxlWe}s!* zmJxye`P<(BVfvNj1>7Kun)=UWOg-HJ^1W&Or*USZIhtKh()6|chgU#F>-?hos3)n1 zyAxq5C~`5cYd;a~MmZ*&{UGHYQvg;&NJ3(SOrEMjXjRT&O+t^HEiF52(ArZ}y8ii+ zoKH~%zS({2DMSoO@&ChQbC>1mI`x?RC#QV7Nv7k|`^8F|d+~uuv=hG_H7r8O#^lxCdANyjQ-8a{R|HE3mS6||0+Ej}Jm zJzSOxOjL7fUYD_)%TP9-f3&N_e%$-L2NCR4HTOQcz3-w{VKhL;(kU1q93`RLNM+%< zzfh6umbDZxL4HVYZ%gA^1f#gQehay-FG>qGcEzMCaGw5*CC9zBANJiv;lB9aQ44V{ zAue$vN<1U{BzgG*d#;spE8oBeqd!6=>y$d;bNZ&+^w*e?uKJoUb5z5b`+n1CC8Z_zinIlIfvOJxCPxM?^uIXBsk;4S*ugK$x&eK!4F^XSyA zi_{~hZ%yy@_*=h{$n+0-uznaPp0i@j`L^uC_bOS?O|a^_q3qpe5mgDA8{z5a7< z-m3mhpEr7w3iPB3ldOBiJMm!UF9>E8CdDYmI4-NOvGshvsIgwZv}X7K3O8UrE}jZ& ziPOlulxR79u=Qf|Zbn05Q{8?`%;f9&M#G~IU)-io^?MPfdyRf^^Tmdt3e!ff7_1ceBS82TB-Hyl_K8F#SnPVghejLzeY7uiPvixM z{wFXNcnUJ~C4JB1LHm^JSA8^8!&pM=Fv$m09J4$MyHsVe~sS7l;*UQA_71tg7;>6plEOWKB_~Y3bD0A;J z75<3{hbDm>B3_W;6-BQ0433VO0}Q4yK{MBV3v4?%u)vTwPk)f8@~iO$g!9=*^HPda z*@y@cvl7KL_9vRy{;(K&IKM|sn!eM(&`$Y;$!_t|&o}QT{q(CwZ_)&A#1?c8#1SNJ z<+cuivi7d*B!=RsRb7 z-ueq+ZTCEYzr%^7f^^we6n;s(IW@Yat|y&2>S&Xu{|RNM4o1RX@UM%j1`Ccve{1IA zjgN@FDr#URyJ~vP9{_*Y`A5p+F~(P;Fz6ZTF-D~GK$t&NycR?Cq+lB*H#0Ml<^rEy zjB`k>fkRG?nZ7TQ6=vjkMrPZ%?i6kAOoh_3ebYxiq6&LZFwBCvVK~Jp_e1QKMn*u`YO3gq~>Fe3$srV zvJ<}jiTI>BAlC}`2snVP|AQhb+yIiDAXqC1ZmW4C{hUQTQxQnwM`HXuahp{4& zokbBply>FX&$`uqQhqaxi0F^HN{yqu{MJ43c?8>{@7BPjrLUK76;DqJ&cu-8c{gLu zIh{zl{#lza+?!0u(z2Uy)3exb3$EaChNv*5iea-;pV`~$yNGS>NZpjAFi|>F=1EZC zjw|AgH5ya0?HeXqNgo&g2HL-kH#R|DNgVKl zMZ>UYRyN7fsV5=Tn#Ez}hm-e){Zq^uAZ$v;)eEAatXkAL;d*5T70Gdw#|+E)VW%3^ zLq?Icl>N+5lSnv$d5j17m=e!u!H>K8mGZvH3+gO-h(cW}#F|*k4;fA+$?75}sRk4B z)p_H@VGuPTROG=}mPiei3UfcL(Ly^E&U;>MW=?}4fxxdG2){#&=kM4BmHcfe1M>qI z3%;N+d;-A`Ut=HcI8qjtA@T46#wkTh~lo0K>u09ybdD-!EOh_t4qGQ-y$ z>d9oWaKMYU{t6%|h^xfD#KrC!EiP4To`4ZkzZX&pWYk1*Ta;q3N6C%(GZsxpCS^~K zs~;=TXI=*61}8+o|x3qYK%+bw}>Qc<}L_-#yjj=n3bCAHObnkBw{ocnUXjFvof0;*6gF z=~JNLRn!QKA!HlY-!Rbzg}?Ru{RUiw1;3Sg4f_J3vk<9iSNQ5AFosVuoCUq|9Tt*@ zI|e_@eSoBWL+`@o!ZR`f>cNr&NVNJ)%>#X|CBzc%LaV1}Yx@BZ5eUyGy0eE)?@FOg zXJ=RmL1f>mMK~0fm=6(nK>R|H;3zkOQBNg$J&6hRp2}4BAJ&+EVLg*cRz2;DjMyLl ze*D5O$+&ryZk}M`X-(0?SO0g-Fz3$jsVRnCul@)1sNqb!Vg)s2{=dJr|E`93QamNN%^zQe>@jTTt$`l+kc!Iy}s83JE zY*FK4EZM0%!nE+1>6g1bCpp^PCF^N+KbaV#qe`jN;cm`(bIEe;vR^4o59_^DMclb- zS4jHTZG%=4*{R7`n^|kwqWSxrq!iu;g%4H@>ZAoD~>{J){ij&t}9R6NzH=-e5L!mY6++ zh0sW{<|+ai+>tv=BlzR>c%}&U~v{Ec*u+|jo zj47Rh#PJuR1g0|1QTCVW{bwk{9cfj07TK{ijNB9++4jx?7pUzhT4=^iZK$0L z<}uc1;{$6R)?~sSHZUJU((V9y%5zz9;gxZ*rp1jCMwA^gw6C5QE>S-QYjlTJGI~!bP5T2EjVQ*kaN` z-+FsP)amPC^03SBWc&}n(kxSL@ly6Ne`?_2B@f;?sjVN8>|9{fFuN%vN(f?s;Ob2; zXls?#y4E~`fNe#6m`q(4o@6a2AMyc43ZspGL;oh0_dfTmpzhIQwIlUdrD;ksG(L1~ zOHIO>3!mrurjdNxefJS?A)F3&%oL`uYK6j8MZas}vPAZj=Rt3g`|vZ^>-qHgX!*&} zN6#?IM%yVaG;o=qZ za2AMhm(E4l5B!7PhR>|uY17g4p1K8~i3Y)V;R=L(5Xo;MXI&^%@)=yx;i3@C=txyC{%DXDZ$aJp1RNV*{swoQ^(NY%@$l4z}=-Y{o^Ae#6Mz z>hJ=h?_kPu$e<2yB(EUsHr!UF*D#reR~TZ!k{G6F)zJ_oflSV!%nDHS%SIpl4uqn^ zd6kS(OjW^#q(LR2+QV#3L&wm}+}CKEUju~)QMNHo2rjlW_hg(gdhV@?L56G)-S{yb zN$W7uR4Y@n;HO}bh8ZRsP zVHhpOtO-rZh_sqx%R_WrcqzSQ7+%NNE5@4(C{Dk$$t`Jd{lS~0aD$>zL_Rn-FNR!h zc+`*frfd*h2xdxIqaH`d^rxMRd}}huKp4UyX1)Hx9w-}G^+%czZ}1RKFMbET@a`}W zim%Dvr-STe)33A1;%G?~ts>~9W|qaEe+T{Uv+x@KHn3S*{@o=R_-$GI;ps1TywmyR zi!)5h+)PYFnT$=juxqXSCWE=jYjwhOqZYZe$s8%N&mgjQh8fKDteD{NEYAwTq|KlF zh6o^1vUKS1$`2qf3B8+my@CO=!wH^DYv5mPLYS7b*w{jW(Nm?JtZj#h=hI#Y zT~JUJ#%?RP&opt`bZ%i~(C(5;2|R!x!Z0xKBGmcX(6iUMZg)<2R?H>Q__pnG@S)l< zHQvsg&Y#5*IFTFswBacj=iCZ*qv*{Rd6?2pt9h6mtI<9aGEWNIh7-vY`5?1R2f%;E zDiK~?8WcBjvcpf50=FnfyvL6-vh=dj)t&oYA(KtxgV47vC^VlEk8Gq*);{Toa~I=GWBDF~{-mAqyly*a&P)8X?YuuNEWf0p_8 z8Aw-{B@K8HSjwuak41%A1GRGlSnAYa7VnUxe)=VqwPZGkdY8+-(c-VuiO(T<5SZCg z%K!zr_{Z=T?cSAh-RZa01n-Vbmbd0A3@guj@sBqhc)lEJ9#P)||06|4u>RX!v;Xa`s!O31 zvya#wj#ha6fKzs9>l zRX5ki+o$ruPaC7R*4l)BSa08huq`RpzS33ZVksdbSd%8P6xS>V!p2+*xc>v6P40d; z$us;x6juZP9@v5%G^5{SOOa4-@d`XrBI7*)~m6H;pK(z2dMu3ah z(rn;jKtPZxB#buHtS8pOtQn46&LYAI=wP=@+=4aL?Zh9jm`3y9VJ1RT5Hgr5lj%rP z^T56bxj}W6=?G~uHPWO!^{2_SZ&A}D?(4x~`@%3d(g}ouMJh_fX`kum-VL_dOavyZ zdBSNeLJ~<@c%08}y#FGO8aEp2i(d)WSTySAI70-B9fgf~W}?wRCjaAz>X#QC__U-` ztRLeI*T=Hd2%I4`+2UrjxR7A^xo(0J@_w3}EPHjPl2i$}w^5}36drLNtR6}h1efS% zovBR!uo0iAOm8|%2x@Yx8q?7ifx*@sMSs6jUcxz!RpmqBo0=k6P0xopXO?JD6v*1{ za~Ls88iMEweaQZv01T086f$jHJ`r6sWBpDB13Tq)MmCNhH6L4MGSLkF^kM8hcIa^d z`HShIG;4Ef?+nFu*ue>I!QQ~%=r@cRhOJ1gu=9%U>gmI%m&pHsW*BqhbhcVqo08)v zIig{182kJ$Cxaat-iUK_7Lyzpz6+t18Ry~>E%05Qe?9I1E3t(pp&JqjIs&MeTLURTwHSt5hIVpL4`eMTv&q6;)gt4gGS!ikTdT;lEsBQrm06%PZs?% zyn~Af+E(clG=IMaKD`WDVrLxB8S49@9LCM}9j{M6>#l8?yO+!AUw4=eCUMXXDdn4fCRGD>mS{$8 ze_M&i$e-CmFyc%c-5ZTUNzSYVhI_iq}gMjYV-iZNDXA z5wR}QXcR(Jxxr)bY%F$){l(54mbk8}?v+_KAGtEfq@j{;_;=5@AN}owReP;QX=H4w z5Y^YuSN@oEwsCCAEo7d!#UIhv%tjpLALUVm2O_Noi2L(Yo|#oT&%Cn4AbsTaT2OX2 zeee*jtRQwK)oBVnp6_F1#3QQ(?l>J;6v2&hDj!jdZH;%Y_9wHAt?|%qK3T*vXEW z$!`gH&_V)Sgrz5cYIJ5qx`TbKy;Z(k79d2G(s}nhhyzGo9r|-BJJC(ze^~%uA7e0!mz8F+76(@v zGe)}VhQtl7VKMNRN{}RWxpv7==0#FP!9~V%oN3MtDh-GwhIaZTS{Je1J3rGIc0+$& z+!Z)%eRBBJC3#tVg^Y7%_C4~EcX4@ad_vRV;-?JQeOLm)vE#(S7MYSTt>N#U= znWfBwd3KMMmsNIt+O38nO{9x^us>Gz))CK5x2aUai>__wo8C9B(qP@f$!TxKIGsXH z?^4z;EHc}&l!SUb2@f1iUV=TZxg7lb#tKTr#kY3F`-w+JKmAw44wsnnaNE1&dyb$g zd9D>KA9QC?aPSM4aD5hZIETGgHK)ApUw!UN%%H-;94zWFS~Xk%p8}nVn$o@4F-?^G z+O|+7s2~9NftxB!s6LmSD83IqTlB(w;taPvx1+HnGn7cQ`VM}IMZmlG@8r}4r+B&CBCSg^s?ThH; zYcrY(wg&sS(Nf#`3c9|w&xWj1G;+3QHF$Fc>~+U;CKIei-~LBMiG^1MDO@UUs!}mF zT#GMa{12L+rxy(2ZmPYMf6~|XKbE3?Wmc!?RXP>j76gniiF;92c^evpk!8cCI(ajm z(Px{QJe94(|9R@7GTPM49P^X{@8c1%%82)^x-|1cgoikl?Z}fD@gu-Hc7)A)GGpdk zr5i17iX5NHBCE$l?~}3}>{}~rUHzLW%XbcjCxv<07?Wc=c-D{jh?|39OnnzJj03V+ zETjvi@C{+*ljkHnTQ;J}_Ai%Zf(qes8(Kz8 zmek3g#r1^ZHM&ywzEe$Gb9;>3-m?UI>TH3SrY6!lLk69da-NeR?B`TLz ztR}lEE+GtN<2J>$ihqbvpt+@q3%6f}nJ0YL^ZZ_7o!V!y9@;ls-l-GC0k;s%5%q`x zzc>ShXX?x0DsZWCHjM>>qTgCy#2(vCnv6;i=;_S@o|m^lQJF?l3XI|dCbqX1P0(kO z?-QDEdVM0rnH7h?c303{(D`oGp)ByLIqaqC&&9kqh|RATzP%YN*Bj5V`C09D;olyA z-U@b2?Sdcq^4`Dt=HE>IKUDhx0LTE(Yb4aP>?X*b-@}u&pnOi-3^`1RSldVg8!RsRO zHn}Qnx1wRx^bLLK=UzKafaCnF$3%54TdDDjguz;3itDQZkp)dFx5pT`OoXx81+Md*MP33Z3ryBgkVpCq8)EW(_3}xvEEd$wy{M&LoH0 z>fn`&Wme@hlVyfb#3B13nH7_7vLLDL^aoEu&M|+cXR6+mX7x*2mP2eJnXfkB_-cbCJ z!|kCdDFc2a`y&OK3OnDEr}d%`RE$PR3JPrh9x$hA!?4i@)qexN|E3#BqGaiZA7Ou$ z&i)L0)IP!KQj`tNo#dD$uTKZsk!OaSBp^W6Ok*S$fLdo3NUmMXiGKC{8{qjfGU$&z zK@M4!pBWh;yv7XzRv4z#3k0Ch&?C9nbwCf>#Zaa?$mXU7!b&E z$(DcR^04z-B)6PH43C<;?5#IpPI@jY8SiE}ddCV5LMiYY0+I-_fNb)ONxF;p$4aCh zVC3?R>`h{Znf>d#F6~y_dmbI({I*W>5Z0#;#ymfV;LbU0G;>rpUSEkNcam8O5-Wj;3RV(mPTD1n{F34+z=(T>z3J_$bmOF|52~4>vg>LEu$ZyR7!- zuBGeS)>*)rUNK4nF$9(~b`bIV-{W0vp?474@%g=E@XKt}IHk#rZmH6=GiLPXe}pk_ z9TAjUJb>gPgV_hUcC4wm+cXlYe~-MCLDB)p>tIj0uu`2n8Ge!r>>_&O?wD(N?^g9f z*26l7AFdSxIvZn-SwEM2NJaI>2UZtf0#N?vZ>1yD~Z#CY)KyE?eJ^af!Xs`#1XY1y+pn zYV_cNBH8&QI8YTXB;8lIdNP`uq#ivO`?&D^)8vUJ`(GgIOReDKfIGaeLrkns)IUum zJxiI;NgPPvld~7_uLHnHl-eTM>bB@Mid!|Hy3R=FpW&qxb_2_0cN2`XljD71d%zXW zj*QTtl8L1oYN)t~zk6bCrq+W5VI)ZNB<0*`*Ua`uD&dr@5%~6eNVF(ftwW#bND+ML z#~l;q2W{UNFfhsM00;V&#e{tT3qq^i2b2xVb4gzEhR}9BT62QZa%d?vN}Rww)qmoz z=^Rq1Hq@W5y+Yx7(-G?v_;<}yFpxzSmySdS6XP9o?r%^@Q`HHVY^C%G47|G9DpYSB zDcw%rbiAeEER~4c`s1_=JewxAo>Zl^c%aZOpRouxIi1DGgpN)A8D;m_-S*d=94Rdn zx^XS@kA|1N*^44d(o|_kp?-(^x`-KsUQ5ZKl_3mfj#O{EQCGY^dD`RK_+syWyVX}5 zI1a{f21_SM>wiD)#hjA^Qd1L}d%sljd6|+kQ^4mwB-_!pHz)P5FqzD=nfc)4YK7&e zgXF0k%3gWNd+@50gktJT=mKql*GLTGZln=)n&?RinnNC-sVhfpK6_ou_7v~=xe9oc zD5$HMUQPVusu7b)G7fq738h|)rE~sMVBZI6Db)_oC+>}0H?&d4Z^rL?0fg)Ji_13lY-jiwMFV-iLLXv^&lCSJ-@l{s? z{snf&xM}^T`*qW_EcL}p?UfLYySB4Ce!BxRR@52&MFBjp;4RVqMBCY)7ihQ={?#Df zw%~a#)Xm@5`uBMM=ZStb30A)6J=>h6ns`Y>2gP9X` zcI$M?8hsdx7r2F^cubtmo`jpHjo$?MiRYBRLHx3J(S6!uZ~9Mi6l(Xl@f92+LCGz|CsAFtN`>ZTj+wOrr9;wZ(^h;Ho zA8Lx;H+0EX_f0MOE>@|eZ-23&W+*@MYct>IN%@=HuI6vTwy0(udwtF+t>A&Du#W%f z`oy4X8y|z2tiU~7SKwM2RHZ;xnJeh{N*Tlx<1$=iX+=(xw2zxU%X6oYg4$sX6X`+Q z&;sr&K>s}$sULC-+W`|twCku{C|x3x%?WMg7uVl`ZNwaxKK%3AFCQmMBj*=j;e>CA zKNlLOPm5DxBZLBkFQt%CMX0qS$eEHf0oXpPn=ygw2HERhf%_$AfkCl^nMBLeN)#1{ zJtcoryyC>+d0=J!36plzu`W5@@+?PWO0cWki47wfBH{is1{OtqjlQHB2DV1UOW_8w zIJivmic=#h$chx;`ds z^{yu_x&Ej3;z4q-NoR=jcq-i4j3iXw@!5w*LHOUIp05Jk$tSng-#-6cLRLJ1mj?Wa zvfleD5#&6E2%=UcAGPpUDwLK@#eA)CHWd5=KG(O2ZJ9T z+&NcCk$DoY1x{#uQ014aru`r%$o%C`mG(Sic+4_0fgwovh)azrW(9E)L$f{)@M`lD zKUJ^K4gXpT^uiYgOyTR-Ng#0Rvg+~Pt8LPxoGJ?Z5P#N6-|7@jO(D+q=o^YxB90?9Gg)$s|{chn83vUs#Wpt8>`-kU0-*&mKAM9A?qvIZQr`CF>TR-3YO6e)J8gP`7W?Ae@ zK%%Yk{$|$SqA})i*YYPPfqcJcGz6aA8h3klWt36YprmG=^CSdC{sWu?ngbNLrZ{mG?<$^$$&}4NIHz(k_(Eq>*q0;70o4^h2bEhHCEVSzmLV4?~Jmz zjzm~P{5cKLVz8~7t5XQCG%%IfLc+kYn8xkhBg2Vb*yDJQAVRtrAp#XjT>i*nO?n^r z<6g%{xTcQI6&-#i=9@jOePyX zZR8`IS(MnLv&3IH&5&HJ2sR1Iw{u9`d(|=~+zPcCCs+5FCs0JG@tO088_~V(g0Kut z_79ap*~$1Amvtd*0?w$S!k0>@g&qEsRpZ zsW3+*X@^7x2+!<#vzD_|nL)Ua$Xb5#J6Bi?etuN9d%#WhWm5vI|Gf5emG zd70Bby0AscWfqVTOunzSoF?-=oD#ET#58IJ6{U4NsCqWm=0a@&^_To-TeT`VA#vXw z8Mqq#_d)jlF&v+@e7rX4bvXY{H?Byo2xOwOrpo$99UcGpI9Jts=jWO@vE<+*j1baC zh2m>`_QA!*uvhJMMXxU-W<8>zCcIjZE+t|5Z-K*lEMJ%b%Oz?R`SnR2BBI;LQ|b=K znNA{cEvoBYD+(R{i6%|jF9z8ZwqaXhdU^(IW$uFrp_s-e1E>@h$9N@r=F3n2{yJ=Y z-SQWQ{xat$mJ%F-0XTBMS|IH?!r;+`PH;z=Ne%{RoWzcs&HvsCNsr9+kE;p)`2Pvf zJ2}P8L_L}>DC(BJn%sEid7a&oC1h+%WQ5vaXXn~TUtQ6rMuzx@P6kz=lh-WzH7}N$ilVexu1RSy7s;1c$*p=9= z+~}|ZGg7X9FdC^J$wcB0j24k{F9TH<9Q= zQ+!m{x~*B4ewWhK&tU$-1At;k{#}q%6@B~s&Huc(^-uUz7o!UNvqtBV!U* zm;L6ug2r_AZ5@x5_h4Bbj+erfI{*p!y=hA?>3&F9`*a%x1d^X3cUP%;$KKxQUr{FG zF3N}(Z7ckLQ6?DVBVL#Jv2L{+h$QbEhSHDYT(E8~F38Kf#3H*^&7W`ljGOu&-mMaU zS|a3<;TNv2YUpfYQMfBrQV%28$5uSwf5QyFx2ANH-g19C*L1X4Qmzwxq%MKMq^yC) z1s#VzWj@kkg{Z48qDKJxO(|UAjXsOvBxv#qaCEnI=okk3eG8PQt`z4tG?kBpSb-#B zn)gs{U5(Z_0$5Wr@Cwd94lWww;s44BU)<${@4DP^|L2VW1W_BMHBIAJmFY5~ z)p<6*i4pc0EtKC}c5ouCt6t(`bwqUpYYX!8D6mD#Dl47hG zw{9cvlPy*T`Di3Sl9Tu6>dxsYQc-^R>-nO9zFWQ#&40coH!gtM#jW_y^q!=XZM3A#C)?9BJE2?=rMwmO!=G?i zXn4NP)p)nzqm~Kshuy-OVN>y|z(tq}`h-w&){J$D?dQc2MZ^Vy0i!#nK-LzWY-KRou30mwIx9RoIocX!WbfLw8>%M z{`_|V-|GP+Q2zI{z%eY_!iYIHKU1G50xem>d~2h>xH*1u-4&)><@)*m`J5GLAP01q z@#RT?%L)71qbTRC27+GW-YvSw`^F7g=5xncGb{7tL`VU-!tt;EB9{X%*OU`xZYuMC zSC6F^iI8J}ix7kEj==!yO|ek#Yt-jm=hH}*3*w1sJQ zkg-PxSUr#tnAoywU)dtNcuPqMv1z9slXb@;yrVhiwd$k5V2SEueTo%^ z=v}b@Hsik}Ujv5xvS zSmp~}^8q)nw&s>O1u#@CqV=X;qtZXHW=l-##x^IWxdy#WfqV(rZ9q)_)H>3gU! zbYuh<-88uU&P?dhEDxH2d^NUkp>J+q8qfE8(hTVR83%E{M!2FUItYKhy>Y>P@Vt-Y z_2odo0y&|04P#WG{YN4ty0}*OBi~=r+6wUZH8j6{@L`L>L{R3q(+HpGKI%FFgTS=P{w5Ep`Q^N|1dOn+;xi@Uyu68!bbg@^sneE@wkLJ0M*Ct1 zKlySg-9Jxh8my7H+Ls3YcP0n_n=EFgOdvx0@*KPBncXmvpJ+~KD$UXO`NfWH-;5oF zAB+@cT5Qd?=Xz-Edix#BuDz5@l3g_t8seO_?%B#*{>Ez3#VehdxKTL*aJ6>pmE9jM zgiJND+hRw6$TA;;D!>9^6XnJ10dMQ#d{z8$H4*&-zQT)Yr&^C!Ccl>8jZXqgQ=9rL*2lXI~jtYQ*@|8~2P@ z$xar(c!ov`ead-JYiLyF1dN9^%_*x|tYg1^0)ZYHO%Iq~uBJKV0wgvegq&B|j%(8H z7dv)#c35HMzsw@vp4H|8aQ>SY_Go{ZtLA4QZ6?RJO#4rE@>mkADFW2!%BIEir3d0z zzKA`v=mlco91*U@F$q)K)zA37k(Ky~$f7UMe z)+)AQ^Hx4os;LmV9vtR(+08X)NxFV0>U5+#^}h;C*i-EGGjFwS`pXAxilg;7eVSeU%sx-WzR|B1LS+QJGidiWf&-ddkg4?37MR-&&kIge%=JLFcC|Jk> zwH_kD62falm&bha)cL)OxhpcvTVI_dyot6;72u?d&dFfSiezN(sBehPM;x*;>F4)S zv*dfRMU%I8y127?0bQ!Aw9o9@=xOEKh_jDo5l1-7Cs(zLMzC*=s~Q!*cs; zi+SVanEcmrfW*D)VXbXzZ-v;e_q4Y!ivv!rY7dfe=vHTm-JJ`eX0PywafuI^`k-hYV|@GZZVc&LWKD69a^j-J zBhI=NUJHCqs$NUf@45&KFwJI78`)FntLi;}iJCm{z5TZ>{FH6!zQoJ(p6G7Y5g8ba zSQHv)O!oRm5_{k!KW!lA{2nu_o}5JqaIg~AJbLNem74nG99X5O@J*^*Wqsx_#lJB4 zj)3b|1NF4$=3Un1>ph*UvFztLmJ5ge{{;*$=d9|MV9Kv@T~Kb1R_rylrk$3^}6Az7{`j z=W{vV)alta_@H)$D{*e~j_Rgw$nsVDD>YhH6V)`ZhrP31`Sns}+Jsu*zh?o&xgOo_ zx?q7P?X^z=t{w0 zcIlT3i2ru$TI|bv{IWk9Z+l;jHc4r&rhFQNe9UKc*BR$r>WGTJYqYK#&x>{e>rWh+ zz6a3y-wfk6(*ULEZp3$tc0J#DXAOkWA|3APL9y333aikUwK&L#?7~zDA!ZmLYqdG0 zWQL#FuxspkFDDi~M_#Eai#Jh;3$L45bFD|Y_N^8cc#3D`+o*hdei&oOo?|Cw8bDNJ zMT7FhdAJ+DxS(`k{Dsc93l`3+y?Bq@37mN-)5DbSd6r#JL;4cEhg+?h#Mr?#;BB2T zYStv+x{{;3i$2|Pi(1^Y$1^T?cxaE+A<|oZFp_%iuL*8N^3vmP8hQ5rf;#`JGcue7 zF#sXw;ZnKw9UmXNOm6CQiN?>xQwr83AJ1jQ<)JH|U2D|$xGULDJcS5b zv}0IA5f`vrI{3{I;)At~P4m3zXU_)u58587b&m>>(@+4N*kFwZ7)v>aI?xnF#u1<7;(&LU3P1Si3~etcM`N-` zU5_A6IK`i2Lw7m*s!Ld9DzGS~M&|DMfK)q4N=^w8uy_R{fh}>)O>+0%7JzhyxB!^s z`c!R62YT>Q5na)<^?r9u>&qu^U+klD{NE`7o8#5UADJ~&Nf?5`%8742#C9VHI*$Cc zR31b~7Na9SIi?g}Hvy^lAUE2|9ZPGOIf0xD=Wfx8kN+K54ICUJlhx}X z5tHFCr=owv&a@GbmnreRO#NNkUIb0-J9e5w<#nQgk!Yev8##!=)Sut!)Tllgb9WYc z=RUjP?67CP&wC)q_#X`I?{+ap-gvvDh2KaGLB zqo$hmzjUYt`i;u~ML_MJm-w(VV;2BI>>^bYqeD)b0R7-QnPg?q=pB@22oTcpT7>mV zrHXl#Zvidkiz$E>%revOBo3hSs=gBpSU*hzwgy$X>elJELnoxCfyUaMhHEU)6{~CA zT^e{6I0}HTa1st_s%9_*0sGp^Lz0vwq++b$I#Lf9MO(Hg=A4Z3fZlXo>q6Kss2WDSj(LmkHd1MG+?~;!Q1s}?5Je9h2`ey z(kf;C+QBT*Zf_&4L^>FPpfSl)VT`17W{#2E3-SVHYY&z)$}Y-`o! zfFQqzq6Sq4y$8&!vfJ`KVGgPF})Kx!Ct`*JXiwAWnA8Nb_=b zX~EAzzyAoh#b|UyVtavr%J>U_)E3KcuaXQ!6>zoh0!Tyl0@M`Tts(d00o8H6M1Z`$ zcDL!$O=6$JAArUzmKD~r_?#DI^z4c%mjR?VVJJtw7ho#kIxE^U-3AamcAu@XP^-q$ zet?E9&5#sHCVDpiekBltaGk{Ng-@nT9eM-~okTu8ql3_UvUZkZbj7WdMLrlvdfs^p z)5n?_x&$!kmy#zCxZZ)(Oq_qz_+S7r<}Zr(CyO&=?q|b#bT66qwE@(}dYd;?8i34H zyS*}N1V0cS?z`Vr1 zfXSua(Po?#gu|Oc>!c^lw$Ogh>l+erkBqZmWkVj|6;;+za77Pe9P4Qa_gyw#L{~J^ z+7(eLhtUWAz++9`*SSyL`cx=v(PN=8i}EAa^~1S_grvmn*~fQ&zr2U7pbOZ0WdZ!1 zVFBa9#{BRw+x5k9{2g6lM+_}Dpn>gFaN)E)07#*{ef!o{A|ys-FhktHN5881ujpcA zjIOcdh5sSH=1w$mWpG0E=YJOH#n})8G_pXn6bfg`pLT&9zXF2#<~(keE#FP=s`#r( zWE_NJ<3FP1*G~NC)SZ3Jteo;RQ}tT;ArOT-?mb~Z7C#ZSF6^6l{ib|I$>dhPqrW=$ z-XHPLv;4}%H!o&Wud0+Y`BXaY8*6xL9V0TW)Z$h`xY$QlmE)^f8X4?3boX9nVJvz( z8j|MfRONq2@le+@YhvnAb$+W-+4nj9%e;m5498s|4-?sn8NAgizCNC_ux`$(n`^Tn zT}cN@$-XIDJ?nX}xc{I%UDGqm6Ed&sOF;{lV~fY*PRWJO+`L|V`)M^cfJkcg(wZ~z z%ow`sXRnMo-5ManM-X;?N$?6SroqF8KwM0SE^jjO_oRaD#eJi0I|2 zSLTxiV5?%j@|S3=ccbzbWPk*E?*YKTZ~Gx1aqq98m!&sZz=qECsG!GyK|ouF&*x7; z6Vja*TO^Mzb#xcAf~|rX(Sn=k14)t&dxX$Pdfb?-cG3N7qN$T`<@TJZxtwF~)+0~G zzV+07Oz4ZLCKChXCTy7%meoi;u46!)^CN@_Ziys?r9JyK@ZLwFDR!i14?g?iI$ih2 zn5IUEjU?$OFx!Zhed?zv|e7W^4A-Osi zXpS{@#+oS<$qzpPnmjB0f^*92-b#QiNdUI=5l0Uk&#a;mX7<<87_g4(jCE%A<2}dd zy(+8!C@Fx>wHKK+LEy00K-Dory3jSd@ch2CMWgy=SINU!2%p2v$#~^3!?d)Yrs6fe zen4B*c2)rz8O=O>0j7dW>wUp4fHk;)=m&`o{pvB0hFgd900j;Bjy^p!Bn<-w#;6+8 zHegyz!TzDeQO<^%C-sTr^89&V`j|Vr&Ykr5U-bghNPp z)Y`cR*IMkQl(KVRK_Bem?oqWm{CR3n~2auEb*}GEpbg+keVAnQ$_$g@!Mp zmclDLuJ@Wc%AB|v9kmy`r^sH!2*{RsnDGXzB;w?=Xs0|J7GGrg%b@%u|k+z@sCd9)B5rtf>=770Sn7Zwz{g!cQS z)D@ayYu}C2g);1Gomv*GcO>AsaESHctp1RCz`? z$OB!@brAkuZRp%vvF>)-z&jE;Cp+^;$p)fW|ATA*%WPZ6>o+ccQdzpY&<9}C`YZUF z6WU6dUnRQV&n4_mIvW^YH1}4@Oj@Nk1nI!`#&k@^Y&qL(!d~uQ2i1(-(UXXYDSwRA zFsVR;q0x$6z5R~$2#kB)N_&GM3I^6r(Ae(8TvvcDKqA2M-*vv0$qi8KdV*kgVD{ZO z+zqYIYmn)LZ}auqtSA&On+_4CYi5!&Hg)P(#8mZAtMXwbb5)|FW+Wr7EVazvZg-Ks~ zOJ9JrG2$IvM_{lgt6R>x{xOIN3GI&OrsG&P9iajm7=V(hpb=GNUN~vg$T}LI1##Aw zA`z${!lUa^d)Un9AU&y)^>W1$Mfh+_b8e)IU8EGM>-vtAG5Ogmsd`6F%!oc`WSP-{ zC(zRuh@ww4CIKfXTEa0S+URJ#mWfq<^Z~(QpXo2 zK{RPlW)d}{wy}8~GSM$xT&Yt&+NBg(hDWsa^%}(put7d_d z_Se_}pQh&soaS@zd~dmvOb=HCzgMw4UJl`SED&#BKNA;$$ry$`W0l|n2+s@w{s~V& zMDv($3IJUefl82|BxMqKDe?tn7Azw z$bAqN&RrzqKUjRD=X#CJSPI7M388ch1FAH_Ue4Dm76cd81v171N>P^rXkk<5RI(xna0uda(wIa9clz*O)iq&P4ijG$V5|dFXr9Q zW!iAszjl6o?MvyEUVM{MeL9;b>-lvxk&xdiAvgN-^SM@Dt}2^ zxH2kPhLt9NhM7yH;x%#aMa{7Dssxm861-Vkp7$OCrEAsgm+@16?`gi==LQ_YQm zECE&2HXy&tWyqVl#D&xQF%7?_|F$UzsKABA)&hq)?Balj1pI~(r~ik&Cqi$Y0*PSe zK%8b|+f!E9)aA>C{r{1Ghx}W&dvE_ivbYB!VdL(bEBn*UGMUVifPuaJtyCQ&3eaHF zF-M1l|KsAxeH`nr{G5Fx>F%mIe#x^of*rxDN~j_K)l|rN0xsDh<3Z_%Fmc<6MWfiT z*Lz&&Zp!MYUnz7JGBKX=)*lw}MY;=;QP2sOR}Asra$yolqV#Wkv$feOxN9L$*GBz( znTQDjcs54E4-}b2NFP^xxRFSelA=B@Uiq(8vkD!>PiLSLTBVe>^|ED~2mw|y@KsJ$ zG(-oV>~Z~DKsSCpxhUAHVhm2tM`cNK7dev^m-0H70cY3&@XBW;0Ycdkauj(Mks!-g zU58Y67x{mEti?dQ*%yn=AHK6ZGI?S$xmVLM{nTR=ipl%&;BusFaIdlKx@X#NtC2J6 z&kX;hEaqdz+dgsR zGoZA5{qB#9MnMF5OAYQ9XsOIdcw(EpUZaV?wOP6Ygy zdCc~MUsZshvt%NpGrjB9?OCU!E!qCJ%xjKBT{ArDO(vqa=e!IEP@eRe7w^Bl)_>n5 zG(3JP^z*{`nz{7A_Y-1h^@MYk3n!iT-y$I)O0@MU)qlg778RvC10T|HN%;JQjO z(QrGmdYDvn&DNezcXL55A$jJ(ih=Xe(tf-*Ttn=6M-X{t4rGJ5`MXhRfAIq_5CCgV zBHfPY4k;|jk{I;{07i$3-#}vt9>*ZRIBwuH7H6!{@b+vW)b4wO*fKyj-f83$H9Pf*9}>Ud<)zD>G=Fnu9Ke~~Mm7s6xTgI|7`>0S&q0VBU-0j zZ(Tw3HY{ox9~N3e1@9&5-PRN&K!#M~`Hg$YLZcTn(1){q)Zk>-1NYvCKdKk-Vn!-C zQzaMX5Z`+QM$ZPr+^*^AjK)QN*%?QQuYzQa6Ne1WxsFkb92{L1{W!L^R$Y)gh-J6Aqz)ozF1+fIn*Kyr~A$o50 zC5^*C0#perP|K8vv>+e@M`H4EOa0rE{I^SifCMm?F;u+_Pmk`O%`D@T-L$+dJK?o6 z|I(xsrzyzrG&7}1;F9yo;m=D?kCXae9%F;AsiEpagwp-f{09wMfM)&%Q*=9`V=YB1(pm*5^J)h#*LuLxDP05gtY znq2uq*eNl5ad3=)j5Ga_x>>dUo97pAw^%Jy_bKp^A?JR&%aj{XkfnNS4n%LX%}e}$ zdl0~(ls13rniBX^{;*wQ@Z0vQo z*earBNEztl#gf$@fZMaZ)CqZel+rX6T?%7F#i{bIepzgRz z67YzBRk&t;E<-sIQs!mub;B4j&&11nt8Nl(OJ=Dt=AXc(sP_Vutk?ZI7J3S$1hof+ zdt_LbMfOXM9EE2}TCDBz!iS$VlSH~RkbwyX(?FIBll#hla|G*P^f>SVoP}2WeW0%~ zt5NlVT8_9yZv4@%B1v#ehLY)2g-x=khof|!T2Pfc>bGm+6wW41_-J@Lw=ycsAdc8r z#G|LlNeLB33RY5X#l%;X*ijltkRMI?EX5N=a;t=wuq@##GVY5R;f<%K*7g|}IaRId z4ANCcS#*6pXv8J9X(*vSUMa@aGEuoDwLx-xLnLXJc&W;cb6VP_+HcMlWp|UQ<$i|n zJV<@x4CnRC-!%&t5dKlHc5^X!I{=0~yvgT^dll|n4CrSNG~*63{-0QJmj*rn9l@ZY{VfMA6^3e$bu*!3_i zIWL9?iVAwn+IT#o4@cNX{K@ovLZPUoIToG!a(k2Cj9n>BEnqKS-6-Sd`7`*UU{cIx zxlgIH(Q!8^F}Nz`yXZ?4|ENS0)CvV>K;J*O|z+;#1s#qS2uGo-xmUpUho+^!NeMqsp zM8C9c6zV|N@I8r*loX5Jgz?jY0G+Lot*BDZbFtndML$+CUSuzQ@+voMRQhvEoGkA# zU0(GjCjRdqUEkZeNM>>*={86wArw@c-lzB1#v2$1@~m)wg)+mAK8^fld;;oykBaOUEw-cwMv?cLU*N7k>&yGO9^WBDtGB-#%K^P%6tUPG9#F`WxRJ zi-zZ>1R4%M0IGE98x7tOwV4BX>mM!h9pOTHRw}d`|bL^Ld_X z5_M7&ZWz5J!w*L8G$(09&^0S=oI=66_<6H^Q%e6jo5Z72YP}>z<0*yGd$TE^JoSJV zb>1ciA^yOk&Jj@*Ae-WGyyD$=aS#A)0+>`OBz!%kQ#WWZQU(9c3;*l2HYP*t;ESM~ zpU!4=Ke8FJU@ma8KT=fhj&qk0OpM`HI?DVtfy8Dg^$+2Q`Da$`12o zDp-zlbR+Wflvj&_lx69IC-9IDn1`I{Zy<8;bF`8gDV48z#wfC0#XlzT#{$3UL3yhK zoP4BOI~R!ln+W_zG0k0uyqu6YtpjD{Vx_HBzQ?=d-HGS!sI#deInOcXmq+#1ar-~K z@R9D#PClb}yd8F{eJQCjcl$POtF*KZqz|-#1t)#QEtt@L`ad5r<4-NjDVl`@CA7=l z8G4wQ4arn1Dce_4u@ns{MwlT&Gp$i`b{x2tO#3$e<3K9&=ed}2HZ?~ukM20IvzhAv zr%ytH;(axBiXeD`FQ*O6%JbeNvB8u($V_@W-+DDM)@iJcz)5BqF(cec!xBgY_+;cg zx5u<3&5Nh+<8~>qL9>-pc(IhYYIEIvG}*|JOr2xBvuT;KI zv-}@lW_=HIkTU7Bi_T|-*54mh#675ucO7 zvPr`2Yap!hG0+#B%Q+Rw$)os4Ud5E_TGn(XI_U^%wkpj_OhsdQr$xEulE(|=MvQe; zzdl?PlkzdTm>)zK8_US)k{0j{$(J#-pXv+#P;yfkV^s6OiZFo`^H?MifMMSKC5F?2 zY);Eow*l4)#EE2PWw^b!VL#vHBBBK;`K=!ahZUj!dln!yHTB5noSXJf`o$}JVvY-ZN^#cI~%J%a60H9Qz~0y%nfG?O(i+!|6w;G zR-i#f>-g?qmNfEv8!jii)jp6su7D(n7-^|MbH(e*EjHn`mqst z@5<7Ji$9eTe0apa=;4lk1c~K>_B!=zD4YDSurJ`4{_n^49`Jes{ckT@Br`Dv#Bp?e zwqstAHdy47*4(1chtOh#Qr+`)bP9Z_E<(-oXe$F#8TE02lldgezbt;zFXY~uA}jfI zIgHn-n2rP-$4Zh9djqHko?BUBvF(j5?2129_vFmGA?;@^6Qz9Dl(5 zHcFOFCTBaDdQJ*t2NEV4MREDc77WguEb4C$uL1qwB=4&fGMzspn zSvl9*m@s}NMy_SgQ^xM+ZLSwV-jRC*a-%(KIRvw;6SznzLpe$%eAk-7&+VAK@_1yz z+)Uc|wGZpNuPV*HG6H*-5+ymUTgAN;X-ABktJkJ| z$;O_CjmwEE?}r$oF$aVrH?oZn7}gy8h2X*D;8aa@Zo0ZQvheeJv@0tIOuY^Cxlc{5 zD%|A4(#m7b5I^Nd2i5{68({Xd)kp$l{~u|VbKgQU5L5A}TxaHy-Mij>>&eOm0nMbh6u!0ynpmHTGo%sxqJr`i3_mHKh*^r5CE1m5 z2Cq^nSA52GehuS>xrynPowltS>xtwTCiiNI*0T3wu&dPjAN~}si?zX{h4W_;8`srR zOlS!)CzM)faVJ(2BFFK_rggbgw!X$`3@thE-IxT3i@)Zf6!z~bp38%5>@-7vOa6`R z1GnMG0u*r0_iV#){>Sdga{Y267Mvjlo9m2FY2`e6{TS0qoUdC1rhgni8oejAdX7NI z3JmY-KcNKyUY2C3dWr<>EvJB+!1tC{b~~~jagK-lLJ#{R=LvZH{suL(8-|9hA9Z>O zGFs%a&c4t^p3=4Dta2G2wLU^wknCXidoxb)EN#>;`sXC}UBw8<S1&wqTu3E(r^B&j&+O7YDUOgmp{86Sbwbu~upNIc?iP0b5+NO+oF zc+h*JCO=jwEguJdjif|s4g-F$*@S8*`5#;eIXXVl_;?8$OL6zY>(Fscsf7gm8uBr$ z=e{e;bIYE3RksSA+7E@c}6FGwU+Tm|&SU=3w=?-FOy zq91Ejah~Q^)@?*mw@LKr|Oi&>8^_7H?rOo)f4VN;5q3X|8V0G z$4AHeV>fp>0+%d}+loY%V4h$oxj{xkEjaf+3*0P8>GniG14pq3>DldD_ezw(gM(+a zHy&)vZ(=Av02D62NlC#oC#Ru+P5(_D`xHL=0#$(71INK|U0uDmg7J+h=^0&V#}k4M z?VFH;&wPR31~IYkm%DP&5{X^mzM1AEsOrcT`V;sb?%Is)Yuh?dKlS)Eh|daL$7smQ zu1Ap!oZcH>@YVoyObvEn_)^_w7%DLwAikbe{DTzi5{6G0@T-sGF_snK3m|QH$=G3r zmw5hRPq9F^J&f`Zdx_fST8GrB$o2&%AFCa=#OPQ}B~QJ^1blHqjT)T#woG2D{P}^} zE3u@A6kDx$;W+oWw3oyrf0#hbO$iMqvf4#zUy>n1#K!d*F-+sL1=CI8HO_zc*uYu9 zX;e|{SUujG==qtpXs-t_2gIf&C>r+j39u{kuzu~L&EqV=$#p7Rfm->)%vE$YWP?I7 zW5yhJ6qjrl@`V_zKJS>==B+VG;i=bPi%;99wa!iqp%*`@5WBx9uOAbEDZ5OJ_mIG1 z`Is?|o^^)>o+R5C+Q`2xqJ(P8k;|(YEp-b|XtpzfvcpLpcI7G*LCQo+BP&!fTBqE|8VU=6GD86aEib0Ty4hg!m$9$ria&b%PoJ9c%kRlBA>J2`Kmu3jCS@!@{6 z>(|m?g}T*fIiJIRXmHQ-;_(SH)CVLR&v5g-8QGJ+6z7qya2#5n z_|D4NF4kMsVoQe$HViKQu~m9DEG9pjPT~hd>T{tHTC?eiLOr1eMykS8QNLz zEpS)_RK8D3e?tK35M|WW%?r~FH4wuodd4-&-g;(WNe0?hx$7qF&U+%z5*JR@G`4Pl z_~bESbQ zEW)lNA_mi|Xj6dfo3P&OmcUOX(K?LGx*rn@nR8)1zqwc1-O)00issaO|LRKalH;Jb zK5#PtWM9Qodhw*i!Q&T89Y)d;F856x0`iDh0gsIHgP_6FNyKN;p{F6t;v6VC8{%!@ zeHzkD<}yjuQJbJGFuLWS-Dfu_-b2Yx#UnC~gB{*u(I@4{iXzw?0Ww~VkNVUa-3$79 zbnq=XyelZ5#&j?`EGFhq7_dHU@2ufc$v*2UmU_lKQ)>L;m4a5_E1__ZD?EkFONamx4ic=4G0c4xFvEAg|rS zH@}hs#oe)@Mevj7a7*THXlgDLO@qm|8u$i4*qk^YdFljWyW<^vf2A7l-OSyB@}oii zzUkZYm_2(5@Luk3u1pE^QZgD(FT?V_ouxYM$v zgY1uN=7W~t6UG>`K18}c4ww8V2|9tKYS>(2a~GzB7w_;gMtpxyB3WC?Ix$*9fOPwZ z!AGT7hykX)2dYLad|y}M9XoppKXEPn(7kvLl81a*Bna8!tcR^5%<4DAYnOHstQ-z3 zYN%hL_`$q%OM3O%_JDcE)LBtv)5P{;Bg$GLxl^AZItjRcg_Q_?0*$;z8x+Ivy|y>)I$$>7y2-#x^z>bTnYQqf zfuk;bTK(PvZUb&+{6fxkCHlon#se5SJ$)-?geUqo7xY^dzU-lQ!(iz_nF#?iY`HCh z0NEhgo}lVNO$P({Z}ihn;d0l1jv0^8F*i(7B%`g&yWYz{gBCHKD{vX~IBL@Hr1oa? z1}ipLsp)O{U2l>!hrfDN3yG8N$F~U=!&0oim0i65f6Ljs-#}uReg{1jnBTJ^2km>4|=#(8dVnZ=P<hRPK;n^&=`z>CZ8Shxp2s)NWl-BZ}9h~{^~n zz~wEFB>?fEZc~48g#ZWLWUnIn1J&hK7S+OWoRcvP1Vo@_y2=;-Y`b`fH?o%z?v`}+ ztJwP$iFxg^?U$l9*^s=K_Ows7W7`w~@S#I@rSp%6xpe?`mNRE&}0 zEghLyI{|2(>qISHCK%6WDTFTV#^El%haj#5Z)Wbd*p;L~Cf#1nXDbDEW}*>#*tl$N zw~Pz|#l^8t=H{s_=vziDfs-Pr-7whWQ{+|YzG1rrX@KyqpffvhH=+ttkx=kkoXO2k zbyJ!P1L8{D8;x-b{f_nqv4Elh6;F9PH(sT(ew&*8Hd`c<3e7mNi3ZoeO7AjCPDnTQTpke#o8lv=Yf(mBj5 zdFjOkV{~>|IEClmICkzQ|zPFXfqrVZgwW-L}JM~ zwPlu56Twh*CI6}S6Ll|Lw%k`>)a($Zjz~*iT<7+BA@~0LBe#IGvGJ~u27w}5+#{ik zFjgM;utR{)KV|RhoS1crsEW|JE#a1rlaSk+%0`AVIi+uY))S*0XN6de(a6@*&DSeHCF5(UtZ9Ebx)Q;k4F=^(bu=*}rz!qQTV`5;-Y*J-f;R zE3}X>V>^~Tlz84Z!VFzh&}bi|tivG%-@g+5Q55%gZBZbO@V|pBsJ$8@MgdrLp;ulA z^RvT^`e(;GLtZ4gU>H7cTVY^0(IJzzfEm;N`RRcrE}1&}BCck}S-e2b_m9fUk}@CK zwCLkVta6@}6+E@JhXeCZuOLYt<2rGcoK-rF#6{lDMZ}2KU8YGCML8CAtz}M~)RL!e zXRmSvTT}8gpa`d>hauA#VNLIuCMLgS&4GVY{e2fJ7Q)R8fe+XFpOJwZH`n^>)49>1 zDCPP~Wm52$K5@<+Up4H;|F{khofF=Z=XgMXZfU6U*%;%>uGdxFS+D)zJRKAvfr9)V5I_CjWv1t*}G zxzbie0`M94?Od$ddw6bYAU4>J$jEQV3)JX`CALW1{e43&O%6DTSKK>YFf)wz@y-gU zortGaqc48cWP(sxKDR>2KRR*1heU27;F^s+PLSPPUn*iMhq|dsA}^MnHS8fNxYl>y z7q1-Qk^lJ>+lDfap2)61_*l`;yk8#Kc6C~aO7l6MjY2Ri(F~O5bA#9|gaPG7zjg3W_Nz-HL;qVZ{o?)^pzeQOU6hB5D;KjBby=2^#>ISVTdzQO$KG%kyT3zRf>^Uf6L~4`wuV1 z6|bVA0_D=Cei!Y=4Zp3;f_LxLY^-&CQhwonVFP}dxKBOQi)Rh89JVH<3yw2v=ZEt9 z;<6FMB)^2kA%0Nv6th>e#XS!HCEu@G{G*|$!EH8xf(vR-qZ1@=YjT)kzAFC7u+lFo zp{v5DttxGohgx;z|IW&r1q)@~7;7WE|LY(3>AF zK~VcdjREec)`Hpdc*E77I$VpYer23-S^oRO8VKGOjjBMovjjxUDw}3TuE39Ep~fe0 zji`6Ai;?tp_6+T95!CACn2K&Kp$k8E5J$131ap_ToL-Y$I{lr#vMiAkUu0UtpFE+) zS$zV%ud?HCq!S@56#R?e;eih8hiWif3DYJuJ)&eexkko ze}uhvRFm8GF1(GP6s3gFL|RB7bOAv{nhXYYpz+JXHK^K2WJ;vJ(js)uhHN1ZPMpK zzXEN*IodGx?zL~P)3Q;8J8CqI4}foY;{=dfdFp|i4G|cec1@9%Y3}U`M7VP{Y>UrV2@$)(l3GD?MCYxHSg-1KBYAo$?yRv3{^5`4nUYgd~Ieg52ca9M% z+%~KU8c1W%e7iYPFjGlt9V7W3E{fTV8liyV*%noylWw?}jcz%NGNyG(=TFJ2b|~_# zadvLwS`+I$hsUM8AD74cXzy<@+%Ipt_H1^-Y@A|FWrSVoc~=6)Kltj&DSOqcBO}96 zD|#Ir9qr7GKo!7Wj#>bRnKzcw@KFs(HpfdiCH==39;Ju`9 zI{h6Wbf;7!XEe`I#8jed`dDLJGq(jyjZ$8!7Owf~$Cx>u&nir}BI$`fH?4~d(RIzO zk9z-gVU?V%&A2{51bd?RkTh)@F<;bE^CuIJ;;mEB@m4;ms@B}~qtD)fm|!QN{}p~h zKDLLC0AM6Mk1*xWnxE#bc4%`Bc-=(#Ic5Ck-G#mHkiXL+8}|)wjZ=JW+E*K?DdX20 z3vAt|rDnsV1QQv_{f8rLQKUgGN?xQ84M-15C?OAR!amK;i&Kx2^pJW;K)+ATS z6!KQYAnh+z`y1Cj-on!oYTbEtx4tK~QQ)4X=AHJ8iAMI3_9MelUJ1cbK4{C9OgEScbg(#-EEWeM|C|+6A;xMz@xT#?xcK`|6m%yFuT4i2r@PUku2_Np~>HdoJ)K zdM3l`anp*zjEe2kjGYQ@Ige+UzjLBG;RIf6oH3xS3fIN3u5hbnTKQAA@(yDc!YkTwFJ12HokE(Tc|W`To3#NX)!%gITvZ4t{vrc3saSUU6ktoQ zz%K$68?3?m_WP3oY$q{?RAu;l9rVSDM}at`_0UWrTAAdVax?ziXuH+-urE|wVX*jy z^yjjN@v04ejL#LA_!@VXiwvqFodFK%KUh};+H?P5$3%?ljvDrafGG^uq;n*)}jw|m+9|Y%Ed##)wa)QBetbxOfeBXNe_#14HmEPtK0=UUU8iQrwDh(s zh)7HD>jE;p+u0$wZlaHr!?EIJtVk!joC^+y6SpE_JNNCDzlNzBW-Zck23^hFTB+h(fW!2lVBBy}l z*G;()f5^7|3tt-foQy}gwSN0YK9)BAkbJ#T$ymNzv?fS6Nsp=0yPu_mN)ILG{|q}C z9D>9is86QMd}Pvmb--5Mco7$hs==$ zx;J}fdPSWe#4wBJC2g_qqtz~J5n30eJd1*v1QXc!k|?z5ss9#Og?|*-EGr5x4C<)_ zinyl{^f8H<8NBwJxdOEFXgBaA{wAGOYb-eO9HcwYM z6~x5n*LWtZsQl@=nAuG>pcTyN)H}(l|NLvcsY1&pQtZ9;y|B*11o5fDWQ~DJ5eIM~ zs6W}Xrg8FBzJWc-_+C<;LPBeD=`{?RnplgJ(8n*BZngR~h3RfoytReN?bbnK5L5y-}^Tn)D;`ZKkJK_yRs~t?@yPQI0mX6c}v`@Puj(maiEj=GUefK>f zHC$)j{1FE4A?Wz*D-9u;=2wqwvs}}RDvYgu{}!1#vHO1h<9}EG|B^|_muiYF3Y=!- z_Y2niNK$x+hJ;=`YtK0QwVHQ;Bbe`~r;WYzXBbcPxDuu$H2UL;l$TO|F{==Xz-G9GWzPS#Z;@fo`H{aVwTi1EpfD|m zZKfpQa(!#OY<#eG))?PD6pYZC9OdH5rC}2KPQVifSo=n$2U`Mq0WsIO`Hqw2`tBm< zcsRI|3N&(jNo7fX+Er%F)k0r2zRSh2k%AoGwK zICMMoqlNWJ#&SYLUr3B+;)|kGzH#LDoS<}K2dnV_XXl-yAuLHNNCmI7)H3N#d%)*1 zWy?(-K5(r2bKsvYvJUm%WLGg+*`SM3nW+(lHL<$Tt!WM~cC?xbt4g+NE zyBxoyY_uvMs2shht&tPQ@B6%6#$ojR`L}DDKMq)rxYIAcw&4-}yoaYFoGm|#Rw^`> z=N;PIr!o1DNd8xW#f0%A#X7DO$9PETWs%g658sGc{Agv-|7|Uns1G!WBbMii2oe~C zep6{*t4cv*H^M!dbTH_OkC6ENf`B(lzCkP2LP(JiaH|qY^YazqY=W6Y;~lox?_<*1 z-n9XOF>5qc1DPo8)DVgRL(QsGc&ciyTxjBN3LMD{?iS^^g z81pqw1kAC=n`3fz`Md6nJxkRZ2#;hsH@1(w^WsG%jI4s|^V7FkW;)XhEVJgqz^9MM zNiMjB);as}9Yoe57hGFowkcn)WI|QuCtp*^7m^r3Q(d#!DM6T5HQ)|?^4PPCo0>%Y za;=DFA(Q6YVM;SVH13t@C?xiJLymWrw>}_$zbW6hBh&DBC6Ve#ASUlhC#OYOc3p|1v=qIlmZ97a3%=G2$WO^RM z6>+b1M4Se5UgVe5{Bnwg1%$iyIz-@@>9gN_=}h3=YCL9cxNu9k=-wbmoCw}#f&nze z8M;7Hl1YT}1Y^SA&T&jjS{>k@%s7x7*QG_=@=&y*RL&#!kzagp@{5ba@vs}N6JZoE z#wOv(uyvwN9)oPe(8au7xW5}*%-oG=9KbwAq6D0BQmwzP;JpHm9W(e{hs)R+!3% zU&db7)UeDl1*)GpWN7X&1xgC9ZC|A!==!NVX8%LX{x6YUyh09XUr)vhAVti0lX%6$ zZkfdsJ0mYMsPLfLVv3ny?()v<&kHR!IKv^>a;u8>4bg0uU;AFQ8BMBmGC6uuep_`U z@aY7GYl{H`&Vl?2OVJ)!j(DdOhRbxDA!*In4HL(}KO(w8=N$>qrBuzVgF4R=MGpX! zD1uJ*e!Cck-LwhSx8+AZU5&~V82yJkM<#(#0NkKRdwwD=KBr_u-$F=dm_C{KZq_++ zflnUIEb#PIsS$`L-e(iXXr@C>l|oCTyQVv!M77h?9@X@0S|IGx>l)+*6hStNPmkIxt4W5#P~arnxGq? z_gL_s#Nh@;Bg=<@Gz8|=q;ZO?kGCGUz|9F0GB#u--4-9>KWeOseyE{(61H1FniEN5 zb2NDti$;+m7gjG-*OJzyLAs@eT6!_ZX#OtxRi#3|%ecKbQ!u>UM>819kMuSu*Syo* z#<3<^m&38i?l4dc950vj%Q7Fn<1|d{WveW=XR(kdHW&;78Nf!O!5wd4sA*KI)^SD$ zqcvxc@Z*0;?VomkQH~5Yl+d&lWLUO|Rp)ienQf4}ie?t0Jp0ylk_9l)Cc{>bbBy+=Js%mE5e z;LI{g=5iZF%z>$p=sBD=)>S(Mx0g|?RQTK6_?lgA^NQnJT2(syfUUC$=p_{)pInmj zU3V^p|3h@e3AwTDk+9Len(LjIqlD>+oiP>H)D@{!!uBx%y+#DH3j^8~o;xH-GHPa%Q5FPZ%pTbx2DK4YT{Ut@gJ8jw8NLs#VAW~F z^#{NB0Fu6!aU-puHY`gU;b!*idpNU}P}#nJ9JBFjrKO+a$p!!6)Bo3MkJ18=0kidM zHFvl2wBqyktuG-y7ncAM7;xs6NdUo^7c+CZXeqa#uE( zGq)|^vrDXm-6E3*ZQ42WCFtXs25r#P1QyPz{JPkZBD*?!MP~U@_WX+ISuKv88Q*j% zmcceMsPd}C<*!##Sep%>;f5FnWN^_@O(Ys^SEFrzpi$OJC}M!s-SCvi1+-sR zrb>+Cb8316canbHGp8f;D)zIw>uPWZS7!bTAJO<{l>otr8VPH>oWAhf3wY$bymbPx z$K zW%tv2zy5)Lw~#mV!8gpkOiAIVHoW-6*0(lb)VG#=+Z^`r!-gRkz@a5-@n4dbL)i0w@O zGTRL%F+ZzNa9J8f*O2gJJ{~2!HxxmE!!aoq6z#RyBT~68-A_CvuXcm$SK&W7Axjj7 zSrbWQGkBAXtlYd8{No{+*bD|#Ra$i`fP-eN_$7W9-ySR;OGKkvfuh$&H`Yb#vxSco z2ZYg^iN=8WTXuSbbfEa_sINJ>wT8x~0M$9122-&|p`c{Or%r>>b1=uZgvq>~CUrjk+btKMF3&)q4lS_DnPvpg)2KG|^Q`D(K z;dtVfLqk|(#wsKjuDNrc7Wce!f5OTZN};v9;D+$ZD0$$pRh|0*m-fEYmx&IV!ja_n zO|^!w?TrBSv3CF3m8Fl87p*L}U{AI58+#3p@&UFr=vU3cW2L{@#l;te<{gyo|2Ccd?q3N^S;%F$YK)WktQW zR|gUDGJpdB$=Pn#h%njj46tp^X`|}j^q!!jFJgW!D8VyKDg~mda@pyr@$Yy0P;^Oh znCwiQO*Ch^EK(@rX8aCzH{BkFXbMC`PAYvHf=J%_-2TK!e~&^_)j-(Y>n3mrjZ+~- zT!V0|J75zSq$K=Bj*LX&(c7JKx^t$-p9+32eA{+(BvXBQ=s;(VeMowAMMWqx$l4gi z|KUutrl}hhU07ny58Ytr=k!0Cs~6l;Eq~@7Gx;1$_0Kl!pI)*kt*7ama8uuLbN+pH ztL-iiMwf@o1cN6h*GHTI4_9o4cpQq?zLZ-!OXKx6>6kQALrylpzMGeXke@jgy9+<% z-5%+2&r4=x;?8;C`vuZuJcOAUd@z$-<{*TyfBBWg5Nrhq?lXXZwGD%O=&>~T7cj<; zIiXvAMu^NYMKOdo=Q?sg+4qiuMrXBE#+zhp6>jGp+b{$vHxHB+ERH(4rcn1$EPZ2k z4){l1@#P7{Uj3H&N=2XfZQl;JhBdI|p&c(zrV*F_EJcaj{lEHtxQxa+&^N-UZ<6zI zmvObv7csZK*@iCVms~Mi846mq)!SXAy#NZBEL@K4eJhH>|)%eC0KvXzt~sLVVfM%G1^GB zloZ{=SFp5M;8owov67ZYuXQnQqPHMN#$;}KH-s7#`Spzwd->zsrdze#e>9gG6wUtq zr^&K`vSP<4XL*Av)SU%H|EP1`zR4%*u05XC@;e2e$DQdh5ah5Mp;78b`yQiihk4UTaD0(w1D(aJo>my&{uW0T0DSpWt(C5#=pe+cc>AA@yXj~(22j07VkOC-0h(-8I=U3^9U5Wjr@L%*PU-*xSaw|VHE z(p=hEuF)v#jTAKpNcOp`cyN)@JGi^hhpLeoCN4^3qdVF7gs>)Ju08P*M1ebaiDdf) z)UFxk*ByK)?rX-0nKzpGe6l<9uC%Dk%2l4a<^G2pb=4*na*@HJzx+}Ir#D1b1RakO z2G&2qpttyB$7!KkGk1r>Ye54!2UHI_733UdpfI;*S)Jb<2tjhcl#88+64u|Xr(S52 z)a&vDnK!m#;7po%DiO-5j zezGo~Wt^U^$%|A>Zp1&3BG;Nxe-KSf7<3~sjsNG*e)o{oQR_H=C2$JP*P9W%uazDTM63Bv4|i zU5)bO&a{Zc5DRMCnRZg+%W)P?VdEIdJwmYH=^{Q-a`|R?3=k1*+NvT}h*DK|)XccgKaB z`u*?DN^-(|TAaQ{`@cs7O`#w9h&C@>=;f(CT^1X%aIZ6&TJUXYBoDo24^fesd}H$X zXK%uDYQoSq1@=2VkxxvTtPH-;q~N*vjCh|&lFCQ&%ut7oJ~5^P94MNPQ8RDe&FFQ6 zKPjB(vM^qW7^D|t=d)0<5tMU^?*j@Fh!>>{(-xd&NI;nHKw~#8qllT2x^IdcV;vex z7=DbZ03OCcDq^1G7-F0wnY)W`;1}k3`;D4hCm}d@RMIXT$O=*V)+-u zGrm7uIWkfVg5eZzxHcNRdB3DWgi=f8?76J3!PLQgpsC9S&-Hq0N-crhd9NQ)O8Qw5 zW1Ypi0aeB!LZ1PPog&OUye9C6@EKCipuvKs)tyG>=OIevo>r+ytaBVe0lP5AwogA< z0Om04U|i_BW)j6&22dqwQqgI~yiwjHVdd8=;LRg%bizvVDFdsN@}axAos_QfdRY+x z)YJxS;||nJ!mi~R%!pEQ{GVrC)Ty;q{k*c`P~**5@O-LKiNuz+h!ncReQ#v?>7TqW zKUy-AtnXO!_`#d>n)|FJaLgbjvd+E+g5*O6%q0a3daQjClGjc@XsN8&dpin2&h#xK zCffvkqyx?Q5df3pnb1HBXInf$8T$$W{yyJ2*s=oeo%&YOXK*U4Jvn&s1< z%?B$&!s0u!+jrvu`9twuAKkTh$Tg5xM_MJ?3a^d7MK3Li(4$Ci&7B$(Nz1u9n4IEo z*UrjrPudqhdj*0-=jket3lpxT%Chr#iBWsza^9~j%-1C=5Ruc;Yhc#+cyq9*x$C8r zP7pI^(#=A+GsF)S&`9hCaSuUVoLWgei`5)${gorEO9q?O@T`Z|R7+V^wU9j5vs?V_%`lnSnVUh;R0N8Auuoz><$+bW0S zzpMSt_s3anTjRrRNjTxTU_PtTb#5r||BY_K7Sqo_)f&F26{s-3tp2zK>mm zy;dplhd{LQj12=8BSaaYdwvN4Hf|$u#FUq6=BOc-DnTPZ5iY? zNIdwwdRU8jc{Nz*Qp{MXKy!izcKQB6%|#>q9h#xu2vlX;a#zc}~rZym4Ob>a~-uleZPXtvn}Wc(-P zu0NXpU-lb82$(IcoLB=-Y&WVYSzGh#})-#|C4qRfszLk)+8T=p}2W34DX+CS|myfL^ z|E+qz9HlCzqWgnG`OpFP>s`fx;Shlqg(8)8SsDV}^lX=W#D^#Wftg+ly&A&^mZ~(R zuF!(0At8to%@P9>Kbcz7wk^}t-R{4{$NX{pl~{rhvuK3)a)hW}x(}dD&+9yk)zfKq zj|4@WuxTyCoSN~s!cqJVOT2;>mQ>^J`84g|K4Tesy0nKX`*qqmngT zL)BdgC?@7ao^Yia!6h79zZ*C~oFpfq#&3&{6Tb;IjQH{CwR`csU%lrcJW2CM-2wiR z0+?^{(EXG_zVezKoS0h*$uUD7Ewr)ekNsMu=bQG+PaRC`G|uxkj%C{YPq%jk$JW1R z&dj;JCzUS0jouD^qIkBmWiKar1QDr(D@G{!{{A{z{$29oM)i+pB)p0D12 z8oBMbEV{AZRW_Zq>@iG#BX-KmKqtiVV0j9C)L7@UvBPAc$#KXr6>haJCAa;{@KxnD z9XS>i@2fwyK27^6(dtqkHC*o__tebJ=z96CW9?k?)byr_O$WEGB4gzKY9w(gh?cMH zlwEAngTADBLaC(kWb2^2-{TW^M(_n9_q$tUS2{ewBQ4~r2^+4M?#^F&jXN}SZYo)? zo-D{8%$ijLR0r?sHA}LGpL+wuPA1$X9=$~w)0OO)I#;aE)_UBqb#>XZB z&NMt|VZ9C^WJip>9DE!bY&&aY+&Xy5;t{G(QdRiXZhiJSboS=GioUpynptu|eNIAm z=OorJQ`73fCyH{%y_I;SJN^r+o6vP}ETiedTE#`W9|5zeF3m@M4XGQ+JBfVnMt*)g z`aUk@i0+XvfnX}8DeZ1}7eY6d4Px{b+=G{l4qDYXX2#rVh8IQ-_f%_Vlf`X+Wb@y$ z_crmq*12CJzh@G#e>OGKRTk?`REnn~&^z|G^RrsTj0c36s89Kmj{(}b?N5Ul#>~_) zXl6x-X&78En1QTIIEf+~BjH)3h_?_V8lNbgqSSs~XY}P$wE{_YtS8^=w<5OOT80wA z<@-@<^@dW`%_BT@3Kh3zcEk#UJ~|yT5}va}P|nnZ+}pYCc}EC2=aV3&Ghj0F12&KV zo`F;1UaPwXCdz;v48QxFYep??DI_%pSmVX{jpxE{cHxc6KXx)n_>e~A=jGdu|D6^6 zKOPosDaefGh?`?`$FuL|or|Yi1D~2`EleCD8c!yV|K32>F&To)qgUk;-mw9vAAdiVde>gj^RtgB zW^my*B`#piw}0v^1{)kmbDk=5mHTr_!E6hBt4e?ju&wyu!NH{gSmo#8gcBUH6fJ}h(h%KASj~Xo_AGJV&AQ%pwR!wmJdJ+;l>NZEDW=xb2Gs)p=E1k~$ICF$jE2ES!7CA4B@38BPc>DeI z(=7F$%on-cER}bX5_P{*~ghj7w>0je$7wDfhXG_TkTq0S-OAHv;M~2iuY2Gru~{WNgS3(3bO;kNMAv zzEX+P5Mup0Hl6@YeE_LSbx^e{Nk|qx)FQZCEWywX&AIqAq=(sGhYPG!c<_J7_kX@()cC%b0p=SU*4l>3^gfEJ2Mhj~ zDe-+={;h4+lf=(4UGn4ES*OMMPN-dZhpfv?!*QT)Y@o-8t838ad~J1{lJBo-!GoS} z1+N*cS%2(voXl(rY>t*iw~}v1DK(+;=_H-HYk6Ur1g(Xo7iHh1)7^l94!<@v{+4aA zr(ERimRmyFbY%8mESNOvPkUiWDMixOP|L^g<}Tw}>s;7wb_hSY{T`m!Xpx4EUY5k* zV-E+{9h?%yR0kDa3)dyEP0d@Y$*D#wZA!Zb#b&;USPQVN`yIhGx^RDm$bKEz0|aoRv0oA#Fo`>qC*tInz>cF-rfS3?n(IBvlm zxu3asxW(X^FfGLw+x~^oVkc?;`uZOmccd{cUcr#3QC??;cDPjwHrEHbac?{e-u)}+ zd}8~cx3FXOM@r?po&#=lWn#GP2`k-0Rp%-06DskhV+FDA59m)nZ;kJt(NAXFDRvAY z5<1J|AM)sacXyFH8|*n)IzMF=aBsR3Gv!`9i~)PiCimWI|K3CY(V@kkiu-d$ckN2Fg6RUjVkAF$e8nDK+)xRWuy0te!8QXF|BNn(}EAp+zBMqRcmK=E0>d96MSG25Jw;n_9 zPILN&lS3dXZoRd8mAYsw-6^xc( zIF6cJEZzCLF9$^=8z1*H)CtIWo^Mwx@-@e+ZAifQy2t;jq$UoJSLf$ht7FL^Ei**D z+0OMT;>0RHUu-K4pUnC{IehGZ`R0PmHm7G3(c$WW%spZ$&qApR9@u2QI4wIB2Te1=pe=fR2enMk?HGcf0oi1FW=?s{H8)k zhV#&&EEE;|KnkY2awK-{Qi=U+feGf@|R4HO_W%{+4I{dt+`Qacb?{^ zey-HTxc;kYLPywF3TFz3(wx(~#|AAgJ|e`UeS3Qs4GOEw1h+j{$r(hmzm3q#hTCj!TFdL@2U3p z-V8^wS`7kzSaEs9_^;(yGV-hV$r`e|k3o+(#*pxBu0rHEP74ci;uuaP9 z*hWgx*~UO6^((0*lY`GV;h)d@1BxC@!Pa9a6kd=Mx}Dk56?}m< zY~_hSoPfgsQ9&>YeixY+Oj7r8@@>ddEb29eiR099a}K?qQP89t@g!`XN$M_J zyrkEwF6M8pmEFKZe(3Vu_)@0$+d9k~Lk@gR_B%vc&>fq($QZhwo`st6^BY&DepUul z{;7f+r=$Wrn3UhQ+Za6cwCBiQyIN=KUZg_NypxbtT@^$t{$~9Pnq15*VFVaFn!ckqykPy&(`FyLiOSo?+dR>;q|Qs!ofrDAwSS6 z4Ljgake2J`@5XcW^&&-KxvzEI`hi$qJvFN=|BicKWy z*pfWD2HKU%vT}2ar$hnG*DUa-%)Ley@85LT`{6yM?fZK_m@GD6PbZi3>!>&Fv2TEB&-1AX5TwXAbdU30t)ue9_Z-I>#>|5HV%gw=_Yok8y4)rK z>#@=$ps%&MQkRzi3MMoqg`Qt2o@ z_5@|dC)wc;6}7&#XlHv=9WcH|B%;+j-a7sX5BJ3 z6V@|KuD!{K$q`JD#emBY_2e>AsDyROFFm|cdCpR_< zW$d_m?HTWw(vw3bD%$e9qHh-2#Ld*yToN0VCOK9t^3F*p@b~B(NvIzJ9YTzq8(dH= zO1?3$b+8lL$tYamK}NWRxVlm#ue7NJWDVdv4D-EejU5Xqdz5vWuxL-a{9;z?oQ4l zN6--##md7NIZ_;AshrK68lPm1kwg@|E|B|;WIH7mCH6P0AuG{G@W#-nJs>^0RrN7H z7Z3q_{bdNhSMwDb``dlTlw&0y(3U~QGBia{(Z`E8J}CsjymoU_VRn{K>}NAf0F2H zsn1U+fBpL9c(T+Yj@}{JOjnX4?UxGjfJ}2Iwj@UrHI?&~@84eq;EsOzug}Jw2VSUA z*aSKDr-w)GjWZRCG+g<6K;7zEI0rwbl!pPJI<;R?E{%%jEUq%l(vs0lW2{E!()3RZV#yA zdHJ>H*xKT>=5i?}?GdW&PYwghB~#@C(M!ytsr#dE_u&+X2zEp@;fw1MbM$=YvdoCf zRJ_04kEcUKLX`2x_mr#JNfhuN3ZVG?k@$;JUc(Rb+*}_=Hs#Vs#V=L{plUC z;ZTaX$6xLt_C6IDn_g%rtC4wcZD+JoX!vD#n6#E4HrJQmz=~lHP7k>iB=KGCkyFs8 zV{IBu`ekyx(K?=PK->;(JW)XlvOugnkNs!L53@McyOpo;j#*P8x9(?){fe zs&0I|Rfd@7H~pki<{u@UASMBG!?M|W_^Sxl@&TJY%b(Xh;y{(BLzJ1aWN6Bc@ z~x4UX@6RNyZQ2YoUh9&Ke?T#BO}aRTU&OlR+I@?c-y)q zmVl)Nan#KZRVrtZ#Ly>6^;Z!Yod>0z!Eesvat^Oy!0sPumRxW%PsHoBfv{9dMpi~@ z!q_8A#Vb+FZ^tT86lDTNLL&(|b~T@eO|{x0f6Z1i@C`gcN!#Wu;n|j<3yY)1Nb&qF zncoPCNY;*?$6l|J25bJZhKY|VJUW-ZfhN_jo=tC3{GslD0eDbL6`>IyjMo0#QB7}M zV@I*$(M9YzqW`-Obv1>foCLMOO$@q!Ik<5g-pU3R9DX~D04nlEk9buA1zD&AA!db4 z#oc0hB@2+S$6b=ZOVn+^R(?$u`oz3-T0tVYopetmx6@Y)u%_^F+Z-TBpOK|PqFhE+ zOBe`tGT3@`qw`o-J2~R7azk81+-p3seR+a$~+Xfr*C`C@sDoU++PBU`?9VhK|-?g-4?&3B0c7;pp3uc zphAAHw7Y<@jOnoE03fVBNu0G_N)rzuPw?4Dd|x}KuTyS%A+R}GBdas?i7fH7Cj_U* zUdd>2nBy6h^w~u-K!Zs$A>uL+IS`7*tGeo|YP(gp0b#OhJ!(Gle9iVC)2N;94*xFm z@UZDXa% z;5N#r-LkRr@Ysn9ncwc~G;{n(HU1kjb1g(^l}cRP>lu6YDgS&Nc!ri{%0EseTA9C# zIm>V_h)L(g0hRby78z#5OCC2W(B0NE&dvBEjQ?Jf_9Tu1LHDkz9D)SH_<*^kA5_bP zS9h+Jm-m>qG*N*V`Q4unuaa22FyOY$RM&U_D|bJ1M&(?e8qEolt?%iX&3|Q$hYdbK z<6qxs?P<_2d6`dXGZ}o@wejP%t6NDwW&XX&KRuA)sR8xGPXFs9#N4*0W&GMk5U7w= zKYinT>@K}h9q#D3e+{7l!zjJs&7uMfYCcpXOoHG%-f>{nJgv+50^WIiJWcErdBq?n zR6d`ol9C^6kUB1|@yGf3cKYGuUH_@I@xasOz^MW9Z~g_ZQhq#Jf92mNh_Pd> zt6wz+szJ1+kZG~zN(P>cwD?RQC5}7F0?c9s^*REbr`M_|4;>!Q~gGYc$DXX!7LhC*w zTmraK%Oedp0fu&}xD$R}4pG`{eCezqq(Qu)7N{eI3|WSOq$}Yui_N+EQD%I*}lmr9K=D-2)=>G>NDV{QF60O<8!UwPv=k#rk0*h&_~a0o~z z#>7QjUO-CvmGDI9BX0fgatlTR$bfcDtt_7;fjz423u4yM;B>lNOz*Tbb=-n9uUe}T zz;`CLqXI#HM4^tzQu(R z_B|YZO(^yTMZsHi zP0EDXKn2`&1EI_99h#|4BMa25liMAIZLA@YooIkWPLj=aX^je$GMoImRB~Lx40SSo z+<)b~j$3rs$|Cvyd0I+qjIiMCq_nLgv%cz}#N%f3%N*)iH$Lr8cyF(R^Ki`M_uHWI z0fb%wd9*S65aNp0zFqC*V{FD`HZefpm^b%`XC{943Rml}lr1$NU{_%js#s?`! zF$2>|IaCc7CBO=HanO5UKAzC)1Z07L_K8c5Vf<5sdrP@+tr77g=B?)cJhlJpV)2Yp zRR!(UrXB4$#0LhIHn^lO!vLX66W+9(D>#*f)y0&jjl5q7REA`FR-QFw4lXuCvXcS! zj$6y!UbGSP&Y40B;2437e+bOJ8_=v7`kR6au%>*Mk%C{dLHN}i`Tp5c53&dCeb#ShrR6i!ClXM+gvl zudTOIdr<*iN&zK?v&$#|^lbsE z8pU`IOo4NJm)8M36wLN7L=Yc`Ch7)39tlmZ3wMVSkH;iR9i|Ushb|?rpn{oLsDCyasr}@P-FzpQ&i%XUK;n4I)Gv zZ$`qszP>yq+9&xqgx8u=o@JxDP?}i}SwmxB%mEQi8&`R6E1cY|jmpoknI^&D3JhQ; zFiuN*P~?z2MHFhr7y1213XE9U=v+cUl}SEp@D=yf%)#LZSt*?!ts4{FBW? z6XlK}pYb)@N4;Yb?yFE8mIs-}|2YM+4#)hur^Kz~oWXeKmfQE6w;q1Ua=eBLZyy|b zjLWfkA@lZstH(JYW~)kkg1}1O(M9;gCVX_etLDAQcMB{(MsGbUwKy?>j7ypP= ze5+c{}=D-WdFVU2Kbf}MLd%EYw1I4njl*|aQ&;0!bK?L+hu&{HU

    4Y-RefA$bB-btMH-rqN7ypE3#!6SvM9)&O? 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%0AiA?{2%+;R1U`d33g2p|!?2@j?Fxn|<>d@);+ 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

    Uh zP>cN#N=l5-8`Q9oEyqO-J726QzT9ck*XenVjkQuO>}2*7HghMCNhn9`X|jQO$Y)Kq z5+ze&0DHexI)ctK=+Ph>(bf1lXnU%HN63C261xm%1+fr?j9k7BDL3pH;grDN`G}d+ zpQveF^MRLu8{PS;eZYo!Fz=M>t(SYvj?1khgBX3+=69@kL9Aq_TcXnSOkTibKNH@Fo8kFfX|YMV)_>;WT6Z4-UsfyztX zU@9yKeYlq;%djg09+)EtFRAA00Z_mg7>?#)HsE0@CVxzeCr}bs3lV9+wJxCSd9|yD zKzj?@wl%XBt~uNZsSAiqOI1*K5h5C+_@@;UOOPJ@=Tlk42E%|KZcz0^$G`wtKnA#B zKE!J&;v{tfhFB9xnnU(U~6dFZN^9}QZKTkF(Js9M2iqI!A)$%IawJX zNW+vY9e>BzX4c=&LM_}+Ga0KEB|2c1Vr=qfgFWQkcZwT+u~`|e)V1AA!lR6+ zLQ4i9+V@erCGYY`qU`vq(1pKpp&g*P5Qfc)-9B+#t%#;~^ygoKFdSKnvfZ6F>@OeT z4@DYIyRy%g>onTvCQaAavYLD}{d9)WJlm*$-fvvxjgJE;2ekyO&)~sH92A&e2HR32 zij1luXLEPke^shbXDo`iq-j*>21h7D#p@@ zu1Wh;#Y?`GcMZIj!wdsHCsx;g6bU1>8j>CeJH+rvnTD@@@{clPRqlV9{JZIpKMap9 zWSmxXis8_9!Za>G@=_R&>In|O^G5%U1VTH)IG_8}CE&87J znd-Q8{OUklUtB$196LIdvklmn)6}F&XcYyE^ULEy+mhuS{TdGOdd1z1kz6qa0($Pl zQ3J!nB}MQxJg4a+@JmYx#fJ@q$OOdT3c>EoN*U`X$VKm{^<@%Udrl0=4XxK^vM!R% zSFNxRR(T4LfKl}a=fV^Fc_>9HJDX@#7TO#>@zI9I(X`nf%@@F34Ybf?p^tilf-y%* z)afm)td=fPO}YxT^3h<7j?U+Qi0!yJA)o9Y*I?5X8#Fz*xESo5HfS+NeePSY2}&w^ zp@3VUQJV)}eK;%)dNJhkBU127!=Kl`N*TYXeuSEVzpn?OVj`S!6+D;LQk^b;y{de( zK)1r(Lc{UgpM9LO?kycJLJH$Fl{^dhPSOjKe(}kfp>;nb<6Pv|d4HRxjIWL#wzkPK zNzt}`)8$dD^>3!6FflyOXcGl7g!|t)ckrIb$;vIt7}5iaVp$x^G#Qd z=NlTXyR%B2=_UtLFJJH^7D=* z@VI^+Ffj`H>*Ge8AxdCS4>}oip3m)|i>YkJf|Ot%;?nc(`t#2pPkm;co|G#wtejq0 zN$j1)aB8Kk0(CvlSdTQ2Kobf$Jf#gP5e@I>2s~t(;UWscYg-@M3v>EPWc?Gx!sSV+ zZPskhAU#2a5@Fc~I~slLhq=UkEo5~AeLxPfHOP1n)b)cZbhc&=whLS#RH0HxOqRS!2-{V&<+g_w`B`F`#y(=qGng@bRZV z^>F#{jCfMmbU?jg2YmnY0%(K*I09*r@SiBWLpx|#$Cm3Ic0Lbd5>2rY=Hz&x`X#Y8 zgh3>$gtE{I?6+6seTOnuybZGiE7vHLSLCSAFd2T;hTHdARnkPmgWq8h*|13jJCDXK zquU3dD0s`J4PtZ@Es(d(y=mhV!>mYJ(dld(Ev$NUyg!3EVdN)h;=M*@H~0J8@{`v( z?K1Lu|L*){XZ0|}uYKQbe~4)0geWK|X1PSV(I_vC!&W}!1?^QYsCu|S#4!Ie0nUeM>~W}8>h!(}fN zQ8WNKFHTU@E$zWqrxo7q-tLjAmpr;VTwtEnZoiG55pKT?(M;DjBh^jYmqBx4PP?(f z<^U+UohcMNk|4&NyjKq-NL%Yt9Z8!t<_keLdY88r*NcjTOH{bi@aFJfOnwfS|Tuj2!73@0?8F3bmoX-VckVMk=@f(^=sL&)LVz_WTRfFp@dGlcMKTy%|~l z=*&7?Ii7g4U*EI`Z|s@*@(jt!A?a2Zd%S(^=dln=#-R(uD(amXj|C;^d5<7YX)MHJ z+mGShpAt;;>piv~F)U-!bCJP9M`;DDBdWv#mSm_AoEIAp&1sb)32tVutEdl#e2&Tj z?))iWbw{T&a-Xt3uIcs7iXCx7$jHq1j`&S_{ea}1ND~RG+diEsyKD6q!;+9t$J{M= zh9 zuaq`a%)mop1~v{3iq??FdUf7apxTUUvIr_zohBGE-A&QUI{#E|BU?;y6dJ(_Y5XRe zj0*YW$(n;!lNYgP+j|a_@*++2)J5mp@U%V}^nE@VekQ-u&`glQ8MvJE)v(xeG7cS{ z6dHxYv{L2n)NpG-VKSzFeA;!KGPP_e8WhvI$;C^^=@zvqf-O=*C{j6q0S&VM(atHx zbM$xztpce>8LD1yOqORATm%PWrnHJT8KZenv~2(QI;9RcV3GsE3EZL(S3oeVT|Y#OB{e* z%vE^TnW!!mD;v)Bjl&$rKX|ghdsRK)-K3*4mt31{FXoMI`dWXTGJvabY1FFH=>@|# zAXno&!pqH9Eul5@{^8%%G~HzKZCWNVuzQj#dC&7|%ti=5XN!f5W0s!#8zQ z0k<6;?KyJlwo+HxwRRiAo)LZ@vKCrw!zZsdT_at2az?XgXF|yOXVrPHl`*d)IXdTfc?KC2NDJm>$W8o1#Xo!3=wNnhD{J%9iXTx$ zXfovEmT_RYTt@qCfP)pJ~?4F^32O$$p^Lu7LLKc*? zAx5nqJ?#CkR*A3Ucv8NP$+~~szTGOX9Om`r7JMMUax?taHJ_O)o9#4;0zq^f-#hX) zYpU6WRTAL10^_YiCsR$Ia98!T#~Qu8&_~432x-%JBZPb#edXnvdbsHIQ{LmYt#RB) z*y3$107}Ro^s3x5XO)Zv;k#jssit%cPubsJ~%rFdbsa(KKxS< zAlOT!dUyU{N!=alL$zx^+M4ZPn=_|v52ZkXY=3d;O339ofEdrfhABkEb=@x^tw}Ulf{CbfeZ5sS+sNzwmG&8cPN%; z!7mHW_fv8h9giqXPG&^Xhmyk8W@=iC&!5 z_HtOZ9w&zVV_{l6yL1krCS14z2Y3W`ODS$_yxs()6*05bw7#FqO-EF;YvD1?R)ysh#IqKTVcrk>jlsUePS#XhrL%I-t zj z*nH}6&E2%P>GE~ut2qM@#5r89R6)O}K-H45Vkc2uZU9@YF#rCU(BtE=$54Y?k|TkV z;VRC8>xAt|B*zeqi%#Y?M#gC~S&H&SHG>iZ{wS6{E@l9a7;`5F)R#7LE;Seo^7F`D zJh6#ny&jXS;1nQEdMrM7%%g-xL_NqG##ATAVD)ovgV7?KK|} za2i+Rr8m2dQ`e0!Gi+hPp$y_TevHB|ICQVVU%}f}*(4dz;{dIQwCk;^ZMf^aC|0qR z-N#gp*&8csORV$DsVzaKEL_$?7$=IdbR;<{vKx$?U`LAa9%rnPsrd631U~eCSRig! z=*v!se0snD=`ZbswYsh9{jj<|`#k=DJ1O)61%l3RrNM5QTzNN z@ihB4fn{q{OU)dfha4e23CKjCBwW(-bk;wCODdd#>@) zU4)jol$Dbo7+@m~<5Mr=^oL<)EM?*3$Eeb;J^+P0>F}SqVWXR!oNdkj z4;EmdbP2cY)mIBd$%Ec8SF;f#6I|=li zmNb(ra^W$Mw={iL>WPnH%U<1xYS7hD88lfuk#n353f_4ca2$LG+2bg=njXBD@-1!p z!*PAiDn*uF#vZTJ7kGQ)sI=c)EJ}s=^Z8vhcmxD>C26t+c-@?DPq3@>Q6O_HM8*>+ z%Be${ju(?<78UUpA8DlgX@Ehk?ISM~(P0`F6g(H8<6EWu1nqp$G48o7JT!eTjTk^# zl0v%_ibPV02S8ngUg8!I`Qifr!bMu)rWcTds5N7t-yd%tWxiCLu zELgcRC}6CXl-R#w(H!lt2yHT8{;KhO6$o{3lkQ^SHRP_g4UxJPiJQ6db-{Vw7N-AX|b zWL0v}Z*r)7dm=iXk7`5!n5Z-Tq;CA@OsGkYFOAi7+{H;LM&6&vFM7mbr_U?O5|Zp| zFS~VH>3#u4z5LA&E48p?tCPiW%MTn)GKdY~}5{Dj<1}NV-q=mWZ(HtqLp5)4WGj&Hsf$2*9)5iCh_YY z`hzRQ+YOSFcQe+D0Rb1dmD{sAcE2>ew@)T`9bo~0^eoYRfBqYfWZY6mnEB%HQZ;pw zu&ECj&{&gCf0v2$FnY_$lE*?Rd8w&^Vc)(pTTb<+@r1njVmH8LtQX)WxK)xBumM3c zs3(>nQ#3AVqw)!|TMQ6r2fDd}@q^p#(P||>ujreo*`Z2-p+XvDu#0K@iCpR6FkV^4 zgS|TEF?J2|x&lrvE@`DmSJT-Vk2i3*&m4OEYwAp+e11Sk+BU)PO|udx2`D4tL`}TU zO5qmD>#c$}Wq7CY*+(BojMl^ zeE5cd-H&-ci`{rz>$en;pCM);baKu9P2OpeZaB)yDrN4wqLubP6+jdc)}s<0b1c={ z&6Bmn98!j%{(e^$K%YUx>k!h+KFe7&fYmuG~Ru9g2I0(NjO5*z({5Z#lD+sQBqE(J741An8Vi};>n5zvS- z`{(wUPVgu9ngf0DoS zpJt`_H7;R@(603i-Tron%S+$~e!LR{m*wXZHUesNCY3;~e-~@*H0Z+!QBY<{+ppzE z@J0x+kysOBAGJrYG@s__P7~w4@)JDkf;1&q_F$+?MPZMIuJ%Y*p=q?hrTycF-%VM7O7=8)4QQ6zs zt6w*1tbx%LUHqi?kBeOCesP-dQXVmzPZywiF5L3jgTAaxhA(8J(`$WCBGiWwhuPG? zAgcGL^IWxk|MQ#u=+?%Cn;-NMiET-HcU=<) z3sRRnoHw3S{x=N^OJ$08+(PwOTXvVDe#2n^i)7D+0}e3ok!z{g9)jwU65ljU?_@FX z-?iiF>kr zAmR-SEv?v00qeBwCzN#$bM>$)8C4J9za_6SJSWzYym91w7IMDgkjMc7XpN3ag`>rD zKBZ<$G80CPhfy5EWwJi;d6ku_t<8z~YLN>q?ko5`PgT16$!E1;j`N0ZaBWGHA&Q|E zs3YqveyI;V(r_tw+Q)Q_Sx$Xk-AbKZ%pvtoFid)513&%yJA1h=}wP-=7%P6dTK30MbcB z+f`oDl39LjPLcX#v^v9{EsbcZ;{gZgVfb{+l0R=ofl?jW?)GGJW+3M;A!pQT{|7NldesB5weHNpb};vhy!A99hl>E2LXcS$@T68a|n zx}7yKTaa0DzzTYdSb;3ga&J0EY66vLT2>}c8!DMfs@+6(FqHk=&1~DwOSI+ZW6G-q z4^I5b!<6TR+6?48OgIc!t%~rsC$fwWzEROID1i%QC1c*oFk4Q%sO8suANIZ>f@4va{l-wA8X z7JucB^J3>Cs>pJR=ISXOys^K{P>V4|1Rr;7@*mnCkM;3ivE2*BX!F*K7+b&QO(ObF_-KqRs!lf zB>SXroS#|x)~SP3EvOz0UG+B~PgGxg_u=ebtdP>F*Ou4yMMThRR|R+veuod68eKOYPH(qMqzVHSjJkMxcuTWqmRdt1Zpq1~H?2|0{Cg z#%Do=_fjOC4@KE15woBPUO5!Vt0Z%(kOF5r zLX#*OC@dF+B3f|L3Eo%~jG=|O`<#<>rP~`1V%ynE)78H!-|6GDu-o3Bt{%s;4E<50`~Q#NV+Ld=BLPvlKI2Q1%X1DR2z*2q&vc9HSy{GAJC zg2}x-`?o9Da*g!*hz9MSSv}swOcF~Q#fhPm#EZK<;n@&#bd;m*p(WDKc)#}4DxLqh zPLaB-(o1en<(kCaZtPp?Ljub8ckV56wh3w^Kf8GJs~j!RU&{u41SLh=(|_kuc9ogo z83`+>EkU}%FM4vk4m%?~0qxunT%I>1)SbjxC%^OD-*fQpTOWlOzLB=JCjTwTDq#Zm zfttwa>%Y=dC3BWlFb!ZjS+fvaUMEoxO4~K;%!Y`80Z$9(U2;NmoOSJcWQI!*X*1xPZ?}Z*qPo zRdPJ2$9apvdGR;NCOgwEK!sYyHPE>%`HzcI35>rbg0hVhanTdi{bv{_&C2fd!!c>5 zSPuZ~cKQwzM@gzBkD~7W59a+Ij`Is0R;L#P^%Sc^VOr$d{xCH*e^v0hDVAEW9gstl z!^3|2VHGDvsNGuX%191mFjoG=^pO4iz!mwtMy{;O2Ve%COV{Dk_{NStiRf~087B0d zF54?53n$zeXSp^A=DSIwj>L&=r~YcbvZBW{XpCji94#*p%TQ=v&4Zja%H+25gU>>c zCF9%T5sL6Jo80V7qjz}l%5u9J!{gwsLU9y(!-@z!j<1!x)D#q)WlPFn0MivIy;s}Q zSt%N+hON~qjPr=>BxwW-5xW5Y5HRv;Y7}3ikPIfdg}(?+ln&DNCRPeNSeE?Doq8Vw z5J;4|G}a{lvMK>OAPMZ%%oo9^sG${L9uL!y3@536a6F3vAU;v1E0bbwS=AeP57^!} z{4;BY&aMk^a#&g_;UTyh%(?tP>F8T)IQePk%B9NhUno%yl*?(Qo(xf*0KQJ8O3B-7 zbk#}enP6g2LKhaHhs<-}hI-kk6?FptsHtAHW6(v%j z5YMk1TS}M@OIPp$|oZZ_71ry<_ z9Kit8WhiTDi(r-axO^LqzO{cxs;vvK1;%t@j{f2Fnco7`84~lP+So`0aE{FFP$%kb zgCGM;sP_i(nl}gF>E;~k-u~biqmf+VC7t0$Zg=*3KaIy^{lrZCoW@fC?IFW{9g1?= zL6m@N%2If;EGqPE2qjZ%9^K=gNcql=Tf3ehrjLM76#VfKU9xVsa5zAacWY{`z5VqZ zAf;&fT-Tlbc^2YMe!$& zZ2n@z^pD_l0(@jmi6#-@e`||-sv2Kcq#@NE&Yx!a>p0??(mk>QuE6Cm)}gMJ?(XE3 zY84VND`jIaaR^_yaN$hz7n+oB+y@zlIcr*BU=jAmkq0Z0_HynuWl?tsCGwnZ_Oh9h zOLJZB-gjFJH{UF##Q3%|4J;?FIaQB6S^ESj4H3U?a+b+U!OFnimg?>WMu6k`|45Pq zbTZIcLUW$H)d|s0g^J|-#4fRl`0dayt1#QrhhX|B5w`tO_r}4HP?38Ms}m>2Li}-A z>@Kegsz~#LZN8_L7?|E7vG^WHmUP-G!r+Kmt3L@=7E}Xn?o1+LDM?GCw;B^ zra1N=waDn6slxI9&Qt;V#yRvj%3OgK(H1s)mDeDEn58QM8)1wj(9p&smBIyvL!k|f zVD?xGbF(ki(zt-4(3s{|F`pSdsZw-}$Prx%B(`c``WF9)_v?|v3$iA%cJ#DymWzy- zI+@L<2m#D^^-8kd-Dm9g%+12EM6tg#8kh__@bMVKW2p!KonhoXw=W7%^UwfjGs zQxj%!I`I%O+k~%zmOWcZlpkQ=kzLA$IGmk#JEKQ?q(|#z&!Jc`GU5C>(#xwWlGnaD z{W-2h@Cl3BoUCFk8ymQswTNt7;LcnX#Nn2dj?!*024bQcmvO-%FsH3VzTfCNPHwt4 zIR<&x?;=^hM+4kvp9AOp<-c}!$G1%WADw*X-YuRI|Gxc?Z2s|nIq0-*qIl14ivaA? z;*gC97$&P9GUF+0q;*&32>xJJJIHno?(2Wb9+ti4Cc)eriE6d#SqOUg)gV()F6sl* zq2%N2Dzde?2cB`gQ4NN`Yh~$K`_*nrTlwQM>X(;F@})h;n9!7y$V#1&E%z8*N9G=K zfU9o_aP>a}oGIo}8z;m6i*5HGh05)oLUoC^c&n&#zrBjnpJuRhfHMJ`^L0OwI&M!dizCwKo2Z2^T_aXi|SQ z>Ss9>A-6(inaT7_9}u%hFFe=lkfYS456p4)uERx-Ijh|-FaP?j{7Dq)MTmCfD!J;# zigRt`oKev89`rPGq(oVE%s@Mc1zVTXgDo4fFDqwO6w&Hcd z|6HEt{dFPL3)+AJI~*B_S5b1f-=Q2{(jfW3A516{B#Lfnj&#*{HpenyrnuCGjUY)w zfsMRCgHx9NiGCb(KoD`MlOFY+f_s@nik!RA2&pF@@)J)Y_fnsPzB@l9OA*(0`E_c( z3@btj9U#M{miB4z!QW% zHN_pTRPTQmrWL2N5UdzS6Ztd6sX{NPQ)BTu)B>OiC_p=}$Rh<_&yLo^5wZ>MCM#db z{+j5M8w7_=h6*=hpNv_vev}CB*F;*Qc$a!{2}RMyn1CPj|LH_NWeOtAt1=GdT_yTn z9u8z5=R)jgO@1TQ0@x2}56w4w`jx8#xGow1Z36!|2(w8pBVAz5YYhx`f9}?Ios0yySbLNYo z%F*1ua*N7C9(21Y)E`+7yWk6dVAa&CPU&Wd7EGYI7ll;Q4}g>_-D z8Bn~yhgUl+BH7NLxRqrHI+HiIq4J@pfsb8r<^`^O3~z#(|clnyCQM zT&ukDXLEevtM>H^aeqnxj4EEGOBljcC2}6502yJ!Z9VWGF1blj8U7C6rMCfOrii5xW)236E>C?$+`*LG6d-%e_bh)|;OQtLui zkaKUJL+bI`veMm7MT@r#RIiopZB&0mTqQ!63oie{(Ap!H&dFjrc27py?PgviL%F5s~JJE{q>wd0Ky}rfK=H8IP<;suIf}T4B+% zF}PpWb#*gk8kvsxr{r4;IueM}%Tb_v`@OF=LpC}yy3VRLz!-849QA%{rsNl6!7~6% zCZ(my{=fYhcKg_}-DYu*@;^j#&jJYZ&=;Zi905FueB6V2!$Fm(;0yzkX@gI+QPJA3 zrO?1hofKF-&a0cK;PhWneAf|3U=uW2l}uutB#_7{-+HdzywzJ>;U`;WWO>dr7c<9F zhE6&#ezgHNRiOCMK_fabZxA=qwn;vkkV(2C1V~!5zP6YC`=|)FzHFc0kMRZ4@(8XB zWrF8B{|h&G%8#;ZD6_M?du)CGMn3}okN2S`!{9{LHE^vKeGD1X>Di{jkOUcl)eL_x zAzu#~&7mB)?g^)eb0iDI$1|{#6r_3tC2gBzoW*6@ECGk)ab zD*lgurWEq}(aL19$#5~v2m6g2WsOYK%{B2OFl38=hz2&J1kjxU)q{yJ znwHF;gdsf+_c1h!uYlEun#xkF@ol;+WzeEtJef}4QRi4{6sLY5GL&B78Bo+t(K3@H zld@jt8P5X@#)|})naY*yJ=7n)iTP8!&_8d2NId#^Zg?EU$p4&6{Bh^y(GE%n9u#ho zJ7bjOLduYctOZtazz&iazgD_lGve2DKj`2;YgZuK{J&ZNxEFES&u}}d@^;F=HSCo` z2!4HIxabz6U0_~1o_*<>3xoO>BJ-QP`5!>oWtRj1)yL1+QVU4Z9?vXz^hd!u@s6uK zNDMshxvpN@KSry1$!=`3f5FTA(VJdN{-XLXmK8o;s&@kuqT>OFG=0fRn&FE1lLY3= zaGqdTONT_%w5M&|-vVmjS5KUN1;u5ZDCOsGt+J_H&$@n=kumT2T03wHSeUx}KTqz= zw`0AIR%K%@MGDehGcN>=NH(|KFP>KysxD`u~z#=>=BJMrE+qCei-9oqc#={8Yo^ zusJQXiG4PNB0IvlHutm|{MO{{OK2td(^i*akHvIXasTBjQo~h^pq)tKXsLx~;b75T z274_%`w@dWJq}W$%BZ@^D65h~-eHZ}zCqxa$A;DP(ER?ss>HS-zkZ+I1ekYTD z_YbK+Y#upUYI`$$C@6ps@>52Oo#%!qf(KGb@7tj7%uI#x>3K?LWG*sEI6iofIDSBZ z;47HV@Q~|~vJXGpVS(sfIgC-oivadTAliM5Thblki96_6`x9G@@;g!Af()AXmFNag z;2ax$Do}WxWNAJsIRGSutY=`zO>TQp`=zBeWk1Hp)rst9qs;o^wDtsk4`WWIJnlt` z*5&`G5C9g2gvTAp{@?2ykom|5t`eLy8&zw|fK@#AK66h|6V(P4ro9&0jlJ0#^?!?FWkwu+o+m-97Mgbo9gm z^C2zG|9_DO3Im0Mc0?kf`hFWrz@GX@fc8#vO}G@&gZc9bWT3wv!ucFX*^%wQTn&l= zgq2^~@@#v==xc4!2MhBTY|lFyU8HN@GihmxpqgT-)jS7JvZ_)N?Iqa#K*Awe8?}n8 zkdExpwu9=W&$IkeOl1qDX^7`rw68f|{!00{+oY{>6u)=EG~P*)vTfi1*nb?EznSp_ z59VRA;eS;je%kB4TqvckJG)tL{W8XhIkmYDdREZ=>;ouQ{dw+Mx?2x=$FmRbDjw3OQk_+&(I8w;$O7?0-};Mg zo^Rq*KaxO-WEn0z0W&j;gNdTFYYyWyM>hP7R@T52qQK5Y(jk^z!C0vt~^VUVSfUDEC^G!oMIUcb%q zdq0}qb{0Ed8L;d>Y}D{WAu;6E>EZr{yw+=YXABJP?^EPxS1%N7P1||XV3f18)_PYx zWxGG`YP{IY?0>m0V0V8y6#b1UndX~NU|!=&RT;!elPw~zdHfWairb=%gl#T}Qfr?` zL@BaI;C?0Mn*u0FZ?5UHsJ;-xp^-kUJ5lv5)lJn`u;L~O*yImW`nxDh^z|ermf9RH zWlH6vP$;P&7LzVvR_FoHa0dWsf@C@kV%TV}hy2|@|AJ_ebuJ%sLkg%WEix?svchLgX(q{n7N&QAwP zO+9~0{p$|s1tuV-YWM=wc;r~~EjfxbxgN3(7W^vOHuS^~$DzXfzMh@tk^44Z#$Gm5o zR&NCSN701E-|3^)r^|P7PY-+o?)t=z!(|^{`XijXy+?b?jQ-B$YZX#-ljakP0sI2h zAdzN|zLAG*rk&|}4r-q@jQfMJfVJVYH|~iO6XTpde>9#8TYYJe$!Id`GYA8i5^mhT zJFWL>-wgDvO>z|0+D@CCo|Bc=@_gtw9`^q$k1WV60v`q}J&mvpd3!s2*Ll?z?Q_(q zw@`f4yzI3i-g39(+pMCyN9fRs+J3vq0UQI<`JT-$M_Q&ee#9u~=mB!Y+;7ZoHJ7uq z1-&pU+8(@v0`$2=RSl`U=2h3ivkgv!mj}yn$nd)t zVq!+xdBbUUcAo=(_SpDwA#Iim+4tF2j1WHU=HQ(|fz<$w^uXlQDqQ9rB=emWaemL8 zFN#BXd1w6OtBWh9^EsF!J>;+k+OUs7Yoe}nkZ@xxZ%QKdoN~QArRUn%H1 zTFl1mrVoO-s-FGYgW9In9>3!BcU2S;7uY{NC|%Ncv i_hr*}&YSloJ+GYvzv_%x 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≧`R9Dc$)SHP7t!O;a3og5Y+>{NtYflYTM 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

    {GP^Z>7tN!{l|TK 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

    }ZRM0F>UM>9sDl!%;$V$@CE5wz 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 z%0A+o*c=6hT`RPF8@+QZ&yTO<) zR5^)rdA#k-C(V6whc4I2$X=Heo1eDWJGEW09tSsGhd)XxmQrW1&=Z+E+_*I4HXj)}{%t?(HLzdKd$vCigk#A36}_Y?_$lp5^S+Tg)vD@7#>asPCD?aaGo+4EODo_#L)Q~KP-v{IA$`uJ@gio#! zb_(0$o)~?lc6;{=qg+Ner^U!?w+>Bjsq|sv1n3KiHo3i^#-W(5x8<=1tli`YL1^j= zw1uf!45bTY&O!QvkjAa=(N*3wvE_m{BN(qUqz-7{4fL8w#lyT}7(Dsyp1Qi! z{+Y+CBM=Ia@{nT`0lG{4aza)TkH^2=D1;9e}j!%M_ zm8#I3O)_aL>T9zDpq^9;0IOJ%Ez-`9WqG@btes6L`aStBwXt#GW(jHJjIJm^jps1b zTI1QY#ZsqET)0*R`3(Ya9B;Mr-#try{(O_iWA|f9e0nR0wvs_~kF!xGXK_I})Zom9 z!|(gQXxh#hJl3_t3l($F$ubc%5;c8C2BUoPHwh(AB{>VY`**sfdxa&g&q!$;r86GWQf(*q#br z7;&$vC78;MiF5m=&g6SF)bZ2Y$oopxVc|RDgdJwBonc*-#cJsH$AIK005c9@1ag-o z%^kk=^{^dtuaEvonlhw)e`UnJXm*9hp$;aWphp1ZZBJ?=AWYd9fB~d4T6(VyJ5ELh z$7fW^0IX7Gs4Z*#BH#lS?2^$1M{KuNXk>4O8k@n*H20pXJgv-$#Ax$?A3Bo!Sl9{V(M=p_VvFD^#sn?3@X~V z5#e|?4a*}EE9juHB6s^NzeC{3t$DYFr~bF)I~lPv)3Ni$Zzs~>(kn-*0;IUU=YMr= z+JEwUpy$0Dx)&|MJ$6jqXDk|Wtrf#umn)k_r*mOmd#y|h8W%6AjQE@X2z#Pl4NjVT zdWJ~Kwo9%uZ;zkUbK6HLzQ-A-mDzY`{o$NZ#PX+7sEBZKWPiBPXLf0Drcy4KIR{Ba!kYTc3YG% zl1~*d;a^{Dj}f2OgIm?QkWfEt`aFb9)+lJuU}pq~db!>+uo@eO>KJg zwDY`n!S`};)_FAL+~u3-WPhs$NvDrqY9iAAILbLu(EoUA9!NpFuG?>~D^Rq(IF&0L zGiV`RIyXQdWk~8>Z7}sr<4U5cp!=TTCVAYVqMN4NIlBb4K=THxq<8>^UydA*>LQPi z0J=6sc$d%J{nPq5T4W?XhshhZQCc⪼0tDn!}ehv@^5?pd?zu(hG!brUY$T|4wZD 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 u+m@Y{P4#m?4 zhD!z%+T zsu;yI`>_KcrzM;#naptdJdaMjP(8v!ox*iV2 z^TN~5Td7&5{P;@KNkoeh0t{Z7M9>i;)^C6Jti~}6z4lxSJ1YuTu=r*_-XH@h7MFmq zWXC=En{m?VIrvIT3;-0*(hpo{H3Ck(Vc}hAN$MPi%Bi*4j`-HskG%$g<;wy$H-q_= zOQd|lYP)fUYdvMV4BSqXK-Y^kp*Fh@2jAYLCci_kT8;l7%4FXYt(ITs4p#twAx+xq z86m+rV5iPIqq3Md2iK<=RRMjTLmy<+ck`T1eU<30)(mPd>+MrVVAs=D-|RakGIWdJ zmYB(lw`Z7ocHg@fgK`kLc<&!QLxRtb`^Ex(?uc)UZK~He%tO>^g%$Q?uK9rR+RwA}6NEFt6rN}ZN1{fkG0y{*1SJjK*wTl5J(i*R{MIE*ul82 zdz*fy}JgX$T19;H;a z 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

    EW#;m1% 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⩔co;3$tu$5bCs4iC6`LG8~~PTRLyFT(NDi;hr^M@_731 z_&)=m!BYpq3?Cz@*9#^_hX#_01W5F-hCWD03Z8$ZXGn&>041IyFbhMJ?co!Fz z^hF#v6`H{c;x$cILF?YlKGHQD@BaxoV9<*99RC;%!_UFvx5fbol>^5>LXgcdIyDZqQvC_(Tp|?ru*$he?l*B%k)vL&&kWWwfy(8B|Gu!T`?d(sYf$je=?ZI zt|~6pR<43iC#!AVUT#`RydtqSwtoDgFRr+}S@^+GS;Mvqf7q>AtL$5t6{eKM_}QtE zKAM#EdjSN*Qs1?_RfHdx2HR`$wtDkGskz);W(_M97p2Z<$BBp%aJCEWwxGApap}OL zq*=(G*{~G`89DrJ&?Hz+)gmssGS?eZJvxu~pk?s+#^(t@(0= zw{wo(?@+BZ;A+?#1QphnKAZME=)VY(#snjtFY^GsFHRpsN*;>1cb&A{T={#6Jbm!* zQ3BsUo+M~oC8cBHb}4`%s}T12p5n>1edpK1{d^Rto8+O>@VR=cp>7f>&9$m|G!CO(EN+?kk&o z91}OKF-{7Y$CDYv#KW#ly`YAXTCF@#3C%(_V#(Fwiq1R1YCIPiqF-fc9= z!#bzJaZ#!g*wEEs3QVuTy>#0BmxIqH@GC?-mu&czV2v0ff>k*ULM&IRUA*P&K?;3y z_leuO=46#+ugR0}4YQK40!pPcZcap|_d0tW#zzwTo?rX!MH)xhOcMw1H|_Y9Z=Di5 zzu_aySANGYgK)Hbw6y*6Mji-GHA;_sN;Gks5``wc%Z5-%rOj55vMsBSWa3T-7j8-! zp@V9U=%f4a+%(tO8>`MCKWazq3Rfo@2*5Oxro#a>n5GP)kBp2tYzQf0#Vl#`Ars=! zY z6%wcOZ}vAo4SXN}g`ddlx29ORd-cn)g}dc^tUTeWYB95;$He5t$41p@WxfgT4>toxnazqk*esP^yNd+ zgRIMCww13~L`vtV3ccEw88i(^LZS5jUl=S?pMdjj+S$YziE;IdaTBmEJU1&l>u0;` z@xiW6Q#K#*Q*ADeYg;l7eYWfV)SnOnI-9L%p4i73U+<>`?k(TPnI#flMNjdS8@C|0 zzbrkNtamH^g$?*KWmg{kK8I3ty=%gK#%;XAPvYuu#O3DdM1;=ke&W`z+Fr{PBUUUd zECnO_3x9SyX|R#+UdPLu&$z_ru*4t#SalM&&h6cM7#0nFE^M119q&p8HSHkQSN|f+ zYRf!)Xsr8~g6W0Ob*BK9ZW6bWhxsfAJu2I*?Kpi5Qc1S5ggd3C5&gDE06v|e+N-tI zWwsSlpaMbu*9Tc1Qg`l?E=ZgY#U>OlUmgskXsC*fHHF~Y z;SpXE#5+xxhPpLoGnmtP&fl$75kc*bmHP{-^qEUt|1@w^KKI@6nd4;3@^$gu5}7+w z0b_0+b4%(=fA(pMl0pCa@{dGs1R3XY$)_I)uYNrHxK%%Qwe2ypEb=|4|0hhcx|>YL zFup6h@v+kO&1t6uxzcowsTn^NTFC35|Q022jHbd?s!IDXZVK`Zh6+`eR3C{AA> zi%@|IPF-)@?;lA#x_edT(WLl8^q}txbvA@p`NRGAyQ%ZC&zHL~W=HYtcdGevf+A1& z28@zn$^v6ku{cwegZXjPHYl^mNONNvp_i`N*y>ito0HD=VbZA4r^gfKD~BVhDObn8 zcx4-5*7LfI`uch+$RaPgaW+B|X#Q2T$kk=p4w<#1JffZK-Q)yJ+#;GkYfy z&`hd6l^JmDRre>;M^+PUKULkGVgB?)^UJ(nAf@z(JjsIsYwq|A zwkG{)f-0;G9C!Bb+z*u2aFwJqeAO>l$*H9BoO+@lQE1M0gv@N*6)yMCO*3Ji0Cb-i zmzf(Oela=l-5MC>F_bOC$KMe{^d^)Trq5TcB8XrRNW%s~zEL#q26r*WTEBiB7&e@5 z{|W^dI{cJ%)hAN`bN5|lrdJ3War8f+(P?ZpvSUL$dKpG5Jz-KZwL4otDOL2uFP729 zfAaQb1MQpZ3%7J^wJ3;X|9`%807?D45qulFqbK3G~|+Ovv8pbYApqKCUV6 zm}@03?3(T`g&GP($qr0oI7^MI*-ROT=a%}irxhutIPzXo0Hd@-6CJlvgq-yEl953i zm=J{ZlpnGM*Pin#2y^Lpi&IARRYb+WDtAhi7cBQ(CgnjT$l`c2<39Be%#BwU1+dnI z4?o)(LunVSOZ98u{wED{by*HmoJt8fDtN4eY7)=wtWDGnR4WI4HHbcbA`n7z0kQ=8E@!IRKP(w8A1i@wMLuF7p zRvbmW_;K*{aWxDD!BjBASf!N7#hyf|=7Er(j%@1pmRxS3J|5!#G{;r3{LoIVXNd;L zOj={Zdy0~)I4PJM24hsP;eFqNo6e1v*J?Hw+AE(iCXmZ@GwXAVo7ujH3_(BCN|$Y3 z;eqjjS9()w#lFQiD?|q5$Y1!(9?%Vxa?NO5PtcJ7_yPAx|3FV2XojU2uSl7+5bY18 zux=&;F<|MI!jNW?ixUxpWiAJ2S4!TXjN9+d@1!n+RmM|>(McZ4&JyE)czcvuAQv5j znI>xn!6XOm2!{LQ!=^QMO+auIh(u|`XayvoY||#7Onw}FLRUo?yd-f_H^A~ua-EkJ zi%HB$rSWiB(fKTs96GUgUuZfm-O=-YXRH9yvFRvT6cfQ8j$}6-NB}&8ZsAc|co2Zh zmXsXI%tf<<&`3-gy?V#YyW%&9C9@;rtJbZa#5>Cjtn{J{BGqSRV1o@+N}--Tc{ zG5)<2?T-WS0Xqt>cKEuXS!a?jyP6Q|XMY~19TSS+_hCQ79!N_yo-Ri6WF*1wk}>Mi zyGb+X*el1mv&~!MCq5?<8y%|~luuQueZ2q#8=TVCSo-h3%^G#Lvg8_M2H-IR?4(ew0}>a22&5z2BZa$skA?4x`k; zvTWi)Hv5kb@QP5yu409~LB3ZWuXbHimyAD)A(Nl1B4wooyTP=dqLbH->gT<0n><4R zrm>G-X4!dKOPRzVG?z~%CH|huht#C~u7om~<;Tlzs6~y?XI^iC;F)3GKD*>mix9mT z+LxlcrUZ$G1vc|_mxj(AWK}oU7o8~#2nIs?p@T;EuELL*>%bX1 znlhNz+{G*#Tc&6BMwv~NXHyC_G=~LI5nwR-utfqBe**;^ti9q-^PLa934%l=t9yef zkgFCEPr`U}f1D4eG=q)b(4rti$yp-I?1;@%MuZa`(t9nBFRJ=tIG}CMH?}$=V(pzv@o=`swsP4UT|4~Ap#Gz* z7B8~GV6CYRMI58`gYtI`E@{^q${P23Jf*~Tzhdn#zg4ZDi{IYJp}#7ib#4badkLWe zn+HFB&bqn$!;^q>pS@x*E86olOtSSt)o)$H`8|fW8zBR(+)hL+2-n?p*UWG*`{+Ns z0P5521un@11%1Y3Uz)qdbgih>sD_M7}|i@$<`}zb2jiLy!5?!>>176 zsjQ(DCUOV9x;Kn}5i*E4)-A-aSb3&g(DQH4yhfCTIdP{^mL?fi^-xfqNHn>{+o`jG)fHj zY7RXL#Sm>VO-r5Zt5ud@9c};%W*ddqu`G}`!|A05yXeXEt19cEYzsan1aY|8ukX<` zE6D~g!+9kW7;L5OayF-Gdh>SLAkT)Odd{e54B1jDcy2opa%f7-c#qE0#Nm_}ni^Fr zbtj%kejteN!>Sn5L;FvFmH&@Hv+>AI@s94ngt_c7d;fQZnM{ehKin^DoAo_V_GtWk zjmLV%7f(dzqmDK)JgY3kYpq&}5#h3~~$T4$*X`lMT{@Fl)xEB%9 za{))PNMN*CQeSWe_s>_NfYax#El*~sjl>$#zW#5JzJdU ze7Ee3BX{tBV9`E?0JF`V45zkRZv1r)GylTwFuf(g3&mZrzwyAOUfJ0&967Q_fqrfn zvh4A}ET1k^y=gHorjkm2!Oewmqbs<37aNYm>R{YmU~avfkS8%(o_~@{bnuHBMKT-Q z#DWku!i}SYmN*z(OG_j(x>2ZmPP!jYS`l2^*`~IC4xVYi2Pctx8QtHadAs5TCd=!)-!tB!_T&+PaMMNkucoRm>qTG?h z(3PXX|G~_z_%H{iS7{b}iGjN!BX)VLU{}P{%cdi3oz$5pN`cI!B&_A72pAa8HhY2^ z>M`vc+IT!=SGFn|F_5!Tm|7trA1&&Qv(}2(!CuR*wgGuX-NpH?Dt@*M>7d9aj58xB zY^k2CHt}>=XbUduYJ4by4NQx+hB;8s#y*iYOvg;j%PcP}Rq1C8i&DQ#Lm#sKld3Q6 zK&xM-n4?NF62@J+Pf(RM%LBuCia1rwj$T(3oIPJRbKk1Cbeb@$4BpEn`kqChFE@Js z=|F}^t+uHD)>O?)!Z2Xv{UfuA=%1fk`O}}D%=(m*8gont+^1sFXZTpX_AI9*=jo*k zg;C;R=m`M;=l;;631g%vU2nWM;gN~GZ8^0-^S|!{ggj!!AH{)_DUkFeNb@KFd6$TN zl@qG-Wab0`EQdxG>|aY@DA8`z##sT>9$IAJLrCV?Fq^fCTB>9DaWRvkeez>clzNi%UUoiM?+~*) z8H$kIu706<3*Y+ZuScSQhd2@LTZ-8bbx631O-fs@XYlvHL&@(G%moDCmQhQ}4Lx+K zsNoh|S|^^>^dx+uAS5yOuxCA0)24p&Twyw#Js|k>UedGa)5phQeh~#okLSavG9E`Y{jCTiE|2~Mt4wIu zg5md*JD=1wtqUR&(v5Azk|3!N3aG78f_1C_i*7=HF|7@XWYOUeQHrAK#sgERf5Vir zcheT)Zm%hQzk`~^?8AT{p_)CpZ(wTvDix`CL@E1hE+)N#0e0y3F3{v|m=MkliFW>!SHZ01^ z$!hC$lIKXzRpY-t-9P6%`^?4EQjX-L6}r{6zGBv&0{U4+ffb>|cmfq@Bf@D!6@uyQ zlE3iS_wX_!s(m!(a~oiVa$lnwVSM-2edQCG+&yPAmj$)G$)R@%ce%Xnb1+GVDPe}Y zsOGvg!y(g6;7$2**`bi$fq=!;8%Mzr!&qo#y!6AO(FmB%EOgFA;ONX>_rs zG1X^yS5z*{`6t_EVPTkPsznIonwng*<-#BSwzz~<=Mw18{V5KR*TPE@6LV`x*JSgb z(yF1T6EA}Q-C{DX&7!(9X6qiw9YGcTA(KFO+s_bg%(@XM*CE+A+v6#Guow@Uq*8j+TLvv6<*Q#;7|Epj z^V%0mRMn2*BU<*`S8{>@K??m{fw@_Btwsvkl?j4s59aR3En=KyhbZl+Tx!vc?$BVM8u}5h+I8sZPu~Wl;Q2c%IO)-2Rs4=Ozo&-QvM1KlyDq5lY~& zV$+154{S=j_&4zqF{+Go9(vU$nTsoh>bR*Y5CR03Ah;>jvEk2WNHM*Jf0!2J|KdY* zsLuc#_6CxZL1lFArtnV~eg`bAL|H6YN6eDqc$5}33}#Gd`4~>wO}>7tFc|)Fo;0J0!{8EvlRyX_T!-Kg z+!EX&IKkaLcp$;u-JQ4d-*^6V@Bdz%TeYjG0%~UO?p~|cUY|5x>^~IoPteZz;1?i< zcyLIS9UcU$qpL}S(Cd;TZ@aB>-#RC>kUwTh$FjAxBlqZANOY9Rpw09vqb^N7%S;yz zMI+5(UO7qIl`Lc~^|wem?*T4k-g9@)SRe{ATLJ%pe_o8fh&{M)n%tvGz}&;&BO%Lg z^v~TZG;cMyKkBwp!tr@Ob}zqq!6QEox_n#cmS5q8-=5W+!=d$*>-UY@kGQ-R2e>4h zJCL1+lI4GyD5;EWC>+L_Nf%O8uAG$^99JXJMT8(X;jbH!il}72>XQ-N1el42;Px-X zf2=)X`-BG>8_{5HhQKazPt!~p{#S|_G6PJa3QbVazo#4#-MvUKLi*Jnwp!$B1k-2e zbtHjbOJ7(I)9>0lEw^uM!2~*4?Wl2i8b$yga`K-bC_sL@L?M|`1ciS@U1%o?EJF;u z#5uTh_RFn64rOkzvC4q_Zbt)4WnAH{MKkC=i@ECQzM+3RS`9WZm-LyDRO&LLD`##Z zodW6;B9R(7BC%dl$YD}ZD2l{C_3r7*M+jsQ<#oS?zlox?gvVwv%Dy}>#RYYrs}iyl zK5;i)d8ATfd|v3B>DN)bX^1Yp#uK1@lLkO7&gW@X8D~iy3h+W`$QZl$x&QPVJU3vm zKbWjM{bwm>lOrl1R+Zp0S(1rK7z7TmlK@i;8zI8+D+;I!J7i6m2{&;o!AAB%@w{#k z<>f6Q?3S?|tZ%oz1*&1l9fz$9elZ5p$oaVEn|WG&6ElU%$WiS%ZCRdI@RQ;C7}tLi z(VF_TwfP@&U$@TTFmZ3%pwL>wQztC1pmDul{Rao8LQ zy+-@zL>#y{Az?7*YGC3cGv%%!Koq3u02?&D{HH{a(TWzH{Kvwg0otRID*PVd2h~!o zPzU*S4c~NsgE@y>eIw6%Q=?u&IItF26oR-x563IiY&PkLqv+l43tL)!@G zHY2P_z~1yd5u_r}i#&$RnbdzJF#zd2IDW_C{Vb`jX(CquF^Akg?Oa>xpn$$`x1fQu z`k?TcC-+rOG%pxc64bH9&zC}^=$`@~6U1;KZ_xB5&D4bN!8pW@i z75m;bhjTQS&%LCyY;`s(*{pRQDnIC+PZfk084AufHwu{luCrgg=)*-}f@$bcn!Q=aF8b<+Q~zn@w`HIXC5gF5GYMXL4y!Wt70OUfoYtl3U#AG)tbA9_Dt=ul zQBy*3FB|u!(Ye2^&G*(;r5Zp<6@=h^T#BiJPLn|^Nb*iY`(b@3XyY1E3jx+S#tbzl za_{l(XzJI$2`CN)MVb|=!7T^am_Cd@H;Vp~?}XS#atNn~-**8-bgU0Tc~4GxA@izQ z2)PiYat!ZMhot&W6U2dn^wGJee^Toi2Ao+vukQ~q>vKE1xK=%Fu$ySSf4fSOL_I!J ze@KNA`Ttl2+yu8>9j_uiTF=(7J^Sg8Mqsu%d?utbVdeD^LMIq^tj^fqzM1ke%j^9+ z7M0-?m*Nzz!#eT9)nnqsegf7+jL@MnZ@d1CTB?m8ue5X8hb_Y-J-MpT}z(JhKm!Y^K377fL}%zaDxw zV}ow#3iRTza(BI)li{XiaSprhnGNe*(nSI*ULKLz)QQ_Ett?#Ti`_E|oRxX5vmTKC z>A^7BHXZk5ROq`d2RMw&G4=n8BXHHtf!usApkt=P0&D z_15))kM=e4W7;nYEb@CxW*3{7ll3#NLrYHmkpC^vQT;Is6@&cF`;Gq()O`%15$D~8A zLyvW!b?O{;?Dfpi{$09P%`MLU|AneQMpBKWEiAXcOXp`nTAi5Mdc#u-CDd*Wl+;{k@rF8_`NL|wta~R1B{a|b>#Mfdu=R+xf&H5j1^Db-{xse zYP}-{$PPsrq;is6L?L;$hsJFwDX;flZ>AsG9KEi!adKGN&QG_ABW`d+#SRV! zz^TYB^`E^IE-B>hTbY$^r*HYN!w(;B4koIyH^LgM{djhaNaGb~O?;4NJ7IZcJ$i*`!|hjG%qR3>)8(S2e0O}LC06JhiYor@Od=RS4@=`4rdB(3 zmt-(0J=^btu(950;BAH;vxvTn5+CBd=O$k+pVTJIVA*r0)U`%gG$;QR{lgeRHV2G| zT_5s?RObWm4;*f`^M#)JCa25C`v7DU8_;nVfeKhL^l_Ey(IVLpJMURE?G>~QMN+*J zEo@zhPc7x@SM6tm_8VLQ9MP+c?~6&UT|t8}3<@cPz4S~rYk~(8%0fy1&PM!T}cRLnqG9yqs5maRJ0UM?uo-XkF+@g-~(BV8#jwq}$$K z(UmA2UFcxNJkiIy)03T|1=Q7M-{+u5XC+6BniplfA1Y@X=)4HpQHqE@bl5LRKI7x_ z%95~k4&D<0TKw~FpB!;jC2GXo;Yc?fw}F>vUg>rnXa~*RBm7J>eYniN$TZ0Ifvdf| zt^6DOXDB1MdPzYjG(5NN>^$1J#LmyHWtcEO`10x z?a+&SY3Rg6j{BU|#WvBT<7KpcY|b1}Rz5OgUt3jYPPM)H*S67sD=b;AeOUDTY;Lua zlC@joWjzU>+*)0c^b|Xx?kNYei>As~Ba?8{GefDVlu>H7i;Fp#8XwtqZ%`422yK5_RpC{D8 z#5Me5x2$#H{05+W30-*iGbGkoQC!lAq#w&{Fz2VNOu4OuFwI>D2kv5DLS!wZ;+LB` zsq)-g+eH-91v~C>b|v1fdi&kN(>xqEhU_mbKZIE!bzJ@-WCEFVYX4okAJV~G_qm^S zMH)L9OTyEXL?OP$OWGD3S1FS@DQ1`bs6RjQ$e)*#6iFX>Z+Y-=s>)l2R5>efIn~Ho zCC1I#u{+yzuj#5`D#lGEOy}xmfVnyEIbE=OtY}imDwiCXYns^Czum?-W|N5NhRS`{ zPgnaYMs6oU^E1)Q`Yxxggb;EtCv<`C@-WDH*!f4SeB_J&~{1tq(_T^kG?1lW5g{g-}>58P&f3CQq?!dzj7BWHJVIx zb|e*vCxCB#SzD5USYKBzz5}RIF1MX6V@Dz+UdBS6m))PHzOrlskj=*qBpifQo_o=- z!@(qk&J-+z>A-s8Ap&C?WXFi5%+uFNn?eAZH=hz-Vh=a%CdYp0yfpI6AKvsF72{tK z6JDCvphIwU=EwFtq?CV&aKW{I^qc!MsZ-`|a%%F8I+J1?>+r1+p(Urk$g;@Q^(UVM zHX)b386UPp3bI|CaGcE99;J&oX#4PS8ZAE3CM-Yj+-^8R>kRE;UNfWa>5YcoloQbQ z)s4Oa1m=PbL$Us(kPA%?Do-}TlCp)+hfH7H5T4)jdKI6;p>m-ewam1(NOIv&E>%Wz zn$kVF^5?vy-Nr9*2789ga{JP7A$82gARInP9Xmq2q>N5_YMVfdI%d-tLvtx_zm=Ts z3mt44I9Z-DEiDVuZF?7$D8%lmB&|^v4&Qr4=heUfG}}2&Lmvu)q88&;*EbVE%Pxv3 zV&{|UHkA~n9am13uwJy~tOV74`WyA@EIbx~;S-l!?qASW+5Re{ZOF<$0v)o4(i=)v zsl2nwGdI`%6ps^E0D$dTkYcZw;27kET{G2}03&mFXE%s80;e|&M?rCArN`IY=&8+B zR2K>n=>kC$pGW1g{^i1vh zJV1as0VoH*a^1iG$dkM2lM!9X%K0$CbTO9C{c}Bu8l~5&w7!Sy5kPQe2n3n9Hhe%Y z9=-2VlXD=i)l6dea*jxoylUdU<1LULu+C1))!%9PEQ|>2tp$h8uYC{4p+aq}k%#9m zlxyXMH5i_Tjg#Cbxn?688hJveA%FY(Ukp*Qxvzb7%r zbNkXeT>Whr`8{*AgribTj_dtXX0Ei=vKRN&Ir=9QO#W;B9HC2w)AGzy&!eYUsFZl^ zj-IIv3)HTR%`mTj7juq1?d~@$(lJ>lY>nYYPflBip(*hfdw<-!3Q!>N%aY5y_N@*? zFOnDUdgeWjUXB4JNBUW$*xTbttOFc=mk(S#QmI?&GVU#sDN7AC-Babm96r|ymohbJ zwRH*hB9@&ZM*v=2?Fno)Dh~x6H2_F|IaenN;Kq%RL<98zLKy?vN~+L_ZIlD{Xu?)| z{G24WxV||Yg$ncdICY#tmV^>-`d92&&@OS(l{?f;p9-rm4~}Fr`kasyyEje-agDh; ztr7#zPEFCv;9pL2Q*MnNZT4dD#~6XvsgyfSN9-F%N$SOj##d%dD$QHN)t@=!6h_{B z_`Z{_CP9*=&2-lSsXW0^vvC#Ag1R|HgPFW|L|nA))CNjyv9>)|Uj1j05ayd_+jA)y zPf2Y=MctzhZXsB?#ove-<@E6rz*f4C*hAHkA!|9kUtcnqquX- zZEm7L%;Mw12s8C}gpJ~}B$_Xrt$|xaWV*ihrsNjkkw#(U>xDz48>e zBuQtq=HGAMOz4Z5Hi%(kU5xt7agCZaW^oUJ*-jl&XdH7=aA3HIb7$FfeIEi=q9tudblb9rj>sPh34XsL&5bLjM;DfhZ!UsMPVV zl-L<2Mm?I0qo*Ng+I{Th2)2ZfDEcjw-h4l_LmVBemm?N)oXIyI@F64^9YS2M?r7kr zNIdFCf?fD&dTnbw`~_8QC_=-;ccsgj{155(d+!bqu)UT)5s};0uM_nm$4%D;me@sw9GueN&Qz73S2h${yAAtkRvMAr3?Dq!|@sPrgtw;DJ6L zdT=QtE7vIx@F?VXp4y9T2y6zEdnP0j&MqdH%ouwQ*$S^sJ>%aYP>V>WT}OWm>Tb*2 zyp=nA=kvV#N{*JvQ#X{4DwasiFTT-y4v#8s>H#CibLZ{lZJT($T!vX^*Xrp#WME&+9Iod<;<(WQDyW7I^jd%M#a@N!$5D0xx&{-;=ue$ZBe1hO5a z^&7Sl?FTiqxP4oN-Rs4h)3vBmskf=mPdX^nY`m4IVFMvAn!|scRe}lL1}`pK!G$;0^tXlA8?*^uVh}g4W913Xx$y!5NP=o*;xP1z80V=8rDW@bp3y!c`qVW*hFaS|q>(3}yTqFJ{$sEmR<4F;i_ofFZvsP22;TWcE zowZlqWfFO_Ax?cr`Ep#PEGP5U_XY`8XJ~azkNz*r+EbQg>Yn@Dn_tgF7;?;F0oy)S4m0OAakRGpq!MK3Ipq6k#Dfb9n#`% z*`iK4;{v zwQEC#dUL1gTKA4JL4(lVDJrwp0$s^xj@mZ5lep&+Y3GFKffuT(Q?P*qu;BSSNB(G8Ql7(eIxm7-#-rZv%OIhbx_P-Hdo9iQ zn)TF&T8Sftq7&{BuXbD=(PKS~S^-)BQTxR%w=gER!12&)Di{2m>bofjY^_@;ckWD{ zpARKvDe7mWdqv=-W-YfdckXI@2@(Cm z<*r&ZfWj&Ra~-_G`#`_C2_&~1>k7Zq^jPW7aKF2(*cL!f{SoP5H3N% zNa&$^QtjwrhOdCjf&TTDj2Me6379$kc$A4Ap+&(&6z!Dm>LJ(-Zz%PbJLAQVEqWNP zh@ZU)CJT((a+I2s(=b3l!WvNWeDZ)k!#Q8(k7gEcoiL$j3ap_1j`}_ynqi@Z^t_jz zj~;Vl>m`L~i>;{*>WXY6(&BeEjI)qy8C0g?FagHmA}lpDf^FA~o613U1)VKV!kQq= zalvO_cbX?cJhlSz`MR($4>epu()3Z~71#x?$-lVZa*JV>H6LxT)L$0Lm~S>HRXX>d zcJ3Dcm~vJ5*kbx}_w&|)2O*@ch4XM$sR|Qiprbx^Eo*hs&wqw?I86t>@`)vo9wwm_ z`}V1cOsPN#_4!9@0(cCC+1HL;vfdk>@1*owOvJRBYqDOOr5LQQKlsp;(_`q^FKboQ zpDW#z6@PyjkeH{$d;yraP?!SR#{8oW_nNfeT>pOaACI<%+7(X$vW;-EAUeTT(xl9q z43MS$p6sskupNni>UUuKkh>}s7m#=FH`?CS^s3E>Vh(zo34&+yy$Z)GZ04*_Q^-=5 zUK=xHhjCV*h4|Yuzy4)6hkBg(^lh+RTMz~&8?AKJ0_M#`0r)d&r9KU;7!mH;hVpa` z77G>sMK79hBbV_qcXQm-pR*oNl*}V?M`)7SxT6C7(ln1b1tsaV=ol=5Ul)1ka-Sf? zO1+aGO(&UzUS$P)Ry^9%%6LN8epAWSe;+v9rhUa*=70x5z+g|r&+1-avWrAjnQugm z>*NS!4xdxMNV4$09vRnboulwe*AWFOi`7!_GcirQD6Blfe9t%Xie|PKw1w(}0PIBA z{&{-g4xPECBznrRwtmtC;Z&4yJ?>NL67(y#?zN2JVU~Et5=qaG+k&b*DjGl1XF|2E zUn;jX#f(MmTLp12U4N_O%vD&Hp@R1))v$d$X<5)Vi5`5_E#d2ZSYf*=kGNVrS{X}` zXm`d%Y{U@PEMy*LSSJ5`wg2j}Ts ze3#F7ep?tP^zG#*gkJCV!5Zzy9Xc4U^~ucQ>hVqRHypY8oNo-PH&}(=L$wd%r)FFD zGlgn#nxO;tDn}rsXypmJ;hasHDM!nus2O$wNO#vZ?Wx#0Z8>fQ{-bLKpj#nZ`VW-? zT$R@MFeZtrLm#E((Q>9FkM<;KtCt*`mO09XeDN9(t3~j0|0uVge&bSq%^Dm9C?|T^ zkq9a2yAd*ysKn_}x&ljfEpf^KA2D)twL?1TX(Oc2&;I@PChVAti8L@yEfMyiBAUv) z!ex@^^QWiKq!$gR!#i-1aDs7U$EYoW`|ZxE8ji{FAL^gC9fWh{N)sF#Cya;P^84Dl zqS+J==wNy_2SoHiQ(!vy-q5xaG#=&VtXM)8D5e`^KX(LA5 zPMjq>|6wUUR+_z|bXeLi`ml5>Lkv@Tl@9$3Y7>M^o22qj=Tj#8<&|zv85L(%KS3Rl zP4qc;e_<0$;6ko&_~=ra>X=PHczggO5rh=$A4O63OhV#UpnZFd zQ>rRln1#_N90J9f16E*?srY3$-}bT3+AUb@aC5eya4fLi!Qp{Ns{YNqXkZ}Ky&UGc ztMIjW`qFcB1%axJjsYJ%;5YJbYhus_*P!cmD3zx^%FN0n2(DKXbHJA>a-|1X&XC{)RbpUmh2GaT&XI4hAb@l5*^}C}~1QS99e8<<6FT8vGBWdIq=6 zlX!!S^U{=TJj~P^#9RkZvw?ay4WV$LIumlsBz7%VE3)w$*9{)@j_Wc|uT+PM8{}x* z*D}tY>nH>ebTR-`!)E#r2%#yH_PO}C`R%{B+DikP9Rb}pb<*o993xY*67w;o4C);u z9N=L0Z1aeqqUama(}3#~+?zv&ovsU)wvbcvllGQ{BiU;Cj9_x7CGzVw=1t7TT`>+f zDFgk}zz_Pz-#+N_+_|UWG9+zI3UUiVhoXNql->w#s2w%Dy2QNom57U&%08H+nrd%x zVt+?}k$O4y9CoLts#Zs(@dZ%vN+jU(i4hg$YF8_zq;E6IkFW0|VZP6(3WN5inLEi4 zS|#d$v6!3Q?_TSCtpVj`E&}3(+ zg~z7+3L1zh(Z@VY;Muk+e7l4qwzZ%xY#e!xI}qY16V|fIj6UaUZ?JMFo_+=EGd`|swjsJ4Pq{C9k?2FCc~y{&?f;vN+Mbm2MU8i zg-;Q*QLLE$cw(XQ7c-oio6D)Ql{^|SioZp28RvW{Ob#yI@ES0g`li!Lcsxc-)Y z#r`%G!o7J1tL?~FWT|PPVbi9|jRINz7)Y&nE6?Q=LFRaUc4=-j{#1?f-jdJW&_-wZ zR_M-)Rvjn)q~0(PY@i*w_X|=&e7NHbp=%&N6ic%h3-m|~WLr%MnCqN?_SL%sBIo+A zbo`g@gpey!{7q(3+Shgl-WT7~o$%jsf{`PY&db71#<&O$xvZyJGby%mmKM^=QIrjz-C@IPj?rpo&8KR)EQfRCXXN3EqxF2Uwx2V%<65Ws&L!Uk|lY^2v36F->6AJf* zAC@E?wl^sQMb$e5aliW=`(^&9VN9HNbVZ7Qaz=o12*V^jsk6QF2Z_)x;|2W1=I9tQ z9@r7*3rh0dCYp^!&RYMV%CWQdZsq)wHQg8MzUt#B--A4Mfb$Spfol*HnS=zXrX6ENqPvm=2DFcGhne%!+B=ikG`_w%^4E2sO$Brl)@N_~%LkzuS zRP}|j=)m#SJby|nFu`MT3CO-eD=a0x)wX(J#U(Kem3;`1``SIo5w_j=jWBl4Xd_XC z8D^K=5&PhJqwC0S;y{W=o@CVXnUXKPsZB^(O7YD2%SIyt@;(j|tBtIl2Pk%~&J~v{ zGhmLZKmT0#1Vj0@->^5xm&hXs+Qx4$zVxYms<7?hB=COI1c4x}u79I9bJkg583{Wz zqBBDLGCm&-!6yf=(;gla_;r1C8f?ICTTV^|PZDvKlB^_Z2FB9wvT$Wn zXI1JKo43bJN3WS(tP`KgCdr{(o$0SKHm;npdre1RadX~2XMUHyniCkN0sRqQ4fMJ8 zy$wC*a+!tNN?xPF>Mm>UW-`n$~TYpUm!oAF+kj!|ymZpJK_+Sy9s2`0BFj5Hb`4P;4&&BaQ(`pJ@& zs?4b))4^V%u-~*%)%E#!0EP_pejXyk(Lr}Y?bCQM^RJ~ChoV4u&=QJ5DBQE{I>22> zHn#f0lG(7aEEN2H|KphSfj+5NH=(kXh)a>mEUzh`>xh)Y%Tj*%Ik8bW>cj>pICz`) z*3wyNBS#1(pk8i_)9?YjI=HI%=+k^kH znbq1}<%wSJ43fT`4X|2OCN}{fWs2D*)%Q}5`?Fy8yws~X3zld*oZng}m z%qRg@)QW6INDD_cm8VaSi~7*DQ7I=egd|z?L)c;0FXZCUsyqumIA~Z~-##Fjbpov7 zoF?}|(PD$37$?xRfaq3=9;YYx-pNXKG2o>E-S4@{h9bD%9z9$A(bdG-Rp$nl8?j33 zP1aoN-eRQ(aQxA!R6MUoA4Oo$EEm<6d@kE*rs0w?;4TEFEXnyt?AVQ(vVXdVLhXg9 z!l7fRvD9c98NcETLRt#EkK5U=9`!SFTC!`w27uM+4_c{9V!$;Y7qhQOJSfvkkNuIT zTQh9DcsJ;^HJO_0egJCRm|*lM2V*V`?1O#b*xaJU*}PIlc#r7pIU1VpM+-?d^k$~s z&_C6(+Bc_Ik29yZ zUYRPMNs_)MUMag*IJ3+8oeuh|vaG?RtXHN4WxG@@Tg03ErD!RG{I&K6CL-ZDs?K$k zQ60Fe0~1s=BDORqb_**aGYxw3Qj~xv_?a1hI2^jwJ2@#fZ_vVcTei%; zF5SJ-=m&sne?@yf|KpXcNIUO_vkxod*2{MZ_N({RpiKC*;*J2ZdB7>bCUR-~{%(;v z)~%)Wh=EXF8P0Oex|5G0E)@;wVCrt&D|?Yl=v@v%4s@sD&1_DRXGUb8s;ZwA;qE6a z`YlS~%Ruib2ZjIW^?FnL0zKQ|U{pL$Tge-U=ix-qTN*6RGUL`4CSJv1=c7ldc#BWD zYW)uVb%+-ks<&O_?;}E{&pn=R@XYXdqEuJ&AHTsTSa6l)NoN{6Oy9zYric>L8Z!ED zg>6Me)MLNw1o)*dsX`Ru-eG?u&KfD!>41*PMvaT!B}(QLUy~GnM1h!O#caOMaiame)RXZ*(YcwV9_a7g@+< zxV>~*T8%NlLm`B`G>ODG4}?@Dep=EQW_ZlMeP=Mh#YrIv<@?lXu9}+5ryBa7K}e00 zt9C-))w&MnYqopki0^$(P;ScmM#T0gK&cgepfj9lJxA$&fa!oN@yY1SjuQtC`a-}9UB*}D+ zkeH+WcF%n-I->-T|L0o#7h#=*2So5rF&<%r-@EHZW!zODL~UTGUwwV`odNX(lgfTW zy3%Y--TYXsbQ_$3f)G?We}Qy&zZ*!{hyptp-0iH=VtTavxypuDe8%H}@nGsR#g>e;l^G_($KxPDW1S z8MEJy{@G@CRsEd@3KOo^F?h?Z)M`D12$hSImfY6kX3zLIm7Qyy2RHU-&F&L^R5pI7 z|EMc8Wdp#rO&j#+vs?HDxko@VLQb!gS`I)$D%?uHnO<5>0)7AA>Y!Yf%$44iZ0B!8 zi9sI?bz*g-k!bGEZz$&=TaisMP+n^l=Kwss;|K z^Z(3#^x{-#VS)O!ftP}_%}mUY5YA;?otFoopv#r-U01Wn{2UCml)YZRv5D=#2>XD} z@#4d#%HH8uZp_uD<6R8czyh1{{UEAL#u|v>pe&TJ-xD1Py-f7~v+(|H&g2?|Ms@e3^zS_ae{;e&x1j$@Wy|c<6Kid_MNp=`? zteZmZy>V|vI%jCphMX#<#uyo6Lr#5_XE_}sYWIZ-e0<{dkNAI9Pu!$IC!P!B_8Yj( z0$$|odJ*3e` z`jQfd4LLPOpaD=FX%Cwo#Qi5X_TOLsAa=2Upd89Fzv$x;nBq7bgNHN}N)4fA1V6=V z_cg(8v}tlVJg~j2Y`k3f(eSog77W9rrVcjhD5iFU#?Tw1zTkX;Ir{kMv6J#mJ=3G% z-M5Cuyw>w;$cuT+%@lVQMNN_O77kS3C#b%@Wr#8O5WSJNqrvg_3b(vz&}inStQtG~ ziLd;0+8WuVeiwP>Ar9zeB+_g3Pa+8tp`#eMP*7aX17NIF9*mvam~UPrecQw3KnAhDXXW{Kd7){u_DDLCT744oqz zPv(gnK1iByv*Lvl8W^v>q?Tk6goCx`HVqrsQ+#ZI4C?I^h*Cnx1V$*|MKD)DMYWaW=L=9N%%!^29^vu2Rp5; zA{-t3BCC660rxp29%NWgv<7f+?$SdBb*HC3EBWWI^Yt}E`~Z^f(JH8+!0vjT(f8$t zTLAGADU-zWq|U1FPpbM1v}&%~7-V8$q!5$J&4uyx&q*o>unJUg*;l3+lD*Y2bw5jS zu4ACx(?a>bApTgm-Z>8FBeY=WKW6Jn9oWh03R zUt!TViRH_Ks;;JZYP-?F$c<^b{G`b0AF7|vn2>$-u%8{Z9%FuAowD5=)iIbZ^1nZ2 zB%(e@y1FDMD39Q*>P_BOR3^;r z!h#rJXShVzdiHl|P0+C)vR&WASAG%ULcV-=G@++{0{W*biXFrSz=G6c2+|+K>9}t? zzz~5N&GKC^TR@^fE9Oi4A(G=@QM`ff1C{6Eu`tBYiBMOmuLWbbbTCZ*VJPV&RBqZP z!dv{Gr-fPoWR4Cte_Ce~!VVh(yec|_wQ!{GY_KK0%e=Kg-4#uhSjxvHub*oPR`k2{ z6v0=9Q8pO(?g$})nQ*9_&AYC-zaJth1d$&+gB~>8g=eDp=hsHK!6#k?y%_#W2>n%KPifLVN2PQcPKz45r)?8GT_I zMW`ZWY3P!wc+5mJ&24v;wxJg18-6F&?eq!XRI?d>7VAzRyu<%&r1f`<7px&(mC&@< z0Dni;EYbVy;ONMDO=@}$EK?Q&xO%>_s^zvl3o~=($_lNZ+lhv`o=7pq-@(d{D%H)S zqN=J&ZMK2|R(e~Ibt0cvFjhc&q6@fs&*}5RJ76Ccb!TBJo7H>Crd95a#?)jwJTv9S zbnmB%83+>*ztbTJy1vBz`_Y-HqmpA4u*i7wkg-VBlp{pMtkD}}i2n=~E-IWZ2uJ;) z9pU4hs~q)yw(8#xBFhKg`Dr!!Ky|6={ouVA6jKfz>m-U(TpsI#;U1!bcUvYfn>p28 zk2@|32)_$NR!`C?7k6W}6Z8W%yY-@PSJ;z~1h*xDQ`Djft(Qg8^2D9P0J7Gqwv4A`eM=+igKz2sRj(MP!0C?IiJ^^zYDiG0Lr= zfo0&=8Fa8KtbsHU5A}rvVM7t0qSXDJS?G(le6P|E*meutli$0nZBJW;MZKv@$^0m~0zT=w> zDbG-7G-H>RUpI|lcnsqV`S9WAnd2Ew&0isOAnE7twBl$`!G@QX|NTbL2nsawu{Ddd zM3%3)=>CkCe`;Gl0aHPFhHsYYny#yVN7-`_96gS`lIl%(Ia9w5JPR=*8ua`a z6|8PkjvQUugC~Knp3%o~M*x}X34pd|{5mWhX#H@s6CmM5GEZEgMmFpOCR_Sox>R%m~WT2;qa;)0t=DOumE*8 zB8TRR?|F9}3tYZ`!5Cq94m1)FLq9nFu5BlZ2KJK02+5a-e+@cJ4%KdeU3oqL?ax$K z#zW=gxCkjkzLpe4o+JNzz|9cVXkp}8omzDwZ}F~!H8Bhra=DShawP}AkZ}h7+cP3o zJ#>y_=j5YOK=j z_XXA>;QnA*@jkWdTV&CS(T9t}M(%oM;dJE=(2ZF8Cdi##38 zP9)BcF38J<@CW?gTQzhCEypmUoIZM{lR@@nW{1T99n60`pz^_&5aoGDC%c7yCWxdaNM=}^!*X6!JYiymz1%cDx8(S? z@{wigP&Jed=I>~qf4CAE{@jSNu(?Ui-7-Do;zR4;c|y0=$K{m|6nKzjQB*GXzY+=j zh@e3AJLAs+UDi8RKc0VmWjboPuyKgrzh)e`CE)5%q~?dKr6M~SbN5VmztN~e3Z*9r z`Gr29Et|p58~Qsx1`Ds#kz|ZRpod>GCv>ka1=Q`~Vke#POLVD?7&VTQN|r?Eue1Vn zCMbAaCc3Uw7&DJse(`4(mZfTcXl8MMNrT(7o`8VB&ZeZ+N*@U8dSZ?F zhw)d>t*XrOa3-vBuUKG1VEv0D{9V3yX-p8qqzpbX&R@eCRgFj+jr!B}7sP6siuGSX z1(Yj9DqBNMKjrK2=zrT=5TU>zcksZTXGa4b3-9AezSI;S z;lBP66ABnuf&wr)cB}O!iPwtZCS|mT-{2;!7wlxmuQOcFGmp8Xqwpb%;ISRHfTw%B zuVVF|SHBxsh^uAbC>I^&{A=K!pqdH7zy18Cx-aPT!Yhe{>R)%00+qAJBcu>YIPo5% z`TJk5q^V0l(mCS;6+cBPXkl~J>iW!$F@zAx>Un`xiQgb;DK8+K8+0!!B^!TWnLSw# zfvS2HnDfM&vC?vQb4j@40wtia-+wCssd?e=e-^2i%sBa?{wv_y#4~bol0qXWk%<3V zj!$t>+2C=gaTam@1yQjqH^z5gO*uGihd1+~(f3x-&*g*S*kEfC4WeBB!SR<0i#Ijb z1AzZYb^czZQ!WNr05usp_Lc~Qga^qK;pejZ>to?|xV})dUgr)7kV4f|o`4w6hsOSu zxBo0T-_}3r>qE6%7OyeB5U5*6Wia0r{8<|hlAk3dP;Acc9f0)d`;D;A>PzY@C&@hv z!)*s9?&}EU3pIMuTL8T!jV1h+h11o-qWYry%eL|wCNAWG^0@`pUuo?LViPJf&1V?)t}H({xj>+Yt^KXyh%IsIN5NpK_J#qv0KOZ>Lhb?!2p=r;nnQjOwTb9 zC=aW!LX87Mf>HK@IVG(k0jQBEhg0G+ZjTxKZixUv}?1DvfFEU=x`Z3tiK`@XJ>#%Lab z83Kp)r+h-B1NPTGVbJ-`B+(~9wcwPQFSSmbw77kupb+%9DYmcZ{9=38T({K5pMf!! zP{^R&WJiq~wQ{Mj{F_d~=by`a0Funk)%1$fus_f{H zHh>s|#FCLb6S5G^%mV7Je0JlxjR$c^{J4SrJ^zTCCss9WLAQ$%@SZ+t>yiHi<;80Y z_{eK*UCfGVCJH?E(Bdl+URPyk8(6uRqhYetUAbtb>mT%@`*@U6E)26tNoB@`S{V zsg2I6a`tk$M()?6nUmF4#O~%hF9ltMf$TT9PvG(@)Ut53W_KsS z%f0V~s;fO!??!BHPKwIx=T)~aA;r|F^vcx1w=F_vSouARN4(G)KWC7#+_y36(NX0X7H!E9QHdic_1ym%L)4V=~#U- zdor|`*Oq`$%aWi3={Bf>4i*QE4%-P6n8C`1*53{b6*}+hosGy)=Bn#&F(OSgyDUlz z2-KfVz8LY}FuAW(;K)6gZx|a?H_W7yL05yKz43*<#RJCdW?1MTqrqvnPU~aOkZzUL z`g=0G4+fTw^z2L!WOs{QmO=EzVlU<1kF4? z;vM%9E#CAzwhMl5hrUXqV3W(b)>pnIxBu~TvPS8(`$ISJ)~|}J%D26j)KT1^Z7^_d zx3b%YWkcPg^ecO)!147;W{}S-3}QCrq|OzW4fWHvKen5~Zq)7V?K=j$lPfG^8LQ03 zBxWicQQq*Z2pY~v(E(vr$bcIMea3I}B=u)m+3pDBKnkrEbLXV_8_q=UX?F{^QGTEPGE5u_t?vG6+s+gOb%d3Yo z=R=hWVasJo_wKn6NGAqtte+3R@GP}c2CDB|7R_(LhpT9DfS`Shf`BR1$^1Av-3OMU z&a~iMWN}hGy*YOIx|XpDsrPd;T(9N>Go{wvV(VfxW_tGf$pXAnPs*ZLRl2h5i~U&) z){a6-K>OwvTAz?j|d~<_ScM(h`g8rfA?e{#T?N}V`QQ*TZN282IV`UuwEEZ~9 zf2iej4cq4i@0_~UWKmN_ioTKj1U9|VzTHy7qArebFj$8pl&8Qj-NC_;SxjuvG5-2C zyEn9;>a6Zs#4vJRU>nsjJRE1hFPFotrEQz-RRS2>P;Ro?&mvd zKUscmLB019`*aQ*yb8wET;jwQV^jI*DMGhlvQ9Yvo zY^avz3fK!kdfE7gf^h-o^l*#MT}YvHn+d@Pcq_e?T*A(s%Y9!=rHkYEKn#P3^5^e= zZY_8mNqH&W8$zmP_zw|2O_?U@Yd7u$QSlh6%@&(*eR+MlEKhn2J_u4yR-q#f+Jg1%h`@udyEkGtMMWeF8b6>BcqHW zV`WQ)=q$kLFp@f9O3`cVHx@ryrJ9&SA2NTH5b{ca5kq9hf;yPN5viJbP`!HToMB6! z@B4DVV(w$6{O)l$pVs1t_z=dSB(t>nG+AR~Och^E+PURmTh(yueJI2Xa1?gj8GEfq z*|Osm$Wq{~G+8tFs@=t+-1puhrL@at+a+n2<&j1az-?|+jj{9toD|r{WSYm%zk-bt zSm>={F3HrmDS_RglSw)N!|2G}a0?nc0q)$wq4 z8hVP1eN)e6>#frI7=y|KlOyMT+MOAFeSIbFD(8lUhZc6ltS2tAd21OontNnQiSW6d zj%1e>s>SE0iC6QaeD;zypY5BqWE!zXP%j33cy=V{*EsJNle`gdddYS+T7m3$|BdmX z`(}RX*)DX7X3tIwMJEcEZCVZ}!*gfF8>De&cR z1y^2da2q2WCW-}@U2k)nQSf;0n;fk-2#;oYJ*Jgf@pg0SpqQoR)!!suaQedS-}3c% zXSwn5pg?KHL2^KL=%Mt_Y9p62t+TEcdRhB6(v46W@2BMW^UbAzH>|>jq~3A!!94X) zyH|c?992t0(74Md(w+36jE))q>EijrNW+KYKPM|aHl*GBk3IyFd~EiU!A4w>=ttegfP^#k#KSZHW91al zfq^Ed!!^izQv3{fndm3`1pIu9cnDcb*&tvr8W^BQTM$IFLscNH@=p?z0HvA$S?*W$ zjaH|+EVafggVglSm;tVzphSb)j6Cw`{Q^3gqPnqXpEiwDxb^gLn?`-yyj0wVh?9Yz z@;0eMM#nM9;(p?3{zuC~j@{M*c!Xy$^_KHa^N`<%)MhXa^Mh*|r)?cBXw3|M0inW`U^g04&dwzt*cOW}< zznz}Q74c_xrF&{izD@I7EgpSqe(6Z$Y@JMuqR;M1aR7++18QIBL4p}JGh!EKUb1O^ zY*0`>`U9@p!%?MN^4@WMKz| z$3L1`2L@;8iP-%`8=QVWHLUiOzXi(C`X>(F)>A^9 z+>%&!*fSEYO1+DaWpZ|3iqn4TjBw0|sm)$hvFvoU)A9*Rct`&c9yJLrT1H=^KSh{A zX2(X705lavguH)7&fi*CeQZOa7-9VM&~>W9rW7M*iEdqdotUqlE%w+nyXAED4416RvA3RjIOrE9)O0grgnK5>_&D;m(qL{T2rnfV@CyScRS zxo!R;Z|Uotkn=5mx9_sSZFsu`>FM8mf1Y}C7n1;cAb(zHl_mum%a;zH^I>V${N@lp zvDhRFLbtpW=SD5W*kkvm2`K`z(5)uAS=A=VC$BNwbzaAwuMMlPwKCd};L`ku&EiJB z(%VxG9ghpT!1<_P!~3Z%4t@O5jz5!zvP!!$yj6@-BCiXpG-9eB%*ol$6bO9w?uAZu z+a=7VZ(On#x(I3@NX8wgN+Zm4ubX58l$DbZ>{-~_-Z)dv!TX2Mp0%`8`nK=OF!~iD zo7cSiiy;fH)G-sq$`EiZv2)ngV{0;Yx~BIe9A32UAK$vby*UL^I?4+crkkG~RPz1a&DUu<5An3>_6m*tcZa+)o< z+3)-7-qzdaXBT#YrBtu_S2W!pOea9%ejd+Vam#*3QA%+(v=B-u>6N<)Heq)3hfJ+~ z{rVKy{5AJxF|od^h4lv8w$4bQXXukiR4T75sO?tBHnO-i<9MYCU??@;Qv+kaKmA&=wurqCT>F$6{B4(!*#Ez;a5+0ed zfxKj0EG?7m6up<%LkGDe#dJJ>wJb4hb+QbCyH94ry?C#SqAEYcFkQN0tmZc$IpV7m zHi(qGtg*kqf)XW<;#)C@U83OY8uFIh62ttCU_`c}NcX|8P%6&G zQ=(f>n1k;pMGgO?b*P6DQb(PwRKzp&w_QIOsFq!{bR4M{p2v$=&(F}xgUw!fNg)e+ zVKromyBc0|$Q{Ej?PI9b#*1g+Z|;{; z@l6&Ia5QqxHe-Z)q#?31`(U|Q>=khfamLvSQ82zK>C^8z^IVHSextX->wKlE=L1RF zC2vmEgSw>K0kn3j|X4^yz4T$x8rz=w1^-P#E>S4cif z5K#|LJqdx&K{kPyxb4`QPrjp&fpeF_!#tKa!rDlXlLr!P{t}tU@E<}8htx|S=i261 zQ@Umm>M3_AwHGTj(#Xl#kEWr=U9qzebp)Zb->?JRQxbE>$t14fZ_$^5eboutk;8J$9 z3{^&%l6B@0@Nk&Xz|{G0wtEeM*^{ENRx6duLatvg%!fip@&<8IKKtIzFxh;g4(oQF_sUpX0x4y z>3-3{3%zGG$&9FS->#08`-Fdlj|Eji<1h9^dQIpS|G}3Ko!o6HJz#C@Ld1+NgcGMn zvzdk@E-dmN|5O3yN69;#HKIki(W(`aYYwu%wxl7Z4vrSwyzo|%XuPBiTdmc*j?vfm zxX1{87Nr<)+!fb@K<@;>J%J8-O{icoaEiqZ^4CexK!7)%eo`iYna1U+)fe+; z+`EWoqN?H!`=Q-#nB1c1#ruX;6?DY?A9Q;;d#rs?e_}t8*RY;?n~7hPJR2k{?tqsJ zTh9n`f2wEgpMJifW$)8O;@-LrogHirbh%hcwjr)rj=It76wJX%^UkEV?(+vP)|Fqdt%vAIc@^EW6d?Yt(cA z`GE8%s}@+6A#dFyJ34OvA$FaQlu2#^;r-WgBba@8n+DY*|VX+ zc^1|7!$3Th-BAv=%)XIHn>3azwS?wIZow}t5@pZNV&0l*gLMonsPvR=$(tHkm?ww(Lfiz9us?ahP=B&? z>jM{;^4OwQx2(~D-IT5C=$P9Rf|0y1i!2$7;pP$enCSLK~`Jb~DJ-mIstb!XM zOcjv0U9nXbqlVT-F=`iBoSQ%fG~@bj(82V- zo?wPuSQIeM4jYvBEp6L>u7S>4R~C&8%BXX_Oi>cOoC?qzra(R6J3DmEEpyavUMtfz zB*HFJ5z@y8mTodR_6yA|zQLZ$5gYxYf<&xfkzet1)Nt+zg;iPHa-Mz>How>FnFX{x z!xrdT5#iEvA&BtT2@;A$?1Q*O1u{Qc+f;d&(y{o{(!Y`xPH548B{b^(n_*=d_goLZ%#biTp+7KXCSkG@uGCpL2-ti;6v>R z-n8YJ#{-!QT+*b$^YQSxnVC?Mn^cRACBpBt%%Y|Dl1P&{)lyvc4nHk~Ugp-1C#`cB zzWv&?DftC=mHkB4Q>SUbZn|nWXYtK*VdK#E{jINDdcN>0Bn%)`ZZ>Gl{QwptkoINO zoy@6K%ZJCPl2lmxz#?PNrOJMc3Q2TG_k#uH{=SuZqw%VYJxIPE+lyD5@4gGenR74u~Qa&rXOy zB||-DbAFXOs&=|=^@^L+d#$qlnX~8Y1xH`~_J`$3q#0KP{C4_9+<&~X!9ETJ9$CCEY*Lf;Y<;v1f>WghBpvMd~*82WL&>K?_Qn7$@;~Fgqy+V z!ZuQX`_M3|aiZAQJkFwR@qJ&#CYGEy@@Cr)W=1husB=H3YVJ34l;hmSp=tCW+E>~~ zT_vffrQ>Y~BgzXD4rlYBgtIT*ZW;?a^-Lpf+;t{jq#U5#{3SB0J$<*h5I9X>+!v+5 z9&s&WxkADtASrhjhSonf6wVr)AbN_sGC)2!9!?Fe`}rgw=s=LaCH{0bsi5Y=ghuL0 z(xACyp?CGM;KYmXHmD>}QVU>yL4|I8!)zVAfC$<`8FrA;9@!JgWdrv&k^ z#sdk%sy-Kf#NC~rqv6}&zFV5Wp@VDxB>gah_`UYS7|$jtGG!(V3p$mb(1a~0p$z7GYHDBL>T6d& zN;O8(hY(p~C7&_4xdNTQ`>vU!p=?`FeGuCJ<;8>z%x2bSa{ct=_ud);%iHX=cqP=N z-kpr;>)7OD+l^*Fh;Yq&i%ih>nD;nM-5KAOzu?9jd-x>&t$xKr9v+kGKDEIP^Y5v0 zFBpUxPdihx)(IG;xBM4q&{PmZOCr% zjIJa;R?=?hd1s*U)c5n&V9N=zn@D)8t?TS`BqR9vYgq8wZlYOM#lQ;N02#AlWM=Tr zY&k*P<3Z_^)7`E!D!!28-Nlw1aMuX}AEu#MYqhL>6m52*UHNOGIot4HHyrVFBX+Eq4aSDHj>6I32YjxeM8OOe$(#*c{7{+j*^D>y)z%@NoL=JF}y18MfYysGTaU2u&aCpJcx2M=3pjCQ*|zv;M!>? zj4tYnlzn1>7>L-bF_c3wtf->qqBxUI8}DgzYW5H7r`*>LGHnN9PZH|et_z>$rkW!7^{U2@--!HXopqzBpr-B|cy>LcnjR$7G z*MC@^G?ts+obEd^$mi59!B!xY#|he+aVgHt$nTKF4_vc%W$>*HC`wJF8Rlr)OPh$- zp2Ju0p)9CT+D&1_s@M0zn7t11;`AppeVwuUQW?)I(kv}$}~Cqy!e^Q&q4i?7RRHn%0kHYn@V{jW!x&HO%i8INh_Bf8yuf#5W*vxF$l$^{WXOEHCau?61>3*U0^)0NOb&wKo~B>|lwq_cqcK(rKLzB3jVZ4E5VbGRsY+*_FUemGp~g@u3IGW>gC5M;wH^IJVuV8< zSU#foDin6_(c}KOhYz5T_%L`DgvD{S&qem>#&|qvVC5DY)dV{o&;Xb+{4yy!2S*+g z&o$f2R|(|L0X1k8*;geRjY}rFy4)*BmX`*Mx?I@z0r1NdOP`u478Z*4Bic*5-}=-P zY6R9|8nxz3-U!d%TWnwXK+bdrNqys*y7wph)FkWWvF&8np={)?#nxRklfpw}0*x$( zeRpc>n{261ZP(Ejy52Qz!w=mMMeXcNe2I5Et$A+p$+2wV#{t|^M~{J7%(ay&?&*zx zgX>yS6nsGO>)#(zT1fmoT+qWy4{+dLuB!r!gr&%}%YV^#FBs7P=|DA^X?NKt^MKCC zn`Z-`B7R+!GIC-i4)d$hf!cEH$xHK5@*3&!;ZQMcA1@+U^b~8tCI;YLgPHV_d4!2m z?6hLpLCbw=Vru-pgi58OFjOU=>*B-zfUwbzD4xSPM8vrPItujx^zn7KuSJag`+GDu zBWV%53=tCFs)`KLk71DGC}>@~`$Mwy5urjEOzZn+;g)Qk=(UGj#-+{FYhw1VKQWrtYCYc(+mbRFUQ@GIq(pw=%@&tO!!53Kd?jJ zEy3w^BLH6GRqZ`~V2=NVcSBp@=P2TqhUeqvG$ipv2l|AlM+gD<;%zU2lM zNenq!OLIu9SLYfLMWCbev6BOv(pjd7y7aB?vT=&z_ypO@*2_d~k zIMJ07+msPZ=$6vO&LIvrJghU1Zs1ShK4bHz@fI0r-?S<-lVi95d?F4$blC~Zs8gVC zCWq7g5=iOrpHqGXWklV1-0(mb2*ENN*oIT5=VX6zS-KJMDJYghijIuE9v-&Rv3L`L zEO~mIwQYDUfhH*kJ`^CayJtZJBbmE3wXZg3z5A1j{kSlmL@noFm{m2FCSzKqzQ7D1 z&HKAzI6DV1@WM~;(YXMN079@ZZTBzXFy64;L$HR9vf|NSi|H9C$6R&rJ{ z{E)!!YX#hGR7uN->!Cd#=yJU-BM&1(Ga0!%L?WQrd*H4mcv(a^hf*pTo2eEnfTedU zUPf!z5$hCP`v>9#X9c46;d^ml8Nm1Dyu1Ka5ns-B`R9-?%HZed;b^QSucEW&`P|Xu znV5vA-lU1<1P!uzEL>S1N29uOCgOkpQL84JeC(TQ1n)0hqaPddS3;AO4RQMK0Q{-z zR>0kVzu5V^0f-9h=dE*f`>K8cg6DJj?@B%q~L**M-yI%>}=(TJyF|pBqAsMLk8Ek3(ks$!U zPXmXU=W;9J+{2gvfgVQEpZr^sF5m-T8$WtD85E7!#UO|iM_o-3Y^D+@QZ@A1!hR=r zM8mb53XRRQvX$E+KC#*qQ&5hP4>8}3v(U19<$Hq&_DyFf{%(cfLPC|dVGF>lt2TS) zZ9d{H4GNRkL?S=JaR*PVa5w*M38~Txu$llI{|%tV<77bO>eZtt{|%i*t0*#BgNR~M zBwJe7@d|a6rXH?c`7k#q)Xp(WZ_e9qRhim?koGXmm5mo|@$jJBu;2x}j51!tyC?}> z_C0EhmTwmaq*8A`tuV7q~|bU;%hNgYE14u zG!;sN9UrRZ@nKaUeTvtIAjgDa*6h%<)fT&kjA2`K3k=|1x;||-e*{kH&?0X?76;fZ zHey=e$SLAe{e}NtK;Josw^9EAVE<2e+Y?Bza$%4@sDo&`*4=S2cvZU_u%q41e#O%1 z5{ISZ4dmW3M#;_d`eOof=GZ8>)?q8Rhq+LaEvWQpTtiLWRJ0e!<`{&Ts^Ge(xD7LU z^{7Ye!E_x1;9~x(K_Tb5ym>8X?p&86!G=$L%(nb{1{vq5w-vrvFx`{6wQ{y>yq@dkGMD-N|MOgMqO9u4+6_-{a*kg9b0+8>r3YuH40gZwisRkJ z-fH~SegpV}-tqp?W~VDXy+)beeR}v_ zwW^Axe5k1s@wr=WW8mFxP|*%12~gyR!KQ79lGv(^CA(U84vV`zCJufM87WS63E{)# zV=M(|@;zqQw<~}3!1G)WTEh6@Ko5j~+9^|bx)c3#Bmgb{5g+!-zE`czI`7gqhFzGk zVGm!iDfZ1BEQpZV0ZN)174dNqILZ+LMg^$b-uI z&BHMJ#5SdzJxq_qRD}YUK2WwKk@?@9b z?Te=zXY-1o#%@$Nk(R+SC?T?nmNWVLM?5UIc^1u7P(;r}?vaW< z&Nh>`1Rr*Yj=$NLGg_7 z`j6w)eNfbp!&_5v;JV}IK0%8zI{vR>Grv@(2)rl{H z3b=wNU^le8Xr=z*`JwXXu=dEyPZCPnV&u50;cl=e(FWf?%i{`?SxZI@>GYU7B2LpH z0?6b#*B$#}Ir~*Ly#K)h#C)i!7P+KoF%EZgx6NC*vxB{UV?h5)k+KUS=~H|7%sW!{ z_dl0yDgQYPfH`NnfF>u^7Xo5P>J7v*b2do-ue^Gn4~dKv-C+Pj8tmx#2+^{Y_LM5! z?+GJZuQwG-EVh{1I}AKJhMK9?GN0*y=0<$X_}l#F0GoSsiS)wXFr)Px+HusH z=~eLZ4{EdS{oV3WGJInk{u^`6erqshs?z5}K$=e~aL3PJUbZyDf`^Z=@&>7OKSjk) z?2+1lqtJq_CNdw43yE3&Y+c(Uh4sGLyg-NiTD3+ilZAYPW=iCc2u>VIls=y;`-~1s z|GSFvL|}sVoPCPKfYb8@ulh;;?{@(3EDY(Ozdp}{x;p!nLrtjL8Es+KdYS?w{Sc+neF!*e`TsuZ8{lo< zItfHjgQLE8e$+_XlfOm?iv0HkgC2xA1Rm4V%F3e_Y|-ieN$+#geq5$F0!ikBrtE!b zJ46#j%k3RledxsTjtOK3d<$BzFFbmccyuwhjw5T}Lri+^6s-&nkS@If(?mgUnIU{0 zBOSFjEi$yD&GP^MV-is`c`2q*aTK$ANg)Sw^o5HFiN%Y5sMZ6hSqY;M+ z(ZvcyT+(=(Z7cQ&btyK(CnWikj>D_oRV^0I9Hjq4ht69Mg5Y6VG99${Mezu4lqp3W zw3z)CodUiYBl}f%7ly2QA^Du?R*2i_`}7NtSL)9PjeJjgayULia_!?^!^%30Y{+j$ z;6dTf2{ye}+ruaft}v&=-#@uOzDBG+Cq(wuMk!yzdb~;}8I|;T{`loO&-2rYV7Rr| z8I%)Mi;>i<#wY#dIAhR-7~ot#;bxmN$VOChyvfj2!nJE&|Iq>;a;U%$w~*z3rUqt5 z67DIcZF81KT05x7QKDm0jDn}C?AYip)V@r&?k&VyC4dw%gYh_diKlBhvGenzPm(jG z7JmEyHQzOMw%EWO%@Akit3*)PMQM#45_()W&7dbzkRu zIGj-)e{;)wX;b!SJB3fs3Q>4n0YJ1G4IaPNX&_E(?UgK?Bwb>8L+~BJr2D8b=;`TO z!8c+B@h-zT9Al+M3=bG}vyj}+zdC@$X27yB6;C?gbl z*~FJ%?Mp=pxCo3sVCYB?!H3qa(YR^<2}kDirJiNARQ4n@LJy8}gxs9=z*#Cr55I2< z?MbgAAJl5la{}!f0jE>?#SE3kS7r9s6>##?d%DKjYKK>L1RbryNZ4{ANXhZ&7Z^@0 zG;7q+?dnGL6$#LOYUK3ZB^`8D1Q&Y^~S^T z%e|^N45bLRX=z77XMM?!)}k|Mnv}hZeD+3c>c|Ey`!T=O=gwcX7>!2~51x`1;G><> z8iw}Lrq4$XDeYKyd*_cSj?^)f-FG1UDR(I*l&%PVXOc95ER@U2+n#0}8ayK&EdR{# z=7t62$?9k>(O|<1=>tzBW`e0M(}y5VkH>HbEq|zsLcK7yOu7N!{4>zk-+yQ)j?`lk z7t6iomulpwl&`}+r1no=T1~$RJvej|@%IvG7p~M{MYRi_(3M$!>Ph`XSn~!>!F7E5 zArw2)(T9OeK0Slsk5Rj=$Wlc2s#7 z6Ok<9iO$OJQPIUIA@0<+D@|Ja{)nO(vd?o3;Nzj~fEFv(*=lz*NIC3)L7i0d+k3;e ztFNu8Om@t!6xKL8DPNmc>t{*aa#TIjxZCKc?$*tO+Pol`JwQyOrUwEPfxCiG6}_M9 z`X5vf7a$#?k^|HN24tm9vXN4)pS% ztO)r9of5OH>Y1$*U6~ELRVTrd*?XJ0^2Us!FFzGJ%4j8mu)K{74v}TN4Ayb!DwL3z zjPyLVfLZ#;;({DnI&5XnmwSZ~<;o2Tx}b1H(+951YuU(DBz*w<-zZt38foM{aY!u zu*s3UokI=$_NTy*E0LkGgfO>Z4U0$Pt|}HoaGPK_0gR9K%EeiNgIlOrv1jp5*5$w; zr-%S86s@BCjs#fNlob9HwF0+Lm??n^Zy!GJo}2RE8t*mOQctHH9fZZ?`;bdDML_{v zdH;~@0A?xxCEO4l_FIacP3`z1#f-3k;Y5;mH>t_MD5t8aFc|w7y8JDsRh0m?>@Laq zUcxxq%a>-&$ebSx&UxN7gQ~9mvIkx1&Yk%%qT5% z?D~%8TR_kt#`Z{={Ect@Hwg|Bi@cv$O0VzFRa+4S)J;p`6ZeKHv7~gy@*Rdk z)$pM}i@3Kjmpj*W^^;r!Q?tU2G=kwV%$Qg$1Sq4COT-FL<6Ci@ABI2CcIS;wfJ9PU zDn8ti;xH9Beq=vh$)TPm9jK8i8WWRq3w7sF#RC*0=}R~gk5I;!?$KoKXo-o0w{y=< z`bp|oDTB!!*9%fxqa(Vyx-bt1kWky4*KmTKGe8!8Y<*i!lzEmEV&X=5^41~o&2%_# z90I9283(83=EM9+R>I^bYbE@_E#5gag3n?#~t*R%H!M zM8o*{oqBpzJsk^E$-vFGl|$6{`cO_zRK3Tl3IO}$Uav6C_4~b7_wla7xSC{&;qf~8 ze4@umI)s{i+pYOkb-2#cEtRD#x#%O*5H%>QU49=w&(+x=>Zar4=A(?niQ-`sEc@S0+@Hl zr=N!1Io>vxOIJ$~5VTw%D7^$#$(?B`(~eI9yN0dh3}@Cl`n4t>$Xj>&mRGBjEKYYm z?b@5m5b1LP*mQNKe@1aKZ$mP&`KB~8P2w59qUR9a;>hDcNp+9UkIfXiDd=gS*k}pT zWDsqWg8$;WpNDuQ9k{)-(@$1qKN+hKT`!%zKtMtT$%ROeQQ?7~0zx@g(olxDekbT* zlX%LWJ$bG{MV=40i**iR!zTf|e6<(SyjgJwgjfHNWASc1}W2N}yib@8=T za&`^bm%4yZ5rRY}+xqB&$W=qF{qY(f`RI?D)3WIR|yVSP&Bty<1(a+X}#3(LEIFA}I9mhheI+)zt1j!@PGdB*I@uGdVjK-|WU(2}qAH z8%6wn@T-tHk?NT_*LUZTAQ~buFz3{x)?AlHe_%cxxn^d2M;`G?bpPNs6#HshwMNMB zWow})0*8rz4lit9q%EQa6XEap(5-=Q408!1>7}rDUB0Mwbg+Q-c#~ac(WI`Sx8#em z-;?Yh5fvJu!iQ>tpSCcTq+M}{7J!8=rN4FPhL6hnan9v z%5}D>(sgJ)LVY^dMFvb>z7?^&*{XED!qqQLMj~!!or@X2H<}Uw;>z?v446=Ih2)A~ zTgmYbn_5vrA|^>U>{s)+w8)sEk~hnkwR1>01cMVDKLQSk%63A_!sl?eXgMX4b=AEM zEW9jIo|Ak{5X1;?NaRm#V|cdjkAk~nIq)nmqesa%LB7;ID6=6+7O8D)i~#uM-2Fs8 z%{9XK3K9IcM*(dXj4xOrpsZsGVr+--tnI<3O~_{{J94R`Pv4Y_uR~R|YxxE7t#~fB z;1LFX&)QCF*cUqM7pevAk7^`;x+BZi8n}6s@#rDLnRolK$W_N%e`*VzJxXBbVxx96 z?V(tDj(PT7dakDX#%K!zNd%fe8GS6fvsi=++RQ(`|i37!Nz%z)}9#0S0kY%Jfcf7_vHBSKs6vFZv(`d+@ z4j1T27S;CTkbfYGZ4d8m7`C_THCiPd+74!+L1)q4Ez;1<*^DLVt~JT$FT}uO5<1eQ z)$$l#4k%CyfP|iI7bNt6D1;HJ0tSUJ;rNee7LKmnkVk_60hU4#2)+0cz+kNBi)&EI z$^=f6+fqDU8%;U3%n%k13tLA#$;c&U>>#D>lYfwP)negC{X?))nq zQ~I%Doy5Gs)a!)hphWOVjmC=QHo&MEH26yiI}8Vzri=5qS`>!C&EGr_!!sIHY=t26 zmN>a`6DO}tQ}ZMvatH2&_3Y6FIep_6gmm1~Wsy^m^>89o!PREz^ zjb#H%0b`!Z^Nk&grB-bCaaLjG{-oU+5Ltq_!Ipzq=awB_@u%FiJ}ukM0{C&;v2BmQ ziK21Pp7bUkyMdXBrGu@$QlAfqTd3pDr5|bWZ>uokqsyP2`6mneM0pbME^&Z@I0XX% z0jzGm1ZHwvS5eRy0E^jTZoQ@So{Zr_R88#5`1> zSe5DAmEThCQvp zKk9-yWtw+yER{kskI`so-EUitYDcDaXX6Vj| zZI)W4R`|xQHQ1unqQEM=iwpz@JSbl}LzR>OxH5;c`(+3vD=;I4OV5EhRUz#Sgg-q; zxLApc0WCP9YCR|q2KvJi@e|Z7YsdJ10ITeRjxU%6JuVh3f|uK$hQSl4L+TGWMeVU;d237Gp`b`y>)md!l=I6Mo$T{_}Gpy z%<73pU)D9+^E+?6EWeE1B49#k``ylzA;sr759ixJIPZR?^KC@}FfnDz|F%25QzsVy zg@ienr?+q{)8jE3IXynn)z_z~R>y1wz-`ZMR0=VKrLuwlGX0}-vvcFE#~XX0f|tM2 z40;ig%QdRRI?n9qR%u4lAdDfr@1Y1oJ@TVs!V5Uri9^TwnlQ@hao)rWb@6hk+E|$- zdW7mV^BvwOA>$dHc?ipj(j3eE3mlDd{`T)TWf_G*x^s1al)Z3r7Vt+L{4sh2fNg<3 z_$mDV@#WI_kJ6H|i}J!5|71yZ4S3j?l5n;Lcv#O8>{ps&w7g!NV%R;QFXIVisl|O^ zcPnc_L7x6-+l>iTbnl~%o!hg4UBf6i`C}z8Pt0NEZkL_EL2Ps_PUEI#c4NPn`~3H? zUAq1yN@zJ~bYaVeB%UlGQd(x!a@kx@KeV=8cta-#0SM=;;o)y!_6(zIRe`E=3lZ=z zW)xJ4*;OuDK`X=1b!^`-4x?c@sc)Uw3*V$o|m^3qj&)P zMeHk<2=*qUhY6J|?8GYf{OQKDJliIzU?m&nRY^MNBPO!*8De4kkC^I^gXko)$`m1c zxqGkmGC%t~mCriBqXf{N3((q6K27z%3cN;sRDKIxbKm~{;exkv^9Of=IMzs7o&6H2 zrI&nq+Oo2;+n2h|JEt7X9}CQx#W#NLEcKSQ;99dMU)J}i;&h9(gAHr!RU7txW@UFp z^~8;GOv9G&q2*C`t6P28_liRT>6yJs}j350F=C; zNSwm2mC+J)pQ#EL50&ud-%Zkm6ztw}Pfw0>sAKL2w5x38=AV{B!$}~>=ig6t4@s|I zWIh#;4p&S6*h$WQEVde70AsIyT=XmaU^&i5aPmfZyo^A|Jd4GsekCWD-pN4^8|ola zDLW*x(7)-ZeJ=M8lJYibF1TNOINk5}(r96y=Y{LvrxM2QW;~<4Yl{Fly!@HenLh*h z7a(@bq?FWOeiI)nb*bK2ya)%wHfC?DohPy4ps+ReW-dJ~jzYE6hI6I^r40B7Zep50CFwmWL9on%XLbl73W zLToG-)WRw~r0h!TT?5pd2 zsl5i;9R{5}n=G7rh#z~~FIX+4IqoMEOK7~Qp(k=A`7X`^rjPR)dA!iS&>{bYIT<-$ z*tzck3mHC#Pk>U$UtA6#M!chdQ=&94bz{oD*Mmh3J-AH;fbflrGz<5HL^Am@;7}EE zNJn)?EE&6YGXABP1#kgzqv{eUq@$D>Z|!db;yL{4c^^dh{B8edCrl|CKGzK!khA_M zm>bNaeOn{OldNpM#K6Kqb(TM!j9p=hmkZvLjw}&8I%yO^jd>d{Dm!=$g72tUO{(90))(hx=b6hoo4Sz8B z4`zfEUjiV@dN>qwFcLk1RnJ*aGaX;jz}=N}3O^Mc(H4m`1FgR}Jrb)Lv9@zOoC}dQ z*MN+Rv9#HJPk(^G0u?eWhP`1BsPI5wtxfwj)_#5K2rzWTazC@!J#PoLQT$gs@Dk_| z@jJ3akO7gq34G(Q>`lMFx^bY)2-w-EV`^s5C7f5$OxFSqD^wyVb1`;mLgra@z*9SS zudlL0k_Irz`_M2dt9i^_a4dJM6YY(1`9>1dm2ll<4zjGyXr`kV5bHHJ z!=`JDf=bMo6XA}O@BK_001r0KgMu&9-#*rBshp6L3b3#o?I#hjW zetoYx;%IFys5B14heC;s8D3Xw-k{<+pS3KW1&c090Za6kS==zYg*Iv(D!(PzWXa z&0=px?-ibJHmX)jVx?-bSy^y82m24yERws)%*N~pirWBuzemWKt4~ap2D2n3<4u0{ zHqv_gpgQl>M;L}CmV+mijNRgbpf1I&$_Nl;~Sot8FdMAclGpr&^tKvkar9n#T*V9{eI@E<^m^unTq(G?*Ge1%^cS zG)YncrXf&4Q2DwvBq#39-%?&eKTh;d-TG;A<8A^pudb-r`|`k+yy1%}16_e!+{VU`_? z=LVWF9;y<}kRLmrrTa9j`9JG?cOUXu+#|cO@z+IyI2}VWFIDq))e-B-OKmsxg|&)S z*z_bnC@UUg6m!B7;bc4xYYxSq9B}QF>;r2LSQj4A5L-4UK{|?JvZ|>0fXz}B>N{#D zR3ADagJMg&2>+WCSo7Rw|AT7z-_Z*TA$uABU;!vVTU`l$SHPU)O4-;gH-#6#H-_z5 zy^6tLMZw=}jdDSjUQHbm(Rgm#4Ae_|D4u4O~^7e`@j+V)5l*qQ0?5Qma3Hb`z2LOR>6+% zOgX>Yp(kRZK+9P@#>)liFoh!Xe#c59k1a2w~$4 zhIQVrWW&4WC!6v~Ib5JU90s&VF1kTW#JLed{+AKT0eUW1KgaI~^ynQhNYE&nn}1Cu zRE^OU%`^icf&tTSO5*^ zWb6+k$pL@0uUyFMlO(XP|Bk%%*`22ub{?ASsUl-^8Ks;5UmkWZF zUKSZ~EzDZ4zxbjzOrPkm=|D_Tb&lmXDH%<2L<|{c-c>he_NKd76@t!WMIzZSHTnsK z-WhA8Zvk)r-70};9XEqa;q_$Jy|-~m9IeK!o$lg$>tw(^S(5#idjctF+zV&XtDyDB z=n7VbW>&cJ_h>Hu!OL(xprFVbLk-JcC*a~sFjfIhf5?+rJ;An1?-EkD)9xJITki0o zv`NPksbob$VfKT4!jjwrAND)Jb(~vkmX!@f7l0&UDI=n+u)r>L>OqiOfE(`sCA;(Y zN&oLc065v|tzX#HW#wCGd0H#!Mp8uGEn|(b=p80DwBR?v)z)CkQkk#bj(r0NN%cF8 zYv&=z3Qmw#3DB6}+QXI5aDw0HkS!1f{_BKwO~ISSdrVvOgJa-S0Fj}^@mryPJP_z# zTIIpbc^?YH8sI~{?;juWnP3qbAF{ShAuRU^Vf|K!M-k&z?%_+qPYL;avH>F*9p$&& zI<4zHK|%sHWrjlmng~To!0{T%V{~8TO${Ypbt2$iLk*@k*{y{<`TrOU22ipmFl?&L zv8cR4RuBk@0P3{v6qSgGkxaQuIam6Ua?lB~ZY zhdlkXpJ>MM3t$Jh2lT!h+N6}5hD`}bhtl0$0@BjmZlw_rq(ov% zmwx0U3NAAiIi1dIYP34YsSm6tC= z*VQ!IWj;cJXjEqGX`a`PypdV>hAo}-W8s{|wC8hZ9`m4jAnZfeS20fiub4Q4)C8Ql zbOKvBG}efWWkQ$mk4bj?=f+hD>YmS#D2_8o*?->bE-uGy=w$i-2%Uhow~P#XBdjR+-u`Gr9FtEpbJC)m3Xu^`jFMXH4o zp~m?{LMk~U4=apQm5+IDbMxgTT-*)B*0^e(L04=4CAEGIO1}S_^u?9A4J^6Eq!a(H zp(cDZ1!P5m)LQ|a^{?+_@M#_=sMgFDOxlCi+g(vsKO5S;Bg~Hl=;*QA7(%OF1uaLC z!ZNPAnZ5{x6YXc`lQ-hIw;~f zkRDPpSz-NiCfq^!|B)U_qGQPdC~v`!uz0FoT#EB{$>n7Rb15W=^|vil`J$kA4z7qr zl0+UMmpj)0a2-2oTaYAM*Ef*qZSE<|qfLss?uPRgc3>hZ#Q9f*ir@g1d-OJ~R+8Hg z@^(}x#)cXGna;1%QPfyeG~z-DBNyZ7y#?6!4b>nWh38==%v&rb%3R+k~!`5YzSh|yhH=Itl=2-0OJ)Io*F(2dAb zG_i_pOX*U1uKE=}hq4SMOip)&gBwW7%d5iUmu!EYtLZgS0(%MpGim{4fvg%<{X?QMEb05Rw6%^r=Gj#xE z{4r^Gs6WgYtUIhN8?AABkSv7#dyoVoz*Hcq!tVs;q4&23`#Lg8*N+i>x%Ff>EqMu)<@tH6aTf7GNDb8ofKGCTdFjdb; zE^Fcu?2Z{Vu<4~l(rgoXShKCh!xWAjDvP8)@+FR6;FzJvMQ)6*15F=D+R9EFwH|8~ zXctOJc67uq)U@3K)nAez3N#B;;+Zu~qYARJ0&h7|+E~pg7K46~7#J8&USZF)t^dpv z1RN>UTcX`aK8dsFoZMK6cC?g{2W#WrNbj=IM8t)$1c3D9_=#T2IP@F;vXM?XR8E7g z`uX*=yIivpbdDxh+O9{iH_L@f+bi8-)cY&@^4FM{nfTK*^p{g>%|ae>?=4=(>1Sgo zdM$J~^Kc!F$OFEq6!+oy&t<))GWIxhNKo`AAZN((_d6e&m@m%IEw}9596TCYy=w9Y zl!~Qj(W(2mVG?=%SKb;rDvVJ9$MqA8I1~aYX)RsrmFB$(+?JiLb#5cHQx#0?c1ykB zzZzY6r(IdXst;aoOjTkE@2}BtzdVg^+U>Pz7F6|q1AKmN*t?yanfYe9O5AqmSW{Jg z^{abcH!GWOO=r^EXB)nv^!NeZ>G8(TlZ61`bBCGT_|+FJPr#WVi&wK5HJz`TDOF`o z>9^%1;Ju}zw*A5agu7dh!MtPw*`04ix$6SvXxMlrrVXC06IBVb3}svl@H zla7OYL~QZwMJGTFiI>3!xmGFpZokK56OXQLW{)ivpWP<#0yl=e;Xs#7#s4ZIee`Pv z%zLpr_Z9x~kx}E?21^OjGFM3X0*Cy28V%GIhz8%|LvEp}mPaDO7RCB>PtL9R>K zyn!o1+<+ZYx7Lce784*!KTx=u;`h|eYF-HqDUm}T`Dm1az#;SIYI7d{<1CMIwEe7A zJCF8gi+IS|2W731g54&U{Cl0L(!r;?AkZ}Z0$JA z0sG}4*0blwM=R5ZA8eBO4Fng-CY}HaLZ&pOk5GP9kKo~8z&XMGp3||%{4fBS^uEfm zpREHgWxICB-h_19_7MO5J!QMH;))85loI-z zvw)E@SuMXa{#&-_K(pr^yZNRza`9dw*0sVxt&#bgW3;Pns++9O;=x1m>S@R1W?gKv zc{N$ItV`OdNqMCG; zQ)Q~g$!w}~MY{`rZ?%~}TF+xmBG)%cE{WIUX{yHnKM?mwq}CmmZl}u=H;Q9FdJ0Y7 zuRZLxO#9p&P!^R5c$h<*<(8@;f3|^|L3@3{_;RE~vp8-Wq`3eZGM@M1hfN~6a(@JB zJU+J;;5t*AK*0K;YigPRdO-Zn5YlJVEdOEDb2~}B{_gxZCqo54Xmy!MNg{kz3oegb zyRuzxqmQ;*#=_bsBG=1>jYzP#mNYS|BSVkn#6Wl+Y=W1$%z4voNw>UoE%cYYXNmC@h&9jffhh> z3IL*Ks;h)dLgfeMn0B19<1niGWd<1Dw`!_c08QjRsr0JgbWndjyI+;=dLg0Lw0IBT z4&=Tn#LpNMs8ur0RYX1GNQGoOq>EJi>i0ToD>ig(tJ$xx+%;O<7P*Q~Y`-_BYUYp? zEpko!*=~12!SZNFF=FLW*O6cZ(Qv!0$45mL#6fg`@biGHE>Y{r_m7V*%aupJ$%oX` z%{Q1w?8ZFkE;gI1D_5juWR>h^Yo9j!4L*E?CxN4(x`76K%lV^J*SMR=?A$q-Vaw{t$S{?0WpcrTGTgS^VI^}mh z(EWfg`JV`2es&}+BWa{j>p+8teNQwp1#P!b!#`fP_wcP$;`M9jM;RC;gsJiE zLHu>P)0Q83F%w}ABG0EgfWkOO(aY;-dBWJThcm(n96=}wuLm&`u_+a9PO6)y=RB9! zu%pBl9t^LhxI7)tH;i~lDI`&D?9=c2t!relXCYBNVuiJRzPQon&&a1kGimtV+ZxWy z;@tbkk5rswIe}37!<_z~rrO{u_J;QY9wL#ato?7^Jommx_2@e?;hp0M*7~BS2+*t9 zRd!RMA?C*Z$Ao_MHkCR}wySKeJGGXhW9wX2zeDlH0Ab;=hWqYMalkyuU8eG-hG7&p zp4$|t=RS-lXaBq{=sr|-k{Gc}fX6st?8C}qKO<9gbA9z7l*Y}IT-(qI)lKBfhxZRJ zRXo58R9wErG1QMj#gGr%7%z-~8qa^xrC9+`D3L*&M*?vGRs5`vPgFGB=+jBC(}2T^ zl*6;j;v9FosiAL(du#F5qaE|1`@E5v+LnW#0g*_W+_1&ENXpQI!fv)IUgYeE%cb^{ zJ-K{u0(&k%qttf_xc6DL_-vmaFADm*)JjM1v^$hi2)KsMd2X@__&1DIrrlY1Ya6>xldY$Flvb z0POf%S9%ex|6ZTj*6f9=%~V!c=-lrI{tcp7R8KXwrX%JIP5*ec<*C9Hv3IG!!=+XG z@s;nlhS;b@AFi2|O0!7gb?|;Q(TCLAnqRv3!H*I`FNgXgq1oev>#ByxMbm2WMEk{h z-j#vR7nHuC*FtB_9kt8fV<6|-yEoJskz?(vsW+$N?CotPBE>g{)y)L#ReMM2&DV65 z4iiyL`sE2y0JJ6v;|CH$hkDot|Epf(Av<1WBp?XkQwa(WZrN7t(y0JJCA4zgGkMjX z$7jX0!03xWB)QAmP>m&*Zw>tA*4-o7M{7&Up_?_9X`TitOQ$J90WA>k#dXWRs)3D( zME{%V`EVD#>lR&^(U>RWG}qQfc)l-Zj(g7_4FM^OlN z%s)&h9kuMsT4i}p88fX3Sx&p4;x0kBy@n4``usLNx|C-hW?gc~0Ni&p+2fHoCJ^tT zb4I1j){mACDt}Hi`Y5%U?!k7o!`qCvdUSdD_9(IWX7`>nkwzwD2nxxn-kIY=~FTPrpaqA%SM|4-d~H?M}_G(DP%l0j03F7B3BjLb)N>W z0&aSZ^8n1d!tLUzH=qt%b+WKe!&I*K>Tfdc5*xz@8oj(et^W|D|G0g~rJh>nwzlPe1)5G>KdLov6Zje}#B}ob`c<1pVIbq#c))cq{mu2sSc9(m z`B{m-;-*%Be7VISLX2q%2ZDleZTh#C15AgdkPc=u6RD^?Zv9pqnJ|+&i2qEM!drvq zI4d0LuCjh0-GRx_&yGg4LYR~~rQ6AeLami2Z&uW+_6|__BZ28-NZ0b100-v`@fb5A{p$DQmT0Q*gWA$V>s<852c4fB(9dR0 z`nasu-uDKg2^2aQ19n+7E)Srs(g9zIz6@09qHPo~mQ^!@BlEz-Ke`SlTwE~K1(G;c zUiHJ3{*HS^phT}y@4nrBuXVlLBCOh@R@oo7t1OwS=a3|oApP(x(kSZP!UK!T(s!t@ z)sdxn3tlyI-(p%J!+&;Web%z`)jK}@A#iByNU$jq%*ClcXa2f#S-qhxdh?NQl}gw< z&K=PGFz0k-aOMK2>?TWNR@e=!9!98BH~u*nn!3C?DgG*QIrR2up^IwNGCkngYPwG` zE{5%oFPWeV!(s~!rq9)Ghz$~scw)V1*N!uv?zv%It{gLPFv-DKgq!6 zHyrg^8TMW%kJF<~-d7wyc0mt-J}&RkfmG36?awXV25C5YnLU~J;mNFDo+Y-Ngk(&L8$`W(l zTRml-h}|oZuko>H9Hsv;Ph7QEL@0E@gE>L{RDG9TuAb``@hn31m`5C}6YgHaA$PFc*Nb}54QLq59{5~YjMyR;W` z{9GO@16x^le$ryzT%=KT5A-#9_;c0E?l=tauUxec%RK;sm1P#~k)gqm(T4PZti-8` z%D~x3j5swqxuIwf>h3lza9eEgB_FoEI(uir)V5k?ekE{LbhdM`yXDff<<(eCm<&?#a7AsvfM2p=;3ID|1~FWQ-}yHZFH@@5 zvPaOtBU5|25eA7Jr7DYCu9LFWf@i*wjOg9mZN7-|P1uSZqSec#Mfu4u_fRGuM zQf)Uyy-Q)yDaw*8e3IfjHv!oFfE4dPT5bOdP}fdU!oxRRF3(oe4|FdEE`+VSRw7}f zI!H&?p}3OVur;Gv*RV@Uq4mxDqvxZm%Pv_KjSQd}gyE6XyvWgk{FmRW{h-N(_4rif z(YmELh0E%Er8cXvT)ujC#!t~pF~Xii;=41Mt0CM@2QOur_`&`3j697upveF;!IeV5 zEvNR7c*yMI6V>(%V@9uodaHq%+5@iW=+z75>^<*lA71ZF7t1LSrCu5=TznvXB2N_5 z^^oHIm6_btQ@aD&0<~IvLPot5DI6+#QADF^9RPn^3BW4 z+A$Tb49aBrbjswySP1+OK@tev!}q0sn-z)0(&GY!?-(cNMv9{g{V#k(Yewr_)^hrj zC|6p#qo9wH^RuR%EB7*Z8!*JOy^0Wt|Lbi*eWuby-_0Seav{r`N zZO-;4)nW?_GpFkYMq*2y0R}E#O$Tx*v=Po5V@zGoaoMAuA!*kKSri_k;0KDmf|&RI z_yRMmjb~Ap8u9Zx_^A>W_(Jufw^g#jYg6l|QI_N50`6MT12Fr0N2XqRpn&XeG{;^XY$eKYlb8(;b5Sw`dUfzO-3%+ z)At>h*KhAj`^@S<9g`W2Y8-Cl^aY$21L3W8s2Bk&E);>H*Qes=ru-U>dYTKA+K957 zZ+FA=Vl+NUw5Ol(vZ(0L@3qdo9}JN-ZV2t4xY--dyt^K(femen@-{A}10~Qcf+G`1A{W;MyO&&5r{ZEd3FCLh*b}3}tUzj9$aun@hN+OQv6)&jK>oeu7y1`#H`=at+qhF%OF`TEWV`#lXjAY_9LlfqT_>X0vgI=ACBlULTe zcVOt1+p{)~tq>-kj7G;@?Z46}FhD(n|MIatKFH<*@X<%jtAKpR!tNA6 zjyV2PFKo5<`g&}uBLQEM*J4b@M(0MhKyz1?^zF1Z@KFREEK8Isqzb9RuzED|ByI%V zk^bRx0G-DhJEG^5eD>@q>?viZi9LayP&UHPCRDEeeFhQClhi0NJ-STbp`& z_$nqpO}ygww%rVNE4wpaXXt|mgmK3bi03e0Pb`a8oGahST!%hhEi8RNt9<-9!_f1@ zWp%Lkj2Th3HesB<+-p~qri09qOHB?>fU_Ph48EheIO%C9Tj^s>H@PH}wswR*lx9EP zoRvrEDOday5qNB~)O@a%G2Nq8^vdstudve_30bWIt+zz%N$fEU@Xdi#LFs(8?5v=} zm7c-ck!2ROTx~(z8-+ZL#`_ff&KiLo6CdbRmct1pksR7h6Z}thE7=@+pv>9@67#;o zA1V7|`%hoJnoe+j8Ia@^A@!r z^2Qk}o>f2ifC#?D=Y|$nGuwpA=(H5r__sbE%ZB)c0n(TnpFP0}r3)x84kIGZ7=6O! zNXo7Y3F>(F^?CscXC7(qm|o?I=m#$Minmx_O?$A3I1*m(#jszVNxM-ktnqw{$s5xz zOYBW3#obp}H>dhN({~|g9A=0l8FfL6!;KU(L9_-q9uhQavS=qT(4Iy6Hiim`UUey} zizcjd$|b-R)XMfumwqXSwCf@ro7S*DJ=L86eT~-rRZJ|X-@ivOC1AXCE!O*Pd3WFR z&;lkyIhdfRHoo_~(WZgALs`7=`OdkQ>&8&pNVdH6Tah!3jJpkbb3)4B_b&rIK??>Z z_0D%cp7UWsm9+2tn*K)%z{KUzWXK*a`9xaU(eN(d&0YZJdF&HO3}*G53i$P*0e{)< zpB@e2I_FKmJs*B=)YR>1D0D8kox`<{W4i zbc@*OH!ECvbz$z$WE3Jssv7a|a`j$nWL-Y|9=W?YJ6%1}xIQ8qJ`q*&2;wz-S$jZw z=D8!3M(n+s(0||q3+T-2#M8Q*TMqIkV$2`S%5jb_(3#dnDIe-KuE~>0OhUm3ptPH< zG4kBAMA(p{x8TEE{-nTEPPtg5(|mupMj*O#;L1oOnEWM!0U$+id@b%~T>X1PsbCaZUwpujbR{cK4&u@Dn`1 z!JpN`W1~CWo4_PqZs|`m%}*9hqrq3Oe?*$;KW5myn?W{S7=~pgORhiN;LmDU=c(HH zLdhO6@>SgD{8uC8*xE<>sFORGLP{YzNEyy9TyWC(zkboGBN$Ik^<6d2XhNvUE9BfA zEl#ERP13)_92qodlR^eh(R@hI2s%(@KpCNzU1FE~%=m11}>Jpmyv}PR=T`ftnx&7XDK@& zn~xl4p-N0E_WOW7m`%cd>f}>rBHr_16&;W9>~JL}^o~E|s-*ck)(RFi^?S+?e0!sS zNN{Um8P*IHtKA=L1*a$6MAzHV6%X^ShkhmZn=;FQ6zAoBpo#F;eJP>n3_5-&@NK+(6miscaUw_drD|JH z=fdwvsc7R+5$Q6Mip&UgnOL`aY3XIro(*|?TMQlCr-7_Dcp-&MF+$Ea-yAc)>jUTJ z68^gDN}sMQajsrBKHXaG&vFT5>F=e@tI^n$@9HE6p z^T>S+Py$>sG2T&iIQIY&m)wtGAgtZ`f%nlA$K31Ts{N0LRcNY}OZ}%wz_{}`1q_l( zO}63(sgb(9RXQa2*AsMjKSoV1$DCtelEAJOM8&pN?-Q-MRqfaU(Ex}B zX>2GsOLMtv{hq$6aigef9@oq;QMtD~aQ>qG=iE;edo85nXM6t<@2#5sqY@?^K2{>) z9k*Tr`o4}O{>7z3JQ_M)k!r}Wr$3nIyXNqB|Ju7c7s?ZZirpt*`qjI=k#>v7ED#>9nwkQ{@OWosAss%8M-v2J7fEKUZS;Lr z(oV^;1Md-BrKU>1F<4pmV&7DxS5`^CJ>r*YjH*VHoTjayw2!2uq};;ZBubAu_M?$C zytb_1!0@`o`31g$H`$UM1>+8K;N2#g8b#vJs_QCkdlzrM&Ics=>sApl8$Dm?ilk~{ zGAc@fUK$Anq)9L(G8?xDq=!)X%ZQlqp?(|_>;5Qy>iF5y-q0vO5yduvy!N*bNQR%Y zyKV5k-#vyJ^|`M8=vVV7(Vlm-#WK=a6_6w>9Ir7!;2)-1I79*yYPw0mQ*iI#GbG9l z?LEIC_YN51(n1_;A6aYEX~>#%Gda~ZP8NMcYiOeKgU1L2Tpd?;#8eL^2?SvfGt-&| zmpGKKrV|XeS8CN9Z|xUn{V_$v^4JoY>UO~#Kwh#eb(gi+rR}&n?nPA8{E+f}V6`T* z{;jdJRJ-r?>cE#vuiE5ogJn~iK%}?t-se|K>2{xfe2Edzq{1dy;{zW0Mfd9G$o5Er zKYum9GIc0#*j2E0Ul2cB5TIwaOK739=TVuY%JZM8)U23)JDyl92GvK_bh%?fr{A@+ zsgNsU)!Ss|q0fNoesp>L(|2KPuVxOU(u3J7p4Z+F2h?)marN0t9!w~kcQ@v%uBa;| zka|HXe0(BX$F78E11CdEox7Jf5f%~LK;|T;KH5g3ggM~ly5#R!faX)}SKhkb9lHq~ zy}zd(DFm!?BUiX>ePYy2=rcuP3qm_7Il;u4S|z$P)=HkLsiM-JkLPFAvK5#x#Z%s< z(Qu69$g-rHlRx9IZJ`aE6~{rF z`g&x>$yoWJ(|=u;J&gFvS$RB-tVMsCqJvvNVwJ;`Ov+pYjeQN#aK_o8 z70`np)OJU#rwX{f_o>(1tUBsbkF@$-I%qw-XbcLsx^WC1_TG&y4CmKf>3O~Svl2)s zo^MTWAyItHmAyVL=eWK zx)*1TfW`?-uZ=#-@r3o&4uktv)7?0+v-Q>53YTit8%dtxw;k!21`;Abf-e$G^X&Wt zGuL{)4=EWztbU7=4q#uY<0X&D3;*5)PJB@_i~gkB`JcsPteoB8bvRVGJsqYIu-ce* z@cNnOt`WE8ju4&+y!DgN;X5ITZ>mfk;Y4&w3|*D4_+Wu0m{e_%pk`H4E9$EZj3q#x zuzyON%o~3Zq8^bd;u5@abD0VCTJ@oM`nmP0PTh0g)~w6-8E~B?Xm}L8Q*+{WxvN{RoGO^J=r-R6~ECjYX?!!eqTRz$A3zm8UewK87Yk1=wp zd*)~ClNlBEgd5v&caCod`}4s4U>Eh_v-&(L8ZjP+Omx*lL%l=tq$jWU;=Uz9)V1(tw{GE@!iMMJA$B_@CFRbzs0GPs3V3Z^a&U zhszK?UL%xOV@L!XztnL7mD-4p8%54}c*n-#Tts0T(W3T3`BFAWdRXN=Fd-XW> zR@p(ny6TSj5t~^6!N(J5!23%PeBzf@l70%}SH|bt#X6B+&%_!uNYop$mi6{D&**ndisL>$ap9CCyB; zjq7XYm78TRIwJxv$9Mzmy?N#aj*Zo_<>)@?>bdxlTqjQVgW6-2QL2DOjmk5xo}>=6 z2{#j_*7UPPc4H#`Z*HU-WK?We2IW$2x-XU_xr!fri=_ki*NBD`vUfMjod>Vgll)Gu zPFzpF55HDlVHnXa)?o&#;^IpO1dJdYg1)M)U)$ zvOiwA`r6)K)EUkw!XE|DH=eXSaNS>|Bja7cl%?ug|Dv(PZF1WyWNzV#_W27?YCGDw zpyDg0W?ymn66XMt%p#P0p*8o>a>p-R*H+cqOnU=F()p<;mMoudlzOi@Pl~Z?5BD9l{4LR&#Gq zTlKQ9KoLaHZD;bCNTJt7T>dDnnhXySKh^Oz%{03~jf`;=1xr~PD#qYj(UO299(78h zU!89neWFh!d|jrSyfVj*dafnr?tI+lu>=t5x#7*xz18UorVqbYqux0!GrRe2yYUly z2>Ks!^e3IMHjZDVerk&HXhq;MdbDbG^8aro@Y}W`wI^hmtsq&EFlIvCoQWwz(woDy zP$*0v$#^ZrY;ML|ZfuB5YL%#xCzb-5=tz7T#Kg#)u`*ugg(S#D)k+urM3L~Txd^8p zk=Q1(?O`)F6uMA--a)5+^S@yMZgE-Q)|6v6EEwux6^8({OY$8Cm}&z2bQt} zTR)lng0a+ScD}W|y_*E`YMh=4esJTPvy-g&=PL6bckL254YXG+<{qK@`FXXZW`5Jz z@M?T;%C!?C{Uj7QR$VRzntG;4e3}Wk@pCvT>Q?d7kW zjP$)v$6c7zxit7$A=*4c^yYFiCje)KJ22X!4|F=*piJ*5Y}<)Ty{Mk*EiYQ>PW^nUNK|IyImQr(7| zMM>{TU@F`n7r*B%D_oh|0;59G1DVVF($#tA3sQUhv!1BBA z?adlb+dEl+4iyFI30vfvY3I=cIi!wZp&k>$tiW&!4a#NJA;%*HOn+wn?)C9#agTso zR47Kh8noL}TXv5Y3oGHhdw$DlMySxLG+3#gFAa*`3r`4HtbH*+jk|&JToPGfJ1sRr z;gm&0Har?hHd1LjVLi~`^$j?xacP03_8BC?{;#GM|D9MXCN!HO?w%u2@ClR=h6cBg8NCxcYpXADen8;lk#Ei-FBgM(sZaEqp1XYp9nR2d97y z1~W+~@NZ}BsincHphm+65M_iZ-DDY#bDa4w=xi@NOy4cNeq}>Cm?bWaf&sd7Hu4YQ z{S&MJpGFXPXaWA32zq4*}_o&z;1Fb%864Oe$vYpb=*ilfn30y$&kpq273!+wPJR&QK_X@LsloTtD?#VQCJ&LAcmu>M)!`#7&&+zshBvX>?Tk~Qvp6HXhX@EV6EbE&oU1#U(r8876$sdvE(82F` ztPsgw?9R-opm{Gbc0@)<0w0aW76}O}S*MwA=KY@K(>iU)IndOT>AC*37~np?HRi3E zniPP+LYD(W_sq$R;~y&yf*KdCKy3e=7-x168}pIruEhqMTY;WET-`HJmNvYMs+wM< z=Cv>{9q&8mKT_o|l`%H&ln^58jG&@5!+fQ!os`-t(*iToW3%7bTr~PybB(CspFg;A z0^4?=2Ugv`-q5?ZsKuFEJjVZ6(>(s|osdT$!;LVN!^n5Rr&f7Yptly(u%DD82#a0omh36P0DgkDu*Z(_L?m#{R&O4oJF`>n+fV%W{#U=1c{cT_p z8USe_W(8^0)3bJab52CxkjV)*Z4zf`8YzbnV$>NSRsNq#_joGyw6#Jl$^nyIjMg-VH+&NLPcfTz>rDyB^Hu+&h&GX}E zVp?BQBpP%~EbOKl+xx!;>Xxy+bN}`M?cJKl1pg&0jG?0_BWDyf%bg2YX=W2B?q-a< zw6-pPC2A_2ne^~mu~)0$N6FuWu5>!wy(X^a?s-8UKp|j7FoT%!C9tHp45Hy(ZERjx zGi13teIl_8P_068(qSh0sIJ$)Y)XT4tQqdgH$}xxl7&wOP(bL$=0E>ewITMlmB?>) zJo;N}hRp4#p$i57Z5$EG3wcJ!sGIRBu?6xCOWXWG9 z;z)n?j>qm@ehRh+BHBev2Yf}8a6y=4IZ3e&zTlg7bAeauEyibG@*WY2n4&>_kauJk z=Pbw=ddp9*pkGB}-7lli;yit-ku?9zUoc3(RQqNca;v7jb=v(J_>Y6-_TSOmAOHQd=gGyx}L4itq1YUw9}O)5G;Z2v*dmNVwV@scq;)qa*I9loq$@7D+p3*$`w z7y(quW?*Dk{+9WG9&;cWBl;12E63ku?(q~D`UEe|m$ty(oB?LB`+pF#|}{B%3_4&z{)idji-;YanX4`mfX0NAZ&_=lNury=d+(j{UJp@fC^ zFw@r_Ik8w^Ls{R@S|BoLgZ=3sYJNZ2J#)6o2F8;D(-`}vLnc zJvo+oCi?dQQsaW|H_(|!w}1Fgzn%Z<%s{IXJx4Q{q=$5-eHi2FaR_1HqM%0m7YWZC{vDfNAZ&ai`2X1U z!eA;;ZZ23mu&cVFA0%sPh!7zbSKsVQ<+>XelnVKv(rIli9@;ptoOg^cyGzeOI%bCd zh$NH6zz(L?Z_CEncMfG%J4VC4hFzdHT-vyh@s&DyXfbLpnNb0w2WY# zp>#yH{M}yOh*5t=311g~`E?$2zHlM(^uTz}p%_|&8g|{7THIUo(lig6&sRc@a*~Y> z9ktVuTxE60=>G;-hxm+?+BC@f;mi$-E;0{eDD|@5LEmV9SPBaZ#e4aKIt`C;r?#du zdXh?3kXq%fKF={u=#B*Lt&ic4M^_)CChP~=- z0gxdm*dxY!i7}m31s-E|yb3yp-H!mvKj|?CKu=TK^9?i?L;M+Mg)uw{QI>r#d~ zQDfjS?w=Sv`?qz}ZHE^KD(`;+um6A{QvYpmvw?!IfLx0W#QONSpIFkupG6UJ`c4L~ z>XB;Biv=qvOK!ZNd1C4ovkEc^5)2td{JgRr9bP3Z6dSe+%1mpVdeJ%S8A`|k>qz;k zj^w~Uq>ip*sCsvMMDYIi5pjNdMBI=qVu6u*a~p>784R=hv-OCz;>ma-T2*Q4R$e^I zaJC@LFV?v0g-33L$LLA}>3FejW}Rse&L(?myX_{;t#HbPBM1%i*PX$mvH7&%1NjnS zi4y+D^qaf64yYs=bphuuHH24yp9k|RiVj?Bx{SP2_yATNemhGd{;yd=z}WC> z5dUqae9G97-1>kbb7Nv!YsAIZWrPXKgy1*@=6Bk8m!O{QX$v`PEg}+25;G;2p3+aBF0eVBlRdZkxD3w@9G>d?;#4blNvA|G1PsEL>@UwMc^RTmtg|7c^p1>BD+)pSd_2UmIcC#)A?rjS|}H$Hx}p zM>gPyD;U>t+M|2kVR+bHV$-efxA~?6P3i07HIpaj{-C8!^e)sD+${gIEWqz!T$xvh zky^6{x0$`OD}V2;eeyUVFXyRBH!eap)o?cBrj)gbFRuBq+)i8Can&j@e1qBJ5$r?K z3w}(xWiOp)ewJHW1BstTuD`f|^O04`MJD28Vb_@5zXo;-K`=bKT# z|BiyMgv`^Ul0w0_@h?zwJF8(7;$NWu& zb?wgfY;`o5&@onOv*WXH^y~d;JZ~Y7G}^~1J#lQ3lO1r@{f z%do+IWiR6djS)Jz4fe|zJ+X9LU-TM-lez6yCIhZE;*Zv7 zqK9Hb(PE+{BcPuzcAL|+ij5QppW3lqr15zt1wVYG^fttoh~r0Mrj%OC8`Qj4l4#Hp z%)1Eu&FwIXznge0-|aoMZ=%0k+f5m3a{&+s2EqUc`>qM4N%ppL&elj^#MXDU;O%!t zSw@A0u(zMopP&Y9mFPaQj|L=(Sbt^eoI8d2f>h;+t9 zWV$;!&YXIPiHS)ZyYaKBMh9j5=6+7$f8q=fzEdJVh6m8(Ki{kO7!een%k5UrO>TbW z1BAOhO?uYx?&?aisId|bh)Fs%Ie1jn(NhOU2AI&&D}7dm0(!kfAw=M zjKO*I61Dj|CzDzhatcs*Yh6~YfE!3l6mC!Hz4my0b*COcrOCLF`SZTw3aGj=<>+6g3*W13YzL1Su_x`Y}u&r)MeT0cta;7~Pm$;XjG_+v!WKgc2JprfT{YHIV6$feBPoBVrn+(EGq6H~)wG^}&a zBrUhl#Vm(EDqHq`Q*2NRE0Khs2OS9Q2fC&Coa|)VRBp=YoEDLe=Ig}3pvx!fAT6Hf zG4EeibEWD@C9vN`6~|;I1;oods~7Qz{iyj;P7v<_sF7tU+G>yP zc16p}(b|)iizv~_gI0Cwxhj7c4ti|i#v&Bl@8#lHiR}Wh*ga3MZ$g`rIa-pr(g{SD z2j5t3WT9((vC%vSIz9;$N5MZAyD)!d%{=P)@{|{B^8;zD^C#=acN<6QD&ajYW?>o) z3j9CWLD8Q(U_jaR#_y#2=?W+dn|kN>vmE`phch(N5wZ3;gt7vdD4J3?0Q9p#r)g_K zGL9>R!m#ZL=y17M_IkjsyVaP{f%2{JN&P91Nn1pc#l}X^gm`X+N@6mZ_dv^VL(T&#Eh?#qTzsn?jepU^tpZdi|!E0bhN)O- zA4uV+!4G*PpHon2GYY8o%NH?i!6P8Et($TxWF!3Z^+QVTssK@2`gk_ok*NW{_(F}K zYmW_RrTuu%Vbj9e<0dT}(aTbD?HW&6Jl4a2>ln2h1?$ukA1YrN^&F)SyDqCevY4y= z**-h9U3F=qgQ?P~^J}o@5)OuSjfz|r{+r!qeR+6erT%`*Iu(3&(-nv`hik|egT~IO z36S`O_B5pXBkgyOkolvzUAo9Ug9*4Xb8LaeSvbr+NBN_ICbM=~=aQ{@&T~4sQ~@4} zneqs!sOvZ9$5b!uME!r`9#aV=Nkx?{e_s7RoV`_8m0R2PzeG?%dJ-at^rX9yknWZS z0qK%%SQE)fC@|^nkPzt>B$N*65|Ebe{s!xPmTMi~^Zx%E-_F`_V;wj5yvH@hb&cP7 zo?$^>!*QS#PFZY$#&R1Ejvygj0LJ5@seiJ?;Gi!KJ~Dw!SWCX{jYLQs50I^hIa%z8E7 z0UizGH9R^@<#*Y+^7P8G zQrAH>s&Jxd9{A{*^t~7f42vz_L zrDd{1hGr;j()!-4dN|m-RQ_XhaGN~l4TVX=yCO=UbG_$GWO0{K? z3405@)n>&*u*e7rKg3I_tafv#*XY;Zr!@BP-qEjLpFXw$F3hURun`fV)YX9uR;OoX za7dNswQj?kMWmI!l#HG@7R3c$!M81E2aF^lS|RlhjHZh&GvWeom3^$7r`v9aRnwU6vs#J6^)T$jPRWmq(5fG?AI( z>pT6?CjR}SBff4uSAbe>U5Ffl-eOM65b4fl;%IfNJUmdh>9uSsvRoWVwWV1{IfBPP zpjf58I5*R~%+d4$i1{}nYa51HF^J^2CayC4W4ss7i41e^d%LNE3(^%`C+~VQjEg!W zz7=}yP*6Tno@E%dJw-;MnG78MhoAn4MvV| zqvUp>bpb?YY}m*8g|_JaRAL%W3m+^Kfu@k9I*(&~f5CQnM0 zF2zKd=ibLrC*wZ~F_q$uLA8JI>r2ef<-Ha_fKc?PXX2#sZ#9ROAj_5cp!}RYv!X9k zAI>_oIRf-;?!uyYh)nLoQ%=t-K3STsZ0YNrKC5KDG>tYBn)NuI(y&%?5l1}Vp~iRB z*r)0r%rTSsP8e}Dm|~9>nwynkY(`Q6EQC(LNP#lTnX9avRJm3awRJ6~Yz;I|fSsRf zze;Ht3WzV&rkHb-=$Ve|EmFM1iV5zU)3*LN#OHe9QsN*|j*9SW_7>b6euIojRJ6u# zuivOk8Fgm(s;F%{`q5(vOHu)!#PM=nF@S(%BT0tqtZ^R2DzBffCCfnM#(Lr;n>J1{ zPuq}ID#7Z_RE})_mCCTQC5s=5GC47t-)jTtpqx&O)nOZhc?j;wmy)FKpIo2FT6IO{ zp<$rL%P}dOY|pabiuzznOlS+28dburzn6(Op8m>vI=7HNA?O|xuq*xUhBgGK1S}I# zTCXUhHTgeTB-GnZ)`gLXENIN*SB!}o(|c}TxXQ%}aBG(8$p1vEP1EBU4hknKayf^e zcsp$1dHsMrggRtV#`x`o=q#w^+fD_o&6CZ5Zi=lZt@TyOsZI%zNZ2nhU6)`%&i~z# zzZpdipi_xakL#OIG|Og4nj}z+K>JXow|bPeBJ)$y42rZYr{CR^Zd_ybky7zd295zb zYc&jHB72Yyx81IRlX}q7sdrzzWC#^yr*IbzR6kQv(DnIJhbtPhtVv5*Mwuxshfd?h zFgFgA_qydX?01j&495Z~i~yERxU|-nB3-3rQ8I|_yX zVRjt&s!Jb`v8nSqzLo$2C3=Uf_Lsb=*J2<_JCt`fyAT2Gk*4=$`tLq>U11 z*9O>J(j{o*soAZ1C?SLwJza^6#f;A8+} zJ(UBF(O}f-7l}^5Y87cvt7J!VyF!c$)%>7A$i6bxaOyEAXW`1pbWY3)8`-)(-PoVy z3BTj^Xy8Qnu!EVlYbPZiBaiAk5le97lOg~Kj;|7>@aDALzfgZ$kdgHQ1syIry!&K6 z8l^}2{)3TF)tnW+DB>kc!g3zpE(JgilIPiD4N^6DKVv}(%8AhKay-Jqz=}#V z9i`H4`ja|ZOblMX*1gN%ZqL>FHLE!pERMN=dOM4=O9uz3XmHU^^L zX;su4R7^&@c)!EY=RgE+SDA*<=P~@)k+P+$q861zF><~8p~M#nDica9sjSeewCkI$ zsoymZj3P`?0=-4=NrcVpPJk%nz$-U2pbj0;((J98 zlAy~^IKl4}WMlG(m@Ba*?fRM-1HolA@)e19q6?~1BSa?R*nXI5uaVhzVNOEuH6w$s zKgPQ0V}JOe|E(#J>>3FfAnLNjt}jRN>z!rih|1>LB6B1^z5Zq^`E~Eg`eivSeL}kJ zQB^2G8Bu#t0UuHjNG@{!sQ)cp5Zi!fYgi$PEggWvv`91-QNNDHh;oX2yOr)NVlMT4 zg$0~1xC|P6&f|A}JRyLRvbPmYYUkHsG#pCQlo&DM6=_@P;T`QxBp6yxsbwcIAQ*}0 zUAJqaQ z5p}rtP8O->!MA!3kTWL^_{r~Ony~_{`?S9NUeuCI22ucTj9~$(O^S5NH*_0^RZj-r zyR7|m9Qzqk-#y-lEkBEcGKsZ5($ie;M#fe!~*N@!PEOU$Uup< z_t?og@4C@V#+u&Gdj5msy>mLJwfv>L-jNLdYnsNrr6bUl7ip%{0M&v1rOBj)xaHTO zL94y@gSq5Uc!er0sSp$kEXOcW&$FzMLao8{@AdKtmaKRaqKj3pOsgpmE(Ul(44Rwg z+xeY~{G6AMCb+-F@Pnii5&J$O1f?0eSJsL=he9X%%F3+uxOa>|jf3>#5sUXOO0$6D zQ`mZ0ni)LE6@NkNYBQ0=#P8HoBjkB76l1hH>VJEgfr@w$ggz3G;h$~beKORSR9UD| zgr`xiL?-*Z6Rd6!q%|WB`oEk8Op=}eKhRKbq}4X6X84g09}qC!Cw>l8flPJSPxu+e zQ?8^?Z2a*KYz_u%Wr1CVbp2j!#u0YnAJ<+vCH31;T^fT|4^dujm_ASB(Sfj zl{iclaD}_s&oR+g^2L1l08&sBT1YsjL3+rk&EO=Hv5^1>fHCDHY4^Y37YG9Ub z-Enz!@pQ>F;)Z5F9uJFy$bu_WJ(J68l8n#9bt?*q-RravW`c&V__&i=qb~{x+@MY@ z%T1Z}FQg`cM0dzGA8u1Y!Ws6TKIiBoJHFmKeeT!;B>xQTp!?RDY(9pet0Z)PweEnv zZrp82sj<^nwi?aPS*DA^$9Pnhqne}ie7f4(JrxE0U3btVzZt%?-kS@GsDO=|9q&7x zb5A0>X)1CLAWr42OL?}ZN1ISuJ?6#lB!RwPM6%15WPwVALFtQTwH(34WkxH_-1z;| z1?9PU&xCxX+u(Hj@9(8B$)#?uPerB%f+pYHoTNY+)~4z83zooS1`qcO$0iVSB3fnG zi-_7?#p_T7r4L{CCTk8z1EF4nkN{Z-63l&*#K;LGELj5*_mN*UZMK1l-ZsqowssgwPIy zh&kS-1vJ~yGEB=)z4pYGE`tNIPiae)EXrzVv`9`v9R^U9>iodRA@#<@7fAakGCiaJc=CQ4QG{{Wq*Zr62 z?6n^Ig4uE&6U6EsR)WY9nSdoo`(41mjW*5uL|kaoGw(NpESn;4R3dQEnk@Co6dp5Z zd<1566|pt;3sU|!RuVZ7dVLwfZvdaRb2NDzBdDb$%h-w1sJV<{qBPUlInPf+;ILM3 zR$qaD>g98h2|EQwkzGF5T|HfJ&yeuA;y8H-w-%!8nhaNlXA4TtZ?X^9$-1xLI ze!>vPFg!4q%CV8#)Rq0#Y`ABv%QH_QDF#fO6(uo<@NhrbU1Ckw`nS3Y?Pl-};!_5I zq#ZGviPG8;?R_LZhu%0wI=ktnxbZSQ3+5hYJAzeUB158E?S+}=&)58Y<_F5b-JtLS zjPR}>VyiV&SxJ^O&3?+0utJon3@>$Tbjrm+m5S5~@=IrGWbZkb#V(GW&F;3|3JaTkv+_m`b4T~0A4-tqgKp^{zBc^a_^M)k-h@Q~Tff07)~OOWad+N#Wz zi4Lf7SP%oA4b`h(v7Psu6Y15Z!ggLQ=I{zTn6Jx3n(wGIP)jS!(VY4ujpVH_1%+4n zt_@i3O1IQTJ-zH_5GvnIWOaBNhOF)?fA(DGlZ2yy{|%DeY?bV)VTF$;gKkymtOM}3 z$p>N7{9V(v&JXkC6XJoP;X_F&sRzf03|WF9qOz7t#Mplq8XzU223ZDqAswc~Vvm6W z^}|zm?dmH+JjLwC(SPF6(XxH%B);5io*IT0hYCqYBcmez^g6{ebl}zO=mdW5k9;eF zx!X06HWSw^aMclEYZWZ)reJ~toRd3Fy&qiv2I2nv69nIY06>XV%I{Z*n{IIG{8?Tw zPpB0#s=JSW?xO?*%KIhVxaf4ciRvEx=Q=+-l$}?}%QgP|LdRPiPhdxBg7!7~?NcAdJP#dY!XG#^n6NF%=8oK!Z;_LZn8Pi!A z+C%_bVxT1dAi6K}Fy9IBSZ2kaLdAYD4JQ7tiBl9Z9!Nlh@N<|0Noo0;S7PBpy5a_?DT!n^qY>`Iu6|#%t808Ut zV7A!I97FPe&JVX|I9#xpMZl8tk1!BAgk#28_cB3Pw{C&-@n*|u4`8d?%F2_olfeLXSc6YY*oT7S{Q0XnG-%)~M zN`?>O2i<>d>bjc3X+t8wUAmjYMH3~~IWEjeuu0w#>vw}Cn=ERAfuP2G7+Z-t>%QQt zR{nO&I}`Q?zKrAG^O$k|8eN_&1z^^JD1W;8y8?aw58@cd(`&d^+YzFQAt7H1+^=w< zhV^Af)cP>`CR^B2OIPrps1RB&MFP7hN|nA=hmwT;oE#!(nV2aaTXNt&A=614dbn?> zohDOnPHL2=b_a#h;!2tzzp%YOB>EjTeEr{y42UkcAovSk3Ap1xv|s;|sw4UWR|X2p z-t>Dj!r(56AH`K+6T7!0B9Emsv%+hWy593830>jhcuGw|vW(AJpWjLV8U8D=Z@R65 zxhYE;P+#aB+ww=z+~@e-9kNGO^<0A{6UxIQ=^MU+R4M?S+Kdcz{QU*)=z}|S_nqqQ zBvAW16u>REJL>OSV}K8W2PxQ#anX%&g|9pe#{>2fHKJqk?C_3<3`Bz6ap?U+7#$(9 zvv5~L47#}pKpOiPccPo+YqY1T^j!^(ptv7Gn>6otmb@vir*V%YXf|&)wbfGf40|nh zM}@HdhYGnPL2&L&)L#%`sNV(qs@#zv@F#D7uTEsx9arTYoq^FMxRsT-QTcuA2Fgj& z2_@Z)-PN3CqLI~q(P_~`te#A4rrGDnG?gjwNV=LB(2V@DiDZQMfQA$IC(iD;AaCRh z5v^c}Uvv^efd{=2baP&Wh%dqp=^O(cx|2V;Iz26@)QpSAEU$LWUn#f52%PFJKW(o#-N# zur7wemUyWnO{1AQMn z9d!t9bawJ%$0c-{3MzdUSkB4Vz~JW0*$WX6ZF%OMlS%i_3kr?8V=FQ5{^7sbN-zwp z$PN30b1OcS7>zSWK_Lduto_zODl^gW1xi5SSI7rwv#r+cGF-t?pOhQ~j3YSwy#49P zvL_UAVIx1pdJU1KGA(Ofa0;bYtGawM#xm`O6QdX(X_%@}b*<)7aMBhzA&M}^he0Oj zjo-haFp#<@hib^B@EF`(iQPeAsOFE5{%)OcB<{FDM4^hBgnU(}RkebZ$v2=z2u)$b z$YHF{mPJ=INHl-JI$svzN$o80N&AJ=2I6g zka1;~Hif4_tJK1xitm`Ha-SyD;i=1SF~uK9cdP64-ref@Z$>15QKc+N?MoDNxK-^} z$sc&Q4`D$|+o2FnCrKixPsFBZ!Xq~W4`(dn_}IOY*laWi;|toRoBL6pajs1SCBmM< zvX$EfK3kwa@m}43c^~BtF@5_l#55FOGidu5p&MY8BS(UlGBlKJ`uDE~L#D*Bg;9Qb zu~|!3sqU_$+X&7v0q!nLC2!-?axdT~t;{lLK(KI!Y?qzd%5=YvDSs$OQBLGg~{}@ZoM+ zl@86lGhG7$PR#^^xaSHr(_hZN5tWMKT4ia335)xUaenTkaF=+m?b#aMc8tbe{KOC&6Tma zqgP6*onXY%F(y;xMKjrOQJp202M+RBqi%@-EAc3Bx3ZJOr?}8NXwUH9(BA(qWCZX= zCQ&f?aL`C{7c7bo5yho{g${{(sK85SZh<$oB-3n$wO$4)&s@NXK*9be%uo6@T4}oIa2WX0q{TacN&T*R+E;`_sIx>Y;7{kNTJ= za2tah>ekLiB2~4(qFk*v;X8~Whp(YL!wdpl0y(dl<=x6;f$X-VY(ke`&1=Q zriq~0glpH?DqHD$UhRd5?T&6B;ba zj^36s)k>;LJAky$BeEfl5?r@gdFI6}$9j*(iR}qaZ$M&EL)BMYZZZDS&woI+Rj9f; z$0@s_qr_*CI#B~E+?*r;S~-mY;7ITlo+|wtb;H5DLq|#OHk$uNM`hl?vj0pH7EMC_ zFdru8LUZYf3i0H}LhAg4=T;X?sBdCWLyRJKChvK5)2sE>e+7NGTIN79>Dy-?RS1o2 z6GB7v{IjamIeXk^SYY?AvjZ&sY)t|o z-Gl#ZMDCBk140CYw79?#pWh4C-bTt0AmNUu&r1_=_3|2$BNX;ssNx0h_e7~rte5Me zueAdu0C#qs#RY&4E#)oU!UbF@*}BKu}0R;bUxA_M@mIRt1g# zSxN62LAPg7!?IkGEB*D2oPirJB#F3jr9<7W9BC|ho&VpVWgtp-nv-ic8{-|OEt?R+ zeVkoWgmf5>vuGz51)al{@{6a9N@mba!kB(%z6ZVzbS4Q_GkUerP7Q)PTBq2jiQIsAd>MI=ybD);S@oa_mOik2Gp z+JW!onkn!2;CC8_xBt>O$Yy|Td8Ab;kpiHMOLr(E=??Kz9f8^DkI~qw7!;nc(7`oIH_#YMN{h7;IVAPFa2T!ItF%>sPSN1tg?CE zi${^~uA)^b)hJmVy~=G6vj}KRKyPtZHU^~GI*h+<(mJzFEe=FdU(DeAb1X(R1M5G_ z=a|hMY(%es?hcLC;OO@u>^%-Lo_J>H+0f5mAnAsgNLWg+8qTtGlvS7@yT~|0^mwUM zN{)=XSiD3Sf)bLG%XfQ8VJ4H0#MLH~x)EIL@U{?KM+tQ451}$>RB$+DgGW-C5ub9) zmJ~FK)Gjz(n_E$#`e#Y>QgWkwVTZoNd|6xoDk9JW!}!tf8ZMZ2Cx-NU_~UN(%m!+X z0PlZyhRB+kuU|X78fR0@e}Q6B*rE4HXH1OUD*1Ra@|XTN3~S1`spsA^QZzg>g9n^B z3BEc^Q?Cm4K4A=gn6sr?1Q+D~{3(SP;xU$lZ>d!JAO=2vNEdvC2`g>oQL6b!7zfMj z8#O3^N``CDEN2|8`l&nvB^=)GD4p7I*33AUz`#&0PX(H`cWzgnG?u59|L=9-y$X`# zfkD`>SG&fjNM9m}lgb~FnGmMDQ_Upa`0y(fKP|9G#6`!{{sh+>Q!#N}l~k7)4m|a$ z-SDMNgTjc_xoPdbLc}xoCZw`F{fSRW%u}mS@mnFO?;3o9vdi>oj5HuYjuIGOLL1EE zUa_|f*_074lT1q}pXR}{5}mq*1RHD6A9I6_cWJ9R!0-2|Q}lBzXjSb0`aS-;RY6wF z%xw)Xe*Fnt_fCskB7b@JQN`FxE^|_?gAFy`2B@zJg|taKvaW*aGme&RYgT^TfZ-C$ z!N$fXeG0~|I`fNnm@6Wd z(POX$61hgk47(o46Gu`Qc;rjLS%v9o6z?>9gsu&4E)o1K{8^znes{GZNgJ~RO~3!I=-O2U_vsy%W}pwb_P1JoNq3958xlx8*@Cu zq6c~{r6l0EnqMT>_&I`T;Kp9mV-wXj5YI(QNy8>lW53q#%F#JFl!`(^z)E7$FRb&? zuIbG%gZLzW>s1f+c_?KR=)lryNz8w@U~d}n>SB@6Su-6Ls-ok|^~KT*cb7b6x5kRZ zzlhvMI0;3c=Chtxh(BDPOD7+y+E|!%AxCq4)!?$Rp7oGCGpCgd14mwm!y^BuJ53Ii zv|nY1_=|o<;cnR!9_CV=mWZc5d-sY}3s~-41=IbCaaS1i1C=s_oz=yG^IQpObg^)?%Y=+2G(5}l1-=amN+dEp5gv*(8{H&>oEtr3sO z^Im_88QyIr$4+$0k9ce~S4@E5_a1oPB4W}&2u2sK1tz4w7yPR`_&%G%Ey+y0L>rF> z8JG~No4ql^RqB>xfwd=9*73tTX0j-Paihtokvdh`gx_dKbGPgz@CPN}(E^VwI$g3D zAX+hE5EMzG5Y^6ovq-2O@Fo%>r{r=haL#I&yQRgVuKhYU_mtx>APFc=jDmT#$_ta3 z4j_qMNblFoLYAHdX?>jMStt5?s`>}AEs}eT=wju3qv;c7qxu+N0{88Z$K#Ws0m*Y8 zVnAVSvmqv z|Ed>}FAG==vdPMDx9w>~?#=PauGY()#*KBDZ`4 z9Lw)Srk3D3vd}3He&>LDar*OHN;1!a^daHZ3xkCnKlN_9?_#W6HgXw{NJRzRe&y;a zkGnsbSx(zI@+ydOxxR4qOf$o{Jq6@Vp>M&!!F2H02WStuWL~e?0Ucde^RWqEVw16rH+yJ&se>3z4~bDck6 zPiWr*b0_7Z4(0m8-H4qdU2F221R{4TDymZFBLS&h^^mMn(_4G%UsNf9b2kR4i|n`H~+{~ zDl#+pcx!aI{%~leH(`a15ScVBM$qV!3fjw`q`&v#vKi!U|V7lpGM={$|% zo#Pl@zPHiJ2B;tKY#syf0SLoU1L#!A!~?(Y?{sTCqUX2HDS%h%c`yoGRebcTXX!%h z&Z(R2?r7b7W7|A7F0_p{;^y~2J3#T7F$iqQ>N(3B>-(8k{4K>*TA$7q4O05O>E|fN zbs&XG9i)*gi_azS9lpDddBWmOpSs|bqi1?74NG@=R=xWWC-Nge0sUSn>YY+dWR zNly=nUUfU3Jf(c;<1U*9Syl*zjwpjJWgV=2iHS0G4i?e!l4u5Kc~HNlXV3tt+$_r-Y~8h&Yb0W;gd@;r5K`_}7?T&7lc9D~U5$7VhBU3tH>pRFGL=yZvi{BdGixq8(9y}Zbwjtq8SQfba**A?*x|ItR~z3)v{>Ne@A0i74Ht zyxOM<`I*X>oGEo|%?0Q;>nk61-DdMrQsFy$b=|yAKEB(4*avv&wcD>mpH`<0JOPh& zoI4k6o5E`#MF2kd!-ecdURVp4U(&y~lsft)uo&ehyKW6yHjE zGi;PKg{pQ2p0{1#hSW`@@er>M=YvnTFI|Bz_K#*f@qyHai- zWH5Y2aBe=ErMy)NC7hrjmhLw8yybA-`$*M;k48COVdwGl?RWv>Rd>r>`wNfHqF%L^ zGh9wbL`VCd#R##1IpLcB>sv$JN;fi)gK-GVQe)_pS=Kx^MrgK#=Rf%|n|*yR)}`NI z%g=2ytk$wxSRffrsNOxX@NtzBU@^tu{`&4}_)wR&3sBEtVq~WOw8M13fEppgS@)$( zgR)g5h3-|{Q(SqxNKw^?(4w|`Ssew8yG6sea+Nn1?i+*0~?~>OI2B4)KAqL6w65 z`wM;JEK*Qy(Vqm)dL6rrxLpk*WWI^>I`K#lXr6}EfY_1n zf$|y$I)4$N=+i!YtgHg){oZSf^ozK6-(`?9o*lKte@l)Uq5f6f4z5rJcL`5RTh zH3zV*$RtvTixk{lSU1+#S*~o39odeq9xY+?TfMn`w{dYSb8%ET7`issv~lRN_k*HX zyVUEmc4UTUa_}P(8Qk9Z;n{NxiAl`IT%jb~C9D|7TIGfW6m5}2M_@fG`Fi<6mHVEj zZ=r?lCGp!aXqKoLTBnm6eFAqpQq!Ap8cedzpR}P)2Cv zNii2mesb$8yV99tQAC3<7@LFRm|-^A1*eWXX#?(GVK+>LXdc z-V&)5qTx2^tgCI+{sZaH<$-A!K3cWi=mWXiy)Q>ATBh`RHMSae0PjgZ@6pRscdN~x zVH(v=W}X>EP==Nr(-so>>xY<8qt8=t1VP>cvRTC6yx21wg}Xz!I~ZZkKWEQ(7>ChsgJ_V66qlb~RoC-WM;fTPYMjFQ!mdV#wvdZ~)$ zr3bHcf#m}<`lf*Maj}JeR^h8V0b@Hx8Iz!fT>b(G#wgh2H20mwgXZ;UeS~Y@UVX7; zP%R-QVA4%hx;f2A{j$FJWur(6v(RMBS_53}-%;UXb|4VMenx3-VN=ebWnbVfPvhot zS0qH#nEgGyDJ_FeSrgOQ0qalwQHtf9cRlU)Elr*q6Gp4@$bCR4@J-wE@MpBlJL$^T zIl$>vn-Yydqf9O&iZps#h&Me4c-GFf(SI`ZKV)w3*f;rXr&aJ$F`4az(Rz=oU~igw z#*-o`Xb314dQO?*?#!Q6IZ1WCjL18knIf~t z;SI=R&*rp<6MuWI64o-J$N2YMaWa>e+HZXHGUn8j4mxnI$J4E{gRIJ;>Vrz zteP=?7#O#0EW_^KUv2Sd6Kdc!5CDH4==a60MdH_SUG15upL+bbv9xjA^I-ZYOwO*h zdfOR_dk<+PmLg-gKwKnYn@L7^b0!3!lU!*+o@&{~4<6kF3X|KX`U64PM#0nqc(C~! z-GV5}P(B)xT2|>u1edN)#$TRwy18s-{*>i$UN(JSfr3WNm!B?bJTzR?_#U6%QZ6y; zHayg51FT>thv##JxRE3`{M_CZc`}st_OSL-OpH!1uyWRT8;0B$ZgJ>u79xTb&n?tPx&qn3f#dle0H24Nyj(*&l&N^g}s(UQaOqxMCX z1T;#0SkR=j_`V&VtG`(Q`S4Y?=7`}~bsLpL9mXKuqN-2vmqV%IiL}pg|&upywDYYK~ai$BS+^p&3zj2~zhqpuHXIg%Ea@Uwkd3 zaCpRGnuN2XiT!T-uF(CZZQojR^3 znB*P3PMIi={n57p4>A{djiHi|vx&OoiEeU@aY1Ru|p%DI|x^ zy#FTM(7*BnX)=|xo9^R^z#h%w7t&GF8z1@Xw2Bc$h1we&;0%HIwQ+9DN>(O4P~n>td}u>c$240ln3< zsj2s`cv2K^4jW&5;yfG>9PINUPoi79I<*>3U2VQeW=rMwjzVQGqZV*nXDb>x+pb-J z4i+J^+f^oW*-#KX>BNQ38ivo<(&(K`6`=HcZ)@Tj%?d~PhhD9}JX^a>U>L zQf53jw3=FyR2%O2WWGd&t=fIE?W-^6w3~0Ohlk6(N_04sg5q5?$}46GJuP zoR*|kT;`^pO|kZWNDl^9n2T2Cn;C{1MgK~ntIyXi8m&~4uUvNhR0>6>>Xpc>=NSff zObvTd7R=Wc)_2EC8C`eWa2yG{gA()^Sfe~0QP5i_R~J6D{ybp(rCkt7ES6Kgj{zAl zbNsTc!}VrIuKcaHoU43}8U%XPo^IsQdOj|6@p_CwkTstAD&@Sq`9>;0bTQJ&$*E9r zYuu$*kyowP_cZ!Es`2K5RhULh&@K~-_`%{<& zHDMePb?v=ZqF+lpwY?Ja_>fk5SzB|ZB1wj`JHxF$J9hV$#1OUN|jU&T>8d6%8B!5#*d*VKknT#?b6Kda`2eVvDM2=ZyYyQXoH)XXV7F)Z#(a8#)BWF)w{5$voXRH@O(F0Ah`bxeNu z2muih{hr4S#3H)sE>knNL(3JRkcEydGxWWk0j%BBu{RgXpkYc6#;8xiWBClJK+({~ z%XNnoZL#GP_R#D}x?XSmrJP^)fZ#;*LiXLgGFVzjU#^VlJBjN%qUbM5Fh*q6?ZuxZ22<1^EF*g*;r+_{$e}3(OE{Hdq)e||&YGz7ny&EA>7}ljmVc$|XVxX1 zzJ%M#XC|f{xm}2!ke++j#z-9RsGUQ3S`E_zQ?JTftpq6d1!tM4M)K-0Q z3$Av*V=ESEpVemQ*7W6Q+Po|<@%YEp=?^53=sZUNeH3P-rtE3LkjD2D`7R0>Q{>vk z>$sZN_5qwx#d@Mlkuly!;%(^SD=%O4^naARCE1PL>6_(9#Q$1#M!ke>#^jsw}!4VsWCNXlKkM9Qr-64+Q^nPuF zt;8L6pFKS7r@1`Ed|YmCKss_P%xUSz^2X{DhfLgp3^9i$Zq~(g%c0DB`}&?(`lW4a zE?>?ZxlATibgverK~6TQfbrfd>oF%If$hHNqY=jPk^OEmdG`fJLEi>*%sH>_w4*K7 z))9NKw(-lXfWFp9637J`nb&$j)#LlqU(fGDHepbA3xQ=GX8dfOZl= zQ;80)IF(fsl+xD6CJYO9!Lj)Pnc#ct@e-X}@Ivth5Q|0<-ajk4E&I;4f-dbFcjS77 z^(91Z4=@zdIf5Eob`U<|TIWSNlPdYYyn4qX$SlX*EmL zB#Rvtyz3`GLhg8}-f%bL%b~^VcP#F=y!c3Yvj%tysDDp|GXs&;m{s&Wvjb6jamf6a z9%LgU!+T^FMKmgc%KwloKNMD9?l~I>7E?AID%>PcUt09rM1y?$LF#X9+WJ(s@Y%2h zrRn+=o&|PoU1tWjgRZM2ltq&c_#Bx^hMH^!Y8E!>MmVYdaXv_z%~yK}R}l)ozeZII zrIUgzR3)wN_Kz&t%m)*%+&)Cg3min|`PWn!4_5}94T-w@Q@C@UpW0F$w%oRbShYv; z_DnoHT~|_8^bOG6asT7`Vypb5N&8cikOkpbp`n4Wx8o|4r%qq%m^~rZy*0KyV9d+X zgLKK?`rUW2Gs$H;vEpFraY34#X?f$z8;Swr2_|;?2EPD}%)OYD6!}46{x|{m9qI+= z&PTP*90YW(o8O~TLxB?F+eK{1yG;66+7VaNF1fGnAL5xejuY0@cE4a1Xnu&ZMPuPz zV1p^~Z%}`;UbH1j$5`{(yYgI2=%*TdELq-k(%>_=-SD*O^r^r>=$DPRlHu!<%gT43 zBum_rS;L4Kcg0k$q%K4MX5=_>-aX=m!;=~6rWB(-qUw*L_16Q98&Qp#nF6dr8FWuG zWSYH?V|Mv7f@aD}Z#2@dIhS~J^^@8#I7z(@WJlV!+Cs=>`AB>J9GHJe55?W6*U z7jI|+H3l9M+S7H7apnj7gn94en?4|Ao=DUS@;zOV!qpEhw?gAhC6S+C~(QDb>%=&xCv>d zo36&E=-R4ZA+#7t7j7koT_LlvS{I8a8|(&{@v1Y^QB zHu6y5`{bk;*#a+<9zkk(Ixupy9z}?T6>Sns)Fk@f3dS+pGcu18F-#c}xLaamA8dyc zLh*Q(a=$!*Eq$QhH;b*Cp+hAQM37AMs)Zr@g$@UC?lTb(E6Zi>VVmij=d`b$7j%?z zIdnQ8ZjX)f95Vu=VCV=$R_Ev6XQIav&*qTK#((jTn1`C7)=n|l@A2PWMjP24Vk|A~ z#Qys9@%@k6GfBTsL0|gLSNuNNS&tV|uwKlSKsX6^Edm;1BL`>pupjT-2+_sk`}DD~ zUjx9whx*rmR=I(yfH9MHNe@1A8f_A%Rqmq)d+acZfK zy(Ujk5uY+6On)0><;I9wqrguwY+J^)F9H$2emE#(hh3~N?LTfY*Ohx;M}F=KcO>+4 zUqb%0)dO+E_G03E$WC(=2?+HmnaAjm?hQ-&WqhWaGsxUV?|quIR_$~)p>HyaUI?b- z+F!gqMz;%yIT0Kvy?8k6_azEPsHi6{^l{)LbrcvST7g-E{Z2QFnij6Fz)A9^PvphzWDjE|^I;qF9$nY>jSv8mm z-8!r9DO^)QoMrbC0g{3Igb@(a7M3)$+4g5YPKE zU?%Hz%8N`y1X0a{zq#nbMC1_~m9qsC&r;pt!PXnKoq!z1)wnL5I0BgO>0F4L!_a$S zy~cQ8*wFh)z*dSZL~nuYdnu!Dja%C5^FU4QxDfmRQF?5xd(Qs@T7& z#F{jL=*5}@h`Kz7+pnzz7M>wvI`3&VtXs$Pb^45Stk7V!^Rr1uXg|iEZ|}v0j{A5B z2Hkua(-KqDMG68aiBbxuCIS;KnSJCYjDc9V{dTST6I|H;-#<(PvfKlTb`9`bG0+3B zQqF79ar!^sy$TF9*C2EKy~j*dZ;>c_(gu&reBi*PlcJA+1n+%y9cVtL_ApXsk!bWL zeyMQ{8Knb*%$2)1c*8RY6l8cj+p2nO?9vA#M^4q;bqRUW^w+b<1B~)tN}D{4kq@ z)DuwTAHP&Zl0@1xeF1+f+T=q(B_|YW_-9izEv>lZ12nYgiBIC!nxwF$>W!Gs?%i-| zRJ_WO*O_%hf(n^@n#>$T&ok8+i{G33-O%d8}nn|L+0-_{g^`g!#a3SS24I zc0CYYtiP$cXYY}aHVB|st40LC&`zPrP`@Q!cLoB55gKB#(oer9^-^BchAll^V0gDp z02NA9{PPqmzbUjpF~&Sy8)kAc7Dw}`Re*|B88k^yquc~OiyUYqhr^0FDgq+JMU40N zk>L;II|)S{`CpV)>Kz6D59*^p_udJXJu22DfWOe|$E*?|VVt#uFqcrE4=Sdq*b#r& zoWh1TNOndOX7Nm;KGb#>MANDJ zV@?ghfpWs|aOhVx5FL9G!OT-Q!;3**<+nr8q7%}p`Pp7bU|XI}bUx)7?U2JPe;{dA zQYh)W?ZEajP}EWAozdsOy4Y=8Xqip)t5^w`Nsmg2mTIiKBnGk^dOGo=-?poNAl}Ppb3)nRKre(Q-tATVt&9r=r$VoZvu{Zan_Q$s~z_4+Q@|zQI`F zQ8qH8{<#T5(89i>A@nzOTG^gSDiDNWZSSGsjfVH|H{!su86@jgv{W*o2|vmy_Pfv_ z#U4(bsE`!2-O11)LPHunD69{^K$nL7e&;u#3P<_|d+DDlnL!D$a=UW)yyPfId0gZK z5&yCWT)cyhE$%A5DBm4G`ww)Sr1WeIiDn2QU%QBo4v}`L6LqyV3B@9TXfJk?@gHl5XNJ@8=`zK&DBpFxm6z`)NKz4%0zx;why zLKFkoovLe|1H*ZvdVp9q1>XLKPEc}Ui$?xw!XpQEIq_Vs6yh5pE3St0501HSeR5DY zWGlbxDKs4Kq`B{PlJ=rIY1iQ-Q^;0@qn2jJXhws^V~X@P(#{(zKw{;KFK{+Fe(^~* z(?S{TGQC=0RPd87+=!(|CiYQ?2MHSf#tikM-h9xy$xZN z4?F3(`|-v$oy#vL9MnYn=PT5A?Fz*2BB$rl+)pJ3OWu1hmj8-Y2G!ec(P4ClRXDK_Kz`raY8c2oD`6P*UyLatQHp3qY*hcf&PNnVjy1iM z^>GF{mJH%bIP#m~F90==l#h6#e6zSswS_uon{gUDbdkjUYo;!ezP#!6tLFQ9PnQLo z81n8V5Qgn(yur$(7fa^nJ3rzs027a<{8wuj<^`<5w3|le&n3{uVj+d?su6G{k!*Y> zB&ANf4&6ve(rL@DMUlg@@))l37M99x;)YzSInHmQ@lburQG0B_=n-5yp(JqqEx;Md z?>T%lKhI8YA{@aZ7|jAjz~Qo90THvqA;lr?cNCApi%En>5xYw{>Vmxid9wC$h+xTG zcn4!8R!fb6Em;sL;f4X?wyPo=x0ybRCVFw1)aRF!26|t|Qy_q?8V@Yf0zNVlsT!50 zmrQ*grmKKKsoHYlFad}i;w$*PF(m~4OXrDZOadIR1rsw=sidE|GqOg(JGrv&h9m%~ zzs}=@6;m>LZLF2u-s7mPvDQ!mfq^{lZKgK?@hMz;$9)P~x%rVUwv{zkXV%-Mo6H%< z=h^P$38t#eK%;=zw5J!nWPNk@CD-$$31IRuN6meA6;K5ba+srzCJ68Uebo5>9Q7|k zCD$6_SQJphnjF0SG$jFxMbxOOajo`AxYIqo2argeyu(arKC(|4h|WMIf6nb#uw@uur1rhrXXgWg~=fgB#KMf!W3Z*FZH`^bZQfK@Mf znb;5q#U}eR?^S`a`NmwKjml9rj|@(Sn2+#>bM31OxYpo-9p#ip1i+pyT4-z&rDPO2n~Y+9V7+}i8$wYrBqvA? z3Y+hE_Xy2Udgc$$mL+2Nit{`1xVZy9>63|jO<};FbOeH5Ic(pmf^n_?{HH4OPg;J` z*zBr(zjS=|wWL~e$nxOalXUlmJRSEXR>Gu!X|rkdSpGNLS&fW|@DQidkawnC!5Zrz z%`kuY==dtsB|Ya(GePv^IzALPWO z=f%*k@LryZxRzuMFl*3d^s7YmC$bU4Z{)!r1bYYg8ap_i->x~pH+C>M_&_^O@%#y-IggJi`#rG-H8hP~aw1uV zh7vY&b=+n50ey6-un~= zj;#aZgSH)L?*PO6&)u#uM+zdN-vaDS_&w=6YvcJ?y;LnlOtvS%$_@-q(Ac?3V<<@7 zSKRo>Zw9Ghcrm4$$)v1^WG7fXyw|uXW_Yp0K`JPi=s+TV`cA=g`6fOo%rn8`APMHz zls4+;W^K}K&MVKMJKvjgFZYq_)vM>LQ!Zf50TjHvM}v664RC+gUg(C=l^9v9< z*s3fD&vgxSiHsT_TcQ1nU0F4kd6d^$?O3yi9}dc?TnGKZ@WYH8ew}4kret`IwaR3b ze@m`=k*f4%ybe+WHmuAdF}Bkic+fLO1y00(D={q7CDh~`l?#|c9N>ElY_}|e^GZ|z ziK0^>?bCBoI2t!51nyuO6ia3#z_9v&KIdAjE7kqNW{s%#S7U$BCzV7_xlGF)t2TGa z;_+S~uwDq)rAHdO5-5I=^X1aM+)>VoIA)TiZMB#Rz=sO|1+zdr#hl62dxU^Y5orYe ze0SB~sQTQn@vu8I(AcaZ8TQTItsac2`v|7ScJ3k`O&7+j>gM&gnW1O6sfu!W+$yom zawl?IYzUe}qo%osA8Xo1dAIMTLD?>~IR7lRsUDcf5oC<4F$T+?E|BQBPlf!|OB^7D zbz_;Pk#oSvLwn7vhO+3eBY>0sJ6-?hn%_+UeF^zDt~a^ELjnSZ?y|vz)PB^A43NR< z(H^78p#%?|-Mtwsb2Sv&fzIlRvGmeyuR#p+mxm* zeKkZhE9&05g^*3tDtB_XxAeR39JSGS&>?>Y)|ej9LFU#>(84njpC4?;-kx*0PT*``XVDgdC@vc$#QYao9-Jit z-fM=Bj9z-l{AXiGBp!Aj3xdvT|AFB4X46sy*sJXKWT-$t>1*8&@zq zA`kXE3ma4?Zy)wnO!_9_$#MgShQt>KQOjRXHu>`JsAY_mO$G~qM#+;DTvkzS%I74J zGjdWorugK3ZP(2K8&&c!nflq1BAJN+jm32N8vd^#M@IQ!f|yFpr!!wPZ$&aamd?UH zL>`FGUTfp;t&Ig9;v|iwrtWPotjs!51|ZgyhPm&YcN;F?#<*ePq|oYzOLZr$RzFW0 zrFfT*39$QLD{o^2a0foL8!UU3ZnADv5Y1n~B6|&-NkDxqzrb&I3&mCii;|_8Ka7Lh zgf+XHWt%Anx+3p{j@4Q3^GIIlKLX3^KS$7bres=t-zRyPm$R8HB~DYz_l%$LopNF! ze~X<6ij1D?won9U#j6U(oQJjx$S(RwP9*)AYMA7EFhGlW_3C!M{X0?7kYAH_Vk17? zb&SGvSd1m>j9ui|tW?0qpj@RKME|?shy&aVDKzd=K8hB#P=@j)c}@gY6|66*GnRLP zyQ@2Hp45+^@bL_%9bqO6fx?f{>{o4M&cl)#k0~G?d3qT&aghubyMb(_1eEE2v$_}& zq%$70;BxBLaS4z-zA{o>_6*-7Acl>e5eupMtKwn=Seio&P86pC=P&bvIU%P}7g&aR zP?GT}*iK5q$Z4Au7@;Y-S_a5S4*lIZY9WP@B7q}vt(!W50`2UhhRF0Qu1fcNT-b=Q z?XW`$gXLa3rFQ`u@r0xgM{V+@2k0kZfs|BKaBDIaNNXf0cm~+dQE$DkEoi|La&>=QH%h^hxK*qgUneO zbFvUBEzOJs2basJ5{YCdQ|SEzQc76tW_t_EpRY)bWkCv%0ZO5hx^NpI*DTBk3yemk zS2X;@x7^2=5&UeKawX)Y9y{}nO;<_5n!xuoz`>G8HcgOO3 z>gV{3w)!j-8V=)`^jZlRNMNaqJ+03wW|TB_3_l2O;j|{9T?|74qCN`puZ27P#C$G_>Ygjhq*a^zt{8fK}Y;vzram42VT5UFnbm2VZ zjikhMJ##ej<*hXHGgeov36}fsS-l7AsWs4Jo-@~+x8;~S4kPr5G79TY1$ofMm@I`1 zlePs^hVkS5zBU8cs*H&3Eih#6% zrUz8M>|jl@h2I>+*iiT|9<(KvO*oI&;VzP{3A1E+U0k`r8+CHj{$=h*HT za%2nvG!8mq`+4&IPP5wEO0((GNk{8o!&3L&8xJlsQoy9E_u2HGydKSi7a>_i`yV*8 zGs)?xAv=HJLz6h{6ihSNnG-=kxkH4NS(-{3cIkIUb^%Kc)1a8g1T&;Pc<^6KuRxlh zjR&=DS)EVYT=5(H%9aS9>K?xeEws_>6DCdJxZ(N`vKR8%S$L^&GQrw)T-tgpxK$^} zUB9jChryy3JdEGC$=hRp(%;1ininra54{L;Cc9Z^xVloSU~_4ftFTTZ9Y^JL%cGmi zUK|3vSCa%b3a_YGH8rF7gWvP85WmN>f?`4%F7w zBfqi~BFBnwzLLB7%tMT8iG~TntVNcdqZ0$)avQq4R#XaC@s&;qa+9^Id~7OL zd=+YljYa}3v{JWw6RS+XMnM`a*6SypD{NT@I>(SFMe*5%364_XI zdv3ghh%3jYY4U!TIGVLNEfAt8qhiEZ{v|%-fs&Bj^O;H!jHDkdJ#BR6OvgFP^UkaKnyOQZy6Q*JTWTzRFM{E84@ zn}mah=(^g~dp-6*7YYv>Mg0r{<$OcQN(^%sKlf?yo3FrkezHB-GzR`o6;%C7%?PAW+>nbPMoy0ITB(I>**aMWlKySjjo#*r2=h--*J%s;=Uk*wA^|T}Ug@D>mkqeDHGyft zP)V2V0-GQA#l4Fy&+%jWJf-gt{x*pVxKMC*|LM@Y0Dk||pG{7YOPCVgF?*pPKwfWA zYz*zDP9Ig7P;MZPtQ_UPwOyQKQI|RTOq&|g^+=@+mrF;*l{ul(xSZ=A5^^Ik5O;f%I{9FS-J7lm_f9|#&hH%Z0yMA*|K`uRa<#N+GYxo%)XeZ&X|C1Tuf}r#F zw#v-RTStuMt`vjB>aRS`Fw`x6`Wstuw#+z0`l+?fs%cFs$_fF*^| zH#qr+ukmMe^H0tVE{_@kR5{W;WUYXgyX;oq57q)6gUr%&Z$0xr>?!fN14?EGySm~B^A|J!z@gXx*z2oZwW=Rc+UO$6#+clM?C*0!_* z3~4;#miXucmgEYqIuf#QmMtY{U!>2SBSnVP+L|u5w?++>Do~>Ak<%^{+qcI9;al5k zr8IK5nkr50Bj_JJGWcKQxrK@txJQS<-mdBK2xH*a_thT5{<_8&!TUfyHfDi0h(&>1 zGP8P&U;B418HwGYh<4wls+ZOQ=W&b`kSnLw70kN0sri9FzGXi5g+A+Tl`)qQL2On7 zls3}%vML$ONWlUZy2UKrxF2!53|9UcoQt?<8b8bLXCkj+diWRrlX@Wlk1u`P_TbzN z%SU1Q6N`}9G<##1uf1`MWHQ;WjVOA89okC`?|9d97kyJJx&hnEX zsB}t|Ux5{2je}aX8F8z^YANE;$TrtkmDJ@TbDox?N&1vt=*fK-VQnD47_OR(A2Uk{ z`x+^|j6H$`$^8BTDKn_k{yoXai@-hJ{XuVp0)Jrvnw!z&tNgHYi)VoVi#HxMwMd*! z4sA{`mzz#CX2=0eM6hd5t$bTt)w(6b&YIb)1($?Plg27a4K3LyJ{$WA5|~us1x6|1A5pje=>lTJkkRJ1 z=}G1&YOj-3P{!|+y%=EDt^MI)N8pDeZ{HmW_Tu6Z5YpXIL4W@c_vF?#y~MHqi+5|L z2{3_~CSoQ;UgcKWU2OR*vFN{q%CaypgHpD@0}!!e$iVp)(}&NT$E^$$1}D=FR}uYK zyTqr>lnPNX%>Ef2=}7p>C%wX${DHc$iDL4&PcPH0BX^M&NZTtDhNtL7NjJAA+54Lv zMq|Rzy^K14(%o!6BJy&%WiJ~;Q_6N=MIMPF5m5q`d4$;r{;YnQDnPQJ}Psm^ze*Ebz z^NHWz%rtAW=7hCaoVE0_Z;J#Ctb~`<28Yp31edJr4v2HQ^f*?UT)DqT0419^cECaL{L1t( z{8N?Mf~s^7FN%*`vWiqD!(0e*2e;tioyL}d50bDf63N|3gU7YIv>F5MrM2Xb2_G}e z(c*tQ)AVq0df!%HK)}@^cX07GVs(g6QiC2uzW2yC}sn-(-4-g zJtZGxqQl76ZjWg^zKEQbBakU(&^z;ELex%q&saY~+tY@RP>_MazwFlRi^S8M)Hd%M(VO*G7hbby-?>|r#G5F!K_@3%Ipg>!)$ zL>%VFM&FOX?7Wx5xRE7Gqk{7*ZG;ICYQf$}GNvpJP2+MrzBN_kwkwHQI(slPLM=9s zf`3CS>4P_^GTL3RwM#;LUf}aYwkV0)Oz8qD?8e0R$?I$hLJ)E1QLF$r$AA#a1~N4u zROkNq+y%pL@&Id$*;t8*jg>0W3fsSOfqe=a)0hBC>R72)84+)#uO04mi*?Sef_;Af zE0RndD?rzM_j_3+{rw)v_DI~sA8s5nrDc(8iiaVZ&gm%SyaB}X>>Lt5VmV_M6en2` zn_3`BFf5wcC{%g#1!zQ!N1yDM*&x$@{aibHsp}4gz}S1j_y4-ks*Ip}7flx4r%5gP zZg1l3+2v~jMQYvIyq9y;bD8qB6P1ZXwqfCblyY!o-z-<7@14~*#M#A56&}G{VulLL zgtSTo6JB;nqk%RbBmi01v`=z*py<+<1c6ZL6u(cd;g5RVULWo=EW6k%TYi61=;)L) zP9zwarR1ATwK1MI)|Fk#yuF+}JW#qcQMxC}an{=d(5va$ub6v-`@7Ma23{vO!edb> zw-Bli$o>MWFk(u385a=Op#ft34B!3Pic}dHHYAzf+HVCG>TBL1o_H~&5LxSZP1J8% zBZYtSwkbVAd^V&j%8b?TJ*iuO!e+%no;SXA5V?Wr0c=X^+$dsW;Un1c8st88Q%*X? zPbhbV<`WRd0>i@?GKA%55zooy%**13uCDiO^lAbLMT*6IiY?VUICXH8q>3*#Y01a@YYk_<1D4FzLSYf=xwF>{)dn zx!-=T7!@0tkOVrzpY_kyaF_yCHWVh}#=$_Ze(*^Fk@8;oqzbkkh<9YMVswnmrU#QG z&4TZ{jtIIILmNn*NRa@nHgi;t{d*&u#bCoQOAk?(fEeni!(5T2>prVCxOUsxAB+CG z>L6Y`uEC9=K&tvxj4!sO`KJ40jmz*sZrQGtxDLuMf8T{4o(64LtbD^d(r&nTiN()U z)MmIi7Or1L!%|;cU)LWJ5_|Jfn{6?qDQYHWOy`|BO`kiZJObGWH%fZ~-swKbVoiS~6 zsohW<1}SbcUaj6*Ki5jVnDF*xIvBHj)*~P|2qI;SbR9RPz--Z5iZ}EtYn#2n>FDHS zswDih&U1G$$*%s**cc5fdzc*chs!`dWKZn)ad(|kiXfDYJ>%^3*XaEXTCjsFU+3Oo z_uk}a)uxi@FPG)dV@=<8j@>7`>AX|EK*A+qLd?ZS$F993MX1IEA zRE#QCzbVB_S1C zr3hiab*@46Y*ndN&X+dJHxcCrepDa+QG&&!HgJJ|#;^+VX!m=}pE_PXjt$|c=wa(h zt+thX#S2pB$FC|j@o}LiP8uHq;-9?1#_6au3YQEIKH99fN}%>)QzM5taR{xT8F78Z zIO2!(n_}hT@y}}2b)2Hy3)kPPKERO|@XNV#z5o;{FNFb4@4idxqpR8A!(>-me1a> zO!-`V%X20ED007_BpjX_`j(|_biXPWlG_%1ZmpFqr2Z;7qH~V~%$TRyrS8YQGP6>A zT%qJ#arcex*=2Ydv{gRr^o3PWqOvPOQEND?pkL36s%M~CN&9i3cn z>8{W+%&_a%Cr1cd!WVtIxmp*#da7VUxQ@4dK7+B|r=yL|y}|}zO@qb~Z~hOtIh9() z)|A&oRf-k@44b=Cxl^ck&2LWn)fxws+8oWiJnQW}IqH?zo0QSicj6eo@~=xq|7tc>NF-69ftEuRP$K3)|tz0RRm zD(hgd{U&+i-rF`UUT-nsFTz)>tQ;DB2u6}Z3&sKvolG^6w9PggpbR`{&Z zO^38nen5z3t!~et^znqQ^K_39uifeBo1r@?H^k8yuS6sMBtlf!s=$IMLWFZ85eHMr z&s?Ckb+|#bNv^s|yE0n7A-&YLR-7)i#K^{(5fd-{;;wH`)t`*rA*Hty-Clll%u(j< zgO80OjNc_CCOu4Snk4+-nB<3WfV>C&oG_q#OT(+~~cVtLV- zvC!Otx(Gl}k^%XJp~25`uOv>J2S&BZY zBP9AREvC*|ll9K_X%ePs$C(NljsZI~`z?Y5sB39H^4-FF!urnHp4?rrcaEpyb%VCH zyl(UN`r2=^3-eK-Qp2ef;wXZei2itSbM;v^QP7Zgo z9s1`7n7CfrUKfk|Wzp*&nCkhu_M`20^euhYcBz4U1qv$Hk)=NIJkPS_pYyp~{ejo0 z7f*xevf_@`6`F!l#c#0dNVX9Pgb2EtEAzZlesv%wc7o%%ak6LeExC#w;VydSyKG@m z)f~%lJnb{Skk<2M$7PT}N;_QAL(4f_Ix-h{`Fi{(fu%R^sd*11AG z7Ou`DUJK(2GcbNrXZvz$v^k8SHt2vKduytZBDBl|5B12d7L1GU?-LdV?k(%*YRvTJp9>z&w1k#5u%Vz#QX>MB}vv~r&Ao~X}sriI<-gZ zSg#KU`gwmWo;o)h1+@#WS02%ku*K^+zv-Hr*R^|ldJ++{tM_p0N7GBpDl|!P@7>)Y zN3N|#)#dE$N9HfmVE99rmY@27Ql9j9H2o-IwHhx+4reMe95x4L&j!4b21@&x|65pGATWL48A^US0y*=Z*j|Y^dVp0kC`jIq8>-XCaDK!v3MpjhB7Hc zt4cNN)uFgCUh96(Y-*Po8oNiYTEk6g9$j++Tss8V z31;z`MIvNK6DTXhpFH(&?3kf{;J!{_XkU-n-bO3cshJna3aJ-M#NnBmD-PuX^t4nt zuZr)Q^$lBxc=W6M70lKL$NlO*8_rH%{<4~kGDze}(y6dq%1y0Woes^GI4XDU`#|!u zeLGV%v%jDuCucffN4@@V+3FC;1@=tuQS?*+UUa`%Eo?PQA^x9Z!+s6g^ojao#f3{LFpT&zE!m0GIRlIk#Aerrrsc=i%@| z9(=e^|4NdH^9neQc4oq;umnr>+yiX+rod}3DwRQat$kUX$1e$F*1iPbYh1q*cn->v z6~NSY`ah;R$)`&0+DfFoVHTok`ZUNKQGwuW&Zpbje4#+1|D0a6Ws7>NGJjKPe=o;6 zyIK0l@dxShi6$~iQHm#Ip_7Een|lnOSPU|Q{qXx5J7?Q+v%fR)s}*m$-}3`cJYM>A z@lS>FEI`thQ$1TJze_ve<}%pC(;Ib3Ex7hzHEz`QozO;Ag(Q|~+elfqPrU6f;r$ko z3b*OVm9jKHCA+%A;#q_}K~B7ZM}TeZ-2IVC2a`pQe|Va6S=1JV^Eq?m6|$ZlzZA2> zrcSic&P!wMd;XK3>2`_%UpqP0Vf>z^!Y)?B?EMCx!4fw^otR^etRxR4ixCvdCl z@xFzbYydt%%y`nORDhtui_DJad*iqL12#e=j($bSU;X<1PJU$q^$uH3z);7W0t*`z zSruvdhprzT$t$hl6}d8oUe{7~&(yE43A&KrHDhHym=Rgy3f^+@ah_(N5}NWH4q}rA zd|Irv?2XuN(e`&>3wu8va~l0nl~w##Uf(YBZ1`QLg{#Em`0OT?_sG-CzHiSRx;U@c zRP@&o2`7B;{LaGM=}@&xRq>dov(atx%?-c9sKXmh)^w6v2 zqqdk9!Y>8^KI5^)mG>JYCmFj?t}Cu9@(VAiq>k2xq@OewJy%BWiD@NV2sFiMz@7K; zsG0^jk7Z+Ruo<#Zo6Tz}=h8$V8|D3iqcB0|C8h@>1@HsjGn0;d)qtnni4r#oKfe>9 zx*wAh5DoM`lbR{%*MxGDNer}<6cc|Yl(HNhCKW2^qgRXC=t}qN+_FuEE@eK9)h2JK zfcv^G_3Xld{!Bzy+vxyFUts8gLu>o{lJ0areZG---%TP8;g7k6pkfwsfgq>l@ioyj z6BS$!Jy%H%&D$aEpMPi|h{oJr2EVhxi#g7`p%PAY&!UiA{sj(&ZD*?oYjTJ&`PXUz zm;E~(R->tbX^xH|*!To=g!&Cr^SX-@M>o*rS7_i)W?v)m(R>r`q2Kb)lGkh3G%Pe* z!8K}jkh-E-^Mb?ByFM;8;gCUJ=&5z1B{^R*fz!{Tw%%zXvEr2~#_JWvLbjX4*{@$8 zZL>vlH4&T9syky><(X#d=@r^xxvlt2C=h@ z?r#Ox<{puQG(HB$l;)2hb}Y6kE5bD-8yjLGj{+TN?U7~ZBY|m1Pg*uQ1-7gmlc7sA-TD%sq`L+VhFIS3o1pL&(JXPlFn8KjyU23Cp;9IQ14g zEnJ2NnSxwQmolwhrf&PE#4|ICDP7rHy|os_|K4)}sPnyLRG8yC1>2TeSiKCX3==^czW zBp+!E)l~}TH({vzb+~eu?#ibduI7emaHFawuD+@h3N9dTGjzJbDrhz&kZXcBW@EmjcGDc-!4-FV&Y$H@5MQTOX-6tbR73atJeQ#zR^vL@c$!1@F4&!E z4X3BN1tK@>xk4poZ@M|wXZxb(=?QN7ja$5YZ?C))ji9e>cKQw zHa2n?(U=p(HU2~M#LjN9GxmkHL@}_@JuA-U*E`ct3VCwk?f_lwt>X#b9hbw$Q{q%2 zw*Ir*V}L&&o!>;DS+xlqdv(aV-=@*)vqP(&M>iT2K8tXH?jV}totU9FvUulfOoKIE z-LF<^-qnGA(=b2fL`7P`(s%P5x}AIMPbyhE)p*y+M+-`=x9EXt4gaM~&B-PPg4VE4 z9Gm;E9i<5FB05gb)@Opxlf&2`cp@HjJh9{2%`Htdf7d0fmOPf~08K3&)Ph!CQ?C^3 z(-qu`9eVmx7KL<4=Nc}HDfMXlm=C&Obh#}o%m3)N-61;^0KOTz;~!^8C$=-@Rr@UKR?ap5ox$jG!rj>6_kG<^VtV&R#6!o8Q zx1vj|$_M+P9c2z_J+Mzs_L!EPe?0iPQrLikTlCiANWCTbQcrtt#Du7N>6`A-y4MB; zIhT@Gs-Vj%e1lyJKIyxY|D?)$FYQb=iJg=_Ee~sM@$F&1#NIfYqNrA7aAk3Dp;IwF zG)}$9eQe(I!-vNLt@+i}j)Og^UVV#OGfPo2%&GIHW z!7RAj6-DnR&x$y886@L%@3}eZh|+DSyK5Hr1f}R@bUB4*Td`_g?Buuv7kcWsi+cHw z`Y5Q;AB~n@3C5mUCARJSmi3U@(_;QA5ZP#8kUZUg(AK_d7S*P%o*Z=7{^JFmy2D3! zr5mH~3UNuvBa#p9&W~6zKu^bU2+Y5XxTvZ$L9!~zVC;9QG^;y9bxs2yg2gL)nC8BzeYRX{>IC(9$G7Sd&B z*iQvt;~uJ^73?K5d=LgRsQf7HHHX30~ti8+^oQxxX z^lNRgkF6jB&!i2(*9Jw-yHCoI58)run+dNER zloHPaufEx(zTe^D6o=O!+_3!GYH?1}@U2xry{eA0%f{engf^xvKdG#krSCQ@h22NM zW7e18K>Fmw*TaK%saIxkb?56&ne%j?*ClbcF-IO3(f2j0@vmMzB$)Jx zpRfH138&*TaFo_!{R!4Q`ktM*4bR6>+eOkuujW}F&J7uw|3H6g9){L}t)n-@`H7wz zZUz-C#4jj|a0lpA*fOfKgKM1yMkGw?WImoZ#Q7d3+(b@iwLI#k8(#`^Fv+$eV$8)tzmj#pwHsm zx#rd*wUDN)EV>IFciHf9UJ9V-yH)2!vhXV*V1tX$;f7-e;^6(mB;oe1s5sZ48!QW- zwFQzBn+Oa?H5a~SVI~jX{ILYj(nIHbt4<1PEJl7(NJea)9QNFP+4teiyI{R3{MS6) zbc{zOi^*HZJ0Lt$pl-6+Ve-ogHvfZjOhHTxJP{WkjNm&2-{&%WDg2yMcthB-w>q5m8*Yrx&aWfppd8{ODrDbY z@NKr{1M3aBfn3da4fccJ_1Xo4>bdgK3bzEuy2;dsuY3Ft?1qnDO)Gu_IjKZk2w>YY z8QkkS=j454jFda4XH4l3!L>M=l2a!QLY-pjAVx)~~HXP2_WEk3&i{|kKViKm8*+&=8& zQeoFH=aDauhn>AW&fQ%x|F&A?{Pkd=^G(Z4!|DQ@67-Er&TX(%xP#t{frLd#4@zCH z5ZRdNC|okh5c`D>1y zg3am=mtz*Ap#~W6X$<_la){jQH{w1v0G@*_Z!oU6tim;~js!r2%5ReWToLf1FAXt? zJ@O1w+YX(a?Lr|kFi80Fua6|C<&Fp~4RV_-@s5c%usc-IvPm58RvF%4wIru4)n%eIeonVE2dSeI98P+- zEj86mRb_k4$@vx_9*z0cYG!%3EpJHBlv&B*h_o0(DTVS#u6z+1Zx%0r zXA?j(NfPZ`L8&Z{3C}D^*8Yy zvjQQmf zU*Mo};CSrySq2fcJxQQ_o!s^61@eoanUuL{NIs&-j0lj(lyCh-BJ0KAM-I1*wt;hF zVE`~R@yhGx8{pB3xEY4%_pF3|U+~gAo9ELKu0yy8r8HB_wQqR|X|r6WsaP}aq)(Dc zhc0xG(vQ5RePik3nqmHB8Tyh!Run&kpGED=A<`=kp^j$Y9mTgQn$u$))M4XBF|yC< zuRZP5@_w)>$A%DR)#_=?RZJzL!TxR07qG=KT!hyD0~bLM2lb7CP&{A7dLB2ZE{PaY zqWz-saFrSM3UnzIsYfZ5lMS!ohgn=m% zF7pEn@4q}PxCI2@b}jS)TI^eBw(8Xb2}*2T7J9m84Q`|(p|=sjGB?SX1QQJKrAnC}?EqPiu%#&{j~2|8xJ1o>Ad1+4`R6cvC+jR7Z#12c==OrMGQjb!vE z`9}dGb+@uAZm37To%FV1C2O-yT_#RwO$cuIV;od44p_QW9di5j>3RKO>|K_At`8x%5nqTAM{e|=6OtIVFonMM*Qb&@Bxbtn~3Emw!F>8 z>E~EdWjXRt7%P|5ES}Jnr2FZ!L1Fnk%J?kux{f8;%K$=A<9VM9VwPfGFLzO;Hj-Z` zwc(|tR;oGDnBZw6E20r=;yE3|b%XS7QQk`}-k;4VcPb{gSrG#ltrf#W#ni)%zj+ug zhIt)4K4nf~@oO?E{zc3at(+hkf%M-@ZXNKz14 zcCcbMA?9Tn1R;%)3?^>~0|GhP)6iGOP}?iyvC%R4+9arf9O)=pD^(4R82Tb{RBMGQ zZ)>_FL$KvAnNdISJ9kO5vSvA)&q=VuB8feFwTKBW7$P|V!uM8^H?WXO>RK`aZ7k|! z9Sl%-9zP*8Y>{rp_d^{vxb=(ZZ*7B-&1u+Q_`W%S#grFlfG5xa_{0bX34Kk3@SOI6 zkjKn^ovAt93IM6-Hm721h&Pu_)p349ZMnWqtNjC6Vex=oT(T!-DoSfQF}k_c*e$PS zQ|wm?uwq{}s!B9p4kZ=E3WdrfUpFH;@Vmw1y11UIJY`b(X5BU`L_>VSQ{M){glO!L zp2ZH+D{8rax7P;5EiZK+W8P)+2OKcSF6{ehzoz`q0EJ$ifHrbpK@Q933}ilv-zIK28#gj2@O*DD*um zX^5Q4TFpK+pJcN}YO|br={^pM)xqIQgw}O7QLHRUKk8{^YdjPebfSaOWul}1bI^TG zrZ=x!nDxYU{NDs_z2GYy0^ca$o9;!)P32e&JN;_u$fl5JaX>gxLGNxeT^ z3}o2mWG?>2N%;5+z=MZHZNC#>QZfuJZ-3~z*>Bu5Sqdg4TdAg@H%ulsxP`@dlSYjU z_0S}q)|jL~FhtczBc|9&?cEryCB)RBuAMxJnO$})PJfy?EVyTwr2t-(t5^&|{X;YZ)atp;|A*a?3ExV&U2&l5Q*RBy4<#)SZ2y{-M{A{`@x@YA2NGhFXel1GCqISc`Nicr`akt(cDn|G_J+C-jlumUc@*xFeL zyr`O)?#)4(HIT?)5xa985Eg$cbogVEFXjJz@^y0;t3~pomt$kNh>Bw~Dd~hD$HQhz zcdUT7vgOhx*>{+ea)z=W_F4|B5l^yeGe_~CY05gB>Oyge@^#!2xdBe1KddvBw!R7w zYOtGX(C!*c0rI?y zChn}#w3EyTe@Tz9A_-~`rO4l1(fm*r$1IP<%y323lQEl_w!>53-=w_E zxaC>6RpPW5=Z2UcBP&9FP3{x?{1yN2Q27j1^w0NZIq;a~#~0H_OtK|k$%er~apd&) zzM*nrk2M*x?kZ}bKaht=m6%&;ked$WJ*X1;hSp+`b^w<*1DEXcWV9EcBz{qhdj5LG zGm%|7VBb<ZZ~JD1+Lmeh=JGQ*i5ow+xG_ZTm-c1St_1h7c(U8CpsjM!FfgK|v&?q*GL4 zhLY~??k=SzrBO<{yL&I5_m=10d;j0Pzj+*fn8jM>bzW!uLQb_E&C7@pP6a`fZ~H58 z=9x>5r0vVRb;E-yG5ELTQUb9uRwVyxG@rpm1XXM(FaK+rZ9hMt3V@ms{A`V0xqlu5 zQjTy^E$@%*j8Wkc6Z(~=fm-zy-&VLhehqSgdp~VpvN}Gc1l0Z>|J{qT72_(0Nf#hH znF%ov0|)(YIR6(+{(s<~GN8(w=&3R?W7v%|7t5_M0`iB8VKEU2Qk57N1bVsP1w!pm zrr#up{D$y42WVKlI2%U5ild%PoYXb~;@IY26B!*oWtA^&SUBm>Z(oQ*L=yjzc>FOveOwo-0-x@n<+JL5dcS`mkaqmJgAjzjp+q$Y`QB2#>XU8NLD0 z*7(GIR{5TWCI{68o^Ws_{4LOw4Y{knApBd2+(Z8tukHU$ZHmB*aLt=%9Ewg;4qP^%Py{6_7s7M>F#HM%YR+<|G()KmDpOXQ@bB zHJ?P>hz;3+Ngu$WK=Yyrt`TR0itLxcdk$z%g*&A!24cR(Ac875*IVXy0xIp`PcrUy zqEAv@v$6n6GwgH<05Ds$H$O;eqjC)c9dbk;zSs<`0ZQ3&fcq&M^vy_M{8xBIo72unVx8K2ZJw5ga$&l!k%e*&g)551pW6UX05EK3c~w-BZLvpiEO0xuImggi*bx zj7o$zEYUMkYU6-dd+=P+=toK!Ja8Ph6wvvzw3GoUH^ZbQbg>}G9!l6P?rP6F8c=A0 zVvDTpt)EuciG@~xe1lXC%>u3h#~T~XIeg< z1E#05dh-j7kx6Gqx9J~(H-1)@*VAP4|%yINOR0+3WK`A0X9FSXbC&144RI`aLZ&^C^7=J>t4zL2Yuh)PRQ^e2FBi_9AEz1_^H}~ zBDGQuH)j%)Johp9%>URP&Ph@bxX=mkp4t8emfbmtQA9+EUgUbt*DfP9W(Vx`pSPP= ztoUBvT;*7tB(?J`BWWpyfNiw+RS2MkR&DhwY^*>}R;Svocy5Fl7!YceKj*TlK=UYL z5O6ACM~`^tdq=a6uETRWrS~bShJVOW4DZr>K*1X{)ppF z#&#E9Di)R-FFU=lSIWblq~o;Kud1b0fxv`nr$1Di%zddu*u24-!n2ZC!h^{9<9tlH zpZt=7fi#JzSf=$t$~Zm7oJfVq@VF$DUcE_k8n9w{9D9;_c2f{Zg^FZ-p&y;<{OriH zyGo}0Y9g0q5G3x?y77ppo#k1@%+|ek;<8fhSSXm}4u5+&fZ+8Mv?QHE`r%MXwb}E5 ztNpx~%Z~wImVH4c?Z#y$7a(-$pX7S}ug2A$7`a=g?c(PyKXxTpZOeD zVTq3g{Db)&DX~d-;J;O-Z4L?nUkKr0U)H9KDzr^S9N@Q$)kb*%yyY5eZ_0D|I5^7&W!)wEe!jb0j;eL-&0lvfe zw(zV~nP?R9!E_W&^Cuv=)2f!6`{(W)n|gXwG%$w;xH zY!pjoZ27z4o5M;QRGAe8vRmJihQJjcpYA`eI+Xywjuf?g;Y^aVPvG!{vIXl@)-5qDm z;l&Ye1`)vBh@9~}(Q^gN6!<*>ZjITuLCGI`;~v+%%+5CtwCgONI0%`1m* z=sTR;xykerK9VaX-+t9eE<260E&&*jpaDjr0y?ynJuLMi!^K>SK~!WYYmL-HZW<`!Cy~7_R1wmZ~F+i^{47oTPgYMFD=FD)O$Vva7v## zf|6nQ&lM3P+7zP-xX_UG{`sbV3iCgE&;Dq5??38Pj~S%Xg$jLLwSqz06_WzNna*L` zs9;pz2|T*gcik-XU~43Zz@_CCK^=PNZ@QsJE@|AYqBeOi_#I*r0KFmN?4w2fBv5<* zqA}u;hgCic002>-E`+>B;f?{Wm8q?Ew+2*7~8Oqxx=%`w!8E^H_z_ zNh;TWHa$T5qPLSINJEw3p2?tEAoYfX+wl>ZpktubRE>0d08u(%%c)!*WzEBLz_T&# z&TLledA2lebMm?iFhR>T6lYLr0tG$gh+~Lgl^hT}Nff|2 z1qZq{ndm!$$mGwkh%#9c`IO_iwFiZ7u4S9A_pzqyy^`5Yy2X;2E>wqTe7^X0qn*a8 zWd9rmpsiLjm+^LQ2cFZnoa2x%EgbC(>j?QatLFz_y0mgzK;5beA_Nsnr0zLQ?)I7A zA`@~PuY4mo%>a9y>(RX8wZ6w>YrEHthlj(80h_<-y@Zzr;x%Z*O2aO{U$X+p3;z-! z_eK9llYsp%3BNf?B+E&de*m7S-_MX}*5OD-4Y5bI<|TQf7G2JDuqPA6td;Mt9vb&X zeFi;vfEfN-de7*`S0*!dnJ6auOsP<+A&~Llr!&>L%zbvkfHFO|WB88e)mksYDB{H% zkx;_Rg53{f3C)yOXX6I!*GY+!^k!i+`*Mr@kpV?lduW-8(ZTxAt28Oz;IX+Cqt+~W zyJiQA(OY_Cw;vmUoQw z4+QKDdjP=XCO~0JbtK~xKW$QU2WUf@%|eNM4sl`GQY>kC#_?5vsjRDOsx#ZU;aRrw z0keoHX zF%s?+Fq@u|LMekQ+|*!_>|U4ft}m8x?FaxWNMR9q5YK5-EIkI!%>MTL%-xxx{KM_N zZ%;K(0^I}6|7bQA0U@^O0wpn&1zznXNr{}SC5`YSi0q<4yn4~-2weF$#D-!^o$QXH z3^_4RiXXY89DXKv5ALYqJx8p-$NAF*-jb>n8%qrzvUtq-e`L$D!+N}t^4{ptulb_X zG!&#Bwh*9BiEZ>aTVf>oH6)jN*%#&_pl>)u`?oEG^@9Cvz3p~!`;z!WmU|NvD46u+ zJkGIkDNPg;zcv#*B!bcmrOM?hSJ?kBG@r=G6~iql;Bh^Ka+wXvoO_k8Gs=WsN;7Cx z2{2!nVi0sChuAIkv96pxaI7se&Xuj+-j8-0J+02H@jnBqTk0v4;4!JMl&S9a%gcb- zE5+ei`ayd@bdD-7b^BQ8g9}7}?aHHm$<~KBVDJ4iBF0?N=psAM#gbHTEWGjE`!gx8 z<3-zZ#}g~_sREybo$+jLhwYz9`kqHze0GO9=%6G?@d7zw?kKyJZu#O7=jjhu2rzBf zg6^phlecn#su^JI<{4&NtSg}S^rcnWyTX|i4!V%xTTEJu|73q*JZ&7E)6C^awG*rB z@>+I|$xagl3>MMjcgPTGoC$4O=}*Q{Nf~jya)@JdU=Jea56+U~UQcAw=1FGIC^&_I ze5hZ=RauJ1S6fE1MKQS=q|pH`vs8mr7+@OQ)D}4{h|PHc2z6ft!EU_fN8uH5;CH;8 z3Xp*qltDh3KL$n7OsDIPM)J1e*;l@LKgiLWd>KJ!a34UyauiOwn1gs*ZWL z8jp*Y$gbI1(VOcJ{4F+|s8P~$f^rhLN3unZ}M`xpzd$fBS3 z(qFr$sO@~gu$^-*hc(_tFJfYMJU%$wR8zkL2jEWp2=T zyRU6;I;>&z*CD&BJyK`MRI7D_KAj~%i^*5SYy-h>f0(w1qw2+ZEolgc3-Q_h=BFqZ zUT%x|*CS1$w^hLAAS!0VS*amHXJ1?!jED-BL(bezw$f2|CdGf#1yM-yJ9^48YgecK z;>a4dC~gwr{d_RgSbwtk*{hR9Z>>ko06)9Ve6S$5>mJLOK8hjUJZgq`4QxoT+#IL! zld^Zw{$D8uk~90K>xOR&;a0y#gx)Q9IG1<^Tv066RXbA8o}HM@HPmu?EHm-BFXkjD zBwb1)T%EHO4YV%@J8>%AS-r!cwuX3Ad3ufZuZBJlu&Vj`J|>Z}t}>J7{q%{JWO?Y< z4lTR?aHwrhBnO)Dk1!u_n<5MqYmrVtO}*So5YdIf2wK`I(p%lK(xdl?vK&jul!;0q zNM`b&^j4ntA$mJoyC+=YJk4Y`vp(^QrkOZ(R+EaxZv&8qwDc4KEx zRGzC8#uZD-q?FVU-)w724`k6ikPUAF!o6`WLIcgwi!sf7>Wj4f<|!NE5BJ=w7J-u3I zZ+-XNG>BU=yX_~jp+0Y2ovoim>mfiM_Q}=-GSo9d>@{I-fp&Hf^cjQNE@U2OO5Y!c`3u z`6{9XFRp%bA&H1X*iHH&sjxStYW45rWj%LEf0Y?$lErfieudHN7eJT#HDF_1Zao`| zS>vU13nx3XMAF|vVN45g&4a%UPx~jQ#h1Utw&Xi9$MFG1LuzTxY$WWaDP6P#-fa)| zSl@coEK(!b=UfFJTpXo-Ld8->F8-jcB*Y2^>L5V?4QI*_oB|Z#q|@BAj|Mu+R)eax zXzYAZWh&RXR{1&FNs>*x*=@RBXz!Oko6Kug4qEPyleTX76+Gr%K2~?a8pRrJZ^RS< z49!v8YR@hHCt^fX1oHR;F8)!!_U`oi*o-2x%Yn#g`yl46DD+BNnKt`^R1a(y0utR; z`3OO*c&*recUJMtiKD}8R4ZX{d|Z$l$5!@3%G1xMo*eXKyjqO#o#g zVq0W47HQc>63U>=8!-%+13tP1puJ@VN;r9P^dqM`DW+Xhe19|V7V&zw!)<1>>aq6| zFyThT1rvMT;M~m?y{Ulsbh~9zXl>4f7YpN`^Uyn!8Y&av71cynzhE^d$iV9ZK zkDg7XUGX{zGP&G^N%%r(P&37T=eM}I+iH-oVL6KQkt##o-Z(bHo}m_RAr+iKHJ9N? zq(<;)M8$sd=Y8{$0^aEc+i>;5%Y@%mJFxsF{rA|hRN{6Bk=;Doeae$P1C(xW!TPs) zz;rpS-f4R%fPkSpVnrb_gL$$_X@h(6N3zaK3z>AuV1Iauz3Itw?9Exlp|U+sTenPe zwK!puF)u=>z(dLNl3uB3-h7`gJKUZP&WGbcPnBiq)bb)C=)7JrGQ3>_22#4eh{RJ$ zHvh!27EU&b=a0Kn8xrb_NRHl$H!9|M+*}-o3l<^atM(utT;U$wWM5R}wzq&ghFwdY1za})L-Gl95bdXEbkNeP>*`16ck9eH3D7kd`pOJEEL$6{((qP#HOW5= zH`l?i3%|(4ZuYcTt#0}&SybLGE)<#kOgRB0jsZ6CHdN8DYSq$cuVoDOkABADZ8%D4 z`=xo}0S_(Wj4qjh!4b(EQUZC>t2NwK3u}Cg92`KOoEy;#-k|Xr*UQ*N23eDh{S`2! z+?B!uqQvgcw`Y0!`Gi4aTw!tC??t9v4_i8Rwv3oi%__6Fux_TYBzv zewe<+?+DLR&0Q@wmR$=GE>Z~v)0!>rrXETJ5RN!~gZ-{DLNo45@Db8{p_maMliM*L zFx-kw$`_F&cZ|{(%k{a25CaRsBH(4SV}*&05o-FFyxO+);Yh9#THbg`=t%UOLl6l^ zRFvmAeWrAx?^y8}AW-m2L|&&NEk(e^bm2GGNU1D0;>(;=)Gmo^FxG4`cyO$+lb;Iv zOp8&od4^sJ_E)MR?a*`~Ihz znjKnEmApI|khf?~ovQsHZJrts&GMtu;F{TWvOBkIZOY}b4>K;DbV8j|nj@+6uc&jD!;rkhL>!8NX^mcZl?E3+73#*}tIxl~8 zdIhJ^>(>Q3JQ=s1<1+3}QdwTkLctvW`6up~do!t83&rBN^#s%-Nj_d(sNqAYqm}#h zl{m%Fw`ViCosQPCG6OG#3sM zwznl>BD8f0aV|BCf~`%Lqd9C(yxKaq^#@!| zW8cXqKi{kcSQoP+r54=U^?=|34WSZ~Q%zHd`8Gt~J;8YBd^BIo#&)6NUHM91_8hh3 zkL2d_OAamJ*=&t?K@SGCJk8LurN>B{z7Rt+^ax2?4O_*3YU*8QyxnNnk7!=h#u!G7 z_7%<0uWs*NIX~`x(T2brd+jk#NFqUs9Q^EMsA$N8G4s?Ujzw*<4a$*5kT@=?MI#@x z^#YhP%^diFp~24t%~N(=1moJy%g;VfHB8kEF+GQzr6+-V6QuJIRM7y^FGWCqhkg71 z7JvY3WOK`|(Jz7bLrXGt!Cx%EP?N`n$B-tibXZI<86OmN3=QY$Hpkm@`?bXfhqVVQ zWGi4gg-vQw1yUigNheR)Ek66e&7ll~xRKmU%9H7Or=@{QA}0mg|O>Oa3omWNV;v1@(tI!@5+l^q15&ZS$dKZM~aDjT*d=YYBkNH zRoK|8gv8bJn6P z7yU^;T({01;mKxkX7dFPxD(Mc{mj;e1r^tl6zRBB$QNDS40a4Soymllgu0+d__?gx zFyHn0mXv>3y}=1<(hSl3Y^XEMlHSUmi%n}-n{_l`PD6r^(O%3?XvNy1i0#EvOj9;Z zA+2=IKX7|^p!Hy2p==yz{Z{(h*N%7CkmSU&ym(?0-BcPOQE@2z5%m1UF>z7y6o__2 zfix=$5ONHLy}~S>*bRGweb<+Ty!4)6fw!a?TpW>%G+P_E9&4o&AL9TzN6FmC^kGf6OfVSkr#ydm{Mt-T-pR`@2 zLB6KZew7rl_KCTmP%3duzM4)cE+X}(0`4fxp8hK@^0vKE$s|?ellUS#0-sW-wRYs% zQo`p)9N(1QJs3I4C7^u%&izyOk^*#|hH_B|H812`9os=vUy2N3{3-+8eFD_J`^=RG znKagOvaH&M#A`B4j;0U|dZ7NyHMeu#at;eZ`|0hAC*ADy5^oU%97Yk)y^qCI@W2vM zLMQ`W?98k}Zzhgm4`DQHaQV00JPTR9eUCMc(9LH`D3l_R$79I)!@pH>{kKr&^I&I( z3n8ny*~){Hf^LIz>5>$f9Flnr!d~QRE=y|pU8i18zM_8Hn!J%J-BZa{ z?rX^w&ksTcEe*Pg+H&80hSDUME&;TZoQV)XP~olsxS+N(<~HnqP_*BS6mK6Z_ZeJ- zr{)tBK6+?_Yx3ib+r8`0N{?oM%zi*|{Nf!7LY=X_HWr9hLBD925|Om6n+X>2(1d7; zvrib0kz&CvAixnrE6{6-*GZf=5ukyBIr$aNq1~aAGQp(`k>YnX?g2&&n_*7db2-lY zc-~+F2-|;Qk-C7sA$Z&gcLRW`?h*kDf3MK?n!7(>Q2d(#h}OWDMwLZUfDOxgZ(b$G zAEM`4B8Hv`3w?gfeY1;#T&Go{W-x7U7<=Mvh>n?`Oe-BoVX2We3fm)uI$}c@L)8Hn zu-f-|`k6^nvYA_DZof+zU26iUTiVLx)|&utnO!5A~<#lxEr;SAe{z*S03)t3KD zQoep6ScWa!%7+#nxDb`amTiNHw`O>S^B@svP&x)7G0Z&q1c)9M(~aGkso)X;kjOS4 zy%rK+Cu(@>LLdk4Ot^c8O48q~fz|-bkWAfFsamMeV06Zy6^-YTwnoTkE-HIqEMAiH zZ1V*~Cxz#Oqt-z;ZBwLj#l+)MJat<<{eWs%=_B6-2`WNp)wYd##5nSs1*nsFN+(4M zI|A;bP%YH`o!H1Kl4@USjv$it(ZAdY?{foRQvm<=IsV-GwJ84kqvJjW#;Aa<2&_E_UDh9dXd`qEvxD zlSp2V#RFeD_$G?6IkqncJ1R0Tb3KokJ7+Nv43%V^-k;<^l0ZHG?a(`q3!sO1Dzr2i z0F-M5z(7H$PsQBvI=%B}4e*60P2^$YXW{h8m5^tZS z?n8dP^;1X~x5*NEM7lq0uhru7v%Bpz?Avod4m$fkriBf+IQ$>~0A26n`fuD0X@=-h z?RXcoq^l3VVx`aczelmGP5S`}eJUIv8D(FyqW`2Eih z`-=i0KmYUHn_S?_4axv$Ol?~u_Pdp>Fs{F+_dL_J)d<-h*VACC{V}ua?~k`ihSbc+ z#V|)@vzUg1H3!M=$N87ei}beaInqKTu^~XOmvI2d_G&ef4$}TEi@+OH4N@$1)=H^& zZm1f@!+>yb$3}MdG>j; z_?Kt!f)@JVNzR8yg{f)TTbKZze!i_E>oKu|LV+`W^lLUM-N4ByJFxiT!Z{Z5=#ISA z<_W<4OT9u$L;yf?3?L~C=9pq*yh{ut|EcX(q~?~?{^<22Ep->QJ7s5Y*+s#Wz-@#S zLTlgMcVos^ztiW1P@mGa1xm3g_%g$LwGYM^98yysI*KKq%0TM35n7rv%-WpZEutiA zO`H5!qnLv_dyHc)!Cx_aV2HXC6zYHJi^tr)B%A-`B^jW~@ZdqIpqz*~sJP+tbvypY z)Qr(&wp7OQ2}eufs>DyKdR5=36A)4LF^&*&D-`<3gpDR4!Xu7z>*;*vT(FL_}e zZAt{#9o8}=OA+YB@Sw=t`vnru_n2P~L64}pb~U`Z%Q&{)Kn~KKpe?v{!hC+4oKPHk z?`&*wBT)>iVS^iqIh?OukxV+oJZ0{&juI-&!RC8aD?c$uHfrm{(!|tLV(L@T5`a%Z zdY@Xz?OhjmArFp;cV@^){2sox%!F%AI%M7Y%V0X-8Qe;I>0q9i@x_a;pFZsmB8KU% zUZVZiy!W2>1c1e-t=hpI1AIPkRe(2Th!j}9Q!({t09`|%x(~#;)Q0s8sy%x-K;qp& z6B@+APw!I<9gY~-DTEV_@v4cnk$3SJKAKM&=Q#yT8^BcN?b<)UT5;4@QFZhtmx1-) z8bV!qiKQ}khY~`q_goHWP-Ija$^Q+gq5=*(n2q`nIBL!Uz-bpqx(KfS2cF?AiTF5+ zid5&HA*0>@25K(^3NGYxh88@iQ2XZe(>#>!6yJWTeOKX-kvH!?y%_#cLk*uui9y+1 z#Wxa5-{t2%(B@!{abfTMwAWGjJ2MXG9d#6+0drqhEnC*RZ&Ml$e4EWFq5_~Zrd+^=?? zya2>NPTx=<{)I11DS~DWway|%bMX24m*>W+-7gdY*XPeLmzwAY8h7XBBkU~@4Pw6F zb0AO!f`Je5|16VsK;o^LL_sU9bu~6L6UtQWi7h?M@QSo8JS+%Ty8dRHXj{(Z>-(vp z_|P$2bxc;1I+m5Q7wc&;FU1aMf+KU$3643;&#H7w>(`ZiynwY_g}(X}_T9Bw)bc)Qs!`e^E}f$ZdYu?~_IqTZ0zn)}J7xKZ?3#5ROJ z2RiV6l2IGa}QFCg;9{z$0H!*jiHCX^R1hu{m-_-8%`r zd!TCo$~upeM+`Wt{80k_y${`_+Wt@C2Ns#+)}TRpct)9|X-=fP?2pKg@cI~pBAZL0 zFY=jqMG5}5xpTk#?TK%611n~7xRr7qWmV1NW_a5a!(r65g0GcO(WQmMW#WSOx=_paYG)aHh{k~c7!rR*$ z0*MGwNDx}9=KZ%*TASl-X7}(b5xULn0PhH_vdG4I7eA_ayU8$VLx5!x-UNPfUU$^8 zw++!vLS3%>EL5r7i!oIu-e)1!WQqr6`8ehrS8%2X5HewGIyu+n%iJ`e=dk@)+j3;{ zM!>$m=AbdgB%SCtVxl#Wco3F1SgjbN<6k_NlG|cn?LT+&t!0BV`#;<6dnogK-oOvM z6L$)Q1b^B|*ptD!Ke*)ca12k)F!OSsb|-Q>z%3V|rw?kEOvrh|yKnsZvwf;vDEJwJ zQVexr457T?uSXXOhpSJH%8@js3+ktViBEg+j$2Gb9t1X+xN-)FHpTqzh}3@sqAhAp z(!4Wch3Nu83np^JumG^w{usBX=M~w9yBV+;?R_sSNGnUs?2QKs(&gLgo7pHml^KC| zV|1ldQjZwtpZKInKdcW%=9eL(FngHQMv_HEMO*Np+qpp^d&`Y{;(nc0z?E{pgjz}U zIg8ti@{llU*9io_D=LVVVHW$}{@c5Po5aRn@7!mGk z;Zk@mvWBL0tp!8Rcyp-mz0y$<3G~=w~K(>_rin#4HfO6@*q^1U?#M?=Sk{(AWP|z_bQ&Osf|2- zlS8Y9W++P@sef#p>~~v}Z_1!{B}uW6FK=G8g4)B2>V*(aYEEt#%Pz?yx?rmo$p>V^ zJfGz%_!y$xOSuAcQZzq&i32U6K|;N9xKW7ym2pvS3j_cEr7#diMUs0Piuv(if5KCm z=XzePR|%#@1(wd)28g`%|i zKVl1U%^~V66KmmFkhgpS&as_4e7){__Ra^#Hki#yA0!?a1__ODStrziM^kwm_6G>)$zllkqWr%XhPRWX|?t_~S2eox?7I=nFPf zB$z4BKal@-JN@ggEm*|@fAi2ibTKsV7zlLhcU5X{EW6U|{Rim_>gjKTO@^~FlLYHj z2J}6sxb!=#XVNTxmHkXfZCzXLix0MVc(^4he6x=QEKMnujn2yPZ#pIb0MJhWlV!FZ z80#6o-rat{Y1^&pYTeR?zS0%Ph2;ROs*X0Nxm%j1QjHImBZLiJ9Ia0#Z%@}tnkbTI zPu^ULo?#LoMviVOhYx>*=e+(7QmvbkRm~Maz14RbIocwxusp*Yc*bhLBe}w=n^H!= za5YX(?V;DR+-G{|KR427!U{m~w7!h9m0zJfR&LGequRVkA?pZwB2M96^Cg%}Sb@LF z5>VcB3kDF6vOB@al%jnJFMaaV0DHdiqI5?xe!D`k4@H`N9tFo+cSa6kz=C#NeyIevpsTOD|{jPE0;IcULrRH;+ElRZCo^ok+ zF9;r)uTWruYg%poZj4{&G(Aj-maMxOl_fIWA2H)RZrsDuS832xI=B2q7a=5Dg??e@ z_iH#?DF~QDWo`1V^(XRky6;k+&khI=2Wpj5J6w5fwH*+4B`3=?XhyNW>w<|se4OGf z>Nf-c&;o)XO;an(TalZI(zS04uAmcTCM<)*0-O zkEgIlLU(Yy!AnwXlz*cZ#)#o%|3-U3Z^JXgl>sHaig zB}?Q8i;NnHmk(q?(4R^^;yVN{N<3Zb!=!m`(b+xWrlHV&W$1Q+;d((aAWo5e^F2@( zk0_n2S}x=zP;qlM%g5Z&_WqRq=d*Nw+1tO*Wnv@r=4LTmaYz^lTBn_v%uAPpp}uD8 zApk^`6CX3U`mGcYfvf}U#5{CQpHdc>f2v4F#y$fU*I4d6z|_&r60 zit?j4rNMO+V5-jjCG4yZE37|fy>6JZIZXPQyuLTv4C+6?ieP>^CVrmY1cnOeZ#Y^H zu5-<5esIHx_=17o{rl#8gS8XQ`Wo#!zM{aZYOComFVYvuz|e8HaI%`r9e@MU0~c$0pkFR*$3Qxhoc_(3M`=IStfzy^R}fvv``YZO)nl1~H%PFf!o>(xu> zgM3u8~*Mw|y*l(B6QP$Q!Q)=RK&| zP=@_N2eu3_$29Kx>aCE(N4wT&U*%fIx=jHF8wwg-7A*EB#s??!yt=u*D6V|2m-52P zbIh51^pu$6bRk4|wX-MM=lf?&h-cNoL)1Yh$>6SwRN;dL34O(?0xiUFRHA^#Z?J>8 zAnDa&r1mfDF=qJ4(WSz!z?5@ynQ@QIESZo9lB=jCae#mG+lMV?7iaih&LCzt7z z7z%c^+!KzWZL-OncZseQCbL2o^i2Ca4DSc$X+wWIc{zT9?a}E4-WA)pWVhKESUN?q z{T%ULh)JT9Wqg@7TOSIOUBee8ooF??PZ7LOmv4gwi4+RB;7OF20Er(EusA(KovdVd z-toJziy*zbafURv3Uo-dckHljuRC@mlTwrP7(HUuS?|T&6!0GUDcE1yo4v%qzIwC6!jwVK}?_SHFzq<+vi`+9NI zJ+QWxos`vvz*hn^wsIwlXDa3oSWRa(W5cwiuj8JQ$Rx8E07A`8)WXSpu3wsj4;tNx zz4j4wiwlRqJ`M2i9nY~z6|uw4)?qNnMJ6nSjKq%@R|>7u$woyi_r@rE_6yntB(`bc zMb|rCZEMZ{0nuC?#|Lf@Lb2D!(@Uu(ab+>AqCHQ&*SRd2D5gIwb}3B0v`PU`x`P46 zGFYtF6T+seFK)MJL&?HYUZwLYv3`>~%{L0g<3+M7EV}+9=>rtUvj&IHj-K*Jof9!C ze~Dr_gSS1X7QU`w3B^eGgm{|mN5bcfODp&F+q`P_E79|{?Bt~ZH3qdb04%07--cKk zND#?;)#$2@g6WlzEbJB~#c9PPDACN{k0hqo&UoQ*z9$($YhuMqK?)ITbUVhy%alcN z_@KwW$bLLQ{O!q-+Se`^7-ywiV97a&j zD&4&LymVc=_nRk?AbZZRqdZG7)10;0Qc#q!`4R~TSTYQJWr6dgtsf{xE5WZn9d;gV z9A17H7|e2*g(D&Kfr7JMA5WXe#ZqiC)Y~yxwLY+(Iny7l3B$H+k2Dz95O061Zcn>G zB0B%r?+wxBsZ}>kjrXWA3||~9D{r}Cn~o<5;t8SE!QKp3m@lnFoX48vShjcX3-l#& zh3Cayw4VrBU7|?;P_L9R*5>VIMB%;)M;JHU`7HBUt2hhkiw&DP^ulAAp*?Y;7G8hq`+VxZPCaZp)nDoPs;wr@nS3y3)c?W(cz$0}D z3ozQu^8r8nFEvUe*#rrZvQlx;*Bz}H6x z;Csr(Z>Io^_;3UQ|7{T|uiekCH=@R58!s(0w2Q}6`pNj=0b}n?r_ZrxK$);-p|17S z*3?m!OeUJ9yXBfWuV2+U?}J0Gpi1i3oyNC1j+>CBVWKkE3LR$&0WKyPtAu2@}$ zlQ5vI_JC08EqXJ)U(-df`Bl`>&+g(@@Ra=w8-Ag@dvA}a>=8cLW zZTrZh;H?tDS<`MO@Pp^_IZCY$50x_+>;Wee@sBKe$Mi>=??=$io%g61462xx(7PE! z#hIF;nDiJ1(5oZpm4E(7_sjK6e_r9SqF^DcmGX%E9%}v`ZJ~8NWD99;!j5=QF+cqBC4mke zQ@x@3JCgVAjE2c!LK5o$v@#yhD1c5(pK>|yt4$@vww=3B8S|Rnq8cZh-PG$E=6jy<mVOw(+j>4%czayH{f@1bys6r0Jcz0rzQ0ni2QN;tmOT{Ro~q4oKHG3u*QSqW(8!YtAnYabZn$8X=TPl!tblLs3|i zAg_T5EI-YWykN>?wVpWLV9dy6H6yakWf8@s{MmPQAzbqDa8jdNE=Qyyc7UGX{kh!v`bIHz<@ohFiuXKg*?*O>DC^KqWm6XAqrY^UXn@*J z>sZU$lupF(p>dKnXug0i7K(9<(sOfC#?R4-8nU&IKc}+!&FKQeXxAv_@+j$V_ZlA} zYpHd=wm)GtoQeU~mrlZsO${V%{x)oc?+$U;t}XO8AuL6;YQ#bGa6sAXKpQBWT!UWV z{5>n*7UU?aFd#)1%1e>!V^KLHvae7v5h$-y;q~hBxkle9Y-;7>0T-}fa%vE*Qd-;o z(}O%)h8HaBeP(Gq;zU?DRy*SoBowzsp7%WC_%M7!1r+ai@8FLv6SVIHZ_de?rr)M_P8pad1zMt@q}RI=o= z7k`Ay9`@!JtA?YK9zE(y;#Q=JZUIBJ*iFK^2njziED;;@a0yW{!ef2`8J>oWWL#b8 z!v_W~T6mI7BvK!$GA8m(BqSL%xJ)LD=f?w}{1vg<3kz9IY`S_o1u!P!g2~vGt!qyL zc7k?7mwo`;4SMVEEfC>X?tB$aIFSrG`pQV3QN9Yd@bi-`>QJpq(hvEk$}RwYwMtCU zxG!=gHTkpOlY5}0H>-2ncNuB|M(K)zbj$_|8PaaEE1Gi2Xnr*fea4^{Jw#c>it!>% zG4MMSPU=hk<&7CWW4>Aj3Np4yw!s%2qVX0{>$$+%)X%UzrnesLj1sEpQbp<@TT%b= zTI4-1ok|XIC#iA=0Y-XT!1@Dk@Kb%Zg1;kmV9HL1JBiX=+|a@mSrtl~?;I>*w10Moqh zI^FNFRK>mQN|feZ+|#pYgmLcB&2%mWxA)E#$nx%g6np=-mL=??iCO1WiA zt1aT9R5SoQ8ksApo?@wAtv=R<$A5WgM^d6@;0_S~I4e;w1F&Z3MrSOC;{YZFG&7TzX^eStIul~T|n=ZtiZjd)YL9P-71OMkNxAjo@klMR_MB1m1 zH>gOxDA7?qHf8HyT2+Df9uZ`w(aze5$JTII zuv7xLQ6FeHb6*$u6i*aMOoEs#X)L|df{Zh#=P5=K%Ls-rhw}Nu&D;%jE1Eh0OjnLG z?Tb5f059Zev4IuqHvkE3;NBI4zfx+n1AT;sKCUR$(25 zVUxbcDk+;Yr9qw-TTb+E`wF$fJCs*w@&Ng8Okb@258Ct!I*V4@=n$a+B^<2f{!mj; z5qAqne00@xsDbwV?=o@UIZmx&)qEM+?ubZ;%p67p3da0!-KfEETDxqHQ}eZ*$5??@ zu5|iC&i5Tm=RmWaF@|+hhTjwKubm1yGdt2S82a{I)NH23XUJnB#e1Yc3&?eO6(i-Q zLph-t8^0T!iW5wJscg3s<(eXtl@F6t-Zoy$IMcJUjN_1tB}B=M!hSVx=+rrE5UP0; z`d)II4bhC$8c70WSsH1WxLLmSyHRL)+a3P#JYSjh z%GLZaWan{J=KvIyCsHA>ITC2`c&;SCDGGP;O;0!_?kSAcGQaX8f%eUs%3El7h(BS^ z$VReiWXcL(O3hLT%Q)>!2W=d%1^`#Ldh9k98Zc*O6N)>*UyoB(BB}g(-0tw)xSD$#vo-!3H0QT87Vu zLD{`Iilel{3;Jo5Kmw>pqeuKGVwtn-AOlXpjQ5#KnsV_Az_RCpcQK$+T`wtSt!aYT zjE!Ex^@Wk3KMYZIf`G0=~IO7Sw1BA!y z?r#CZq@ksJjkWfn%(wnpA69@dw*)qY1mKeyo%S0T8D#-n5UKA+IpF_`va^n=a_jd0 z5kYCCJ0v$PAtBujn?_PmT1jaTQF0T~9h*(Jbc2#gHzERp(%lWewcmRWo;&V)e`CC3 zoN>l*_{V-+&wS=uYtHZYGa=@^EeaXzSCL`{4Y8gFJTS}ker5R1Y0_vew4eMDyI&hk zi$Lk6oJ|t&5WP)TJ!d!XOZ1ZqCsWq4?8{CSa`I<`s-=m&QcMH|z~KNak^;?6%st0O z{eqF`tuS#F=f{j{MTAL5^KEE6cPiBrX&)^1B}oI{z0Ihu*x2^B3PpsHV6%P~_9_b? z&?E1kAxuAOfcuS38(A^JSYU=*X86QMGy9IS)!Hu zNt*NP4Awi2yEFi~I@_cl_XFMDmX{~+MNQJowk7}*l(g~OmSk^yS>%KB!&TKZ;VKY+ z5hEGCm$I@j!rW}dXc-7p-@tMHFk*8K(W_TFG+uO_MHhhe)dZ*s9AdF2edd>s=X|%J z^HOLzVi?K-acyjd6EEp9^x->$pa4c3(#5mcN*rZb5XA)MVV!T{HaPAx5pf=&fRdQx zQR=a6dzY&AQ74IctKcE=q}+TwFyR)EbvVhEW&Ap9$^knpQWgtbH}Dy+4V2@H)IH|| z;LM`mPdux>hYB;@HFLPx6Rl`}y7?hy-gB^psb8|z#&?90mXjEa1>$M)zdGHt#|K(>+{+QuW#ewMWIoLKq z6%_|R==_OTTy#ei4cpcUqV;gJippIioWbGVuNMv!Tl@X|ZZfO{Z4E*2D?Er{ja|%v zDp*B?@6~CL*pr%6UElrifO7d`yFI+qIp3?eIjC330cW^PQA~r zHprfkgf{`n?Z*j@~WoL^+*1LNcsIxcQ5g}@ckOg>z9+@<{bPA!8X{^*e8 zdkFA;;%9zlNdyBD%OCOksw|&BW9e{_XHrd)qnh=MnJAs6wa%;~Vl#;SUSr4jh+qF< zpW(;1;5e~XFBY%R)V(R}wp(zx;PN>iuYKivwe7*IzoK@Qr%RONde=;)7M79#$0y`Xp2qfwZMRUf()qZRS!)rkJuf_KZFGSV<9Bj+gTF>5>POiap7 zelkbd?AgRIdF8WC>~rx|(-RD!V9farYJv3C_uk(*$oeTFd9ZBi+tZAkO$yx8%p>n? z#~BnNB}R;Od=GVivs$cVt}cqW>Dn(WO+YYFFo$H)S;+0m+kbzT*W;=U%|pG;(KrRy zzB(q>gS|_zBFCpufW>9a5?KX-*3#hTHRlU>$B z{Ixds0-VR}f70SfaL)j#jpyBmH!b8(?fA$By3}HYvpIg_lPJcuNTp^X(Apby5P}V^ z-zF8G9_UcoSX5guH_7gMKQmZ2TYQ^_TE{4glor-$nVrl5!wJh@~SMvph z#Tr*DE*G5!{jA-Wcsc`A7$=l(G5c)o7QY-0Ay8}kC_4ND!tXCn%a0i=*Pr}+6p{Fs za?-05ekD~*Vl69f^`{r#xX0==+8s!u=^=@BvtVddGCm}(umyiha5ddG{b>7&|A&}o zL-n;(P$;T2739V<4>I7%#-Y3k}p=b!-ak&v~qLRqfZH&Jg+cI6iyIn5B2&W%*K zP=vU`RzcTsRQT=b&9_G#|MnVH$&59DBR#GrbkbUz$&p`v3SXXzAS>fnlShGQ;G}wK zD5dPG&Kf&MLnrxYUz2$QZqhVR&_+l^aTi}0CASTYSd*ay2nSyH9xX`x!WW~p9U*W_ z>gG^0hz)u4!Er=kI_Gl3fF8A{y@k5&Mh5a1Djn1P6jaQ-t*MXJ1dr^;A1?%Cb>GGV z9|S^O+<;EwmR0%tzet{Nnby3l3ndfY5-kwM*FE=KBq0=kBjR~FKG{YUq!rOTQ({}^ zqg!I43TpRz8S|;aE>fCXo8Oz|ZK~YIQ8nLh11sK0j+Y5tyx{ks={{?%)o~jgq{V71 z-+Ci5|32jU)bUfmO$W8yUjh({@NIW%r{~hNHR!S3cigdOAlJ{|jVjKx`ickYzO|-tL3vW~BA3Ru zi4rh^ZLvYC_j|;%=9>q#L+ZsAD?4LWJ9JKD5+Fi|X$&quGgiU`GRLdoNOn&gqD#x} zivj(66hYLeX2fzBE2doU;~w@#+{OSZ+re)m?Iy+ctenrM{Bo5r90~pOYI7QijU$2J zBjASB1LP;j4*9;?I}J;b)B2F>_! z1xgg^36R3T5IrDLgA7z#-CjleR;>mEVOh8?50qb<=A8-Jq$UbvDHEEzz2rui>4jN` z-6wU~A9zaSLnNn4G#8~)61O?$j1xN@?8v1g@+11c`Z;I?tDV(%Sg#M{|IW$Q7<^4*d+7V zvmb4e^EGMdRIzjBgIRYKr_HrBG0=z39&_^Sy`0kQdi%=X4RnOQ68uV)uS8Swtn6u= z`Wh|Dse!N?N$qAs>Ad@%%-W2Da}0|p_vbh2_=v7f25RoUr-LE8Z-M|h#$aR|(4T~D=W&OPcE7YJrk^4Ye^PV0W`(jU# z(1Hw)Q9pGUqD%fzdG_0Kt&eX)#C0&C3HQmHXErxs)cqE)!JdEoS|PuDWw>Ms7Q zUG^r{%Y)wn^{8&v9oPef4GVdAe$TcXTFgUwXm(9g)RywS%a3%be5Rj=S-K=VDPdw2 z@_Z_!=kpJs+Um7#^Y3;|G+1192+e)jHy8LBpXH!woz}hNGUL!Yz{>jz3;p3z?OGnG zG1w%AQv!2t)W(vS%d+|wu4ZEdv6k_St^i*!8C4nVi%)J!xdNvo7=qf zS(>DTUL~kk6B_p9!wH?K7kOUSb&33FLW2ntB)W&(dL{$cXQ`|rJ9sueSVOWG$7b+^ zpu3@o9(wQ{a+IwEUpZ#f5L%)Ql&D{<4Z@cFeHlo6`=)8q@c_IsN2|(@+F*^W09+ft zq>h{H?@HEN8e}O=0h5atC155%xWV7P(}~$YBuE{H(D9aMxySxv#|N$f_&GR6VqJuM zEekT4Rj=QpI*~d*S-vy&_0wrJWxwVFvE25$ZwkN7`Po|IcP%gR`<(?hf_eKBCVGkd z5EdG@SWQ?yfmY5=*HeYRU)`xHg2`Hc|{t{Hpy1)L5;=(w$dzc-!yE>3$vbkmZBb628}Z!J}}pzD-9C% zwfx3(7?0ZbXiCsf4ipLqvlXg%_@9e?b>UXKRJn^E!*6BqUi~J95W-6w<~m7Mep_P#8PvE1Mal<1rTm48nU4K; z0QuFaA?tG1cV*rQ@~Re~(1RLHE7U)aVWHQGI*l|*a&VvA{J|}h)JjfaMe;gneY|vEJc04LXQ?Li`Gc3Zb zpQQn2xjRl+gd7%NhFFw|K@As9hOuR*V7|7=#q$%_(F^L;9I zMtBh$vXW_eWiKwA~CgVqQ|MhQqJ!8OK|m@nlyZ6eMm;$ono62 z`no*x{CG_4C_7L= znoER72;HPPM6^UP0c35-ThptAr2~Q=LU(=n;j|0~ck;gyEA);Q^dOi>DphoVG9Mps^b})da4wn8(0Y<)oc}XYd=w`$l#%mMrbrxHj0VUc63y zMBwPLRS(0A3dRTgo!?FYgQV8=+RUS?`n*EkkwoAozhi#umIWDE|Hw*Pmjgu3G(^G= zxS6&g|8O()g1xe152tMpJd#-$_=dtVyE|_7BMlj(XALi|mz>lQvka;QNB#DU+{reV zgxhWus34U(rQu(QbfH1=&G>pa#9XPjE^R1K7&q8WYfK&U#x-w$_hVdwSiBAB@|_CX-Bq2#pQn_i1=}{B&@&HoNBsEMArww_>$b~R_Va8|ZFBs4m60b-Wx2Lbr2P}c4aHFnI>$Em)imG{ z6kDHJ)L$6k1XsQd<|pwY-{r~e9HN6_E1HeDxCK+hwe^w+Vi8pmhom0FL8w174rm(= z^cgP+@d89Cv9pzO(HEt|s%NDI#u}X9oON3Gl>P5~2ONe-vla8d=3)M0uR#7i(rm>6 zEykpYh&6(d_eTDu_0r+9$6TyY;Ml{>AdjSB^_*R&EeVi@2SOH~s}yO*_cFP?IdS@t=SAt+arUq5M4*NUx~&o zGq0rj&UVsSYDGp~7wD{ZZuQ%p-H(|6(YeykeIWK9t_vHqiX4KVOvP*$c|l7kZI(Xy zGQ?6QWL3X77_Wpl*n~oMGklvg*>RZ1Y*n$^Jr$Xu1DpmPTJi>Ip-6MRMsWP#4M>Q4 zr~HIU@+o2XGKMO;NM7OX=j+76#tC*Y9k|xY+Ono6Lr1)BD<_N7Z@lDg1NGbg<>CdW z#dF+eKHyv9mIbz++%L~f{(ixJ`E>W4QDl`ro6Gur)O*MXvk=uL3^5FL55c2nOcbiI z)_QIDte4z!lQ1+dninuN%wON}Ss637q(rojt3RQ7{!GdD+b)}~8@M^CAA}Ic(XGD@ zvkWscCLmXu9+ZO1jEBB+L}tqW`j7TsJ1al(Pyc&o{WOQt`9KJmHY}k**}w5g;FFTi zD!hL%P(CI05Lj;#?tXNx;OC(V&+m8qLYimkpiElQgo$=g6sO1@WN%IErVT5@F6RrG z(%I6$4qCH48p;k{)MY0yJE)dRXp!4J`^%Q{9541wp#_*n-uU`r4^;V(=0XYs?7wyJ z|I^}uhyzKgYN6}JO_F*;`_taf%zIbw83}7chcV%7u<-DDEF|g~Q?=8NdYvqpchB3{ z|JDLb5gDopVh$KOb;M2fny8a%KysJSSM+#erem$J%IOu^=N?$5B?$7oC3{A%L@d-m z?$k*=ODY;GB?DVIw#Ot~j}#6_F!r7e1_^(+-RpliAc2_wUC{sGfJ6Y?Mxm6Bltw|d zpiRfw6Lm1WoJ6;uK&ywe=W~RL<92`+d_{vZw-|jfn55lWU-g47*ozcC2C;pO&+*#$ zb@WY_J)8|81FA-Z5Z#TCB3!Jw3J{HsY4C^VdoP9WgH3tvpPMr7{a_pvMw2FY?e#y@3p?-ucjLMCG7^nR;z4}sliZQJeTz!NlNh$HGn(I0VPvr-1`yV8J!3Z3Dg;~ zCb>V3ztLkO62fz)%T#ISaCw%IEpL@QTCF??+@4+zQwbiJzD$vKZ8TX&C}CWb;PDYmn`5# z{K)n&aD(x>eeWxC2K?j6zDqy3KrWC~N!4CmrOa*&araCTPTex~StKen&8yjY6H9^G zlhxE%C-C2&jJpWBOpwI0=v#zVvidudzSCOyW5&7I^I=a+;(o^QMPc>Z(s4jfk|laM zzBw1U_%lPb;UVW9P`?Ls8ezA>+P1|Q^@`ax6N!ZF6X+v4iTps_g%_oBo!bi?U4}fb zvb*#IAS2%7K4duK(CSu zG=J5(eSi`3YNjrIq5FfnR_-8t`1xG*K(*b}yTE%?W|z{7fIFsL@zP`Ax=^>(j>^-1 zgLEpWxPEVFbGp{YF7H@aw7_s#O}k2lrNQa2@Ylr}m!4)%EK9!j)ZUx!NKo?!L{!$z zZ}l<6Z$2t4t$#0|KU_V;MM6BcW}7L@Z3Ug4W+-GXI z9vgm4^S?h{J-_IH) z*U;k=Lc}CJ^lYM!l>C!an@f(y`;HN&_>V)4Q=A>8aI>6MO=3t#+D`9P<(I_2ct3S9 z4|T@#A2lb&X}%P=?Y9s_a!2~c>+|+)3eX(IB4jZ~^)h_rmIu=EY9G5Gof2{H_J3z~ z(y(VoM&9p9XHLAjJT?UZCbyu*X77x;`RLSARuNO=Si>ycD!*z&gIe@k@o02Orz zP*jRnb$xb)7W<;4=}2?cGM@Pu4aTz2Z_c)acuFX63MAf9T0`q+eB zD>>e$%HIifF$Z)O&iW>+o#of|2ZZSgIE|V}7uP)^Z#{rg`xF1cT)ma(!wUw6nQ!+d z?%A26A5eh-CW_wx8Zud}8!10G$?F);tORh5CKcK!}YUT0ZxDj#D!pB@Nnz^(0ulHw6g5 z>oZe=JA6AzBIssdeJ6_{Pg@i(012M(txPtkvQb^ zAkR!T^h-wV_BTbKm0^(1QO}47yho)hPh>fJ>bi$$ z=BOy9)Y|0$Q2q#lQQ4bc9JI#x%vSFAq_Hv2v|QeM^`j}tqA!`_(gb3XI{WhSj!(k^ zugyd@x9DyM!GUL51E2koN(lbX;3)VHkNjt&7J%Q}s&(#aui2Sk68(mR%Q#z7Ixs|V zVWLdkUMcadmctB!q&GH72oTTL_0?CS8Ldy5X@tcPlLb04xvJ?hGoDS-F=(PP!X zC}$w?>XrA1*Z5&G?wyvao{kjCNQDqEBAoNoHG>9>SG#+~M<&@?-L3pIYgEW=#w&yX z*zcYDt3mN&$}~X_*d1(Yvz(KjXd&Lit*Q4s7JUl96T|D%d`4k#HDy`R!e3&b0Tg5a zQz|ym{DFekU?e)+$6iD=Nzf1ANNIoIQi{mfSNV+MLjb}mJ2#wyAoRm%p1RhY-+P%Z z$LCKvywaKVkSs_5|MsN`Cl?;@Jkn<6i7 zjb6U~nJLZp^0(D``f2(^$(#g$D@ub7Th>{4^3b99byc8RECjDVnLlo#)Rb$GtrqDj z8m15G-LJL3z6GQ{#KtY&Nt)RTijp2qTD=pmkV4X62@mh9LDYZnqj3q4tsWI~A(T#q zbaS0(H*_qm!j%*6!F7yUK0h<#7ugLi{G%du74}b>+a7Nf{zWr%eAvf&)gfrE#^Cq> z_jH~SS|yuA&@k!6hwpJRsCW!DE1{6-V9}gjzK_8?xeqC+perVPL$LMUqG z_5>aM{7L)$qs60{dgq`BN+G3$GLxK1(;`lqeKwsECYo*v;Cw025|{4P^_H8ivCk{h zD|0Lkpf?e_JfX+qGpw~wK*xeZDO9t-;|By(4>_h5XP4PrXm#4}Mk(`Y@B>cNvY zi@7wYZma8~_!$kW_fhJE_3=>&U4-Z1y87Ja^soDnIlE~o_P3bC9CkQh9QxqMXVJz2 z>1EEUy&|2CVh>gDPYeS>xoU;32x=DVPj#+1wU}ISdDZI^TD|ly%J!T;iUrUF zr2!8$56IrMQd~D>NmVm=l9UL!**E=o2!&CTs$rBHQl*JGxKIdOWuFvNY3dtbj zqyfb#tA>W@n;I!W0jrVNWIh{()BWYzi36!}#2&l0XFYkEpbLz6AWc<=RWH}xZ8P`x z*Nj+gXVx@w`4sO)7hciJ1Kuj@eG5E3GTs-FvDT~sdeIDuD;KLV=_p0*hMV~&o8Rf; z_0jkCd0%y@JfRU!x!7P*K0+m8F$!)u0o~QPg3w>-rKZ<0xYUmo0757$#ll8p3yyfY z#9^dx`|iCsTm7n+b4^i?UAL4nN{kfsxQy=$wZE(r(-;)OFmxq@^j zN>pJG#_akMKms8T0k6n_zHls<(hZ%^`3})1P!-WUr__ByKrh&3LkAt}IIAA0!>hc) zaC5-G@#wG1mEkxq{Iw5vG>p@F=rzN?3xJN;_*$+`rrN6NFHE|Q|h;RuNj9AMI zRb?dYI3y--sPPxhEj(Q;Ww^s;^r3A_?$!G{qwkKzBYX4Ik`-KRClNnRF%?iTv10Fu z837vgy~uqZuV!iE$1YWGdc_fhCgw_U2y+^)%%u{8(LmLdV60iL)1N+gkHBFCCXw{m zkq)UqrMs>D+^-EKcs(Hh-B!ZD8zk~MdSUKD^0B?c!;(`QM%4_V(5^5qbyUm`y^|N) zc^M*(JL1%WBa*T)4hIsaPUbmscYWWwVa4(?M~p7AC9LN3a2fsrFA@pblmvrZ(t~No z5eD!u4>wBHbpDwi2^jcOQ9|;ZA*ifR5U4;(^q$kSUWyX!^SV*BXSG7w4(Mc-VR8lN zrQN}ied=&-cWt5+MTchoHA;DH<6w0>Cb`Cn5l`laAbCKJLY!XVD3G$tz>5u<0|CVM zE6mQI)uNgadVn*3;LN7SP7=a>Hsh$B`{gL`1F@u;oS8!eD}8?gRq}k3qG3L1`xNiWX-P+bm2};0 z9d8kshFga|uY5PeZ$bInE2V=o`UZL@hB+SWQ2ru(8c(Y*QKx*uoLc#h-PN(-N;8Z4 zPv4SB(I^QI%z!dsTITw_!>T&YCEqGkw8bofJaxInkN=z>wm^u?wEzbl_uEYOLHwBL1s(!!NzY-DSUEu$SuhHV#~O3NZ8&jq3YR>bgwNT z8)z+Vj$(`f=A3}tH|U5$^_%??fZI!|SgsP=bAHUz!aPgC>69UEYJw-I1kH!!$CpeG zeLtj-;eWmMJq_IN>N`7>;n}J&$v_|+2n=evnwLB(Q(NI$bRn6!} zeIbPU?|jf;x?R}&*{Z#v^k4?&fC`&Uk`3b29@|V#Zg-3*(>iM}J=!wLY9Ra7^n&6D z$Ee&qtWpa0gtrrYbjtAvm#P)T5C4}v8S#JhG{FCN6bOQW6@Uj|<2()?rir>m02s4b zT^L|6YcYl8B?C7I$l}qjH41mRdcsm3hHU+4rU!`(w|wg1i^rlOQ%pOujSgL zYkMMx0GuCV(t8t=l;YSWX?*Jx=;#E~zN?F0%am!CD9sfclH^JVRoQ>oaFoG=uvSwH z);pa#ftyc0IwtW0qxL}G30s6wi$jD#wU5?FX!*;Pp&T}!t4^g?zNuig*2@y3U6vfR zGz0&4tVaVHs+2QTj-yQL-`~EKz{J7Hy!Ae41Q^POwA95nzuhf;-|q7E0K|+5YOTbn z!#qmJ%de4)6f=4*CMYN?d%)H0@CBOOy5m!yhnFQc`nuBMgVzOcCa78KR(s;CI{`Z7 z*){vmrJLdw^#hbE0!T=HDonzW=v4wforR8v@JU~;@LhN-b(y%ck!#VZR-^b zY5BQ}OO0K5M+xLstCPqF+MCtn2Q%~ZZGw^)C$UFURbViOxK^o=5IrLlycfk&zRz%b zU0^oPzAsAhY?++$hoIRzTPve_r$-|o@S66!&$dKoGu7j{5*!8lM+>roa_&FQ(?{wK zJLh5;)Hd8}wBI}>reuFy_e~(r1CtdReD$Gu|F1H{+QiOdxY_nQx@LuKrydyV`_hZ zlA6bU;tZEYjQ!lzYC7=jV2y={Z_A0_uk8s%YW?nuY1e38vv>+nU!N#8kkrami`xjV z!~hWadx)-Z3Zx&#e>G0eL~)wGw3Z0M)v^QTcZ~(_k#Mr+J#{TN6i{yD(u4PZ&bZnE`4- zzVq&3iL<>lP;9?92lNM;*6Z{t)ALt@)Q9XQZ|Yx+T^vo@caSkPH@IbOxGh$rEMJ`` z52cjdYkum-kcw4Sv2Z&07n)sxu>2^(U0&gFxF*Xj&k@sd7Rhr z3B$Qu4(`7~BA+byh_yyI@mBY=KK!Kw8s-(|jb7w0zhHa?ML(xW<9h4aKC&wNIk8g? zpHev%y&7!M>kZz$k<@7pM|3YuB1kHIn-EFf^`)K@lH$9rBNoyspAQaWs$_{ z@doeM(pTnu`_^Uafz*1!THAyVZe3wy)>8`sRp*nYA-tlX?nU!8=_fWxJgcS6{Gu*= z2VR+{9s`(&rsOK+j^$%Dhg#Z&FBDJvuf}aBQfnnJ-aOo@yL4Un=u#VyV7=b?V3&i& zLq%$=zA$h)!I6U3O(;cT-ep~#_B+pXs{RjX&N zdv3%tXWj0*o0b#l`hl#=pBKWLFH3w&X7Qcx# zd){Bhsz;8w#=Ep7eScF#c`MO@4&umNtSyeNA-SWTb&)+b?_mv{zBhnyW>KMhH_tyZ z%53OZ4>2EDKfRw(=h*ma3On}c`%L+m8e@x;R##chUf)D!Xl(T^D^#0XaVJ~nN^wO{ zS5W8?`^ax)48lhrXS)9NyXPDKM33G_VPS!uTu`!KofSz3Pm?8?_fC`m4ID4V_L6z; zS@non!SjUDj#r_Az6{P0Mk6RN(}M`A!<>s;aW2Xq1FedKep^Ogd2G+LJvY8i@VT75 zo|>&veD1j(K3U+sScn|f!>U>L&_`_HxzJUwMpk~%n~)7LYRV0sbIHP>MH`LJ$Boi^1aGt`COYY|5{#)C@O2|NqFQa z_F;9CjOTuB!$QI;du*R(rKii;@Al&yr@(}7-vkQ{D&tG?xzC9>G!t{*2qZcE{<>@% zvNYi5QTg_3lC*i!PMZ$Hr3vX%XEOt_lfRnx_MR4MHUms`h0f9Zgqe}wXEKNzsJ>)G zoFrn};EG>1#bW**l*c0G05?@47SlJ6qXmBjB!FQ~Ij>hs;m^Axlyz{p*vr4yzM|I= z5wYlYeN|w;ZPJ1ntN5#16DSQ!;6GjUXqwI=v_%UX-L%?skEdaTcn~V#VVSgq_Vd2P zz4szo{WLZ#&I{b{67s-hubhAhIxFJA5EIx*#dUs61Gf|PQZ&cmLKZ(P(-vuK@w_hk zYh~P1izGa9)w$M&YD%hZojcEok?n6)m@m%Gy8jB_^SPL99^3d#T;($DdU#o?@98-7 zlssJqi)%J$``n*9Yjv%tEPevx$3%EW5n3ZQZg2d?$8TBkY;GWSBBix zyH}J5XU18JCCXbmv|HUZ_T}LDYXl}D`*R(r)i5NMf^A*e0BVM(d zS4F3=Y!lT$K1XK*4I$H)4M8z^ogIezScEU&M#(frMnr%Ayu{jr$PpCTt6Nm)_myFW z_Voe8oCXYWXv>W+zD6fqi5_xohUjf34Y`>>oa`=s(k<}Yx;1DF8E zmiF_b*24+I)!Y<2V9IyJ*BfT&Zqr0~*E@kMAc-e_?eaB2;GTJJvT7k^e2M-8o)zx| zL%aF_eb&oedH3`Ssf;4_cSY~|JWkR-VhcI_{vwo-oKd|oRXM!-i#b^KTc?Tpg-X&^ zw*M$bOGG%LKESa_J6qQN=A6EMa^bx_*P0QrCUNF0x}`aL z4`orarLm6xzwhrSbF}vr{WOJATFDX&X`{7WLh{iB96Kyh1$F2psmeC=Eej;(h1b#q zs;=W(BN(Dke75@M1@ZDW#Z%qFm4?w`|S!$M`^6VK`)TAlAj2^fESJ z8jtR}b(gzK=cbIF&EPji3)S2^bF@SLz5>t@V5Z~TloG6%??3U2?jknNAHyGf>Q4kA zx5$^^epPwmo+rhCenn>Jo>WZa97e5qnaQeo;fx93_?&4C7s?LKoX6)5C3PxOq2gFw z!b))ws2N?yK3`m0CGZ>jMiA0x|}C z`c-vvl^_Y1c!356x@*ANxS)M#*&0u_S|r@*A4$Dic$LCwuR_w1#0!mmx}#T==;+N+ zU%ZHMP?{mC!lJmsTBg$ZB68=`d?B=nhv2klm80vb>p-AVK8QHq3M*?cUsX{v;x5V} z!bk1l{lCNRFLVY)0FAx(FVKcRP{RIq+a7s9rTvZ}0|u(zfjx=Fhg1Zi6RKB}`q9aK zCd_a+YH-9oA{D=U>PIKN)`K1A5-qdUhz;nSqVIQ5I)w|E)ncz6k}-FMesggOuK$$H zrq;x1E*Dw1JYrfDb8-;2Eu2S0ibd%EMgCl#aQ{Z}s;~*9$m^6bIshOpn; z_tDjFP`dwSRgB;(S4O!g0a%hRnK|)r4C1Xc5Pcze&>w30mP8Oqfp#wFj}5}IicZ@# z^MSALt)7iGzQJ{gWm87Ewf9cr-9GfdA;Mv|nu^z)|2ulp>7IMY8AA21Cee}^MW1<< zFQ>C5rMqoVs2~0&je6f7Arm>0>ez1FMhR9#6A2(zf_DEAGI28by}*Mk$i%{TY&83H z>QH3MMwjU8-u-R`J7x{l=%o}x1VtpGb<>zD$cB=bGgL-55D(I#!EKI#r{-?=t6i(ZlWeh!SR95pY+~Vy2EKIZ^HIdH$HM1CKbpFZHbw&C5 z0IFikE-)%{iuGo2aGdrQ5gpAKi?Vs5yZ?JM*p!7U2Ak14yU3~TeR8?=lR?ITEWKvR z5d8FogZujpAp!iOJV|U@aj1E5sNxTG;i#`3PTEDd$%cH_nMC-1Ns}>L02b8$aA|@u zV_(|j+DUVoD+x}gHR_UyFW6_89}klxYsZK5Cr;u@-g~v{FFsJo*Ap(t_Z}DhpfF){ zJ<(iitN)fIKBVbG>r^~*@I^Nx!{b{AJg*&MIJr=neuN+E!B4t%IhrDj`<6Qebd&k4 zA--2qRnPXjg41sQQMSI7umRsz^!M%iOLtLdBQ=p>4ig!``dd-$P>#+}CZQ3>B#Zep z?r$vszeYzm9o{ga(U^?DtRuMo+tbhU>rIPwx9P3fv*DV=&0_Zz2ng*F0xK9wXs}|X zF-9J-W=DQM#GU=s`(BGpvem~6*Ux=_+qN!tl%nb(z9c?agbeIza%9OF`V*UwtULb? zm4zZwpeFdQ4_^d{l>Wp29af_iLWNbJ73#zf`dRt4iM>q=nuPV*D_ztxvc}19G$hM* zw*-|4MmaYBCgQy(klZ1V`b&_~4x#62!_-qxoiCZhwdAsQC!OU)^io%%+A#^SboJU4u(%92 zGjpFaV$>dtpme%P9~3vMJv(Ew57-v0e*9V31^O)Xa>CN`B@fKEr$vhqfwE}!M)RM8 z=o!Gnpndq4z2VXu3X4jmE~zXb|y1V3EaWZd1oRvx^Z4$cBCbuY_h}sSX)>_j+!@5nwiyBU#Z7-|#t?G2B9&8(>i642S z1@=cC?AmdC96Eo#r_~f0{S%Y0>`~$x7O`C;00Klmu$Nvw{jsEPJs*G>8+zjS8G5sk z)7}SAZ!~o@1>0$*H65B4qVWwrdbC8Hnxy@oH9%b>ywo_FJ_ z@vlnJ%5V<~W7=)miJijmAR=(3kN4){m9fG*{69`FlGdsx@N<7IfVhe$nOk`_3*!R) zf-gI_@6Es03W@Mkb;EK79A*WiyXC7Q#WJu*{MYR}7}ZY!Ggip}PHH)iiOD8j#efk- zk}K9Z_0y*SS4jze((n>ZQdrNA?)gFCFaIx%;oUEwAmcT>4A9{SiRQN-3-n@%z~(O6 zWZfohwQ@`i6-^NUkH8?tip1~!t>9`S0Pzs>f5$@@F*+CYbw?0R%yIA?6ze8?Zz862 ziDz7Rr8#=|vP?E}&iN8iya&ZGY<2f#^iuLYSXdVLwlVQ&w|>pr_cErnqU1jAEHK{H zfuE3jDcW*Xo)j8)q`A|Ey?jzdz|n-by#3Gf7ZNI7a83Oz5Sdw|L1rSV*%57UG+`3bL!00p=0t)bvx;x;jUswcNA|Cp$`0`qg`=Tv0Le{Tj=%DR*)6i% zp;|Vv%>0hzNPCfvB@)PQIk1whDkMtz81hPqzP3L!hH{l~e`~TgV zrchxo-uQQYNL0ZeUFuyVgY(VaI&+_;u7NRHNo$fpTm_8t9Oe8*IGD;HG>eL{GV^Em zpJX@4eZ{G@=s+i&V$0u*_i|iPXdI}Qa4G!>KdHnZ)S6f*AVZI}x^_1MIO+f1rH3Uz zu#j)zFCkMcJ~Gw5dpvN%TX*2bkTHShFJP(1o>?4ZFUzkic!tJ z%z>`67^{$AH!NUlk!XcHMnL0`nin|iu3SwJ>KD}vJVJ(#%$BT<9FrYS2TDJb^I~y9 zy=NK@hCX{$cymtp zwBimZVc3x83WUlJ&+otCv)c!utqJBVh3lkN6rm;^XfXmcADaqPLMca}_$>lFVfqs#lYoe!wPyVQ>a{ zW@a8193`WarI&bt|D1m;QRxk7`2*W`9YMBI-sj0}M0k)laByn*F0E6Rj~SbV=Os4^ zT=%E@BnX@o0l5uIQqn)UQ&Sjxfn#ri9*QH^6!`^e{&xJM#0{0DMW8U|qsUh8U?wOb zVA3cHm|-b9NBdOsFB-gXrH7$&>qmy+Cyw`7DU6FJ*NOhR!19Y(~(J0~@Ve zijIYul4BDqadU*^1!&6vL4|d zy$Q)3i@lr`)-2JKv(aF;gu??SJJ0K$GW`8bfQu%uxxLGydxZCs1_l7HO2W^dYmHVt zOt{tn-_muK0CmFOw9SP3U`+{2B{XcLzT%WMbfB%+*PFAdG@;t;c*iveCs2QmVmcEMQGAr0+;4^+tGtp0Q@*iTDwLpVYQmd@4j%Pn zh|`P*7qDIboF%A@sj-_@i`y!QUvrpwJ*ryu?2wiG>gw*n0{nA_hi7AreU561fYu>E z7R-2Oxkz1Rc*UoCE;trW=5v=A)hlt*+oy~0op)QuKAJRsy*9?u<2-46Fcth^bt%OT z@vHm8C;+0Z`o))QFdlCov+EQYJVO1Pr7j{16hha7Rt>M$6iPC@-+_tMPM@D&KD4GY z_H93W&^;Mepp5L>0$ND`l~-?k$$|Sif5ql!i~fACNzT`sE|Vjf@9!ctJO}$D=F1|? zSAEUrOAiZ;3g~j0H+a6c_y|7&k{P7FlI&L?g&lmG*@u8<78KtL2AXj;JX=VB5;AYS ztTE!v_2oUAZ&fUtbH1PKmiI4qHW_-N=!Mg+j=|jIQT4F~Y{tbhS)e5=!657yT0Qx6U78&>6#FZxjn^$**w)chob*vvNm-hOB!doaLZ-rY&& zMGy;Or+WUesow&648zpp%-xC)%j8W;B$shtg)w+_;jgf<2ze#-k`rA`8t`Smdle9r zztG^QJK(Rk;}Q-yb}|o5z_y23rn(y0foWLqY3#lN1;-+-gBEZyx)=>wz3B-V;UizQ zx7Y#!t6nKPAY^{Rj0KfN%~RG)u2!<6#RO9|M*wXUePkP2_j9qLmy;lB_#!i&&-Zg% z@JtLKu=OZk7@cAcl|S$Py?6=c_^p)Z8H|oukJ7u&j`2G*KjuD|_iA5FPp-BaUE(0| z@g&=>drxgW9*q=eoxf`aa>lVtW5b3bi3dHAVxlERX9Q^?9?@XnnlfPHWZg}Elm+yY z&^Yo(=3>0LR}$W>Z%i7-1X>4XJcqVSeJ=-{w?+yGsy)^)dbB?7pnW(r+`z@VwGLz^ z;ky#OL8}?QSDEF29IUv^Y2F)~YpPq8>xo056>c+b^}Cw}cAs42Hxapr1MQ6KbO~TM z5=<={#b=gbXWmT_$SUg&1N^*+QRUkvkv$oEapTKe&bca8uXm*YXFDm5wJ9B~hhANT z!(8OBdr=3ixP;u+1}SXiRS5nrh^^g8#jdS?WuR3$fLP~e+| zVS2{So~Fo0Cl!aDCNJvdqCI+(ZI0s!)bA54nXdvtDYhTuak{K!s)9KTBUydNGEQMN zw1GUJ?W-(Csf?qPq4szPwLXnKbC(C}+FFy2=k-tGr=f1?@bF!$`8b%Eed0~q`4gi8 zEhAdb$4Qf%#P8KC>Yt?^pyU{gvw{(?N{?Tke1xi}@N>+#u9sBVObsG?H{Yu~2&ja- z{q34J`OnO!1`o6wajTxrOFeeqp*41!aoJOrl>b1TvmhJVbKJ!78EZan@u-yZ3AETiKK5$0gGr)A{Xw5c2$ZG-)J# ztX-foYS|Z?@O#T?Tt`o%npMYY;Nq0dYM^QdYi-XhAqx!si>Y}zLte3tBVeSi!>Wr2 zP>vt+yM1?MDaAe)sGfU|DX!75h~cSI6{E3$0#?}0-o&Nn@)4f@q?sIOdSy+F_M=KyXYKOdf5}* zGJU4wYNu-QD)(8+o<#1fFQKj1SB9>u<0Wj>w$p*2FC?F*o{?M4mVlIA`Q5VOYO7ABD|yndgVY)h?raWW!;}#?dmhZ{>19*JCB2zd*TX@(7D*V#XPS? z*S_Vjg=g&G%)|)`^rxNDoA)J)Zcsk4s%T0TwdAaJKf#*{%E)jj(uEeuQ)eYPFMZj+ z8eh)%>N@)&0gvX51UH~s&cqcB4WyYA@t2y-d-NNA{B%r4Dt>0$lemjpe|=G0p}*jP zVanm<{-c+xF^pBWSfcww20Y`<)oE&7`YUGi*h;)M*PHKUObz+Hm=WhSbW~;ICq*h) ztM~_Tsyd>*?zqeHYx}r!G>*x&>Ok8%N)*a-xX*Nx@CaCj8q`?E36%9> zKdx)UjPS_lrMsUpr!#0|74#5l`7J0C+M5-!b}Nusw&l{w>UzX6@hi`Q&U)?jUQ3XK z;wFuF-@U(&em^y7Bco9klV(L%Gw;&GCVa{b06^p2y_ACsr}%`;X*cM2a`j4xJWb}C zL9t)bvsrF5o`;K{TU^{;e3hFEqmVZG>aZB6r__nU6?Bg#^GB!zACxsEbai!g6v-(q4V5K5j4s`v{-R| zebr5)o$D=o9_>3(RWMT8#}1m?d4b0>T$;~EP8_uxv=xOD9@$Q6rg>4ou+dFCUDuVU zrfXw*C|rz#R?C?UM}gA)_qmv;muC0TE1gefW^^USwGo&ktTO7=*79?zNm7$0UK|{$ zyrKHIJ8jD}k6)5Di*0b6zB!I~1^RycNWQS!J=YC*;Uk;jo!Z%KPnTv_b0f*mlY<`@HA;&e{8mD1KnE?z!d~bBzCWU8R^<59YeA zfDDV>9NWv2NOeDAdef*~PuuIi}ytA`<)v#>6bHdpxE?Te?)rnGCnCTyKkp zw474mkg$ioTFl6S@u$gHzS1Z8Uaay3|F(r_Gsg4OETOrl$o8y!atCLecI!i53JGG` z)Y2-i1V&W5gGNUrVZJ$G>kfo?^a;R@wX##)tKuo6RaS zCX7!cDE3C^!DWj~(gU%#=lhM}r97AOGVGjIZT>8CQTx@#S5y}3gWfZaBC#c96*b$n z82d2(BZkxc^CWlWnnvX;)3Mcfli3oY#_Ms0{Ds`o0154)rYqCwCX*-q$?Q7n8Nm8T zK;7!l33yp%Qy14ktIQAcL*ujpmpeYrRP7#3F(9c-SOa@SLgQcUHu{0o#x-+OM2#$7{pMjz&>L7qy;6_m6Ndr;LwolW~}Pm`~T6+|TfDoP%c?6LDFZ zWX9*TifBSWSZ{<|!@+to_0$<>R}!i<8Xl1>oeys4KP9C!EHP*SdDQ);g~^8Lpsa(( zA`*AE3X))He@R5FCt{(flfR5wfAMtf+v%N%l+&FLj7(=##1U%58yd+9o~2;)5i!Z} z-i_?K_DbgWX7mWrj$hW4n$=k|XX=$P8*{~7(~td96LPNJH$WTTL_hsD?Vq;`ik;1G zezkuNG@AJj#g4&XLbUBl-`jGd!BQAsPIgllev7%fke+B->WmD7srt<@{`<@s%X(?; z1~$NqgLeTry+JMXL&uez$Y&M{okEf96hwL6QZNDRg-kdCD=aKZj)^0u9yw+|6AV4t-dkYPg z$nJNmDx(Ga%uEwC78;anbTL$O3dyRbpPcK^D?RI&Y1JE4SNa{%o6|wf6Ws&YIa-2` zbQw7&$Imvw^O#9C6#kZ8E`-aTjN$g%xu3!eN^&MN-6&-1WT1py2r6}bD7v8UI1<7> zJgr2%F|*(F?X948IyGIh=0Lf_E|*K%SeyKAOLHN={u<5JdF!LPvuU%B%QZGf>k1Y# zL+AWb>9ys?@-b5Jxo^K-Z?t$d=W49yVfo=bsDAYotdKFncqj6=U~!v&KfQ_nV}FJy1F^8Be+aU8Z%q zH_NU6{^r++)M4)ZMj3WZPu_=k5^~S`Czbmrp8|k`XZum!hoR-Dy`E1M%Q~e^P4s8OvXudj!qpxpQVsW#`xS$3Yg?T!vC6a> zzrtg+GZO5#)YLGVsbkc6&uV7P%B`=zKO_7|H^vEfyq?4OttnIdE5(Re@e7iHgG+~2 z4)t=&*JD-xSxpo|W~P8mZ2}_3owU10w|Pv>uEu7FuGMf! z^+E&`-V&!BlQNOb83%GRoXQL`&r#`V0Lln?TYI#Y(`;YxeIS`jws>zY&pJ?Eu~rYR zTk*nZm=u**H0(;l$fkf6i@DUshDqD&=JMlOMV>89b6m6U490C)WZn6mpian@`ZQxH zhxPjHI9{>B2zkh=u9tj)ESKWVYNXD4u3IEr>{gE!3^F&xs2aQO z#Z5f}OTPn(`AvScN8!54B3C1JAd*sF8)~Nvt1<(ula-ZbVRnOxn=(?|6P}5Yln4ppW=5@Eg(!rT^Z^4&m;sbChPm(Q`%obyJ zX!I^RJgngm*VB1sa;gImio7qJhhR)P#*6QfhS8wZCgh=bBvQ4$v3Ua=$>DEWp#`+K ztmXpvH+R$9RsnC~`CYST+q^p@CS$MAJKdzK7d+|%h+_z6u?k!)il>dH&ldnU(zTM+ zgbIO!VxTKGymB7<-XTb=ScB^ght~T{yJjoXsWe00rj<$mmYzEB$v+K`mbq@pPST@_zjK?bW$!j5`0J54<#7C}o$Hv&E@& zm&0zZXf>U@+|kPKFokC0E7>*teD6*gGi5q#glu(naFwXvnqL(c6%A`YJA~(RJ*obFjzj=z5WIJE~(3M zj^>hFvs53;lCyL0QS||IrZTAR)BamYkE{5t@xb)31y7k2SIfChNl+|oB$n#C(Vh*Q z(fG}vc-az-T0j50k#-rsW} z;m7<~3h(m*gs{l!Fk_{Bs6`Zop(YDicPsAFh6u4=a&M*j1FlAxd1%B&6&uE3@;!t` z7G)7x>7jdkGAk)fQxaW#CD7-eXK;Y7O$qg7zX9mDou2$US zbhPgdL1Snv1{DfKkgra@hOKy%{9JbU2xNYhwBMY%41=(T3ajUd>5l;SNoR*_)MD#R zO;%;DDmtO%YVp%yKzGT(jz*TN!c36!c&*y*=co1L3iEDaP`$}~l)2G1F3I9`m&14aokD6^Qyb?kcW`0HmFU)p!IGWn)f;moU`0w@5`^i9VKMa{;qG#Ziz7gk?F)&-HS z|Fl>$MPMS(AaIs4qS0k>)XJ-`&bVVxx9pqI&|MIU1Q4oICe(EGnm7bSptx-qJ~bp< zA|li7Q&Ol_d|{nY>pvY(aV64nf4J?|eKMoBTby#F(3=P7*kTnv6atl9m50iemR?$XPQAubB^%^>L|HKH@`67ooF|M{g?g zn;PC%^wsk&)R;8ksWq&!zM%EO8g11_E8TY3r<-F6>NN2J*7GrZ?k+$_Pj7F!@LoOE#+C7F zj_%WtJf$EJx0A>2SC`l<4mVC*pEej8S<;#-@btZoJ{+&H82l12Su)UusuVlCaA&mj zfsX>MsPwEL?4HA$j2RjedP(XsuNjI`fu)75=KCLZ=nze{Qj6a%Aa-Dg#Rz|J^Ns!9 zXavypVN}6njS13b!c8s`6^p4}q__E-%;w6SbftRwz++hQR@t|?;8fdH?-6TqEciT` zlZ>2LyO5|nfkOGEEYuSJ?D0jL>6isSa0nY=_BlDocdZLjXV3|hs%0s&^tr3VJ?rv z=YLXb!ksKWQ7koOU0^+UrKzR_&{*e~6p+*65yvHcChj?7QQ^|TWOCYh$%wo?k)vT% zKX(4z8jsg!=6Q4IzcV;S zlyu!T_{w+(J$HEx`rFH`Y=|;z$g(( z%&~DvX`zsG4F~bD0BolHtQiW9AGGA{+Jy9iIJcR`22@J;PbJduMUjd}kHp(}{#*&2 z8q5%>Y)ze)r(n~iVByF4n@d}nJ}wWNetK(XMjXg2fyr?7*Hyyaq=;}*63&vE>jH5IirdA`{T5;(5lAnyL6su7Wz9`nWObXIdcPcg4-|R$EX(@^N zU=mB>%9goJJhOEN#8#_?zN>JT zvrS2z&@1(E8%Z`x9ju~4Y~#5oY7LS6@2XqYA9>f8o`XY?N$u%@AnnHLTYB+<0F#`K zL76eC=sf43m?Lvb)kf%ep$@$>MMIo<9I%5J2Av_Hmgl$^#7f1Og21I36NS+8fMBdh zO=0C_wLJ6rhJT*IDvqR>H9C)Yit7L^?%n(|mIFgfC;r{*?nvjzW^1`_O0`C}_<)LO z`|Y7abP9+&lz7+QDYgLijm{sOfxO*x+a-3)ufiW(3laHx`2LLzG`nExJzt3hk!tv4%C z6P6}q9=Hy{Rfxk#%Y)e9yQnIJtrK!AQr$%sH*5aCFM3Z=>S{LM6*2M9mm@S`OZifKP4_>WIUV@F6 z9o*|$)-N0KwiY$R#nC&5BHH}33Y8vUc&7vn)!nK3SP!)`=B&Z+x7tT`y%{(Pp5Y+; z;Lxfm{+L?1JIKo8@j<td5rt}d#cw%f7QPdocZ_iVS>{TjJKhkCa7 zNU^~<%o3|G%>wf^Hs2b;*EAzRlT19TCEMOiDD5Ct!F3( zq&YR?sZK4>m(GS{&VOW?7*L8=yfF;D_NHXZi ziWRw7w8&18RuqM!C6~hu$L?$`Gl+Hzs{BEZ9CiI62IzQ0$BQ(H=!as9H7S+IG&zUv zHV01n+r`TgQKfBc>Ob!9yXHBS>a}_oU|tZEti-dMJ++ykEfSGPy<>ZrrENxZrM~QL zpEzo(Mkn)0+2;%!q#aR3duV&XO5~vI3PDO5>S!#~^WNw=>#7%5n%!dXf-xL89Bq;D zO`I!a4}Z0o?wMV{IrB3pH=nH$X9Ar#Iw6f}+a?){M4dJ?%Z0n!qn%o%*KQ#^^E)^r zl#E1P%HK7GK}R9GStccFJvD5}*AP7j7K`TQ8;N8gDhYp>8`!RYUPeUX&Hqx-lGhozw;tw8Nt zT?I}3Wp-j#7IqLZO8B~OYGB~+&f)H_6vB5l0zCZm=cCYc5Q~{irSx4u$McXA?76{J z77KLezB56kG`c3OlBp@Yx%&QR73?1Luem*fZCCrmkFjYmbUR^&3}BM?|Ek?2pI`q& zsk6a!Q_4oMTZ5)a9ei825Nda;Bw9431p38{w{v}c9ch%qD?)w8qrni!FXC(_idt&5 z$hbHB4PxW))mu#EpJ1UqL_^D@Lr8w0Hmj`f7G$(&lHx9T<3+rF&|@Oy%0STWLEGQq z9c0-ckH(}_W%N4EP z;_apJ=ulGQ_~@i)wsvFBb~T`!tOn`>hu93eKirse)5+W1m&)(?m{zsoXJ{|ID)6n5 zeDFy?#$y}4@kJs-^2IL7U)u(cE4 zwL@&z`rcBj+!5~<$8B$v{x-P3vfu7OIt1PjKhNQiFw!J2dxB2%_T1b95dvB4&dl>v zb5)xfDj>g|%gsNauG00@2_G9N78oHr9}bQ&^A9Ag&iJpl$)`IFW!Tb-c-(Qm=5hMD z*Y?h*K&r+9w>Polexa(b|JBk~@^qysV)JWm$Ki~QAYqTgRwZWV<5}Te_LO?1Z55XP&K4q85 zL^<0U8D1cy>V4Z_&gp)3iEX>z*Q#&b!qtmodETkSx97fkn?I+ZL{(PQxQ2V>v89O1 zYxJF7(q~_~&2_uio`B!Oo7{stzGm77yXmQib}Q|}@Pl$h(TqX+qTJo;*5%X5PdQwE z8{+;r#*rafQoHY}={%sM@EW(86yqO=BT|wyT3S!xKfjq;$;Y|7Zn4Q+SGK1zf{ywYRi1fmI2_FCyWFK$|IChr04Oc-8HsH4{u&OkSmw8gAEfPrut>N7 zgDs9MKj20!tiAf~Es;2$?$aSHm5;8f9o}(3u_*G?!JbSub zYEn6}#AoQoK2LtX2qO-)?Pos{&y6Gug*-j7poFjL!2)th)Iq;PN3xwx1r15D?w)zx z-S~cNGolY>L|gw6_Xk{i6P|#ON$zD^%7Nq6s)T=UAJ1uzsO4~Jct*zOU&BAT{I;84 z+ybe2GL_XmA2!1Csw4Ku>WYHUGq}v4`(15P%ke1NzV-1E6@C$00?Q@0=|rglixiGs z!-LyUqR41a1^e!O28wsRa{-GIh(0Y8kQoVQi?3Lxh=+fo@ z7)SR6ImP^Z5lwHU9q|^7`Eyw7t{_Lo9XJ9le@R1N|Fm%`&;xP>y1#G4-JqXVqEFHl zwV2eB>2Sex_?p2&X&VkO0{Lh*lxy_s6C0|^niic>ZR8eU6FNs_VT7xHFIQ;=UYXew zNkmS9-yD)J-_e7fBi}*&V<{M;xFZ&gNV@|{q4Nn7+AUx+;~V%1p~>hq;y1xJm@2Jz332i4G0I9L_6DBS^Z`iQnDAZbP4{YE>wAz?Sryz?gob1MQrzp$#Im2iQzGl{I?uZCz^wqv2{1H=dj4~i8tCKVHzj%-6hPHaS^ z$PAiH18Ht6rcP~0zJc5!Wncv?4B4sMFa!FZ$44>-c%+lLn%U@r)pQ>L{^1E5(DqMH zIZ1#NPC{72E912<{ROYshe;`P&tuwaE!;$Sy{97yZ{*zk#AP@My@Zr(n zK<+V*!D`UsZJ9$;CqSFbxy0VAUc0aV%le(+ntfVlN%&&8}i z=RqUFganHFbX>mElXMWBsDPf0(d zRooYA+Ah!-=Rz#|?w*-wKglqo3ePLUd&Rz{K~u;ZC5D}hJ(OliU+Yk>Kj;-o}N_w}I54;P0uR6O@w0l9s&DD|hFj|I}RpE*iK zLP}0zoBlBr!w$W$Kd32NmxaWmVTXuQd=8t~x)QN;<)hI?GbEoS=eD>Y@Yuqc#x3~57)E-7VxJYcpg4=3z5|E`l+h9Mh54mZ|XTFqeQjuzBIq{NUO zTkBOKeH+z5Hpy$D!Emqb(VbD1td=&Z7Wesbnh_Z-%Me>7qU2@7+o()gopLF;!p7j5 z#bC5^GZoX^AQc$05XJ0Q@flR=vuxTt*~t|o#!@8>)x};$`N}-q8L&O+0leP;{P^l$ z9Z7`&j+wDxq?->Oq;8-?AXBsX{f{Fl>Kp4#c#N~BC~vA?$FX59IUFdJ#T5ZB_R;(i zj);!Hyq6JYnn#WK@5B??((>id-b;>&6R&4(ymT(&E4}8D?tFh^G>% z5-Xs?g1m==Ci*TLrZ_!5HM$GkN%58I*?#e zddV-IQRm8&#~^4I21sx%)i{DxTEuRHYwL^&@v{))E&?wKo{S=+r7xe1+#+dPcBGF_ z0`Zuw+$7V~rSvtth}9?_D>!E`iPRLvb_l_b_|8gL+@?osskG+Xvp;=U;g5JaCZ``OU&{Zvb442zF6%q5}@v zzxVwXVUm}eUXh_xh7JaP6`RD7p{nDLOK1)~2NS`&%q}APRhx%Z=dWnuGHpcuPbmoX zD0z=c>Bs_N(W&;6Ni*A2(j@xaBfW?%>M{|9s%M9lh>73UypBb`E6V90(g=x|Hl9N<7hkYLh7I<+_| zaMfjK;Hs5pIsSww2*AQ;eivZGq|8PU*7^WsuGrwAZ$-rTrdJV;V6ucskdoMhrdf)X zt66W7@e?^wruD1B6ltXWGE$`DyLo#tq#$esX+2wcscU+Z?kvLqwXPVyuGL>I3Wpg6 z!JNf>B5Q3yXe>s2*-XN3B;a~D|;d$6h#o(g?{?)Z#?m_qpwZzIs1T6h`uv#NA z+223?`*{8G@n4-|D;ZJDS{UK^TRX)7m-=EP!FLjZn$AnW_N#WU*%~3GTC4Pg4I%kO z8M!ToYv||9;K^m|1#9i&qL*Is=?=`O5d2s4&SWB%8&qgY$*oLn0chy3#WdmHt7ig- z6J9!h{gzRn5f@6WFe~6(%^QnJJN%wzVK6t)&3L^)_JjRfEA!}a?8Bmc z_OR3bi#+r%^d8gzQ36ZPqoDB(KIqkaLI^K!Q~0G4X@^Lbv4Zgtie%*sv58v0IL0zK zR>~oAlKKfFV3beIGEdP_kKOwOs}w2Qk;!J-$3~K6Z+&U5-fjHe@WCei-MR&&0U*-I z;pdgBXgC>R=$E=wl007wroHp>vA(A3dH+7W%Lr`fi&nC^Hqp58`XB5B;JG8lgv2)> zJY$_KTW&Q=H>{I)#%*&mq<+6+Z7ON)0aYu2S+(yDLWLmY!;)1Xc1+QWrNj2L^FW4Z zt3t4!wa+x5+oR=yHASSEMXZtuvwTZ*tnRQ;rA74kq>Nt&YrSwI+)3+FuUzhvVW7#3 zp?XjrK9&-kex#<;486_u8(HFm^dI5>Q9nNXxd_(mkK@0}$)yLty!+2YH^AYqWl>beV%g&&ZmNKSqhS*Gh%G-K*Ua@6{_io?fMHJLo?2M(b zob1jqjX=fR+HC!#p+(QGm4TWurtJcy;6+pHf8TWp#*g+ zGFsFb@DW?oAa*F0=9~V8a#jo z9U));P_#n85(8Gk4+tO1QD4uuTPOv_U}f%-@kl} z9%-c~xKpV*)avsh);#7jN=o$@qv>p=jVI7(EDHV?8|Vk%eElyQ=>LPxh*FmHiE!&& zV+Vz-6j{JrSD_rLFVQoB)kYSO}hpdFX6T*wn0 z<>!Af^i_=A_+pU!3fD8&^`J>2CijE02}1UaO9Y7Mjj4>)poCNv z9Q|ph!^?@z+xOhd=fXQU!f+Dpzw|!*DP|xK>NR0@B!vg{nlgCtc0=(fp8Wkp20Z#p zy%y=UJox&M$2X5d&QGZD1%)iW+Hy?L#_boL!0)W_lx!UH)+5dkH-h`Bv?FxhXn`Mb zqDoJps2Ejf?XbPBOZyIl6tddwes;kY_hi?(-_cF(4Vh&c#rk_#6M# z`!q=4L+O!+iMYWKBSdSq!|DA@PbPwX%?A814sE53I0;nrlYv^2e8hIe;2I_nUyx;B zKx0y!6~^e<(}CxlVJp?}#<@~^?E}n);gLl4u<2ON~%8$HqJLvoW*|3uL1i|IP21Ut=>2 z10&hzZ6wlm(pBN3;N8p_NdJD89>F_3Xh~T9+E@Qw(ge~rQjdXynl85HO?svuIJkHv zfvp#c<~a>@4Cf-3mi1?#l|8Z4G+9<|4mke#`Zx+6!}C{tJ`3X*xk*I@1133*sFWlv z9_ip1aaD3GD&uTxkW7B3iW0d*U4Rdx?ol0XN6#zX&{+43b9;6F_(QgiQh`g7|H<8y zNWf(4vPb}obt&#{qCr2tX^MWSE~WcT_a(T07ik zf|LyhHNEZ_7M4*Z4N-_+uDXttz%G|o$=TRV{Oys&@!z|}nXnRG&o{+t=SCun=6d|L$u79L+?%H>B*FqJYpCeW$1jPVtwkSPt|jD*v~m@^jEj&~&b@a0VpRUGPVXHb08aP2+=FCVjf$r||%#iGe@ zr>}*2>ehMrs3VAdU#Uf6;>CL4V>G3@_r34Ng5_lT1nhQgFz3f)dwBMpL-NJ7&l+A*P_P zu*nLv*f*q75lV}b$FU)iXp7_1lhAewGTApQ5X)SRRiOF}{}L0USlvThgC5jlPku{l z&|^Z1r(HLD&>aa$6m~TGR1q-n>c4sfEuedKi6A3*p)pqcqwjkIeX#Tx>Tgv9U5?0y z=!mlA&h9_cTVjE~v>W7xa8W1LvtOD}qP_I=r*CaL8kH4bm+^WPD3&>P*uEAJYc(1i zB4Mcf*!apZMrj(dR})Q}9nzgSajY0kZt9r~v04W%L{47E+T_q$S<7v*XbR=*162gB zCmle-G2exdb6$O}r<-9IO!Co5%Y4US8W?PNh5eV}H|(MKefobXescwCM-pBHi62R{ z%R#CaV*-5&o<_I}`ZE>?QpwIF`so}sbs)GwR;&U zhI^>PJCXb+uH*YK?DoPPwA4T6BF4aCKDRnjUNNK9ayS#t) zf`B7Dfz{$2vr&J>_%2t{2xE8S2&RhWTQJJYCTP4K_6bD)dVNx1u;f;ESGNsx=z6G} z=ifI+He$z`Wvf#fNtpPaO1pzMmiz+mkKjL_+(6hvud0Ll3D;nI;#ZY0JuZ#-P*rU# zg#BG-6hk(}IlmaX0kZra^pVcqg(_+{IH+R@o{-i1Ttul)a1!IwGMq8(gvlAxP9{3K zGgfe!JHm#Yi3g6%ly*Pz)qOns3?uYh;_~v*w7bxRRI)Y{#0u!OvRb>kC#vA$IK$>e z!`iNQLgz$We|z#aQ!MkG`3Z2oP@M!3Y5$?gUyLLJ;sQfJ)qk2YjP)&f&FXSOb{lz> zSo$qbbE-_S#!39jZlS51PeX?13ce9c^QTK}NE%t3;QLd!&%bw(cA*qE9x;vOX=(Vt z-CNuC(pLYf1L$z=9sRE^5)tw)47c@3z%6UJpN>UwiWUVVxn4$gRD8O$edrwvb#|rY zf%PP@RZkIz`uB^!$P$jwHHqP{^iHbF} zAw4GP3;CoEPO10^xm%Ip_!!m5s@6#KWU3xPbMKl3(~=e_U|j!9zdpA(qluY#*)Fy` zrULBY!uNX+m%#-Rd7ZVzPj&_jcWFWgPH|JWXZ%y#ZWwzKw&_qY^9(NmDVD1og8Rw1 z3O_15%_D*egmj+_0$ltj4`7mdzuIi}J%L#ru8plh`_BsZLWk_7iPv)7ONCNhIH)~( zx<%dWhEw7U!6>Wb3PL@yjz-aw3B|bH;PW$WF#{S#Lvt2bDe$!2`Odw zD^{Hk@}iA=>f%h8%VUL^(BzNfJDg3W0BI*TtYb#s4GzgtXUzxn`kiE0wWXlrtj)7V zmPNRS(JP=aFnK4BbX_$gT75TyWJG&vXgHhjPg#+1kD%s*Al+9wfgu!_fWK>7a0$A* zTeqT;%f<)7(HIYPj?^03sm+m`O@G2{+4Fh#R_zJA;-+`3`6^$x*OU#-R0`AP2YDoK zQ{6>E`E8bASuO6~SWH!g0E$)cA^n`XxFJ%N&7Ic)zmeqvjBGdG;{q(PZWRoUKfQzL zk7tgZws%n%qN*5L4TzxM^CQCQ7t{((#HYJ+ zK?&>@RQ&ifARohJIgia@9+>HQL$RsJCmc6^>E^3d6M)%SxQOQ^Tr{zB<)zi_IUdS<*E*4M1@-?bcUwB zS!a>_DuTQT$D0b|vkK){FNOduuycmhpQw-uWJS>4V&L`{CI@)?k9!T5WxO>oz8%Wt z+2;@6$*NS}lqWOUEL)X3+3Zpr6ak5)<~}8_|K35~RH6se2q1jrYz0%)Q(5O7_4rAF z^UqW_;Z!J&i5dmq+u}$VM#XM{iTiuaB+AvV%9qVi4D#ouFHc#DKlz=PPLRE88?Aap z|1Dp#p~HpLvzM+u4CLNq1?5AQ$U^AP+j~VKzGG19kGhaKk6y6^B2=(jGT-7fQ|k@B zf&Jf)iQx%wJwA*&BXg@gLr0j@CjHZ_qh-QKsJLXk^U^?ODRyi;n1Mf49%v09?rN6h z5gC)?m_oiQ9S^q1eB~l3*R%E!fFI=w&afF!35d9z;mk!-vnv%TMgadt*i%>CM?g38 zIa}&ZxfB0#(^#?k{qxnI5ntxru3zIGP0K#yHGD$%gnyNoVcng)G+C(*c`1@5RJf%)$!nL zJUM#la*^&2k&Nk6Y>-lehAl`gynjV6zvxe?V5m)_?$ig6M+ra4>H(P%Eg(n%I>1ar zYUN+~O3gnxQ}(8%NyWchoo>!m`-vx(G3s~9mtQB!U!80U^BvwUUvmPg@#=ct^W%zf zs$5K8yzlu7g`6SuLf%0AM@MI5NNYoYVAw2l^dHfG!7sHrvLGVkxceTgNNhmXeBPf6 z`l6FvCBrKo&uo~nRk{7^3K?%DMGBWc^lWEJ5S_wZGK^O8+RJ6+2xxD%M{6J*kOW~yIQT8*d|MU(aOD&_wIc{&ny>w`JZ2uv}B zJ)eBYHwLW+@Abbj>;5{%1M@qOs5r|Q3L%@}uG$0-+1gr&Ba z)RLIbnu7_it{8By))LEZf#G8YD|JlZ&Z~prH`KB~2})t{t(BHW76hq4=x;AOT!8># zvk)MRZ|Ps81D=fH-pTm#uy>2~M4(rh#qfx<2ShnV)2L``x7)3D_zdZwtMDDX0+UtW zpRFB1t5GyhYw~>xcpA3i5P&-_LQf>KqgX+aHH@z?5)!sHa0(S1JlmulW22Euam}XZ zoz5pav_Bedlr)Z@0qZ40t6s6=Y~=N{LNURdAqtLFvlg(N@BW%+@r=Isi*x7x95p6$ z!za^)P+-a|?u>*93};cg>lXAJ#e_vcjRmn=lR7GIEt=cH534d2{_+$hJRegVyT~_| zTDFFmV(G*rU;bOnEFl&vbB=UGQY6q#1PM4B9!M${Sn{fuJ0vH4sn)R{Q&McQ9SfhS zwH%YE+bOHC4WSvnSU8r%rVY0VilVWAlK>3h#zi2y?ag?|w#oR;6md)poi=1R&ne!P z*t-a*iq$LKC>xn?cu}>eJ=BRYg_ZKhUY2%@u|8M`=O<~qU#WW?&7>@VU8L&7AkpFE zHj2`gAmw<`iyp|pJl}!Dvfzy7#|&f4pk4Um_%B1GzosF;;D=TggK#9gw}3@=V$rYJ z_3a^W7yT`DDi-$+i(ay$0;U|5bWe*BrX$%uC3^GLup@**mh=N(c`;1Kb5qhli>F3| zM!_%dU*=tVa55i4b)y!46?L|cYAh{RuFEU1T~cY!(2rI1A}72U05)@wYkhWb?zpD- z*ZJ`&th{=f^{Ou_>Qm)jptUuhDjUwIwIfZtY0>di3oVGbmAX&i63*HydIPh%5{N#m zOqJ&ghgdzwM88ry?K2}&`SCOWSwEHgSQM2|I)PUJ-@Ms+NH2oYh|<%M(-Rbtq+Q7RJn`+3fmTG&h5BAs##3#YPo9GC>HCGEginAvZP^NuCho6St~=p^}xSzPSeYF zw{qfYuOEolHqRG4b8zjqh6iX9h5BxRf`KFPIBl3bnp$9Z?hAqaQupoMrJLKyldnqJHqrkg}|Rsv%cwVm-J+_GQKHGY6HhGl2q z3{vl}@)bqdkL8Jf0{gIkt~v=;_;O7FRnja%16h zRP-Mib}FOk+IxX5BpDSAU$h9d)9?f41g?MUlbl7R|68j96u^;+PbHcfoFDL{cd&>m z2nX^R=A5XIuF%(6aaYKZqysR%)Dl$6h2+<-yjtTaKtRP;`yzp**gL!R{%`&S&V8Y3 zbp{9tEV^#sumO}CQOw3DS0~5xZpVwB?9Ch-hIs}yvDPqI9c^L1b~x<}tEr-?h9-18 z=r|!XvEFb!K!6JTshQ!~MoK{ZOYn|H-G5f($QLj<$BBubb=Xxv|RT_T`X?m#&e##6neUZKh>*bopm zRVkS->(n&Jw~#90appXEsFudyXi3-=O%t83lmjG~v{1g?xUEYt$l%n`oBYSXvl3N| zz$*jKcB=LHo|7Rgl1L4cGJr}s_YG}Dt5Vv@&bZQ%P)&X-jf##vreS|fG@He= zxhHD3`E@aj?~H4u#VrOVm2#`{y0u4l@0X|Y@kf{&e%n?x5E$P}$F1QIa;YSU0wGY4 zj_%xDzk`(s<#FC@5BypdHq*KtyDDk2kb0e4N5YfsaZYPkcl_R@tpgLX4(!Kw`nSi2 zH%IQ}?}$5S)*}erA!t5uqf@XwTdR^;mDtq*%t$I+rHgvqt!0MyUQZM&MQH19Zygu1 zPXX^YvyT#srCp$0jMZJ{29!9*gZz0yQ}u#-`($S-?e{0E0%rD*n z9CDMKrTzOzNvsgY7uD8K6v&=PGhIPE*~x`|n7rS~W}a#uQ^ooD0tvA!RSdn1e)FBg zyRNQaJeg=J#k8%ly>$Af8>q{fJ2{y2j-i4cN9GHDoVWKk$L#j*S0;7DT3kIb+jJ&) zt918DX$ETyr>z>Oy`g^y8bzCV1{cy)!RSmwlN zdf4(Lk{uB2jchB12c-*j~yAvG&mkU~pxwU~r z`rUcJ>b?6d8kP~b@cyBPBQ&(|C~hnMA-wtWUuTKkpn{7jNom0((iSXcMv6MHs5#NH zu6NjcU3exo>ifpXm-ZCS>~>^H*_ty{tMzQMv`6c zKm*}-)15>nf`3u-&6XLO<)AYYx5HlMc2Rxk!@2yyJ1HX7^SyiOu4r?|Zsvno{NaKd z$@<1m+Ip8yu`TC5?Lsd08`~^9h1G_5DrpUq&4h-%$z1~xf~y581#7*IHdCxM)qIWT zXBtQ4NbBnjr+f7*D`V+pz1fuon_Ff@=`@_SQ-Z)e1vJCXTsbWT$5wqHgT^l`JyaI{Imc&b_}aopDG;kbuN z;dalDb4kfNaS!L%bHN1#Giss3{}D`vhl1kzlnwo zcQ@bjtt;4C^GF7RCP3;jBX*sBg1~3XhC`97^;FM|jZ%GVu0FM}`qdZ>AqKLJ6pfFi z<{#2gEo+yLddWWD{aR`RW?XsYDf{N!KO1W|MW#VI;gkb%eX{S%L4RsL?}9HEkD3Tj zzTI#0q_Rf{i8Ius1umyyJlN7MS3g4k^T1t%!A1(EL2#CF{6VTpI0!d18|}c;E#jv1 z%GeT>+JmYb==#CiKwLm7CnvhuHr=4C0X-SJNSKoJul5V!i{acS+=!-xganb`3(?SNolU203_!^AA zTX2MA;rKAZ!ew}j9~wRvC`z4EIuEU~!_)g3VIK$DRE1tMca+|bnWTD40lJC(k zaQerq1qd)Ulda*s>7(TF(i0he*M5R%haZ{8CD(nJZ7PJE4+|BKI#+j$KX9syO?)>v zM)CCX>$eQ}VOnrrNBmbmIt~9c8%YTPFR-E?!VGu;A#CvXjXIsUKbVmK z7ww}Wrt9Vnk6f8LM3|y;u!c9=Dp~s?x|t4VSKcT6N`6o;n6%rPN99P>4 zG+a)j3ULl+L#1gChboYpB6k8lTt$}R4`J^0gZW4^XI;O77%)P^f2h3 zf~O%s4^+=`ZpRGv|M{^#dQ1dd{gq zo*pf1WVS=$(aQ@0u~EG;j7bX{+*~>loYv7^QLxNcVH_vV43Pv1nXHfkk84j0hY4Rw zu3n-3&OJT)$s`>sy8**t#rN;h7WGm7MwcGJpn|23X4B5`81Pq7pacvY#`8D%bJeOa zlti+l-O1k1b6`5!y#s!|bX+;z3T*++vluMJHBvD}L^`)xxneN4?_(z@xt|ZE;UmBF#K#@^|RV%l{wN z>b`5{8mV~y(L~&NKR(Ik24wjE{9@`IqlWn^PG7c z#%+KkD%v_obnZ=@bFXJjeX*0c@ae|E-v0h-M#&KV z6^!3!q7U%TAA5y}r@gFB*Z&&sPlF?*UB8a#Ks2-{)XqsHz*G>4=tVq|4J%=a{G~sV zQI^B*dD*fkNdm+Q`Rj^m9N}Mi+3p{d&w@KqvP%2` zwkL+WYMlA+tNLK}_JjUQ2!`?8ObUE`a13*inD~pqj79#q7$#Y!HTdZp{WOw~4H@x> z3S_Fn5SlXNBYKNj)JuOKf$qQ{BO-A%^dS!&lG6odQRu4(Wl9s;z$Z*gD8Wv#lLM9P z@o+ukOc8~te|-vn-IS8emkcn5Bf3_scrbn~YayReA&KV~s@wm0`@okpei*zE0aR&( zaYzqShaIK2fX#dXgjT~K;MY+~)FDBO+omB5-0wmm^tfMWCeH6f-h}oqX1L@b6(bYL zMm`q1^>k*&`(K>BbyU^e(>^S4=sYyia6pg-=`QI|R5}F#L0Y;F-JODjlG5GXT}s!X z5u`ic5BKxEAAEkl=UwYv?_Xzm)^Ra==9+8Io|!${@fSf;$}4YTnE-rUC&rGr3+XaN zVKE}T572QhTn)5;SN~wRJxsu4^Q0%tB>++^`v7&7(?u4a4*hG>X#pH!;Qqpz(I2CM zXkxN)UvqGug&C3FB8o3U%c>3EJ8BdB=_+-IrZJ8S&k>GDr@Ndnj!&IC2B8VoYHtdi zinDpi){+I)3=V6ZyX$)QpzwQ9lZ%G1WE%Lk18Xva#q-!tZ?bmSjG?`kB!s4*elY}- z;74_|;?$}?n6PBIV(`I)h_rwS359AWx&K{+0h73a8K|Gtez}*XU=j^aB_)-~t>VZphiD(EQQ<>^Sfp^r||vuT!GKUL3OgB4ikcbR>F1!tO7Y z>1EZOV|Xp*?(imM7!=sQ5hgjPFyVSz!T}Xy3r7+^kpVv4v=tEZ-~T z$OzJ*LgDeK_}ga#ni+-7w^vY*p(JkA+$X++R^R2{79}%Ly9qu28WZqSC<{Cst!j0U zVWl#F$X1*OJfdW1ML)_|`U*V#287lFT;Wsg^`@=irj8JI`H2RVShG)O(C~C#1rv4Z zxeVg6GZ_W^Zo6O__D`&&A3F&?A%E!)c4>pYk>^lDqi6OhH|GyD^Z`G|V`$dj#S{81Z77^SGHZK^|g8 zS<-sB#s*IGFF7p;M!u+8tw4-KBFfV0_vE*Uig^RRtHWd(-OBVzLVXEVY6Q{o(dH#i zWKYCi`hE#~4+g#Lo_tfNUV2cuM%)9L?m)38_)Wph^QG*9?HeDhD$jnOX%W}IR0e1Y z;XzYjwv~Dhni_mS-r)O>bWi__RUf|VmNuvbg_x4Wt)oz0an-dGK1++0l|_~I2d(0c zm;e`YJ&3q)+fk&ds9{WeBIqeyd|L1Xk|sE)y?v9HMz*mDTb@k315UW(W* z#N*JtkxmvvMPd;XUzEq$ODVV$Q(Q+#w-_Tv`nR_q zo7>9WCm^bPHjOLlwHVeB-+v#3MOy>2p)ISAho64<*I>l(+Bg7XSOVn`T@CxN zN&F|!{!*NhcdIIDT-Pu^!5Aqc6gR!PY|4491r8JfQ97z+{8G}3N{H0hYEiqvhaNX= zbGAz-!}xh7-j3(+d>UpPCy5DMom0sGd9xRwye;wRzqTtA3h6Gt`%ob^1G4Y`@#4`! zMHmkjDu=7t1B}wz3P6dI{Y}E?Biwn^Kml?YLarQmwDCz0*#f|~4zjw6tAwnns2z-D zS@h7d6^v@tKrWQ9EFNN1*f-R;*EyWfcFU*;l@-!>!U=o~JwJ)e94-$Uf%Hz(!{*K? z2~Dr#*Y>cgWMv_Xguigg{{ZCmu`1O)p)sKWH$JjxE@5rOZ3s75#tGMM?T zNO zPak(fgB?l0R7KWK|Gl~J1Ei84AeG!T zA^#Vo!XsN>(yFqj2ENBkQXTVP0WRQR$z;`r+kxIa!^=c3zjROwNV(@gAf0rQ*D?_!{qKpXsN+wDJFmnUX+gU1Elz zctkZ)8t%>=sPxQ`9&p+v)sb;nbdM0&GSCi_o#6Z9?gV<*yWc@2~6(` zWS2Ca6NWIelE(eSerJt<61QwOkVr92@*5AB=n_;5(OuE03@sfM+mBU@Tlchst|z}m z`-z6IN>+rYP!r6Z_aGL{PZch^PE!ZVE83%+m=VCznk#e*21n&ZBSHpJHwjITzrb}${QxfB zjmh^9;Cf&)q>jGVe~Gsd+G>M}Z|y-dd>b!~q7}~vFO5r2hmOC381(@x74%{&$Q^i) zgr6bV@!B6hbcAx2`qn$&?2oV+i_82HXAK?-Hko{%-@&wNq89YxAS{B$s#JWjNgV}O zrBKnKi@-m7y)U-0KCMO!>_af9@vVRjAX)ckX;p)dW~(Lxg^A7Bb&tCm0h<6n zh33Zp<-Vkp547LQvPmw)R4D!#y$3eA_O1>|Huzm^$abt?Wh&zeX}z z0Z=xC$MiqKuIB*5CE5H#8~@wM2#9fJz81*{8bV{}dslKYK8IzP`Cymy zO4SLOrM6E#vrND%d=(~^{3mu|*7{Ki6$nrzxs2WFxnlM*Px!s&&9osb<{I0j&r`Yv zz|i1Qqb@YdrQ(KNc(t!sh59WNgoEkWUUjPxL&Xb|8QZj_6A^+dwXE9JiYAVPJ9`s< zR!-SYNhm1;FON6BGZ*SMRBM>eU6Ojg^xayq_tSXT=43Dwn-R1BF<7qbaiekR;MWvs_mWW%?tT zQJP+Y1TT&JmO3Ed>7TwY%S>UY_{s>QlC%WyBe&rmN1v0?OOjKczx!*OCWbcw@en{c zIXU5L?hajRFIE&_ow3S4utp*T_fXE~?IQ*J97ljE7nYiunk4CD)7d{Zy*Hor^~+f7BU`7f4bM4nRFt}W8F)Ztk7 z3m^8W_-7~T5_-BF#ioJM1&-g}5t6r(P>SLyd+lGh@3W3{P+X~Av^g~+PU(6HlU*kD zJpEaL51{_TcB^K^&9c7WzgtUsM!96NvZ26& z6r$w#Xh(KXKv?UBVn(g@9k1>=vh!A3Ad&?(J!jfM79Q+~shI4kfDHMi*+qY1Gm64l z9k$*@-AMCwd&#gUk+S=&oXraAvlBX1GX9ga^Cn7>vtX3~9=-eP0vK2NHCgK2;`xYd zL%Q2h1zKa8yAz9K7Zq%WKEIt+`jbv%(K1A*On`xm7 zwrrN7H+wa(He_hY_edY7<{byV zW3_Z78I0y@-Fu{5k#l|q-l-)UUob<3hAiMfUB0GDy#F08!ATj|Q>mIolDqg5Q%cv) z;&Lo;aH70MY^#bVRvMDS84+`2z3d@%Kq*n@#MI0%Ly|0|98b!jxX=2q_>FXR!4@V- z!cI@8;W}zRx!*1nxRO?Rur9$(@gz*FOw;PoPXk&Hz|(8M?d-(%iZnMgq1CM1wn#5m zo}1I+hKz~r)|)ze!${$CzvGchMxk}BEjO!k(PA#GzLfCibt4{8I{f>M#}Xdb zdllF>EA#ftq7UdUVY}s>2cD$>CeORI)rnq$Q%{Gi+j>M#&1-?tF@|I9{>xYg_YQNP z4x*4LLD>9TZ3kcXy|DM1uhU9J9skUJXoKh5HdpaS_p}Gk1H)U``T0@jShYa8P0N=D zle|sf2%$4RjXFEJn{_s?w(8-pf<#!t7Y5Uwfq!7nM1=)48h0zs7j1?ky+BOr#on=L zpE>7UcZx>0726iw{$P4F9(Ge%M!cAI+ixmkb*D6|GFY6i1H5{~KRwk0Yu;|BD5TU@ zY6=`FK&I2ua(zolRc+@bYP~4Lcj))59r*v?;@Ttmq@<)gv}&e-X!T*;S>Bdg^2+6C z6aFc473Z5(16aHNL6voCcA?AJj47o<$NK!ori07ecHZXGPqoLxf`;yv7!kr}9Hs7; zXcr4zLY)D3`(x24 z_L)sjWIqud*D-%~4t~@?a$5+Q{mIzD()}qv->vYz?}VPs^XesL)qs+ofVTjiJ0vFi zx&Ir<&~X3OQdE5R^p)Y#!2GS0=MEFmG#ny=$O+bC6;Y8fG6lGD8F9iNrDvt?r8|Qv zjr+in9ID1eKCgnaBA>B^_$kMRmh=uED1;lw^hT@ivh$4L(cRE=FCFHNBHL|q+YSH) zw;2ttzTZH2|DWs}w1^O@q?A#Mu=mw*7PSvu#;(@ueEPikpkBQNP49koYMF~(;O=y3 z(SHpw*WOJ&@obm!7Dp~X_M9N4#vL8l z9*{k8at^!RHslV^^GMdZ)a>r@0k%L>;Z6Lw@cq=&&ybH;9zVaAVX}F`%-ID5&~(+) z(KV;7I(#W@Q7EPbckrfOPKiuWI`OrfI1w4TdO8l;Mh4b2T`JkM<3$Dv?%y!&)~;e{ zL^5qwSv%9ZpYANR?wfk74;)65l4(4_LWO8S`-qHQkLO+oAzGDs+U{TVxzqfkScvMy5YwzjETHCzWJSAd?C3F=e z16ce<^uXJf0v?$99*FMgDY9EJvMBqd_6BQ75=#``>UJXCpv~v<;F^gQ`}Xr6+r7e6 zZKm_fQRGGJXQDgF8tDU@o}%lQY~JZ#ojiFq&svr|ZSMF@-#09Hu@=$lPXBbW1;U&*35PV%Jnqo-{S*>e{UbfrIzq%QS1CQQH^1K7JHr(8p3dGkZi*l;p6^W< z9xh(D-(vGUL8aep{!>GA(~lCTS*#f@mb{K&HuOlb&`j+N_RjG;+WH|HM{h5tnV<~u zfU}DAiT7*xS=d|WLcFnT`Bi9#6lGReyfGn?7KgTMdxpnCYPfj){dPOCVpdd3;w|>s zvzx@X^g@n|YGg{msuGS<1Pe)YCI%B*$z5V)B>yMX{se^xYB;?k-)l`@FkUddzy8kM zlfl|Z20dy;!1hyb+WUMEUeWBIq3bmCwsx#}{}%YN`DP#X$J&F5Z+vA|^ahT?KCA-w zLa1@$)Y`iw{ZxtX+RF`{>?b74u*~|MqFx zW$Gpk^yr+;1J!-)yJ@SN$Uz$pWfx++X=uE-j7Q7!wk4A>?>IpTJ5&(>7dIX~XYPnbp}d^#fpt&{Bd|6fOqBxt!L7Gg z?l>`sl+OEZ%W<2j7|+t}o~Pc2>Qh-!-i!u6(BxSaLb0F%z!x?1X<^r6Za)s5ti-0%rqc0Ox^!xlmT=6R6>6?p7B zJt@>~q44y$b1B_#zHS}RJN7a(@*udWV{?UJ!4W+=FGu`94Y>PSOjU1!A@a%@s<(B5tUVom z8>rpcmd=u8ujz;2O{R}~`X7M~C;5bj8%l%S`PILhg;yuAOmZIX)&V6B@G{EXrlmVW zsim_7-nIh$Lp0}U>cF;Difaw$B{${3P_{Zyn*DF|(S`V%EY`*dk>3m#Ax=~4^Clc+ z$Bh$uL4>3cVlHFmY^tZaj)&HUx#UirNsN13cQP+z@Zp zb}L}r_YH)1S5qzRT*{uTF``FYvKaWAR=-2juPvzpdHlp|A-zA|7Qo6>_$Z2$FFICF zeTZ&Zs^djjZ?*4We-5(mFFC81G`CY-XVGEmE%f8xPWW%41KW68&fYptH7tE!>CT8( zsR;$msCZs@R30rW=nZoxRs5(sXkTiT8*$|^+GBU!#Y+o%+X$;Ff$}!reLlzt6eioN z-?4H(3oIz{;}W^Erq5Q@0c{8?(=(c%? znC&EEv1t0m&)n$Nl@UA&Co=atuKQrf1OW|eBoNl=w>^b&UiXZ;J|?7rDis=hm!Yy> zV6|A=rlDA;bD;e_1u11egoNtbwn7b z)#=VNhzGwh4rO_bt0j#CN#?-BqbJ+x1oCbki(2=80gOw+Kn;(9NZ*bT>4OvHCPhEF zPs=_6r60D(Ntij9p~#Vx;`(A0q5K({myr9$M0)4)@}AAj{q2NkyTW}!Aw??F56b(K z+=Cjg^YRthMj)c{*%aP1b{_4ZfVMO^)0levVS@TC6Ej>3Q`O(tO=1Dj%@h)tVHlI7 zfzkeyA7k;R+ROX?vR@sRl`DcMa+T@T)8V=4xmzu|fD|ckMZ7B+EauWRpoe7bF+s{M z?4_esT|9#W-&NJ7S)L(SWkq!7y7|@SB3h>74tW<_^lH&5l-Tp^_#V;ve$xvoNpXmB z@%!E#m23tU6tzB(*zqdTgDghkXjQhD&3%vSAgMmz&7(%nPhYVGyxKPl$+*;@%Si5%Yj0#T)pU?Y_=-iL+9VbMYrZfLWBS5*PLfim&gHsl#_JUr@&UqD^Mx}8^b}x!)lbnyQkxlu1NM`_>V5iBm z4vd?)TYrDfD6yFiFhdA+pRU>1Nc%_&#()+i5mC5B$ZM7WePgns9} zm%wo%YP@aNPsR2+KT-FEGNEBaEhqc1RQr*) zd;;SEa@0=OgH`tr#|hK4!&e&hC!EeP&xZIWV1eXFOE*{Qu!VgOQTLNo%8~B1hm)A- zUEBGa!UO~8QObkAL(t>4aTxS3$BAHIY%k(^O5lBuKg(YR5(B0=E{50NSM#lG0_Q-X z`aku{o11N4sw{ltLlw^V_q`~E);saUaX;?WJvj2`|ILww;ORJt2I&lRBt)MWFT*CB z(Q&RA&p!~%U|V~%`{vQa+GxJ}o zIefdVB2jvrD{|Rq^YeS8H*e#5QR#%TU^_vgPMG+pF1y3IEo(mO&5-oLiD`P+5;C=F zszshf@uhJ6=arFrU3-Fg*MTCy!9?LGZ874~zq(PR9{EfhB-4V)l9!D#YI&Nr!>zri zTDFG{zEj?Vyju3Y6u`W^Zr(fp0)o-D8QmyHqS5)=J)g|`t?MP<^TvIIgXl;PjOv*W zq_w+FM45Eh+8H`kC%Bc${LA9l-A5ZE>5<|SBUc-|u=o-WVUdQj{sF_WZ_=_ELWdWt zu=J%n9==0!F9hH$jc|7dgs8sh_ebgns}y32g4MX_w5v$x?ecCY03=xC8`8ahvp>z!Tebs{>Ztu%E^QwcC~^YF8Nng3%jn zYngK6z&|zWYI}?-BH(|r0sJF^1guvJU8Ns}o`!j>cHaXI!tK5zxa5Dk?5sto)AEXcS8L_aV8K)T(%^)?USIzn*&m2heO_nDJK0io<&ge#`BXxhpplD^H zFXM=eielmk4_CsHl39kICfZvPDCdpld+vWyivQWZsBorJQSqk~o$^F@cmj%}$w*d2 z_Pm!6MV*jmuZ5SPvKf5k1|z~}tzsLitM&#C4xk9H@mN?nQ*o>0ZTijfwHdhV>=zLziZIMq*lWmqIDbUX6D=^L$Oerr;M@A&uS4fw#o}BvP zFepmY@(2vXH|*CTd%En6EH|GwVQaAq?Oot41EDcGQgq94iI>0s9JAlM21NVro-vOp zqWf#FsIA(Ic60+^%6)4si~Z)XH0PRMt`H_`!;Rhae)GA%eySUmmeS2{A9UE7T3R4< z;(XRZMWf1WnP(PF2nbSd}wHv9TqGIbqD18CDze5=oynZGNsukNU z_Dt;Ya02xM_tT=-ZIk%VwU0MOdh891Q2~OOW%{_ zv_j7o5~|?V6|YV+vmz2m?#kePO{(8vx1b?_j!)Ek*FLjC{5 zFTeg5+QUcz-eY}QM;Gk2!mOHvK|O$jwlPc@65oCjvP!@neb3KQaWKzIg&95mVoygt zS_~E@Z*cZ@QPUNWRf9;y7o8?zUe=)V)}H^rPTl=9@pdVM)_jyQG^_>mEv+RWAB7 z(fv2howO8KtkdU+L^?t5P;YEq2-);7ussjNZQA@>fTTw)0`~TTY3^6YcHaY1s|(u3 zD+0E_#M=c07#y}I!<{1#3TM0xqNO5x1rq`G4HjH9FI>1^PII4l9l(wQMKwlGrvm6g zi8_V_|A1N=)^LRmoYn%}st1MzJLnV=+nq>vDj6+KNcK^K>SDJ1FLT zga8_gt=0W;`q-?W=$v&8dCVKPy*gwan>K6qrL{H4-EL4J@Y*6KmhhTEEi8a^c|+R@ z^H7!yyxL1HGtEbX-s9HrC(6b)Ys}i~TCn!d*&G7l-uZ�s+O@XkdHw9IFq&wuv@# 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�X_Ajb&G(oE2l(d>iE9H6g)b-xwhZ` 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�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

    fB_lJyCN&mgwSo>h*p0%)FV+H{d{+WnG~#x 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�!lu5A=T5E76QLKBc02)(Iv2ps}K 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 KLae6U-1g+wUAzNM}! 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 literal 0 HcmV?d00001 diff --git a/docs/images/changelog/improved_human_eval_workflow_dark.png b/docs/images/changelog/improved_human_eval_workflow_dark.png new file mode 100644 index 0000000000000000000000000000000000000000..7d156142114d28baeedc7d2b2b6a83cdbf0dbabd GIT binary patch literal 489515 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