From ab9265e3b994ad02fe2b7540ddd5f5a298734d0c Mon Sep 17 00:00:00 2001 From: Harald Schilly Date: Fri, 10 Oct 2025 18:51:34 +0200 Subject: [PATCH 1/5] frontend/projects: redesign of projects list --- src/packages/frontend/_project_page.sass | 4 + .../frontend/account/avatar/avatar.tsx | 1 + .../editors/task-editor/hashtag-bar.tsx | 8 +- src/packages/frontend/i18n/common.ts | 8 +- src/packages/frontend/misc/local-storage.ts | 2 +- .../project/page/flyouts/settings.tsx | 12 +- .../projects/collaborators-avatars.tsx | 131 ++++++++ .../frontend/projects/create-project.tsx | 15 +- src/packages/frontend/projects/hashtags.tsx | 55 +-- .../projects/project-actions-menu.tsx | 102 ++++++ .../frontend/projects/project-list.tsx | 2 +- .../projects/project-row-expanded-content.tsx | 196 +++++++++++ .../projects/project-table-columns.tsx | 285 ++++++++++++++++ .../{load-all.tsx => projects-load-all.tsx} | 0 .../frontend/projects/projects-page.tsx | 314 +++++++++++------- .../projects/projects-starred-bar.tsx | 157 +++++++++ .../projects/projects-table-controls.tsx | 168 ++++++++++ .../frontend/projects/projects-table.tsx | 264 +++++++++++++++ src/packages/frontend/projects/tour.tsx | 13 +- src/packages/util/compute-states.ts | 14 +- 20 files changed, 1557 insertions(+), 194 deletions(-) create mode 100644 src/packages/frontend/projects/collaborators-avatars.tsx create mode 100644 src/packages/frontend/projects/project-actions-menu.tsx create mode 100644 src/packages/frontend/projects/project-row-expanded-content.tsx create mode 100644 src/packages/frontend/projects/project-table-columns.tsx rename src/packages/frontend/projects/{load-all.tsx => projects-load-all.tsx} (100%) create mode 100644 src/packages/frontend/projects/projects-starred-bar.tsx create mode 100644 src/packages/frontend/projects/projects-table-controls.tsx create mode 100644 src/packages/frontend/projects/projects-table.tsx diff --git a/src/packages/frontend/_project_page.sass b/src/packages/frontend/_project_page.sass index bc2abedb04b..4f84ee47ba7 100644 --- a/src/packages/frontend/_project_page.sass +++ b/src/packages/frontend/_project_page.sass @@ -61,3 +61,7 @@ dl.cc-project-settings-features padding: 5px !important code font-size: 90% + +.cc-project-expanded-row + .ant-table-expanded-row-cell + padding: 0 !important diff --git a/src/packages/frontend/account/avatar/avatar.tsx b/src/packages/frontend/account/avatar/avatar.tsx index 6c71c7ce243..eb24c5c0081 100644 --- a/src/packages/frontend/account/avatar/avatar.tsx +++ b/src/packages/frontend/account/avatar/avatar.tsx @@ -5,6 +5,7 @@ import { Tooltip } from "antd"; import { CSSProperties, useState } from "react"; + import { isChatBot } from "@cocalc/frontend/account/chatbot"; import { React, diff --git a/src/packages/frontend/editors/task-editor/hashtag-bar.tsx b/src/packages/frontend/editors/task-editor/hashtag-bar.tsx index 901d605c8dd..c2d7b42bc6c 100644 --- a/src/packages/frontend/editors/task-editor/hashtag-bar.tsx +++ b/src/packages/frontend/editors/task-editor/hashtag-bar.tsx @@ -8,14 +8,18 @@ Hashtag bar for selecting which tasks are shown by tags */ import { CSSProperties } from "react"; -import { cmp, trunc } from "@cocalc/util/misc"; import { Tag } from "antd"; + +import { cmp, trunc } from "@cocalc/util/misc"; + const { CheckableTag } = Tag; -import { + +import type { HashtagsOfVisibleTasks, HashtagState, SelectedHashtags, } from "./types"; + import { STYLE as GENERIC_STYLE } from "../../projects/hashtags"; const STYLE: CSSProperties = { diff --git a/src/packages/frontend/i18n/common.ts b/src/packages/frontend/i18n/common.ts index d0934186308..ec6050aa270 100644 --- a/src/packages/frontend/i18n/common.ts +++ b/src/packages/frontend/i18n/common.ts @@ -467,6 +467,11 @@ export const labels = defineMessages({ defaultMessage: "Collaborators are other users, who can access this project. They can view and edit the same files as you.", }, + collaborators: { + id: "labels.collaborators", + defaultMessage: "Collaborators", + description: "Collaborators (people) on a project, working together", + }, chat: { id: "labels.chat", defaultMessage: "Chat", @@ -556,7 +561,8 @@ export const labels = defineMessages({ select: { id: "labels.select", defaultMessage: "Select", - description: "Short label on a button in a dialog, to confirm a 'selection'." + description: + "Short label on a button in a dialog, to confirm a 'selection'.", }, select_a_kernel: { id: "labels.select_a_kernel", diff --git a/src/packages/frontend/misc/local-storage.ts b/src/packages/frontend/misc/local-storage.ts index f737dd50882..146afb6e4ae 100644 --- a/src/packages/frontend/misc/local-storage.ts +++ b/src/packages/frontend/misc/local-storage.ts @@ -32,7 +32,7 @@ export const LS = new LocalStorageLRU({ fallback: true, }); -export function set_local_storage(key: string, val: string): void { +export function set_local_storage(key: string, val: string | object): void { LS.set(key, val); } diff --git a/src/packages/frontend/project/page/flyouts/settings.tsx b/src/packages/frontend/project/page/flyouts/settings.tsx index 3a15f3a5a47..ebf7f277dc2 100644 --- a/src/packages/frontend/project/page/flyouts/settings.tsx +++ b/src/packages/frontend/project/page/flyouts/settings.tsx @@ -135,14 +135,14 @@ export function SettingsFlyout(_: Readonly): React.JSX.Element { Status: <span style={{ float: "right" }}>{renderState()}</span> - + - + ); } @@ -180,7 +180,7 @@ export function SettingsFlyout(_: Readonly): React.JSX.Element { }); } - function featuresRealodButton() { + function featuresReloadButton() { return ( + )} + + ); + } + + return ( +
+
+ + + {onClose && ( + + )} + +
+ + + {!is_anonymous && ( + + {renderCollaborators()} + + )} + + + + + + + + {renderSoftwareImage()} + + +
+ ); +} diff --git a/src/packages/frontend/projects/project-table-columns.tsx b/src/packages/frontend/projects/project-table-columns.tsx new file mode 100644 index 00000000000..49d12648ff7 --- /dev/null +++ b/src/packages/frontend/projects/project-table-columns.tsx @@ -0,0 +1,285 @@ +/* + * This file is part of CoCalc: Copyright © 2025 Sagemath, Inc. + * License: MS-RSL – see LICENSE.md for details + */ + +/** + * Column definitions for the Projects Table + * + * Defines the table columns, render functions, and sorting logic + * for the Ant Design Table used in the projects listing page. + */ + +import type { TableColumnsType } from "antd"; +import type { SortOrder } from "antd/es/table/interface"; + +import { Avatar, Typography } from "antd"; + +import { Icon, IconName, TimeAgo } from "@cocalc/frontend/components"; +import { ComputeStateIcon } from "@cocalc/util/compute-states"; +import { COMPUTE_STATES } from "@cocalc/util/schema"; +import { COLORS } from "@cocalc/util/theme"; + +import { CollaboratorsAvatars } from "./collaborators-avatars"; + +// Type check: ensure ComputeStateIcon values are valid IconName values +export const _x: IconName = "" as ComputeStateIcon; + +const { Text } = Typography; + +// Sort directions for table columns - only toggle between ascending and descending +// Using 3 elements makes it cycle continuously: ascend -> descend -> ascend (no clear state) +const SORT_DIRECTIONS: SortOrder[] = ["ascend", "descend", "ascend"]; + +/** + * Sort state for the projects table + */ +export type SortState = { + columnKey: "last_edited" | "title" | "starred"; + order: SortOrder; +}; + +/** + * Collaborator filter option + */ +export interface CollaboratorFilter { + text: string; + value: string; + first_name: string; + last_name: string; + avatar?: string; +} + +/** + * Get the state icon for a project state + */ +function getStateIcon(state?: any): IconName | undefined { + if (!state) return undefined; + const current_state = state.get("state") ?? ""; + const s = COMPUTE_STATES[current_state]; + return s?.icon; +} + +/** + * Table record interface for project data + */ +export interface ProjectTableRecord { + project_id: string; + starred: boolean; + avatar?: string; + title: string; + description: string; + last_edited?: Date; + color?: string; + state?: any; // immutable Map + deleted: boolean; + hidden: boolean; + collaborators: string[]; // Array of collaborator account_ids (excluding current user) +} + +/** + * Get table column definitions + * + * @param onToggleStar - Callback when star is clicked + * @param renderActionsMenu - Function to render the actions menu + * @param sortState - Current sort state to apply to columns + * @param onToggleExpand - Callback when expand column is clicked + * @param expandedRowKeys - Array of expanded row keys to determine icon state + * @param collaboratorFilters - Array of collaborator filter options + * @returns Array of column definitions + */ +export function getProjectTableColumns( + onToggleStar: (project_id: string, e: React.MouseEvent) => void, + renderActionsMenu: (record: ProjectTableRecord) => React.ReactNode, + sortState?: SortState, + onToggleExpand?: (record: ProjectTableRecord) => void, + expandedRowKeys?: string[], + collaboratorFilters?: CollaboratorFilter[], +): TableColumnsType { + const columns = [ + { + title: , + dataIndex: "starred", + key: "starred", + width: 70, + align: "center" as const, + onCell: ({ project_id }) => ({ + onClick: (e: React.MouseEvent) => { + e.stopPropagation(); // Prevent row click when clicking menu + onToggleStar(project_id, e); + }, + style: { cursor: "pointer" }, + }), + sorter: (a, b) => { + // Sort starred projects first + return a.starred === b.starred ? 0 : a.starred ? -1 : 1; + }, + sortDirections: SORT_DIRECTIONS, + sortOrder: sortState?.columnKey === "starred" ? sortState.order : null, + render: (starred: boolean, record) => ( + { + e.stopPropagation(); // Don't trigger row click + onToggleStar(record.project_id, e); + }} + style={{ cursor: "pointer", fontSize: "18px" }} + > + + + ), + }, + { + key: "expand", + width: 48, + align: "center" as const, + onCell: (record) => ({ + onClick: (e: React.MouseEvent) => { + e.stopPropagation(); // Prevent row click + onToggleExpand?.(record); + }, + style: { cursor: "pointer" }, + }), + render: (_, { project_id }) => { + // Render the expand icon based on whether this row is expanded + const isExpanded = expandedRowKeys?.includes(project_id) ?? false; + return ( + + + + ); + }, + }, + { + title: Project, + dataIndex: "title", + key: "title", + sorter: (a, b) => { + const titleA = a.title.toLowerCase(); + const titleB = b.title.toLowerCase(); + return titleA.localeCompare(titleB); + }, + sortDirections: SORT_DIRECTIONS, + sortOrder: sortState?.columnKey === "title" ? sortState.order : null, + render: (_, record) => { + const stateIcon = getStateIcon(record.state); + const strong = record.state?.get("state") === "running"; + return ( +
+ {/* Avatar or placeholder */} +
+ {record.avatar ? ( + + ) : ( +
+ )} +
+ {/* Title and description */} +
+
+ {stateIcon && ( + + )} + {record.title || "Untitled"} +
+ {record.description && ( + + {record.description} + + )} +
+
+ ); + }, + }, + { + title: "Collaborators", + dataIndex: "collaborators", + key: "collaborators", + width: 150, + filters: collaboratorFilters?.map((cf) => ({ + text: ( + + {cf.avatar ? ( + + ) : ( + {cf.first_name[0]} + )} + {cf.text} + + ), + value: cf.value, + label: cf.text, // Store plain text for searching + })), + filterMultiple: true, + filterSearch: (input, record) => { + const searchText = (record as any).label ?? ""; + return searchText.toLowerCase().includes(input.toLowerCase()); + }, + onFilter: (value, record) => + record.collaborators.includes(value as string), + render: (collaborators: string[]) => ( + + ), + }, + { + title: "Last Edited", + dataIndex: "last_edited", + key: "last_edited", + width: 150, + sorter: (a, b) => { + if (!a.last_edited && !b.last_edited) return 0; + if (!a.last_edited) return -1; + if (!b.last_edited) return 1; + return a.last_edited.getTime() - b.last_edited.getTime(); + }, + sortDirections: SORT_DIRECTIONS, + sortOrder: + sortState?.columnKey === "last_edited" ? sortState.order : null, + render: (date: Date | undefined) => + date ? : null, + }, + { + title: "", + key: "actions", + width: 50, + onCell: () => ({ + onClick: (e: React.MouseEvent) => { + e.stopPropagation(); // Prevent row click when clicking menu + }, + style: { cursor: "pointer" }, + }), + render: (_, record) => renderActionsMenu(record), + }, + ]; + + return columns; +} diff --git a/src/packages/frontend/projects/load-all.tsx b/src/packages/frontend/projects/projects-load-all.tsx similarity index 100% rename from src/packages/frontend/projects/load-all.tsx rename to src/packages/frontend/projects/projects-load-all.tsx diff --git a/src/packages/frontend/projects/projects-page.tsx b/src/packages/frontend/projects/projects-page.tsx index 47849246501..4c1304e431e 100644 --- a/src/packages/frontend/projects/projects-page.tsx +++ b/src/packages/frontend/projects/projects-page.tsx @@ -3,49 +3,44 @@ * License: MS-RSL – see LICENSE.md for details */ +import { Col, Row, Space } from "antd"; import { Map, Set } from "immutable"; -import { useRef } from "react"; +import { useEffect, useRef } from "react"; import { useIntl } from "react-intl"; // ensure redux stuff (actions and store) are initialized: import "./actions"; -import { Col, Row } from "@cocalc/frontend/antd-bootstrap"; import { + CSS, React, redux, - useActions, useMemo, useState, useTypedRedux, } from "@cocalc/frontend/app-framework"; -import { Icon, Loading, LoginLink } from "@cocalc/frontend/components"; +import { Icon, Loading, LoginLink, Title } from "@cocalc/frontend/components"; import { Footer } from "@cocalc/frontend/customize"; import { labels } from "@cocalc/frontend/i18n"; import { COLORS } from "@cocalc/util/theme"; -import { UsersViewing } from "../account/avatar/users-viewing"; + import { NewProjectCreator } from "./create-project"; -import { FilenameSearch } from "./filename-search"; -import { Hashtags } from "./hashtags"; -import ProjectList from "./project-list"; -import { ProjectsListingDescription } from "./project-list-desc"; -import { ProjectsFilterButtons } from "./projects-filter-buttons"; -import { ProjectsSearch } from "./search"; +import { LoadAllProjects } from "./projects-load-all"; +import { ProjectsTable } from "./projects-table"; +import { ProjectsTableControls } from "./projects-table-controls"; +import { StarredProjectsBar } from "./projects-starred-bar"; import ProjectsPageTour from "./tour"; -import { get_visible_hashtags, get_visible_projects } from "./util"; import { useBookmarkedProjects } from "./use-bookmarked-projects"; +import { get_visible_projects } from "./util"; -const PROJECTS_TITLE_STYLE: React.CSSProperties = { - color: COLORS.GRAY_D, - fontSize: "24px", - fontWeight: 500, - marginBottom: "1ex", +const PROJECTS_TITLE_STYLE: CSS = { + marginTop: "20px", } as const; -const LOADING_STYLE: React.CSSProperties = { +const LOADING_STYLE: CSS = { fontSize: "40px", textAlign: "center", - color: "#999999", + color: COLORS.GRAY, } as const; export const ProjectsPage: React.FC = () => { @@ -54,15 +49,33 @@ export const ProjectsPage: React.FC = () => { const filtersRef = useRef(null); const createNewRef = useRef(null); const projectListRef = useRef(null); + const titleRef = useRef(null); + const starredBarRef = useRef(null); + const controlsRef = useRef(null); + const loadAllRef = useRef(null); + const footerRef = useRef(null); + const containerRef = useRef(null); + + const refs = [ + titleRef, + starredBarRef, + controlsRef, + loadAllRef, + footerRef, + ] as const; - const actions = useActions("projects"); - const [clear_and_focus_search, set_clear_and_focus_search] = + const [create_project_trigger, set_create_project_trigger] = useState(0); - const all_projects_have_been_loaded = useTypedRedux( + const [tableHeight, setTableHeight] = useState(400); + + // if not shown, trigger a re-calculation + const allLoaded = !!useTypedRedux( "projects", "all_projects_have_been_loaded", ); + + // status of filters const hidden = !!useTypedRedux("projects", "hidden"); const deleted = !!useTypedRedux("projects", "deleted"); const starred = !!useTypedRedux("projects", "starred"); @@ -104,42 +117,102 @@ export const ProjectsPage: React.FC = () => { search, bookmarkedProjects, ]); + const all_projects: string[] = useMemo( () => project_map?.keySeq().toJS() ?? [], [project_map?.size], ); - const visible_hashtags: string[] = useMemo( - () => get_visible_hashtags(project_map, visible_projects), - [visible_projects, project_map], - ); + // Calculate dynamic table height following these steps: + // 1. Get container's offset from viewport top + // 2. Viewport height - offset = available area for the page + // 3. Sum heights of fixed elements (title, controls, footer, loadAll button) + // 4. Remaining height = available area - fixed elements = table height + // 5. Adjust dynamically on resize and when elements appear/disappear + useEffect(() => { + const calculateHeight = () => { + if (!containerRef.current) return; - function clear_filters_and_focus_search_input(): void { - actions.setState({ selected_hashtags: Map>() }); - set_clear_and_focus_search(clear_and_focus_search + 1); - } + // 1. Get container's offset from top of viewport + const containerTop = containerRef.current.getBoundingClientRect().top; + + // 2. Calculate available area for the entire page + const viewportHeight = window.innerHeight; + const availableArea = viewportHeight - containerTop; - function render_new_project_creator() { - // TODO: move this into NewProjectCreator and don't have any props - const n = all_projects.length; - if (n === 0 && !all_projects_have_been_loaded) { - // In this case we always trigger a full load, - // so better wait for it to finish before - // rendering the new project creator... since - // it shows the creation dialog depending entirely - // on n when it is *first* rendered. - return; + // 3. Sum heights of all fixed elements (title, starred bar, controls, loadAll, footer) + let fixedElementsHeight = 0; + const elementHeights: Record = {}; + refs.forEach((ref, idx) => { + if (ref.current) { + const height = ref.current.getBoundingClientRect().height; + fixedElementsHeight += height; + elementHeights[ + ["title", "starred", "controls", "loadAll", "footer"][idx] + ] = height; + } + }); + + // 4. Table height = available area - fixed elements - buffer for spacing + // Space has 6 elements total (title, starred, controls, table, loadAll, footer) + // So there are 5 gaps of 10px each = 50px + // Plus title marginTop (20px) + bottom padding (40px) for breathing room + const buffer = 110; // 20px title top + 5 × 10px gaps + 40px bottom padding + const calculatedHeight = availableArea - fixedElementsHeight - buffer; + const newHeight = Math.max(calculatedHeight, 300); // Minimum 300px + + // console.log("[ProjectsPage Height Debug]", { + // viewportHeight, + // containerTop, + // availableArea, + // fixedElementsHeight, + // elementHeights, + // buffer, + // calculatedHeight, + // newHeight, + // }); + + setTableHeight(newHeight); + }; + + // Initial calculation with requestAnimationFrame for proper timing + const rafId = requestAnimationFrame(() => { + calculateHeight(); + // Multiple retries to handle async rendering on initial load + setTimeout(calculateHeight, 100); + setTimeout(calculateHeight, 300); + setTimeout(calculateHeight, 500); + }); + + // Set up ResizeObserver to watch for changes + const resizeObserver = new ResizeObserver(calculateHeight); + + // Observe the container + if (containerRef.current) { + resizeObserver.observe(containerRef.current); } - return ( -
- -
- ); - } + // Observe all fixed elements so we detect when they change/disappear + // This catches when LoadAllProjects button disappears + refs.forEach((ref) => { + if (ref.current) { + resizeObserver.observe(ref.current); + } + }); + + // Also listen to window resize + window.addEventListener("resize", calculateHeight); + + return () => { + cancelAnimationFrame(rafId); + resizeObserver.disconnect(); + window.removeEventListener("resize", calculateHeight); + }; + }, [allLoaded, bookmarkedProjects.length]); + + const handleCreateProject = () => { + set_create_project_trigger(create_project_trigger + 1); + }; if (project_map == null) { if (redux.getStore("account")?.get_user_type() === "public") { @@ -154,91 +227,74 @@ export const ProjectsPage: React.FC = () => { } return ( -
-
- -
- - - -
- {intl.formatMessage(labels.projects)} +
+ + + + {/* Title */} +
+ + <Icon name="edit" /> {intl.formatMessage(labels.projects)} + <ProjectsPageTour + style={{ float: "right" }} + searchRef={searchRef} + filtersRef={filtersRef} + createNewRef={createNewRef} + projectListRef={projectListRef} + /> +
- - - {!is_anonymous && ( - - - - )} - - - - -
- - -
- { - const project_id = visible_projects[0]; - if (project_id != null) { - actions.setState({ search: "" }); - actions.open_project({ project_id, switch_to }); - } - }} + + {/* Starred Projects Bar */} +
+ {!is_anonymous && } +
+ + {/* Table Controls (Search, Filters, Create Button) */} +
+
- - - actions.toggle_hashtag(filter, tag)} - /> - - -
- + + {/* Projects Table */} +
+ +
+ + {/* Load All Projects Button */} +
+
- - - - - {render_new_project_creator()} - - - - - - - - - -
- + + {/* Footer */} +
+
+
+ + {/* Hidden Create Project Modal */} +
+
- - -
- + + +
); }; diff --git a/src/packages/frontend/projects/projects-starred-bar.tsx b/src/packages/frontend/projects/projects-starred-bar.tsx new file mode 100644 index 00000000000..a3b659b0658 --- /dev/null +++ b/src/packages/frontend/projects/projects-starred-bar.tsx @@ -0,0 +1,157 @@ +/* + * This file is part of CoCalc: Copyright © 2025 Sagemath, Inc. + * License: MS-RSL – see LICENSE.md for details + */ + +import { Avatar, Button, Space, Tooltip } from "antd"; +import { useMemo } from "react"; + +import { CSS, useActions, useTypedRedux } from "@cocalc/frontend/app-framework"; +import { Icon, TimeAgo } from "@cocalc/frontend/components"; +import { COLORS } from "@cocalc/util/theme"; +import { useBookmarkedProjects } from "./use-bookmarked-projects"; +import { blendBackgroundColor } from "./util"; + +const STARRED_BAR_STYLE: CSS = { + padding: "12px 0", + marginBottom: "8px", +} as const; + +const STARRED_BUTTON_STYLE: CSS = { + maxWidth: "200px", + overflow: "hidden", + textOverflow: "ellipsis", + whiteSpace: "nowrap", +} as const; + +export function StarredProjectsBar() { + const actions = useActions("projects"); + const { bookmarkedProjects } = useBookmarkedProjects(); + const project_map = useTypedRedux("projects", "project_map"); + + // Get starred projects sorted by title + const starredProjects = useMemo(() => { + if (!bookmarkedProjects || !project_map) return []; + + const projects = bookmarkedProjects + .map((project_id) => { + const project = project_map.get(project_id); + if (!project) return null; + return { + project_id, + title: project.get("title") ?? "Untitled", + description: project.get("description") ?? "", + last_edited: project.get("last_edited"), + state: project.get("state"), + avatar_image_tiny: project.get("avatar_image_tiny"), + users: project.get("users"), + color: project.get("color"), + }; + }) + .filter((p) => p != null); + + // Sort by title + return projects.sort((a, b) => { + const titleA = a.title.toLowerCase(); + const titleB = b.title.toLowerCase(); + return titleA.localeCompare(titleB); + }); + }, [bookmarkedProjects, project_map]); + + const handleProjectClick = ( + project_id: string, + e: React.MouseEvent, + ) => { + e.preventDefault(); + const switch_to = !(e.button === 1 || e.ctrlKey || e.metaKey); + actions.open_project({ project_id, switch_to }); + }; + + if (!starredProjects || starredProjects.length === 0) { + return null; // Hide bar if no starred projects + } + + const renderTooltipContent = (project: any) => { + return ( +
+
+ {project.title} +
+ {project.description && ( +
+ {project.description} +
+ )} +
+
+ +
+ {project.state && ( +
+ {project.state?.get("state") ?? "stopped"} +
+ )} +
+
+ ); + }; + + const truncateTitle = (title: string, maxLength: number = 20) => { + if (title.length <= maxLength) return title; + return title.substring(0, maxLength) + "..."; + }; + + return ( +
+ + {starredProjects.map((project) => { + // Create background color with faint hint of project color + const backgroundColor = blendBackgroundColor( + project.color, + "white", + true, + ); + + const buttonStyle = { + ...STARRED_BUTTON_STYLE, + backgroundColor, + }; + + return ( + + + + ); + })} + +
+ ); +} diff --git a/src/packages/frontend/projects/projects-table-controls.tsx b/src/packages/frontend/projects/projects-table-controls.tsx new file mode 100644 index 00000000000..312a89a9983 --- /dev/null +++ b/src/packages/frontend/projects/projects-table-controls.tsx @@ -0,0 +1,168 @@ +/* + * This file is part of CoCalc: Copyright © 2025 Sagemath, Inc. + * License: MS-RSL – see LICENSE.md for details + */ + +/** + * ProjectsTableControls - Control bar above the projects table + * + * Contains: search input, hashtag filter dropdown, status filter switches, + * and create project button. + */ + +import type { SelectProps } from "antd"; + +import { Button, Input, Select, Space, Switch } from "antd"; +import { Set } from "immutable"; +import { useMemo } from "react"; +import { useIntl } from "react-intl"; + +import { CSS, useActions, useTypedRedux } from "@cocalc/frontend/app-framework"; +import { Icon } from "@cocalc/frontend/components"; +import { labels } from "@cocalc/frontend/i18n"; +//import { COLORS } from "@cocalc/util/theme"; + +import { get_visible_hashtags } from "./util"; + +const CONTROLS_STYLE: CSS = { + width: "100%", + //padding: "10px", + marginBottom: "10px", + //backgroundColor: COLORS.GRAY_LLL, + borderRadius: "4px", + display: "flex", + flexDirection: "row", + justifyContent: "space-between", +} as const; + +interface Props { + visible_projects: string[]; + onCreateProject: () => void; +} + +export function ProjectsTableControls({ + visible_projects, + onCreateProject, +}: Props) { + const intl = useIntl(); + const actions = useActions("projects"); + + // Redux state + const search = useTypedRedux("projects", "search"); + const hidden = useTypedRedux("projects", "hidden"); + const deleted = useTypedRedux("projects", "deleted"); + const starred = useTypedRedux("projects", "starred"); + const selected_hashtags = useTypedRedux("projects", "selected_hashtags"); + const project_map = useTypedRedux("projects", "project_map"); + const is_anonymous = useTypedRedux("account", "is_anonymous"); + + // Get filter key for current state + const filter = useMemo(() => { + return `${!!hidden}-${!!deleted}-${!!starred}`; + }, [hidden, deleted, starred]); + + // Get all available hashtags + const visible_hashtags = useMemo(() => { + return get_visible_hashtags(project_map, visible_projects); + }, [project_map, visible_projects]); + + // Transform hashtags for Select options + const hashtagOptions: SelectProps["options"] = useMemo(() => { + return visible_hashtags.map((tag) => ({ + label: tag, + value: tag, + })); + }, [visible_hashtags]); + + // Get currently selected hashtags as array + const selectedHashtagsArray = useMemo(() => { + return selected_hashtags?.get(filter)?.toArray() ?? []; + }, [selected_hashtags, filter]); + + const handleHashtagChange = (values: string[]) => { + // Update selected hashtags in Redux + actions.setState({ + selected_hashtags: selected_hashtags?.set(filter, Set(values)), + }); + }; + + const handleSearchChange = (e: React.ChangeEvent) => { + actions.setState({ search: e.target.value }); + }; + + return ( + + {/* Left section: Search and Hashtags */} + + + + {!is_anonymous && ( + { this.setState({ deleted }); } - public display_starred_projects(starred: boolean): void { - this.setState({ starred }); - } - public async load_all_projects(): Promise { if (store.get("all_projects_have_been_loaded")) { return; @@ -1144,6 +1140,21 @@ export class ProjectsActions extends Actions { selected_hashtags = selected_hashtags.set(filter, hashtags); this.setState({ selected_hashtags }); } + + // Set which project row is expanded in the projects table + public set_expanded_project(project_id?: string): void { + this.setState({ expanded_project_id: project_id }); + } + + // Toggle expanded state for a project row in the projects table + public toggle_expanded_project(project_id: string): void { + const current = store.get("expanded_project_id"); + if (current === project_id) { + this.setState({ expanded_project_id: undefined }); + } else { + this.setState({ expanded_project_id: project_id }); + } + } } // Register projects actions diff --git a/src/packages/frontend/projects/collaborators-avatars.tsx b/src/packages/frontend/projects/collaborators-avatars.tsx index 0a7e1926019..a3ce6f5b15b 100644 --- a/src/packages/frontend/projects/collaborators-avatars.tsx +++ b/src/packages/frontend/projects/collaborators-avatars.tsx @@ -112,8 +112,8 @@ export function CollaboratorsAvatars({
{ - domEvent.stopPropagation(); // Don't trigger row click - - switch (key) { - case "open": - actions.open_project({ - project_id: record.project_id, - switch_to: true, - }); - break; - case "settings": - actions.open_project({ - project_id: record.project_id, - switch_to: true, - target: "settings", - }); - break; - case "hide": - await actions.toggle_hide_project(record.project_id); - break; - case "delete": - await actions.toggle_delete_project(record.project_id); - break; - } - setOpen(false); - }; - - const menuItems: MenuProps["items"] = [ - { - key: "open", - label: "Open Project", - icon: , - }, - { - key: "settings", - label: "Open Settings", - icon: , - }, - { - type: "divider", - }, - { - key: "hide", - label: record.hidden ? "Unhide Project" : "Hide Project", - icon: , - }, - { - key: "delete", - label: record.deleted ? "Undelete Project" : "Delete Project", - icon: , - danger: !record.deleted, - }, - ]; - - return ( -
e.stopPropagation()} // Prevent row click when clicking menu - style={{ cursor: "pointer" }} - > - - - - - -
- ); -} diff --git a/src/packages/frontend/projects/project-avatar.tsx b/src/packages/frontend/projects/project-avatar.tsx new file mode 100644 index 00000000000..3cefaea44e8 --- /dev/null +++ b/src/packages/frontend/projects/project-avatar.tsx @@ -0,0 +1,64 @@ +/* + * This file is part of CoCalc: Copyright © 2020 Sagemath, Inc. + * License: MS-RSL – see LICENSE.md for details + */ + +/* +Render a single project entry, which goes in the list of projects +*/ + +import { Avatar } from "antd"; +import { CSSProperties, useEffect } from "react"; + +import { + React, + redux, + useIsMountedRef, + useState, +} from "@cocalc/frontend/app-framework"; +import { Paragraph } from "@cocalc/frontend/components"; + +interface ProjectAvatarImageProps { + project_id: string; + size?: number; + onClick?: Function; + style?: CSSProperties; + askToAddAvatar?: boolean; +} + +export function ProjectAvatarImage(props: ProjectAvatarImageProps) { + const { project_id, size, onClick, style, askToAddAvatar = false } = props; + const isMounted = useIsMountedRef(); + const [avatarImage, setAvatarImage] = useState(undefined); + + useEffect(() => { + (async () => { + const img = await redux + .getStore("projects") + .getProjectAvatarImage(project_id); + if (!isMounted.current) return; + setAvatarImage(img); + })(); + }, []); + + function renderAdd(): React.JSX.Element { + if (!askToAddAvatar || onClick == null) return <>; + return ( + onClick(e)}> + (Click to add avatar image) + + ); + } + + return avatarImage ? ( +
onClick?.(e)}> + } + /> +
+ ) : ( + renderAdd() + ); +} diff --git a/src/packages/frontend/projects/project-list-desc.tsx b/src/packages/frontend/projects/project-list-desc.tsx deleted file mode 100644 index f9359707a14..00000000000 --- a/src/packages/frontend/projects/project-list-desc.tsx +++ /dev/null @@ -1,376 +0,0 @@ -/* - * This file is part of CoCalc: Copyright © 2020 Sagemath, Inc. - * License: MS-RSL – see LICENSE.md for details - */ - -import { Button } from "antd"; -import { useIntl } from "react-intl"; -import { - Alert, - ButtonGroup, - ButtonToolbar, -} from "@cocalc/frontend/antd-bootstrap"; -import { - React, - useActions, - useMemo, - useState, - useTypedRedux, -} from "@cocalc/frontend/app-framework"; -import { Gap, Icon } from "@cocalc/frontend/components"; -import { labels } from "@cocalc/frontend/i18n"; -import { plural } from "@cocalc/util/misc"; -import { COLORS } from "@cocalc/util/theme"; -import RemoveMyself from "./remove-myself"; - -interface Props { - visible_projects: string[]; - onCancel: () => void; -} - -export const ProjectsListingDescription: React.FC = ({ - visible_projects, - onCancel, -}) => { - const intl = useIntl(); - - const deleted = useTypedRedux("projects", "deleted"); - const hidden = useTypedRedux("projects", "hidden"); - const starred = useTypedRedux("projects", "starred"); - const search: string | undefined = useTypedRedux("projects", "search"); - const selected_hashtags = useTypedRedux("projects", "selected_hashtags"); - const selected_hashtags_for_filter: string[] = useMemo(() => { - const filter = `${!!hidden}-${!!deleted}-${!!starred}`; - return selected_hashtags?.get(filter)?.toJS() ?? []; - }, [selected_hashtags, deleted, hidden, starred]); - - const [show_alert, set_show_alert] = useState< - | "none" - | "hide" - | "remove" - | "remove-upgrades" - | "delete" - | "stop" - | "restart" - >("none"); - - const project_map = useTypedRedux("projects", "project_map"); - const account_id = useTypedRedux("account", "account_id"); - - const actions = useActions("projects"); - - function render_header(): React.JSX.Element | undefined { - if ((project_map?.size ?? 0) > 0 && (hidden || deleted || starred)) { - const d = deleted ? "deleted " : ""; - const h = hidden ? "hidden " : ""; - const s = starred ? "starred " : ""; - const n = visible_projects.length; - - if (starred && n === 0) { - return ( -

- {intl.formatMessage({ - id: "projects.list.no_starred_found", - defaultMessage: "No starred projects found. Use the star icon next to project titles to bookmark your favorite projects.", - description: "Message shown when no starred projects are found", - })} -

- ); - } - - const filters = [d, h, s].filter(Boolean); - const filterDesc = filters.length > 1 - ? filters.slice(0, -1).join(", ") + " and " + filters.slice(-1) - : filters[0]; - const desc = `Only showing ${n} ${filterDesc}${plural(n, "project")}`; - return ( -

- {desc} -

- ); - } - } - - function render_span(query: string): React.JSX.Element { - return ( - - whose title, description, state or users match{" "} - {query.trim() ? `'${query}'` : "anything"} - {query.trim() && <> (use a space to select everything)}. - - - - - ); - } - - function render_projects_actions_toolbar() { - if (visible_projects.length == 0) { - return null; - } - return ( - - {!deleted ? render_delete_all_button() : undefined} - {!hidden ? render_hide_all_button() : undefined} - {render_stop_all_button()} - {render_restart_all_button()} - - - ); - } - - function render_projects_actions_alert(): React.JSX.Element | undefined { - switch (show_alert) { - case "hide": - return render_hide_all(); - case "delete": - return render_delete_all(); - case "stop": - return render_stop_all(); - case "restart": - return render_restart_all(); - } - } - - function render_alert_message(): React.JSX.Element | undefined { - let query = (search ?? "").toLowerCase(); - const hashtags_string = (() => { - const result: string[] = []; - for (const name of selected_hashtags_for_filter) { - result.push(name); - } - return result; - })().join(" "); - if (query !== "" && hashtags_string !== "") { - query += " "; - } - query += hashtags_string; - - if (query !== "" || deleted || hidden || starred) { - const filters = [ - deleted ? "deleted " : "", - hidden ? "hidden " : "", - starred ? "starred " : "", - ].filter(Boolean).join(""); - - return ( - - Only showing the {visible_projects.length} - - {filters} - {plural(visible_projects.length, "project")} - - {query !== "" ? render_span(query) : undefined} - {render_projects_actions_toolbar()} - {render_projects_actions_alert()} - - ); - } - } - - function render_hide_all_button(): React.JSX.Element { - return ( - - ); - } - - function render_delete_all_button(): React.JSX.Element { - return ( - - ); - } - - function render_stop_all_button(): React.JSX.Element { - return ( - - ); - } - - function render_restart_all_button(): React.JSX.Element { - return ( - - ); - } - - function render_hide_all(): React.JSX.Element | undefined { - if (visible_projects.length === 0) { - return; - } - return ( - -

- Hide Projects -

- Are you sure you want to hide the {visible_projects.length}{" "} - {plural(visible_projects.length, "project")} listed below? -
- This hides the project from you, not your collaborators. - {render_can_be_undone()} - - - - -
- ); - } - - function do_hide_all(): void { - for (const project_id of visible_projects) { - actions.toggle_hide_project(project_id); - } - set_show_alert("none"); - } - - function collab_projects(): string[] { - // Determine visible projects this user does NOT own. - return visible_projects.filter( - (project_id) => - project_map?.getIn([project_id, "users", account_id, "group"]) !== - "owner", - ); - } - - function render_can_be_undone(): React.JSX.Element { - return ( - -
- This can be undone in project settings. -
- ); - } - - function render_stop_all(): React.JSX.Element | undefined { - if (visible_projects.length === 0) { - return; - } - return ( - -
Stop these {visible_projects.length} projects?
- - - - - -
- ); - } - - function render_restart_all(): React.JSX.Element | undefined { - if (visible_projects.length === 0) { - return; - } - return ( - -
Restart these {visible_projects.length} projects?
- - - - - -
- ); - } - - function render_delete_all(): React.JSX.Element | undefined { - if (visible_projects.length === 0) { - return; - } - const own = visible_projects.length - collab_projects().length; - let desc; - if (own === 0) { - desc = "You do not own any of the listed projects."; - } else if (own < visible_projects.length) { - desc = `You are the owner of ${own} of the ${visible_projects.length} listed projects.`; - } else { - desc = "You are the owner of every listed project."; - } - return ( - -

- Delete Projects -

- {desc} -

- Are you sure you want to delete the {visible_projects.length}{" "} - {plural(visible_projects.length, "project")} listed below? -
- - This will delete the {plural(visible_projects.length, "project")} for - all collaborators. - {" "} - {render_can_be_undone()}{" "} - - - - - - ); - } - - function do_delete_all(): void { - for (const project_id of visible_projects) { - actions.toggle_delete_project(project_id); - } - set_show_alert("none"); - } - - return ( -

- {render_header()} - {render_alert_message()} -
- ); -}; diff --git a/src/packages/frontend/projects/project-list.tsx b/src/packages/frontend/projects/project-list.tsx deleted file mode 100644 index f248c5b1dd4..00000000000 --- a/src/packages/frontend/projects/project-list.tsx +++ /dev/null @@ -1,38 +0,0 @@ -/* - * This file is part of CoCalc: Copyright © 2020 Sagemath, Inc. - * License: MS-RSL – see LICENSE.md for details - */ - -import { Virtuoso } from "react-virtuoso"; -import { LoadAllProjects } from "./projects-load-all"; -import { ProjectRow } from "./project-row"; - -interface Props { - visible_projects: string[]; // array of project ids -} - -export default function ProjectList({ visible_projects }: Props) { - return ( - { - if (index == visible_projects.length) { - return ( - // div is needed to avoid height 0 when projects already loaded. -
- -
- ); - } - const project_id = visible_projects[index]; - if (project_id == null) { - // should not happen - return
; - } - return ( - - ); - }} - /> - ); -} diff --git a/src/packages/frontend/projects/project-row-expanded-content.tsx b/src/packages/frontend/projects/project-row-expanded-content.tsx index 6f1f74dae46..aa7f78b7434 100644 --- a/src/packages/frontend/projects/project-row-expanded-content.tsx +++ b/src/packages/frontend/projects/project-row-expanded-content.tsx @@ -14,38 +14,46 @@ * - Action buttons */ -import { Button, Descriptions, Space } from "antd"; -import { useState } from "react"; +import { Button, Descriptions, Dropdown, MenuProps, Space } from "antd"; +import { useMemo, useState } from "react"; import { useIntl } from "react-intl"; import { + redux, useActions, useRedux, useTypedRedux, } from "@cocalc/frontend/app-framework"; +import useAppContext from "@cocalc/frontend/app/use-context"; import { AddCollaborators } from "@cocalc/frontend/collaborators"; import { CopyToClipBoard, Icon, + IconName, ProjectState, + TimeAgo, } from "@cocalc/frontend/components"; import { compute_image2basename, is_custom_image, } from "@cocalc/frontend/custom-software/util"; +import { file_options } from "@cocalc/frontend/editor-tmp"; import { labels } from "@cocalc/frontend/i18n"; +import { FIXED_PROJECT_TABS } from "@cocalc/frontend/project/page/file-tab"; +import { useStarredFilesManager } from "@cocalc/frontend/project/page/flyouts/store"; +import { RestartProject } from "@cocalc/frontend/project/settings/restart-project"; import { DEFAULT_COMPUTE_IMAGE } from "@cocalc/util/db-schema"; import { KUCALC_COCALC_COM } from "@cocalc/util/db-schema/site-defaults"; import { COLORS } from "@cocalc/util/theme"; - import { ProjectUsers } from "./project-users"; +import { useRecentFiles } from "./util"; interface Props { project_id: string; - onClose?: () => void; } -export function ProjectRowExpandedContent({ project_id, onClose }: Props) { +export function ProjectRowExpandedContent({ project_id }: Props) { + const { displayI18N } = useAppContext(); const [show_add_collab, set_show_add_collab] = useState(false); const intl = useIntl(); @@ -55,11 +63,20 @@ export function ProjectRowExpandedContent({ project_id, onClose }: Props) { const kucalc = useTypedRedux("customize", "kucalc"); const software = useTypedRedux("customize", "software"); const is_anonymous = useTypedRedux("account", "is_anonymous"); + const project_log = useTypedRedux({ project_id }, "project_log"); + + // Get recent files - always enabled since component only renders when expanded + const recentFiles = useRecentFiles(project_log, 100); + + // Get starred files - always enabled since component only renders when expanded + const { starred } = useStarredFilesManager(project_id, true); if (!project) { return null; } + const color = project.get("color"); + function openProjectSettings() { actions.open_project({ project_id, @@ -68,6 +85,21 @@ export function ProjectRowExpandedContent({ project_id, onClose }: Props) { }); } + function openProjectTab(tab: string) { + actions.open_project({ + project_id, + switch_to: true, + target: tab, + }); + } + + function openFile(path: string) { + const project_actions = redux.getProjectActions(project_id); + if (project_actions) { + project_actions.open_file({ path }); + } + } + function renderSoftwareImage() { const ci = project.get("compute_image"); if (ci == null || images == null) return "Default"; @@ -138,58 +170,217 @@ export function ProjectRowExpandedContent({ project_id, onClose }: Props) { ); } + // Prepare starred files menu + const starredFilesMenu: MenuProps["items"] = useMemo(() => { + if (starred.length === 0) { + return [ + { + key: "empty", + label: No starred files, + disabled: true, + }, + ]; + } + + return starred.map((filename) => { + const info = file_options(filename); + const icon: IconName = info?.icon ?? "file"; + return { + key: filename, + icon: , + label: filename, + onClick: () => openFile(filename), + }; + }); + }, [starred]); + + // Prepare recent files menu + const recentFilesMenu: MenuProps["items"] = useMemo(() => { + if (recentFiles.length === 0) { + return [ + { + key: "empty", + label: No recent files, + disabled: true, + }, + ]; + } + + return recentFiles.map((file) => { + const info = file_options(file.filename); + const icon: IconName = info?.icon ?? "file"; + return { + key: file.filename, + icon: , + label: file.filename, + onClick: () => openFile(file.filename), + }; + }); + }, [recentFiles]); + return (
-
+ + {/* Top Row: Action Buttons */} +
- {onClose && ( + + + + - )} + + + + + +
- + + + {project.get("created") ? ( + + ) : ( + Unknown + )} + + + {project.get("last_edited") ? ( + + ) : ( + Never + )} + + + + + + + + {!is_anonymous && ( - - {renderCollaborators()} - + <> + + {renderCollaborators()} + + )} + + + {renderSoftwareImage()} + - - - - - {renderSoftwareImage()} -
); diff --git a/src/packages/frontend/projects/project-row.tsx b/src/packages/frontend/projects/project-row.tsx deleted file mode 100644 index 895dc4ad191..00000000000 --- a/src/packages/frontend/projects/project-row.tsx +++ /dev/null @@ -1,350 +0,0 @@ -/* - * This file is part of CoCalc: Copyright © 2020 Sagemath, Inc. - * License: MS-RSL – see LICENSE.md for details - */ - -/* -Render a single project entry, which goes in the list of projects -*/ - -import { Avatar } from "antd"; -import { CSSProperties, useEffect } from "react"; - -import { Col, Row, Well } from "@cocalc/frontend/antd-bootstrap"; -import { - CSS, - React, - redux, - useActions, - useIsMountedRef, - useRedux, - useState, - useTypedRedux, -} from "@cocalc/frontend/app-framework"; -import { AddCollaborators } from "@cocalc/frontend/collaborators"; -import { - Gap, - Icon, - Markdown, - Paragraph, - ProjectState, - TimeAgo, -} from "@cocalc/frontend/components"; -import { - compute_image2basename, - is_custom_image, -} from "@cocalc/frontend/custom-software/util"; -import track from "@cocalc/frontend/user-tracking"; -import { DEFAULT_COMPUTE_IMAGE } from "@cocalc/util/db-schema"; -import { KUCALC_COCALC_COM } from "@cocalc/util/db-schema/site-defaults"; -import { COLORS } from "@cocalc/util/theme"; -import { ProjectUsers } from "./project-users"; -import { useBookmarkedProjects } from "./use-bookmarked-projects"; -import { blendBackgroundColor } from "./util"; - -const image_name_style: React.CSSProperties = { - fontSize: "12px", - color: COLORS.GRAY, - marginTop: "5px", -} as const; - -interface Props { - project_id: string; - index?: number; -} - -export const ProjectRow: React.FC = ({ project_id, index }: Props) => { - const [selection_at_last_mouse_down, set_selection_at_last_mouse_down] = - useState(""); - const project = useRedux(["projects", "project_map", project_id]); - - const [add_collab, set_add_collab] = useState(false); - const images = useTypedRedux("compute_images", "images"); - const is_anonymous = useTypedRedux("account", "is_anonymous"); - const kucalc = useTypedRedux("customize", "kucalc"); - const software = useTypedRedux("customize", "software"); - - const actions = useActions("projects"); - const { isProjectBookmarked, setProjectBookmarked } = useBookmarkedProjects(); - - function render_star(): React.JSX.Element { - const isStarred = isProjectBookmarked(project_id); - return ( -
{ - e.stopPropagation(); - setProjectBookmarked(project_id, !isStarred); - }} - > - -
- ); - } - - function render_add_collab(): React.JSX.Element | undefined { - if (!add_collab) { - return; - } - return ( - - ); - } - - function render_collab(): React.JSX.Element { - return ( -
-
{ - set_add_collab(!add_collab); - e.stopPropagation(); - }} - > - - {" "} - - - - - - - -
- {render_add_collab()} -
- ); - } - - // transforms the compute image ID to a human readable string - function render_image_name(): React.JSX.Element | undefined { - const ci = project.get("compute_image"); - if (ci == null || images == null) return; - if (is_custom_image(ci)) { - const id = compute_image2basename(ci); - const img = images.get(id); - if (img == null) return; - const name = img.get("display"); - return ( -
- {name}{" "} - (custom) -
- ); - } else { - if (ci === DEFAULT_COMPUTE_IMAGE) return; // avoid clutter for the default. - // sanitizeSoftwareEnv ensures the title is set, but maybe there is no image named $ci - const name = software?.getIn(["environments", ci, "title"]) ?? ci; - const descr = software?.getIn(["environments", ci, "descr"]) ?? ""; - return ( -
- {name} - {kucalc === KUCALC_COCALC_COM && ( - <> - {" "} - {(official)} - - )} -
- ); - } - } - - function render_project_description() { - const desc = project.get("description"); - if (desc == "No Description") { - // Don't bother showing the "No Description" default; it's clutter - return; - } - return ; - } - - function handle_mouse_down(): void { - set_selection_at_last_mouse_down((window.getSelection() ?? "").toString()); - } - - function handle_click(e?, force?: boolean): void { - if (!force && add_collab) return; - const cur_sel = (window.getSelection() ?? "").toString(); - // Check if user has highlighted some text. Do NOT open if the user seems - // to be trying to highlight text on the row, e.g., for copy pasting. - if (cur_sel === selection_at_last_mouse_down) { - open_project_from_list(e); - } - } - - function open_project_from_list(e?): void { - actions.open_project({ - project_id, - switch_to: !(e?.which === 2 || e?.ctrlKey || e?.metaKey), - }); - e?.preventDefault(); - track("open_project", { how: "projects_page", project_id }); - } - - function open_project_settings(e): void { - if (add_collab) return; - if (is_anonymous) return; - actions.open_project({ - project_id, - switch_to: !(e.which === 2 || e.ctrlKey || e.metaKey), - target: "settings", - }); - e.stopPropagation(); - } - - const color = project.get("color"); - const borderStyle = color ? `4px solid ${color}` : undefined; - - // Calculate background color with faint hint of project color - const isEvenRow = (index ?? 0) % 2 === 1; - const baseColor = isEvenRow ? COLORS.GRAY_LL : "white"; // even color same as background in projects-nav.ts ProjectsNav::renderTabBar0 - const backgroundColor = blendBackgroundColor(color, baseColor, isEvenRow); - - const project_row_styles: CSS = { - backgroundColor, - marginBottom: 0, - cursor: "pointer", - wordWrap: "break-word", - ...(borderStyle - ? { - borderLeft: borderStyle, - borderRight: borderStyle, - } - : undefined), - }; - - if (project == null) { - return <>; - } - - return ( - - - - {!is_anonymous && render_star()} - - - - - {render_image_name()} - - - {render_project_description()} - - {!is_anonymous && render_collab()} - - {!is_anonymous && ( - - - - )} - - - {project.get("avatar_image_tiny") && ( - - )} - - - - ); -}; - -interface ProjectAvatarImageProps { - project_id: string; - size?: number; - onClick?: Function; - style?: CSSProperties; - askToAddAvatar?: boolean; -} - -export function ProjectAvatarImage(props: ProjectAvatarImageProps) { - const { project_id, size, onClick, style, askToAddAvatar = false } = props; - const isMounted = useIsMountedRef(); - const [avatarImage, setAvatarImage] = useState(undefined); - - useEffect(() => { - (async () => { - const img = await redux - .getStore("projects") - .getProjectAvatarImage(project_id); - if (!isMounted.current) return; - setAvatarImage(img); - })(); - }, []); - - function renderAdd(): React.JSX.Element { - if (!askToAddAvatar || onClick == null) return <>; - return ( - onClick(e)}> - (Click to add avatar image) - - ); - } - - return avatarImage ? ( -
onClick?.(e)}> - } - /> -
- ) : ( - renderAdd() - ); -} diff --git a/src/packages/frontend/projects/projects-actions-menu.tsx b/src/packages/frontend/projects/projects-actions-menu.tsx new file mode 100644 index 00000000000..719ab7279d0 --- /dev/null +++ b/src/packages/frontend/projects/projects-actions-menu.tsx @@ -0,0 +1,339 @@ +/* + * This file is part of CoCalc: Copyright © 2025 Sagemath, Inc. + * License: MS-RSL – see LICENSE.md for details + */ + +/** + * Actions menu for project table rows + * + * Dropdown menu with context-sensitive actions for each project: + * - Open project + * - Open settings + * - Hide/Unhide (conditional) + * - Delete/Undelete (conditional) + */ + +import type { ProjectTableRecord } from "./projects-table-columns"; + +import { Dropdown, MenuProps, Modal } from "antd"; +import { useMemo, useState } from "react"; +import { useIntl } from "react-intl"; + +import { + redux, + useActions, + useTypedRedux, +} from "@cocalc/frontend/app-framework"; +import { Icon, IconName } from "@cocalc/frontend/components"; +import { file_options } from "@cocalc/frontend/editor-tmp"; +import { labels } from "@cocalc/frontend/i18n"; +import { FIXED_PROJECT_TABS } from "@cocalc/frontend/project/page/file-tab"; +import { COLORS } from "@cocalc/util/theme"; +import { useRecentFiles } from "./util"; +import { useStarredFilesManager } from "@cocalc/frontend/project/page/flyouts/store"; + +interface Props { + record: ProjectTableRecord; +} + +export function ProjectActionsMenu({ record }: Props) { + const [open, setOpen] = useState(false); + const intl = useIntl(); + const actions = useActions("projects"); + const account_id = useTypedRedux("account", "account_id"); + const project_map = useTypedRedux("projects", "project_map"); + const project_log = useTypedRedux( + { project_id: record.project_id }, + "project_log", + ); + + // Initialize project_log when menu opens if not already loaded + const handleOpenChange = (newOpen: boolean) => { + setOpen(newOpen); + if (newOpen && project_log == null) { + redux.getProjectStore(record.project_id).init_table("project_log"); + } + }; + + // Check if user is owner of this project + const isOwner = + project_map?.getIn([record.project_id, "users", account_id, "group"]) === + "owner"; + + // Get recent files - only when menu is open + const recentFiles = useRecentFiles(project_log, open ? 100 : 0); + + // Get starred files - only when menu is open + const { starred } = useStarredFilesManager(record.project_id, open); + + function openProjectTab(tab: string) { + actions.open_project({ + project_id: record.project_id, + switch_to: true, + target: tab, + }); + } + + function openFile(path: string) { + const project_actions = redux.getProjectActions(record.project_id); + if (project_actions) { + project_actions.open_file({ path }); + } + } + + const handleMenuClick: MenuProps["onClick"] = async ({ key, domEvent }) => { + domEvent.stopPropagation(); // Don't trigger row click + + switch (key) { + case "open": + actions.open_project({ + project_id: record.project_id, + switch_to: true, + }); + break; + case "explorer": + openProjectTab("files"); + break; + case "new": + openProjectTab("new"); + break; + case "log": + openProjectTab("log"); + break; + case "users": + openProjectTab("users"); + break; + case "servers": + openProjectTab("servers"); + break; + case "settings": + actions.open_project({ + project_id: record.project_id, + switch_to: true, + target: "settings", + }); + break; + case "hide": + await actions.toggle_hide_project(record.project_id); + break; + case "delete": + await actions.toggle_delete_project(record.project_id); + break; + case "remove-self": + Modal.confirm({ + title: "Remove Myself from Project", + content: ( +
+

Are you sure you want to remove yourself from this project?

+

+ + You will no longer have access and cannot add yourself back. + +

+
+ ), + okText: "Yes, Remove Me", + okButtonProps: { danger: true }, + onOk: async () => { + try { + await actions.remove_collaborator(record.project_id, account_id); + redux.getActions("page").close_project_tab(record.project_id); + } catch (error) { + console.error("Failed to remove collaborator:", error); + } + }, + }); + break; + default: + // Handle starred files - check if key starts with "starred-file:" + if (key.startsWith("starred-file:")) { + const filename = key.substring("starred-file:".length); + openFile(filename); + } + // Handle recent files - check if key starts with "recent-file:" + else if (key.startsWith("recent-file:")) { + const filename = key.substring("recent-file:".length); + openFile(filename); + } + break; + } + setOpen(false); + }; + + // Prepare starred files submenu + const starredFilesSubmenu: MenuProps["items"] = useMemo(() => { + if (starred.length === 0) { + return [ + { + key: "empty", + label: No starred files, + disabled: true, + }, + ]; + } + + return starred.map((filename) => { + const info = file_options(filename); + const icon: IconName = info?.icon ?? "file"; + return { + key: `starred-file:${filename}`, + icon: , + label: ( + + {filename} + + ), + }; + }); + }, [starred]); + + // Prepare recent files submenu + const recentFilesSubmenu: MenuProps["items"] = useMemo(() => { + if (recentFiles.length === 0) { + return [ + { + key: "empty", + label: No recent files, + disabled: true, + }, + ]; + } + + return recentFiles.map((file) => { + const info = file_options(file.filename); + const icon: IconName = info?.icon ?? "file"; + return { + key: `recent-file:${file.filename}`, + icon: , + label: ( + + {file.filename} + + ), + }; + }); + }, [recentFiles]); + + const menuItems: MenuProps["items"] = [ + { + key: "explorer", + label: intl.formatMessage(labels.explorer), + icon: , + }, + { + type: "divider", + }, + { + key: "starred-files", + label: "Starred Files", + icon: , + children: starredFilesSubmenu, + popupClassName: "cc-starred-files-submenu", + }, + { + key: "recent-files", + label: intl.formatMessage(labels.recent_files), + icon: , + children: recentFilesSubmenu, + popupClassName: "cc-recent-files-submenu", + }, + { + type: "divider", + }, + { + key: "new", + label: intl.formatMessage(labels.new), + icon: , + }, + { + key: "log", + label: "Log", + icon: , + }, + { + key: "users", + label: "Users", + icon: , + }, + { + key: "servers", + label: "Servers", + icon: , + }, + { + key: "settings", + label: "Settings", + icon: , + }, + { + type: "divider", + }, + ...(!isOwner + ? [ + { + key: "remove-self", + label: "Remove Myself as Collaborator", + icon: , + danger: true, + }, + { + type: "divider" as const, + }, + ] + : []), + { + key: "hide", + label: record.hidden ? "Unhide Project" : "Hide Project", + icon: , + }, + { + key: "delete", + label: record.deleted ? "Undelete Project" : "Delete Project", + icon: , + danger: !record.deleted, + }, + ]; + + return ( +
e.stopPropagation()} // Prevent row click when clicking menu + style={{ cursor: "pointer" }} + > + + + + + + +
+ ); +} diff --git a/src/packages/frontend/projects/projects-filter-buttons.tsx b/src/packages/frontend/projects/projects-filter-buttons.tsx deleted file mode 100644 index 98586948814..00000000000 --- a/src/packages/frontend/projects/projects-filter-buttons.tsx +++ /dev/null @@ -1,84 +0,0 @@ -/* - * This file is part of CoCalc: Copyright © 2020 Sagemath, Inc. - * License: MS-RSL – see LICENSE.md for details - */ - -import { useTypedRedux, useActions } from "../app-framework"; -import { user_activity } from "../tracker"; -import { Button, ButtonGroup } from "../antd-bootstrap"; -import { Icon } from "../components"; - -export const ProjectsFilterButtons: React.FC = () => { - const deleted = useTypedRedux("projects", "deleted"); - const hidden = useTypedRedux("projects", "hidden"); - const starred = useTypedRedux("projects", "starred"); - const actions = useActions("projects"); - - function render_deleted_button(): React.JSX.Element { - const style = deleted ? "warning" : undefined; - return ( - - ); - } - - function render_hidden_button(): React.JSX.Element { - const style = hidden ? "warning" : undefined; - return ( - - ); - } - - function render_starred_button(): React.JSX.Element { - const style = starred ? "warning" : undefined; - return ( - - ); - } - - return ( - - {render_starred_button()} - {render_deleted_button()} - {render_hidden_button()} - - ); -}; diff --git a/src/packages/frontend/projects/projects-nav.tsx b/src/packages/frontend/projects/projects-nav.tsx index 3217f06e6e0..815568643fd 100644 --- a/src/packages/frontend/projects/projects-nav.tsx +++ b/src/packages/frontend/projects/projects-nav.tsx @@ -24,7 +24,7 @@ import { } from "@cocalc/frontend/components/sortable-tabs"; import StaticMarkdown from "@cocalc/frontend/editors/slate/static-markdown"; import { IS_MOBILE } from "@cocalc/frontend/feature"; -import { ProjectAvatarImage } from "@cocalc/frontend/projects/project-row"; +import { ProjectAvatarImage } from "@cocalc/frontend/projects/project-avatar"; import { KUCALC_COCALC_COM } from "@cocalc/util/db-schema/site-defaults"; import { COMPUTE_STATES } from "@cocalc/util/schema"; import { COLORS } from "@cocalc/util/theme"; diff --git a/src/packages/frontend/projects/projects-operations.tsx b/src/packages/frontend/projects/projects-operations.tsx new file mode 100644 index 00000000000..1feb12511cf --- /dev/null +++ b/src/packages/frontend/projects/projects-operations.tsx @@ -0,0 +1,382 @@ +/* + * This file is part of CoCalc: Copyright © 2025 Sagemath, Inc. + * License: MS-RSL – see LICENSE.md for details + */ + +/** + * Bulk operations on filtered/visible projects + * Shows status alert with action buttons when filters are active + */ + +// cSpell:ignore undoable + +import { Alert, Button, Modal, Space } from "antd"; +import { Map, Set } from "immutable"; +import { useMemo } from "react"; +import { FormattedMessage, useIntl } from "react-intl"; + +import { useActions, useTypedRedux } from "@cocalc/frontend/app-framework"; +import { Icon } from "@cocalc/frontend/components"; +import { COLORS } from "@cocalc/util/theme"; + +import RemoveMyself from "./remove-myself"; + +interface Props { + visible_projects: string[]; +} + +export function ProjectsOperations({ visible_projects }: Props) { + const intl = useIntl(); + const actions = useActions("projects"); + + const deleted = useTypedRedux("projects", "deleted"); + const hidden = useTypedRedux("projects", "hidden"); + const search: string = useTypedRedux("projects", "search"); + const selected_hashtags: Map> = useTypedRedux( + "projects", + "selected_hashtags", + ); + const project_map = useTypedRedux("projects", "project_map"); + const account_id = useTypedRedux("account", "account_id"); + + const filter = useMemo(() => { + return `${!!hidden}-${!!deleted}`; + }, [hidden, deleted]); + + const selected_hashtags_for_filter: string[] = useMemo(() => { + return selected_hashtags?.get(filter)?.toJS() ?? []; + }, [selected_hashtags, filter]); + + // Only show when filters/search/hashtags are active + const isFiltered = useMemo(() => { + return ( + !!deleted || + !!hidden || + !!search?.trim() || + selected_hashtags_for_filter.length > 0 + ); + }, [deleted, hidden, search, selected_hashtags_for_filter]); + + // Count owned projects for delete confirmation + const ownedProjectCount = useMemo(() => { + return visible_projects.filter( + (project_id) => + project_map?.getIn([project_id, "users", account_id, "group"]) === + "owner", + ).length; + }, [visible_projects, project_map, account_id]); + + if (!isFiltered) { + return null; + } + + // Build status message parts + const filterParts: string[] = []; + if (deleted) filterParts.push("deleted"); + if (hidden) filterParts.push("hidden"); + const filterText = filterParts.join(" and "); + + const searchHashtagParts: string[] = []; + if (search?.trim()) { + searchHashtagParts.push(`'${search.trim()}'`); + } + if (selected_hashtags_for_filter.length > 0) { + // Add # prefix only if not present, then quote each tag + const formattedTags = selected_hashtags_for_filter + .map((tag) => `'${tag.startsWith("#") ? tag : "#" + tag}'`) + .join(" "); + searchHashtagParts.push(formattedTags); + } + const searchHashtagText = searchHashtagParts.join(" "); + + // Handle Clear All Filters + const handleClearFilters = () => { + // Clear search + actions.setState({ search: "" }); + + // Clear filter switches + actions.display_hidden_projects(false); + actions.display_deleted_projects(false); + + // Clear hashtags for current filter state + if (selected_hashtags && selected_hashtags_for_filter.length > 0) { + actions.setState({ + selected_hashtags: selected_hashtags.set(filter, Set()), + }); + } + }; + + // Handle Hide/Unhide All + const handleToggleHide = () => { + const description = intl.formatMessage( + { + id: "projects.operations.hide.description", + defaultMessage: + "Are you sure you want to {hidden, select, true {unhide} other {hide}} {count, plural, one {# project} other {# projects}}?", + }, + { hidden: !!hidden, count: visible_projects.length }, + ); + + const warning = intl.formatMessage( + { + id: "projects.operations.hide.warning", + defaultMessage: + "This {hidden, select, true {shows} other {hides}} the {count, plural, one {project} other {projects}} from you, not your collaborators.", + }, + { hidden: !!hidden, count: visible_projects.length }, + ); + + const undoable = intl.formatMessage({ + id: "projects.operations.undoable", + defaultMessage: "This can be undone in project settings.", + }); + + Modal.confirm({ + title: intl.formatMessage( + { + id: "projects.operations.hide.title", + defaultMessage: + "{hidden, select, true {Unhide} other {Hide}} Projects", + }, + { hidden: !!hidden }, + ), + content: ( +
+

{description}

+

{warning}

+

{undoable}

+
+ ), + okText: intl.formatMessage( + { + id: "projects.operations.hide.confirm", + defaultMessage: "Yes, {hidden, select, true {unhide} other {hide}}", + }, + { hidden: !!hidden }, + ), + okButtonProps: { danger: true }, + onOk: () => { + for (const project_id of visible_projects) { + actions.toggle_hide_project(project_id); + } + }, + }); + }; + + // Handle Delete/Undelete All + const handleToggleDelete = () => { + const ownedText = + ownedProjectCount === 0 + ? "You do not own any of the listed projects." + : ownedProjectCount < visible_projects.length + ? `You are the owner of ${ownedProjectCount} of the ${visible_projects.length} listed projects.` + : "You are the owner of every listed project."; + + const description = intl.formatMessage( + { + id: "projects.operations.delete.description", + defaultMessage: + "Are you sure you want to {deleted, select, true {undelete} other {delete}} {count, plural, one {# project} other {# projects}}?", + }, + { deleted: !!deleted, count: visible_projects.length }, + ); + + const warning = intl.formatMessage( + { + id: "projects.operations.delete.warning", + defaultMessage: + "This will {deleted, select, true {restore} other {delete}} the {count, plural, one {project} other {projects}} for all collaborators.", + }, + { deleted: !!deleted, count: visible_projects.length }, + ); + + const undoable = intl.formatMessage({ + id: "projects.operations.undoable", + defaultMessage: "This can be undone in project settings.", + }); + + Modal.confirm({ + title: intl.formatMessage( + { + id: "projects.operations.delete.title", + defaultMessage: + "{deleted, select, true {Undelete} other {Delete}} Projects", + }, + { deleted: !!deleted }, + ), + content: ( +
+

{ownedText}

+

{description}

+

+ {warning} +

+

{undoable}

+
+ ), + okText: intl.formatMessage( + { + id: "projects.operations.delete.confirm", + defaultMessage: + "Yes, {deleted, select, true {undelete} other {delete}}", + }, + { deleted: !!deleted }, + ), + okButtonProps: { danger: true }, + onOk: () => { + for (const project_id of visible_projects) { + actions.toggle_delete_project(project_id); + } + }, + }); + }; + + // Handle Stop All + const handleStopAll = () => { + Modal.confirm({ + title: intl.formatMessage({ + id: "projects.operations.stop.title", + defaultMessage: "Stop Projects", + }), + content: intl.formatMessage( + { + id: "projects.operations.stop.description", + defaultMessage: + "Stop {count, plural, one {this project} other {these # projects}}?", + }, + { count: visible_projects.length }, + ), + okText: intl.formatMessage({ + id: "projects.operations.stop.confirm", + defaultMessage: "Stop", + }), + okButtonProps: { danger: true }, + onOk: () => { + for (const project_id of visible_projects) { + actions.stop_project(project_id); + } + }, + }); + }; + + // Handle Restart All + const handleRestartAll = () => { + Modal.confirm({ + title: intl.formatMessage({ + id: "projects.operations.restart.title", + defaultMessage: "Restart Projects", + }), + content: intl.formatMessage( + { + id: "projects.operations.restart.description", + defaultMessage: + "Restart {count, plural, one {this project} other {these # projects}}?", + }, + { count: visible_projects.length }, + ), + okText: intl.formatMessage({ + id: "projects.operations.restart.confirm", + defaultMessage: "Restart", + }), + okButtonProps: { danger: true }, + onOk: () => { + for (const project_id of visible_projects) { + actions.restart_project(project_id); + } + }, + }); + }; + + return ( + +
+ +
+ +
+ } + description={ + visible_projects.length > 0 ? ( + + + + + + + + + + + + ) : undefined + } + /> + ); +} diff --git a/src/packages/frontend/projects/projects-page.tsx b/src/packages/frontend/projects/projects-page.tsx index 4c1304e431e..db9c89a3135 100644 --- a/src/packages/frontend/projects/projects-page.tsx +++ b/src/packages/frontend/projects/projects-page.tsx @@ -3,9 +3,9 @@ * License: MS-RSL – see LICENSE.md for details */ -import { Col, Row, Space } from "antd"; +import { Col, Grid, Row, Space } from "antd"; import { Map, Set } from "immutable"; -import { useEffect, useRef } from "react"; +import { useLayoutEffect, useRef } from "react"; import { useIntl } from "react-intl"; // ensure redux stuff (actions and store) are initialized: @@ -26,12 +26,13 @@ import { COLORS } from "@cocalc/util/theme"; import { NewProjectCreator } from "./create-project"; import { LoadAllProjects } from "./projects-load-all"; +import { ProjectsOperations } from "./projects-operations"; +import { StarredProjectsBar } from "./projects-starred"; import { ProjectsTable } from "./projects-table"; import { ProjectsTableControls } from "./projects-table-controls"; -import { StarredProjectsBar } from "./projects-starred-bar"; import ProjectsPageTour from "./tour"; import { useBookmarkedProjects } from "./use-bookmarked-projects"; -import { get_visible_projects } from "./util"; +import { getVisibleProjects } from "./util"; const PROJECTS_TITLE_STYLE: CSS = { marginTop: "20px", @@ -45,23 +46,41 @@ const LOADING_STYLE: CSS = { export const ProjectsPage: React.FC = () => { const intl = useIntl(); + const { bookmarkedProjects } = useBookmarkedProjects(); + + const is_anonymous = useTypedRedux("account", "is_anonymous"); + const project_map = useTypedRedux("projects", "project_map"); + const user_map = useTypedRedux("users", "user_map"); + + const all_projects: string[] = useMemo( + () => project_map?.keySeq().toJS() ?? [], + [project_map?.size], + ); + + const screens = Grid.useBreakpoint(); + const narrow = !screens.lg; + + // Tour const searchRef = useRef(null); const filtersRef = useRef(null); const createNewRef = useRef(null); const projectListRef = useRef(null); + + // Calculating table height + const containerRef = useRef(null); const titleRef = useRef(null); const starredBarRef = useRef(null); const controlsRef = useRef(null); + const operationsRef = useRef(null); const loadAllRef = useRef(null); - const footerRef = useRef(null); - const containerRef = useRef(null); + // Elements to account for in height calculation (everything except projectList and footer) const refs = [ titleRef, starredBarRef, controlsRef, + operationsRef, loadAllRef, - footerRef, ] as const; const [create_project_trigger, set_create_project_trigger] = @@ -78,32 +97,24 @@ export const ProjectsPage: React.FC = () => { // status of filters const hidden = !!useTypedRedux("projects", "hidden"); const deleted = !!useTypedRedux("projects", "deleted"); - const starred = !!useTypedRedux("projects", "starred"); const filter = useMemo(() => { - return `${!!hidden}-${!!deleted}-${!!starred}`; - }, [hidden, deleted, starred]); + return `${!!hidden}-${!!deleted}`; + }, [hidden, deleted]); const search: string = useTypedRedux("projects", "search"); - const is_anonymous = useTypedRedux("account", "is_anonymous"); const selected_hashtags: Map> = useTypedRedux( "projects", "selected_hashtags", ); - const { bookmarkedProjects } = useBookmarkedProjects(); - - const project_map = useTypedRedux("projects", "project_map"); - const user_map = useTypedRedux("users", "user_map"); const visible_projects: string[] = useMemo(() => { - return get_visible_projects( + return getVisibleProjects( project_map, user_map, selected_hashtags?.get(filter), search, deleted, hidden, - starred, - bookmarkedProjects, "last_edited" /* "user_last_active" was confusing */, ); }, [ @@ -111,25 +122,16 @@ export const ProjectsPage: React.FC = () => { user_map, deleted, hidden, - starred, filter, selected_hashtags, search, - bookmarkedProjects, ]); - const all_projects: string[] = useMemo( - () => project_map?.keySeq().toJS() ?? [], - [project_map?.size], - ); - // Calculate dynamic table height following these steps: // 1. Get container's offset from viewport top - // 2. Viewport height - offset = available area for the page - // 3. Sum heights of fixed elements (title, controls, footer, loadAll button) - // 4. Remaining height = available area - fixed elements = table height - // 5. Adjust dynamically on resize and when elements appear/disappear - useEffect(() => { + // 2. Available area = viewport height - offset + // 3. Table height = available area - fixed elements - gaps + useLayoutEffect(() => { const calculateHeight = () => { if (!containerRef.current) return; @@ -140,48 +142,50 @@ export const ProjectsPage: React.FC = () => { const viewportHeight = window.innerHeight; const availableArea = viewportHeight - containerTop; - // 3. Sum heights of all fixed elements (title, starred bar, controls, loadAll, footer) + // 3. Sum heights of all fixed elements (including margins) let fixedElementsHeight = 0; - const elementHeights: Record = {}; - refs.forEach((ref, idx) => { + refs.forEach((ref) => { if (ref.current) { - const height = ref.current.getBoundingClientRect().height; - fixedElementsHeight += height; - elementHeights[ - ["title", "starred", "controls", "loadAll", "footer"][idx] - ] = height; + const rect = ref.current.getBoundingClientRect(); + const style = window.getComputedStyle(ref.current); + const marginTop = parseFloat(style.marginTop) || 0; + const marginBottom = parseFloat(style.marginBottom) || 0; + const totalHeight = rect.height + marginTop + marginBottom; + fixedElementsHeight += totalHeight; } }); - // 4. Table height = available area - fixed elements - buffer for spacing - // Space has 6 elements total (title, starred, controls, table, loadAll, footer) - // So there are 5 gaps of 10px each = 50px - // Plus title marginTop (20px) + bottom padding (40px) for breathing room - const buffer = 110; // 20px title top + 5 × 10px gaps + 40px bottom padding - const calculatedHeight = availableArea - fixedElementsHeight - buffer; - const newHeight = Math.max(calculatedHeight, 300); // Minimum 300px - - // console.log("[ProjectsPage Height Debug]", { - // viewportHeight, - // containerTop, - // availableArea, - // fixedElementsHeight, - // elementHeights, - // buffer, - // calculatedHeight, - // newHeight, - // }); + // 4. Account for margins on the projectListRef wrapper div + let projectListMargins = 0; + if (projectListRef.current) { + const style = window.getComputedStyle(projectListRef.current); + const marginTop = parseFloat(style.marginTop) || 0; + const marginBottom = parseFloat(style.marginBottom) || 0; + projectListMargins = marginTop + marginBottom; + } + + // 5. Account for 10px gaps between visible elements from Space component + const visibleGaps = refs.length * 10; + + // 6. Add buffer to ensure loadAll button is fully visible + const buffer = 80; + + const calculatedHeight = + availableArea - + fixedElementsHeight - + projectListMargins - + visibleGaps - + buffer; + + // enforce a minimum height + const newHeight = Math.max(calculatedHeight, 400); setTableHeight(newHeight); }; - // Initial calculation with requestAnimationFrame for proper timing const rafId = requestAnimationFrame(() => { calculateHeight(); - // Multiple retries to handle async rendering on initial load setTimeout(calculateHeight, 100); - setTimeout(calculateHeight, 300); - setTimeout(calculateHeight, 500); }); // Set up ResizeObserver to watch for changes @@ -193,7 +197,6 @@ export const ProjectsPage: React.FC = () => { } // Observe all fixed elements so we detect when they change/disappear - // This catches when LoadAllProjects button disappears refs.forEach((ref) => { if (ref.current) { resizeObserver.observe(ref.current); @@ -237,7 +240,11 @@ export const ProjectsPage: React.FC = () => { {/* Title */}
@@ -266,11 +273,17 @@ export const ProjectsPage: React.FC = () => { />
+ {/* Bulk Operations (when filters active) */} +
+ +
+ {/* Projects Table */}
@@ -279,10 +292,7 @@ export const ProjectsPage: React.FC = () => {
- {/* Footer */} -
-
-
+
{/* Hidden Create Project Modal */}
diff --git a/src/packages/frontend/projects/projects-starred-bar.tsx b/src/packages/frontend/projects/projects-starred-bar.tsx deleted file mode 100644 index a3b659b0658..00000000000 --- a/src/packages/frontend/projects/projects-starred-bar.tsx +++ /dev/null @@ -1,157 +0,0 @@ -/* - * This file is part of CoCalc: Copyright © 2025 Sagemath, Inc. - * License: MS-RSL – see LICENSE.md for details - */ - -import { Avatar, Button, Space, Tooltip } from "antd"; -import { useMemo } from "react"; - -import { CSS, useActions, useTypedRedux } from "@cocalc/frontend/app-framework"; -import { Icon, TimeAgo } from "@cocalc/frontend/components"; -import { COLORS } from "@cocalc/util/theme"; -import { useBookmarkedProjects } from "./use-bookmarked-projects"; -import { blendBackgroundColor } from "./util"; - -const STARRED_BAR_STYLE: CSS = { - padding: "12px 0", - marginBottom: "8px", -} as const; - -const STARRED_BUTTON_STYLE: CSS = { - maxWidth: "200px", - overflow: "hidden", - textOverflow: "ellipsis", - whiteSpace: "nowrap", -} as const; - -export function StarredProjectsBar() { - const actions = useActions("projects"); - const { bookmarkedProjects } = useBookmarkedProjects(); - const project_map = useTypedRedux("projects", "project_map"); - - // Get starred projects sorted by title - const starredProjects = useMemo(() => { - if (!bookmarkedProjects || !project_map) return []; - - const projects = bookmarkedProjects - .map((project_id) => { - const project = project_map.get(project_id); - if (!project) return null; - return { - project_id, - title: project.get("title") ?? "Untitled", - description: project.get("description") ?? "", - last_edited: project.get("last_edited"), - state: project.get("state"), - avatar_image_tiny: project.get("avatar_image_tiny"), - users: project.get("users"), - color: project.get("color"), - }; - }) - .filter((p) => p != null); - - // Sort by title - return projects.sort((a, b) => { - const titleA = a.title.toLowerCase(); - const titleB = b.title.toLowerCase(); - return titleA.localeCompare(titleB); - }); - }, [bookmarkedProjects, project_map]); - - const handleProjectClick = ( - project_id: string, - e: React.MouseEvent, - ) => { - e.preventDefault(); - const switch_to = !(e.button === 1 || e.ctrlKey || e.metaKey); - actions.open_project({ project_id, switch_to }); - }; - - if (!starredProjects || starredProjects.length === 0) { - return null; // Hide bar if no starred projects - } - - const renderTooltipContent = (project: any) => { - return ( -
-
- {project.title} -
- {project.description && ( -
- {project.description} -
- )} -
-
- -
- {project.state && ( -
- {project.state?.get("state") ?? "stopped"} -
- )} -
-
- ); - }; - - const truncateTitle = (title: string, maxLength: number = 20) => { - if (title.length <= maxLength) return title; - return title.substring(0, maxLength) + "..."; - }; - - return ( -
- - {starredProjects.map((project) => { - // Create background color with faint hint of project color - const backgroundColor = blendBackgroundColor( - project.color, - "white", - true, - ); - - const buttonStyle = { - ...STARRED_BUTTON_STYLE, - backgroundColor, - }; - - return ( - - - - ); - })} - -
- ); -} diff --git a/src/packages/frontend/projects/projects-starred.tsx b/src/packages/frontend/projects/projects-starred.tsx new file mode 100644 index 00000000000..61f2dfb73e8 --- /dev/null +++ b/src/packages/frontend/projects/projects-starred.tsx @@ -0,0 +1,288 @@ +/* + * This file is part of CoCalc: Copyright © 2025 Sagemath, Inc. + * License: MS-RSL – see LICENSE.md for details + */ + +import { Avatar, Button, Dropdown, Space, Tooltip } from "antd"; +import { useLayoutEffect, useMemo, useRef, useState } from "react"; + +import { CSS, useActions, useTypedRedux } from "@cocalc/frontend/app-framework"; +import { Icon, TimeAgo } from "@cocalc/frontend/components"; +import { COLORS } from "@cocalc/util/theme"; +import { useBookmarkedProjects } from "./use-bookmarked-projects"; +import { blendBackgroundColor, sortProjectsLastEdited } from "./util"; + +const DROPDOWN_WIDTH = 100; // Width reserved for dropdown button + buffer + +const STARRED_BAR_STYLE: CSS = { + overflow: "hidden", +} as const; + +const STARRED_BUTTON_STYLE: CSS = { + maxWidth: "200px", + textOverflow: "ellipsis", + whiteSpace: "nowrap", +} as const; + +export function StarredProjectsBar() { + const actions = useActions("projects"); + const { bookmarkedProjects } = useBookmarkedProjects(); + const project_map = useTypedRedux("projects", "project_map"); + + // Get starred projects sorted by title + const starredProjects = useMemo(() => { + if (!bookmarkedProjects || !project_map) return []; + + const projects = bookmarkedProjects + .map((project_id) => { + const project = project_map.get(project_id); + if (!project) return null; + return { + project_id, + title: project.get("title") ?? "Untitled", + description: project.get("description") ?? "", + last_edited: project.get("last_edited"), + state: project.get("state"), + avatar_image_tiny: project.get("avatar_image_tiny"), + users: project.get("users"), + color: project.get("color"), + }; + }) + .filter((p) => p != null); + + // Sort by last edited, newest first + return projects.sort(sortProjectsLastEdited).reverse(); + }, [bookmarkedProjects, project_map]); + + // State for tracking how many projects can be shown + const [visibleCount, setVisibleCount] = useState( + starredProjects.length, + ); + const containerRef = useRef(null); + const spaceRef = useRef(null); + const buttonWidthsRef = useRef([]); + const [measurementComplete, setMeasurementComplete] = useState(false); + + // Reset measurement when projects change + useLayoutEffect(() => { + setMeasurementComplete(false); + setVisibleCount(starredProjects.length); + }, [starredProjects]); + + // Measure buttons on first render and when projects change + useLayoutEffect(() => { + if ( + !spaceRef.current || + starredProjects.length === 0 || + measurementComplete + ) { + return; + } + + // Measure all button widths + const buttons = spaceRef.current.querySelectorAll( + ".starred-project-button", + ); + + if (buttons.length === starredProjects.length) { + buttonWidthsRef.current = Array.from(buttons).map( + (button) => button.offsetWidth, + ); + setMeasurementComplete(true); + } + }, [starredProjects, measurementComplete]); + + // Calculate how many buttons fit based on measured widths + useLayoutEffect(() => { + if ( + !containerRef.current || + !measurementComplete || + buttonWidthsRef.current.length === 0 + ) { + return; + } + + const calculateVisibleCount = () => { + if (!containerRef.current) return; + const availableWidth = containerRef.current.offsetWidth - DROPDOWN_WIDTH; + + let cumulativeWidth = 0; + let count = 0; + + for (let i = 0; i < buttonWidthsRef.current.length; i++) { + const buttonWidth = buttonWidthsRef.current[i]; + // Account for Space component's gap (8px for "small" size) + const spacing = i > 0 ? 8 : 0; + cumulativeWidth += buttonWidth + spacing; + + if (cumulativeWidth <= availableWidth) { + count++; + } else { + break; + } + } + + // Show at least 1 project if there's any space, or all if they all fit + const newVisibleCount = count === 0 ? 1 : count; + + // Only show dropdown if there are actually hidden projects + if (newVisibleCount >= starredProjects.length) { + setVisibleCount(starredProjects.length); + } else { + setVisibleCount(newVisibleCount); + } + }; + + // Initial calculation + calculateVisibleCount(); + + // Recalculate on resize + const resizeObserver = new ResizeObserver(() => { + calculateVisibleCount(); + }); + + resizeObserver.observe(containerRef.current); + return () => resizeObserver.disconnect(); + }, [measurementComplete, starredProjects.length]); + + const handleProjectClick = ( + project_id: string, + e: React.MouseEvent, + ) => { + e.preventDefault(); + const switch_to = !(e.button === 1 || e.ctrlKey || e.metaKey); + actions.open_project({ project_id, switch_to }); + }; + + if (!starredProjects || starredProjects.length === 0) { + return null; // Hide bar if no starred projects + } + + // Split projects into visible and overflow + const visibleProjects = starredProjects.slice(0, visibleCount); + const overflowProjects = starredProjects.slice(visibleCount); + + const renderTooltipContent = (project: any) => { + return ( +
+
+ {project.title} +
+ {project.description && ( +
+ {project.description} +
+ )} +
+
+ +
+ {project.state && ( +
+ {project.state?.get("state") ?? "stopped"} +
+ )} +
+
+ ); + }; + + const truncateTitle = (title: string, maxLength: number = 20) => { + if (title.length <= maxLength) return title; + return title.substring(0, maxLength) + "..."; + }; + + // Helper to render a project button + const renderProjectButton = (project: any, showTooltip: boolean = true) => { + // Create background color with faint hint of project color + const backgroundColor = blendBackgroundColor(project.color, "white", true); + + const buttonStyle = { + ...STARRED_BUTTON_STYLE, + backgroundColor, + }; + + const button = ( + + ); + + if (!showTooltip) { + return button; + } + + return ( + + {button} + + ); + }; + + // Create dropdown menu items for overflow projects + const overflowMenuItems = overflowProjects.map((project) => ({ + key: project.project_id, + label: ( +
handleProjectClick(project.project_id, e as any)} + > + {project.avatar_image_tiny ? ( + + ) : ( + + )} + {project.title} +
+ ), + })); + + return ( +
+ + {/* Show all buttons during initial measurement, then only visible ones */} + {(!measurementComplete ? starredProjects : visibleProjects).map( + (project) => renderProjectButton(project), + )} + {measurementComplete && overflowProjects.length > 0 && ( + + + + )} + +
+ ); +} diff --git a/src/packages/frontend/projects/project-table-columns.tsx b/src/packages/frontend/projects/projects-table-columns.tsx similarity index 79% rename from src/packages/frontend/projects/project-table-columns.tsx rename to src/packages/frontend/projects/projects-table-columns.tsx index 49d12648ff7..19bff12f581 100644 --- a/src/packages/frontend/projects/project-table-columns.tsx +++ b/src/packages/frontend/projects/projects-table-columns.tsx @@ -21,6 +21,7 @@ import { COMPUTE_STATES } from "@cocalc/util/schema"; import { COLORS } from "@cocalc/util/theme"; import { CollaboratorsAvatars } from "./collaborators-avatars"; +import { sortProjectsLastEdited } from "./util"; // Type check: ensure ComputeStateIcon values are valid IconName values export const _x: IconName = "" as ComputeStateIcon; @@ -86,6 +87,7 @@ export interface ProjectTableRecord { * @param onToggleExpand - Callback when expand column is clicked * @param expandedRowKeys - Array of expanded row keys to determine icon state * @param collaboratorFilters - Array of collaborator filter options + * @param narrow - If true, hide the collaborators column to save space * @returns Array of column definitions */ export function getProjectTableColumns( @@ -95,18 +97,51 @@ export function getProjectTableColumns( onToggleExpand?: (record: ProjectTableRecord) => void, expandedRowKeys?: string[], collaboratorFilters?: CollaboratorFilter[], + narrow?: boolean, ): TableColumnsType { const columns = [ { - title: , + key: "expand", + width: 48, + align: "center" as const, + onCell: (record) => ({ + onClick: (e: React.MouseEvent) => { + e.stopPropagation(); // Prevent row click + onToggleExpand?.(record); + }, + style: { + cursor: "pointer", + borderLeft: `5px solid ${ + record.color ? record.color : "transparent" + }`, + }, + }), + render: (_, { project_id }) => { + // Render the expand icon based on whether this row is expanded + const isExpanded = expandedRowKeys?.includes(project_id) ?? false; + return ( + + + + ); + }, + }, + { + title: , dataIndex: "starred", key: "starred", - width: 70, + width: 65, align: "center" as const, - onCell: ({ project_id }) => ({ + onCell: (record) => ({ onClick: (e: React.MouseEvent) => { e.stopPropagation(); // Prevent row click when clicking menu - onToggleStar(project_id, e); + onToggleStar(record.project_id, e); }, style: { cursor: "pointer" }, }), @@ -133,33 +168,6 @@ export function getProjectTableColumns( ), }, - { - key: "expand", - width: 48, - align: "center" as const, - onCell: (record) => ({ - onClick: (e: React.MouseEvent) => { - e.stopPropagation(); // Prevent row click - onToggleExpand?.(record); - }, - style: { cursor: "pointer" }, - }), - render: (_, { project_id }) => { - // Render the expand icon based on whether this row is expanded - const isExpanded = expandedRowKeys?.includes(project_id) ?? false; - return ( - - - - ); - }, - }, { title: Project, dataIndex: "title", @@ -218,49 +226,52 @@ export function getProjectTableColumns( ); }, }, - { - title: "Collaborators", - dataIndex: "collaborators", - key: "collaborators", - width: 150, - filters: collaboratorFilters?.map((cf) => ({ - text: ( - - {cf.avatar ? ( - - ) : ( - {cf.first_name[0]} - )} - {cf.text} - - ), - value: cf.value, - label: cf.text, // Store plain text for searching - })), - filterMultiple: true, - filterSearch: (input, record) => { - const searchText = (record as any).label ?? ""; - return searchText.toLowerCase().includes(input.toLowerCase()); - }, - onFilter: (value, record) => - record.collaborators.includes(value as string), - render: (collaborators: string[]) => ( - - ), - }, + ...(narrow + ? [] + : [ + { + title: "Collaborators", + dataIndex: "collaborators", + key: "collaborators", + width: 150, + filters: collaboratorFilters?.map((cf) => ({ + text: ( + + {cf.avatar ? ( + + ) : ( + {cf.first_name[0]} + )} + {cf.text} + + ), + value: cf.value, + label: cf.text, // Store plain text for searching + })), + filterMultiple: true, + filterSearch: (input, record) => { + const searchText = (record as any).label ?? ""; + return searchText.toLowerCase().includes(input.toLowerCase()); + }, + onFilter: (value, record) => + record.collaborators.includes(value as string), + render: (collaborators: string[]) => ( + + ), + }, + ]), { title: "Last Edited", dataIndex: "last_edited", key: "last_edited", width: 150, - sorter: (a, b) => { - if (!a.last_edited && !b.last_edited) return 0; - if (!a.last_edited) return -1; - if (!b.last_edited) return 1; - return a.last_edited.getTime() - b.last_edited.getTime(); - }, + sorter: sortProjectsLastEdited, sortDirections: SORT_DIRECTIONS, sortOrder: sortState?.columnKey === "last_edited" ? sortState.order : null, diff --git a/src/packages/frontend/projects/projects-table-controls.tsx b/src/packages/frontend/projects/projects-table-controls.tsx index 312a89a9983..7484931023e 100644 --- a/src/packages/frontend/projects/projects-table-controls.tsx +++ b/src/packages/frontend/projects/projects-table-controls.tsx @@ -26,9 +26,8 @@ import { get_visible_hashtags } from "./util"; const CONTROLS_STYLE: CSS = { width: "100%", - //padding: "10px", - marginBottom: "10px", - //backgroundColor: COLORS.GRAY_LLL, + marginTop: "10px", + marginBottom: 0, borderRadius: "4px", display: "flex", flexDirection: "row", @@ -51,15 +50,14 @@ export function ProjectsTableControls({ const search = useTypedRedux("projects", "search"); const hidden = useTypedRedux("projects", "hidden"); const deleted = useTypedRedux("projects", "deleted"); - const starred = useTypedRedux("projects", "starred"); const selected_hashtags = useTypedRedux("projects", "selected_hashtags"); const project_map = useTypedRedux("projects", "project_map"); const is_anonymous = useTypedRedux("account", "is_anonymous"); // Get filter key for current state const filter = useMemo(() => { - return `${!!hidden}-${!!deleted}-${!!starred}`; - }, [hidden, deleted, starred]); + return `${!!hidden}-${!!deleted}`; + }, [hidden, deleted]); // Get all available hashtags const visible_hashtags = useMemo(() => { diff --git a/src/packages/frontend/projects/projects-table.tsx b/src/packages/frontend/projects/projects-table.tsx index f5675f4e088..bc2075eeb04 100644 --- a/src/packages/frontend/projects/projects-table.tsx +++ b/src/packages/frontend/projects/projects-table.tsx @@ -23,28 +23,33 @@ import { set_local_storage, } from "@cocalc/frontend/misc/local-storage"; -import { ProjectActionsMenu } from "./project-actions-menu"; +import { ProjectActionsMenu } from "./projects-actions-menu"; import { ProjectRowExpandedContent } from "./project-row-expanded-content"; import { getProjectTableColumns, type ProjectTableRecord, type SortState, -} from "./project-table-columns"; +} from "./projects-table-columns"; import { useBookmarkedProjects } from "./use-bookmarked-projects"; interface Props { visible_projects: string[]; height?: number; + narrow?: boolean; // if narrow, then remove columns like "Collaborators" to safe space } const PROJECTS_TABLE_SORT_KEY = "projects-table-sort"; -export function ProjectsTable({ visible_projects, height = 600 }: Props) { +export function ProjectsTable({ + visible_projects, + height = 600, + narrow = false, +}: Props) { const actions = useActions("projects"); const project_map = useTypedRedux("projects", "project_map"); const user_map = useTypedRedux("users", "user_map"); + const expanded_project_id = useTypedRedux("projects", "expanded_project_id"); const { isProjectBookmarked, setProjectBookmarked } = useBookmarkedProjects(); - const [expandedRowKeys, setExpandedRowKeys] = useState([]); const [sortState, setSortState] = useState({ columnKey: "last_edited", order: "descend", @@ -119,12 +124,7 @@ export function ProjectsTable({ visible_projects, height = 600 }: Props) { }; const handleToggleExpand = (record: ProjectTableRecord) => { - const isExpanded = expandedRowKeys.includes(record.project_id); - if (isExpanded) { - setExpandedRowKeys([]); - } else { - setExpandedRowKeys([record.project_id]); - } + actions.toggle_expanded_project(record.project_id); }; // Compute all unique collaborators and their information for filtering @@ -157,8 +157,8 @@ export function ProjectsTable({ visible_projects, height = 600 }: Props) { const user = user_map.get(account_id); if (!user) return null; - const first_name = user.get("first_name") || ""; - const last_name = user.get("last_name") || ""; + const first_name = user.get("first_name") ?? ""; + const last_name = user.get("last_name") ?? ""; const avatar = user.get("avatar_image_tiny"); return { @@ -181,6 +181,9 @@ export function ProjectsTable({ visible_projects, height = 600 }: Props) { return filters; }, [visible_projects, project_map, user_map]); + // Convert expanded_project_id to array format for Ant Design Table + const expandedRowKeys = expanded_project_id ? [expanded_project_id] : []; + const columns = getProjectTableColumns( handleToggleStar, renderActionsMenu, @@ -188,6 +191,7 @@ export function ProjectsTable({ visible_projects, height = 600 }: Props) { handleToggleExpand, expandedRowKeys, collaboratorFilters, + narrow, ); const handleRowClick = (record: ProjectTableRecord, e?: React.MouseEvent) => { @@ -199,16 +203,12 @@ export function ProjectsTable({ visible_projects, height = 600 }: Props) { const handleExpand = (expanded: boolean, record: ProjectTableRecord) => { if (expanded) { - setExpandedRowKeys([record.project_id]); + actions.set_expanded_project(record.project_id); } else { - setExpandedRowKeys([]); + actions.set_expanded_project(undefined); } }; - const handleCloseExpanded = () => { - setExpandedRowKeys([]); - }; - const handleTableChange = (_: any, __: any, sorter: any) => { // Update sort state when columnKey and order are present // With sortDirections on Table, it should cycle continuously without clearing @@ -229,7 +229,7 @@ export function ProjectsTable({ visible_projects, height = 600 }: Props) { dataSource={tableData} rowKey="project_id" pagination={false} - scroll={{ y: height, x: "max-content" }} + scroll={{ y: height }} onChange={handleTableChange} // this makes the table toggle between ascend/descend only, skipping the "not sorted" state sortDirections={["ascend", "descend", "ascend"]} @@ -237,7 +237,6 @@ export function ProjectsTable({ visible_projects, height = 600 }: Props) { expandedRowRender: (record) => ( ), columnWidth: 48, diff --git a/src/packages/frontend/projects/remove-myself.tsx b/src/packages/frontend/projects/remove-myself.tsx index 94885cad497..f923eba6bf8 100644 --- a/src/packages/frontend/projects/remove-myself.tsx +++ b/src/packages/frontend/projects/remove-myself.tsx @@ -1,19 +1,36 @@ import { Button, Popconfirm } from "antd"; -import { plural } from "@cocalc/util/misc"; +import { FormattedMessage, useIntl } from "react-intl"; + import { redux, useTypedRedux } from "@cocalc/frontend/app-framework"; +import { labels } from "@cocalc/frontend/i18n"; +import { Icon } from "@cocalc/frontend/components"; -export default function RemoveMyself({ project_ids }) { +export default function RemoveMyself({ + project_ids, + size, +}: { + project_ids: string[]; + size?: "small"; +}) { const account_id = useTypedRedux("account", "account_id"); + const intl = useIntl(); return ( - Are you sure to remove yourself from up to {project_ids.length}{" "} - {plural(project_ids.length, "project")}? You will no longer have - access and cannot add yourself back.{" "} - You will not be removed from projects you own. + You will not be removed from projects you own.`} + values={{ + count: project_ids.length, + b: (chunks) => {chunks}, + }} + />
} onConfirm={() => { @@ -26,10 +43,15 @@ export default function RemoveMyself({ project_ids }) { } catch {} } }} - okText="Yes" - cancelText="No" + okText={intl.formatMessage(labels.yes)} + cancelText={intl.formatMessage(labels.no)} > - + ); } diff --git a/src/packages/frontend/projects/store.ts b/src/packages/frontend/projects/store.ts index 1ddac6bd1ac..f8aae755368 100644 --- a/src/packages/frontend/projects/store.ts +++ b/src/packages/frontend/projects/store.ts @@ -56,7 +56,6 @@ export interface ProjectsState { search: string; deleted: boolean; hidden: boolean; - starred: boolean; selected_hashtags: Map>; all_projects_have_been_loaded: boolean; @@ -66,6 +65,8 @@ export interface ProjectsState { project_websockets: Map; tableError?: TypedMap<{ error: string; query: any }>; + + expanded_project_id?: string; // the currently expanded project in the projects table } // Define projects store @@ -540,7 +541,7 @@ export class ProjectsStore extends Store { if (quotas == null) { return undefined; } - const kind = quotas.member_host ?? true ? "member" : "free"; + const kind = (quotas.member_host ?? true) ? "member" : "free"; // if any quota regarding cpu or memory is upgraded, we treat it better than purely free projects const upgraded = (quotas.memory != null && quotas.memory > DEFAULT_QUOTAS.memory) || @@ -882,7 +883,6 @@ const init_store = { search: "", deleted: false, hidden: false, - starred: false, selected_hashtags: Map>(), all_projects_have_been_loaded: false, diff --git a/src/packages/frontend/projects/util.ts b/src/packages/frontend/projects/util.ts index 06c0f0115de..f4d125ff92e 100644 --- a/src/packages/frontend/projects/util.ts +++ b/src/packages/frontend/projects/util.ts @@ -4,6 +4,7 @@ */ import { Map as immutableMap, Set as immutableSet } from "immutable"; +import { useMemo } from "react"; import { isIntlMessage } from "@cocalc/frontend/i18n"; import { webapp_client } from "@cocalc/frontend/webapp-client"; @@ -15,6 +16,8 @@ import { search_match, search_split, } from "@cocalc/util/misc"; +import { EventRecordMap } from "@cocalc/frontend/project/history/types"; +import { getTime } from "@cocalc/frontend/project/page/flyouts/log"; import { ProjectMap } from "./store"; function parse_tags(info): string[] { @@ -70,15 +73,13 @@ function get_search_info(project_id: string, project, user_map): string { return (search_cache[project_id] = s); } -export function get_visible_projects( +export function getVisibleProjects( project_map: ProjectMap | undefined, user_map, hashtags: immutableSet | undefined, search: string, deleted: boolean, hidden: boolean, - starred: boolean, - bookmarkedProjects: string[], sort_by: "user_last_active" | "last_edited" | "title" | "state", ): string[] { const visible_projects: string[] = []; @@ -94,8 +95,7 @@ export function get_visible_projects( project_map.forEach((project, project_id) => { if ( search_match(get_search_info(project_id, project, user_map), words) && - project_is_in_filter(project, deleted, hidden) && - (!starred || bookmarkedProjects.includes(project_id)) + project_is_in_filter(project, deleted, hidden) ) { visible_projects.push(project_id); } @@ -216,3 +216,64 @@ export function blendBackgroundColor( // Uses CSS color-mix() to blend the colors return `color-mix(in srgb, ${custom} ${opacity * 100}%, ${base})`; } + +export function sortProjectsLastEdited(a, b) { + if (!a.last_edited && !b.last_edited) return 0; + if (!a.last_edited) return -1; + if (!b.last_edited) return 1; + return a.last_edited.getTime() - b.last_edited.getTime(); +} + +export interface OpenedFile { + filename: string; + time: Date; + account_id: string; +} + +/** + * React hook to get recent files from project log with deduplication and optional search filtering + * + * @param project_log - The project log from redux store + * @param max - Maximum number of files to return (default: 100) + * @param searchTerm - Optional search term to filter filenames (case-insensitive) + * @returns Array of recent opened files + */ +export function useRecentFiles( + project_log: any, + max: number = 100, + searchTerm: string = "", +): OpenedFile[] { + return useMemo(() => { + if (project_log == null || max === 0) return []; + + const dedupe: string[] = []; + + return project_log + .valueSeq() + .filter( + (entry: EventRecordMap) => + entry.getIn(["event", "filename"]) && + entry.getIn(["event", "event"]) === "open", + ) + .sort((a, b) => getTime(b) - getTime(a)) + .filter((entry: EventRecordMap) => { + const fn = entry.getIn(["event", "filename"]); + if (dedupe.includes(fn)) return false; + dedupe.push(fn); + return true; + }) + .filter((entry: EventRecordMap) => + entry + .getIn(["event", "filename"], "") + .toLowerCase() + .includes(searchTerm.toLowerCase()), + ) + .slice(0, max) + .map((entry: EventRecordMap) => ({ + filename: entry.getIn(["event", "filename"]), + time: entry.get("time"), + account_id: entry.get("account_id"), + })) + .toJS() as OpenedFile[]; + }, [project_log, max, searchTerm]); +} From 95e9488c0600d2901929772dcb50f23352fb6537 Mon Sep 17 00:00:00 2001 From: Harald Schilly Date: Tue, 14 Oct 2025 10:59:37 +0200 Subject: [PATCH 3/5] frontend/projects: tour tweaks, top row should show starred projects --- src/packages/frontend/i18n/common.ts | 5 + .../frontend/project/page/flyouts/store.ts | 7 +- .../frontend/projects/filename-search.tsx | 2 +- .../projects/project-row-expanded-content.tsx | 213 +++++++++--------- .../projects/projects-actions-menu.tsx | 4 +- .../frontend/projects/projects-page.tsx | 54 +++-- .../frontend/projects/projects-starred.tsx | 16 +- .../projects/projects-table-columns.tsx | 20 +- .../projects/projects-table-controls.tsx | 54 +++-- src/packages/frontend/projects/tour-info.png | Bin 133491 -> 0 bytes .../frontend/projects/tour-projects.png | Bin 318609 -> 115543 bytes src/packages/frontend/projects/tour.tsx | 111 +++++---- 12 files changed, 280 insertions(+), 206 deletions(-) delete mode 100644 src/packages/frontend/projects/tour-info.png diff --git a/src/packages/frontend/i18n/common.ts b/src/packages/frontend/i18n/common.ts index 7575761fef0..972b37f42e6 100644 --- a/src/packages/frontend/i18n/common.ts +++ b/src/packages/frontend/i18n/common.ts @@ -192,6 +192,11 @@ export const labels = defineMessages({ id: "labels.status", defaultMessage: "Status", }, + state: { + id: "labels.state", + defaultMessage: "State", + description: "The state some object is in, e.g. running, stopped, ...", + }, published_files: { id: "labels.published_files", defaultMessage: "Published", diff --git a/src/packages/frontend/project/page/flyouts/store.ts b/src/packages/frontend/project/page/flyouts/store.ts index 85d183fa4cc..d8bf38901d5 100644 --- a/src/packages/frontend/project/page/flyouts/store.ts +++ b/src/packages/frontend/project/page/flyouts/store.ts @@ -28,7 +28,10 @@ import type { FlyoutActiveStarred } from "./state"; // Starred files are now managed entirely through conat with in-memory state. // No local storage dependency - conat handles synchronization and persistence. -export function useStarredFilesManager(project_id: string, enabled: boolean = true) { +export function useStarredFilesManager( + project_id: string, + enabled: boolean = true, +) { const [starred, setStarred] = useState([]); const [bookmarks, setBookmarks] = useState(null); const [isInitialized, setIsInitialized] = useState(false); @@ -58,6 +61,8 @@ export function useStarredFilesManager(project_id: string, enabled: boolean = tr name: CONAT_BOOKMARKS_KEY, }); + conatBookmarks.setMaxListeners(100); + setBookmarks(conatBookmarks); // Listen for changes from other clients diff --git a/src/packages/frontend/projects/filename-search.tsx b/src/packages/frontend/projects/filename-search.tsx index fb1b11717b9..d6bf460a400 100644 --- a/src/packages/frontend/projects/filename-search.tsx +++ b/src/packages/frontend/projects/filename-search.tsx @@ -72,7 +72,7 @@ export function FilenameSearch({}: Props) {
- {/* Top Row: Action Buttons */} -
- - - - - - - - - - - - - - -
- + + + + + + + + + + + + + + + + {project.get("created") ? ( @@ -353,11 +354,17 @@ export function ProjectRowExpandedContent({ project_id }: Props) { Never )} - - - + + {" "} + - + + {!is_anonymous && ( diff --git a/src/packages/frontend/projects/projects-actions-menu.tsx b/src/packages/frontend/projects/projects-actions-menu.tsx index 719ab7279d0..e4ad1e6897b 100644 --- a/src/packages/frontend/projects/projects-actions-menu.tsx +++ b/src/packages/frontend/projects/projects-actions-menu.tsx @@ -29,7 +29,7 @@ import { file_options } from "@cocalc/frontend/editor-tmp"; import { labels } from "@cocalc/frontend/i18n"; import { FIXED_PROJECT_TABS } from "@cocalc/frontend/project/page/file-tab"; import { COLORS } from "@cocalc/util/theme"; -import { useRecentFiles } from "./util"; +import { OpenedFile, useRecentFiles } from "./util"; import { useStarredFilesManager } from "@cocalc/frontend/project/page/flyouts/store"; interface Props { @@ -61,7 +61,7 @@ export function ProjectActionsMenu({ record }: Props) { "owner"; // Get recent files - only when menu is open - const recentFiles = useRecentFiles(project_log, open ? 100 : 0); + const recentFiles: OpenedFile[] = useRecentFiles(project_log, open ? 100 : 0); // Get starred files - only when menu is open const { starred } = useStarredFilesManager(record.project_id, open); diff --git a/src/packages/frontend/projects/projects-page.tsx b/src/packages/frontend/projects/projects-page.tsx index db9c89a3135..8381365a361 100644 --- a/src/packages/frontend/projects/projects-page.tsx +++ b/src/packages/frontend/projects/projects-page.tsx @@ -33,6 +33,7 @@ import { ProjectsTableControls } from "./projects-table-controls"; import ProjectsPageTour from "./tour"; import { useBookmarkedProjects } from "./use-bookmarked-projects"; import { getVisibleProjects } from "./util"; +import { FilenameSearch } from "./filename-search"; const PROJECTS_TITLE_STYLE: CSS = { marginTop: "20px", @@ -48,7 +49,6 @@ export const ProjectsPage: React.FC = () => { const intl = useIntl(); const { bookmarkedProjects } = useBookmarkedProjects(); - const is_anonymous = useTypedRedux("account", "is_anonymous"); const project_map = useTypedRedux("projects", "project_map"); const user_map = useTypedRedux("users", "user_map"); @@ -65,6 +65,7 @@ export const ProjectsPage: React.FC = () => { const filtersRef = useRef(null); const createNewRef = useRef(null); const projectListRef = useRef(null); + const filenameSearchRef = useRef(null); // Calculating table height const containerRef = useRef(null); @@ -248,21 +249,27 @@ export const ProjectsPage: React.FC = () => { > {/* Title */}
- - <Icon name="edit" /> {intl.formatMessage(labels.projects)} - <ProjectsPageTour - style={{ float: "right" }} - searchRef={searchRef} - filtersRef={filtersRef} - createNewRef={createNewRef} - projectListRef={projectListRef} - /> - -
- - {/* Starred Projects Bar */} -
- {!is_anonymous && } +
+ + <Icon name="edit" /> {intl.formatMessage(labels.projects)} + +
+ +
+
+ +
+
{/* Table Controls (Search, Filters, Create Button) */} @@ -270,6 +277,19 @@ export const ProjectsPage: React.FC = () => { + } />
@@ -278,7 +298,6 @@ export const ProjectsPage: React.FC = () => {
- {/* Projects Table */}
{ />
- {/* Load All Projects Button */}
diff --git a/src/packages/frontend/projects/projects-starred.tsx b/src/packages/frontend/projects/projects-starred.tsx index 61f2dfb73e8..3894716145f 100644 --- a/src/packages/frontend/projects/projects-starred.tsx +++ b/src/packages/frontend/projects/projects-starred.tsx @@ -8,6 +8,7 @@ import { useLayoutEffect, useMemo, useRef, useState } from "react"; import { CSS, useActions, useTypedRedux } from "@cocalc/frontend/app-framework"; import { Icon, TimeAgo } from "@cocalc/frontend/components"; +import { trunc } from "@cocalc/util/misc"; import { COLORS } from "@cocalc/util/theme"; import { useBookmarkedProjects } from "./use-bookmarked-projects"; import { blendBackgroundColor, sortProjectsLastEdited } from "./util"; @@ -193,13 +194,8 @@ export function StarredProjectsBar() { ); }; - const truncateTitle = (title: string, maxLength: number = 20) => { - if (title.length <= maxLength) return title; - return title.substring(0, maxLength) + "..."; - }; - // Helper to render a project button - const renderProjectButton = (project: any, showTooltip: boolean = true) => { + function renderProjectButton(project: any, showTooltip: boolean = true) { // Create background color with faint hint of project color const backgroundColor = blendBackgroundColor(project.color, "white", true); @@ -223,11 +219,11 @@ export function StarredProjectsBar() { onMouseDown={(e) => { // Support middle-click if (e.button === 1) { - handleProjectClick(project.project_id, e as any); + handleProjectClick(project.project_id, e); } }} > - {truncateTitle(project.title)} + {trunc(project.title, 20)} ); @@ -244,14 +240,14 @@ export function StarredProjectsBar() { {button} ); - }; + } // Create dropdown menu items for overflow projects const overflowMenuItems = overflowProjects.map((project) => ({ key: project.project_id, label: (
handleProjectClick(project.project_id, e as any)} > {project.avatar_image_tiny ? ( diff --git a/src/packages/frontend/projects/projects-table-columns.tsx b/src/packages/frontend/projects/projects-table-columns.tsx index 19bff12f581..1571c98d4fb 100644 --- a/src/packages/frontend/projects/projects-table-columns.tsx +++ b/src/packages/frontend/projects/projects-table-columns.tsx @@ -133,10 +133,15 @@ export function getProjectTableColumns( }, }, { - title: , + title: ( + + ), dataIndex: "starred", key: "starred", - width: 65, + width: 60, align: "center" as const, onCell: (record) => ({ onClick: (e: React.MouseEvent) => { @@ -193,8 +198,15 @@ export function getProjectTableColumns( )}
{/* Title and description */} -
-
+
+
{stateIcon && ( void; + tour: ReactNode; + createNewRef: React.RefObject; + searchRef: React.RefObject; + filtersRef: React.RefObject; } export function ProjectsTableControls({ visible_projects, onCreateProject, + tour, + createNewRef, + searchRef, + filtersRef, }: Props) { const intl = useIntl(); const actions = useActions("projects"); @@ -77,29 +85,37 @@ export function ProjectsTableControls({ return selected_hashtags?.get(filter)?.toArray() ?? []; }, [selected_hashtags, filter]); - const handleHashtagChange = (values: string[]) => { + function handleHashtagChange(values: string[]) { // Update selected hashtags in Redux actions.setState({ selected_hashtags: selected_hashtags?.set(filter, Set(values)), }); - }; + } - const handleSearchChange = (e: React.ChangeEvent) => { + function handleSearchChange(e: React.ChangeEvent) { actions.setState({ search: e.target.value }); - }; + } + + function handlePressEnter() { + if (visible_projects.length > 0) { + actions.open_project({ project_id: visible_projects[0] }); + } + } return ( {/* Left section: Search and Hashtags */} - + @@ -109,7 +125,7 @@ export function ProjectsTableControls({ allowClear showSearch disabled={hashtagOptions.length === 0} - style={{ width: 250 }} + style={{ width: 200 }} placeholder={intl.formatMessage({ id: "projects.table-controls.hashtags.placeholder", defaultMessage: "Filter by hashtags...", @@ -122,7 +138,7 @@ export function ProjectsTableControls({ )} {/* Filter switches */} {!is_anonymous && ( - <> + actions.display_hidden_projects(checked)} @@ -147,19 +163,23 @@ export function ProjectsTableControls({ defaultMessage: "Deleted", })} /> - + )} {/* Right section: Create button */} {!is_anonymous && ( - + + {tour} + + )} ); diff --git a/src/packages/frontend/projects/tour-info.png b/src/packages/frontend/projects/tour-info.png deleted file mode 100644 index e596e8fa3805e948a02a99fa904cfea8c26a05d0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 133491 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 bu?=w?Etm02j|^V!K~qS_{vy4DwR z^5%<{gB1&2iSEd>PEFP8vl)&>c6P5WjsD2tK3XTAP8ywS;tlxzQM8%-5l=98$~Stm z9E7j?T_r}lYCXbFAVnd&X={{X&h>lubytoMayjMjq3@0Q^?3Dy9Enh6Y)h&CN9(Lx zCE*CRqWuSi0=W*Q?ZbDFR~62z^XvD*Vzamq$*8u!ecb^i%l~KDWCg0dlQCm>rw-Qy zqLa=e)FFvQ4~r&3*jU7gV1V)9DW1@*WE4jcY<7d~krEJR{a6qEgfcV?h^RxDZId7rGcxI#+-S*kZP}6;TWY z`IGp`NIl@kiIN>z8LGe!@(%KA4i4WXnO~Q_o%OgLbU?M+-H%@oFVQeYvhx&IUYRM} zxXbahfdH<7Z-J|`ey?S685=hW-S+ofdu%@HIhf@)M<-3N^Re?2F22$c-bQ5#{a9-^ z#=K+|p6ren#IQ4Y-3ywq`g0&GcbdWf=bIbJ{%opR9DMVg!@$ESclOw*pD6#-R%!d7 zJKT{Z8Z0Je!VNq?jvEm?2wYt=1%W75RL(3J{Dr(qC*c)Y8@~x|hlovosuTQ93=;?} zx)a{A0gKyBG_3{6zdg1~%2T3`a@`uIJ9lV~=!s1Y6R_?q#H3UPPGRGCA|&LzCcC@0 z5vqweM7{ZC0Y|F)dTPt$rwr5G%2W<~0}^a72cmsuVfQ`fQ+IvVbifUMtISq;#W6 zQhJ}|4B#zkLX$;msaGT>^0Rd&{V}+9*x53Mky&ArRc%HMqOGI|O$M z2mun@3wHv9puwF4cXxMpm*MN4UaM!_`}NHKv(BGa_PZb3SR>Jwf9h0Yn7!(a$Z3jK zI^xqBq{-dbdKyC!OjN>e6RRT^{@S*f4o@&>N$e#9l}v1<^Q#nhfTt8rVOlB_kiA$}R)| z1aQ+t3>4gWj!Xl!8ek!KvX908N>ls?MOd(QcOV)+RHF~hmZjA~MB5?-4X-MRQr<5le7?)ssKSHUNePUu9M^$wcr<_A|lQn7r z-J2sg(bCnIn)(&jjc~Ch2%_m!7YEhGQo1;TY+8MK+oSC5e?i5w!u{;Qb&(0g$G4&S zY0aXX8%NF&-ZWeihjf6rkMV??3!`y4PDzRMNw!pJ5sRv6&xH^*yO*We{F+K}$rp2{ z)?c5@)?h_TUzh`*K?npnjn-KtsrHb)cFUmc9303__1ynmdhFXdSrjn1F!eoBSAJtx z(!4LOUa?!}DY|xFF=v5@^E_(q3On+v`1-=M;Ol&UBTx#X8`^btKl#-%L?zJEj!EJ7 zC2L#?1jQynNa8c|lNr0!=y%3BtAxg7eH6HPh2K89fu}cbt=|{YIYy_Tg0})pc+r}- ziAPp{)Ezw!hrh6tf4Zg#B*G}o1_}ERkdf`y_G+Zn7c^%v?i0u;k~tQ@erax}vg0r; zF}nF%Kls(tVeRg)-BUhvx@;}cCuTaPFO?-$!s1bYTu!q`n=W=xKnF}}bI%aNejvN=o` zfMa)3+%!sjHiSAcjZCLvO<*U*v*pJ?V*WyMLtzhKNq~~@JmdXG1ve3iE=3oGnc5LP z{u7I7%HLzPIk>bUd|QNZK2OU%k;ij{`gI}7P|epkGO4t!X}4c44%6e9R1<1(LBEeh z!e;@oU)1;_;8+R9OO!qm%mnti?mrP&A-17!Pi8kGsL&Dd9=ZnjBg1pByfDY{J-%}S z&=$~zT=FA|6XCZ}z5$hmQX#|AzUq5=fhYYVa^aIyE~&1MSrNKV-r6P;? z{AeOk(p)q6ril?|U1bCOq}!p0O)O6_G{Pz){12gPb`l5EM8*Y*l;{gSr_AZe6tph9+q#K3@4BREdM82F!KA3@?9sh7Rh&t^9-3L_}@ zW7PEOw-g*g1hs~S@`Hu&`pEt$&JuY$Pepu&rO==ZvGMHF0$N2lp=sH*&QTe=l%QkF3R(CmFUh zocho*swx*KHHlhlK_9sKy}jd(%KiMZVHYyxNkB6ac14F zNV~Y>9N2hauG}N``@?)H`lv>lFcB-oJPSPzXS08>%S`ZVzm~uW=qD<c$$`=glqb?vY zkC6uM1op)w*ij2^y_mhRn=Po6h+*7Xtw#AP7={tF)S42L6~41Nvox zTRJ7XbZ=y}P=RVbTb4+BTCjaG2DeeL0za(QZZg$H&Lb?AafyALZ94{}*oHk+fzKsZ zI7=u9f!yun41vt96(1{`JzPT)o~3gy;Dr*%WKE|0MDfSsc>!rwIQC2aycytn@nzlh}?0&b_3z-AET6y`p#cn{~AX;p33KVSX%oVoSs8$%p~U^Gp0;&XD|(}lW8cw##d`PHsxmJoXb z&%N_DUA-NhYdZ9OoLGQQK|4`2otT^kZ9r$wyap6jwex|#D7GV0LYWZmAi zFjm%AG6eLSsLZ|+nucc`HV7xOeEges1}e5?jJ8YhG||Zx7N$T@4QEew*cuK@iqyCX zb~mdWr^0p#{n|jB?cP$+Kit;S+gMs4c;6Yh2bT{W>z5B$Axr8Au5YY@v9MF@wDl`M z`|aNBPtEb*IaUF6&iOJ4CzknSg?JOPyIa$m7r>-nDq5_UmSfYWaZAdy-xwc*ickbG z{p5h8Y93hkGMoqSbG#T$4H+I*UPNZnkT2lIaG$l?XhWbp4QS3>-4Swp@}sO6r1WSn?ZwEdED(5{) z12NzO_7%(_ctUklg=dvY9R0Oc$91v66UfX=hNpozh}vQ(Tr!2zj~w?+bfjLKA?(`l4&$k+7i6k&u<59ZYkE||9`Gu(H1;)^OoT6}R-+Vp1@rZ{larsdHQ z<=HYwu7xdS=NC7QA|!yF>2n>~qK>IETN}Br8hH_l*a0EBx0^X9$=_o2*9b1*RmmH=Y?-{XRY~ z{JChUWWmFf_v13l`p^D>(8Rl7iU#T%FeC~CD{|I8vbMd9O4O;Y`BtTX?;Cr3I$o-r zakxL=3iw>O)tVLj!HAu-TjBGMq4AmNn);m3Z|u(F%vPp2QI|n`D2M!T+Gn+p}aqMud9f?Kr#l-3z9C5M7K+{qfmn3LVkLu09T-fB~4t6 zTCgQEq@7x2yD}^mip7J1Y4mhJhy1F_SV4f2z2XxQwepWuz*kU(sjkEyRie0o(p7g| z4kSu~Ft={T$G6MCXesgvVmk>4@$HppHC%kA)r78J0a37~mE026YZ^y*W>Ak7VL*srM4rGT zH9idq)o|caFRDVVuSW9~$_UKzgx7MM*QDbBW=UEfx`mO2rjEX4Id_3g!~S_2{N?n? zwtoG5SIanZ*nHsv7X0*lV(WXW^_%IQ-KTRjSfxov+Zw^GYUZsf(SFphF4T z;xIAtZ!52&AI;q=whVzb&mw)${3BcXJUlPbI^rJ~#%e>Vs<^}S+>QnNgvXW@*f>6E zVKauR>%mB1vqj*kG^8iBl|r;Gp9Hul`H7C|bRj(=R@({26 zR1BRu^k@U6Wg`Qxo)0fDc7?LxUm$ZlfztReVpJEZ$qS#9f18C>~%UjbX}h2v-*2%AZQNLa<7Z;@CSnA3}SL@C(ZB1 zH6n}ww-I#J6>;7{#E*ycL~nLx{MyV#Dqpqm=QL&g)khqBZnQl9gQ>w!HZt8R zOR&FtrQxJlBMn-&R|KW#1fMF-q-GC;f}7yE?<(YGd7=}buB*6|oO!xu+^vW`CZL_K zufFUeXcal`^nH&Spmg|Z9`Ew%sr%-k$KLQ=agt`Iie>(`K#LT0d&Wkq@1tIFSK0;l zPGe~R^Nc#n-j^&c)h6*iQQaVs#<+g1r3>X=BwV^Lh0*t)Jh*-b^-Fa;?+e}DJNAGY zcg*h}7ype%b&i07ws`G2dsqZ3+_isk0dU-#U*ltZW42zoo&Pdh0~H zgm1g*-*FJT{OB|hE4IrKm#}CS+R<(c$ZkLEktkf*|Nc^&J=Do(n>p3n)*WP{+;NV{ zuL1W99>#F!BW|!@A{v;OqqCykN1!2Z|f6o+EmxNp;j{mqI%p)#kKw9n_j&Vbj0U zmd((AwtpnlXVw@tfH;~Ow2kAc)L9evhmRN1l!WNH^D%k!l`|TcghO;9GW77HZSGK` zS_a^iouOF+!rx-#2h@aNlv2Q&;dgTb*?eouypx}PLE-yo;4K*x6a^?rIQLF}4yamh zYnISpp2ff})A!$Kwo;l$>of2W)UiR!CF_7-!RaGxL(_yoYQF;^_;>3cF}C)Y-3Hd?u;vu3iSpT1M=#~_c6kNE)wdCfuLW1zfO1q2)opk+P)q99XDcgZF*jl+VPA|qpZw3hP`xm z19|arekjjxy&wSGEzaccIBqYSJ8BEu|;IaKpv)Wv>JPWgu`jDA1xKQ@M9YVvhPWCR`h3^p51 z7>lLK$1rX6u|H**%o5I&u=j7VZkO{d$Rp)gp9}Unw0ik7<)1Dw!J!g}rPqJ?I*LOo zbLrk?31+`-4I#>+3eK!^0mhBS%h#N^-fpC?PW&uMe+MrnJF3rqcsTmi^23-J^&<8C z+Vi}9RJbccc{+^p{E5jYCvd88po5rvQgY%0h~2U?lX&>SaYeCZyEm}smVag)MEu~f zpJ?7U&yR;r9;iCUgoWud3?s$0dQ=klW5CB(Z0!``L__W>x*c1|`61dG|HW{LbmuIE zBpwoc@IM#rsR)G+U&mQg)4(xcg_QJ`j-v35kDp6>JjvxsSwE4Ons3D2?Psb)N3d*= z>6iSY`uyWHl&TqX24)osz8C-6 zI|tM}&mPBpyIZV$@7OJIOgn^6s=JpSCsGO3-9$upmO7CjZF78}Li43OXavFW5a|pY z2#0FYY$TP9)qC-m_D@uSxffduiXLd7gZH9Q*{-n19 z=%C<$PX2Fup)bI+@~>xohK5_A0i7~Uq2BYl?BQ;R&ws7;V(J;Yc6m(x98vP}XK=A& zqLnGnPq!26a@ci|ywJtbiE_@67Ee#W4KmG11&x~jjjk0~p-S*iWVb8BnVMOA6`O#&a$`<0imQ#~ho|u{L*d^G5i|g;*t!fkD_! zN>DkQ^qMU49-xeA1_6+&VTwGe>et+i1+rn>xP+m&C_${gPAS{Deok~04BMk)Wx9_f zWJs#8#vLl8o3>ykHKW zV*q36+-Qo;aQrdeUXw;mj8{w;S;Cn%qlYI!H9!1;|K53;prN4rZFGO(SiuUrglezk z{K1A$@K;U6e7$IdzWk18y!8ULG9(AbDIW@$-y+2r0nOZHDgp&;AE@r?6PZ<(EoY@r z(n}bDkd%C*;7@~BtK5p#N(#-{v9@fLdv}lP99tGi7G)2Tb6G(OD4edsGtXn+H$I#( zBqZACFQtoF)tk*&xyDoHCU_pQBo;rOw*EE}wI(k-*++BhDUZu+>SUB;xv5~&byJzu zmq1$+ZpjmTnMLh@zQInv>X&=SBe^+1^Y*#@3M(sxCeYf>fxy+r`D{q`khlH+rlff{ zr=ugBLru59LNY2Qj6kbj#Iq$xHYxizpx^B!*rJzNakdgUf7c5tp=jh$#|ZpvsVAfP zhmPmqbdY*J6a2);*iolAt-?x^URAS^$O`@r6T;pE%)BnUz1l|Y-(oi|;109z&Z+CN z91#u{pW*71{|ehcHD<$;x>A!$ZrOx>1F!T=wf$Uvw6KCQ*B0%13;lvoOau@ie0Q21 zstHg4FLL-=D9ff~lLcq)ZN==%QnJe{ZwU?jna_0RQN(spWL_VN7|Kh%mye_CbT#0X zU`w}9^+drl%IGc|&qqD|{73Lz4NG5lMI|e{GNeYUGZ*4iq#Jz~*igWd5@aKj^O82G z{X$b&gDD1&7S%DD7vg-QwZwORFql0v3RY}Gt}EIn$c+MJe}1<+62taS_jbLgT@?#n zt$s@XCARzgh{SCE(5?z094K9{3+Pc@jY&3ldW{rPeb^jXPT)+AbwsZEz9d^jU{15( zA4l(Jf{0pADk5>Zu6F(p#y$!w_psH~$Q5{9q;0ep8Sm8~^{Lz3^u0Pnv@9HIZr$gEYC)?a9c6d1x$J0=XYMLUVypon}$Vr7lFtiHDJ{1DJ~`xfd+b z5U1!_2xC>Vyv(&+pVi!0SaBfyI{yp(M&|l(tV2inZM$S85nVCHZ zrI7<*^wVv2SQEKOW!T)U%I0LZR}k7bJl7A3GSlb)W*Z{5g`DH8!vdg9qe&Gq=5cj; zzHoF5V_lIDu&fY+<02zNPto++eZMu4D808%3D^6r<4l|!BsW-;!H@x;vr36&SNxbo z{Hvo68lxbtZ_?X2`2ASW5F1U!_>#4zzwxwYq)PDa<(TABiS zKl65pZjo`ySg?YRRx3xb3F+9W=k*~?lKI#5j{uCsM%`$H%%F!KoR^H*vr#=2F+ zASg%`^z7=RmN3RZ>WzJXXC2sa5mQ$ekKICIuQz}LCWTp zjKsyE2Bt?%UyG)qoH#r4949uVy$+0#7Uu-vr8RZH`8N?~MDX5SbJkrWl7h@&t8lN? z6M!&CxdbSKmw`P5ve2`ZbZlWWyPEixSjE*aE!l@l7dq%-aFp^y@R#%7da1kKafo62iqQnUO9cimo9 zSv%Y~-SMe!H2!?XwzdOUTN=XJZ&2*!>o>;G2}XxM(7tLxxfSD0u_-CykongSp}=YD}8 zUC`tg6(qFPjl&Nt%y&k=B4Uu^Fqg3fGx_8WL6>Q4K_NQNa$4CnWR~v(8BleZseWxP zVhK;29*6E=s=&cuCcy^U!J;S9Hgqz8r;yppqb3}8GPddBojxechafj6d4Y#7;r(*C zc2w3>&l z5AqTI4NRwW6mpKHhRaWp=2QvnO^?AYf%bajFtsEKW~Mo^0;+&L_IFi!Ix=nac}T11 z+OT2v3xjGMBHDueY;c4licsPFi1~>1UWGm}eED3|O?XaaNyAz*&|*^h@%LI&G~gv; ziGOn`JN89`#h{0Zf;F<8nEYzJ*26nULD+J+Jo$-tr?pRH53(rf2IRVXa|#^}?>cPx zSHzp+AH*B&8I3IZ6I4$phf*wRKj$Sn;SQ!7FuabsQyTu(4iCVcf-qc~pNgp)GBU8& zU7{kq`aQZv0-xL+cbFs^9hwxVFSm&#T3ufFv`xl_IU9ckbZa$D_wUYbPTIQM>>_z1bWd(cLi!R)~ILy;z z{6P*Xfp>%$K;5}?)*womryjX&6px*EyF7P4d};OQD6rUW>Qn2dYh}x7n&p>LzC}mq z@B_5Iz3riXU=`$}W$v(`gla}XQJLaaTUqRjz<0qA@H-Y7QN1tElQ@6{pMz4Avtl}x zCWlC}v8|~T8L$=7ubS97!e*>vMJjLjO@Dr|R`7{D^9uiR?qh1E{nl_ExAbjctLO^O zc+!vIZxLAqY>wftA2$T{xvt7~8QhQprp3Y(p$3k&+5L=5J0j`uMO1}ZuOiTH_sH0Y z_SA-PyL;?h_@EA&JPtRU`(%;O*3k!b>b__AP7fzO8sfW`Y_@GZx180{4yL^{-;A8l zkf{FWnKxF?cjK1pdsxT2C|$Gb*S}=z)4S77`By;h1ltr|d9*wt|YG^Nqj;hG82LBFtlzZ5pfP zW7-e=I{TvUBiWM5P8fQE94D(lSPwURL4yA+w$#6XaUv2JGXFDx14#}cGip3DGm z8k7u#*my!Yka>2R=i85EPou*Bo{55XoSj)+;Gt))GKOa_&mkxbFW&RnG`NVPBew$I znE5_6EfL?x!gu#?U2hu2>2ePj^vTdQG6I_VN=V|=T-sNh$~%VXf{XR0>8@i2j<=HE zn%#hq7&edBtk}1+i_6nf=DCtUu73Zr5W|jt(*iNSV=3)>=6JjXjPjK1wS@+(yTS<| zRj36MuC1!%4UNDdVYNQ`BI{WENyD~P zs;R@sDqVqcv_gcfMu~HG7UN*FU;XO&j*w^nb^Lyij;;vk4_)uY#%fl=e5Ue^+angF zjPDUq&YZ1pZ%Ojkt1_ld?UYNkY^fpI|2U2)2xFl}>$BU!Qz$FhTKoMPKTUfGe9|Bm zD~k=#T(tX5KrYt-?^`!AQ8{9V_GdEgNz>Jg|B;FwTO^voLqvH>$H-YIxJ3ImziX{I zjmkL0z;tbRx`_X z5?m@&YN(eT>QRPjQxq<=hrbV?u|0!!6foR$nLJR(_B==5pVnNYzI*UV{XpGc?hR&( znQ9FX76!5IUFcW1l>piCuSWi~Sie24OmEYyCN)gUK$do2hSr5PwI*Q~eyv~T;Mg)+ zg1&dKI31_i*^kikLwq@(*%LnAvm1Y`|F>0MMF#awzS}X~zzPS$$e&U&=iAUpLDMtA zyuJ?ci(V6r4SYahL?}(AlNO%PVb!np;9L`>ID`lc3&hvuj9b=+Kj>^yA(J<2@}tX1im={Lh`4_;2}90~+>WoyoF!jGnJAivKXFS;9v6CUcfl7DDS>~bqDcOpZ0Ps23g-qfw_8TqW~S6C1)1PkAlAgCXcF{TUZ|K@d#yNs~{Y8=t~j z3LV;$ss@YQUT=9fH&r={OngEB(@Ff>WflqRZB`TxQKE3t?{m#>#i`aqe9m^Q3@z?K zw0-_qX89}W@KclVp1`z_&v$xU3us(xC~>we-7>37l55t?PojR*K{TVFKKs-QCZS%^ zI$Xv4MlM*!nTE9WqdWhTHTnN)xc)CV3Khi_+S^}ag8VJ^eeg${@O9dfuuoc15m^l`l>Dxl_NG)E|!t8E`W}uA=sP?5c%Q_jcw(6Iobp z+}1j$L%#g`^-61==N#mRi+H85-O}opjC%f)C5~Zy$=~_IB@Dz!8q?yE54v;~dUfKL z7NzGr%++>>)OtJ2>ym6)F$1!|lhmLfmY{#aH-4s`Y{;5*&Xi#)X5a zJ#FwnPRzx`D;uz{#oSn#N3KHjtm$PmuSC9l0uI_uDTaI0@nx%5Qvzo{86(#GG~S%$ zsz1i6H*9aUcJ6;cC19+fk5DO#!CN{!rv-L}NL+y-u{c z(Q|N|or*@cxWMVA4BrTfSp!%(pNqvk)aLkM;QP7y)9xMLtpAWXo5Pch%r1-wz%}TV zZP$MOB(^I@!4?eR+wWVGf(^kORX>~{@L0xRvX?0KTs~8?#v5e_s}FVG9QI2LpyeHC zhde9&RFAw%YU$Lt48ZbR=A+`Yeq14YYH4~m?f$zp$yf{|d=;xSmGj8(G*EtU_YyO5 zefEa>LG(WbORJ2a_vYK{Wv6nCG|ePYw1V=9n=qP=)z$Vvj$azH7Un&1KTlTX65b-g zy3jzZ0jQ$JsT#6KWb(JDrJMLeDfhBM4LGGLObFU}cFIl33H49m!`|2(AN&rdBUt|F zU@vf&3T}TKHYiM}o9l%GE|J@K0^ z3kj>I2siQ+d)Q?LPmbaYTOJ5;7clHb!9NRYktA$CVwA=HG!z-HkBPe;*&mwx?t_+w+K)ZV?krSl zfFiwc9AFD~fAq{x43o?y{OID@0{yKoTLky~FhPjTUifpBZ|`uEzQ%{ zPKlV+^#2DlUk@z>pI?eRvhcZYBws6bSn<8!y>aOQE#L&BCN4pyEj585#AD8sE5D)*@oifh*Pa+`e=f|WV16QA})M&(_GDJRjJN}q zp$XknA<+c@L_}wtS`1QQ!=ihg0sfTIiYK!Qm^vsumtj7r^ zqvT+LW3OA0g6bqxkP{H&y5|G&5H;ryIh(@mufFlioMOxy&eOV>?{yxhJ-{Asg{ zaXvS7`#$R(*lZoxc7+Oe;=n+m*;YzJOEM9==*^O*>!vDgr-aCkH2D|{y)UD0{}vB^ zHRIZ`Bc0;OEnEUbUECPsxth!fIxl1eKL*~*S-+qRhrf}J1_wpRU>~Q!G(EPsw;uB7 zn{!HgO!_jdRmxsfki8)DO}Tq{r5>qw@KgN%*~8Zv3OjS2S9`8Y+8Zd6zob&qPwm1$ zc0K-sR$o_CeUArwJFa}wLnlK=Nu$-^gO-GPbeaB90eppZ(APn=q5Fgp^QFieEtBrN z3Ba#7Rl7G99D7<#2Wmx)Y!5 zN*j!EtASF^(=una#8)Vv##K7IY+t#ZYPw zdo^Uq9M=p!nC|igR6H=B-+BF=XBF;tMY8g*@-c8|+Jih&OSkmKi&uC3eY|BmL9#nC z>WoGZzO_;kj18^p)hT<=*Ry9%j=eQw3pkQ~^Q3<-D=0|+J1)*yYv<_AR6y|P?Xy7A zzWsmKOr42<+IIwu{u~_bY*SVium{=pUDb*VD0wkTKHnJM;RBv0eP=2fpgQXQ(NpCF zo|S-oB?zH{m!&VSp~Nkq($DeY#FMBo>~kvt??W?!j=(G?(p7K|y4~p^jOJF5V^1L= zbK@bjwi^du&mlFF+XigL)wS9NDi@o*)qn&-J0zPgw%OPya3KGhYe+=*-k5f$iYOXH zinG~4*BHiJ`qs~XV1w(mzhmCn^bxOsYT6bU80~d`(qq3 z@1Ri*h!*MN2Foi1(E>5cN|ZW&5MUrynp*>9P`a(XUM@)&Te77>nuW_rcZryPkx@VgNbWiZyP`aX%Ge&W;PgMY)&D)!0#-Nrik##;+E;0w*0>nQo zz0XLfXCc=v?^LJ#*w8a_Z*8$Xa^mZI^od7QZqdvD#>Mt~H<8I|B;Wa_Vai)U<@i&| zi&)Oe&*Htz{9kQe_?0AAr*S*?64RtS6FhJmtZ+Q&cZ{{t&CoB8f;1I#?5+kM&iq*) zXL=$9>9XxplE=)$-auqwe?e0x;BjFv8#!hL56FXLa2Vy$8`cG>{X5BZaxaQSE!Q3z49sXq8bfKg;8xvJej@WSb10ZH^~pePr^u=L$7DA`)Eaz z?`WgJlWpp|p?c~pwYC2I(s!(Ij&J+zoa@F&u2Q|^>c0nkd%NLyd*k{6P7642SNi@@01Bx-W<)&n)ZxPbTl` zfR@)unogo_xl}u>$XlnEJBjg)AdxRJusfiX#=gH@%CjBH=QwCqkKoAZj#iSU%|=pl!rEBJ7c=vka7`SAg0DC z0$V3Qm-i`h<4TO%Ie;;VG7`*zJw*F*TVs7)$><#M`Yh4po)A>g62Di;d3DML)m-UWh^`jW7}=Lyb!ApP--t^&zV9@i$yQ<8ye2 zqMU?TK9B@~Z8(ZF1qOJlNIQ>1)k@o<*TnWR5%qu6IP(FNE9e+a7cb{)r5A zTC~sK#w2BNnbfi)%P!u%B>75b;6}sPxioy1k;?~5GPTZ?)18=$^^UX0PZA}ntz#g_ zadp|RVLS4VwHXwRVpZkqE7tz`WJ?)DyRan?=(#%yBlbd${%Pn%Q;5jlsXo!=PW#?4 zg}vqYb^$Wt(#cME&AUShO1SiA$_~1{I6@eU^h#CXTe%mh_A#k#cD+?9wh=?a(Ns-` zrK4vh#R)NIDTxw4hetonz4+@B{)cD!eg$`?uR&*hzP1m)waDh5jFCJ2vv`dM-nyQe zZ}}_#kB0bN71sH}X54Tn_5J+=!@J7YYCH*|*Y3ce`vNmT63xm- zYJo`E5>}5yr}zmpSH20tedCoHm`QsBzRQ#Te zJZC-TtV?d}6FqbF#aoRRDIh^(=CLEoZ&JzxPsc=;JpmhAW#WSjCeH9dsmbU?B%euO z&<(^bW~`*$S_z+ZokL!Y9SSPJbYTT@aC&h1b|=tqcAb@enhnWCOtRR0MfU;D6F*HhpSWbb1Rs6A>su((%vk>LbnlR{^109p|_|S*a9#CGc8({ znj(R#N$0GTE2j$=tf8dnP(Pk7?6lWZ!2JUH+b5*6uSrdv5%nT+a@5-CSIb-ydx&RH zj7ri`B0Yj(0`qgPKeKavO<81#0>(vNoOp!$EX`~FH7TYBMnGGrt>tFb$D7b}x}sfL zc#&tS@5nUZ>Y=Fex9CG1{FQ^seXby5boEWgXc4!x|64O9Kmn-7{6qcb7;rfSR9NF$U(@>=#HKamZ8KyWr^53F%!Kb+JWy6iV;>Ke__gn=^oB0HID~U~aBDLG7 zD?MxT!`^)@wtuz#>kmiU=GW?e=|Vmmi`4q_WXbX$PeWbV2Lsr1o;Dc5fFNk1KcJtD zEw4VMOO0aWQ@P)05!)9-9EyUeoE|*OSH{a`eoc31tjnCvFVqa(G2yHeCm~hj=7`Fw zdj!jYfC|e=-}P{Foz>iCLB4jyf!jg{VyLXLeiLD@_pIv0&aZTyA6#P14!MKzBG6T8 z>29*pYr1*GB!ALqQI0b(@tca`wuw_cYlGr+AV=5^1S_{6}dzK6t zIs5tl=s*wkGs;B$KP|6w8FZjsVWp+3)N&`m%l7?HUZ}6e`!#WFPp*Kn1A;n$!?T+8 z({`f61wnr8f3+fV_W7oxBCc9Hnxy>9z##jgTP6aXxYZ^u| z$d%$!4Pma};7VinH$W&;WP*~Vyf-B)5#m@CjeNB&5#eSjh;UVkV|(uE%^qK0l!f@>%Ikm$F@#r*iNPvfHMLUqssceQukoL?|4`ao44T~mo zlK~eC{vhNlt!nceRf%)$~J9RLB>~T#kkWBrfxcv>$NqJX_Yxg zn8_CY^qU_kll>sqDBms=a4=?I77sJ1m|>O+n}lFkLpt4%oqx$FXQ)Gu)Lm*PDOygg zS)|>TcW+N088__*P0Nu*#JCV-2}i7XZ4{-a9KMGb=2CdOa&Wt{;!Ki|KL z7Q~8lVv$+0xVF)v8w@jPo&cVOP|;Mq?PQkpa5l!n@hW;rEU2>`?WgIZz@VQ&33RwXsvQjE_o{p|V1DqaPD)P)6j#dp3<9E!d($8RxGV z{MfKFzLJrR5dEpMn=sI+ymbt$5ebLxlz}Q~-c^%yr0cgcpD?K992BN7$4?_bv5m7|9a?=L9*T?Ym3YheJ z_#{gzFhz@D?T=)gK+lqGh`E-+v7~Z|FEDtYOsp$SP+s#BkkemiT9L z>ySpDmWUN*A8;yImqf3Qj>ts}y2lZv8Vh)q402FV?By5ZJaMXm)AsaMQ>7O&m{sin zl9_9Mm?x9F6P)8 zRZ*GoI$3{7VHY7)%#Ug{_|;6i_=s-TRWV$h%v}NtUF5m2@ZDvybo!}v=-Pput{i(? z#)Q+8!3?FO^{9RQchVw$bhJ0=p zvD@64O7^&e93@|5bCYKo`hXz9hR4zY8?XYhO@Gx)G1Z(ZiopO1Ih2kg=Ja1-erH~^ zj~Rbaf>hAm1^|1xF{R=-8oe^Tlu!LX75^3tBYwftaaE#q?^G*watljX`te7|Jfjd< z6Fh}ZsXn2>#WJ2FLhXslh70&PN+L=P$^gKr9;eHx6={wIkVDX`?LSZ+Y{Q~+zd$wU4P-g)$4@I*o#fS#L+S&ma$PicHN4J z>7O$0V2=w=e)VT7XY+kvq3ocfR|YR!oP1=pf+522g$hiPS*I+$+_H!L>U^Ml@b{a31y?T+ODmkBRw76#|2 z3otf%`sU=@;J8jFI`e5c#9%sLt(~lwGKMNbD#wT`q9#$CJy*4KBO_hl36S0IFC-O0 zz5r!|9QU_^m{5Fr++H{M%{;SKo3oBK__S)!vod576}n(X{Hh4x#sLAx|IV>A8I z&W_az&5V^S;z-wyWrM3q{Y=y69!C$aClZ_)n&Kj!MczFxjjDJ$aklJlX=Tww^Kt_S z#hY4Zd4ko9z>N5?YtGi~`E^VqxY>qdQ6i7%co+%Ize_(6i3$5HK9$Gyf16666c^OV zwU9Tq<%;MUFm4DTNF+~mLup}mu3V*hwK3X*tZvod?f!_02ewnsU2-lc^DHUpDhuX4 zG^1xu-s2ig&~Z;Xu*eX&`il)6`F#sWlh^w{o_W(yUU=_-gr(rAlM#nO--@5%sA9>l zLdV0elND`MZBwq?^mALX&&Sy|w;8Ae$lEw4SjkltDGXy9U6-63OfZhY?{8&6WLmj4%5Z^6}e zAB2fwfnue_9a`M2xR*k4cXxMp0u(J)JV0@GcP;J|hXgMU!QD3R?%jL$?ia{8IcMhg zpLuMu1uY>A5xZ;Rc7pLY`F6xmaL_q#-uLnzv-kFQyhZ^7ZlZ5T;ZH+tJJ5{GOz8Vb zznjY#u#>{#3)p#m=;>*k7+SLbbV1q_09A`-H3#1@06 zWJIQQtp45pCv6AujG?oeb))R{QRgu}}$CBXV|W|`)=9er-D|o;&&Oj@vqigYE8Eo0{Js`3}5PS zB~5u~i%^o|;bf|oj>pom`|LlHv{RB%n6l*3hubIawx#rmr@~r%XL-3Fp;!PL9wbc!12wA5>Y2z`A%X=S1}2j+i>CXsBB3T&c8O!qK*` zHz9jEwEVR%l{l`w#1al9`%l8sBQ%+)slZLC`Rf8-HMM-^{9<}?-5-zCHh=5f=_*|f z&w%m<71W^WZkMhOyCi!nH2IA=cgiH@t3FIJFuT)axdqddI0GX~4A3e5VaYn@!TL~~ zb|0r)`)ISTzeoGFX1II_N ze?OP_zZRkY{TR0j>g3Kfk?rKL>MH}2x~dVAmVCR8ZtGX<#rJfKD%vStSNdheR)d5T zqGL3paCWk82J-zzKD`dn*<;DA>9wI`@e>=i|BJu9XnMig(DqdFR~lTaQxWu_zgy)# zUJvm7%R*vZfL#9aFc$77j(!Pc`fy+W9T(Cd0txRPEmltLR#je1|JryVw;$7i_14Q2 z2y9>zZNfCzuZW*nv+L3J5bc=(^HieCt)-EC=?(~W%XyBXn8v|txC$$29L6~+9)}Gu ze-Pl!$qB@Y`>=$}qS!{B@GecS2g4CDwu}sFr#tn6SrT((1o!(eo8H~OJN;!>^NTx} zxhDJM4y-=dn>+}Q+o|@FKc6*NG`==Q=H(@)b+(J#0$#v`))p{fvi=njV=Mde;QirU z17K~-_a|rU?SVwo=9l#pqIal~8UdS03np1fqM;K-dSHx5PJ)V3fegCSnQZp>*c?v` zN3?uEni1`9si~9+2-Zb8&Oq8u|hiji3{|3-SdE$vS$S{k1nehjBw^gXF3V0I|HoQXrhk zBts4zQ8KZXC}72+Hp>kW5ivC?>!VY`qtnZyLP)%7nyvi6QDH6HQ(b)a;}X!Kt9OXz z<(D)Xpz1S8X|=ss9iv_G{lxJz$HNj7s`(N!S8brCj z=wx3RGAAb!mdAWn`=EIm!)Ssn)+CU+;9}iA=Os8TKuk{FysJ;qOq39n2d(a9EzAGx zhU@shvj89v^jYV6YPM`O4a-{jcKQGR0>|75Fr{2VH>CZJeKy?uugT$(*ok#1rU3wA zdvRZQfvRGGfkCZl5%nJ^-FOF2zWpXd6Jx_(Up_L!nrdqiDZ^CPA(9x{4OIn?oU+87 zf$T#A44=~T1$VpK?PA8{#rO0db35YSr3R|ZxVIy;zJQw`mx3^t|6yf{qmeW^Qi9Kf zOMF<^foLvb?&m`aNj8i}`Cjrj;-!^a!Bwr_*VdF=2#?CsmOZ^V)hmAtU89D&7AO-o zW6M4Q%rjO*2EqEL$Z4l1sa5Nfr=5;QE#^1Xth_*3HFh=1a1I|r^A06T092OPAw z0~TanSLNH1oOH($4uC;34c3JnRToW-5?W_zPE!4BbOC&eO--YmZ5qZ6US((X9E%V` zOT;DvJa-Z@BCZxUNIyx8gc}dFy!qj1U6#2jU{h^EWal$~(- zq{w6uOIR-LH9oZnt~_}T=7YT4*?*Oe-RE`Ip4%j1}^WOQC^OV&3&~0&30tPI8x{) zwfS@Kz+T*_rd~a#o``0EI|XhvdILIbrD?2Z8idWe80b9Hiuy34T)BkoBE>y4=cOcG z+_H{AoeV=cusE- zy&$wy=?)#ED$~g3andv1vzg!NfSYpUn$Gb_?|@&4sLa6Vdp*y7UK( z?skuU{1o))ey&f1OzL?V`I3doH>;8Riz!BNUAfZT-IQLnvuTilRu}?I^F#yWa^TVR z@*+SX6Usquk78TVv)svuU#3gQlDs0Ihj~LeHKky_NEPBVT=Stt=^Q7U{|X!ug{9<9 z#xDOen{Wh)H7Y<1QSY3#E~zdLE(!yqiP0R1lZyzRDwvW9j>^NN3vSLC^ZPEt2hb#@ zY~Nx{cWTFFy@umqMw4Sn*V%5fUPsG#GBQ&B<8Co)ntdOw8UkAO79++whPd$Q>p?KM^#_;}hIFVHI?@^}Ch{Y_%c!TOLN1>*Sy>R?Zl`_HB972bN zZ@~EOcin%Bd#QmxUEl##EM4!-zHM1M_FCdN5!`-{jjaFRWse&{4~LlSdc%<^iW)0D zuXyHB7#S)4i1-U`BwzoI2F~4TMm-yJ z6<2PcUu}WoL-{R}tE7}L>QC|ygQPPkPBOM~i3c-N^%mpq%ngs(e<3$0jjYz>JajiQ zeedzeIuvA+)jxhCN!iB1W72Hg8RVF+gF{757=>AhEUcCwL;SP?Qlvq+jUZ;A;;7x1 z>csX>x7G$P_Q~T9$l}_Vk{`6i^vw#fat+`>*Ycy%U1M!K@J@!cDhbmkI}U}&7Up!Y~f-*>Gsw)&Gc?;F;Y>VqO@%v`o--FhR>@!a(2qf7d|~Dg=at zAgfl6KOJO$5y^8ep?AzorE1fzg&w$xh*@5K<^zEAwylc;{tsODzj3A$ux(ejVi-Y_ zM^mm?O(X$|w_5{+$nT0f*ANH^-EHTxyFxo^m^w~V52}kb@Da@O-Ji$C<<#_tiKe5R zY$X=B@Z_%M`(G4T`(;8VsBTBw?y|%uy4iJmI+Z!t&C;%%y36f1zszS~jzF?RS{X!c zZwjJOkNor-ICr|AFYDC|6J#VqsJtGZn4n`M;9*e!C`mrKd-)H3Ivj}ZH+$QDDuSD7 zQP(XTlJR^kugT9sd3A(FxJdVW^g;`|rcVcEN1f+;H#4yYD(D&Ib#V0v&C;J7QGXy8 znd@!at^@|>oACUxaR>|$ zBjM_@9JMty*Vgw0WI7LiPKv~j)? z_<3)^ntrG_wUwzsk#7!&w;BD}p62`jJ_SVsj`bA1k*ld7muf(HkTNyZr;Hr4vs_qD zHn_A32dpBes;ql^LlD~$YfqZSbXB^Fubu*mNY=L*oeiP!YIA!jt!TmxJh5_|q&-Bm zel(X16T0|nLy&e5ogAewn8(}>|FPdfR=&|4HJs8X7XPwHlbl2gehM{)!zr#h#>UJX zqZk8EXWklOt?*=ng2hP$Z^1Z%oBD&O{N8NLs{BLo%G@T^j3(NACvF8fg4tUL4IFXR zXjRtwk>SHMp}YoI)qJ)bFIYaD_`Sdd$IdM7xx|f)+ia)v7P4H#5;16s0_zmj$@qho zBLrrKSJ`IjJ@D2r!LN;6-Fn6hFlGvkHm9w>3pwK#lbQP7K)17_G#H1Kp!$KA)z?m* zQREq6b1vx3ImUbJm-uK!_yU!gtoR;vzrx+;GJ%-m>0y8&Wc{n~nS0*YAXHz@|3Y4` zp$nL8_jdUDf4$QVD+m|y3z;~3bUv|!_WVXm?i?fjx2S-Y{`#m6$K#`BOoh7|a3=KR z>d3JG(jd_XAkjK$WkwpI{y1Y}z**39daQBRC3@tj4zQp{`>UKtc|~HCx;7Q^bWtJlnrD>{Cp9{J}|*(8eE-<(0zO7gR~saiv$o(4i4!_F?GjY=PQ(K8bA*8>l@M zrN3~z$}|`?!RN9r>B)%}YEm#U1xGTivYJDKBM3%Tgu-!x&z8(nEsTjUQ9V!*P^F@j z4?(APA5Z`#^&b267JUK?%a6(5tam*fJJxPJ{7BskfqT`gdZZr)@&ODVCHsaLLxNll z91*7E^Jul_^2Hk0l>ZPVwroP}GF9wXJ+c43J3U|nC$|5keN!RV&1<- zyF?Vp{w#rlz>T!uSj*u9*e%shfsY<&OFo?^uLifOAVM)pQR{TP5*YECD?SBFpNXu~ z-B6zvG+)bj56x?hYwGSH?R>G|{#1!FciE^ky?eykL=F1O6cVq2y(K-!Kw;WeOGB9Gu2V(+VtrjrI-~Pf0NX>MX4IvI7oUxRpW+mVIu?A&a828J6<$#GTnacNSMOp zB_XRJ{tYvOgM;_hX6zLi`Y$6+6+6saqPKC#ZKY_@m4){vcLkxS2=r}O$^;Qf)&m!F zh=a#x^cb&}SiAf^A8(U{=8JX3?SeqC3)WA(4YfDU8=mw2TcSboA|&a`U(12?^a@+D zaB^t-xThr7J4Hd0E+(05wnhONA)3dvO_PJ_?XAv9%hLPbf4gPA^mlKy?p(5kRoag~ z$O6jGvxv#v!F?v%n*Q6L7ozb%zN3D*2Fr0Q=EA``p$FF{4y6uC(iTQN(?rLrOP9^3 z#XgJZ=Jm&W`d<|1b~~LE4GX6TfCiW*uxB0)a~6Fq8L&J; zh`CmV^e6B`CqT_^%h@_*Bq_!P0ZLXKtVkoz+j4R^)tjRiAJr0<6O+xeCSYvKlu@?< zh^-wr5kVy(`S9D2a7j`5-K z&K=OMo^6^`NF>C=seOyqtN*5@wFrE+sd?I6QeT`FdjogCsXD@4=!)ozh7$#>qfPf}lrktD+TTZofpS(hWlIq=;ReXbpHXnR38DpZ{(8zqf@mUUwOPTmZm@K@((efw3Gb^$R-0%nWVd`hDZ-Fca; zG~d9F<(Aw>AMW?HCt3)= zvx5!!r>p?wO{KdfWjx4hjWF<5sdU~Y_&_^ohb!&x_T*!u7?Wnv&7no<=|&$uoN7k4 zJTzRrD6HF&8@OY282JTq0YI7HVU!*%H=~D?o|VCBbK^6O^{c9kry-|+7u^4&_-F&S z(&K}X?yjSn?=diJ*)?aap4;e`T$G8>1Q*8TB;PHU5g=0|>K{F7LHBMUZ{5&MKZ@<@ z_H9|O!J@P_LB}qMOwIQGIR3w|(Dm2q&*>7$l4`A}=8PIK8E~97RluwtKO9T-6Mr_= z8>1(V;;cDfAAG_u99+XSzjQp9y_3O2O_n%)=l@5;-?;W4^3(1=R!ZqvqEH)EW?$`p z!6d9V?-;uf)NPf;%Tf=LWJs9%4cdxDL(@WZh-<}45^vv~_qC$?^_A&*i7cs82 z<`t*^1kSXZYL*+^=*|3ajpk;IEfh;}njYRD#gV?rk-P4@$I$)TiU!2w8-f76&bd;LK(79%ajfELCc*X$NWH*eb(V0&Gy;PguQihc1Je5 zg)qh}rw1kN6wNpG2AI=W@&XScdJ67as&`8~JUm-@GB9U~h=_O@;umpD;@}iqu@?#I zgU-M1RsUpjwxQ}CS%dJbuxY}b`_@h6)J-;>OJNn=_T<1)I@BQhc?3{iX3LrWh>2EmFRq})HoRs)i zak;?-eX3r5|5Y>njkt>4?W~W|*tpor*Nprg1$>b{gZ}#E)XYq2^xXxi*cyMZ*22+N z8eX2%expn0eMPdh>DW{uYq7XNyv7Ng^@XIvE3IoPR9zF50%DNf!AtA3;qS`>%8~dp z=)6=*x!i~)#BaLf*k)u&u1gg5EQO^u4JQ4RH|wc$wUe0ycRj1R?Ya_|)T5l}Gv}lF zKp(Xi>ZN&3+85(VE)jolckqq%c?>4;6XyX($QEAWI;ss`RpnN12+Bx zUj{V-J3Zo%2>Df-Zm6l>IF?I2#D5VT5nUr*I!K|yCGl+kv5WHp#$Gi4yHb2|HO-yf zz0Qqq{UFK(bY0{+D>rY~Scy+~ccdAFkWi0qD_dbUqvIwo-(Vroz#E{bVt!PK?xLgc z7nYEZtZ;)2mnibqD_2>AYo0;mD?0J*7g0+s4cq&jKtExn5c#9qcIV>-%}y4Z%t0j1 zC^_*;8is8e-n2@QS9@E9d?Qug03JoX$c=9klw-NK{7;oWo;K;8NIxqObR_Foa*7bi zs=-%}UzuC_rCIJbMPGL^o*>iDX#$KW^Y3j|+VSrn03LU`7Pdv5hP(=N$9oLPNz=q` zUiQ~U16|tzVUOTT&ZdR6yMy7CG!M}{^UoG7$G2Sff7+fD`NYw1LvoRS1PeJ-r3=5l;J>{uTb0aO;J9{8dKWGU8`-s!MyH zYA&^NA}1Mr@f5nKic3)YpN+8MXnE$u)GCW$D5V?c1SstS#N=ZgHBB!Pnm=704t>cN z7`WdNiPTOOqqc!iYE{<0a4H1LwDGD9&;Ovt{Bzpc`DZt+#sx*>fY0k*hOXmvmkB~| z`~6f)Sr2w4jTsl|^xu17z8~Z6{q_3$l2{<_yO!33B%_kw*T^GTeBlWm z;%M7KWKdWraTo|Gj8B9+n3(~tj-r2E{Nfp_KA9In`K5w+jvj z*@L5sziMbRoM5o!O1O6#oWUwW*00`D*3EJ>9#Lsh_B7KvNp4M3OWUHB(A4~Q&1)Uz z4NMA|5m< z5|WTfg)IgC=6AM32QNh4O6p*c4lQn_%U_qB28x~(Eax3j@CJ#hF3jRkpd|ai4XZq& z(T*24?!uQGl?4qEQ#!-tVEkQ|tEU<6UsdkP9cgT<*BtK1+ZlRg6S#Nvbo*a?hD7;@ zytXsPpNT?W*J`sEwuJs`m?$&6d9OW&&C{=`DU-Dn3&MRIjy2)oVF4Qzz#&Tzh=mVWopOH6yg~_ao0|)wmC{M(3 zgW{5-TNinj<5w8(dMo;Zi03ux@ml=rIO43k8*+hiaK8#|if3t8dymK?&q7_re>iz+ zm%{$0+>qq(r`emRC*H3u)u~!HvD@-Ux4SLiS)KLNJhbGzV5|mrT%w!ywC8Mn1fN)ZjSYy56lq%u@ zsZYwEZ7I~s;3Kb5)DebIDLA@aezlYjZRHigB@JcL$b95({EdLijZ2eurb+}L5BU3@ z5>1=lB^rs*CpOgJAYvK|8=TDDl$iXLUtHN9S?9fl>|)O=mN3CBJKEP z9KYBgMlW-fXczgY7^}CEpQDDaLcVBZa--LBI^(4Iu8!GF*=zN&`%*$_7df=cJtu`X znhy@fZUGGb!7cPu!RZC6-&Vaf(hx(Kc+DDHLA_s3vN2Eq#eHX>bpp)?C|it zMeRrZ=6id7I1HvOD00^HUUKa*tY}14K8w$(vDz=>={x|A+t>U*`bGeVjJb7&Ae^lI zq^&%O(Tx>t?EZ5?90Azh=<%@pX|3p$ASXLKisv=c@k`FqmK1Deb)YivQ0o^y6h1vk zJ7rnRfo~AGh0KPO{W82BjegqMef?=0zo2thl;)wu>`r0PZqd#Bp`)nlxJ>dc*H5AQ zul!b)+u37IM#m<_YgWLo`c3j~UZWE=Iopadp0tOHW!PR9{NCU;xQLwQs!P_%a>gT|B~2|mh$TC&AzoHs5Zdi z0+NIVW%#ZnjIwdPQ2qqN1Dn>kzSNY6n%k1?dA=@S-etu%g2Accv`6P=Ml~Ienuoh> zmw9JPkhCD14AzR@Arr<;?rq%6Fg;uy9huo0$q(IxV6o=aO_cP{KMJ#jdM^xYJ9^Q~ z;5G?o^0ND=N`F@G+-K6CFeOC%`rG=kJWJJFb7C)p3(w)$>H;5{D;=AizohtLj4`cD0JWog z0o9Ib`Xv#IN16U-&{XT-()G?C2meCNk8!givaO-NGZ7jm0O=8&3HPA7T_O&m*})0i zpK5yc!0X&v;ppioJwZ@!X!(b9O`Mr96VtR-V>!WidH%A~)d>M?3V5;aMaY2klm$zj zZ=m*4o+!+yE;J-ujf*-;B6Npb#uRY-5N1$OkeqB`u$4W<>PKqo#Zq8ZtTa=ko30s@ zv6ye(4oH0p0(U-cCtRcI&h-|@;zfN!GE(?;)H7T*o)auTNd*+6q&a3Vk@@|3U%fd0 zv2}MJAk?7vygZ}?QNxn)s4m}7CZuCS92t1FZ@D!u!R|GP)-hZ%?^mEQLjaYAaH%dQ z!e`&1E337t!Y%Z8J!b`E)?1;QD_)zBHH*`}JiKs00Z&Gz5+vm0?>jm5|Bij_2ZTPVUV}hq$2}>1R@SvDO z3s<%`(Jm``eJ=kuOp6EsE>@$bSWf4lVMLv3QIX56DN+3)$HkMJPN~?_BnbYUmy)tM zXAUnK+*=_4=o2eI>O>Uvqq3K*`yt2y{Mcl(cxfEr-sbUNb8yg+Iv}1qTYehKp9bNN zWLd9m?);mkXolCtFmKLQnonTzfgs;WJW{I}Bxf0dR+5Pogi17!GA>^n?*h(FZGyaEH9iYuBaQ6a)bZuXqvR|(zkC$ff5;q##=8b=91f2=jsB2Bz}g_qel!P zEim$tD>XbeWR?^yB)C+5g+Rk5mM=Xe*6~~I&qrh*fEvR!W+ms6r>F83_e}G4Fs0bqP!a5J(!c&Ir*yoEfK+yR97v(Hd)p9yLWpFA{OqA+fvD;@0Ld>0C45sC#Q3;;B{AJ(-I7S_{=(x4-)8C^51K{NRv=I4h#@6W)D3RKPlQpXFN(`Z%AIk%Rz zb{XgNe;TX9L+@sgTp9lbr;-{yA)1d>Z;^`i$z;K)?Q?#Z9JDOIx_Edpu>Y?y{-d^4 z6IS{|GSSifzO=1m3c!!7=yxJWJV=T@*uC1XE}!&GyTYW*-6tObcj+kS#aX(qmHb<- zIHtFUDC}NS;N-)~msbyl5qmHTGHCfI%~j<{ohQoTW5?z3{v!#Do;XMj@e2_%(}lL- zi`m>)Z9JI8Wgu%P)E7EW6;X2es20|=v;$NV+7__-Ix%6o5<}}OJJqqSr3aGl$r;JD z>xL6o{V=Ng=F#Qh@0o2yI)#h(de@OkQjY{{XYp3{%~td5WxzDOf=Xl1)7=jA_r`TC zmplzBQww)O)cC){vzk^Wr)$w%69Ooci&n|zV$G91lRo&OpB)AP`U)1t>kT8|z$AhN z+;CWm+fNM-Bq@%Mv}FtnoW`6X{Ha?~cFK&%+DPsk1g`o{B;`)$bMa_^jCBjuP8h_p z*6N%**f(KIQS~7bCmmjUFRcyIYujSm^0Fq53_ZQ;rczV&dj0<&3TymMP$Rr&A3_Qur&e0q^EQtQ1CT#Qc`1DKHJT$)%^R8vpF z$d!(u5h2ndg~4B+b)bNH=A*NnZMLm~Amb2?tfIJ7;?)dR`E>p*5h2_=H0L$flHRP_ z8q{-(N6dG`$z~^FTCr&y3Cr(xEvAg=q+_Q&$q+FK?rea$WmKTL?5pn+ay3WlW>twM zD1A$CoFEhsSoUO|nP$X_Yjb~~T*zUPO*|ZxIAt$$8wDqby zIxB#WM}C=qUqrSFG#gea^1fkrvjl9`)8E(|=JM0=dYwU8@ruf{icIm$rDSZYcN-5g zdESktr}G{^+X4$k%ietl1{_2^A=bK-k&n$^xNKHa+_iT5 zyPMCG1J!Ib-*+2Yc}%=`cM8{%n0fEDUxBjz-|FX&1rXp&$PbNSNaVbi^6X&GcI=sX zO*NdtHRr6Zz`MIZRe=mo(_j4ytokX~TtbP%bkC`lKy=h|gsyQn{`21T-%weH@8@}? zG%qLgtove)mcW6a!GO~ZK{{U8Zi>cvwr=$x>~_sC(rHDy=2GYR{3DOeU- z2nIkYj+^O)h3NR7#=fHW&H<9O*&5>Qcv}E&(o^-vGoEP=*?Rk9N*uoryw?|RHJle@ zzZ*Z+VCiOh+@*yGQKP_C7&@k+$B4?zf+wVR6z;jYb{cq|=a@r9en9*pSGYXD^>y>R;~Zug zr3>PcELK+xGwNL_DrI6H$AY7*1`%2TyvFJqe#+P`pu9A9DOHSCl(m(nD38(rUos0` zRGeosG543Q<-77JLj?5@&6j|Ivu`$N395b?+h${7>7ww>x^io1d@#)M9Ep0nyW3qS zN3ZLv=g0esh4R$0PDbmP+60mNijlDPY9qDskib^eC8R6PWv#11iU!UrE8-BFV#NXE z%Gw*-@0i4mNbk#MjDQa6g*;bSV*{O(mf|q82rNODH+FEfSSJ=sPwi{vPzF4&sN+#A zy1nlY!Xe}nJ9yE(VvaAsCEqD+dNI|^macrnfKiULMNiPk38}r=!nHA@)TDv+-#9C8 z%xeqJJS69FJ5jAa@QvM68k5_~i|(m2O_S3~v!aihtG2R>wj#*mpt9Gd6FG&UleGn5 z<6;FMD+jj)c>~RkNr2jU@**MczOu8ZRd)CN&Lsb!z|?@$@o@N@*TYW@ScQzMci~^u zG&+jS(li+f6yvnF}xN;V3>c8ok=Fb;C&0D`-aFDf#%-aV)U2 zWN1oZ=)D}+NZaM@!p;6CSeuXHK6}|jXXv!aOmp9Ns!GlNZ(Hg;3jENu1I@#sI;RY*d(E>f-On+80v_5wy3Vhs-D4E}Gyz0+Um4OQWL9klm521% z`1e6tDvlhtpenb!kpS0Qa`Y!pUDjf^`nmgUkJj{8$>I1rCYhmBhDB(XZcfqN2Jf-v z!OdRszbB%Oi|#*|LIWCmgjZy}`xda>&`4l7NW_3{m(V$k!Ya~l)XKl)a*KlgpzF4v z^YWK#UGx;MNDhc(*Jc>^i`1t!>oYUj9)s))_>1w+XZp)32swU1cpU&QnaE3h>?8+j# zdq;PsocwiL>_{7oAL%qBzg?_D_1Fx!8*9fBa=T1>8&t&-QQP7V38|gC&vr94K^UqN z_Q51K0@Jk&p026skN0PJPX|7h>_AZ-nctPmHDA02E?)TDIhPsto@Nmqs!c&AR{V*+YWfQv7Z-RxV-UVA z&FSpD$Pr;n1klpQx#&ke4a{S94ky;j$8ZP~?}j@T!oAv*+t@<>tQSzO+69Fj`Q`Oi zlnKC)Iz#|^UOr@0E4T|+wk2xQQW@LMPpPql>LDk#8qe@K_aXnl+eIeZwCM)0%1D{% z3>V2GDR1Rt3N_GjS67OesH`kUJbEZC8F_|=hGb>PsznPAZKnjNn#k7ia;kc@Y;Yez z=h@UXEJS&m438y5CkCm6a07v}JkN+?su4Vsn$4I$ZG?2K&N0<&x)w}g>Zw?-dfO@) zFyI|uGa}n&vXOo-BA1Jyy)5$6M;vf&-!fZEH%7Tppr9=EmggKAJ+7vOMw1rNP5C-DN%n- zD;t%N`Ni|!CI5c47JQF|6@kCkD31pco)}ixn~PV=^9e4qn?JaNM z`2mjkx990$I!A5tr`}G#!~T->iJSn#wXU0Sqi~OnYNNC;k zKyjbdIv>R9I@2FFH32d8CF?COCL%d6n2eE}@b`jvCzs{ly`~{!BCYp9inpg4aJ^0e z_4-VfL9+5+NGSSu@XXF84NOmHwjfi#R%yTBx8N-fjvMYH-rTEfk!_Uf`v39nx#v%K z7Pd-;tdbRXrvU}nG_lK6f{und6olyh4jlSoNs3A-+8t2L_!Jjatz(`&|VwAeyCp`u(34I}-aJ^*Evtw?G}1=r%i4Ih&DJDX=mB z9P}DyG~Yf2;tPIzh}ouAg1`NVgXZy5MoxGP#$@71-(6wkytR8dWBGarqDI#6-_#|w z`&OU*E$b?@+p`T;w4E4q#w51td(F{OqF{O|5Uo`3RSMKWeNGf@{)iuWCRyFJeMfUv zrGkaK?4Fu0t48Fj(M2MK+u8B~v!~B9m7o7)0;y7G(4$aO?^iw8;~_uq z@mrRsfBz3Nbd4$jb#(Nd7*Eki7QLF--T=PvUk`d)k=2nKn4jzvlF^0b{Z##BuRb!nNkRqmH z-Pzk?F&^;_A*n}+Z5_c$``bZ_qlMeCDc~4xJvoX@DqN}smj6sE2${emwqBkV&_^8CkFz1d7F^uuj5bh?&@6y472^1Wx^Or-eAH@lN~?vt!usbta%y_b7f zJW%4*l?lG?Q!}H|$xzk;tJq?N5fQ29++@r;7pYrZnS2d#cTEZOna<9_+q-pP6@t$& za$?#ui1ySz*nYwp8&}bi`crkd&t03JBmtGsdn~BgjP*sW6cu@HGe)JA0bdgxBNlIq@relz{3yYQksDrKpvd>FV@L=ym-D!iQ+ z=!`%xmn+ZMS>?!j3Wp#kQMy&{BL@6_4UQgsMtd>kO%(eW%F=CVQN0mh;FGwD0lZCA zY7)h=4&8|ZquZvo=B}Dmb1|6j(lqNqf?P#`3-Rmon)O4?+xG*kNx!E6^S>#A*5}Py z|7-lLou%cyJgcUDoF5JoDGqg~e4aTUCQgdOF`j7CE}r-wUS$_|xm^t5net|wgyL$+ zBjG0^$6<@Kd>l)3*_re%X+`8d8f@81V0c*jFde)=HVe$1^{Qjhe?g7*4BC&WeQqnJ}2W zUYI;xIw-tkNt7hszO~iAe(XkY1YR^sIdvp0aqjQ-y4c(IY6?d16{y^7s-M%-tR>rnOn3Jm$Q3}43@Mekp40_zbl z9UNc(4Dg$82x`{e=f_DHy#qvxC+orUb#FI@_$5QqcR0yLVuEb;!%22GKXowW)^#I3 z$lp&<(1kX(2$dbg33_wJNW@0|p-EONdM|VnnblU0Fy-vByT^eG94s+pe^?6A=YWsM zb54r8L|!t7)CaRaAHB_8fsN7ASoB*gbzu{@3ntwVwk$0g9D#;C!eSe3*1#M_~89DL{9mXp7t4 zYg38-5&!HAd2wPA$25D{A{lpF0lt0R^1u-BR@l0SXT@5MHCoKl`wTaD2Lspdm{zrh$dot#nvWFOA>?cyXiAM7oL2&2!Yx002EG$lIqP_Zg~Ue zWJ^zXBh{^iYR;3dwd!K#`NeQeQzCZtvr|0sSGD{)<2Km$agS#+!d)c%M}sXvU3-C5 zW@NJ1r7Xp6oH2Fa%Z{MZj+WyqzT`A%gGnrczSq{U9!0dX4-t5HUu+Lnk`>SPmqeNm z;)JCMrUfwH?VQ&uDQWCnu3WSa<3YO76o82r1O$r;{KSt?q$VpgPMc7-DEY03@gkB1 z5!AW$x32Pj+C1aP7lNA*A>!!C%ITU$f_VqiAlnN7LhyJD z**Am_Gwhh5yE7`C7Ba4vpX|hM9c55aEEf7#Uv#=wZUFoKikuU+?5uaRk$I`PQYOc= ze_|Y$?5LrRrFc4iO#Mfn=^m_Fb|4@doAJ~P=?!+FZZ=t=3$v7@Jmz_6bs7Jyp|$d5 zoA}fFJk~_JjFyA~PpyLIj}0oh^@ZNQ10Ltr;=;Pcg$cye8V=WjT)2yCG5JtnzQw;Y zR?)@d?dMi_KFSoWv3`L32-rO>%n^ihRC(7OiE%&~AMBekF!hT1gj_`H0c_Smgxx(D zXJ;HJ{`blNoM=DVtR_V}-JfhSoYtG1os_a02@7d`IpEcuAU%) zwyhsNaf5xCi4p_pG@R(l$dz#>Ly8{LACUtdugM{3Z%!Ueg8L zp9%$cX{!YaXl@qI%eqvJ9zy1|v7QA+IbnuOdJb82V56$_^YdDk{l^4GP8@vw7=naS zb{D#w>T~qKdg_K`x|S>7I)jq|%A|{rh#a_%U!8E~5tT3V@W*;E_t&lzvwdBb(9IE0 zrEweccKfcUN^t3J@K)o*EiU&+BBL2;lhxkOO}05!ChZPKpGA&a(C4I**i=gS#?%L3 zcf|f-gTlg5zMziOWl!&w$W-C$6Jvq7jz#V(N5ztT*JLp`%W%LcOC;Qwy~jg!w-J9C z2ThUEJzXQ>*{Y-X?*`LSN?M1o{Vqn&9EK+lj()S=n=i_(wo&Y{VF|ZK;23(#+ZCyI?;z6*1K&^a(-s)ry_ZQ7 zPzTcjT`eh*9&km9-8;z zEc1+|dMmQazyB2Tj_k$y5_8ZBYa>X%BjA`j3ae{I4CZjF1u#1+!A?dH62=b7Wz~`( zMf<7EeL)*QCI5Qv?LaN-TunK$i=47yRYtPx!`rg)>&|0X^pd*8KE>4P$dkKZVut<; z9_w1f&^+MNsP6%m)?wmi(Pt;c>k&2M73rd_#rVZF-^8OBglKt!(n)&CSdvxD0u;I4 z#&*tFxitnttyIRw#Tj88^uSr~0R03x3R0Hf{IX9vSl3t1I7@C_i>=!El^B%h2RaoR z&%R|GGK~^l(VIq1V;+RY1UoBg8BJfoC%AC5$Wkn*Uo2nO%L6e^fWkok;`zoU%I_J< zf{gqtJ-IHRv1AW-eyI3CRm=JjkNxt&n1oz%r8Nk?E8LM#Hl)Dk2K5}=>QbN=v@gZ` zrEwnGWeq)kM=(PcBttCu~=)k`efom@HKihlM z=%`>zaR8dd8b`;TG=QEX(ou!*6TJ0cn&F3SPCK08k4f+Qtnz@mtJK*=FcNco7i&ueDlEu6PDl`5t3Uj|f(qm-K{bPTzvgp}lPCezEXBBuY zKXuTR0S^jHS~~76?-Il9sJL-6&vOzD`?K9M`{p&>Rt>RsAe3)2LPUP9?akYFZfqZj zhi}k1Xp$U~++oec{_W6xeHtd*6|m$0E-PH|SC#myaqyG*YBXO6^2705Nz-WLK+- zpDDyXI^$YP&*sWD(MoHl+4&5{#@87LqsDq_KQ|N!kbGSJrlUtj*7S;j zRNj*~pMLy)xu5KHlSfnU_YLmj zZ`RemP*Sc?efB9PCZ&)5%KQa2x%^LS6bi}X|KRH@qv8OQEpfM?!3pjfJXi=2+})vZ zclQK>yL)hV_XKy>#$CE`x9ypE^LF0u+5O$;^pF0!s&3t?y4Uxre7*^Y#+4ZMpb0)c zVdGJ!+yxt^1xXc-;YiqV>uxCX;tLv!vDPwq`z6BpILgwLno>ZLddookrD zD`kD5b07KEb}KvZsP`*D4KUe=83=^%**S%y{X+LFEP;Zg6x1DT9N)wrK^;#Ioz0x& z6gU@ndQFKD%O8E?reUXfmpJF%1k7xspJT+3N5dWGKICF{8ChDQE-(^yGf)eCHRH>~ z?r>4`VD1PSe-t41XHDH)lHnjkDIe#G8BzjHC!%zVSozjk?3P9DbbJv8{JiF|G6o@<+EBk!R(8^tO1 zuY3R}v|cHB$a!1fxP7_JQ}{yu$i2o(*PmF)ejkvA0L^pw>12PCFC++@dXBIEu}a?@ z1>Y~o`~z-Dt_x*}^xWIpO2xU};C9Zg3?6?J#={}53?RbV-90TYt5lTU=Ly!SLkBgfCKXt zBKb5DH2>!)6tZYF<$qq?d8Sf>Hs9L3X%$_e!3dsQJFj(0pxA&FpU)d7)y2-8>-fp5 zoMA0jX*x+*zkK+l@6UdCC-Nfdu?&m3beCb536)4hHxO7jIAe=+bllXEbwCqGxYlCz z`t(HhK$zboEY7UFN!EN_8MNed+$=nAd{#%v#a5a&;GuU4JwXPznjK;=lcQzDK>t{D z6Ua#>m`V4vXnt@E3Pef7LZtU->Z6TSQ8&_T_I-)CuG;_C3Yl@HCSVdCWpd%6>+T$Z zn=BLEu}>DENA6}k(&82T5KAXlCGT^k2w8WvuG9@4;;ZoN5rt$#2* zDi+Li*0s~gYLItsDDHtAmnBxFw#tSESJ<=!UvVZq405}3fpJB+&bXG$&^QI5RfRnr z;%Bj;0#RAaAs>-(CUhtq(^4h5rdF*@hZ!&mC=#^l9V*iayhj4sIz0)G}@nesg zyd-t-yx%2SrEQaTap*dZ;5id7asPTIj6I%U5*X|K?7<`($8*#%bXr+^JZn+EYAU zmZWgW({W3_IONon5V5O7_g?|!S@QuLbZ?{w)qcN1br`cuXG2&V^fg-sEoc`6_2-$< zf4depw%;*Zc7=rg;~DzDwE*J6u`wkKN}Ok!(C^1Fy{0$O0rnusq^Gr`YWMZgV&Lz~ zx|y4w!nO9v*|qC8RTA|x;6?hMw@VALmb;x>j^VRg{}?gzmb4mQdnk1Vi2X?EjxweP zW7bfw+vp-f`t>at=<}4T{y#*KbO&L0H)dRYE%dxh#kDu#dEj^-jI)#^o~;P0XPU+s}ESfQJpcXJtpTKf#QuCWy{NS##@LM^H zk9S_?hpmZWe4>c?^!E2Eq~1lSZuQq=7>$(`t_Z?W<8woSy%^zRxEA-CY&2|`uMBRH zIC)}7CW*$~TAv0>ZHvdxcUo9^m1=j@KR|J7(W@W*$cjg3+<+=3B?nm!aSG(L6Ml3U zux@HQeQ;t`I`e!gd6OG5UrkZ}qIhP0YsN<5xs2E=&GzDC0!0MIF!#`aIEajGG?G%>-ykOS^{W2w7?G8?UNT z$i@JKUN-E>KYcJOdY$F>wS2g0Xt|N6E>6b)B(PkwysNv>_nE6CP;kZA@h85DXKPvA zgWs##9Nu!t-~WPB69qk9n2eT9!H`ob^Lj*F@z#07Wqc+BQ-ZBM|GBOhQvwA<&Nj<{ zZ8}DrOYssLpK1yh*}Ellz+iLs$RpO@4u!h6;s)(3OUC233}6fKaMVy1(4u|m@=;WO zvL%)2a$(c8VX-Ptz$<xV$$WI?S&U_vF^5v{FY{abE%#13f2XNrd=8Nic~F61%MO5jGHyGq0BVo zs_Bylc;oVT(Qk6wO;iwCf- z@AdVMY$4qGk^8!jM~mxE&Q&($GqnX8NwcwK9v*VVd2#cQ797MPH%r&wMyN5EYYcMG zAJ;T^Y%6`fM7Q%gP z4NCPiXYYl`4FH~tZ(!2T5P!*)_c&heYuW`ON}Jnjn&fZFqJM`R^Ow9>3_zxCJ<*`n zKkiJW<<+w_N4=><*7vuu*S(w?grs$fldp$!1c<``vbr%7w6;Jz(MToliA;gi&1pv; z&|Z(8lb>X~%rQJ?-Gb`I(xj5SU$?`OZK~5)a=LHXTc~Ts&MJA{f}ZF>3b=-Nm^xk_ z>Ute}!zfb8gqW<}XEFZKn};R_?<3Ps!KN8>z~s^+)_u6llWq@r%bu|4Enr)Z0vdPa zF!84iYyynmxuS};;f%1zjyJWTS4YCYk)WT3nQZX*fV0A6zo^AAVm|rXfZ_a)r!hn> z``fEKi(_oF8w?JmvczDyn#C-zA1`_JKI$bI`VhZ<@&CS!T!!&LjYEdw^4woHQf`7y z%=pb3IL?gnr68(Z2`CpwXlrtW*p%7Jpv;6$J5rTN1OHQ3U)syrOH2eCe!oxwcX=Fd z%zht3u&v1l48r)bgH%S+;(}sh6@Z;cME#XNY?Y+~j~*w4nC~>mQ>Ult_3Hk*+aC%ow(lwm4WOf;5jB#i`i=&Rg0TmXNk8JEHR*0dnOHM| zOP;FfpXC-sX|?CVsdQ2a3?#^e0Gg?P>j#x6U<#>n_rd1` zdWHQW>e1oAL+g-rIBgH0Su}2@fPcO6uTQHjzGZ7Jn?k@0eRo%n4X=id>*8B*glvs7 z@5?o9WZw#1UdJ~Im)O@kcP0(cR!Sv_V@L?Bz=4Xrb5Xv?DvvdgE&oySZkLLC-IwW2tbS7>5XGGB+5AF z4|Q-qow>nTpmJKBy3*Jou^!Zo8MDP9XZenlbjs4%Wij;L)jl(xrVAJD1fxzRZl0df zh#ia-l8Dbpev&;$C0kuj=CkMWCmU+n9ehW0I3iGr{vZxp?^fO@#9pCO0*1Tl7 z-A#F3br@WK?%qw-^r@U|XX~WadT6@xft4{6^g!&++| z_*oAF+Umjn6zqftqwZgce6Q8#dJLiR5B1bMs2AHzO&>11}(C#8Q9v1-{;k%QXviLu?;%414&O^1sRbQ!S zWt`TDXkL#-ZT{h*)XlCQR`2Lk zGQw1G=>*IRaY;A7eEt;c_LLnA7S01y4)9q8IWgyx3kpoZS>*4dulq}f9hVVAvu_J^ z%62%c_-KVOWgN1?Z?ul{LOr6b5GUt7*hGbwP|aCmOZY#%{3xQ-NVC z6I-{65DI6(cNKk6+Q8ONy7Hm`+v?k~7Tp7|$NOKvTxiEp4M9hM{xcgo@cLov)nns%i}qCm8trJElYa{xL~()6Kp*f848t%GFkZMcSRE^ z#aQ|=frJBNC-%2v5!`^CzKr@L@?DF_PpZC{jP@?t&p~YoHiC!W(KxF-V(} z+S6QBiH+>`gy+Y}ZTI;1_)@(F@2c%Cm9gc?WtX~7>znJ3Gu0X)P@5gzrR0?qNA0+^884j%au1l{GTVKBOO02l zS9JOuxtgn@oTV^B*H$YVUiN4{#0ky_c=`K!_PpsrY~Q`IkhCtSN~k=WiC?RtzxpA% z>D4KCa&+NoPb&8$#`_{1$&=e>AD%h3x z(jLX`Pn&NgM5J)m18F+3Ej352)-;(&<5zfj%s8;QZoZy7w4tB!4(H@qR#uvp@u$o7 z7}0OdjNqI5OCrpxc9^>~pGsG2d4vgVv3v9&lCXB*0hfQ7$nuPVS1YRBHs5m{I%c9X z$4S?)sb@lCFu{lP#^T1rekps_7|bL%Xt&n#XP?vyOrW8X(SvtVs`&3@%LLdzTZaGQ z*=QPB-R;z^TX(mAC`4>G6T}?lHmp7cA~Cw#@aS@Wm#tI}=x>=0b zBmh)ryaqjmvW8Mh86X}2D5R;~!dyzf;INg%R&Fh@QoUB5#dV4nuXrhJ)c@|zsVC>K(=3jk*8q1+*{t6 z#-Gk?rIp?coY1a;0y1bKb`qyS_td=cVxV-m^g3PE4%e}`v1Sqd8Ap+h-g}QDGVL+v zN$>7T$7oFOOc!v>iGT1mjWau9h*1Kw0Y3d{(or$lhBrb@rV;}{Jj$4oWPzOb!KGHU zO*^7zijg17%%?3W*GaF#fGv(Nq+tyt*`Nr|_Hv zWBlnPE?3+#OZQC2xceKY^>_Sfm48oTUrWsy&uZ;-A%`Fo8YS+sGOpQQnV}lRkKs5) z{O($x=T|n~`eR>vxk?!K4tIr!2IE-&Lspy(m6>@ss^;7k$1IPNC|Ydr=*bCX81Qb{ zu@DR9P@29hVbqR9q_3s_HP5^ly%?s2NQkk3S%P5GFBRhT9QN#V_I!cex0!m!F_eUf>B69@JsEEm^GZYmM zL?jWncxJxA6{^*xkrFVA%hUZV!TsUM6I&rvC+;yq&gR_nIHL&EZ`mkswU@~#7~d$y zM#GuY`oVfTx`q!GI`%SMPXk`wjdAM{y4Uk~W@)kU8Hu)uk;-*W@;Sp%bQLGUj2Pp9 zp2#Tlb5kux=|&0Oc4rYsHa}5pd7`!;N|e2)4H`RTZ5w>u%M^itLEp?X*yY_;M`0ut z7&Ub?YJ@l|o0~lE)^RR5QR0G$QSd$gOSgSb2&OA9@PUm6zP!~re@}9LYJlKnVx7?u zwXl&dy|KWaC?R2Ihcto#dm#J%!D$G1sL zw_@*i_v_?Z$NK$>to;!aFwn#X9}eKg*H}YQj>ZFyQM>92DJSTv2qY>-~?o%MDqVASp9x6LZ~^pq+BIDptb_E8_kaufSIYEhy< z^g}@@s(932fCk8b0;eTF?OW2nWH}iG_;kW#KPw?C5sm({BC>_5aSQ`kIc#^i%f;qH zoZ7ZdLVfO}R!8MIQ~mEGRG}q169v3?%U901KDH8Rq99464E{Ic?PBW7(vT!|(h#>`UC3Q!x7JoJr1Mu4!yZ(?sUgyVEckLHOf-mx%uP{g_*dPOKuK8_%v2^9 zE2Cagr<)n@kFeacl=E5@`@>+1-)ZU$pIByM=CdY3@25?oN{O#^G&M7MHyk6MAK%}W z*F7%>U_4Eo6BjWn(HR7jLBw$b#$3aQ;dB1DnZ&zuhIQ1QR*YivUW7q&ow`l#$%3yE zijL3Zt+CDgC7ogjoPNQSG_(m5%D3F(>?Z|`5=Y5PZIP4DnH_H#r|a@d26Uy~K1@N; zZpY-5aaI@cs8s9pT4++Y@^#`xCF3|+5wmp;j>AUV`k6fCq1Z2NLj}A#Jj-f4R zUuB)~?Vui%(n0FJz5(*6=~~FaW?}dcuT*|F+g;@^O#wG<+ci((%4$^);(4vB%f6YO z_YIuLS917muf=b*q7r0sdX56F|-Y_En#n<<~NT;9TZMF z!lr9f+)&)4w8$=I{9kE5%5=pCh(hFI)(m7~a0rYjF06N#_jsw?60nL1hUFObAF`+r zcExO5z$i2qeFMBJQgm@%$G7PBjrT1<*t-<&o7+B2Ilneq10%NZhk164V5%Q-P~a_} zhCLeBceSVP5Z9ULc(0=dwxfbb*ZgmayQR0d8yD;dL*!1VL8AhklBNw%dfHOZ%XvJ} zVr&$T+s?61HL#olk=VL#l`A-Z>ya7y_89bRDn|K$<;UxkSEpzQ!uY>Nwyimo@XIXXR6n})f zZ1GNN&mhGUvgZ-oHs_+&p9Px_^_x7;)FaY}L`GZKA<;}1F+Dd?<#qSz6Dw{vaST6u z$v5*!{i>-c!xP`wDa{i%m~?^@#1acX&npis>DonboD-YRH>VvJA7RK0y7HLw->oEs z{cq@%6Em;0Y-rX=MKO3?JkHQKZKfE$*`0PXhpg{}e;J-d-zbDBJN~>Oos7npFE<9g z2FDpB)-B&u-o^`00z!x@Y95G?D{6{I!1QqH6EAxe{k9>LO{y-$B$2E4H(x7?TAYXC zq+uG}O48-%+;BTa;LXzG%9O0^#}_~RL#IN@*5Yqm{mZUi`oo0dSG%kz&ZDPmueY&> z9WDWmF%>}XkkFs(7IL04(^VX$)!|&_Z-rlmf8W^lai4qJif1mzc&C8)L5EK$;G`1a zdD4K<+P(>nG7cM}u;Gdc8$Bh=eM;sQTHdCB7ZBrpK~2D>U8|oQlm_eG1jouu1#H(^ zH@QpYaN{nW57gQCZDu^X78IH3B2TY_BzuYgb@e5343u+uu_-mCqg|q(nG|g3>d;xX z5&%+S9o2XdNvLwz^qa>)onx%Q-m|~)BijwFS~KlCl^LgWfyL;=a!tt7dL2V#2PXdO z+)LhOMZHz98mI{7NtLDfPIoM%u3;PR{xaWP1G5trY+bjj9vj7qZA;f-hv!uhrgjVe zuqgYku5xgF6e`Q;GGawwoT$n^sLlM=!>QH-JcdsFNXw+|V89{6P#W?xjvHe@Og|u1 zkk2K*3ZmqjzMXR&=gPD>Ydvl>Qs~2Py~u(doJheHRkegYe4TGWP|`|%50l=Q+8KW~ zk7(Vx)xCxcs8>`$Uo0bCgnm+Df__Ta9~8_eu8j;btH-EmTQRFX)sRQ%%sv@Bh0Fpr z7Ek%Z1>as9gN4(I7by?cT?$d)0u?kj?xPa6zyfMMifCEgz>;+e z^|JLueuvoj{!-<)ZMM|^9S2WG(K~2-z+HiMh^$9a==Ex30oQ(mypVO$u>w237`Pr`N|6Az3UE8Rbf~&MA zDm(61KkFErgKOsAf& z0cDV-$;)X`rwKleypQl9#4N{FZOC{>g#p;q3{80n%**IbxyxWv*<9$pT&a2N&0spi zzdFh^UzFP_l1xWYBqRC=Ys*&89@@9RdEf88zcxP~7HOiKL|c!yvNBy2N9R7ngG!`i zG_F7VX*k58XlR;Yn~xke;!$;1pSVv`CEFo;dr;kDF`RG8$IV%7;9yO)r+I&TJ@-H4 zVdUBGLnPm_e;8T-m%Lw#YijUb>9T*ph*udY16Tj~LPFQ4}Jc(!Xvw|3DBIh2K^Ug zeV^LM>|JqN@W^>@S*lK89$Pe*P4S@Wgh4P>9W-JOf-;6#zoG5|96bWOy*XEC6KQkp z6XZB2Twg zIsAUUeh(HpJqK!zwY-fHuQvHs?{ubsEMWS{@rJXk2%id|(jz?5Jq~m1$l)B|uBx>( zE`IQ~m=192e(Cxv&eCzpEACsjYX;Zzo*w$Ty{VW6%)6Grm#Du>;9iodjZx(%8=mJ5 z`XlnJu-^R)tm{caaeg@iwI*)rzsbfVZfXi0oQ9sHvFVfh2r8w!3B*LKX^aW%2b9fOIbOh@|u zHwsm^+t*!@T}j{jjKR-iiuyj7;Dervd=!mb`R8>uL}zXs0OOfx)RY%vxTC??r2+zH z(_jIW<+JFzIQ@7rD7!ysekr1;W)@r3v~-wK%Sor;HZ@Rh^w7++w}%;o#Hb?uXBFZYs2J05| zF$Ghz0e+?Sh5^1OIl0K3$!bRcow6RBAUS=JC9w3wv8RL~tjP5Ma*O}OQardP>L5Zl zqvu?a0FZNX$e-Kvg4*M1TZ%cslDj8^58ixVXF#eteSAp9bY=-5(tS^4a|sVXG> z9f~Qx8c8ltX6%(= zg&z4(;JBl_c8+?@k&(Po1h;nwyTfY~uh_U0VwSxC0|oVRxS$|@s*W^C5g2lkBgniB zF?tS9RVV_B}?{_1o@xKx4nE!SLb4 z2{;3$o2%EXZMxt61Z!OcaRy*i4#JZx+mJs>tB(2rF+-L1V76K?0DbJmq1}EGZYZrfF|(biqAt=T zqyXo|4z_Rl_(;!wt1r&qHYO&coWa~>nCo0U^~SN$viP+E1+RUH9~5q9cKT=HrFhN0 zc}#!LFa zp~^GXWS~ML-IL;T=oWp;uiTvhxH$j!4S%1fZSv&48b#uQUZjX`EZGtIHRk$p7a@$9?qNk9I`iC5Q zLtoO1k8vj@qxaj%qH8O?vlZ!^E7k>UdOl8%n~`Q^pY^`$ZQCz%xu2>o zu>zQ9rpid0{xmv%;5u}s-N==_-wR));w!lzkwR*6q{$KAX4pZ)n8{m(Ds9{ff z+a2okoo=mlTRr(NKlvPE2J-V6QBhGf+YGU;$;ge@#Z!Hvr4=YAKi7p@M8yvXwtvbG zai)wTT+H|D)hFS-r@bVX?N{%713A>)`)M3r`7X35S|`UnM80nxw(f`hblcg|+*u!Y3s7AD%_`~Dz(qTnyr~Gj%Kah|OBzU){$=Kat z;*OE^0>96p+EK2|!vD$*j029s$MFTN@#H05k_bSjM-&|!kZ_3=LnRs|ACzuK)SKfq zj>*8Kn^nS+4hH2A5uq}TQpPnFYGrDDQ(G0Ns&XOYAXy92V9^Ug&i#>j|1p-wU&3am zJNlZxYv)9c)?tDhpQd2u#T4NbCukf>tVv^$nO^h6h*)M(15~?Dp#LNCIgON*tiJE< z70k1HOBg|VF|?P~In6i31l_V zqc~!9Pt3e?meNT@LBJqvGhoHF=66Vvx=$5pxZmRJ^gKuk|Dm^z5dj5B6`^L?&- z-FX3631w<{{BVLhY@sZibNWzm%HJddsdNAF*bh!hTMH2RwjczV5A#k}J6be!=><8! zXHWehB^3F-W+aRtBX9x}1&)aze(e(+-oObOHCB<71_>Z^Q)<3K^uRS#Lf0%LN3y86 z^3#5~ZvT!FJHsF`E?R`>_X0~i0i4R^@3VhJ8=XC=<7h0^Cxhg&D_rcokpnq(#8Lbo zTdiyUDC4Jt1;%Z(Lq_*Ck%J3^>VtVX)GF0hEA<8hR8}loSzAw}O#`(T@bgsOCPZ6O zT(9`TGr|Vr1azosZVLa*R6X8oR6TuMT0gOZrdB0h(L5o<9`ZQ|+L)EWPnZ?QZ`Aoi zJ%4+rg6b%V3b|IF%B&oR%M4OQl>L@l0leb=GH`3g+$U$YfN}Vd?c~7XCWqm7Sxt1) zXJ}U^5%r?IXC|9@$Me$er^UaYDrQwRU3o2NY#+fS-jbOCJr%IcvHQ*XN$1mlSI#3x(v;7>IFTFP2uMC#ro_iJ|3O;7Mzwx8-{OlM*u;E>a$0Hr@|;^03kL+rq!R zP&+pt)1$UuhaQjpe)#0mK@T`HwCbNmB}@#XaNt+5q4FM6$QdzxrCj*n%b2=K%5H@# zw%#uK8>eI$mE$vP-IxMW9`qrUYXe@8T3hmvlZ@6KgKRtV%ZpeCK7i}b0=tHmCX_1_ z>sHo|2xr%b|CMQ(gCY?uG!qJtBiH<3F}tQ@sl4Jb^dX<{Ww&$dBSBZYk!fQ_)~uy< zfZE9ISuBgX22~AN=vzd2Rd+vmPSAx4*-lGk z-y6%$lW!%6UfY++b+qe^dLf<7MmGI=)S+8@LS?h9EeW^?v@`4(#5muyyqzhy%VrCR z5is}j^YhO-RjnV+st7LggXD2X9h7mnbeZ7GfY-$GF0X+)!$!r5UA4z3`U`FBeP9>u zi}AkVo5X~MVb@hs!PQeV6(a&m#Yl`-^YJ87iKugAVGb^2<{N5?^!;(SFs{m9B9x8b>q&` zr+M%-Hz#e-4GVylr(6s1($q#&a0dwp_M3pa1F$$+#>G2Abq&l<)2w%H{|Lb2ENtHR zh^vzVoDDjP{JR`LZp|X)1sYC_Cl2KsbrgwY^FP*L3x_sPw#wz9NdfVMPxp-4LpPO9 z+L&Z_bJdFEvT>U74|G*3Uxw9k70}(rWn{GzZj8v3BRy{z^{ju2)%G*5{y`;J zS##(JuO5_+Y8+{{6SlPjnROhjs=I^GnLr7$Y>n4!)GS@62kXw73RY(+ofzaH-NBih z-N`{^V2Nmbi}m`^`ByCFfHKr&wX?B@#|(<*vV_kJlO;0o&lawLKX)L0qp+4POT?C% zhOq8?x6{p*F>u#&qyb%!T?l+helN=+MnN-< z^EzK`kG@2IW~}F+>-Duilg*I$@9O@K0AC7$fz)Q*s_;1^G!+Sp z8A+pV>E^yJhA-p9THnj4ybUq%Xu-+K+!rZr=gZlOj%v46T!1Lj5}K!-`;x-K z7$zTq8a!TZ-X* z$8wMLrKQ86Hes4b2y{zZrTfq7{IB%;U&xI8SjT@z|JVYj$AE0vL@(!}2PZPs$J2@?C1;+Kp79^|p>xpgxRyxNONCD-sWxrot>t2#X z&2jQ*=z$mfbxS1horNVbe3oy4-`?bt%a%R>6cQJka)bYDq~6oX4jZX6TpXWXiNPg^ zzY4fGcLBuyaxX!*ZkW8%0LTA=h99iy7))naB%{XTjD>TuoW_~iy8@2+uQyW4s3ZiA zXQ(@PDPp)*yw{0TpGs4<>JL89i4jkTVJhH#pDk=Hc4!Azxi5v)wCE83^6#9$AO)H} z-;*_4EZNsrW!`VuWB69a>iAfcbY1JWtoUqtbh){qeuLpS#o_6DkXhy8r>j%{)wU5E z9nD{x0RhWkboDhQ3!Di=L~nkws0{%T*$eGk{zpxE_eRqk=?322Xmd^a^c3^5arN z!(0_!DKWB*-|g*N&1Z|-G0%;Zx1bFB5k6%9m`yS=xHK3+bNrBU?J3Wh`FTcrcmlD* zx~?+wA9859(4u0DO=W83_UUO3n)GAkZYZ{GW5RfpS&{hZ)@+Ns4VG-b5j(|uTJI_; z@B9O6ps->E9da#>zK~P7STkGkH?b~cnK5E)W@uLqS+0B(Eu{EVtNU(QYBOpC9#8Ks zY@1TP9tWu>Ms3o;q+6%5ahU=TJSV#bvWT>hh@GhYz{1FFwx>DqfnwwiQzVV#!J*2U zEL}j2ru_=mI%T7ydb}~)<119VH6~r#tzKx|<}*rS@`|j*QbF0;GS3N;8z4h-R9N((Lrf=9m58&t`+Ys14$a9eNpk4v*Drk9%2^S!!-rz; z^_9rmjn^hj^^9TfJkk zu{%2Qw~2w-ajd~tQ`yOd;v6|ZFJy$ShO>i^uT=AMpUrj3ezqNJU*ke$+Q&0&8nvYz zvT#xLqEz+D+ouo7X?egN?Yo)Lq_wds_I+mNfQ`uBtZ5NP+%Cw;3MJ`&bfsIn`%+kLypFRhvfS?aD=K9V^`04i2BfV%K z%n4-<=G~VjSeSHy6AtypZlid9FNIYYq$c}wj(3B|-O9%4jc>hlq~`e1RbeuX7g27M z!w|Aft03I2l6|-I?opU>cs>WuiRJtZ)VL<%+)>pENREzKtov=d(mrHRUqbGKX0!3Z zTRf7vu;idBKwf}h>reMZFnr+Kg6ITOosNOgf;FC}_I;tytp0t|Nkyq$=ae5fxa|dX zw19*49v*zE;_}D9*S^Z{naQxRYt5kc>4J=id|S-$>boMv+^wAA|L4t2QAo%E3Q{uA zVgn6T#`8 z&1MJh9KQ4pJKH^W3e`amQ85a|3hu%9v$4QBQ!#UYR;|^xNY{@#P;~uwaPp+QkC8i{ zBECsrRS2gEVST63dV-#Sn}kwjJXtc%`;|2a#fXCYC;M3pS2t4i#;&o8m;OJmi;9vZFpS%{lkb@-+ViUtPKl(uRrd;a z7}xBs_R z!XqU+QyvYIM39^|y5yKx&0)KI(@cGVV8;QGv39rO{V6`hn9Pq53_>d^&4W;8%kfJWZ`KCoNQs3{)yGx*nkRUOwc8*L3M+BWn>wdU%3o@ue&};w!A@ z-E~&AKx|k`jgB8mFPWQ9>^`9HalY`V50mz!NftZ?QU5!`D{yI8#!#%mWl8o+UG z=|IPzZ<-TMCR!#$;c8A%CT-?TlNnv-1?SB+_F86kc0Y)>{H^1vfJH`sfnQan{nd^X zE_B;T_&t}seGX={`vx(hm!Ig!nti&ThInc{grE(i^y#>j(I#n)NeU;r?l&q_7ypH4 zi$12isIxaI{%2eHKX6ZP3??TmeFSz>mNj%d@Fbx%6$7gbmi@zn(q5NFV~#3S9`Xz+ zX)QN&I(*+JBkj6HQ_^eJ+UpcOK%}OD)w*35PpdFP5|9Sl6DQ;WLo*B3io ziN|&nKtdl7S|u%&nL0W7u?Z?&#|E1Hhytfn3%3<8!JG|K3tRiAkwoCJ>@1wIe`21y zN+?jyiko;?jdWp(K#cj8je?F~-!~nZGcz5v{lsUaQpz+lg@SfkzE(C>0TBXlk?u_b z{F6qEN!aGZPa~&4%(Rklw%fd7;FuzIH$NOa4CMtbQ$H!mQ>gAKP^g*?Z0j?Df=Ue# zD6c70so;c42Cwc^9q0@P9=S{rgQmNz?5-*1mI|dK1P1>!Qo>=BOc$aJ)_expowtuX zZFn$gq?8*r!#*Q`%II=o_s$!rV5RI#01#{I0u6F_b4fm?DlLyld0j`bmacayk5#-S zy}>T{aYX-7XRbf%-sdk}WWd#(Hp~pd@3%ZxHm>>Sp4u|M|N{ zAWV2=5z=rYve@Th8p}}1Le~#he<)S#`&3^eni!$uuyM=i{qrkd;NaK01S?keydCKX z;O18gU8*fnqO#ez#Asn>QUr9!@kl!li0EmHD^YLb5K3S<)i;gH@srpHhh1BICVhJ5 z!vkx-r<|#jom|g!s@+t2e`<@(71&O^nO)BLE^P|yE{_<)KPFckkC?tX7JM+#cxcGJY2Wsm?S6Zk`qTCX$Q6c( zzPuIxNpN1oh}dA+sHU?KK2Lfl+iEfA<_{5SGK}`LCIrWNg|Qg6^$Q3}XAKk~R3EU^ z$E%J6H68E^aGKcUdd@a?Hui0-FIk-C`T)D%K|OVSLTtJpjLHMk@)Rc~Q-8B#K<-yB z{I`M-U-Za9li#HA(=EOZ%uD?ba^OEet^YV4pYSl8%mK=;Xb)!wOp1o;)>y6d5l|bP zC({n+#^MHu1uj*FM%z@Qs-YwjKqn+RPId~`HvwHwwx}G!=uHX+f+D$dK#GbxhO zQ{2Jkq0pg$7Uxt%#YL_S&;4I~y=7FJQM4u;C=@8}6ff>tTw7Ww?(PuWCAe#`;_mJN zf;$vZ_o%}iKoK< zQHJ4&wu1~uw!aPvs!auRW{VO4O)iIg5Hx+sxmmbECD*7D(;|bMEpUO7Q2AJg5ptW( z2Ob-8T-=jAM!dP3T7*L|RooE)q)I(f(`o5eZVk}unC&}yEAC~)9^Te6FG_Rfo4CB$H&PAc>&Z?F@5 zLfwVGlUfKOR%(d4hcKUnkvKGbkJ@*Mg0Yp!9pX5kWg@qSg|~;Dm>xd@$JpAl#PEbo z!f(aQcp*bFeGu1uOq|vy8W_5>N?UIC-~Cnz@D}=k$Xw?>Z`skb(B8PT(m%HKU(sdz zaX1h$G`Bm424Qy?HS2mWM2mmCMs(W6m4I>76qb5aHmwiiXen9FJnS0YaOtR)?`;$2 zOj?KX^M-hU4F!(`K=`ic*w~eeE|DhFzN;p?z8#vErSDliaC#F`BF3KBl>>B_?=rue zAkPfX0C zQi?*EboitDxTf{9n90w%f`-C2^No^YM+^CW0s!3m(%-(Q9jy&b{#JGY?rN1HAkTTx zMX6{I0?eLqeV75K#KlJhb%`Js_RsXqXKEyYrrO<1DJ6N#bvQgZ$4PL8X5wHI;4jP= zqs0oFjH_8vlQm2143fd#w5h1Bf3%idAn>mJZpJ%;(rC>g73>o8MqaKti_gj$VZCk2 z^OXUbRlJ34%i!N3o7wx-t;YIV@NHi&fj5VF8e1QnuP{KpP{4%KZ=CzrcZ%^dP}$rx z2I(vHbmqmRF}}q4>G3GUe+J&AE;?gsBWJ2H>0hMv=U5`i)S(9a8z}~@qXca2)5}7F zC(}7EO-JbE;*1E3TmN~G;m2)NbVBqZG?Ra7A zqKM%G4J?xC~-DUH1yO@$ul&XO5wI!G>&P138$R+%m5H6@ICTAKG`M;3rdR9 zd*~SQ5?6o!W1!`6l%SdRGaQPn_zX_KB<^{hV#5g@15~?qx~(0SvlaNx4S0bJHR){K zzGR=vzZ>~t%aeibtdghjI-2ooC*>Ajy$2xo;v zQ=|)#Q4~QSGiwy$aQxYclV<*~jAq9=VuOH8Mq{%&@-k1_z^zKjeO)TqGousJ)gtD> zYDMPN#yi8+5OXEW8h6AOfw={pu2h9f&&XVu_(iOXnLQ`UH-=~fJ!=RZBfJvW@+(+h zy!eT}Wne%t(CMw`WE^Zz4~rhOiB?ITVrjNHFR*XlI$c;CHH)&nVj}fqU_82Td=6+$2!zYk$5p2c6w^8t9wn(mVFZm{lmpB-D{U4Cv|F(48)Kf8n z1^L`y0;q!0)G3wl#e*72VH3A=&KWFx6{)gLN0)xVT3m#Sp*gXk)LV2xsP+RCArb}o z{rpbAcP#1jE;DUpJp5H=+(bnzdIF^Myd-4bXd?gbM*IA=W(z5)wpXaJOJ8sRj0WbF zoM=$gX{J2N_og|=x@YTlS}$|S43<6!&1N{omRuOMwH(~$q}4>scYt9OJB`O>{iY$l+)_Bu(TYb>ml#q;-aW*z^1tH(XBHHJzaf_JY8wT zx9Q_-9xZZy?}Ok)BdjP8#~4P&H0=Y0Xy0XYZwjA#ZRB(|#iivR+)UP!3Ary4Db=Aw zTl2zSyWZ1oM$r}+2o;&&X_HLC@bNYq&p9R@aq}3STE0l#3K*1Y0MW2LKkjEGm(~5E z%fclkMQ8hyKe}SabaMW|Y4SS}p^-^h(F?;?5PRH`i$RV4-F)WBZ`vr^EySu!uH2S5 zV%hHm1zOK|L0Gpwr44AQitM*-u=l%3hj*22Bw`!y4}`#NA~PtT^H7>`9GI_0e z$)Weda$OV)|2m)LH#zcf9II%w(*T6X`qK%FwfnJ8e&wI^Jy@k12=L_vGTk7=AK8L5>C@}baD*IK_$?gDxlSXc1{cKvpZFaHh&E9L=Fqpid2Xt zrDS|^s^t81;1u1B5byYXU-`XJN+cu$0m!6L%rY9lNJSTuVnWPhKz$y-c=NuF!AjRM zMhAabg;dNWR>Y(E)N9X)L`=|f2k4dpZDEm$(t5;S5j+vz_gp!3_t3Zw@Al6XVr@7u6T^742TPL^}Y(f-|IzgWqCB?qFB!`0+oDGHYzQ zjic?0^%k+!E!Q6g8MG9oMsgmv>fMYsC~Zh@S`irrSGnf#hN=sxB|;utAYWNVnC9z} zZxsSe+SR3ZowsHNa?ti4K=^jP+=(&g`1I;` zb^A4*$%|qI%2bpo8Mc`{+4Q2AouO=q|6C0cX9O#_`{{Tq=Z}&PTX;V8R6KCA-I)@J zH5~{8R0x{u?%NQbIzz5l*KE=;9`&rIK69=GGwHRckIMyidW$(S0;NMl+4^OuKSgcO4FaS=cu_-e9+69hKCXryy`yFeR-2_h8!v zwI-~ZVZNPoHwCe9Oc@$qrB*dGeZO)@{gkvdlrvtI!*$`2GkIfG~H@^S8_V&SI+x4>zX%3&%eU=MGNcNz`t z23_5Qu~CU$94y}HcRe5un$)#M@lA$LM_aB!%% zap)NFd&H%nbK6sX`YZOxemnjbI*svz)-FiRGNE%g%nlOfC^B1~^lq~nXzcqBSN643;R)Q2Y7lcl>B&(3t2dHt{r%T-daPL&OMpH|oj<+1A zZ`$At!$xbXT!&O}*F3oG5@#M13UXtzXTr&MAp`Jp=D-O)YC7j&%p1Pzv5uA^_gl`< ze@Y z4X(Vu0TMMA^|;hq`z)0704c4gDbO}p-io#Jb>k7KjamU+rA@Y$Cc%%8xm^Pa3YxBc z1OLy1?@^2a&(-f<%sy2|w6IkLJ=K;)SbR4vb6DWY8UF>Na$(VQ%Kx|9u}!HOafI}@ zL&CTI{jIO-b%!{WuB?!Mo?0sK*A=0>mB^3kk^q_>d?I;-ba-yKZGby~29kyA*cX`2 z3<6D{;oG-@xdCiziRjtbokTGXUo|8_R?XAfwEro zgB(8AKwJI$I9d$5V0c6+%8AuTq`cY>wzHP`V}@oM zLpXvc$Y|1DF@Nm*r!qAJ$)+E2yLIB)-qKE-%+cX1O)OAJIR71merN9k)Uh7$V>zR) zcdCBlqx@}etluM*NgOj$7DBf+>*3X6de7K+yh+72OFyO| zPMTm1X1y)>-L?9ff43AadZ|#r%|u7H@B@oB1{ygQQG9~Hwrkh&qjIBmkZ!(+c6ANf z(uz+%_f2_JRhG98GklHnaQiV=la zAPXr=4s|q-mu~w+!N(FSfJ~(FyAv($o9xZO)s7$K-{jam8=z8a5A%9COVrD)imOiH8U-@$il{aAL?UlNVV`#koi z^3G(~2n0mELO__>B;qdT%z=T`8j{A5Nmi|RkxQeSg(;`_>+Vfr*1k5NeH=SuP;_%}2b)@(U+HU^>Pq0tXq;WR0F%{-*|qJr($;;tPvjL8ck@WN z+|5rB*X!ayXV1qt=c?4`<=0N*T~cg)HuN5AydCj>{c=x{k|W;7nt8j#Owx=?Uq8gA z@0qVl_94v8&F#VFOOK=rzZP|qpxsoCFK@K^DI%eP<7mU=AbiGcgmkN@eJGb}8*8rs%J4fiL8Vs?+r{ z@Z|rboVr%F8qema?h3Y}naY!H$9k!JWAjsSWbq$t)ofTdZQJQNRnTMy81N6XjKHIg zhDb9uoogZ@^FkCY8;o|X?qy^CqN;G8A2X&^u`DNQ9i0sKRU-v*80ZW6ErCgoPyBRnfLnOpqRnvYd$fa6&KB9Ox=d}Gq*WG{O))Y~DkV!+MQGWjq!ZA;P z*Qhn?kB^Bfmf3A$4L~cpXS&WJ@xV)2pnUh?Kib=o+^3c~ujPv%wnfdZi#R*ad_#fw zlkG~cQ?lkYv??D&B9W;Sw)AkAY?@rx?fOu8o@r5^GVGxC=Gs+96X^hn(oj zYL}!{eiNY_p#PrTYQZ&1PJ0dhDGyXU(=tKbI{nZx&#s4%b#ARgXvC$(Kk8L~Y%}9s zZRY6lb0ysf{*Z-8+fKsU_kEGjh02IK0!gDez9D-}Bc_ZD&2)rb2nuqY%1zEbxEav7 zoXmaaxyA|S8p#yq{i8N}>1o|kuiK%nWiG3MH>QwRW(X`s)l(H%Cco0(y8t6cSb z1oRQ7-RDNW=@|m8u72`SRM^ojmzLpz>me11Ub$LdbGz>$U#SB{-JJV>g!cN`C`1F+ z0GhM_Do#E^*0!GY$EIdLTE^{f)TyO)G7>vmtSEUvYEMF13?NCbMpwo|1+QPNLwuk3 z6J7ekjn0V0>Zv{_nkPGlcFzm!)tKY3*LH*0G+mA_skHWz1v_)Z^1lQx#xi}c+7Fpo zuKNe2*_!ALMA_6&Wz`a9epMD#@Nl)H~4;rz-a(3ijE*+u+5hyG!cB9yp8WCbVo{(Kn69?lZeNNkNx`8>wJM*ZI}(YK``1f z)g}>zV5zTTl%W?RfPKyYlShL^MjQBnO0W$0tF1^>{lf=RnfS(%$A3>sg3goNbE+Hl zOE%ptV1Y*qr90xg;r&$JrRMHyL%WswSRET%!rXX2IyTK$wB>hPQQF8M9m&<0ULRnB zf}Efq<^R6|?*C}@Fpg>Uf0WW&T?wr>IFC(XnV+h?$4cJ@SuekVt`+hm4?I|z`xC^C zO+$7CgL%<_%gr{au$mB4Po!-pa z;5%$~EF1Y%+e<|^o3DX+(qp{KV-p%qnB@SxguP;%=~|@$54=VASA1BGvw;l)CBZP2 zeh-!EB|a(y0ly0V^N7hDpaP?TbQ4A6&o8Q4+PfW3t#9DAe=;`E6F4Tf6-boE;^e9K z>18+tA{%~{zY!m&sM!m>lC`CKNI!3Xc|X<6E*-j2q77G3?2D2!HNZx<7GoBQqmkcB ztaPDLtLTVYi}GAi=$_sRGXi#BM5p;;Jp-P^VYZ~Vk*gWggGN)2$TgWO3JR3b=_g0-64+EF0Ye( zHmQF6jYwuTK&00*SA1unGVelJBv=pQTn)F?U1&n z-#{Q8u{RYZ&lvtWA}dfE8VOu5ZV@e6w(J1R^7!8rzWnjrA3y#f<>%^{(D%R7)d1eF^AOGJ~@PDa~vV0Ng zzU(hx{yuQLBS`EMY2o^_H*X3De4ocigm)SH&$W3lY|XdBe}frDnR64Wjf&ptLvqwT zLo!IHhg7l0%?~Q5>|GaH961m*bB72K9t&FxnB!jzGTQ82PKp52Yz~` z2GsW#MWVA%uMlMin$^*d^=`qI(VR$AI1{T`k)FSaduZPfo)DT4xT0u{e!=^+(V8b; zv8csL$1&cSTPCqQFXKb&$ZTY^uR#EMA)hn2ZMZM!Jt%T&t8&O60oasBSkf9^S60qtYU%t14mR+sC#dG%(SRMkcXhgQ&$y&%f%8N zhEFPgK{zG5k92|?t`P6H{%E5FMw#`*E;B=GmfQ8w$5G@ILm$-Dn@3bp2ZVJXn!wkj zhgV^YDGgPaSisL^0GI5O8k<{+-szdSAEU*W*xL=)MUa12h@>W1tSLzx1;l4ZAAga?p=zDv8*JX^vCl=24V86^fCSrf|c=9u$sdgM~u<^lI@d4)LQOcrTk@o-S zvBm$;Jav~l;hHrs;Kj%11hdh$k z^KszM_57?l4q0mqUzsKay@rW?k93|aC~K56DK2guei2wM{ltahgZECAlOnVWPgZ4V z$|<9Sl>^JDL^bk2yK<6#-ZWf&+0pat@YYnj4Zs(r$DSgzHm9>xjL3&iq5_RCF2HF( z<2+|No4Bequ|2nJ=G^D|)mV%(f=s1>$e5l(t}}Fhp*+ud44xVNS^bdWn4hXpK|}cP z-be<#hcO1w{l4utIwxe_#0KxULL}QxlX|p%MYugG5-S3%hR<)wvDvG$WdH2mYW}yp zPrykv*(j#$Z^oz4;3k!nKybA}B{R8S4$t8sL2@*H9u2i)*Rb#AMY6&NOO{j{IN>>L z8bW|tJlk>8_^Tx|B8{&e+}BQ|Z7Vcwwu+!U+hHs){yPQ4&*i0@yD{J+k9Wre%sSPs zXr)X6axtHNRHA(Tafnyp&CK<;Ugic#NnK>UtTDC{7x7ln;<*7_2F9Euk#q|v|A5!Y z*196#aA=T=D)tEMh!n#|_`|roA!t)QX0k}AKuu{*=I%aFXoo&$H?>cA694o%Z{T?( zok_GRRr**6my6h%QqPN793a~N@uIF{=dX_p<<)0I*}263Duw*tS|a}w3?_YuFno2< zh1t-O8`dHIvB7Vv&iuw`2lP%sa>6Al93S1G(fzpEjJYsxaSA}u#hZc%C_wN6aVbj^ zGQY_-AJr48jr{mXi15O(@D2kmXO+{_B`lA?x`Vp!=>|PE z84UJ4EeP#UQJX|)1GoNhMNAbk3F7=0Y@gXjp|&!q?wqWM)}f;PV~P1J+A0yLy2DHW z9WR`7F&fb8E9ngiR`lp#^vSVioV+8*+?c7003$KfzQdB8N-jm#f7L(Me^dmQXXYpN z)}t12G*pyf>iAc-vj}~)@Vo5mCmB=bpfaU0`X1vhuJ`yv$zTlJ#yxShIqd`f?7*|B4)yE+J?qg}wSHbfAa}>AAU>&H>C-J_3kEdo&I8+$>aKMy$G~l?Q}~=iEO1hi zvE=YZ_6^y(^DFr;P!6~L1RO#=YU$`cnnh{ZC0~!yaGXK@WM_DUvQN4Vx$dcE$ZCko z)Qb$uh1!T4THGSHw-L!DWK)MkVm9ufKR$I7_vH;01 z(%K^PwH;OSj_x%kX3{h1TnBj2I=StP3`#mDwn`ehii@rQM2mcyFZ(o!naU^ZDno33U^Q1;>I<63pPaE%jR z>J82Jlnl8!s1Vk?fXNRT$v~N8x(f~aWfSd4ZSCI$syHZ=kHPN5vPP`8Q1o=zhD6U0 z-rGxQB^DcJuuxaA!r@WPR_=hOn-Pc3~JVx{vMDYSLn~my&QEfR=7`*=-bQ>*@m#3p?}3@ zpfj(dB77;R_TP5$J`3M~yy{Qsn1;ac%dI>bRg>H1tr5Q>0ZeV5?a7)hLwOiWsz$QW zrA5A__4!pe+~Q#{M`!h2we#RY+Fzaf^y7nu_aafrQ?p(en2okOXDMrr5nUtlxfdgY z{7W}Sot?br+gbb0H66U%*~EJ{{0HSrrJA0I+Xlz0&?EBk8e_H^|J4P5x`rpG4u|~$ zUF*#M*~dytVJGeUX>m%TAZei8+HCu)8z{>{wx(^F0NfG{6ns|U@aexjU6td?CA7UB zwoizM!Sm>Zi^}5a*=~UHFfO`x(cA3U814YA*Q)>%ATPcR7g7XJfUXTcO1va7wdz*@ z+KU1K4py=w^j6R(SS`iwUSDH2tPMUrQG$b)qmCg;HpnI=ATE?xi2yomEyT9dGxEXy zdd`}UAQ3enT?Fuh<+HRSZWU*{ahsMw!UuDlxI{N z`6O~ctrmUdBx1Q6=H3u9AD6!(fan`Z%t4K|6-sS!s5L2t zEGM>$3c(NYBBvk3lhiaT%FnWJ-(wO}MQ|PeQQAm3l7jl!gPjb>Yg7uku-yqu*^>`- zVmhlxw5&xlbfaGEuxmKMx~3+Jnao~=Af+PIyI};jxi-V1;6AyHHTq*ZCgk;@Zf{AyJ2#o!sfJSY<&t+C9$+wku;JcB}o3>yCm#^O7# z#{acWWy*y^>~A2{Ke~681K(~f3}487j$;Q;9;&xUcKq)ttZ$pf4(NV0 z_*q%}owsvX{`HQv-B!96tZmSs9`&%z)eKgYe#LyAFC!BqK1*bO)5&BNIlu096zOcW zdi(oEa&{Rig7|b?>O?yNaw*`P++EL_2~y0TS?^HWFf>C#=oks-)`hBK;3$Y3d zt;`@>%p+(|T}Bc2|GaBBy5aq#yqb)CjtvaH47Nw9{C!IVz+pfiFK24C=%f2 zKBY&F(mZrAAu^D$a-3<1*nTIOcXedNYxsVxS4$7cG6j(b9|@Q5-uk;n#`qU$zxz&| zTG?8eX@y$uj)M-p)Vk03)2^Bp4HqGw$7%7d8LdJ;67A4P23CDy3d?7zZCw3TT;!85 zm$Uq9vVm`jJtY$HFV#QJbq4uIe!$_bKp z@IvX`pKc@9OVR`D;u>`ytucCol;UP_@vJ_4zTEiK%Eqj4bAlD8Njn((okP+45WQ?6 z&wn7SNK-twN+Z}@M>&n#1?k#qO(&L)1*^=PVO*dpFni>2miW-dd3ai5WD6wo^4I|p zkhbcMdqUKTn{SNqM*8|xGq3XVw0=z8O zyVAg|Ja4+Xx^Q`f_H1D54~UvY>9&K9@#>jB-D;BmLljRt+7D3E zSSm&N%J~{u&)`Z8%hLH<{Sn9hx1G0Z3n@FK?)&nx?B(v9vGnJGd$~Zlm#;51uhy#w z6TdX=_0${QcDm`k^(~%1cywgcygo-z?v&qVba&6~W4?J#*tfYJlZ*W!vT$}#0Cmw< z-ZA@&+GBPTiPjiC&hfS%J|8{$A0dIBFby$ts}pbVYy6=b4cT)rD?VzbmqGqxXiXPJ z<*Lv3k=OHFp_`fw7iICD^KM}dV{eSc=Q@V~%B$z;TN{eXMX7ZH|NOKuWO@hhk}kU8 zrvsRmQi$)%rJ&g6q^LciztMd$rsfHl#BgI{XZv_&A+YS5Al-jzPkWX$VA!{i=(US6 zgP$H4IS=Hzv^@|-W=|>_Vz&7DMQ=oEldpwi#~K=;ci+X*v&%7(zkt^f&yz>~c%;j= z@X2XBI`>OQkY2?|3(G~J!*#1+xwuG2a+GU3K2v`g%iVHuYWE1ZV_#>b#WNEf?Rq7! zb0s2||HFxLlSAvSbw6Now@n|s$;QU#+#2>y0+DXa4u-Px+MM?HsFBK%JJT){ek=L+ zHITYTsRyh#5Ly4>d6&q<1Rj?R2+u@ab)7UDjRH{3B=FmUPlwlFlA#ho*_*EX=5|pa z(F4FQ&XrKEVrR~v7_ri!73Xwhga&>4cj*q9E_Gc1g%=Y`bR9BvQHWQ`Nx`uW#G+~Z z%(pA!zhTMSuj4OOD5nOh<dlaun4BEy(kR@D$a&;qDpYQA1F+9uW%1!&FglYOn6JDp{vh~yO8LFRS* zbueJ7@FXf1mti8dWZ6mVvo3lM*$UWsY(g&kPOtD6d*NDy6ZoD|xVu>vI<{82c zb!mkgk4Aes z-=<}*3RqZp@T1TT{kfNHm?aEt}k@ zFk$GWwk-x>fmX_%f&$6FqFSd0V@s*($U>pqWkqhd_h0c6m<^w?+@?+w z4>oX=Ot4#D+f3}ximPs7_hUrbyL7nu&WF-ZHYN@<9E|iDo@RssNwS0ulO20K$gN(niQ-LmmQ;AIPBi16hIu=@u;!#-e zfv!Y?AlC70Zvm*(+PAnPtVBefWCli(zSycU(B$%c*-0z_Ot{>_?CCM2XLb|$s?+|M zZ^<^QK+aeEW&ZIGb-3+$385Xy-PJrOR?8R2XOzRAwi)JCAH%D~#`kOH4ok!+I`L+Y z%v!AWI6EsiSNH}detmowc5R$@NhnN8rvnXmH|^b$+!*76a)uNcxN=Z$^JE1 zOnEYy*vx%0w04_=aAR^SB7EG*P;|@MYgzTsV*w0 zcH(od_{&6C)boBfHQD3Pnnd+V<{$*q3!MEmDhk9}KzSQ;YtVLJHU z^oI3!w2QalL zG~*3HCUn$aqFEwwo}7SkphmuP-ijv ze8u>xS@qT7O7Q`zUZ$}u+#2xt zV~|BOEX9;uT1c~0luUTnv4$}BUj>O|Z2GU?$`ivqh*$1tgw7Xy-l=gXy?6aZzO9R7 zg|P$SwvSK$GU^zKAuMTSi}S@izym%NzE<7@^&1hR{J%clJ%yM`4};9bm0e}RKt~L} zIZ;IbJ@aLdAU%r{7MzH@esaBwDtIqHT=J#gS72%ieZF5`_wn1ryDW57=e&x1=NphA zv!qo(Us*r<5;}y<3gr*H>YXpOY;^JXZTQ_8L_gD@R-awe4#_}U(RO@oRs@ZT0vK*^EGONkkl%Mu>3}5PbAqC)RBR47_gRadUyuVvzQ}=a#LW>s zsAZ*DxT1I}v8k`ND>tkiy01*44%ASj!g({T7G-#@~yd>ffe$gb%mFiH%tKF?afuM zE$V-zf1YF`L(w0cHJQ<=mgNgW!lkg919qL@gXtf|I?P!A1Eh zBH7u+0ZJZTEbQ+`pg=R@B?H6s+c!VIgPioMv&r$y=JU?A0TB!Lb-U8n$xipPm+_h; z9T~RbP9`|>%{qr%=atfDHJ|ed>a(V1CRXj-*QW!}-5-kis@L$<`V-NA3HgC5kCm8m zt#c$kVvJG`y3UUqS0ra-8)F| zoEq`7W7%J2QKNKtT8%&MTaM~`*QYKmQIMWySSX%9|F#0% z<%-=bJh_l7JJtAYQ{^&vdx@8eB=)#ZmA7O14NXA{&sE*d{m#xd+V`nvVtu;zyKcrF ztEe!AASVhwZgZ?8`p@3qR;Rz7qp;sMTe%O!ypq3cQjeZ(7%c0WgY?g0eV>XluMIKJ zmN08t{Jmya@0O+S0`KKypwjUF`N%Q`)=vtKRfxS_DvoEOOd%PkpW9!OALV8)CANOl zbbj>|n&PziqjI@l#iZ8Mf9F-HFIztM^08AN`(e($lJj_U$$3uGxp+&N&!;DQEgmz? z@$T(vsHN@?K3itGt3|F~M*GR{EB(SQ)tkz7NDhe%esX1tisz!4L?O695#-vB9`mbx zbhrg0wxvpVdo?#&t{TL3NB_BF@uV1LGQT;f?pX5+dZeaz2 zER|)-39y^TR1NTR37LbeS3j1ry%DK$8(MdkgLdawH1+EZT#Anvn_aFX-Iox>T=?{F znVWA0#ahxwSiwAnw;(vg^dtylb~yL4#z2Kcr&Do?nAC3%BGqoZL6XT&DLxDo`z*Tx zrwxCrDk35x{M2D)I7N|tJY0_XzMpoIy*@rX49L4Lq074u5TnRg^eelMtae_vzKM*U z**9lD?Y0}K|Mk^n2L^=83+bG>AtkNGyN|A3(KDTGCez+Q$1=|vP@hp(`eK>drAXJv zmOu3x>MuLe=Po!d)Ht->tmxPeq`A2BbGYE%jjryzRc(jux0L#A`dgoQci-AwLi%O@ zsuU9ivEmP}u06mVX8#jn50@fSB|u|oH#C@WJkXnW?QSjDD!E>N9kfs*W1n5m(zX#}5k0>@;}Y_ktw zUwt&$4#{_E1MbDDlVM`x5uN@<;Dr%{$KU2bSN5$!$6g+P3N3OM26(qQuQM`j=9^X* z{Py7{t2L8WnaLL@*Z`DMbFC7Bx6=^s-!JC5LhZ=SwZTyD?GWiq7mSzl2x|L1t-Gf& z)AfD-xJ~|t+i&nW{;GF%l@8XetU|hN=Si!|?vtx76xvS17D@q}8#b182V3r%PglnU z(2O&tm{9KvZ1?e1}a(0#cnAgT-r;-2D*eqR?io8e#Q6*}FsS|Q+>r9SGNXusi@ z3s0@-=u+b~bd2QG=IE?>iuA5xhzu%(tXIYJ40_nNz*q`aYxa6rf6T2X!Dy{nTZNn> z@1J$KGq;zD6`f#c&A*VMg8umX0jMuuoKyV9H}mZnRpnD*&KqKT_Uqe2Lw7@!uaKE5 z@|jBZE0Kk-BAsU_TlacnJL@xWi4I=ob0QCc_2*Ip{{SlvufP2%IOi8ci(P6M{WL|? zhTiflK1{~AfMPqWRL9nCHWS*zCprDZTVf^;__JNj^`}r_?A;^G^2K^7A7KNe62ILi z0p+28<6)nQ$vi12wGw75X2@ z(%PW>-o0m&#Dhz?xc+kjTu8Z1g7>(bqDvRwIguRMk6j8@$=TpRAe9}Pdycb#r;x&M zG(}opCwtnIYU_*TA52CVn0y&vUprP`KpvGty)RoIjbnvNPtP+40b5DP4Z&+c8G;%g z$u-FXCBIBUQu?S1?Jc#QzJHXpE@erxxIpWni_^gA0sN@D-pEll3@k}_|G*rS8Xz}{ ziHW)5Mz^Vp|IBnS4G~0ZDP-#@2{)G<|LjUsAVN)iZKi*UV$g{2Hz4oJJnc=?EDjzu z4+2YI$regjn{L23>9TeS+#7%k&U|7J9FTA;K~W`Wr~CHL%G5Bxgm+IlGvzy3k&gr@ zF%~pPB5uBFC{*$GK9Z>k^p=A81mabmi93QQ-x$;GqjiTjyFE#9RC|zcFO5ECH z{oG61w>wl<$M>1_>YFBbENBSfbbzS$uJ+5De7=CP3YAjTVHFnc?$W0X%D%YV%aw=X z*ARg#Uyyw_Qu;ICA{~~^{3bY-%d+yVWL?TWoN)8cD-$U7tm+E=4oLTV+cD{ud9`=d^!aUNt7=6S6AhU zHfPKatMHv35s!Zy%%}dM`19=M+yndz^)0>YR=ur&T+QsMO|-T7y70n&TFd1WZ%%g2 zJX~;FHBVm;#$GJW=W4uPHtO0zW~siM{mXksT{~v6)orPy-8QD2z~^PCCUBweEmB!p4L@Rte5;>A?d;^-I}XBZ zjXa*P_PPk^(Ix!!%gn$6-K}*D}=J^l0mlEt3xCMh+UnnYZQX0~2QrYl`Zn%PKf3>OurNHhI&G?ecCZGl>e`335EG zZDd*X9op08{L72DeR zoq=1+N3N3LT8CDfPwaWRpn9igtptOApgCB-rW&JpO5$0$*4NaY!Q0-OxQ`fzDIO&r zg=Zp)9sURFSC8y&;I*A%s1!ie!?fo_fETs zHAHUi*hQ=*gs)ExUzBdIc9z4tg#I>dB6}XR8HW2K=Ssai)ME1t;hbBg1 zdbo>6Ce*#0Zb~5gJP{{Ajsx)mds8azE8rW(>F>A(ov-q&G818L6(7fHUIO@z8)(u} zl1FMzQ*!=hQVV{jLzfm=(Y!w6X__H(ydYcs6i&7`IH=KL18$kOTkp_*Aq2p)e2`2j zx=BF+Y7|EZd}jK|=n*kbOIa`cO&>mWrk_QVi|;cR6}sGKhMSI0Sk?i`5Dv#8rza;b z*{!JoO0aX1oDE~x%s{MDMYDHigIvq$EKPm`WCeNhUx zs-d+TRgpOOu0Ivct$Nlr=D#y323-Ny?a6%kOQykFvzp32R~0SNqncZR=!%hGDHJdY z;5=Y*AN**cl>!@mS|J#&&jh9M50afNZyTZYig=UXMTJ9#%2QD+pW$&1*un4c{$Nmn zxJUG8|39MMGOW$0*%}VP3l!G^2`y4I#ogU06e#XitXT12E$$wmxE6P};;zNr-5mli z&vVZCzH9%?uiV#OduG;JGov`V>uvfiiCE`h^4RRwn@uM@`rfhrXCs&SBGvEnlZi4i zyY)MJVm{&XrOeJrESz@uym&sTKPJ(_iY}zrvO(|?K4n||qVI^Rak)YHz;7^h z@q5EG3R)awScCAT=ZiCywq<3a{gVBIc8kV1&+}TCdGVLtXr$7S;@Jmlzow>to!7v* zwI^&VdJ$TeK9OwDS)<(dZFkUq^3mz23v$}s!OMLrMoI_BbG@P@;LaddDr^a@_W4k5WDYg&r^>lJZAD|tHc_A?)(0& zrpI@UAQ5(t=qpX^;^9dkQ{w$BWTc<1(+Bh%QS&@LtrJQBy$dUU)D+74w)z?LoStOM zgkiX-sn2esUF+aOCf4S1yLaeVXm z^+Nou@Lu$|osaGFCZYGeFx;)DO6OsB%%$V@(v*o?8+d9$!m{3PuA#w_w=z$Zo5URHHGR)A^&Md_#tc<1 z&arVN$u|P1`QZQBoBGG3jOkxr6$ejomx;O3=nv#zdS9)-X}abI$v-r&%|fgiBV?m1 z;?ae&>5C%481#!)A?D=Tt}X!%P=TtexIhbcH2mu-zo9=he0jn2h5L$A6S2+_q=MY> zHOd^?q{)Fs|D3cg9;HdlV`2_=0OYtsq8mIH$C1Jb$qCp zj6MTk!iq8v>lBk-=`rC6E15YOb_eSj=(^sdZN3K&C7B(XbF% zYIp3??&S0IFG|mL>R*10Roy<{t#@3%Kt{&*qQVH#qEFu2x|>~1BQTc)xuya*ndyb` z<1pF{{MT?=`b*&-tNl+@9U?VEK(8&)hex{Mne>Mc4(XNqRf>^UKX%KFWS{yH{A3+r z)4tp$xo-Eg9G(4uE*p)lF+crsJyKY}F>C%t1{RwW@#|&Yq@X&X@}mfS*%XHe+3?ypv{ zhdAmkx!S&f@n6&6>zES;=2rW?ye6GcDpN?rqTTj}cjeCXs$koJe&M5JJ%RN{A@v1s zMl(JC9k+)3O}4B1ReioAJBVRDKRQ-}tK==~39rxNTxg?lrqI$Sul?``ro!Im4R4#Q z*>SO5giGg>9I7nz7fd|^>U7U%aP_^WcU=y0NaBrd8IqWuM$ieda&#cI2n;E@FZT|u zQ%{%4CdvJ#0IJGuD?XGdEbRVxY zuXdynxRjn|*XXo0y5&?bvjEi?2)KF20&b$InYBvdNE++2+eTdu;yP&Hc>A&$uf3?r zbo|>%s|#V~E*x9lT4Q$WHn&k0SXU{W`zzggntc||SM$$W*2m!Te)LxO-YwE?1Chaz zKPxHTT{m*MtyrIhn|K;Ecvn{>jMG8jVPaHp@kf+;w7Br zvNpH<|K6K=YV;b>9fv+<+xqL)2$)?eZxQEIZdixh9v~Ar8vWfjbOjGvNk4Y4Z*>}b z6qkS)FA`jzjKu(0NxcVa?J;FxHSJi#{TN!<_*0&Sq)Y(#p zR6E`6{JJt%omu@guF@E-`)QARujLc%xrp71Iw4l+t0C8s1=wlECm$m#_-LPYiFG>) zOjw|PU5L5b5f1`A^=yM~pE)fi;tLI@pN&QeH{azEz_PE2^k4Ud-ThH8M+kTL`{l3) zdF1DNz*^QbmcdC24!rtFTc|k9K%OIiJQ)rBCDpRZS>7@d*)}+;-RoY|m)P@FmeY$#|5%%pNPCauaUamVon@l1^{R05soAU0o zrS;cQ!|mMXgJu?FC$$+LMh_E&S3pr=9?7fOV*)2mV~IpY<9PXA=R$Sk)|Oe9XIharX7KeW9x}9F1T!CK*yOa$z=so>=epQuEi4_)k zGZNX5K^0k8PlP71AXUu#`LXk8B9F4q%I%LXmKJ3+|M}Cb4kI4zon{Dq!^>)p5FvwZ zv(Qy_q=}6OhWxo!>4_Hya-I;UP^aSLJE{oKw2ZGCbPLn!HUF3V8jAje?$c^*V2tnj zaOU2K-wCq+&llVd^*m7(?EA?z#U=~>?=f7B>!3u0=>^&uN6n3?B4oR z{qx?=I`0Q1HH{+7FG}Xnu|Ghe=KaWO9+>u-btGIje{24X4KXR%9gztEre5>0R!D%2 z>1zQ*6oCoMIOuI@T?G+=WG1R4c7A-2ZvQ0Rm$6eZJRvQW_piucX(CnvBkso;@|$oB zaCJCQ9>*tnHf$D6l6R|pHfjdD&GS+3<_0R~!Etqq9iI)uZ}!4aQ-Ib$J%=~X_?zD6 zd~2g$vpU7F2mX3RkEItoW)5&Yg|jWI0y5S~uD|LrbQ9djSGsV-?zHX=`elfBxsKL0k#y$e@Z&a_48eluQ%1~A5N)c0k)N(%058IEqU3JLU*D5doU>{Ix#n=bIJ z&l$6rL^nozgn^yLn>OizvLO|shmf7aS^aim69t?AF08dPX?qGz+g@Y14e^Mk zD{%?}I|77?&8xm{PI`@=L%dm1O4M-)F<_kFPVWLE=D|C9K<>?ztMu?l6(c)RjbGGdHP3alAPx?jr zTTG;n2#HNJPoMCX1(aI4g>TvjF}j@_pMFgm_y_;``2(+w13T?Qg?#@Q+su>cqx^vy zMD5ymWy3rCA|My~8k={hW>lE`uS6eezq$+gd|T$ADk^s?>jS?#-otmXKS>Z`V753Z zr|JQ-w@CwPpkVw(ePJ1#;FD9KfAu&0mV#SO~Wznk$9p z_1j!`4-DF!N>||?WgeTGmQ_#<;n2X-+qkS3vEQCeY?vmBBC zFDZY_K)RvrPg7gq?dBNa%lb_u#F@${QDFD_I>Q2^AnegvG41kCUp(5AlEdUTRmoD+ z{f4WC`@AI_%bC&phfO`~Xjcz>u~PzWES_@;pG@%b1bjuuH7Kx}1wPOAH@q*vC%2S= zeln9z-|y_;_=Fr>$Q=h!sVj;zleDa1;(@7;_g*15hd2I`yQES6l-!FrNYL3IAm_&u zPz2!ovAf28RjwlGSsmM@3i_De%5RWG6AL1CL8uLN>5ZP)%~)Nv6JpyW6N%4<7y2O( z?PLGvJ81wyD{vRmv#c%hEw_08Ns zJ^t!Ri{cj0a@B*qEeSYtvzkGA4GZK|I=3t_K21q7m(00ptE?M|gzqCAG0}jSRO^SB z85Z&}#=K0q&&$ZL)}5fX*DSb|F+!7A65YY z&iHpZmIikJJ$}0}3LLs8rsK$1DPE(e){i`It>dSk>8Hj)HosoR+qr&uZ{VGq-8-)8 zKl~N3EY+P?+l%TWNzAsv<<`980av2kBjx>0WT0z1NZ2@2Uhq8XqeJWYQ$04EIf+v%XnVnPOS&tF7tA(Y+o>zAnzjnV9Gc4^sB2$L$lDsraP+`+U%{_`w ztdz%Fne(Xq{^!7zf%W9kMU9=jMoxJmn|?spWC?j(UEY%k@RMMF{OWL3%_lQHeTwzu z;UR={|ET2mn#h!l!1TLuYJZ*%RD63}Y3ym6hY(hlX!_`_IB+s9>+tCIjlB7RuL1`v zBG^UU{vZNf09?i7B7;pmPqakPUxLIek058nUCald!=+Q+ktp+Z$!9I}74a$=*oeZ`UUPAso6kP%*e52w zasJb0?U|kphs75zYQnn;YG;$;O26r}$G()YuwTOVNh6Ry>Ebsm9n{(AmT&*~jR=dh z{V~Nq)4V^RSXSp!yVz*D1_WWj>yMZCG~cpDR=)f*aZ1B#$PQN~Wio8wrf44Fy>ayYIq2Vi#GP8R z9iSST&LC%Xw(6ZYy|p{k9ut~vsGC>0G)&ue!BkA(ZL znxFnf-_G+GuUuSrgD%d8)-#{ah$dfS&}I_7>iw^a329(irqMKHy^kq5fQ7&`@W&nJ z9^3CtpYi)=YgkOWC-1@GdZ7VPr@YPJ+(^{?(PV4AadZf_oS{*@a~9CJRY7|^R}h^o z29eF;Syoa6Cshy61#VY=yy9cf^k^{rf$}DBw005lb)3}4l856_<_-l(5z z$Mb4!lK-*f+eTHuusvpA=xwFSx!8XpG>g$`e@0JEw>FWn+{(oMJUrYmF{&?POnH9k zR#sy)@nb6}$d>JTC2Q(OP#gPSUWs?-*WGizDpc^>_HgHj8S=v~GKEo4cZyo|PX#KoD zohR0rsXrp~GV=D9yscI?pZnAIJ|2JI6}Lg3rg|mflt3J3UTjB}zC)V zqaP}X=l&VPzx=o<>b)53wZnXw3)OjjiUvI?tc7EReR+Jo-ZK}m$zNeL^aQT<8F=xM zolUZCpYf_|ewLqnyQl0`M)G}1=v_df%@hh}Oo{%3(BU!(^YGJs7oVw?H*_HUnf0xd z!Ug9&C*&O%1Tnjc(H)f5Ftf4W<+ss^aB9Gk-j5Qx>#xb?C?xFdfuF?rOrpnq%M za}}uobC8M*a*&?xt#eD7A zkGVXnjpdsx(a_N-*QUo$XgK1L>dU_46d2iGE2MB1KbFwlL(d6A@IL{~!o}S0 zU9xTat`7SNb}>h?0O9hR;oasxp#JdM`xsjreadFrkKf$-#@I1hvAcK8Nlw8-*-~y# z6v-kxU_1r)|B+FjIcRW1cFy}i_MaeuYM$QR0&;H-NGqud!+`Mks)T$Otv_W1-MV%Y zLySb;X_@??a%I<{*{~$(-jSM?(1At{9J2S`zQeH!ee71#>VGbN6$Q}-_`etFJo?&L zgZ+yH7YvTh)NpAykm~DQ+PiCbN8C?Nrs@uhMg=8{sK!ca&sN!JClMg~%6*uc#xsN3 zn4CXikujE^1`G%1^;q5eMIUG;qb9~9n&TSwgA)d82?S`B5KPIgh7Tj6#%d!;c~hc9 zgb=gbK_qIBXi~6_Wn9~WP~4va8y%yY*api?c81u9&Giu6WPS)RShz=r_^qdao4nHA@YR#4bJv;_ zBm!Xzv(pyKBiv2Qhck_^-~RCn!tAx9$4k^1NtPOe!sZmQ%qr;9HUp^UP98x(WOVJF z&5szdTwluKx4}~#MW@9B;~pe%QQgLVIX+?pIMH$Xa%_EY;lhLzb@Qj^!o>9AN6vmG zsXYlf0h!hP%;BfUQgVn^M;H!g!Y1qMAaEd^tmFvmqShV0b!Imp^X`HN?Psv!P#bt8 z@`G8dy29!GPWa=5yT`jP2gFwTjjabn5c2LuTR7Cxon-U2PjZV53lL1j8~Z48YMfu>b|{b%%&|FXX3dHXbG5*)p+z- zzY)POtur;-30kXllAm1bhWxn_=hROq3flY~GpudW#)HZkMeEe8iUyQid-Y8nIEicL zU`fhIn_nuvf+IY~!vxQJqdKT5<-TY1+@!-P(iv*}# zt!b>e9!Gm$7_W7JL2;yBC5&xIfv7D?QjC-c9!aQQ!6Y<_*W6N0TmFx!66QbD+j zY?~V-o#J_k46}UxjA|uut78}HMAIQQP7;b}-~IgTYu8b~Ec=R+frfD#%>2ww8}`6K zC##7Onp6_8EB4Q*4Ck@Rz}OMapmV{kDWLOhtIll@rh&<>y%(HlU5-xEf;o_&=W)(h zS3E1PCk+)mdat?up>F*whZK*t{N=K@b8PqP&~E_$sb{Ck?8iZaB=^%k$IF%X{o!MI zjS7D!eoB4d%Ox>w)6g!kFgWOSsjWHK3F9$GadKQpWJ&*||-JFL{O2iUH^+E%Mh ze!S>}|A#K%yULl3-DT#mk!|tB+!)Nd3;2AbZ7j5^elAG8l;frRWU!=~mYHdtYp73| znjox>yS9oW=}WizpA5~(iOS9vuiw;MRSr+)zh{n4H2-@f?Bn9;-;Pq&^}nyP2NC4& zyGt<3;~RNERz}8BEX)eSLqU0*S`-QM4RtOmBGTsDY=Wa#pFT7A4l`LA$??Zo?qIbp z-D@JgjteLK@-9L6wepef?PID?J`2$*dZWJs2w|7uOGk-2vYGTWDoRO>I7AMZl@Q4< z&;W3YD&AZOqnaU@R#Eu={znLhVVJ&|BI|gQ8TCU}NG19OVdfOw2YDRn$ZL(PvrGj{ z9+{Y>Ow>=C6f3NdMNXe`)`CPTU2p2iEU(W3gxw|OQiP$EC2?H36t&ov$_bJ$2uHeT zt6%ymFf*0+8kv>G{2=zvr{M>ZL?A%Gakkj3S_dZPH_+vh0W;tVUPX!WY5dMM8DdiH z??r`2yts1>J+eg3&LP-HS(X5npWK7pE-Y}7X@7o#?@ey}jv1E!=$)5NUZ}zVmMKF8 zWLI7^wMsC#!XNEJbWzH1jX)Y*e-`g?ryUR`YKh2HuUxleva;gmSJ3J-9pUPpvHi2F zh1qhp8(h8DUa~r5T5>FM`+(rv_+;{%CPU}d(qZRICT$HL4-0zuCW#5IO4r&T&g@}h zHVD7Z>I!HhXVLJ4>xaMS;Rd6xi8VEQ<>2ZyY5sj#33D6~xp4N3IaN=DpNFwjm~H4g zi64=u^z4G6E5Tlrs^!)+(0C{qZ9fsnW};|4JcOQmk%s-~*;5&0exi2q zuP*v$2w(m|F0_LcMc>Kl#Aqj+*Ft7_O^QcD7w?|DpHfxW$=KVcPSJk=^s0IvlD&a{ z{o@`SkTR|TSq;kqowISlj$M@_M3r8bc*OL-vSRNp;zIVFSrMkrZ_$5Z(WAi5T?dUO z&H48^TgQermb{+-b?G63;h%-P3|I`>a+}F@9lxS7NrqBUKkMFC<|S`Dem+lQiY%BF zELy$gKE7@?Abx!H>M)WXn@(nmkgK^dv5ST3$zwj~NzUIruN-Ud1~KW9?2*nY+#=*7 zsbH)%>quPmG+~bmgM~h2IG>8M-Og*?2yrv3MG2#u-ry)K{Qj>Er6NPt&;SUtl*;~P z^?5MQ_-ib>{Q$aLV(%}jV39U4C@TVN2*%sI< z<8X+0UmI0ICG4FL?ER}Pxs@Mv{(}!V7ob|hb!zgA<1U=OVYDSbJ9tdt zWZEJ%b*XLMcClhX(Rx1G-L0C-ObGIBa>iyDz>du6(8SB^3P{m(BF((an^zU$G-Xru zZuqQTJQzTfZ%R8J0#dq!7YXulSctug3vN_lF&or#hZkN_%P7%l!`HB~D4 zj8AV!RwcU?!4I*O8n1QWroyVe2XLVJvMOez2Q0&tk$cr!9)XS68j9l0t6OsO&`Q!5 z4IstWYSIA^kHUxty*N8qE=Gx8SJUJMt+F~9JQqAeVv%%#X}^BfebmmOK6z{*Kuum9 zYe_3yk+`KLqq75%sFk_U8G-h;DC-~xcyy&t4Ur@rh8I5hi11TI4CWFLt zKjuU7qn=HYv(Jx0`0GO_{pt)M9{i#qH(Zt8g^Xckgh(-;6jor|Zd@DR@k% z#`L0pOKXbn|Gp=t#4iY2kj*KTP{D$=t^IMiJPgiaM_kJ&d>(4#+TQ$#T5G&g;k_|y zu|)64FT$__+C22m%HN&_H78QZ!O;!Q$7_>ju3sf!%g5M%inp;*F22md&)t?0Rg8P%3ZOg6zg${E{oR6sLcjs3^Ed0mXkAFsMF5|~) zuIDs__kh}kzAU|F(HMZDEhCUEVLHS)`Dxljg#`pzh`(a(QvUE==~33wy~=!NO#4sa z59f5rnqM;JG$QG@@Afgc4*?dvVKcc8)`Y5~;_Kr?@Qp6C;V%MzNN{9@h7e2Q@3|;U zUK=GQqdB7KnFki8<5z}?Bym*D*Y2uIMiiR&e=lCoA0#c>bKyHqwUj9SISMb~L}sX6 zNuDpd)PN|t{I;L07~Z;MW1Qk%Q5Im5WM_{n*Lc#F<5UCLBC_tMqFW`(c-Y-tc8%dy z1>V;sW9&qnUyhec0+K~F1R2BM9@T^K8+%d`|JR4Sq`-$h!sew-wHh4?jthDrmUlW~ z@SBKkusFMrZ2E$Il_dZz0%C?D0PX>C$*O@ZEjC{2WS&D(yt3ZLqXsWMR=3uYgIGnH znIQfAC?B0Zh$MLnO}v@=@d)#6Dq~}X_upK%wpahwj`7G?=4*xY?>`mNf?JiLk?(jv zX-EH%m&_9J_yxkpZmTvhI||R$Y6pYnX#RS;c2EA|H8zrdwlN1u1?%qMV+q7FvaDXO{=Pph=!uBxvyjqG z)J-k_T(kf5*sOP)q*UHKmOhE#b|=)0y5XgY`Ss)NLxK7-J0;tr{u%!7xYIAIn*{$2 zm7#|jrvd_-a5WYQ(VeD;Y!2+OF>X3~72Nz0D)^IkGfE12U+B=>2%5;d3W@@k2T_2c z8$qI}254Yz z`Sd9`faw}>Aq|5+A5JpS6vbaDJJ`ZjayO^#dV{qr9bW`!UD8=St{qlDVSzAx=PY zd{9VL*k?Y>0d!W%Lu?S1mP!Y|Jona z(JJ0tD!3YLP+L{aI;(P40$&Zvs$;1iiHo@7z@-5GAy{zeBGX zVgSf7U+2kZp!bVad0TewS4JEtFh=H0a5>(Yb_`P`l!Ce26NL4BcPFs_uAE;@OyN(J@>Z5)3O0_T=qhiF zfsF64{1I8*gikOJKKfd5Z4K@cd`GJw-_b%vk=wFh8b)%mlr@nu=gW>tN)Y~Zw+bgR zeV^@VlrMM{gbKY7xS6Z6TJL@(L=ljEE2#COeeM!Z$anxa zB4|a0RL1RF??qwAZo31pwS6A#(13Kg7DNN%mJ&1 z;uYOEOS_0KQ;k86r=ICww zmuec{RH1J-`zb^cBAE1pAm|H7Ef_9DqB{wEsOjZkV}}i>zxiUk(rUGfaERj6z2DK| z1^U8JhKbF^vV51?m}>R=qKr(COjBobgYx+Ue>>|Y)UoYl<#-zu2SVA$KySFd6J~6- z@czDVVgT}rX-6U6)J;8vQrtE#dQ6a~3iM|j;@na#1-VDAk*!2_T?sh6CK!qzsyPC8 zFZDRl`g4ouT0L(BQ@sT+zUw*5zuH1GPqIA;ZjAh2GP?*R)yE!*^|>FLQD25cwA%Q^ zEp&8{m2QdHdi!_R}s(aF29hxeZVHlhkQe-ZM3sVgTQY{s|}+x9!%54 zHlXnvR?tq-(t@%hQv`kDmL9>i6*tWF;}@YFoRCbD|6!w;LTMReOq732>P$ItN#Y`n)%in}e=4Vy&WssL8?Kr|>n>U_kUBLKd?LCNUaY8$VY-8Z z|B}=puP}K1nab9LIp4y%b4+1-cs9SrOWsmj!;OXReWOVJgN=xur`#3pUU7$trFotC zv_0|;)vwDQE|fd*=h#s-YVoQIZ7dN%Ax)IR(W;|aa9k#@`;F zI1Ua-AIs3t{Dgi_7kq*tkkIt7QcePpGN0zGV| z84#pBMd`{H>vYdXb93=}`HLu$vvO>~tQ)_8omh7){>#d&fFZq=Egl0mT8_%!WAv|p z&M-)SuKr1>C4%>D+TPEjf0;Lke9BL$Sz7tt4mYA(;?U81{Iy^t7l(aMgVccBHqO=77WnV-&pZB)sLbYCz!zJ8kdsz}M5! zI}Q>69b;~m^Xr>&(-@|XN6yIMkN$1k#@u+iK@Ik95r7p6|PWP`_+^5^y)CyIz0JNFH5FN@6s9=#j4=k|9rQ(NXQmybu5faU#G5({&x-IExh`b3t8hHT{n~7EK_5Ui{nm|uN z(~C??gLw}ggunfC`PNt=IuRj%4ezVPw3FT(d~iBfl}t(Mnj9tQ82&?Pni!(MQaYgE z=Ox#nFg(JJd>7-+1IAZ#$ceT@*#TG6t2qv*PAnkZ;aGW@I!`ml2`c~}F$czIA$ElS zj24m)KqV7~xE(T}j<^|2xk@V$xkZ2=2O@%&14A*eYP&^oyHJ@&iQhNcECG>2d)Zxd zs!WaQ;_Kp{PH}#-Og0Xjfnt|PZl(+a3s+yyX?djujK@+X!rT;|dva(LC~0g{C!2~B zBm5F|(boCm4~6y+>OoG2T5o_f2aNw*O*O#T(Pn?9q-k2u^LqQFEQsR7&O5c4J}Eu~iJNZw(Xnq@yWag+ z3g#-muOy_VV+MSb3B#*Chskm?8zj5H!e?`1<_oj58kf5irWU%H^x&VrIPJH7qr8q3 zdqJp3j<5y|C3=}o_JR5R35uM;ll@Yp%vrdaxK2$|%4s<{`_SJZ<)ru@?WpZTvDk14 zXy@)4pGF8Hv;eV5vI=MVZo2=5>D||jt^<%?*})zpQu%c?jpuB&3D)kdbMQD|-V=TeZ1!hEad za|4Q^!&;o3`NgX@(vU?ZX?iS|<;pedxF^Qw(Q25jPhvYl4{sb*e^38*`j2Evgg5;S z#vA;H6>C`}9U#^<;?13j_t<5i!c@7Y;1TNI*IvPq_e;Gg`s9clOD~kLM@<+_9}6yz zRA|8L)7np5*NP6g`k(ouL%E7_4Bwb~p(M@73J0^jnNIi*SBd4LB$mdhmB)59H!21# z;fM}dEKJi@|aE&H$s^&i|+=7kt95lAs1od0-*%R6OsuKyv_B82}l;Mt+r5JwqEIM(+Ok4AE zXS9VJ^=EW4nq?;pF4_mB54(p_F`@wbqEWCM@ekIhB0-J~uH<0(k^*$vTe$|o`?Fhw zpGsu4Fwc1thUO*BS2yLzZTfg|xz}#{V=5=&(m6KF0Xo`B*MIZ`dZ~JZJG@f20saan z_m!uc`V$A6(5g0)TR#=L=w~P4(q{ITIr!36%huDD0CRqlSBr`IIHQPqrNV;J{}Q-& zQ*j;oh%gWJPHJ6KX|d}JRYgNpv2c@Dlb8tLKifY$y$>!x!82xg{x3s>=2CXFn`|E- z>V7FAa#p%;OcTHKF-2=ps#Q=TC<-=gp5jFekK!{XM_5>|Gg$q2OTTg7AN&%|(4efY zLg3_hnE(q=YO+AksoAKdLnHy3dW;iuaFC+v-V_?3d<4pCTikA z%*q;T&Zav_baE|0VL{$Gqv2Rnak(=w{NYQz(=M&+-o)*XAj%*1L+xfm8dj#G4W*0r z&hL=fq#1??shx)ZA-uYNY|xBn#=F0KxoDc1=VBgyAWBHm$lo$vND2-@$LX$d5;d%% zX7>P?SNAxz-XsaKPXsDY&QZ@dBx^qXnY@*hnVv_dj0LRK|Ul9`D{q#rt&KyOr8K#3JhVK%@W4g?($X^@w>lAueP{kjbVg#!nE( zhPME^yPgs(vJS2F_OR-6W^N$Kd1@x=XfWBGQ3=!I@4_s*hg_AFwO zEZhs1=x}?XZ7n6gSz|5K6SzB!h|Q?;^UiqXmknY{SrUI3#l`@@VqxC}dw+KHRqJ?_ z%SWgFIcABhfkz#BV}wty4sSa88lVt^saUCOCs!e!Lo)B?ucX>Jo$a~Mv{mHMo_mui zhm&oI)03paM=32bn=kD$UKXEx0){D`mCwCp-&-zUzB!>e@_kMtxF(VgFOBJI*Y-whAikuSkYF|lGqV6A~^~J6Mv~4-HIfCUQo^U=VH;13^Cvi zed1PH_u34_SeL@V%0n09 z(eE_Cpc>|hZV5!EFY;@2)B~w;@+Q?-0KZ>A@rAdKz@L{D!LEv;?6nrSxp0&05W%}) z2~ZqcKFkXHb=HU@dUy^<9r=SQzU`h2p&|u$e}cI11+vJtVp2}vUSqoC9>@iV$mjv? z5J-ipv2H=*PlL)4bDHUPx2Hei>gtic-YpIU6 zFKAv|zjbzPJzPI&vMzT~i;Ig@`)B*LUE3vbOM4A)FQu1XxE%+CP38Xz0SzxGHKM7F zgMcrlNC37=hbR3&sAc%%WP-NYb4*Kw#FWJ`zQkLy%E2|Yw`^ES?10cy@mD4fSxKto z^W16PNxi0f!A(}9-9pg%oLG{>)*e)7&3G+jU{AJu-`=rq9GZ6_3#=zVC*XwbmcD%$gHmN$H`%pxHX$}-jv%y$ z952xT$K?L4KaB4PI|%x}FdVwcFCyJ_&YG#?#G&nW<*fMZMArpLNh3*`DU}3?W8hIY zpH>0%#{VD3md^GPPf6_gc`6g|n;eHk;sYVOZ721b(CFE0fJ))>XFVBwkJAwb+ zu&^k~j(pC)FC4V(>}R_-{&!zz;*qM*gDm>0u3ug}C`B0L@6aG9OkGWf|D(}a5T|BN zu*U_wiBRzNEqc}e#=r&lZz}8_gb_@EHhD4o-sVz$w-?`lFpM;S!YHdZCi>Jje_@<2 z+aj%LW%F~+!aVisZKWbYEljazh`-bx^JH|DmDN-dYg6;+3m!jA3~ugCIixzQ!IH=g z93--p=w%Ik5&^Sgl5e7~+U)-=Krznq?gD85fMlQvn-W>KSE#MANB#iwgRjAnU} z19t;?Taag2F7Xo(1O`tfmz(HQ;Neb&#J3U9KT{qO|4XZzI1``3MhmNZIe9SE3w6ll zYelLcxSw!eX%&k`9|JD?y7Qzb{$Hb#Eb#FU(hXDpG-9NozQ)ZNgEb5BFrH;M9jyrd zNH@6(UP22Kv%>qBA>RDRfoa`7fdMLt6-@sX3RZ5fh>4 zAQ^b*RPCGFrlNi1eWQEj_z~T4UU)H|ke=|M9JQ@2%}*edp7d+(Tgn6VNiPd+XfWfW zl{n*%WEy^?W#^C70lwt*TaU(ToT~u>3SD?u(#6uK7tbgSmOa;WHj5?@R!B9w{;mKc%|JOJL)W@rl-j!VZnbDP>H_({nlA*`w{+_J4*YuLCmpt+qaR`Zx zm`lI};o+EYz)p}w~A!q(HVoSQZcKc;cKyr&X#pave33^;8+_yL72bq8~GJMh%bVgWgbhHrGUf72Tm*s$qPhGINo05f>k5pwRdhUfJ7U)i{pQ>vAHiM;L4>^-F4;j@!)Z6bnr@7YH zEcLS+W!UyURv>473y>Bms$&jOmO-ufJ$8DvEtZa#zcZbXWYj`Abib58kldwYKzDrXTw&Cdhp6lY1)E#7&k=7+?&T5XC!V1@tSm=fu7Wf;t%l0JHuLQS-S; zRk#WHHCd;fGm1=^m)PPoghI{?Q$*P$GR0KAe}Vz?nN4R$UX`r)&(!c3=R1jP2rgD@ zqq=)Rt-c1qh4qNwzfnc*rpvJhQ2qMOwQA(BkzGQiQQ*nD4{P{rYXJhRw_F{T%*E}K zz1?FpLJ;}8){-J+pgI@j&Rh-406yN?BC=0tn=YFR+71?%>(&V~>6vfwv zq&-38h!#lo{Wo-ju zxnwQ0T8Wcofdu4VFE`z(bFQ!SmInO)cf=hjj^7fA9Xc} z?T}`pK~(lhdoY}wd063@jlG7UwtLphon#dTe4Wuxi2O{?_z7cY(|33>T7+mk&Jn1F z^gyapr<=dI0@}gB`67aMw}n8v_PST1MuOj9XA8a0E!GBgWgWvn+m~%YBcla{Ry*8} zLN$`Q%Ot=!KZcYQfM~!+DPj(=iuc{s(&0Trt(^paytV=qi>oaof`+`@Ph!U-zwu!W9IIN3~sb zkND7c808>B&d5jhv4oMT{ovDHVVkyb(aRlrX=+I81vlr*>*j$*$zyw0{+V*8S=|R6 z?pnzijiM*Ajo zvgK>`d`r%@67Q;krO1@HeL+~BGT*i<7KYsSep|V>1}XG3=tpCCcQp#`7) zyqO_+l=c7d^_Ed_JzE|qZoxGKcelpf-95OwL(t$5+`VxpxVwAf?jGC;?mX_gbKjf) zyjioly1Gw)=?~}BuDy5t#C>8tC|2qrNpOcoQB?NdN2yHYH6=on1H<`A%^_ykay7c% zT8tPSNlir%FWZ;sk03W$p*ji=nq3EBN`5h5Nb#Z;R!u{$VE^uHm2MS4j0Gn*NrEyC z^8=Wc%VbddNyJMlrb|Q4Rjr|gNh36*=@zCZ-ad1G;cx?2JN^!qWt-yCC_I{GAXlK3 zH3uCn@9lgI9=gGTQ*HI=rSmCR2)P9%PBOu=jgIY-6er|u$Mz=Ac`94$GzT^DV)S(RK z5}J{{PFgt{GByy4XgZ2x(~Zfd40JhYrnp*Bx*}RhJJm%+QF&>BJj$~FBnCcl-;A@` zd0=2*bcS-rl6}J4GD9;}7XQO8`QJVT(7*G&;+WTmYdxmrQh=$} zD1S>KH1%?X9~h`MYbCDfn zu>pLtgd~R)M;npE&%%uDz?AQlGTtBY%R<#{bY!;}zvXv16pNP%u$yVe$aP9kbpE{? ze9IMSIxld2hU6-w41t+uvs19EpR%3-4@%q1Q{c@=r~PV0x!fgxR0%yI+@~#hQ`;-Z##Dq=N?@(%qtadCZts%8xpjujcSNjd zf5I0J(?8Ux*&;hBI4AGW(YsL0Sz2{o#Zs>qr)sW<@UE)zB)5;pQ~hTTNS^iZleHlv zIn7{_AS*&8KT*210dS1=gxL0c_I!F++}UaaV_n}5g5OC!`IeK?v_aEyxO8R;%9sf4 z_4ItUDp{L^0zAAX6=MHKmg?WA>VM8&Qii2MlyGvlGeViYpHicGy*`*xuyJbf+@2Ds zMBt-{(Q-HLrT(2_jP4K#t8PM44Gb)TRI$*v@x{fX8c_7%D*77aF8T2~SA^$GbVTNR zk9}-*{rF%I8GIgUSujNW6@6vjgkU>H;5Z6j#ajxw0EAx=pb{|YhE9I}c4*QI@dvkd z%{0Pr9J;?6Ub0)$F0m(#N@P+PHS{2{^L zTc0m{dE+i=`84PPvAf%<|D3Znmmq3nt(Ujk-9>*a_r(m3Jq43Rl>3nV{Z5K9LFJP~ zSe{=930Q-i`hwVIIR36{?H?QPBe8@Nvg4{aeIfe%WLM8WJmPI_BFvaJ8i!9Y> zz!XO7ho37=y6n6?XilT0}3MTK+k)2G>JB@0(*EW^#s)#FFX#Q;;_h2j*c<`mo26%;=3jzd9m;rO$ZaiLo5FZ89| zFc2=egI>$Al=%z&Eayp1Kid_qf8)v~vE)R|;)@ab3#lCG{Kg>u>MiQLp3zkQ>6PQ%3ltqSTw~J`P!t3nR*p-@74#wc_$5AHo4#}PUJ(BA2i1% zolMe@7jG5${>USDgC19EHzd>GFy0g3pUCUpmP|L)=rCH@_H6CGKZw(662rf^ageLi z8jZ)<>f(Fv;-1=nv2*b$kx(jQWwHpxT12Z=Hf<2Fvs#Gx1J7RKU@tYty-BD286gXj z^&)$iFs~_OUHnk*%+0n#`iVn&Lv>qayMx?6Cfuu(FI1u!&L)ivPjEV`(CI5COm5u_ z)yh*feJ`|dW^w{UAQ}zHRA*(pmCr(hmO-lk)GF}j{TfRpRosYeQPO`2aQ$0`>z{Lt zqV(sDD;7qp{pK$vEday9;PBa5Nun&m!(jtAwbtpWGb{e%F9)tr$r-M|SOWx_7qPL7 ze3?%Y9KVhuE*c*k6Aer;F|n5-Vr9VT5!+1!6UKrBLRC6d$&fpOh>?+1lz9XsaD zuKn8XhrAm@mF@2U_ot^rkmP}cCV^e++UD`1eNY2SbLEy1<>7>t@c4m3vI!<3oP}tj zcB=O{5tZS5tSViK43^v;1xED30nphx)2BGR6m5bLP3F1ivSet=Q&{Xa?nn@Qr#lc$ zOT?|LnM*Jal)!lW&18O9r7P>02ViITq_y2fk@dVwwCrqb+?Vp@Eiv$oUM;ZH`~U5E z{j2Zw&zHXreH;xoDT6E&0#x7dPTco6Hb!Vh*$9D2fn198w6qjWXv!5vBWwFE05}jp zl3LmV{oebrAIC{COhn1-;-RZNisXhKu4{fIBpV=y?ue9=X6E8msxNj>hYzb14;!*8 z90SWE5Qkzo88o#`r7GDd*(3cVPc}E|1qzBCk6RYqFugTYE#6blVcMf%EakOSgZV0x zZElaQa79dYE~;{5Gn2HAeE(!JUN!u8`L-hqx|bP|f=z5h)X#Fuu;dx7wkGk=BgrQB^oMiQ+Iz^Z z)hc?e!|n@D>P3@#OK1B7B+<^0y?bznP7Gb!8*;PNMDj%&9V7N9Gxoyu7R~-{AE))S zs!MG(PgS8dQ*Lo?PPIyaf+(H+uC>^o4||3nCvCPciMS4-i{((kUse}$zy;t=Ga^m} zx2;yAa9AH&l2kyLh>OU&6iiUqMKRXzS@aj2fdRaG;XzIiU+pnKIK3vIIs3W5;a@6i z@Hy@Qei$I#TrkzY|JnZjmrw9!kI%DPi@>ceF(V9+kgrbAU(O^=SXM<8^2pP$)Ce4~AOWVom{Ls|TI30HYIO_y{de#| zjup4{N=V?U0TeJQh=Y3n%~oZVDklEgydc?IP%kV2HUYwh_A48GLI1ZHBb{#98Ce!EQ$ z`qfU08xenvn&r)p5_y}fvZo=k>i(|r{qEGz5TTKNwr43UGWf&4=tRTag#Pg2w z+F8wPhSmiU+HKAXQRc3On1N;6H2t9s1imsWE%8CD`aKs^ufbt}q9}PP|BZ0_H}my> z&S!e?nXZdkivhbay!OpJe~eIm$oeZ&{sEH}kcZ~9vcikg;*iSs0l-c@qOMD(r(uE1 zR~Ll~%31varcosUeMJ(zgcH7>R<5wfYdN429=!mP()sJK&V%Ii`GpgM=E80dkcB5zH+ zTW;*{)ct;Rf9#jqo1bD&SPc?*=9r8lz78!cwE;`*0MM!29(E-osYkb>CS&U)?%mD2 zC(EJjcX*sFU#4D))|#xc*jP*0pk2XDt#lW|i3JL}q#;> z8}b}&p#5PIgdI4iD@*0~K)2ZWSt!iY7rFhjH2CM$K~hf-aXswz-5T`SQ~Imzg@LqRtZ*$xLK2(%FY!=S$dEAT0p9U^Of~k zOg~)7^ZT+ecG|8s0qvN%K5`o9ox`xcAWM+Jn~XMoutWY?z7dH{4Q~<7k88V;c;bON z<9WGFLmFmN&7UPsJJ36&Vd{C>{tNdLADB##_NuwnTQU8ch4ig`id#j!feoSkbAJ_O zT3A##oW8w6>*Ai5`^b}^i%nJQXms`W3wxIm-WHOHrIYe^LjeZaMk`J}ZKpAfsvjAg z4z8*I3WvoK3d&wlVJR1jQVxLCURB4P-MW$F#*$vQbuz@WF2!_dSNRqY43Bxv%+<5K zLK+-1E<7p@&r^+1UdB`hZF)QoHXVovf+|lY3p<4V5WryhcOS92ny`m zT{6T;FU@1=;%-X_CsG2B+F1M=BM__orOe*oW3<2K|D_N?4$jF8y3H&mV-coT3=i|5H>Al4G4n|ejA00fPe^$zhtiFZIO&FX zPZ~zl)z~9aEla7RhBZc(#c*hq8%d>0n?l$J_eZahTupmin)i~;MZp$FC4pr2Cx!F_ zT3LMyh6>*IpOmC4DfbsZEjExO!vK>sb@D^}S|VUg*CQ~4Z>QAFBre^PEiAJj-dfza z0Uitv1%WkY`QrdJzRn3ECH$+^SzxW_U6uw9_ll;5;G^Uv61{a!WA+1G+H9x_LodGy z96(HnRAsu%)Z3hq(L>7k{*`Ems=_+CK9SKY%EpY{4T6xp2z)hZk<3i{>G5<Li$$3b7uq^?ee(RY$g_1&EL@|+i})`DNs$(frFp(a|1Gqg;%k-$ z+(F^~?RXSv>h41V=x|YIq2MzM{H1mrcrz-i^(tR|BRXqbU%=a%W2QrQemzx`I1BKE!42ZLfW+?m|IMj$Y=|dr23Q zrC8>l3-7;Q{R?Ht0m2+dkH^rx)=sS~mg^o1OrEW(s3(eppT_(xwp*7Ex34ff29c)z z)NSf#R!AGh%~%Y-hq)|ff*}QinsjWl!o~{@>|yOmA|~OIn=TirAvzTuLqbBq!-pLA zZ{~R?4~RzP8TGOoiFg_*ywuNN@gHw$Dk!lD^ekqzGGjnVj{ze|hBQs6Fh57BnSQQ( z&S2Fqp8$yaL5u@(_u8=t&MTbZ_PNnf=bCNsz_+y4&K&mq=@W}d`2lh8Qa7Ci5amGv zDw;=-uA!#GmTZ@*dR>&eVyz(!%sQ61)&vus5#G|9j{8I#2N{fRHq~#PYfTqCOKF>V zyAUa000ul(gpLAd4*fD%t|lnbV^-%m0gsllBq9ZIFPxse4zNNM7!Pf0yXJeIn;l*& zfHFaG>o?#vE4CXM&Xx#YLXjTlHsX(k4<8g$nQyw0x_)hh0dJd~fu==IRV;@PK#B>J zn~yo7*XiJ7p@Z3M*3$d`WBCMlN*Nl)h5PYSK#D_HPK1niVgc88Ffitvp8CcSHAZoY zKV`SBgMc)KV{zj6sqozChFHR~z&MoXs%c3jRVRPAPn0K>e-SCG(+R9fZ9|W+kZ8ID zohltJGe)BGKAI~FoCG%ty@@0IysG{Q+AQfeb{iN+wXQV2*FvNQjG3!batFo>;au8z zCj$qtD1WZ>zjmcar;ZkDY%FVVD*e}bfEu`0gz#(Mb->Evav(kk?U2mRk~hh&vDogD zi`Ga`rvB#ixlaRywhU7yo1S{1-bt2zE2>$4141OoulT3xxN>USfv66wA3}4o{%}T z3mZKPB>D0SSRd<4H~{a8?7qAVvZEv+6X3?Ppl7cNY?{-5c`f4{y> z?hzu!=)qQlf-XXIV^4+mf(w&+K@ZdF+bUw~%1x|*WS2F|kBx1o{g&!Kx`S0kig8nR z4@4OU91K7(SlXX>SoRTTaiRLY1n;SpfKkFie^yVMP!0Z7<7^tTM7_E`dpT(0#Q97? zG~7MKb`oC@vA!di1v##wqCr@i-|WCmE8Rgn(o2&i3X~E+X0E2<`S(ZC8>uMf)A<6c zA1CyLibK^1`({z*zN?Wt21Vyp>DIGVi`X5$jg;F0s#1XGL+vCKr;K1_LIJw_5H)llVW#$dbncH?%Wu( zB6!DaOA-eqIXk47_C!~n7e>7!itcgb9nFvNls$9ZtRY#mh2G4DL^fE9fQh)~tX>Vi z!khhwX?M5DKJ10T2`uEPMl16t%POzo9ACyjxkK7@A8L)!slw`9E<&QrQYCIzr%A^R z%LLYSUNy}VZG7i`vQ?@?@6iR!cwY(gSB41(*_%(rlRtuQ!xrCveKwVUMYub#28?ec z>d+?tAH_MUbS@Rhwx2IoQrs)GAG^B{UMgwDgECXR(4<-(H}ElP1gBU4phv;u=_%&R zR1^@7O$qKjDmrEcsH#gN{4(&#B{0=a6p|DkO*z39XNeYP|Fo2rM?nh+VIZI`^$`N@ zYZ4I3JX4@fLQ31=l@@UM((#W&O{aaxgA<|v^7sY7yME7|G`(7jn$4)u%hn^!-EcTU zb}fNjG#)Z6Iud=Y`wb%Dbk8faGEXBxXODnVJPCDp8Er$*te5yoHEQQiC| zd1T_^k3r6f#@pY+z%&HV-0F^YW6%PXF65b77Jy|6ECr%iquI2???)BX-Z;jMt;>Y6 z8>Arcff^d}11y2zcYN8&-q=2BGJH7)@}33=5E&UVuKkTzZSw#E;^xt5RjI=K+0Z1C zjje!^w;ZBr$Z;j;QF_sJ621~r!iCG)B|j^Zj@%~5?beD4S(!>3n67yvsI6trh+DQ0 zk;Q~$Ww?kHMgtX~B7t?i3M$F*4pC=kVKEx}^)CG>caJW&|9`cfbrs`EK~vcP_*t}- z7JIjC2(oL*Qah@nG$Tev%VTzCX!=kn8PYf{3dhI>7CN%Aq$L|Y^Z}~4q6AW^jN&4H zMAXuGmCkL>ptMm6I{=DJ$9(}T@LHJWIs`?26pTI~fl$c{!Q6E}4i*dsbgLaUN(U#M zB}_J#;q&vW7`I_ufCj@zke~v?C#XR2>oY9XwPSSGoI??ZK)u`j4#-YR%rG(p z4lx6AXm?yzU?)#>OiT>znzzyRD=W`J%}3IrJ7E=>@ON+;6`xJXiw>F`0zOx-Jz<&w zi>7feOHgElhi39N^otm87_=W;A1bJYBms_-%dJyh`hnNnkjRHtMUD0<>vp@P5D%{p-3D3kG|1=53B$A zehUMf1=+%Dq+A)4QV$m`ruj=Q1u=w%i$#&@~MkcNQx$c z_Jw2v@4y%#Yi!_$YBxjF{N;KJKa(1G$eJ__iq(Ww5gcWHRc`;n{1iy<+gPvguL_ws>gWUA180mV|oM&+Wi&tIt|?1Y^ve4q1Wk}7=OYI}InN@ODe zpW3!Elxf@yL}85~?SI=AF6v|%9YeQHE#0rOP~0a@5RT2uBzn~hLN8&vSW1(dkkUqP zTgr0z*6dqASr2{&?ui*o)VWg}Bay;m2G)>7X_h9&ZG_Kj;B6AJB*i4ktv+mi5OZZ> zYxTkw{wwD$19IyuK`|$J0)pP_-3aZyGVY1=^~F-c#TeoaK)TL8WYnvnV`dP0=uyFFsWh!slo)zR`pbNk#72s)G?EOA`rE z0`e;C>Y;d4!r%VhVeP1aDI~FOg-gUzv++V>*dVLIC}=MbEs7FYh76U`GDl$--$}zl zjOU{)YCe@=wqmwq{zzQoY+b$2fM%|Cb?;uwyGRh!J*v`iZR9-z6>M}8zFKku8JfZ5 zEq8%HCuDdlyl!C1QL2!I%`j#2&WXzg(bQX2`MGX2Wf-wRatKj?aT7Hi3I2uJ|@9+(A`@^qC+yIEPP z?^@teT5*A)8Zz?C_CR;;k})O}79zV;P-%r>w6G>TdKeZP0CJw?#*v_)N+F-&gGKd6 zwcH# zXmhC1i89gjpybp+^qws{cD8RHZhgu<>y=6EXP9y@i2dn+^tU=U?UmyGx|ot38sBr&cbxp;t*z}Q z=*D}{+{&0f8)26pUuyboK-b1Iqf41L-^a5cB@ywRkLPVq)oyBFAeaH?`B1U1!F#cg zL5;NZH4|OxI$KpNGM!}Pr}7|>_TR{de+!@dXZ}tK4;AP6x|>7%n}r^XjrN-uoAXn5 z5@qpOf00q?R9bFP0~4L7|F~JzK-;!?vOj+y-Adf`7ek0bz6K~$ga}$(LFMcOAc_s_ z6EqQv-eIoQcL+{!;2&BrK@_wi7OQCh%9SXgj}(~v4$YXP4^|U*m1_cn7BuQFF(NqM zK9!nbgqF!+o*v;4DR^;wpCZDubt*UI4Zp zfNl)9vDnM{QmBN=478erLlm!TTN(Dub;8D=eD#-el{ze#gwMiZ=JV$Ti{l=}!der@ zn@e~hl*ycOLO6^giWM||aRyZzEq@Pd_*JbrNyEw>OJ|hj!jS;mv!;G$Bq*SJu6>i< zKbUW%lcsKbQ}_6Bo&}$2s_xmF$ANNrtv$x zv|6B;ni^&Si!z4spAh)3K|{X=;NTEu49QsnL8Oq7tUWzvbF7`33vb<*?iZzPdU^|U zta|)&{BML6=bJ85{D-a0s|NfxSvMP3mrKtF@9*y|KP9Sf^i2ht*c&xAFmpJ>uw{yh7@D7dv*J zx`k}uySdgetS%-5^^al5h#p3Ivxk$3bSxYmj<_3_md1q09bUQ{Hcw~N=22UM0tmO! zCp}4+8?L1^4~S2TOUzuIusU4c&i}Q$_hUP0Ce8bj1E!s(K(_)4KH1AThq{)ys0R4* zCKypEckswz{~#IGb^Gvp#Fd4AG(l4MRt$*o%Yq~^B9nu#fTeYcY}>Jol)_xzG$c$~ zMnM9sO*e2>7B~Joui#1loRge#aZwaVtdsgm<(3~ma)KIBWj~y1?-Q zu|nEj3kec8L)x2|=yFtk&tyBFJwID-?{bT*!$$eE_0X!?X|qnB&{ZSJ_mH<$*6ip; zz)v(qcq8rO`$i@HG;AGo1?A!A)U&M1qof}{q&r85^A zNg+-BB?LJXt1oIbtTs0%M%I~q+Gib@;9qR@M^!Oc*t^Gdzfp}Hj_{}>Vf1N z?pj_W!>{SV0xfv>Y7fC6l)9B0e9qUGhYss*F>|5&DyHa_*h>V?>7~sLyU=PxoHE?$ zSC04dpZz70=b9)>=e|^#>+-38Vk>22A<%&gGvlMkqxY#krUOl9Qg%-6#!DU5Yi<34 zgcGAr^S|N3{Qoh|7z3yQik>5$sDfz<*~XP)==qH8kpixK!fKSi%xi60BSFSEP3|o4 zsJ@}B8QdinqIH-w0(wWkvXu^6LkA?^|CGd)i8R%;WcF#qf(C5Dh6-wW6}p&3SeO8< zE3rs{%vDd4R=D-a?ZKn)17DvGT$N)ZW}zwfa5n<0%fsCwkH}+-95md)&xvQGBB-BWUkM3$WkVq$qVuT0C4#qV9!d)Xknum^xa@2W7S9YHI zoz1{r2pJwwdW_nio@g0Od0x<@wRQIUzDKUv;^$utZ230b5nkgv1UW}ih!+;`j(v4c zYF=r3ai}+VJ>u2ayeH1*ZZ6=D!ccC8C%r8TDddaO+u(;?9fgdo-SQZ^sc`=YvTJEu zmYAc^7;=V4(uNjox6G(>K7D>UkIC8e$2~2d2;mIGDX@037mKg6M+E}u5jU<6SGio) zUKt!yWf1`+=;aPx_73dx;vLoF`6W z$Q?Kzg4U{2dueb(q+f18I(KIApnjf}v-_voy!)miq4P9(j+4*eMS11@gqLJ?0U#A(q4Q>Nu6xR&T+v$dpRq;=>KnXRyyr6=Q*ei9p;;b| zDkzosJIbk%ahpe=)EGovj1K%7v1CLXg*f?N_&T&|AYwlL4Tvf2D-H`68d+byz#k69 zBas=15gY`0jo+6!{DBxbB)c6*_)!Ibc=3&}sbxv&{yv7xlu4Rq{lsg`KOulH;|SRK z{5d5u1f|PJqM&Fl$$%j&*Vc{UK^UdS@n%Bc(Mz9OM0E#9jH*LmpS)m=Z;f-+JwAN* z$aE#<0lrd$TW@XH-$&|CpVb=2kmaz>c|g1UkXK4M+8bAJl`=L{lbNjMcifd8$syRv za`*78#|mGaACEVBrYg3z8?=A~cQ;oNj})Ju7M_tCp+_Sx4&At<7}B1!yPHfQp$XE1 z%(B=%M@PC5rz;kpdu(te*CVx#=cAK`u5(K?2}DDLuTz3&gw*);kwp7t6_IG&rd4w9 za0OiL=MYDWX9R~26eJ2mrT$38bv)i-=J(W zc993G1ySzNFL1l|xjYGQ;YUK=-l04LCUEZ1;t3OVEZMa?e&b2RD zbeix4{38y1h9y&|d=TI6`WR}!2+b}Dh9_EJq_j7xZ}<}GAWlA_Ndw;EH&ZC`LUSwy z%Kck)$}jms&Mcw)x}nfw>(wa#76ZQ+f*)t~wzjt8FfcH-!!hTC>Mh2D2y1no ztYR8ys$oV&s>gTNhHR-PAGsJ?R9I9f&&-b=}F`4Fs z^C+5QGA3Vs+CkQcsM&KxO<_i2F7jdk)hX{sBJSk$t|hClcCH?_voqkNX; z&IO&{hG*#>iY-I~Tz$(UDWwUH_Ax|_K;npS-_dc1*o`i83ImU=?Z&_BnKF~RtsC5V zga$g;tInC9W`k=t=+%(1gBmzMCp=nAk2fd6?4SpLyRyD!O_cv4X#DH@RZN85V=`)y z+gToT`=8k2?v{NW0bc8FT@3mIr%)X0O9}vMi)x3IsRFnKw!6>8s?*Cgl95kb>W9Y2 z`3wr5=0K&$MWq)8Jyno4N@hE_IN!h_WtO)VMgRX&^|ezu>piM1r`# zI<6-?3HmQxs61kDivV)-1umr5c=qO%GG6;y zhS&|*(pCae)=cW`W&}LVBe7Xxv9T&$&xT6AJ*OtCU5T|eSGq})#kDn)mug+3Sb=Nm zX9RGLHrzwqpaB8Y*tqy2+TutTf(D3S>O~R6Q*Yx@mKSZY1J9aJ_J-`D&}B49!3ku~ zSC+7O`V|ute)9}M9lM|)l-2uan+gcwOw#;#MD&U=EqO^tU$1OurJvIrNpYJFVeHFw zJduuZeld!|lL0?|V{?XT>O(fgcf;0w`?Q@e9vFBs{_D;aT;wJnBy(-|m+K>rfAEE( zyK>>DL!vD8c2_?0!M9Y~`g8^=)JbVB*SxX3zb}1ZvWj8@LqP9PCN2&$Ogi34CmyB_ zV>x`C`uFF6R;o|1YysQ8&m*oRpzg`YcCRpOcdq zF=FzV%|L{lA{^$2<&C{@GPVzQT(whXTIM~}-bd94>gLl!KM|NKSV5LUP=}vkPr!UQ z*Vql;E4Y~tfayD_2z&6fT$JXT*~kpJG=)}3oxidyfG{N+4-a`Hx@{4YJXgl!OqCy<2+dh(at z?n1*`*1-vlv()dMTrYs9TdWOaz<7~e#VM>3BvT9zSW1M4y zll3M&BS4uW#7m=1oDPOfsT=}2NLl#>Vv%FD%xu3v;s2sed{07Ehs!&UuL$B2d;x#@ z^%Lx`|5=&jBR7*SWVh)inE*IG(g`Cb>g_5c+s&}q($o?W^x^kcy*K9&6Zi9^+EVH2 zj)x~|k{xvjpjO~fQKsoF(^B$YS`g-*kH%e?)_te}%IHA)fa%zT80DqAx8x%c2D&=x z##o<=g8J*HSoyg5od;1q)_M+9(BjjEPxa@u*L)0SMS!`yK zi{*94>g>~D!l21jr%&&rX^z)+e|E&j*U-mWb2GS+SSg0D#_&*}`h7TkjqCoSquzMy zZ7ZU3BW^XNcYclg+JC_8;;$r|_n3!LVjsEWcv$C&@+%s?lpR{f^6ov;@|PU_hD5)t zoi};pzT)FBxmUZou@4h`+-Z*>JalHPGuJna;aaS>uBTM2m%$+Qb{C{~aVxe)6BL@| zL_*D)!_T(~vi%IWgVUkn>u}yBN&EALP5BG%cbWfa0l0AvjZ(lN>%=c7qR=fTqWyYV zHxTuB9blBV#@ymf&^_Jv89nxfL?qExi1Z%0_DxO;3=lWBd+)$+peuX*`GNVfK(xu{ z)I9YkKY!=)mRS~m& z!Xj^)!$Xa11lizswHvA#m2pEq;WUh4C89yNG}+*si2 z)l79%j#1B>(*kbZc6hRMtLtkK|2$`TvEWo9?JMeU8d>m%;&>Q8_1&4hyx#2;`#=|? z8pLIYyizaTdk^myG`b2?5#kEG9bh2b<2anv5t2jOXi)oYy~N(hT~3@hBKqCjR~6%K zyHf&aSXPG9kh1G8W&OC6+m!X+X9S}}esJ*qT)t14<2j2iaqf&=bk#m@eTXmX{B(*} zb@qZ7*x5gHT}{Y7pju|hT(uEgNM~ma^E+Y4x?fs~S|j+1GG@?OH0FD{JR$-RWav=O z$$8n!_jzp0VwBWb7^$bq;mqN9dbe_|Xo~!2K_1p)i}9JfWV-8vhxeAwX2tpQFSdpO zN6|b(XbyC5YSW1U7+HTCVQI+F!jG}Z-Qp6a2jK?cf04{fU6f?V5)-P@C28g9ukWFU z4*wP7!zLfkz-qu%VkN||DLQd(Cr@>?Mu z#PapB-)fp@viF9vF|Z%Ryc&q%JNTX>@IGDb`-$b}vp6k4(T*?`%$(Jcm(;sfCxKG! zaIYPZl5nI}E>6IeiJ%_yHfpe{)bZE~C_T~@Oi)S8uTToC2jO)>EH(@rHXvYQ>6(by z0uqwoO{g8RSV%d8*3_y3iNn28-&eE8riN0LBXbB9&D4B+W}Z^zHlxu{ys z@n%V5^)@)yxkMTXSS0~GZE(}zkUSGzUN)IUQf_KTlwbEWs@<=W8yLYyejjDlhkgQ5M;=X(s6d&J zDD80^Mw}iqNVg)su&~AY`XY$y;aaBXKS_P}<$kMXk$9$*?-F0D`}I%{otS|VDl|XRAWS-E;Qf2ei*MfZv3f@I(i-84B9i_p!+;w{6|XlnPH{T z{VS`&BXz+PL>&W(Z3Gx!}zO%F^_k4mO0y&~-yhm!R=Ov{-*Q*|9q z&1SZUscS1;-0x}yoImDuv7T9oWjH*f>#|~WS9=or9!zoZ1zw4n;tP;!V3yzxj{jB0 z+o+x4sL->^SQ3nC#1FMoc3>(tVH#|UrL%n^k<_}ZgH*~;J>=B`)wM!wngq#yhDF<| zyXYVVep$~Whp=f=P7k(br|%eks2Vg~kGx4}t{w!dwJUD6p39@6rzDWD%ySOEDq9_r zD|LKg)#If~v~fkqUN^X~2Pp9N*$n0WBB3+{{gxr}=6G+YgUg}9xgV`oMY9VuOS1Vz z`q?M$X9>Po8cjMfD?$vxUl5xx8Re02&pK^L=fmY3@YImIMp_LRc} z@|9ffqU`GyVu(|oItoIUKZL$``shtx>q3PtS>Y@q#n>rP&=P4q#o)Lt zUuNm1THUP`zQ+WfV}YJK?5Nj!o-9FbVRG3tTO}x+#d8X8Nc!_$BVUB<_ua3GW&c*I zctrm~Yn}Re=_sG#B>0PTECV$l9mmG+heRm<$74Q0@bO4FF=e->>|obZBC&g?KtAqP z#PR9V^@G&cn<9E6#Aen%H&|2j&q?;?0|#oC-LGz_X6sX8QaK+%;dS(aF&&^nLo;&o zGcq#lYOZdZ1h^u(Vm0%f+rNrkrS%+xzO2RXA4ufvB@^{=6L+b%4N;7DGDwPkzWZq# z{>R(&rtZg|_FAQq*ghwGPriqXb$a*F&tFSiDnZ8-Q`FB%x8UodAFl2TC6k;HOA_%< zWc1)Ypy}^io17#O*8?Vf4Q>joAJ2Zt=al4C5x*V)m&fM6l&iX7(I)z8|Gq1s{j=IY z4QLf1ju>a%dWXit+xPN=js=}*Em}lkGX>C?ic$JrCV7#ppmzR(lZZg|;$TWrVsvi- zzbD7Gw=ln`sF8`9{sE5ZzRh06A}u@uVs64Ae9cn-$Wqt|;%5Z3=43YnAN81eXCT?> zMINs_tTiFo*m?gz&9;L=i~7B`5Q?}yMq(b@AR5cFsZ#L)`g=>SE%pGj0;wE1#hBai z(#kT>Rj3m!i)<37NF3>b~n`?PIM$=5;oC_@ZkO zt6-}BsPomXK#`_E;+Vk1i0JxFXbnS*@}#w7p!^Fj;jj)ADZ@G>mv1^Lt1ikzn6CkV z1$kKIHcZ9#A*_Gh!=s7=>qsR>KPDsaLv)8da3Hwnccl%kgWFlrEv3DLfU`7|eSq&U z$F&K0q2j!SXuuab(d-xDF4q&P4*~J`@UkuedVT&8tU{a8FbZsZwt2Qm10z9}=*+hm zX#xlI`4X`MpmOKYbm!SNv|k zyiUBBQo7G)A`m_;t4O^nZXy3F>bN>c)?@<3saWOsd_R|?^kI^jlb@X$7OfnmyLQu1 zqCn^(@EnVN6-sp6E03)JvK&bK=n!apD?)X_dAk@8s5@xF8lU)&c^@HxD7!8Ski-E>MEKH}{%dmnhN6jgHV(Ee0KI0#M$hN7 zw}zZ9F{R zJ2C_$X%R$xIQ4iHMP#LgG*KW6+SBkLE)CmXov_(~rKBjqwft=tvV@n~ey`RrIU-%R zaRqU6c@2qpT;EjHbYX&4?;YURISqo%&z45laFavJ(vTZpAUmL02vx-1m_Z_<07})r ze9)}Pqnqrk#w6Q%_tzi?L_FwhM>gf$LK=2)DtO$~&7}$r1Zp@sd$r|KW?3bK=ux=O zK^f(;FRgYuDj2{tm=|Hi7a&7zt}rl*t?HU+;`@;i?GOqY5aL44jwPk*E$FdYkELNxOfqEcyV=m_%8wgfj_7_M^ zlPj&q82fU&$_(g6K|=QYc#BNdBf{x8dx#RFq@dZSsb=VALUij#M|gkxvc$H1`12Mw zfvjlR)W^Qpwc~Fa(e?%e4v(^j)mOEV?-=L!XC4cf0|q@OwD2rN9;-^2BM zgx|FHm+Hx>^d&!dSNEWv_7PfmnE*FhL#>xYEQ%s9HaZSY{kJvG}KiB@t7Ns}~F#SvL`TEU#1{Q^w|)LAp4!pYY}!H|`p7 zVrQK7Y5j&zs7HE%%;DXx)Jiq6lqkG<0A&wzv~*$9Iz}jjY@1VMk%D0`Gy@Jn;D-P-zV#z>_szniG)fo@)CciXxHf zW#`CM+l3{$93aUDzowb{Od1Qf7i@65n7Ga?GHr%86{&K`x`*}LTN%~0d*5PTr1|43 zKIfh(7GJ!fh3Q&urNK-0{c@1t(6`U$S@j83qL*ehGbOsrGRg)^8xZD(CXWEr>{(6T zJJ`JsDS5!$-&C-f^EQ8vH`(^g4~|0f!B{nXNaG>!xwqQEaGTtOJ&gQGbp?Baj>&LA z=6m2H>IAZs!|`Wm+ksDWeo2o(c?lAON`cAiffLs!?;fU6RBle%AW~1$bUqDR6oU8ZdC|iL?p&DR-5o7bs-$6QV|jfc|MBO$ zeaj9^^}^QHR@ptHT}~<*aBBGWl-h?nof=sOOJOiN+`{*vS@wRIsa%$uaE>v4r0H6# zs9K!zu8ThLS@5mK*6(J6n7SL;>RusC(0u0LIdSW;zD>+TZTDk?h#qUH#Wch=1;+qj zJl-nsligEg&t%w7H z-sT>R@-KIu0XkW!1EJsNUIF4oHGnb zF&Ch`H9ZNp!&E+3pMQyPB(0@?Oj+Iem?g1B23$mJ0K=@s-!!=zs;E1h$#M?-slAWT z4oERbtPcFSBF=_nvpJ4+YPXTzAvei>D~~`bVj?%zkF#?I&yplvJ~B?+P@Er^sDG~2 z!WMEE^NW}vmbUwQ!i0zjkzEG4*$zzU?u~JF2c+?M!Rt6Wtb$4|i0uKAr{;I0;*W6N z7S7^}Y5hcmE=o8hm-c(LtsY&h4-~dtVPe*X9E1@=bQ}DN%kHy_) zj)RC*gNL5~=#>iCNKSYz??FYfmGplI zq-30Og0z2jsqX9)JU_RFeLS)S#H;!Sw@MHwZ)LgC#j0WKt-i!S>XP|louT0iPucj6 zcMrstu5h8}TWF!(Vn$&PaWt$aZ^oqhs-BA=dCKSXTsGCEBcg}3jqSjwE5AsnAl~%NU+Qql%Pm}c>OO8HFHehj=~t`qcb3^Z^)V%q&+mZ!y(vpkBS7^on^glvzqOUI-#zeh!NuL0 zuLZZHI^gP(YRRTx;Fn$tDPD2T?7)yj!D`tbREl;#s4QrPCpHX9o}=9kaAFiqZk;Hr z8ZJt}u(5BqO_w^ai%oqR(}a!LiIpVMSHv|O`^hekc~2!=6P0s<#yt$p{lwR;=4^N_iH|p$VuZGdyF(p%o7+p_nBS;-#q++2ckszk;WDu- z!(YPMPV=SfmZ{VuMT~6kv@rx3{>-tI5J%5Z5s^U2g6|AvfBPi9o!H1tiPXKH?nfEH zh!EEsn4Ch(9AA8cJKaRATGNadzFOB9HjHW9cM?AEr42BW6xsT{o*ncvq9`qNADg7B z7myd!_krih7S*vd@2DGDx--ovcZlnCv=NczF_lu+6KKj=^@$>H&C3N_D%e!Wxc9hC ze2h{kRxt4sm|A-=J2=HpffSwbEquOa@s13cak~A959e$c4FqD~Q=Ap%fvVE(f_zjq z46Rtr)5*NJS-@kIF_5KOMI+uvpfek((nL)9OgUerx`&*Fdk=29JAy{OgV7B86fX)k zu0%{#)_$Yb5KHZW?k_(`q$jv)6RAas}3es@fp2jrMI!$)&$$~n!}xE z@r~VfE1hVM3rT4a_iPU$uz|KdKBFwrcE_Fc*3>h^o zJm3aq&-acg;mpi&>hdu8O6{Hle%s!*SY=JyUThfdc%71J_5dTLYoykk+tOdfi@xr!mqAQn#rga zBdj(|^Jrnsu!nlkB;CVJ(l6IOy0s+s87?iOrFI4+NpB|8!Bz(1jASgd-f$P zdzIQ{mr}I(4+LJf)WI>nh+lp~ORLck-fvI38jG6~9yIqX3il~6%jPS7345iz|KSncZPNL8I%o0j^DHfn3Gpw)WD!+Yqwl7h zDlbV2u%zZ=>Bfi1p@yOb9o9F|+BxO2sXdFA2J$~!@o{|YBg!+_E@m(BwUf&pX}krZ zYAjBTFV#N}8WW#!HgE#OU1Tl9mV(%d5|d3HcB5$4k)Tj=b*y?RSGr5<+C}A+E^c>W z$EbtTT*U2{|D&|x{Pdlcbd6*I)-X>bp?5gg5OFoC$`C%@qp`cIXNwk@Tu|M~zMW9Mh}wn>N#*zI-|P>qhX@ zLN0qA@^D~HL(1_GyC?1qh}#b0>HV=PB`kYrs-r_S37#IrQm7>-9sIyo?e9@a!-jJZW$2ArSCVXR5w>jIK2A-W-WZ6QXP;+U z_o7yH@Z|vj>X@MY2BY#NTy}scnXRj2N7CeB-Q>=9;6D>xOgJb-tQr}#Y*jgv0#H&l zG&&^1v9~89VHj&ZY%7e^4D;YxugA_*5@hXjBQ_1W&_qR3!4Vcp55NddYzzcO(?dg) z???+B90c1@@;M8F$4}s<97VPeHbw=?g$X9sWd)I!4roMZ)bNtmL@UDz4krwQJM#Hi z7_~#^ygX5jK$k?8>Q_9uNn)$c;Dwju$u~En1Q;FF4@2n3Zg*wA&NjXWpPX!={v6SM z!2KM=G*y;>q27(UXMI% z=Bp{Q;toCrH3Cq}^e9m=PkAd7Zf0@PZFD4&kxR5@GzM4I$5&GLkh82#olnw<<&bCg z9T@1)yqsLp-7#i(nAU?KF7FSn8o8X$TBsw_PSTPrwG26n_fKK4rFlz3 z%(6~RsAAN+$OD;A;yc-C-Na*%S(0cAk=T~Kc)oy5>xMlE>RTW_Y?#gSjbE+pkiZ%t z=VgrJAi=08phQPzK3O#+S4>glM1RHRDO=&)LQJ-6IQvw;*2?ntG}DC|qh5kyM<5y*WG{7}dZ}W%LTjW&@*JvUD0}-2_|r|^Op;%pQ^t70Yvs){NHfQEOT_p)_Z^rafj#-S2<69O7x9AxBI!g;B%lQYL7u!F*8|J1R=}J`&@;5lB#V0s! ziP(E$85zJLnAqTP))Kv*ZAXTT-Ex6YcCJxIG}nU+R<}*yYE=ovKU@YilGSuN{E)aD zna8Tac0OTX;PGW!Ta_}OxhGYPZyvw+>9#TSSL+d?5$fn=bek;W0SlJnJ{--h{($YU z@zSgwoT8ng!=0^jzR+}x-^Hyad-ak%TEdRSzIS|~F)=0eBq`4uvpQ_hQr2G_zp~zW zGz;EesbVCw$TW~fIiTsuS+~tdU7w$N!sMZ5YI=R&>>?2PqD*w+#Kpye{eIk7JraK0 zK*d3f{_KW!kOOizp1y+9V6KSC@@3m(O(_mz5K#ka<|>-@#@@~g^JU!|r+HDqc}E3z z11?mPs~%o4HLnVK-JIkAaoQq{a(2bjzO=UVi+6r84LQ(J`9&>9Q@^4JoU+=7#=gPU zh)7gTqOXL(&ue(>>SSwGzp@^##@>qxi0sFI5oGvZVK{6OW(}~XAR_f~Qqhi?p&C$d zr#~fVx}U!#5XmEcOu8OA%I&>{kBGXnOo?m&sY2(YOy@nIVZYoEgaMypX9UDGw|@Ul z^JcgA+a{{ z2ZeX1UiQ2R?4(Ac`57KwY;1s`?B?j4ls=MyB?4N?fQR@9RlUBld@gNj2y$l?{}49rg4@(1{;V5#Ryb z|L(~xh!A8E@Ao7xfp~pyrk@vju9=$qEdO;ZSwwZkbMpxo{7uoF<$n9u@dvHPQD%ou zDw)ZA8!St-OVq@IVHR$|^#{wZ9&!H4Fa>Jb+qH0A)%ItQNTmgiK2)4A7(@qyUoI0< zkh%E>N{yfJt-m*5+0o>#00WO^8|oaNN3zDg6*#$99B+YT%0=`^xD5;$=2d0A4`yR| zQcr@1P@z%f6wmnt(^bl?dGh3Puc?V0T5Dg+{^jA4d->63jQiekH3D>+tra`U%DTQY z^YiJROPHaoP|WT4slswh3}maH*eH1UdwwkcK>F0fci*S3ya6b_IYtNl-SdxIT;oxC z*C!>?TMlvPXn(-o$@SFjbgB4L1QWBvayQnt>MCust%I48uIQnvX!l5l)5Z`y$cU!y z?dEU?@a3a@i%3(g8tPzD!RUdv+Fn8gk2Sw2&3#Ye9RJ>FoYF%d$`d#m66UccGM)qB z019X{JCLRxBgC4$@WIQ|BFz^v`#yrDObz!ItzI1>y6MrDYT}B(!bvejQ3H;mHNgFb zuCimE^wAs~r*t(e zW2l(jQBP|^HSSFux+GWyVR%T3rYc}E2`o(_#rFfOY0Bf^dNeHtZfYJWmJO9_n==5? zRN^kyt#ol&3zFtxQM4 zj|dg|)EhsB75rXRzVB=)Cah^Y$ll;Lw)WS{oa$JYr_!&0g^{M52MU~Uy@A;=v)5RBH_wjT-Q$7^`6+0Mtmu?;Y)|aUGs;-EfXf4o;faKwls_>WbI%#N-&H+-3``Ea|RNd>MPJ(!=jdnPL^4mZkHVgivvYC_n9=~3= zJ<8_8e{KEkvanl!`|JP&35%cR{oZFuAoA%^FeC#sT@5Wc;8l#=W{WaJ7u>3buom7! z&c1BhB%Ax?&dv(ifdVtkbNHKT?=gJk7zaMYo5pSWW+>Q>HA~ zrljUM^*z}=EUUaDGXo~SxnTzXg|VH8WPL35@y0VfMuys5v9V>S9s#G4NxUAJ#w~cJ zyyb2vkwc7bMp(I;Gycc$*`MS{Txm4XbNm^RX3NCYIDlX|3EiQt{Cs>Q40?E4nu-XI zR;RVxOX*SshKp0&+iB8mZ!r!vM6d4C2m~JlR(LA-%Nj z48uH}Hmdds5r^sLHh=Svql|if;cUj;eP?+<0wWtuX=Gr#ZYoknQIExpKa83sC^kN_ zryb;Gf-=ywYQrJRf;>&;!*YPj&k!MUpXi}132b@iEB1*#+oxY0T!{S3M~?gULU3pn z6O<_zD^vJppVWOZGkH)l5N`{GX7^2F;ZjT!eRby4f0!JwW;5qqX>*D;e3(Km(uR>M z?17pA1^n^HWL;v1mRbYnuEv9QHOvzGD$xBs8qvCGTFuoX>8w5V`A2_8)8C6?s|`-R zqGVz38JZ%YjUccURkb~}Qfp70&Nvy^`521G3IuKMhZKfd~%J^-k962LQ zDLR9w_~n8?|VmcbdlKZKYpW?QKsw@dn@%BQ?~Z=8;_`iw?pHZc5A zf&^7>)a4x{hUTKT63rVM_B6v7CLE2HY||Y&=rQhv-Qyb8f)*P5lTZ@c@Mn*np5uYUQk=pM z=tbx70VyUl+7aBxBpV~uh~L0fL+iKZ5I$wF-3mFdv*W2FE3O(cf-b4XlxClE%*K$o z26hX%AE^_W$N5Y?&9yJ@y{4Vc8mcmvEwMnINfp6BuZy9n?mZAPJO8*D3VzkY%|t9N zbng_8GyEN9uEL2)U>mIeqC8m~L!g2S)P@2U{7I3=a*-qT#sMI3qP48xd);z7c|w!l zlX;&hPM=hGTW257k@OmMCNv3vpVAhMvXf>p9w1-RD6&P|ysKGuwjg-wta2Q-`dhD0 z=Q8SD6D0zf;kTg+_pl$H5(hKM?XsH}KY7u%1%`q+wQTQ2 zQ=iAbgr9eqy*wh#P02rx?U{bRabqz0Op6TZu^4&0a>YGmVL<`dHve5)5cD$}KJsow zMby56F2!cO?oAy-t0&_|f(FN@VJu%fr|bY!j}!5qE|pgO;l@=Dzf=xx40ye@BX!$wM=H0;d%d6HR{N zh$_@FH+fT~QlA-XG?B`|k*Sd2kqERk3?0vS&bt}$!zA2`NxcUs~29# zY~4sTvu_`R$}Vd1wuqEvp`-{Ckteki#a#u;d8yn*`|)wASh7sF<_`v%etbXi0~PWE z3r0P~6+=_GR8vR3DE|~2o`sUSWyStjto0~Iz?C%$mg9$~8WdjdnE&)Dx&a@LFA!v{ zcMsXr68H)No6iRiY5dN@AL`7qq*doc9Le`BYMIheTrKSEbOcGQ%y9G> z=W5&QWTc0%vbN6!{r;TrJ7H$#Bdf$pEBGZ%uU5-PMh(etlv{0R%0oV@M*-Xr%2W$2 zA=l?{pGhhu$yr=>EduO_nDV$SOZ9PtLi^IN2nurxva)O7J!``*WQ$ zt*=h!wjTt=3(z6s(v<)7#Ps$vBU?|_iaY0!`|bj^atC zd-&?SCJHP5&hav1saePf8o3j`-mcRBH~CCN0}BO<^}}3T2GeNiAM2QSz^mf=Wo;#rW>{oL^oRH7{W2) zJ}2xxzaCc7)$;|*!rrJ4Zq|3-NN6u*OI$7^ zlk>+bie5qGwe5!&n0e~ceOC1d>#17k!_}&&$y~WRZ1PWJx=A*%@Q3U$$2A-3b;@ts z_)7Wya9p-~4j1Hy>0G#*9d+?gxu+G7q1ae=`LVV2nke_1FSUn84UDB?%j6@dbcIvO zuQH>yP{7hXsHP~Z75jJ2111oO3(KRpSG8sM091_A3;D!G5{3_bzeo$DhegXjPlkH& zmwisGEWDES0ifhCVXzxt;oKeD6C z-E&fGqSQ`8-H$t&3862mux~`Iu2-DC+x$xx0sK>cXo5>!RSJttW1e72W)`M?UgI_U zZA$fy z-o)s7BADrQhY*Lj=zLdp@Ut4~;SBXe9$4|qH{dt+H??!`*J^M+Ew%JN`Q;tRSnUQp z%-;aZJ{c~2IJtfZhX{!buhyJIk_+1c%Rbhz-(C%l$@&cwroB6g7JvNGJqbrZ?Q_nI zw$2iz6tgI2H{vgNGj^5^xB1e)e?iqcY_4kizS$%rR z6%$Q>iESV27?nBaV`d(H%Ci%^5F~2CmN$7BOA&K8BWTaQ=23TA<*oS7qHwCae^7Ba z23r9i$SU~!#jDuN@c6xwAqR_-bTSWAz`-8_D~p?E^x-3zY3J?rjm762x%f%s2$x(Y^jY@;bIy?Y2V-$dZl#hg0)ak8nZ9fy^R8Ma0%YQGIIzgo=9dC7e}Gi$r`4GuzafdsHTHsS z&N&~7BG?}Y>#p+FpfZn^ zyM>~hpdj5%`VXxincm)d`|Azs+qUq|l%6~7`^_e}1)k;8_D$dVTHO-C%dKt8|!7&^@z>Q9Pi`(P{!)7ci{(ELriM=I1doCA19-rKhp5-oF zb2p-gSo;IF&crq7Uy*C@3y@CDneO5MgxT+Fy_>(!24e3RzD+g}gsn_(`l6{E{TJE& zUxyg-KQ-tQODTl*Dx?QudOMsm6px+=HI9|L$EnKuJX(I2WcFC1E?%>Kxyu8D?UD^gu3|j6 z2vu37d&F^(oaATce!tw0>hBnbLUlnKsR7H$yhj)f$T%}M6#lOa#~<__x{E_> z2Bqzy8SCVJT$!rYlY6&n89)(PE^l-jVT1t#t#3?c>meD;Y>x;Yn*$TO8(ZozZg zTc1D;xuF7};bfE+4VotUBNM|%UOljRTK_`Ea>7+y9DYe`e+K|TBUZa-1VH5oeM|d0 z2mB{^{@8?o+Y^EGd>k$Z)k*R41niPOrBD&>gFHaKK&nQ2(d-~~k=RND+ozKxICom# zynoZvIVE5HS&hL=rs7ATP<5Gccn|K%BL$uv4s6Z_HF^_nR99Uspx&N~sELlACb?{S z0Ru1dw(IC!v#O+_(h8ROF%Vo6b4=FC%Av(0WkR+#@<$HK07dEE#lnuypK($PL z3FhuiIA(ILRR1s2_iyO8dyK`=WG!qFAReRI%>oXK(roWI&XyFvlqa74`F5>iyscld z^|+W*MjwT$^llL@z*vR`+ezB!SM zBSTW=HZx|s4w6?PLWXor2vneTc!jjrzhvy8gn(q6gja-B5v(c&nYxcW!@UTZ1;z0* z0LfK?kFcbDcE-StEK*yv#<}5KgKs8HZj_4#N+{VnVE24vW4XCX1j|M64=`vaxfk_{8wbN{_lj{%JF+y~{%V?&N=vkZL1 zYL-#N)Y0o7@zX{sRpdzGRY#}tzn!u_>_;tvQN`unw8xe@)}VkRUm(aTmfJSX72NHn z=Er@WB5$Y9ELiqVcb38l66oa?p%!>>z)?*{J9$-PC!2Y`6%P<`h&QcpjWEQ;&EFwxhEu<-B$h4oTm|V3N64 zISiFc7Lz!ZO|68WUU#(JNg;j+co)g=&B|2xg=rb-x{>BnorBAU=1ybSH|uYToLoA_ zyAy$&RFXT@mJ2pE<~PMFwDD_d^BEK7MxmZ5X20>LY)W{_R@vL_!JfNNa*NO}@_x$) zMchjY$v#SH}EiSEW@u-#4FerbM?aHWFEoEYbhCM7aO z(H#HNJH>sLDIQBAHyo{Am{x`&9bF9Ecbn|rOGc7`^Y6U#AMyCrad!d9#VVxY zM&MeT%nCCV!e81hURuATOW3UDf~&%8ib;{#m70j&Uuty*wr^O8!*#jE1Vt@n3ptpj zXsZ*FXr`ZgDD7bveU`Og#s|! zWCNQs>QHQp=)#$6%xwEB)*)<4i^@#J+fLOGM3^B2!#E-l@uTti@4r6HZHs#{+eOqcL%{L%MTzW`WFAF3_D*(efZJWISwMgkAdOa5axAE=p8eplI?&Aa z(^{IneP#3U@(VN@Xytd8_W0jE;vdM&|I;EV0!L7ZGca78>>onjMba_@1UaqxB*M804}2l1>(8w9{b`(> zL7|Bz+Rl5SUAGP-*a?37R|_e9AA}ElZU@{NFxIH%X67sy+tj9{pF(jX(CWJ(~raQ0`^VGhL@+(-rii=GrI? zk3PW06}(D4IwdO13wt04!kkS5uJ@_2t&97f^ppV5juHTM|5Hn2kp0nw`DV5zFQO#i z`XOzRIRHT`=6vi&Fo0l3O~$j(?@7I3rWW#!c7$OC?XgwKSwmE0q@h%}l!!^3SdqW$ zA^+u(ZAjzn=|PjI?Q@GE^x^YH{Yd&AVt`Ot>hH8*U2I^;G93%XTjacYRDV%*{&hG( zfxC?A!R$TDE}C(a2)Lwf!7_RrG#>*{;tyQzUwcIi))zYh1m+myE^}awjkv$nD9<%W zW7vaxcpuS_Se4(+i?a!2LQJ|AIBNYJsQQ;l?#ABHKK2O-tX)R=F~B3Q=?!h-HSP)~ z1nY|KUC}z?0)||%e{KRx53f|MGEzF~=O9)E;wP%piC-FtP;&V&%Zs>)Yl z`u_s{Q$zp%4F08qz?1=r8#nL{RKapj|FaSLe?cEbr#+M3K65P23vNv9UpkRxiu(iT zO1Nrolgxakz0z3W(pM*6^0ZBMe&U8ezaGm~U2C8L?8)+X!iN+ z+04<#!o#cMPm%eDEfGWF?p!Ej7F4)DF_s?OQzc$;gN^{}SY4tRZY(}kD>j;XVJ%5v>Q`TTH;a{2Lb zxU%)svFUub9}g?MWhlAWcJtmwIcl)xK9~N)4*KD&2oZLM6iOnmpCM{$>i2mU8}@hS zUJ>)YH+kOTWp!)#m!joOa z-yQfa>thwIN;9Q;Ww?J#LMW-&>94||xF5FtX_I8i^j6A@eozx-Uc{t+wj<=4=?4Ey zZ##eMGV#8{c3D~WR9n$*EsZo3@9|4S#shQTd~NGW(}u6{l3O3^5{v<;O_gu2ufcEF z;}j%ohp=E(&xHtSb^eC0X{(q9~$)i+LeVHA&)_&|_agKMUJ^PB0y^Vxl zun;-YkJg{>x(OQ6$AR3awHu)QVmC7u`7Ps*&1Y`kSd4lY>}x`CCPbGFwiA5x-~7Zs zi;ullK|z665Q*#X;>A#RcQ?1jNL{W%9M;reWI|b0%TcHiDjws-bt@g~!^6YDOSs!@ zI7a%F5&O0KqCca=)_N0SZ7OnTr21O*`uB$c;V;3zDeqK8xGZUggnSY)2f5R|cO79_(Eqp> p4Mk#4wt&3wf3CSkd~8hpQub4jbl>Z`rI;JoA5}$7aHYKE{{i6ZreOd8 diff --git a/src/packages/frontend/projects/tour-projects.png b/src/packages/frontend/projects/tour-projects.png index 72a0488dd0975827867dc726659923406e6f8c22..3bef5f2f4c2fed93642229950a64ccc761363ca3 100644 GIT binary patch literal 115543 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 DF(?QS literal 318609 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�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≷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

I5n%~4+lu*-P;Z2jGq-i0-dLn?fTXu45GgKP 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 V7;nVvytNK~X=xl)&s4SW{~x&gpbG#1 diff --git a/src/packages/frontend/projects/tour.tsx b/src/packages/frontend/projects/tour.tsx index c20ace48232..3ced2349308 100644 --- a/src/packages/frontend/projects/tour.tsx +++ b/src/packages/frontend/projects/tour.tsx @@ -1,5 +1,7 @@ +// cSpell:ignore collabs + import type { TourProps } from "antd"; -import { Button, Checkbox, Space, Tour } from "antd"; +import { Button, Tour } from "antd"; import { useState } from "react"; import { redux, useRedux } from "@cocalc/frontend/app-framework"; @@ -8,8 +10,8 @@ import { Icon } from "@cocalc/frontend/components/icon"; import { SiteName } from "@cocalc/frontend/customize"; import { IS_MOBILE } from "@cocalc/frontend/feature"; import track from "@cocalc/frontend/user-tracking"; +import { COLORS } from "@cocalc/util/theme"; import collabsImage from "./tour-collabs.png"; -import infoImage from "./tour-info.png"; import projectsImage from "./tour-projects.png"; export default function ProjectsPageTour({ @@ -17,6 +19,7 @@ export default function ProjectsPageTour({ filtersRef, projectListRef, createNewRef, + filenameSearchRef, style, }) { const tours = useRedux("account", "tours"); @@ -36,10 +39,8 @@ export default function ProjectsPageTour({ description: (

Welcome to - 's Projects Page! On this page, you'll find several key elements that - help you manage and organize your computational work, collaborate with - others, and maximize your productivity. Let's take a tour and - highlight these elements. + 's Projects Page! It gives you an overview about all your workspaces, + where you have access to.
), }, @@ -51,9 +52,8 @@ export default function ProjectsPageTour({ ), description: (
- To start your work on , click the "Create Project" button. - You can specify the project's title, and customize the image and - license. Create as many projects as you want! + Click the "Create Project" button to instantiate a new workspace. You + can specify the project's title, and customize the image and license.
), target: () => createNewRef.current, @@ -64,21 +64,25 @@ export default function ProjectsPageTour({ Project List ), - cover: , description: (

The core of the projects page is the list of your projects. Each - project is a separate folder containing files, data, and settings + project is a separate workspace containing files, data, and settings specific to that project. By organizing your work into projects, you can easily collaborate with others, manage your files, and maintain different environments for various projects.

At a glance, you can view important information about each project - like a short description, the last time it was edited, and the - collaborators involved. This allows you to quickly understand the - project's purpose and gauge its progress. + like its description, run state, the last time it was edited, and + the collaborators involved. An avatar or a color makes it easier to + recognize. +

+

+ Finally,{" "} + + -star a project to add it to the quick access row at the top!

), @@ -88,7 +92,7 @@ export default function ProjectsPageTour({ { title: ( <> - Search + Search and Filter ), description: ( @@ -106,22 +110,7 @@ export default function ProjectsPageTour({ ), target: () => searchRef.current, }, - { - title: ( - <> - Collaborators & Sharing - - ), - cover: , - description: ( -
- Working together is at the heart of . Easily add - collaborators to your projects by clicking on the collaborator toggle - to the right of each project's description. Collaborators can view, - edit, and run calculations in realtime inside the project. -
- ), - }, + { title: "Hidden and Deleted projects", description: ( @@ -142,6 +131,31 @@ export default function ProjectsPageTour({ ), target: () => filtersRef.current, }, + { + title: ( + <> + Collaborators & Sharing + + ), + cover: , + description: ( +
+ Expand a project via the icon to see and + control collaborators on the project. Collaborators can view, edit, + and run calculations in realtime inside the project – just like you! +
+ ), + }, + { + title: "Filename Search", + target: () => filenameSearchRef.current, + description: ( +
+ This search box helps you to find a file you've worked on in the past. + It searches through filenames across projects. +
+ ), + }, { title: "Thanks!", description: ( @@ -150,35 +164,32 @@ export default function ProjectsPageTour({ simplifies project management, collaboration, and organization.

- { + ), }, ]; return ( <> - - - + { From 504cfc2127919b902be2f72a54e38e7c5ec6fcc4 Mon Sep 17 00:00:00 2001 From: Harald Schilly Date: Tue, 14 Oct 2025 15:57:55 +0200 Subject: [PATCH 4/5] frontend/projects: minor details and bikeshedding --- .../frontend/projects/filename-search.tsx | 12 ++-- .../frontend/projects/projects-page.tsx | 55 +++++++++++-------- .../frontend/projects/projects-starred.tsx | 11 +--- .../projects/projects-table-columns.tsx | 9 ++- .../frontend/projects/projects-table.tsx | 4 +- 5 files changed, 49 insertions(+), 42 deletions(-) diff --git a/src/packages/frontend/projects/filename-search.tsx b/src/packages/frontend/projects/filename-search.tsx index d6bf460a400..f7b28b2ad51 100644 --- a/src/packages/frontend/projects/filename-search.tsx +++ b/src/packages/frontend/projects/filename-search.tsx @@ -5,7 +5,7 @@ Search for any file you've edited in the last year. import { Input, Tooltip } from "antd"; import { useIntl } from "react-intl"; -import { useState } from "@cocalc/frontend/app-framework"; +import { CSS, useState } from "@cocalc/frontend/app-framework"; import api from "@cocalc/frontend/client/api"; import ShowError from "@cocalc/frontend/components/error"; import { TimeAgo } from "@cocalc/frontend/components/time-ago"; @@ -15,9 +15,11 @@ import { MAX_FILENAME_SEARCH_RESULTS } from "@cocalc/util/db-schema/projects"; const { Search } = Input; -interface Props {} +interface Props { + style?: CSS; +} -export function FilenameSearch({}: Props) { +export function FilenameSearch({ style }: Props) { const intl = useIntl(); const [search, setSearch] = useState(""); const [error, setError] = useState(""); @@ -45,7 +47,7 @@ export function FilenameSearch({}: Props) { }; return ( -
+
@@ -64,8 +66,8 @@ export function FilenameSearch({}: Props) { id: "projects.filename-search.placeholder", defaultMessage: "Search for filenames you edited...", })} - enterButton onSearch={doSearch} + type="default" /> {((results != null && searched == search.trim()) || error) && ( diff --git a/src/packages/frontend/projects/projects-page.tsx b/src/packages/frontend/projects/projects-page.tsx index 8381365a361..38dece5e380 100644 --- a/src/packages/frontend/projects/projects-page.tsx +++ b/src/packages/frontend/projects/projects-page.tsx @@ -35,10 +35,6 @@ import { useBookmarkedProjects } from "./use-bookmarked-projects"; import { getVisibleProjects } from "./util"; import { FilenameSearch } from "./filename-search"; -const PROJECTS_TITLE_STYLE: CSS = { - marginTop: "20px", -} as const; - const LOADING_STYLE: CSS = { fontSize: "40px", textAlign: "center", @@ -247,31 +243,46 @@ export const ProjectsPage: React.FC = () => { padding: narrow ? "0 10px 0 10px" : "0", }} > - {/* Title */} -
-
+ - <Title - level={3} - style={{ flex: "0 1 auto", marginBottom: "15px" }} - > - <Icon name="edit" /> {intl.formatMessage(labels.projects)} - -
- -
+ {intl.formatMessage(labels.projects)} + +
+ +
+ {!narrow && (
- +
-
+ )}
+ {narrow && ( +
+ +
+ )} + {/* Table Controls (Search, Filters, Create Button) */}
)}
-
- -
- {project.state && ( -
- {project.state?.get("state") ?? "stopped"} -
- )} +
); @@ -223,7 +216,7 @@ export function StarredProjectsBar() { } }} > - {trunc(project.title, 20)} + {trunc(project.title, 15)} ); diff --git a/src/packages/frontend/projects/projects-table-columns.tsx b/src/packages/frontend/projects/projects-table-columns.tsx index 1571c98d4fb..fa6c8a9dbf5 100644 --- a/src/packages/frontend/projects/projects-table-columns.tsx +++ b/src/packages/frontend/projects/projects-table-columns.tsx @@ -136,17 +136,20 @@ export function getProjectTableColumns( title: ( ), dataIndex: "starred", key: "starred", width: 60, align: "center" as const, - onCell: (record) => ({ + onCell: () => ({ onClick: (e: React.MouseEvent) => { e.stopPropagation(); // Prevent row click when clicking menu - onToggleStar(record.project_id, e); }, style: { cursor: "pointer" }, }), diff --git a/src/packages/frontend/projects/projects-table.tsx b/src/packages/frontend/projects/projects-table.tsx index bc2075eeb04..89d494dfdcb 100644 --- a/src/packages/frontend/projects/projects-table.tsx +++ b/src/packages/frontend/projects/projects-table.tsx @@ -235,9 +235,7 @@ export function ProjectsTable({ sortDirections={["ascend", "descend", "ascend"]} expandable={{ expandedRowRender: (record) => ( - + ), columnWidth: 48, expandedRowClassName: "cc-project-expanded-row", From 0843240575d185a6967dcbca3764d076878364dc Mon Sep 17 00:00:00 2001 From: Harald Schilly Date: Wed, 15 Oct 2025 10:52:40 +0200 Subject: [PATCH 5/5] frontend/projects: warn about active collaborators, tweaks for mobile (make seconds2hms in short form cover more cases), stronger typing, ... --- .../frontend/components/time-elapsed.tsx | 18 +- src/packages/frontend/i18n/common.ts | 4 + .../projects/project-row-expanded-content.tsx | 64 ++----- .../projects/projects-actions-menu.tsx | 107 +++-------- .../frontend/projects/projects-operations.tsx | 71 +++++-- .../frontend/projects/projects-page.tsx | 32 +++- .../frontend/projects/projects-starred.tsx | 30 ++- .../projects/projects-table-columns.tsx | 154 ++++++++++------ .../projects/projects-table-controls.tsx | 9 +- .../frontend/projects/projects-table.tsx | 33 +++- .../frontend/projects/{util.ts => util.tsx} | 89 ++++++++- src/packages/util/misc.ts | 173 +++++++++++++++++- src/packages/util/test/misc-test.test.ts | 108 +++++++++++ 13 files changed, 649 insertions(+), 243 deletions(-) rename src/packages/frontend/projects/{util.ts => util.tsx} (76%) diff --git a/src/packages/frontend/components/time-elapsed.tsx b/src/packages/frontend/components/time-elapsed.tsx index ce72285774c..0077f2f8f9c 100644 --- a/src/packages/frontend/components/time-elapsed.tsx +++ b/src/packages/frontend/components/time-elapsed.tsx @@ -11,15 +11,29 @@ import { seconds2hms, server_time } from "@cocalc/util/misc"; interface Props { start_ts: number; interval_s?: number; + longform?: boolean; // 22 hours 32 minutes vs 22h 32m + show_seconds?: boolean; + show_minutes?: boolean; } -export function TimeElapsed({ start_ts, interval_s = 1 }: Props) { +export function TimeElapsed({ + start_ts, + interval_s = 1, + longform = true, + show_seconds = true, + show_minutes = true, +}: Props) { const [elapsed, setElapsed] = React.useState(getUptimeStr()); function getUptimeStr() { if (start_ts == null) return ""; const delta_s = (server_time().getTime() - start_ts) / 1000; - const uptime_str = seconds2hms(delta_s, true); + const uptime_str = seconds2hms( + delta_s, + longform, + show_seconds, + show_minutes, + ); return uptime_str; } diff --git a/src/packages/frontend/i18n/common.ts b/src/packages/frontend/i18n/common.ts index 972b37f42e6..b94453a2e27 100644 --- a/src/packages/frontend/i18n/common.ts +++ b/src/packages/frontend/i18n/common.ts @@ -797,6 +797,10 @@ export const labels = defineMessages({ id: "labels.last_active", defaultMessage: "Last Active", }, + last_edited: { + id: "labels.last_edited", + defaultMessage: "Last Edited", + }, project_status: { id: "labels.project_status", defaultMessage: "Project Status", diff --git a/src/packages/frontend/projects/project-row-expanded-content.tsx b/src/packages/frontend/projects/project-row-expanded-content.tsx index 4069bf0a0d6..65f56523620 100644 --- a/src/packages/frontend/projects/project-row-expanded-content.tsx +++ b/src/packages/frontend/projects/project-row-expanded-content.tsx @@ -15,7 +15,7 @@ */ import { Button, Descriptions, Dropdown, MenuProps, Space } from "antd"; -import { useMemo, useState } from "react"; +import { useState } from "react"; import { useIntl } from "react-intl"; import { @@ -29,7 +29,6 @@ import { AddCollaborators } from "@cocalc/frontend/collaborators"; import { CopyToClipBoard, Icon, - IconName, ProjectState, TimeAgo, } from "@cocalc/frontend/components"; @@ -37,7 +36,6 @@ import { compute_image2basename, is_custom_image, } from "@cocalc/frontend/custom-software/util"; -import { file_options } from "@cocalc/frontend/editor-tmp"; import { labels } from "@cocalc/frontend/i18n"; import { FIXED_PROJECT_TABS } from "@cocalc/frontend/project/page/file-tab"; import { useStarredFilesManager } from "@cocalc/frontend/project/page/flyouts/store"; @@ -47,7 +45,7 @@ import { DEFAULT_COMPUTE_IMAGE } from "@cocalc/util/db-schema"; import { KUCALC_COCALC_COM } from "@cocalc/util/db-schema/site-defaults"; import { COLORS } from "@cocalc/util/theme"; import { ProjectUsers } from "./project-users"; -import { OpenedFile, useRecentFiles } from "./util"; +import { OpenedFile, useFilesMenuItems, useRecentFiles } from "./util"; interface Props { project_id: string; @@ -72,6 +70,16 @@ export function ProjectRowExpandedContent({ project_id }: Props) { // Get starred files - always enabled since component only renders when expanded const { starred } = useStarredFilesManager(project_id, true); + const starredFilesMenu: MenuProps["items"] = useFilesMenuItems(starred, { + emptyLabel: "No starred files", + onClick: openFile, + }); + + const recentFilesMenu: MenuProps["items"] = useFilesMenuItems(recentFiles, { + emptyLabel: "No recent files", + onClick: openFile, + }); + if (!project) { return null; } @@ -171,54 +179,6 @@ export function ProjectRowExpandedContent({ project_id }: Props) { ); } - // Prepare starred files menu - const starredFilesMenu: MenuProps["items"] = useMemo(() => { - if (starred.length === 0) { - return [ - { - key: "empty", - label: No starred files, - disabled: true, - }, - ]; - } - - return starred.map((filename) => { - const info = file_options(filename); - const icon: IconName = info?.icon ?? "file"; - return { - key: filename, - icon: , - label: filename, - onClick: () => openFile(filename), - }; - }); - }, [starred]); - - // Prepare recent files menu - const recentFilesMenu: MenuProps["items"] = useMemo(() => { - if (recentFiles.length === 0) { - return [ - { - key: "empty", - label: No recent files, - disabled: true, - }, - ]; - } - - return recentFiles.map((file) => { - const info = file_options(file.filename); - const icon: IconName = info?.icon ?? "file"; - return { - key: file.filename, - icon: , - label: file.filename, - onClick: () => openFile(file.filename), - }; - }); - }, [recentFiles]); - return (
{ + function handleOpenChange(newOpen: boolean) { setOpen(newOpen); if (newOpen && project_log == null) { redux.getProjectStore(record.project_id).init_table("project_log"); } - }; + } // Check if user is owner of this project const isOwner = @@ -66,6 +74,21 @@ export function ProjectActionsMenu({ record }: Props) { // Get starred files - only when menu is open const { starred } = useStarredFilesManager(record.project_id, open); + const starredFilesSubmenu: MenuProps["items"] = useFilesMenuItems(starred, { + emptyLabel: "No starred files", + labelStyle: FILES_SUBMENU_LIST_STYLE, + keyPrefix: "starred-file:", + }); + + const recentFilesSubmenu: MenuProps["items"] = useFilesMenuItems( + recentFiles, + { + emptyLabel: "No recent files", + labelStyle: FILES_SUBMENU_LIST_STYLE, + keyPrefix: "recent-file:", + }, + ); + function openProjectTab(tab: string) { actions.open_project({ project_id: record.project_id, @@ -160,76 +183,6 @@ export function ProjectActionsMenu({ record }: Props) { setOpen(false); }; - // Prepare starred files submenu - const starredFilesSubmenu: MenuProps["items"] = useMemo(() => { - if (starred.length === 0) { - return [ - { - key: "empty", - label: No starred files, - disabled: true, - }, - ]; - } - - return starred.map((filename) => { - const info = file_options(filename); - const icon: IconName = info?.icon ?? "file"; - return { - key: `starred-file:${filename}`, - icon: , - label: ( - - {filename} - - ), - }; - }); - }, [starred]); - - // Prepare recent files submenu - const recentFilesSubmenu: MenuProps["items"] = useMemo(() => { - if (recentFiles.length === 0) { - return [ - { - key: "empty", - label: No recent files, - disabled: true, - }, - ]; - } - - return recentFiles.map((file) => { - const info = file_options(file.filename); - const icon: IconName = info?.icon ?? "file"; - return { - key: `recent-file:${file.filename}`, - icon: , - label: ( - - {file.filename} - - ), - }; - }); - }, [recentFiles]); - const menuItems: MenuProps["items"] = [ { key: "explorer", diff --git a/src/packages/frontend/projects/projects-operations.tsx b/src/packages/frontend/projects/projects-operations.tsx index 1feb12511cf..b3a377a87ad 100644 --- a/src/packages/frontend/projects/projects-operations.tsx +++ b/src/packages/frontend/projects/projects-operations.tsx @@ -23,9 +23,15 @@ import RemoveMyself from "./remove-myself"; interface Props { visible_projects: string[]; + filteredCollaborators?: string[] | null; + onClearCollaboratorFilter?: () => void; } -export function ProjectsOperations({ visible_projects }: Props) { +export function ProjectsOperations({ + visible_projects, + filteredCollaborators, + onClearCollaboratorFilter, +}: Props) { const intl = useIntl(); const actions = useActions("projects"); @@ -47,15 +53,22 @@ export function ProjectsOperations({ visible_projects }: Props) { return selected_hashtags?.get(filter)?.toJS() ?? []; }, [selected_hashtags, filter]); - // Only show when filters/search/hashtags are active + // Only show when filters/search/hashtags/collaborators are active const isFiltered = useMemo(() => { return ( !!deleted || !!hidden || !!search?.trim() || - selected_hashtags_for_filter.length > 0 + selected_hashtags_for_filter.length > 0 || + (filteredCollaborators && filteredCollaborators.length > 0) ); - }, [deleted, hidden, search, selected_hashtags_for_filter]); + }, [ + deleted, + hidden, + search, + selected_hashtags_for_filter, + filteredCollaborators, + ]); // Count owned projects for delete confirmation const ownedProjectCount = useMemo(() => { @@ -90,7 +103,7 @@ export function ProjectsOperations({ visible_projects }: Props) { const searchHashtagText = searchHashtagParts.join(" "); // Handle Clear All Filters - const handleClearFilters = () => { + function handleClearFilters() { // Clear search actions.setState({ search: "" }); @@ -104,10 +117,13 @@ export function ProjectsOperations({ visible_projects }: Props) { selected_hashtags: selected_hashtags.set(filter, Set()), }); } - }; + + // Clear collaborator filter + onClearCollaboratorFilter?.(); + } // Handle Hide/Unhide All - const handleToggleHide = () => { + function handleToggleHide() { const description = intl.formatMessage( { id: "projects.operations.hide.description", @@ -161,16 +177,31 @@ export function ProjectsOperations({ visible_projects }: Props) { } }, }); - }; + } // Handle Delete/Undelete All - const handleToggleDelete = () => { - const ownedText = - ownedProjectCount === 0 - ? "You do not own any of the listed projects." - : ownedProjectCount < visible_projects.length - ? `You are the owner of ${ownedProjectCount} of the ${visible_projects.length} listed projects.` - : "You are the owner of every listed project."; + function handleToggleDelete() { + const ownedText = intl.formatMessage( + { + id: "projects.operations.delete.ownership", + defaultMessage: `{ownership, select, + none {You do not own any of the listed projects.} + some {You are the owner of {ownedCount} of the {totalCount} listed projects.} + all {You are the owner of every listed project.} + other {} + }`, + }, + { + ownership: + ownedProjectCount === 0 + ? "none" + : ownedProjectCount < visible_projects.length + ? "some" + : "all", + ownedCount: ownedProjectCount, + totalCount: visible_projects.length, + }, + ); const description = intl.formatMessage( { @@ -229,10 +260,10 @@ export function ProjectsOperations({ visible_projects }: Props) { } }, }); - }; + } // Handle Stop All - const handleStopAll = () => { + function handleStopAll() { Modal.confirm({ title: intl.formatMessage({ id: "projects.operations.stop.title", @@ -257,10 +288,10 @@ export function ProjectsOperations({ visible_projects }: Props) { } }, }); - }; + } // Handle Restart All - const handleRestartAll = () => { + function handleRestartAll() { Modal.confirm({ title: intl.formatMessage({ id: "projects.operations.restart.title", @@ -285,7 +316,7 @@ export function ProjectsOperations({ visible_projects }: Props) { } }, }); - }; + } return ( { const [tableHeight, setTableHeight] = useState(400); + // Track filtered collaborators from table + const [filteredCollaborators, setFilteredCollaborators] = useState< + string[] | null + >(null); + // if not shown, trigger a re-calculation const allLoaded = !!useTypedRedux( "projects", @@ -210,9 +216,13 @@ export const ProjectsPage: React.FC = () => { }; }, [allLoaded, bookmarkedProjects.length]); - const handleCreateProject = () => { + function handleCreateProject() { set_create_project_trigger(create_project_trigger + 1); - }; + } + + function handleClearCollaboratorFilter() { + setFilteredCollaborators(null); + } if (project_map == null) { if (redux.getStore("account")?.get_user_type() === "public") { @@ -269,7 +279,10 @@ export const ProjectsPage: React.FC = () => { {!narrow && (
)} @@ -278,7 +291,10 @@ export const ProjectsPage: React.FC = () => { {narrow && (
)} @@ -306,7 +322,11 @@ export const ProjectsPage: React.FC = () => { {/* Bulk Operations (when filters active) */}
- +
@@ -314,6 +334,8 @@ export const ProjectsPage: React.FC = () => { visible_projects={visible_projects} height={tableHeight} narrow={narrow} + filteredCollaborators={filteredCollaborators} + onFilteredCollaboratorsChange={setFilteredCollaborators} />
diff --git a/src/packages/frontend/projects/projects-starred.tsx b/src/packages/frontend/projects/projects-starred.tsx index ee7a565b5d7..e8c07417aac 100644 --- a/src/packages/frontend/projects/projects-starred.tsx +++ b/src/packages/frontend/projects/projects-starred.tsx @@ -240,15 +240,31 @@ export function StarredProjectsBar() { key: project.project_id, label: (
handleProjectClick(project.project_id, e as any)} > - {project.avatar_image_tiny ? ( - - ) : ( - - )} - {project.title} + + {project.avatar_image_tiny ? ( + + ) : ( + + )}{" "} + {project.title} +
), })); diff --git a/src/packages/frontend/projects/projects-table-columns.tsx b/src/packages/frontend/projects/projects-table-columns.tsx index fa6c8a9dbf5..4929f02a1d9 100644 --- a/src/packages/frontend/projects/projects-table-columns.tsx +++ b/src/packages/frontend/projects/projects-table-columns.tsx @@ -13,9 +13,14 @@ import type { TableColumnsType } from "antd"; import type { SortOrder } from "antd/es/table/interface"; +import type { IntlShape } from "react-intl"; + import { Avatar, Typography } from "antd"; import { Icon, IconName, TimeAgo } from "@cocalc/frontend/components"; +import { TimeElapsed } from "@cocalc/frontend/components/time-elapsed"; +import { IS_MOBILE } from "@cocalc/frontend/feature"; +import { labels } from "@cocalc/frontend/i18n"; import { ComputeStateIcon } from "@cocalc/util/compute-states"; import { COMPUTE_STATES } from "@cocalc/util/schema"; import { COLORS } from "@cocalc/util/theme"; @@ -88,50 +93,59 @@ export interface ProjectTableRecord { * @param expandedRowKeys - Array of expanded row keys to determine icon state * @param collaboratorFilters - Array of collaborator filter options * @param narrow - If true, hide the collaborators column to save space + * @param filteredCollaborators - Array of currently filtered collaborator account_ids + * @param intl - Intl object for i18n * @returns Array of column definitions */ export function getProjectTableColumns( onToggleStar: (project_id: string, e: React.MouseEvent) => void, renderActionsMenu: (record: ProjectTableRecord) => React.ReactNode, - sortState?: SortState, - onToggleExpand?: (record: ProjectTableRecord) => void, - expandedRowKeys?: string[], - collaboratorFilters?: CollaboratorFilter[], - narrow?: boolean, + sortState: SortState, + onToggleExpand: (record: ProjectTableRecord) => void, + expandedRowKeys: string[], + collaboratorFilters: CollaboratorFilter[], + narrow: boolean, + filteredCollaborators: string[] | null, + intl: IntlShape, ): TableColumnsType { const columns = [ - { - key: "expand", - width: 48, - align: "center" as const, - onCell: (record) => ({ - onClick: (e: React.MouseEvent) => { - e.stopPropagation(); // Prevent row click - onToggleExpand?.(record); - }, - style: { - cursor: "pointer", - borderLeft: `5px solid ${ - record.color ? record.color : "transparent" - }`, - }, - }), - render: (_, { project_id }) => { - // Render the expand icon based on whether this row is expanded - const isExpanded = expandedRowKeys?.includes(project_id) ?? false; - return ( - - - - ); - }, - }, + // Skip expand column on mobile + ...(!IS_MOBILE + ? [ + { + key: "expand", + width: 48, + align: "center" as const, + onCell: (record: ProjectTableRecord) => ({ + onClick: (e: React.MouseEvent) => { + e.stopPropagation(); // Prevent row click + onToggleExpand(record); + }, + style: { + cursor: "pointer", + borderLeft: `5px solid ${ + record.color ? record.color : "transparent" + }`, + }, + }), + render: (_: any, { project_id }: ProjectTableRecord) => { + // Render the expand icon based on whether this row is expanded + const isExpanded = expandedRowKeys.includes(project_id); + return ( + + + + ); + }, + }, + ] + : []), { title: ( ( + sortOrder: sortState.columnKey === "starred" ? sortState.order : null, + render: (starred: boolean, record: ProjectTableRecord) => ( { e.stopPropagation(); // Don't trigger row click @@ -177,7 +191,11 @@ export function getProjectTableColumns( ), }, { - title: Project, + title: ( + + {intl.formatMessage(labels.project)} + + ), dataIndex: "title", key: "title", sorter: (a, b) => { @@ -186,8 +204,8 @@ export function getProjectTableColumns( return titleA.localeCompare(titleB); }, sortDirections: SORT_DIRECTIONS, - sortOrder: sortState?.columnKey === "title" ? sortState.order : null, - render: (_, record) => { + sortOrder: sortState.columnKey === "title" ? sortState.order : null, + render: (_: any, record: ProjectTableRecord) => { const stateIcon = getStateIcon(record.state); const strong = record.state?.get("state") === "running"; return ( @@ -249,7 +267,7 @@ export function getProjectTableColumns( dataIndex: "collaborators", key: "collaborators", width: 150, - filters: collaboratorFilters?.map((cf) => ({ + filters: collaboratorFilters.map((cf) => ({ text: ( { - const searchText = (record as any).label ?? ""; + filteredValue: filteredCollaborators, + filterSearch: ( + input: string, + record: { text: React.ReactNode; value: string; label?: string }, + ) => { + const searchText = record.label ?? ""; return searchText.toLowerCase().includes(input.toLowerCase()); }, - onFilter: (value, record) => - record.collaborators.includes(value as string), - render: (collaborators: string[]) => ( + onFilter: ( + value: string | number | boolean, + record: ProjectTableRecord, + ) => record.collaborators.includes(value as string), + render: (collaborators: ProjectTableRecord["collaborators"]) => ( ), }, ]), { - title: "Last Edited", + title: IS_MOBILE ? ( + + ) : ( + intl.formatMessage({ + id: "projects.table.last-edited", + defaultMessage: "Last Edited", + }) + ), dataIndex: "last_edited", key: "last_edited", - width: 150, + width: IS_MOBILE ? 80 : 150, sorter: sortProjectsLastEdited, sortDirections: SORT_DIRECTIONS, - sortOrder: - sortState?.columnKey === "last_edited" ? sortState.order : null, - render: (date: Date | undefined) => - date ? : null, + sortOrder: sortState.columnKey === "last_edited" ? sortState.order : null, + render: (date: Date | undefined) => { + if (!date) return null; + if (IS_MOBILE) { + return ( + + ); + } else { + return ; + } + }, }, { title: "", @@ -303,7 +347,7 @@ export function getProjectTableColumns( }, style: { cursor: "pointer" }, }), - render: (_, record) => renderActionsMenu(record), + render: (_: any, record: ProjectTableRecord) => renderActionsMenu(record), }, ]; diff --git a/src/packages/frontend/projects/projects-table-controls.tsx b/src/packages/frontend/projects/projects-table-controls.tsx index 89f2a3b254c..fb49b8a62de 100644 --- a/src/packages/frontend/projects/projects-table-controls.tsx +++ b/src/packages/frontend/projects/projects-table-controls.tsx @@ -19,6 +19,7 @@ import { useIntl } from "react-intl"; import { CSS, useActions, useTypedRedux } from "@cocalc/frontend/app-framework"; import { Icon } from "@cocalc/frontend/components"; +import { IS_MOBILE } from "@cocalc/frontend/feature"; import { labels } from "@cocalc/frontend/i18n"; //import { COLORS } from "@cocalc/util/theme"; @@ -109,13 +110,13 @@ export function ProjectsTableControls({ @@ -125,7 +126,7 @@ export function ProjectsTableControls({ allowClear showSearch disabled={hashtagOptions.length === 0} - style={{ width: 200 }} + style={{ width: IS_MOBILE ? 100 : 200 }} placeholder={intl.formatMessage({ id: "projects.table-controls.hashtags.placeholder", defaultMessage: "Filter by hashtags...", @@ -177,7 +178,7 @@ export function ProjectsTableControls({ onClick={onCreateProject} icon={} > - {intl.formatMessage(labels.create_project)} + {intl.formatMessage(IS_MOBILE ? labels.new : labels.create_project)} )} diff --git a/src/packages/frontend/projects/projects-table.tsx b/src/packages/frontend/projects/projects-table.tsx index 89d494dfdcb..80143f110d6 100644 --- a/src/packages/frontend/projects/projects-table.tsx +++ b/src/packages/frontend/projects/projects-table.tsx @@ -16,6 +16,7 @@ import { Table } from "antd"; import { useEffect, useMemo, useState } from "react"; +import { useIntl } from "react-intl"; import { useActions, useTypedRedux } from "@cocalc/frontend/app-framework"; import { @@ -35,7 +36,9 @@ import { useBookmarkedProjects } from "./use-bookmarked-projects"; interface Props { visible_projects: string[]; height?: number; - narrow?: boolean; // if narrow, then remove columns like "Collaborators" to safe space + narrow: boolean; // if narrow, then remove columns like "Collaborators" to safe space + filteredCollaborators: string[] | null; + onFilteredCollaboratorsChange: (collaborators: string[] | null) => void; } const PROJECTS_TABLE_SORT_KEY = "projects-table-sort"; @@ -44,7 +47,10 @@ export function ProjectsTable({ visible_projects, height = 600, narrow = false, + filteredCollaborators, + onFilteredCollaboratorsChange, }: Props) { + const intl = useIntl(); const actions = useActions("projects"); const project_map = useTypedRedux("projects", "project_map"); const user_map = useTypedRedux("users", "user_map"); @@ -192,24 +198,26 @@ export function ProjectsTable({ expandedRowKeys, collaboratorFilters, narrow, + filteredCollaborators, + intl, ); - const handleRowClick = (record: ProjectTableRecord, e?: React.MouseEvent) => { + function handleRowClick(record: ProjectTableRecord, e?: React.MouseEvent) { actions.open_project({ project_id: record.project_id, switch_to: !(e?.button === 1 || e?.ctrlKey || e?.metaKey), }); - }; + } - const handleExpand = (expanded: boolean, record: ProjectTableRecord) => { + function handleExpand(expanded: boolean, record: ProjectTableRecord) { if (expanded) { actions.set_expanded_project(record.project_id); } else { actions.set_expanded_project(undefined); } - }; + } - const handleTableChange = (_: any, __: any, sorter: any) => { + function handleTableChange(_: any, filters: any, sorter: any) { // Update sort state when columnKey and order are present // With sortDirections on Table, it should cycle continuously without clearing const { columnKey, order } = sorter; @@ -218,12 +226,21 @@ export function ProjectsTable({ setSortState(newSortState); set_local_storage(PROJECTS_TABLE_SORT_KEY, newSortState); } - }; + + // Update collaborator filter state + if (onFilteredCollaboratorsChange && filters) { + const collaboratorsFilter = filters.collaborators; + onFilteredCollaboratorsChange( + collaboratorsFilter && collaboratorsFilter.length > 0 + ? collaboratorsFilter + : null, + ); + } + } return ( virtual - bordered size="small" columns={columns} dataSource={tableData} diff --git a/src/packages/frontend/projects/util.ts b/src/packages/frontend/projects/util.tsx similarity index 76% rename from src/packages/frontend/projects/util.ts rename to src/packages/frontend/projects/util.tsx index f4d125ff92e..189f43c9999 100644 --- a/src/packages/frontend/projects/util.ts +++ b/src/packages/frontend/projects/util.tsx @@ -1,12 +1,18 @@ /* - * This file is part of CoCalc: Copyright © 2020 Sagemath, Inc. + * This file is part of CoCalc: Copyright © 2025 Sagemath, Inc. * License: MS-RSL – see LICENSE.md for details */ +import { MenuProps } from "antd"; import { Map as immutableMap, Set as immutableSet } from "immutable"; import { useMemo } from "react"; +import { CSS } from "@cocalc/frontend/app-framework"; +import { Icon, IconName } from "@cocalc/frontend/components"; +import { file_options } from "@cocalc/frontend/editor-tmp"; import { isIntlMessage } from "@cocalc/frontend/i18n"; +import { EventRecordMap } from "@cocalc/frontend/project/history/types"; +import { getTime } from "@cocalc/frontend/project/page/flyouts/log"; import { webapp_client } from "@cocalc/frontend/webapp-client"; import { COMPUTE_STATES, ComputeState } from "@cocalc/util/compute-states"; import { @@ -15,9 +21,9 @@ import { parse_hashtags, search_match, search_split, + trunc_middle, } from "@cocalc/util/misc"; -import { EventRecordMap } from "@cocalc/frontend/project/history/types"; -import { getTime } from "@cocalc/frontend/project/page/flyouts/log"; +import { COLORS } from "@cocalc/util/theme"; import { ProjectMap } from "./store"; function parse_tags(info): string[] { @@ -52,7 +58,8 @@ function get_search_info(project_id: string, project, user_map): string { const compute_state: ComputeState = COMPUTE_STATES[project.getIn(["state", "state"], "")]; const display = compute_state?.display; - s += " " + (isIntlMessage(display) ? display.defaultMessage : display ?? ""); + s += + " " + (isIntlMessage(display) ? display.defaultMessage : (display ?? "")); s = s.toLowerCase(); s = s + " " + hashtags_to_string(parse_tags(s)); if (user_map != null) { @@ -277,3 +284,77 @@ export function useRecentFiles( .toJS() as OpenedFile[]; }, [project_log, max, searchTerm]); } + +type FileEntry = string | OpenedFile; + +/** + * React hook to create menu items for file lists (starred or recent files) + * + * @param files - Array of filenames (strings) or OpenedFile objects + * @param options - Configuration options + * @param options.emptyLabel - Label to show when files array is empty + * @param options.onClick - Optional click handler for each file + * @param options.labelStyle - Optional CSS style for the label + * @param options.keyPrefix - Optional prefix for menu item keys + * @param options.truncLength - Maximum length for truncated filenames (default: 100) + * @returns Menu items array for Ant Design Dropdown/Menu + */ +export function useFilesMenuItems( + files: FileEntry[], + options: { + emptyLabel: string | React.ReactNode; + onClick?: (filename: string) => void; + labelStyle?: CSS; + keyPrefix?: string; + truncLength?: number; + }, +): MenuProps["items"] { + const { + emptyLabel, + onClick, + labelStyle, + keyPrefix = "", + truncLength = 100, + } = options; + + return useMemo(() => { + if (files.length === 0) { + return [ + { + key: "empty", + label: + typeof emptyLabel === "string" ? ( + {emptyLabel} + ) : ( + emptyLabel + ), + disabled: true, + }, + ]; + } + + return files.map((file) => { + const filename = typeof file === "string" ? file : file.filename; + const info = file_options(filename); + const icon: IconName = info?.icon ?? "file"; + + const label = labelStyle ? ( + {trunc_middle(filename, truncLength)} + ) : ( + trunc_middle(filename, truncLength) + ); + + const menuItem: any = { + key: keyPrefix ? `${keyPrefix}${filename}` : filename, + icon: , + label, + }; + + if (onClick) { + menuItem.onClick = () => onClick(filename); + } + + return menuItem; + }); + }, [files, emptyLabel, onClick, labelStyle, keyPrefix, truncLength]); +} diff --git a/src/packages/util/misc.ts b/src/packages/util/misc.ts index 853b5be89ec..65b574a82bd 100644 --- a/src/packages/util/misc.ts +++ b/src/packages/util/misc.ts @@ -501,7 +501,7 @@ export function trunc_left( sArg: T, max_length = 1024, ellipsis = ELLIPSIS, -): T | string { +): T | string { if (sArg == null) { return sArg; } @@ -1860,15 +1860,122 @@ export function get_array_range(arr: any[], value1: any, value2: any): any[] { return arr.slice(index1, +index2 + 1 || undefined); } +function seconds2hms_years( + y: number, + d: number, + h: number, + m: number, + s: number, + longform: boolean, + show_seconds: boolean, + show_minutes: boolean = true, +): string { + // Get remaining days after years + const remaining_days = d % 365; + + // When show_minutes is false, show only years and days + if (!show_minutes) { + if (remaining_days === 0) { + if (longform) { + return `${y} ${plural(y, "year")}`; + } else { + return `${y}y`; + } + } + if (longform) { + return `${y} ${plural(y, "year")} ${remaining_days} ${plural( + remaining_days, + "day", + )}`; + } else { + return `${y}y${remaining_days}d`; + } + } + + // When show_minutes is true, include hours and minutes for sub-day portion + // Use seconds2hms_days for the remaining days + if (remaining_days > 0) { + const sub_str = seconds2hms_days( + remaining_days, + h, + m, + s, + longform, + show_seconds, + show_minutes, + ); + if (longform) { + return `${y} ${plural(y, "year")} ${sub_str}`; + } else { + return `${y}y${sub_str}`; + } + } else { + // Only years, no remaining days - but may have hours/minutes/seconds + // Calculate seconds for just the sub-day portion + const h_within_day = h % 24; + const sub_day_seconds = h_within_day * 3600 + m * 60 + s; + if (sub_day_seconds > 0) { + // Call seconds2hms_days with 0 days to get just the hours/minutes/seconds formatting + const sub_str = seconds2hms_days( + 0, + h_within_day, + m, + s, + longform, + show_seconds, + show_minutes, + ); + if (sub_str) { + if (longform) { + return `${y} ${plural(y, "year")} ${sub_str}`; + } else { + return `${y}y${sub_str}`; + } + } + } + // Only years, nothing else + if (longform) { + return `${y} ${plural(y, "year")}`; + } else { + return `${y}y`; + } + } +} + function seconds2hms_days( d: number, h: number, m: number, + s: number, longform: boolean, + show_seconds: boolean, + show_minutes: boolean = true, ): string { h = h % 24; - const s = h * 60 * 60 + m * 60; - const x = s > 0 ? seconds2hms(s, longform, false) : ""; + // When show_minutes is false and h is 0, don't show anything for the sub-day part + if (!show_minutes && h === 0) { + if (d === 0) { + // No days to show, return empty + return ""; + } + if (longform) { + return `${d} ${plural(d, "day")}`; + } else { + return `${d}d`; + } + } + // Calculate total seconds for the sub-day portion + const total_secs = h * 60 * 60 + m * 60 + s; + // When there are days, use show_seconds for shortform but false for longform (original behavior) + const use_show_seconds = d > 0 && longform ? false : show_seconds; + const x = + total_secs > 0 + ? seconds2hms(total_secs, longform, use_show_seconds, show_minutes) + : ""; + if (d === 0) { + // No days, just return the sub-day portion + return x; + } if (longform) { return `${d} ${plural(d, "day")} ${x}`.trim(); } else { @@ -1886,7 +1993,11 @@ export function seconds2hms( secs: number, longform: boolean = false, show_seconds: boolean = true, + show_minutes: boolean = true, ): string { + if (show_minutes === false) { + show_seconds = false; + } let s; if (!longform && secs < 10) { s = round2(secs % 60); @@ -1898,9 +2009,23 @@ export function seconds2hms( const m = Math.floor(secs / 60) % 60; const h = Math.floor(secs / 60 / 60); const d = Math.floor(secs / 60 / 60 / 24); + const y = Math.floor(d / 365); + // for more than one year, special routine + if (y > 0) { + return seconds2hms_years( + y, + d, + h, + m, + s, + longform, + show_seconds, + show_minutes, + ); + } // for more than one day, special routine (ignoring seconds altogether) if (d > 0) { - return seconds2hms_days(d, h, m, longform); + return seconds2hms_days(d, h, m, s, longform, show_seconds, show_minutes); } if (h === 0 && m === 0 && show_seconds) { if (longform) { @@ -1912,19 +2037,24 @@ export function seconds2hms( if (h > 0) { if (longform) { let ret = `${h} ${plural(h, "hour")}`; - if (m > 0) { + if (m > 0 && show_minutes) { ret += ` ${m} ${plural(m, "minute")}`; } + // In longform, don't show seconds when there are hours (original behavior) return ret; } else { - if (show_seconds) { - return `${h}h${m}m${s}s`; + if (show_minutes) { + if (show_seconds) { + return `${h}h${m}m${s}s`; + } else { + return `${h}h${m}m`; + } } else { - return `${h}h${m}m`; + return `${h}h`; } } } - if (m > 0 || !show_seconds) { + if ((m > 0 || !show_seconds) && show_minutes) { if (show_seconds) { if (longform) { let ret = `${m} ${plural(m, "minute")}`; @@ -1943,6 +2073,31 @@ export function seconds2hms( } } } + // If neither minutes nor seconds are shown, use fallback logic + if (!show_minutes && !show_seconds) { + // If we have hours, show hours + if (h > 0) { + if (longform) { + return `${h} ${plural(h, "hour")}`; + } else { + return `${h}h`; + } + } + // If less than 1 hour, fall back to showing minutes + if (m > 0) { + if (longform) { + return `${m} ${plural(m, "minute")}`; + } else { + return `${m}m`; + } + } + // If less than 1 minute, fall back to showing seconds + if (longform) { + return `${s} ${plural(s, "second")}`; + } else { + return `${s}s`; + } + } return ""; } diff --git a/src/packages/util/test/misc-test.test.ts b/src/packages/util/test/misc-test.test.ts index 46b05934fae..cdb8a920ebc 100644 --- a/src/packages/util/test/misc-test.test.ts +++ b/src/packages/util/test/misc-test.test.ts @@ -85,6 +85,7 @@ describe("seconds2hms", () => { const m = 60; // one minute const h = 60 * m; // one hour const d = 24 * h; // one day + const y = 365 * d; // one year it("converts to short form", () => { expect(s2hms(0)).toBe("0s"); @@ -136,6 +137,113 @@ describe("seconds2hms", () => { expect(s2hm(1 * d, true)).toBe("1 day"); expect(s2hm(1 * d + 3 * m, true)).toBe("1 day 3 minutes"); }); + + it("converts to short form with show_minutes=false (with fallback)", () => { + expect(s2hms(0, false, false, false)).toBe("0s"); + expect(s2hms(30, false, false, false)).toBe("30s"); + expect(s2hms(60, false, false, false)).toBe("1m"); + expect(s2hms(90, false, false, false)).toBe("1m"); + expect(s2hms(120, false, false, false)).toBe("2m"); + expect(s2hms(3599, false, false, false)).toBe("59m"); + expect(s2hms(3600, false, false, false)).toBe("1h"); + expect(s2hms(3661, false, false, false)).toBe("1h"); + expect(s2hms(7300, false, false, false)).toBe("2h"); + expect(s2hms(10 * h, false, false, false)).toBe("10h"); + expect(s2hms(10 * h + 45 * m, false, false, false)).toBe("10h"); + }); + + it("converts to long form with show_minutes=false (with fallback)", () => { + expect(s2hms(0, true, false, false)).toBe("0 seconds"); + expect(s2hms(30, true, false, false)).toBe("30 seconds"); + expect(s2hms(60, true, false, false)).toBe("1 minute"); + expect(s2hms(90, true, false, false)).toBe("1 minute"); + expect(s2hms(120, true, false, false)).toBe("2 minutes"); + expect(s2hms(3599, true, false, false)).toBe("59 minutes"); + expect(s2hms(3600, true, false, false)).toBe("1 hour"); + expect(s2hms(3661, true, false, false)).toBe("1 hour"); + expect(s2hms(7300, true, false, false)).toBe("2 hours"); + expect(s2hms(10 * h, true, false, false)).toBe("10 hours"); + expect(s2hms(10 * h + 45 * m, true, false, false)).toBe("10 hours"); + }); + + it("converts to short form in days resolution with show_minutes=false", () => { + expect(s2hms(d + 2 * h + 1 * m, false, false, false)).toBe("1d2h"); + expect(s2hms(21 * d + 19 * h - 1, false, false, false)).toBe("21d18h"); + expect(s2hms(1 * d, false, false, false)).toBe("1d"); + expect(s2hms(1 * d + 3 * m, false, false, false)).toBe("1d"); + expect(s2hms(5 * d + 12 * h + 30 * m, false, false, false)).toBe("5d12h"); + }); + + it("converts to long form in days resolution with show_minutes=false", () => { + expect(s2hms(1 * d + 2 * h + 1 * m, true, false, false)).toBe( + "1 day 2 hours", + ); + expect(s2hms(21 * d + 19 * h - 1, true, false, false)).toBe( + "21 days 18 hours", + ); + expect(s2hms(1 * d, true, false, false)).toBe("1 day"); + expect(s2hms(1 * d + 3 * m, true, false, false)).toBe("1 day"); + expect(s2hms(5 * d + 12 * h + 30 * m, true, false, false)).toBe( + "5 days 12 hours", + ); + }); + + it("converts to short form in years resolution with show_minutes=false", () => { + expect(s2hms(4 * y + 66 * d, false, false, false)).toBe("4y66d"); + expect(s2hms(1 * y, false, false, false)).toBe("1y"); + expect(s2hms(2 * y + 30 * d, false, false, false)).toBe("2y30d"); + expect(s2hms(5 * y + 100 * d + 12 * h, false, false, false)).toBe("5y100d"); + }); + + it("converts to long form in years resolution with show_minutes=false", () => { + expect(s2hms(4 * y + 66 * d, true, false, false)).toBe("4 years 66 days"); + expect(s2hms(1 * y, true, false, false)).toBe("1 year"); + expect(s2hms(2 * y + 30 * d, true, false, false)).toBe("2 years 30 days"); + expect(s2hms(5 * y + 100 * d + 12 * h, true, false, false)).toBe( + "5 years 100 days", + ); + }); + + it("converts to short form in years resolution with show_minutes=true", () => { + expect(s2hms(4 * y + 66 * d + 5 * h + 30 * m, false, false, true)).toBe( + "4y66d5h30m", + ); + expect(s2hms(1 * y + 2 * h, false, false, true)).toBe("1y2h0m"); + expect(s2hms(2 * y + 30 * d + 12 * h, false, false, true)).toBe( + "2y30d12h0m", + ); + expect(s2hms(3 * y, false, false, true)).toBe("3y"); + }); + + it("converts to long form in years resolution with show_minutes=true", () => { + expect(s2hms(4 * y + 66 * d + 5 * h + 30 * m, true, false, true)).toBe( + "4 years 66 days 5 hours 30 minutes", + ); + expect(s2hms(1 * y + 2 * h, true, false, true)).toBe("1 year 2 hours"); + expect(s2hms(2 * y + 30 * d + 12 * h, true, false, true)).toBe( + "2 years 30 days 12 hours", + ); + expect(s2hms(3 * y, true, false, true)).toBe("3 years"); + }); + + it("converts to short form in years resolution with show_seconds=true", () => { + expect(s2hms(4 * y + 66 * d + 5 * h + 30 * m + 45, false, true, true)).toBe( + "4y66d5h30m45s", + ); + expect(s2hms(1 * y + 2 * h + 30, false, true, true)).toBe("1y2h0m30s"); + expect(s2hms(2 * y + 1 * d, false, true, true)).toBe("2y1d"); + }); + + it("converts to long form in years resolution with show_seconds=true", () => { + expect(s2hms(4 * y + 66 * d + 5 * h + 30 * m + 45, true, true, true)).toBe( + "4 years 66 days 5 hours 30 minutes", + ); + expect(s2hms(1 * y + 2 * h + 30, true, true, true)).toBe("1 year 2 hours"); + expect(s2hms(2 * y + 1 * d, true, true, true)).toBe("2 years 1 day"); + expect(s2hms(3 * y + 45 * m + 30, true, true, true)).toBe( + "3 years 45 minutes 30 seconds", + ); + }); }); describe("startswith", () => {