From e0b830540648755316577ec90116619169637ad8 Mon Sep 17 00:00:00 2001 From: Lxy Date: Sat, 9 May 2026 00:54:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E5=88=9D=E5=A7=8B=E5=8C=96=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .env.example | 13 + .gitignore | 63 + Dockerfile.backend | 16 + Dockerfile.frontend | 12 + README.md | 90 + backend/app/config.py | 50 + backend/app/database.py | 23 + backend/app/main.py | 339 ++++ backend/app/models/__init__.py | 113 ++ backend/app/schemas/__init__.py | 102 + backend/app/services/__init__.py | 0 backend/app/services/contract_service.py | 110 ++ backend/app/services/datasource/__init__.py | 0 backend/app/services/datasource/akshare.py | 318 ++++ backend/app/services/datasource/base.py | 76 + backend/app/services/datasource/manager.py | 97 + backend/app/services/datasource/tushare.py | 201 ++ backend/app/services/kline_service.py | 346 ++++ backend/requirements.txt | 14 + docker-compose.yml | 66 + docs/PROJECT_GUIDE.md | 202 ++ frontend/index.html | 12 + frontend/package-lock.json | 1848 +++++++++++++++++++ frontend/package.json | 24 + frontend/src/App.vue | 97 + frontend/src/api/index.js | 26 + frontend/src/main.js | 29 + frontend/src/views/ApiTestView.vue | 193 ++ frontend/src/views/ContractView.vue | 103 ++ frontend/src/views/DataSourceView.vue | 173 ++ frontend/src/views/KlineView.vue | 238 +++ frontend/vite.config.js | 16 + screenshots/01-datasource.png | Bin 0 -> 30427 bytes screenshots/02-contracts.png | Bin 0 -> 35534 bytes screenshots/03-kline.png | Bin 0 -> 29350 bytes screenshots/04-api-test.png | Bin 0 -> 29004 bytes screenshots/05-datasource-config.png | Bin 0 -> 30709 bytes screenshots/06-akshare-config.png | Bin 0 -> 30709 bytes screenshots/07-akshare-config-refreshed.png | Bin 0 -> 30709 bytes screenshots/08-akshare-config-final.png | Bin 0 -> 30709 bytes screenshots/09-config-refresh.png | Bin 0 -> 30709 bytes screenshots/10-config-port3001.png | Bin 0 -> 35763 bytes screenshots/11-config-dialog-open.png | Bin 0 -> 37516 bytes screenshots/12-switch-toggled.png | Bin 0 -> 37516 bytes screenshots/13-config-dialog.png | Bin 0 -> 34317 bytes 45 files changed, 5010 insertions(+) create mode 100644 .env.example create mode 100644 .gitignore create mode 100644 Dockerfile.backend create mode 100644 Dockerfile.frontend create mode 100644 README.md create mode 100644 backend/app/config.py create mode 100644 backend/app/database.py create mode 100644 backend/app/main.py create mode 100644 backend/app/models/__init__.py create mode 100644 backend/app/schemas/__init__.py create mode 100644 backend/app/services/__init__.py create mode 100644 backend/app/services/contract_service.py create mode 100644 backend/app/services/datasource/__init__.py create mode 100644 backend/app/services/datasource/akshare.py create mode 100644 backend/app/services/datasource/base.py create mode 100644 backend/app/services/datasource/manager.py create mode 100644 backend/app/services/datasource/tushare.py create mode 100644 backend/app/services/kline_service.py create mode 100644 backend/requirements.txt create mode 100644 docker-compose.yml create mode 100644 docs/PROJECT_GUIDE.md create mode 100644 frontend/index.html create mode 100644 frontend/package-lock.json create mode 100644 frontend/package.json create mode 100644 frontend/src/App.vue create mode 100644 frontend/src/api/index.js create mode 100644 frontend/src/main.js create mode 100644 frontend/src/views/ApiTestView.vue create mode 100644 frontend/src/views/ContractView.vue create mode 100644 frontend/src/views/DataSourceView.vue create mode 100644 frontend/src/views/KlineView.vue create mode 100644 frontend/vite.config.js create mode 100644 screenshots/01-datasource.png create mode 100644 screenshots/02-contracts.png create mode 100644 screenshots/03-kline.png create mode 100644 screenshots/04-api-test.png create mode 100644 screenshots/05-datasource-config.png create mode 100644 screenshots/06-akshare-config.png create mode 100644 screenshots/07-akshare-config-refreshed.png create mode 100644 screenshots/08-akshare-config-final.png create mode 100644 screenshots/09-config-refresh.png create mode 100644 screenshots/10-config-port3001.png create mode 100644 screenshots/11-config-dialog-open.png create mode 100644 screenshots/12-switch-toggled.png create mode 100644 screenshots/13-config-dialog.png diff --git a/.env.example b/.env.example new file mode 100644 index 0000000..f976b4a --- /dev/null +++ b/.env.example @@ -0,0 +1,13 @@ +# Tushare API Token (必填,到 https://tushare.pro 注册获取) +TUSHARE_TOKEN=your_tushare_token_here + +# 数据库配置(默认值即可) +DB_HOST=postgres +DB_PORT=5432 +DB_NAME=futures_data +DB_USER=futures +DB_PASSWORD=futures123 + +# Redis 配置 +REDIS_HOST=redis +REDIS_PORT=6379 diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..cd1a6cd --- /dev/null +++ b/.gitignore @@ -0,0 +1,63 @@ +# Python +__pycache__/ +*.py[cod] +*$py.class +*.so +.Python +env/ +venv/ +ENV/ +build/ +develop-eggs/ +dist/ +downloads/ +eggs/ +.eggs/ +lib/ +lib64/ +parts/ +sdist/ +var/ +wheels/ +*.egg-info/ +.installed.cfg +*.egg + +# Virtual Environment +venv/ +env/ +ENV/ + +# IDE +.idea/ +.vscode/ +*.swp +*.swo +*~ + +# Environment variables +.env +.env.local +.env.*.local + +# Database +*.db +*.sqlite3 + +# Logs +*.log +logs/ + +# Frontend +node_modules/ +dist/ +build/ +.npm +.yarn + +# Docker +.dockerignore + +# Misc +.DS_Store +Thumbs.db diff --git a/Dockerfile.backend b/Dockerfile.backend new file mode 100644 index 0000000..3a78773 --- /dev/null +++ b/Dockerfile.backend @@ -0,0 +1,16 @@ +FROM python:3.11-slim + +WORKDIR /app + +RUN apt-get update && apt-get install -y --no-install-recommends \ + gcc libpq-dev \ + && rm -rf /var/lib/apt/lists/* + +COPY requirements.txt . +RUN pip install --no-cache-dir -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple + +COPY app/ ./app/ + +EXPOSE 8000 + +CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"] diff --git a/Dockerfile.frontend b/Dockerfile.frontend new file mode 100644 index 0000000..df90705 --- /dev/null +++ b/Dockerfile.frontend @@ -0,0 +1,12 @@ +FROM node:20-alpine + +WORKDIR /app + +COPY package.json ./ +RUN npm install --registry=https://registry.npmmirror.com + +COPY . . + +EXPOSE 3000 + +CMD ["npm", "run", "dev"] diff --git a/README.md b/README.md new file mode 100644 index 0000000..dc76af4 --- /dev/null +++ b/README.md @@ -0,0 +1,90 @@ +# 期货统一数据平台 + +期货行情统一数据平台,对接多个数据源(Tushare/CTP等),提供统一的数据出口。 + +## 功能 + +- **数据源管理**: 可配置启用/禁用的数据源,优先级管理 +- **历史K线**: 日K/周K/60m/30m/15m/5m 数据存储与查询 +- **合约管理**: 合约信息同步与查询 +- **管理后台**: 数据源监控、接口测试、K线展示 +- **RESTful API**: 统一的数据接口供其他系统调用 + +## 快速开始 + +### 1. 配置环境变量 + +```bash +cp .env.example .env +# 编辑 .env,填入你的 Tushare Token +``` + +### 2. Docker 启动 + +```bash +docker compose up -d --build +``` + +启动后访问: +- 管理后台: http://localhost:3000 +- 后端API: http://localhost:8000 +- API文档: http://localhost:8000/docs + +### 3. 初始配置 + +1. 打开 http://localhost:3000 +2. 进入"数据源监控"页面 +3. 点击 tushare 行的"配置"按钮,填入你的 Tushare Token +4. 点击"测试连接"确认 +5. 开启"启用"开关 + +## 项目结构 + +``` +├── backend/ # 后端 (FastAPI + SQLAlchemy) +│ ├── app/ +│ │ ├── main.py # 入口 & API路由 +│ │ ├── config.py # 配置 +│ │ ├── database.py # 数据库连接 +│ │ ├── models/ # 数据库模型 +│ │ ├── schemas/ # Pydantic 模型 +│ │ ├── services/ # 业务逻辑 +│ │ │ ├── datasource/ # 数据源适配器 +│ │ │ ├── kline_service.py +│ │ │ └── contract_service.py +│ │ └── api/ +│ └── requirements.txt +├── frontend/ # 前端 (Vue3 + Element Plus) +│ ├── src/ +│ │ ├── views/ # 页面 +│ │ └── api/ # API调用 +│ └── package.json +├── docker-compose.yml +└── .env +``` + +## API 接口 + +### 合约 +- `GET /api/v1/contracts` - 合约列表 +- `GET /api/v1/contracts/{symbol}` - 合约详情 +- `POST /api/v1/contracts/sync` - 同步合约 + +### K线 +- `GET /api/v1/kline?symbol=rb2401&period=daily&limit=100` - 查询K线 +- `POST /api/v1/kline/sync` - 同步K线数据 + +### 数据源 +- `GET /api/v1/datasources` - 数据源列表 +- `PUT /api/v1/datasources/{name}` - 更新配置 +- `POST /api/v1/datasources/{name}/test` - 测试连接 + +## 技术栈 + +| 层次 | 技术 | +|------|------| +| 后端 | Python / FastAPI / SQLAlchemy | +| 数据库 | PostgreSQL + TimescaleDB | +| 缓存 | Redis | +| 前端 | Vue3 / Element Plus / ECharts | +| 部署 | Docker Compose | diff --git a/backend/app/config.py b/backend/app/config.py new file mode 100644 index 0000000..152414b --- /dev/null +++ b/backend/app/config.py @@ -0,0 +1,50 @@ +from pydantic_settings import BaseSettings +from typing import Optional + + +class Settings(BaseSettings): + # 项目信息 + PROJECT_NAME: str = "期货统一数据平台" + VERSION: str = "0.1.0" + API_PREFIX: str = "/api/v1" + + # 数据库配置 + DB_HOST: str = "postgres" + DB_PORT: int = 5432 + DB_NAME: str = "futures_data" + DB_USER: str = "futures" + DB_PASSWORD: str = "futures123" + DATABASE_URL: str = "" # 直接指定完整 URL,支持 sqlite:/// + + @property + def database_url(self) -> str: + if self.DATABASE_URL: + return self.DATABASE_URL + return f"postgresql://{self.DB_USER}:{self.DB_PASSWORD}@{self.DB_HOST}:{self.DB_PORT}/{self.DB_NAME}" + + # Redis 配置 + REDIS_HOST: str = "redis" + REDIS_PORT: int = 6379 + REDIS_DB: int = 0 + REDIS_PASSWORD: Optional[str] = None + + @property + def REDIS_URL(self) -> str: + if self.REDIS_PASSWORD: + return f"redis://:{self.REDIS_PASSWORD}@{self.REDIS_HOST}:{self.REDIS_PORT}/{self.REDIS_DB}" + return f"redis://{self.REDIS_HOST}:{self.REDIS_PORT}/{self.REDIS_DB}" + + # Tushare 配置 + TUSHARE_TOKEN: str = "" + + # 服务配置 + HOST: str = "0.0.0.0" + PORT: int = 8000 + DEBUG: bool = True + + class Config: + env_file = ".env" + case_sensitive = True + + +settings = Settings() diff --git a/backend/app/database.py b/backend/app/database.py new file mode 100644 index 0000000..a7278ff --- /dev/null +++ b/backend/app/database.py @@ -0,0 +1,23 @@ +from sqlalchemy import create_engine +from sqlalchemy.orm import sessionmaker, DeclarativeBase +from app.config import settings + +db_url = settings.database_url +connect_args = {} +if db_url.startswith("sqlite"): + connect_args["check_same_thread"] = False + +engine = create_engine(db_url, connect_args=connect_args, pool_pre_ping=True) +SessionLocal = sessionmaker(autocommit=False, autoflush=False, bind=engine) + + +class Base(DeclarativeBase): + pass + + +def get_db(): + db = SessionLocal() + try: + yield db + finally: + db.close() diff --git a/backend/app/main.py b/backend/app/main.py new file mode 100644 index 0000000..09ef25b --- /dev/null +++ b/backend/app/main.py @@ -0,0 +1,339 @@ +from fastapi import FastAPI, Depends, HTTPException, Query +from fastapi.middleware.cors import CORSMiddleware +from typing import Optional +from datetime import datetime +import logging + +# 配置日志 +logging.basicConfig( + level=logging.INFO, + format='%(asctime)s - %(name)s - %(levelname)s - %(message)s' +) + +from app.config import settings +from app.database import get_db, engine, Base +from app.schemas import ( + KlineRequest, KlineResponse, KlineItem, + ContractInfo as ContractSchema, ContractListResponse, + DataSourceConfigItem, DataSourceConfigUpdate, DataSourceCreate, + ApiResponse, HealthResponse, DataSourceStatus, +) +from app.services.kline_service import kline_service +from app.services.contract_service import contract_service +from app.services.datasource.manager import DataSourceManager +from app.models import DataSourceConfig + +logger = logging.getLogger(__name__) + + +app = FastAPI( + title=settings.PROJECT_NAME, + version=settings.VERSION, + docs_url="/docs", + redoc_url="/redoc", +) + +# CORS +app.add_middleware( + CORSMiddleware, + allow_origins=["*"], + allow_credentials=True, + allow_methods=["*"], + allow_headers=["*"], +) + + +# ========== 启动事件 ========== +@app.on_event("startup") +async def startup(): + # 创建数据库表 + Base.metadata.create_all(bind=engine) + # 加载数据源配置 + DataSourceManager.load_enabled_sources() + # 初始化默认数据源配置(如果不存在) + _init_default_datasource() + + +def _init_default_datasource(): + """初始化默认的数据源配置(如果不存在)""" + from app.database import SessionLocal + db = SessionLocal() + try: + # 初始化 Tushare + existing = db.query(DataSourceConfig).filter( + DataSourceConfig.source_name == "tushare" + ).first() + if not existing: + import json + cfg = DataSourceConfig( + source_name="tushare", + display_name="Tushare", + is_enabled=False, + config_json=json.dumps({"token": ""}), + priority=1, + status="unknown", + ) + db.add(cfg) + + # 初始化 Akshare + existing_ak = db.query(DataSourceConfig).filter( + DataSourceConfig.source_name == "akshare" + ).first() + if not existing_ak: + import json + cfg_ak = DataSourceConfig( + source_name="akshare", + display_name="AKShare", + is_enabled=False, + config_json=json.dumps({"max_retries": 3}), + priority=2, + status="unknown", + ) + db.add(cfg_ak) + + db.commit() + finally: + db.close() + + +# ========== 健康检查 ========== +@app.get("/api/health", response_model=HealthResponse) +async def health_check(): + services = {} + try: + from sqlalchemy import text + from app.database import engine + with engine.connect() as conn: + conn.execute(text("SELECT 1")) + services["database"] = "ok" + except Exception as e: + services["database"] = f"error: {str(e)}" + + try: + import redis + r = redis.from_url(settings.REDIS_URL) + r.ping() + services["redis"] = "ok" + except Exception as e: + services["redis"] = "not configured" # Redis 非必须 + + status = "healthy" if all(v == "ok" for v in services.values()) else "degraded" + + return HealthResponse( + status=status, + services=services, + version=settings.VERSION, + ) + + +# ========== 合约接口 ========== +@app.get("/api/v1/contracts", response_model=ContractListResponse) +async def list_contracts( + exchange: Optional[str] = Query(None, description="交易所代码"), + product: Optional[str] = Query(None, description="品种代码"), + is_active: Optional[bool] = Query(None, description="是否活跃"), +): + contracts = contract_service.get_contracts( + exchange=exchange, product=product, is_active=is_active + ) + return ContractListResponse( + total=len(contracts), + items=[ContractSchema.model_validate(c) for c in contracts], + ) + + +@app.get("/api/v1/contracts/{symbol}", response_model=ContractSchema) +async def get_contract(symbol: str): + contract = contract_service.get_contract(symbol) + if not contract: + raise HTTPException(status_code=404, detail="合约不存在") + return ContractSchema.model_validate(contract) + + +@app.post("/api/v1/contracts/sync") +async def sync_contracts(): + """从数据源同步合约列表""" + try: + count = contract_service.sync_contracts() + return {"code": 0, "message": "同步成功", "data": {"synced": count}} + except Exception as e: + return {"code": 1, "message": f"同步失败: {str(e)}", "data": None} + + +# ========== K线接口 ========== +@app.get("/api/v1/kline", response_model=KlineResponse) +async def get_kline( + symbol: str = Query(..., description="合约代码"), + period: str = Query("daily", description="周期: daily/weekly/5m/15m/30m/60m"), + start_date: Optional[str] = Query(None, description="开始日期 YYYY-MM-DD"), + end_date: Optional[str] = Query(None, description="结束日期 YYYY-MM-DD"), + limit: int = Query(500, ge=1, le=5000, description="返回条数"), +): + logger.info(f"[API-查询K线] 请求参数: symbol={symbol}, period={period}, start_date={start_date}, end_date={end_date}, limit={limit}") + items = kline_service.get_kline( + symbol=symbol, + period=period, + start_date=start_date, + end_date=end_date, + limit=limit, + ) + logger.info(f"[API-查询K线] 返回 {len(items)} 条记录") + return KlineResponse( + symbol=symbol, + period=period, + total=len(items), + items=[KlineItem(**item) for item in items], + ) + + +@app.post("/api/v1/kline/sync") +async def sync_kline(req: KlineRequest): + """从数据源同步K线数据""" + logger.info(f"[API-同步K线] 请求参数: symbol={req.symbol}, period={req.period}, start_date={req.start_date}, end_date={req.end_date}") + try: + start = req.start_date or "2020-01-01" + end = req.end_date or datetime.now().strftime("%Y-%m-%d") + logger.info(f"[API-同步K线] 使用日期范围: {start} ~ {end}") + + if req.period == "daily": + count = kline_service.sync_daily(req.symbol, start, end) + elif req.period == "weekly": + count = kline_service.sync_weekly(req.symbol, start, end) + else: + count = kline_service.sync_intraday(req.symbol, req.period, start, end) + + logger.info(f"[API-同步K线] 同步成功,共同步 {count} 条记录") + return {"code": 0, "message": "同步成功", "data": {"synced": count}} + except Exception as e: + logger.error(f"[API-同步K线] 同步失败: {e}", exc_info=True) + return {"code": 1, "message": f"同步失败: {str(e)}", "data": None} + + +# ========== 数据源管理接口 ========== +@app.get("/api/v1/datasources") +async def list_datasources(): + """获取所有数据源状态""" + sources = DataSourceManager.get_all_sources_status() + return {"code": 0, "data": sources} + + +@app.post("/api/v1/datasources") +async def create_datasource(req: DataSourceCreate): + """创建数据源配置""" + from app.database import SessionLocal + db = SessionLocal() + try: + existing = db.query(DataSourceConfig).filter( + DataSourceConfig.source_name == req.source_name + ).first() + if existing: + return {"code": 1, "message": "数据源已存在"} + + cfg = DataSourceConfig( + source_name=req.source_name, + display_name=req.display_name or req.source_name, + is_enabled=False, + config_json=req.config_json or {}, + priority=req.priority, + status="unknown", + ) + db.add(cfg) + db.commit() + return {"code": 0, "message": "创建成功", "data": {"id": cfg.id}} + except Exception as e: + db.rollback() + return {"code": 1, "message": f"创建失败: {str(e)}"} + finally: + db.close() + + +@app.put("/api/v1/datasources/{source_name}") +async def update_datasource(source_name: str, req: DataSourceConfigUpdate): + """更新数据源配置""" + from app.database import SessionLocal + db = SessionLocal() + try: + cfg = db.query(DataSourceConfig).filter( + DataSourceConfig.source_name == source_name + ).first() + if not cfg: + return {"code": 1, "message": "数据源不存在"} + + if req.is_enabled is not None: + cfg.is_enabled = req.is_enabled + if req.config_json is not None: + import json + cfg.config_json = json.dumps(req.config_json) + if req.priority is not None: + cfg.priority = req.priority + + db.commit() + + # 重新加载数据源 + DataSourceManager.load_enabled_sources() + + return {"code": 0, "message": "更新成功"} + except Exception as e: + db.rollback() + return {"code": 1, "message": f"更新失败: {str(e)}"} + finally: + db.close() + + +@app.post("/api/v1/datasources/{source_name}/test") +async def test_datasource(source_name: str): + """测试数据源连接""" + source = DataSourceManager.get_source(source_name) + if not source: + # 尝试创建临时实例测试 + from app.database import SessionLocal + import json + db = SessionLocal() + try: + cfg = db.query(DataSourceConfig).filter( + DataSourceConfig.source_name == source_name + ).first() + if not cfg: + return {"code": 1, "message": "数据源不存在"} + + config = json.loads(cfg.config_json) if cfg.config_json else {} + + # 动态获取数据源类 + source_class = DataSourceManager._source_map.get(source_name) + if not source_class: + return {"code": 1, "message": "不支持的数据源类型"} + + source = source_class(config) + finally: + db.close() + + ok, msg = source.health_check() + if ok: + # 更新状态 + from app.database import SessionLocal + db = SessionLocal() + try: + cfg = db.query(DataSourceConfig).filter( + DataSourceConfig.source_name == source_name + ).first() + if cfg: + cfg.status = "ok" + cfg.error_msg = None + db.commit() + finally: + db.close() + return {"code": 0, "message": "连接成功", "data": {"status": "ok"}} + else: + from app.database import SessionLocal + db = SessionLocal() + try: + cfg = db.query(DataSourceConfig).filter( + DataSourceConfig.source_name == source_name + ).first() + if cfg: + cfg.status = "error" + cfg.error_msg = msg + db.commit() + finally: + db.close() + return {"code": 1, "message": f"连接失败: {msg}", "data": {"status": "error"}} diff --git a/backend/app/models/__init__.py b/backend/app/models/__init__.py new file mode 100644 index 0000000..ea736d8 --- /dev/null +++ b/backend/app/models/__init__.py @@ -0,0 +1,113 @@ +from app.database import Base +from sqlalchemy import Column, Integer, String, Float, DateTime, BigInteger, Boolean, Text, Index +from datetime import datetime + + +class ContractInfo(Base): + """期货合约信息表""" + __tablename__ = "contract_info" + + id = Column(Integer, primary_key=True, autoincrement=True) + symbol = Column(String(20), unique=True, nullable=False, comment="合约代码,如 rb2401") + exchange = Column(String(10), nullable=False, comment="交易所代码: SHFE/DCE/CZCE/INE/CFFEX") + name = Column(String(50), comment="合约名称") + product = Column(String(20), comment="品种代码,如 rb") + multiplier = Column(Integer, default=10, comment="合约乘数") + price_tick = Column(Float, comment="最小变动价位") + limit_up_ratio = Column(Float, comment="涨停板比例") + limit_down_ratio = Column(Float, comment="跌停板比例") + expire_date = Column(DateTime, comment="到期日") + is_active = Column(Boolean, default=True, comment="是否活跃") + created_at = Column(DateTime, default=datetime.utcnow) + updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) + + __table_args__ = ( + Index("idx_contract_product", "product"), + Index("idx_contract_exchange", "exchange"), + ) + + +class KlineDaily(Base): + """日K线表""" + __tablename__ = "kline_daily" + + id = Column(Integer, primary_key=True, autoincrement=True) + symbol = Column(String(20), nullable=False) + trade_date = Column(DateTime, nullable=False) + open = Column(Float) + high = Column(Float) + low = Column(Float) + close = Column(Float) + volume = Column(BigInteger, comment="成交量") + turnover = Column(Float, comment="成交额") + open_interest = Column(BigInteger, comment="持仓量") + settle = Column(Float, comment="结算价") + pre_settle = Column(Float, comment="昨结算") + created_at = Column(DateTime, default=datetime.utcnow) + updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) + + __table_args__ = ( + Index("idx_kline_daily_symbol_date", "symbol", "trade_date", unique=True), + ) + + +class KlineWeekly(Base): + """周K线表""" + __tablename__ = "kline_weekly" + + id = Column(Integer, primary_key=True, autoincrement=True) + symbol = Column(String(20), nullable=False) + trade_date = Column(DateTime, nullable=False, comment="周最后一天") + open = Column(Float) + high = Column(Float) + low = Column(Float) + close = Column(Float) + volume = Column(BigInteger) + turnover = Column(Float) + open_interest = Column(BigInteger) + created_at = Column(DateTime, default=datetime.utcnow) + updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) + + __table_args__ = ( + Index("idx_kline_weekly_symbol_date", "symbol", "trade_date", unique=True), + ) + + +class KlineIntraday(Base): + """分钟级K线表(5m/15m/30m/60m共用,通过period区分)""" + __tablename__ = "kline_intraday" + + id = Column(Integer, primary_key=True, autoincrement=True) + symbol = Column(String(20), nullable=False) + period = Column(String(10), nullable=False, comment="周期: 5m/15m/30m/60m") + trade_time = Column(DateTime, nullable=False) + open = Column(Float) + high = Column(Float) + low = Column(Float) + close = Column(Float) + volume = Column(BigInteger) + turnover = Column(Float) + open_interest = Column(BigInteger) + created_at = Column(DateTime, default=datetime.utcnow) + updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) + + __table_args__ = ( + Index("idx_kline_intraday_symbol_period_time", "symbol", "period", "trade_time", unique=True), + ) + + +class DataSourceConfig(Base): + """数据源配置表""" + __tablename__ = "data_source_config" + + id = Column(Integer, primary_key=True, autoincrement=True) + source_name = Column(String(30), unique=True, nullable=False, comment="数据源名称: tushare/ctp") + display_name = Column(String(50), comment="显示名称") + is_enabled = Column(Boolean, default=False, comment="是否启用") + config_json = Column(Text, comment="JSON格式的配置信息") + priority = Column(Integer, default=0, comment="优先级,数字越小优先级越高") + last_sync_time = Column(DateTime, comment="最后同步时间") + status = Column(String(20), default="unknown", comment="状态: ok/error/unknown") + error_msg = Column(Text, comment="错误信息") + created_at = Column(DateTime, default=datetime.utcnow) + updated_at = Column(DateTime, default=datetime.utcnow, onupdate=datetime.utcnow) diff --git a/backend/app/schemas/__init__.py b/backend/app/schemas/__init__.py new file mode 100644 index 0000000..06bfb50 --- /dev/null +++ b/backend/app/schemas/__init__.py @@ -0,0 +1,102 @@ +from pydantic import BaseModel +from typing import Optional, List +from datetime import datetime + + +# ========== 合约相关 ========== +class ContractInfo(BaseModel): + id: int + symbol: str + exchange: str + name: Optional[str] = None + product: Optional[str] = None + multiplier: Optional[int] = None + price_tick: Optional[float] = None + is_active: Optional[bool] = None + + class Config: + from_attributes = True + + +class ContractListResponse(BaseModel): + total: int + items: List[ContractInfo] + + +# ========== K线相关 ========== +class KlineItem(BaseModel): + trade_time: datetime + open: Optional[float] = None + high: Optional[float] = None + low: Optional[float] = None + close: Optional[float] = None + volume: Optional[int] = None + turnover: Optional[float] = None + open_interest: Optional[int] = None + + class Config: + from_attributes = True + + +class KlineRequest(BaseModel): + symbol: str + period: str = "daily" # daily/weekly/5m/15m/30m/60m + start_date: Optional[str] = None # YYYY-MM-DD or YYYY-MM-DD HH:MM:SS + end_date: Optional[str] = None + limit: int = 500 # 默认返回最近500条 + + +class KlineResponse(BaseModel): + symbol: str + period: str + total: int + items: List[KlineItem] + + +# ========== 数据源相关 ========== +class DataSourceConfigItem(BaseModel): + id: int + source_name: str + display_name: Optional[str] = None + is_enabled: bool + priority: int + status: str + error_msg: Optional[str] = None + last_sync_time: Optional[datetime] = None + + class Config: + from_attributes = True + + +class DataSourceConfigUpdate(BaseModel): + is_enabled: Optional[bool] = None + config_json: Optional[dict] = None + priority: Optional[int] = None + + +class DataSourceCreate(BaseModel): + source_name: str + display_name: Optional[str] = None + config_json: Optional[dict] = None + priority: int = 0 + + +class DataSourceStatus(BaseModel): + source_name: str + is_enabled: bool + status: str + error_msg: Optional[str] = None + last_sync_time: Optional[datetime] = None + + +# ========== 通用 ========== +class ApiResponse(BaseModel): + code: int = 0 + message: str = "ok" + data: Optional[dict] = None + + +class HealthResponse(BaseModel): + status: str + services: dict + version: str diff --git a/backend/app/services/__init__.py b/backend/app/services/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/app/services/contract_service.py b/backend/app/services/contract_service.py new file mode 100644 index 0000000..cf02a7d --- /dev/null +++ b/backend/app/services/contract_service.py @@ -0,0 +1,110 @@ +from typing import List, Optional +from sqlalchemy.orm import Session +from app.models import ContractInfo +from app.services.datasource.manager import DataSourceManager +from app.database import SessionLocal + + +class ContractService: + """合约信息服务""" + + def __init__(self): + self.manager = DataSourceManager() + + def sync_contracts(self) -> int: + """从数据源同步合约列表到数据库""" + source = self.manager.get_primary_source() + if not source: + raise Exception("没有可用的数据源") + + # Tushare 需要遍历所有交易所 + exchanges = ["CFFEX", "SHFE", "DCE", "CZCE", "INE", "GFEX"] + all_contracts = [] + + for ex in exchanges: + try: + contracts = source.get_contract_list(exchange=ex) + all_contracts.extend(contracts) + except Exception: + continue # 某个交易所失败不影响其他 + + # 去重:基于 symbol + seen_symbols = set() + unique_contracts = [] + for c in all_contracts: + if c["symbol"] not in seen_symbols: + seen_symbols.add(c["symbol"]) + unique_contracts.append(c) + all_contracts = unique_contracts + + db = SessionLocal() + count = 0 + try: + for c in all_contracts: + contract = db.query(ContractInfo).filter( + ContractInfo.symbol == c["symbol"] + ).first() + + if contract: + contract.exchange = c["exchange"] + contract.name = c["name"] + contract.product = c["product"] + contract.multiplier = c["multiplier"] + contract.price_tick = c["price_tick"] + contract.expire_date = c["expire_date"] + contract.is_active = c["is_active"] + else: + contract = ContractInfo( + symbol=c["symbol"], + exchange=c["exchange"], + name=c["name"], + product=c["product"], + multiplier=c["multiplier"], + price_tick=c["price_tick"], + expire_date=c["expire_date"], + is_active=c["is_active"], + ) + db.add(contract) + count += 1 + + db.commit() + except Exception: + db.rollback() + raise + finally: + db.close() + + return count + + def get_contracts( + self, + exchange: Optional[str] = None, + product: Optional[str] = None, + is_active: Optional[bool] = None + ) -> List[ContractInfo]: + """查询合约列表""" + db = SessionLocal() + try: + query = db.query(ContractInfo) + if exchange: + query = query.filter(ContractInfo.exchange == exchange) + if product: + query = query.filter(ContractInfo.product == product) + if is_active is not None: + query = query.filter(ContractInfo.is_active == is_active) + + query = query.order_by(ContractInfo.symbol) + return query.all() + finally: + db.close() + + def get_contract(self, symbol: str) -> Optional[ContractInfo]: + """查询单个合约""" + db = SessionLocal() + try: + return db.query(ContractInfo).filter(ContractInfo.symbol == symbol).first() + finally: + db.close() + + +contract_service = ContractService() diff --git a/backend/app/services/datasource/__init__.py b/backend/app/services/datasource/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/backend/app/services/datasource/akshare.py b/backend/app/services/datasource/akshare.py new file mode 100644 index 0000000..b754590 --- /dev/null +++ b/backend/app/services/datasource/akshare.py @@ -0,0 +1,318 @@ +import akshare as ak +import pandas as pd +import random +import time +import logging +import requests +from typing import List, Optional, Dict +from datetime import datetime +from app.services.datasource.base import DataSourceBase + +logger = logging.getLogger(__name__) + + +class SmartRequester: + """ + 反爬综合管理器:集成 Headers 伪装、拟人化延时、重试机制 + (IP 代理部分暂按文档要求空缺,后续扩展) + """ + + def __init__(self, max_retries: int = 3): + self.max_retries = max_retries + self.session = requests.Session() + + # User-Agent 池 + self.user_agents = [ + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36", + "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/114.0.0.0 Safari/537.36", + "Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:109.0) Gecko/20100101 Firefox/115.0", + "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/113.0.0.0 Safari/537.36 Edg/113.0.1774.42", + ] + + def get_random_headers(self, referer: str = "https://finance.sina.com.cn/") -> Dict[str, str]: + """生成随机请求头,模拟真实浏览器""" + return { + "User-Agent": random.choice(self.user_agents), + "Referer": referer, + "Accept": "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8", + "Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8", + "Accept-Encoding": "gzip, deflate, br", + "Connection": "keep-alive", + "Upgrade-Insecure-Requests": "1", + } + + def request(self, url, referer="https://finance.sina.com.cn/", method="GET", **kwargs) -> Optional[requests.Response]: + """执行智能请求""" + last_error = None + + for attempt in range(self.max_retries): + try: + # 1. 拟人化延时 + if attempt == 0: + time.sleep(random.uniform(0.5, 1.5)) + else: + delay = (2 ** attempt) + random.uniform(1, 3) + logging.warning(f"第 {attempt+1} 次重试,等待 {delay:.1f} 秒...") + time.sleep(delay) + + # 2. 轮换 Headers + headers = kwargs.pop("headers", {}) + random_headers = self.get_random_headers(referer=referer) + headers.update(random_headers) + kwargs["headers"] = headers + + # 3. 发送请求 + logging.debug(f"请求: {method} {url}") + response = self.session.request(method, url, timeout=10, **kwargs) + + # 4. 检查状态 + if response.status_code == 200: + logging.info("✅ 请求成功") + return response + elif response.status_code == 403: + logging.warning("⚠️ 收到 403 Forbidden,将尝试重试") + raise requests.exceptions.HTTPError("403 Forbidden") + else: + response.raise_for_status() + + except Exception as e: + last_error = e + logging.warning(f"❌ 请求失败: {str(e)}") + + logging.error(f"🚫 所有 {self.max_retries} 次尝试均失败") + return None + + +class AkshareSource(DataSourceBase): + """AKShare 数据源适配器""" + + def __init__(self, config: dict): + super().__init__(config) + self.name = "akshare" + self.requester = SmartRequester(max_retries=config.get("max_retries", 3)) + + def initialize(self) -> bool: + """初始化检查""" + try: + ak.__version__ + self._initialized = True + return True + except Exception as e: + self._initialized = False + logging.error(f"AkshareSource 初始化失败: {e}") + return False + + def get_contract_list(self, exchange: Optional[str] = None) -> List[dict]: + """获取期货合约列表""" + if not self._initialized: + self.initialize() + + results = [] + try: + exchanges_to_fetch = ["CZCE", "DCE", "SHFE", "INE", "CFFEX", "GFEX"] + if exchange: + exchanges_to_fetch = [exchange] + + for ex in exchanges_to_fetch: + try: + func_name = f"futures_contract_info_{ex.lower()}" + if hasattr(ak, func_name): + df = getattr(ak, func_name)() + else: + continue + + if df is not None and not df.empty: + # 统一列名映射 + col_map = {} + if '合约代码' in df.columns: + col_map['合约代码'] = 'symbol' + if '产品代码' in df.columns: + col_map['产品代码'] = 'product' + if '品种' in df.columns: + col_map['品种'] = 'product' + if '交易单位' in df.columns: + col_map['交易单位'] = 'multiplier' + if '最小变动价位' in df.columns: + col_map['最小变动价位'] = 'price_tick' + if '上市日' in df.columns: + col_map['上市日'] = 'list_date' + if '到期日' in df.columns: + col_map['到期日'] = 'expire_date' + + df = df.rename(columns=col_map) + + for _, row in df.iterrows(): + symbol = row.get("symbol") + if not symbol: + continue + + # 提取品种代码 (通常 symbol 最后两位是年月,前面是品种,如 rb2401 -> rb) + product = row.get("product", "") + if not product and len(symbol) > 2: + # 简单提取字母部分 + import re + match = re.match(r"([a-zA-Z]+)", symbol) + if match: + product = match.group(1).lower() + + multiplier = row.get("multiplier") + if multiplier: + try: + multiplier = int(float(str(multiplier).replace(',', ''))) + except: + multiplier = 10 + else: + multiplier = 10 # 默认值 + + price_tick = row.get("price_tick") + if price_tick: + try: + price_tick = float(str(price_tick).replace(',', '')) + except: + price_tick = None + + results.append({ + "symbol": symbol, + "exchange": ex, + "name": symbol, # AKShare 通常不返回中文名称,用代码代替 + "product": product, + "multiplier": multiplier, + "price_tick": price_tick, + "expire_date": self._parse_date(row.get("expire_date")), + "is_active": True, + }) + except Exception as e: + logging.warning(f"获取 {ex} 合约列表失败: {e}") + continue + + except Exception as e: + logging.error(f"获取合约列表异常: {e}") + + return results + + def _parse_date(self, date_str) -> Optional[datetime]: + """解析日期""" + if not date_str: + return None + try: + if isinstance(date_str, str): + return datetime.strptime(date_str, "%Y-%m-%d") + elif isinstance(date_str, pd.Timestamp): + return date_str.to_pydatetime() + return None + except: + return None + + def get_kline_daily(self, symbol: str, start_date: str, end_date: str) -> pd.DataFrame: + """获取日 K 线数据""" + logger.info(f"[AKShare-日K线] 开始获取 symbol={symbol}, start_date={start_date}, end_date={end_date}") + + if not self._initialized: + logger.info(f"[AKShare-日K线] 初始化 AKShare") + self.initialize() + + try: + # AKShare 期货日 K 线接口:futures_zh_daily_sina + logger.info(f"[AKShare-日K线] 调用 ak.futures_zh_daily_sina(symbol='{symbol}')") + df = ak.futures_zh_daily_sina(symbol=symbol) + + if df is None or df.empty: + logger.warning(f"[AKShare-日K线] AKShare 返回空数据,symbol={symbol}") + return pd.DataFrame() + + logger.info(f"[AKShare-日K线] AKShare 返回 {len(df)} 条原始数据") + logger.debug(f"[AKShare-日K线] 原始数据列: {df.columns.tolist()}") + logger.debug(f"[AKShare-日K线] 原始数据样例:\n{df.head()}") + + # 过滤日期范围 + df['date'] = pd.to_datetime(df['date']) + logger.debug(f"[AKShare-日K线] 日期范围: {df['date'].min()} ~ {df['date'].max()}") + + mask = (df['date'] >= start_date) & (df['date'] <= end_date) + df_filtered = df.loc[mask].copy() + logger.info(f"[AKShare-日K线] 日期过滤后剩余 {len(df_filtered)} 条记录") + + # 统一列名 + df_filtered = df_filtered.rename(columns={ + "date": "trade_date", + "open": "open", + "high": "high", + "low": "low", + "close": "close", + "volume": "volume", + "hold": "open_interest", + "settle": "settle", + }) + + # AKShare 日线通常没有 turnover 和 pre_settle,置空 + df_filtered["turnover"] = None + df_filtered["pre_settle"] = None + + df_filtered["trade_date"] = pd.to_datetime(df_filtered["trade_date"]) + logger.info(f"[AKShare-日K线] 最终返回 {len(df_filtered)} 条记录") + + return df_filtered[["trade_date", "open", "high", "low", "close", "volume", "turnover", "open_interest", "settle", "pre_settle"]] + + except Exception as e: + logger.error(f"[AKShare-日K线] 获取 {symbol} 日 K 线失败: {e}", exc_info=True) + return pd.DataFrame() + + def get_kline_weekly(self, symbol: str, start_date: str, end_date: str) -> pd.DataFrame: + """获取周 K 线数据 (通过日 K 聚合)""" + daily_df = self.get_kline_daily(symbol, start_date, end_date) + if daily_df.empty: + return pd.DataFrame() + + daily_df = daily_df.set_index("trade_date") + weekly = daily_df.resample("W-FRI").agg({ + "open": "first", + "high": "max", + "low": "min", + "close": "last", + "volume": "sum", + "turnover": "sum", + "open_interest": "last", + }).dropna() + + weekly = weekly.reset_index() + weekly = weekly.rename(columns={"trade_date": "trade_date"}) + return weekly + + def get_kline_intraday(self, symbol: str, period: str, start_date: str, end_date: str) -> pd.DataFrame: + """获取分钟级 K 线数据""" + if not self._initialized: + self.initialize() + + try: + # AKShare 期货分钟 K 线接口:futures_zh_minute_sina + period_map = {"5m": "5", "15m": "15", "30m": "30", "60m": "60"} + freq = period_map.get(period, "5") + + df = ak.futures_zh_minute_sina(symbol=symbol, period=freq) + + if df is None or df.empty: + return pd.DataFrame() + + # 过滤日期 + df['datetime'] = pd.to_datetime(df['datetime']) + mask = (df['datetime'] >= start_date) & (df['datetime'] <= end_date) + df = df.loc[mask].copy() + + # 统一列名 + df = df.rename(columns={ + "datetime": "trade_time", + "open": "open", + "high": "high", + "low": "low", + "close": "close", + "volume": "volume", + "hold": "open_interest", + }) + + df["turnover"] = None + + return df[["trade_time", "open", "high", "low", "close", "volume", "turnover", "open_interest"]] + + except Exception as e: + logging.error(f"获取 {symbol} 分钟 K 线失败: {e}") + return pd.DataFrame() diff --git a/backend/app/services/datasource/base.py b/backend/app/services/datasource/base.py new file mode 100644 index 0000000..b90ef26 --- /dev/null +++ b/backend/app/services/datasource/base.py @@ -0,0 +1,76 @@ +from abc import ABC, abstractmethod +from typing import List, Optional +from datetime import datetime +import pandas as pd + + +class DataSourceBase(ABC): + """数据源基类,所有数据源适配器必须实现这些接口""" + + def __init__(self, config: dict): + self.config = config + self.name = self.__class__.__name__ + self._initialized = False + + @abstractmethod + def initialize(self) -> bool: + """初始化数据源连接,返回是否成功""" + pass + + @abstractmethod + def get_contract_list(self, exchange: Optional[str] = None) -> List[dict]: + """ + 获取合约列表 + 返回: [{"symbol": "rb2401", "exchange": "SHFE", "name": "螺纹钢2401", ...}] + """ + pass + + @abstractmethod + def get_kline_daily( + self, + symbol: str, + start_date: str, + end_date: str + ) -> pd.DataFrame: + """ + 获取日K线数据 + 返回 DataFrame 包含: trade_date, open, high, low, close, volume, turnover, open_interest, settle, pre_settle + """ + pass + + @abstractmethod + def get_kline_weekly( + self, + symbol: str, + start_date: str, + end_date: str + ) -> pd.DataFrame: + """ + 获取周K线数据 + 返回 DataFrame 包含: trade_date, open, high, low, close, volume, turnover, open_interest + """ + pass + + @abstractmethod + def get_kline_intraday( + self, + symbol: str, + period: str, # 5m/15m/30m/60m + start_date: str, + end_date: str + ) -> pd.DataFrame: + """ + 获取分钟级K线数据 + 返回 DataFrame 包含: trade_time, open, high, low, close, volume, turnover, open_interest + """ + pass + + def health_check(self) -> tuple[bool, str]: + """健康检查,返回 (是否健康, 错误信息)""" + try: + ok = self.initialize() + if ok: + return True, "" + return False, "初始化失败" + except Exception as e: + return False, str(e) diff --git a/backend/app/services/datasource/manager.py b/backend/app/services/datasource/manager.py new file mode 100644 index 0000000..893f4fd --- /dev/null +++ b/backend/app/services/datasource/manager.py @@ -0,0 +1,97 @@ +from typing import Dict, Optional, List +import json +from app.services.datasource.base import DataSourceBase +from app.services.datasource.tushare import TushareSource +from app.services.datasource.akshare import AkshareSource +from app.database import SessionLocal +from app.models import DataSourceConfig + + +class DataSourceManager: + """数据源管理器:管理多个数据源的注册、切换和调用""" + + _sources: Dict[str, DataSourceBase] = {} + _source_map = { + "tushare": TushareSource, + "akshare": AkshareSource, + # "ctp": CtpSource, # 后续扩展 + } + + @classmethod + def register(cls, name: str, source_class): + """注册新的数据源类型""" + cls._source_map[name] = source_class + + @classmethod + def get_source(cls, name: str) -> Optional[DataSourceBase]: + """获取已初始化的数据源实例""" + return cls._sources.get(name) + + @classmethod + def load_enabled_sources(cls): + """从数据库加载启用的数据源""" + db = SessionLocal() + try: + configs = db.query(DataSourceConfig).filter( + DataSourceConfig.is_enabled == True + ).order_by(DataSourceConfig.priority).all() + + for cfg in configs: + if cfg.source_name in cls._source_map: + source_class = cls._source_map[cfg.source_name] + try: + config = json.loads(cfg.config_json) if cfg.config_json else {} + except json.JSONDecodeError: + config = {} + source = source_class(config) + cls._sources[cfg.source_name] = source + finally: + db.close() + + @classmethod + def get_primary_source(cls) -> Optional[DataSourceBase]: + """获取优先级最高的已启用数据源""" + if not cls._sources: + cls.load_enabled_sources() + + # 按优先级排序 + db = SessionLocal() + try: + primary_cfg = db.query(DataSourceConfig).filter( + DataSourceConfig.is_enabled == True + ).order_by(DataSourceConfig.priority).first() + + if primary_cfg and primary_cfg.source_name in cls._sources: + return cls._sources[primary_cfg.source_name] + return None + finally: + db.close() + + @classmethod + def get_all_sources_status(cls) -> List[dict]: + """获取所有数据源状态""" + db = SessionLocal() + try: + configs = db.query(DataSourceConfig).all() + result = [] + for cfg in configs: + # 解析 config_json + try: + config_json = json.loads(cfg.config_json) if cfg.config_json else {} + except json.JSONDecodeError: + config_json = {} + + status = { + "source_name": cfg.source_name, + "display_name": cfg.display_name, + "is_enabled": cfg.is_enabled, + "priority": cfg.priority, + "status": cfg.status, + "error_msg": cfg.error_msg, + "last_sync_time": cfg.last_sync_time, + "config_json": config_json, + } + result.append(status) + return result + finally: + db.close() diff --git a/backend/app/services/datasource/tushare.py b/backend/app/services/datasource/tushare.py new file mode 100644 index 0000000..364cd2c --- /dev/null +++ b/backend/app/services/datasource/tushare.py @@ -0,0 +1,201 @@ +import tushare as ts +import pandas as pd +from typing import List, Optional +from datetime import datetime +from app.services.datasource.base import DataSourceBase +from app.config import settings + + +class TushareSource(DataSourceBase): + """Tushare 数据源适配器""" + + def __init__(self, config: dict): + super().__init__(config) + self.name = "tushare" + self.pro = None + self._token = config.get("token", settings.TUSHARE_TOKEN) + + def initialize(self) -> bool: + """初始化 Tushare 连接""" + try: + ts.set_token(self._token) + self.pro = ts.pro_api() + # 简单测试连接 + self.pro.trade_cal(exchange="DCE", start_date="20240101", end_date="20240105") + self._initialized = True + return True + except Exception as e: + self._initialized = False + raise e + + def _format_date(self, date_str: str) -> str: + """将 YYYY-MM-DD 转换为 YYYYMMDD""" + return date_str.replace("-", "") + + def get_contract_list(self, exchange: Optional[str] = None) -> List[dict]: + """获取期货合约列表""" + if not self._initialized: + self.initialize() + + # Tushare 获取合约信息 + df = self.pro.fut_basic( + exchange=exchange or "CFFEX", # 需要分别查询每个交易所 + fut_type="1", # 1=标准合约 + fut_series="" + ) + + results = [] + if df is not None and not df.empty: + for _, row in df.iterrows(): + results.append({ + "symbol": row.get("symbol", ""), + "exchange": self._map_exchange(row.get("exchange", "")), + "name": row.get("name", ""), + "product": row.get("underlying_symbol", ""), + "multiplier": int(row.get("contract_multiplier", 10)) if row.get("contract_multiplier") else 10, + "price_tick": float(row.get("price_tick", 0)) if row.get("price_tick") else None, + "expire_date": self._parse_date(row.get("delist_date", "")), + "is_active": row.get("list_status", "") == "L", + }) + + return results + + def _map_exchange(self, exchange: str) -> str: + """交易所代码映射""" + mapping = { + "CFFEX": "CFFEX", + "SHFE": "SHFE", + "DCE": "DCE", + "CZCE": "ZCE", # Tushare 用 CZCE,我们统一用 ZCE + "INE": "INE", + "GFEX": "GFEX", + } + return mapping.get(exchange, exchange) + + def _parse_date(self, date_str: str) -> Optional[datetime]: + """解析日期字符串""" + if not date_str: + return None + try: + return datetime.strptime(str(date_str), "%Y%m%d") + except Exception: + return None + + def get_kline_daily( + self, + symbol: str, + start_date: str, + end_date: str + ) -> pd.DataFrame: + """获取日K线数据""" + if not self._initialized: + self.initialize() + + start = self._format_date(start_date) + end = self._format_date(end_date) + + df = self.pro.fut_daily( + ts_code=symbol, + start_date=start, + end_date=end + ) + + if df is None or df.empty: + return pd.DataFrame() + + # 统一列名 + df = df.rename(columns={ + "trade_date": "trade_date", + "open": "open", + "high": "high", + "low": "low", + "close": "close", + "vol": "volume", + "amount": "turnover", + "oi": "open_interest", + "settle": "settle", + "pre_settle": "pre_settle", + }) + + df["trade_date"] = pd.to_datetime(df["trade_date"]) + return df[["trade_date", "open", "high", "low", "close", "volume", "turnover", "open_interest", "settle", "pre_settle"]] + + def get_kline_weekly( + self, + symbol: str, + start_date: str, + end_date: str + ) -> pd.DataFrame: + """ + 获取周K线数据 + Tushare 没有直接的周K接口,通过日K聚合 + """ + daily_df = self.get_kline_daily(symbol, start_date, end_date) + if daily_df.empty: + return pd.DataFrame() + + # 按周聚合 + daily_df = daily_df.set_index("trade_date") + weekly = daily_df.resample("W-FRI").agg({ + "open": "first", + "high": "max", + "low": "min", + "close": "last", + "volume": "sum", + "turnover": "sum", + "open_interest": "last", + }).dropna() + + weekly = weekly.reset_index() + weekly = weekly.rename(columns={"trade_date": "trade_date"}) + return weekly + + def get_kline_intraday( + self, + symbol: str, + period: str, + start_date: str, + end_date: str + ) -> pd.DataFrame: + """ + 获取分钟级K线数据 + Tushare 的 fut_mins 接口 + """ + if not self._initialized: + self.initialize() + + # Tushare fut_mins 接口 + start = self._format_date(start_date) + end = self._format_date(end_date) + + # 分钟数映射 + freq_map = {"5m": "5", "15m": "15", "30m": "30", "60m": "60"} + freq = freq_map.get(period, "5") + + try: + df = self.pro.fut_mins( + ts_code=symbol, + freq=freq, + start_date=start, + end_date=end + ) + except Exception: + # 部分交易所可能不支持分钟数据 + return pd.DataFrame() + + if df is None or df.empty: + return pd.DataFrame() + + df = df.rename(columns={ + "trade_time": "trade_time", + "open": "open", + "high": "high", + "low": "low", + "close": "close", + "vol": "volume", + "amount": "turnover", + "oi": "open_interest", + }) + + df["trade_time"] = pd.to_datetime(df["trade_time"]) + return df[["trade_time", "open", "high", "low", "close", "volume", "turnover", "open_interest"]] diff --git a/backend/app/services/kline_service.py b/backend/app/services/kline_service.py new file mode 100644 index 0000000..8b1c585 --- /dev/null +++ b/backend/app/services/kline_service.py @@ -0,0 +1,346 @@ +from typing import List, Optional +from datetime import datetime, timedelta +from sqlalchemy.orm import Session +from sqlalchemy import and_ +import pandas as pd +import logging + +from app.models import KlineDaily, KlineWeekly, KlineIntraday, ContractInfo +from app.services.datasource.manager import DataSourceManager +from app.database import SessionLocal + +logger = logging.getLogger(__name__) + + +class KlineService: + """K线数据服务:负责从数据源拉取数据、存储到数据库、查询缓存""" + + def __init__(self): + self.manager = DataSourceManager() + + def _ensure_source(self): + """确保数据源已加载""" + source = self.manager.get_primary_source() + if not source: + raise Exception("没有可用的数据源,请先在管理后台配置并启用数据源") + return source + + # ========== 同步数据 ========== + + def sync_daily( + self, + symbol: str, + start_date: str, + end_date: str + ) -> int: + """同步日K线数据到数据库""" + logger.info(f"[同步日K线] 开始同步 symbol={symbol}, start_date={start_date}, end_date={end_date}") + source = self._ensure_source() + logger.info(f"[同步日K线] 使用数据源: {source.name}") + + df = source.get_kline_daily(symbol, start_date, end_date) + logger.info(f"[同步日K线] 从数据源获取到 {len(df)} 条记录") + + if df.empty: + logger.warning(f"[同步日K线] 数据源返回空数据,symbol={symbol}") + return 0 + + db = SessionLocal() + count = 0 + try: + for _, row in df.iterrows(): + kline = db.query(KlineDaily).filter( + and_( + KlineDaily.symbol == symbol, + KlineDaily.trade_date == row["trade_date"] + ) + ).first() + + if kline: + kline.open = row.get("open") + kline.high = row.get("high") + kline.low = row.get("low") + kline.close = row.get("close") + kline.volume = row.get("volume") + kline.turnover = row.get("turnover") + kline.open_interest = row.get("open_interest") + kline.settle = row.get("settle") + kline.pre_settle = row.get("pre_settle") + kline.updated_at = datetime.utcnow() + else: + kline = KlineDaily( + symbol=symbol, + trade_date=row["trade_date"], + open=row.get("open"), + high=row.get("high"), + low=row.get("low"), + close=row.get("close"), + volume=row.get("volume"), + turnover=row.get("turnover"), + open_interest=row.get("open_interest"), + settle=row.get("settle"), + pre_settle=row.get("pre_settle"), + ) + db.add(kline) + count += 1 + + db.commit() + logger.info(f"[同步日K线] 成功同步 {count} 条记录到数据库") + except Exception as e: + db.rollback() + logger.error(f"[同步日K线] 同步失败: {e}", exc_info=True) + raise + finally: + db.close() + + return count + + def sync_weekly( + self, + symbol: str, + start_date: str, + end_date: str + ) -> int: + """同步周K线数据""" + source = self._ensure_source() + df = source.get_kline_weekly(symbol, start_date, end_date) + if df.empty: + return 0 + + db = SessionLocal() + count = 0 + try: + for _, row in df.iterrows(): + kline = db.query(KlineWeekly).filter( + and_( + KlineWeekly.symbol == symbol, + KlineWeekly.trade_date == row["trade_date"] + ) + ).first() + + if kline: + kline.open = row.get("open") + kline.high = row.get("high") + kline.low = row.get("low") + kline.close = row.get("close") + kline.volume = row.get("volume") + kline.turnover = row.get("turnover") + kline.open_interest = row.get("open_interest") + kline.updated_at = datetime.utcnow() + else: + kline = KlineWeekly( + symbol=symbol, + trade_date=row["trade_date"], + open=row.get("open"), + high=row.get("high"), + low=row.get("low"), + close=row.get("close"), + volume=row.get("volume"), + turnover=row.get("turnover"), + open_interest=row.get("open_interest"), + ) + db.add(kline) + count += 1 + + db.commit() + except Exception: + db.rollback() + raise + finally: + db.close() + + return count + + def sync_intraday( + self, + symbol: str, + period: str, + start_date: str, + end_date: str + ) -> int: + """同步分钟级K线数据""" + source = self._ensure_source() + df = source.get_kline_intraday(symbol, period, start_date, end_date) + if df.empty: + return 0 + + db = SessionLocal() + count = 0 + try: + for _, row in df.iterrows(): + kline = db.query(KlineIntraday).filter( + and_( + KlineIntraday.symbol == symbol, + KlineIntraday.period == period, + KlineIntraday.trade_time == row["trade_time"] + ) + ).first() + + if kline: + kline.open = row.get("open") + kline.high = row.get("high") + kline.low = row.get("low") + kline.close = row.get("close") + kline.volume = row.get("volume") + kline.turnover = row.get("turnover") + kline.open_interest = row.get("open_interest") + kline.updated_at = datetime.utcnow() + else: + kline = KlineIntraday( + symbol=symbol, + period=period, + trade_time=row["trade_time"], + open=row.get("open"), + high=row.get("high"), + low=row.get("low"), + close=row.get("close"), + volume=row.get("volume"), + turnover=row.get("turnover"), + open_interest=row.get("open_interest"), + ) + db.add(kline) + count += 1 + + db.commit() + except Exception: + db.rollback() + raise + finally: + db.close() + + return count + + # ========== 查询数据 ========== + + def get_kline( + self, + symbol: str, + period: str, + start_date: Optional[str] = None, + end_date: Optional[str] = None, + limit: int = 500 + ) -> List[dict]: + """查询K线数据(优先查库,如果数据库没有数据则自动同步)""" + logger.info(f"[查询K线] 开始查询 symbol={symbol}, period={period}, start_date={start_date}, end_date={end_date}, limit={limit}") + db = SessionLocal() + try: + if period == "daily": + items = self._query_daily(db, symbol, start_date, end_date, limit) + elif period == "weekly": + items = self._query_weekly(db, symbol, start_date, end_date, limit) + else: + items = self._query_intraday(db, symbol, period, start_date, end_date, limit) + + # 如果数据库中没有数据,自动同步 + if len(items) == 0: + logger.info(f"[查询K线] 数据库中没有 {symbol} 的 {period} K线数据,开始自动同步") + try: + sync_start = start_date or "2020-01-01" + sync_end = end_date or datetime.now().strftime("%Y-%m-%d") + logger.info(f"[查询K线] 自动同步日期范围: {sync_start} ~ {sync_end}") + + if period == "daily": + count = self.sync_daily(symbol, sync_start, sync_end) + elif period == "weekly": + count = self.sync_weekly(symbol, sync_start, sync_end) + else: + count = self.sync_intraday(symbol, period, sync_start, sync_end) + + if count > 0: + logger.info(f"[查询K线] 自动同步成功,共同步 {count} 条记录,重新查询数据库") + # 重新查询数据库获取同步后的数据 + if period == "daily": + items = self._query_daily(db, symbol, start_date, end_date, limit) + elif period == "weekly": + items = self._query_weekly(db, symbol, start_date, end_date, limit) + else: + items = self._query_intraday(db, symbol, period, start_date, end_date, limit) + else: + logger.warning(f"[查询K线] 自动同步完成,但数据源返回空数据") + except Exception as e: + logger.error(f"[查询K线] 自动同步失败: {e}", exc_info=True) + # 同步失败不影响查询,继续返回空结果 + + return items + finally: + db.close() + + def _query_daily(self, db: Session, symbol: str, start_date: str, end_date: str, limit: int) -> List[dict]: + logger.info(f"[查询日K线] symbol={symbol}, start_date={start_date}, end_date={end_date}, limit={limit}") + query = db.query(KlineDaily).filter(KlineDaily.symbol == symbol) + if start_date: + query = query.filter(KlineDaily.trade_date >= start_date) + if end_date: + query = query.filter(KlineDaily.trade_date <= end_date) + query = query.order_by(KlineDaily.trade_date.desc()).limit(limit) + + items = query.all() + logger.info(f"[查询日K线] 从数据库查询到 {len(items)} 条记录") + + return [ + { + "trade_time": item.trade_date, + "open": item.open, + "high": item.high, + "low": item.low, + "close": item.close, + "volume": item.volume, + "turnover": item.turnover, + "open_interest": item.open_interest, + } + for item in items + ] + + def _query_weekly(self, db: Session, symbol: str, start_date: str, end_date: str, limit: int) -> List[dict]: + query = db.query(KlineWeekly).filter(KlineWeekly.symbol == symbol) + if start_date: + query = query.filter(KlineWeekly.trade_date >= start_date) + if end_date: + query = query.filter(KlineWeekly.trade_date <= end_date) + query = query.order_by(KlineWeekly.trade_date.desc()).limit(limit) + + items = query.all() + return [ + { + "trade_time": item.trade_date, + "open": item.open, + "high": item.high, + "low": item.low, + "close": item.close, + "volume": item.volume, + "turnover": item.turnover, + "open_interest": item.open_interest, + } + for item in items + ] + + def _query_intraday(self, db: Session, symbol: str, period: str, start_date: str, end_date: str, limit: int) -> List[dict]: + query = db.query(KlineIntraday).filter( + and_( + KlineIntraday.symbol == symbol, + KlineIntraday.period == period + ) + ) + if start_date: + query = query.filter(KlineIntraday.trade_time >= start_date) + if end_date: + query = query.filter(KlineIntraday.trade_time <= end_date) + query = query.order_by(KlineIntraday.trade_time.desc()).limit(limit) + + items = query.all() + return [ + { + "trade_time": item.trade_time, + "open": item.open, + "high": item.high, + "low": item.low, + "close": item.close, + "volume": item.volume, + "turnover": item.turnover, + "open_interest": item.open_interest, + } + for item in items + ] + + +kline_service = KlineService() diff --git a/backend/requirements.txt b/backend/requirements.txt new file mode 100644 index 0000000..5260482 --- /dev/null +++ b/backend/requirements.txt @@ -0,0 +1,14 @@ +fastapi==0.115.6 +uvicorn[standard]==0.34.0 +sqlalchemy==2.0.36 +psycopg2-binary==2.9.10 +alembic==1.14.0 +pydantic==2.10.3 +pydantic-settings==2.7.0 +tushare==1.4.21 +akshare +redis==5.2.1 +httpx==0.28.1 +python-dotenv==1.0.1 +pandas==2.2.3 +apscheduler==3.10.4 diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 0000000..259987d --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,66 @@ +version: '3.8' + +services: + postgres: + image: timescale/timescaledb:latest-pg16 + environment: + POSTGRES_DB: futures_data + POSTGRES_USER: futures + POSTGRES_PASSWORD: futures123 + ports: + - "5432:5432" + volumes: + - pg_data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U futures -d futures_data"] + interval: 5s + timeout: 5s + retries: 5 + + redis: + image: redis:7-alpine + ports: + - "6379:6379" + healthcheck: + test: ["CMD", "redis-cli", "ping"] + interval: 5s + timeout: 3s + retries: 5 + + backend: + build: + context: ./backend + dockerfile: ../Dockerfile.backend + ports: + - "8000:8000" + environment: + DB_HOST: postgres + DB_PORT: 5432 + DB_NAME: futures_data + DB_USER: futures + DB_PASSWORD: futures123 + REDIS_HOST: redis + REDIS_PORT: 6379 + TUSHARE_TOKEN: ${TUSHARE_TOKEN:-} + volumes: + - ./backend/app:/app/app + depends_on: + postgres: + condition: service_healthy + redis: + condition: service_healthy + + frontend: + build: + context: ./frontend + dockerfile: ../Dockerfile.frontend + ports: + - "3000:3000" + volumes: + - ./frontend:/app + - /app/node_modules + depends_on: + - backend + +volumes: + pg_data: diff --git a/docs/PROJECT_GUIDE.md b/docs/PROJECT_GUIDE.md new file mode 100644 index 0000000..7b2b8c9 --- /dev/null +++ b/docs/PROJECT_GUIDE.md @@ -0,0 +1,202 @@ +# 期货统一数据平台 - 项目文档 + +> **版本**: 0.1.0 +> **状态**: 开发中 (Dev) +> **维护者**: 小马哥 + +--- + +## 1. 项目概述 + +本项目是一个**期货统一数据平台**,旨在解决多数据源接入、数据格式不统一、历史行情查询困难等问题。平台提供标准化的 RESTful API 供外部系统或 AI 调用,并配备管理后台进行数据源配置、合约管理及行情可视化。 + +### 核心目标 +- **统一出口**:无论底层是 Tushare、CTP 还是其他数据源,对外提供统一的数据格式。 +- **灵活配置**:支持多数据源切换、优先级管理。 +- **高效缓存**:针对历史 K 线数据(日 K/周 K/分钟级)进行分级存储。 +- **易于扩展**:基于适配器模式,新增数据源只需实现标准接口。 + +--- + +## 2. 技术架构 + +### 2.1 技术栈 + +| 层次 | 技术选型 | 说明 | +|------|----------|------| +| **前端** | Vue3 + Vite + Element Plus | 现代化 SPA,响应式布局 | +| **图表** | Apache ECharts 5 | 专业金融 K 线图表渲染 | +| **后端** | Python 3.11 + FastAPI | 高性能异步 Web 框架 | +| **数据库** | PostgreSQL + TimescaleDB | 专为时序数据优化,支持高效压缩与查询 | +| **本地开发** | SQLite | 无需外部依赖,快速验证 | +| **缓存/消息** | Redis | 实时行情缓存与发布订阅 | +| **数据源** | Tushare / AKShare / CTP (规划) | 外部数据接入 | +| **部署** | Docker Compose | 一键环境搭建 | + +### 2.2 数据源架构 + +```text +[外部系统/AI] <--> [统一 API 网关] <--> [业务逻辑层] <--> [数据源适配器] + | + [缓存层 (Redis)] + | + [持久层 (PostgreSQL)] +``` + +- **适配器模式**:`DataSourceBase` 定义了 `get_kline_daily`、`get_contract_list` 等标准方法。 +- **管理器模式**:`DataSourceManager` 负责加载配置、优先级排序和实例管理。 + +--- + +## 3. 部署与启动指南 + +### 3.1 环境准备 +- Docker & Docker Compose(生产/测试环境) +- Python 3.11+(本地开发环境) +- Node.js 20+(前端开发) + +### 3.2 Docker Compose 部署(推荐) + +适用于拥有完整基础设施(PostgreSQL, Redis)的环境。 + +```bash +cd share_data/project/futures-data-platform + +# 1. 配置环境变量 +cp .env.example .env +# 编辑 .env,填入你的 Tushare Token: TUSHARE_TOKEN=xxxxxx + +# 2. 启动服务 +docker compose up -d --build + +# 3. 查看日志 +docker compose logs -f backend +``` + +**服务地址:** +- 管理后台:http://localhost:3000 +- 后端 API:http://localhost:8000 +- Swagger 文档:http://localhost:8000/docs + +### 3.3 本地开发模式(SQLite) + +适用于快速调试,无需启动数据库容器。 + +```bash +cd backend + +# 1. 安装依赖 +pip install -r requirements.txt + +# 2. 使用 SQLite 启动后端 +export DATABASE_URL="sqlite:///./futures.db" +uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 + +# 3. 启动前端 (新终端) +cd frontend +npm install +npm run dev +``` + +--- + +## 4. 操作指南 + +### 4.1 配置数据源 +1. 进入**"数据源监控"**页面。 +2. 点击 `tushare` 或 `akshare` 行的**"配置"**按钮。 +3. 在弹出的配置对话框中: + - **启用状态**:使用开关快速启用/禁用该数据源 + - **显示名称**:自定义数据源在界面上的显示名称 + - **Token** (Tushare):填入你的 Tushare API Token + - **最大重试次数** (AKShare):设置反爬重试策略 + - **优先级**:数字越小优先级越高,系统将优先使用高优先级数据源 +4. 点击**"测试连接"**,确认状态为 `ok`。 +5. 点击**"保存"**完成配置。 + +> **提示**:也可在表格的"启用"列直接点击开关快速切换启用/禁用状态,无需打开配置对话框。 + +### 4.2 同步合约信息 +1. 进入**"合约管理"**页面。 +2. 点击右上角**"同步合约"**按钮。 +3. 系统将遍历所有交易所(CFFEX, SHFE, DCE 等)拉取合约信息并入库。 +4. 同步完成后,列表将显示所有活跃合约。 + +### 4.3 查询与展示 K 线 +1. 进入**"K 线查询"**页面。 +2. 选择合约(如 `rb2401`)和周期(如 `日 K`)。 +3. 点击**"同步数据"**(首次查询建议同步,后续直接查询数据库)。 +4. 点击**"查询"**,下方将渲染 ECharts K 线图和详细数据表格。 + +--- + +## 5. 注意事项 + +### 5.1 Tushare 积分限制 +- 不同积分等级对数据调用的频率和数据范围有限制。 +- 高频调用分钟级数据或全量历史数据可能需要较高级别的积分(如 2000 分以上)。 +- **建议**:在"接口测试"中先测试单个合约的同步,确认返回数据正常后再批量同步。 + +### 5.2 AKShare 反爬策略 +AKShare 数据源内置了 `SmartRequester` 反爬管理器,包含以下策略: +- **随机 User-Agent**:每次请求轮换浏览器指纹。 +- **拟人化延时**:首次请求随机延迟 0.5~1.5s,重试时指数级增加。 +- **智能重试**:遇到 403 或网络错误自动重试(默认 3 次)。 +- **Referer 伪装**:自动匹配目标网站的 Referer。 +> 注:IP 代理功能预留接口,当前版本主要依赖频率控制和头部伪装。 + +### 5.3 数据一致性 +- 平台默认**"优先读库"**策略。如果数据库中已有缓存数据,直接返回;若无,则调用数据源。 +- `sync_kline` 接口采用 `upsert` 逻辑(插入或更新),支持增量同步,不会破坏已有数据。 + +### 5.4 生产环境配置 +- **数据库**:务必使用 Docker Compose 中的 PostgreSQL + TimescaleDB,SQLite 仅用于本地开发。 +- **安全性**:生产环境应移除 `cors.allow_origins=["*"]` 的宽泛策略,改为白名单;数据库密码应通过 Secret 管理。 + +--- + +## 6. 后续规划与改进 + +### Phase 1: 基础完善 (当前阶段) +- [x] 历史 K 线数据同步与查询(日 K/周 K/分钟) +- [x] 合约信息管理 +- [x] Tushare 数据源接入 +- [x] AKShare 数据源接入 (含反爬策略) +- [x] 管理后台基础功能 + +### Phase 2: 实时行情与推送 +- [ ] **实时行情引擎**:开发 CTP 适配器,接入实时 Tick 和 K 线。 +- [ ] **WebSocket 订阅**:实现实时数据推送服务,支持客户端按合约订阅。 +- [ ] **行情快照缓存**:利用 Redis 实现最新行情快照的快速读取。 + +### Phase 3: 性能与高可用 +- [ ] **TimescaleDB 优化**:配置超表(Hypertables)和自动压缩策略。 +- [ ] **定时任务调度**:使用 APScheduler 实现每日收盘后的自动数据同步。 +- [ ] **多数据源回退**:主数据源异常时,自动切换到备用数据源。 + +### Phase 4: 高级功能 +- [ ] **数据清洗与校验**:增加数据质量监控,自动识别异常跳空或缺失数据。 +- [ ] **AI 辅助接口**:提供专为大模型优化的自然语言转 SQL 接口。 + +--- + +## 7. 开发规范 + +- **代码风格**:后端遵循 PEP 8,使用 `black` 格式化;前端遵循 ESLint + Prettier。 +- **提交规范**: + - `feat`: 新功能 + - `fix`: 修复 + - `docs`: 文档更新 + - `refactor`: 重构 +- **API 响应格式**: + ```json + { + "code": 0, + "message": "ok", + "data": { ... } + } + ``` + +--- + +> 文档最后更新:2026-05-07 diff --git a/frontend/index.html b/frontend/index.html new file mode 100644 index 0000000..70c0b5b --- /dev/null +++ b/frontend/index.html @@ -0,0 +1,12 @@ + + + + + + 期货统一数据平台 + + +
+ + + diff --git a/frontend/package-lock.json b/frontend/package-lock.json new file mode 100644 index 0000000..8a5303e --- /dev/null +++ b/frontend/package-lock.json @@ -0,0 +1,1848 @@ +{ + "name": "futures-data-platform-frontend", + "version": "0.1.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "futures-data-platform-frontend", + "version": "0.1.0", + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.7.9", + "dayjs": "^1.11.13", + "echarts": "^5.5.1", + "element-plus": "^2.9.1", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.4", + "vite": "^6.4.2" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmmirror.com/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmmirror.com/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.3", + "resolved": "https://registry.npmmirror.com/@babel/parser/-/parser-7.29.3.tgz", + "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmmirror.com/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.2.0", + "resolved": "https://registry.npmmirror.com/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", + "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@element-plus/icons-vue": { + "version": "2.3.2", + "resolved": "https://registry.npmmirror.com/@element-plus/icons-vue/-/icons-vue-2.3.2.tgz", + "integrity": "sha512-OzIuTaIfC8QXEPmJvB4Y4kw34rSXdCJzxcD1kFStBvr8bK6X1zQAYDo0CNMjojnfTqRQCJ0I7prlErcoRiET2A==", + "license": "MIT", + "peerDependencies": { + "vue": "^3.2.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@floating-ui/core": { + "version": "1.7.5", + "resolved": "https://registry.npmmirror.com/@floating-ui/core/-/core-1.7.5.tgz", + "integrity": "sha512-1Ih4WTWyw0+lKyFMcBHGbb5U5FtuHJuujoyyr5zTaWS5EYMeT6Jb2AuDeftsCsEuchO+mM2ij5+q9crhydzLhQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/dom": { + "version": "1.7.6", + "resolved": "https://registry.npmmirror.com/@floating-ui/dom/-/dom-1.7.6.tgz", + "integrity": "sha512-9gZSAI5XM36880PPMm//9dfiEngYoC6Am2izES1FF406YFsjvyBMmeJ2g4SAju3xWwtuynNRFL2s9hgxpLI5SQ==", + "license": "MIT", + "dependencies": { + "@floating-ui/core": "^1.7.5", + "@floating-ui/utils": "^0.2.11" + } + }, + "node_modules/@floating-ui/utils": { + "version": "0.2.11", + "resolved": "https://registry.npmmirror.com/@floating-ui/utils/-/utils-0.2.11.tgz", + "integrity": "sha512-RiB/yIh78pcIxl6lLMG0CgBXAZ2Y0eVHqMPYugu+9U0AeT6YBeiJpf7lbdJNIugFP5SIjwNRgo4DhR1Qxi26Gg==", + "license": "MIT" + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmmirror.com/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@popperjs/core": { + "name": "@sxzz/popperjs-es", + "version": "2.11.8", + "resolved": "https://registry.npmmirror.com/@sxzz/popperjs-es/-/popperjs-es-2.11.8.tgz", + "integrity": "sha512-wOwESXvvED3S8xBmcPWHs2dUuzrE4XiZeFu7e1hROIJkm02a49N120pmOXxY33sBb6hArItm5W5tcg1cBtV+HQ==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.3.tgz", + "integrity": "sha512-x35CNW/ANXG3hE/EZpRU8MXX1JDN86hBb2wMGAtltkz7pc6cxgjpy1OMMfDosOQ+2hWqIkag/fGok1Yady9nGw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.3.tgz", + "integrity": "sha512-xw3xtkDApIOGayehp2+Rz4zimfkaX65r4t47iy+ymQB2G4iJCBBfj0ogVg5jpvjpn8UWn/+q9tprxleYeNp3Hw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.3.tgz", + "integrity": "sha512-vo6Y5Qfpx7/5EaamIwi0WqW2+zfiusVihKatLvtN1VFVy3D13uERk/6gZLU1UiHRL6fDXqj/ELIeVRGnvcTE1g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.3.tgz", + "integrity": "sha512-D+0QGcZhBzTN82weOnsSlY7V7+RMmPuF1CkbxyMAGE8+ZHeUjyb76ZiWmBlCu//AQQONvxcqRbwZTajZKqjuOw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.3.tgz", + "integrity": "sha512-6HnvHCT7fDyj6R0Ph7A6x8dQS/S38MClRWeDLqc0MdfWkxjiu1HSDYrdPhqSILzjTIC/pnXbbJbo+ft+gy/9hQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.3.tgz", + "integrity": "sha512-KHLgC3WKlUYW3ShFKnnosZDOJ0xjg9zp7au3sIm2bs/tGBeC2ipmvRh/N7JKi0t9Ue20C0dpEshi8WUubg+cnA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.3.tgz", + "integrity": "sha512-DV6fJoxEYWJOvaZIsok7KrYl0tPvga5OZ2yvKHNNYyk/2roMLqQAbGhr78EQ5YhHpnhLKJD3S1WFusAkmUuV5g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.3.tgz", + "integrity": "sha512-mQKoJAzvuOs6F+TZybQO4GOTSMUu7v0WdxEk24krQ/uUxXoPTtHjuaUuPmFhtBcM4K0ons8nrE3JyhTuCFtT/w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.3.tgz", + "integrity": "sha512-Whjj2qoiJ6+OOJMGptTYazaJvjOJm+iKHpXQM1P3LzGjt7Ff++Tp7nH4N8J/BUA7R9IHfDyx4DJIflifwnbmIA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.3.tgz", + "integrity": "sha512-4YTNHKqGng5+yiZt3mg77nmyuCfmNfX4fPmyUapBcIk+BdwSwmCWGXOUxhXbBEkFHtoN5boLj/5NON+u5QC9tg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.3.tgz", + "integrity": "sha512-SU3kNlhkpI4UqlUc2VXPGK9o886ZsSeGfMAX2ba2b8DKmMXq4AL7KUrkSWVbb7koVqx41Yczx6dx5PNargIrEA==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.3.tgz", + "integrity": "sha512-6lDLl5h4TXpB1mTf2rQWnAk/LcXrx9vBfu/DT5TIPhvMhRWaZ5MxkIc8u4lJAmBo6klTe1ywXIUHFjylW505sg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.3.tgz", + "integrity": "sha512-BMo8bOw8evlup/8G+cj5xWtPyp93xPdyoSN16Zy90Q2QZ0ZYRhCt6ZJSwbrRzG9HApFabjwj2p25TUPDWrhzqQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.3.tgz", + "integrity": "sha512-E0L8X1dZN1/Rph+5VPF6Xj2G7JJvMACVXtamTJIDrVI44Y3K+G8gQaMEAavbqCGTa16InptiVrX6eM6pmJ+7qA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.3.tgz", + "integrity": "sha512-oZJ/WHaVfHUiRAtmTAeo3DcevNsVvH8mbvodjZy7D5QKvCefO371SiKRpxoDcCxB3PTRTLayWBkvmDQKTcX/sw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.3.tgz", + "integrity": "sha512-Dhbyh7j9FybM3YaTgaHmVALwA8AkUwTPccyCQ79TG9AJUsMQqgN1DDEZNr4+QUfwiWvLDumW5vdwzoeUF+TNxQ==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.3.tgz", + "integrity": "sha512-cJd1X5XhHHlltkaypz1UcWLA8AcoIi1aWhsvaWDskD1oz2eKCypnqvTQ8ykMNI0RSmm7NkTdSqSSD7zM0xa6Ig==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.3.tgz", + "integrity": "sha512-DAZDBHQfG2oQuhY7mc6I3/qB4LU2fQCjRvxbDwd/Jdvb9fypP4IJ4qmtu6lNjes6B531AI8cg1aKC2di97bUxA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.3.tgz", + "integrity": "sha512-cRxsE8c13mZOh3vP+wLDxpQBRrOHDIGOWyDL93Sy0Ga8y515fBcC2pjUfFwUe5T7tqvTvWbCpg1URM/AXdWIXA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.3.tgz", + "integrity": "sha512-QaWcIgRxqEdQdhJqW4DJctsH6HCmo5vHxY0krHSX4jMtOqfzC+dqDGuHM87bu4H8JBeibWx7jFz+h6/4C8wA5Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.3.tgz", + "integrity": "sha512-AaXwSvUi3QIPtroAUw1t5yHGIyqKEXwH54WUocFolZhpGDruJcs8c+xPNDRn4XiQsS7MEwnYsHW2l0MBLDMkWg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.3.tgz", + "integrity": "sha512-65LAKM/bAWDqKNEelHlcHvm2V+Vfb8C6INFxQXRHCvaVN1rJfwr4NvdP4FyzUaLqWfaCGaadf6UbTm8xJeYfEg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.3.tgz", + "integrity": "sha512-EEM2gyhBF5MFnI6vMKdX1LAosE627RGBzIoGMdLloPZkXrUN0Ckqgr2Qi8+J3zip/8NVVro3/FjB+tjhZUgUHA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.3.tgz", + "integrity": "sha512-E5Eb5H/DpxaoXH++Qkv28RcUJboMopmdDUALBczvHMf7hNIxaDZqwY5lK12UK1BHacSmvupoEWGu+n993Z0y1A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.3.tgz", + "integrity": "sha512-hPt/bgL5cE+Qp+/TPHBqptcAgPzgj46mPcg/16zNUmbQk0j+mOEQV/+Lqu8QRtDV3Ek95Q6FeFITpuhl6OTsAA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/lodash": { + "version": "4.17.24", + "resolved": "https://registry.npmmirror.com/@types/lodash/-/lodash-4.17.24.tgz", + "integrity": "sha512-gIW7lQLZbue7lRSWEFql49QJJWThrTFFeIMJdp3eH4tKoxm1OvEPg02rm4wCCSHS0cL3/Fizimb35b7k8atwsQ==", + "license": "MIT" + }, + "node_modules/@types/lodash-es": { + "version": "4.17.12", + "resolved": "https://registry.npmmirror.com/@types/lodash-es/-/lodash-es-4.17.12.tgz", + "integrity": "sha512-0NgftHUcV4v34VhXm8QBSftKVXtbkBG3ViCjs6+eJ5a6y6Mi/jiFGPc1sC7QK+9BFhWrURE3EOggmWaSxL9OzQ==", + "license": "MIT", + "dependencies": { + "@types/lodash": "*" + } + }, + "node_modules/@types/web-bluetooth": { + "version": "0.0.20", + "resolved": "https://registry.npmmirror.com/@types/web-bluetooth/-/web-bluetooth-0.0.20.tgz", + "integrity": "sha512-g9gZnnXVq7gM7v3tJCWV/qw7w+KeOlSHAhgF9RytFyifW6AF61hdT2ucrYhPq9hLs5JIryeupHV3qGk95dH9ow==", + "license": "MIT" + }, + "node_modules/@vitejs/plugin-vue": { + "version": "5.2.4", + "resolved": "https://registry.npmmirror.com/@vitejs/plugin-vue/-/plugin-vue-5.2.4.tgz", + "integrity": "sha512-7Yx/SXSOcQq5HiiV3orevHUFn+pmMB4cgbEkDYgnkUWb0WfeQ/wa2yFv6D5ICiCQOVpjA7vYDXrC7AGO8yjDHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || >=20.0.0" + }, + "peerDependencies": { + "vite": "^5.0.0 || ^6.0.0", + "vue": "^3.2.25" + } + }, + "node_modules/@vue/compiler-core": { + "version": "3.5.34", + "resolved": "https://registry.npmmirror.com/@vue/compiler-core/-/compiler-core-3.5.34.tgz", + "integrity": "sha512-s9cLyK5mLcvZ4Agva5QgRsQyLKvts9WbU9DB6NqiZkkGEdwmcEiylj5Jbwkp680drF/NNCV8OlAJSe+yMLxaJw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.3", + "@vue/shared": "3.5.34", + "entities": "^7.0.1", + "estree-walker": "^2.0.2", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-dom": { + "version": "3.5.34", + "resolved": "https://registry.npmmirror.com/@vue/compiler-dom/-/compiler-dom-3.5.34.tgz", + "integrity": "sha512-EbF/T++k0e2MMZlJsBhzK8Sgwt0HcIPOhzn1CTB/lv6sQcyk+OWf8YeiLxZp3ro7MbbLcAfAJ6sEvjFWuNgUCw==", + "license": "MIT", + "dependencies": { + "@vue/compiler-core": "3.5.34", + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/compiler-sfc": { + "version": "3.5.34", + "resolved": "https://registry.npmmirror.com/@vue/compiler-sfc/-/compiler-sfc-3.5.34.tgz", + "integrity": "sha512-D/ihr6uZeIt6r+pVZf46RWT1fAsLFMbUP7k8G1VkiiWexriED9GrX3echHd4Abbt17zjlfiFJ8z7a3BxZOPNjg==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.3", + "@vue/compiler-core": "3.5.34", + "@vue/compiler-dom": "3.5.34", + "@vue/compiler-ssr": "3.5.34", + "@vue/shared": "3.5.34", + "estree-walker": "^2.0.2", + "magic-string": "^0.30.21", + "postcss": "^8.5.14", + "source-map-js": "^1.2.1" + } + }, + "node_modules/@vue/compiler-ssr": { + "version": "3.5.34", + "resolved": "https://registry.npmmirror.com/@vue/compiler-ssr/-/compiler-ssr-3.5.34.tgz", + "integrity": "sha512-cDtTHKibkThKGHH1SP+WdccquNRYQDFH6rRjQCqT9G2ltFAfoR5pUftpab/z+aM5mW9HLLVQW7hfKKQe/1GBeQ==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.34", + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/devtools-api": { + "version": "6.6.4", + "resolved": "https://registry.npmmirror.com/@vue/devtools-api/-/devtools-api-6.6.4.tgz", + "integrity": "sha512-sGhTPMuXqZ1rVOk32RylztWkfXTRhuS7vgAKv0zjqk8gbsHkJ7xfFf+jbySxt7tWObEJwyKaHMikV/WGDiQm8g==", + "license": "MIT" + }, + "node_modules/@vue/reactivity": { + "version": "3.5.34", + "resolved": "https://registry.npmmirror.com/@vue/reactivity/-/reactivity-3.5.34.tgz", + "integrity": "sha512-y9XDjCEuBp+98k+UL5dbYkh57AHU4o6cxZedOPXw3bmrZZYLQsVHguGurq7hVrPCSrQtrnz1f9dssyFr+dMXfQ==", + "license": "MIT", + "dependencies": { + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/runtime-core": { + "version": "3.5.34", + "resolved": "https://registry.npmmirror.com/@vue/runtime-core/-/runtime-core-3.5.34.tgz", + "integrity": "sha512-mKeBYvu8tcMSLhypAHBmriUFfWXKTCF/23Z4jiCoYK3UtWepkliViNLuR90V9XOyD62mUxs9p1jsrpK3CCGIzw==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.34", + "@vue/shared": "3.5.34" + } + }, + "node_modules/@vue/runtime-dom": { + "version": "3.5.34", + "resolved": "https://registry.npmmirror.com/@vue/runtime-dom/-/runtime-dom-3.5.34.tgz", + "integrity": "sha512-e8kZzERmCwUnBRVsgSQlAfrfU2rGoy0FFKPBXSlfEjc/O3KfA7QP0t1/2ZylrbchjmIKB4dPTd07A6WPr0eOrg==", + "license": "MIT", + "dependencies": { + "@vue/reactivity": "3.5.34", + "@vue/runtime-core": "3.5.34", + "@vue/shared": "3.5.34", + "csstype": "^3.2.3" + } + }, + "node_modules/@vue/server-renderer": { + "version": "3.5.34", + "resolved": "https://registry.npmmirror.com/@vue/server-renderer/-/server-renderer-3.5.34.tgz", + "integrity": "sha512-nHxmJoTrKsmrkbILRhkC9gY1G3moZbJTqCzDd7DOOzG5KH9oeJ0Unqrff5f9v0pW//jES05ZkJcNtfE8JjOIew==", + "license": "MIT", + "dependencies": { + "@vue/compiler-ssr": "3.5.34", + "@vue/shared": "3.5.34" + }, + "peerDependencies": { + "vue": "3.5.34" + } + }, + "node_modules/@vue/shared": { + "version": "3.5.34", + "resolved": "https://registry.npmmirror.com/@vue/shared/-/shared-3.5.34.tgz", + "integrity": "sha512-24uqU4OIiX29ryC3MeWid/Xf2fa2EFRUVLb77nRhk+UrTVrh/XiGtFAFmJBAtBRbjwNdsPRP+jj/OL27Eg1NDA==", + "license": "MIT" + }, + "node_modules/@vueuse/core": { + "version": "12.0.0", + "resolved": "https://registry.npmmirror.com/@vueuse/core/-/core-12.0.0.tgz", + "integrity": "sha512-C12RukhXiJCbx4MGhjmd/gH52TjJsc3G0E0kQj/kb19H3Nt6n1CA4DRWuTdWWcaFRdlTe0npWDS942mvacvNBw==", + "license": "MIT", + "dependencies": { + "@types/web-bluetooth": "^0.0.20", + "@vueuse/metadata": "12.0.0", + "@vueuse/shared": "12.0.0", + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/metadata": { + "version": "12.0.0", + "resolved": "https://registry.npmmirror.com/@vueuse/metadata/-/metadata-12.0.0.tgz", + "integrity": "sha512-Yzimd1D3sjxTDOlF05HekU5aSGdKjxhuhRFHA7gDWLn57PRbBIh+SF5NmjhJ0WRgF3my7T8LBucyxdFJjIfRJQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/@vueuse/shared": { + "version": "12.0.0", + "resolved": "https://registry.npmmirror.com/@vueuse/shared/-/shared-12.0.0.tgz", + "integrity": "sha512-3i6qtcq2PIio5i/vVYidkkcgvmTjCqrf26u+Fd4LhnbBmIT6FN8y6q/GJERp8lfcB9zVEfjdV0Br0443qZuJpw==", + "license": "MIT", + "dependencies": { + "vue": "^3.5.13" + }, + "funding": { + "url": "https://github.com/sponsors/antfu" + } + }, + "node_modules/async-validator": { + "version": "4.2.5", + "resolved": "https://registry.npmmirror.com/async-validator/-/async-validator-4.2.5.tgz", + "integrity": "sha512-7HhHjtERjqlNbZtqNqy2rckN/SpOOlmDliet+lP7k+eKZEjPk3DgyeU9lIXLdeLz0uBbbVp+9Qdow9wJWgwwfg==", + "license": "MIT" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmmirror.com/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==", + "license": "MIT" + }, + "node_modules/axios": { + "version": "1.16.0", + "resolved": "https://registry.npmmirror.com/axios/-/axios-1.16.0.tgz", + "integrity": "sha512-6hp5CwvTPlN2A31g5dxnwAX0orzM7pmCRDLnZSX772mv8WDqICwFjowHuPs04Mc8deIld1+ejhtaMn5vp6b+1w==", + "license": "MIT", + "dependencies": { + "follow-redirects": "^1.16.0", + "form-data": "^4.0.5", + "proxy-from-env": "^2.1.0" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmmirror.com/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "license": "MIT", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmmirror.com/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "license": "MIT" + }, + "node_modules/dayjs": { + "version": "1.11.20", + "resolved": "https://registry.npmmirror.com/dayjs/-/dayjs-1.11.20.tgz", + "integrity": "sha512-YbwwqR/uYpeoP4pu043q+LTDLFBLApUP6VxRihdfNTqu4ubqMlGDLd6ErXhEgsyvY0K6nCs7nggYumAN+9uEuQ==", + "license": "MIT" + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmmirror.com/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "license": "MIT", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/echarts": { + "version": "5.6.0", + "resolved": "https://registry.npmmirror.com/echarts/-/echarts-5.6.0.tgz", + "integrity": "sha512-oTbVTsXfKuEhxftHqL5xprgLoc0k7uScAwtryCgWF6hPYFLRwOUHiFmHGCBKP5NPFNkDVopOieyUqYGH8Fa3kA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "2.3.0", + "zrender": "5.6.1" + } + }, + "node_modules/element-plus": { + "version": "2.13.7", + "resolved": "https://registry.npmmirror.com/element-plus/-/element-plus-2.13.7.tgz", + "integrity": "sha512-XdHATFZOyzVFL1DaHQ90IOJQSg9UnSAV+bhDW+YB5UoZ0Hxs50mwqjqfwXkuwpSag+VXXizVcErBR6Movo5daw==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^4.2.0", + "@element-plus/icons-vue": "^2.3.2", + "@floating-ui/dom": "^1.0.1", + "@popperjs/core": "npm:@sxzz/popperjs-es@^2.11.7", + "@types/lodash": "^4.17.20", + "@types/lodash-es": "^4.17.12", + "@vueuse/core": "12.0.0", + "async-validator": "^4.2.5", + "dayjs": "^1.11.19", + "lodash": "^4.17.23", + "lodash-es": "^4.17.23", + "lodash-unified": "^1.0.3", + "memoize-one": "^6.0.0", + "normalize-wheel-es": "^1.2.0", + "vue-component-type-helpers": "^3.2.4" + }, + "peerDependencies": { + "vue": "^3.3.0" + } + }, + "node_modules/entities": { + "version": "7.0.1", + "resolved": "https://registry.npmmirror.com/entities/-/entities-7.0.1.tgz", + "integrity": "sha512-TWrgLOFUQTH994YUyl1yT4uyavY5nNB5muff+RtWaqNVCAK408b5ZnnbNAUEWLTCpum9w6arT70i1XdQ4UeOPA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmmirror.com/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmmirror.com/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmmirror.com/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/follow-redirects": { + "version": "1.16.0", + "resolved": "https://registry.npmmirror.com/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmmirror.com/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "license": "MIT", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmmirror.com/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmmirror.com/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmmirror.com/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmmirror.com/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmmirror.com/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.3", + "resolved": "https://registry.npmmirror.com/hasown/-/hasown-2.0.3.tgz", + "integrity": "sha512-ej4AhfhfL2Q2zpMmLo7U1Uv9+PyhIZpgQLGT1F9miIGmiCJIoCgSmczFdrc97mWT4kVY72KA+WnnhJ5pghSvSg==", + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/lodash": { + "version": "4.18.1", + "resolved": "https://registry.npmmirror.com/lodash/-/lodash-4.18.1.tgz", + "integrity": "sha512-dMInicTPVE8d1e5otfwmmjlxkZoUpiVLwyeTdUsi/Caj/gfzzblBcCE5sRHV/AsjuCmxWrte2TNGSYuCeCq+0Q==", + "license": "MIT" + }, + "node_modules/lodash-es": { + "version": "4.18.1", + "resolved": "https://registry.npmmirror.com/lodash-es/-/lodash-es-4.18.1.tgz", + "integrity": "sha512-J8xewKD/Gk22OZbhpOVSwcs60zhd95ESDwezOFuA3/099925PdHJ7OFHNTGtajL3AlZkykD32HykiMo+BIBI8A==", + "license": "MIT" + }, + "node_modules/lodash-unified": { + "version": "1.0.3", + "resolved": "https://registry.npmmirror.com/lodash-unified/-/lodash-unified-1.0.3.tgz", + "integrity": "sha512-WK9qSozxXOD7ZJQlpSqOT+om2ZfcT4yO+03FuzAHD0wF6S0l0090LRPDx3vhTTLZ8cFKpBn+IOcVXK6qOcIlfQ==", + "license": "MIT", + "peerDependencies": { + "@types/lodash-es": "*", + "lodash": "*", + "lodash-es": "*" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmmirror.com/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmmirror.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/memoize-one": { + "version": "6.0.0", + "resolved": "https://registry.npmmirror.com/memoize-one/-/memoize-one-6.0.0.tgz", + "integrity": "sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw==", + "license": "MIT" + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmmirror.com/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmmirror.com/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmmirror.com/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/normalize-wheel-es": { + "version": "1.2.0", + "resolved": "https://registry.npmmirror.com/normalize-wheel-es/-/normalize-wheel-es-1.2.0.tgz", + "integrity": "sha512-Wj7+EJQ8mSuXr2iWfnujrimU35R2W4FAErEyTmJoJ7ucwTn2hOUSsRehMb5RSYkxXGTM7Y9QpvPmp++w5ftoJw==", + "license": "BSD-3-Clause" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmmirror.com/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmmirror.com/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.14", + "resolved": "https://registry.npmmirror.com/postcss/-/postcss-8.5.14.tgz", + "integrity": "sha512-SoSL4+OSEtR99LHFZQiJLkT59C5B1amGO1NzTwj7TT1qCUgUO6hxOvzkOYxD+vMrXBM3XJIKzokoERdqQq/Zmg==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/proxy-from-env": { + "version": "2.1.0", + "resolved": "https://registry.npmmirror.com/proxy-from-env/-/proxy-from-env-2.1.0.tgz", + "integrity": "sha512-cJ+oHTW1VAEa8cJslgmUZrc+sjRKgAKl3Zyse6+PV38hZe/V6Z14TbCuXcan9F9ghlz4QrFr2c92TNF82UkYHA==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/rollup": { + "version": "4.60.3", + "resolved": "https://registry.npmmirror.com/rollup/-/rollup-4.60.3.tgz", + "integrity": "sha512-pAQK9HalE84QSm4Po3EmWIZPd3FnjkShVkiMlz1iligWYkWQ7wHYd1PF/T7QZ5TVSD6uSTon5gBVMSM4JfBV+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.3", + "@rollup/rollup-android-arm64": "4.60.3", + "@rollup/rollup-darwin-arm64": "4.60.3", + "@rollup/rollup-darwin-x64": "4.60.3", + "@rollup/rollup-freebsd-arm64": "4.60.3", + "@rollup/rollup-freebsd-x64": "4.60.3", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.3", + "@rollup/rollup-linux-arm-musleabihf": "4.60.3", + "@rollup/rollup-linux-arm64-gnu": "4.60.3", + "@rollup/rollup-linux-arm64-musl": "4.60.3", + "@rollup/rollup-linux-loong64-gnu": "4.60.3", + "@rollup/rollup-linux-loong64-musl": "4.60.3", + "@rollup/rollup-linux-ppc64-gnu": "4.60.3", + "@rollup/rollup-linux-ppc64-musl": "4.60.3", + "@rollup/rollup-linux-riscv64-gnu": "4.60.3", + "@rollup/rollup-linux-riscv64-musl": "4.60.3", + "@rollup/rollup-linux-s390x-gnu": "4.60.3", + "@rollup/rollup-linux-x64-gnu": "4.60.3", + "@rollup/rollup-linux-x64-musl": "4.60.3", + "@rollup/rollup-openbsd-x64": "4.60.3", + "@rollup/rollup-openharmony-arm64": "4.60.3", + "@rollup/rollup-win32-arm64-msvc": "4.60.3", + "@rollup/rollup-win32-ia32-msvc": "4.60.3", + "@rollup/rollup-win32-x64-gnu": "4.60.3", + "@rollup/rollup-win32-x64-msvc": "4.60.3", + "fsevents": "~2.3.2" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmmirror.com/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmmirror.com/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.3.0", + "resolved": "https://registry.npmmirror.com/tslib/-/tslib-2.3.0.tgz", + "integrity": "sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg==", + "license": "0BSD" + }, + "node_modules/vite": { + "version": "6.4.2", + "resolved": "https://registry.npmmirror.com/vite/-/vite-6.4.2.tgz", + "integrity": "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vue": { + "version": "3.5.34", + "resolved": "https://registry.npmmirror.com/vue/-/vue-3.5.34.tgz", + "integrity": "sha512-WdLBG9gm02OgJIG9axd5Hpx0TFLdzVgfG2evFFu8Rur5O/IoGc5cMjnjh3tPL6GnRGsYvUhBSKVPYVcxRKpMCA==", + "license": "MIT", + "dependencies": { + "@vue/compiler-dom": "3.5.34", + "@vue/compiler-sfc": "3.5.34", + "@vue/runtime-dom": "3.5.34", + "@vue/server-renderer": "3.5.34", + "@vue/shared": "3.5.34" + }, + "peerDependencies": { + "typescript": "*" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/vue-component-type-helpers": { + "version": "3.2.8", + "resolved": "https://registry.npmmirror.com/vue-component-type-helpers/-/vue-component-type-helpers-3.2.8.tgz", + "integrity": "sha512-9689efAXhN/EV86plgkL/XFiJSXhGtWPG6JDboZ+QnjlUWUUQrQ0ILKQtw4iQsuwIwu5k6Aw+JnehDe7161e7A==", + "license": "MIT" + }, + "node_modules/vue-router": { + "version": "4.6.4", + "resolved": "https://registry.npmmirror.com/vue-router/-/vue-router-4.6.4.tgz", + "integrity": "sha512-Hz9q5sa33Yhduglwz6g9skT8OBPii+4bFn88w6J+J4MfEo4KRRpmiNG/hHHkdbRFlLBOqxN8y8gf2Fb0MTUgVg==", + "license": "MIT", + "dependencies": { + "@vue/devtools-api": "^6.6.4" + }, + "funding": { + "url": "https://github.com/sponsors/posva" + }, + "peerDependencies": { + "vue": "^3.5.0" + } + }, + "node_modules/zrender": { + "version": "5.6.1", + "resolved": "https://registry.npmmirror.com/zrender/-/zrender-5.6.1.tgz", + "integrity": "sha512-OFXkDJKcrlx5su2XbzJvj/34Q3m6PvyCZkVPHGYpcCJ52ek4U/ymZyfuV1nKE23AyBJ51E/6Yr0mhZ7xGTO4ag==", + "license": "BSD-3-Clause", + "dependencies": { + "tslib": "2.3.0" + } + } + } +} diff --git a/frontend/package.json b/frontend/package.json new file mode 100644 index 0000000..289d731 --- /dev/null +++ b/frontend/package.json @@ -0,0 +1,24 @@ +{ + "name": "futures-data-platform-frontend", + "version": "0.1.0", + "private": true, + "type": "module", + "scripts": { + "dev": "vite", + "build": "vite build", + "preview": "vite preview" + }, + "dependencies": { + "@element-plus/icons-vue": "^2.3.1", + "axios": "^1.7.9", + "dayjs": "^1.11.13", + "echarts": "^5.5.1", + "element-plus": "^2.9.1", + "vue": "^3.5.13", + "vue-router": "^4.5.0" + }, + "devDependencies": { + "@vitejs/plugin-vue": "^5.2.4", + "vite": "^6.4.2" + } +} diff --git a/frontend/src/App.vue b/frontend/src/App.vue new file mode 100644 index 0000000..8911ea7 --- /dev/null +++ b/frontend/src/App.vue @@ -0,0 +1,97 @@ + + + + + diff --git a/frontend/src/api/index.js b/frontend/src/api/index.js new file mode 100644 index 0000000..ec71904 --- /dev/null +++ b/frontend/src/api/index.js @@ -0,0 +1,26 @@ +import axios from 'axios' + +const api = axios.create({ + baseURL: '/api/v1', + timeout: 30000, +}) + +// 健康检查 +export const getHealth = () => axios.get('/api/health') + +// 合约 +export const getContracts = (params) => api.get('/contracts', { params }) +export const getContract = (symbol) => api.get(`/contracts/${symbol}`) +export const syncContracts = () => api.post('/contracts/sync') + +// K线 +export const getKline = (params) => api.get('/kline', { params }) +export const syncKline = (data) => api.post('/kline/sync', data) + +// 数据源 +export const getDatasources = () => api.get('/datasources') +export const createDatasource = (data) => api.post('/datasources', data) +export const updateDatasource = (name, data) => api.put(`/datasources/${name}`, data) +export const testDatasource = (name) => api.post(`/datasources/${name}/test`) + +export default api diff --git a/frontend/src/main.js b/frontend/src/main.js new file mode 100644 index 0000000..18548be --- /dev/null +++ b/frontend/src/main.js @@ -0,0 +1,29 @@ +import { createApp } from 'vue' +import { createRouter, createWebHistory } from 'vue-router' +import ElementPlus from 'element-plus' +import 'element-plus/dist/index.css' +import zhCn from 'element-plus/dist/locale/zh-cn.mjs' +import App from './App.vue' + +import DataSourceView from './views/DataSourceView.vue' +import ContractView from './views/ContractView.vue' +import KlineView from './views/KlineView.vue' +import ApiTestView from './views/ApiTestView.vue' + +const routes = [ + { path: '/', redirect: '/datasource' }, + { path: '/datasource', name: 'datasource', component: DataSourceView }, + { path: '/contracts', name: 'contracts', component: ContractView }, + { path: '/kline', name: 'kline', component: KlineView }, + { path: '/api-test', name: 'api-test', component: ApiTestView }, +] + +const router = createRouter({ + history: createWebHistory(), + routes, +}) + +const app = createApp(App) +app.use(ElementPlus, { locale: zhCn }) +app.use(router) +app.mount('#app') diff --git a/frontend/src/views/ApiTestView.vue b/frontend/src/views/ApiTestView.vue new file mode 100644 index 0000000..5b4a348 --- /dev/null +++ b/frontend/src/views/ApiTestView.vue @@ -0,0 +1,193 @@ + + + + + diff --git a/frontend/src/views/ContractView.vue b/frontend/src/views/ContractView.vue new file mode 100644 index 0000000..8e47a71 --- /dev/null +++ b/frontend/src/views/ContractView.vue @@ -0,0 +1,103 @@ + + + diff --git a/frontend/src/views/DataSourceView.vue b/frontend/src/views/DataSourceView.vue new file mode 100644 index 0000000..f69b9f0 --- /dev/null +++ b/frontend/src/views/DataSourceView.vue @@ -0,0 +1,173 @@ + + + diff --git a/frontend/src/views/KlineView.vue b/frontend/src/views/KlineView.vue new file mode 100644 index 0000000..683a552 --- /dev/null +++ b/frontend/src/views/KlineView.vue @@ -0,0 +1,238 @@ + + + diff --git a/frontend/vite.config.js b/frontend/vite.config.js new file mode 100644 index 0000000..1660d5b --- /dev/null +++ b/frontend/vite.config.js @@ -0,0 +1,16 @@ +import { defineConfig } from 'vite' +import vue from '@vitejs/plugin-vue' + +export default defineConfig({ + plugins: [vue()], + server: { + host: '0.0.0.0', + port: 3000, + proxy: { + '/api': { + target: 'http://localhost:8000', + changeOrigin: true, + }, + }, + }, +}) diff --git a/screenshots/01-datasource.png b/screenshots/01-datasource.png new file mode 100644 index 0000000000000000000000000000000000000000..a0d5ea660687ceb22147dedea0e83cab23ea411a GIT binary patch literal 30427 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%0DMb5=tP}Q|n(Ag;{|OIgpwK%! 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ⓈV(J6Y~_B8LkN?t85DY{^_sauUkk+Nl%iO5YQ#L zzy3R!QX6v+bUoMm!)fB%gLAJb1-0y=q~YyP(XHNV^@5q?w01sX+0Be~!B1fI^>LzS0{Z6ztJ-0Ok<+PSp4)aG&8y$7u?z>%-Lpp(OXHWpiYGdM za|zyeU($#Q3xCUciL;NV_oRS!B!-L^7J70rETM%2>FK3q+FV^-)vl|ls|O$VGL~r& z5fYA{!W#>O@zh@yp8~UiG-^sx=2UgPl7(x7(_;JRw3W=GM*HT?wfmPDlvPyl@bG5D z3SP*^hf=VDAO%rTI0h7!Z!AGycM@&w>@)>57o%CsRKdbpLj~vAZkZ;p*Yysa7MeY~ zqKGTPG=}2@Rdkq!@Gvp*->}Bp9EQn_%@)>BZ~MV>>1B1j)}0d(C5lV+qx?!ctgGm+ zIpO?w<-aR`HCxuL%RR`$t~=GYw;Q)e0ybyR9qLikn~u9P{5ApS;NwbfGzXI1_?_!1 z7hWQOR42OuYE=8N!FAS6Kn$OlSLcVTg6EW7Z`Ns?fnwz$YUb?hWR!SkVro)Y_|FC@ z5l7(FQ7KiPz6tnpr!UyV_?W126Fo`MuqRw0^3I4Qc_>5t$KsR-El(;{K}i#tV14An zj2qpuipb3pFLOE*W04j+JNW&Mi^80eCFSMcVEBy7+{Uy?@`1~{`Q zG{EbDq1ex#d%3vSY>-hl5qh;WH9;T{{&$wN+Y@D4mX_;P7Cl}Ei*4?kL%X}X*n|u& zrO4vYiNgks*oeE!yIZuWr8^2SF)^WkY^UAl-Vd4B1JQ94*JH`gX28cdxejsFFGnt0`zG1gG{i_KMA!#j`H7o+9b-!yly7 zts4uKy!@?q3+?e6zqR^Jcgiv*7y6T}_C*7Z2h(zw)fn`3bShgd4CK!lP4AV(guL}O z^G8^ngKzdGu!~^Un>L)m%-3hzp1Y^MaNNd`PfOK%cceFr`X_VjbkQG z&ik#Rc=EXG$gf}X`Q5Fn+p)A?UGLTmGu^hHO&My-AD^AA$8B~1nhT-&JE<^kyYr09 zOoVZZ7offTTOPj%Up~Raq!RN>A$RHS?mqqf>(?(xMwVZ6#rjBJla_xuSj_1;29@iE zg|iN_>4(yl7|Ei*Us(qBwwuxl=)A`vqco-O%K`)!Vr>O&URt2~rnyPcIM5c}`yDNJ z<<)l`nWMlb&Sdyu#Gd&USw~10+eoI6b%4CIKXm zY|%hzHK)4=U3yKv%}o`Td#vufmuae_#$LN($D?TyT5Et^HDrWBOF^1>6%^ntqz1Er!@#DqUe-f2#` z4-2}AttpKyO`23^o$BiB7p!VIrw+VMK1eTI@UppHiWPfn+=ZRtQCpYkGc|um3OAPP zf>E3BSsecXKuDI>SG(z;i)Ad9w*YO(9CE$E!_wReU^Z>d!dFrYCBVi@!C|j`HGKtU zMQIG>Z~Y4Fd0M%)o@V+S2dA)aggW>}s$q6^mZc**^z$e{95p!3oo{40kJ&L}Py)i- zG{Tsko}Mp{)zWp4zt4JeD5uCLB`r@n!hx+VA z*{6w0LqWg3Qy45yv5UPg3=jr{#kj6K(>VKky1^brVa#(tY8BlGzC2zZ493vxnn9I} ziE7g}3BLF6IHinme)RpV6ig{BkDsV%CcR_`0yU9W);slL5z5NWflsg?DNOhfJ#Cj?zcIN&b1e=Bo#cm&VAl!V_{jfJE*R#;vA#V zKQw4~b=9*Su$f2Kqn?M}70cweJt!dD{wsUtx(vK!PgF*24~59dB3GgQ3YhuB0uc)B!E6X22M8XC>kl#fTJf}42WU{ z6@+0!+_kb$oEz@Qf}4lO8o6DY-&tXML0(>7M~B4vJC1z~ia08&wBGam1(o>aa%6j< z^veYmec_@2nJVY)v65O$#0PnG-;2ZL`O2k$6Fg#ArVqw^WDSH7;egwKfqp}=7!@*y z5l>!_Dqc76*kErpTMGU$Y4-YcE#2WEMHhyFfx~aG7qw5si^=I}Ep~-V9rFpFXUZ9>#rAVyQ*491+wAq`x>jPEp&k+w(QI$mEM#jd#id0!v@)YOK z)mHy4D^}et|7_tUz&40?2I}Kz@f|Srg17CjPPes>G!2DJ1VB3fzV3?y%AU8DpnX|TtP=22 zRxXTzz1}MZDArF@0&U;WH*y^qBkdYu&~`eVH)BL!YcuuL{kFEawWO1jP<%134>q~q z(n*y!4kvgxuN7SbN?HAWyx93GG{m|U$c6IQk*uiNCusN1*MKWPGDF5dhpCd?dQ4=B z<0*exI2}>eqBUGb@w4uc#y^vR{~i%9NWh={*O&@0X;^|}shgGfSr%lJuxYTVs=I+*NH4<$JU|>Tg1U@2 zmR!DMW0MZ}F+y_8w~MgOgjAqAUW40ZuHbDaQKzR$hg?S+1>uCa^z?ueB$VfhDfxvn zcUhHT)~AHW_@G}`394Zzop5s?YKLI2@jrvLbQ&KTNK+@O!MyGS(gg25!s%&EDvqWo z00#*VMHxv{3RuaJo2;8oYOYk5O!F;dEbBd!MPJ*at}sbqz-RJZrpfjtSBN$XvB1T7 zT?-3C-FrnIKCZ)qow?pFeL6eT^W-nJdhr6_6$Jx+e`25WIy*TCJUnz=%3VC|wWlQ~_ps*|6=@k84}zTMnizRmd-}%AC%)29 z2s#V$b7$}e9_uaLN(B=p<~y}r=0rwhc^+=_YV%1m+S2YF);_nztsR` zrOYGae`7-1U>PP0&_0y1wB+COD~~fY_jZRDlRQ&0em9Tammnaf^zWfh)*54orC9J# ztgh!Wz39v?>KWF+%oYmb>mtwG-rq<{gp9kGMQYO~_vN+LLAv$>BQ!O~Qv}%q%n`W= zD#5_D3uX(8qNbYC+q+HjNZI3)16EsTX~cDUqD;`GMI8!Sg!Xt$NRVKs$VLI@qVJdELR%a0{fkJt02%O235+NV8W&UkJv{Xfr zjtQ9lgP_;XgM#!4a~dTT!6-R zF)CEGitszo)%{0~$|-XsA$`pB5bW(Za2fmac>x{)H&-tT*e>j!@;Eq)nQB%!V8fW5g zfR!XGBSZZ1Vt$~aqPm&~uIB5FE+kr??G^m7N!mRxntKH# z;pmlm&d)6p&7j}2xoc|^`F~a9<-;T5a*KK5%Oa0T`t{n{TEHhe9ee(|l?#&K@D)X) z`7;SUWGS{XW5?~0cV`__^T8CQzwL8&3nwdO!qZ=PiiIXwB~3G}!sFV(;2hbX^mJ;V zg;)>z#y}OZfUW$~n1S8w*UA#E(}WB$lwE_SbyklmJM!~gZoAn<(XVlFan4T8$izRs zSeO`Zxi05y|6p(7DbCf1K*asX`R#&G1X9!!bWNabG=xr+V#n9rs$${W%)}oddUi2d z+P=Xyt^4-2GD<5eJKALBXA~3uMk2x_Yoyg#5IUSl^Qxial3}+7#QUcD)>iY$=GfGY zW6hDcg=^<|5W_0DV~prI$hWmg5f+m{o=Gl)i7q7|@;>`sVDaecOy_z}S2wj=p8qA7 zTP0V&(QZ#ZvnFu5y{ag@c;X3Sw`(-Lc^HV=x3&tYR?8ym5Su4}GWJ$h~htY`KW zr!R@{`d3M^w0J;C)Dr7w7ELPdWZ`((PhAdkrYFE=jH7ULaPV2TD>mm|ra-c(C@Le$ z%O!$tVq{rf;>b-T*_#iFwYAXG(dp|O5RvrTgF}84Xe*KPGI$jwfJCl2IXIY>daQ7u+(qIJEIay+bp1wn_o*L~*~cG26?`sUBqT_5tBz zqsFbJ9!{o1Udz>1n_&Ch9ci}uF=E~;mk!9zBRtv)9`lY$WnI!^b@rpYrJ(w{Dg+Yg zY|agMB!U93f#^VcA-xo4DLyy;*CL`K;o-*Mp@zD;sj&%-+%Uzn5kI^zpv3u`prR0$ zw_*jSGP3$;lg~O;(47G(u{4n?C~YZs<~$%Q9cHG2*!=vHNED8c>tagVoT@o(lIu~= z9qb(pcI`FqlXOCGSjazLC;1+7i~izGN7)S+Iwhl%j{@r)-FdX4W7CCw1^ym*Qj~#9 zM8?O*V}rCe0U2P#oN@RuUz-4YKHz%wfT)S7CDge6WfBYv@QYOWEkK`~ShWZV!xu_| zO*=k+{>d;UoFBY&5lUxl?8=!(Z?v45PC~ z#wK=`8qnc`bENMC7T17n z@p0uNveogCG+!`XP5{qbUa((5HIwwAhsBL%KiBB(A>0|qDO*`A01@VoN|mB z%ZZdTow{A&a5#{$&vzwWza*niRJ1T(6=@QZ>*-|9vY94KYQOglYj1bz5D%)cR*Q^^ z+*#XA$xb5o;7<9hCT)JaY{A$_?|*i>!7wnOY7;UrP%%H>N?1D7WvU(%7fbr|NnR^@ zWAe9+Q^tZnKF?(n#=ypKhSZ?AA1p^~p|XMvs!FZ^VSn`K%eqS5H0yITPw1JK-U?{AJ2WxFsIKnC~jC3<8{LfQ{bwxBXDuqk=75HeFN5@SmyQyfk z|GAWBX;IZuE+YP4|KnMnEiAOd#7E0Xw%`Gu{omZpK6FGxd}#k@z|bu8RB7Z0pmH21 zwyF}rU=Zi|F)Pw(uHD#E?Zbx=!e=D9dMCA=t1Bz*H^;1#!oI$~V*Zx^<5wk0#^=LS zdA?nm7kCrNcI!a9;K7ceeKSMMXv9E|;+s_iZm;**G{17<+E7Y3hRkZ%do&D#K(~uJ6XS;8H+K zZSAR@tZe-L!h+cRlHUnl=KW+^-rUR#0HZj3+(uE8thPfJ*o0&NxGpUE5m2$dN#9(w zobz6Tyu4zyV{+<~@T;n5mYt&p>)tN5mh3tOVAwzQ=9|hZYCX`19Ch{}ksFlG0hO2! z>Gk$zp7mh%Xm6LCa0HHG#B<8K+Xho|j#i5vwLW!2f&1$P^io!Odh5x#p{=bgvhBQk z^Zt5Zw%hOWSP!a}adUGrY-{uTz8xTTM4`VWjb1&(un}w7tjfk=NIYIbS#{^m{Yr}R zb>bPbI>5Eky0ZlB*!@_f{wXfpHAHv9$%SmWX@G?n(+AEJ2-ORJ{!d>M!;G6x(M$GI zm4+5(W_PRjOYHj1yIIH%Ku84}?*6G-otY74y}QU^01AGEDtRp}_v>>?AWqS_eg;kH ziHW0tC$ipYPA#?`e=&IY$B(=9_5O|!oos) zai5MVtn+ix16zArz!L-TMq0?&jkQgS2_lTzPxxxz=5g+_>IcDjHP+((M;I#XW}cc1 z$yHF>$Uo(`Gl@O|MXbS!)!ZM77XIugI1LtPSXTTxubnG+3{1V5<6^aC7j-bg;4CdH z?1{0byZiM~#KBS^`nFe#VK|4^P+dLVu%f>HyeBWnpx!~r+|RJjL{qvDb7sjN z;F0zI%LPmYU9N9h^u#QaM90J!HSf}A9-^VR#sY%krJz`NP9cGrlux0 z6$5?!N`p&1B_&tFcsyVy**v4;(G9NIEk+LBX4who`Wz9|0IiT z_T1s?9L#N zieb~SI`CQ#;N(Pl?o7Aeo{R2GSLTU$qIPF^_xASmD(`?{-v7M(9(*^$1W^>f(J;BY z+-s1iU}L{V?@YU_$31@z=t&+P9zgom9OB~^5cfSMx@Fp&n4B&tF4kNJ9G{5d;#w$F zfQ}CEnuk}ve1u^GO0n9-owU|$TrSWQV?mm!oY!=>{z)T?o+&L|AK&4q+4Qf$kEo{R z{8l|n@eJ3^e4+A>we_Fz_JLn9I+MLUjF+O{o`|m7M!rW?L6Y^aKPNn<9IRUHk+@vr zg`)vIpyp&lV$tOR;QtzyxOZ3w#AdtM8vo5Pdd`vII{Rr74g*!Q6Z=EX&>T~MqJPGjuqj~U@gRiZq00)N{dk#vcpr9ZqD5zE-;~_8t%Dg;F z_TOFUZ6gtr6EzL-eXQ!)5;A{kIUH_r>sg~Hqtb$VXFo8KWb{M565}UKn)4==|0IdC z34PJuS$L|n_fnd`gHKzeFo4$^@h)FA^N$U_{Z;}E5PhI#<}=pPIvHv?kPrwq8O}Xk zRxVY~(?9H7jV58oZGLsL?|*|KS0=9_meWJd#vy+yRf=eM@tv8$t7gQ=9E7wDY zhhgq)Z;zSx^?Y-_zXPPXTtg@VvA@@_RKgd|t%NZ`j$1c_@MROY@7BS07YLqnd;|&i zHs>YAy0%K|$1*3xqZuD>u3V6hGqLuC97l~p%Lil!?lNhS0?ZlPeS}HxlW&FM+B{F? zd9JPa4E-~VIX@DL>61S5;*b-kx|wM^9+;q_p_5XO+2iVIa?h-xOH242C9(blDCQ&f z=j%j8MErW64QFL$j@@vI-#c{2=+D(3q>I@@QIyOQqn56&Re(`=mfIf44_`3xEu;L1 z8{W&1e&KK-gj*#2M4EVdczgsx60*@8*I7bsXxwyP77VC zYzIZ)>Vm`5AK1Q9Fl<)m=W3a=8Ig}2qE{pZ*k4}X7T$0*c#h8`i#zDNvXAFu>5qCP zsj#*)t-!J_@gh}JEjH^pHny18t`8$=+IXqDXp2xhx$xNc@1I(FfByXELa45;UNgpq zq`@9{O@^e<#oly_+U?E*q*-OC+W^I*nIR@$MNK)#Nqj^N%&4ALR=gsMAgPVU-<#`R zIjHdsk|I&u>lk6AL4NI49B?`oPr6pr+N-zurzXh3Qxs1LH-B}u!&&{;OF3?C?%|Ga z+P-z(&K-}g(E|0DhzHZ@;gDj6&aN)-eH^*(usFI^+m)Pf(u?A9w?-W>UB1Hj9ymVQ zI4L?lyK zEope3`KxDuOLqZRw- zG*Vue$EfH0v#^1pR+YlS+}cJ`itWDCy$*<5=C(uBP13C6?dzH1q2rfe1w_sHbAUec z3<;59y}Qw3fe4F=o}C_D?vAU&$fgIb?QCqAA}m;M+pHXwm7|VPW#gqeuPNiHgy~44 z$uJ~$%3&>#1jS!kg!)@m399uH=Tq6cZkI|`9hASK%4bxt^reVf3|Hs%ISn_g`Vb$h zMpS(tls%FJ5~d0ZL@k>y49zh4YHefVs<(%_rBO(*KDVM`cWY}aVMJs7l2Mo^Bc>tA zgZ|z8;-ZP~SvhBihMHDlq#FcqLLPAT{r=4*AfS8Aj)5_#V9fhq=>|bEpv@)`R4MD~ zGYfIJ#McQF$>@te^cFCCl(U9~LO!(u`@Zug#aa86q{eOzf@=m_qwFgn*Iev}?_EYmWILmuRV{!75>OxHaIx+76^111tNPSBs<)JvNB2ryY(*(` zt{}Z{nW>4!Oppm29e|15Pht*F#qp6@2f^qb%)bSgasZ~9@47~r% zg|`usj4dvoM$U)-;jj(Y4!-9j#r_9vmiloAvY#^*m3I6|6O;W9t?iiD#9=5J8|$5x z$94^tQTMILy4fC&K76tK?%(A)M_Zmt7Vf+7Zt1dqEbz|iwuU5}Y9vX^T zize2q|5qS?@+zd4A)qgw-QCKpeNlJG@OFuJcU&O1|Kh_H3ncvXVL0kU2HR`%2xLEJ>Ub+_}n7Uj> zs>h=3-#eBx_P=LH$N*hs8cOPF>G~YXBt{m^{E3J2a-?NnsUhcx`b^HcY{PH!Sm)7d zf%^5}4r{&`2b}l-hQI!}=1A;WwZKr3aA`5#FYVEf$uIh(fDXnXb)*RZhgHa^Y}cgN zWaK8wty)9Wx z)g{)7jMg%QVyXfhj4y#3o7@T|{3RkzGIqRgPuogu zTTX|Ut{x^&QQ#S9LOi63tvSj-I>u&!L7yiJDug{dwPo~P`r$iC2VXwlN}-1)m?<;f{k&o_1%+n!k!0(n7Ch#Ne_ zQwctAE|!w0tmnFMKB;RkZ4u;R)j#!R;Ra4l|q&~dN$_pbKrqn zCAXIu{Q-|94TbX!VyGxX<2_kbTCcyIL6>zfLaBu<$l+TM@^Za^Lgyf<#!Dc%hwT|E zlXyQ^LD)2(xjy}bG^{uqFP^*WmAg|=pewntGHZ01olchPlmFDg3d%dRb7RuSXjnw? zRbj2wVoq;yN&o| z^wVa)w4lIiE4r4MR(t3Qp=mj?0NT2&3QXnJ2LpOKCDv%WgKOD1X*|coIJ5nYF1wRK z>pQi&Jc@oBJ5sD08s@>I6f2cJHzs4(lb!0KWAD~Z(HDl_KazLX!(|c`yXxBTNGH5b z%Q=TePBO}Dr<8(>U32MbY>#VRjU2!SqX4XhG2&XMtT@KyP26&-m!%K!C=izjsbg~T zX^eRo8^|e!jI3*_n#8s~aG@qsr&oeGzTv4(PWi}n`IX7kIDVO+E8`gxE+qFBVkqzX zAL0!o{!_h>OUtFle7K$Hg`Gj;G}IKXhF3P&I+g7|nf5W&*r;5j=fih*a`}2AMS{p! zn7YCw^S{I&|4kQLNt>Ic<)HB8WCWk;Ylk#G;i;B(D9fGpQ5p5)fVZ)Hj?MP33|Q3R z9$zFSeHAMgppJVwSzeJ@h$xA&Y-fQpQHB=_jd{u~pu4OSWLoxhj?~WY-yHwOiLdi4 zf-Z{Rz)LLCufNJer$TOaeWk*!6RvS} z-br0r8sL=pPKgb$Jb(fTsDVK9f9%Hh|0>1)Z||5F`~XhG@(MUJ3rBfnd782%E)`LM zMt(_|nYjbNfLc+KE*e*^z4X2R#1cyP2@4QUM3DKN1Dy%tc5<}Z?$oa%WtAV$3U>VY zIiRSn7vU-E<6W1luzdT-j?V*6^%cfDNjduU4XFH;-$g>;2ov9{t>`BYAKVgpOvJth zet8q@bN`8a*BaxUjc47NUo+FR1fRBfLGZ&VspW;qS&{Q=tcm;u%)@*oOP*OW%fp1H zVGpkuKTr|@->tOh2$sZS`G3DaPdR`2EX4I_T0c4}HntoN*UZt<)6+9uYQ}2So}S=q zlhpPw0)g1SJg4K}Xs=t+Lo)~>C0QUmpW>b?G)Q4F5<~^vY^RkJA%T^ZY~+T}YWS7;Z%YGtVMbaW-6r~-#mbr&SYl$h z_t!V9eIo|54V0;Qxw-8tXn-bCy*B~wm`_dV&QC7gUF<~P2UZ}F!v;U92si08%fc0l zMQVy`J-R23@JLg8KU%I6hhqv-^@in-xE4hKgc!fk@#)NWHIBHr=Uzam+;UEp%Wq+B zCY6}c#EjlZR-`+%f}Q~g&cNDMUs!DYo65_+7J%$;ZV~a`Tls-8ivfVvzc;tnPeVU{ z`t%GGN_Tv2h>UhxGDv|y0^k#IH#N1wQ_+$~S)yA$+(X!J?L*a&qjgn(?_hi*Nl~lc%|}Tov&6E(X!NDOOw4&`~VxkLR2v;R*_4pE%+*Kz6 z9OjvN^R|w7WJ6h56)JndKc1-+SOTjngv{e3hA?<@_s@Bc5BH1npog<1fBWYl5S^x` z%Rqm$_B)@;ho_G@!c1$b>UZ}iGkWb2XQy85oXC-p5iUW&5^RYjDjBS6QsT6+E8CFo z(PqHKLEL;tpwx)lSS#ZVks_rSy1(gn2JX3gIx)mplWxr8TLc7B(DW{1n%cN5HN#AC`VW$oME6ZyVW6Tvg47bn|3kWkmF-Fu0_&vx0R*F%6kLvR#N0hZQB!>Q<_U#i3q?K-z4(aah-gGP7-6~?|oh8d7Pi)xU%&{D+&%~db5^Wftegke5TDA-@MUc zvWE=Ft7s1^X=`cj6vRKZM+D-IA`m-8ZcnbKBJmjtVl!+@YD}g5Zx1lXgxco&+rnTc zj_s!%K|zli5E5Oz808#0fP5F9*d8yUT{R2HQq}O;NFhq;&rT zqUrh{vB48f6-O3IiQvfB+HaVKOWn+JSyr}+NiUR{m1~^C9jZnL%68VIG1aTW8Wr8j zNaQCU8K}rIRF^urtEsdihtn_cdE0YPRT^Hz!cq%culP6MF3^>9Uh=&XrC2>(V_JWhVt+T+1T1rQcwWJ z?sEPsUtF9T*`dSY*3k~f*5u?=3X?wwin#N!nRqO+Vl>!>Mku&#;v^e*-vNRP+*y`m zNC^FCM9AN4>^6K>v2So_ba@#Piio&XCe)wWmcgMOl>o9p%1cZ4S=R&+;d@Ff&!td2 zdGI%e|L)06*AkA8#Wn~%L4sc#?}!O;&7@spl0cNlQiYS4W61>KQWGT|^`LH(0uc?u z_?Ade8Bm25m2UHHaBA;|M=RuB7_sCy03#?)l9#p=ayY+LgS$J0&2hxXdgZ|lz(bP? z`}l0X4QxmZJ0S$1N2y4>qBXl(>zyrz~0REX?-80u?e{`B#21u!}}YQLt@ z49zz+36|&zMI)0vWidiKgf&EJ&oOJDvvcsMGppn=u+g{V=Cbl~Mg>gI;(6?xL@F4w za&rEv3bhr#kB+AhclIlsilG+rq;YHMR&ts2UiX^_~v z`1zhSlaQ5>xcq!H?uz`CKzio6gQ|j}!DDx->+7bJXU&ifIS#kcpbW)$ivZRuAkyAmUr%B3ERA)J zU7=?nqVF3UK(L7MJJ&-jt&4Y43jsmisa09iSgUt7cZ7sNhJo36wTg5!iFXkkD|~yt z$5OhlV$TchaYCK4ylOl8D%U{5@I*DG@{_y(O<#rkA2Nfb)SD0a99tiv9BBApM>+h~ zX!aJ(<@-mf1d8s>!ckZ*l@Y&wZr(#G(sU zZxKE|^WGy7*QsfxwREeti~W+nWJDg;^Iu+ne|;kUt8B`W*%(>-W62XZrndLBcgrCX z*Vs002D^3rZ!vj~!w$761_ov=vKy5pPG(la$f$k${ua zVyc?W6Uydj!nuQV-ggEDH}0sYt_?NIOfgsTGc!D+ujSgKTpxWOT&t47ATMn#tf|R! z8OvyNve}!Mn*(!QRe|}o_Pw8NTSbg>r7tG?tNk$*N(#xG?z&QP0>xj4FY75TKX+}c ztu5p}Zh4QIK%<50#tlwdz)7PrY4}Dc2_p2sjAcSU)%E! zFb$8%;iZ4^JTfw}Olx|oU;kh>C-64QhXO2MYgbl)1{MxDnPwa^)*w?V#(D8#zVc`E zlv=j1fAV23y1NZ!M5IDeu#K&aqd#A`Btwx>qGxQC=S*iX(#}Fj&Sbkcf?tNXkdpb- zdG;B6$Kz(5&tJ&Uh6s`qgDO`{Lj%eob-Rd26?S%Z4a4k7KV9!oZ zdi%%38Ynn({7=MueEN2|_AZV@IPKaLR1I7aQYIbrm841=&r;121V$ZVwHH$GuiK@Hpr&z^4Jw0>HnF&+N z9cPA%FEcQE+@z%2>nlASr|aX|KA1g4p40FTt!l4F@p8XYK!bJM_kEyxo+UG2}Ywz6_NfNi9e;5(N{0y5z4d~dAmvD^ON zfzG)K{BX(6+mk0rSN^^Oog!lD>XdA3*88byPp&T1$-dx$rRgpw+W#6}ta1)Uq+2<@ zq3O=kO_Sr}H!GIp&Lz0N=70XQZg9(z)_#-C@2$vzpDbU*UKZsTFjT^0MS~&%4BtoX zr!?w>%}Vs*6md=*X(qoKcMbcZNtNys#aAnjUOPK`SX6}EzobV~yISq5r$=%a!iiPl z8&|T|$tVe9T!LN+Q5By^;7yYg-0Bh%6LQ`}YcQtsI`nY$)+FyMS4s6v9v$!Q4uDP| zXza^EMTlYs=cv{OU1*<~h1mhj^V1SJC~o2>*&Xy=;V6;_*sOdn(5S7du!9qP2IS{B z9y1%glzj*2Gj=C8b{k}8(w3Ln0V7DbnDB1~BJDBH>y>Ye%t;?9m;`LqJ*u}|b0S2! zxo4xJp;Z+X!=s}+(*q$wRLBFmRimDF3N3-&m(P?i3BApPz65?is(vEU(D;PKMIiov z2-2#HTg+*LDO;Sy)Qob8pBKq~gob(iUhzBYHN3_EJWyV_I1P!g+c-c4kG|IUt!>(~ zInQ|?%`9{aaWS>OlbxKLPUrW|Oiq^GE^=}h{rvsb_hOgOnMn`E(BNQYm>6AJKh^WN zKJfkp_GIwKk53VtL||5J2TM&x$f#{D0PQ@429mFoCG_97`1rfHFc^{wxL8^1UTzG% zT&#p#;>*ec2D0gJes5(?g)kmZh^;!eRJNG+XINTVS!7*8K|$6{4>!;CrpD6_tbhYO zjp1T|*)XT#6XNP?8Y(HokPFpTRNVAZtCR~Do)OsawgN#;4r?RR>0-$$2=J353pIP`^yBxp|eHtZcNvSNz8p zZ>MhYX6YKEsId4!()a2S z%>A5btZHQq5C@)|3HVu0;pSopR3awkTxB??4v;zX&0Y?h^Ksq4m5qeCE%I)^w6->a zwC#M3zT?@>-aQXL9sFNffWH&K>Kq6uCA#A$A*il(YTaSHZM@Hr!fyW#WhAz9}KEpP8KPlLXfj3WNMyqee1om3M0o&u7xN-br23upGYH#W9d{2k($JM3TT zrK`UBEN|Y`wxItWk1Fu^8R>a%e_MHj`~C%HsdeRNsyKOUtOTJ&ezsmhjeCRkkdK=kBI3kjsNF~%Pt%<7C<_yIH}pHm)<%*pHwn8E{S-Dvh9m}61IeL_(vGT#6b z!P1JtZ;~k*epimy*~g|bZ+zdeEzKYgO5y~4OnymN2H*yRgO{oUE3^z%4E>kZkxgY{ zNs9TWV1pls2c}a4x$W0r_Gr09J3G7MITC8lg!aQu9sNk*>8g6^M9Fx4t-mp@aiRZ~ z)bu(my!O}A{@BJ0u?3fe@4C-}lamK#eNPtM7Mz8Uvd12OTw2mYx?-f2N6u`TV}fQlX(?2smw*N>UhJ zUW9Jpv9PjnVW6RKv2pADna>os%l|U8`UszSke1mnIx51U`F&no5MWNSvmG=wssFi* zv_fd%a8w1JL6o+$+yH>QTXvfFkXN-SvEvhxRsxlq?*0r#l&Sai_w?c7rrg|I4{lap zimS37`3co{9q0Ey2^LRW%K@v^FSS>H2)Q#J)tCOWGurOH(0$k$ljK_zsPklpMq!CS zK3>d;+7~Y?)G8H!^};Dd(b-CSDr|Y}4H5YL|8%k_kc)FeG_+4lsg!u!_q7`fZD+X zGh8b|NLth&6wyZv<$o!_67Wp)8>WT3OgH35m&Gj@~BL#Ah&1M zAd6?oWu%Ccq-b%wl)pLq=(!RQY{4q^xs`w<|EqvzHsGB_?oWtk-1+(V1@GnsXD8`a zRIk{$*$amzD3K!F9RxZ}lpO+k8VELK)@YxgphSWl>h}6vUQX`x^o*I2F*c@sxxg16 zOjs&GXe@u?;2;z?uqq#IeSLlYk5-M&&F&D(ZO3mGC;{;JOl8JVhEBw~1S#D+ynO!j z-MbW#+jR*cA;Z~p=BJ_Tgv4AXsv3$n;R%nrL*d%D(I8P$vr3to+I(54b#ew68mBCS zt=<(s51iG)3z6ytS~4#SHlQ@b+R*uNBqV~vvHL1lzLeEGtEhM*a{KoQ^XoEtIy%5V zvD*L*EEw^oZ9`<%rVwI1{~+8^2P49Z6*p&kyGKVifjUT-wg8O;oI4d&k%p%Blp6%X z@QiXspM%2{Fut`&k-PdAPT*<+A@ZQbU+arurl(&GwYzU}mr-_LR?^VYNKQ#9Kc86k zIxuHqV%pG@mo@f3B~3~f?`BrX=3LEi4Af}~SW7@9vt3BAQjcWf;-X~dS2k8j=}J9$ z1c#rqvvW2Rxb#kTMajz`Uil~*T}wC%YJvPKOGcTZQf(WuVs#1v!J+#E1s-qrzK%oEVD{XK~7 zq?4oDGBY0%(5-QHhCX!1w{6~gy^-IOlktX<1?O7oXh-~Yma83^$E z-}6@pyx0^el7OM0sGQ9id75YcC>B)Fq%R&MoD>%0g%;Z**D7_L1z`2@D$j+=a0Dt_1V#ncJPB%YR*fuYxOaswJ{KDRR)K-=8A zUw|J9IHso()M-hOG7j1-y4f2pwY-13@uMWJ8wtv6ZD+@8vW?*21LW3!i5{$6_Pt@S z)Q)yvqgEFsI-K+4Q&7i~;()tA2bv#a|Kl{BH(FUOrv1#cGDx1DJT+B+Pgyz+ch;0{ zxekkkd@s~R^Z3k*irkW5HvU(CEAM;{h^srrK^A0mDYWYFXGw^@9u$~hVfLQjLl^b0 zLK38r(*!ytc(W4S^a!~HY6`MI=0rhmum3YZYn48z0I=7)vnJe`h_zi?TU)?XFZ~?T zcE6-gpp8+@Eg|SSw~q)79O74RBGR0QUFSWo7MW8&p_ji70$vy;#<~#{iZt z6b69hCM71`TwUkv>=0IWHX88leqvWuQ=9Nyxrc8OKTzRA-AmCCD)mt(KZQUZu+Ldy z)8{I~$as14sbWRF2A=~N@~=aB;{Vm`m)#WXSC=*XWME*tzBp_6!m4hNz%}cDjT{18 z7~sZ@r-R42J6+gb9>@n%Doh&ObG$0dUN?W@OhZDX$jBUKwNCy>zKnp%PluZ_SW4xu z!v}|0AQ2~L2LpPas&oY1Pf{(I-xNjBBpr|RUo<>I5PbfC@)L?i!a6o-T{#M9@IKQ! zVV}_DHvbP?U)ML`bLPgbUALaGQ9w{g3!!Zj**xkqgwOwKL^rbA%py!PGlWf9!M=5% z*rp5&R|n4#9YE#qe~kVv0IW%MO!FmOgBW{M2eR~%Uc`?W+taexcr{qN=o%RtTa@YHW%`hPfpD=)U&F{ z%WYKc?(Ljk9J#`KtUapT-0G87o=tp~rE=R_$0E)Vostek1X;G|DQTPm@SQsR{R2Bt zY7>4t;B4SzD7S&1xe;*27*Y7-0TRr2yep{?3bnzvv~=*R9fUlqh@rlNJJ3^Txn`WXf@hls8O?u*^Bn`2M z#X7L~DISMlF=|y7AX{4Y(_{B>-+4jr^=@NtIv@iJ?@>>;hX1n&3&q@<_Mn&zr6E~V|t+T%W2`c;NPeDj} zEhvZJOGH@z6ife9_HB3h{0Q&E@bavzLAF8@h2{ciyU94F?r_# zN6EMnc3-rEPM#X*xA!-9O{}a+3yPGmlQd_5*1RSi3qPEwEUd4u3;Wp-EHiKDV|O^L zZuulWK|RS8j4)oj#O+=;L_qdDx1?rJxBpp_!u7+*IN*xRk?5h4jwu1AE~KNcHZ~?* zN?Z6iP#P*M94u~^p0|3rwwAHvotG6~O1JA+0HiFj}Wd7CzQ;&mG z-^>yUxTJOj1^D~lazw7LY?C>yn#^xFJ+hsRW5<6Sj4#9%OQG!T{ftM(<216ytf~6# z&3qh)APuMNSDAzQ9r3H9LEk=nF|DkUx)mW1$jqi{84Vw`Qd)kx!jG>gAJ78+r3JM5 zRQ-e-Tg#=z<$d3)ep3{quj%d@7EmrPFSpd}ef|E)hh{O^wT-fjfYy@6>I!OgAGC7Vjfzde-W>?^R`0fAQ@lgRorDWVejU{z4%5 z_V*z6g9QvhkVvm0-tF8VSLY2G=eHaiCJYY`PD4%i^56L-<$G@(Rj@a3akp5WmM>3_ z1DWgk>?|_8Jv&8T)Sc9!q8`}6rM1q1#S^x$fP;ghsjXd7T>PN+BNkJin+`i;B)`E_{h2<7xEh->Im1=!N4meGNk^bfgkr!rS zd+ZF}@NuYQ3-^Q9lUrcB$|eVrrq2I3H8s{cxgNleeH~SMfZsCFt~qZ!O?RO`CZ}Uf zo@h2raB(pT4W1(0r1NH$&*P-RW(uSP?O54*9=ka-#!sM$ ziW@BCC{fYtJQhhmU2_cF-7Y0>5wgBX{q>pEK@TKN?dlT}>P{~foHg?b7$L_F4~&X3EY-_r*;h1O=I875XRNHK?a6>y9!$kWsDZ< zp>wdZvat9v^V1yekq4;bH9^#;RI-Hb=Q9aykpBT%Q}Hn5G=5#Wo{7|zsIarL{@s}q zX{iq9;$-)_AJL9fQ1IM`tqgyJkM0dMxYuKl@gMH5^8%3)40nM9`ZfErBu^Hf?`sMQ z8`1j?_B217Mp>$LW#ff{8*-@)%B z`V)uL#q)=90U?}YCE`*t2LuULg@nt?VUaautG8%wS2>KE`z{VJb*cz!SSHq0Jec?buj z|Gyn9@^8#+{KP`|j2*1oR$Ko|*z7-ipvk|l`|$q%IYK2@7Z3)7-wGsy9|@jNL3Zw* z$XuWAnA@8Vw26wFxJXND0mT~>J1u;)%2`u$b6~uPe{`a&%LgP;PH;?wuBwjJI|pXG zy)S*BOifNqhK^25PS-Xznvp6*c8(TSd^KQ*BO)ZM-OQWQRaaNneq-U3vb(qEdBA67 zVj^hM^CC#}TN_$YDbTF@W`VE1GSB&^bO|_7fsS{2syo^NGO8%ATy!QN!1u*NmL{R7 z$nwv!q@ynrQzgxzzJ>+~F7_4(9(S}Hf(7sIFT(h}9jdBR5`m>CNjot`dpwLx30!?R zm0QmK5_I4oeBi37IM6swRzq7`CNQePUPAWq+c}DY1a$}(rzF^ye;dBqHn9p2dv|eY z*b>d-|6<&bgmm8<HaU*%AO-gNqY|gxuG(^U78m_|ef7c8 z5-yo8>liof_T~%m zl!dd|(#ES#ZDXps$As6!f$8GGJOR-%%(1MZ0`3^yIi zL@o53NR%_xB@X@kG?pKRW&9j14;kh+$($S9o&|fXv7F1~S)DBeKZ7^()o0}@9FZA) zWsHhd$sKYqGE6lo=vvp0$^W|-&e!6NN|vE?ty2HJI95Epx~%M-g^heebces6(4yfK zNA1>fKLRE$tZc-rJKK<+T~w zJLFd&J%Ll~$OAmv{Jzb%b=HjPH|?q|=6^)*s|*EynuyeLG=^{i|vv*`?e@D6H^L6u!#vIzixgiklH7aLqeHpH9S%#)KCS}hC<-oUyS4@CmU|takq%D=?UuY zPs?{JX+2UtPGl5T!!BuV{z#Nnua*PyS4JwJPhlu z^U=^#V2CR5N$L{P+)31?fBL6NsZvVjxG5nLTWOjulpmdFdu6Bu$@i(3Ppi6OVW%@g zAv!Vpdx+GOeRE^@9qSCk@AV%w>hJ>otsSXYOEU{yUESis!if$F^_vX{MPU~8ZqgL7 zXp1j6>Szh^!stc(uL-I4Q!tQ%6usMo%Ynz|V7v4FV6nqi#NV!^rFHzVyZae1+fQ)M zHzaUuWPr}<%An1U`op1YUfAA|Q`?V0_iQ129UTopi)q%G+g~>y9uLX^08s-H5#6Rt zd^9}#23Anp&;apgg%joh1kP96ZRX1p&3L^v_hi{3Bn;9L_sMd8_Y*Hy4s{s)%HJdI zR(?09`;5+}uJUqAJw3z_Dm_b(?U3}xRy^q2QiHmKk?`5G_0#h5B;V8V@wHP67i^i> zoQRlkavqD1VHCIOvJs!64%g-qeCQO9SxSAX1+?OMf!e(jMsvle1u-yy>S1Vtxc zP(%EgFE3AW%Se7`g4pK*-?_!Fk5S}sUU0D2fgqgwX4>gzWw6$c(U3;lH#RS9` zJ6`O-7EGsqr89XE;|sItX0Kz=%Y+5{Hs%J;w@eNlt(x9*qFK6ySsD>+4G! zM4Ch>zc8Has122MW21@^-hV3oTDyu4peR+`zx6on`BF{H5VgxoK_1SK>m#wn$J5Sr zUp}X#ShGYho0?YBQWrt|&HL)*;4Nj)r4kzPdOPmLwb%!}lTa|~6Da%X zv7aUAjOMSXt{M2dd188e9k0MVk=W7ZsS`HH_wYR2C%ZE)Y-ypVrh;WQZ5*f)JG1dd zVPV}$G`G3`-W<1;trk2}Dvf4$*q5~-DQ8|8mdENf_xEpS()V=M-VyrNj?SAHTZTRY zD=FR9xl+q0Lz9CZDOMpVZTnl9+Pj~?`F!rDls}x1{jx=A6o1=uqmm&7g&M0vc`20 zG+33cndl`zBAQ(6U%~39vKLKVEhiD*c6a^+=?Yhu*Y+zdvBE^9%Mw4mdP=zWMrWPV6@J6qrHok|btYS$Ino6^A0) z|7{@=5|Tz`5@Z6Sb2l#l(l+aIoW38dP~W+%hcw< zG%S}cIV(ZiSbMHgA3wrD@uitHrBVYUVzh#yVobD3?uW3dDhCf`=9%SYM8cWNQWJT? z6qkc#|FB}Ev~Nt+MMZMNUeE&7Cbz5U@WC^xl0w8V11*7iCYH|kP=C(vnyH~^yE2uN zEB6KkZ&Vv(G@ykQQ|HRtDkoD-CtDJd(k! z;`Qp9>V^gUecS6h2+*3Tt;YvaSycim5k|+4(m6M?G4-%NiHmhaAdwff?fKi!y#!Jmon|vLmnP=;nMCj zhgoutYKI8VBCZXRLMQ;SN@IHpjIL$o(vFx_2$}H=BFAEd`H9LQ6g~+(J$+LdVv@eH zC#LjvpdO$oFxk0X+l0~6^NswF?Vsu86XHk^7DPvbKeIn0Cw)C%F7@xc0Aw;L0CZA@ zqIbA$KxAW?l5{|z0HI5JcVs#2nurwMeyQscG z#$K`7&f#RzbD!_(kSV%xK=;dW^hXi(G3go_W~C-#5#Y%CvshUjA8r0IKkQq~x zB{9bVj->L_`bmDZjB^;u&f=!W{AaOx5lJNy7!QQmdeHNeJidzOl_(&z>zkU2Mi7}c z4`;&%30}_Sm*r_08Ho|2%>-Ab{2YE}Kh}m(lK`1bIJND}rBgP!#$ij$iDb zA1}dM6w7{0PCl%W+=gdZ0|V+?K5j>YOY-DX?^3EE0%KF%N%HT}{?e)Ri_)bUwc{y? zmDE>cx*!zk%utsZ#b=}(?XR-}4P+1ru61#=C)2_JpTw0x64)(BN?hbOWN6S!&F7I} zngbeJW~WnJ6%lb$#_1ETAe7|kHwC-T)!nk1)9^Mo;S}rPsLg3X_!2wziaAfFKN1PM zy-MOJ+u2`#TU}Xj3vz+{umAG%&a2hhtts(%&MAureerE#PQ09)bjTD*V35WM-BziU zxzM*f%(YzK+35)A#!LTFTR-1+{{x>RhF<}?*(hxM6~>aRf?u|FjI$wD;Pr}ayGx1Hl6WVo_Y}hV^G?F zH2b`Mf8TC;Rx}S9&Vk<~!*s$wb%KOJJ~TL(hefK%Ub^Ng%sM|f2=QM3;^OD2>F)mR zG7>JfKUF|%KL=I~3=)0|2Z!CwT?k+waagXu-T9yI3y_ewq*34m3rx(+kg}JO;|6RO zWq{5B_SPPD=lmoJ^#0Ndi30Qpx7h1j_@GZwvez_-Tv!}Vq`xcL#_Sm$PTY+-i-^Zc z7|`jL(xezX1|8wFQt{`)%1S13*kUzi+hr|l?@mE8pM6?YRcaTydmknlzp_{uQCU5< zxXR%8_~+eE8uTT?Z7!=My(PMmk{b1)KgLB@X0`6ZWdg&CBGL(Q$6)(qLk|yZN?KZ_ z*6LfHScyEnXPN@r647_@){F|i0~f3xLl`Iuq|u79N&s=B)-Flt|51E3QUPF^=YmOz zL;W|5;Xl1aZl>tpfme3+0r-X@#%ed4f9Yq8b5F(+Nq=hBCWC;>Nybf=L+gJOe z3B?Qve8$xALy0`ln*xuIkrzGP#(%!O$PRYn^ZHeZZX-aN(32;kKZri~YV-hcePe5C zNcw=gc$;A~L&(tBm?!7xsm8%`p@!7?zjcqq;B!3QzX=X+n&64nVPSXq^v@^BH-81) zHm`Y?p(K2g3r$)8EX z6?P2C^##~R+%gL7qcE7>@{*$f(gooC(B~A*F`=t$y}VSd^$m^r;?L|`$~yb92*L#> zZQkB@pb^Pr_}OIQ;-^5!imZLmx5lzwg1|@W8=`i#vNtj!{QMf|6X#B@MKnau3~Zv;O*N%jSMq>!=^>$=j-Ci6Y!!4GgAF8dQNA87+-vxrPi>#kH#eS)_3 z?$&WDRju3VetmETWUR{XE(7IHl{W4~9Snf|$tIB~+e1nP0m=V>>&)?$hO<%UdJ*x#sgS?ck7B?v_jn*XY(!m&p zi&#x#mUjm)F2H(b$v>m~`!_ZQDc|e1O9L7elD*&ivP<=WP5Y|tsO_(y+AUtw%-O;R zrttGUkYz7+gi=K|Eabm&w+h6|WudQD_o3&0>m{>_W7`LNOAWS`R~#blG_PoBW7Chi z!_e2ej!R!kfN_|DygW=#oZ`QxfeHfcmiE|9gE-B|S32wef>vj*wpE&%3qJ~%Xmp0B zlZpCB7lZsO*O&%5O*HNLraCn(f52Qn6%VS?@f%xlV2YFHU}xXqkUdxzJPkJ-MGSG#e;O=P~X^?Pa--a4>Gq$3&%ejtG;z`kj_DNcXtP3Pd&aQ zVU|0uhI64FWy6pr(lt-$Zd<);so;@q`QStH*m{Y9+V9cf9&>>pacoZ+5HUQ#{2({F z*a-k3{RNSpj&eI*RyocQ*nFzSnJ7358lbPR=p@ z3^oGF+2g}QDGt}u6Q28~x*9GkYnzTgixdw0yz7wILnH6Y%e;511=1KTc!X;!{XERV zK@KNQo|0P^jh`1QofcyHSIXRewy1N#?u69xA$-c@BzxmMhI`~>&SC7t-AE<5a?&we6|9mh# z*SC@_wM}C7W(fxfm07I=au3Kwo9eQ_1NqWQUS9s0qG(WA+TKHs>*T`iblPe70KEp` z{!)V9PiZaM#|= zY*S6j2k>tkl%M zk8ZCGFgn4+gc~#~dvn+!;;Ufk0POD};=eDzxm+U{0#r)Z}t!GiuUkvV7t zhdP`QHwm_RJ$iy5{4k2CjIogotTb|b=OAs!o$lfG#nW>yF)hj7!Xm%fuvqYLcwyi; zt%OW_ISwiYrd8Rz@8DN~jdcCCt|zD{z^KLrb_@{m46=iPwGB#T*g~|k)LmX*pNI@X z+kDg*Kx!@VWshe3b_zrpLh}WrxLH}fEkJNWy#wLbdZb)+cq~4O#wxMJfKNBIGs7Xp z_7rAKW#H$OQBWBAyIE?_1?UQXe*UjK;Cz!PGQKF7$F!vWS0`a64<`23NC3e`xoaPLJl9!evL^D9(+&; z<+Z+4`U%sS!aQm(#kRD5H|m?9K_TRQMZ&d47j&=`_z?vhbEkB$IU_}pglN#Lqh&Oj z_3V9>1MF)SzXK5w1=v4qng$9XHm7U|&DdaM@E(auK;QyMrda}Qu3$(67Tr2)iksbr z5Y)|`h+dl^b(S~Gcl=z_UUL>ECW=zIApi0Fd{2(hcBD11g>q9;Jg=a@-)`~D*;Lv| zn?70Xv%IqM#-R=bg6Fe?!gWp8L`X=a+Qvl7bJSv)Jv}*XhLHOhJXN{T`QmXcY4p!> z2cZlzmqkV9Sm7VVu?&+F6OAIH1_nnDV7(G8qQGF}@9*#6AnY0NXohl*3S}C)cQ_L= ziOX|()Q~~&Ul{>^egU5)qe@dH4le1O(*Ua2Yp~RS+hFUZZlfm+aY4~cm86(3J+-)N zviDT9yZO++<2Yv;)$Z;tCoXBtS3icAy1?%K(XbT@+tW~A z|7T}4`Pq_mED4d*U4C}LpxVaNO=$uKd4&0{DB1qb62JALn603p|&$0KVnI^u~L5$(#9GVmyifM<8H3R{Bn>!Z;)XKsNaXy_@Xh+qARD!-i^4CE zN$>-EEoxD`ULFcVEsA46Y@TRdcpLBwBaDAnlR`m8{zdluUoj4%$9iBwi9#tSDW>rs z*%bfV+Z8(Ec+EP#COeqH(+w-RElB*6xhHYs`WR3aPajfFK&s0>gWvxIGb|?4=)Yy; zkl)(s12&WjYQS*vc&GyiBP91lnqnUqT;6u$FN(_~rx^cGdLGhsbMx3^1(aE26z2t8e`g1U`si-V>b^B8Asi3H6#)*&t=b1rs>1!;n5S?gSQUn>`V7f?@EQM;@}otbWF{ z8;q5MBd1U~-I7oQ7wfC4yng?kfDReAx+F1(qT&zZhD!o{T-bScv6+o>dR7+<=g}nlFG5|Kbxa zDdD!~C?+8xi7f4{$&h4WzNIPxHaeV#ntdo*I-g(l@63-ZUkvbcEO!XCxp@FSBPuFl zWOU$NgmR85T`He{t&0#a763o@bZh~ZhM9&Uh={I?phuBSETvH*kRTPZ!8t$Nm?}%) z0CBNl=np>Xgp#q16~WSIPerVnrly0V6@71f^f+0HB&Vr*Gyir;iPPB}X#f}2tXcB= zwki?uKme#gALCqJR_X3ie{p)2mjlA7No!(uO>>h}gH;ZKz;uhgr0mX(i9IwwUVCm7 zJQEuAqo2PFjmBWe0<_Qm=>x*r9ft8c%NU5ank35^QBi2X=ma7-t@t}d$-ZbH;qL71 zFd493m^jVf1@|}e0rR4U5x}|&s?ucXPT)@J0-q0d8%m*r470pJqO3MOpTYdpVIKrH z056W0=f&<+8$Ni8jgM#(K4LIZ!NIW(sv9%6NU;XbQC1Bnr>2;A;V$;}OiDpUS!IE>U%b^!x-m#x z;A;UBUGT+&@x$CSRkQ^G$I`qP4pKS5I`>aLL~3b}`-Y8KlY?O*@CTESvXO^PdPyDZQ}7UY{) zDChK$I@2V{a&d8f6o1`tUTPwF29y#cbo5JOY|T8o3MP8%w2ZW5ZH=2I`=(!;-fzm} zwtoMX#0H?_^h66+XgE{`h`pS^6e?tUW#+T~a7X@eMgnI~)^c5AxV|~c;!{nf=6`uM zmdZg!KPaC;C5sXw7&0jj(X90Fx+euKo2uY%~` zu7B^&yHOUKVZpb%ibMq0I(&2#TFj?U@^JJ?qH%9jCfMwlWLunD!VXaX2af_ap5$Dx zNg^<92XHf%Qho3C6lqWe{bKRb=_ibbUp%y-A_a^g$I{sOGmsC-KGVd41zvtV@65rF zp}iFl%wDVd)jnasKIk<I1lxI!c%upV#y6leyKYzVe_b(YVV{c_hlHbWv;`!uW&&ehE@S_f@=;4i&^_@x? zxOu7#>du~P{NRf3@_88BgEgxsi&TFULgdWNHNB;h2BX0}9T6wSj*vDGZ{1?Y0>kex zDK0WDzfOp9ymk@+(<|dpeaIPj@$U=xC%5~kZ~LDPe(cegwo%r2I8#P3Et!bMe?e)n z-sRCc6}UL(un^R{^qru18#)ZB!6e=W4WguM^Neby7hH*mjBP|m9jSp0Z86kCEG?QS zIg)63a72<28394#7%$<_Yk>spc{H4gvgnSQ%78q2k4VHwU$zAE11HXWE{m4?%|ug! zXo>O`{AYd>CGQwo!=#Ck!2J?77c_~Mq+Z?tA0d&=8?3zerw2OS*+fTbj^IZ<-Nv@0 zAt9fi+JCa)Hi_;mnRsB6M@gr~ZuhOh0Yw?E{i`yiOd#1FThE3AKt1+ECojO)@6G>p zsN;WM75Hx#K>uf2=)ZIB(ElR1^8d|yJPri+`~E&LkozV03*tk$_ymD8UqSE$Gt3tJ P3xb@KvSgL`+YkR6b0+tK literal 0 HcmV?d00001 diff --git a/screenshots/03-kline.png b/screenshots/03-kline.png new file mode 100644 index 0000000000000000000000000000000000000000..61a87f1f164e95cf8adf407a08084e83cac7814b GIT binary patch literal 29350 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 literal 0 HcmV?d00001 diff --git a/screenshots/05-datasource-config.png b/screenshots/05-datasource-config.png new file mode 100644 index 0000000000000000000000000000000000000000..59a02c6b9f7456b9824ea98983099e7a400b62d2 GIT binary patch literal 30709 zcmce-Wl&q)8$Fr|P@q7IJB8xzF2!Ag6_?@!_aMcKySqCScW8@ygS!-W4-WUdzq$X< zcjnHWn=gANGbcGa`(!=qS!+FEDoWC5D1;~=5C~0HMnVk)dh;FxdUgEnHSmr=x*Y`w z^Z_I*A*$|?d9;G0M{IVFbmk7tyIIwh3BFp5>R-L)%fJZn2LR=!@G3W!n zFNA~b4X}K-`w$N-ptqkWUjfUzFEan#%!lu>Z-M0#h#VPMzJSCqf#o|Wh!R*puinZ2 zx4i!U=)zd`?{TH&<@BFEeW4dR&pCs`;Z03Vxw)UX5B9IUg2jG=jHc^!Dyg$(DoYT! z8GrOrgy~Ugz+Mx9v@m3?ljtdVRqR<4wbbuCJnuZ9ZhI~>T&@E?>$h7HRZ4~`>itFx(z2|WV?kL~;i0)kef-vM2Mv$otdI*oD_GX_4_ zGyeYmr(F+r5XkWu&l)i?u>#EEc(E}8m+9i>#@%~x&d^WDv_EowUi;Y`44$&c@iDK} zw#4xD^|g&nOicW%8b!dd6H4Zri|>BFUxJ5??cwF6l)=r!!V+^56%ipXBeVDX>+0%i zrb25Xjl*JpvIzU@UagQ&uufGmOB$}_#1+=yegAXmiKWQlY*qVF-H5l34*@7rOfy1q zZCHXLoaD_YF%3o$f5cF^Jr08)lGA84Y5bPc!bQ;~YPcL7rKeY0POI&Pe>6qnNbra?EdI9fYt#*gs%X1VF zkD8LTt!>9f2+lO`HK76Sc*bNXQ#NhcnmS$Mfc0oX}V4I`T4o=8>vtU zXhC4>c|TEEuZDfS%^WidEgc;l4i1jXyb!|2Rz0PhyFc3c`XmS~+1bIE_y~kL+V$pW zogtO>$&6nq@Z-}nGUzf@B_WqPV|aQFuikuz4OmaQQ5PEbYRcB7N4cC)q!9_IGLyv9 zQm9ac;bJ>^+NuXNGewuq(CeV1qofL2W%`UPKjymxBc zu?X9HI^>E3lN#2HyKHZq;I5xS@8etBZ!G?fZ58tJG?uqC1RNl_;0ZNB#Z2^)0vNan z6{+ttKadIeT=bqSaW-3a-MVo>>fKhTF)(g^{9La*^6u}v_8QL?PRpiX$Y8L6X>FVo zkF(H2PWSe@u*_4?ii(04{`^j6(xqKcG0Hzc zO$vyVGX46Mfb7$eC0bIJrGGf{)oD8J?F5<&PO*d-0)4{JHw@WC^}WkPIEDY9P098k?W^POe>|}ay^(9g2KITR@}YuV&ai}3|buWDB)Av?h%v)@`cldmxp+ZT|NLLVCmO!JHQPWY^_OoSr|Es#( zcI!yWUvkKD8^cs`spY~{PeFNca+C`;7=CsF)YUa<{!fBANlp3SsD7f@{i%7) zcj>(L?(S~Q??tFj&)g>Mc)2x!9ShQLYk!yMT53EXo$0>n8G7$-k?l!s7SR)m!H^^u zj!r^CV(5JyJataoP`lP~G0dRMNC~S~F^izr;NotODw%3+ZwK2Ie3CIF4Cc@gM__so zw}kTWZ1}A<2=ntVI-*g@4`fVdEHzkRAq?N%-hQn&hY`|8s>Knl4kEd>3Ur zU}{Yl=M|*OBn5Vk8x={r&XENxL5<7@TgD|N^nU(YaxCKEvAglRvII5iwD|>p=sf=t2IpUr1mNz`(elAAf*fV9jMsX|{2-SO zCG5%J6S|x6SSI;@(4;;y#mGiRyhE+Emlc5R^AB*SmIc-=rUuOiI~V)4dqL)?mtoP0 za_dN9X4}}jJ{woUUaMc_pL~31C(n_?3_|6{1;iOYzWg-TPpGP756CjRd^qi%dN>cq zVJQ8krlWH|M3YlkT$~L(X_b_eBp@JIAuEDe?lHam@_*ByaJrYsJzK4R*z(GCEI*&$ zkDHcNRX@B-;Oeu)HZjWEY5V*S;%Slm?%sT%>0Z;X3obB7B2B6Htd7PVVb9J^PMMl& zSvx=-E1LeJHBw5p>v7tLXQ-gh!LReYBb6Z;feUjAQ9PX(L}Cn=GaZP&zPNB|y8%uy zcOtQ&jfV1Kgr!?WHpT!&PR1KG9(}W-rYj#W*(*TlNfCq}{C);$Z)Mb)EsZc*ThXhW zH>{A}8Ol{=8j46R83hnHWm^~gJPf@w;<`=n6(*V0b z6?`xER3D1bFD3mJ@pb{dz9*3LY z@br5`{^$A$?W>i8HALZ3@0Q&Dg=i9itCcQ;VO({`+L+e7Q-tfErQ-muiHcf3z>i(* z)zsnvO3-}Q(9i%Jz~a0?;RaMUFE6hlJ0G$05DJC9-0kM5KNiqR&5)G0sEFmibKMBW zo8)!@O)n7|-32XLb6AWQ&Ssmc=MOe|-(8F&rB^9yQH3RU&5N!W(I|#=6l}-@&rCrQef34-3G%L8nW`C!!;@l5}zx zKPIopTQRYm(>lSHO=`#%zWF;@`cR||UnwUXgB zI57vkdA=IL8ki((vl1zYDpyheQfIGl%5R3F0XZhw%^E_}rDJ9)LC+epg`Zz2$o;sk zMMJK!w;diHDv6b-;w;yPr6-9z%H@>(;BvMej_Ix}*jc%vTYgn}2NAdOq-wlVqox#S zTuo(KI}&iPgkKHOZ6@43#V&AAPpKv)YV6=8^V$((;jr1ysw-pM^cUmahg+t=6Xx#@ zu#0|emoRBR9p(gV7D>er6Fn&2Q>(#(ITL#Y(0uJRQn?i1de~tT)1> z++`*;HD^4aP&KyxbNf5P=XsfHQagqCW97%Aj`1!H$FEdLemY!`M@1B7rILTmO^rnF zr4A~C-y&?`Vvm?DA3E?d@NiPnQe-}G6Dd-Me}2rhUu=0GSCma-wen_1pwkg{zk_x6 zP4E@eqltc`fBO5;H!a;qUA)}hw%7}E)62rzo&_VKFJ4P~6t7u(juFIBQuKFfQqhpC zhL59I1vCFM8(}MkwcGUc479C1H25u3Du>Th(~2!NzKE~jHZpy+ivED35W>3>Hred# z>=ZpG3JUor8Q zkNy|9LM+Eo!y*U>2o;)D`Kwq6?86_h1+@J#-4?B`RvzzdPP~T@P;phveuzz8?N8kt zEr^?u`hLKvk1F^VlfZ)KD!n4r)gYd69?V8xevYwa&&|UFepfITwU!;Q9)ygwXSr|i zAWZjqvVhi!kD7)QXREHRF7>zuot|)EuA)_wgNBi@a%cxAR^2CUhluQ0IH33Lb-$3+ zNAkGS%8JxUnme4U76vsU+xor0ak5%n`UHGA3lZnjPN*4qOwaP9tOf^I6E#>P>Wldz zS#WzUt5*7tDHSbuU*FGI;U;J@9zITuPwNyb@yZ_%P+?-oikb9KQA!2{&m%qY&MHT1 zf{BOe<2Lf5%lc%^-B$anmdg~bkQ|``Jm1rGbW#jGaD(aFBGd-=BX+qsxu;%p!ESeS z7$YCk)Beq&&@vEpgoY+-y17_pjlYob6kke{ z)8}*4GBsv(^pCL6-}yY@h6__rv*Skr#Ba6aj!ikbbl7#r3iW_6eSYs3p5T2jW>Sq} z0b2LuM2KNAuNjNK3RbvEs4DIM(E^4kPrF})I~TxA;lngGbJg4J9_p=mr4t%p zusEO9)BQEJJ13!{u`&4}M)^&pZgX`(L7)@z(~;_E{-78iBO6;BJx^lV?JtSED7SIj z-M_ADL*rQjJa)?-Ga6cKOJ{B--8NIjitug6&HjaM2lI$P^%Qo(DCua2vMg(@Y3YI_ z7m)W*lyopNKfav03rkMu-po%H-X=m_9UbA@^*8+La>;N`L{LG*j93=SeYf_8neAwT zmlWXvyQG@kV}6p?H{61m+>b*-rPGBq%b%~q^Cy%9RHT@vwT|m!Iy9xoF8d)|O%a9G z(CYX*>cwZ}Yij%2@=Lsy*3OXGvpcIF?_**Uv$R@#r`&wkxw}JNl7!rMunUG5Z$F?g zT#0tC4n&99Lm&laJUm=DMn^;{Z}V>Y_6AwIk~dFxowuoWC;vQODU|CBZP(Sxo^K9N z|J9XmgrrLsiHQ=?CS_fs*E~6cJ_&#iSt?31xtNl~FsYbyCTvd?tQ(zeLij_} z-)|!E@vY3vPb=h9l-mHTklRtuK1-*oeLxCHj?$ZI$O^k@DwR@tsR?rEBXJo?z(K5R zS+XqtP(qWxN*tWzdATDgA)!K?Cx=m0$SHoqtk?2)Y%D6;A4PpsbM0VX?uj^~7z|Q@ zMx#hh^F~BQZskOnj6qL3cY!1G`LUp6y}6t3BIq1Dn#q?C9ku9|=%0CV5Y1hX5rZt7t{ z%}&>w(7L)y+=(1X96EXy$0}y!7=S$eRjk#noZ6?uROJ}|mVqf-GKZIxC~u|~RSdZ( zbi`f42FWd1Iqqh8a=u)!Mb~J#=Ddn`A`LEFybsw_LLbs90T?Wa{8z(w&@b2(%3Top7fwwcflo6^~}OCMROACIW;BE}J<>J_0?0q;v=v zY^&!Kpjok0D-gASC~V`(k3unxn#RgqTatBq?;sS>WIEXo>(_II=!@ySr^*W{Hn+C* zgnFuRZs>YkHBB#ggx(^zffPNw` zCwBx!Q8jm3j11=-)%40c6+rkntoA6Y3m+nCpZMqT$8y3&T^+X2?#|Np$=cTEa*St` z+n@49s3__2yCd{Dmws`&47`t;m)LJVYTFZ&$~3cZiCaI0{);6OXp+jx%9Oyg=eI1~ z4{zlI_DbJQT$YsXa&Gd0zH@{N;08|d%kd4LEvz(e514RNPpiu=o$&}<_&SmfKqgiD z;}IM#Wx$=`2ilSH=H2yqTW#cJWktcl%PY&cNC+w`mIK*uuuV(~J_`!1T%yXCZGrW4 zm~X#4KS@#G!VGt@2Au6Z=#v5tWX&UfMXI4iDL$4#)L*e@FhSw&ZUn{3+4#hRQEfR~ zLXG9c)n#d@t^8Tz`(HZ*g-ZWOWVOK2nM6biV<5E1=8Ht{x=_SU_ttzLn1bI}N2%sS zbYg&ux)Up(DjE4L<6oV%|S3*Cl*BYLNvtATmu!h2f+7PL5(ncZOEp#Qk8KjA+bHh^ z7WVon!@g$c`YsvS0?i9pVtp-Ru1a^nc6STx6I?^C`Yu;NJn20>^*NrI0JCqgt)Zcz z9AyBQT1`98{pru2KSxJLpQWQ48XHyp!wJ=}lW56Z{gMH-Y4XqyCW+@N;@rhj>Y9<7 zstpF$8}}fh=(@6|yTP*Zq{*mEQ44Rc61dV2K;`av23ME>Hg~f}fkiUaK;$zm0 zXE-GJkcxFJ7|Vre_!r!SF8;A)&8l$yoimxxy5K%rTV_`79XTP2!c{gQp_J)4-*bB} z6x4*lBx4S!ynf*CB=LC5p@0QZ|L1L-nb5kHh5XxTv9ZcuAQ7Fk1Vc`Xe(Yx#%V#-j z!En)x=F>dV%$gW?PqXWLMS*_G{%FPU5>T%#%`gsb$^yN3{#43nL`+y=_vV;62iGE| zNx`^IlS&EC*_4C*d`Eq5X&;{za*kBM&94)jBh0jSJ-!XH&VJv~K5 zUvaJPO@R0>4i2oLmc^?SM1tx;&Vn~%=b?@Z7Z-pR zp3~&QI;ZV2cx(>30z=Cddvj)#CwT1?UME$$9SdmN3lND2G#fqbkc`gSwO>p+L+`_H z-6hH-CP%c!F#PfsHS~Q7ru2to)jy(Id|m-qWLcy{&6}dP!qF-)v**VkEn$HkT#Mf5L*1Xi{D$^k%Y?l#~=ci7JV^$jiWBGoH!U zpo{XQLARVn)jRLH-eO`WCw-y#O|Fni>A~LKkFYSlT4Q4u!N*qH$E#P^-)V__E{14^ zhK8`E_mGm%GrGRrljr$TK*U=e&j0nf7%lgnH(kPR8OA4#RZ^lvc3*DR9$+!Mo9bi? zaaU?&?zh~4iuj20SHg!d-HNPub|f}ysKCM@5|#?mGG zec0=NahZ=N8&*Mi?8tq=0Mq0%xD7CP{P~mh-W%xr!BxThb`@GRcJ}rqzF;{yidOApk}n-w zIR?Vpx4h^D#kfg6(F3vx)G%lV*e@!di3+o;&}B1<=i*J#@qgmy<|c>lqX&v|^kG@W z%s&TJV-y~tC|v&Pt1A~THRx!0RaFt?&Gnoim@SOnK#2%E7M9a@{y$$%+LM`^yQ#W5 z8a-xqsv6Kv6VGo>Gv{*9lDa7i>~pNK96KP865=p1b=8b5ulcV=2CT5M5X$&+#MFZi@kTP4<^TD$tlA;6D}bX6 zTHg};|J}y@zm4NhW+3t0s;Vf!Onz^nmZsMSLYyhu%_2`=zz2bTIfS?o0r&U+#z{6` zCatZ!S}XIiCPDYksZ1T(vCE@Roes!$0P$5=wCbaVGRXTpdZ_gSc zwJF5pR`|T0=a#YAyS@FCBoFUwFb-dVLS|)USRd_WB#Ou)Wkvmr3$yP@z z%akw~+{WnI%g9CETwECeCn31+(spo=9+kmuW=4`%8kEWDuwp3YrB8CgPne{XTS)16 zgZ^zj{s^IPdnDN#zVQ+q972nOf(QcjB&*Y3!{JJbvSsDvz@u1g!=Ltlw1CFWVBNSx z#28b-gO2^P3;q?TcPV8n?Evl)NweMr2xRp3YlFk@Jn_(5v&2Ni(dPqKYNf7JO3be$ z$!SdS@KaYQ87E1lz*x+GrUW2R$?F#E`PrraBQR+8MJ&hcgK-bj9K840`R+35St5ahT&Q4G`gi(l8ms3?+}8$11> zEsGffUJ&`ynDs6;6T13T?HA<4xY$?_NQxH29S2KJa!~dSVEje_{;#FmpltNbO=Bvj zCAlnNEG_(9ZG*ZB$^k?mPWvATUHqUz5<#ae6|x-n+-`)1aQrVy(*=Vv`^qwE`6Cih z!_=bIWh+z9>Gw}@YkORAAxfAPK3OMRnk02ib5jBH3}XMt>_=ZltoKwRMJCE^j=k6k zIEVyznAa?3tRzs}WsT~}Y-<3QDp;9o>(Th(^?<{9wXRG&O_m+ws`-q&IZK&g=KSY* z?T)N#EKK0HrlmYXj4odK9@a+@tS6P$W68N-pgeos20xu4X^52=`lX&^Y*oeooJ@i? z8H*fwjT_&KqU?CZ=&XqAqgodmrs+e}JSp_I9D+HYZX>pMA4|_-+9x^y`KHPtsm4df zJ=(ZH(W*lzJf_`}Mrty+Hh2mqlgv(CAgWe=X_6Bj@o*o!q1Y zb}c?$V2XAY1IIpCWzRg?tn6rwq^i~nsGc2niZPwRwKC;(4Voyn3S56A{_fvzHC=q?9LhUOutN~ z!&khwVfAHBpVc081PG&MLW^F>PPdw>6*1b8r=d#B(rbDxG2@$ zxJGpz!LwDpi51CcUM*Sv6D5Rl*yR~HBw&mpIF!*lT(~{i59RA9ah!xwC*Rj;#)zi0 zG?)9wD9i~JIaLZCk?Jf9ZZ#(ppY>&%deTea|AO!7MXVZm#(7IzvpE}6ztlT=tpcj! z#0mRG51t{fs0|!iVH_(mId!P$vu0egpj|ZQa#5)tUDTA$3q4FvbLkII^e&muZi<=x z%T3WL(EKH10g*DzI{F88_T*XFfN;WHDxoq)607W&e95J6Gd8qOsa!LY>yD3JrZ6|V zmwRs0Atms(DA=c~mqv_`GX(m>JxI{FOlBW&&~~$nZfdl6-;)CZL?lXp)>{$(ksxu5 zHWZ8}KS}+%_`<71NhO{{TfCuVMiR8-WGB0=Si_E1@|al%5#A8)-O$pf+oY@{N|bfX zRzcs7el>Xx92`WElDcKslxXs78pKE5sY&Ni+;$i!p~yrem+dkXXbSAub{qC-=xVpNzaSuHfLIUKIh)BR zZz5t{cH@&MqSY0qzkXux9op%kBT)K*}j)-(V`bwkAhYR|p}09i6_|%oZ!zn0Ps@ zzFb&3ta_{`;*Z>hnvr8=ac_oe1NBzu3#OAKtl+>(fZIt?lWz4+5RJX#p_0l&g6=w17X+Za?Lb3 z%(%Lw%(xDt5Oj|wn3V;qE`Kf&-7Y3k+%XDCRtRSv(s1%%4$FW*1&MtoA0uM+MLvn4 zA$Ilc@Vd3vATm*=>C%7O0FTn!)Aw98Woc8KM{vxL8h2uawaSKhn^xNS?i8E&l4#MX zd4l<5ZF7PL9p|~YntDyj4^s(I?l@LbnQDkvzLbBE-J0gD-_GWagMRO&S=37z5lOC4 zB@ke&nt_kqJq`ZbasH}UquR?-{9a;3=;7D#tIT-}pepyzLfXZ|12;_yvS#tHakVrx zCo%*Q(B8-Y{VTwaJ(Tz0_INHE=;oHu${Z?idNjZM3I4tqV}PsS6~w%JjBos;5?A~r z2RrN=IaZ5oyscq4BV%wmZ^*x@y1}m$jWJW7DSg@CRy7E+kDD#4nG)3JVRe?}bdv-l zZX8RG>*{6f$;WY$<3>(AZgocC5YTsHayB-*m3zftNvdcDRMd!<<)3LMCN$+SG>sda z&0x#3eo7eB7uvbt*7XGIl>Zhf@U-fQIJim46Q)4OD|JLNlohX;MHiE1!MMawA{QfT z!?+-;Ea5Lj$~B;#VP;3W)m*|1RLsm;`am74X=+pW5IqFx*T;w=-}C->{kqb$Wh={# zDWG)DqAxASG|5<5m2tM?gw1p%3mYyg7G7Y|2}-gj&6Hw6L*(8hv~}4A3)*#cI-2L2 zl6IiZT*ocg&K_P{H@5vOwcPAioHKMk-slN^dU^^B42+Wcys~|A0_bG)@UE9NPE1&x z(0=RwkYRMYJk(1pBXHl38P6e?hrX$YZ+Lq|z^o@T=rPiD86-6sG<*&qi&QW zSe{Ob4^HeXzuULY&q71vo*=DMVopX<-pdh`5%Y;NDdSM4d}{~$gS?~@7n63B4p={W znk88PW86A#-RwhVSoiTy6Z+m3IX!*1zKF3!l5CF$O zDqh;NN9UB9XRG6{7R>djW8GB`5tx`&-vZH`U$rFu_QU%K4IL`8-~RHCq@M*}&RsWs zIJz5^VKWrPRViu#_U&ZPZHPM|J0NkPuzAZq|4LllI*V0ImHW&$LwQD z(BwV`6{YXXGM9KJ{$kb+`d)C}`dej#dUQt{2#}&|UOSJOGw?G#$y`t?+nQ1qsi>%E z-v~L}s|GC0zkgMJ2lWEU47IPj82tdZK52b8p_0cHfH=eYQf7HvG|{%5?vPHq-Nzc| zfG}bAe+uk9(#huLB}|&^?B+ySzWsW3>E&jjM5&R%H?XKA>-qHI6bf(M&GGnG8;puO zfBN*G!EiK!ipS*W{RwAi{yg_L1}HF^0@k{lS-X=Wvd8ltp;%N_#;3!Z$hRbmK9DS) z7IFVRJ_s>*!Kjgn(m{+Xdw|quYow+to7=Tqsp8?_&_3JuV5o(++C4iXL%`FCo=E-G ztLK_-_yJg11gxvO>oRw1$M9LE?wc~{If@ko(eio`2PRY-;@MO%pRAerxF0WG!=zt| zf-65um*PqJ`Q6^#1&2CbcVGy6oEB%;m6cbcBcBihaa}?=IXNE4@|T(7FcmqaW&X(`xOIyL~-KhD|eCOX}5G4+cl*c=}WTc>i5eAy$Falung-+?yqvg(nTX z5K*Gfe-$zs8s5yUIcy^A=5zzTx{ZxZj`zhm!BhzkH#ez*at@z!|BT;@0K{`@tXc4W zum=byUYXW8Z2URjY>jAGc6%U6G4PW0@ZjxkUb5>9wr>WMmZPIgIxw|>(&lgXDZAF~ zoecZ7I78DHe;cc9YO)vSmD5#yWUKqguW)k$p-txrp-aFkT3Ui2c5d{g7@TY$=I?sl zWZk?y_1fEzPHI|=PXNBcKLGCy2p^xByy`9r6H~+idRNznof=}PjoE@8R0z&Bd=sx! zSz0k;P3Ch|%jay)qTA#$wKGOXmq6-!3$xeqeR?V<6BHEOa=L4<0%v5jwie?u>FjOx zjFo)A!crs~#Wn0##wR1f+H9D3e0+_f0lhhLdJkkal)J3^!U3&zO|iosC~qhi^=)rS+FbOmLR>u*y1k>z5^n(+uoPgJUpu&J%Gmh$M&m4nfe8C z84D%m$)ekeGC}*piQoS9GBFZxr27E~m&Y&RbQs%PJF5;oif|^NAPE(0n!57q--Nw^ zA1yrGVks+Svif)PQPT~L9Htg(=<7cXevaX*cC4gqg|>8`-`l(g8O3gGZL#RK{mqW` zsAW@?#~qs(W8mG0oo**5tW-qapVK?3k0=18Ed3hRUHBSS!v0?`-GIgL8M53!$HQ~_ zbhDb*aP@HNw+x+F!B!N0-t%WsDEU8HKo5rSqfD8af!9zU5UDk^hR*PC28D#6oETrn zh!7}BSqH%`1WvmE9c%5c7!=9pQGTqLBVJUqR)xw%{0NwS8f*4C7NTJ}yIUQc^1H9EKF>qbCM zSAA|)UhDxm#shaWhp9zam^nmv9+dewHCr08b&ot0jm}jSJ|^Vq^E#;T<6c9Nyv11N z{>jPn=E2O8`;o^%8O`mrQ`*t}VReDp2iM}dy6A6a=Bh;F=l=Wq``s_K(Fa0_vCpo% zB6mq}HrceaG{5fq#q2tHC8g+?=4PELJNwi1O(oroUk#Z$$1qPWAZ7G`jMXnKDJgU@ z*kkB(?dmCsa7gs*K3vtj!i>wOOi*Jr#R>xLiCUo&8PMx20M8BQ>zSDueHR#&zo;mn zei|Da1MyR+zE7tf^UKMS{Vf`>wPrw2^?85;$PR%^tA^TK?l8?6ICB-1$}_j7vP`Cq z;igq82ak))KJmGq5bIdZG+ZzVT0_}%xA%>_y!7-cL))dT<-)bSN7oc41TQ&#vbiDj zK9#yR7N>8Tk8fWuwV!rG$zg)NbnoeT5Xa|&p}*eAepdPNli)=3Z_i(gvftL;-Oc{V81ujvlt?97tOS)P1NhvAWT|##@w&5fU=e=2ml8FRz z7ZIZfc?E6&j>=LqB(LpbH$hP{u#=}Mo>r^62o!(>wT6w;loW>qhfq=WvgkEztwK*! z+snko#fU?{s0!_s(d0C(*;-qh_C{EO7~=TT!~V%!(Sot-%l%FceW$|*(bH-(3X*H7?GIF9JI zyG_9^p!1y;7)b?;xFb(DB7aw5=Ra-4F_3d)&v5K6i8N_a!+yqZ^3aK;f>a ztknBy^ek}Nk&%^fIW}jwI1vKfyq>EDv_0ra=gZ6LJ%(Sto~^=r*M%d2{i65=-=2`^ zX?3U!=0dghpqmx=1D^575=CU+A^J1E z!S#?E5E@yHfM@K((|KGvH6aMlyk{qXz%)SX@X z6vJ`bC=L{bMEY!xM>b!6P^W=16Sp!(jIzj6Wo@lhUy@ek-QDi&tmXj6%QbpW#^Bsq zWns6g`Dm)>eo0qXcAJO&~$jbcZ(N4c5HJ30i}FZSM3-A3*<0y(=@PtO?Pix1cJk%$Eu8M-W{@w9*S zyw4@orJTU+o!2`=qN1YMfAaHNYL}*A(DmP;$xH%Fe0*tZ9_48DMYSb4UKc>zzV39u z*KKK(faA}f9*a>yel}zhk>j(@o7J^udy#JQ;jN+OwP%dqEF!|p&jJ_9L?L@TCNqOS1Yc?M?loPR9IGMQ-wuM{?`_ zHFxCt>t-5VjFcvvHW-&fd-2vgqW6b9wm+i74}`xgF*6*#!?B7_7yu9u-vmSG>O=Rs z!|}{`1{{L;#NM1k@{Pu*j}k6<56ei2G_`SVjm19rP0w}I!FE()YbS(IU}@h}6R)d; zzFr(qX>YMhS!<78@87~7oW-iQj(cytA5Yb3&+2B&4$PJD;v$6AW5%qiyO|-ClRvGW zX?fR2OL}r71e?v)A&VZ(Wfsg78>9Shyv$47C(6*dHP}H}bEUuUQ}*`!nB~(rJNJMa zPF(n`aZW7$|HjX*U>&qg)DM<2PKB{QiyW5&evkGeI(2f>3(qVtD|0bLR!H8JYX>Hy zDkt?=Od9@gR&6h8W*Aq>Ik3(Qvxzpjy|pT_aW8s7%KoI1J8q=EenubCqD|J+98gwx zG%5jy3KJRpZ>TL-T8)iEH!UWdsM5!meM#k)lClwdo>j=M6kA}};TTN3)Jq~Kqrp~N z{6CxJJ8A1sOU0-YjlZkF$5E@kCQRI&--@_jW(w+X?XECokJ&A=023zLPDPj@55L1JL68D}#M+6$y`8ouykFsL6)~ zDY`iQ?EzbY(~+osX2?eJjfT^d%zc@5MD~Bz0U!NoRDb-BVCzWa56NZx&+Kfe@?v96 zs!P$kWw1`HfcfX)@eE1D%EGiL3=@PX+uJ{>|IPA!km@5J=AX9HO`2(?uJJ!Uq5mW+ zp%;X?)Ml3u&?+jkU8PsezI32))jIa8ilFO%KhBr=-v_34-217s#*rWUa$8jyyZv>? ze?kZjek(;BdSe$+L5;%#5760cJGx$%X`bT`TvsiGz9XCw7aow}MG zv%Q?mf0v43Mp_?}w6%rcijXPaBhbX<{zL&inR4syVN@;N?|?*DcpBr;kgx^JrP=pT zgDCN5(sdReeL9y{LI!HMK@MD314*Ina+H`bmV^z=_}tU85{^h~slXvcA;Iu1(0W}d zwqmyeek5-xn9WTRM0Y z8(pshh?$^CCMx{hy_!L!*1+hxFh}i_-={%hwK`Rk4UG{J3d||?3vCI&q5T?kjYqU|w{(TVNmAJ$ zC`>mDG-18@j;0C24D^5w^Hw}wEbko#YF^gToQhHW$hYln93@@3B1{xnsRFBoNy(~o z&2Uk(Z5$U4I`Y+txlpmB8EYm+`tcE#!YB)+oHm;Y;b(toCnqAJjFsgT>S*QFP74vL z!ZeOz0PaBeunRrTJRf)>Z`S1UkmVj2`cUM0MXc1+Y}NPdz<7kjbEP^=*Ea zTN(9lZ)d_6mjp1eHsK{j?k<*AG}cK6U+&3&n*#f~zPSW61e8_^HgY8j0%49ejG`0+ z&(5ME$tq2ODi%gYug%63py@iYnXP{EncAr`ST#`6RST%M$6azrPIB3&Wo0&2R%q|v=VJ8t6-R#ubqj|S7WR6y>LvTqCM2Uq$N>?5CK?8Txo_;3 zM1QNjJ32AUiHqAi1O-QN>($EMpaiDH=}6s1fCVeY<)2iQ4ZRmWz|xa{^Q$3!m1ESaJ2 zwc>DLSO9WaYwO*_wcpI_tcHeGbCb0iwPMT3Vg*NibkJL*+B}yn8Sd>rK)1c(bcqH} zdU@KaFD~AJo^&O2%YHou7+ve_pG!Oz0~wzBdT02_QchNau9oiZ;ckW?wbgj$!ntED zV2y_ak|WDrqeWdAcc*2?Ss9|EqM@S+J@+4&5(|aaWol^&dXPAzUgovainr#yiK8R#GpU%-#Hh!clOOLxV;YZ%)V$N| zInp$pC~IYf)Sy!(S9H)Nst92!D!m*Rf}Z~iepL0jJugw8({t?GhQU-l?+_~d?(dB5 zp*0;>f^R_IH-6#JBwXEG7F~QXR%M&9HJ`{d=Ol>|Knc#oj8~^m6L!7mY6uL)aJCOm z0MqQ?U^g{4f?or$Q(0Y>!Rxymtq-kQDTe3se@IHF`1~hpc4~=Lqg+g^MNL9i7wYU> zQB&h?rorXMvIq&-+dej>Dl>$iikxj8Z~@b>t?+}2Te(R;ktZ@&nY*Cgh_J9?yRxU9 z{-_K<1Ey%}s%i+$%v?qyZJFy?$wI^QYJ0Lm%Jw)iJ~%m^Z-oy13sxfH|^YTKRG3yZ% zXX#j91|st80G`;2W5&}~Mv|o*HC#CC#DxzZbP0Ck)zTds@vjjc${P57?Ecb7<;AeA z{0&RKv?N(tveL8OqPI_K7Z00H_}gYNBr=2L3()4)+P{cCc!lfLTPT*qHh7Mpw+->E zr)o%8g)M}{{51w9ne$h6Bzil?Qo`Exv6EN-kl3%fPIPxJ{oFzQKUzR%XW`^{4ri98 z)|v_#sV`@VS{pDg-uc{CVdeQ0617%yAJ?WO@_0M7blT<2b36~ubNrsK4PV+!KVV@lbeWdq)Yxll z)8f=N*{-;8Qikzj=NWkK&+ye-Wc$oIJ&2cntkf*?eKtGh(yCeS_9i1c?Tf%=UBbZG ztXnBwvhN(4n!4PPrPKtR9%8C2W;FWB|qW!3ZaTFWq>%oYH-Kmg>_^nErBLZ`+&An1Pg zH_>v~iLvVR+r4%gD61QlM{c?Sd0xuw*K-F4U@*0c+tBFnPJ&|pMrC0yZ%M3+2|KzO zUlm(=q&I?1V*O&s`kqT0AXz&uPWDZk$xrZd+Mn3g@2AFI-B+;iuND$cxUapOodw>w zuNfN{JeQMct^peWh&3g3@5|cKsnEl6ggRQsO*RmYvsgR&gF0R?fsI~TDxOuDOt+hq4LCt_bxIgvUrqov>KKGAiQxtu7A1+a|w+3Py9Wur2@+g_6Wl$)gS)#sY&5vL zTY|eKB)9~Jy^+`CJLlXw@7-6gZq=*%>+%n%y>_qFy?V|$#+aj@ugT;1Bo#ezK`*E7 z{1(e$$men_)QaVj`OI87I}uj*-sVRMCjbhzbDn;yC@;_M!emTqymkzctyyajXsuP6 z-t610sI9oV4y`aSG}stPHqwoadVaSv43yc!3i2TfrNA+Pd&Rb_6~(B~%mRKBDFlVU zU_>_Bo>x@L)t`3nR&M%9>O+#Y^3`Ght)jwA_b|f#v$M0)s57G5oSu`8n~UH3T(Af0 z+_CgOsdIzxilJ(kpw%2NG42?VS4pj6{@b@i-K@3@oeHm`U$exKUpn=lya3NM0X$Pu z(t|h4a=0bXvPsj0xvb)K6FE#)FQN8vWs*6L#208GBRImB#?teIu>f%50`2Kb==Ln=O?|JQ;9h9E`Mcu!g$FA%S&4f zU^TSLU$Vmu4RWrU%Nt?E7pr%#uA?76eE4wgMRo$2zsSz7`Pp|iyF>I$>nG1ue65>~ zn)>?s`ZGRmtlxP`3`az&K$WqJP4zpkKPi87JKo-WMmm!8n%94x&q+@Hw7=<$h|98N zSNCqMJx!9#YsfS41}9AldhTXSCZ_xo#HcTR_t6fHdb>@3`) z^uW=yw(%2Ughd}E)w}p0bclT;L;IJ!+}w)M&T+G^dm0uq*RE?Fol{fT{b%p%_lru4 zU9ZOjiPaQ&E}ixdm6hzYAibpKX{}dYhk_?lhAS&8H3ba~epOQ|9&p2)Tw1K_i`wIO5ejBM`5T7I$%ui!uY_`O%nz#s>DHP8^thi>$N zxXHX1=UiJ{%ufl|#^Ufu-hXJQxY97z41GjZv=}QzV0t)|XiY^^(-<9sgA<>fP2MX1 z3K0Q;Mh|3hDq%=E967pIrxErrvryOh09WFvU%Y9b#J&js+}$lxEKcjgn6z%LUuNN+TVG&@Me(f zs;Jy75ZNr--f$}CI4mG@ZWO7V9l*&He(<{U?ACIx$Vkg%*(<4RX!1yH4`0EaBzgdBMC%y7?k%St(v%BTsD)-=_H}dU8*WH zGBjW6bpEa_DC~*6v~->UU3|kfle>URD=55UeUP#OvV4{Gh<_TXeVQ$a*V#JAnFTtU$)`NMp>Fsy}T|ecH zT$jD(b&Nr?m$G+oI5|5y@OU)Ct^9Uu$8niCn#*EC8E!8ttIg~N;1Q4pjq=u+iU}D^ zN$=`FFqgVBth>K;S|6lo$W^53*fjjwAR>lqDgVy$a|HO`sbd5TZB`dPMiFUsX|X;* z6{_p;3sIMh%$R>Q<7_Xj`YS3r`ntRbsGJ0nGLELO`YGv9Y{8q$tfDoiH`n9@A0e0| z#=_KSG3~7W);={=W)C^a&-yZ^O6vBShX({^(md3Q+rT?OV-@B~Ly|8K;Ro4O$=QJz zZrHa)!cHIvj0wfQw{B`<%D(l=^qRh@sU2o&y-bZ?ZT&q_GCDe{pb*Wy{80cCv%~i1 z_nE7UJShNmD|1+Bav|ibZP{5y$>1jv6B4>FjTR|8ygG?XC+R~MGB-0bDh!&g+%ejB zE?f^Ux7*^RDtBUA9xQ70CAXG1D2nbBAtNkB$cG(Ms#-npW_EXU)hkWS zk%bK3{E;Qvm91Un6j-F+7T_7><~%7(husjHjIC=#Y*{0yQgwF!%q( z>c|IlD`RRfsNUD_rxs#iy+{7~hK>LHG_Z2GUY!;bjkQec6YF8nExdgrzCzXsM~GQlJ)XBSJV$RA-18&inje z#T>`DisUm;`PSs>T3zmgd}lek9SjcPzr~&D-~FJ3hY%#{pOv*iH4Ir&7;xzyA#9;n zs#7LHJX!>%=n%pEk|Rsho(1Ud)}5=f3e>3}}HAEMW=OC@#_nbk~Z;lk;0 z?$hJ9%*ibJ!~k)`_wGc6#6`J#w9Jpi4&^x*j}Ckt1+<2-mIP+6m?SPv;@4DmiuHG@ z9-_Hxxz{)Dprf}rkTO`Ejhgn&OAIyD>E9MPIWN0Jd@L+>%aYzWZE8aa<|= z)vNfBot*{Xo)gxsQDbMN?F&>KP!(jmN+e%>Sj}KWU|fcsdf_BHzNPX@6cp5!%bch9 z7gh$<#-nr9HbQtYVrfIg#bCEOOm|tq0CrwPmX{WjV7LFVzHXXqud?vj7d!P8<@o3z zH1-wwc$eSN`hB(N@HVs}68#=k}5@c)eSgl_e}KW%ii;((mWS0WL0K z)tzuaVPRme!MN$d2wrzB*AI&^ zc?HFllpHiP{I!@0@7=ecHKh#P6=Qb3jnyVWy_iU%S#52C46mm=*HMm)vewpI z?a3KyuLj_w78+h4vA9xmnp6}NQf%(K@|;MNF=ZfasU-n7+++CK=Ov671EWBZPKNp{ zY+LE_Y@WA9gWi{1l##2D^Hh5sZ_7>0DYtB~F0;*&R+lP9no3Q_j<@Usct1t=DE)zd z$IPg#2h42A?Y*Ir0~wk4awP<-uaIoWa%(56x4*AQd8jBTsOOTWbtTG)GBE^FvY*Ighh8$D?IaBVC{`g^DE_Iaw4)0wi&k3^aFAJTB?Nj^{maO zrv_se`1y8ri1z5AD<`uBR>_j~ro1;}`sgm)bl9>fJP}=^r%-53R2)7TF5!rfnW55T z-G1{ni6gA0Fdgw<{wva029c zIOF5-{Er`)AOf-cg>)hRJ9pE^hAo@T-)xKjuhr9ugoSS=d?NbLD2FWi0f;Vtn`7Kud~EW$vp-Zj9m^ zeFcvj*20#fWsbJ-$%P@#WrG|F67D1pyV70*Cjj8$8+3Md*00#F1G(Gvw^SP?wCz)) z!qE(YNxMg|h*ihQGv?Oog}h*_0vSka-jz>9o930o^4%32o(alK&*$7=BC?2d0mcTQ~J%Vry$@8-OdYm4+3F!5M+Qe8u!P?dCE{bFazVL=-&E8eALfC z*Ryi85jO}u{a!PwLSO!cnTCqm{rY?J^)c8_w!6*N`^h{8+V(a#;e-8$>>!$bCb;e- z1}he>vz*QFSaykzO5f!lI2;K@dzeO=|+zJZha{PKM z3u&pSP-}={bl?5_{yigwO~1dq6+3>xlBQz(7D~4HYdaZqAkGqqi24+bt7`Gn;;p0Te%WMoX0-C4_jMa zL%%BPuD(;$+}PYDBEcay$Ps`~^hH2ILc_UI8O`5|t&{M4EMk@?#|$Q@J}w-vTC7af zZFE_E0~Q`aZcJzff2-3XQ-3OMsL`S`Qv=xK6J}<7x?bjvi8m z=&vn1x{E8KD>G>7=*BbtCUHDFp)JXmQ|DL>= z)`P?wl^u_|x=PiWd?pZwixryGd-)?tI~!LVQwzYF#flhKO#hi zQfjo2a+VA^*y#=J+AM$RTeG(&@0YFNiU>3yqVqmI`HB0%ppGS=Q}4|^V{403yI)!t ze${L@jEPZVVL~;^(A;*SBQ4TWg^Ro0%Q)70lG8AXLc~8irp==M=Wev58t~|?e{6&+ zOC@Rc#VHmDoXgZyKG2G$9cVo<_GVPrmXVzG`}73`&G+*kR@jy?o!!D^v_e2I%Ax}! ze_ysa+qae=!dixeuaGlhnC1DO(xSXqw3F_ABQ4n{yS96lU0;{#qOl+y-olfxEjyyO z!RKggf6y&I8bYWc_sF-?2TZ1Rpz7*WDJ#A#E}WUt*28by4*H$jI9(5|yb*LZXyaw8`*Dx+F?`eiTRPd2!9XqD&4e_!q_b zAdEqkp8L6*^wv=wQCR4*$l?8BvoJS%`uhYoxc3zW8pY`-=3B~B5ZcCHP<9SX>VIe+ z=1;^MNITTV?&iXsPq3WTwU{DprKd{jToVDQ{-`Mngc36p2ifd0+lJT!j^FW0?+z_L z%ATEkp6ao!Va(noD}*KJ{(Evi`uTCle0O_HfkTyTrk_5%LU-UG`k0?T*rFRkRjS!t z5MW=}{)x7cd{ORYOLAdMst+5PnHkI9ivp!Gh^Th-Tfu14g4N<%ewz^DKJxkc&)FcU z2T4C2gK8b!$=2v-FMgH>UGP1zis1O?Uw?`zxjGQtWZy5^aWA&tb;w(IZX40a%8r7q zK`sch+X{xjjG2a->3J@0V9>Rv!ESoB8^4-fdwsgl)D#mlVNr3_tnMzOsN1e@s18&L z$N1qAqKl_B-I-n*{MJiz00wujK8E{riS#%7JbYx+a7&2PJvLMJeseUnA3^VxhE;bO z<~2Ss9vy_`XQ}FL+YNku-QX$}GgyogQ$C%oG3(2gkWHHv2jTwvl+lf8p&N#H`+053 z1G_H^%32#Hi)s)nd02}8dk{~FZ?B;tX<%sh@X;e;HCHz`rGhJfp}h=L(qw0QR$E{1 z1z)D4#snk^5bc{}dJTFWQsL<)B|Vpax>^Ra>&5XJ9^o_Kz%P`6Oz)yeQ@Nm3fXsWT zjho{%kyDC}ij#l-V&+%jL0!!{&%4OQuDY<$T>uN=e0!w_>UFmiavn0G8p~ zxBa%_fp!+o)@V76UXqwz=Qp!;dJm3jUhZEAZB^PgriHs2$6f{ZlieCF!$w9JKuDqa ziyS#%#^esp)}F<}(&4o<_p|z&rkq950}ftJqr=;p`^aoJoCETiiDQ22X8-p2Nv$CQ zg1|?<4?VAsXlgZqG}%#ea%^mFW~F@Gw9aOg0Gl{2HdQitJ7UpBKX-0#p8XzOM+Nss zPIsP{Pm=XDWqqh%16Nmf^?+!0YD&lL3?*2sYqjQibw1pfTgyw9+^vhqom#pQEYuWwqCi42`v6a{lV8hsIwRoO!kk0F{p`uo%XPeV@eOyAq@61!) z2t-_a!@wJ?@kdBID}uMu{Y{2+>SbLXfAd;8-@a@6QjvG?{_We)z{0@EzOyqlfZOHx zgIaFE_Ua0;l9kmU__B$}IygKS*D3vh3#=+%sZi#2Yh6BpSr_;D^Rc-(sZS+YUu=7E z5^d(b*iG~xE2}JII9^zIfn{MRuP0P2lcY6kTut0YU2#cmg<$TAtsQ zUHHlvm}t?EpCvfQhwc@fpZxYsk0-C5ckh<17dTz>P*!QWnzLxl- zrpC-1EW2T0VfBTR?0!FJv;BTuw&*+t)AhQsI?6#56kGwXs-7NT`hj@^(k1*C9`^h! zWl#Ui)Qm!+U*}exm)C+H^1AD40U-T+;_}`{{gBN_V>9gI0MOm-20*z4trnCu8#Z=u zzP0|22@Kp!ziUaqk4JMa0x9zqS-E&=JGfrnT z-VOnde0P_K;FOGWt?qE{3=j<*++^tt@JJ^w(2Fse&c4`Y+^w4mq<#~Va$w`wKKVXU zy4-v*7K!DwWc?-mfg~p|iXbE=o>OW9v282y%`*sf>|miq+(A;$$3nN(*4JhL_#`E@ z4n{s|c0SzIBu9CQw!Jl`sxtfK7Ash++C*-(`OaIl-@z<7r$M^7j zd-;v8`P=$c=jy<~$3(r>tv7No^3BAG)>~uPHSmFfUtO`y;^GkvgG}w2_NH=E4%2yR zL@MtJcKA?m%%8LfNq{oBq{O1DTNLpy-*5aaV}J0pxlvtg2ebolNd0B{s^*L05&`Us zU*bLB=xo+c5@hj(oWHGbG&M5szaR|OpcWib(msijds3PxfT?+p4T;5kZWWFZqcsB-CoENvp|qNA zY+_+yq6?rB8L&<(HMX+DRk=( zClPgHVy^hfoiNzItbdVlvwT63IK25aL%&@^QFG-7%c~Gq6HYMSYXz!Gpb*n^i2z=Nwm1(9h1E zUA7IK<|3Lno7EQ8u2$2zLHFQ3Y`94P+~a;^zR0-1g@BX?pYiS@(6#cOznP!ahPwdP zlHR8A3Mr)VJW$JXo(hXPjBFJ2ej*_Cz6i|gxl|Y2B>g&6UQ|?7QTUO=+7fd){yEuf ztH`=ozA_AU`OZq1E_%#o+_bpFLMkXUpDSFa;sQYZqr)aQVw`zDVie&|X!=^^C8uVl zCw+Q%UR#mJL#wLn)$8|aKa9Wba=^ypEB2MifbSd6Yv1;nYNpxhfgh|JHy z@OZKxk9Y|`c^ZKnycuT=whFn9EdRW#6Ju!8*U5u1a}q2}+KSS!@bDb8hu1f9LRQhL zg^N{ACi2ZWw@*DTFFz`T({NYlA>r7Fy@bjTk`Xbg4M1txd7Ut=R5ev~R8%MoJct=LPf13VGFM8F5LmqK^{)CHh; z;|BW3($MG9MbN1a!o+(XKD>TL%2zr|fQ@psr!iS?y*Pc5y&ADK&;HB^uu^zDGBPiU zDxt}2ibFj|AnY93ji1lwn4wF=2E*Pc&l`YziDe>q{&^I#wtkInA_>l0$|+R`C8d3c z*_cCZ=2(>8kj_J7=r`XvO-)UzABJr@okQ`h96k=go9I_g6PKr=8c2(AValQ@9CpOZ;=}Rr(^vf# zAA#;CJ|O{U=3L!A)dJ}YqvU=;N(`Ub?14uOiv>(s)8U~kH=S&4P2Gf#I_0^o3up)` z>?06J+^>22IgK(QDEDReRYj2hc+uBeX-4~{mla)2qmF;Cj zs(>qTDs2|r^TUK;LFVz<8Ph9LDHE!xh-!w$LX|1NSIO}3(4M*)ARNMps~cHal0B+xu>_!(JO9}EE$;Uy9&67 zW5-JqtQ}@Lzwp@ki9H0-khE_WQf0s$S2A^KnoD|BE4{tB383bJ@tVz~r+wkF;DCpP zXCxvMPuA9d>CBGp9d3#*t9!m6Y!HNPLcFA>xoiHqbYu0_-+dc+W!u1Ant_s=W5`X! z5+4_itcT@`Pdp1YL3DJN+b%1y!dZG8lzzmf;pLglo#FCVlj^0o$uiPLL_5t2nOyY2OsB_z!Jh^azek5SklBLFlG48#0hep*0| z0zvFmvBU;e(k8y)A~9OjXsEwcOR!N9U=Ry~?dhe5_7ir1p3K=9ZmT)98-$?vyMxtr zZDfEWeRa)S{fbUuv>*~WxC`y9{rLDP(AKR0dm_4Aj(6si<_HdJy3bW`&{!lSAWFD_L zc!(x};F{a(#)uF`cS`d;n$It99Sc!1($F{DAT+WbFVpN}Tic54DC3OM?ANRTs%WVz z=SArBC-J6oqOUG|D_exJT1xhQzy@Lf)9GAPJM@}B>|E$F@@Cj;pnTcc35DngFpeeD z4EAGAWv_2<*IRN#+4iElq6|e0mM9krFKa%<4u-ug1KWV`>i0a-`+DpF&u72_=p{9> zB*)uf-BqfSsm}G}8Q`vW9}_l6r2i)n0Q7^_l7f^*Y{IZ`oLiW&^^|!U^ZQRpi!wIG zZuAZQ@6fF~Men82h{;KeVfz29=f$n~ORNlUt(U6AdUh5xAnd~jDG-X0YKQDnfANI^ zDsbyi#(nk_^0p{;R~~L`LucbF!`i4)L^df$A&pzNFE$Qlm(zlY(k-V?sCVKQl~y4x)BA_KhTULqu<0W;b*10FJ#bX;#H1-*>ko|dUpmc(MIH>S zgLW*N{rKtsnOFX~C%Ff3HzARjVUcDa(MR~#sW|uJ4d9L)Tw0hJpDAZ2lpRq4Jd+D| zeqpmFUHs`0`5DQc*W>wf#hD@_reU>SW63WiO3CdhodfsK1522KNO8G^B0Wy$gBANL zTB21~EhOJ)17Z?$TW@(?drYdl_g))<%{(Z!?LVuuf9)+hM8!(H`17T##pDVi$7e^j zzx>3ues8^)rV}qIknh~Ae$@Sfe11IJvnKOjU-BtnLESRRR*im<&(UK(rpdB>xEmymo7x`{#!&E02|i0R-%*OQC+|M+&Sw6HCjFnM0o}uR2>A2FCX9IM^H_h@ zA%3Trb|&0I0q=f5!b#KSR)8pM^91F0a>>r&2XRaceu|7iIA1qa7*i2Y?}xnvN%GzG za0NJSGN1 zC?S{Or3=+CMipzgPZ1+1~PT z+y}Jvm}I(bLup9!Qy1$Fr%X8j0oABJ;zSPQyD9+NNtBj)V9hX>o@%(gM|luK-Q2Xn zgmR`=!FZ^p3Yjl4A@+D;Rl!{uh{tni{!72EF{yJvm={V~@;XDNGj#9Voeu zlUS7s@~oF?GzuqA7T?JO=ft~>)N*-9@<2mqPx6Y#9ffP=r;{?5Q`eiJL)G!2O`VTd zonEWMcnNa6x;Xq^sBTt|>zDdny4z(xltjKD4@Zi~t%FC$-@h6XB>m1r%Xx%~hK3Z3 zadB~S$*+@FjlcVRdOXRl^YJJi$h4L66*U+VQg%}QXh1vP z8Zi?kcJ0%e=eV?h33iVTQ;<#qclZ#`8P`y8E#sI?`$mSC=Z)~P)2U{UGq92~B$ z%IJ&HVaj%rJwO^sdb6!Qn92S8tTK1zuR0qbL@RNL|U zl|*i(Xo<)9RU+|4?sQWR&Tx@Vl=iokh2Hc931WItQk3$p4|R?!?k4E`TEolmF0-Xk zMk+}c%&k7EJoJmo%qjv@7iG~LKQRG=4Zzr+S$z0&n?>tW)+eW@L80MSuD@J>1YoDe zNJHb3o-o2)Uydr2)bqDzzZ)=V(L&&y6%?>NrPd|Lsd`RD9_t?}rdDRKQC^-^AJb}& zG)dUVIYpO-(}|OlWaUGZ9?a?ZrLoQd4&tHQBO=9=^REx_Tz2ARH%ARu`$%lg4@o>Z zu$)F;&=QBiU~Dh%*Rc+u@^0YhGRZO0f8;+vhTyWGH+vueT2u~~=2Yk*%b+)ogndpe zaIO);P@SM1Z_goKmeeC-?7T{5IlbE8=rn)%HJS34B9ojpYo$Z=O}r>+Oeya0c=x{5 zhsvTrqc7{ZQQcKmo#f=e;tPh!gK@v$qSKq5EfyALuCGf{Q&Z&%^SQ%W4e!reQoB2K z@NT~YiV4uTyV-CPk=~r?evRQdZv=*-&7WLC?&0kH6mocI7|Ec=Eo($}xLGWDc%W}> zU%={UeN|CD{`RPC585kf@|XviSXvS_KJUSnr*_>}sh$WZ<@Y_X1#ZO;erP-W@w8Aj zwOE<1XjxU|tX7%s)2~{WzDOeYMM?QbSTdeLPA-s{Uxowe8R%Su67&b4`^Ra=4k?Px ziS81t>Q}2b{_+~pyK4?=ZHPCT`l2e}fcR`vJ$so;SdN{XBwTVCcdqh1>Erul{fZ3; zkl|JF{5SoleO|ZnFL9Mb6rsxX%g&SU?=B90CF+dm=6?Vn(W}?U2ZfcD3JkbJ;naA^ zl);jR?wE`H+U<7nl#6r+N`cX>4dJ7~Kl@zBmgn?8AD}p!NId0FCRPGYdL2)&V_{$1 z-S0y_@Zhlo^++wk{>yubI-GM-^9nO z0MVbjCn1B!>oxJrFZw3ywKofCH@oF-mxz9OpP#!z#Fh^*&zd|U{{*fFr=G;PxI=ma zK;0#lrqfP3bAf!HV|382eY8W3-bzaKNv*_kO(pA1tD@%r`&c^`cM_UgR7#DPlBZT;?v(5CqdwlA(G{hI$|IHh4EPhcL6rCHe3dvnXDb{i{dg&n(Ic*OP~7AM zSK{%Ku7_Fu*@UZaY={3wJ;-=&?Ol}WYSB|U#%Hn})GlacN5b^Fhr?_^1iqhPmW}Q5 zgRyO*R8HkQeWtKyk1%o`*e=R%uY&$8U+s?%94{!MOpE%JsHJ)HQ68=20j82^LV7qqpy96Wl+q|BzPU#{wF~ zmM(jJqw0T44gPfcfs|+h8X(63&JpZX&j;&QHnTrlG-K3k4_oo7;SnGk^yB@hY0HLFZvdT_#y+*hxkg~Ie@*|eqGp)55&LDMWjKEu~Q*s&wkDkG5OE6)B<8Hx4?YW`P zgS8%u#8_a;$=nP=N;h9(c7bmQ-f9(`>feXIm+(<~LcSe`vDI*v{jKj#bVptp({&>| z(Caq>i{ja@i}&(&I}P12u+(lnDPTHLx`L@B^i~?=;A%9)(h>YcPaIyL@q>2MiK7rm z{~+Yr$D)7=K3@hl230SUU@?Nh=@*oZ8G@U6Um3Od89^A}@(?;9>yFVP7MY-(+0{bO zPCd0Ma+1I6c%A{0W0BRzH0g6;(Lu6>#3C_o?Z1lWd`^pTmcC8?z6xA;?OS^&0`wu> ze}UCQqa}km06_)D2nY>rE02xN?ba|1V(EpY?2$c&A(r?+!gGS;tx(iHNzF=0IU5l5 zbHO!9xys^!KbQd}%NL@d&jY|HVoJ8`{&J}}LEvGaU;#)=qhMbOR;q2)VWfZTBl1E2 zw0FRna=>3N10+g1FUZlJexz|=%*m*Fb~_C!3~VW>ZbUi=Q(?U;CVDt0aNFAYE5NB6 z>L2wpB!a!0QsO1JB$h8v0J5B*A0^&&U~&V0{Vv8am;wlEN06`I&nn<~i6f z8F!o8-Tn!|d%ded8ZYqkV!50jD@c|pFfe0wMXAj2@l7G%wa`NTF>d=gio@~+9k{ql zkYx8$kqH*xB9Lehlar!JK7n+{cw}KtU?O!<;c8O3Bmibqz~>C{QQ4DyYt`Gq5mDHh5pYs{?9yub^PCX vK<$6J3R-L)%fJZn2LR=!@G3W!n zFNA~b4X}K-`w$N-ptqkWUjfUzFEan#%!lu>Z-M0#h#VPMzJSCqf#o|Wh!R*puinZ2 zx4i!U=)zd`?{TH&<@BFEeW4dR&pCs`;Z03Vxw)UX5B9IUg2jG=jHc^!Dyg$(DoYT! z8GrOrgy~Ugz+Mx9v@m3?ljtdVRqR<4wbbuCJnuZ9ZhI~>T&@E?>$h7HRZ4~`>itFx(z2|WV?kL~;i0)kef-vM2Mv$otdI*oD_GX_4_ zGyeYmr(F+r5XkWu&l)i?u>#EEc(E}8m+9i>#@%~x&d^WDv_EowUi;Y`44$&c@iDK} zw#4xD^|g&nOicW%8b!dd6H4Zri|>BFUxJ5??cwF6l)=r!!V+^56%ipXBeVDX>+0%i zrb25Xjl*JpvIzU@UagQ&uufGmOB$}_#1+=yegAXmiKWQlY*qVF-H5l34*@7rOfy1q zZCHXLoaD_YF%3o$f5cF^Jr08)lGA84Y5bPc!bQ;~YPcL7rKeY0POI&Pe>6qnNbra?EdI9fYt#*gs%X1VF zkD8LTt!>9f2+lO`HK76Sc*bNXQ#NhcnmS$Mfc0oX}V4I`T4o=8>vtU zXhC4>c|TEEuZDfS%^WidEgc;l4i1jXyb!|2Rz0PhyFc3c`XmS~+1bIE_y~kL+V$pW zogtO>$&6nq@Z-}nGUzf@B_WqPV|aQFuikuz4OmaQQ5PEbYRcB7N4cC)q!9_IGLyv9 zQm9ac;bJ>^+NuXNGewuq(CeV1qofL2W%`UPKjymxBc zu?X9HI^>E3lN#2HyKHZq;I5xS@8etBZ!G?fZ58tJG?uqC1RNl_;0ZNB#Z2^)0vNan z6{+ttKadIeT=bqSaW-3a-MVo>>fKhTF)(g^{9La*^6u}v_8QL?PRpiX$Y8L6X>FVo zkF(H2PWSe@u*_4?ii(04{`^j6(xqKcG0Hzc zO$vyVGX46Mfb7$eC0bIJrGGf{)oD8J?F5<&PO*d-0)4{JHw@WC^}WkPIEDY9P098k?W^POe>|}ay^(9g2KITR@}YuV&ai}3|buWDB)Av?h%v)@`cldmxp+ZT|NLLVCmO!JHQPWY^_OoSr|Es#( zcI!yWUvkKD8^cs`spY~{PeFNca+C`;7=CsF)YUa<{!fBANlp3SsD7f@{i%7) zcj>(L?(S~Q??tFj&)g>Mc)2x!9ShQLYk!yMT53EXo$0>n8G7$-k?l!s7SR)m!H^^u zj!r^CV(5JyJataoP`lP~G0dRMNC~S~F^izr;NotODw%3+ZwK2Ie3CIF4Cc@gM__so zw}kTWZ1}A<2=ntVI-*g@4`fVdEHzkRAq?N%-hQn&hY`|8s>Knl4kEd>3Ur zU}{Yl=M|*OBn5Vk8x={r&XENxL5<7@TgD|N^nU(YaxCKEvAglRvII5iwD|>p=sf=t2IpUr1mNz`(elAAf*fV9jMsX|{2-SO zCG5%J6S|x6SSI;@(4;;y#mGiRyhE+Emlc5R^AB*SmIc-=rUuOiI~V)4dqL)?mtoP0 za_dN9X4}}jJ{woUUaMc_pL~31C(n_?3_|6{1;iOYzWg-TPpGP756CjRd^qi%dN>cq zVJQ8krlWH|M3YlkT$~L(X_b_eBp@JIAuEDe?lHam@_*ByaJrYsJzK4R*z(GCEI*&$ zkDHcNRX@B-;Oeu)HZjWEY5V*S;%Slm?%sT%>0Z;X3obB7B2B6Htd7PVVb9J^PMMl& zSvx=-E1LeJHBw5p>v7tLXQ-gh!LReYBb6Z;feUjAQ9PX(L}Cn=GaZP&zPNB|y8%uy zcOtQ&jfV1Kgr!?WHpT!&PR1KG9(}W-rYj#W*(*TlNfCq}{C);$Z)Mb)EsZc*ThXhW zH>{A}8Ol{=8j46R83hnHWm^~gJPf@w;<`=n6(*V0b z6?`xER3D1bFD3mJ@pb{dz9*3LY z@br5`{^$A$?W>i8HALZ3@0Q&Dg=i9itCcQ;VO({`+L+e7Q-tfErQ-muiHcf3z>i(* z)zsnvO3-}Q(9i%Jz~a0?;RaMUFE6hlJ0G$05DJC9-0kM5KNiqR&5)G0sEFmibKMBW zo8)!@O)n7|-32XLb6AWQ&Ssmc=MOe|-(8F&rB^9yQH3RU&5N!W(I|#=6l}-@&rCrQef34-3G%L8nW`C!!;@l5}zx zKPIopTQRYm(>lSHO=`#%zWF;@`cR||UnwUXgB zI57vkdA=IL8ki((vl1zYDpyheQfIGl%5R3F0XZhw%^E_}rDJ9)LC+epg`Zz2$o;sk zMMJK!w;diHDv6b-;w;yPr6-9z%H@>(;BvMej_Ix}*jc%vTYgn}2NAdOq-wlVqox#S zTuo(KI}&iPgkKHOZ6@43#V&AAPpKv)YV6=8^V$((;jr1ysw-pM^cUmahg+t=6Xx#@ zu#0|emoRBR9p(gV7D>er6Fn&2Q>(#(ITL#Y(0uJRQn?i1de~tT)1> z++`*;HD^4aP&KyxbNf5P=XsfHQagqCW97%Aj`1!H$FEdLemY!`M@1B7rILTmO^rnF zr4A~C-y&?`Vvm?DA3E?d@NiPnQe-}G6Dd-Me}2rhUu=0GSCma-wen_1pwkg{zk_x6 zP4E@eqltc`fBO5;H!a;qUA)}hw%7}E)62rzo&_VKFJ4P~6t7u(juFIBQuKFfQqhpC zhL59I1vCFM8(}MkwcGUc479C1H25u3Du>Th(~2!NzKE~jHZpy+ivED35W>3>Hred# z>=ZpG3JUor8Q zkNy|9LM+Eo!y*U>2o;)D`Kwq6?86_h1+@J#-4?B`RvzzdPP~T@P;phveuzz8?N8kt zEr^?u`hLKvk1F^VlfZ)KD!n4r)gYd69?V8xevYwa&&|UFepfITwU!;Q9)ygwXSr|i zAWZjqvVhi!kD7)QXREHRF7>zuot|)EuA)_wgNBi@a%cxAR^2CUhluQ0IH33Lb-$3+ zNAkGS%8JxUnme4U76vsU+xor0ak5%n`UHGA3lZnjPN*4qOwaP9tOf^I6E#>P>Wldz zS#WzUt5*7tDHSbuU*FGI;U;J@9zITuPwNyb@yZ_%P+?-oikb9KQA!2{&m%qY&MHT1 zf{BOe<2Lf5%lc%^-B$anmdg~bkQ|``Jm1rGbW#jGaD(aFBGd-=BX+qsxu;%p!ESeS z7$YCk)Beq&&@vEpgoY+-y17_pjlYob6kke{ z)8}*4GBsv(^pCL6-}yY@h6__rv*Skr#Ba6aj!ikbbl7#r3iW_6eSYs3p5T2jW>Sq} z0b2LuM2KNAuNjNK3RbvEs4DIM(E^4kPrF})I~TxA;lngGbJg4J9_p=mr4t%p zusEO9)BQEJJ13!{u`&4}M)^&pZgX`(L7)@z(~;_E{-78iBO6;BJx^lV?JtSED7SIj z-M_ADL*rQjJa)?-Ga6cKOJ{B--8NIjitug6&HjaM2lI$P^%Qo(DCua2vMg(@Y3YI_ z7m)W*lyopNKfav03rkMu-po%H-X=m_9UbA@^*8+La>;N`L{LG*j93=SeYf_8neAwT zmlWXvyQG@kV}6p?H{61m+>b*-rPGBq%b%~q^Cy%9RHT@vwT|m!Iy9xoF8d)|O%a9G z(CYX*>cwZ}Yij%2@=Lsy*3OXGvpcIF?_**Uv$R@#r`&wkxw}JNl7!rMunUG5Z$F?g zT#0tC4n&99Lm&laJUm=DMn^;{Z}V>Y_6AwIk~dFxowuoWC;vQODU|CBZP(Sxo^K9N z|J9XmgrrLsiHQ=?CS_fs*E~6cJ_&#iSt?31xtNl~FsYbyCTvd?tQ(zeLij_} z-)|!E@vY3vPb=h9l-mHTklRtuK1-*oeLxCHj?$ZI$O^k@DwR@tsR?rEBXJo?z(K5R zS+XqtP(qWxN*tWzdATDgA)!K?Cx=m0$SHoqtk?2)Y%D6;A4PpsbM0VX?uj^~7z|Q@ zMx#hh^F~BQZskOnj6qL3cY!1G`LUp6y}6t3BIq1Dn#q?C9ku9|=%0CV5Y1hX5rZt7t{ z%}&>w(7L)y+=(1X96EXy$0}y!7=S$eRjk#noZ6?uROJ}|mVqf-GKZIxC~u|~RSdZ( zbi`f42FWd1Iqqh8a=u)!Mb~J#=Ddn`A`LEFybsw_LLbs90T?Wa{8z(w&@b2(%3Top7fwwcflo6^~}OCMROACIW;BE}J<>J_0?0q;v=v zY^&!Kpjok0D-gASC~V`(k3unxn#RgqTatBq?;sS>WIEXo>(_II=!@ySr^*W{Hn+C* zgnFuRZs>YkHBB#ggx(^zffPNw` zCwBx!Q8jm3j11=-)%40c6+rkntoA6Y3m+nCpZMqT$8y3&T^+X2?#|Np$=cTEa*St` z+n@49s3__2yCd{Dmws`&47`t;m)LJVYTFZ&$~3cZiCaI0{);6OXp+jx%9Oyg=eI1~ z4{zlI_DbJQT$YsXa&Gd0zH@{N;08|d%kd4LEvz(e514RNPpiu=o$&}<_&SmfKqgiD z;}IM#Wx$=`2ilSH=H2yqTW#cJWktcl%PY&cNC+w`mIK*uuuV(~J_`!1T%yXCZGrW4 zm~X#4KS@#G!VGt@2Au6Z=#v5tWX&UfMXI4iDL$4#)L*e@FhSw&ZUn{3+4#hRQEfR~ zLXG9c)n#d@t^8Tz`(HZ*g-ZWOWVOK2nM6biV<5E1=8Ht{x=_SU_ttzLn1bI}N2%sS zbYg&ux)Up(DjE4L<6oV%|S3*Cl*BYLNvtATmu!h2f+7PL5(ncZOEp#Qk8KjA+bHh^ z7WVon!@g$c`YsvS0?i9pVtp-Ru1a^nc6STx6I?^C`Yu;NJn20>^*NrI0JCqgt)Zcz z9AyBQT1`98{pru2KSxJLpQWQ48XHyp!wJ=}lW56Z{gMH-Y4XqyCW+@N;@rhj>Y9<7 zstpF$8}}fh=(@6|yTP*Zq{*mEQ44Rc61dV2K;`av23ME>Hg~f}fkiUaK;$zm0 zXE-GJkcxFJ7|Vre_!r!SF8;A)&8l$yoimxxy5K%rTV_`79XTP2!c{gQp_J)4-*bB} z6x4*lBx4S!ynf*CB=LC5p@0QZ|L1L-nb5kHh5XxTv9ZcuAQ7Fk1Vc`Xe(Yx#%V#-j z!En)x=F>dV%$gW?PqXWLMS*_G{%FPU5>T%#%`gsb$^yN3{#43nL`+y=_vV;62iGE| zNx`^IlS&EC*_4C*d`Eq5X&;{za*kBM&94)jBh0jSJ-!XH&VJv~K5 zUvaJPO@R0>4i2oLmc^?SM1tx;&Vn~%=b?@Z7Z-pR zp3~&QI;ZV2cx(>30z=Cddvj)#CwT1?UME$$9SdmN3lND2G#fqbkc`gSwO>p+L+`_H z-6hH-CP%c!F#PfsHS~Q7ru2to)jy(Id|m-qWLcy{&6}dP!qF-)v**VkEn$HkT#Mf5L*1Xi{D$^k%Y?l#~=ci7JV^$jiWBGoH!U zpo{XQLARVn)jRLH-eO`WCw-y#O|Fni>A~LKkFYSlT4Q4u!N*qH$E#P^-)V__E{14^ zhK8`E_mGm%GrGRrljr$TK*U=e&j0nf7%lgnH(kPR8OA4#RZ^lvc3*DR9$+!Mo9bi? zaaU?&?zh~4iuj20SHg!d-HNPub|f}ysKCM@5|#?mGG zec0=NahZ=N8&*Mi?8tq=0Mq0%xD7CP{P~mh-W%xr!BxThb`@GRcJ}rqzF;{yidOApk}n-w zIR?Vpx4h^D#kfg6(F3vx)G%lV*e@!di3+o;&}B1<=i*J#@qgmy<|c>lqX&v|^kG@W z%s&TJV-y~tC|v&Pt1A~THRx!0RaFt?&Gnoim@SOnK#2%E7M9a@{y$$%+LM`^yQ#W5 z8a-xqsv6Kv6VGo>Gv{*9lDa7i>~pNK96KP865=p1b=8b5ulcV=2CT5M5X$&+#MFZi@kTP4<^TD$tlA;6D}bX6 zTHg};|J}y@zm4NhW+3t0s;Vf!Onz^nmZsMSLYyhu%_2`=zz2bTIfS?o0r&U+#z{6` zCatZ!S}XIiCPDYksZ1T(vCE@Roes!$0P$5=wCbaVGRXTpdZ_gSc zwJF5pR`|T0=a#YAyS@FCBoFUwFb-dVLS|)USRd_WB#Ou)Wkvmr3$yP@z z%akw~+{WnI%g9CETwECeCn31+(spo=9+kmuW=4`%8kEWDuwp3YrB8CgPne{XTS)16 zgZ^zj{s^IPdnDN#zVQ+q972nOf(QcjB&*Y3!{JJbvSsDvz@u1g!=Ltlw1CFWVBNSx z#28b-gO2^P3;q?TcPV8n?Evl)NweMr2xRp3YlFk@Jn_(5v&2Ni(dPqKYNf7JO3be$ z$!SdS@KaYQ87E1lz*x+GrUW2R$?F#E`PrraBQR+8MJ&hcgK-bj9K840`R+35St5ahT&Q4G`gi(l8ms3?+}8$11> zEsGffUJ&`ynDs6;6T13T?HA<4xY$?_NQxH29S2KJa!~dSVEje_{;#FmpltNbO=Bvj zCAlnNEG_(9ZG*ZB$^k?mPWvATUHqUz5<#ae6|x-n+-`)1aQrVy(*=Vv`^qwE`6Cih z!_=bIWh+z9>Gw}@YkORAAxfAPK3OMRnk02ib5jBH3}XMt>_=ZltoKwRMJCE^j=k6k zIEVyznAa?3tRzs}WsT~}Y-<3QDp;9o>(Th(^?<{9wXRG&O_m+ws`-q&IZK&g=KSY* z?T)N#EKK0HrlmYXj4odK9@a+@tS6P$W68N-pgeos20xu4X^52=`lX&^Y*oeooJ@i? z8H*fwjT_&KqU?CZ=&XqAqgodmrs+e}JSp_I9D+HYZX>pMA4|_-+9x^y`KHPtsm4df zJ=(ZH(W*lzJf_`}Mrty+Hh2mqlgv(CAgWe=X_6Bj@o*o!q1Y zb}c?$V2XAY1IIpCWzRg?tn6rwq^i~nsGc2niZPwRwKC;(4Voyn3S56A{_fvzHC=q?9LhUOutN~ z!&khwVfAHBpVc081PG&MLW^F>PPdw>6*1b8r=d#B(rbDxG2@$ zxJGpz!LwDpi51CcUM*Sv6D5Rl*yR~HBw&mpIF!*lT(~{i59RA9ah!xwC*Rj;#)zi0 zG?)9wD9i~JIaLZCk?Jf9ZZ#(ppY>&%deTea|AO!7MXVZm#(7IzvpE}6ztlT=tpcj! z#0mRG51t{fs0|!iVH_(mId!P$vu0egpj|ZQa#5)tUDTA$3q4FvbLkII^e&muZi<=x z%T3WL(EKH10g*DzI{F88_T*XFfN;WHDxoq)607W&e95J6Gd8qOsa!LY>yD3JrZ6|V zmwRs0Atms(DA=c~mqv_`GX(m>JxI{FOlBW&&~~$nZfdl6-;)CZL?lXp)>{$(ksxu5 zHWZ8}KS}+%_`<71NhO{{TfCuVMiR8-WGB0=Si_E1@|al%5#A8)-O$pf+oY@{N|bfX zRzcs7el>Xx92`WElDcKslxXs78pKE5sY&Ni+;$i!p~yrem+dkXXbSAub{qC-=xVpNzaSuHfLIUKIh)BR zZz5t{cH@&MqSY0qzkXux9op%kBT)K*}j)-(V`bwkAhYR|p}09i6_|%oZ!zn0Ps@ zzFb&3ta_{`;*Z>hnvr8=ac_oe1NBzu3#OAKtl+>(fZIt?lWz4+5RJX#p_0l&g6=w17X+Za?Lb3 z%(%Lw%(xDt5Oj|wn3V;qE`Kf&-7Y3k+%XDCRtRSv(s1%%4$FW*1&MtoA0uM+MLvn4 zA$Ilc@Vd3vATm*=>C%7O0FTn!)Aw98Woc8KM{vxL8h2uawaSKhn^xNS?i8E&l4#MX zd4l<5ZF7PL9p|~YntDyj4^s(I?l@LbnQDkvzLbBE-J0gD-_GWagMRO&S=37z5lOC4 zB@ke&nt_kqJq`ZbasH}UquR?-{9a;3=;7D#tIT-}pepyzLfXZ|12;_yvS#tHakVrx zCo%*Q(B8-Y{VTwaJ(Tz0_INHE=;oHu${Z?idNjZM3I4tqV}PsS6~w%JjBos;5?A~r z2RrN=IaZ5oyscq4BV%wmZ^*x@y1}m$jWJW7DSg@CRy7E+kDD#4nG)3JVRe?}bdv-l zZX8RG>*{6f$;WY$<3>(AZgocC5YTsHayB-*m3zftNvdcDRMd!<<)3LMCN$+SG>sda z&0x#3eo7eB7uvbt*7XGIl>Zhf@U-fQIJim46Q)4OD|JLNlohX;MHiE1!MMawA{QfT z!?+-;Ea5Lj$~B;#VP;3W)m*|1RLsm;`am74X=+pW5IqFx*T;w=-}C->{kqb$Wh={# zDWG)DqAxASG|5<5m2tM?gw1p%3mYyg7G7Y|2}-gj&6Hw6L*(8hv~}4A3)*#cI-2L2 zl6IiZT*ocg&K_P{H@5vOwcPAioHKMk-slN^dU^^B42+Wcys~|A0_bG)@UE9NPE1&x z(0=RwkYRMYJk(1pBXHl38P6e?hrX$YZ+Lq|z^o@T=rPiD86-6sG<*&qi&QW zSe{Ob4^HeXzuULY&q71vo*=DMVopX<-pdh`5%Y;NDdSM4d}{~$gS?~@7n63B4p={W znk88PW86A#-RwhVSoiTy6Z+m3IX!*1zKF3!l5CF$O zDqh;NN9UB9XRG6{7R>djW8GB`5tx`&-vZH`U$rFu_QU%K4IL`8-~RHCq@M*}&RsWs zIJz5^VKWrPRViu#_U&ZPZHPM|J0NkPuzAZq|4LllI*V0ImHW&$LwQD z(BwV`6{YXXGM9KJ{$kb+`d)C}`dej#dUQt{2#}&|UOSJOGw?G#$y`t?+nQ1qsi>%E z-v~L}s|GC0zkgMJ2lWEU47IPj82tdZK52b8p_0cHfH=eYQf7HvG|{%5?vPHq-Nzc| zfG}bAe+uk9(#huLB}|&^?B+ySzWsW3>E&jjM5&R%H?XKA>-qHI6bf(M&GGnG8;puO zfBN*G!EiK!ipS*W{RwAi{yg_L1}HF^0@k{lS-X=Wvd8ltp;%N_#;3!Z$hRbmK9DS) z7IFVRJ_s>*!Kjgn(m{+Xdw|quYow+to7=Tqsp8?_&_3JuV5o(++C4iXL%`FCo=E-G ztLK_-_yJg11gxvO>oRw1$M9LE?wc~{If@ko(eio`2PRY-;@MO%pRAerxF0WG!=zt| zf-65um*PqJ`Q6^#1&2CbcVGy6oEB%;m6cbcBcBihaa}?=IXNE4@|T(7FcmqaW&X(`xOIyL~-KhD|eCOX}5G4+cl*c=}WTc>i5eAy$Falung-+?yqvg(nTX z5K*Gfe-$zs8s5yUIcy^A=5zzTx{ZxZj`zhm!BhzkH#ez*at@z!|BT;@0K{`@tXc4W zum=byUYXW8Z2URjY>jAGc6%U6G4PW0@ZjxkUb5>9wr>WMmZPIgIxw|>(&lgXDZAF~ zoecZ7I78DHe;cc9YO)vSmD5#yWUKqguW)k$p-txrp-aFkT3Ui2c5d{g7@TY$=I?sl zWZk?y_1fEzPHI|=PXNBcKLGCy2p^xByy`9r6H~+idRNznof=}PjoE@8R0z&Bd=sx! zSz0k;P3Ch|%jay)qTA#$wKGOXmq6-!3$xeqeR?V<6BHEOa=L4<0%v5jwie?u>FjOx zjFo)A!crs~#Wn0##wR1f+H9D3e0+_f0lhhLdJkkal)J3^!U3&zO|iosC~qhi^=)rS+FbOmLR>u*y1k>z5^n(+uoPgJUpu&J%Gmh$M&m4nfe8C z84D%m$)ekeGC}*piQoS9GBFZxr27E~m&Y&RbQs%PJF5;oif|^NAPE(0n!57q--Nw^ zA1yrGVks+Svif)PQPT~L9Htg(=<7cXevaX*cC4gqg|>8`-`l(g8O3gGZL#RK{mqW` zsAW@?#~qs(W8mG0oo**5tW-qapVK?3k0=18Ed3hRUHBSS!v0?`-GIgL8M53!$HQ~_ zbhDb*aP@HNw+x+F!B!N0-t%WsDEU8HKo5rSqfD8af!9zU5UDk^hR*PC28D#6oETrn zh!7}BSqH%`1WvmE9c%5c7!=9pQGTqLBVJUqR)xw%{0NwS8f*4C7NTJ}yIUQc^1H9EKF>qbCM zSAA|)UhDxm#shaWhp9zam^nmv9+dewHCr08b&ot0jm}jSJ|^Vq^E#;T<6c9Nyv11N z{>jPn=E2O8`;o^%8O`mrQ`*t}VReDp2iM}dy6A6a=Bh;F=l=Wq``s_K(Fa0_vCpo% zB6mq}HrceaG{5fq#q2tHC8g+?=4PELJNwi1O(oroUk#Z$$1qPWAZ7G`jMXnKDJgU@ z*kkB(?dmCsa7gs*K3vtj!i>wOOi*Jr#R>xLiCUo&8PMx20M8BQ>zSDueHR#&zo;mn zei|Da1MyR+zE7tf^UKMS{Vf`>wPrw2^?85;$PR%^tA^TK?l8?6ICB-1$}_j7vP`Cq z;igq82ak))KJmGq5bIdZG+ZzVT0_}%xA%>_y!7-cL))dT<-)bSN7oc41TQ&#vbiDj zK9#yR7N>8Tk8fWuwV!rG$zg)NbnoeT5Xa|&p}*eAepdPNli)=3Z_i(gvftL;-Oc{V81ujvlt?97tOS)P1NhvAWT|##@w&5fU=e=2ml8FRz z7ZIZfc?E6&j>=LqB(LpbH$hP{u#=}Mo>r^62o!(>wT6w;loW>qhfq=WvgkEztwK*! z+snko#fU?{s0!_s(d0C(*;-qh_C{EO7~=TT!~V%!(Sot-%l%FceW$|*(bH-(3X*H7?GIF9JI zyG_9^p!1y;7)b?;xFb(DB7aw5=Ra-4F_3d)&v5K6i8N_a!+yqZ^3aK;f>a ztknBy^ek}Nk&%^fIW}jwI1vKfyq>EDv_0ra=gZ6LJ%(Sto~^=r*M%d2{i65=-=2`^ zX?3U!=0dghpqmx=1D^575=CU+A^J1E z!S#?E5E@yHfM@K((|KGvH6aMlyk{qXz%)SX@X z6vJ`bC=L{bMEY!xM>b!6P^W=16Sp!(jIzj6Wo@lhUy@ek-QDi&tmXj6%QbpW#^Bsq zWns6g`Dm)>eo0qXcAJO&~$jbcZ(N4c5HJ30i}FZSM3-A3*<0y(=@PtO?Pix1cJk%$Eu8M-W{@w9*S zyw4@orJTU+o!2`=qN1YMfAaHNYL}*A(DmP;$xH%Fe0*tZ9_48DMYSb4UKc>zzV39u z*KKK(faA}f9*a>yel}zhk>j(@o7J^udy#JQ;jN+OwP%dqEF!|p&jJ_9L?L@TCNqOS1Yc?M?loPR9IGMQ-wuM{?`_ zHFxCt>t-5VjFcvvHW-&fd-2vgqW6b9wm+i74}`xgF*6*#!?B7_7yu9u-vmSG>O=Rs z!|}{`1{{L;#NM1k@{Pu*j}k6<56ei2G_`SVjm19rP0w}I!FE()YbS(IU}@h}6R)d; zzFr(qX>YMhS!<78@87~7oW-iQj(cytA5Yb3&+2B&4$PJD;v$6AW5%qiyO|-ClRvGW zX?fR2OL}r71e?v)A&VZ(Wfsg78>9Shyv$47C(6*dHP}H}bEUuUQ}*`!nB~(rJNJMa zPF(n`aZW7$|HjX*U>&qg)DM<2PKB{QiyW5&evkGeI(2f>3(qVtD|0bLR!H8JYX>Hy zDkt?=Od9@gR&6h8W*Aq>Ik3(Qvxzpjy|pT_aW8s7%KoI1J8q=EenubCqD|J+98gwx zG%5jy3KJRpZ>TL-T8)iEH!UWdsM5!meM#k)lClwdo>j=M6kA}};TTN3)Jq~Kqrp~N z{6CxJJ8A1sOU0-YjlZkF$5E@kCQRI&--@_jW(w+X?XECokJ&A=023zLPDPj@55L1JL68D}#M+6$y`8ouykFsL6)~ zDY`iQ?EzbY(~+osX2?eJjfT^d%zc@5MD~Bz0U!NoRDb-BVCzWa56NZx&+Kfe@?v96 zs!P$kWw1`HfcfX)@eE1D%EGiL3=@PX+uJ{>|IPA!km@5J=AX9HO`2(?uJJ!Uq5mW+ zp%;X?)Ml3u&?+jkU8PsezI32))jIa8ilFO%KhBr=-v_34-217s#*rWUa$8jyyZv>? ze?kZjek(;BdSe$+L5;%#5760cJGx$%X`bT`TvsiGz9XCw7aow}MG zv%Q?mf0v43Mp_?}w6%rcijXPaBhbX<{zL&inR4syVN@;N?|?*DcpBr;kgx^JrP=pT zgDCN5(sdReeL9y{LI!HMK@MD314*Ina+H`bmV^z=_}tU85{^h~slXvcA;Iu1(0W}d zwqmyeek5-xn9WTRM0Y z8(pshh?$^CCMx{hy_!L!*1+hxFh}i_-={%hwK`Rk4UG{J3d||?3vCI&q5T?kjYqU|w{(TVNmAJ$ zC`>mDG-18@j;0C24D^5w^Hw}wEbko#YF^gToQhHW$hYln93@@3B1{xnsRFBoNy(~o z&2Uk(Z5$U4I`Y+txlpmB8EYm+`tcE#!YB)+oHm;Y;b(toCnqAJjFsgT>S*QFP74vL z!ZeOz0PaBeunRrTJRf)>Z`S1UkmVj2`cUM0MXc1+Y}NPdz<7kjbEP^=*Ea zTN(9lZ)d_6mjp1eHsK{j?k<*AG}cK6U+&3&n*#f~zPSW61e8_^HgY8j0%49ejG`0+ z&(5ME$tq2ODi%gYug%63py@iYnXP{EncAr`ST#`6RST%M$6azrPIB3&Wo0&2R%q|v=VJ8t6-R#ubqj|S7WR6y>LvTqCM2Uq$N>?5CK?8Txo_;3 zM1QNjJ32AUiHqAi1O-QN>($EMpaiDH=}6s1fCVeY<)2iQ4ZRmWz|xa{^Q$3!m1ESaJ2 zwc>DLSO9WaYwO*_wcpI_tcHeGbCb0iwPMT3Vg*NibkJL*+B}yn8Sd>rK)1c(bcqH} zdU@KaFD~AJo^&O2%YHou7+ve_pG!Oz0~wzBdT02_QchNau9oiZ;ckW?wbgj$!ntED zV2y_ak|WDrqeWdAcc*2?Ss9|EqM@S+J@+4&5(|aaWol^&dXPAzUgovainr#yiK8R#GpU%-#Hh!clOOLxV;YZ%)V$N| zInp$pC~IYf)Sy!(S9H)Nst92!D!m*Rf}Z~iepL0jJugw8({t?GhQU-l?+_~d?(dB5 zp*0;>f^R_IH-6#JBwXEG7F~QXR%M&9HJ`{d=Ol>|Knc#oj8~^m6L!7mY6uL)aJCOm z0MqQ?U^g{4f?or$Q(0Y>!Rxymtq-kQDTe3se@IHF`1~hpc4~=Lqg+g^MNL9i7wYU> zQB&h?rorXMvIq&-+dej>Dl>$iikxj8Z~@b>t?+}2Te(R;ktZ@&nY*Cgh_J9?yRxU9 z{-_K<1Ey%}s%i+$%v?qyZJFy?$wI^QYJ0Lm%Jw)iJ~%m^Z-oy13sxfH|^YTKRG3yZ% zXX#j91|st80G`;2W5&}~Mv|o*HC#CC#DxzZbP0Ck)zTds@vjjc${P57?Ecb7<;AeA z{0&RKv?N(tveL8OqPI_K7Z00H_}gYNBr=2L3()4)+P{cCc!lfLTPT*qHh7Mpw+->E zr)o%8g)M}{{51w9ne$h6Bzil?Qo`Exv6EN-kl3%fPIPxJ{oFzQKUzR%XW`^{4ri98 z)|v_#sV`@VS{pDg-uc{CVdeQ0617%yAJ?WO@_0M7blT<2b36~ubNrsK4PV+!KVV@lbeWdq)Yxll z)8f=N*{-;8Qikzj=NWkK&+ye-Wc$oIJ&2cntkf*?eKtGh(yCeS_9i1c?Tf%=UBbZG ztXnBwvhN(4n!4PPrPKtR9%8C2W;FWB|qW!3ZaTFWq>%oYH-Kmg>_^nErBLZ`+&An1Pg zH_>v~iLvVR+r4%gD61QlM{c?Sd0xuw*K-F4U@*0c+tBFnPJ&|pMrC0yZ%M3+2|KzO zUlm(=q&I?1V*O&s`kqT0AXz&uPWDZk$xrZd+Mn3g@2AFI-B+;iuND$cxUapOodw>w zuNfN{JeQMct^peWh&3g3@5|cKsnEl6ggRQsO*RmYvsgR&gF0R?fsI~TDxOuDOt+hq4LCt_bxIgvUrqov>KKGAiQxtu7A1+a|w+3Py9Wur2@+g_6Wl$)gS)#sY&5vL zTY|eKB)9~Jy^+`CJLlXw@7-6gZq=*%>+%n%y>_qFy?V|$#+aj@ugT;1Bo#ezK`*E7 z{1(e$$men_)QaVj`OI87I}uj*-sVRMCjbhzbDn;yC@;_M!emTqymkzctyyajXsuP6 z-t610sI9oV4y`aSG}stPHqwoadVaSv43yc!3i2TfrNA+Pd&Rb_6~(B~%mRKBDFlVU zU_>_Bo>x@L)t`3nR&M%9>O+#Y^3`Ght)jwA_b|f#v$M0)s57G5oSu`8n~UH3T(Af0 z+_CgOsdIzxilJ(kpw%2NG42?VS4pj6{@b@i-K@3@oeHm`U$exKUpn=lya3NM0X$Pu z(t|h4a=0bXvPsj0xvb)K6FE#)FQN8vWs*6L#208GBRImB#?teIu>f%50`2Kb==Ln=O?|JQ;9h9E`Mcu!g$FA%S&4f zU^TSLU$Vmu4RWrU%Nt?E7pr%#uA?76eE4wgMRo$2zsSz7`Pp|iyF>I$>nG1ue65>~ zn)>?s`ZGRmtlxP`3`az&K$WqJP4zpkKPi87JKo-WMmm!8n%94x&q+@Hw7=<$h|98N zSNCqMJx!9#YsfS41}9AldhTXSCZ_xo#HcTR_t6fHdb>@3`) z^uW=yw(%2Ughd}E)w}p0bclT;L;IJ!+}w)M&T+G^dm0uq*RE?Fol{fT{b%p%_lru4 zU9ZOjiPaQ&E}ixdm6hzYAibpKX{}dYhk_?lhAS&8H3ba~epOQ|9&p2)Tw1K_i`wIO5ejBM`5T7I$%ui!uY_`O%nz#s>DHP8^thi>$N zxXHX1=UiJ{%ufl|#^Ufu-hXJQxY97z41GjZv=}QzV0t)|XiY^^(-<9sgA<>fP2MX1 z3K0Q;Mh|3hDq%=E967pIrxErrvryOh09WFvU%Y9b#J&js+}$lxEKcjgn6z%LUuNN+TVG&@Me(f zs;Jy75ZNr--f$}CI4mG@ZWO7V9l*&He(<{U?ACIx$Vkg%*(<4RX!1yH4`0EaBzgdBMC%y7?k%St(v%BTsD)-=_H}dU8*WH zGBjW6bpEa_DC~*6v~->UU3|kfle>URD=55UeUP#OvV4{Gh<_TXeVQ$a*V#JAnFTtU$)`NMp>Fsy}T|ecH zT$jD(b&Nr?m$G+oI5|5y@OU)Ct^9Uu$8niCn#*EC8E!8ttIg~N;1Q4pjq=u+iU}D^ zN$=`FFqgVBth>K;S|6lo$W^53*fjjwAR>lqDgVy$a|HO`sbd5TZB`dPMiFUsX|X;* z6{_p;3sIMh%$R>Q<7_Xj`YS3r`ntRbsGJ0nGLELO`YGv9Y{8q$tfDoiH`n9@A0e0| z#=_KSG3~7W);={=W)C^a&-yZ^O6vBShX({^(md3Q+rT?OV-@B~Ly|8K;Ro4O$=QJz zZrHa)!cHIvj0wfQw{B`<%D(l=^qRh@sU2o&y-bZ?ZT&q_GCDe{pb*Wy{80cCv%~i1 z_nE7UJShNmD|1+Bav|ibZP{5y$>1jv6B4>FjTR|8ygG?XC+R~MGB-0bDh!&g+%ejB zE?f^Ux7*^RDtBUA9xQ70CAXG1D2nbBAtNkB$cG(Ms#-npW_EXU)hkWS zk%bK3{E;Qvm91Un6j-F+7T_7><~%7(husjHjIC=#Y*{0yQgwF!%q( z>c|IlD`RRfsNUD_rxs#iy+{7~hK>LHG_Z2GUY!;bjkQec6YF8nExdgrzCzXsM~GQlJ)XBSJV$RA-18&inje z#T>`DisUm;`PSs>T3zmgd}lek9SjcPzr~&D-~FJ3hY%#{pOv*iH4Ir&7;xzyA#9;n zs#7LHJX!>%=n%pEk|Rsho(1Ud)}5=f3e>3}}HAEMW=OC@#_nbk~Z;lk;0 z?$hJ9%*ibJ!~k)`_wGc6#6`J#w9Jpi4&^x*j}Ckt1+<2-mIP+6m?SPv;@4DmiuHG@ z9-_Hxxz{)Dprf}rkTO`Ejhgn&OAIyD>E9MPIWN0Jd@L+>%aYzWZE8aa<|= z)vNfBot*{Xo)gxsQDbMN?F&>KP!(jmN+e%>Sj}KWU|fcsdf_BHzNPX@6cp5!%bch9 z7gh$<#-nr9HbQtYVrfIg#bCEOOm|tq0CrwPmX{WjV7LFVzHXXqud?vj7d!P8<@o3z zH1-wwc$eSN`hB(N@HVs}68#=k}5@c)eSgl_e}KW%ii;((mWS0WL0K z)tzuaVPRme!MN$d2wrzB*AI&^ zc?HFllpHiP{I!@0@7=ecHKh#P6=Qb3jnyVWy_iU%S#52C46mm=*HMm)vewpI z?a3KyuLj_w78+h4vA9xmnp6}NQf%(K@|;MNF=ZfasU-n7+++CK=Ov671EWBZPKNp{ zY+LE_Y@WA9gWi{1l##2D^Hh5sZ_7>0DYtB~F0;*&R+lP9no3Q_j<@Usct1t=DE)zd z$IPg#2h42A?Y*Ir0~wk4awP<-uaIoWa%(56x4*AQd8jBTsOOTWbtTG)GBE^FvY*Ighh8$D?IaBVC{`g^DE_Iaw4)0wi&k3^aFAJTB?Nj^{maO zrv_se`1y8ri1z5AD<`uBR>_j~ro1;}`sgm)bl9>fJP}=^r%-53R2)7TF5!rfnW55T z-G1{ni6gA0Fdgw<{wva029c zIOF5-{Er`)AOf-cg>)hRJ9pE^hAo@T-)xKjuhr9ugoSS=d?NbLD2FWi0f;Vtn`7Kud~EW$vp-Zj9m^ zeFcvj*20#fWsbJ-$%P@#WrG|F67D1pyV70*Cjj8$8+3Md*00#F1G(Gvw^SP?wCz)) z!qE(YNxMg|h*ihQGv?Oog}h*_0vSka-jz>9o930o^4%32o(alK&*$7=BC?2d0mcTQ~J%Vry$@8-OdYm4+3F!5M+Qe8u!P?dCE{bFazVL=-&E8eALfC z*Ryi85jO}u{a!PwLSO!cnTCqm{rY?J^)c8_w!6*N`^h{8+V(a#;e-8$>>!$bCb;e- z1}he>vz*QFSaykzO5f!lI2;K@dzeO=|+zJZha{PKM z3u&pSP-}={bl?5_{yigwO~1dq6+3>xlBQz(7D~4HYdaZqAkGqqi24+bt7`Gn;;p0Te%WMoX0-C4_jMa zL%%BPuD(;$+}PYDBEcay$Ps`~^hH2ILc_UI8O`5|t&{M4EMk@?#|$Q@J}w-vTC7af zZFE_E0~Q`aZcJzff2-3XQ-3OMsL`S`Qv=xK6J}<7x?bjvi8m z=&vn1x{E8KD>G>7=*BbtCUHDFp)JXmQ|DL>= z)`P?wl^u_|x=PiWd?pZwixryGd-)?tI~!LVQwzYF#flhKO#hi zQfjo2a+VA^*y#=J+AM$RTeG(&@0YFNiU>3yqVqmI`HB0%ppGS=Q}4|^V{403yI)!t ze${L@jEPZVVL~;^(A;*SBQ4TWg^Ro0%Q)70lG8AXLc~8irp==M=Wev58t~|?e{6&+ zOC@Rc#VHmDoXgZyKG2G$9cVo<_GVPrmXVzG`}73`&G+*kR@jy?o!!D^v_e2I%Ax}! ze_ysa+qae=!dixeuaGlhnC1DO(xSXqw3F_ABQ4n{yS96lU0;{#qOl+y-olfxEjyyO z!RKggf6y&I8bYWc_sF-?2TZ1Rpz7*WDJ#A#E}WUt*28by4*H$jI9(5|yb*LZXyaw8`*Dx+F?`eiTRPd2!9XqD&4e_!q_b zAdEqkp8L6*^wv=wQCR4*$l?8BvoJS%`uhYoxc3zW8pY`-=3B~B5ZcCHP<9SX>VIe+ z=1;^MNITTV?&iXsPq3WTwU{DprKd{jToVDQ{-`Mngc36p2ifd0+lJT!j^FW0?+z_L z%ATEkp6ao!Va(noD}*KJ{(Evi`uTCle0O_HfkTyTrk_5%LU-UG`k0?T*rFRkRjS!t z5MW=}{)x7cd{ORYOLAdMst+5PnHkI9ivp!Gh^Th-Tfu14g4N<%ewz^DKJxkc&)FcU z2T4C2gK8b!$=2v-FMgH>UGP1zis1O?Uw?`zxjGQtWZy5^aWA&tb;w(IZX40a%8r7q zK`sch+X{xjjG2a->3J@0V9>Rv!ESoB8^4-fdwsgl)D#mlVNr3_tnMzOsN1e@s18&L z$N1qAqKl_B-I-n*{MJiz00wujK8E{riS#%7JbYx+a7&2PJvLMJeseUnA3^VxhE;bO z<~2Ss9vy_`XQ}FL+YNku-QX$}GgyogQ$C%oG3(2gkWHHv2jTwvl+lf8p&N#H`+053 z1G_H^%32#Hi)s)nd02}8dk{~FZ?B;tX<%sh@X;e;HCHz`rGhJfp}h=L(qw0QR$E{1 z1z)D4#snk^5bc{}dJTFWQsL<)B|Vpax>^Ra>&5XJ9^o_Kz%P`6Oz)yeQ@Nm3fXsWT zjho{%kyDC}ij#l-V&+%jL0!!{&%4OQuDY<$T>uN=e0!w_>UFmiavn0G8p~ zxBa%_fp!+o)@V76UXqwz=Qp!;dJm3jUhZEAZB^PgriHs2$6f{ZlieCF!$w9JKuDqa ziyS#%#^esp)}F<}(&4o<_p|z&rkq950}ftJqr=;p`^aoJoCETiiDQ22X8-p2Nv$CQ zg1|?<4?VAsXlgZqG}%#ea%^mFW~F@Gw9aOg0Gl{2HdQitJ7UpBKX-0#p8XzOM+Nss zPIsP{Pm=XDWqqh%16Nmf^?+!0YD&lL3?*2sYqjQibw1pfTgyw9+^vhqom#pQEYuWwqCi42`v6a{lV8hsIwRoO!kk0F{p`uo%XPeV@eOyAq@61!) z2t-_a!@wJ?@kdBID}uMu{Y{2+>SbLXfAd;8-@a@6QjvG?{_We)z{0@EzOyqlfZOHx zgIaFE_Ua0;l9kmU__B$}IygKS*D3vh3#=+%sZi#2Yh6BpSr_;D^Rc-(sZS+YUu=7E z5^d(b*iG~xE2}JII9^zIfn{MRuP0P2lcY6kTut0YU2#cmg<$TAtsQ zUHHlvm}t?EpCvfQhwc@fpZxYsk0-C5ckh<17dTz>P*!QWnzLxl- zrpC-1EW2T0VfBTR?0!FJv;BTuw&*+t)AhQsI?6#56kGwXs-7NT`hj@^(k1*C9`^h! zWl#Ui)Qm!+U*}exm)C+H^1AD40U-T+;_}`{{gBN_V>9gI0MOm-20*z4trnCu8#Z=u zzP0|22@Kp!ziUaqk4JMa0x9zqS-E&=JGfrnT z-VOnde0P_K;FOGWt?qE{3=j<*++^tt@JJ^w(2Fse&c4`Y+^w4mq<#~Va$w`wKKVXU zy4-v*7K!DwWc?-mfg~p|iXbE=o>OW9v282y%`*sf>|miq+(A;$$3nN(*4JhL_#`E@ z4n{s|c0SzIBu9CQw!Jl`sxtfK7Ash++C*-(`OaIl-@z<7r$M^7j zd-;v8`P=$c=jy<~$3(r>tv7No^3BAG)>~uPHSmFfUtO`y;^GkvgG}w2_NH=E4%2yR zL@MtJcKA?m%%8LfNq{oBq{O1DTNLpy-*5aaV}J0pxlvtg2ebolNd0B{s^*L05&`Us zU*bLB=xo+c5@hj(oWHGbG&M5szaR|OpcWib(msijds3PxfT?+p4T;5kZWWFZqcsB-CoENvp|qNA zY+_+yq6?rB8L&<(HMX+DRk=( zClPgHVy^hfoiNzItbdVlvwT63IK25aL%&@^QFG-7%c~Gq6HYMSYXz!Gpb*n^i2z=Nwm1(9h1E zUA7IK<|3Lno7EQ8u2$2zLHFQ3Y`94P+~a;^zR0-1g@BX?pYiS@(6#cOznP!ahPwdP zlHR8A3Mr)VJW$JXo(hXPjBFJ2ej*_Cz6i|gxl|Y2B>g&6UQ|?7QTUO=+7fd){yEuf ztH`=ozA_AU`OZq1E_%#o+_bpFLMkXUpDSFa;sQYZqr)aQVw`zDVie&|X!=^^C8uVl zCw+Q%UR#mJL#wLn)$8|aKa9Wba=^ypEB2MifbSd6Yv1;nYNpxhfgh|JHy z@OZKxk9Y|`c^ZKnycuT=whFn9EdRW#6Ju!8*U5u1a}q2}+KSS!@bDb8hu1f9LRQhL zg^N{ACi2ZWw@*DTFFz`T({NYlA>r7Fy@bjTk`Xbg4M1txd7Ut=R5ev~R8%MoJct=LPf13VGFM8F5LmqK^{)CHh; z;|BW3($MG9MbN1a!o+(XKD>TL%2zr|fQ@psr!iS?y*Pc5y&ADK&;HB^uu^zDGBPiU zDxt}2ibFj|AnY93ji1lwn4wF=2E*Pc&l`YziDe>q{&^I#wtkInA_>l0$|+R`C8d3c z*_cCZ=2(>8kj_J7=r`XvO-)UzABJr@okQ`h96k=go9I_g6PKr=8c2(AValQ@9CpOZ;=}Rr(^vf# zAA#;CJ|O{U=3L!A)dJ}YqvU=;N(`Ub?14uOiv>(s)8U~kH=S&4P2Gf#I_0^o3up)` z>?06J+^>22IgK(QDEDReRYj2hc+uBeX-4~{mla)2qmF;Cj zs(>qTDs2|r^TUK;LFVz<8Ph9LDHE!xh-!w$LX|1NSIO}3(4M*)ARNMps~cHal0B+xu>_!(JO9}EE$;Uy9&67 zW5-JqtQ}@Lzwp@ki9H0-khE_WQf0s$S2A^KnoD|BE4{tB383bJ@tVz~r+wkF;DCpP zXCxvMPuA9d>CBGp9d3#*t9!m6Y!HNPLcFA>xoiHqbYu0_-+dc+W!u1Ant_s=W5`X! z5+4_itcT@`Pdp1YL3DJN+b%1y!dZG8lzzmf;pLglo#FCVlj^0o$uiPLL_5t2nOyY2OsB_z!Jh^azek5SklBLFlG48#0hep*0| z0zvFmvBU;e(k8y)A~9OjXsEwcOR!N9U=Ry~?dhe5_7ir1p3K=9ZmT)98-$?vyMxtr zZDfEWeRa)S{fbUuv>*~WxC`y9{rLDP(AKR0dm_4Aj(6si<_HdJy3bW`&{!lSAWFD_L zc!(x};F{a(#)uF`cS`d;n$It99Sc!1($F{DAT+WbFVpN}Tic54DC3OM?ANRTs%WVz z=SArBC-J6oqOUG|D_exJT1xhQzy@Lf)9GAPJM@}B>|E$F@@Cj;pnTcc35DngFpeeD z4EAGAWv_2<*IRN#+4iElq6|e0mM9krFKa%<4u-ug1KWV`>i0a-`+DpF&u72_=p{9> zB*)uf-BqfSsm}G}8Q`vW9}_l6r2i)n0Q7^_l7f^*Y{IZ`oLiW&^^|!U^ZQRpi!wIG zZuAZQ@6fF~Men82h{;KeVfz29=f$n~ORNlUt(U6AdUh5xAnd~jDG-X0YKQDnfANI^ zDsbyi#(nk_^0p{;R~~L`LucbF!`i4)L^df$A&pzNFE$Qlm(zlY(k-V?sCVKQl~y4x)BA_KhTULqu<0W;b*10FJ#bX;#H1-*>ko|dUpmc(MIH>S zgLW*N{rKtsnOFX~C%Ff3HzARjVUcDa(MR~#sW|uJ4d9L)Tw0hJpDAZ2lpRq4Jd+D| zeqpmFUHs`0`5DQc*W>wf#hD@_reU>SW63WiO3CdhodfsK1522KNO8G^B0Wy$gBANL zTB21~EhOJ)17Z?$TW@(?drYdl_g))<%{(Z!?LVuuf9)+hM8!(H`17T##pDVi$7e^j zzx>3ues8^)rV}qIknh~Ae$@Sfe11IJvnKOjU-BtnLESRRR*im<&(UK(rpdB>xEmymo7x`{#!&E02|i0R-%*OQC+|M+&Sw6HCjFnM0o}uR2>A2FCX9IM^H_h@ zA%3Trb|&0I0q=f5!b#KSR)8pM^91F0a>>r&2XRaceu|7iIA1qa7*i2Y?}xnvN%GzG za0NJSGN1 zC?S{Or3=+CMipzgPZ1+1~PT z+y}Jvm}I(bLup9!Qy1$Fr%X8j0oABJ;zSPQyD9+NNtBj)V9hX>o@%(gM|luK-Q2Xn zgmR`=!FZ^p3Yjl4A@+D;Rl!{uh{tni{!72EF{yJvm={V~@;XDNGj#9Voeu zlUS7s@~oF?GzuqA7T?JO=ft~>)N*-9@<2mqPx6Y#9ffP=r;{?5Q`eiJL)G!2O`VTd zonEWMcnNa6x;Xq^sBTt|>zDdny4z(xltjKD4@Zi~t%FC$-@h6XB>m1r%Xx%~hK3Z3 zadB~S$*+@FjlcVRdOXRl^YJJi$h4L66*U+VQg%}QXh1vP z8Zi?kcJ0%e=eV?h33iVTQ;<#qclZ#`8P`y8E#sI?`$mSC=Z)~P)2U{UGq92~B$ z%IJ&HVaj%rJwO^sdb6!Qn92S8tTK1zuR0qbL@RNL|U zl|*i(Xo<)9RU+|4?sQWR&Tx@Vl=iokh2Hc931WItQk3$p4|R?!?k4E`TEolmF0-Xk zMk+}c%&k7EJoJmo%qjv@7iG~LKQRG=4Zzr+S$z0&n?>tW)+eW@L80MSuD@J>1YoDe zNJHb3o-o2)Uydr2)bqDzzZ)=V(L&&y6%?>NrPd|Lsd`RD9_t?}rdDRKQC^-^AJb}& zG)dUVIYpO-(}|OlWaUGZ9?a?ZrLoQd4&tHQBO=9=^REx_Tz2ARH%ARu`$%lg4@o>Z zu$)F;&=QBiU~Dh%*Rc+u@^0YhGRZO0f8;+vhTyWGH+vueT2u~~=2Yk*%b+)ogndpe zaIO);P@SM1Z_goKmeeC-?7T{5IlbE8=rn)%HJS34B9ojpYo$Z=O}r>+Oeya0c=x{5 zhsvTrqc7{ZQQcKmo#f=e;tPh!gK@v$qSKq5EfyALuCGf{Q&Z&%^SQ%W4e!reQoB2K z@NT~YiV4uTyV-CPk=~r?evRQdZv=*-&7WLC?&0kH6mocI7|Ec=Eo($}xLGWDc%W}> zU%={UeN|CD{`RPC585kf@|XviSXvS_KJUSnr*_>}sh$WZ<@Y_X1#ZO;erP-W@w8Aj zwOE<1XjxU|tX7%s)2~{WzDOeYMM?QbSTdeLPA-s{Uxowe8R%Su67&b4`^Ra=4k?Px ziS81t>Q}2b{_+~pyK4?=ZHPCT`l2e}fcR`vJ$so;SdN{XBwTVCcdqh1>Erul{fZ3; zkl|JF{5SoleO|ZnFL9Mb6rsxX%g&SU?=B90CF+dm=6?Vn(W}?U2ZfcD3JkbJ;naA^ zl);jR?wE`H+U<7nl#6r+N`cX>4dJ7~Kl@zBmgn?8AD}p!NId0FCRPGYdL2)&V_{$1 z-S0y_@Zhlo^++wk{>yubI-GM-^9nO z0MVbjCn1B!>oxJrFZw3ywKofCH@oF-mxz9OpP#!z#Fh^*&zd|U{{*fFr=G;PxI=ma zK;0#lrqfP3bAf!HV|382eY8W3-bzaKNv*_kO(pA1tD@%r`&c^`cM_UgR7#DPlBZT;?v(5CqdwlA(G{hI$|IHh4EPhcL6rCHe3dvnXDb{i{dg&n(Ic*OP~7AM zSK{%Ku7_Fu*@UZaY={3wJ;-=&?Ol}WYSB|U#%Hn})GlacN5b^Fhr?_^1iqhPmW}Q5 zgRyO*R8HkQeWtKyk1%o`*e=R%uY&$8U+s?%94{!MOpE%JsHJ)HQ68=20j82^LV7qqpy96Wl+q|BzPU#{wF~ zmM(jJqw0T44gPfcfs|+h8X(63&JpZX&j;&QHnTrlG-K3k4_oo7;SnGk^yB@hY0HLFZvdT_#y+*hxkg~Ie@*|eqGp)55&LDMWjKEu~Q*s&wkDkG5OE6)B<8Hx4?YW`P zgS8%u#8_a;$=nP=N;h9(c7bmQ-f9(`>feXIm+(<~LcSe`vDI*v{jKj#bVptp({&>| z(Caq>i{ja@i}&(&I}P12u+(lnDPTHLx`L@B^i~?=;A%9)(h>YcPaIyL@q>2MiK7rm z{~+Yr$D)7=K3@hl230SUU@?Nh=@*oZ8G@U6Um3Od89^A}@(?;9>yFVP7MY-(+0{bO zPCd0Ma+1I6c%A{0W0BRzH0g6;(Lu6>#3C_o?Z1lWd`^pTmcC8?z6xA;?OS^&0`wu> ze}UCQqa}km06_)D2nY>rE02xN?ba|1V(EpY?2$c&A(r?+!gGS;tx(iHNzF=0IU5l5 zbHO!9xys^!KbQd}%NL@d&jY|HVoJ8`{&J}}LEvGaU;#)=qhMbOR;q2)VWfZTBl1E2 zw0FRna=>3N10+g1FUZlJexz|=%*m*Fb~_C!3~VW>ZbUi=Q(?U;CVDt0aNFAYE5NB6 z>L2wpB!a!0QsO1JB$h8v0J5B*A0^&&U~&V0{Vv8am;wlEN06`I&nn<~i6f z8F!o8-Tn!|d%ded8ZYqkV!50jD@c|pFfe0wMXAj2@l7G%wa`NTF>d=gio@~+9k{ql zkYx8$kqH*xB9Lehlar!JK7n+{cw}KtU?O!<;c8O3Bmibqz~>C{QQ4DyYt`Gq5mDHh5pYs{?9yub^PCX vK<$6J3R-L)%fJZn2LR=!@G3W!n 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 vK<$6J3R-L)%fJZn2LR=!@G3W!n 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 vK<$6J3R-L)%fJZn2LR=!@G3W!n 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 vK<$6J3$VLUBTnU?I4>yM6n4 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

BC%-KI&?On>6!HWs-;kW}HvCrB$xT9Zhr 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 literal 0 HcmV?d00001 diff --git a/screenshots/11-config-dialog-open.png b/screenshots/11-config-dialog-open.png new file mode 100644 index 0000000000000000000000000000000000000000..c6649a5805426edac8605d0645b7884a17156e18 GIT binary patch literal 37516 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 literal 0 HcmV?d00001 diff --git a/screenshots/12-switch-toggled.png b/screenshots/12-switch-toggled.png new file mode 100644 index 0000000000000000000000000000000000000000..c6649a5805426edac8605d0645b7884a17156e18 GIT binary patch literal 37516 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 literal 0 HcmV?d00001 diff --git a/screenshots/13-config-dialog.png b/screenshots/13-config-dialog.png new file mode 100644 index 0000000000000000000000000000000000000000..a484ed7271161e94ee134426dc3d4e88f2cc7cee GIT binary patch literal 34317 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 G-2WRS4l-&0 literal 0 HcmV?d00001