From 02a102481effb6d08e9c9e9f352e556a7f0d64ea Mon Sep 17 00:00:00 2001 From: Arkaprabha Chakraborty Date: Thu, 30 Oct 2025 11:04:17 +0530 Subject: [PATCH] init --- client/.eslintrc.json | 6 + client/.gitignore | 40 + client/README.md | 49 + client/app/api/socket/route.ts | 38 + client/app/favicon.ico | Bin 0 -> 15406 bytes client/app/fonts/GeistMonoVF.woff | Bin 0 -> 67864 bytes client/app/fonts/GeistVF.woff | Bin 0 -> 66268 bytes client/app/globals.css | 87 + client/app/layout.tsx | 52 + client/app/page.tsx | 116 + client/app/room/page.tsx | 800 ++ client/bun.lockb | Bin 0 -> 305055 bytes client/components.json | 20 + client/components/CodeEditor.tsx | 225 + client/components/CommentsPanel.tsx | 179 + client/components/ConnectionStatus.tsx | 26 + client/components/LeftPanel.tsx | 420 + client/components/MediaModal.tsx | 205 + client/components/MediaPanel.tsx | 311 + client/components/UsersPanel.tsx | 177 + client/components/ui/background-beams.tsx | 149 + client/components/ui/badge.tsx | 36 + client/components/ui/button.tsx | 57 + client/components/ui/card.tsx | 76 + client/components/ui/hover-card.tsx | 29 + client/components/ui/input-otp.tsx | 70 + client/components/ui/input.tsx | 60 + client/components/ui/skeleton.tsx | 15 + client/components/ui/textarea.tsx | 23 + client/lib/themes.ts | 458 + client/lib/utils.ts | 6 + client/next.config.ts | 17 + client/package-lock.json | 10034 ++++++++++++++++++++ client/package.json | 67 + client/postcss.config.mjs | 8 + client/public/android-chrome-192x192.png | Bin 0 -> 5825 bytes client/public/android-chrome-512x512.png | Bin 0 -> 13249 bytes client/public/apple-touch-icon.png | Bin 0 -> 5334 bytes client/public/favicon-16x16.png | Bin 0 -> 524 bytes client/public/favicon-32x32.png | Bin 0 -> 1105 bytes client/public/file.svg | 1 + client/public/globe.svg | 1 + client/public/logo.png | Bin 0 -> 13249 bytes client/public/next.svg | 1 + client/public/og-image.png | Bin 0 -> 17156 bytes client/public/site.webmanifest | 1 + client/public/vercel.svg | 1 + client/public/window.svg | 1 + client/tailwind.config.ts | 108 + client/tsconfig.json | 27 + server/.gitignore | 2 + server/Dockerfile | 30 + server/README.md | 49 + server/compose.yml | 12 + server/go.mod | 9 + server/go.sum | 6 + server/main.go | 1133 +++ 57 files changed, 15238 insertions(+) create mode 100644 client/.eslintrc.json create mode 100644 client/.gitignore create mode 100644 client/README.md create mode 100644 client/app/api/socket/route.ts create mode 100644 client/app/favicon.ico create mode 100644 client/app/fonts/GeistMonoVF.woff create mode 100644 client/app/fonts/GeistVF.woff create mode 100644 client/app/globals.css create mode 100644 client/app/layout.tsx create mode 100644 client/app/page.tsx create mode 100644 client/app/room/page.tsx create mode 100755 client/bun.lockb create mode 100644 client/components.json create mode 100644 client/components/CodeEditor.tsx create mode 100644 client/components/CommentsPanel.tsx create mode 100644 client/components/ConnectionStatus.tsx create mode 100644 client/components/LeftPanel.tsx create mode 100644 client/components/MediaModal.tsx create mode 100644 client/components/MediaPanel.tsx create mode 100644 client/components/UsersPanel.tsx create mode 100644 client/components/ui/background-beams.tsx create mode 100644 client/components/ui/badge.tsx create mode 100644 client/components/ui/button.tsx create mode 100644 client/components/ui/card.tsx create mode 100644 client/components/ui/hover-card.tsx create mode 100644 client/components/ui/input-otp.tsx create mode 100644 client/components/ui/input.tsx create mode 100644 client/components/ui/skeleton.tsx create mode 100644 client/components/ui/textarea.tsx create mode 100644 client/lib/themes.ts create mode 100644 client/lib/utils.ts create mode 100644 client/next.config.ts create mode 100644 client/package-lock.json create mode 100644 client/package.json create mode 100644 client/postcss.config.mjs create mode 100644 client/public/android-chrome-192x192.png create mode 100644 client/public/android-chrome-512x512.png create mode 100644 client/public/apple-touch-icon.png create mode 100644 client/public/favicon-16x16.png create mode 100644 client/public/favicon-32x32.png create mode 100644 client/public/file.svg create mode 100644 client/public/globe.svg create mode 100644 client/public/logo.png create mode 100644 client/public/next.svg create mode 100644 client/public/og-image.png create mode 100644 client/public/site.webmanifest create mode 100644 client/public/vercel.svg create mode 100644 client/public/window.svg create mode 100644 client/tailwind.config.ts create mode 100644 client/tsconfig.json create mode 100644 server/.gitignore create mode 100644 server/Dockerfile create mode 100644 server/README.md create mode 100644 server/compose.yml create mode 100644 server/go.mod create mode 100644 server/go.sum create mode 100644 server/main.go diff --git a/client/.eslintrc.json b/client/.eslintrc.json new file mode 100644 index 0000000..d8d80b0 --- /dev/null +++ b/client/.eslintrc.json @@ -0,0 +1,6 @@ +{ + "extends": ["next/core-web-vitals", "next/typescript"], + "rules": { + "@typescript-eslint/no-explicit-any": "off" + } +} diff --git a/client/.gitignore b/client/.gitignore new file mode 100644 index 0000000..26b002a --- /dev/null +++ b/client/.gitignore @@ -0,0 +1,40 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.* +.yarn/* +!.yarn/patches +!.yarn/plugins +!.yarn/releases +!.yarn/versions + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# env files (can opt-in for commiting if needed) +.env* + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/client/README.md b/client/README.md new file mode 100644 index 0000000..3959d43 --- /dev/null +++ b/client/README.md @@ -0,0 +1,49 @@ +# Room + +Room is a real-time collaborative text editor built using WebSockets, designed to enable multiple users to edit text simultaneously. The application provides a seamless experience for users to collaborate and share ideas in real time. + +## Features + +- **Real-Time Collaboration**: Multiple users can edit the same document simultaneously, with changes reflected instantly. +- **User-Friendly Interface**: A simple and intuitive interface designed to enhance the writing experience. +- **WebSocket Integration**: Efficient real-time communication between clients and the server. + +## Tech Stack + +- **Frontend**: Next.js 15, TypeScript, Tailwind CSS +- **WebSocket Library**: ws + +## Installation + +To get started with Room, follow these steps: + +1. **Clone the repository**: + + ```bash + git clone https://github.com/arkorty/Room.git + cd Room + ``` + +2. **Install dependencies**: + + ```bash + bun install + ``` + +3. **Run the application**: + + ```bash + bun run dev + ``` + +4. **Access the application**: Open your browser and navigate to `http://localhost:3000`. + +## Usage + +- **Creating a Room**: Users can create a new document from the dashboard. +- **Inviting Collaborators**: Share a link with collaborators to allow them to join the editing session. +- **Editing**: Start typing in the editor; changes will be reflected in real-time for all users. + +## License + +This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details. diff --git a/client/app/api/socket/route.ts b/client/app/api/socket/route.ts new file mode 100644 index 0000000..dc8ecf6 --- /dev/null +++ b/client/app/api/socket/route.ts @@ -0,0 +1,38 @@ +import { NextRequest } from "next/server"; +import { WebSocketServer } from "ws"; + +interface ExtendedNextRequest extends NextRequest { + socket: { + server: { + wss?: WebSocketServer; + }; + on: (event: string, listener: (...args: any[]) => void) => void; + }; +} + +export async function GET(req: ExtendedNextRequest) { + const { socket } = req; + + if (!socket?.server?.wss) { + const wss = new WebSocketServer({ noServer: true }); + socket.server.wss = wss; + + wss.on("connection", (ws) => { + ws.on("message", (message) => { + wss.clients.forEach((client) => { + if (client.readyState === client.OPEN) { + client.send(message.toString()); + } + }); + }); + }); + + socket.on("upgrade", (request: any, socket: any, head: any) => { + wss.handleUpgrade(request, socket, head, (ws) => { + wss.emit("connection", ws, request); + }); + }); + } + + return new Response("WebSocket setup complete"); +} diff --git a/client/app/favicon.ico b/client/app/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..cf08bf0129e929dd5503521a09b376f99698950a GIT binary patch literal 15406 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ϣ%UY8`RWp~V-U_7 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 CLkb=M literal 0 HcmV?d00001 diff --git a/client/app/fonts/GeistVF.woff b/client/app/fonts/GeistVF.woff new file mode 100644 index 0000000000000000000000000000000000000000..1b62daacff96dad6584e71cd962051b82957c313 GIT binary patch literal 66268 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 >-Aun5A4Gp>4U0IQJ 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 G)cz05(PHWV literal 0 HcmV?d00001 diff --git a/client/app/globals.css b/client/app/globals.css new file mode 100644 index 0000000..4ca8c90 --- /dev/null +++ b/client/app/globals.css @@ -0,0 +1,87 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +@import url("https://fonts.googleapis.com/css2?family=Roboto:wght@400;500;700&family=JetBrains+Mono:wght@400;500;700&display=swap"); + +@layer base { + :root { + --background: rgb(251, 241, 199); + --foreground: rgb(60, 56, 54); + --card: rgb(235, 219, 178); + --card-foreground: rgb(60, 56, 54); + --popover: rgb(235, 219, 178); + --popover-foreground: rgb(60, 56, 54); + --primary: rgb(211, 134, 155); + --primary-foreground: rgb(251, 241, 199); + --secondary: rgb(184, 187, 38); + --secondary-foreground: rgb(80, 73, 69); + --muted: rgb(168, 153, 132); + --muted-foreground: rgb(102, 92, 84); + --accent: rgb(250, 189, 47); + --accent-foreground: rgb(80, 73, 69); + --destructive: rgb(204, 36, 29); + --destructive-foreground: rgb(251, 241, 199); + --border: rgb(213, 196, 161); + --input: rgb(213, 196, 161); + --ring: rgb(211, 134, 155); + --radius: 0.5rem; + --chart-1: rgb(250, 189, 47); + --chart-2: rgb(131, 165, 152); + --chart-3: rgb(69, 133, 136); + --chart-4: rgb(254, 128, 25); + --chart-5: rgb(251, 73, 52); + --info: rgb(131, 165, 152); + --info-foreground: rgb(40, 40, 40); + --warning: rgb(215, 153, 33); + --warning-foreground: rgb(40, 40, 40); + --success: rgb(184, 187, 38); + --success-foreground: rgb(40, 40, 40); + --error: rgb(251, 73, 52); + --error-foreground: rgb(40, 40, 40); + } + + .dark { + --background: rgb(40, 40, 40); + --foreground: rgb(235, 219, 178); + --card: rgb(60, 56, 54); + --card-foreground: rgb(235, 219, 178); + --popover: rgb(60, 56, 54); + --popover-foreground: rgb(235, 219, 178); + --primary: rgb(211, 134, 155); + --primary-foreground: rgb(40, 40, 40); + --secondary: rgb(80, 73, 69); + --secondary-foreground: rgb(235, 219, 178); + --muted: rgb(80, 73, 69); + --muted-foreground: rgb(168, 153, 132); + --accent: rgb(80, 73, 69); + --accent-foreground: rgb(235, 219, 178); + --destructive: rgb(204, 36, 29); + --destructive-foreground: rgb(235, 219, 178); + --border: rgb(102, 92, 84); + --input: rgb(102, 92, 84); + --ring: rgb(211, 134, 155); + --chart-1: rgb(250, 189, 47); + --chart-2: rgb(131, 165, 152); + --chart-3: rgb(69, 133, 136); + --chart-4: rgb(254, 128, 25); + --chart-5: rgb(251, 73, 52); + --info: rgb(131, 165, 152); + --info-foreground: rgb(235, 219, 178); + --warning: rgb(215, 153, 33); + --warning-foreground: rgb(235, 219, 178); + --success: rgb(184, 187, 38); + --success-foreground: rgb(235, 219, 178); + --error: rgb(251, 73, 52); + --error-foreground: rgb(235, 219, 178); + } +} + +@layer base { + body { + font-family: var(--font-roboto), sans-serif; + } + textarea { + font-family: var(--font-jetbrains-mono), monospace; + } +} diff --git a/client/app/layout.tsx b/client/app/layout.tsx new file mode 100644 index 0000000..6d1c974 --- /dev/null +++ b/client/app/layout.tsx @@ -0,0 +1,52 @@ +import type { Metadata } from "next"; +import localFont from "next/font/local"; +import "./globals.css"; + +const geistSans = localFont({ + src: "./fonts/GeistVF.woff", + variable: "--font-geist-sans", + weight: "100 900", +}); +const geistMono = localFont({ + src: "./fonts/GeistMonoVF.woff", + variable: "--font-geist-mono", + weight: "100 900", +}); + +export const metadata: Metadata = { + title: "Osborne", + description: "Real-time multi-user text editor with rooms.", + openGraph: { + title: "Osborne", + description: "Real-time multi-user text editor with rooms.", + url: "https://o.webark.in", + siteName: "Osborne", + images: [ + { + url: "https://o.webark.in/og-image.png", + width: 1500, + height: 768, + alt: "Osborne", + }, + ], + locale: "en_US", + type: "website", + }, +}; + +export default function RootLayout({ + children, +}: Readonly<{ + children: React.ReactNode; +}>) { + return ( + + + {children} + + + ); +} diff --git a/client/app/page.tsx b/client/app/page.tsx new file mode 100644 index 0000000..933fbba --- /dev/null +++ b/client/app/page.tsx @@ -0,0 +1,116 @@ +"use client"; + +import { useState, useEffect, Suspense } from "react"; +import { useRouter } from "next/navigation"; +import { Button } from "@/components/ui/button"; +import { + InputOTP, + InputOTPGroup, + InputOTPSlot, +} from "@/components/ui/input-otp"; +import { Card, CardContent } from "@/components/ui/card"; +import Image from "next/image"; +import { ThemeProvider } from "next-themes"; +import { Skeleton } from "@/components/ui/skeleton"; + +const Home = () => { + const router = useRouter(); + const [newRoomCode, setNewRoomCode] = useState(""); + + useEffect(() => { + const joinRoom = () => { + if (newRoomCode) { + router.push(`/room?code=${newRoomCode.toUpperCase()}`); + } + }; + + if (newRoomCode.length === 6) { + joinRoom(); + } + }, [newRoomCode, router]); + + const createNewRoom = () => { + const chars = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; + let code = ""; + for (let i = 0; i < 6; i++) { + code += chars.charAt(Math.floor(Math.random() * chars.length)); + } + router.push(`/room?code=${code}`); + }; + + return ( +
+ +
+
+ Room Logo +
+
+ + setNewRoomCode(value.toUpperCase())} + maxLength={6} + pattern="[A-Z0-9]*" + inputMode="text" + > + + {[...Array(6)].map((_, index) => ( + + ))} + + + + or + + + +
+
+ ); +}; + +const SkeletonHome = () => { + return ( +
+
+
+ +
+
+ + + or + + +
+
+
+ ); +}; + +const HomeWrapper = () => ( + + }> + + + +); + +export default HomeWrapper; diff --git a/client/app/room/page.tsx b/client/app/room/page.tsx new file mode 100644 index 0000000..24c5cba --- /dev/null +++ b/client/app/room/page.tsx @@ -0,0 +1,800 @@ +"use client"; + +import { useEffect, useState, useCallback, useRef, Suspense, useMemo } from "react"; +import { useRouter, useSearchParams } from "next/navigation"; +import { Button } from "@/components/ui/button"; +import { + HoverCard, + HoverCardContent, + HoverCardTrigger, +} from "@/components/ui/hover-card"; +import { Link2, LogOut, Sun, Moon, Upload, WifiOff, RefreshCw } from "lucide-react"; +import { Skeleton } from "@/components/ui/skeleton"; +import { CommentsPanel } from "@/components/CommentsPanel"; +import { CodeEditor, CodeEditorRef } from "@/components/CodeEditor"; +import { LeftPanel } from "@/components/LeftPanel"; +import { + getThemeById, + getNextTheme, + saveThemeToCookie, + getThemeFromCookie, + applyTheme +} from "@/lib/themes"; +import debounce from "lodash/debounce"; +import dotenv from "dotenv"; +import { JetBrains_Mono } from "next/font/google"; +import { ThemeProvider } from "next-themes"; + +dotenv.config(); + +const jetbrainsMono = JetBrains_Mono({ + weight: ["400", "500", "700"], + subsets: ["latin"], + variable: "--font-jetbrains-mono", +}); + +interface TextUpdate { + type: "text-update"; + content: string; + code: string; +} + +interface InitialContent { + type: "initial-content"; + content: string; + code: string; +} + +interface JoinRoom { + type: "join-room"; + code: string; + user?: User; +} + +interface PingMessage { + type: "ping"; + code: string; +} + +interface PongMessage { + type: "pong"; + code: string; +} + +interface User { + id: string; + name: string; + color: string; + lastSeen: Date; + isTyping?: boolean; + currentLine?: number; +} + +interface Comment { + id: string; + lineNumber: number | null; + lineRange?: string; + author: string; + authorId: string; + content: string; + timestamp: Date; +} + +interface CommentMessage { + type: "comment-add" | "comment-update" | "comment-delete"; + code: string; + comment: Comment; +} + +interface CommentsSync { + type: "comments-sync"; + code: string; + comments: Comment[]; +} + +interface UserMessage { + type: "user-joined" | "user-left"; + code: string; + user: User; +} + +interface UsersSync { + type: "users-sync"; + code: string; + users: User[]; +} + +interface UserActivity { + type: "user-activity"; + code: string; + userId: string; + isTyping: boolean; + currentLine?: number; +} + +interface MediaFile { + id: string; + name: string; + type: string; + size: number; + url: string; + uploadedAt: Date; + uploadedBy: string; +} + +interface MediaMessage { + type: "media-upload" | "media-delete"; + code: string; + media: MediaFile; +} + +interface MediaSync { + type: "media-sync"; + code: string; + mediaFiles: MediaFile[]; +} + +type Message = + | TextUpdate + | InitialContent + | JoinRoom + | PingMessage + | PongMessage + | CommentMessage + | CommentsSync + | UserMessage + | UsersSync + | UserActivity + | MediaMessage + | MediaSync; + +const WS_URL = `${process.env.NEXT_PUBLIC_WS_URL}`; + +// Utility functions +const generateUserId = () => `user_${Date.now()}_${Math.random().toString(36).substr(2, 9)}`; + +const generateUserName = () => { + const adjectives = ["Red", "Blue", "Green", "Yellow", "Purple", "Orange", "Pink", "Brown"]; + const nouns = ["Cat", "Dog", "Bird", "Fish", "Bear", "Lion", "Tiger", "Wolf"]; + return `${adjectives[Math.floor(Math.random() * adjectives.length)]} ${nouns[Math.floor(Math.random() * nouns.length)]}`; +}; + +const generateUserColor = () => { + const colors = ["#e74c3c", "#3498db", "#2ecc71", "#f39c12", "#9b59b6", "#1abc9c", "#e67e22", "#34495e"]; + return colors[Math.floor(Math.random() * colors.length)]; +}; + +const Room = () => { + const router = useRouter(); + const searchParams = useSearchParams(); + const roomCode = searchParams.get("code"); + + const socketRef = useRef(null); + const editorRef = useRef(null); + const fileInputRef = useRef(null); + const [isClient, setIsClient] = useState(false); + const [content, setContent] = useState(""); + const [status, setStatus] = useState("Disconnected"); + const [error, setError] = useState(""); + const [commentsVisible, setCommentsVisible] = useState(true); + const [isModalOpen, setIsModalOpen] = useState(false); + const [windowWidth, setWindowWidth] = useState(0); + const [showDisconnectToast, setShowDisconnectToast] = useState(false); + const [currentThemeId, setCurrentThemeId] = useState('one-dark-pro'); + const [selectedLineStart, setSelectedLineStart] = useState(); + const [selectedLineEnd, setSelectedLineEnd] = useState(); + const [comments, setComments] = useState([]); + const [users, setUsers] = useState([]); + const [mediaFiles, setMediaFiles] = useState([]); + const [currentUser, setCurrentUser] = useState(null); + + const contentRef = useRef(content); + + useEffect(() => { + contentRef.current = content; + }, [content]); + + useEffect(() => { + setIsClient(true); + }, []); + + // Initialize theme from cookie + useEffect(() => { + if (isClient) { + const savedThemeId = getThemeFromCookie(); + if (savedThemeId) { + const savedTheme = getThemeById(savedThemeId); + if (savedTheme) { + setCurrentThemeId(savedThemeId); + applyTheme(savedTheme); + } + } else { + // Apply default theme + const defaultTheme = getThemeById('one-dark-pro'); + if (defaultTheme) { + applyTheme(defaultTheme); + } + } + } + }, [isClient]); + + // Apply theme when currentThemeId changes + useEffect(() => { + const currentTheme = getThemeById(currentThemeId); + if (currentTheme) { + applyTheme(currentTheme); + } + }, [currentThemeId]); + + useEffect(() => { + const handleResize = () => { + setWindowWidth(window.innerWidth); + }; + + // Set initial width + handleResize(); + + window.addEventListener('resize', handleResize); + return () => window.removeEventListener('resize', handleResize); + }, []); + + // Show disconnect toast only if still disconnected after a delay + useEffect(() => { + let showTimer: NodeJS.Timeout | null = null; + let hideTimer: NodeJS.Timeout | null = null; + if (status === "Disconnected") { + // Wait 800ms before showing toast + showTimer = setTimeout(() => { + setShowDisconnectToast(true); + // Auto-hide after 10 seconds + hideTimer = setTimeout(() => { + setShowDisconnectToast(false); + }, 10000); + }, 800); + } else { + setShowDisconnectToast(false); + } + return () => { + if (showTimer) clearTimeout(showTimer); + if (hideTimer) clearTimeout(hideTimer); + }; + }, [status]); + + // Calculate panel visibility based on viewport width + // Left panel (256px) + Right panel (320px) + Main content (1280px) + padding (~100px) = ~1956px + const shouldHidePanels = windowWidth > 0 && windowWidth < 1700; + const leftPanelVisible = !shouldHidePanels; + const commentsVisibleResponsive = commentsVisible && !shouldHidePanels; + + const debouncedSend = useMemo( + () => debounce((ws: WebSocket, content: string, code: string) => { + if (ws.readyState === WebSocket.OPEN) { + const message: TextUpdate = { + type: "text-update", + content, + code, + }; + ws.send(JSON.stringify(message)); + } + }, 100), + [] + ); + + const connectSocket = useCallback(() => { + if (!roomCode || socketRef.current?.readyState === WebSocket.OPEN) return; + + if (socketRef.current) { + socketRef.current.close(); + } + + const ws = new WebSocket(WS_URL); + socketRef.current = ws; + + ws.onopen = () => { + setStatus("Connected"); + setError(""); + + // Create user if not exists + const user: User = { + id: generateUserId(), + name: generateUserName(), + color: generateUserColor(), + lastSeen: new Date(), + isTyping: false + }; + setCurrentUser(user); + + const message: JoinRoom = { + type: "join-room", + code: roomCode, + user: user + }; + ws.send(JSON.stringify(message)); + }; + + ws.onmessage = (event) => { + const message: Message = JSON.parse(event.data); + + switch (message.type) { + case "initial-content": + case "text-update": + if (message.content !== contentRef.current) { + setContent(message.content); + } + break; + + case "pong": + // Handle pong response + break; + + case "comments-sync": + setComments(message.comments ? message.comments.map(c => ({ + ...c, + timestamp: new Date(c.timestamp) + })) : []); + break; + + case "comment-add": + setComments(prev => [...prev, { + ...message.comment, + timestamp: new Date(message.comment.timestamp) + }]); + break; + + case "comment-update": + setComments(prev => prev.map(c => + c.id === message.comment.id + ? { ...message.comment, timestamp: new Date(message.comment.timestamp) } + : c + )); + break; + + case "comment-delete": + setComments(prev => prev.filter(c => c.id !== message.comment.id)); + break; + + case "users-sync": + setUsers(message.users ? message.users.map(u => ({ + ...u, + lastSeen: new Date(u.lastSeen) + })) : []); + break; + + case "user-joined": + setUsers(prev => [...prev, { + ...message.user, + lastSeen: new Date(message.user.lastSeen) + }]); + break; + + case "user-left": + setUsers(prev => prev.filter(u => u.id !== message.user.id)); + break; + + case "user-activity": + setUsers(prev => prev.map(u => + u.id === message.userId + ? { + ...u, + isTyping: message.isTyping, + currentLine: message.currentLine, + lastSeen: new Date() + } + : u + )); + break; + + case "media-sync": + setMediaFiles(message.mediaFiles ? message.mediaFiles.map(m => ({ + ...m, + uploadedAt: new Date(m.uploadedAt) + })) : []); + break; + + case "media-upload": + setMediaFiles(prev => [...prev, { + ...message.media, + uploadedAt: new Date(message.media.uploadedAt) + }]); + break; + + case "media-delete": + setMediaFiles(prev => prev.filter(m => m.id !== message.media.id)); + break; + } + }; + + ws.onclose = () => { + setStatus("Disconnected"); + + setTimeout(() => { + if (socketRef.current === ws) { + socketRef.current = null; + } + }, 0); + }; + + ws.onerror = () => { + setTimeout(() => { + if (socketRef.current === ws) { + connectSocket(); + } + }, 1000); + }; + }, [roomCode]); + + useEffect(() => { + if (!isClient || !roomCode) return; + + connectSocket(); + + const pingInterval = setInterval(() => { + if (socketRef.current?.readyState === WebSocket.OPEN) { + socketRef.current.send(JSON.stringify({ type: "ping" })); + } + }, 30000); + + return () => { + clearInterval(pingInterval); + if (socketRef.current) { + socketRef.current.close(); + socketRef.current = null; + } + debouncedSend.cancel(); + }; + }, [roomCode, isClient, connectSocket, debouncedSend]); + + const handleContentChange = (newContent: string) => { + setContent(newContent); + + if (socketRef.current?.readyState === WebSocket.OPEN) { + debouncedSend(socketRef.current, newContent, roomCode!); + } else if (status === "Disconnected") { + debouncedSend.cancel(); + connectSocket(); + } + }; + + const handleSelectionChange = (lineStart: number, lineEnd: number) => { + setSelectedLineStart(lineStart); + setSelectedLineEnd(lineEnd); + }; + + const handleCommentSelect = (lineNumber: number, lineRange?: string) => { + if (editorRef.current) { + if (lineRange) { + // Parse line range like "5-8" + const [start, end] = lineRange.split('-').map(n => parseInt(n.trim())); + editorRef.current.selectLines(start, end); + } else { + editorRef.current.selectLines(lineNumber); + } + } + }; + + const handleAddComment = (content: string, lineNumber?: number, lineRange?: string) => { + if (!socketRef.current || !currentUser) return; + + const comment: Comment = { + id: '', // Will be set by server + lineNumber: lineNumber || null, + lineRange: lineRange, + author: currentUser.name, + authorId: currentUser.id, + content: content, + timestamp: new Date() + }; + + const message: CommentMessage = { + type: "comment-add", + code: roomCode!, + comment: comment + }; + + socketRef.current.send(JSON.stringify(message)); + }; + + const handleFileUpload = async (files: FileList) => { + if (!files || files.length === 0 || !currentUser) return; + + const httpUrl = process.env.NEXT_PUBLIC_HTTP_URL || 'http://localhost:8081'; + + for (let i = 0; i < files.length; i++) { + const file = files[i]; + + try { + // Create form data for file upload + const formData = new FormData(); + formData.append('file', file); + formData.append('roomCode', roomCode!); + formData.append('uploadedBy', currentUser.name); + + // Upload file to HTTP server + const response = await fetch(`${httpUrl}/upload`, { + method: 'POST', + body: formData, + }); + + if (!response.ok) { + throw new Error(`Upload failed: ${response.statusText}`); + } + + const mediaFile: MediaFile = await response.json(); + + // Don't add to local state here - the WebSocket broadcast will handle it + // This prevents duplicate entries when the server broadcasts the upload + + console.log('File uploaded successfully:', mediaFile); + + } catch (error) { + console.error('Error uploading file:', error); + // You could show a toast notification here + } + } + }; + + const handleFileDelete = async (fileId: string) => { + if (!roomCode) return; + + const httpUrl = process.env.NEXT_PUBLIC_HTTP_URL || 'http://localhost:8081'; + + try { + const response = await fetch(`${httpUrl}/delete/${roomCode}/${fileId}`, { + method: 'DELETE', + }); + + if (!response.ok) { + throw new Error(`Delete failed: ${response.statusText}`); + } + + // Don't remove from local state here - the WebSocket broadcast will handle it + // This prevents issues when the server broadcasts the deletion + + console.log('File deleted successfully'); + + } catch (error) { + console.error('Error deleting file:', error); + } + }; + + if (!isClient) return null; + + if (!roomCode) { + router.push("/"); + return null; + } + + return ( +
+ ); +}); + +CodeEditor.displayName = 'CodeEditor'; \ No newline at end of file diff --git a/client/components/CommentsPanel.tsx b/client/components/CommentsPanel.tsx new file mode 100644 index 0000000..8bb50f9 --- /dev/null +++ b/client/components/CommentsPanel.tsx @@ -0,0 +1,179 @@ +import React, { useState, useEffect } from 'react'; +import { Textarea } from '@/components/ui/textarea'; +import { Card, CardContent, CardHeader } from '@/components/ui/card'; +import { Badge } from '@/components/ui/badge'; +import { MessageSquare } from 'lucide-react'; + +interface Comment { + id: string; + lineNumber: number | null; + lineRange?: string; + author: string; + authorId?: string; + content: string; + timestamp: Date; +} + +interface User { + id: string; + name: string; + color: string; + lastSeen: Date; + isTyping?: boolean; + currentLine?: number; +} + +interface CommentsPageProps { + isVisible: boolean; + onToggle: () => void; + selectedLineStart?: number; + selectedLineEnd?: number; + onCommentSelect?: (lineNumber: number, lineRange?: string) => void; + comments?: Comment[]; + onAddComment?: (content: string, lineNumber?: number, lineRange?: string) => void; + currentUser?: User | null; +} + +export const CommentsPanel: React.FC = ({ + isVisible, + selectedLineStart, + selectedLineEnd, + onCommentSelect, + comments = [], + onAddComment, + currentUser +}) => { + const [newComment, setNewComment] = useState(''); + const [selectedLine, setSelectedLine] = useState(null); + + // Update selected line when editor selection changes + useEffect(() => { + if (selectedLineStart && selectedLineEnd) { + if (selectedLineStart === selectedLineEnd) { + setSelectedLine(selectedLineStart); + } else { + setSelectedLine(selectedLineStart); // Use start line for range selections + } + } else { + setSelectedLine(null); + } + }, [selectedLineStart, selectedLineEnd]); + + const handleAddComment = () => { + if (newComment.trim() && onAddComment && currentUser) { + const lineRange = selectedLineStart && selectedLineEnd && selectedLineStart !== selectedLineEnd + ? `${selectedLineStart}-${selectedLineEnd}` + : undefined; + + onAddComment(newComment.trim(), selectedLine || undefined, lineRange); + setNewComment(''); + } + }; + + const formatTime = (date: Date) => { + return date.toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' }); + }; + + if (!isVisible) { + return null; + } + + return ( +
+ {/* Comments List */} +
+ {comments.length === 0 ? ( +
+ +

No comments yet

+

Add a comment to get started

+
+ ) : ( + comments + .sort((a, b) => { + // Comments with line numbers come first, sorted by line number + // Comments without line numbers come last + if (a.lineNumber === null && b.lineNumber === null) return 0; + if (a.lineNumber === null) return 1; + if (b.lineNumber === null) return -1; + return a.lineNumber - b.lineNumber; + }) + .map((comment) => ( + { + if (comment.lineNumber && onCommentSelect) { + onCommentSelect(comment.lineNumber, comment.lineRange); + } + }} + > + +
+
+ + {comment.author} + + {comment.lineNumber !== null && ( + + {comment.lineRange || `Line ${comment.lineNumber}`} + + )} +
+ + {formatTime(comment.timestamp)} + +
+
+ +

+ {comment.content} +

+
+
+ )) + )} +
+ + {/* Add Comment Form */} +
+
+
+
+
+
+
+ + + + + + copy room code + + + + + + + + copy link to this page + + + + + + + + return to home + + +
+
+ + + + + + upload files + + + + + + + + {getThemeById(currentThemeId)?.name || 'Switch theme'} + + +
+
+
+ {error && status !== "Connected" && ( +
+ {error} +
+ )} + +
+
+
+ + {/* Hidden file input */} + { + if (e.target.files) { + handleFileUpload(e.target.files); + // Reset the input so the same file can be selected again + e.target.value = ''; + } + }} + /> + + {/* Comments Panel */} + setCommentsVisible(!commentsVisible)} + selectedLineStart={selectedLineStart} + selectedLineEnd={selectedLineEnd} + onCommentSelect={handleCommentSelect} + comments={comments} + onAddComment={handleAddComment} + currentUser={currentUser} + /> + + {/* Left Panel (Users, Media & ECG) */} + {leftPanelVisible && ( +
+ +
+ )} + + {/* Disconnect Toast */} + {showDisconnectToast && ( +
+ {/* Blurred overlay */} +
+ {/* Toast */} +
+ + Connection Lost + +
+
+ )} +
+ ); +}; + +const SkeletonMirror = () => { + return ( +
+
+
+
+
+ +
+ +
+
+ +
+
+ + +
+
+
+
+
+
+ ); +}; + +const RoomWrapper = () => ( + + }> +
+ +
+
+
+); + +export default RoomWrapper; diff --git a/client/bun.lockb b/client/bun.lockb new file mode 100755 index 0000000000000000000000000000000000000000..c7475e6999666ef0ade6b9d9046633c7e18954d0 GIT binary patch literal 305055 zcmeGFby!u~_x=xW5G+&_MNurkR)jJfXkYAGjX^e=kd@2g4!qib=Az><2WT=$oK^b}~RZN&~h+0ia z33*hif)pQ5T9VYOzImvpyTAGZ87d;h!~6o&DoS?`32~2}p{r6Ap!C92UgUcQ`3Hq; zr}9V-5K85J)Ilm$sHj)%9^x5Jez;P+ER`!ouETC`(qg0qNKs!ts-!UKzZ8d`&-1BN z?3PI#52;z)0fV zNl`w#dVa5;>x(Zf`N#EgIo99(VJ?8$gK^kdM)GH!&`4iDPhaXMzfg4)=4&fssUHkz z5~01p?qR;>{ngR8sB_TnBcy0w=W;3)xe`;4l#rM$q)0DEN?j2Xq7Du6k5H@fS5T?w zPs|URWN7yrQuME{duUK(ph{(3QL^JG>U~Uc
sOszW_hDjP~iJUA#cjM7x^Or-Mq zl#coW-2;RCyi}^X6vsS@b`S8UW~lBH1b?fFa+}N~uC%DHXC;Xb#w4Q9j^dbaI+Ty` z`b0eJzMvnlbGx!spGSzhCrw9H*D6x_d{UHqMGAXtx1V2_AL{iBHP4ueH>*nJuTo*u ze})w01Joft>Ut^_r?09ejgz-~XxISaL)77+aM8cI)IReX(mabMC0AqSiSl0l5iqAZ zB>eUC4eIab8k~OIjyv*F7+r_DN4)_Yj|qdbUtK zm@lnpebUF6%B0v=j7Tvr3X`H8RIg_k5yvegzpB)h+VxXQ;to?B{g+YB+%I$o#liD_ zvzFo+{Y~Z3A8qPNI)KI+;W?#i=CeI67fAar%7r&jsc1^a^b~4MiuqZCl$KnKfzWUD zrFr_06zl&SX$jI$YI!i#6W>INk0Ql94kg8Y65CYj@17J#eW(6WsVb7TqB!iXqPQuk zImJ=m6pCl;!xV>|0TjnRt0m%2BL0#To)HAVM9Y zQXQl?`X%G$Kz{4BlKS736yudliu^;=KI}`Yg(eD}O^R`OVJ(%5r8xSZ*O^Cns7Fw= zN~LWh@z=DZemG5v`uu~u+(T*OI7D%9+etC5@7qZEPf1a~S5O$;msKjyAP;OWszU9g zbWi`#D8%OwXGG;D2!3D?EoKTw+Dq+d-$AM$`*(m}Xjs3{pumQd9~NpJ5EK&Z+rn1z z%Yqd1HH}oCl=pRBXFSgX`ePMfU3t<9qkW^3WTz@A{8fhrhxi4!tIAV6qd!7|0)oRr zRWmwE`ThOX;ne-AUF0A7Atan;4#nN0{DMN^x1Hq24pNN6dQ#N0#$MtB=w@&3<)Ko{C(Tx=4Jp40~RhEuYd^#!We?W?H_6zh?hxmns zdW3s>V}AIl)#}C#8>r%)B>T2h56ZV7h2Ql_Gv<%4yMKSGx;n+terp%09N#B`0@WGk z6Y|^7)7(2S(lgS}E6i8rrS^6Y_YVv8^rsTUZ=n7F|BtH}4^qVMl45?J73pP34Je*O z<_`FVTnZxuSG}jyj&M?xr=2UK9p5O9cGCUD z+}q#X$2-&y@TnMtin-Nc%~@Q1gsi z8tu!$?jfP-tHi^v{IpD<-{>9*e`ix1{`d=fwP{e$FG-~6|5>CcH-QxXn2PvO@)G&A zsFT5$68Y2)^Wc!6V7h+=dGu4M`2KH8^<$r_C+t{Jo(aY8lVX26M~d-1L<;{(_)GgA z-OSzn-M!TLC=Nf~)1-r4-kjMBJYg^|*+1OH%BQm4)Udg}oQFd!pPy(rTo0NXuXgR3j}&T2hp6JznasI<&Sh-gG7m ziw;(+^d?CCU61lH?@dWDKlq$bg5ntG#S^7*$VYL^n{VT!dT8r3_x1}^bNvIuL&Mwy zy;Qnn7xmSjEZMCzW%6%?g#GlU_y1gr3?KxVu3UduTmWIFO?MQe67%#q*yP-6Q%jTn6x6r-z7-v zbNC`@UmHbn^y@WJBhooZQhqAMOHq6cDaK`v&<;zaa&?7%UM%&KF~w1C=u&AOUMI!) z94E#2<)wW1N7FW=KZlWGU*_irK8Nx1O#tPC=kjWLUJndYsT!`5_?kkmlcK-RiTDwr z{_2Q8szSAm;zcRnORWy3!QkCMo8DpHE;= zh??H0P#pGnf93lKttBt>@L-kSdZ}G*LWA*YhGrNkohZUoZX2ZhgH#XvdQI_yq;v=i zardTkka&(?vQf$pqBVqeM25Hr2h(2Y7wGNp=i?g|Px*Sp(W7bv^7C$%;+W21YA@9m zsvqrChlYpw(Ppj=9T2V#iB>ha4=-$zs2s+B1Er%~v3{={J(btc9BS&tO^NTHq5 z{H;duf)qC*MSr}abolc#S(?{(Nx{_?@v@}IKfXt*H#kLV_ptraJiAVcc7NI{rTYX0 zd!c_;P#o**C20ZDZbIpOnK?bu`Ig%!mCqy6bq-2)E>RroqAe-rqngsu4=>3s=KKCb zQagi%-EoJdd0zU6WTyw!3ws49j`n?~e5{Apq(~n^ig9!!9`$=tdCa$V6i2_+5n5j4 z>yV;f-N_%cvk&=!`o;_YUy#DzE2LO&M@dnR&NU%wA9d6=ile+=XvXU|)gp?c9rmZB z^p&J&-%LtJe+?pqKLbcHPBx-^15&i78Y$*U5mMOEA_dp*tdxF&`~pklN!$igvWUDV6U?arkFRiuSlism*DL zs%wjQWm5R{ZiUo7evahl#-ewmap3c1>}{!@fuyLHpEtG=kN)L2`_1v*RK6VLJCVZP zIVx{Ldgq?x??qC~gVFb;{yIo;j9Zv{u)7DnKV406w0{9{7&rTe(z&iUDbj0_Rw9jj zB-Qi#{`~uM?fVDP{cH%;SCP0$kEMEoNa3e7rK6u~kfMHfl~ixfr_wy_LW*_A=l0*v z>D{P2)@Nl>lxz81;ya0Yj!+!q)STjIXC0AFwldO5GVJp61D}`qoXzKYKF9O9ozM6D zT*T*oK7ZGLDVvd3U9-l8d^#P5Y@gix#3!>^1}=f`e!Rb7H!9W1IrZx7 zR>q&ACfZgQI=f1l&RtHKM!jy;WXhxcCCj;%JoVw>tmsBXcTFFi=+eTlS%acqP9)#; zuY7f>ZS-;Ty<5up)QqWrXxRHMlcKwslpNhC|DsBH`c-(d@8zS2F@*{~Zcu#WxW?U^ zRlVx-uukmQMwWB!!`FFVHBC0Y^+R{}{{4%W4he4``)Oa{(<_Fo_rE{C?!1e~@*M2e z%gp`xoK@j@Cl3xTzCF}*r`MQ~mCSU5XSGeZxiYELuFo~<8(J<%pXAr!b$*w*FUoA# zxo_><_<3b)Y9}v_Iav3Fd&+624(2Nk>|0r&tbPrP@@Mj%n>I8oK5Dne^BUT!^X)gj zoD{0((V)}qNy}O^sD9ipaM3jb%NfVclsBretx0&ogSN9)jQKkI{pWV-Ir?9m^497x zKsUOh``gP4Z9gCL*L}U%dF!EIy?LDtL!LQ!4(c+o+R$OIo<}#gEtzoM@#5&W-NIYz zrh7ejc7J@Gckfp}UD0QM?9xwBUQR_07j_(fd2RV_wgm@XuTb=)r+KuuYwW8s-R;_p zF51iAf0Wkz(7aQJc*Zr2dUJ3{@cb($FRUzd`Nz-Jml{;izUSuf>Q!*}y{~lV-+Eci z)!}02-tUgx-B+e^-d%nA-dPd-BdC6&ajS(Zr#~-gcz(3Yg%_0u1{LjI&h)O?z5=E@ zdT7nR-ZniU_`AQ>`e0L=Ypa9mZuWoWx$uQo50{(G_u1IhK9E%Ucxnlc0hKJR^z{EZ z*KOt54j&R8W>?Se^>cmQ4>xjrX8Yv@*URNtfA@#E(gp_p&Sv@-Qyl$LwSQcg+GVK! z?i(96tv(qrIeoGHyS6K8xn6TJcy`6g@OE6&z4?a}eCk@RW#Xi-=R^1Yxa8Qpz~v%M z0u2m1c9>_l?OB=8yZcAK-E#GM%iTl26jS&A(cn~k-wvL7rsG|%-TiTDZM6o42Hl8h<&VcJLaxUVWxU6Z;*D`$dFD|L9q+eandj#@pUGJ1_otnE?UY^$xC$ zv^LPP8I)B2vR%T`FO8krr@hk|+AzNRDzj&WM@Q`L<$n73i%$86*Sxei>#PlKQDyzk-W})m&NzA4?X{1$sO%1G za=yIVV_u!0Gx5_(4Qbd)Z;NX6$pe$>cYO3|>&WW)mX1#}t6`VaVnRs2J-uz89v+;x z_dLr`;moxc*BAV?p_;}?|%J-V|KM(@x92hx-FMf9z3#G znGeeh=4(&)p33QaYt6gX%*Dty;-2k=I(D(W^((b;ZaJ$~uTzCOU+l5vb@j3NsxR!k zc;oVB723NEoNn83qSwp~yRRL)y?2Dyrd4x0x^5_3{=xXzWOJW=6M7rBti5yl)Dfjd zzZ!STw8EUye8qM@hkqI6@_hQ1LWfMRILvV{EnDB< zpUP(|Em*6bQ{;Q>d6T&Op)nOl-1&U7zrT-Zzt1mQ7+TzOeY*3()W=tEm7aQVruLNq zF>_kgtNCQb1pUjG^9CO^y)pP)iO+`SYey6|X?CE(6vN)`J9f@B>v8t`fp3LxcIEx1 z&7_LmEUw?LImoElSHH2&-j4T|^`Ggnu4|nlv(Dvht=i?eb>WPbTFtdNpY3tE;m1Ct zwRCh_&?zlBx}BqT`SxQ}wzZabo3U=#uqOruUdN?f*BL+QBxU=8z z$Ed5m5BwG<71?fJ(59^Mmx&MS>t8m}(NDbXyy4#KZZ~HYvE5Rtud}1k3+G*S!_R0} zbsDKX@!?zdCv9wG@Nns%7ang4jZ98zAGpNkM}M80uf~nL zk-y!55l51KobCDO;Szft<8lFd2i#k4{dV)*?u5_-pKES;aJ~j8MHh|SK5g)A>%_>Z z@i%8~br|!gPSX$%H%p^cku4sMo01am(52Mw`Pbdz=lIPWVYKV}adVfw6+f+hGqz)B>U@wyLs^w|)d^n75=uwL)Sx>}By)O$zAjcxH;b-m-uhXeyudAvN zDJzb)4LSU@!_vDuTx0C`KH=JQRiD^mT65O*wlUM2GymD~Zf1I=J$3C?#-G=(lCr5w zsik27>gH#^PyMtsac8+aBMMtIu)h1z#-Zi1r~lR~ANaBRiswgc7M+X?vEA{i)>ZRW zjrUL7I=l7VGabgb#fCe#4p&c!dH8%3{r8Hkb{pr@S9T2}w8V znS9xQ^Xa2;H!Nnw@p`r0^7GEEUUys`bs3navrGK8$!Qbyzbsy@t*!s+Qr82w4&U0k zO5f9QY2u5|9yj|G&);B`Nw=i0qkmREmlm$Px4F%^+UgcV z3YWYevdup2nw{@`gX$w|>*x2VFm2Pb^RAcf-F`Q9W_r)dw(V2G4EGx}``D+`^b@Tv zTvr+O4P3LUQJ?3AqkIn9?^!XW#nTS=`2PR+=&jiyE+&;Xe<^=$YRtmz4F<=?y&Jso z*7H^Br3=p|Y&~4I_>Too^^Jn!&gc&v*J)0d*Nc|-I6Ao3zy7J;JNJz0v(4zxjk9Ne zJb2#B-ThcSy8^sF@wx2Xob{K>3^sYk`&{>dOZI#;ytURX?Tv+9Vwv$}J_o!^?r1vU zdA~tp3N&q$px?Ufb$!d1|CB8Ls8h9Z?e|wcw9KihaX+2sjh zMap&y>w4ABtGrVVzMMMX#`7n0=Q`C+?bPm`f14Wnx9#X##=i0Vu6n1IzA||_Z^F{o zMGD+;D*tL%@5^>>drO}RT-K}p$njg^exBXkMC-_Tb=sHq1=hbDzHe!z{^?sAw0LJd zcF1n0m}dLO-h8=W``xqsMyDE1-fq2m$jp&jwia)pGveI>ABQGehN;VLOn8`Y{9)4> z55xL(eizYr@8!GBjUq?Qy&m6vdEA*3x9|0M{C!^Sjt|q;)H+l3?w&CXU28O}Hu~hJ zdSBC=i%;71viS8!_p4kev)VHLifi1rX0g|1F8B6!`gZ={CChhx9u~PVVR!N7pVz+r z@a&?^$5Y>aZf(6Ne1Y})mzEHWr~h;r`gZt;!AUnSub;l5_=}GRR1puW z&aQs-(XOz)RUelKDiqz%q~)c3AI7CFTSy%4KjJaQzS@f$FR>rV$vEgP;C!2f^(=Gr^sbjF z0S6;L>#ZzYuX^;!IS+g7pFf}LKYDdjuaX9)Gv`(tP<^N4XX^rm8jU&es>f~Phvho9 zEm>`GL7TIm_RxLtLRfokpTYM}e3d*5QjjN)GFT`TUr za--xON4M9rKb-3m)Ol-9<0D(68vc0ptk|^ocl3;{^R=+UTDIk=s`)=1y_MJF_Mtb;ht$kdpwPgtTP%hw= zH*Qqu#eV27wwqo%@rXX#8=*CCK;g@K-gj>F@TAj+SEhr8TtDMe;>gN&J@2YUpBOW< z;f8{G^-TjCt*A9(g3|}%D${i4S1G%pMvvQVk1Tk0^ZR$Lk0JTSezv+^X3Md>gN{0U zPg>#?e0W!s!S(RPHb0Lx9OXVLwd3-TJ|(ADp1t)_hgPo14g);f=zki!u!#S;akjgr zUrDZTe@}x|Ust!=Z1be5-qC-zPfNaBx&OS~=}W&vU+cbR@xlsG2@4XVN{{Z=x}2`t zMR$km^Y2|7+A=L)>|@ulu`818%blA){rs*%1=TIe`c_C!s2o$P=4iDCKmYRc1E0hA z`Q~+V|A^{~A9`~69nLX>))igx*(L36O@j&@2Ud)*T^~}ycHh1tkCWSN@_PHvZ1b5W zsRqY39UC^?+Glm;`uQt&?$D{{gs2@K8|yahuqw^$ROM0aUsxFy-LPxml)yMXFY$Bm zvDm>yN@-t;3jEUKbLW1J#$C&_KUd-Hreh^0Uc2XV^3c*}j)#w3RWIvzuzQ{Kf|IsR z;r*5GBSjwh6)CgDA++7#;)^`o?k?}@aKg^L=;k9=%$nyL9X)o;$KG8geGffeqxSL^ z`yP$<7*fxF)BEFRe0`2o?-LVw*IPgN^FaTPlRNg|=lDY>o^2W0r_+F=>#gJCqTCA} zoS$~O>fnfPhD&Q5cz*BfMcv1<8U@C!E%f7w>4)?%!}x&eChotrb?5 zK02+y&C%;uMb)@tJb2&1z{~YNJ}JDZn!3N`%y9!Q+&HqVRGWS!caN+0cy07F*Lwrf z<7QeNytuuaQCj*Gubqhx-p-4!l+t;|@(=C@Ob)e+EB$fuqKz)!hn#Vl;8MM<`PtN0 zAMIxrvASW~s%qhw!@X)w7*oB4$N0uYbbF_btMa2o&v6AtwY+F-d-iC%jioDe++W-* zU(>oBoy!crz1q?)IJ(^E1I=5Eb4dEq$A551-R|Y=%8fjx9{Mygr2F0F_G`{XzPwVp z;oWi9!#3C*&mX$mWz|}3{kL7iUPX8RX_$KNO_iH98V6l}F`)F$<;S~vO*}eO@5-rL z-@2{t_0GiK@uHJwk;^sbyKT!if7(g2k&lwTw{$qR-FHs>i*=TZN^EhdR<7*#VbfMV zK32K2N#enlH;SuFpN^iGa(1>}+J{-)w(1RN>Gm$-YwLv7Z?=t_8lV5+KS@R6c7(_7 zvNB2-6d$|7x!$F+`))XGKDZ<(e$iyhW&Q5p2PJNw)_xjW;8{=ko$LXm< zwN@{^9z6XtZcwMPZHGrZxvE{Eh}G<8#)F)?T^qUIsO0IlL(VpOp=Ec%(DwL>vHDka z+ueK9QwCO%M$}8B<;T!UFE{$hWy^8W~tyAy_}+7ZJM@0yYST0s`M2e zokpcqh;hC?uv*Qs|9JQFZTC6yPP3h^J+;d2y0vYjq0xd`CACkrFzkBjel4?uZmle| zef@pX%c{JN`@2YhjQ z*{Wx^hV~_z%rR?O>sp{?>Gbt8+vVvQ@nY_m{hkrYTOudcJXdB(L;HGl^K9Jzq|ca} zPxGFBUaI)u^JPEB=xyG+dic4>#Xk*;R6MY0Pw4o5bGtWazcg^|)e3p@<$d_BxJ#ZA z5&Rs<&yD-;j5vNQ+AV<3m(8oJs9V%}>LR_(_T`M@{locrLp`Z@v*{-`d2pQl=6J#8 zmc!R+O-;7cmEK}dt zn_oLN2&;bdO9Q=`<`)hop4+`?Nbuwu-f1m2x|sj-Q2WN1!Exj32Tr@*L2Ki=zGIWi z-8_0}W1CN>4coU`@}b|8-}mR=pKAllzu$Z5YNaMePo92Ori+_JKD$AY!PQ?`PurH7 z>StPaoPkz{8y~j$EbbcrAV$CJ!WEy)*T-~ubTe{DJ&OtlisvzHx6f_PAj6s=d~W~! zoWA%(Ty#Re^M2E6_lT{s#j;6(pyr34In3R~_wnQRPnoNe9q=`J)h(G+|K8FelFs3KcBxH(%knoKG|@2dZ#I` z>pn2^)xwMaTm)^w2G9p{dcU8a;`BX~N^ZT(Z=??`iATH!U3ut|6PQmXpaJn<=qoDO zf%%)n(|02=@H?+;ntuOMlr62JQaKAANlN{XApRfXNiqW0E24iDE_ate8^O!%dsNDN zWnGo35%KUlCwx!h;XioP$?c$zSq8R0pZKQ4b6jcvT_zswXHIS#*j^bLboO5^i-s}p zNId+{Y5z?UJZ$I0{$b)V|JlCWI@td_`K0-axDp?jcO{T*qAX%i}J&+Zc|4zJBF4}KNU%F%d<+T5ziEk|0Pv6h0cpuBI5$yjCVISj8 zzsG^!?T{6i|42OMFZv#JaC&x?aJeS*%M=)YusIpO{={1e`>?6B{o4c&e_$WuASbZ@ z>BP6!u+Qn))xqUj(l1wF{lPZ&Ah~_O{1DcR5Zm`4p6!E|8<I!r&{3Co+Qu_jJ_pF<*AtKV3;VPcD)!%iemM>2M~pqUAv@d1 zXa8-9Z>HhD+%aH&H1V3xA4>Z_jd+}2=@^g^l=h!#36-iX@$8RM`w_(35YHUfBi#9` zaJikt^Z6TdM``~RqZ_6**@q#Fzuds~ors5hoP7{DU5fqvCzmT#QsR~D9h!D}5s&i+ z?;YHaf43~B;#^SCSJZxL@r_R;sKQ)&NO(Jw!CC0;Hkd7s(Ovx&$4#r@Cu*(taG zqTrRx9n{Ty1tV$xa9nBs^(UU+KY)cFasu01PCU;)xwcV1^LK@P-oND7*5u34!Gq^t zPV9Fl-ipSL&ra-Dc7AZV|JVL6C;u`3uz$iQ_Din+4~e%S9_8h-nq{k(k?dprgO@u7 zY%90>$N%g8&+Yz`+x^3b`XA2^*uRwQVch?R#Q0&|%N;u^`oFo7hkh9z^N;Tza(!U? zzQptMyJo%koK;|c?r(fnjAkD5CyCcQKWLW8>NE2d%1ZmM+;(%F%)1l+j~GAnzuYlk zKAw2&zdU|Q`3uD3{0qO(2EGp?o>gG`-t?CU>@|4WPGkk&=vza7Nm`4Jo)MO1Rn0c^i2y*Kg}d{+Mcp2vJF@y#`OUWdPz z|2@w9G2+`0k2pOFE1rKvDoXEPxjxq4?fo9-a`wbq3;%fxelPo{IP=qp$N3HSpPcX? ziMP?{Kd$#rHZ{|@Tx*luy?>4*9`@ls*QsgeZ=bpBF5)r&Fz>Jj)czarTRQVUiMJN* zN1E1e<^C3BzLja_`~$0$pGbTIvX8w7m(uyWmw3ECLfaA8FDdr-pIol6nMzfMc*HRV zas%_0#AE-3?`S)xXIBrGizFWFm;G1TfBT5H7XHJgQeL}~wEmT>eb{0D)x>M=Kgg34 zm|sLZ_dohjZeac#@m)m!ahjYuxU5NK>HMO^HtJ`-5Ail+Kd1a+;x)%#>HXsg@tA+` z2RksXc+YWAjU*h3EKffupzmjZ$!L~V3hX%W8%^Os1H8KZ3EjktCsov1{XLTpR)>F z&YgJP|8g?_b`g*LAAX|`l=}Z#_>cJmmi?lSSq3g=UOn^uE7J03No8g-KaBYL!hd>| ztl0mJ#AE!q-8>I6E&cfu+kZlQ8{!d19lVbIOl77r-=v00WhLx$T4t%gf8w&^h;OUG zE1kcmiO2hIu1~4|g=?x*7Q#N-uhf1s;`#msAJ~t-w_M8Ma*@RI^PAkYj~bZYBY4E& zyHfu@=F+}7eR+ia7xsA$(#LEA`#*wsJU_Dk*@B_~^SNEWC&@nde@@0<$6T5}Jnz`A z?ApQQ>Ji_H+7F)7vSX3YWkZSQ{?Ez$*+zU{G5@(vCH70v;;|;4_Z_A4uRHO0|AY2( zA1bjwhj{Ft^fg$<+?P8CxviIpw;~=Kw?T>h+VsGL`xS!OejD*-kG2MVQ}4<=W?h|0(RFe$97(a_#q`#ZO(3G5_I{ z(((UJhey|3@Xif$$FCyZB^UN__;bny@03e^8SxIeu%Ax6eJ=R6^zy1>F8FE0>t>>u?NZB!@2#}h!he*ndHk5HCNST`T6%v07IPoZ5pn|a;l$Gx z8UqG~mG=L7VIQ`^D?PtfYMt4Cgex9D58~+vmgDo|9OCH+5rbzJ9l9#O2^oR=?=X|QMlR1B74ZQG;c{}3q{sk=j$0a8)A4j}3@nDWBaDaK;Hkt3Qi%}hhs7OX& zz8Ud&er5kTJ-aHn+*0DH2{C#E7|_M(a`~!s__EgE<#qwv@gpAVpY1Eze@wi! zXg_>lzvyF@fy-T@hhKUH6N7#$MVH)n7|iQ*kmeu8j?=OtG9W_}{^ zc>jrhLz+_mQ;Em@7c4Hhez5(I#M2{C#`_n-We4W%Y4gJKUm@9~RFL_(#M2Qf2C2Wl z1CdJp`6u&Fh^Hl#(SInZbpBb8^B6zOUCaTwYl!Xp3LgEAi___2mVwLV_Wk)5vXA>0 z>O|bye>!$!d$O!CzOFI195D(kj2Qu*g_0ve=v44Sq?@Gt-1@ZI>BL-uK zpp-Z5oOyo29*LEdi3yO zMLheiwEZ24=l3_*yNYCISmd+)p~S;~*u@&eB_}X{g?QS+GI*SwmCoOa^zzF_@N(M@ z|Jc44@z_6dI{&s2Pmkak^9T0LP`Ql2_CFAh^DkK12V@84Yj*i{|5SSa8Ad$!pKRk) zknN`ukNY23?n8XeE-?R%cnjjOcVOpmxZC*olrzM~J=FWAT`aJfX{dHizH{@29g{0#q5r`$HMeRFzwj`8QX+&RGI z)x_iehqfcgZ3FX3#AE-4-$+yH|5f7o`A5kZvV8+*ssA~SHpmHFzAN!oqW`e>ae8)j zaJkvU^Z3baJL+csBJuUeK97HPb~&H^06dBC7p@(OBg!y0p zWyf(o^HYeYBXA72pT~jA{Y{y_PCV`(;4z2g2If0=mwtaAJg3R2gUc=^o^B!kTYqv` zlwtlO@#sIk_bF|EhaS@SW8H&Q%8w=<^B?WU*el&Xwh>>8c(ez$mCm30#AE!pKUk@% zECZKoNMF8K5zlRxI|rB_Lwsw&qYwB#oTYKfWd0cO+<)+a)8+C7dP(~~`du!Iy18s; z;&J|f?@9vmqlw4+6Fq`CO-?;r_7d?{#B*Hf{4=C4zwrKq*B|_l6WE?J@n}EBO|EU! z&-^6fF@8Di{{n8(_h)kFJ-3bRyAp3L+K)Qqwt@M0;;o3syjS7_^J&EAX8siG^XvF? z`?6EE??8NWF@9i_wm+8mro=00JM6IiBgEtUA$Q$_MPU9r@ww^0hJAm1|E_fZ>PLJX zG5+im{L3zI*|~kC^CO;{(T8&Tf%$ae(f>K!f9kqRg*}a ze~h18-{At=A4xp=kK=Od;PShOw;~>Wk4tV~zJ!;=!+#}#d1vCS$v*qdnq6JYClJs3 zk6adYGoMC0=8xQU$9^$yrIyZ*+;^;8?r+NcR^s{m5C4_!KY3~LS!?v)-|YRK&i30A z&+7;F<&GosV}yOV?Pfoizd=0OFW2txd_$ki_a{o~VEaMDqy6ajoXnp!#AE&C6^_ZR zgY7>gz5($Z=k{f%T)wn#=D*(rMyY*g;%Nvn_P?C$Ujcqn`}2|Qoa~?O{pkM`&V_xg z{+a)NWKR6=Lws9dKPUb#CB7B$n0rQa@wm{(ECZLT;h*{MXJPD=j^9|~G5@gsxXvsM zi%c%Nm-yDibKF1Gb*_>DDGS0V32d^@tw?JlVB_n+nxkNuz5FV~Zu8{FQD z#N+&l{sXI&FBq8l{+R2?&NlMdehcFJlKq^npPj__5PVMNe~BQK$|@JUGx65B@P8HY zc>dt_EA9Ws#AE!KN8ic`-2cskrQbgRpOgMuKs=sbG4=>tuN3?HPcCABz1oiTO0*asSQf_>~HgzW@Av z-gv0P+%0He#xF2=`{ZK>tKS`A`_9CV$wmKPBR(P*d`hTFH82c(nuOac6ABJ?vT|+#7rW23v-?4V^4FCH)q@+Iv z=Jjas=@nRxd0*mN<$_Np-XRzKSK>S8f^RoS`u&TX_TN~5YK|CEHa?EQFlm7luPUo*5 z@pJ^uvHi=$=cfN!#pKTa6~xmcV2=GSHavIsqlnK<|2-r=H~rUTMDF-q#OKEUY9poZ zZ*n^SdW_25{<)lZ`U*S8zUQua^D%x@x|{jcz+f`3V4KHoU${TbFzPIznL z@%*YqJnF<5P)=a`V~NN6KW23JLpI9%F5<0-hh2kg7|m?vW5!GGUy)aau6&w>viQvW zS>l_Keb`1HDm_1!o$%}X7t|pquzg43+mL;Ig5Y~$IWU!Beh%@r#3PO|RNDT##CIT` zP?a%$$P8@1#>C9uAII~D+`zn=_}n}{ZzUe*H`pyg7y3X>VEek0r1w8yz$zWTcEmRo z_Obp;pduN8?GGm&?>~9{$=ySk-$6XSe}KudbSYiG1!6PjFXj%{i~6z(T&^YYEy;cX zDol@3vIFzBlcoC?z=CuYlUW1vbBJ$C_Icd$D&)1NNbe7L-YDI_`Vns-?6VJYTwwnf z5s&%9tWy846Oa8H_3@>|eyOP{l@;+AKa9W9`Ikz3E8;QlFm@P2If2_>eA=(`pT{A) zI+*WBJmw#-AEo0rfq1K2wEsBq*16!zPnY(;oc4dOT=H{?$NI^s{X4{?|1j>D!%D}m z=?tm;Ipw2>?@0E^bjIKR;B|y}R)Ob_&P?g|ui!UdS#g}lyd&}U8umFqJ7stF@F%p9FiNDzev1|Xg~HJrS~t> z*%HtDmeTf5CcZV<2d5|3c`C>LpCjH{wBL-*YV@@?CRih!-#Jv`VaRG zrTgz@4g2UrrRT?I#N+&NpFprm`@doh{d6X54Jm$6HrT6#nA8DM9GFb&K=Sn>LpH=za^O&DOye0Y1e$!b}R$%@%@mRmS z_whcGT_wzW%+37%5{%OEpHF-fvJbWxe#i`L{}S=k<`~3rDcwH`&&zy%SuE2wim`n! z;;qSkDM~}%DQ*8U;;l5=uatj8d~3lQ2p>qY4eWpQ`I*n}=sQl&t^zLCn|Sm;{Klnp z{>&mC>yPKJ()OPq9{V5cq7J!pi2YYB$o%`e*n5=DpXS7CuAl$aOLb)xxZFwNy9)o& z2BrOHx=`AGxjxpcY$K1$g%IDK>?01_oQ^VC1unN!@L(}^oSqenJT6x+A@l!FK^?e< z$qCFiNmQx&Y4o2Q7G;=ECEhI;yvZV!s;>sm^B6X=3T%Hd@g5p{R*YsI^SVjW`3HT+ zmu9)YeP+G`@pc;aIsI=Or*paO#P`+UIX^pP-e|G(`xopxR8C;ti+EcN`?!zG3Cyq6 z;E~4Z+10`2+?V{?f7x-I&-}Vv^52Qa`vdMju0K0v`;C`M@1GGz9h@$gpG{ePb>oa zCB^>!lgoJ~XZAnFU#b7AiHHAaKb=D}*1+GbX6CT{ma8()@0^xd>hGVp>>v#u&(D|x zasu-Yi0Ac>G>oB~zI^ar}u6d`!`tjOD;c% zcwT>U=ML&-J6njy^HX6;Gs@1WMn3Z|iEl4;|)xLmdMzdnCu#c1X+A4Yr& zvah7=sE7HDf|t8)*$3v|5Rd+oyYKzZSKA=9pVuGfXQyo6k9f2n<>k&@lx2Q7@z}q( z{c`JI{tNLqe<+!|n)VxRl;%IL8?F~+vI<BA(Cx za&2q!Lx^uc?Z?><_LcVEPU7+W4%--exjwM}`L{~>yv$)pNnKk z{F=#p9Pw7f^ZvoLF)nvk_^+hxsEv8!ZPNQQx$A~KVZJ}{SpRbS{dayb@wJJ^ z*cYNp?i^(Ms_oMJf&aLa&YuRv!++F=HYnx&iSI%@p*ga@oA_SBzFga|#qBrRA$|V} zmeY`*UEs1l#JiAvw#_P+-%UKXA7?nZf$dk@DgFHgj?0}#Tt1rkhU7oiUrwH1*Aj1~ z(f@MS0o&KwmAU_*@09kRJ@FmLKI~%tE9K*ecNBb1=D+T4>F@vK^!&J(czd#s{i`xv z+%NPo%fRIdq-4JT&l318llei!^Y6dlJ1C{|XX<|G_a}Jl^nbJSwHNP#JU{=zmQw%Aq-OGRS=fQE z2+qV~|HfzVa_eAz67hWgL>lI?oWT5X;x*f^lrMEK^ZhyMB>r2QZB4wnuW$VQnDAl_NSzS91?PCV|Pa_2p}#r7K?&fWT5Ks@$e zw$JsloxdrUGd=R_{88F}y?*1B_TOycHJ?9~^0$cB{QimC^|y9&I+v?gIac&fk>FB@(YW|COFUUl89$j6ddp+%pi{uY2s*`yZ$O&2LWUa$|qvc^-1PzbW%K ziPvmDr~i%PbS_u@_^<0PKNrYGnIBEO=KV7p?0?zJpCF#+AJUYz-|$4{`~jxVhr>_Cyv<-ZZn_Ybg2+u!$;xEIxDpwZAC+{tL$$2~A~;^ZW}Qe#i;Tdl9d>e=6Poj{jz# z*FknZuzk;~zpj5ym&@-Z9`_ICl(zrdZ#>r{*M8$P>HR%(O6~X0C7(dNlUV=oxnOpV zi+uL?9r0Z?cuvo*8ZOuV+OOx&>^RP6eme30i1EwG{69{7H{m~crSs49dS?4EcI+4X z`8VZqQN*)-q$%CM&JyoJ{$t%??6}^)+2wRDxAKPc{+r`+`;g1)+|0axpl+qlZ*IhQ zC;!2s|L_i5PGI}nh_@5t2TtkzL-&@n|6<(bwjFlZeh1>4kbUqu>HiVJKI%kJ>i=Ql zv43ISLk9`B#I zd^!G*jWVCxfB$maoy_wKOrjs;1h#+jj`aNz;)UdZq73uKcQgO}Mx-fy{_0G;o9I9I zu5|t8)_!jH@7&s7MeX;X_GA8`|CH{(h3{ql{Ug*NH^3HxHSzt#`oSKqbpGVIpSk~{ zPPsm?{Wio~k$vo6*n5=nvxsjm`j2qgf$iTUz60^-_hNJ@wO{2y=KHgpw7(be_8R_I zmDvLJe--g)Kl%>qm(#PWhRY3mD4m~k%3mNJ?+VC}}pqBHyH9PteZ!~8Lj z$)XtB*L^PSA0;Ub@BfP+Q$}FEBk}0Jyu{E}B0DfYiTGxs*~zl$O#d%x@R&b!W!Ay= z^BuiZaaie3|+G zKjehpPdxTt*e^qu(*7&;D)ZmZ&WZh4;;nMg{!_%``6s9Sm+y7%?6)Hx&!0K9KazMG zjsE9x6~p{j;c`cax6XzA0&g<^{qLNNzbEk_8ve^Y1F`>?i0AoVnp#`nuPy$+8TBX$ z7wV!tG-Lmydr?NvRIE)~x-hrx>B2tKMW};N@*yKYkx%#3jPNH#zB65@m)>1v1St0K zzH}kqoh}3@%BksspFVUU-x=Oc%Hiy1<3fh43duepp7Xq=<)$I283n ziZ~ScQFP(nF_|vR;aPMcXe#`OqYLHZh0Y~K_>4Gky3jqpl z86p&*sBbl0@M9faD8HUA1SrxsAwoe@QEoF`&@FT!Kv8}>T}a`2l5uk|E?KWfGz0F8fsh~)IM;GjU5b=+s2vDS_(}i-M z=|ad#^P>O?Baq^wmQZbx4#mej^aJ(ligY=OqIu~DG@sD?h){r{p9_&<9_Wj7C_WYy zaZN?J;v&C<$cMtOl0uC{x~5{^un_6FQPg82>d{mrwV@x-wnEz>LIH}8?L{1lj~zrD zijTG;4#mfgA`ZpJP9pv%MOJ4~&Q6rmRP;|5N{2d%a!#V0rXtB%q(f1@tB7kV#-Tf< zBddqV*Hk3+6zNdZ)0-6gqo+uR;-i;{L-A29;+l#iZ~9?GI#lFC;m2?h|C7S*NRbc4 zd>bp`P<$LmKX8AG74gYPqyRrILRHQGYbYvxn zd?-F9inylY?2#CxexRN;Lf4D*4alURsqkx)NY6@9Zi^@f#mBAm1L@mEIusvw zh&U75NE+!mslpuBj-0k?$oh&OzbTTwiTr;>zNRASyGYkmtn)nNgg&VO zDeRSkQ@<(f8&f*kQ(oj}r7%@Nl+#qyV@B!7s!Tufk=7!G-MXaU>XFhPRRjF^O<}*W zNQdHM6A_2vV>1zl;-e+~!2Pq0h_@q!o%TXIkixIdBHx}AK~u|6+)tG6C-R}Fr@v5t zp#eezg$4-?7CJy^h|o}>VM4=&MhJ}*8YMJZ=s=-^gbo%uMCeeV!-U2N9Zp)1{GKS{ zlZ3_!oh)>U(5XVF37sx1X)YwgQOV8TgViOk9X(?^d9{{J@*m$O)*cO zQF;l|A0q!x3O}{*Ln!8zF2#|QpMC%>DDt70_xd8PsqmvHr9+E}d??}uLW`54K0}cY zg`Z_bT#ll?a#S9Envf!HDtIX3W+Dznypo7R5wA>&cGM8*St-ibq;jxVTa<^Q9d${O z)Ih`=k)qyaLaj)_w<0Y}YDY?cR1Wk5yb~$*|6U@!4>Bo0vCpYVQO-xGpGXfPEkfx- zNa;_;7w^!K_#qS@$IuV(<3u_X{){JupOZy86z9(+A`ZpJQ{ z$|v&ki+ni>6MCY&rea=}5b2rMyig*+$0u&zy(+}{&Nx_W}I#TE;QusYa#K)2% zKw&Rdq)!&{nWU&Mo)mWH3r!$J{fQ#Jm=pnua?41Ov{J;^kizadk-iC;6rlLHP3SI> z4#mg4A`XSUeM0w(bSTmfkfQ#Bq_BU4l>Vqri1bq;{j5m8DB@R0!Cw{e>q2h{y({zq zDej9eNMYv{DfWl2BLBNkbQXP7>5#&Yd?KzVRG$>~ijtzgOOj$=t3*nFRMqJR?hkcH zQGat%)MrHsyVj%#e^S)jn)0DGLfZ&!OG!G*RS3(O*d- zuBoVJg~(qi@}U^tjihM*CZU^!ZXu;Vs+}Ufixl0_p=js7r0^#X6#}PA zivG_}iuwwOcp*}t#Yo|&p-49(1&2^iT!=TI%Yd%7bRlRe`2XI=Oa1oW`*>--{r5gT zW0_>Um&f|id=HNt#F75r`*^7z{(B#fSwZh^u}KU4?|uA#@8kb_A1|#3yqCv*nbmuE zltezt{r5ipzxVOjN;TiZV}2lxbj|nhNJpHGzW=?Cr^SQw{D1G`rFrt-`*^I5U*F5) z`SQQ_@zVVG?|pp6^vHNGkA3yO_wmxa`0stZ^d3O-Jv?R#;{Uym|L=YLfA8a^eL~55 zc&s0k|L=YL|3AKu|Dpc_H`xDQ2C7d>CDp50wT{iwt-iB6^}b)XYkb<%ZI!+l*Et=r zVP0cri;Df9ENkXw^SI}Ub=%s{_%O8f)Nt+518;nNzUoZg&1)PRJ{xxBbmPz~8uj8? zoP*BOVrv~|j=y~WVPSK5T6t6CuR=fHpFc)RN^OnA1m_63c4@$ADv zr`M<9)4U2q97$iYalGrbs1>)*fBCYtX-iebuMKq@nv9%Vclwt-Un<)exw;>H@oh_E z=g!~W)~i_S-tmFoAK6{))MB|tz4)$$gO2B=5qZ8j)jm1)jl-o5;axVKIdiV}*PRzn zjd`-+q|^Pg#tk|Qw)@gE>B^8NS_LL8FRx`DQF^I&aLA&Q*UV22?%u7ZM!k4u<)Bk~ z*7oP)8nz#LZDd5V(NVYGmMO7atNqFjcG_!BwskAw=RL2JW490QhZXNyX|~~svG=Fm zd~bQoe0fu=6&)W=^hvILNTXhy@j2*(&9~3n>%fcaiTONJYZtU^eZZr0xsx|vwd|G0 zYt6msPQ?bNd_2A~pxe;3MIWXO4t%WM8RjypO_{>&b+>JcdD9}+LZe=MN5w&>YtrJA z2Df52PqH6TF;LyNNK-G5Obg6qMyf4ySW{{1QT9VW-kJK83yiblQoT`dke526Nn_9`0q zsY%lCM9cNpYRARZ%JaT%!6?pi!$!i z+VQ&n$LWg#MlLZwdcL2x<)xJ4VNO&2jVPoWw|Y#ov-HQ#uh zDU&~b(%RqacIuV075&zESs#n@98@8;VuRDbqL`_F@mHBa69 z?*7`x`Hx)b-QwBWvN7}SRBo|u_WW%+ZAVs2cJkhyulmg7ALi{BlyMnazWRY*bp7b$)~Bmq96qIS&H7!{2J<`~T{C`sxa;GVk;Ql3 zEuo%#cE*AqZowxS0#BR!Yp(PfL!~@VYo_@(F|Z%a*6RFCS&w zUvr-<#+8!l+;{MQsei^|jbq`Ri#O&odeQfvG)uERiLs@l@@`G-ouVJN_sF64xpU*b zuC=W@Z+M6DiKQ-fxPB*Pd*WrifpMLpcy7xtT1v~vZwy{-uw_2O*9LB}MjzHa}^t+krASby}wjCJwh`PV)u z9x^h|DdQrMQ%CL&o@IXENZkf;yYKBN7}#`Lzoo8&V*(!}>(1%$XylhBwg&heY`$L@ za;2m?(--}7Y~tiepN@wa9==faWr5}T2iiE+^s*_{qk8*mk5{g8t>W3M{_B}RI?X#8 zziF9N)UKt&?s4~PPFOg;r_NBz(wg%D-_dZ;DLZOFg}T>bzBxC)Ja5v|KB3iC$IZ^a z;mn-bYpcvY;eYpad99Q6R$aU^MfonMMkTIk8J9lCX?f#)iI?7o zR%&|pjLjg&UP&|4&ujH>u=lz~z4)C`4m!6=9IfyBbMN_ki(eEu{w#gku{?Kf^xqNZ zw^-NMpuolnZBqJsBrj_gc7W&56Y)~HwW@3!i6 ztD5>?P^9{K0mszX2;)cZ$9kXgOlnp?X2sJRjqOuXJG4se(Y)!MQ1PoJAI_0zs;XSZIgzH!aqhyF&o zlU~}7*>EPNUFYP1Bl{ODeaj+gcjt?>;y$gZy1HQFK!?P=sWp%MNbRpV&ouuXAe{jN zoB1#9zG&?=z1<5e)Wt6J)4DM(&!A0p$9F@nl-VLsN-ZS<5zR$MHHm*N2B>jA~)h)Jucr$;} z@LlCfZeONj8e8tMMgNb(4}9!ybTLz9lL|3|g>ZkjbP0L-#gyto-`ut^bdeyKKv{X&Z)( zv>+*6Qqqmm-Q8W1(hW*?Nr!-RNJw`G($d}CAl==sp58w1{D5n|;HP!j+>Y6&XQqxA zUG8U0sL8XTP$;dwcH`rpO*8icE-@Id#6umw&5%Ozw1z;7%zi>5MpSvh@fiu|(!;-J(bW}&CS!Iy zdp$Ieo6-L5EJ169QAG-qeAx7H=;#%V(aqrS$K-wiYKZb}h)h@ntC3=TMZW6_cb4;v z=Rmxqp!-tvve8hYsp3Ux7V*~Mvs|uZ6zj4q zY0tO%^6*y-N1_jvMn@q64kv(12D&^_Yy}o7F^4@YxE3J=F(W%547>yorF{% z-q)Zzm@KM~7s9AO(;8K7tlshM{S<;11A~t2sR~s&xFalSVX>4y40~MGX^?Efv2g z;@Q2?WBA(So31t#X_*_|Fj_EAxKwb~lwj6%24`x$_2H+|YEg!Awwy_*khNUgpSv;t z`XMUNwb9GV@f_cen83y_dm-B2%{W=FBN&%3Ka^x}IN7t;Th8(c$zaj?@@pHB=BYf~ z+)9k!I_u4J_S?W9df~hM9KfXpU6P+=oIgkHr4@uL5e1qpzN4-jxbrStNutYY($^dO zNaSwdAA-a}PHzkdd*0=PKT(qlK{@;@knZi*_RDapfH#0k1G>jzlgPA9A9>}{G!RzL;VE%SSUuqzk-I)`kI6T4^@aE6i zhJSgW1zn@dqNeYUr9ZC7NpsH`$W^AtJ*jIS4X8I%sy3u?C7{H3sTE2;OKc3GP`%5e zu;-j(jl2@x;-zF)YMPgQ@x}*m=|Hz4d;e8Ux`F>1ij6e#+NfyM+FjNhZ|E()^5@Ts z57`SFk~~uBzeX=GPNcp2;?n4*kUq&hv(tna=}QvYIuHJHm+oJ@^q@ODDE8)XE6pD| zs3PmUt}@w|<0kZ6%S*=20hg&%#}gv=dSrUMAM!m6!PR3pkxLVaWgvsK=7LkZ-a*yH znH$)y|2bp)uRx0|D7?B2IlKE}A7rc<}=^W7qY0zF$B`Z|VS z+&a?S2M(eaCWP8EK)lSLTm0pvkSj*2rxi8|i+rwh<<=22m?IfA4PojrY$P#(xF+h}t234_EkXa(-qN zmGh(G_4ZEuoe#~YvKV)s!d=J3ql5dgK1*lVRA}YiRz-K7BA%l{to49Wh4;webtfCJ zK)kH~(BFTd_wnyVbjkN{whxvd?(a3|Yal(FQ*X3%=Wl%H$%W(hxnDOMpt<;=%%pf6 z9_PuEu638uW_D&U8tjYVvwH6n0qz^n)h$Kp(Cd^Qp%zf`Y%pAV%|KOb_Uj<^Sm_5| zQd@MrQxyuW!9@cCQgN!m$bvCy?7aUNn_1o{~0Y6$?@uimeb^%v$ScA*;@k?A~Ax&=r_4@5C^kv?iJE|8K&9r^rpmf#FLQtOlNlM3rSz1t z`9H$>FoZpjoy9IvmG5Tr$cm&QmV_jR%j%ZfqW{y<=BHF1#$#N3rFxP z;Btblo*jG>3K8oLc!niQx$vHQVAhGr#chOE({aW zZdOG(P^BedCd$n`qdbvM;{)8^Z}R-V0?pmC5Ro@+p&p4pGBUn`ru$w{_GWn1NT7&2 zo4j;0F%lvLEwttI18cx=6wb^tXWR3;HXWTq2W#uLg}~kl3sk`6`+w^1@7O>wB+4A` zOLbf~azw?KZ8+?)_TKZ}ZoNuVj{FU_$stF+U(R{&BD^tmf8Oa5-9)HtaOqOOuE5au zEq8{MU;Mdq`mev>2VEm?OkR?OLP1M}7*pZ-LrK@dhP|6C$Iu+pxSgz`GB@YmEn}hZ`-Q{bMXGAVRsP&{{pSjRZsD4Op30bl;U%57lA;@rIwH}CmkC%Iz>4D2-aXWpiagQwgzH-XH@H1zs z*MzBwd@q#3@y|N-zj%c}cbGbFYp=PS7G0b8;oDStgl-4cwGef$)Cam5vv>vq6n2sN z`9r5typOu@_GM$ZeAJO`OwX+}*Xk9wxzO|yg#cF=beXAU20J4-kce8J?FbcyfN|_}aa^a>SyRF6b?uA>AL470OxUYkx4s%LNUq2SFzQxZ+^E zl?)>qkyQ$P-*+m|u`V-ftp=QoO1@%`-cVLeD^potao5_$$B2{1O-;>;XLvHlD^}%H z;l_3dK+GZX_&3Qu2V4oz4J}PqRpMH6LY2j$nJE(SH~sKkt{+`PnGz9hHN1x~g``UZ zH+lG&WC%0!&CAcWJxxlq&{@^nG_&bxG%fYU_JAu1y8BLvtI+r>wA2oyJ1ROXqK6OM z9#$mL9dsferUcQ1o6O8^39)F5^2WvlMJeNw&L)f|lN}sxQ6r zW)@h2B5S-gtvi|4QpKib(nm&CigNeAP!#nL*sH{3eKlQXIfC;)SaUs1{&{oYU;7{j zx@5yI4dPQTT)q%ua6EnFEah1ClUQYZU7N5P61W;5TBWf4i@TR6#looo>4Vl8!=%EK z#us)R%dN_yV7x=pT@ApM2VJYBhtp^81ij0`kVcPax-{|fixw_}r{tx>L70~@3w(F{(OTUQ^D^Hp4rs}aUuBRWiPV$8l9@|YkrRRAbuG}1_OP61 zGdG-mU%Y66%(eIK(z%4t7{B%8_Bl1JV!f+tnce_}oveYZzM6r|W=S5?^nFr(9s^S3 zo#FgEyZC!>T&)edM@MN`_&VL5H%lv8MXep;{x(0cOW>FqO`x)p-oU5Y6Yf+O>COc7 zGnL`X&8`RHI8|q9$|Tms@%ItjyNTn2>pME2o6VWdE|qpiPgccDpB2edCcIRXXvZW8 z|Cy|G2l?H)=DXMd?D`^&QXDF|*sY#mxD*?Vpkl90uDqE~W3BZf;CNCOblO!qML+nLN({8X#v*|bj5oRMcMTF(%Ac~hM%(65+8n4n+Cn)u%9Z) zIg;(eH5MRK)%|gb?PPPVlE{_=#k4TOMV@^Vgl03LByA=4j zu}fW5Wt?a}`X?sYfEfVaQSkk6K2J67>CFS|R)MJ0AbW5AQ*DSo%Phj=^5Y z8e#$~enz{d(H+*|yagvPJXn|xwxk_(rj9p+-r@Thun~^6d5YGI9CU^IqCKvYZkUIj zK3H;9Rolf%c_lzvAj&9-&Zmn1@|8H&L#}$z*W)H{f;blBAs-8Q>s1v{E@1hiN1K!x zo#6xET7WL<@lBC-Vvmkw4o!b5<=a%(-6g2xZ8pKIR``&JICEm31BFkMLc+}7AO}8S zvvuNl@ameCJ<&6xp5cVpR2(=0t|jO`usyx*>6_LyeM!G>68=8Gpaz_kKhLfC`(_R`M`0+h_n z_9;e}(tU7??HH8O%^`0!l$Iy>E57s(<0)9xN-3iy_HC^oU1IlU4ftY^85WV(pET$X z0poH<>f%7+8(CzFFp6gw$X_mRvC`9fJ z=t$3X_qt7DGe+}XM{61VIqKjBWs_JJQK^u~KPnt`y3izkZoMr$to$Qw50E z4s>0~&GXn%NQxARTWgeaDSe)>F$eCMVS)tbotc>w_NRQ3FFL%=>}@XMmkBGkDMb`} z{G?jDkzln0gM3e(QGw@H>_ON1wLwoz*tpCKHUEhL7=g43Ds7sWE{UVPFqOoJMu~#q zVqxo|Z<1|NWTpPBvkG3q>S@Ug@LuI8xdqvqs`}vf<^Z~udFfB5wp7ftmgaQT_={#(-`FGMFaAF69VN?%K@t}<~i2EaQZW2g^wyVikM3? zFY}Yh?)p;D^ImLKhj|WNQ&Sv2J)*lLCC^l=g5xM>&=uGybGx=mpjt74w%@_O8_1Wz z?$s8v^7{U)Vt%i~aV_Lw#k7jiICM!X%DUCZvM#rj{v4jk#(AoMF`F~07ThoV0J=fR zkCbwPGpZU2Fx@UC8a)vW`x%QbIAoMF-5h9tonm~MVtby7c`}gMhdjVaVJS`YqbL%$ zBeJmIDa!g-0nr`E??=$(hO@obb|+=cOu4S^IukZk+7p3N^xWsLwXno?OkjpQp}(uM zW`t2gEiNGrr~Rb3mB-s#<|BvqGKVSdCv|}c;JSeB_ZhlpQ5kaXM~6b(=Ed4YFcG!_ za3O>=&_}$yu~D%Bzi_q*Z7Mpb_^aVeuD`SQ-m6@Q%UfPT??*@sQiR!L1FkFRPK*mx z6_u9UU|Mf>tuj8x5s;|MbMFQRkX@p0p)G+1lNA?YZ6(!SgZX_^I5w_ED>o zK_bKr(Og;F6>!}^SCskzy9_1VTfA`Ax`KLFpI%)rF#R0oaO1IW`+L&tpxj_%CJe6G|o3pa9n$ba#GPZ8WlLjbxWQ7hKQ>DKiolN{NN} zs7mv8S$qrF**~CPr3X37yC1!alfc*M`?z%#@mjsvl&(nAs-5M@EdS#j>ViEN>2i5LB zMfk3#cTG)Oky>Qmto)Q-cS7Ldl)7juV@r=Pd9MPi)}0aJsC9ba2w zPO=kBC2*N>wbyf=*jfzPR-|Sex6c$_wq&&NHZ-UlLdX2kE7f;<#mr zF8f)48w9%V2;h%}vsB@+^1t~r9?XxmaCry2J@cxPlyfCKcIh1n`0g<67^7pbUV7`= z$uL^sl;mqnU)_)H<05=45PfI7!p`L5|dDL`I z@-q^TkLw7->e@aNDa3BkOrj#=*m`p6LP3;!9;S|u%Ff*{Ka|J{PrTBye#xI&JsK;= z1-PF;7h;WA5+Xg1RHOBwRm{HPF5Xn`AQ&dt(aPw0bM1KQ_G*Ce$hfZ3bc&< zOiw0y(zWsFSlq=~!V(^Ge*%^FTaqz#lh!It(;+tkus(!=ZUv_Bl4?AObLKWd!%3Wb zGaj#{mV({#6ttQTWNQaDr)12lUIh|U#rh!^#L%`D%vV%N*MY4o#y#YTvGYG$2i%JBoCHN@gT0 zw~51{-|xKpz5vnau`@?9dCGWt=>FhI6;DeF$$iI)izt7z4hG#1s5D3C)8xz!9uH?&sFjKlh)q&b zuTOJlQ}iOx9bkQk1Kk6ai^ZF-*<%HGG(y^AA_9oTs3&~rjFgFGD=P{DUp`gitcS7u zYI?)8egC##G@2QqX@Rd)GY2n^2bvgZs`lT$H1u!tGw5#NL3w&-FxJgI2^t$ZQ5ioGnF*~ds!Ir|8Ljh zK{sHd`fQH!1ly)yYPAVjbGiHt8r6OgUtt>dE3XcW-vo8Hgo)CKnxQU?qeB0|V+_m7apJJ^$E8>+K z;SSLz6agHX;(pky8gXFit2|+e{-+(^c$<@_eBP7xETf?j*?5PO6tb z4RwoH%}(y*<0|bLhd5z3ab1W5c}NCb-jGv_wLam6@B1kuJCNHaBgAY)Ou-#*McOr- z;cVoKwKb^_mcKrk-aY0I^W+RQg?GG??p!?93z-t(CmWr>1KbqQRjPx4epPQR)d@j> zpRmybEj8VKxvzZTE*qbbRR7%bJ5vaL)h9;%&T)Tb+HBYEMO+ll$mcTJ-wvg{t2Vh2 z7y&mGbon=JrgE1Dw+utS2XoM$Q0e2irpVjB(?806>_Q4e3DfW;x^RbrSWaLsr@I=$ ziFjBb^2C#TC*$kzf^_m?5S-7afo_eE79RetRg9rZw#~LEXU0?C4^!2qi2g<8K(=pZ zwXz>?DO=-YsqM+cVL0GCC46yKS&==7F|o#yyAKp~O>}^G(?Pd@gpJIH(x)1BA9FYB z%gq!QxqRSf-6IMPyd#gz9S26fov`}#qeYa|UF5imMH%-i)8r)f51;GcPq_lqXZaHV zHv@E;1a)+0Q5MIxPxtb0BJJ5-g)!#QYU}4Yg#79FPFtGG))7q6OTy|b(g|~r%e>&9 zpaz!)AKB%xVo?0Fy{5weHxqQ*7_%TDl>!M70;Gq@5ti#OWT#iprWSE_y^I(tqHV;k z8|qPBKA<%n)kL>Cx7=d+xKOMb5~y!CVp}My@z;I=+$_*dq^;nwc+$MKjNhq+Z<%m# zCYWZYp@O7<<~fXsoY{DHDnzCm8`ED-9Wq5F%uwTp-_(ij$w*Xx$g9YjO5ZTozxR*HSKI(kfrnF>@t6tBt;l zCgYO)v9dx@T46g3?)!fQ-EtgcWVhz{Rt|n!H>5}=^Nyrp2hkjUPp^zD+ov_?gJ2?$ zbQ9UmHmgL+BD~LY7J~D*rBJll^EqFSb;&zD!1HoBpqtIljQ}h0d_Gqx#LQO#Z6AIU zQTFmcjwsRZ)&+6s8)d0e>!h-( zzpN0dLdUdAEHRNV3f03}sd&WrGTannObweqZ@vGU2jqipgoz_`gGnm&H*>Cw#do>} z_0d-gj3(GlKPHoraQMvC&>WaLm+UsG(1c$;WyHAl1tm==Nml%dZE5NCtFEyy2HbC; zI~UFMQwiVsEfo9wsGTy1#5F1q!`NK5LJU4Zg|{WA(9@d-Y-K-D!Mfh)rUnTug;W zMpNvgFN08^Yv`*Q)12F{lrKHoLV5K=*Jd2{kL`9&D00tR;r&^i{GsEcWprD63q; zdLpS7E{CWQ0MFBwfi6BRB@Jh|WNvDEdmJPCCvG7UWqTG<;_A>-sh7q6ZyHJ#{Fz@6 zRGc*DN=%Nv9rseG!5KB|k06^f6*^Qt$(IB2P!784kdJh*QPODSA6-@EF;jemONxi7 zTxTl-@RC(#GpSw$H6;o4&#jn=^YvR$jw3!MN}*$AAL#R?+0pAg+fp(A&xMBY`E6E! zuCq1i!CuY}9&1w6FVTIoZ{Y?%b#%PM{}6up@GNeJvF=r`6t^Im$pptf5oaDvdf^*{ z&uDaUC%z{4FL)cY{pzMZ|OHlH* z%*__UcAV2McgTjHqO?Qy{Tp+rlKSN_~iSs(;BNP${NxY$>|Z}ElXi_ zuo&jwJV3zv{5GpWSMvK*bW)CV&E}HS(g~#uc9ypehcgnhNKhJ?D92O%D^i|9jM>`D zH|z_I+u2?ZUMU#RA2ryT&nxT`rX`9K{`PMW@PG191G-4vwvTjfmG#D~Ht&30D!C{F zm1G`0evuRDq-oF!j=w~g&wbGKWA8ccgGq7j+Lr4Zk0|$*#31D9{6N!Df+G zI_A`aV3(sfvCLBIHGVdT^jo1DXBHDab=Ajx$TSJa1GS$+&nv8NH*DCm7=0h0?+-Lq z=_~!2!1e0ypd0vgGDVSGdQSg`+sM7{bpN)#!#d`uc~jHrGbuXU@g%-3*mFJsg&a!= zs9P*2F8sH7%CC~mf4Dost8Gchz^VT?Z~0pv8bFsNf&c69eJp=~gNI#n)wMZ`k~Yem zX{7`%5gyDhV^d_oqf^t{Dc%QVyP7`Oq=`G+Yhs*0jyNi0W{R2A-Bz3b@&Nze_tpry z@?KFkN^|mv@s#(+_qD+zSDG;dHzkW>U)rXRjq}7C58jg9nC6W{%jim!p5R(lFe1|_ zNwzg?zjV`Jn!WV>+aLda^ZmE~19baDu~urt%(^iywVP`3?>8t$nO?kd%@-nfvhp{` zbH!@0OSMvsQnX%jf8D_hD->*jtnx%OE`g_Hr-yMYsXFvuynoMKHGyulzH5C7`;RZ@OxOaQ(LqTA_3C4P_c#B37cHRMOo23!`;c<9iYH{<6hwVZ9Ombs z-cJ5(d0OiWRHH_>l$H`nQou4154ttnXWEDArU=(HE26<=aW7R-Rvk>~|Kk1I?zDog zUd4dvvuM0i{n>ZhqOV^`z^!}S%iZ~Ge8O?d*M|wOX00({FuLVoDIsEpkua+0ogf}j zNV3Oyuh^mX-KHRI3UJ#%_kyDtrg{dcA3s0*l_AAF!fZ{bCWD^T)`mL*w4>fg(>W{ADZ1%G;hE2tQTIcxyW6fyZ=@-##{ZsM`J3Mk z&}A{n6LyKhOg<;sdxVC^WNw=6VL)(EXAjpgeOrNIF;wlY4)3`)U%Q`iY1c)@nyfv( zn95E{VOx%&7MH+h|9|ZRo~=>3-(aQNo)0Q9{zJXLASA{YS-ORk_uMB zl*}~UFr}zWuBt*J;K#!Zl}aBej=aQn^eg2wmRHec$Z8N%(+s!_D-TfCZeylDk)zRD zlvNJbH8@=@Mp$$I6r~<&<(ohuS(1_pc3f{2R~D0tuZ30c+coTTXh%c zbo0NR)Q;nRZp(=giFx$Y1S^n!;8f0`{{@NP#<4-1IoGpAYAd4nKNs@9ezOO3U%#nw zQ@1dww2wSZhLkaQuW!MNme+;Y{7osA)crm==mVtjjUmMq8j{W~g3FctQR#(;5S*Ou zLNYPl>JJUUzx%v@-Cof3yMkPS@ZmU@ea69`{lw4m;RJ)l!uwX(<+3e(Mc9EG{`ihA znG1pG#Wlm&oEl?f8pRDp*(vd_yl*_PNzT8QoBqrL{`MDrpxb31a}t(ha4ME$bd;=} zkD2?aqDA>0s{w`@2Nrm_a5XR=qmD2-_kwJ zc+q!2P|?w3KuyB^iseFvXQC1;HM?(2eXVekLTVJ(<4|pjqHy*-VpqS3n{5o$-n>mR zYSoPz9=vxj1iD%3IsEDf)lq&j+})bKDt7%=v=49E^`X6KLOrGh#B3R+p;QB@@ZOd4 zd< z)7V#jF4#63!HpcLq^VS>Mq&&5`Z3)M_9`CD$w7s&u}_gXG$Z{AoWBT4vshR27B(Lc zYUHL?{`=kj_HU!0TZuPm2@R9YIonb!vo4n3?UR$q`skU$^pIGD+K=^^T2+DdGa&`> zo=H`^q3$JtT|>95PQ<2ON)}oYYgL~sc<*2gbjeYkV&HLW8o!*mHh1!u=p<24e1v6Y zR=#G;oFk06+&9(_{W(w9RQWuW0X4rP{YjJf5uLF2szM%>+0@##16(H<2VGYc3xo?3 zlg9D|i-A2i# z1NB-*n;^eC$!`|(O0E2$4{DLX#c?bHa3?|cHL`MjPyNO|>H4t*6Qp1kITc4r&76PE zBLq~TItJsIh?AX13)O_wfQ8HCR+9a?{#VjjQ=FRpE>sB%g{Yt4{>2pNy6Y>hX+Mt@ zF`>@bg?Bu@NQmtme4#4t?l*N{Ml{EAvh-Sw=(NN4m`OAG!M{2n7?+yivNd#vFEuR! zvc_%bIS}tO=oY+oKw=Nip0*VXh0~}KYeSPHV9dTrS%kr&Dqqz{+{~Q1ck!zF@PO9x z26@b|u#9SKd3pSjo?Kuqr6EIf23&ub0bLT^p+<=@RyNCzZkp@8{W1K)Q02r^NyCHR zqJ!ca9i6lt3aeUpCL7o8eQ(3_pWs=IP;00P&FCykx(|<|XqkX`XF>Od#F_3K*RNG)eesvatRb(a_tIQ?)Z>`y1}MaMaP&I3{G`<;6Sk?gZB&dc zxNo`wx`{4RZT_~!VhwMZO7_tpJ*exCEswvaZe*?2`Ji8R_yoIbPA#qlCOxUV{edjN( zYTI#6P+gK7AQ`^ng_pu!yvlYZhIK&bcg?Sr+OqtocCT0N02W7 zaMwZCzd7^=(wk}iOtv(kWN4YTncRuvDAKC!j^@b=1452cbI7$1_-dyI9|HjI!9f!kz@ z`rD*&{va4ukCTNw!Co%UU*w1xm|H$SUo7GE-Mka#h|BLc0pi^RT@AOpccE|lY+Z0O z+=6Q_a;Ec)6H=}A7spLCYn|=t8K^X{!u*$_U@blr2h>Qwt03bDJ-mp$FrbM|kf^#8 zlmpyfpnLer+l#eh>8pt!JZs7@fl0cY*ImZGo=qr)oicYo&5E6NBoH-dr5|Ow)OuS8;2cT5NE& z>zWkZuA{k|2e_Jr4Znngd_^MM+Tf7|JV_|V{ZFMXW`w}@cN=u6%bMgGOIj*^u;#|? zP-cr--CY@e|0WfJBUq*LP2gp*oCYjc&dI&OTb0VWlOC^hRU-={@P^>BSWm;=o$tg+NZX!>w|G z9419at=$jgm8p4EDq?BRLIHOdbaevH zrhZVbZ*j{L(|D7%YJS-D4Q1-rV$Sb(QN&QXeoPYZ6Yc`;9_X?Kxs--P?0=u9@mBaI ztCch?{QCaL#6xr)b*`x+p-w?QX2C1vfS6)^;D(;@`Qe#N9FD>R+G$*^PT!+ZA0jE> z?t^YqQ7bd%kPoITcEKsCWY_|e)bvbD4m%YYOmh`9-}8#>#_vXrMP3w=0uyb=ZhkqydjPugbUxyJzR`;_4cMP7oT)V!R2FM*vRhAEM?A!tCO`8) z5jGG&q%0MFyJ#GaRpDEYF~07*gF}cfEU@tDY+{86+(XdSGfHr;t0eTjSZ!Zaxn=QR zjeO-c^X@1#pX>B-`zz&!$8 z8f2R>^S9@x@a`eS@k0EB#ZA{y3w4a0`4*B76r>-^r~0qeAF2c?`b=Da_|2jM&K1~ z>nJeSn>t+Rz{D>*bn;6GOS4N; z#hO;3uWm!h!SVG8E>9a)5eU3fU^yvE8BNId?X@cp5_D6|8!L~XH8*AXJJ0&to}GfO zZR59DfzO;lI;rn|uhzeAQ2rElIp>X4^Yg0F_zo{wUn%cRf{?^um$ut-0<5$VsrcyE z=FRpx-t^?Ab(?|TcL@Lge)9};%L(rBFUizg0)`8uc;=)!J@5t+>mA>{L%aBZ!-~BP z-#NUFeYrA468}T5Er3l5g~wT=IX~bDYfKcTN;;QoxB>S9 zbpMC@{+FP8i$+Ppp61xzTJ8VPXy5xniO{a*LzCmxQePNd_(qGu{4{IJ#J+Y@@VSw) z-vi^w*F<~5j|ExR?|(M2@wKO41Myyg?yFaAI6=ozD@#@075yo{_oo*TX+p0U?X0k& zFxc=?tD7hsX}qh_v4^^aVMxEob90Du&sp5o3Vo((6=d8N1^4x?LHAm%jYrn(0s^P` zI=S)IZ1PxS{Drx6Rby~`os-h!@+Wgs^4MDA3xf2fy$`YCt-;T42& z2$2Hhe~Ab-jS#hT^z=k6X{i?!~?#)3+9V+9S;kiu`hE4Qt!au?GbccSyKy5Gi@~vbNpCtqM`YvWy4%m*?wrvZNZrv`$R-?)Ll7^~1&)E{)5g@D zuL`8HQ2(2keXdt*_;_35Z-|A)Isq5r_rL!YXuEp6=-02duhP&DT;ve6%}Xr z&^%famR<)^h9o=wxP}vxIJtLN{XLCO&w+^iLD(yVVR+AUi=jfls{*)x+RT3iTKW^> zf!n$dZkdy1$ymq7o>U7Xt`07jvS^%$kyWc*^fkqTI)%IaHmNtUS(QP#xH!U<)gGl^ z#MR566T@%50{1r|LDzSm1Fv&!V1_V@pfH7U;1w~2UYBrOL2wM6CI;Qq<%`!g;|c3N z{xv~mtozMJ7XA-fwTbCY(QU3XZ|*(TdJBMfp+Fa9e}fY>1#0@DW-^9WMC&u|M0oK<2ZFoSyvs%;m$QiwdMPUvrH<0a zinhP(SY-vr)i9uI%*JPR^L_A5=S`?kF$`~N35Ji)7hYb}8eUlw1KYLXW|>(6U$wX~ zVHkI?y^s?y>`w z4PREDKC9-Gv=WAY^Y>LXm(@l?(86lQz+N$8$O*zJ&QiN8VL^bp4>4`|o(R?OXcJQ9hpS6>J1)6iaiNlLtj1Z?lwyO*C z?qZxj1xCNAR??hIOH4kc5|?b0LC51Gu|WZ?3(npv*b<$*v+GcJXTOu;Z+SC4Q=>q< z2%w9G%EIyiCT{45quulU-zN2%W?S27>bsQpWsfyJe$D z_GIoV-LTvZAu@(iJ@XXFUv-k^%CDW;q z(!!p0YBNRBjFny*pAd<>JITo^e=OU3^^>f(lGGQxPxb-Y%iR=FdU?+xd*Rr?DD zP0hlw=RqMj(6e>Zvf#agKYho)0)2V3pH5t4WOt)E4=v)+{nEEq|MhOBji`(>DLex@ zNyDvf`z%ZZXK$GZ4I5G1`1hYHOyL&I6NzHb(2c?qshL2$D4-i8qJAQ)79OK}+z3T! z75xO0&{;^0-ug^gbvb$%;+B{1ELH$7*?KykcG66LI~(6NlwA2MO=6~8)Lv=+Jp#C{ z@#pQJe+9ZUZS1RDpZ#nebw!!)S9?KH%Y%w|Nli}aQJRT&1-aE`NAh1>Gf(1>g+F%4 zv#tq-uUSP@uGol++CNs7r&ueoiYam=ND$K70Qb*Y@V^3$$>Eo?VBJok zNg$?eU)^K><)^3;WX3|_V{~T>r{~r&^8l}@88$t8E%IL98tXNp1RHn7+<+}3N!Brx z;a(vJ;JyT1=Yhfi?&%2zuJ{i+YMBMJtJcgIm`?skd&kSaxY>rnK38Tnk`=*p(Mlj5 z_UV^2QBMxheYCk^xh~h-R(-w;-Y3HVU5G+0L&dGrC3MxQU_{20t+i0UbC>2usME`% zlKN^b}^(BB?xzrH~u zTan?oBE#ld*V|xpE?~=XRAEjg!Z(evAusH^{ONs8al!7qGN=D<)R>iPi(^ z@e8`LJ@~z0fo?xS{9PPHPc!rp#k5ax@d|gQNzFM1Ls$mFYUF+nDQDlMJhEUu>Orv> zjZ25FkwN+(bN1rAaiqak%za;!&fjw@f5$u6pqnW30r_@nehKn&r9BI-M)fs^@8gGa zO?1-&Jy^Y$p?TsDN7dr>N*+$n*!DhrS;$0wcHHEE+nPoeYCnUugXO14Jj)a=TSewXY_L4k4jpDMKxN;@i2? zy(!qMNWHZ-c>VTh{6GKqfAJE4ZcKxgB*`aPQvsvcDAjdjYNsN;xqHOc#`a)I>wdy5 zjnQ=dN8FSjMxtiQnZGvE8MT_={U2m$He;wC*EjRNNC7S(=yK%^#U=lLRNZA*RNMPE zaAE-IR8ms9Te?#kq(M5B?vU;-3F$6L>6C7e2I=nZ{GWNAYp!emzOT-!kM~)uz4u!8 zn%M&qS;Id!ogG}TxpFWbpGk5OWwtVgv3IX1k)%+N>3=7 z`@Z`%1#iSE*a6^zd%=)^bRB#CFw*UFRXd!w?w*2-BsY+bT=Zvx7cGf4YYpbn9^sJN z?s!8#rs~NEBKY1jxmPT==I3o|;x0YwZPc|Y09+EF>!y>&6xkv5uAsw`{y{r3N#+pM z^!th+?GN@)Dwu)5D4w%G63xt0eWE~8&vxR8meoN@Jec{OjQ~E$2_a8|Gk{A9bSa@1 z7GU2U=q-}mJ@nAUD!dcATE9boHLd+ljEnhl}g-{EZhtyzlN#x=;F#}UX_`FMsA|} z!+pAFEzW4&d^=?GU;|qG-6{Dd8fMvM1K@oU+?#>~WV2gE!p>~a))qAvE3bm=-jilh za{P>?9vv)-oABdM(&O~JP`b+GqbgtNdqoPbUam7b)I$jI@Z#gnJ$x$NFuXfGQ2cafNZrGf=%*89qnR9Whj(!9Vi*o>Qz zwwZ_AnS)DD8WDi|0qD9KsWZ@2rvAW|4kz`TV(?W;tyuA##>=-iOo?Zyi^n(p#vPDo zl{zoPjQ&R`@kgts=}+6*?VsawltG@PaSP@EmlEi{u%%`X*-dvf$y1+ zfc}yg#l3qt{PX7+>ReH0t8g2-zKCZz(zkO2-d#jiGIaiFCcJI-`?Vya#Cc(Go{psW zqKZwr4@I*+=cA;T*yh}hQXJ{j?vyM4 zKDG2E9zjuC9vYQDLNjyN#SG;SEDJfQ(Hy9IuL^W&fNsq^^7vi@bfuXY;%4P#d&lAl z?N9U?SBI0l1)c$&Qu*`@PEOMjJ(|kO6B{>e|IlH)3f9CSMZ>4*FVJoX+`#@iEzs@t zJ3j2e%<;=}-xSha=WP6Gs|Q8eKC%jrH?v89B<#(!$Sl3z#p_tPLg=@?ER3e^&Gw3c z+huZzS>AY!{tCW_LB^L3=zjbMT0P1#(Mz}Z{{3sJuJb?j;z@3TM;=%o!A#`sn0J0* zZ~xY!6fTTi`1C@#X)EIt_i{MEVR*znZFFj;UxWf&dZ0@pJ~^N&#ugUIkqDhN0;ll< z=G8px{&Np9Y?^bt>TV{hP!Sqx-1ry!XWzY%A?)41BcghLS>G}B=%5;QW+E-b)FK-CaQ@5mkH>W3wJdaU~J5GpZ4sJbu%_3 zg!)K9Ba+Ta|5QWG@u2D?dyr?o>1gNXm&dT>%jUAbPKOT^g0(#QJKu3piHhh7aKWF^ zgamZqK;me=J^i3c;=hotE0$oV&buXT9#6_FM=(d z>Tnq&?JJ&Ga6kR!pDnK^u9i~fzI`g-J!u!Xu~cVutmX!|;Jq9qpzM-=fx2;I9%@ZT zPodaU1Cosyjd!G5Y|Xer-OMJ&9kXh;ETpHOVJlh%PcdUpUM6fFq<<@TG6*0gavW+l zrT|yNqwU>Zx*a`9eWY&Oq}VM&^l zxST-O|ECn^8#2;`rI)Kda(S$e%0Zl7e3aVT5}!nK9h86ERPFI4Pr)`(?$g}#ma*U& z-aX<$XYT2~iOzVPrVC{Q_8+)_u0)Od3r~>Ul&Br2d){0^I@aKmC%cv&`l-v(oyJ`T z^C6W`iX~GhAx$*1gausCOY-NkWOv>blA&^+qQDH?HbA}Lxd91id!E|axGXHNaC>mx zBEir~WfUc^6c;4`;o)#vQLDE3zzq5ma!}KN&=l8 zzy;qcAOR`=t5JKIVjz~b15w@`4G%P6z3AQOoJRz#kr8DTcSphT$|o+9QYJoOZbsa- zn@e;Cl@=_q_9YVHYTegWesu%5JV4iJ9jla!{+Dcw;T4iD#R*dYY)F&?45(_8T+b`P|f8Fpc9%Zcg@S#}ofi zxUIAvfs7-_mx#2m!NbfH2l)u*fTL}oRas4wIqcx!?`yD zDt*VR09O#`){p&&IL=$)peSX!>W-!4?(EGJuR`9W`-#c!B#ew;m24X1`sL;tk$a85 zI*g;=R|i+oTM>>=t9)sO#KJBH*hdrsx=c=(>-FBGP~8%=%!PUI?W@NaN$JTvlw6>y z&0cp5cwaYek7Dc5^S$PTG^hF}6)F8|b;BCstqrK%bLi%$SU|nPKzCY8`QgnReccO8 zCqhlsJ)2k5R%vi&qS34OmxgjD_AhS1E0Yg(zHKYx#KQu;CgZdyat2>)L!gAm0b~tGwmGrA`#|Qr9C{gQVAQakPwf>R|a|-x{i9+N8($aiP!4m zg`}>3eqr1Qb23mlamz=4{W$;*ymo@DA4Gw!nfa&1mfZU_7vncybv_PckRT`h(;_n1 z6Vu5i8MDlHs45T{J`p_R7T>s_?958?J5MsOp`I{=8_Km z{Ue~Ux&?5>fo@!%$GwfxXqT&yD&ynmn9A!Ok#;Ikq!-$eA)MtinO3Q9-1Y1B&g8n{;k83zfV>&y1@yig8x?X@nc{OYB>Ow^kl@qKc+ zoJP-Py76sslFU@$G8-Zxyvp=h$QRx&23!F@9qrN20&|UjDKFVOI{>aE(6uHFZ@1kK zB&+6?#FVDsUnD(qSQWwwo5X^O@BJ!va@!o~Mp~ui=AEPjx{~)pLJHsZ$(ffZ|2m>&#>>t3D2D-<8rMRpz-;yyd#C}C;EG{qEUCt

KqbJI`~yL%o2#8@7ZA39Au4d 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 void; + onSelectionChange?: (lineStart: number, lineEnd: number) => void; + language?: string; + className?: string; + themeConfig?: ThemeConfig; +} + +export interface CodeEditorRef { + selectLines: (startLine: number, endLine?: number) => void; + focus: () => void; +} + +export const CodeEditor = forwardRef(({ + value, + onChange, + onSelectionChange, + language = 'plaintext', + className = '', + themeConfig +}, ref) => { + const editorRef = useRef(null); + const monacoRef = useRef(null); + const [editorReady, setEditorReady] = React.useState(false); + + // Expose methods to parent component + useImperativeHandle(ref, () => ({ + selectLines: (startLine: number, endLine?: number) => { + if (editorRef.current) { + const actualEndLine = endLine || startLine; + const selection = { + startLineNumber: startLine, + startColumn: 1, + endLineNumber: actualEndLine, + endColumn: editorRef.current.getModel()?.getLineMaxColumn(actualEndLine) || 1, + }; + editorRef.current.setSelection(selection); + editorRef.current.revealLineInCenter(startLine); + editorRef.current.focus(); + } + }, + focus: () => { + if (editorRef.current) { + editorRef.current.focus(); + } + }, + }), []); + + const handleEditorDidMount = (editor: any, monaco: any) => { + editorRef.current = editor; + monacoRef.current = monaco; + setEditorReady(true); + // Add selection change listener + if (onSelectionChange) { + editor.onDidChangeCursorSelection((e: any) => { + const selection = e.selection; + const startLine = selection.startLineNumber; + const endLine = selection.endLineNumber; + onSelectionChange(startLine, endLine); + }); + } + }; + + const handleEditorChange = (value: string | undefined) => { + onChange(value || ''); + }; + + // Ensure Monaco theme is always set after both editor and themeConfig are ready + useEffect(() => { + if (!editorReady || !themeConfig || !monacoRef.current) return; + // Convert HSL to hex for Monaco editor + const hslToHex = (hsl: string): string => { + const match = hsl.match(/hsl\((\d+),\s*(\d+)%\,\s*(\d+)%\)/); + if (!match) return '#000000'; + const h = parseInt(match[1]) / 360; + const s = parseInt(match[2]) / 100; + const l = parseInt(match[3]) / 100; + const hue2rgb = (p: number, q: number, t: number) => { + if (t < 0) t += 1; + if (t > 1) t -= 1; + if (t < 1/6) return p + (q - p) * 6 * t; + if (t < 1/2) return q; + if (t < 2/3) return p + (q - p) * (2/3 - t) * 6; + return p; + }; + let r, g, b; + if (s === 0) { + r = g = b = l; + } else { + const q = l < 0.5 ? l * (1 + s) : l + s - l * s; + const p = 2 * l - q; + r = hue2rgb(p, q, h + 1/3); + g = hue2rgb(p, q, h); + b = hue2rgb(p, q, h - 1/3); + } + const toHex = (c: number) => { + const hex = Math.round(c * 255).toString(16); + return hex.length === 1 ? '0' + hex : hex; + }; + return `#${toHex(r)}${toHex(g)}${toHex(b)}`; + }; + const defineThemeFromConfig = (config: ThemeConfig) => { + const themeName = `osborne-${config.id}`; + const backgroundColor = hslToHex(config.colors.background); + const foregroundColor = hslToHex(config.colors.foreground); + const cardColor = hslToHex(config.colors.card); + const borderColor = hslToHex(config.colors.border); + const mutedColor = hslToHex(config.colors.muted); + const primaryColor = hslToHex(config.colors.primary); + monacoRef.current.editor.defineTheme(themeName, { + base: config.type === 'dark' ? 'vs-dark' : 'vs', + inherit: true, + rules: [ + { token: '', foreground: foregroundColor.substring(1) }, + { token: 'comment', foreground: config.type === 'dark' ? '6A9955' : '008000', fontStyle: 'italic' }, + { token: 'string', foreground: config.type === 'dark' ? 'CE9178' : 'A31515' }, + { token: 'number', foreground: config.type === 'dark' ? 'B5CEA8' : '098658' }, + { token: 'keyword', foreground: primaryColor.substring(1), fontStyle: 'bold' }, + { token: 'type', foreground: config.type === 'dark' ? '4EC9B0' : '267F99' }, + { token: 'function', foreground: config.type === 'dark' ? 'DCDCAA' : '795E26' }, + { token: 'variable', foreground: config.type === 'dark' ? '9CDCFE' : '001080' }, + ], + colors: { + 'editor.background': backgroundColor, + 'editor.foreground': foregroundColor, + 'editor.lineHighlightBackground': cardColor, + 'editor.selectionBackground': primaryColor + '40', + 'editorLineNumber.foreground': hslToHex(config.colors.mutedForeground), + 'editorLineNumber.activeForeground': foregroundColor, + 'editorGutter.background': backgroundColor, + 'editor.inactiveSelectionBackground': mutedColor, + 'editorWhitespace.foreground': borderColor, + 'editorCursor.foreground': foregroundColor, + 'editorIndentGuide.background': borderColor, + 'editorIndentGuide.activeBackground': primaryColor, + 'editor.findMatchBackground': primaryColor + '60', + 'editor.findMatchHighlightBackground': primaryColor + '30', + } + }); + return themeName; + }; + const themeName = defineThemeFromConfig(themeConfig); + monacoRef.current.editor.setTheme(themeName); + }, [themeConfig, editorReady]); + + return ( +

+ +
Loading editor...
+
+ } + /> +