From 8df7d6227e642bc9da1b66c91876ca7ff7fdb395 Mon Sep 17 00:00:00 2001 From: Gram012 Date: Wed, 20 Nov 2024 13:31:45 -0600 Subject: [PATCH 01/16] save --- .devcontainer/devcontainer-lock.json | 24 + .devcontainer/devcontainer.json | 61 + .devcontainer/docker-compose.yml | 29 + .devcontainer/setup.sh | 33 + .editorconfig | 16 + .env.development | 11 + .env.sample | 9 + .env.staging | 11 + .gitattributes | 15 + .github/CODEOWNERS | 1 + .github/PULL_REQUEST_TEMPLATE.md | 18 + .gitignore | 12 + .npmrc | 5 + .prettierrc.json | 10 + .vscode/effect.code-snippets | 107 + .vscode/settings.json | 22 + README.md | 1 + app/layout.tsx | 29 + app/not-found.tsx | 14 + app/page.tsx | 115 + app/pipeline-health/page.tsx | 17 + .../[machine]/[schemaName]/page.tsx | 22 + app/providers.tsx | 8 + app/robots.txt | 4 + app/sitemap.ts | 14 + assets/cal-sans-semibold.ttf | Bin 0 -> 148964 bytes assets/cal-sans-semibold.woff2 | Bin 0 -> 23820 bytes assets/inter-light.ttf | Bin 0 -> 310832 bytes components.json | 20 + components/LogViewer.tsx | 52 + components/PipelineHealth.tsx | 64 + .../PipelineHealth/AggregateBySelector.tsx | 50 + components/PipelineHealth/DatePickerRange.tsx | 68 + .../PipelineHealth/EmptyBucketsToggle.tsx | 45 + components/PipelineHealth/LocaleSelector.tsx | 38 + .../PipelineHealth/PipelineStepHistogram.tsx | 85 + components/PipelineHealth/RunTimeHist.tsx | 215 + components/PipelineHealth/Table.tsx | 44 + components/PipelineHealth/rx.ts | 299 + components/ThemeToggle.tsx | 33 + components/ui/button.tsx | 47 + components/ui/calendar.tsx | 62 + components/ui/card.tsx | 43 + components/ui/chart.tsx | 318 + components/ui/dropdown-menu.tsx | 182 + components/ui/popover.tsx | 33 + components/ui/table.tsx | 83 + eslint.config.mjs | 78 + lib/utils.ts | 4 + next.config.mjs | 6 + package.json | 91 + pages/api/rpc.ts | 22 + pnpm-lock.yaml | 8935 +++++++++++++++++ postcss.config.mjs | 11 + rpc/client.ts | 4 + scripts/db.sh | 19 + scripts/turbo_db_2024_10_24.dump | Bin 0 -> 2986793 bytes services/Database.ts | 113 + services/Domain.ts | 290 + services/VerboseLogs.ts | 49 + services/rpcs.ts | 18 + styles/globals.css | 98 + styles/hljs.css | 125 + tailwind.config.ts | 99 + tsconfig.json | 24 + 65 files changed, 12375 insertions(+) create mode 100644 .devcontainer/devcontainer-lock.json create mode 100644 .devcontainer/devcontainer.json create mode 100644 .devcontainer/docker-compose.yml create mode 100755 .devcontainer/setup.sh create mode 100644 .editorconfig create mode 100644 .env.development create mode 100644 .env.sample create mode 100644 .env.staging create mode 100644 .gitattributes create mode 100644 .github/CODEOWNERS create mode 100644 .github/PULL_REQUEST_TEMPLATE.md create mode 100644 .gitignore create mode 100644 .npmrc create mode 100644 .prettierrc.json create mode 100644 .vscode/effect.code-snippets create mode 100644 .vscode/settings.json create mode 100644 README.md create mode 100644 app/layout.tsx create mode 100644 app/not-found.tsx create mode 100644 app/page.tsx create mode 100644 app/pipeline-health/page.tsx create mode 100644 app/pipeline-health/verbose-logs/[machine]/[schemaName]/page.tsx create mode 100644 app/providers.tsx create mode 100644 app/robots.txt create mode 100644 app/sitemap.ts create mode 100644 assets/cal-sans-semibold.ttf create mode 100644 assets/cal-sans-semibold.woff2 create mode 100644 assets/inter-light.ttf create mode 100644 components.json create mode 100644 components/LogViewer.tsx create mode 100644 components/PipelineHealth.tsx create mode 100644 components/PipelineHealth/AggregateBySelector.tsx create mode 100644 components/PipelineHealth/DatePickerRange.tsx create mode 100644 components/PipelineHealth/EmptyBucketsToggle.tsx create mode 100644 components/PipelineHealth/LocaleSelector.tsx create mode 100644 components/PipelineHealth/PipelineStepHistogram.tsx create mode 100644 components/PipelineHealth/RunTimeHist.tsx create mode 100644 components/PipelineHealth/Table.tsx create mode 100644 components/PipelineHealth/rx.ts create mode 100644 components/ThemeToggle.tsx create mode 100644 components/ui/button.tsx create mode 100644 components/ui/calendar.tsx create mode 100644 components/ui/card.tsx create mode 100644 components/ui/chart.tsx create mode 100644 components/ui/dropdown-menu.tsx create mode 100644 components/ui/popover.tsx create mode 100644 components/ui/table.tsx create mode 100644 eslint.config.mjs create mode 100644 lib/utils.ts create mode 100644 next.config.mjs create mode 100644 package.json create mode 100644 pages/api/rpc.ts create mode 100644 pnpm-lock.yaml create mode 100644 postcss.config.mjs create mode 100644 rpc/client.ts create mode 100644 scripts/db.sh create mode 100644 scripts/turbo_db_2024_10_24.dump create mode 100644 services/Database.ts create mode 100644 services/Domain.ts create mode 100644 services/VerboseLogs.ts create mode 100644 services/rpcs.ts create mode 100644 styles/globals.css create mode 100644 styles/hljs.css create mode 100644 tailwind.config.ts create mode 100644 tsconfig.json diff --git a/.devcontainer/devcontainer-lock.json b/.devcontainer/devcontainer-lock.json new file mode 100644 index 0000000..6ecfc09 --- /dev/null +++ b/.devcontainer/devcontainer-lock.json @@ -0,0 +1,24 @@ +{ + "features": { + "ghcr.io/devcontainers/features/common-utils:2": { + "version": "2.5.2", + "resolved": "ghcr.io/devcontainers/features/common-utils@sha256:5b1c376d30719a4dead8fb2f272ee496cfb506f2f92b7acf9e1c24cb5399ba7d", + "integrity": "sha256:5b1c376d30719a4dead8fb2f272ee496cfb506f2f92b7acf9e1c24cb5399ba7d" + }, + "ghcr.io/devcontainers/features/git:1": { + "version": "1.3.2", + "resolved": "ghcr.io/devcontainers/features/git@sha256:63c96e8ac33f5630300d8883e2ec3123278de70d318589af596ea1954846014d", + "integrity": "sha256:63c96e8ac33f5630300d8883e2ec3123278de70d318589af596ea1954846014d" + }, + "ghcr.io/devcontainers/features/github-cli:1": { + "version": "1.0.13", + "resolved": "ghcr.io/devcontainers/features/github-cli@sha256:13b301a039ce9e0bb07d45ea0c106c946cfff01c3b9844bbec6b0c7bacba8de3", + "integrity": "sha256:13b301a039ce9e0bb07d45ea0c106c946cfff01c3b9844bbec6b0c7bacba8de3" + }, + "ghcr.io/devcontainers/features/node:1": { + "version": "1.6.1", + "resolved": "ghcr.io/devcontainers/features/node@sha256:71590121aaf7b2040f3e1e2dfc4bb9a1389277fd5a88a7199094542b82ce5340", + "integrity": "sha256:71590121aaf7b2040f3e1e2dfc4bb9a1389277fd5a88a7199094542b82ce5340" + } + } +} \ No newline at end of file diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 0000000..dff3e27 --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,61 @@ +// spell-checker: disable +{ + "service": "app", + "name": "turbotelescope.net", + "dockerComposeFile": "docker-compose.yml", + "workspaceFolder": "/workspaces/${localWorkspaceFolderBasename}", + + "features": { + "ghcr.io/devcontainers/features/git:1": {}, + "ghcr.io/devcontainers/features/node:1": {}, + "ghcr.io/devcontainers/features/github-cli:1": {}, + "ghcr.io/devcontainers/features/common-utils:2": {} + }, + + "customizations": { + "vscode": { + "extensions": [ + "dbaeumer.vscode-eslint", + "kisstkondoros.vscode-codemetrics", + "visualstudioexptteam.vscodeintellicode", + "esbenp.prettier-vscode", + "editorconfig.editorconfig", + "streetsidesoftware.code-spell-checker", + "eamodio.gitlens", + "mutantdino.resourcemonitor", + "GitHub.vscode-github-actions", + "yoavbls.pretty-ts-errors", + "effectful-tech.effect-vscode" + ], + "settings": { + "cSpell.enabled": true, + "editor.formatOnSave": true, + "editor.formatOnPaste": true, + "editor.bracketPairColorization.enabled": true, + "codemetrics.basics.DecorationModeEnabled": false, + "codemetrics.basics.OverviewRulerModeEnabled": false, + "editor.defaultFormatter": "EditorConfig.EditorConfig", + "[typescript][typescriptreact][javascript][javascriptreact][json][jsonc][yaml]": { + "editor.defaultFormatter": "esbenp.prettier-vscode" + }, + "editor.codeActionsOnSave": { + "source.organizeImports": "always", + "source.addMissingImports": "always", + "source.fixAll.eslint": "explicit" + }, + "files.associations": { "*.json": "jsonc" }, + "editor.acceptSuggestionOnCommitCharacter": true, + "editor.acceptSuggestionOnEnter": "on", + "editor.quickSuggestionsDelay": 10, + "editor.suggestOnTriggerCharacters": true, + "editor.tabCompletion": "off", + "editor.suggest.localityBonus": true, + "editor.suggestSelection": "recentlyUsed", + "editor.wordBasedSuggestions": "matchingDocuments", + "editor.parameterHints.enabled": true + } + } + }, + + "postCreateCommand": "bash -i -c '/workspaces/turbotelescope.net/.devcontainer/setup.sh'" +} diff --git a/.devcontainer/docker-compose.yml b/.devcontainer/docker-compose.yml new file mode 100644 index 0000000..1b0eb28 --- /dev/null +++ b/.devcontainer/docker-compose.yml @@ -0,0 +1,29 @@ +services: + app: + image: "mcr.microsoft.com/devcontainers/base:bullseye" + command: sleep infinity + volumes: + - ../..:/workspaces:cached + + # https://vercel.com/docs/storage/vercel-postgres/local-development + postgres: + image: postgres:latest + restart: unless-stopped + volumes: + - postgres-data:/var/lib/postgresql/data + environment: + POSTGRES_DB: turbo + POSTGRES_USER: postgres + POSTGRES_PASSWORD: password + pg_proxy: + image: ghcr.io/neondatabase/wsproxy:latest + restart: unless-stopped + environment: + LOG_TRAFFIC: 'true' + ALLOW_ADDR_REGEX: '.*' + APPEND_PORT: 'postgres:5432' + depends_on: + - postgres + +volumes: + postgres-data: diff --git a/.devcontainer/setup.sh b/.devcontainer/setup.sh new file mode 100755 index 0000000..dd46c29 --- /dev/null +++ b/.devcontainer/setup.sh @@ -0,0 +1,33 @@ +#!/bin/bash -i + +set -eo pipefail +echo "๐Ÿš€ Setting up turbotelescope.net devcontainer..." + +# Install postgres client +sudo sh -c 'echo "deb https://apt.postgresql.org/pub/repos/apt $(lsb_release -cs)-pgdg main" > /etc/apt/sources.list.d/pgdg.list' +curl -fsSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/postgresql.gpg +sudo apt update -y +sudo apt install -y postgresql-16 + +# https://github.com/devcontainers/features/pull/770 +SHELL="$(which bash)" pnpm setup +source /home/vscode/.bashrc +pnpm config set store-dir $PNPM_HOME/store + +echo "Initializing submodules" +git submodule update --init --recursive + +echo "๐Ÿ“ฆ Installing repo dependencies..." +corepack install +corepack enable +pnpm install + +echo "๐Ÿ—๏ธ Building..." +pnpm build + +echo "๐Ÿงช Testing..." +# pnpm test + +echo "โœ… Devcontainer setup complete!" +echo "๐Ÿ™ Thank you for contributing to turbotelescope.net!" +echo "๐Ÿ“ P.S Don't forget to configure your git credentials with 'git config --global user.name you' and 'git config --global user.email you@z.com'" diff --git a/.editorconfig b/.editorconfig new file mode 100644 index 0000000..e8da8be --- /dev/null +++ b/.editorconfig @@ -0,0 +1,16 @@ +# Editor configuration, see http://editorconfig.org +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +trim_trailing_whitespace = true +max_line_length = 120 +indent_style = space +indent_size = 4 +tab_width = 4 + +[*.yml] +tab_width = 2 +indent_size = 2 diff --git a/.env.development b/.env.development new file mode 100644 index 0000000..865e740 --- /dev/null +++ b/.env.development @@ -0,0 +1,11 @@ +# Loaded during development +# Connects to the postgres docker container running in this devcontainer +POSTGRES_PORT="5432" +POSTGRES_HOST="postgres" +POSTGRES_USER="postgres" +POSTGRES_DATABASE="turbo" +POSTGRES_PASSWORD="password" +POSTGRES_URL_NO_SSL="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DATABASE" +POSTGRES_URL="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DATABASE?sslmode=require" +POSTGRES_URL_NON_POOLING="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DATABASE?sslmode=require" +POSTGRES_PRISMA_URL="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DATABASE?pgbouncer=true&connect_timeout=15&sslmode=require" diff --git a/.env.sample b/.env.sample new file mode 100644 index 0000000..e746bad --- /dev/null +++ b/.env.sample @@ -0,0 +1,9 @@ +POSTGRES_PORT= +POSTGRES_HOST= +POSTGRES_USER= +POSTGRES_DATABASE= +POSTGRES_PASSWORD= +POSTGRES_URL_NO_SSL= +POSTGRES_URL= +POSTGRES_URL_NON_POOLING= +POSTGRES_PRISMA_URL= diff --git a/.env.staging b/.env.staging new file mode 100644 index 0000000..88060a0 --- /dev/null +++ b/.env.staging @@ -0,0 +1,11 @@ +# Never loaded automatically, only used for manual testing of a staging environment +# Connects to the staging database using the pg_proxy service in this devcontainer +POSTGRES_PORT="80" +POSTGRES_HOST="pg_proxy" +POSTGRES_USER="postgres" +POSTGRES_DATABASE="turbo" +POSTGRES_PASSWORD="password" +POSTGRES_URL_NO_SSL="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DATABASE" +POSTGRES_URL="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DATABASE?sslmode=require" +POSTGRES_URL_NON_POOLING="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DATABASE?sslmode=require" +POSTGRES_PRISMA_URL="postgres://$POSTGRES_USER:$POSTGRES_PASSWORD@$POSTGRES_HOST:$POSTGRES_PORT/$POSTGRES_DATABASE?pgbouncer=true&connect_timeout=15&sslmode=require" diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..8fd2415 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,15 @@ +# Don't allow people to merge changes to these generated files, because the result +# may be invalid. +pnpm-lock.yaml merge=text +shrinkwrap.yaml merge=binary +npm-shrinkwrap.json merge=binary +yarn.lock merge=binary + +# Rush's JSON config files use JavaScript-style code comments. The rule below prevents pedantic +# syntax highlighters such as GitHub's from highlighting these comments as errors. Your text editor +# may also require a special configuration to allow comments in JSON. +# +# For more information, see this issue: https://github.com/microsoft/rushstack/issues/1088 +# +*.json linguist-language=JSON-with-Comments + diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS new file mode 100644 index 0000000..ceb5b90 --- /dev/null +++ b/.github/CODEOWNERS @@ -0,0 +1 @@ +* @leonitousconforti diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 0000000..e03a4ec --- /dev/null +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,18 @@ +## Pull Requests + +We welcome contributions via pull requests! Here are some guidelines to help you get started: + +1. Fork the repository and clone it to your local machine. +2. Create a new branch for your changes: `git checkout -b my-new-feature` +3. Install dependencies: `pnpm install` +4. Make your changes and add tests if applicable. +5. Run the tests: `pnpm check` (or just let the ci run it) +6. Commit your changes with a descriptive commit message: `git commit -m 'Add some feature'`. +7. Push your changes to your fork: `git push origin my-new-feature`. +8. Open a pull request against our `main` branch. + +### Pull Request Guidelines + +- Please make sure your changes are consistent with the project's existing style and conventions. +- Please write clear commit messages and include a summary of your changes in the pull request description. +- If your change requires documentation, please update the relevant documentation. diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..ef466ea --- /dev/null +++ b/.gitignore @@ -0,0 +1,12 @@ +.next +.vercel +node_modules + +.env.* +!.env.sample +!.env.staging +!.env.development + +.DS_Store +next-env.d.ts +tsconfig.tsbuildinfo diff --git a/.npmrc b/.npmrc new file mode 100644 index 0000000..8e5f990 --- /dev/null +++ b/.npmrc @@ -0,0 +1,5 @@ +hoist=false +hoist-pattern= +public-hoist-pattern= +auto-install-peers=false +strict-peer-dependencies=true diff --git a/.prettierrc.json b/.prettierrc.json new file mode 100644 index 0000000..1a501ad --- /dev/null +++ b/.prettierrc.json @@ -0,0 +1,10 @@ +{ + "$schema": "https://json.schemastore.org/prettierrc", + "plugins": ["prettier-plugin-packagejson", "prettier-plugin-jsdoc"], + + "semi": true, + "endOfLine": "auto", + "singleQuote": false, + "jsdocPrintWidth": 80, + "trailingComma": "es5" +} diff --git a/.vscode/effect.code-snippets b/.vscode/effect.code-snippets new file mode 100644 index 0000000..2675e20 --- /dev/null +++ b/.vscode/effect.code-snippets @@ -0,0 +1,107 @@ +{ + "egen": { + "prefix": "egen", + "body": [ + "Effect.gen(function* () {", + " $0", + "})" + ], + "description": "Effect.gen" + }, + "ogen": { + "prefix": "ogen", + "body": [ + "Option.gen(function* () {", + " $0", + "})" + ], + "description": "Option.gen" + }, + "yield": { + "prefix": "yy", + "body": [ + "yield* " + ], + "description": "yield*" + }, + "Effect andThen": { + "prefix": "eth", + "body": [ + "Effect.andThen((_) => $1)" + ], + "description": "Effect.andThen" + }, + "pipe": { + "prefix": ".pi", + "body": [ + ".pipe(\n $1\n)" + ], + "description": "pipe" + }, + "Effect layer": { + "prefix": "elayer", + "body": [ + "export class $1 extends Context.Tag(\"$1\")<", + " $1,", + " Effect.Effect.Success", + ">() {", + " static Live = Layer.effect(this, make);", + "}", + "" + ], + "description": "Generate a new Effect.ts layer" + }, + "Import effect schema": { + "prefix": "simport", + "body": [ + "import * as S from \"@effect/schema/Schema\"" + ], + "description": "Import Effect shema as S" + }, + "Effect tryPromise": { + "prefix": "etp", + "body": [ + "yield* Effect.tryPromise(() => $1)" + ], + "description": "Create a new Effect.tryPromise" + }, + "Tagged request": { + "prefix": "staggedRequest", + "body": [ + "export class $1 extends S.TaggedRequest<$1>()(", + " \"$1\",", + " {", + " payload: { },", + " success: S.Struct({", + " }),", + " failure: S.Never,", + " },", + ") {}", + "", + "" + ], + "description": "Create a new Tagged Request" + }, + "Effect service": { + "prefix": "eservice", + "body": [ + "export class $1 extends Effect.Service<$1>()(\"$1\", {", + " effect: Effect.gen(function* () {", + " return {};", + " }),", + " dependencies: [],", + "}) {}", + "" + ], + "description": "Create a new Effect service" + }, + "Effect tagged class": { + "prefix": "staggedclass", + "body": [ + "export class $1 extends S.TaggedClass<$1>()(\"$1\", {", + " $0", + "}) {}" + ], + "description": "Generate a new Effect tagged class" + } +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..af5cb77 --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,22 @@ +{ + "cSpell.words": [ + "clsx", + "codegen", + "compat", + "Fltr", + "lightcurve", + "lucide", + "milli", + "Millis", + "mssgill", + "packagejson", + "rpcs", + "Sfft", + "skyportal", + "tailwindcss", + "tanstack", + "tlenaii", + "turbopack", + "zeropoint" + ] +} diff --git a/README.md b/README.md new file mode 100644 index 0000000..ffb3799 --- /dev/null +++ b/README.md @@ -0,0 +1 @@ +No updates to the readme Leo? Shame on you diff --git a/app/layout.tsx b/app/layout.tsx new file mode 100644 index 0000000..3f8ce79 --- /dev/null +++ b/app/layout.tsx @@ -0,0 +1,29 @@ +import "@/styles/globals.css"; + +import { Inter } from "next/font/google"; +import localFont from "next/font/local"; +import { ReactNode } from "react"; +import { Providers } from "./providers"; + +const inter = Inter({ + subsets: ["latin"], + display: "swap", + variable: "--font-inter", +}); + +const calSans = localFont({ + src: "../assets/cal-sans-semibold.woff2", + weight: "600", + display: "swap", + variable: "--font-cal-sans", +}); + +export default function RootLayout({ children }: { children: ReactNode }) { + return ( + + + {children} + + + ); +} diff --git a/app/not-found.tsx b/app/not-found.tsx new file mode 100644 index 0000000..f1dc704 --- /dev/null +++ b/app/not-found.tsx @@ -0,0 +1,14 @@ +export default function NotFound() { + return ( + <> +
+
+

+ 404 +

+

This page could not be found.

+
+
+ + ); +} diff --git a/app/page.tsx b/app/page.tsx new file mode 100644 index 0000000..b6589d8 --- /dev/null +++ b/app/page.tsx @@ -0,0 +1,115 @@ +"use client"; + +import { useState /*useEffect*/ } from "react"; +import Link from "next/link"; +import { ThemeToggle } from "@/components/ThemeToggle"; +import { AlignJustifyIcon, Telescope } from "lucide-react"; +import { useTheme } from "next-themes"; + +const Header: React.FC = () => { + // State to track dropdown visibility + const [isDropdownOpen, setIsDropdownOpen] = useState(false); + + // Toggle dropdown visibility + const toggleDropdown = () => setIsDropdownOpen(!isDropdownOpen); + + const { theme } = useTheme(); + //const systemTheme = window.matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; + // const headerColor = + // theme == "dark" ? "#151515" : theme == "light" ? "#f2f2f2" : systemTheme == "dark" ? "#151515" : "#f2f2f2"; + + return ( +
+

+ +

+ + {/* Dropdown button */} +
+ + + {/* Dropdown menu */} + {isDropdownOpen && ( +
+
    +
  • + + Pipeline Health + +
  • + {/*
  • + + Logs + +
  • */} + {/*
  • + + Images + +
  • */} +
+
+ )} +
+
+ ); +}; + +export default function Home() { + return ( + <> +
+
+

Welcome to the Home Page

+

Links are in the top right

+ +
+ + ); +} diff --git a/app/pipeline-health/page.tsx b/app/pipeline-health/page.tsx new file mode 100644 index 0000000..d83c5e9 --- /dev/null +++ b/app/pipeline-health/page.tsx @@ -0,0 +1,17 @@ +import { PipelineHealth } from "@/components/PipelineHealth"; +import { ThemeToggle } from "@/components/ThemeToggle"; +import dynamic from "next/dynamic"; + +const page = () => { + return ( + <> +
+ +
+ + + ); +}; + +// FIXME: bad bad bad bad bad +export default dynamic(() => Promise.resolve(page), { ssr: false }); diff --git a/app/pipeline-health/verbose-logs/[machine]/[schemaName]/page.tsx b/app/pipeline-health/verbose-logs/[machine]/[schemaName]/page.tsx new file mode 100644 index 0000000..05cb1b9 --- /dev/null +++ b/app/pipeline-health/verbose-logs/[machine]/[schemaName]/page.tsx @@ -0,0 +1,22 @@ +import dynamic from "next/dynamic"; + +import { LogViewer } from "@/components/LogViewer"; +import { SchemaName } from "@/services/Domain"; + +const page = ({ + params, +}: { + params: { + machine: "tlenaii" | "popcorn"; + schemaName: typeof SchemaName.Encoded; + }; +}) => { + return ( + <> + + + ); +}; + +// FIXME: bad bad bad bad bad +export default dynamic(() => Promise.resolve(page), { ssr: false }); diff --git a/app/providers.tsx b/app/providers.tsx new file mode 100644 index 0000000..961ad05 --- /dev/null +++ b/app/providers.tsx @@ -0,0 +1,8 @@ +"use client"; + +import { ThemeProvider } from "next-themes"; +import { ReactNode } from "react"; + +export function Providers({ children }: { children: ReactNode }) { + return {children}; +} diff --git a/app/robots.txt b/app/robots.txt new file mode 100644 index 0000000..d2c5c04 --- /dev/null +++ b/app/robots.txt @@ -0,0 +1,4 @@ +User-agent: * +Allow: / + +Sitemap: https://popcorn.spa.umn.edu/sitemap.xml diff --git a/app/sitemap.ts b/app/sitemap.ts new file mode 100644 index 0000000..974041c --- /dev/null +++ b/app/sitemap.ts @@ -0,0 +1,14 @@ +import { MetadataRoute } from "next"; + +const basePath = "https://turbotelescope.net"; + +export default function sitemap(): MetadataRoute.Sitemap { + return [ + { + url: basePath + "/", + lastModified: new Date(), + changeFrequency: "weekly", + priority: 1, + }, + ]; +} diff --git a/assets/cal-sans-semibold.ttf b/assets/cal-sans-semibold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..4a2950a0451f66f8d3d77e466ce2fd3fe0e507b6 GIT binary patch literal 148964 zcmd3P34j#E)qhpbxifps9<#?RyR$p9H!OQEH^VJABA^fz77zqc2@*9iA!yWiU{pMU z#u&WN91=V*#&{y}ijqVV<7YG~Dx$#yBY3j&|Gih;Gu?CSF5*AmH@&a7r>DB=)vH&p zUcL9KT1X*89!_=<9DmH@N%$s(HsKZgcTXBWVPejsd9!e9Ail4fG;8KDj~^(w1K&3Z zG5d*0$IKl&Y-jNcLd;ntMAqJ!#|&;gW%&ue6k_pFNWW;wsokrq|Ik#9?|8=X*^)EY z25rB}T_&{7o%nsqvenB^y|FXzS)q013Xxs7y!(vRxSxyPAH;w6@>Snmw*GI8`-C`o zvygYJIr*gSrR7tOpCmM20eQ2rFX>)# z?XzzREnr6lpFOqv?A5m4XCDw+#b1y*vg#8WdafTqJ5#q+e?yOBCzZHq@^~zqX4UQL0}%&^`hE z+9`aZOuu%CJTXAOc8h#qs<6xu1)@T~_J~3e6qTo(wB|JN)RCM|?Ot<=_{));&p4yG zO}uy{XV6~*-6k%2b!g2Gv#W)3Ll1C{bYkwUbbkZw@* zYSAfXi?i{6n|M}ga-cj)E|r(aEpmt4tJ$>%ZKAeD+obK(Ubhw4CRW@#b0W&1lHB;; zO#GmIrJczoi|8)XZw36@>td7s+dljzfgNES&*5ZF^?;UbN@e6ejeomQo}VIjRq}cA zs}#?vl9z!8h#n%k5C3iA7%@l8#dl4vlk33s7s<=i?>JLk)Kkr|(&#A%`q;7JI58hR zEsnFo%PAMA=cDhKeq+4kd*UzpZ%Gu9yW~-(-=sKSTx_8T=PvIM=%19Yg{CU^4f6OD zB{TkVwOniZO^Q1O$+9@^YlxF9D~0c;YpA0OhEscHyZ9@YGk3S$B#$`3Umdfz*#jZvYm%QInnW3EY2@ z%c9!sk{?B1kOz?4!RR{8AKj$|L^g7G3FSVZbw*!`)r+XLQ_p3edhip4f>eb^)tJNc9rxb^}su14VX$FYb(P19z5yw z>HLz83nU>*1J4)iChjhr?Y~~si!r$4LBI6i|Nq)2dJud|68?YjgEkV;-O+stm;XK@ zpaAqy@P&x31%Q8Wfa8GE7M$PtuVB>5r4&TJ{I8Ujwh-|2|DjJ5TJHbC2fFY7@`vU} z|7SjCo81wJG@_b7bh=l>s6iRVsN(JxW=&p`o} zP5qQmG~@gRKhce73&>3Rfb!r8bsaw&?Wd112l1a;joxGAYT;TQ7^WUA7VJas85+>akX%T=c%(3m!B&A4LBK6;aM^ z~46HlG$O66eWlPZPz9%xCLiKzuy2HAv*DfFeVgF-PbRZkjuN54`v2h|VJQ_*?m zoDc8XOhfSh(|{ME?{F`BhwMlEiH~H-Jzw21QXW>}XoG#AfeCxA4YlmwRYu@E?kVwX zQ?)U3Ol~~Qkz5%xPRfID|i{=uwcdhcPat&kH5qpni>h3)hfT(M5cYVT3#LfFtQ^7(tDkSaPE` z8sh^!3rPjZe)u2cPFmtNY7L|3bG|XYLC(98g6uW1kC8HVqpu4O^7mkz=R6>jSPRm} zna`si^6002gRW-e9{&#% z=sFJmCt_RxDw;-mnv)nGD|MLlm zW$y7*iC6LTiPS^+yXl@v5$^%%XK>seBxAmjPjoLyDjc6uc1hfnri|z(X?{q)t-;m| zGdt|TkH|-0^?Xb|4XgNT@-^X=yXBiAQ|^IpCtL25`$fL|k30yQ{UJ??0h&#-i7L&Z zIYdZvX?Y^76~eaO3|oCrv}*NQy%?gkYHebu)}eKY;o5L*6#Nt#yl+$X)qL%TiWBlrX-yV?z zufaR84)2wFVPk$*zAFmld%!yfc<)0^-k0x-T={|gK=|NY_)wI=!|)MmvLChbqgMaH zub;?I@aqBC<4Yxc3SxjfB%`pV6LHElI0{98>s-WjE=HZ*@PK4!86r>fXdaOdPlXrP znOY{Uv$QOcsb#~y=_X(wqyAR}1^ueeAPq5toQd z#XxbHxDw}$I9kM2IDGK@Tn9cPUwiD1i*a2FkHi2OkOAB& zgI8hz`LvKSD1*3DDeG`u5AXjV*&sV`r&CTtZqwy-(Iscd8TfUkoQXTL`%s>(RV`qa4zbk(L9wi@YgZ!cVF}RjIskIzY&?zsMmm{Am zt5#XOy=(j=5H_a_Xy_i zk>Fr>%rzW39|xI_{mjQf=3_teYbEn*n^vS1iF)SO!OX8inP1Db3iS9rW z(eG=t8Zi)_^akN$4vsJfkA??th!_Sh-cZPcVcIY;S{nhL9?d)*(I#jUM3**Mn~d{f zZ836NqAeBe;C1#kx(9+io?&m}BDvaKrVeTa99PR<;ds=zYy6kb8&~H4wg>H=*pX|W zk$5;;ovrpc&Q{l3_8aZ@)3;QIL$ls>e58LL;auii?RwAkJU|_9@&AupJ?>1mA4eJL z6hLnr0)adMheS^#PyKN?+~Q0e8Dbp{5BEMVde(#R43G0Z^rI;HORMxr zANZ{V{xahBso>%1;PYwBu`}fP@bAwAe_kPGF;5;X@00h5W99wwesP?97(6+jCHDfY zL@N=;bDN&P^k0aGiaVnR;Lm%L{e3&wr?wkj!;SDYl8@{eL|Hh{*KOjrfNg-g0Cxj$ z7h~XW0i@601-Khv7bO_sOW}e00KUIZpl5v#bSQwlDuA3SfP^X#wSYQ6J)i;52p9+$ z1RziSU_djV1<(p;1GED=0G)s?z!1P_Km;%bFcvTlFdi@gFcB~ba1>xNUaaL zU642v`K@1}p|F0W1Za1Xu=G4mcUG z0&p(iJiz&Y3jh}aehjz>a4}#b;A&uc4d7b9PXU_%*8#4FXY^-)8vs8C+z9vuU^Cz* zz|DYL0Jj2e18f1@4!8sGOTe!HzXtpUa3?U_3ivHx8{jU$-GF<*llO|##CE`afZqY` z2mBuJ0N@XR2LTTukB0$|03HQA2G{|39Qg0VSQi2iE%H%PEpjaaFYVU-u6q;w+wh8u za`6OoXKRmp< zV);A+&EP}$fA>c}Mjrc+$4kg#H~6;%+>(b8CP(G~asfU-9v~l304N0b0Y!jfz_oy% z0yY7z16(h1v?YM0>~&rUxx5I_4Ok3V0$7T^kOv&6ftpJ}&848`Qc!a#sJRr>TncI~ z1vQs~noB{=R#3AQ)NBPcTS3iMP_q^K#R%vXBgAlVHMGEM0M`P33fKg=4sa**35U@>3`U@72iz;^-P1Dpf+KHvucidXm{ z{;vm|3pfw(Bf$B93jh}aehj!M`fqtL;1a;4fDM4l06)WTm=(#N18xNT0!8K%h<0s8>&13mzJ2>1xFAMi2YKY&jF2LJ~Fp8`Gud=B^m@Fn0Yz#%{n zAR7HdN`MBi0qg(=zzOICbOD9{h608Gh66?bMgm3wMgt;%F@Ujvae(oF34n=!Nr0mO zlL1ozQvuTeGXYlst^{lZTm`rW_}JwhM18yicrUt5bHj3kF`oJ+t`YZv_NQ1BiZ}U) zzimM)mZKGE1Xb}jsvnor7z$~vRfb7JsJtjV3Xz(V!SHor1ZHvMwYUK@^DWWs7_)q^ zp^%RW(H|(w1Dnzf(bwUh`+M{~SfjnsD@7P{J@SOW4}w@iKUv9<*EjNszE87B^jHyn z1+%+1qK{*)9gTj*civ%N2jOO#!(tZrFW^JIF#be8h`vP^c=jOd_67KbXQ}GfuXm0< zkD3a|iP(o{o`mU}$_j!~2xp4>(CtrL55kM6%a$&Fcm$mpR}Ve$bw9w!L<4g!sC~?K zWWKMiRhel@?&Z1UoRaUTdZKph$Hng{YshrcYtGkP55wljxmv7c(GQYK>iZ6SH`HQZ zf@jH-wln%9JUYxj_y+GC;3>3};uNwWP#ZlI-9cU-RRg4WnaYXYh3BYkVYyXyXQbTE zy(3Kvq{c3(y;4yd_9vZhVtk}>W4_Y)7Hmeh)rn;!)i^Oh^7lco zD?T56TK^#%vD(?7$XjR&NEr0{wsN8^2Hf# zt#T#`_8Yr$P<1=3Z7U#YE`@Ix{1|;X`YOtU_D&^&yC_aWMDGCyA+|O89p~(_6PPibKhvMs32!r~N=H0j<0^We?kWE_ z%jZMU9^|qM{#&LoG^_%XRhJ?J!Ldm53gf_aiRDE88YLm;vG+t#h-qV_>DT`tS=^(a zsNN7Yyyp%bBiIH^7Jd&f((S%n=fCPD#QSG!yiAp2ZxWW%I^s{LE0jz;Yj{>vTeIAu z-}Q0rAVyi@Zt{q~3cBf*Rs2V6E?VuMoR)h3aK57PnLp8w@x&(-tD)nkZufeQUXO@| z=dGT!=&w=A#^^)H=Pb~OJqEY~j^smq2S>9dAD$-M-Gh?XBbSLtcNucTtcE4-1L!GV z>fFB#c4`CDEpep4bCfstkoaBXj#wx@Cs@33kMCR3?nW*jC-yGA2N9o{yltxAn4j+J zTFD*c67vV4pM9Y}#nOdKj`2tICyWo*vWBlrwW7O;xF_dez7xF_F*Ca$`xHG( zUIrQtG$ig$!vx$qKVezqvQsC-oE+DGMMC$);6=gD8K@aaPvS6D6FvJ_?1%Ba-~WvkFdm5h2l<~5*cH85ag<6CeT{Kb z8sry<{`(5>Y4lOTnGSj$^if`pn6D%D3rP$E;_bwoZ`9PlpuhiB)E6+-d8oh7eG}=> z3TLB6JEA{D8)7Cxd4fki=avFb(H*{i1Lu3A|H3z&7m!MCIo3c6@bs%X^**CHicUea zu;56*qhsPlYVi4vA^vsrz@;-xg!} z!~I9`5vYqE4}3@xnR*Ig2w-l>=#BVK5ztDiF-3W{ z#X6AC(1Jzqj1@s5d{|{{(8hIVOuGy*w0tdur@j>f` zD9(cP?K(pf=jV9b)_>s}7>gCRsBiIeTvw0Xi{6Sd{u=!a-B9hpIKG8%#4{L2sjt&W zp*Y0gh7@fV%QJovmj`$rGTZnbPhnia9tGJ!oEe1$8TPDAz=|xC_yB`185@eKCd}SI zsyCwlzWQBf8ueuBzgcN-R|fgIEQ!eW&NG-GbM=Qp2r^<)VNl`V?KZE+Dt$)fGeFmE!Me@+NM)LX{)MzJJ0^sK(K->WR zqHH{-d~s>$_!!q%8&LWpwXlUJDd*(z(3%zH_8H)Ez(0{2csd?w0$T)Tm%xko=u^m| zPoP&*o5ggd=>I@xBka|jk7`HSoZd4yH~Q5?YsM1y(tK#%%zSR}6Q|S164T5Bbwhv3 zf^7UOc}7TlWPFV4^sShdMvMor*K4D4B)bjk&)|1ly{^8g-+&R}#hb#U?VzOL`;hR)I!VTmV(r=Me9l?3GvYa$g zi0v8BkK(mw9#Hy`m5wi`>TNow5a*hCCI!Ew=cDveO5v~Clku`(lu+SbznZb@HDT;W z(&14nvR#r-n`C@GZm1TCTWad~4)p>0g~wBRPXBOg#c6BY?$>`R&CevjXu zM(6|Vc9Ha9+PsEd{(#7VhDMSs1bjj)pOvnu;AJ*Qm(bO9 zdp7xmSf+5BGxt)$zGg-qY6p^Ttg#uf!h{W#`41`;zwXy%W)J5`_Y9y^F}n)?dVtRK ziQ{1XX0!??N;<**3hNT^d68-IK4|hbo-k?KG0QUhC}>u-}}Qks$WuiRZ_f1;#Lh&nzC>k+D5$hO(yP;_ z?Z+>=j?<5nX_L^(zW;k4gHHc9Fzanyf>o|TPV}Qq5}rBSN@|F!u_2OIh|3WDdNHD3 zuaa{RyLumDSrHW|@1jUmc{jzVB61bcrgA$)2+I2qAsCSNQ-q-W17bYuR!yA2k;!(%_XQA}L6ONC;{0mRt7{Q;W#{O}!5oe3KqS|A#2Qj0 zWG=MYnYgCNR#E826coMSSpu=Cizp_S~z{$u6h1JQ$&Q5;nq)m+R`%_SVw zT**<*0gh^}=cwiYM{kyKY%?O85!+nPvCRR*Hdi9Txk^FH*x%PImbU&Cd5DgR0QNE#K_gl z>kuIqK-}ri5HEcL;=t-y zFFpj^C{DGOqo&I_{<)lEk~=ttzMUgiJGD}+6p_OePp=}A+c*w6ORLpt5kp_6)gdyO zVv=nfX~z`rMedx(Q4acn*D?s>STJ?!kvwUd}@9n7^3=GsZj zwRYxOCvz>Lad8BgYu(JXWz4l1%(Whlt)ImFYUkMcT;|kq99y5uT$ssRn9E!^j=69m zbK!XA!imgT|Euph(`_FWudALI!8YUVH> zuQF-nRVJ+*ZJ&qrCGUa@X=O$w<>GlaZ!XCRx17q?uQl zWbrDKX45K@PVONCICg(1_mc_SPlj)3{|%M~(u!`bkl(Jt)2-K1(<#0>1yp$D%*SXOP-_fbY$RU3w1V$d&QK zFZ*+pffBI;amjC?#u9s_;Vk`peY*BCDDf7Z$$-ST+e-EuweZh0&3Zuu1N zZn=+kx0JcGyQOTW-7V#Dw7Vrm3v=FTcgrexK87ITeg>lCm%?uUBkb*W9jC|vhtQsv zA;j_z#i&0M7OazCY5y*y;N{|aJ&oE6GmKdOVbBR?A;x~0I2~&RE)Z8B?wv}?L49bC zOj_4896H0%h{0bjR*Q2W!LLMIyh@|?&aA=cJ_6EqHl*;$;@em`^#-JL zG}aT$6^q0vVlA|lOAx`oSx=JzjiCY-pbinidV_gbC$I{fy&k&QwTRnS`KUcR8{yv= zgP8GSv5w$WtOq$4K8~LvuK$+q?p14Te>;-%k|n3Ew!Lyh=QEpIY`d2n*}2tr5IG#l zxy|lD4o7lsx0fS_BRO~2Tam+&oIC9kk;B(MFI&^S#J=E2&Z|}|@3t>GqVwrXR@s+f z_up0aReWB<=d<~|j?d@w`4T=~!RKpNpZ1+o?Kd3B8N120*l#|8$0s~ z>EaXt>{>iRK9Bu8=V|k7dA5nR1-9?mHrey+)9hC}8XVIcr#Y^U9d|hHa6IGK=d5y` z=-lC=6@XLS0)$|4VH~Dw@A~ehRzNJs{&ZW=Df67;cCO?y(%P-`Y@+;CBNoSM? zv;r+(Yt#m6gS5d~vqtMAt7!&}wZ09|uV{Dc3II{Q3|A7Pb0sJ@3x^Y9=zPpWm*Q|^ z9Q_Gqrq|-|@C?+;TD*_64Ctf*tcT6V46zz>z-HNuS>Xcg*;@?VY7tgDFUFiM08M$j zXyI8^8|v^3Rt`QVUlgO{OY(o9lfDfNcM9vOGf|JP#4O;AwQs<;MjQ)#2Z;r!L5o<# zbEqZI2bTaZ;y0xaP6UpA)S(L2ye5o=!$brW`KiQu4b1!&_QGYK7#X$ z@=?ss8nh;yTQFBcPMCvqLyvz{{z*QI`CAkCi1ZxNdxr3T4Rp!Gj8Q}Vx8q!ey9Q^R zjPX9k7Zz@~7MLh*AU^o{VR6F4z?@q+)?%65R)X8g&aL6#cJKoG0l<#-9nWP-*Hc|E z$0ZsMwD5~%MI4_LVSAr4_ ze8aBhc+O}C(#nZqc8Q(NnK~pq;xx)cz7G%|`yn)iuz`zK5J{0^AI^1#m0iHoz9Z?SMM~zXbdW@N2+t0Cxhm0)7jiJ#Oy;V4r(f zK%_RAv7(jdg1IB#gca@5;DJQN8gRhhK?Myw^{136owPp8t0Fa_pMwyF<@~Mu=h9 z$$?}@3Q3Jx$7OTAE{$uIJjRm_^oJLL_}ds^GFc90L4p@xcZWvsa(+S?Z&U9{IYz`r z0z9pxf0L5`Tp#ct%6J4aSOS}OMHb6lA0%!*N(!Urm`kG8I~sBnt%sG|rNWN!<2dvd zw{{8s3o%vw#~uc)QXlJa7oW{SJQAV#xc-?t_1GEWQIYkfro9{;BC~CK#Zy6nK8p|R z4G-d9kok%@hx%6m&eS&8QQYws{$D88qcxo9(PY0}2Yc#W;(nPg8|5hMr9T~(opl&% zH)4d{Cf|gep-Y>uJ*mBFd$c^Oyt2Hyys>FTbGt^73oTZ!G^jm=!Dt zmIlj%Rl%BIbFeKqEI2YaKKPqTe`QtWbyZqbPE}r2X;pbuW7Sbri>gj)D!zTgml|ep zf@M`RT6;4rWA};&ARU_I7&!&@r;{0v%^1&jYsHMm6WU9_BeOhM9xiVvZ!eFOA78$> zd{z1S@}HD%1Rk4%u3&z!I9L`8G9InLp}`R`Jg!K>V=3^s^h=5Ld!L{!5l55i6D50} z{^@zEXG`>IAr2if?j-(y133xt#=q75H+JqWe&gS7y!gg_Z(Q}pId5dW4uA6N<6m!o zz4G;j*F&!ty>{TWe+coyD=?KnhTxg=0h_T0dqhr@Gr(dE+7#_L?L_S&$`3oQ->u!N z-AC8>hX2@!{ZVZP-gfYW_BU;hwom&&`$X%ZX16(Q_v5_7_Jr*jPHs8bh)*mZ+rvl= zz(bsKq!llzjoS zFb|&xY1<91Jr~x4^D&FQ8rFe3(ZctjjUUn+@>AH!BBHnT7~ zl*=kuCkMf{G#%E+S+GJb1Ye#FOXE6N7%#$3E)}r0je>P=A9`9Hw6S_E2p*ZMmB6== zrHzJ_Y$0~J7y;T%(2C@T+9LU&mM#AWWBAM1MJ+r@e4qc4j;iRa-{cuD*VUWGm43-O`YFFut8 zu*Bv{pLkEUqXoO<5II$j(mKG+r^sdC=M{22Y^>)&^L_<=|5@l-uVPev3qAH7jH`Pw zzP>HOu&!0ZHr64&f+qACMzTY&K7S;JOPd&m`NBx({UabF#!8QfNH=zeC=t`K!hMD; z7L#SRm;haJHZ+(y^sWHx6cG~hWi|GS2#XV7uUjmeAlsY85;<6`fal={aP z;#cxJVjEVS--i|EzY`D3i^ZezQt^nqM4Tzdiks!Bm{+_ZuE1L$ekvDh$7AMjg4PY5 zo(~KA`_NsTVx07fF)~BUm6c+FtP$Umwc>bLCl<;^u}BWYT%koQldWR8Y!esBIq-VT z6<1={mrYpzex1aQ2l5BvxAJ@9E?Bbe$NKii6ZjF?|W!S`YTF_!yS3PoPg6fUGZOzbW+Ol*+HVRRXT4qSwB0Q-}Q z`bZ7+XPeNL+oerP+p+j(BlXiJXWH#{m)(`;%XK(Q8uKfCmDRpV-x&E~PlLRtXSMd= zq46Q@%tM#pd5TxiZbF_e(6BL5=LP%8X%3t2gW$cjbUh%{{L)Z;}sB^|`Y$r&2K&T+s8#z;J8%Bgn|6%Cc?Z zvhqY%q+OMU{sK+ex!jeyR8%9!DA}D{a(a9Vy@HjF&%MJW9Q&)4adcfnbukY6r^CP8H z<6uSkfP`9S^;PS{Mod-nc#9_2-ZpG2BAMQgHflH7jJB;ys6SW7+`1{MJzZpEc)Eqh z6ZXsqM3`dscsuv;fL{NaaIpMv>z~)z*6J_R8Nt+*QqiGga8;HP30>em#!;`VX=rcJy zL(57a&(v)VkRziknPgD^IjmeFqg4i;^$Lx{&SC!iNN~^~w|h|AptgaH^|j%uiUB2N zvgf8HduNOjYr7zxI@)VORnEdtA1zTorlmD9qOGi~C?mVd=grEU^Uu`n@~e?Unp%ft zjdPTHbA4Hdiu5Kj_%wj_31U?4kejx*LgOJm%>zY;H=4=1xyWHym9vpXG-tw)qwWRf)_*LqdS!^UeqK9S(y!IhPRI|g@DHdQtaY^bZP z4h1X1RX+S-^zykYVxt#}tRg@0h#J9aYZR*#^)aknF|)H`U};{yH+1Z%;pH_YdBwTK z{(0A=AM2iSeB`lH z>1KtPu}qFkOhLgEI8GOCcSbkH&2YwyoE(xf{lYfgh?jtM;$UY+J$amCT4S$I(0WE> zD#B^(ehh2cG!M1E%VA$GoWui8*K#l2ml;-8$j^7X^Gote@_aejSrGbeFR?{#raKVh z`h4(2k%jCg-Se+B9;M`so~>J#nc2gTcV{qfRAc^eTO_YkW_Y2FW)R)$F~PAz_|b6E zA-tXph(4tCKnSjYGUm2tKmr<^lZC{Z%(PY}5b0FUWvoBE2j@qMYieo+)(or;R|N+I z!c}_T$ToF;sYnoS#J&a#y;;M3j1$zna++m~`0CSyF=9BX6BM=AnV5rmyvwuG4B4dmcj{7@A2&pKzn-RnVT5&HFb@a)%7ey(kybHIZ%2%c zDgDR%l&lSBDKK3I%P-s*edIb z%$-KbDVnd^E(8zc!}d@^lD-IL200D0M>mW46&d)hNvE|t6cmK3%F7B$3rf{c=5d$B zI(3|lW79Cpt++z|3q$vo6-xI1z__6+C`zc8Z`=+g14=sz2nFcQRpnc0lwYWHvoiCm4Jn3*&L1L4Z zP7-k-R6wW8O?|}Ww!2o4{XjS!D?F*BdLS}LC3jMn=sW%VNM1!nMRi4WUMQq^#hb|f zJX7mK1kKw<1EVv9$6XIG*HskN=Fyf8DnxTbnY zq@pg#oK#&p8%m z#7}2`ah2l&JHZ2ti;Z@y^WO3;ot5QrCESO~xRbzM+R>mq$T)qNts+0EDo?k}lvaC7KmMI)G{} zX|wYPj1YdiZ8-)non%gOFu^8G_T!RbUv7C>F@%D@Ah*a@)ELCb)|jshUoJnHznr1U zE;c!Y3iGLhg+hg``&NIiZPe_EBUexD`SP=~Mh#tc%#fB9$7l~OozpR?DF3(#!;WoU zH@~*=*K$BzvU2V@%}Yj~ICg1g*Gc0Rk6PC7 z4o}OvFYP=?Pdl4Xj{FEz>b` z^?{j*N3W@n_$N&a=HV~Di} zFE0cymrQp{aP2~1P->fzn?oamzaS@&8>p!yLsw~IeyF3(hsr0EUD#F_DqMWxiB=4* zyi$hFlpzxux1D*LJ{DXB`R0Mgy;O{f3?~f{V}V`6NDBWXOfF8H0+^mTjKLs3&+9EI z$}7z;_4>R%A1J{X#j(j(qJf8jnvjVg`;|;M-9i`JCK3i;?a|4D=o5oJ8a)0yWV-aFlRW2q(Jo$$(rpon_hP$O-z7ks zal6YcWsqgjQqFU1OJw~8#zdAe@$&Knbnh(ba>{8LZmmD%W@hr-C12IhlUTaq1PcON z6%*+7Rjm&+EcND@ENp?%sLCLTf1|+o%-KYk3NSe9% z$>IwPJiq`hR~NZl4FhDan4m}I$FQN*lz@An>?*VCzHp*Sh4|$kb zL$~ZdWz0^|vQmFRUznNg5vgc4C*Cm(7MeBdtGkVEVWWMMfGg3EG+|hB3uFdb(JR5i z87}8?;U@K*Z0Ei8m&{CmA*h&}nUk5LP=+OUfR&VSYpw;+DX>%Qw>GeD!8O`g?y{f3 zZCo#Y8_6!0-YmFPy+l*PMln)kWqLES$l0Emm65pusXb0FthfE*fB@`y{JfWZ?_VPW zgdfz`)r2c6EGP#w6X!4wSxD zUNnoIKzTXcuJuQj8D@T#d|<-=T3E4Bx402*yqfB8sInqZq8xdU@nq69a{{wKsu{QL z?Xd8IJEaRxx9A%DkiwK}@B{3(Ud$asVo0O|jR!|Ad@?I~?ah@HVK&AAbx$hP_27xP z`?{vXf^v}|bpB>s7Y&va;6u5RISgAA5FFQGmZI+8fbIrO z(L(KECd-a(DGWN$L7^MG2|gP@mfn2na1}_WgS@6LEC5f{&Mv%x%mr(2+(}UwswM3$ zQFRO@S$xgNNQSNBmiA9AyA5VcFqBeXRCAQ)z#kbR z6bYszbE%!DC%F#zfDDv;m^1vWXTS9H9Nd8HZ~cDHZsbMwuz$cdS4I9WvM|91CMiZk zHyz?m%sl7lMred1=$HX4szjwPuco@jg%T_VI+KO2v&+>{sb;feQd)HTvSWWRXz74i z%`nt;E*(4Pq|80?RL9ZREvH%hlG_(|bw^BJM;KuUbJkFEs2LGB^|jTp zx>F!RKk9C?2H^Bc3B0N^7Gl~9Rczlif^OpU*#x}m$yQhkt=FKD%{13a-J}^tlR`a( zQWC42r=OLJ+m_O|ugSoarkP>)qzN0f^$?vOYiPD+)FUlNk`V)DLNq_gz;YLO(^3uc zg7%}0T)MS3eH|uTvUo}_EfU0b3-PwN5M*o;6Cz_x_^X*W1uQC~ytQX>J*a05Y^Vvx z8lj)qC)&)?*TP~rOV<`L^I5F#Ed@q3DeFV=slC?c>$HZATp_*olT9>g_R<`-Zui+~diR;#Chg0ypb!2d2khi9#hL6lZ3xS6^M!B@wQi7A8#eU(3!<`Tk1Rbj zUWR+HW*M~=+V#jUANn#p^JG@@WM~era4e^=7MIiOT22A_WbSi1OPwHWwW6$%L^y5UEK{OVZQn zUS^>sjf$`ym1LHv_>Qa_qQ*LM|JDH%t{cK&_uwjfIpU4J9jcq_a&ch?BBUNs;Dhmz%IyNfDvm%Ns zy@T_@jG!Jx2WVpgqQ#hTfXpIZ(tjN(U z>MWDX4I92=(9$%eL}{t#leH+}X}#^5vT zmgjR!cbd$>`-bz|h|RFUL$D&^$&q$vHay10T&@bCJ9Y}I#`<2T=HL+va??zkKqRCR z+1K}yYJS9{Vs>&}H0QLmo^@unVM9xb`4~`6n2c%B*TFM+wx#{#Wg198f!S(~h5RtV zlA;Q2^gP-K>(?WV7@=(xNrQD>SgJJ@q(K+Mz(D;>BPV27n^735F&Zps0tM!7Dk&}S zX8Oay)?sDgX5xv2DHGOpf%0;!?Hu4;CLU39rU77gP*HQP5H^G{2%CeJ9vdB8pCN@X zq&OhbIjxJ+B5o!rDb0uKvDDdSvm-8*pFqPn(>)Mrq_l_)KrAXHc2F~>OHFefZyuPI z_?B%cMoXrg+-%rzeoAu`_m!0M87+E1&P97RG&m9tZUg$g9zJvQ_k! zsRSEbbT)(`$4YV-CDAH3Rhl!oG!l`f64ygiT1vIug63A`-ofP-iV=~a`S64rWkWBw zVO5{CaB_TcH49&QXy_0n5kKy5H`NwFK9p*xVy;ceT$VS| z(Q`VueaAYg10H@HJmAo0>)<%}6k}pLo_7krhG=KVR*+n8i#3&r~H6N71n)Y zjMwI1H8k-W+Jx^@IT)X<7?MD2isH7{<2#mE(`$j!KUz+^7 zkzd%(=1pU~M}7%f4)Q(UG+6Ff7a!AXcvC0JfGj7R3&miBk*1`M*{%fZU2sfLZ1d65U=l_loVnd4} zC=gOejL=7&9qSYi(cAyH%q)sTz$zmrJoDJX2f@;bx%vtVh@oIV>GHJ|b``qFz1%uw z%7zn8pr-n?eOg^4d-TRTF19=09sjP=eldFdpUxfDd4cS}+$S($UUN^W z+|xX7LeJYkmigK?5&DxKoQQSGMyY5^T06YLT6(yO%U7+IvV37ygOYHOL*h-D4lA=7 z#{HpDrwR60j5HYdnenpnRbLp|d&h8S-x$VOU$q&}BYmPg63C)yq|szF*g>ZF(O^nR zl>VZc4w{$Bnp$qFm2&O?pJV;EdTzwO^UzSIRF>3ClP92|ZmTS*p5CLjC?Q#)T@Tsg zL+`4KRO_XXc%;==iWGWjJ|C5*lxiPa=|=X(D_3zyO^RoV8ym``PwvB zEN;z$L0(>7abB@6pYWh~Eet{l^_F_zK>{jOM(jZU3e>iHS*_X{5mI_)=E%(b!@mf$(zc zBUnJuN0_%IJ?Zb+4fU+R6OGtko7B6QyHYCjR>FNhjdGt%Nn5hA4?POHBiYYNNY~GG z!5oL^G-7@=?;(BPzF280A-}H}0eOK&2iCN9=)%tzLmXOvNdCF5q31!8f;y73W)7Uy zJYJrw#Gpwu4mgIU56YLYAN~%^&P8n`Oi^du_<_TZWw#wlaZn;!^%;kR+4uE zJ`S?akY8gztPoHfx#TWwmXsmdcnWfG0(H|Pb^vIMtEDx9Pe8VW{ zB5PMHSPM%U^nPo%%Wl2Va$zBbhYl`>V0p1WH$NBgX55RtDH_fOZp%yP$@f<$Hr1)hdyA|t-Td=N}+Runi)7J*4UsIgG zrSyUV2&zD&tItKnsh`9)AVQ2BF>FXjTMD+wN}{<>gB;bmpbhGxV6YURdQC>(Vk>u?&?$9}g~MUTMUhV~BPDe~{VL4hy$c3!pV- ztOZb|Emh9wZj4IWE%IPkyP}Fk<0xG)7}=&~=(dj!d)GhxG^6qIJDq z2urQ{qe;ZOIo4#SZM0bETKWp~j5drgP`j-91;-z9lfZztJfTr^B`64<42FUj#A1Bd zFWmydK0Vs+L&T@Y7@{2J+!(I+Fb{Q#%Ocq6!0B$lT4=*_qAzStS_hp_6@9eAhF0ko zLZ^NJJ3$E1+0oY0G|G|SxUgxzPtHxpE z2+)7npXaN^U)b+jXcxdzEV^mZ0zI6TcIgX;0+FElneFrDAwQM`v4Dv92$z?kq~iQa z#3Pv&3>ML{VEEVzjOC1pW0=koU7emmp*6EcPDrD_=Y~6ib*pOIu9}mq#>e<#6W4W+ zxVV?v)(Q>r$eN4d9Vy0^mu8wP4!^1mYxe?}5GJNfK?6NCR`22!>H`}QITE9TWvO4E zbTG{m($c~-TS!k2nl$Krh4fX`{vG1Sz0ibK*(7rSSB>L(^f1~$q#-RYBqe5ww6zRs z{Mrj&}{hZ(lgG$_5$JcrebD1x}Jo@5fS>B+;A)}YHh+@B(Hk`ff&j&^L$Nisy61`A6ql%&`# zIBx@y><;V<*^ZcGk}tMt^K}6;nBsFxk;!hUq3dY~O-_(GUcKw7yxY<~mV%n`M=2J1 zsPU-g&d}WJ(ABM>&AnuR1@DZlwjMi7ALhek=79?%GJ53jA)N`lpLtmA8Rz{}V@29- zkaooArNI*h4x{bQ;kF+uSN75;8e$>GE~)YUQHVKCXj3eHWO1q-?oFwlNYNVcr)Vpp zc75$gEJhi{!C|GLv|gVjHGYf{qO7?*F3po_848CQ_mWX$Tr5!8l8JQYihtD3VEQNi^fYd6zu2!UH68U$lN{{iy(B}=?S*=B%PgEUa`aCbY zG277kqtDaWNXz2WtB>n0STx~}fL;_NsE}qIlJ=DN|7P=pu{%AkCS^V~frpsm2$=5gs7jO?IPK@CyEzipE-; z#1PNvQYK+7jy8lsdH%fGJl5h6IM!us{XniCePOibFOtgcYFJ@wr7Zf^xY>(4h9mHG z<-GB;7Y`Xtnp|m#ENUJFGwih!VUaB_>v<<@_`G$k7fnatYsYavY`bh0sdJ-dR>+gf zV3OSnm8*6o3K^OFRdP6D~fgKqQi)HLF3|IP7Fww>y!Z;3n zzB)7@fZ7#NcmY;g&_0u~IQAk03dfEPXDG2vWZ;&C3vcPZ3LD_Z7NdWE`qj_FiaBB7 z;K7T=$6XUk=JA@}xr^C5v0}`amC8Fob2#!J2jHurckIAtN}-wP_}Gr#Za22zVOMpg z*O%j^-LAqxCq@!|3mI${6Ux_jk7?a^_5~N5y=cQ*XN??ooc7?iSDm`HM}B{COY`GK zIb|p(6Mkw$Hge>!`PzeLe)rVV&N=HqM@L8d3ursktt9#++f1-41dSbKB`C>< zSNzaI1BVTU+4VHrxDYL5NHlcx#dtI*X4K?`ifSs!SzhhLR^i6(G~^s|6@>(EPE*@f z6n7A5rIV&F;{`D24MW=(ZR$A@O);=~&ZdeQb$c#5W7)N-Yqw{leW51WS1 z(49r9Ee2^1Lmm~2*2rM!An?L4g|II?&j!?{Nc!gRzTBe1++rX3(}PT>u1-cTKZNa5 z5pZto<51YT`>YF(J$mPD*JNjvZg_dhI-aLf;B@`ycd=`6LU@Mo@7?lM|OX67Z{u1f1;`paz%;s`1R7&i$3^l$I z&no=<7-8Y{@xjUt99`P9j9B1-v27|=uDf+k*6D`bny@KSQAKeD?b_taC;E9Q8X*x= z>vkAcGVV|j374m&rrI3g(5Gga!Y699ZJEHXM2e>AXvwo;eYJ}(_sFT*#L){WsoFFC zXVA4MW?+zwbe4Ryc^&zlfFbSUp!+L5(#bnKE{D6xOi%M(w1ow<5qqGdpscVA5-lBF zA=YBN8J~wBuFK2~Gf0Wqz~rqmY^RA_i+Hb|3z*0~Suu+v?Yl5lr#02(lat_iyyF_^zYs^!y9zbdq7a^V(*iVBdW{50wSh%!#3WUyEFY2lXR@07J98XHx z6S=T!V*(7@Yms7w?X`;V+Hl(b>ye8Gez)}K=H{UdV>;%XFlzPWnWxvEUD{dG*x5OB z;+&&Kt(}oIdB*hiwt?ZwhLUXm;_0InwvUZWX{c@pg+h7$n)#DQcXyy@ERrEyAveg< zF)Y#*#}*`%h(=1lI<|8VnYDDxNh$0%<|IM-#y*$)uYK2mcjc0Jzu9BrMT}DpUW);9 zC5v2%MJBu!1BOOhXv&776SXntoYS)&)wa~TSxk(KYlJk?>#pfLc%`VlzReSxW||wC z2R98GsMCPVdi|z>O$n*K$&jN2R=+605mm%{jm&$a#Q70_ZB3rfZgUJV@9ssrC0lm) zayaZ1GK#r@&8GFfyH_7c)$U%S#K`J_VSRV6ScEj~kB{BGC_21v1~+#4+H2Y9>&`j7 z@%-uCxrrNoIX3p%1?GL*Td8mUW$p*f0{ikbnfZZ364J8+9QcDx-GO%f>OU)}Wtx4n zLZu#K(XURy!4_1fA-WtIL=htKzHOC6+^5+MrHfK!wEjB1o5IKYuFDtoVOK=lW5hV`Jl;6oVjlPlMiAO>_7G&>G9LvAP0b z|CkwJW`a)2A#M1Iu|q)V)i_X`7hYfn@4$)@tdXSkKFKL~m5dOvW#I@jgUqWI;ShRd zwOSb-?}wpKM^|STjV~N}+*Vmgp~p1J$jFrNw4CbF!5t&J=3kVVwRr02OE0}x4*J!s zv29ByW#tv0lAS%QesFu%?)m8r7;_qRRq_bvs^z6+3cDJTBV7)eyLo{_ ztIS%quyax1?1r0<|K66PkH2}@J*Q5azC5evEZ^eWmzD))pE$H>!I)W#Ze70Qj>WHc zch7VQ%x16`A>L|8?{o@8ia}+e&l({J)%sHv=o`YU4yyS-p3=&m+MtbEx9-pmHHPr> z7(3~`1z7ip72CACCu_4LEs}E7-wZ|jcd1ZXJ!gFnH&uWUHp}H0J9YtA^aH}Rf}|4^ z9a~wR=5YE@4wkGqVfDcqGE4>1NW~jZux!V20JMCKDi?c}>E-JCDOMRvc61r7YU(c_ zaawMcz_lY(?HgHY#&=enkG9T%tWmV|3dHZ3P$6oXr3M8(z|q zh>8nJr9$Bt4shk-IiwYQSO-~vmvEtmSSLV*a?GV!Ma26w^FswnMdX-s+8(--g3qa+ zet7Q04M$Cybkv54=g!HR@co(c_dWBb9dpby`Kz8uGrvE9^&Kw5b`h_SrnRy_9usPP z#WlKO%ql1Z7DX2z9hIn5yW|pS6IFAmyl-l9$+l}S`O{SWY{ygm#0q7Bt4e%@n5o(^ zUu$K;`@@pc!1G=Jn@mAv0rs5UB<%78fmJJ?K)MSNey>pzF zrL?DHG57me+@cA~*tVdUV8@B76oeGWDP6#fm9arX3WTnq02-T4+cQz`3fO}og$_6K9+i$}+#Kyz+lSPb(+qt5RYw7STI zXIvGD4dW(k({ZD@pPMm^Z>o@tSbQut_*3-_w&9>_pl_$>9L#LIZGcX|bZtqlS2HR; zieyQ~0v&|RBe6bm3$kqxKZ_MF$3Kh`%6%%^75m#c7i|q&^S(zjoDR$%s!Jex~LMk433i6Tm zpN6h%VBm0KWL>YXo{BSs9eW?^$Qb+m5<>La#oiDyi%kQmWYK9tj07m*)~G4k)Y9G- z25wgBFhb^~Q)H@EyZiPBwN!n`Kru}}GT|BTO$IL;w1l=|;EM&#HphB0($GsNQV^4O z#;zy>MU56FV`OgxHFq-u+vKihLR9Z?Mtk3af?CD3k!fy1&oN#|lQ#+A?@hL!G&~ynR%> zkFIFYqOa~~rc7d|G-z}RXw)t{wyS1T^O9;BVlwa^#1)X(^!87id!>mU*sF?qs=nZ+ z5wR1r2OU3y7i!Wo*bpk+Bjjpp!5b)SHf)%p?_P((`hIW#9&EKdi2dvO@gxF6P@2O< ztw!B_ohmi{Fxs2`xP>a?ly_)M&(KQbycbM-y{H z4o-5*$Mgg>#sw^TLcAl|x?_3*TmskzJEjMw(-TObkq_QLnKaN74X=9&!H?n2GTzO> zc&GMmIYNCD>a`gMwGB}U1iERTiMnV5>mMP3ck2e>8L5N@r(v}dhkKC65n~KCuYz%z zcUHqL*SHZ9RrOGbF)5{;tFTFZ7rB_M8m7y%4TZ#>JN`L8)K&A@lbh8mTdHeb9MKwR z@J~F)qNmS0ucD@~EI;3VLMF;G^g7Z9NUwt@j0SV3=^Z{XW;C@LMW33+@pP>g7albo zhBc1n|7HrFV!Weeg7I<|E5q^3!nQ_#Q%jEVf)?Pe7{rMf}#(veDXu&kw>5}y(koW#Fm=~?M*Y? zU_$rS#i_sar+X`ECwFWa{SXAd8FNPu*)V7`5@WeCEJm~gf}eLlu(j!{yJg6C^Jbsh z?c4l|o`3%s>+r_4)YcD{4;>mWWb{)6@C-m+#WW8s@M2dCb&a59fTyE%DJ92pQ zQE~&;MPE8(`0yb;-vQfTHxMo#_7w79V(q$tL0tPXW5R2J{k-EqT3l#_bXt651A8sg zBW0|aHsMtvS|UvY5V)XlgHzf;uXn;rxvgZv#u`j1+La|OcKSk{vkGZ`{`IHXLvBxK#dYs*kR|e# zr(I(QRE>YSXF<<%?KYYX= zM)}Mc*ucfY8`;^}zHIDHMErqJB1;?5jL%Z`eDvGIiu3N+2F>pQUxdY)NNx#sY%Yeu zT$OFC@H95^La)H^g+0HN@yF64fk+t2m)ei3mt?dZ7rhG+i1T(_7R2MtXEB~w>M}UV zdXiYPqt zU%6CiNzrN$h|04&))>|(WS{nl$UsVrkS)B`o!&y}#PlkCa#F4`)n;ZOAMXm8OukgA zl!bujrJO1y5;4{O2Oe~iQ7nV8{{dbRgacdjkh98g3gMNF`b&a*1-^XR0;WrLcHu>F zg|Hi7{^60MyqP@@Yn44ayqR+Dp=Wcnyu9plat?jq%Q*-6z?Vs7=<*nrT2m>Q{jh&I zWobStk0hnFJW_6w%9Pm<(B^`b5@RmAK#Y!z$ia-qDBouCS*5Hm`eQ*ha3DNr3m7XN zy7wvxl@C?$f)$zAzAuUvN*<=71?_5>OnK~;k&+f>H6;m=9fowWpkhdAY8S{x)%GQ{ zO4FcA%GOu2LWCS)QkV`Kf2SV%SXI-Jgw2bou!#vu#V7DZDSUk5#E2)3kMc`Zq#%vi z!4`;=p$l^WR4N)O|5QpcQs`3>!apI0m6>#KThSgd-}Js_YX1@16Y0OZ50KhxJ&c&; zQqde4gh+Aq9z--hF3A)C4>i57H6F25DoT>yfmlc}TE;sNUGSclZ&`T!Z7Z9ODIe86 zZb>@=OBaszjx=6?SeSo$ubRZ{e38RSO{M_ZroJPZV2w66?Q z;+2O3bX>_e5euC5C*!JOq|y*^pdJ{N5@TJ)sP`RGyS9i6BgL`z9X6Vyp&W_PP<_0> z@UY)?*dm(y^RB~$rZNJcl3#V0#8FMdl3sLZTXIWxLPHii6W((e#vXC>UhtH>miB#t zycDEgycSn?uud~I&&@X^VM@k}ZFa7S0`!fD29LC;64xvLFIpO(i2#|0jsn@Z*BaWg*QGfem`>Aj z5}onfZmrv6B{cT;RmydWv%9OzeDwDhYDrVEe9+bz7_u-EVdcJ%U~ zwG}K6!#$VK=)Jas`B|eyh7Dw^>a0R2P4o0z7mF07HMK1JO?~EI zzuKueTjEuU4liD&nLxh;5tYzs+WYgIwY?}1bx7LBdTlP-3^Y=>rG+|9OM46YPRfSL z`C45EwxWJE(EnrZP2l9ZihJRE?(Kc{t$X(Ay=UoJdwO~{&Gcv)X=WsitX-C@VPsjG zC3%r;jAd-uvJnA8LNJgQ5*(Hg^F0-0cA=|miy zYt4+YKC}rB-Dy3dwbWXBbx)-b=6^A%`9&+0C?RC35&J60gv3MUJJV@Nn%z7#nI21{ zFhpi(pbzaylhH7|eY6%@h5O0nH0V+LK5K7G1Ak=Jb z@@uHt&M$=ISB7|a!AH{XRj7uH`T?x~e4ws?7`46QX%TR6kTI&+-CnP}?6=B#s>r2W zp1ocLl`1s|0(m$+=F7RX(&J6iYQ80p1|M3@(lxH7sRiPaD*7}v0$xKtExC^x;?i!L z3q)|~iE0w3W3E#6_zwXVUin>%DX#fD2q96Y>pqrJcQAyrU9G%TU4Z!S=R26`Lz)A8 zsLnwToz8o40PaI(y*3wtfIb&~zr0*#os0f8ZsBv{_bbar`5u~+jMHtL-}E}u+?a0# zl1!zKjzGMU3#Gl*xQFHl^?G``Vi90GI1Wmmr(!-7o%DKR{N!@2$%+AXaA@-Wc>J}c zXKd=(kDe)*G|gt$)=O5KHEn^cv0{47a&22NVwTKJ%++8C3U)d!Gkxvwd9vL|GnO^q zSZrk!-i(=Eb3GN@rOujGK*zGWiq9GyHQOi5unLk{t0~~L(u!L41xwCs)T3J+#kBa^ z3!?gbuRf10%!|OPSb1FYsUPrFr)$1+Il^BqFEHw~?6eq9>18*t);&em-LT_*Yb+uZ z*wAk?iUY546U|{e8GGHGz@sB}(HN==))5L(Xh|xEL)R+UL?be-FUO|K-}+ zQaSw5kDe)1n3|pTd3CSKv(E^P8O)-s{V>|vn|CcYb}joCeD`u|nseNt@x2R;@6C(G zwnQtfigfDco}jN+G!;|fcC<=2uHz}i7O(Ln0!-(NJZbIatUV_`BOXz936;FcEBxiB z0kjDaSJwRu2od5ilC9pFMIRJ%CY^U%Lm!mz5}Z`S+73d2j*uU9_6@E;=6Zls-zW!F z3uyoql>@Aj^nC@_6Y2*fWB5SbouPrvuuG~hjBc1^fh9y|U^7)#>icv>g}iKYE2o|O zgA$M6@>NlxENfoi!d3DO=8F3U_J?sXBce>Zx%Gi$!OvSQZi`=V^G~EDuwZ?n)rP;> zM~VTvkdG<&SNJrzXcU@3G;@sslPn*~M^Wv0LoSOX0n{6C@B*rx)naikz*)|%y3*PF zSIaz?vRsq}tL0CHp6#Zm7Soci3)@o~m%bw88ZzxAnMUbe9&PuMJmVKtp5xRN*#(%o z%LVa8Q4`JN_jn3I?VZK0<#OurnBwed%cXo$=-DPIG+mAv0Sb6@WN3g)M3XnBp@3~h zy!j-|zCRhd#cpf7M~fK7&364&?NfWG;W;&6xN^{BfA1M ziWYS~HL_HH6%R_9ujKrt^E7_2W4RgtBFN%>7f-homuFx_?S#W-0jy$41s_ueJkGn~zFmX4kq+pA*ARB`XNWN6xnv zMogb|du)eKA!mGSwG%o)CwN!R}h>r_-6Fbgftdp*26!wQNqKDM-w5qB>0o zJC?eW&qE-fENiF(0qvZ!-|g|>7>8aiDs=IwAp%UMsre~rFN6N2K0ka8?fp0R1X5V2 zM?E^?c-~MX08`Y{u$#NqDRy=-GNshpo2|aZ%J0~89iM0ACvv^ijrBFd78kD8V@s~7 z2*`e^4QehGZ>J)nRH>d)4Xs~z#21uD%)emT9sCRaS-|ocxFueYsDL0Tt}^8$&V2y@ z;;B|q)SRUh(sDrXq0~^KP`tFu`C^!IRHatj0W6WYfr#nVZ{V6xdj&r`bGRv=vtAEh zpD5y&3*w60$tQneLXswCCQy((m+kKbAG_*Mi78f>tVE?-iz02{C{yff-U#2dav>nz zP)w-75&D)86`X_!jO=N-(t2oe{(()dmHWy!X8ShP+!?;OZSqj-<(7S;561HvE)JE1 zzE-()U|_aF-RYtoBNNfY-0K&bL;cx!$KudrA~HT2iJLXRhVEQ8EqqMK!c{H{Q_>dp z#s6w)D0h~I{wh`hX{b<60{_BeEloSh3+1BHCKs8tZZk@8r3CTI!%4J1+t!>6l zx0A^_Q|xxByu7sN=nsPC0cwhZ8pgA@wp#BKAbg11O;01(v1NM8rkSY?lM^-xtp3kQ zU>(ry>{UwPS9sMX?@fy$`v|h}xH!TNqq;$R<(IfWbAoXFFpZc52&=HkS}|kXL6oTq zBL}WZ1YG5v-~}kv@-;rU;8rb|)L2cOK!amBB1c_Yst%Y`R^YYBsx&MjTx_I<}yTbJm08T5pubNMP8MZ#+iYqmbvX(dqw z)wiGtpJCyf$Dm%oSAuFq_$XFEDFFr-b#~Y^H~Z< zs1`LXI>;uimZ|eN1!$k-sfWu`MtW1el`#8VEwbCy&18448Mp5#g4@Tcal7TxRZLZg zf3ZtN71N9~gi#l%V%jHbDB1!(XvqDan+xYfx4mwwlO#`{E~r_`<{vH;?OoMTQK-}^ z3-{;isB(ox#x+@pn2(Vh=eZ@{VLntbOSvj6+?k3+O>(Z4yHZ1(1*4B4XOGTQi%LO{ zIDT_pz>s!i^lD?g4$143Hs+@-jW5;k-Wj}7EbpK{ z&7wDwcAu5ch1@FtBM>6pRKpW68RVu@ETgujx~j4wfa1#t<;aq98he(hQ8Qtca8ny^ z)U2D0p=7^|D!{2+C>Qbqp~TCK@XIK@W|}w*p}JR(bw;%dzN8`L3xl@hOA9jGYTE$yNX|jE9hc3RkVY}hGMKKV8fF!UIvqT zezOcJRA;EfD8(U+z6GIdVFQWuTdvH^&>V`*I=?gcmbaN5Ci$6(iQ_lEjCm9ea)0`= z-AN)JiOvFqjP^;7P*#H$z80fS+QpEhRD{JDOiidX3nmeoEpb$vws@ z<*77|B5j28g=}}hcA@&TsP12n09XUh`lU)$*l|Qh4U+|cF| z1-E7c+tNEZ-cO5*acJD* zcqO7dG)}SsEMv7E06348teukMeVxe1aUL`KFs~719d}atwR~kWb~|nCl)q0#Pfr>1 zVX}OfEQ;U;RO`nalQqzN`7ZiiSU<*nj@JT;5)Kmw!pU$l9wi>|OiMB2)~LFT3#uuk z`WnuRNC|U@wHFlt`G;f^t?X6Bz$OPt*hiIZ4*ck*a%`L*W(&Y^h?LBzA+7YgEYWP8 zb2wiJhc#ZHLNjo2s_a{%es)d>bHH6{35==LJxXzc&X6@eXgHjmd_7PP`S);6=&M4L zj3Ho1P&F=avV3ih=w~n}`X_GEIiufgmlGe?X zp!4eC<`ZX=9K;F|SV2v1P;dJ8IZF%xUTaDWAFKu9hYDJn?CAG9amaj=$}4JY{-5KO zc}G|m&jw6;gI((wd|NT+;VT@Y*9D9o)l}+{p3T=b1Dw}^Dk7Q=(v0m4alq^Lc~4fb z02W_>p-GZ@p2TeivnJL>ZBV~U=cInS)|Co&2Bn_svKCDwNGBzF5~xDf6mN=?em3bP zYl@j&-hfi&=6Mc%K}#*k$D=8+D5p?c<-J8UlydkZo3Jv^eDuaYs*6*s%`WBh>e}4E z>hi%Mz~cr1k27m4%DX1*t>V4zwZpxt))q+(GbYaOrq{xr=})u?srDERy;cHxw#Fk6 zzlxKR+%P#ln#~juaw}NJK0y|BX$ZOHNOoQF?sZB|DK7Z(y!Ciio5w4d$3baSnwI_f z$`L@$G|49&OAQJp3jt=;K&2s1g+c8aNVAFx^Aa!sVibhms2+OoNBLc-u!^$_LS5a| zlL%_Itu)l^rk+PgGY(xdkX!{wvzvM#iMtKD=Cve?+~knOXbtKLAEx8XbUG!+d7#iM z(yYeD03nzjqdv9NigajjpfBB-goX)=h72%tt!Y*^=`DH;q=IuxS^-~kOgB;SW+kj7 zN4Oc+Myd=0VPTHHlMU!87dl^plkW9kJ4mKcV9*=Mk8itHMo~J+_*nHUo?;2cKq@%jt;pk$i0r;9cE-cWLrUHWr;x zjTC`ZQJR61udbU}Djo~voNcJ8HSUD5N(>swW(NDx1BElu7aN=PqtVA@sWc7x#HvgGK2~U14kKY$y0F)eo{a%2yu_&m53E+M+T7& zlW$luRzPs4l9Kdpj&^D(E=mA9eNPyk6w4VvjHCfMgad}2cgr12aihXB;7!g$aKI30 z-QD_lZ?{-CRz$#pA+l_HP@(9{ml>k-Dgh=!Y>z^jUIzu=Haw^mfga6QRtJhjf6{H8 z4Q=)HuBGw~!;PsrG2NJ6U9VG5CD>&wW7QXAks(b^1+5SYfI6^KH%%SAV$PK_qff{X z8?&KLZt4MKFKsCL02>O$nTos$e}N^VqE`$G*7E>H3 zwPh9$w-;}j75O@XknD0`^F%CPdpi8OEk_>Su;roc_aPFwscekSK3P&pPk_XjqfraGpa0+eLMj}*U6*>^1?P!At za3jQ>$?iP5I2xNcbLPt2ocz#hE=)x(tlY`oaUllzrghvS4`UsNQ9Jx;;bYV`q4j4O zV{V0*frJ*0_{E2c^+Of46@fOBmlcr1Px#m}C`AMw0TJG`1HG_X@(BP8K`dP;j@s3B z!q)51E|hZ7;!#l3fmNLl{XL+}si)9L)*h}G-I!$Fa7Y|yeB+_sy|KmN_*5b^KRJ8f z#*O#QPAvqV+;Va8O$+&%?b~Pa3orI&Z|@8zW;#QuuB{j6=Pz#U>Ds!IT)cmp{m!1< z)6=_m0}>%@pJCK$2}^_={G8620CC1|<4k}!WBO3#%m6Jb8ID!C4^6b8_6fhHGRp5a zGm08Ga7GQ=Z{d8S`vl({Z#$H4i$nxOFwz(4OLuqT#6#m@1#gS61`q8;i9}0OIv^^} z(Q#91ddu3}Ro0$LW;iAbjg6DaxJ#Qel-pT=vR;irB<{5E}|;RjJ0 z+{63R@*t4TYoE`|Yib@sycPiwR0TEe;moECYQb#h`|^Ff2sygJofJ~N#tm@w&~ild ztDx|aHZh{*$XXL4A{4djlJN-ijlA&njVd%C>ej3(&8#^7Fzehd5iO}CU(5!!9}UYw@*WUo(UeleAzUJvFsP`}VV^m{S%N?<)}!mL;5fTj3K z&~?jGN2AZIL%*=Up#v99$6SX%q!IJ^@T=$f@;Z5r0%w>Z_3HJon{#hum||=H3GNwo zc`~~WE)Hu>>UvoDZi^32d)Za+lWOuCGVCKg;??wsx|{h(hnPN8bqHnna23LFz`6{3 zy=E1n38V0o`c1cRrcxa`p+TH)gAAicf}udxxL(Mx8XMBp$GT)#q&TccoBuW$|8?uo z98cc5a=)%O(Axz@L@jI-wOgbj8jeB%C<^CT6rC&ps*rc0l}ogmS6K%-4)uD2y!|N$ zA=Jb=uXJA+y>kD*-!6jp^Cw9w%v^S$GBi5 zF^QUHY8w%gPapRTW|9vwB{TD_@FWhA#g4;`- zt1)%F5$QwM&^s0bR$<0|?D9Z~dhW%A1q>jZl=m2DjC*P8ARNZ?Q>Key zRk*z;obHjSx>rqoJvC^I*2Xx`1L%oS=fHDoaT?1EeA%?M7tY3RZ6n9juYR58U-=~F zznQxGG-Bf>roe`FV`rsK9nN&39|5P17jAc;PHomMZ-o>opClj?{t)J~N1dMz zDU%-%6XZk!O$d+1#XTr2&1vBs3LI!L*O#^s^dU`C6_R9}Y!OWhDor8jh%Phaz=exa zwgjcp?t$stM!Lf7x!vhXOm{w@GO`%)RAbsg^fHIm7OXMe9970FO44T$!&T6&7acdS zjJYm@JWCQRc$oH#>Trury+A*iqpqD-u2kwA@!j}$`2(7A=6XWXImEmE5AYW#UoTAxGp&ILSrY5qxVa@?hsza723pAY^w1}<>U9EX>&Bxu z;0%`@FTYHCFPB?DPv{*1Y4#cddNQqJIx`4T-D#(H)k`wIvcK$8kmMRovBh+;y`l-L zcqhbDS^XURxuDA17Ackwb59O+uDSX$1`tQX47Fpgjl&#Pto8=Qpw4LA{-pK;AEL%~ zqsa^EU1QXrdG+&J<@f?{uW7YMmzNd^y+A0+rNRZZ5s5QZ%wSyEX&sxn!-d&Oz}WOR zGV`moWu+%9*M<{8i z%NPY-LB<}0S5>)z;K-{##=E|SoH7L~<#aw!#ateoXmU(B>GUYps*AP&8LCfqQ(-}L ze*sue;|0T#Mt(9~Dooc<>4EAdKGWR1f}6v7v|2G7+1ZM`34(O?;iAG`+{e zQ&5|+kLP=Ml!jpgSCB}Fw4*a3zDt)w0xef_bgx!CzBV4KjZ>;*Z8F8fmklu$2U{sgoq zjpgOlQRxrB>j3h66A(!ifQ^;FGemI7F%Z{Ie2vwH$tLq=hD3AgSj@Z(TbsMD>{?9c zv=z8(K<>Qp7khRp#>p4h#@|P}Js>rq+M4YhcmwrPGQB~4s`fCDtkO(6KY-ruTg4h~ zCc>!&NFm|W4jk(W3y)%Sm=9x2hdxzPQ#dNx1=ROGhMhorw*u%J_5!R6+6w~c+qC-{ zmb9Yn1uXI`h%0PPVzH%5xh z3F8DGDCP%824af7S2euvRgNc|pdMOX>|M!+rPmeIdc6+yfGEoAEUB( zUZsRiWksGyu|)3qw7YjAoQS9M9w^4sz2KqthEJezyzv&^JYJ)lscQdFe(HdX8+De}+9wx)j~T@QG$I=yw$wC*x$C z;C|S#grmkY*b|ulC_^b4!cj}la~w4@;i$b>;~&R0^d7R)G^+SsON*vm!7LhPP)L|T z4D&{B!i>pM8+7vL`7?yAXL-i5x?h`YJ@al26krmaN=Cf!u7pb!lZTrGVzLDf+F?8I&;(=IINVyB=+sXpyP6gl7hX6UX zEYha7p_YtUB?n-2uEC4oySFxf10oS^NzGV24v8etX+F;d@s~3+}3vY^hxFIzK zttM6@V&kSCI-l%%Aa|&#WzR-(x<>~xIo0#_Z9kal9~{)3@A0iGf3G{?Ab`s^=!Ok} zxcCVx2COAVnBq~ugk1CAjvE-MFz)Sql-|fVVcbX z8t-b4I!}e;b(ks2Jn%1Lm~lTh^ql9+d=>H&ZhpM3^^AA#y2h(7T%o^fA(M5|X7W;X zk*tL(ka*>%RxO%?VtafB@r^aibLdmtl@@^>hfoV9#|ZRb9&}OTaUL#T@Rk1oG=!wb zEmX8>VK%I`LVCoq51X#xW~-e%$~1&O4O>mM|Lqqbeq!~g3&+4cO7l2=!F@~HSmb{o ze}QzlI-X|f?fC%ex>9@u{U^n0Z|4O2D7(1Cu;5i7D5+glWMEP-vXT-1$2VZv@bbM2EsMQ*N(FQIxVrJLg6u+*A@nU z%)DAHt3v*ew$%xJr1H3sb|)Sa-V6~gN@sSU*c=2~n|4ba%*^ZGD@wbrT{z!)98Ac^ zV>clm+S)EQ09}quu`>7suVQKQV3~PjOTvw{t!*_{Cf4?!LXOg`M;{LzU?wGGwecSI z*b3Y@2Y0*S3)<#Kra&-l`Dp`cwXS;zJ2GIphk1Nw%AuXO9z#$9T6>uq% z(VDtA_w(H3MC-PeFj_E1c=9o}wYi(0Z3x+dPrYk^Z4ieW8ujnqvlHu^a?hqfCoFO) zm5+0o!KCn4o6=a=gSak1Ti^UV3EPwnr8h`QLAi&2)Fq#8B}A z3H}vxs50=#9J2f8UqAPQ&7IT%i~k>Qg!L|Hd70A^la30n+?>o$0&NiIfmIr&_?D5( z?|6Zl<{SacSsjGe7c!MPA=AIGl^5;0MF;XL*nx`oxWCYiuy(@NYKRG6A7xHbg3x=B0^??`ya}QCAFs7e z^y1={r6ShJ6!NBojBJqpF<&{v{AGj8=O?wG|U&eK$#b1vHbv__kLP9|Lq=Gh z9wWOHOzx|Gj>zV-JjZ?M<_Qu*GH5A$hJ?zmkb3_~XV#L9#|ywujt>v@_n}}mwt@s& zN+M-BR3{dBrGwNJMgOj2<^PGJ8K@>N72h)*bC;a-0^(a$K$`SOISII6s?LIrrs9;= zsH9ARIG+$Nk*?I447ck;_7@wn8rQUM{>ExcX3b0NGn$(3HJbvu!)0AtdVbOYlU-m` zr4}|2?Tx~|>>(_T&BEkHoH;xzQj%`UR4XO?)6QkLMUM+xG{TQ8$h%Vg zbq8a#gNjS=6dk9LGMowo!(mAZ$HKs7>cez0+w6rk>4exkRhHpBgU!h@Ip&d>>Mc*< zESYTm5$P@YKo2~tZp5Z2Iz*?iy(mBG@%kta((7}f5-9*RP<>E*7Q%>?hY1ytg$UvxKmiWSolSA@?*Sf)m_|ezE+EgW!qcmUz{@m zzem1wD^#HTBz##Bu(TrgDGI{B=4XcHrK~q2=9R{%UliWdSQoK28V(VX4k)sEZ%I$9 zHx=lO-Fq<639rk-1XUo)9DzxePqe$fiKrx8}=eu;br z+q)h!wp73NqkOgBAI8z5cneCxz*TkKi(8?aJnOuZ!p9?}?&Q*9RJ{%a%wE>|HQ`+$HB6^^@A|BPvP`Nu-cS>)4A$-3I@sFPP*W4A ztJvwir=*q8n(VHtt*q#%+ceiuTM_7}k2X2m4Qf1t$GoU!SxPz~_WURr$1Wrb^7@Td zvr%t`Vmgt_vBpP_~HCw)n|4Q1* zi0T>f+pDmb>o7*dqsc}NgJd4J#W9B2G-2@Am==%L@F$KJ@OX5%y)meVE}i1hB9+1# zA~9S4zdf(i@U~Q_FSEocd&|H$*EC3@wZ89}eHI$=d3r~YO zgp~KiO~YGurqVD{cjSk*ETjj>Ty4AB9>K}LiB38s_;^M4<~x!n#&AXupIJ_x*#LX> zrR2+%I3#!n&I%^G|F>ygUf}VXQR#-rW9sJ786f1&z;4jNlT;5K_rNTt5%SMfM7V|=2i6rT9edOddjY!;D| ziR{E!Zm_>A1=?aLeIHMjThjkEAd|i9y~7!iTJv78a`UNh`yCtY1t2%w(H=gv$)bYf zXDD}kGm1j;)3B*rZrWTJa>K~T2D5vb73t&HaOq5OuiE45wtPT_omY)sNaVfK9^1n8 z5e*$)6IJxY`66$%0%#r`E%MLRzh~v2*n7=o#kFyW`lN^mVH`}110*7_Qj|n9eddbi=tkUmq%^Fjha1=(1mver-SZoyv|QAqw`RL~v0>+p*#eu2zt?AM@jU_aM8X7=;+ zdGpvTS8(>DolTU0i3!ehRi_3+S>O~U8~fSw!NqC8{+XSjC$Fr0&s-*UM^C?~4?Ebm z_r?HwzqySD$6Wy@+lXHBGe8kw6c8Yabk{&&#M5cb(1@hSabW>xa-k{{L0TrZY7EBg{@F7RZEXp-bf;=HI*)S zx3DNWOqV#3LK#a4w=t@B?({t@e!y^vTmktsk;{Qq8p-eDpemhgHE)O0eu~pxC;cj) zbr-Qrs~-#m2nK+#2)B2N3?X8<$cacSPkKh_VN_LARMb_}0ZfI#_#h^PrP6t?fvB|c zT-E?orXg|Y6l@dV&&B*#1D#-&fEJqsSdq@E3ZXjCaL}Mac-n-4;x5iU*> zP8MOLcwP@Xjhv8jUfJe77OE0j#0e&smBr@3F?Z}mKbEjq-eZ5#`{BX?|B5(!I72%89xl6M)Qcj9k;iM{1J%G0%9QLy0hO=9v*@4>QjTq2k~{$JsMyC&iM9wP zq0Uk1OGPh=F=-Ubp-3-^R?*bqGPN~@O;*sG zqO+K+Sb9?w5f#y!qLied(O-9$X-)AW>}xW^qqV3gB_(|-iertHrR8|b*e`{SOCfwS zZCM`$T8^s>^S%in%FQbV+AvFvU<>xpl0qKFt}67OkntFh4L3o%x<%rMr6-lRNu_4q z5KE2W7VW6HRd{}n)E%#jBgK-8vY;-a zv8Xr8^}jHVYed2&?P*$!V@u6Ji#)>TGPi+`Elu7MuZ8>4cUvDlb_%$5w>mAS*pyOp}+>6;CXL%zLpxYU?*7@`(W=HWd9Kvye5*l!Am;m zC$by4$92;7Yt?Es7CL&X!*)-S2FrKZO`t9AJ%`j!xuZm=Zp!aP?CMay0z=2LsHuzA zdw6xIBu|JYgHdaf@*HyIPN6={<+}OFa%5<*sg=KfY$ngzZv6XB6t9$3T3*I;Lef(f zYT8K7mtcLg>@d;g)#wstFBQ_WUZj)h6=V`~0RW+@D)xb>S3m=zh8|%owb6(gdWEB* zC2k&345n@2sN`3;J*$oF(|Bq`dcZO^SfV(bM3uXMsB&i-pkEtc9u4cAF46}`6_xlr zG}Qw~K;>%)K-L)4Mj?u&6^_DMxXwJD3R4XmhjD#LFJhyOjpnUcdMEWH^0-Nq^c*cy zi8#~XeA?jjla`{>M_opFgcP2QS{27Wf9fTezdB@hbCj$$c7G9hRAJ=iL01Yx%3-{( z@CrGKDx=r&Y^qaz)-sbFIE+L36CD{@A z>b%>ibnElG(Xv3`L{6LLF<`7miaYg{zC&jMm4oDKvtQf*Je3=0*TQ$$@4!+;T}QY? ziD=j?2*p&DA?n&33AVdX@hHB}&zK*lW>?4SgQdoa2(W9*|R5aVruj`~*Nh>#TJ@k$Cn z*dnlK5`Wh+Dz=yhm!NAs3MO@piwREMRrF$g>|_a28(@SgwFj%3WUWnz=2eXK{7gOv0;g?x(@NP=LN1?47|Thu)9WG6XXi9Ov( zIyi^Sj}#0bMEJTH;Gi>gMmXzD6E_U)N%p;18$y=8TgVg0hZoHT?}h2*MXi4-U20kh zHetemVc04jGZN1EYLX^8055X2T}Y@gn0m2}fGZ(S!B*7!Xzgf)Q0XkyN~RZEekPr) zv$8-ho45#>f_B#Uw~F@+u`U5&t4bwhucGN0IyJ6Mp&D-zC&$`{E)9;`18kULL9$W7 z62)sMZr5^|v1AD$N8qiNP$| zg+8n1^zkagNEd1}`>n-11_gdAA3A3Hq5q+=+u!+jOIH!3nMH>>Avt_8<~l^43pnLzU+M#8IF+^j~0PWo`T`erixsp zPp&4Sgu8e(KCP(cCyD}SLnZ5X({wsLP5*5PRaG@KR8@r>ruS=8Q$0QSuPTI#fGf9niINt0<5^%ov8vxWRq69p zp8D;-dZX-H`Bt*GH_5uF$RndVq)Hc_)hI>s?e%3q@8M|#9YN5O4)zi54AumLyfCf) zME$`^G6mB#R`H%qWo~a^`@3%mc->{&-u}K{-&gMO`ggt?Z~N=sXitJAS6)i=M0;84 z#=o=9cz0iT<*#^*SbabBNN$xDKcx{MHikxXAk$0{RgKc)m*y{ceIHIQl`$?#FF8g< zY5oZZ3>BxF5JbFwEBGdQJ0HlGw;|Rih$nxU%=RWrw9iar3;cZ}d}sa!a1@kF;W`L3rQ>EXGO^nbt}s58$=tF+%HOHDj}MRP))nRz&v4jxMtVJq`D*o&H)sKr{X zIwh^ehs!V{MTf=$h+LH%&C4Q&#a4fYwH?8FETd|Seh+{M`szj`nF`?7qNJt^x~C3t z+gwJeBT0Dv`S+eV|DNZ+_jX__m_H%vFAob?ED||AR zID`F7HFJ4_1ysN>TI(pQjO!bu`e3~o#FNYEldNE;O+@QkBZ*A8_s`yc2Wgc%e&_q~ zbNl}y@R+wJ9%QfR>g8Me4r85&cfX9MHc7|w<>t4Gb<&E7QK5n+a_F=jtniI}hbSvFMA9hJzjybv~|xWfA0s&g7?z(a77$ zQb$}5J1#8}T{b8!k;_I;7x^JgA(i1Ke27)NozF)J}=+HccnFHN#4OFim3jHsN)<_+92Ek;FKjHnZQ z44K>DI6)k=pJ`>Ti(<2?b*A{0k`$ja&I~MT_mtDx1wt34el`D2mlu8Uw%{ua4{a?? z(xiTi)Yc%wB(L$x~d{+fC&ppIh|FG(XizCMEN_%MJ4hOB74 zD!Ux=4Q2KCt`1t);=Y2&11UH4GV&4B$L zYrjB;cfoh?`@B9sKVK2=S?eA(#@5$M`YRGP%>i$j>Np2Qt$62IXmyOFIM2jlK^O(T zcO^FJzs9~_A)(H(m(mfCPJ`|z_;?B1H3#@ARF4@3c};yy9a#Xmx{+Kg8)?7^LZ%^7 z`LeJ2hwKl(uT=kJWxR@=F0a44YUOS2hPz4ksLy{H&##e|@&V%wVi&fe@e5yRMdKHK z&(X$27q9hgp^G+O3vEBZo@=I0K=Lg#)&tX9Sp~(R(W&jU5pFGLxO^w(*dg~$v{qGC zR@PU7TB4Xj3|3C6kb4W!UljmUE8QyYUd-Kf@V1F6p=dN?_VgXdaURi~!;xdg`cGyp zM7-4-%5OIXY^a6m$i?6edz%N%zpMoZ9in7%eGR{T#T@b7|_8tJH2=4kB`!reYQ zW`Lyy;cmZB5oOq&8A#oACV2Qd2UX$Cp7O7L#NH3TnfhY@w{N3FC?hj& z-%1+U4qyd#Wa0{>a5GWSxJd9fCDyN~yKO*-)9nYuucp`+eZ-vgX zjL8{iZzY;M0Y0j*k0%RBl=I|x2`q`07MztwTCk1b)J{y0wIWEt1gY?P=K&51z2-bd z6;F>kh+K9C2~XdIaB!+wcDp*!y&LuUf%gVF%zvIw5OPgYZv?c>*A^glO)IwK1YZZ448j?OAVf4*qoI~QE@4{fuF zafK($QJ{tM5A1wLvH7=P=N;#kKzS}WlBH%J2!Ke~B-h+vE+yC8Uv!@NO~PMvo_W0w zn$R29A!$hoICG0^10!#2aMm%Y3l%9LQItRuV!Fm6H2aLs6d%>LKS!E>U-w+7_l3Pj z(Yr*CBB@2~X;ZW>S$oO8WV)-0Hb4VL`x;&sxUer7o@MRrft#Q+uxCiGKxe3Zk|}amY@lpXrPx?{~UN^7k|fk`jYW?74{{gmlf+v zR-wfh`8yF^0FE2``6d+6D3fCOFxpyRcUOe7Aj=$(3fwp~QdGNi=$#a6Vh8u^xpMsY z6?Bt+@IiEy29M}j&x8IlR0F`_67eWvU~h^%Tm=nN=3kL3DB(~15j`$UG!P?II=%s* zx<-rqGEnLm8^>2)l48=Od{sH~xx+y;k3|`NFPWy5AP>%?8wW)w3TYd-A5j&Yg8?|C z7g2}vNY{EVt$i`jQL!jN+UZX%>k0FA%N(Pml6)Ws7O&07?rSnbo8nbWnj+PDtx{g zI(sn=%Xlmn_5kLiMyf^!6JdaHL>$jNBt(cO_P$52jAn-WuUx#R{KD;oA>TMXwTZQ@ zeBn6N6UDhap8YbO&>-z~h_q^;_G7w9#Urh>`IsnCzvSi=(mjyv!3h$Y+)fZ#Q3g=~ zD5L_y2w|qt_GvtST0pnnZ&%uU7%sWL#^d<_`9Ym}C*1+k@Tb&aioUY&=!0Ve{zHYTdy@<4B6 z$izmmdlw8rl+iV4SKDzHl5N6bW3I1*F>O+p@IcLRT%Amnom4?N($Uh?P^Yp|*pGHP z%=@u9s%Q}QhuVIu$88H~EP|(2<-U#9zg^zUZYgYCgHC6$Giw2ZHa!WgfTRLkpT16R z73;(r)zrDCFBB2gMC!HUN~!14+E7c`Q9@Fkr(&c;r zXN^Ai8G3b3r>G?kvkYjQa*U#u+{18;S~_3Mqn1>gCfshC1LtLD$ciOmX^ijTf+%I- zXl?K_reZFsRwvG_2oi|IG!s-5c+z8P-VK&5mD!BN5Pxb0Ce|#=8hn^C0#t(101uzE z=}iJUJskcql&7WxfPtm@nQh2!5HA{8SBUU1T||Kb1V^ zHK@~QT8J7xRPg&=3%?0^O)W7g>AE0KLFXlPLshS{Cn1=o1qiWbpz502n%i3S;feHv zVq7<^Q%!8_YgHc+U$EL(sD|T!^c}TaVpnTO$W*~ifbr00oc)d z2}?wI1K2mPF)AKoA-j%gSq1{DO3`zE2U;;G-bb_>3z8a)`*`%60IHV&P+Z?VK)@hB zVW1y{s*+}@5cvtk*j8F2sGM9wD;RvWsRm&~V12#-9uEP(q^(bmUxK100Fz>AW}|O1 zu44wGh@eOsehGI0QnZenD0HdemyDYnaY!V2#@h%{IwXKkzDqZ8CoCkz11Nz1l6G@x z^pokW8h(l3#YixTo99p9mrBl`Qy(3x3jMm{xrar!8?#u5W#afzegAEejtCXoj&mKo z+Mqsjx;==%uu*BS@M~T)SAalui`Ci0(J-LKK6Sf>0Cn1n4cql9_F`^V6Q)x~Fj#C? zOt9E;|MPY=yaI%(u&htdLWnMjW2t81BM;#a5&wN$=gxVaNS4%IIqTZU}aF#z*WlN^cNdQEbjQhmB#g}rKqOKP-Uyyxyh zuw(%ri(n$%5%GRp6 zwppTB9>s!wZ2CM(pW{-xekVR}Lu?XA7IapCg&3gv0L$1{QF4yL>1exLUglS*{}yQ# zgrM5n+mr3s%351^SfMr&k5aAHTJGdfl|YnBh&E8^1hhKk|3fJSx0+|yuyg2OF0-Yn zCYSDuO`JJ%<&9V7=2#VumE-b({k=|>uck^y>WQ3f?gU&TPnEz zH0soz-@;AP8?>rJ&?slO5v?GXLDwv=s1r5%X)^fil!|RNc_f(ALnF;EYDGHtO0Y zPB)9P_wK`o?>>Lt%+~wwIB~GviK8k{*~_3OgbbCF;`||j^9My{h=M>6ASj}ZtU`S+ zNeXy4j#BTE;yRc@B`-t(uB92UOca}o)2i%61=~9J$ZI3*jNpOGgPJKW z?92x^?uUwxElN^*D}plAh6#^4OJN+ItRWG6%EU zl6Rd;&VQ6WwQ}F-;qI<%wyS%X<+4X|xg)u3@5-aSBe~nz_}FMy*Vq^m+c@1H1Km`& z7o9Hh8Bpg2JP<^oMlVX`f=b8=s3XL-QIFRXGH6q)kl9K5;L&XM=)?s7 z`?Ku9l{da7)76>DbarLfC`cPUlFc3&%^k^(-p(dQM>{)-G;pm9!dQh^UY(T4N8PlJ z`H6K6uTjDwb+xXYSOGCCU9T7YQVF<$+AKk?ZJ=nel=scc%6KSP*}G}?JroPS@NW%u z4{Y4dyoiWv@95O9p;&I}JM_iISD7e>$e%8h*RCyc+mM1!~^_Cm74>0V@Xl4buXr($i66_r+kp_8TTz+LbdE{L) zMXeZ2LsP64r`jz&IW|Id+^CLE%v8k(>6XCL)Ud{AJU1|yeOvzCty}M&Zi$|Yw*K=< zMKzo6+}Pfin;6-8ern>xRL?@sThsLy@x}mZ=KU+^NJ-bOMWBNyYFG{fF%2nITy8`b zpwFdyL75EcJc&i5W}#uEUIaV6-Z1(@h|`2#(>>VM;I5UtDc>iqrxEkQk89ijr;a+% zr=%o`l}F-{TI%78xJicRTn{I`-mIu`r}73B6;M*aOJx;2v0r`isXO~K`RvxM!;}4e z1Gy`Yo!feHWY3Y&JLfCzJ9EcSA~VL=g}$C7ypH4dpqk(5?!iaL4x>n~ECuk_DCRqW zSp(V}T8B@zydBx(;24UqN_6&(iAPSJYiC(mSq%@b*H)8lnuugsriO|d#p<%dIhdyG z$jV3A$=B}M^%QeewcPvhUiR&klXrid#g6VuG$)?s@==9(`47CajVc_~!aY)ttWgGP zJIqf)U{YZznYuRe>XLeHI&N>1T8CRzNiCkvqEt|H? zZeQFp!?u67uA-xA*PX+gA6~2obv)EJK0LA^&3^sj!)`f$W_ruHDLh=%{11XQo_mB{ z0K_QFbq3#o63_(8K$gQYmZFw>5)FCK99~qGM|OvIM9dB5MXW|4&wq0NOfdSw``;I+ z-*R$v;{)?|O=gBSY{+CbR7{=QlHQ(SeLrJkCpUwPKboHIADEpTz$>vH34iVeJwB-k zNf!8o&}Z5*#4bpgB~mVujf7Z?v2@kSXXFZb<&*COmA&;Bt8VO(Be+YE8o~2lVlA{l z#xl})K39+J1m+I-t;jCyBWekCRpF>L)+LG39kpb~v{64@uSCwZwpM4$JYe(o@<-<< za{Zm%!^da09?x`l_U9(f&7Yb~rzame$RBEsydw6X6U{mAvp|M+shi@Ir zY!5Xbn1-Bwd}5+AJvNqR-pp`kynir`d7`AL8jOeLDV7gogxG5&>^!2FIv)lURXiF> zMo6_J$XC)T{gQkjO~yB#Y-_+E7J9qNG?;4(%7|u*iW-4YM*!pK%ADC7D`R4B3W6w|T*fIS)2!}86 zD;UIELBGQOPw9~*uDzbq@8kHsoj>n|D8C-xr}^(+ZK2Bo+tsYtWJW`);{T4OlEp^=&%2=50C zImx3~|4=E263yjYuH0m9682gnRvRjj7E)-19VOyhPZ^rZMf7@(qT z6*scz^qOfBkd5WU#2=#>KLd}Zxudb8Bh=nh-_UYwPkw4wYj|c)e$zg7feXe9FDSkx zk^}akrpCtFrq(U+fpBy_v1#LAH0f_z9N4&ddgVJT@IMb8IIu6#mTGz&GGf*leneD0 zajk`xJcNQ&MW?1B4BdcQ_$Wom4HZ>EP_RPP5Pehz!$&b|zsKkI@Usb05ZEvs@1h2h zYu*5jr`HH<_VUU>$%Ie~DmI3zgmr6#51-AKR0yAiJ{Vc~v$gaAm9n6Y@C*5E6mdoC z3-YAZQ$j3!5Bb*~?~p z7NGfO)-p7dOb!kvS6&qVCWqMXX+KqD;<2HjSYqfQ{daCpZ}XYz2+Df*iU~;$^ZMSGcJo;oCc8Aex&zOqbm$ss zV&N(^7v@+(a(V&0RbSOEA>LI><{Oi4=WYdk4GjG!wfCac19qIGY4m@9_r4*MOl9cZ zqZco-OYhEP5+o2bCbIAU4mM09qM4`A`y0lKih~1H5D%Ho(OuZ?$(vIM1`HDw2e<@* z<5hSQ;xg${$?K5N9gl^eMZ=WPU29jD+_3h>QpRaxGW+H5=wx5_z|fV~pPjv9c+b(m z(fTHhee6w>eW`3;-|>5LN5^L$s6Kan<=X}?J6C7eD{@F56NQt7H%^>JgozrcBGdr0 zpK_xy9L{0o7)Hl?v0zMKu#C;W)OFS|A*d^kSEvh^<}~DTnUHx*Y*XQ&ep8#9OZG9b zbLvFVx`G7!F}td+mP&O+Rnm&WA12jG-)0@`@8M6h=YcH8)r13Nq#-1B3x2GUDwCuj zMl9ZpCw5^f7Mn^YH^gEalHZPRh{q;l_&<{cN z{$IwMK?xvO+5A8F5-~43`NY5j{kzU3F8@~g!Sv;x2h;m6B;WM@fd>|oZ%Kas^Pj)- zop*i=fAG)eS@%2N30Yx?-%Ik_K&R%L0mE(c&DbyAxzhTy{L+miUB7_qzsRo_`>{w+ z2JLtn@J)!ZgnA+{0ObCa)_1b+iQ6Fi-+=7D0sFXuo$n8DEv<)dtlrOl1^cpsJ@K0Q z*>zm^B=$*#{cq{Brt99uKl=ym-qjz0jyphy%zpZpL|46Zoei;lprH|)2y`%|dgy_> zesTHoPnV`Y{mtutH;sELaZj~+4}9jK9;|T${`h8-dgDV6Y@yrcu7C5>(@Q_SeEAnA z>7FLw?GJ&MaXJ-i#z_)i z$yu_*Ae7h_C~m}K?fjVFYjX|h?w)l0+{{85fm0Ks6Wp;9I)WA!GAX6EYAz&YJ8H}h2x^BdE173Fi&?*cKPG#aZ0 zrB$&QC?(o@L7NQPyk^S?#E2st+E&RT=JhVX5(@qHzPNASi}Fi%-Wa|U_oJVe^bh=g z*m{=1C`(k+0uO-HcqK0$LpW;QbPM6BdOYN-cglZy=P!@)b)?z1GTD|`SNNU159=z1 z-~S9x&^~WsUt#ZsY((WUl1BV}onIegFR*9P!yqb`^Uuqruj60H1^bHhbzEOZdA(({ zscwgNfO7VV~Ij?bmV<#jc2AlA1xbiwx%$VMurM4@THmgzdbE+tU4!Fog&4 zKF}fkHRz}VwgR$?w{SaM^hY3)*)l%E_S=Fm64`@?h>&Hv^_D}Q5H@_BgAJdw+3<3} zX2cWEqyf2{eMgGPRnq^&t7QC3ysXFP5_I0+8&si;}t5$lBKNp`%AHe73Qm@80!6T`Ka&j;T{L1G}sK!H|Xo!*TQ>(d9 zumDokov~<2>D-WTG|^PoleHJ3KdYh@GtG6c_^6jfcCb zYpH6Vkd>B%Mx|ea0?H)gU(I-9!=F5T`crqE`^fU}p^@&bfy$Att+!_OXEwFF?+&`E zDyt)*jTdj(eR*!~i9P-Oi4C&{65;qD4$cN2KK+UF=dPW;{R4-$+%Xc1b@UwBmN`5+ z)cuiW1bv#u`^N5_+xg_;t|xa?-QK`%OJ(EjsS)hVJdXb){HG|eAQRH<`P#wmE^e}T z{fes{E|b=YE<{lStWOF4lcKO?9FuY5q6Ox<@eMw*92fC~$+27#&axC~?K7Pi!N@lA z%De*ZwEt}~0ZFFR40C)E$`Vt}!fh+kq2Z4Et<_O7m8 z@9B-3XU-p<9_efi_eG*z=f)=|J3FIo@mO`@{`8ibu7w?Yhlj=^Z5@s6t(9`*mhs)m z#J{7hFsWlk}wi&WjwR%k%m;VZ`TZc3%9pd)VPU-+Qn3O&4A%v$8rpAScaZ;cY z0Z;@yf%1?&ULYu75FFwoM|esm7ciS4@Mt`0Y1mALmVNcvds$A&=p5`-xk37i0|*h= z%>9q^=l{pK^Z5HS=T<(y|LFq<-+o~K(+3Ycy?^h-`MHPlM`9DBTegmc2kH+kJT!lH zY~k#u&!7AB*|VQMckcPKZ2TPu57Pe+9C*jU&FAxbc4W5aay!~vcJ0fb+XUYYk&y2L z%knKg{(eNek8uthNFi?myDw!<;IR3Ui35J0%YPaQ3gKX%=cI`RXea->RfJwn~zv%$rMhnb3@tTSghfz7dCIcck^caePQ#* z2X+q*?im=^GdQ?=V9%-aP`G_tepL20=9YVUy1%~(*WJ5uBmKSUt9u6r@qb*oXYg^x zdJ^p^@9EvHsyp7%(Lu+`koP9msGNbk*TaiK#(#AMP@o9rdQspHymNPbd%J<13AJ;0V_LP3-dq~jHwv@0$CAI`r{ zSzdV$+jQ3*cgdf0?p?n zMUwz~)GT(uo^Y|V9AOfVYb}b)dW`vo`R?xd{{DsT?uGt*ytOqRYio_O%iVM7-uZNT zA)VgVb2*u4>F7+g6MvYLW6w!1fj`1$!zRolaz?(c65I5yBU=$r{V6WTzKQGEC0rks z+c?c_(g*o-hG2jGKI~76?}xluBkyC(TfEGX|=c`fMfWKr1i45TLiW?ebCtSX1`z5aP#BMaqRGZ7eve9I+x48B>7!_&`@de%=NTZofvWU1%fz9_=~;% zw!OCSd)id% zE(W0#AySc=WdzJ=4Z0Ax6C&*%;V>oJbs?5|M2*DPkMYjjX4jjepn7F z-BOx-*=@3ZUbJ2rK%5M1nRklKJ)G8_gE;|dPVGEOne!ewASp3z4M6F8Yo#Hh#&A%wBtrBE}P zrUC!Z?xu~%8}UXcqJRuoK5*=Go*0{Y({k{h@lM80OpG@yy?O86`?_~^>=~GTO*7j# zzVf$BUK#sH^Rb!1>B!yPmk(6r@0r`@udNI0o4Y4JH1wKCWG1)ITUpk)FEY3ygF!k-W{F-CfFE8@fi%&R=}v+r|faM`Ks7u$It}H&ZthKN7yRGuq$Y z5(_QFX43srZB-S=vs<&bPd#zhz|2@@cKo=vdazfnlq-ggrMoK11A##-{Z+(>lIBgEd%F(@5K2H6fJA&7%H!N)AMaaGsS5DHw)O zN#FjpU;DL--}-N_X>JAk8V~=szkK5}&ph+g-lN%Nc7a_R9B*r%=)cBR-m;uMx)%$j z2{IYydI}Ltm=jVNM6d&O;;@Xc@u8M7riGhebWoxh`f&VFN}uBaG3zklsZvyJJV_`$ z!|Dn(5RVDKO0tK4IE%fIy!H<+9r@ieeS6xcmN(ztjHK`v@Yd0lzi&RVX=%D_!@-K> z58i(K_m&&#ersbsx8GY?9^9YHXMZD%mqE9}I0TjzcosR{PrqxrOqLV;`y}+k5cGpA zCtLBozV2ih`#G-HWK@=cgu(Ye$McTz=XLq%`zUzQ3!cbwH<|nJfcCN<%2DiT$$YH% zwng(}-?JKGFFyP1efU3fpa0m$&I|v&7yaCS$Sy!9ImaMB?#~)vK?DCF3ePYMu$G6k3ml4Q?4g~$x z>_<3*gXIl6YXYG54fvnu2Uq%%L{P8%79*F%J zswK#m6h9rxnu~+=vM;lh$*0qiNSgkWwIA5R`D5vHM>w4hv$v{0K-zkx-vnR213JAD z(6$Bv*cnZrY2q>uxPeFXKfx#B)pyRHJkRHA7V|ZT7}HsSxbMP_uek0e=gohQzVDv` zA2CK?VDK*vyK(0tHM{{9_DNjohY_k;2u@ep3VL)pZxPHui!aDc+U6ubJmJg(fu(vSsz;YC3AgTq@;u)5;$F!4DYw?n*@A!n*6|(fh7nZzGY#GpnRq zFc0FH;d~o^rn~4P6L9rIZalJzeV5^>E7SauAH9Ab9*Reje9-fbVGUGC1NmMMh#7*D z2+c$YdmQB==w!xa@f8Va;e|O=D-!3(F)lTHSw73(@tr51JpbgASI=YZ2c`G3e`S9s zCFLpUZXnU7q|Zq;IOV^3H;yFfB!BgD`q^Yq`d_&AZk)$Xb8lg|9`o0L__Yjp8rdPV zauB~H`wwTbw7L+3k`?%@xF>`)L=j(d9pYlk@px0TlK56c-Y7KXrop!6=IUTu*=+;I zQ^`XH-l@)&aw+l`nUezl-&HjX)!aPoilei$LkmP%a3T6sC zw%`N>gucQ4`Jrpz7l9-JWrj1wcCY*m`|St+mwIAlCT6@cYs9|};qWH8f=$wdJ!%J4A!UF?rwDLJ7dCx0h~$0Ot(nZ>vGIe64D z?~xJu{YdsucKFupApT@;9mX$%gF^$)WO}>1doywRFOHuvJYq1;5dIK8Sgk}_t-v^i z%9WH`5|Mb=<$-YuE2NHMs9xGTsi1YNs(XWPw(P|A>B?j*;hHTwzIF57S$X=_#rwm_ z8(+8;>Va(HjmV<>8>|h)rC?G?>7QT}gj-vSs_aqd5JcC(xJ`<)O@vPlTZ zCM26ThLG$lJOYI9+6@T1c?a@<&4Z_i_y8j!Qfj?ODOE&8N>73UMa7_K5vd?5*IH`1 zEw$8Z)vL6%UQPbLnR7PTV8H%w?+wh(H#6US^UXIi-@NDCgYHA%Rf#38z=91Z}p*_Zw-E{3g%SVepiv;i#sCWWbV<>0311FJI3q)m-~~Y>@)`3 z7{Pj>msbLtDaN6p%OBH)A10Gdj1zG|l!u}#3dJ(CPVS1ZZNkfwO-$KGHZZ_-W2zmCUq`&VX+&6?+>tG9ek@|7%mRzBpvh~dp|0S-2@1stgS0e8I8Oaiiv+& z2V2d!I;i7c@Cfs0!F)K02CUnXU%;P{iYt!b?blT5en%=GfS(IUArrA@wGVef!plOi z9fY9^AGweoynlu>JlN}*z%GyDRST+J)TP>}>ZT9TkipMptsiWqkKDoZXCZOoy9Sk@ zfqhWE+QDx8VCe&0`h8Fm0^jvxnvMu_!qLH@lL<>vO(>)jsP+I|ukG?0{G*+U2L+3E z@LmkAuGr}~FRn*%j$xh9B5Vb1$bqS5T8Ww74EEV@&`0VX{c=b+8(;Yd6AHcZy(Unb z2b;py!G8??L*}3ND~04qAxU@$bn!|NnmJAsfoB0GDG;|@Q@p}3r(yi{doc8*7E*qOiuS=j zD02Obtj8N0j5e1m8;dZR&VX>iB?Rp`Zsl@Kp)^XH5|I)`i3gwSN9u(l*Ts;l1$4Pw z6`qCZT&}1LqbYmJwNT}yMSY-Ar5?u`dl!vJ24#SKZ&0$29pzdAK}AXk~M*(6SgU*8Tu2Vz&Ea7Vz=-Zb+yaM-VuJ zY~NcqfnpJ%ySA-CxXPdL1%KOwOnOc@j(R$m(Ujk&h?cXv5~qPw{4j{B7Q;iTs>XM5 zSP+4tyCKA0=8rT3h<|8OsC$NmBF@#Y!6AQp?+=Ss41YFV$ecYz{zy8L_bKr3BfMqC z>h1UM0o}6lD#JfM&!B{V1#PN6)%_hbAyfY7Sw?Bi@Mq7En_8s*H{7*~Ca=gcU{40c zq1sWE9YYleRlrmd8LnmBlZsa3J_CCuC=qeJ2p$zs5wFph{6!U&7ei#XXE0vGC3LlG z6h1QUCOnK@hE)@s4^yi)$*5kNWZGlkvKuCW5IH8bAvmzj@1nAjCd#yy-ClOjYxyZ+ zx-2y&G&(psa-rw@JVItzXkftjFq8WO1W0(7un=`t`ls3*)(&>D*JlK&hS$+fyop+X z*<}VTINuttL+lR!6OhM>L=^$5?IVV{{PYAjz+w(5)HSM2&nSaPCPGcJSQpil%7 z!p^9M=-BhLhIn22^oab(bQ~T~^-kSZ4n_8sHZY(wIAsF;*7uHY{-|Eg)EaoYir>#v zM{$lKl$grO{82JU#q-$nLSe{P6v9#8Fs)KIA@g{j1H(TY>Occx&-}9Qh(iPMivxUX zbT}MqrZ~PVH$oX>B(mLp44c;>&_}q|kDXI+8G%_UlUf?RP1RdYIg`G^1>d_CfBTip zA}awX&ql|kjYZ3XO8!c;s%y;Ww@-TSSL|1ZRt)LX>(!lbYgyCee~72LhTUAE-j48m zHM{*k>QAT_Y@{595Kt1f5B=r;!l>RH`aLsPMKcJGkeD&eA%tCqs`0StU-4?%m}cm= zWBZSR|2gP>jx@(Idl9x5Y05T(4TRylWSe|G^jnyh;5R`wLm$JY@Vf##3HD*S8Er-} zXh#OOp_jqScg)ab*>C8YY7H^C4fcc$-)B_5B=zT=g*L zg)GqaFfuLB`wvc63->tSGurQwKMZ}U+D_8k#?8kq?P}!dyM~P6Hx}Ma{Z#MqGDs6x zd7)e|cS-XwD!?&x?$FyfwoFUZg9pujJ`s`a5lew^*M)ar-XHph z8+LcWNS}~-Fu#LgJ^2|J{2?y$izL@@R-M^@fL`4U`%5A+gSE71m^2nfb8ueG0lj>1 z*nfiXEQuEmLWf-@GePSe#axtaeA&i|I=qG?sLDtJPMin0wcYza87M6*4nP3pM{|tkUorhJK$?%9B549{mWxRX8^|v(}zBXzK#K0 z$-{U$N|+6Dwc)&50{S1>lnLX9Vdhr?V^G3^xUGgfVd&qH&!oTJt5B?agkt?6lytych5t5~ zor+=bDVSQAT`--3jizHPv4ZPIHX0>(>x2DskjH5--GNc(URAq#yZU{vEU)ceA89se zH*2qW>%Cpx*L@0nw)=eQd(iiDKeOL1zYqMg{I>yeAW2v<1dNfVvV>@{4{ZQ;s;4$k}K&gU4icD6x-;%H`6u(siX*re;mGO}%I8iK$7Fk!_;s3z#MI^F(0(3EjujNtjjCnE8d#6YkKnx!%SP{rCGaXx6i4r($8(IzBsRU ze%Ab}3*KG0by20w*EU$AUR=5O=;Fa8%}YMKz5VtpOG}p?Sf*YUxon3c+|lf~>TGp> zUVBena^1=L#~am+n;SoATG(`{d1Ld}E$z#fEI+jT!xhV06Iy@Ywx`|PKGw`-v%BYStJ_y!U6Z*sGdiV9d|3JY5 z`yTjsTl2QpAB=pk_rU|(lefS4P|-t=JoL?utvgQa_~zlI5AS{W+RoCQ_w4-Q2aX?H z+Euyh@DIfw4m^_f$mt)={?Vt8p8dBEc31Bnc&y~HqkDGkIkD&KA20mziM`_9&3g~+ z{rD#{e$u}$cHhcx>G8)mK7RNK^2CxS9)IH6{-XUg`w#E`;>nsP&mE{aaQ3Ox zrwmUmeX8rJ15aIfTJ!Ymr(b#c`ZL+jta;|ZGuIEA5AHd5{n^RSZad_C$a?7Dp~0Wk zAC5fy_0Ow+{`k+okShB~pMPI;-^#v={jvRP`ky-zd}Qg79Y>BH`TDu|=N!*{@x1=| zbck98f}aO|FA+m9VMUUmHNF9uH7 zP8=HJ-&-dJUkH97>4nx8cE51x#j+On*DoYrSaM<0g-0&DdtvbH z__rs&?RfjXx23ngxM;X|;^O=7i0>?U=fFGH-YsS`PN9L=Fe_zm=nA-bIGa2O4fn%9 ze)0fN9K|*OQ+oIf;lB*Vckkem{n=UhXa)Adirz#8)}Y@hz&xC)aioW|6RQGK%*~!t zVD?SPOA4$4He0)8_-c|wV-?to#L^N4))0{{RA6snq&*7k1NgWC`{8ApuNBxI{fnE2 zVDy1(>5b9HLzC#UIgCui3p*8<0zRz3xH~MIRbUn1j}#cZsn||E=uj^rs*)901Ansu zYcXGIRA6uPv5%UZt>Qdqd#5Q((OO^K(A3@PbbZHvVS}r)rK4TU&dN6ABa}tT zbVnj4(m_^|wRr!pg*1_7(nUn_42%J<#2ZKspjw2ASk-GFogAkfkPAMuut4M@D|ncb z^dPL0!$wl>5o!hfc2MmkS@1O>PAlwru-iHQJWy*xTqE#WNj<5CyNPrIX4Ki;7REeB#`mYPkmrHrhjAx*r1O2W|8+V1>l9cib)nQcacgK2{?#Kl zo@LXfluSKrxm>bH9dg)NXVasn3)^&@p z?puVd&@XZ5!pb|r5U44dVf#i-&GSe<5V z$;7463Awi*25#{%Wrwptdr+&#_=E0bx=;nZ`3Ck%@#rE>jp8*j@=NNC)8W3J16VI+jHF=o)oJe??@h>EgLK!r&vZE)Jbb;9qyC8OY6ydq#3srF40EXM4M>~T~1ffR@z3}X$M_N zSCL{enYwTux{G#0i@H_|)lCVCg$jGICC(0g$b zz)V``7P^(*PkZSDbQ@VgAH+){578a;VbV%>lI8RVbQk?0O1O>eqmK{^>dhb}q=Wv5 zK8ic6AJc!sPT6iU4W|nqBQCm!{+RBiKcV|bC;cgIbg!aM(EapDdVoHKec&17AM|PZ z3_VDnB{OmQ?q~Ec{W+CT*Zv)Ks)ww`t)G6-==xO>I&QZRO``~Bj8#pWYCRszzLEEk+>*=rPTex$4fxb;P z(2HapeTTkF-=ml4zti{WujvQ$H{_?}4%|YXM?NL<$pU(r{uZZ_e@Cy7h4epgg71&y z8~O)&mHv_3PZrUS=%45{`e*tvMgbeKmavK3ML!{T(!b!;@$BszoggcU+LfI z-|1J_fT^MXpkLGfrr(goWC{6%eoIc!L7XAMk_t8yZx>YLPwXZnZis0GZ@~vA$@~O= zJn$Kav#Y^)|1wkv6T*cEAySAEqJ(Ll z3zPBcVu>(CC>5p(Wq8TrI{7R4n@}zo1(RSFEP_?25T*&!g&D$3j0%FVu9ZNZ#rWe1 zj8YyauaYfTMW_^J3A3?38cL=LbA&2ku23z^!|0};96?X$NBqfB%mzzI897Z}!`S9| za+DlHzkCqqQeVbSjW0PM%*PDfhioPHkq1aG*+%Zh4TFU^QgMxJCa+)}C)q=GH z&>^hUl-If%dK$Fd?JYT$a*J#m3luwBu?>oyC)?$2+oZS^{PH5jU9Q+l{Bnb~yvS))NcQkdhH>_ac**O-2pQ*0JRoC6t*xInh*Hqup<*ch~Xz$XP>zu%bcVCs)Z_Zl0#nS=Zgwps5@d0YZ&(BEwip{&JN>^AwTf88oxy*t0!i=jF?>^OVBO zQ_{*SQd!!Y#9L#oF{`zsu60)VG})b(?{;fUS)HAzpC(R7 zfw>4d9AK(zsBdX)b#hnGNHgYcjnhMlSzq%2D`PL1KKvO?l1#&FeW=(^K)2J|MQW7;OiI@~7P5HhJ z!-N#R6~2r{ZG*x`!w4TxEj%BX+ZFpYjqt zLwl>Uy}qSRCZC(HY2~#*(>g3MpeofpSCLq*A`Z8P%2Onmm#b-)W4C+69@ac=jigY? zD^@iOYa)e$S)puJ%EGL~F}ur3sW2w1SI0;*H7i1~xML|;W~HPpIRPD`nrVkDH;qf? z*5$!%zLHYDLL=X*>Eu{UK+r@czs?&ZX~K@6GMWJa`1Y>b$Q6XZn26T_gQnykSx)sgS%{5QAta(=R9Qdss;oN8Su;y7U zYo4_ufpT3aQlw|i*R1u_Jc@v<#hP`Ttna!Ts&}zc48{41<}tZ7jiPx9+-^;stZnKz zAqD0l1HeJ2c(g^6U1mSn?Gj zT<)F$a&CNiP4V>fYr6S1D1DJ zGxQVyZDU8bi`y+dJiN1I4GZtY5VxHH4J}R0T@0bUg%j`}P6D2O?o*nA8Cn~x3P zb+*;lwz3vw$j+5XT5^hfRyMd=I_iPrUDwgp=9Gcf4wei5POK)@b;yo@_U^V?wtCpa zf_xfVJJ7BHY1&%a*?_ULp{}F7o|DhXDNtLwT^&B`N6rWvYy;V^uG{5mXs=t#NYrsC#97JMXq~vrSpf)-LVz8N3~#X>;3Ou{jTH z?FJ{;aCb0>fj9Y!#w-&5uzQQ!fxy{3r_OHr95!8Cu3DEaFE zn4I;Jx@t{79`pnmDX}3wk@@xqMo?qC2vBG252IlS(@CVt)?n|Cqzp4tQtKsEh7@74 zvGk-!lSx5{6YE83ph{Aw*7T>*0F$N8B55qPL`jumuU>2ea$K)Xl&Y%WRc4P9r6L9u z+3jMVj17*`;H9`kDVv37Gt7Z1n+R$2Iz`F1%I1KN$ijRXRKTDDN1Ou(RO28m$=_5b zk!qVn_)`RlaN|&40>es}={$}#G=_29i`3ff^-jA)GwgOH2X?U@`Oz8enUa@Yw1|>A z#fdy=O;t8Yt20X8IwMK|Q5>0)hKn1L5bOK2wMLNzvh2pm?6Y4?-NK&7GrwiaK-V{kFH4m zG8LKu7EH*xL$vhjoUBl}ut^*%5J`*!lWs0iv^u9*P9oqY(WPX>LgeABc}5Ck^&^CLDWE~OCQ}O2&zx(UIZyVCON4(I_Yc?i zkxS>L(?Q54iInzZVUgE|2tAhQ1j~Gz6sj|d7AX+b zF8~eOfvOk|9|w3i7L7Nt*->Pp(a0nb4n`2x7w(-QJ&+NXgnAx{%tmBnN>Tbg%Is(e zp4l<_J{7ZL^?hn)$LagLm>sY0(=dCSzE8{S1bv@3v&ZZEe3+e~hgjr-kTed6TqkBp z^mf*4G9|r7VB~P%DmgIIBQSM1&?N_odLjj7+$_T^ug}YQWf}F%Un24+g0CdxkJ&op zkJ-t{AG1@CKW3*Qf6ShM{4qNX`D6A(1*QzCewIRXr&uz0ZqASZvUa ztQ2!S#B(#8JiVCDInM_*nU3YV`T}ZbOm3M!iF^*78X@LVT~S{ijbM2#fIN_aG2=MU zYMe!x624LyRgx(ceIF`ncpcD-QA8v%Ma&W_m~Mb*r}y?&=qjL#Z0G@@e$h1*Q5q2r z2~UO+ikI9T^udA7>X0-j?a}QPO^as8-ILnnsMkqe=v|@p)Fx*fV22%w z;>I{mu!fF6XLT0E>5zgI`Gmz&0lhI20V7N|YtV>M7+$Dw=t^$j1QeaD+hRygS(*%}V>r_Q)H56gG%y?nG%_3p zG;zMnfSNg93~J$gF=#pGi$NJr+bn|&;cgjZ2=@SY>M*@~xr@`gPX-zK z78zvdTM=`rOz(afWC*=7$PgaT_xtf7uB3_U$CWz^W>4tL?8XeqyFpSVSFLe(=$WjG z#boeIHHMaSJGwi0`nR%=XpKjb!UU4epy#8!gVchr43F2~fjkEL7+=s}^AVEv`yy|gr&CHlaBf#JP1I>%P6951J literal 0 HcmV?d00001 diff --git a/assets/cal-sans-semibold.woff2 b/assets/cal-sans-semibold.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..32038f3476e8903efeacc6b560330b3180994bdc GIT binary patch literal 23820 zcmV(|K+(TW09>j70RR9100000000000000000000 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 literal 0 HcmV?d00001 diff --git a/assets/inter-light.ttf b/assets/inter-light.ttf new file mode 100644 index 0000000000000000000000000000000000000000..71188f5cb2815547a5fb785f220910324ad8aa65 GIT binary patch literal 310832 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�dQ42l5tk(k!kqW$Z9oaaPl9Brl>h&Mw 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
-!3)&^3_);e$#d3!A`}>2A0`eCa`SL&sov0 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 = runtime.fn( + ( + { machine, schemaName }: { schemaName: typeof SchemaName.from.Type; machine: "tlenaii" | "popcorn" }, + _context: Rx.Context + ): Effect.Effect> => + Effect.Do.pipe( + Effect.bind("request", () => Effect.succeed(new VerboseLogRequest({ schemaName, machine }))), + Effect.bind("client", () => rpcClient), + Effect.flatMap(({ client, request }) => client(request)) + ) +); + +export function LogViewer({ + machine, + schemaName, +}: { + machine: "tlenaii" | "popcorn"; + schemaName: typeof SchemaName.Encoded; +}) { + const [verboseLogs, fetchVerboseLogs] = useRx(verboseLogRx); + useMemo(() => fetchVerboseLogs({ machine, schemaName }), [fetchVerboseLogs, machine, schemaName]); + + if (Result.isInitial(verboseLogs)) { + return

Loading...

; + } + + if (Result.isFailure(verboseLogs) || Result.isInterrupted(verboseLogs)) { + return

Failed to load logs

; + } + + if (!Result.isSuccess(verboseLogs)) { + return

BAD

; + } + + return

{verboseLogs.value}

; +} diff --git a/components/PipelineHealth.tsx b/components/PipelineHealth.tsx new file mode 100644 index 0000000..6c24d55 --- /dev/null +++ b/components/PipelineHealth.tsx @@ -0,0 +1,64 @@ +"use client"; + +import { Result, useRx, useRxSet, useRxSuspenseSuccess, useRxValue } from "@effect-rx/rx-react"; +import { DateTime } from "effect"; +import { Suspense, useMemo } from "react"; + +import { AggregateBySelector } from "@/components/PipelineHealth/AggregateBySelector"; +import { DatePickerWithRange } from "@/components/PipelineHealth/DatePickerRange"; +import { EmptyBucketsToggle } from "@/components/PipelineHealth/EmptyBucketsToggle"; +import { PipelineStepHistogram } from "@/components/PipelineHealth/PipelineStepHistogram"; +import { AverageProcessingTimeLineChart } from "@/components/PipelineHealth/RunTimeHist"; +import { RunsTable } from "@/components/PipelineHealth/Table"; +import { fromRx, rowsRx, timeSeriesGroupedRx, totalsRx, untilRx } from "@/components/PipelineHealth/rx"; +import { LocaleSelector } from "./PipelineHealth/LocaleSelector"; + +export function PipelineHealth() { + // Sets + const [_rows, pullRows] = useRx(rowsRx); + useMemo(pullRows, [pullRows]); + + const pullTimeSeriesData = useRxSet(timeSeriesGroupedRx); + useMemo(pullTimeSeriesData, [pullTimeSeriesData]); + + // Gets + const from = useRxValue(fromRx).pipe(Result.getOrThrow); + const until = useRxValue(untilRx).pipe(Result.getOrThrow); + + // Suspenses + const totals = useRxSuspenseSuccess(totalsRx).value; + + return ( + <> +
+
+ +
+
+ +
+
+ +
+
+ +
+
+ + Selected {totals.totalRuns} runs between {DateTime.formatIso(from)} and {DateTime.formatIso(until)} + + + Loading...

}> +
+ +
+
+ +
+
+ +
+
+ + ); +} diff --git a/components/PipelineHealth/AggregateBySelector.tsx b/components/PipelineHealth/AggregateBySelector.tsx new file mode 100644 index 0000000..9431d37 --- /dev/null +++ b/components/PipelineHealth/AggregateBySelector.tsx @@ -0,0 +1,50 @@ +"use client"; + +import { useRx, useRxValue } from "@effect-rx/rx-react"; + +import { aggregateByRx, includeEmptyBucketsRx } from "@/components/PipelineHealth/rx"; +import { Button } from "@/components/ui/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; + +export function AggregateBySelector() { + // Gets + const showEmptyBuckets = useRxValue(includeEmptyBucketsRx); + + // Sets + const [aggregateBy, setAggregateBy] = useRx(aggregateByRx); + + return ( + + + + + + + setAggregateBy(str as "seconds" | "minutes" | "hours" | "days" | "months" | "years") + } + > + + Seconds{showEmptyBuckets && " (disabled)"} + + + Minutes{showEmptyBuckets && " (disabled)"} + + Hours + Days + Months + Years + + + + ); +} diff --git a/components/PipelineHealth/DatePickerRange.tsx b/components/PipelineHealth/DatePickerRange.tsx new file mode 100644 index 0000000..7eecba4 --- /dev/null +++ b/components/PipelineHealth/DatePickerRange.tsx @@ -0,0 +1,68 @@ +"use client"; + +import { Result, useRx } from "@effect-rx/rx-react"; +import { format } from "date-fns"; +import { DateTime, Predicate } from "effect"; +import { Calendar as CalendarIcon } from "lucide-react"; +import { HTMLAttributes, useState } from "react"; +import { DateRange } from "react-day-picker"; + +import { fromRx, untilRx } from "@/components/PipelineHealth/rx"; +import { Button } from "@/components/ui/button"; +import { Calendar } from "@/components/ui/calendar"; +import { Popover, PopoverContent, PopoverTrigger } from "@/components/ui/popover"; +import { cn } from "@/lib/utils"; + +export function DatePickerWithRange({ className }: HTMLAttributes) { + const [from, updateFrom] = useRx(fromRx); + const [until, updateUntil] = useRx(untilRx); + + const [date, setDate] = useState({ + from: DateTime.toDate(Result.getOrThrow(from)), + to: DateTime.toDate(Result.getOrThrow(until)), + }); + + return ( +
+ + + + + + { + setDate(dates); + if (Predicate.isNotUndefined(dates?.from)) updateFrom(dates.from); + if (Predicate.isNotUndefined(dates?.to)) updateUntil(dates.to); + }} + numberOfMonths={2} + /> + + +
+ ); +} diff --git a/components/PipelineHealth/EmptyBucketsToggle.tsx b/components/PipelineHealth/EmptyBucketsToggle.tsx new file mode 100644 index 0000000..21c14cf --- /dev/null +++ b/components/PipelineHealth/EmptyBucketsToggle.tsx @@ -0,0 +1,45 @@ +"use client"; + +import { useRx, useRxValue } from "@effect-rx/rx-react"; + +import { aggregateByRx, includeEmptyBucketsRx } from "@/components/PipelineHealth/rx"; +import { Button } from "@/components/ui/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; + +export function EmptyBucketsToggle() { + // Gets + const aggregateBy = useRxValue(aggregateByRx); + + // Sets + const [showEmptyBuckets, setShowEmptyBuckets] = useRx(includeEmptyBucketsRx); + + return ( + + + + + + + setShowEmptyBuckets(false)}> + No + + setShowEmptyBuckets(true)} + > + Yes{(aggregateBy === "seconds" || aggregateBy === "minutes") && " (disabled)"} + + + + + ); +} diff --git a/components/PipelineHealth/LocaleSelector.tsx b/components/PipelineHealth/LocaleSelector.tsx new file mode 100644 index 0000000..832f413 --- /dev/null +++ b/components/PipelineHealth/LocaleSelector.tsx @@ -0,0 +1,38 @@ +"use client"; + +import { Result, useRx } from "@effect-rx/rx-react"; +import { DateTime } from "effect"; + +import { localeRx } from "@/components/PipelineHealth/rx"; +import { Button } from "@/components/ui/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuRadioGroup, + DropdownMenuRadioItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; + +export function LocaleSelector() { + const [locale, setLocale] = useRx(localeRx); + + return ( + + + + + + setLocale(str as "Utc" | "System" | "America/Chicago")} + > + Utc + System + America/Chicago + + + + ); +} diff --git a/components/PipelineHealth/PipelineStepHistogram.tsx b/components/PipelineHealth/PipelineStepHistogram.tsx new file mode 100644 index 0000000..8de0c70 --- /dev/null +++ b/components/PipelineHealth/PipelineStepHistogram.tsx @@ -0,0 +1,85 @@ +import { Array, Record, Schema, Tuple, Function, Option } from "effect"; +import { Bar, BarChart, CartesianGrid, XAxis, YAxis } from "recharts"; + +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; +import { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from "@/components/ui/chart"; +import { PipelineStepName, ShortPipelineName } from "@/services/Domain"; +import { useRxSuspenseSuccess } from "@effect-rx/rx-react"; +import { rowsRx } from "./rx"; + +const chart1 = "percentPipelineFailure" as const; + +export const chartConfigs = { + [chart1]: { + color: "hsl(var(--chart-1))", + title: "Percent failure", + label: "Failed Pipeline Steps", + }, +} satisfies ChartConfig; + +export type MappedData = Array<{ + pipelineStep: typeof PipelineStepName.Type; + [chart1]: number; +}>; + +export function PipelineStepHistogram() { + const rows = useRxSuspenseSuccess(rowsRx).value; + + const chartData = Function.pipe( + Array.partition(rows, ({ success }) => success), + Tuple.getFirst, + Array.groupBy(({ pipelineStep }) => pipelineStep), + Record.map((rows, key) => ({ [chart1]: rows.length, pipelineStep: key as typeof PipelineStepName.Type })) + ); + + const buckets = PipelineStepName.literals; + const bucketsWithFailures = Function.pipe( + buckets, + Array.map((bucketIdentifier) => { + const group = Record.get(chartData, bucketIdentifier).pipe( + Option.getOrElse(() => ({ pipelineStep: bucketIdentifier, [chart1]: 0 })) + ); + return group; + }) + ); + const sorted = bucketsWithFailures.sort( + (a, b) => PipelineStepName.literals.indexOf(a.pipelineStep) - PipelineStepName.literals.indexOf(b.pipelineStep) + ); + + return ( + + +
+ Pipeline Step Failures + Showing the number of failures at each Pipeline step +
+
+ + + + + { + return Schema.decodeSync(ShortPipelineName)(longname); + }} + /> + `${value}`} /> + } /> + + + + +
+ ); +} diff --git a/components/PipelineHealth/RunTimeHist.tsx b/components/PipelineHealth/RunTimeHist.tsx new file mode 100644 index 0000000..20733c5 --- /dev/null +++ b/components/PipelineHealth/RunTimeHist.tsx @@ -0,0 +1,215 @@ +/* eslint-disable prettier/prettier */ +import { Result, useRx, useRxSet, useRxSuspense, useRxValue } from "@effect-rx/rx-react"; +import { CheckIcon, Cross2Icon, DotFilledIcon } from "@radix-ui/react-icons"; +import { DateTime, Function, Option, Record } from "effect"; +import { Bar, CartesianGrid, ComposedChart, Legend, Line, XAxis, YAxis } from "recharts"; + +import { + activeDataRx, + activeLabelRx, + aggregateByRx, + timeSeriesGroupedRx, + totalsRx, +} from "@/components/PipelineHealth/rx"; +import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; +import { ChartConfig, ChartContainer, ChartTooltip, ChartTooltipContent } from "@/components/ui/chart"; + +const chart1 = "thirtySecondThreshold" as const; +const chart2 = "averageSuccessProcessingTime" as const; +const chart3 = "averageFailureProcessingTime" as const; +const chart4 = "numberOfSuccessfulRuns" as const; +const chart5 = "numberOfFailedRuns" as const; + +export const chartConfigs = { + [chart1]: { + label: "30sec threshold", + color: "hsl(var(--chart-3))", + icon: DotFilledIcon, + }, + [chart2]: { + color: "#00cc00", + title: "Percent success", + label: "Average successful processing time", + icon: CheckIcon, + }, + [chart3]: { + color: "#FF0000", + title: "Percent failure", + label: "Average failed processing time", + icon: Cross2Icon, + }, + [chart5]: { + color: "#FF0000", + title: "Number of Failed of Runs", + label: "Number of Failed Runs", + icon: Cross2Icon, + }, + [chart4]: { + color: "#FF0000", + title: "Number of Successful Runs", + label: "Number of Succcessful Runs", + icon: CheckIcon, + }, +} satisfies ChartConfig; + +export type MappedData = Array<{ + date: string; + [chart1]: number; + [chart2]: number; + [chart3]: number; + [chart4]: number; + [chart5]: number; +}>; + +export function AverageProcessingTimeLineChart() { + // Gets + const aggregateBy = useRxValue(aggregateByRx); + + // Sets + const setActiveLabel = useRxSet(activeLabelRx); + const [activeChart, setActiveChart] = useRx(activeDataRx); + + // Suspends + const totals = useRxSuspense(totalsRx); + const timeSeriesData = useRxSuspense(timeSeriesGroupedRx); + + // Error handling + if (!Result.isSuccess(timeSeriesData) || !Result.isSuccess(totals)) { + return

BAD

; + } + + // Data mapping + const chartTotals = { + [chart2]: totals.value.successRate, + [chart3]: totals.value.failureRate, + }; + const chartData: MappedData = Record.values( + Record.map( + timeSeriesData.value, + ({ avgFailTime, avgSuccessTime, numberFailedRuns, numberSuccessfulRuns, threshold }, key) => ({ + date: key, + [chart1]: threshold, + [chart2]: avgSuccessTime, + [chart3]: avgFailTime, + [chart4]: numberFailedRuns, + [chart5]: numberSuccessfulRuns, + }) + ) + ); + + const activeChartKey = activeChart === "success" ? chart2 : chart3; + // Chart implementation + return ( + + +
+ Average processing time per day + + Showing the average processing time for {activeChart} runs grouped by {aggregateBy} + +
+
+ {[chart2, chart3].map((chart) => { + return ( + + ); + })} +
+
+ + + setActiveLabel(event.activeLabel)} + accessibilityLayer + data={chartData} + margin={{ + left: 12, + right: 12, + }} + > + + + `${value}s`} /> + dataKey} + content={ + + } + /> + + + + {/* Enables Chart of Hover based on active chart */} + {activeChart === "success" ? ( + + ) : activeChart === "failure" ? ( + + ) : null} + + + +
+ ); +} diff --git a/components/PipelineHealth/Table.tsx b/components/PipelineHealth/Table.tsx new file mode 100644 index 0000000..fef8572 --- /dev/null +++ b/components/PipelineHealth/Table.tsx @@ -0,0 +1,44 @@ +import { useRxSuspenseSuccess } from "@effect-rx/rx-react"; +import { DateTime } from "effect"; + +import { tableDataRx } from "@/components/PipelineHealth/rx"; +import { Table, TableBody, TableCaption, TableCell, TableHead, TableHeader, TableRow } from "@/components/ui/table"; +import Link from "next/link"; + +export function RunsTable() { + const tableData = useRxSuspenseSuccess(tableDataRx).value; + + return ( + + All runs for {"activeLabel"} + + + Run + Status + Processing Time + File + Verbose logs + + + + {tableData.map((row, index) => ( + + {DateTime.formatIso(row.run)} + {row.status} + {row.processingTime} + {row.file}... + + + View logs + + + + ))} + +
+ ); +} diff --git a/components/PipelineHealth/rx.ts b/components/PipelineHealth/rx.ts new file mode 100644 index 0000000..4d939e1 --- /dev/null +++ b/components/PipelineHealth/rx.ts @@ -0,0 +1,299 @@ +"use client"; + +import { Result, Rx } from "@effect-rx/rx-react"; +import { FetchHttpClient, HttpClient, HttpClientError } from "@effect/platform"; +import { + Array, + Cause, + Chunk, + DateTime, + Duration, + Effect, + Function, + Layer, + Logger, + LogLevel, + Match, + Number, + Option, + Record, + Scope, + Sink, + Stream, +} from "effect"; + +import { rpcClient } from "@/rpc/client"; +import { ResultRow, RunsInTimeRangeRequest, SchemaName } from "@/services/Domain"; + +// Rx runtime +const runtime = Rx.runtime(Layer.provideMerge(FetchHttpClient.layer, Logger.minimumLogLevel(LogLevel.All))); + +// ------------------------------------------------------------ +// Rx Atoms for pipeline health page +// ------------------------------------------------------------ + +// Locale tracks the current timezone/locale that the user has selected +export const localeRx = Rx.fn( + (locale: string, _ctx: Rx.Context): Effect.Effect => + Function.pipe( + DateTime.zoneMakeNamed(locale), + Effect.catchAll(() => new Cause.IllegalArgumentException("Invalid timezone")), + Effect.tap(Effect.logDebug), + Effect.orDie + ), + { + initialValue: DateTime.zoneMakeLocal(), + } +); + +// fromRx tracks the start of the time range that the user has selected +export const fromRx = Rx.fn( + (date: Date, _ctx: Rx.Context): Effect.Effect => + Function.pipe( + DateTime.make(date), + Effect.catchAll(() => new Cause.IllegalArgumentException("Invalid date")), + Effect.tap(Effect.logDebug), + Effect.orDie + ), + { + initialValue: Function.pipe( + DateTime.now, + Effect.map(DateTime.subtractDuration(Duration.weeks(2))), + Effect.runSync + ), + } +); + +// untilRx tracks the end of the time range that the user has selected +export const untilRx = Rx.fn( + (date: Date, _ctx: Rx.Context): Effect.Effect => + Function.pipe( + DateTime.make(date), + Effect.catchAll(() => new Cause.IllegalArgumentException("Invalid date")), + Effect.tap(Effect.logDebug), + Effect.orDie + ), + { + initialValue: Function.pipe( + DateTime.now, + Effect.map(DateTime.subtractDuration(Duration.millis(0))), + Effect.runSync + ), + } +); + +// includeEmptyBucketsRx tracks whether or not to include empty buckets in the time series data +export const includeEmptyBucketsRx = Rx.make(false); + +// activeLabelRx tracks the currently selected label +export const activeLabelRx = Rx.make(undefined); + +// activeDataRx tracks whether the user is looking at successful or failed runs +export const activeDataRx = Rx.make<"success" | "failure">("success" as const); + +// aggregateByRx tracks the time unit that the user has selected to aggregate the time series data by +export const aggregateByRx = Rx.make>("days"); + +// ------------------------------------------------------------ +// Composed Rx's for pipeline health page +// ------------------------------------------------------------ + +// Fetches all the rows from the database in the time range +export const rowsRx: Rx.RxResultFn, never> = runtime.fn( + ( + _: void, + ctx: Rx.Context + ): Effect.Effect, never, HttpClient.HttpClient> => + Effect.Do.pipe( + Effect.bind("from", () => ctx.result(fromRx)), + Effect.bind("until", () => ctx.result(untilRx)), + Effect.bind("request", ({ from, until }) => Effect.succeed(new RunsInTimeRangeRequest({ from, until }))), + Effect.bind("client", () => rpcClient), + Effect.flatMap(({ client, request }) => client(request)), + Effect.map(Record.values), + Effect.map(Array.flatten) + ) +); + +// Computes the success rate, failure rate, and total number of runs +export const totalsRx: Rx.Rx< + Result.Result< + { + successRate: number; + failureRate: number; + totalRuns: number; + }, + never + > +> = runtime.rx( + (ctx: Rx.Context): Effect.Effect<{ successRate: number; failureRate: number; totalRuns: number }, never, never> => + Effect.gen(function* () { + const rows = yield* ctx.result(rowsRx); + const total = rows.length; + const [failures, successes] = Array.partition(rows, ({ success }) => success); + const failureRate = Number.divide(failures.length, total).pipe(Option.getOrElse(() => 0)) * 100; + const successRate = Number.divide(successes.length, total).pipe(Option.getOrElse(() => 0)) * 100; + return { successRate, failureRate, totalRuns: total }; + }) +); + +// Computes the average processing time for successful and failed runs +export const timeSeriesGroupedRx: Rx.RxResultFn< + void, + Record< + string, + { + threshold: number; + avgFailTime: number; + avgSuccessTime: number; + entries: Array; + numberFailedRuns: number; + numberSuccessfulRuns: number; + } + >, + never +> = runtime.fn( + ( + _: void, + ctx: Rx.Context + ): Effect.Effect< + Record< + string, + { + threshold: number; + avgFailTime: number; + avgSuccessTime: number; + entries: Array; + numberFailedRuns: number; + numberSuccessfulRuns: number; + } + >, + never, + never + > => + Effect.gen(function* () { + const from = yield* ctx.result(fromRx); + const until = yield* ctx.result(untilRx); + const rows = yield* ctx.result(rowsRx); + const unit = ctx.get(aggregateByRx); + const includeEmptyBuckets = ctx.get(includeEmptyBucketsRx); + + const zeroOutParts: ( + u: Exclude + ) => (d: DateTime.Utc) => DateTime.Utc = Function.pipe( + Match.type>(), + Match.when("seconds", () => DateTime.setPartsUtc({ millis: 0 })), + Match.when("minutes", () => DateTime.setPartsUtc({ millis: 0, seconds: 0 })), + Match.when("hours", () => DateTime.setPartsUtc({ millis: 0, seconds: 0, minutes: 0 })), + Match.when("days", () => DateTime.setPartsUtc({ millis: 0, seconds: 0, minutes: 0, hours: 0 })), + Match.when("weeks", () => DateTime.setPartsUtc({ millis: 0, seconds: 0, minutes: 0, hours: 0 })), + Match.when("months", () => DateTime.setPartsUtc({ millis: 0, seconds: 0, minutes: 0, hours: 0 })), + Match.when("years", () => DateTime.setPartsUtc({ millis: 0, seconds: 0, minutes: 0, hours: 0 })), + Match.exhaustive + ); + + const zeroBy = zeroOutParts(unit); + const iterateBy = DateTime.add({ [unit]: 1 }); + const assignmentFunction = (row: ResultRow) => zeroBy(row.date); + const groupingFunc = Function.compose(assignmentFunction, DateTime.formatIso); + const groups = Array.groupBy(rows, groupingFunc); + + const groupsWithAverages = Record.map(groups, (group) => { + const [failures, successes] = Array.partition(group, ({ success }) => success); + const cumFailTim = Number.sumAll(Array.map(failures, ({ processingTime }) => processingTime)); + const cumSuccessTime = Number.sumAll(Array.map(successes, ({ processingTime }) => processingTime)); + const avgFailTime = Number.divide(cumFailTim, failures.length).pipe(Option.getOrElse(() => 0)); + const avgSuccessTime = Number.divide(cumSuccessTime, successes.length).pipe(Option.getOrElse(() => 0)); + return { + avgFailTime, + avgSuccessTime, + threshold: 30, + entries: group, + numberFailedRuns: successes.length, + numberSuccessfulRuns: failures.length, + }; + }); + + const emptyBucket = { + threshold: 30, + avgFailTime: 0, + avgSuccessTime: 0, + entries: Array.empty(), + numberFailedRuns: 0, + numberSuccessfulRuns: 0, + }; + + if (!includeEmptyBuckets) { + return groupsWithAverages; + } + + const buckets = yield* Function.pipe( + Stream.iterate(from, iterateBy), + Stream.takeWhile(DateTime.lessThanOrEqualTo(until)), + Stream.run(Sink.collectAll()), + Effect.map(Chunk.toReadonlyArray), + Effect.map(Array.sort(DateTime.Order)), + Effect.timeout(Duration.seconds(5)), + Effect.orDie + ); + + const bucketsWithAverages = Function.pipe( + buckets, + Array.map((bucketIdentifier) => { + const key = Function.compose(zeroBy, DateTime.formatIso)(bucketIdentifier); + const group = Record.get(groupsWithAverages, key).pipe(Option.getOrElse(() => emptyBucket)); + return [key, group] as const; + }), + Record.fromEntries + ); + + return bucketsWithAverages; + }) +); + +// Formats the time series data into a format that can be displayed in the table +export const tableDataRx: Rx.Rx< + Result.Result< + Array<{ + file: string; + status: string; + run: DateTime.Utc; + processingTime: number; + schemaName: typeof SchemaName.Encoded; + }>, + never + > +> = runtime.rx( + ( + ctx: Rx.Context + ): Effect.Effect< + Array<{ + file: string; + status: string; + run: DateTime.Utc; + processingTime: number; + schemaName: typeof SchemaName.Encoded; + }>, + never, + never + > => + Effect.gen(function* () { + const activeLabel = ctx.get(activeLabelRx); + const timeSeriesData = yield* ctx.result(timeSeriesGroupedRx); + + const selectedRows: Array = Function.pipe( + timeSeriesData, + Record.get(activeLabel ?? ""), + Option.getOrElse(() => ({ entries: Array.empty() })), + ({ entries }) => entries + ); + + return Array.map(selectedRows, (row) => ({ + run: row.date, + file: row.filePath, + status: row.completion, + schemaName: row.sourceTable, + processingTime: row.processingTime, + })); + }) +); diff --git a/components/ThemeToggle.tsx b/components/ThemeToggle.tsx new file mode 100644 index 0000000..d4cc181 --- /dev/null +++ b/components/ThemeToggle.tsx @@ -0,0 +1,33 @@ +"use client"; + +import { MoonIcon, SunIcon } from "@radix-ui/react-icons"; +import { useTheme } from "next-themes"; + +import { Button } from "@/components/ui/button"; +import { + DropdownMenu, + DropdownMenuContent, + DropdownMenuItem, + DropdownMenuTrigger, +} from "@/components/ui/dropdown-menu"; + +export function ThemeToggle() { + const { setTheme } = useTheme(); + + return ( + + + + + + setTheme("light")}>Light + setTheme("dark")}>Dark + setTheme("system")}>System + + + ); +} diff --git a/components/ui/button.tsx b/components/ui/button.tsx new file mode 100644 index 0000000..1a0a331 --- /dev/null +++ b/components/ui/button.tsx @@ -0,0 +1,47 @@ +import { Slot } from "@radix-ui/react-slot"; +import { cva, type VariantProps } from "class-variance-authority"; +import * as React from "react"; + +import { cn } from "@/lib/utils"; + +const buttonVariants = cva( + "inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-colors focus-visible:outline-none focus-visible:ring-1 focus-visible:ring-ring disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0", + { + variants: { + variant: { + default: "bg-primary text-primary-foreground shadow hover:bg-primary/90", + destructive: "bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90", + outline: "border border-input bg-background shadow-sm hover:bg-accent hover:text-accent-foreground", + secondary: "bg-secondary text-secondary-foreground shadow-sm hover:bg-secondary/80", + ghost: "hover:bg-accent hover:text-accent-foreground", + link: "text-primary underline-offset-4 hover:underline", + }, + size: { + default: "h-9 px-4 py-2", + sm: "h-8 rounded-md px-3 text-xs", + lg: "h-10 rounded-md px-8", + icon: "h-9 w-9", + }, + }, + defaultVariants: { + variant: "default", + size: "default", + }, + } +); + +export interface ButtonProps + extends React.ButtonHTMLAttributes, + VariantProps { + asChild?: boolean; +} + +const Button = React.forwardRef( + ({ asChild = false, className, size, variant, ...props }, ref) => { + const Comp = asChild ? Slot : "button"; + return ; + } +); +Button.displayName = "Button"; + +export { Button, buttonVariants }; diff --git a/components/ui/calendar.tsx b/components/ui/calendar.tsx new file mode 100644 index 0000000..36c1e30 --- /dev/null +++ b/components/ui/calendar.tsx @@ -0,0 +1,62 @@ +"use client"; + +import { ChevronLeftIcon, ChevronRightIcon } from "@radix-ui/react-icons"; +import * as React from "react"; +import { DayPicker } from "react-day-picker"; + +import { buttonVariants } from "@/components/ui/button"; +import { cn } from "@/lib/utils"; + +export type CalendarProps = React.ComponentProps; + +function Calendar({ className, classNames, showOutsideDays = true, ...props }: CalendarProps) { + return ( + .day-range-end)]:rounded-r-md [&:has(>.day-range-start)]:rounded-l-md first:[&:has([aria-selected])]:rounded-l-md last:[&:has([aria-selected])]:rounded-r-md" + : "[&:has([aria-selected])]:rounded-md" + ), + day: cn(buttonVariants({ variant: "ghost" }), "h-8 w-8 p-0 font-normal aria-selected:opacity-100"), + day_range_start: "day-range-start", + day_range_end: "day-range-end", + day_selected: + "bg-primary text-primary-foreground hover:bg-primary hover:text-primary-foreground focus:bg-primary focus:text-primary-foreground", + day_today: "bg-accent text-accent-foreground", + day_outside: + "day-outside text-muted-foreground opacity-50 aria-selected:bg-accent/50 aria-selected:text-muted-foreground aria-selected:opacity-30", + day_disabled: "text-muted-foreground opacity-50", + day_range_middle: "aria-selected:bg-accent aria-selected:text-accent-foreground", + day_hidden: "invisible", + ...classNames, + }} + components={{ + IconLeft: ({ ..._props }) => , + IconRight: ({ ..._props }) => , + }} + {...props} + /> + ); +} +Calendar.displayName = "Calendar"; + +export { Calendar }; diff --git a/components/ui/card.tsx b/components/ui/card.tsx new file mode 100644 index 0000000..b7258fa --- /dev/null +++ b/components/ui/card.tsx @@ -0,0 +1,43 @@ +import * as React from "react"; + +import { cn } from "@/lib/utils"; + +const Card = React.forwardRef>(({ className, ...props }, ref) => ( +
+)); +Card.displayName = "Card"; + +const CardHeader = React.forwardRef>( + ({ className, ...props }, ref) => ( +
+ ) +); +CardHeader.displayName = "CardHeader"; + +const CardTitle = React.forwardRef>( + ({ className, ...props }, ref) => ( +

+ ) +); +CardTitle.displayName = "CardTitle"; + +const CardDescription = React.forwardRef>( + ({ className, ...props }, ref) => ( +

+ ) +); +CardDescription.displayName = "CardDescription"; + +const CardContent = React.forwardRef>( + ({ className, ...props }, ref) =>

+); +CardContent.displayName = "CardContent"; + +const CardFooter = React.forwardRef>( + ({ className, ...props }, ref) => ( +
+ ) +); +CardFooter.displayName = "CardFooter"; + +export { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle }; diff --git a/components/ui/chart.tsx b/components/ui/chart.tsx new file mode 100644 index 0000000..28b8bd5 --- /dev/null +++ b/components/ui/chart.tsx @@ -0,0 +1,318 @@ +"use client"; + +import * as React from "react"; +import * as RechartsPrimitive from "recharts"; + +import { cn } from "@/lib/utils"; + +// Format: { THEME_NAME: CSS_SELECTOR } +const THEMES = { light: "", dark: ".dark" } as const; + +export type ChartConfig = { + [k in string]: { + label?: React.ReactNode; + title?: React.ReactNode; + icon?: React.ComponentType; + } & ({ color?: string; theme?: never } | { color?: never; theme: Record }); +}; + +type ChartContextProps = { + config: ChartConfig; +}; + +const ChartContext = React.createContext(null); + +function useChart() { + const context = React.useContext(ChartContext); + + if (!context) { + throw new Error("useChart must be used within a "); + } + + return context; +} + +const ChartContainer = React.forwardRef< + HTMLDivElement, + React.ComponentProps<"div"> & { + config: ChartConfig; + children: React.ComponentProps["children"]; + } +>(({ children, className, config, id, ...props }, ref) => { + const uniqueId = React.useId(); + const chartId = `chart-${id || uniqueId.replace(/:/g, "")}`; + + return ( + +
+ + {children} +
+
+ ); +}); +ChartContainer.displayName = "Chart"; + +const ChartStyle = ({ config, id }: { id: string; config: ChartConfig }) => { + const colorConfig = Object.entries(config).filter(([_, config]) => config.theme || config.color); + + if (!colorConfig.length) { + return null; + } + + return ( +