From e1c15b366a1bb357bbbc3caec58655df4e5e5026 Mon Sep 17 00:00:00 2001 From: daewoongoh Date: Fri, 4 Sep 2026 14:26:39 +0900 Subject: [PATCH 1/7] feat: add model selector UI to chat Add a model selector to the chat input area, letting users pick a model directly from chat instead of going through settings. Adds i18n translations for the selector across all supported locales. Co-Authored-By: JunyongParkDev Signed-off-by: daewoongoh Signed-off-by: JunyongParkDev --- .../src/components/chat/ChatTextArea.tsx | 8 + .../src/components/chat/ModelSelector.tsx | 246 ++++++++++ .../chat/__tests__/ChatTextArea.spec.tsx | 8 + .../chat/__tests__/ModelSelector.spec.tsx | 454 ++++++++++++++++++ webview-ui/src/i18n/locales/ca/chat.json | 2 + webview-ui/src/i18n/locales/de/chat.json | 2 + webview-ui/src/i18n/locales/en/chat.json | 2 + webview-ui/src/i18n/locales/es/chat.json | 2 + webview-ui/src/i18n/locales/fr/chat.json | 2 + webview-ui/src/i18n/locales/hi/chat.json | 2 + webview-ui/src/i18n/locales/id/chat.json | 2 + webview-ui/src/i18n/locales/it/chat.json | 2 + webview-ui/src/i18n/locales/ja/chat.json | 2 + webview-ui/src/i18n/locales/ko/chat.json | 2 + webview-ui/src/i18n/locales/nl/chat.json | 2 + webview-ui/src/i18n/locales/pl/chat.json | 2 + webview-ui/src/i18n/locales/pt-BR/chat.json | 2 + webview-ui/src/i18n/locales/ru/chat.json | 2 + webview-ui/src/i18n/locales/tr/chat.json | 2 + webview-ui/src/i18n/locales/vi/chat.json | 2 + webview-ui/src/i18n/locales/zh-CN/chat.json | 2 + webview-ui/src/i18n/locales/zh-TW/chat.json | 2 + 22 files changed, 752 insertions(+) create mode 100644 webview-ui/src/components/chat/ModelSelector.tsx create mode 100644 webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx diff --git a/webview-ui/src/components/chat/ChatTextArea.tsx b/webview-ui/src/components/chat/ChatTextArea.tsx index 3721021637..a74ecab246 100644 --- a/webview-ui/src/components/chat/ChatTextArea.tsx +++ b/webview-ui/src/components/chat/ChatTextArea.tsx @@ -27,6 +27,7 @@ import { StandardTooltip } from "@src/components/ui" import Thumbnails from "../common/Thumbnails" import { ModeSelector } from "./ModeSelector" import { ApiConfigSelector } from "./ApiConfigSelector" +import { ModelSelector } from "./ModelSelector" import { AutoApproveDropdown } from "./AutoApproveDropdown" import { MAX_IMAGES_PER_MESSAGE } from "./constants" import ContextMenu from "./ContextMenu" @@ -87,6 +88,7 @@ export const ChatTextArea = forwardRef( const { filePaths, openedTabs, + apiConfiguration, currentApiConfigName, listApiConfigMeta, customModes, @@ -1311,6 +1313,12 @@ export const ChatTextArea = forwardRef( lockApiConfigAcrossModes={!!lockApiConfigAcrossModes} onToggleLockApiConfig={handleToggleLockApiConfig} /> +
diff --git a/webview-ui/src/components/chat/ModelSelector.tsx b/webview-ui/src/components/chat/ModelSelector.tsx new file mode 100644 index 0000000000..0909bc79d5 --- /dev/null +++ b/webview-ui/src/components/chat/ModelSelector.tsx @@ -0,0 +1,246 @@ +import { useState, useMemo, useCallback } from "react" +import { Fzf } from "fzf" + +import { + type ModelInfo, + type ModelRecord, + type ProviderSettings, + isDynamicProvider, + isRetiredProvider, + providerIdentifiers, +} from "@roo-code/types" + +import { cn } from "@/lib/utils" +import { enabledSelectorTriggerClassName, selectorTriggerClassName } from "@/components/ui/selectorTriggerStyles" +import { useRooPortal } from "@/components/ui/hooks/useRooPortal" +import { useRouterModels } from "@/components/ui/hooks/useRouterModels" +import { useSelectedModel } from "@/components/ui/hooks/useSelectedModel" +import { Popover, PopoverContent, PopoverTrigger, StandardTooltip } from "@/components/ui" +import { useAppTranslation } from "@/i18n/TranslationContext" +import { vscode } from "@/utils/vscode" + +import { + getProviderModelConfig, + getStaticModelsForProvider, + isStaticModelProvider, +} from "../settings/utils/providerModelConfig" + +const SEARCH_THRESHOLD = 6 + +interface ModelSelectorProps { + apiConfiguration: ProviderSettings + currentApiConfigName?: string + disabled?: boolean + title: string + triggerClassName?: string +} + +export const ModelSelector = ({ + apiConfiguration, + currentApiConfigName, + disabled = false, + title, + triggerClassName = "", +}: ModelSelectorProps) => { + const { t } = useAppTranslation() + const [open, setOpen] = useState(false) + const [searchValue, setSearchValue] = useState("") + const portalContainer = useRooPortal("roo-portal") + + const rawProvider = apiConfiguration?.apiProvider || providerIdentifiers.openrouter + const retired = isRetiredProvider(rawProvider) + const provider = retired ? providerIdentifiers.openrouter : rawProvider + const dynamicProvider = !retired && isDynamicProvider(provider) ? provider : undefined + const modelConfig = retired ? undefined : getProviderModelConfig(provider, apiConfiguration) + + const routerModels = useRouterModels({ provider: dynamicProvider, enabled: !!dynamicProvider }) + const { id: selectedModelId, info: selectedModelInfo, isLoading } = useSelectedModel(apiConfiguration) + + const models: ModelRecord = useMemo(() => { + if (!modelConfig) { + return {} + } + + if (dynamicProvider) { + return routerModels.data?.[dynamicProvider] ?? {} + } + + if (isStaticModelProvider(provider)) { + const staticModels = getStaticModelsForProvider(provider, undefined, apiConfiguration) + const { "custom-arn": _customArn, ...rest } = staticModels + return rest + } + + return {} + }, [modelConfig, dynamicProvider, routerModels.data, provider, apiConfiguration]) + + const modelIds = useMemo(() => Object.keys(models), [models]) + + const isSupported = !!modelConfig && modelIds.length > 0 + const isDisabled = disabled || !isSupported + + // Label shown for a model — prefers `ModelInfo.displayName` when present, falling back to + // the raw model id (mirrors ModelPicker.tsx's trigger/list label logic). + const getModelLabel = useCallback((modelId: string, info?: ModelInfo) => info?.displayName ?? modelId, []) + + const selectedModelLabel = getModelLabel(selectedModelId, selectedModelInfo) + + // Create searchable items for fuzzy search. + const searchableItems = useMemo( + () => + modelIds.map((id) => { + const label = getModelLabel(id, models[id]) + return { original: id, searchStr: label === id ? id : `${label} ${id}` } + }), + [modelIds, models, getModelLabel], + ) + + const fzfInstance = useMemo( + () => new Fzf(searchableItems, { selector: (item) => item.searchStr }), + [searchableItems], + ) + + const filteredModelIds = useMemo(() => { + if (!searchValue) { + return modelIds + } + + return fzfInstance.find(searchValue).map((result) => result.item.original) + }, [modelIds, searchValue, fzfInstance]) + + const handleEditClick = useCallback(() => { + vscode.postMessage({ type: "switchTab", tab: "settings" }) + setOpen(false) + }, []) + + const handleSelect = useCallback( + (modelId: string) => { + if (!modelConfig) { + return + } + + const updated: ProviderSettings = { + ...apiConfiguration, + reasoningEffort: undefined, + modelMaxTokens: undefined, + modelMaxThinkingTokens: undefined, + } + ;(updated as Record)[modelConfig.field] = modelId + + vscode.postMessage({ + type: "upsertApiConfiguration", + text: currentApiConfigName, + apiConfiguration: updated, + }) + + setOpen(false) + setSearchValue("") + }, + [apiConfiguration, modelConfig, currentApiConfigName], + ) + + const renderModelItem = useCallback( + (modelId: string) => { + const isCurrentModel = modelId === selectedModelId + const label = getModelLabel(modelId, models[modelId]) + + return ( +
handleSelect(modelId)} + className={cn( + "px-3 py-1.5 text-sm cursor-pointer flex items-center group", + "hover:bg-vscode-list-hoverBackground", + isCurrentModel && + "bg-vscode-list-activeSelectionBackground text-vscode-list-activeSelectionForeground", + )}> +
{label}
+ {isCurrentModel && ( +
+ +
+ )} +
+ ) + }, + [selectedModelId, models, getModelLabel, handleSelect], + ) + + if (!isSupported) { + return ( + + + + ) + } + + return ( + + + + {isLoading ? t("common:ui.loading") : selectedModelLabel} + + + +
+ {modelIds.length > SEARCH_THRESHOLD && ( +
+ setSearchValue(e.target.value)} + placeholder={t("common:ui.search_placeholder")} + className="w-full h-8 px-2 py-1 text-xs bg-vscode-input-background text-vscode-input-foreground border border-vscode-input-border rounded focus:outline-0" + autoFocus + /> + {searchValue.length > 0 && ( +
+ setSearchValue("")} + /> +
+ )} +
+ )} + + {filteredModelIds.length === 0 ? ( +
{t("common:ui.no_results")}
+ ) : ( +
+ {filteredModelIds.map(renderModelItem)} +
+ )} + +
+

+ {t("chat:selectModel")} +

+
+
+
+
+ ) +} diff --git a/webview-ui/src/components/chat/__tests__/ChatTextArea.spec.tsx b/webview-ui/src/components/chat/__tests__/ChatTextArea.spec.tsx index a3a5558748..0fb46c932b 100644 --- a/webview-ui/src/components/chat/__tests__/ChatTextArea.spec.tsx +++ b/webview-ui/src/components/chat/__tests__/ChatTextArea.spec.tsx @@ -1206,4 +1206,12 @@ describe("ChatTextArea", () => { expect(sendButton).toHaveClass("pointer-events-auto") }) }) + + describe("model selector", () => { + it("passes the responsive trigger class name to the model selector", () => { + render() + + expect(screen.getByTestId("model-selector-trigger")).toHaveClass("min-w-[28px]") + }) + }) }) diff --git a/webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx b/webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx new file mode 100644 index 0000000000..e259dc8dc8 --- /dev/null +++ b/webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx @@ -0,0 +1,454 @@ +import { providerIdentifiers, retiredProviderIdentifiers } from "@roo-code/types" + +import { render, screen, fireEvent, within } from "@/utils/test-utils" +import { vscode } from "@/utils/vscode" + +import { ModelSelector } from "../ModelSelector" + +vi.mock("@/utils/vscode", () => ({ + vscode: { + postMessage: vi.fn(), + }, +})) + +vi.mock("@/i18n/TranslationContext", () => ({ + useAppTranslation: () => ({ + t: (key: string) => key, + }), +})) + +vi.mock("@/components/ui/hooks/useRooPortal", () => ({ + useRooPortal: () => document.body, +})) + +const { useRouterModelsMock, useSelectedModelMock } = vi.hoisted(() => ({ + useRouterModelsMock: vi.fn(() => ({ data: {} as Record, isLoading: false })), + useSelectedModelMock: vi.fn((): { id: string; info?: { displayName?: string }; isLoading: boolean } => ({ + id: "claude-sonnet-4-5", + isLoading: false, + })), +})) + +vi.mock("@/components/ui/hooks/useRouterModels", () => ({ + useRouterModels: useRouterModelsMock, +})) + +vi.mock("@/components/ui/hooks/useSelectedModel", () => ({ + useSelectedModel: useSelectedModelMock, +})) + +vi.mock("@/components/ui", () => ({ + Popover: ({ children, open }: any) => ( +
+ {children} +
+ ), + PopoverTrigger: ({ children, disabled, ...props }: any) => ( + + ), + PopoverContent: ({ children }: any) =>
{children}
, + StandardTooltip: ({ children }: any) => <>{children}, +})) + +const manyDynamicModels = Object.fromEntries(Array.from({ length: 8 }, (_, index) => [`openrouter/model-${index}`, {}])) + +describe("ModelSelector", () => { + beforeEach(() => { + vi.clearAllMocks() + useRouterModelsMock.mockReturnValue({ data: {}, isLoading: false }) + useSelectedModelMock.mockReturnValue({ id: "claude-sonnet-4-5", isLoading: false }) + }) + + it("renders the static model list for a static provider and sends upsertApiConfiguration on select", () => { + render( + , + ) + + expect(screen.getByTestId("model-selector-trigger")).not.toBeDisabled() + + const anotherModel = screen.getAllByText(/claude-3-5-haiku/i)[0] + fireEvent.click(anotherModel) + + expect(vscode.postMessage).toHaveBeenCalledWith( + expect.objectContaining({ + type: "upsertApiConfiguration", + text: "default", + apiConfiguration: expect.objectContaining({ apiModelId: expect.stringContaining("claude-3-5-haiku") }), + }), + ) + }) + + it("resets reasoning/thinking-token overrides and closes the popover after selecting a model", () => { + render( + , + ) + + fireEvent.click(screen.getAllByText(/claude-3-5-haiku/i)[0]) + + expect(vscode.postMessage).toHaveBeenCalledWith( + expect.objectContaining({ + apiConfiguration: expect.objectContaining({ + reasoningEffort: undefined, + modelMaxTokens: undefined, + modelMaxThinkingTokens: undefined, + }), + }), + ) + expect(screen.getByTestId("popover-root")).toHaveAttribute("data-open", "false") + }) + + it("prefers a model's displayName over its raw id when present", () => { + useRouterModelsMock.mockReturnValue({ + data: { + openrouter: { + "openrouter/model-a": { displayName: "Model A (friendly)" }, + "openrouter/model-b": {}, + }, + }, + isLoading: false, + }) + useSelectedModelMock.mockReturnValue({ + id: "openrouter/model-a", + info: { displayName: "Model A (friendly)" }, + isLoading: false, + }) + + render( + , + ) + + // Trigger shows the displayName, not the raw id. + expect(screen.getByTestId("model-selector-trigger")).toHaveTextContent("Model A (friendly)") + expect(screen.queryByText("openrouter/model-a")).not.toBeInTheDocument() + + // List item for the model without a displayName still falls back to its raw id. + expect(screen.getByText("openrouter/model-b")).toBeInTheDocument() + }) + + it("renders the dynamic router model list for a dynamic provider", () => { + useRouterModelsMock.mockReturnValue({ + data: { openrouter: { "openrouter/model-a": {}, "openrouter/model-b": {} } }, + isLoading: false, + }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-a", isLoading: false }) + + render( + , + ) + + expect(screen.getByText("openrouter/model-b")).toBeInTheDocument() + + fireEvent.click(screen.getByText("openrouter/model-b")) + + expect(vscode.postMessage).toHaveBeenCalledWith( + expect.objectContaining({ + type: "upsertApiConfiguration", + apiConfiguration: expect.objectContaining({ openRouterModelId: "openrouter/model-b" }), + }), + ) + }) + + it("requests router models for a dynamic provider with fetching enabled", () => { + render( + , + ) + + expect(useRouterModelsMock).toHaveBeenCalledWith({ + provider: providerIdentifiers.openrouter, + enabled: true, + }) + }) + + it("requests router models with fetching disabled for a static provider", () => { + render( + , + ) + + expect(useRouterModelsMock).toHaveBeenCalledWith({ + provider: undefined, + enabled: false, + }) + }) + + it("shows the disabled view with an openrouter fallback label for a retired provider", () => { + useSelectedModelMock.mockReturnValue({ id: "", isLoading: false }) + + render( + , + ) + + // Retired providers have no model config of their own, so they never fetch router + // models and always render the unsupported/disabled view with an openrouter fallback. + expect(useRouterModelsMock).toHaveBeenCalledWith({ provider: undefined, enabled: false }) + expect(screen.getByTestId("model-selector-disabled")).toHaveTextContent(providerIdentifiers.openrouter) + }) + + it("disables the selector for a provider outside the supported scope", () => { + useSelectedModelMock.mockReturnValue({ id: "", isLoading: false }) + + render( + , + ) + + expect(screen.queryByTestId("model-selector-trigger")).not.toBeInTheDocument() + expect(screen.getByTestId("model-selector-disabled")).toBeInTheDocument() + + fireEvent.click(screen.getByTestId("model-selector-disabled")) + + expect(vscode.postMessage).toHaveBeenCalledWith(expect.objectContaining({ type: "switchTab", tab: "settings" })) + }) + + it("falls back to the provider name in the unsupported trigger when there is no selected model label", () => { + useSelectedModelMock.mockReturnValue({ id: "", isLoading: false }) + + render( + , + ) + + expect(screen.getByTestId("model-selector-disabled")).toHaveTextContent(providerIdentifiers.ollama) + }) + + it("disables the enabled selector's trigger when the disabled prop is set", () => { + render( + , + ) + + const trigger = screen.getByTestId("model-selector-trigger") + expect(trigger).toBeDisabled() + expect(trigger).toHaveClass("cursor-not-allowed") + expect(trigger).not.toHaveClass("opacity-100") + }) + + it("shows the loading label instead of the selected model while the selection is loading", () => { + useSelectedModelMock.mockReturnValue({ id: "claude-sonnet-4-5", isLoading: true }) + + render( + , + ) + + const trigger = screen.getByTestId("model-selector-trigger") + expect(trigger).toHaveTextContent("common:ui.loading") + expect(trigger).not.toHaveTextContent("claude-sonnet-4-5") + }) + + it("does not open the popover until the user interacts with the trigger", () => { + render( + , + ) + + expect(screen.getByTestId("popover-root")).toHaveAttribute("data-open", "false") + }) + + it("does not append anything to the trigger class name by default", () => { + render( + , + ) + + expect(screen.getByTestId("model-selector-trigger")).not.toHaveClass("Stryker") + }) + + it("applies a custom trigger class name when provided", () => { + render( + , + ) + + expect(screen.getByTestId("model-selector-trigger")).toHaveClass("my-custom-trigger") + }) + + it("highlights the currently selected model with a check mark and not other models", () => { + useRouterModelsMock.mockReturnValue({ + data: { openrouter: { "openrouter/model-a": {}, "openrouter/model-b": {} } }, + isLoading: false, + }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-a", isLoading: false }) + + render( + , + ) + + const list = within(screen.getByTestId("popover-content")) + const currentItem = list.getByText("openrouter/model-a").parentElement + const otherItem = list.getByText("openrouter/model-b").parentElement + + expect(currentItem).toHaveClass("bg-vscode-list-activeSelectionBackground") + expect(currentItem?.querySelector(".codicon-check")).toBeInTheDocument() + + expect(otherItem).not.toHaveClass("bg-vscode-list-activeSelectionBackground") + expect(otherItem?.querySelector(".codicon-check")).not.toBeInTheDocument() + }) + + it("does not show a search box when there are few models", () => { + useRouterModelsMock.mockReturnValue({ + data: { openrouter: { "openrouter/model-a": {}, "openrouter/model-b": {} } }, + isLoading: false, + }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-a", isLoading: false }) + + render( + , + ) + + expect(screen.queryByLabelText("common:ui.search_placeholder")).not.toBeInTheDocument() + }) + + it("shows an empty search box above the search threshold and filters the model list as the user types", () => { + useRouterModelsMock.mockReturnValue({ data: { openrouter: manyDynamicModels }, isLoading: false }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-0", isLoading: false }) + + render( + , + ) + + const searchInput = screen.getByLabelText("common:ui.search_placeholder") + expect(searchInput).toHaveValue("") + const list = within(screen.getByTestId("popover-content")) + expect(Object.keys(manyDynamicModels).every((id) => list.getByText(id) !== null)).toBe(true) + + fireEvent.change(searchInput, { target: { value: "model-3" } }) + + expect(list.getByText("openrouter/model-3")).toBeInTheDocument() + expect(list.queryByText("openrouter/model-0")).not.toBeInTheDocument() + }) + + it("shows a no-results message when the search does not match any model", () => { + useRouterModelsMock.mockReturnValue({ data: { openrouter: manyDynamicModels }, isLoading: false }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-0", isLoading: false }) + + render( + , + ) + + fireEvent.change(screen.getByLabelText("common:ui.search_placeholder"), { + target: { value: "no-such-model" }, + }) + + expect(screen.getByText("common:ui.no_results")).toBeInTheDocument() + }) + + it("shows a clear icon only once the user has typed a search value, and clears the search when clicked", () => { + useRouterModelsMock.mockReturnValue({ data: { openrouter: manyDynamicModels }, isLoading: false }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-0", isLoading: false }) + + const { container } = render( + , + ) + + expect(container.querySelector(".codicon-close")).not.toBeInTheDocument() + + const searchInput = screen.getByLabelText("common:ui.search_placeholder") + fireEvent.change(searchInput, { target: { value: "model-3" } }) + + const clearIcon = container.querySelector(".codicon-close") + expect(clearIcon).toBeInTheDocument() + + fireEvent.click(clearIcon as Element) + + expect(searchInput).toHaveValue("") + expect(container.querySelector(".codicon-close")).not.toBeInTheDocument() + expect(within(screen.getByTestId("popover-content")).getByText("openrouter/model-0")).toBeInTheDocument() + }) +}) diff --git a/webview-ui/src/i18n/locales/ca/chat.json b/webview-ui/src/i18n/locales/ca/chat.json index 87cec9f61f..e5447e1d21 100644 --- a/webview-ui/src/i18n/locales/ca/chat.json +++ b/webview-ui/src/i18n/locales/ca/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "Selecciona el mode d'interacció", "selectApiConfig": "Seleccioneu la configuració de l'API", + "selectModel": "Seleccioneu el model", + "selectModelUnsupported": "La selecció de model no està disponible per a aquest proveïdor aquí. Feu clic per obrir la configuració.", "lockApiConfigAcrossModes": "Bloqueja la configuració de l'API a tots els modes en aquest espai de treball", "unlockApiConfigAcrossModes": "La configuració de l'API està bloquejada a tots els modes en aquest espai de treball (fes clic per desbloquejar)", "enhancePrompt": "Millora la sol·licitud amb context addicional", diff --git a/webview-ui/src/i18n/locales/de/chat.json b/webview-ui/src/i18n/locales/de/chat.json index b9591fe3aa..2e5705be01 100644 --- a/webview-ui/src/i18n/locales/de/chat.json +++ b/webview-ui/src/i18n/locales/de/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "Interaktionsmodus auswählen", "selectApiConfig": "API-Konfiguration auswählen", + "selectModel": "Modell auswählen", + "selectModelUnsupported": "Die Modellauswahl ist für diesen Anbieter hier nicht verfügbar. Klicken Sie, um die Einstellungen zu öffnen.", "lockApiConfigAcrossModes": "API-Konfiguration für alle Modi in diesem Arbeitsbereich sperren", "unlockApiConfigAcrossModes": "API-Konfiguration ist für alle Modi in diesem Arbeitsbereich gesperrt (klicke zum Entsperren)", "enhancePrompt": "Prompt mit zusätzlichem Kontext verbessern", diff --git a/webview-ui/src/i18n/locales/en/chat.json b/webview-ui/src/i18n/locales/en/chat.json index fe241f6145..cb9de2f009 100644 --- a/webview-ui/src/i18n/locales/en/chat.json +++ b/webview-ui/src/i18n/locales/en/chat.json @@ -140,6 +140,8 @@ }, "selectMode": "Select mode for interaction", "selectApiConfig": "Select API configuration", + "selectModel": "Select model", + "selectModelUnsupported": "Model selection isn't available for this provider here. Click to open settings.", "lockApiConfigAcrossModes": "Lock API configuration across all modes in this workspace", "unlockApiConfigAcrossModes": "API configuration is locked across all modes in this workspace (click to unlock)", "enhancePrompt": "Enhance prompt with additional context", diff --git a/webview-ui/src/i18n/locales/es/chat.json b/webview-ui/src/i18n/locales/es/chat.json index 1cbeab08e4..cafbf7732d 100644 --- a/webview-ui/src/i18n/locales/es/chat.json +++ b/webview-ui/src/i18n/locales/es/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "Seleccionar modo de interacción", "selectApiConfig": "Seleccionar configuración de API", + "selectModel": "Seleccionar modelo", + "selectModelUnsupported": "La selección de modelo no está disponible para este proveedor aquí. Haga clic para abrir la configuración.", "lockApiConfigAcrossModes": "Bloquear la configuración de API en todos los modos de este espacio de trabajo", "unlockApiConfigAcrossModes": "La configuración de API está bloqueada en todos los modos de este espacio de trabajo (clic para desbloquear)", "enhancePrompt": "Mejorar el mensaje con contexto adicional", diff --git a/webview-ui/src/i18n/locales/fr/chat.json b/webview-ui/src/i18n/locales/fr/chat.json index 7ab8213cd5..c70b2a1fc4 100644 --- a/webview-ui/src/i18n/locales/fr/chat.json +++ b/webview-ui/src/i18n/locales/fr/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "Sélectionner le mode d'interaction", "selectApiConfig": "Sélectionner la configuration de l'API", + "selectModel": "Sélectionner le modèle", + "selectModelUnsupported": "La sélection du modèle n'est pas disponible pour ce fournisseur ici. Cliquez pour ouvrir les paramètres.", "lockApiConfigAcrossModes": "Verrouiller la configuration API pour tous les modes dans cet espace de travail", "unlockApiConfigAcrossModes": "La configuration API est verrouillée pour tous les modes dans cet espace de travail (cliquer pour déverrouiller)", "enhancePrompt": "Améliorer la requête avec un contexte supplémentaire", diff --git a/webview-ui/src/i18n/locales/hi/chat.json b/webview-ui/src/i18n/locales/hi/chat.json index 8b57cefc89..c4c2bfd8cd 100644 --- a/webview-ui/src/i18n/locales/hi/chat.json +++ b/webview-ui/src/i18n/locales/hi/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "इंटरैक्शन मोड चुनें", "selectApiConfig": "एपीआई कॉन्फ़िगरेशन का चयन करें", + "selectModel": "मॉडल चुनें", + "selectModelUnsupported": "इस प्रदाता के लिए यहां मॉडल चयन उपलब्ध नहीं है। सेटिंग्स खोलने के लिए क्लिक करें।", "lockApiConfigAcrossModes": "इस कार्यक्षेत्र में सभी मोड के लिए API कॉन्फ़िगरेशन लॉक करें", "unlockApiConfigAcrossModes": "इस कार्यक्षेत्र में सभी मोड के लिए API कॉन्फ़िगरेशन लॉक है (अनलॉक करने के लिए क्लिक करें)", "enhancePrompt": "अतिरिक्त संदर्भ के साथ प्रॉम्प्ट बढ़ाएँ", diff --git a/webview-ui/src/i18n/locales/id/chat.json b/webview-ui/src/i18n/locales/id/chat.json index fe3d6808d8..5d8222ad7f 100644 --- a/webview-ui/src/i18n/locales/id/chat.json +++ b/webview-ui/src/i18n/locales/id/chat.json @@ -143,6 +143,8 @@ }, "selectMode": "Pilih mode untuk interaksi", "selectApiConfig": "Pilih konfigurasi API", + "selectModel": "Pilih model", + "selectModelUnsupported": "Pemilihan model tidak tersedia untuk penyedia ini di sini. Klik untuk membuka pengaturan.", "lockApiConfigAcrossModes": "Kunci konfigurasi API di semua mode dalam workspace ini", "unlockApiConfigAcrossModes": "Konfigurasi API terkunci di semua mode dalam workspace ini (klik untuk membuka kunci)", "enhancePrompt": "Tingkatkan prompt dengan konteks tambahan", diff --git a/webview-ui/src/i18n/locales/it/chat.json b/webview-ui/src/i18n/locales/it/chat.json index 9dcfd68997..fcbc121ec5 100644 --- a/webview-ui/src/i18n/locales/it/chat.json +++ b/webview-ui/src/i18n/locales/it/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "Seleziona modalità di interazione", "selectApiConfig": "Seleziona la configurazione API", + "selectModel": "Seleziona modello", + "selectModelUnsupported": "La selezione del modello non è disponibile per questo provider qui. Fai clic per aprire le impostazioni.", "lockApiConfigAcrossModes": "Blocca la configurazione API per tutte le modalità in questo workspace", "unlockApiConfigAcrossModes": "La configurazione API è bloccata per tutte le modalità in questo workspace (clicca per sbloccare)", "enhancePrompt": "Migliora prompt con contesto aggiuntivo", diff --git a/webview-ui/src/i18n/locales/ja/chat.json b/webview-ui/src/i18n/locales/ja/chat.json index f098c68879..2ede184d60 100644 --- a/webview-ui/src/i18n/locales/ja/chat.json +++ b/webview-ui/src/i18n/locales/ja/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "対話モードを選択", "selectApiConfig": "API構成を選択", + "selectModel": "モデルを選択", + "selectModelUnsupported": "このプロバイダーではここでモデルを選択できません。クリックして設定を開きます。", "lockApiConfigAcrossModes": "このワークスペースのすべてのモードでAPI構成をロック", "unlockApiConfigAcrossModes": "このワークスペースのすべてのモードでAPI構成がロックされています(クリックで解除)", "enhancePrompt": "追加コンテキストでプロンプトを強化", diff --git a/webview-ui/src/i18n/locales/ko/chat.json b/webview-ui/src/i18n/locales/ko/chat.json index 7c1b51f934..3beed9fa9d 100644 --- a/webview-ui/src/i18n/locales/ko/chat.json +++ b/webview-ui/src/i18n/locales/ko/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "상호작용 모드 선택", "selectApiConfig": "API 구성 선택", + "selectModel": "모델 선택", + "selectModelUnsupported": "이 공급자는 여기서 모델을 선택할 수 없습니다. 클릭하면 설정으로 이동합니다.", "lockApiConfigAcrossModes": "이 워크스페이스의 모든 모드에서 API 구성 잠금", "unlockApiConfigAcrossModes": "이 워크스페이스의 모든 모드에서 API 구성이 잠겨 있습니다 (클릭하여 해제)", "enhancePrompt": "추가 컨텍스트로 프롬프트 향상", diff --git a/webview-ui/src/i18n/locales/nl/chat.json b/webview-ui/src/i18n/locales/nl/chat.json index d75e451b81..0e1f0a0d4c 100644 --- a/webview-ui/src/i18n/locales/nl/chat.json +++ b/webview-ui/src/i18n/locales/nl/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "Selecteer modus voor interactie", "selectApiConfig": "Selecteer API-configuratie", + "selectModel": "Selecteer model", + "selectModelUnsupported": "Modelselectie is hier niet beschikbaar voor deze provider. Klik om instellingen te openen.", "lockApiConfigAcrossModes": "API-configuratie vergrendelen voor alle modi in deze werkruimte", "unlockApiConfigAcrossModes": "API-configuratie is vergrendeld voor alle modi in deze werkruimte (klik om te ontgrendelen)", "enhancePrompt": "Prompt verbeteren met extra context", diff --git a/webview-ui/src/i18n/locales/pl/chat.json b/webview-ui/src/i18n/locales/pl/chat.json index 9769c48201..49aa35ec05 100644 --- a/webview-ui/src/i18n/locales/pl/chat.json +++ b/webview-ui/src/i18n/locales/pl/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "Wybierz tryb interakcji", "selectApiConfig": "Wybierz konfigurację API", + "selectModel": "Wybierz model", + "selectModelUnsupported": "Wybór modelu nie jest tutaj dostępny dla tego dostawcy. Kliknij, aby otworzyć ustawienia.", "lockApiConfigAcrossModes": "Zablokuj konfigurację API dla wszystkich trybów w tym obszarze roboczym", "unlockApiConfigAcrossModes": "Konfiguracja API jest zablokowana dla wszystkich trybów w tym obszarze roboczym (kliknij, aby odblokować)", "enhancePrompt": "Ulepsz podpowiedź dodatkowym kontekstem", diff --git a/webview-ui/src/i18n/locales/pt-BR/chat.json b/webview-ui/src/i18n/locales/pt-BR/chat.json index 1ce9610adc..0c9af12bb4 100644 --- a/webview-ui/src/i18n/locales/pt-BR/chat.json +++ b/webview-ui/src/i18n/locales/pt-BR/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "Selecionar modo de interação", "selectApiConfig": "Selecionar configuração da API", + "selectModel": "Selecionar modelo", + "selectModelUnsupported": "A seleção de modelo não está disponível para este provedor aqui. Clique para abrir as configurações.", "lockApiConfigAcrossModes": "Bloquear configuração da API em todos os modos neste workspace", "unlockApiConfigAcrossModes": "A configuração da API está bloqueada em todos os modos neste workspace (clique para desbloquear)", "enhancePrompt": "Aprimorar prompt com contexto adicional", diff --git a/webview-ui/src/i18n/locales/ru/chat.json b/webview-ui/src/i18n/locales/ru/chat.json index 4195d4d705..450e7b2663 100644 --- a/webview-ui/src/i18n/locales/ru/chat.json +++ b/webview-ui/src/i18n/locales/ru/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "Выберите режим взаимодействия", "selectApiConfig": "Выберите конфигурацию API", + "selectModel": "Выберите модель", + "selectModelUnsupported": "Выбор модели недоступен для этого провайдера здесь. Нажмите, чтобы открыть настройки.", "lockApiConfigAcrossModes": "Заблокировать конфигурацию API для всех режимов в этом рабочем пространстве", "unlockApiConfigAcrossModes": "Конфигурация API заблокирована для всех режимов в этом рабочем пространстве (нажми, чтобы разблокировать)", "enhancePrompt": "Улучшить запрос с дополнительным контекстом", diff --git a/webview-ui/src/i18n/locales/tr/chat.json b/webview-ui/src/i18n/locales/tr/chat.json index 9fdffcd14b..0d0f1b1bf9 100644 --- a/webview-ui/src/i18n/locales/tr/chat.json +++ b/webview-ui/src/i18n/locales/tr/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "Etkileşim modunu seçin", "selectApiConfig": "API yapılandırmasını seçin", + "selectModel": "Model seçin", + "selectModelUnsupported": "Bu sağlayıcı için model seçimi burada kullanılamıyor. Ayarları açmak için tıklayın.", "lockApiConfigAcrossModes": "Bu çalışma alanındaki tüm modlarda API yapılandırmasını kilitle", "unlockApiConfigAcrossModes": "Bu çalışma alanındaki tüm modlarda API yapılandırması kilitli (kilidi açmak için tıkla)", "enhancePrompt": "Ek bağlamla istemi geliştir", diff --git a/webview-ui/src/i18n/locales/vi/chat.json b/webview-ui/src/i18n/locales/vi/chat.json index 2812fbdccf..9443fa3702 100644 --- a/webview-ui/src/i18n/locales/vi/chat.json +++ b/webview-ui/src/i18n/locales/vi/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "Chọn chế độ tương tác", "selectApiConfig": "Chọn cấu hình API", + "selectModel": "Chọn mô hình", + "selectModelUnsupported": "Không thể chọn mô hình cho nhà cung cấp này ở đây. Nhấn để mở cài đặt.", "lockApiConfigAcrossModes": "Khóa cấu hình API cho tất cả chế độ trong workspace này", "unlockApiConfigAcrossModes": "Cấu hình API đã bị khóa cho tất cả chế độ trong workspace này (nhấn để mở khóa)", "enhancePrompt": "Nâng cao yêu cầu với ngữ cảnh bổ sung", diff --git a/webview-ui/src/i18n/locales/zh-CN/chat.json b/webview-ui/src/i18n/locales/zh-CN/chat.json index 5575dad5df..ed6fdce1db 100644 --- a/webview-ui/src/i18n/locales/zh-CN/chat.json +++ b/webview-ui/src/i18n/locales/zh-CN/chat.json @@ -113,6 +113,8 @@ }, "selectMode": "选择交互模式", "selectApiConfig": "选择 API 配置", + "selectModel": "选择模型", + "selectModelUnsupported": "此提供商在此处不支持模型选择。点击以打开设置。", "lockApiConfigAcrossModes": "锁定此工作区所有模式的 API 配置", "unlockApiConfigAcrossModes": "此工作区所有模式的 API 配置已锁定(点击解锁)", "enhancePrompt": "增强提示词", diff --git a/webview-ui/src/i18n/locales/zh-TW/chat.json b/webview-ui/src/i18n/locales/zh-TW/chat.json index 184728d6a5..901ac7b30f 100644 --- a/webview-ui/src/i18n/locales/zh-TW/chat.json +++ b/webview-ui/src/i18n/locales/zh-TW/chat.json @@ -140,6 +140,8 @@ }, "selectMode": "選擇互動模式", "selectApiConfig": "選取 API 設定", + "selectModel": "選擇模型", + "selectModelUnsupported": "此提供者在此處無法選取模型。按一下以開啟設定。", "lockApiConfigAcrossModes": "鎖定此工作區所有模式的 API 設定", "unlockApiConfigAcrossModes": "此工作區所有模式的 API 設定已鎖定(點擊解鎖)", "enhancePrompt": "使用額外內容強化提示詞", From d0cc90fa10f82818723e65ad8fea12e7ecf55f89 Mon Sep 17 00:00:00 2001 From: daewoongoh Date: Fri, 4 Sep 2026 14:43:11 +0900 Subject: [PATCH 2/7] test: strengthen ModelSelector mutation test coverage Add tests covering router-model fetch args, tooltip content, search matching by displayName, and search-threshold boundaries; mark a few genuinely equivalent branches with narrow Stryker exclusions. --- .../src/components/chat/ModelSelector.tsx | 16 ++ .../chat/__tests__/ChatTextArea.spec.tsx | 21 +++ .../chat/__tests__/ModelSelector.spec.tsx | 158 +++++++++++++++++- 3 files changed, 193 insertions(+), 2 deletions(-) diff --git a/webview-ui/src/components/chat/ModelSelector.tsx b/webview-ui/src/components/chat/ModelSelector.tsx index 0909bc79d5..0e3c48d504 100644 --- a/webview-ui/src/components/chat/ModelSelector.tsx +++ b/webview-ui/src/components/chat/ModelSelector.tsx @@ -57,6 +57,9 @@ export const ModelSelector = ({ const { id: selectedModelId, info: selectedModelInfo, isLoading } = useSelectedModel(apiConfiguration) const models: ModelRecord = useMemo(() => { + // Stryker disable next-line ConditionalExpression,BlockStatement: every provider that is + // dynamic or has static models also has an entry in PROVIDER_MODEL_CONFIG, so `modelConfig` + // is only ever undefined for providers that would fall through to `{}` below anyway. if (!modelConfig) { return {} } @@ -65,6 +68,9 @@ export const ModelSelector = ({ return routerModels.data?.[dynamicProvider] ?? {} } + // Stryker disable next-line ConditionalExpression: getStaticModelsForProvider already + // falls back to `{}` for a provider missing from MODELS_BY_PROVIDER, so forcing this + // branch to run unconditionally yields the same result as the `false` case below. if (isStaticModelProvider(provider)) { const staticModels = getStaticModelsForProvider(provider, undefined, apiConfiguration) const { "custom-arn": _customArn, ...rest } = staticModels @@ -81,6 +87,8 @@ export const ModelSelector = ({ // Label shown for a model — prefers `ModelInfo.displayName` when present, falling back to // the raw model id (mirrors ModelPicker.tsx's trigger/list label logic). + // Stryker disable next-line ArrayDeclaration: this callback closes over no props or state, so + // its identity across renders isn't observable — only its (unmutated) body behavior is. const getModelLabel = useCallback((modelId: string, info?: ModelInfo) => info?.displayName ?? modelId, []) const selectedModelLabel = getModelLabel(selectedModelId, selectedModelInfo) @@ -101,6 +109,8 @@ export const ModelSelector = ({ ) const filteredModelIds = useMemo(() => { + // Stryker disable next-line ConditionalExpression,BlockStatement: fzf's `find("")` already + // returns every item in its original order, so skipping this shortcut is unobservable. if (!searchValue) { return modelIds } @@ -110,11 +120,17 @@ export const ModelSelector = ({ const handleEditClick = useCallback(() => { vscode.postMessage({ type: "switchTab", tab: "settings" }) + // Stryker disable next-line BooleanLiteral: this button only renders while the popover + // (and its `open` state) doesn't exist, so this call has no observable effect either way. setOpen(false) + // Stryker disable next-line ArrayDeclaration: this callback closes over no props or state. }, []) const handleSelect = useCallback( (modelId: string) => { + // Stryker disable next-line ConditionalExpression,BlockStatement: handleSelect is only + // ever invoked from a rendered model-list item, which requires a non-empty `models` + // map, which in turn requires `modelConfig` to be defined — this guard can't be hit. if (!modelConfig) { return } diff --git a/webview-ui/src/components/chat/__tests__/ChatTextArea.spec.tsx b/webview-ui/src/components/chat/__tests__/ChatTextArea.spec.tsx index 0fb46c932b..8bea0f340d 100644 --- a/webview-ui/src/components/chat/__tests__/ChatTextArea.spec.tsx +++ b/webview-ui/src/components/chat/__tests__/ChatTextArea.spec.tsx @@ -1,3 +1,5 @@ +import type { ReactNode } from "react" + import { providerIdentifiers } from "@roo-code/types" import { defaultModeSlug } from "@roo/modes" @@ -34,6 +36,16 @@ const mockConvertToMentionPath = pathMentions.convertToMentionPath as ReturnType // Mock ExtensionStateContext vi.mock("@src/context/ExtensionStateContext") +vi.mock("@src/components/ui", async (importOriginal) => { + const actual = await importOriginal() + return { + ...actual, + StandardTooltip: ({ children, content }: { children: ReactNode; content?: ReactNode }) => ( +
{children}
+ ), + } +}) + // Custom query function to get the enhance prompt button const getEnhancePromptButton = () => { return screen.getByRole("button", { @@ -1213,5 +1225,14 @@ describe("ChatTextArea", () => { expect(screen.getByTestId("model-selector-trigger")).toHaveClass("min-w-[28px]") }) + + it("passes the selectModel translation as the trigger tooltip", () => { + render() + + expect(screen.getByTestId("model-selector-trigger").closest("[data-tooltip-content]")).toHaveAttribute( + "data-tooltip-content", + "chat:selectModel", + ) + }) }) }) diff --git a/webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx b/webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx index e259dc8dc8..2b674047a2 100644 --- a/webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx +++ b/webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx @@ -17,8 +17,12 @@ vi.mock("@/i18n/TranslationContext", () => ({ }), })) +const { useRooPortalMock } = vi.hoisted(() => ({ + useRooPortalMock: vi.fn(() => document.body), +})) + vi.mock("@/components/ui/hooks/useRooPortal", () => ({ - useRooPortal: () => document.body, + useRooPortal: useRooPortalMock, })) const { useRouterModelsMock, useSelectedModelMock } = vi.hoisted(() => ({ @@ -49,7 +53,7 @@ vi.mock("@/components/ui", () => ({ ), PopoverContent: ({ children }: any) =>
{children}
, - StandardTooltip: ({ children }: any) => <>{children}, + StandardTooltip: ({ children, content }: any) =>
{children}
, })) const manyDynamicModels = Object.fromEntries(Array.from({ length: 8 }, (_, index) => [`openrouter/model-${index}`, {}])) @@ -210,6 +214,18 @@ describe("ModelSelector", () => { }) }) + it("mounts the popover content into the roo portal container", () => { + render( + , + ) + + expect(useRooPortalMock).toHaveBeenCalledWith("roo-portal") + }) + it("shows the disabled view with an openrouter fallback label for a retired provider", () => { useSelectedModelMock.mockReturnValue({ id: "", isLoading: false }) @@ -260,6 +276,26 @@ describe("ModelSelector", () => { expect(screen.getByTestId("model-selector-disabled")).toHaveTextContent(providerIdentifiers.ollama) }) + it("shows the unsupported tooltip content and base classes on the disabled view", () => { + useSelectedModelMock.mockReturnValue({ id: "", isLoading: false }) + + render( + , + ) + + const disabledButton = screen.getByTestId("model-selector-disabled") + expect(disabledButton.closest("[data-tooltip-content]")).toHaveAttribute( + "data-tooltip-content", + "chat:selectModelUnsupported", + ) + expect(disabledButton).toHaveClass("min-w-0") + expect(disabledButton).toHaveClass("opacity-50") + }) + it("disables the enabled selector's trigger when the disabled prop is set", () => { render( { expect(trigger).not.toHaveTextContent("claude-sonnet-4-5") }) + it("shows the title as the enabled trigger's tooltip content and applies the base trigger classes", () => { + render( + , + ) + + const trigger = screen.getByTestId("model-selector-trigger") + expect(trigger.closest("[data-tooltip-content]")).toHaveAttribute("data-tooltip-content", "Select model") + expect(trigger).toHaveClass("min-w-0") + }) + it("does not open the popover until the user interacts with the trigger", () => { render( { expect(otherItem).not.toHaveClass("bg-vscode-list-activeSelectionBackground") expect(otherItem?.querySelector(".codicon-check")).not.toBeInTheDocument() + expect(otherItem).toHaveClass("px-3") + expect(otherItem).toHaveClass("hover:bg-vscode-list-hoverBackground") }) it("does not show a search box when there are few models", () => { @@ -377,6 +429,41 @@ describe("ModelSelector", () => { expect(screen.queryByLabelText("common:ui.search_placeholder")).not.toBeInTheDocument() }) + it("does not show a search box at exactly the search threshold, but does show it just above it", () => { + const atThreshold = Object.fromEntries( + Array.from({ length: 6 }, (_, index) => [`openrouter/model-${index}`, {}]), + ) + useRouterModelsMock.mockReturnValue({ data: { openrouter: atThreshold }, isLoading: false }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-0", isLoading: false }) + + const { rerender } = render( + , + ) + + expect(screen.queryByLabelText("common:ui.search_placeholder")).not.toBeInTheDocument() + + const aboveThreshold = { ...atThreshold, "openrouter/model-6": {} } + useRouterModelsMock.mockReturnValue({ data: { openrouter: aboveThreshold }, isLoading: false }) + + rerender( + , + ) + + expect(screen.getByLabelText("common:ui.search_placeholder")).toBeInTheDocument() + }) + it("shows an empty search box above the search threshold and filters the model list as the user types", () => { useRouterModelsMock.mockReturnValue({ data: { openrouter: manyDynamicModels }, isLoading: false }) useSelectedModelMock.mockReturnValue({ id: "openrouter/model-0", isLoading: false }) @@ -393,6 +480,7 @@ describe("ModelSelector", () => { const searchInput = screen.getByLabelText("common:ui.search_placeholder") expect(searchInput).toHaveValue("") + expect(searchInput).toHaveAttribute("placeholder", "common:ui.search_placeholder") const list = within(screen.getByTestId("popover-content")) expect(Object.keys(manyDynamicModels).every((id) => list.getByText(id) !== null)).toBe(true) @@ -402,6 +490,60 @@ describe("ModelSelector", () => { expect(list.queryByText("openrouter/model-0")).not.toBeInTheDocument() }) + it("clears the search value after selecting a filtered model", () => { + useRouterModelsMock.mockReturnValue({ data: { openrouter: manyDynamicModels }, isLoading: false }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-0", isLoading: false }) + + render( + , + ) + + const searchInput = screen.getByLabelText("common:ui.search_placeholder") + fireEvent.change(searchInput, { target: { value: "model-3" } }) + fireEvent.click(within(screen.getByTestId("popover-content")).getByText("openrouter/model-3")) + + expect(searchInput).toHaveValue("") + }) + + it("matches a model by its displayName, and by its raw id when it has no displayName", () => { + useRouterModelsMock.mockReturnValue({ + data: { + openrouter: Object.fromEntries([ + ["openrouter/model-a", { displayName: "Zebra Special" }], + ...Array.from({ length: 7 }, (_, index) => [`openrouter/model-${index}`, {}]), + ]), + }, + isLoading: false, + }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-a", isLoading: false }) + + render( + , + ) + + const list = within(screen.getByTestId("popover-content")) + const searchInput = screen.getByLabelText("common:ui.search_placeholder") + + fireEvent.change(searchInput, { target: { value: "Zebra" } }) + expect(list.getByText("Zebra Special")).toBeInTheDocument() + + fireEvent.change(searchInput, { target: { value: "model-3" } }) + expect(list.getByText("openrouter/model-3")).toBeInTheDocument() + expect(list.queryByText("Zebra Special")).not.toBeInTheDocument() + }) + it("shows a no-results message when the search does not match any model", () => { useRouterModelsMock.mockReturnValue({ data: { openrouter: manyDynamicModels }, isLoading: false }) useSelectedModelMock.mockReturnValue({ id: "openrouter/model-0", isLoading: false }) @@ -451,4 +593,16 @@ describe("ModelSelector", () => { expect(container.querySelector(".codicon-close")).not.toBeInTheDocument() expect(within(screen.getByTestId("popover-content")).getByText("openrouter/model-0")).toBeInTheDocument() }) + + it("shows the selectModel footer heading in the popover", () => { + render( + , + ) + + expect(within(screen.getByTestId("popover-content")).getByText("chat:selectModel")).toBeInTheDocument() + }) }) From 49861183302578c35b8c6c977fa5312a47445822 Mon Sep 17 00:00:00 2001 From: daewoongoh Date: Fri, 4 Sep 2026 14:52:54 +0900 Subject: [PATCH 3/7] test: cover remaining ModelSelector mutation gaps Add rerender-based tests for stale-memoization scenarios (model list changes, selection changes, config name changes) and a search test that distinguishes a raw id from a self-duplicated id string. --- .../src/components/chat/ModelSelector.tsx | 5 +- .../chat/__tests__/ModelSelector.spec.tsx | 147 ++++++++++++++++++ 2 files changed, 149 insertions(+), 3 deletions(-) diff --git a/webview-ui/src/components/chat/ModelSelector.tsx b/webview-ui/src/components/chat/ModelSelector.tsx index 0e3c48d504..68e7552339 100644 --- a/webview-ui/src/components/chat/ModelSelector.tsx +++ b/webview-ui/src/components/chat/ModelSelector.tsx @@ -120,10 +120,9 @@ export const ModelSelector = ({ const handleEditClick = useCallback(() => { vscode.postMessage({ type: "switchTab", tab: "settings" }) - // Stryker disable next-line BooleanLiteral: this button only renders while the popover - // (and its `open` state) doesn't exist, so this call has no observable effect either way. + // Stryker disable next-line BooleanLiteral,CallExpression: this button only renders while + // the popover (and its `open` state) doesn't exist, so this call has no observable effect. setOpen(false) - // Stryker disable next-line ArrayDeclaration: this callback closes over no props or state. }, []) const handleSelect = useCallback( diff --git a/webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx b/webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx index 2b674047a2..6d10825f42 100644 --- a/webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx +++ b/webview-ui/src/components/chat/__tests__/ModelSelector.spec.tsx @@ -544,6 +544,30 @@ describe("ModelSelector", () => { expect(list.queryByText("Zebra Special")).not.toBeInTheDocument() }) + it("does not search a model's id against itself twice when it has no displayName", () => { + useRouterModelsMock.mockReturnValue({ data: { openrouter: manyDynamicModels }, isLoading: false }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-0", isLoading: false }) + + render( + , + ) + + // A search term that only fuzzy-matches if the id were searched as "id id" (i.e. searched + // against itself twice) must not match, since a model without a displayName is only + // searched against its raw id once. + fireEvent.change(screen.getByLabelText("common:ui.search_placeholder"), { + target: { value: "3 openrouter" }, + }) + + expect(screen.getByText("common:ui.no_results")).toBeInTheDocument() + }) + it("shows a no-results message when the search does not match any model", () => { useRouterModelsMock.mockReturnValue({ data: { openrouter: manyDynamicModels }, isLoading: false }) useSelectedModelMock.mockReturnValue({ id: "openrouter/model-0", isLoading: false }) @@ -605,4 +629,127 @@ describe("ModelSelector", () => { expect(within(screen.getByTestId("popover-content")).getByText("chat:selectModel")).toBeInTheDocument() }) + + it("re-derives the search index when the model list changes on rerender", () => { + useRouterModelsMock.mockReturnValue({ + data: { openrouter: { "openrouter/model-a": {}, ...manyDynamicModels } }, + isLoading: false, + }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-a", isLoading: false }) + + const { rerender } = render( + , + ) + + const searchInput = screen.getByLabelText("common:ui.search_placeholder") + fireEvent.change(searchInput, { target: { value: "brand-new-model" } }) + expect(screen.getByText("common:ui.no_results")).toBeInTheDocument() + + useRouterModelsMock.mockReturnValue({ + data: { openrouter: { "openrouter/brand-new-model": {}, ...manyDynamicModels } }, + isLoading: false, + }) + + rerender( + , + ) + + // The search index must be rebuilt from the new model list, not reused from the first + // render, for the newly-added model to be findable and the removed one to disappear. + expect( + within(screen.getByTestId("popover-content")).getByText("openrouter/brand-new-model"), + ).toBeInTheDocument() + }) + + it("re-renders the model list with fresh click handlers and highlighting when the selection changes", () => { + useRouterModelsMock.mockReturnValue({ + data: { openrouter: { "openrouter/model-a": {}, "openrouter/model-b": {} } }, + isLoading: false, + }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-a", isLoading: false }) + + const { rerender } = render( + , + ) + + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-b", isLoading: false }) + rerender( + , + ) + + const list = within(screen.getByTestId("popover-content")) + expect(list.getByText("openrouter/model-a").parentElement).not.toHaveClass( + "bg-vscode-list-activeSelectionBackground", + ) + expect(list.getByText("openrouter/model-b").parentElement).toHaveClass( + "bg-vscode-list-activeSelectionBackground", + ) + + fireEvent.click(list.getByText("openrouter/model-a")) + + expect(vscode.postMessage).toHaveBeenCalledWith( + expect.objectContaining({ + apiConfiguration: expect.objectContaining({ openRouterModelId: "openrouter/model-a" }), + }), + ) + }) + + it("sends the current config name on select even after it changes on rerender", () => { + useRouterModelsMock.mockReturnValue({ + data: { openrouter: { "openrouter/model-a": {}, "openrouter/model-b": {} } }, + isLoading: false, + }) + useSelectedModelMock.mockReturnValue({ id: "openrouter/model-a", isLoading: false }) + + const { rerender } = render( + , + ) + + rerender( + , + ) + + fireEvent.click(within(screen.getByTestId("popover-content")).getByText("openrouter/model-b")) + + expect(vscode.postMessage).toHaveBeenCalledWith(expect.objectContaining({ text: "config-two" })) + }) }) From ca271648513b7233b8cf4f6a04ee1e5965fb4c38 Mon Sep 17 00:00:00 2001 From: daewoongoh Date: Fri, 4 Sep 2026 14:58:20 +0900 Subject: [PATCH 4/7] fix: place Stryker disable directive so it actually attaches Restructure handleEditClick's useCallback so the deps-array disable comment sits directly above the array on its own line, matching the pattern already used for handleSelect; the previous placement (right before the callback's closing brace) wasn't recognized by Stryker's comment-attachment logic. --- .../src/components/chat/ModelSelector.tsx | 17 +++++++++++------ 1 file changed, 11 insertions(+), 6 deletions(-) diff --git a/webview-ui/src/components/chat/ModelSelector.tsx b/webview-ui/src/components/chat/ModelSelector.tsx index 68e7552339..8521d077b1 100644 --- a/webview-ui/src/components/chat/ModelSelector.tsx +++ b/webview-ui/src/components/chat/ModelSelector.tsx @@ -118,12 +118,17 @@ export const ModelSelector = ({ return fzfInstance.find(searchValue).map((result) => result.item.original) }, [modelIds, searchValue, fzfInstance]) - const handleEditClick = useCallback(() => { - vscode.postMessage({ type: "switchTab", tab: "settings" }) - // Stryker disable next-line BooleanLiteral,CallExpression: this button only renders while - // the popover (and its `open` state) doesn't exist, so this call has no observable effect. - setOpen(false) - }, []) + const handleEditClick = useCallback( + () => { + vscode.postMessage({ type: "switchTab", tab: "settings" }) + // Stryker disable next-line BooleanLiteral,CallExpression: this button only renders + // while the popover (and its `open` state) doesn't exist, so this call has no + // observable effect either way. + setOpen(false) + }, + // Stryker disable next-line ArrayDeclaration: this callback closes over no props or state. + [], + ) const handleSelect = useCallback( (modelId: string) => { From dd489248f70f434331f75ef1e4c8c4cecab7d7e4 Mon Sep 17 00:00:00 2001 From: daewoongoh Date: Fri, 4 Sep 2026 16:19:34 +0900 Subject: [PATCH 5/7] test: update chat composer visual baselines for the model selector The new ModelSelector button adds a tab stop, so the focus test's 10-press budget no longer reaches the textarea (it now needs an 11th). Bump it to 15 for headroom and regenerate the resting/focus screenshots to include the new model selector button. --- .../chat/__tests__/ChatTextArea.visual.tsx | 2 +- .../chat-composer-focus-dark.png | Bin 9166 -> 9801 bytes ...hat-composer-focus-high-contrast-light.png | Bin 9606 -> 10292 bytes .../chat-composer-focus-high-contrast.png | Bin 9624 -> 10313 bytes .../chat-composer-focus-light.png | Bin 9326 -> 10017 bytes .../chat-composer-resting-dark.png | Bin 9162 -> 9801 bytes ...t-composer-resting-high-contrast-light.png | Bin 9606 -> 10292 bytes .../chat-composer-resting-high-contrast.png | Bin 9624 -> 10313 bytes .../chat-composer-resting-light.png | Bin 9326 -> 10017 bytes 9 files changed, 1 insertion(+), 1 deletion(-) diff --git a/webview-ui/src/components/chat/__tests__/ChatTextArea.visual.tsx b/webview-ui/src/components/chat/__tests__/ChatTextArea.visual.tsx index 9c447fe011..e1beb9ce9e 100644 --- a/webview-ui/src/components/chat/__tests__/ChatTextArea.visual.tsx +++ b/webview-ui/src/components/chat/__tests__/ChatTextArea.visual.tsx @@ -17,7 +17,7 @@ for (const theme of visualThemes) { await page.evaluate(() => (document.activeElement as HTMLElement | null)?.blur()) for ( let index = 0; - index < 10 && !(await editor.evaluate((element) => element === document.activeElement)); + index < 15 && !(await editor.evaluate((element) => element === document.activeElement)); index++ ) { await page.keyboard.press("Tab") diff --git a/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-focus-dark.png b/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-focus-dark.png index 4de566f736bcf2ebeb288f4d8eaea9b509255c29..b829f280789e74525907c49023a86903986e7b0a 100644 GIT binary patch literal 9801 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 diff --git a/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-focus-high-contrast-light.png b/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-focus-high-contrast-light.png index f5c759fad8546da967cdbb07f93b034d78d293be..4d815fe6eb3e9a9dbf68b69fd2f5634be458616d 100644 GIT binary patch literal 10292 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 G2L3Of2;d|D diff --git a/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-focus-high-contrast.png b/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-focus-high-contrast.png index 465ffc0263d816e953f37275f9ceb514223f33bf..dbe2d65f2dfbf0d17887c5fd7ef74b5b17cc4623 100644 GIT binary patch literal 10313 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�T)Xjeo%zI=0Jw}Nu$swu0L3TL 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 L@}d>O`houi$=aJZ diff --git a/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-focus-light.png b/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-focus-light.png index 1f238a4619657763f15f05e20656ec0f08a03eb9..8155d693380379b12a5846709d853211b3e03b48 100644 GIT binary patch literal 10017 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 diff --git a/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-resting-dark.png b/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-resting-dark.png index fad9aa30b923ada5cbd0e6c1f1a5df83319b1d39..b829f280789e74525907c49023a86903986e7b0a 100644 GIT binary patch literal 9801 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 CivmCZ diff --git a/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-resting-high-contrast-light.png b/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-resting-high-contrast-light.png index f5c759fad8546da967cdbb07f93b034d78d293be..4d815fe6eb3e9a9dbf68b69fd2f5634be458616d 100644 GIT binary patch literal 10292 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 G2L3Of2;d|D diff --git a/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-resting-high-contrast.png b/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-resting-high-contrast.png index 465ffc0263d816e953f37275f9ceb514223f33bf..dbe2d65f2dfbf0d17887c5fd7ef74b5b17cc4623 100644 GIT binary patch literal 10313 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�T)Xjeo%zI=0Jw}Nu$swu0L3TL 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 L@}d>O`houi$=aJZ diff --git a/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-resting-light.png b/webview-ui/src/components/chat/__tests__/__screenshots__/chat-composer-resting-light.png index 1f238a4619657763f15f05e20656ec0f08a03eb9..1cb9115d042991a9037e9d68a43d80aa5209255c 100644 GIT binary patch literal 10017 zcmb`NWl)^K7N$vXw*+?&!QI`RAVGq=yAKfDo!}N2Jh%sUw-DUj-F-iD@9vMS+N!Os z{XbP9u z@b;J2&V6UB4<8coD$AgR(E>}z$;ikSNIrcUT(?hoBrLEe=5?iGWQ^%nR#wiy#>FlE zcTrwT3jycvU%!s_CiB=W|AxlI%s##G{1`K1YD9mHW6cX6WMbNv8{)v*x}44c%47-UrPFEfd@||kF;#md0jS` zVXg2PdAl0Sk9yfVFo=cTrSKU zEKoH0rl-;7fC~#@Df?SLwVw57zJ({FX{5Q~kW;%FUGyW=`)u0ORu-eKqfzMBQ<1m( zVJ^>GbvFAzsp`BZ8wxI}Lhvp9{N95rg%y@>5g&6e&|Q8QRCFy8!gP=E@|vmQK;CMG zffhznO-~Hu4~bCCfp4)l!%lRSmi+>R*NksDjf!}PQQ42`tm{}+X5|SJN?0ivCkb}l zZFW1o5x9|#hMs=8)7gly)qF-~m{2c;t;BlR|mv|h#UWAL4>4rfnW zZ&xl~;|sGq52h3aO*T)OPjwsZN%6V4xmSH(TM=lsx3>|o=#&aOij&chmTc;r_y2@p zQkNtcU+qmkza+2vJjy@o&Q$36&g!`7*mpu3^+)T}n#W~-MXy33ZOxp8~h5?_|08)ubc1pF5+&V#u{bsImR|W-*Cg`$b?L7?YRR^+9i6 zUljiCcy`5m83%{+2*$P|1wR!=Qk;z6Wh)-LncJ@hTLW>}dLW18-!9XqhO2Gfw@Xfn z{n3Pi4|{pAMDF@KBdIl}qhClBOV!H?x-hW@pNEn$^p+tcxac5WY~t-HM{} z2R69eovrh@D1dUzPnMb>VNrS*tbOmdlab<0N7D#-T_dYTH-v6amPf5p&kYR?eIE7; zZ&!V@haEaTl{jqn?ZDHKgKp-{_GBF$SujMwc}QkaxhMo&6F)^ml=CFSB_!gLc-+tQ zZEYFi6w*0t`XX_=xySi$35L-Vxj}blJEQ4NKGxQBSuY8S0;$Q#A$E3is)(r z;i?QKuN&+4`7>qOtDwtKBFZzd6U8Wf<*sN#-lAi9&Slj+31kyzI6h|vToz*~APllH zGL6gJyBU`|>2@owi#ET!&gcYR?uP zMfD!5jBR&a%j%xg5-$&j73g|I-)5n@eJ%#66GbQ74$B%O#5BhDxQ4$yj{Cl-yzbk~ zg}bIP!CoEBJ1sRjSWj&<0O^py?PS}y9vsflGo5cp_p*lF>=qDi*=)1OabvZ~s96nm z+8w(-n9lpU#t?<^}Z(Q9%v5fOR+;#H`Sd8OtIQ_|TooFOK1SK2UGP4 z$JlZvk{BU8EVrjC;M5WR@iURfR@^&Cm@`IEW?tUMXxC)Hxao>VDSYlA@0A5@x z5d1Oz+i!okkQ@(j-;HAa;~mre+hxdq#}9#mXCbVgQ;jgmg%-KNV&r9&|cS2)`+gyUqc}1 z1A4gHKN=hw%JnqM_U4EQ4%790b{VcW8tXXBV6(t*TUV6r);e*99d4FAyWh!WIZ3v+o~uSYkTwQ61BN(>+!9@1XMyE@VGJ0I+heS zhuCdZi6-4cv&k^l1HDQROSJ(|B7$Xdq7#&N$tP7Fm!=@-Xa?>2$k+&{IjWS2V2rLz z;6?HH;0V{l8F}2XcPi{Bh@u*5=&p#IZAc6KFe01e+WsNKliIdT(Am(-lUdQyGBOB6 z%mVDLJ@_tyfoBdML(bCCp!rBL$T?t8i6U2+*Uk-6>A4e}&LVKNl65^l<>B!k|H((J zp)mn^R5m6W^i`bW9JkAXDu|g%1BUP2yIt0uPXwv@)FCjbdq&v(q6Y0+DC4gBev5O(9nym8#1vx+7Xvjk4V~91@Gw#)Kh|kYgw@HP z?-Tj2KHe!WG+{EmZyY9(_N@s^5h0D{=Jc#1W;6mXcbk!*CCeqXF}uG-=xt|uuMc1A z!x}X`CGcoVaK1z!Y&NeC?GI#@p5>&rUcu9_zkU(O?eP8)rzQMdZjq13EoYIEm`_1?V$PJa(h+QGL1DIsv6L)_hnYUuw_Fd%W7N*E}AWDz)pj>MePrj+<6GPU^F(cPy24_tBHwJIwb$@xF*i!dPaa zi5kSPL=$evwU6nHB-{60)U$QY&B7BBS{RF3AtSV9gC#xSh8A)w9>nY!o}i(u?Cu(Y z%}7NWfGS1k43iX|I^`lE5zM06(NZiB&RBe_|IRrn>ICLUQg5I(C#><$3i~-a*h`R$ z6>1)*Wh|WGC)F0(z~zL>Xl7Dy-O|492W9HP@L`5#x!1uhd6{?9rA2J4=>|8kGFB1x zug|Bxh13&u6K(}^Ek+p-3}9Y#PWKo#xx!Ycp0DHYmi&zgbw55F`UnJ(oUr9f!c+81 z*)W4s*`)`VxOE(QKgw`Lk&N|uGppg-v)hxas_9#mK)F4(T#n&i67S8!HL$?2LTccC z8O|s`vP(YC%SThhjJu#g5brBKp9`a?I_pg=s^~%$zsBiX5^q1f2D%RB;Kr4vI^zli z?5L4oNqA@udl5(UPuI3a#8eZgL|J=BbeZ6W7>v*Y+{M4KJm&jsrQvh}XC07Q&GKgv zgSmTd#7&4E7#nUf5;^ExSrNmj_j8rMr1R??L*maF>R571*rNL3r8uOKoIWWUS^Qju+IVbRAECIF{0zj_L(FK3~rsa*`JdTJWe675W8tEAFBv+W!^`4pfLp z*m@}sWFb&`qBr5K_go5$C6|n5do`Adz3-hj*v)>qq7J5^n!vROBfDYjqHl}DI8${J zUerTFLxb^@eZNfayqs_LuL4W>0D))(5<6{hQdM8C0)kmscBX*k035aW%5cZhe3g+T zOBoy#yYL5`xurCM&u&e?N-_D~IPSs9?k`;@CLE}VL}q+ z_*38A=Is@Xeek`Sl-yDHrXbs`ZfPSH1=Gri6z0zWxZJV)OE8rUA)p4@r$OhA5KVa@mV2=fEt zEH8HElM6K&deZ4q+4tdY4YF1%4*|*Zi8!VhMg)?DUdEfb@vHCd`<+Ml-&{VRiJ#5I zl%zS-!jCbsZ-H*72f}40vYMMqF5pyuu+U$tihlWs*tpB-j>U$uZtpuiQcZQjSzY^s z7mm%*)YR*_=TGGit@PqhHTA6FJb@(a_>wX!N!~qhs>>UJw`G4*K~)9&6TQZ z7G3gidiHpsD7fZ_t*YyXXPKWg2Ra2-q@QvZep$uYRZ~DXlp+ zE!}QyZ+n13+H3|IAQAjYRNwR^pvTn#5e8_GFQ=MymeWAo=K#kU(jOx_|NY-Mwz)FL z=H@h7%ha0n+I@O^d#z@ENz2M!o@>)|3cY#1PCORU_Lm2%)0I~3dh67Tj9=5Z`4V-H zH^++w^7tQ?OmdFI9p6TewI*)|h}WqCc}-1CDW_J?Yd~pBr952>GXetNYO(%!=*MT} zvzO<`*#RTpKMFm|%i%3EUd zuxyR};X^D(C*{}wcrlTnHNCtAuso03$NtWLLO&vJDCExI*%g&x?8ks&&64*dJN` zGjJyRwT_F63%~>C=jRur{r8z!FtikLiV8rJ`M+pf5^F)cEFva5A3p=shczp5X`?8# z!}kx%S=Vx<#L_~m+D$ha&^>;3k9)-w%!H}|D22GgVwS`}a)$X0+4R-0w^r&{<|459 z-8NDq+uRQy{xJ<@E5nwJXI=I49)wV-CZQoM?lC4;-Gy0`C;c7~E?#~SNIPm|aI zWHY2qIh&QhQmK<^kh=^pqT+A&7vlj7(?mY5-XEd-FDO+eSt2R z1#B}+iT{;%cNFS#I6z_S33m>p=&%H6B8Or-~L-9;s&(HehXd_v-& zQT-{GetBHj0e#kjbU`|ZG_pH4H@Bsw1)w?iH9p!wF$5B7$PPX69QM@`SS@b>Nd(AJ zYCJ|ygTWC6D{BpKtwDFNz!-d-a&pJOpr&jA4%jAVGi6-EV&&(Xn29}o+on{Vn(FiQRSGs0F;MYkiq%e_w`XmjF zLe~H1&z~s^GI=>UKF=$fx5rr~Q3sBZtEds+7EXmhntQx|t^k9@mNI0}Wfz3ONTg0BK2-*HrDTd%e~1Lkd^+GH4DNqi{NrC(8x zB{U`-Tv&1zO21YRv0Em_I7wx%I8Vu6?v4xYW;j{ToOB>^o`;^QrBxfvN6#Hlz^dH| zEk3%N<@}MX$F$sNF5!#7coL$sfNYC8LIse`F}__3Gk~EG85&7eAfl+6l$Dh1NAy=( zJb-+$0Kl+rlsN!+@=fC5J7;go7N|r+P`m+hC=pFyQ3y9j%NfX|>D2(<0o4gsWtVC# z2L?jFjvo(tp7;NfkuO{}7& z?cHo&g}x|(9)vzkvrKWG@e4Np6I@o)HM}LKasD3)M$K-grZ0y}O{}kdcts@NnVFXd z%YVCb`q`|Jp*v`6r958+0zk;U1-ljy7%(*}rq>(svJA@aHh>4801di-44{nFwcDE| zK+iWbF^OX;+k<*-cGwf@T0d@BEqK*)nO6IqAb2$)N}KbyT;~zMW=2P~cB@&&Y=%)k zG|omixPZP1z)$5EK#DK9Z$`a*7?7bN9Q2w`RUM(u26gr2C+jZ!6otJN9f7@~?4xoD zsD^Hy5sg4BInA5`ySspDhf~`bdF;GK;_B+ub~GKDdH;TvXBel^x#Zl9qu(p&cPYBb z6_4Pso>ST<#A5iSG5J%H$V2SD|BW(w-|BoMX}jA%Ov}cJ`n%|TyDZtP?mV@zVVLpW z*B=$ZAh71V3z3m2Ud{gQsAjxnG4~6IO}NrvOryy$fBUB!Kxg}jeMbfc&gNbLPQ~<> z7q8ZGS_T?L^>OHP1=}lyHFX-0MoexeOK%i4OKB4R#cgxK?|iXXr4Zk?vGZt)c7n0h_z@QH)kZcJ^6zx4&Fh0I<#;z{z`vZ5Y&hoOqgYcYqd6)v9Pd;V}u6 zW%9T%MhY(@c3*p^o{ElL;728&wwLkYxbwR~Js&`#=kFJ+D%KqYACGDJUE|4<&vwzFIo`jyBc3Hw8X`tCQ*jqU^>6hppp`UfpHkEcyJKrl$21tUEK^ z000$_4@xUc4a728=H|Oo@O%%tN5W&mWUX|AlrFf!!ot`B`yV-uUe`m22ShgfEeeCx zjZDG{I!QNXmi%2cTilsh`+?;j=%51}@yW*bS-usmH(KG>mFqxTNg;2d<>XApT(Y|b zBq_S%`niW7ivrKF$kb+a=FyN^zWL@EW65Yjwa@k=XrnMC1?T;zUy~Jjf~KBNZ7Z!_ zpYz7^cx&tCqa0}AckI_E(X(dBajwl-9^jc_gVv5&e9`VbPUmYa5?FS0K+t~Fe2@3#@2B4Y4#*)gM-ggtfe6Qhl z+8F_eeq6Zcc`x=4gZThhRI)ul06uOf>m^R2HywmgXXWGxUXHLrDcQANtNZx80GcP} z$GI)nE|7(=vRDIblvCKJEtd)~(mAS&nMC}aOnf+fL@qhnn>oye`x6-*Q&G6AJ4xEM zomOkcH%AL~vdJCh%(9zM3_ZT^p_WF>s797g#pCgmvcL-E3iR0vrJ@)X)%5*KfIf4* zK3y)$s`MQQx>DVdkPpVAdjTaY3D0H@>?>q>op5`r_!Gq&g$@8XvjVB?4G`-y9}E(q z;yaRyAs}BU*^CLFeAY6grKcB%^(e10>d$?ooiIPXk*s?cb!b#+*o*K&aU*$gMM{^H zoV>ddWj2~7Znt}Wj_km@G<?u=CPTTgIoT`(&U!J<}u>(K%esn(4<0HQJ>+@}-+DM4cy3?mTqe=9^ z`|AD?o!_Dhh^xrN@2IgEQ$A2Hr@=+{nwwgu1sbX`b!Hmdo)rZ=!Xx3sjF+gDPOzA? zeEMbGxtQ`Y8zL!`?p_OQLTR*{_|=T;nPBv;NpZi-GC-olv6%%ZN13kx6+Cn{(*!L) za)BZ$+ddZL!<-Xkmu!n)f#JEU#OTZ;CW?!YXWhb*V6(u$=LpM zk#5&^4-{~9TJC#X$c@kmUGlj+h~!0n961v`MU<(!c4IgkRFl$p0l*!VuwRFvcl z+T*2h+C^ha7hM5bL+hkdkCbPr#tbz|ilj?JC^IbZ?7<<)0*(qJ>H2JYpTeA+ESrqCUn+&C)u-~c=XqaP#_fd^#F?US%a~_K(8;- z&7ziIdSdsC@q~6cjblQx&T@0VXsyF~1jiMpaklfBAouHs!2J;FF6c{~4!9%)l$E}# zc7f0wO=cT88P>}%xsY1u+3F}Pa!jsCu~oqDn9`v;lJV@wx(slJ=R~@BT@$G^UK7bl z61FT(wyHnq-g!nES0f)HHzu?21nUy5(X>K0sOpJaNbbtLzgu^?MG6~Bz2m~gXBp?e z{;M){*8{OnSYk%oCTT{c-;X$Bm&J@#iK9Y39&~*MMV~$bl8>U^b{yvS)S3OP??(Uu z0n_$&E})g$d7Z~k^asuH&7z$dQ(9TK@#)J&^;<*-G6A6(A4oAQ=e@K#nD>fSH)T+y z`26tlazlQ?F}~5ZCRQXILm59&Oj^K0=0Yd2F~Aq{j>vj^oX|_~m!>Y3W`*qhi5=OY z8}qFRf#P79Yjo+z)Udvc8416UP{!W6#ya5|-Dgp%0)@b=Tx3?!n$yGj1eVmHDi#Z5&RZU@RdhR>g6aqaF7k%?yV44tQh)auBL z9#n|Sr^7yp7#*+fk7Hhbw`N)hOOn7nI|Ac5z&P}qE2+X@r~A6l_10(Wr5jm@PT@W1 zjv`A@?bS(ce5v1 z30*UeD~sRwd0@WimBCb-#d>iK4;pX8Q!16dL$o0!W{?@bsMqOarTpLmw}}tsp0Y%w zY-l$@hj$eQZP<1d?eU2~v4*Y{Bn}ig8n*$DA)NEKcAH)p-}reUWtBmk)Kvtr+%bp z*>w0m+in0myUm9-J3_y!v9OV=E&;(ULpNgHzLRDJT1^({SwIn9<-c9J+{=r>_*h+e zIcF3TN7|{EH<(&f#e3*@^ixQtAXAlOt&NY}n~+fvl|F{2F?%F_45-QIv>f3p?!J#M zrezj?z|tc$L@y*BkcJ?Ct6WnTOI2ez-viO|gm1Kjgkh5y-*G({oC!G5gdJYNALrpQ z@CzP8@n2*8@g-oKyY4Y z!~lKWB#?#GbVTUaejtUV1zrsQNWp_6oy5-BAa(W@6c2rvqsd5TkF+QLXjhQu(|Nyz zEtQU2f|jlo{xy;+iM|iZE?51vTIeQB(YBA(V4bgPa+X5t#oLaI?;TscK6rU5`V}xi06^)7>>!!s<7L~6oIVa zS#ns+18M3@pD-q7<>0*PbGy@h@&hnDJ|1Ly1V7btA=T$MB?{brL)#GXYr* zrCw_Nwy!UKVX>yGdT<9Q^R(|J7X`j2WM$cw_UizQ_h{{4&lEe6=&p1A$p5Z}Hy`}; zX-HFbC)^>C*iD?OC}-W5L=JNC2J89LhHpO)X3^f~4h3o-Nr4bhjwHcmEA=l@G}3Wy zyA{6o&LU>FiE#c3(dq8~1kcjq5CJgA4{HIa1Fd%+ZLires2^^8x`WBdO76uOl39Nb z-cz3}*P_2xIXpO%3BxhB=;0s_dXGOuq_6r4?EydN6E=iQUl3*@FX?!kCazr91<;EZAQ0RISB87K|*lN(5v6E5+Ung(P zy;Rix7sEK?jihVD{PqSx(cX`R5oG?K&nt<&9l`nE=*oYOGLdy$6uJQ41}Z@|3H)3D z&O;HkuK<{qB#`PsdoAxyugwS`vZQnqU4(IoiOyGh$^eZ54p80S-vdXay4Q;UDCX)~ z|MqT?6kuEE?=MZvNr7{9X%GnX?OVo+1MJ)FP{O&TxRuBDP2W7<_MH_JP!!y2g?~K7 zrU3*<|BJ4!!k2UtDU5}?g`HEUm#>X}HW)PdFbah#Z>P7^LVV6q?TZIvQyyOhf%9#z luO^Hza=-_ex0MVM0{J4x8IhW>6Zj8=w77y;xro01{{XW?f0F}F#6YfWBVj4{w+TE4Fg>#gLf4tZCaOY_PI8HW5)LnD8Z)s9WOXEm%0 zTgl*z$g3y!wVX6e+E6P0T`*nxE)58TFM}^bGj!uI+R-pEXo+uS&5PP`pl~%W?6%*u znYH1SwJ8koGLMRm9tnEE%KBq)POhimcalouCK4t%xl2gW@Gt*QM;(tuV<<(cpUU~O0)(sfQR`d*vpBAkv3%A z639eEAT`O?=EZ=3Z!%pRa1b~Q4m_I<2eSbrBS+d90CG8xI%SraX}>FKy_@Zi7F)Dt zgoBu=H8?dzh09?hm#|HN=2C+aO!7|r{rSAmiPZh8?sN(&s;S(Ub~637`M*nGz_Qeg z$7_yt_XZY|v;6jI4|rX%%lEV)5`r(rcAGp87L6*5#R*;$I}aOHo&D4`sIk5)&jZUu zXvXJg>SivK_!fl?2D~l&^sX8@mi48lae8m?&Mq3*1lV8R&5KNlg@pH{pJ_msuLp;% z{0=gjBsL##xn(e5SSRNPqP_9=FUsU^oe|Ug$c%@?7r*1Z#QbgD0IL;=C2`pwEsLhB ze!*<*ZL?iUOz}7?m!^etb7&IOQxEXHXFBZ4Omu6tc>CdTHd&*wA1-5B_rH|NZ@J-!={BlJKtZJE7r)nzq`2^tZ`ZCIz2trDSMmt^9?dF zWaL+i*TJ;0U)gPu*y&H%gZ3NFrw#M2L$_Ba!UMy@x2w@yDpD-$>=_W}EMa7|R=DZ% ztWGpB2f1Wm>s4qBxj@Oq!|{Z=WSYs4*HXa6+|vE|yxSNhpY?DsI`$7AVyd0x&Jb15 z7pB?S+4~d!lMzU&vF}%K5&p}UFVSR$X6ha1I_6!LKZfI2^3fKdz;9~CBkhF26J`x7gGk#3$T95i6ZrE9*Zzczt0e73EOc7dNoC0`PzB%v41DOxtVr_ zU}1cunFnSMnVNc!`qXaf_Uc)b^;p(Ig^460bS+-uIzn;05w=FJ5Xapx`+RG>Ali+S z&Dg(7LJ z)2&cbQd%{rr+<-x!v`Jh(XjiK+gmqnyrYfcweB;GLCol|*qVkgb{i3xEYarMM}8kV z$`bMf7g*bLl|_H!d>SPWp9_~sz?t?(R_!nxvhhMy3bnzZA-}UpU6yd? ziq_*FfRCk=VorLN->igF`__L{%}DUObhhY-mXb2t$)Kp-S57CJPa1!1EZ!i^{Aq$Z2k^nii4R=UFvS`ONi zlL>1V1BX~dJ$Fq7@kqImHq6JX@qJUq$Sd8q$Nl!3ikz3)Z-=yo2L>9q3)9~=I0YQE zUF3SHiygsX&Z1&xzcp3XI&L?(dLV@=Xf4jdL z3o4vx*>A=kBTsDGtDhSc*Z5>&^MzoWj|t&>D_YER*m3)n>psrTr6~O*ke&BNlalVCk5g zx{Z%Iro?83TjRyJ+I+JI8?`OnX{NNf`jN?8Pmi3R=Hcmt`W#RF6z)_1I{zzIM7GUX zPb9&`!IHCEb%qOOeukjjg{^jx-l-R0*BFBothKnXg}|G=Q(nr>gk_Vkejs~Q5nXy7 zt@bt=uCI_ny9ARX+=1E2IV8{`n%tmkf_Qo*JSLyI3WG7~Tr7sZ1U#qV56orMYxMV9 z@R&BM`64#VwFXMa7FJ&wK#Tko9xr+C zJ&6Cj(h-buGXvu75mRu~x8Ur!J+7^-4a21{51A{#o_I#t?;jl*+4)nJvFhuQaB&#! zQ+j{H;1(uJc(SQsYH8#{{b~xB#cwS_h$TiQ?&fq`)>@~fVJUEKQ%yuyO~JC==1pyGhMHd;w@vL9Y<{1Zh&n z&`R7)4R;1htbv6~b!1n^T!XVhXY8DgDVoTJ1@TV-ce>D@n(Wq}7EkfE{i8X?NWb%S zi9dQd@haL-AvCEq@o6G3E~cVu+vqU*eW;p*MR(%5i+ zX`dlu5RiZ>Lm#fEJ6vP>N2d73U%%~5c&kM^hpRd2yPpw?KJwR!@5}F7<*NvkX@UKp zSSaiKc&l-wuy^Q6#qdUM4RA0kPN9hwfeYekWPY#Ea-0ohS1En;haCU+ZzG8e!ANQe z`L$tZX*LG~UHCFZsihys2=x0Bbknzf7Y!q-8*`^?h3)s0x!QUf{4Evp6layH_v1pJ z)IP1v(IoFA3qzY`9PbKlcHK~#r;K4wN0#mnqT9EWtTrCE7xz17P?F!QW(S{}nb#yE zUPTL~eP5?@k0h}lA?d^Xu}p-6gG)=~q*G+n;;DZ^1|itKy*(L=TqJM!gAltsxV6U} z%nk}&q-^hz;84FRrivZ-U}~X0WB5sfu-Cnstn`_3&%27Xk(SNSPqbZ@BJ)}vsW{xxL=j~A)_tAECks}@25Fjy&5AnPBetnAX0xe4sqvjf968?<=ydSO! z3S~EV$hU-c-JLoklF;cGaNfo+j6oS==8$?9d1;yRi6NZp5n%d^coj^#4pLEu`=j_E z%cyZQL6o>!Gc|LuT*IxzSO#yIc|m68@YnQz)r%2|)DWk6T*&;pVV=5(*LmhPWPXMW zZ-fkP8Lq$5@@0U0ydY}kEuMQ3wRE80Xd0&GZnoy7h8t0A!_=C^WWAPb-h>519rkbG=^{G1P8W1kBK%0$ zLx_2zPmt|sl}&pTEJ}ANWySp}@;3q5;Vtn(ZQ^RfqVJGm&pP06R`r6pePLARqV}}y zU|eOXyjp@Q;-s|CHH1eMMw_?OQ;n#aTLQE!akkXSzauHDkiVC+heQb$J=dCP%p}dF zw&;&zEFO84*AnZ8#w#%x8M>h_^o@o-$s4;^_WeC ze$5jCWWKJr*blQR1DLn!sZH_$dbdA(I&NFD#liIlVg|@b;Z1Vh)6l^7UKxe1R%60< z4beusA4iYhdCv~+Qmc3nf?ggfDQHtlB9PZo$v-T)L8@!nvmdvAQ7pP?W+R+v( zVSD#M8cF!^Ru27t4?|VOxYldR#H7C@@-ZU})cge<(#l5O^l-9WY-m$wGvk+3zmFrR zC<`@(T<_Gif_vzDp*vTll6PG?+G)rTaFZ$jG9~XX7hJOU5*+q_D1-MOxR`_L7*d{u zDU&{OB>=rMYR;I=EHLhIYwoA2pvyLHj9>zwK4A^dN#!!90Tqi@4oJutmHVaFA7{&&i+O zXcFBD#h^G?&EMT9Kk>M~&Rv=&J2Y|S0D`mpgnOIDYsDF&5vJm2k zsC8Os25=zlNS*z3Tx=|(>G58}lIQ+>llC{Ap%f0;PN1MBefVH56a7dn{VP595Wp|6 zO4H8Zkf+aF-&sB!c0a?!#N3&#FsZi0B&%#OsI@VZiTn5Oclrw*K|!fQ0(QTPfyv|| z&=i}!4kRoGKsbl76p&oReGrq7H?U>wCkOvi3jlRNfVs9Dc45cPUDuZ^6so4cJF?%Tn3qMnd`VPRpoD)*r3Kw>Yz<_dxXV(kb7 zw}0k@6fKPC0+g#9H#nS1|KAR2-3)PcI4rdX6scv3?d_vJ#T!nCR1_BvU_q*#WTM#t zdmg^eLjW6J=LtEE1@0dl90aN@uhXE@Vrvtoa5Z4%uJqwy6|ENFPsQf|)Jo+vin0_< z5vV!<@O?e7tNJz8ii(O%>yIAM1vxr8nn4r`dP1b}E1dmKx6D{E9zD++*xTSY6?#>{ z7Qu*_1*VKg&w)RSi2Yq*($U!12yiH-;eXeh?WRg?yYR)e>Hb%q|NrTJa-{!#!%E1; zP^x;Cn9t^DCe!VI#+JBRPr6w2a|Q_CT7SGrn{OQ^^FPN5$rATNgfJ?n0L+yGvfw@e z%?{8pG<4`fdR)on7r=2NBO?K+L%y*{CGA5(0=HQgoUNkO74WA1I7&XEsDDlYA|P-B z5b;>HWcFIQQA_RuKpmYY3UQyxhT{cXZKT%J)Tp9A#u~;F4waaYxOf0Sxy~&BOwO#9 zAq3D?fIhY#^-=goMzSrw1Z{J)b{3^YLXg*9`4fs8u-sA zB5Vc^SGqMdHC1gAA8q42lO~r;Ik^ZB%bkjjcAHZ1-PBAo}Q5F`T&pt2(14z z_QL$9O1U6mmjAn(V6?g@D5Ra1`u~$t{GM&}%c0+MaiDU|pMC4CKxmjr;?TlDE8P%L zyy6v-yo>c)_gXQb!MI$a(ujR+D6GuE8#mVj9bFoqjKePQ=ff&4y9&e1++XEeu&bv zQk1>nx8s;9O3oef9_n28y~VZ`<2K(%5s#q~I!1N3k^iWn{dcH<&CrgDhVUpwlGDV9DdiEcpW{%up`;@qsyI{GgoV@aO0>R?1DQbV#5>>=^*UmUe#E$t<4KD^K&9`J_gXA6>XYAP z2Gj7A@7RzVBRMtT`CdH%AI}~27J%CK5wkbtd{1#!G^am^J{nYGJ5d;lP2x0DY4&h` zXKXTAZbY#sulEafqAXRXTdK$7y8cSi$ECWW>CfjTx6Le{KWVg6`@oa^gzf{vgXzi2 z8%yB&s_RlqH$K<7!v=Vazk7nTn@H%@a2{gWWd?zqcix4~g+nQF3P^Bet50IB34(?C zz!0}T!}>s!?@X2LwU62sW$IX`$-SzqyZct(4Ty6letUI5l7PQKlVOE4a^HA56sI=1 z=$ap_{;0#CSgC&)k42${yLewLcxenvhdl9N#q`V}_|U!*M$s2b(E!9e@G&-S9=BD^roKVw-#>P)G zR$p?zA9OrOfFXUa0U=LK^3EM4Pof6g{z=f0ys)#ZVe#!BUO;sdoazAL;?OyRf`A6l zh|)(hMg17d-`14?2{mx^dcWo1Q4aZ3QH!(Te0zut0g}8);WTI4>6VU z3jjhZ^B*+;1Y^k4PsKFk=F+u<4hSA2>g+Y*0SsUqa5lNY;sRh2mB|nB4xlJNit-X_ zTn@%Y)I0865$zyjqq-&4b;9AV?=~z0)g~!x$p2Inzxmqu!Vg+ds#^6_canR%sNdP% z;Kti^WpRz|LC4(%wRzivs-z7-Gk||4`-EPdY^I)1ieJoI{OAXE{87gvppm#elx?P_ zj{Q03*svhqk>dI5_SQcp_*jUVFj&X+u!lhXOC*!a7euO|Yvc(SN)UGwgwO` zJ^q@!4LgPeUVbmOUuwV8)-~F2j|Hz_)f56Ig$oEt{a; zVhGtx$_wawQUf&9R{W~+`@?Wae&@wj08mJT^B2v8qsz)husi9xt9VKm=-piHF-0 zK+4|qu?^12+6)BT6A;BazB1JHV#AvIB3wdk1MAbrdATK2o1~FR-y289h@&jYjSI^& z0&c&4rUDLo04lL+F-Bsq5uuS4bm3crj_{_Qe|PR}u0`4nU*0#8+7^lCzzcd+&IOaT z`K>-wi?PeH$g6B^FeH3?x&}H{(SH4dd@Y)U%bMzb->aj0CIgr$kZdtuiUV-0Z=o6} z{_;P)_UEqvcuszi{HOFOl{eC$_j;m&%NJwc?SkFiT_A!pb^6p8#w72Lp4GD_*eY4; zECCATfa({mxg;RL((z;D>QaI*RE%n$+0vkTK>&4gr@RI4+xy{sq4+PkqH4C5%W~|U zNG0{Xc3wVO6h9lYoKiTAekh3PFpLGh^s~0I@)5j`A>-SkcX}Qj);nI4@c}YwR5NPi z{_7>YgUWB0r>EHxtDJ2gOc$qq0x*NM=iF3!Lsd1e4N_#+7Gnx5%OgU9+aI%`R!G{m z;b-uwhZ9hyW;$|36TFM;V=#2LMtF_Jj@Mz|e^++G)VV>C;lOx*fChlNvNGEh!;6Vo zH$(Jv5T=)wyL%m?NZa`*|5Ytw&{32@&`GaiV>WWo!|+I3(_Twe)w5UY>)$BV!zdX2 z(;3(6S94XE~OYBjnu$Tp!5Qm(qb*}4+8!ifmYLCIsAiJ>yeK^Ghlr{ zPavLJa$k}UA^;E_a%8u38vF@V4(pEs1@l76MgT;u3~&)@f4KL{W+|<{;gs-CB#|y?0uj-S0Dm zN?{#C(CS|vnrb@|jK!dpgP$6mrkRobvB4t#>uk@*s;{nPDNKJhH^SZ(MW5}tN$ zEroMyBJDa{NdG{bx{2f8s;egE=M94s-jM2evv}g4jn~F9jJ8$(sMlBYd_3C*$?(XB~RI1`ySHr6) z&VIOS5j1`DPKS+cF`B#VF;;6jhl5GXHyx#W$~W(zWpC@aD-uZO-CCaLJ>3MFLG+9~ zJil0FOgmrD$ONaGRO4mMUPc(M=H!_G_>6C#`F0N(vZKutW^4NGFVXZl&et3Gv@Rvi#>uJv}4SY}qTgT}e*u@o0f?XWR%2WZQyRFx_h zmBFcey5SJZxfbRZI)g^YClUU0;8f$G{Vb%<_?8pQjCoqp+yi`rf=%TZ8rNzO?CT z2SQYEps05w?e6YyU(eASdB%EiSFxbVov)nAdHzWNq*1BlNXBjY9q1T}0*#HBc7Qq0 zKX|0Y?tWO2Sn}N|0}2P%y?}uwfLy4-_zuR+8KIv&p-D-ESoxOMgJ>w_Lq>Vza%yF- zd?q{j_|h%LBp<{Ak)nn_$>tREwRjRRshGYz^5r00nFer3A~*UG*fjAI5)vBrDlk&>hP>|K$7TWX`E2_S!}B_q@+T+{EQBb>)t7T~op|r_3M) zb0U!wqSiJ-KvlszajQlbD~HHWgdog&I^>zet0$j7O9@8~oC2LOr}#8m_S=i4AW1f? zC+$$>YcXB9=XDF8q`oU1=siq)fc}lTN8;95pzCzpK2T--Y$8dCu6wLwI!dqBYC4s@Vv6*Q`N@R1XFE@Aj_3l zVfM|j*H99q<3|;(f7cX$n6O|H z3pI{le$#D5Ed72zli`41RmkxN7D+-XgifX3%Ywd5s)wVY+`dg6;k*F5ztk2{$5>Go zMxhGPc?2pyzw2{C)kK6W)qiEvBpze+9YfktHQ1pyIkkkeF>?j0;34>y-mUJ_`&%pVTu(2A}Utk0n#I$_7_iIi2WXaO08lzv$sI z!D@AxyEwQ!jn2~)J<5)h(rdo+z7BK}KE15KG=XvXj{U~O*Qp>9?Um-?a!pE0Q^e`q zFrJmP-V; z)n&pH=m;~Xxwt6=_Q?SR15I1N^=N5eH6OVnibKJ3nrCx1ur?mg0390s6$R1_@Tv0( z((#E2_0J{(^DSP^T3X53*`k=)28AW14+U*uKQm(52z-AySi(LWv3X91sJ;$lpJ}Al z17tjNmo*Lf>xx!B<)M=kVj}M$u-4?jMyg;nNSf}2B=PQdP=AMMslt|X=ogzUaw^!B z?zr!chH8tS97pX(qKym~qCZHS8 z#Rz*Jnkp$_<=&lWGHRD-MaIWBNbb`Bzu-vcvbC(tXaf?F=E?CfFCQOI7hBWU1nM`y z(TkPWdU~&3r#rqvLChdVxiar{8{b=?yy#ybBqAaMR0pE)fWv3pUn3KQwjZdGkRBeM k#25qThmf8;rUg_aUf1@MjsE_>z!fCLmuhn5GN!@*1+qswe*gdg From c47ea9c0c67deffc800cd1460efe5748e8dc72bf Mon Sep 17 00:00:00 2001 From: daewoongoh Date: Fri, 4 Sep 2026 17:08:55 +0900 Subject: [PATCH 6/7] test: update electron chat sidebar baseline for the model selector The new ModelSelector button in the chat toolbar shows up in the sidebar screenshot captured by the real VS Code Extension Host visual test; regenerate the chat-dark baseline to match. --- .../electron-chat-dark-sidebar.png | Bin 30867 -> 30586 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/vscode-e2e/src/visual/__screenshots__/electron-chat-dark-sidebar.png b/apps/vscode-e2e/src/visual/__screenshots__/electron-chat-dark-sidebar.png index cb69da51e546a37537df7ec2fabfe60064a6f316..a0e6b769dab05d77be4abeed775be7bc9624c648 100644 GIT binary patch literal 30586 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 literal 30867 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 ONmP|I6^j(^68{$n%}A>N From 9d8936fffb6344271ca1298186760ee72016a5d8 Mon Sep 17 00:00:00 2001 From: daewoongoh Date: Fri, 4 Sep 2026 22:05:19 +0900 Subject: [PATCH 7/7] test(electron): refresh chat-dark sidebar baseline from CI runner Update electron-chat-dark-sidebar.png with the authoritative snapshot generated by the pinned CI/Xvfb runner to resolve the font rendering mismatch. --- .../electron-chat-dark-sidebar.png | Bin 30586 -> 30444 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/apps/vscode-e2e/src/visual/__screenshots__/electron-chat-dark-sidebar.png b/apps/vscode-e2e/src/visual/__screenshots__/electron-chat-dark-sidebar.png index a0e6b769dab05d77be4abeed775be7bc9624c648..6dc0a749b5815ccc59d12ff876450772fc856589 100644 GIT binary patch literal 30444 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 literal 30586 zcmeFZS5Q=8w=If_N)SP!5(N>IsN{^cAV^d|auSf7Ljz4RfQU#?1SAWHWRM&i6bX`Z zPLe~@#3rXR`A_YK^Kxq6TXkP{sUE`qg)iq^)Z`F&c^&jicz8GQp2$4Z@Q7a-_k5tyKYe-K#lpz= z`gP5RWEy1nG%~WXV|RAB8rss1hcR>6hTFxc{Alb>OQBZG_KHqyY^GgQMezC6Z-p5* z&$rY#@VEWSsg+i#wTivrsJ-&lN80aqf>$TnWx;o?VpKGGYj>9&@7H^UwCMuFORuEG z{K;P3|G&M?VJ_l126!K2@kTYgCtyB^FCmqzP0wt)_;~Devvuoo#W9~uMA^)CB%O<{ zm#%YkGMoQo_&v*mRwLWdQfzQ^`ej0c>qd+&ryrVr_!AKZy(j3gIN6P{7>Ktd`9MfP z{$lYf?r{rn1t~)$yvb>gut)JMQkgH~7u>4iAm0JvQL&uEv&@i`cSB9!jF#-rmk6X;lKk zt5;PN6j=N%OGbiec+D*=C=fC%-JfqO=Ez2V`9d$@@soX$7&UpyzTQCNPDLlbVS_Q1 zdQVEVdY9i-6U+3k=0=}mMsYwg?++L@V zRISd8z8JI1_rEl88EkLH-|Oamgp-}j_x6>1YucfLTXZb``Ez}?If7j^QNr)!s6L27 zkd}mbb}2n+XKU;50F$q$r#I;_L-I*ph9E}BZe(S+$bD@hAtGX{N0Im9#f!sHw;~lL zeGjn*2M24lr@li!U+j*%Gb#VuoNI+sRya)7+*XWIiWLYV>q%El3J(wGx9HHXaDF+E zqZ1~%bDde{4y8)0z}>A=Dr)K-kCF%Z$X#Cv9og;0s9 zZ}rz-s&{lmhD}uc>ke}!VE%5qz`x7mfm_3<4!ma}HOGgIa;X{e)fgO-+-lCt>4pLd@>e`fOCOD--J zxPSlIO)@U+pT^tE{Q&_1aM=?TE(=HdTXwA#Goj*qe0*0KB|PAlyOVy>92_5J$^(dL z>_>|4a&l&W`)1r8D;P}8opMW9P;hQ`*38VTdZUqUYHF&OL+JVyozwjC@^T9dJ}UAa zE>z1f#v$$({F^^{aAXr`Etd4tw)5ao?6oj1x_s99t`TdpgU9uaGJ8ZMxw*Oi1g5J- zQSw*wPHW1G?zpS47C+1;rbbQ0-xCrNx_56qHB5@dU*_@S`MEhA>6Z5PkdGhRIy(oK zT-)2*2VQT@w-<50`1k8|W@aXCZD(g^A<-+8jGT(91c}uZ`&nJB&qbZB!BM5dB<<_H z*p*C0MP*XpF;?y*5CSW(x*z>!;^8ehdWxau*LRp%**yDumXaU(+OsIT-M>$Uc=MyS z+FIwMzN)-U2MWb!W!dl5p}lQq;`VGKal3P^ZK>zY4VBd~(S^D8NuI-(;cN~~Ek)z1 zuDja;{`U6viqSj<70zkfMm9s1Dfs7K_r5L-kWW*?WTr;y^Jr!FCn(7hSlQX7HP4Eu zWNMHja46)$pmCGudG~6M1blK94OpWATZ4*CV?&*Y*JKEmRr%06dWVZ!UVm}V*Vreo z6)mL3$8W2S6&bG5ecJo=A??1xluA#@(e+LDljFn$gIHDp&+RO;?v90|AsryxaTo13xmx9#3n zuU>6#ZpOyOzIugM1-I}eI(m1hx9MOFx6~^dT9lx0lgz`zqp!bzxE<|xdQzNGT3R|@ z1se)Iih6eWx=ZYX!kLCaWQE63#-NQrZfWXrg8r{QjGkca;kbR6b)COIevDG7->EMq zTs>Vy@@W0f!-o%FzI>^c>3X!c!CSqK@bU4nva(WBBS%|`y3Dtsy>>^UT=v$d*b_ab z|NVX|mcYZt#&-X{Q)i-N;8ljo!_}(69Gyo5F=B4ZQ-1=L*&?tS_y2Pwd2a@pk`U%J z&m^Jd&h7uUNZfZjZ{*7T`rVKCqu8ZjsiC9yH3b50*vU!pm|7c)ldP9k`cb+pW3cXb>t&F^F@3A4OhU0q#s zu$*n$6nYI&jYglI?AFF9u?5L|PDnsI%{;D3nQx2Xw;L%Q8PSC$Lv1f-WpPL)o$k$q z1^WA23echrYf;cjec?Hv-+=w{p46EH+o@p{6U}n9upTJu)@)KoMoi8OVm@dfWdGg*~x(XTbYnT$3 z_f6F0@q3(X@PuDe(fsVdAk%ncFWMrPL=-bQa&4zGU1|@(JGhWOufhH<;NWxo!27S? z8Ywb!H#ntKZ2O7nYW;ld~H#aRkf7n?K=#q2leYE4SQsi%WYV;5APje%!c<0 z88D<&O-FY1AFgd&+t1y2k-Kj*P!n0?a&)2Dmwj-p`h>!g#l&S7A@9!;7JW{=vf0y|RwR7e@k1B-QsW;N?9a9m88;_Q(79-+65#IEjKAdgv6-uUFMO z>60ohIul$I#nTH7TD0aeAYy)V`JdQmbvgN8j6d1Ng+;>HZyl*aF9@zlznbXrq)hPd zYS`QGkO-1tp$@)y{#;V$!iHlq)rmF)L9-bjZHS$n9TtlXm5duM(B@Kcv1CGMk^i09 z7#kZid_E^V@));%%1Ykt9(L}R+ucZo0`0MVk%6uaeF?J2*13!e=k)8H;+5E{ zRxJfkJPe^dRoBo3ws?M&hX9wD;H6lKqo{Fk}%NaI51vT{mo#JeLIb?%Sde65+?%i)m zr94uTJ}rAwA0KSH%=zwe{}W?g$+-9hW5%Zwt?)i5=*B(c2deW!6@7hu*;@HK)%5Ue z$i_0FLxLNoF;Y0!)Zm3`D@K`ra z?e^GPe_>=axwq#55YlEak3rgZ%vR_!KK|a`-t~~i_U)TuDY$^i$RJpLLSFZ}iC@pj(aNfCd(_iW9J!XFX2%b^+ zc*tlRoSd>O-5JkP&tJH3@%+PQ&$@#s*u``&5Cxdv7Q1U|YG^~|_cmrqN=nFsSb2C> zm;1A48bfTXt;JjypE^3O!#knMU1gF|iWZWPID-q`Qqtn$hk&h+FB=;go@<;PA_lK- z$%W2tc%-W&9Q22AkbR^R&dbQSbN~KEdXjICbqSIJl5T-%6Cjq`tgLX0#l^)32dK)U zpr9b4fN21m2}h2|Ibk6oT{%sTNH`g8dt31Om4OoLvJd((4GivMQ%g&tFY5eZDWD=c z(bLe-4A%Pjp$+|(`!Y8-oe}Z~L|vLr~xEY3bUWoSgc48L1>cSZu~H;TLuI zjA8Dxf3F?%YdfXUVoLrz3!S0n*8Q%T?Y=VfOiiuOaSAc&>5f~97j+?EmOfg4q^CEU zqf=B^RHUe&@ZrOUo}L~8=GU)ZKY8*5Hmr`04o9T*R9(RE@G$)G+x+~sFL%`mm=hBd z2?+@e4Gq0^R$w>7#g-U+|MBAolysE*E$ZOFD>qX5t^d^3Nk~W#Fh{T{Z|>|&l-LYz z%ru?BubG)g1VJA@6iUsJQByxAjWTch%1jCe`J=pG&CJ}B$eA*gaSa0PJdAKsg;irGGZQ@;I8Mo&MspRSO`$I3eU z_tPzIZf?Lvw6OKMi%UwDTr212&Bc;c(iN4JbMy1Vf`eOITdM#RC@Qwr_#B#;n&zg* zE-fu7D=S-cCSrTj!>}yyrs-*u*qHV8^`j&2QB^Aul1qGn1PpD|dGIogVKdKV8AFrL0LIL(rc$zReF4E%zLgS@=qWspuTh?<>aSrU+=%25rHE3^p1j}VlLA- za@0;hQLoe%cANAuPF+o{2l`xiN=1c*eEj@YY*x)|5kWkn%=MN6J?aX)yu6qVHB-}6 zg|rkufQa}PFLv{*Ml|>BFT0uX#biP9-Z#LZ(A(a>&G?|?j^4f>*N*EAWh;wvU>6V& zU}k=p-4Ad+3tFgvl^(8~MKPV9#^;Wsn`U%6mzSLGzRZnKW}`Tcv)A>Os!cW8VRJfG zB<6WsfJURUvaCl-?ehF+uV1(H+UJC5g?K_z=z6VmS(gmhPB~|8s(7` z3C+&U9WOAwJl;ac9L;N#c;ED0SXfwGoSw3Bh+T6?NJyNJ9eI$9&jBum?_~?rKQ(pr zcJrd`!=7*o#C&_4`(hV! zVnz<7lZqUXx^I~ynx#&Uwjf}`=!DO(xt|y}P@+Gyuw}n0TcXk3nVM_&Bf9Ik~t1MtG0y?+%qZJ~>>o zXpc?nwlw1#?nn?PWZvK3-<|Nv2jqqpGIiVEoC7+giP0;kqGH&jz#DRZ9v2letFW*; zlpo+^a>v)9VnQ3l&dmIJMxwRaA&_bK60>fUOV63@6{YG|Mn9l?k<~5@;y9W7L8IM&SzG<1oD@U>h}RGP?QI(*J zV&Wn@(9bded0&1&jMDW6|++5*Df1UJAOjxiC70@cDq`X0@&110)WMpKN zlmf=T@FEo=V`D!I=KgMf!14(nAAjho74R^Ymg_hi-1k84AOsz9dlG}<_y6?ilR{cy zZZ0=Je{bm{3@{vU6c!f3;{p);`0-<8kNDR}1NIYvvH@n~F;e8m2+}!prrxB$VDM4s zg?;Z6<_GlY+2#}ZqX}Q_i#6(1&TjxR(GEaUF+p&)~E^Mt; zEHECN4}cZ68!dJ78eCD3Q$=f1z_v=7DF;ST#qbUE0qVNCBS1I){Q1*mp+l4*uyY|W zAYd3-F!3Kolx#F~b!22DlwK5Zx&ymqXQz~{%iftWjD~^1XLGi>v=neWH4~F6yDR;5 zO3E*Bah%k_Z{NJx+}gTKLMtO)aN2%_QKCF0rOv6m?CcQ6GUz8i{YWdg3<eaamDv1)q-Ludb09e3%RnP8+;@_?HMdYeLT>F6V$6d@|K3qU4e-9n^ zy?ak{H8I<$CVS7(k&zs&B3)fw4~ayq*EJ~Gmq=(`p`M5GxQEaQ+rwu_dh@pIU`M_9 zJoBO00g^2qM5c=kt5ianwHq!>)A~@EXGqLEj#{j+WnXkc$T8zKHl{@Kl9PW6`6t9b zco!HL9TlZpCf(F*$*|lIbF~Ca#!eIOmG~>pUx|&Fgapg#pQms6lizmeURBpX ze?RQN?5frwWi&OSlA%kBz`)%sT}y7?+gC=$->zgpR4R#yjLZ?zo(kK-h6i%15W4ou zLc+op=H|LwQNS?+$9Y>wXuwuzu&+-f_$*IP&q1_Hs#+#2&6iJ~9-dMKHxv{U z3~(^`)}pxmtxI%SK6#)}n$MrR@zMIU0=5aBk-Ko|%D=6BNC7_rsd16rfRP!f=4NJk z`})krkqIh!n%NK_IT7+{JuNK?(7TF+pX91#0_W5#)H3tEs22KUVcJ zQ5rOZ{VlYfxiC(b08ZiK?R~I~8T2H8MrM(Yl>z8+j>5-0Vq%q*l?RocrRe%)SLf93 z>o;xyh2SQZAj7h;zW%qRCBOw7KXeIcNj0jh6+pvXx_cW?0KJE5+SoVa%FE^|La|N z{=~!}X2G*A@uK)f<;Z zVCf_#IzAe5{eDVrt}@FfvzITsV|$l=`5qrcMn}_Kc?Ui4*RR)^n36hn&!g*rL@)|L z7+q2#<%KxAP5uN@BXm>w`H){qR%sXaIY`WWe2!r^Nk~dMERN5{8L^K(5r&(S4W{na zir(5kqVsuOENnzTaqZf*8#jgr29P@|I!*Kk`}+-zjUO7Of%)Oo%EKAQRJEBDyl*hU zB&@1j8Uff`n@@xHP)j+6uVK~P2Uw%SwOVN)KPM`6)>?e(41GC!{Rt@+b(qFU`}_L| z@y`R=Js6^uBrBPizF-U;Nrco(tCs?_ii(O}8wG-wm|YL>gkK891%LRkjwgJSeDp)L z?WuW@C_8(4bv38KH>{%1RL>E4}@{%1OSAc3A%3U<_5wLT5xmi|hpO@e=ss z05Y@-hz~MU{2}WJT1q{j4sI~xbL$bLz#Fo*w-4UAueNzbM?srcmJ7#wbC{@*~gi!IXQ?Moc6&Ik(%gZ^;!P^&Lv2 z`?GWQ55*GBlF3NnSOWzjMrqz!*-|g2XZ|_#iComdGAtva#U-^5UP%)a4ckJq#72Q_ zgzj#rv3}dI$ABbx#wqu=@z1KDPN(?Z8#C<`>xXl$UO(bc?5S=`w=ePpgm?5HCy)-P zZ;uw`2E=c8=$s!rpYx*VoW!FPz z7EA5KyR6P*t-oQ+r^J|DQLI+tbWMLWY$6F9g9}DW893R~J*({LD;fCbf zRTY!r3Fn3y)>)Lbk23g)B?=%@h?!RwmHH|L27N4U{#sL!Yl?Aw>wX*%ldxDKWlqoe zAfCF8JBLPiZFOwyQ6*mdvY|jFMIF!c5*{gGJV%P<&+*R<@Cg|GM$bH%YGV8u84+W=6;Z7T$+j+ z#L$W6yAv}AScd24J2*sMf>Sq`O43RuVx=Xu)YK4@T%(+6=f>)Ck}-37l+cnwd!Ne7 zv$~izj6B%EiaY-M)z_ynV&G(Jo1?)Y7^5V?n4gw5R~JA`9en%l-6haBO4Ui|MSiL# zNfqBn8@A=Sb7zla;sPYb)Nachhq6nHRJFjl%BeV1VM{}GU4~BRpu_?Xq!smRaIh>h z6CmMpEv?>$a^QT_)hW1Hp%nw_D^%TyUQ1tJAFh!Apb)e`QYhSFNDbTU+M1EB?guhN z=P;ue(TY_0D$*NBhz>dEtZqI2Snj=F$QjH+NyJU9C@ULKTU#sWKQL!wY56o$qd3Hb z-RSL)H%&7Tp}*f=hDc)!8~jgKOQq{Wa{bC+%EzVI!C;ap0nCqPo zw6z~UUP1lhqJ$hw4CP-zL80>az!@){t|-E#4ugys3Icusqzlq@fHR&FiMqKv8ylHf zS<@mwCAEQ06VeDo=yOd?q(H6`8&K6>-J}yV=Orrr!Ds;_5snv-d z`=H+m5z+i5D(Z(?<`;#R5GIsKy4s`Wkou6EWXLB0uYz|Dq-P7Vx!N|QtN zt(OpZeW>mLnt^yz)71Q-!C{q@y=X^OSs$q>lebf9emvUQ>CpAx(&Dc)zU>;OAP!+q=}5i;SEjhjH3mp`oF0T35ML(W}W-_eTexK|Knc$w6~nz^yC1 zR!CdkYzO*o?EQNJEo+2k^nF-v(?F(TIkM3(dN~*R=^^*4%6Id+9`HIZ8BmrA&?-a6 z3VeXIjg6lX)tleOi?h0%cocjwIjzja^Y`xE>uR`sR))@g0Lo8Sum%T}VH*Cg>j;AX z&t5}JH~s0EJzVg|>MM^B*R{$$tE`p<1{tu4yPv5}7)u{rt@g^;!#$^2a9+qRQuTJq zI&cm&*x)=GV?TB?`S%a6Xjl!EhwD1LYqyM~A$D&F*SYVkIvm8SB6_Tm^#!%79+}AN zl6J?Psce|j!u}Yeg)aA4_v$_rOs?zn=?*0JzHE4^{8l{a*#6H2I`z}Iyv$x(59674 zmxT=5%jXY1vJw#*{assBf31CQtz8_GKad{>Ay-H84mpGEWUVkP=kzCkEzh&OsDA2L zTfSewL*209!IxINOHJadimG6vY?gJe5feA{GFSe+JxOJ1D@=}1x)jl1a=-LO?w?fq zuq$-qswv@pRD(%Fu2}}XJY>Ws3s*7xBEM_}7FH^rdM|60+%~EYGm=BlW52J~8Oa2g}IflFLglGfOfw!6db=bRpXqnEl$)Ta-9iHzJo z=?mO@@vEfmbJ1ix6LO*JWFvWyPmvE9f7`#lgF!R)Iklu<3+E7~XX+^UkayT8y6f5T zCDjm01^?))a|;X|q`{;NpCrckpNh`xXD-o&mT6?8-$>4^GA6G(@pk5lY|q^&>Q*8k zq$L-z?SSmcBSJ~wM~~K_aQ3zzAnt8-;q3HvsTmEZZ@VsGX|mTH)?4GZA(yNzvijNs z@wfc)H2MIw>bGFr7+R#xn3O@Zaq#kogngrndcPa(C}^+eQx7%fpGTbf`DGf~?722C zRL%=^)+BCej(ctxPt>?yJ@7}d^C;i+zjJs;j+gPJtuP}>`nHMM9&W*YP!Mx9N0c%~ zAmeoCUTguOAES}?{75EmCo2yFjSyQO((r{Tf`XCJYo&D{IR=N$nP}+ zhj)%WrW7Kf;?+Cyszep8BBxD*yBQb(?{jM{1)R8_nknJrq5P$EoID!#9>(g&C6_RJ z5ll%#BVDn_k3tPZ5t&a7vXNYVLn~k3;Ocr@UM|zRwaCetnqQ%o$M+{Q2@*~-y*bfAwbzB9@kzQA~K1II zEN5(|cjRzH z%w85>bG&rdZ{j39Dl01c#%+k1I2;?|@1pFjZ83D;c=Pa=(kGl-j(qyp{yA|M%`Q06 zy452jjwt=f?EZA}G76Q_g|Oe68FJ?rQcmWvo=Y<`sUTclbKTi z`@T0KDCNSEhgGKuZ?{f-EEY4ur+aHFGt?8+@2~zYpbsnh%8jeuIN4UL@iy_&3s&Je z6xH&+mc%=4vn(KWYBcWlhWEhJfbjNtyWV_5s=UEv(tOF0W;b25W>VD}Vm{QR^a6?4 z+r`spnL8EC(V0{3$*qB@jYw0c#*)#bigvO3^x9o)r_%mZWKt}r9;)U6AMXvxky($i zpQ4YJeu*2#-Vn=5Drnb6)#Tv3W9ki*0vA@%4+unehJ&0)LrSV{XnUj#nG}396!=Vr z5c$0R@9TjLNu~LCq^ax_#U-Np^9Xs3o^L%{FL_o)VB^nv&@;1|AolwCYl*xcqNc)Q z?&H=z5kF=DRDo{DmnEaXuMujdTu9ZliiK(Aq(**&kai|bs60BzGGz-O{+GlXpqW!PI_%0Elmpgs0XoLhc}tO zuX{Y}3jcNaq)f&j`+i)T*C~3k;i65RZN&oGELo;cf7shss}w8OBt)OI5oWcUYh)`F zt7okXrR6=DTBK1s&H8+;i(2MeZnv1*b!(bvy=vFu8uLVvsZr}>ts;!_5__0{US8Ci59IR3_uFDc{; zx~687QnSkrPei#UG#m5XP-5`0rju?lDI79%x?f7i@MoZkbmQ0BGhrJ9hnb9{r+ov{ z3*Ob$8S~sOJQP6nut!h>#f$;9R#iHkw;nM$R-d zPaU9AI4C~=XT0uFJzQkb)Y!P}S_xXSkhJuq{VFjHkCLKd)mqIVsAeF@G7OgXHdJkO zh!+(Vowbdi41?l23%w@JV>VQL^}3XIxk~yd7(_umBVbmH;u3}45F{wj^>$Z=!Gm`L z@jfi9Gr@fVyr#NZT4iuOpFfjV>hNm+{01gK;9vF1?CmTqe;RZ^FEpCe?=&0gs|lnM zkonmfS)g}nE4sw%!~Og0j>p8rfCRL5naTU9fdRIB0$jt;|Ni;&2QKf4gQ>U5A~;RK zGz7=g)QjD2pwwZhPn6??AYQ%r&D*{;#e;Oq2;Wt@VM3XtPxAeavokZTAPm?dmV$X} z%3YT}gJ}UA4(~|lcKWr92=U(tPkI-XmLkFO3I}iP5nq!NctgQq0jC)%cQSqaxDn#S zOk6HOMHssD@^X;_2WMwz5Wd0r{O#e}#m%-jVF%#*AuyWZlHlQ~5ClPMc=hU!8Q_k2 z`S?DQ@d05)NWqq4RC^MsWe6NRT(EO^o5^xuR+OxK=(5@XJejC z4rByk*bg=%_&hdNiaNy@KZe}kpI7xe=mn9_*~KLx&n`U}3?*f*OFbVye#{5IA-suJ z5+%Sq3#(=WQ7FCl?=7&fHG9*+phNhFJIypo;<_F|Ob$Vy7@Zzyjie0`^Hx9A(b-?~ zI~C{T#H2+VPH*i?Fs{MUg6+T$TQbO_U%uYLnLqSgr&Kz-_fx`24mdSR1`S*P{`G+C zyT!r+gyB+0os)C&QxU74??4y&Y_$u6R-iICTKKXR|NL(~2lR7wb$;Z^kiFdsg9&{d zESEbdgwW;rt^dA^mC^-H1C|E1@I+VFPf#mj_$|m0tCg6%PU+KXFh@#C`oIlAZw-PU zb#Pi?A+T%Y2%RPE`CAna-+S3I%Y_P&;aFh_A ze!3+GBIgpRgHW7}wXY`{7>S?STx=1UIXNo(aVTJ_|oj`V{Q6TXlyrH_|Xi*;}Me@{=>dj6b2#PQ~xJC>jk!^L^+u96TEPKlhU z2f#XXwzOpB<{pEwGhI234Fn*K-@kuzYUX&%gb4Rpm&C=5e!RhdmXv_T0Ad@QUEf*R z*W@K3Lqn#t5tefsjH7^q&LuHor}Lmmk6$WX{o z-Jp^{&kJkPz5VU!9ndy(bERAtyKaR^nDE6+Pfv4Ew?dfZ_b!2_Wn^>|sB@Wjc2WI{3Rf)G!VEX*9tC)G`4!wt4W8!?UO1 zH3ajwDOg2%Z_^M3oRy#l4;}z%^x)>=?9o&!Z!PR)_A>i%P>9_?(g8hZc^ie02bG;6 z8IoUVX%rbOhh_80$;m>;@sUZ)j~{H6wLsgTP*Nv*GeF6}mVtZ%)+zcXH0&T(CC0Gm z$jG^Jyn)EI@=^nxYG5iLBkUaNMOQJ9_@M~88^*f1i5iSDa3{*+ zwpzbKA%}{0N{!OpG-=0TNoa0_}sH8;>#Y5EkY zkT%mfGB99Xb*{_cRd4g0bA{c0C?*&5(9*+z2{gx_6USnTrcj2|1q1(ZpoDs7`eD37 zDN!QEQ090+`m}jr3vN_2)WzMsEKcIqEz@7G&VkOKd?*bzN6=xl=Hotp=5v^kNKld6 zP0)nOh=#)3X6^z!qJjcZf+^^M9v&jc%-~H^X~N-f-{tIaJ@V{ZsHp%NaCL%05(V`W zVrGwkK+qbejfn4?m=fy@O%6zu;lw}zPwLyxJ8sLg?E z={8lV4PfL;Nw)*jA*29^NO08Sve4RGjG!Tb7b3nxmMy{uvM8wkxCaG=g+1fr$KdEc zQ{b;$`R;T8I}*Gr@hU0=PCl~$ZWb3U)6||2Jdv0GrWKYiUeUX)3FvKPM1hwY-WHfR zh+}CKoC2GJRc;HAm5e^PXBat1$9enOgh`*qw8F@?vfD)UgR$X$q_dET7ZiKZ)-`tpsHj+AADFS5lrF9OnY?_u${0Nj6 zfVXHM#8H27P{Ix?gF%05{`&Q+s?`4Xyu1!GzFctP*!#D~3G*7&oJ|lpptlD;P;r`f z#AiOe0}w+c-ws*7G_q>B0T&5Z$o)wkzVSWUkVDZx=}wFTN1#5>=~N&Sk74zqE01n2 z5(H^Di>93&h`CM`qd7}mlCC~NrFd~J$NhOt)D9k`E zllS^VfE`v=cO}=6Vio!)+3ZOPd1Zn&13B6SDWLOM3V@HXx;H7K6_rkRRC=dk*2Knv zD@?NTLQz%y+SF8X?@~_FqCXk%nmap4UG^bR*PJV=0c4j&$=#v+&|uOu=M)b!V1c^1 zrB#0azJL-D*N(*+c<_IeVSxq!_p{msw>XY8aI0GyDb=eUH1xuPm9f2}gBm17&iEOT zO2!oxvUs&Slt6AH=hi(W#40##+O|J6m=wsfs%86aPrGWdx$8TC!6o_W5ChY;{_bQ8 zF3t%R*zOd(W;tmkK(vqXa z_bm|YAMJ(|b?rX}dAt6!d%02mBR&6rbWYVzbdug-rbHaKOmEcj*6h_CRHtzQ8xL8} zplK>kIF=FYgLXnwtE(p)O-$}DUwG9QRK0?M4$194_0mUYK`*A_?7Rsm6J|F~0sL8k z6;y>d9-b8>${Ij(Ku(uW6#N1svR%@XWp03R$j)K0emx(`F_iW@$NsG629*)MpvuG0 zhUisybT{q-slI9~s+`(gUQq!K+-~+`16u(*@v8JhRLkU~ zA2=hyN-F8PNM=`vw(JJQr_63tXhc3|i+m;4xU9HXBy?qAK^S;@aCX6n78o-U#N1kz z+(ED9<>n3v3rn{fGBq{jHLM<*m|(nqT^n4KddwPHTDAN0aiL+F+%UBU-n!z*rwe|IhZ@c85P`xYJaCAw%>XR!XjK;QSYG_ZYz2+4$g_yFjuWan8I7+hf5 z4cZn+L)g(WMb^(3iK$^^>hzZX6*?iMn`AHv*VWr6CkBbwkDZkjz$68tBTZX~;cDrj?#s=7_)FpF~je8Xh&!7}>&1BN*zS-n!majThNC z-kp^8SifnPHTo?7VktD5kM)wq+y)JbWBx*b! zmLwspvVsC1_zt9qU}Whml|inphAAdSM#eCS&G(N}VQ%z_-Pk?55rGk$3@f>EqQrib z>c4j97mWov#UNY|1(+9ABqzTBYZ!E_rPw_KYXQ6G1_mH_gC4X<@rpcX7LZv^R+bpJ zkYOy$-Q7JcsH}u=2k|;N+NKfBX*CW z>Yg49)&j-_exo8+uZ+j2W-KoVPx4I~w-5HLm4j{(JST&B28Wxiyla&h9>ia;$AiB} z)5r)+lX95TP!#u1G3b7OzWC!IF#%Ht(B#~6o|Uic;OFNT*O5)~J%E8eEKERvz!XSA zhXjW za?o&TcL5q08&eYg5la0HV19YI2V@5T4v_5!F7LoDlaD(O1~5Oc^Z@?t1A}a?dN(fy zTI{_mWp)H$lxEBm6s0zya4+f?Bgo$eLhLv>q53e zuz+F?zHY7McM*%lC5JHf0Xz5_8QDGfLSy9JUD~TMNT=*xXDKj3vgAqO0D}(FP~24| zHt@0g)6h#6*;F_LGJXOe4H~-GY=`)olB#NYrv+pz-<@HL;(!|HAJxIi4pQ1xdXWc# zZ3*Io?d^7u7fVA{bK6Jl1|!|V{uMKzbHQN`9$*!oXc}tj*!Fpd*{+V%cwfxx3ztV$ zb6Lp=C7($E2LhV`96sBlItw*Gb2!xOH?Ded8`XHP3>82U1o<9z6hNpGFu#iHc$IyO zn|ADb=IV-rRhDIW_VVQ%bkJZ6!7Bdn3i+|bQyURcoG84Zd53a1BE(( z_%bmuflaL#2%DKb$@}w!98_T#ph%(0&jmDT4|})RCg#_#UsbD>!Hg>a6HOqJT;qWc zLw)umJo(0NfdTJpq74kN#K*@&CFs^Xf|~HU`%pim*ucCyCcCYd*`TTVAuGx_Q4!a^-jS4eg2c$HSB z#tA@jD{Je|&1L{LzXv*kIex!M`lP^qTr8qlFtbZs6+kr14@0w# zRQ}N0(*pxfgSmQxLqm7S2qyeaeZ-Cc2g76l?w24hZ)c_HhoGPeV0*CE9eT~mZqgR%-~YU#ahJ!6TT3%!x1W%1yW1#E*H zg?Xp`rM*W-+yy1@V_%V_&vD#yDwmfaCl* z3guKrfx8FRB<61ko8L-PGbcq5dLGTI{azx`pSqT(7m%UBQ3LZ-yHUT!{8F4Yi^P&G zvL`-fk)FJ2qwcXU)@CL09lD-3#gU&`Oc(IitkC{l7iCmNEmk(~caqd>+pR0pc=zW zlP*wHcf$tVP)vGpNv7+ef7xQH_~Dfuir_tcbI;M#Nli+jMMCB$7iM)L?MiZa#+ySn zC@2ulS)BhWn}PB%f}IOwSCY29lf>9w-zD54uR&E!PP8t&_bmUZ_E!y6mpyz^d}%8^ovya_dlXT*pVH>Am(JF* zT}{kfrOw;2QRVs96DfhUc|SQ%)7}a)brA01lx8APXzaQ?(}oKL`Vd8+o^L%VpV=SB z<)E~E_|L;9ZRGk2b39F|c7&lSL5$>Iw63Xy!H-n+k~l6bTd>TpYY5$K>X4HK{v*QV z!oX>XL(dN_dROw9^3YFvRR}5^%AHldR3YjnBl3OMw9(`Fr-Szm(-qwYKEJlVK%Hq3 z&9-Esd}kX$z;NvN1nuIqeq7MLwD!Mg(D$&x4{G3jqF>~15dGmFxc_~?N zTWi2Izt=M#4A*~!7UmbmMTcxu7D`B*#=PFWx_i@~Qt^n zNRgH$T95Ng8t;(0BvFIv)<&wC&lNm^1Mf;F(0HU7`lZZjJ+J?AV$Z9zlW8S5VEJ)M z%B14G+!|Lxwx!EU>c{+^n}IE)3;3+QYD$4J`yU>mWm4bz)zBsy4FCANu}fn)(21Sl znZ8&~JnBdyv=M7TB?sB!0A`0(S+MGMKUBYECdlD=(8>NX3vDevZ*ZY1wPPlt) zjoI?bUXn6#_VbK;Hh*_cF+d+A?Ni#YTk)m8;R$p%kXh4tFcM7V!-qD#`zs~cD^Fl$ z&7Uthd{4YbQcByLuFf~Hj&vUX%3&u}<+W2IFAK)80UxG4_X{57=g$9Aevf}nZTjv9 z^1F(qtn4BBWmd8Eappy(7%Msl{!u#&8@5=ychyxat~kL~JYv;+q*xQH%x8s6XlGT{ z=ZxaME5@bH*6>K;!8#dXc>Tj^U%ZLeWqwE1o%ifteY>ex+sQ=#uW8b&cJgq_$8TZR zV@o*aA6F_%LZBk&#zmuL=@7c#gO(h}suaI#D{23>2u-ORHS6?ld$rYyrurRx&wTjg zs26M89CsS{0!xw5a?7tM{+}$p?6jZnb=h!yUa3Q$UEm8m8xE- z+0ik(#r@%l>iLJ^j%t<~6a;U+M#{u1JG>Lcf7m!eIm6(2)g`S>)?l8UcKY^_1_puNC8Wx)gP~pE-{o{lgL0Ie|0KF(t$IoI`gBOZOke zr3Q8ST5N5nEw-(V2>pqd<~eG0)lUCaw7T`bT08S_sNc8mOB0hULsMBZgeJs<#Ml)f z+t{}(g@i06`@Uw%zGO)lAt52j7LuJLd$w!|StnT{&*}Hv$MGD`AJ6gJf85`{`W{C# z^I6X8yx!;g{klS`+UA7ME;_~T@9<6*ckk73EGeu6jE(vHc}cGjyV@Ok-SpH6;fK!G zy;!3EwK$wzE8O$s+TF}&D=BJjoWH4zz23O+(WlWuhP1QuIAZ(lcDU%f>efZ{wwxwH zSh}xlO~)f}ijHPa?!Z%u9FI-^H@Xy5za6?$wd(Vy*Pnq69eu0QS>H|7M!AkV*rjLB z&*)yrx6vxBsvd8XZz+SuB|4gCpBSChDOj+SbbK@&2n`a|u@5I_cFHy>?=tCk;#>~) zZ)<;7mF;%n+;z2)P}6OGMHh#`>76vq{cvD9XQ5L{5GG<&xI@47D2RSEdoRXxr#zjv z@v#o~Q)QwSH~hbx^?f!}I?6q6O)NGl@%3K$d?TV=cOgv!gx z7w9Q-$AKKk?FG|72n*nhjQ7g9`<0QLAo~=_jDY<=v&S$Y{VHbbB(4X94B!GOph||) zb0hhPB<$eVY|DG0YhWc(K)rxCc6m7&=7aKu6?`844cXWZr^=GouSIBeSF7diBS#!H zd6=+75a{^(6$D7)ipXox^IimWKE!2%=3e#?jF+@EK$r>?>e?L;4AFzkJ4n8$r_QC`6oQzQcRYbFSKKqO?sg1`gDv z3u(kW?QFFE=2Tf@CR8#cB`yv>ibAkJPL?kLCNn-hJ}@XT-Xav}fjg?OuyD1OtcgKM zxc@S8qN*7eLVg775s*IG+K`=P-~|CO`kuYLA__F(-+%r<_(WYp!?<`5ylw~uZyz6h z{sGX6L1S-dpm4b=i^sFZw89vCdFwCu#{wxbK?Ou1)z#Gjjln=i2lS>26B%jgUvBt2 zckWyuPD{Y$sLhp^t={&P4O0Y`Lc=RH(62l^q}b^*G!4mR^lC`sWV$fLhJw2gUT>W_ z5^)|9GgB^}V5eZF1xA38;AsLHWcy#39X1aGw3KN5?oG){H|SNJ>h|yUySCho43BS4Yv)kB>x>?t1(Bvhxs0 zDY^Esn)&y{P2rn0;n-WVvBVkA!9+}|x?1YV$k5*`>?yBcBG6=2J`$+I+3Jc6h7=Fr z7&7Dnpe$teRK9rwKM#>w2uyz+9c7EWHs*9C_>1-D&a z+035n1iht5FEoDl?#J9$w1+OU$%@mx)Jk zBd53i0tx2c4atTkZw1tz{{h5NMLjNneW;NYviLi`vL!<&(C7xoH5hBPu`WRwY{JP? z!i6q;*)lk2aQ!;MLnWAA4DB3Ws3S10>^Cq!lmE*+}ssBj(8*3 zS>{N00zcg39n%U`?Oa?N^&I0TP^)L}@3gc~F<$|WX=`gM+(dQ0&T)?M;bA*RN8ewi ztzQ@3POjcz4#zwqrdfiu!`gZl43hHC^78W;5w7?QxM1`VN1yGeYie#tuimdZG+L?f zsKnDoG?|xN$5 z%li0yU;6&tl84FI)Kox^X7*gDc?qzUq>7ERF~9iC;c)G z((#oQ6~=!rbZ#(Q6e-CBpB&`xQ6$IQvyp;$LXygHJehHCLzLN%Jj+ATNLT`pP+tIKd<} zueynEuTdBV>P^n$lF^+epM$T~N61q$A|P`WB%d`=5h%?g|KD4#|G(?`|L9*}FGBrj zc^dJHdiXg5?|Zdeeo=>YY$G_lg5>4VN~nfqFbIpM7eo9LCV8w;FuI&;;Q}lHq`VBc zqF`FA68}Uwhxg>xQ6++R-E*sy4dH^{m%42q0079qQLWhEFBk@4;Eo7soVJ>kRTKkf zfScR4?+0(gS$Rk|&ROT&trjPw3ZA~f9Y=91uh$O3+~6R5@lqY;gD{`0eYkY`k<`WB z!NHa?$6}sP3=;Lb+M z4%Qpsp)km@7Afdk5M!l-7a+#?8L+49#L@;#H-G<5QRfR&Ji<*Z99RS=cbFn05|RA$ zsR9s%>|EHL9Ub9184S`D8wfJ)Q01U^}4sT5EEU{H|ZG7sO9bW}Lxvi}9fa+*(-(gv~)qV@|JxjEqLSwU!n` zFor(~ddd^QI2oDouU}y#`myX6Jg6q7rV1xai@~`#2$u^y*jCIxTqHKcF)3#to&aNI zXD27<+O>NoCd}dUUA_$7EId#_{xK~~Wl<@@yg#=p*`RRq?>>(zD{VMDgeW`KP{D2* z-VC)|319&T#i_*djDQgsh_BWn3tN9Z+}&XzELTefQP#wS3Bh%^CYTo++=#b^7H)c) zyVcdHlI;_!Cp{%nG2710&Im3k4-?d9fQmht)y#($L@9@m-#0Qaa7-kk>Cho>B=}?9 z(+$tjLvFX$K_SAet`XcM*x^pW-Xcj&GDCAst;$RYA_>!|j=h5W^bw0qI0e<`asaDr4VYtZ%g}@&89hi{O zWtfG#i==+SIr{jR=J(CrlSe4fbKns)uoMDz1H-07fMqfGO=acQk96ncsx)uAmyK?T zBZ#$Hq z&zW*PxFe#sFjtVpgNvQExl-w)vahSE?nFxxr2E1~*??=jd?JI&YiR=iGLZTIOxD`B1xjJ)x4#yN? z+pWKg#tszaefAyR{{ntr6&_$O%P0KV+6wtSMm6hYzU!Au4et)Pz$K!ASqLz@QO9>h zUYkuCba^?YM(V8ik5g+f+5Y+SXGcc|6e@U)OU&!M!5LD^)aJ_Wsno#AQN)6yg=Hju z*ZKQh&F2&pXHbV{1O#G<_p8|53VBq6pOqRtnUP3nM^yXbiaXL%j;Fi{a{J$~QG~*~ z%F0HWM$$3IuGz48uPQToS?7EA9=f>&_Q2{|S$Rgi60-Hc%e;E^C|1c^eeLV$@}IF& z!at2WjIXTx`UT5o$k8Ui-pOMy8dvWh={fc}3M$TkeZ|lc6ua+Ru(JdA6iQ8e@lP9>xRU|S~0W3KA-wJ`oV(-289nD9iPm+ zw-!+)fGIWJRy!3sDLKf1sO5fLaMRS(1dnc)eT5DhYD_h-Y*J4u^+HjC$iE5?r8sWD z{xXpSyE||?LpM&sQdV`Rr$E4Sc5TgtKZ%5;aho_a^yTD$BSj;>FIyYy;cyLr4cS<{ ztnA9VC%9u^-3NDx08$Z(=JV%ZKY@A)#;21AE67S%S{{P#Q)Al6wM|pt+vzsph9?!R zbS_S%eQ;uABnKDmz$dpb9#-i^WZWW9!_buRwTIj_^`QAYvw-yH^`Jrpgyf9w$9wSa+EWS zi}9FL&|IuXKI4~xfo9h+0OiNCPguO3;1$5R22{d z5a<%@Ox{yPD72aVOX|wJaSOYiO9^8Ys8&~-6>961{lM;?>7CqG9@RrWV3K0r zTXjAG3(7{i&O~{Pzj3M(p{NRxOeP=EM%x&R-=J)~YV%5e!41D)w?368e$Hy}J4L~x z`+2mnG3=0dt>{f@_hF{Ea1!euBcUz8Nm(GOjpT~OlTkENS8d&>`(qYwo@hIw!**;1 zvQWvXJ7ZN3s`7PUX@;#UZwdH$ z@FSDYmKmzS?jE3wsi|NG?s+CDio;=U4)pdO>CfrBhHi#n!!%oS?5<8o6bo93mp48h zMulT%Na}@hv`r$HKU4JD>EYGlpRBmB%K;GK_4JA88PF<}(6@*biBAOTKK)0}v3=zL ze8Z=b2Ay*oQ1~E-Y3!#BQ>Dr+QglGp?wnW^|qmZ6B=ik4eMOIqDREvNJqP z5$?j5a6Dx#8|w`Y&!VHMNoq>*z^4|rb~-Qfq1(0z=V)nZ>F1Y0!n)|&J{NRoQ4Bv^ zA0Y__r!WM~Oogc4OV+{?!8H66-V@lSg174Eg(`Q4RCMKT4t5cI<{?eB%q-}ifT0^v|HPHx3f}iie>fy4>xycsnIUR$_SJd z&@!sbBCkyY3N%RG5}acYU9z)Nfqc@yA_V60`y{2LZV=F|uEzc{kRCEGIs5{UMT0tN zoLuLzdbSDoRiCM9@JSdg`5FOwjH>VpvDBg8kX+F-n)wM<%rUL!653Vb1+6Qouy;4F zA2t>wETBOEiKu#22d!j@_~~9#KEdDqQ-~=taDlT4mzoAxS-fbSCtaf{NHp*-=@#^V z{1}|5+4p;IuXb|vjM6&Dd=1x-i9pkZ1|J9^5l!o!z77s2UdEr{9vagOo_TL1Nabcs zwy&J6uobjUIrF&rt;xOKNtDhNdr^*KtX<#X4frfFdeq$^-XR&D2-+rzjL*Hj1lp#L zQ*Zhf5aojq(lY+^OLzIbC!IpLdJ{=K1h3jx4UMEzB^agj_~A~&9%6hPwx+P5vKfI! zo4fiu@A9d~2}5b6u~uh$$nm_?vkE!liYYY_=3`F9F9tYq1dl2+F%7r}V7r@+x-!vb zsy&eSw&-ZG^H;-yk2;f3abdFtAQMV_*7~~Z+9beL9mzL^4A(WXrvDI|+a0=%+Hef5 zt}maG8}4ggw{Kn^R5RIUiE4qM?QP~394+qi%b&j)1e@;5c-iDVeOpA{@m0=Y{M8D8 zy15lq9W<}T5$N)aU>B8aEg}gWmZ+%ir__dj@S9VHa13Ji>Gow6?Qe9uUoW>b79Vob z*mYJdtcMOLq1_D*tO&OPSdNj5fnE^kwh#h?NzkG5 zmwgQ!)3Uc!iaS`z{dM^5;&_ZJdZR!@ao9*mH7^U7h`!Biz;o24fZGOOV?Z2=e-ckk zO$`DJc(@%w><0q10I@dlt*OA>%}UPlO2r9Xk-i&)xX!kV zXTB3OcL8k$UEApL4~gi!yU+<_<Vz^b7vjy@6PyC#H zs@^+3-+s~+MT|ZwN}0i411aX3Wy}g9ezHxu*^#6dB3#g@dw5(q{a8UO1*LMDgoPe* ze0*GOxxBC!)Xp4OQS*5tAcLffD9Rw61GVC*Z>Hl1ZJC}4u81?mOkc|d=2 zF*PF?Q>)=Ket5|OPP0Ts|6z{)^-~)Au>@CvrL>}F1$WBVFNHfz7yMmZ3%1M=D<62{ zcazPC#<}EamottTg#fy|{-<@S#ycG`d<>N0yb0~p+Ep& zCTojA^j_v9ddODw?u;akrL?S8UY{2ey3x)SoM&~cqcF^cKY2L>cQT|Av{8`8d&v6F z?1`i{vM+ZW^q~zFo^f5kHbpn9XHGMq7u;CiD^ZtTBF>K8flsWYvA;%0jbSkV~&_@n?7T5~>q2;R06JPj}C-y&0?Q%^$i z56XvjZ(OJ<{gL#NGA@=a=Z3o20b9<{((O{CV%u=I=mU$24pTgn@jSp+GBr)_ znJ=6Y%PxzH{YVIZJ$$fwgfTze+PZO{fk?7{Inz<*7-z?iP>>E>YN)jiqi83+gDc;h zju(cu+zpRQ2F{?1gdj4wcRM?qd&z;(4L=Tc;;t_B!6%l^&I}T6RB_oL6gWuOyp%_( zirw@*Z;L7Q60dN_{y1&q6e&`lyZoSF)Sl2Ty_Oh$jfP$pq0sMQ2Lk}5iE(Os;kP_W z_NJq70jD)GA_wec9{f-Tq2FmuvVL;ay$1Ha{Firo7u>|tmw`p5v;mS8KmeaaM^~G@ zHo13hz>&cl^I_evt0#^7xjx~>dI33m;a}{ML&m}9tETq)2n6LJr5D1bfBQ239lEP& zn_#bMCq_fLaRE(}mInh2=qq4b)gbs*TkNO03p*z>Ggc@FV!S88f?ox=Dvj#mw9VO#Pyq54zu-dA{n~t9pggM&{^LlH!h>t?vGyt6%nk_^UNxS`Iz!8%b)L5IsBl zrMr_FQA)v;ApfW*A_f9}`ivi6@PL^fmRJ}#fRsS?u7d%FV`+HPR7OSy7>5J)hXQi3 zuj=YJLcNZyPeD_hJvU?pY))t(0(#bEFS8v#P?Gc3op8NAQYz4gL6&9N-Mw8aX5o^) zRH?j4e{wUU0M|6PaN~*C`U{QC45=yKrz>Z2btK`S0x!}sNKDGdy9tk)gWw?mjfQSA-LNT_wzsK_=qM2 zROrwWL{Uv7uK)%WbOVpnA<#+icp|0^M4?KM)OSki>SUlD5lQWs+_-S9JJiK|M7G3{ zI&)O_-^}{JO~MC)rI0;g>XO0x>eB})QU7`sX%%Ao40g#OCI|)d^v7l8{a+)Vhx1A z2JBBEjq*Oz#H4r%c=ydX;)|#wt4idH3iVUfc}1+%4ab9t&-JNHK9gTFp7jlH{P5~{{ck}>>@%_6 z`x-eXj5#d(V1J<{X1@;~j0spjk=$Oq)idToyHjIvx7tPOZNTwss98voLjp17*|WW| zd0A?mwLz1#n<;4PdgmnF)i^SU_P2Y;v7uow6x$eAF?_2|BOPD&!4mi zyY8DeZ-TT2hI)Jk{gY5wK1)mCJrfcVl7(px#E^uZLPfbKB=owZgcG9CXd2+R+Q30i z_4NVX-X?qrbhNZEC0v)D?ClMj*tq<&0U{MtMVLLbw6@l7)vfB^gu%DdMC~CLU6G}XC=_i{{F(Kqyp|g36U1*& zh@DU8WwZ78%hi9t&eGJB?%i33+VcFVnVuDMP6i=gL(z@p!I<+ZUK5V>mWKO|lKx)2 zvJ;w}u8A6teNFZ<5?XFwBpz&pUrF(_p!(oG!E~o@Xk|b-_fRha_%4jDpuxn1k+30+ z6z^uBU3&D*^ki83$cSRK%hwBYp^W z;xja(XJDue+OHA;7PU0&0rBHb?jBk0Kr|L~d||Wq z+IGrmmFIwoNO2w|rV-N6GGK*cZcx~hC9Av~SR7MnfkxNEV+(RvdtaY^nBDsOAj1Ia zaT@LB<N82sxGmMjkNc4I>p0Wb-&5M~;9!wpgf zOzfaT9$ij;#z9fcNv<8Yux=zDT;Xm}#b!j<3&1cq}%5LE}A7S-aZ^kAmqlrfCvsc8TaLKks`eSb7 zMq$K&mQ=s4X{5zU@7~Pv_d?z566pz-Z?9@yW4!K!>`eKJrKkkV9q+p#SD>)ArN<9L zdC<$@442x2np63Jz5kjEa_QGwrRWU_Zlq#+&<%7msC~V5+;LDfCJr`oXb$6Gh8BLO z_VzcP*2BRHwdSh=CAAw+AtnzxDE9p2H2N%dIt-`R-w!QyoBd@(^a5=`8>^VDy~A&7 zsh%(`5OVhqoFM|qD$msk8H56;x^Nz153cKQzjHmOxBtaZVJXTfKD^#x_gY~8i_%~Z zS!cujiI~YVudXD|1pK)~p3wT5p}YY>;#HsMash~})yz3@fIRngcbxuv5se_ay3^Cy@ zgXU0%z-u3VOSykDa{drbMj<30F7^Z5L{Ep(!gpOMEl&!M2fjlBq@T+(_lw#L>~q%+ zXO{kJA)LdG?_gI{6qO3=v!I~h-nWu{lbsHmDn(D&Qv={%jWK$De*O|I8w*Q2`eSXv zF#k)8ZQX#q-`2Lp>7ECIAO2jIl1o*JvRK-teXM&*Kdb@865UMBFq)m)t_jflxe1^L zuY<4|3DtOgtm&C*E+Zf7f1XUBIx-vhhS0xn=f6W~CXi94SaI>+ldXjNuhyG|{R!x1 zXTK%Wzg_37#M2MQL$1^LvYQ2!6W#)Saq$L)e$$cX{eS0hs$QUvxD9Pvrl0rn?LoHp zKjj@WniGuXSYP|HPBC~M)LB#Pvc{k4lof8cVJPWQSYt4MGz^1m@XSR@L_eLhlg%ut zsxk%}LYkf2-V{UmMrhNN`f&hwg8s)>{)*MPYfRhyz==HnuXZNYI;;tNIkJE{fb$XR zw;$JoIpo=#>&e!2&=R%$Hxi&O&tW@M^j;m&EeO|O|16A(p#&aPq-sZCZ)l0>n^lShk50-csLOd_G(_YKsD?15f27|n6 zT1+Gwh)CwBS5*?HimF<}wY$AlJPzJhJDXJwN1!aMW6KCcMiXVFT2JfUy4 z1z4*EkhxfPuVg?iIV)$aqYC z^wvz*_29fXiSbXmI}dNsBZH%`srPbLZ+6u)ufJFOF|@RaC4w2LqVjUC&T)3mq%N(# zw^$;3t4tsXSz8=QGKw}?@MkT?^WR&Hpar?J6vd6?He^f0=df!fwE0Ed>f!R#X-HXf z;*Jma@cc0pkpjI24m%~ABNiF!o_mbHrA+>7zl9^@!oD-s#7c~nGfS3@(n~A|ylDL_ g*ie*8#!i6xBR>)U@?Ur1FkK2&CCzKE6)l7R7xf@dDF6Tf