From ee447858bee6a17bd8aba96028aae576b5c1030b Mon Sep 17 00:00:00 2001 From: mitsuki-jpg Date: Tue, 23 Jan 2024 20:33:47 +0100 Subject: [PATCH 01/10] https://github.com/Bot-detector/Bot-Detector-Web/issues/77 --- .env-example | 2 -- src/templates/pages/faq.html | 6 ++++++ 2 files changed, 6 insertions(+), 2 deletions(-) delete mode 100644 .env-example diff --git a/.env-example b/.env-example deleted file mode 100644 index e9720ac..0000000 --- a/.env-example +++ /dev/null @@ -1,2 +0,0 @@ -TOKEN=1 -ENV=DEV \ No newline at end of file diff --git a/src/templates/pages/faq.html b/src/templates/pages/faq.html index 7986141..0c1ba2c 100644 --- a/src/templates/pages/faq.html +++ b/src/templates/pages/faq.html @@ -114,6 +114,8 @@

Using the plugin


+
+
@@ -225,10 +227,13 @@

Description

+


+
+

@@ -267,6 +272,7 @@

+

From 083a15daaf4864a911ae8839af7ad2638e0f08bf Mon Sep 17 00:00:00 2001 From: extreme4all <> Date: Tue, 23 Jan 2024 23:47:55 +0100 Subject: [PATCH 02/10] modified: notes.md modified: requirements.txt modified: src/api/__init__.py modified: src/api/account_search.py modified: src/api/contact.py modified: src/api/contributors.py modified: src/api/faq.py modified: src/api/home.py modified: src/api/monitoring.py modified: src/app/controllers/bot_detector.py modified: src/app/controllers/patreon.py modified: src/app/schemas/extras/health.py modified: src/core/config.py modified: src/core/server.py modified: src/templates/base.html modified: src/templates/head.html modified: src/templates/header.html modified: src/templates/navigation.html modified: src/templates/pages/account_search.html modified: src/templates/pages/contact.html modified: src/templates/pages/contributors.html modified: src/templates/pages/faq.html modified: src/templates/pages/home.html --- notes.md | 142 ++-- requirements.txt | 82 +-- src/api/__init__.py | 22 +- src/api/account_search.py | 38 +- src/api/contact.py | 22 +- src/api/contributors.py | 20 +- src/api/faq.py | 20 +- src/api/home.py | 40 +- src/api/monitoring.py | 22 +- src/app/controllers/bot_detector.py | 80 +-- src/app/controllers/patreon.py | 186 ++--- src/app/schemas/extras/health.py | 12 +- src/core/config.py | 72 +- src/core/server.py | 90 +-- src/templates/base.html | 252 +++---- src/templates/head.html | 14 +- src/templates/header.html | 8 +- src/templates/navigation.html | 76 +- src/templates/pages/account_search.html | 206 +++--- src/templates/pages/contact.html | 98 +-- src/templates/pages/contributors.html | 228 +++--- src/templates/pages/faq.html | 886 ++++++++++++------------ src/templates/pages/home.html | 152 ++-- 23 files changed, 1384 insertions(+), 1384 deletions(-) diff --git a/notes.md b/notes.md index a3ddd53..23721a4 100644 --- a/notes.md +++ b/notes.md @@ -1,72 +1,72 @@ -# api documentation -```sh -http://127.0.0.1:5000/docs -http://127.0.0.1:5000/redoc -``` -# extra info -```sh -POST: to create data. -GET: to read data. -PUT: to update data. -DELETE: to delete data. -``` -# keeping fork up to date -```sh -git checkout develop -git pull --rebase upstream develop -git push -``` -# setup -## linux -```sh -python3 -m venv .venv -source .venv/bin/activate -python3 -m pip install --upgrade pip -pip install -r requirements.txt -``` -## windows -creating a python venv to work in and install the project requirements -```sh -python -m venv .venv -.venv\Scripts\activate -python -m pip install --upgrade pip -pip install -r requirements.txt -``` -# for admin purposes saving & upgrading -## linux -```sh -#!/bin/bash - -# Replace '==' with '>=' in requirements.txt -sed -i 's/==/>=/g' requirements.txt - -# Install or upgrade packages -pip install -r requirements.txt --upgrade - -# Save the installed package versions to requirements.txt -pip freeze > requirements.txt - -# Replace '>=' with '==' in requirements.txt -sed -i 's/>=/==/g' requirements.txt -``` -## windows -when you added some dependancies update the requirements -```sh -venv\Scripts\activate -call pip freeze > requirements.txt -``` -when you want to upgrade the dependancies -```sh -venv\Scripts\activate -powershell "(Get-Content requirements.txt) | ForEach-Object { $_ -replace '==', '>=' } | Set-Content requirements.txt" -call pip install -r requirements.txt --upgrade -call pip freeze > requirements.txt -powershell "(Get-Content requirements.txt) | ForEach-Object { $_ -replace '>=', '==' } | Set-Content requirements.txt" -``` -# branch cleanup -if your branch gets out of sync and for some reason you have many pushes and pulls, to become insync without pushing some random changes do this -```sh -git fetch origin -git reset --hard origin/{branchname} -git clean -f -d +# api documentation +```sh +http://127.0.0.1:5000/docs +http://127.0.0.1:5000/redoc +``` +# extra info +```sh +POST: to create data. +GET: to read data. +PUT: to update data. +DELETE: to delete data. +``` +# keeping fork up to date +```sh +git checkout develop +git pull --rebase upstream develop +git push +``` +# setup +## linux +```sh +python3 -m venv .venv +source .venv/bin/activate +python3 -m pip install --upgrade pip +pip install -r requirements.txt +``` +## windows +creating a python venv to work in and install the project requirements +```sh +python -m venv .venv +.venv\Scripts\activate +python -m pip install --upgrade pip +pip install -r requirements.txt +``` +# for admin purposes saving & upgrading +## linux +```sh +#!/bin/bash + +# Replace '==' with '>=' in requirements.txt +sed -i 's/==/>=/g' requirements.txt + +# Install or upgrade packages +pip install -r requirements.txt --upgrade + +# Save the installed package versions to requirements.txt +pip freeze > requirements.txt + +# Replace '>=' with '==' in requirements.txt +sed -i 's/>=/==/g' requirements.txt +``` +## windows +when you added some dependancies update the requirements +```sh +venv\Scripts\activate +call pip freeze > requirements.txt +``` +when you want to upgrade the dependancies +```sh +venv\Scripts\activate +powershell "(Get-Content requirements.txt) | ForEach-Object { $_ -replace '==', '>=' } | Set-Content requirements.txt" +call pip install -r requirements.txt --upgrade +call pip freeze > requirements.txt +powershell "(Get-Content requirements.txt) | ForEach-Object { $_ -replace '>=', '==' } | Set-Content requirements.txt" +``` +# branch cleanup +if your branch gets out of sync and for some reason you have many pushes and pulls, to become insync without pushing some random changes do this +```sh +git fetch origin +git reset --hard origin/{branchname} +git clean -f -d ``` \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index 82d02ab..05ae35b 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,41 +1,41 @@ -aiohttp==3.9.1 -aiosignal==1.3.1 -annotated-types==0.6.0 -anyio==4.2.0 -async-timeout==4.0.3 -attrs==23.2.0 -black==23.12.1 -cfgv==3.4.0 -charset-normalizer==3.3.2 -click==8.1.7 -colorama==0.4.6 -distlib==0.3.8 -exceptiongroup==1.2.0 -fastapi==0.109.0 -filelock==3.13.1 -frozenlist==1.4.1 -h11==0.14.0 -identify==2.5.33 -idna==3.6 -Jinja2==3.1.3 -MarkupSafe==2.1.4 -multidict==6.0.4 -mypy-extensions==1.0.0 -nodeenv==1.8.0 -packaging==23.2 -pathspec==0.12.1 -platformdirs==4.1.0 -pre-commit==3.6.0 -pydantic==2.5.3 -pydantic-settings==2.1.0 -pydantic_core==2.14.6 -python-dotenv==1.0.1 -python-multipart==0.0.6 -PyYAML==6.0.1 -sniffio==1.3.0 -starlette==0.35.1 -tomli==2.0.1 -typing_extensions==4.9.0 -uvicorn==0.27.0 -virtualenv==20.25.0 -yarl==1.9.4 +aiohttp==3.9.1 +aiosignal==1.3.1 +annotated-types==0.6.0 +anyio==4.2.0 +async-timeout==4.0.3 +attrs==23.2.0 +black==23.12.1 +cfgv==3.4.0 +charset-normalizer==3.3.2 +click==8.1.7 +colorama==0.4.6 +distlib==0.3.8 +exceptiongroup==1.2.0 +fastapi==0.109.0 +filelock==3.13.1 +frozenlist==1.4.1 +h11==0.14.0 +identify==2.5.33 +idna==3.6 +Jinja2==3.1.3 +MarkupSafe==2.1.4 +multidict==6.0.4 +mypy-extensions==1.0.0 +nodeenv==1.8.0 +packaging==23.2 +pathspec==0.12.1 +platformdirs==4.1.0 +pre-commit==3.6.0 +pydantic==2.5.3 +pydantic-settings==2.1.0 +pydantic_core==2.14.6 +python-dotenv==1.0.1 +python-multipart==0.0.6 +PyYAML==6.0.1 +sniffio==1.3.0 +starlette==0.35.1 +tomli==2.0.1 +typing_extensions==4.9.0 +uvicorn==0.27.0 +virtualenv==20.25.0 +yarl==1.9.4 diff --git a/src/api/__init__.py b/src/api/__init__.py index aaae831..5eee9a0 100644 --- a/src/api/__init__.py +++ b/src/api/__init__.py @@ -1,11 +1,11 @@ -from fastapi import APIRouter - -from src.api import account_search, contact, contributors, faq, home, monitoring - -router = APIRouter() -router.include_router(monitoring.router, prefix="/monitoring") -router.include_router(home.router, prefix="/home") -router.include_router(account_search.router, prefix="/account-search") -router.include_router(contributors.router, prefix="/contributors") -router.include_router(contact.router, prefix="/contact") -router.include_router(faq.router, prefix="/about") +from fastapi import APIRouter + +from src.api import account_search, contact, contributors, faq, home, monitoring + +router = APIRouter() +router.include_router(monitoring.router, prefix="/monitoring") +router.include_router(home.router, prefix="/home") +router.include_router(account_search.router, prefix="/account-search") +router.include_router(contributors.router, prefix="/contributors") +router.include_router(contact.router, prefix="/contact") +router.include_router(faq.router, prefix="/about") diff --git a/src/api/account_search.py b/src/api/account_search.py index 5bcc52c..4286c11 100644 --- a/src/api/account_search.py +++ b/src/api/account_search.py @@ -1,19 +1,19 @@ -from fastapi import APIRouter, Form, Request -from fastapi.responses import HTMLResponse - -from src.core.config import BD_API, CONFIG, templates - -router = APIRouter() - - -@router.get("/") -async def account_search(request: Request) -> HTMLResponse: - return templates.TemplateResponse("pages/account_search.html", {"request": request}) - - -@router.post("/") -async def account_search(request: Request, username: str = Form(...)) -> HTMLResponse: - # You can access the submitted username using the "username" variable - prediction = await BD_API.get_prediction(name=username) - response = {"request": request, "prediction": prediction} - return templates.TemplateResponse("pages/account_search.html", response) +from fastapi import APIRouter, Form, Request +from fastapi.responses import HTMLResponse + +from src.core.config import BD_API, CONFIG, templates + +router = APIRouter() + + +@router.get("/") +async def account_search(request: Request) -> HTMLResponse: + return templates.TemplateResponse("pages/account_search.html", {"request": request}) + + +@router.post("/") +async def account_search(request: Request, username: str = Form(...)) -> HTMLResponse: + # You can access the submitted username using the "username" variable + prediction = await BD_API.get_prediction(name=username) + response = {"request": request, "prediction": prediction} + return templates.TemplateResponse("pages/account_search.html", response) diff --git a/src/api/contact.py b/src/api/contact.py index 2d9f2e2..cab5e24 100644 --- a/src/api/contact.py +++ b/src/api/contact.py @@ -1,11 +1,11 @@ -from fastapi import APIRouter, Request -from fastapi.responses import HTMLResponse - -from src.core.config import CONFIG, templates - -router = APIRouter() - - -@router.get("/") -async def contact(request: Request) -> HTMLResponse: - return templates.TemplateResponse("pages/contact.html", {"request": request}) +from fastapi import APIRouter, Request +from fastapi.responses import HTMLResponse + +from src.core.config import CONFIG, templates + +router = APIRouter() + + +@router.get("/") +async def contact(request: Request) -> HTMLResponse: + return templates.TemplateResponse("pages/contact.html", {"request": request}) diff --git a/src/api/contributors.py b/src/api/contributors.py index 67e3c98..767a4ae 100644 --- a/src/api/contributors.py +++ b/src/api/contributors.py @@ -1,10 +1,10 @@ -from fastapi import APIRouter, Request - -from src.core.config import CONFIG, templates - -router = APIRouter() - - -@router.get("/") -async def contributors(request: Request): - return templates.TemplateResponse("pages/contributors.html", {"request": request}) +from fastapi import APIRouter, Request + +from src.core.config import CONFIG, templates + +router = APIRouter() + + +@router.get("/") +async def contributors(request: Request): + return templates.TemplateResponse("pages/contributors.html", {"request": request}) diff --git a/src/api/faq.py b/src/api/faq.py index 29b6033..5e9aa1c 100644 --- a/src/api/faq.py +++ b/src/api/faq.py @@ -1,10 +1,10 @@ -from fastapi import APIRouter, Request - -from src.core.config import CONFIG, templates - -router = APIRouter() - - -@router.get("/") -async def faq(request: Request): - return templates.TemplateResponse("pages/faq.html", {"request": request}) +from fastapi import APIRouter, Request + +from src.core.config import CONFIG, templates + +router = APIRouter() + + +@router.get("/") +async def faq(request: Request): + return templates.TemplateResponse("pages/faq.html", {"request": request}) diff --git a/src/api/home.py b/src/api/home.py index 832ce3b..538ad01 100644 --- a/src/api/home.py +++ b/src/api/home.py @@ -1,20 +1,20 @@ -from fastapi import APIRouter, Request -from pydantic import BaseModel - -from src.core.config import BD_API, CONFIG, templates - -router = APIRouter() - - -class Stats(BaseModel): - total_bans: int - total_real_players: int - total_accounts: int - - -@router.get("/") -async def home(request: Request): - stats = await BD_API.get_project_stats() - stats = Stats(**stats) - response = {"request": request, "stats": stats.dict()} - return templates.TemplateResponse("pages/home.html", response) +from fastapi import APIRouter, Request +from pydantic import BaseModel + +from src.core.config import BD_API, CONFIG, templates + +router = APIRouter() + + +class Stats(BaseModel): + total_bans: int + total_real_players: int + total_accounts: int + + +@router.get("/") +async def home(request: Request): + stats = await BD_API.get_project_stats() + stats = Stats(**stats) + response = {"request": request, "stats": stats.dict()} + return templates.TemplateResponse("pages/home.html", response) diff --git a/src/api/monitoring.py b/src/api/monitoring.py index 8ddf86c..fb2506f 100644 --- a/src/api/monitoring.py +++ b/src/api/monitoring.py @@ -1,11 +1,11 @@ -from fastapi import APIRouter - -from src.app.schemas.extras.health import Health -from src.core.config import CONFIG - -router = APIRouter() - - -@router.get("/", response_model=Health) -async def health() -> Health: - return Health(version=CONFIG.RELEASE_VERSION, status="Healthy") +from fastapi import APIRouter + +from src.app.schemas.extras.health import Health +from src.core.config import CONFIG + +router = APIRouter() + + +@router.get("/", response_model=Health) +async def health() -> Health: + return Health(version=CONFIG.RELEASE_VERSION, status="Healthy") diff --git a/src/app/controllers/bot_detector.py b/src/app/controllers/bot_detector.py index ecee4ea..db236bb 100644 --- a/src/app/controllers/bot_detector.py +++ b/src/app/controllers/bot_detector.py @@ -1,40 +1,40 @@ -import aiohttp - - -class BotDetector: - def __init__( - self, token: str, base_url: str = "https://api.prd.osrsbotdetector.com" - ): - self.base_url = base_url - self.session = aiohttp.ClientSession() - self.token = token - - async def get_prediction(self, name: str): - url = f"{self.base_url}/v1/prediction?name={name}" - async with self.session.get(url) as response: - data = await response.json() - return data - - async def get_xp_change(self, player_id: str): - url = f"{self.base_url}/v1/hiscore/XPChange?token={self.token}&player_id={player_id}" - async with self.session.get(url) as response: - data = await response.json() - return data - - async def get_highscore_latest(self, player_id: str): - url = f"{self.base_url}/v1/hiscore/Latest?token={self.token}&player_id={player_id}" - async with self.session.get(url) as response: - data = await response.json() - return data - - async def get_player(self, player_name: str): - url = f"{self.base_url}/v1/player?token={self.token}&player_name={player_name}" - async with self.session.get(url) as response: - data = await response.json() - return data - - async def get_project_stats(self): - url = f"{self.base_url}/site/dashboard/projectstats" - async with self.session.get(url) as response: - data = await response.json() - return data +import aiohttp + + +class BotDetector: + def __init__( + self, token: str, base_url: str = "https://api.prd.osrsbotdetector.com" + ): + self.base_url = base_url + self.session = aiohttp.ClientSession() + self.token = token + + async def get_prediction(self, name: str): + url = f"{self.base_url}/v1/prediction?name={name}" + async with self.session.get(url) as response: + data = await response.json() + return data + + async def get_xp_change(self, player_id: str): + url = f"{self.base_url}/v1/hiscore/XPChange?token={self.token}&player_id={player_id}" + async with self.session.get(url) as response: + data = await response.json() + return data + + async def get_highscore_latest(self, player_id: str): + url = f"{self.base_url}/v1/hiscore/Latest?token={self.token}&player_id={player_id}" + async with self.session.get(url) as response: + data = await response.json() + return data + + async def get_player(self, player_name: str): + url = f"{self.base_url}/v1/player?token={self.token}&player_name={player_name}" + async with self.session.get(url) as response: + data = await response.json() + return data + + async def get_project_stats(self): + url = f"{self.base_url}/site/dashboard/projectstats" + async with self.session.get(url) as response: + data = await response.json() + return data diff --git a/src/app/controllers/patreon.py b/src/app/controllers/patreon.py index 40ec5ed..3cb4418 100644 --- a/src/app/controllers/patreon.py +++ b/src/app/controllers/patreon.py @@ -1,93 +1,93 @@ -from typing import List - -import aiohttp -from pydantic import BaseModel - - -class Campaign(BaseModel): - id: str - type: str - attributes: dict - relationships: dict - - -class CampaignsResponse(BaseModel): - data: List[Campaign] - - -class Member(BaseModel): - id: str - type: str - attributes: dict - relationships: dict - - -class MembersResponse(BaseModel): - data: List[Member] - - -class Patreon: - def __init__( - self, - client_id: str, - client_secret: str, - base_url: str = "https://www.patreon.com/api/oauth2/v2", - ): - self.client_id = client_id - self.client_secret = client_secret - self.base_url = base_url - self.session = aiohttp.ClientSession() - self.access_token = None - self.headers = None - - async def _client_authenticate(self): - # Step 1: Exchange your client credentials for an access token - data = { - "grant_type": "client_credentials", - "client_id": self.client_id, - "client_secret": self.client_secret, - "scope": "identity campaigns", - } - token_url = f"{self.base_url}/oauth2/token" - async with self.session.post(token_url, data=data) as resp: - token_data = await resp.json() - self.access_token = token_data["access_token"] - self.headers = {"Authorization": f"Bearer {self.access_token}"} - - async def _get_headers(self): - # Check if we are authenticated - if not self.headers: - await self._client_authenticate() - - return self.headers - - async def get_campaigns(self) -> CampaignsResponse: - headers = await self._get_headers() - - url = f"{self.base_url}/campaigns" - async with self.session.get(url, headers=headers) as resp: - data = await resp.json() - return CampaignsResponse(**data) - - async def get_members(self, campaign_id: str) -> MembersResponse: - headers = await self._get_headers() - - url = f"{self.base_url}/campaigns/{campaign_id}/members" - async with self.session.get(url, headers=headers) as resp: - data = await resp.json() - return MembersResponse(**data) - - async def get_member(self, member_id: str) -> Member: - headers = await self._get_headers() - - url = f"{self.base_url}/members/{member_id}" - async with self.session.get(url, headers=headers) as resp: - data = await resp.json() - return Member(**data) - - async def get_identity(self): - headers = await self._get_headers() - - url = f"{self.base_url}/identity" - async with self.session.get(url, headers=headers) as resp: - return await resp.json() +from typing import List + +import aiohttp +from pydantic import BaseModel + + +class Campaign(BaseModel): + id: str + type: str + attributes: dict + relationships: dict + + +class CampaignsResponse(BaseModel): + data: List[Campaign] + + +class Member(BaseModel): + id: str + type: str + attributes: dict + relationships: dict + + +class MembersResponse(BaseModel): + data: List[Member] + + +class Patreon: + def __init__( + self, + client_id: str, + client_secret: str, + base_url: str = "https://www.patreon.com/api/oauth2/v2", + ): + self.client_id = client_id + self.client_secret = client_secret + self.base_url = base_url + self.session = aiohttp.ClientSession() + self.access_token = None + self.headers = None + + async def _client_authenticate(self): + # Step 1: Exchange your client credentials for an access token + data = { + "grant_type": "client_credentials", + "client_id": self.client_id, + "client_secret": self.client_secret, + "scope": "identity campaigns", + } + token_url = f"{self.base_url}/oauth2/token" + async with self.session.post(token_url, data=data) as resp: + token_data = await resp.json() + self.access_token = token_data["access_token"] + self.headers = {"Authorization": f"Bearer {self.access_token}"} + + async def _get_headers(self): + # Check if we are authenticated + if not self.headers: + await self._client_authenticate() + + return self.headers + + async def get_campaigns(self) -> CampaignsResponse: + headers = await self._get_headers() + + url = f"{self.base_url}/campaigns" + async with self.session.get(url, headers=headers) as resp: + data = await resp.json() + return CampaignsResponse(**data) + + async def get_members(self, campaign_id: str) -> MembersResponse: + headers = await self._get_headers() + + url = f"{self.base_url}/campaigns/{campaign_id}/members" + async with self.session.get(url, headers=headers) as resp: + data = await resp.json() + return MembersResponse(**data) + + async def get_member(self, member_id: str) -> Member: + headers = await self._get_headers() + + url = f"{self.base_url}/members/{member_id}" + async with self.session.get(url, headers=headers) as resp: + data = await resp.json() + return Member(**data) + + async def get_identity(self): + headers = await self._get_headers() + + url = f"{self.base_url}/identity" + async with self.session.get(url, headers=headers) as resp: + return await resp.json() diff --git a/src/app/schemas/extras/health.py b/src/app/schemas/extras/health.py index 1a19e00..13b1d17 100644 --- a/src/app/schemas/extras/health.py +++ b/src/app/schemas/extras/health.py @@ -1,6 +1,6 @@ -from pydantic import BaseModel, Field - - -class Health(BaseModel): - version: str = Field(..., example="1.0.0") - status: str = Field(..., example="OK") +from pydantic import BaseModel, Field + + +class Health(BaseModel): + version: str = Field(..., example="1.0.0") + status: str = Field(..., example="OK") diff --git a/src/core/config.py b/src/core/config.py index f9b5a06..31b0be8 100644 --- a/src/core/config.py +++ b/src/core/config.py @@ -1,36 +1,36 @@ -import os - -import dotenv -from fastapi.templating import Jinja2Templates -from pydantic_settings import BaseSettings - -from src.app.controllers.bot_detector import BotDetector -from src.app.controllers.patreon import Patreon -from src.core.fastapi.middelware import https_url_for - -dotenv.load_dotenv() - - -class Config(BaseSettings): - BD_TOKEN: str - ENV: str - RELEASE_VERSION: str = "0.1" - PATREON_CLIENT_ID: str = "" - PATREON_CLIENT_SECRET: str = "" - - -CONFIG: Config = Config( - BD_TOKEN=os.environ.get("TOKEN"), - ENV=os.environ.get("ENV", "PRD"), - RELEASE_VERSION="0.1", -) - -BD_API = BotDetector(token=CONFIG.BD_TOKEN) - -PATREON = Patreon( - client_id=CONFIG.PATREON_CLIENT_ID, client_secret=CONFIG.PATREON_CLIENT_SECRET -) - -templates = Jinja2Templates(directory="src/templates") -if CONFIG.ENV != "DEV": - templates.env.globals["url_for"] = https_url_for.https_url_for +import os + +import dotenv +from fastapi.templating import Jinja2Templates +from pydantic_settings import BaseSettings + +from src.app.controllers.bot_detector import BotDetector +from src.app.controllers.patreon import Patreon +from src.core.fastapi.middelware import https_url_for + +dotenv.load_dotenv() + + +class Config(BaseSettings): + BD_TOKEN: str + ENV: str + RELEASE_VERSION: str = "0.1" + PATREON_CLIENT_ID: str = "" + PATREON_CLIENT_SECRET: str = "" + + +CONFIG: Config = Config( + BD_TOKEN=os.environ.get("TOKEN"), + ENV=os.environ.get("ENV", "PRD"), + RELEASE_VERSION="0.1", +) + +BD_API = BotDetector(token=CONFIG.BD_TOKEN) + +PATREON = Patreon( + client_id=CONFIG.PATREON_CLIENT_ID, client_secret=CONFIG.PATREON_CLIENT_SECRET +) + +templates = Jinja2Templates(directory="src/templates") +if CONFIG.ENV != "DEV": + templates.env.globals["url_for"] = https_url_for.https_url_for diff --git a/src/core/server.py b/src/core/server.py index 73b133f..3bcbe25 100644 --- a/src/core/server.py +++ b/src/core/server.py @@ -1,45 +1,45 @@ -from fastapi import FastAPI, Request -from fastapi.middleware import Middleware -from fastapi.middleware.cors import CORSMiddleware -from fastapi.responses import RedirectResponse -from fastapi.staticfiles import StaticFiles - -from src import api -from src.core.config import CONFIG - - -def init_routers(_app: FastAPI) -> None: - _app.include_router(api.router) - - -def make_middleware() -> list[Middleware]: - middleware = [ - Middleware( - CORSMiddleware, - allow_origins=["*"], - allow_credentials=True, - allow_methods=["*"], - allow_headers=["*"], - ) - ] - return middleware - - -def create_app() -> FastAPI: - _app = FastAPI( - title="Bot-Detector-Web", - description="Bot-Detector-Web", - version=CONFIG.RELEASE_VERSION, - middleware=make_middleware(), - ) - init_routers(_app=_app) - _app.mount("/static", StaticFiles(directory="src/static"), name="static") - return _app - - -app = create_app() - - -@app.get("/") -def root(request: Request): - return RedirectResponse(request.url_for("home")) +from fastapi import FastAPI, Request +from fastapi.middleware import Middleware +from fastapi.middleware.cors import CORSMiddleware +from fastapi.responses import RedirectResponse +from fastapi.staticfiles import StaticFiles + +from src import api +from src.core.config import CONFIG + + +def init_routers(_app: FastAPI) -> None: + _app.include_router(api.router) + + +def make_middleware() -> list[Middleware]: + middleware = [ + Middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], + ) + ] + return middleware + + +def create_app() -> FastAPI: + _app = FastAPI( + title="Bot-Detector-Web", + description="Bot-Detector-Web", + version=CONFIG.RELEASE_VERSION, + middleware=make_middleware(), + ) + init_routers(_app=_app) + _app.mount("/static", StaticFiles(directory="src/static"), name="static") + return _app + + +app = create_app() + + +@app.get("/") +def root(request: Request): + return RedirectResponse(request.url_for("home")) diff --git a/src/templates/base.html b/src/templates/base.html index 1e04a3e..8be459c 100644 --- a/src/templates/base.html +++ b/src/templates/base.html @@ -1,127 +1,127 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - OSRS Bot Detector - - - {% block head %} - {% include 'head.html' %} - {% endblock %} - - - - - - - - - - - - - - - - - - - - - {% block header %} - {% include 'header.html' %} - {% endblock %} - - - {% block navigation %} - {% include 'navigation.html' %} - {% endblock %} - - - {% block content %} - {% endblock %} - - - {% block footer %} - - - {% endblock %} - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + OSRS Bot Detector + + + {% block head %} + {% include 'head.html' %} + {% endblock %} + + + + + + + + + + + + + + + + + + + + + {% block header %} + {% include 'header.html' %} + {% endblock %} + + + {% block navigation %} + {% include 'navigation.html' %} + {% endblock %} + + + {% block content %} + {% endblock %} + + + {% block footer %} + + + {% endblock %} + + + \ No newline at end of file diff --git a/src/templates/head.html b/src/templates/head.html index f3167dd..bae9ab0 100644 --- a/src/templates/head.html +++ b/src/templates/head.html @@ -1,8 +1,8 @@ -{% block head %} - - - - - - +{% block head %} + + + + + + {% endblock %} \ No newline at end of file diff --git a/src/templates/header.html b/src/templates/header.html index 783b382..34d8017 100644 --- a/src/templates/header.html +++ b/src/templates/header.html @@ -1,5 +1,5 @@ -{% block header %} -
- -
+{% block header %} +
+ +
{% endblock %} \ No newline at end of file diff --git a/src/templates/navigation.html b/src/templates/navigation.html index e3476df..85c935c 100644 --- a/src/templates/navigation.html +++ b/src/templates/navigation.html @@ -1,39 +1,39 @@ -{% block navigation %} - +{% block navigation %} + {% endblock %} \ No newline at end of file diff --git a/src/templates/pages/account_search.html b/src/templates/pages/account_search.html index 067a955..ec11498 100644 --- a/src/templates/pages/account_search.html +++ b/src/templates/pages/account_search.html @@ -1,104 +1,104 @@ -{% extends "base.html" %} - -{% block content %} -
-
-
- -
-
- -
-
- -
-
-
- Bot Detector -
-

Account Search

-

- If you would like to learn more about an Old School RuneScape account, type in the name - below. We cannot provide information within 24 hours of a sighting of a player, - therefore we cannot provide the latest locations and the latest gear information for an - account. -

-
- - -
-
-
- - -
-
-
- -
-
-
-
- - - {% if prediction %} -

Prediction

-
    - {% for key, value in prediction.items() %} - {% if key == "predictions_breakdown" %} -
  • {{ key }}: -
      - {% for sub_key, sub_value in value.items() %} - {% if sub_value != 0 %} -
    • {{ sub_key }}: {{ sub_value * 100 }}%
    • - {% endif %} - {% endfor %} -
    -
  • - {% elif key == "prediction_confidence" %} -
  • {{ key }}: {{ value * 100 }}%
  • - {% else %} -
  • {{ key }}: {{ value }}
  • - {% endif %} - {% endfor %} -
- {% endif %} -
-
-
-
- - -
- -
-
-

Get notified about bans

-
-

- Discord Server -

-
-
-
-
- - -
-
-

Get Bot Detector

-
-

Install plugin in RuneLite:

-
- Plugin installation instructions -
-
-
-
-
-
-
+{% extends "base.html" %} + +{% block content %} +
+
+
+ +
+
+ +
+
+ +
+
+
+ Bot Detector +
+

Account Search

+

+ If you would like to learn more about an Old School RuneScape account, type in the name + below. We cannot provide information within 24 hours of a sighting of a player, + therefore we cannot provide the latest locations and the latest gear information for an + account. +

+
+ + +
+
+
+ + +
+
+
+ +
+
+
+
+ + + {% if prediction %} +

Prediction

+
    + {% for key, value in prediction.items() %} + {% if key == "predictions_breakdown" %} +
  • {{ key }}: +
      + {% for sub_key, sub_value in value.items() %} + {% if sub_value != 0 %} +
    • {{ sub_key }}: {{ sub_value * 100 }}%
    • + {% endif %} + {% endfor %} +
    +
  • + {% elif key == "prediction_confidence" %} +
  • {{ key }}: {{ value * 100 }}%
  • + {% else %} +
  • {{ key }}: {{ value }}
  • + {% endif %} + {% endfor %} +
+ {% endif %} +
+
+
+
+ + +
+ +
+
+

Get notified about bans

+
+

+ Discord Server +

+
+
+
+
+ + +
+
+

Get Bot Detector

+
+

Install plugin in RuneLite:

+
+ Plugin installation instructions +
+
+
+
+
+
+
{% endblock %} \ No newline at end of file diff --git a/src/templates/pages/contact.html b/src/templates/pages/contact.html index 20722ed..044ec63 100644 --- a/src/templates/pages/contact.html +++ b/src/templates/pages/contact.html @@ -1,50 +1,50 @@ -{% extends "base.html" %} - -{% block content %} -
-
-
- - -
- -
-
- -
-
-
- Bot Detector -
-

Contact us

-

- If you're looking to get in touch with us, feel free to message any of the following links - at your convenience.
- They are monitored on a weekly basis, and we will try to respond as quickly as we can! -

-
-
-
-
- -
- - -
-
-
- +{% extends "base.html" %} + +{% block content %} +
+
+
+ + +
+ +
+
+ +
+
+
+ Bot Detector +
+

Contact us

+

+ If you're looking to get in touch with us, feel free to message any of the following links + at your convenience.
+ They are monitored on a weekly basis, and we will try to respond as quickly as we can! +

+
+
+
+
+ +
+ + +
+
+
+ {% endblock %} \ No newline at end of file diff --git a/src/templates/pages/contributors.html b/src/templates/pages/contributors.html index ea6d1a1..adae3d3 100644 --- a/src/templates/pages/contributors.html +++ b/src/templates/pages/contributors.html @@ -1,115 +1,115 @@ -{% extends "base.html" %} - -{% block content %} -
-
-
- -
-
- -
-
- -
-
-
- Bot Detector -
-

Contributors and Supporters

-

- Contributing to the OSRS Bot Detector plugin is a great way to support the Old School - RuneScape community. By helping to identify and remove bots from the game, you can - improve the overall gaming experience for all players. The Bot Detector plugin is an - open-source project, allowing anyone to contribute to its development and make it even - better. Join the team of contributors to use your skills and knowledge to make a real - difference in the game and collaborate with other passionate gamers and developers who - share your love for Old School RuneScape. -

-
- - -

Support us at

- - - - - - - - - - - - - -
DiscordPatreon
Boost our server
- Join -
Help us - financially
- Patreon -
-
- - -

Contribute

- - - - - - - - - - - -
Github
Code with us
- Our Repositories -
-
-
-
-
- - -
- -
-
-

Get notified about bans

-
-

- Discord Server -

-
-
-
-
- - -
-
-

Get Bot Detector

-
-

Install plugin in RuneLite:

-
- Plugin installation instructions -
-
-
-
-
-
-
+{% extends "base.html" %} + +{% block content %} +
+
+
+ +
+
+ +
+
+ +
+
+
+ Bot Detector +
+

Contributors and Supporters

+

+ Contributing to the OSRS Bot Detector plugin is a great way to support the Old School + RuneScape community. By helping to identify and remove bots from the game, you can + improve the overall gaming experience for all players. The Bot Detector plugin is an + open-source project, allowing anyone to contribute to its development and make it even + better. Join the team of contributors to use your skills and knowledge to make a real + difference in the game and collaborate with other passionate gamers and developers who + share your love for Old School RuneScape. +

+
+ + +

Support us at

+ + + + + + + + + + + + + +
DiscordPatreon
Boost our server
+ Join +
Help us + financially
+ Patreon +
+
+ + +

Contribute

+ + + + + + + + + + + +
Github
Code with us
+ Our Repositories +
+
+
+
+
+ + +
+ +
+
+

Get notified about bans

+
+

+ Discord Server +

+
+
+
+
+ + +
+
+

Get Bot Detector

+
+

Install plugin in RuneLite:

+
+ Plugin installation instructions +
+
+
+
+
+
+
{% endblock %} \ No newline at end of file diff --git a/src/templates/pages/faq.html b/src/templates/pages/faq.html index 0c1ba2c..ca30d44 100644 --- a/src/templates/pages/faq.html +++ b/src/templates/pages/faq.html @@ -1,443 +1,443 @@ -{% extends "base.html" %} -{% block content %} -
-
-
-
-
-
-
-
-
- Bot Detector -
-

Frequently asked Questions

-

- Have a question about the plugin? We've answered most of them here! - If your question still has not been answered - feel free to message us on - Discord. -

-
- -
-
-
-

- -

-
-
- The OSRS Bot Detector plugin is an open-source community-run machine learning plugin made for Old School - RuneScape using the popular third-party client RuneLite. The plugin aims to use machine learning algorithms to - separate players from bots and send likely bot accounts to Jagex's anti-cheating team for swift removal. -
-
-
-
-
-
-

- -

-
-
- The OSRS Bot Detector plugin works by sending nearby players' information to our machine learning algorithm, - trained - with data provided by Jagex Moderators. The algorithm then processes this information and assesses it for - bot-like - behavior. If a player is determined to be a likely bot account, their information is sent to Jagex's - anti-cheating - team for swift removal. -
-
-
-
-
-

Getting started

-

- Installing the plugin -

-
-
    -
  1. -
    -
    Open Runelite
    - You can download from runelite.net or Oldschool RuneScape website -
    - 1 -
  2. -
  3. -
    -
    Click on the wrench icon in top-right of the sidebar
    - This will open an additional menu -
    - 2 -
  4. -
  5. -
    -
    Click on the 3rd button on very top
    - This will open an RuneLite plugin hub. -
    - 3 -
  6. -
  7. -
    -
    Type in Bot Detector like
    - This is our official plugin name. -
    - 4 -
  8. -
  9. -
    -
    Click install button at
    - Accept the warning message. (See the FAQ below if you have questions about this) -
    - 5 -
  10. -
  11. -
    -
    Done!
    - You have successfully installed our plugin and can conquer bots. -
    - 6 -
  12. -
-
-

Using the plugin

-

- Plugin settings -

-
-
-
-
- - - -
-
-

Setting type

-
-
-

Setting name

-
-
-

Description

-
-
- - -
-
-

Upload Settings

-
-
-

Anonymous Uploading

-
-
-

When enabled, your username will not be sent with your uploads. You also cannot manually flag players.

-
-
- -
-
-

Upload Settings

-
-
-

Send Names Only After Logout

-
-
-

Recommended for players with low bandwidth.

-
-
- -
-
-

Upload Settings

-
-
-

Attempt Send on Close

-
-
-

Attempts to upload names when closing Runelite while being logged in. Take note that enabling this option may cause the client to take a long time to close if our servers are being unresponsive.

-
-
- -
-
-

Upload Settings

-
-
-

Send Names Every x mins

-
-
-

Determines how often the information collected by the plugin is flushed to our servers. The maximum rate is once per 5 minutes.

-
-
- -
-
-

Panel Settings

-
-
-

Prediction Autocomplete

-
-
-

Allows for prediction auto-completion for dialogue box entry.

-
-
- -
-
-

Panel Settings

-
-
-

Show Breakdown in Special Cases

-
-
-

Displays the Prediction Breakdown when predicting certain types of accounts, such as ones with 'Stats Too Low'.

-
-
- -
-
-

Panel Settings

-
-
-

Show Feedback Textbox

-
-
-

Adds a textbox to the prediction feedback panel, so you can explain your choice in up to 250 characters. Make sure you type your feedback before you make your choice!

-
-
- -
-
-

Panel Settings

-
-
-

Panel Default Stats Tab

-
-
-

Sets panel default stats tab when the Plugin turns on.

-
-
- -
-
- -
-
-
-
-
-
-

- -

-
-
- The OSRS Bot Detector plugin is an open-source community-run machine learning plugin made for Old School - RuneScape using the popular third-party client RuneLite. The plugin aims to use machine learning algorithms to - separate players from bots and send likely bot accounts to Jagex's anti-cheating team for swift removal. -

The OSRS Bot Detector plugin has several settings that can be configured by the user. These include:

-
    -
  • Anonymous Uploading: When enabled, your username will not be sent with your uploads. You - also cannot manually flag players. -
  • -
  • Send Names Only After Logout: Recommended for players with low bandwidth.
  • -
  • Attempt Send on Close: Attempts to upload names when closing Runelite while being logged - in. Take note that enabling this option may cause the client to take a long time to close if our servers are - being unresponsive. -
  • -
  • Send Names Every x mins: Determines how often the information collected by the plugin is - flushed to our servers. The maximum rate is once per 5 minutes. -
  • -
  • Prediction Autocomplete: Allows for prediction auto-completion for dialogue box entry.
  • -
  • Show Breakdown in Special Cases: Displays the Prediction Breakdown when predicting certain - types of accounts, such as ones with 'Stats Too Low'. -
  • -
  • Show Feedback Textbox: Adds a textbox to the prediction feedback panel, so you can explain - your choice in up to 250 characters. Make sure you type your feedback before you make your choice! -
  • -
  • Panel Default Stats Tab: Sets panel default stats tab when the Plugin turns on.
  • -
-
-
-
-
- -
-
-

- -

-
-
- Yes, the OSRS Bot Detector plugin is safe to use. It is an open-source community-run project and its code is - publicly available for review on GitHub. However, as with any third-party software, it is always a good idea to - exercise caution and use it at your own risk. -
-
-
-
- -
-
-

- -

-
-
- There are several ways you can contribute to the OSRS Bot Detector plugin project. You can join the project's - Discord server to get involved in the community and provide feedback or suggestions. You can also support the - project on Patreon or contribute code to the project's GitHub repository. -
-
-
-
-
-
-

- -

-
-
- The accuracy of the OSRS Bot Detector plugin depends on several factors, including the quality and quantity of - data used to train its machine learning algorithms and the effectiveness of those algorithms in identifying - bot-like behavior. The plugin's developers are constantly working to improve its accuracy by collecting more - data and refining its algorithms. -
-
-
-
-
-
-

- -

-
-
- No, the OSRS Bot Detector plugin is not capable of detecting all types of bots. Some bots may use advanced - techniques to avoid detection, and it is always possible for new types of bots to emerge that the plugin is not - yet capable of detecting. However, the plugin's developers are constantly working to improve its ability to - detect a wide range of bot-like behavior. -
-
-
-
-
-
-

- -

-
-
- Like any automated system, the OSRS Bot Detector plugin is not perfect and may occasionally produce false - positives or false negatives. Some players have expressed concern that certain types of accounts, such as - high-level 1 defense pures, may be more likely to be flagged as bots by the plugin due to their training - patterns[^1^][1]. The plugin's developers are aware of these concerns and are constantly working to improve the - accuracy of the plugin's algorithms. -
-
-
-
-
-
-

- -

-
-
- Some players have expressed concern that botters may be able to use the open-source nature of the OSRS Bot - Detector plugin to learn how their accounts are being scored and adjust their behavior to reduce their profiling - score[^1^][1]. While this is a possibility, it is important to note that the plugin's developers are constantly - updating its algorithms and collecting new data to stay ahead of botting techniques. Additionally, Jagex's - anti-cheating team uses a variety of methods to detect and ban bots, so avoiding detection by the OSRS Bot - Detector plugin alone is not enough to guarantee that a bot account will not be banned -
-
-
-
-
-
-

- -

-
-
- Some players have expressed concern that the OSRS Bot Detector plugin may be invasive because it collects and - sends information about nearby players to a third-party server for analysis. However, it is important to note - that the plugin only collects publicly available information, such as player names and stats from the hiscores. - Additionally, the plugin has settings that allow users to control what information is sent and when it is sent. - The plugin's developers are committed to protecting user privacy and ensuring that the plugin operates in a - transparent and responsible manner. -
-
-
-
-
-
-

- -

-
-
- Some players have expressed concern that the OSRS Bot Detector plugin could potentially hurt legitimate players - if it produces false positives and mistakenly flags them as bots. While this is a possibility, it is important - to note that Jagex's anti-cheating team uses a variety of methods to detect and ban bots, and a single flag from - the OSRS Bot Detector plugin alone is not enough to result in a ban. Additionally, the plugin's developers are - constantly working to improve its accuracy and reduce the likelihood of false positives. -
-
-
-
-
-
-

- -

-
-
- Some players have questioned the effectiveness of using machine learning algorithms to detect bot-like behavior, - given that some legitimate players may exhibit similar behavior patterns to bots on certain days. While it is - true that no automated system is perfect and there is always a possibility of false positives or false - negatives, machine learning algorithms have proven to be effective at detecting patterns and making predictions - in many different fields. The OSRS Bot Detector plugin's developers are constantly collecting new data and - refining their algorithms to improve their accuracy in detecting bot-like behavior. -
-
-
-
-
-
-
-
-
-
-
-{% endblock %} +{% extends "base.html" %} +{% block content %} +
+
+
+
+
+
+
+
+
+ Bot Detector +
+

Frequently asked Questions

+

+ Have a question about the plugin? We've answered most of them here! + If your question still has not been answered - feel free to message us on + Discord. +

+
+ +
+
+
+

+ +

+
+
+ The OSRS Bot Detector plugin is an open-source community-run machine learning plugin made for Old School + RuneScape using the popular third-party client RuneLite. The plugin aims to use machine learning algorithms to + separate players from bots and send likely bot accounts to Jagex's anti-cheating team for swift removal. +
+
+
+
+
+
+

+ +

+
+
+ The OSRS Bot Detector plugin works by sending nearby players' information to our machine learning algorithm, + trained + with data provided by Jagex Moderators. The algorithm then processes this information and assesses it for + bot-like + behavior. If a player is determined to be a likely bot account, their information is sent to Jagex's + anti-cheating + team for swift removal. +
+
+
+
+
+

Getting started

+

+ Installing the plugin +

+
+
    +
  1. +
    +
    Open Runelite
    + You can download from runelite.net or Oldschool RuneScape website +
    + 1 +
  2. +
  3. +
    +
    Click on the wrench icon in top-right of the sidebar
    + This will open an additional menu +
    + 2 +
  4. +
  5. +
    +
    Click on the 3rd button on very top
    + This will open an RuneLite plugin hub. +
    + 3 +
  6. +
  7. +
    +
    Type in Bot Detector like
    + This is our official plugin name. +
    + 4 +
  8. +
  9. +
    +
    Click install button at
    + Accept the warning message. (See the FAQ below if you have questions about this) +
    + 5 +
  10. +
  11. +
    +
    Done!
    + You have successfully installed our plugin and can conquer bots. +
    + 6 +
  12. +
+
+

Using the plugin

+

+ Plugin settings +

+
+
+
+
+ + + +
+
+

Setting type

+
+
+

Setting name

+
+
+

Description

+
+
+ + +
+
+

Upload Settings

+
+
+

Anonymous Uploading

+
+
+

When enabled, your username will not be sent with your uploads. You also cannot manually flag players.

+
+
+ +
+
+

Upload Settings

+
+
+

Send Names Only After Logout

+
+
+

Recommended for players with low bandwidth.

+
+
+ +
+
+

Upload Settings

+
+
+

Attempt Send on Close

+
+
+

Attempts to upload names when closing Runelite while being logged in. Take note that enabling this option may cause the client to take a long time to close if our servers are being unresponsive.

+
+
+ +
+
+

Upload Settings

+
+
+

Send Names Every x mins

+
+
+

Determines how often the information collected by the plugin is flushed to our servers. The maximum rate is once per 5 minutes.

+
+
+ +
+
+

Panel Settings

+
+
+

Prediction Autocomplete

+
+
+

Allows for prediction auto-completion for dialogue box entry.

+
+
+ +
+
+

Panel Settings

+
+
+

Show Breakdown in Special Cases

+
+
+

Displays the Prediction Breakdown when predicting certain types of accounts, such as ones with 'Stats Too Low'.

+
+
+ +
+
+

Panel Settings

+
+
+

Show Feedback Textbox

+
+
+

Adds a textbox to the prediction feedback panel, so you can explain your choice in up to 250 characters. Make sure you type your feedback before you make your choice!

+
+
+ +
+
+

Panel Settings

+
+
+

Panel Default Stats Tab

+
+
+

Sets panel default stats tab when the Plugin turns on.

+
+
+ +
+
+ +
+
+
+
+
+
+

+ +

+
+
+ The OSRS Bot Detector plugin is an open-source community-run machine learning plugin made for Old School + RuneScape using the popular third-party client RuneLite. The plugin aims to use machine learning algorithms to + separate players from bots and send likely bot accounts to Jagex's anti-cheating team for swift removal. +

The OSRS Bot Detector plugin has several settings that can be configured by the user. These include:

+
    +
  • Anonymous Uploading: When enabled, your username will not be sent with your uploads. You + also cannot manually flag players. +
  • +
  • Send Names Only After Logout: Recommended for players with low bandwidth.
  • +
  • Attempt Send on Close: Attempts to upload names when closing Runelite while being logged + in. Take note that enabling this option may cause the client to take a long time to close if our servers are + being unresponsive. +
  • +
  • Send Names Every x mins: Determines how often the information collected by the plugin is + flushed to our servers. The maximum rate is once per 5 minutes. +
  • +
  • Prediction Autocomplete: Allows for prediction auto-completion for dialogue box entry.
  • +
  • Show Breakdown in Special Cases: Displays the Prediction Breakdown when predicting certain + types of accounts, such as ones with 'Stats Too Low'. +
  • +
  • Show Feedback Textbox: Adds a textbox to the prediction feedback panel, so you can explain + your choice in up to 250 characters. Make sure you type your feedback before you make your choice! +
  • +
  • Panel Default Stats Tab: Sets panel default stats tab when the Plugin turns on.
  • +
+
+
+
+
+ +
+
+

+ +

+
+
+ Yes, the OSRS Bot Detector plugin is safe to use. It is an open-source community-run project and its code is + publicly available for review on GitHub. However, as with any third-party software, it is always a good idea to + exercise caution and use it at your own risk. +
+
+
+
+ +
+
+

+ +

+
+
+ There are several ways you can contribute to the OSRS Bot Detector plugin project. You can join the project's + Discord server to get involved in the community and provide feedback or suggestions. You can also support the + project on Patreon or contribute code to the project's GitHub repository. +
+
+
+
+
+
+

+ +

+
+
+ The accuracy of the OSRS Bot Detector plugin depends on several factors, including the quality and quantity of + data used to train its machine learning algorithms and the effectiveness of those algorithms in identifying + bot-like behavior. The plugin's developers are constantly working to improve its accuracy by collecting more + data and refining its algorithms. +
+
+
+
+
+
+

+ +

+
+
+ No, the OSRS Bot Detector plugin is not capable of detecting all types of bots. Some bots may use advanced + techniques to avoid detection, and it is always possible for new types of bots to emerge that the plugin is not + yet capable of detecting. However, the plugin's developers are constantly working to improve its ability to + detect a wide range of bot-like behavior. +
+
+
+
+
+
+

+ +

+
+
+ Like any automated system, the OSRS Bot Detector plugin is not perfect and may occasionally produce false + positives or false negatives. Some players have expressed concern that certain types of accounts, such as + high-level 1 defense pures, may be more likely to be flagged as bots by the plugin due to their training + patterns[^1^][1]. The plugin's developers are aware of these concerns and are constantly working to improve the + accuracy of the plugin's algorithms. +
+
+
+
+
+
+

+ +

+
+
+ Some players have expressed concern that botters may be able to use the open-source nature of the OSRS Bot + Detector plugin to learn how their accounts are being scored and adjust their behavior to reduce their profiling + score[^1^][1]. While this is a possibility, it is important to note that the plugin's developers are constantly + updating its algorithms and collecting new data to stay ahead of botting techniques. Additionally, Jagex's + anti-cheating team uses a variety of methods to detect and ban bots, so avoiding detection by the OSRS Bot + Detector plugin alone is not enough to guarantee that a bot account will not be banned +
+
+
+
+
+
+

+ +

+
+
+ Some players have expressed concern that the OSRS Bot Detector plugin may be invasive because it collects and + sends information about nearby players to a third-party server for analysis. However, it is important to note + that the plugin only collects publicly available information, such as player names and stats from the hiscores. + Additionally, the plugin has settings that allow users to control what information is sent and when it is sent. + The plugin's developers are committed to protecting user privacy and ensuring that the plugin operates in a + transparent and responsible manner. +
+
+
+
+
+
+

+ +

+
+
+ Some players have expressed concern that the OSRS Bot Detector plugin could potentially hurt legitimate players + if it produces false positives and mistakenly flags them as bots. While this is a possibility, it is important + to note that Jagex's anti-cheating team uses a variety of methods to detect and ban bots, and a single flag from + the OSRS Bot Detector plugin alone is not enough to result in a ban. Additionally, the plugin's developers are + constantly working to improve its accuracy and reduce the likelihood of false positives. +
+
+
+
+
+
+

+ +

+
+
+ Some players have questioned the effectiveness of using machine learning algorithms to detect bot-like behavior, + given that some legitimate players may exhibit similar behavior patterns to bots on certain days. While it is + true that no automated system is perfect and there is always a possibility of false positives or false + negatives, machine learning algorithms have proven to be effective at detecting patterns and making predictions + in many different fields. The OSRS Bot Detector plugin's developers are constantly collecting new data and + refining their algorithms to improve their accuracy in detecting bot-like behavior. +
+
+
+
+
+
+
+
+
+
+
+{% endblock %} diff --git a/src/templates/pages/home.html b/src/templates/pages/home.html index bb8057a..2d1b2a2 100644 --- a/src/templates/pages/home.html +++ b/src/templates/pages/home.html @@ -1,77 +1,77 @@ -{% extends "base.html" %} - -{% block content %} -
-
-
- -
-
- -
-
- -
-
-
- Bot Detector -
-

Bot Detector

- -

- The Bot Detector Plugin is an open-source community-run machine learning plugin made for - Old School RuneScape using the popular third-party client RuneLite.

We aim to use - this plugin and the corresponding machine learning algorithms to separate players from - bots, from a bird's eye view - and send likely bot accounts to Jagex's anti-cheating - team for swift removal.

- If you're interested in supporting our efforts to combat botting in Old School - RuneScape, consider joining our Discord community or making a donation to help fund the - development of the Bot Detector Plugin. Every contribution helps us continue our work to - make the game a better place for all players. -

-
-
-
-
-
- - -
- -
-
-



Bot Detector stats

-
-

-

Total bans
{{ - '{:,}'.format(stats.total_bans) }}
-
Total real players
(manually - flagged)
{{ - '{:,}'.format(stats.total_real_players) }}
-
Total accounts
{{ - '{:,}'.format(stats.total_accounts) }}
-

-
-
-
-
- - -
-
-



Get Bot Detector

-
-

Install plugin in RuneLite:

-
- Plugin installation instructions -
-
-
-
-
-
-
+{% extends "base.html" %} + +{% block content %} +
+
+
+ +
+
+ +
+
+ +
+
+
+ Bot Detector +
+

Bot Detector

+ +

+ The Bot Detector Plugin is an open-source community-run machine learning plugin made for + Old School RuneScape using the popular third-party client RuneLite.

We aim to use + this plugin and the corresponding machine learning algorithms to separate players from + bots, from a bird's eye view - and send likely bot accounts to Jagex's anti-cheating + team for swift removal.

+ If you're interested in supporting our efforts to combat botting in Old School + RuneScape, consider joining our Discord community or making a donation to help fund the + development of the Bot Detector Plugin. Every contribution helps us continue our work to + make the game a better place for all players. +

+
+
+
+
+
+ + +
+ +
+
+



Bot Detector stats

+
+

+

Total bans
{{ + '{:,}'.format(stats.total_bans) }}
+
Total real players
(manually + flagged)
{{ + '{:,}'.format(stats.total_real_players) }}
+
Total accounts
{{ + '{:,}'.format(stats.total_accounts) }}
+

+
+
+
+
+ + +
+
+



Get Bot Detector

+
+

Install plugin in RuneLite:

+
+ Plugin installation instructions +
+
+
+
+
+
+
{% endblock %} \ No newline at end of file From 7f6234b33e40695686ef995120435663df160e19 Mon Sep 17 00:00:00 2001 From: mitsuki-jpg Date: Wed, 24 Jan 2024 22:12:55 +0100 Subject: [PATCH 03/10] Card --- src/api/cookies.py | 11 ++++++++ src/static/meta/android-chrome-192x192.png | Bin 15093 -> 30108 bytes src/static/meta/android-chrome-512x512.png | Bin 61039 -> 119683 bytes src/static/meta/apple-touch-icon.png | Bin 13733 -> 27313 bytes src/static/meta/favicon-16x16.png | Bin 645 -> 648 bytes src/static/meta/favicon-32x32.png | Bin 1458 -> 1780 bytes src/static/meta/favicon.ico | Bin 15406 -> 15406 bytes src/static/plugin.png | Bin 6528 -> 6722 bytes src/templates/base.html | 18 +++---------- src/templates/navigation.html | 4 +-- src/templates/pages/account_search.html | 4 +-- src/templates/pages/contact.html | 4 +-- src/templates/pages/contributors.html | 4 +-- src/templates/pages/cookies.html | 28 +++++++++++++++++++++ src/templates/pages/faq.html | 10 ++++---- src/templates/pages/home.html | 4 +-- 16 files changed, 58 insertions(+), 29 deletions(-) create mode 100644 src/api/cookies.py create mode 100644 src/templates/pages/cookies.html diff --git a/src/api/cookies.py b/src/api/cookies.py new file mode 100644 index 0000000..72d0c2a --- /dev/null +++ b/src/api/cookies.py @@ -0,0 +1,11 @@ +from fastapi import APIRouter, Request +from fastapi.responses import HTMLResponse + +from src.core.config import CONFIG, templates + +router = APIRouter() + + +@router.get("/") +async def contact(request: Request) -> HTMLResponse: + return templates.TemplateResponse("pages/cookies.html", {"request": request}) diff --git a/src/static/meta/android-chrome-192x192.png b/src/static/meta/android-chrome-192x192.png index 41ece71f44d554cde7611fbc2c899b27e46f858b..2862f0f6cc92c427feeb0d97abd781975d111a3b 100644 GIT binary patch literal 30108 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

=+uw&cpB-=d7x8=|L*BT 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

s-sJS$lKyUb-m8ImKKNMe!k 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 z z$Z0bVgxtBWfr<4CH;)`9vm4(3;(Uc?H4@V?mmtGwT6CnE9q3!)aVhVU0oInu7Ae^jgA8vm z#3toGx&*(Cdc|>nu7h6_EBg>H0!F1yywEU89W~6Qz;A)>or;>BzMtjNIIP z-}|2b5@~PW!HF#wAaLG(mg4&b@~~PpnO2g(!6*6!1oqM}Gx=Q{K#{b8pt0jQP;E68 zU|!3cGwzhtqK@$J+;Bg%p7})#44yR(cGOR;T(8|^;d}mpssFG`3g>cY>p%E}IY?+` z%zKS#l-wo5g#Eh58gfHxv0BkmHsTA@bI;hYN+2b*(3XNuCq5O>F4PW45DgJr3ln+ zk;lC$F3pcDDvQ7EDtxAknIHEry-j9PP+Q+~SA{FWH&QBTq*#N#6W9B0eVtBeVV@~H zqXDX)=6Cz{h!Al0r6$(ld@wprad~n-^3sO0v03)sA}$E2_JlO*lyNkuyjy}*e)`j@ zPvw*3DG#P+1E!-20iMIz#TT9UdL}d3z+X_rLhxbSNP0o|cwVT!prYBa=2!U_B%T#k zSodu8b(GW4)TwE*iwN;}&u)8cwHI%LC=Xd)NJHVdRm@ngZWOe&^IhGAZ+y|iRVdfM z*hsxAR0J!aRxzlFwSI;;qS%TM+VSRJj|{0Ms{F)7N13#7JHd>k%R5hY>R~H&bS6Xg z$R^KEyl9-&$h@uzHyl!qC{~6lU%o2#B98N*9vk@c{ATyxI?IT={JLv?Wp+Q~kqZ}7 zthcEQoc>W`se#Ud%ZiuCWYtZZHX#>BT>S5rs(qM=G4PyuK~G$re~$1LA{~FBCwjS@ zl`J@>+b}*Kt*{^J`OYr%z-KgEhA96g&)nko1u`m=Ew~a-+uG(EN>bgu zD!rKDZQ~dkOLwJKr*?)Sfy{BsUK8v&#HMm{fJp*Z_01nrOSxe@0pG@1@hCz9f&M+E-DRaShF<4xK#Hrs}vHaEo%>xx6+ zTl2CUp$|7)99A%?h`n?5fVAjsia>{@u5L>QoP%KX$&o8cPJ9(d@+x$AT98TkvuQV- zEL^L4^9I4%NhKJg4!qQL)Dmm_7dw7UGAK*D_Alj^t~Y?qyFSNx92X2@+sQ(8I+Q12HR9SsRe(GW^T<&Set@DDE z$|r-E^_tp~pK}Zae$I={c4NYdg?DwbA-z9l;yp>G@ERzBcv7 z-&Nzq?&-ID_>67Qc&ew=`{E@mS3z*K&=0$!V`eqkgB}s3Gr)2*yXHdc34#LcE?B|1uy~W+8Cc4Zk<2Vqk9QE}ys?`LTzs>xp(9#MX0_%Ogof;}7JaD0*H zvxd0$b2f?UoQzaj)rQkF8%eDoOAYp&7F}&=;AZo@Cl|A7wAfpd75R|t=A|#am$$<< z%A8dTbGolR&4Z=P1|-$jE_1+34x^#QQ8^RZ!U}(}u>^-@Sweb_C4z8?7Bz4*zkutU z9pj{r`TlZ*;y_E5kz&P@0yInUV+8iwfa~kg_}1*%|OD{S^=K~N&XrN*0t=AoLreEYxxrXh7 z+i8ujoDHYwMpngYZ-1vMcS=$En?D&H+ko1E!LSt=h=fg*i6op;Ji0tBEEl9DRT10d5SBMFPLL~3$u*vsrkU98;)YwpGx;wuvM*6@#gq{jC#*vS z8UycS|8xp2jm-=b@kmFK5*hHWP(p8*!JHiu;AE#a*g*SiM=jZ$eC#FRB#C^!S*X?>gG3$G)vx2|G!i#0i(r)Xy}7p z*^Ji+PgGoCn$q{qQw*JGyPJ`9@C}+eqDX@ep6J;7#@GI)zdelpqL(83o}Bvije_{& zm{k@y_}=~HiPN**cUcJ2*oMb5>@^3cOZPHjM$T-hCzM=9^dD->{!HI6eU2A)lqdHBR@&*!GD{hewsZ~@9o*Xj@q1NWFf>dld)PUOhWy_84A}Ip?8Iz~ zq}csz=vYcJi6NX{DYo1QvdaLZwq#dW~Eo}(tt_ajM&3=n*G*Kdi#aP6{}FX z$1QpC@`>EWK{M-Zp3jH&hhH3lU**zDmoMKtxlW;kNcmN; z9Cr%_@xcy=d5@$X`99G}q{Hg;P4;gM^H2Z43*Fs7gEMfz00Ku(LC=xdvA}GR16S^S zp_8Wk<$d;7Opi8_ym$0?^mH%AM>8krV+;AZ*nO36sFNoHw!G`7_Qi=>ximr_o&4yn)8=3zYwQ+3ggM4}he~Hk`+`7Yq z&B&U|06Y5|6C;(F+~`CkL0uE@&4Q6R1h&~RJ#=0 zq{Xal(T4BpZo}mUm6wWBF7jy@CvIRFla(cj61m)@D-D7 zeDUMAXDofthh3TWnRWi50>Y(1kAfspF#9n)v0V0M?>T=TD6u&Dgw1QM?c96M^&z?{ zqpFbnu6F)(xCzm;F0E!m{Z}mAbXVAtY~2*0^V;pirA%WMJSza?`z&xg>k(V)uPHO3 zo4%eZ?!R(H3==7(92+t7DCGMi7?JW=|9#OBZM$^>>@$hQ{T9faZ251lkb0j;A!krL zKYToVzA@3uTA5pe^M$l)G|;%#54tkeSdtO`Uk7VZcw67^5?AnoJO<(s(@Bu{Aj}RW8$-dB{f1xJwgG{K z_aJd5q+s5~PSb_;O~`J>7pOkK!P$bz#d|KymGbc{%Gm7WA2n&!|1O!DKp`e#YGMAV z1Fl}WdE*z;_QE`xDpj+Y|0PZ1P^%E0>qR*2zK zBo$m{2VwXY*0Rk+s#|115;7)J-Bu{Q#l~GQ0IS64b0dW{sYi&cHmR{hX*hmUr-`&~ z!rGVPymoP23HP`B$@*xnfojSi?<@trVNcv;z=G^I{#=jG@17X@nUOt783_EJv8x=0 z7{Y~vj$I*r(wRP&ig#5`v#$^iDT-Td2Q(3a?p0(M369H162Te=%B@lr7kfqgok_WW z!f+69MWZDs5yK{{+{jm=IuJ6=GdE!^n7tzL=!EKknyfKrE4ZyvsDN(SQ7^xB_T*25 z0l&tKtAz~D=OSey3eAEPF*hono~!3}Xt>-IA9-r-iS4Y_Mw2Y8lV0o*6CV33-@ zyjZK6y*+3(y%uvM@FKuwGvf=14SL*-{(pq87(24Bi}o3HC2&P*XxP_9-ewPzhJ%e7t3^RgC-^@ z3BxRUhuK7kFo$LgzYag(DUds}VKAAyzFy+FL*r7vIqQwOu7493P#P-7uAX-AMD?SvS6ra3AKE zy?*e(r0RNu02Z!>t0X~d213J=%WyWGig<&H8nmf{?mV6r1v|h!BT_Dg1HpB~Q3-h# z))zi+PjpUDdfC@CEC!QV13R zyQfA*qvkeDbm3i9!VwvZ+1>47c#IPo*7rs~`ZzxQ`6r*o%K6Ga0@=0RGSpY2Hjt?U z3_~P`D|?u^%Dmc%jQyAL%||r!IQ3iPa>?!KA%o3zd#V8EYI*5HRrUuyrUv6PqrG*9 z{+0HwPwLhGeTl|y3ss;9p&^z2I+7UMrPZY6qm#sWBvF(OTV>@+c{J=AVYsQaqzW)o zWPq!rTxVWL%#E0Sk*#E2>V7zhrX}pxmXkey`YNY{zX}X$$fQCqkuiY-NaDQh0^Fvo zvTSaNkC;aO`W^D8R67qCk0z$$GZY+;o{YMZx7Ev~PTVG4NrxW{8cY()Q6LzDyNvrL zO?g;2w)eu74q|~}3lQG%oPZ7()Rg3?6^rS7BhwO%x!f3l=?!b=_5eP+!~MGQ$Vdg+ z5oatoP??;8bzq|0s&pP)*Kbm6twIrPM;-hJrgcFo5)V*2Or%qZPjmr-#22LzZTfsd z0u}W1nvmI)a8kf8)si>l=2X~rzW3Mp7?&AY$MmAtAl{bS{gl*~Z1K|id>Y{QH>W0#O5zgv&1=S6k8GkY-HYE(GkR7Qd8a{RDmY%zFrE70wkVu3 zAHE${h-)IGm+&?W~sy3HTK;T^|>WZcS1~O1oamRAeZcS zZ$+=(=#N7d&6?J@`&Oyunfi5Od{uIKpChUHl>=XHF1E?wr&5o+d+uM^b@Z)!G9aCz z;9UHHZlf<@RXbz;*SM?=7rAD%u`g&{@Y${BPu;KK)Xfn@Gz|R$Zph@)d(SD}-6yg_ zkhX_ag~QC>*W~HTjn4Ar_^x4xrt-z(Z-1U`4IQT@Qj~YQ?;=1}s3OUC`;z8S_=;-h zjbHnX-?a#eeUt+|5n@&z)dh0W9L$?q6Y3%qc_1!ImBl98FtN9o!NN=)HH4q38YV+uWdPt9v7OQ+%ye6$Jf1Z7np-(!C$k zPUVM$Bk*URi@+UK(*MC8-`GEhuU0hXRi4ZV%dXQ&?2?98gy)*?2b7+{O}W$Cy9B%78IxgSuW-iSFLH zEOD6WHFq}H0g_-H8MZTkZ9oNSE%lY0H>2ouMFM}LPMpD+4doWUgm+&~+B4VPYHv5@ z_H>)P^jfNe>RAH(=l8T;{41=5Sy3MC`~K0bKR@@wek=^)%}*rQ#{fq(tnJjFS|9zB z6rHFP#pq8se|>2|uf<}TBW_AHW^*&*=J^jE(!6_3aWWF8Gk%%O%r~sB4NyiWawsj& zy^_fGetD?(e)Pe&HUX4{V_v3c4nKt-V z*j8V{N{_oUG*9S#cTw+0e<3ag@fMJz$ZGR@9qAsvhiQm-FSY|N1Kz9RH84RoKG^tb zKjT7IAav)$z(^TafJ~SRs!&i`_yu?5GL_oyH8`vH(&$c8>4#>@xK>6zE~wOCvSDFx zpCzsE_Wz^lEc}}M-nf5n3^qEI?hYw~hS41&ASluZ3J3}cQX3^8jiewQekG(Nq$Z$r z2+}pWVRVh{+3$H?&%bb=bDwjr>+`-opH~xVQ*TJ$z)<(5ZeH(+rFX+2@OfaGW>c3B z$pH`r0qvgK6*Tl$iYn@vmsXA4$r1+@MZ@~nW(&}B6-59Ba=&*V^Y7?@;(`{9Y6%O7 z$YDwnPrdtc$R;sO_FWw<1ej2Up|lgOPsn&VZFPZt|4?Ne)CM(E1L1*93Qp9W48P^k z8!acp6AsqnM+Ojyha93h9XKj=YZ6-}39)C{jEjuM0F(5J*IgHh$oG_b`=KE5&-if4 z-h5xroKdCv?k|JBTWe#=LGMzih~9u`z^DtmRLM5{E2#tP)$V)PwPjDs1x9nc^@ZTZ zUoMlLK$gA5VouY9vfGuSs@=U4<`MxzB5%i`b2)7PYgfjKM{X?A?%2o$jS=gtar|fg zU5>F+hrqC3xn6ctenViuc0Sa=ZikRsJ8mWcl}kEA49?s5dXHugkq<>);Lh@BZ3wr5 z4vIbs)eD0QQ){T@rNcT3rhUEKUaq#djVAbVL%ckXuj3*1lZ3{5$w@fvcl)Ct)*MHngaxeJfY zZyDrWtbMFD9Vr+3uZ4*Wr?@}bFLQlz^g7+9W%_lOROG&jK4>X(39Dg+zF46KT^Ovp zCCxql^Ib;i6V7CPgA{qeem5L;6#-a3NvOfUoGu2%T9xS=@-S!DE8!6kP8yhKog$tVzI47x8a3?$oWqFt7b4hN$9$ z_>X5U;%*P(ei&*aG=NQztnSPdf4qmg(ZHOOK4UGsiGH4By3WeYz6lX z4^2jjXN4jcZwA64&B;~rc&h3MFNUDcio^N09;icq@g{mxQ(%?26LDhK4*ZwnN16^% zq?6PR;tS`K>w`<#%E5EqMAOUI!5q2UJ^Sf&=;@l9{K$t#HrcK#XQ89Hlh=s!9bEIt zv&BhPAJA1B7-21CL?V!|I`HJgD6L&r{&;`!@+|&f{eN;u*XuxKJlo9S-RclK;fa(?r&P@D#csiAK%AEq{Mw_NlTcc4QW3J~21X-@Ix*S&2ap|=b$VJzq|T-V6gc(x6gL=M)7n(OIE%mXtMd zK9!(Dl2JB+Ha|SToFA_JfS`jvsp9o%kc_h@=3Kxxl4$c=jA9oTg3Z(|&Tshuw`B9< zX-aXtNb_P>k{;O3j7BUvGG|qrQ(tyH_<#mGTF1nLanjSV#<{)?> z1brHZI<{T<;t8=^7qc;r6@;NEKoiRrIN1|cw3IcDAjgxBsLpa~01!aeA?T%t*}#QH zf38Px9K}68U?seoIrGq=^YNO`bjxTF4{*l*hD|+zAfo9+vOt55{7S?D!t_<}k&p*4 zS(L6(@oy`UIx#_iM9ASi`Zj+kdl``lOVs5#wa3*yhdJ08yESx2l-saG4Pbe$ z01z;v!5d!;fF_K)~q0A@3Ue3Cyl{-FzWC}^+w#nrB%X#UT|5Q{T zjty`F3j0a0Y$Fn!><|~2E#be;xBkchPv(Ye^{bsR;hWQ~4BVBU9%9A%it)s6ijr=t zHpcEDDSaxjq2A(I)=5G|D%NU?Qv^t4#e`dQiCw#mR_bn%+8Lu5K~YXzoE=T{UN>sK zzpa|y1C_Ft?R}3tA!sE!B?p_`l42l7{wquc*#i!yt((Tk;&5kc>=??M2~#yY8E z&`Va33MriEH$2X~zEKx#!vkb~hS23LI%mDlmTL(GxHyrcwId`|hlQngXCaSrbJSE_ ztqbL>ixymUl%Qt9$d7;ob=O7Ri?J+@wD$MFCh-Wi^bXvhmAIvdGVcR%LvlrJD)WyU zuRRyH#b-D%BE{01YBK;yfdodjWsH#=WhL#y&Ov0vc?-6Ls)IX-inRqakK&n7-%ZrL z#hPy_3ZE&G9>lRAt5_{yi7L7TfgU!_P#QNkZL4Mc%P@J=C7ro10p8032`ZK=}cb zYLjYnj5TL5S-Hi+I27_v1@ZQPv7$nQt;I z0+rwa?z!5|mKRe!8~Sd$VI(THPYOAaN;s+rEzg1oQ`OTMcWB{!ZJ1VW=LK0$=k;|{ z67t;FeGy0am(WV|NFA_KdURp4l88N>D1V{G_w`$#O}>M&nP7gx^;r71o+OW&4i)P{ z3k2E>fnb$`P5sYPF0*T!_18jQZJ6|$SXCW!0IQ%DNe?7r)b&9zJrIL`l!z?l?KV~g z8*oKcny%Ai^q=@VzmIw}S;J#D=>`#o?{eN&87Dfpr`?9cRg#51`##Ab@9i}5rUnBp zm-zSVX_|@~{?2p)5B%b(1!1*_92&Wyz*^t{@suAJ{f7bfzyPN4hU@1sx5z`Sl(TV3 z8HSfV3k(V`jKClJ=jRVZ#$x#Z4ghE)Qqci8dHFCt1`_X}Au6P(r0`$8$)AAOMI{2E z0^Fp}p8SYA0;0YMxjXsOsM5Y}Ja{zuC9G!qx?-A&TGxF=49T)$rt!cNSRKAqCYpC( zgCsTnlJxY2Fsh^B@3Wf$7rEm7sEPs5**VG8xk3oOlVh~sclTQK4N4f~#I!njp`U$3J>?`Gc_s95WObWLA~><7S$2h!nYVDr2xbo6&Oc zfk)*!oR-va8;A^-qCq~mZzwpjF;B&lr^DrTB#qfgv#rB*wmvxmZJWDYy%TT$LIy(l zYx8iW;J?y){c|(}>D)5W3sG)Y`Km~B3$ma|lS=%mxAq=QOnzKD*Cq8O$Nw3}b#*)^qIMZgxCE>bW z|7rcE$LNrb(7v`Knd`Cx5c67Ge_`U`JYzB*v3qY zIuSmCZwEeX;yS{#&V(#d#hDVtzKW90N%U$gWsg}0;)LXEQc5TdLY$z2`=kD z>@<#YA0eQ&)?rmwh~3X8j~0tKk0(kve_F8P{hclYG~wFC?Q^pI9mEU(7$obvmEq3| z^0Q9Xt);QF8DbDYw@p=NwR}J9k1pODed!x^{UhUWN98~Z5E%Y-f6xDhGHuRvVxarp z4ZS%InBW0wb}PCS%+NpSL7Wx{Lm-9UhzCWv3L-Z87yLsJ;|lesyJX7S5O05B4Ce-| zu(sd^89=B?+L4C@<10p;RA|9H%&-MdRJSEOsCpb`2y!-PX63Z|{kw`7RS2m+nt}o+%D9fSJB8g>S;=n7JTub;BvVB z#n`i&>Mhv=X|KP32A{u5^NcTcI}CUJ%l@542ys%YN{w=(0YECzC^uRFiSPWRwU`ZH z8d)wJu{irrZNYET0UVPq2_c`ZZP+E$TZ2(XQ^tF??w8CEG8!|g{xvf zk&H6|5|H`>e35#Xke&9QJHqm2@zmq$-B{7V1LaVLx~)1uFVQ~ z5{c$>0{y}sS8Bk$$>Z94!p}uEyE5M9FQTJgYc~#wD%Bqt^mN}WCsl4S9&`081b7jSh#DUJAU2z;= zi?=R35V_-|j7(*Ah_7|r4-RAy3#LK-ZTMmSPdCf=%$uiFF+SPu195%f+G1%lNj_41 zIKZs5i~|0_f(v4hSZgc%sWp3RyN2E0V>bctLE@BjkqJCRMgRwgDsZ;7w1uKUh9TJ6 z5g-)fCc+V&&~2JbZo|Lwg~ErJr%DItNI#rv(SgtNWaQ8(oM}F{V5G~sb6tJxsPb4p z>X^bazWX}!Uu0E0fQXDEv@HF<9QoIxm0QtK`UJLI5oF24yc2swOMVW>Ox^ z$bAM;Q=#0yWW5u2Jf3;CY}1oy^;Lirg3u|mTc5I??CL0Qhm)@#}RAMw7JHlTrg^J@wYa6B2J6^C;Gnjbn~ zU^qJRz7BF^ldy@`r#%Ko;@;aU#@_v8Lj0KoTxG}w5+dCld$w)bjWLXRIvd$lB%6dB z#Z4GHy8GXK`%)JmA$)WU;8l2PyRHuQdO7Q}y9&Bk=WV)a4-o`3xcmUW_l;w{9R^3A zElc#x$gE#eK6iUN5;9Cr64TH>V+nm>+rKBHw&wd96FhxG2pCH}nP!{5IUz6~#*vEM z_b+H4oYbK+E-Wuapm7tMWVgil*DHy*{9m!(l%L*TKGV^P*x^Lu*Xng`=j`3b7%@*C z5r4;g$S#EheEbbAu1erWu5|YpdI&Hj#@>fx9ufLe(hGGR6bxg`9_pM z>v0Ki5&6Zgsx;z?Zxehm*0}&Zn3+S~Iu9gjul7cSb;s4`&(hSshTUe|YyM_kNh8CV zB5{w;@hcO5h7a*`GI{Lg1rOqEZA9$MokeVlA>Y^ug=Dm zbOGdIcb_Rm4&Xc{YE9P)I-Z{@A$AXIKSDp-uEWhjKv+7e!jtQBo`Qe zm@?GOtC?n0S~z$sUIa}ojof)eS`Gx(S!mrSU&pw{A-vdpT1k8K*YOEKS^pO#j{D3M+_-4Z9J7mj{oiO-z1{eDL7lXBVB+z0kvns+45sXDXlZ zI%G_|9E@P}t91wao;{YDn%vj+nqWy{9P`{>D|rUB!{5MaeP}v6vp*4y?Qb=*n0B#m zLW~-$_SfwFB${MGQf%Ld;IKE03T02vs#SHq&bG;q=6- zQF92&@i;R!HTdvRBs-ka7qRd;-n--l@p=1GD}s|GMj~Nrx1_&W^S|7|Qc_ee9YI$J z*ajqNN8SJ#be2b=@0 zI527Od!mOXuiy}++?6L+#h$5qiv%yl;%iRAOBD!gf6+%G=Vl!vbXqI$SO?d+@}3%* zjLRT`(;=Jgk{sV!V^qgP-6<*eF*&YEUhSg_au}dTrMlXerS9~{LCO_P+B?QR<1dEs z0SYPytEgc?kb{R)w9Ok21PusK=)0zKb{xO`uHVS(E9=1%F|X^ErKZ4L4rEB>`++k? zFBKIC8ugu6*_uOLUxf(8Ma3pP>eznx+7C2{pyNj-2~+CFc!Vd6k|X_Det@`Gx-O$h zt;)%&wgDQj;s=HMg3u?{octD$3!7WOf`#SFP>cJ9ul$4lKMR23Q%wS=z?Sd3|9)w~ z*c0x?8AsPwQ|`X&tP&*kV%j~E94O;N&F9NKB#~QT)*_h$3&fGt5c^ZNDi2qW7-NBv zhev`K8MF&CSIxLNZUchq2OM`7l?bT8BIrbg1heRd`x~?mN(xX7|49FPa-Ke~>&F&n z*dCp_q>zN6zhZp?5x1HXdU*5~?5QdI->K*hUI(S};zaHr)^#s;Y|E7cNIB1E{JoS? zKQ;2Td!4J)q|Ap7b(qI-yGP%?CO6LS%j9@~8Dx@BL`52A1<&2visW$Y@6NeNkb32H zJw`+zwhVtstTHR0-83RQbbw{bt+j$y7(fTrh2%XHVp(HXj`2xTBGYN8E~b*$e4D7@JW-db z$L;7JpjTd~B?LH!u>7cgO`}h$NfPMzpj~(Kip_BXfZHIOZd6GW#ZV<`6qHdyX6!KT zfzfEd%thw8dh@AG>aiiG{ga*Ppac^wVb8LfrCJliuS@Tyt!a?n+H`pp`tuYZI2{Wz zR}bk)RRW9Z-X=z$;x%D9w{Eq`fi7qv=#|Km`ED>`Kod~IEVdY5m_rb`wnMDFCR@t9 z3djgZ<1Lm?JW9r3cuFUgMgFhut@4^SpMUQrbaZWr5P~2knOB3&Z#@fJ9?i(gNawx0 zO>5#;Ecv(|A$~I0`_1bb(HxQ0UR%8eLTJo*4pXRU_d8{w1O4mBvRtM;~rCETojnj%KUGM2E;=5H2*w91ELTz{0fZ zGj-q{_~v#Y3`O#6ss4P63f$W5DX^Zit$|=_?|y;%oF6l8SEje^ z3k6(v+=vzqs#8^(F=|*JMOv-Dwh8~(4Y;w~AC>xSB)@Ly{#Tkwew$@nlLo9-P9{sR z$LF`|8Lf{}=T@^2&U+PFT$`6p5!_t__eiAHO6Ix`Hn5Ir0%@^)TaPRx`buBb$3#|n zD|bD-8pH9ohNVpcXzzYE@wJ;!^KRnGps0{LFZscIOSwW&F<~?_7;_{ZM2*2;a0lUO zqfkVgH1(?R5*d8ALlR()S(79~znp4nKmz?YduEE1<#!7?Rv5 z@PfHOUfy7=v5UvXaZaJOytm?vrC;ozi_B)~Vnw5|zW6Wx{y}dlHli9Clp#^Wie2X8 zw5Xl#^tEUDt#iLJ9G8gEcv2L#l{p>253UgbwqNGU!<~(;XmUue73($Qe&7rXQmP)4 z&|u?Wk`%yu`$S}%9$B@j1Tv;N_4Vrz+lY%((w>@uChM_`8AyJX!rLm`UCeA?4#2kq zcAZe31-VgS9#aG3RgTJhz&`24*7%JWNN8hDqjccZSV3BU=Yw@fufzk3?tjANzjA{m z4j5^ofE;t3NOMn<-_!(g4H0_+W*a?(R72DJib!+=2C!zodj%B$yj)P|;CdaFx(YYm zb~V1#voj(Q0`qQsKofr?hIqWKZorAc|9(bbxjp3^)Cp)nDz{+#o6}EWJZU*5w9 zFID6qru$N~qyYnR1iumkZeutXKysDVltcV(QCi%oi(1`f-pH z8`=qY6;wy_+!^pEnPQ8J7?0yTZQ8N`Hvs)Fa47>E z@kwb#=2h5hMJGuLor z!ac$H=gokRWPgy%o}rZhP+-P$$qhj{p%$Wmc$xpQg7PAPIU-3_0Lx`2`pNZT5QlI< zA1(a9!ziD<`{&A2UQ!y5py_{+%r`vXEal>64s`ok6dSTR_|xax%>Ce-yMKJpjxrt_ z6eDP7o6|w;WyIZZcU;Da%+u}1kw9PM#4CjHI19nWN$~sd@D^w=%p{oj_kA-mJNrLT z+sIPKt4-nfiI=IL_o8209&p0-KMtB&AKRwgE)RM~R}?6z#Yg(BGf#x5>Mai_s`s7n zIX$K+l7y{ZB9bgr(?#^BMB?lJVvk!08ja?%ZGeR|!BXDn2F--ARQmk;U}cOuNCT}h zEhLTR0MgVy5I`p#zzoY-xCYQjh)l-+PP|+E_thP?4Es;zSIx4dUfZmv_#4=*z2Gh^ zDV7V+IZFe=IVK6*50{YL}&IRSP#7KGQB~ zcfN7NGEd{4I$d9XATTQUm^z7T$&oOVIlR=TQh}9~Kl*?Bd_ziH8B(&@A>vG4qT_&z z@7D3t>G%JvL*iMmsqnAfysARqFRHH>mK_}RnqOM|RN5l?pTJ@%JF;W78^OZ<;WsU~ zszljdgNk5nG&`X+Kx;67T9gIBU(eK7wLi}l<(d%L!>{p56Hnj{|2|DbFxuq(&c|g2 zw$rSo&gbPS@Kxo9jK~!;Cf5BpbgZ)oQk*G~Ls7`@&2im#PX*;97Dvq3{bBhE{Cg%x zsq?aY6RGwVNGtCeo|4T^s*gtfRxefl+hM zYau}QIHqrIx7T2mW;qL8F2g8X7fQN^=&>pO+RlAdDYC9Ep*Hh#KV&?TfvJiw zkp`=GN)o)_6W}U(`JUfGazF@#kPzn?noO+;&hD7W77QL@mAs{4rPa3P_Tp0M)$j;y zBQ28raR&?69oP4lH4GrxL`YSugaTG|iTc?ZfD8J$Qx^h5UzUEC(bBFHU z0M<}~^SYcG>4=eqkFle%u>C-?(n)!h)?@EXheEzjOSBY^wT;dmWx0)?yE%PmPXhRG z_Ee@L+*SuP51w3$2s?Kx$Ln2${T_Dfev3`e?B*O7F|hbCl#;R0M_&g2<=BO7Z+%1< z@4(3&=#VJR=8m?dT~d3R=`@c87+I@zIw}s3XOM$5(8GM8^!-1jL~RmIci}1?t;|4s z08xfMfRW&XJ9PxfS8~!2rMEG5p1#={`j5IV4${I(=FJP-?LPe3|2iV8R*n@D1A&iI zuiQ2VTt#QW*ycKZ(#=f*=kFRn?t1P@e6R4n&+i{g=w#0e{cvufYiAR(G|u$6qYvCR za^mVws@?P;?xr(&!lpm?!8n)iKW?^8f2~7z7}2SqzD*M0uZ&7hm&L@8?IIdnPa?wG za~qUYIcJBJr5_Wn2GiTv>Gj`b=vLB+HSoV~RE6v)>56YXB+|QJ%EKuzzU^3>Ay3nj zv_)X<9wTjHW3tL0HgriKw6R$K6aoVn0AUg*HFyd*$1>vW{^u?n3_#rb`BDQSj-#j) zRGPG*x9P)C$W3^fwrzON(A&|>>Ijr-hrWBkJQ(Mi}(PPd!d5`@lZvsd0n)JI#%upUJmAzB8U?7~~B8ds?<12b5ds zrsonC;UE-%xcTlU7M4r6U5y$;0B4laa{)Jh}9j7vm zo{MJ{Ho;Uc!88?kVPkmkcXBrYB_KhNO!yZOQtA_7fY69U8YGGFrAD1gJjjQl>eIkE zFunie=#aM0#C0KB5IA&6`lL%#%l4kkp`7rvx-tvD6pDySdWHt(R6hV}?w15-xi-v681!HrS#PITc z#<`mulc)Sx!$qmLZ{fXX!@9whu#f8X^%|#iTV9k%(1ike5`uF6kmS3fM6!D8D`H`Y z$ZKn+>G_w-LX~qumB0(?x!SM$NCukn(WV39_cHgKWai{q^M6J#@gnhdg@Yc5(mSv4 z(*4+}@!6MNnX2^SMkK4LNi1T!Xb{SV;!UU44X|u~{#^F`!88vuD+?b;gN)hl1tApk ztgzf_z}C;oPKYv`F|V^Ahn^^vOUD%Tg+fgs(Mk>a%O)D(T&JPxeS?3qVGn#IDabTo z*8-SU&pMvp@;?nZ)=+urTsLhHvzXEI+wopfqTE|%QHb3Heg#GDMGU&2+C!=w#Up1= zZYdDG@+MGj+r(!Pz*l=yKH&E4HUK{)^5BmI{?=*Qe{j9gV_>ax?TZqtQ4cE>{F*&A$1TJW0Ck!nR0Z2nL8zIkuL??OjV}_U_syLZOVI$FWqI z=;$_*>FXkJLNt{+V$)sCD4h3cF}a0|_G_o)bZb_0h`@0g8e4rz12+W!Im8#!pc?pq zpsVF^fuKwo*PecfN=V%sC87QA7b?TNEpiiT)z>9*TTUp{HM zUMzCPi*0oF$n{^xx7gGXAPxvTpL_d)cbfXnr-bCf582Qho!#-y>w``xOAnH_Et|gRRN;E(NZY8Sd0icXR%zlZb z$TnT9uJ~|2;;&jSVo>=0p45FUfJKn#UD;|@5FNYtB8wE1i#{ZTT!rKI9e`iOqqpGu z?SjC^!>t_^pK-+CHUZ-x1KGkhnK6!YIE%;^qji&RH-L^o^)#&9Q8j5doNMX@>`#5%Mk z((k&i%LPQ;^dFs@piUv^tVr=7Rj}P`zu^`377Q5@EC7(v%b{ZcbhXyoDz8ufc9_@G z=d&-El4pUlU6`&EXPlpbrh0wshoAWjysz26%6I7itk@pj@C)1rs~cT;+(de4vkNzm zV6=_Y@?Ob*Q0hmsDFFjvAkn82n%|Ivk#ZM4n_aoCZP(1+Sv-yv|Qxm#7vz~`QyiTLv zw|nKv38N^GQQ)#Z{0Evn^x?yQrH?(lk@0^Qze;N!DP%ril{ddF}xdoH6ifW zV+q>wA2LBypef&B7P2rhBtJE3lE7GF&C`_;({6#qe=C&z)(RQ(fOb^wQL6)>1$ra3 z^7}gvm?q0GdiU2y?MbD^W6*ll{==cj_#^|LIyn(mjG_ejTWMff=zx$BHPpY~)eP-Q z$mcjGd2RNe?X>*2>k!zkT8WA@{*b9CUtm0ac)6#u!DNC}w?UBTO3*Lf&?BR~^`nEb zG0ly1@{NhApp!62}=9(y39=JkC;DXPdm1#MrggW?JN$V;we@aGXm(P-*g> zjQwJp-amOkvc=7DaaushyATc_w5@(ZYvDl%V7BL9m@-fx_U!LE-W^jw4b;Vw%w3xcK)tg`kpSu33We$(!uLdtG_CUvVk z`+5&;Qq7`omPO&<5-2JYr-N0WP#HS^p%TF`aXvP89s5=mNM0xxxmWR%0m`(VE9=h6 zE1aKMV{8P*n6W*f0j%(|K8i2mP2h*VT?P&ZfHYfr!bHvXpQ8Zm-`v-P_hKxNB6EaW zt8rah5Cjn#ED$zb@ctFA5Z@NnIh&T4DIXC#&SBSW;}xCa3kr+ko}gYry|6kv{jXeX&l8xysm;Or5a2-m*s>y znxyi*e5?%`OTdW74+Be}a7dmpzDNduoZa0$OW-PHDoMbT$;FcY5NRGqW`y<#H0}K+2mkIlh1t z23Ps)h=n42e)z}wfiZXGV2G@1cY*hr3QU#uk4c;+QD2flj*P0t9DEP$p4umY54QG| zh%r;t{N?Hiiw^s@mn0VsDjkd=U4$u)O2tifbjvTA=0D6*T*&YTf3jx}cxW*=5_6Xh z0CMn+Ebol4xlO2$wlZ?*U8s51%jZ?bame`&apsE(4f+lRkx8>x-CmELwM761RoW1^ z2H<}qzM`)Li@903-^VJf7kuHal2A>}T?U6Q40N17oW^m1q6>%f4-?1$MO?AlsSMvW zrSy#wAti7BzDC|p{Oz{_D}x>~vfdxvmGbEArf<>G!@R3rqX$KEfFPp>BAX!i9A__q zsTU%}gxe5h0+`LL$-i%jtUp_>us{))0*|H3iivlrPtMm>aL4Vq-w6xHZ8q=6KgRz1 zrJa(I#eZ(KV+!DvP`NoktO-$z22fx zdUM)Z1WiNJcx<{QqWY}Rm+Mbb>AtbRhcAk%2Hq0*M`MhO8YHgV`$f=$taP%`Clo9g zK0WdEPjB&1-H)7Yls`4#?vmPP1c%FSd$s1pjgbYFnh3I#Ki+WU$^9Z28%RhZ&skw3 zJJEd52Q#{JWESwqWD-x3x8VDrpo6G5D0(gEy9f4n6wnDS+3X$x-Vj?e^c^dy`3c%I zxaq=A(w_Y(&dgGxL0W!R#M|VDcF%=bvH8Kl1%GKaAUE_#&i6b0T;tbJDcu-0AH%dyc)sm~fry>AyCH@cy?<4F}vKejbhN_&@db@BSvn521m< zvqpp31vg_LyK?U=DFuV|0`+A+zOwQC23p4;iCu~^TERN{XiJdTR|Pu+Jzn8{-GN%M(UM-bc1OahY)N>WJQakiaF-xyQf{K z7#$Vkb&ZO?iXG7uMNO(p-Ub+IH@CK35+%$Q)AAZ)9ray~V( zX6&8#py?upj%(=cq4-pw$Shv3*=cKQC6!FDz!LBFO~MC}W&@b>c-jQ`K>yq?r17t2 z2O-kq1z9hdoN4?#p$MPXCOxQGT3%z+MpHu1+|dn1M5iX^T%zXrG&T9(RAbxP@ZhQq ztSSt3%4Zix-uEg3{ZeKIeSi2iKK;~R0KMo*z=v=%SIpqV#eikg3_Y+JoA}q$OKhLM z@W<#)rS!C%Q%;j|O+o1rR^whY& zy(|kkVZ4Jff@6&o9-6m9EOgI{C&TatGx?Bbq6NY~yXe+VOd~F)@rz4eXhl|tIra;g zy|e$MTCBKS*+>WqdQ7NymYDp398qFxdL$j#BGOK?N{$< z#|K@#{xoXb>S0es9m)w(A(J|P=Qph=m|c(C{}`&`Z_cmv{4I5Q3!v#R6(CMU7Xjt7 z+s~2x^3zAd7NA2;z(5lM#SIQVJY3Yk8_0t#gH|AdTF<*6b1qtx6gA#Ib?a;J??>O| zzHqKK$q=xGs-Hm?*~pAR78ZLtf~8QWkE^$L7{GvmlA2Y=uv zWwspaPFUdsP34Mln}iow)`M9l>7stD(D_%R;y{$}pM8{)o;NDOMb zD`#~Y$A}4dg;aQamn*YizHHvgCcY|;LuKorDudsjUWr*a=zOGD!q#W2Kb`6NhM1gGAvVyM7f`n(R_4)bpn;0+tWWb-83#0yvBldF{Yi_g&Y=N=U#D9;iXluWI#uDToLtRQt*lF*s30VfPip$m;!C!Y6;+J}DE6%R7Eb z(4s_@oh+;VB&+pccIPdHo1oo>`V0oJoehu-@B%|eP!`abjOL-{bq$HhnE_6=z@5Sl zPuBq_IO6;zTp(PDr_?5!OwosuA6NiTeex_V|Q{HsCrm#w7@M6ouWJr z1p-6r|FwMWy!&-{PcD(!!A|Fx>KfwTt(1HVhq-;+v#gL>Ml*MPc)n%4MU6%!JY3NAy>4bisR1eEX;8qP zVCDREl(s{kuW|oPKgpBJS8fEZ!Ld!FZe7`p*r9xSkoqbc@fuvkanbG9wCs~p`=xZ- zgBM~r`>;`qw+Eg+vc#Cz&JRKn^dN{G*@Bo;-HO*d3lbZ}ZcjQ`i0uqv5@9zhF2YSpw225tm-1N|M zi)U!v5PP=gi$q@1ww+&HviQkFyZ?VSMw^o4~T+OZGND zRp*EX+QL>69MjT}N@@KbDb}O3`o;A>UlT9`XzCpgKtK^i5`CYu7Z6fZB>o%=9l#GB zinqV_Eu6>DCKNvA&e$tsKJJ>XP*w>n<^KDbhY%8<1KEr=FoKEO>Kp=FpHd(e34nZq zBD;?w(HE{4e0e8qLg=j=5FkuX;aHHLT6)PnkV>@9t2UZ91IfRR>Y$*tceqN2~6j)9;8mL~-a|z!L7F zsZot*KfBiD7t)%jN*NA5M!1PZ4+yBZ^UkhAA7Ww8a}ueTO@Oq)d^8I$Cyt3?`GiDmUcbo=ppM9AN56Wf&$Hz)C$+r#;cR-eRGQDE$NL0YUX-83$=%)Eu%qTH{0jl6M|R{(gpH zb+^@_L3ua{xe;!mC{w#>wI2C1sBE!x*7g||xDcD>Llf;*)E0hWHF?Y7Qg+<#;~CrP zHo2(#?lSTkb!1O5cNa~}W3mBi6zz+juyTT<*l^}xC1({kCBRm2;02ongZr>fr$;RfZc*8N8@iYGDz#RI{96dx7VCwW2bDwvHMzhhuvE~5;F zMA@Qjqu`UCuq$vdrz-I71rZ&MmOmhEv!yo~_vzEL_WVTUGd;FVO8mtU_eFb|Q#(bl zIo)4^r3Me6hdW-^`D}Z$0+rq{Zsh%2QRpC#DmG3>aDix;9K4zJ3&N7Q=+-fQmQu)W zE@FL^Ps2=sKbm}d|0~H)qRC-3C#n6K2vUztaoBI7=yR!hF1v2C;k@w~db`b}Ei{=) zKPU9RGpngE!qiqz|J(B=sh*C{oE#rAOKs$@DLy%Y_#@1!zH5_MTdC{=1&~ z;mOOdGN1}<>h>TxYXh)t_mW#M&INn>dcoxkflGK3v7kAz5IDqsl64DViw8V(S@#qVT zoPO88a~t0uSEAno&OTqG)s;51fak+F=_!U089KWhWTkIed#sQ*J!X>i9**2KUI}<) zgPdl4>%*RA8_QTUbCetRSX_|vF?Z~C8Z27N`#P4@;x#@W3P)iB!6pHqqnf?QE=J?0 zlGRgSl(nV_rOQ7*64Ve5T!nKiv*#u2;}oihuFaB=Id3P-+$1{fTw(?y?Or!ZXmISN-cTZHZH0CK1{uL~-&w7s_<4 zZ*IywD+nFd6d?zdjy!ll%m=%OB+==JU(^BSyPu0AQ_lz z09Je4twsU|%6r6{lFqV%uj-^StK$88rHb^+22thu4`so4tHjV(`*Y8cOmi||K|!>-N);Ig|6{pV44tH zg-3|Ek04pB_iKpXL;E4(=dzD232(QuN#xIw>apxda`z#3Ux6yC^?<76XEcJ%-Sf^I z5T6#Qc-zmNWnLd4jq-Wv_3ur&-m68CDr_+cuUbX6{CEB*VEl&M$v$19rJ(Nd++}eS z-CmPEge%}K;s}w<%tl5^0izde9Pm`3xrSS#tbf*L{{^O zo-8UZ#Y;^vtyh>jik`aH$FfFD33#*NLWk-mxpHBk-oD&cj>ZDIeqr>2sX(#<1a9q04-yOc zKQx_(Kh^L5|F1J}>^&-bSGI(RV}vrBHpk2+6f(|Bb`(-b-kb(1GuiXV%#K3l$=;5= zo!|LEw%H; zlmsKk8>*d3Vw@H3l*C`#&-o;Cm3ON;ZP+jw3VblZD&wZ$krR7&k1;Im`@RtDoDVst z4S6qN%wBP=tdh2}4o~Y1`s=vwwoe5Xy=s+EfA;rEL23zC-HX5iVb$tm=8x?&uU2C` zLXD4TYiM;S&F(BcrF%`JxQW(j6b`X&?JGPRU+WK_+URCl=^$ez@`9|dGwBYSGjGPEDrY)vrZTh&c6r%=| z+Td0>`EK({#^nv-!Bsu%ZT~cjQ%K>|Xrb+xHgFf6t32mZq^Y?t(OoE-Kk4Xt@d)!j zi(u3HqIXW+OyIa&;w*^@lXwG|9C0dERWrH{!VefTF2KZJy_@70YU!mE#&q{eTkfQ3 z6{j^dqCZRfIw+35cJk?wgrc6~yoCv50Cecz(y5UYf@mSCdqkc|(qhA4VRz*&VQpgZ z>5BeFVm&i+3faibzt3S(`redrR;g~d!_q3t)i8CnLK{vDFs;aEpDWA@f*z0IYi>Acj%zkSxE))gIJmR9f8%->8Viet&|CbE;gCzItp18o@` zh64=uw8%-P%AswrUbX2F)bu(e%Taf za&Y?z!PMHvvV|{jD@LOXBuz44LvHC}w|*BkE!v$Y3xh8dxPQRD7X4&Ty(O$C6xiV0 zdW;!qSdJj4FZ|O5Dbo4Drp`MNz;I$xKFI9^nVk9&H!PE&kD8#Ny4UO8=_pFGj|(*KS2+w*t5Rxf$sJ}gA?xxOsA4gYTwi^gy@ zqK0DET%NF5Og-(pR{Z_9enPFH>u9eg#bl;VVceh4B!z>ataNrt9c0M5p(jmK(nC!8 zrq{!N(*ra1NX6FV&T2zH{G|GJ;Gj(7*f& zy7c2|5x*E!p!b{<@Vlsz*@VRp#PwIxhu862| zt$P#bo%7rreH3_*5SB6hZaUZcHrjf;T2!op7+-d0+0;Bd;54{z)eGQU4^F^Dmh zSehGp*`{PCx-qVC3WZ0)#JlF9J|>5&U*S6E8e?3gl2)|!9Hff@VZsp;Bxdu= zi*_h(AaCZ(-Kl>&2CV2?V7`HNFRVvm|!5X>9lPGx2%k*s(Fp>Q09cj{;f28>gkuz ze+gZw2Gqy4yk^;}_F@j2dVoAjYhVwt^KFB4^zeNi2Jzt8eG7`wii3Ux{_4n`)|OMK z{cxbXGOqIQp3d3$_DAO1mW#;+RuAC2PU3e-=lUDV*x36SGho8XaNi)9hl<8Et_cdV z_UobI;XoNmg%zVWOf#a7j7k7L45IAoU+%j*34=aM%i?+t^_KrB>^`qKwZJb#5-W*~ z#zpd?$v2YJmofa(k7@TClH74HcJMeki>v4z9oy1=DtZ$IOwY%j`i z2LVm1o$~|#+Ac;xrN>j3;7`3N9kUnK=i?RB__F?w&lSp`NgxLfVJ7!AHsRvo{ckpe z6<3wvx4v#qB4menC)T~fIag|N&uo?d2LIdL5i$*Z^smdF1~{eRR^YEqAPILhb*m4p zRQD?Xvi~XNQnz)emolu&>$qTm)lzbkbzj#}vbQ!QcE-9trS1qnc==vxCi)DD%d5R4O2Vq7N=Xd;VOIsqM zNLDOK#cwa2iazDYwJSKPD=;+C1ExQ?;o`i2n)0TC$xtJ2?VPlC(?yZG)Q4Tv=yY4}81Y0oz{R86al1*LBw#HBDSOjf^zNOiFadA1l=jSiS z9=>zwp3@H>!+$+jL;6eKp8;cE3B5^07#08>%X#B66MJ9tA3lcKNpFR@@RPsc*8e5q z`Cc*lv3w9&_;>2-%A@9xgpaxVx! zlOgq&=kU7>0qVu?51dVwXEvbvh=T}FCeR@ukhXaH*!37n|s3dah!KuV$99V`a(7l>tlee?-r5x+UW8K)mpzhnFT<~I`tGLR`_^gCn zoDt(HeCGEz3PltpDz+XiWG-VxsSM09s$K)R6SCXc@9x9NldsL4)n|3xnPgH!?eR+J z<9(~3v<{54mFPd6!s`yd_841QI9tMxu_uQjZy<$U9k?9KM-sA`0DdTZBl^iq-vl5p z`F=Uw!%WMStNV^sVI59F&O7zYJ47&i;6x!f{TGmBbvx6i3XyZ!<|vzOGtqD3l>*b_31TtoB=!)_FIm z8l|H*NtGhNZ>sSu)YFP>K;Ey9p8AHGDxy@Lj-H_d(x(dUxJ$4^K@9IW+N|VUo6HGGb;`Z^`0u{tm{jBb#8>7ISW(O0_!=ooDt zpQTbm5$Zod96k{i1^A6{2?%*%$-}W%lRlf0y^;lNO~yUCrrP&I zX$}@pCT5eO=Z?EK(_>GErPM;Rv_o&X+p20Zp!=90XsRCO6P}vA`vNMJ%sAI^+y!GI zzT5TmQ+-mhH&n?$xN&WGY=lE!H4RS5ViH9mF%0bBX}j!!EA`{A0t5+$L7zz8A9UUy zK{U{iN6f~}tvmOCQ`5>*9POn2rhoH0%d=S|&hDeBYwbq~>2p4oalE|ptc{4zmDP0{ zBX;YMZJUGN{KkJuv+I$(a_BdB{*WY!q=OokTd}zMXe1jW9({ETAM94x6L2>x(tVhD zqDa@g&Y5$}j2Q|{L`vh6K!M0r_eMY5tv4}`JWI!th>4nSw0tp%r%CKA1m5r?uAttR z`AE6y#IMnlt}^#%`&n_@?U}G=jm)5e`@!Xv>F#q!F{dXlhE>M$E1~hJA^rcGV?8x} zJy*Hg<7_tOq*pm-kIWskeL?WHOj{6ph8^_KhFc_DsM+L4NU#7n@ro!|ucz_qxELmQ zm0Oik*-GZ+ua#?+ce`tStJTi#jFQ* z7voaHt#$8$)uJ+6+Ak%_byXv?BD;x-`5^{v2+2RrSJzHChpjS}x@pJQIF_+-t;QRX zV!nNJxS(zP3=xF0f5Rz!hf%h-^n${brIG5_-{xq2!Xw;pru4`)a5l+8QD^}i(e|3H zmUrikkPjlmx4mqsvWKtN%7t@m?kaDbQVD<@Ro6}NQC9oE6XWjS40$%B^9nFQhHmEr zVaPLngzw|#Wh~1<3Y{vMg&9>OjCEy~Na3@bqZtwWaN&{Y-6@VtO{A2qs6L@_{@}1i zxtpOEw{e~XNJEz39VbqD4H^!4V5L?Th>E3c#bS8@DRc8-(Ujj7cjDCDV(Wj*P%Sdr zV>`%a?s5U{1$_YgU`94XNOmp~Gdupx~FHV2OijBSdOw=iWV~Jn}zwAB!-M5H2ZH|B;0XQ2uz`A+Vx%?Pax3 z?dz401FIE$`&enWHFm0a@N*s?HMxi6{TVh6_%QxxD1s5cI0Q=CWndHah4Iagb!aHt z16`-S2MB~byhPzk&kpP7elIS~x$`w#a+}JZA=4)^xwfTtAhzRD%4SB_w_9b_+dnS% z;1s;yW^a?fZq1LO%v%$k&b|`doyzbeEl_qM$&C>p&*aG^k7dT(x0RD7j+D>T3w9*~ zV$YE{SXl|mu-GfOvx?H*)hF*xAKazwV9C!kc=PQ|vI+Mjzs0GPmnK|>4(7ksIh6IN z^)j0n*7)SFbxFA3jRDNwO_>SNNb9dc53uw7wZ4BQ9vX8{i`SeAf;hRB(I4X=d+kxr zV@BLVvLcC4ZNom}Xi}~xzKrJn)uQ(lxg4^%&00=XC-RNuP`H-1gycGwlf6;1lj51) zysXI6H4Ss=b-`UW-ETVOs{^?M_ zqJBeenta%s8aJ2scbf5QHjGAt{ba=_MI6$3_rQR3~@MoFZKoFX2p<_{3|eJ zu3Kw#=@RF1OQnC8GX;rT%8gU{+P;6Z7`thn&mT@iv3s-v0*-HgLxmR!A7+B=Uj4Y| zA|wypgewJncWmS7(7JI+?hVbS&Yq?m760iCFCn)t$(#^PB**@SL{MTP{o=XfhbL1C z`*RdTCZrBi1m|P}7Z081%XuAsN+LtaM*-bA`4Z77$H+gnxSQ%^L^)ZrIQ5yz<6Dv&! z#`NGvpw@2zH>NZx&XfUCr_*6)NY3q(gV8N9DIALz+nxqn+OdU~GUxJJ$n4?vl zX~+`E=?g42xHNT<{jm7~tUw9TCkk|3NtV>OK8i39HmV!cyFNX%BPONlz>?&7e?8<$ z#QlKVj(uv0_^NKkc8;DC_e;aCAMOQ` z1-m=c>0WkVy(}k){`aB2lj}{O7-8S>8g%+UqUlgO+1+~#?AXP?)lmo5jt3NA#c|eL zN$8mGRV_EUOh^+|$0|`kXp!YUozqtw=RB*CElCV7rpyyKxXc#F8~7=DBi~)r53P@p z4ERW@Zz1`m2CseUWVn1EW;QKBy?u`XpN>@JI~nH7m(|D^OGGDqtPRr!(<`35KQ(0p zzm^x%z!vG)x_JG{&*ySL0Zg;wy}I|^76r^)DL%_4&%YVDQ3d4+*uPAVnmNwAF@3#$ z{sD!I{$OedMb*VTUw|VnY&9|gx%=p$a_W=vCbdz&xP&$b$wSMCu->`tIp<4vr>x8e zZCAD~J*7W5KGtQdlZiWvgQn6~!cKosLy~oSId4#0%cMt9 z@&R3u*+Lq3`=oN>Dc3?C zRXd+5$cO|N{C_Wi3?^gzIOsY|{L{qxgq19F_|&>uZCi}+Be$MyrLc9H#jg>RNB8LH zkkHnTJV~eM(ArFdiG^8lkDO&uvqj~D#`uTiX}5|9i1}TfS7v8UrXsozQcho8RTm(r zXL|@!n+!hRw7)&{_RFWYzqYB&%E~}**cz?kumy{W$ZWbIxv9naGA9;!{G4lKid4#bs{?y0px+BUU5TIf;>J^N}*3L(cAY&9)*SxRO* zJGy`E{4sENVf%MqV1X%W|{!CrwNNHju* zIl=LrN`I~$F?Sioe}(mp#Q-Vm+Pg#Erzekw>tzpAxQd0q@KazV)_mF7R}ufiujsSq zrQv0nd!@(^`badE&xW))D!qM2f%R0}i!|K+jZ5wEfu|Hw<|d8b&1_WTg1^#Y?Q97v z#7d3+b|$Nvr%C#9v9h*wHt}*%;o*(FO2^af<hUEj@ygvrS(3Nx;8I|7|r`zEge?k`Ts0B;s?64H#L!tnmNy&2Mq@ z6$c~&kM_kM$<_286({~1ara+hsh@>)5YmUc-SOEnY--oKwf0B{R)5_8j5pNgV%HTh zdD7Xm+^@Oe=q)~b59W17Ix*^0Yp163QNS{@yW;d;VfNta?v< zh^>8Lc!O+M*QYD1%1Yxzg-sJ=;s6&l%1;cyPgy82O8mm4rOg~UJUd3U+~K20+e84X zt-Ze{hnnBkcF`AxzyKt_u5vUls3KwSBKgH<&-u2Ov?p~JhytyUy@D5UB7(0Lce52k zK3+zl>2$xX7K9ZCo_j%!H(>}43Voio*}u#eHYJkqRt)T(%HNbL!z~Mm*1!FC{U9K; za@0~r*x#KR8rp)7?oB?Cx_6eRbm0R1+-&13)S_G~!&wxQ-gB;Vg`Kkaa;Ebp2E4!j z?aF&+89+k=t~Ey+Bsh|Aj<6BqdasDJ=odQ@tc6k><+Mtx!h8?Yp5Xamm~CE?`hWX$ zRN`zhhQKYqrX{29tzNIaLcB^dwngDM>;CH6fQWs%LPBCu{nt``#YMI%MTm^BAt}?D zET8%DL6w34A=BqRi+p?jWNj;e%x3P)vwA0Sz(5UQnfKU~@)Ao|rZhofV+9osy!9iV zKZv1sUCpZ7x@zmbX5$-^c(eVtk!m8S62%j1y6nnVVMI5e?lla<((iPA3R_pJG61=H z=&}IXb6MA4gmkt9(Aq#DuJ3MWp>3+9#t**e2nj}E77g!F@UuX-ZNMUBx@P{ubZI-_ zRU&?L?5Bt<5&-&~yTm{%?0VYJ`jh|+bw%z@XO8!^?fr|Pp4JjwR4VYsYbS4Y`B{Jv z+z1$z9MPZrV@~gZ`S`N@Zm~kPh}`&|^Wr9Dn6yZ|qjN{@0^<;_C79G(0FUENyS|D;fVIg%J2zb)k+%nAHe;LJ;1uf-g2T_$2dV z8)sCI-IH@6wn#$ILfDd5H8b?qe_Np*WP*}r+c^q|1+xjq7{QaQNij)`GT8{+deHl; z<6LO3kYq_u>yCBJ0{by`uAcU0`NGoLjcOav_*S16E#PsV0Uf)~xiWPVKgtBX18M0y z2GUTD%EzPQ^KcVW-rqy5G`S>RYG6f@Ksa&{)~6`;^NAo}-OTn4K?DYAFXe2nbx(FwGtQzl1p&q!!qMTST)0%O8X#}RW!|Z=)mPe(V zA?h3B($>=CJ%Iz=18I`j#MF-8`4Y}$K4J4H02)1$4u*3pVCMiX2n9w-KBo>XPu>ET z4Z49tUQtYP%9?+~eOf(d1gmW2#Z6oYDnW$N>^tdj;03pOW5t;}oDdgwdq-Ci(o!Mh z*nsim_wTN6%n>5Vjf2%G+}>3=Owbsqc_hb@XZK-(_uM`cJXRTO#DWrJQVt|e%LYqV zeG1!g7pmC|hlK-)%EKQf7wzk*q8Rp!_;WxjTm%Uby5_HB%wZo6NaM|Ho)lfhH=2X4xAjAT*; z1Qx62e*Iv7O|KIR5sH&vkb#2c-_K_AXTJv6Y|pBrVCiPQ52@csPd_=38khNw#JS$p zA`a{5XARY&ZMPcLiZv?LTp3O%e$AZ?v%f7|Eum{44_~g=r0vz`Y|HHOU*ES#ann>V z1`>zff=k|^4A8{#ukTILSJM0g;sBj(%8dAv*b_l>LGX`DNxW?&hvzut=L?S2DFjR$ zzah*o8k*>Ffz;}!r$VPaJ~i@#9$!zguIcOKVW!4&CFREAxnVwA3oCj81u3aJ zgp7`Bz?{y-ngP$ITNMrdOa;+=Zg0nl1|2p0F`tdlI3~vJx~wU`$X2}N#%tx>CqRba z%kQE)scZi!@WWoyP!cU0VXwl^1lMhv8bv1;CW2vM?LAOdfcOHV-D%n;g{m5#9}*2Q z5;=*AKdna>Z(nTn^UCb|ZWlTo*jS}^9^WEdtBerXIJ~i<9@ZH5ZX7oJMDZz4CbA`c z-4TT$?Dc&>|JQytd=;_vA2BrR^LAhR$^{#RQ`8nCB*lyrY049w#Q%X zE%d|eRXt?@I&WwmIMk3)rIC~EecK&Pe9yt}n8hvFJJp*Jwq&xf|Jb{t;FqE2i7Q)j zEHYKx(eavR9Z=AlTSF@K8M%d@-nRT# zwTy1sH1cA{L$4&qTG7A${@w+3d&Mxk!9^+#wA14UDsneK+kO5`wO(v}3F$8a^Pjxa zJu8SrZESUFox8F2PsNBY|By+~=7N2w?c}fJ=h7`otg~|`kiLns&4u>iX$2&DICtmk z_b{lH)H6?WUTpCZj5yr(JY0AJn#-PIpgxFThIS>EJW-GobQIkxrezSB_CPD|P8j!a ziknxyQ+5Busjd5JvAJrRbSJIH7;FfdDm=E&sVa$Y*uDWL3^lmJv{_1Sp``VCfw~B~fLOcZl&KaFdOch^W2K+G5(M)8*Kp3yq-NDsz$-iGA7%s z4q7gYNAAVHs*j!4cgZVvvtBBqg90v7CrTxIpf9!Y3YmV#gF0l1%P?vt@GuGyx+K3l zo*`~!VR`A!>y2c=63I4}9kSHQQJ3c4cQ~*et^J8hvIZ8T(>=GJ4;!WDwH-c5=V(Qn zGL8>ikO}6AuC>(-qUSAitUlBlu6y{mS)B>?Ib+yHmBh&ybl@<>LzZF05{Q(z^WYlr zQLMLMd8t)=z3NXKZ0>N(gr>cv}?={TNzK-8K3q`S2p*UL4=}sn=ez4+NY zwD0V2V;5sYfdi)Qw^BzDRx7T+EQsP@+wH|INPrRZ7L1gyXYFG|r6aKQ6%tNF(}iy| zu93VK5IqZKl!sFEY5UbS4B=Ds{LEm3hv2sl4BqRlo-?VV>&o9gCj05`!hP0YkARul z?;48fKEn4O&4wUM3_2o{z?8M;ahx-WOba~8ZOKh+5ON-UHZR#A3@P3)u+J!Y$cyRm$B6^^L?ZJ zqSmh@eTp}`Kg_a%l#xvPMfcu!?7BGeTliMp(zPC5cGw%^2Xora`d0!GA&J95h~G2y zH7ceO6vJkCKhueW$#~vGQe(aJFJJEJB03-}pPz48IO^_~&d|Rl&17RYwDfo)0gi=+9(R_1>EK zz>?hf@n?+9n(bs-;sWh?+=AbWM8?#zApF8W!p1qiZ@&E2o`0VXzLI_NqK=8hY8V9~ zuz~>~o4w-eW`3{+3SDcQmQty|(eGz?Z3Dpqy*y{TYAQXl!sBf!J>I^&MxekQFeZc1 zc@Dsg(uAwR@I)3i!rxELx4YU_!CB7Dx|d)!p_Zdb8ll8_?+SGfeKUp4%MHriywGO0~cR?@{OIKy%>gs6Og|O+__=-kKgS@uaFyP^#APgV~#_gP4Ug$ zjBI=FCEiW-GNWqrwv*d`-qtxVkPx@x@d}Dc;n>@MIRqs+WtO5RX2CaGI0LaLvNazzg$|)~BqJ zl)tl7hfE&HT#WtKT{iX7>?Ed%&l+aJ6l(>-n4h1AF$LhcT|&!<J73Zs$faoYj-FSHyDdfpc*BSU?|WZ=+uC%H2bpmPTXc(`hpIVY z9mNh)o=rGGn2!P}e!EUCN%&}L7``Zp{9U^EQ*tFW*@>99&0XDbCAg*m#dcw;X?_US za%h&GbMj_%J^BiMG?V=IU^`f_2Qsu^saDdg?NIKUl}s9QwCs3fZXpsUlB4#=4eELD zr0_n+fl(Z}8YV-%6|N0OAAXwOhvD2x?Y;oIzowWyd@^e|xC#im)Z`5+ z&&5G?LVuP~8ZLiTi(ApLd&ZU)>?LWStTjwh#;2N)EOvdA*X=PYe#W-tu>z}JXh!2p z2KLr!gRDj;*M^BP3Ia9c1atX?5k+u%iS(bnH(_Gu`fzHc{G}u#%V@%f9M+a`FQXtn zw7;C>HIFTUhZs9DLzl4rm~JtO!F5%XNnV6};@cskLH^Y~KWh>b0?$dHG6f-2oPdW{hqtYW@2DG{ z)(V%x(RTcwH#PI?G%fXN6zLG=m;WbU!%LK24`1YUA6?J@w~+iJS)Vuk*7(k%aea8{ z<0N`aMx!~o7~&SSFaqD%8tE_F_RqktBjxMZ#3~hu1%}^uP?+T8*g9UTt;Q%8VwuX1 zX6){ei?9=sXbI4de~BzZp`}8eW=ZqTaBe+vR$}ju(ktIptX`tCZXTzAcT(Kmd13*) ztm#}rInX~(Hc;rj@gLtEN6%qqF@n#CJj~#q?78rZH)>aoogS$>!3i_=d*xsjr?-_$ zA*Z9a6r@fAixn>2%g~tRy!J_$^Ttf2Bs--XoS$IKL9XGL$bi|?_mACwVP4qqSIU_e ziPHn0ntq1p0@r4n2L0u1F_<10Sv9uIQ1W4KQDQjR&Ji_>?xzpICFt|G8TSX_5>Wy| zY)@&s^d#x74SI}fL?5;^?X&Tx+3R^Uu=P_3`lxz|fFbdsNt+!%Frt3%@SeyJ&)f00i4n;Y;Hzx_i;#Hr_@5rS_Wr z_@UZyf4<^XIuri#{*33nPcbY|W+p83Ap@XSOla(VG5?C`!{{8UWKsaM;jy5j28KrBk{(n%C45j^Q4=O;fI4J9vjCot8Zv{m_;@&D z6`n|0G8sfK`{t7SBmzt=kqpq-FxG+`}JZzL=-j+ zXCiR2;AFuB2OuR~KhySB-jtp>XWe8xafiAhWqn;jIZzc(Rlv|< zuKaynd3;Rfxb91Y*L7b0)l|dwpE#$`;@}T-8glgdP6;4InTAB|eQ%BEKM!rfnK*h$ zTMu2r#~6OhN3ekNne}VUM-|Fn^6AN4S;$99Z~~qWV{|3VkV;z+kA&Vfx>4tDT*(@X z+hULGV{~ySVDi^1yvJgbtkgn1<^G7MX&B4+466etSCZ@)YrcIP{`$zbzZj?a0MT1 zaR-Gqm?^m_J*w_nCz)HA2wY6UQ^Jg&q>t4a|#tRyEIdtprj_%gXOn;FA>x6o66qr~EE9-SB&0V$bbJG;IW1!iU!vyV03 z!5%d{)4gUZghfTbSN2tzGIih-2XquXbQ9BH@9N$?Ybr=cV`L7e1=lP=5jPdIukknV z9zjeHO!ZKh)MFX_ca1B3W+Oo4JmmF!=|Y)X_NUIxtp=vw(axSWw9p_4PcK9N@Dl9b z$+NH^Gi+@+!mB#b;V28#eVYBH(&B<;&T#*DI;X6ywR>iKaKRi%)H5}tP+$zid=P+{ z{6ZAQ1{{bjX-)P9*a}uOYf-&Gi+`zto%m{g`aH)05brmi8a9$z(b*mN>nKqF*cj*b zC6tV~BD#iN4H!uk=QfCI2qz6>?#&h`?A!I4I2p*3Drp^iEGx4C@~5`#$o-p+SHx&E z4a`^e&Kdq?bFX)QWI(uX?Q7>ST4dfLo)-LWj_;Ye%ZVl&bPJR)hMe&yUSz=&K zj%;P-lWtubk@78(dZQ)|L$&qicE3ObF8K(8ihI%~$FzUu+U%A0!Z*->0U-gjWkJb* zlzIr^`y=k{yjMaKH{iOwQ)WzEpM+kthHTkoxG&$a&D5CmJ!S!=t}%h}&V75_7_~<| z#z#LUz}?)ScF;8(GzHrh?3q&xLSC!`@x;#W+tf01oc`O4I{bQ#kq?&<2#< zT%d=qld_K*YA9Pk>=Fud=~h$-NWOe21+((aR?bMhitdWb7Nj?Srp6Xy05?w|gGRY)4xh-7i;Pw`j zZ-)dKJv?9D^t;AxHz2j$ruXePp;RFkRDB`9Lhw^J=n4znY zG}wFWvL3~_2LtvRCRg-gp#T_imh*DT*```9)R#gzas!whH)j2%L0j4r$j!t#yVbhL zvqvXcIwkN$H71~r*{(U-zII$lJ-A(K#&e7HgEssGIcoobwaxGWgMRqvJe+B5>RG`P z5m-Jn_EsQMO!Ki?BH=pE%*%`6jVA?z@4Thk?T<@+5`2=WBYzxZNqNASaHOa*YzfV( zF(_>fx^xkHKgm}%qcWj=;Gh`cAl!8=*BW4oob0_ZgWpAq |wk}utvVxm;`&)>sp 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 KMNUMnLSTY&x7o-5 literal 61039 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

O$M|97Oa@i~hTA#303a#|>E2%ToKg zA_WYvZI9j#WVd)MOoH|9)_oqRo&R%ts9XHrGFP1+5A{KIJ{J!bLA>LvuVstO9dXA4 zfQw|GJOf4vsG%`|EsSr0!HoZ4U-OV7-% zlvc6wm-^5ucp{GtSss>o!xwSJdujT;O*iKkw$?1biTgmx zJo?ae_9GvBK?jS1;!ESZNN%dD5^$ZTA8K2I0hkILcXQ37pf(QM^+~*4pMS-u6o(4{ zERT%kn#Cr3IDWYy;W{QGHeb4WP#(0>5F-AByYwvDZ#08o>>XtL+G%J1IVI(?Uia)9 zqg#8tI}tdEj&Wa?y)7ir?nZ@l-hd>)x1<$txS*^Ge-JL#ksF(Gwq63j(NwwEm^*yT z%>qZDw#r*rh@V{jgI<{iIK3_#flKlL)JF=-IXq0iw2$nJ;k zU&+X8_{E6DDw&ijSxp&iJ9Wpv2oy{!38vFc80@`BDfbeCLQk^v5Aww)XtED-gsn6Y8~I1B~*- zRtS@Wo1|!8V@dX;n=i3l((W`zLB3oKu-~r+x>ekLs&%>uGqoxF(?>G6f51tMnKyO8 zr!K1x#jY!e_)xVyty z_FC=*nz^ps#J!r<^_|cGU*1ml++oa)74J~Wb-!9U5z?d`-J|XZo%Kt5XUwyaz%fw7 zQ8zo(tSpAJ$Kowxde1S+)VW0Kf$t#x<^@aOOHf^S?17tCb`ZO+@i&)Br=1wiT{QCT z^x(b7O1b-;JaC-y(*=k56MkKdMaL2d!^%}E;JzVN#rs*%WSPb)?2|Y-|Arzn0}AZ4 zSs+1yxn^SS%(mju(!N@funTu4wwNYza_(^K1GrkcK^1TOE@pS`HbQg`1;Lp=5A>LI zZaBnxzyH%)X7Q?~4y&fb&}Hj84SK@LH|;p$%0KT|1y?iCTrSgg*dF1s+R+f2Ec>{u z%>T6?2!K>jclNVv;;4ot3YiK$cwh@jxl?J@;DGu*3O3<7KWA>NU8^u8jZ{^g5BK=P zwGnWjNRmc4dD*@j=-tKqVz#)#Ea^^gtD~V0+$G*0fJ)rAntgX_XCeU-O6l1hu1LRs z6vLI94xuZ-vrqoSpQ4%L=)>;!6b8yAS$3sYXL9N{j&jhR3=H$OXD4{EgaS`U4%D{F zhHC)_(SIsydzW{cI#|Hppi7#SkL`1{i;OG>38Z^5;P!%vzbbMjR&*J_3?)|kGm zj!j3)E}~-UK6&>E-i6T{kDi-7kH?8)Ml7g1Pdf!!3>M^W%!scqvtNciaq7!mdJMM> z-ACnHjC=um+9zqLL{vI5T)g|=<7>40ye8b4WeC361?j7GVs^P$#a~4c%bWPB-9`ZE zc|Bo)Xvm`js}31r*KNk^WsAhLwM=5mioM~JehC;pcoYig)yqB#;6A7|O}hV9m7*p^ zAVRoj68roWi}N?UYU-^{)0XF)Hy&o!ipx_b@sFtNWO7)}G#ig**Y zU*8UjwTS*lP~4aG+mPm|k4tYG|Fp!O8{xGfwfmp-i}Tw1(W>8{ow*N#xQgkXsJq?C zRx{(E_5&}}=NpmF7I0%{j2zFRV~E&n=xnZeL~Y=A?32f%AB8Q}>m58zX4ylpEkG5i zK(!>Njp9%!UQ*~j7hR zmp=-i1?PiEzfV7*{&je~BZ2WV&ZsqX1!V97x%xt0MY~Z|0Qv6Uzm_r0 z^gg-1^wT?}oZO-0E@-8NkZ72hUiGaw?m0rm`3QafA;uuMpMDPRVwF?cct``AQ|&({ zucs!3Mh>;ZJCH{NU@^A8i>Uls73YHF^qU)Z+!UOr$6 z+;w-qE4#YAESQnXAYd3jbgq<}qlY#MDfk;GhoC!One2 zs!{FInqKs!!sF7J3ben_JABvyV=DJ{g&MMJ1q4wm`gy`^)Wyr!qHKlw{p8a zMYk-*$k`}PP5AcK+moQmY4)KzY5vvHgZ=O*5^A%&T}8iqvQBb1OLwk%BIwF%@O6Tr zDmecpt0(nSBfge0ErQzijAwicYh%4RT{2H4>#B%iWz%bO)7c-0_R>xJ~vCz0GOvXYx{zKy++ujYzH$F`ynafo$I z3y*MH)Dd4sBZwkV+ib4qEhJ6%%8?1(PiRTzE_FO!*6SO@*A-lu5^a}1H=2zgAZxlG zNiZRBr$U@AqCiDbs{~s5b8A zxoq|JXK=j;6hPU60MT!q$g!Lwh5?VEO%t@_TatSa7HOwQkX$CHfj+iO)k}fiI>8d} zcv-ub$p*^j>k0&h0Nul=fhN38C1Fsx;Dj#G^%zDcss|ef%fqi%2-Oj~Wq z042DnC$yt{9W`D?$kTP{QeTk8ro)JfLVbn(-lvoUGw zOMJ-FW+|&lh}6m^axkG?sRtbfM&Lj(k*OJ^ z#l6O)!9KU~`uO|w5$xZ8RYN<%0p_vb77x*b=ikBEYNds((sB%_@U2h0)pF8sG#6-I zm~Mi|+3&7HuYX{^s3}-4qB}K!N7yBLbo?emJGx--*jdu zHo(fkdgt!slfyG@vWSyw$dLYRvYUt?hWK z1au67-242$hyu(1zCoN$iBxv>acl4i-0#pMAdEQ!ETxCHr!_HW@}7i0+7!V`NfF2* z2kVDq69>Fg7a;CcjASOS#VuJE^w$I4przgceNVh*ubTDqVco~q+g#(PCD zp<=@(;a2L&=K59D9m;5L@gFI?O9pIY0<9omOT#B;{Wh(H_G7BI&Yw!R5_6i@vK)6$ zr|iN(8Q1@W35OqZ^1JO2!IV|GF!i*fvqj<21;&SQKfHOp9MO+WuZqE{<)!O+SX z;9Ep}VxkIj4~(f};QDCt?Vay8QcR#i>0+scBtx8X?Jh8i8Y_Q3w?7CQ^0Iy2`~~jx zjdn(U?Y%&I@Y=N&f{jh>`*-r^5h zXfo!cdDvGYcKGm2xcNQ|-gqEfx39l|vh+lOisyDmiLEi`ggN_g`cTYVtub{!oUD=8 z&Px^WmW0oh?yDJk6_~~nNlr8Dq27wPrz62N&=t z_yF*>6DxAzmS1UEmSJa6Jq@GJ?;1~y{l>7X7bdhZ{a*7>eQ%jU_(A`C*yr|&+A3md zwB)gpbsu45l@P4=q(PArHIW30C4B>psupVM7!aTE#dxOeP=t&{(7f&bqHUw9I7)zI z4fg5rV^1t7;Mx@$SRU(^MzS^p^dU^kem+RfTcN=ifs1d!`_q24d9 zgQ8H-_!a5&MVX@?>i(ypo<+DC(vtS3GQzUX4aZ?7L`BW|99BKcD_^|9#}BF*o; zyTVr&q}RL7BXm3XQ1`P4tkaYPQ`tCUh z4fz&)^zrG=xb=DiFmq}QIJhk`L9Yep3Tvmtii}MS;Vkg!XOTk@%o0c~1M-Rxv5&xt zC+7DF+q(oc)yoIYOZ*Y{XPNPmo^+PE6$d#3%fAnglkPOK!PDsqN^L@NhsS$(z8e5; za?UMN*z zc+A(2;jzfzTj(`k4*%c`qp~}OH}3cwG-xSZOiQxxx6wNrH)8`P*G)Vn?+hpL#Xj3~GBxC8qvHewsn>Yn|S#Oj~ZXCRA2nZ{`^J_9s*_3kRq&8v1oasuM`q z$*{Yq{kyrq2>uXgBd|1;CYwOobU*ZZFdlfY@IOXq6gJ^1cK$z7SN$}r9TkDUK#UbDRbxbBR_mY#iTQ!t!?Z?A+HY3-0@&m{L9E&!jgejhLeWLUx zqJdfM7>Rf+Ryh(;wghT~O1`KTgQdD|5wkDo-1kJ$yCotI{;L`@TXfacN-ZTNL}%qI zG}4t?bUdLxTDmuCv;mkyfBHlLM7AE=Xp#(O_wSnA-|fV&endmW)SIryF830^b>RJ9zfahtv-8t# zCiQ!RZ6@W}?a%@NTGSo{HJ_Z+D^A1R`1#l(Fz78R`hN8_d=qB2=7^u;#F$V)6@NAq zww-b`Zf3<&CP#C}uU_PXU_^L)0LMIAsY#Uk=vi=P) zQ)!db+YxhY!#c(8VJO={Qt+$EzsISCwfDB8dbH?O8WhbrX9Mi1bJZva%vg^%pOQdD zX2L$~zdV2;hR!dJa{oNt8Zafmb)nEfnZA17`*HMLC_hAQ|N69{s|NMJh`JLq#nt1* zD;h4cAP-YK*5ek+gh`hiL6W2{sjI5OMbuILW>v;Nj-w9a^S;9T*v)OKUstVBjg-}pBj$>$gW!_ zuy&R@tuOurmYL%!E%~wKGX>%XHveS>fB?L$3~G07 z*Zcs(;^Zbb!1gFb!QcGFO@tXGcM?@hfYit?-3P}P6D@HkV*WYA z@)X%J|L!K?|GLASrUTbuf$j13)Nt|d@Yi8>yaWI7Mc$u275hFdPvMqP!gEWeKseaYTV#4}EAcN?r*qt}vp0qiT8YA=F zgakyx@4g{8CTgvT93ipPNoY@S#G?nx0^htxN%`FU_AQ|y2g7#ITAf4N?P6^v8wn7f z#7SLOUl%X~WqjrXh|4s*eb$3@Z<%5eGjK`1GCkE9xXbta^1F-_Ca|Sifn~Q{|1A4Z z){{5C)|Tz8{R$FriwUbB$3PrmPM2d1Jls~lE$wA{KxOzW2q@HMah4aziwA(!CtShC zY#3t{a)FpN6{Mr{DbBxU6sJXf^Nnd|8Gdhs8pr_=CfvC^dpp-E)h_GR6;2NcfzRN+ zvQ#{_PO|o&&Wkq~>1_IZopG*~EIpkNkVJTW1Z#Mk9eX9hJ>KJxBrB5ct@f6q^mfrr zo8ALuRu8-6uyCUs|3#+##(}+KHz;>S01-eCgzCixvYf>J7Jmbd5YkoVSp*;kla~$E z+H{%HP-6M9HMb{9dcc&2E{l)GAKBRW1y_#DlUUW9*=gl%ml{bL4y7lr+I zRhVg>a{Fqwn91YNoX3!%D9!fF|vR){?t94`TV2-1^ z2SB8kweOLH?}7;qf^Nt{z-SlGO)cqu*^MocNZT`%#DQVvUb*tuukDa$Toi!V8yy`o z(lv6DHF;H9)=e=xw_%??XdkrL04^!X&7vGPEd=Iug*Tpbtth`8&Wc7YId-o4Zc4lv zjwuZt2H-2<8fhZ5bfobkj^HxEu(fZhXkGRG!j{J8OsH@-?U7~cTW+XJIz{r;CMHYp zt9j=7aOfKx!c$88zw~Z7;G^oqBN#tqipm1L0uoQ@8#=5Utj|~q26;(U#QZIUufQ`T3s1=I#^0%>vj5Csy#9jG0b82%v4-sUUiWWiqnCqPJaEQGvxsy*r}%_q ztWXgMnXBID{havkTqRjAONGY+Ms>+xrSC5S<@)i z)U>Oxb{>6UQo$)wYG8%j2=t%IUc%3Jq|Fj8UF)M3>j8MA<^}NVZ zc=rRaQ`ySyK!frZVFzs2*0)3p;fl^nM%dejf8@-RIMEqwGkoKO+~~S*HD{8iG^|d* z_!}b$Q|K_3H#J=3ns(hjwyDp6IfAz{o59Of?;ly&N2qk%E(v~vw5Y~&P8zYK`Hot{ z2f#pywvJne&uJ3>Kp^tmwCLGQc+nrGq(Y_k&y)bVZ+7v3Xh6u75PiT1O~J z2N##XGQD=?IyT^nI8Ys`cl^yIjk^-;&FEAiL^YsBaI!uEhQ7^NUuR0Z24%c9$l7+; z7}dy0|D^m8eh4oimAzHDmXh3V8MXl?;lL|#3(9qzjR`8T%+l4?X22B|k_dSgQ4I%( znmSdYl|OsSM4l~Y@KT8aDYMLXX3B&xj9ToRHr)9`^Z!&5$# zHRAhRg?*qS{?Dv8dtUtAr3-R#`00#*FEp9HDwus&h`oKy`WU+6PYg7Yt>l`Biz(mu zI6wOkB68*U8vRii?e^}Z<)E0N^F6_}bKvvdFZ^RNLwJk6^O@@EI4batv`!?1Ft&ko zOTsEBs|r4LvWO~FbnP=s9Aop?M6Ud?bj>0VCV26svff}f?`*;@xK-Q9ICM@!4aJc z{Cs>TlAKh2H6RD~|Teu-+s@T69JYgg&$SCqXJ82cJmwgjd&xr$|ehi}>RLhXpGATg-Za3F`f z?3;IW3)OC){>H|Caj|rwf@D!ro>B^ze2Vx}i!4GjwqaQQ;T?8*0w}LVto>0*%LlY% zt$v?R8=mcggc`a+e~QZ~e-|B6BFmaSj~dSgzi_UJ$% zvQmP9L3Y0a*^xOPsark`VuZ!XXWK;&nQLv5>>bH?#|=R|9tH*%Y7*=syy{xeJM!5l zGp3*u*$MPLhstYr@`>}u5_oO%&#LQp2iS)2`xR_dihsuXfrS7gS#=ByZ(gtxCXx^X zbdxfHcLw%`=4qYT;k1IJidIJn)l@5^(p0~NKsG??1W=-}WP;)z-DN)ffi&ks;q~l; zW~}9@wNY6C^8}IJ92myvC;Su~3ryJL$8Ww>&qow~i9TmP6TsTs+$Woe4TZqFXH47z zEzOqhb$)f=2nv(Nh+GL$4R8@;sm*SWO0sk{-v3#HQP`E@{EaPTurw(Q+!hAq+`FRX z`BdWz__pUxpaed6p_+h;_ell%g03Xz!>c*~)y5`p9Cylv&MsNS!vKB}yfl*N!wSS* zX_K~pbpF9Ah_PCZGrVJGIHPLK70L9cFmSQt{J8WSOiOt8bqbY}Cm=u!mas35X3CfF ze$+!=t>0=N$`#!F4o&|kK3WWp#h8o#mdZf^3>Z5_)ia8pq48F%076TTeC5Ff&Ni^= zXe>S`4h<;MdcK4~916+}$WUO5%xa1%HXZ}u7a7|0wliT;e~F6yF%D+7G5E?shK9Zm zn$0`TA9n4NK%)KW?93paH|ZtNsa%(wvM5k+M*+_y|D)>0WEJ$IPR{lpa=IMQpmj|E z=8;?r{9|MtB#Xe|r@GtADb<9)&M$>QwDk4^@;klo4gy;jtb^yra?=S*hF=z8XDZCU zbE*uWviud_u1#6#a-0F@gTD>}u|03K;r5Q@ew+3t@66Vnh`YN{%-zxT)q=%<$N{W6&OIe@YMKXRF=_qdqw-HtxXYD z`@YdM?BcONrKa^cIT4Udo%iFy401;!hnte5Y(iX= z1?=?W+iVyV^j65s0r0%k7fU{66x>|!GKbK6&|S9Q0M%5XOn>qeJt*QAzSJa-f9mz` zP-K}n)W-k6;*<%pfR*Q!Pv>}K%RBxbRUR@`5-iJ8e6gzl z0L1NemZuSjmM{`)Z2FuXt?MLd}2TCzO;^=D>*C#vAe@#4ijS#qb@v}q;ldw`gDqYbSo|BueFwn;_3kx70ZRRs;>u|ZxOxgU(kF{D~pm~=~-5cL?%smyJ=emB^$y)uQn2i2h%N*GjUZr z>GvwSdfg>6jF9cFh(q@)2_|;pLK<#p-Xs24EH4GveX9hIE}nv9l0^vgg>hf-@1@w( z=6mPAMlAj>Nm^Bkv$$DUn8&|2;!+bg0%;Ezg4H7k6$%>Cpaq>tNty6YeP`a`kPlLX zwtui^&r>mQh%vB=mSjh{(=OBSR>t^G?(;u=+En-saNMar23Al-AZ>ZvW&$V@CZDW| zh-x(dOa42G0fVIYVGg$!@pv$^Y*5c^eZ7BxIBp%P6&ukG=utR%{Z zj8|%Z#3BUaPg-w1OSoh21?4Aksw0^4=y{;m=y@dBb>ryX61vIjP0X|TGuGqijm4VO z+1MnxEC7#1OTjL2M#0eNuMXFVo%t^GSlZh(Z!;xzhRohMz|;Dwi4p_-$p zD6YYq$%9vO4-&K;4v!F++Qfr%UaEN5vcUYbdOO_rn|mEYAt?~!Rs73^3hOL{&; ziPdG-%6728DV<|2fy=kKg)~Nqxx;o{m=MD(ZhO*pZ$pCD(FC5NPAwT~v6nnJ_*^@2 z1s9@f&W6r@Aippf{&{E{lJ8=W?PuY50B@7^$l_6h_xWwCrMi^T&nYoOZ00UuGUIbM zwI81O`xuLJ0*N#ORb}REHfn@VxYI%=>M4WDSOjaTv>$ip7F<77PTAl*Jn^C;sqOfX z^zQ3ZX{{r#IZBROq|4q0H@&1Qrb-+`|L*U_9dSRRZC_vK_A9CU1TLu}oTC0vZWWSs zq5C+%mK_rLE&&)g4Si>*%Ff$E{tOBc*yGUZnQB%`HxeZk*(-j#RF+{NXj|{5v{GK8 z<(ltJPg0ZeC^)IkM{p@zX}OxKOp((>x=9nK7cc(5xw!i3x zX-?}d$qUNNKvZrr_m-wlA5!K@J@q(-)tM4=OuDFS7pFlKf{AOd+ z{9C>CwK}_?lshB@BV^}zzrRFxQOxz4gy={%QZa(a(%G4$CK}-_CHR1R;lKj?V)=1ziE@ zsr&Nw$WNV(B=M$pQbh0VRQqn?o^|Jbu+L_ftsFT?i|lu4Z=l9O9QThNR{q;1c6N8= zpHOLTg(u_-veDnw)XjI0QQfctlMSB-g%HJk9GEJ7TUR%Ng-)!g0w3h|KfN=UYy^@x zwcsjcY_5gNT7wa88`w`PGF($4dXZ|QcaF2RNDIe3_~k;wMLf8w1`=chDA~CSTm1y2t z>+XChKthL&jpK4LD?~5jPNNb_-&>NzIpNn%9S{%@t7xtvjIWT`>0^;T7$(G|FN4=P za4M#PS#N;JYy0ZTr!D=ZZb%gQ`qsyQZxHB+`(r4#Fo-TIJ%TSj`i&%x-+<2lU&@ zN9d{#(LNIbFLf}Ht`d(OO-N}7plk%l0Uva>R~L=ux7-U_y1wyKj2%fAitVxN-V71x z(Jt7=I19b3OPAr@JJO3A|Iv*0gKz>DN^qITys7qO=Ow5%=$fOQ(frn%mGL`!JqS!^ z7qr@=n9}^Ra)3n$stEHHj0-s7@NDavZcFi^l@y@WD5&$07D2PXMF(ftnJ}hgD1sbV z`98JnLu{KV?e0QV_9EU8bPS-38;51_BawA>TrIG;8vL{OOhz3J~13a;~@CX)?> z(hza-+-(llB;ADmku(j5hu*eX2*M_o=WYzzt%rCZGzM+Hi2{r;QH)$1l3z2-bxhA! z9+1XocckAJ791~nb-OJG{6}z!;rxEtNeVg3Hv6Z#*X4xnVKe;eSIeG!q5cGI&)ePF zkD_+nnwS>sj0)I2kD2>1KZx7~GL-?LySVhJvpwb}$# zMoNk-VI#>Y;?WaboKs3^3&_akNL$}RB-ub^wlOJ?m64e-wW29 zn+Y~M7#Q!Gid88~yY^c3Jdor4V=Aa~lSgM1mxU*8kO5AScJ>-Q=?{MM;IQ-Uw+fn1 zp@ALiCU&YG(sS9xNkp5$gfAa|CH1j96odCPz;I=j3G{X{U>xT!k6lQ_pj#h%G|zwf zd!wk60oCn;@LL@8EPM)F9t&i&JT)*UaZ`!9R%hjXQWi!;WL1&fQw|NNvE z%%UdjZix7KswLG=927)gc_P@oRgTsDUZT3kH8&_~bTXQ9;z1-Mqd)_SB zi$LySoU_|`ZtxB{P-G2HSjxw>CJu79%+-4>yB;g4ym`nJr(Es$``mlYZ@Fs}!G~+! z2+zxUE*WdlYkAD~26|!?4KLd*VGC~D)O($yXB?ezsVh_)_|QfpGdSb-zL1}04g1ztm^Ie~bJ0CPzqfzB>Xh+^o^s}Dgx?kN%Fku~_^T7e>P*$Sj3X(5 z$|qUpp@GmiIkx4b%LZG!GRNR@g(8N^$A<8cVv=aTBZ%gZlxRx9$YS+7wr5g^fbC)P zMCA2mS%cX0z4}7|EU5F%g(efRs=-$S+#VdO(P7^*gC8X7baYv*&_p{f8r-~mR$R7} z*c+X>HI0GHq={EqC_?5@xnn`+Tl(4cki~$9r?~`>9ewCar{mP>82w+qftij-9?I-& zf!Ok>Q|Z@&Q05Ae)#+(u)Qx;Osi4fGz2CH~%&XpstCiJ4_J}k>Sdy@SHfdb%_-R+I z_a2hisy|iJV(5i0f|@H;w)>U&X}u0Ru*(+wgfxCR4D-5`k@HxgoSt;}OH|4bm1J*} z%~(3NHgo!qzXc4~zYTFJu`Bvj`BAHw<4oAM;qX;U=jXVHU6DxihRY*hJtKYd^1#Oi zWl&XnF4Ii~{GDweuzW4LX#jC*K10 z5>GCw<3)|Q6z4(Q%@~iyIo|t^OrtjQ|Ji@f!|W8Ad-^ntwdm$Kz(f(fXcs!;NBQr3 z;Xn92i#ulO^|SHHY@AE@Zg8~2VcpI9Y$Bri5G2>r+Ie%Fh|gQ7_%~I7Nfpeq->E&? zu2~;x1T`_RX}^`1^d*Mh7&N(06e=moaHcZBd*xshJ4{*#H6 z;_30lF%dK>n&pHTD?9=XM;y@dvU6Z@0;8|wgrA?NKo-nY1%DiqDKMMPs=Phxoj0FE zzQ{sv4AK(oc;3!GlZhy1^r2~yG*kBW#+AusVt*G9J+gmX^D2$!->d!^Sr(#`HDLAS zTSo!50Y)b^#3*sA~qdikvtH36$g|H2#$O`@%Tyy&U8|e+A=WE+m1#zyhBMUyh2l8r9`D8q`bqQqiK~~_>}^dX)-uM+jDSowEmEu zG~K#$`#jJ7$bX@33;PG3(dS=#r3Kni=Lm4>+19b0j|>+j>Y3n#El<7E;s!RZi6YQg zUe5Z#(2Hzh8+g(Pp-=fbKoU>wT3SWCHRd&Xrzw73`F+TnIdQ(@{5jqwk_h46`q@s5 zPbFTkT5aN%&F*{LVJR$tK6ofz-2oVzc$glY3%RTZpL)}n7O zwaUCh(DWNOb)BA|iU+Q$EjERJ>l;_wAHf!Lw&Zkwgp5`pCCL-n7g~^*MN&KCP zzwd#1+E=GNJs|>iMGO@V0v%}lob~S(Ovv25?EBtz*vlrXe)|TwwZ~BA&Cc%f@+-1h z3WDZ8e9R^E{3^`Z1J7NNW0^SXqmru$?6UtkUz2}?4W3*L6SqfzHG=C}e_LSg5RQ!J zX)?fGO`g=Ds}I1()_?YtzHjxpab1}9WuO9WajNxlLO15z>Um`FYVFQ5zcWLdK*8DB zYYg8F(jmTXFG`4Wd%VL8c6Y)+KOPATZf*axjUq@?!9oeN3VsdzPY|h|1=~I!ldwf4 zZm0~vdE*Oh5KMSq$>8h{6RDZ0;{KDMP#6lvUTE6$<;@kPu6zAwQ17R`t54xgF{a$I zdIk$ghgh5po#2Q7rSKN|ldhP^&AH#q$*+{}54x|}u#YAdfSca-9p9ubnG$wct#H{> zL}lfeH%+&q;%xg3mK0w!3~56Mn#0x3bQOqT`q2Lt@Zh|66W$AI?jx^@Z(d)~qrj4V}6$8k_hj$aDrSlm( z1Qup`eMu@2flo2{1rE*;4c-1TEy^iN`etV}*RnS|URAr)+FdndxG!#Ig&TjR00V{{ z>35pla$Gb$!MD4O<%JJK`HX}94(b9tIVN`^P04_Duuju*?XnHZ`nlub`VY&Hf;jg- zn=hcuxP|mk^k+B@P5R2?DZTVAw)nqaC%VG4zU3BN^>X1O2LQ6-*p*!sroJRuBwnmX zZumy{dDL73VTJ1>fNWdf=a>k`^y(I+W@GuG#BjPW7K9t0oxr!5>m`Sq9G)BpSIVJu zqGTfc*qCt)UA9nDI3FX|m>mW$<2E5hdF-vuDUmA|u%u zAvb$vRmh0U%F5o?@9pz_{O;fH_c^cgJm>X(JzwLV*JkT!)!IMtbr}!D>d7e^Ez;_j z&asd*6v<9V_JO88d{9;9z-caO7n&ZaS&XFCOEjhI4_JMbhtL6Zj)ha=tIyA{H>d51 z<>i7h0jv>ir}GGf{nDt z4$_10B2_fWk!)Sbhm@sZLpvF#r0)3mUQ3YFZEV{ZRo!(!J>4&->bWc8tEadf{~gsNe@i>+8D)&s6RbP`HKbpI25g zZ&TFt4Jopdh~9Y-x69$|z`>t>8X)Zv5S#*&`97o9Q-)8Ec>N0{_iU@fB)eh$U$jY- zx}(ACm&X0TOLMPMI)LA*l5X0a`}d*4uRZ3*(-W4*=VQ(#WfZbT>_hF!<6X*b@nfd= zu74}N4RIZvXJ%MJR`7Ja#m?;U{Sz-mNYdwCBfx5W4tM{{eR%O@R;XoYpXY-o3 z;QE;<$H04-$L38BPvwzkQh$EA>0~yw2+9aXl zrG*LPUc%FmEqbjsAFf|Z`}Q)9e2?zb&xjw3UpYPJ;F?zhuFbylOB3NI)%KfvQu1p3tZQ94&~L>y+Hs;O z6(1djc7L|BEVlY7!+yu@A7AQ4j_mjNgIxcd;Zc)WL?a3Ym)C+8VQ2(2$Z;=E7R{kB zRX1k_M!m|Oc-@S}Zf9YXT0(S==_qz*IN)!~uUtP^5-(D>g!$H??%uGL65`6x^I7?hE z{T&i1A1pp5E!AEdq(~utn#k2E##(z(y0kDCe4TkwANzM0Gev$2Md6_kQrp@(8Tb!n zH&y+0n}$@Y;NNKgDvo06ajBLH)1V;_i4#Q)IQTNiWfIC9eP_kTX!N)RJy{Y{GY1Cqzbsl;oKh(v^oGEK)F zZ-Ei4+zYUuK|qhZX72P{^scfmvgs(6%tz$zg|u;K%iehqlCfiyuDHta0=%5Gmg6*m zwPSvyYB79e-;T2#?;Inl2}PQncK)d3qi-LR^{T$ROr*HpW-VM!w1y! zKw%^rFG(ifD94R|-d|{6Mt`*R8}4madiFDO@Sk*6yOKr!zYK$askNN3_PCn{RiXn{ zNAliVUF2-GlTZIur8;&mE{KG7sRBH8!-Dff`7WQKE$^Q)JhJ>q@$|z7)YtuM-Pxn= zVB?r!8+yVwn!vz z%J2p6)=#6~2(EJv>w1F3#QgU@R zU7>dahSodB?qoc?JL?3hP!ruk!;>Key_YhAf9CmvhrL}d?yp4C;zsk$j1P6{l~EV& z7ZK!!UkT@{p`$h zTU&)eJ5|V#L1Pd#Z$bvb)1geab}D zW25j=n>~Ljj;>v6`R$#A+20)3JQuz%dxlBk<6&sVV6qvy)L=J(@a*(TJgCy$F~{Wd zboUH=tr_}ff_e9aA-(guMxG5Qn)7&#y=Ps1o65%Ayefbbx)$3%zomZ*?WaF~kBdfhPSXNJ%ZnP~ODEpEkWJq|h0Pnk#riGM(t~E zP%-j2rH|J+Mjao5Tu&{gx%jh)4i1(OQmHgnL#p5%>m3403tG>QjS)GzKVL3BPht6w zU0RE6B9-0|fW@90m7={B26q4K#Nvp_F)hbmQ0A51#z5N;^KHAv;zT~RbEoZRq~W?9 zo1M~lWM^dLXwyS6sjbO~upYzt!KU4z<9ds3YvkAhBQ!~A?a;sVrIHIRV>F zsiJ}T%5uHG7J7t7EiZsZBVpOpKG{S5lk&EYCxTN|oGG;lJCh!L)WGM#(rdqW17A`s zhGFbpXt92H=ZZwCqZxfFnd-2_gVv8id^;%ff7GVR3k^V@y@Dld!1wcj7J^ew8_Q5w zr4(Tg>W+|^_PUx~zv00}T-cj5S(mG9LhvGG%mQR&PjaA2L&~VOPweh)))5Ui8?aeC zK|0U(n`|2%Kzh5S+YnQeBrEQq;SggoDVuu;u{H*+tG~ndG8guN6Qa8W8Q?>Q?L&Cu zpRJvmjM=;vQ(@uUvf!KU>~YqQAYZbn)FV}rA-C(8!V%OZ+TAD3zRB9zFREGUp_tUx3=D~ zZ{}G3I295jEg`2%%$>nIHx!}0iwZ*~7UI~Tk-G$JSG^nm&bNDZ9|dKh$P&s*o2D#^ z#Y4yp39`+7yrtwlgjY33R z7dS9hGM;BJDfhW(i>s{d)v2=vg}5X5QY8IwcF_dbhsyZO3}CyQuv5M8%@Ip+vhA9l{jf??K^?2 zfvb%;!*Tjdzo%Cmm_GvS30#ktWXeH5=-2C|mT&KV(;y43-X)x4w0dealwS%{?tGei)t*Vb-f&O33U!hVtaxj%`zqTdZZY~OPSy8JG3=qFu0)waf#?_ zxXwU}NL2UuxZ2`KHu-PNoK-1^)?4AKVZu3d=N8~}D{)#1WZla--V?J44;|P7XZ9nr_UUno_Jo-N;2~OYgnK;>nywjE^8ptbd<6Z21I@2at%X( z5k?2AD%y8z_psmFBTBMmXplta3PIIze%0$IT7x=9I$RKT1nkvD$gI~-*&0u8!pEbG zcJg&Z)Te966NwKEhZ*g-ikp!(E!H*>W`#{n$$<*V&mqf3*#6{ z#?!MZ5%R~QEGf~!HL?{Vs(an~MZ|^~(LTZFv4*6m-NxT~s|eb)1!>FT~0RXg)E#x=M?%az&cb zlR8C{E`O?`IyaA?q|9#}8KN=<+wEJt^mv2SV0m0CVn+`j zzIsi`Vv`jj!HP`gXiX>K8N@0Gp4Yk$bS;JU<&Ui z0j>9W*o*U>HNdFXWs1MX3|QyfV_#9yZ_mRKhc%j>bl@-;5$CRXtrJJp5@JD*ZwfLT!6h zQo2$iN(qJ*f!vWPf${qYUcEKAR)e5|$lQu^bCNd*rIkc7LZj&$$0hGT=Xv(4-R?ba z!?WPy8O$1$ETgU1Im-0EZfj6e1uL$#G47l^%Ro{S?FLu51brxI4Xo95>TgCk>jOLr zsF@kC6G-!hVbpIo9Vpn8psqul3u$k&O_@}5$b*>f6vMgpXys>2S|u%O&p)vLrw4|= zetV{i@tya*CD9FFxKD11(XYBv8yGa{y4J3&$@bTgSPcm_&7wXx!>o-n6&9L&<`MMh z0cV5x+cgZ)ZEOXT==$WZkP7^J@@-Qq7M(@f%d#OOZif=7OO02-u3Dligd@oBssc;z z1z`A$D_h`}Obb60pIdwWs+SY~agpPF_g)Ya^52UuXP5{V!i%Ztul96IQE9<6{ds^4 z4`yQuBSY)U58)v8P$PWLR}_LeY9Tky_}yzDr~~FWCKH3uFu~gKWuEyvApN?ia(mN# zb99~Rm+0#UB8Md6qkA%|7oOvl)#r{AnMzhDm{jQTXEf@FXsXd@$1QEY2!<>o{9IX? z0z3?bjFMhZo4fX(yfX?2W8y**APX#2v99Y#7I{jR9%D)36fL;mJDdv_dvrl@GfTC0 zXQ>)8BYdOlM|nKG)ZPR>h!!Q5zG++SB38hs|Fxai}VCuF3cffh)mR zG~}%5L$DwN^pmAcim*+9cn?(L92|?k(WA(`c_Q;niczd&js+8|JUcGr;Unvn9)lOO z4#?Mme&hCWQx=&fr0cx%1CIwz9+_E8Fl#J-AQgZ#_Q!byKq=I&khEId!Ueg-Fhh=0 zbW_Mn`5K3-whJ5_Uy<#pzmW+(xfvP_%L+5|d8k2|P7+F*9F2G=)rK8!>fc0GQQ;d3 zqC1s;XI`Y;3#Y|NAHDropkbCA6LWEOzCkRHp5 zu%QC=;(x2f;K-?cBz>tpuA-$ycorUiV`10ZK4LX#>po~k8ws`h(8%yQ2SU#LtKKa3 z`mhKuuYQLng?K-op1R92$l-M2p^n47XX375AEO9nhI*$>zX0N>l#5?@+@$qYCQ^kK#>}VnS0>gn z1=@g5U#=kSho3Nw;*uc`dqKr@!JyI!1kG(IN^@RQsarS0T=R_J|M^TF`B9Ku{{bBc z&*d^IwdOTY7rIE+An=c#alwAz5|kqi$c^RkhEGUn0)fGX!oO8crBB^7FXsrU(L_S# zUEl=KbZrIja?;uxU=4y3iB>U#-N$dz>$|OC6pIZ4x1d5blPyw3m&-=Wa-llaS@fm} zO!guNUQ^Th3>3GyYF7W6gOAn)7CjJr6L%MB>u@ zw|wmm8G4*E@WW?qFE4IfA}X1lCM&a}qR!<%aCOK+zyP!&-${)5-azghaP+Iz#m<6U zPCg1-yak3fgJz1{J+m&m|G`8r4+S|dmM8frUG8+*JWU7ijNRg;#rP?>lZzh+I98$n-(9c-z&iT)5SZylyX7@cY=T>irtx5aQtYv) z597ekzE+P(1#LxVgb_699&s!$24U$ibwEVXqLoXuTMld(fXK{*^2dP9$Gu1F0K$g3-dLyllyM)-_m{39c%%B^7}1y71Lf0XeDq|?S`16`q1G1#lB(c z>vu45JYUfC_|kFKID1B0~qE=iIer)ylZk=vyX(ucGo@i2ue1(nC#$*V4_2C~qR0bcNP z?h(zU8S{B5%b?i0*6FeoqI!k;@nPI7^drUZ(Ghp<7k0r zf0t8CQ)C4C1B6{q)%2doUGRT%~x;%-BmuNTolw_U)+oa>j`F09v3ba z=>|GfHe^yPZZKu;2kTl9#h^VIjKDSZlZM!02-mY$7C#dR22*XycQhTv`d zeyG!v4r!KU<{g1!ur$$?1w!B?E?gdVw5Qa&RBkIh-_0W!c@B)yVR!fw@2O!1(!-9|EdBc#FZU$E2{M&@v)$;`)?I#oE;5Jh#G&J& zf;8*TZ!08E(oa<{ia@;coJTfyaG>%j;B0!Y=d`P~w(6tetVtUw@$ovaE2T6W)-)cX zP;u&3{GcHol}C0GU|aXtaq`1h8Di(*NrtRG=80KNsFz|DUZS)!AD7=j`e{u zui47_O3)5eXkY+*tlnM{TdW(YsMVNSq5`(b{0@W2J8%bjg>t$^5nvo7lG3sCR$Y3? zGn*%SO~km$|DTqev{Pk|f=HQUv>PLHc4cEm@G-$J?NXciwSQz#r7?+?#lXYd?-uNr zE~v(S}wxg1l9I0}9F;hI_ex`uXeyrGgDjtYVQoA!T&qB?-ul21nAy!#qW(cYW?!4}O7Z zr+uD==n1|z`gx3nojhx7L8w?g&eQ11D&aqPOB23N$Rp!Jqg0&y%Fam?+VNp@2T^w4BHHHV1g}6|0Q3=AGu%A?GvOUIKfBaZ zw6(8L-jd)Hm0Dt#EafRm#L=%YBLycr&RFTrQPlB|3UcL_FF@kw6b^1d9A+$AlMBB# z?h7Bvdw&3fdiB*$(0F9XP&|;}%;k?k+fhf^$Bq3EaPj|v%B$Af)i%@6Pebzv zy443_l<#C}^)iIw!-wzL(VbVOQR#Fe>2mCrmI#+R3yu6jno0hZc>g zRS~E8FPI<}ey|0sam4eu6t>2zdNe+YP$}Sek9w33rL2Ol{gjo}`u9uaS6=%|yqLzO zhIwH;&H2jLa=YKk4j3?U_|ZY6OFHrmQasVPkRYfXeX){6+|`K`=08Z?EOd{VQU5pxCeFrzFO%N8Q*9ql7~X4dgR&3T0>BrX@-%R2coX ziWFBi#78zxG&gw;Fv@OC=+X$tfctf&0?L5lfzm2c^OZ>|=0!7l5s6pAK_}GOSnxRm zN&~+^3jW89XGOo>!Br~cJl#2$T;i})x^3DFEOQZr2#5tTeZS9)D$v)DM}5(d+EwLx zkOWgJO=P8esUeAEs5hla5(?0Qu)=mB@Pll;-OCkrd;e2A9l6s#MWl^aK|4`l5`E=~ zB+M^6`(YSfNQy#GKY&eKT2+FQmiRO4H;FE}XFK6Iks~#L3pfGRNk$CR#nczJGafX! zZ+%H+or>o|T?cW9BUcKPnIru-R-^Pnyw}QFJvjAF4+omsz%pHGaEc$jT<)1xfDyW)>?@@?aBvvE?|;>_#HVoxu7L@GuC}!Rs!{ zxkehWU9dKn3Z4Q!{x#%ofoaWaA!r$*#CR^GT-8n|o|hEigqGN))Jb6nJR{q3-TeJU zk|)h~`-N9^UGQ@0JD0rDcdd;_Yj|z^R&PGZy&<2-u+KtazGOcRuE5PhwS%N+Z=0lq zO{l~(gg~GN;$BQFnoJN|sol+(`%eIqw>&6c&m4AN^&!H(F-!-3X_VjSu=ReYp0AhM zs&X?tp#J^?&340(cvJ+NM^)fER1HBI5&u=b&Hh!}`>03d34Oij@nM($1%f75DkLx5 z?GU!OU0dgMuUuh%#3)_(Qs2#Xos}NhHA^94HCaTXd60L|gS#(%`Dkvrg+4g$eH_Bd z0*uHJcgfoGFdHi4AaJ}Q`SeLl6~0s)^lYXm7><1PB$>_X zhzjS+M7IGMwWFKdV7Vrj(BDtGGTgA;%Uv#hvT0nPlWGs!<4w13`5>JE60m(q>4_u# z+9^GrGLf(461Y3{8!pHcN9gf4I#h1RAK-0cfOgUKpH^@KT8}HZrDPGiCCVItM_B+W2%f^!-IAE>uUZid)` z2aiScG_FO3z4nUB4U+!nk_)0EkFd0{~{#iX;hO2I)zRn;M1Rk2((gt?wQ~?w7?3Jr-z$^N2UCUT}E)8 zn-Fr9%zNMGZ$1btY_c0XSa5K^fnf$}>Bl(bgok{GG8IR~S7+?JkJ6utpcDd(Q#TuR zUkmAPgK?hxqbF}^o9Q9^x(;S$^QtnesPmvUnnaS`n?#IWz0|@X4tfsL6*rdncb)jk zxL0l=vw)RofbWHhoa5ucRMV!N<@s%ckCs5*5Z~-~ATT z!=3gS0}BhI*&llLhY8&!BnPgGKDXa=9;<=Nxc;8?;PjoMx+J65dlgg1X>SIaTXibD zH!MO+QbMR9oYcfoKiqGSX#ZscAW*0tþ)F~jt0T1B0Fx=s2dEn4HerWBzHguH@ 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 literal 13733 zcmV;WHCoDvP)PyA07*naRCr$PeFvOW<<D(Wr?;KTG(c z2sW@_Bep0SljtXQR5VsJeu{qtq-?{b_hO+e%d%}|ZaII>y)(<~?(FWAJ9B3i-rsM3 zEAGATeamytJ?|;c5jfPMS^*k8I;$oS$Z_g=jz-kgAxXUj&_g5Y2B5D1`hlpo5Td&d zbQeH2gvbJsZ2Sm85JCY_0095^gb;fOs07gt0N)GX2NI%60J~IO-ysW8<&mU1xLkE& z(V~W^26~WRBo6ZVN1Q$l8|K<4M6T?1_m_cu5FHJo{s4}E5QhQCBOq4-vI%fmyoQPZ z>IkR>Py=8Gh&Dlp?GR$EBt&^bAh5l&%T+6iixrEXo$=ir0yH3K+&Br_x4UY6z9St# z5rDIa=qv&Bfe=zU?J^PRLWr$8@P$M)PZgpx*W=lQ{`~{u?YDIRluqMK^;iyCK+~8p zd4c-+0XoqrAw-c5oG5^SAnKWJAZ`N`8i3sdY>|M)L{uyhEpz4OZWRj_uyjA@+Cc~C z`uzO`;;>A%MLEEEB*SO_JWvE-wD5BS`Ix2Q=m9=L8&%pX)>q0~p)^4tGg{aI4+2blyn7 z9a)+-S1ey%m+Apn`Mit-Gy$S+#E4!lr}JkTa20^lf|d#^*XCgBi=8y{0lcg!%4azh z6+1IgVrLwnSx@$l9C;2T>25NeAnt?kpqH$djh!-V1t}4lcE9`Li$51rr)HFXoiTu> zv11)|d-slzg}4#GcmO%c+SNn-8Y{r6$D1+R_RuGfL9 zjd%(`&V2_Tx}5R;+*kR00+Se7AT(TR|lj~@$K!HM5{nme z){X7Wc0jXTIWS_x2;J#?eE-4YEZbM)&;Vjz0iw?(UH>1~^5rY-jtj9B&}_vB5M4w> z(+D{FklQ+TETzdEx&YSfPoGcC6C{Kvsk&3|2t(ZrGO@{x33SlZ-2Pr?+!)BrEHJw zdJsqNy+XQvPj-3v_o*60$^cFI`Mnxs`Dp;-MCK=?rfPpO`Z)yXg6JKOs@^OrDpF$B zO9`ME%zlUC86vvmkR>CdF&fX{*#h#Oswg++rU2AQ2Xs))U>ozeLtu^v4;|tj9YpUC z(Zpn{A4vr?+nIg3{yYI!A5t?q1Tf>CgrR;2@v_I~n~=gsy{OgdzmOUAZkZl3}O5b&s{bLVNv zaK2a$XhY3V)hi%LPablbWG?WMIdTE)BVeLOl4e=$CbtyO9B9-~Sa_*K^!J0#oz28s z;jQ_!3DFeOvJSm(Eh^0e4Xg6{mGR>(_qb#Hv|SN z15lCxSvGz|b~ccc17u}EWMvt@;dDYcoyKqDdQAg-K2RWF{;sbF_@}N8)X-r5oqxFh z&@+-Z3;TN}S|bZ_nX9z4+^WG?254q3l63tQ0B3Y4^IQmA3|H`$HUlIK;q# z5PkYUbnXn%wW|qYm&^DO{F}kf_wf%m?u!Adsvt!H{CIq@$09IO!zFW5z%lJQ#4hO>iYkP2gwiI;gf5w0bqPufBp_QUcnz(F8ZYD9L)Z zJ&XUk$K$!qin1G)0J?7E$Un-mJcEcbH`64f^Sa#-{rW*1dn}})BFG~~0Db#HusUH^ zV{q5hfVOUhURnx$`Et;zRiK?a&6h6o!Cfna_=~%w`@atKSdWy&Kw+CD1?n4EnNVhD6VBm1LU= zoSRo#x-yadObF1mBS!R=ozC|Fj80?_w%p4SnRVU%{UM)vD&$}O($I+w5J%fW`Zbp| zA>9NO|2F=A=y&jd=VKxw0dUC{L$5Xuljd)S`P)!qVpL`7>!E-59kdTWG}V$_yE0a4 z6VYN_RWC>+<|A%E2kp&wL6YvwI3^=qH`R$>`~uR6Cqf){7~qJKEkV}+#UK3f0ZIVS zRX|gMfDQtfDVIZ*JO=mHjR!0jA>f8U>~I1uH{kLBo?IZCe>wqKIVRYnX>2vwwhh|+ z`OrT20JLe7`NCvYBHnG(JfqE0XjnX+pfz!rP^0iwxnD?~S8vn*7!Jq_pX9Hb&0NwilIh_D^ zmMO{GQiF&9zP2IO@!f3s9?Z9GKK z*R6y0$tTd~&IRq*k$&fa$a6Mm$5c%l7Y{pA%)1ke)0n(}C8x!=yYaktao)o^t;=Nq znWeJm*|UvJ-B0<=0IsV7YWD)90(#Ja66fO^Z%YKwk)ACHfTefuBY?vO09m=MZ-u5A z=04@I$Dl7=nn|FZ>gn8hdaUstF#|f_^^Vkt=0J!+iSBdK?q>kWGNi&nIIg-1(n%*p z)+Y^Ha{y?l0qUwvsmwaE)s_vb0UcU6?$_-By7UHm_60ikFeQ2O@vEwFXjC3}pl!7$ zX&Vw($D4Frza*!;yfl`(V*)h$s(fDW3ovPI)APi^o7}lG99Lcm`GN}|x_6HZP{jw- z>;dZb9?*$nS-DuQO%|ZT$H2NZA0iK9sm<0JPvc*;1q+})@PMgyWJ(i)4~VloB_-Fz zLS7R!p!wtLA35@8BuVe4E!nsvK^im&j$3bqbn?k9w=N`+8OXJJOzCX3G>!zAQ~)|$ zYUg$a`V9uU_JRIg1(bX5%_JSVaRs^NIcGY#OH1cQ>u`x0&_SE?8~_oJk_NB6!vXoc z^WeDV8i>AqTRIuoyjHv0R4w?Bm&%q(KpXSoZ>bD@<4;iD{J``mrsBm-&YCXrD9T0A zCfP<0=z@Z)WFejhaNt{(oC(C-PawKLP=tJsX>HKm+== zAEEr~ZBR`{7qwz6_++99uClV1qX9-#fZjD`OkQ4n{Re4hrXw;ueU2M$fPD7ZW|(Gp zWAEI)T_&Iz*mkv40-DWrE7v3N_NTzUT6!U-ZCWl@2LW`B%rU`0_C-TgQ{zj zJgJm+uY%}mPg&XP?dj6(1G=cFkB{gZ5T%uwPCDioIPSRz(y_-LSXl;geJxPWhrX)x zkxr=qG)v|+8=<`QDX4m1`pn%r+;8##r-*jqrrQLxQ4_GBU;+v8x3me`=Qxa^LrpLb z8+Ks1*w*^Zd`MCN;_$=L%ifx7K(l17SO?|ZxuB{J31;J@D~N7#mz6!&mKm>YK%a0z zcb}rn25_czFIr+fu?ySv*kce!gjKBY`Jle{9`tX%hU@k}nI67$YRLpNOXiJRp}h71 zXm3qNl*|WqlISasEdN>*7w>Lud)oxGudwi35WPj|KzXa{5JQK;*-SFCvp{|BIq37| z!SSc7AfM!NP{%OMMg2Yqq8b_aFK1cVf=D+-1oXNgL)`uH@@5F&zoULq zvMzKu;Jp2I$QK^~D{bFyNM_EhGn&&0*RdVkMwiGOyhP<&BR()$N*P zleH_h_De#{%-XkaqFBGah08Z0p!bd%HOQl?9}*B|MzCQHk^~2be*WbzW~Mburp=q7 z-g~c+b`+At?AG#ZGq-VU85!l~efPXa0YnbLXL7DvtXm5wLW<;|RtAr$-?%gPR%=853AW;`6{pKGr- zu&r&d0?=%l`z~mjJGjBjD_u`QT$5c=!lXt`T4X?by|Z+HIX2pLyhQUl#d8g3mAIaG z0^(?{_6DH38i6TOpf6g~bOPB~a6Nb@#NmD8c}!~Vu>jE8=Iu~ty??Mv=5QtMjqK9W z%i9HXeSUs_A#ie@D5u@;5x5&f&|R8Q##9+UTPc!jZAD+ zh4R!>&|Z73Z~bF>S~n6s6!HOZ^L8jNy=#Be9KV!IW5z8#n43r^x+$lu z?AcZUO=HI7`ReOAfd3q8UZdE1F+71!K54KQG0%ne(MM1oebgj1Y~EOZ9(O(*<1e!F z{cC@c@knSQXsb6soz0TjUJoGeg?!2>5Jw$l%vE2%9{Q3cCRIXPne6SaOrlqO;mOXv zI6MlkiG=ohy~A|iYXChGeNtTaD+-)bry5DE96hHmT!_G=Nd`M-#3lge4Znwc=BaT# zE@d~x3TT$ht2da|44Y#!q*0^bm^>L03z!gh2`AqE@PqN?)c^1QZ2LMAP$}#B>F)CK z6`{Rs1hnB9EGYP$5Q4d#IX^zNjR?{SC%`phhCz@>KmG{i_S>OXRJ0zSz`FLGe}#Rd0MO&c$^P~0pCI5yJ0k0tj@C7ECd4tv7^()V8QQz=9?;t&LC52P`@uUP zj!1J_y=Va~325J~h5GJiwp%lpQObG89R@K^TVT}}EI{D4+YG*I8=6i;&n@oK<<>Li z&12$}17FF8A4HFCb__ZC zXGRHV;@Av60J1yVuEycHg@tfF^pFv9(Aanm9BV-r8S9(}_tVoM za?{vk#}jN1&_-;=Iw*Vq=Ovju!@<>RdN1MsW ztnc$#=Z-so+SI>@1niV`{mhUa-3aIgub1m@zm#%ygH3P0`jruU#D@-b#tf)$ywU#Y znS+-4^oHy4X%OrdPv_PapoM_8VJp;E-nUmW^Trny!THD|5Zw-Z@$@xopxki>IDV$l zY$r*E70L+ZEh+-}{ZJ=QHi+46cp15<=e1d7W&hhKp=sDKm(T6~N3f`TYN64!E8H)> zXi(X5d`95rn+>mEyNv-ous>Xn-V5Q3lA*KRPLp&&Yk<~+rnz@MwLPAhzmCqk?lL8F z@T;P)SYfa&aTS3U+|#`NM;-~+GtU^3S}!k0;Kmyxn^%*xtYPZVtDZpMS}y2mNN5^9 zyqnME;?T8z$$oZ|{#iQz_P22U&;J;oD?TwBR*h(CiSU9BJ_4?X?}A8#Ha1Z^YBcIW zBtWxdUbP-7hk)8`nmg$v6Uw94xq_9Ydi8*N z`km3e01>A}*r}+{xbHZkR`|9a9J<;bsG9@YNSoRgOq;UVG*?gn=d@|2H6z%JSo3@D zfxddJNm|2)!Pe$T1m|D>YOuN*y7ZJOKuyZST1f`HTumzk=qq$0u3(kA#&*t=Plog1 zhXF-_a@%c2{gBAGBZ%%@ARRjd(h+?jdUS_yJAvFhh~dNI^AfUzlqF2Qc_Q}g*#kL7 zDNjUDH63@}KNW)q9ci-Ww;{>G!$-A>bx`NnpEhNf=J)`}`I#ZWR_+3Q`5&_iSM^@d zPdlM)+5+0Mx7F!MrVPRHQ=h;($ZNbpuOH{`wJ>?DdW^NT{k{+ z9Jis(ookqW8qGqDqJoTrqGL=ElQr zP1A7Sj7M=413DDv5NQR&Bs6XN5dpgyje->nSeO_T!=YAF1$;3VsHz6!u#a^h0JZEp zsLM)$fYK7IZnyEJZ^wC6}bL-(7JUk7D_t2FXVH^Kt5(r(*+KJ+5$k|a^3X_1N!K}gW3o5mJQHW ztOch{+0AHVcmO9)h8QyBz~=4S1FS0rHf#gx{HA&r-gF)Mk2|0)TnzokpPD8j^9#aW z-Y1_lA|w4*TmkG$tturE{jV!4>jtr}sHlgNXf}wrU}kEXra`{)N;oG@gf?dmlm{Pd z3TDG3*9)#Ie+6+^uU6F%D*(}W9!hSUrObHySc&;abL zjST4EE^we!;Il74Km62m&xC;U!3PaWHf8#B)5{y98kY$82>4n9#xc#;KmhFKNm)Py z*Zgxn^^{@uQ6^1l$}G?4vo5)CUVSN~!`mnwVUfy_bU^a~u(SfoGyk;Toy`Y8&Hy^{ z$S}!V39K$Qs}`_S-dWcspp7#k$ESb9?)mB_nM2ZPr@{5W17LGsfGt;C?m2aBH8T{5 zAS3@r5Tbvop3Tfh&Y3ff;*o~YKI~M?wXq%J{tNQ)Bib*rV}Z(X^L2kjJ zws8~G&%QG2mIs?*wVE-*u$Tn?^d}=TKZWgkndm&>D=hrEPV}Y#x}@sioWbp!Gzscc zPeJ9t{VXJ=IS^2T!SA6l z8wsuJq0D#=w8vhaJ&7grefJqmt&NSryz*O<3ox|)tTsmpXecTIbH9MTv8kP!YuPyd z@CU;L%dzaKY6MghFkUo_9C?M1q<^u^AXN`{-g~c6?9zYvq*Bh!wqpoatZwDHOeXek8_!Zi-(OWln1;Dk;j&u_NPg~b-J3UDf zTyMPvDlIkg1RFCR7@!_E+!L>X=+U+P;aCLdgflLhZJ40dQaco0i1okw#_}psk!W>Cl&zLt)9xj)>Grrxvp? z)Ql-pTAJq86ay@wBaJOaKr>@i;KNU$Zw?Fa-*20j#*Q`2f*hAaYuBdICjAgwIXEck zIxF|JwZ2GI;kf*AqdFDao}0Kxbse&I7@Vv>hvIINsY6>mVM&5k@*UKfFM@XOu@B5F znfU;C|NW+94mZuM_!cl~jdf^4AZ@&%g%{NnNzI%~X z4lXruzSa91u|HWh0>{~^p-!LP)EU8mE*b&nRTsA(*w39OLqZE6plYbBt!trD69`!@ z7rJC;x3s>H4y}9@)aPEZ->R z=u^g?j+-al*2H0;uiFUak-yoiGqak(X;XX{3$J6&rnwc1fQBfuU@QbQpOswy{3rb5 z#~Xo8DQcToLUVc1$o^$^U0V3LU{8|smRk_G>MBt4be%K;^wc}z|j2TAy zmSv4iq^+N^cCllnnusE^ga?_6tQw5tiYrWacchxrnFMIRANtBQP#$~MbZ6VuSTZx1 zIW{BQG`Ft`SUx}Y0;3iJn&aBp&CWq*>g%stw?Zx#5ayi>?^p=2j}L{lt+I>;$;B-h zjSz5Le?9aqTcEQCsd?Z^rU3f3+n_C6Y)a;I@BrR<=Yg~--Y7l*t_e!!Sj~o30-6KR zxYqi>flz18Y(GadT99#JRgMvfJhytbL;E2_^1Xyi3UlkNQ0L4sef-V6YiR`NdnZjX zb?C4b2n2BIS!dv;v(JU{#PgutHpgbL2XN|ClWL&RG*=0%S_;(1nK5D|pt&Z_F~>l@ z@It5@AKg|0M6_ULhi+CDsI{Ocq5$jA91@lMa>wip8FqYE1H?@LICCD zj2mx+`uy{N-28^>R>0@+<9RWf^a)_VUXB>p{(%PLPHThU>atN9UACk{w!6 zHSDdcg9!hmadykM#qi9U4L29)iS<(+g9K{tQp0J&2f%>?n;rl;1hlU8G^zIbHU1te zpaBFv`P>M?ikJ%;2*7dm)keuZt3pYI$74$9R#lF|!rdV19@T^sxJYDYLyR5`{qxTw zdyY7;rAK$TZoVQq;+SLrI@0`@G;Q4`_#b}SOii+@g(NelP4x;hO0gB=yKewrtD7AC zh+_ma^Kk^;`2e(QcVvLE8~ogJK?@duBC*FtKe7W?@|RQLIHZ=%I21N`z25^!I{m!? z=%GWQ7ZmK$YHPWUQ0DcQe5@P|hu0vh480yln zdN+}zX8-=6-Mdpo=4d!pQseq|Iw6=Qch8OTm&9J&f z320I^sGolcZC#71YAr{UlVeI}3q8)QYoTUvQfk6SS&}fQqp?To1o?~;;W+nHh)5QZ z;HNmDtnWyxVw8bc2lesiL6vEcHpPra9B343Mr_8nKtqy>2So#DMTJ^Y26fTW=)Ml@ zZDuehO1T!@%ll$#1N@^KlzElY0msROkk38Mr2cB&k|3e=rKM2*{)+t`z({FR3}%j+ zYo0b0%bK=#Z99M_O@p?y1Zv6hRH+c{jkx*WA4+`+RxCpdF^rD;IYj@%U?%?so0WhL zrA9u8Sno9%8%#22yHWi|@<-s;eW;V?w5zPE7?tVutP|M6oFnFI?_0qR&g|>Es zy)|Fj-{oMEtPL~@0|0-3^d4yOQI|-^4F5xZH5r3MkL~3$&Yc=D0_e z@Qp@x_Vnp38I3re*%zUtUBXX{(18H7uZp4numh;Bfxf%av>!8{U7EK>8iU$`f&v-% zFqK3z39n7C-iH{_7p^DnhX|D$i=|^W&6QU`dG;myb>>KnMxjg-)|ss|&9${gLtH3-{l+Xi#oUJ?d*WLU}X| z(xzBv=Im@PY8h(DHqEuMQqkXbYXLRg0C)W!g83pM%^Jc7C3zgHR?2ek_gjQxW3XjcTFqeG;s2rPN&*@a(u^WM>Uj}>! z2pFx{rd0INNO*1ly09?yB`K_!r9*~m$}Nya9%t49X{|A%QSow<(I_1}fGyIdf=-jx z7>%r0t0?-=H*7=Tg*T(~=0?$9DlchTlES8usfT}K!nsCwq~qaY*G!_+_YsCP~QBo?VvE5$Jol_n-&eSt*l$3i$es*#lM8( z@=GG?!yKDYu?p(b|FS=7t~Ev@4m4tGhK>5Xu?<`V>5GL>=YDOQ$`dafT9kFOweV)V zvk2ZNpI8LvU;flG1&Ey{i%X&WBTX2MIBhDt5PT|PGh$g=U5E0<$IwbDV!10lt|fZS z69`<>Sa_31Wm{?F1eZh%><8DhNf3GAraJ+B!zL&XK4~urOlyord;na&5b)cZpV(yS z8+-^n|0eY9KPI>%DZgEZu3wi`Ue0B`!;05?y~AX{mg4mZEkTwWuKOlK8Wgm2u$r-~ z49asa1K~A55_(8{HygFHTck}@0c#?VjmP&0%kI*5R3h-qD;a09YqfYi+oKyA8s-Th zQbXKm)mG>_99Lfk$A!NzUQhkI)h2I--KM!nX;X$|UH}9vOq;T39kp-Eq0Ii+eqBEH z`7EuHq_KUAi;aMnMuR7f8z(ocU;pI(I!HHg=1=VX+H?oIz>hc_?uYJ#Ua`uM%xS@B z#07f7)28<9IzVX~%TjRx%;q%%W4S+?YuV*J^L6MO!-&hHxzGMfp6d(L2S+dtMAM&NWp{;#v3FIa4U+SDnhm?5Cyj7C+vfG@uQYHMQi zndks|<^nmc*fQo=hS=Uc@ zmzS>yb=U*}G-gbmufG0W0Owfp#Dl04!)bEcZA}ZohfH(q0o=yf(QSA$Z2~ma)IoXa zT|-J|VEdxp<+`N%;>C?=MlD2Io!2`-0%m5Mb=|Jr2ubEg9%)$!zMLs-eI}066wun5 zjZj{ildd^}ZS5+NuHT$pUj9t@MJ)hbpP%1f$nrt}Vd=(pp(XvFYgC)!*o+p8MqyEN ztU9D4poyT&dLLT(>ezJqbl4W6?G3U#rdx6G);0mnfAo93vvlB!LsGi!oioy=9(*tY zqtPPMX%cGb2xvYGuHB5lKWArRFcPom8`-6$jL{}~T*On9zo1|o3Gq^^MCj@8hT1#^ zLozon1kW|I*D={R$7X~L&;WF$x%9D|Tlv1O*+91SRt{?LL3#Dx&{wv?9BT9Ww)6OU zNr>OOOG;)pzb@kP?j1F1kXu!`Q1h|rJuiDkXB+_8G{>1HAPAO<2uP-uN&RO?5oMRUU`qJh61?#;5?jZpaXKzr4H|0{HLfmggY3 zDs%vBUI?CxS?=1>I&TI`+N~Sn19UQ$R#g#r?oE?pBLkZdVy1iFzKLS}`W7tet-kv8 z1qEXS@F|4I%fLA&Wylc=!3P?GlDUnvrE~%`+nxV!5!BD-r_T!(!)^(p8lC7D+2!Tm zM7ph2K(m{|=ksVlYedr=gL(J1=t4l#1kkjv2Fhz6 zLSMHzGXYIhBZRojQ(F3IYkS`2X~Up6(Dk~m=R@IEJ{0Pafy94LHbW=doZtQw+T!K0do0ssbBMn3$nvj6aq;fB08N18 zFDRHmLi{bGBJeEQfQY6!e;u%UI}m6T}6 zp_DzmUmu)#>S!E0co4dE=?phh2wO=%t7%XdltBIW7Z$CIE!~hHy2)Ku_8i-d;sP|^ zROj{fm4uj|s(RqIELDVu8m77CX;UnjE4QI;ZzU?0SD?J46l>S6#qM3Zp{i=DfaUIg z*wi|pS;D&<4)pHP9m9tng%b-4aQtz@k(ZleO4AraK$=fSTfQ2~JD&k{DdNaW!X^^1 zISUvgN=tuetNV5hoP0QJ@OpnEfLQ<>Nf>K-br~|vaUpnS&JQ+!O*M9{T87dE-{7mS z=3(cKozVHP*qWLVHY=9QKW^UACg2ZfCuX00diTOF&paI`pL9G9>(Lz^F6j~TN|C`+ zr@ZtYh{`iV^B_XbMm6W{R+F>wsbyRD#Ys{Fuy!!eN2sk|{R{q2$Yw6w1 z8I2f>Ti30@2mkmRR+g1uU$t3Nq)8pac192jphI1S)RV5AJK@+NgWx@G1PVqRizE8? zh0`HNA+-tmnoUqs9{uy5P*b%hCJ={@As#?Cp9Ak|c9sVth8~SefAKR68+sIS zStU^;m<&0?rOpTCgL%-Fl*F|hX>^lMCYskEuGt*?i`a2-MEN=BNpoL&vYL=&@G06D;E`$iH1lit}rsvH&eKJZ zo*>$_jv3J0agEp8(+SMZR5PB${LGUlH?1~Rvj@Ar{StFO`2^pTE=OI1b)?@`1Dbcc zQ&u*9R&+crJmoa>XSaNF&tm2Rnx{8k)wFSW%a`wr7RYhw(BYle<>wblvivcC!(x4? zZP&L}2%c+auP_V2t3+6_ej{Fa|6}~HyAqNG&Il_3t&@%cJ$m7$i!VjdQAfkk+Lt6# z0Zp_+7vj8}($Zz|;3O^y%@3lYB4BVo)IvahuhJ~?4+WE``w59_OWlPe1qPRG&T5@p% zn%A(_v`xPc;G}rorj*^olKJG5&Ft(xeZs0uG1>T1pgw{FN(lG^3M$rbz?&a`jvsdI zw#~7^FT{XeJ#qbc7oh0qp~!N&+K-saL_iZQ)&hYGb62kXDPC+O1ZaM!|G49Z>JG#67Mh*xG!`7j8q7I& zze2znX_pMZCM`)ac;}>{L*VcZg6J71AEf~Nii*YGt-##>x5$vzP3*rBUgu~5&GxFn z{rY3v>0=Ew!{czqEgWdyKBx*uMx33~1y>9mj>Ecj zizD_qd~gKf;`6(9o2gyt+KAT3LR{u5EiJcdh?WAHr*pf~KBl#ZRi%ol^TaMDfCI}XWLZ+2DXDVWdduNvBLLo4$4_M zop4E~Zs_N5XHeOM#CAyl`v{omk)&Di+MAPlC~V$&Fy7;y{l&E=0SKBF5?h2!xSPey zHD+l*tZ^FAOw@7- z9eU`#p+mbnv$7rpaE&314x+Z*kk%@eNIHxn55b&5oePCR;PjkMxHPXDj&x>L<&Q+S zPyh-Mz2tGZridj=DiiH5()~#TbffyA>(B4c*u7e0QXwJ>R+^#K-^#PA_=0Vz-^OCiy!G1Yu zYqKDHDk-SiwHue_cEi!GEa-{y5+r%tN$6e|LcFVM+Mlz_%adCBBB>HOv@n#P-^(w{ z&k}I)!3Jtxg8;~g?sOk~Qkkc(6Y#$7_urUEj7GFCSxNxSg9!#QJw?E{gH8R2b~8HQ zbzDdA-7HnTDcU60MAsl?faZbLj~v-gND^nd{O({oC?>j58F;?}Azmd-yF1xxM)=yK z6wt;&ao8}I-|c2e&DM{D#-x{lfJ|h_eCT`0;Kki_3EUU=GvNf$|ZE;L6MVftEzrSlJt05yUEiLHEB8~ z0`>~v7EkBSuP4K463w)21GJ%j6csreh%OeoJ`F+~bud~$qS>SjxQ5N{Yxl>sOwAHv zj@9n$Smtjlpbbz@ohk)B_+SJPJ-(lm@2pq`f9TpYSplNYHBI|V&Lx+uurkmnp4r(B z=+K}!o?6nh#{}>zI#j4Ap1n-@JzT(tgm};6a@{T#FOG_PF4==j8$cV3^Fp#Dja>?pXsY$TYEP+Gz#o(4_o@g~#edF9H~qDHI7-ZAb?6 z!x;lhRp8p(($ZCl<^Wnf-?RiYPtx!#%JL16q(1^+zOJ+#tJRy5ru`XV-vIuhDay0C zQPSI{dM;@V61IZW6Xi=pe+6*bAyB6p9*xg4=(%JeCOU;!Zl@Kay%k7nK!*ljlb_$q zAUURE{j`FObIQay)^0JL#n96Q!gw|DOdSqQE_ z{u=;XBI-~}(h4xyI00|zy8cXd*RJ2$B$XQ18 zV)vWfp#UAem_|wGf`XGF1ebN@peHu>WgUbENIvK>3E~zK;!CHlzu_n=Ti6k#aio{0 z!vZ=q*>yvPxCeCY+D{Jzj+Z6rJPjBtfc^&ouo=kPLG(3A(ua~PFLPH_eJ|FpXDddB zZ5{Sk{LI`E!wI6lf=x^!E5 z3@>w#HZk&Ye+g$;l??@duo|$a{oC%^n2^IN{cURiDkBFFoXuAOZ1EQ}a zAxd2y&!%~9w=#C#JguYZ#?db2K@aFi3&ok~5F)qE?d~rVjRbI%PBcIg;s^osCLm7$ zxxt#}R`d2LLANuj4mHFPZbX|I#GK|NNm5xuAh5l&%T=4sK|;|2(CX_B0XoVR<>Uhd z0y#ci&(VmwLXr-XfgXaWs}A%NKwqxeNJ4ZML|k(%2SRuRkxWDmevA-8C9Yvjw6NSN@F!b*ME|QsPafs9bB$DEL!9{*rjhYTlN0|0V*5uZ%gvl P00000NkvXXu0mjfqi8l8 diff --git a/src/static/meta/favicon-16x16.png b/src/static/meta/favicon-16x16.png index f9d752ab3a91067bb98f5d2fd5df2bda193ddee5..4e23f755526af0fb4640c5bce622c6adc2cce0ec 100644 GIT binary patch delta 610 zcmV-o0-gPZ1&9TZF@HiyL_t(IPnDC)YEw}ZhQEDoX>xLDlctxX5C@@DFb!=TbRyU{ z(1BAYK7p^`gE(>`;zT+r6cj-nDJm$46VYnZCa2BqoRf3ia%!#An1XA(*0=xl?|+Fa ztLu^prAkQ05kpm-)PiUH{vNRieWl?_-S}EzfH+JEmmJgGBbdv`u$w1^3_>_ro6Bn!@tF zLr2T=B40QM83WvIx9Dw@G1D4q*TMMG;i;Lz3Jq?yM?9FDClulgA{wjfvJ{3OB?@rs zsKe*w0vS!B^?zLo`#s(iO}=|+u6i*oUFWNjIsptc4YA%>lh=D)5@rIp*6;ClHcuuV zP!tMNogvS|2yW0on0MBwM)IxQ|lfpk&%?N{g}`@F;|)kz>X2_*j{yI1I_PMt?jkE&gTVX^=Eka=F^Z_X9Qu zA+=$MmC>p8C9bYvjU2Y;QVjhJT`$Q+5^u>_4st1vl6goN##H9h7&4}Q;IU-+>{K%x zOGr*4iY3lSU^zv+D1Ewugsk4dpo>rh^_q#4lAIk;YkRyZPvN)`$?r)Ceh^{1Fo>3Z zD-b9mq+6P?NvSro3o5aU$qgfFhaNA>DY|_hMNv*5K@c%?BV6A^G*|AjY&Ke&`CFqY=rpA|Q;CH4=cqPmoyyr=)M&BLDyZ07*qoM6N<$f}&s;-T(jq delta 607 zcmV-l0-*hf1%(BWF@HZvL_t(IPnDBPNK|1I$A91b<~nm77cI=7BqG9AVRtOh7QrM% z1V&->*aSfiL4}J7+qVx~MEKZ5L9_~?Kufe7e1JG5DQL-*(hvwCF7(dpeqY?HGtOuP z9q#6S=luWY^*@4bwpL$nOT&n1I0YQ=-CF+;LJYY|b%&>?KYx`%MBzs_HCbuL=|qT| zK=FMWzeelckY%-t@o~rV`GGz-o$d!tmI1^jkJj4@9SMa(XFU=>!ihw>(Yno#k`j6G z0`hbeWB)!_`HlLuj5|Dv`{wNykq|vrA`uf_&xT=4`PGEOm>u_!M-G9?d%eTr0_0t? z&-+j_^QDz&rGHd|NZa;P4Yxdx(cFx*41zza(pa-n*8i%HXpPjcbTX!NpkN$qL-JwDu1#?0s;Zd)-%ZS=O9qQ>Z8X5 zXXduRdn#c)jr(DW+;AN7`67YeLZKR;YwIr z-^l#%K2l_$ssc<&u5S=`WU_Pj$>!-*y~G@HgTM$Ne~ih z=>sHEUy#aM5CtLLT7e4XA+7oZ2vHRz6fRPw!UN(7m507Sk+=zjKv3ESg#t+(JBee* z_O9dg&d%&y51g5%B5~}v=|jaxqtVRnne#i}_x=B8R~$ZaOn>qL9^&wkE-433Gg06D1d$^<*~#4)R!8Jy>^-B?;B&*)d*7kJu4x0+6M$0AUPyF zzAQUTH8!yQ2!E>+uwJ&gBz0cy8Q}Lly>x|!WM|dAV*p#i>GkWJ4qRGC>MV`+qup>B zeSMB!JUE86)M9473BKgpwY^+$3OhpBQ6Dg*uEm~G=6aD0#8gGU_;-!I<^g=8g_PmmKO(W1S5h@V}pYe zyJ@bwSf;^b%j4lot9*5&ifL%{l?(iP#Um)}0R&&WI?pS8yZGxiS;%%nOG+k!E}Fcx zbWADv`qeqUF*3$z&1QPHNhb)HUv+VVh-pNY{C^jBl}LbsV{xqwMzJrm>9Ms2EyLh9 zJ=IM)*f0zhO^Xa*FphY7@hWC|D}bu}54mmLD3ysd!Ei+&q$EsIQYo?ghyg$1AC^v( zN}@Q$u#0F~F8O#E5DQo^?M(pZ%4L2$Fr)yEN!8u%bSMRWG<$((#wNICS=0&yx? z-hT=`MTb4jHXpmP&U3qqG~F&Y+94y82N8ym1@Ecr*Z7xH`V9#B> z%-_lte%{wl8oI14&5@=ld#Ys~vQ0j**yf8B3qJ}e*$#H!2#M~X5YEoM%?rb$%sI}M zrMLyaJDNzz@s7)9Rw!E-G44g3MUYJArU;gt3=VUDA^jA1(wq)2R)Cc zmag%{;i(Hy_Sz7Mm7$zUJ3_j<_d~3X)f@x5+ zO>EO(VMF80#RXpJAK+J8$bVCkO$sPhDJ9i{$JmgE5HSPmF;AXb=VvoL{4Pl;YJU}u z4-YZaXz{>Xi~R6l4a?B6EgccZoc#MD>#^jUwQ)jh5L<6dceKFJVx~u2G{YlKAPQ6N zcN0E;zQv#GCH^>BCNu>58Yw5=c6s^3V`vCU&2>J0euZnc#!K}A?HGc%gqKuFxN}Pu zGn;;p2r5p*_+XPbPKe_)^SiglWPd11dGwzf>}^F{u9^gz;Qp0>ztkM|-H0g%39pV6 z_`@!XSOZjvgmDqc%{=6)Z0dvp!C<9BwRnRlmf6OmEZIHaVCbs9L2oBw zd@bg{N|*aqLw-G0WUj|#wxp}wm^1}lml%dllBC3mB#b0(P@o-DNn~E88GpdcE&mI$ z%4E2A6;BXv#~GXGEqNW6dt7F1md0cppiuCeDEsxC*{%&+0x-auwAz zjC9tzdq`z&$*mcXpc67sx{gfaY$CN9)6^InDI!R-K?+knuQwx3U2OCH6FESVkXaT+ zNd|418c8ZM8}e&P6s7oak$+B_?-!c@OwFZYtdge5y90YG7WHA}p8`-X%jK&#Lrz|F z`R;>#$TTJSZ%+uLlpu)FG=XI)3zUUw_4)gPFeOysl)Feo-yJd_5)6DCt%IKW+2%7i z;4oS%D(%(UQCo(B7;lD|1q$G%{9ZS~_hWQJ!?E;i&rqMK$(1^R0)GsZB_^pca(gSj z*#V(!#ymV~(D7VaS_iwV@|#bdoheML*fJ%s<$vIQI)(x{h08nH`YbrB+$U!5u+gYB4)T=Dto{>r-mZYQGMiO>x}(aC?l zDKK^9)u1d$=?2P2T~Ps?xI>%D(|&YNaIjCZ=(q4pKkH~JXllUCfM)kHf37C#co8i( u$}&)N^mocwsivwyW+4n?l?4s6P~$)2E}?g{oy^7n0000>Go6{X=z5yWUTgjT-g~Y8tgYy!Nm*He&$4DIrGKUfxPjpc3IP%D0@svC zwZKW2!*NtqRq6kFG}V)bzqE9uGK`fryb8E_@{g|j4A?KW{c(0}?UhV1X$eSqxvSIf zUn}q?kkw1zWVfKewid%!T~bxmkt#<@0)Dr91aL@{8vB6231Ld)JcjX7_PKNQ$@#hw zXfG}G7>4mZFn{p>0FTSj@wHc{%Ed$5FXCVQ}$vBK7rHXUB7dWbiZGWi$2xcb=Z9~n-c1|B9$SuepO*?fMH64l{$&sR$AOGYr4EhDsd zFOChohsRT?pe%mH zm@xyXsl>TtK5FPtC@c;y@7%GIQ$L*y|6cjtD#i^PMqt&t?su-iw`|5}yoNN~AaM8y z#?uq9jvr4TprA^hKojs#0)g@4aXdB%$AocESky(pvTfQre3+&Km(Ndd%?9MAE}uAy zfq(n&z@2}<>&Loy8Oz&_efDgEt3b0Rpk>SvTTulCkd=iw^LZSlqZ0^dpZDKg&4edM zGp+I>aw7w{uN}O;2!Xn*gw9qY!60}OTG`SBf3%!y^)2;8|+hgq?m zJa23IoojGyQ39bqE)Y8TE9lLoAdq+kT7T6eh`~_zF@LVf@z2xwA1}nN6R;^*8E=(}Yg^lDdT>G8`_#ZfzJJ z;h0n&ZpA+BJenZ5{|Hv4R`|5GJFO6P6=h)o47kb(E5L^^x~Hhqb-L{u}S#Xd%QG1KQbAviyu)(_UOTfw@<5_J^+-0rwzXD{Nfl|nz65jZBLv&L9QyGTM}Izz zWm#bYhG8&o@)QHPK(a_4S30;xx`@Kw0oBP7#MYIZ3$4R(m#Mt_jI*Ke?* zxP(!zTzw`HP|HpSo_;8eMf7DX*BY*`!KsU&XX|+^kL8G-gzlk~*U>XpqK8uIe5Y;C zDTo`#V;*U#>zXLE?X?Qt_^(ehmtm}qjp51Udpx@beVih4K#5d5@Z&U@X@=*yF1;50 iJU2wD?LI!w{{?bKoW*(i#tr)b0000*><0EI*&& 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 g&o^qgdHOZZT=V?d^80%YHR;Iu99e}nSt)Bpeg literal 15406 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 diff --git a/src/static/plugin.png b/src/static/plugin.png index 04f8d354ed2b15c647ed9ef1c6433b604f116b2b..1d43d76a9d1e616f689f575af8a9596d2d7f2013 100644 GIT binary patch delta 5007 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 delta 4908 zcmV+{6VvR%G=MXZI06P|u{w+blbHe-limUolbHe*lLrGAlNSXhvqS@G0+V|N_kZ#I zFLwX{62D1AK~#90?VWpc6jh$bf45%!3?T$iFl2JV36CTKLY8$|h4nC;#W@`3q3p&L zlpP=J5qI`1tj-87%$^lzgaubc3~1!Y$V>(t#=$w`&gweLjG)3nfej=E2zg*aVkeNK zpH+45-9H+tyX)1}o$jO?>vQ^#>VI3ees!z*Tfh7I-D*@?S_(Ec`2aK81+cNPiY-=~ zyulW$P2OOO)h2JS#cGo`*kZNG8@SOfKyn%y8sfj!*4E~ZHJgznZ#-*lZEaLoDz#~8 zXlO{9C$rYFceqVFdEi-XvQ7Nsl*?6(Emj+V+}5Z<-iTFs`r~h_)+Hz@4Sx*{sr~@g ztr@u@RUuP4JepWrTdQoORQOy*x%@PKlz8&E&8qyU@#)IFNKdI&tm)=drKfSYvRBzP zlBn9&+OMFwQtSDR?nA1r`MeQpev!7?M$4hbKOxEkqtc&BYS#0sR1WDrlX=q&7#XZT z>o;~EU)vN>2}`w0dpEN2)PLDxO~CpsHqSZC#@VQoQsLv9q**Hw007GUcvh2Pe2X2O zG^~N9>!X{JG-uMowH+)NakP(?wx?*+21qHtwr!Bo_2z+CZET|09W0x?!4|7c-e8N> zCU3CCYLhqEVztQ|Y_Zzp4QWmaco4dkGSdj6av8 zQ?fijX+{fd^Yta=an>r1yVv2kOAsbA$-VMdg#1a8ejSM%lcaP@Xk&AY6vSG^ajRXf zZwdmN`e{Crq+OwqEm@o4U`ebFgr0D@RymylLc=-PFT>$&!JyqRut^WLu&~fP$6Stk zv7q2?hl3rSQURcv8IIE0hcNP>p;B;Ed z-*6pmdZvn$S+Z2H(Y@Xrx!Y!9T`CAK6co6uI8;i35Fi9BRPhL4qsQ~0HN8foaxxN& zlp}XsA=k>2`xv^+`8>bX>ox03VGN=O7z4wAAb=nM0Ei-pB7YD9EDM4Ftf7Go9#21| zzl}tOQTR-91AX{|uZ3w5tanJc!@w6 zwt2nZ85r=VGCp9^epQK2>n!6_bZ@$Lm&H}J+VYr(C+p@+)vWIGrh8J|vn0J;pt;)? z@33z9hmVd}?{_+H)AfavLLk5{Ud%oD6e=%+fgb2+1b4ux4u|gPr?BkfF4vY|&|-15D=3V9Fx}{M^Kf_FvzQyy#pKxZ%41~K z93%N!zg-sZw)wFcL@mlO2tDp{>14zhM3Gy&j(hA8@cZE6DIgdS1Bd|xfDljsmIH(U z5CDJ}hJT)R`tecujkk@O0Z~>soehylhlRncl&;@;PG#M&#Y1Z2*2kF~l4^4z<7O=y zG|FJ{;TcKPGP>XCEY?=pgaF3;kN=ICUjyxDfXaXvU`%JSTrT=WtGKIy4h2BqO)@$V zdf4gQ6bPhKd;l1B)noqi>l)9J|H!ymBPXibn}07Ph}DhI3f&Q

A2W85mZ6eJ8)> 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 diff --git a/src/templates/base.html b/src/templates/base.html index 8be459c..1ea9ce3 100644 --- a/src/templates/base.html +++ b/src/templates/base.html @@ -23,7 +23,7 @@ - + @@ -32,7 +32,7 @@ - + OSRS Bot Detector @@ -99,17 +99,7 @@

-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/templates/pages/account_search.html b/src/templates/pages/account_search.html index ec11498..4cd3f27 100644 --- a/src/templates/pages/account_search.html +++ b/src/templates/pages/account_search.html @@ -14,7 +14,7 @@

- Bot Detector + Bot Detector

Account Search

@@ -101,4 +101,4 @@

Get Bot

-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/templates/pages/contact.html b/src/templates/pages/contact.html index 044ec63..50751a3 100644 --- a/src/templates/pages/contact.html +++ b/src/templates/pages/contact.html @@ -14,7 +14,7 @@
- Bot Detector + Bot Detector

Contact us

@@ -47,4 +47,4 @@

Contact us

-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/templates/pages/contributors.html b/src/templates/pages/contributors.html index adae3d3..7459f24 100644 --- a/src/templates/pages/contributors.html +++ b/src/templates/pages/contributors.html @@ -14,7 +14,7 @@
- Bot Detector + Bot Detector

Contributors and Supporters

@@ -112,4 +112,4 @@

Get Bot

-{% endblock %} \ No newline at end of file +{% endblock %} diff --git a/src/templates/pages/cookies.html b/src/templates/pages/cookies.html new file mode 100644 index 0000000..864c08c --- /dev/null +++ b/src/templates/pages/cookies.html @@ -0,0 +1,28 @@ +{% extends "base.html" %} + +
+
+
+
+
+
+
+
+
+ Bot Detector +
+

Privacy Policy & Cookies

+

+ To do. +


+ If your question still has not been answered - feel free to message us on + Discord. +

+
+
+
+
+
+ + +{% block content %} diff --git a/src/templates/pages/faq.html b/src/templates/pages/faq.html index ca30d44..7dd949b 100644 --- a/src/templates/pages/faq.html +++ b/src/templates/pages/faq.html @@ -9,7 +9,7 @@
- Bot Detector + Bot Detector

Frequently asked Questions

@@ -112,9 +112,9 @@

Using the plugin

Plugin settings


-
+
-
+ @@ -230,10 +230,9 @@

Description

+

-
-

@@ -434,6 +433,7 @@

+
diff --git a/src/templates/pages/home.html b/src/templates/pages/home.html index 2d1b2a2..67610bd 100644 --- a/src/templates/pages/home.html +++ b/src/templates/pages/home.html @@ -14,7 +14,7 @@
- Bot Detector + Bot Detector

Bot Detector

@@ -74,4 +74,4 @@

-{% endblock %} \ No newline at end of file +{% endblock %} From 58915d932d89a925f1040a47d135b674fea7f7fd Mon Sep 17 00:00:00 2001 From: mitsuki-jpg <157184169+mitsuki-jpg@users.noreply.github.com> Date: Wed, 24 Jan 2024 22:17:36 +0100 Subject: [PATCH 04/10] Update cookies.py --- src/api/cookies.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/api/cookies.py b/src/api/cookies.py index 72d0c2a..d9aa7ba 100644 --- a/src/api/cookies.py +++ b/src/api/cookies.py @@ -7,5 +7,5 @@ @router.get("/") -async def contact(request: Request) -> HTMLResponse: +async def cookies(request: Request) -> HTMLResponse: return templates.TemplateResponse("pages/cookies.html", {"request": request}) From 9f7664631c77f5556ff0e3585f5d8933984adb94 Mon Sep 17 00:00:00 2001 From: extreme4all <40169115+extreme4all@users.noreply.github.com> Date: Wed, 24 Jan 2024 22:32:06 +0100 Subject: [PATCH 05/10] bug fix: register cookies route --- src/api/__init__.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/api/__init__.py b/src/api/__init__.py index 5eee9a0..220216d 100644 --- a/src/api/__init__.py +++ b/src/api/__init__.py @@ -1,6 +1,6 @@ from fastapi import APIRouter -from src.api import account_search, contact, contributors, faq, home, monitoring +from src.api import account_search, contact, contributors, faq, home, monitoring, cookies router = APIRouter() router.include_router(monitoring.router, prefix="/monitoring") @@ -9,3 +9,4 @@ router.include_router(contributors.router, prefix="/contributors") router.include_router(contact.router, prefix="/contact") router.include_router(faq.router, prefix="/about") +router.include_router(cookies.router, prefix="/cookies") \ No newline at end of file From 8ec66bad3d7d7c67ba48ba5b7b89bcfdadf98899 Mon Sep 17 00:00:00 2001 From: extreme4all <> Date: Wed, 24 Jan 2024 22:56:43 +0100 Subject: [PATCH 06/10] bug fix: endblock --- src/api/cookies.py | 22 +++++----- src/templates/base.html | 2 +- src/templates/pages/cookies.html | 73 ++++++++++++++++++++------------ 3 files changed, 57 insertions(+), 40 deletions(-) diff --git a/src/api/cookies.py b/src/api/cookies.py index d9aa7ba..4f12b48 100644 --- a/src/api/cookies.py +++ b/src/api/cookies.py @@ -1,11 +1,11 @@ -from fastapi import APIRouter, Request -from fastapi.responses import HTMLResponse - -from src.core.config import CONFIG, templates - -router = APIRouter() - - -@router.get("/") -async def cookies(request: Request) -> HTMLResponse: - return templates.TemplateResponse("pages/cookies.html", {"request": request}) +from fastapi import APIRouter, Request +from fastapi.responses import HTMLResponse + +from src.core.config import CONFIG, templates + +router = APIRouter() + + +@router.get("/") +async def cookies(request: Request) -> HTMLResponse: + return templates.TemplateResponse("pages/cookies.html", {"request": request}) diff --git a/src/templates/base.html b/src/templates/base.html index 1ea9ce3..352177b 100644 --- a/src/templates/base.html +++ b/src/templates/base.html @@ -101,7 +101,7 @@ diff --git a/src/templates/pages/cookies.html b/src/templates/pages/cookies.html index 864c08c..0e6e010 100644 --- a/src/templates/pages/cookies.html +++ b/src/templates/pages/cookies.html @@ -1,28 +1,45 @@ -{% extends "base.html" %} - -
-
-
-
-
-
-
-
-
- Bot Detector -
-

Privacy Policy & Cookies

-

- To do. -


- If your question still has not been answered - feel free to message us on - Discord. -

-
-
-
-
-
- - -{% block content %} +{% extends "base.html" %} + +{% block content %} +
+
+
+
+
+
+
+
+
+ Bot Detector +
+

Privacy & Cookies Policy

+

+

+ The bot detector website does not have cookies. +

+

+ The bot detector project detects the following information from players that you see in oldschool runescape when you have the plugin installed: + reported_name, reporting_name, region_id, x_coord, y_coord, z_coord, timestamp, manual_detect, + on_members_world, on_pvp_world, world_number, equip_head_id, equip_amulet_id, + equip_torso_id, equip_legs_id, equip_boots_id, equip_cape_id, equip_hands_id, + equip_weapon_id, equip_shield_id, equip_ge_value +

+

+ When reporting as Anonymous user (default) than the reporting_name is not tracked. +

+
+

+ If your question still has not been answered - feel free to message us on +

+ + + Discord. +

+
+
+
+
+
+ + +{% endblock %} \ No newline at end of file From e81fe451af18588e2a7125c9f7f692bb87e30780 Mon Sep 17 00:00:00 2001 From: extreme4all <> Date: Wed, 24 Jan 2024 23:09:26 +0100 Subject: [PATCH 07/10] fix faq again --- src/templates/pages/faq.html | 865 ++++++++++++++++++++--------------- 1 file changed, 484 insertions(+), 381 deletions(-) diff --git a/src/templates/pages/faq.html b/src/templates/pages/faq.html index 7dd949b..f0a51fe 100644 --- a/src/templates/pages/faq.html +++ b/src/templates/pages/faq.html @@ -15,429 +15,532 @@

Frequently asked Questions

Have a question about the plugin? We've answered most of them here! If your question still has not been answered - feel free to message us on - Discord. + + Discord.


- -
-
-
-

- -

-
-
- The OSRS Bot Detector plugin is an open-source community-run machine learning plugin made for Old School - RuneScape using the popular third-party client RuneLite. The plugin aims to use machine learning algorithms to - separate players from bots and send likely bot accounts to Jagex's anti-cheating team for swift removal. +
+
+
+

+ +

+
+
+ The OSRS Bot Detector plugin is an open-source community-run machine + learning plugin made for Old School + RuneScape using the popular third-party client RuneLite. The plugin aims to use machine + learning algorithms to + separate players from bots and send likely bot accounts to Jagex's anti-cheating team for + swift removal. +
+
-
-
-
-
-

- -

-
-
- The OSRS Bot Detector plugin works by sending nearby players' information to our machine learning algorithm, - trained - with data provided by Jagex Moderators. The algorithm then processes this information and assesses it for - bot-like - behavior. If a player is determined to be a likely bot account, their information is sent to Jagex's - anti-cheating - team for swift removal. +
+
+

+ +

+
+
+ The OSRS Bot Detector plugin works by sending nearby players' information to our machine + learning algorithm, + trained + with data provided by Jagex Moderators. The algorithm then processes this information and + assesses it for + bot-like + behavior. If a player is determined to be a likely bot account, their information is sent + to Jagex's + anti-cheating + team for swift removal. +
+
-
-
-
-

Getting started

-

- Installing the plugin -

-
-
    -
  1. -
    -
    Open Runelite
    - You can download from runelite.net or Oldschool RuneScape website -
    - 1 -
  2. -
  3. -
    -
    Click on the wrench icon in top-right of the sidebar
    - This will open an additional menu -
    - 2 -
  4. -
  5. -
    -
    Click on the 3rd button on very top
    - This will open an RuneLite plugin hub. -
    - 3 -
  6. -
  7. -
    -
    Type in Bot Detector like
    - This is our official plugin name. -
    - 4 -
  8. -
  9. -
    -
    Click install button at
    - Accept the warning message. (See the FAQ below if you have questions about this) -
    - 5 -
  10. -
  11. -
    -
    Done!
    - You have successfully installed our plugin and can conquer bots. -
    - 6 -
  12. -
-
-

Using the plugin

-

- Plugin settings -

-
- -
- - +
+

Getting started

+

+ Installing the plugin +

+
+
    +
  1. +
    +
    Open Runelite
    + You can download from runelite.net or Oldschool RuneScape website +
    + 1 +
  2. +
  3. +
    +
    Click on the wrench icon in + top-right of the sidebar
    + This will open an additional menu +
    + 2 +
  4. +
  5. +
    +
    Click on the 3rd button on very top
    + This will open an RuneLite plugin hub. +
    + 3 +
  6. +
  7. +
    +
    Type in Bot Detector + like
    + This is our official plugin name. +
    + 4 +
  8. +
  9. +
    +
    Click install button at
    + Accept the warning message. (See the FAQ below if you have questions about this) +
    + 5 +
  10. +
  11. +
    +
    Done!
    + You have successfully installed our plugin and can conquer bots. +
    + 6 +
  12. +
+
+

Using the plugin

+

+ Plugin settings +

+
+
- -
-
-

Setting type

-
-
-

Setting name

-
-
-

Description

-
-
- -
-
-

Upload Settings

-
-
-

Anonymous Uploading

-
-
-

When enabled, your username will not be sent with your uploads. You also cannot manually flag players.

-
-
-
-
-

Upload Settings

-
-
-

Send Names Only After Logout

-
-
-

Recommended for players with low bandwidth.

-
-
+ +
+
+

Setting type

+
+
+

Setting name

+
+
+

Description

+
+
-
-
-

Upload Settings

-
-
-

Attempt Send on Close

-
-
-

Attempts to upload names when closing Runelite while being logged in. Take note that enabling this option may cause the client to take a long time to close if our servers are being unresponsive.

-
-
+ +
+
+

Upload Settings

+
+
+

Anonymous Uploading

+
+
+

When enabled, your username will not be sent with your uploads. You also cannot manually + flag players.

+
+
-
-
-

Upload Settings

-
-
-

Send Names Every x mins

-
-
-

Determines how often the information collected by the plugin is flushed to our servers. The maximum rate is once per 5 minutes.

-
-
+
+
+

Upload Settings

+
+
+

Send Names Only After Logout

+
+
+

Recommended for players with low bandwidth.

+
+
-
-
-

Panel Settings

-
-
-

Prediction Autocomplete

-
-
-

Allows for prediction auto-completion for dialogue box entry.

-
-
+
+
+

Upload Settings

+
+
+

Attempt Send on Close

+
+
+

Attempts to upload names when closing Runelite while being logged in. Take note that + enabling this option may cause the client to take a long time to close if our servers are + being unresponsive.

+
+
-
-
-

Panel Settings

-
-
-

Show Breakdown in Special Cases

-
-
-

Displays the Prediction Breakdown when predicting certain types of accounts, such as ones with 'Stats Too Low'.

-
-
+
+
+

Upload Settings

+
+
+

Send Names Every x mins

+
+
+

Determines how often the information collected by the plugin is flushed to our servers. + The maximum rate is once per 5 minutes.

+
+
-
-
-

Panel Settings

-
-
-

Show Feedback Textbox

-
-
-

Adds a textbox to the prediction feedback panel, so you can explain your choice in up to 250 characters. Make sure you type your feedback before you make your choice!

-
-
+
+
+

Panel Settings

+
+
+

Prediction Autocomplete

+
+
+

Allows for prediction auto-completion for dialogue box entry.

+
+
-
-
-

Panel Settings

-
-
-

Panel Default Stats Tab

-
-
-

Sets panel default stats tab when the Plugin turns on.

-
-
+
+
+

Panel Settings

+
+
+

Show Breakdown in Special Cases

+
+
+

Displays the Prediction Breakdown when predicting certain types of accounts, such as ones + with 'Stats Too Low'.

+
+
-
-
+
+
+

Panel Settings

+
+
+

Show Feedback Textbox

+
+
+

Adds a textbox to the prediction feedback panel, so you can explain your choice in up to + 250 characters. Make sure you type your feedback before you make your choice!

+
+
+
+
+

Panel Settings

+
+
+

Panel Default Stats Tab

+
+
+

Sets panel default stats tab when the Plugin turns on.

+
+
-
-
-
-
-

- -

-
-
- The OSRS Bot Detector plugin is an open-source community-run machine learning plugin made for Old School - RuneScape using the popular third-party client RuneLite. The plugin aims to use machine learning algorithms to - separate players from bots and send likely bot accounts to Jagex's anti-cheating team for swift removal. -

The OSRS Bot Detector plugin has several settings that can be configured by the user. These include:

-
    -
  • Anonymous Uploading: When enabled, your username will not be sent with your uploads. You - also cannot manually flag players. -
  • -
  • Send Names Only After Logout: Recommended for players with low bandwidth.
  • -
  • Attempt Send on Close: Attempts to upload names when closing Runelite while being logged - in. Take note that enabling this option may cause the client to take a long time to close if our servers are - being unresponsive. -
  • -
  • Send Names Every x mins: Determines how often the information collected by the plugin is - flushed to our servers. The maximum rate is once per 5 minutes. -
  • -
  • Prediction Autocomplete: Allows for prediction auto-completion for dialogue box entry.
  • -
  • Show Breakdown in Special Cases: Displays the Prediction Breakdown when predicting certain - types of accounts, such as ones with 'Stats Too Low'. -
  • -
  • Show Feedback Textbox: Adds a textbox to the prediction feedback panel, so you can explain - your choice in up to 250 characters. Make sure you type your feedback before you make your choice! -
  • -
  • Panel Default Stats Tab: Sets panel default stats tab when the Plugin turns on.
  • -
+
+
+
+
+
+

+ +

+
+
+ The OSRS Bot Detector plugin is an open-source community-run machine + learning plugin made for Old School + RuneScape using the popular third-party client RuneLite. The plugin aims to use machine + learning algorithms to + separate players from bots and send likely bot accounts to Jagex's anti-cheating team for + swift removal. +

The OSRS Bot Detector plugin has several settings that can be configured by the user. + These include:

+
    +
  • Anonymous Uploading: When enabled, your username will not be sent + with your uploads. You + also cannot manually flag players. +
  • +
  • Send Names Only After Logout: Recommended for players with low + bandwidth.
  • +
  • Attempt Send on Close: Attempts to upload names when closing + Runelite + while being logged + in. Take note that enabling this option may cause the client to take a long time to + close if our servers are + being unresponsive. +
  • +
  • Send Names Every x mins: Determines how often the information + collected by the plugin is + flushed to our servers. The maximum rate is once per 5 minutes. +
  • +
  • Prediction Autocomplete: Allows for prediction auto-completion for + dialogue box entry.
  • +
  • Show Breakdown in Special Cases: Displays the Prediction Breakdown + when predicting certain + types of accounts, such as ones with 'Stats Too Low'. +
  • +
  • Show Feedback Textbox: Adds a textbox to the prediction feedback + panel, so you can explain + your choice in up to 250 characters. Make sure you type your feedback before you + make + your choice! +
  • +
  • Panel Default Stats Tab: Sets panel default stats tab when the + Plugin + turns on.
  • +
+
+
-
-
- -
-
-

- -

-
-
- Yes, the OSRS Bot Detector plugin is safe to use. It is an open-source community-run project and its code is - publicly available for review on GitHub. However, as with any third-party software, it is always a good idea to - exercise caution and use it at your own risk. +
+
+

+ +

+
+
+ Yes, the OSRS Bot Detector plugin is safe to use. It is an open-source community-run + project + and its code is + publicly available for review on GitHub. However, as with any third-party software, it is + always a good idea to + exercise caution and use it at your own risk. +
+
-
-
- -
-
-

- -

-
-
- There are several ways you can contribute to the OSRS Bot Detector plugin project. You can join the project's - Discord server to get involved in the community and provide feedback or suggestions. You can also support the - project on Patreon or contribute code to the project's GitHub repository. +
+
+

+ +

+
+
+ There are several ways you can contribute to the OSRS Bot Detector plugin project. You can + join the project's + Discord server to get involved in the community and provide feedback or suggestions. You + can + also support the + project on Patreon or contribute code to the project's GitHub repository. +
+
-
-
-
-
-

- -

-
-
- The accuracy of the OSRS Bot Detector plugin depends on several factors, including the quality and quantity of - data used to train its machine learning algorithms and the effectiveness of those algorithms in identifying - bot-like behavior. The plugin's developers are constantly working to improve its accuracy by collecting more - data and refining its algorithms. +
+
+

+ +

+
+
+ The accuracy of the OSRS Bot Detector plugin depends on several factors, including the + quality and quantity of + data used to train its machine learning algorithms and the effectiveness of those + algorithms + in identifying + bot-like behavior. The plugin's developers are constantly working to improve its accuracy + by + collecting more + data and refining its algorithms. +
+
-
-
-
-
-

- -

-
-
- No, the OSRS Bot Detector plugin is not capable of detecting all types of bots. Some bots may use advanced - techniques to avoid detection, and it is always possible for new types of bots to emerge that the plugin is not - yet capable of detecting. However, the plugin's developers are constantly working to improve its ability to - detect a wide range of bot-like behavior. +
+
+

+ +

+
+
+ No, the OSRS Bot Detector plugin is not capable of detecting all types of bots. Some bots + may + use advanced + techniques to avoid detection, and it is always possible for new types of bots to emerge + that + the plugin is not + yet capable of detecting. However, the plugin's developers are constantly working to + improve + its ability to + detect a wide range of bot-like behavior. +
+
-
-
-
-
-

- -

-
-
- Like any automated system, the OSRS Bot Detector plugin is not perfect and may occasionally produce false - positives or false negatives. Some players have expressed concern that certain types of accounts, such as - high-level 1 defense pures, may be more likely to be flagged as bots by the plugin due to their training - patterns[^1^][1]. The plugin's developers are aware of these concerns and are constantly working to improve the - accuracy of the plugin's algorithms. +
+
+

+ +

+
+
+ Like any automated system, the OSRS Bot Detector plugin is not perfect and may + occasionally + produce false + positives or false negatives. Some players have expressed concern that certain types of + accounts, such as + high-level 1 defense pures, may be more likely to be flagged as bots by the plugin due to + their training + patterns[^1^][1]. The plugin's developers are aware of these concerns and are constantly + working to improve the + accuracy of the plugin's algorithms. +
+
-
-
-
-
-

- -

-
-
- Some players have expressed concern that botters may be able to use the open-source nature of the OSRS Bot - Detector plugin to learn how their accounts are being scored and adjust their behavior to reduce their profiling - score[^1^][1]. While this is a possibility, it is important to note that the plugin's developers are constantly - updating its algorithms and collecting new data to stay ahead of botting techniques. Additionally, Jagex's - anti-cheating team uses a variety of methods to detect and ban bots, so avoiding detection by the OSRS Bot - Detector plugin alone is not enough to guarantee that a bot account will not be banned +
+
+

+ +

+
+
+ Some players have expressed concern that botters may be able to use the open-source nature + of + the OSRS Bot + Detector plugin to learn how their accounts are being scored and adjust their behavior to + reduce their profiling + score[^1^][1]. While this is a possibility, it is important to note that the plugin's + developers are constantly + updating its algorithms and collecting new data to stay ahead of botting techniques. + Additionally, Jagex's + anti-cheating team uses a variety of methods to detect and ban bots, so avoiding detection + by + the OSRS Bot + Detector plugin alone is not enough to guarantee that a bot account will not be banned +
+
-
-
-
-
-

- -

-
-
- Some players have expressed concern that the OSRS Bot Detector plugin may be invasive because it collects and - sends information about nearby players to a third-party server for analysis. However, it is important to note - that the plugin only collects publicly available information, such as player names and stats from the hiscores. - Additionally, the plugin has settings that allow users to control what information is sent and when it is sent. - The plugin's developers are committed to protecting user privacy and ensuring that the plugin operates in a - transparent and responsible manner. +
+
+

+ +

+
+
+ Some players have expressed concern that the OSRS Bot Detector plugin may be invasive + because + it collects and + sends information about nearby players to a third-party server for analysis. However, it + is + important to note + that the plugin only collects publicly available information, such as player names and + stats + from the hiscores. + Additionally, the plugin has settings that allow users to control what information is sent + and when it is sent. + The plugin's developers are committed to protecting user privacy and ensuring that the + plugin + operates in a + transparent and responsible manner. +
+
-
-
-
-
-

- -

-
-
- Some players have expressed concern that the OSRS Bot Detector plugin could potentially hurt legitimate players - if it produces false positives and mistakenly flags them as bots. While this is a possibility, it is important - to note that Jagex's anti-cheating team uses a variety of methods to detect and ban bots, and a single flag from - the OSRS Bot Detector plugin alone is not enough to result in a ban. Additionally, the plugin's developers are - constantly working to improve its accuracy and reduce the likelihood of false positives. +
+
+

+ +

+
+
+ Some players have expressed concern that the OSRS Bot Detector plugin could potentially + hurt + legitimate players + if it produces false positives and mistakenly flags them as bots. While this is a + possibility, it is important + to note that Jagex's anti-cheating team uses a variety of methods to detect and ban bots, + and + a single flag from + the OSRS Bot Detector plugin alone is not enough to result in a ban. Additionally, the + plugin's developers are + constantly working to improve its accuracy and reduce the likelihood of false positives. +
+
-
-
-
-
-

- -

-
-
- Some players have questioned the effectiveness of using machine learning algorithms to detect bot-like behavior, - given that some legitimate players may exhibit similar behavior patterns to bots on certain days. While it is - true that no automated system is perfect and there is always a possibility of false positives or false - negatives, machine learning algorithms have proven to be effective at detecting patterns and making predictions - in many different fields. The OSRS Bot Detector plugin's developers are constantly collecting new data and - refining their algorithms to improve their accuracy in detecting bot-like behavior. +
+
+

+ +

+
+
+ Some players have questioned the effectiveness of using machine learning algorithms to + detect + bot-like behavior, + given that some legitimate players may exhibit similar behavior patterns to bots on + certain + days. While it is + true that no automated system is perfect and there is always a possibility of false + positives + or false + negatives, machine learning algorithms have proven to be effective at detecting patterns + and + making predictions + in many different fields. The OSRS Bot Detector plugin's developers are constantly + collecting + new data and + refining their algorithms to improve their accuracy in detecting bot-like behavior. +
-
-
-
-{% endblock %} +{% endblock %} \ No newline at end of file From e850d9078098bdb8e428167cc21a099575dc1eea Mon Sep 17 00:00:00 2001 From: extreme4all <> Date: Wed, 24 Jan 2024 23:11:28 +0100 Subject: [PATCH 08/10] improve cicd --- .github/workflows/hetzner-dvp-workflow.yml | 2 +- .github/workflows/hetzner-prd-workflow.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/hetzner-dvp-workflow.yml b/.github/workflows/hetzner-dvp-workflow.yml index 923129d..1c3ae2d 100644 --- a/.github/workflows/hetzner-dvp-workflow.yml +++ b/.github/workflows/hetzner-dvp-workflow.yml @@ -59,7 +59,7 @@ jobs: valueFile: "${{ steps.vars.outputs.VALUE_FILE }}" token: ${{ secrets.HETZNER_ACTIONS_RUNNER_TOKEN }} commitChange: true - branch: "${{ steps.vars.outputs.GIT_HASH }}" + branch: "${{ steps.vars.outputs.GIT_HASH }}-${{ steps.vars.outputs.VALUE_FILE }}" targetBranch: develop masterBranchName: develop createPR: true diff --git a/.github/workflows/hetzner-prd-workflow.yml b/.github/workflows/hetzner-prd-workflow.yml index 905c1aa..ab70f12 100644 --- a/.github/workflows/hetzner-prd-workflow.yml +++ b/.github/workflows/hetzner-prd-workflow.yml @@ -59,7 +59,7 @@ jobs: valueFile: "${{ steps.vars.outputs.VALUE_FILE }}" token: ${{ secrets.HETZNER_ACTIONS_RUNNER_TOKEN }} commitChange: true - branch: "${{ steps.vars.outputs.GIT_HASH }}" + branch: "${{ steps.vars.outputs.GIT_HASH }}-${{ steps.vars.outputs.VALUE_FILE }}" targetBranch: develop masterBranchName: develop createPR: true From ea7a5141273a7ae11ce54f7900678de9b02d0013 Mon Sep 17 00:00:00 2001 From: extreme4all <> Date: Wed, 24 Jan 2024 23:23:35 +0100 Subject: [PATCH 09/10] improve cicd v2 --- .github/workflows/hetzner-dvp-workflow.yml | 51 ++++++++++++++-------- .github/workflows/hetzner-prd-workflow.yml | 51 ++++++++++++++-------- 2 files changed, 68 insertions(+), 34 deletions(-) diff --git a/.github/workflows/hetzner-dvp-workflow.yml b/.github/workflows/hetzner-dvp-workflow.yml index 1c3ae2d..369a347 100644 --- a/.github/workflows/hetzner-dvp-workflow.yml +++ b/.github/workflows/hetzner-dvp-workflow.yml @@ -16,15 +16,15 @@ permissions: write-all env: VALUE_FILE: bd-web-dvp/deployment.yaml REGISTRY: quay.io/bot_detector/bd-web - + ENVIRONMENT: dvp # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - # This workflow contains a single job called "build" + # This workflow contains two jobs: build_image and update_image_version build_image: # The type of runner that the job will run on - runs-on: [self-hosted,hetzner] - + runs-on: [self-hosted, "hetzner"] + if: github.repository_owner == 'Bot-detector' # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it @@ -35,35 +35,52 @@ jobs: id: vars run: | echo "GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_OUTPUT - echo "REGISTRY=$REGISTRY" >> $GITHUB_OUTPUT - echo "VALUE_FILE=$VALUE_FILE" >> $GITHUB_OUTPUT - # Runs a command using the runners shell - - name: docker build - run: docker build . --file Dockerfile --network=host -t "$REGISTRY:${{ steps.vars.outputs.GIT_HASH }}" - - name: login to registry - run: echo "${{ secrets.QUAY_REGISTERY_PASSWORD }}" | docker login -u="bot_detector+quay_robot" quay.io --password-stdin + - name: Docker Build + run: | + docker build . --file Dockerfile --network=host -t "${REGISTRY}:${{ steps.vars.outputs.GIT_HASH }}" --target production --build-arg api_port=5000 --build-arg root_path="" + + - name: Login to Quay registry + run: echo "${{ secrets.QUAY_REGISTERY_PASSWORD }}" | docker login -u "bot_detector+quay_robot" quay.io --password-stdin + + - name: Tag image + run: | + docker tag "${REGISTRY}:${{ steps.vars.outputs.GIT_HASH }}" "${REGISTRY}:${ENVIRONMENT}" + + - name: Docker Push image to Quay registry + run: | + docker push "${REGISTRY}:${{ steps.vars.outputs.GIT_HASH }}" + docker push "${REGISTRY}:${ENVIRONMENT}" - - name: docker push image to registry - run: docker push "$REGISTRY:${{ steps.vars.outputs.GIT_HASH }}" + update_image_version: + runs-on: [self-hosted, "hetzner"] + if: github.repository_owner == 'Bot-detector' + needs: build_image # This ensures that the build_image job is completed before running this job + steps: - name: Checkout Target Repository uses: actions/checkout@v3 with: repository: Bot-detector/bot-detector-k8s + - name: Set vars + id: vars + run: | + echo "GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_OUTPUT + - name: Update Image Version uses: fjogeleit/yaml-update-action@main with: repository: Bot-detector/bot-detector-k8s - valueFile: "${{ steps.vars.outputs.VALUE_FILE }}" - token: ${{ secrets.HETZNER_ACTIONS_RUNNER_TOKEN }} + valueFile: ${{ env.VALUE_FILE }} + token: "${{ secrets.HETZNER_ACTIONS_RUNNER_TOKEN }}" commitChange: true - branch: "${{ steps.vars.outputs.GIT_HASH }}-${{ steps.vars.outputs.VALUE_FILE }}" + title: "${{ steps.vars.outputs.GIT_HASH }}_${{ env.VALUE_FILE }}" + branch: "${{ steps.vars.outputs.GIT_HASH }}_${{ env.VALUE_FILE }}" targetBranch: develop masterBranchName: develop createPR: true changes: | { - "spec.template.spec.containers[0].image":"${{ steps.vars.outputs.REGISTRY }}:${{ steps.vars.outputs.GIT_HASH }}" + "spec.template.spec.containers[0].image": "${{ env.REGISTRY }}:${{ steps.vars.outputs.GIT_HASH }}" } \ No newline at end of file diff --git a/.github/workflows/hetzner-prd-workflow.yml b/.github/workflows/hetzner-prd-workflow.yml index ab70f12..ecf9b3b 100644 --- a/.github/workflows/hetzner-prd-workflow.yml +++ b/.github/workflows/hetzner-prd-workflow.yml @@ -16,15 +16,15 @@ permissions: write-all env: VALUE_FILE: bd-web-prd/deployment.yaml REGISTRY: quay.io/bot_detector/bd-web - + ENVIRONMENT: prd # A workflow run is made up of one or more jobs that can run sequentially or in parallel jobs: - # This workflow contains a single job called "build" + # This workflow contains two jobs: build_image and update_image_version build_image: # The type of runner that the job will run on - runs-on: [self-hosted,hetzner] - + runs-on: [self-hosted, "hetzner"] + if: github.repository_owner == 'Bot-detector' # Steps represent a sequence of tasks that will be executed as part of the job steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it @@ -35,35 +35,52 @@ jobs: id: vars run: | echo "GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_OUTPUT - echo "REGISTRY=$REGISTRY" >> $GITHUB_OUTPUT - echo "VALUE_FILE=$VALUE_FILE" >> $GITHUB_OUTPUT - # Runs a command using the runners shell - - name: docker build - run: docker build . --file Dockerfile --network=host --target production -t "$REGISTRY:${{ steps.vars.outputs.GIT_HASH }}" - - name: login to registry - run: echo "${{ secrets.QUAY_REGISTERY_PASSWORD }}" | docker login -u="bot_detector+quay_robot" quay.io --password-stdin + - name: Docker Build + run: | + docker build . --file Dockerfile --network=host -t "${REGISTRY}:${{ steps.vars.outputs.GIT_HASH }}" --target production --build-arg api_port=5000 --build-arg root_path="" + + - name: Login to Quay registry + run: echo "${{ secrets.QUAY_REGISTERY_PASSWORD }}" | docker login -u "bot_detector+quay_robot" quay.io --password-stdin + + - name: Tag image + run: | + docker tag "${REGISTRY}:${{ steps.vars.outputs.GIT_HASH }}" "${REGISTRY}:${ENVIRONMENT}" + + - name: Docker Push image to Quay registry + run: | + docker push "${REGISTRY}:${{ steps.vars.outputs.GIT_HASH }}" + docker push "${REGISTRY}:${ENVIRONMENT}" - - name: docker push image to registry - run: docker push "$REGISTRY:${{ steps.vars.outputs.GIT_HASH }}" + update_image_version: + runs-on: [self-hosted, "hetzner"] + if: github.repository_owner == 'Bot-detector' + needs: build_image # This ensures that the build_image job is completed before running this job + steps: - name: Checkout Target Repository uses: actions/checkout@v3 with: repository: Bot-detector/bot-detector-k8s + - name: Set vars + id: vars + run: | + echo "GIT_HASH=$(git rev-parse --short "$GITHUB_SHA")" >> $GITHUB_OUTPUT + - name: Update Image Version uses: fjogeleit/yaml-update-action@main with: repository: Bot-detector/bot-detector-k8s - valueFile: "${{ steps.vars.outputs.VALUE_FILE }}" - token: ${{ secrets.HETZNER_ACTIONS_RUNNER_TOKEN }} + valueFile: ${{ env.VALUE_FILE }} + token: "${{ secrets.HETZNER_ACTIONS_RUNNER_TOKEN }}" commitChange: true - branch: "${{ steps.vars.outputs.GIT_HASH }}-${{ steps.vars.outputs.VALUE_FILE }}" + title: "${{ steps.vars.outputs.GIT_HASH }}_${{ env.VALUE_FILE }}" + branch: "${{ steps.vars.outputs.GIT_HASH }}_${{ env.VALUE_FILE }}" targetBranch: develop masterBranchName: develop createPR: true changes: | { - "spec.template.spec.containers[0].image":"${{ steps.vars.outputs.REGISTRY }}:${{ steps.vars.outputs.GIT_HASH }}" + "spec.template.spec.containers[0].image": "${{ env.REGISTRY }}:${{ steps.vars.outputs.GIT_HASH }}" } \ No newline at end of file From 2cf27ed9fb2d32ba5156fe7b2ab935c53f51a20f Mon Sep 17 00:00:00 2001 From: extreme4all <> Date: Wed, 24 Jan 2024 23:31:38 +0100 Subject: [PATCH 10/10] port: 8000 --- .github/workflows/hetzner-dvp-workflow.yml | 2 +- .github/workflows/hetzner-prd-workflow.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/hetzner-dvp-workflow.yml b/.github/workflows/hetzner-dvp-workflow.yml index 369a347..e1c49da 100644 --- a/.github/workflows/hetzner-dvp-workflow.yml +++ b/.github/workflows/hetzner-dvp-workflow.yml @@ -38,7 +38,7 @@ jobs: - name: Docker Build run: | - docker build . --file Dockerfile --network=host -t "${REGISTRY}:${{ steps.vars.outputs.GIT_HASH }}" --target production --build-arg api_port=5000 --build-arg root_path="" + docker build . --file Dockerfile --network=host -t "${REGISTRY}:${{ steps.vars.outputs.GIT_HASH }}" --target production --build-arg api_port=8000 --build-arg root_path="" - name: Login to Quay registry run: echo "${{ secrets.QUAY_REGISTERY_PASSWORD }}" | docker login -u "bot_detector+quay_robot" quay.io --password-stdin diff --git a/.github/workflows/hetzner-prd-workflow.yml b/.github/workflows/hetzner-prd-workflow.yml index ecf9b3b..9dde709 100644 --- a/.github/workflows/hetzner-prd-workflow.yml +++ b/.github/workflows/hetzner-prd-workflow.yml @@ -38,7 +38,7 @@ jobs: - name: Docker Build run: | - docker build . --file Dockerfile --network=host -t "${REGISTRY}:${{ steps.vars.outputs.GIT_HASH }}" --target production --build-arg api_port=5000 --build-arg root_path="" + docker build . --file Dockerfile --network=host -t "${REGISTRY}:${{ steps.vars.outputs.GIT_HASH }}" --target production --build-arg api_port=8000 --build-arg root_path="" - name: Login to Quay registry run: echo "${{ secrets.QUAY_REGISTERY_PASSWORD }}" | docker login -u "bot_detector+quay_robot" quay.io --password-stdin