From 1a8c697f00413297dbfdc1d9f15b3e2163b5adef Mon Sep 17 00:00:00 2001 From: Cedarflake Date: Sat, 18 Jul 2026 02:02:55 +0800 Subject: [PATCH 1/5] feat(campus-net): adapt portal login and GUI --- workbench/network/campus-net/.gitignore | 6 + workbench/network/campus-net/README.md | 136 +- .../network/campus-net/assets/app-icon.ico | Bin 0 -> 73734 bytes .../network/campus-net/assets/app-icon.png | Bin 0 -> 620551 bytes .../network/campus-net/campus_net/__init__.py | 1 + .../campus-net/campus_net/aggregate.py | 573 ++++++ .../campus-net/campus_net/application.py | 77 + .../network/campus-net/campus_net/captive.py | 251 +++ .../network/campus-net/campus_net/config.py | 535 +++++ .../campus-net/campus_net/config_paths.py | 106 + .../campus-net/campus_net/config_store.py | 511 +++++ .../network/campus-net/campus_net/gui.py | 1745 +++++++++++++++++ .../network/campus-net/campus_net/gui_core.py | 462 +++++ .../campus-net/campus_net/interactive.py | 95 + .../network/campus-net/campus_net/legacy.py | 186 ++ .../network/campus-net/campus_net/runner.py | 104 + .../network/campus-net/campus_net/sso.py | 330 ++++ .../campus-net/campus_net/window_state.py | 221 +++ .../network/campus-net/config.example.json | 21 +- .../campus-net/config.legacy.example.json | 9 + .../campus-net/docs/new-portal-adaptation.md | 431 ++++ workbench/network/campus-net/gui.spec | 39 + workbench/network/campus-net/gui_main.py | 36 + workbench/network/campus-net/main.py | 227 +-- workbench/network/campus-net/pyproject.toml | 5 +- .../campus-net/tests/test_aggregate.py | 569 ++++++ .../campus-net/tests/test_application.py | 154 ++ .../network/campus-net/tests/test_captive.py | 298 +++ .../campus-net/tests/test_captive_config.py | 201 ++ .../network/campus-net/tests/test_config.py | 166 +- .../campus-net/tests/test_config_paths.py | 273 +++ .../campus-net/tests/test_config_store.py | 429 ++++ .../network/campus-net/tests/test_gui_core.py | 534 +++++ .../campus-net/tests/test_gui_entry.py | 167 ++ .../network/campus-net/tests/test_legacy.py | 30 + .../network/campus-net/tests/test_sso.py | 226 +++ .../campus-net/tests/test_window_state.py | 184 ++ workbench/network/campus-net/uv.lock | 718 ------- .../campus-net/workflows/build.example.yml | 126 +- 39 files changed, 9162 insertions(+), 1020 deletions(-) create mode 100644 workbench/network/campus-net/assets/app-icon.ico create mode 100644 workbench/network/campus-net/assets/app-icon.png create mode 100644 workbench/network/campus-net/campus_net/__init__.py create mode 100644 workbench/network/campus-net/campus_net/aggregate.py create mode 100644 workbench/network/campus-net/campus_net/application.py create mode 100644 workbench/network/campus-net/campus_net/captive.py create mode 100644 workbench/network/campus-net/campus_net/config.py create mode 100644 workbench/network/campus-net/campus_net/config_paths.py create mode 100644 workbench/network/campus-net/campus_net/config_store.py create mode 100644 workbench/network/campus-net/campus_net/gui.py create mode 100644 workbench/network/campus-net/campus_net/gui_core.py create mode 100644 workbench/network/campus-net/campus_net/interactive.py create mode 100644 workbench/network/campus-net/campus_net/legacy.py create mode 100644 workbench/network/campus-net/campus_net/runner.py create mode 100644 workbench/network/campus-net/campus_net/sso.py create mode 100644 workbench/network/campus-net/campus_net/window_state.py create mode 100644 workbench/network/campus-net/config.legacy.example.json create mode 100644 workbench/network/campus-net/docs/new-portal-adaptation.md create mode 100644 workbench/network/campus-net/gui.spec create mode 100644 workbench/network/campus-net/gui_main.py create mode 100644 workbench/network/campus-net/tests/test_aggregate.py create mode 100644 workbench/network/campus-net/tests/test_application.py create mode 100644 workbench/network/campus-net/tests/test_captive.py create mode 100644 workbench/network/campus-net/tests/test_captive_config.py create mode 100644 workbench/network/campus-net/tests/test_config_paths.py create mode 100644 workbench/network/campus-net/tests/test_config_store.py create mode 100644 workbench/network/campus-net/tests/test_gui_core.py create mode 100644 workbench/network/campus-net/tests/test_gui_entry.py create mode 100644 workbench/network/campus-net/tests/test_legacy.py create mode 100644 workbench/network/campus-net/tests/test_sso.py create mode 100644 workbench/network/campus-net/tests/test_window_state.py delete mode 100644 workbench/network/campus-net/uv.lock diff --git a/workbench/network/campus-net/.gitignore b/workbench/network/campus-net/.gitignore index e631f1b..49e4563 100644 --- a/workbench/network/campus-net/.gitignore +++ b/workbench/network/campus-net/.gitignore @@ -8,3 +8,9 @@ Auto_Connect_CampusNet.egg-info/ # Local secrets config.json +config.backup.*.json +.config.json.*.tmp +.config.backup.*.tmp +config.*.backup.json + +uv.lock diff --git a/workbench/network/campus-net/README.md b/workbench/network/campus-net/README.md index ec4d933..a9d996a 100644 --- a/workbench/network/campus-net/README.md +++ b/workbench/network/campus-net/README.md @@ -1,33 +1,151 @@ # Campus Net -面向锐捷校园网门户的自动登录脚本,可通过本地配置运行,也可用 PyInstaller 构建为 Windows 可执行文件。 +面向锐捷校园网门户的连接工具,支持旧版 ePortal 和新版 captive SSO。新版适配器完全使用 HTTP 会话复现门户流程,不打开或控制任何浏览器。 + +新版聚合门户不能从固定的 `/sam-sso/login` 地址直接联网。程序会把探测和认证 socket 绑定到指定 Windows 网络接口,从 captive 劫持响应中提取本次连接完整的 `/eportal/index.jsp?...` 入口,再依次完成 SSO、运营商选择和在线确认。接口索引可以属于 Wi-Fi、有线网卡或其他 IPv4 网络接口,不依赖 WLAN 名称。 + +系统图形验证码由门户服务端会话校验,客户端既没有答案也没有可替代答案的令牌。因此: + +- 当前账号不触发验证码时,流程全自动完成。 +- 触发系统图形验证码时,程序用本机原生小窗口显示图片;人工只填写验证码,其余表单和“中国电信”选择仍由程序自动完成。 +- 程序不做 OCR、猜测或验证码绕过,也不支持 Geetest、Google reCAPTCHA 和 USTC 指纹风控。 +- 只有服务端明确返回“验证码错误”时才允许继续输入;结果不明的登录 POST 永远不会自动重放。 + +最终成功必须同时满足门户在线状态和绑定接口上的独立 HTTP 在线指纹,不能只相信门户的“认证成功”页面。 + +新版门户的分析过程、完整请求序列、加密表单、验证码会话和兼容设计见 [新版 captive SSO 适配记录](docs/new-portal-adaptation.md)。 + +## 图形界面 + +Windows 用户可以运行基于 `ttkbootstrap` 的本机图形界面: + +```powershell +uv run python gui_main.py +``` + +界面支持编辑正式的 `version=1` 和 `version=2` 配置、刷新并选择 Windows IPv4 接口、显示或隐藏密码、只读探测、连接、取消和查看过程日志。网卡的 PowerShell 枚举状态会显示为“已连接”“未连接”或“正在认证”。新版触发系统图形验证码时,验证码图片和输入框会直接显示在程序窗口中;程序仍然不打开或控制浏览器。旧版协议没有只读探测能力,界面会禁用对应操作。 + +窗口关闭时会把最后的普通窗口位置、宽高和最大化状态保存到 `%LOCALAPPDATA%\Cedarflake\CampusNet\window-state.json`,下次启动自动恢复。该文件不含账号、密码或门户数据;损坏时会被忽略。若原显示器已断开,窗口会按当前显示器工作区校正,避免恢复到屏幕外。 + +“连接”和“只读探测”使用当前表单内容,不会自动保存密码。需要持久化时必须显式点击“保存配置”。覆盖已有配置前,界面会先把原文件备份到 Windows“文档”目录下的 `CampusNet Backups`,校验备份与原文件的 SHA-256 一致后才原子替换;备份失败或文件在加载后被其他程序修改时,保存会停止且不会覆盖旧文件。内容没有变化时不会重复覆盖或创建无意义备份,新建文件则没有可备份的旧版本。若替换后的最终落盘校验无法确认,界面会把状态标记为不确定并要求重新加载,而不会声称保存失败即代表旧文件仍未改变。 + +GUI 只会写入显式带 `version: 1` 或 `version: 2` 的正式格式。无 `version` 的历史配置仍可由 CLI 兼容运行,但界面不会静默改写。若要指定另一个配置文件,可使用: + +```powershell +uv run python gui_main.py --config C:\path\to\config.json +``` + +打包后的控制台程序会依次检查 `CAMPUSNET_CONFIG`、启动时的当前目录、EXE 同目录,以及 EXE 位于项目 `dist` 时的父项目目录。因此从 `C:\Users\你的用户名` 启动项目 `dist` 中的 EXE,也能找到项目根目录的 `config.json`。父目录必须同时含项目的 `pyproject.toml` 和 `config.example.json`,不会仅凭任意同名 `dist` 目录盲目向上查找。可以用以下命令只核对最终路径;它不会读取配置内容或访问网络: + +```powershell +.\dist\Auto-Connect-CampusNet.exe --print-config-path +``` ## 配置 -真实账号、加密密码和会话 Cookie 不进入 Git。先创建本地配置: +`config.json` 使用扁平配置:`version: 1` 表示旧版 ePortal,`version: 2` 表示新版 captive SSO。迁移已有本地配置前先备份;该文件已在 `.gitignore` 中,不应提交: ```powershell -Copy-Item config.example.json config.json +$ErrorActionPreference = "Stop" +$backupRoot = Join-Path ([Environment]::GetFolderPath("MyDocuments")) "CampusNet Backups" +New-Item -ItemType Directory -Path $backupRoot -Force | Out-Null +if (Test-Path -LiteralPath config.json) { + $backupPath = Join-Path $backupRoot "config.$(Get-Date -Format yyyyMMdd-HHmmss).json" + Copy-Item -LiteralPath config.json -Destination $backupPath -ErrorAction Stop + if ((Get-FileHash -LiteralPath config.json).Hash -ne (Get-FileHash -LiteralPath $backupPath).Hash) { + throw "配置备份校验失败,已停止覆盖" + } +} +if (-not (Test-Path -LiteralPath config.json)) { + Copy-Item -LiteralPath config.example.json -Destination config.json -ErrorAction Stop +} +``` + +新版 captive SSO 只需要填写 6 个顶层字段: + +```json +{ + "version": 2, + "interface_index": 24, + "portal_url": "http://10.71.29.181", + "username": "你的校园网账号", + "password": "你的校园网密码", + "carrier": "中国电信" +} ``` -填写抓包得到的登录地址、账号信息、运营商和身份组。也可以通过 `CAMPUSNET_CONFIG` 指定其他配置文件路径。 +- `version`:新版固定为 `2`;`1` 留给旧版 ePortal。 +- `interface_index`:面向校园网的 Windows IPv4 接口索引。可用 `Get-NetIPInterface -AddressFamily IPv4` 查看;Wi-Fi、以太网或其他 IPv4 接口都可以。 +- `portal_url`:门户根地址,例如 `http://10.71.29.181`。不要填写 `/sam-sso/login` 等深层地址。 +- `username`、`password`:校园网账号和密码。程序直接读取本地配置,不会再次询问密码或读取密码环境变量。 +- `carrier`:运营商显示名。程序会从本次会话的服务列表中找到“中国电信”对应的动态值再提交。 -## 运行 +以下协议参数不再属于用户配置,由代码统一维护:User-Agent、连通性探测指纹、门户入口路径、验证码模式和次数、登录后确认间隔与超时。这样升级门户适配时只改实现,不要求用户同步一组内部常量。 -本项目使用 `uv` 管理 Python 3.11+ 环境: +`config.json` 及其备份包含敏感信息,不要提交或分享。系统验证码关闭窗口会立即取消;服务端明确返回验证码错误时,程序会刷新验证码并继续输入,不设置客户端重试次数上限。 + +先执行只读探测: + +```powershell +uv run python main.py --probe-only +``` + +确认能识别 captive 状态并填写账号、密码后运行: ```powershell -uv sync uv run python main.py ``` -## 构建 +程序不会修改 Windows 路由、网卡随机 MAC、sing-box 或 v2rayN 配置,也不会保存固定 Cookie、`sessionId` 或 ticket。若系统代理接管所有流量,接口绑定仍会让新版 HTTP socket 直接使用配置的校园网接口。 + +## 旧版 ePortal + +旧版也使用扁平配置,不再手写 Cookie 和 Header: + +```json +{ + "version": 1, + "login_url": "http://你的校园网门户/eportal/InterFace.do?method=login", + "username": "你的学号", + "encrypted_password": "你的加密后密码", + "carrier": "旧门户中的运营商值", + "user_group": "旧门户中的身份组", + "session_id": "从旧门户取得的 JSESSIONID" +} +``` + +`user_group` 和 `session_id` 可省略;`encrypted_password` 必须是旧门户原本使用的加密值,不能换成新版明文密码。`carrier`、`user_group` 按旧门户原值填写,不自动解码或重新编码。可直接复制示例: + +```powershell +Copy-Item -LiteralPath config.legacy.example.json -Destination config.json +``` + +兼容规则:没有 `version` 的配置不会被自动改写;带 `adapter: "captive-sso-http"` 的嵌套新版配置继续可用,带 `adapter: "legacy-eportal"` 或没有 `adapter` 的原始 Cookie 配置继续按旧版加载。新建配置只需用 `version` 选择协议。旧版模式仅适用于 `/eportal/InterFace.do?method=login` 协议,不能用于当前聚合 SSO 门户。 + +## 开发与构建 + +本项目使用 `uv` 管理 Python 3.11+ 环境: ```powershell +uv sync +uv run python -m unittest discover -s tests -p "test_*.py" -v uv run pyinstaller --clean --noconfirm build.spec +uv run pyinstaller --clean --noconfirm gui.spec +``` + +`build.spec` 继续生成控制台版 `dist\Auto-Connect-CampusNet.exe`,`gui.spec` 生成无控制台窗口版 `dist\Auto-Connect-CampusNet-GUI.exe`。两个 spec 都不会把 `config.json` 打进 EXE,发布物也不应携带用户配置或备份。 + +构建 GUI 后可运行不读取配置、不访问网络的窗口冒烟检查: + +```powershell +$process = Start-Process -FilePath .\dist\Auto-Connect-CampusNet-GUI.exe ` + -ArgumentList "--smoke-test" -Wait -PassThru +if ($process.ExitCode -ne 0) { + throw "GUI smoke test failed with exit code $($process.ExitCode)" +} ``` -`workflows/build.example.yml` 是 monorepo 下的失活示例,不会被 GitHub Actions 自动执行。需要发布时,应将它复制到仓库根 `.github/workflows/` 并复核版本标签与工作目录。 +`workflows/build.example.yml` 是 monorepo 下的失活构建示例,不会被 GitHub Actions 自动执行。示例会运行测试、构建并冒烟检查两个 EXE、生成 SHA-256 清单,再上传以提交哈希命名的 Actions artifact;启用时应复制为仓库根 `.github/workflows/project-campus-net-ci.yml`。它不会创建标签或 GitHub Release;正式发布需要另行实现符合仓库发布规则的项目级 release 工作流。 ## License diff --git a/workbench/network/campus-net/assets/app-icon.ico b/workbench/network/campus-net/assets/app-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3b2a65cb15bd11a0a671d884bd56d36ea0961e32 GIT binary patch literal 73734 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

9F8gZcbBRA4Ud7B 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

YLCxp8@nspYw2glbRO%oQ_H=g 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 z%0D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

G5?S=ZBnr9)zaO@?}PJ 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�RL*qOsKEld*WW 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%0Aam=-y+Yws430iML|a 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 literal 0 HcmV?d00001 diff --git a/workbench/network/campus-net/campus_net/__init__.py b/workbench/network/campus-net/campus_net/__init__.py new file mode 100644 index 0000000..704ff36 --- /dev/null +++ b/workbench/network/campus-net/campus_net/__init__.py @@ -0,0 +1 @@ +"""Campus network portal adapters.""" diff --git a/workbench/network/campus-net/campus_net/aggregate.py b/workbench/network/campus-net/campus_net/aggregate.py new file mode 100644 index 0000000..e5829d3 --- /dev/null +++ b/workbench/network/campus-net/campus_net/aggregate.py @@ -0,0 +1,573 @@ +from __future__ import annotations + +import asyncio +import base64 +import hashlib +import json +import secrets +import time +from collections.abc import Awaitable, Callable, Collection, Mapping +from dataclasses import dataclass +from urllib.parse import ParseResult, parse_qsl, quote, urlencode, urljoin, urlparse + +import aiohttp + +from .captive import NetworkState, ProbeResult, probe_connectivity +from .config import CaptiveHttpConfig +from .sso import ( + MAX_CAPTCHA_BYTES, + CaptchaRequirement, + LoginResultType, + SsoPage, + SsoProtocolError, + build_login_form, + ensure_supported_challenge, + parse_captcha_requirement, + parse_login_response, + parse_sso_page, + resolve_captcha_url, +) + +PORTAL_MAIN_PATH = "/portal/portal-main" +PORTAL_HEADERS = {"isPortal": "true"} +CAPTCHA_POLICY_PATH = "/sam-sso/api/protected/user/findCaptchaCount/" +DEFAULT_CAPTCHA_SWITCH = "DEFAULT_CAPTCHA_SWITCH" +CSRF_ALPHABET = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789" + +CaptchaProvider = Callable[[bytes, str], Awaitable[str]] + + +class PortalProtocolError(RuntimeError): + pass + + +class PortalTransientError(PortalProtocolError): + pass + + +class AuthenticationRejected(RuntimeError): + pass + + +class AuthenticationUncertain(RuntimeError): + pass + + +@dataclass(frozen=True) +class PortalContext: + session_id: str + custom_page_id: str + nas_ip: str + user_ip: str + user_mac: str + current_node_path: str + + +@dataclass(frozen=True) +class InitializationResult: + probe: ProbeResult + context: PortalContext | None = None + + +class AggregatePortalClient: + def __init__( + self, + session: aiohttp.ClientSession, + config: CaptiveHttpConfig, + ) -> None: + self.session = session + self.config = config + + async def initialize(self) -> InitializationResult: + probe = await probe_connectivity(self.session, self.config) + if probe.state is not NetworkState.CAPTIVE: + return InitializationResult(probe=probe) + if probe.captive_url is None: + raise PortalProtocolError("captive 探测没有返回入口 URL") + + async with self.session.get( + probe.captive_url, + allow_redirects=False, + ) as response: + location = response.headers.get("Location", "") + if response.status != 302 or not location: + raise PortalProtocolError("captive 入口没有返回预期的 302") + + portal_main_url = urljoin(probe.captive_url, location) + self._require_portal_url(portal_main_url, expected_path=PORTAL_MAIN_PATH) + parameters = _unique_query_parameters(portal_main_url) + required = ("sessionId", "customPageId", "nasIp", "userIp", "userMac") + missing = [key for key in required if not parameters.get(key)] + if missing: + raise PortalProtocolError("门户初始化重定向缺少参数:" + ", ".join(sorted(missing))) + + async with self.session.get(portal_main_url, allow_redirects=False) as response: + if response.status != 200: + raise PortalProtocolError(f"portal-main 返回意外状态码 {response.status}") + await response.content.read(64 * 1024) + + session_id = parameters["sessionId"] + await self._query_terminal(session_id) + await self._get_identity_config(session_id) + current_node = await self.get_current_node(session_id) + return InitializationResult( + probe=probe, + context=PortalContext( + session_id=session_id, + custom_page_id=parameters["customPageId"], + nas_ip=parameters["nasIp"], + user_ip=parameters["userIp"], + user_mac=parameters["userMac"], + current_node_path=current_node, + ), + ) + + async def authenticate( + self, + context: PortalContext, + *, + username: str, + password: str, + captcha_provider: CaptchaProvider, + ) -> None: + page = await self._load_sso_page(context) + captcha_error_count = 0 + captcha_required_by_previous_error = False + is_first_submission = True + while True: + ensure_supported_challenge(page) + if is_first_submission: + requirement = await self._get_captcha_requirement(DEFAULT_CAPTCHA_SWITCH) + else: + requirement = await self._get_captcha_requirement(username) + if is_first_submission and not requirement.required: + requirement = await self._get_captcha_requirement(username) + if captcha_required_by_previous_error and not requirement.required: + raise PortalProtocolError( + "服务端刚拒绝了验证码,但新策略没有返回可用图片;未继续提交" + ) + captcha_code = "" + if requirement.required: + image, content_type = await self._load_captcha(page, requirement) + captcha_code = (await captcha_provider(image, content_type)).strip() + if not captcha_code: + raise AuthenticationRejected("未提供验证码") + + form = build_login_form( + page, + username=username, + password=password, + captcha_code=captcha_code, + captcha_required=requirement.required, + ) + try: + async with self.session.post( + page.action_url, + data=form, + headers={ + "Origin": self.config.portal_origin, + "Referer": page.page_url, + }, + allow_redirects=False, + ) as response: + body = await _read_limited_body( + response, + 512 * 1024, + operation="SSO 登录响应", + ) + try: + result = parse_login_response( + status=response.status, + headers=response.headers, + body=body, + page_url=page.page_url, + ) + except SsoProtocolError as error: + raise AuthenticationUncertain( + "SSO POST 已返回但响应无法确认;未自动重放请求" + ) from error + except (aiohttp.ClientError, TimeoutError) as error: + raise AuthenticationUncertain("SSO POST 结果未知;未自动重放请求") from error + + if result.result_type is LoginResultType.SUCCESS: + if result.redirect_url is not None: + try: + async with self.session.get( + result.redirect_url, + headers={"Referer": page.action_url}, + allow_redirects=False, + ) as response: + await response.content.read(64 * 1024) + if response.status != 200: + raise AuthenticationUncertain( + "SSO 成功回调状态未知;未自动重放登录请求" + ) + except (aiohttp.ClientError, TimeoutError) as error: + raise AuthenticationUncertain( + "SSO 成功回调失败;未自动重放登录请求" + ) from error + return + if result.result_type is LoginResultType.CAPTCHA_ERROR: + if requirement.required: + captcha_error_count += 1 + if ( + self.config.captcha_attempts > 0 + and captcha_error_count >= self.config.captcha_attempts + ): + break + page = result.next_page or await self._load_sso_page(context) + captcha_required_by_previous_error = True + is_first_submission = False + continue + if result.result_type is LoginResultType.FAILURE: + error_message = result.error_message.strip() + for secret, replacement in ( + (username, "[账号]"), + (password, "[密码]"), + (captcha_code, "[验证码]"), + ): + if secret: + error_message = error_message.replace(secret, replacement) + if len(error_message) > 200: + error_message = error_message[:200] + "…" + if result.error_code and error_message: + detail = f"{result.error_code}:{error_message}" + else: + detail = result.error_code or error_message or "未提供错误详情" + raise AuthenticationRejected(f"SSO 拒绝登录:{detail}") + raise AuthenticationUncertain("无法确认 SSO POST 的结果;未自动重放请求") + + raise AuthenticationRejected("验证码尝试次数已用完") + + async def wait_for_node( + self, + session_id: str, + expected_paths: str | Collection[str], + *, + timeout_seconds: float = 8, + ) -> str: + paths = ( + frozenset({expected_paths}) + if isinstance(expected_paths, str) + else frozenset(expected_paths) + ) + if not paths: + raise ValueError("expected_paths 不能为空") + loop = asyncio.get_running_loop() + deadline = loop.time() + timeout_seconds + while loop.time() < deadline: + try: + current_path = await self.get_current_node(session_id) + except (PortalTransientError, aiohttp.ClientError, TimeoutError): + await asyncio.sleep(0.5) + continue + if current_path in paths: + return current_path + await asyncio.sleep(0.5) + expected = ", ".join(sorted(paths)) + raise PortalProtocolError(f"门户工作流没有进入以下节点之一:{expected}") + + async def select_service(self, session_id: str, display_name: str) -> None: + response = await self._portal_json( + "POST", + "/eportal/network/serviceSelection", + json={"sessionId": session_id}, + ) + data = _require_success_data(response, "运营商列表") + if not isinstance(data, list): + raise PortalProtocolError("运营商列表 data 不是数组") + + matches = [ + item + for item in data + if isinstance(item, dict) + and isinstance(item.get("key"), str) + and item["key"].strip() == display_name + and isinstance(item.get("value"), str) + and item["value"] + ] + if len(matches) != 1: + raise PortalProtocolError(f"运营商显示名 {display_name!r} 的匹配数量不是 1") + + try: + result = await self._portal_json( + "POST", + "/eportal/network/serviceLogin", + json={"sessionId": session_id, "service": matches[0]["value"]}, + ) + except (PortalProtocolError, aiohttp.ClientError, TimeoutError) as error: + raise AuthenticationUncertain("运营商认证 POST 结果未知;未自动重放请求") from error + try: + result_data = _require_success_data(result, "运营商认证") + except PortalProtocolError as error: + raise AuthenticationRejected("运营商认证被门户明确拒绝") from error + if not isinstance(result_data, dict) or result_data.get("authResult") != "success": + raise AuthenticationRejected("运营商认证没有返回 success") + + async def trigger_online_check(self, session_id: str) -> None: + try: + response = await self._portal_json( + "POST", + "/eportal/network/userOnline", + json={"sessionId": session_id}, + ) + except (PortalProtocolError, aiohttp.ClientError, TimeoutError) as error: + raise AuthenticationUncertain("门户在线检查 POST 结果未知;未自动重放请求") from error + if not isinstance(response, Mapping): + raise AuthenticationUncertain("门户在线检查响应无法确认;未自动重放请求") + if response.get("code") != 200: + raise AuthenticationRejected("门户在线检查被明确拒绝") + data = response.get("data") + if not isinstance(data, dict) or data.get("online") is not True: + raise AuthenticationRejected("门户在线检查明确返回离线") + + async def verify_online(self, session_id: str) -> bool: + loop = asyncio.get_running_loop() + deadline = loop.time() + self.config.verification_timeout_seconds + while loop.time() < deadline: + try: + portal_online = await self._is_portal_online(session_id) + except (PortalTransientError, aiohttp.ClientError, TimeoutError): + portal_online = False + probe = await probe_connectivity(self.session, self.config) + if portal_online and probe.state is NetworkState.ONLINE: + return True + await asyncio.sleep(self.config.verification_interval_seconds) + return False + + async def get_current_node(self, session_id: str) -> str: + response = await self._portal_json( + "POST", + "/eportal/workFlow/getCurrentNode", + json={"sessionId": session_id, "flowKey": "portal_auth"}, + ) + data = _require_success_data(response, "当前工作流节点") + if not isinstance(data, dict) or not isinstance(data.get("currentNodePath"), str): + raise PortalProtocolError("当前工作流节点缺少 currentNodePath") + return data["currentNodePath"] + + async def _load_sso_page(self, context: PortalContext) -> SsoPage: + query = urlencode( + { + "flowSessionId": context.session_id, + "customPageId": context.custom_page_id, + "preview": "false", + "appType": "normal", + "language": "zh-CN", + "nasIp": context.nas_ip, + "userIp": context.user_ip, + "userMac": context.user_mac, + } + ) + page_url = urljoin(self.config.portal_origin, "/sam-sso/login") + "?" + query + async with self.session.get(page_url, allow_redirects=False) as response: + if response.status != 200: + raise PortalProtocolError(f"SSO 登录页返回状态码 {response.status}") + body = await _read_limited_body( + response, + 512 * 1024, + operation="SSO 登录页", + ) + return parse_sso_page(body, page_url) + + async def _get_captcha_requirement(self, username: str) -> CaptchaRequirement: + path = CAPTCHA_POLICY_PATH + quote(username, safe="") + policy_url = _append_get_timestamp(urljoin(self.config.portal_origin, path)) + async with self.session.get( + policy_url, + headers=_protected_sso_headers(), + allow_redirects=False, + ) as response: + if response.status != 200: + raise PortalProtocolError(f"验证码策略返回状态码 {response.status}") + body = await _read_limited_body( + response, + 256 * 1024, + operation="验证码策略", + ) + try: + payload = json.loads(body) + except (UnicodeDecodeError, json.JSONDecodeError) as error: + raise PortalProtocolError("验证码策略返回非 JSON 内容") from error + if not isinstance(payload, Mapping) or payload.get("code") != 200: + code = payload.get("code") if isinstance(payload, Mapping) else None + raise PortalProtocolError(f"验证码策略业务状态不是 200:{code}") + return parse_captcha_requirement(payload) + + async def _load_captcha( + self, + page: SsoPage, + requirement: CaptchaRequirement, + ) -> tuple[bytes, str]: + if requirement.image_path is None: + raise PortalProtocolError("验证码策略没有图片路径") + image_url = _append_get_timestamp( + resolve_captcha_url(page.page_url, requirement.image_path) + ) + headers = _protected_sso_headers() if "protected" in image_url else _sso_headers() + async with self.session.get( + image_url, + headers=headers, + allow_redirects=False, + ) as response: + content_type = response.headers.get("Content-Type", "").split(";", 1)[0] + if response.status != 200 or not content_type.startswith("image/"): + raise PortalProtocolError("验证码图片响应无效") + image = await _read_limited_body( + response, + MAX_CAPTCHA_BYTES, + operation="验证码图片", + ) + return image, content_type + + async def _query_terminal(self, session_id: str) -> None: + response = await self._portal_json( + "GET", + "/eportal/adaptor/queryTerminalInfo", + params={ + "sessionId": session_id, + "macAddr": "", + "_": str(int(time.time() * 1000)), + "version": "this is a git-commit", + }, + ) + data = _require_success_data(response, "终端信息") + if not isinstance(data, dict) or not data.get("ipAddr"): + raise PortalProtocolError("终端信息缺少 IP 地址") + + async def _get_identity_config(self, session_id: str) -> None: + response = await self._portal_json( + "POST", + "/eportal/network/getIdentityConfig", + json={"sessionId": session_id}, + ) + _require_success_data(response, "身份配置") + + async def _is_portal_online(self, session_id: str) -> bool: + response = await self._portal_json( + "GET", + "/eportal/adaptor/getOnlineUserInfo", + params={ + "sessionId": session_id, + "_": str(int(time.time() * 1000)), + "version": "this is a git-commit", + }, + ) + if not isinstance(response, dict) or response.get("code") != 200: + return False + data = response.get("data") + if not isinstance(data, dict) or not data.get("onlineUser"): + return False + online_info = data.get("portalOnlineUserInfo") + return isinstance(online_info, dict) and online_info.get("result") == "success" + + async def _portal_json( + self, + method: str, + path: str, + **kwargs: object, + ) -> object: + async with self.session.request( + method, + urljoin(self.config.portal_origin, path), + headers=PORTAL_HEADERS, + allow_redirects=False, + **kwargs, + ) as response: + if response.status != 200: + if response.status >= 500: + raise PortalTransientError(f"门户请求 {path} 暂时返回状态码 {response.status}") + raise PortalProtocolError(f"门户请求 {path} 返回状态码 {response.status}") + try: + return await response.json(content_type=None) + except (aiohttp.ContentTypeError, ValueError) as error: + raise PortalProtocolError(f"门户请求 {path} 返回非 JSON 内容") from error + + def _require_portal_url(self, url: str, *, expected_path: str) -> None: + target = urlparse(url) + origin = urlparse(self.config.portal_origin) + if ( + _normalized_origin(target) != _normalized_origin(origin) + or target.path != expected_path + or target.params + or target.username is not None + or target.password is not None + or target.fragment + ): + raise PortalProtocolError("门户重定向越出配置的 origin 或路径") + + +def _unique_query_parameters(url: str) -> dict[str, str]: + parameters: dict[str, list[str]] = {} + for key, value in parse_qsl(urlparse(url).query, keep_blank_values=True): + parameters.setdefault(key, []).append(value) + duplicates = sorted(key for key, values in parameters.items() if len(values) != 1) + if duplicates: + raise PortalProtocolError("门户重定向包含重复参数:" + ", ".join(duplicates)) + return {key: values[0] for key, values in parameters.items()} + + +def _require_success_data(response: object, operation: str) -> object: + if not isinstance(response, Mapping): + raise PortalProtocolError(f"{operation}响应不是 JSON 对象") + if response.get("code") != 200: + raise PortalProtocolError(f"{operation}响应 code 不是 200") + return response.get("data") + + +async def _read_limited_body( + response: aiohttp.ClientResponse, + limit: int, + *, + operation: str, +) -> bytes: + body = bytearray() + while True: + remaining = limit + 1 - len(body) + chunk = await response.content.read(min(64 * 1024, remaining)) + if not chunk: + break + body.extend(chunk) + if len(body) > limit: + raise PortalProtocolError(f"{operation}响应过大") + return bytes(body) + + +def _append_get_timestamp(url: str) -> str: + separator = "&" if "?" in url else "?" + return f"{url}{separator}{int(time.time() * 1000)}" + + +def _sso_headers() -> dict[str, str]: + return { + "Accept-Language": "zh-CN", + "sid-language": "zh-CN", + } + + +def _protected_sso_headers() -> dict[str, str]: + csrf_key = "".join(secrets.choice(CSRF_ALPHABET) for _ in range(32)) + encoded_key = base64.b64encode(csrf_key.encode("ascii")).decode("ascii") + midpoint = len(encoded_key) // 2 + csrf_source = encoded_key[:midpoint] + encoded_key + encoded_key[midpoint:] + csrf_value = hashlib.md5( + csrf_source.encode("ascii"), + usedforsecurity=False, + ).hexdigest() + return { + **_sso_headers(), + "Csrf-Key": csrf_key, + "Csrf-Value": csrf_value, + } + + +def _normalized_origin(parsed_url: ParseResult) -> tuple[str, str, int]: + if not parsed_url.hostname: + raise PortalProtocolError("门户 URL 缺少 host") + try: + port = parsed_url.port + except ValueError as error: + raise PortalProtocolError("门户 URL 端口无效") from error + if port is None: + port = 80 if parsed_url.scheme.casefold() == "http" else 443 + return parsed_url.scheme.casefold(), parsed_url.hostname.casefold(), port diff --git a/workbench/network/campus-net/campus_net/application.py b/workbench/network/campus-net/campus_net/application.py new file mode 100644 index 0000000..0ad079f --- /dev/null +++ b/workbench/network/campus-net/campus_net/application.py @@ -0,0 +1,77 @@ +from __future__ import annotations + +import json +from collections.abc import Callable +from dataclasses import dataclass +from typing import Any + +import aiohttp + +from .aggregate import ( + AuthenticationRejected, + AuthenticationUncertain, + CaptchaProvider, + PortalProtocolError, +) +from .config import ( + ADAPTER_CAPTIVE_SSO_HTTP, + ADAPTER_LEGACY_EPORTAL, + build_captive_http_config, + get_adapter, +) +from .interactive import CaptchaPromptError, prompt_captcha +from .legacy import run_legacy +from .runner import run_captive_http +from .sso import SsoProtocolError + +StatusReporter = Callable[[str], None] + + +@dataclass(frozen=True) +class RunErrorInfo: + exit_code: int + title: str + message: str + + +async def execute_config( + cfg: dict[str, Any], + *, + probe_only: bool = False, + captcha_provider: CaptchaProvider = prompt_captcha, + status_callback: StatusReporter = print, +) -> int: + adapter = get_adapter(cfg) + if adapter == ADAPTER_CAPTIVE_SSO_HTTP: + config = build_captive_http_config(cfg) + return await run_captive_http( + config, + probe_only=probe_only, + captcha_provider=captcha_provider, + status_callback=status_callback, + ) + if adapter == ADAPTER_LEGACY_EPORTAL: + if probe_only: + status_callback("legacy-eportal 暂不支持 --probe-only。") + return 2 + return await run_legacy(cfg, status_callback=status_callback) + raise ValueError(f"不支持的 adapter:{adapter}") + + +def classify_run_error(error: BaseException) -> RunErrorInfo | None: + if isinstance(error, (FileNotFoundError, json.JSONDecodeError, TypeError, ValueError)): + return RunErrorInfo(1, "配置错误", str(error)) + if isinstance( + error, + ( + AuthenticationRejected, + AuthenticationUncertain, + CaptchaPromptError, + PortalProtocolError, + SsoProtocolError, + aiohttp.ClientError, + TimeoutError, + ), + ): + return RunErrorInfo(3, "连接失败", str(error)) + return None diff --git a/workbench/network/campus-net/campus_net/captive.py b/workbench/network/campus-net/campus_net/captive.py new file mode 100644 index 0000000..0ab8ad6 --- /dev/null +++ b/workbench/network/campus-net/campus_net/captive.py @@ -0,0 +1,251 @@ +from __future__ import annotations + +import html +import re +import socket +import struct +import sys +from collections.abc import Mapping +from dataclasses import dataclass +from enum import Enum +from html.parser import HTMLParser +from urllib.parse import parse_qsl, urlparse + +import aiohttp + +from .config import CaptiveHttpConfig, ProbeConfig + +MAX_RESPONSE_BYTES = 64 * 1024 +MAX_CAPTIVE_URL_LENGTH = 4096 +REQUIRED_CAPTIVE_PARAMETERS = frozenset({"wlanuserip", "wlanacname", "nasip", "mac"}) +IP_UNICAST_IF = getattr(socket, "IP_UNICAST_IF", 31) + +LOCATION_ASSIGNMENT = re.compile( + r"(?['\"])(?P[^'\"<>]+)(?P=quote)", + re.IGNORECASE, +) + +AddressInfo = tuple[ + int, + int, + int, + str, + tuple[str, int] | tuple[str, int, int, int], +] + + +class NetworkState(Enum): + ONLINE = "online" + CAPTIVE = "captive" + UNKNOWN = "unknown" + + +class CaptiveParseError(ValueError): + pass + + +@dataclass(frozen=True) +class ResponseSnapshot: + status: int + headers: Mapping[str, str] + body: bytes + + +@dataclass(frozen=True) +class ProbeResult: + state: NetworkState + captive_url: str | None = None + reason: str = "" + + +class _ScriptCollector(HTMLParser): + def __init__(self) -> None: + super().__init__(convert_charrefs=False) + self._is_script = False + self.scripts: list[str] = [] + self._parts: list[str] = [] + + def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None: + if tag.casefold() == "script": + self._is_script = True + self._parts = [] + + def handle_data(self, data: str) -> None: + if self._is_script: + self._parts.append(data) + + def handle_endtag(self, tag: str) -> None: + if tag.casefold() == "script" and self._is_script: + self.scripts.append("".join(self._parts)) + self._is_script = False + self._parts = [] + + +class WindowsInterfaceSocketFactory: + def __init__(self, interface_index: int) -> None: + if isinstance(interface_index, bool) or not 1 <= interface_index <= 0xFFFFFFFF: + raise ValueError("interface_index 必须是有效的 Windows 接口索引") + self.interface_index = interface_index + + def __call__(self, address_info: AddressInfo) -> socket.socket: + if sys.platform != "win32": + raise OSError("按接口绑定当前仅支持 Windows") + + family, socket_type, protocol = address_info[:3] + if family != socket.AF_INET: + raise OSError("captive-sso-http 当前仅支持 IPv4") + + client_socket = socket.socket(family, socket_type, protocol) + try: + client_socket.setsockopt( + socket.IPPROTO_IP, + IP_UNICAST_IF, + struct.pack("!I", self.interface_index), + ) + except OSError: + client_socket.close() + raise + return client_socket + + +def create_bound_connector(interface_index: int) -> aiohttp.TCPConnector: + return aiohttp.TCPConnector( + family=socket.AF_INET, + force_close=True, + socket_factory=WindowsInterfaceSocketFactory(interface_index), + ) + + +def extract_captive_url( + response_body: bytes, + portal_origin: str, + entry_path: str, +) -> str | None: + if len(response_body) > MAX_RESPONSE_BYTES: + raise CaptiveParseError("探测响应体过大") + + parser = _ScriptCollector() + try: + parser.feed(response_body.decode("utf-8", errors="replace")) + except (UnicodeError, ValueError) as error: + raise CaptiveParseError("无法解析探测响应") from error + + candidates: list[str] = [] + for script in parser.scripts: + for match in LOCATION_ASSIGNMENT.finditer(script): + candidate = html.unescape(match.group("url")) + _validate_captive_url(candidate, portal_origin, entry_path) + candidates.append(candidate) + + unique_candidates = list(dict.fromkeys(candidates)) + if not unique_candidates: + return None + if len(unique_candidates) > 1: + raise CaptiveParseError("探测响应包含多个不同的 captive 入口") + return unique_candidates[0] + + +def classify_response( + snapshot: ResponseSnapshot, + config: CaptiveHttpConfig, +) -> ProbeResult: + try: + captive_url = extract_captive_url( + snapshot.body, + config.portal_origin, + config.portal_entry_path, + ) + except CaptiveParseError as error: + return ProbeResult(NetworkState.UNKNOWN, reason=str(error)) + + if captive_url is not None: + return ProbeResult(NetworkState.CAPTIVE, captive_url=captive_url) + + if _matches_online_fingerprint(snapshot, config.probe): + return ProbeResult(NetworkState.ONLINE) + + return ProbeResult(NetworkState.UNKNOWN, reason="响应不匹配 captive 或精确在线指纹") + + +async def probe_connectivity( + session: aiohttp.ClientSession, + config: CaptiveHttpConfig, +) -> ProbeResult: + timeout = aiohttp.ClientTimeout(total=config.probe.timeout_seconds) + try: + async with session.get( + config.probe.url, + allow_redirects=False, + timeout=timeout, + ) as response: + body = await response.content.read(MAX_RESPONSE_BYTES + 1) + snapshot = ResponseSnapshot( + status=response.status, + headers=dict(response.headers), + body=body, + ) + except (aiohttp.ClientError, TimeoutError) as error: + return ProbeResult(NetworkState.UNKNOWN, reason=f"探测请求失败:{error}") + + return classify_response(snapshot, config) + + +def _validate_captive_url(candidate: str, portal_origin: str, entry_path: str) -> None: + if len(candidate) > MAX_CAPTIVE_URL_LENGTH: + raise CaptiveParseError("captive 入口 URL 过长") + + parsed = urlparse(candidate) + if parsed.scheme not in {"http", "https"} or not parsed.hostname: + raise CaptiveParseError("captive 入口不是完整的 HTTP 或 HTTPS URL") + if parsed.username is not None or parsed.password is not None: + raise CaptiveParseError("captive 入口不能包含用户信息") + if parsed.fragment: + raise CaptiveParseError("captive 入口不能包含片段") + if parsed.params: + raise CaptiveParseError("captive 入口不能包含路径参数") + if _normalized_origin(candidate) != _normalized_origin(portal_origin): + raise CaptiveParseError("captive 入口不属于配置的门户 origin") + if parsed.path != entry_path: + raise CaptiveParseError("captive 入口路径与配置不匹配") + + parameters: dict[str, list[str]] = {} + for key, value in parse_qsl(parsed.query, keep_blank_values=True): + parameters.setdefault(key, []).append(value) + + for key in REQUIRED_CAPTIVE_PARAMETERS: + values = parameters.get(key, []) + if len(values) != 1 or not values[0]: + raise CaptiveParseError(f"captive 入口缺少唯一且非空的 {key}") + + +def _normalized_origin(value: str) -> tuple[str, str, int]: + parsed = urlparse(value) + if not parsed.hostname: + raise CaptiveParseError("门户 origin 缺少 host") + try: + port = parsed.port + except ValueError as error: + raise CaptiveParseError("门户 origin 端口无效") from error + if port is None: + port = 80 if parsed.scheme == "http" else 443 + return parsed.scheme.casefold(), parsed.hostname.casefold(), port + + +def _matches_online_fingerprint(snapshot: ResponseSnapshot, probe: ProbeConfig) -> bool: + if snapshot.status != probe.online_status: + return False + if probe.online_body is not None: + try: + if snapshot.body.decode("utf-8") != probe.online_body: + return False + except UnicodeDecodeError: + return False + if probe.online_location is not None: + location = next( + (value for key, value in snapshot.headers.items() if key.casefold() == "location"), + None, + ) + if location != probe.online_location: + return False + return True diff --git a/workbench/network/campus-net/campus_net/config.py b/workbench/network/campus-net/campus_net/config.py new file mode 100644 index 0000000..106f843 --- /dev/null +++ b/workbench/network/campus-net/campus_net/config.py @@ -0,0 +1,535 @@ +from __future__ import annotations + +from dataclasses import dataclass, field +from typing import Any +from urllib.parse import ParseResult, parse_qsl, urlparse + +ADAPTER_CAPTIVE_SSO_HTTP = "captive-sso-http" +ADAPTER_LEGACY_EPORTAL = "legacy-eportal" +CONFIG_VERSION_LEGACY_EPORTAL = 1 +CONFIG_VERSION_CAPTIVE_SSO = 2 +DEFAULT_CAPTIVE_PROBE_URL = "http://www.msftconnecttest.com/connecttest.txt" +DEFAULT_CAPTIVE_PROBE_STATUS = 200 +DEFAULT_CAPTIVE_PROBE_BODY = "Microsoft Connect Test" +DEFAULT_CAPTIVE_PROBE_TIMEOUT_SECONDS = 8 +DEFAULT_PORTAL_ENTRY_PATH = "/eportal/index.jsp" +DEFAULT_AUTH_MODE = "interactive-system-captcha" +DEFAULT_CAPTCHA_ATTEMPTS = 0 +DEFAULT_VERIFICATION_INTERVAL_SECONDS = 2 +DEFAULT_VERIFICATION_TIMEOUT_SECONDS = 30 +DEFAULT_CONNECTIVITY_CHECK_URL = "http://www.baidu.com" +DEFAULT_USER_AGENT = ( + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " + "AppleWebKit/537.36 (KHTML, like Gecko) " + "Chrome/131.0.0.0 Safari/537.36" +) + + +@dataclass(frozen=True) +class ProbeConfig: + url: str + online_status: int + online_body: str | None + online_location: str | None + timeout_seconds: float + + +@dataclass(frozen=True) +class CaptiveHttpConfig: + adapter: str + interface_index: int + user_agent: str + probe: ProbeConfig + portal_origin: str + portal_entry_path: str + auth_mode: str + username: str + password: str = field(repr=False) + service_display_name: str + captcha_attempts: int + verification_interval_seconds: float + verification_timeout_seconds: float + + +def portal_base_url(login_url: str) -> str: + parsed_url = urlparse(login_url) + if parsed_url.scheme not in {"http", "https"} or not parsed_url.netloc: + raise ValueError("login_url 必须是完整的 HTTP 或 HTTPS 地址") + return f"{parsed_url.scheme}://{parsed_url.netloc}/" + + +def build_legacy_runtime_from_config(cfg: dict[str, Any]): + if _config_version(cfg) is not None: + adapter = get_adapter(cfg) + if adapter != ADAPTER_LEGACY_EPORTAL: + raise ValueError( + f"legacy-eportal 配置的 version 必须是 {CONFIG_VERSION_LEGACY_EPORTAL}" + ) + return _build_legacy_runtime_v1(cfg) + + return _build_legacy_runtime_compat(cfg) + + +def _build_legacy_runtime_compat(cfg: dict[str, Any]): + login_url = str(cfg.get("login_url", "")).strip() + if not login_url: + raise ValueError("config.json 缺少 login_url") + + parsed_login_url = urlparse(login_url) + portal_url = portal_base_url(login_url) + connectivity_check_url = str( + cfg.get("connectivity_check_url", DEFAULT_CONNECTIVITY_CHECK_URL) + ).strip() + portal_base_url(connectivity_check_url) + + user_cookies = cfg.get("cookies", {}) + if not isinstance(user_cookies, dict): + raise TypeError("cookies 必须是 JSON 对象") + cookies = {**_legacy_default_cookies(), **user_cookies} + user_group = str(cfg.get("user_group", "")).strip() + if user_group and "EPORTAL_USER_GROUP" not in user_cookies: + cookies["EPORTAL_USER_GROUP"] = user_group + + configured_headers = cfg.get("headers", {}) + if not isinstance(configured_headers, dict): + raise TypeError("headers 必须是 JSON 对象") + user_agent = configured_headers.get("User-Agent", DEFAULT_USER_AGENT) + headers = { + "Host": parsed_login_url.hostname or "", + "User-Agent": str(user_agent), + } + jsessionid = cookies.get("JSESSIONID") + if jsessionid: + headers["JSESSIONID"] = str(jsessionid) + + service = str(cfg.get("service", cookies.get("EPORTAL_COOKIE_SERVER", ""))) + return login_url, portal_url, connectivity_check_url, headers, cookies, service + + +def _build_legacy_runtime_v1(cfg: dict[str, Any]): + if "password" in cfg: + raise ValueError("legacy-eportal 使用 encrypted_password,不接受 password") + _reject_unknown_fields( + cfg, + { + "version", + "login_url", + "username", + "encrypted_password", + "carrier", + "user_group", + "session_id", + }, + "legacy-eportal version 1", + ) + + login_url = _require_legacy_login_url(cfg, "login_url") + portal_url = portal_base_url(login_url) + parsed_login_url = urlparse(login_url) + username = _require_nonempty_string(cfg, "username") + encrypted_password = _require_secret_string(cfg, "encrypted_password") + carrier = _require_nonempty_string(cfg, "carrier") + user_group = _optional_trimmed_string(cfg, "user_group") + session_id = _optional_session_id(cfg, "session_id") + + cookies: dict[str, Any] = { + **_legacy_default_cookies(), + "EPORTAL_COOKIE_USERNAME": username, + "EPORTAL_COOKIE_PASSWORD": encrypted_password, + "EPORTAL_COOKIE_SERVER": carrier, + "EPORTAL_COOKIE_SERVER_NAME": carrier, + } + if user_group is not None: + cookies["EPORTAL_USER_GROUP"] = user_group + if session_id is not None: + cookies["JSESSIONID"] = session_id + + headers = { + "Host": parsed_login_url.hostname or "", + "User-Agent": DEFAULT_USER_AGENT, + } + if session_id is not None: + headers["JSESSIONID"] = session_id + + return ( + login_url, + portal_url, + DEFAULT_CONNECTIVITY_CHECK_URL, + headers, + cookies, + carrier, + ) + + +def _legacy_default_cookies() -> dict[str, str]: + return { + "EPORTAL_COOKIE_DOMAIN": "false", + "EPORTAL_COOKIE_SAVEPASSWORD": "true", + "EPORTAL_COOKIE_OPERATORPWD": "", + "EPORTAL_COOKIE_NEWV": "true", + } + + +def get_adapter(cfg: dict[str, Any]) -> str: + version = _config_version(cfg) + if version is not None: + adapters_by_version = { + CONFIG_VERSION_LEGACY_EPORTAL: ADAPTER_LEGACY_EPORTAL, + CONFIG_VERSION_CAPTIVE_SSO: ADAPTER_CAPTIVE_SSO_HTTP, + } + adapter = adapters_by_version.get(version) + if adapter is None: + supported_versions = ", ".join( + str(supported_version) for supported_version in sorted(adapters_by_version) + ) + raise ValueError(f"不支持的 version:{version};可选值:{supported_versions}") + return adapter + + adapter = str(cfg.get("adapter", ADAPTER_LEGACY_EPORTAL)).strip() + if adapter not in {ADAPTER_CAPTIVE_SSO_HTTP, ADAPTER_LEGACY_EPORTAL}: + raise ValueError(f"不支持的 adapter:{adapter}") + return adapter + + +def build_captive_http_config(cfg: dict[str, Any]) -> CaptiveHttpConfig: + adapter = get_adapter(cfg) + if adapter != ADAPTER_CAPTIVE_SSO_HTTP: + if _config_version(cfg) is None: + raise ValueError(f"adapter 必须是 {ADAPTER_CAPTIVE_SSO_HTTP}") + raise ValueError(f"captive SSO 配置的 version 必须是 {CONFIG_VERSION_CAPTIVE_SSO}") + + if _config_version(cfg) is not None: + return _build_captive_http_config_v2(cfg) + + return _build_captive_http_config_compat(cfg) + + +def _build_captive_http_config_v2(cfg: dict[str, Any]) -> CaptiveHttpConfig: + if "encrypted_password" in cfg: + raise ValueError("captive-sso 使用 password,不接受 encrypted_password") + _reject_unknown_fields( + cfg, + { + "version", + "interface_index", + "portal_url", + "username", + "password", + "carrier", + }, + "captive SSO version 2", + ) + + interface_index = _require_interface_index(cfg, "interface_index") + portal_origin = _require_origin(cfg, "portal_url") + username = _require_nonempty_string(cfg, "username") + password = _require_secret_string(cfg, "password") + carrier = _require_nonempty_string(cfg, "carrier") + + return CaptiveHttpConfig( + adapter=ADAPTER_CAPTIVE_SSO_HTTP, + interface_index=interface_index, + user_agent=DEFAULT_USER_AGENT, + probe=ProbeConfig( + url=DEFAULT_CAPTIVE_PROBE_URL, + online_status=DEFAULT_CAPTIVE_PROBE_STATUS, + online_body=DEFAULT_CAPTIVE_PROBE_BODY, + online_location=None, + timeout_seconds=DEFAULT_CAPTIVE_PROBE_TIMEOUT_SECONDS, + ), + portal_origin=portal_origin, + portal_entry_path=DEFAULT_PORTAL_ENTRY_PATH, + auth_mode=DEFAULT_AUTH_MODE, + username=username, + password=password, + service_display_name=carrier, + captcha_attempts=DEFAULT_CAPTCHA_ATTEMPTS, + verification_interval_seconds=DEFAULT_VERIFICATION_INTERVAL_SECONDS, + verification_timeout_seconds=DEFAULT_VERIFICATION_TIMEOUT_SECONDS, + ) + + +def _build_captive_http_config_compat(cfg: dict[str, Any]) -> CaptiveHttpConfig: + adapter = ADAPTER_CAPTIVE_SSO_HTTP + + legacy_fields = { + "cookies", + "headers", + "login_url", + "service", + "user_group", + } + mixed_fields = sorted(legacy_fields.intersection(cfg)) + if mixed_fields: + raise ValueError("captive-sso-http 不接受旧版登录字段:" + ", ".join(mixed_fields)) + + network = _require_object(cfg, "network") + portal = _require_object(cfg, "portal") + auth = _require_object(cfg, "auth") + probe = _require_object(network, "probe") + + interface_index = _require_interface_index(network, "interface_index") + + user_agent = str(network.get("user_agent", DEFAULT_USER_AGENT)).strip() + if not user_agent: + raise ValueError("network.user_agent 不能为空") + + probe_url = _require_url(probe, "url", allowed_schemes={"http"}) + online_status = _require_integer( + probe, + "online_status", + minimum=100, + maximum=599, + ) + online_body = _optional_nonempty_string(probe, "online_body") + online_location = _optional_nonempty_string(probe, "online_location") + if online_location is not None: + _validate_absolute_url(online_location, "network.probe.online_location") + if online_body is None and online_location is None: + raise ValueError("network.probe 至少需要 online_body 或 online_location 作为精确在线指纹") + probe_timeout = _optional_number( + probe, + "timeout_seconds", + default=8, + minimum=0.1, + maximum=60, + ) + + portal_origin = _require_origin(portal, "origin") + portal_entry_path = str(portal.get("entry_path", DEFAULT_PORTAL_ENTRY_PATH)).strip() + if not portal_entry_path.startswith("/"): + raise ValueError("portal.entry_path 必须是以 / 开头的绝对路径") + if "?" in portal_entry_path or "#" in portal_entry_path: + raise ValueError("portal.entry_path 不能包含查询参数或片段") + + auth_mode = str(auth.get("mode", "")).strip() + if auth_mode != DEFAULT_AUTH_MODE: + raise ValueError("当前仅支持 auth.mode=interactive-system-captcha") + username = _require_nonempty_string(auth, "username") + if "password_env" in auth: + raise ValueError("auth.password_env 已移除,请改用 auth.password") + password = _require_secret_string(auth, "password") + service_display_name = _require_nonempty_string(auth, "service_display_name") + captcha_attempts = _require_integer( + auth, + "captcha_attempts", + minimum=0, + maximum=100, + default=DEFAULT_CAPTCHA_ATTEMPTS, + ) + verification_interval = _optional_number( + auth, + "verification_interval_seconds", + default=DEFAULT_VERIFICATION_INTERVAL_SECONDS, + minimum=0.1, + maximum=60, + ) + verification_timeout = _optional_number( + auth, + "verification_timeout_seconds", + default=DEFAULT_VERIFICATION_TIMEOUT_SECONDS, + minimum=verification_interval, + maximum=600, + ) + + return CaptiveHttpConfig( + adapter=adapter, + interface_index=interface_index, + user_agent=user_agent, + probe=ProbeConfig( + url=probe_url, + online_status=online_status, + online_body=online_body, + online_location=online_location, + timeout_seconds=probe_timeout, + ), + portal_origin=portal_origin, + portal_entry_path=portal_entry_path, + auth_mode=auth_mode, + username=username, + password=password, + service_display_name=service_display_name, + captcha_attempts=captcha_attempts, + verification_interval_seconds=verification_interval, + verification_timeout_seconds=verification_timeout, + ) + + +def _config_version(cfg: dict[str, Any]) -> int | None: + removed_fields = sorted({"schema_version", "mode"}.intersection(cfg)) + if removed_fields: + raise ValueError( + "已移除字段:" + ", ".join(removed_fields) + ";请只使用 version=1 或 version=2" + ) + if "version" not in cfg: + flat_fields = { + "interface_index", + "portal_url", + "username", + "password", + "carrier", + "encrypted_password", + "session_id", + } + if flat_fields.intersection(cfg): + raise ValueError("扁平配置必须提供 version=1 或 version=2") + return None + + version = cfg["version"] + if isinstance(version, bool) or not isinstance(version, int): + raise TypeError("version 必须是整数") + return version + + +def _reject_unknown_fields( + container: dict[str, Any], + allowed_fields: set[str], + context: str, +) -> None: + unknown_fields = sorted(set(container).difference(allowed_fields)) + if unknown_fields: + raise ValueError(f"{context} 不支持以下字段:" + ", ".join(unknown_fields)) + + +def _require_object(container: dict[str, Any], key: str) -> dict[str, Any]: + value = container.get(key) + if not isinstance(value, dict): + raise TypeError(f"{key} 必须是 JSON 对象") + return value + + +def _require_integer( + container: dict[str, Any], + key: str, + *, + minimum: int, + maximum: int | None = None, + default: int | None = None, +) -> int: + value = container.get(key, default) + if isinstance(value, bool) or not isinstance(value, int): + raise TypeError(f"{key} 必须是整数") + if value < minimum or (maximum is not None and value > maximum): + bounds = f"{minimum}..{maximum}" if maximum is not None else f">={minimum}" + raise ValueError(f"{key} 必须在 {bounds} 范围内") + return value + + +def _require_nonempty_string(container: dict[str, Any], key: str) -> str: + value = container.get(key) + if not isinstance(value, str) or not value.strip(): + raise TypeError(f"{key} 必须是非空字符串") + return value.strip() + + +def _require_secret_string(container: dict[str, Any], key: str) -> str: + value = container.get(key) + if not isinstance(value, str) or not value: + raise TypeError(f"{key} 必须是非空字符串") + return value + + +def _optional_trimmed_string(container: dict[str, Any], key: str) -> str | None: + value = container.get(key) + if value is None: + return None + if not isinstance(value, str) or not value.strip(): + raise TypeError(f"{key} 必须是非空字符串") + return value.strip() + + +def _optional_session_id(container: dict[str, Any], key: str) -> str | None: + value = container.get(key) + if value is None: + return None + if not isinstance(value, str) or not value.strip(): + raise TypeError(f"{key} 必须是非空字符串") + if any(ord(character) < 0x20 or ord(character) == 0x7F for character in value): + raise ValueError(f"{key} 不能包含控制字符") + return value.strip() + + +def _require_interface_index(container: dict[str, Any], key: str) -> int: + interface_index = _require_integer(container, key, minimum=1) + if interface_index > 0xFFFFFFFF: + raise ValueError(f"{key} 超出 Windows 接口索引范围") + return interface_index + + +def _optional_number( + container: dict[str, Any], + key: str, + *, + default: float, + minimum: float, + maximum: float, +) -> float: + value = container.get(key, default) + if isinstance(value, bool) or not isinstance(value, int | float): + raise TypeError(f"{key} 必须是数字") + number = float(value) + if not minimum <= number <= maximum: + raise ValueError(f"{key} 必须在 {minimum}..{maximum} 范围内") + return number + + +def _optional_nonempty_string(container: dict[str, Any], key: str) -> str | None: + value = container.get(key) + if value is None: + return None + if not isinstance(value, str) or not value: + raise TypeError(f"{key} 必须是非空字符串") + return value + + +def _require_url( + container: dict[str, Any], + key: str, + *, + allowed_schemes: set[str], +) -> str: + value = _require_nonempty_string(container, key) + parsed = _validate_absolute_url(value, key) + if parsed.scheme not in allowed_schemes: + schemes = ", ".join(sorted(allowed_schemes)) + raise ValueError(f"{key} 仅允许以下协议:{schemes}") + return value + + +def _require_legacy_login_url(container: dict[str, Any], key: str) -> str: + value = _require_url(container, key, allowed_schemes={"http", "https"}) + parsed = urlparse(value) + method_values = [ + parameter_value + for parameter_name, parameter_value in parse_qsl( + parsed.query, + keep_blank_values=True, + ) + if parameter_name == "method" + ] + if parsed.path != "/eportal/InterFace.do" or method_values != ["login"]: + raise ValueError(f"{key} 必须指向 /eportal/InterFace.do?method=login") + return value + + +def _require_origin(container: dict[str, Any], key: str) -> str: + value = _require_nonempty_string(container, key) + parsed = _validate_absolute_url(value, key) + if parsed.path not in {"", "/"} or parsed.query or parsed.fragment: + raise ValueError(f"{key} 必须只包含 scheme、host 和可选端口") + return f"{parsed.scheme}://{parsed.netloc}" + + +def _validate_absolute_url(value: str, field_name: str) -> ParseResult: + parsed = urlparse(value) + if parsed.scheme not in {"http", "https"} or not parsed.hostname: + raise ValueError(f"{field_name} 必须是完整的 HTTP 或 HTTPS 地址") + if parsed.username is not None or parsed.password is not None: + raise ValueError(f"{field_name} 不能包含用户信息") + if parsed.fragment: + raise ValueError(f"{field_name} 不能包含片段") + try: + parsed.port + except ValueError as error: + raise ValueError(f"{field_name} 端口无效") from error + return parsed diff --git a/workbench/network/campus-net/campus_net/config_paths.py b/workbench/network/campus-net/campus_net/config_paths.py new file mode 100644 index 0000000..18f3cf9 --- /dev/null +++ b/workbench/network/campus-net/campus_net/config_paths.py @@ -0,0 +1,106 @@ +from __future__ import annotations + +import os +import sys +from collections.abc import Iterator +from pathlib import Path + +CONFIG_ENV = "CAMPUSNET_CONFIG" +PROJECT_MARKERS = ("pyproject.toml", "config.example.json") + + +def packaged_project_root( + executable: str | os.PathLike[str] | None = None, +) -> Path | None: + executable_directory = Path(executable or sys.executable).expanduser().absolute().parent + if executable_directory.name.casefold() != "dist": + return None + project_root = executable_directory.parent + if all((project_root / marker).is_file() for marker in PROJECT_MARKERS): + return project_root + return None + + +def config_candidates( + configured_path: str | os.PathLike[str] | None = None, + *, + frozen: bool | None = None, + executable: str | os.PathLike[str] | None = None, + cwd: str | os.PathLike[str] | None = None, + source_root: str | os.PathLike[str] | None = None, + bundled_directory: str | os.PathLike[str] | None = None, +) -> Iterator[Path]: + configured = configured_path + if configured is None: + configured = os.getenv(CONFIG_ENV) + + is_frozen = getattr(sys, "frozen", False) if frozen is None else frozen + executable_path = Path(executable or sys.executable).expanduser() + working_directory = Path(cwd or Path.cwd()).expanduser() + project_root = Path(source_root or Path(__file__).resolve().parent.parent).expanduser() + bundle_root_value = ( + getattr(sys, "_MEIPASS", None) if bundled_directory is None else bundled_directory + ) + + raw_candidates: list[Path] = [] + if configured: + raw_candidates.append(Path(configured).expanduser()) + + raw_candidates.append(working_directory / "config.json") + + if is_frozen: + executable_directory = executable_path.absolute().parent + raw_candidates.append(executable_directory / "config.json") + packaged_root = packaged_project_root(executable_path) + if packaged_root is not None: + raw_candidates.append(packaged_root / "config.json") + else: + raw_candidates.append(project_root / "config.json") + + if bundle_root_value: + raw_candidates.append(Path(bundle_root_value).expanduser() / "config.json") + + seen: set[str] = set() + for candidate in raw_candidates: + absolute = candidate.absolute() + comparison_key = os.path.normcase(os.path.normpath(str(absolute))) + if comparison_key not in seen: + seen.add(comparison_key) + yield absolute + + +def resolve_config_path( + configured_path: str | os.PathLike[str] | None = None, + **candidate_overrides: object, +) -> Path: + if configured_path: + explicit_path = Path(configured_path).expanduser().absolute() + if explicit_path.is_file(): + return explicit_path + raise FileNotFoundError(f"指定的配置文件不存在或不是普通文件:{explicit_path}") + + candidates = list(config_candidates(configured_path, **candidate_overrides)) + config_path = next((path for path in candidates if path.is_file()), None) + if config_path is not None: + return config_path + + searched_paths = "\n".join(f"- {path}" for path in candidates) + raise FileNotFoundError( + f"未找到 config.json。请创建本地配置或设置 CAMPUSNET_CONFIG。\n已检查:\n{searched_paths}" + ) + + +def preferred_config_path( + configured_path: str | os.PathLike[str] | None = None, + **candidate_overrides: object, +) -> Path: + if configured_path: + return Path(configured_path).expanduser().absolute() + + candidates = list(config_candidates(configured_path, **candidate_overrides)) + existing_path = next((path for path in candidates if path.is_file()), None) + if existing_path is not None: + return existing_path + if not candidates: + raise RuntimeError("没有可用的配置路径") + return candidates[0] diff --git a/workbench/network/campus-net/campus_net/config_store.py b/workbench/network/campus-net/campus_net/config_store.py new file mode 100644 index 0000000..4e9534a --- /dev/null +++ b/workbench/network/campus-net/campus_net/config_store.py @@ -0,0 +1,511 @@ +from __future__ import annotations + +import hashlib +import hmac +import json +import os +import stat +import uuid +from collections.abc import Mapping +from dataclasses import dataclass, field +from datetime import datetime, timezone +from pathlib import Path +from tempfile import NamedTemporaryFile +from typing import Any, Literal, TypeAlias + +from .config import ( + CONFIG_VERSION_CAPTIVE_SSO, + CONFIG_VERSION_LEGACY_EPORTAL, + build_captive_http_config, + build_legacy_runtime_from_config, +) + +MAX_CONFIG_BYTES = 64 * 1024 + +PathInput: TypeAlias = str | os.PathLike[str] + + +class ConfigStoreError(RuntimeError): + pass + + +class ConfigFormatError(ConfigStoreError): + pass + + +class ConfigTooLargeError(ConfigFormatError): + pass + + +class ConfigPathError(ConfigStoreError): + pass + + +class ConfigRevisionError(ConfigStoreError): + pass + + +class ConfigIntegrityError(ConfigStoreError): + pass + + +class ConfigCommitUncertainError(ConfigStoreError): + def __init__( + self, + message: str, + *, + backup: BackupReceipt | None, + ) -> None: + super().__init__(message) + self.backup = backup + + +@dataclass(frozen=True, slots=True) +class LegacyConfigV1: + login_url: str + username: str = field(repr=False) + encrypted_password: str = field(repr=False) + carrier: str + user_group: str | None = None + session_id: str | None = field(default=None, repr=False) + version: Literal[1] = field( + default=CONFIG_VERSION_LEGACY_EPORTAL, + init=False, + ) + + +@dataclass(frozen=True, slots=True) +class CaptiveConfigV2: + interface_index: int + portal_url: str + username: str = field(repr=False) + password: str = field(repr=False) + carrier: str + version: Literal[2] = field( + default=CONFIG_VERSION_CAPTIVE_SSO, + init=False, + ) + + +EditableConfig: TypeAlias = LegacyConfigV1 | CaptiveConfigV2 + + +@dataclass(frozen=True, slots=True) +class ConfigRevision: + exists: bool + sha256: str | None + + def __post_init__(self) -> None: + if self.exists: + if self.sha256 is None or not _is_sha256(self.sha256): + raise ValueError("存在的配置必须提供有效 SHA-256") + object.__setattr__(self, "sha256", self.sha256.casefold()) + elif self.sha256 is not None: + raise ValueError("不存在的配置不能携带 SHA-256") + + @classmethod + def absent(cls) -> ConfigRevision: + return cls(exists=False, sha256=None) + + @classmethod + def from_bytes(cls, content: bytes) -> ConfigRevision: + return cls(exists=True, sha256=_sha256_bytes(content)) + + +@dataclass(frozen=True, slots=True) +class LoadedConfig: + path: Path + revision: ConfigRevision + config: EditableConfig = field(repr=False) + + +@dataclass(frozen=True, slots=True) +class BackupReceipt: + path: Path + sha256: str + size: int + + +@dataclass(frozen=True, slots=True) +class SaveReceipt: + path: Path + revision: ConfigRevision + backup: BackupReceipt | None + changed: bool + + +@dataclass(frozen=True, slots=True) +class _FileSnapshot: + revision: ConfigRevision + content: bytes | None = field(repr=False) + + +def load_editable_config( + path: PathInput, + *, + max_bytes: int = MAX_CONFIG_BYTES, +) -> LoadedConfig: + config_path = _absolute_path(path) + try: + content = _read_regular_file(config_path, max_bytes=max_bytes) + except FileNotFoundError: + raise ConfigPathError(f"配置文件不存在:{config_path}") from None + + config = _parse_config_bytes(content) + return LoadedConfig( + path=config_path, + revision=ConfigRevision.from_bytes(content), + config=config, + ) + + +def config_from_mapping(raw_config: Mapping[str, Any]) -> EditableConfig: + return _parse_formal_mapping(dict(raw_config)) + + +def config_to_mapping(config: EditableConfig) -> dict[str, Any]: + return _mapping_from_config(config) + + +def save_editable_config( + config: EditableConfig, + *, + path: PathInput, + backup_dir: PathInput, + expected_revision: ConfigRevision, + max_bytes: int = MAX_CONFIG_BYTES, +) -> SaveReceipt: + config_path = _absolute_path(path) + backup_directory = _absolute_path(backup_dir) + content = _encode_config(config) + if len(content) > max_bytes: + raise ConfigTooLargeError(f"配置大小超过限制:{len(content)} > {max_bytes} 字节") + + parent = config_path.parent + if not parent.is_dir(): + raise ConfigPathError(f"配置目录不存在:{parent}") + + initial_snapshot = _snapshot(config_path, max_bytes=max_bytes) + _require_revision(initial_snapshot.revision, expected_revision) + + if initial_snapshot.content == content: + return SaveReceipt( + path=config_path, + revision=initial_snapshot.revision, + backup=None, + changed=False, + ) + + backup = None + if initial_snapshot.content is not None: + backup = _create_verified_backup( + source_path=config_path, + source_content=initial_snapshot.content, + backup_directory=backup_directory, + ) + + temporary_path = _write_fsynced_temporary_file( + parent, + prefix=f".{config_path.name}.", + content=content, + ) + expected_content_hash = _sha256_bytes(content) + try: + temporary_hash = _sha256_file(temporary_path) + if not hmac.compare_digest(temporary_hash, expected_content_hash): + raise ConfigIntegrityError("配置临时文件 SHA-256 校验失败") + + current_snapshot = _snapshot(config_path, max_bytes=max_bytes) + _require_revision(current_snapshot.revision, initial_snapshot.revision) + + os.replace(temporary_path, config_path) + temporary_path = None + finally: + if temporary_path is not None: + temporary_path.unlink(missing_ok=True) + + try: + _fsync_directory(parent) + final_snapshot = _snapshot(config_path, max_bytes=max_bytes) + if final_snapshot.content is None or not hmac.compare_digest( + final_snapshot.revision.sha256 or "", + expected_content_hash, + ): + raise ConfigIntegrityError("配置原子写入后的 SHA-256 校验失败") + except (OSError, ConfigStoreError) as error: + raise ConfigCommitUncertainError( + "配置已执行原子替换,但最终落盘状态无法确认", + backup=backup, + ) from error + + return SaveReceipt( + path=config_path, + revision=final_snapshot.revision, + backup=backup, + changed=True, + ) + + +def _parse_config_bytes(content: bytes) -> EditableConfig: + try: + text = content.decode("utf-8") + except UnicodeDecodeError as error: + raise ConfigFormatError(f"配置不是有效 UTF-8,错误位置:{error.start}") from None + + try: + raw_config = json.loads(text, object_pairs_hook=_object_without_duplicates) + except json.JSONDecodeError as error: + raise ConfigFormatError( + f"配置不是有效 JSON:第 {error.lineno} 行,第 {error.colno} 列" + ) from None + except _DuplicateKeyError as error: + raise ConfigFormatError(str(error)) from None + + if not isinstance(raw_config, dict): + raise ConfigFormatError("配置顶层必须是 JSON 对象") + return _parse_formal_mapping(raw_config) + + +def _parse_formal_mapping(raw_config: dict[str, Any]) -> EditableConfig: + version = raw_config.get("version") + if isinstance(version, bool) or not isinstance(version, int): + raise ConfigFormatError("正式 GUI 配置必须提供整数 version=1 或 version=2") + + try: + if version == CONFIG_VERSION_LEGACY_EPORTAL: + build_legacy_runtime_from_config(raw_config) + return LegacyConfigV1( + login_url=str(raw_config["login_url"]).strip(), + username=str(raw_config["username"]).strip(), + encrypted_password=str(raw_config["encrypted_password"]), + carrier=str(raw_config["carrier"]).strip(), + user_group=_optional_trimmed_value(raw_config, "user_group"), + session_id=_optional_trimmed_value(raw_config, "session_id"), + ) + if version == CONFIG_VERSION_CAPTIVE_SSO: + runtime_config = build_captive_http_config(raw_config) + return CaptiveConfigV2( + interface_index=runtime_config.interface_index, + portal_url=runtime_config.portal_origin, + username=runtime_config.username, + password=runtime_config.password, + carrier=runtime_config.service_display_name, + ) + except (KeyError, TypeError, ValueError) as error: + raise ConfigFormatError(str(error)) from None + + raise ConfigFormatError(f"不支持的配置 version:{version}") + + +def _encode_config(config: EditableConfig) -> bytes: + raw_config = config_to_mapping(config) + normalized_config = _parse_formal_mapping(raw_config) + normalized_mapping = config_to_mapping(normalized_config) + text = json.dumps(normalized_mapping, ensure_ascii=False, indent=2) + "\n" + return text.encode("utf-8") + + +def _mapping_from_config(config: EditableConfig) -> dict[str, Any]: + if isinstance(config, LegacyConfigV1): + raw_config: dict[str, Any] = { + "version": CONFIG_VERSION_LEGACY_EPORTAL, + "login_url": config.login_url, + "username": config.username, + "encrypted_password": config.encrypted_password, + "carrier": config.carrier, + } + if config.user_group is not None: + raw_config["user_group"] = config.user_group + if config.session_id is not None: + raw_config["session_id"] = config.session_id + return raw_config + + if isinstance(config, CaptiveConfigV2): + return { + "version": CONFIG_VERSION_CAPTIVE_SSO, + "interface_index": config.interface_index, + "portal_url": config.portal_url, + "username": config.username, + "password": config.password, + "carrier": config.carrier, + } + + raise TypeError("config 必须是正式的 LegacyConfigV1 或 CaptiveConfigV2") + + +def _optional_trimmed_value( + raw_config: dict[str, Any], + key: str, +) -> str | None: + value = raw_config.get(key) + return None if value is None else str(value).strip() + + +class _DuplicateKeyError(ValueError): + pass + + +def _object_without_duplicates(pairs: list[tuple[str, Any]]) -> dict[str, Any]: + result: dict[str, Any] = {} + for key, value in pairs: + if key in result: + raise _DuplicateKeyError(f"配置包含重复字段:{key}") + result[key] = value + return result + + +def _snapshot(path: Path, *, max_bytes: int) -> _FileSnapshot: + try: + content = _read_regular_file(path, max_bytes=max_bytes) + except FileNotFoundError: + return _FileSnapshot(revision=ConfigRevision.absent(), content=None) + return _FileSnapshot( + revision=ConfigRevision.from_bytes(content), + content=content, + ) + + +def _read_regular_file(path: Path, *, max_bytes: int) -> bytes: + if max_bytes < 1: + raise ValueError("max_bytes 必须大于 0") + + file_status = path.lstat() + if stat.S_ISLNK(file_status.st_mode): + raise ConfigPathError(f"拒绝读取符号链接配置:{path}") + if not stat.S_ISREG(file_status.st_mode): + raise ConfigPathError(f"配置路径不是普通文件:{path}") + if file_status.st_size > max_bytes: + raise ConfigTooLargeError(f"配置大小超过限制:{file_status.st_size} > {max_bytes} 字节") + + with path.open("rb") as config_file: + content = config_file.read(max_bytes + 1) + if len(content) > max_bytes: + raise ConfigTooLargeError(f"配置大小超过限制:{len(content)} > {max_bytes} 字节") + return content + + +def _create_verified_backup( + *, + source_path: Path, + source_content: bytes, + backup_directory: Path, +) -> BackupReceipt: + if backup_directory.exists() and not backup_directory.is_dir(): + raise ConfigPathError(f"备份路径不是目录:{backup_directory}") + backup_directory.mkdir(parents=True, exist_ok=True) + + source_hash = _sha256_bytes(source_content) + temporary_path = _write_fsynced_temporary_file( + backup_directory, + prefix=f".{source_path.stem}.backup.", + content=source_content, + ) + final_path = _unique_backup_path(source_path, backup_directory) + try: + temporary_hash = _sha256_file(temporary_path) + if not hmac.compare_digest(temporary_hash, source_hash): + raise ConfigIntegrityError("配置备份 SHA-256 校验失败") + + os.replace(temporary_path, final_path) + temporary_path = None + _fsync_directory(backup_directory) + + final_hash = _sha256_file(final_path) + if not hmac.compare_digest(final_hash, source_hash): + raise ConfigIntegrityError("配置备份落盘后的 SHA-256 校验失败") + if final_path.stat().st_size != len(source_content): + raise ConfigIntegrityError("配置备份落盘后的大小校验失败") + except BaseException: + final_path.unlink(missing_ok=True) + raise + finally: + if temporary_path is not None: + temporary_path.unlink(missing_ok=True) + + return BackupReceipt( + path=final_path, + sha256=source_hash, + size=len(source_content), + ) + + +def _write_fsynced_temporary_file( + directory: Path, + *, + prefix: str, + content: bytes, +) -> Path: + temporary_path: Path | None = None + try: + with NamedTemporaryFile( + mode="wb", + dir=directory, + prefix=prefix, + suffix=".tmp", + delete=False, + ) as temporary_file: + temporary_path = Path(temporary_file.name) + temporary_file.write(content) + temporary_file.flush() + os.fsync(temporary_file.fileno()) + return temporary_path + except BaseException: + if temporary_path is not None: + temporary_path.unlink(missing_ok=True) + raise + + +def _unique_backup_path(source_path: Path, backup_directory: Path) -> Path: + timestamp = datetime.now(timezone.utc).strftime("%Y%m%dT%H%M%S.%fZ") + for _attempt in range(10): + token = uuid.uuid4().hex[:12] + candidate = backup_directory / (f"{source_path.stem}.{timestamp}.{token}.backup.json") + if not candidate.exists(): + return candidate + raise ConfigStoreError("无法生成唯一的配置备份文件名") + + +def _require_revision( + actual_revision: ConfigRevision, + expected_revision: ConfigRevision, +) -> None: + if actual_revision.exists != expected_revision.exists: + raise ConfigRevisionError("配置文件状态已变化,请重新加载后再保存") + if not actual_revision.exists: + return + if not hmac.compare_digest( + actual_revision.sha256 or "", + expected_revision.sha256 or "", + ): + raise ConfigRevisionError("配置文件内容已变化,请重新加载后再保存") + + +def _sha256_bytes(content: bytes) -> str: + return hashlib.sha256(content).hexdigest() + + +def _sha256_file(path: Path) -> str: + digest = hashlib.sha256() + with path.open("rb") as source_file: + for chunk in iter(lambda: source_file.read(64 * 1024), b""): + digest.update(chunk) + return digest.hexdigest() + + +def _is_sha256(value: str) -> bool: + return len(value) == 64 and all(character in "0123456789abcdefABCDEF" for character in value) + + +def _absolute_path(path: PathInput) -> Path: + candidate = Path(path).expanduser() + return candidate if candidate.is_absolute() else candidate.absolute() + + +def _fsync_directory(directory: Path) -> None: + if os.name == "nt": + return + directory_descriptor = os.open(directory, os.O_RDONLY) + try: + os.fsync(directory_descriptor) + finally: + os.close(directory_descriptor) diff --git a/workbench/network/campus-net/campus_net/gui.py b/workbench/network/campus-net/campus_net/gui.py new file mode 100644 index 0000000..b10c641 --- /dev/null +++ b/workbench/network/campus-net/campus_net/gui.py @@ -0,0 +1,1745 @@ +from __future__ import annotations + +import ctypes +import os +import subprocess +import sys +import threading +import time +from dataclasses import dataclass +from datetime import datetime +from io import BytesIO +from pathlib import Path +from queue import Empty, Queue +from tkinter import BooleanVar, IntVar, StringVar, TclError, Text, Toplevel, messagebox + +import ttkbootstrap as ttk +from PIL import Image, ImageTk, UnidentifiedImageError +from ttkbootstrap.widgets.scrolled import ScrolledFrame + +from .config_paths import packaged_project_root, resolve_config_path +from .config_store import ( + ConfigCommitUncertainError, + ConfigIntegrityError, + ConfigRevision, + ConfigRevisionError, + ConfigStoreError, + EditableConfig, + load_editable_config, + save_editable_config, +) +from .gui_core import ( + CaptchaRequested, + FailedEvent, + FinishedEvent, + LogEvent, + NetworkInterface, + OperationController, + build_config_from_form, + form_values_from_config, + list_windows_ipv4_interfaces, +) +from .window_state import ( + ScreenRect, + WindowState, + clamp_window_state, + load_window_state, + save_window_state, +) + +THEMES = ("darkly", "flatly") +THEME_LABELS = { + "深色": "darkly", + "浅色": "flatly", +} +CARRIERS = ("中国移动", "中国电信", "中国联通") +COMBOBOX_WHEEL_GUARD_TAG = "CampusNetComboboxWheelGuard" +STATUS_ICONS = { + "info": "●", + "success": "✓", + "warning": "!", + "danger": "×", + "secondary": "○", +} +LIGHT_SEMANTIC_COLORS = { + "info": "#0369a1", + "success": "#0f766e", + "warning": "#a16207", + "danger": "#b91c1c", + "secondary": "#566573", +} +MAX_LOG_LINES = 1000 +MIN_WINDOW_WIDTH = 940 +MIN_WINDOW_HEIGHT = 620 +DEFAULT_WINDOW_WIDTH = 1100 +DEFAULT_WINDOW_HEIGHT = 720 + + +@dataclass(frozen=True, slots=True) +class _InterfaceResult: + interfaces: tuple[NetworkInterface, ...] = () + error: str | None = None + + +@dataclass(slots=True) +class _CaptchaDialog: + operation_id: int + request_id: int + window: Toplevel + photo: ImageTk.PhotoImage + + +class CampusNetApp: + def __init__( + self, + root: ttk.Window, + *, + config_path: Path, + initialize_runtime: bool = True, + ) -> None: + self.root = root + self._initialize_runtime = initialize_runtime + self.config_path = config_path.absolute() + self.backup_directory = default_backup_directory() + self.window_state_path = default_window_state_path() + self.controller = OperationController() + self._revision = ConfigRevision.absent() + self._save_allowed = True + self._active_operation_id: int | None = None + self._captcha_dialog: _CaptchaDialog | None = None + self._interface_results: Queue[_InterfaceResult] = Queue() + self._interface_by_display: dict[str, int] = {} + self._interface_details_by_display: dict[str, NetworkInterface] = {} + self._interface_loading = False + self._is_closing = False + self._close_deadline = 0.0 + self._poll_after_id: str | None = None + self._window_state_saved = False + self._last_normal_window_state: WindowState | None = None + self._restore_maximized = False + + self.version_var = IntVar(master=root, value=2) + self.theme_var = StringVar(master=root, value="darkly") + self.theme_display_var = StringVar(master=root, value="深色") + self.show_secrets_var = BooleanVar(master=root, value=False) + self.status_var = StringVar(master=root, value="准备就绪") + self.header_status_var = StringVar(master=root, value="准备就绪") + self.status_icon_var = StringVar(master=root, value=STATUS_ICONS["info"]) + self.config_path_var = StringVar(master=root, value=str(self.config_path)) + self.interface_display_var = StringVar(master=root) + self.interface_status_var = StringVar(master=root, value="等待读取网络接口") + self.interface_meta_var = StringVar(master=root, value="支持 Wi-Fi、以太网及其他 IPv4 网卡") + self.v2_vars = { + "portal_url": StringVar(master=root, value="http://10.71.29.181"), + "username": StringVar(master=root), + "password": StringVar(master=root), + "carrier": StringVar(master=root, value="中国电信"), + } + self.v1_vars = { + "login_url": StringVar(master=root), + "username": StringVar(master=root), + "encrypted_password": StringVar(master=root), + "carrier": StringVar(master=root), + "user_group": StringVar(master=root), + "session_id": StringVar(master=root), + } + self._secret_entries: list[ttk.Entry] = [] + self._version_buttons: list[ttk.Radiobutton] = [] + self._status_style = "info" + self._interface_status_style = "secondary" + self._window_icon_photo: ImageTk.PhotoImage | None = None + self._header_logo_photo: ImageTk.PhotoImage | None = None + + for sequence in ("", "", ""): + self.root.bind_class( + COMBOBOX_WHEEL_GUARD_TAG, + sequence, + self._stop_combobox_wheel, + ) + + self._configure_window() + self._configure_styles() + self._load_brand_images() + self._build_layout() + if self._restore_maximized: + self.root.after_idle(self._restore_window_maximized) + self._show_version_form() + self._apply_text_theme() + self._update_controls() + + if initialize_runtime: + self._load_config() + self.root.after(150, self.refresh_interfaces) + self._schedule_event_poll() + + def _configure_window(self) -> None: + self.root.title("Campus Net · 校园网连接") + work_areas = _screen_work_areas(self.root) + primary_work_area = work_areas[0] + effective_min_width = min(MIN_WINDOW_WIDTH, primary_work_area.width) + effective_min_height = min(MIN_WINDOW_HEIGHT, primary_work_area.height) + saved_state = ( + load_window_state(self.window_state_path) if self._initialize_runtime else None + ) + restored_state = clamp_window_state( + saved_state, + work_areas, + min_width=effective_min_width, + min_height=effective_min_height, + default_width=DEFAULT_WINDOW_WIDTH, + default_height=DEFAULT_WINDOW_HEIGHT, + ) + self._last_normal_window_state = WindowState( + width=restored_state.width, + height=restored_state.height, + x=restored_state.x, + y=restored_state.y, + ) + self._restore_maximized = restored_state.maximized + self.root.geometry(restored_state.geometry) + self.root.minsize(effective_min_width, effective_min_height) + self.root.bind("", self._remember_window_geometry, add="+") + self.root.protocol("WM_DELETE_WINDOW", self._request_close) + + def _configure_styles(self) -> None: + style = self.root.style + colors = style.colors + is_dark = self.theme_var.get() == "darkly" + canvas_background = colors.active if is_dark else colors.light + card_background = colors.bg + panel_background = colors.inputbg if is_dark else colors.light + muted_foreground = colors.light if is_dark else colors.dark + border_color = colors.secondary if is_dark else colors.border + + self.root.configure(background=canvas_background) + style.configure("App.TFrame", background=canvas_background) + style.configure("CardBorder.TFrame", background=border_color) + style.configure("Card.TFrame", background=card_background) + style.configure("Card.TLabel", background=card_background, foreground=colors.fg) + style.configure( + "CardTitle.TLabel", + background=card_background, + foreground=colors.fg, + font=("Segoe UI", 14, "bold"), + ) + style.configure( + "CardSubtitle.TLabel", + background=card_background, + foreground=muted_foreground, + font=("Segoe UI", 9), + ) + style.configure( + "Field.TLabel", + background=card_background, + foreground=muted_foreground, + font=("Segoe UI", 9, "bold"), + ) + style.configure("Panel.TFrame", background=panel_background) + style.configure("ToggleBorder.TFrame", background=colors.border) + style.configure("ToggleControl.TFrame", background=colors.inputbg) + style.configure( + "PanelMeta.TLabel", + background=panel_background, + foreground=muted_foreground, + font=("Segoe UI", 9), + ) + style.configure( + "Hero.TFrame", + background=colors.primary, + ) + style.configure( + "HeroMark.TLabel", + background="#ffffff", + foreground=colors.primary, + font=("Segoe UI", 12, "bold"), + anchor="center", + ) + style.configure( + "HeroLogo.TLabel", + background=colors.primary, + anchor="center", + ) + style.configure( + "HeroTitle.TLabel", + background=colors.primary, + foreground="#ffffff", + font=("Segoe UI", 20, "bold"), + ) + style.configure( + "HeroSubtitle.TLabel", + background=colors.primary, + foreground="#dbe7f3", + font=("Segoe UI", 9), + ) + style.configure( + "HeroStatus.TLabel", + background=colors.primary, + foreground="#ffffff", + font=("Segoe UI", 9, "bold"), + ) + style.configure( + "Footer.TLabel", + background=canvas_background, + foreground=muted_foreground, + font=("Segoe UI", 9), + ) + style.configure("TEntry", padding=(9, 7)) + style.configure("TCombobox", padding=(7, 7)) + + for semantic_style in STATUS_ICONS: + semantic_color = ( + getattr(colors, semantic_style) + if is_dark + else LIGHT_SEMANTIC_COLORS[semantic_style] + ) + style_name = semantic_style.title() + style.configure( + f"{style_name}.StatusIcon.TLabel", + background=panel_background, + foreground=semantic_color, + font=("Segoe UI", 18, "bold"), + anchor="center", + ) + style.configure( + f"{style_name}.StatusText.TLabel", + background=panel_background, + foreground=semantic_color, + font=("Segoe UI", 12, "bold"), + ) + style.configure( + f"{style_name}.Interface.TLabel", + background=card_background, + foreground=semantic_color, + font=("Segoe UI", 9, "bold"), + ) + + def _load_brand_images(self) -> None: + try: + with Image.open(app_icon_path()) as source: + source.load() + brand_image = source.convert("RGBA") + except (OSError, UnidentifiedImageError): + return + + brand_image.thumbnail((64, 64), Image.Resampling.LANCZOS) + window_icon = brand_image.copy() + header_logo = brand_image.copy() + header_logo.thumbnail((56, 56), Image.Resampling.LANCZOS) + self._window_icon_photo = ImageTk.PhotoImage(window_icon, master=self.root) + self._header_logo_photo = ImageTk.PhotoImage(header_logo, master=self.root) + try: + self.root.iconphoto(True, self._window_icon_photo) + except TclError: + pass + + def _restore_window_maximized(self) -> None: + try: + self.root.state("zoomed") + except TclError: + pass + + def _remember_window_geometry(self, event: object | None = None) -> None: + if ( + not self._initialize_runtime + or self._is_closing + or (event is not None and getattr(event, "widget", None) is not self.root) + ): + return + try: + if self.root.state() != "normal": + return + width = self.root.winfo_width() + height = self.root.winfo_height() + x = self.root.winfo_x() + y = self.root.winfo_y() + except TclError: + return + if width < 2 or height < 2: + return + self._last_normal_window_state = WindowState( + width=width, + height=height, + x=x, + y=y, + ) + + def _persist_window_geometry(self) -> None: + if not self._initialize_runtime or self._window_state_saved: + return + self._window_state_saved = True + self._remember_window_geometry() + state = self._last_normal_window_state + if state is None: + return + try: + maximized = self.root.state() == "zoomed" + save_window_state( + WindowState( + width=state.width, + height=state.height, + x=state.x, + y=state.y, + maximized=maximized, + ), + self.window_state_path, + ) + except (OSError, TclError, ValueError): + pass + + def _build_layout(self) -> None: + shell = ttk.Frame(self.root, padding=18, style="App.TFrame") + shell.pack(fill="both", expand=True) + shell.columnconfigure(0, weight=1) + shell.rowconfigure(1, weight=1) + + header = ttk.Frame(shell, padding=(20, 14), style="Hero.TFrame") + header.grid(row=0, column=0, sticky="ew", pady=(0, 14)) + header.columnconfigure(1, weight=1) + + if self._header_logo_photo is None: + ttk.Label( + header, + text="CN", + width=4, + padding=(6, 7), + style="HeroMark.TLabel", + ).grid(row=0, column=0, rowspan=2, sticky="nsw", padx=(0, 12)) + else: + ttk.Label( + header, + image=self._header_logo_photo, + style="HeroLogo.TLabel", + ).grid(row=0, column=0, rowspan=2, sticky="nsw", padx=(0, 14)) + ttk.Label( + header, + text="Campus Net", + style="HeroTitle.TLabel", + ).grid(row=0, column=1, sticky="sw") + ttk.Label( + header, + text="校园网门户连接、配置与状态检查", + style="HeroSubtitle.TLabel", + ).grid(row=1, column=1, sticky="nw", pady=(1, 0)) + + header_tools = ttk.Frame(header, style="Hero.TFrame") + header_tools.grid(row=0, column=2, rowspan=2, sticky="e") + self.header_status_icon_label = ttk.Label( + header_tools, + textvariable=self.status_icon_var, + style="HeroStatus.TLabel", + ) + self.header_status_icon_label.pack(side="left", padx=(0, 5)) + ttk.Label( + header_tools, + textvariable=self.header_status_var, + style="HeroStatus.TLabel", + ).pack(side="left", padx=(0, 14)) + ttk.Label( + header_tools, + text="外观", + style="HeroSubtitle.TLabel", + ).pack(side="left", padx=(0, 7)) + theme_combo = ttk.Combobox( + header_tools, + textvariable=self.theme_display_var, + values=tuple(THEME_LABELS), + width=6, + state="readonly", + ) + theme_combo.pack(side="left") + theme_combo.bind("<>", self._change_theme) + + content = ttk.Frame(shell, style="App.TFrame") + content.grid(row=1, column=0, sticky="nsew") + content.columnconfigure(0, weight=3, uniform="content") + content.columnconfigure(1, weight=2, uniform="content") + content.rowconfigure(0, weight=1) + + form_border = ttk.Frame(content, padding=1, style="CardBorder.TFrame") + form_border.grid(row=0, column=0, sticky="nsew", padx=(0, 7)) + form_border.columnconfigure(0, weight=1) + form_border.rowconfigure(0, weight=1) + form_panel = ttk.Frame(form_border, padding=18, style="Card.TFrame") + form_panel.grid(row=0, column=0, sticky="nsew") + form_panel.columnconfigure(0, weight=1) + form_panel.rowconfigure(3, weight=1) + + heading = ttk.Frame(form_panel, style="Card.TFrame") + heading.grid(row=0, column=0, sticky="ew") + ttk.Label(heading, text="连接配置", style="CardTitle.TLabel").pack(anchor="w") + ttk.Label( + heading, + text="选择门户协议并填写此设备的连接信息", + style="CardSubtitle.TLabel", + ).pack(anchor="w", pady=(2, 0)) + + version_row = ttk.Frame(form_panel, padding=4, style="Panel.TFrame") + version_row.grid(row=1, column=0, sticky="ew", pady=(14, 12)) + version_row.columnconfigure(0, weight=1) + version_row.columnconfigure(1, weight=1) + for value, label in ((2, "新版 captive SSO"), (1, "旧版 ePortal")): + button = ttk.Radiobutton( + version_row, + text="新版 SSO(推荐)" if value == 2 else label, + value=value, + variable=self.version_var, + command=self._show_version_form, + bootstyle="primary-toolbutton", + padding=(10, 7), + ) + button.grid( + row=0, + column=0 if value == 2 else 1, + sticky="ew", + padx=(0, 3) if value == 2 else (3, 0), + ) + self._version_buttons.append(button) + + ttk.Separator(form_panel).grid(row=2, column=0, sticky="ew", pady=(0, 12)) + + self.form_stack = ScrolledFrame( + form_panel, + padding=(0, 0, 8, 0), + autohide=False, + height=240, + width=500, + ) + self.form_stack.grid(row=3, column=0, sticky="nsew") + self.form_stack.columnconfigure(0, weight=1) + self.form_stack.rowconfigure(0, weight=1) + self.v2_frame = self._build_v2_form(self.form_stack) + self.v1_frame = self._build_v1_form(self.form_stack) + + ttk.Separator(form_panel).grid(row=4, column=0, sticky="ew", pady=(12, 10)) + action_bar = ttk.Frame(form_panel, style="Card.TFrame") + action_bar.grid(row=5, column=0, sticky="ew") + action_bar.columnconfigure(0, weight=1) + action_bar.columnconfigure(1, weight=1) + self.save_button = ttk.Button( + action_bar, + text="保存配置", + command=self._save_config, + bootstyle="primary-outline", + padding=(10, 7), + ) + self.save_button.grid(row=0, column=0, sticky="ew", padx=(0, 5)) + self.reload_button = ttk.Button( + action_bar, + text="重新加载", + command=self._load_config, + bootstyle="secondary-outline", + padding=(10, 7), + ) + self.reload_button.grid(row=0, column=1, sticky="ew", padx=(5, 0)) + + log_border = ttk.Frame(content, padding=1, style="CardBorder.TFrame") + log_border.grid(row=0, column=1, sticky="nsew", padx=(7, 0)) + log_border.columnconfigure(0, weight=1) + log_border.rowconfigure(0, weight=1) + log_panel = ttk.Frame(log_border, padding=18, style="Card.TFrame") + log_panel.grid(row=0, column=0, sticky="nsew") + log_panel.columnconfigure(0, weight=1) + log_panel.rowconfigure(6, weight=1) + + ttk.Label(log_panel, text="运行中心", style="CardTitle.TLabel").grid( + row=0, + column=0, + sticky="w", + ) + ttk.Label( + log_panel, + text="探测网络状态并执行校园网认证", + style="CardSubtitle.TLabel", + ).grid(row=1, column=0, sticky="w", pady=(2, 12)) + + status_panel = ttk.Frame(log_panel, padding=(14, 11), style="Panel.TFrame") + status_panel.grid(row=2, column=0, sticky="ew") + status_panel.columnconfigure(0, weight=1) + status_summary = ttk.Frame(status_panel, style="Panel.TFrame") + status_summary.grid(row=0, column=0) + self.status_icon_label = ttk.Label( + status_summary, + textvariable=self.status_icon_var, + style="Info.StatusIcon.TLabel", + ) + self.status_icon_label.pack(side="left", padx=(0, 7)) + self.status_label = ttk.Label( + status_summary, + textvariable=self.status_var, + justify="center", + wraplength=300, + style="Info.StatusText.TLabel", + ) + self.status_label.pack(side="left") + ttk.Label( + status_panel, + text="详细过程与门户返回信息会记录在下方日志中", + style="PanelMeta.TLabel", + ).grid(row=1, column=0, pady=(2, 0)) + + self.progress = ttk.Progressbar(log_panel, mode="indeterminate", bootstyle="success") + self.progress.grid(row=3, column=0, sticky="ew", pady=(9, 0)) + + self.run_bar = ttk.Frame(log_panel, style="Card.TFrame") + self.run_bar.grid(row=4, column=0, sticky="ew", pady=(12, 13)) + self.run_bar.columnconfigure(0, weight=2) + self.run_bar.columnconfigure(1, weight=1) + self.connect_button = ttk.Button( + self.run_bar, + text="连接校园网", + command=lambda: self._start_operation(probe_only=False), + bootstyle="success", + padding=(14, 9), + ) + self.connect_button.grid(row=0, column=0, sticky="ew", padx=(0, 5)) + self.probe_button = ttk.Button( + self.run_bar, + text="只读探测", + command=lambda: self._start_operation(probe_only=True), + bootstyle="info-outline", + padding=(12, 9), + ) + self.probe_button.grid(row=0, column=1, sticky="ew", padx=(5, 0)) + self.cancel_button = ttk.Button( + self.run_bar, + text="取消当前操作", + command=self._cancel_operation, + bootstyle="danger-outline", + padding=(14, 9), + ) + self.cancel_button.grid(row=0, column=0, columnspan=2, sticky="ew") + + log_heading = ttk.Frame(log_panel, style="Card.TFrame") + log_heading.grid(row=5, column=0, sticky="ew", pady=(0, 7)) + log_heading.columnconfigure(0, weight=1) + ttk.Label(log_heading, text="过程日志", style="Field.TLabel").grid( + row=0, + column=0, + sticky="w", + ) + ttk.Button( + log_heading, + text="复制", + command=self._copy_log, + bootstyle="secondary-link", + padding=(5, 2), + ).grid(row=0, column=1, padx=(4, 0)) + ttk.Button( + log_heading, + text="清空", + command=self._clear_log, + bootstyle="secondary-link", + padding=(5, 2), + ).grid(row=0, column=2, padx=(2, 0)) + + log_container = ttk.Frame(log_panel, style="Card.TFrame") + log_container.grid(row=6, column=0, sticky="nsew") + log_container.columnconfigure(0, weight=1) + log_container.rowconfigure(0, weight=1) + self.log_text = Text( + log_container, + wrap="word", + relief="flat", + borderwidth=0, + padx=10, + pady=10, + font=("Cascadia Mono", 10), + state="disabled", + ) + self.log_text.grid(row=0, column=0, sticky="nsew") + log_scrollbar = ttk.Scrollbar( + log_container, + orient="vertical", + command=self.log_text.yview, + ) + log_scrollbar.grid(row=0, column=1, sticky="ns") + self.log_text.configure(yscrollcommand=log_scrollbar.set) + + path_row = ttk.Frame(shell, style="App.TFrame") + path_row.grid(row=2, column=0, sticky="ew", pady=(12, 0)) + path_row.columnconfigure(1, weight=1) + ttk.Label(path_row, text="配置文件", style="Footer.TLabel").grid( + row=0, + column=0, + sticky="w", + padx=(0, 10), + ) + ttk.Entry( + path_row, + textvariable=self.config_path_var, + state="readonly", + ).grid(row=0, column=1, sticky="ew") + ttk.Button( + path_row, + text="复制路径", + command=self._copy_config_path, + bootstyle="secondary-outline", + padding=(9, 5), + ).grid(row=0, column=2, padx=(8, 0)) + + def _build_v2_form(self, parent: ttk.Frame) -> ttk.Frame: + frame = ttk.Frame(parent, style="Card.TFrame") + frame.columnconfigure(0, weight=1, uniform="v2-fields") + frame.columnconfigure(1, weight=1, uniform="v2-fields") + + interface_field = ttk.Frame(frame, style="Card.TFrame") + interface_field.grid(row=0, column=0, columnspan=2, sticky="ew", pady=(0, 8)) + interface_field.columnconfigure(0, weight=1) + ttk.Label( + interface_field, + text="Windows IPv4 接口", + style="Field.TLabel", + ).grid(row=0, column=0, sticky="w", pady=(0, 4)) + interface_row = ttk.Frame(interface_field, style="Card.TFrame") + interface_row.grid(row=1, column=0, sticky="ew") + interface_row.columnconfigure(0, weight=1) + self.interface_combo = ttk.Combobox( + interface_row, + textvariable=self.interface_display_var, + state="normal", + ) + self.interface_combo.grid(row=0, column=0, sticky="ew") + self._guard_combobox_wheel(self.interface_combo) + self.refresh_interfaces_button = ttk.Button( + interface_row, + text="刷新", + command=self.refresh_interfaces, + bootstyle="secondary-outline", + width=7, + padding=(7, 6), + ) + self.refresh_interfaces_button.grid(row=0, column=1, padx=(8, 0)) + self.interface_combo.bind("<>", self._update_interface_summary) + self.interface_combo.bind("", self._update_interface_summary) + + interface_summary = ttk.Frame(interface_field, style="Card.TFrame") + interface_summary.grid(row=2, column=0, sticky="ew", pady=(6, 0)) + self.interface_status_label = ttk.Label( + interface_summary, + textvariable=self.interface_status_var, + style="Secondary.Interface.TLabel", + ) + self.interface_status_label.pack(side="left") + ttk.Label( + interface_summary, + textvariable=self.interface_meta_var, + style="CardSubtitle.TLabel", + ).pack(side="left", padx=(9, 0)) + + self._add_entry( + frame, + 1, + 0, + "门户根地址", + self.v2_vars["portal_url"], + columnspan=2, + ) + self._add_entry( + frame, + 2, + 0, + "校园网账号", + self.v2_vars["username"], + padx=(0, 6), + ) + password_entry = self._add_entry( + frame, + 2, + 1, + "校园网密码", + self.v2_vars["password"], + show="•", + padx=(6, 0), + ) + self._secret_entries.append(password_entry) + self.v2_carrier_combo = self._add_combobox( + frame, + 3, + 0, + "运营商", + self.v2_vars["carrier"], + values=CARRIERS, + padx=(0, 6), + ) + self._add_secret_toggle( + frame, + 3, + 1, + text="显示密码", + padx=(6, 0), + ) + self._add_form_hint( + frame, + 4, + text="接口可以是 Wi-Fi、以太网或其他 IPv4 网卡;也可直接填写接口索引。", + ) + return frame + + def _build_v1_form(self, parent: ttk.Frame) -> ttk.Frame: + frame = ttk.Frame(parent, style="Card.TFrame") + frame.columnconfigure(0, weight=1, uniform="v1-fields") + frame.columnconfigure(1, weight=1, uniform="v1-fields") + + self._add_entry( + frame, + 0, + 0, + "登录地址", + self.v1_vars["login_url"], + columnspan=2, + ) + self._add_entry( + frame, + 1, + 0, + "校园网账号", + self.v1_vars["username"], + padx=(0, 6), + ) + password_entry = self._add_entry( + frame, + 1, + 1, + "加密密码", + self.v1_vars["encrypted_password"], + show="•", + padx=(6, 0), + ) + self._secret_entries.append(password_entry) + self._add_entry( + frame, + 2, + 0, + "运营商", + self.v1_vars["carrier"], + padx=(0, 6), + ) + self._add_entry( + frame, + 2, + 1, + "用户组(可选)", + self.v1_vars["user_group"], + padx=(6, 0), + ) + session_entry = self._add_entry( + frame, + 3, + 0, + "会话 ID(可选)", + self.v1_vars["session_id"], + show="•", + columnspan=2, + ) + self._secret_entries.append(session_entry) + self._add_secret_toggle( + frame, + 4, + 0, + text="显示敏感字段", + columnspan=2, + ) + self._add_form_hint( + frame, + 5, + text="旧版使用门户生成的 encrypted_password,不接受新版明文密码。", + ) + return frame + + def _add_entry( + self, + parent: ttk.Frame, + row: int, + column: int, + label: str, + variable: StringVar, + *, + show: str | None = None, + columnspan: int = 1, + padx: tuple[int, int] = (0, 0), + ) -> ttk.Entry: + field = ttk.Frame(parent, style="Card.TFrame") + field.grid( + row=row, + column=column, + columnspan=columnspan, + sticky="ew", + padx=padx, + pady=(0, 8), + ) + ttk.Label(field, text=label, style="Field.TLabel").pack(anchor="w") + entry = ttk.Entry(field, textvariable=variable, show=show or "") + entry.pack(fill="x", pady=(4, 0)) + return entry + + def _add_secret_toggle( + self, + parent: ttk.Frame, + row: int, + column: int, + *, + text: str, + columnspan: int = 1, + padx: tuple[int, int] = (0, 0), + ) -> None: + field = ttk.Frame(parent, style="Card.TFrame") + field.grid( + row=row, + column=column, + columnspan=columnspan, + sticky="nsew", + padx=padx, + pady=(0, 8), + ) + ttk.Label(field, text="敏感信息", style="Field.TLabel").pack(anchor="w") + toggle_border = ttk.Frame(field, padding=1, style="ToggleBorder.TFrame") + toggle_border.pack(fill="x", pady=(4, 0)) + toggle_control = ttk.Frame( + toggle_border, + padding=(9, 8), + style="ToggleControl.TFrame", + ) + toggle_control.pack(fill="x") + ttk.Checkbutton( + toggle_control, + text=text, + variable=self.show_secrets_var, + command=self._toggle_secrets, + bootstyle="primary-square-toggle", + ).pack(anchor="w") + + def _add_combobox( + self, + parent: ttk.Frame, + row: int, + column: int, + label: str, + variable: StringVar, + *, + values: tuple[str, ...], + columnspan: int = 1, + padx: tuple[int, int] = (0, 0), + ) -> ttk.Combobox: + field = ttk.Frame(parent, style="Card.TFrame") + field.grid( + row=row, + column=column, + columnspan=columnspan, + sticky="ew", + padx=padx, + pady=(0, 8), + ) + ttk.Label(field, text=label, style="Field.TLabel").pack(anchor="w") + combobox = ttk.Combobox( + field, + textvariable=variable, + values=values, + state="readonly", + ) + combobox.pack(fill="x", pady=(4, 0)) + self._guard_combobox_wheel(combobox) + return combobox + + @staticmethod + def _stop_combobox_wheel(_event: object) -> str: + return "break" + + @staticmethod + def _guard_combobox_wheel(combobox: ttk.Combobox) -> None: + bindtags = combobox.bindtags() + if COMBOBOX_WHEEL_GUARD_TAG in bindtags: + return + combobox.bindtags((bindtags[0], COMBOBOX_WHEEL_GUARD_TAG, *bindtags[1:])) + + def _add_form_hint(self, parent: ttk.Frame, row: int, *, text: str) -> None: + hint = ttk.Label( + parent, + text=text, + justify="left", + style="CardSubtitle.TLabel", + ) + hint.grid(row=row, column=0, columnspan=2, sticky="ew", pady=(1, 0)) + + def resize_hint(event: object) -> None: + width = getattr(event, "width", 0) + if isinstance(width, int) and width > 40: + hint.configure(wraplength=max(240, width - 12)) + + parent.bind("", resize_hint, add="+") + + def _show_version_form(self) -> None: + version = self.version_var.get() + if version == 2: + self.v2_frame.grid(row=0, column=0, sticky="nsew") + self.v1_frame.grid_remove() + else: + self.v1_frame.grid(row=0, column=0, sticky="nsew") + self.v2_frame.grid_remove() + self._update_controls() + + def _toggle_secrets(self) -> None: + show = "" if self.show_secrets_var.get() else "•" + for entry in self._secret_entries: + entry.configure(show=show) + + def _change_theme(self, _event: object | None = None) -> None: + theme = THEME_LABELS.get(self.theme_display_var.get(), self.theme_var.get()) + if theme not in THEMES: + return + self.theme_var.set(theme) + self.theme_display_var.set( + next(label for label, value in THEME_LABELS.items() if value == theme) + ) + self.root.style.theme_use(theme) + self._configure_styles() + self._apply_text_theme() + + def _apply_text_theme(self) -> None: + colors = self.root.style.colors + is_dark = self.theme_var.get() == "darkly" + muted_foreground = colors.light if is_dark else colors.dark + self.log_text.configure( + background=colors.inputbg, + foreground=colors.inputfg, + insertbackground=colors.inputfg, + selectbackground=colors.selectbg, + selectforeground=colors.selectfg, + ) + self.log_text.tag_configure("timestamp", foreground=muted_foreground) + self.log_text.tag_configure("message", foreground=colors.inputfg) + self.root.style.configure( + "primary.Square.Toggle", + background=colors.inputbg, + foreground=colors.inputfg, + ) + self.root.style.map( + "primary.Square.Toggle", + background=[ + ("active", colors.inputbg), + ("disabled", colors.inputbg), + ], + foreground=[("disabled", muted_foreground)], + ) + self.root.style.configure( + "primary.Toolbutton", + background=colors.inputbg if is_dark else colors.light, + foreground=colors.fg, + bordercolor=colors.border, + lightcolor=colors.border, + darkcolor=colors.border, + ) + + def _load_config(self) -> None: + if self._active_operation_id is not None: + return + if not self.config_path.exists(): + self._revision = ConfigRevision.absent() + self._save_allowed = True + self._set_status("尚未创建配置,可填写后保存", "info") + self._append_log(f"将新建配置:{self.config_path}") + self._update_controls() + return + + try: + loaded = load_editable_config(self.config_path) + version, values = form_values_from_config(loaded.config) + except (ConfigStoreError, OSError, TypeError, ValueError) as error: + self._save_allowed = False + self._set_status("配置加载失败,已禁止覆盖", "danger") + self._append_log(f"配置加载失败:{error}") + self._update_controls() + return + + self._revision = loaded.revision + self._save_allowed = True + self._apply_form_values(version, values) + self._set_status(f"已加载 version={version} 配置", "success") + self._append_log(f"已加载配置:{loaded.path}") + self._update_controls() + + def _apply_form_values(self, version: int, values: dict[str, str]) -> None: + self.version_var.set(version) + if version == 2: + self.interface_display_var.set(values["interface_index"]) + for key, variable in self.v2_vars.items(): + variable.set(values[key]) + self._update_interface_summary() + else: + for key, variable in self.v1_vars.items(): + variable.set(values[key]) + self._show_version_form() + + def _collect_config(self) -> EditableConfig: + version = self.version_var.get() + if version == 2: + interface_text = self.interface_display_var.get().strip() + interface_index = self._interface_by_display.get(interface_text) + if interface_index is None: + interface_index_text = interface_text.split("·", 1)[0].strip() + else: + interface_index_text = str(interface_index) + values = { + "interface_index": interface_index_text, + **{key: variable.get() for key, variable in self.v2_vars.items()}, + } + else: + values = {key: variable.get() for key, variable in self.v1_vars.items()} + return build_config_from_form(version, values) + + def _save_config(self) -> None: + if not self._save_allowed or self._active_operation_id is not None: + return + try: + config = self._collect_config() + receipt = save_editable_config( + config, + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=self._revision, + ) + except ConfigRevisionError as error: + self._save_allowed = False + self._set_status("配置已被其他程序修改,请重新加载", "warning") + self._append_log(f"保存已停止:{error}") + messagebox.showwarning("保存已停止", str(error), parent=self.root) + except ConfigCommitUncertainError as error: + self._save_allowed = False + self._set_status("写入后的文件状态无法确认,请重新加载", "danger") + self._append_log(f"配置替换后的落盘状态无法确认:{error}") + if error.backup is not None: + self._append_log(f"可用于恢复的原配置备份:{error.backup.path}") + messagebox.showerror( + "保存状态不确定", + "配置已执行原子替换,但最终落盘状态无法确认。请重新加载配置并检查备份目录。", + parent=self.root, + ) + except ConfigIntegrityError as error: + self._set_status("完整性校验失败,已停止覆盖", "danger") + self._append_log(f"保存已在替换前停止:{error}") + messagebox.showerror( + "保存已停止", + "配置或备份的完整性校验失败,旧配置未被覆盖。", + parent=self.root, + ) + except (ConfigStoreError, OSError, TypeError, ValueError) as error: + self._set_status("配置保存失败", "danger") + self._append_log(f"配置保存失败:{error}") + messagebox.showerror("配置保存失败", str(error), parent=self.root) + else: + self._revision = receipt.revision + if not receipt.changed: + self._set_status("配置内容没有变化", "info") + self._append_log("配置内容没有变化,未覆盖文件,也未创建备份。") + elif receipt.backup is None: + self._set_status("配置已创建", "success") + self._append_log(f"已创建配置:{receipt.path}") + else: + self._set_status("配置已备份并保存", "success") + self._append_log(f"原配置备份:{receipt.backup.path}") + self._append_log(f"已原子保存配置:{receipt.path}") + finally: + self._update_controls() + + def _start_operation(self, *, probe_only: bool) -> None: + if self._active_operation_id is not None: + return + if probe_only and self.version_var.get() == 1: + self._set_status("旧版 ePortal 不支持独立探测", "warning") + return + try: + config = self._collect_config() + operation_id = self.controller.start(config, probe_only=probe_only) + except (ConfigStoreError, OSError, TypeError, ValueError, RuntimeError) as error: + self._set_status("无法启动操作", "danger") + self._append_log(f"无法启动操作:{error}") + return + + self._active_operation_id = operation_id + action = "只读探测" if probe_only else "连接" + self._set_status(f"正在执行{action}", "info") + self._append_log(f"开始{action},配置版本 {self.version_var.get()}。") + self.progress.start(12) + self._update_controls() + + def _cancel_operation(self) -> None: + if self._active_operation_id is None: + return + if self.controller.cancel(): + self._set_status("正在取消操作…", "warning") + self._append_log("已请求取消;正在提交的请求可能已被服务端处理。") + self.cancel_button.configure(state="disabled") + + def refresh_interfaces(self) -> None: + if self._interface_loading: + return + self._interface_loading = True + self.refresh_interfaces_button.configure(state="disabled") + self._set_interface_status( + "正在读取网络接口", + "info", + "正在查询 Windows IPv4 路由接口", + ) + self._append_log("正在读取 Windows IPv4 接口…") + thread = threading.Thread( + target=self._load_interfaces_in_worker, + name="campus-net-interface-list", + daemon=True, + ) + try: + thread.start() + except (OSError, RuntimeError) as error: + self._interface_loading = False + self._set_interface_status( + "无法读取网络接口", + "danger", + "后台读取任务未能启动", + ) + self._append_log(f"无法启动网卡读取任务:{error}") + self._update_controls() + + def _load_interfaces_in_worker(self) -> None: + try: + interfaces = tuple(list_windows_ipv4_interfaces()) + except (OSError, ValueError, RuntimeError, subprocess.SubprocessError) as error: + result = _InterfaceResult(error=str(error)) + else: + result = _InterfaceResult(interfaces=interfaces) + self._interface_results.put(result) + + def _handle_interface_result(self, result: _InterfaceResult) -> None: + self._interface_loading = False + if result.error is not None: + self._set_interface_status( + "网络接口读取失败", + "danger", + "可手动填写 Windows IPv4 接口索引", + ) + self._append_log(f"网卡列表读取失败:{result.error}") + self._update_controls() + return + + current_index = self._current_interface_index() + self._interface_details_by_display = { + interface.display_name: interface for interface in result.interfaces + } + self._interface_by_display = { + interface.display_name: interface.index for interface in result.interfaces + } + displays = tuple(self._interface_by_display) + self.interface_combo.configure(values=displays) + matching_display = next( + ( + display + for display, index in self._interface_by_display.items() + if index == current_index + ), + None, + ) + if matching_display is not None: + self.interface_display_var.set(matching_display) + elif not self.interface_display_var.get().strip() and displays: + self.interface_display_var.set(displays[0]) + self._update_interface_summary() + self._append_log(f"已读取 {len(displays)} 个 IPv4 接口。") + self._update_controls() + + def _update_interface_summary(self, _event: object | None = None) -> None: + display = self.interface_display_var.get().strip() + interface = self._interface_details_by_display.get(display) + if interface is None: + interface_index = self._current_interface_index() + if interface_index is None: + self._set_interface_status( + "尚未选择网络接口", + "secondary", + "刷新列表或直接填写 IPv4 接口索引", + ) + else: + self._set_interface_status( + "使用手动接口索引", + "info", + f"IPv4 接口索引 {interface_index}", + ) + return + + state = interface.state.casefold() + if state == "connected": + message, style = "接口已连接", "success" + elif state == "disconnected": + message, style = "接口未连接", "secondary" + elif state == "authenticating": + message, style = "接口正在认证", "warning" + else: + message, style = interface.state or "接口状态未知", "warning" + self._set_interface_status( + message, + style, + f"接口索引 {interface.index} · 路由跃点 {interface.metric}", + ) + + def _set_interface_status(self, message: str, style: str, meta: str) -> None: + if style not in STATUS_ICONS: + style = "secondary" + self._interface_status_style = style + self.interface_status_var.set(f"{STATUS_ICONS[style]} {message}") + self.interface_meta_var.set(meta) + if hasattr(self, "interface_status_label"): + self.interface_status_label.configure(style=f"{style.title()}.Interface.TLabel") + + def _current_interface_index(self) -> int | None: + value = self.interface_display_var.get().strip() + mapped = self._interface_by_display.get(value) + if mapped is not None: + return mapped + try: + return int(value.split("·", 1)[0].strip()) + except ValueError: + return None + + def _poll_events(self) -> None: + self._poll_after_id = None + try: + while True: + self._handle_interface_result(self._interface_results.get_nowait()) + except Empty: + pass + + for event in self.controller.drain_events(): + if event.operation_id != self._active_operation_id: + continue + if isinstance(event, LogEvent): + self._append_log(event.message) + elif isinstance(event, CaptchaRequested): + if not self._is_closing: + self._show_captcha(event) + elif isinstance(event, FailedEvent): + self._finish_operation(event.message, style="danger") + self._append_log(f"{event.title}:{event.message}") + elif isinstance(event, FinishedEvent): + style = self._terminal_style(event) + self._finish_operation(event.message, style=style) + self._append_log(event.message) + + if self._is_closing and not self.controller.is_running: + self._destroy_root() + return + if self._is_closing and time.monotonic() >= self._close_deadline: + self._destroy_root() + return + self._schedule_event_poll() + + def _schedule_event_poll(self) -> None: + if self._poll_after_id is not None: + return + try: + self._poll_after_id = self.root.after(50, self._poll_events) + except TclError: + self._poll_after_id = None + + def _terminal_style(self, event: FinishedEvent) -> str: + if event.cancelled or event.exit_code in {2, 4}: + return "warning" + return "success" if event.exit_code == 0 else "danger" + + def _finish_operation(self, message: str, *, style: str) -> None: + self.progress.stop() + self._active_operation_id = None + self._close_captcha() + self._set_status(message, style) + self._update_controls() + + def _show_captcha(self, event: CaptchaRequested) -> None: + self._close_captcha() + try: + with Image.open(BytesIO(event.image_bytes)) as source: + source.load() + captcha_image = source.convert("RGB") + except (OSError, UnidentifiedImageError) as error: + self._append_log(f"验证码图片无效:{error}") + self.controller.cancel() + self._set_status("验证码图片无效,正在取消", "danger") + return + + captcha_image.thumbnail((560, 280), Image.Resampling.LANCZOS) + window = Toplevel(self.root) + window.title("校园网图形验证码") + window.resizable(False, False) + window.transient(self.root) + window.configure(background=self.root.style.colors.bg) + + body = ttk.Frame(window, padding=20, style="Card.TFrame") + body.pack(fill="both", expand=True) + ttk.Label( + body, + text="门户需要图形验证码", + style="CardTitle.TLabel", + ).pack(anchor="w") + ttk.Label( + body, + text="只需填写图片内容,其余登录表单仍由程序自动提交。", + style="CardSubtitle.TLabel", + ).pack(anchor="w", pady=(2, 12)) + + photo = ImageTk.PhotoImage(captcha_image, master=window) + image_border = ttk.Frame(body, padding=1, style="CardBorder.TFrame") + image_border.pack(fill="x", pady=(0, 13)) + ttk.Label(image_border, image=photo, anchor="center").pack(fill="x") + code_var = StringVar(master=window) + ttk.Label(body, text="验证码", style="Field.TLabel").pack(anchor="w") + entry = ttk.Entry(body, textvariable=code_var, justify="center", width=28) + entry.pack(fill="x", pady=(4, 0)) + validation_var = StringVar(master=window) + ttk.Label(body, textvariable=validation_var, bootstyle="danger").pack( + anchor="w", + pady=(4, 0), + ) + + button_row = ttk.Frame(body, style="Card.TFrame") + button_row.pack(fill="x", pady=(12, 0)) + + def submit() -> None: + code = code_var.get().strip() + if not code: + validation_var.set("请输入验证码") + entry.focus_set() + return + accepted = self.controller.answer_captcha( + event.operation_id, + event.request_id, + code, + ) + if accepted: + self._append_log("验证码已提交,等待门户校验。") + self._close_captcha() + self._set_status("验证码已提交,正在校验", "info") + else: + validation_var.set("验证码请求已失效") + + def cancel() -> None: + self._close_captcha() + self._cancel_operation() + + ttk.Button( + button_row, + text="提交验证码", + command=submit, + bootstyle="success", + padding=(12, 8), + ).pack(side="left", fill="x", expand=True, padx=(0, 5)) + ttk.Button( + button_row, + text="取消连接", + command=cancel, + bootstyle="danger-outline", + padding=(12, 8), + ).pack(side="left", fill="x", expand=True, padx=(5, 0)) + + window.bind("", lambda _event: submit()) + window.protocol("WM_DELETE_WINDOW", cancel) + self._center_child_window(window) + window.grab_set() + entry.focus_force() + self._captcha_dialog = _CaptchaDialog( + operation_id=event.operation_id, + request_id=event.request_id, + window=window, + photo=photo, + ) + self._set_status("等待输入图形验证码", "warning") + self._append_log("门户要求图形验证码。") + + def _center_child_window(self, window: Toplevel) -> None: + try: + window.update_idletasks() + width = window.winfo_reqwidth() + height = window.winfo_reqheight() + parent_x = self.root.winfo_rootx() + parent_y = self.root.winfo_rooty() + parent_width = self.root.winfo_width() + parent_height = self.root.winfo_height() + except TclError: + return + + x = parent_x + (parent_width - width) // 2 + y = parent_y + (parent_height - height) // 2 + parent_center_x = parent_x + parent_width // 2 + parent_center_y = parent_y + parent_height // 2 + work_areas = _screen_work_areas(self.root) + target_area = next( + ( + area + for area in work_areas + if area.left <= parent_center_x < area.right + and area.top <= parent_center_y < area.bottom + ), + work_areas[0], + ) + x = min(max(x, target_area.left), target_area.right - width) + y = min(max(y, target_area.top), target_area.bottom - height) + window.geometry(f"+{x}+{y}") + + def _close_captcha(self) -> None: + dialog = self._captcha_dialog + self._captcha_dialog = None + if dialog is None: + return + try: + dialog.window.grab_release() + except Exception: + pass + if dialog.window.winfo_exists(): + dialog.window.destroy() + + def _copy_log(self) -> None: + try: + content = self.log_text.get("1.0", "end-1c") + if not content: + return + self.root.clipboard_clear() + self.root.clipboard_append(content) + except TclError: + return + + def _clear_log(self) -> None: + try: + self.log_text.configure(state="normal") + self.log_text.delete("1.0", "end") + self.log_text.configure(state="disabled") + except TclError: + return + + def _copy_config_path(self) -> None: + try: + self.root.clipboard_clear() + self.root.clipboard_append(self.config_path_var.get()) + except TclError: + return + + def _append_log(self, message: str) -> None: + normalized = " ".join(str(message).split()) + if not normalized: + return + timestamp = datetime.now().strftime("%H:%M:%S") + self.log_text.configure(state="normal") + self.log_text.insert("end", f"{timestamp} ", "timestamp") + self.log_text.insert("end", f"{normalized}\n", "message") + line_count = int(self.log_text.index("end-1c").split(".", 1)[0]) + if line_count > MAX_LOG_LINES: + self.log_text.delete("1.0", f"{line_count - MAX_LOG_LINES}.0") + self.log_text.configure(state="disabled") + self.log_text.see("end") + + def _set_status(self, message: str, style: str) -> None: + if style not in STATUS_ICONS: + style = "info" + self._status_style = style + self.status_var.set(message) + self.header_status_var.set(message if len(message) <= 16 else f"{message[:15]}…") + self.status_icon_var.set(STATUS_ICONS[style]) + if hasattr(self, "status_icon_label"): + self.status_icon_label.configure(style=f"{style.title()}.StatusIcon.TLabel") + if hasattr(self, "status_label"): + self.status_label.configure(style=f"{style.title()}.StatusText.TLabel") + + def _update_controls(self) -> None: + is_busy = self._active_operation_id is not None + normal_when_idle = "disabled" if is_busy else "normal" + for button in self._version_buttons: + button.configure(state=normal_when_idle) + self.connect_button.configure(state=normal_when_idle) + self.reload_button.configure(state=normal_when_idle) + self.save_button.configure( + state="normal" if self._save_allowed and not is_busy else "disabled" + ) + self.probe_button.configure( + state=("normal" if not is_busy and self.version_var.get() == 2 else "disabled") + ) + self.cancel_button.configure(state="normal" if is_busy else "disabled") + self.refresh_interfaces_button.configure( + state="disabled" if is_busy or self._interface_loading else "normal" + ) + if is_busy: + self.connect_button.grid_remove() + self.probe_button.grid_remove() + self.cancel_button.grid() + self.progress.grid() + else: + self.cancel_button.grid_remove() + self.connect_button.grid() + self.probe_button.grid() + self.progress.grid_remove() + + def _request_close(self) -> None: + if self._is_closing: + return + if self._active_operation_id is None: + self._destroy_root() + return + self._is_closing = True + self._close_deadline = time.monotonic() + 3 + self._close_captcha() + self.controller.cancel() + self._set_status("正在停止后台操作…", "warning") + self._update_controls() + + def _destroy_root(self) -> None: + self._persist_window_geometry() + self._close_captcha() + poll_after_id = self._poll_after_id + self._poll_after_id = None + if poll_after_id is not None: + try: + self.root.after_cancel(poll_after_id) + except TclError: + pass + try: + if self.root.winfo_exists(): + self.root.destroy() + except TclError: + pass + + +def default_backup_directory() -> Path: + if sys.platform == "win32": + shell32 = getattr(getattr(ctypes, "windll", None), "shell32", None) + if shell32 is not None: + buffer = ctypes.create_unicode_buffer(260) + if shell32.SHGetFolderPathW(None, 5, None, 0, buffer) == 0 and buffer.value: + return Path(buffer.value) / "CampusNet Backups" + return Path.home() / "Documents" / "CampusNet Backups" + + +def default_window_state_path() -> Path: + local_app_data = os.environ.get("LOCALAPPDATA") + if local_app_data: + base_directory = Path(local_app_data) + else: + base_directory = Path.home() / "AppData" / "Local" + return base_directory / "Cedarflake" / "CampusNet" / "window-state.json" + + +def app_icon_path() -> Path: + bundle_directory = getattr(sys, "_MEIPASS", None) + if isinstance(bundle_directory, (str, os.PathLike)): + base_directory = Path(bundle_directory) + else: + base_directory = Path(__file__).resolve().parent.parent + return base_directory / "assets" / "app-icon.png" + + +def select_config_path(config_path: Path | None) -> Path: + if config_path is not None: + return config_path.expanduser().absolute() + try: + return resolve_config_path() + except FileNotFoundError: + if getattr(sys, "frozen", False): + executable_directory = Path(sys.executable).absolute().parent + project_root = packaged_project_root(sys.executable) + if project_root is not None: + return project_root / "config.json" + return executable_directory / "config.json" + return Path(__file__).resolve().parent.parent / "config.json" + + +def _screen_work_areas(root: ttk.Window) -> tuple[ScreenRect, ...]: + if sys.platform == "win32": + try: + areas = _windows_work_areas() + except (AttributeError, OSError, TypeError, ValueError, ctypes.ArgumentError): + areas = () + if areas: + return areas + return ( + ScreenRect( + left=0, + top=0, + right=root.winfo_screenwidth(), + bottom=root.winfo_screenheight(), + ), + ) + + +def _windows_work_areas() -> tuple[ScreenRect, ...]: + class _Rect(ctypes.Structure): + _fields_ = [ + ("left", ctypes.c_long), + ("top", ctypes.c_long), + ("right", ctypes.c_long), + ("bottom", ctypes.c_long), + ] + + class _MonitorInfo(ctypes.Structure): + _fields_ = [ + ("size", ctypes.c_ulong), + ("monitor", _Rect), + ("work", _Rect), + ("flags", ctypes.c_ulong), + ] + + user32 = ctypes.windll.user32 + monitor_callback_type = ctypes.WINFUNCTYPE( + ctypes.c_int, + ctypes.c_void_p, + ctypes.c_void_p, + ctypes.POINTER(_Rect), + ctypes.c_ssize_t, + ) + user32.GetMonitorInfoW.argtypes = [ + ctypes.c_void_p, + ctypes.POINTER(_MonitorInfo), + ] + user32.GetMonitorInfoW.restype = ctypes.c_int + user32.EnumDisplayMonitors.argtypes = [ + ctypes.c_void_p, + ctypes.c_void_p, + monitor_callback_type, + ctypes.c_ssize_t, + ] + user32.EnumDisplayMonitors.restype = ctypes.c_int + discovered: list[tuple[bool, ScreenRect]] = [] + + @monitor_callback_type + def collect_monitor( + monitor: int, + _device_context: int, + _monitor_rect: ctypes.POINTER(_Rect), + _data: int, + ) -> int: + info = _MonitorInfo(size=ctypes.sizeof(_MonitorInfo)) + if user32.GetMonitorInfoW(monitor, ctypes.byref(info)): + discovered.append( + ( + bool(info.flags & 1), + ScreenRect( + left=info.work.left, + top=info.work.top, + right=info.work.right, + bottom=info.work.bottom, + ), + ) + ) + return 1 + + if not user32.EnumDisplayMonitors(None, None, collect_monitor, 0): + raise OSError("无法枚举 Windows 显示器") + return tuple(area for _primary, area in sorted(discovered, key=lambda item: not item[0])) + + +def launch_gui(*, config_path: Path | None = None, smoke_test: bool = False) -> None: + root = ttk.Window(themename="darkly") + if smoke_test: + root.withdraw() + selected_path = ( + config_path.expanduser().absolute() + if config_path is not None + else Path.cwd().absolute() / "config.json" + ) + app = CampusNetApp(root, config_path=selected_path, initialize_runtime=False) + root.update_idletasks() + root.update() + app._destroy_root() + return + + CampusNetApp(root, config_path=select_config_path(config_path)) + root.mainloop() diff --git a/workbench/network/campus-net/campus_net/gui_core.py b/workbench/network/campus-net/campus_net/gui_core.py new file mode 100644 index 0000000..42d7930 --- /dev/null +++ b/workbench/network/campus-net/campus_net/gui_core.py @@ -0,0 +1,462 @@ +from __future__ import annotations + +import asyncio +import copy +import json +import os +import subprocess +import sys +import threading +from collections.abc import Awaitable, Callable, Mapping +from dataclasses import dataclass, field +from pathlib import Path +from queue import Empty, Queue +from typing import Any + +from .application import RunErrorInfo, classify_run_error, execute_config +from .config_store import ( + CaptiveConfigV2, + EditableConfig, + LegacyConfigV1, + config_from_mapping, + config_to_mapping, +) + +AsyncRunner = Callable[..., Awaitable[int]] + + +@dataclass(frozen=True, slots=True) +class LogEvent: + operation_id: int + message: str + + +@dataclass(frozen=True, slots=True) +class CaptchaRequested: + operation_id: int + request_id: int + image_bytes: bytes = field(repr=False) + content_type: str + + +@dataclass(frozen=True, slots=True) +class FinishedEvent: + operation_id: int + exit_code: int + message: str + cancelled: bool = False + + +@dataclass(frozen=True, slots=True) +class FailedEvent: + operation_id: int + exit_code: int + title: str + message: str + + +TerminalEvent = FinishedEvent | FailedEvent +GuiEvent = LogEvent | CaptchaRequested | TerminalEvent + + +@dataclass(frozen=True, slots=True) +class NetworkInterface: + index: int + alias: str + state: str + metric: int + + @property + def display_name(self) -> str: + state = { + "connected": "已连接", + "disconnected": "未连接", + "authenticating": "正在认证", + }.get(self.state.casefold(), self.state or "未知状态") + return f"{self.index} · {self.alias} · {state}" + + +@dataclass(slots=True) +class _PendingCaptcha: + loop: asyncio.AbstractEventLoop + future: asyncio.Future[str] + + +class CaptchaBroker: + def __init__(self, operation_id: int, events: Queue[GuiEvent]) -> None: + self.operation_id = operation_id + self.events = events + self._lock = threading.Lock() + self._next_request_id = 0 + self._pending: dict[int, _PendingCaptcha] = {} + + async def provider(self, image_bytes: bytes, content_type: str) -> str: + loop = asyncio.get_running_loop() + future = loop.create_future() + with self._lock: + if self._pending: + raise RuntimeError("同一连接任务不能同时等待多个验证码") + self._next_request_id += 1 + request_id = self._next_request_id + self._pending[request_id] = _PendingCaptcha(loop=loop, future=future) + self.events.put( + CaptchaRequested( + operation_id=self.operation_id, + request_id=request_id, + image_bytes=image_bytes, + content_type=content_type, + ) + ) + try: + return await future + finally: + with self._lock: + self._pending.pop(request_id, None) + + def answer(self, request_id: int, code: str) -> bool: + with self._lock: + pending = self._pending.pop(request_id, None) + if pending is None: + return False + try: + pending.loop.call_soon_threadsafe(_set_future_result, pending.future, code) + except RuntimeError: + return False + return True + + def cancel_pending(self) -> bool: + with self._lock: + pending = list(self._pending.values()) + self._pending.clear() + cancelled = False + for item in pending: + try: + item.loop.call_soon_threadsafe(_cancel_future, item.future) + except RuntimeError: + continue + cancelled = True + return cancelled + + +class OperationController: + def __init__(self, runner: AsyncRunner = execute_config) -> None: + self.events: Queue[GuiEvent] = Queue() + self._runner = runner + self._lock = threading.Lock() + self._next_operation_id = 0 + self._operation_id: int | None = None + self._thread: threading.Thread | None = None + self._loop: asyncio.AbstractEventLoop | None = None + self._task: asyncio.Task[int] | None = None + self._broker: CaptchaBroker | None = None + self._cancel_requested = False + self._is_active = False + + @property + def is_running(self) -> bool: + with self._lock: + return self._is_active + + @property + def operation_id(self) -> int | None: + with self._lock: + return self._operation_id + + def start(self, config: EditableConfig, *, probe_only: bool) -> int: + with self._lock: + if self._is_active: + raise RuntimeError("已有连接任务正在运行") + self._next_operation_id += 1 + operation_id = self._next_operation_id + broker = CaptchaBroker(operation_id, self.events) + thread = threading.Thread( + target=self._thread_main, + args=(operation_id, copy.deepcopy(config), probe_only, broker), + name=f"campus-net-operation-{operation_id}", + daemon=True, + ) + self._operation_id = operation_id + self._broker = broker + self._cancel_requested = False + self._is_active = True + self._thread = thread + try: + thread.start() + except BaseException: + self._is_active = False + self._thread = None + self._broker = None + raise + return operation_id + + def cancel(self) -> bool: + with self._lock: + if not self._is_active: + return False + self._cancel_requested = True + loop = self._loop + task = self._task + broker = self._broker + if broker is not None: + broker.cancel_pending() + if loop is not None and task is not None: + try: + loop.call_soon_threadsafe(task.cancel) + except RuntimeError: + pass + return True + + def answer_captcha(self, operation_id: int, request_id: int, code: str) -> bool: + with self._lock: + if operation_id != self._operation_id: + return False + broker = self._broker + return broker.answer(request_id, code) if broker is not None else False + + def drain_events(self, *, limit: int = 100) -> list[GuiEvent]: + drained: list[GuiEvent] = [] + for _ in range(limit): + try: + drained.append(self.events.get_nowait()) + except Empty: + break + return drained + + def _thread_main( + self, + operation_id: int, + config: EditableConfig, + probe_only: bool, + broker: CaptchaBroker, + ) -> None: + asyncio.run(self._run(operation_id, config, probe_only, broker)) + + async def _run( + self, + operation_id: int, + config: EditableConfig, + probe_only: bool, + broker: CaptchaBroker, + ) -> None: + loop = asyncio.get_running_loop() + current_task = asyncio.current_task() + if current_task is None: + raise RuntimeError("GUI 后台任务没有 asyncio Task") + with self._lock: + self._loop = loop + self._task = current_task + should_cancel = self._cancel_requested + terminal_event: TerminalEvent + try: + if should_cancel: + raise asyncio.CancelledError + exit_code = await self._runner( + config_to_mapping(config), + probe_only=probe_only, + captcha_provider=broker.provider, + status_callback=lambda message: self.events.put( + LogEvent(operation_id=operation_id, message=message) + ), + ) + except asyncio.CancelledError: + terminal_event = FinishedEvent( + operation_id=operation_id, + exit_code=3, + message="操作已取消;如果请求正在提交,服务端可能已经处理。", + cancelled=True, + ) + except Exception as error: + error_info = classify_run_error(error) or RunErrorInfo( + exit_code=3, + title="内部错误", + message=f"发生未处理的 {type(error).__name__}", + ) + terminal_event = FailedEvent( + operation_id=operation_id, + exit_code=error_info.exit_code, + title=error_info.title, + message=error_info.message, + ) + else: + terminal_event = FinishedEvent( + operation_id=operation_id, + exit_code=exit_code, + message=_completion_message(exit_code), + ) + finally: + broker.cancel_pending() + with self._lock: + if self._operation_id == operation_id: + self._loop = None + self._task = None + self._is_active = False + self.events.put(terminal_event) + + +def build_config_from_form(version: int, values: Mapping[str, str]) -> EditableConfig: + if version == 2: + interface_index_text = values.get("interface_index", "").strip() + try: + interface_index = int(interface_index_text) + except ValueError as error: + raise TypeError("interface_index 必须是整数") from error + config: dict[str, Any] = { + "version": 2, + "interface_index": interface_index, + "portal_url": values.get("portal_url", ""), + "username": values.get("username", ""), + "password": values.get("password", ""), + "carrier": values.get("carrier", ""), + } + return config_from_mapping(config) + + if version == 1: + config = { + "version": 1, + "login_url": values.get("login_url", ""), + "username": values.get("username", ""), + "encrypted_password": values.get("encrypted_password", ""), + "carrier": values.get("carrier", ""), + } + user_group = values.get("user_group", "").strip() + session_id = values.get("session_id", "").strip() + if user_group: + config["user_group"] = user_group + if session_id: + config["session_id"] = session_id + return config_from_mapping(config) + + raise ValueError("GUI 只支持 version=1 或 version=2") + + +def form_values_from_config(config: EditableConfig) -> tuple[int, dict[str, str]]: + raw_config = config_to_mapping(config) + version = raw_config["version"] + if isinstance(config, CaptiveConfigV2): + return version, { + "interface_index": str(config.interface_index), + "portal_url": config.portal_url, + "username": config.username, + "password": config.password, + "carrier": config.carrier, + } + if isinstance(config, LegacyConfigV1): + return version, { + "login_url": config.login_url, + "username": config.username, + "encrypted_password": config.encrypted_password, + "carrier": config.carrier, + "user_group": config.user_group or "", + "session_id": config.session_id or "", + } + raise TypeError("GUI 只接受正式 version=1 或 version=2 配置") + + +def list_windows_ipv4_interfaces() -> list[NetworkInterface]: + if sys.platform != "win32": + raise OSError("网卡列表当前仅支持 Windows") + system_root = os.environ.get("SystemRoot") + if not system_root: + raise OSError("Windows 环境缺少 SystemRoot") + powershell_path = ( + Path(system_root) / "System32" / "WindowsPowerShell" / "v1.0" / "powershell.exe" + ) + if not powershell_path.is_file(): + raise OSError(f"找不到系统 PowerShell:{powershell_path}") + command = ( + "[Console]::OutputEncoding = [Text.UTF8Encoding]::new(); " + "Get-NetIPInterface -AddressFamily IPv4 | " + "Select-Object InterfaceIndex,InterfaceAlias," + "@{Name='ConnectionState';Expression={$_.ConnectionState.ToString()}}," + "InterfaceMetric | " + "ConvertTo-Json -Compress" + ) + creation_flags = getattr(subprocess, "CREATE_NO_WINDOW", 0) + result = subprocess.run( + [str(powershell_path), "-NoProfile", "-NonInteractive", "-Command", command], + check=True, + capture_output=True, + text=True, + encoding="utf-8", + timeout=10, + creationflags=creation_flags, + ) + return parse_windows_ipv4_interfaces(result.stdout) + + +def parse_windows_ipv4_interfaces(payload: str) -> list[NetworkInterface]: + try: + decoded = json.loads(payload) + except json.JSONDecodeError as error: + raise ValueError("无法解析 Windows IPv4 接口列表") from error + if isinstance(decoded, dict): + items = [decoded] + elif isinstance(decoded, list): + items = decoded + else: + raise ValueError("Windows IPv4 接口列表格式无效") + + interfaces: list[NetworkInterface] = [] + for item in items: + if not isinstance(item, dict): + continue + index = item.get("InterfaceIndex") + alias = item.get("InterfaceAlias") + state = _normalize_connection_state(item.get("ConnectionState")) + metric = item.get("InterfaceMetric") + if ( + isinstance(index, bool) + or not isinstance(index, int) + or not isinstance(alias, str) + or not alias.strip() + ): + continue + interfaces.append( + NetworkInterface( + index=index, + alias=alias.strip(), + state=state, + metric=metric if isinstance(metric, int) and not isinstance(metric, bool) else 0, + ) + ) + if not interfaces: + raise ValueError("没有找到可用的 Windows IPv4 接口") + return sorted( + interfaces, + key=lambda item: ( + item.state.casefold() != "connected", + item.metric, + item.index, + ), + ) + + +def _normalize_connection_state(value: object) -> str: + if isinstance(value, str): + return value.strip() + if isinstance(value, int) and not isinstance(value, bool): + return { + 0: "Disconnected", + 1: "Connected", + 2: "Disconnected", + 3: "Authenticating", + }.get(value, f"状态 {value}") + return "" + + +def _set_future_result(future: asyncio.Future[str], value: str) -> None: + if not future.done(): + future.set_result(value) + + +def _cancel_future(future: asyncio.Future[str]) -> None: + if not future.done(): + future.cancel() + + +def _completion_message(exit_code: int) -> str: + return { + 0: "操作完成。", + 2: "无法确认配置接口的网络状态。", + 4: "门户状态与独立连通性探测未能同时确认在线。", + }.get(exit_code, f"操作结束,退出码 {exit_code}。") diff --git a/workbench/network/campus-net/campus_net/interactive.py b/workbench/network/campus-net/campus_net/interactive.py new file mode 100644 index 0000000..4ae3745 --- /dev/null +++ b/workbench/network/campus-net/campus_net/interactive.py @@ -0,0 +1,95 @@ +from __future__ import annotations + +from io import BytesIO +from pathlib import Path +from tempfile import NamedTemporaryFile + + +class CaptchaPromptError(RuntimeError): + pass + + +class CaptchaUiUnavailable(CaptchaPromptError): + pass + + +async def prompt_captcha(image_bytes: bytes, content_type: str) -> str: + try: + return _show_native_dialog(image_bytes) + except CaptchaUiUnavailable: + return _prompt_from_temporary_file(image_bytes, content_type) + + +def _show_native_dialog(image_bytes: bytes) -> str: + try: + import tkinter as tk + + from PIL import Image, ImageTk, UnidentifiedImageError + except ImportError as error: + raise CaptchaUiUnavailable("本机缺少原生验证码窗口依赖") from error + + try: + with Image.open(BytesIO(image_bytes)) as source: + source.load() + captcha_image = source.convert("RGB") + except (OSError, UnidentifiedImageError) as error: + raise CaptchaPromptError("门户返回的验证码不是有效图片") from error + + max_width = 640 + max_height = 320 + captcha_image.thumbnail((max_width, max_height), Image.Resampling.LANCZOS) + + try: + window = tk.Tk() + except tk.TclError as error: + raise CaptchaUiUnavailable("无法创建原生验证码窗口") from error + + result = {"code": ""} + window.title("校园网图形验证码") + window.resizable(False, False) + + photo = ImageTk.PhotoImage(captcha_image, master=window) + tk.Label(window, image=photo).pack(padx=16, pady=(16, 8)) + tk.Label(window, text="请输入图片中的验证码").pack(padx=16) + + code_entry = tk.Entry(window, width=24, justify="center") + code_entry.pack(padx=16, pady=8) + + def submit() -> None: + code = code_entry.get().strip() + if code: + result["code"] = code + window.quit() + + def cancel() -> None: + window.quit() + + button_row = tk.Frame(window) + button_row.pack(padx=16, pady=(0, 16)) + tk.Button(button_row, text="提交", width=10, command=submit).pack(side=tk.LEFT, padx=4) + tk.Button(button_row, text="取消", width=10, command=cancel).pack(side=tk.LEFT, padx=4) + + window.bind("", lambda _event: submit()) + window.protocol("WM_DELETE_WINDOW", cancel) + code_entry.focus_force() + window.lift() + window.mainloop() + window.destroy() + return result["code"] + + +def _prompt_from_temporary_file(image_bytes: bytes, content_type: str) -> str: + suffixes = { + "image/gif": ".gif", + "image/jpeg": ".jpg", + "image/png": ".png", + "image/webp": ".webp", + } + suffix = suffixes.get(content_type.casefold(), ".img") + with NamedTemporaryFile(prefix="campus-net-captcha-", suffix=suffix, delete=False) as file: + file.write(image_bytes) + image_path = Path(file.name) + try: + return input(f"请查看验证码图片 {image_path},输入验证码(直接回车取消):").strip() + finally: + image_path.unlink(missing_ok=True) diff --git a/workbench/network/campus-net/campus_net/legacy.py b/workbench/network/campus-net/campus_net/legacy.py new file mode 100644 index 0000000..ab70d3e --- /dev/null +++ b/workbench/network/campus-net/campus_net/legacy.py @@ -0,0 +1,186 @@ +from __future__ import annotations + +import json +from collections.abc import Callable +from typing import Any +from urllib.parse import urlparse + +import aiohttp + +from .config import build_legacy_runtime_from_config + + +def is_network_available( + status: int, + response_text: str, + redirect_location: str, + portal_host: str, +) -> bool: + if portal_host in response_text or portal_host in redirect_location: + return False + return 200 <= status < 400 + + +async def check_network_status( + session: aiohttp.ClientSession, + connectivity_check_url: str, + portal_host: str, + *, + status_callback: Callable[[str], None] = print, +) -> bool: + try: + timeout = aiohttp.ClientTimeout(total=8) + async with session.get( + connectivity_check_url, + allow_redirects=False, + timeout=timeout, + ) as response: + status = response.status + response_text = await response.text(errors="ignore") + redirect_location = response.headers.get("Location", "") + + if not is_network_available(status, response_text, redirect_location, portal_host): + status_callback("未连接校园网,需要登录") + return False + status_callback("已连接校园网,无需登录") + return True + except (aiohttp.ClientError, TimeoutError) as error: + status_callback(f"网络状态检查失败:{error}") + return False + + +async def get_query_string( + session: aiohttp.ClientSession, + portal_url: str, + *, + status_callback: Callable[[str], None] = print, +) -> str: + timeout = aiohttp.ClientTimeout(total=8) + async with session.get(portal_url, timeout=timeout) as response: + html = await response.text(errors="ignore") + + start = html.find("index.jsp?") + if start == -1: + status_callback("未在门户页面中找到 query_string 入口,请检查 login_url。") + return "" + start += len("index.jsp?") + end = html.find("'", start) + return html[start:] if end == -1 else html[start:end] + + +async def do_login( + session: aiohttp.ClientSession, + login_url: str, + portal_url: str, + headers: dict[str, str], + cookies: dict[str, Any], + service: str, + *, + status_callback: Callable[[str], None] = print, +) -> bool: + username = str(cookies.get("EPORTAL_COOKIE_USERNAME", "")) + password = str(cookies.get("EPORTAL_COOKIE_PASSWORD", "")) + if not username or not password: + status_callback("登录失败:配置缺少校园网账号或加密密码。") + return False + + query_string = await get_query_string( + session, + portal_url, + status_callback=status_callback, + ) + if not query_string: + return False + + post_data = { + "userId": username, + "password": password, + "service": service, + "queryString": query_string, + "operatorPwd": "", + "operatorUserId": "", + "validcode": "", + "passwordEncrypt": "true", + } + + try: + timeout = aiohttp.ClientTimeout(total=10) + async with session.post( + login_url, + headers=headers, + data=post_data, + allow_redirects=False, + timeout=timeout, + ) as response: + try: + data = await response.json(content_type=None) + except (aiohttp.ContentTypeError, json.JSONDecodeError): + status_callback(f"登录失败:门户返回非 JSON 内容,状态码 {response.status}。") + return False + except (aiohttp.ClientError, TimeoutError) as error: + status_callback(f"登录请求失败:{error}") + return False + + if not isinstance(data, dict): + status_callback("登录失败:门户返回的 JSON 不是对象。") + return False + + if data.get("result") == "success": + status_callback("登录成功!") + return True + message = _sanitize_portal_message( + data.get("message", "未知错误"), + username, + password, + str(cookies.get("JSESSIONID", "")), + ) + status_callback(f"登录失败,原因:{message}") + return False + + +async def run_legacy( + cfg: dict[str, Any], + *, + status_callback: Callable[[str], None] = print, +) -> int: + login_url, portal_url, check_url, headers, cookies, service = build_legacy_runtime_from_config( + cfg + ) + portal_host = urlparse(portal_url).hostname or "" + + async with aiohttp.ClientSession() as connectivity_session: + if await check_network_status( + connectivity_session, + check_url, + portal_host, + status_callback=status_callback, + ): + status_callback("跳过登录") + return 0 + + user_agent = headers.get("User-Agent", "") + session_headers = {"User-Agent": user_agent} if user_agent else None + cookie_jar = aiohttp.CookieJar(unsafe=True) + async with aiohttp.ClientSession( + headers=session_headers, + cookies=cookies, + cookie_jar=cookie_jar, + ) as portal_session: + succeeded = await do_login( + portal_session, + login_url, + portal_url, + headers, + cookies, + service, + status_callback=status_callback, + ) + return 0 if succeeded else 3 + + +def _sanitize_portal_message(message: object, *secrets: str) -> str: + sanitized = " ".join(str(message).split()) + for secret in secrets: + if secret: + sanitized = sanitized.replace(secret, "[已隐藏]") + return sanitized[:240] or "未知错误" diff --git a/workbench/network/campus-net/campus_net/runner.py b/workbench/network/campus-net/campus_net/runner.py new file mode 100644 index 0000000..694900b --- /dev/null +++ b/workbench/network/campus-net/campus_net/runner.py @@ -0,0 +1,104 @@ +from __future__ import annotations + +from collections.abc import Callable + +import aiohttp + +from .aggregate import ( + AggregatePortalClient, + AuthenticationUncertain, + CaptchaProvider, + PortalProtocolError, +) +from .captive import NetworkState, create_bound_connector +from .config import CaptiveHttpConfig +from .interactive import prompt_captcha + + +async def run_captive_http( + config: CaptiveHttpConfig, + *, + probe_only: bool = False, + captcha_provider: CaptchaProvider = prompt_captcha, + status_callback: Callable[[str], None] = print, +) -> int: + connector = create_bound_connector(config.interface_index) + cookie_jar = aiohttp.CookieJar(unsafe=True) + timeout = aiohttp.ClientTimeout(total=15, connect=8) + headers = { + "Accept-Language": "zh-CN,zh;q=0.9", + "User-Agent": config.user_agent, + } + + async with aiohttp.ClientSession( + connector=connector, + cookie_jar=cookie_jar, + headers=headers, + timeout=timeout, + ) as session: + client = AggregatePortalClient(session, config) + status_callback("正在通过配置的 IPv4 接口探测校园网状态…") + initialization = await client.initialize() + if initialization.probe.state is NetworkState.ONLINE: + status_callback("配置接口已经通过独立连通性探测,无需登录。") + return 0 + if initialization.probe.state is NetworkState.UNKNOWN: + status_callback(f"无法确认配置接口的网络状态:{initialization.probe.reason}") + return 2 + if probe_only: + status_callback("已识别当前接口的 captive 门户入口;未提交任何认证信息。") + return 0 + if initialization.context is None: + raise PortalProtocolError("captive 初始化没有生成门户会话") + + context = initialization.context + current_node = context.current_node_path + if current_node == "authenticate": + status_callback("已进入身份认证节点,正在准备 SSO 登录。") + try: + await client.authenticate( + context, + username=config.username, + password=config.password, + captcha_provider=captcha_provider, + ) + except AuthenticationUncertain as auth_error: + current_node = await client.get_current_node(context.session_id) + if current_node == "authenticate": + raise auth_error + status_callback("登录响应不完整,但门户工作流已前进;没有重放登录请求。") + else: + current_node = await client.wait_for_node( + context.session_id, + {"serviceSelection", "finish"}, + ) + + if current_node == "serviceSelection": + status_callback(f"身份认证已通过,正在选择运营商:{config.service_display_name}。") + try: + await client.select_service( + context.session_id, + config.service_display_name, + ) + except AuthenticationUncertain as service_error: + current_node = await client.get_current_node(context.session_id) + if current_node != "finish": + raise service_error + status_callback("运营商认证响应不完整,但工作流已完成;没有重放请求。") + else: + current_node = await client.wait_for_node(context.session_id, "finish") + + if current_node != "finish": + raise PortalProtocolError(f"不支持的门户工作流节点:{current_node}") + + status_callback("门户工作流已完成,正在确认终端真实在线状态。") + try: + await client.trigger_online_check(context.session_id) + except AuthenticationUncertain: + status_callback("门户在线检查响应不完整;没有重放请求,改用只读状态核对。") + if await client.verify_online(context.session_id): + status_callback("校园网登录完成,门户状态与独立连通性探测均已确认在线。") + return 0 + + status_callback("门户未能与独立连通性探测同时确认在线。") + return 4 diff --git a/workbench/network/campus-net/campus_net/sso.py b/workbench/network/campus-net/campus_net/sso.py new file mode 100644 index 0000000..6106065 --- /dev/null +++ b/workbench/network/campus-net/campus_net/sso.py @@ -0,0 +1,330 @@ +from __future__ import annotations + +import base64 +import binascii +import json +from collections.abc import Mapping +from dataclasses import dataclass +from enum import Enum +from html.parser import HTMLParser +from urllib.parse import ParseResult, parse_qsl, urlencode, urljoin, urlparse, urlsplit, urlunsplit + +from Crypto.Cipher import AES + +SSO_LOGIN_PATH = "/sam-sso/login" +AUTH_SUCCESS_PATH = "/portal/assets/auth-success.html" +CAPTCHA_ERROR_CODE = "1320007" +MAX_CAPTCHA_BYTES = 2 * 1024 * 1024 + + +class SsoProtocolError(RuntimeError): + pass + + +class UnsupportedSsoChallenge(SsoProtocolError): + pass + + +class LoginResultType(Enum): + SUCCESS = "success" + CAPTCHA_ERROR = "captcha_error" + FAILURE = "failure" + UNKNOWN = "unknown" + + +@dataclass(frozen=True) +class SsoPage: + page_url: str + action_url: str + crypto_key: str + execution: str + recaptcha_vendor: str + risk_system_switch: str + error_code: str + error_message: str + + +@dataclass(frozen=True) +class CaptchaRequirement: + required: bool + image_path: str | None + + +@dataclass(frozen=True) +class LoginResult: + result_type: LoginResultType + next_page: SsoPage | None = None + error_code: str = "" + error_message: str = "" + redirect_url: str | None = None + + +class _PageMetadataParser(HTMLParser): + METADATA_IDS = frozenset( + { + "login-croypto", + "login-page-flowkey", + "recaptchaVendor", + "riskSystemSwitch", + "login-error-code", + "login-error-msg", + } + ) + + def __init__(self) -> None: + super().__init__(convert_charrefs=True) + self.values: dict[str, str] = {} + self.duplicate_ids: set[str] = set() + self._current_id: str | None = None + self._depth = 0 + self._parts: list[str] = [] + + def handle_starttag(self, tag: str, attrs: list[tuple[str, str | None]]) -> None: + if self._current_id is not None: + self._depth += 1 + return + element_id = dict(attrs).get("id") + if element_id in self.METADATA_IDS: + if element_id in self.values: + self.duplicate_ids.add(element_id) + self._current_id = element_id + self._depth = 1 + self._parts = [] + + def handle_data(self, data: str) -> None: + if self._current_id is not None: + self._parts.append(data) + + def handle_endtag(self, tag: str) -> None: + if self._current_id is not None: + self._depth -= 1 + if self._depth == 0: + self.values[self._current_id] = "".join(self._parts).strip() + self._current_id = None + self._parts = [] + + +def parse_sso_page(page_body: bytes, page_url: str, *, language: str = "zh-CN") -> SsoPage: + values = _parse_page_metadata(page_body) + crypto_key = values.get("login-croypto", "") + execution = values.get("login-page-flowkey", "") + if not crypto_key or not execution: + raise SsoProtocolError("SSO 页面缺少动态加密密钥或 execution") + try: + decoded_key = base64.b64decode(crypto_key, validate=True) + except (binascii.Error, ValueError) as error: + raise SsoProtocolError("SSO 页面加密密钥不是有效 Base64") from error + if len(decoded_key) != 16: + raise SsoProtocolError("SSO 页面加密密钥不是 128 位") + + return SsoPage( + page_url=page_url, + action_url=build_sso_action_url(page_url, language=language), + crypto_key=crypto_key, + execution=execution, + recaptcha_vendor=values.get("recaptchaVendor", "").casefold(), + risk_system_switch=values.get("riskSystemSwitch", ""), + error_code=values.get("login-error-code", ""), + error_message=values.get("login-error-msg", ""), + ) + + +def _parse_page_metadata(page_body: bytes) -> dict[str, str]: + parser = _PageMetadataParser() + parser.feed(page_body.decode("utf-8", errors="replace")) + if parser.duplicate_ids: + duplicate_ids = ", ".join(sorted(parser.duplicate_ids)) + raise SsoProtocolError(f"SSO 页面包含重复的关键元素:{duplicate_ids}") + return parser.values + + +def ensure_supported_challenge(page: SsoPage) -> None: + if page.recaptcha_vendor not in {"", "system"}: + raise UnsupportedSsoChallenge(f"纯 HTTP 模式不支持 {page.recaptcha_vendor} 验证码") + if page.risk_system_switch == "USTC": + raise UnsupportedSsoChallenge("纯 HTTP 模式不支持 USTC 指纹风控") + + +def build_sso_action_url(page_url: str, *, language: str) -> str: + parsed = urlsplit(page_url) + if parsed.scheme not in {"http", "https"} or not parsed.hostname: + raise SsoProtocolError("SSO 页面 URL 无效") + if parsed.username is not None or parsed.password is not None or parsed.fragment: + raise SsoProtocolError("SSO 页面 URL 包含不允许的用户信息或片段") + query = [ + (key, value) + for key, value in parse_qsl(parsed.query, keep_blank_values=True) + if key != "accept-language" + ] + query.append(("accept-language", language)) + return urlunsplit((parsed.scheme, parsed.netloc, SSO_LOGIN_PATH, urlencode(query), "")) + + +def parse_captcha_requirement(payload: object) -> CaptchaRequirement: + if not isinstance(payload, dict): + raise SsoProtocolError("验证码策略响应不是 JSON 对象") + data = payload.get("data") + if data is None: + return CaptchaRequirement(required=False, image_path=None) + if not isinstance(data, dict): + raise SsoProtocolError("验证码策略响应缺少 data") + if "captchaInvisible" not in data: + return CaptchaRequirement(required=False, image_path=None) + required = data.get("captchaInvisible") + if not isinstance(required, bool): + raise SsoProtocolError("验证码策略响应缺少 captchaInvisible") + image_path = data.get("captchaUrl") + if required and (not isinstance(image_path, str) or not image_path.strip()): + raise SsoProtocolError("验证码策略要求图形码但没有图片路径") + return CaptchaRequirement( + required=required, + image_path=image_path.strip() if isinstance(image_path, str) and image_path else None, + ) + + +def resolve_captcha_url(page_url: str, image_path: str) -> str: + page = urlparse(page_url) + image_reference = urlparse(image_path) + if ( + image_reference.scheme + or image_reference.netloc + or image_reference.username is not None + or image_reference.password is not None + or image_reference.fragment + ): + raise SsoProtocolError("验证码图片路径必须是当前 SSO 下的相对路径") + allowed_roots = ("/sam-sso/", "/sso/") + if image_path.startswith("/") and not image_path.startswith(allowed_roots): + raise SsoProtocolError("验证码图片路径不属于允许的 SSO 根路径") + if image_path.startswith(allowed_roots): + candidate = urljoin(page_url, image_path) + else: + candidate = urljoin(page_url, "/sam-sso/" + image_path.lstrip("/")) + parsed = urlparse(candidate) + if ( + _normalized_origin(parsed) != _normalized_origin(page) + or parsed.username is not None + or parsed.password is not None + or parsed.fragment + or parsed.params + or not parsed.path.startswith(allowed_roots) + ): + raise SsoProtocolError("验证码图片 URL 越出当前 SSO origin") + return candidate + + +def aes_encrypt(crypto_key: str, plaintext: str) -> str: + try: + key = base64.b64decode(crypto_key, validate=True) + except (binascii.Error, ValueError) as error: + raise SsoProtocolError("SSO 加密密钥不是有效 Base64") from error + if len(key) != 16: + raise SsoProtocolError("SSO 加密密钥不是 128 位") + encoded = plaintext.encode("utf-8") + padding_length = AES.block_size - len(encoded) % AES.block_size + padded = encoded + bytes([padding_length]) * padding_length + encrypted = AES.new(key, AES.MODE_ECB).encrypt(padded) + return base64.b64encode(encrypted).decode("ascii") + + +def build_login_form( + page: SsoPage, + *, + username: str, + password: str, + captcha_code: str, + captcha_required: bool, +) -> list[tuple[str, str]]: + ensure_supported_challenge(page) + code = captcha_code.strip() + if captcha_required and not code: + raise ValueError("验证码不能为空") + + fields = [ + ("username", username), + ("type", "UsernamePassword"), + ("_eventId", "submit"), + ("geolocation", ""), + ("execution", page.execution), + ("captcha_code", code), + ("croypto", page.crypto_key), + ("password", aes_encrypt(page.crypto_key, password)), + ("captcha_payload", aes_encrypt(page.crypto_key, json.dumps({}, separators=(",", ":")))), + ] + if captcha_required: + fields.append(("captcha_code", code)) + return fields + + +def parse_login_response( + *, + status: int, + headers: Mapping[str, str], + body: bytes, + page_url: str, +) -> LoginResult: + location = next( + (value for key, value in headers.items() if key.casefold() == "location"), + "", + ) + if status in {302, 303} and location: + target = urlparse(urljoin(page_url, location)) + source = urlparse(page_url) + query_parameters = parse_qsl(target.query, keep_blank_values=True) + tickets = [value for key, value in query_parameters if key == "ticket"] + if ( + _normalized_origin(target) == _normalized_origin(source) + and target.path == AUTH_SUCCESS_PATH + and not target.params + and len(tickets) == 1 + and tickets[0] + and target.username is None + and target.password is None + and not target.fragment + ): + return LoginResult( + LoginResultType.SUCCESS, + redirect_url=urljoin(page_url, location), + ) + return LoginResult(LoginResultType.UNKNOWN) + + if status == 200: + values = _parse_page_metadata(body) + error_code = values.get("login-error-code", "") + error_message = values.get("login-error-msg", "") + has_error = bool(error_code or error_message) + next_page = None + if has_error: + try: + next_page = parse_sso_page(body, page_url) + except SsoProtocolError: + next_page = None + else: + next_page = parse_sso_page(body, page_url) + if CAPTCHA_ERROR_CODE in {error_code, error_message}: + return LoginResult( + LoginResultType.CAPTCHA_ERROR, + next_page=next_page, + error_code=error_code, + error_message=error_message, + ) + if has_error: + return LoginResult( + LoginResultType.FAILURE, + next_page=next_page, + error_code=error_code, + error_message=error_message, + ) + return LoginResult(LoginResultType.UNKNOWN) + + +def _normalized_origin(parsed_url: ParseResult) -> tuple[str, str, int]: + if not parsed_url.hostname: + raise SsoProtocolError("SSO URL 缺少 host") + try: + port = parsed_url.port + except ValueError as error: + raise SsoProtocolError("SSO URL 端口无效") from error + if port is None: + port = 80 if parsed_url.scheme.casefold() == "http" else 443 + return parsed_url.scheme.casefold(), parsed_url.hostname.casefold(), port diff --git a/workbench/network/campus-net/campus_net/window_state.py b/workbench/network/campus-net/campus_net/window_state.py new file mode 100644 index 0000000..18a1841 --- /dev/null +++ b/workbench/network/campus-net/campus_net/window_state.py @@ -0,0 +1,221 @@ +from __future__ import annotations + +import json +import os +from dataclasses import dataclass +from pathlib import Path +from tempfile import NamedTemporaryFile + +WINDOW_STATE_VERSION = 1 +MAX_WINDOW_STATE_BYTES = 4096 + + +@dataclass(frozen=True, slots=True) +class WindowState: + width: int + height: int + x: int + y: int + maximized: bool = False + + @property + def geometry(self) -> str: + return f"{self.width}x{self.height}{self.x:+d}{self.y:+d}" + + +@dataclass(frozen=True, slots=True) +class ScreenRect: + left: int + top: int + right: int + bottom: int + + @property + def width(self) -> int: + return self.right - self.left + + @property + def height(self) -> int: + return self.bottom - self.top + + +def load_window_state(path: str | os.PathLike[str]) -> WindowState | None: + state_path = Path(path).expanduser() + try: + if not state_path.is_file() or state_path.stat().st_size > MAX_WINDOW_STATE_BYTES: + return None + raw_state = json.loads(state_path.read_text(encoding="utf-8")) + return _state_from_mapping(raw_state) + except (OSError, UnicodeError, json.JSONDecodeError, TypeError, ValueError): + return None + + +def save_window_state( + state: WindowState, + path: str | os.PathLike[str], +) -> None: + _validate_state(state) + state_path = Path(path).expanduser().absolute() + state_path.parent.mkdir(parents=True, exist_ok=True) + content = ( + json.dumps( + { + "version": WINDOW_STATE_VERSION, + "width": state.width, + "height": state.height, + "x": state.x, + "y": state.y, + "maximized": state.maximized, + }, + ensure_ascii=False, + indent=2, + ) + + "\n" + ) + + temporary_path: Path | None = None + try: + with NamedTemporaryFile( + mode="w", + dir=state_path.parent, + prefix=f".{state_path.name}.", + suffix=".tmp", + encoding="utf-8", + newline="\n", + delete=False, + ) as temporary_file: + temporary_path = Path(temporary_file.name) + temporary_file.write(content) + temporary_file.flush() + os.fsync(temporary_file.fileno()) + os.replace(temporary_path, state_path) + temporary_path = None + finally: + if temporary_path is not None: + temporary_path.unlink(missing_ok=True) + + +def clamp_window_state( + state: WindowState | None, + work_areas: list[ScreenRect] | tuple[ScreenRect, ...], + *, + min_width: int = 940, + min_height: int = 620, + default_width: int = 1100, + default_height: int = 720, +) -> WindowState: + if min_width < 1 or min_height < 1: + raise ValueError("窗口最小尺寸必须大于 0") + if default_width < 1 or default_height < 1: + raise ValueError("窗口默认尺寸必须大于 0") + + valid_areas = tuple(area for area in work_areas if area.width > 0 and area.height > 0) + if not valid_areas: + valid_areas = ( + ScreenRect( + left=0, + top=0, + right=max(default_width, min_width), + bottom=max(default_height, min_height), + ), + ) + + if state is None: + return _centered_state( + valid_areas[0], + width=default_width, + height=default_height, + min_width=min_width, + min_height=min_height, + maximized=False, + ) + + _validate_state(state) + target_area = max(valid_areas, key=lambda area: _intersection_area(state, area)) + if _intersection_area(state, target_area) == 0: + return _centered_state( + valid_areas[0], + width=default_width, + height=default_height, + min_width=min_width, + min_height=min_height, + maximized=state.maximized, + ) + + width = min(max(state.width, min_width), target_area.width) + height = min(max(state.height, min_height), target_area.height) + x = min(max(state.x, target_area.left), target_area.right - width) + y = min(max(state.y, target_area.top), target_area.bottom - height) + return WindowState( + width=width, + height=height, + x=x, + y=y, + maximized=state.maximized, + ) + + +def _centered_state( + area: ScreenRect, + *, + width: int, + height: int, + min_width: int, + min_height: int, + maximized: bool, +) -> WindowState: + clamped_width = min(max(width, min_width), area.width) + clamped_height = min(max(height, min_height), area.height) + return WindowState( + width=clamped_width, + height=clamped_height, + x=area.left + (area.width - clamped_width) // 2, + y=area.top + (area.height - clamped_height) // 2, + maximized=maximized, + ) + + +def _intersection_area(state: WindowState, area: ScreenRect) -> int: + right = min(state.x + state.width, area.right) + bottom = min(state.y + state.height, area.bottom) + width = max(0, right - max(state.x, area.left)) + height = max(0, bottom - max(state.y, area.top)) + return width * height + + +def _state_from_mapping(raw_state: object) -> WindowState: + if not isinstance(raw_state, dict) or raw_state.get("version") != WINDOW_STATE_VERSION: + raise ValueError("窗口状态版本无效") + state = WindowState( + width=_required_int(raw_state, "width"), + height=_required_int(raw_state, "height"), + x=_required_int(raw_state, "x"), + y=_required_int(raw_state, "y"), + maximized=raw_state.get("maximized", False), + ) + _validate_state(state) + return state + + +def _required_int(raw_state: dict[str, object], key: str) -> int: + value = raw_state.get(key) + if isinstance(value, bool) or not isinstance(value, int): + raise TypeError(f"窗口状态字段 {key} 必须是整数") + return value + + +def _validate_state(state: WindowState) -> None: + for name, value in ( + ("width", state.width), + ("height", state.height), + ("x", state.x), + ("y", state.y), + ): + if isinstance(value, bool) or not isinstance(value, int): + raise ValueError(f"窗口状态字段 {name} 必须是整数") + if not isinstance(state.maximized, bool): + raise ValueError("窗口状态字段 maximized 必须是布尔值") + if not 1 <= state.width <= 100_000 or not 1 <= state.height <= 100_000: + raise ValueError("窗口尺寸超出允许范围") + if abs(state.x) > 1_000_000 or abs(state.y) > 1_000_000: + raise ValueError("窗口位置超出允许范围") diff --git a/workbench/network/campus-net/config.example.json b/workbench/network/campus-net/config.example.json index 7c7417c..806327d 100644 --- a/workbench/network/campus-net/config.example.json +++ b/workbench/network/campus-net/config.example.json @@ -1,17 +1,8 @@ { - "login_url": "http://你的校园网门户/eportal/InterFace.do?method=login", - "connectivity_check_url": "http://www.baidu.com", - "service": "运营商名称,一般遵循URL编码(例如: 中国电信是 %E4%B8%AD%E5%9B%BD%E7%94%B5%E4%BF%A1)", - "user_group": "身份组,一般遵循URL编码(例如: 学生,老师),例如: 学生是 %E5%AD%A6%E7%94%9F", - "headers": { - "User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36 Edg/131.0.0.0" - }, - "cookies": { - "EPORTAL_COOKIE_USERNAME": "你的学号", - "EPORTAL_COOKIE_PASSWORD": "你的加密后密码", - "EPORTAL_COOKIE_SERVER": "同运营商名称", - "EPORTAL_COOKIE_SERVER_NAME": "同运营商名称", - "EPORTAL_USER_GROUP": "同身份组", - "JSESSIONID": "标识用户会话的一个唯一 ID,只能从抓包里复制。" - } + "version": 2, + "interface_index": 24, + "portal_url": "http://10.71.29.181", + "username": "你的校园网账号", + "password": "你的校园网密码", + "carrier": "中国电信" } diff --git a/workbench/network/campus-net/config.legacy.example.json b/workbench/network/campus-net/config.legacy.example.json new file mode 100644 index 0000000..51a7c50 --- /dev/null +++ b/workbench/network/campus-net/config.legacy.example.json @@ -0,0 +1,9 @@ +{ + "version": 1, + "login_url": "http://你的校园网门户/eportal/InterFace.do?method=login", + "username": "你的学号", + "encrypted_password": "你的加密后密码", + "carrier": "运营商值,一般遵循旧门户的 URL 编码", + "user_group": "身份组,一般遵循 URL 编码", + "session_id": "从旧版门户抓包得到的 JSESSIONID" +} diff --git a/workbench/network/campus-net/docs/new-portal-adaptation.md b/workbench/network/campus-net/docs/new-portal-adaptation.md new file mode 100644 index 0000000..76db802 --- /dev/null +++ b/workbench/network/campus-net/docs/new-portal-adaptation.md @@ -0,0 +1,431 @@ +# 新版 captive SSO 适配记录 + +本文记录 `campus-net` 从旧版 ePortal 适配到新版聚合 captive SSO 的分析过程、协议结论、实现结构和验证方法。它面向后续维护者,不替代项目根目录的使用说明。 + +适用基线:2026-07-17。实现入口见 [`main.py`](../main.py),新版协议代码位于 [`campus_net/`](../campus_net/)。 + +## 1. 适配目标与边界 + +本次适配的目标是: + +- 保留旧版 `/eportal/InterFace.do?method=login` 登录能力; +- 支持从 captive 劫持页进入的新版聚合认证流程; +- 不打开或控制浏览器,只用 HTTP 请求复现门户前端的必要协议; +- 同时存在校园网、手机热点、有线网或代理软件时,让新版 socket 显式请求使用指定校园网接口,而不是依赖默认路由; +- 自动完成账号密码提交、运营商选择和在线确认; +- 服务端要求系统图形验证码时,只让用户输入验证码,其余步骤继续自动完成; +- 不以登录页提示或 Windows 网络图标作为唯一成功依据。 + +这里的“纯 HTTP”指不依赖浏览器自动化。程序仍需要遵守服务端验证码和风控协议,不包含 OCR、验证码猜测或绕过逻辑。 + +## 2. 旧版与新版的根本差异 + +旧版 ePortal 的核心是一次表单提交:从门户首页提取 `queryString`,再向 `/eportal/InterFace.do?method=login` 提交账号、旧版加密密码、运营商和若干 Cookie。 + +新版不是单一登录接口,而是由四层状态共同组成: + +1. captive 劫持入口提供当前连接的接入参数; +2. 聚合门户创建 `sessionId` 并维护 `portal_auth` 工作流; +3. `sam-sso` 完成身份认证并返回 ticket; +4. 聚合门户根据动态服务值完成运营商认证,最后把终端置为在线。 + +因此,直接打开固定的 `/sam-sso/login` 即使能看到登录页,也不能等价替代 captive 入口。它缺少当前接入会话产生的 `flowSessionId`、终端信息和聚合门户上下文;仅完成 SSO 也没有执行后续运营商选择与 `userOnline` 流程。 + +分析期间还排除了两个看似可用、实际不能作为稳定起点的浏览器地址:`/portal/entry/pc/authenticate;flowParams=undefined;from=` 带有字面量 `undefined`,没有可复用的完整流程上下文;带 `service=...` 的 `/sam-sso/login` 则只是身份认证子流程。真正稳定的起点只能来自当前连接被劫持后的 captive 响应。 + +## 3. 分析过程 + +本次分析没有访问服务端源码。协议结论来自当前网络下的实际 HTTP 响应、门户下发的 HTML/前端行为、错误返回和脱敏测试夹具;未观测到的服务端行为不作为实现假设。 + +### 3.1 先保留旧实现和本地配置 + +适配开始前没有覆盖旧协议,而是先把原实现视为 `legacy-eportal` 基线。迁移实际 `config.json` 前先复制到仓库外并校验 SHA-256,确保配置重构失败时仍可恢复。仓库中只保留脱敏示例,账号、密码、Cookie、ticket 和 `sessionId` 都不进入版本控制。 + +### 3.2 解决多网络并存问题 + +分析时外网连接和校园网连接需要同时存在。如果依赖 Windows 默认路由,HTTP 请求可能经过手机热点、以太网、系统代理或 TUN,而不是正在等待认证的校园网接口,抓到的结果也就失去意义。 + +新版实现不按 WLAN 名称判断网络,而是要求一个 Windows IPv4 `interface_index`。每个 aiohttp socket 在连接前设置: + +```text +IPPROTO_IP / IP_UNICAST_IF / network-byte-order(interface_index) +``` + +这样 Wi-Fi、有线网卡或其他 IPv4 接口都使用同一套逻辑。它减少普通默认路由造成的选择歧义;程序不会修改系统路由、sing-box 或 v2rayN 配置。`IP_UNICAST_IF` 只能要求 socket 选定接口,不能证明最终物理出口。内核级 TUN/WFP 仍可能透明截获流量,甚至返回可被分类为 `ONLINE` 或 `CAPTIVE` 的合法响应;需要证明物理出口时仍应使用抓包或系统路由诊断。 + +连接器同时固定 `AF_INET` 并启用 `force_close=True`:当前流程只创建 IPv4 socket,也不复用持久连接。 + +实现见 [`campus_net/captive.py`](../campus_net/captive.py) 中的 `WindowsInterfaceSocketFactory` 和 `create_bound_connector()`。 + +### 3.3 从 captive 响应取得真实入口 + +新版不能把 `/sam-sso/login` 或某次捕获的长 URL 固定到配置中。程序先通过绑定接口请求 Windows 连通性探测地址: + +```text +http://www.msftconnecttest.com/connecttest.txt +``` + +响应按以下顺序分类: + +- HTML 脚本中存在合法的 `location.href` 赋值:`CAPTIVE`; +- 状态码和响应体精确等于在线指纹:`ONLINE`; +- 其他响应或歧义响应:`UNKNOWN`。 + +识别出的 captive URL 必须同时满足: + +- 与配置的门户根地址同 origin; +- 路径严格等于 `/eportal/index.jsp`; +- `wlanuserip`、`wlanacname`、`nasip`、`mac` 各出现一次且非空; +- 不含用户信息、路径参数或片段; +- 页面中只能出现一个不同的合法入口。 + +程序保留门户给出的完整 URL,不重排或重新编码查询串。非法 captive 入口不会因为同一响应碰巧匹配在线指纹而被忽略。 + +### 3.4 还原聚合门户工作流 + +请求真实 `/eportal/index.jsp?...` 后,程序要求门户返回 `302`,并校验跳转到同 origin 的 `/portal/portal-main`。跳转 URL 中必须有: + +- `sessionId` +- `customPageId` +- `nasIp` +- `userIp` +- `userMac` + +随后按门户前端顺序初始化: + +1. `GET /portal/portal-main`; +2. `GET /eportal/adaptor/queryTerminalInfo`; +3. `POST /eportal/network/getIdentityConfig`; +4. `POST /eportal/workFlow/getCurrentNode`,查询 `flowKey=portal_auth`。 + +当前节点决定下一步: + +- `authenticate`:进入 SSO; +- `serviceSelection`:账号身份已完成,直接选择运营商; +- `finish`:认证工作流已经完成; +- 其他节点:按未知协议停止,不猜测下一步。 + +### 3.5 还原 SSO 动态表单 + +SSO 页面不是静态表单。程序使用聚合门户上下文构造 `/sam-sso/login` 查询参数,再从页面提取: + +- `login-croypto`:Base64 编码的 128 位本次登录密钥; +- `login-page-flowkey`:动态 `execution`; +- `recaptchaVendor`:验证码提供方; +- `riskSystemSwitch`:风控类型; +- `login-error-code` 和 `login-error-msg`:登录结果信息。 + +如果页面启用第三方 reCAPTCHA、Geetest 一类验证,或 `USTC` 指纹风控,纯 HTTP 客户端会明确停止。当前实现只支持无验证码和门户自身的 `system` 图形验证码。 + +账号密码表单中的关键字段如下: + +| 字段 | 处理方式 | +| --- | --- | +| `username` | 原值提交 | +| `password` | AES-128-ECB、PKCS#7 padding,再 Base64 | +| `execution` | 使用当前页面动态值 | +| `croypto` | 回传当前页面动态密钥字符串 | +| `captcha_payload` | 将紧凑 JSON `{}` 用同一密钥加密 | +| `captcha_code` | 系统图形验证码明文;要求验证码时保持前端的重复字段形态 | +| `_eventId` | 固定为 `submit` | +| `type` | 固定为 `UsernamePassword` | + +表单使用有序的键值对列表而不是字典,原因是验证码分支存在两个同名 `captcha_code` 字段,普通字典会错误地合并它们。 + +登录只在以下响应形态下被判定为成功: + +- 状态码为 `302` 或 `303`; +- 跳转仍在同一 origin; +- 路径严格为 `/portal/assets/auth-success.html`; +- 查询串中恰好有一个非空 `ticket`。 + +程序随后访问该聚合门户回调,让 SSO 结果回到门户会话;回调 GET 必须返回 HTTP 200,否则认证结果按不确定处理。其他重定向、跨 origin 回调或结构不明的 200 页面都不会被误判为成功。 + +### 3.6 验证码策略与会话关系 + +系统验证码由服务端会话决定,图片、Cookie、动态密钥、`execution` 和登录 POST 必须位于同一个 `aiohttp.ClientSession`。对 IP 地址门户启用 `CookieJar(unsafe=True)`,否则 aiohttp 默认会拒绝保存 IP host 下发的会话 Cookie。这里的 `unsafe` 只放宽 IP host Cookie 规则,不代表关闭 TLS 校验。 + +验证码策略查询复现了前端的受保护请求头: + +1. 生成 32 字符随机 `Csrf-Key`; +2. 对它进行 Base64 编码; +3. 在编码串中点插入一份完整编码串; +4. 对组合结果计算 MD5,得到 `Csrf-Value`。 + +首次提交先查询 `DEFAULT_CAPTCHA_SWITCH`;默认策略未要求验证码时,再查询当前用户名。服务端要求验证码后,程序从同一 SSO origin 获取图片。CLI 路径显示原生 Tkinter 窗口,窗口不可用时才退回临时图片文件和终端输入,临时文件在输入结束后删除;GUI 路径通过线程安全事件把图片交给 Tk 主线程,在同一个应用根窗口下显示验证码对话框。两种路径都只回传用户输入的文本,不把图片交给浏览器、OCR 或第三方服务。 + +只有服务端明确返回验证码错误码 `1320007` 时,客户端才刷新页面、策略和图片后继续输入。账号密码错误、未知错误、超时或无法解析的响应都不会触发自动重放。`captcha_attempts=0` 是内部默认值,表示客户端不额外设置次数上限,不代表绕过服务端校验。 + +#### 3.6.1 验证码协议的逆向思路 + +这里的“逆向”是还原浏览器与服务端之间的公开 HTTP 合约,不是反编译服务端。分析时依次回答五个问题: + +1. **谁决定是否出题**:比较默认策略和按用户名查询的 JSON,确认决定来自服务端的 `captchaInvisible`,不是页面本地开关; +2. **题目如何取得**:跟踪 `captchaUrl`、受保护请求头、Cookie 和时间戳,确认图片必须从当前 SSO 会话读取; +3. **答案放在哪里**:检查浏览器等价表单的有序字段,确认答案以明文 `captcha_code` 提交,并且验证码分支保留两个同名字段; +4. **哪些字段参与加密**:用页面提供的已知密钥核对请求构造,确认只有 `password` 和内容为 `{}` 的 `captcha_payload` 使用 AES,用户名和验证码答案不使用该算法; +5. **服务端如何反馈**:比较已有成功、验证码错误和普通登录错误响应,确认只有 `1320007` 是可刷新图片后继续的验证码错误。 + +分析结果可以表示为: + +```text +当前 HTTP 会话 + ├─ Cookie + execution + crypto_key + ├─ captcha policy -> required + captchaUrl + ├─ captcha image -> 当前客户端仅按图像字节处理 + └─ login POST -> captcha_code + 加密密码 + 加密的空 payload + │ + └─ 最终校验由服务端完成,内部存储或派生方式未知 +``` + +在当前观察到的 HTTP 与前端合约中,客户端能看到“题目图片”和“答案输入位置”,但没有观察到独立答案字段、可替代校验令牌或本地校验函数。实现不知道服务端是存储答案还是无状态派生答案。已分析的客户端流程只把动态 AES 密钥用于密码和 payload 的传输,没有发现用它推导图片文字的步骤;当前 `captcha_payload` 解密后是 `{}`,`1320007` 则是提交后的错误结果。 + +#### 3.6.2 常见“破解”假设的证据评估 + +| 假设 | 现有证据与结论 | +| --- | --- | +| 从 `crypto_key` 推出验证码 | 在已分析的前端流程中,密钥只用于 AES 表单字段,验证码以明文独立提交;没有观察到客户端推导步骤 | +| 解密 `captcha_payload` 得到答案 | 当前客户端构造的 payload 明文固定为 `{}`,其中没有字符答案 | +| 把 `captchaInvisible` 改成 `false` | 该值只是服务端策略响应;修改本地判断不会改变登录 POST 的服务端校验 | +| 省略 `captcha_code` 或伪造成功回调 | 服务端仍维护工作流与 ticket;客户端还会严格核对同 origin 回调、节点和在线状态 | +| 复用旧图片、旧答案或旧 ticket | 当前流程把图片、Cookie、`execution`、动态密钥和 ticket 作为具体会话状态使用,持久化复用不构成已知的稳定协议 | +| 不断提交任意答案 | 没有可推导关系,只会产生自动化试错和潜在账号风险;本项目不实现这种行为 | +| OCR 或第三方代答 | 这会把“人工读取服务端挑战”改成自动求解或转交挑战,超出本项目的协议自动化边界,也可能泄露会话相关图片 | + +因此,当前观察到的客户端合约中,未发现除视觉挑战外的机器可读答案来源或可替代校验令牌。项目可以继续自动化验证码前后的全部流程,但不会实现验证码破解、OCR、暴力枚举、第三方代答或伪造校验结果。若学校以后提供正式的无障碍验证、设备授权或可信 API,应优先按其公开协议接入。 + +### 3.7 动态选择运营商 + +配置只保存运营商显示名,例如“中国电信”,不保存某次会话中的内部值。进入 `serviceSelection` 后,程序: + +1. `POST /eportal/network/serviceSelection` 获取本次会话的服务数组; +2. 要求显示名精确匹配且只匹配一项; +3. 取该项动态 `value`; +4. `POST /eportal/network/serviceLogin`; +5. 要求业务结果中的 `authResult` 严格等于 `success`。 + +这避免把内部服务标识误当成长期稳定配置,也避免同名多项时随意选择。 + +### 3.8 双重确认真正在线 + +门户工作流到达 `finish` 后,程序调用 `/eportal/network/userOnline`,但不会只相信这次 POST 的成功文案。最终在最长 30 秒内循环确认两件事: + +1. `/eportal/adaptor/getOnlineUserInfo` 返回在线用户且结果为 `success`; +2. 绑定校园网接口重新访问连通性探测地址,状态码为 200 且响应体精确为 `Microsoft Connect Test`。 + +两者必须在同一次验证窗口内同时成立,才输出“校园网登录完成”。这解决了“门户显示成功,但电脑实际仍不能访问互联网”的假阳性。 + +## 4. 完整请求序列 + +```mermaid +sequenceDiagram + participant C as campus-net + participant P as 连通性探测地址 + participant A as 聚合门户 + participant S as sam-sso + + C->>P: GET(socket 绑定 interface_index) + alt 已在线 + P-->>C: 200 + 精确在线指纹 + else captive + P-->>C: HTML location.href = /eportal/index.jsp?... + C->>A: GET 完整 captive URL + A-->>C: 302 /portal/portal-main?sessionId=... + C->>A: 初始化终端、身份配置和工作流节点 + alt currentNodePath = authenticate + C->>S: GET 动态登录页 + C->>S: GET 验证码策略 + opt 服务端要求系统验证码 + C->>S: GET 同会话验证码图片 + C-->>C: 原生窗口只收集验证码文本 + end + C->>S: POST 动态加密表单 + S-->>C: 同 origin 成功回调 + ticket + C->>A: GET /portal/assets/auth-success.html 回调 + end + C->>A: 查询工作流节点 + opt currentNodePath = serviceSelection + C->>A: 获取服务列表 + C->>A: 用显示名对应的动态 value 提交 serviceLogin + end + C->>A: userOnline + loop 最长 30 秒 + C->>A: getOnlineUserInfo + C->>P: GET 精确在线指纹 + end + end +``` + +## 5. 会话一致性与非幂等请求保护 + +新版流程从第一次 captive 探测到最终在线确认共用一个绑定接口的 `ClientSession`。这保证: + +- Cookie 不跨接口或跨会话丢失; +- 验证码图片与验证码 POST 属于同一服务端会话; +- captive URL、`sessionId`、动态密钥、`execution` 和 ticket 不被持久化复用; +- 所有请求都保持相同接口选择。 + +对可能产生状态变化的请求采用“不确定即不重放”原则: + +- SSO 登录 POST 超时或响应无法解析时,先只读查询当前工作流节点; +- `serviceLogin` 结果不确定时,先检查节点是否已经到 `finish`; +- `userOnline` 结果不确定时,改用只读在线状态和独立探测确认; +- 只有明确的 `1320007` 才重新提交验证码登录表单。 + +这避免网络抖动时重复认证、重复运营商登录或错误消耗服务端状态。 + +## 6. 输入与响应校验 + +实现没有把门户返回值直接拼接到任意请求中,而是逐层收紧边界: + +- captive 响应最多读取 64 KiB,入口 URL 最长 4096 字符; +- SSO 页面和登录响应最多读取 512 KiB,验证码图片最多 2 MiB; +- URL 必须是 HTTP/HTTPS,关键跳转和验证码图片必须同 origin; +- 关键查询参数必须唯一,重复参数会中止流程; +- 只接受预期路径,不跟随任意重定向; +- 门户 JSON 同时校验 HTTP 状态、业务 `code`、`data` 类型和关键字段; +- 正式 `version=1/2` 扁平配置拒绝未知字段,避免拼写错误被静默忽略;无版本历史格式保留原有宽松兼容边界; +- 密码保留原始空白字符,并从配置对象的 `repr` 中隐藏。 + +这些校验既用于发现门户升级造成的协议漂移,也用于避免 captive 页面中的异常内容把客户端引向错误地址。 + +## 7. 配置版本设计 + +公开配置只用 `version` 选择协议,而不是表达 JSON schema 的修订号: + +| `version` | 协议 | 密码形态 | 用途 | +| --- | --- | --- | --- | +| `1` | `legacy-eportal` | 旧门户加密值 `encrypted_password` | 原 `/eportal/InterFace.do?method=login` | +| `2` | `captive-sso-http` | 明文 `password`,提交前按动态密钥加密 | 新版聚合 captive SSO | + +新版只暴露六个稳定字段: + +```json +{ + "version": 2, + "interface_index": 24, + "portal_url": "http://10.71.29.181", + "username": "你的校园网账号", + "password": "你的校园网密码", + "carrier": "中国电信" +} +``` + +User-Agent、探测指纹、入口路径、验证码策略常量、确认间隔和超时由实现维护。它们属于当前协议适配,不要求每个用户跟着门户升级手改配置。 + +兼容策略如下: + +- 新配置必须显式填写 `version=1` 或 `version=2`; +- 无 `version`、带 `adapter: "captive-sso-http"` 的早期嵌套配置继续读取; +- 无 `version` 的历史 Cookie ePortal 配置继续读取; +- 已移除的 `schema_version` 和顶层 `mode` 会给出迁移错误,不做含糊推断; +- 新旧密码字段不能混用。 + +解析和兼容实现见 [`campus_net/config.py`](../campus_net/config.py)。 + +## 8. 模块职责 + +| 文件 | 职责 | +| --- | --- | +| [`main.py`](../main.py) | CLI 配置查找、参数解析和顶层退出码处理 | +| [`gui_main.py`](../gui_main.py) | GUI 参数解析和独立可执行文件入口 | +| [`campus_net/application.py`](../campus_net/application.py) | CLI 与 GUI 共用的协议分派和错误分类 | +| [`campus_net/config.py`](../campus_net/config.py) | `version` 分派、配置校验、历史配置兼容和内部默认值 | +| [`campus_net/config_paths.py`](../campus_net/config_paths.py) | 源码与打包态共用的配置候选路径和 `dist` 父项目目录回退 | +| [`campus_net/config_store.py`](../campus_net/config_store.py) | 正式配置编辑、并发修订检查、校验备份和原子保存 | +| [`campus_net/captive.py`](../campus_net/captive.py) | Windows 接口绑定、captive URL 提取、在线指纹分类 | +| [`campus_net/aggregate.py`](../campus_net/aggregate.py) | 聚合门户工作流、验证码策略、运营商选择和在线确认 | +| [`campus_net/sso.py`](../campus_net/sso.py) | SSO 页面解析、AES 表单、验证码 URL 和登录结果判定 | +| [`campus_net/interactive.py`](../campus_net/interactive.py) | CLI 原生验证码窗口和无 GUI 时的临时文件回退 | +| [`campus_net/runner.py`](../campus_net/runner.py) | 串联新版流程并处理不确定 POST 的只读状态核对 | +| [`campus_net/legacy.py`](../campus_net/legacy.py) | 保留旧版 ePortal 登录流程 | +| [`campus_net/gui_core.py`](../campus_net/gui_core.py) | GUI 后台任务、事件队列、验证码桥接、接口枚举和表单校验 | +| [`campus_net/gui.py`](../campus_net/gui.py) | `ttkbootstrap` 主线程窗口、配置编辑和用户交互 | +| [`campus_net/window_state.py`](../campus_net/window_state.py) | 窗口位置、尺寸、最大化状态的无敏感信息持久化与多显示器校正 | + +### 8.1 GUI 并发与配置保存边界 + +图形界面和 CLI 共用 `application.execute_config()`,不会维护第二套校园网协议实现。Tk/`ttkbootstrap` 控件只在主线程创建和更新;连接任务在单独线程中运行自己的 asyncio 事件循环,通过队列上报日志、结果和验证码图片。验证码答案由请求 ID 关联回当前异步任务,关闭验证码窗口会取消当前连接,而不会提交空答案。取消发生在请求提交附近时,界面会明确提示服务端可能已经处理该请求,不把本地取消等同于服务端回滚。 + +IPv4 接口枚举固定调用 `%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe`,避免当前目录中的同名程序参与 Windows 可执行文件搜索。PowerShell 枚举值在 JSON 中可能是 `0/1` 数字,也可能是状态字符串;解析层统一归一化,再在界面显示为“已连接”“未连接”或“正在认证”。枚举进程超时、失败或后台线程无法启动时都会恢复刷新按钮,用户仍可直接填写接口索引。 + +窗口关闭时把普通窗口的 `x/y`、宽高和最大化状态原子写入 `%LOCALAPPDATA%\Cedarflake\CampusNet\window-state.json`。该独立 UI 状态不含配置或登录数据,读取失败会静默回退默认布局。恢复时按 Windows 各显示器工作区检查负坐标和可见范围;原显示器不存在时回到主屏居中,尺寸同时受最小窗口和当前工作区约束。 + +GUI 只编辑显式带 `version=1` 或 `version=2` 的正式配置。无版本历史配置仍由 CLI 兼容读取,但 GUI 拒绝静默改写。连接和探测使用当前表单的内存副本;只有显式保存才写磁盘。 + +覆盖配置时,`config_store` 执行以下顺序: + +1. 校验当前文件仍与加载时的 SHA-256 修订一致,阻止覆盖外部修改; +2. 把旧文件写入 Windows“文档”目录下的 `CampusNet Backups`; +3. 校验备份文件与旧文件的大小和 SHA-256; +4. 在配置所在目录写入并同步临时文件; +5. 再次核对修订后用同目录原子替换,并校验最终内容。 + +替换前的任何备份、修订或完整性检查失败都会停止保存并保留旧文件。内容未变化时不覆盖文件,也不创建重复备份;新建配置没有旧内容可备份。若原子替换后的目录同步或最终回读校验失败,磁盘状态已经无法由异常本身判断,GUI 会禁用继续保存、标记结果不确定并要求重新加载;已有旧文件时,替换前生成的校验备份仍用于恢复。配置路径不是普通文件、JSON 存在重复键、文件超过大小限制或包含未知正式字段时同样拒绝写入。备份与配置都含账号和密码,必须保持在版本控制之外。 + +打包态继续兼容原有的当前目录查找顺序,并在 EXE 同目录后增加一个受限回退:只有 EXE 目录名为 `dist`,且父目录同时包含 `pyproject.toml` 与 `config.example.json` 项目标记时,才检查父目录的 `config.json`。这覆盖本项目的 PyInstaller 输出布局,又不会对任意安装目录盲目向上搜索。`--print-config-path` 只解析并输出最终路径,不打开配置文件也不发出网络请求;显式 GUI `--config` 路径缺失时不会静默改用其他账号配置。 + +PyInstaller 保留两个独立入口:`build.spec` 生成控制台版 `Auto-Connect-CampusNet.exe`,`gui.spec` 生成窗口版 `Auto-Connect-CampusNet-GUI.exe`。两个 spec 的 `datas` 都为空,不会把本地 `config.json` 或备份嵌入可执行文件。 + +## 9. 退出码和可观察结果 + +| 退出码 | 含义 | +| --- | --- | +| `0` | 已在线、探测成功,或登录后双重在线确认成功 | +| `1` | 配置缺失、JSON 错误或字段校验失败 | +| `2` | 接口状态无法确认,或旧版模式不支持 `--probe-only` | +| `3` | 登录被拒绝、结果不确定、验证码 UI、门户协议、HTTP/网络或超时错误 | +| `4` | 门户状态和独立连通性探测未能同时确认在线 | + +`--probe-only` 不提交账号、密码、验证码或运营商认证。接口处于 captive 状态时,它仍会沿真实入口完成只读门户初始化、终端信息查询和当前工作流节点查询,而不是只发一个探测 GET;这让它可以同时验证接口选择与入口协议是否仍兼容。 + +## 10. 测试与实际验证 + +单元测试按协议边界拆分: + +- `test_captive.py`:真实脚本形态、入口参数、origin/path、歧义响应、在线指纹和 Windows socket 绑定; +- `test_sso.py`:动态字段、AES/PKCS#7、验证码策略、风险类型、成功回调和错误码; +- `test_aggregate.py`:完整会话顺序、CSRF 头、验证码刷新、非幂等请求不重放、运营商和双重在线判定; +- `test_captive_config.py`:`version=2` 六字段配置和早期嵌套配置兼容; +- `test_config.py`:`version=1`、历史 Cookie 配置和旧版在线判断; +- `test_config_store.py`:正式配置解析、修订冲突、强制备份、完整性校验和原子保存; +- `test_config_paths.py`:源码和打包态候选顺序、`dist` 父目录、显式路径与符号链接边界; +- `test_gui_core.py`:无 Tk 的表单、后台任务、取消、验证码桥接和接口列表测试; +- `test_window_state.py`:窗口状态原子保存、损坏回退、负坐标多显示器和离屏校正; +- `test_application.py`:CLI/GUI 共用协议分派和错误分类。 + +项目级验证命令: + +```powershell +uv run python -m unittest discover -s tests -p "test_*.py" -v +uv run python main.py --probe-only +uv run pyinstaller --clean --noconfirm build.spec +uv run pyinstaller --clean --noconfirm gui.spec +``` + +GUI 产物另提供 `--smoke-test`:只创建、更新并销毁主窗口,不读取配置、不枚举网卡也不访问网络,可用于构建后的窗口资源冒烟检查。本次适配还分别用源码入口和重新构建的 CLI EXE 执行了绑定接口探测,并在实际登录测试中确认最终成功条件为“门户在线状态 + 独立 HTTP 在线指纹”。完整测试数量随 GUI 边界用例增长,以全量测试命令的实际输出为准。 + +## 11. 已知限制 + +- 新版接口绑定当前只实现 Windows IPv4;非 Windows 或 IPv6 会明确报错。 +- 只支持当前观察到的聚合门户节点:`authenticate`、`serviceSelection`、`finish`。 +- 只支持无验证码和门户自身的系统图形验证码。 +- 图形验证码需要人工读取;它是服务端认证条件,不是待补的浏览器自动化步骤。 +- 不支持 reCAPTCHA、Geetest 和 USTC 指纹风控。 +- 不修改系统路由、DNS、随机 MAC、sing-box 或 v2rayN 配置。 +- 门户路径、隐藏字段、加密方式、错误码或 CSRF 算法变化后,需要更新实现和对应测试。 + +## 12. 后续门户升级时的排查顺序 + +如果新版再次变化,按以下顺序定位,避免直接修改密码加密或反复重放登录: + +1. 用 `--probe-only` 确认 socket 绑定后的协议响应;如需证明最终物理出口,再使用抓包或系统路由诊断; +2. 检查 captive 响应是否仍给出 `/eportal/index.jsp` 以及四个接入参数; +3. 检查 `portal-main` 跳转参数和 `currentNodePath` 是否变化; +4. 检查 SSO 页的动态字段、验证码提供方和风控开关; +5. 检查验证码策略的 JSON、CSRF 算法和图片路径; +6. 检查登录成功回调路径以及 ticket 形态; +7. 检查服务列表的 `key/value` 结构和工作流节点; +8. 最后检查 `userOnline`、`getOnlineUserInfo` 和独立在线指纹。 + +调试日志和测试夹具必须脱敏。不要记录真实密码、验证码、Cookie、ticket、`sessionId`、IP、MAC 或可复用的完整 captive URL。 diff --git a/workbench/network/campus-net/gui.spec b/workbench/network/campus-net/gui.spec new file mode 100644 index 0000000..ab0302f --- /dev/null +++ b/workbench/network/campus-net/gui.spec @@ -0,0 +1,39 @@ +# -*- mode: python ; coding: utf-8 -*- + + +a = Analysis( + ["gui_main.py"], + pathex=[], + binaries=[], + datas=[("assets/app-icon.png", "assets")], + hiddenimports=[], + hookspath=[], + hooksconfig={}, + runtime_hooks=[], + excludes=[], + noarchive=False, + optimize=0, +) +pyz = PYZ(a.pure) + +exe = EXE( + pyz, + a.scripts, + a.binaries, + a.datas, + [], + name="Auto-Connect-CampusNet-GUI", + debug=False, + bootloader_ignore_signals=False, + strip=False, + upx=True, + upx_exclude=[], + runtime_tmpdir=None, + console=False, + disable_windowed_traceback=False, + argv_emulation=False, + target_arch=None, + icon="assets/app-icon.ico", + codesign_identity=None, + entitlements_file=None, +) diff --git a/workbench/network/campus-net/gui_main.py b/workbench/network/campus-net/gui_main.py new file mode 100644 index 0000000..712a183 --- /dev/null +++ b/workbench/network/campus-net/gui_main.py @@ -0,0 +1,36 @@ +from __future__ import annotations + +import argparse +from collections.abc import Sequence +from pathlib import Path + +from campus_net.gui import launch_gui + + +def parse_args(argv: Sequence[str] | None = None) -> argparse.Namespace: + parser = argparse.ArgumentParser( + description="Campus Net 图形界面", + allow_abbrev=False, + ) + parser.add_argument( + "--config", + type=Path, + metavar="PATH", + help="使用指定配置文件;默认按程序内置顺序查找 config.json", + ) + parser.add_argument( + "--smoke-test", + action="store_true", + help="只创建、更新并销毁窗口,不读取配置或访问网络", + ) + return parser.parse_args(argv) + + +def main(argv: Sequence[str] | None = None) -> int: + args = parse_args(argv) + launch_gui(config_path=args.config, smoke_test=args.smoke_test) + return 0 + + +if __name__ == "__main__": + raise SystemExit(main()) diff --git a/workbench/network/campus-net/main.py b/workbench/network/campus-net/main.py index b15a35b..9624f4a 100644 --- a/workbench/network/campus-net/main.py +++ b/workbench/network/campus-net/main.py @@ -1,203 +1,58 @@ +from __future__ import annotations + +import argparse import asyncio import json -import os import sys -from pathlib import Path from typing import Any -from urllib.parse import urlparse - -import aiohttp - -CONFIG_ENV = "CAMPUSNET_CONFIG" -DEFAULT_CONNECTIVITY_CHECK_URL = "http://www.baidu.com" - - -def config_candidates(): - configured_path = os.getenv(CONFIG_ENV) - if configured_path: - yield Path(configured_path).expanduser() - - yield Path.cwd() / "config.json" - - if getattr(sys, "frozen", False): - yield Path(sys.executable).resolve().parent / "config.json" - - yield Path(__file__).resolve().parent / "config.json" - - bundled_directory = getattr(sys, "_MEIPASS", None) - if bundled_directory: - yield Path(bundled_directory) / "config.json" +from campus_net.application import classify_run_error, execute_config +from campus_net.config_paths import resolve_config_path -def load_config(): - candidates = list(dict.fromkeys(path.resolve() for path in config_candidates())) - config_path = next((path for path in candidates if path.is_file()), None) - if config_path is None: - searched_paths = "\n".join(f"- {path}" for path in candidates) - raise FileNotFoundError( - "未找到 config.json。请创建本地配置或设置 CAMPUSNET_CONFIG。\n" - f"已检查:\n{searched_paths}" - ) +def load_config() -> dict[str, Any]: + config_path = resolve_config_path() with config_path.open("r", encoding="utf-8") as config_file: - return json.load(config_file) - - -def portal_base_url(login_url): - parsed_url = urlparse(login_url) - if parsed_url.scheme not in {"http", "https"} or not parsed_url.netloc: - raise ValueError("login_url 必须是完整的 HTTP 或 HTTPS 地址") - return f"{parsed_url.scheme}://{parsed_url.netloc}/" - - -def build_runtime_from_config(cfg: dict[str, Any]): - login_url = str(cfg.get("login_url", "")).strip() - if not login_url: - raise ValueError("config.json 缺少 login_url") - - parsed_login_url = urlparse(login_url) - portal_url = portal_base_url(login_url) - connectivity_check_url = str( - cfg.get("connectivity_check_url", DEFAULT_CONNECTIVITY_CHECK_URL) - ).strip() - portal_base_url(connectivity_check_url) - - default_cookies = { - "EPORTAL_COOKIE_DOMAIN": "false", - "EPORTAL_COOKIE_SAVEPASSWORD": "true", - "EPORTAL_COOKIE_OPERATORPWD": "", - "EPORTAL_COOKIE_NEWV": "true", - } - user_cookies = cfg.get("cookies", {}) - if not isinstance(user_cookies, dict): - raise TypeError("cookies 必须是 JSON 对象") - cookies = {**default_cookies, **user_cookies} - user_group = str(cfg.get("user_group", "")).strip() - if user_group and "EPORTAL_USER_GROUP" not in user_cookies: - cookies["EPORTAL_USER_GROUP"] = user_group - - configured_headers = cfg.get("headers", {}) - if not isinstance(configured_headers, dict): - raise TypeError("headers 必须是 JSON 对象") - user_agent = configured_headers.get( - "User-Agent", - "Mozilla/5.0 (Windows NT 10.0; Win64; x64) " - "AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36", + config = json.load(config_file) + if not isinstance(config, dict): + raise TypeError("config.json 顶层必须是 JSON 对象") + return config + + +def parse_args() -> argparse.Namespace: + parser = argparse.ArgumentParser(description="连接锐捷校园网门户") + parser.add_argument( + "--probe-only", + action="store_true", + help="仅探测绑定接口的网络状态,不提交认证", ) - headers = { - "Host": parsed_login_url.hostname or "", - "User-Agent": str(user_agent), - } - jsessionid = cookies.get("JSESSIONID") - if jsessionid: - headers["JSESSIONID"] = str(jsessionid) - - service = str(cfg.get("service", cookies.get("EPORTAL_COOKIE_SERVER", ""))) - return login_url, portal_url, connectivity_check_url, headers, cookies, service - - -def is_network_available(status, response_text, redirect_location, portal_host): - if portal_host in response_text or portal_host in redirect_location: - return False - return 200 <= status < 400 - - -async def check_network_status(session, connectivity_check_url, portal_host): - try: - timeout = aiohttp.ClientTimeout(total=8) - async with session.get( - connectivity_check_url, - allow_redirects=False, - timeout=timeout, - ) as response: - status = response.status - response_text = await response.text(errors="ignore") - redirect_location = response.headers.get("Location", "") - - if not is_network_available(status, response_text, redirect_location, portal_host): - print("未连接校园网,需要登录") - return False - print("已连接校园网,无需登录") - return True - except (aiohttp.ClientError, TimeoutError) as error: - print(f"网络状态检查失败:{error}") - return False - - -async def get_query_string(session, portal_url): - timeout = aiohttp.ClientTimeout(total=8) - async with session.get(portal_url, timeout=timeout) as response: - html = await response.text(errors="ignore") - - start = html.find("index.jsp?") - if start == -1: - print("未在门户页面中找到 query_string 入口,请检查 login_url。") - return "" - start += len("index.jsp?") - end = html.find("'", start) - return html[start:] if end == -1 else html[start:end] - + parser.add_argument( + "--print-config-path", + action="store_true", + help="只显示将使用的配置路径,不读取配置或发起网络请求", + ) + return parser.parse_args() -async def do_login(session, login_url, portal_url, headers, cookies, service): - username = str(cookies.get("EPORTAL_COOKIE_USERNAME", "")) - password = str(cookies.get("EPORTAL_COOKIE_PASSWORD", "")) - if not username or not password: - print("登录失败:配置缺少校园网账号或加密密码。") - return - query_string = await get_query_string(session, portal_url) - if not query_string: - return +async def async_main(*, probe_only: bool = False) -> int: + cfg = load_config() + return await execute_config(cfg, probe_only=probe_only) - post_data = { - "userId": username, - "password": password, - "service": service, - "queryString": query_string, - "operatorPwd": "", - "operatorUserId": "", - "validcode": "", - "passwordEncrypt": "true", - } +def main() -> int: + args = parse_args() try: - timeout = aiohttp.ClientTimeout(total=10) - async with session.post( - login_url, - headers=headers, - data=post_data, - cookies=cookies, - allow_redirects=False, - timeout=timeout, - ) as response: - try: - data = await response.json(content_type=None) - except (aiohttp.ContentTypeError, json.JSONDecodeError): - print(f"登录失败:门户返回非 JSON 内容,状态码 {response.status}。") - return - except (aiohttp.ClientError, TimeoutError) as error: - print(f"登录请求失败:{error}") - return - - if data.get("result") == "success": - print("登录成功!") - else: - print("登录失败,原因:", data.get("message", "未知错误")) - - -async def main(): - cfg = load_config() - login_url, portal_url, check_url, headers, cookies, service = build_runtime_from_config(cfg) - portal_host = urlparse(portal_url).hostname or "" - - async with aiohttp.ClientSession(headers=headers, cookies=cookies) as session: - if await check_network_status(session, check_url, portal_host): - print("跳过登录") - return - await do_login(session, login_url, portal_url, headers, cookies, service) + if args.print_config_path: + print(resolve_config_path()) + return 0 + return asyncio.run(async_main(probe_only=args.probe_only)) + except BaseException as error: + error_info = classify_run_error(error) + if error_info is None: + raise + print(f"{error_info.title}:{error_info.message}", file=sys.stderr) + return error_info.exit_code if __name__ == "__main__": - if os.name == "nt": - asyncio.set_event_loop_policy(asyncio.WindowsSelectorEventLoopPolicy()) - asyncio.run(main()) + raise SystemExit(main()) diff --git a/workbench/network/campus-net/pyproject.toml b/workbench/network/campus-net/pyproject.toml index c15c9a8..216644a 100644 --- a/workbench/network/campus-net/pyproject.toml +++ b/workbench/network/campus-net/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "cedarflake-campus-net" version = "1.0.0" -description = "Log in to a Ruijie campus network portal." +description = "Connect through legacy and captive SSO Ruijie campus portals." readme = "README.md" requires-python = ">=3.11" license = { file = "LICENSE" } @@ -10,6 +10,9 @@ authors = [ ] dependencies = [ "aiohttp>=3.12.0,<4", + "pillow>=11.0.0,<13", + "pycryptodome>=3.21.0,<4", + "ttkbootstrap>=1.10,<2", ] [dependency-groups] diff --git a/workbench/network/campus-net/tests/test_aggregate.py b/workbench/network/campus-net/tests/test_aggregate.py new file mode 100644 index 0000000..9a66677 --- /dev/null +++ b/workbench/network/campus-net/tests/test_aggregate.py @@ -0,0 +1,569 @@ +import base64 +import hashlib +import json +import unittest +from collections import deque +from http.cookies import SimpleCookie +from unittest.mock import AsyncMock, patch +from urllib.parse import urlencode, urlparse + +import aiohttp +from campus_net.aggregate import ( + AggregatePortalClient, + AuthenticationRejected, + AuthenticationUncertain, + PortalContext, + PortalProtocolError, + _protected_sso_headers, + _read_limited_body, +) +from campus_net.captive import NetworkState, ProbeResult +from campus_net.config import CaptiveHttpConfig, ProbeConfig +from yarl import URL + +PORTAL_ORIGIN = "http://10.71.29.181" +PROBE_URL = "http://connectivity.example/connecttest.txt" +CRYPTO_KEY_1 = base64.b64encode(b"0123456789abcdef").decode("ascii") +CRYPTO_KEY_2 = base64.b64encode(b"fedcba9876543210").decode("ascii") + + +def config(*, verification_timeout: float = 0.05) -> CaptiveHttpConfig: + return CaptiveHttpConfig( + adapter="captive-sso-http", + interface_index=24, + user_agent="test-agent", + probe=ProbeConfig( + url=PROBE_URL, + online_status=200, + online_body="Microsoft Connect Test", + online_location=None, + timeout_seconds=1, + ), + portal_origin=PORTAL_ORIGIN, + portal_entry_path="/eportal/index.jsp", + auth_mode="interactive-system-captcha", + username="example-student", + password="example-password", + service_display_name="中国电信", + captcha_attempts=0, + verification_interval_seconds=0.01, + verification_timeout_seconds=verification_timeout, + ) + + +def captive_url() -> str: + return ( + PORTAL_ORIGIN + + "/eportal/index.jsp?" + + urlencode( + { + "wlanuserip": "user-ip-token", + "wlanacname": "ac-token", + "nasip": "nas-token", + "mac": "mac-token", + } + ) + ) + + +def captive_body() -> bytes: + return f"".encode() + + +def sso_page( + crypto_key: str, + execution: str, + *, + error_code: str = "", +) -> bytes: + return ( + f'

{crypto_key}

' + f'

{execution}

' + '

system

' + '

' + f'

{error_code}

' + '

' + ).encode() + + +class FakeContent: + def __init__(self, body: bytes) -> None: + self.body = body + self.offset = 0 + + async def read(self, size: int = -1) -> bytes: + if self.offset >= len(self.body): + return b"" + end = len(self.body) if size < 0 else self.offset + size + chunk = self.body[self.offset : end] + self.offset += len(chunk) + return chunk + + +class FakeResponse: + def __init__( + self, + *, + status: int = 200, + headers: dict[str, str] | None = None, + body: bytes = b"", + payload: object = None, + ) -> None: + self.status = status + self.headers = headers or {} + if payload is not None and not body: + body = json.dumps(payload).encode() + self.content = FakeContent(body) + self.payload = payload + + async def __aenter__(self): + return self + + async def __aexit__(self, exc_type, exc, traceback) -> None: + return None + + async def json(self, *, content_type=None): + return self.payload + + +class FakeSession: + def __init__( + self, + *, + gets: list[FakeResponse] | None = None, + posts: list[FakeResponse | Exception] | None = None, + requests: list[FakeResponse | Exception] | None = None, + ) -> None: + self.gets = deque(gets or []) + self.posts = deque(posts or []) + self.requests = deque(requests or []) + self.calls: list[tuple[str, str, dict[str, object]]] = [] + + def get(self, url: str, **kwargs: object): + self.calls.append(("GET", str(url), kwargs)) + return self.gets.popleft() + + def post(self, url: str, **kwargs: object): + self.calls.append(("POST", str(url), kwargs)) + response = self.posts.popleft() + if isinstance(response, Exception): + raise response + return response + + def request(self, method: str, url: str, **kwargs: object): + self.calls.append((method, str(url), kwargs)) + response = self.requests.popleft() + if isinstance(response, Exception): + raise response + return response + + +class TestLimitedBodyRead(unittest.IsolatedAsyncioTestCase): + async def test_reads_all_chunks_until_eof(self): + body = b"a" * (70 * 1024) + response = FakeResponse(body=body) + + result = await _read_limited_body(response, len(body), operation="测试") + + self.assertEqual(result, body) + + async def test_rejects_body_over_limit(self): + response = FakeResponse(body=b"too-large") + + with self.assertRaisesRegex(PortalProtocolError, "响应过大"): + await _read_limited_body(response, 4, operation="测试") + + +class TestProtectedSsoRequests(unittest.IsolatedAsyncioTestCase): + @patch("campus_net.aggregate.secrets.choice", return_value="A") + def test_reproduces_frontend_csrf_header_algorithm(self, choice): + headers = _protected_sso_headers() + csrf_key = "A" * 32 + encoded_key = base64.b64encode(csrf_key.encode("ascii")).decode("ascii") + midpoint = len(encoded_key) // 2 + csrf_source = encoded_key[:midpoint] + encoded_key + encoded_key[midpoint:] + expected_value = hashlib.md5( + csrf_source.encode("ascii"), + usedforsecurity=False, + ).hexdigest() + + self.assertEqual(headers["Csrf-Key"], csrf_key) + self.assertEqual(headers["Csrf-Value"], expected_value) + self.assertEqual(headers["sid-language"], "zh-CN") + self.assertEqual(choice.call_count, 32) + + async def test_rejects_business_unauthorized_captcha_policy(self): + session = FakeSession( + gets=[FakeResponse(payload={"code": 401, "data": {"errorMessage": "unauthorized"}})] + ) + + with self.assertRaisesRegex(PortalProtocolError, "业务状态不是 200:401"): + await AggregatePortalClient(session, config())._get_captcha_requirement( + "example-student" + ) + + _method, url, kwargs = session.calls[0] + self.assertIn("?", url) + self.assertIn("Csrf-Key", kwargs["headers"]) + self.assertIn("Csrf-Value", kwargs["headers"]) + + +class TestPortalInitialization(unittest.IsolatedAsyncioTestCase): + async def test_preserves_exact_captive_url_and_follows_portal_main(self): + portal_main = ( + "/portal/portal-main?sessionId=session-123&customPageId=custom-1" + "&nasIp=nas-token&userIp=user-token&userMac=mac-token" + ) + session = FakeSession( + gets=[ + FakeResponse(body=captive_body()), + FakeResponse(status=302, headers={"Location": portal_main}), + FakeResponse(body=b"portal-spa"), + ], + requests=[ + FakeResponse(payload={"code": 200, "data": {"ipAddr": "10.0.0.2"}}), + FakeResponse(payload={"code": 200, "data": {}}), + FakeResponse(payload={"code": 200, "data": {"currentNodePath": "authenticate"}}), + ], + ) + + result = await AggregatePortalClient(session, config()).initialize() + + self.assertEqual(result.probe.state, NetworkState.CAPTIVE) + self.assertIsNotNone(result.context) + self.assertEqual(result.context.session_id, "session-123") + self.assertEqual(session.calls[1][1], captive_url()) + self.assertEqual(session.calls[2][1], PORTAL_ORIGIN + portal_main) + + +class TestSsoAuthentication(unittest.IsolatedAsyncioTestCase): + async def test_reloads_form_when_captcha_code_is_on_keyless_error_page(self): + session = FakeSession( + gets=[ + FakeResponse(body=sso_page(CRYPTO_KEY_1, "execution-1")), + FakeResponse(payload={"code": 200, "data": {"captchaInvisible": False}}), + FakeResponse(payload={"code": 200, "data": {"captchaInvisible": False}}), + FakeResponse(body=sso_page(CRYPTO_KEY_2, "execution-2")), + FakeResponse( + payload={ + "code": 200, + "data": { + "captchaInvisible": True, + "captchaUrl": "/sam-sso/api/captcha/reloaded", + }, + } + ), + FakeResponse(headers={"Content-Type": "image/png"}, body=b"captcha"), + FakeResponse(body=b"success-callback"), + ], + posts=[ + FakeResponse(body=b'

1320007

'), + FakeResponse( + status=302, + headers={"Location": "/portal/assets/auth-success.html?ticket=ticket-1"}, + ), + ], + ) + + await AggregatePortalClient(session, config()).authenticate( + PortalContext( + session_id="session-123", + custom_page_id="custom-1", + nas_ip="nas-token", + user_ip="user-token", + user_mac="mac-token", + current_node_path="authenticate", + ), + username="example-student", + password="example-password", + captcha_provider=AsyncMock(return_value="abcd"), + ) + + post_forms = [kwargs["data"] for method, _url, kwargs in session.calls if method == "POST"] + self.assertEqual( + [value for key, value in post_forms[1] if key == "execution"], + ["execution-2"], + ) + + async def test_uses_default_then_username_policy_and_retries_only_captcha_error(self): + session = FakeSession( + gets=[ + FakeResponse(body=sso_page(CRYPTO_KEY_1, "execution-1")), + FakeResponse( + payload={ + "code": 200, + "data": {"captchaInvisible": False, "captchaUrl": ""}, + } + ), + FakeResponse( + payload={ + "code": 200, + "data": { + "captchaInvisible": True, + "captchaUrl": "/sam-sso/api/captcha/first", + }, + } + ), + FakeResponse(headers={"Content-Type": "image/png"}, body=b"first-image"), + FakeResponse( + payload={ + "code": 200, + "data": { + "captchaInvisible": True, + "captchaUrl": "/sam-sso/api/captcha/second", + }, + } + ), + FakeResponse(headers={"Content-Type": "image/png"}, body=b"second-image"), + FakeResponse(body=b"success-callback"), + ], + posts=[ + FakeResponse(body=sso_page(CRYPTO_KEY_2, "execution-2", error_code="1320007")), + FakeResponse( + status=302, + headers={"Location": "/portal/assets/auth-success.html?ticket=ticket-1"}, + ), + ], + ) + codes = deque(["wrong", "right"]) + + async def provide_captcha(image: bytes, content_type: str) -> str: + self.assertEqual(content_type, "image/png") + self.assertIn(image, {b"first-image", b"second-image"}) + return codes.popleft() + + await AggregatePortalClient(session, config()).authenticate( + PortalContext( + session_id="session-123", + custom_page_id="custom-1", + nas_ip="nas-token", + user_ip="user-token", + user_mac="mac-token", + current_node_path="authenticate", + ), + username="example-student", + password="example-password", + captcha_provider=provide_captcha, + ) + + policy_urls = [url for method, url, _kwargs in session.calls if "findCaptchaCount" in url] + policy_paths = [urlparse(url).path for url in policy_urls] + self.assertTrue(policy_paths[0].endswith("/DEFAULT_CAPTCHA_SWITCH")) + self.assertTrue(policy_paths[1].endswith("/example-student")) + self.assertTrue(policy_paths[2].endswith("/example-student")) + post_forms = [kwargs["data"] for method, _url, kwargs in session.calls if method == "POST"] + self.assertEqual( + [value for key, value in post_forms[0] if key == "execution"], + ["execution-1"], + ) + self.assertEqual( + [value for key, value in post_forms[1] if key == "execution"], + ["execution-2"], + ) + + async def test_does_not_replay_uncertain_login_post(self): + session = FakeSession( + gets=[ + FakeResponse(body=sso_page(CRYPTO_KEY_1, "execution-1")), + FakeResponse( + payload={ + "code": 200, + "data": {"captchaInvisible": False, "captchaUrl": ""}, + } + ), + FakeResponse( + payload={ + "code": 200, + "data": {"captchaInvisible": False, "captchaUrl": ""}, + } + ), + ], + posts=[aiohttp.ClientConnectionError("connection lost")], + ) + + with self.assertRaisesRegex(RuntimeError, "未自动重放"): + await AggregatePortalClient(session, config()).authenticate( + PortalContext( + session_id="session-123", + custom_page_id="custom-1", + nas_ip="nas-token", + user_ip="user-token", + user_mac="mac-token", + current_node_path="authenticate", + ), + username="example-student", + password="example-password", + captcha_provider=AsyncMock(return_value=""), + ) + + self.assertEqual(sum(method == "POST" for method, _url, _kwargs in session.calls), 1) + + async def test_treats_malformed_post_response_as_uncertain_without_replay(self): + session = FakeSession( + gets=[ + FakeResponse(body=sso_page(CRYPTO_KEY_1, "execution-1")), + FakeResponse( + payload={ + "code": 200, + "data": {"captchaInvisible": False, "captchaUrl": ""}, + } + ), + FakeResponse( + payload={ + "code": 200, + "data": {"captchaInvisible": False, "captchaUrl": ""}, + } + ), + ], + posts=[FakeResponse(body=b"not-an-sso-page")], + ) + + with self.assertRaises(AuthenticationUncertain): + await AggregatePortalClient(session, config()).authenticate( + PortalContext( + session_id="session-123", + custom_page_id="custom-1", + nas_ip="nas-token", + user_ip="user-token", + user_mac="mac-token", + current_node_path="authenticate", + ), + username="example-student", + password="example-password", + captcha_provider=AsyncMock(return_value=""), + ) + + self.assertEqual(sum(method == "POST" for method, _url, _kwargs in session.calls), 1) + + async def test_does_not_submit_without_image_after_explicit_captcha_error(self): + session = FakeSession( + gets=[ + FakeResponse(body=sso_page(CRYPTO_KEY_1, "execution-1")), + FakeResponse( + payload={ + "code": 200, + "data": {"captchaInvisible": False, "captchaUrl": ""}, + } + ), + FakeResponse( + payload={ + "code": 200, + "data": { + "captchaInvisible": True, + "captchaUrl": "/sam-sso/api/captcha/first", + }, + } + ), + FakeResponse(headers={"Content-Type": "image/png"}, body=b"first-image"), + FakeResponse( + payload={ + "code": 200, + "data": {"captchaInvisible": False, "captchaUrl": ""}, + } + ), + FakeResponse( + payload={ + "code": 200, + "data": {"captchaInvisible": False, "captchaUrl": ""}, + } + ), + ], + posts=[FakeResponse(body=sso_page(CRYPTO_KEY_2, "execution-2", error_code="1320007"))], + ) + + with self.assertRaises(PortalProtocolError): + await AggregatePortalClient(session, config()).authenticate( + PortalContext( + session_id="session-123", + custom_page_id="custom-1", + nas_ip="nas-token", + user_ip="user-token", + user_mac="mac-token", + current_node_path="authenticate", + ), + username="example-student", + password="example-password", + captcha_provider=AsyncMock(return_value="wrong"), + ) + + self.assertEqual(sum(method == "POST" for method, _url, _kwargs in session.calls), 1) + + +class TestOnlineVerification(unittest.IsolatedAsyncioTestCase): + async def test_rejects_explicit_user_online_false(self): + session = FakeSession( + requests=[ + FakeResponse(payload={"code": 200, "data": {"online": False}}), + ] + ) + + with self.assertRaises(AuthenticationRejected): + await AggregatePortalClient(session, config()).trigger_online_check("session-123") + + async def test_treats_unstructured_user_online_response_as_uncertain(self): + session = FakeSession(requests=[FakeResponse(payload=None)]) + + with self.assertRaises(AuthenticationUncertain): + await AggregatePortalClient(session, config()).trigger_online_check("session-123") + + self.assertEqual(len(session.calls), 1) + + async def test_requires_portal_and_independent_probe_to_be_online(self): + client = AggregatePortalClient(FakeSession(), config()) + client._is_portal_online = AsyncMock(return_value=True) + captive_probe = ProbeResult(NetworkState.CAPTIVE, captive_url=captive_url()) + + with patch( + "campus_net.aggregate.probe_connectivity", AsyncMock(return_value=captive_probe) + ): + self.assertFalse(await client.verify_online("session-123")) + + online_probe = ProbeResult(NetworkState.ONLINE) + with patch("campus_net.aggregate.probe_connectivity", AsyncMock(return_value=online_probe)): + self.assertTrue(await client.verify_online("session-123")) + + +class TestServiceSelection(unittest.IsolatedAsyncioTestCase): + async def test_does_not_replay_uncertain_service_login(self): + session = FakeSession( + requests=[ + FakeResponse( + payload={ + "code": 200, + "data": [{"key": "中国电信", "value": "dynamic-service"}], + } + ), + aiohttp.ClientConnectionError("connection lost"), + ] + ) + + with self.assertRaises(AuthenticationUncertain): + await AggregatePortalClient(session, config()).select_service( + "session-123", + "中国电信", + ) + + service_calls = [call for call in session.calls if call[1].endswith("/serviceLogin")] + self.assertEqual(len(service_calls), 1) + + +class TestIpCookieJar(unittest.IsolatedAsyncioTestCase): + async def test_unsafe_cookie_jar_keeps_ip_host_session(self): + cookie = SimpleCookie() + cookie.load("SESSION=session-value; Path=/sam-sso; HttpOnly") + safe_jar = aiohttp.CookieJar() + unsafe_jar = aiohttp.CookieJar(unsafe=True) + response_url = URL("http://10.71.29.181/sam-sso/login") + + safe_jar.update_cookies(cookie, response_url=response_url) + unsafe_jar.update_cookies(cookie, response_url=response_url) + + self.assertNotIn("SESSION", safe_jar.filter_cookies(response_url)) + self.assertEqual( + unsafe_jar.filter_cookies(response_url)["SESSION"].value, + "session-value", + ) + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/tests/test_application.py b/workbench/network/campus-net/tests/test_application.py new file mode 100644 index 0000000..e0bc571 --- /dev/null +++ b/workbench/network/campus-net/tests/test_application.py @@ -0,0 +1,154 @@ +import json +import unittest +from unittest.mock import AsyncMock, patch + +import aiohttp +from campus_net.aggregate import ( + AuthenticationRejected, + AuthenticationUncertain, + PortalProtocolError, +) +from campus_net.application import classify_run_error, execute_config +from campus_net.config import ( + ADAPTER_CAPTIVE_SSO_HTTP, + CONFIG_VERSION_CAPTIVE_SSO, + CONFIG_VERSION_LEGACY_EPORTAL, +) +from campus_net.interactive import CaptchaPromptError +from campus_net.sso import SsoProtocolError + + +def captive_config() -> dict[str, object]: + return { + "version": CONFIG_VERSION_CAPTIVE_SSO, + "interface_index": 24, + "portal_url": "http://10.71.29.181", + "username": "example-student", + "password": "example-password", + "carrier": "中国电信", + } + + +def legacy_config() -> dict[str, object]: + return { + "version": CONFIG_VERSION_LEGACY_EPORTAL, + "login_url": "https://campus.example/eportal/InterFace.do?method=login", + "username": "example-student", + "encrypted_password": "encrypted-password", + "carrier": "carrier", + } + + +class TestExecuteConfig(unittest.IsolatedAsyncioTestCase): + @patch("campus_net.application.run_captive_http", new_callable=AsyncMock) + async def test_dispatches_version_2_to_captive_runner(self, run_captive_http): + run_captive_http.return_value = 4 + captcha_provider = AsyncMock(return_value="abcd") + status_messages: list[str] = [] + status_callback = status_messages.append + + exit_code = await execute_config( + captive_config(), + probe_only=True, + captcha_provider=captcha_provider, + status_callback=status_callback, + ) + + self.assertEqual(exit_code, 4) + run_captive_http.assert_awaited_once() + runtime_config = run_captive_http.await_args.args[0] + self.assertEqual(runtime_config.adapter, ADAPTER_CAPTIVE_SSO_HTTP) + self.assertEqual(runtime_config.interface_index, 24) + self.assertEqual(runtime_config.username, "example-student") + self.assertEqual(runtime_config.password, "example-password") + self.assertTrue(run_captive_http.await_args.kwargs["probe_only"]) + self.assertIs( + run_captive_http.await_args.kwargs["captcha_provider"], + captcha_provider, + ) + self.assertIs( + run_captive_http.await_args.kwargs["status_callback"], + status_callback, + ) + + @patch("campus_net.application.run_legacy", new_callable=AsyncMock) + async def test_dispatches_version_1_to_legacy_runner(self, run_legacy): + run_legacy.return_value = 0 + status_messages: list[str] = [] + status_callback = status_messages.append + config = legacy_config() + + exit_code = await execute_config( + config, + status_callback=status_callback, + ) + + self.assertEqual(exit_code, 0) + run_legacy.assert_awaited_once_with( + config, + status_callback=status_callback, + ) + + @patch("campus_net.application.run_legacy", new_callable=AsyncMock) + async def test_version_1_probe_reports_unsupported_without_running(self, run_legacy): + status_messages: list[str] = [] + + exit_code = await execute_config( + legacy_config(), + probe_only=True, + status_callback=status_messages.append, + ) + + self.assertEqual(exit_code, 2) + self.assertEqual(status_messages, ["legacy-eportal 暂不支持 --probe-only。"]) + run_legacy.assert_not_awaited() + + async def test_rejects_unknown_version_before_dispatch(self): + with self.assertRaisesRegex(ValueError, "不支持的 version"): + await execute_config({"version": 3}) + + +class TestClassifyRunError(unittest.TestCase): + def test_classifies_configuration_errors(self): + errors = ( + FileNotFoundError("config missing"), + json.JSONDecodeError("invalid json", "{", 1), + TypeError("wrong type"), + ValueError("wrong value"), + ) + + for error in errors: + with self.subTest(error_type=type(error).__name__): + info = classify_run_error(error) + + self.assertIsNotNone(info) + self.assertEqual(info.exit_code, 1) + self.assertEqual(info.title, "配置错误") + self.assertEqual(info.message, str(error)) + + def test_classifies_protocol_and_transport_errors(self): + errors = ( + AuthenticationRejected("rejected"), + AuthenticationUncertain("uncertain"), + CaptchaPromptError("captcha failed"), + PortalProtocolError("portal failed"), + SsoProtocolError("sso failed"), + aiohttp.ClientConnectionError("connection failed"), + TimeoutError("timed out"), + ) + + for error in errors: + with self.subTest(error_type=type(error).__name__): + info = classify_run_error(error) + + self.assertIsNotNone(info) + self.assertEqual(info.exit_code, 3) + self.assertEqual(info.title, "连接失败") + self.assertEqual(info.message, str(error)) + + def test_leaves_unknown_errors_for_the_caller(self): + self.assertIsNone(classify_run_error(RuntimeError("unexpected"))) + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/tests/test_captive.py b/workbench/network/campus-net/tests/test_captive.py new file mode 100644 index 0000000..4ad0f46 --- /dev/null +++ b/workbench/network/campus-net/tests/test_captive.py @@ -0,0 +1,298 @@ +import socket +import struct +import unittest +from unittest.mock import Mock, patch +from urllib.parse import urlencode + +from campus_net.captive import ( + IP_UNICAST_IF, + MAX_CAPTIVE_URL_LENGTH, + CaptiveParseError, + NetworkState, + ResponseSnapshot, + WindowsInterfaceSocketFactory, + classify_response, + extract_captive_url, +) +from campus_net.config import CaptiveHttpConfig, ProbeConfig + +PORTAL_ORIGIN = "http://10.71.29.181" +ENTRY_PATH = "/eportal/index.jsp" + + +def captive_url( + *, + origin: str = PORTAL_ORIGIN, + path: str = ENTRY_PATH, + parameters: list[tuple[str, str]] | None = None, + suffix: str = "", +) -> str: + if parameters is None: + parameters = [ + ("wlanuserip", "10.0.0.23"), + ("wlanacname", "campus-ac"), + ("ssid", "CampusWiFi"), + ("nasip", "10.0.255.254"), + ("mac", "00-00-00-00-00-00"), + ("url", "http://connectivity.example/connecttest.txt"), + ] + return f"{origin}{path}?{urlencode(parameters)}{suffix}" + + +def script_body(url: str, *, quote: str = '"', target: str = "window.location.href") -> bytes: + return ( + f"" + ).encode() + + +def http_config( + *, + online_body: str | None = "Microsoft Connect Test", + online_location: str | None = None, +) -> CaptiveHttpConfig: + return CaptiveHttpConfig( + adapter="captive-sso-http", + interface_index=24, + user_agent="test-agent", + probe=ProbeConfig( + url="http://connectivity.example/connecttest.txt", + online_status=200, + online_body=online_body, + online_location=online_location, + timeout_seconds=8, + ), + portal_origin=PORTAL_ORIGIN, + portal_entry_path=ENTRY_PATH, + auth_mode="interactive-system-captcha", + username="example-student", + password="example-password", + service_display_name="中国电信", + captcha_attempts=0, + verification_interval_seconds=2, + verification_timeout_seconds=30, + ) + + +class TestCaptiveUrlExtraction(unittest.TestCase): + def test_extracts_real_captive_script_shape_and_preserves_url(self): + expected_url = captive_url() + body = script_body(expected_url, quote="'", target="top.self.location.href") + + actual_url = extract_captive_url(body, PORTAL_ORIGIN, ENTRY_PATH) + + self.assertEqual(actual_url, expected_url) + + def test_accepts_default_port_equivalence_without_rewriting_url(self): + expected_url = captive_url(origin="http://10.71.29.181:80") + + actual_url = extract_captive_url( + script_body(expected_url), + PORTAL_ORIGIN, + ENTRY_PATH, + ) + + self.assertEqual(actual_url, expected_url) + + def test_accepts_single_and_double_quotes(self): + expected_url = captive_url() + for quote in ("'", '"'): + with self.subTest(quote=quote): + self.assertEqual( + extract_captive_url( + script_body(expected_url, quote=quote), + PORTAL_ORIGIN, + ENTRY_PATH, + ), + expected_url, + ) + + def test_unescapes_html_entities(self): + expected_url = captive_url() + encoded_url = expected_url.replace("&", "&") + + actual_url = extract_captive_url( + script_body(encoded_url), + PORTAL_ORIGIN, + ENTRY_PATH, + ) + + self.assertEqual(actual_url, expected_url) + + def test_rejects_wrong_host_path_userinfo_and_fragment(self): + invalid_urls = { + "host": captive_url(origin="http://portal.example"), + "path": captive_url(path="/sam-sso/login"), + "userinfo": captive_url(origin="http://student:secret@10.71.29.181"), + "fragment": captive_url(suffix="#unexpected"), + "params": captive_url(path=ENTRY_PATH + ";unexpected"), + } + for case, invalid_url in invalid_urls.items(): + with self.subTest(case=case): + with self.assertRaises(CaptiveParseError): + extract_captive_url( + script_body(invalid_url), + PORTAL_ORIGIN, + ENTRY_PATH, + ) + + def test_rejects_each_missing_required_parameter(self): + required_parameters = ("wlanuserip", "wlanacname", "nasip", "mac") + base_parameters = [ + ("wlanuserip", "10.0.0.23"), + ("wlanacname", "campus-ac"), + ("nasip", "10.0.255.254"), + ("mac", "00-00-00-00-00-00"), + ] + for missing_key in required_parameters: + with self.subTest(missing_key=missing_key): + parameters = [item for item in base_parameters if item[0] != missing_key] + + with self.assertRaises(CaptiveParseError): + extract_captive_url( + script_body(captive_url(parameters=parameters)), + PORTAL_ORIGIN, + ENTRY_PATH, + ) + + def test_rejects_duplicate_required_parameter(self): + parameters = [ + ("wlanuserip", "10.0.0.23"), + ("wlanuserip", "10.0.0.24"), + ("wlanacname", "campus-ac"), + ("nasip", "10.0.255.254"), + ("mac", "00-00-00-00-00-00"), + ] + + with self.assertRaises(CaptiveParseError): + extract_captive_url( + script_body(captive_url(parameters=parameters)), + PORTAL_ORIGIN, + ENTRY_PATH, + ) + + def test_rejects_multiple_distinct_entries(self): + first_url = captive_url() + second_url = captive_url( + parameters=[ + ("wlanuserip", "10.0.0.24"), + ("wlanacname", "campus-ac"), + ("nasip", "10.0.255.254"), + ("mac", "00-00-00-00-00-00"), + ] + ) + body = ( + f"" + ).encode() + + with self.assertRaises(CaptiveParseError): + extract_captive_url(body, PORTAL_ORIGIN, ENTRY_PATH) + + def test_rejects_overlong_entry(self): + base_url = captive_url() + overlong_url = base_url + "&padding=" + "x" * (MAX_CAPTIVE_URL_LENGTH - len(base_url)) + self.assertGreater(len(overlong_url), MAX_CAPTIVE_URL_LENGTH) + + with self.assertRaises(CaptiveParseError): + extract_captive_url( + script_body(overlong_url), + PORTAL_ORIGIN, + ENTRY_PATH, + ) + + +class TestResponseClassification(unittest.TestCase): + def test_classifies_exact_online_fingerprint(self): + result = classify_response( + ResponseSnapshot( + status=200, + headers={}, + body=b"Microsoft Connect Test", + ), + http_config(), + ) + + self.assertEqual(result.state, NetworkState.ONLINE) + self.assertIsNone(result.captive_url) + + def test_captive_entry_takes_priority_over_online_fingerprint(self): + body = script_body(captive_url()) + result = classify_response( + ResponseSnapshot(status=200, headers={}, body=body), + http_config(online_body=body.decode()), + ) + + self.assertEqual(result.state, NetworkState.CAPTIVE) + self.assertEqual(result.captive_url, captive_url()) + + def test_invalid_captive_entry_takes_priority_over_online_fingerprint(self): + body = script_body(captive_url(origin="http://portal.example")) + result = classify_response( + ResponseSnapshot(status=200, headers={}, body=body), + http_config(online_body=body.decode()), + ) + + self.assertEqual(result.state, NetworkState.UNKNOWN) + self.assertTrue(result.reason) + + def test_classifies_unrecognized_response_as_unknown(self): + result = classify_response( + ResponseSnapshot(status=200, headers={}, body=b"unexpected"), + http_config(), + ) + + self.assertEqual(result.state, NetworkState.UNKNOWN) + self.assertTrue(result.reason) + + +class TestWindowsInterfaceSocketFactory(unittest.TestCase): + def test_binds_socket_with_network_byte_order_interface_index(self): + client_socket = Mock() + address_info = ( + socket.AF_INET, + socket.SOCK_STREAM, + socket.IPPROTO_TCP, + "", + ("203.0.113.1", 80), + ) + + with ( + patch("campus_net.captive.sys.platform", "win32"), + patch("campus_net.captive.socket.socket", return_value=client_socket) as constructor, + ): + result = WindowsInterfaceSocketFactory(24)(address_info) + + constructor.assert_called_once_with( + socket.AF_INET, + socket.SOCK_STREAM, + socket.IPPROTO_TCP, + ) + client_socket.setsockopt.assert_called_once_with( + socket.IPPROTO_IP, + IP_UNICAST_IF, + struct.pack("!I", 24), + ) + self.assertIs(result, client_socket) + + def test_closes_socket_when_binding_fails(self): + client_socket = Mock() + client_socket.setsockopt.side_effect = OSError("binding failed") + address_info = ( + socket.AF_INET, + socket.SOCK_STREAM, + socket.IPPROTO_TCP, + "", + ("203.0.113.1", 80), + ) + + with ( + patch("campus_net.captive.sys.platform", "win32"), + patch("campus_net.captive.socket.socket", return_value=client_socket), + self.assertRaises(OSError), + ): + WindowsInterfaceSocketFactory(24)(address_info) + + client_socket.close.assert_called_once_with() + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/tests/test_captive_config.py b/workbench/network/campus-net/tests/test_captive_config.py new file mode 100644 index 0000000..996b9a8 --- /dev/null +++ b/workbench/network/campus-net/tests/test_captive_config.py @@ -0,0 +1,201 @@ +import json +import unittest +from pathlib import Path + +from campus_net.config import ( + ADAPTER_CAPTIVE_SSO_HTTP, + CONFIG_VERSION_CAPTIVE_SSO, + DEFAULT_AUTH_MODE, + DEFAULT_CAPTIVE_PROBE_BODY, + DEFAULT_CAPTIVE_PROBE_URL, + DEFAULT_PORTAL_ENTRY_PATH, + DEFAULT_USER_AGENT, + build_captive_http_config, +) + +PROJECT_ROOT = Path(__file__).resolve().parents[1] + + +def valid_config() -> dict[str, object]: + return { + "version": CONFIG_VERSION_CAPTIVE_SSO, + "interface_index": 24, + "portal_url": "http://10.71.29.181", + "username": "example-student", + "password": "example-password", + "carrier": "中国电信", + } + + +def historical_nested_captive_config() -> dict[str, object]: + return { + "adapter": ADAPTER_CAPTIVE_SSO_HTTP, + "network": { + "interface_index": 24, + "probe": { + "url": "http://connectivity.example/connecttest.txt", + "online_status": 200, + "online_body": "Legacy Connect Test", + }, + }, + "portal": { + "origin": "http://10.71.29.181", + "entry_path": "/eportal/index.jsp", + }, + "auth": { + "mode": "interactive-system-captcha", + "username": "example-student", + "password": "example-password", + "service_display_name": "中国电信", + }, + } + + +class TestCaptiveHttpConfig(unittest.TestCase): + def test_builds_version_2_config_with_internal_defaults(self): + config = build_captive_http_config(valid_config()) + + self.assertEqual(config.adapter, ADAPTER_CAPTIVE_SSO_HTTP) + self.assertEqual(config.interface_index, 24) + self.assertEqual(config.user_agent, DEFAULT_USER_AGENT) + self.assertEqual(config.probe.url, DEFAULT_CAPTIVE_PROBE_URL) + self.assertEqual(config.probe.online_status, 200) + self.assertEqual(config.probe.online_body, DEFAULT_CAPTIVE_PROBE_BODY) + self.assertIsNone(config.probe.online_location) + self.assertEqual(config.probe.timeout_seconds, 8) + self.assertEqual(config.portal_origin, "http://10.71.29.181") + self.assertEqual(config.portal_entry_path, DEFAULT_PORTAL_ENTRY_PATH) + self.assertEqual(config.auth_mode, DEFAULT_AUTH_MODE) + self.assertEqual(config.username, "example-student") + self.assertEqual(config.password, "example-password") + self.assertEqual(config.service_display_name, "中国电信") + self.assertEqual(config.captcha_attempts, 0) + self.assertEqual(config.verification_interval_seconds, 2) + self.assertEqual(config.verification_timeout_seconds, 30) + + def test_captive_example_matches_parser(self): + raw_config = json.loads((PROJECT_ROOT / "config.example.json").read_text(encoding="utf-8")) + + config = build_captive_http_config(raw_config) + + self.assertEqual(config.interface_index, 24) + self.assertEqual(config.portal_origin, "http://10.71.29.181") + self.assertEqual(config.service_display_name, "中国电信") + + def test_keeps_historical_nested_captive_config_compatible(self): + config = build_captive_http_config(historical_nested_captive_config()) + + self.assertEqual( + config.probe.url, + "http://connectivity.example/connecttest.txt", + ) + self.assertEqual(config.probe.online_body, "Legacy Connect Test") + self.assertEqual(config.username, "example-student") + self.assertEqual(config.password, "example-password") + + def test_version_2_rejects_unknown_or_legacy_fields(self): + for field, value in { + "adapter": ADAPTER_CAPTIVE_SSO_HTTP, + "network": {}, + "portal": {}, + "auth": {}, + "timeout_seconds": 30, + "schema_version": 2, + "mode": "captive-sso", + }.items(): + with self.subTest(field=field): + raw_config = valid_config() + raw_config[field] = value + + with self.assertRaisesRegex(ValueError, field): + build_captive_http_config(raw_config) + + def test_flat_config_requires_version(self): + raw_config = valid_config() + del raw_config["version"] + + with self.assertRaisesRegex(ValueError, "必须提供 version"): + build_captive_http_config(raw_config) + + def test_rejects_invalid_or_unknown_version(self): + for version in (True, 0, 3, "2"): + with self.subTest(version=version): + raw_config = valid_config() + raw_config["version"] = version + + with self.assertRaises((TypeError, ValueError)): + build_captive_http_config(raw_config) + + def test_version_2_rejects_legacy_password_field(self): + raw_config = valid_config() + del raw_config["password"] + raw_config["encrypted_password"] = "legacy-password" + + with self.assertRaisesRegex(ValueError, "encrypted_password"): + build_captive_http_config(raw_config) + + def test_rejects_boolean_interface_index(self): + raw_config = valid_config() + raw_config["interface_index"] = True + + with self.assertRaises(TypeError): + build_captive_http_config(raw_config) + + def test_rejects_interface_index_outside_windows_range(self): + for interface_index in (0, 0x1_0000_0000): + with self.subTest(interface_index=interface_index): + raw_config = valid_config() + raw_config["interface_index"] = interface_index + + with self.assertRaises(ValueError): + build_captive_http_config(raw_config) + + def test_version_2_rejects_deep_portal_url(self): + raw_config = valid_config() + raw_config["portal_url"] = "http://10.71.29.181/sam-sso/login" + + with self.assertRaisesRegex(ValueError, "portal_url"): + build_captive_http_config(raw_config) + + def test_password_preserves_whitespace_without_exposing_repr(self): + raw_config = valid_config() + raw_config["password"] = " example-password " + + config = build_captive_http_config(raw_config) + + self.assertEqual(config.password, " example-password ") + self.assertNotIn("example-password", repr(config)) + + def test_v1_rejects_https_probe(self): + raw_config = historical_nested_captive_config() + raw_config["network"]["probe"]["url"] = "https://connectivity.example/connecttest.txt" + + with self.assertRaises(ValueError): + build_captive_http_config(raw_config) + + def test_v1_rejects_unknown_auth_mode(self): + raw_config = historical_nested_captive_config() + raw_config["auth"]["mode"] = "automatic" + + with self.assertRaises(ValueError): + build_captive_http_config(raw_config) + + def test_v1_zero_captcha_attempts_means_no_client_limit(self): + raw_config = historical_nested_captive_config() + raw_config["auth"]["captcha_attempts"] = 0 + + config = build_captive_http_config(raw_config) + + self.assertEqual(config.captcha_attempts, 0) + + def test_v1_rejects_removed_password_environment_field(self): + raw_config = historical_nested_captive_config() + del raw_config["auth"]["password"] + raw_config["auth"]["password_env"] = "CAMPUSNET_PASSWORD" + + with self.assertRaisesRegex(ValueError, "auth.password_env"): + build_captive_http_config(raw_config) + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/tests/test_config.py b/workbench/network/campus-net/tests/test_config.py index 525ec38..8ec0171 100644 --- a/workbench/network/campus-net/tests/test_config.py +++ b/workbench/network/campus-net/tests/test_config.py @@ -1,6 +1,20 @@ +import json import unittest +from pathlib import Path -from main import build_runtime_from_config, is_network_available, portal_base_url +from campus_net.config import ( + ADAPTER_CAPTIVE_SSO_HTTP, + ADAPTER_LEGACY_EPORTAL, + CONFIG_VERSION_CAPTIVE_SSO, + CONFIG_VERSION_LEGACY_EPORTAL, + DEFAULT_CONNECTIVITY_CHECK_URL, + build_legacy_runtime_from_config, + get_adapter, + portal_base_url, +) +from campus_net.legacy import is_network_available + +PROJECT_ROOT = Path(__file__).resolve().parents[1] class TestConfig(unittest.TestCase): @@ -11,9 +25,9 @@ def test_portal_base_url_uses_configured_origin(self): ) def test_build_runtime_uses_configured_portal(self): - runtime = build_runtime_from_config( + runtime = build_legacy_runtime_from_config( { - "login_url": "https://campus.example/eportal/login", + "login_url": ("https://campus.example/eportal/InterFace.do?method=login"), "connectivity_check_url": "https://connectivity.example/status", "service": "carrier", "cookies": { @@ -25,7 +39,10 @@ def test_build_runtime_uses_configured_portal(self): ) login_url, portal_url, check_url, headers, cookies, service = runtime - self.assertEqual(login_url, "https://campus.example/eportal/login") + self.assertEqual( + login_url, + "https://campus.example/eportal/InterFace.do?method=login", + ) self.assertEqual(portal_url, "https://campus.example/") self.assertEqual(check_url, "https://connectivity.example/status") self.assertEqual(headers["Host"], "campus.example") @@ -33,12 +50,149 @@ def test_build_runtime_uses_configured_portal(self): self.assertEqual(cookies["EPORTAL_COOKIE_USERNAME"], "example-student") self.assertEqual(service, "carrier") + def test_builds_version_1_legacy_runtime(self): + runtime = build_legacy_runtime_from_config( + { + "version": CONFIG_VERSION_LEGACY_EPORTAL, + "login_url": ("https://campus.example/eportal/InterFace.do?method=login"), + "username": "example-student", + "encrypted_password": " encrypted-password ", + "carrier": "%E4%B8%AD%E5%9B%BD%E7%94%B5%E4%BF%A1", + "user_group": "student", + "session_id": "example-session", + } + ) + + login_url, portal_url, check_url, headers, cookies, service = runtime + self.assertEqual( + login_url, + "https://campus.example/eportal/InterFace.do?method=login", + ) + self.assertEqual(portal_url, "https://campus.example/") + self.assertEqual(check_url, DEFAULT_CONNECTIVITY_CHECK_URL) + self.assertEqual(headers["Host"], "campus.example") + self.assertEqual(headers["JSESSIONID"], "example-session") + self.assertEqual(cookies["EPORTAL_COOKIE_USERNAME"], "example-student") + self.assertEqual( + cookies["EPORTAL_COOKIE_PASSWORD"], + " encrypted-password ", + ) + self.assertEqual(cookies["EPORTAL_USER_GROUP"], "student") + self.assertEqual(cookies["JSESSIONID"], "example-session") + self.assertEqual(service, "%E4%B8%AD%E5%9B%BD%E7%94%B5%E4%BF%A1") + + def test_version_1_legacy_optional_fields_can_be_omitted(self): + runtime = build_legacy_runtime_from_config( + { + "version": CONFIG_VERSION_LEGACY_EPORTAL, + "login_url": ("https://campus.example/eportal/InterFace.do?method=login"), + "username": "example-student", + "encrypted_password": "encrypted-password", + "carrier": "carrier", + } + ) + + headers = runtime[3] + cookies = runtime[4] + self.assertNotIn("JSESSIONID", headers) + self.assertNotIn("JSESSIONID", cookies) + self.assertNotIn("EPORTAL_USER_GROUP", cookies) + + def test_version_maps_to_internal_adapter(self): + self.assertEqual( + get_adapter( + { + "version": CONFIG_VERSION_CAPTIVE_SSO, + } + ), + ADAPTER_CAPTIVE_SSO_HTTP, + ) + self.assertEqual( + get_adapter( + { + "version": CONFIG_VERSION_LEGACY_EPORTAL, + } + ), + ADAPTER_LEGACY_EPORTAL, + ) + + def test_config_without_adapter_remains_legacy(self): + self.assertEqual(get_adapter({}), ADAPTER_LEGACY_EPORTAL) + + def test_version_1_legacy_rejects_unknown_fields(self): + raw_config = { + "version": CONFIG_VERSION_LEGACY_EPORTAL, + "login_url": "https://campus.example/eportal/InterFace.do?method=login", + "username": "example-student", + "encrypted_password": "encrypted-password", + "carrier": "carrier", + "headers": {}, + } + + with self.assertRaisesRegex(ValueError, "headers"): + build_legacy_runtime_from_config(raw_config) + + def test_version_1_legacy_rejects_plain_password_field(self): + raw_config = { + "version": CONFIG_VERSION_LEGACY_EPORTAL, + "login_url": "https://campus.example/eportal/InterFace.do?method=login", + "username": "example-student", + "password": "plain-password", + "carrier": "carrier", + } + + with self.assertRaisesRegex(ValueError, "encrypted_password"): + build_legacy_runtime_from_config(raw_config) + + def test_version_1_legacy_rejects_control_characters_in_session_id(self): + for session_id in ("unsafe\r\nsession", "unsafe-session\r\n"): + with self.subTest(session_id=repr(session_id)): + raw_config = { + "version": CONFIG_VERSION_LEGACY_EPORTAL, + "login_url": ("https://campus.example/eportal/InterFace.do?method=login"), + "username": "example-student", + "encrypted_password": "encrypted-password", + "carrier": "carrier", + "session_id": session_id, + } + + with self.assertRaisesRegex(ValueError, "控制字符"): + build_legacy_runtime_from_config(raw_config) + + def test_version_1_legacy_requires_eportal_login_endpoint(self): + for login_url in ( + "https://campus.example/not-eportal", + "https://campus.example/eportal/InterFace.do?method=logout", + "https://campus.example/eportal/InterFace.do", + ): + with self.subTest(login_url=login_url): + raw_config = { + "version": CONFIG_VERSION_LEGACY_EPORTAL, + "login_url": login_url, + "username": "example-student", + "encrypted_password": "encrypted-password", + "carrier": "carrier", + } + + with self.assertRaisesRegex(ValueError, "InterFace.do"): + build_legacy_runtime_from_config(raw_config) + + def test_legacy_example_matches_parser(self): + raw_config = json.loads( + (PROJECT_ROOT / "config.legacy.example.json").read_text(encoding="utf-8") + ) + + runtime = build_legacy_runtime_from_config(raw_config) + + self.assertEqual(runtime[0], raw_config["login_url"]) + self.assertEqual(runtime[4]["EPORTAL_COOKIE_USERNAME"], raw_config["username"]) + def test_rejects_incomplete_login_url(self): with self.assertRaises(ValueError): portal_base_url("campus.example/eportal/login") def test_build_runtime_uses_configured_user_group(self): - runtime = build_runtime_from_config( + runtime = build_legacy_runtime_from_config( { "login_url": "https://campus.example/eportal/login", "user_group": "student", @@ -49,7 +203,7 @@ def test_build_runtime_uses_configured_user_group(self): self.assertEqual(runtime[4]["EPORTAL_USER_GROUP"], "student") def test_explicit_cookie_user_group_takes_precedence(self): - runtime = build_runtime_from_config( + runtime = build_legacy_runtime_from_config( { "login_url": "https://campus.example/eportal/login", "user_group": "student", diff --git a/workbench/network/campus-net/tests/test_config_paths.py b/workbench/network/campus-net/tests/test_config_paths.py new file mode 100644 index 0000000..f952c64 --- /dev/null +++ b/workbench/network/campus-net/tests/test_config_paths.py @@ -0,0 +1,273 @@ +import unittest +from pathlib import Path +from tempfile import TemporaryDirectory + +from campus_net.config_paths import ( + config_candidates, + preferred_config_path, + resolve_config_path, +) + + +class TestConfigCandidates(unittest.TestCase): + def test_source_mode_uses_explicit_cwd_source_and_bundle_order(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + explicit = root / "chosen.json" + cwd = root / "working" + source_root = root / "source" + bundle = root / "bundle" + + candidates = list( + config_candidates( + configured_path=explicit, + frozen=False, + executable=root / "ignored" / "CampusNet.exe", + cwd=cwd, + source_root=source_root, + bundled_directory=bundle, + ) + ) + + self.assertEqual( + candidates, + [ + explicit.absolute(), + (cwd / "config.json").absolute(), + (source_root / "config.json").absolute(), + (bundle / "config.json").absolute(), + ], + ) + + def test_frozen_dist_mode_includes_executable_and_project_directories(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + explicit = root / "chosen.json" + executable = root / "project" / "dist" / "CampusNet.exe" + cwd = root / "working" + bundle = root / "bundle" + executable.parent.mkdir(parents=True) + (executable.parent.parent / "pyproject.toml").write_text( + "[project]\n", + encoding="utf-8", + ) + (executable.parent.parent / "config.example.json").write_text( + "{}\n", + encoding="utf-8", + ) + + candidates = list( + config_candidates( + configured_path=explicit, + frozen=True, + executable=executable, + cwd=cwd, + source_root=root / "ignored-source", + bundled_directory=bundle, + ) + ) + + self.assertEqual( + candidates, + [ + explicit.absolute(), + (cwd / "config.json").absolute(), + (executable.parent / "config.json").absolute(), + (executable.parent.parent / "config.json").absolute(), + (bundle / "config.json").absolute(), + ], + ) + + def test_frozen_non_dist_mode_does_not_guess_executable_parent_parent(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + executable = root / "installed" / "CampusNet.exe" + + candidates = list( + config_candidates( + configured_path="", + frozen=True, + executable=executable, + cwd=root / "working", + source_root=root / "ignored-source", + bundled_directory=None, + ) + ) + + self.assertEqual( + candidates, + [ + (root / "working" / "config.json").absolute(), + (executable.parent / "config.json").absolute(), + ], + ) + self.assertNotIn((root / "config.json").absolute(), candidates) + + def test_deduplicates_candidates_without_changing_first_seen_order(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + dist = root / "dist" + config_path = dist / "config.json" + dist.mkdir() + (root / "pyproject.toml").write_text("[project]\n", encoding="utf-8") + (root / "config.example.json").write_text("{}\n", encoding="utf-8") + + candidates = list( + config_candidates( + configured_path=config_path, + frozen=True, + executable=dist / "CampusNet.exe", + cwd=dist, + source_root=root, + bundled_directory=dist, + ) + ) + + self.assertEqual( + candidates, + [ + config_path.absolute(), + (root / "config.json").absolute(), + ], + ) + + def test_frozen_dist_mode_does_not_search_parent_without_both_project_markers(self): + for present_marker in (None, "pyproject.toml", "config.example.json"): + with self.subTest(present_marker=present_marker): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + dist = root / "dist" + dist.mkdir() + if present_marker is not None: + (root / present_marker).write_text("marker\n", encoding="utf-8") + + candidates = list( + config_candidates( + configured_path="", + frozen=True, + executable=dist / "CampusNet.exe", + cwd=root / "working", + source_root=root / "ignored-source", + bundled_directory=None, + ) + ) + + self.assertEqual( + candidates, + [ + (root / "working" / "config.json").absolute(), + (dist / "config.json").absolute(), + ], + ) + self.assertNotIn((root / "config.json").absolute(), candidates) + + def test_does_not_dereference_symlink_candidate(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + target = root / "target.json" + symlink = root / "linked-config.json" + target.write_text("{}\n", encoding="utf-8") + try: + symlink.symlink_to(target) + except OSError as error: + self.skipTest(f"当前系统不允许创建测试符号链接:{error}") + + candidates = list( + config_candidates( + configured_path=symlink, + frozen=False, + executable=root / "ignored" / "CampusNet.exe", + cwd=root / "working", + source_root=root / "source", + bundled_directory=None, + ) + ) + + self.assertEqual(candidates[0], symlink.absolute()) + self.assertNotEqual(candidates[0], target.resolve()) + + +class TestResolveConfigPath(unittest.TestCase): + def test_returns_first_existing_file_in_candidate_order(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + cwd = root / "working" + source_root = root / "source" + cwd.mkdir() + source_root.mkdir() + expected = cwd / "config.json" + expected.write_text("{}\n", encoding="utf-8") + (source_root / "config.json").write_text("{}\n", encoding="utf-8") + + resolved = resolve_config_path( + configured_path="", + frozen=False, + executable=root / "ignored" / "CampusNet.exe", + cwd=cwd, + source_root=source_root, + bundled_directory=None, + ) + + self.assertEqual(resolved, expected.absolute()) + + def test_explicit_missing_path_does_not_fall_back(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + explicit = root / "missing-explicit.json" + cwd = root / "working" + cwd.mkdir() + (cwd / "config.json").write_text("{}\n", encoding="utf-8") + + with self.assertRaisesRegex(FileNotFoundError, "指定的配置文件不存在"): + resolve_config_path( + configured_path=explicit, + frozen=False, + executable=root / "ignored" / "CampusNet.exe", + cwd=cwd, + source_root=root / "source", + bundled_directory=None, + ) + + def test_preferred_path_preserves_missing_explicit_path(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + explicit = root / "missing-explicit.json" + cwd = root / "working" + cwd.mkdir() + (cwd / "config.json").write_text("{}\n", encoding="utf-8") + + preferred = preferred_config_path( + configured_path=explicit, + frozen=False, + executable=root / "ignored" / "CampusNet.exe", + cwd=cwd, + source_root=root / "source", + bundled_directory=None, + ) + + self.assertEqual(preferred, explicit.absolute()) + + def test_skips_directory_named_config_json(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + cwd = root / "working" + source_root = root / "source" + (cwd / "config.json").mkdir(parents=True) + source_root.mkdir() + expected = source_root / "config.json" + expected.write_text("{}\n", encoding="utf-8") + + resolved = resolve_config_path( + configured_path="", + frozen=False, + executable=root / "ignored" / "CampusNet.exe", + cwd=cwd, + source_root=source_root, + bundled_directory=None, + ) + + self.assertEqual(resolved, expected.absolute()) + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/tests/test_config_store.py b/workbench/network/campus-net/tests/test_config_store.py new file mode 100644 index 0000000..2c29ad5 --- /dev/null +++ b/workbench/network/campus-net/tests/test_config_store.py @@ -0,0 +1,429 @@ +import hashlib +import json +import os +import traceback +import unittest +from pathlib import Path +from tempfile import TemporaryDirectory +from unittest import mock + +from campus_net import config_store +from campus_net.config import ( + build_captive_http_config, + build_legacy_runtime_from_config, +) +from campus_net.config_store import ( + MAX_CONFIG_BYTES, + CaptiveConfigV2, + ConfigCommitUncertainError, + ConfigFormatError, + ConfigIntegrityError, + ConfigRevision, + ConfigRevisionError, + ConfigTooLargeError, + LegacyConfigV1, + load_editable_config, + save_editable_config, +) + + +class TestConfigStore(unittest.TestCase): + def setUp(self): + temporary_directory = TemporaryDirectory() + self.addCleanup(temporary_directory.cleanup) + self.root = Path(temporary_directory.name) + self.config_path = self.root / "配置 文件.json" + self.backup_directory = self.root / "CampusNet Backups" + + def test_round_trips_formal_version_2_without_trimming_password(self): + config = self._version_2(password=" secret 密码 ") + + receipt = self._create(config) + loaded = load_editable_config(self.config_path) + runtime_config = build_captive_http_config( + json.loads(self.config_path.read_text(encoding="utf-8")) + ) + + self.assertTrue(receipt.changed) + self.assertIsNone(receipt.backup) + self.assertEqual(loaded.config, config) + self.assertEqual(runtime_config.password, " secret 密码 ") + self.assertTrue(self.config_path.read_bytes().endswith(b"\n")) + + def test_round_trips_formal_version_1_and_optional_fields(self): + config = LegacyConfigV1( + login_url="https://campus.example/eportal/InterFace.do?method=login", + username="example-student", + encrypted_password=" encrypted secret ", + carrier="carrier", + user_group="student", + session_id="session-secret", + ) + + self._create(config) + loaded = load_editable_config(self.config_path) + raw_config = json.loads(self.config_path.read_text(encoding="utf-8")) + runtime = build_legacy_runtime_from_config(raw_config) + + self.assertEqual(loaded.config, config) + self.assertEqual(runtime[4]["EPORTAL_COOKIE_PASSWORD"], " encrypted secret ") + self.assertEqual(runtime[4]["EPORTAL_USER_GROUP"], "student") + self.assertEqual(runtime[4]["JSESSIONID"], "session-secret") + + def test_rejects_duplicate_json_keys(self): + self.config_path.write_text( + """{ + "version": 2, + "interface_index": 24, + "portal_url": "http://10.71.29.181", + "username": "student", + "password": "first-secret", + "password": "second-secret", + "carrier": "中国电信" +} +""", + encoding="utf-8", + ) + + with self.assertRaisesRegex(ConfigFormatError, "重复字段") as context: + load_editable_config(self.config_path) + + self.assertNotIn("first-secret", str(context.exception)) + self.assertNotIn("second-secret", str(context.exception)) + + def test_rejects_versionless_historical_config(self): + self.config_path.write_text( + json.dumps( + { + "adapter": "captive-sso-http", + "auth": {"password": "historical-secret"}, + } + ), + encoding="utf-8", + ) + + with self.assertRaisesRegex(ConfigFormatError, "version=1"): + load_editable_config(self.config_path) + + def test_rejects_config_over_size_limit(self): + self.config_path.write_bytes(b" " * (MAX_CONFIG_BYTES + 1)) + + with self.assertRaises(ConfigTooLargeError): + load_editable_config(self.config_path) + + def test_models_and_loaded_result_hide_secrets_from_repr(self): + legacy = LegacyConfigV1( + login_url="https://campus.example/eportal/InterFace.do?method=login", + username="private-student", + encrypted_password="encrypted-private-secret", + carrier="carrier", + session_id="private-session", + ) + captive = self._version_2( + username="private-student", + password="plain-private-secret", + ) + + self._create(captive) + loaded = load_editable_config(self.config_path) + representations = "\n".join((repr(legacy), repr(captive), repr(loaded))) + + for secret in ( + "private-student", + "encrypted-private-secret", + "private-session", + "plain-private-secret", + ): + self.assertNotIn(secret, representations) + + def test_syntax_error_traceback_does_not_include_password(self): + password = "traceback-private-secret" + self.config_path.write_text( + '{"version": 2, "password": "' + password + '", "carrier": "中国电信",}', + encoding="utf-8", + ) + + try: + load_editable_config(self.config_path) + except ConfigFormatError as error: + rendered_traceback = "".join( + traceback.format_exception(type(error), error, error.__traceback__) + ) + else: + self.fail("invalid JSON unexpectedly loaded") + + self.assertNotIn(password, rendered_traceback) + + def test_overwrite_creates_verified_backup_before_replacement(self): + first_config = self._version_2(password="first-secret") + first_receipt = self._create(first_config) + original_content = self.config_path.read_bytes() + second_config = self._version_2(password="second-secret") + + second_receipt = save_editable_config( + second_config, + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=first_receipt.revision, + ) + + self.assertTrue(second_receipt.changed) + self.assertIsNotNone(second_receipt.backup) + backup = second_receipt.backup + if backup is None: + self.fail("overwrite did not return a backup receipt") + self.assertEqual(backup.path.parent, self.backup_directory) + self.assertEqual(backup.path.read_bytes(), original_content) + self.assertEqual(backup.size, len(original_content)) + self.assertEqual( + backup.sha256, + hashlib.sha256(original_content).hexdigest(), + ) + self.assertEqual( + load_editable_config(self.config_path).config, + second_config, + ) + + def test_identical_serialized_content_is_no_op(self): + config = self._version_2() + first_receipt = self._create(config) + original_content = self.config_path.read_bytes() + + second_receipt = save_editable_config( + config, + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=first_receipt.revision, + ) + + self.assertFalse(second_receipt.changed) + self.assertIsNone(second_receipt.backup) + self.assertEqual(self.config_path.read_bytes(), original_content) + self.assertFalse(self.backup_directory.exists()) + + def test_revision_mismatch_never_overwrites_external_change(self): + first_receipt = self._create(self._version_2(password="first-secret")) + external_content = b"external editor content" + self.config_path.write_bytes(external_content) + + with self.assertRaises(ConfigRevisionError): + save_editable_config( + self._version_2(password="second-secret"), + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=first_receipt.revision, + ) + + self.assertEqual(self.config_path.read_bytes(), external_content) + self.assertFalse(self.backup_directory.exists()) + + def test_backup_hash_failure_leaves_original_untouched(self): + first_receipt = self._create(self._version_2(password="first-secret")) + original_content = self.config_path.read_bytes() + + with mock.patch.object(config_store, "_sha256_file", return_value="0" * 64): + with self.assertRaises(ConfigIntegrityError): + save_editable_config( + self._version_2(password="second-secret"), + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=first_receipt.revision, + ) + + self.assertEqual(self.config_path.read_bytes(), original_content) + self.assertEqual(list(self.backup_directory.iterdir()), []) + + def test_target_temp_hash_failure_before_replace_keeps_original(self): + first_receipt = self._create(self._version_2(password="first-secret")) + original_content = self.config_path.read_bytes() + original_hash = hashlib.sha256(original_content).hexdigest() + file_hashes = iter((original_hash, original_hash, "0" * 64)) + + with mock.patch.object( + config_store, + "_sha256_file", + side_effect=lambda _path: next(file_hashes), + ): + with self.assertRaises(ConfigIntegrityError): + save_editable_config( + self._version_2(password="second-secret"), + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=first_receipt.revision, + ) + + self.assertEqual(self.config_path.read_bytes(), original_content) + backups = list(self.backup_directory.glob("*.backup.json")) + self.assertEqual(len(backups), 1) + self.assertEqual(backups[0].read_bytes(), original_content) + + def test_target_directory_fsync_failure_reports_uncertain_commit(self): + first_receipt = self._create(self._version_2(password="first-secret")) + original_content = self.config_path.read_bytes() + second_config = self._version_2(password="second-secret") + real_fsync_directory = config_store._fsync_directory + fsync_calls = 0 + + def fail_after_target_replace(directory): + nonlocal fsync_calls + fsync_calls += 1 + if fsync_calls == 1: + return real_fsync_directory(directory) + raise OSError("simulated target directory fsync failure") + + with mock.patch.object( + config_store, + "_fsync_directory", + side_effect=fail_after_target_replace, + ): + with self.assertRaises(ConfigCommitUncertainError) as context: + save_editable_config( + second_config, + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=first_receipt.revision, + ) + + backup = context.exception.backup + self.assertIsNotNone(backup) + if backup is None: + self.fail("uncertain commit did not expose its verified backup") + self.assertEqual(backup.path.read_bytes(), original_content) + self.assertEqual(backup.sha256, hashlib.sha256(original_content).hexdigest()) + self.assertEqual(load_editable_config(self.config_path).config, second_config) + + def test_final_read_failure_reports_uncertain_commit(self): + first_receipt = self._create(self._version_2(password="first-secret")) + original_content = self.config_path.read_bytes() + second_config = self._version_2(password="second-secret") + real_snapshot = config_store._snapshot + snapshot_calls = 0 + + def fail_final_snapshot(*args, **kwargs): + nonlocal snapshot_calls + snapshot_calls += 1 + if snapshot_calls == 3: + raise OSError("simulated final config read failure") + return real_snapshot(*args, **kwargs) + + with mock.patch.object( + config_store, + "_snapshot", + side_effect=fail_final_snapshot, + ): + with self.assertRaises(ConfigCommitUncertainError) as context: + save_editable_config( + second_config, + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=first_receipt.revision, + ) + + backup = context.exception.backup + self.assertIsNotNone(backup) + if backup is None: + self.fail("uncertain commit did not expose its verified backup") + self.assertEqual(backup.path.read_bytes(), original_content) + self.assertEqual(backup.sha256, hashlib.sha256(original_content).hexdigest()) + self.assertEqual(load_editable_config(self.config_path).config, second_config) + + def test_target_replace_failure_keeps_original_and_verified_backup(self): + first_receipt = self._create(self._version_2(password="first-secret")) + original_content = self.config_path.read_bytes() + real_replace = os.replace + replace_calls = 0 + + def fail_second_replace(source, destination): + nonlocal replace_calls + replace_calls += 1 + if replace_calls == 1: + return real_replace(source, destination) + raise OSError("simulated target replace failure") + + with mock.patch.object(config_store.os, "replace", side_effect=fail_second_replace): + with self.assertRaisesRegex(OSError, "simulated"): + save_editable_config( + self._version_2(password="second-secret"), + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=first_receipt.revision, + ) + + self.assertEqual(self.config_path.read_bytes(), original_content) + backups = list(self.backup_directory.glob("*.backup.json")) + self.assertEqual(len(backups), 1) + self.assertEqual(backups[0].read_bytes(), original_content) + self.assertEqual(list(self.root.glob(".*.tmp")), []) + self.assertEqual(list(self.backup_directory.glob("*.tmp")), []) + + def test_change_after_backup_is_detected_before_target_replace(self): + first_receipt = self._create(self._version_2(password="first-secret")) + original_content = self.config_path.read_bytes() + external_content = b"external change after backup" + real_backup = config_store._create_verified_backup + + def backup_then_change(**kwargs): + receipt = real_backup(**kwargs) + self.config_path.write_bytes(external_content) + return receipt + + with mock.patch.object( + config_store, + "_create_verified_backup", + side_effect=backup_then_change, + ): + with self.assertRaises(ConfigRevisionError): + save_editable_config( + self._version_2(password="second-secret"), + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=first_receipt.revision, + ) + + self.assertEqual(self.config_path.read_bytes(), external_content) + backups = list(self.backup_directory.glob("*.backup.json")) + self.assertEqual(len(backups), 1) + self.assertEqual(backups[0].read_bytes(), original_content) + + def test_new_file_revision_does_not_overwrite_file_that_appeared(self): + self.config_path.write_bytes(b"appeared externally") + + with self.assertRaises(ConfigRevisionError): + save_editable_config( + self._version_2(), + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=ConfigRevision.absent(), + ) + + self.assertEqual(self.config_path.read_bytes(), b"appeared externally") + + def test_rejects_non_sha256_revision(self): + with self.assertRaises(ValueError): + ConfigRevision(exists=True, sha256="not-a-sha256") + + def _create(self, config): + return save_editable_config( + config, + path=self.config_path, + backup_dir=self.backup_directory, + expected_revision=ConfigRevision.absent(), + ) + + @staticmethod + def _version_2( + *, + username="example-student", + password="example-password", + ): + return CaptiveConfigV2( + interface_index=24, + portal_url="http://10.71.29.181", + username=username, + password=password, + carrier="中国电信", + ) + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/tests/test_gui_core.py b/workbench/network/campus-net/tests/test_gui_core.py new file mode 100644 index 0000000..e7f0b14 --- /dev/null +++ b/workbench/network/campus-net/tests/test_gui_core.py @@ -0,0 +1,534 @@ +import asyncio +import json +import threading +import time +import unittest +from collections.abc import Callable +from pathlib import Path +from queue import Queue +from tempfile import TemporaryDirectory +from typing import Any + +from campus_net.config import ( + CONFIG_VERSION_CAPTIVE_SSO, + CONFIG_VERSION_LEGACY_EPORTAL, +) +from campus_net.config_store import ( + CaptiveConfigV2, + ConfigRevision, + LegacyConfigV1, + config_to_mapping, + load_editable_config, + save_editable_config, +) +from campus_net.gui_core import ( + CaptchaBroker, + CaptchaRequested, + FailedEvent, + FinishedEvent, + GuiEvent, + LogEvent, + NetworkInterface, + OperationController, + _PendingCaptcha, + build_config_from_form, + form_values_from_config, + parse_windows_ipv4_interfaces, +) + + +def captive_values() -> dict[str, str]: + return { + "interface_index": "24", + "portal_url": "http://10.71.29.181", + "username": "example-student", + "password": "example-password", + "carrier": "中国电信", + } + + +def legacy_values() -> dict[str, str]: + return { + "login_url": "https://campus.example/eportal/InterFace.do?method=login", + "username": "example-student", + "encrypted_password": "encrypted-password", + "carrier": "carrier", + "user_group": "student", + "session_id": "example-session", + } + + +def captive_model() -> CaptiveConfigV2: + return CaptiveConfigV2( + interface_index=24, + portal_url="http://10.71.29.181", + username="example-student", + password="example-password", + carrier="中国电信", + ) + + +class ControllerTestCase(unittest.TestCase): + def wait_for_event( + self, + controller: OperationController, + predicate: Callable[[GuiEvent], bool], + *, + timeout: float = 3, + ) -> tuple[GuiEvent, list[GuiEvent]]: + deadline = time.monotonic() + timeout + observed: list[GuiEvent] = [] + while time.monotonic() < deadline: + observed.extend(controller.drain_events()) + for event in observed: + if predicate(event): + return event, observed + time.sleep(0.01) + self.fail(f"等待 GUI 事件超时,已收到:{observed!r}") + + def wait_until_stopped( + self, + controller: OperationController, + *, + timeout: float = 3, + ) -> None: + deadline = time.monotonic() + timeout + while time.monotonic() < deadline: + if not controller.is_running: + return + time.sleep(0.01) + self.fail("GUI 后台任务未按时停止") + + +class TestCaptchaBroker(unittest.TestCase): + def test_late_answer_and_cancel_tolerate_closed_event_loop(self): + loop = asyncio.new_event_loop() + answer_future = loop.create_future() + cancel_future = loop.create_future() + loop.close() + broker = CaptchaBroker(1, Queue()) + broker._pending[1] = _PendingCaptcha(loop=loop, future=answer_future) + + self.assertFalse(broker.answer(1, "late-code")) + self.assertFalse(broker.answer(1, "duplicate")) + + broker._pending[2] = _PendingCaptcha(loop=loop, future=cancel_future) + self.assertFalse(broker.cancel_pending()) + self.assertFalse(broker.cancel_pending()) + + +class TestOperationController(ControllerTestCase): + def test_saved_config_round_trip_can_start_runner(self): + received: dict[str, Any] = {} + + async def runner(config: dict[str, Any], **kwargs: Any) -> int: + received.update(config) + return 0 + + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + config_path = root / "config.json" + backup_directory = root / "backups" + initial = captive_model() + first_save = save_editable_config( + initial, + path=config_path, + backup_dir=backup_directory, + expected_revision=ConfigRevision.absent(), + ) + loaded = load_editable_config(config_path) + version, values = form_values_from_config(loaded.config) + values["carrier"] = "updated-carrier" + edited = build_config_from_form(version, values) + second_save = save_editable_config( + edited, + path=config_path, + backup_dir=backup_directory, + expected_revision=loaded.revision, + ) + reloaded = load_editable_config(config_path) + controller = OperationController(runner) + + controller.start(reloaded.config, probe_only=False) + terminal, _events = self.wait_for_event( + controller, + lambda event: isinstance(event, FinishedEvent), + ) + self.wait_until_stopped(controller) + + self.assertTrue(first_save.changed) + self.assertIsNone(first_save.backup) + self.assertTrue(second_save.changed) + self.assertIsNotNone(second_save.backup) + self.assertEqual(received, config_to_mapping(edited)) + self.assertEqual(received["carrier"], "updated-carrier") + self.assertEqual(terminal.exit_code, 0) + + def test_forwards_runner_inputs_and_emits_log_and_finished_events(self): + received: dict[str, Any] = {} + + async def runner(config: dict[str, Any], **kwargs: Any) -> int: + received["config"] = config + received["probe_only"] = kwargs["probe_only"] + received["captcha_provider"] = kwargs["captcha_provider"] + kwargs["status_callback"]("正在测试") + return 4 + + source_config = captive_model() + controller = OperationController(runner) + + operation_id = controller.start(source_config, probe_only=True) + terminal, events = self.wait_for_event( + controller, + lambda event: isinstance(event, FinishedEvent), + ) + self.wait_until_stopped(controller) + + self.assertEqual(operation_id, 1) + self.assertEqual(received["config"], config_to_mapping(source_config)) + self.assertTrue(received["probe_only"]) + self.assertTrue(callable(received["captcha_provider"])) + self.assertIn(LogEvent(operation_id, "正在测试"), events) + self.assertIsInstance(terminal, FinishedEvent) + self.assertEqual(terminal.exit_code, 4) + self.assertEqual( + terminal.message, + "门户状态与独立连通性探测未能同时确认在线。", + ) + self.assertFalse(terminal.cancelled) + + def test_rejects_concurrent_start_and_cancels_active_task(self): + started = threading.Event() + + async def runner(config: dict[str, Any], **kwargs: Any) -> int: + started.set() + await asyncio.Event().wait() + return 0 + + controller = OperationController(runner) + operation_id = controller.start(captive_model(), probe_only=False) + self.assertTrue(started.wait(1)) + + try: + with self.assertRaisesRegex(RuntimeError, "已有连接任务"): + controller.start(captive_model(), probe_only=False) + self.assertTrue(controller.cancel()) + terminal, _events = self.wait_for_event( + controller, + lambda event: isinstance(event, FinishedEvent), + ) + self.wait_until_stopped(controller) + finally: + controller.cancel() + + self.assertEqual(terminal.operation_id, operation_id) + self.assertTrue(terminal.cancelled) + self.assertEqual(terminal.exit_code, 3) + self.assertIn("服务端可能已经处理", terminal.message) + self.assertFalse(controller.cancel()) + + def test_bridges_captcha_request_and_answer_by_operation_and_request_id(self): + received: dict[str, str] = {} + + async def runner(config: dict[str, Any], **kwargs: Any) -> int: + received["code"] = await kwargs["captcha_provider"]( + b"captcha-image", + "image/png", + ) + return 0 + + controller = OperationController(runner) + operation_id = controller.start(captive_model(), probe_only=False) + requested, _events = self.wait_for_event( + controller, + lambda event: isinstance(event, CaptchaRequested), + ) + self.assertIsInstance(requested, CaptchaRequested) + + self.assertEqual(requested.operation_id, operation_id) + self.assertEqual(requested.image_bytes, b"captcha-image") + self.assertEqual(requested.content_type, "image/png") + self.assertFalse( + controller.answer_captcha( + operation_id + 1, + requested.request_id, + "stale", + ) + ) + self.assertTrue( + controller.answer_captcha( + operation_id, + requested.request_id, + "a1b2", + ) + ) + self.assertFalse( + controller.answer_captcha( + operation_id, + requested.request_id, + "duplicate", + ) + ) + terminal, _events = self.wait_for_event( + controller, + lambda event: isinstance(event, FinishedEvent), + ) + self.wait_until_stopped(controller) + + self.assertEqual(received["code"], "a1b2") + self.assertEqual(terminal.exit_code, 0) + self.assertEqual(terminal.message, "操作完成。") + + def test_cancel_while_waiting_for_captcha_emits_one_cancelled_terminal_event(self): + async def runner(config: dict[str, Any], **kwargs: Any) -> int: + await kwargs["captcha_provider"](b"captcha-image", "image/png") + return 0 + + controller = OperationController(runner) + operation_id = controller.start(captive_model(), probe_only=False) + requested, _events = self.wait_for_event( + controller, + lambda event: isinstance(event, CaptchaRequested), + ) + + self.assertTrue(controller.cancel()) + terminal, events = self.wait_for_event( + controller, + lambda event: isinstance(event, FinishedEvent), + ) + self.wait_until_stopped(controller) + events.extend(controller.drain_events()) + + self.assertTrue(terminal.cancelled) + self.assertFalse( + controller.answer_captcha( + operation_id, + requested.request_id, + "too-late", + ) + ) + terminal_events = [event for event in events if isinstance(event, FinishedEvent)] + self.assertEqual(len(terminal_events), 1) + + def test_classifies_known_runner_error(self): + async def runner(config: dict[str, Any], **kwargs: Any) -> int: + raise TypeError("interface_index 必须是整数") + + controller = OperationController(runner) + operation_id = controller.start(captive_model(), probe_only=False) + terminal, _events = self.wait_for_event( + controller, + lambda event: isinstance(event, FailedEvent), + ) + self.wait_until_stopped(controller) + + self.assertEqual(terminal.operation_id, operation_id) + self.assertEqual(terminal.exit_code, 1) + self.assertEqual(terminal.title, "配置错误") + self.assertEqual(terminal.message, "interface_index 必须是整数") + + def test_redacts_unknown_runner_error_message(self): + async def runner(config: dict[str, Any], **kwargs: Any) -> int: + raise RuntimeError("secret diagnostic") + + controller = OperationController(runner) + controller.start(captive_model(), probe_only=False) + terminal, _events = self.wait_for_event( + controller, + lambda event: isinstance(event, FailedEvent), + ) + self.wait_until_stopped(controller) + + self.assertEqual(terminal.exit_code, 3) + self.assertEqual(terminal.title, "内部错误") + self.assertEqual(terminal.message, "发生未处理的 RuntimeError") + self.assertNotIn("secret diagnostic", terminal.message) + + def test_terminal_event_allows_immediate_restart_with_distinct_id(self): + async def runner(config: dict[str, Any], **kwargs: Any) -> int: + return 0 + + controller = OperationController(runner) + + first_id = controller.start(captive_model(), probe_only=False) + self.wait_for_event(controller, lambda event: isinstance(event, FinishedEvent)) + self.assertFalse(controller.is_running) + second_id = controller.start(captive_model(), probe_only=False) + self.wait_for_event(controller, lambda event: isinstance(event, FinishedEvent)) + self.wait_until_stopped(controller) + + self.assertEqual((first_id, second_id), (1, 2)) + + +class TestGuiFormConversion(unittest.TestCase): + def test_builds_and_round_trips_version_2_form(self): + config = build_config_from_form(CONFIG_VERSION_CAPTIVE_SSO, captive_values()) + + self.assertIsInstance(config, CaptiveConfigV2) + self.assertEqual( + config_to_mapping(config), + { + "version": 2, + "interface_index": 24, + "portal_url": "http://10.71.29.181", + "username": "example-student", + "password": "example-password", + "carrier": "中国电信", + }, + ) + version, values = form_values_from_config(config) + self.assertEqual(version, CONFIG_VERSION_CAPTIVE_SSO) + self.assertEqual(values, captive_values()) + + def test_builds_version_1_and_omits_blank_optional_fields(self): + values = legacy_values() + values["encrypted_password"] = " encrypted-password " + values["user_group"] = " " + values["session_id"] = "" + + config = build_config_from_form(CONFIG_VERSION_LEGACY_EPORTAL, values) + + self.assertIsInstance(config, LegacyConfigV1) + self.assertEqual(config.version, CONFIG_VERSION_LEGACY_EPORTAL) + self.assertEqual(config.encrypted_password, " encrypted-password ") + self.assertIsNone(config.user_group) + self.assertIsNone(config.session_id) + + def test_round_trips_version_1_optional_fields(self): + config = build_config_from_form(CONFIG_VERSION_LEGACY_EPORTAL, legacy_values()) + + version, values = form_values_from_config(config) + + self.assertEqual(version, CONFIG_VERSION_LEGACY_EPORTAL) + self.assertEqual(values, legacy_values()) + + def test_rejects_invalid_form_version_or_interface_index(self): + with self.assertRaisesRegex(ValueError, "version=1 或 version=2"): + build_config_from_form(3, {}) + with self.assertRaisesRegex(TypeError, "interface_index 必须是整数"): + build_config_from_form( + CONFIG_VERSION_CAPTIVE_SSO, + {**captive_values(), "interface_index": "not-a-number"}, + ) + + def test_rejects_historical_config_without_formal_version(self): + with self.assertRaisesRegex(TypeError, "正式"): + form_values_from_config( + { + "login_url": "https://campus.example/eportal/InterFace.do?method=login", + } + ) + + +class TestWindowsInterfaceParsing(unittest.TestCase): + def test_parses_single_interface_object(self): + payload = json.dumps( + { + "InterfaceIndex": 24, + "InterfaceAlias": " 以太网 ", + "ConnectionState": "Connected", + "InterfaceMetric": 5, + } + ) + + interfaces = parse_windows_ipv4_interfaces(payload) + + self.assertEqual(interfaces, [NetworkInterface(24, "以太网", "Connected", 5)]) + self.assertEqual(interfaces[0].display_name, "24 · 以太网 · 已连接") + + def test_sorts_connected_interfaces_by_metric_then_index(self): + payload = json.dumps( + [ + { + "InterfaceIndex": 9, + "InterfaceAlias": "Disconnected", + "ConnectionState": "Disconnected", + "InterfaceMetric": 1, + }, + { + "InterfaceIndex": 24, + "InterfaceAlias": "Wi-Fi", + "ConnectionState": "Connected", + "InterfaceMetric": 50, + }, + { + "InterfaceIndex": 12, + "InterfaceAlias": "Ethernet", + "ConnectionState": "connected", + "InterfaceMetric": 5, + }, + ] + ) + + interfaces = parse_windows_ipv4_interfaces(payload) + + self.assertEqual([item.index for item in interfaces], [12, 24, 9]) + self.assertEqual(interfaces[0].state, "connected") + self.assertEqual(interfaces[0].display_name, "12 · Ethernet · 已连接") + self.assertEqual(interfaces[-1].display_name, "9 · Disconnected · 未连接") + + def test_maps_numeric_connection_state_values_from_powershell(self): + payload = json.dumps( + [ + { + "InterfaceIndex": 8, + "InterfaceAlias": "Offline", + "ConnectionState": 0, + "InterfaceMetric": 1, + }, + { + "InterfaceIndex": 9, + "InterfaceAlias": "Online", + "ConnectionState": 1, + "InterfaceMetric": 50, + }, + ] + ) + + interfaces = parse_windows_ipv4_interfaces(payload) + + self.assertEqual( + interfaces, + [ + NetworkInterface(9, "Online", "Connected", 50), + NetworkInterface(8, "Offline", "Disconnected", 1), + ], + ) + self.assertEqual(interfaces[0].display_name, "9 · Online · 已连接") + self.assertEqual(interfaces[1].display_name, "8 · Offline · 未连接") + + def test_skips_malformed_items_and_normalizes_invalid_metric_and_state(self): + payload = json.dumps( + [ + None, + {"InterfaceIndex": True, "InterfaceAlias": "invalid"}, + {"InterfaceIndex": 10, "InterfaceAlias": " "}, + { + "InterfaceIndex": 7, + "InterfaceAlias": "Loopback", + "ConnectionState": True, + "InterfaceMetric": True, + }, + ] + ) + + interfaces = parse_windows_ipv4_interfaces(payload) + + self.assertEqual(interfaces, [NetworkInterface(7, "Loopback", "", 0)]) + self.assertEqual(interfaces[0].display_name, "7 · Loopback · 未知状态") + + def test_rejects_invalid_json_or_payload_shape(self): + for payload in ("not-json", "null", '"interface"', "123"): + with self.subTest(payload=payload): + with self.assertRaisesRegex(ValueError, "接口列表"): + parse_windows_ipv4_interfaces(payload) + + def test_rejects_collection_without_valid_interfaces(self): + with self.assertRaisesRegex(ValueError, "没有找到"): + parse_windows_ipv4_interfaces( + json.dumps([{"InterfaceIndex": "24", "InterfaceAlias": "Wi-Fi"}]) + ) + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/tests/test_gui_entry.py b/workbench/network/campus-net/tests/test_gui_entry.py new file mode 100644 index 0000000..958ea62 --- /dev/null +++ b/workbench/network/campus-net/tests/test_gui_entry.py @@ -0,0 +1,167 @@ +import unittest +from contextlib import ExitStack +from pathlib import Path +from tempfile import TemporaryDirectory +from unittest.mock import patch + +import gui_main +import ttkbootstrap as ttk +from campus_net.gui import ( + CARRIERS, + COMBOBOX_WHEEL_GUARD_TAG, + CampusNetApp, + app_icon_path, + launch_gui, +) +from ttkbootstrap import Style +from ttkbootstrap.widgets.scrolled import ScrolledFrame + + +class TestGuiEntry(unittest.TestCase): + def tearDown(self): + Style.instance = None + + def test_main_forwards_explicit_config_and_smoke_test(self): + with TemporaryDirectory() as temporary_directory: + config_path = Path(temporary_directory) / "never-created.json" + + with patch("gui_main.launch_gui") as mocked_launch: + exit_code = gui_main.main( + [ + "--smoke-test", + "--config", + str(config_path), + ] + ) + + self.assertEqual(exit_code, 0) + mocked_launch.assert_called_once_with( + config_path=config_path, + smoke_test=True, + ) + self.assertFalse(config_path.exists()) + + def test_smoke_test_with_explicit_config_has_no_external_side_effects(self): + forbidden_targets = ( + "campus_net.gui.load_editable_config", + "campus_net.gui.save_editable_config", + "campus_net.gui.resolve_config_path", + "campus_net.gui.list_windows_ipv4_interfaces", + "campus_net.gui.load_window_state", + "campus_net.gui.save_window_state", + "campus_net.gui.OperationController.start", + ) + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + config_path = root / "never-created.json" + backup_directory = root / "backups" + window_state_path = root / "window-state.json" + forbidden_mocks = [] + + with ExitStack() as stack: + for target in forbidden_targets: + forbidden_mocks.append( + stack.enter_context( + patch( + target, + side_effect=AssertionError(f"smoke test must not call {target}"), + ) + ) + ) + stack.enter_context( + patch( + "campus_net.gui.default_backup_directory", + return_value=backup_directory, + ) + ) + stack.enter_context( + patch( + "campus_net.gui.default_window_state_path", + return_value=window_state_path, + ) + ) + + launch_gui(config_path=config_path, smoke_test=True) + + for forbidden_mock in forbidden_mocks: + forbidden_mock.assert_not_called() + self.assertFalse(config_path.exists()) + self.assertEqual(list(root.iterdir()), []) + + def test_layout_scrolls_and_aligns_square_secret_toggle(self): + with TemporaryDirectory() as temporary_directory: + config_path = Path(temporary_directory) / "never-created.json" + root = ttk.Window(themename="darkly") + root.withdraw() + app = None + try: + app = CampusNetApp( + root, + config_path=config_path, + initialize_runtime=False, + ) + root.update_idletasks() + + self.assertIsInstance(app.form_stack, ScrolledFrame) + self.assertEqual(app.form_stack.vscroll.winfo_manager(), "pack") + self.assertTrue(app_icon_path().is_file()) + self.assertIsNotNone(app._header_logo_photo) + + toggle_borders = [ + widget + for widget in app.v2_frame.winfo_children() + for widget in widget.winfo_children() + if widget.winfo_class() == "TFrame" + and widget.cget("style") == "ToggleBorder.TFrame" + ] + self.assertEqual(len(toggle_borders), 1) + toggle_border = toggle_borders[0] + toggle_control = toggle_border.winfo_children()[0] + toggle = toggle_control.winfo_children()[0] + self.assertEqual(toggle.cget("style"), "primary.Square.Toggle") + self.assertEqual(tuple(app.v2_carrier_combo.cget("values")), CARRIERS) + self.assertEqual(str(app.v2_carrier_combo.cget("state")), "readonly") + self.assertEqual(app.v2_vars["carrier"].get(), "中国电信") + for combobox in (app.interface_combo, app.v2_carrier_combo): + bindtags = combobox.bindtags() + self.assertLess( + bindtags.index(COMBOBOX_WHEEL_GUARD_TAG), + bindtags.index("TCombobox"), + ) + app.form_stack._add_scroll_binding(app.form_stack) + app.v2_carrier_combo.event_generate("", delta=-120) + root.update() + self.assertEqual(app.v2_vars["carrier"].get(), "中国电信") + self.assertLessEqual( + abs(toggle_border.winfo_reqheight() - app.v2_carrier_combo.winfo_reqheight()), + 2, + ) + v1_entries = [ + widget + for field in app.v1_frame.winfo_children() + for widget in field.winfo_children() + if widget.winfo_class() == "TEntry" + ] + self.assertEqual(len(v1_entries), 6) + + app._set_status("操作完成。", "success") + self.assertEqual(app.status_icon_var.get(), "✓") + self.assertEqual(app.header_status_var.get(), "操作完成。") + + app.theme_display_var.set("浅色") + app._change_theme() + self.assertEqual( + root.style.lookup("Success.Interface.TLabel", "foreground"), + "#0f766e", + ) + finally: + if app is None: + root.destroy() + else: + root.update_idletasks() + root.update() + app._destroy_root() + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/tests/test_legacy.py b/workbench/network/campus-net/tests/test_legacy.py new file mode 100644 index 0000000..6783e5f --- /dev/null +++ b/workbench/network/campus-net/tests/test_legacy.py @@ -0,0 +1,30 @@ +import unittest + +from campus_net.legacy import _sanitize_portal_message + + +class TestPortalMessageSanitization(unittest.TestCase): + def test_redacts_account_password_and_session(self): + message = "account student-01 password cipher-value session session-token" + + sanitized = _sanitize_portal_message( + message, + "student-01", + "cipher-value", + "session-token", + ) + + self.assertNotIn("student-01", sanitized) + self.assertNotIn("cipher-value", sanitized) + self.assertNotIn("session-token", sanitized) + self.assertEqual(sanitized.count("[已隐藏]"), 3) + + def test_normalizes_whitespace_and_limits_length(self): + sanitized = _sanitize_portal_message(" line one\n" + "x" * 300) + + self.assertTrue(sanitized.startswith("line one ")) + self.assertEqual(len(sanitized), 240) + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/tests/test_sso.py b/workbench/network/campus-net/tests/test_sso.py new file mode 100644 index 0000000..884e8e4 --- /dev/null +++ b/workbench/network/campus-net/tests/test_sso.py @@ -0,0 +1,226 @@ +import base64 +import unittest +from urllib.parse import parse_qs, urlparse + +from campus_net.sso import ( + LoginResultType, + SsoProtocolError, + UnsupportedSsoChallenge, + aes_encrypt, + build_login_form, + build_sso_action_url, + ensure_supported_challenge, + parse_captcha_requirement, + parse_login_response, + parse_sso_page, + resolve_captcha_url, +) +from Crypto.Cipher import AES + +PAGE_URL = "http://10.71.29.181/sam-sso/login?flowSessionId=session-123&empty=" +CRYPTO_KEY = base64.b64encode(b"0123456789abcdef").decode("ascii") + + +def login_page( + *, + crypto_key: str = CRYPTO_KEY, + execution: str = "flow-key-1", + vendor: str = "system", + risk_switch: str = "", + error_code: str = "", + error_message: str = "", +) -> bytes: + return ( + "" + f'

{crypto_key}

' + f'

{execution}

' + f'

{vendor}

' + f'

{risk_switch}

' + f'

{error_code}

' + f'

{error_message}

' + "" + ).encode() + + +def decrypt_field(ciphertext: str) -> str: + key = base64.b64decode(CRYPTO_KEY) + padded = AES.new(key, AES.MODE_ECB).decrypt(base64.b64decode(ciphertext)) + padding_length = padded[-1] + return padded[:-padding_length].decode("utf-8") + + +class TestSsoPage(unittest.TestCase): + def test_parses_dynamic_fields_and_preserves_blank_query(self): + page = parse_sso_page(login_page(), PAGE_URL) + + self.assertEqual(page.crypto_key, CRYPTO_KEY) + self.assertEqual(page.execution, "flow-key-1") + self.assertEqual(page.recaptcha_vendor, "system") + action_query = parse_qs(urlparse(page.action_url).query, keep_blank_values=True) + self.assertEqual(action_query["flowSessionId"], ["session-123"]) + self.assertEqual(action_query["empty"], [""]) + self.assertEqual(action_query["accept-language"], ["zh-CN"]) + + def test_rejects_missing_invalid_and_duplicate_crypto_metadata(self): + invalid_pages = { + "missing": b'

flow

', + "invalid-base64": login_page(crypto_key="not-base64"), + "wrong-size": login_page(crypto_key=base64.b64encode(b"too-short").decode("ascii")), + "duplicate": login_page() + f'

{CRYPTO_KEY}

'.encode(), + } + for name, body in invalid_pages.items(): + with self.subTest(name=name), self.assertRaises(SsoProtocolError): + parse_sso_page(body, PAGE_URL) + + def test_rejects_third_party_and_fingerprint_challenges(self): + for vendor, risk_switch in (("geetest", ""), ("google", ""), ("system", "USTC")): + with self.subTest(vendor=vendor, risk_switch=risk_switch): + page = parse_sso_page( + login_page(vendor=vendor, risk_switch=risk_switch), + PAGE_URL, + ) + with self.assertRaises(UnsupportedSsoChallenge): + ensure_supported_challenge(page) + + +class TestCaptchaRelationship(unittest.TestCase): + def test_parses_required_system_captcha(self): + requirement = parse_captcha_requirement( + { + "data": { + "captchaInvisible": True, + "captchaUrl": "/sam-sso/api/captcha/current", + } + } + ) + + self.assertTrue(requirement.required) + self.assertEqual(requirement.image_path, "/sam-sso/api/captcha/current") + + def test_rejects_required_captcha_without_image(self): + with self.assertRaises(SsoProtocolError): + parse_captcha_requirement({"data": {"captchaInvisible": True}}) + + def test_treats_empty_default_policy_as_not_required(self): + self.assertFalse(parse_captcha_requirement({"data": {}}).required) + self.assertFalse(parse_captcha_requirement({}).required) + + def test_resolves_only_same_origin_sam_sso_image(self): + self.assertEqual( + resolve_captcha_url(PAGE_URL, "/sam-sso/api/captcha/current"), + "http://10.71.29.181/sam-sso/api/captcha/current", + ) + self.assertEqual( + resolve_captcha_url(PAGE_URL, "api/captcha/current"), + "http://10.71.29.181/sam-sso/api/captcha/current", + ) + self.assertEqual( + resolve_captcha_url(PAGE_URL, "/sso/api/captcha/current"), + "http://10.71.29.181/sso/api/captcha/current", + ) + for image_path in ( + "http://example.test/sam-sso/api/captcha/current", + "/ssoevil/api/captcha/current", + "/portal/other", + ): + with self.subTest(image_path=image_path), self.assertRaises(SsoProtocolError): + resolve_captcha_url(PAGE_URL, image_path) + + def test_form_keeps_code_plain_and_encrypts_only_payload_and_password(self): + page = parse_sso_page(login_page(), PAGE_URL) + + form = build_login_form( + page, + username="example-student", + password="example-password", + captcha_code="a1b2", + captcha_required=True, + ) + + self.assertEqual([value for key, value in form if key == "captcha_code"], ["a1b2", "a1b2"]) + encrypted_password = next(value for key, value in form if key == "password") + encrypted_payload = next(value for key, value in form if key == "captcha_payload") + self.assertEqual(decrypt_field(encrypted_password), "example-password") + self.assertEqual(decrypt_field(encrypted_payload), "{}") + self.assertEqual(next(value for key, value in form if key == "croypto"), CRYPTO_KEY) + + def test_aes_uses_pkcs7_even_for_full_block(self): + ciphertext = aes_encrypt(CRYPTO_KEY, "1234567890abcdef") + + self.assertEqual(decrypt_field(ciphertext), "1234567890abcdef") + + +class TestLoginResponse(unittest.TestCase): + def test_accepts_exact_success_callback_with_default_port_equivalence(self): + result = parse_login_response( + status=302, + headers={ + "Location": "http://10.71.29.181:80/portal/assets/auth-success.html?ticket=t-1" + }, + body=b"", + page_url=PAGE_URL, + ) + + self.assertEqual(result.result_type, LoginResultType.SUCCESS) + self.assertIsNotNone(result.redirect_url) + + def test_rejects_ambiguous_or_cross_origin_success_callback(self): + locations = ( + "/portal/assets/auth-success.html?ticket=one&ticket=two", + "http://example.test/portal/assets/auth-success.html?ticket=one", + "/portal/assets/auth-success.html?ticket=one#fragment", + "/portal/assets/auth-success.html;unexpected?ticket=one", + ) + for location in locations: + with self.subTest(location=location): + result = parse_login_response( + status=302, + headers={"Location": location}, + body=b"", + page_url=PAGE_URL, + ) + self.assertEqual(result.result_type, LoginResultType.UNKNOWN) + + def test_recognizes_only_explicit_captcha_error_as_retryable(self): + captcha_error = parse_login_response( + status=200, + headers={}, + body=login_page(error_code="1320007", error_message="captcha"), + page_url=PAGE_URL, + ) + credentials_error = parse_login_response( + status=200, + headers={}, + body=login_page(error_code="other", error_message="credentials"), + page_url=PAGE_URL, + ) + + self.assertEqual(captcha_error.result_type, LoginResultType.CAPTCHA_ERROR) + self.assertEqual(credentials_error.result_type, LoginResultType.FAILURE) + self.assertEqual(credentials_error.error_message, "credentials") + + def test_recognizes_captcha_code_in_message_without_next_form(self): + result = parse_login_response( + status=200, + headers={}, + body=b'

1320007

', + page_url=PAGE_URL, + ) + + self.assertEqual(result.result_type, LoginResultType.CAPTCHA_ERROR) + self.assertIsNone(result.next_page) + + +class TestActionUrl(unittest.TestCase): + def test_replaces_existing_language_once(self): + action_url = build_sso_action_url( + PAGE_URL + "&accept-language=en-US", + language="zh-CN", + ) + + query = parse_qs(urlparse(action_url).query, keep_blank_values=True) + self.assertEqual(query["accept-language"], ["zh-CN"]) + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/tests/test_window_state.py b/workbench/network/campus-net/tests/test_window_state.py new file mode 100644 index 0000000..6ae5d9c --- /dev/null +++ b/workbench/network/campus-net/tests/test_window_state.py @@ -0,0 +1,184 @@ +import json +import unittest +from pathlib import Path +from tempfile import TemporaryDirectory +from unittest.mock import patch + +from campus_net.window_state import ( + ScreenRect, + WindowState, + clamp_window_state, + load_window_state, + save_window_state, +) + + +class TestWindowStatePersistence(unittest.TestCase): + def test_round_trips_window_state(self): + with TemporaryDirectory() as temporary_directory: + path = Path(temporary_directory) / "window-state.json" + state = WindowState( + width=1100, + height=720, + x=-1450, + y=85, + maximized=True, + ) + + save_window_state(state, path) + + self.assertEqual(load_window_state(path), state) + + def test_missing_or_corrupt_state_is_ignored(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + missing_path = root / "missing.json" + self.assertIsNone(load_window_state(missing_path)) + + corrupt_payloads = ( + b"{not-json", + b"[]", + b'"window"', + json.dumps( + { + "height": 720, + "x": 20, + "y": 30, + "maximized": False, + } + ).encode("utf-8"), + ) + for index, payload in enumerate(corrupt_payloads): + with self.subTest(index=index): + path = root / f"corrupt-{index}.json" + path.write_bytes(payload) + self.assertIsNone(load_window_state(path)) + + def test_oversized_state_file_is_ignored(self): + with TemporaryDirectory() as temporary_directory: + path = Path(temporary_directory) / "oversized.json" + path.write_bytes(b" " * (1024 * 1024)) + + self.assertIsNone(load_window_state(path)) + + def test_rejects_booleans_for_integer_fields_and_integer_for_boolean(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + base_payload = { + "version": 1, + "width": 1100, + "height": 720, + "x": 20, + "y": 30, + "maximized": False, + } + invalid_values = { + "width": True, + "height": False, + "x": True, + "y": False, + "maximized": 1, + } + + for index, (field, value) in enumerate(invalid_values.items()): + with self.subTest(field=field): + payload = {**base_payload, field: value} + path = root / f"invalid-{index}.json" + path.write_text(json.dumps(payload), encoding="utf-8") + self.assertIsNone(load_window_state(path)) + + def test_save_rejects_invalid_window_state(self): + with TemporaryDirectory() as temporary_directory: + path = Path(temporary_directory) / "window-state.json" + + with self.assertRaises(ValueError): + save_window_state(WindowState(True, 720, 20, 30), path) + + self.assertFalse(path.exists()) + + def test_failed_atomic_replace_preserves_previous_state(self): + with TemporaryDirectory() as temporary_directory: + root = Path(temporary_directory) + path = root / "window-state.json" + original = WindowState(1100, 720, 50, 60) + replacement = WindowState(1280, 800, 70, 80, maximized=True) + save_window_state(original, path) + + with patch( + "campus_net.window_state.os.replace", + side_effect=OSError("replace failed"), + ): + with self.assertRaisesRegex(OSError, "replace failed"): + save_window_state(replacement, path) + + self.assertEqual(load_window_state(path), original) + self.assertEqual(list(root.iterdir()), [path]) + + +class TestClampWindowState(unittest.TestCase): + def test_preserves_negative_coordinates_on_connected_left_monitor(self): + state = WindowState(1200, 700, -1800, 120, maximized=True) + work_areas = [ + ScreenRect(-1920, 0, 0, 1040), + ScreenRect(0, 0, 1920, 1040), + ] + + clamped = clamp_window_state(state, work_areas) + + self.assertEqual(clamped, state) + + def test_centers_disconnected_monitor_state_on_primary_work_area(self): + state = WindowState(1000, 700, 2500, 140) + primary = ScreenRect(0, 0, 1920, 1040) + + clamped = clamp_window_state( + state, + [primary, ScreenRect(-1920, 0, 0, 1040)], + ) + + self.assertEqual( + clamped, + WindowState( + width=1100, + height=720, + x=410, + y=160, + ), + ) + + def test_resets_too_small_size_to_safe_defaults(self): + state = WindowState(300, 200, 40, 50, maximized=True) + + clamped = clamp_window_state( + state, + [ScreenRect(0, 0, 1920, 1040)], + min_width=940, + min_height=620, + default_width=1000, + default_height=680, + ) + + self.assertEqual((clamped.width, clamped.height), (940, 620)) + self.assertEqual((clamped.x, clamped.y), (40, 50)) + self.assertTrue(clamped.maximized) + + def test_shrinks_too_large_visible_state_to_its_work_area(self): + state = WindowState(5000, 4000, 0, 0) + primary = ScreenRect(0, 0, 1920, 1040) + + clamped = clamp_window_state( + state, + [primary], + default_width=1100, + default_height=720, + ) + + self.assertEqual((clamped.width, clamped.height), (1920, 1040)) + self.assertGreaterEqual(clamped.x, primary.left) + self.assertGreaterEqual(clamped.y, primary.top) + self.assertLessEqual(clamped.x + clamped.width, primary.right) + self.assertLessEqual(clamped.y + clamped.height, primary.bottom) + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/uv.lock b/workbench/network/campus-net/uv.lock deleted file mode 100644 index ac3becc..0000000 --- a/workbench/network/campus-net/uv.lock +++ /dev/null @@ -1,718 +0,0 @@ -version = 1 -revision = 3 -requires-python = ">=3.11" - -[[package]] -name = "aiohappyeyeballs" -version = "2.7.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ce/f4/eec0465c2f67b2664688d0240b3212d5196fd89e741df67ddb81f8d35658/aiohappyeyeballs-2.7.1.tar.gz", hash = "sha256:065665c041c42a5938ed220bdcd7230f22527fbec085e1853d2402c8a3615d9d", size = 24757, upload-time = "2026-07-01T17:11:55.501Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/71/43/1947f06babed6b3f1d7f38b0c767f52df66bfb2bc10b468c4a7de9eceff2/aiohappyeyeballs-2.7.1-py3-none-any.whl", hash = "sha256:9243213661e29250eb41368e5daa826fc017156c3b8a11440826b2e3ed376472", size = 15038, upload-time = "2026-07-01T17:11:54.055Z" }, -] - -[[package]] -name = "aiohttp" -version = "3.14.1" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "aiohappyeyeballs" }, - { name = "aiosignal" }, - { name = "attrs" }, - { name = "frozenlist" }, - { name = "multidict" }, - { name = "propcache" }, - { name = "typing-extensions", marker = "python_full_version < '3.13'" }, - { name = "yarl" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/82/78/8ea7308cac6934de8c74a14f3d5f65d1c89287426688be79538d0e5c013d/aiohttp-3.14.1.tar.gz", hash = "sha256:307f2cff90a764d329e77040603fa032db89c5c24fdad50c4c15334cba744035", size = 7955794, upload-time = "2026-06-07T21:09:35.529Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/26/dd/bf526e6f0a1120dd6f2df2e97bacfe4d358f13d17a0ff5847301a1375a51/aiohttp-3.14.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:aa00140699487bd435fde4342d85c94cb256b7cd3a5b9c3396c67f19922afda2", size = 765225, upload-time = "2026-06-07T21:06:07.957Z" }, - { url = "https://files.pythonhosted.org/packages/8f/e1/a2872aa55495a70f61310d411541c6ee23812d9a884e000c716e1bc3edbf/aiohttp-3.14.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1c1af67559445498b502030c35c59db59966f47041ca9de5b4e707f86bd10b5f", size = 518743, upload-time = "2026-06-07T21:06:09.749Z" }, - { url = "https://files.pythonhosted.org/packages/5b/e7/c60c7b209e509cc787de3cea0550a518538cfc08003e1c1e14c1c63fff71/aiohttp-3.14.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:d44ec478e713ee7f29b439f7eb8dc2b9d4079e11ae114d2c2ac3d5daf30516c8", size = 514139, upload-time = "2026-06-07T21:06:11.26Z" }, - { url = "https://files.pythonhosted.org/packages/5b/8d/614ace2f579702c9840ab1e1447fd8509e35b0b904f7196418fa2f57b25d/aiohttp-3.14.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d3b1a184a9a8f548a6b73f1e26b96b052193e4b3175ed7342aaf1151a1f00a04", size = 1784088, upload-time = "2026-06-07T21:06:12.887Z" }, - { url = "https://files.pythonhosted.org/packages/49/e0/726e90f99542bf292f81a96a12cc4847deb86f3ccf62c6f4014a201f4d33/aiohttp-3.14.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5f2504bc0322437c9a1ff6d3333ca56c7477b727c995f036b976ae17b98372c8", size = 1737835, upload-time = "2026-06-07T21:06:14.564Z" }, - { url = "https://files.pythonhosted.org/packages/0b/4b/d176d5c4db9d33dacf0543102ea59503bc1d528af4cfd0b719949ca49389/aiohttp-3.14.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:73f05ea02013e02512c3bf42714f1208c57168c779cc6fe23516e4543089d0a6", size = 1842801, upload-time = "2026-06-07T21:06:16.228Z" }, - { url = "https://files.pythonhosted.org/packages/dc/d6/5a99b563690ea0cbed912ae94a2ce33993a5709a651a3a4fe761e7dd973a/aiohttp-3.14.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:797457503c2d426bee06eef808d07b31ede30b65e054444e7de64cad0061b7af", size = 1929992, upload-time = "2026-06-07T21:06:17.947Z" }, - { url = "https://files.pythonhosted.org/packages/76/7f/a987b14a3859094b3cea3f4825219c3e5536242564af6e3f9c2f6c994eb2/aiohttp-3.14.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b821a1f7dedf7e37450654e620038ac3b2e81e8fa6ea269337e97101978ec730", size = 1786989, upload-time = "2026-06-07T21:06:19.677Z" }, - { url = "https://files.pythonhosted.org/packages/f1/1a/420e5c85a3e73349372ed22ce0b6af86bfa6ce16a4b20a64a2e94608c781/aiohttp-3.14.1-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:4cd96b5ba05d67ed0cf00b5b405c8cd99586d8e3481e8ee0a831057591af7621", size = 1640129, upload-time = "2026-06-07T21:06:22.558Z" }, - { url = "https://files.pythonhosted.org/packages/a7/80/18a592ed3be0a402cc03670bd72ee1f8563ddbe1d8d5542dbf868f274136/aiohttp-3.14.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:1d459b98a932296c6f0e94f87511a0b1b90a8a02c30a50e60a297619cd5a58ee", size = 1756576, upload-time = "2026-06-07T21:06:24.8Z" }, - { url = "https://files.pythonhosted.org/packages/ec/0b/8b3d5713373858ff71a617daf6e3b0e81ad63e79d09a3cf2f6b6b983939c/aiohttp-3.14.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:764457a7be60825fb770a644852ff717bcbb5042f189f2bd16df61a81b3f6573", size = 1754668, upload-time = "2026-06-07T21:06:26.528Z" }, - { url = "https://files.pythonhosted.org/packages/9f/49/fd564575cf225821d7ba5a117cb8bc27213d8a7e1811162afb43ae077039/aiohttp-3.14.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f7a16ef45b081454ef844502d87a848876c490c4cb5c650c230f6ec79ed2c1e7", size = 1817019, upload-time = "2026-06-07T21:06:28.297Z" }, - { url = "https://files.pythonhosted.org/packages/ed/1b/e850c9ae6fc91356552ae668bb6c51e93fa29c8aef13398a10b56678557f/aiohttp-3.14.1-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:2fbc3ed048b3475b9f0cbcb9978e9d2d3511acd91ead203af26ed9f0056004cf", size = 1631638, upload-time = "2026-06-07T21:06:30.242Z" }, - { url = "https://files.pythonhosted.org/packages/eb/94/3c337ba72451a89806ace6f75bddc92bafc5b8d53d90115a512858024b63/aiohttp-3.14.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:bedb0cd073cc2dc035e30aeb99444389d3cd2113afe4ef9fcd23d439f5bade85", size = 1835660, upload-time = "2026-06-07T21:06:31.943Z" }, - { url = "https://files.pythonhosted.org/packages/2b/9c/9c18cf367a0498212d9ba7daf990b504a5e8ae064cda4b504e2647c89c03/aiohttp-3.14.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:b6feea921016eb3d4e04d65fc4e9ca402d1a3801f562aef94989f54694917af3", size = 1775698, upload-time = "2026-06-07T21:06:33.72Z" }, - { url = "https://files.pythonhosted.org/packages/b5/63/a251a9d2a6cb45065b2ddc0bde2b3dd10108740a9a42f632c66405a761a2/aiohttp-3.14.1-cp311-cp311-win32.whl", hash = "sha256:313701e488100074ce99850404ee36e741abf6330179fec908a1944ecf570126", size = 458386, upload-time = "2026-06-07T21:06:35.279Z" }, - { url = "https://files.pythonhosted.org/packages/17/ca/69274c51dcd6e8947d77b2806cf47a4a15f2c846e2cbeb1882547d3da283/aiohttp-3.14.1-cp311-cp311-win_amd64.whl", hash = "sha256:03ab4530fdcb3a543a122ba4b65ac9919da9fe9f78a03d328a6e38ff962f7aa5", size = 483406, upload-time = "2026-06-07T21:06:36.824Z" }, - { url = "https://files.pythonhosted.org/packages/2c/8a/c25904f77690c3688ec140f87591ef11a0cfe36bf3d5c0f1f38056fb62b3/aiohttp-3.14.1-cp311-cp311-win_arm64.whl", hash = "sha256:486f7d16ed54c39c2cbd7ca71fd8ba2b8bb7860df65bd7b6ed640bab96a38a8b", size = 452987, upload-time = "2026-06-07T21:06:38.371Z" }, - { url = "https://files.pythonhosted.org/packages/1d/21/151624b51cd92553d95424daf4bf19f19ce9be9002d19253e7e7ce67197b/aiohttp-3.14.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:d35143e27778b4bb0fb189562d7f275bff79c62ab8e98459717c0ea617ff2480", size = 757402, upload-time = "2026-06-07T21:06:40.311Z" }, - { url = "https://files.pythonhosted.org/packages/c2/82/280619e0bd7bf2454987e19282616e84762255dd9c8468f62382e8c191f1/aiohttp-3.14.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:bcfb80a2cc36fba2534e5e5b5264dc7ae6fcd9bf15256da3e53d2f499e6fa29d", size = 512310, upload-time = "2026-06-07T21:06:42.207Z" }, - { url = "https://files.pythonhosted.org/packages/55/b2/2aac325583aaa1353045f96dffa586d8a34e8322e14a7ba49cffeb103ab4/aiohttp-3.14.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:27fd7c91e51729b4f7e1577865fa6d34c9adccbc39aabe9000285b48af9f0ec2", size = 512448, upload-time = "2026-06-07T21:06:43.813Z" }, - { url = "https://files.pythonhosted.org/packages/8a/72/a60607cb849faa8af8a356c9329ea2eb6f395d49e82cc82ccba1fd8deb8f/aiohttp-3.14.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:64c567bf9eaf664280116a8688f63016e6b32db2505908e2bdaca1b6438142f2", size = 1766854, upload-time = "2026-06-07T21:06:45.391Z" }, - { url = "https://files.pythonhosted.org/packages/b5/d3/d9fe1c9ec7557ab4d0d82bebaa728c6418f0b93295ec2f4ab015f7710cc7/aiohttp-3.14.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:f5e6ff2bdbb8f4cd3fbe41f99e25bbcd58e3bf9f13d3dd31a11e7917251cc77a", size = 1740884, upload-time = "2026-06-07T21:06:47.413Z" }, - { url = "https://files.pythonhosted.org/packages/c1/dc/f2cecfaf9337ba3e63f181500814ff502aa3d00d9c7ec93a9d23d10a27b2/aiohttp-3.14.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:2f73e01dc37122325caf079982621262f96d74823c179038a82fddfc50359264", size = 1810034, upload-time = "2026-06-07T21:06:50.165Z" }, - { url = "https://files.pythonhosted.org/packages/66/d7/2ff65c5e65c0d7476daf7e15c032e0805e36811185b9623e3238ad6c763e/aiohttp-3.14.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:bb2c0c80d431c0d03f2c7dbf125150fedd4f0de17366a7ca33f7ccb822391842", size = 1904054, upload-time = "2026-06-07T21:06:52.035Z" }, - { url = "https://files.pythonhosted.org/packages/20/9c/d445818389df371f56d141d881153ba23183c4735a03f7356ffb43f7757d/aiohttp-3.14.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:3e6fc1a85fa7194a1a7d19f44e8609180f4a8eb5fa4c7ed8b4355f080fad235c", size = 1790278, upload-time = "2026-06-07T21:06:54.049Z" }, - { url = "https://files.pythonhosted.org/packages/4d/aa/bf04cb4d865fc6101c2229a294ad744973b72e513fdc5a6b791e6983d72a/aiohttp-3.14.1-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:686b6c0d3911ec387b444ddf5dc62fb7f7c0a7d5186a7861626496a5ab4aff95", size = 1591795, upload-time = "2026-06-07T21:06:55.911Z" }, - { url = "https://files.pythonhosted.org/packages/dc/b4/4dac0038960427ba832f6609dfb4ea5437d7fd80c72001b9e48f834f428b/aiohttp-3.14.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:c6fa4dc7ad6f8109c70bb1499e589f76b0b792baf39f9b017eb92c8a81d0a199", size = 1728397, upload-time = "2026-06-07T21:06:57.777Z" }, - { url = "https://files.pythonhosted.org/packages/2b/f9/7cd4e8ad7aa3b75f17d56bb5498dd604a93d4e6eece822ba0568c413fff0/aiohttp-3.14.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:87a5eea1b2a5e21e1ebdbb33ad4165359189327e63fc4e4894693e7f821ac817", size = 1766504, upload-time = "2026-06-07T21:07:00.009Z" }, - { url = "https://files.pythonhosted.org/packages/f9/df/fc01d9fcad0f73fed3f3d361f1f94f975947b50dff82919f6dc2bf4316cc/aiohttp-3.14.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:1c1421eb01d4fd608d88cc8290211d177a58532b55ad94076fb349c5bf467f0a", size = 1777806, upload-time = "2026-06-07T21:07:02.064Z" }, - { url = "https://files.pythonhosted.org/packages/41/09/47e2d090bddcc8fb4ccb4c314aadc32d7c5d9bb55f50f6ad1c92fc15d501/aiohttp-3.14.1-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:34b257ec41345c1e8f2df68fa908a7952f5de932723871eb633ecbbff396c9a4", size = 1580707, upload-time = "2026-06-07T21:07:03.942Z" }, - { url = "https://files.pythonhosted.org/packages/3d/36/f1a4ce904ae0b6930cfe9afc96d0896f7ec1a620c400405d63783bb95a9c/aiohttp-3.14.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:de538791a80e5d862addbc183f70f0158ac9b9bb872bb147f1fd2a683691e087", size = 1798121, upload-time = "2026-06-07T21:07:05.987Z" }, - { url = "https://files.pythonhosted.org/packages/70/0a/e0075ce9ca0279ee1d4f0c0b85f54fea02ebc83c3007651a72bece658fec/aiohttp-3.14.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:6f71173be42d3241d428f760122febb748de0623f44308a6f120d0dd9ec572e3", size = 1767580, upload-time = "2026-06-07T21:07:07.873Z" }, - { url = "https://files.pythonhosted.org/packages/3e/61/a0c0a8f327a9c52095cdd8e312391b00d3ed64ab6c72bb5c33d8ec251cf7/aiohttp-3.14.1-cp312-cp312-win32.whl", hash = "sha256:ec8dc383ee57ea3e883477dcca3f11b65d58199f1080acaf4cd6ad9a99698be4", size = 452771, upload-time = "2026-06-07T21:07:09.669Z" }, - { url = "https://files.pythonhosted.org/packages/df/d9/ea367c75f16ac9c6cdc8febb25e8318fa21a2b1bc8d6514d4b2d890bface/aiohttp-3.14.1-cp312-cp312-win_amd64.whl", hash = "sha256:2aa92c87868cd13674989f9ee83e5f9f7ea4237589b728048e1f0c8f6caa3271", size = 479873, upload-time = "2026-06-07T21:07:11.538Z" }, - { url = "https://files.pythonhosted.org/packages/03/64/8d96784a7851156db8a4c6c3f6f91042fdf39fb15a4cc38c8b3c14833c45/aiohttp-3.14.1-cp312-cp312-win_arm64.whl", hash = "sha256:2c840c90759922cb5e6dda94596e079a30fb5a5ba548e7e0dc00574703940847", size = 448073, upload-time = "2026-06-07T21:07:13.637Z" }, - { url = "https://files.pythonhosted.org/packages/bc/97/bd137012dd97e1649162b099135a80e1fd59aaa807b2430fc448d1029aff/aiohttp-3.14.1-cp313-cp313-android_21_arm64_v8a.whl", hash = "sha256:b3a03285a7f9c7b016324574a6d92a1c895da6b978cb8f1deee3ac72bc6da178", size = 506882, upload-time = "2026-06-07T21:07:15.501Z" }, - { url = "https://files.pythonhosted.org/packages/ef/79/e5cc690e9d922a66887ceeaca53a8ffd5a7b0be3816142b7abc433742d89/aiohttp-3.14.1-cp313-cp313-android_21_x86_64.whl", hash = "sha256:2a73f487ab8ef5abbb24b7aa9b73e98eaba9e9e031804ff2416f02eca315ccaf", size = 515270, upload-time = "2026-06-07T21:07:17.53Z" }, - { url = "https://files.pythonhosted.org/packages/fe/22/a73ccbf9dbd6e26dda0b24d5fd5db7da92ee3383a79f47677ffb834c5c5b/aiohttp-3.14.1-cp313-cp313-ios_13_0_arm64_iphoneos.whl", hash = "sha256:915fbb7b41b115192259f8c9ae58f3ddc444d2b5579917270211858e606a4afd", size = 485841, upload-time = "2026-06-07T21:07:19.555Z" }, - { url = "https://files.pythonhosted.org/packages/3b/b9/57ed8eaf596321c2ad747bd480fb1700dbd7177c60dfc9e4c187f629662e/aiohttp-3.14.1-cp313-cp313-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:7fb4bdf95b0561a79f259f9d28fbc109728c5ee7f27aff6391f0ca703a329abe", size = 492088, upload-time = "2026-06-07T21:07:21.581Z" }, - { url = "https://files.pythonhosted.org/packages/78/c0/5ebe5270a7c140d7c6f79dcb018640225f14d406c149e4eec04a7d82fe71/aiohttp-3.14.1-cp313-cp313-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:1b9748363260121d2927704f5d4fc498150669ca3ae93625986ee89c8f80dcd4", size = 501564, upload-time = "2026-06-07T21:07:23.388Z" }, - { url = "https://files.pythonhosted.org/packages/75/7f/8cdaa24fc7983865e0915153b96a9ac5bcdd3548d64c5a27d17cecccad2d/aiohttp-3.14.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:86a6dab78b0e43e2897a3bbe15745aa60dc5423ca437b7b0b164c069bf91b876", size = 751998, upload-time = "2026-06-07T21:07:25.046Z" }, - { url = "https://files.pythonhosted.org/packages/b2/f4/c4227aacfacc5cb0cc2d119b65301d177912a6842cd64e120c47af76064f/aiohttp-3.14.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:4dfd6e47d3c44c2279907607f73a4240b88c69eb8b90da7e2441a8045dfd21da", size = 510918, upload-time = "2026-06-07T21:07:27.28Z" }, - { url = "https://files.pythonhosted.org/packages/ab/01/a2d5f96cd4e74424864d30bc0a7e44d0a12dacdcfa91b5b2d1bd3dca6bf3/aiohttp-3.14.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:317acd9f8602858dc7d59679812c376c7f0b97bcbbf16e0d6237f54141d8a8a6", size = 508657, upload-time = "2026-06-07T21:07:29.252Z" }, - { url = "https://files.pythonhosted.org/packages/e8/ed/3c0fb5c500fdd8e7ebc10d1889c04384fffa1a9163eac1356088ca9da1b1/aiohttp-3.14.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:bd869c427324e5cb15195793de951295710db28be7d818247f3097b4ab5d4b96", size = 1757907, upload-time = "2026-06-07T21:07:31.03Z" }, - { url = "https://files.pythonhosted.org/packages/0b/ab/d4c924d9bd5be3050c226612413ce68cb54c70d2c31b661bfc8d9a5b6a70/aiohttp-3.14.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:93b032b5ec3255473c143627d21a69ac74ae12f7f33974cb587c564d11b1066f", size = 1737565, upload-time = "2026-06-07T21:07:33.031Z" }, - { url = "https://files.pythonhosted.org/packages/19/2a/37326821ff779084020cdc33224d20b19f42f4183a500ff92022a739eda7/aiohttp-3.14.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f234b4deb12f3ad59127e037bc57c40c21e45b45282df7d3a55a0f409f595296", size = 1799018, upload-time = "2026-06-07T21:07:35.003Z" }, - { url = "https://files.pythonhosted.org/packages/b3/4f/6e947ba73e4ce09070761c05ed3a8ceb7c21f5e46798671d8b2aac0e4626/aiohttp-3.14.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:9af6779bfb46abf124068327abcdf9ce95c9ef8287a3e8da76ccf2d0f16c28fa", size = 1894416, upload-time = "2026-06-07T21:07:36.956Z" }, - { url = "https://files.pythonhosted.org/packages/9d/6e/dbf1d0625dc711fb2851f4f3c3055c39ed58bae92082d8c627dbe6013736/aiohttp-3.14.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:faccab372e66bc76d5731525e7f1143c922271725b9d38c9f97edcc66266b451", size = 1783881, upload-time = "2026-06-07T21:07:39.063Z" }, - { url = "https://files.pythonhosted.org/packages/44/c2/5e25098a67268ed369483ae7d1a58bd0a13d03aab860d2a0e4a6eb25b046/aiohttp-3.14.1-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f380468b09d2a81633ee863b0ec5648d364bd17bb8ecfb8c2f387f7ac1faf42c", size = 1587572, upload-time = "2026-06-07T21:07:41.058Z" }, - { url = "https://files.pythonhosted.org/packages/2a/bd/cf9cee17e140f942a3de73e658a543aa8fbf35a5fc67a9d2538d52d77f0b/aiohttp-3.14.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:97e704dcd26271f5bda3fa07c3ce0fb76d6d3f8659f4baa1a24442cc9ba177ca", size = 1722137, upload-time = "2026-06-07T21:07:43.014Z" }, - { url = "https://files.pythonhosted.org/packages/89/6d/5684f8c59045c96f81a18cefbc1fbbd79d25b88f1c622f2a5c5c08fcb632/aiohttp-3.14.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:269b76ac5394092b95bc4a098f4fc6c191c083c3bd12775d1e30e663132f6a09", size = 1755953, upload-time = "2026-06-07T21:07:45.933Z" }, - { url = "https://files.pythonhosted.org/packages/a8/40/35caf3170f8359760740a7d9aa0fff2e344bef98e1d1186f5a0f6dec17e6/aiohttp-3.14.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c0b3e614340c889d575451696374c9d17affd54cd607ca0babed8f8c37b9397", size = 1766479, upload-time = "2026-06-07T21:07:48.047Z" }, - { url = "https://files.pythonhosted.org/packages/6d/a1/b0c61e7a137f0d81de49a82023a6df73c3c16d6fefb0f8e4a93d21639002/aiohttp-3.14.1-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:5663ee9257cfa1add7253a7da3035a02f31b6600ec48261585e1800a81533080", size = 1580077, upload-time = "2026-06-07T21:07:50.069Z" }, - { url = "https://files.pythonhosted.org/packages/0b/41/194ea4623693009fcefebef7aef63c141754f153e9cd0d39d3b9e36c175c/aiohttp-3.14.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:603a2c834142172ffddc054067f5ec0ca65d57a0aa98a71bc81952573208e345", size = 1791688, upload-time = "2026-06-07T21:07:52.106Z" }, - { url = "https://files.pythonhosted.org/packages/ba/45/4de841f005cfe1fd63e2a2fe011262c515e2a62aa6994b15947e7d717ac9/aiohttp-3.14.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cb21957bb8aca671c1765e32f58164cf0c50e6bf41c0bbbd16da20732ecaf588", size = 1761094, upload-time = "2026-06-07T21:07:54.113Z" }, - { url = "https://files.pythonhosted.org/packages/e4/ae/dbce10533d3896d544d5053939ed75b7dc31a1b0973d959b1b5ae21028d6/aiohttp-3.14.1-cp313-cp313-win32.whl", hash = "sha256:e509a55f681e6158c20f70f102f9cf61fb20fbc382272bc6d94b7343f2582780", size = 452662, upload-time = "2026-06-07T21:07:56.06Z" }, - { url = "https://files.pythonhosted.org/packages/7b/d9/0bf1a19362c32f06229da5e7ddfcec91f93474d6307f7a2d3135e9c674dc/aiohttp-3.14.1-cp313-cp313-win_amd64.whl", hash = "sha256:1ac8531b638959718e18c2207fbfe297819875da46a740b29dfa29beba64355a", size = 479748, upload-time = "2026-06-07T21:07:58.319Z" }, - { url = "https://files.pythonhosted.org/packages/22/0a/62e7232dc9484fbec112ceb32efb6a624cc7994ec6e2b019286f17c4e8f2/aiohttp-3.14.1-cp313-cp313-win_arm64.whl", hash = "sha256:250d14af67f6b6a1a4a811049b1afa69d61d617fca6bf33149b3ab1a6dbcf7b8", size = 447723, upload-time = "2026-06-07T21:08:00.154Z" }, - { url = "https://files.pythonhosted.org/packages/c4/a1/5fafa04e1ca91ddb47608699d60649c1c6db3cf41c99e78fc4056f9513db/aiohttp-3.14.1-cp314-cp314-android_24_arm64_v8a.whl", hash = "sha256:7c106c26852ca1c2047c6b80384f17100b4e439af276f21ef3d4e2f450ae7e15", size = 508531, upload-time = "2026-06-07T21:08:02.093Z" }, - { url = "https://files.pythonhosted.org/packages/fa/2e/bfa02f699d87ffc86d5959270b28f1cb410add3ccaced8ed2e0b8a5238fc/aiohttp-3.14.1-cp314-cp314-android_24_x86_64.whl", hash = "sha256:20205f7f5ade7aaec9f4b500549bbc071b046453aed72f9c06dcab87896a83e8", size = 514718, upload-time = "2026-06-07T21:08:04.476Z" }, - { url = "https://files.pythonhosted.org/packages/85/a5/9594ad6289eebbc97d167c44213d557807f90e59115caad24de21ad2c3b1/aiohttp-3.14.1-cp314-cp314-ios_13_0_arm64_iphoneos.whl", hash = "sha256:62a759436b29e677181a9e76bab8b8f689a29cb9c535f45f7c48c9c830d3f8c3", size = 487918, upload-time = "2026-06-07T21:08:06.377Z" }, - { url = "https://files.pythonhosted.org/packages/b4/61/16a32c36c3c49edec122a3dc811f2057df2f94d3b14aa107c8017d981618/aiohttp-3.14.1-cp314-cp314-ios_13_0_arm64_iphonesimulator.whl", hash = "sha256:2964cbf553df4d7a57348da44d961d871895fc1ee4e8c322b2a95612c7b17fba", size = 494014, upload-time = "2026-06-07T21:08:08.263Z" }, - { url = "https://files.pythonhosted.org/packages/9b/89/3ebcf96ed99c05bec9c434aaac6963fd3cbab4a786ae739908a144d9ce44/aiohttp-3.14.1-cp314-cp314-ios_13_0_x86_64_iphonesimulator.whl", hash = "sha256:237651caadc3a59badd39319c54642b5299e9cc98a3a194310e55d5bb9f5e397", size = 502398, upload-time = "2026-06-07T21:08:10.244Z" }, - { url = "https://files.pythonhosted.org/packages/fd/3d/b74870a0c2d40c355928cd5b96c7a11fa821b8a40fc41365e64479b151fb/aiohttp-3.14.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:896e12dfdbbab9d8f7e16d2b28c6769a60126fa92095d1ebf9473d02593a2448", size = 758018, upload-time = "2026-06-07T21:08:12.447Z" }, - { url = "https://files.pythonhosted.org/packages/d3/66/f42f5c984d99e49c6cff5f26f590750f2e2f7ef1fcfb99966ab5be1b632e/aiohttp-3.14.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:d03f281ed22579314ba00821ce20115a7c0ac430660b4cc05704a3f818b3e004", size = 512462, upload-time = "2026-06-07T21:08:14.624Z" }, - { url = "https://files.pythonhosted.org/packages/e9/a7/248e1aebe0c7810b0271e021a0f2a5eb6e78a051885b3c9df49f42a5802d/aiohttp-3.14.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:07eabb979d236335fed927e137a928c9adfb7df3b9ec7aa31726f133a62be983", size = 512824, upload-time = "2026-06-07T21:08:16.572Z" }, - { url = "https://files.pythonhosted.org/packages/26/97/2aa0e5ba0727dc3bd5aaebb7ccbc510f7dfb7fb961ec87497cd496635ab1/aiohttp-3.14.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4fe1f1087cbadb280b5e1bb054a4f00d1423c74d6626c5e48400d871d34ecefe", size = 1749898, upload-time = "2026-06-07T21:08:18.635Z" }, - { url = "https://files.pythonhosted.org/packages/00/8d/e97f6c96c891d457c8479d92a514ba194d0412f981d72c70341ee18488ed/aiohttp-3.14.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:367a9314fdc79dab0fac96e216cb41dd73c85bdca85306ce8999118ba7e0f333", size = 1710114, upload-time = "2026-06-07T21:08:20.892Z" }, - { url = "https://files.pythonhosted.org/packages/6f/e6/aa8d7e863048c8fceb5cd6ce74017311cec3ead07847387e12265fb4444e/aiohttp-3.14.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a24f677ebe83749039e7bdf862ff0bbb16818ae4193d4ef96505e269375bcce0", size = 1802541, upload-time = "2026-06-07T21:08:23.044Z" }, - { url = "https://files.pythonhosted.org/packages/83/a8/72193137de57fda4ebfae4563182d082c8856e3b6e9871d0b46f028fb369/aiohttp-3.14.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c83afe0ba876be7e943d2e0ba645809ad441575d2840c895c21ee5de93b9377a", size = 1875776, upload-time = "2026-06-07T21:08:25.288Z" }, - { url = "https://files.pythonhosted.org/packages/a0/18/938441025db6769a3464596b2410af3afde0b21eb2f204c6f766f68af4bd/aiohttp-3.14.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:634e385930fb6d2d479cf3aa66515955863b77a5e3c2b5894ca259a25b308602", size = 1760329, upload-time = "2026-06-07T21:08:27.363Z" }, - { url = "https://files.pythonhosted.org/packages/60/29/bf2496b4065e76e09fe48015aaffe5ce161d8f089b06ac6982070f653076/aiohttp-3.14.1-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:eeea07c4397bbc57719c4eed8f9c284874d4f175f9b6d57f7a1546b976d455ca", size = 1587293, upload-time = "2026-06-07T21:08:29.805Z" }, - { url = "https://files.pythonhosted.org/packages/49/a2/2136674d52123b1354bd05dd5753c318db47dc0c927cc70b27bab3755456/aiohttp-3.14.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:335c0cc3e3545ce98dcb9cfcb836f40c3411f43fa03dab757597d80c89af8a35", size = 1714756, upload-time = "2026-06-07T21:08:32.094Z" }, - { url = "https://files.pythonhosted.org/packages/a7/b9/e5fd2e6f915503081c0f9b1e8540947037929c70c191da2e4d54b31a21a1/aiohttp-3.14.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:ae6be797afdef264e8a84864a85b196ca06045586481b3df8a967322fd2fa844", size = 1721052, upload-time = "2026-06-07T21:08:34.167Z" }, - { url = "https://files.pythonhosted.org/packages/63/5a/2833e324a2263e104e31e2e91bc5bbee81bc499afd32203faee048a883f0/aiohttp-3.14.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:8560b4d712474335d08907db7973f71912d3a9a8f1dee992ec06b5d2fe359496", size = 1766888, upload-time = "2026-06-07T21:08:36.95Z" }, - { url = "https://files.pythonhosted.org/packages/57/fa/dea6511870913162f3b2e8c42a7614eb203a4540b8c2da43e0bfb0548f3c/aiohttp-3.14.1-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7edd08e0a5deb1e8564a2fcd8f4561014a3f05252334671bbf55ddd47db0e5", size = 1581679, upload-time = "2026-06-07T21:08:39.292Z" }, - { url = "https://files.pythonhosted.org/packages/14/bd/3cf0d55e71784b33534e9710a67d382d900598b4787fbce6cc7317f8c42a/aiohttp-3.14.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:b6ff7fcee63287ae57b5df3e4f5957ce032122802509246dec1a5bcc55904c95", size = 1782021, upload-time = "2026-06-07T21:08:41.407Z" }, - { url = "https://files.pythonhosted.org/packages/c1/af/14bb5843eccbe234f4dfb78ab73e549d99727247e62ae5d62cbd22eaf5b0/aiohttp-3.14.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:6ffbb2f4ec1ceaff7e07d43922954da26b223d188bf30658e561b98e23089444", size = 1742574, upload-time = "2026-06-07T21:08:43.795Z" }, - { url = "https://files.pythonhosted.org/packages/f2/1e/fbeb7af9210a67ac0f9c9bec0f8f4568497924e33137a3d5b48e1cf85f3f/aiohttp-3.14.1-cp314-cp314-win32.whl", hash = "sha256:a9875b46d910cff3ea2f5962f9d266b465459fe634e22556ab9bd6fc1192eea0", size = 457773, upload-time = "2026-06-07T21:08:46.168Z" }, - { url = "https://files.pythonhosted.org/packages/f0/2b/13e8d741a9ec5db7d900c060554cf8352ab85e44e2a4469ebb9d377bda17/aiohttp-3.14.1-cp314-cp314-win_amd64.whl", hash = "sha256:af8b4b81a960eeaf1234971ac3cd0ba5901f3cd42eae42a46b4d089a8b492719", size = 485001, upload-time = "2026-06-07T21:08:48.401Z" }, - { url = "https://files.pythonhosted.org/packages/df/30/491acfa2c4d6c3ff59c49a14fc1b50be3241e25bbb0c84c09e2da4d11395/aiohttp-3.14.1-cp314-cp314-win_arm64.whl", hash = "sha256:cf4491381b1b57425c315a56a439251b1bdac07b2275f19a8c44bc57744532ec", size = 453809, upload-time = "2026-06-07T21:08:50.7Z" }, - { url = "https://files.pythonhosted.org/packages/34/e3/19dbe1a1f4cc6230eb9e314de7fe68053b0992f9302b27d12141a0b5db53/aiohttp-3.14.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:819c054312f1af92947e6a55883d1b66feefab11531a7fc45e0fb9b63880b5c2", size = 793320, upload-time = "2026-06-07T21:08:52.775Z" }, - { url = "https://files.pythonhosted.org/packages/7f/20/1b7182219ba1b108430d6e4dc53d25ae02dcfcf5a045b33af4e8c5167527/aiohttp-3.14.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:10ee9c1753a8f706345b22496c79fbddb5be0599e0823f3738b1534058e25340", size = 529077, upload-time = "2026-06-07T21:08:55Z" }, - { url = "https://files.pythonhosted.org/packages/b9/c8/14ce60ec31a2e5f5274bb17d383a6f7a3aabca31ac04eee05585bbadab16/aiohttp-3.14.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1601cc37baf5750ccacae618ec2daf020769581695550e3b654a911f859c563d", size = 532476, upload-time = "2026-06-07T21:08:57.176Z" }, - { url = "https://files.pythonhosted.org/packages/7e/02/9ac85e081e53da2e061b02fa7758fe0a12d17b8ce2d1f5e6c7cb76730328/aiohttp-3.14.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4d6e0ac9da31c9c04c84e1c0182ad8d6df35965a85cae29cd71d089621b3ae94", size = 1922347, upload-time = "2026-06-07T21:08:59.563Z" }, - { url = "https://files.pythonhosted.org/packages/c0/3e/d3ba07a0ab38b5389e10bec4362d21e10a4f667cba2d79ba30837b3a5059/aiohttp-3.14.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:9e8f2d660c350b3d0e259c7a7e3d9b7fc8b41210cbcc3d4a7076ff0a5e5c2fdc", size = 1786465, upload-time = "2026-06-07T21:09:01.909Z" }, - { url = "https://files.pythonhosted.org/packages/0b/cb/e2ee978a00cfb2df829704a69528b18154eba5939f45bc1efa8f33aee4c5/aiohttp-3.14.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:4691802dda97be727f79d86818acaad7eb8e9252626a1d6b519fedbb92d5e251", size = 1909423, upload-time = "2026-06-07T21:09:04.357Z" }, - { url = "https://files.pythonhosted.org/packages/73/5d/1430334858b1022b58ae50399a918f0bd6fe8fa7fa183598d657ff61e040/aiohttp-3.14.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c389c482a7e9b9dc3ee2701ac46c4125297a3818875b9c305ddb603c04828fd1", size = 2001906, upload-time = "2026-06-07T21:09:06.722Z" }, - { url = "https://files.pythonhosted.org/packages/66/4e/560c7472d3d198a23aa5c8b19a5115bf6a9b77b7d3e4bb363da320430ad2/aiohttp-3.14.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fc0cacab7ba4e56f0f81c82a98c09bed2f39c940107b03a34b168bdf7597edd3", size = 1877095, upload-time = "2026-06-07T21:09:09.011Z" }, - { url = "https://files.pythonhosted.org/packages/0d/f1/4745806578d447db4a784a8591e2dae3afdfc2bcb96f8f81271b13df6543/aiohttp-3.14.1-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:979ed4717f59b8bb12e3963378fa285d93d367e15bcd66c721311826d3c44a6c", size = 1676222, upload-time = "2026-06-07T21:09:11.461Z" }, - { url = "https://files.pythonhosted.org/packages/6a/c9/48255813cca749a229ef0ab476004ec623728ad79a9c0840616f6c076325/aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:38e1e7daaea81df51c952e18483f323d878499a1e2bfe564790e0f9701d6f203", size = 1842922, upload-time = "2026-06-07T21:09:14.118Z" }, - { url = "https://files.pythonhosted.org/packages/3d/c0/bbd054e2bee909f529523a5af3891052606af5143c09f5f183ec3b234676/aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:4132e72c608fe9fecb8f409113567605915b83e9bdd3ea56538d2f9cd35002f1", size = 1825035, upload-time = "2026-06-07T21:09:16.447Z" }, - { url = "https://files.pythonhosted.org/packages/a8/ae/90395d4376deceb74e09ec26b6adf7d2015a6f8802d6d84446af860fef04/aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:eefd9cc9b6d4a2db5f00a26bc3e4f9acf71926a6ec557cd56c9c6f27c290b665", size = 1849512, upload-time = "2026-06-07T21:09:18.742Z" }, - { url = "https://files.pythonhosted.org/packages/93/bd/fb25f3049957553d4ce0ba6ae480aa2f592a6985497fca590837d16c1be0/aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:b165790117eea512d7f3fb22f1f6dad3d55a7189571993eb015591c1401276d1", size = 1668571, upload-time = "2026-06-07T21:09:21.458Z" }, - { url = "https://files.pythonhosted.org/packages/3f/22/7f73303d64dd567ff3addca90b556690ed1233a47b8f55d242fb90af3681/aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:ed09c7eb1c391271c2ed0314a51903e72a3acb653d5ccfc264cdf3ef11f8269d", size = 1881159, upload-time = "2026-06-07T21:09:23.813Z" }, - { url = "https://files.pythonhosted.org/packages/44/be/0474c5a8b5640e1e4aa1923430a91f4151be82e511373fe764189b89aef5/aiohttp-3.14.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:99abd37084b82f5830c635fddd0b4993b9742a66eb746dacf433c8590e8f9e3c", size = 1841409, upload-time = "2026-06-07T21:09:26.207Z" }, - { url = "https://files.pythonhosted.org/packages/7b/3c/bb4a7cba26956cb3da4553cc2056cf67be5b5ff6e6d8fa4fbdff73bfb7ae/aiohttp-3.14.1-cp314-cp314t-win32.whl", hash = "sha256:47ddf841cdecc810749921d25606dee45857d12d2ad5ddb7b5bd7eab12e4b365", size = 494166, upload-time = "2026-06-07T21:09:28.505Z" }, - { url = "https://files.pythonhosted.org/packages/8a/84/ec80c2c1f66a952555a9f86df6b33af65108a6febfa0471b69013a12f807/aiohttp-3.14.1-cp314-cp314t-win_amd64.whl", hash = "sha256:5e78b522b7a6e27e0b25d19b247b75039ac4c94f99823e3c9e53ae1603a9f7e9", size = 530255, upload-time = "2026-06-07T21:09:30.843Z" }, - { url = "https://files.pythonhosted.org/packages/2a/71/6e22be134a4061ada85a92951b842f2657f17d926b727f3f94c56ae963d6/aiohttp-3.14.1-cp314-cp314t-win_arm64.whl", hash = "sha256:90d53f1609c29ccc2193945ef732428382a28f78d0456ae4d3daf0d48b74f0f6", size = 469640, upload-time = "2026-06-07T21:09:33.028Z" }, -] - -[[package]] -name = "aiosignal" -version = "1.4.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "frozenlist" }, - { name = "typing-extensions", marker = "python_full_version < '3.13'" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/61/62/06741b579156360248d1ec624842ad0edf697050bbaf7c3e46394e106ad1/aiosignal-1.4.0.tar.gz", hash = "sha256:f47eecd9468083c2029cc99945502cb7708b082c232f9aca65da147157b251c7", size = 25007, upload-time = "2025-07-03T22:54:43.528Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/fb/76/641ae371508676492379f16e2fa48f4e2c11741bd63c48be4b12a6b09cba/aiosignal-1.4.0-py3-none-any.whl", hash = "sha256:053243f8b92b990551949e63930a839ff0cf0b0ebbe0597b0f3fb19e1a0fe82e", size = 7490, upload-time = "2025-07-03T22:54:42.156Z" }, -] - -[[package]] -name = "altgraph" -version = "0.17.5" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/7e/f8/97fdf103f38fed6792a1601dbc16cc8aac56e7459a9fff08c812d8ae177a/altgraph-0.17.5.tar.gz", hash = "sha256:c87b395dd12fabde9c99573a9749d67da8d29ef9de0125c7f536699b4a9bc9e7", size = 48428, upload-time = "2025-11-21T20:35:50.583Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/a9/ba/000a1996d4308bc65120167c21241a3b205464a2e0b58deda26ae8ac21d1/altgraph-0.17.5-py2.py3-none-any.whl", hash = "sha256:f3a22400bce1b0c701683820ac4f3b159cd301acab067c51c653e06961600597", size = 21228, upload-time = "2025-11-21T20:35:49.444Z" }, -] - -[[package]] -name = "attrs" -version = "26.1.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/9a/8e/82a0fe20a541c03148528be8cac2408564a6c9a0cc7e9171802bc1d26985/attrs-26.1.0.tar.gz", hash = "sha256:d03ceb89cb322a8fd706d4fb91940737b6642aa36998fe130a9bc96c985eff32", size = 952055, upload-time = "2026-03-19T14:22:25.026Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/64/b4/17d4b0b2a2dc85a6df63d1157e028ed19f90d4cd97c36717afef2bc2f395/attrs-26.1.0-py3-none-any.whl", hash = "sha256:c647aa4a12dfbad9333ca4e71fe62ddc36f4e63b2d260a37a8b83d2f043ac309", size = 67548, upload-time = "2026-03-19T14:22:23.645Z" }, -] - -[[package]] -name = "cedarflake-campus-net" -version = "1.0.0" -source = { virtual = "." } -dependencies = [ - { name = "aiohttp" }, -] - -[package.dev-dependencies] -dev = [ - { name = "pyinstaller" }, -] - -[package.metadata] -requires-dist = [{ name = "aiohttp", specifier = ">=3.12.0,<4" }] - -[package.metadata.requires-dev] -dev = [{ name = "pyinstaller", specifier = ">=6.11,<7" }] - -[[package]] -name = "frozenlist" -version = "1.8.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/2d/f5/c831fac6cc817d26fd54c7eaccd04ef7e0288806943f7cc5bbf69f3ac1f0/frozenlist-1.8.0.tar.gz", hash = "sha256:3ede829ed8d842f6cd48fc7081d7a41001a56f1f38603f9d49bf3020d59a31ad", size = 45875, upload-time = "2025-10-06T05:38:17.865Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/bc/03/077f869d540370db12165c0aa51640a873fb661d8b315d1d4d67b284d7ac/frozenlist-1.8.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:09474e9831bc2b2199fad6da3c14c7b0fbdd377cce9d3d77131be28906cb7d84", size = 86912, upload-time = "2025-10-06T05:35:45.98Z" }, - { url = "https://files.pythonhosted.org/packages/df/b5/7610b6bd13e4ae77b96ba85abea1c8cb249683217ef09ac9e0ae93f25a91/frozenlist-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:17c883ab0ab67200b5f964d2b9ed6b00971917d5d8a92df149dc2c9779208ee9", size = 50046, upload-time = "2025-10-06T05:35:47.009Z" }, - { url = "https://files.pythonhosted.org/packages/6e/ef/0e8f1fe32f8a53dd26bdd1f9347efe0778b0fddf62789ea683f4cc7d787d/frozenlist-1.8.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:fa47e444b8ba08fffd1c18e8cdb9a75db1b6a27f17507522834ad13ed5922b93", size = 50119, upload-time = "2025-10-06T05:35:48.38Z" }, - { url = "https://files.pythonhosted.org/packages/11/b1/71a477adc7c36e5fb628245dfbdea2166feae310757dea848d02bd0689fd/frozenlist-1.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:2552f44204b744fba866e573be4c1f9048d6a324dfe14475103fd51613eb1d1f", size = 231067, upload-time = "2025-10-06T05:35:49.97Z" }, - { url = "https://files.pythonhosted.org/packages/45/7e/afe40eca3a2dc19b9904c0f5d7edfe82b5304cb831391edec0ac04af94c2/frozenlist-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:957e7c38f250991e48a9a73e6423db1bb9dd14e722a10f6b8bb8e16a0f55f695", size = 233160, upload-time = "2025-10-06T05:35:51.729Z" }, - { url = "https://files.pythonhosted.org/packages/a6/aa/7416eac95603ce428679d273255ffc7c998d4132cfae200103f164b108aa/frozenlist-1.8.0-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8585e3bb2cdea02fc88ffa245069c36555557ad3609e83be0ec71f54fd4abb52", size = 228544, upload-time = "2025-10-06T05:35:53.246Z" }, - { url = "https://files.pythonhosted.org/packages/8b/3d/2a2d1f683d55ac7e3875e4263d28410063e738384d3adc294f5ff3d7105e/frozenlist-1.8.0-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:edee74874ce20a373d62dc28b0b18b93f645633c2943fd90ee9d898550770581", size = 243797, upload-time = "2025-10-06T05:35:54.497Z" }, - { url = "https://files.pythonhosted.org/packages/78/1e/2d5565b589e580c296d3bb54da08d206e797d941a83a6fdea42af23be79c/frozenlist-1.8.0-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:c9a63152fe95756b85f31186bddf42e4c02c6321207fd6601a1c89ebac4fe567", size = 247923, upload-time = "2025-10-06T05:35:55.861Z" }, - { url = "https://files.pythonhosted.org/packages/aa/c3/65872fcf1d326a7f101ad4d86285c403c87be7d832b7470b77f6d2ed5ddc/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:b6db2185db9be0a04fecf2f241c70b63b1a242e2805be291855078f2b404dd6b", size = 230886, upload-time = "2025-10-06T05:35:57.399Z" }, - { url = "https://files.pythonhosted.org/packages/a0/76/ac9ced601d62f6956f03cc794f9e04c81719509f85255abf96e2510f4265/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:f4be2e3d8bc8aabd566f8d5b8ba7ecc09249d74ba3c9ed52e54dc23a293f0b92", size = 245731, upload-time = "2025-10-06T05:35:58.563Z" }, - { url = "https://files.pythonhosted.org/packages/b9/49/ecccb5f2598daf0b4a1415497eba4c33c1e8ce07495eb07d2860c731b8d5/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:c8d1634419f39ea6f5c427ea2f90ca85126b54b50837f31497f3bf38266e853d", size = 241544, upload-time = "2025-10-06T05:35:59.719Z" }, - { url = "https://files.pythonhosted.org/packages/53/4b/ddf24113323c0bbcc54cb38c8b8916f1da7165e07b8e24a717b4a12cbf10/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:1a7fa382a4a223773ed64242dbe1c9c326ec09457e6b8428efb4118c685c3dfd", size = 241806, upload-time = "2025-10-06T05:36:00.959Z" }, - { url = "https://files.pythonhosted.org/packages/a7/fb/9b9a084d73c67175484ba2789a59f8eebebd0827d186a8102005ce41e1ba/frozenlist-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:11847b53d722050808926e785df837353bd4d75f1d494377e59b23594d834967", size = 229382, upload-time = "2025-10-06T05:36:02.22Z" }, - { url = "https://files.pythonhosted.org/packages/95/a3/c8fb25aac55bf5e12dae5c5aa6a98f85d436c1dc658f21c3ac73f9fa95e5/frozenlist-1.8.0-cp311-cp311-win32.whl", hash = "sha256:27c6e8077956cf73eadd514be8fb04d77fc946a7fe9f7fe167648b0b9085cc25", size = 39647, upload-time = "2025-10-06T05:36:03.409Z" }, - { url = "https://files.pythonhosted.org/packages/0a/f5/603d0d6a02cfd4c8f2a095a54672b3cf967ad688a60fb9faf04fc4887f65/frozenlist-1.8.0-cp311-cp311-win_amd64.whl", hash = "sha256:ac913f8403b36a2c8610bbfd25b8013488533e71e62b4b4adce9c86c8cea905b", size = 44064, upload-time = "2025-10-06T05:36:04.368Z" }, - { url = "https://files.pythonhosted.org/packages/5d/16/c2c9ab44e181f043a86f9a8f84d5124b62dbcb3a02c0977ec72b9ac1d3e0/frozenlist-1.8.0-cp311-cp311-win_arm64.whl", hash = "sha256:d4d3214a0f8394edfa3e303136d0575eece0745ff2b47bd2cb2e66dd92d4351a", size = 39937, upload-time = "2025-10-06T05:36:05.669Z" }, - { url = "https://files.pythonhosted.org/packages/69/29/948b9aa87e75820a38650af445d2ef2b6b8a6fab1a23b6bb9e4ef0be2d59/frozenlist-1.8.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:78f7b9e5d6f2fdb88cdde9440dc147259b62b9d3b019924def9f6478be254ac1", size = 87782, upload-time = "2025-10-06T05:36:06.649Z" }, - { url = "https://files.pythonhosted.org/packages/64/80/4f6e318ee2a7c0750ed724fa33a4bdf1eacdc5a39a7a24e818a773cd91af/frozenlist-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:229bf37d2e4acdaf808fd3f06e854a4a7a3661e871b10dc1f8f1896a3b05f18b", size = 50594, upload-time = "2025-10-06T05:36:07.69Z" }, - { url = "https://files.pythonhosted.org/packages/2b/94/5c8a2b50a496b11dd519f4a24cb5496cf125681dd99e94c604ccdea9419a/frozenlist-1.8.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:f833670942247a14eafbb675458b4e61c82e002a148f49e68257b79296e865c4", size = 50448, upload-time = "2025-10-06T05:36:08.78Z" }, - { url = "https://files.pythonhosted.org/packages/6a/bd/d91c5e39f490a49df14320f4e8c80161cfcce09f1e2cde1edd16a551abb3/frozenlist-1.8.0-cp312-cp312-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:494a5952b1c597ba44e0e78113a7266e656b9794eec897b19ead706bd7074383", size = 242411, upload-time = "2025-10-06T05:36:09.801Z" }, - { url = "https://files.pythonhosted.org/packages/8f/83/f61505a05109ef3293dfb1ff594d13d64a2324ac3482be2cedc2be818256/frozenlist-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:96f423a119f4777a4a056b66ce11527366a8bb92f54e541ade21f2374433f6d4", size = 243014, upload-time = "2025-10-06T05:36:11.394Z" }, - { url = "https://files.pythonhosted.org/packages/d8/cb/cb6c7b0f7d4023ddda30cf56b8b17494eb3a79e3fda666bf735f63118b35/frozenlist-1.8.0-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3462dd9475af2025c31cc61be6652dfa25cbfb56cbbf52f4ccfe029f38decaf8", size = 234909, upload-time = "2025-10-06T05:36:12.598Z" }, - { url = "https://files.pythonhosted.org/packages/31/c5/cd7a1f3b8b34af009fb17d4123c5a778b44ae2804e3ad6b86204255f9ec5/frozenlist-1.8.0-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c4c800524c9cd9bac5166cd6f55285957fcfc907db323e193f2afcd4d9abd69b", size = 250049, upload-time = "2025-10-06T05:36:14.065Z" }, - { url = "https://files.pythonhosted.org/packages/c0/01/2f95d3b416c584a1e7f0e1d6d31998c4a795f7544069ee2e0962a4b60740/frozenlist-1.8.0-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d6a5df73acd3399d893dafc71663ad22534b5aa4f94e8a2fabfe856c3c1b6a52", size = 256485, upload-time = "2025-10-06T05:36:15.39Z" }, - { url = "https://files.pythonhosted.org/packages/ce/03/024bf7720b3abaebcff6d0793d73c154237b85bdf67b7ed55e5e9596dc9a/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:405e8fe955c2280ce66428b3ca55e12b3c4e9c336fb2103a4937e891c69a4a29", size = 237619, upload-time = "2025-10-06T05:36:16.558Z" }, - { url = "https://files.pythonhosted.org/packages/69/fa/f8abdfe7d76b731f5d8bd217827cf6764d4f1d9763407e42717b4bed50a0/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:908bd3f6439f2fef9e85031b59fd4f1297af54415fb60e4254a95f75b3cab3f3", size = 250320, upload-time = "2025-10-06T05:36:17.821Z" }, - { url = "https://files.pythonhosted.org/packages/f5/3c/b051329f718b463b22613e269ad72138cc256c540f78a6de89452803a47d/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:294e487f9ec720bd8ffcebc99d575f7eff3568a08a253d1ee1a0378754b74143", size = 246820, upload-time = "2025-10-06T05:36:19.046Z" }, - { url = "https://files.pythonhosted.org/packages/0f/ae/58282e8f98e444b3f4dd42448ff36fa38bef29e40d40f330b22e7108f565/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:74c51543498289c0c43656701be6b077f4b265868fa7f8a8859c197006efb608", size = 250518, upload-time = "2025-10-06T05:36:20.763Z" }, - { url = "https://files.pythonhosted.org/packages/8f/96/007e5944694d66123183845a106547a15944fbbb7154788cbf7272789536/frozenlist-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:776f352e8329135506a1d6bf16ac3f87bc25b28e765949282dcc627af36123aa", size = 239096, upload-time = "2025-10-06T05:36:22.129Z" }, - { url = "https://files.pythonhosted.org/packages/66/bb/852b9d6db2fa40be96f29c0d1205c306288f0684df8fd26ca1951d461a56/frozenlist-1.8.0-cp312-cp312-win32.whl", hash = "sha256:433403ae80709741ce34038da08511d4a77062aa924baf411ef73d1146e74faf", size = 39985, upload-time = "2025-10-06T05:36:23.661Z" }, - { url = "https://files.pythonhosted.org/packages/b8/af/38e51a553dd66eb064cdf193841f16f077585d4d28394c2fa6235cb41765/frozenlist-1.8.0-cp312-cp312-win_amd64.whl", hash = "sha256:34187385b08f866104f0c0617404c8eb08165ab1272e884abc89c112e9c00746", size = 44591, upload-time = "2025-10-06T05:36:24.958Z" }, - { url = "https://files.pythonhosted.org/packages/a7/06/1dc65480ab147339fecc70797e9c2f69d9cea9cf38934ce08df070fdb9cb/frozenlist-1.8.0-cp312-cp312-win_arm64.whl", hash = "sha256:fe3c58d2f5db5fbd18c2987cba06d51b0529f52bc3a6cdc33d3f4eab725104bd", size = 40102, upload-time = "2025-10-06T05:36:26.333Z" }, - { url = "https://files.pythonhosted.org/packages/2d/40/0832c31a37d60f60ed79e9dfb5a92e1e2af4f40a16a29abcc7992af9edff/frozenlist-1.8.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:8d92f1a84bb12d9e56f818b3a746f3efba93c1b63c8387a73dde655e1e42282a", size = 85717, upload-time = "2025-10-06T05:36:27.341Z" }, - { url = "https://files.pythonhosted.org/packages/30/ba/b0b3de23f40bc55a7057bd38434e25c34fa48e17f20ee273bbde5e0650f3/frozenlist-1.8.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:96153e77a591c8adc2ee805756c61f59fef4cf4073a9275ee86fe8cba41241f7", size = 49651, upload-time = "2025-10-06T05:36:28.855Z" }, - { url = "https://files.pythonhosted.org/packages/0c/ab/6e5080ee374f875296c4243c381bbdef97a9ac39c6e3ce1d5f7d42cb78d6/frozenlist-1.8.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:f21f00a91358803399890ab167098c131ec2ddd5f8f5fd5fe9c9f2c6fcd91e40", size = 49417, upload-time = "2025-10-06T05:36:29.877Z" }, - { url = "https://files.pythonhosted.org/packages/d5/4e/e4691508f9477ce67da2015d8c00acd751e6287739123113a9fca6f1604e/frozenlist-1.8.0-cp313-cp313-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:fb30f9626572a76dfe4293c7194a09fb1fe93ba94c7d4f720dfae3b646b45027", size = 234391, upload-time = "2025-10-06T05:36:31.301Z" }, - { url = "https://files.pythonhosted.org/packages/40/76/c202df58e3acdf12969a7895fd6f3bc016c642e6726aa63bd3025e0fc71c/frozenlist-1.8.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eaa352d7047a31d87dafcacbabe89df0aa506abb5b1b85a2fb91bc3faa02d822", size = 233048, upload-time = "2025-10-06T05:36:32.531Z" }, - { url = "https://files.pythonhosted.org/packages/f9/c0/8746afb90f17b73ca5979c7a3958116e105ff796e718575175319b5bb4ce/frozenlist-1.8.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:03ae967b4e297f58f8c774c7eabcce57fe3c2434817d4385c50661845a058121", size = 226549, upload-time = "2025-10-06T05:36:33.706Z" }, - { url = "https://files.pythonhosted.org/packages/7e/eb/4c7eefc718ff72f9b6c4893291abaae5fbc0c82226a32dcd8ef4f7a5dbef/frozenlist-1.8.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f6292f1de555ffcc675941d65fffffb0a5bcd992905015f85d0592201793e0e5", size = 239833, upload-time = "2025-10-06T05:36:34.947Z" }, - { url = "https://files.pythonhosted.org/packages/c2/4e/e5c02187cf704224f8b21bee886f3d713ca379535f16893233b9d672ea71/frozenlist-1.8.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29548f9b5b5e3460ce7378144c3010363d8035cea44bc0bf02d57f5a685e084e", size = 245363, upload-time = "2025-10-06T05:36:36.534Z" }, - { url = "https://files.pythonhosted.org/packages/1f/96/cb85ec608464472e82ad37a17f844889c36100eed57bea094518bf270692/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:ec3cc8c5d4084591b4237c0a272cc4f50a5b03396a47d9caaf76f5d7b38a4f11", size = 229314, upload-time = "2025-10-06T05:36:38.582Z" }, - { url = "https://files.pythonhosted.org/packages/5d/6f/4ae69c550e4cee66b57887daeebe006fe985917c01d0fff9caab9883f6d0/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:517279f58009d0b1f2e7c1b130b377a349405da3f7621ed6bfae50b10adf20c1", size = 243365, upload-time = "2025-10-06T05:36:40.152Z" }, - { url = "https://files.pythonhosted.org/packages/7a/58/afd56de246cf11780a40a2c28dc7cbabbf06337cc8ddb1c780a2d97e88d8/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:db1e72ede2d0d7ccb213f218df6a078a9c09a7de257c2fe8fcef16d5925230b1", size = 237763, upload-time = "2025-10-06T05:36:41.355Z" }, - { url = "https://files.pythonhosted.org/packages/cb/36/cdfaf6ed42e2644740d4a10452d8e97fa1c062e2a8006e4b09f1b5fd7d63/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:b4dec9482a65c54a5044486847b8a66bf10c9cb4926d42927ec4e8fd5db7fed8", size = 240110, upload-time = "2025-10-06T05:36:42.716Z" }, - { url = "https://files.pythonhosted.org/packages/03/a8/9ea226fbefad669f11b52e864c55f0bd57d3c8d7eb07e9f2e9a0b39502e1/frozenlist-1.8.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:21900c48ae04d13d416f0e1e0c4d81f7931f73a9dfa0b7a8746fb2fe7dd970ed", size = 233717, upload-time = "2025-10-06T05:36:44.251Z" }, - { url = "https://files.pythonhosted.org/packages/1e/0b/1b5531611e83ba7d13ccc9988967ea1b51186af64c42b7a7af465dcc9568/frozenlist-1.8.0-cp313-cp313-win32.whl", hash = "sha256:8b7b94a067d1c504ee0b16def57ad5738701e4ba10cec90529f13fa03c833496", size = 39628, upload-time = "2025-10-06T05:36:45.423Z" }, - { url = "https://files.pythonhosted.org/packages/d8/cf/174c91dbc9cc49bc7b7aab74d8b734e974d1faa8f191c74af9b7e80848e6/frozenlist-1.8.0-cp313-cp313-win_amd64.whl", hash = "sha256:878be833caa6a3821caf85eb39c5ba92d28e85df26d57afb06b35b2efd937231", size = 43882, upload-time = "2025-10-06T05:36:46.796Z" }, - { url = "https://files.pythonhosted.org/packages/c1/17/502cd212cbfa96eb1388614fe39a3fc9ab87dbbe042b66f97acb57474834/frozenlist-1.8.0-cp313-cp313-win_arm64.whl", hash = "sha256:44389d135b3ff43ba8cc89ff7f51f5a0bb6b63d829c8300f79a2fe4fe61bcc62", size = 39676, upload-time = "2025-10-06T05:36:47.8Z" }, - { url = "https://files.pythonhosted.org/packages/d2/5c/3bbfaa920dfab09e76946a5d2833a7cbdf7b9b4a91c714666ac4855b88b4/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:e25ac20a2ef37e91c1b39938b591457666a0fa835c7783c3a8f33ea42870db94", size = 89235, upload-time = "2025-10-06T05:36:48.78Z" }, - { url = "https://files.pythonhosted.org/packages/d2/d6/f03961ef72166cec1687e84e8925838442b615bd0b8854b54923ce5b7b8a/frozenlist-1.8.0-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:07cdca25a91a4386d2e76ad992916a85038a9b97561bf7a3fd12d5d9ce31870c", size = 50742, upload-time = "2025-10-06T05:36:49.837Z" }, - { url = "https://files.pythonhosted.org/packages/1e/bb/a6d12b7ba4c3337667d0e421f7181c82dda448ce4e7ad7ecd249a16fa806/frozenlist-1.8.0-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:4e0c11f2cc6717e0a741f84a527c52616140741cd812a50422f83dc31749fb52", size = 51725, upload-time = "2025-10-06T05:36:50.851Z" }, - { url = "https://files.pythonhosted.org/packages/bc/71/d1fed0ffe2c2ccd70b43714c6cab0f4188f09f8a67a7914a6b46ee30f274/frozenlist-1.8.0-cp313-cp313t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:b3210649ee28062ea6099cfda39e147fa1bc039583c8ee4481cb7811e2448c51", size = 284533, upload-time = "2025-10-06T05:36:51.898Z" }, - { url = "https://files.pythonhosted.org/packages/c9/1f/fb1685a7b009d89f9bf78a42d94461bc06581f6e718c39344754a5d9bada/frozenlist-1.8.0-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:581ef5194c48035a7de2aefc72ac6539823bb71508189e5de01d60c9dcd5fa65", size = 292506, upload-time = "2025-10-06T05:36:53.101Z" }, - { url = "https://files.pythonhosted.org/packages/e6/3b/b991fe1612703f7e0d05c0cf734c1b77aaf7c7d321df4572e8d36e7048c8/frozenlist-1.8.0-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3ef2d026f16a2b1866e1d86fc4e1291e1ed8a387b2c333809419a2f8b3a77b82", size = 274161, upload-time = "2025-10-06T05:36:54.309Z" }, - { url = "https://files.pythonhosted.org/packages/ca/ec/c5c618767bcdf66e88945ec0157d7f6c4a1322f1473392319b7a2501ded7/frozenlist-1.8.0-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:5500ef82073f599ac84d888e3a8c1f77ac831183244bfd7f11eaa0289fb30714", size = 294676, upload-time = "2025-10-06T05:36:55.566Z" }, - { url = "https://files.pythonhosted.org/packages/7c/ce/3934758637d8f8a88d11f0585d6495ef54b2044ed6ec84492a91fa3b27aa/frozenlist-1.8.0-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:50066c3997d0091c411a66e710f4e11752251e6d2d73d70d8d5d4c76442a199d", size = 300638, upload-time = "2025-10-06T05:36:56.758Z" }, - { url = "https://files.pythonhosted.org/packages/fc/4f/a7e4d0d467298f42de4b41cbc7ddaf19d3cfeabaf9ff97c20c6c7ee409f9/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:5c1c8e78426e59b3f8005e9b19f6ff46e5845895adbde20ece9218319eca6506", size = 283067, upload-time = "2025-10-06T05:36:57.965Z" }, - { url = "https://files.pythonhosted.org/packages/dc/48/c7b163063d55a83772b268e6d1affb960771b0e203b632cfe09522d67ea5/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:eefdba20de0d938cec6a89bd4d70f346a03108a19b9df4248d3cf0d88f1b0f51", size = 292101, upload-time = "2025-10-06T05:36:59.237Z" }, - { url = "https://files.pythonhosted.org/packages/9f/d0/2366d3c4ecdc2fd391e0afa6e11500bfba0ea772764d631bbf82f0136c9d/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:cf253e0e1c3ceb4aaff6df637ce033ff6535fb8c70a764a8f46aafd3d6ab798e", size = 289901, upload-time = "2025-10-06T05:37:00.811Z" }, - { url = "https://files.pythonhosted.org/packages/b8/94/daff920e82c1b70e3618a2ac39fbc01ae3e2ff6124e80739ce5d71c9b920/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:032efa2674356903cd0261c4317a561a6850f3ac864a63fc1583147fb05a79b0", size = 289395, upload-time = "2025-10-06T05:37:02.115Z" }, - { url = "https://files.pythonhosted.org/packages/e3/20/bba307ab4235a09fdcd3cc5508dbabd17c4634a1af4b96e0f69bfe551ebd/frozenlist-1.8.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:6da155091429aeba16851ecb10a9104a108bcd32f6c1642867eadaee401c1c41", size = 283659, upload-time = "2025-10-06T05:37:03.711Z" }, - { url = "https://files.pythonhosted.org/packages/fd/00/04ca1c3a7a124b6de4f8a9a17cc2fcad138b4608e7a3fc5877804b8715d7/frozenlist-1.8.0-cp313-cp313t-win32.whl", hash = "sha256:0f96534f8bfebc1a394209427d0f8a63d343c9779cda6fc25e8e121b5fd8555b", size = 43492, upload-time = "2025-10-06T05:37:04.915Z" }, - { url = "https://files.pythonhosted.org/packages/59/5e/c69f733a86a94ab10f68e496dc6b7e8bc078ebb415281d5698313e3af3a1/frozenlist-1.8.0-cp313-cp313t-win_amd64.whl", hash = "sha256:5d63a068f978fc69421fb0e6eb91a9603187527c86b7cd3f534a5b77a592b888", size = 48034, upload-time = "2025-10-06T05:37:06.343Z" }, - { url = "https://files.pythonhosted.org/packages/16/6c/be9d79775d8abe79b05fa6d23da99ad6e7763a1d080fbae7290b286093fd/frozenlist-1.8.0-cp313-cp313t-win_arm64.whl", hash = "sha256:bf0a7e10b077bf5fb9380ad3ae8ce20ef919a6ad93b4552896419ac7e1d8e042", size = 41749, upload-time = "2025-10-06T05:37:07.431Z" }, - { url = "https://files.pythonhosted.org/packages/f1/c8/85da824b7e7b9b6e7f7705b2ecaf9591ba6f79c1177f324c2735e41d36a2/frozenlist-1.8.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:cee686f1f4cadeb2136007ddedd0aaf928ab95216e7691c63e50a8ec066336d0", size = 86127, upload-time = "2025-10-06T05:37:08.438Z" }, - { url = "https://files.pythonhosted.org/packages/8e/e8/a1185e236ec66c20afd72399522f142c3724c785789255202d27ae992818/frozenlist-1.8.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:119fb2a1bd47307e899c2fac7f28e85b9a543864df47aa7ec9d3c1b4545f096f", size = 49698, upload-time = "2025-10-06T05:37:09.48Z" }, - { url = "https://files.pythonhosted.org/packages/a1/93/72b1736d68f03fda5fdf0f2180fb6caaae3894f1b854d006ac61ecc727ee/frozenlist-1.8.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:4970ece02dbc8c3a92fcc5228e36a3e933a01a999f7094ff7c23fbd2beeaa67c", size = 49749, upload-time = "2025-10-06T05:37:10.569Z" }, - { url = "https://files.pythonhosted.org/packages/a7/b2/fabede9fafd976b991e9f1b9c8c873ed86f202889b864756f240ce6dd855/frozenlist-1.8.0-cp314-cp314-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:cba69cb73723c3f329622e34bdbf5ce1f80c21c290ff04256cff1cd3c2036ed2", size = 231298, upload-time = "2025-10-06T05:37:11.993Z" }, - { url = "https://files.pythonhosted.org/packages/3a/3b/d9b1e0b0eed36e70477ffb8360c49c85c8ca8ef9700a4e6711f39a6e8b45/frozenlist-1.8.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:778a11b15673f6f1df23d9586f83c4846c471a8af693a22e066508b77d201ec8", size = 232015, upload-time = "2025-10-06T05:37:13.194Z" }, - { url = "https://files.pythonhosted.org/packages/dc/94/be719d2766c1138148564a3960fc2c06eb688da592bdc25adcf856101be7/frozenlist-1.8.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0325024fe97f94c41c08872db482cf8ac4800d80e79222c6b0b7b162d5b13686", size = 225038, upload-time = "2025-10-06T05:37:14.577Z" }, - { url = "https://files.pythonhosted.org/packages/e4/09/6712b6c5465f083f52f50cf74167b92d4ea2f50e46a9eea0523d658454ae/frozenlist-1.8.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:97260ff46b207a82a7567b581ab4190bd4dfa09f4db8a8b49d1a958f6aa4940e", size = 240130, upload-time = "2025-10-06T05:37:15.781Z" }, - { url = "https://files.pythonhosted.org/packages/f8/d4/cd065cdcf21550b54f3ce6a22e143ac9e4836ca42a0de1022da8498eac89/frozenlist-1.8.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:54b2077180eb7f83dd52c40b2750d0a9f175e06a42e3213ce047219de902717a", size = 242845, upload-time = "2025-10-06T05:37:17.037Z" }, - { url = "https://files.pythonhosted.org/packages/62/c3/f57a5c8c70cd1ead3d5d5f776f89d33110b1addae0ab010ad774d9a44fb9/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:2f05983daecab868a31e1da44462873306d3cbfd76d1f0b5b69c473d21dbb128", size = 229131, upload-time = "2025-10-06T05:37:18.221Z" }, - { url = "https://files.pythonhosted.org/packages/6c/52/232476fe9cb64f0742f3fde2b7d26c1dac18b6d62071c74d4ded55e0ef94/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:33f48f51a446114bc5d251fb2954ab0164d5be02ad3382abcbfe07e2531d650f", size = 240542, upload-time = "2025-10-06T05:37:19.771Z" }, - { url = "https://files.pythonhosted.org/packages/5f/85/07bf3f5d0fb5414aee5f47d33c6f5c77bfe49aac680bfece33d4fdf6a246/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:154e55ec0655291b5dd1b8731c637ecdb50975a2ae70c606d100750a540082f7", size = 237308, upload-time = "2025-10-06T05:37:20.969Z" }, - { url = "https://files.pythonhosted.org/packages/11/99/ae3a33d5befd41ac0ca2cc7fd3aa707c9c324de2e89db0e0f45db9a64c26/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:4314debad13beb564b708b4a496020e5306c7333fa9a3ab90374169a20ffab30", size = 238210, upload-time = "2025-10-06T05:37:22.252Z" }, - { url = "https://files.pythonhosted.org/packages/b2/60/b1d2da22f4970e7a155f0adde9b1435712ece01b3cd45ba63702aea33938/frozenlist-1.8.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:073f8bf8becba60aa931eb3bc420b217bb7d5b8f4750e6f8b3be7f3da85d38b7", size = 231972, upload-time = "2025-10-06T05:37:23.5Z" }, - { url = "https://files.pythonhosted.org/packages/3f/ab/945b2f32de889993b9c9133216c068b7fcf257d8595a0ac420ac8677cab0/frozenlist-1.8.0-cp314-cp314-win32.whl", hash = "sha256:bac9c42ba2ac65ddc115d930c78d24ab8d4f465fd3fc473cdedfccadb9429806", size = 40536, upload-time = "2025-10-06T05:37:25.581Z" }, - { url = "https://files.pythonhosted.org/packages/59/ad/9caa9b9c836d9ad6f067157a531ac48b7d36499f5036d4141ce78c230b1b/frozenlist-1.8.0-cp314-cp314-win_amd64.whl", hash = "sha256:3e0761f4d1a44f1d1a47996511752cf3dcec5bbdd9cc2b4fe595caf97754b7a0", size = 44330, upload-time = "2025-10-06T05:37:26.928Z" }, - { url = "https://files.pythonhosted.org/packages/82/13/e6950121764f2676f43534c555249f57030150260aee9dcf7d64efda11dd/frozenlist-1.8.0-cp314-cp314-win_arm64.whl", hash = "sha256:d1eaff1d00c7751b7c6662e9c5ba6eb2c17a2306ba5e2a37f24ddf3cc953402b", size = 40627, upload-time = "2025-10-06T05:37:28.075Z" }, - { url = "https://files.pythonhosted.org/packages/c0/c7/43200656ecc4e02d3f8bc248df68256cd9572b3f0017f0a0c4e93440ae23/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:d3bb933317c52d7ea5004a1c442eef86f426886fba134ef8cf4226ea6ee1821d", size = 89238, upload-time = "2025-10-06T05:37:29.373Z" }, - { url = "https://files.pythonhosted.org/packages/d1/29/55c5f0689b9c0fb765055629f472c0de484dcaf0acee2f7707266ae3583c/frozenlist-1.8.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8009897cdef112072f93a0efdce29cd819e717fd2f649ee3016efd3cd885a7ed", size = 50738, upload-time = "2025-10-06T05:37:30.792Z" }, - { url = "https://files.pythonhosted.org/packages/ba/7d/b7282a445956506fa11da8c2db7d276adcbf2b17d8bb8407a47685263f90/frozenlist-1.8.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:2c5dcbbc55383e5883246d11fd179782a9d07a986c40f49abe89ddf865913930", size = 51739, upload-time = "2025-10-06T05:37:32.127Z" }, - { url = "https://files.pythonhosted.org/packages/62/1c/3d8622e60d0b767a5510d1d3cf21065b9db874696a51ea6d7a43180a259c/frozenlist-1.8.0-cp314-cp314t-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl", hash = "sha256:39ecbc32f1390387d2aa4f5a995e465e9e2f79ba3adcac92d68e3e0afae6657c", size = 284186, upload-time = "2025-10-06T05:37:33.21Z" }, - { url = "https://files.pythonhosted.org/packages/2d/14/aa36d5f85a89679a85a1d44cd7a6657e0b1c75f61e7cad987b203d2daca8/frozenlist-1.8.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:92db2bf818d5cc8d9c1f1fc56b897662e24ea5adb36ad1f1d82875bd64e03c24", size = 292196, upload-time = "2025-10-06T05:37:36.107Z" }, - { url = "https://files.pythonhosted.org/packages/05/23/6bde59eb55abd407d34f77d39a5126fb7b4f109a3f611d3929f14b700c66/frozenlist-1.8.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:2dc43a022e555de94c3b68a4ef0b11c4f747d12c024a520c7101709a2144fb37", size = 273830, upload-time = "2025-10-06T05:37:37.663Z" }, - { url = "https://files.pythonhosted.org/packages/d2/3f/22cff331bfad7a8afa616289000ba793347fcd7bc275f3b28ecea2a27909/frozenlist-1.8.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:cb89a7f2de3602cfed448095bab3f178399646ab7c61454315089787df07733a", size = 294289, upload-time = "2025-10-06T05:37:39.261Z" }, - { url = "https://files.pythonhosted.org/packages/a4/89/5b057c799de4838b6c69aa82b79705f2027615e01be996d2486a69ca99c4/frozenlist-1.8.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:33139dc858c580ea50e7e60a1b0ea003efa1fd42e6ec7fdbad78fff65fad2fd2", size = 300318, upload-time = "2025-10-06T05:37:43.213Z" }, - { url = "https://files.pythonhosted.org/packages/30/de/2c22ab3eb2a8af6d69dc799e48455813bab3690c760de58e1bf43b36da3e/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:168c0969a329b416119507ba30b9ea13688fafffac1b7822802537569a1cb0ef", size = 282814, upload-time = "2025-10-06T05:37:45.337Z" }, - { url = "https://files.pythonhosted.org/packages/59/f7/970141a6a8dbd7f556d94977858cfb36fa9b66e0892c6dd780d2219d8cd8/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:28bd570e8e189d7f7b001966435f9dac6718324b5be2990ac496cf1ea9ddb7fe", size = 291762, upload-time = "2025-10-06T05:37:46.657Z" }, - { url = "https://files.pythonhosted.org/packages/c1/15/ca1adae83a719f82df9116d66f5bb28bb95557b3951903d39135620ef157/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b2a095d45c5d46e5e79ba1e5b9cb787f541a8dee0433836cea4b96a2c439dcd8", size = 289470, upload-time = "2025-10-06T05:37:47.946Z" }, - { url = "https://files.pythonhosted.org/packages/ac/83/dca6dc53bf657d371fbc88ddeb21b79891e747189c5de990b9dfff2ccba1/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:eab8145831a0d56ec9c4139b6c3e594c7a83c2c8be25d5bcf2d86136a532287a", size = 289042, upload-time = "2025-10-06T05:37:49.499Z" }, - { url = "https://files.pythonhosted.org/packages/96/52/abddd34ca99be142f354398700536c5bd315880ed0a213812bc491cff5e4/frozenlist-1.8.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:974b28cf63cc99dfb2188d8d222bc6843656188164848c4f679e63dae4b0708e", size = 283148, upload-time = "2025-10-06T05:37:50.745Z" }, - { url = "https://files.pythonhosted.org/packages/af/d3/76bd4ed4317e7119c2b7f57c3f6934aba26d277acc6309f873341640e21f/frozenlist-1.8.0-cp314-cp314t-win32.whl", hash = "sha256:342c97bf697ac5480c0a7ec73cd700ecfa5a8a40ac923bd035484616efecc2df", size = 44676, upload-time = "2025-10-06T05:37:52.222Z" }, - { url = "https://files.pythonhosted.org/packages/89/76/c615883b7b521ead2944bb3480398cbb07e12b7b4e4d073d3752eb721558/frozenlist-1.8.0-cp314-cp314t-win_amd64.whl", hash = "sha256:06be8f67f39c8b1dc671f5d83aaefd3358ae5cdcf8314552c57e7ed3e6475bdd", size = 49451, upload-time = "2025-10-06T05:37:53.425Z" }, - { url = "https://files.pythonhosted.org/packages/e0/a3/5982da14e113d07b325230f95060e2169f5311b1017ea8af2a29b374c289/frozenlist-1.8.0-cp314-cp314t-win_arm64.whl", hash = "sha256:102e6314ca4da683dca92e3b1355490fed5f313b768500084fbe6371fddfdb79", size = 42507, upload-time = "2025-10-06T05:37:54.513Z" }, - { url = "https://files.pythonhosted.org/packages/9a/9a/e35b4a917281c0b8419d4207f4334c8e8c5dbf4f3f5f9ada73958d937dcc/frozenlist-1.8.0-py3-none-any.whl", hash = "sha256:0c18a16eab41e82c295618a77502e17b195883241c563b00f0aa5106fc4eaa0d", size = 13409, upload-time = "2025-10-06T05:38:16.721Z" }, -] - -[[package]] -name = "idna" -version = "3.18" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/cd/63/9496c57188a2ee585e0f1db071d75089a11e98aa86eb99d9d7618fc1edce/idna-3.18.tar.gz", hash = "sha256:ffb385a7e039654cef1ab9ef32c6fafe283c0c0467bba1d9029738ce4a14a848", size = 196711, upload-time = "2026-06-02T14:34:07.794Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/1e/5e/d4e9f1a599fb8e573b7b87160658329fbf28d19eac2718f51fc3def3aa5a/idna-3.18-py3-none-any.whl", hash = "sha256:7f952cbe720b688055e3f87de14f5c3e5fdaa8bc3928985c4077ca689de849a2", size = 65455, upload-time = "2026-06-02T14:34:06.319Z" }, -] - -[[package]] -name = "macholib" -version = "1.16.4" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "altgraph" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/10/2f/97589876ea967487978071c9042518d28b958d87b17dceb7cdc1d881f963/macholib-1.16.4.tar.gz", hash = "sha256:f408c93ab2e995cd2c46e34fe328b130404be143469e41bc366c807448979362", size = 59427, upload-time = "2025-11-22T08:28:38.373Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c7/d1/a9f36f8ecdf0fb7c9b1e78c8d7af12b8c8754e74851ac7b94a8305540fc7/macholib-1.16.4-py2.py3-none-any.whl", hash = "sha256:da1a3fa8266e30f0ce7e97c6a54eefaae8edd1e5f86f3eb8b95457cae90265ea", size = 38117, upload-time = "2025-11-22T08:28:36.939Z" }, -] - -[[package]] -name = "multidict" -version = "6.7.1" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/1a/c2/c2d94cbe6ac1753f3fc980da97b3d930efe1da3af3c9f5125354436c073d/multidict-6.7.1.tar.gz", hash = "sha256:ec6652a1bee61c53a3e5776b6049172c53b6aaba34f18c9ad04f82712bac623d", size = 102010, upload-time = "2026-01-26T02:46:45.979Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/ce/f1/a90635c4f88fb913fbf4ce660b83b7445b7a02615bda034b2f8eb38fd597/multidict-6.7.1-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:7ff981b266af91d7b4b3793ca3382e53229088d193a85dfad6f5f4c27fc73e5d", size = 76626, upload-time = "2026-01-26T02:43:26.485Z" }, - { url = "https://files.pythonhosted.org/packages/a6/9b/267e64eaf6fc637a15b35f5de31a566634a2740f97d8d094a69d34f524a4/multidict-6.7.1-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:844c5bca0b5444adb44a623fb0a1310c2f4cd41f402126bb269cd44c9b3f3e1e", size = 44706, upload-time = "2026-01-26T02:43:27.607Z" }, - { url = "https://files.pythonhosted.org/packages/dd/a4/d45caf2b97b035c57267791ecfaafbd59c68212004b3842830954bb4b02e/multidict-6.7.1-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:f2a0a924d4c2e9afcd7ec64f9de35fcd96915149b2216e1cb2c10a56df483855", size = 44356, upload-time = "2026-01-26T02:43:28.661Z" }, - { url = "https://files.pythonhosted.org/packages/fd/d2/0a36c8473f0cbaeadd5db6c8b72d15bbceeec275807772bfcd059bef487d/multidict-6.7.1-cp311-cp311-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:8be1802715a8e892c784c0197c2ace276ea52702a0ede98b6310c8f255a5afb3", size = 244355, upload-time = "2026-01-26T02:43:31.165Z" }, - { url = "https://files.pythonhosted.org/packages/5d/16/8c65be997fd7dd311b7d39c7b6e71a0cb449bad093761481eccbbe4b42a2/multidict-6.7.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2e2d2ed645ea29f31c4c7ea1552fcfd7cb7ba656e1eafd4134a6620c9f5fdd9e", size = 246433, upload-time = "2026-01-26T02:43:32.581Z" }, - { url = "https://files.pythonhosted.org/packages/01/fb/4dbd7e848d2799c6a026ec88ad39cf2b8416aa167fcc903baa55ecaa045c/multidict-6.7.1-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:95922cee9a778659e91db6497596435777bd25ed116701a4c034f8e46544955a", size = 225376, upload-time = "2026-01-26T02:43:34.417Z" }, - { url = "https://files.pythonhosted.org/packages/b6/8a/4a3a6341eac3830f6053062f8fbc9a9e54407c80755b3f05bc427295c2d0/multidict-6.7.1-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6b83cabdc375ffaaa15edd97eb7c0c672ad788e2687004990074d7d6c9b140c8", size = 257365, upload-time = "2026-01-26T02:43:35.741Z" }, - { url = "https://files.pythonhosted.org/packages/f7/a2/dd575a69c1aa206e12d27d0770cdf9b92434b48a9ef0cd0d1afdecaa93c4/multidict-6.7.1-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:38fb49540705369bab8484db0689d86c0a33a0a9f2c1b197f506b71b4b6c19b0", size = 254747, upload-time = "2026-01-26T02:43:36.976Z" }, - { url = "https://files.pythonhosted.org/packages/5a/56/21b27c560c13822ed93133f08aa6372c53a8e067f11fbed37b4adcdac922/multidict-6.7.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:439cbebd499f92e9aa6793016a8acaa161dfa749ae86d20960189f5398a19144", size = 246293, upload-time = "2026-01-26T02:43:38.258Z" }, - { url = "https://files.pythonhosted.org/packages/5a/a4/23466059dc3854763423d0ad6c0f3683a379d97673b1b89ec33826e46728/multidict-6.7.1-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:6d3bc717b6fe763b8be3f2bee2701d3c8eb1b2a8ae9f60910f1b2860c82b6c49", size = 242962, upload-time = "2026-01-26T02:43:40.034Z" }, - { url = "https://files.pythonhosted.org/packages/1f/67/51dd754a3524d685958001e8fa20a0f5f90a6a856e0a9dcabff69be3dbb7/multidict-6.7.1-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:619e5a1ac57986dbfec9f0b301d865dddf763696435e2962f6d9cf2fdff2bb71", size = 237360, upload-time = "2026-01-26T02:43:41.752Z" }, - { url = "https://files.pythonhosted.org/packages/64/3f/036dfc8c174934d4b55d86ff4f978e558b0e585cef70cfc1ad01adc6bf18/multidict-6.7.1-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:0b38ebffd9be37c1170d33bc0f36f4f262e0a09bc1aac1c34c7aa51a7293f0b3", size = 245940, upload-time = "2026-01-26T02:43:43.042Z" }, - { url = "https://files.pythonhosted.org/packages/3d/20/6214d3c105928ebc353a1c644a6ef1408bc5794fcb4f170bb524a3c16311/multidict-6.7.1-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:10ae39c9cfe6adedcdb764f5e8411d4a92b055e35573a2eaa88d3323289ef93c", size = 253502, upload-time = "2026-01-26T02:43:44.371Z" }, - { url = "https://files.pythonhosted.org/packages/b1/e2/c653bc4ae1be70a0f836b82172d643fcf1dade042ba2676ab08ec08bff0f/multidict-6.7.1-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:25167cc263257660290fba06b9318d2026e3c910be240a146e1f66dd114af2b0", size = 247065, upload-time = "2026-01-26T02:43:45.745Z" }, - { url = "https://files.pythonhosted.org/packages/c8/11/a854b4154cd3bd8b1fd375e8a8ca9d73be37610c361543d56f764109509b/multidict-6.7.1-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:128441d052254f42989ef98b7b6a6ecb1e6f708aa962c7984235316db59f50fa", size = 241870, upload-time = "2026-01-26T02:43:47.054Z" }, - { url = "https://files.pythonhosted.org/packages/13/bf/9676c0392309b5fdae322333d22a829715b570edb9baa8016a517b55b558/multidict-6.7.1-cp311-cp311-win32.whl", hash = "sha256:d62b7f64ffde3b99d06b707a280db04fb3855b55f5a06df387236051d0668f4a", size = 41302, upload-time = "2026-01-26T02:43:48.753Z" }, - { url = "https://files.pythonhosted.org/packages/c9/68/f16a3a8ba6f7b6dc92a1f19669c0810bd2c43fc5a02da13b1cbf8e253845/multidict-6.7.1-cp311-cp311-win_amd64.whl", hash = "sha256:bdbf9f3b332abd0cdb306e7c2113818ab1e922dc84b8f8fd06ec89ed2a19ab8b", size = 45981, upload-time = "2026-01-26T02:43:49.921Z" }, - { url = "https://files.pythonhosted.org/packages/ac/ad/9dd5305253fa00cd3c7555dbef69d5bf4133debc53b87ab8d6a44d411665/multidict-6.7.1-cp311-cp311-win_arm64.whl", hash = "sha256:b8c990b037d2fff2f4e33d3f21b9b531c5745b33a49a7d6dbe7a177266af44f6", size = 43159, upload-time = "2026-01-26T02:43:51.635Z" }, - { url = "https://files.pythonhosted.org/packages/8d/9c/f20e0e2cf80e4b2e4b1c365bf5fe104ee633c751a724246262db8f1a0b13/multidict-6.7.1-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:a90f75c956e32891a4eda3639ce6dd86e87105271f43d43442a3aedf3cddf172", size = 76893, upload-time = "2026-01-26T02:43:52.754Z" }, - { url = "https://files.pythonhosted.org/packages/fe/cf/18ef143a81610136d3da8193da9d80bfe1cb548a1e2d1c775f26b23d024a/multidict-6.7.1-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3fccb473e87eaa1382689053e4a4618e7ba7b9b9b8d6adf2027ee474597128cd", size = 45456, upload-time = "2026-01-26T02:43:53.893Z" }, - { url = "https://files.pythonhosted.org/packages/a9/65/1caac9d4cd32e8433908683446eebc953e82d22b03d10d41a5f0fefe991b/multidict-6.7.1-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:b0fa96985700739c4c7853a43c0b3e169360d6855780021bfc6d0f1ce7c123e7", size = 43872, upload-time = "2026-01-26T02:43:55.041Z" }, - { url = "https://files.pythonhosted.org/packages/cf/3b/d6bd75dc4f3ff7c73766e04e705b00ed6dbbaccf670d9e05a12b006f5a21/multidict-6.7.1-cp312-cp312-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:cb2a55f408c3043e42b40cc8eecd575afa27b7e0b956dfb190de0f8499a57a53", size = 251018, upload-time = "2026-01-26T02:43:56.198Z" }, - { url = "https://files.pythonhosted.org/packages/fd/80/c959c5933adedb9ac15152e4067c702a808ea183a8b64cf8f31af8ad3155/multidict-6.7.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:eb0ce7b2a32d09892b3dd6cc44877a0d02a33241fafca5f25c8b6b62374f8b75", size = 258883, upload-time = "2026-01-26T02:43:57.499Z" }, - { url = "https://files.pythonhosted.org/packages/86/85/7ed40adafea3d4f1c8b916e3b5cc3a8e07dfcdcb9cd72800f4ed3ca1b387/multidict-6.7.1-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c3a32d23520ee37bf327d1e1a656fec76a2edd5c038bf43eddfa0572ec49c60b", size = 242413, upload-time = "2026-01-26T02:43:58.755Z" }, - { url = "https://files.pythonhosted.org/packages/d2/57/b8565ff533e48595503c785f8361ff9a4fde4d67de25c207cd0ba3befd03/multidict-6.7.1-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:9c90fed18bffc0189ba814749fdcc102b536e83a9f738a9003e569acd540a733", size = 268404, upload-time = "2026-01-26T02:44:00.216Z" }, - { url = "https://files.pythonhosted.org/packages/e0/50/9810c5c29350f7258180dfdcb2e52783a0632862eb334c4896ac717cebcb/multidict-6.7.1-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:da62917e6076f512daccfbbde27f46fed1c98fee202f0559adec8ee0de67f71a", size = 269456, upload-time = "2026-01-26T02:44:02.202Z" }, - { url = "https://files.pythonhosted.org/packages/f3/8d/5e5be3ced1d12966fefb5c4ea3b2a5b480afcea36406559442c6e31d4a48/multidict-6.7.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:bfde23ef6ed9db7eaee6c37dcec08524cb43903c60b285b172b6c094711b3961", size = 256322, upload-time = "2026-01-26T02:44:03.56Z" }, - { url = "https://files.pythonhosted.org/packages/31/6e/d8a26d81ac166a5592782d208dd90dfdc0a7a218adaa52b45a672b46c122/multidict-6.7.1-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3758692429e4e32f1ba0df23219cd0b4fc0a52f476726fff9337d1a57676a582", size = 253955, upload-time = "2026-01-26T02:44:04.845Z" }, - { url = "https://files.pythonhosted.org/packages/59/4c/7c672c8aad41534ba619bcd4ade7a0dc87ed6b8b5c06149b85d3dd03f0cd/multidict-6.7.1-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:398c1478926eca669f2fd6a5856b6de9c0acf23a2cb59a14c0ba5844fa38077e", size = 251254, upload-time = "2026-01-26T02:44:06.133Z" }, - { url = "https://files.pythonhosted.org/packages/7b/bd/84c24de512cbafbdbc39439f74e967f19570ce7924e3007174a29c348916/multidict-6.7.1-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:c102791b1c4f3ab36ce4101154549105a53dc828f016356b3e3bcae2e3a039d3", size = 252059, upload-time = "2026-01-26T02:44:07.518Z" }, - { url = "https://files.pythonhosted.org/packages/fa/ba/f5449385510825b73d01c2d4087bf6d2fccc20a2d42ac34df93191d3dd03/multidict-6.7.1-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:a088b62bd733e2ad12c50dad01b7d0166c30287c166e137433d3b410add807a6", size = 263588, upload-time = "2026-01-26T02:44:09.382Z" }, - { url = "https://files.pythonhosted.org/packages/d7/11/afc7c677f68f75c84a69fe37184f0f82fce13ce4b92f49f3db280b7e92b3/multidict-6.7.1-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:3d51ff4785d58d3f6c91bdbffcb5e1f7ddfda557727043aa20d20ec4f65e324a", size = 259642, upload-time = "2026-01-26T02:44:10.73Z" }, - { url = "https://files.pythonhosted.org/packages/2b/17/ebb9644da78c4ab36403739e0e6e0e30ebb135b9caf3440825001a0bddcb/multidict-6.7.1-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:fc5907494fccf3e7d3f94f95c91d6336b092b5fc83811720fae5e2765890dfba", size = 251377, upload-time = "2026-01-26T02:44:12.042Z" }, - { url = "https://files.pythonhosted.org/packages/ca/a4/840f5b97339e27846c46307f2530a2805d9d537d8b8bd416af031cad7fa0/multidict-6.7.1-cp312-cp312-win32.whl", hash = "sha256:28ca5ce2fd9716631133d0e9a9b9a745ad7f60bac2bccafb56aa380fc0b6c511", size = 41887, upload-time = "2026-01-26T02:44:14.245Z" }, - { url = "https://files.pythonhosted.org/packages/80/31/0b2517913687895f5904325c2069d6a3b78f66cc641a86a2baf75a05dcbb/multidict-6.7.1-cp312-cp312-win_amd64.whl", hash = "sha256:fcee94dfbd638784645b066074b338bc9cc155d4b4bffa4adce1615c5a426c19", size = 46053, upload-time = "2026-01-26T02:44:15.371Z" }, - { url = "https://files.pythonhosted.org/packages/0c/5b/aba28e4ee4006ae4c7df8d327d31025d760ffa992ea23812a601d226e682/multidict-6.7.1-cp312-cp312-win_arm64.whl", hash = "sha256:ba0a9fb644d0c1a2194cf7ffb043bd852cea63a57f66fbd33959f7dae18517bf", size = 43307, upload-time = "2026-01-26T02:44:16.852Z" }, - { url = "https://files.pythonhosted.org/packages/f2/22/929c141d6c0dba87d3e1d38fbdf1ba8baba86b7776469f2bc2d3227a1e67/multidict-6.7.1-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:2b41f5fed0ed563624f1c17630cb9941cf2309d4df00e494b551b5f3e3d67a23", size = 76174, upload-time = "2026-01-26T02:44:18.509Z" }, - { url = "https://files.pythonhosted.org/packages/c7/75/bc704ae15fee974f8fccd871305e254754167dce5f9e42d88a2def741a1d/multidict-6.7.1-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:84e61e3af5463c19b67ced91f6c634effb89ef8bfc5ca0267f954451ed4bb6a2", size = 45116, upload-time = "2026-01-26T02:44:19.745Z" }, - { url = "https://files.pythonhosted.org/packages/79/76/55cd7186f498ed080a18440c9013011eb548f77ae1b297206d030eb1180a/multidict-6.7.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:935434b9853c7c112eee7ac891bc4cb86455aa631269ae35442cb316790c1445", size = 43524, upload-time = "2026-01-26T02:44:21.571Z" }, - { url = "https://files.pythonhosted.org/packages/e9/3c/414842ef8d5a1628d68edee29ba0e5bcf235dbfb3ccd3ea303a7fe8c72ff/multidict-6.7.1-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:432feb25a1cb67fe82a9680b4d65fb542e4635cb3166cd9c01560651ad60f177", size = 249368, upload-time = "2026-01-26T02:44:22.803Z" }, - { url = "https://files.pythonhosted.org/packages/f6/32/befed7f74c458b4a525e60519fe8d87eef72bb1e99924fa2b0f9d97a221e/multidict-6.7.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:e82d14e3c948952a1a85503817e038cba5905a3352de76b9a465075d072fba23", size = 256952, upload-time = "2026-01-26T02:44:24.306Z" }, - { url = "https://files.pythonhosted.org/packages/03/d6/c878a44ba877f366630c860fdf74bfb203c33778f12b6ac274936853c451/multidict-6.7.1-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4cfb48c6ea66c83bcaaf7e4dfa7ec1b6bbcf751b7db85a328902796dfde4c060", size = 240317, upload-time = "2026-01-26T02:44:25.772Z" }, - { url = "https://files.pythonhosted.org/packages/68/49/57421b4d7ad2e9e60e25922b08ceb37e077b90444bde6ead629095327a6f/multidict-6.7.1-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:1d540e51b7e8e170174555edecddbd5538105443754539193e3e1061864d444d", size = 267132, upload-time = "2026-01-26T02:44:27.648Z" }, - { url = "https://files.pythonhosted.org/packages/b7/fe/ec0edd52ddbcea2a2e89e174f0206444a61440b40f39704e64dc807a70bd/multidict-6.7.1-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:273d23f4b40f3dce4d6c8a821c741a86dec62cded82e1175ba3d99be128147ed", size = 268140, upload-time = "2026-01-26T02:44:29.588Z" }, - { url = "https://files.pythonhosted.org/packages/b0/73/6e1b01cbeb458807aa0831742232dbdd1fa92bfa33f52a3f176b4ff3dc11/multidict-6.7.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9d624335fd4fa1c08a53f8b4be7676ebde19cd092b3895c421045ca87895b429", size = 254277, upload-time = "2026-01-26T02:44:30.902Z" }, - { url = "https://files.pythonhosted.org/packages/6a/b2/5fb8c124d7561a4974c342bc8c778b471ebbeb3cc17df696f034a7e9afe7/multidict-6.7.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:12fad252f8b267cc75b66e8fc51b3079604e8d43a75428ffe193cd9e2195dfd6", size = 252291, upload-time = "2026-01-26T02:44:32.31Z" }, - { url = "https://files.pythonhosted.org/packages/5a/96/51d4e4e06bcce92577fcd488e22600bd38e4fd59c20cb49434d054903bd2/multidict-6.7.1-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:03ede2a6ffbe8ef936b92cb4529f27f42be7f56afcdab5ab739cd5f27fb1cbf9", size = 250156, upload-time = "2026-01-26T02:44:33.734Z" }, - { url = "https://files.pythonhosted.org/packages/db/6b/420e173eec5fba721a50e2a9f89eda89d9c98fded1124f8d5c675f7a0c0f/multidict-6.7.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:90efbcf47dbe33dcf643a1e400d67d59abeac5db07dc3f27d6bdeae497a2198c", size = 249742, upload-time = "2026-01-26T02:44:35.222Z" }, - { url = "https://files.pythonhosted.org/packages/44/a3/ec5b5bd98f306bc2aa297b8c6f11a46714a56b1e6ef5ebda50a4f5d7c5fb/multidict-6.7.1-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:5c4b9bfc148f5a91be9244d6264c53035c8a0dcd2f51f1c3c6e30e30ebaa1c84", size = 262221, upload-time = "2026-01-26T02:44:36.604Z" }, - { url = "https://files.pythonhosted.org/packages/cd/f7/e8c0d0da0cd1e28d10e624604e1a36bcc3353aaebdfdc3a43c72bc683a12/multidict-6.7.1-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:401c5a650f3add2472d1d288c26deebc540f99e2fb83e9525007a74cd2116f1d", size = 258664, upload-time = "2026-01-26T02:44:38.008Z" }, - { url = "https://files.pythonhosted.org/packages/52/da/151a44e8016dd33feed44f730bd856a66257c1ee7aed4f44b649fb7edeb3/multidict-6.7.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:97891f3b1b3ffbded884e2916cacf3c6fc87b66bb0dde46f7357404750559f33", size = 249490, upload-time = "2026-01-26T02:44:39.386Z" }, - { url = "https://files.pythonhosted.org/packages/87/af/a3b86bf9630b732897f6fc3f4c4714b90aa4361983ccbdcd6c0339b21b0c/multidict-6.7.1-cp313-cp313-win32.whl", hash = "sha256:e1c5988359516095535c4301af38d8a8838534158f649c05dd1050222321bcb3", size = 41695, upload-time = "2026-01-26T02:44:41.318Z" }, - { url = "https://files.pythonhosted.org/packages/b2/35/e994121b0e90e46134673422dd564623f93304614f5d11886b1b3e06f503/multidict-6.7.1-cp313-cp313-win_amd64.whl", hash = "sha256:960c83bf01a95b12b08fd54324a4eb1d5b52c88932b5cba5d6e712bb3ed12eb5", size = 45884, upload-time = "2026-01-26T02:44:42.488Z" }, - { url = "https://files.pythonhosted.org/packages/ca/61/42d3e5dbf661242a69c97ea363f2d7b46c567da8eadef8890022be6e2ab0/multidict-6.7.1-cp313-cp313-win_arm64.whl", hash = "sha256:563fe25c678aaba333d5399408f5ec3c383ca5b663e7f774dd179a520b8144df", size = 43122, upload-time = "2026-01-26T02:44:43.664Z" }, - { url = "https://files.pythonhosted.org/packages/6d/b3/e6b21c6c4f314bb956016b0b3ef2162590a529b84cb831c257519e7fde44/multidict-6.7.1-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:c76c4bec1538375dad9d452d246ca5368ad6e1c9039dadcf007ae59c70619ea1", size = 83175, upload-time = "2026-01-26T02:44:44.894Z" }, - { url = "https://files.pythonhosted.org/packages/fb/76/23ecd2abfe0957b234f6c960f4ade497f55f2c16aeb684d4ecdbf1c95791/multidict-6.7.1-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:57b46b24b5d5ebcc978da4ec23a819a9402b4228b8a90d9c656422b4bdd8a963", size = 48460, upload-time = "2026-01-26T02:44:46.106Z" }, - { url = "https://files.pythonhosted.org/packages/c4/57/a0ed92b23f3a042c36bc4227b72b97eca803f5f1801c1ab77c8a212d455e/multidict-6.7.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:e954b24433c768ce78ab7929e84ccf3422e46deb45a4dc9f93438f8217fa2d34", size = 46930, upload-time = "2026-01-26T02:44:47.278Z" }, - { url = "https://files.pythonhosted.org/packages/b5/66/02ec7ace29162e447f6382c495dc95826bf931d3818799bbef11e8f7df1a/multidict-6.7.1-cp313-cp313t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:3bd231490fa7217cc832528e1cd8752a96f0125ddd2b5749390f7c3ec8721b65", size = 242582, upload-time = "2026-01-26T02:44:48.604Z" }, - { url = "https://files.pythonhosted.org/packages/58/18/64f5a795e7677670e872673aca234162514696274597b3708b2c0d276cce/multidict-6.7.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:253282d70d67885a15c8a7716f3a73edf2d635793ceda8173b9ecc21f2fb8292", size = 250031, upload-time = "2026-01-26T02:44:50.544Z" }, - { url = "https://files.pythonhosted.org/packages/c8/ed/e192291dbbe51a8290c5686f482084d31bcd9d09af24f63358c3d42fd284/multidict-6.7.1-cp313-cp313t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:0b4c48648d7649c9335cf1927a8b87fa692de3dcb15faa676c6a6f1f1aabda43", size = 228596, upload-time = "2026-01-26T02:44:51.951Z" }, - { url = "https://files.pythonhosted.org/packages/1e/7e/3562a15a60cf747397e7f2180b0a11dc0c38d9175a650e75fa1b4d325e15/multidict-6.7.1-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:98bc624954ec4d2c7cb074b8eefc2b5d0ce7d482e410df446414355d158fe4ca", size = 257492, upload-time = "2026-01-26T02:44:53.902Z" }, - { url = "https://files.pythonhosted.org/packages/24/02/7d0f9eae92b5249bb50ac1595b295f10e263dd0078ebb55115c31e0eaccd/multidict-6.7.1-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1b99af4d9eec0b49927b4402bcbb58dea89d3e0db8806a4086117019939ad3dd", size = 255899, upload-time = "2026-01-26T02:44:55.316Z" }, - { url = "https://files.pythonhosted.org/packages/00/e3/9b60ed9e23e64c73a5cde95269ef1330678e9c6e34dd4eb6b431b85b5a10/multidict-6.7.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6aac4f16b472d5b7dc6f66a0d49dd57b0e0902090be16594dc9ebfd3d17c47e7", size = 247970, upload-time = "2026-01-26T02:44:56.783Z" }, - { url = "https://files.pythonhosted.org/packages/3e/06/538e58a63ed5cfb0bd4517e346b91da32fde409d839720f664e9a4ae4f9d/multidict-6.7.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:21f830fe223215dffd51f538e78c172ed7c7f60c9b96a2bf05c4848ad49921c3", size = 245060, upload-time = "2026-01-26T02:44:58.195Z" }, - { url = "https://files.pythonhosted.org/packages/b2/2f/d743a3045a97c895d401e9bd29aaa09b94f5cbdf1bd561609e5a6c431c70/multidict-6.7.1-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:f5dd81c45b05518b9aa4da4aa74e1c93d715efa234fd3e8a179df611cc85e5f4", size = 235888, upload-time = "2026-01-26T02:44:59.57Z" }, - { url = "https://files.pythonhosted.org/packages/38/83/5a325cac191ab28b63c52f14f1131f3b0a55ba3b9aa65a6d0bf2a9b921a0/multidict-6.7.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:eb304767bca2bb92fb9c5bd33cedc95baee5bb5f6c88e63706533a1c06ad08c8", size = 243554, upload-time = "2026-01-26T02:45:01.054Z" }, - { url = "https://files.pythonhosted.org/packages/20/1f/9d2327086bd15da2725ef6aae624208e2ef828ed99892b17f60c344e57ed/multidict-6.7.1-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:c9035dde0f916702850ef66460bc4239d89d08df4d02023a5926e7446724212c", size = 252341, upload-time = "2026-01-26T02:45:02.484Z" }, - { url = "https://files.pythonhosted.org/packages/e8/2c/2a1aa0280cf579d0f6eed8ee5211c4f1730bd7e06c636ba2ee6aafda302e/multidict-6.7.1-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:af959b9beeb66c822380f222f0e0a1889331597e81f1ded7f374f3ecb0fd6c52", size = 246391, upload-time = "2026-01-26T02:45:03.862Z" }, - { url = "https://files.pythonhosted.org/packages/e5/03/7ca022ffc36c5a3f6e03b179a5ceb829be9da5783e6fe395f347c0794680/multidict-6.7.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:41f2952231456154ee479651491e94118229844dd7226541788be783be2b5108", size = 243422, upload-time = "2026-01-26T02:45:05.296Z" }, - { url = "https://files.pythonhosted.org/packages/dc/1d/b31650eab6c5778aceed46ba735bd97f7c7d2f54b319fa916c0f96e7805b/multidict-6.7.1-cp313-cp313t-win32.whl", hash = "sha256:df9f19c28adcb40b6aae30bbaa1478c389efd50c28d541d76760199fc1037c32", size = 47770, upload-time = "2026-01-26T02:45:06.754Z" }, - { url = "https://files.pythonhosted.org/packages/ac/5b/2d2d1d522e51285bd61b1e20df8f47ae1a9d80839db0b24ea783b3832832/multidict-6.7.1-cp313-cp313t-win_amd64.whl", hash = "sha256:d54ecf9f301853f2c5e802da559604b3e95bb7a3b01a9c295c6ee591b9882de8", size = 53109, upload-time = "2026-01-26T02:45:08.044Z" }, - { url = "https://files.pythonhosted.org/packages/3d/a3/cc409ba012c83ca024a308516703cf339bdc4b696195644a7215a5164a24/multidict-6.7.1-cp313-cp313t-win_arm64.whl", hash = "sha256:5a37ca18e360377cfda1d62f5f382ff41f2b8c4ccb329ed974cc2e1643440118", size = 45573, upload-time = "2026-01-26T02:45:09.349Z" }, - { url = "https://files.pythonhosted.org/packages/91/cc/db74228a8be41884a567e88a62fd589a913708fcf180d029898c17a9a371/multidict-6.7.1-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:8f333ec9c5eb1b7105e3b84b53141e66ca05a19a605368c55450b6ba208cb9ee", size = 75190, upload-time = "2026-01-26T02:45:10.651Z" }, - { url = "https://files.pythonhosted.org/packages/d5/22/492f2246bb5b534abd44804292e81eeaf835388901f0c574bac4eeec73c5/multidict-6.7.1-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a407f13c188f804c759fc6a9f88286a565c242a76b27626594c133b82883b5c2", size = 44486, upload-time = "2026-01-26T02:45:11.938Z" }, - { url = "https://files.pythonhosted.org/packages/f1/4f/733c48f270565d78b4544f2baddc2fb2a245e5a8640254b12c36ac7ac68e/multidict-6.7.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0e161ddf326db5577c3a4cc2d8648f81456e8a20d40415541587a71620d7a7d1", size = 43219, upload-time = "2026-01-26T02:45:14.346Z" }, - { url = "https://files.pythonhosted.org/packages/24/bb/2c0c2287963f4259c85e8bcbba9182ced8d7fca65c780c38e99e61629d11/multidict-6.7.1-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:1e3a8bb24342a8201d178c3b4984c26ba81a577c80d4d525727427460a50c22d", size = 245132, upload-time = "2026-01-26T02:45:15.712Z" }, - { url = "https://files.pythonhosted.org/packages/a7/f9/44d4b3064c65079d2467888794dea218d1601898ac50222ab8a9a8094460/multidict-6.7.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:97231140a50f5d447d3164f994b86a0bed7cd016e2682f8650d6a9158e14fd31", size = 252420, upload-time = "2026-01-26T02:45:17.293Z" }, - { url = "https://files.pythonhosted.org/packages/8b/13/78f7275e73fa17b24c9a51b0bd9d73ba64bb32d0ed51b02a746eb876abe7/multidict-6.7.1-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:6b10359683bd8806a200fd2909e7c8ca3a7b24ec1d8132e483d58e791d881048", size = 233510, upload-time = "2026-01-26T02:45:19.356Z" }, - { url = "https://files.pythonhosted.org/packages/4b/25/8167187f62ae3cbd52da7893f58cb036b47ea3fb67138787c76800158982/multidict-6.7.1-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:283ddac99f7ac25a4acadbf004cb5ae34480bbeb063520f70ce397b281859362", size = 264094, upload-time = "2026-01-26T02:45:20.834Z" }, - { url = "https://files.pythonhosted.org/packages/a1/e7/69a3a83b7b030cf283fb06ce074a05a02322359783424d7edf0f15fe5022/multidict-6.7.1-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:538cec1e18c067d0e6103aa9a74f9e832904c957adc260e61cd9d8cf0c3b3d37", size = 260786, upload-time = "2026-01-26T02:45:22.818Z" }, - { url = "https://files.pythonhosted.org/packages/fe/3b/8ec5074bcfc450fe84273713b4b0a0dd47c0249358f5d82eb8104ffe2520/multidict-6.7.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7eee46ccb30ff48a1e35bb818cc90846c6be2b68240e42a78599166722cea709", size = 248483, upload-time = "2026-01-26T02:45:24.368Z" }, - { url = "https://files.pythonhosted.org/packages/48/5a/d5a99e3acbca0e29c5d9cba8f92ceb15dce78bab963b308ae692981e3a5d/multidict-6.7.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:fa263a02f4f2dd2d11a7b1bb4362aa7cb1049f84a9235d31adf63f30143469a0", size = 248403, upload-time = "2026-01-26T02:45:25.982Z" }, - { url = "https://files.pythonhosted.org/packages/35/48/e58cd31f6c7d5102f2a4bf89f96b9cf7e00b6c6f3d04ecc44417c00a5a3c/multidict-6.7.1-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2e1425e2f99ec5bd36c15a01b690a1a2456209c5deed58f95469ffb46039ccbb", size = 240315, upload-time = "2026-01-26T02:45:27.487Z" }, - { url = "https://files.pythonhosted.org/packages/94/33/1cd210229559cb90b6786c30676bb0c58249ff42f942765f88793b41fdce/multidict-6.7.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:497394b3239fc6f0e13a78a3e1b61296e72bf1c5f94b4c4eb80b265c37a131cd", size = 245528, upload-time = "2026-01-26T02:45:28.991Z" }, - { url = "https://files.pythonhosted.org/packages/64/f2/6e1107d226278c876c783056b7db43d800bb64c6131cec9c8dfb6903698e/multidict-6.7.1-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:233b398c29d3f1b9676b4b6f75c518a06fcb2ea0b925119fb2c1bc35c05e1601", size = 258784, upload-time = "2026-01-26T02:45:30.503Z" }, - { url = "https://files.pythonhosted.org/packages/4d/c1/11f664f14d525e4a1b5327a82d4de61a1db604ab34c6603bb3c2cc63ad34/multidict-6.7.1-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:93b1818e4a6e0930454f0f2af7dfce69307ca03cdcfb3739bf4d91241967b6c1", size = 251980, upload-time = "2026-01-26T02:45:32.603Z" }, - { url = "https://files.pythonhosted.org/packages/e1/9f/75a9ac888121d0c5bbd4ecf4eead45668b1766f6baabfb3b7f66a410e231/multidict-6.7.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:f33dc2a3abe9249ea5d8360f969ec7f4142e7ac45ee7014d8f8d5acddf178b7b", size = 243602, upload-time = "2026-01-26T02:45:34.043Z" }, - { url = "https://files.pythonhosted.org/packages/9a/e7/50bf7b004cc8525d80dbbbedfdc7aed3e4c323810890be4413e589074032/multidict-6.7.1-cp314-cp314-win32.whl", hash = "sha256:3ab8b9d8b75aef9df299595d5388b14530839f6422333357af1339443cff777d", size = 40930, upload-time = "2026-01-26T02:45:36.278Z" }, - { url = "https://files.pythonhosted.org/packages/e0/bf/52f25716bbe93745595800f36fb17b73711f14da59ed0bb2eba141bc9f0f/multidict-6.7.1-cp314-cp314-win_amd64.whl", hash = "sha256:5e01429a929600e7dab7b166062d9bb54a5eed752384c7384c968c2afab8f50f", size = 45074, upload-time = "2026-01-26T02:45:37.546Z" }, - { url = "https://files.pythonhosted.org/packages/97/ab/22803b03285fa3a525f48217963da3a65ae40f6a1b6f6cf2768879e208f9/multidict-6.7.1-cp314-cp314-win_arm64.whl", hash = "sha256:4885cb0e817aef5d00a2e8451d4665c1808378dc27c2705f1bf4ef8505c0d2e5", size = 42471, upload-time = "2026-01-26T02:45:38.889Z" }, - { url = "https://files.pythonhosted.org/packages/e0/6d/f9293baa6146ba9507e360ea0292b6422b016907c393e2f63fc40ab7b7b5/multidict-6.7.1-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:0458c978acd8e6ea53c81eefaddbbee9c6c5e591f41b3f5e8e194780fe026581", size = 82401, upload-time = "2026-01-26T02:45:40.254Z" }, - { url = "https://files.pythonhosted.org/packages/7a/68/53b5494738d83558d87c3c71a486504d8373421c3e0dbb6d0db48ad42ee0/multidict-6.7.1-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:c0abd12629b0af3cf590982c0b413b1e7395cd4ec026f30986818ab95bfaa94a", size = 48143, upload-time = "2026-01-26T02:45:41.635Z" }, - { url = "https://files.pythonhosted.org/packages/37/e8/5284c53310dcdc99ce5d66563f6e5773531a9b9fe9ec7a615e9bc306b05f/multidict-6.7.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:14525a5f61d7d0c94b368a42cff4c9a4e7ba2d52e2672a7b23d84dc86fb02b0c", size = 46507, upload-time = "2026-01-26T02:45:42.99Z" }, - { url = "https://files.pythonhosted.org/packages/e4/fc/6800d0e5b3875568b4083ecf5f310dcf91d86d52573160834fb4bfcf5e4f/multidict-6.7.1-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:17307b22c217b4cf05033dabefe68255a534d637c6c9b0cc8382718f87be4262", size = 239358, upload-time = "2026-01-26T02:45:44.376Z" }, - { url = "https://files.pythonhosted.org/packages/41/75/4ad0973179361cdf3a113905e6e088173198349131be2b390f9fa4da5fc6/multidict-6.7.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7a7e590ff876a3eaf1c02a4dfe0724b6e69a9e9de6d8f556816f29c496046e59", size = 246884, upload-time = "2026-01-26T02:45:47.167Z" }, - { url = "https://files.pythonhosted.org/packages/c3/9c/095bb28b5da139bd41fb9a5d5caff412584f377914bd8787c2aa98717130/multidict-6.7.1-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:5fa6a95dfee63893d80a34758cd0e0c118a30b8dcb46372bf75106c591b77889", size = 225878, upload-time = "2026-01-26T02:45:48.698Z" }, - { url = "https://files.pythonhosted.org/packages/07/d0/c0a72000243756e8f5a277b6b514fa005f2c73d481b7d9e47cd4568aa2e4/multidict-6.7.1-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:a0543217a6a017692aa6ae5cc39adb75e587af0f3a82288b1492eb73dd6cc2a4", size = 253542, upload-time = "2026-01-26T02:45:50.164Z" }, - { url = "https://files.pythonhosted.org/packages/c0/6b/f69da15289e384ecf2a68837ec8b5ad8c33e973aa18b266f50fe55f24b8c/multidict-6.7.1-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f99fe611c312b3c1c0ace793f92464d8cd263cc3b26b5721950d977b006b6c4d", size = 252403, upload-time = "2026-01-26T02:45:51.779Z" }, - { url = "https://files.pythonhosted.org/packages/a2/76/b9669547afa5a1a25cd93eaca91c0da1c095b06b6d2d8ec25b713588d3a1/multidict-6.7.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:9004d8386d133b7e6135679424c91b0b854d2d164af6ea3f289f8f2761064609", size = 244889, upload-time = "2026-01-26T02:45:53.27Z" }, - { url = "https://files.pythonhosted.org/packages/7e/a9/a50d2669e506dad33cfc45b5d574a205587b7b8a5f426f2fbb2e90882588/multidict-6.7.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e628ef0e6859ffd8273c69412a2465c4be4a9517d07261b33334b5ec6f3c7489", size = 241982, upload-time = "2026-01-26T02:45:54.919Z" }, - { url = "https://files.pythonhosted.org/packages/c5/bb/1609558ad8b456b4827d3c5a5b775c93b87878fd3117ed3db3423dfbce1b/multidict-6.7.1-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:841189848ba629c3552035a6a7f5bf3b02eb304e9fea7492ca220a8eda6b0e5c", size = 232415, upload-time = "2026-01-26T02:45:56.981Z" }, - { url = "https://files.pythonhosted.org/packages/d8/59/6f61039d2aa9261871e03ab9dc058a550d240f25859b05b67fd70f80d4b3/multidict-6.7.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:ce1bbd7d780bb5a0da032e095c951f7014d6b0a205f8318308140f1a6aba159e", size = 240337, upload-time = "2026-01-26T02:45:58.698Z" }, - { url = "https://files.pythonhosted.org/packages/a1/29/fdc6a43c203890dc2ae9249971ecd0c41deaedfe00d25cb6564b2edd99eb/multidict-6.7.1-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:b26684587228afed0d50cf804cc71062cc9c1cdf55051c4c6345d372947b268c", size = 248788, upload-time = "2026-01-26T02:46:00.862Z" }, - { url = "https://files.pythonhosted.org/packages/a9/14/a153a06101323e4cf086ecee3faadba52ff71633d471f9685c42e3736163/multidict-6.7.1-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9f9af11306994335398293f9958071019e3ab95e9a707dc1383a35613f6abcb9", size = 242842, upload-time = "2026-01-26T02:46:02.824Z" }, - { url = "https://files.pythonhosted.org/packages/41/5f/604ae839e64a4a6efc80db94465348d3b328ee955e37acb24badbcd24d83/multidict-6.7.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:b4938326284c4f1224178a560987b6cf8b4d38458b113d9b8c1db1a836e640a2", size = 240237, upload-time = "2026-01-26T02:46:05.898Z" }, - { url = "https://files.pythonhosted.org/packages/5f/60/c3a5187bf66f6fb546ff4ab8fb5a077cbdd832d7b1908d4365c7f74a1917/multidict-6.7.1-cp314-cp314t-win32.whl", hash = "sha256:98655c737850c064a65e006a3df7c997cd3b220be4ec8fe26215760b9697d4d7", size = 48008, upload-time = "2026-01-26T02:46:07.468Z" }, - { url = "https://files.pythonhosted.org/packages/0c/f7/addf1087b860ac60e6f382240f64fb99f8bfb532bb06f7c542b83c29ca61/multidict-6.7.1-cp314-cp314t-win_amd64.whl", hash = "sha256:497bde6223c212ba11d462853cfa4f0ae6ef97465033e7dc9940cdb3ab5b48e5", size = 53542, upload-time = "2026-01-26T02:46:08.809Z" }, - { url = "https://files.pythonhosted.org/packages/4c/81/4629d0aa32302ef7b2ec65c75a728cc5ff4fa410c50096174c1632e70b3e/multidict-6.7.1-cp314-cp314t-win_arm64.whl", hash = "sha256:2bbd113e0d4af5db41d5ebfe9ccaff89de2120578164f86a5d17d5a576d1e5b2", size = 44719, upload-time = "2026-01-26T02:46:11.146Z" }, - { url = "https://files.pythonhosted.org/packages/81/08/7036c080d7117f28a4af526d794aab6a84463126db031b007717c1a6676e/multidict-6.7.1-py3-none-any.whl", hash = "sha256:55d97cc6dae627efa6a6e548885712d4864b81110ac76fa4e534c03819fa4a56", size = 12319, upload-time = "2026-01-26T02:46:44.004Z" }, -] - -[[package]] -name = "packaging" -version = "26.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/d7/f1/e7a6dd94a8d4a5626c03e4e99c87f241ba9e350cd9e6d75123f992427270/packaging-26.2.tar.gz", hash = "sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661", size = 228134, upload-time = "2026-04-24T20:15:23.917Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/df/b2/87e62e8c3e2f4b32e5fe99e0b86d576da1312593b39f47d8ceef365e95ed/packaging-26.2-py3-none-any.whl", hash = "sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e", size = 100195, upload-time = "2026-04-24T20:15:22.081Z" }, -] - -[[package]] -name = "pefile" -version = "2024.8.26" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/03/4f/2750f7f6f025a1507cd3b7218691671eecfd0bbebebe8b39aa0fe1d360b8/pefile-2024.8.26.tar.gz", hash = "sha256:3ff6c5d8b43e8c37bb6e6dd5085658d658a7a0bdcd20b6a07b1fcfc1c4e9d632", size = 76008, upload-time = "2024-08-26T20:58:38.155Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/54/16/12b82f791c7f50ddec566873d5bdd245baa1491bac11d15ffb98aecc8f8b/pefile-2024.8.26-py3-none-any.whl", hash = "sha256:76f8b485dcd3b1bb8166f1128d395fa3d87af26360c2358fb75b80019b957c6f", size = 74766, upload-time = "2024-08-26T21:01:02.632Z" }, -] - -[[package]] -name = "propcache" -version = "0.5.2" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/ec/44/c87281c333769159c50594f22610f77398a47ccbfbbf23074e744e86f87c/propcache-0.5.2.tar.gz", hash = "sha256:01c4fc7480cd0598bb4b57022df55b9ca296da7fc5a8760bd8451a7e63a7d427", size = 50208, upload-time = "2026-05-08T21:02:12.199Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/f1/8a8cc1c2c7e7934ab77e0163414f736fadbc0f5e8dd9673b952355ac175b/propcache-0.5.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:74b70780220e2dd89175ca24b81b68b67c83db499ae611e7f2313cb329801c78", size = 90744, upload-time = "2026-05-08T20:59:45.799Z" }, - { url = "https://files.pythonhosted.org/packages/c2/f4/651b1225e976bd1a2ba5cfba0c29d096581c2636b437e3a9a7ab6276270a/propcache-0.5.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:a4840ab0ae0216d952f4b53dc6d0b992bfc2bedbfe360bdd9b548bc184c08959", size = 52033, upload-time = "2026-05-08T20:59:47.408Z" }, - { url = "https://files.pythonhosted.org/packages/15/a8/8ede85d6aa1f79fc7dc2f8fd2c8d65920b8272c3892903c8a1affde48cfb/propcache-0.5.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:c6844ba6364fb12f403928a82cfd295ab103a2b315c77c747b2dbe4a41894ea7", size = 52754, upload-time = "2026-05-08T20:59:49.202Z" }, - { url = "https://files.pythonhosted.org/packages/7d/fe/b3551b41bbc2f5b5bb088fc6920567cd43101253e68fbaa261339eb96fe1/propcache-0.5.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:2293949b855ce597f2826452d17c2d545fb5622379c4ea6fdf525e9b8e8a2511", size = 57573, upload-time = "2026-05-08T20:59:50.778Z" }, - { url = "https://files.pythonhosted.org/packages/83/27/ab851ebd1b7172e3e161f5f8d39e315d54a91bea246f01f4d872d3376aef/propcache-0.5.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:0fd59b5af35f74da48d905dcbad55449ba13be91823cb05a9bd590bbf5b61660", size = 60645, upload-time = "2026-05-08T20:59:52.227Z" }, - { url = "https://files.pythonhosted.org/packages/95/7d/466b3d18022e9897cbda9c735c493c5bd747d7a4c6f5ea1480b4cec434b6/propcache-0.5.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:29f9309a2e42b0d273be006fdb4be2d6c39a47f6f57d8fb1cf9f81481df81b66", size = 61563, upload-time = "2026-05-08T20:59:53.866Z" }, - { url = "https://files.pythonhosted.org/packages/27/1b/16ab7f2cf2041da2f60d156ba64c2484eadf9168075b4ff43c3ef60045af/propcache-0.5.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:5aaa2b923c1944ac8febd6609cb373540a5563e7cbcb0fd770f75dace2eb817b", size = 58888, upload-time = "2026-05-08T20:59:55.457Z" }, - { url = "https://files.pythonhosted.org/packages/0a/67/bb777ffd907633563bf35fd859c4ce97b0512c32f4633cf5d1eb7c33512b/propcache-0.5.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:66ea454f095ddf5b6b14f56c064c0941c4788be11e18d2464cf643bf7203ff67", size = 59253, upload-time = "2026-05-08T20:59:57.075Z" }, - { url = "https://files.pythonhosted.org/packages/b9/42/64f8d90b73fd9cdc1499b48057ff6d9cd2a98a25734c9bb62ecf07e87061/propcache-0.5.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:95f1e3f4760d404b13c9976c0229b2b49a3c8e2c62a9ce92efdd2b11ada75e3f", size = 57558, upload-time = "2026-05-08T20:59:58.602Z" }, - { url = "https://files.pythonhosted.org/packages/eb/02/dba5bc03c9041f2092ea55a449caf5dfe68352c6654511b29ba0654ddb69/propcache-0.5.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:85341b12b9d55bad0bded24cac341bb34289469e03a11f3f583ea1cc1db0326c", size = 55007, upload-time = "2026-05-08T20:59:59.837Z" }, - { url = "https://files.pythonhosted.org/packages/14/c0/43f649c7aa2a77a3b100d84e9dea3a483120ecb608bfe36ce49eaff517fe/propcache-0.5.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:26a4dca084132874e639895c3135dfad5eb20bae209f62d1aeb31b03e601c3c0", size = 60355, upload-time = "2026-05-08T21:00:01.144Z" }, - { url = "https://files.pythonhosted.org/packages/83/c0/435dafd27f1cb4a495381dae60e25883ccfe4020bb72818e8184c1678092/propcache-0.5.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:3b199b9b2b3d6a7edf3183ba8a9a137a22b97f7df525feb5ae1eccf026d2a9c6", size = 59057, upload-time = "2026-05-08T21:00:02.401Z" }, - { url = "https://files.pythonhosted.org/packages/53/ae/6e292df9135d659944e96cb3389258e4a663e5b2b5f6c217ef0ddc8d2f73/propcache-0.5.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:e59bc9e66329185b93dab73f210f1a37f81cb40f321501db8017c9aea15dba27", size = 61938, upload-time = "2026-05-08T21:00:03.638Z" }, - { url = "https://files.pythonhosted.org/packages/0b/42/314ebc50d8159055411fd6b0bda322ff510e4b1f7d2e4927940ad0f6af20/propcache-0.5.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:552ffadf6ad409844bc5919c42a0a83d88314cedddaea0e41e80a8b8fffe881f", size = 59731, upload-time = "2026-05-08T21:00:04.881Z" }, - { url = "https://files.pythonhosted.org/packages/b8/9b/2da6dee38871c3c8772fabc2758325a5c9077d6d18c597737dc04dd884cd/propcache-0.5.2-cp311-cp311-win32.whl", hash = "sha256:cd416c1de191973c52ff1a12a57446bfc7642797b282d7caf2162d7d1b8aa9a0", size = 38966, upload-time = "2026-05-08T21:00:06.511Z" }, - { url = "https://files.pythonhosted.org/packages/42/4e/f17363fb58c0afe05b067361cb6d86ed2d29de6506779a27547c4d183075/propcache-0.5.2-cp311-cp311-win_amd64.whl", hash = "sha256:44e488ef40dbb452700b2b1f8188934121f6648f52c295055662d2191959ff82", size = 42135, upload-time = "2026-05-08T21:00:08.088Z" }, - { url = "https://files.pythonhosted.org/packages/c6/eb/6af6685077d22e8b33358d3c548e3282706a0b3cd85044ffba4e5dd08e3b/propcache-0.5.2-cp311-cp311-win_arm64.whl", hash = "sha256:54adaa85a22078d1e306304a40984dc5be99d599bf3dc0a24dc98f7daeab89ab", size = 38381, upload-time = "2026-05-08T21:00:09.692Z" }, - { url = "https://files.pythonhosted.org/packages/4a/cb/e27bc2b2737a0bb49962b275efa051e8f1c35a936df7d5139b6b658b7dc9/propcache-0.5.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:806719138ecd720339a12410fb9614ac9b2b2d3a5fdf8235d56981c36f4039ba", size = 95887, upload-time = "2026-05-08T21:00:11.277Z" }, - { url = "https://files.pythonhosted.org/packages/e6/13/b8ae04c59392f8d11c6cd9fb4011d1dc7c86b81225c770280300e259ffe1/propcache-0.5.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:db2b80ea58eab4f86b2beec3cc8b39e8ff9276ac20e96b7cce43c8ae84cd6b5a", size = 54654, upload-time = "2026-05-08T21:00:12.604Z" }, - { url = "https://files.pythonhosted.org/packages/2c/7d/49777a3e20b55863d4794384a38acd460c04157b0a00f8602b0d508b8431/propcache-0.5.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:e5cbfac9f61484f7e9f3597775500cd3ebe8274e9b050c38f9525c77c97520bf", size = 55190, upload-time = "2026-05-08T21:00:13.935Z" }, - { url = "https://files.pythonhosted.org/packages/44/c7/085d0cd63062e84044e3f05797749c3f8e3938ff3aeb0eb2f69d43fafc91/propcache-0.5.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:5dbc581d2814337da56222fab8dc5f161cd798a434e49bac27930aaef798e144", size = 59995, upload-time = "2026-05-08T21:00:15.526Z" }, - { url = "https://files.pythonhosted.org/packages/9c/42/32cf8e3009e92b2645cf1e944f701e8ea4e924dffde1ee26db860bcbf7e4/propcache-0.5.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:857187f381f88c8e2fa2fe56ab94879d011b883d5a2ee5a1b60a8cd2a06846d9", size = 63422, upload-time = "2026-05-08T21:00:16.824Z" }, - { url = "https://files.pythonhosted.org/packages/9e/1b/f112433f99fc979431b87a39ef169e3f8df070d99a72792c56d6937ac48b/propcache-0.5.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:178b4a2cdaac1818e2bf1c5a99b94383fa73ea5382e032a48dec07dc5668dc42", size = 64342, upload-time = "2026-05-08T21:00:18.362Z" }, - { url = "https://files.pythonhosted.org/packages/14/15/5574111ae50dd6e879456888c0eadd4c5a869959775854e18e18a6b345f3/propcache-0.5.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f328175a2cde1f0ff2c4ed8ce968b9dcfb55f3a7153f39e2957ed994da13476", size = 61639, upload-time = "2026-05-08T21:00:19.692Z" }, - { url = "https://files.pythonhosted.org/packages/cc/da/4d775080b1490c0ae604acda868bd71aabe3a89ed16f2aa4339eb8a283e7/propcache-0.5.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:5671d09a36b06d0fd4a3da0fccbcae360e9b1570924171a15e9e0997f0249fba", size = 61588, upload-time = "2026-05-08T21:00:21.155Z" }, - { url = "https://files.pythonhosted.org/packages/04/ac/f076982cbe2195ee9cf32de5a1e46951d9fb399fc207f390562dd0fd8fb2/propcache-0.5.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:80168e2ebe4d3ec6599d10ad8f520304ae1cad9b6c5a95372aef1b66b7bfb53a", size = 60029, upload-time = "2026-05-08T21:00:22.713Z" }, - { url = "https://files.pythonhosted.org/packages/70/60/189be62e0dd898dce3b331e1b8c7a543cd3a405ac0c81fe8ee8a9d5d77e1/propcache-0.5.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:45f11346f884bc47444f6e6647131055844134c3175b629f84952e2b5cd62b64", size = 56774, upload-time = "2026-05-08T21:00:24.001Z" }, - { url = "https://files.pythonhosted.org/packages/ea/9e/93377b9c7939c1ffae98f878dee955efadfd638078bc86dbc21f9d52f651/propcache-0.5.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:8e778ebd44ef4f66ed60a0416b06b489687db264a9c0b3620362f26489492913", size = 63532, upload-time = "2026-05-08T21:00:25.545Z" }, - { url = "https://files.pythonhosted.org/packages/14/f9/590ef6cfb9b8028d516d287812ece32bb0bc5f11fbb9c8bf6b2e6313fec8/propcache-0.5.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:c0cb9ed24c8964e172768d455a38254c2dd8a552905729ce006cad3d3dda59b1", size = 61592, upload-time = "2026-05-08T21:00:27.186Z" }, - { url = "https://files.pythonhosted.org/packages/b4/5e/70958b3034c297a630bba2f17ca7abc2d5f39a803ad7e370ab79d1ecd022/propcache-0.5.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:1d1ad32d9d4355e2be65574fd0bfd3677e7066b009cd5b9b2dee8aa6a6393b33", size = 64788, upload-time = "2026-05-08T21:00:28.8Z" }, - { url = "https://files.pythonhosted.org/packages/12/fd/77fe5936d8c3086ca9048f7f415f122ed82e53884a9ec193646b42deef06/propcache-0.5.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:c80f4ba3e8f00189165999a742ee526ebeccedf6c3f7beb0c7df821e9772435a", size = 62514, upload-time = "2026-05-08T21:00:30.098Z" }, - { url = "https://files.pythonhosted.org/packages/cf/74/66bd798b5b3be70aa1b391f5cc9d6a0a5532d7fd3b19ec0b213e72e6ad9d/propcache-0.5.2-cp312-cp312-win32.whl", hash = "sha256:8c7972d8f193740d9175f0998ab38717e6cd322d5935c5b0fef8c0d323fd9031", size = 39018, upload-time = "2026-05-08T21:00:31.622Z" }, - { url = "https://files.pythonhosted.org/packages/61/7c/5c0d34aa3024694d6dcb9271cdbdd08c4e47c1c0ad95ec7e7bc74cdea145/propcache-0.5.2-cp312-cp312-win_amd64.whl", hash = "sha256:d9ee8826a7d47863a08ac44e1a5f611a462eefc3a194b492da242128bec75b42", size = 42322, upload-time = "2026-05-08T21:00:32.918Z" }, - { url = "https://files.pythonhosted.org/packages/4d/91/875812f1a3feb20ceba818ef39fbe4d92f1081e04ac815c822496d0d038b/propcache-0.5.2-cp312-cp312-win_arm64.whl", hash = "sha256:2800a4a8ead6b28cccd1ec54b59346f0def7922ee1c7598e8499c733cfbb7c84", size = 38172, upload-time = "2026-05-08T21:00:35.124Z" }, - { url = "https://files.pythonhosted.org/packages/c5/09/f049e45385503fe67db75a6b6186a7b9f0c3930366dc960522c312a825b1/propcache-0.5.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:099aaf4b4d1a02265b92a977edf00b5c4f63b3b17ac6de39b0d637c9cac0188a", size = 94457, upload-time = "2026-05-08T21:00:36.355Z" }, - { url = "https://files.pythonhosted.org/packages/6b/65/83d1d05655baf63113731bd5a1008435e14f8d1e5a06cbe4ec5b23ad7a31/propcache-0.5.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:68ce1c44c7a813a7f71ea04315a8c7b330b63db99d059a797a4651bb6f69f117", size = 53835, upload-time = "2026-05-08T21:00:38.072Z" }, - { url = "https://files.pythonhosted.org/packages/a9/12/a6ba6482bb5ea3260c000c9b20881c95fa11c6b30173715668259f844ed7/propcache-0.5.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:fc299c129490f55f254cd90be0deca4764e36e9a7c08b4aa588479a3bbed3098", size = 54545, upload-time = "2026-05-08T21:00:39.319Z" }, - { url = "https://files.pythonhosted.org/packages/a9/19/7fa086f5764c59ec8a8e157cd93aa8497acc00aba9dcdec56bfffb32602d/propcache-0.5.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a6ae2198be502c10f09b2516e7b5d019816924bc3183a43ce792a7bd6625e6f4", size = 59886, upload-time = "2026-05-08T21:00:40.621Z" }, - { url = "https://files.pythonhosted.org/packages/a1/e4/5d7663dc8235956c8f5281698a3af1d351d8820341ddd890f59d9a9127f2/propcache-0.5.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:6041d31504dc1779d700e1edcfb08eea334b357620b06681a4eabb57a74e574e", size = 63261, upload-time = "2026-05-08T21:00:41.775Z" }, - { url = "https://files.pythonhosted.org/packages/4a/4a/15a03adee24d6350da4292caeac44c34c033d2afe5e87eb370f38854560f/propcache-0.5.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f7eabc04151c78a9f4d5bbb5f1faf571e4defeb4b585e0fe95b60ff2dbe4d3d7", size = 64184, upload-time = "2026-05-08T21:00:43.018Z" }, - { url = "https://files.pythonhosted.org/packages/8b/c6/979176efdaa3d239e36d503d5af63a0a773b36662ed8f52e5b6a6d9fd40e/propcache-0.5.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:4db0ba63d693afd40d249bd93f842b5f144f8fcbb83de05660373bcf30517b1d", size = 61534, upload-time = "2026-05-08T21:00:44.507Z" }, - { url = "https://files.pythonhosted.org/packages/c8/22/63e8cd1bae4c2d2be6493b6b7d10566ddafad88137cfbc99964a1119853c/propcache-0.5.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:1dbcf7675229b35d31abb6547d8ebc8c27a830ac3f9a794edff6254873ec7c0a", size = 61500, upload-time = "2026-05-08T21:00:45.796Z" }, - { url = "https://files.pythonhosted.org/packages/60/5a/28e5d9acbac1cc9ccb67045e8c1b943aa8d79fdf39c93bd73cacd68008ea/propcache-0.5.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d310c013aad2c72f1c3f2f8dd3279d460a858c551f97aeb8c63e4693cca7b4d2", size = 59994, upload-time = "2026-05-08T21:00:47.093Z" }, - { url = "https://files.pythonhosted.org/packages/f3/40/db650677f554a95b9c01a7c9d93d629e93a15562f5deb4573c9ee136fed2/propcache-0.5.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:06187263ddad280d05b4d8a8b3bb7d164cbebd469236544a42e6d9b28ac6a4fa", size = 56884, upload-time = "2026-05-08T21:00:48.376Z" }, - { url = "https://files.pythonhosted.org/packages/80/45/70b39b89516ff8b96bf732fa6fded8cef20f293cb1508690101c3c07ec51/propcache-0.5.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:3115559b8effafd63b142ea5ed53d63a16ea6469cbc63dce4ee194b42db5d853", size = 63464, upload-time = "2026-05-08T21:00:49.954Z" }, - { url = "https://files.pythonhosted.org/packages/f9/e2/fa59d3a89eac5534293124af4f1d0d0ada091ce4a0ab4610ce03fd2bdd8d/propcache-0.5.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c60462af8e6dc30c35407c7237ea908d777b22862bbee27bc4699c0d8bcdc45a", size = 61588, upload-time = "2026-05-08T21:00:51.281Z" }, - { url = "https://files.pythonhosted.org/packages/0b/97/efb547a55c4bc7381cfb202d6a2239ac621045277bc1ea5dfd3a7f0516c0/propcache-0.5.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:40314bca9ac559716fe374094fc81c11dcc34b64fd6c585360f5775690505704", size = 64667, upload-time = "2026-05-08T21:00:52.602Z" }, - { url = "https://files.pythonhosted.org/packages/92/56/f5c7d9b4b7595d5127da38974d791b2153f3d1eae6c674af3583ace92ad3/propcache-0.5.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:cfa21e036ce1e1db2be04ba3b85d2df1bb1702fa01932d984c5464c665228ff4", size = 62463, upload-time = "2026-05-08T21:00:54.303Z" }, - { url = "https://files.pythonhosted.org/packages/bd/3b/484a3a65fc9f9f60c41dcd17b428bace5389544e2c680994534a20755066/propcache-0.5.2-cp313-cp313-win32.whl", hash = "sha256:f156a3529f38063b6dbaf356e15602a7f95f8055b1295a438433a6386f10463d", size = 38621, upload-time = "2026-05-08T21:00:55.808Z" }, - { url = "https://files.pythonhosted.org/packages/1c/fd/3f0f10dba4dabad3bf53102be007abf55481067952bde0fdddff439e7c61/propcache-0.5.2-cp313-cp313-win_amd64.whl", hash = "sha256:dfed59d0a5aeb01e242e66ff0300bc4a265a7c05f612d30016f0b60b1017d757", size = 41649, upload-time = "2026-05-08T21:00:57.061Z" }, - { url = "https://files.pythonhosted.org/packages/90/ec/6ce619cc32bb500a482f811f9cd509368b4e58e638d13f2c68f370d6b475/propcache-0.5.2-cp313-cp313-win_arm64.whl", hash = "sha256:ba338430e87ceb9c8f0cf754de38a9860560261e56c00376debd628698a7364f", size = 37636, upload-time = "2026-05-08T21:00:58.646Z" }, - { url = "https://files.pythonhosted.org/packages/1b/82/c1d268bbbf2ef981c5bf0fbbe746db617c66e3bcefe431a1aa8943fbe23a/propcache-0.5.2-cp313-cp313t-macosx_10_13_universal2.whl", hash = "sha256:a592f5f3da71c8691c788c13cb6734b6d17663d2e1cb8caddf0673d01ef8847d", size = 98872, upload-time = "2026-05-08T21:00:59.889Z" }, - { url = "https://files.pythonhosted.org/packages/f4/d4/52c871e73e864e6b34c0e2d58ac1ec5ccd149497ddc7ad2137ae98323a35/propcache-0.5.2-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:6a997d0489e9668a384fcfd5061b857aa5361de73191cac204d04b889cfbbafa", size = 56257, upload-time = "2026-05-08T21:01:01.195Z" }, - { url = "https://files.pythonhosted.org/packages/67/f0/9b90ca2a210b3d09bcfcd96ecd0f55545c091535abce2a45de2775cfd357/propcache-0.5.2-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:10734b5484ea113152ee25a91dccedf81631791805d2c9ccb054958e51842c94", size = 56696, upload-time = "2026-05-08T21:01:02.941Z" }, - { url = "https://files.pythonhosted.org/packages/9d/0e/6e9d4ba07c8e56e21ddec1e75f12148142b21ca83a51871babce095334f4/propcache-0.5.2-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:cafca7e56c12bb02ae16d283742bef25a61122e9dab2b5b3f2ccbe589ce32164", size = 62378, upload-time = "2026-05-08T21:01:04.475Z" }, - { url = "https://files.pythonhosted.org/packages/65/19/c10badaa463dde8a27ce884f8ee2ec37e6035b7c9f5ff0c8f74f06f08dac/propcache-0.5.2-cp313-cp313t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f064f8d2b59177878b7615df1735cd8fe3462ed6be8c7b217d17a276489c2b7f", size = 65283, upload-time = "2026-05-08T21:01:05.959Z" }, - { url = "https://files.pythonhosted.org/packages/b0/b6/93bea99ca80e19cef6512a8580e5b7857bbe09422d9daa7fd4ef5723306c/propcache-0.5.2-cp313-cp313t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:f78abfa8dfc32376fd1aacf597b2f2fbbe0ea751419aee718af5d4f82537ef8c", size = 66616, upload-time = "2026-05-08T21:01:07.228Z" }, - { url = "https://files.pythonhosted.org/packages/83/e4/5c7462e50625f051f37fb38b8224f7639f667184bbd34424ec83819bb1b7/propcache-0.5.2-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f7467da8a9822bf1a55336f877340c5bcbd3c482afc43a99771169f74a26dedc", size = 63773, upload-time = "2026-05-08T21:01:08.514Z" }, - { url = "https://files.pythonhosted.org/packages/ca/b6/99238894047b13c823be25027e736626cd414a52a5e30d2c3347c2733529/propcache-0.5.2-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a6ddc6ac9e25de626c1f129c1b467d7ecd33ce2237d3fd0c4e429feef0a7ee1f", size = 63664, upload-time = "2026-05-08T21:01:09.874Z" }, - { url = "https://files.pythonhosted.org/packages/85/1e/a3a1a63116a2b8edb415a8bb9a6f0c34bd03830b1e18e8ce2904e1dc1cf4/propcache-0.5.2-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:2f22cbbac9e26a8e864c0985ff1268d5d939d53d9d9411a9824279097e03a2cb", size = 62643, upload-time = "2026-05-08T21:01:11.132Z" }, - { url = "https://files.pythonhosted.org/packages/e4/03/893cf147de2fc6543c5eaa07ad833170e7e2a2385725bbebe8c0503723bb/propcache-0.5.2-cp313-cp313t-musllinux_1_2_armv7l.whl", hash = "sha256:fc76378c62a0f04d0cd82fbb1a2cd2d7e28fcb40d5873f28a6c44e388aaa2751", size = 59595, upload-time = "2026-05-08T21:01:12.387Z" }, - { url = "https://files.pythonhosted.org/packages/86/3b/04c1a2e12c57766568ba75ba72b3bf2042818d4c1425fab6fc07155c7cff/propcache-0.5.2-cp313-cp313t-musllinux_1_2_ppc64le.whl", hash = "sha256:acd2c8edba48e31e58a363b8cf4e5c7db3b04b3f9e371f601df30d9b0d244836", size = 65711, upload-time = "2026-05-08T21:01:13.676Z" }, - { url = "https://files.pythonhosted.org/packages/1c/34/80f8d0099f8d6bacc4de1624c85672681c8cd1149ca2da0e38fd120b817f/propcache-0.5.2-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:452b5065457eb9991ec5eb38ff41d6cd4c991c9ac7c531c4d5849ae473a9a13f", size = 64247, upload-time = "2026-05-08T21:01:14.936Z" }, - { url = "https://files.pythonhosted.org/packages/f3/1a/8b08f3a5f1037e9e370c55883ceeeee0f6dd0416fb2d2d67b8bfc91f2a79/propcache-0.5.2-cp313-cp313t-musllinux_1_2_s390x.whl", hash = "sha256:3430bb2bfe1331885c427745a751e774ee679fd4344f80b97bf879815fe8fa55", size = 67102, upload-time = "2026-05-08T21:01:16.281Z" }, - { url = "https://files.pythonhosted.org/packages/34/68/8bdb7bb7756d76e005490649d10e4a8369e610c74d619f71e1aedf889e9c/propcache-0.5.2-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:cef6cea3922890dd6c9654971001fa797b526c16ab5e1e46c05fd6f877be7568", size = 64964, upload-time = "2026-05-08T21:01:17.57Z" }, - { url = "https://files.pythonhosted.org/packages/0a/aa/50fb0b5d3968b61a510926ff8b8465f1d6e976b3ab74496d7a4b9fc42515/propcache-0.5.2-cp313-cp313t-win32.whl", hash = "sha256:72d61e16dd78228b58c5d47be830ff3da7e5f139abdf0aef9d86cde1c5cf2191", size = 42546, upload-time = "2026-05-08T21:01:18.946Z" }, - { url = "https://files.pythonhosted.org/packages/ae/4c/0ddbae64321bd4a95bcbfc19307238016b5b1fee645c84626c8d539e5b74/propcache-0.5.2-cp313-cp313t-win_amd64.whl", hash = "sha256:0958834041a0166d343b8d2cedcd8bcbaeb4fdbe0cf08320c5379f143c3be6e7", size = 46330, upload-time = "2026-05-08T21:01:20.162Z" }, - { url = "https://files.pythonhosted.org/packages/00/d9/9cddc8efb78d8af264c5ec9f6d10b62f57c515feda8d321595f56010fb23/propcache-0.5.2-cp313-cp313t-win_arm64.whl", hash = "sha256:6de8bd93ddde9b992cf2b2e0d796d501a19026b5b9fd87356d7d0779531a8d96", size = 40521, upload-time = "2026-05-08T21:01:21.399Z" }, - { url = "https://files.pythonhosted.org/packages/e2/ea/23ee535d90ce8bcc465a3028eb3cc0ce3bd1005f4bb27710b30587de798d/propcache-0.5.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:46088abff4cba581dea21ae0467a480526cb25aa5f3c269e909f800328bc3999", size = 94662, upload-time = "2026-05-08T21:01:22.683Z" }, - { url = "https://files.pythonhosted.org/packages/b5/06/c5a52f419b5d8972f8d46a7577476090d8e3263ff589ce40b5ca4968d5be/propcache-0.5.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:fc88b26f08d634f7bc819a7852e5214f5802641ab8d9fd5326892292eee1993e", size = 53928, upload-time = "2026-05-08T21:01:23.986Z" }, - { url = "https://files.pythonhosted.org/packages/63/b1/4260d67d6bd85e58a66b72d54ce15d5de789b6f3870cc6bedf8ff9667401/propcache-0.5.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:97797ebb098e670a2f92dd66f32897e30d7615b14e7f59711de23e30a9072539", size = 54650, upload-time = "2026-05-08T21:01:25.305Z" }, - { url = "https://files.pythonhosted.org/packages/70/06/2f46c318e3307cd7a6a7481def374ce838c0fe20084b39dd54b0879d0e99/propcache-0.5.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ba57fffe4ac99c5d30076161b5866336d97600769bad35cc68f7774b15298a4e", size = 59912, upload-time = "2026-05-08T21:01:26.545Z" }, - { url = "https://files.pythonhosted.org/packages/4c/29/fe1aebec2ce57ab985a9c382bded1124431f85078113aa222c5d278430d4/propcache-0.5.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:583c19759d9eec1e5b69e2fbef36a7d9c326041be9746cb822d335c8cedc2979", size = 63300, upload-time = "2026-05-08T21:01:27.937Z" }, - { url = "https://files.pythonhosted.org/packages/b4/18/2334b26768b6c82be8c69e83671b767d5ef426aa09b0cba6c2ea47816774/propcache-0.5.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d0326e2e5e1f3163fa306c834e48e8d490e5fae607a097a40c0648109b47ba80", size = 64208, upload-time = "2026-05-08T21:01:29.484Z" }, - { url = "https://files.pythonhosted.org/packages/2b/76/7f1bfd6afff4c5e38e36a3c6d68eb5f4b7311ea80baf693db78d95b603c4/propcache-0.5.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e00820e192c8dbebcafb383ebbf99030895f09905e7a0eb2e0340a0bcc2bc825", size = 61633, upload-time = "2026-05-08T21:01:31.068Z" }, - { url = "https://files.pythonhosted.org/packages/c4/46/b3ff8aba2b4953a3e50de2cf72f1b5748b8eca93b15f3dc2c84339084c09/propcache-0.5.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:c66afea89b1e43725731d2004732a046fe6fe955d51f952c3e95a7314a284a39", size = 61724, upload-time = "2026-05-08T21:01:32.374Z" }, - { url = "https://files.pythonhosted.org/packages/c5/01/814cfcafbcff954f94c01cf30e097ddc88a076b5440fbcf4570753437d40/propcache-0.5.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:d4dc37dec6c6cdad0b57881a5658fd14fbf53e333b1a86cf86559f190e1d9ec4", size = 60069, upload-time = "2026-05-08T21:01:33.67Z" }, - { url = "https://files.pythonhosted.org/packages/da/68/5c6f7622d510cc666a300687e06fd060c1a43361c0c9b20d284f06d8096a/propcache-0.5.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:5570dbcc97571c15f68068e529c92715a12f8d54030e272d264b377e22bd17a5", size = 57099, upload-time = "2026-05-08T21:01:34.915Z" }, - { url = "https://files.pythonhosted.org/packages/55/27/9cb0b4c679124085327957d42521c99dba04c88c90c3e55a6f0b633ebccc/propcache-0.5.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:f814362777a9f841adddb200ecdf8f5cb1e5a3c4b7a86378edbd6ccb26edd702", size = 63391, upload-time = "2026-05-08T21:01:36.231Z" }, - { url = "https://files.pythonhosted.org/packages/f0/9d/7258aaa5bdf60fc6f27591eef6fe52768cb0beda7140be477c8b12c9794a/propcache-0.5.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:196913dea116aeb5a2ba95af4ddcb7ea85559ae07d8eee8751688310d09168c3", size = 61626, upload-time = "2026-05-08T21:01:37.545Z" }, - { url = "https://files.pythonhosted.org/packages/8e/0d/41c602003e8a9b16fe1e7eadf62c7bfba9d5474370b24200bf48b315f45f/propcache-0.5.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:6e7b8719005dd1175be4ab1cd25e9b98659a5e0347331506ec6760d2773a7fb5", size = 64781, upload-time = "2026-05-08T21:01:38.83Z" }, - { url = "https://files.pythonhosted.org/packages/8b/f3/38e66b1856e9bd079deea015bc4a55f7767c0e4db2f7dcf69e7e680ba4ce/propcache-0.5.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:51f96d685ab16e88cab128cd37a52c5da540809c8b879fa047731bfcb4ad35a4", size = 62570, upload-time = "2026-05-08T21:01:40.415Z" }, - { url = "https://files.pythonhosted.org/packages/95/ca/bbfe9b910ce57dde8bb4876b4520fc02a4e89497c10de26be936758a3aaa/propcache-0.5.2-cp314-cp314-win32.whl", hash = "sha256:cc6fc3cc62e8501d3ed62894425040d2728ecddb1ed072737a5c70bd537aa9f0", size = 39436, upload-time = "2026-05-08T21:01:41.654Z" }, - { url = "https://files.pythonhosted.org/packages/61/d2/45c9defbaa1ea297035d9d4cce9e8f80daafbf19319c6007f157c6256ea9/propcache-0.5.2-cp314-cp314-win_amd64.whl", hash = "sha256:81e3a30b0bb60caa22033dd0f8a3618d1d67356212514f62c57db75cb0ef410c", size = 42373, upload-time = "2026-05-08T21:01:43.041Z" }, - { url = "https://files.pythonhosted.org/packages/44/68/9ea5103f41d5217d7d6ec24db90018e23aebec070c3f9a6e54d12b841fd8/propcache-0.5.2-cp314-cp314-win_arm64.whl", hash = "sha256:0d2c9bf8528f135dbb805ce027567e09164f7efa51a2be07458a2c0420f292d0", size = 38554, upload-time = "2026-05-08T21:01:44.336Z" }, - { url = "https://files.pythonhosted.org/packages/8a/81/fadf555f42d3b762eea8a53950b0489fdc0aa9da5f8ed9e10ce0a4e01b48/propcache-0.5.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:4bc8ff1feffc6a61c7002ffe84634c41b822e104990ae009f44a0834430070bb", size = 99395, upload-time = "2026-05-08T21:01:45.883Z" }, - { url = "https://files.pythonhosted.org/packages/f5/c9/c61e134a686949cf7971af3a390148b1156f7be81c73bc0cd12c873e2d48/propcache-0.5.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:79aa3ff0a9b566633b642fa9caf7e21ed1c13d6feca718187873f199e1514078", size = 56653, upload-time = "2026-05-08T21:01:47.307Z" }, - { url = "https://files.pythonhosted.org/packages/cb/73/daf935ea7048ddd7ec8eec5345b4a40b619d2d178b3c0a0900796bc3c794/propcache-0.5.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1b31822f4474c4036bae62de9402710051d431a606d6a0f907fec79935a071aa", size = 56914, upload-time = "2026-05-08T21:01:48.573Z" }, - { url = "https://files.pythonhosted.org/packages/79/9f/aba959b435ea18617edd7cf0a7ad0b9c574b8fc7e3d2cd55fb59cb255d33/propcache-0.5.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:13fef48778b5a2a756523fdb781326b028ca75e32858b04f2cdd19f394564917", size = 62567, upload-time = "2026-05-08T21:01:49.903Z" }, - { url = "https://files.pythonhosted.org/packages/6c/a1/859942de9a791ff42f6141736f5b37749b8f53e65edfa49638c67dd67e6a/propcache-0.5.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:8b73ab70f1a3351fbc71f663b3e645af6dd0329100c353081cf69c37433fc6fe", size = 65542, upload-time = "2026-05-08T21:01:51.204Z" }, - { url = "https://files.pythonhosted.org/packages/b5/61/315bc0fd6c0fc7f80a528b8afd209e5fc4a875ea79571b91b8f50f442907/propcache-0.5.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5538d2c13d93e4698af7e092b57bc7298fd35d1d58e656ae18f23ee0d0378e03", size = 66845, upload-time = "2026-05-08T21:01:52.539Z" }, - { url = "https://files.pythonhosted.org/packages/47/f7/9f8122e3132e8e354ac41975ef8f1099be7d5a16bc7ae562734e993665c0/propcache-0.5.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:cd645f03898405cabe694fb8bc35241e3a9c332ec85627584fe3de201452b335", size = 63985, upload-time = "2026-05-08T21:01:53.847Z" }, - { url = "https://files.pythonhosted.org/packages/c8/54/c317819ec157cbf6f35df9df9657a6f82daf34d5faf15948b2f639c2192e/propcache-0.5.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:a473b3440261e0c60706e732b2ed2f517857344fc21bf48fdfe211e2d98eb285", size = 63999, upload-time = "2026-05-08T21:01:55.179Z" }, - { url = "https://files.pythonhosted.org/packages/5a/56/387e3f7dfce0a9233df41fb888aa1c30222cb4bbbf09537c02dd9bd85fe2/propcache-0.5.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7afa37062e6650640e932e4cc9297d81f9f42d9944029cc386b8247dea4da837", size = 62779, upload-time = "2026-05-08T21:01:57.489Z" }, - { url = "https://files.pythonhosted.org/packages/a1/9c/596784cb5824ed61ee960d3f8655a3f0993e107c6e98ab6c818b7fb92ccb/propcache-0.5.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:8a90efd5777e996e42d568db9ac740b944d691e565cbfd31b2f7832f9184b2b8", size = 59796, upload-time = "2026-05-08T21:01:58.736Z" }, - { url = "https://files.pythonhosted.org/packages/c2/3d/1a6cfa1726a48542c1e8784a0761421476a5b68e09b7f36bf95eb954aaba/propcache-0.5.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:f19bb891234d72535764d703bfed1153cc34f4214d5bd7150aee1eec9e8f4366", size = 66023, upload-time = "2026-05-08T21:02:00.228Z" }, - { url = "https://files.pythonhosted.org/packages/e4/0e/05fd6990369477076e4e280bcb970de760fddf0161a46e988bc95f7940ec/propcache-0.5.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:32775082acd2d807ee3db715c7770d38767b817870acfa08c29e057f3c4d5b56", size = 64448, upload-time = "2026-05-08T21:02:01.888Z" }, - { url = "https://files.pythonhosted.org/packages/cd/86/5f8da315a4309c62c10c0b2516b17492d5d3bbe1bb862b96604db67e2a37/propcache-0.5.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:9282fb1a3bccd038da9f768b927b24a0c753e466c086b7c4f3c6982851eefb2d", size = 67329, upload-time = "2026-05-08T21:02:03.484Z" }, - { url = "https://files.pythonhosted.org/packages/da/d3/3368efe79ab21f0cdf86ef49895811c9cc933131d4cde1f28a624e22e712/propcache-0.5.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cc49723e2f60d6b32a0f0b08a3fd6d13203c07f1cd9566cfce0f12a917c967a2", size = 65172, upload-time = "2026-05-08T21:02:04.745Z" }, - { url = "https://files.pythonhosted.org/packages/d5/07/127e8b0bacfb325396196f9d976a22453049b89b9b2b08477cc3145faa44/propcache-0.5.2-cp314-cp314t-win32.whl", hash = "sha256:2d7aa89ebca5acc98cba9d1472d976e394782f587bad6661003602a619fd1821", size = 43813, upload-time = "2026-05-08T21:02:06.025Z" }, - { url = "https://files.pythonhosted.org/packages/88/fb/46dad6c0ae49ed230ab1b16c890c2b6314e2403e6c412976f4a72d64a527/propcache-0.5.2-cp314-cp314t-win_amd64.whl", hash = "sha256:d447bb0b3054be5818458fbb171208b1d9ff11eba14e18ca18b90cbb45767370", size = 47764, upload-time = "2026-05-08T21:02:07.353Z" }, - { url = "https://files.pythonhosted.org/packages/e7/c4/a47d0a63aa309d10d59ede6e9d4cff03a344a79d1f0f4cd0cd74997b53e0/propcache-0.5.2-cp314-cp314t-win_arm64.whl", hash = "sha256:fe67a3d11cd9b4efabfa45c3d00ffba2b26811442a73a581a94b67c2b5faccf6", size = 41140, upload-time = "2026-05-08T21:02:09.065Z" }, - { url = "https://files.pythonhosted.org/packages/3a/ed/1cdcab6ba3d6ab7feca11fc14f0eeea80755bb53ef4e892079f31b10a25f/propcache-0.5.2-py3-none-any.whl", hash = "sha256:be1ddfcbb376e3de5d2e2db1d58d6d67463e6b4f9f040c000de8e300295465fe", size = 14036, upload-time = "2026-05-08T21:02:10.673Z" }, -] - -[[package]] -name = "pyinstaller" -version = "6.21.0" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "altgraph" }, - { name = "macholib", marker = "sys_platform == 'darwin'" }, - { name = "packaging" }, - { name = "pefile", marker = "sys_platform == 'win32'" }, - { name = "pyinstaller-hooks-contrib" }, - { name = "pywin32-ctypes", marker = "sys_platform == 'win32'" }, - { name = "setuptools" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/d5/4d/ec706c3fcf39e26888c35b39615ff4d5865d184069666c47492cff1fbe50/pyinstaller-6.21.0.tar.gz", hash = "sha256:bb9fab705983e393a2d1cac77d6972513057ad800215fd861dc15ff5272e98fd", size = 4061519, upload-time = "2026-06-13T14:15:06.25Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/0c/4a/53cf98bf66daed012dc9cd78c8203f19a675d696f2fc12afcf8c5049a0e0/pyinstaller-6.21.0-py3-none-macosx_10_13_universal2.whl", hash = "sha256:327d132389f37912609e01be62810cf96b5aa95b613903e4b8692e0d12fb0eda", size = 1052350, upload-time = "2026-06-13T14:13:55.88Z" }, - { url = "https://files.pythonhosted.org/packages/30/83/b591295c352ef464c50b4c6ffff1c4f771d875c9e833f578d1b9f564f6b3/pyinstaller-6.21.0-py3-none-manylinux2014_aarch64.whl", hash = "sha256:7071d4b094d5b40deeef5fa3d3b98a1b846087f7562b49209663d5f9281fe251", size = 748477, upload-time = "2026-06-13T14:14:00.327Z" }, - { url = "https://files.pythonhosted.org/packages/3d/8f/88fff4e403873b1e22286911350e75ff00db014aa08e57045da9d4328993/pyinstaller-6.21.0-py3-none-manylinux2014_i686.whl", hash = "sha256:6b6374d652107dd4a2eeece903ff82bb4045bb5e1006c5a158a6dcdbefe84bf2", size = 760877, upload-time = "2026-06-13T14:14:04.836Z" }, - { url = "https://files.pythonhosted.org/packages/8a/13/f0e48fbdfd1d05d948157121cea8b1b823dcb89efe6934b71fdd8bdb3f0f/pyinstaller-6.21.0-py3-none-manylinux2014_ppc64le.whl", hash = "sha256:4e3108b3f02384560da70e39b8bf22b0ad597d02bd68a40d76ea91c1cfa00cad", size = 759194, upload-time = "2026-06-13T14:14:10.61Z" }, - { url = "https://files.pythonhosted.org/packages/dd/d5/ea7878cf9924ed30d946d8288777424e6d069d94f5bde56b4d0890069664/pyinstaller-6.21.0-py3-none-manylinux2014_s390x.whl", hash = "sha256:697532279f535ad572bda613db4f821540e235c7854ca6da4d3bf0373f4415ee", size = 754979, upload-time = "2026-06-13T14:14:15.226Z" }, - { url = "https://files.pythonhosted.org/packages/9f/09/51b8905714b733bac66dbc041a7821372d70d888d273ae474c4037d4202d/pyinstaller-6.21.0-py3-none-manylinux2014_x86_64.whl", hash = "sha256:605169523a6b5ace39f13dfbff21add9f2bc43df99c7daf9394fefb2c45e8b6f", size = 754812, upload-time = "2026-06-13T14:14:20.264Z" }, - { url = "https://files.pythonhosted.org/packages/4b/43/d77779439d8c6c2e27a77bcfbd1d5cc0f568ebb611bb472b11af81b5f177/pyinstaller-6.21.0-py3-none-musllinux_1_1_aarch64.whl", hash = "sha256:5fa56746c1e76f93634d018502301378a2d0c382553d37d8c3c34ff436c12dd1", size = 753887, upload-time = "2026-06-13T14:14:25.268Z" }, - { url = "https://files.pythonhosted.org/packages/51/8f/c22df1f6837784ac349057ba693f08e7b1ca7a0e06f9c33c63bc6280007b/pyinstaller-6.21.0-py3-none-musllinux_1_1_x86_64.whl", hash = "sha256:42395ec76df8e8120c36b13339d9db8cab83e316a12839ee303cc00fc941bb74", size = 753779, upload-time = "2026-06-13T14:14:29.445Z" }, - { url = "https://files.pythonhosted.org/packages/c9/76/1ce8a27ce62ba8cf3a87c9ce6d575610f4e55d7cb0123e7512fc3f4b921a/pyinstaller-6.21.0-py3-none-win32.whl", hash = "sha256:c6b28d30d8fd99ce162ff3aab5013ed44dbfb747566b1f01b9bed7964d7c14e9", size = 1336462, upload-time = "2026-06-13T14:14:35.785Z" }, - { url = "https://files.pythonhosted.org/packages/c1/fa/ca1d7e5257dd8566a9dfc0dfb02f8a8075eeb53d4b2d3c579f1276759042/pyinstaller-6.21.0-py3-none-win_amd64.whl", hash = "sha256:7fae06c494ce0ebfe6bd3055c0e409def884f63af2e3705d06bd431ad9237fc7", size = 1397487, upload-time = "2026-06-13T14:14:42.328Z" }, - { url = "https://files.pythonhosted.org/packages/dc/75/21b51523ce8d96629b71311775a0a65f5f5a872124ab0de33e5c848f8bff/pyinstaller-6.21.0-py3-none-win_arm64.whl", hash = "sha256:f13c95c9c03fb567217135919f93815c305813126780b0ed6e0123cb8acaf025", size = 1346094, upload-time = "2026-06-13T14:14:48.914Z" }, -] - -[[package]] -name = "pyinstaller-hooks-contrib" -version = "2026.6" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "packaging" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/94/5b/c9fe0db5e83ee1c39b2258fa21d23b15e1a60786b6c5990ee5074ead8bb6/pyinstaller_hooks_contrib-2026.6.tar.gz", hash = "sha256:bef5002c32f4f50bd55b005da12cff64eca8783e7eaf86a06a62410164bab725", size = 173354, upload-time = "2026-06-08T22:37:16.152Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/e7/31/f2d7343d8ed5f7c4678377886f6ce533e6eaaa131b252ce950114c2a7efa/pyinstaller_hooks_contrib-2026.6-py3-none-any.whl", hash = "sha256:fd13b8ac126b35361175edacd41a0d97080b75dd5f4b594ecefefff969509dd3", size = 457159, upload-time = "2026-06-08T22:37:14.722Z" }, -] - -[[package]] -name = "pywin32-ctypes" -version = "0.2.3" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/85/9f/01a1a99704853cb63f253eea009390c88e7131c67e66a0a02099a8c917cb/pywin32-ctypes-0.2.3.tar.gz", hash = "sha256:d162dc04946d704503b2edc4d55f3dba5c1d539ead017afa00142c38b9885755", size = 29471, upload-time = "2024-08-14T10:15:34.626Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/de/3d/8161f7711c017e01ac9f008dfddd9410dff3674334c233bde66e7ba65bbf/pywin32_ctypes-0.2.3-py3-none-any.whl", hash = "sha256:8a1513379d709975552d202d942d9837758905c8d01eb82b8bcc30918929e7b8", size = 30756, upload-time = "2024-08-14T10:15:33.187Z" }, -] - -[[package]] -name = "setuptools" -version = "83.0.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/34/26/f5d29e25ffdb535afef2d35cdb55b325298f96debd670da4c325e08d70f4/setuptools-83.0.0.tar.gz", hash = "sha256:025bccbbf0fa05b6192bc64ae1e7b16e001fd6d6d4d5de03c97b1c1ade523bef", size = 1154254, upload-time = "2026-07-04T15:31:22.699Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/5d/40/e1e72872c6354b306daef1703549e8e83b4d43cfea356311bf722a043752/setuptools-83.0.0-py3-none-any.whl", hash = "sha256:29b23c360f22f414dc7336bb39178cc7bcbf6021ed2733cde173f09dba19abb3", size = 1008090, upload-time = "2026-07-04T15:31:20.885Z" }, -] - -[[package]] -name = "typing-extensions" -version = "4.16.0" -source = { registry = "https://pypi.org/simple" } -sdist = { url = "https://files.pythonhosted.org/packages/f6/cc/6253133b5bb138fc3306cebfbda2c520f545d36b5be2c7255cc528bb45d6/typing_extensions-4.16.0.tar.gz", hash = "sha256:dc983d19a509c94dba722ee6abd33940f7c05a89e243c47e907eb4db6f1a43e5", size = 113555, upload-time = "2026-07-02T08:40:05.92Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/49/d3/b8441a820a491ddfc024b0b0cf0393375b75ea13866d9c66727e54c2fc80/typing_extensions-4.16.0-py3-none-any.whl", hash = "sha256:481caa481374e813c1b176ada14e97f1f67a4539ce9cfeb3f350d78d6370c2e8", size = 45571, upload-time = "2026-07-02T08:40:04.659Z" }, -] - -[[package]] -name = "yarl" -version = "1.24.2" -source = { registry = "https://pypi.org/simple" } -dependencies = [ - { name = "idna" }, - { name = "multidict" }, - { name = "propcache" }, -] -sdist = { url = "https://files.pythonhosted.org/packages/79/12/1e8f37460ea0f7eb59c221fdaf0ed75e7ac43e97f8093b9c6f411df50a78/yarl-1.24.2.tar.gz", hash = "sha256:9ac374123c6fd7abf64d1fec93962b0bd4ee2c19751755a762a72dd96c0378f8", size = 210798, upload-time = "2026-05-19T21:31:05.599Z" } -wheels = [ - { url = "https://files.pythonhosted.org/packages/c5/c5/1ce244152ff2839645e7cae92f90e7bafcb2c52bea7ff586ac714f14f5df/yarl-1.24.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:36348bebb147b83818b9d7e673ea4debc75970afc6ffdc7e3975ad05ce5a58c1", size = 128971, upload-time = "2026-05-19T21:28:20.543Z" }, - { url = "https://files.pythonhosted.org/packages/87/5a/00f36967203ed89cb3acd2c8ed526cc3fed9418eb70ce128160a911c8499/yarl-1.24.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:1a97e42c8a2233f2f279ecadd9e4a037bcb5d813b78435e8eedd4db5a9e9708c", size = 91507, upload-time = "2026-05-19T21:28:22.556Z" }, - { url = "https://files.pythonhosted.org/packages/31/d0/1fb0c1cd27288f39f6974da4318c32768d72c9890984541fdf1e2e32a51d/yarl-1.24.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:8d027d56f1035e339d1001ac33eceab5b2ec8e42e449787bb75e289fb9a5cd1d", size = 91343, upload-time = "2026-05-19T21:28:24.092Z" }, - { url = "https://files.pythonhosted.org/packages/03/ce/d4a646508bed2f8dec6435b40166fe9308dd191262033d3f307b2bbcaecd/yarl-1.24.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:0a6377060e7927187a42b7eb202090cbe2b34933a4eeaf90e3bd9e33432e5cae", size = 105704, upload-time = "2026-05-19T21:28:25.872Z" }, - { url = "https://files.pythonhosted.org/packages/4b/07/b3278e82d8bc41485bcf6d856cd0433262593de615b1d3dc43bd3f5bead4/yarl-1.24.2-cp311-cp311-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:17076578bce0049a5ce57d14ad1bded391b68a3b213e9b81b0097b090244999a", size = 97281, upload-time = "2026-05-19T21:28:27.352Z" }, - { url = "https://files.pythonhosted.org/packages/17/5b/4cee6e7c92e487bebe7afc797da0aa54a248ab4e776a68fe369ec29665a5/yarl-1.24.2-cp311-cp311-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:50713f1d4d6be6375bb178bb43d140ee1acb8abe589cd723320b7925a275be1e", size = 114020, upload-time = "2026-05-19T21:28:29.458Z" }, - { url = "https://files.pythonhosted.org/packages/5c/82/111076571545a7d4f9cca3fbd5c6f40615af58642be09f12328f48022468/yarl-1.24.2-cp311-cp311-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:34263e2fa8fb5bb63a0d97706cda38edbad62fddb58c7f12d6acbc092812aa50", size = 111450, upload-time = "2026-05-19T21:28:31.262Z" }, - { url = "https://files.pythonhosted.org/packages/b6/ec/08f671f69a444d704aeecebf92af659b67b97a869942411d0a578b08c334/yarl-1.24.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:49016d82f032b1bd1e10b01078a7d29ae71bf468eeae0ea22df8bab691e60003", size = 106384, upload-time = "2026-05-19T21:28:32.856Z" }, - { url = "https://files.pythonhosted.org/packages/e5/86/ce41e7a7a199340b2330d52b60f25c4074b6636dd0e60b1a80d31a9db042/yarl-1.24.2-cp311-cp311-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:3f6d2c216318f8f32038ca3f72501ba08536f0fd18a36e858836b121b2deed9f", size = 106153, upload-time = "2026-05-19T21:28:35.222Z" }, - { url = "https://files.pythonhosted.org/packages/c4/5d/31be8a729531ab3e55ac3e7e5c800be8c89ea98947f418b2f6ea259fb6ee/yarl-1.24.2-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:08d3a33218e0c64393e7610284e770409a9c31c429b078bcb24096ed0a783b8f", size = 105322, upload-time = "2026-05-19T21:28:36.642Z" }, - { url = "https://files.pythonhosted.org/packages/47/9b/b57afb22b386ae87ac9940f09878b98d8c333f89113e6fc96fcf4ca9eb64/yarl-1.24.2-cp311-cp311-musllinux_1_2_armv7l.whl", hash = "sha256:5d699376c4ca3cba49bbfae3a05b5b70ded572937171ce1e0b8d87118e2ba294", size = 99057, upload-time = "2026-05-19T21:28:38.386Z" }, - { url = "https://files.pythonhosted.org/packages/a3/4f/06348c27c8389256c313e8a57d796808fc0264c915dd5e7cfd3c0e314dc7/yarl-1.24.2-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:a1cab588b4fa14bea2e55ebea27478adfb05372f47573738e1acc4a36c0b05d2", size = 113502, upload-time = "2026-05-19T21:28:40.091Z" }, - { url = "https://files.pythonhosted.org/packages/5f/1c/284f307b298e4a17b7943b07d9d7ecc4151537f8d137ba51f3bb6c31ca20/yarl-1.24.2-cp311-cp311-musllinux_1_2_riscv64.whl", hash = "sha256:ec87ccc31bd21db7ad009d8572c127c1000f268517618a4cc09adba3c2a7f21c", size = 105253, upload-time = "2026-05-19T21:28:41.987Z" }, - { url = "https://files.pythonhosted.org/packages/c8/bf/0de123bec8619e45c80cbded9085f61b5b4a9eddb8abe6d25d28ee1ec866/yarl-1.24.2-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:d1dd47a22843b212baa8d74f37796815d43bd046b42a0f41e9da433386c3136b", size = 111345, upload-time = "2026-05-19T21:28:43.93Z" }, - { url = "https://files.pythonhosted.org/packages/90/af/0248eb065e51129d2a9b2436cd1b5c772c19a6b04e5b6a186955671e3319/yarl-1.24.2-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:7b54b9c67c2b06bd7b9a77253d242124b9c95d2c02def5a1144001ee547dd9d5", size = 106558, upload-time = "2026-05-19T21:28:45.806Z" }, - { url = "https://files.pythonhosted.org/packages/21/3c/f960d7a65ef97d8ba9b424fb5128796a4bc710fc6df2ddbbd7dfdc3bbd20/yarl-1.24.2-cp311-cp311-win_amd64.whl", hash = "sha256:f8fdbcff8b2c7c9284e60c196f693588598ddcee31e11c18e14949ce44519d45", size = 92808, upload-time = "2026-05-19T21:28:48.465Z" }, - { url = "https://files.pythonhosted.org/packages/03/1a/49fb03750e4de4d2284cd5b885a383133c34eef45bd59631b2bb8b7e81e8/yarl-1.24.2-cp311-cp311-win_arm64.whl", hash = "sha256:b32c37a7a337e90822c45797bf3d79d60875cfcccd3ecc80e9f453d87026c122", size = 87610, upload-time = "2026-05-19T21:28:50.07Z" }, - { url = "https://files.pythonhosted.org/packages/f0/da/866bcb01076ba49d2b42b309867bed3826421f1c479655eb7a607b44f20b/yarl-1.24.2-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:b975866c184564c827e0877380f0dae57dcca7e52782128381b72feff6dfceb8", size = 129957, upload-time = "2026-05-19T21:28:51.695Z" }, - { url = "https://files.pythonhosted.org/packages/bf/1d/fcefb70922ea2268a8971d8e5874d9a8218644200fb8465f1dcad55e6851/yarl-1.24.2-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:3b075301a2836a0e297b1b658cb6d6135df535d62efefdd60366bd589c2c82f2", size = 92164, upload-time = "2026-05-19T21:28:53.242Z" }, - { url = "https://files.pythonhosted.org/packages/29/b6/170e2b8d4e3bc30e6bfdcca53556537f5bf595e938632dfcb059311f3ff6/yarl-1.24.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:8ae44649b00947634ab0dab2a374a638f52923a6e67083f2c156cd5cbd1a881d", size = 91688, upload-time = "2026-05-19T21:28:54.865Z" }, - { url = "https://files.pythonhosted.org/packages/fe/a5/c9f655d5553ea0b99fdac9d6a99ad3f9b3e73b8e5758bb46f58c9831f74c/yarl-1.24.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:507cc19f0b45454e2d6dcd62ff7d062b9f77a2812404e62dbdaec05b50faa035", size = 102902, upload-time = "2026-05-19T21:28:56.963Z" }, - { url = "https://files.pythonhosted.org/packages/5d/bc/6b9664d815d79af4ee553337f9d606c56bbf269186ada9172de45f1b5f60/yarl-1.24.2-cp312-cp312-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:c4c17bad5a530912d2111825d3f05e89bab2dd376aaa8cbc77e449e6db63e576", size = 97931, upload-time = "2026-05-19T21:28:58.56Z" }, - { url = "https://files.pythonhosted.org/packages/98/ec/32ba48acae30fecd60928f5791188b80a9d6ee3840507ffda29fecd37b71/yarl-1.24.2-cp312-cp312-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:f5f0cbb112838a4a293985b6ed73948a547dadcc1ba6d2089938e7abdedceef8", size = 111030, upload-time = "2026-05-19T21:29:00.148Z" }, - { url = "https://files.pythonhosted.org/packages/82/5a/6f4cd081e5f4934d2ae3a8ef4abe3afacc010d26f0035ee91b35cd7d7c37/yarl-1.24.2-cp312-cp312-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5ec8356b8a6afcf81fc7aeeef13b1ff7a49dec00f313394bbb9e83830d32ccd7", size = 110392, upload-time = "2026-05-19T21:29:02.155Z" }, - { url = "https://files.pythonhosted.org/packages/7a/da/323a01c349bd5fb01bb6652e314d9bb218cee630a736bdb810ad50e4013f/yarl-1.24.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:7e7ebcdef69dec6c6451e616f32b622a6d4a2e92b445c992f7c8e5274a6bbc4c", size = 105612, upload-time = "2026-05-19T21:29:04.247Z" }, - { url = "https://files.pythonhosted.org/packages/7c/80/264ab684f181e1a876389374519ff05d10248725535ae2ac4e8ac4e563d6/yarl-1.24.2-cp312-cp312-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:47a55d6cf6db2f401017a9e96e5288844e5051911fb4e0c8311a3980f5e59a7d", size = 104487, upload-time = "2026-05-19T21:29:06.491Z" }, - { url = "https://files.pythonhosted.org/packages/41/07/efabe5df87e96d7ad5959760b888344be48cd6884db127b407c6b5503adc/yarl-1.24.2-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:3065657c80a2321225e804048597ad55658a7e76b32d6f5ee4074d04c50401db", size = 102333, upload-time = "2026-05-19T21:29:08.267Z" }, - { url = "https://files.pythonhosted.org/packages/44/0c/bcf7c42603e1009295f586d8890f2ba032c8b53310e815adf0a202c73d9f/yarl-1.24.2-cp312-cp312-musllinux_1_2_armv7l.whl", hash = "sha256:cb84b80d88e19ede158619b80813968713d8d008b0e2497a576e6a0557d50712", size = 99025, upload-time = "2026-05-19T21:29:10.682Z" }, - { url = "https://files.pythonhosted.org/packages/4f/82/84482ab1a57a0f21a08afe6a7004c61d741f8f2ecc3b05c321577c612164/yarl-1.24.2-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:990de4f680b1c217e77ff0d6aa0029f9eb79889c11fb3e9a3942c7eba29c1996", size = 110507, upload-time = "2026-05-19T21:29:12.954Z" }, - { url = "https://files.pythonhosted.org/packages/c4/8d/a546ba1dfe1b0f290e05fef145cd07614c0f15df1a707195e512d1e39d1d/yarl-1.24.2-cp312-cp312-musllinux_1_2_riscv64.whl", hash = "sha256:abb8ec0323b80161e3802da3150ef660b41d0e9be2048b76a363d93eee992c2b", size = 103719, upload-time = "2026-05-19T21:29:14.893Z" }, - { url = "https://files.pythonhosted.org/packages/1a/b6/267f2a09213138473adfce6b8a6e17791d7fee70bd4d9003218e4dec58b0/yarl-1.24.2-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:e7977781f83638a4c73e0f88425563d70173e0dfd90ac006a45c65036293ee3c", size = 110438, upload-time = "2026-05-19T21:29:16.485Z" }, - { url = "https://files.pythonhosted.org/packages/48/2d/1c8d89c7c5f9cad9fb2902445d94e2ab1d7aa35de029afbb8ae95c42d00f/yarl-1.24.2-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:e30dd55825dc554ec5b66a94953b8eda8745926514c5089dfcacecb9c99b5bd1", size = 105719, upload-time = "2026-05-19T21:29:18.367Z" }, - { url = "https://files.pythonhosted.org/packages/a7/25/722e3b93bd687009afb2d59a35e13d30ddd8f80571445bb0c4e4ce26ec66/yarl-1.24.2-cp312-cp312-win_amd64.whl", hash = "sha256:7dafe10c12ddd4d120d528c4b5599c953bd7b12845347d507b95451195bb6cad", size = 92901, upload-time = "2026-05-19T21:29:20.014Z" }, - { url = "https://files.pythonhosted.org/packages/39/47/4486ccfb674c04854a1ef8aa77868b6a6f765feaf69633409d7ca4f02cb8/yarl-1.24.2-cp312-cp312-win_arm64.whl", hash = "sha256:044a09d8401fcf8681977faef6d286b8ade1e2d2e9dceda175d1cfa5ca496f30", size = 87229, upload-time = "2026-05-19T21:29:22.1Z" }, - { url = "https://files.pythonhosted.org/packages/82/62/fcf0ce677f17e5c471c06311dd25964be38a4c586993632910d2e75278bc/yarl-1.24.2-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:491ac9141decf49ee8030199e1ee251cdff0e131f25678817ff6aa5f837a3536", size = 128978, upload-time = "2026-05-19T21:29:23.83Z" }, - { url = "https://files.pythonhosted.org/packages/d3/58/8e63299bb71ed61a834121d9d3fe6c9fcf2a6a5d09754ff4f20f2d20baf5/yarl-1.24.2-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e89418f65eda18f99030386305bd44d7d504e328a7945db1ead514fbe03a0607", size = 91733, upload-time = "2026-05-19T21:29:25.375Z" }, - { url = "https://files.pythonhosted.org/packages/c1/24/16748d5dab6daec8b0ed81ccec639a1cded0f18dcc62a4f696b4fe366c37/yarl-1.24.2-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:cdfcce633b4a4bb8281913c57fcafd4b5933fbc19111a5e3930bbd299d6102f1", size = 91113, upload-time = "2026-05-19T21:29:26.928Z" }, - { url = "https://files.pythonhosted.org/packages/1b/66/b63fff7b71211e866624b21432d5943cbb633eb0c2872d9ee3070648f22c/yarl-1.24.2-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:863297ddede92ee49024e9a9b11ecb59f310ca85b60d8537f56bed9bbb5b1986", size = 103899, upload-time = "2026-05-19T21:29:28.842Z" }, - { url = "https://files.pythonhosted.org/packages/9d/ac/ba1974b8533909636f7733fe86cf677e3619527c3c2fa913e0ea89c48757/yarl-1.24.2-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:374423f70754a2c96942ede36a29d37dc6b0cb8f92f8d009ddf3ed78d3da5488", size = 97862, upload-time = "2026-05-19T21:29:31.086Z" }, - { url = "https://files.pythonhosted.org/packages/1b/a5/123ac993b5c2ba6f554a140305620cb8f150fa543711bbc49be3ec0a65a4/yarl-1.24.2-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:33a29b5d00ccbf3219bb3e351d7875739c19481e030779f48cc46a7a71681a9b", size = 111060, upload-time = "2026-05-19T21:29:32.657Z" }, - { url = "https://files.pythonhosted.org/packages/23/37/c472d3af3509688392134a88a825276770a187f1daa4de3f6dc0a327a751/yarl-1.24.2-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a9532c57211730c515341af11fef6e9b61d157487272a096d0c04da445642592", size = 110613, upload-time = "2026-05-19T21:29:34.379Z" }, - { url = "https://files.pythonhosted.org/packages/df/88/09c28dad91e662ccfaa1b78f1c57badde74fc9d0b23e74aef644750ecd73/yarl-1.24.2-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:91e72cf093fd833483a97ee648e0c053c7c629f51ff4a0e7edd84f806b0c5617", size = 107012, upload-time = "2026-05-19T21:29:36.216Z" }, - { url = "https://files.pythonhosted.org/packages/07/ab/9d4f69d571a94f4d112fa7e2e007200f5a54d319f58c82ac7b7baa61f5c6/yarl-1.24.2-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b3177bc0a768ef3bacceb4f272632990b7bea352f1b2f1eee9d6d6ff16516f92", size = 105887, upload-time = "2026-05-19T21:29:38.746Z" }, - { url = "https://files.pythonhosted.org/packages/8e/9a/000b2b66c0d772a499fc531d21dab92dfeb73b640a12eed6ba89f49bb2d0/yarl-1.24.2-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:e196952aacaf3b232e265ff02980b64d483dc0972bd49bcb061171ff22ac203a", size = 103620, upload-time = "2026-05-19T21:29:40.368Z" }, - { url = "https://files.pythonhosted.org/packages/41/7c/7c1050f73450fbdaa3f0c72017059f00ce5e13366692f3dba25275a1083d/yarl-1.24.2-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:204e7a61ce99919c0de1bf904ab5d7aa188a129ea8f690a8f76cfb6e2844dc44", size = 100599, upload-time = "2026-05-19T21:29:42.66Z" }, - { url = "https://files.pythonhosted.org/packages/ec/b1/29e5756b3926705f5f6089bd5b9f50a56eaac550da6e260bf713ead44d04/yarl-1.24.2-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b156914620f0b9d78dc1adb3751141daee561cfec796088abb89ed49d220f1a", size = 110604, upload-time = "2026-05-19T21:29:44.632Z" }, - { url = "https://files.pythonhosted.org/packages/a3/4b/8415bc96e9b150cde942fbac9a8182985e58f40ce5c54c34ed015407d3ee/yarl-1.24.2-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:8372a2b976cf70654b2be6619ab6068acabb35f724c0fda7b277fbf53d66a5cf", size = 105161, upload-time = "2026-05-19T21:29:46.755Z" }, - { url = "https://files.pythonhosted.org/packages/8b/d4/cde059abfa229553b7298a2eadde2752e723d50aeedaef86ce59da2718ee/yarl-1.24.2-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:f9a1e9b622ca284143aab5d885848686dcd85453bb1ca9abcdb7503e64dc0056", size = 110619, upload-time = "2026-05-19T21:29:48.972Z" }, - { url = "https://files.pythonhosted.org/packages/e7/2c/d6a6c9a61549f7b6c7e6dc6937d195bcf069582b47b7200dcd0e7b256acf/yarl-1.24.2-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:810e19b685c8c3c5862f6a38160a1f4e4c0916c9390024ec347b6157a45a0992", size = 107362, upload-time = "2026-05-19T21:29:51Z" }, - { url = "https://files.pythonhosted.org/packages/92/dd/3ae5fe417e9d1c353a548553326eb9935e76b6b727161563b424cc296df3/yarl-1.24.2-cp313-cp313-win_amd64.whl", hash = "sha256:7d37fb7c38f2b6edab0f845c4f85148d4c44204f52bc127021bd2bc9fdbf1656", size = 92667, upload-time = "2026-05-19T21:29:52.743Z" }, - { url = "https://files.pythonhosted.org/packages/10/cc/a7beb239f78f27fca1b053c8e8595e4179c02e62249b4687ec218c370c50/yarl-1.24.2-cp313-cp313-win_arm64.whl", hash = "sha256:1e831894be7c2954240e49791fa4b50c05a0dc881de2552cfe3ffd8631c7f461", size = 87069, upload-time = "2026-05-19T21:29:54.442Z" }, - { url = "https://files.pythonhosted.org/packages/40/0e/e08087695fc12789263821c5dc0f8dc52b5b17efd0887cacf419f8a43ba3/yarl-1.24.2-cp314-cp314-macosx_10_15_universal2.whl", hash = "sha256:f9312b3c02d9b3d23840f67952913c9c8721d7f1b7db305289faefa878f364c2", size = 129670, upload-time = "2026-05-19T21:29:56.631Z" }, - { url = "https://files.pythonhosted.org/packages/3a/98/ab4b5ed1b1b5cd973c8a3eb994c3a6aefb6ce6d399e21bb5f0316c33815c/yarl-1.24.2-cp314-cp314-macosx_10_15_x86_64.whl", hash = "sha256:a4f4d6cd615823bfc7fb7e9b5987c3f41666371d870d51058f77e2680fbe9630", size = 91916, upload-time = "2026-05-19T21:29:58.645Z" }, - { url = "https://files.pythonhosted.org/packages/ba/b1/5297bb6a7df4782f7605bffc43b31f5044070935fbbcaa6c705a07e6ac65/yarl-1.24.2-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:0c3063e5c0a8e8e62fae6c2596fa01da1561e4cd1da6fec5789f5cf99a8aefd8", size = 91625, upload-time = "2026-05-19T21:30:00.412Z" }, - { url = "https://files.pythonhosted.org/packages/02/a7/45baabfff76829264e623b185cff0c340d7e11bf3e1cd9ea37e7d17934bd/yarl-1.24.2-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:fecd17873a096036c1c87ab3486f1aef7f269ada7f23f7f856f93b1cc7744f14", size = 104574, upload-time = "2026-05-19T21:30:02.544Z" }, - { url = "https://files.pythonhosted.org/packages/f3/40/3a5ab144d3d650ca37d4f4b57e56169be8af3ca34c448793e064b30baaed/yarl-1.24.2-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:a46d1ab4ba4d32e6dc80daf8a28ce0bd83d08df52fbc32f3e288663427734535", size = 97534, upload-time = "2026-05-19T21:30:04.319Z" }, - { url = "https://files.pythonhosted.org/packages/9c/b5/5658fef3681fb5776b4513b052bec750009f47b3a592251c705d75375798/yarl-1.24.2-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:73e68edf6dfd5f73f9ca127d84e2a6f9213c65bdffb736bda19524c0564fcd14", size = 111481, upload-time = "2026-05-19T21:30:05.988Z" }, - { url = "https://files.pythonhosted.org/packages/4c/06/fdcd7dde037f00866dce123ed4ba23dba94beb56fc4cf561668d27be37f2/yarl-1.24.2-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a296ca617f2d25fbceafb962b88750d627e5984e75732c712154d058ae8d79a3", size = 111529, upload-time = "2026-05-19T21:30:07.738Z" }, - { url = "https://files.pythonhosted.org/packages/c2/53/d81269aaafccea0d33396c03035de997b743f11e648e6e27a0df99c72980/yarl-1.24.2-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e51b2cf5ec89a8b8470177641ed62a3ba22d74e1e898e06ad53aa77972487208", size = 107338, upload-time = "2026-05-19T21:30:09.713Z" }, - { url = "https://files.pythonhosted.org/packages/ae/04/23049463f729bd899df203a7960505a75333edd499cda8aa1d5a82b64df5/yarl-1.24.2-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:310fc687f7b2044ec54e372c8cbe923bb88f5c37bded0d3079e5791c2fc3cf50", size = 106147, upload-time = "2026-05-19T21:30:11.365Z" }, - { url = "https://files.pythonhosted.org/packages/14/18/04a4b5830b43ed5e4c5015b40e9f6241ad91487d71611061b4e111d6ac80/yarl-1.24.2-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:297a2fe352ecf858b30a98f87948746ec16f001d279f84aebdbd3bd965e2f1bd", size = 104272, upload-time = "2026-05-19T21:30:12.978Z" }, - { url = "https://files.pythonhosted.org/packages/5a/f7/8cffdf319aee7a7c1dbd07b61d91c3e3fda460c7a93b5f93e445f3806c4c/yarl-1.24.2-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:2a263e76b97bc42bdcd7c5f4953dec1f7cd62a1112fa7f869e57255229390d67", size = 99962, upload-time = "2026-05-19T21:30:15.001Z" }, - { url = "https://files.pythonhosted.org/packages/d7/39/b3cce3b7dbef64ac700ad4cea156a207d01bede0f507587616c364b5468e/yarl-1.24.2-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:822519b64cf0b474f1a0aaef1dc621438ea46bb77c94df97a5b4d213a7d8a8b1", size = 111063, upload-time = "2026-05-19T21:30:16.683Z" }, - { url = "https://files.pythonhosted.org/packages/a1/ea/100818505e7ebf165c7242ff17fdf7d9fee79e27234aeca871c1082920d7/yarl-1.24.2-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:b6067060d9dc594899ba83e6db6c48c68d1e494a6dab158156ed86977ca7bcb1", size = 105438, upload-time = "2026-05-19T21:30:18.769Z" }, - { url = "https://files.pythonhosted.org/packages/8f/d2/e075a0b32aa6625087de9e653087df0759fed5de4a435fef594181102a77/yarl-1.24.2-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:0063adad533e57171b79db3943b229d40dfafeeee579767f96541f106bac5f1b", size = 111458, upload-time = "2026-05-19T21:30:21.024Z" }, - { url = "https://files.pythonhosted.org/packages/e6/5c/ceea7ba98b65c8eb8d947fdc52f9bedfcd43c6a57c9e3c90c17be8f324a3/yarl-1.24.2-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:ee8e3fb34513e8dc082b586ef4910c98335d43a6fab688cd44d4851bacfce3e8", size = 107589, upload-time = "2026-05-19T21:30:23.412Z" }, - { url = "https://files.pythonhosted.org/packages/fa/d9/5582d57e2b2db9b85eb6663a22efdd78e08805f3f5389566e9fcad254d1b/yarl-1.24.2-cp314-cp314-win_amd64.whl", hash = "sha256:afb00d7fd8e0f285ca29a44cc50df2d622ff2f7a6d933fa641577b5f9d5f3db0", size = 94424, upload-time = "2026-05-19T21:30:25.425Z" }, - { url = "https://files.pythonhosted.org/packages/92/10/7dc07a0e22806a9280f42a57361395506e800c64e22737cd7b0886feab42/yarl-1.24.2-cp314-cp314-win_arm64.whl", hash = "sha256:68cf6eacd6028ef1142bc4b48376b81566385ca6f9e7dde3b0fa91be08ffcb57", size = 88690, upload-time = "2026-05-19T21:30:27.623Z" }, - { url = "https://files.pythonhosted.org/packages/9e/13/d5b8e2c8667db955bcb3de233f18798fefe7edf1d7429c2c9d4f9c401114/yarl-1.24.2-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:221ce1dd921ac4f603957f17d7c18c5cc0797fbb52f156941f92e04605d1d67b", size = 136248, upload-time = "2026-05-19T21:30:29.297Z" }, - { url = "https://files.pythonhosted.org/packages/de/46/a4a97c05c9c9b8fd266bb2a0df12992c7fbd02391eb9640583411b6dab32/yarl-1.24.2-cp314-cp314t-macosx_10_15_x86_64.whl", hash = "sha256:5f3224db28173a00d7afacdee07045cc4673dfab2b15492c7ae10deddbece761", size = 95084, upload-time = "2026-05-19T21:30:31.031Z" }, - { url = "https://files.pythonhosted.org/packages/95/b2/845cf2074a015e6fe0d0808cf1a2d9e868386c4220d657ebd8302b199043/yarl-1.24.2-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c557165320d6244ebe3a02431b2a201a20080e02f41f0cfa0ccc47a183765da8", size = 95272, upload-time = "2026-05-19T21:30:33.062Z" }, - { url = "https://files.pythonhosted.org/packages/fe/16/e69d4aa244aef45235ddfebc0e04036a6829842bc5a6a795aedc6c998d23/yarl-1.24.2-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:904065e6e85b1fa54d0d87438bd58c14c0bad97aad654ad1077fd9d87e8478ed", size = 101497, upload-time = "2026-05-19T21:30:34.842Z" }, - { url = "https://files.pythonhosted.org/packages/15/94/c07107715d621076863ee88b3ddf183fa5e9d4aba5769623c9979828410a/yarl-1.24.2-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:8cec2a38d70edc10e0e856ceda886af5327a017ccbde8e1de1bd44d300357543", size = 94002, upload-time = "2026-05-19T21:30:37.724Z" }, - { url = "https://files.pythonhosted.org/packages/a9/35/fc1bbdd895b5e4010b8fdd037f7ed3aa289d3863e08231b30231ca9a0815/yarl-1.24.2-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:e7484b9361ed222ee1ca5b4337aa4cbdcc4618ce5aff57d9ef1582fd95893fc0", size = 106524, upload-time = "2026-05-19T21:30:40.196Z" }, - { url = "https://files.pythonhosted.org/packages/1f/f2/32b66d0a4ba47c296cf86d03e2c67bff58399fe6d6d84d5205c04c66cc6d/yarl-1.24.2-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:84f9670b89f34db07f81e53aee83e0b938a3412329d51c8f922488be7fcc4024", size = 106165, upload-time = "2026-05-19T21:30:41.888Z" }, - { url = "https://files.pythonhosted.org/packages/95/47/37cb5ff50c5e825d4d38e81bb04d1b7e96bf960f7ab89f9850b162f3f114/yarl-1.24.2-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:abb2759733d63a28b4956500a5dd57140f26486c92b2caedfb964ab7d9b79dbf", size = 103010, upload-time = "2026-05-19T21:30:43.985Z" }, - { url = "https://files.pythonhosted.org/packages/6f/d2/4597912315096f7bb359e46e13bf8b60994fcbb2db29b804c0902ef4eff5/yarl-1.24.2-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:081c2bf54efe03774d0311172bc04fedf9ca01e644d4cd8c805688e527209bdc", size = 101128, upload-time = "2026-05-19T21:30:46.291Z" }, - { url = "https://files.pythonhosted.org/packages/b9/d5/c8e86e120521e646013d02a8e3b8884392e28494be8f392366e50d208efc/yarl-1.24.2-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:86746bef442aa479107fe28132e1277237f9c24c2f00b0b0cf22b3ee0904f2bb", size = 101382, upload-time = "2026-05-19T21:30:48.085Z" }, - { url = "https://files.pythonhosted.org/packages/fa/98/70b229236118f89dbeb739b76f10225bbf53b5497725502594c9a01d699a/yarl-1.24.2-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:2d07d21d0bc4b17558e8de0b02fbfdf1e347d3bb3699edd00bb92e7c57925420", size = 95964, upload-time = "2026-05-19T21:30:49.785Z" }, - { url = "https://files.pythonhosted.org/packages/87/f8/56c386981e3c8648d279fdef2397ffec577e8320fd5649745e34d54faeb7/yarl-1.24.2-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:4fb1ac3fc5fecd8ae7453ea237e4d22b49befa70266dfe1629924245c21a0c7f", size = 106204, upload-time = "2026-05-19T21:30:51.862Z" }, - { url = "https://files.pythonhosted.org/packages/1a/1e/765afe97811ca35933e2a7de70ac57b1997ea2e4ee895719ee7a231fb7e5/yarl-1.24.2-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:4da31a5512ed1729ca8d8aacde3f7faeb8843cde3165d6bcf7f88f74f17bb8aa", size = 101510, upload-time = "2026-05-19T21:30:53.62Z" }, - { url = "https://files.pythonhosted.org/packages/ee/78/393913f4b9039e1edd09ae8a9bbb9d539be909a8abf6d8a2084585bed4b7/yarl-1.24.2-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:533ded4dceb5f1f3da7906244f4e82cf46cfd40d84c69a1faf5ac506aa65ecbe", size = 105584, upload-time = "2026-05-19T21:30:55.962Z" }, - { url = "https://files.pythonhosted.org/packages/78/87/deb17b7049bbe74ea11a713b86f8f27800cc1c8648b0b797243ebb4830ba/yarl-1.24.2-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:7b3a85525f6e7eeabcfdd372862b21ee1915db1b498a04e8bf0e389b607ff0bd", size = 103410, upload-time = "2026-05-19T21:30:57.962Z" }, - { url = "https://files.pythonhosted.org/packages/8f/be/f9f7594e23b5b93affff0318e4593c1920331bcaefda326cabcad94296a1/yarl-1.24.2-cp314-cp314t-win_amd64.whl", hash = "sha256:a7624b1ca46ca5d7b864ef0d2f8efe3091454085ee1855b4e992314529972215", size = 102980, upload-time = "2026-05-19T21:30:59.735Z" }, - { url = "https://files.pythonhosted.org/packages/65/a4/ba80dccd3593ff1f01051a818694d07b58cb8232677ee9a22a5a1f93a9fc/yarl-1.24.2-cp314-cp314t-win_arm64.whl", hash = "sha256:e434a45ce2e7a947f951fc5a8944c8cc080b7e59f9c50ae80fd39107cf88126d", size = 91219, upload-time = "2026-05-19T21:31:01.934Z" }, - { url = "https://files.pythonhosted.org/packages/fd/4d/4b880086bd0d3e034d25647be1d830afc3e3f610e98c4ab3490af6b1b6d5/yarl-1.24.2-py3-none-any.whl", hash = "sha256:2783d9226db8797636cd6896e4de81feed252d1db72265686c9558d97a4d94b9", size = 53576, upload-time = "2026-05-19T21:31:03.909Z" }, -] diff --git a/workbench/network/campus-net/workflows/build.example.yml b/workbench/network/campus-net/workflows/build.example.yml index 01f4a3b..5823f53 100644 --- a/workbench/network/campus-net/workflows/build.example.yml +++ b/workbench/network/campus-net/workflows/build.example.yml @@ -1,110 +1,66 @@ -name: Build and Release EXE +name: "[Project] Campus Net Build Example" on: workflow_dispatch: - inputs: - version: - description: 'Release version (e.g. 1.2.3 or v1.2.3)' - required: true - default: '1.0.0' permissions: - contents: write + contents: read jobs: - build-and-release: + build: runs-on: windows-latest + timeout-minutes: 20 defaults: run: working-directory: workbench/network/campus-net + steps: - - name: Checkout repository (fetch tags) - uses: actions/checkout@v4 + - name: Checkout + uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0 with: - fetch-depth: 0 - persist-credentials: true + persist-credentials: false - - name: Setup Python - uses: actions/setup-python@v4 + - name: Setup uv and Python + uses: astral-sh/setup-uv@11f9893b081a58869d3b5fccaea48c9e9e46f990 # v8.3.2 with: - python-version: '3.11' + enable-cache: true + cache-dependency-glob: workbench/network/campus-net/pyproject.toml + python-version: "3.13" - - name: Install uv and project dependencies - shell: pwsh - run: | - python -m pip install uv - uv sync --group dev + - name: Install project dependencies + run: uv sync --group dev - - name: Build with PyInstaller (uses build.spec at repo root) - shell: pwsh + - name: Run tests + run: uv run python -m unittest discover -s tests -p "test_*.py" -v + + - name: Build CLI and GUI run: | uv run pyinstaller --clean --noconfirm build.spec + uv run pyinstaller --clean --noconfirm gui.spec - - name: Find built .exe - id: find_exe + - name: Verify executables and GUI resources shell: pwsh run: | - $exe = Get-ChildItem -Path dist -Recurse -Filter *.exe -File | Select-Object -First 1 - if (-not $exe) { - Write-Error "No .exe found in dist directory. Build may have failed." - exit 1 + $cli = Resolve-Path -LiteralPath "dist/Auto-Connect-CampusNet.exe" -ErrorAction Stop + $gui = Resolve-Path -LiteralPath "dist/Auto-Connect-CampusNet-GUI.exe" -ErrorAction Stop + $smokeConfig = Join-Path $env:RUNNER_TEMP "campus-net-gui-smoke.json" + $process = Start-Process -FilePath $gui -ArgumentList @("--smoke-test", "--config", $smokeConfig) -Wait -PassThru + if ($process.ExitCode -ne 0) { + throw "GUI smoke test failed with exit code $($process.ExitCode)" } - echo "exe_path=$($exe.FullName)" >> $env:GITHUB_OUTPUT - echo "exe_name=$($exe.Name)" >> $env:GITHUB_OUTPUT - Write-Host "Found exe: $($exe.FullName)" - - - name: Compose tag name (prepend v if needed) - id: compose_tag - shell: pwsh - run: | - $input = "${{ github.event.inputs.version }}" - if ($input.StartsWith('v')) { - $tag = $input - } else { - $tag = "v$input" + if (Test-Path -LiteralPath $smokeConfig) { + throw "GUI smoke test unexpectedly created $smokeConfig" } - echo "TAG=$tag" >> $env:GITHUB_ENV - Write-Host "Computed TAG: $tag" + Get-FileHash -Algorithm SHA256 -LiteralPath $cli, $gui | + ForEach-Object { "$($_.Hash.ToLowerInvariant()) $([IO.Path]::GetFileName($_.Path))" } | + Set-Content -LiteralPath "dist/SHA256SUMS.txt" -Encoding utf8NoBOM - - name: Ensure tag does not already exist && create & push tag - shell: pwsh - env: - TAG: ${{ env.TAG }} - run: | - Write-Host "Checking if tag $env:TAG exists on remote..." - $exists = git ls-remote --tags origin $env:TAG - if ($exists) { - Write-Error "Tag $env:TAG already exists on remote. Aborting to avoid overwrite." - exit 1 - } - git config user.name "github-actions[bot]" - git config user.email "github-actions[bot]@users.noreply.github.com" - git tag -a $env:TAG -m "Release $env:TAG" - git push origin $env:TAG - Write-Host "Tag $env:TAG created and pushed." - - - name: Authenticate gh CLI (using GITHUB_TOKEN) and create release - shell: pwsh - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - TAG: ${{ env.TAG }} - run: | - # gh is preinstalled on GH-hosted runners; authenticate with token - echo $env:GITHUB_TOKEN | gh auth login --with-token - # create a release for the tag - gh release create $env:TAG --title "$env:TAG" --notes "Release $env:TAG" - Write-Host "Created release $env:TAG" - - - name: Upload EXE as release asset (gh) - shell: pwsh - env: - GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} - EXE_PATH: ${{ steps.find_exe.outputs.exe_path }} - TAG: ${{ env.TAG }} - run: | - if (-not (Test-Path $env:EXE_PATH)) { - Write-Error "EXE not found: $env:EXE_PATH" - exit 1 - } - gh release upload $env:TAG $env:EXE_PATH - Write-Host "Uploaded asset: $env:EXE_PATH" + - name: Upload validated build artifact + uses: actions/upload-artifact@043fb46d1a93c77aae656e7c1c64a875d1fc6a0a # v7.0.1 + with: + name: campus-net-windows-${{ github.sha }} + if-no-files-found: error + path: | + workbench/network/campus-net/dist/Auto-Connect-CampusNet.exe + workbench/network/campus-net/dist/Auto-Connect-CampusNet-GUI.exe + workbench/network/campus-net/dist/SHA256SUMS.txt From 2bdcfccefb33065290df752538139b96a188752e Mon Sep 17 00:00:00 2001 From: Cedarflake Date: Sat, 18 Jul 2026 05:15:48 +0800 Subject: [PATCH 2/5] fix(campus-net): finalize Windows runtime - Sanitize interface failures without cross-interface fallback - Add CLI branding and stable uv/PowerShell build commands --- workbench/network/campus-net/README.md | 52 ++++-- .../network/campus-net/assets/cli-icon.ico | Bin 0 -> 78648 bytes .../network/campus-net/assets/cli-icon.png | Bin 0 -> 683269 bytes workbench/network/campus-net/build.spec | 5 +- .../campus-net/campus_net/application.py | 14 +- .../network/campus-net/campus_net/captive.py | 22 ++- .../network/campus-net/campus_net/gui_core.py | 2 +- .../network/campus-net/campus_net/runner.py | 12 +- .../campus-net/docs/new-portal-adaptation.md | 22 ++- workbench/network/campus-net/pyproject.toml | 3 + .../campus-net/tests/test_application.py | 35 +++- .../network/campus-net/tests/test_captive.py | 34 ++++ .../network/campus-net/tests/test_gui_core.py | 18 +++ .../network/campus-net/tests/test_runner.py | 150 ++++++++++++++++++ .../campus-net/workflows/build.example.yml | 29 +++- 15 files changed, 362 insertions(+), 36 deletions(-) create mode 100644 workbench/network/campus-net/assets/cli-icon.ico create mode 100644 workbench/network/campus-net/assets/cli-icon.png create mode 100644 workbench/network/campus-net/tests/test_runner.py diff --git a/workbench/network/campus-net/README.md b/workbench/network/campus-net/README.md index a9d996a..bc768e6 100644 --- a/workbench/network/campus-net/README.md +++ b/workbench/network/campus-net/README.md @@ -20,7 +20,8 @@ Windows 用户可以运行基于 `ttkbootstrap` 的本机图形界面: ```powershell -uv run python gui_main.py +uv sync --group dev +& .\.venv\Scripts\python.exe gui_main.py ``` 界面支持编辑正式的 `version=1` 和 `version=2` 配置、刷新并选择 Windows IPv4 接口、显示或隐藏密码、只读探测、连接、取消和查看过程日志。网卡的 PowerShell 枚举状态会显示为“已连接”“未连接”或“正在认证”。新版触发系统图形验证码时,验证码图片和输入框会直接显示在程序窗口中;程序仍然不打开或控制浏览器。旧版协议没有只读探测能力,界面会禁用对应操作。 @@ -32,7 +33,7 @@ uv run python gui_main.py GUI 只会写入显式带 `version: 1` 或 `version: 2` 的正式格式。无 `version` 的历史配置仍可由 CLI 兼容运行,但界面不会静默改写。若要指定另一个配置文件,可使用: ```powershell -uv run python gui_main.py --config C:\path\to\config.json +& .\.venv\Scripts\python.exe gui_main.py --config C:\path\to\config.json ``` 打包后的控制台程序会依次检查 `CAMPUSNET_CONFIG`、启动时的当前目录、EXE 同目录,以及 EXE 位于项目 `dist` 时的父项目目录。因此从 `C:\Users\你的用户名` 启动项目 `dist` 中的 EXE,也能找到项目根目录的 `config.json`。父目录必须同时含项目的 `pyproject.toml` 和 `config.example.json`,不会仅凭任意同名 `dist` 目录盲目向上查找。可以用以下命令只核对最终路径;它不会读取配置内容或访问网络: @@ -80,6 +81,8 @@ if (-not (Test-Path -LiteralPath config.json)) { - `username`、`password`:校园网账号和密码。程序直接读取本地配置,不会再次询问密码或读取密码环境变量。 - `carrier`:运营商显示名。程序会从本次会话的服务列表中找到“中国电信”对应的动态值再提交。 +程序只使用 `interface_index` 指定的 IPv4 接口,不按接口名称或类型猜测校园网,也不会在失败时改用其他网络接口。校园网可以位于 WLAN、以太网或其他 IPv4 接口;若所选接口未连接、无可用路由或返回其他 captive 门户,CLI 与 GUI 会停止并提示重新选择实际承载校园网的接口,不会提交账号密码。所选接口已经可以访问互联网时,程序会跳过登录,并提醒校园网位于其他接口时需要改选接口。 + 以下协议参数不再属于用户配置,由代码统一维护:User-Agent、连通性探测指纹、门户入口路径、验证码模式和次数、登录后确认间隔与超时。这样升级门户适配时只改实现,不要求用户同步一组内部常量。 `config.json` 及其备份包含敏感信息,不要提交或分享。系统验证码关闭窗口会立即取消;服务端明确返回验证码错误时,程序会刷新验证码并继续输入,不设置客户端重试次数上限。 @@ -87,13 +90,13 @@ if (-not (Test-Path -LiteralPath config.json)) { 先执行只读探测: ```powershell -uv run python main.py --probe-only +& .\.venv\Scripts\python.exe main.py --probe-only ``` 确认能识别 captive 状态并填写账号、密码后运行: ```powershell -uv run python main.py +& .\.venv\Scripts\python.exe main.py ``` 程序不会修改 Windows 路由、网卡随机 MAC、sing-box 或 v2rayN 配置,也不会保存固定 Cookie、`sessionId` 或 ticket。若系统代理接管所有流量,接口绑定仍会让新版 HTTP socket 直接使用配置的校园网接口。 @@ -127,24 +130,49 @@ Copy-Item -LiteralPath config.legacy.example.json -Destination config.json 本项目使用 `uv` 管理 Python 3.11+ 环境: ```powershell -uv sync -uv run python -m unittest discover -s tests -p "test_*.py" -v -uv run pyinstaller --clean --noconfirm build.spec -uv run pyinstaller --clean --noconfirm gui.spec +uv sync --group dev +& .\.venv\Scripts\python.exe -m unittest discover -s tests -p "test_*.py" -v +& .\.venv\Scripts\python.exe -m PyInstaller --clean --noconfirm build.spec +& .\.venv\Scripts\python.exe -m PyInstaller --clean --noconfirm gui.spec ``` +子项目在 `pyproject.toml` 中声明自己的 uv workspace 边界,因此 `uv sync` 不会继续向上扫描仓库根仅用于 Ruff 的 `pyproject.toml`。同步后直接使用该环境的 Python,也不会让后续每条测试或构建命令重新触发项目发现,从而避免与项目构建无关的“缺少 `[project]`”警告。 + `build.spec` 继续生成控制台版 `dist\Auto-Connect-CampusNet.exe`,`gui.spec` 生成无控制台窗口版 `dist\Auto-Connect-CampusNet-GUI.exe`。两个 spec 都不会把 `config.json` 打进 EXE,发布物也不应携带用户配置或备份。 构建 GUI 后可运行不读取配置、不访问网络的窗口冒烟检查: ```powershell -$process = Start-Process -FilePath .\dist\Auto-Connect-CampusNet-GUI.exe ` - -ArgumentList "--smoke-test" -Wait -PassThru -if ($process.ExitCode -ne 0) { - throw "GUI smoke test failed with exit code $($process.ExitCode)" +$gui = [IO.Path]::GetFullPath(".\dist\Auto-Connect-CampusNet-GUI.exe") +$smokeConfig = Join-Path ([IO.Path]::GetTempPath()) "campus-net-gui-smoke-$PID.json" +$startInfo = [Diagnostics.ProcessStartInfo]::new() +$startInfo.FileName = $gui +$startInfo.Arguments = "--smoke-test --config=`"$smokeConfig`"" +$startInfo.UseShellExecute = $false +$startInfo.CreateNoWindow = $true +$process = [Diagnostics.Process]::Start($startInfo) +if (-not $process.WaitForExit(60000)) { + $process.Kill() + $process.WaitForExit() + throw "GUI smoke test timed out" +} +$exitCode = $process.ExitCode +$process.Dispose() +if ($exitCode -ne 0) { + throw "GUI smoke test failed with exit code $exitCode" +} +if (Test-Path -LiteralPath $smokeConfig) { + throw "GUI smoke test unexpectedly created $smokeConfig" +} +Start-Sleep -Milliseconds 500 +$remaining = @(Get-Process -ErrorAction SilentlyContinue | Where-Object { $_.Path -eq $gui }) +if ($remaining.Count -ne 0) { + throw "GUI smoke test left $($remaining.Count) process(es) running" } ``` +这里使用 `ProcessStartInfo.Arguments`,同时兼容 Windows PowerShell 5.1 和 PowerShell 7;不要改用仅在较新 .NET 中存在的 `ArgumentList` 属性,否则参数可能没有传给程序,冒烟检查会误启动普通 GUI。 + `workflows/build.example.yml` 是 monorepo 下的失活构建示例,不会被 GitHub Actions 自动执行。示例会运行测试、构建并冒烟检查两个 EXE、生成 SHA-256 清单,再上传以提交哈希命名的 Actions artifact;启用时应复制为仓库根 `.github/workflows/project-campus-net-ci.yml`。它不会创建标签或 GitHub Release;正式发布需要另行实现符合仓库发布规则的项目级 release 工作流。 ## License diff --git a/workbench/network/campus-net/assets/cli-icon.ico b/workbench/network/campus-net/assets/cli-icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..aebf8a4bf8491bbc57a0d8ced2bb74bef348368d GIT binary patch literal 78648 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%0Aum)$eW;_ZNpL(GkC+FrD8roIi0|ELqUIqbmL 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 Ag4u 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�`9dJlBa|7uUoZez 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�Sjh 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 ZLbu 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 ZFUK*wCw$i%f-1}D75d6|Deb1ly_+r3 zGrHu(u^6a?I~|VE@2q$fZb?IQi`!ArW)ee=ri>mMBPLvj?pLKUL0uG)qJRRQ9K)xkhHB+ABseVTTXezy1H66Pb zzL&^f0NpSX8`FD3tcb6~OuqPW=;R~YXV|^MB^@ZqI>2ny$ZWdlhB=h2M?SIq)Z&61 z+D^1_!U#5fY3oPo(ye_=J3YI|7XF;%PDW)KL$Vc97(|GN>Q{8wI6k>`rKUWj7-vI#voJ~u(SnGF zik5C8=57#PD?E>DNV9V`Zle@jwq{W8-_eJ(Zja+op(vSQu|F$0sF6XkJj zsNUXKXe$n}M{21)TsUzQZ&tKkvEv2}(Qy@!h7hrbac*`LhbR|{FR#pVspP5QNiu^= z+6)bRleC`;?ko!(TKPMx_w6;!NM5ZC(e5KEDEglQJ>gg7F!CW&v*9MDT?%S&>jkcT zR`<<)NooFg2Dpg0t?l8)239|(PtI;`xT6MImX1P9gGI)eo?i#&m-FB~b{IT(PPEIT z#{Nq+1FPcTQnU~_E{3K`MLDv9jt`-{l&90pNmQmx<=Gn6oxab>Kw?cp<2bg$J>gQM z#%69qz$!9^l@;dzdD#@FG08f_LR!|~UdJ|jP2?+u?aWuuh@MJTQ{L*R0#rV>rpkMp z%Ce|Yl;l@>q@}$*tu?-HD%t{puW_49H2qpLcjEf#D$-gCkbkJxMs*ED;(kXySTlB( zb~cx>%q<~ubj;}>I2n<9jy^Qn5||D2x_h7Rcp&T^=sO-1$1hK;_)~K;44!4O$cY5E zEZ2C0*f`8*?YXy#2sT|5(OY$xOVdVw93HuEc1Uq^5Azl7haT^#RcfK(LVmZgc^mcC zfU9%QV=)nw+j<3yd2Cc0|9hr)56EmL7?k`KZaGt{l)$EcS#d1oW{#^DGU!2v>b`Fv zmX>`@LMPg!JH_$OFhtm?DxaCPSn+e zdZ6c|o6$oJIA0VFPnUY+R5OrUcG7mP382d*`<%|M$phWF4_0{FS05nc_d%OxK(rUv z(Keg*Gif^-;PDRBW_Rsneg?P@_;99YJTDxgu=n!~t8f^7)ItTox72O-;FUbX@tomW zcqRB9X-v@j!h0O#yf1C%(DYuq)$8hkioPrL_sWaB!m`ChS)gs|JxxuRvIDbwDE8vLddH+AWjGq^!LwW8BV=?eN2~bjn)rjcEgWy@ z>Al`+VCixGvIfo@eGB;?>vbGB4j{;nbfx{h=?H7Oc-dw>i5vUEZ78UvXIi(Ku>Up3 zfTRm!nqVt;n6et9K)Xm+H7nL{j`4lYuXr{DCDH zzzh=iDF-iTbAfrE++O?6O!Y#>%|NY8sO^zzv9X;y0m9)^vEdinIW@E6eILR;`9MW^ z$a_Pi3R@_eWy*t_KIn@;=sM8h)<$dCI6nMjTXd4HBWoi^!Jnk-F?izx_vs8e<_FMudC8>|1j;H1(}i{x^8m6 zg;0mRqXyj;I;nVX5rv{_s8E3Hi#pWQ3tHcSblyI^zq!62)6|t-4|uw}%A0|gyoh)T zoLG=aZyCF!EHrK0gfbNj`%-Z9QGTH>7Fxu1i^Z!_0-!Hee3XC&oRUqNf3G7)wCUtL z(2%B5_eMiPuRT5aB_c8QF+JcWzJF`@G76R7Tl8a&CPysOVwxRgOz(Y6(45M{_BSrZ zdGzQ9Iw#%B@)C&5X)^{V3fd3xrZJo0mF2>$^Rmpf?CU@@K81JY#CI;ur7U=@kT&)+ ziZGh4wwd{4RR(ik0EMxQ!z{d}0i|vI%a^aq8f3oo{hbWoEGUg!&BL|*1%>g&@B?7- zHifx0yC%Xju1y}6DI5J--G@yt%aX4Fu7OIMoR@rTdcAg4AWkpP0j+%F9uUh1AB_1E zvt!4DVfR4a@vz8xp}Rfv{xh==cF}x?=h;jO``K0=&u(@t>`A#t5A>BsvpwH4rF8JQ z5y-S-Di$5~gNqc<)6Hg8EJfc*JM)<^X$vEH4!t~aT0NtS=OYfnfvLafTx_j^w2@_E`-t1Q=bkIm zXFO7Gb8SAWNCz2SqXC|wTLWJn%hOK@M>N7J`-mEmugYUCyBvE_y?4GxQRJYrO0| z3rw`_ExpV?3|bm+kb0iG=5?#ocj57_-oP8f$Gj5CC!;X>taLYbjXoc}SNk}+;)a`F zy$_aWd!DoHSJO1D#&lae(3c{l&i%I6{pa}jtW3wRs5kWe>|B!L#~yF`i*j@zwZ@vn8Q{c z=tb}4hW<)L-hpVnXv26uUT2-i`kau-pmuDd=0CR%pli0H zE$a#542CRYtQluY7@2mQ)mhi@^&fm?KQ}veJP>vd^c|0loEQ26Dlv3Ak?tO1`udRa zlTpQUfoKKlcgf*3*G_bahpVYhZKeX8>&F>`=OAse+CebgxA6A@q$Jl~lFAYw%XG&B zgkY~RTAhu<^6^6#CsVX5Rg(3j4lXqoX9IZ-+ZfNK-c7>`aicP5JrpO%8z_>vRUJ1p zT1dbdCSBM`RI(ulb)(gqJV!-?8hYN<8uC-&kR^nX^nx-%#CZ$rpfT>RHXc>bVT~6r zwrPn!gR(rDdi#)mg6C-&a${SQx764>F~;&-TT_F5sW_?-?ZWcb0K@Aqze5ElNRL^l zEYDM#@T!!pmXMZ?hyl%EML~)0g^1 z?@ojlBTvUA^dX_PK+v|57K!p$%UmmAd1qc1DQ;&`H)4BmZIXX&mA9kKgYBnvKsmlu z#PI2m0X9#jZL>?DLzNoOqz%22HH!pN9y&2)LlMILO`XQde@ zAfIwL_3M{r$BqZYZb0Ahu(1E-pZyB{=pTP&I4|@CbZU$>)F6-~Q2QzryG!v^dc`(d z1^y%H`S?HaRzDkka^KNdPJ!XsQzG3+w1f`vR|T%gTyt_Dg!e7M+4~81q_W3Ic5aY7L0euC`_e5DSJMPjH|XP9a}=L zdt*m|-#MhhZReJg_lDH?@%$HaT8VndLks1>XKgM)`i!D}R(P$L4kK4yg@-Qz`v%B66^8Ju^@OdflUXOx zWq;n4tWD*I%0faUL(sW}G^a;SmVxNA7mG!;Wl8H4iP)<#o0~6-`GSR}0`tV}cMsMZAck%KeMFl*hdg}XA#>^D$*A`oKZ0j@40SiV z`aP51FTrr!Z|Yl=BeqA7xPF-LWqJ=<)mu6u+py*J7W+kRGRih!hv;282V;p}#NOE{ z4pN$<2fesa9CHm5t~ok7;*XI9N&#d|j63CzoMLEBCY>K2HDef}S&%4JQzWYPHZK&4 z(}O{LAqUXSDR+%x6*{}cs2U<@Jo+Jf zt}W;s`-~R{*Q>YjyoBdDgm|wtq`7|t?@AA9)8>slsp|@f7PK*}JGb)P8rVjQddyUG~7B%pMZss+p6wmNDDN?|r=>)XV0dOO_{ivS$tErE9p(Rn}!ONJC!y&G8CX zuMvkdQg8En0yW|<5rLTJwo*IX!={1-qvWTG-8Z#M3D~{QcRVn51Nx4K2J40H4b-?2 zp;N0@>zK8KU)UPy4Cl8t&O(U0vl0`67zL^GTk_CnwrlVC-mI0NyxueG8?OE& z9_HN<4A$K6?zzaz8O4@$R`_yjR@3ts0I#eeG?h|XAXh-HvP3$teQ1*N3R1lv${=YP z+z5mr&ugbx`mQM7ihML}i{*j%VgfN8Ns7mXQRNCENh>aIE|P$xkEU5pH=dpq{lPuU zNuGzn{F#chav8F zZrK=z&W^jRr60P?C4yzkR`8zM_PURkmF5U9yEv~wZGpx|gyskUzibS&l>@hm>A79o z^DH=rbnn?ry&@{)j;*OV+Gy2w%=a}S zAc?pSZw(s^}gY-t-~;*m9oNqHsdPN@Ia~aBpWk zl`54nKhNc$zWB59-Ksh&GFZer!8?p}D8eL6TWUd{!CV;z<35yn5FbEcKnGp@x$KXL zGK|EmEO)NmEO{nw^Vm2h&8k@ntZhFbjYuF;Ty~lVq+?~|$|S}VFB_xpDG$em|F-mD z2l%P!PL>0{DVchC!?2YZk!!GpN4gs)D+9WcKqaKY$(+4471&3Ip6vvE=rA?kx^brE zwSIiUI*k};K&NS6Mb_!H*?<_Wt7W53eKtW|o36@Y+RKE~SZVwFTQH#G4{O_|Z_W^= zO@Q(lYp&DQ0M{2I_fl$(z|k5WYk;mTQ`DAjjb5uaAnr2N7`>4}1y~=OM!~hwmim^} zn7l`Tex4|eTaJg0;GeL2pYM2ZSUADjM-LFT<6{T>(La7;xU&d!x7S{#T4Qf2>!H0M&|Jm!sR0Z$d z>vkH!4qmCzL->w#yn6*F$ora><0WyuShfyxZ0ml_FZW0t|(czBug?-cVP-+P95PZgzCpV-bjVEkM^ zwXv6Y@40IKOJ_Q=EiS~Jfbvt5T;GAOVD>TX1x?1%N3pSYEBH+o2jO#x>nn7iB_!pz zSU#$Xxy(xwBZtmRVpHqb3ZE_d0RJi%n9?ZHXl+}Dp0UmBeBl{f7Oi8+_ow20R_tjV zixusM8@t|eEObsP12@u~EC{+O@d|u%2;nmw%T=1HpaTm#Ms=zMh!H%%nx@yKoU8??vU{XiYuJl@;;n zlj$TbqlEj>cjz@qQ79|Kv+S03qsoe!4g&pcT9=$Hk25CPOhzI@>GF@vTYu#>NsY#q zzwUpVa^Cb>stmKhNX_LfJ_lY2V9K6;SU=veE-PM^!F-*iEKja%(!y5MD}Fym!%c|N z?q$S7ud5_o3(Ad0ZLsf~>#AdZbK-f!JfC}}>Zpp1M8B(iIeu~jF%*|CTX>F-3h{0u z9tuWKpGc+=xJ$-(Ak-s?$LJS-_rvflYJ&>GwGy;9bLIC*Suew zxp);n2MH$Sfv)s??!f~5dGW8NFPwzf%LCn&Z92CXbn?0`wOf@3Iz|lmV9qg`pG^~N z;(eqk-@g4Nq%Eal2yJFhZFcrRk7?#8@Gu_?q!pq?IGO=%UxN+$OSI!0%x34AQ%~ho zm}AdjM|V%7H=fi3-I3jKa351;cQ;S;Li=!i#O2+~>k*BE&J!Iu4fWW?YcCA< zMk|ma#SdwJxwd^0(8LjRr1PDioYK5|;6>YR%JJ?)Z7SaR-qfMR+q{*JwR)Lr&}+VN z?VOW@OMJueV)w{zB<{bO>k#ZNFSkng@1_nuG74cHbc}FIJhoho-hSO+&CR^hX#{AX$ySFT@B z!*{5Vfsc*->SL0UO+GdB)k<4j`=JaiF3+tt3Yv5ohaK_KAzh5Pu}*kgnLEouyZ8By zhsW-LzT<7dd7;lI1G-v}anq<1(HNtu4X0l<$Nu9^(ZcLow?GE}3@Qn^?_NvSQM2jV zU~?~XYWP;p;;V4%sI@+r@=028I-wmoO-F7UroSHY$72JMn1s zHX^AbayItoDonV&D13_V7#;lCuZfp9a+m_GxB{u!g5qJXY=|nHtG_1nxYQ6j1KC)T zOHWa+0|^t!rp0V{$mNZj3PcLjS!Zb0Kz*J$fyTIO8DqI*--`N--3FPd*QTG5M)Pd_ z3Jv;_zr9GqPscp18*|~s9OgoP9KE%M!H&=Z)GiDE+ z^K{@&#wsb29ev>eQXKtoW@Gw%PBXO>Ey*suS)2`xRBcEn z^S)2-2AfdmeCmvC%|)P%T+`o$K8}&&=_uDxL*hNa^Zw%{oO`QVi4F6goi6LEnkYXw z?w^=z4$|?1ym4wgeqk}RG8Lh1mXmQE|9RSITwz-sg3N8dIw+O_`uDq68fP|F)$p&x7SAh;oY9&TT*?= zn$=g2es1L@HDl}^luavt!2_z-~a_@wNc|Y>iJZzulg2w?!}}^+Wh8glKOG;qLQ3 ztn*$S_!)f>NnuB`cntT%vMtVOWJ`V_x4?Yfs-Frs4(OdMO{Y@`_a%S2&D>sJUtDmL z35;_Q!t@t&V}57lPxr43I8@J50}CDAzggwHkB>#2g4T%L2-QSUuG=XHqg6?$2tdeOZw9gL{J zb$iO=5Z}S?j&qTNI+n2ScqaDuunt)a;kkp!3+*d!a|S-H$sEGCNAz(t`FA-uFKDfo z<(0>(y%>X&Asv-{OhdHijPsh%;~Gz5KmG)1OViA?Go3Gx*Sb*Wu0NCBTNUHw`8ZBV z`3myxt%+jN;tkA&T`r-?>%4J38Rcy*iH_ikPFD}V0cRR~Nf6G=)b%$=Iv>pAg7eHm zEQ^+QZO$xft5K=WOs4ZKdNSSYU zTn%<32JK@G8qJ$~&e7hJHN#{SDOTDu99)HQd;nRwk$!3w_ZY$9*`zoBYT)K?o9V+6 zu#a1{H?N_cpDW5S&v~9jqh3sg(ewoVGCI0MvcDSXUc-~7d2RG}{sv^@j@@gOQGTbcY89`aTH;? z#9UggnMy$+_W6m+jZz%Fmn++&?c+wx`joyu8WM?W(bf|U>HuYC6IL1;Qr2Etf@W~E ziRJ2~jZ*-M#_{^{sNRH2Z`~ZAcx1p{pKN}bw9J{>kh+#ohuni30+xT6>lvWOgA{ZZ zeGg!G_c^2sKs=0NRCX9#U&@wenL0`@Da)fVQeivOzCnXE(qOF2Mg;|akFOb6$K$|j zqVA_tlU>bL={hiJ7xMyP+mk%lM>Fq$Vw`9VixA6hlIM&mZgi5=iyFpr?TiYeg$^JQ zK3GxrQQ_GgW({9c(vJhz$5P#<9|!opa9q@sG5f9t+<0%YHl(Gp%aPCK51aqb?`_Nn=^+ z=da;XlHp^pwbWirG=kT7Wj~)KqSb6;&Bf5If!`xZejdUsOv~-O)1_OKgD3V?9(Rhx z!+d)K>IG85^wt?e<2MC$jL_qasadn;d4@tm9}T=WV{qR|sc7A9lvMqAY+f zC{gQePS1;#D)zNBzIwNDUhzYuV?X8UQnLbDyho36{(p=3S2=I-A^An0t=LdB(F19G z@Unu=jfkgC%5S=JVLuQ{aAYc7gqe{3I46h|4>-cW5g zItXAdBRXn@@kjSf2N7QoE}>VLLmD|ATD9f?^M%>5;|;;W3D(|n@6e7N{Q;l-!~b{s z_@V#djDl0i@P@|DRDuGv4#WmNOfPuOx?zSP;r)oC5=WR?S3?n3iAQ3b#U!5?1A2G| zV+rAX7c1+^{fH5T?u89NXs;D$TUw)vmxM7f?L-XQOggEUVoN*X>PKqCCDIIV>g_lk zER!+gM0qR^-HbtlrEO(E&n-JSF&z!)BT7>0&l)kb0fN z&4`t}=2{Wr>9t1TDQE~!t~Q@eg$-^6R4DlH^x>MOI(|b$c+s^3O-G72Bsg*<+Dv$j zj-TaylHoD@9YT4I(ZfFEbt1nMs*Qm&uPDN!09MzSO$Vtgkq_d1u(Cdr1m}rEmz-(&h~3eB$F z=@FqvX!Z|tT@fVJPKBPY;r%t(+6dkYz1t@#Q!spf6t3ouP(OckNc^yL&v$?}!VcZ6 za3FGN%vWR36@SgJZwYmZc_s;ZGF_MJ9L=)iJ^ z>WZigO4V#WG5#{wUyWk12-<$7YBby=f!7VW4z|C1?8kKlKX;JoH&iNk=Y9SQ`-$1H z&X~Y(yrUdsyleg%HHc(2w1vn#CtQ2T1pN&380`MPH^qMp$CtFSWM zJ=#*+@2S};H4aO&Cn^9_3xLgLr`YcdE)le()d<*B>9zUn{mU( zR^m^?9+3Xnz0Y^NLF@+f9d8t`zc`Wi&kTB@kHFQovE0;iBs0HdwxAx&B~&!ybLqFg zJq0%p=USB5AMQNm=c7q`sAsVCVKyKNHoHBRNCFt#j&5WKZEuzSr#1wMR&O-~LMxAC z21Eb28uauwx2NX2BRadMeFL4`x{sC^=B%uGCGW@<>S0mQ=IDX+Z20mZ2Y#1$--o0# z+u;yA@SNwl+wI&{xNBTZ;|}bcw;eQ&i(^CiC?+t;(4!K>-pMsMR<;GwT*`aQ)r->W ze-9oLZYFc#*|lN2)gHOgfIyEE4pT_mhq|{$7G@rFbn@qU7($hP0ah>n~F_01LTaV z{xT*RqO|xfJeJg318g6P+&oze#~0rf1d0I*(CYnRpj@l;*swK_rL4VG*_xOl|Ha>9Q#m;9VuiDVMX8b4sJ zeNWPN@Ulh++JR^vENqjSu*ZeBzL5@-T_U#Znv;U(}SE1W}8 zayo9fnL7qT#0|rgZ`~4c1cM$xdiT-C1T;0x>&?YJtp6SQlJubQ9*D!ZQ$0bdj1m%V zju?6W`1Pr7e`9v+cw^WN=sVsd?AM?C8b14n;DsKvTDD=eBU)Wkf1%oZfRvN^U{3tA zalz<{(o%zMZ}orxBjYwM=g3R)2>!a+_QLi~g^qW~1rI8TN}#a77;_cxhhFQkTDGWx z!6g%FMj_nG`7lZ(rOEk7P|V`SODVFcwc%!8R1LD_Mra6yS9 z4wonjdk(^D0n~8SYgVk;D57aAu0Kn9CQ#;4%R6X>wMlU8SMrSQm3KDTj)~@yvLg!r zMzAaaHWXoVn~(5TZ$0nC$OASS1hwI^DPN64E`K0(^>d;f=&>5LtHxMr@qH^xU%Vpb zWEb*DZ@bm)Y_1JIalfU`$&K@%e6K3ZHq#z8`~O?|#Xpbyw{?t$bV~Ur&mcCYi{Asv z9<>@QTyw1GN7+Uwd-e3=K$`Q$`NDJYu;AL~oF@?6bRn73htB&9 zy+QOjI&Y44A@Mzirax2d=q^j-2qedE<-ocH@(oV|s3ob|o*mDZ`ml zo{TY#62$79?WgpEkTc)db2_kfN?&>C#v(xw>O2Ac`Pv-ix`dlbe7qYg;*SMenU4$2JF zkv|&eYiLNr8>AX|E-e3aMrRo&#nWz}^M44e+C@8uH{dDJ?-~P`7M=$Jmtpv7>(6da z8FXFpakLLthG}3swW!+&!kFS1%vXf^$!j;R7@k4GS zijm0!-TG|G?%e+ zW5~O@>l(+dbo|v~N~|HJ>&auZDdQeI<2l4-8={FP7V^~XAX9v4cIS7r=aadFyBlgi zAG`|2HpBA2WS%R*wS$1mdz1`C(yn{u7Vq54BSQQh&uw>=w7q0mt87e#X!o1$#N}xa`oZruNhy|I6}E4rFWkX$s5C{kS$LKjMcQ$djzLcVsBY8eod}(Oxr{jemrhxt6+F&MSOy)1l`x*Fr49R2p zF5FabWS%R%R}=EvheizVSY>&Zd`+QT6`C)Y*W*MAOX}nBf!x!uVD)hcxpeN)Wo8G9 zBA>evvdiV(dD+Y7QJ@V*zN;NF@hZ-*NCwqW8`d48)reoQMir9Rw;8sx;dwnO=6kY_ zca7~!>98hLevGNnGTIW>o%R>i^dL&@-YfihjR76uG#&oPt6UpM+sC%|$11rXN2bCh zYj_13(R;85k07bFk58 z0TBL)XJZ;0W!WMfmal%hvp_B2r2{G=v>>N7?7U651y^O%NM9j=tX9Zg{vej3VEtSN zMQ0LA-;(?^F9Us#(ARRP+z6$KD9QYk%?su_v^ytnk?(Vczad|akC15l&jgR9nV>{b$}ob5oLS1IB_y~d8AIj!)#K0vJ_ltQq3uKt zLi8xv{!8n%nOXa20EOSFms;pBBwDNPOX3 z+8DyULfl`x-`(du?zJHv=&1Qj!bv@ezFR!cmq4|K_dw68xk-9Y=1PMz4Gep(a$|Tk z7Z5qjdBfK3zK<@DDEB1>;)KHs!8K@w!+SFV}i_Cd5dwQ=fIB z&HQ=g_PnE>^SI#7;VzbgmOtXa3k_ofccdsh=?o#sis zg{9swB@bgqcF)l@M>d+-uvDKV{H1_rW4*ZXPJv!j4%#*?c{fvUa}fj&yD~nPAIt8& z;rNK2_f8BSFn^Cg zaT(SDu`J{HxjoB0x%t@!KK?qHCWS`E(az;5_*Hj{ zu_k)A)oZy&Kh${6`n6Oi8tCDT{$#J$DGsRV!nNN!v&80G!H1le)TQuDOI?Tui%GC(7aPmf>dBr%90^MHQhPfe8$yE59mfENoOZRuhbG9U-J*MV3hSb3F|e`U za${DgNnMqNMyBcoY#$uQs<~{yTs_JIeSux`EIbl~UeoqXhQ{B2{tNqw*|FmdV)sDb z@v-2S#u?Bd?45=YtKix*n4OmHczx{_pesIW&DFO4yF;+Tw0gmNZ)=;l7PX0|pVUEt zc;9Rcvb_+0C(D>B9M*M!#r6t^)%WxHAR!<;Ga;$5Y!OTo~n1-9uir0u7_2G)(< zP=`vx$f`UofO?WfFKYahro$<-#0m!FeKx(ze%Y08FW0oR;JU?a2B0%^?0qnY`IB^{>zkVq>= z%~{+jF~dS9sgd**t-_0} zctjDRR*v$945se2P21|V-17c1*M~VU7Y3SL3xK(-=v&kp#w-GItEY9mQbfZOUAwSj z%5*rR8%SM3qO?BTxSbQ-)&k0Ms}CKdX~p&+n7swRrPG3XQ>RA zLQXEOK|Ef${0xwGpYyaea=Knc=h_&!E>C4oWnM8l4G>CGz+8Ll=w1KRTzTRlUzi;` z-Y|9p`i_qPuYY+W^)F7-`VY@j`UtXb*o%5Et|AbL%J&$U;z}Zf4&~&ukKx)%JAwx0 z6sFrqtbT#8EK$zouAwRCULp0eZ^A|8at_%Zt6?_6JxI+r$bT8(oXen48;IweH|Y*H zth@A_Uy7F9&QsskaAFEUoHeKwlieP zf$90SHG*OY=aA&A8r6I8@XGAb15!?mX0g1_)nC|WkkWu>UrOJaI`9poIp23=2S$ok zsDTT;xr%vstKXWwwR*jy;02DxSM&&%HuH*F1z(iX;ak8*7n)u=e$9O>*-A?D=JZKI z7-srFHNgU}ziMnidp*LCb8tLrX2kuLY+`LnlL0-t=K19f4B#}4n)lJG&xG=qx5YpH%mjZ*XU1d*{i+DI5fbk?(}?_$Fjd$26v#n!uV%R)=-o zUXt#xS;85)S@4G^3l{{D8xp>{k!IkG#VrVnLfZ0IT$+ife$3&Z8 z|8v)iSj}Hic?t;}L0(l(I->8!S)pmr{m{ia((#A$pJYrfp{|iuQDBV9^cv+S zL61=G^z~FTbH>+PIeYZG7x5-pd8UjEoLf(dQD|pwnF8_q4Q-NZixQCbxc-X0^=W=+ zJa3Kw(MzFF^SYqT;=c2Bhw}y^I&PbbR#_M6hMF3TnD^&FvV_Md8OW^W$*({Eh5g*@ z*zrcOhj8EV5dr@CG;{py{54FWqxX$)t`b+*f(kh&Wt?9m8bn380mZn9(J~CKe=XE2 zcviK_z#4vOn+XA5Q0ktap%z6_mQ~zjD@Z6#cg|do(!zeWwQZNW9n+?yjV(#thF@@X zuNlRDG27s#<$!GZ*!E}yx8yr4S8Vjg>6sHvpS>OJ)gqR>yjc_byb77soS&TodTl#J zPZTk_FXxQP4g4d%eu0yxl3D&Jw^_bppAG0Vn*MUlrt`Aq!dg=7-e%qvmrH2uN_yx6 z^Ha;lA(`B|3??d1bWdz7mt0Fdrmb7_9SYCpHa~D}ztAvTE7#&Sp@vP)#<+-mCf(LH z@lFahl+%CMbvRBS_gT9I(_p!>pE#E@~tTAj`867rPq=ejWg_OH?!bJHjj7swZ$0|`N}j#?QhulKxC*hi>WaRMU@SGXNsDG|kp(R;ud(tyzDvfP z7G2uCkvGydhgA9zY?OC5)~u)tB)<1XH~t*`@KxPtPU{Y9zBD^_ym9Ov=sP|dz#snO zHz$(+)Nj47*%qkvKtFyka!f|Fl?}@cnxM0%vbnu7P!Xthqz8IWjh^pI$rkI`Tny8$ zZiPKWb9^7JJx(N_bPjN;-%8vk zKHJjIHjs_ip~4cvI}{MlL$B>;&WNu`3;Ve0>_Dh5_YDQoUQ^Jn>2Bkyk z@>psdNxFvo60GCadi;*dm0pagU(gRZ;WG=wTD>kS} za43{$)Abi-H&?EEwD3GYK~smIq8S?YSOMS8=G@g?&JG7twIOFB>nkt2+csX|>P59W zwRjDOnrk8<^ujdf*YDgKhZ=|{TW36%07X}f+(AXz=AfyVQ04nr9xn1!DM<)4+|wA` zLFC>X$ogF~+=E(k1cLhcYqMj=M}XaczT@KoeE1teH|=jzd;u&Z7f}| z31xPw6xTlSV!QM_eMgfo?#OrFdkKzIq2npHfzEo+j;+kUC2y+3v_Zl1I+!SH6%g8Y z{46kNKnGoL5!~#>_Oq~@^tCy2uO{u@QiEBBbt6I2C2{aPRXjtL36ei)dIDIR;hDh>osORq}Z-_Swn9JCptKluf z%~RCOZ7l}Z7HIOkH_Za&hm~#vU0|a>W7^7sYlc=H9qi{f0p^<;2dQI6Ec3lL;_-QJ zawxK`dl_$!B&RPMmZINp5byu@|I_}Z*|Fmzz-~a_@zKD3{mHN4vw!;Pw1WA z@6{I0_gSIN**(ntrW;#H7tZ4xPA0gC_!G~XXQzBsEg@cG&w6LGP{Zef2+AQW=sP3F3_?Sdf!NT>1O(_mxPN(H7 z1^n9tVLj$#&*MQc?=Uh-d}$Iar7;>22fW_8!G+RX4s@NnXr98gCkcI(%3&_YZb+Ir zj?&ZxVP2|^>=DKg9q+gv#!5XU3XO93!RpC=#znt-B3jBUSPnH@Vm66^-_9UmFyzX^ejbkYdb(m~b9J*5oH zB~H)s4?z^~XtCbVa*+o{NLho1KXu=f&Q7SyCN*cOT)fs9PeB%TS%|laEJBR zVPv&I`$16R)ox_K5QP|4)BR0hda%kg(Fo_ug%@*aXwvW0R&zyL(Rv}K!t(~|_Z4w7 zQE9;r%Re$$P9bb$V@%V2v|QPk8Utv7wxj43!9xiSolY|1HC&#ms*hq;OgXHeY?AWC z^js6oKzsi7Dm1-mL$Z#e`l13{8J%Ip!bY}fXlRZ*YR496#%5`0N0qiU_AQS0QDv|n z7m!${4uCHYX`kfjTSD111ui_TX-F@J(o&uFp_as3`+v!oE&&NzR0}98QdIL8AS-`j z2$OhtbE=Ff;&=2rm)x?E*3`F&CFx+AqW3b-%`|ayktrQw*|T*VH;0yPMNFHJy8S;Z>x#xXD|n}sr(r%*;vOO?{%lM)+?vJBBTK(f)$3r)QQdDX!bsQK zEqu-=QPJm*Al~6z61R^!T3e^FIXcZ8KD?MO&5j)(33dbej*klV>woqu_``qv)#>Y} zDg*jV_63eIpySfl&35tjN}nCM=Fd9c*!2R9!P7>waS>>~ar?vl9@|s-=oVyLQqXgs z?YaMYZ|R#$K7Lyn(4)H6E(sj{0S($LInk?dzBXNT-U7GE8=%_5T#7ljKe!{CSiB7j zWYuyebPYD!9Sza(~qkngK6J%u(60<1*VK{KJ6WKCIw1AA0@QoxFGD% z)hYEHmx7x^R-RL#yfAHJZ~#)Cl+gz7nFe_Vy)-GjSGpO1)vh3O)sVFs2HI8*P2T7U z1A2=gg(KY$rVf5p3fJDC!97Cse*E4NjUY;c9dbvKPQy-x1Kk`V?Q}wvH18Fyh6-lS zY!2h4dK@F~x)b-*iTab+P7x&-Ih^zE&w-wQ+zXWCj-*`KcLII29ubw=5J0q;MU3{Q zj)8SwrdwuQj5=-#fjrB$jJb}${=x`xQ|aMG1G=`qOKYHez(Vhh^gIP#+_SzY!f$a@ z&8dHX^?&?@eQ$Q`_(-rD(06=%u+uM3#=%d|tB0_ck{Ya!wE<5%z#A@2kWi=ej7(!l zO0|4GZGqtIA31vGRDQ4JuUNXNDHkS zpz=}c2*1?N+zVKR`!B&g>*#*cw+|>SFe7opa#%?5jduDtp8DH)s!ybXM^6J2{um2b zD<|CdoDyNgh{!5}dSY2&N3hpFZH-a2luspceq@N0Qc}D1s1r)ULx9 zy8C#5Mhw806=gYc3(m%|uo!NS!RuVGsC7nMPWd9O%9SzHUfQwLH`u1eD99<~cU1QK zf#I(?g9T^g^%6*|kc8{9=j!q#>0`n8!aj55i4WvSLP1|tDV1w#P5q@|tJMZ}1xg{z z<6|z|*v9#ShX16r%V(rJ7T~p^zFer~CAvn5#_!kw3^yp-veAy@T|G~}A>bGwk{b(d zTr6~$=ufw_N$qWRye(c0z3`99S;m}x)($eLc>{5jsb38ZqOB?7p~nIHpiu=u!{Ya1 z+jK=zqB$|bva(lDHA<5;8wdQxMmJAXl;Ez{z?{|eU|IW&8Jq(=$VfNQHPU5Bx-B})Ctwa=v4 zKo5x{Kf;*T))yaVH->ax8=jK;+U(fz5n(r=@AwGu{a>C`_+Ok@{tx;4x7LPP^4U{D zKp($H2G<@`nv0i^y|y4n0kUA_ld&;k5x5sxHSRZ%XzvPxtQ8*Xu?xd!fJdrVN7k4t z!#z>gy-|8?d1~IXiEDUZ2HxkwiL+d@l8~Typ*>AWl3hk)Jarja-&D^;N_NfFvF8k^ z>AGH=k9w=M&VH%%h1=K0@X{?AbOBVEX`^c?)F{)ds(eT7)E&31+gone3Lw2t!sp^^ zx#qNm^kO{fN-!?>XepScKWd-qs6EKBqx(IAmaDKYi$&{-HO3>33k(hzTJB9;3`=|fwwCecGZ`n_+KJqCTv+_7~K6RC*2q0S^(E}a* z6eL5F3n?!?+r4qnhxleuyq$;8qH^8>RPZn{!~jEDI+xX|qWZ22u>Fhw}R+PD;ZtCl?TwAkERLNR== zLW@TL?*2yfipp27d~9eyt_~R5O`A^9v-x;V*Ks=Jw$v+q7G~<$Fx&P*NW+AGn6BIQ z2bE(|;;|Zgx?vq12U2I7$uH$mHz_@Tk3o#m(EA6)=x`A&f(}p zE<6L8ygRD_YQws_GCYwvhl{-6kXpU>sDqvK>G*NqA@8|?{+qo@tv-!h6f+vBrUkKQ zz7|+UmXB2y(7pBpjb|#M=lI$x(F#c0C#C)Hkq%57QXc5I{&f5{w-%-A7%Y!8n#HlQ z@UH#iSGC^wQ|p*BLKSh(-2}>N4gW2{!U#hAW7p&J&3(=`(hbrw1QNi z+Aj0<|Igmv?b@~^>0wyrm}~7*6nxQrDL@ykH)y^=`2}nNh7C{+0VF_(AOslw2=W`W zFDOtVU^QTwuqL~qo5?!T8-BYT@)Ur@fXj3xB&N9ZSg_aKZ8o-0pP zOsDcvo?!{aAC$i1*QJ&vM{*zf;dx)7IScP~qv#RV;bfo(pm6gDhbI@_w<5+6fn++a{m!X1IP+Qk%!1%V5 z_|^HK;`JXi-7KBEz&K;YpL3~ddphNvff}C$jW5tX4;w?~9@f0Gj=UO$cmq65;kZWF z0d>Xu(}QESlDb=27vO&OqrkuSHX0eukkwq9 z-CgpzjBBH@pOx*SZl!cJQZZ#s=6f73&7dE~WYf(@kj^9F`8WOw=XBCeZ%rLjm1rz^ zt`djyIpm*fTJw$9kNmBfnE1gkBhV*)SipbwfBU!ZKmP3IGOYC_aZ*b~1iH#+r6B?x zad15w=$gNbD%-;2zP^8=~GCI1u@bYR!zqnk4mYXn%hVEI_;PLSnn|E4B*^~orwVISBi!YbQ49bKgP5@@&$zV)recvv!0F7T-2y__|+ zC-IRpFuU%hW;?F(Eym~dB%0Z+@9Gm9TjDK914o1Fp`ash^`yWk5xT0j@H=O`b<5_) zg-Aqz$|aFgE^3Coy5Zy6xWc(_SHBOXmMfa zh;!vqs(T5_;6dX+4Rh$8yPC9e{)@>Q^PDssH+5Z17o+z`XM&X(hqH|8-IIAGun{Mi zrL!^J8Myq`8_{vpt!8we?8aZ=A9dLUft-`VKCT}@-4Kiu2uR=y-9mmj?da5Tag7S8| zxC&)BBd7p%8IrN%#NPer7k;^PRgBzdkmAYSiEnZIHQNrpvyk)O&Qo&y&P+`FfS3mK zi60ri_y2|cKT7E@mOxV4!HQjSZ<9bIg2uXfpjmpRw6x6U!upRNn!CtkZzrD$=^$N~ zjec_AjO7EgM&eTr^FoOn?_+xFGP?DM}SSxVgEi9lS^w)x0+F~h4Lli!lkqp9nOUn6w}csuteYE z^DEp}CJEwYkiO^7wF%=r@&J7w*n$;pF!{s%{&&&}Yx46jTIzRa4^wCx$g4@E*O#=X zIA%hc#*Y=1T?qpp{hEH3b9)o@AH-crmdO{aM=Je3$A{W>b8}}QW$h_Z?L#$(ib{31 z7`l7WwzSq3ja(_(b{^xik<$&9oa>x2a}hk}z|pt#nl1dzJ#UrYd!2kG{ZlFK&q!^5 zR=V|6eLaq6hw{nq8}LO}-B)eW`(f6w)qvPuw{_qRdPU5R*7h=MS`CexmM{9Uef&sN z1hkD^txCk=yOnhxv?rkrYW@gg*qYim_qXPKdc9LE@Vx5jn^4tBjgbBt2guYTz`l-< zGsP3P>|0yRaeYfcytgU&n9eycdYaUv7B8LKV?JyhBO3|aT6yGf_6&{3bGKwaia%G) zDY!RMB40{mcy7F`bLMy>D%L6P`6Uj zD|0K`MUVSPSoFwbsJUx*G`G*G%12> z;L47pN4a$Do(+31HD_oRgeT+G%9@f&hqnzFC(m+(=1ZsfN4>g1K_3ZvMcc38AipOW zF}H}p5?puOZsDS_o%glmA_|Popm%JxM036sUOi+p0CR|R)1Ghd8;MzSRMZ4?QH=}^Si02*=Ud$tkmad96AGGd$UFAh<+x?Spykb7wI`EtnYo|4` z6fIPmYeUoUKS=~Cp=V?{CvUiQ^@Dc32-lytOZvMrjOZ~=P4#X~b5y#9MlK><8+BH? z(&C|x(NXrcZyNd6rN@aRf>Jf0+RHNllKia(&FS15_!*62t!T+s(9(84M>@=Bie72m z9ZhmsM@m?NlUM6i6sSFPsmojYRpiyo_c&hkYNs3)NEgRO!Yew5Y22&#@CG&H%8X}8 zQ@E#aXPkD}=edj}iaCNQ^*O_A+;54IyNXsp53(B5u3BcsD^5pWLMj4Xn=#;JpnTQ) zdXtfAR>he9{Ez>c{rhHO;s?V_;XW||_IK|a_-{=O@O0*dl-49u(mK(a#6_=eh4)OO zw1d*+NcB`9z4?~9k!g??@_^K7=|rv82p39@Hz0AMJA=$pBs9cB?=Z*d*MRLI-c?aG zq`&J8@9__JBS5V9P9C5^sjw-!DVsj%Fm_UmzB|_n$3lgu%$juM4-wj?A1%0YIQx@R zc+lM#5Bjg+P>#xPy3<_4?9s#!n#x6m0nKGcaF~Z`NBP$ujZj1 z$&i)!gGN8$@B5vQr3OjrHwsBa!GqXFC=@4(@CD&>_;?%+AVATWqnXFb_Bv>lU5Ir6 z&vEFn{?tYj$L~Evr$VPKsbbuE!k%0=&V6o6f42W-D^e-$G1`oCp5mg`dl}p5{26(l zID$)wKI(`SJKv@HM^BwvRv#6SzL#h2JmVdc8r2Xh*`sqbQ6a2zwC@9bhYt1LLrjet zBccbT*h2l6C)ACQM)c<7FfTKAQjK9GdTnv&3y6km4e0r|Wk@LB_vHU##)N1NAT1~k zGCMxRAh+MMQ;jn&!;u!)_UjYp9O96|zA#9+)Y+B}bVYwShx><2Wn|n(%YgfM!Cm%} zj*}*1L(R~0vY?h6TcG8$SdZ&N>ba3nWMBCkGcoalVj9pVer&va`#+lX@?RP?f*8N= zWR0$h8lg*&MV&;AAx3x(FXJkAZ0*511H~I&S6N`_ahAXELdkasrOmrk6@pn zDwRsO$=98EzcNb&oU0s0FLO=$JaRVH;Vhmysh%^cL4{5uOCHf!kWUQ`N9BF5wrzsX z(6EASp`SSex-*V)#_}~hpPHFI8XO4?GNmFdy9yb?adgHeU9<$RSyu#1w}keg?nq^1 z6FiHG&>m$WkbYjGDkvi*Gz0DAtXSZScXnzF`1^n4aAbO^nB-M^Sw%gqN<|CxQr{sM zYhw)R@k5nR^I1o<(5D3$8TO=Z4?%YQ4xewAn5PgObVFonCh z^<%4!+bbZXa7Rak2laE#jN&kGseHCJ(7B1btO}mjuQx-l#e~RbZxQdN<|022Bvz%> z3%ptX^3Fvo8wr2=oG6lbW<6)#Q8%|=rv-pi#M>lb-o(TAZ5V-Gt*?1}%~I^wl_$d(>&8 zcZzp^sOzA>x>j}Kj@FWQsceSyp|4#k+u(Vk)e>)S zbyEk_D=A;}en*}xg)?vt8W8>T&)NH$k;|rIGmVk-D`&XJvU{bFj(H?U3)(Tf+kIR5 z_&lU|wdBO$*Bo0er>5>?d%`)z@xm$?Po&lUcc_z2GjS78R}j6RcJgT1`@*|9$0n{l zxPO)8=Tg&Z)&|^DP{-6G>yBSrM#)fN4IQQ3?g;@e{q7(CGyA_Z6B9omW(xO-2?tpI z&RBO3dN8VD&bY&Fme@^fr(N5(^kUhdK`!B|Y7n@N}?kur~wx!Pj~)Ezn(=`+O9kh82r+yZwX52a2}c-c7TDLc5M| zN;?3Zqd`s}BFBMJ!;J4T8f;TrN1+c=GC}p1dF-ovSn3bTr=G?p)&gkQ_Qc!rp^fzO zXz)rqRqWG-{vJ4AA*zoybB(ss;_j8{@1bmN`)B&;Q_ew}&mbzlB(Bs%?Ap|Lk-F(~ zk}BBwXWESBnyU|R4)4Wh9xkO`m-0A%tm(IEyg)Z~IeL}WC9XZxs0YG#G^l;wKB?Y( zp@$zsaCXXd2juG|@i~R`1n`7zJRNlYIa6Yib*Lb*N09@PzpIx>c_c#n86mW6YWHzt@TLcu5dD^Nd9xpyJ@$$f{v*HrJv z1oxE&qSN`3Yjg5_s8?HY?TF=i8+~sQ@*b@oh)`dfM>4f0(dx4@oFVdNhj{@Jqr`Qm zoa4|aYzt>sRa=Ow1MRx8a3M$Rhhp{OzboPux3e~I+bWI$+PfO4;r$;rv$R}n% zoek@JvdqNqpBR5@CMJGhOauDF#LL%zY1Y@jxrMyAJd0n#4kvNhbrRmCUHXAgRuRD! z9Im%IZEZT}RtW*qxnm;53T$toj29!g$+Ht6)b$^j`r~MaCOjJtegod`(%dfqQe;$U z0q~L9!!aO|i$<1j%-Zpk%Lm}(6o8yYGMuhb_cm8!a5SD2%;zkn>kM;vY51FnslbmO>Yqa#vsY$Pcug!Q_jRML=wNZM52Un=I+ z8}km7qDvYFnltj0&?Ulpz#e47S?x#ORpS#b#nRj#fbM`Y(c98zeq0GHUNQzgJkh^~zriFj z-gGjgR^tr0n^qTiHl?oNvfT8BTPvVpJ)q}T)S{>mWDi*S54$UxW{UDr@*up<2pZ=| zEK`v&)|~l~rWfe57Oa_mEd^`d5_qMT0bR@6NDF`732oq1mMsp9T7Arjv-*Q$gLy7$ zbW{*~uMEKGwUGk(wdaMMbPjwk;_6J_KJlYtrf{E_c!y8p4(7Lhr@Np8tZ^k|p54$j z&ze2NZ6UwMc~^_mF!+}H@~-#KEV%(qljpH|+J7OxXVly-w~tH3{*bE_MH8nsL$kz4 zFrtumlBf~wg-|N0hd>?3zuf;VsCil5f7m;(fJ?1@EcEbw1Y5kbejt%XCNl6vyL9Z! z`~NoY1hBrVjePppmZ70Kst9{qe7&x)a;Baz@-pzUX zW7~46?vrDqXyXg>Y$|dmPN#in2V+!?Q^ zwY|S3wI5~KPa=3Kk68JH1+%G);RKD*o zRBT)$mgRmXGf}%zu!dLBO5oSV%)_PYy=;ew2V2QP1$5n+mK;kp^54Zb|ra|LGi`qn4 zwK%)J&k9t3^n_OY?OgS6_#~R<^lBqC>Vke)C~Z+y_#Vck3r}~N7#F74Gd$E?J#U%s zVxxME9>hk!YjgpYv}Gi;?P8TgnP+>qAKk)A80NDhD3nw1omoGHhHtCK>!XRO6T=X% z&pp=a-t2>NfX{Mbb#w953_nV6YxPOKi97Ig`q5Cshn`2w=K;30=iWlsd`^CT;)(B5 zp=KUFgRW$4>jve@9RvS$@}r#vx(oO_=pYk+7!o|CV z0_S=TZ}$V}@&wh=$)|f4aSreE-KR&}KOMh~zMLtY$21+VT%kw&c2d7wu8WaXxxVDM zUmMl-_;TXA#wq9MFG+*9gp;f&N(0Pe(vb?dI$slQ^U6m7JzJv9<9E@6oWl|x_-1eI z)~3F8@6gC@NyJ7f6}nUYU_>SRUWHcZC&hTKLY{IFr14|^?p7|_fs&rDn{3&7law3H zzl$+lBKb?w5!S7lOPXkNgxgyrsZQTE{TjOAK3N-eU9m@e57FiljE**UO?M7MPI}~) zeaC7osn)`fmT*i_CX`Ib=UzfS) zX5{DQYTQ0g40W#q=tpVR8maB&5wZ?_tMvGwr$t{5-4m@oY8HZ=@Qh=l4e~5B_}15^ z-golRbq)Qltose>qCQ=}U)FLKiq)jIY{#2DvIqFRv0^=p`OvLrXXG)I!qK-T(jVbz z@6JBL$k&`E%kgNd?qCV?e63tJJfDWMiZ;U8JC;KJ+K3bm*Dqx-LbuW)_SMb{2~xab zgZ`p6Q-CAk8`NbC*wx~Q5XbWoBeiQ%+#eA3Jo|(_uP0{u_KAsUK%bcKuz&mKzrtVr zzkm1s>u+y&i__ChgBD&Y_CfehQEJ%C!-bMT;80_~R0#iZn%X65q*S9DH24xCs< zpBnTXK^q4vEXUS~u_&n+#~l5FX3C{+HzsWz8F884GidIrO`P<=Seymj(S53va8_L> z)N|GyS+=q-yCU0W$N|dFC1qj}6=fIe>ol$@Ls0IFiF1WcQ)p}t?US@9%NXm5JOWJl z(FZ|?@<0P^8*6ByG0d^$XWkdhQ_$_qs`eToO$5(aFvq>1wcn<0yd>}J>ks!`=KXC@ zd!)~Ta2%=teYYm)Sy%)=eztFW5lKS{`Cd8AhXd(>=t+BSP1n3zLflrn|L1)8J%+Sr zJF6XG?)5w>pzjbyO==wAYT*s`%$P4dk3ccMG?q=r8=WdjC}l{AX`typ-dF#mDR5_+ zf#9xZ>2X|kbg$txT&Lo(2V+F%+nz^#?r!V2J@IFjncLj;0UD%eQVR=hWo>~klUEKI z;TZtiV}1-g@C)#JY*F75-m4kI5vnkC8xo&${l;eYo&!eErrz-{J^Qeq7w!G;9!T-z zC&BOj=|8u>n2CuW9Mgb4F@dnl-@O}$e`_GzUTWR+Xo*y|B7vuZphtZJ_KiGPspC;+R-VWL=i0t8lUVxx5ihD#}X9LCC~9*k^Wd8r2MTA z3L?3PJ*`7FjzfI^W)na^xBUtlRb09+-Vepbd`95-nM*zHBXW%bTs?)cc~u&uHM}L6 zr?IiO#M>9ex(OgR;%6OK!oO9xKZzq3YM5B~j%HjD*NS&EUDy>=4X9m@xp~-xf&1yg z7?^tPd8Me_Tr}b{K@CT1BM(tv#M}@t>jgY9+RCl7w6EVz%16Hiqgl^xBcHmA2|mg< z9>YO&zB0z+-T`Jkk5*J(aoGnXtX|r`sKbI)_Wzm21b3!|7NK4U_73K-7S!H(jAzlB z=3_>wD^s_0U&$H1#lZD26OA9Y$E{fx#(?ggdo}gA1YTG>@B+566zQMC8p=sINJtIn zu0Os#=EuQ7UI~s2F&Rtx7WbVW!$FRVqmh)^GUsi)!e(TDN6V7EodA4$MY?$f5wfvra4rhh6ZJATR1~>iFB^rOZ1YY?UFRku5QZLP7&zF^N-{j)qR1h&vNVb*Oh*HA39jhxf=dhMk@Fy2B_o5i^jf^#0Jy|2;ao}(f^#6fR zQ_m^a=bDt@nBr7|O)0L{7%sQ1iVZwk)0WqyxIer|^+^vrl_Zf>B*^=Pf~a|yX5wb&~K`5;69VWz3X`aj^%LliJy!2x3|swcV=Q@ zVj9pVCJ^>t{fEE6U;XQ!-?xmvynTYMu^9vU{cSV;m>JiHfQIUG5(*yuEc5xIC}%Ns zN63oP?1Z^HeQ31BXY%ex0n$l^9!ikU!qLy*2C5*)VWcvuWT5F0o$x(OHB9BMe$TW; zXZ5sS)eM8W?ZQeRdejN#=&*x3F#eRZVUOSzj8V;)JWuXLqaR=nR$5Sn~5n(Ig^&(7tQYqRsBbuiqQ2@Uzx; zq~)c?xG-0Kp6S~sCT^Gp^oa=yYyR$iSNY4`&6D#0Jh*J7jLenTf-$`0vbZD?ZMmpg z_isu0sJaf3Y42UX(I4HI#~7@)$9H^^JT187S~cZ#fkWM*_yIZ3qYtEkPTtSc(^hT5sb9dp!!#+B+;M#%hptSpmD>#~`uDIWr z+dkm_xoD(CxTde>9=(U#-J!k8{a+Jp?&+f)C(x&8kJle5*2?T8HRu&3-aFddUp|zX z7mj!SXml97B~N?=z;P|8N%>qWZ@AZ}ob6L~{*nkf-)UevNdHW(L^^ zA1(v=Fa@8DDW&TY!X5K#vIqERSNg%#bV;L5&-69GGk+@^Vl?};QYnC%IUoIPOm(_{ z1kzQLaf)UpfUp-mg-=6U@Dj&ECXUj(4eQDUvvfRRP2w^$P;l8Te5N!or)8}%iS|5U zyXy)(e{A+1mA@{`nl%8IP4-z$dGvR@%A@oSuIukVerF~oCOoDAePZH(?f2}~57g(K zgEW4!BT$o}a+!s@RJP+m1T+0CX5mEcT_T?(Qk|`31m)+wDm_>_I6u%@Y&ZTdjo(wW zxwc^7Nw=ADJ?hGV`Rt)IsHv?HXVLbgdScpRy*)gggI}ia^Y(M?rmZ&Hwry*(Ytv@i zuFbY>+qUiQZ0pWFefImje*eOCUgyl5$Gqp5ay_VfNaE_+$wn1dQk!563fZse0$F2qnaBaaK|0mud}t^wb`Rg2qjp+`rGKaFCPX=7HLCVTwYA|B;i&B8N%!c<)My@8Nh6u#cVq3zps&=;WCvW+`!v{#@icAA1uP}R~Mqvk>9&& z=vb2eJVC}c>~y_2^*a3(?a;RLFY1e~2L^`0-xj++ny)_JnLmf^TU&2I%TSccj+1Nd zL;%YYo^ddadQI^Z^n`00tkEr$MMN{8)D(V0ZH-U2yH-x1)9U6^T!chfKaRa%i*wAA z)#h=VdcZ}w)-U%Ey>*vv$RgR2`#gYY}u@ZUPcIM&`td3T>HRf2P;_?sfK(+;x!eym1r$Yjyp*#lY;?UuHx@Gitw*2`Qu z3F)G$?234hjisH%v{MQ#O*#6f@N9?+I}6U>F~*vyh?B}ZCg1awd`FXX}R z0d^O(lSZ;aqM1@O%8(_P`?;6hWw-t_tqwyAV!u%hr zP2FKaCjzGEyOrwq%6IDwmsakX^140vwdkp>BgH+ZZ`tHgn%!^lUrv&S%#4is|0Azt zczQlAUeBM-wA7_nR#~t)u_lw3bdav}l5qmIttE!LR~t4z{u&!OU3t5RL2dZ&O(Xk` zG~Qop2Ejh2es34s(_keSgk8aCE&#IK1Rvl1fppj&{a%VeFj)V>8C*}aoS9(DD>C(v z#OZ)%?@(y65GhG5P6C8`Ey)z}ND9<1lxAld6>F36VpuI%F^AhOG#;PFL@Z;u&_J*= zcc$eny#w2Jg-K3KmT~veI1pRdhP)JWnIgB%%1pdvY@l97Rrm_KB2rf8(uBXTmiDhj)fH0*V@(wB)CY;t<7P(e zveK|xQ}i!lm`JO^FU$ymUAX(+{o$8lh>+CyJ)me9Ak#_fL`Bu@BlvupXNlR%m{TC7 z#~gW0Bw5|sj!!aaR+8&w#Y?%@8j$&4nStGgdYyr$+29uAT&07-x5d*H-+WBz@2PR6%aP?e=v31PAvk|=c8j?4DK zdo5Gxm|VB3VbP}fbnLo*jo;G9D|?BWK^YZS=v5sp9KB?DgR!YK=_JKVmVwi>MxqSd_ETC`Px6(FyUz96%< z4g!(ULXwBb>6iPyGa8o*dvB8^JU^h8?>Arg`pAX!;3oZSlW^OCBBo5L^nJ6l-i8~~ z*6qm^q<8Z#&w;((l;%(J7nyHbCCpXiCt7CtR~A_Ff73dTzfESCLXr%%<^LYP$Um-u zoB+~top1ULL8MN{JTSXEFW_DXEV;ttS~VO8gg#1hJR(+8-2j-&AQV3PFdDFC@%doW z|4M0#wZUU0D+#boCrGSVWb%weOQjLo_$@Y*lSY$d8+L(v93jDqw~`jkV!nRYH8GMA z8zP=2>#Znm62hp9&G_-@}}9lf2Nf_KiGqxY(` zy}#9BtyQA65P|S202{rK!Hu_sKYo5A782d{FmT7IOFpemz2|P&5k3ATQ-7_U|4(#d z)a`nk^6cjzFOw@m+DWY}3Q0I9M5x$XtQjq&!E5F$@En~vdMM0|1fL6#wo4-M@3t{G}oIA!8XfAhyWVC#Zer)qL)(kKN%4i=9n-pEC)#c-=B5 z21}^(Wkm@#(?vof`Xh^)=h3tUjeu^wciQBZ{oRXpCM+DSGSvLes@{z6fC=pUs*)Xi z4jYpq(y>M;`yr&A&DUQ_u8P_w^r%YUP_eklY?k@OdpE$4_>~Z=5el}0I#Jrv1T5`-( zixH9CX{McpcH*?!VrOw?e_K5$SSM^Og<%Oq94*#r#aFvO-CMl~e3cKDF!eWu^GWMpK{|3wCvN1M+#wWo5QyLO<` zgbnM}W?wV|8KlhO`;mv>W7TsFrryNa@{l3-1|Io)T>rFu=CjjSM)Q%(6YcS;QIS&Me_j+`5h z-ZR?RL$=v!?NqciS70B;M#Epk73^mn_#SFWL7|eqM;P@JO@!*A4FgHI&4N8tcu* zA)bQjWG=PbJ&4304p#reEUmzM_d;P0F#3h-9wp+H*hhW*bpg5RLy8>&!-R;&+P4dz z;5Mx~z7lvF+XXbx)+MO$a&xFnVQe>F?&OFKreq24+aY%Xs%R*QXYey`b;JPoT1sXZ zTx=r1(f-BLghF^@+;Hp%%ao+YA;nGZLhW4m3k?m${ZEMN-ASt2Zx##MPKyejEz)6lDm;|a?+F_WVruj*p2IGH@@1P> zm7>AQplUQ7u7VJJ@zlGx!y)qR)NpYvysD@V&ed62Ykx(_pnXT+3(Y(@2`}X|d`d+| zIB06(%^!w1Ehi8RwQMbQDKpc*jm_4qn7yK+l1C?{Zb`_tQo~spHBQ7E;veB;ZK5V z1^Z8#pFL_UOn8_4;fv!Y(=0jo86Oee(Pm6}O2T?j850e9@U}#gc&;dyCe365%94f( zCSp}{CyhrjfqYPok#H$I@fw-um;r&XxQAh%bhBN$8fWHiI6zVh>Q~y7g!8)ZKza|6 z&uHK47R8`b8vmWn4OD|cBF&{8qg=5`fl)Wph?C8Zs+9loINrZdP1E)M5p!?W3FRX0 zQs6XC))sju$ZeHCfg#`$n*LI?{1>GvN`$GL7GoR{`J~6{9h1{lZafktVsJZdsmYN= z^~9T5l$HLx78Y(OlH9e+J*j^1;hmwe_5$>d^z~GcW7IMs!Q@DlDzlCYOYjCj(V>cV z*_w)Ti*BF8^?Uz>9z;pcrBG?RbZ`t+u5e*Z_nB)u@T2nH_xjgrn&%!Q9^$@h&!J)~ z|JNzsjioV&7$M=QgL#oCl<3wLn&y+$p~AP*WfrXbrY%U_<1VcW#L~F7vD-}LD)}<; zN}`TTVuOTP{s_8urZcdLZJ6!UV~qaNRkx@P1GMHH?nMi^npK4lUK$vO?5*Z~n3{JY z<|~`e{np7WpgYM78^x@C0eQY$rqZAIu758u&2GUocVbj)J%>uRpC674ZbY`W6H0*U zA)vf(rS0;bXy1K2C#&Tn9Q+ z)e`N^@g z`k{ZUl33nnkbWLB3rff12wzC*fv2DJ_PE0?VW-PXsjiZ_WB4CC99O{k4qc(HFl9Hp zJ`veNb)&`MZVl=m1h*q8_Ct^j{8IZCbQLI4xAUys)}iTs^e3&PTf{D1dbu(v^3cfo zq2E~`ziC(hw14kt5Iw)iPERB6q;8+NoSF|%(88?X1?_#<)UdHZ29UJR_{BvQ9%Set zmC1JBu5f=#;7f+VGhnRu4 zqf-sdQ&A0ANIzCnKMhHp64nuVtDL!n8!w2=ggy#b#A#&XRYeefZh*tOCGiQv)`qfy z7Qm-!EQ*xKNWof1%8!yW>IvT~1#W!&VhrYZe8q>eyhq87G@dlU{8PfS?rsgWPbtWW zSl8ZKZKxvw`i8S(go0o<;OxWSg+9G1h~c)=^eUV799kf&+EVHAO83|fHL$@d|K%F419*`9xvRI5{eM42EJRBK z>F4#%9$~A?M$(z*PrbfN>HZY|@OHohBU;b1*!ub%pO`?qv5B_7$6@=d)J%rGP-Y5xsc}(McF)y5cK*KpZoamEYsf*r84J$_1hr}TeA&xZ zk+1setFyWg+F!>`2ZT^2iq%7t3>y6GZ~WtS(tx+S!wPYalZU0{H*4D1Bm8h#yH#qX z_tP=|{-&g$RgL3EKvD^HqLU7ojf5_M3YCEoVU!hyUwHTVr!L#Ga*P;*`P_59kuuHv zH6}z{%&oOpt4_U$>7mSI=W-#pD`yL1)wiGi{UQsX`2*5sVh(YOHYw9#sVw$Zr!Bx5 z1&c?80-l_7$Q;BHr(T%ydmUnz@)Hz8EJU`> z+^`u#gpA6#`I^TRU?Oxs4Y>T+sA|n#-dPxHV}g@^vq&3vNnQ@?>jCW@?=MvhFjPv& zckiM+E~K9@#bxGrXGhgeX<;D%tk)Tb+D;i`|WVnU-Eu1Th|I5)7yX*$eK%UH8o7;4O7DWH=k6eA7I z;iI%hDz)El`fK&*3Nkj2FvHE?xbr&X=E;?Y%T^N)?p9eQfp= zhf$Du!jqby$0mcMKlRlOcwR zOE~gicbWRHipQsC#U1}d!TuV|%UDfmCN^MaE4uBJ9c2sfQ8nue_f+JrVk zcZuoqAxx|+D)$yaFBFJvQ_`!^y3-&NT$1pp6p37gcTmx zLp4r5Wqyxse?zB3T&I({WageNp|N*1GFp)NJTVj3(5;z**Q4FH5~GZ{(_)o2q8bSk zSqouJJga*3>FdQZHF1qov7ohm;4TiJx4^ zm{AZoEzSi?_yhhH8Lci>{KG2o8FwXxyS+RchFNlXhpzP5o?xo5w`viNAF++GqLjT*HK z*7i8x1Pt3w79%JKt_CzIWc)Dk~DuH%eJ-;C2YJIO)^v3(qU@Cwv{lhEwk=w zCI}R<`~*7R@|W`yJn5oT?f$}w*1QnSr|^u~s?>e5vOMl`8;#7X- z|Fu!M@QsMdtu>TLpROzNDya1&V@m;M%gfl-Tq9Uqm}tzCk;y^66@R{T`+VM@4pi_;-Ij02qR-IBg{3;zYBVq57EflDwV zf}t1#Y4T{T3&E5pvg{$O9bw!r`kW;*mQ%w%_Ss@+{k<_Zs*7(18>;7+xD9A}8pdX* zj0DL(#G<(}Eh~!6Doq{f3RQ$_*EUK29n1k~T3e4*VVTce@;akjE772Rh8|v)(L{PDtR25%>3+(@7{ zgCv>ym}>OF&OUgx~l zoR(B0XSMy*u;|yk{PLtvWB=RxWBSwL75Fb9PC4`SE0UAh*F0WrnT+YBV+s89fZTU+ z(s;rbQ!Ge}*`j;MP=<0H3-@FV3I2$Pp-9j?`Lh!LYSMNW08|c+;lCpES=4lGrmyU! z3C!9fonqD~TuRpo;1$)#)6?nf6Q4!6#cx#Rw(pQWvA5G^nODoOm-!y!gOIBBC7-G_ zOkuVb&Wp#VzKyS0#o_u0rnhn$!%hp{PfM)9w5M^mo@~U^G0xR$p=9fi>FOoL`h^o!w1s$WYfin4AXG$$ zBflUitO@Tx6Cr0h7%agKkD4=he%jKU|4rn`m3$x75}1GXUZ^`+v+=;~-Ofc>$%et)uVj$>fbWXG*H;dG{I1xadSLTc9DO15W3`v__4*bfU30% z#3<#heXKA>b-KD*ni}r;B=z22^JV9ja-A0oQBlp*@KsL2{}!4Rz#HC#ae;kwF5dST z=q3F9iNLDvgCS)Ro-Q6@PilaM=7hKFy=rVGu9Zy9#yx$7TgAhFeU$48C(d zk#p2px+iu~IfX3Y51DthMrIqptC}$)t$}IfN^Yj>wr~uH_mC9rxrJ@wsPNv!-zWpi zWXy2jx7lOrXr(MmL+FrWub$@^e#LRM2nB6c=4!_VD;xOnkT-yvSqg6k3n50YTvzXSWbU-@f*-%~ zt=)Kr6^MC_J8t#$)>&g6eHL_1eQYTM0=Y$m^WVmhbt}BaISBf=4%1VF5?mBL{A-Pg z-6qhx)PMwb#Mvi5L{_WIoJlKx{_OAg+AYb{&)`m?XQLJuFxt7<^Q$i5R{!%gGn!B7T$6UPOt z!~Mxz#9#CbJ4}MQmbJRY3N&7&NAxp$$BwT0eiXTz@8BX%s5dq6LN10TVA`i_@JI=o_l`o4_O zgj>?DP!-7%#BOw|iaE}D0nzF3v*@_P(k*M`LQgH2BF^#fvJw4|nb!QU7GhZ>MEu-K zH;+b#zGfdcnXF5G0b`sK&W>RP@2DT9|8Q*NWXiU|@jSkm83(A7pnu$F#IAHue!jGv z+$c{dvauVb3ikIotSbfZNkMzEi%Zu$h`DO1F2o7S*09~xD1>ZWdLNrDA3nza-87@$ zpO4c%LESIx{N2(xK5m~4C2U>%0be8nS$?=yx+XI(hh!Tx?hS^_ryMVE6^SP5qk)k= zw?Z^$*LENy)Cs5z<2e8>)vN1*C4$sIHVOOWz0dHeuMmcn6g6tXb+1YZI&l=FS_&oh z=pP(4^CrMca)DFmx{y@fIJv#`Th@z2)v8{Fed4^ zUCxoJS*EZ7(}cqiThJQgFAFJ@Oul$%DS>=jxp9uheizTf`bQI1$9uo&fSviCi4A>}NAo9^7Z&gOB5su!dYRe|n7b>0HrG01M6nH?fGUFq zt(xwvFEr1@&**noital<_1Fd>I^%K6p9_wHDc5JN5Ox>n-c7C`SE^?({ z*zFe1a{}(JG>@@e8{24soZ!NugN6XK?c#w~El8jHzgdoZno4rg31uve9HOCo-Vuy1 z0~_llnDp?`hWC-K?;5glDjE6+yy>d?lz8BIf18XLy5QvP>G|67;C5`QSMk2FF9Z~yS9#^k!Mz;BgVO| z#FSY~q7f{Qzo2vjvD$boHheeisJMYULtpBat{Lwqpue&==4QI1V23}7JVx0S1)5|H z#pm$CCdnqCKvH6UqaLJ>F>Ved@EtbiEh}6qjwzt%QdV$2W5*G-BR)1yeTG$%+oh6I zihT{YbGfSleuEgty)u~>6pr7cFgF&Hw87J!O~CG_>z}o`pB;7c8PWA8@mR(EwRMI% z2}OkqmudGMyN!C^+Sq_?N&2w%hT)m{FLH((XVhDp{@S~VuVRghfc=E{BhE2(+drKp z{$?d#OXfa!i7yz3siEEafBu;DA8Xw3o`^lK(M@r;Wuf((jFd1Xij{12embh`xYXUN zij;QaxJuHK9Mf1ksS&;MhCmXea>(uAteeDFcog0Ym90SMT$xyHda9DFrkob@oGP{o zoWM#+F!@TKUnSeWw1oVBkCz+a=Dn7h3TcxQWA=c1@%b-5>JYYv)X0eAKiiZ`i{-aS zR#kMJ%2e+TN^5`L2khdckCvpmdp_6li{hYrlL1Y#k!;_aH$b~Y4))bYy%vf4HWK&p z0h5O9@(TM=6(no|sHSC<%aMzV_ng08?0v}xn}^G6fXK|#bBqJp7`*Zwmp>lOUwo;8 z%6|@g>k=#!pCg6oa}lH_EM4cl?ZaRey$BvN`cAmEO8MGc_*Q`tqg(i%Sw%T$qa32g zzI|AEc{NtGUB4WIN+d2mlR%pztSA`cOOdC>F(j$iE%M3QUT1McI=jSAx@9-rtz3ne zZnbjckKE!+E*_*o?YVXrdkeDR`qocSH#O%3a^Q>nOlh@=?pJMne4Rt@f$G1v9f1$qd{rVOvcUntYgxQZjSFnHcnxmU)0a=;@ zebH#OEzP4{<*N~g2k*Yyc98dH^P?rJQ?)6}#-Asc>Kl(mMkML=>Vv&$n%ovagYBR| zj7njJ!0V=wM5HN|=Rt1utJg97MJz{mgnh~k$JPK3x!E+SiGbP<*qNsT&x z5#5a8Hm3fvp7C(u{-OzUYB00H_`4#gQBo!`)#%dtiTDK-5`BZcs(B=SF_xF{#OdLG z^7#OMF*f1HN_(Po#ZD5EjB?VkOsZgus@f4_80B`<7s0kvD=s>xmrXq8;aZWslEl@j z7G$DQo$VxiT2EI}oT3Vbfh_BhM?-LoIn|b66!XEP*96Nx^PqIMZ-WUUf>K?x5|~cz zD$xhOAbDg@Hl%H#^H#8m&hXt%71=Z`pIF{7xVbtZgm1f>Uv8}JYI1V$`curK!_&6m zwrqA@6TII@cl>A%IMed9g=}DginGckWBkUXt>OHhd8^iu14x#yw7ZWn(1*F0%m?*2 zTe=2<|5$}NyQj$MZz3bwu>|JV!Mp7Il+{grbPw=asHPSUCxJ&@{@h9(SyK|nkt2@+OD%Edf5!*P3CLvE~HI8wxtEH%oPw9D=vOPIIlc7Q^e zn%#vvSR1jBTzQe<#}xP16)UM!O=xmw+?XX#sxw@kwn=rFE}%D{l?gsDBHowS<7LmF zhou*1C7daLK9=^TFKkZoWjnIJ?NG-ywfn`c{F`%Cf9Ote+?6$=-U>&}QF&$tEB$rO zEK|VkmR9QX${1F#e{C-qSPxr_DKl{Y&tm`TyjN1ju!}OXwy3 zpDy;{&8XilSCEHBg%6m-53}}&#!e8MZnR5{82!QSmx!2NyfG!7G3MVC4~Y!xN;hoi zLjdUU^5a>Uh>ij|@4@fO2!hJ~-Mb)XXzqX*5L z-{s+{F^J7Am3+ja#fNV-)^mPGxCobjn@vt-gWpSsptqF*T-+pvTqy$OmXG0g3oSmC ze*M@a)jWJ8><1ZfhO2n(h22bu^o+sWv+V5S)4b)W@-JLm4?fzPR_u@2FlPn{Zff6; zb9JFi2wEg7SG^4ijHVGLH%o18k~-aL_8iA{jt>*!;2VCIqXs=>exWYt?n<^Y-Y>SA zuOj?aSR0=_f7+6uv?9F}rkUXS&2l}hH0ai7E`m0naoKTw_eqUKH_nFQ;@4RN2N2O7j&b=C}<*lUCkGdyLe?!J%aqUqU*L9eZcqCJ5_u zyJu~XGZeYsHG=q6Ro#%0@lt+I_sWSgu2@(~2Hu!>%3NY!HslFsuR5hP@~x?fFRq;N9t=RD}VZzG)nUyZz<$I_@Uj9 zqb_D(M`wQt2p;v}Zfn`0izN3Y#Nrh@{ljk0Be-Y|)aH6aQIY8>^^lHZrb{MSB5{*K zF2UvG!lkQNP?uF><{=sF3S`t=msio?;KEORrU|mEHr@H@DP;+nu11*+1?=66DCH_a znPV&xBWZRwQCjVDBY9SJJ=D51?w_pU8W`#@7j*>R@mzpAK6^Y7j70d2g-pHQz=i`R z+flAb_#%?8En?h(R_fjEo+(mq*~X?#YBe(_^K_m^p@efyCrOIfTwOi-?t9wK0TyulveJA?lp#>k_0kqqWqUd4SW7LdJ5Th+`?d|slt9Ptan2Hj z;!0IdFUSK%czz=hf*w2tch5QNpof%?-4F9HfdbcM<4(*-SbzQ=+adXgYM)EnAr2FT z$rx`9JQJ>g;E7KG@w815>1G5Q+9b0_o$Zn16(r}>4SGy**Wn-@;K{)(~ zBF&8qaaL-q^-^wmXz7?r7ABFhA($?kl2sGfahQNzKPjlitz!O?Wgh!k)!h?|GUENi zi^fFz4}CYZE%8z=EeDr!pS44IdG)Gq#b$*StVc_UJlHchsZi`=6PB;#(D|S~n9F}v zEY0ynS+4M-_*S8&pOWT-7w8Fsb5`mxlg&L;{n6P-#0xq)#+k5=7NW&ho=AQIhLojV z#YG2H!Sk&lMOkeh_h42^0rQrhaPgLW2=$5;lcamF_ELB&1E1W3@ucTT1-lg#CF-+H z)e(OygLjh?RBl{Jxz`3G)HUr@J0~oCf`jGVeW5xOTxy!f8B!YOF985IL!0T3z=ulo z$YZVp_&N9kz7dhWx(!!#iwI7K3&OV|ZztyB>(bM#M;s=oB2}C@RrVPcE$D=!ABnsx zccSVwT1>*Wo@-VSKh;YKc?q(d+sVv~_P9pi^r=GC4|5oaO|Y}4I&Jy9p5SD>9>ac( ztnPI+_u?$CwP3ez;#~TaynY9|CrtovbQi+OVve;U=30g|4C*ezj~6U17cOmHS;Tb& zpFER!Ck;OrtcXvy@kXpz)&A+T3IDp~U@M>FKKIOT0iUncSKaTcH`r8!;_I`7gHGhM zu!%Ij&r?kqJ?`xUP?W=S-STZMcGXPcE)m(`0LIv#qOx+c+^x#jl^g{pfQeS5m!TTE zoY$kBWI3pNB^wmKo2?bTzQ(=M$nc^v+AVzR!s6{HFNr0_AB1{B>~LmPbu)!I+EkMT zDR|O{oIdm|ClEt_b=r=i^4zC{-Y;Q|Dt{HODn*t0WH`qx)H4K&En@1Ko>xwG)l!U4 z%_*#bhze_vTIEToJcO~$d>DGHm}(9QXfx$3!)eNj{8qX)JFRjv=3WAYwUuQHBV&2Y z6)k(6FyO>v1wAr?PR!|$C}vnQ-}CFbR~H{D?O&{3aH)wSs$tqmK)ArtYHzTO%y+Sy)Zo8 zbQXc4om0uN456G@)w&E`5zqJsF=C4y&f;K~Y{so%vw)zE{1@*eSkD|RVwRO)C+pf1 zXE+q45_WGWX(^kF-=l569H7n@YfU$2e7RD7SuwtMeY*!){YE42`~1-Tgzo&`;55a* zl77I|4WPUPAnSfa{`B48Czj)@71MpFV$ds<*0Pbe{oGPyIXZPx%yN#<=By5uf8A1$ z0gBoGsS%&0H(`|Ux~wLtDZ)XTPF%%cBdmm);^b)s?>#6`S`!;GKP$c97p{-ltCyoF zWL*Zqg;T|tIhTW^>!o;^=2j+k<~N_ukHw~)VewGK4!Teh{pD7Mjk#Z)b86Y zMX2kg+QMj9ttoC%SVq!=4)6ANATE~d{2M&2OjbcM*lGu^X1zMR3T3xoo(&N{2{O<} zlpN*T{dF5CdT-Xpx4jVBG!?QCPcWK%iy*|eCpd== z<9DK|XHA@c>k-;BjEfd5N7SxIcf}%jogCannfY;#U8F3%S1N99SL6F?HPpCw^tD)c z7Bdnj}?(@g!f#elnByE2vw3ZI_`w8gJ^qjfpLU`msJ-(W4#sRsBM42yJ(Ov`(9pJlhH=ZwuIi--VL1@9xKU?#g@wkf{ zE_#u)@$E}G(Q$nomqXEM<%?RMB6zKRii)%!@0J8FCXPaWE*u_jYR@bGjtDL!8wO?u zw9-Rc`4+9kyx5wCP2O;MPFy@?lgnZf~X90*)(mQCz~PoJ2jO@mo}Hb5hL z9sMZgZw_NZJP=7VTITuPHCEZ1!8A+~?rj;;0I$H=k_2W34g=WC%$31p9WsJXuj?>2 zx}#WSJ0SB^j~93-6CbTv+l_Gm*>^h>2H|2ofC%voaRRx2yIg)ZwWZ{@l~XXGwm>wK zldpQU%s?%ix-`t~(p)OMvW+s8PV6zZHusNmT$L|y++4s)n%vAuHAiG{B4Rj=4L6b> zJ-qS!jEEu?_%P1?8t=k$6?@0pSP!OxOIQqlz`PqNe)TzByDcFmILP|@71^_*rL2OF zO(Ilf<9xag&*jHWJ^95vi$afl!ch))c(sKmhkNulStnX2@w^j2LjkDOTDRQqqkPjD zq=vRf{{1fg)4Pum$dn#M>;NEzpa#L)Ik6$280`E%VMZwMKVjy_-uM+j)VG`MaB_on zsh1+Wy^6olmVEBua04E+R83oX>PF+)E|b)`yJ4B~vH zJ8D8Ca+XKEH@Wo`W(;3OsQ{Mp5~s3auPKhzh=`SsV$K+tBh^mx-S`p-R?9WP9EJG& zI~<{XuveAsXa=Qd$14oqE&HQ9@Yazo`0n$2{-a^<9zCO=uzI}qs z;psq|y-{{j6+=|-B;WJ^>nU36S;UULC7TWKsveA)X*8u~!%cu83)il#iQAt@o9Yps z3T_)|KP1v&rXBe}Irv4~T3L4Vb!=9X^2`90|kudZRw=$g&CESeXoQ`__LBXR;H z=jx^pLbeOu(_ib+0IfYwbS%3(s`nJl@q$^jB{zl~HL?75qN*oYER@_k)NkaVue+{X z;=yycXP29*n1h{H_4%n>IT>xvX&%a3gB7C0Ln{D082OcUlpGTTobXd`ml&;Bpsq|R z;urT_&cxA+SbyaWMi?$O96^eYcWiY~GYRuGAouOxo&WCox_YiK@fU&nJm%*GxXVYQ z3D^Kknd7y`(t(x@}c*g(SxYA(#NXJSjrq1{NTSl)+Z_+*tCNM37g*QOU0xtWd0z zM~8&(>D&z-drhsBdWOU{86OisY6={sD0uBMiw63+F2$~Esp{()tglI1kzVxeNV+S0 zZ$GWEVcL#YhH4VslMU_BAG~rQ2j~v8i#HQTz0`|(oY#loqjT_<>rRR z&GIhv1@aTR0qNk{!QVHD?Fi&oIEkpn0%$DtZ{3k=a3(E^yGafksnw- zk;MYGR*oAjeqKgt8XX6;c{N*4q{21ESo6o1-9eUEA#M;8kP;EdEI>>0r9q*2cK3Ju zg&%ONN_aAW4Q?HuD`6E$ZOi4CK)K)%3c;#)iOJKszCC_Og+z#ueVgjt0#=hYxU4?i zk*Q61TMZAE97vw53{bAUJ6WRMeIP%Lb_=6)XEk{^WF*hD4ZlB;^qnAy(l9w?oJw zawP9of;%qCM*g6DLP$8-pb^yZyT6-;E7c`j0>_9iQlL*bj{MFOrZd{-Ii097XJ!k? z1uHL@VK^*#+EzUveM1q)ILM*sA@in31*CsMUK$NUvGj;1VDKti!OhH-8TEI?H1VJ` zHf<)J(4o`=fct86|udGSr~oHww8t zRv%@Kr`~>9?D!Y}(}w%c?vQP=uyGX zJCz&7hA-$`s`I+X`?Sh*O$qbLbkHB`QDkJv(IsqBB+~M$t}5-$1R-0N=Dl~|m}blD zW}N^1=n?&^;i2$vqT95l>*Mmh;3XS_4Qj5Hrfu3EKf{Od`pMMq{pWt?8BNmuZda=9?%tWqp|JF}n`tn6W*}-P( zlhnbBJSjCmwDIc%a>=sNMqU=#-p`(k6|y1|w=rh67xBVcLqm2cgn~g<=7kRkc0Ej@ z{^)PKbMmM-Bt#|6fA40v=pETQv)^+YhNg?G)N=VizXEvGH~S!<;nhRz6BMdMx;j;6 zpl{8n-x!pu_ZQC4ffCQkKCL=*zQG_JRvI*#99>B`T#Ve%-r$O*4%@Ok<&P3m_Vro8 znX01F+ZdUi&L1KaamxB!4xXd%a9RD7?LSB*{_|~=V(wbHN0B!o#Hru-_~GnTo-;1u!?)21rIeAp|-vkkX61DhWA8+{R5H< z{#`lL?PMLz7?|(G1zQSnEE2m<4LMkVUcPeZN`oVo*DlY60q`$Jzh7o749OD9+ z3%S?(z||b0{|-AFkbM5h%b*H`Dk-6DH2K^l$$}>3he=fWTCyc>;(%{q{XR8GZpKZS zor{Z_i5Y{C-r8&ux^9}<#_|w<#M-bZVO(lje$GPVm9ysuxaf|%302U%BHhN3Zb^7Q z=OCd{yRn7LN)*#+1n^^yc4qWcT9uA0Q$Ooy7yGhF4**wl2OwK~U1=?P1N^-|qvfJz z8V1QcYsEnxKMT&PI%s#Vk#YC3purt`TJ9-Oq8#z80(&~GKl|0(UpKQX&nsAOHHD*U zGtcHPXN6;r_ry(!tAt6r8)&apX8%l}8eB2ypS6YEMi${nnE*8r@p6P<&$+`Zf2etJz|K))`!8}~R-17x0sYDEI$@Ngu( z!UU>HAmGXI2mk77O740LhybEZ9i)V3TVy(&b?*$p2a1%zaJN{!Bw7Ws7c(rTkzdsA zTL70K#&a#hNX^+n@2s)+HQ#^+9Ka#8JH$TY^uQrf{$`7@ zIkfB4i{v}~ZlC7kFD=u9BN*f`6Krq6EQ+&+j0!Tl*&1hBr?MIq#JnA0(6C}ULBnHH z)QLdiyBD4{l*~H9pR8*<*JxzBfbAr+iuBkFN`6G68DYRG<_M#(SoB+fpRzauF5_H3 z3n1pmM^ib=Cke_^MX$KsR;DwJH|F9FCekvycbLX2@@6MA%1u`8%d%=lqDo~7Ygd#NY zU+u;Cul5Q!xV@X4IiGYq{C(QHiB+kA(G)1AO8=}A!8LvQ_ZLcbo=(0Xvaf6+p141E z8Y{+W_!?uxx&=f9)1*SUv)Khnm=Iwl_x|xt!^>j#vV~Kka4ANdds$S zJXx+_d}qS(oY;1<)t2Tp1Qsgn%fz?+-38|_Po5#BKoT-_Y3g7Sfo%W4zwb0hP z5cy%iQv%-6VkOI~z^bTP&4bmrLY2_?iwSh6==lyKSxAj~0^W^$RA zicH-7+l7W6(&Aj-=^E(+yL9PYICT=7u`X9_l;6!{6uQdA1HG&v=S=k1ULzb=iF$6* z$YilSFmUZ6v`_7#j-;;TumzhmN_g}tR(Rk;Ncl&Gz0IA~*$oD6&5<}#AumRBu!C;T zoj98gRwYW83Opw=y%di`STBNXJ<^iYs&WOpK7)XYa_3bM$wSXmxX}D#Z6hV1mjK9O z_xgJ?dI%?d!A3mpzO;F)SblVJ2uTF7BWbj&B(1o%v_x3gvi*W3xRS z97_|-Oq}Tczzmvvs(Fuq7S}Y0_HoHcmZ8?p#WZs~>(o48EUnNSshfNW^W%MjwVw%) zo4%UnO5b+)0FwUnj!6-_fmKT@p}e)DL2-9nR05b2gUN~<_CtjxCWtose>9y1S6ofg zwSxx_4ub^<1ef6M9^9Qk2r{_4ySw|~?(Q1g26uON|H%D5-!C|4t?sVgUA60~ygbo| z#hlF31vdDL=JH&=CtaC%_Yyh`qwqTh$}!1CD-I~vVGGCjs}}aHQU+Vf%SP~>jWaz( zCOBGuAhSu#yD8txBu`dI2Z61|w{`%!2`@rkHfa)b0LD~psQrSs z+q+B$Ns~^jqiCY~j${! z*|zplHEsJxoC3TtQ=BmwjYlqL2|hRfW(K0sP1#K-SXaEJ_)^)!*IDH)q~nf{$)#_A zsnK#*dck`<05bb;!t|jH;Bs~wFUI9|jw^G%%Je;p z7DcyF48#iCu!dJ~dmlDyYz~tH{EG<_ir4aMyjZ+GT$TwO;nP<5`JvY&m z7^c14R`RR+Kk>G%(K4%=+a+L;T;e6IWT^IyQg5!cg$6hOqB!zEZhRFnW;PS{l8qgX z-yblA;tni5icY&@?S78a@x0${n%3|s5_3)E5Xq)wyCOBlj3zsm3&s7ZWe5~HpE=2z zU+Icd{I-F>n-pwqd{JBFY~l(uD*%@1f)jSZSy*m*?GKrFXCq=blDz$b#*1_|bPq%~ z4QaOMim5p?zTsIwGM0&jc9>@Nkg^gj@SiCx=RfJ0gM-*er63yCo*xquAiu+=PZmWZeW=-#r8$Jih~SB=PuqD8XCuxgqYN;Jcju z;&AEjRFRep%C5=V(a!wFB31|U9|jc*euL);Z~HUVumK+@SKkUJ$M*?mf(pa04s(Bf z$tOKGpUNEMr@eKrH|PBzupsK9a8|VlT}5rT7c4^?Y}8)ef3x7}QtvY@5&v^oAK{J> zO@U;&f|^^x?4Z#*4O2Fmhdd7SNB!L2s~Qv~OaNF7dX386pBAu@J1LkSx~i?F>;K}% zZP!3M+;31h(gtj|yqhOGuW(iWXi4F%fV<2YAq?& zCaL@Io$3lc5;hR@*S_(&I=_T_eEhtjPA-M)KVgUPUkL7p^jaX#DiKa=Z;tDgLg?}; zU-)@H0(d>+HYom#_B3`G>I~G%iC|oCx{QzBn@WwgHe5SP^{Skp^4(~ED{Y@?PRw0n zz8ej$oDybsUIC)x(qaYmE2pabOpCgwEQ$98namVx1NvW?A-P1; z(oj5T(+{Q=CPdRfzUsXE+4KO#)-{(WN-UmKp9n%egMfX6dnon@(%i$%W@?=eKIwOn(LRtd^lXw=ldze z=WzI_@=BTYH`X}Li#)}%gjo$HuD^hHUrKaE$W+7wm>z}ZTiiO z2?GJAqTAbbkQ2=sFKY?fqdIQ;O05O?lB!!c9zohu&@<(&%g<)ds<;U#5Oqv;Yc z*IdH>cR?WkC+Na%udY`mBBo!)+ME|kn%s5H>`_=u<=}=)xWD9n=|JHu0 zS)xB%YeSHVZ8B#VnY^4(+J-7tXebWeNmNd-k|a!gK{7B}~XF>BDWvM(ll;&DU}ssd)ii>rn5%J4;IVXF+W!90Q|Zyqo5dqbb*@pCST ztHh&6wdsCxJK=A0ZFa?CuB6Gq*taChIBWCiOxQKAMk3^p1B4*46t#i~E3pD+>YT>P zP2CF4iu!4iR*{!D5Ce-zlA`HZ{)yW!#oAJbMT8~2A8sJ&oWJEzbT`EiyQWmK=4(z- zU|sP`OyRA8@at(cs`1TVo-peRd$waBf{<6xz!D5~{D_bsidfuQv1VBaNVh z_#4WgLV01?tm)=JRqG@?`nhD|pBV}qzYm#+Ypo<*%B#Dpe^HII*+-NB0)UKsg-EgF zg~DtJ>>c_t&6is0AlWSoFiMHZ@L%48I@br{RF3uE_$T+f)&eNeSz#C zc=1^`i-V>-q#+$y?fY1b9v}*_7Q#HjO`&bgL!>Se$7x(V)r&NC zG))8?@<^X?aq`WXtAxh}yIK|2(11CRtPQ&p3Hb)=<oWT6Fe5wXMcxP$%Q1FI zEvKptq27k3VyXS^_5*HujX5RZb32(753?WOQHjnXz(09#8~f}|CwzcTk{{AmTv1IR zKH98MQ_4J>cegQlyvZsOpr)yI_}tCsh!H`#I_p``aNEuJqsmhIT8V0{_FT+s|9Afb z^qoB14GB{P+zkLt?eWt7_@GEkFhp6V`E&L6O?KxOPXUkKkcV4D= z<)c#GX*HU3xAj`(Cl2F%(QPl>A6Hc%PiVqe{i2D$1Hr$WU^YL$u~I`J;j<&w5x~V92}b1rrs8Ce<=GoHmYs-E(>Tmq_~j%A zQ5=H2Q(eWdd4Ko_mK|Ij4v)&f?*#>OT6;1>@+@=ZKv(b(w6Qzxg7IS@D{-{r|4?s9 z$JJEK#`JbB19|mHZFTtVUW;wsr^BJ9ahJ0Jy^uOh2aYz-9v>{}%@`U!M3U+D?C5CR zBG&8NKH@W)B%-y#L3ghQV9qr)9B!HZC+%vh(ESP7u{TxDV#2VSma`nV)77U}Y#euA z{fqC+mx~Ivd|YFn(po+{$-kBw?PYzX9csUx1$R&V7>C*;tL7e8X`$CiiW`UH{5F7E zThYYJLE%P~HVpBryi}6;yf(1O(SC$V?^C3Vs7HAqKFZKvwa>T6vJVvf^dL#1-{V_| z(T}>`+v4Rbv8A0@DyNhB{wRW7{P~ym>u$UVk7bUju7rM55ECkCr_#iL$Ccb1Eq~*$ zlAQ|dRjL;Z<6}vqrKMMPLDQKBHJ-aavhu&`N;f%i<7GA1Yv+sme96QfD5WrZ$BR^8 z8G#h7sr+6q4b8~^4(hD`M}GLfr+hA~zL)3wgx<=#82p4q4t@;Zw}1fUbE+xty)9rw zaG?HVqq3sqV!z+qU{Zi*LGk{VbcvWLBFR-LppRuf8IvY+&^A|HN(- zy=fPzs=bFX)kJeV=dGleSkeQ;I#>_7H{34>b*UyF5RwXPig;rN38TKt2F3sI0Aq{J z_pXKRgvdd19ek%@Z$6e01Kgrqvs^qIL;;tBLD*cG{ly?HpJETx&##+`_Y70+QG$m` z4(mUlcph`R%a#%e=N@Y@FMznE`4o`0r69csh`}wlgB6JpX5T0MlXTGb_-vu%@V z+Fq<}33iy{#Wb08g;Q+5RiuA+%ycXnJ7s%o3Uf^xg$xTygw@{c$C=hc5{rlocB&9w zA+*Xk6r$c8Z21#4J_{$o@QxizN6!M|K@o@N9Va5o`L* z#z1Tj%%us5XL`EA^dzz^+hZt9>tyB=@O>xRmK_C3eXMYWi zRHS^A5*bY?`Sqo+RVZKS-LxS{6GmOFU%0fpEQf@yMRwLXn{=GdQ+2eks7QSKOHERx z``j2_Cm;Dzd2?f;^x&Jkk)fBojnFbpO6pMymbJ&6nB&7|5O{T4JBWHI()1j-d7fpJ zukk%~UThrPC8sofb{vO{h%wPkLfG`)l@2H2&Q^k4SJ~9D)KV{_ozH8T#(OTYKitC< zp0v8)JZ3o)&zBL&y%1ShaLMIrejz!vQ$OWJByV+68A2o?oaZNH2WeQC<_CCb*osUj>zDh?6s=- z!+)?-seyc%PL6uJ_AHi5?wi(nHj)$A*=#!wtLv9+HdyOYjeWlTT$_@dEdT4D1>H=4 z6BVu)zUV;wSAazw|W~e(Dnp9 zy_bALndcDnRrk^4p%l+;z3I@nTWZe6H@GoB@kI8P%NY5*>hejKl!B;_nm(_A4wv-? zkbZjN*ZZm1kuKkW&EkTYmMQPUqI&@I*>b1pPcB9uo3Dz7%x_|C#esSx+rXY!y=f!F zkwE>B8@STQSI0oMp<#kT3^~YWMb15eI%xfnX#uTFDdFS+a&x`oqG~j=E^`yatCWFx zx+a+4Fk(;GYO6!3}3td?QN8LCH(gW*j-Ko^5WT~uWnBhCu83G$3!fT zHb{C1+oDF&ZCgQH=;gnVyJzMB#BK=U{Azzr;=R=pHjed1Ih}Q^3_GY@7KY@{0MR2u zc22#coS}COB3qU~YsE8;!PSLrOnVt_?KIIN8W}%Cjkvpt#VhXKAD8~Jvy-92%FXc$ zxsLvP9kD`P>Cxz!4IeDVkHIAau*yqLB}^kecDBA3#NV$MLSG?koy{S2-Lbc5k&Q#q zoZGr2c9MLx@v<&o*s3#@_iC$*ZL_livL^QO>3$1Jj={wT(T^Hqwm(nN$aFB!l<`Zi zCQ$ujWy53rljyk!Nm&}Fn`ad`K_x~j=1z2yn?lp*L@Xl#O6^{SRerT&)l(DT{Vp8H zn2!_N9^&QR*n2wo z4nFy`U?DG*O*pSVrpy7Aiap{}&#rpw+;j`hO5pa7`}fc8#MwW^WbmoVKd^o*iBvGV zc<}F4p+EZPs6@?9W4tXuF(8}_PChdY{%UV@tI)X)Z&jlXvDov&^+6q{3la$1r*t%# z!o7BrQ+~u^PW4>0iVW0iq=&3Tw*hbjOk?D>d-w=(Ks$2C-SUHzgx4Nu3dW*fJgu0O z!L#F!OoP}x`kX@Bct~l~TkcLkqJ)?YVaR$GOuCi*ixR2bum*XD;-D?VGn@>1aiy8F zx1T?%^vgPw$%1y-npz_conj4a1xZlnjA$?)v0(4f8RA1#y~zvjT5ri+{)MG!TbM(d z5aCZB&knV-e6rnEa7W^D65DmrW&Zi&1aST>)I&_k{-x2x6T)NevAvTf*Ztv$Hq8LOx?+0R9&{lnJGXf%sc@f!GC%GOlqUk5euXIh zm~|UR55qOi@RKg6)6c2=wsPE>ueS12xZ-!WJBTHKD&HrMDnK|A6$rkcNfXn11b^bwaysS@TD zs{t182o6e0_-GTkA0Djspt8C@3WlrlPH%5RU&@@a;47{6{aGVjm+I6mQOyzwZ}WU)1(JAEV*a0=+q9f;^N@KlOU)%mia&Zm*U=@F_Nn&t~S{ z72t-6C&nTuHMXaULvanF;bUi-d;>_4%+MP?<%cD96-LQ<7%z3@3s{=IHKZ7VCFDcF z(f#;T7zoysU@$+w01k7h~-rEs%Um|2g-PD{&q=X|vI+MOxb>2y;(lj2vVUG^T6DD`+J z(4HiN(kwt|;B}wE4y=w!bz2k@Q?hBbTUnqV^G1seFAZ-7`x zPI;KhFyTNo!dEHi{UaeOb6zdz%DJSJ@=EttJ*h`Cz^&b_f{T|6&kcD+6U19d;?@S9 zuC6K1$2@ED8kA-oZUx*(Y`$Sr7uw25R@iym1ae+QHXS0{O^@JZ?7@h$YlkT+Fr>1Q8N`|19rhS$@a`CLi2z#=YECT>*z(UQm5ak1a=%b|rHXOWu5 z5$C79d9N#mldO*p0(hqXwUdA$PZ-V>*Y);@dq5B>V?+o{76-*c2Zu-EPp7TUiV|Ce zg5~ceu&7K!NKGRzEa(g0=ki2xjgkd7!X-%9HCby5!NkCUdrp<}&%xn^bi0CSc7KB< zVl@rVBhag zGwxj0=o__nyCLU@c0`$|)PC~py98{TcKxApJrbOyFvK#w-o+8p_eZuITG*lW%IykU zDcG4ut9u`&(~Nso+=JeEwOa|p(n zM!BEL|0jWdbzAU+LlBN;s{Iw$=hlVQyG;SabqN~kNRc=Gb5Kz@WgH_vZ8|odMWcr02{6@C_XT@C<^^4u4Z3*7yev?LMvimZPXh7mOvM%QHA@&?r*>jqzd}Cw#Fc6{+nY?cLB6Q?)zo;ce9lnhB zQgCh&hx56!OUfnJLPIQXjW&h(jw+t{jw8sSZJs<4@YMu`qa zDf^uxz&D7@7}RSLs|tV1ziwJL8hvracWP#RL}!FNzk;RB!M&wz-%%RE1_n+mmsgT_ z7{~OH5tqY%)MKA`td-yVT2m9p#NaAcv^V~k2mkby6RuBIbMLTd5#_F$$+d5uJy=!c zZ)3jEDSk6y=x|_b<6EW+1Ym?k%(3wCtHdg5v43xJq^;Bx3yczmMPX6xov z3{}*!#NsR754>rD{blBH3f{+N@n`<47oofsDvMUJF&(qdH+V`BMBwLdvR&$$k% zK+biY2`@~e8H8JQE^1S21=jhTb4BML0&#kZP`;^Y`*;ed-$ueFP-lt#&qx8MI+=gf za)T*1&QTe14cZi+VW!>3+}}&e>D6A)&bD8N4!?oKmbYt1=11bP+|4 z`Dp&)nVykO+PP*hFHItr@0UjLbbjH@9nDFKTZhAR{QBEWq3-yfr!HsUAGieUTfk>C zu%mPJw;1o$=JFD6BfJus`?>;6z@fwM!Wm~@3g1Y6^IMMY-F{5q37tdyfpTHk54hB3 z@45X%bDp!w^;Kr&)A3b{w>KW`@VpHD!{=eo{=%H`i^Uf>>Bl7H8@-3aaOlgw!I!_c z)lsD7H{=5hh9tCWrJ9*m5QdA)paC~h`&jqumum*ML9-R(gqwMY38D0rj7@W$>liXr zc_6`o)p5B1BtzGL@|bOvxK!S*{INJ$$*hLua379a*FQS>fj+Z;=hpKLgUk-dR7~8& zaYZ+?_0#LSIVoiEE2-e9aXM#L$PpVmr@$v?_sKuUFDz0fzVe(Oa4nfay3*aqbs_u^ zuQvNm^ZDkZ)$qlx4sw!^eEf5cl7Zn~8=)z=MA!6n0wFumnu*lFtLBuNshR8W%mm|4 zlV8196nwQ!r!#*V-%p!6%evqrK1FRTIX>_*;QG^tI(2GWowl0onJ&cLhm&ch!lVrQ z+u!0e>5&Nw%GCj*70e><>0)M+PS@t6f)_r8E_v4q9Qqdb0_WXFTZDYh-lusl5FB_y z>_u*+i&2p^(NQfr&8o@;GsFSvTiY;%;*hU(17cYSukCBB)q^{c-z*8Qco@AYfko~< zo+VWFck|jt)v!-iFz^8}?d9+`3* z7>7TBg2nsJpWJ;r94MQL>d-=yr{F-kL$pmA8}F)YZ@qL`lZhR5G+Y?s=oWc8!iflS zcGBUb=zO4i+=A!K<#LhYLtsqgbkzg`w^fB;ZgA(@A+u+i!&((zuDcvY*+K0wF{8W6+&hJ!J?kWFLTmW_Fp!%%cfs&Ar zD3}MiH@(N#3^CjFb%a8ur=xylVmB0Yvtj}tVpd*c8~Ua%BK%`DIh-!8Lt3#kRkshM zU2N3NMRtwvAAObIXH)|M`R-nA0{B$|U|1r}$N7LqicIrgcR5eg=f*GxAvh2##QqMG zk$V+D0KY?xkWZI8S-&Bfnb`Pr&`36#Ttn9CzNpnGGG-= zvl`SRKXp8{H_TCS=jxx3vx&t`J9Ns?TaynQ?h3s#A<1Xfk9YS;vHxaEoCgm~0-cdfuL+S^?aB%w=);EJ2|NOe=QDmQj(|Gx{;o_89W}CQ z>aQ$BHW}>TEsQsap)J&2)!+3P1Qw_{(u&TQdTET4Ps}Hh6=mm4gLJIqQ_XfP$7Y7TVS0 z2=jo(s6nl%($g7my)`m~8oLm>50M^uSAq`y>CsbV2!iJbW}Ub}T1!za5c5@sh6`*4 z5{QQQ@FZw*PY|fuBIdKzzvm0RU!&jPRJ0%4GKe1)sc+pA=pwR6-RTLeC+&QjiIN$4 zBvfGjE=sLK#^GeI?Wg7J#sG?YF?YMCnW_LLe`eTx_PSdC`MloekNtt=BKt_NEnSR! zFj>Cvw*vw4q+D8v`?Ix!QSKOu&5x5czoU$-wayMI!iOz5egu*4ST-K11a-W24bBdr zB8v}KE!7^)P4%O>b1?tbDU!kWKL@JC#Qqwo{3$>>h1Dkwz;qR#V1?v8PJ;*{ULBtK z@NH%9dVuWAsi?hkpk$!k&CsWi<5BaulGR<}PYp!(+xTUyJV^pdbM3wbI&9hn_qI$g z2*NW|Han5g{^rFfOi-I<(S5c(H*ouSs)(JkR8*TVwtPE+11VkHg{}~LkV~Vmj>}G% zpWj0tcHI6_cK@YwFq?T>{Q$M4d;l8yh{6fD?sPf~%oDZSyxDr3UZk$1G}T19gjck^ zUUcs7IrOfWE?*r~tD4Wbr#=rB9R%O=mcB6qWhBG9tIrSd$+0r-m|<3q3$KuPy&}e^ zHxA^bwslKpdURk^M=Y~>jBiDxpvZaQ>`XiJ7bei^Bk7|(XA|wkf4zB|^2I8H3Urr? ztBVcTUTS=BfX=?HPCS;|wF8G_04WtnEv%-0(d3Wh-xuETJZf6K90C4HdYOJ(;Lyr8Vi z#)_;5lj&TgTL~SvkT7PqdZj}c><&}aJ*&*DA#m~6m68d}WTqRDP%9;{6wIezB_tis zNyySeiUJQ{c5#7_ARR6G6wajb78_m8meuc5-G>GR?E%EEE5Q z-XV9Sjhz#4<}{ZhdHCVCJLyKzMDaG%mZMJi=Tzx={3N{2`Dc@)k=laA`8Hv+6;h2X z{pS+cifvZ3Qrus(eE5x~RaZ-hcHu$;h4$W|IhTp+L7Gq9c?FV^AvA~~5S`rb-yl)3Q^A#Bc+R7fmpUMk2LizL&?tw6Loyv9d z45!27$rU)wf2NB}4q0&&Q>8Pnfs`xpNel5G=7-eFQ78^JMH2$6yW7GlqgIyF1%E}6 zAhuT*OOFCd|`V%lJL1G0owt9f3zb1LV+ri#oaO z?>#j`^BKlDb&(kv2z-l~U;h+FGoK`O4e5?^uxh?J0F&Yn=LGpah>0bbho{I(dkwI< zxfAr8*J!p+0243MI?JZ!y(MRr_*$69hpWC)?7RilI2mFsUy8A7(uGFO%+*?QWeeRs zumfz4gZXhlV-Ygdr2TTDdmuGI>Y}e<#7gSIs8V0_#O&ZDJ}>uNjbxkX!Ujh(YaaYy zz1*?4w^`?iB14drLaqg}R7-eo3mP~<8m4nYqs*~ViHO|YgRU*&fi}>D&LcK}<3?XU z03!ryA6$)P$)W?Q?<)@}X0D{!HrSDEZ?3KVjnbxeU;0t0DEiOQ#o`kt@SXc`Gw%<^ z1bo9V;1nBwX_>NT@`umMvK<{&ud0T~O|F9!AzCb_eEVm^)aX&}3eGpXV7lDbNDe*$ z)=6k0+QkAyDJs98eOwFlA9%G=wrf!wYQejSvIsRTN17sq@o7|2W$qE-r*mXL>&&9O z=Rqegy{O7-rAbhhR>rVF7!}?p8E(sCVOKuiDmqb?Hq}sm7{*y^c$gTXox2)5DRe_CBPaC!X7p60o~ zp(&sals>JZ>h3ytc($gm#(MpJ9w|_gR=!D25_UZm5df z)*XoQJGf)j6Z`paItcgTU*B zLgX^EVK$Vhw>7`tVtP_wib$SMj(63r?om>KV!ZRWt3mYCaFm*_ETV#HbMS-ckWwn< z>6u0Z=55Q+-0!6z!sT*$aqjQ%O(c&>H){j#f#-D_g%AK&T$A#O5SH8CH%VkF(1p&V z-=9l$*=Q`K1-f$f78EY36ZIj@BW5L}BMx2e&5a$uMrGcwPN5N(38m~$%UF;7D|4;M z4W)R*A>#83YIgKlvn!@&OUHL9I7Y&&+m^(3S2rc6-&XE^nyLm{?eNaaj=2N^rtG?C zlw`kvT0stal@MGzI=CrX35#W2h!vDE=J`8RN(yp^E5SoB7MtCfrU%krX3nAO0;8-i z6rR6>XP`U@vdeO{aifAV8Ur}Oxx*)fln^cXEiFpED~ZESmeEKL*JQZdlfHx}4(iO- zO0BUD9?ON&8vPf_vHus!of@-#m-_ZelDJH_MteP2=lcsN1vmO5vayh8WIho}c!}kM zf88ggb)bAkHB!?362cu?GxlXCmrtvNRutWym)JjWOK`NcS^#c$`4bd0fR*Y1Y@Q=M zyqOc?@G+dss(E=KF>YP9Sxdsg|ZRkG65 zwNi{rLz%`<6O;X4cI|&h_VOL3yP=W8WU12U3VJW&&1_q<2P|+OCJYXt z0SpBr4ZnW>ggPAzJ1o#R*6$krh5vP9E9Z(O0CoinCK)c*B@b>A26fbimAAx9b}*B6 z;Rc39EWvo#!ZV9<-!WgJmt_yhxey9H%k*isgtlmROka7|Tey~djRpeCQWm1rp|s{_ zt7>EcRz{+jQqmsx-FZI7`xGaB;a54qgnp4_)y>+apOA_{P;KuEQ;z`+@DB$=9}9-4 zn;lm-1!Shy_v2e0CL#n5K+5Jy!|PTYnh3BvhBM{Uz)ojyr)&f$7jmOcYm^WYQ!@H19+o2`C2D0&vtOLSAiedm68>oy0t-?!sVYW=O)t!197wIG)4SjiBUpNMm@ykR5F4-51>ui0#a z`Vdh6mGh?j*I#VI6z4K69nq@OF{m{H56M&<<2=7g01{jpYDAwGlG*`Lx^t@Ro*<#( z?5W&Dx@DwZE_uby-+|@QNk6W)(k^Ph!DjAo2qWzh@XI8ijjvrqE9^;aD)qyW1LSF- zSug>cM$kHLQEGz6wf^MR(ihH_JS^(Lin+xce~=WYa-~)^s&NFNtUAnZW2U8Xg(Dy* z%F)t(7>wo%j8PHsW~_I14ovLCPe^%oO#8Eh7!#DX)HSt-#|QJnXI{Efn3Amw@Q9Tq zmrCNDReH+vyekFl&EKL$?4-`?sCA^Wxi9W0T!{*Nqh_rzO7?w95E0kqz9tFKE1-Sv z*OBn~g7WYp zTv@uK12AS$v~CNy{|dgLn_{>x8Ze1eSeqDkjpiEQobG@TUfK0$dom~gk~@@e>p}+; zE`3dGh4w|a7)jk6_^Gpmp;R;V8Ks$nDpUZ=ONR1&MdZS&3gB#D>R}_^8eX6Z((JqVd%a# zpA~AeG#@bBMC=}QC#M7!#{SIgIc~BsAGVRRH7A?3C`io@2dpg=|7C8{qd=colEh3} zupTu6V^_wWqC)+*|1XervCzEik? zg+1=zGfohoUS=i>h12lxZ*`v1V#HX5h;czIW@7yFg$qne!H5MdkXX1NJ+;UyQWf6A z5)j&4lSF(+V?t^C-r|F8BgO9}&sy_V8)R9=uJCDaPXFq}661D31m@YvN%EO|}&9=87UC#e~j9~MfZ#U87qe^1|5aHUK|2+7#U?svPHZm2vX z+#?r4&xvSoz=a!w53CZCnSau8i7cS~M&9))BRr%z(e7}fgUfhP77v@zJ_b)X#I$)|b!nZ?d$;n}3(B{bD z(;?$oq&cvVwSiN0fgKm#TuoG`*`Z1iO0I;F!aXCmMvEU&y$V{vC z15Gm>_sT(W-wTZ=y?08dwMm3t;r`4tT`S%pp*JWkycAJsCR-1=Wu@y5~p*ymxG zNW1P{m5Xv=(`s!M=+H$;Q{nQZo{AfD2?9D>gOBIOoa2N3H^5FN>2y2rXr;VO#7Z7C& zLnVl-AzrEhibTv*4-P)vx{2&_v{YZ$BUXVZ(5 z+kD+3DG}}_0ivQx<-+OTv4v$eI}vVTqNjRV=|oI1R)#<0b7ghue_)+*E=w#B*}3Cf z8c2L?xNmu4lZXsan6c#7o^gJ|lu!9Izfx*#ftxbTdB3st8`!dntJ0%EwYHuM9^fUN zetoGC4@wT;AbAAJ0}dtb+hR;-_^-IC13dN>rv`u=Y2mp#(siyhci|L!(8>TE4zfE9 zF^jTgIvTkKES2tzQu8|Ond{e@+jF(?rr~;V$a43`4kq*;oRN%>m;f@28Q-!CIDqcw0*|0rA1(}0Z8`v4jbA`b|!PqU)W`XF&fx< zL{kjc$SgXgilj!)o)WoJTLf)PA9c)^aIs*$fx>!dFViV?w73xkpf6%;bnp>=YU5LX zDTGwBBAJbOP5nz7RnV$6JyWfQ4-}bPjflM6c3u#X#9x(N485DC?#}}(}k&f@CQgSMEHaD-*fXGF(n9ODX=3}Q|(W!IW!?G;4HGFv- zzCWgWu@k%CVC9WSm2sGweHGVSQ*E?#4k=b>h1cdA7t`)eH}Ll#pOcNpX*gf>y@B7T z<%7<&pDB(9JOK@O9cm7xw^sR6B0pU_U(diR9Io7AlI2dXx_1O#TE`qLVGe>_4t|!h zts>f-yHl(Q*{_G?5?21Qa(>=WmHA%TjKn0%wuqq7Y5lT_+Bi`;JPNhmfKP08@Gzzf zXt1_qNO%G5IEe=`?6K*I5nL*ITkl!dY%=c;k(ZgyOL;o|xNvAMZ(l(5!dCloE%R58 z+{H;D&-y;5QvpBe>$*GdBLFVTBhRd6Mc&S{-(1G>^?-H`D+kL*ujjG5Tq`Nj#10@x zFl^p2?R)qay9RI4bzAPln?hBh?YjpkE$}BgGJJ+|^zF+Nf()vD{ z_(%nB0^Iv0#p}KRw@Nz9xs-yya$`k)4zz!>SG(f+V%Ak z;`y6mo$sg81of8UG5p|QKJ1?kC;PRHaptvO-aJ`pR#7+(n5hCLsgN>u>QYXWFjqpR zDCT)9&8Y2RW5F4VAQ!c~b^vz`nntlubmIU?)G{ z*Xa&)ue|1vRq5&EUs_d~gOZLR%k$m}on8A`xmEV*zh~}>2zs86L6L0|_Q|Yb2Mt`H zM`Sfu+(Rck$LNA_+m-DxE2Xb$ipmLsE{M}&_?5D5(Jjo*WD08PZ;nv3tcqIaO^1It zS;?<$>gQZ!RArz(*N_;}ascb~`L{o38Xcm|#no1>N|YNe@Bx3b96LBQ+3WBkns?el zhjfnI_WtYj6G8mXREo8sm{W%v6tO65L90T?&>gIM;kR1kMeYPL7EtIppkn2)z}3*b z=+n^(utN(Hxe{!D#>pw9vxZGL2-h>=bN`h70Ukb@!R@AU zY)1M0B87bL^=lpYVhRd8G~w^cAN)#&$grO>d}>8g$@&4wz4mLR4sIRMfYRRA?RhCi zOR)utj298tc?5N8WwU;*$TK*665P#5{S@#TY`q1YZ!fEoqB(FuJ2wrk%{{T9mvH{N z$NTR2u!Z*nlkp|!m^3oNKT;?BAmok*qdgtUKs}ji<^Ri@a`n;55~VLvaCFn}t`P{M zpJvjm6!KgrUi`Gg>C(9q%&Y$@ACMIkPvqMM2|i-O5h+5*TL|VP6|{BxQ{FMaE854* zh-CnNEWxrkLdrB^dCns}2mk$%$Jyes>f|^i7s+?hF@B+wFtlD;pr0~Jfnx+|FF^{=@dl5c-ttt)AP7ZP4%Y)eP-UasB zF3Jq2^)M@yHaCuex6NxW>sMA?m6x)nSbcVc&Fi1sx+zYI8{xan1(Wu>8mh`BpJM*- zc~D-z7MO2$Csi<39^ek{a%F0LE{~C`&px%`IUB5+tWblPd0OSC95LKgt#oh*xMVxY zJKq*q3?bFc(jvP_id*u4)dlR5)u|7Bh1&Dxukum0pD7n$3l;cR~6U8Gku z-;8NDCt+^2TCC%W7xC>g`cpl^vr(_j8vbK1cj5)oDhSmbcaJl(QTYbd&a@8;-njdk zJKeYm*lpB4_6&ZE2@Kf4oyoa0enuI{Z>+MSO}K`e|2zn6CgtcQH%PjKEh(zw>CR6V z&!)Da8pYxYG!FUMOlBY9X-w8AB2~>jrFyZ4y;UUT#@RmiWnZXGZ8rQlMS_#P@A|Fw z*YZ`#!HoC5rsvf^z*-3Ge~%d&)d#2j^Z4>y(et~z_!m3Ui>P3}y8IttMoW)agA@S5 zwr2@a&L1R;1ClE;Vw3S{=0<(!uzK8&h1cQ@K(k1UAHq|Ura4AWklT-r5@KkZn1Vcy zkuCqt!C+=e%Vnwr$(CZQJa)W83W5&W>$!C!HPh+uJS?7rYujn zQE5}aQG{Sk0Pn<31=(dH&U71ozIY(Dg^TP6@-T+T;Rzd;_uA?vK zzHhX+z8o|KB8DsziD0w^otHVJ^@&VG;C9*60$z^7Z4vIaLxsSHgg%AXj3%l`z1;t@ zDC+;sqL@!5SoHll(3~7rH~b&hp8;I_FbL!Xu`}^oI$IWO&wtxA7QR$@yN)yo(lKAG zCFtyC`=zWBg=iz+K#ov)Ux z3xq2_adyBc@^zbC5z>%58r*0XB#PZ>udB{PMi_LqXz#_%zAuDZ%b@W#k=K%*CP8PK z6F3eZDRaC|((I;5fjQa~Ucm}%b;Xw5{^VmfHLqO;V|1=*QV)5$Gtp}}Q>oR7r_71{a2_fKf%+%bzNV|Eqi^SrnH%u zsrf4FBuHyW)>fXH9+7%cv_BSC3A4bAE~aQaSFTHhEjuBfkDEB14U3D(QMM+%>* z$au*fon9$IyMV1t*S@@}E5H8qX!oZwa{?p)S4iIjo!u+m*Eq2Yoc;6JE7ffFmd!Xm znSO{#%TIC%73!*PM6k>%4U&c5y->pi42SQRs5ZM&(WpDjN_s%1%Oz}}>Ks|u0@V#! zx%3$nLvV6s%sS7Z9?Ao$HxO+e%3V)($XYW8zQ%-5{|)D3(+xD88pJAt;r^jAP{fF& zy^W?Siz!H1uT(EE^F-$A;`*?5b_y?>hu$Oh^eF93lVVjQs;A+*vcYsqp6?p796c&G z+92wwdiac1D?W4`7n$;0nM#iP?fY~f2K#zI(x!j62xZ;|bqYDXPN#1c*TQ97t}ZBt-(-PJ_RCGBqRt zt_SgUP37PG*13TVk%dM8qk&uZ<27Jp>37%C1X}GUqgl0()z+Z-c+DTgnzvsCVwFOt zzF-p`bDq7v^}|uQC62lNF$qT@ffg*1<=>R$#>P{8$@aQu>*n+}g!#(WuL|_}t@XFghR(ivgZwgoxDvN>hXDXaUYM1x6Oa%vo!}$t;)V+`Zi!Ux$B@@CaDym*zq-)E3 za9fHh&McjV#~>mitClTE*F702*d?`E>@0sKupO2mByH2fzky_EAql09{AHOJXZE*J zV`70bqi`$r;i=y(ndeagIxp*YJra;}RuJ^n+cPOK1=aPV=eA^Q=FYCAVzEp5GAN97_+M8-a>9D*VD!;kEP6pt z-jqr2_Nj zKhhe^sedKPq{EXVAePaHDkX7q)k()jOTP!T$kXN|HxW(o%B>C>l%7;i=A$GQWPXyt zaX0zqgZlVDDHeK{uJ+tw$HQ1C#=rLFNDwYRU_DUb&F(o08}0`U35M1r#^u|pKD0T^CWezRNhcr zvp|l}Y{MaK5k3oU8N(E6W2tH_&4^fw5uA_E}0inp6i)NXI4Qskk? ztxGs^LW%p#y!ki8m;dL?> zd~&bUTDXD@7JBUdgvsI{+bP{7@lfD}T^Zj)UjQu$_8gX8nDI=Ep+I%w3qRU6CywjX+aF6NtTa!Sg}0=%mQKA^_Hf|Jk2+d{)zjWk z@)Tx}QD;4`f7$z(4JrbEM?Xb$tXT@K6g!W;$MK9vSuN@Sty-*8*F)spfD>qo==75Z ziVOq(dOu#WCg(?X{P8KE-mX6t7JwW~N^k`aEHXg^uv0R=xW^;(+Tv zN_cmx>)zB7)tK4)2)H`vWRt+!9V&&6F;aJKQsS#%p3O3jNhrM-TL5povUTJSobp)X zu(R}vr!QsTPLbgJ{O7ToXOqLvZbZeKh z;sf^q_nmZH=|BD`Dq{TA{xEAV6Y_Ssj3)tBF9^sS&~5CVte;XsnpSL z_51XJB$_mfw8$G(w+bH0=YzWhVBQTJ?#TER>8eR-OO}XI%TXFjdX$fwi|gB29f2kG zTo#>tzv=1>l&LR1O^Hu4k$sHF#6NNvD!+LK6A^p6iqipo^=J+|k=4i{r+l|hU{sQo zmUtMPNvF@9!fV3qFXoaleJv&H zDT!Zz<3Sc+T_G3z``$7 zsT0Aj9-#AIKmLFP(9_^a>bGNu7F1d3Q`5vHaN*}n48em(#Ef@g9y6P#HcVeVHakQg z7dssR?FkUtgRQ4yI>`eQxPN@)1fB0TS3w`c*A?3Tqi;b}y{pl2+mgm#BGX;*cj6FA z*+&trbPQen9D|~QKs^M)NU@6j<~qTP_y)`CW8 z#r0B;ZI2_rk)_9{9rmVNGdTKprvaNcTV;|v7MXl1EIsr3eUmwv9?q+p4Ff1zt56Iy zhdS@kU#|SP;B|f+VZc)N6iJnM|D#BQG1Ua|+~(KVAj4|yfD2id{jJqu z4EoJG+`w5uwn&!hwmq*{g2vQA9u7&*@ZFvu`8mIRs!uF~x!`i9z0IW*vSgBigiV%R zK#3UZ+`Dr|##_bx4XvjILGw#y(VGRXn0*^?CMjM=gZSQQw0y`3oqNK@z*4) z9tgmA)bmMC^opsgqSx7GZ;X^_!YRTCTyAt^f)hfW)XbSCx!hYp~Rc zZajZ3h9c(N7OJv^3c^_0W=$7fR}q_9Uy0Dc85Oz;KDc*Lf0^L*d{J_yJ>yc0nJvOHcvS|WTO^r(#LXhT;mOlm5ZKGNTv<7+fS!dXgOaFOBDmDc>qnP=rdmapX zEanm9e~Iwqk4zVQ$r=sxYJv*x0unVhYHld^6cD2BLv^m(DBN=&)Yb*Kfy#47f+{wD zvA>=5IG!ny~ zMKI2+P7usffh1+AO{&P`H|`ZIG#ARb=2B`a)Dr3bbba{6g6vh#D`G!g4u4`m%4Txb zGdTBDm?Tq$9m+OtX@4-Z?6gnnL8%fa13E}&qdHrOksUIsP+W+e!I;b*b{`&kfSF-{ zy)bB`4ix-v_F=MLLS0QZ+nh>jjMi1p&}!D}>NC<2WGcw`UKYNg&}b|3MC?&r&h&yH zR;VJsoxJ%PW#2ZMz91&B5a_?^5O$E**+{H`)R5=Br5M~QM#SrppM#W zAuLLCno!W*W3$YWf}pK@9vyfAGx(>%-aCR7lmS&pv-?j$wrn#xxjN)hYw#MFv+C4n zV&6-wJu}&!qeusvd;KN)@)57eeBmI6YwZ~I!#OhN=d`CEI8MLKVJ5~WL>Dm$`!a@^ zPvSHKa5LgSpN)=Z`lNlV^d5y^v=79Ccb#|KH`ifCS1}BPWc0qK%ugq%*5;R71k@NX z@xN#t>Onsb%gV~K{&xoH{VNrP4DmPj?(nAjS?JjicIA7N9+Mms`WuEkpk{ovb*5s? z#7dkvF7_J&8E2?Ld-HQ05oQBhz2XZSdkR|`hjdg0YEIcj=TE;C$Ibb_uZzIzt3VWm zxWsQ#)-O6u25ADsTYF zN?tQqt4H}{t=}-Bf8sAmKm>=^7iwP>NkXvfc-1J$a*=o`nn)109xTl%R+m*SDo zeF50IGE4jDsNZ3|eEE_Vz+QD1BWf6zHA;K+v+5I~aX17-p?4W!q~RizNiX(X_Eu>p zyxv-=j)RTuJK3IPhH+k&|HipY6;mz%JS4G%eXdzT`ufOoO)avZmQbcgM9 z93MR9fvpVqI#yVxCoqaTW=pgRUv!DuwCMaGvnk_9jE@f|x5+JPyV%aN4GI&^}S2B!A`G=_PH8~0#c zJ*wTsS=;kyN)hS0qTC*c>DWqTCc8qrmRfAi$i@W8{8uP@=3oUO04t9A4{4lwK1i9c zuX=}%ozZ83dMzV;&|ZWmzxft~@e0_AzNKOpo1UDm>*1pvC$oc~(Fc7%wWK1!B_4gg z%Cuja1F+{q?NdBo=L%W>0Y$!gyU)R^6g%uVyLrsle(`TXVgv9&FZgLQY1AF^LI&3!5wNK&$2%TAf#IlnB{2nFeO2y_Jy& z8`#a*-~L`q;+_;`_Th&oCl!xf{*4DB4#~+w8nMH9dyPCK=vbYoRyHVbm%v(V3e~K= zpzQgY=y-%X&{crx6^{gq8HEKOo`&aSs>SVem_Dc=oP70TG0hY->}*1@{3^8nI8gLz zq0Si~0%mH_9ROo~ZL;)M;ETot+vX;0y1BQ0t`d<F9y9IQK`{W=1zZ88pr6@>rKYEq?jO!d zR^LUvS%i3Na@51tl}qx4AHh0QW6$u{{iK8&tLoyTVgQr_6HX|x^-4*W{~Rdwd@Ex- ztj==OhU7X{x5>n*^)Eq{&QAMZntfa+Mey&V}FHq)RyK2+BP-) z;KbX9CqzSOm&ZDCG`2{*Eg&bR{c{UW7{0+&O)pumo%jMICqM9{Z9`$+{-UVG%{Y%O z=TxE~1=^uv6La47@%1)i*-vn&QG%T9UA^OqlN~!1XMDjlE@k}7uVbh^HgOjwR*PLp z9O_hWg-v=IVj!qR$NDw=cd8DNFRAohkIjxkl*cx_g3e=n%$K?h(Yi^GhUf**8geQQUNw??5*YvUJ1M?0T*j&XTxj%S5BUiQfCuty_%D z`~*)#;8STIUrIEEL7pjBHw~)QKFVokbEMK7kC%{|1A_y&uD9J*bpS2CvZ?^HD2u76 z{dJz{P{itt-Ts`26X2aXka^}&H7D7tMw#C2&X`e|XqiI3^!iSg34cJ~bg{k^ueNRM znjga$-zm&e)!tpNZw^B&7;&_XA5AQzc6IP%p!awEO1RtL`eCi&N<~I1dfp|X!Xx4I$MGJGX zz>+$t%I;C0dS$hAxSP=fmm4$M%^KT{V(94ByO^S<3E}Ir*W-Z?#NBzhWJf3Mx{VsW2KxKQv%g2r9Y?d*e?m;pb@mZ}mF-Kgz;g-_n~c23lJMWn*SOJ!9AE zp8R2*IVKg;P_i@~@^*rPIDc%sxQxRd7l{Oe$@4?3C>v!s&&%FVSOFiSb#)ZI=cC#1 zE=xg$x$Gb;y?7causP55_0HqH5s76R_siG3J5d*=S)~>Wq1QHSp>@F-zE@>KgLt4Tv%rQfqiJ}Et}>!WS^c^5^=giTd;r?ZayPo zEj}h0p>w>>{ISrWu1IxM&}loJD^zwh(c-2;F9x1W^kcXQ*P%y18N;Ts{G1Sc` zTY^Dmn12>d5@b1ng)jA|CvjI z*^t2(Z|DCtliiDAOGGw$d+1c=S$5US^8W#Xr?}@O-@zIl3<<|qg*{_grg6o}Sh7lq zn1ssk)L*TJvtzGCb5G&Q1~Mp!1gQT!W^BKg$_bZVx8iZt(>2^}Y*45S3h0Ze`BpYf zKSh2D_yjc3$TXHj8JQFOe9hKD3G&&=Cn&&4>?8O-Kn5j=%z7p;2;M@~6loF`QZ#BkPxoAspBElaH8GZ;-omIH7^!gRC#jiPn84gJ8Nh^F{MY$AUFo$e?n~V8lU8m=8v7 z!nTi!GvBWR#$y-GtvPDI2_9H2uo%YsijA#tzv|LYx1+J8wH__}S?e5Bwm*z>&kqzN z#3~PG_pq!nFiOC~dMY*gAp8XF>>y3-{4EFO$WRr-YGg82Jo-WY4LK^jHp^JJ%(leXnwxKZE0pG9cgaJVPsFl!zNQ;-{$j3Ck2$ZfAVDE!j1eHaHbDc zT!XIL-A#&f zE>kV!Qh)%H*qSOHVSxP)g!QY_dPjrZ(vt1w{wCOx`xeBL@sWSyq?ElVfc>|X7`q$8WL(S6q7uW2W?Dn_wU0X zq1dn^J7o!z@u#Rq1_OWl_+I5Y4DW!_)3q78li183NQI8FWGhjY(?tyOlEQHZ)g~2? zQ0=y|PiCGw0g@#pGiEt^@nUf4`TQa4ZObC#r08w{N^rf(dm8CI;0~9H-%*!NL&W}w zdi@@0Y36s4sAd)o4ze=GFGEknr^}442n(sSp~?#yX{(jb#oA8lEbCbHl|WUoMh5T6 zyibGAu#X%ZEG)|KmYjs|cR@kwj4vmzpZ=YaZ6JLT>JHS+phzptn4ypICzb=Y%^RPw z9t=s72+Q^SfbHI8Cq8UKxo}oz+6-^86--g*yN?v?W=1&o-~4k)Y?_wEb|MZ)vPg~8QHmDY-H+3I2UT@+ zGBj3bchSh91~FOjE9Hk_;^s?GLC^wrj~d_QdSG)^XXhSg^c6J7pt@Ma+C$=>{Ms%> z7gVOQ+2M!;DueT}orf<)ZrHyAEFpw{c&W-rtFHrUlw(+qxiVL!{1>k7+vRNa%S)2S zGGH&26)!Z2dKb=+OkH)i6PfFt zfNa2>*ev}?Zv_Dd>H*+eW&`z?-8m*QHP_vFJ%;IMErFbvBAaslE%rJ{Rv4y6e#?jmxtZXaR&2ej!iRp>%3m@ zYn%%g@m$0#@a>X8$xmDjkg62qBHsgThHr60Xa10?=o}1kx(QsN;ajoeHGzJCbEmX5#t`{7M)nEHSn!mU0DVv~N z;mL0?XzzIO;#a%595u{lytwgINAv18n>3=^ClBE=4iFaY38>XHoMubWVoWduTkQ!Q z58P2~#bMcCL$+eXxcCxWkdlpT9Zg{G@1^k&kt!;%4m((S@Tb;i8>9VxG<+t1h>E;n zt>S%0BnsAfE`mO%{(T5OwqCjzI{uE03fKHj7HW{!MgcslPlanSK>QVBJriP``KO$X zo>KI0Pknzgq=rM1`(q|95rBL%VfkRv!II2l+y&v3q7Yc+aQ$-wzO*ha1M7v*(bf|R zhN!D2(5>GER5{`zI2j9u`^2XRukoG$M&q}|D! zWiQ_-+Bk0Af)uO9db5(vCJw#0m*)^1t{fdROHDgTePF?Ww_m}= z*_9sxMr>|dfsHa@sjZ!>vfh>wOg(~J78jy}t`5=SE$TIhXrt$5f38&W?qQ)yVObg) z&Te8)aK+?Zl_-N_Z{x6=aTaNTNPqfxHWC21x)qNi&Uc@I489W0!tXeE*JF?NFNVC(QbW5{$=}z6p6|vp+(4WpOsO!dIxX0?a?qlJ z^x9=a?lipVTn*CQotNfEoWT zJH8IKsAoybl_6bB&-c~lX`1U2eZpTHdwwkuDll3eikPITi=2KL>qi8!?Dn@ShW&VW z0KJn$3?2HC2iNJ!DUA-7(3Yh5>lW&>ra^0fR&r<)D2n;OfuR>wYC{SVD?#ZV%1Kr=bE24e#0^QAp$(Uc( zgM=#7W~(CNzQ8CT6VUJ(za{7R3&&bdIl^KDP9LiuX41|6Bqwmu>naUKt*bURQbLuN7vUkeL4F&`fT58`L!VET zpE{ETEDJ17?Es0QaR%((#1&qYnqpYTZ7QxwX}$h_t=*dz9Y!N@w&P*k!cx5%t-E0a z!j2E6pqNeiy_23Lmg1Jyu#m&-e1>+rh0|_}x~6RtFVRoeYwk=R%L{+$qlozzn z%YVIf;RZi;-s1Ks*ccfVrFk4W*%0v-ZahyN0kKk0+lTf&d5Nb|!3EMooZV|FzmRqy>NlGW9$^##q8C)M7K_9NZl^_Jh^-fPn)L4?k^BW zR)WPKB(Y_pgK*^1wr-z&g@Ln{?+ZIQyxe^m6~il+TRv##Wweq*sj&|ZgS z?E1!l*s+ zN`QQYfGng!GoTGzyFYQ$XgWy9NGjhI_*2f;)%013lcKrgngJzs3pdT2U+e+z&qH@f zkpk@YoOa7xW10R{2jAT*vKWR8lC)W4k}+!kswVv4oNfHjk4g3+oK?{{YBBv25u;@v z{`I&bDw!=Lt)y+JEczAMg`{xsE`}xitlA#To_&EgUzx(gH~}8Aq&FKn5n8cJ(L2b$65) znC^I5@?M={NfC7~qRfEhYopG6*o)dhx)20w&(^WI_fE_;p0_;kDe(F4pVE!+fw69? zcOa!TYUsoE$rpjjpr9aYc!-xiK^oaI!W<=6G4cm9l7D2H)+Pj-3za3=rdcN~wD-ol zPd{1Od)Nr6=Dk&CTDGxkZQl5|5%62cmP~a1L9@LB(WW%M;3-AsjTv%QYmPwwM4y)xNdOd ztMs@DvLoZrr0=}hT)tnI%zOW-Cl&*^Jh&pqU*KV3Xu1m(B4WCgJw)qO1f|FrBrnWB z`ZWhW)aG4W^<;H6emiAc(jV6@n72l-pdB%7cY&1#0L z-j^`ocb0;sM4VSW5ajRBmHFeD7ghYBuKqIu@r{@jOpw+%FJ}nSoc^ka-eOYnRTXe^ zjF0BD&CM~1vtzZj_NM{3cMi(TQg%}d{i%)dC_-TM{ZNf~?DcG?dPcp$f* zfF-SYQyvCpYVEplobSDlKswwhkixYjX^E}K6 zD0Zk5>#M_l*lfHwrOh-5$g34SY&rOG!hc@>Z>}_|={u!K1Ad12P|Y18 z7X~o~Gkt;v8K1Acudh6VHyficL10^N*xuZ2m%JC2J>@mggU&Il-_8YC`hd9)!>mbv zLzB7hKg3nT7I%dIxy7*~34o{rtZ+NjQD9}Gbq-npmdJVpfD5_5AF=B(V-?owFP`<6 zZO?lawvJKSsb$BuR&)1`Nq>@GL)~LM{Zt%NuqiJqETj!(yDCb|xJ|b0KDFkW zF(v=32F9zj1N4~?qQ$#5)>xB%e_ozfy&nc7=sh@QKKdnd>K3U*M4|`J@%C2$`h>a&i0@({qnlyo`Oeae;cT4Xq8e?8wA4LrRf@!+x}K^j+pt; zLB4f-*F=#*umv;{U-)@vv-QRFJ;nJMo4Ivj)a^V5v9LntVy;vT(Wd8l1!v%vUq~bK zu$IMdOF%IaP5Ua94Ut>KX_ zD!ara>!u;zh<>*l4^TsRRwy||8>nvhT+(zVl ze^tN!Orw82$+QBF1z)eAD9L;95}Zf9uXj{0fV0%__P|#eX`PBI*d@M))6KQ=4F`go zGe6~ATw1wZr1y@Luq|~(1Qd?H?QA!0nK^%rak<1{U{zgL@6K`m6j0IQ{LKe86`S<4 z@e)4Q9Kdoa_tRE2?{WU2kgrOxS^vT|D68ip*rkyzA3@Wc?xe1`}7}qoKo#OLKsvV&_$S$UgN;4;@nE%v4@Gn&sJeP7XwI!<&h|NJ>%ch?{#^a4 zW4I`tCWU1ajc}BNIZV^|&(|gdQmPv7wl@%y4&%G|-FHfmVVAKfcLl4SQ8SJYs#9*p z;FY!_bQ?bRtrn=mT{~x&q;R^yV{7x}ar`+6Fa7lT@F2+x_H#soS+X#8&_8=oBvT4l z6x_)1noL!chditA%UpdnJGVdB+@?|sohrF3{WU#Tm%zZ!^$GpKwK-|?a>TD< z=62nysul?9ZpiD0H#{y3dRHx$a-ur zMCpKu5iSeTahWI{*0V19H_sFOBj#3z%|F7I8AZ@2aytH9(c*)1a&Y=!-r&qXUy4E4 zJfEIqK5mS_Tim?j@uKQWL6`-y=tS{$lrE@K!`paPUSkhC$nISaWg^*7rFePx?M)~Q zxiook7A?LkM{J0%0@IqMCP+20uHdIu(jIJXnb}hd4d%m993RiO@WL&c);@CQ8KpOD zh(B8eRiP!vLl~e@XJ4BhK8lRI-4<;>oL=`t$Ii&-$>;7JUK2*%Paq)T82<;q=?d-> z9#wzZd$rEWw zGVZe+oKHMV5W-|SeHpI#h@RIQTDUlEhn~5f;0*)XXg*Y8qAWQdjEcW@CwtnQ%dK#0 z))b1IX}~+<<_)pp3<*+I$vkAR=?VpAqij9&l%k6qm*57+B<-Y=x|Dt~#Rqsh<6s^n zha~o0u4l!6@JLwV^%AQfu}1S8FqwApVr&RT>*NJh7s!^ZV?3PeBi%%sz;6-D(m_QV zf6Ckf$RTaUW$~YB$!~f1IY|z!?1nnsL0^>(sL||j=cop*T*Ztzp8*YD3h6>)SJv5lFwEhh9Wp%!(w}XFO z2T=zt{D#e)hm_vKGjZ|G)@MX|ktX7ZNG$Az2`u#{y^gw4+Z}T8*^3nlM9TYkTfu0P z9fw*n*~Mf%{w$}7@a~U&1;9XO8DY(Sy#sH}OVyzi^h2uQIA|fPw0jMHaNB$pcG{jL zt+cyp_l&21nejO;**dF~iA)7tbfG0*+L3g7-7i5oVC{{qBl5ph2i35}B1#uiD*T2z zKu+B(=lm9`bli?!HS_DWr=&NfkZW1gCL{UD%zOSEaAHk6t9`+*)_3R7&Eh0}Pf=~M zu*D*qU3CQF=qoF`K6W59k|27 z`})CdZ4w*&sfnaeuPsBTaHEVgDm*h< zx_+9r8jO4xN1rnPYLRsG!JEUB?M!{nJ_{2tamcTZlH|XRQs=GNv4Tl{X=ef7-$A)8 zx_??p-8ACVo>txJ4v!T3vLJOfp_LOj@as`|Tpj#<)GxzJ+Y>V^UaT8Uwj(rERD>$@ z{Ku#nhX$$o1(su1xoAX#YszfnCOxP--%OM0n_2%h0@ld;+ospSqU zqLO`DXM7Kt>ie-jd`gFYwelyt+K3|UUw#Cb-$B4;A*b~vPAd;>WfT}bc0>HURK%k> z#IJ#D5sP>RA?e2qFuyoe^*R`eaa`^N^@-FispL|H5eWF~mrTErLa1Rrc^L%anasXV zVy^)7N55W9{EazMPV|glwgvfwHfylxp|HIcxwuB1IU?oS>uba}t>I?cX7S1pf6K;i zq`xBy@?gdb5ncR^ShFe5?`}(rkcU$C(_>3_@j39SwofFKe)2lIcWei0@Zd_W0eQeq z!2(Oodp#7SqnP9PHX>)bF@l0yAELfM9{GRck+gQX&oo!M<-A3d{`ay`3+O+Q&ZBKI z@SUkRcq{IhQsgHKxQiS=lNG44Ctm-RJ+plM^;OPtvzHqHxka1cO%5BbMUWvY{h_OO z`*~x_>$Z?k9`kU^PLGs$V{oXm_zX3Fb4X{kT$|_B5S~hSesV#Jm4aK0S=`)M;K8Yc zW_-;HjWxLZH1MVJ+{uPjzfC#|BBYqA`TJ^vWpY-xBX3VR^AOs~#p7e%?}Wa*hGWFS z+f312`IO+EFwh?F!n8<3u+bx{z4d54U&l(LRfyACxW!Y8T`K3F)f7MaES@9^}&H+k`HLsf78dk3hZtq-=@o>$2KWs z*s#Zlk3~JRHwjJ`#Ck9bb@-p7(Bw?g5d~_RG@7E>eCF5ZEcq^PTE-nM6WyuYIasdv z^(Ima{+l?J{`D~L%dA0GMexx&_gSKpz(3*q7=G(4!(KFoqj*p0$wk($d#2NW0EmHj z*4naeQ+>c0hC4BZh~BJfY@lDN?8`Dt3HN?I)^GQoASaL8&h$^{!6HMXoZL6A~z--p7-ie&txqv#wSo`qS#fwwPr6Y`56sk4jgC_&0=cF{EiYh4PtRhu#94 z5_=5ovD8=>H=g1wPsO|TkDQc?n*`tfyA<&P00McK=HDex3=J=1YX|XRZsoz#JM?<(Wt9>MctR{>y z!606qVh8FV7<5~KD{!nk5+o1F{V&knPFLXp@J`mJCkL;t8ky^ZyV!C zkAy3tS}~$1S(ihLD)NEH@h-$>?R@#A`6|GwB|T*e3sZ*Bt}N3Wr->~<|D{hfPn}nUFd#*)1Sntq%0DwB6A7IQX!GY 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

!A`*XE>?A4f8q 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

AH6^G4Y7oabc3FR?qATVL8vD{J+ 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

y;#I<5_zi1-jHSLb

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 literal 0 HcmV?d00001 diff --git a/workbench/network/campus-net/build.spec b/workbench/network/campus-net/build.spec index 2f8b438..561a87f 100644 --- a/workbench/network/campus-net/build.spec +++ b/workbench/network/campus-net/build.spec @@ -2,7 +2,7 @@ a = Analysis( - ['main.py'], + ["main.py"], pathex=[], binaries=[], datas=[], @@ -22,7 +22,7 @@ exe = EXE( a.binaries, a.datas, [], - name='Auto-Connect-CampusNet', + name="Auto-Connect-CampusNet", debug=False, bootloader_ignore_signals=False, strip=False, @@ -33,6 +33,7 @@ exe = EXE( disable_windowed_traceback=False, argv_emulation=False, target_arch=None, + icon="assets/cli-icon.ico", codesign_identity=None, entitlements_file=None, ) diff --git a/workbench/network/campus-net/campus_net/application.py b/workbench/network/campus-net/campus_net/application.py index 0ad079f..89dd43a 100644 --- a/workbench/network/campus-net/campus_net/application.py +++ b/workbench/network/campus-net/campus_net/application.py @@ -61,6 +61,18 @@ async def execute_config( def classify_run_error(error: BaseException) -> RunErrorInfo | None: if isinstance(error, (FileNotFoundError, json.JSONDecodeError, TypeError, ValueError)): return RunErrorInfo(1, "配置错误", str(error)) + if isinstance(error, TimeoutError): + return RunErrorInfo( + 3, + "连接失败", + "校园网请求超时,请检查配置的 IPv4 接口和校园网连接。", + ) + if isinstance(error, aiohttp.ClientError): + return RunErrorInfo( + 3, + "连接失败", + "校园网请求失败,请检查配置的 IPv4 接口和校园网连接。", + ) if isinstance( error, ( @@ -69,8 +81,6 @@ def classify_run_error(error: BaseException) -> RunErrorInfo | None: CaptchaPromptError, PortalProtocolError, SsoProtocolError, - aiohttp.ClientError, - TimeoutError, ), ): return RunErrorInfo(3, "连接失败", str(error)) diff --git a/workbench/network/campus-net/campus_net/captive.py b/workbench/network/campus-net/campus_net/captive.py index 0ab8ad6..6dbe27f 100644 --- a/workbench/network/campus-net/campus_net/captive.py +++ b/workbench/network/campus-net/campus_net/captive.py @@ -19,6 +19,7 @@ MAX_CAPTIVE_URL_LENGTH = 4096 REQUIRED_CAPTIVE_PARAMETERS = frozenset({"wlanuserip", "wlanacname", "nasip", "mac"}) IP_UNICAST_IF = getattr(socket, "IP_UNICAST_IF", 31) +UNREACHABLE_SOCKET_ERROR_CODES = frozenset({10050, 10051, 10057, 10065, 1231, 1232}) LOCATION_ASSIGNMENT = re.compile( r"(? str: + if isinstance(error, TimeoutError): + return "配置接口访问连通性探测地址超时" + + if isinstance(error, aiohttp.ClientConnectorError): + os_error = error.os_error + error_codes = { + getattr(os_error, "errno", None), + getattr(os_error, "winerror", None), + } + if error_codes & UNREACHABLE_SOCKET_ERROR_CODES: + return "配置接口未连接,或该接口当前没有可用路由" + if isinstance(os_error, socket.gaierror): + return "配置接口无法解析连通性探测地址" + return "配置接口无法连接连通性探测地址" + + return "配置接口的连通性探测请求未完成" + + def _validate_captive_url(candidate: str, portal_origin: str, entry_path: str) -> None: if len(candidate) > MAX_CAPTIVE_URL_LENGTH: raise CaptiveParseError("captive 入口 URL 过长") diff --git a/workbench/network/campus-net/campus_net/gui_core.py b/workbench/network/campus-net/campus_net/gui_core.py index 42d7930..310e77f 100644 --- a/workbench/network/campus-net/campus_net/gui_core.py +++ b/workbench/network/campus-net/campus_net/gui_core.py @@ -457,6 +457,6 @@ def _cancel_future(future: asyncio.Future[str]) -> None: def _completion_message(exit_code: int) -> str: return { 0: "操作完成。", - 2: "无法确认配置接口的网络状态。", + 2: "配置的 IPv4 接口不可用或状态无法识别,请检查实际承载校园网的 IPv4 接口。", 4: "门户状态与独立连通性探测未能同时确认在线。", }.get(exit_code, f"操作结束,退出码 {exit_code}。") diff --git a/workbench/network/campus-net/campus_net/runner.py b/workbench/network/campus-net/campus_net/runner.py index 694900b..c4372eb 100644 --- a/workbench/network/campus-net/campus_net/runner.py +++ b/workbench/network/campus-net/campus_net/runner.py @@ -40,10 +40,18 @@ async def run_captive_http( status_callback("正在通过配置的 IPv4 接口探测校园网状态…") initialization = await client.initialize() if initialization.probe.state is NetworkState.ONLINE: - status_callback("配置接口已经通过独立连通性探测,无需登录。") + status_callback( + f"配置的 IPv4 接口 {config.interface_index} 已通过独立连通性探测,无需登录;" + "如果校园网实际位于另一接口,请重新选择对应的 IPv4 接口。" + ) return 0 if initialization.probe.state is NetworkState.UNKNOWN: - status_callback(f"无法确认配置接口的网络状态:{initialization.probe.reason}") + reason = initialization.probe.reason.rstrip("。") or "探测结果无法识别" + status_callback( + f"无法确认配置的 IPv4 接口 {config.interface_index} 的网络状态:{reason}。" + "请确认该接口已接入校园网,或重新选择实际承载校园网的 IPv4 接口;" + "已停止,未改用其他网络接口。" + ) return 2 if probe_only: status_callback("已识别当前接口的 captive 门户入口;未提交任何认证信息。") diff --git a/workbench/network/campus-net/docs/new-portal-adaptation.md b/workbench/network/campus-net/docs/new-portal-adaptation.md index 76db802..7d08ea9 100644 --- a/workbench/network/campus-net/docs/new-portal-adaptation.md +++ b/workbench/network/campus-net/docs/new-portal-adaptation.md @@ -53,6 +53,8 @@ IPPROTO_IP / IP_UNICAST_IF / network-byte-order(interface_index) 这样 Wi-Fi、有线网卡或其他 IPv4 接口都使用同一套逻辑。它减少普通默认路由造成的选择歧义;程序不会修改系统路由、sing-box 或 v2rayN 配置。`IP_UNICAST_IF` 只能要求 socket 选定接口,不能证明最终物理出口。内核级 TUN/WFP 仍可能透明截获流量,甚至返回可被分类为 `ONLINE` 或 `CAPTIVE` 的合法响应;需要证明物理出口时仍应使用抓包或系统路由诊断。 +运行时不会把任何接口名称或类型固定为校园网。校园网可以位于 WLAN、以太网或其他 IPv4 接口,配置必须指向实际承载校园网的接口索引。配置接口未连接、没有可用路由或无法完成探测时,流程保持 `UNKNOWN` 并以退出码 `2` 停止,提示中不暴露 `aiohttp`、主机、SSL 或本地化 socket 异常细节,也不会创建无绑定连接器或回退到其他网络接口。识别门户后的 HTTP 超时或连接错误同样由 CLI 与 GUI 共用的异常分类器转换为通用接口提示,不直接显示底层传输异常。配置接口已通过独立在线指纹时只说明该接口已经联网;如果校园网位于另一接口,用户仍需改选对应的 IPv4 接口。 + 连接器同时固定 `AF_INET` 并启用 `force_close=True`:当前流程只创建 IPv4 socket,也不复用持久连接。 实现见 [`campus_net/captive.py`](../campus_net/captive.py) 中的 `WindowsInterfaceSocketFactory` 和 `create_bound_connector()`。 @@ -365,7 +367,7 @@ GUI 只编辑显式带 `version=1` 或 `version=2` 的正式配置。无版本 打包态继续兼容原有的当前目录查找顺序,并在 EXE 同目录后增加一个受限回退:只有 EXE 目录名为 `dist`,且父目录同时包含 `pyproject.toml` 与 `config.example.json` 项目标记时,才检查父目录的 `config.json`。这覆盖本项目的 PyInstaller 输出布局,又不会对任意安装目录盲目向上搜索。`--print-config-path` 只解析并输出最终路径,不打开配置文件也不发出网络请求;显式 GUI `--config` 路径缺失时不会静默改用其他账号配置。 -PyInstaller 保留两个独立入口:`build.spec` 生成控制台版 `Auto-Connect-CampusNet.exe`,`gui.spec` 生成窗口版 `Auto-Connect-CampusNet-GUI.exe`。两个 spec 的 `datas` 都为空,不会把本地 `config.json` 或备份嵌入可执行文件。 +PyInstaller 保留两个独立入口:`build.spec` 生成控制台版 `Auto-Connect-CampusNet.exe` 并嵌入紫色多尺寸 `cli-icon.ico`;`gui.spec` 生成窗口版 `Auto-Connect-CampusNet-GUI.exe`,嵌入蓝色多尺寸 `app-icon.ico`,并只把 `app-icon.png` 作为窗口/Header 品牌素材加入 `datas`。本地 `config.json`、备份和运行时状态均不会嵌入可执行文件。 ## 9. 退出码和可观察结果 @@ -373,7 +375,7 @@ PyInstaller 保留两个独立入口:`build.spec` 生成控制台版 `Auto-Con | --- | --- | | `0` | 已在线、探测成功,或登录后双重在线确认成功 | | `1` | 配置缺失、JSON 错误或字段校验失败 | -| `2` | 接口状态无法确认,或旧版模式不支持 `--probe-only` | +| `2` | 配置的 IPv4 接口不可用、探测结果无法识别,或旧版模式不支持 `--probe-only` | | `3` | 登录被拒绝、结果不确定、验证码 UI、门户协议、HTTP/网络或超时错误 | | `4` | 门户状态和独立连通性探测未能同时确认在线 | @@ -383,7 +385,8 @@ PyInstaller 保留两个独立入口:`build.spec` 生成控制台版 `Auto-Con 单元测试按协议边界拆分: -- `test_captive.py`:真实脚本形态、入口参数、origin/path、歧义响应、在线指纹和 Windows socket 绑定; +- `test_captive.py`:真实脚本形态、入口参数、origin/path、歧义响应、在线指纹、Windows socket 绑定和探测异常脱敏; +- `test_runner.py`:配置接口不可达时的退出码、CLI/GUI 共用提示、只使用绑定连接器和禁止其他网络回退; - `test_sso.py`:动态字段、AES/PKCS#7、验证码策略、风险类型、成功回调和错误码; - `test_aggregate.py`:完整会话顺序、CSRF 头、验证码刷新、非幂等请求不重放、运营商和双重在线判定; - `test_captive_config.py`:`version=2` 六字段配置和早期嵌套配置兼容; @@ -392,17 +395,20 @@ PyInstaller 保留两个独立入口:`build.spec` 生成控制台版 `Auto-Con - `test_config_paths.py`:源码和打包态候选顺序、`dist` 父目录、显式路径与符号链接边界; - `test_gui_core.py`:无 Tk 的表单、后台任务、取消、验证码桥接和接口列表测试; - `test_window_state.py`:窗口状态原子保存、损坏回退、负坐标多显示器和离屏校正; -- `test_application.py`:CLI/GUI 共用协议分派和错误分类。 +- `test_application.py`:CLI/GUI 共用协议分派、错误分类和后续网络异常脱敏。 项目级验证命令: ```powershell -uv run python -m unittest discover -s tests -p "test_*.py" -v -uv run python main.py --probe-only -uv run pyinstaller --clean --noconfirm build.spec -uv run pyinstaller --clean --noconfirm gui.spec +uv sync --group dev +& .\.venv\Scripts\python.exe -m unittest discover -s tests -p "test_*.py" -v +& .\.venv\Scripts\python.exe main.py --probe-only +& .\.venv\Scripts\python.exe -m PyInstaller --clean --noconfirm build.spec +& .\.venv\Scripts\python.exe -m PyInstaller --clean --noconfirm gui.spec ``` +子项目通过 `[tool.uv.workspace]` 声明独立的项目发现边界,避免 `uv sync` 把仓库根仅包含 Ruff 配置的 `pyproject.toml` 误报为缺少 `[project]` 的项目文件。环境仍由 uv 创建和同步;测试、探测和打包直接调用该环境的 Python,避免后续命令重复执行项目发现。 + GUI 产物另提供 `--smoke-test`:只创建、更新并销毁主窗口,不读取配置、不枚举网卡也不访问网络,可用于构建后的窗口资源冒烟检查。本次适配还分别用源码入口和重新构建的 CLI EXE 执行了绑定接口探测,并在实际登录测试中确认最终成功条件为“门户在线状态 + 独立 HTTP 在线指纹”。完整测试数量随 GUI 边界用例增长,以全量测试命令的实际输出为准。 ## 11. 已知限制 diff --git a/workbench/network/campus-net/pyproject.toml b/workbench/network/campus-net/pyproject.toml index 216644a..be4e921 100644 --- a/workbench/network/campus-net/pyproject.toml +++ b/workbench/network/campus-net/pyproject.toml @@ -22,3 +22,6 @@ dev = [ [tool.uv] package = false + +[tool.uv.workspace] +members = [] diff --git a/workbench/network/campus-net/tests/test_application.py b/workbench/network/campus-net/tests/test_application.py index e0bc571..ebd796c 100644 --- a/workbench/network/campus-net/tests/test_application.py +++ b/workbench/network/campus-net/tests/test_application.py @@ -1,5 +1,6 @@ import json import unittest +from types import SimpleNamespace from unittest.mock import AsyncMock, patch import aiohttp @@ -133,8 +134,6 @@ def test_classifies_protocol_and_transport_errors(self): CaptchaPromptError("captcha failed"), PortalProtocolError("portal failed"), SsoProtocolError("sso failed"), - aiohttp.ClientConnectionError("connection failed"), - TimeoutError("timed out"), ) for error in errors: @@ -146,6 +145,38 @@ def test_classifies_protocol_and_transport_errors(self): self.assertEqual(info.title, "连接失败") self.assertEqual(info.message, str(error)) + def test_sanitizes_transport_error_details(self): + errors_and_messages = ( + ( + aiohttp.ClientConnectorError( + SimpleNamespace(host="private.example", port=80, ssl=True), + OSError(10065, "raw socket failure"), + ), + "校园网请求失败,请检查配置的 IPv4 接口和校园网连接。", + ), + ( + TimeoutError("private timeout detail"), + "校园网请求超时,请检查配置的 IPv4 接口和校园网连接。", + ), + ) + + for error, expected_message in errors_and_messages: + with self.subTest(error_type=type(error).__name__): + info = classify_run_error(error) + + self.assertIsNotNone(info) + self.assertEqual(info.exit_code, 3) + self.assertEqual(info.title, "连接失败") + self.assertEqual(info.message, expected_message) + for private_detail in ( + "private.example", + "ssl", + "10065", + "raw socket failure", + "private timeout detail", + ): + self.assertNotIn(private_detail, info.message) + def test_leaves_unknown_errors_for_the_caller(self): self.assertIsNone(classify_run_error(RuntimeError("unexpected"))) diff --git a/workbench/network/campus-net/tests/test_captive.py b/workbench/network/campus-net/tests/test_captive.py index 4ad0f46..06c1310 100644 --- a/workbench/network/campus-net/tests/test_captive.py +++ b/workbench/network/campus-net/tests/test_captive.py @@ -1,9 +1,11 @@ import socket import struct import unittest +from types import SimpleNamespace from unittest.mock import Mock, patch from urllib.parse import urlencode +import aiohttp from campus_net.captive import ( IP_UNICAST_IF, MAX_CAPTIVE_URL_LENGTH, @@ -13,6 +15,7 @@ WindowsInterfaceSocketFactory, classify_response, extract_captive_url, + probe_connectivity, ) from campus_net.config import CaptiveHttpConfig, ProbeConfig @@ -244,6 +247,37 @@ def test_classifies_unrecognized_response_as_unknown(self): self.assertTrue(result.reason) +class TestConnectivityProbe(unittest.IsolatedAsyncioTestCase): + async def test_reports_unreachable_bound_interface_without_raw_socket_error(self): + session = Mock() + session.get.side_effect = aiohttp.ClientConnectorError( + SimpleNamespace(host="connectivity.example", port=80, ssl=True), + OSError(10065, "raw socket failure"), + ) + + result = await probe_connectivity(session, http_config()) + + self.assertEqual(result.state, NetworkState.UNKNOWN) + self.assertIsNone(result.captive_url) + self.assertEqual(result.reason, "配置接口未连接,或该接口当前没有可用路由") + for private_detail in ("connectivity.example", "ssl", "10065", "raw socket failure"): + self.assertNotIn(private_detail, result.reason) + session.get.assert_called_once() + _args, kwargs = session.get.call_args + self.assertEqual(kwargs["allow_redirects"], False) + self.assertEqual(kwargs["timeout"].total, 8) + + async def test_reports_probe_timeout_without_raw_exception_text(self): + session = Mock() + session.get.side_effect = TimeoutError("secret transport detail") + + result = await probe_connectivity(session, http_config()) + + self.assertEqual(result.state, NetworkState.UNKNOWN) + self.assertEqual(result.reason, "配置接口访问连通性探测地址超时") + self.assertNotIn("secret transport detail", result.reason) + + class TestWindowsInterfaceSocketFactory(unittest.TestCase): def test_binds_socket_with_network_byte_order_interface_index(self): client_socket = Mock() diff --git a/workbench/network/campus-net/tests/test_gui_core.py b/workbench/network/campus-net/tests/test_gui_core.py index e7f0b14..546dd87 100644 --- a/workbench/network/campus-net/tests/test_gui_core.py +++ b/workbench/network/campus-net/tests/test_gui_core.py @@ -197,6 +197,24 @@ async def runner(config: dict[str, Any], **kwargs: Any) -> int: ) self.assertFalse(terminal.cancelled) + def test_reports_interface_selection_guidance_for_unknown_network_state(self): + async def runner(_config: dict[str, Any], **_kwargs: Any) -> int: + return 2 + + controller = OperationController(runner) + controller.start(captive_model(), probe_only=False) + terminal, _events = self.wait_for_event( + controller, + lambda event: isinstance(event, FinishedEvent), + ) + self.wait_until_stopped(controller) + + self.assertEqual(terminal.exit_code, 2) + self.assertEqual( + terminal.message, + "配置的 IPv4 接口不可用或状态无法识别,请检查实际承载校园网的 IPv4 接口。", + ) + def test_rejects_concurrent_start_and_cancels_active_task(self): started = threading.Event() diff --git a/workbench/network/campus-net/tests/test_runner.py b/workbench/network/campus-net/tests/test_runner.py new file mode 100644 index 0000000..22f6eaf --- /dev/null +++ b/workbench/network/campus-net/tests/test_runner.py @@ -0,0 +1,150 @@ +import unittest +from unittest.mock import AsyncMock, patch, sentinel + +from campus_net.aggregate import InitializationResult +from campus_net.captive import NetworkState, ProbeResult +from campus_net.config import CaptiveHttpConfig, ProbeConfig +from campus_net.runner import run_captive_http + + +def http_config() -> CaptiveHttpConfig: + return CaptiveHttpConfig( + adapter="captive-sso-http", + interface_index=24, + user_agent="test-agent", + probe=ProbeConfig( + url="http://connectivity.example/connecttest.txt", + online_status=200, + online_body="Microsoft Connect Test", + online_location=None, + timeout_seconds=8, + ), + portal_origin="http://10.71.29.181", + portal_entry_path="/eportal/index.jsp", + auth_mode="interactive-system-captcha", + username="example-student", + password="example-password", + service_display_name="中国电信", + captcha_attempts=0, + verification_interval_seconds=2, + verification_timeout_seconds=30, + ) + + +class FakeSessionContext: + async def __aenter__(self): + return sentinel.session + + async def __aexit__(self, _error_type, _error, _traceback): + return False + + +class TestCaptiveRunner(unittest.IsolatedAsyncioTestCase): + async def test_online_selected_interface_does_not_claim_campus_identity(self): + config = http_config() + status_messages: list[str] = [] + + with ( + patch( + "campus_net.runner.create_bound_connector", + return_value=sentinel.connector, + ), + patch("campus_net.runner.aiohttp.CookieJar", return_value=sentinel.cookie_jar), + patch( + "campus_net.runner.aiohttp.ClientSession", + return_value=FakeSessionContext(), + ), + patch("campus_net.runner.AggregatePortalClient") as client_type, + ): + client = client_type.return_value + client.initialize = AsyncMock( + return_value=InitializationResult( + probe=ProbeResult(NetworkState.ONLINE), + ) + ) + client.authenticate = AsyncMock() + + exit_code = await run_captive_http( + config, + status_callback=status_messages.append, + ) + + self.assertEqual(exit_code, 0) + self.assertEqual( + status_messages, + [ + "正在通过配置的 IPv4 接口探测校园网状态…", + "配置的 IPv4 接口 24 已通过独立连通性探测,无需登录;" + "如果校园网实际位于另一接口,请重新选择对应的 IPv4 接口。", + ], + ) + client.authenticate.assert_not_awaited() + + async def test_unreachable_interface_stops_without_falling_back_to_other_networks(self): + config = http_config() + for probe_only in (False, True): + with self.subTest(probe_only=probe_only): + status_messages: list[str] = [] + + with ( + patch( + "campus_net.runner.create_bound_connector", + return_value=sentinel.connector, + ) as create_connector, + patch( + "campus_net.runner.aiohttp.CookieJar", + return_value=sentinel.cookie_jar, + ), + patch( + "campus_net.runner.aiohttp.ClientSession", + return_value=FakeSessionContext(), + ) as session_type, + patch("campus_net.runner.AggregatePortalClient") as client_type, + ): + client = client_type.return_value + client.initialize = AsyncMock( + return_value=InitializationResult( + probe=ProbeResult( + NetworkState.UNKNOWN, + reason="配置接口未连接,或该接口当前没有可用路由", + ) + ) + ) + client.authenticate = AsyncMock() + client.select_service = AsyncMock() + client.trigger_online_check = AsyncMock() + client.verify_online = AsyncMock() + + exit_code = await run_captive_http( + config, + probe_only=probe_only, + status_callback=status_messages.append, + ) + + self.assertEqual(exit_code, 2) + self.assertEqual( + status_messages, + [ + "正在通过配置的 IPv4 接口探测校园网状态…", + "无法确认配置的 IPv4 接口 24 的网络状态:配置接口未连接,或该接口当前没有可用路由。" + "请确认该接口已接入校园网,或重新选择实际承载校园网的 IPv4 接口;" + "已停止,未改用其他网络接口。", + ], + ) + for private_detail in ("host", "ssl", "WinError", "Cannot connect"): + self.assertNotIn(private_detail, "\n".join(status_messages)) + create_connector.assert_called_once_with(24) + session_type.assert_called_once() + self.assertIs( + session_type.call_args.kwargs["connector"], + sentinel.connector, + ) + client.initialize.assert_awaited_once_with() + client.authenticate.assert_not_awaited() + client.select_service.assert_not_awaited() + client.trigger_online_check.assert_not_awaited() + client.verify_online.assert_not_awaited() + + +if __name__ == "__main__": + unittest.main() diff --git a/workbench/network/campus-net/workflows/build.example.yml b/workbench/network/campus-net/workflows/build.example.yml index 5823f53..e323e27 100644 --- a/workbench/network/campus-net/workflows/build.example.yml +++ b/workbench/network/campus-net/workflows/build.example.yml @@ -31,12 +31,12 @@ jobs: run: uv sync --group dev - name: Run tests - run: uv run python -m unittest discover -s tests -p "test_*.py" -v + run: '& .\.venv\Scripts\python.exe -m unittest discover -s tests -p "test_*.py" -v' - name: Build CLI and GUI run: | - uv run pyinstaller --clean --noconfirm build.spec - uv run pyinstaller --clean --noconfirm gui.spec + & .\.venv\Scripts\python.exe -m PyInstaller --clean --noconfirm build.spec + & .\.venv\Scripts\python.exe -m PyInstaller --clean --noconfirm gui.spec - name: Verify executables and GUI resources shell: pwsh @@ -44,13 +44,30 @@ jobs: $cli = Resolve-Path -LiteralPath "dist/Auto-Connect-CampusNet.exe" -ErrorAction Stop $gui = Resolve-Path -LiteralPath "dist/Auto-Connect-CampusNet-GUI.exe" -ErrorAction Stop $smokeConfig = Join-Path $env:RUNNER_TEMP "campus-net-gui-smoke.json" - $process = Start-Process -FilePath $gui -ArgumentList @("--smoke-test", "--config", $smokeConfig) -Wait -PassThru - if ($process.ExitCode -ne 0) { - throw "GUI smoke test failed with exit code $($process.ExitCode)" + $startInfo = [Diagnostics.ProcessStartInfo]::new() + $startInfo.FileName = $gui.Path + $startInfo.Arguments = "--smoke-test --config=`"$smokeConfig`"" + $startInfo.UseShellExecute = $false + $startInfo.CreateNoWindow = $true + $process = [Diagnostics.Process]::Start($startInfo) + if (-not $process.WaitForExit(60000)) { + $process.Kill() + $process.WaitForExit() + throw "GUI smoke test timed out" + } + $exitCode = $process.ExitCode + $process.Dispose() + if ($exitCode -ne 0) { + throw "GUI smoke test failed with exit code $exitCode" } if (Test-Path -LiteralPath $smokeConfig) { throw "GUI smoke test unexpectedly created $smokeConfig" } + Start-Sleep -Milliseconds 500 + $remaining = @(Get-Process -ErrorAction SilentlyContinue | Where-Object { $_.Path -eq $gui.Path }) + if ($remaining.Count -ne 0) { + throw "GUI smoke test left $($remaining.Count) process(es) running" + } Get-FileHash -Algorithm SHA256 -LiteralPath $cli, $gui | ForEach-Object { "$($_.Hash.ToLowerInvariant()) $([IO.Path]::GetFileName($_.Path))" } | Set-Content -LiteralPath "dist/SHA256SUMS.txt" -Encoding utf8NoBOM From d5ba83dafcac44ed26ae5cdc3b365c3aa99aac80 Mon Sep 17 00:00:00 2001 From: Cedarflake Date: Sat, 18 Jul 2026 05:22:52 +0800 Subject: [PATCH 3/5] fix(ci): allow unlocked campus-net tests --- .github/workflows/group-workbench-python-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/group-workbench-python-ci.yml b/.github/workflows/group-workbench-python-ci.yml index 1c0237a..3253917 100644 --- a/.github/workflows/group-workbench-python-ci.yml +++ b/.github/workflows/group-workbench-python-ci.yml @@ -111,7 +111,7 @@ jobs: - name: Test campus-net working-directory: workbench/network/campus-net - run: uv run --frozen python -m unittest discover -s tests -p "test_*.py" -v + run: uv run python -m unittest discover -s tests -p "test_*.py" -v audit: runs-on: ubuntu-latest From 7deb28dde38b995f3b3ef0f3213a7dd3f1d3c22d Mon Sep 17 00:00:00 2001 From: Cedarflake Date: Sat, 18 Jul 2026 05:28:12 +0800 Subject: [PATCH 4/5] fix(ci): provide display for GUI tests --- .github/workflows/group-workbench-python-ci.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/group-workbench-python-ci.yml b/.github/workflows/group-workbench-python-ci.yml index 3253917..4d420ce 100644 --- a/.github/workflows/group-workbench-python-ci.yml +++ b/.github/workflows/group-workbench-python-ci.yml @@ -111,7 +111,7 @@ jobs: - name: Test campus-net working-directory: workbench/network/campus-net - run: uv run python -m unittest discover -s tests -p "test_*.py" -v + run: xvfb-run -a uv run python -m unittest discover -s tests -p "test_*.py" -v audit: runs-on: ubuntu-latest From 5dd927ebfffc13f5dfe2be431f9f4442a8db277f Mon Sep 17 00:00:00 2001 From: Cedarflake Date: Sat, 18 Jul 2026 05:35:12 +0800 Subject: [PATCH 5/5] test(campus-net): allow X11 theme metrics --- workbench/network/campus-net/tests/test_gui_entry.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workbench/network/campus-net/tests/test_gui_entry.py b/workbench/network/campus-net/tests/test_gui_entry.py index 958ea62..f406339 100644 --- a/workbench/network/campus-net/tests/test_gui_entry.py +++ b/workbench/network/campus-net/tests/test_gui_entry.py @@ -134,7 +134,7 @@ def test_layout_scrolls_and_aligns_square_secret_toggle(self): self.assertEqual(app.v2_vars["carrier"].get(), "中国电信") self.assertLessEqual( abs(toggle_border.winfo_reqheight() - app.v2_carrier_combo.winfo_reqheight()), - 2, + 3, ) v1_entries = [ widget

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