From b9e32c5a4048e4f5e1fff6093716fd3f714e3620 Mon Sep 17 00:00:00 2001 From: spdis Date: Sat, 13 Jun 2026 13:05:18 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9B=BF=E6=8D=A2=20Mild=20v12=20=E6=A8=A1?= =?UTF-8?q?=E5=9E=8B=20+=20=E5=90=8C=E4=BA=8B=E7=BC=96=E7=A0=81=E5=99=A8?= =?UTF-8?q?=E5=88=B9=E8=BD=A6=E7=BA=A2=E7=BB=BF=E7=81=AF=E7=8A=B6=E6=80=81?= =?UTF-8?q?=E6=9C=BA=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 2K0300智能车项目代码文档.md | 172 ---- AGENTS.md | 94 ++ README.md | 256 ----- build_lsx.sh | 18 - ctl.sh | 15 +- demo1/CMakeLists.txt | 5 - demo1/demo1.cpp | 125 --- docs/ARCHITECTURE.md | 302 ++++++ docs/CONE_DESIGN.md | 283 ++++++ docs/ENCODER_BRAKE.md | 95 ++ docs/TRAFFIC_LIGHT.md | 103 ++ .../vl53l0x_parameter => encoder_brake_demo | Bin 20920 -> 21288 bytes encoder_brake_demo.cpp | 122 +++ encoder_demo/CMakeLists.txt | 5 - encoder_demo/encoder_demo.cpp | 22 - framebuffer_demo/CMakeLists.txt | 5 - framebuffer_demo/framebuffer_demo.cpp | 207 ---- gd13_demo/CMakeLists.txt | 2 - gd13_demo/gd13_demo.cpp | 103 -- image_test/CMakeLists.txt | 5 - image_test/image_test.cpp | 420 --------- jy62_demo/CMakeLists.txt | 5 - jy62_demo/jy62_demo.cpp | 182 ---- key_demo/CMakeLists.txt | 5 - key_demo/key_demo.cpp | 68 -- lib/global.h | 22 + main/main.cpp | 7 + mild_v12.bin | Bin 0 -> 105014 bytes nanodetv10.bin | Bin 62980 -> 0 bytes opencv_demo1/CMakeLists.txt | 5 - opencv_demo1/opencv_demo1.cpp | 158 ---- opencv_demo2/CMakeLists.txt | 5 - opencv_demo2/opencv_demo2.cpp | 222 ----- opencv_demo3/CMakeLists.txt | 5 - opencv_demo3/opencv_demo3.cpp | 141 --- screenshot_demo/CMakeLists.txt | 2 - screenshot_demo/screenshot_demo.cpp | 111 --- src/camera.cpp | 178 +++- src/control.cpp | 85 +- src/global.cpp | 8 + src/model_v10.cpp | 892 ++++++++---------- src/model_v10.hpp | 4 +- udp_receive/CMakeLists.txt | 5 - udp_receive/slider.py | 104 -- udp_receive/udp_receive.cpp | 175 ---- vl53l0x_demo/CMakeLists.txt | 10 - vl53l0x_demo/vl53l0x_demo.cpp | 44 - vl53l0x_setup.sh | 32 - vl53l0x_test/Android.mk | 36 - vl53l0x_test/Makefile | 15 - vl53l0x_test/vl53l0x_def.h | 640 ------------- vl53l0x_test/vl53l0x_device.h | 257 ----- vl53l0x_test/vl53l0x_parameter.c | 101 -- vl53l0x_test/vl53l0x_parameter.o | Bin 8464 -> 0 bytes vl53l0x_test/vl53l0x_reg | Bin 20912 -> 0 bytes vl53l0x_test/vl53l0x_reg.c | 88 -- vl53l0x_test/vl53l0x_reg.o | Bin 8688 -> 0 bytes vl53l0x_test/vl53l0x_test | Bin 21184 -> 0 bytes vl53l0x_test/vl53l0x_test.c | 389 -------- vl53l0x_test/vl53l0x_test.o | Bin 47784 -> 0 bytes vl53l0x_test/vl53l0x_types.h | 69 -- wonderEcho_demo/CMakeLists.txt | 5 - wonderEcho_demo/wonderEcho_demo.cpp | 157 --- zebra_demo/CMakeLists.txt | 3 - zebra_demo/test.jpg | Bin 915426 -> 0 bytes zebra_demo/zebra_demo.cpp | 729 -------------- 66 files changed, 1698 insertions(+), 5625 deletions(-) delete mode 100644 2K0300智能车项目代码文档.md create mode 100644 AGENTS.md delete mode 100644 README.md delete mode 100644 build_lsx.sh delete mode 100644 demo1/CMakeLists.txt delete mode 100644 demo1/demo1.cpp create mode 100644 docs/ARCHITECTURE.md create mode 100644 docs/CONE_DESIGN.md create mode 100644 docs/ENCODER_BRAKE.md create mode 100644 docs/TRAFFIC_LIGHT.md rename vl53l0x_test/vl53l0x_parameter => encoder_brake_demo (51%) create mode 100644 encoder_brake_demo.cpp delete mode 100644 encoder_demo/CMakeLists.txt delete mode 100644 encoder_demo/encoder_demo.cpp delete mode 100644 framebuffer_demo/CMakeLists.txt delete mode 100644 framebuffer_demo/framebuffer_demo.cpp delete mode 100644 gd13_demo/CMakeLists.txt delete mode 100644 gd13_demo/gd13_demo.cpp delete mode 100644 image_test/CMakeLists.txt delete mode 100644 image_test/image_test.cpp delete mode 100644 jy62_demo/CMakeLists.txt delete mode 100644 jy62_demo/jy62_demo.cpp delete mode 100644 key_demo/CMakeLists.txt delete mode 100644 key_demo/key_demo.cpp create mode 100644 mild_v12.bin delete mode 100644 nanodetv10.bin delete mode 100644 opencv_demo1/CMakeLists.txt delete mode 100644 opencv_demo1/opencv_demo1.cpp delete mode 100644 opencv_demo2/CMakeLists.txt delete mode 100644 opencv_demo2/opencv_demo2.cpp delete mode 100644 opencv_demo3/CMakeLists.txt delete mode 100644 opencv_demo3/opencv_demo3.cpp delete mode 100644 screenshot_demo/CMakeLists.txt delete mode 100644 screenshot_demo/screenshot_demo.cpp delete mode 100644 udp_receive/CMakeLists.txt delete mode 100644 udp_receive/slider.py delete mode 100644 udp_receive/udp_receive.cpp delete mode 100644 vl53l0x_demo/CMakeLists.txt delete mode 100644 vl53l0x_demo/vl53l0x_demo.cpp delete mode 100644 vl53l0x_setup.sh delete mode 100644 vl53l0x_test/Android.mk delete mode 100644 vl53l0x_test/Makefile delete mode 100644 vl53l0x_test/vl53l0x_def.h delete mode 100644 vl53l0x_test/vl53l0x_device.h delete mode 100644 vl53l0x_test/vl53l0x_parameter.c delete mode 100644 vl53l0x_test/vl53l0x_parameter.o delete mode 100644 vl53l0x_test/vl53l0x_reg delete mode 100644 vl53l0x_test/vl53l0x_reg.c delete mode 100644 vl53l0x_test/vl53l0x_reg.o delete mode 100644 vl53l0x_test/vl53l0x_test delete mode 100644 vl53l0x_test/vl53l0x_test.c delete mode 100644 vl53l0x_test/vl53l0x_test.o delete mode 100644 vl53l0x_test/vl53l0x_types.h delete mode 100644 wonderEcho_demo/CMakeLists.txt delete mode 100644 wonderEcho_demo/wonderEcho_demo.cpp delete mode 100644 zebra_demo/CMakeLists.txt delete mode 100644 zebra_demo/test.jpg delete mode 100644 zebra_demo/zebra_demo.cpp diff --git a/2K0300智能车项目代码文档.md b/2K0300智能车项目代码文档.md deleted file mode 100644 index f79acc3..0000000 --- a/2K0300智能车项目代码文档.md +++ /dev/null @@ -1,172 +0,0 @@ -# 2K0300智能车项目代码文档 - -## 项目概述 -该项目是一个智能车控制系统,包含摄像头图像处理、电机控制、编码器反馈、PID 控制、帧缓冲区显示等功能。项目使用 C++ 编写,依赖 OpenCV 库进行图像处理,并通过 CMake 进行构建。 - -## 目录结构 -- **CMakeLists.txt**: 项目的构建配置文件。 -- **cross.cmake**: 交叉编译工具链配置文件。 -- **src/**: 库文件目录,包含摄像头、电机控制、PID 控制等模块的实现。 -- **lib/**: 库文件目录,包含摄像头、电机控制、PID 控制等模块的头文件。 -- **main/**: 主程序目录。 -- **xx_demo/**: 示例程序目录,包含多个演示程序。 - ---- - -## 主要模块介绍 - -### 1. 摄像头模块 (`camera.cpp`, `camera.h`) -摄像头模块负责初始化摄像头设备、捕获图像并进行处理。主要功能包括: -- **摄像头初始化**: 打开摄像头设备,设置分辨率、帧率等参数。 -- **图像捕获**: 通过 OpenCV 捕获摄像头图像,并进行缩放、二值化等处理。 -- **帧缓冲区显示**: 将处理后的图像显示到帧缓冲区设备(如 LCD 屏幕)。 -- **图像保存**: 支持将捕获的图像保存为文件。 - -#### 关键函数: -- `CameraInit(uint8_t camera_id, double dest_fps, int width, int height)`: 初始化摄像头设备。 -- `CameraHandler(void)`: 处理摄像头捕获的图像。 -- `streamCapture(void)`: 持续捕获摄像头图像,存储到全局变量`cv::Mat pubframe`中,`std::mutex frameMutex`为互斥锁。 -- `cameraDeInit(void)`: 释放摄像头资源。 - ---- - -### 2. 电机控制模块 (`MotorController.cpp`, `MotorController.h`) -电机控制模块负责控制智能车的电机,支持 PWM 调速和方向控制。主要功能包括: -- **电机初始化**: 初始化 PWM 控制器和 GPIO 引脚。 -- **速度控制**: 通过 PID 控制器调节电机速度。 -- **方向控制**: 控制电机的正反转。 - -#### 关键函数: -- `MotorController(int pwmchip, int pwmnum, int gpioNum, unsigned int period_ns, double kp, double ki, double kd, double targetSpeed, int encoder_pwmNum, int encoder_gpioNum, int encoder_dir_)`: 构造函数,初始化电机控制器,`encoder_dir_`取值为1/-1,在更新速度时自动乘算到编码器速度上。 -- `updateSpeed(void)`: 从编码器更新当前速度。 -- `updateTarget(int speed)`: 设置目标速度。 -- `updateduty(double dutyCycle)`: 设置 PWM 占空比,为负值时反转。 - ---- - -### 3. PID 控制模块 (`PIDController.cpp`, `PIDController.h`) -PID 控制模块实现了位置式和增量式 PID 控制器,用于电机速度和舵机角度的精确控制。主要功能包括: -- **PID 参数设置**: 支持动态调整比例、积分、微分参数。 -- **控制模式切换**: 支持位置式和增量式 PID 控制。 -- **输出限幅**: 防止输出值超出设定范围。 -- **积分限幅**:放置积分项超出设定范围。 - -#### 关键函数: -- `PIDController(double kp, double ki, double kd, double target, PIDMode mode, double output_limit, double integral_limit)`: 构造函数,初始化 PID 参数。 -- `update(double measured_value)`: 输入测量值,更新 PID 控制器输出。 -- `setTarget(double target)`:设置PID控制器目标值。 -- `setPID(double kp, double ki, double kd)`: 设置 PID 参数。 -- `setMode(PIDMode mode)`: 设置控制模式(位置式或增量式)。 - ---- - -### 4. 编码器模块 (`encoder.cpp`, `encoder.h`) -编码器模块用于读取电机编码器的脉冲信号,计算电机转速。主要功能包括: -- **编码器初始化**: 映射寄存器,初始化编码器设备。 -- **脉冲计数**: 读取编码器脉冲信号,计算转速。 -- **方向检测**: 通过 GPIO 读取电机方向。 - -#### 关键函数: -- `ENCODER(int pwmNum, int gpioNum)`: 构造函数,初始化编码器。 -- `pulse_counter_update(void)`: 更新脉冲计数并计算转速(单位:rps)。 - ---- - -### 5. 帧缓冲区模块 (`frame_buffer.cpp`, `frame_buffer.h`) -帧缓冲区模块负责将 OpenCV 图像转换为 RGB565 格式并显示到帧缓冲区设备(如 LCD 屏幕)。主要功能包括: -- **图像格式转换**: 将 OpenCV 的 RGB888 图像转换为 RGB565 格式。 -- **帧缓冲区写入**: 将转换后的图像写入帧缓冲区设备。 - -#### 关键函数: -- `convertMatToRGB565(const cv::Mat &frame, uint16_t *buffer, int width, int height)`: 将 OpenCV 图像转换为 RGB565 格式,写入到buffer中。 -- `convertRGBToRGB565(uint8_t r, uint8_t g, uint8_t b)`: 将 RGB888 颜色值转换为 RGB565 格式。 - ---- - -### 6. GPIO 模块 (`GPIO.cpp`, `GPIO.h`) -GPIO 模块用于控制 GPIO 引脚,支持方向设置、值读取和写入。主要功能包括: -- **GPIO 初始化**: 导出 GPIO 引脚并设置方向。 -- **值读写**: 读取或写入 GPIO 引脚的值。 - -#### 关键函数: -- `GPIO(int gpioNum)`: 构造函数,初始化 GPIO 引脚。 -- `setDirection(const std::string &direction)`: 设置 GPIO 引脚方向。 -- `setValue(bool value)`: 设置 GPIO 引脚值。 -- `readValue(void)`: 读取 GPIO 引脚值。 - ---- - -### 7. PWM 控制模块 (`PwmController.cpp`, `PwmController.h`) -PWM 控制模块用于生成 PWM 信号,控制电机速度和舵机角度。主要功能包括: -- **PWM 初始化**: 初始化 PWM 设备。 -- **周期和占空比设置**: 设置 PWM 信号的周期和占空比。 -- **PWM 启用/禁用**: 控制 PWM 信号的输出。 - -#### 关键函数: -- `PwmController(int pwmchip, int pwmnum)`: 构造函数,初始化 PWM 设备。 -- `setPeriod(unsigned int period_ns)`: 设置 PWM 周期。 -- `setDutyCycle(unsigned int duty_cycle_ns)`: 设置 PWM 占空比。 -- `enable(void)`: 启用 PWM 输出。 -- `disable(void)`: 禁用 PWM 输出。 - ---- - -### 8. 图像处理模块 (`image_cv.cpp`, `image_cv.h`) -图像处理模块负责对摄像头捕获的图像进行处理,提取赛道边缘和中线。主要功能包括: -- **图像缩放**: 将图像缩放到指定大小。 -- **二值化处理**: 将图像转换为二值图像。 -- **边缘提取**: 提取赛道的左右边缘和中线。 - -#### 关键函数: -- `image_main(void)`: 主图像处理函数,执行缩放、二值化和边缘提取。 - ---- - -### 9. 全局变量模块 (`global.cpp`, `global.h`) -全局变量模块定义了项目中使用的全局变量和工具函数。主要功能包括: -- **文件读取**: 从文件中读取双精度值和标志。 -- **全局变量**: 定义 PID 参数、目标速度等全局变量。 - -#### 关键函数: -- `readDoubleFromFile(const std::string &filename)`: 从文件中读取双精度值。 -- `readFlag(const std::string &filename)`: 从文件中读取标志。 - ---- - -### 10. 定时器模块 (`Timer.cpp`, `Timer.h`) -定时器模块用于创建定时任务,定期执行指定函数。主要功能包括: -- **定时任务创建**: 创建定时任务并启动。 -- **定时任务停止**: 停止定时任务。 - -#### 关键函数: -- `Timer(int interval_ms, std::function task)`: 构造函数,初始化定时器。 -- `start(void)`: 启动定时任务。 -- `stop(void)`: 停止定时任务。 - ---- - -## 示例程序 - -### 1. 编码器测试程序 (`encoder_demo.cpp`) -该程序用于测试编码器模块,读取编码器脉冲信号并输出转速。 - -### 2. 帧缓冲区测试程序 (`framebuffer_demo.cpp`) -该程序用于测试帧缓冲区模块,绘制图形并显示到帧缓冲区设备。 - -### 3. OpenCV 测试程序 (`opencv_demo1.cpp`, `opencv_demo2.cpp`, `opencv_demo3.cpp`) -这些程序用于测试 OpenCV 图像处理功能,分别为显示摄像头图像、显示旋转立方体、目标匹配。 -- `opencv_demo3.cpp`在运行时依赖`opencv/share/opencv4/haarcascades/haarcascade_frontalface_default.xml`,需要在`opencv`文件夹同一目录下运行。 - -### 4. 遥控车演示程序 (`demo1.cpp`) -该程序通过键盘控制智能车的运动,支持前进、后退、左转、右转。 - ---- - -## 构建项目 -使用 CMake 构建项目: -```bash -mkdir build -cd build -cmake .. -make -``` \ No newline at end of file diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..1431088 --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,94 @@ +# AGENTS.md — SmartCar Demo + +## Project overview + +LoongArch64 embedded autonomous smart car using OpenCV + NanoDet V10 model. +Runs on-device (Loongson board) with cross-compilation from x86 Linux. + +## Build + +```sh +# On the build host (x86 Linux): +mkdir build && cd build +cmake .. +make +``` + +- **Cross-compilation target**: LoongArch64 (`-march=loongarch64`) +- **Toolchain**: `/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.6` +- **C++ standard**: 17 +- **OpenCV path** (device-side): `/mnt/d/PPPProgram/smartcar/opencv_device/` +- `cross.cmake` is included **before** `cmake_minimum_required` — this is intentional. + +## Project structure + +| Directory | Purpose | +|-----------|---------| +| `src/` | Source → compiled into `common_lib` (static lib) | +| `lib/` | Public headers only (no .cpp) | +| `main/` | Entry point → executable `smartcar_demo1` | +| `docs/` | Architecture docs (`ARCHITECTURE.md` is the design reference) | +| `build/` | CMake build output (gitignored) | + +**Executable name**: `smartcar_demo1` (the CMake project name `smartcar_demo2` is different — don't assume they match). + +## Excluded modules + +These source files exist but are **excluded from build**: + +- `vl53l0x.cpp` — laser ranging module, hardware not connected +- `zebra_detect.cpp` — classic zebra-crossing detection, replaced by NanoDet model +- `encoder.cpp` — referenced in exclusion list but file does **not** exist in repo + +## Device-side operation + +The onboard binary is controlled via text files in the working directory — no CLI args. + +```sh +# On device: +sh ctl.sh init # initialize GPIO/PWM pins +sh ctl.sh start # start the demo +sh ctl.sh stop # stop and zero PWM +``` + +`ctl.sh` sets default config values by writing to files like `./speed`, `./kp`, `./steer_gain`, etc. The running binary reads these files. `start.sh` uses `LD_PRELOAD=./gpio_fix_final.so` (GPIO workaround). + +## Configuration system + +All config is via single-value text files in the working directory: + +- `./speed` (double) — target speed +- `./start` (0/1) — motor enable switch +- `./debug` (0/1) — when 1, reloads all config files every 7 frames +- `./showImg` (0/1) — LCD display toggle +- `./deadband`, `./steer_gain`, `./center_bias` — steering tuning +- `./foresee` — look-ahead row for steering +- `./zebrasee` — zebra crossing near-threshold +- `./destfps` — target framerate +- `./kp`, `./ki`, `./kd` — PID gains (currently **not used**; motor is open-loop) +- `./mortor_kp`, `./mortor_ki`, `./mortor_kd` — motor encoder PID (spelling `mortor` is intentional) + +## Architecture + +9-step per-frame pipeline in `CameraHandler()` (`src/camera.cpp`): +1. Capture frame (640×480 MJPEG → BGR) +2. Optionally save image +3. Vision line tracking (80×60 downscale → HSV+Otsu → floodFill → mid_line[60]) +4. Model inference every 2nd frame (NanoDet V10, 4 classes: cone/red/green/zebra) +5. Zebra crossing state machine (NORMAL→STOP(4s)→COOLDOWN(5s)) +6. Steering servo control (PWM, deadband-filtered) +7. Motor control (open-loop duty cycle, curve-based slowdown in turns) +8. LCD rendering (`/dev/fb0` mmap) +9. FPS logging + +**Key detail**: Motor control is **open-loop** — `MotorController::updateSpeed()` and encoder PID exist in code but are never called from the main loop. Only `updateduty()` (direct PWM) is used. + +Currently **cones (cls=0), red lights (cls=1), and green lights (cls=2)** are detected by the model but ignored in decision logic. + +## Style and conventions + +- C++ files have **no copyright headers** and **minimal comments** — comments are ascii-box-style block comments when present +- Header guards use the form `#ifndef FILENAME_H_` / `#define FILENAME_H_` +- Global state uses `extern` globals (e.g., `g_cfg`, `g_steer_deviation`, `g_boxes`) +- `lib/` contains .h files only; `src/` contains .cpp files only +- No unit tests, no CI, no linting — this is embedded code tested on-device diff --git a/README.md b/README.md deleted file mode 100644 index f67b82e..0000000 --- a/README.md +++ /dev/null @@ -1,256 +0,0 @@ -# SmartCar Demo — 使用手册 & 踩坑记录 - -## 项目概述 - -龙芯 2K0300 智能车卖家 Demo,简易架构:`sysfs` 直接控制 GPIO/PWM + mmap 读编码器 + OpenCV 巡线。 - -**赛道**:蓝底黄线边界,灰度路面 -**驱动**:前轮舵机转向 + 后轮双电机差速辅助 - ---- - -## 硬件信息 - -| 部件 | 型号/规格 | 说明 | -|------|----------|------| -| 主控 | 龙芯 2K0300 (LA264, 1.2GHz) | LoongArch64 | -| 摄像头 | USB UVC | 320×240 MJPG, `/dev/video0` | -| 显示器 | SPI LCD | `/dev/fb0`, RGB565, 160×128 (实际) | -| 舵机 | 标准 PWM 舵机 | pwmchip1/pwm0, 3ms 周期, 1.52ms 中位 | -| 电机驱动 | DRV8701E (双路) | pwmchip8/pwm1→右, pwmchip8/pwm2→左 | -| 编码器 | 硬件脉冲计数 | `/dev/mem` mmap 基址 `0x1611B000` | -| IMU | JY62 六轴陀螺仪 | `/dev/ttyS1`, 115200bps | -| ToF 测距 | VL53L0X | `/dev/stmvl53l0x_ranging` | -| 音箱 | wonderEcho | I2C-2, 地址 0x6E (有应答, 无驱动) | - -### 关键引脚映射 - -| 功能 | GPIO / PWM | 备注 | -|------|-----------|------| -| 电机使能 | GPIO73 | 高有效, 1=启动, 0=紧急制动 | -| 左电机 IN1 (正转) | GPIO12 + pwmchip8/pwm2 | DRV8701 IN/IN 模式 | -| 左电机 IN2 (反转) | GPIO13 | **必须锁 0** | -| 右电机 PWM | pwmchip8/pwm1 | 方向脚 GPIO67 是哑脚 | -| 左编码器 | 通道0 + GPIO75 | 方向检测 | -| 右编码器 | 通道3 + GPIO72 | 方向检测, 极性 -1 | -| 舵机 | pwmchip1/pwm0 | 3ms, 1.31~1.73ms (±7 刻度) | - ---- - -## 构建环境 - -### 交叉编译工具链 - -``` -路径: /opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.6 -编译器: loongarch64-linux-gnu-g++ (GCC 8.3) -架构: -march=loongarch64 -``` - -### OpenCV - -``` -路径: /home/ilikara/loongson/opencv-4.11.0/loongson -版本: 4.11.0 (必须匹配设备上的 libopencv) -``` - -### 编译 - -```bash -cd smartcar1 -mkdir -p build && cd build -cmake .. # CROSS_COMPILE=1 在 cross.cmake 中设置 -make -j$(nproc) -``` - -产物: `build/main/smartcar_demo` (约 90KB) - -**Windows 上不可编译!** 必须在 Linux 下用交叉工具链。可在 WSL Ubuntu 中用 `g++ -std=c++17 -fsyntax-only` 做部分语法检查。 - ---- - -## 部署与启动 - -### 板端目录结构 - -``` -/home/root/smartcar/ -├── smartcar_demo # 主程序 -├── ctl.sh # 启停脚本 -├── gpio_fix_final.so # GPIO74→73 重定向 (LD_PRELOAD) -├── start.sh # 推荐启动脚本 (已内置 LD_PRELOAD) -├── showImg # LCD 预览开关 -├── start # 车控启停 -├── speed # 目标速度 (占空比) -├── deadband # 舵机死区 -├── steer_gain # 转向增益 -├── kp / ki / kd # 舵机 PID -├── mortor_kp / mortor_ki / mortor_kd # 电机 PID -└── foresee # 前瞻行号 -``` - -### 推荐启动 - -```bash -# 方式 1: 使用包装脚本 (已固化 LD_PRELOAD) -sh /home/root/smartcar/start.sh - -# 方式 2: 手动 -LD_PRELOAD=/home/root/smartcar/gpio_fix_final.so /home/root/smartcar/smartcar_demo -``` - ---- - -## 运行时参数热调 - -**无需重新编译**,直接 `echo` 写文件即可实时生效: - -```bash -echo 11 > /home/root/smartcar/speed # 目标占空比 (0~100) -echo 8 > /home/root/smartcar/deadband # 舵机死区 (像素) -echo 1.5 > /home/root/smartcar/steer_gain # 转向增益 -echo 3.5 > /home/root/smartcar/kp # 舵机 P -echo 0.3 > /home/root/smartcar/ki # 舵机 I -echo 2.0 > /home/root/smartcar/kd # 舵机 D -echo 40 > /home/root/smartcar/foresee # 前瞻行 (0~120, 越大看越远) -echo 1 > /home/root/smartcar/showImg # 1=LCD 预览, 0=关闭 -echo 1 > /home/root/smartcar/start # 1=启动, 0=停止 -echo 1 > /home/root/smartcar/saveImg # 保存当前帧到 ./image/ -``` - ---- - -## 踩坑记录 (关键!) - -### 1. GPIO74 与 LCD 驱动冲突 — 程序无法启动 - -**现象**: `std::runtime_error: Failed to open GPIO value file` - -**原因**: Demo 二进制硬编码 GPIO_EN=74, 但 GPIO74 被 LCD 驱动 `fb_st7735r` 占用 (内核级, 无法释放)。 - -**解决**: 编译 `gpio_fix_final.so`, 用 LD_PRELOAD 劫持 `open()` 系统调用, 将对 gpio74 的访问重定向到 gpio73。启动时必须带 `LD_PRELOAD`。 - -**源代码修复**: `control.cpp` 中 `GPIO mortorEN(73)` — 如果从源码编译, 直接改成 GPIO73, 无需 LD_PRELOAD。 - -### 2. 右电机方向硬件锁死 — 差速失效 - -**现象**: 右轮只能单向旋转, 代码写 GPIO67 无效。 - -**原因**: DRV8701 的右路方向脚 (原本应对应某个 GPIO) 在 PCB 上直接拉高/拉低了。代码中的 GPIO67 是哑脚, 实际不控制任何硬件。 - -**解决**: 物理剪线交换右电机电源线 (M+/M- 对调), 代码中 GPIO67 作为占位符不动。这样一来, 代码输出正占空比时电机实际反向。 - -### 3. GPIO13 实测映射 — 文档与实物不符 - -**文档称**: GPIO12=左IN1, GPIO13=右IN1。 -**实测**: GPIO13 控制的是**左电机 IN2 (反转)**, 不是右电机方向! - -**影响**: 若 GPIO13=1, 左电机 IN1=1 IN2=1 → 制动状态, 左轮抱死。 - -**解决**: 代码中显式 `leftIn2.setValue(0)` 把 GPIO13 锁 0, 确保左电机只有正转 (IN1=1, IN2=0)。 - -### 4. 摄像头分辨率不稳定 - -**现象**: 摄像头偶尔返回 640×480 而非 320×240。 - -**原因**: 某些 UVC 摄像头不响应 `CAP_PROP_FRAME_WIDTH/HEIGHT` 设置, 按默认格式输出。 - -**解决**: -```cpp -cap.open(0, cv::CAP_V4L2); // 强制 V4L2 后端 -cap.set(cv::CAP_PROP_FRAME_WIDTH, 320); // 设宽 -cap.set(cv::CAP_PROP_FRAME_HEIGHT, 240); // 设高 -cap.set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc('M','J','P','G')); // MJPG -``` -即使摄像头不遵从, `resize()` 也能在软件层统一到 80×60。 - -### 5. 编码器必须 root 权限 - -**现象**: `ENCODER` 构造失败, mmap 报错。 - -**原因**: 编码器通过 `/dev/mem` 直接映射 PWM 硬件寄存器 (物理地址 `0x1611B000`), 需要 root。 - -**解决**: 必须以 root 运行程序。`sudo` 或直接以 root 登录。 - -### 6. IMU 端口纠正 - -**文档称**: IMU 在 `/dev/ttyS2`。 -**实测**: IMU 在 `/dev/ttyS1` (115200bps)。 - -### 7. 网络热插拔导致断连 - -**现象**: 拔掉网线再插上, SSH 连不上。 - -**原因**: `/etc/network/interfaces` 中静态 eth0 配置与 connman 冲突。 - -**解决**: 删除 `/etc/network/interfaces` 中的 eth0 段, 让 connman 全权管理有线网络。修改后即使先开机后插网线也能自动获取 IP。 - -### 8. GCC 14.2.0 工具链 ABI 不兼容 - -**现象**: 用新版 GCC 14.2.0 (当前 WSL 环境) 编译的程序在设备上运行报 `GLIBCXX_3.4.30 not found`。 - -**原因**: GCC 14.2.0 的 libstdc++ ABI 与设备上的 glibc 2.28 / libstdc++ 6.0.25 不兼容。 - -**解决**: -- **必须使用原始 GCC 8.3 rc1.6 工具链**。路径: `/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.6` -- 可用 C 编译器 (`gcc` 而非 `g++`) + 显式 `-march=la64v1.0` + 指定 `-Wl,-dynamic-linker=...` 编译纯 C 程序 - -### 9. 视觉管线分辨率选择 - -**Demo 内部处理**: 摄像头 320×240 → 缩放至显示分辨率 (160×120) → 再除以 `calc_scale=2` → 最终 **80×60** 做 HSV 二值化 + 洪泛填充 + 搜线。 - -**关键**: 80×60 是最优平衡点——再大 Otsu 不稳, 再小细节丢失。 - -### 10. 启动顺序 & 竞态 - -- GPIO 必须先 export + 设方向, 再启动程序 -- 舵机 PWM 必须先设 period + enable, 才能写 duty_cycle -- 程序需要几秒初始化 IMU (校准 200 样本 × 5ms = 1 秒) - -### 11. PWM 频率 - -| PWM | 频率 | 周期 | 用途 | -|-----|------|------|------| -| pwmchip8/pwm1,2 | 20kHz | 50000ns | 电机驱动 (DRV8701 需 ≥ 20kHz) | -| pwmchip1/pwm0 | 333Hz | 3000000ns | 舵机 (标准 3ms 周期) | - -### 12. 算力实测 (2K0300 CPU) - -| 精度 | 算力 | 备注 | -|------|------|------| -| FP32 | 0.43 GFLOPS | 无 SIMD, 纯标量 | -| INT8 | 0.44 GOPS | 几乎无加速, 与 FP32 持平 | -| INT4 | 0.24 GOPS | 比 INT8 更慢 (位操作开销) | - -**结论**: 2K0300 没有 SIMD/NPU, 纯 CPU 推理极弱。模型需 ≤15M MACs 才能跑 30+ FPS。只适合微型 CNN (2-3 层, 32×32 输入, 8-16 通道) 做简单分类。 - ---- - -## Demo 程序列表 - -| Demo | 功能 | -|------|------| -| `main/` | **完整自动驾驶巡线** — CameraTimer + MortorTimer + 文件热调 | -| `demo1/` | 键盘 WASD 遥控 — 非阻塞终端 | -| `image_test/` | 离线图像处理调试器 — 方向键翻页, 7 种显示模式 | -| `udp_receive/` | UDP 遥控 (端口 8888) + Python 滑块 GUI | -| `encoder_demo/` | 编码器原始读数测试 | -| `jy62_demo/` | JY62 IMU 六轴数据读取 | -| `key_demo/` | 9 键 GPIO 状态面板 | -| `wonderEcho_demo/` | I2C smbus 读写实验 | -| `opencv_demo1/` | USB 摄像头 → framebuffer 直显 + FPS | -| `opencv_demo2/` | 3D 旋转立方体软件渲染 | -| `opencv_demo3/` | Haar 级联人脸检测 | -| `framebuffer_demo/` | 纯软件 8×8 字体 + 几何绘图 | -| `vl53l0x_test/` | VL53L0X 测距传感器 (ST 官方) | - ---- - -## 文件说明 - -| 文件 | 用途 | -|------|------| -| `CMakeLists.txt` | 构建配置: `src/` → 静态库, 各 demo 独立链接 | -| `cross.cmake` | 交叉工具链切换 (`CROSS_COMPILE=1`) | -| `lib/` | 头文件: GPIO, PWM, PID, Motor, Encoder, Camera, Timer, serial 等 | -| `src/` | 实现文件: 每个 `.cpp` → 编译进 `libcommon_lib.a` | diff --git a/build_lsx.sh b/build_lsx.sh deleted file mode 100644 index 91864a4..0000000 --- a/build_lsx.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash -export PATH=/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.6/bin:/usr/bin:/bin -CC=loongarch64-linux-gnu-g++ -SRC_FW=/mnt/d/PPPProgram/smartcar/smartcar_framework -SRC_CAR=/mnt/d/PPPProgram/smartcar/smartcar2 -INC="-I$SRC_FW/model/v10/release -I$SRC_CAR/src -I/mnt/d/PPPProgram/smartcar/opencv_device/include/opencv4" -LIB="-L/mnt/d/PPPProgram/smartcar/opencv_device/lib -lopencv_core -lopencv_imgproc -lopencv_imgcodecs -lpthread -lrt" -FLAGS="-O3 -std=c++17 -march=loongarch64 -mtune=loongarch64 -ffast-math -funroll-loops -fomit-frame-pointer" - -echo "=== NOSIMD ===" -$CC $FLAGS $INC $SRC_FW/tools/v10_demo.cpp $SRC_FW/model/v10/release/model_v10.cpp -o /tmp/vd_nosimd $LIB -echo "rc=$?" - -echo "=== LSX ===" -$CC $FLAGS -mlsx $INC $SRC_FW/tools/v10_demo.cpp $SRC_FW/model/v10/release/model_v10.cpp -o /tmp/vd_simd $LIB -echo "rc=$?" - -ls -la /tmp/vd_nosimd /tmp/vd_simd 2>/dev/null || echo "some binaries missing" diff --git a/ctl.sh b/ctl.sh index 091322f..7774112 100644 --- a/ctl.sh +++ b/ctl.sh @@ -15,14 +15,13 @@ init_pins() { echo out > /sys/class/gpio/gpio12/direction 2>/dev/null echo out > /sys/class/gpio/gpio13/direction 2>/dev/null echo out > /sys/class/gpio/gpio66/direction 2>/dev/null - echo out > /sys/class/gpio/gpio67/direction 2>/dev/null + echo in > /sys/class/gpio/gpio67/direction 2>/dev/null echo out > /sys/class/gpio/gpio75/direction 2>/dev/null echo in > /sys/class/gpio/gpio72/direction 2>/dev/null echo 1 > /sys/class/gpio/gpio73/value 2>/dev/null echo 0 > /sys/class/gpio/gpio12/value 2>/dev/null echo 0 > /sys/class/gpio/gpio13/value 2>/dev/null echo 0 > /sys/class/gpio/gpio66/value 2>/dev/null - echo 0 > /sys/class/gpio/gpio67/value 2>/dev/null for ch in 1 2; do echo $ch > /sys/class/pwm/pwmchip${PWMCHIP}/export 2>/dev/null @@ -47,6 +46,18 @@ init_pins() { echo 0 > "$DIR/mortor_kd" 2>/dev/null echo 40 > "$DIR/foresee" 2>/dev/null echo 0 > "$DIR/start" 2>/dev/null + + echo 0.3 > "$DIR/cone_avoid_gain" 2>/dev/null + echo 30 > "$DIR/cone_avoid_range" 2>/dev/null + echo 0.5 > "$DIR/cone_speed" 2>/dev/null + echo 3 > "$DIR/cone_min_frames" 2>/dev/null + echo 0 > "$DIR/cone_margin" 2>/dev/null + echo 0.80 > "$DIR/cone_thresh" 2>/dev/null + echo 30 > "$DIR/cone_hold_frames" 2>/dev/null + + echo 10 > "$DIR/brake_scale" 2>/dev/null + echo 10000 > "$DIR/brake_max" 2>/dev/null + echo "[demo] 引脚初始化完成" } diff --git a/demo1/CMakeLists.txt b/demo1/CMakeLists.txt deleted file mode 100644 index 843c3c9..0000000 --- a/demo1/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# demo1 -add_executable(demo1 demo1.cpp) - -# 链接 OpenCV 库 -target_link_libraries(demo1 common_lib ${OpenCV_LIBS}) \ No newline at end of file diff --git a/demo1/demo1.cpp b/demo1/demo1.cpp deleted file mode 100644 index 15c0e82..0000000 --- a/demo1/demo1.cpp +++ /dev/null @@ -1,125 +0,0 @@ -/* - * @Author: ilikara 3435193369@qq.com - * @Date: 2025-01-07 02:21:05 - * @LastEditors: ilikara 3435193369@qq.com - * @LastEditTime: 2025-03-29 01:36:06 - * @FilePath: /smartcar/demo1/demo1.cpp - * @Description: 遥控车Demo,通过键盘控制小车的运动,WASD分别控制前后左右,按下Q退出。由于SSH可能会只捕获到一个按键,所以设定按下WS时清除转向,不按WS时不清除前进后退。 - */ -#include -#include -#include -#include -#include - -#include "MotorController.h" -#include "PwmController.h" -#include "GPIO.h" - -GPIO mortorEN(73); -MotorController *motorController[2] = {nullptr, nullptr}; -PwmController servo(1, 0); - -void Init() -{ - mortorEN.setDirection("out"); - mortorEN.setValue(1); - const int pwmchip[2] = {8, 8}; - const int pwmnum[2] = {2, 1}; - const int gpioNum[2] = {12, 13}; - const int encoder_pwmchip[2] = {0, 3}; - const int encoder_gpioNum[2] = {75, 72}; - const int encoder_dir[2] = {1, -1}; - const unsigned int period_ns = 50000; // 20 kHz - - for (int i = 0; i < 2; ++i) - { - motorController[i] = new MotorController(pwmchip[i], pwmnum[i], gpioNum[i], period_ns, - 0, 0, 0, 0, - encoder_pwmchip[i], encoder_gpioNum[i], encoder_dir[i]); - } - - servo.setPeriod(3000000); - servo.setDutyCycle(1500000); - servo.enable(); -} - -// 设置非阻塞输入 -void setNonBlockingInput(bool enable) -{ - termios tty; - tcgetattr(STDIN_FILENO, &tty); - if (enable) - { - tty.c_lflag &= ~ICANON; // 禁用规范模式 - tty.c_lflag &= ~ECHO; // 禁用回显 - } - else - { - tty.c_lflag |= ICANON; - tty.c_lflag |= ECHO; - } - tcsetattr(STDIN_FILENO, TCSANOW, &tty); -} - -int main() -{ - std::unordered_set pressedKeys; - - setNonBlockingInput(true); - std::cout << "Press keys (WASD). Press 'q' to quit." << std::endl; - - Init(); - - while (true) - { - char ch = getchar(); - - if (ch == 'q') - { // 按 'q' 退出 - break; - } - - // 添加按下的键到集合中,并响应按下的键 - if (ch == 'w' || ch == 'W') - { - pressedKeys.insert('W'); - motorController[0]->updateduty(17); - motorController[1]->updateduty(17); - servo.setDutyCycle(1520000); - } - else if (ch == 'a' || ch == 'A') - { - pressedKeys.insert('A'); - servo.setDutyCycle(1360000); - } - else if (ch == 's' || ch == 'S') - { - pressedKeys.insert('S'); - motorController[0]->updateduty(-17); - motorController[1]->updateduty(-17); - servo.setDutyCycle(1520000); - } - else if (ch == 'd' || ch == 'D') - { - pressedKeys.insert('D'); - servo.setDutyCycle(1680000); - } - - // 显示当前按下的键 - std::cout << "Pressed Keys: "; - for (char key : pressedKeys) - { - std::cout << key << " "; - } - std::cout << std::endl; - - // 清空按下的键集合 - pressedKeys.clear(); - - usleep(10000); // 10ms - } - - setNonBlockingInput(false); - return 0; -} \ No newline at end of file diff --git a/docs/ARCHITECTURE.md b/docs/ARCHITECTURE.md new file mode 100644 index 0000000..156ee7c --- /dev/null +++ b/docs/ARCHITECTURE.md @@ -0,0 +1,302 @@ +# SmartCar 决策总架构:从视频帧到执行器 + +## 坐标系统一览 + +``` + Camera 输出 640×480 MJPEG + │ + CONVERT_RGB=0 + IMREAD_REDUCED_COLOR_4 + → 1/4 MJPEG 解码 → raw_frame = 160×120 + │ + ┌───────────┤ + ▼ ▼ (raw_frame.cols/rows 决定分母) + 巡线空间 显示空间 模型空间 + (line_tracking (newWidth × newHeight) 160×120 (正常) + _width × calc_scale = 2 640×480 (回退模式) + line_tracking newWidth = lt_w × 2 + _height) newHeight = lt_h × 2 + 典型值 80×60 +``` + +**关键换算关系(正常模式 raw_frame = 160×120):** +- 模型空间 → 巡线空间:`col_lt = cx * line_tracking_width / 160`,`row_lt = cy * line_tracking_height / 120` +- 巡线空间 → 显示空间:`pixel = value * calc_scale`(calc_scale = 2) +- newWidth / newHeight 取决于屏幕物理分辨率,由 `CameraInit` 动态计算 +- line_tracking_width / height = newWidth/calc_scale, newHeight/calc_scale + +**⚠ 回退模式:** 当 CONVERT_RGB=0 未生效时,raw_frame = 640×480,模型框坐标也在 640×480 空间。 +此时 LCD 渲染仍硬编码除以 160/120(会出错),但正常运行时不会进入此模式。 + +--- + +## 主循环 (main.cpp → CameraHandler) + +``` +main() + ├── cfg_load_all() # 从工作目录文件读取全部配置 + ├── CameraInit(0, dest_fps, 320, 240) # 打开摄像头, LCD, 模型, I2C + ├── ControlInit() # 初始化双电机 GPIO + PWM + │ + └── while(running): + └── CameraHandler() # ★ 以下逐帧执行 +``` + +--- + +## CameraHandler 9 步流水线 + +``` + ┌─────────────────────┐ +Step 1 │ cap.read(raw_mat) │ 640×480 MJPEG 原始字节流 + 取帧+解码 │ raw_mat 单通道(字节) │ → IMREAD_REDUCED_COLOR_4 + │ → cv::imdecode │ → raw_frame = 160×120 BGR + │ raw_frame = decoded │ (回退: raw_mat 三通道→直用 640×480) + └────────┬────────────┘ + │ +Step 2 ┌────────▼────────────┐ + 保存图像 (条件) │ g_cfg.debug==1 │ 写入 ./image/image_XXXXX.jpg + │ && saveImg==1 → │ (双重条件,缺一不可) + │ saveCameraImage() │ + └────────┬────────────┘ + │ +Step 3 ┌────────▼────────────┐ + 视觉巡线 │ image_main() │ raw_frame → resize(lt_w×lt_h) + (每帧都跑) │ │ → HSV双通道Otsu → floodFill + │ 输出: left_line[] │ → 逐行最长连续段搜索 + │ right_line[] │ → 丢线补全(仅 row 10~59) + │ mid_line[] │ → track (赛道蒙版 128/0) + └────────┬────────────┘ + │ +Step 4 ┌────────▼────────────┐ + 模型推理 │ model_v10_detect() │ 每 2 帧推理一次 + (每 2 帧) │ raw_frame (160×120) │ 4 类: 0=锥桶 1=红灯 2=绿灯 3=斑马线 + │ → g_boxes[16] │ g_thresh = [0.80,0.80,0.80,0.75] + │ → g_box_count │ 框坐标 ∈ raw_frame 空间 + └────────┬────────────┘ + │ +Step 5 ┌────────▼────────────┐ + 斑马线状态机 │ 遍历 g_boxes │ 仅处理 cls=3,取第一个斑马线框 + │ 去抖计数+远近判断 │ NORMAL→STOP(4s)→COOLDOWN(5s) + │ │ I2C 语音播报 @ 0x34 + └────────┬────────────┘ + │ +Step 6 ┌────────▼────────────┐ + 舵机控制 │ if g_cfg.start: │ + │ foresee→check_row │ 偏差 = mid_line[row]×2 - newWidth/2 + │ mid_line[check_row]│ → g_steer_deviation ∈ [-1, 1] + │ → deviation │ → servo duty: 1500000 ± offset + │ → deadband 过滤 │ clamp [1.2M, 1.8M] ns + │ → servo.setDuty()│ mid_val==255 → 跳过(无效行) + └────────┬────────────┘ + │ +Step 7 ┌────────▼────────────┐ + 电机控制 │ ControlUpdate( │ + (开环) │ target_speed, │ if zebra_STOP: duty=0 (刹停)+GPIO73=0 + │ g_zstate==Z_STOP) │ else: speed × curve + │ │ curve = 1 - |deviation|×0.4 + │ │ curve ∈ [0.6, 1.0] + │ │ 左右电机同速(无差速) + └────────┬────────────┘ + │ +Step 8 ┌────────▼────────────┐ + LCD 渲染 │ if g_lcd_on: │ g_lcd_on = g_cfg.showImg 的缓存 + │ track→BGR→ROI │ (每10帧刷新一次缓存) + │ + 边界线(红) │ 检测框坐标 bx=newWidth/160 缩放 + │ + 中线(蓝) │ 状态指示 N(绿)/S(红)/C(黄) + │ + 检测框标注 │ → RGB565 → /dev/fb0 mmap + │ (L1条状:跳过红灯) │ + └────────┬────────────┘ + │ +Step 9 ┌────────▼────────────┐ + FPS 统计 │ 每 15 帧输出 │ stdout: "fps=XX.X|rd=X vi=X md=X ct=X ms" + │ 分步计时+总帧率 │ 15帧平均 + └─────────────────────┘ +``` + +--- + +## 视觉巡线深度展开 (image_main) + +``` +raw_frame (160×120 或 640×480 BGR) + │ + ├── cv::resize → (line_tracking_w × line_tracking_h) 典型 80×60 + │ + ├── image_binerize(): + │ BGR→HSV → H通道Otsu(THRESH_BINARY_INV) → S通道Otsu → bitwise_or + │ 赛道=255(白), 背景=0(黑) + │ 原理:蓝底赛道H偏聚集(100~130)、S高;灰路面S低 + │ bitwise_or 取并集,H或S任一判为赛道即保留 + │ + ├── find_road(): + │ MORPH_OPEN(2×2 CROSS) → 种子点(lt_w/2, lt_h-10) + │ → 种子点处画实心圆(半径10, 255) 防种子落在黑色区域 + │ → floodFill(loDiff=20, upDiff=20, 8邻域, newVal=128) + │ → mask 提取 ROI → track (赛道内部=128, 外部=0) + │ + ├── 逐行最长连续段搜索: + │ uchar(*IMG)[lt_w] = track.data + │ 每行扫描,找最长连续非零段 + │ 有多个白段时取最后一个(≥取等,偏右) + │ → left_line[row], right_line[row] + │ → 全零行: left=right=-1 + │ + └── 中线 + 丢线补全 (row = lt_h-1 → 10): + 有边界: mid = (left+right)/2, int 整除 + 丢线: mid[row] = mid[row+1] (继承下行) + 若 mid > lt_w/2 → left=mid, right=lt_w-1 (偏右) + 若 mid ≤ lt_w/2 → left=0, right=mid (偏左) +``` + +**边界线区间有效性:** row 10~59 有可靠数据;row 0~9 的 mid_line 保持初始值 -1(不可靠,不要写入 box 过滤逻辑)。 + +--- + +## 舵机控制数学 + +``` +foresee = g_cfg.foresee ← 前瞻行索引(像素,显示空间),默认 40 +check_row = foresee / calc_scale ← 转为巡线空间行号(calc_scale=2, int 整除) +mid_val = mid_line[check_row] ← 该行中线列坐标 (0~79) + +如果 mid_val == 255 → 跳过(丢线补全也写不到 255,仅作防御) +否则: + deviation = mid_val × 2 - newWidth / 2 ← 转为显示空间偏差(px) + deviation -= g_cfg.center_bias ← 中心偏置修正 + g_steer_deviation = deviation / (newWidth/2) ← 归一化到 [-1, 1] + + if |deviation| < deadband: + servo = 1500000 ns (直行) + else: + norm = deviation / (newWidth/2) + offset = norm × steer_gain × 300000 + duty = clamp(1500000 + offset, 1200000, 1800000) + servo.setDutyCycle(duty) +``` + +**舵机量程:** 1,200,000 ~ 1,800,000 ns,中位 1,500,000 ns,±300,000 ns 对应满偏。 +**deadband 单位:** 显示空间像素(deviation 的单位)。 + +--- + +## 电机控制数学 + +``` +ControlUpdate(speed, zebra_block): + + if zebra_block || !g_cfg.start: + motor[0].updateduty(0) → 两电机停转 + motor[1].updateduty(0) + if !g_cfg.start: mortorEN.setValue(0) → GPIO73 拉低 + return + + curve = 1.0 - |g_steer_deviation| × 0.4 + curve = max(curve, 0.6) ← 最低不低于 60% 速度 + spd = speed × curve + + motor[0].updateduty(spd) → 左电机 (pwmchip8/pwm2, gpio12 方向) + motor[1].updateduty(spd) → 右电机 (pwmchip8/pwm1, gpio13 方向) + mortorEN.setValue(1) → GPIO73 拉高使能 +``` + +**motor[0] vs motor[1]:** 左/右区别仅在于 gpioNum(12 vs 13)和 pwm通道(2 vs 1),函数调用完全相同。 + +**updateduty(duty) 内部:** +- `pwm_period * |duty| / 100` → 转占空比 ns 写入 sysfs +- duty > 0 → GPIO 方向 = 1(正转),duty ≤ 0 → GPIO 方向 = 0(反转) + +**速度控制是开环的:** `MotorController` 仅包含 `updateduty()` 方法,无编码器反馈。 +`PIDController` 类存在但从未被实例化或调用。 +MotorController.h 中也无 `updateSpeed()` 方法(之前的文档中误记了此函数)。 + +--- + +## 斑马线状态机 + +``` +检测到 cls=3 → 取第一个斑马线框 → 去抖计数+追踪最远cy + +ZNORMAL 期间: + zebra_seen: g_zc_frames++, g_zc_min_cy = min(g_zc_min_cy, zebra_cy) + 未 seen: g_zc_frames = max(0, g_zc_frames - 2) + g_zc_frames==0 → g_zc_min_cy=120 (重置) + +触发条件 (仅 ZNORMAL): + zebra_near (cy > g_cfg.zebrasee) + && g_zc_frames >= ZEBRA_MIN_FRAMES (5) + && g_zc_min_cy <= ZEBRA_FAR_CY (50) + → play_zebra_audio() → ZSTOP + + ┌──────┐ 条件: 连续5帧 + 起源于远(cy_min≤50) + 当前近(cy>zebrasee) + │NORMAL│ ─────────────────────────────────────► ┌──────┐ + │ │ ◄───────────────────────────────────── │ STOP │ + └──────┘ 冷却5秒结束 │ │ + ▲ └──┬───┘ + │ 4秒后 │ + │ ┌──────────┐ ◄─────────────────────┘ + └───────────│ COOLDOWN │ + └──────────┘ + +NORMAL: 允许通行,检测斑马线 +STOP: 刹停 4 秒,g_zstate==Z_STOP 传给 ControlUpdate 第二个参数 +COOLDOWN: 恢复行驶但斑马线状态机停止检测 5 秒(防止重复触发) + 仅跳过检测,不影响其他功能(舵机/巡线正常) +``` + +**关键变量:** +- `g_zc_min_cy`:NORMAL 期间追踪斑马线出现时的最小 cy(越远值越小)。未检测到斑马线时衰减减2/帧,归零后重置为 120。 +- `ZEBRA_FAR_CY = 50`:斑马线的 cy 必须曾在 ≤50 处出现过(即"从远处来") +- `zebrasee`(默认 60):当前斑马线 cy > 此值视为"足够近",触发停车 +- 去抖衰减速度:未检测到时每次 `-2`(比锥桶设计中的 `-1` 更快下降) +- Box 遍历在找到第一个 cls=3 后 `break`,忽略同帧其他斑马线框 + +--- + +## 配置系统 + +所有配置通过工作目录下的纯文本文件读写。文件不存在时 readDoubleFromFile 返回 0: + +| 文件 | 类型 | 代码默认 | ctl.sh 写入 | 含义 | +|---|---|---|---|---| +| `./speed` | double | 60 | 11 | 目标速度 (% 占空比) | +| `./start` | int(0/1) | 0 | 0 | 使能开关,1=电机运行 | +| `./debug` | int(0/1) | 0 | (不写入) | 每7帧重载配置+允许存图 | +| `./showImg` | int(0/1) | 0 | (不写入) | LCD 显示(每10帧轮询→g_lcd_on) | +| `./foresee` | double | 80 | 40 | 舵机前瞻行 (显示空间像素) | +| `./deadband` | double | 5 | 8 | 舵机死区 (显示空间像素) | +| `./steer_gain` | double | 1.0 | 1.5 | 舵机增益 | +| `./center_bias` | double | 0 | (不写入) | 中线偏置修正 | +| `./kp`,`./ki`,`./kd` | double | - | 3.5/0.3/2.0 | PID 参数 (当前未使用) | +| `./mortor_kp/ki/kd` | double | - | 0.6/0.2/0 | 电机编码器 PID (当前未使用) | +| `./zebrasee` | double | 60 | (不写入) | 斑马线近界阈值 (模型空间cy) | +| `./destfps` | double | 30* | (不写入) | 目标帧率 (*代码兜底值) | +| `./saveImg` | int(0/1) | - | (不写入) | 保存帧图像 (需 debug=1) | + +**debug 模式:** `./debug` = 1 时,主循环每7帧调用一次 `cfg_load_all()` 重读全部配置,支持热更新调参。同时允许 `saveImg` 保存图像。 + +**注意**:`global.h` 中的 `CfgCache` 默认值和 `ctl.sh` 写入的值不一致(如 speed: 60 vs 11)。`ctl.sh` 写入的值覆盖代码默认值,是实际运行参数。 + +--- + +## 代码中未使用的模块 + +以下 `.cpp` 文件已编译进 `common_lib` 但主循环中从未调用: + +| 文件 | 功能 | 状态 | +|---|---|---| +| `PIDController.cpp` | 位置式/增量式 PID | 类存在但无实例化,无调用 | +| `serial.cpp` | VOFA 串口可视化 (vofa_justfloat/vofa_image) | 已实现但无调用 | +| `Timer.cpp` | 定时器线程 | 已实现但无调用(Video 依赖它但 Video 也未用) | +| `video.cpp` | 视频文件流读取 | 已实现但无调用 | + +--- + +## 当前已知缺陷 / 未利用能力 + +1. **cls=0 锥桶** — 模型已检测但被忽略(CONE_DESIGN.md 设计了方案) +2. **cls=1 红灯 / cls=2 绿灯** — 检测框跳过不画(LCD 渲染中 `if g_boxes[i].cls == 1 || g_boxes[i].cls == 2: continue`),无决策 +3. **电机开环** — 无编码器反馈,PID 类已实现但无调用点,`MotorController` 无 `updateSpeed()` 方法 +4. **舵机死区** — 用 `abs(deviation) < deadband` 比较像素值,deadband 单位是显示空间像素 +5. **中线 row 范围** — 丢线补全仅覆盖 row 10~59,row 0~9 的 mid_line 保持 -1 不可靠 +6. **mid_val == 255 防御** — 代码中写死但 255 永远不会出现在 mid_line 中(当前实现下) +7. **LCD 坐标缩放硬编码** — 检测框绘制用 `newWidth/160.0f`,假设 raw_frame 宽=160。回退模式下 raw_frame=640 时出错 diff --git a/docs/CONE_DESIGN.md b/docs/CONE_DESIGN.md new file mode 100644 index 0000000..d8ca5a0 --- /dev/null +++ b/docs/CONE_DESIGN.md @@ -0,0 +1,283 @@ +# 锥桶避障功能 — 中线变形方案 + +## 1. 核心思路 + +**不改舵机代码,直接修改 `mid_line[]` 数组。** 在锥桶附近把中线"推开"一个凸起,后续巡线逻辑(deviation → deadband → servo)原样工作,车自然跟着变形后的中线绕开锥桶。 + +不使用任何推入计时器、归还逻辑、EMA 平滑——锥桶消失后,下一帧 `image_main()` 重新计算 `mid_line`,自动恢复。 + +--- + +## 2. 坐标与边界过滤 + +``` +模型空间 (raw_frame): + 正常模式: 160×120 (MJPEG 1/4解码) + 回退模式: 640×480 + +巡线空间映射: + cone_col = box.cx * line_tracking_width / raw_frame.cols (典型 0~79) + cone_row = box.cy * line_tracking_height / raw_frame.rows (典型 0~59) + +换算速查 (正常模式 160×120 → 典型 80×60): + cone_col = cx / 2 + cone_row = cy / 2 +``` + +边界过滤 (cls=0, conf ≥ cone_thresh): +``` +row_lt < 10 → 丢弃 (row 0~9 无可靠巡线数据) +row_lt >= line_tracking_height → 丢弃 +left_line[row_lt] == -1 → 丢弃 (该行丢线) +right_line[row_lt] == -1 → 丢弃 +col_lt < left_line[row_lt] → 丢弃 (赛道外) +col_lt > right_line[row_lt] → 丢弃 (赛道外) +``` + +--- + +## 3. 中线变形 + +### 3.1 方向 + +``` +mid_at_cone = mid_line[cone_row] + +cone_col < mid_at_cone → 锥在左 → push_mid 向右 (+) +cone_col > mid_at_cone → 锥在右 → push_mid 向左 (-) + +direction = (cone_col < mid_at_cone) ? +1 : -1 +``` + +### 3.2 变形区域 + +从 `start_row = max(10, cone_row - range)` 到 `cone_row`,共 (cone_row - start_row) 行: + +``` +row 0 ───────────────────────────────── 远 + │ (不变形) +row 10 ───────────────────────────────── + │ start_row ────────────── t=0 + │ 线性斜坡 + │ foresee 行在这里看到部分偏移 + │ + │ cone_row ────────────── t=1 +row 59 ───────────────────────────────── 近 (车前方) +``` + +### 3.3 数学 + +``` +for row in [start_row, cone_row]: + t = (row - start_row) / (cone_row - start_row) // [0, 1] + + push = t * cone_avoid_gain * (line_tracking_width / 2) * direction + + mid_line[row] = original_mid_line[row] + push + mid_line[row] = clamp(mid_line[row], + left_line[row] + 2, + right_line[row] - 2) +``` + +**参数:** +- `cone_avoid_gain` (double, 0.3):归一化推离量。1.0 = 推到半幅赛道宽。默认 0.3 表示推到赛道 30% 宽度处。 +- `cone_avoid_range` (int, 30):斜坡覆盖行数。必须足够大使 foresee 行感受到偏移。 + +--- + +## 4. 数字算例 + +**场景:** 直道,锥桶在赛道左侧。`lt_w=80, lt_h=60, cone_avoid_gain=0.3, cone_avoid_range=30` + +``` +原始数据: + cone_col=25, cone_row=50, mid_at_cone=40 (锥在左侧15列) + direction = +1 (推中线向右) + start_row = max(10, 50-30) = 20 + half_w = 40 + +变形计算: + push_max = 0.3 * 40 * 1 = 12 (行50处的最大位移, 巡线空间列) + + row=20 (start, t=0): mid_line = 40 + 0 = 40 → deviation = 40*2-80 = 0 → 舵机中位 + row=25 (t=5/30=0.17): mid_line = 40 + 2.04 = 42 → deviation = 42*2-80 = +4 → 略右 + row=35 (t=15/30=0.5): mid_line = 40 + 6.0 = 46 → deviation = 46*2-80 = +12 → 明显右转 + row=50 (t=1.0): mid_line = 40 + 12 = 52 → deviation = 52*2-80 = +24 → 大幅右转 + +foresee=40 (显示空间) → check_row=40/2=20 (巡线空间): + mid_line[20] 未被变形 (start_row=20, t=0) + → 舵机看不到! 需要减小 range 或增大 foresee +``` + +**问题暴露:** `foresee=40` → `check_row=20`,但 `start_row=20` 时 t=0 无偏移。 + +**修正:** 确保变形起点在 `check_row` 以上。两种方式: +1. 增大 `cone_avoid_range`(如 40),让 start_row 更低 +2. 让斜坡向上延伸超过 start_row(即从 row=10 就开始) + +**采用方案 2:** 变形始终从 `row=10` 开始,`range` 参数控制斜坡的"陡峭度"而非范围。 + +--- + +## 5. 修正后的变形公式 + +``` +range = cone_avoid_range // 陡峭度参数 (默认 30) +total_rows = cone_row - 10 // 实际跨度 + +for row in [10, cone_row]: + t_raw = (row - 10.0) / total_rows // 线性 [0, 1] + t = clamp(t_raw * (total_rows / range), // 用 range 缩放斜率 + 0.0, 1.0) + + push = t * cone_avoid_gain * (line_tracking_width / 2) * direction + mid_line[row] = clamp(original_mid + push, + left_line[row] + 2, + right_line[row] - 2) +``` + +**效果(cone_avoid_range=30, cone_row=50, total_rows=40):** + +``` +total_rows/range = 40/30 = 1.33 ← 斜率因子 >1, 斜坡更陡 + +row=10: t_raw=0, t=0*1.33=0 → push=0 +row=20: t_raw=0.25, t=0.25*1.33=0.33 → push=0.33*12=4.0 → deviation=+8 (刚好过死区) +row=35: t_raw=0.625,t=0.83 → push=10 → deviation=+20 +row=50: t_raw=1.0, t=1.0 → push=12 → deviation=+24 +``` + +foresee 行 (row=20) 收到 33% 的偏移,产生 +8px 偏差 → 刚好越过 deadband(8px) → 舵机开始右转。 + +**调参规则:** +- 增大 `cone_avoid_range` → 斜坡更缓 → foresee 行偏移更小 → 转向更柔和 +- 减小 `cone_avoid_range` → 斜坡更陡 → foresee 行偏移更大 → 转向更猛 +- 增大 `cone_avoid_gain` → 整体偏移量增大 → 转向更猛 + +--- + +## 6. 去抖机制 + +与之前一致,不改变: + +``` +#define CONE_MIN_FRAMES 3 +#define CONE_COUNT_DECAY 1 + +g_cone_frames: 连续检测计数 +g_cone_last_row / g_cone_last_col: 位置跟踪 (容差 ±5行/±10列) +g_cone_confirmed = (g_cone_frames >= CONE_MIN_FRAMES) +``` + +**关键差异:** 去抖只决定"是否触发变形",变形本身没有持续时间概念。 +- 锥桶在 → 变形在(每帧重新计算 mid_line 变形) +- 锥桶消失 → 下帧 image_main() 重新计算 mid_line → 变形自动消失 +- 不去抖时的抖动:锥桶在边界附近闪烁会使 mid_line 来回跳,用去抖平滑 + +--- + +## 7. 舵机与电机 + +**舵机:** 零改动。Step 6 读取 `mid_line[foresee/2]`,看到变形后的中线值,自然输出偏转方向。 + +**电机:** 推入期间减速: +``` +if (g_cone_confirmed && g_zstate != Z_STOP) { + effective_speed = target_speed * cone_speed_factor; +} else { + effective_speed = target_speed; +} +ControlUpdate(effective_speed, g_zstate == Z_STOP); +``` + +--- + +## 8. 参数配置 + +### 8.1 启动时一次性读取(运行中不重新读文件) + +| 文件 | 类型 | 默认 | 含义 | +|---|---|---|---| +| `./cone_avoid_gain` | double | 0.3 | 归一化推离量 (0=不推, 1=推到赛道边缘) | +| `./cone_avoid_range` | int | 30 | 斜坡陡峭度 (越小越陡,foresee 行感受越强) | + +### 8.2 热更新参数 + +| 文件 | 类型 | 默认 | 含义 | +|---|---|---|---| +| `./cone_speed` | double | 0.5 | 锥桶触发时速度倍率 | +| `./cone_min_frames` | int | 3 | 连续确认帧数 | +| `./cone_margin` | int | 0 | 0=中心点过滤, 1=框边缘过滤 | +| `./cone_thresh` | double | 0.80 | 锥桶置信度阈值 (业务层, 不改 NMS) | + +### 8.3 读取实现 + +**main.cpp 启动时(一次性):** +```cpp +double avoid_gain_val = readDoubleFromFile("./cone_avoid_gain"); +int avoid_range_val = (int)readDoubleFromFile("./cone_avoid_range"); +if (avoid_gain_val <= 0) avoid_gain_val = 0.3; +if (avoid_range_val <= 0) avoid_range_val = 30; +g_cfg.cone_avoid_gain = avoid_gain_val; +g_cfg.cone_avoid_range = avoid_range_val; +``` + +**global.cpp (cfg_load_all,热更新):** +```cpp +g_cfg.cone_speed = readDoubleFromFile(cone_speed_file); +g_cfg.cone_min_frames = (int)readDoubleFromFile(cone_min_frames_file); +g_cfg.cone_margin = (int)readDoubleFromFile(cone_margin_file); +g_cfg.cone_thresh = readDoubleFromFile(cone_thresh_file); +``` + +**ctl.sh:** +```sh +echo 0.3 > "$DIR/cone_avoid_gain" 2>/dev/null +echo 30 > "$DIR/cone_avoid_range" 2>/dev/null +echo 0.5 > "$DIR/cone_speed" 2>/dev/null +echo 3 > "$DIR/cone_min_frames" 2>/dev/null +echo 0 > "$DIR/cone_margin" 2>/dev/null +echo 0.80 > "$DIR/cone_thresh" 2>/dev/null +``` + +--- + +## 9. 代码修改清单 + +``` +lib/global.h: + ├── CfgCache 新增: cone_avoid_gain, cone_avoid_range, + │ cone_speed, cone_min_frames, cone_margin, cone_thresh + └── 新增文件名常量 + +src/global.cpp: + └── cfg_load_all() 追加热更新参数 (不含 avoid_gain/avoid_range) + +main/main.cpp: + └── CameraInit 之前: 读取 cone_avoid_gain, cone_avoid_range 写入 g_cfg + +src/camera.cpp: + ├── #define CONE_CLASS 0 + ├── 新增静态变量: g_cone_frames, g_cone_last_row/col, g_cone_confirmed + ├── Step 5 之后: 插入锥桶检测+边界过滤+去抖 + ├── Step 5.5: 中线变形 (修改 mid_line[row] for row in [10, cone_row]) + ├── Step 7 电机: g_cone_confirmed → effective_speed *= cone_speed_factor + └── Step 8 LCD: 锥桶框改橙色 + +ctl.sh: + └── init_pins() 追加 6 个新文件默认值 +``` + +--- + +## 10. 方案对比 + +| | 旧方案(舵机推入) | 新方案(中线变形) | +|---|---|---| +| 舵机代码 | 需改动 | 零改动 | +| deadband | 需绕过 | 自 然生效 | +| steer_gain | 需单独 cone_gain | 共用 | +| 归还机制 | 需要计时器+衰减 | 自动 (image_main 重算) | +| 平滑性 | 需 EMA | 斜坡自带平滑 | +| 参数数量 | 7 | 6 | +| 锥桶消失恢复 | 需衰减逻辑 | 下一帧自动 | diff --git a/docs/ENCODER_BRAKE.md b/docs/ENCODER_BRAKE.md new file mode 100644 index 0000000..3a68b33 --- /dev/null +++ b/docs/ENCODER_BRAKE.md @@ -0,0 +1,95 @@ +# 编码器刹车 — 设计与实现 + +## 1. 硬件 + +编码器2,引脚: + +| 信号 | 引脚 | 模式 | +|---|---|---| +| LSB 脉冲 | GPIO 67 | 输入 | +| DIR 方向 | GPIO 72 | 输入 | + +两引脚均属 gpiochip64(GPA64,base=64,16 pins)。 + +## 2. 触发条件 + +`ControlUpdate(speed, zebra_block)` 中 `zebra_block == true` 时进入刹车流程。`zebra_block` 由 `CameraHandler` Step 5 斑马线状态机传入——当 `g_zstate == Z_STOP` 时为 true。 + +## 3. 刹车状态机 + +``` + ┌──────────┐ + 正常行驶 ───→ │ IDLE │ + └────┬─────┘ + │ zebra_block==true + ▼ + ┌──────────┐ + │ BRAKING │ ← 施加 -30% 占空比 + │ │ 每帧读 GPIO 67 + └────┬─────┘ + ┌───────────┴───────────┐ + │ 脉冲变化 │ 脉冲不变 + ▼ ▼ + 轮子在转 → 继续刹车 g_brake_still++ + 重置计数器 │ + 连续 5 帧无变化? + 或超时 60 帧? + │ + ▼ + ┌──────────┐ + │ HOLDING │ ← duty=0,保持静止 + └──────────┘ + │ + zebra_block==false + │ + ▼ + ┌──────────┐ + │ IDLE │ + └──────────┘ +``` + +## 4. 参数 + +定义在 `src/control.cpp`: + +| 常量 | 值 | 含义 | +|---|---|---| +| `BRAKE_STILL_THRESH` | 5 | 连续无脉冲帧数阈值,超过即判停 | +| `BRAKE_TIMEOUT` | 60 | 最长刹车帧数(~2s @30fps),强制释放 | +| `BRAKE_DUTY` | -30 | 刹车占空比(-100~100,负值=反转) | + +## 5. 读取方式 + +GPIO 67 通过 sysfs 文件描述符轮询(`GPIO::readValue()`),每帧 `lseek` + `read` 一次。不依赖中断。 + +**为什么轮询够用:** 30fps 帧率 = 33ms 间隔。编码器假设 100+ 脉冲/转,即使 1 转/秒的极慢速度也有 3+ 脉冲/帧间隔,不会漏判。 + +## 6. 刹车强度 + +``` +motor[i]->updateduty(-30) +``` + +`MotorController::updateduty()` 内: +- 占空比:`period * |duty| / 100 = 50000 * 30 / 100 = 15000 ns` +- 方向:`duty < 0` → `directionGPIO.setValue(false)` → 反转 + +即 30% 占空比的反向驱动,足够刹停但不会让车向后猛冲。 + +## 7. 编码器生效范围 + +- **仅在斑马线 STOP 时**使用编码器 +- 正常行驶时编码器处于"打开但未使用"状态(fd 保持 open,但不 read) +- 锥桶避障不使用编码器 +- `g_cfg.start == 0` 时刹车状态机重置 + +## 8. 关键代码路径 + +``` +main.cpp + └── while(running) + └── CameraHandler() + └── ControlUpdate(target_speed, g_zstate == Z_STOP) + └── if (zebra_block) → 刹车状态机 + └── encoderLSB.readValue() ← GPIO 67 +``` diff --git a/docs/TRAFFIC_LIGHT.md b/docs/TRAFFIC_LIGHT.md new file mode 100644 index 0000000..de87184 --- /dev/null +++ b/docs/TRAFFIC_LIGHT.md @@ -0,0 +1,103 @@ +# 红绿灯识别 — 设计与实现 + +## 1. 模型检测 + +NanoDet V10 模型 4 类输出中: +- cls=1: 红灯 +- cls=2: 绿灯 + +模型置信度阈值由 `g_thresh[1]` 和 `g_thresh[2]` 控制(`src/camera.cpp:25`),当前分别为 0.80。 + +## 2. 状态机 + +``` + ┌──────────────────────────────────────────┐ + │ │ + ▼ │ + ┌──────────┐ 红灯连续3帧 ┌──────────┐ │ + 正常行驶 │ TL_NORMAL │ ─────────────→ │ TL_STOP │ │ + │ │ │ 刹车ON │ │ + └──────────┘ └────┬─────┘ │ + ▲ │ 红灯消失 │ + │ ▼ │ + │ ┌──────────────┐ │ + │ 绿灯连续3帧 │ TL_WAIT_GREEN │ │ + └──────────────────│ 刹车ON │ │ + └──────────────┘ │ +``` + +| 状态 | 刹车 | 锥桶 | 触发条件 | +|---|---|---|---| +| TL_NORMAL | 无 | 正常 | — | +| TL_STOP | ON | 抑制 | 红灯连续 3 帧确认 | +| TL_WAIT_GREEN | ON | 抑制 | 红灯从视野消失 | + +**去抖:** 红灯 3 帧确认触发,衰减 `-1`/帧;绿灯 3 帧确认触发,衰减 `-1`/帧。 + +**为什么红灯消失后还要等绿灯:** 防止红灯误检消失后误触发通行。确保绿灯确实出现在视野中才放行。 + +## 3. 刹车机制 + +和斑马线完全一样,复用编码器比例刹车: + +``` +ControlUpdate(spd, g_zstate == Z_STOP || tl_block) + +刹车信号 = 斑马线STOP || 红灯STOP || 等待绿灯 +``` + +刹车参数(热更新): + +| 文件 | 默认 | 含义 | +|---|---|---| +| `./brake_scale` | 10 | 速度(pps) → 刹车占空比(ns) | +| `./brake_max` | 10000 | 最大刹车占空比(ns) | + +## 4. 与其他模块的交互 + +``` +决策优先级: + Z_STOP (斑马线) > TL_STOP/WAIT_GREEN (红绿灯) > cone (锥桶) > 正常巡线 + +锥桶抑制: g_zstate != Z_STOP && g_tl_state == TL_NORMAL 时才运行 +电机刹车: zebra_STOP || tl_block 任一为 true 即刹车 +LCD 状态: "R"=红灯停车 "G"=等绿灯, 拼接斑马线状态 +``` + +## 5. 关键代码路径 + +``` +CameraHandler (src/camera.cpp) + Step 4: 模型推理 → g_boxes[], g_box_count + Step 5: 斑马线状态机 + Step 5.5: 红绿灯状态机 + ├─ 遍历 g_boxes, 统计 red_seen/green_seen + ├─ 去抖计数 (3帧确认, 衰减-1/帧) + └─ 状态跃迁 + Step 5.6: 锥桶检测 (g_zstate!=Z_STOP && g_tl_state==TL_NORMAL 时才运行) + Step 7: 电机控制 + ControlUpdate(spd, g_zstate==Z_STOP || tl_block) + +control.cpp: + ControlUpdate(speed, zebra_block) + └─ zebra_block → 编码器线程读速度 → 比例刹车 +``` + +## 6. 状态变量 + +定义在 `src/camera.cpp`: + +```cpp +enum TLState { TL_NORMAL, TL_STOP, TL_WAIT_GREEN }; +static TLState g_tl_state = TL_NORMAL; +static int g_tl_red_frames = 0; // 红灯连续计数 +static int g_tl_green_frames = 0; // 绿灯连续计数 +``` + +## 7. LCD 显示 + +状态字拼接:`[红绿灯][斑马线]` +- `RN` — 红灯停车 + 正常巡线 +- `GN` — 等绿灯 + 正常巡线 +- `RS` — 红灯 + 斑马线同时 (极少见) +- `NN` — 全部正常 diff --git a/vl53l0x_test/vl53l0x_parameter b/encoder_brake_demo similarity index 51% rename from vl53l0x_test/vl53l0x_parameter rename to encoder_brake_demo index 2fb42d4b3fb4ac36070af9fbfa88b0a6cdd6bb0a..25ba4a704834a37f9b1ab7463037ea10b6257dba 100644 GIT binary patch literal 21288 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 L=SfgfxBh +#include +#include +#include +#include +#include +#include +#include + +static volatile bool running = true; +void sig_handler(int) { running = false; } + +static void write_file(const char *path, const char *val) { + int fd = open(path, O_WRONLY); + if (fd >= 0) { write(fd, val, strlen(val)); close(fd); } +} + +static int read_pin(const char *path) { + int fd = open(path, O_RDONLY); + char v = '0'; + if (fd >= 0) { read(fd, &v, 1); close(fd); } + return (v == '1') ? 1 : 0; +} + +static long now_ns() { + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return ts.tv_sec * 1000000000L + ts.tv_nsec; +} + +int main() { + signal(SIGINT, sig_handler); + signal(SIGTERM, sig_handler); + + printf("=== Encoder Brake Demo v2 ===\n"); + printf("编码器: gpio67(脉冲) gpio72(方向)\n"); + printf("左后轮: gpio12 pwm2 | 右后轮: gpio13 pwm1\n"); + printf("掰任意后轮 → 两轮同时反向制动\n\n"); + + write_file("/sys/class/gpio/gpio73/value", "1"); + + write_file("/sys/class/gpio/gpio12/direction", "out"); + write_file("/sys/class/gpio/gpio13/direction", "out"); + write_file("/sys/class/gpio/gpio67/direction", "in"); + write_file("/sys/class/gpio/gpio72/direction", "in"); + + write_file("/sys/class/pwm/pwmchip8/pwm1/duty_cycle", "0"); + write_file("/sys/class/pwm/pwmchip8/pwm2/duty_cycle", "0"); + + const long WINDOW_NS = 100000000L; // 100ms 测速窗口 + const int MAX_DUTY = 10000; // 最大占空比 20% + const double SCALE = 10.0; // 速度 → 占空比 缩放系数 + + int prev_lsb = read_pin("/sys/class/gpio/gpio67/value"); + int pulse_cnt = 0; + long t0 = now_ns(); + int brake_duty = 0; + long last_print = 0; + int last_dir = read_pin("/sys/class/gpio/gpio72/value"); + + printf("%-8s %8s %8s %6s %8s %s\n", + "raw_pulse", "speed", "duty_ns", "enc_dir", "mot_dir", ""); + + while (running) { + int cur_lsb = read_pin("/sys/class/gpio/gpio67/value"); + int cur_dir = read_pin("/sys/class/gpio/gpio72/value"); + + if (cur_lsb != prev_lsb) { + pulse_cnt++; + prev_lsb = cur_lsb; + } + if (cur_dir != last_dir) last_dir = cur_dir; + + long t1 = now_ns(); + long dt = t1 - t0; + + if (dt >= WINDOW_NS) { + double speed = pulse_cnt / (dt / 1e9); + + if (speed > 0.5) { + brake_duty = (int)(speed * SCALE); + if (brake_duty > MAX_DUTY) brake_duty = MAX_DUTY; + + const char *mdir = cur_dir ? "0" : "1"; + write_file("/sys/class/gpio/gpio12/value", mdir); + write_file("/sys/class/gpio/gpio13/value", mdir); + } else { + brake_duty = 0; + } + + char buf[16]; + snprintf(buf, sizeof(buf), "%d", brake_duty); + write_file("/sys/class/pwm/pwmchip8/pwm1/duty_cycle", buf); + write_file("/sys/class/pwm/pwmchip8/pwm2/duty_cycle", buf); + + if (t1 - last_print > 300000000L) { + printf("%-8d %8.1f %8d %6d %8s\r", + pulse_cnt, speed, brake_duty, cur_dir, + cur_dir ? "rev" : "fwd"); + fflush(stdout); + last_print = t1; + } + + pulse_cnt = 0; + t0 = t1; + } + } + + write_file("/sys/class/pwm/pwmchip8/pwm1/duty_cycle", "0"); + write_file("/sys/class/pwm/pwmchip8/pwm2/duty_cycle", "0"); + write_file("/sys/class/gpio/gpio73/value", "0"); + printf("\n=== Demo stopped ===\n"); + return 0; +} diff --git a/encoder_demo/CMakeLists.txt b/encoder_demo/CMakeLists.txt deleted file mode 100644 index 787d347..0000000 --- a/encoder_demo/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# demo1 -add_executable(encoder_demo encoder_demo.cpp) - -# 链接 OpenCV 库 -target_link_libraries(encoder_demo common_lib ${OpenCV_LIBS}) \ No newline at end of file diff --git a/encoder_demo/encoder_demo.cpp b/encoder_demo/encoder_demo.cpp deleted file mode 100644 index 43783b5..0000000 --- a/encoder_demo/encoder_demo.cpp +++ /dev/null @@ -1,22 +0,0 @@ -/* - * @Author: ilikara 3435193369@qq.com - * @Date: 2024-11-30 09:06:41 - * @LastEditors: ilikara 3435193369@qq.com - * @LastEditTime: 2025-01-08 07:09:44 - * @FilePath: /smartcar/encoder_demo/encoder_demo.cpp - * @Description: 编码器测试用 - * - * Copyright (c) 2024 by ilikara 3435193369@qq.com, All Rights Reserved. - */ -#include "encoder.h" -#include -int main() -{ - ENCODER encoder(0, 73); - while (1) - { - std::cout << encoder.pulse_counter_update() << std::endl; - usleep(5000); - } - return 0; -} \ No newline at end of file diff --git a/framebuffer_demo/CMakeLists.txt b/framebuffer_demo/CMakeLists.txt deleted file mode 100644 index 4bf4ef0..0000000 --- a/framebuffer_demo/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# demo1 -add_executable(framebuffer_demo framebuffer_demo.cpp) - -# 链接 OpenCV 库 -target_link_libraries(framebuffer_demo common_lib ${OpenCV_LIBS}) \ No newline at end of file diff --git a/framebuffer_demo/framebuffer_demo.cpp b/framebuffer_demo/framebuffer_demo.cpp deleted file mode 100644 index ca12a63..0000000 --- a/framebuffer_demo/framebuffer_demo.cpp +++ /dev/null @@ -1,207 +0,0 @@ -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace std; - -// Framebuffer 设备 -const char *fb_device = "/dev/fb0"; - -// 屏幕分辨率 -const int screen_width = 160; -const int screen_height = 128; - -// RGB565 颜色宏 -#define RGB565(r, g, b) ((((r) >> 3) << 11) | (((g) >> 2) << 5) | ((b) >> 3)) - -// 8x8 位图字体(26 个字母 + 10 个数字) -const unsigned char font[36][8] = { - // A-Z - {0b00111000, 0b01000100, 0b01000100, 0b01111100, 0b01000100, 0b01000100, 0b01000100, 0b00000000}, // A - {0b01111000, 0b01000100, 0b01000100, 0b01111000, 0b01000100, 0b01000100, 0b01111000, 0b00000000}, // B - {0b00111100, 0b01000010, 0b01000000, 0b01000000, 0b01000000, 0b01000010, 0b00111100, 0b00000000}, // C - {0b01111000, 0b01000100, 0b01000100, 0b01000100, 0b01000100, 0b01000100, 0b01111000, 0b00000000}, // D - {0b01111110, 0b01000000, 0b01000000, 0b01111000, 0b01000000, 0b01000000, 0b01111110, 0b00000000}, // E - {0b01111110, 0b01000000, 0b01000000, 0b01111000, 0b01000000, 0b01000000, 0b01000000, 0b00000000}, // F - {0b00111100, 0b01000010, 0b01000000, 0b01001110, 0b01000010, 0b01000010, 0b00111100, 0b00000000}, // G - {0b01000100, 0b01000100, 0b01000100, 0b01111100, 0b01000100, 0b01000100, 0b01000100, 0b00000000}, // H - {0b00111000, 0b00010000, 0b00010000, 0b00010000, 0b00010000, 0b00010000, 0b00111000, 0b00000000}, // I - {0b00011110, 0b00001000, 0b00001000, 0b00001000, 0b00001000, 0b01001000, 0b00110000, 0b00000000}, // J - {0b01000100, 0b01001000, 0b01010000, 0b01100000, 0b01010000, 0b01001000, 0b01000100, 0b00000000}, // K - {0b01000000, 0b01000000, 0b01000000, 0b01000000, 0b01000000, 0b01000000, 0b01111110, 0b00000000}, // L - {0b01000100, 0b01101100, 0b01010100, 0b01010100, 0b01000100, 0b01000100, 0b01000100, 0b00000000}, // M - {0b01000100, 0b01100100, 0b01010100, 0b01001100, 0b01000100, 0b01000100, 0b01000100, 0b00000000}, // N - {0b00111000, 0b01000100, 0b01000100, 0b01000100, 0b01000100, 0b01000100, 0b00111000, 0b00000000}, // O - {0b01111000, 0b01000100, 0b01000100, 0b01111000, 0b01000000, 0b01000000, 0b01000000, 0b00000000}, // P - {0b00111000, 0b01000100, 0b01000100, 0b01000100, 0b01010100, 0b01001000, 0b00110100, 0b00000000}, // Q - {0b01111000, 0b01000100, 0b01000100, 0b01111000, 0b01010000, 0b01001000, 0b01000100, 0b00000000}, // R - {0b00111100, 0b01000010, 0b01000000, 0b00111000, 0b00000100, 0b01000010, 0b00111100, 0b00000000}, // S - {0b01111100, 0b00010000, 0b00010000, 0b00010000, 0b00010000, 0b00010000, 0b00010000, 0b00000000}, // T - {0b01000100, 0b01000100, 0b01000100, 0b01000100, 0b01000100, 0b01000100, 0b00111000, 0b00000000}, // U - {0b01000100, 0b01000100, 0b01000100, 0b01000100, 0b01000100, 0b00101000, 0b00010000, 0b00000000}, // V - {0b01000100, 0b01000100, 0b01000100, 0b01010100, 0b01010100, 0b01101100, 0b01000100, 0b00000000}, // W - {0b01000100, 0b01000100, 0b00101000, 0b00010000, 0b00101000, 0b01000100, 0b01000100, 0b00000000}, // X - {0b01000100, 0b01000100, 0b00101000, 0b00010000, 0b00010000, 0b00010000, 0b00010000, 0b00000000}, // Y - {0b01111100, 0b00000100, 0b00001000, 0b00010000, 0b00100000, 0b01000000, 0b01111100, 0b00000000}, // Z - // 0-9 - {0b00111000, 0b01000100, 0b01001100, 0b01010100, 0b01100100, 0b01000100, 0b00111000, 0b00000000}, // 0 - {0b00010000, 0b00110000, 0b00010000, 0b00010000, 0b00010000, 0b00010000, 0b00111000, 0b00000000}, // 1 - {0b00111000, 0b01000100, 0b00000100, 0b00001000, 0b00010000, 0b00100000, 0b01111100, 0b00000000}, // 2 - {0b00111000, 0b01000100, 0b00000100, 0b00011000, 0b00000100, 0b01000100, 0b00111000, 0b00000000}, // 3 - {0b00001000, 0b00011000, 0b00101000, 0b01001000, 0b01111100, 0b00001000, 0b00001000, 0b00000000}, // 4 - {0b01111100, 0b01000000, 0b01111000, 0b00000100, 0b00000100, 0b01000100, 0b00111000, 0b00000000}, // 5 - {0b00111000, 0b01000100, 0b01000000, 0b01111000, 0b01000100, 0b01000100, 0b00111000, 0b00000000}, // 6 - {0b01111100, 0b00000100, 0b00001000, 0b00010000, 0b00100000, 0b00100000, 0b00100000, 0b00000000}, // 7 - {0b00111000, 0b01000100, 0b01000100, 0b00111000, 0b01000100, 0b01000100, 0b00111000, 0b00000000}, // 8 - {0b00111000, 0b01000100, 0b01000100, 0b00111100, 0b00000100, 0b01000100, 0b00111000, 0b00000000} // 9 -}; - -// 绘制一个像素 -void draw_pixel(ushort *fb_data, int x, int y, ushort color) -{ - if (x >= 0 && x < screen_width && y >= 0 && y < screen_height) - { - fb_data[y * screen_width + x] = color; - } -} - -// 绘制一个矩形 -void draw_rect(ushort *fb_data, int x, int y, int width, int height, ushort color) -{ - for (int i = x; i < x + width; i++) - { - for (int j = y; j < y + height; j++) - { - draw_pixel(fb_data, i, j, color); - } - } -} - -// 绘制一个圆形 -void draw_circle(ushort *fb_data, int center_x, int center_y, int radius, ushort color) -{ - for (int y = -radius; y <= radius; y++) - { - for (int x = -radius; x <= radius; x++) - { - if (x * x + y * y <= radius * radius) - { - draw_pixel(fb_data, center_x + x, center_y + y, color); - } - } - } -} - -// 绘制一个字符 -void draw_char(ushort *fb_data, int x, int y, char c, ushort color) -{ - int index = -1; - if (c >= 'A' && c <= 'Z') - { - index = c - 'A'; // A-Z 对应 0-25 - } - if (c >= 'a' && c <= 'z') - { - index = c - 'a'; // A-Z 对应 0-25 - } - else if (c >= '0' && c <= '9') - { - index = c - '0' + 26; // 0-9 对应 26-35 - } - - if (index >= 0 && index < 36) - { - for (int i = 0; i < 8; i++) - { - for (int j = 0; j < 8; j++) - { - if (font[index][i] & (1 << (7 - j))) - { - draw_pixel(fb_data, x + j, y + i, color); - } - } - } - } -} - -// 绘制字符串 -void draw_string(ushort *fb_data, int x, int y, const char *str, ushort color) -{ - while (*str) - { - draw_char(fb_data, x, y, *str, color); - x += 8; // 每个字符占 8 像素宽度 - str++; - } -} - -int main() -{ - // 打开 Framebuffer 设备 - int fb_fd = open(fb_device, O_RDWR); - if (fb_fd == -1) - { - cerr << "Error: Cannot open framebuffer device" << endl; - return -1; - } - - // 获取 Framebuffer 信息 - struct fb_var_screeninfo vinfo; - if (ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo)) - { - cerr << "Error: Cannot get framebuffer information" << endl; - close(fb_fd); - return -1; - } - - // 检查 Framebuffer 是否支持 RGB565 - if (vinfo.bits_per_pixel != 16) - { - cerr << "Error: Framebuffer is not RGB565 format" << endl; - close(fb_fd); - return -1; - } - - // 映射 Framebuffer 到内存 - size_t fb_size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8; - ushort *fb_data = (ushort *)mmap(0, fb_size, PROT_READ | PROT_WRITE, MAP_SHARED, fb_fd, 0); - if (fb_data == MAP_FAILED) - { - cerr << "Error: Failed to map framebuffer to memory" << endl; - close(fb_fd); - return -1; - } - - // 清空屏幕(填充黑色) - memset(fb_data, 0, fb_size); - - // 绘制渐变背景 - for (int y = 0; y < screen_height; y++) - { - for (int x = 0; x < screen_width; x++) - { - ushort color = RGB565(x, y, (x + y) / 2); - draw_pixel(fb_data, x, y, color); - } - } - - // 绘制一个矩形 - draw_rect(fb_data, 20, 20, 50, 30, RGB565(255, 0, 0)); // 红色矩形 - - // 绘制一个圆形 - draw_circle(fb_data, 100, 80, 20, RGB565(0, 255, 0)); // 绿色圆形 - - // 绘制一段文字 - draw_string(fb_data, 10, 100, "Hello World", RGB565(255, 255, 255)); // 白色文字 - - // 释放资源 - munmap(fb_data, fb_size); - close(fb_fd); - - return 0; -} \ No newline at end of file diff --git a/gd13_demo/CMakeLists.txt b/gd13_demo/CMakeLists.txt deleted file mode 100644 index 7e2fb30..0000000 --- a/gd13_demo/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -add_executable(gd13_demo gd13_demo.cpp) -target_link_libraries(gd13_demo common_lib ${OpenCV_LIBS}) diff --git a/gd13_demo/gd13_demo.cpp b/gd13_demo/gd13_demo.cpp deleted file mode 100644 index db1ea91..0000000 --- a/gd13_demo/gd13_demo.cpp +++ /dev/null @@ -1,103 +0,0 @@ -/* - * gd13_demo — 斑马线检测演示 (调用 zebra_detect.h) - */ -#include -#include -#include -#include -#include - -#include -#include -#include -#include -#include - -#include "zebra_detect.h" - -using namespace cv; -using namespace std; - -static atomic g_running{true}; -static void signal_handler(int) { g_running.store(false); } - -static uint16_t rgb565(uint8_t r, uint8_t g, uint8_t b) -{ - return ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3); -} - -static void display_on_fb(const Mat &bgr, uint16_t *fb_buf, int scr_w, int scr_h) -{ - Mat display; - resize(bgr, display, Size(scr_w, scr_h)); - for (int y = 0; y < scr_h; ++y) - for (int x = 0; x < scr_w; ++x) - { - Vec3b px = display.at(y, x); - fb_buf[y * scr_w + x] = rgb565(px[2], px[1], px[0]); - } -} - -int main(int argc, char *argv[]) -{ - bool no_display = false; - for (int i = 1; i < argc; ++i) - if (strcmp(argv[i], "--no-display") == 0) no_display = true; - - signal(SIGINT, signal_handler); - signal(SIGTERM, signal_handler); - - VideoCapture cap(0); - cap.open(0, CAP_V4L2); - if (!cap.isOpened()) cap.open(0); - if (!cap.isOpened()) { cerr << "摄像头打开失败" << endl; return 1; } - printf("摄像头已打开\n"); - - int fb_fd = -1; - uint16_t *fb_buf = nullptr; - int scr_w = 0, scr_h = 0; - if (!no_display) - { - fb_fd = open("/dev/fb0", O_RDWR); - if (fb_fd >= 0) - { - struct fb_var_screeninfo vinfo; - ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo); - scr_w = vinfo.xres; scr_h = vinfo.yres; - size_t fb_size = vinfo.yres_virtual * vinfo.xres_virtual * 2; - fb_buf = (uint16_t *)mmap(nullptr, fb_size, PROT_READ|PROT_WRITE, - MAP_SHARED, fb_fd, 0); - } - } - - Mat frame, result; - printf("开始斑马线检测...\n"); - - while (g_running) - { - if (!cap.read(frame) || frame.empty()) { usleep(5000); continue; } - - ZebraResult zr = detect_zebra_crossing(frame); - - result = frame.clone(); - if (zr.detected) - { - putText(result, "ZEBRA! dist=" + to_string(zr.distance_px) + "px", - Point(10, 30), FONT_HERSHEY_SIMPLEX, 0.8, - Scalar(0, 0, 255), 2); - printf("ZEBRA detected | distance=%d px\n", zr.distance_px); - } - else - { - printf("not detected | distance=%d\n", zr.distance_px); - } - - if (!no_display && fb_buf) - display_on_fb(result, fb_buf, scr_w, scr_h); - } - - cap.release(); - if (fb_buf) munmap(fb_buf, scr_w * scr_h * 2); - if (fb_fd >= 0) close(fb_fd); - return 0; -} diff --git a/image_test/CMakeLists.txt b/image_test/CMakeLists.txt deleted file mode 100644 index e07e9e8..0000000 --- a/image_test/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# demo2 -add_executable(image_test image_test.cpp) - -# 链接 OpenCV 库 -target_link_libraries(image_test common_lib ${OpenCV_LIBS}) \ No newline at end of file diff --git a/image_test/image_test.cpp b/image_test/image_test.cpp deleted file mode 100644 index ec399e2..0000000 --- a/image_test/image_test.cpp +++ /dev/null @@ -1,420 +0,0 @@ -/* - * @Author: ilikara 3435193369@qq.com - * @Date: 2025-01-07 06:26:01 - * @LastEditors: ilikara 3435193369@qq.com - * @LastEditTime: 2025-03-26 12:26:22 - * @FilePath: /smartcar/opencv_demo2/opencv_demo2.cpp - * @Description: - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#include "image_cv.h" - -using namespace std; - -using ImageCallback = void (*)(const string &fullpath); - -const int cameraWidth = 320, cameraHeight = 240; -int screenWidth, screenHeight; -const int calc_scale = 2; -int newWidth, newHeight; - -ImageCallback image_callback = nullptr; -string base_path; - -struct termios orig_termios; -map file_map; -int current_num = -1; - -const char *fb_device = "/dev/fb0"; -int fb_fd; -ushort *fb_data; -struct fb_var_screeninfo vinfo; - -std::chrono::_V2::system_clock::time_point frame_begin, frame_end; -std::chrono::duration frame_duration; - -int displayMode = 0; -const int displayModeCount = 7; - -void imgInit() -{ - // 动态设置屏幕分辨率 - screenWidth = vinfo.xres; - screenHeight = vinfo.yres; - - // 计算 newWidth 和 newHeight,确保图像适应屏幕 - double widthRatio = static_cast(screenWidth) / cameraWidth; - double heightRatio = static_cast(screenHeight) / cameraHeight; - double scale = std::min(widthRatio, heightRatio); // 选择较小的比例,确保图像不超出屏幕 - - newWidth = static_cast(cameraWidth * scale); - newHeight = static_cast(cameraHeight * scale); - - line_tracking_width = newWidth / calc_scale; - line_tracking_height = newHeight / calc_scale; -} - -// 将 RGB888 转换为 RGB565 -ushort rgb888_to_rgb565(const cv::Vec3b &color) -{ - return ((color[2] >> 3) << 11) | ((color[1] >> 2) << 5) | (color[0] >> 3); -} - -cv::Mat img; - -void display() -{ - cv::Mat fbMat(screenHeight, screenWidth, CV_8UC3, cv::Scalar(0, 0, 0)); - cv::Mat resizedFrame; - cv::Mat coloredResizedFrame; - - // 将图像从 BGR 转换为 HSV - cv::Mat hsvImage; - cv::cvtColor(img, hsvImage, cv::COLOR_BGR2HSV); - - // 分离 HSV 通道 - std::vector hsvChannels; - cv::split(hsvImage, hsvChannels); - - cv::Mat bframe; - switch (displayMode) - { - case 0: - // 缩放视频到新尺寸 - cv::resize(binarizedFrame, resizedFrame, cv::Size(newWidth, newHeight)); - // 将单通道的二值化图像转换为三通道的彩色图像 - cv::cvtColor(resizedFrame, coloredResizedFrame, cv::COLOR_GRAY2BGR); // 转换为彩色图像 - break; - case 1: - cv::resize(raw_frame, coloredResizedFrame, cv::Size(newWidth, newHeight)); - break; - case 2: - // 缩放视频到新尺寸 - cv::resize(morphologyExFrame, resizedFrame, cv::Size(newWidth, newHeight)); - // 将单通道的二值化图像转换为三通道的彩色图像 - cv::cvtColor(resizedFrame, coloredResizedFrame, cv::COLOR_GRAY2BGR); // 转换为彩色图像 - break; - case 3: - case 4: - case 5: - // 缩放视频到新尺寸 - cv::resize(hsvChannels[displayMode - 3], resizedFrame, cv::Size(newWidth, newHeight)); - cv::threshold(resizedFrame, bframe, 0, 255, cv::THRESH_BINARY | cv::THRESH_OTSU); - // 将单通道的二值化图像转换为三通道的彩色图像 - cv::cvtColor(bframe, coloredResizedFrame, cv::COLOR_GRAY2BGR); // 转换为彩色图像 - break; - case 6: - // 缩放视频到新尺寸 - cv::resize(hsvImage, resizedFrame, cv::Size(newWidth, newHeight)); - cv::Mat yellowMask; - inRange(resizedFrame, cv::Scalar(10, 100, 100), cv::Scalar(40, 255, 255), yellowMask); - cv::Mat kernel = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(2, 2)); - morphologyEx(yellowMask, yellowMask, cv::MORPH_OPEN, kernel); - morphologyEx(yellowMask, yellowMask, cv::MORPH_CLOSE, kernel); - bframe = yellowMask; - // 将单通道的二值化图像转换为三通道的彩色图像 - cv::cvtColor(bframe, coloredResizedFrame, cv::COLOR_GRAY2BGR); // 转换为彩色图像 - break; - } - - // 将缩放后的图像居中放置在帧缓冲区图像中,填充黑色边框 - fbMat.setTo(cv::Scalar(0, 0, 0)); // 清空缓冲区(填充黑色) - cv::Rect roi((screenWidth - newWidth) / 2, (screenHeight - newHeight) / 2, newWidth, newHeight); - coloredResizedFrame.copyTo(fbMat(roi)); - - // 绘制左右边界线和中线 - int scaledLeftX, scaledRightX, scaledMidX, scaledLeftFilteredX, scaledRightFilteredX, scaledMidFilteredX, scaledY; - - cv::line(fbMat(roi), cv::Point(newWidth / 2, 0), cv::Point(newWidth / 2, newHeight), cv::Scalar(0, 0, 0), 1); - cv::line(fbMat(roi), cv::Point(0, 40), cv::Point(newWidth, 40), cv::Scalar(0, 0, 0), 1); - for (int y = 0; y < line_tracking_height; y++) - { - // 根据缩放比例调整X坐标 - scaledLeftX = static_cast(left_line[y] * calc_scale); - scaledRightX = static_cast(right_line[y] * calc_scale); - scaledMidX = static_cast(mid_line[y] * calc_scale); - scaledLeftFilteredX = static_cast(left_line_filtered[y] * calc_scale); - scaledRightFilteredX = static_cast(right_line_filtered[y] * calc_scale); - scaledMidFilteredX = static_cast(mid_line_filtered[y] * calc_scale); - scaledY = static_cast(y * calc_scale); - - cv::line(fbMat(roi), cv::Point(scaledLeftX, scaledY), cv::Point(scaledLeftX, scaledY), cv::Scalar(0, 0, 255), calc_scale); - cv::line(fbMat(roi), cv::Point(scaledLeftFilteredX, scaledY), cv::Point(scaledLeftFilteredX, scaledY), cv::Scalar(255, 255, 0), calc_scale); - - cv::line(fbMat(roi), cv::Point(scaledRightX, scaledY), cv::Point(scaledRightX, scaledY), cv::Scalar(0, 255, 0), calc_scale); - cv::line(fbMat(roi), cv::Point(scaledRightFilteredX, scaledY), cv::Point(scaledRightFilteredX, scaledY), cv::Scalar(255, 0, 255), calc_scale); - - cv::line(fbMat(roi), cv::Point(scaledMidX, scaledY), cv::Point(scaledMidX, scaledY), cv::Scalar(255, 0, 0), calc_scale); - cv::line(fbMat(roi), cv::Point(scaledMidFilteredX, scaledY), cv::Point(scaledMidFilteredX, scaledY), cv::Scalar(0, 255, 255), calc_scale); - } - - for (int y = 0; y < fbMat.rows; y++) - { - for (int x = 0; x < fbMat.cols; x++) - { - cv::Vec3b color = fbMat.at(y, x); - fb_data[y * vinfo.xres + x] = rgb888_to_rgb565(color); - } - } -} - -void defaultImageCallback(const string &fullpath) -{ - img = cv::imread(fullpath); - if (img.empty()) - { - cerr << "Error: Cannot grab frame" << endl; - return; - } - raw_frame = img; - - frame_begin = std::chrono::high_resolution_clock::now(); - - image_main(); - - frame_end = std::chrono::high_resolution_clock::now(); - frame_duration = frame_end - frame_begin; - - display(); -} - -void triggerCallback(int num) -{ - if (!image_callback) - return; - - auto it = file_map.find(num); - if (it != file_map.end()) - { - string fullpath = base_path + "/" + it->second; - image_callback(fullpath); - } -} - -int fbInit() -{ - // Framebuffer 设备 - fb_fd = open(fb_device, O_RDWR); - if (fb_fd == -1) - { - cerr << "Error: Cannot open framebuffer device" << endl; - return -1; - } - - // 获取 Framebuffer 信息 - if (ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo)) - { - cerr << "Error: Cannot get framebuffer information" << endl; - close(fb_fd); - return -1; - } - - // 检查 Framebuffer 是否支持 RGB565 - if (vinfo.bits_per_pixel != 16) - { - cerr << "Error: Framebuffer is not RGB565 format" << endl; - close(fb_fd); - return -1; - } - - // 映射 Framebuffer 到内存 - size_t fb_size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8; - fb_data = (ushort *)mmap(0, fb_size, PROT_READ | PROT_WRITE, MAP_SHARED, fb_fd, 0); - if (fb_data == MAP_FAILED) - { - cerr << "Error: Failed to map framebuffer to memory" << endl; - close(fb_fd); - return -1; - } - - return 0; -} - -void disableRawMode() -{ - tcsetattr(STDIN_FILENO, TCSAFLUSH, &orig_termios); -} - -void enableRawMode() -{ - tcgetattr(STDIN_FILENO, &orig_termios); - atexit(disableRawMode); - struct termios raw = orig_termios; - raw.c_lflag &= ~(ICANON | ECHO); - tcsetattr(STDIN_FILENO, TCSAFLUSH, &raw); -} - -bool collectImages(const char *path) -{ - base_path = path; - DIR *dir = opendir(path); - if (!dir) - { - cerr << "无法打开目录: " << path << endl; - return false; - } - - struct dirent *entry; - while ((entry = readdir(dir)) != nullptr) - { - string filename = entry->d_name; - if (filename.length() != 15) - continue; - if (filename.substr(0, 6) != "image_") - continue; - if (filename.substr(11, 4) != ".jpg") - continue; - - string num_str = filename.substr(6, 5); - if (num_str.find_first_not_of("0123456789") != string::npos) - continue; - - int num = stoi(num_str); - file_map[num] = filename; - } - - closedir(dir); - return !file_map.empty(); -} - -void showHelp() -{ - cout << "控制命令:\n" - << " 左方向键 - 上一张图片\n" - << " 右方向键 - 下一张图片\n" - << " g - 跳转到指定序号\n" - << " q - 退出程序\n"; -} - -void jumpToNumber() -{ - disableRawMode(); - cout << "\n输入要跳转的图片序号: "; - string input; - getline(cin, input); - tcflush(STDIN_FILENO, TCIFLUSH); - - try - { - int target = stoi(input); - auto it = file_map.find(target); - if (it != file_map.end()) - { - current_num = target; - triggerCallback(current_num); - } - else - { - cout << "未找到序号: " << target << endl; - } - } - catch (...) - { - cout << "无效输入" << endl; - } - enableRawMode(); -} - -int main(int argc, char *argv[]) -{ - if (fbInit()) - { - cerr << "Framebuffer初始化失败" << endl; - return 1; - } - imgInit(); - const char *path = argc > 1 ? argv[1] : "."; - if (!collectImages(path)) - { - cerr << "未找到符合要求的图片文件" << endl; - return 1; - } - - enableRawMode(); - // 设置回调函数 - image_callback = defaultImageCallback; - - // 初始化时触发第一次回调 - current_num = file_map.begin()->first; - triggerCallback(current_num); - showHelp(); - - while (true) - { - auto it = file_map.find(current_num); - if (it == file_map.end()) - { - cerr << "当前文件不可用" << endl; - break; - } - - cout << "\r当前图片: " << it->second << " (序号: " << current_num << ")" << "计算耗时:" << frame_duration.count() << "秒" << " 当前模式: " << displayMode << flush; - - char c; - if (read(STDIN_FILENO, &c, 1) == 1) - { - if (c == '\033') - { // ESC序列 - char seq[2]; - if (read(STDIN_FILENO, seq, 2) == 2) - { - if (seq[0] == '[') - { - auto next_it = file_map.upper_bound(current_num); - auto prev_it = file_map.lower_bound(current_num); - - switch (seq[1]) - { - case 'D': // 左方向键 - if (prev_it != file_map.begin()) - { - current_num = (--prev_it)->first; - triggerCallback(current_num); - } - break; - case 'C': // 右方向键 - if (next_it != file_map.end()) - { - current_num = next_it->first; - triggerCallback(current_num); - } - break; - } - } - } - } - else if (c == 'q') - { - break; - } - else if (c == 'g') - { - jumpToNumber(); - } - else if (c == 't') - { - displayMode = (displayMode + 1) % displayModeCount; - display(); - } - } - } - - disableRawMode(); - cout << "\n程序已退出" << endl; - return 0; -} \ No newline at end of file diff --git a/jy62_demo/CMakeLists.txt b/jy62_demo/CMakeLists.txt deleted file mode 100644 index 9790289..0000000 --- a/jy62_demo/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# demo1 -add_executable(jy62_demo jy62_demo.cpp) - -# 链接 OpenCV 库 -target_link_libraries(jy62_demo) \ No newline at end of file diff --git a/jy62_demo/jy62_demo.cpp b/jy62_demo/jy62_demo.cpp deleted file mode 100644 index d132887..0000000 --- a/jy62_demo/jy62_demo.cpp +++ /dev/null @@ -1,182 +0,0 @@ -/* - * @Author: Ilikara 3435193369@qq.com - * @Date: 2025-01-26 17:00:24 - * @LastEditors: ilikara 3435193369@qq.com - * @LastEditTime: 2025-02-28 08:42:56 - * @FilePath: /2k300_smartcar/jy62_demo/jy62_demo.cpp - * @Description: - * - * Copyright (c) 2025 by ${git_name_email}, All Rights Reserved. - */ -#include -#include -#include -#include -#include -#include -#include -#include - -const size_t PACKET_LENGTH = 11; - -const uint8_t HEADER = 0x55; - -std::atomic accel[3], gyro[3], angle[3]; - -uint8_t calculateChecksum(const std::vector &data) -{ - uint8_t checksum = 0; - for (uint8_t byte : data) - { - checksum += byte; - } - return checksum; -} - -bool parsePacket(const std::vector &packet) -{ - if (packet[0] != HEADER) - { - return false; - } - if (packet[1] > 0x53 || packet[1] < 0x51) - { - return false; - } - - uint8_t receivedChecksum = packet.back(); - uint8_t calculatedChecksum = calculateChecksum(std::vector(packet.begin(), packet.end() - 1)); - - return receivedChecksum == calculatedChecksum; -} - -bool setupSerialPort(int fd, int baudRate) -{ - struct termios tty; - memset(&tty, 0, sizeof tty); - - // 获取当前串口配置 - if (tcgetattr(fd, &tty) != 0) - { - std::cerr << "Error getting terminal attributes" << std::endl; - return false; - } - - // 设置输入输出波特率 - cfsetospeed(&tty, baudRate); - cfsetispeed(&tty, baudRate); - - // 设置数据位为 8 位 - tty.c_cflag &= ~CSIZE; - tty.c_cflag |= CS8; - - // 禁用奇偶校验 - tty.c_cflag &= ~PARENB; - - // 设置停止位为 1 位 - tty.c_cflag &= ~CSTOPB; - - // 禁用硬件流控制 - tty.c_cflag &= ~CRTSCTS; - - // 启用接收和本地模式 - tty.c_cflag |= CREAD | CLOCAL; - - // 禁用软件流控制 - tty.c_iflag &= ~(IXON | IXOFF | IXANY); - - // 设置原始模式(禁用规范模式) - tty.c_lflag &= ~(ICANON | ECHO | ECHOE | ISIG); - - // 禁用输出处理 - tty.c_oflag &= ~OPOST; - - // 设置读取超时和最小读取字符数 - tty.c_cc[VMIN] = 1; // 至少读取 1 个字符 - tty.c_cc[VTIME] = 5; // 等待 0.5 秒 - - // 应用配置 - if (tcsetattr(fd, TCSANOW, &tty) != 0) - { - std::cerr << "Error setting terminal attributes" << std::endl; - return false; - } - - return true; -} - -void data_handler(const std::vector &packet) -{ - switch (packet[1]) - { - case 0x51: - accel[0].store((int16_t)packet[3] << 8 | packet[2]); - accel[1].store((int16_t)packet[5] << 8 | packet[4]); - accel[2].store((int16_t)packet[7] << 8 | packet[6]); - break; - case 0x52: - gyro[0].store((int16_t)packet[3] << 8 | packet[2]); - gyro[1].store((int16_t)packet[5] << 8 | packet[4]); - gyro[2].store((int16_t)packet[7] << 8 | packet[6]); - break; - case 0x53: - angle[0].store((int16_t)packet[3] << 8 | packet[2]); - angle[1].store((int16_t)packet[5] << 8 | packet[4]); - angle[2].store((int16_t)packet[7] << 8 | packet[6]); - break; - } -} - -int main() -{ - const char *device = "/dev/ttyS2"; - int fd = open(device, O_RDWR | O_NOCTTY); - if (fd < 0) - { - std::cerr << "Failed to open " << device << std::endl; - return 1; - } - - if (!setupSerialPort(fd, B115200)) - { - std::cerr << "Failed to setup serial port" << std::endl; - close(fd); - return 1; - } - - std::vector buffer; - while (true) - { - uint8_t byte; - ssize_t n = read(fd, &byte, 1); - if (n > 0) - { - buffer.push_back(byte); - - if (buffer.size() >= PACKET_LENGTH) - { - if (parsePacket(buffer)) - { - data_handler(buffer); - buffer.erase(buffer.begin(), buffer.begin() + PACKET_LENGTH); - std::cout << "accel:" << accel[0] << " " << accel[1] << " " << accel[2] << std::endl; - std::cout << "gyro:" << gyro[0] << " " << gyro[1] << " " << gyro[2] << std::endl; - std::cout << "angle:" << angle[0] << " " << angle[1] << " " << angle[2] << std::endl; - } - else - { - std::cerr << "Invalid packet, discarding the first byte." << std::endl; - buffer.erase(buffer.begin()); - } - } - } - else if (n < 0) - { - std::cerr << "Error reading from UART." << std::endl; - break; - } - } - - close(fd); - return 0; -} diff --git a/key_demo/CMakeLists.txt b/key_demo/CMakeLists.txt deleted file mode 100644 index 804b4ac..0000000 --- a/key_demo/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# demo1 -add_executable(key_demo key_demo.cpp) - -# 链接库 -target_link_libraries(key_demo common_lib) \ No newline at end of file diff --git a/key_demo/key_demo.cpp b/key_demo/key_demo.cpp deleted file mode 100644 index 47c11d0..0000000 --- a/key_demo/key_demo.cpp +++ /dev/null @@ -1,68 +0,0 @@ -/* - * @Author: Ilikara 3435193369@qq.com - * @Date: 2025-01-26 17:00:24 - * @LastEditors: ilikara 3435193369@qq.com - * @LastEditTime: 2025-03-10 14:23:16 - * @FilePath: /2k300_smartcar/jy62_demo/jy62_demo.cpp - * @Description: - * - * Copyright (c) 2025 by ${git_name_email}, All Rights Reserved. - */ -#include -#include -#include -#include - -#include "GPIO.h" - -using namespace std; - -GPIO keys[9] = { - GPIO(0), - GPIO(3), - GPIO(1), - GPIO(2), - GPIO(27), - GPIO(17), - GPIO(16), - GPIO(15), - GPIO(14)}; - -string keysName[9] = { - "Down", - "Left", - "Up", - "OK", - "Right", - "SW1", - "SW2", - "SW3", - "SW4"}; - - -void draw_interface() -{ - cout << "\033[H\033[J"; - - for (size_t i = 0; i < 9; ++i) - { - string status = keys[i].readValue() ? "HIGH" : "LOW"; - printf("│ GPIO %-7s │ %-9s │\n", keysName[i].c_str(), status.c_str()); - } -} - -int main() -{ - for (size_t i = 0; i < 9; ++i) - { - keys[i].setDirection("in"); - } - - while (true) - { - draw_interface(); - usleep(100000); // 100ms刷新间隔 - cout << "\033[13A"; // 将光标移动到界面起始位置 - } - return 0; -} diff --git a/lib/global.h b/lib/global.h index 68dd773..170b0ff 100644 --- a/lib/global.h +++ b/lib/global.h @@ -20,6 +20,17 @@ const std::string steer_gain_file = "./steer_gain"; const std::string center_bias_file = "./center_bias"; const std::string debug_file = "./debug"; +const std::string cone_avoid_gain_file = "./cone_avoid_gain"; +const std::string cone_avoid_range_file = "./cone_avoid_range"; +const std::string cone_speed_file = "./cone_speed"; +const std::string cone_min_frames_file = "./cone_min_frames"; +const std::string cone_margin_file = "./cone_margin"; +const std::string cone_thresh_file = "./cone_thresh"; +const std::string cone_hold_frames_file = "./cone_hold_frames"; + +const std::string brake_scale_file = "./brake_scale"; +const std::string brake_max_file = "./brake_max"; + double readDoubleFromFile(const std::string &filename); bool readFlag(const std::string &filename); void cfg_load_all(); @@ -35,6 +46,17 @@ struct CfgCache { int start = 0; // 1=启动 0=停止 int showImg = 0; // LCD 预览开关 int debug = 0; // debug 模式 + + double cone_avoid_gain = 0.3; // 锥桶中线变形推离量 (归一化) + int cone_avoid_range = 30; // 变形斜坡陡峭度 + double cone_speed = 0.5; // 锥桶触发时速度倍率 + int cone_min_frames = 3; // 连续确认帧数 + int cone_margin = 0; // 0=中心点 1=框边缘 + double cone_thresh = 0.80; // 锥桶置信度阈值 + int cone_hold_frames = 30; // 锥桶消失后保持变形的帧数 + + double brake_scale = 10; // 速度(pps) → 刹车占空比(ns) 缩放系数 + int brake_max = 10000; // 最大刹车占空比 (ns) }; extern CfgCache g_cfg; diff --git a/main/main.cpp b/main/main.cpp index 2410fb2..8b0f2a7 100644 --- a/main/main.cpp +++ b/main/main.cpp @@ -26,6 +26,13 @@ int main(void) cfg_load_all(); + double avoid_gain_val = readDoubleFromFile(cone_avoid_gain_file); + int avoid_range_val = (int)readDoubleFromFile(cone_avoid_range_file); + int hold_frames_val = (int)readDoubleFromFile(cone_hold_frames_file); + if (avoid_gain_val > 0) g_cfg.cone_avoid_gain = avoid_gain_val; + if (avoid_range_val > 0) g_cfg.cone_avoid_range = avoid_range_val; + if (hold_frames_val > 0) g_cfg.cone_hold_frames = hold_frames_val; + if (CameraInit(0, dest_fps, 320, 240) < 0) { std::cerr << "CameraInit failed" << std::endl; return -1; diff --git a/mild_v12.bin b/mild_v12.bin new file mode 100644 index 0000000000000000000000000000000000000000..a7afcff80232e7dc64f4ff34c0e03f1808487839 GIT binary patch literal 105014 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

1pb<=PbB9{9!`7WPPpry(ru_JBZTiy43%^9> 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%0A&^Iz=%tXn=Y$O(@djLDkTk4XERuMT$5e# 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 AmH+?% literal 0 HcmV?d00001 diff --git a/nanodetv10.bin b/nanodetv10.bin deleted file mode 100644 index ea675412654a9f9b730727cccb5950fdd4a24ac5..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 62980 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

%oJj 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 diff --git a/opencv_demo1/CMakeLists.txt b/opencv_demo1/CMakeLists.txt deleted file mode 100644 index 10b9ce6..0000000 --- a/opencv_demo1/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# demo3 -add_executable(opencv_demo1 opencv_demo1.cpp) - -# 链接 OpenCV 库 -target_link_libraries(opencv_demo1 ${OpenCV_LIBS}) \ No newline at end of file diff --git a/opencv_demo1/opencv_demo1.cpp b/opencv_demo1/opencv_demo1.cpp deleted file mode 100644 index 1383794..0000000 --- a/opencv_demo1/opencv_demo1.cpp +++ /dev/null @@ -1,158 +0,0 @@ -/* - * @Author: ilikara 3435193369@qq.com - * @Date: 2025-01-07 06:55:37 - * @LastEditors: ilikara 3435193369@qq.com - * @LastEditTime: 2025-01-07 08:10:54 - * @FilePath: /smartcar/opencv_demo1/opencv_demo1.cpp - * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace cv; -using namespace std; - -// 将 RGB888 转换为 RGB565 -ushort rgb888_to_rgb565(const Vec3b &color) -{ - return ((color[2] >> 3) << 11) | ((color[1] >> 2) << 5) | (color[0] >> 3); -} - -// 获取当前时间字符串 -string getCurrentTime() -{ - auto now = chrono::system_clock::now(); - auto now_time_t = chrono::system_clock::to_time_t(now); - auto now_tm = *localtime(&now_time_t); - - stringstream ss; - ss << put_time(&now_tm, "%Y-%m-%d %H:%M:%S"); - return ss.str(); -} - -int main() -{ - // 打开 USB 摄像头 - VideoCapture cap(0); // 0 表示默认摄像头 - if (!cap.isOpened()) - { - cerr << "Error: Cannot open camera" << endl; - return -1; - } - - // 设置摄像头分辨率(可选) - cap.set(CAP_PROP_FRAME_WIDTH, 320); - cap.set(CAP_PROP_FRAME_HEIGHT, 240); - - // Framebuffer 设备 - const char *fb_device = "/dev/fb0"; - int fb_fd = open(fb_device, O_RDWR); - if (fb_fd == -1) - { - cerr << "Error: Cannot open framebuffer device" << endl; - return -1; - } - - // 获取 Framebuffer 信息 - struct fb_var_screeninfo vinfo; - if (ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo)) - { - cerr << "Error: Cannot get framebuffer information" << endl; - close(fb_fd); - return -1; - } - - // 检查 Framebuffer 是否支持 RGB565 - if (vinfo.bits_per_pixel != 16) - { - cerr << "Error: Framebuffer is not RGB565 format" << endl; - close(fb_fd); - return -1; - } - - // 映射 Framebuffer 到内存 - size_t fb_size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8; - ushort *fb_data = (ushort *)mmap(0, fb_size, PROT_READ | PROT_WRITE, MAP_SHARED, fb_fd, 0); - if (fb_data == MAP_FAILED) - { - cerr << "Error: Failed to map framebuffer to memory" << endl; - close(fb_fd); - return -1; - } - - // 主循环 - Mat frame, resizedFrame; - int frameCount = 0; - while (true) - { - // 从摄像头捕获一帧图像 - cap >> frame; - if (frame.empty()) - { - cerr << "Error: Captured frame is empty" << endl; - break; - } - - // 调整图像大小为 160x128 - resize(frame, resizedFrame, Size(160, 128)); - - // 获取当前时间和帧数 - string timeStr = getCurrentTime(); - string frameStr = "Frame: " + to_string(frameCount); - - // 在图像左上角绘制黑色边框的白色文字 - int fontFace = FONT_HERSHEY_SIMPLEX; - double fontScale = 0.4; - int thickness = 1; - int baseline = 0; - - // 计算文字位置 - Point timePos(5, 15); // 时间文字位置 - Point framePos(5, 30); // 帧数文字位置 - - // 绘制黑色边框 - putText(resizedFrame, timeStr, timePos + Point(-1, -1), fontFace, fontScale, Scalar(0, 0, 0), thickness + 1); - putText(resizedFrame, timeStr, timePos + Point(1, -1), fontFace, fontScale, Scalar(0, 0, 0), thickness + 1); - putText(resizedFrame, timeStr, timePos + Point(-1, 1), fontFace, fontScale, Scalar(0, 0, 0), thickness + 1); - putText(resizedFrame, timeStr, timePos + Point(1, 1), fontFace, fontScale, Scalar(0, 0, 0), thickness + 1); - - putText(resizedFrame, frameStr, framePos + Point(-1, -1), fontFace, fontScale, Scalar(0, 0, 0), thickness + 1); - putText(resizedFrame, frameStr, framePos + Point(1, -1), fontFace, fontScale, Scalar(0, 0, 0), thickness + 1); - putText(resizedFrame, frameStr, framePos + Point(-1, 1), fontFace, fontScale, Scalar(0, 0, 0), thickness + 1); - putText(resizedFrame, frameStr, framePos + Point(1, 1), fontFace, fontScale, Scalar(0, 0, 0), thickness + 1); - - // 绘制白色文字 - putText(resizedFrame, timeStr, timePos, fontFace, fontScale, Scalar(255, 255, 255), thickness); - putText(resizedFrame, frameStr, framePos, fontFace, fontScale, Scalar(255, 255, 255), thickness); - - // 将图像数据写入 Framebuffer - for (int y = 0; y < resizedFrame.rows; y++) - { - for (int x = 0; x < resizedFrame.cols; x++) - { - Vec3b color = resizedFrame.at(y, x); - fb_data[y * vinfo.xres + x] = rgb888_to_rgb565(color); - } - } - - // 更新帧数 - frameCount++; - - // 等待一段时间(例如 30ms) - usleep(30000); - } - - // 释放资源 - munmap(fb_data, fb_size); - close(fb_fd); - cap.release(); - - return 0; -} \ No newline at end of file diff --git a/opencv_demo2/CMakeLists.txt b/opencv_demo2/CMakeLists.txt deleted file mode 100644 index 162b7c2..0000000 --- a/opencv_demo2/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# demo2 -add_executable(opencv_demo2 opencv_demo2.cpp) - -# 链接 OpenCV 库 -target_link_libraries(opencv_demo2 ${OpenCV_LIBS}) \ No newline at end of file diff --git a/opencv_demo2/opencv_demo2.cpp b/opencv_demo2/opencv_demo2.cpp deleted file mode 100644 index c110572..0000000 --- a/opencv_demo2/opencv_demo2.cpp +++ /dev/null @@ -1,222 +0,0 @@ -/* - * @Author: ilikara 3435193369@qq.com - * @Date: 2025-01-07 06:26:01 - * @LastEditors: Ilikara 3435193369@qq.com - * @LastEditTime: 2025-01-17 15:41:43 - * @FilePath: /2k300_smartcar/opencv_demo2/opencv_demo2.cpp - * @Description: 这是默认设置,请设置`customMade`, 打开koroFileHeader查看配置 进行设置: https://github.com/OBKoro1/koro1FileHeader/wiki/%E9%85%8D%E7%BD%AE - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include // for sort - -using namespace cv; -using namespace std; - -// 定义立方体的顶点 -vector vertices = { - {-1, -1, -1}, - {1, -1, -1}, - {1, 1, -1}, - {-1, 1, -1}, - {-1, -1, 1}, - {1, -1, 1}, - {1, 1, 1}, - {-1, 1, 1}}; - -// 定义立方体的面 -vector> faces = { - {0, 1, 2, 3}, // 前面 - {4, 5, 6, 7}, // 后面 - {0, 1, 5, 4}, // 底面 - {2, 3, 7, 6}, // 顶面 - {0, 3, 7, 4}, // 左面 - {1, 2, 6, 5} // 右面 -}; - -// 定义每个面的颜色 -vector faceColors = { - Scalar(255, 0, 0), // 红色 - Scalar(0, 255, 0), // 绿色 - Scalar(0, 0, 255), // 蓝色 - Scalar(255, 255, 0), // 黄色 - Scalar(255, 0, 255), // 紫色 - Scalar(0, 255, 255) // 青色 -}; - -// 将3D点投影到2D平面(透视投影) -Point2f projectPoint(Point3f point, Mat rotationMatrix, float scale, Point2f offset, float fov) -{ - Mat pointMat = (Mat_(3, 1) << point.x, point.y, point.z); - Mat rotatedPoint = rotationMatrix * pointMat; - - // 透视投影 - float z = rotatedPoint.at(2, 0); - float x = rotatedPoint.at(0, 0) / (z / fov + 1) * scale + offset.x; - float y = rotatedPoint.at(1, 0) / (z / fov + 1) * scale + offset.y; - - return Point2f(x, y); -} - -// 将 RGB888 转换为 RGB565 -ushort rgb888_to_rgb565(const Vec3b &color) -{ - return ((color[2] >> 3) << 11) | ((color[1] >> 2) << 5) | (color[0] >> 3); -} - -// 计算面的中心深度 -float calculateFaceDepth(const vector &faceVertices, Mat rotationMatrix) -{ - float depth = 0; - for (const auto &vertex : faceVertices) - { - Mat pointMat = (Mat_(3, 1) << vertex.x, vertex.y, vertex.z); - Mat rotatedPoint = rotationMatrix * pointMat; - depth += rotatedPoint.at(2, 0); // Z 轴深度 - } - return depth / faceVertices.size(); // 返回平均深度 -} - -int main() -{ - // Framebuffer 设备 - const char *fb_device = "/dev/fb0"; - int fb_fd = open(fb_device, O_RDWR); - if (fb_fd == -1) - { - cerr << "Error: Cannot open framebuffer device" << endl; - return -1; - } - - // 获取 Framebuffer 信息 - struct fb_var_screeninfo vinfo; - if (ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo)) - { - cerr << "Error: Cannot get framebuffer information" << endl; - close(fb_fd); - return -1; - } - - // 检查 Framebuffer 是否支持 RGB565 - if (vinfo.bits_per_pixel != 16) - { - cerr << "Error: Framebuffer is not RGB565 format" << endl; - close(fb_fd); - return -1; - } - - // 映射 Framebuffer 到内存 - size_t fb_size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8; - ushort *fb_data = (ushort *)mmap(0, fb_size, PROT_READ | PROT_WRITE, MAP_SHARED, fb_fd, 0); - if (fb_data == MAP_FAILED) - { - cerr << "Error: Failed to map framebuffer to memory" << endl; - close(fb_fd); - return -1; - } - - // 创建 OpenCV 图像(160x128,RGB888) - Mat image(128, 160, CV_8UC3, Scalar(0, 0, 0)); - - float angle = 0; - float scale = 50; // 缩放因子 - Point2f offset(80, 64); // 图像中心点 - float fov = 500; // 透视投影的视野 - - while (true) - { - // 清空图像 - image.setTo(Scalar(0, 0, 0)); - - // 计算旋转矩阵 - Mat rotationMatrixX = (Mat_(3, 3) << 1, 0, 0, - 0, cos(angle), -sin(angle), - 0, sin(angle), cos(angle)); - - Mat rotationMatrixY = (Mat_(3, 3) << cos(angle), 0, sin(angle), - 0, 1, 0, - -sin(angle), 0, cos(angle)); - - Mat rotationMatrixZ = (Mat_(3, 3) << cos(angle), -sin(angle), 0, - sin(angle), cos(angle), 0, - 0, 0, 1); - - Mat rotationMatrix = rotationMatrixZ * rotationMatrixY * rotationMatrixX; - - // 计算每个面的深度并排序 - vector> faceDepths; // {深度, 面索引} - for (size_t i = 0; i < faces.size(); i++) - { - vector faceVertices; - for (int vertexIndex : faces[i]) - { - faceVertices.push_back(vertices[vertexIndex]); - } - float depth = calculateFaceDepth(faceVertices, rotationMatrix); - faceDepths.push_back({depth, i}); - } - - // 按深度从远到近排序 - sort(faceDepths.begin(), faceDepths.end(), [](const pair &a, const pair &b) - { - return a.first > b.first; // 深度大的先绘制 - }); - - // 按排序后的顺序绘制面 - for (const auto &faceDepth : faceDepths) - { - int faceIndex = faceDepth.second; - vector facePointsFloat; - for (int vertexIndex : faces[faceIndex]) - { - Point3f vertex = vertices[vertexIndex]; - Point2f projectedPoint = projectPoint(vertex, rotationMatrix, scale, offset, fov); - facePointsFloat.push_back(projectedPoint); - } - - // 将 Point2f 转换为 Point(CV_32S 类型) - vector facePoints; - for (const auto &pt : facePointsFloat) - { - facePoints.push_back(Point(cvRound(pt.x), cvRound(pt.y))); - } - - // 填充面 - fillConvexPoly(image, facePoints, faceColors[faceIndex]); - - // 绘制边 - for (size_t j = 0; j < facePoints.size(); j++) - { - line(image, facePoints[j], facePoints[(j + 1) % facePoints.size()], Scalar(0, 0, 0), 2); - } - } - - // 将 OpenCV 图像(RGB888)转换为 RGB565 并写入 Framebuffer - for (int y = 0; y < image.rows; y++) - { - for (int x = 0; x < image.cols; x++) - { - Vec3b color = image.at(y, x); - fb_data[y * vinfo.xres + x] = rgb888_to_rgb565(color); - } - } - - // 更新角度 - angle += 0.02; - - // 等待一段时间 - usleep(1000000 / 50); - } - - // 释放资源 - munmap(fb_data, fb_size); - close(fb_fd); - - return 0; -} \ No newline at end of file diff --git a/opencv_demo3/CMakeLists.txt b/opencv_demo3/CMakeLists.txt deleted file mode 100644 index b7b486f..0000000 --- a/opencv_demo3/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# demo2 -add_executable(opencv_demo3 opencv_demo3.cpp) - -# 链接 OpenCV 库 -target_link_libraries(opencv_demo3 ${OpenCV_LIBS}) \ No newline at end of file diff --git a/opencv_demo3/opencv_demo3.cpp b/opencv_demo3/opencv_demo3.cpp deleted file mode 100644 index 3e72014..0000000 --- a/opencv_demo3/opencv_demo3.cpp +++ /dev/null @@ -1,141 +0,0 @@ -/* - * @Author: ilikara 3435193369@qq.com - * @Date: 2025-01-07 06:26:01 - * @LastEditors: ilikara 3435193369@qq.com - * @LastEditTime: 2025-01-07 08:10:45 - * @FilePath: /smartcar/opencv_demo2/opencv_demo2.cpp - * @Description: 使用Haar级联分类器从USB摄像头获取图像,并将图像居中显示到160x128的RGB565 framebuffer设备 - */ -#include -#include -#include -#include -#include -#include - -using namespace cv; -using namespace std; - -// 将 RGB888 转换为 RGB565 -ushort rgb888_to_rgb565(const Vec3b &color) -{ - return ((color[2] >> 3) << 11) | ((color[1] >> 2) << 5) | (color[0] >> 3); -} - -int main() -{ - // Framebuffer 设备 - const char *fb_device = "/dev/fb0"; - int fb_fd = open(fb_device, O_RDWR); - if (fb_fd == -1) - { - cerr << "Error: Cannot open framebuffer device" << endl; - return -1; - } - - // 获取 Framebuffer 信息 - struct fb_var_screeninfo vinfo; - if (ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo)) - { - cerr << "Error: Cannot get framebuffer information" << endl; - close(fb_fd); - return -1; - } - - // 检查 Framebuffer 是否支持 RGB565 - if (vinfo.bits_per_pixel != 16) - { - cerr << "Error: Framebuffer is not RGB565 format" << endl; - close(fb_fd); - return -1; - } - - // 映射 Framebuffer 到内存 - size_t fb_size = vinfo.xres * vinfo.yres * vinfo.bits_per_pixel / 8; - ushort *fb_data = (ushort *)mmap(0, fb_size, PROT_READ | PROT_WRITE, MAP_SHARED, fb_fd, 0); - if (fb_data == MAP_FAILED) - { - cerr << "Error: Failed to map framebuffer to memory" << endl; - close(fb_fd); - return -1; - } - - // 打开USB摄像头 - VideoCapture cap(0); // 0表示第一个摄像头 - if (!cap.isOpened()) - { - cerr << "Error: Cannot open camera" << endl; - return -1; - } - - // 设置摄像头参数 - cap.set(CAP_PROP_FRAME_WIDTH, 640); - cap.set(CAP_PROP_FRAME_HEIGHT, 360); - cap.set(CAP_PROP_FOURCC, VideoWriter::fourcc('M', 'J', 'P', 'G')); - cap.set(CAP_PROP_AUTO_EXPOSURE, -1); // 启用自动曝光 - - // 加载Haar级联分类器 - CascadeClassifier face_cascade; - if (!face_cascade.load("opencv/share/opencv4/haarcascades/haarcascade_frontalface_default.xml")) - { - cerr << "Error: Cannot load Haar cascade classifier" << endl; - return -1; - } - - // 创建 OpenCV 图像(160x128,RGB888) - Mat image(128, 160, CV_8UC3, Scalar(0, 0, 0)); - - while (true) - { - Mat frame; - cap >> frame; // 从摄像头获取一帧图像 - if (frame.empty()) - { - cerr << "Error: Cannot grab frame from camera" << endl; - break; - } - - // 缩放图像到160x90 - Mat resized_frame; - resize(frame, resized_frame, Size(160, 90)); - - // 转换为灰度图像 - Mat gray; - cvtColor(resized_frame, gray, COLOR_BGR2GRAY); - - // 使用Haar级联分类器检测人脸 - vector faces; - face_cascade.detectMultiScale(gray, faces, 1.1, 2, 0 | CASCADE_SCALE_IMAGE, Size(30, 30)); - - // 在图像上绘制检测到的人脸 - for (const auto &face : faces) - { - rectangle(resized_frame, face, Scalar(255, 0, 0), 2); - } - - // 将图像居中显示到160x128的framebuffer - image.setTo(Scalar(0, 0, 0)); // 清空图像 - int y_offset = (128 - 90) / 2; - resized_frame.copyTo(image(Rect(0, y_offset, 160, 90))); - - // 将 OpenCV 图像(RGB888)转换为 RGB565 并写入 Framebuffer - for (int y = 0; y < image.rows; y++) - { - for (int x = 0; x < image.cols; x++) - { - Vec3b color = image.at(y, x); - fb_data[y * vinfo.xres + x] = rgb888_to_rgb565(color); - } - } - - // 等待一段时间 - usleep(33333); - } - - // 释放资源 - munmap(fb_data, fb_size); - close(fb_fd); - cap.release(); - - return 0; -} \ No newline at end of file diff --git a/screenshot_demo/CMakeLists.txt b/screenshot_demo/CMakeLists.txt deleted file mode 100644 index cac56a5..0000000 --- a/screenshot_demo/CMakeLists.txt +++ /dev/null @@ -1,2 +0,0 @@ -add_executable(screenshot_demo screenshot_demo.cpp) -target_link_libraries(screenshot_demo common_lib ${OpenCV_LIBS}) diff --git a/screenshot_demo/screenshot_demo.cpp b/screenshot_demo/screenshot_demo.cpp deleted file mode 100644 index 515fd96..0000000 --- a/screenshot_demo/screenshot_demo.cpp +++ /dev/null @@ -1,111 +0,0 @@ -/* - * screenshot_demo — 摄像头截图保存 - * ====================================== - * 每次运行截一张图, 保存到 ./screenshot/image_N.jpg - * 用法: - * ./screenshot_demo 截一张图 + LCD 显示 - * ./screenshot_demo --no-display 无 LCD - */ - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -using namespace cv; -using namespace std; - -static uint16_t rgb565(uint8_t r, uint8_t g, uint8_t b) -{ - return ((r & 0xF8) << 8) | ((g & 0xFC) << 3) | (b >> 3); -} - -int main(int argc, char *argv[]) -{ - bool no_display = false; - for (int i = 1; i < argc; ++i) - if (strcmp(argv[i], "--no-display") == 0) - no_display = true; - - // ---- 创建目录 ---- - mkdir("./screenshot", 0755); - - // ---- 摄像头 ---- - VideoCapture cap; - cap.open(0, CAP_V4L2); - if (!cap.isOpened()) cap.open(0); - if (!cap.isOpened()) { cerr << "无法打开摄像头" << endl; return 1; } - cap.set(CAP_PROP_FRAME_WIDTH, 640); - cap.set(CAP_PROP_FRAME_HEIGHT, 480); - cap.set(CAP_PROP_FOURCC, VideoWriter::fourcc('M', 'J', 'P', 'G')); - printf("摄像头: %dx%d\n", - (int)cap.get(CAP_PROP_FRAME_WIDTH), - (int)cap.get(CAP_PROP_FRAME_HEIGHT)); - - // ---- 丢弃前几帧 (曝光稳定) ---- - Mat frame; - for (int i = 0; i < 10; ++i) - cap.read(frame); - usleep(100000); - - // ---- 截图 ---- - if (!cap.read(frame) || frame.empty()) - { - cerr << "截图失败" << endl; - cap.release(); - return 1; - } - - // 自增文件名 - int idx = 0; - char fname[64]; - struct stat st; - do { - snprintf(fname, sizeof(fname), - "./screenshot/image_%05d.jpg", ++idx); - } while (stat(fname, &st) == 0); - - imwrite(fname, frame); - printf("截图: %s (%dx%d)\n", fname, frame.cols, frame.rows); - - // ---- LCD 显示 ---- - if (!no_display) - { - int fb_fd = open("/dev/fb0", O_RDWR); - if (fb_fd >= 0) - { - struct fb_var_screeninfo vinfo; - ioctl(fb_fd, FBIOGET_VSCREENINFO, &vinfo); - int scr_w = vinfo.xres, scr_h = vinfo.yres; - size_t fb_size = vinfo.yres_virtual * vinfo.xres_virtual * 2; - uint16_t *fb_buf = (uint16_t *)mmap(nullptr, fb_size, - PROT_READ|PROT_WRITE, - MAP_SHARED, fb_fd, 0); - - Mat disp; - resize(frame, disp, Size(scr_w, scr_h)); - rectangle(disp, Point(0, 0), Point(disp.cols, disp.rows), - Scalar(0, 255, 255), 3); - - for (int y = 0; y < scr_h; ++y) - for (int x = 0; x < scr_w; ++x) - { - Vec3b px = disp.at(y, x); - fb_buf[y * scr_w + x] = rgb565(px[2], px[1], px[0]); - } - - sleep(1); - munmap(fb_buf, fb_size); - close(fb_fd); - } - } - - cap.release(); - return 0; -} diff --git a/src/camera.cpp b/src/camera.cpp index c835b2e..8be4b30 100644 --- a/src/camera.cpp +++ b/src/camera.cpp @@ -22,7 +22,8 @@ PwmController servo(1, 0); // ── 模型检测参数 ── #define ZEBRA_CLASS 3 -static float g_thresh[4] = {0.80f, 0.80f, 0.80f, 0.75f}; +#define CONE_CLASS 0 +static float g_thresh[4] = {0.90f, 0.75f, 0.80f, 0.90f}; // ── 斑马线去抖 ── #define ZEBRA_MIN_FRAMES 5 @@ -36,6 +37,23 @@ static ZState g_zstate = Z_NORMAL; static time_t g_ztime = 0; static bool g_zebra_ever = false; +// ── 红绿灯状态机 ── +#define TL_RED_CLASS 1 +#define TL_GREEN_CLASS 2 +enum TLState { TL_NORMAL, TL_STOP, TL_WAIT_GREEN }; +static TLState g_tl_state = TL_NORMAL; +static int g_tl_red_frames = 0; +static int g_tl_green_frames = 0; + +// ── 锥桶检测 ── +static int g_cone_frames = 0; +static int g_cone_last_row = -1; +static int g_cone_last_col = -1; +static bool g_cone_confirmed = false; +static int g_cone_hold_ctr = 0; +static int g_cone_hold_src_row = -1; +static int g_cone_hold_src_col = -1; + // ── 模型检测结果缓存 ── static DetectBoxV10 g_boxes[16]; static int g_box_count = 0; @@ -110,10 +128,10 @@ int CameraInit(uint8_t camera_id, double dest_fps, int width, int height) line_tracking_width = newWidth / calc_scale; line_tracking_height = newHeight / calc_scale; - if (!model_v10_init("./nanodetv10.bin")) { + if (!model_v10_init("./mild_v12.bin")) { printf("[MODEL] 警告: 模型加载失败\n"); } else { - printf("[MODEL] v10 模型已加载\n"); + printf("[MODEL] Mild v12 模型已加载\n"); } i2c_audio_open(); @@ -283,6 +301,138 @@ int CameraHandler(void) break; } + // ── 5.5 红绿灯状态机 ── + bool red_seen = false; + bool green_seen = false; + for (int i = 0; i < g_box_count; ++i) { + if (g_boxes[i].cls == TL_RED_CLASS) red_seen = true; + if (g_boxes[i].cls == TL_GREEN_CLASS) green_seen = true; + } + + if (red_seen) g_tl_red_frames++; + else g_tl_red_frames = std::max(0, g_tl_red_frames - 1); + if (green_seen) g_tl_green_frames++; + else g_tl_green_frames = std::max(0, g_tl_green_frames - 1); + + switch (g_tl_state) { + case TL_NORMAL: + if (g_tl_red_frames >= 3) { + g_tl_state = TL_STOP; + if (g_cfg.debug) printf("[TL] 红灯停车\n"); + } + break; + case TL_STOP: + if (!red_seen) { + g_tl_state = TL_WAIT_GREEN; + if (g_cfg.debug) printf("[TL] 等待绿灯\n"); + } + break; + case TL_WAIT_GREEN: + if (g_tl_green_frames >= 3) { + g_tl_state = TL_NORMAL; + g_tl_red_frames = 0; + g_tl_green_frames = 0; + if (g_cfg.debug) printf("[TL] 绿灯通行\n"); + } + break; + } + + bool tl_block = (g_tl_state != TL_NORMAL); + + // ── 5.6 锥桶检测 + 中线变形 ── + bool cone_seen = false; + int cone_row_keep = -1; + int cone_col_keep = -1; + + if (g_zstate != Z_STOP && g_tl_state == TL_NORMAL) { + for (int i = 0; i < g_box_count; ++i) { + if (g_boxes[i].cls != CONE_CLASS) continue; + if (g_boxes[i].conf < g_cfg.cone_thresh) continue; + + int col_lt = g_boxes[i].cx * line_tracking_width / raw_frame.cols; + int row_lt = g_boxes[i].cy * line_tracking_height / raw_frame.rows; + + if (row_lt < 10 || row_lt >= line_tracking_height) continue; + if (left_line[row_lt] == -1 || right_line[row_lt] == -1) continue; + + if (g_cfg.cone_margin) { + int bl = (g_boxes[i].cx - g_boxes[i].w/2) * line_tracking_width / raw_frame.cols; + int br = (g_boxes[i].cx + g_boxes[i].w/2) * line_tracking_width / raw_frame.cols; + if (br < left_line[row_lt] || bl > right_line[row_lt]) continue; + } else { + if (col_lt < left_line[row_lt] || col_lt > right_line[row_lt]) continue; + } + + if (row_lt > cone_row_keep) { cone_row_keep = row_lt; cone_col_keep = col_lt; } + cone_seen = true; + } + } + + { + int row_tol = std::max(2, line_tracking_height / 12); + int col_tol = std::max(3, line_tracking_width / 8); + if (cone_seen) { + if (g_cone_frames == 0) { + g_cone_last_row = cone_row_keep; + g_cone_last_col = cone_col_keep; + g_cone_frames = 1; + } else { + if (std::abs(cone_row_keep - g_cone_last_row) <= row_tol && + std::abs(cone_col_keep - g_cone_last_col) <= col_tol) { + g_cone_frames++; + g_cone_last_row = cone_row_keep; + g_cone_last_col = cone_col_keep; + } else { + g_cone_frames = 1; + g_cone_last_row = cone_row_keep; + g_cone_last_col = cone_col_keep; + } + } + } else { + if (g_cone_frames > 0) g_cone_frames = std::max(0, g_cone_frames - 1); + } + } + + g_cone_confirmed = (g_cone_frames >= g_cfg.cone_min_frames); + + if (g_cone_confirmed) { + g_cone_hold_ctr = 0; + g_cone_hold_src_row = cone_row_keep; + g_cone_hold_src_col = cone_col_keep; + } else if (g_cone_hold_src_row > 0 && g_cone_hold_ctr <= g_cfg.cone_hold_frames) { + g_cone_hold_ctr++; + } + + bool cone_active = g_cone_confirmed || + (g_cone_hold_ctr > 0 && g_cone_hold_ctr <= g_cfg.cone_hold_frames); + + if (cone_active && g_zstate != Z_STOP && g_tl_state == TL_NORMAL) { + int src_row = g_cone_confirmed ? cone_row_keep : g_cone_hold_src_row; + int src_col = g_cone_confirmed ? cone_col_keep : g_cone_hold_src_col; + int start_row = 10; + if (src_row > start_row) { + double total_rows = src_row - start_row; + double rng = (double)g_cfg.cone_avoid_range; + double half_w = line_tracking_width / 2.0; + double mid_at_cone = mid_line[src_row]; + double dir = (src_col < mid_at_cone) ? 1.0 : -1.0; + double decay = g_cone_confirmed + ? 1.0 + : (1.0 - (double)g_cone_hold_ctr / g_cfg.cone_hold_frames); + + for (int row = start_row; row <= src_row; row++) { + double t_raw = (row - start_row) / total_rows; + double t = std::clamp(t_raw * (total_rows / rng), 0.0, 1.0); + double push = t * g_cfg.cone_avoid_gain * half_w * dir * decay; + double new_mid = mid_line[row] + push; + new_mid = std::clamp(new_mid, + (double)left_line[row] + 2.0, + (double)right_line[row] - 2.0); + mid_line[row] = (int)(new_mid + 0.5); + } + } + } + // ── 6. 舵机 ── if (g_cfg.start) { int foresee = (int)g_cfg.foresee; @@ -304,7 +454,15 @@ int CameraHandler(void) } // ── 7. 电机控制 ── - ControlUpdate(target_speed, g_zstate == Z_STOP); + { + double spd = target_speed; + bool cone_slow = g_cone_confirmed || + (g_cone_hold_ctr > 0 && g_cone_hold_ctr <= g_cfg.cone_hold_frames); + if (cone_slow && g_zstate != Z_STOP && g_tl_state == TL_NORMAL) { + spd *= g_cfg.cone_speed; + } + ControlUpdate(spd, g_zstate == Z_STOP || tl_block); + } clock_gettime(CLOCK_MONOTONIC,&t4); // ── 8. LCD ── @@ -340,14 +498,20 @@ int CameraHandler(void) x2=std::max(0,std::min(newWidth-1,x2)); y2=std::max(0,std::min(newHeight-1,y2)); cv::Scalar color(0,255,0); if (g_boxes[i].cls == ZEBRA_CLASS) color=cv::Scalar(255,0,255); + else if (g_boxes[i].cls == CONE_CLASS) color=cv::Scalar(0,165,255); cv::rectangle(lcd_fbImage(roi), cv::Point(x1,y1), cv::Point(x2,y2), color, 2); char lab[16]; std::snprintf(lab,16,"%d %.0f",g_boxes[i].cls,g_boxes[i].conf*100); cv::putText(lcd_fbImage(roi), lab, cv::Point(x1+2,y1+10), cv::FONT_HERSHEY_SIMPLEX,0.3,color,1); } - const char* ztxt="N"; - if (g_zstate==Z_STOP) ztxt="S"; - else if (g_zstate==Z_COOLDOWN) ztxt="C"; + char ztxt[8]; + int zidx = 0; + if (g_tl_state == TL_STOP) ztxt[zidx++] = 'R'; + else if (g_tl_state == TL_WAIT_GREEN) ztxt[zidx++] = 'G'; + if (g_zstate == Z_STOP) ztxt[zidx++] = 'S'; + else if (g_zstate == Z_COOLDOWN) ztxt[zidx++] = 'C'; + else ztxt[zidx++] = 'N'; + ztxt[zidx] = '\0'; cv::putText(lcd_fbImage(roi), ztxt, cv::Point(2,newHeight-4), cv::FONT_HERSHEY_SIMPLEX,0.4,cv::Scalar(0,255,255),1); convertMatToRGB565(lcd_fbImage, fb_buffer, screenWidth, screenHeight); diff --git a/src/control.cpp b/src/control.cpp index bf9f13d..d8522cc 100644 --- a/src/control.cpp +++ b/src/control.cpp @@ -1,23 +1,70 @@ /* * control — 电机控制层 * - * 开环占空比控制:根据目标速度和偏差计算占空比,直接输出到 PWM。 - * 无编码器反馈,无 PID 闭环。 + * 开环占空比控制 + 斑马线编码器比例刹车。 + * 编码器线程: 高速轮询 gpio67 → 算速度(脉冲/秒) → 原子变量共享。 */ #include "control.h" #include "global.h" +#include +#include +#include extern double g_steer_deviation; MotorController *motorController[2] = {nullptr, nullptr}; GPIO mortorEN(73); +static GPIO encoderLSB(67); +static GPIO encoderDIR(72); + +static std::thread g_enc_thread; +static std::atomic g_enc_running{false}; +static std::atomic g_enc_speed{0.0}; +static std::atomic g_enc_dir{0}; + +static long enc_now_ns() { + struct timespec ts; + clock_gettime(CLOCK_MONOTONIC, &ts); + return ts.tv_sec * 1000000000L + ts.tv_nsec; +} + +static void encoder_thread() { + int prev_lsb = encoderLSB.readValue() ? 1 : 0; + int pulse_cnt = 0; + long t0 = enc_now_ns(); + + while (g_enc_running.load()) { + int cur_lsb = encoderLSB.readValue() ? 1 : 0; + int cur_dir = encoderDIR.readValue() ? 1 : 0; + + if (cur_lsb != prev_lsb) { + pulse_cnt++; + prev_lsb = cur_lsb; + } + g_enc_dir.store(cur_dir); + + long t1 = enc_now_ns(); + long dt = t1 - t0; + if (dt >= 100000000L) { + g_enc_speed.store(pulse_cnt / (dt / 1e9)); + pulse_cnt = 0; + t0 = t1; + } + } +} + void ControlInit() { mortorEN.setDirection("out"); mortorEN.setValue(1); - // 左电机方向: GPIO12 (右电机方向由 MotorController 自管, 但左In2也一样要设) + encoderLSB.setDirection("in"); + encoderDIR.setDirection("in"); + + g_enc_running.store(true); + g_enc_thread = std::thread(encoder_thread); + GPIO leftIn2(13); leftIn2.setDirection("out"); leftIn2.setValue(1); @@ -37,15 +84,38 @@ void ControlInit() void ControlUpdate(double speed, bool zebra_block) { - if (zebra_block || !g_cfg.start) + if (!g_cfg.start) { for (int i = 0; i < 2; ++i) if (motorController[i]) motorController[i]->updateduty(0); - if (!g_cfg.start) mortorEN.setValue(0); + mortorEN.setValue(0); + return; + } + + if (zebra_block) + { + double cur_speed = g_enc_speed.load(); + int cur_dir = g_enc_dir.load(); + + if (cur_speed > 0.5) + { + int brake_ns = (int)(cur_speed * g_cfg.brake_scale); + if (brake_ns > g_cfg.brake_max) brake_ns = g_cfg.brake_max; + double brake_pct = brake_ns / 500.0; // ns → % (period=50000ns) + int dir = cur_dir ? 1 : 0; + + for (int i = 0; i < 2; ++i) + if (motorController[i]) + motorController[i]->updateduty(dir ? -brake_pct : brake_pct); + } + else + { + for (int i = 0; i < 2; ++i) + if (motorController[i]) motorController[i]->updateduty(0); + } return; } - // 弯道降速: 偏差越大,速度越低 (最低 60%) double curve = 1.0 - std::abs(g_steer_deviation) * 0.4; if (curve < 0.6) curve = 0.6; double spd = speed * curve; @@ -58,6 +128,9 @@ void ControlUpdate(double speed, bool zebra_block) void ControlExit() { + g_enc_running.store(false); + if (g_enc_thread.joinable()) g_enc_thread.join(); + for (int i = 0; i < 2; ++i) { delete motorController[i]; diff --git a/src/global.cpp b/src/global.cpp index f03fc62..f2a1383 100644 --- a/src/global.cpp +++ b/src/global.cpp @@ -31,4 +31,12 @@ void cfg_load_all() g_cfg.start = readFlag(start_file); g_cfg.showImg = readFlag(showImg_file); g_cfg.debug = readFlag(debug_file); + + g_cfg.cone_speed = readDoubleFromFile(cone_speed_file); + g_cfg.cone_min_frames = (int)readDoubleFromFile(cone_min_frames_file); + g_cfg.cone_margin = (int)readDoubleFromFile(cone_margin_file); + g_cfg.cone_thresh = readDoubleFromFile(cone_thresh_file); + + g_cfg.brake_scale = readDoubleFromFile(brake_scale_file); + g_cfg.brake_max = readDoubleFromFile(brake_max_file); } diff --git a/src/model_v10.cpp b/src/model_v10.cpp index ca993c4..ca93a39 100644 --- a/src/model_v10.cpp +++ b/src/model_v10.cpp @@ -1,602 +1,502 @@ /* - * NanoDetHeat v10: 3.2M MACs, 4-class - * 优化: BN折叠 + conv_bn_relu融合 + 快速exp + 边界修正 + * YOLO_Mega_Mild_r2 C++ inference engine v3 + * Architecture: 3-9-9-13-13-19-19-19-44-44-64-64 -> head(64-64,dw) -> out(64-9) */ #include "model_v10.hpp" #include #include #include #include -#include #include #include #include #include #include -// ============================================================ -// 快速 exp — Schraudolph 方法 (IEEE 754 整数近似) -// ============================================================ -static inline float fast_exp(float x) { - // clamp to avoid overflow: exp(88) fits in float - x = std::min(x, 88.0f); - x = std::max(x, -87.0f); - // exp(x) ~ 2^(x * log2(e)) - // float 按位: 2^23 * (127 + x*log2(e)) - union { float f; int i; } u; - u.i = (int)(12102203.0f * x) + 1064866805; // 2^23 * log2(e) = 12102203 - return u.f; -} -static inline float fast_sigmoid(float x) { - return 1.0f / (1.0f + fast_exp(-x)); +static inline float clamp_f(float v, float lo, float hi) { return v < lo ? lo : (v > hi ? hi : v); } +static inline float sigmoid_f(float x) { + x = clamp_f(x, -30.0f, 30.0f); + return 1.0f / (1.0f + std::exp(-x)); } +static inline float relu_maybe(float s, bool relu) { return (relu && s < 0.0f) ? 0.0f : s; } -// ============================================================ -// 权重 (新增 BN alpha/beta 预计算) -// ============================================================ struct WT { char n[128]; int nd; int s[4]; float* d; }; -static int gn=0; static WT* gw=nullptr; +static int gn = 0; +static WT* gw = nullptr; -static float* wf(const char* k) { - for(int i=0;id : nullptr; } -static void init_lut(); - -// 加载后扫描 BN 参数,预计算 alpha/beta 存入权重表 static void bn_precompute() { - // 扫描所有权重,找 BN 三元组 (weight/bias/running_mean/running_var) - std::unordered_map base_idx; - for (int i=0; i bn_weight_idx; + for (int i = 0; i < gn; ++i) { const char* name = gw[i].n; - // 匹配 xxx.weight (BN) 或 xxx.bias (BN) → base = "xxx" const char* dot = std::strrchr(name, '.'); - if (!dot) continue; - std::string base(name, dot - name); - int sz = gw[i].s[0]; - - if (std::strcmp(dot+1, "weight")==0 && sz>0 && sz <= 256) { - base_idx[base] = i; - } + if (!dot || std::strcmp(dot + 1, "weight") != 0) continue; + if (gw[i].nd != 1) continue; + bn_weight_idx[std::string(name, dot - name)] = i; } - std::vector new_wts; - for (auto& [base, wi] : base_idx) { - // 找对应的 bias / running_mean / running_var - std::string w_key = base + ".weight"; - std::string b_key = base + ".bias"; - std::string m_key = base + ".running_mean"; - std::string v_key = base + ".running_var"; - - float* w = wf(w_key.c_str()); - float* b = wf(b_key.c_str()); - float* m = wf(m_key.c_str()); - float* v = wf(v_key.c_str()); - - if (!w || !m || !v) continue; // cls_head/size_head 没有 BN - int C = gw[wi].s[0]; + for (auto& kv : bn_weight_idx) { + const std::string& base = kv.first; + float* w = gw[kv.second].d; + float* b = wf((base + ".bias").c_str()); + float* m = wf((base + ".running_mean").c_str()); + float* v = wf((base + ".running_var").c_str()); + if (!m || !v) continue; + const int C = gw[kv.second].s[0]; float* alpha = new float[C]; float* beta = new float[C]; const float eps = 1e-5f; - for (int c=0; c=3 && W>=3) { - // interior: 1≤y0)?x-1:x, xr=(x0)?x-1:x, xr=(x=H) continue; - for (int kx=0; kx<3; ++kx) { - int ix = x + kx - 1; - if (ix<0||ix>=W) continue; - s += ww[ky*3+kx] * ii[iy*W+ix]; - } - } - s = s*ba + bb; - if (use_relu && s<0) s = 0; - oo[y*W+x] = s; - } + auto edge = [&](int y, int x) { + float s = 0.0f; + for (int ky = 0; ky < 3; ++ky) { + const int iy = y + ky - 1; + if (iy < 0 || iy >= H) continue; + for (int kx = 0; kx < 3; ++kx) { + const int ix = x + kx - 1; + if (ix < 0 || ix >= W) continue; + s += ww[ky * 3 + kx] * ii[iy * W + ix]; } } - } - return; + oo[y * W + x] = relu_maybe(s * a + b, relu); + }; + for (int x = 0; x < W; ++x) { edge(0, x); edge(H - 1, x); } + for (int y = 1; y < H - 1; ++y) { edge(y, 0); edge(y, W - 1); } } +} - // 通用路径 — 常数外提 + iy*W 预计算 - for (int g=0; g=H) continue; - int iy_off = iy*W; - for (int kx=0; kx=W) continue; - s += ww[ky*K+kx] * ii[iy_off + ix]; - } +static void conv_generic(float* o, const float* in, const float* cw, const float* cb, + const float* ba, const float* bb, + int H, int W, int iC, int oC, int K, int str, int grp, bool relu) +{ + const int Ho = H / str, Wo = W / str, pad = K / 2; + const int icpg = iC / grp, ocpg = oC / grp; + for (int g = 0; g < grp; ++g) { + const int ic_base = g * icpg; + for (int oc = 0; oc < ocpg; ++oc) { + const int occ = g * ocpg + oc; + float* oo = o + occ * Ho * Wo; + const float bias = cb ? cb[occ] : 0.0f; + const float a = ba ? ba[occ] : 1.0f; + const float b = bb ? bb[occ] : 0.0f; + for (int y = 0; y < Ho; ++y) { + const int yi0 = y * str - pad; + const int ky0 = std::max(0, -yi0); + const int ky1 = std::min(K, H - yi0); + for (int x = 0; x < Wo; ++x) { + const int xi0 = x * str - pad; + const int kx0 = std::max(0, -xi0); + const int kx1 = std::min(K, W - xi0); + float s = bias; + for (int ic = 0; ic < icpg; ++ic) { + const float* ww = cw + ((occ * icpg + ic) * K * K); + const float* ii = in + (ic_base + ic) * H * W; + for (int ky = ky0; ky < ky1; ++ky) { + const float* irow = ii + (yi0 + ky) * W + xi0; + const float* wrow = ww + ky * K; + for (int kx = kx0; kx < kx1; ++kx) + s += wrow[kx] * irow[kx]; } } - s = s*ba + bb; - if (use_relu && s<0) s = 0; - oo[y*Wo+x] = s; + oo[y * Wo + x] = relu_maybe(s * a + b, relu); } } } } } -// ============================================================ -// 纯 conv (无 BN/ReLU, cls_head / size_head / skip 的 conv 部分) -// ============================================================ -static void conv2d(float* o, const float* in, const float* w, const float* b, - int H, int W, int iC, int oC, int K, int str, int grp) { - conv_bn_relu(o, in, w, b, nullptr, nullptr, H, W, iC, oC, K, str, grp, false); +static void conv_bn_relu(float* o, const float* in, + const float* cw, const float* cb, + const float* ba, const float* bb, + int H, int W, int iC, int oC, int K, int str, int grp, bool relu) +{ + if (!cw || !in || !o) return; + if (K == 1 && str == 1 && grp == 1) + conv1x1(o, in, cw, cb, ba, bb, H, W, iC, oC, relu); + else if (K == 3 && str == 1 && grp == iC && iC == oC) + dwconv3x3(o, in, cw, ba, bb, H, W, iC, relu); + else + conv_generic(o, in, cw, cb, ba, bb, H, W, iC, oC, K, str, grp, relu); } -// ============================================================ -// SE 通道注意力 (使用快速 sigmoid) -// ============================================================ static void se_module(float* x, int C, int N, - const float* w1, const float* b1, - const float* w2, const float* b2, - float* buf) { - if (!w1||!w2) return; - int mid=C/4; - float* pool=buf; + const WT* w1t, const float* b1, + const WT* w2t, const float* b2) +{ + if (!w1t || !w2t) return; + const float* w1 = w1t->d; + const float* w2 = w2t->d; + const int mid = w1t->s[0]; - // AdaptiveAvgPool - for (int c=0; c0?s:0; + for (int o = 0; o < mid; ++o) { + float s = b1 ? b1[o] : 0.0f; + const float* ww = w1 + o * C; + for (int ic = 0; ic < C; ++ic) s += pool[ic] * ww[ic]; + fc1[o] = s > 0.0f ? s : 0.0f; } - // fc2: mid→C + Sigmoid (fast) - float* fc2=buf+C+mid; - for (int o=0; odw_out, in, wf(na), nullptr, - wf(wr), wf(bi), H, W, iC, iC, 3, str, iC, true); +static void model_compute() { + struct Lay { int iC, oC, H, W, s; const char* bn; const char* sn; }; + static const Lay lays[] = { + {3, 9, 120, 160, 2, "b1", "se_0"}, + {9, 9, 60, 80, 1, "b2", "se_1"}, + {9, 13, 60, 80, 2, "b3", "se_2"}, + {13, 13, 30, 40, 1, "b4", "se_3"}, + {13, 19, 30, 40, 2, "b5", "se_4"}, + {19, 19, 15, 20, 1, "b6", "se_5"}, + {19, 19, 15, 20, 1, "b7", "se_6"}, + {19, 44, 15, 20, 1, "b8", "se_7"}, + {44, 44, 15, 20, 1, "b9", "se_8"}, + {44, 64, 15, 20, 1, "b10", "se_9"}, + {64, 64, 15, 20, 1, "b11", "se_10"}, + }; - // pw conv + BN + ReLU (fused) - std::snprintf(na,128,"%s.pw.0.weight",pfx); - std::snprintf(wr,128,"%s.pw.1._alpha",pfx); - std::snprintf(bi,128,"%s.pw.1._beta",pfx); - conv_bn_relu(o, m->dw_out, wf(na), nullptr, - wf(wr), wf(bi), Ho, Wo, iC, oC, 1, 1, 1, true); + const float* in = g_preproc; + float* bufs[2] = { g_A, g_B }; + int cur = 0; - // skip (BN fused, no ReLU) - bool iden=(str==1 && iC==oC); - float* skip=m->dw_out; - if (iden) { - std::memcpy(skip, in, iC*H*W*4); - } else { - std::snprintf(na,128,"%s.sk.0.weight",pfx); - std::snprintf(wr,128,"%s.sk.1._alpha",pfx); - std::snprintf(bi,128,"%s.sk.1._beta",pfx); - conv_bn_relu(skip, in, wf(na), nullptr, - wf(wr), wf(bi), H, W, iC, oC, 1, str, 1, false); + for (const Lay& l : lays) { + int K, grp; + if (l.s == 2) { K = 3; grp = 1; } + else if (l.iC == l.oC) { K = 3; grp = l.iC; } + else { K = 1; grp = 1; } + + const int Ho = l.H / l.s, Wo = l.W / l.s; + float* out = bufs[cur]; + + char wkey[128], akey[128], bkey[128]; + std::snprintf(wkey, 128, "%s.0.weight", l.bn); + std::snprintf(akey, 128, "%s.1._alpha", l.bn); + std::snprintf(bkey, 128, "%s.1._beta", l.bn); + conv_bn_relu(out, in, wf(wkey), nullptr, wf(akey), wf(bkey), + l.H, l.W, l.iC, l.oC, K, l.s, grp, true); + + char s1[128], s1b[128], s3[128], s3b[128]; + std::snprintf(s1, 128, "%s.1.weight", l.sn); + std::snprintf(s1b, 128, "%s.1.bias", l.sn); + std::snprintf(s3, 128, "%s.3.weight", l.sn); + std::snprintf(s3b, 128, "%s.3.bias", l.sn); + se_module(out, l.oC, Ho * Wo, wt(s1), wf(s1b), wt(s3), wf(s3b)); + + in = out; + cur ^= 1; } - for (int i=0; ise_buf); + conv_bn_relu(g_T, in, wf("head.0.weight"), nullptr, + wf("head.1._alpha"), wf("head.1._beta"), + 15, 20, 64, 64, 3, 1, 64, true); - relu_f(o, oC*No); + conv_bn_relu(g_out, g_T, wf("out.weight"), wf("out.bias"), + nullptr, nullptr, 15, 20, 64, 9, 1, 1, 1, false); } -// ============================================================ -// 解码 — softmax + NMS (预计算 peak mask) -// ============================================================ -static constexpr int OH=15, OW=20, STRIDE=8, NC=4; -static constexpr float RS[NC][2] = { - {56.85f,45.39f}, {101.44f,66.53f}, {96.75f,62.86f}, {66.01f,35.49f}, -}; +static int decode(DetectBoxV10* boxes, int max_boxes, float thr) { + const int N = OH * OW; + int cnt = 0; -static int decode(DetectBoxV10* boxes, int max, const float* th) { - int N=OH*OW, cnt=0; - - // 预计算 peak mask: 每个类别做一次 maxpool - uint8* mask = m->peak_mask; - for (int c=0; ccl + c*N; - uint8* mp = mask + c*N; - for (int gy=0; gy=OH||nx<0||nx>=OW) continue; - if (cp[ny*OW+nx] > val) peak=false; - } - mp[gy*OW+gx] = peak ? 1 : 0; - } + for (int idx = 0; idx < N; ++idx) { + float mx = -1e30f; + for (int c = 0; c <= NC; ++c) mx = std::max(mx, g_out[c * N + idx]); + float sum = 0.0f; + for (int c = 0; c <= NC; ++c) { + const float e = std::exp(g_out[c * N + idx] - mx); + g_prob[c * N + idx] = e; + sum += e; } + const float inv = 1.0f / sum; + for (int c = 0; c <= NC; ++c) g_prob[c * N + idx] *= inv; } - // softmax + check per cell - for (int gy=0; gycl[c*N+idx]; - sm[c]=v; if(v>mx) mx=v; + bool peak = true; + for (int dy = -1; dy <= 1 && peak; ++dy) + for (int dx = -1; dx <= 1 && peak; ++dx) { + const int ny = gy + dy, nx = gx + dx; + if (ny < 0 || ny >= OH || nx < 0 || nx >= OW) continue; + if (g_prob[c * N + ny * OW + nx] > pc) peak = false; + } + if (!peak) continue; + + const float tx = clamp_f(g_out[(NC + 1) * N + idx], 0.0f, 1.0f); + const float ty = clamp_f(g_out[(NC + 2) * N + idx], 0.0f, 1.0f); + const float tw = std::max(g_out[(NC + 3) * N + idx], 0.5f); + const float th = std::max(g_out[(NC + 4) * N + idx], 0.5f); + const float cx = (gx + tx) * STRIDE, cy = (gy + ty) * STRIDE; + const float w = tw * STRIDE, h = th * STRIDE; + + boxes[cnt].cls = c; + boxes[cnt].conf = pc; + boxes[cnt].cx = cx; + boxes[cnt].cy = cy; + boxes[cnt].w = w; + boxes[cnt].h = h; + if (++cnt >= max_boxes) return cnt; } - for (int c=0; c<=NC; ++c) { sm[c]=fast_exp(sm[c]-mx); sum+=sm[c]; } - - // best class (excluding bg=NC), per-class threshold - int bc=-1; float bs=0; - for (int c=0; cbs && p>=th[c]) { bs=p; bc=c; } - } - if (bc<0) continue; - - float pw=std::max(1.0f, m->sz[0*N+idx]*RS[bc][0]); - float ph=std::max(1.0f, m->sz[1*N+idx]*RS[bc][1]); - boxes[cnt].cls=bc; boxes[cnt].conf=bs; - boxes[cnt].cx=((float)gx+0.5f)*STRIDE; - boxes[cnt].cy=((float)gy+0.5f)*STRIDE; - boxes[cnt].w=pw; boxes[cnt].h=ph; - cnt++; } } return cnt; } -// ============================================================ -// 预处理 LUT: uint8→float normalized -// ============================================================ -static float g_lut[256]; -static void init_lut() { - for (int i=0; i<256; ++i) g_lut[i] = (float)i / 255.0f; -} - -// ============================================================ -// 前向推理 — 模型计算体 (preproc 已由调用方完成) -// ============================================================ -static void model_compute() { - float* in = m->preproc; - - // stem: 3→6, s2 (fused) - conv_bn_relu(m->stem, in, wf("s.0.weight"), nullptr, - wf("s.1._alpha"), wf("s.1._beta"), 120, 160, 3, 6, 3, 2, 1, true); - - // blocks - se_block_v10(m->b1, m->stem, 6, 8, 60, 80, 1, "b1"); - se_block_v10(m->b2, m->b1, 8, 12, 60, 80, 2, "b2"); - se_block_v10(m->b3, m->b2, 12, 16, 30, 40, 2, "b3"); - se_block_v10(m->b4, m->b3, 16, 32, 15, 20, 1, "b4"); - se_block_v10(m->b5, m->b4, 32, 48, 15, 20, 1, "b5"); - se_block_v10(m->b6, m->b5, 48, 48, 15, 20, 1, "b6"); - - // shared: 48→24, 1×1 (fused) - conv_bn_relu(m->sh, m->b6, wf("sh.0.weight"), nullptr, - wf("sh.1._alpha"), wf("sh.1._beta"), 15, 20, 48, 24, 1, 1, 1, true); - - // heads (pure conv, no BN) - conv2d(m->cl, m->sh, wf("ch.weight"), wf("ch.bias"), 15, 20, 24, 5, 1, 1, 1); - conv2d(m->sz, m->sh, wf("sz.weight"), wf("sz.bias"), 15, 20, 24, 2, 1, 1, 1); -} - -// ── 自写 640×480 → 3×120×160 float planar (4×4 box avg + BGR→RGB + /255) ── -static void preproc_640(const uint8* bgr) { - float* in = m->preproc; - const int sw=640, sh=480; - for(int c=0;c<3;++c){ - int sc=2-c; - float* ch = in + c*120*160; - for(int y=0;y<120;++y){ - int iy=y*4; - for(int x=0;x<160;++x){ - int ix=x*4, sum=0; - for(int dy=0;dy<4;++dy) - for(int dx=0;dx<4;++dx) - sum += bgr[(iy+dy)*sw*3 + (ix+dx)*3 + sc]; - ch[y*160+x] = (float)sum * (1.0f/(16.0f*255.0f)); +// cv2.resize INTER_LINEAR compatible +static void resize_bilinear_hwc3(const uint8_t* src, int sw, int sh, uint8_t* dst) { + const float fx = (float)sw / (float)IN_W; + const float fy = (float)sh / (float)IN_H; + static int x0i[IN_W], x1i[IN_W]; + static float xw[IN_W]; + for (int x = 0; x < IN_W; ++x) { + float sx = (x + 0.5f) * fx - 0.5f; + if (sx < 0) sx = 0; + int x0 = (int)sx; + if (x0 > sw - 1) x0 = sw - 1; + int x1 = std::min(x0 + 1, sw - 1); + x0i[x] = x0 * 3; x1i[x] = x1 * 3; xw[x] = sx - (float)x0; + } + for (int y = 0; y < IN_H; ++y) { + float sy = (y + 0.5f) * fy - 0.5f; + if (sy < 0) sy = 0; + int y0 = (int)sy; + if (y0 > sh - 1) y0 = sh - 1; + const int y1 = std::min(y0 + 1, sh - 1); + const float wy = sy - (float)y0; + const uint8_t* r0 = src + (size_t)y0 * sw * 3; + const uint8_t* r1 = src + (size_t)y1 * sw * 3; + uint8_t* d = dst + y * IN_W * 3; + for (int x = 0; x < IN_W; ++x) { + const float wx = xw[x]; + const int a = x0i[x], b = x1i[x]; + for (int c = 0; c < 3; ++c) { + const float top = r0[a + c] + (r0[b + c] - r0[a + c]) * wx; + const float bot = r1[a + c] + (r1[b + c] - r1[a + c]) * wx; + const float v = top + (bot - top) * wy; + d[x * 3 + c] = (uint8_t)(v + 0.5f); } } } } -// ── 原版: 160×120 BGR → 3×120×160 float planar ── -static void preproc_160(const uint8* bgr) { - float* in = m->preproc; - for (int c=0; c<3; ++c) { - int sc=2-c; float* ch=in+c*120*160; - for (int y=0; y<120; ++y) { - const uint8* row=bgr+y*160*3; - for (int x=0; x<160; ++x) ch[y*160+x]=g_lut[row[x*3+sc]]; +static void preproc_160(const uint8_t* img, YoloPixFmt fmt) { + for (int c = 0; c < 3; ++c) { + const int sc = (fmt == YOLO_FMT_BGR) ? (2 - c) : c; + float* ch = g_preproc + c * IN_H * IN_W; + for (int y = 0; y < IN_H; ++y) { + const uint8_t* row = img + y * IN_W * 3; + for (int x = 0; x < IN_W; ++x) ch[y * IN_W + x] = g_lut[row[x * 3 + sc]]; } } } -// ── 内部: preproc + compute ── -static void forward(const uint8* bgr) { preproc_160(bgr); model_compute(); } - -// ============================================================ -// 接口 -// ============================================================ -static bool g_rdy=false; +static bool g_rdy = false; bool model_v10_init(const char* path) { - FILE* f=fopen(path,"rb"); - if(!f) return false; - fread(&gn,sizeof(int),1,f); - gw=new WT[gn]; - for (int i=0; i 4096) { std::fclose(f); return false; } + gw = new WT[gn]; + for (int i = 0; i < gn; ++i) { + WT& t = gw[i]; + int nl = 0; + bool ok = std::fread(&nl, 4, 1, f) == 1 && nl > 0 && nl < 127 + && std::fread(t.n, 1, nl, f) == (size_t)nl; + if (ok) { + t.n[nl] = 0; + ok = std::fread(&t.nd, 4, 1, f) == 1 && t.nd >= 0 && t.nd <= 4; + } + if (ok) { + int tot = 1; + for (int d = 0; d < t.nd && ok; ++d) { + ok = std::fread(&t.s[d], 4, 1, f) == 1 && t.s[d] > 0; + tot *= t.s[d]; + } + for (int d = t.nd; d < 4; ++d) t.s[d] = 1; + if (ok) { + t.d = new float[tot]; + ok = std::fread(t.d, 4, tot, f) == (size_t)tot; + } + } + if (!ok) { gn = (t.d ? i + 1 : i); std::fclose(f); model_v10_deinit(); return false; } } - fclose(f); + std::fclose(f); + bn_precompute(); - m=new(std::nothrow) M10(); - if(!m) { delete[] gw; gw=nullptr; return false; } - std::memset(m,0,sizeof(M10)); - g_rdy=true; + for (int i = 0; i < 256; ++i) g_lut[i] = (float)i / 255.0f; + + g_preproc = new(std::nothrow) float[3 * IN_H * IN_W]; + g_A = new(std::nothrow) float[BUF_FLOATS]; + g_B = new(std::nothrow) float[BUF_FLOATS]; + g_T = new(std::nothrow) float[BUF_FLOATS]; + g_out = new(std::nothrow) float[9 * 15 * 20]; + if (!g_preproc || !g_A || !g_B || !g_T || !g_out) { model_v10_deinit(); return false; } + + g_rdy = true; return true; } -int model_v10_detect(const uint8* bgr, int w, int h, DetectBoxV10* boxes, int max, const float* thresh) { - if(!g_rdy) return 0; - if(w==640 && h==480) { - preproc_640(bgr); - model_compute(); - return decode(boxes,max,thresh); +int model_v10_detect_fmt(const uint8_t* img, int w, int h, YoloPixFmt fmt, + DetectBoxV10* boxes, int max_boxes, float thr) { + if (!g_rdy || !img || !boxes || max_boxes <= 0 || w <= 1 || h <= 1) return 0; + + const uint8_t* net_in = img; + if (w != IN_W || h != IN_H) { + resize_bilinear_hwc3(img, w, h, g_resized); + net_in = g_resized; } - if(w!=160||h!=120) return 0; - forward(bgr); - return decode(boxes,max,thresh); + preproc_160(net_in, fmt); + model_compute(); + const int n = decode(boxes, max_boxes, thr); + + const float sx = (float)w / (float)IN_W; + const float sy = (float)h / (float)IN_H; + for (int i = 0; i < n; ++i) { + boxes[i].cx *= sx; boxes[i].w *= sx; + boxes[i].cy *= sy; boxes[i].h *= sy; + } + return n; +} + +int model_v10_detect(const uint8_t* img, int w, int h, DetectBoxV10* boxes, int max_boxes, const float* thresh) { + float thr = thresh ? thresh[0] : 0.6f; + return model_v10_detect_fmt(img, w, h, YOLO_FMT_BGR, boxes, max_boxes, thr); +} + +const float* model_v10_forward_debug(const float* chw) { + if (!g_rdy || !chw) return nullptr; + std::memcpy(g_preproc, chw, 3 * IN_H * IN_W * sizeof(float)); + model_compute(); + return g_out; +} + +void model_v10_set_dump_dir(const char* dir) { + if (dir) { std::strncpy(g_dump_dir, dir, sizeof(g_dump_dir) - 1); g_dump_dir[sizeof(g_dump_dir)-1] = 0; } + else g_dump_dir[0] = 0; } void model_v10_deinit() { - if(gw) { for(int i=0; i -#include -#include -#include -#include -#include -#include -#include -#include - -#include "MotorController.h" -#include "PwmController.h" -#include "GPIO.h" -#include - -cv::VideoCapture cap; - -std::string directory = "./image"; -int saved_frame_count; -void streamCapture(void) -{ - cv::Mat frame; - while (1) - { - cap.read(frame); - if (frame.empty()) - { - std::cerr << "Save Error: Frame is empty." << std::endl; - continue; - } - - // 构建文件名 - std::ostringstream filename; - filename << directory << "/image_" << std::setw(5) << std::setfill('0') << saved_frame_count << ".jpg"; - - saved_frame_count++; - // 保存图像 - cv::imwrite(filename.str(), frame); - } - return; -} - -GPIO mortorEN(73); -MotorController *motorController[2] = {nullptr, nullptr}; -PwmController servo(1, 0); - -void Init() -{ - mortorEN.setDirection("out"); - mortorEN.setValue(1); - const int pwmchip[2] = {8, 8}; - const int pwmnum[2] = {2, 1}; - const int gpioNum[2] = {12, 13}; - const int encoder_pwmchip[2] = {0, 3}; - const int encoder_gpioNum[2] = {75, 72}; - const int encoder_dir[2] = {1, -1}; - const unsigned int period_ns = 50000; // 20 kHz - - for (int i = 0; i < 2; ++i) - { - motorController[i] = new MotorController(pwmchip[i], pwmnum[i], gpioNum[i], period_ns, - 0, 0, 0, 0, - encoder_pwmchip[i], encoder_gpioNum[i], encoder_dir[i]); - motorController[i]->updateduty(0); - } - - servo.setPeriod(3040000); - servo.setDutyCycle(1520000); - servo.enable(); -} - -int main() -{ - // 打开默认摄像头(设备编号 0) - cap.open(0); - - // 检查摄像头是否成功打开 - if (!cap.isOpened()) - { - printf("无法打开摄像头\n"); - return -1; - } - - cap.set(cv::CAP_PROP_FRAME_WIDTH, 320); // 宽度 - cap.set(cv::CAP_PROP_FRAME_HEIGHT, 240); // 高度 - cap.set(cv::CAP_PROP_FOURCC, cv::VideoWriter::fourcc('M', 'J', 'P', 'G')); // 视频流格式 - cap.set(cv::CAP_PROP_AUTO_EXPOSURE, -1); // 设置自动曝光 - - std::thread camworker = std::thread(streamCapture); - - Init(); - - const int PORT = 8888; - const int BUFFER_SIZE = 2 * sizeof(float); - - // 创建UDP Socket - int sockfd = socket(AF_INET, SOCK_DGRAM, 0); - if (sockfd < 0) - { - std::cerr << "Socket creation failed" << std::endl; - return -1; - } - - // 绑定地址和端口 - sockaddr_in server_addr{}; - server_addr.sin_family = AF_INET; - server_addr.sin_addr.s_addr = INADDR_ANY; - server_addr.sin_port = htons(PORT); - - if (bind(sockfd, (sockaddr *)&server_addr, sizeof(server_addr))) - { - std::cerr << "Bind failed" << std::endl; - close(sockfd); - return -1; - } - - // 接收数据 - sockaddr_in client_addr{}; - socklen_t client_len = sizeof(client_addr); - char buffer[BUFFER_SIZE]; - - while (true) - { - ssize_t bytes_received = recvfrom( - sockfd, - buffer, - BUFFER_SIZE, - 0, - (sockaddr *)&client_addr, - &client_len); - - if (bytes_received == BUFFER_SIZE) - { - // 解析第一个float - uint32_t temp1; - memcpy(&temp1, buffer, 4); - temp1 = ntohl(temp1); - float val1; - memcpy(&val1, &temp1, 4); - - // 解析第二个float - uint32_t temp2; - memcpy(&temp2, buffer + 4, 4); - temp2 = ntohl(temp2); - float val2; - memcpy(&val2, &temp2, 4); - - std::cout << "收到数据: " - << "滑块1=" << val1 - << ", 滑块2=" << val2 - << std::endl; - - double servoduty_ns = (val1) / 100 * servo.readPeriod() + 1520000; - servo.setDutyCycle(servoduty_ns); - - motorController[0]->updateduty(val2); - motorController[1]->updateduty(val2); - } - else - { - std::cerr << "Invalid data size" << std::endl; - } - } - - close(sockfd); - return 0; -} diff --git a/vl53l0x_demo/CMakeLists.txt b/vl53l0x_demo/CMakeLists.txt deleted file mode 100644 index 0fa3e2c..0000000 --- a/vl53l0x_demo/CMakeLists.txt +++ /dev/null @@ -1,10 +0,0 @@ -cmake_minimum_required(VERSION 3.5.0) -project(vl53l0x_demo VERSION 0.1 LANGUAGES CXX) - -set(CMAKE_CXX_STANDARD 17) - -include_directories(${CMAKE_SOURCE_DIR}/lib) -include_directories(${CMAKE_SOURCE_DIR}/src) - -add_executable(vl53l0x_demo vl53l0x_demo.cpp) -target_link_libraries(vl53l0x_demo common_lib pthread) diff --git a/vl53l0x_demo/vl53l0x_demo.cpp b/vl53l0x_demo/vl53l0x_demo.cpp deleted file mode 100644 index 821bbc8..0000000 --- a/vl53l0x_demo/vl53l0x_demo.cpp +++ /dev/null @@ -1,44 +0,0 @@ -/* - * VL53L0X 激光测距 demo — 持续读取距离并打印 - */ -#include -#include -#include -#include -#include "vl53l0x.h" - -std::atomic running(true); - -void onSignal(int) -{ - running = false; -} - -int main() -{ - std::signal(SIGINT, onSignal); - - VL53L0X tof; - if (!tof.init()) - { - std::cerr << "VL53L0X 初始化失败" << std::endl; - return 1; - } - - VL53L0X_RangingMeasurementData_t data; - while (running) - { - if (tof.readRange(data)) - { - std::cout << "dist=" << data.RangeMilliMeter << "mm" - << " status=" << (int)data.RangeStatus - << " signal=" << data.SignalRateRtnMegaCps - << std::endl; - } - std::this_thread::sleep_for(std::chrono::milliseconds(100)); - } - - tof.stop(); - std::cout << "VL53L0X demo exit" << std::endl; - return 0; -} diff --git a/vl53l0x_setup.sh b/vl53l0x_setup.sh deleted file mode 100644 index 560631d..0000000 --- a/vl53l0x_setup.sh +++ /dev/null @@ -1,32 +0,0 @@ -#!/bin/sh -# VL53L0X 激光测距初始化脚本 -# GPIO 50=SCL, GPIO 51=SDA -> I2C2_SCL[1]/I2C2_SDA[1] - -echo "[VL53L0X] === 检查/初始化激光测距 ===" - -# 1. 检查设备节点是否已存在 -if [ -c /dev/stmvl53l0x_ranging ]; then - echo "[VL53L0X] /dev/stmvl53l0x_ranging 已存在" -else - echo "[VL53L0X] /dev/stmvl53l0x_ranging 不存在,尝试加载驱动..." - modprobe stmvl53l0x 2>/dev/null || modprobe vl53l0x 2>/dev/null - if [ ! -c /dev/stmvl53l0x_ranging ]; then - echo "[VL53L0X] 驱动未加载,需要检查内核配置或设备树" - fi -fi - -# 2. 设置 GPIO 50/51 为 I2C 功能(尝试通过 debugfs pinctrl) -PINMUX=/sys/kernel/debug/pinctrl/zx296718-pinctrl -if [ -d "$PINMUX" ]; then - echo "[VL53L0X] pinctrl debugfs 可用: $PINMUX" - ls "$PINMUX"/ -else - echo "[VL53L0X] pinctrl debugfs 不可用" -fi - -# 3. 最终确认 -if [ -c /dev/stmvl53l0x_ranging ]; then - echo "[VL53L0X] OK — 设备就绪,可以使用" -else - echo "[VL53L0X] FAIL — 需要先配置内核/设备树中的 I2C 引脚复用" -fi diff --git a/vl53l0x_test/Android.mk b/vl53l0x_test/Android.mk deleted file mode 100644 index 2a469ee..0000000 --- a/vl53l0x_test/Android.mk +++ /dev/null @@ -1,36 +0,0 @@ -LOCAL_PATH:= $(call my-dir) - - -include $(CLEAR_VARS) - -LOCAL_MODULE_TAGS := eng -LOCAL_SRC_FILES:=vl53l0x_test.c -LOCAL_MODULE:=vl53l0x_test -LOCAL_CPPFLAGS += -DANDROID -LOCAL_SHARED_LIBRARIES:=libc -LOCAL_STATIC_LIBRARIES := -LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include -include $(BUILD_EXECUTABLE) - -include $(CLEAR_VARS) - -LOCAL_MODULE_TAGS := eng -LOCAL_SRC_FILES:=vl53l0x_reg.c -LOCAL_MODULE:=vl53l0x_reg -LOCAL_CPPFLAGS += -DANDROID -LOCAL_SHARED_LIBRARIES:=libc -LOCAL_STATIC_LIBRARIES := -LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include -include $(BUILD_EXECUTABLE) - -include $(CLEAR_VARS) - -LOCAL_MODULE_TAGS := eng -LOCAL_SRC_FILES:=vl53l0x_parameter.c -LOCAL_MODULE:=vl53l0x_parameter -LOCAL_CPPFLAGS += -DANDROID -LOCAL_SHARED_LIBRARIES:=libc -LOCAL_STATIC_LIBRARIES := -LOCAL_C_INCLUDES += $(LOCAL_PATH) $(LOCAL_PATH)/$(KERNEL_DIR)/include -include $(BUILD_EXECUTABLE) - diff --git a/vl53l0x_test/Makefile b/vl53l0x_test/Makefile deleted file mode 100644 index 04b68f3..0000000 --- a/vl53l0x_test/Makefile +++ /dev/null @@ -1,15 +0,0 @@ -CFLAGS=-I$(ROOTFS_INC) -I./ -CC=/opt/loongson-gnu-toolchain-8.3-x86_64-loongarch64-linux-gnu-rc1.6/bin/loongarch64-linux-gnu-gcc -all: vl53l0x_test vl53l0x_reg vl53l0x_parameter -vl53l0x_test: vl53l0x_test.o - $(CC) -o vl53l0x_test vl53l0x_test.o $(CFLAGS) -vl53l0x_reg: vl53l0x_reg.o - $(CC) -o vl53l0x_reg vl53l0x_reg.o $(CFLAGS) -vl53l0x_parameter: vl53l0x_parameter.o - $(CC) -o vl53l0x_parameter vl53l0x_parameter.o $(CFLAGS) - -.PHONY: clean - -clean: - rm -f ./*.o *~ core vl53l0x_test vl53l0x_reg vl53l0x_parameter - diff --git a/vl53l0x_test/vl53l0x_def.h b/vl53l0x_test/vl53l0x_def.h deleted file mode 100644 index cc04929..0000000 --- a/vl53l0x_test/vl53l0x_def.h +++ /dev/null @@ -1,640 +0,0 @@ -/******************************************************************************* -Copyright 2016, STMicroelectronics International N.V. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of STMicroelectronics nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND -NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS ARE DISCLAIMED. -IN NO EVENT SHALL STMICROELECTRONICS INTERNATIONAL N.V. BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*******************************************************************************/ - -/** - * @file VL53L0X_def.h - * - * @brief Type definitions for VL53L0X API. - * - */ - - -#ifndef _VL53L0X_DEF_H_ -#define _VL53L0X_DEF_H_ - - -#ifdef __cplusplus -extern "C" { -#endif - -/** @defgroup VL53L0X_globaldefine_group VL53L0X Defines - * @brief VL53L0X Defines - * @{ - */ - - -/** PAL SPECIFICATION major version */ -#define VL53L0X10_SPECIFICATION_VER_MAJOR 1 -/** PAL SPECIFICATION minor version */ -#define VL53L0X10_SPECIFICATION_VER_MINOR 2 -/** PAL SPECIFICATION sub version */ -#define VL53L0X10_SPECIFICATION_VER_SUB 7 -/** PAL SPECIFICATION sub version */ -#define VL53L0X10_SPECIFICATION_VER_REVISION 1440 - -/** VL53L0X PAL IMPLEMENTATION major version */ -#define VL53L0X10_IMPLEMENTATION_VER_MAJOR 1 -/** VL53L0X PAL IMPLEMENTATION minor version */ -#define VL53L0X10_IMPLEMENTATION_VER_MINOR 0 -/** VL53L0X PAL IMPLEMENTATION sub version */ -#define VL53L0X10_IMPLEMENTATION_VER_SUB 9 -/** VL53L0X PAL IMPLEMENTATION sub version */ -#define VL53L0X10_IMPLEMENTATION_VER_REVISION 3673 - -/** PAL SPECIFICATION major version */ -#define VL53L0X_SPECIFICATION_VER_MAJOR 1 -/** PAL SPECIFICATION minor version */ -#define VL53L0X_SPECIFICATION_VER_MINOR 2 -/** PAL SPECIFICATION sub version */ -#define VL53L0X_SPECIFICATION_VER_SUB 7 -/** PAL SPECIFICATION sub version */ -#define VL53L0X_SPECIFICATION_VER_REVISION 1440 - -/** VL53L0X PAL IMPLEMENTATION major version */ -#define VL53L0X_IMPLEMENTATION_VER_MAJOR 1 -/** VL53L0X PAL IMPLEMENTATION minor version */ -#define VL53L0X_IMPLEMENTATION_VER_MINOR 0 -/** VL53L0X PAL IMPLEMENTATION sub version */ -#define VL53L0X_IMPLEMENTATION_VER_SUB 1 -/** VL53L0X PAL IMPLEMENTATION sub version */ -#define VL53L0X_IMPLEMENTATION_VER_REVISION 4606 -#define VL53L0X_DEFAULT_MAX_LOOP 200 -#define VL53L0X_MAX_STRING_LENGTH 32 - - -#include "vl53l0x_device.h" -#include "vl53l0x_types.h" - - -/**************************************** - * PRIVATE define do not edit - ****************************************/ - -/** @brief Defines the parameters of the Get Version Functions - */ -typedef struct { - uint32_t revision; /*!< revision number */ - uint8_t major; /*!< major number */ - uint8_t minor; /*!< minor number */ - uint8_t build; /*!< build number */ -} VL53L0X_Version_t; - - -/** @brief Defines the parameters of the Get Device Info Functions - */ -typedef struct { - char Name[VL53L0X_MAX_STRING_LENGTH]; - /*!< Name of the Device e.g. Left_Distance */ - char Type[VL53L0X_MAX_STRING_LENGTH]; - /*!< Type of the Device e.g VL53L0X */ - char ProductId[VL53L0X_MAX_STRING_LENGTH]; - /*!< Product Identifier String */ - uint8_t ProductType; - /*!< Product Type, VL53L0X = 1, VL53L1 = 2 */ - uint8_t ProductRevisionMajor; - /*!< Product revision major */ - uint8_t ProductRevisionMinor; - /*!< Product revision minor */ -} VL53L0X_DeviceInfo_t; - - -/** @defgroup VL53L0X_define_Error_group Error and Warning code returned by API - * The following DEFINE are used to identify the PAL ERROR - * @{ - */ - -typedef int8_t VL53L0X_Error; - -#define VL53L0X_ERROR_NONE ((VL53L0X_Error) 0) -#define VL53L0X_ERROR_CALIBRATION_WARNING ((VL53L0X_Error) -1) - /*!< Warning invalid calibration data may be in used - \a VL53L0X_InitData() - \a VL53L0X_GetOffsetCalibrationData - \a VL53L0X_SetOffsetCalibrationData */ -#define VL53L0X_ERROR_MIN_CLIPPED ((VL53L0X_Error) -2) - /*!< Warning parameter passed was clipped to min before to be applied */ - -#define VL53L0X_ERROR_UNDEFINED ((VL53L0X_Error) -3) - /*!< Unqualified error */ -#define VL53L0X_ERROR_INVALID_PARAMS ((VL53L0X_Error) -4) - /*!< Parameter passed is invalid or out of range */ -#define VL53L0X_ERROR_NOT_SUPPORTED ((VL53L0X_Error) -5) - /*!< Function is not supported in current mode or configuration */ -#define VL53L0X_ERROR_RANGE_ERROR ((VL53L0X_Error) -6) - /*!< Device report a ranging error interrupt status */ -#define VL53L0X_ERROR_TIME_OUT ((VL53L0X_Error) -7) - /*!< Aborted due to time out */ -#define VL53L0X_ERROR_MODE_NOT_SUPPORTED ((VL53L0X_Error) -8) - /*!< Asked mode is not supported by the device */ -#define VL53L0X_ERROR_BUFFER_TOO_SMALL ((VL53L0X_Error) -9) - /*!< ... */ -#define VL53L0X_ERROR_GPIO_NOT_EXISTING ((VL53L0X_Error) -10) - /*!< User tried to setup a non-existing GPIO pin */ -#define VL53L0X_ERROR_GPIO_FUNCTIONALITY_NOT_SUPPORTED ((VL53L0X_Error) -11) - /*!< unsupported GPIO functionality */ -#define VL53L0X_ERROR_INTERRUPT_NOT_CLEARED ((VL53L0X_Error) -12) - /*!< Error during interrupt clear */ -#define VL53L0X_ERROR_CONTROL_INTERFACE ((VL53L0X_Error) -20) - /*!< error reported from IO functions */ -#define VL53L0X_ERROR_INVALID_COMMAND ((VL53L0X_Error) -30) - /*!< The command is not allowed in the current device state - * (power down) */ -#define VL53L0X_ERROR_DIVISION_BY_ZERO ((VL53L0X_Error) -40) - /*!< In the function a division by zero occurs */ -#define VL53L0X_ERROR_REF_SPAD_INIT ((VL53L0X_Error) -50) - /*!< Error during reference SPAD initialization */ -#define VL53L0X_ERROR_NOT_IMPLEMENTED ((VL53L0X_Error) -99) - /*!< Tells requested functionality has not been implemented yet or - * not compatible with the device */ -/** @} VL53L0X_define_Error_group */ - - -/** @defgroup VL53L0X_define_DeviceModes_group Defines Device modes - * Defines all possible modes for the device - * @{ - */ -typedef uint8_t VL53L0X_DeviceModes; - -#define VL53L0X_DEVICEMODE_SINGLE_RANGING ((VL53L0X_DeviceModes) 0) -#define VL53L0X_DEVICEMODE_CONTINUOUS_RANGING ((VL53L0X_DeviceModes) 1) -#define VL53L0X_DEVICEMODE_SINGLE_HISTOGRAM ((VL53L0X_DeviceModes) 2) -#define VL53L0X_DEVICEMODE_CONTINUOUS_TIMED_RANGING ((VL53L0X_DeviceModes) 3) -#define VL53L0X_DEVICEMODE_SINGLE_ALS ((VL53L0X_DeviceModes) 10) -#define VL53L0X_DEVICEMODE_GPIO_DRIVE ((VL53L0X_DeviceModes) 20) -#define VL53L0X_DEVICEMODE_GPIO_OSC ((VL53L0X_DeviceModes) 21) - /* ... Modes to be added depending on device */ -/** @} VL53L0X_define_DeviceModes_group */ - - - -/** @defgroup VL53L0X_define_HistogramModes_group Defines Histogram modes - * Defines all possible Histogram modes for the device - * @{ - */ -typedef uint8_t VL53L0X_HistogramModes; - -#define VL53L0X_HISTOGRAMMODE_DISABLED ((VL53L0X_HistogramModes) 0) - /*!< Histogram Disabled */ -#define VL53L0X_HISTOGRAMMODE_REFERENCE_ONLY ((VL53L0X_HistogramModes) 1) - /*!< Histogram Reference array only */ -#define VL53L0X_HISTOGRAMMODE_RETURN_ONLY ((VL53L0X_HistogramModes) 2) - /*!< Histogram Return array only */ -#define VL53L0X_HISTOGRAMMODE_BOTH ((VL53L0X_HistogramModes) 3) - /*!< Histogram both Reference and Return Arrays */ - /* ... Modes to be added depending on device */ -/** @} VL53L0X_define_HistogramModes_group */ - - -/** @defgroup VL53L0X_define_PowerModes_group List of available Power Modes - * List of available Power Modes - * @{ - */ - -typedef uint8_t VL53L0X_PowerModes; - -#define VL53L0X_POWERMODE_STANDBY_LEVEL1 ((VL53L0X_PowerModes) 0) - /*!< Standby level 1 */ -#define VL53L0X_POWERMODE_STANDBY_LEVEL2 ((VL53L0X_PowerModes) 1) - /*!< Standby level 2 */ -#define VL53L0X_POWERMODE_IDLE_LEVEL1 ((VL53L0X_PowerModes) 2) - /*!< Idle level 1 */ -#define VL53L0X_POWERMODE_IDLE_LEVEL2 ((VL53L0X_PowerModes) 3) - /*!< Idle level 2 */ - -/** @} VL53L0X_define_PowerModes_group */ - - -/** @brief Defines all parameters for the device - */ -typedef struct { - VL53L0X_DeviceModes DeviceMode; - /*!< Defines type of measurement to be done for the next measure */ - VL53L0X_HistogramModes HistogramMode; - /*!< Defines type of histogram measurement to be done for the next - * measure */ - uint32_t MeasurementTimingBudgetMicroSeconds; - /*!< Defines the allowed total time for a single measurement */ - uint32_t InterMeasurementPeriodMilliSeconds; - /*!< Defines time between two consecutive measurements (between two - * measurement starts). If set to 0 means back-to-back mode */ - uint8_t XTalkCompensationEnable; - /*!< Tells if Crosstalk compensation shall be enable or not */ - uint16_t XTalkCompensationRangeMilliMeter; - /*!< CrossTalk compensation range in millimeter */ - FixPoint1616_t XTalkCompensationRateMegaCps; - /*!< CrossTalk compensation rate in Mega counts per seconds. - * Expressed in 16.16 fixed point format. */ - int32_t RangeOffsetMicroMeters; - /*!< Range offset adjustment (mm). */ - - uint8_t LimitChecksEnable[VL53L0X_CHECKENABLE_NUMBER_OF_CHECKS]; - /*!< This Array store all the Limit Check enable for this device. */ - uint8_t LimitChecksStatus[VL53L0X_CHECKENABLE_NUMBER_OF_CHECKS]; - /*!< This Array store all the Status of the check linked to last - * measurement. */ - FixPoint1616_t LimitChecksValue[VL53L0X_CHECKENABLE_NUMBER_OF_CHECKS]; - /*!< This Array store all the Limit Check value for this device */ - - uint8_t WrapAroundCheckEnable; - /*!< Tells if Wrap Around Check shall be enable or not */ -} VL53L0X_DeviceParameters_t; - - -/** @defgroup VL53L0X_define_State_group Defines the current status of the device - * Defines the current status of the device - * @{ - */ - -typedef uint8_t VL53L0X_State; - -#define VL53L0X_STATE_POWERDOWN ((VL53L0X_State) 0) - /*!< Device is in HW reset */ -#define VL53L0X_STATE_WAIT_STATICINIT ((VL53L0X_State) 1) - /*!< Device is initialized and wait for static initialization */ -#define VL53L0X_STATE_STANDBY ((VL53L0X_State) 2) - /*!< Device is in Low power Standby mode */ -#define VL53L0X_STATE_IDLE ((VL53L0X_State) 3) - /*!< Device has been initialized and ready to do measurements */ -#define VL53L0X_STATE_RUNNING ((VL53L0X_State) 4) - /*!< Device is performing measurement */ -#define VL53L0X_STATE_UNKNOWN ((VL53L0X_State) 98) - /*!< Device is in unknown state and need to be rebooted */ -#define VL53L0X_STATE_ERROR ((VL53L0X_State) 99) - /*!< Device is in error state and need to be rebooted */ - -/** @} VL53L0X_define_State_group */ - - -/** @brief Structure containing the Dmax computation parameters and data - */ -typedef struct { - int32_t AmbTuningWindowFactor_K; - /*!< internal algo tuning (*1000) */ - int32_t RetSignalAt0mm; - /*!< intermediate dmax computation value caching */ -} VL53L0X_DMaxData_t; - -/** - * @struct VL53L0X_RangeData_t - * @brief Range measurement data. - */ -typedef struct { - uint32_t TimeStamp; /*!< 32-bit time stamp. */ - uint32_t MeasurementTimeUsec; - /*!< Give the Measurement time needed by the device to do the - * measurement.*/ - - - uint16_t RangeMilliMeter; /*!< range distance in millimeter. */ - - uint16_t RangeDMaxMilliMeter; - /*!< Tells what is the maximum detection distance of the device - * in current setup and environment conditions (Filled when - * applicable) */ - - FixPoint1616_t SignalRateRtnMegaCps; - /*!< Return signal rate (MCPS)\n these is a 16.16 fix point - * value, which is effectively a measure of target - * reflectance.*/ - FixPoint1616_t AmbientRateRtnMegaCps; - /*!< Return ambient rate (MCPS)\n these is a 16.16 fix point - * value, which is effectively a measure of the ambien - * t light.*/ - - uint16_t EffectiveSpadRtnCount; - /*!< Return the effective SPAD count for the return signal. - * To obtain Real value it should be divided by 256 */ - - uint8_t ZoneId; - /*!< Denotes which zone and range scheduler stage the range - * data relates to. */ - uint8_t RangeFractionalPart; - /*!< Fractional part of range distance. Final value is a - * FixPoint168 value. */ - uint8_t RangeStatus; - /*!< Range Status for the current measurement. This is device - * dependent. Value = 0 means value is valid. - * See \ref RangeStatusPage */ -} VL53L0X_RangingMeasurementData_t; - - -#define VL53L0X_HISTOGRAM_BUFFER_SIZE 24 - -/** - * @struct VL53L0X_HistogramData_t - * @brief Histogram measurement data. - */ -typedef struct { - /* Histogram Measurement data */ - uint32_t HistogramData[VL53L0X_HISTOGRAM_BUFFER_SIZE]; - /*!< Histogram data */ - uint8_t HistogramType; /*!< Indicate the types of histogram data : - Return only, Reference only, both Return and Reference */ - uint8_t FirstBin; /*!< First Bin value */ - uint8_t BufferSize; /*!< Buffer Size - Set by the user.*/ - uint8_t NumberOfBins; - /*!< Number of bins filled by the histogram measurement */ - - VL53L0X_DeviceError ErrorStatus; - /*!< Error status of the current measurement. \n - see @a ::VL53L0X_DeviceError @a VL53L0X_GetStatusErrorString() */ -} VL53L0X_HistogramMeasurementData_t; - -#define VL53L0X_REF_SPAD_BUFFER_SIZE 6 - -/** - * @struct VL53L0X_SpadData_t - * @brief Spad Configuration Data. - */ -typedef struct { - uint8_t RefSpadEnables[VL53L0X_REF_SPAD_BUFFER_SIZE]; - /*!< Reference Spad Enables */ - uint8_t RefGoodSpadMap[VL53L0X_REF_SPAD_BUFFER_SIZE]; - /*!< Reference Spad Good Spad Map */ -} VL53L0X_SpadData_t; - -typedef struct { - FixPoint1616_t OscFrequencyMHz; /* Frequency used */ - - uint16_t LastEncodedTimeout; - /* last encoded Time out used for timing budget*/ - - VL53L0X_GpioFunctionality Pin0GpioFunctionality; - /* store the functionality of the GPIO: pin0 */ - - uint32_t FinalRangeTimeoutMicroSecs; - /*!< Execution time of the final range*/ - uint8_t FinalRangeVcselPulsePeriod; - /*!< Vcsel pulse period (pll clocks) for the final range measurement*/ - uint32_t PreRangeTimeoutMicroSecs; - /*!< Execution time of the final range*/ - uint8_t PreRangeVcselPulsePeriod; - /*!< Vcsel pulse period (pll clocks) for the pre-range measurement*/ - - uint16_t SigmaEstRefArray; - /*!< Reference array sigma value in 1/100th of [mm] e.g. 100 = 1mm */ - uint16_t SigmaEstEffPulseWidth; - /*!< Effective Pulse width for sigma estimate in 1/100th - * of ns e.g. 900 = 9.0ns */ - uint16_t SigmaEstEffAmbWidth; - /*!< Effective Ambient width for sigma estimate in 1/100th of ns - * e.g. 500 = 5.0ns */ - - - uint8_t ReadDataFromDeviceDone; /* Indicate if read from device has - been done (==1) or not (==0) */ - uint8_t ModuleId; /* Module ID */ - uint8_t Revision; /* test Revision */ - char ProductId[VL53L0X_MAX_STRING_LENGTH]; - /* Product Identifier String */ - uint8_t ReferenceSpadCount; /* used for ref spad management */ - uint8_t ReferenceSpadType; /* used for ref spad management */ - uint8_t RefSpadsInitialised; /* reports if ref spads are initialised. */ - uint32_t PartUIDUpper; /*!< Unique Part ID Upper */ - uint32_t PartUIDLower; /*!< Unique Part ID Lower */ - FixPoint1616_t SignalRateMeasFixed400mm; /*!< Peek Signal rate - at 400 mm*/ - -} VL53L0X_DeviceSpecificParameters_t; - -/** - * @struct VL53L0X_DevData_t - * - * @brief VL53L0X PAL device ST private data structure \n - * End user should never access any of these field directly - * - * These must never access directly but only via macro - */ -typedef struct { - VL53L0X_DMaxData_t DMaxData; - /*!< Dmax Data */ - int32_t Part2PartOffsetNVMMicroMeter; - /*!< backed up NVM value */ - int32_t Part2PartOffsetAdjustmentNVMMicroMeter; - /*!< backed up NVM value representing additional offset adjustment */ - VL53L0X_DeviceParameters_t CurrentParameters; - /*!< Current Device Parameter */ - VL53L0X_RangingMeasurementData_t LastRangeMeasure; - /*!< Ranging Data */ - VL53L0X_HistogramMeasurementData_t LastHistogramMeasure; - /*!< Histogram Data */ - VL53L0X_DeviceSpecificParameters_t DeviceSpecificParameters; - /*!< Parameters specific to the device */ - VL53L0X_SpadData_t SpadData; - /*!< Spad Data */ - uint8_t SequenceConfig; - /*!< Internal value for the sequence config */ - uint8_t RangeFractionalEnable; - /*!< Enable/Disable fractional part of ranging data */ - VL53L0X_State PalState; - /*!< Current state of the PAL for this device */ - VL53L0X_PowerModes PowerMode; - /*!< Current Power Mode */ - uint16_t SigmaEstRefArray; - /*!< Reference array sigma value in 1/100th of [mm] e.g. 100 = 1mm */ - uint16_t SigmaEstEffPulseWidth; - /*!< Effective Pulse width for sigma estimate in 1/100th - * of ns e.g. 900 = 9.0ns */ - uint16_t SigmaEstEffAmbWidth; - /*!< Effective Ambient width for sigma estimate in 1/100th of ns - * e.g. 500 = 5.0ns */ - uint8_t StopVariable; - /*!< StopVariable used during the stop sequence */ - uint16_t targetRefRate; - /*!< Target Ambient Rate for Ref spad management */ - FixPoint1616_t SigmaEstimate; - /*!< Sigma Estimate - based on ambient & VCSEL rates and - * signal_total_events */ - FixPoint1616_t SignalEstimate; - /*!< Signal Estimate - based on ambient & VCSEL rates and cross talk */ - FixPoint1616_t LastSignalRefMcps; - /*!< Latest Signal ref in Mcps */ - uint8_t *pTuningSettingsPointer; - /*!< Pointer for Tuning Settings table */ - uint8_t UseInternalTuningSettings; - /*!< Indicate if we use Tuning Settings table */ - uint16_t LinearityCorrectiveGain; - /*!< Linearity Corrective Gain value in x1000 */ - uint16_t DmaxCalRangeMilliMeter; - /*!< Dmax Calibration Range millimeter */ - FixPoint1616_t DmaxCalSignalRateRtnMegaCps; - /*!< Dmax Calibration Signal Rate Return MegaCps */ - -} VL53L0X_DevData_t; - - -/** @defgroup VL53L0X_define_InterruptPolarity_group Defines the Polarity - * of the Interrupt - * Defines the Polarity of the Interrupt - * @{ - */ -typedef uint8_t VL53L0X_InterruptPolarity; - -#define VL53L0X_INTERRUPTPOLARITY_LOW ((VL53L0X_InterruptPolarity) 0) -/*!< Set active low polarity best setup for falling edge. */ -#define VL53L0X_INTERRUPTPOLARITY_HIGH ((VL53L0X_InterruptPolarity) 1) -/*!< Set active high polarity best setup for rising edge. */ - -/** @} VL53L0X_define_InterruptPolarity_group */ - - -/** @defgroup VL53L0X_define_VcselPeriod_group Vcsel Period Defines - * Defines the range measurement for which to access the vcsel period. - * @{ - */ -typedef uint8_t VL53L0X_VcselPeriod; - -#define VL53L0X_VCSEL_PERIOD_PRE_RANGE ((VL53L0X_VcselPeriod) 0) -/*!>9)&0xFFFF) -#define VL53L0X_FIXPOINT97TOFIXPOINT1616(Value) \ - (FixPoint1616_t)(Value<<9) - -#define VL53L0X_FIXPOINT1616TOFIXPOINT88(Value) \ - (uint16_t)((Value>>8)&0xFFFF) -#define VL53L0X_FIXPOINT88TOFIXPOINT1616(Value) \ - (FixPoint1616_t)(Value<<8) - -#define VL53L0X_FIXPOINT1616TOFIXPOINT412(Value) \ - (uint16_t)((Value>>4)&0xFFFF) -#define VL53L0X_FIXPOINT412TOFIXPOINT1616(Value) \ - (FixPoint1616_t)(Value<<4) - -#define VL53L0X_FIXPOINT1616TOFIXPOINT313(Value) \ - (uint16_t)((Value>>3)&0xFFFF) -#define VL53L0X_FIXPOINT313TOFIXPOINT1616(Value) \ - (FixPoint1616_t)(Value<<3) - -#define VL53L0X_FIXPOINT1616TOFIXPOINT08(Value) \ - (uint8_t)((Value>>8)&0x00FF) -#define VL53L0X_FIXPOINT08TOFIXPOINT1616(Value) \ - (FixPoint1616_t)(Value<<8) - -#define VL53L0X_FIXPOINT1616TOFIXPOINT53(Value) \ - (uint8_t)((Value>>13)&0x00FF) -#define VL53L0X_FIXPOINT53TOFIXPOINT1616(Value) \ - (FixPoint1616_t)(Value<<13) - -#define VL53L0X_FIXPOINT1616TOFIXPOINT102(Value) \ - (uint16_t)((Value>>14)&0x0FFF) -#define VL53L0X_FIXPOINT102TOFIXPOINT1616(Value) \ - (FixPoint1616_t)(Value<<12) - -#define VL53L0X_MAKEUINT16(lsb, msb) (uint16_t)((((uint16_t)msb)<<8) + \ - (uint16_t)lsb) - -/** @} VL53L0X_define_GeneralMacro_group */ - -/** @} VL53L0X_globaldefine_group */ - - - - - - - -#ifdef __cplusplus -} -#endif - - -#endif /* _VL53L0X_DEF_H_ */ diff --git a/vl53l0x_test/vl53l0x_device.h b/vl53l0x_test/vl53l0x_device.h deleted file mode 100644 index dc010c2..0000000 --- a/vl53l0x_test/vl53l0x_device.h +++ /dev/null @@ -1,257 +0,0 @@ -/******************************************************************************* -Copyright 2016, STMicroelectronics International N.V. -All rights reserved. - -Redistribution and use in source and binary forms, with or without -modification, are permitted provided that the following conditions are met: - * Redistributions of source code must retain the above copyright - notice, this list of conditions and the following disclaimer. - * Redistributions in binary form must reproduce the above copyright - notice, this list of conditions and the following disclaimer in the - documentation and/or other materials provided with the distribution. - * Neither the name of STMicroelectronics nor the - names of its contributors may be used to endorse or promote products - derived from this software without specific prior written permission. - -THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND -ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED -WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE, AND -NON-INFRINGEMENT OF INTELLECTUAL PROPERTY RIGHTS ARE DISCLAIMED. -IN NO EVENT SHALL STMICROELECTRONICS INTERNATIONAL N.V. BE LIABLE FOR ANY -DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES -(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; -LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND -ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT -(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS -SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. -*******************************************************************************/ - -/** - * Device specific defines. To be adapted by implementer for the targeted - * device. - */ - -#ifndef _VL53L0X_DEVICE_H_ -#define _VL53L0X_DEVICE_H_ - -#include "vl53l0x_types.h" - - -/** @defgroup VL53L0X_DevSpecDefines_group VL53L0X cut1.1 Device Specific Defines - * @brief VL53L0X cut1.1 Device Specific Defines - * @{ - */ - - -/** @defgroup VL53L0X_DeviceError_group Device Error - * @brief Device Error code - * - * This enum is Device specific it should be updated in the implementation - * Use @a VL53L0X_GetStatusErrorString() to get the string. - * It is related to Status Register of the Device. - * @{ - */ -typedef uint8_t VL53L0X_DeviceError; - -#define VL53L0X_DEVICEERROR_NONE ((VL53L0X_DeviceError) 0) - /*!< 0 NoError */ -#define VL53L0X_DEVICEERROR_VCSELCONTINUITYTESTFAILURE ((VL53L0X_DeviceError) 1) -#define VL53L0X_DEVICEERROR_VCSELWATCHDOGTESTFAILURE ((VL53L0X_DeviceError) 2) -#define VL53L0X_DEVICEERROR_NOVHVVALUEFOUND ((VL53L0X_DeviceError) 3) -#define VL53L0X_DEVICEERROR_MSRCNOTARGET ((VL53L0X_DeviceError) 4) -#define VL53L0X_DEVICEERROR_SNRCHECK ((VL53L0X_DeviceError) 5) -#define VL53L0X_DEVICEERROR_RANGEPHASECHECK ((VL53L0X_DeviceError) 6) -#define VL53L0X_DEVICEERROR_SIGMATHRESHOLDCHECK ((VL53L0X_DeviceError) 7) -#define VL53L0X_DEVICEERROR_TCC ((VL53L0X_DeviceError) 8) -#define VL53L0X_DEVICEERROR_PHASECONSISTENCY ((VL53L0X_DeviceError) 9) -#define VL53L0X_DEVICEERROR_MINCLIP ((VL53L0X_DeviceError) 10) -#define VL53L0X_DEVICEERROR_RANGECOMPLETE ((VL53L0X_DeviceError) 11) -#define VL53L0X_DEVICEERROR_ALGOUNDERFLOW ((VL53L0X_DeviceError) 12) -#define VL53L0X_DEVICEERROR_ALGOOVERFLOW ((VL53L0X_DeviceError) 13) -#define VL53L0X_DEVICEERROR_RANGEIGNORETHRESHOLD ((VL53L0X_DeviceError) 14) - -/** @} end of VL53L0X_DeviceError_group */ - - -/** @defgroup VL53L0X_CheckEnable_group Check Enable list - * @brief Check Enable code - * - * Define used to specify the LimitCheckId. - * Use @a VL53L0X_GetLimitCheckInfo() to get the string. - * @{ - */ - -#define VL53L0X_CHECKENABLE_SIGMA_FINAL_RANGE 0 -#define VL53L0X_CHECKENABLE_SIGNAL_RATE_FINAL_RANGE 1 -#define VL53L0X_CHECKENABLE_SIGNAL_REF_CLIP 2 -#define VL53L0X_CHECKENABLE_RANGE_IGNORE_THRESHOLD 3 -#define VL53L0X_CHECKENABLE_SIGNAL_RATE_MSRC 4 -#define VL53L0X_CHECKENABLE_SIGNAL_RATE_PRE_RANGE 5 - -#define VL53L0X_CHECKENABLE_NUMBER_OF_CHECKS 6 - -/** @} end of VL53L0X_CheckEnable_group */ - - -/** @defgroup VL53L0X_GpioFunctionality_group Gpio Functionality - * @brief Defines the different functionalities for the device GPIO(s) - * @{ - */ -typedef uint8_t VL53L0X_GpioFunctionality; - -#define VL53L0X_GPIOFUNCTIONALITY_OFF \ - ((VL53L0X_GpioFunctionality) 0) /*!< NO Interrupt */ -#define VL53L0X_GPIOFUNCTIONALITY_THRESHOLD_CROSSED_LOW \ - ((VL53L0X_GpioFunctionality) 1) /*!< Level Low (value < thresh_low) */ -#define VL53L0X_GPIOFUNCTIONALITY_THRESHOLD_CROSSED_HIGH \ - ((VL53L0X_GpioFunctionality) 2) /*!< Level High (value > thresh_high) */ -#define VL53L0X_GPIOFUNCTIONALITY_THRESHOLD_CROSSED_OUT \ - ((VL53L0X_GpioFunctionality) 3) - /*!< Out Of Window (value < thresh_low OR value > thresh_high) */ -#define VL53L0X_GPIOFUNCTIONALITY_NEW_MEASURE_READY \ - ((VL53L0X_GpioFunctionality) 4) /*!< New Sample Ready */ - -/** @} end of VL53L0X_GpioFunctionality_group */ - - -/* Device register map */ - -/** @defgroup VL53L0X_DefineRegisters_group Define Registers - * @brief List of all the defined registers - * @{ - */ -#define VL53L0X_REG_SYSRANGE_START 0x000 - /** mask existing bit in #VL53L0X_REG_SYSRANGE_START*/ - #define VL53L0X_REG_SYSRANGE_MODE_MASK 0x0F - /** bit 0 in #VL53L0X_REG_SYSRANGE_START write 1 toggle state in - * continuous mode and arm next shot in single shot mode */ - #define VL53L0X_REG_SYSRANGE_MODE_START_STOP 0x01 - /** bit 1 write 0 in #VL53L0X_REG_SYSRANGE_START set single shot mode */ - #define VL53L0X_REG_SYSRANGE_MODE_SINGLESHOT 0x00 - /** bit 1 write 1 in #VL53L0X_REG_SYSRANGE_START set back-to-back - * operation mode */ - #define VL53L0X_REG_SYSRANGE_MODE_BACKTOBACK 0x02 - /** bit 2 write 1 in #VL53L0X_REG_SYSRANGE_START set timed operation - * mode */ - #define VL53L0X_REG_SYSRANGE_MODE_TIMED 0x04 - /** bit 3 write 1 in #VL53L0X_REG_SYSRANGE_START set histogram operation - * mode */ - #define VL53L0X_REG_SYSRANGE_MODE_HISTOGRAM 0x08 - - -#define VL53L0X_REG_SYSTEM_THRESH_HIGH 0x000C -#define VL53L0X_REG_SYSTEM_THRESH_LOW 0x000E - - -#define VL53L0X_REG_SYSTEM_SEQUENCE_CONFIG 0x0001 -#define VL53L0X_REG_SYSTEM_RANGE_CONFIG 0x0009 -#define VL53L0X_REG_SYSTEM_INTERMEASUREMENT_PERIOD 0x0004 - - -#define VL53L0X_REG_SYSTEM_INTERRUPT_CONFIG_GPIO 0x000A - #define VL53L0X_REG_SYSTEM_INTERRUPT_GPIO_DISABLED 0x00 - #define VL53L0X_REG_SYSTEM_INTERRUPT_GPIO_LEVEL_LOW 0x01 - #define VL53L0X_REG_SYSTEM_INTERRUPT_GPIO_LEVEL_HIGH 0x02 - #define VL53L0X_REG_SYSTEM_INTERRUPT_GPIO_OUT_OF_WINDOW 0x03 - #define VL53L0X_REG_SYSTEM_INTERRUPT_GPIO_NEW_SAMPLE_READY 0x04 - -#define VL53L0X_REG_GPIO_HV_MUX_ACTIVE_HIGH 0x0084 - - -#define VL53L0X_REG_SYSTEM_INTERRUPT_CLEAR 0x000B - -/* Result registers */ -#define VL53L0X_REG_RESULT_INTERRUPT_STATUS 0x0013 -#define VL53L0X_REG_RESULT_RANGE_STATUS 0x0014 - -#define VL53L0X_REG_RESULT_CORE_PAGE 1 -#define VL53L0X_REG_RESULT_CORE_AMBIENT_WINDOW_EVENTS_RTN 0x00BC -#define VL53L0X_REG_RESULT_CORE_RANGING_TOTAL_EVENTS_RTN 0x00C0 -#define VL53L0X_REG_RESULT_CORE_AMBIENT_WINDOW_EVENTS_REF 0x00D0 -#define VL53L0X_REG_RESULT_CORE_RANGING_TOTAL_EVENTS_REF 0x00D4 -#define VL53L0X_REG_RESULT_PEAK_SIGNAL_RATE_REF 0x00B6 - -/* Algo register */ - -#define VL53L0X_REG_ALGO_PART_TO_PART_RANGE_OFFSET_MM 0x0028 - -#define VL53L0X_REG_I2C_SLAVE_DEVICE_ADDRESS 0x008a - -/* Check Limit registers */ -#define VL53L0X_REG_MSRC_CONFIG_CONTROL 0x0060 - -#define VL53L0X_REG_PRE_RANGE_CONFIG_MIN_SNR 0X0027 -#define VL53L0X_REG_PRE_RANGE_CONFIG_VALID_PHASE_LOW 0x0056 -#define VL53L0X_REG_PRE_RANGE_CONFIG_VALID_PHASE_HIGH 0x0057 -#define VL53L0X_REG_PRE_RANGE_MIN_COUNT_RATE_RTN_LIMIT 0x0064 - -#define VL53L0X_REG_FINAL_RANGE_CONFIG_MIN_SNR 0X0067 -#define VL53L0X_REG_FINAL_RANGE_CONFIG_VALID_PHASE_LOW 0x0047 -#define VL53L0X_REG_FINAL_RANGE_CONFIG_VALID_PHASE_HIGH 0x0048 -#define VL53L0X_REG_FINAL_RANGE_CONFIG_MIN_COUNT_RATE_RTN_LIMIT 0x0044 - - -#define VL53L0X_REG_PRE_RANGE_CONFIG_SIGMA_THRESH_HI 0X0061 -#define VL53L0X_REG_PRE_RANGE_CONFIG_SIGMA_THRESH_LO 0X0062 - -/* PRE RANGE registers */ -#define VL53L0X_REG_PRE_RANGE_CONFIG_VCSEL_PERIOD 0x0050 -#define VL53L0X_REG_PRE_RANGE_CONFIG_TIMEOUT_MACROP_HI 0x0051 -#define VL53L0X_REG_PRE_RANGE_CONFIG_TIMEOUT_MACROP_LO 0x0052 - -#define VL53L0X_REG_SYSTEM_HISTOGRAM_BIN 0x0081 -#define VL53L0X_REG_HISTOGRAM_CONFIG_INITIAL_PHASE_SELECT 0x0033 -#define VL53L0X_REG_HISTOGRAM_CONFIG_READOUT_CTRL 0x0055 - -#define VL53L0X_REG_FINAL_RANGE_CONFIG_VCSEL_PERIOD 0x0070 -#define VL53L0X_REG_FINAL_RANGE_CONFIG_TIMEOUT_MACROP_HI 0x0071 -#define VL53L0X_REG_FINAL_RANGE_CONFIG_TIMEOUT_MACROP_LO 0x0072 -#define VL53L0X_REG_CROSSTALK_COMPENSATION_PEAK_RATE_MCPS 0x0020 - -#define VL53L0X_REG_MSRC_CONFIG_TIMEOUT_MACROP 0x0046 - - -#define VL53L0X_REG_SOFT_RESET_GO2_SOFT_RESET_N 0x00bf -#define VL53L0X_REG_IDENTIFICATION_MODEL_ID 0x00c0 -#define VL53L0X_REG_IDENTIFICATION_REVISION_ID 0x00c2 - -#define VL53L0X_REG_OSC_CALIBRATE_VAL 0x00f8 - - -#define VL53L0X_SIGMA_ESTIMATE_MAX_VALUE 65535 -/* equivalent to a range sigma of 655.35mm */ - -#define VL53L0X_REG_GLOBAL_CONFIG_VCSEL_WIDTH 0x032 -#define VL53L0X_REG_GLOBAL_CONFIG_SPAD_ENABLES_REF_0 0x0B0 -#define VL53L0X_REG_GLOBAL_CONFIG_SPAD_ENABLES_REF_1 0x0B1 -#define VL53L0X_REG_GLOBAL_CONFIG_SPAD_ENABLES_REF_2 0x0B2 -#define VL53L0X_REG_GLOBAL_CONFIG_SPAD_ENABLES_REF_3 0x0B3 -#define VL53L0X_REG_GLOBAL_CONFIG_SPAD_ENABLES_REF_4 0x0B4 -#define VL53L0X_REG_GLOBAL_CONFIG_SPAD_ENABLES_REF_5 0x0B5 - -#define VL53L0X_REG_GLOBAL_CONFIG_REF_EN_START_SELECT 0xB6 -#define VL53L0X_REG_DYNAMIC_SPAD_NUM_REQUESTED_REF_SPAD 0x4E /* 0x14E */ -#define VL53L0X_REG_DYNAMIC_SPAD_REF_EN_START_OFFSET 0x4F /* 0x14F */ -#define VL53L0X_REG_POWER_MANAGEMENT_GO1_POWER_FORCE 0x80 - -/* - * Speed of light in um per 1E-10 Seconds - */ - -#define VL53L0X_SPEED_OF_LIGHT_IN_AIR 2997 - -#define VL53L0X_REG_VHV_CONFIG_PAD_SCL_SDA__EXTSUP_HV 0x0089 - -#define VL53L0X_REG_ALGO_PHASECAL_LIM 0x0030 /* 0x130 */ -#define VL53L0X_REG_ALGO_PHASECAL_CONFIG_TIMEOUT 0x0030 - -/** @} VL53L0X_DefineRegisters_group */ - -/** @} VL53L0X_DevSpecDefines_group */ - - -#endif - -/* _VL53L0X_DEVICE_H_ */ - - diff --git a/vl53l0x_test/vl53l0x_parameter.c b/vl53l0x_test/vl53l0x_parameter.c deleted file mode 100644 index 29f0ca3..0000000 --- a/vl53l0x_test/vl53l0x_parameter.c +++ /dev/null @@ -1,101 +0,0 @@ - - -#include -#include -#include -#include -#include -#include -#include -#include "vl53l0x_def.h" - -//******************************** IOCTL definitions -#define VL53L0X_IOCTL_INIT _IO('p', 0x01) -#define VL53L0X_IOCTL_XTALKCALB _IOW('p', 0x02, unsigned int) -#define VL53L0X_IOCTL_OFFCALB _IOW('p', 0x03, unsigned int) -#define VL53L0X_IOCTL_STOP _IO('p', 0x05) -#define VL53L0X_IOCTL_SETXTALK _IOW('p', 0x06, unsigned int) -#define VL53L0X_IOCTL_SETOFFSET _IOW('p', 0x07, int8_t) -#define VL53L0X_IOCTL_GETDATAS _IOR('p', 0x0b, VL53L0X_RangingMeasurementData_t) -#define VL53L0X_IOCTL_PARAMETER _IOWR('p', 0x0d, struct stmvl53l0x_parameter) -typedef enum { - OFFSET_PAR = 0, - XTALKRATE_PAR = 1, - XTALKENABLE_PAR = 2, - GPIOFUNC_PAR = 3, - LOWTHRESH_PAR = 4, - HIGHTHRESH_PAR = 5, - DEVICEMODE_PAR = 6, - INTERMEASUREMENT_PAR = 7, -} parameter_name_e; -/* - * IOCTL parameter structs - */ -struct stmvl53l0x_parameter { - uint32_t is_read; //1: Get 0: Set - parameter_name_e name; - int32_t value; - int32_t value2; - int32_t status; -}; - -static void help(void) -{ - fprintf(stderr, - "Usage: vl53l0x_parameter Parameter [Value]\n" - " Parameter as <0: OFFSET, 1: XTALKRATE, 2: XTAKEENABLE, 3: GPIOFUNC, \n" - " 4: LOW_THRESHOLD, 5: HIGH_THRESHOLD,\n" - " 6: DEVICE_MODE, 7: INTERMEASUREMENT_MS\n" - " 8: REFERENCESPADS_PAR, 9: REFCALIBRATION_PAR\n" - " Value is optional for writting value to requested Parameter\n" - ); - exit(1); -} - -int main(int argc, char *argv[]) -{ - int fd; - struct stmvl53l0x_parameter parameter; - char *end; - - if (argc < 2) { - help(); - exit(1); - } - - fd = open("/dev/stmvl53l0x_ranging",O_RDWR ); - if (fd <= 0) { - fprintf(stderr,"Error open stmvl53l0x_ranging device: %s\n", strerror(errno)); - return -1; - } - - parameter.name = strtoul(argv[1], &end, 10); - if (*end) { - help(); - exit(1); - } - if (argc == 2) { - parameter.is_read = 1; - fprintf(stderr, "To get VL53L0 parameter index:0x%x\n", - parameter.name); - - } else { - parameter.is_read = 0; - parameter.value = strtoul(argv[2],&end,10); - if (*end) { - help(); - exit(1); - } - fprintf(stderr, "To set VL53L0 parameter index:0x%x, as value:%d\n", - parameter.name, parameter.value); - } - // to access requested register - ioctl(fd, VL53L0X_IOCTL_PARAMETER,¶meter); - fprintf(stderr," VL53L0 parameter value:%d, error status:%d\n", - parameter.value, parameter.status); - - //close(fd); - return 0; -} - - diff --git a/vl53l0x_test/vl53l0x_parameter.o b/vl53l0x_test/vl53l0x_parameter.o deleted file mode 100644 index 61c45a65b16b59d8d065a21a00e6be09aee17745..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8464 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 -#include -#include -#include -#include -#include -#include - -#include "vl53l0x_types.h" - -/* - * IOCTL register data structs - */ -struct stmvl53l0x_register { - uint32_t is_read; //1: read 0: write - uint32_t reg_index; - uint32_t reg_bytes; - uint32_t reg_data; - int32_t status; -}; -//******************************** IOCTL definitions -#define VL53L0X_IOCTL_REGISTER _IOWR('p', 0x0c, struct stmvl53l0x_register) - -static void help(void) -{ - fprintf(stderr, - "Usage: vl53l0x_reg REG_ADDR REG_BYTES [REG_DATA]\n" - " REG_ADDR is VL6180's register address using 0xxx format: \n" - " REG_BYTES is the register bytes(1, 2 or 4) \n" - " REG_DATA is optional for writting data to requested REG_ADDR\n" - ); - exit(1); -} - -int main(int argc, char *argv[]) -{ - int fd; - struct stmvl53l0x_register reg; - char *end; - - if (argc < 3) { - help(); - exit(1); - } - - fd = open("/dev/stmvl53l0x_ranging",O_RDWR ); - if (fd <= 0) { - fprintf(stderr,"Error open stmvl53l0x_ranging device: %s\n", strerror(errno)); - return -1; - } - - reg.reg_index = strtoul(argv[1], &end, 16); - if (*end) { - help(); - exit(1); - } - reg.reg_bytes = strtoul(argv[2],&end,10); - if (*end) { - help(); - exit(1); - } - if (argc == 3) { - reg.is_read = 1; - fprintf(stderr, "To read VL53L0 register index:0x%x, bytes:%d\n", - reg.reg_index, reg.reg_bytes); - - } else { - reg.is_read = 0; - reg.reg_data = strtoul(argv[3],&end,16); - if (*end) { - help(); - exit(1); - } - fprintf(stderr, "To write VL53L0 register index:0x%x, bytes:%d as value:0x%x\n", - reg.reg_index, reg.reg_bytes, reg.reg_data); - } - // to access requested register - ioctl(fd, VL53L0X_IOCTL_REGISTER,®); - fprintf(stderr," VL53L0 register data:0x%x, error status:%d\n", - reg.reg_data, reg.status); - - //close(fd); - return 0; -} - - diff --git a/vl53l0x_test/vl53l0x_reg.o b/vl53l0x_test/vl53l0x_reg.o deleted file mode 100644 index ee749a2df3b6e916139fb56a93c593248deca5cf..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 8688 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 diff --git a/vl53l0x_test/vl53l0x_test.c b/vl53l0x_test/vl53l0x_test.c deleted file mode 100644 index 4385798..0000000 --- a/vl53l0x_test/vl53l0x_test.c +++ /dev/null @@ -1,389 +0,0 @@ - - -#include -#include -#include -#include -#include -#include -#include -#include -#include "vl53l0x_def.h" - -#define MODE_RANGE 0 -#define MODE_XTAKCALIB 1 -#define MODE_OFFCALIB 2 -#define MODE_HELP 3 -#define MODE_PARAMETER 6 - - -//******************************** IOCTL definitions -#define VL53L0X_IOCTL_INIT _IO('p', 0x01) -#define VL53L0X_IOCTL_XTALKCALB _IOW('p', 0x02, unsigned int) -#define VL53L0X_IOCTL_OFFCALB _IOW('p', 0x03, unsigned int) -#define VL53L0X_IOCTL_STOP _IO('p', 0x05) -#define VL53L0X_IOCTL_SETXTALK _IOW('p', 0x06, unsigned int) -#define VL53L0X_IOCTL_SETOFFSET _IOW('p', 0x07, int8_t) -#define VL53L0X_IOCTL_GETDATAS _IOR('p', 0x0b, VL53L0X_RangingMeasurementData_t) -#define VL53L0X_IOCTL_PARAMETER _IOWR('p', 0x0d, struct stmvl53l0x_parameter) - -//modify the following macro accoring to testing set up -#define OFFSET_TARGET 100//200 -#define XTALK_TARGET 600//400 -#define NUM_SAMPLES 20//20 - -typedef enum { - OFFSET_PAR = 0, - XTALKRATE_PAR = 1, - XTALKENABLE_PAR = 2, - GPIOFUNC_PAR = 3, - LOWTHRESH_PAR = 4, - HIGHTHRESH_PAR = 5, - DEVICEMODE_PAR = 6, - INTERMEASUREMENT_PAR = 7, - REFERENCESPADS_PAR = 8, - REFCALIBRATION_PAR = 9, -} parameter_name_e; -/* - * IOCTL parameter structs - */ -struct stmvl53l0x_parameter { - uint32_t is_read; //1: Get 0: Set - parameter_name_e name; - int32_t value; - int32_t value2; - int32_t status; -}; - -static void help(void) -{ - fprintf(stderr, - "Usage: vl53l0x_test [-c] [-h]\n" - " -h for usage\n" - " -c for crosstalk calibration\n" - " -o for offset calibration\n" - " -O for testing interrupt threshold (out mode)\n" - " -L for testing interrupt threshold (low mode)\n" - " -H for testing interrupt threshold (high mode)\n" - " default for ranging\n" - ); - exit(1); -} - -static int loop_break=0; - -void sig_handler(int signum) -{ - if(signum == SIGINT) - { - loop_break=1; - } -} - - -int main(int argc, char *argv[]) -{ - int fd; - unsigned long data; - VL53L0X_RangingMeasurementData_t range_datas; - struct stmvl53l0x_parameter parameter; - int flags = 0; - int mode = MODE_RANGE; - unsigned int targetDistance=0; - int i = 0; - int rc = 0; - unsigned int low_threshold = 0, high_threshold = 0; - int configure_int_thresholds = 0; - int gpio_functionnality_threshold = 0; - - - if (signal(SIGINT, sig_handler) == SIG_ERR) - fprintf(stderr, "Can't catch SIGINT"); - - - /* handle (optional) flags first */ - while (1+flags < argc && argv[1+flags][0] == '-') { - switch (argv[1+flags][1]) { - case 'c': mode= MODE_XTAKCALIB; break; - case 'h': mode= MODE_HELP; break; - case 'o': mode = MODE_OFFCALIB; break; - case 'O': - if (argc < 4) { - fprintf(stderr, "USAGE: %s \n", argv[0]); - exit(1); - } - low_threshold = atoi(argv[2]); - high_threshold = atoi(argv[3]); - configure_int_thresholds = 1; - - fprintf(stderr, "Configuring Low threshold = %u, High threhold = %u\n", low_threshold, high_threshold); - break; - case 'L': - if (argc < 3) { - fprintf(stderr, "USAGE: %s \n", argv[0]); - exit(1); - } - low_threshold = atoi(argv[2]); - configure_int_thresholds = 2; - - fprintf(stderr, "Configuring Low threshold = %u, High threhold = %u\n", low_threshold, high_threshold); - break; - case 'H': - if (argc < 3) { - fprintf(stderr, "USAGE: %s \n", argv[0]); - exit(1); - } - high_threshold = atoi(argv[2]); - configure_int_thresholds = 3; - - fprintf(stderr, "Configuring Low threshold = %u, High threhold = %u\n", low_threshold, high_threshold); - break; - default: - fprintf(stderr, "Error: Unsupported option " - "\"%s\"!\n", argv[1+flags]); - help(); - exit(1); - } - flags++; - } - if (mode == MODE_HELP) - { - help(); - exit(0); - } - - fd = open("/dev/stmvl53l0x_ranging",O_RDWR | O_SYNC); - if (fd <= 0) - { - fprintf(stderr,"Error open stmvl53l0x_ranging device: %s\n", strerror(errno)); - return -1; - } - //make sure it's not started - if (ioctl(fd, VL53L0X_IOCTL_STOP , NULL) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_STOP : %s\n", strerror(errno)); - close(fd); - return -1; - } - if (mode == MODE_XTAKCALIB) - { - unsigned int XtalkInt = 0; - uint8_t XtalkEnable = 0; - fprintf(stderr, "xtalk Calibrate place black target at %dmm from glass===\n",XTALK_TARGET); - // to xtalk calibration - targetDistance = XTALK_TARGET; - if (ioctl(fd, VL53L0X_IOCTL_XTALKCALB , &targetDistance) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_XTALKCALB : %s\n", strerror(errno)); - close(fd); - return -1; - } - // to get xtalk parameter - parameter.is_read = 1; - parameter.name = XTALKRATE_PAR; - if (ioctl(fd, VL53L0X_IOCTL_PARAMETER , ¶meter) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_PARAMETER : %s\n", strerror(errno)); - close(fd); - return -1; - } - XtalkInt = (unsigned int)parameter.value; - parameter.name = XTALKENABLE_PAR; - if (ioctl(fd, VL53L0X_IOCTL_PARAMETER , ¶meter) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_PARAMETER : %s\n", strerror(errno)); - close(fd); - return -1; - } - XtalkEnable = (uint8_t)parameter.value; - fprintf(stderr, "VL53L0 Xtalk Calibration get Xtalk Compensation rate in fixed 16 point as %u, enable:%u\n",XtalkInt,XtalkEnable); - - for(i = 0; i <= NUM_SAMPLES; i++) - { - usleep(30 *1000); /*100ms*/ - // to get all range data - ioctl(fd, VL53L0X_IOCTL_GETDATAS,&range_datas); - } - fprintf(stderr," VL53L0 DMAX calibration Range Data:%d, signalRate_mcps:%d\n",range_datas.RangeMilliMeter, range_datas.SignalRateRtnMegaCps); - // get rangedata of last measurement to avoid incorrect datum from unempty buffer - //to close - close(fd); - return -1; - } - else if (mode == MODE_OFFCALIB) - { - int offset=0; - uint32_t SpadCount=0; - uint8_t IsApertureSpads=0; - uint8_t VhvSettings=0,PhaseCal=0; - - - // to xtalk calibration - targetDistance = OFFSET_TARGET; - if (ioctl(fd, VL53L0X_IOCTL_OFFCALB , &targetDistance) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_OFFCALB : %s\n", strerror(errno)); - close(fd); - return -1; - } - // to get current offset - parameter.is_read = 1; - parameter.name = OFFSET_PAR; - if (ioctl(fd, VL53L0X_IOCTL_PARAMETER, ¶meter) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_PARAMETER : %s\n", strerror(errno)); - close(fd); - return -1; - } - offset = (int)parameter.value; - fprintf(stderr, "get offset %d micrometer===\n",offset); - - parameter.name = REFCALIBRATION_PAR; - if (ioctl(fd, VL53L0X_IOCTL_PARAMETER, ¶meter) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_PARAMETER : %s\n", strerror(errno)); - close(fd); - return -1; - } - VhvSettings = (uint8_t) parameter.value; - PhaseCal=(uint8_t) parameter.value2; - fprintf(stderr, "get VhvSettings is %u ===\nget PhaseCas is %u ===\n", VhvSettings,PhaseCal); - - parameter.name =REFERENCESPADS_PAR; - if (ioctl(fd, VL53L0X_IOCTL_PARAMETER, ¶meter) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_PARAMETER : %s\n", strerror(errno)); - close(fd); - return -1; - } - SpadCount = (uint32_t)parameter.value; - IsApertureSpads=(uint8_t) parameter.value2; - fprintf(stderr, "get SpadCount is %d ===\nget IsApertureSpads is %u ===\n", SpadCount,IsApertureSpads); - - - //to close - close(fd); - return -1; - } - else - { - switch(configure_int_thresholds) - { - case 1: - gpio_functionnality_threshold = VL53L0X_GPIOFUNCTIONALITY_THRESHOLD_CROSSED_OUT; - break; - case 2: - gpio_functionnality_threshold = VL53L0X_GPIOFUNCTIONALITY_THRESHOLD_CROSSED_LOW; - break; - case 3: - gpio_functionnality_threshold = VL53L0X_GPIOFUNCTIONALITY_THRESHOLD_CROSSED_HIGH; - break; - default: - gpio_functionnality_threshold = VL53L0X_GPIOFUNCTIONALITY_NEW_MEASURE_READY; - } - - if (configure_int_thresholds) { - - parameter.is_read = 0; - - - parameter.name = DEVICEMODE_PAR; - parameter.value = VL53L0X_DEVICEMODE_CONTINUOUS_TIMED_RANGING; - //parameter.value = VL53L0X_DEVICEMODE_CONTINUOUS_RANGING; - if (ioctl(fd, VL53L0X_IOCTL_PARAMETER, ¶meter) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_PARAMETER(CONTINOUS_TIMED_RANGING) : %s\n", - strerror(errno)); - close(fd); - return -1; - } - - parameter.name = GPIOFUNC_PAR; - parameter.value = gpio_functionnality_threshold; - if (ioctl(fd, VL53L0X_IOCTL_PARAMETER, ¶meter) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_PARAMETER : %s, low_threshold = %u\n", - strerror(errno), - low_threshold); - close(fd); - return -1; - } - - if (configure_int_thresholds != 3) - { - parameter.name = LOWTHRESH_PAR; - parameter.value = low_threshold; - if (ioctl(fd, VL53L0X_IOCTL_PARAMETER, ¶meter) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_PARAMETER : %s, low_threshold = %u\n", - strerror(errno), - low_threshold); - close(fd); - return -1; - } - } - - if (configure_int_thresholds != 2) - { - parameter.name = HIGHTHRESH_PAR; - parameter.value = high_threshold; - if (ioctl(fd, VL53L0X_IOCTL_PARAMETER, ¶meter) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_PARAMETER : %s, high_threshold = %u\n", - strerror(errno), - high_threshold); - close(fd); - return -1; - } - } - - } - else { - parameter.name = DEVICEMODE_PAR; - parameter.value = VL53L0X_DEVICEMODE_CONTINUOUS_RANGING; - - if (ioctl(fd, VL53L0X_IOCTL_PARAMETER, ¶meter) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_PARAMETER(CONTINUOUS_RANGING) : %s\n", - strerror(errno)); - close(fd); - return -1; - } - parameter.name = GPIOFUNC_PAR; - parameter.value = gpio_functionnality_threshold; - if (ioctl(fd, VL53L0X_IOCTL_PARAMETER, ¶meter) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_PARAMETER : %s, low_threshold = %u\n", - strerror(errno), - low_threshold); - close(fd); - return -1; - } - - } - // to init - if (ioctl(fd, VL53L0X_IOCTL_INIT , NULL) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_INIT : %s\n", strerror(errno)); - close(fd); - return -1; - } - } - // get data testing - while (1) - { - usleep(30 *1000); /*100ms*/ - // to get all range data - rc = ioctl(fd, VL53L0X_IOCTL_GETDATAS,&range_datas); - if (rc) { - fprintf(stderr, "VL53L0X_IOCTL_GETDATAS failed = %d\n", rc); - close(fd); - exit(1); - } - - fprintf(stderr,"Range:%4d, Error:%u, SigRate_mcps:%7d, AmbRate_mcps:%7d\r", - range_datas.RangeMilliMeter, range_datas.RangeStatus, range_datas.SignalRateRtnMegaCps, range_datas.AmbientRateRtnMegaCps); - if(loop_break) - break; - } - - fprintf(stderr, "\n"); - - fprintf(stderr, "Stop driver\n"); - - if (ioctl(fd, VL53L0X_IOCTL_STOP , NULL) < 0) { - fprintf(stderr, "Error: Could not perform VL53L0X_IOCTL_STOP : %s\n", strerror(errno)); - close(fd); - return -1; - } - - close(fd); - return 0; -} - - diff --git a/vl53l0x_test/vl53l0x_test.o b/vl53l0x_test/vl53l0x_test.o deleted file mode 100644 index b89e03532811278edda9ffe144bf0fe11a78e029..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 47784 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 R - -#ifndef NULL -#error "TODO review NULL definition or add required include " -#define NULL 0 -#endif -/** use where fractional values are expected - * - * Given a floating point value f it's .16 bit point is (int)(f*(1<<16))*/ -typedef unsigned int FixPoint1616_t; - -#if !defined(STDINT_H) && !defined(_GCC_STDINT_H) \ - && !defined(_STDINT_H) && !defined(_LINUX_TYPES_H) - -#pragma message("Please review type definition of STDINT define for your \ -platform and add to list above ") - -/* -* target platform do not provide stdint or use a different #define than above -* to avoid seeing the message below addapt the #define list above or implement -* all type and delete these pragma -*/ - -typedef unsigned int uint32_t; -typedef int int32_t; - -typedef unsigned short uint16_t; -typedef short int16_t; - -typedef unsigned char uint8_t; - -typedef signed char int8_t; - -#else -#include -#endif /* _STDINT_H */ - -#endif /* VL53L0X_TYPES_H_ */ diff --git a/wonderEcho_demo/CMakeLists.txt b/wonderEcho_demo/CMakeLists.txt deleted file mode 100644 index 4d7592a..0000000 --- a/wonderEcho_demo/CMakeLists.txt +++ /dev/null @@ -1,5 +0,0 @@ -# demo2 -add_executable(wonderEcho_demo wonderEcho_demo.cpp) - -# 链接 OpenCV 库 -target_link_libraries(wonderEcho_demo) \ No newline at end of file diff --git a/wonderEcho_demo/wonderEcho_demo.cpp b/wonderEcho_demo/wonderEcho_demo.cpp deleted file mode 100644 index 9858885..0000000 --- a/wonderEcho_demo/wonderEcho_demo.cpp +++ /dev/null @@ -1,157 +0,0 @@ -/* - * @Author: Ilikara 3435193369@qq.com - * @Date: 2025-02-11 15:23:11 - * @LastEditors: ilikara 3435193369@qq.com - * @LastEditTime: 2025-03-10 13:06:56 - * @FilePath: /2k300_smartcar/wonderEcho_demo/wonderEcho_demo.cpp - * @Description: - * - * Copyright (c) 2025 by ${git_name_email}, All Rights Reserved. - */ -#include -#include -#include -#include -#include -#include -#include -#include -#include - -std::mutex i2c_mutex; // 互斥锁,用于保护I2C设备访问 -std::atomic running{true}; // 控制线程运行状态 - -int i2c_read_byte_data(int file, __u8 reg) -{ - union i2c_smbus_data data; - struct i2c_smbus_ioctl_data args; - - args.read_write = I2C_SMBUS_READ; - args.command = reg; - args.size = I2C_SMBUS_BYTE_DATA; - args.data = &data; - - if (ioctl(file, I2C_SMBUS, &args) == -1) - { - return -1; - } - - return data.byte & 0xFF; -} - -int i2c_write_i2c_block_data(int file, __u8 reg, __u8 length, const __u8 *values) -{ - union i2c_smbus_data data; - struct i2c_smbus_ioctl_data args; - - if (length > I2C_SMBUS_BLOCK_MAX) - { - return -1; - } - - for (int i = 0; i < length; i++) - { - data.block[i + 1] = values[i]; - } - data.block[0] = length; - - args.read_write = I2C_SMBUS_WRITE; - args.command = reg; - args.size = I2C_SMBUS_I2C_BLOCK_DATA; - args.data = &data; - - if (ioctl(file, I2C_SMBUS, &args) == -1) - { - return -1; - } - - return 0; -} - -// 轮询线程函数 -void poll_i2c_device(int file) -{ - while (running) - { - { - std::lock_guard lock(i2c_mutex); // 加锁 - __u8 reg = 0x64; - __u8 value = i2c_read_byte_data(file, reg); - - if (value != 0x00) - { - std::cout << "Value at 0x64 is not 0x00: " << std::hex << (int)value << std::endl; - } - } - std::this_thread::sleep_for(std::chrono::milliseconds(1000)); // 1Hz轮询 - } -} - -// 用户输入线程函数 -void handle_user_input(int file) -{ - while (running) - { - __u8 data[2]; - std::cout << "Enter two bytes to send to 0x6e (first byte must be 0x00 or 0xFF): "; - std::cin >> std::hex >> (int &)data[0] >> (int &)data[1]; - - // 检查第一个字节是否为0x00或0xFF - if (data[0] != 0x00 && data[0] != 0xFF) - { - std::cerr << "First byte must be 0x00 or 0xFF!" << std::endl; - continue; - } - - { - std::lock_guard lock(i2c_mutex); // 加锁 - __u8 reg = 0x6e; - if (i2c_write_i2c_block_data(file, reg, sizeof(data), data) < 0) - { - std::cerr << "Failed to write to the i2c device" << std::endl; - } - else - { - std::cout << "Data sent successfully: " << std::hex << (int)data[0] << " " << (int)data[1] << std::endl; - } - } - } -} - -int main() -{ - int file; - const char *filename = "/dev/i2c-2"; // I2C总线设备文件 - int addr = 0x34; // I2C设备地址 - - // 打开I2C设备 - if ((file = open(filename, O_RDWR)) < 0) - { - std::cerr << "Failed to open the i2c bus" << std::endl; - return 1; - } - - // 设置I2C设备地址 - if (ioctl(file, I2C_SLAVE, addr) < 0) - { - std::cerr << "Failed to acquire bus access and/or talk to slave" << std::endl; - close(file); - return 1; - } - - // 创建轮询线程和用户输入线程 - std::thread poll_thread(poll_i2c_device, file); - std::thread input_thread(handle_user_input, file); - - // 等待用户输入线程结束(按Ctrl+C退出) - input_thread.join(); - - // 停止轮询线程 - running = false; - poll_thread.join(); - - // 关闭I2C设备 - close(file); - - return 0; -} diff --git a/zebra_demo/CMakeLists.txt b/zebra_demo/CMakeLists.txt deleted file mode 100644 index abcd2dc..0000000 --- a/zebra_demo/CMakeLists.txt +++ /dev/null @@ -1,3 +0,0 @@ -# zebra_demo - 斑马线检测测试 -add_executable(zebra_demo zebra_demo.cpp) -target_link_libraries(zebra_demo common_lib ${OpenCV_LIBS}) diff --git a/zebra_demo/test.jpg b/zebra_demo/test.jpg deleted file mode 100644 index 7d0f35ed033db1b9387a01cd349027ad5120b37f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 915426 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∋{l*Sy5d`hPq*pO0+!>(h5 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Ƈ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

;H;-f1eF?-&<>$k@2aCMrwf@JtXdZ8+BnU? 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

Ar-eJd>ZjB?u}^8`N^e9}rJIX!SjleRY7xv87` z2*cf$jXzFgB*oF-LEuZNJy@llV}(sz^bCy^$& zXi+ZhWJY+-l_nn{9d+4wC$Lomyn)!3QG@cUVC*_(tUN<`#BJ^^?=4~14EBpM7Q?FYasXU@rCzx^ z=99IC!V@r)K!uVv=0Y^v79korFgxlPY;*>$kSANYIeggCIU`9RWtVVWLbd?LGbS5x zzSU<6a6*FKNZLSTf+Q+1RhddMpX$Kt+dI`=>%6yL0&Teu5Lu8(lLNFG(^h)mjfv0d z&2)S^?m1!8CA=|8m*Q!8q?=;JM!6Fi!9UfI+G#5a)O$I2g|+O=u)LP$E2eI(mB1u} zr%)<-^f)zW*Dj(&j!tZ%NBqc#nYm&y66pgOP;znnr`DIXmxG8=Vns%cHKc<)#4+`N z>guimJJM6}ODEx0(xiIeV5EpnnN`(Qe8bVk&7HBhtjujz^Ks7-Bo|RiV}?bGOluhY z!Uh=J40P1JaB$n2yB<5@&_~LZfg;HjXNU&D1z5NTs({Kf=nZo6Tkwl}t{EKUg=;X_ zT(JOxNGBgOL>%X01}k#f@QI{oWQX$OQnDm?Rso0tME;jn2X9U5j$9rdO6X(pEYTU@ z6C_-#gBg`c)VSN5w`q33#@(oA##fmZphIvP?V%DzNs)}Dmp<&c1e4Q0dgnNFqFaM1 zr1MKFsbg>EV1O8orG2`o_c@@y{tgpKW@IX+&NCd}p*+!s&!)A&_R>XX$l)amw`!~S4jUv_7@6SZTxIzmCMMLmJwX62I%FD?%kbFT zyRZCV;#d|)rDumzG>U+OZp5QV5r8<^aiou0++H%`Yc0CSk|R8AGxE-Sv1y+G3eU)4;V!QgF7m;VctSZU6x_2 z4Ub6xz#m^q<#>beaW^PCJYOD;5CCRf$>ym2L-PiGNcvD>f@x&af_1=?Mj5oZ(qt#8 z`J-pR&p-`Nm*KBRq<`}o9%R;0O)F~UjY+dHWpV&-S0`|Pm#sAq;(r&4;U#yMN5u|o z$+Qd|bh~31$SSAm*y~NgNV>NEY@WLs zVn4;3hs@E=h|x~NoPfs&4~;oiW4eu71DuT4k;exRb-Rd0)2e87X!2!b*@KMr+>!vn z_o!N4ad_6y%^SHlL}-K(s;;=fBlTsr$k>xoc}^1(r>sl(zl(sdtYGq#GARywkBkZa<#@K@_?>nQZi3XYBc9^4SfAN@r4sIvK-2oX)?>ZFxV55 ztN>1ZduETsB%1Gs%PXV9JdiEC5lg@7Y`G&lf^vNb#w(s&pARB3)7s$tS>lpIEN0lG zi(;&;3vR{2p&38RoxL%N=;Zub;1I%Cqjo&BXHpAJwY9-=I`-lMV(AxCy)z$ zYvze`k`Vn4jP&17rv>r0K?6ea@{l3lK^v;J{*0-x9h-WQ$#C&zVkPvo-{O6poX`;g zQRgzurUv1V+Yq(--wXXulpsVw z^9IQ|1%^89xUZcpd{cb^lubAYyf7r8i4B=Ntr^DIQy?b*{{XFWw_Yi|f+z*E8+j*n zh0#VB81xME$mR@n*n_=t`5A_0B415hekAyIJ9*ojs$MkY7Q)5)S)c+>R9dS!b_=m!zx6Csk6U!3li(&@jBixhe*!ow_1I8R(Vrj!PJ8aWAQC zKNvhZV|9>9v4;}I?}FvFeIS8@pfDhxQVm@2{{X~D1hK&*XO|qD*MI!Jf@M&|SV@ui!U&k;=}$$=W&m5pQs zs;N4LL|GX0!5;N~PZZPa+mFQW1VsW1nR!ZE49Dgm6CS+u&PU37k@T#8#Qy*e>9rwT znfQqkqJm}eh9qHqNYlSe8u>o&#pwK}l1X%hUG6~cB$q}y1Q^D9>dh7}8(#=vxwN=e zF_zSq8srU}MAGDE&x7aX?S;>3$H~X*Z}PJkzOs|?Gr;f}*j#1SMJlVM)R{b=W-Zq{ zsQ%Bz#bc67yI=&SJTARolE17*+3)voACpP#qi?ZX&4BaMw5Kg*haPsO>VjZzmxQ!H)qQ+aaA&$$5P2|9b} zBA#D0j;+6gGs4CnMz0dMSrBsoGAl*^-fcjQ$?1(MPWzpH)WzQxyom#&5964M@2@-U ztNknID1R6(83punBXW962kJ2uKp5j2sXkCUj;5}s{9?KIyUkK05Ujwia?k(_nw*Z$ zleYWn6()JiZNB7iah}g(xZ|IQHvB@(3`k;i<=hrNP#QxnO|Bs9f< zSxjK}#;g)R$pBTJH#HXDWchq$?McTJ+w&O$ZJjN&R{Y02TOGA=YW63?V~{j5K6nH)RClIol^}=NnY5{{Ry_K9R|3cbkA6hzJSeZ(>(}g%YXxpuMtN8cB*KKOBylSH* zlH+$E;Z6V_A`*3H`6xU$@dn;&hb7YD6?bsi!X0KzDv~mEf=M7_$_Kq8o#sDAa^>Oa zQ{V7`lrQGU$`9gifuHYEkBD&eSsCO2D-pl7dCVR!@br@0M;peXJJML^%0>_vmGhl) z0gx1Dr8eF=@arnfV~#di5=!QacLIR2nbbou@^DIB~@ypxF8ESeiR)u(O! z=*e=dGDuK5>e{^a9~aok%P7k$q>IcKU?9l^bz_pijmYdN+n*8maTTsEn@)ySg;ZtR z8py^EPf^dZ*v;5sob85H*Ni^gqOv9At8xpj5`=ZFkEs$ z@`fh|Vdm&YX{X~H7T#EG(^|UQWt?EHl=AAy>!gq{I_f63{l_+EmvzfEzUL!gSo>my zB*1FvuqL@%PZanfSr-y$V{S~L0cGC@P$c6>J^iRt@heqmr{L`C7#G##$q*mMk9AKG7thbo-*bddK zekFvbk&@u@GrzCiwz%IFSeF2_&Cdu!lB;kEMsP4dIsVjNisFJn5di|XnVb@E0n2)I z$I~^a_>T=doTTnzBLMfJ1Q@|N-?deqEpW*pQ~)me_8IBE4{iGAd{NI7v~`D-DltzP1vndH1ZQ#%cQjcz zlp2{6%*HaqK2h9v*y9~VZayKwn{TptIV=}4zcExT%DCHMUeEHKIbUPTyL-ZWi9>ha^PznFC?; z>qIv*1Asu=ze*YgkmL+~X@!Cn>S^ZSo*8IOc+I{5_M)te4&hjO8qf>ddV>bfLsmGL zNvSd}iRu9V04;Cg0HHu$zhTDfnpY$an4q-lsDatB{`Gv!ExpZ3$!;Rfao?q9#apW} zR3Nup(rP5`D1a`1?^nl)YDNjf+Xp1-wkFHasRsTjtjdeFH5A8&frBRkg1tzQ-=RK!q@xb~>DP!murI+}}0F||(= zTYH^RF|a#UjAtP9^{IkD%|~)FYHtY? z_oXi5w-Bx0z#*V~9`XT*6%5yRp_^1Z|X zp+06rC9|A*9Fl&NrxW2`AF$DLZ9Cqo!X)K_TT*I#4S4wwfuDMJhojqG!=$YL02gow zcJt2Bzz8TXHY`awJ!+y!cS|PbTS+zqOD3$UN01{eo{!(Q^{D7=V|12s+{14onIKEe zPNbNkKmje~9ans=H}#-AoL1n&CAzel3(Kk;g2WKS0K;<2j9`A6hY!2Fy%S3dHL*wt zndLZz^?c!2jkFG!+|w&{$C$L2DyZ!^h@uA}LDDq!#>>~a%{>L%N8&bFUI;;uSs+rl z)v(z}?i8rTcN8m2nHouM;(=RCOB|@4ScxMHg>ktju6k2ecKlAtcg%X$Lfp+~@_$OB z7RK7WJCjaXSXyaW<&E3te1ck1233{!+daK8K}rqDpO6)~KM5pePOPJJ#&e3X5L~^u zSs1jET`W-u@E~PCq`pUX>A$TneZx4y$9D|ztnDWf5s!x$i3gR!>CVNEQ&xs96)ml# zutqGy-5CUDcU8esxa;RBx7LH4hImcH{FyY9Coh=ZV~`jSRQ{2Sd3x4cPvR9fTs@oe zt|JAaCo&WuD0DsY-`G~+&NtqTBTdO!3@Rjob#chZmjes} zf$9m)eQ1&k$vm-4(6=oh!o{x42oV&fn< zunJNxLbUs18#`_Z_){jA>#XGp$HQb!moIkCFR#@9SlTUHO^o2LsWRoI6%qj}$ zBYgMAT+}1tTnga|+w&QtC?>a^bb=Qs$h(X(gTJW)f>uA`2!`QikK&AOg;&bQR#!$l z=T7ABn$Tz8+EMepzM#hoIDOQ=t?gwTANMc7ol?D6(kCmuM9of@wQ^ z(GoRdpg~xd7Y18txP}&ghAkYB?o@n*kEv2JLFzM8w_Y02q&Dt^&dDiBGSI2dnTh(H z!u8cf(tmVAK4)mMB6&c~$^QsNvYZ-<`L?#T$biaSpvBLD`-CmWx+ z-nPt-bROXRGs7$plMu#|y5wim(>V3(nqvG}O9{4#nZdXCh9~EB0iHAS4CCN#%k{E(X48U)vZrH0H zM;3xpB!Siyf#(S?kQ}Ki4m#kY9Ac8<0j*54mlrII*Aa#QTPrICct@AIfC%Z6T?CNX zMAs5YmVb?n%ag9+Jxi%vWF3)q`igpr*dn%$-dkDZaLsPQ#%IcqqYkV=0B#kO9{Rm1 zD(ehyacmjX*@)f=o0h7`t(GVUaHnE%oK~hwxZt?fQs6r1zl2 zlRb*u9HP&3AxLIEe_>dh4jvbz-g3TgPbeb0mA+ZZdgl+O-JS0gud6f&ivv zjwYF7w{}^r<6oSPXdy~4Qg&rh2BFYmr5J`>$sGDo?|_b5&8GF&7|1$u06$HrS0}_V zrL58UXM)~IFyyr0Xw=e>z-)Hg*w7W;^jaIoWXjock020Su`7^!VYl=Lr9uyYk}H|! z0yu35 zQrx_;Bj0k7Qe}turEoJMkbOV7qucPisAsxY{{V-O-6KL!b0uyb zD%(p4dwCa)nCFoOQMDLLjE%Az`(}*E=w$HUG|L6TBxZ3Pw33me42?qob#j>Bai2}< zrqJA^3p)pmUL_Kh-s!ZL$Qkr?8*QCLnwW||hML;m-88@Dx{?H_7_Ty2MBwkTp1@Y0 z{6^wfuMDRa@NH^zsh-~Br)V1fCc^1%XfnqbqI|pLeQ7cNF4l3}Tfr1%>{T>3@Q))*+h=^Z>yKeiRFU|95M{Kvb8RTq zZ1b2<1@j?9&@gf|=q0;@kF7PnH?~2-EpcSdyTfBZs9%~hP=`_ zhEX9&)Go3}2UF=EsuFyg@5*A;q3|GB%Mvhei3K2&&Yf9|IQCLWErYs`N)$XA%*A&i z%QTtCECPI`@?Is7ocW0JGX9n$y%U?m9#Ivu$8Ke2Smc{O7Z~!nZ9sh4W0L)t`cNA5 zST7P6GU=aHl(#DX04znS)ttc`!Di>i<}{7(VvVxW71qk9F_F2?<$wwt z?Su57)zbK5{6@(ma;+qd3j?-~FfpI08QZU|1lsVRVY-Y3<=qIa6?gKDOc?erlaL#~ z?N$E(6TzMt-3v;|Wz210EZQHGrfo+gyt=WG(;%IyUB055KYF=FA-T54>ve~1YgQ+X8rWM)>>1`9C5WRNqTYNTdmib>^HjatQAIT`bS z$Yf$hM(w9=pS50FaV{nB7f})Cdr>{oOaMh6E|R6P8JTnM<=cAaxSZDui6vfqX5=VH z$?~I^zP&fnF%G|mR(QZz=M-5}?Qqe^y%>kFMUdI4y12 zt%M8bmf1{cKb1p`WNA7!3zLlZ6?FmFOvZPTBv$0NG2)DkDyI#s59KO=W4~Ir;ey@{ zGV3+8QbX~JBr`||aAq;(_d6;9fN`9GR4&|AIGxOrmW12Pl9@-EMhK@wU}O++kaBmy z6=AMNk>O+r?=cdp9-QTu$-hYyAQ{fxd(~K-EL(_8sU(sVYkO&?m=Z`V4y9myrZ@?J z0+&&m=(u+cH<7e+A|Pw2C6L?X{{RmqlxZcu<`azdL!GfyHnDs?%<@Rw^k=oSMNcc^ zF=gC!{MG=e->GcvMU(t)(S-5nj6tqYsf|ozF~-21yonJ)y>`9 zk9Tbo#K+#*rxl*7$Ti*suojn&I_Z7|yYnd*XT;1fep@}C1oJgP;)M?peeCyJ1 zF}6)L7T(0p)^f$c7TQHn?aWtcSd4jK&|;HGBLRzf%WMNj@jpyaT!gTyV+1GN*DgfUmN0^VFKs|9+HupX!xe`S= z<}KBi=R;~hDwr-nZ1j!09Op()Kx*m}YV@~`D_i@tyVPU8X3>nxkU5dNG21PYHy9Wv zwkVJ%h#*^gnAxV~+wx>pV8|qxh!n0t*yC_=2xTL#DPzPXeiIj#)@dZRVKcT8BDXRT zla?b=5HK;78@F**Y}`3GeWw>xTXcrmmL<2+?EH?HjDiL_j=Bj`?M+0A=&t-@6~GM4 z#bU;V7|ynNBVcoZ4$-KBi+_Jy{^Ez*&>;TC2lV5Q8W02aJB@My(Q;S2Ac})z8My}z zQgOrz+Tux4-We^;t{cxGDwC5YLkwg7TkLbN00G{z4moQyoa?zvQG{bG$5O{5F=omr z$CZopZNMUl4b{rXRb=H$Exdv8w0g!%j2wkB4LXYv%PcT^Rdn-lers5z!xu{>Sg;2q za#>3ddNV4;j0^_B$Gq_3uyHuYDh^HLHv^W1og>nyb!#Qteb^ux0XR}cN)9o^E$pFU z3MoS?gv-F>vZzv{1amv}#tz%oCF3}b?rV{oNpOg#mu_1r3v&t2l~qGyxf*@Klf}gu zB18WG6DPpT6u$8#f zg`YbdHU>HpYgar%<*p}~ME4Gm!eyB1^XhJ6Nw3q*vkVQhj`e)JO|IhcWTHf4e6EYc zRbzJ9NR6UjKCQH_bIctuRG!s4KN;U~2)+yA!7@B7tq8!=jU2=wP5@E~&r_?u^~~SD z3ADC~SB5DATRTKo^A+0&RwjRPz>P;9Q?^ZQJ_=TXP_sxmG1>nB!<}*D5hqeGLlqey zjAN%$S)LXWZe1nMk32{o7k|u=4>dIG^D`ay+W?c&xVa70oZ)U0pDNpl^qB4DsXM@9Qa_E=F1{uuIxa0|vSb!iia>fa5{JI;au7uOE zc*TqjaRNjcFHSN~C-R9JnaMsXZaAY|9cFrg= zTv;rEEenD;LrXHot*S-}uOUO!2LKXWV3JR@PbUj+c4lVV+307-cOaBv#a2@AJFyWR z1><#Lt9LlT3H;w`dhhW!#MZW{5s0+HNK~>NMVRRV41LrYI10;}6^aq!O#Vx1962jsKVGAn=)XB@nuT?0cS7pJh&o9H3 zjHT%DekELTnlzGCesaSjTQD!Bz&|nX8Qb4G)~$aOFDH?&6g+@h0Lvi#P9Fq^zgQRU)o>zq{yKmL)HXn>O_N$`fQ?o#;BMdC8#E9^$ zHwo@K%2`!Mai^d)oViRU+wMfZfFFxV6r6`xK#zv%a5XVd2o8)GXAPv}4aZO` zN%*K5bd{#&lIX*jS|BnJi!jE@LEU-+q-MMmh|M7~CBa#3z9lX75u;L!zMW?(&M*!L z8xg+7fp0bW;m{cnz|u_p^D-rF@g``D}Nq}f#mv%W){M};%d~OF`mGc~i(8Fr$ z2qEp1+)F2sS@Rh&0n}>1z;By;QPaeC)`H$db1aJt=#nn;7aEsA>(G;d>Q|=Xr1E?@ zw)-_2htcEl8;7K8BelnqhTF%hVy8OaVYie4wyn-Vt3Up2aFZlDno@z|0!A2|X%0wW zPs}u&6+Q7^D$C*?Hyx4WT}Tlvk`gD&5tA4LZm8LBmjq(2C%TtX#@y7^enfN0gD4iE z^4d!cISu6pZy-H(sq%QjWf;rp1pHXFM}k?WlH7b5A$0kOVge~|=^O4lpQTvbej)gB zMOTJ-BA!Ue2voBMK;uq@7zRZdI*uGSwS2R2;|7^;InOQ1kdnw`AVs;sWpCw;MmDq4-zokEx`Px&|LEsfXb>8NCbQK zr^)36cpqBB_>IBiv$-jG1=BEQ!~Rjh!{9OQfx90;ib1~;_&{fgE&=4SC{yOUP{jZn zZG)>L10;+Z`Eh(v#Nuh(^Csn&GQ|ikbf7}JZg8Z6jN9WXM`{({ioX>gx{_UD>PMNQ zm7^v`Wjaa70~!Ir01WTcV{CkuShX>XzPf|Q*3%n99m*(ckhzV9hR%>nWwi~n(0NaO z)ur+G0dw%LCA{PFdA!DEpUPN;>JEK&%Ji?4?tEXyMatY;-pO+(#v5tcT!(!kFonF? zRDEPNk~6B@w_+&{khfG0SjL*lhEHL;2aqicPfl3OPY&GQ0usLt8I z(_b1-;@=y_E}@u)XN}^~7JTKy1i&P2`i}TG!g`vrvGKQwS~yb1NSaLv3xSyeE9X(r zaNba!W1YJ96^Z3IpM0!G4qsdU0P`Rli)iLvYJ5pC$(~ z`^499rK&V>E|<4hSe+r8O72+nk0(j>P&3d{d0sTkTYm)bVQuXCmLJ47PHBn=rg-I0 z$r$DJ4s?;6<$~mAs9{!<_`25BVpqgY(}hVSInKpPV02!aj+w8K2aY^xZqcYRk#R7O zF5j6O#M2`}ltL@b4wj1M3XYb1rkC@O1{*?n3n^rfS^y&%?62>S*CD6iRjH7?T?xu1+!OUmx9m zDRB#!?dF0RQ0^is#iP;|DDYbu{Ic4CBXGy-M!o!5@jQ^3oh1fE8cZ#$1YCkfak1Bp zj@j%*K3|S_F@0+nj5r+EA_q{TlCP>ftY=#gpmih?M)~hrx8wXiX|4d$6G71P=L8{B zlh+x~r)v3Oe-t>1M+gq`I^j7HlB<;pq~L%78ZtNPr*8B${AS{bY9M%Xzjq<(VfbDxxLk_OfCZO`Kc)yxA$&Zn9-nN~#dzm`Vx1GZCdmu2i|lKwUE zc!;;2NUg2}trD^T!(suGPH;1mfE#=q^r@E%o1dk>%0~|u)3bQPfw+`Cz>p{Ad5)8@ z!ChXXV7Tj=v6G0Vv6p>=BYq~lzV99kyS248Upo$+t3D2M*q#>-ZNBfQ2Or@LEI?e8 zC`-s>@~!|ry?sEf+jx=}LKL>8o0NIjK+S+o+0J*{J!|FuA^4}l5t`qbY|}~kYsu8m z>|-n#leq&R?oC)*ekQ{NQuFyT<}k|=vt;Ty^KG_~vWMxPwQCsWp(llmK97@*Tr?Wt zIp{lh&(jzY}~Fi^yV{P=VQ=Ymwvu zeA-4%3C=(R(3-Qw=KlZ|V}p&iyWG<9QOHhNkgz^+v_~8D%@_Pa(OFhiAhFv7Y1`hs ze&_KAgETz3jFzmipiLl>M8B_X@-w$;j9-a-5;lbVPcvL9(TBIipGH)Yb_jA$y?Iohh`cN_NYVit>N>_i{JiJo8Q2fK z6@L=^Ak#^5*QqjjSp$MXgMcH(eFppXq;ovpHs5ArffDtIZuKs7x^6~JF_F}Ls~?G3 zqi8NQV_<*pUQKEEt7Lhr@zCfjjGV$4V3tw_82q^#9sdBT%`Nb@`ju zzpZ&ZJ~~ko7;Zyrm75SSXJQVWEaYb=*KU<*f8(AJra-q4#ml(m;oBgv(}ivJ-}_VM z`HOFJ<=%pBZ9p4#CmkCev?Ij0J_!Rp=cRf5pN-|Yofw{53t^{7%n#L%U*-P!sb6@x z3gHvwU|7FE4?>`I$?w{%bKJy}z=(PxU09KvgSTz5Q2ziB;3r<06op)|{Uh&QZ2mKX zCx$f)OI;NjH&Ot}Bi9}KRIR*qbs$F}6f_=Jd>8uwKTlKXR(bAY5;zerN=f)e51l~A zdWS!S_0}<~8&{vNj;xY4m4Vfvn>Qo~1_3&V&fP}c^HDx7xQZqrjPgJ5RknnKk3I(a zRCFh;PoLwY@HF&RxZz5zser)Go2@P{cq3$oO}gi;dF);{yG0rlF_8;Mtae=_Z)*s*n3j+{8q`CAGmyGIpw;>AI!^)VyzU-O0}T3966b|8V_NmE zKfUq2q$uHEnW^v*cU%H9CVk1kJ+#)_#g@@abuf+b5|s@903gOQgZHfb{{R}>*?wK< z4L1wy;O(4_lt|^VI02O8ZRuWr4~qDFhcPRVajPR%6y)mI^fXv}ZDll0uzBB}i5XqC zIoNN$JLjMj`TjH{^6uql;jfSxNe6sUMApG_SS}5D{9Y-%iDXbtwulm|`Z3)908@7Q z)FSbuFKrlB06XJUyW<%LKeb~ndyA1A2Xy>HgpGfixL&5KFL;!1Y$VhXOA~e)yC72BDiu11)`0IyBCz?qBbSS9_&X6+2o3_AwzV-9ClgH+= zi*MlThYMEUX1qh<{{RL&k;5*DA?LhIBK{yJ0JeHzLCDXi-nvGl5)Vo-sENxSmqwMZ}8)@MC=? zmmp^+<>~rGecn@n94D$GF}C}oZg_iKPj41WTtFd(S0W&&LzD~Db9=(29oNR)#amzXZRrV)tLfOJI|0H4h1p18@RuCJq& zX1uph?zb%j4%t~98zi#l^`Xw^*0p7QEDL>Q3Anm-xRA!yqe>GHRZqAdG3qH-zrScL zjGS&qW7&5ewYcs0hZ~0VkZZXrZ6OFLg#RM`t4SQtXUzp zhS>7UM>|byznz_1DH+Du1d+ML8n*tk=vlM#wIV~}Y@B{Ix#I^^VIxT{-RKM%dpwS`_t z*38UaQKSF}CNMoleq-rIw4s*d&3NVz#yPbVSv=Tbs0JS62LRGCF|5fl#pRbcI}N^2a(%@^;dr0?39&kec3H}T(&hZY2LAx09Ik!nmOw%w zL6njKBxGD+qhPsRc_+~94Q=c=vf0P1G8elDvPO3g87eh;C>j0e0mG#(3q-7iRg9|- zQu?!;b_z(}u%xa{(TqtfK_Y9`Ai_=n^9FJO>`2e3G<$o48jF-gw~*h+2wc3R5u_j; z_3ziEH^eOEh81SrX5pt=x0o@LbMV{c8U5t1jAr13vlFZ7MNwEo#4RU8If2^tL}pQ{CDEf|0O)dh9@(PV{31s) z$rzQsIv!&o{KgH1SycL~eBQchc5_(U+}%ZSCZi0+%E~aLFg(RlIL`YSUaZ_sB(`$rie@wV^){ytsy?5wrG6)f#T!TzPbx>s zxkSjfc$hin6&r)O9d^e`WL@yPn{XaL*tuN?8YKS!>J&K#ItR!qq8nKavtBB?%_c>< zfD+vKh(%>j=NlaKptj-dzzWQb6qhlG;+-Uciq54816J520Rf8k!KC7X1iQCui4sv9 zt8p7frLKoFP}7mvk+?l_H>V=vcFP+ok;BScHMGiv8$cx>nH9Gn9F4KIC|7oqM61k; zlOi~hC$?=+op_8ANFyTvuJu)^BH+5XehZ=&mKR52jIXq#%m?ehD~^OvtZliMOT=V% zmys!gIVJ`)aTxtdM_2VdaZYhtP9JR}HN>t&S4|%@3`773xC_{;FyB2YT+0QP3y_@1 z<(449PPgWvF_joUsd^5EiKARfD--@9B$qLn66nM^#10%u2&@Jd_>tpsopLs++eq)A zxxKK|Z4ygWmy}3&)Tzdxz-$plM}6tZMYw5VSqT#bxsoI+fZ*!TM`mKU7|!Qoba`M;f()vWThpki>^ zwgb>rm93`?f(3?U=Ern75t;W-I`ap8h+w!r)S4yDoN)=*MoG@N7W zR~CbWGpJx0M2-%;w2P-y2*Vp_i~*}OQZU$Y^;$7&@@Rnej@Ev+NYfENglLAX7c@G;x@Kwkj)*WX%bzX zF@@nFsr z2=f!_0F3Tr8PBG!xXo_TUM%emrOm5EQAMj5{QK!-MN#aQ;;&0@Wf058CJ!$Q zky=TYlPpSe!@|B@n3J&!xE=CIpjpaV=ZH&f8k}1>V;Ke=D#VFnV}bc(bUikvEbk+d z-WH8{jrYV2 zTu&sz0C@dD{Mx-KCd)Pm~WRB-)QFNb0|WT5pJ3OU@{l7w0kpOF+gHCctU zS$BmV9SVDVuET7MZYs1!)bU8~J{EUruG?p$l9DxYf|NEc}=ZKUAa)XUYrj+Jg@Z z;L^isC}vb^^8pGxg+{m(x2~b{;~TbU7ZF_fCYzYkD&j>@MZ1>FX{~er04;Dy1Y;jc zPG#b;K*j`U! z7{JXM;#+%Z3~*|=*C1)&xZXkrm~pSBOAHbQPOXJ092^Kue|Aeo(%MQ@*8%e%nI$L( zml_Taa(1Xscg7~TlKo|9#Hy>Jafk$@5EPP6naR|ojCA_d6R@|q^F6EU<-qQe#yL*m z2F!AH5UxC}vlcsdpsbP414j^DFoke#fnuQuk$3Jqt{2oFdfXQLBH1nN5_~kXGD{L4 z$zM2+%-VC1A2`OuQ{1T*+UQFIHk*YLD&Wkom}6LjgS#lsoQ?8*z(@_;d|F5+l)ABd z$r?xbB4?1b!W@z^qd_E-^0g_&q=w*J7nKm1)uhvfQd3lIa0vizbB|;DJ_Xa;UNb00 zdr>oqbIX2G$gBd6hfAvNLCPAZ;u7CWG~Dc%l_QTYu+^pCd}Gb6K+jwez9|qCxzjAR z(g+^j7%q#<7;_&iAa4C+Op&Y8J5@EroIIuUS0|P(3dXY?QY#!jBsu6=h#I?UKJ|CT zZ9Gk=K#GYZ*RJgQL_al7!*P}h#0+^s+tgJR&DFfAD?W(YULIzS-ZQQev9muc=R05x zJ&p|m(#Ipcq;o2aa}2{jm=xf&M4h(}ow@}+m66qKX`O8Qm0Z{2V0g1@L z$4pcWM{~kO<;1Mz47MuIwxYNqP{e0B3V>sNwYyu7;kvS`t>ax6Q>yrWnHAKItTs{9 z?e1wwBI0V-ATWqQ%!W1rmS^Q1Qf>$QwK@ZK)sJf3)DWoRDG+-|n4K@?50V)a9lA`Q zmCtZ;XgUb)Z8V{l7PEyfBaK=tE$J9>8pwATO^!n62X2*TYr{?4;S5?XCg8}ncB_`S zk;_Uj$}@r)#+5q*q>;8Nn~JKKEg+6gWDv)242nVmvEU@*zOodm7uj)6aJ!>D#pYS> zAT}*0#X=cn2@gA$AY#Ch5lZi~1n;&(rY3ul1Tiwf%Y!froGheB1Ly<;=F~JC?AXS} zkhmOk;_T*UXmMB28V2U+! z4#k*mNhn5Xf51*L(WouUBcNXHooHC{G7VEdEw!FP5k#9z9f;`i@YrR^CrWt#X|)LYz*`rs;b^uJ}Zh`0@E2FQjD5e!Y?mf z(hbH&gOU&GZ+fEAcHvSY*`zKM+KF5?_Th$t^W#4##^mpZ7#PJbJ?|fD6?<8^vD%2^ zxDAtRP?kRq0N+3eH4<{#Km%h?k58 z;g5e`TQPLjhXE$%T@yhDa~b|`JGWt2u? zyNNm1Aam18>Xev4Im@Zb9BR~i8h?t%Yc12r&CFSDTl0_~_)2JVtBRNo3hMYf(d|KiOUFR#z5aA+_ zx0W~(LID9fsA1(BcC5f!-U|rrEg)ww1W6U-QeHCUa&j^A#tz3g&Z^Y6jVBAZNaK!h z@&M*68Q93q3a}W|4xLI5PhN(dkAm7plNl}ql1av+iav4XN_NpH!oSMQj6Ay$r|VII z*2uZJk;#%sCYltB0^B4-X~KrarDqz3bA{}8t!e=7V&V+|SSQR;EHJu5jF6b~24y~N z^yeB*NcyXHJ(6-I((wrG^uapq%#DEjurP2G6P;Pu5l&lL@Y`{2@uZ<%#u;LWFgHJ$ zr5aB|7+A?5=LCft)m*k*0fo%6OFF!`X<0^u0a06)#Gfi^JLBi=L2VpzPbBsl+S)&i zUx!$5q`tG4&H*|(VMZ_sB=@D?jLiaH+sTs2#M34$h=C!WmyNPDA3jH)KYDUoP9*;T z2YD)#GKk+pkN726wMtH$4NTbo0IPAGs=hccWw;mVCWp95R`e3A1cOrr(fUgm!O7bv z1Jb02Uxje1elK@vcQ9v12>2hA&jTq{#yqLG0D6PBYE)eDH;HC^JI%zSEf%eEhDTwf zZN9QF0X=b(ji~o)!CV0nJWz&sfJgB*?E*s> z#*&SxwS&GLZ(`RvmQ7(MNrMLqlswBsQwI6Bx)7Xtg@wkCv>?fUY+Hkcx7> zb5;)pyCuAH6ACSoLp8|K^XkH|bs(Rc$`O|eGn`R9RhMRDH;@MB%WZqkC>K%Xd^ND9*o0$xY%vBDpxCW3F0DVcag_A+5EEz&d{8HHk{<{!vdm%9o2$z zZsfU<77$e}q{Blh#zyiLVSvln5Wox%TE?{Su(q_~H&Fu>!@J3=%`tg(f`bH{C?go| zNITOUJBHreTu76nM6r<%!f^ip{H9~XiiS*p2@QuY*GblLjuz`lKAZjFxE|W+xr?=qga~>uD|Rp#QgPRPv53?N!eqY;8aIsDvoV#J*F(tnzf8%Z}cw+OhjGI``%d&Vmg5-#-VM&$#7 zr9zw*Bg_zeLKh|39@*qYJjRf$et5}d(<$YUFs-S82R(N6tCf3eX9CGI8E@maXO|k$ zWF~U@bGg78$tPt#qJwW`#H5lN$)tfJg(NWJ0hMse8|o*k88Q{{2~sxcO(?F=t)z3C zsVtJ(c35Fn3nY>3My9|8qjmw#M!@vNY)9hVHka2EOt*81B#%Z#i|7*SaM;J6U;_6b zXF0`a{{R3|n1V(z@S@^5!8^<`q?T;3Rr4JHhsRF!W6AN$!z6B#Jg}^2B4LQMrkn*J zgUoVuVM)$G2LOs{A!18>M;yAAH)$9hI6DAHs{<|UlSZ)_ z5n~g)i(`QyGIRd`F@Zg0kmCn+1$N1(PkX~6b$Ecb0wHW9T>emxLS{_uvNj~!ePHUO z=7p9SQd~hHu`$aw1589*y&&Uo$Ez!DIeMxt(Lv%QM|k7%C4$V#qnZ&{A~bRW<61fE z)b*xjP9<-H1YyW~c|dY;Byt33iw4~!yv6m`ZZHn)f3ZLXRC(Za0g(&eE5nAu`xO^QXR_3BY_ItoV4 z?}yr?H!FwKjPDU1S1eC0)PE`v8!hq&+urWZ+k@CdWS;Aq`HpEc?~@}hGBF?Njj%+S z#!fcrS4s>0tq7RoOlG?NBQ?|U};up8SD+14GhEbN~$cVU) z50mp}IANI12Tke_!Q(ieM2LPNppebCH6wXBGNz3ze54`KpC(_R6i#mjw^<>#g)W+V z@og!eK4giNWMH}3fB=OV(}RkTL`z)X5qv$=w*bQ<-H=Lt-*TMSvY&Y{;BY@Wjz4EMsy%1g;a(!UVZ2gGLqq*U{f zoEAn0Iqv7z6wTeuvrl~qoJ>;_O0pa(>TNn3^!bBhGG|Uba49g5|5Kaf2w&vX#&}KL&k>hW@TmS0 zPH2Nkh~TS{fPBmj+M8~m9k(3Nm$rg;3`i&?Sx+pMm@~5mQIOFtbtwckcN>9NEsJTn zxlt0e=n=a1vHQ z%_X&JJ0OrS)AIs504bv|ELmkMC1b^`Ekp5b#g5h8?vmKdO z5Z=J&JJQc%!)&7XXL$LN*c>QUWM+u0qF|wine%{1_4YLI!2(=`D{URLnigq`#m``6 z8g#EGJ&QQpV+UdCDWSu-tT)FbmvI=C1{91Lk)vP-RW7;jlacF5-Pm6=im^q>pHP(O z-9Z9Lk+MM_Y3fioJFrD%nX*w^IKe;TmbR}3<(1TSun)oNGnsr06vw2xdc|gvUB$mM3V~P@DcQT`ke1qYM!LHpd5*EPeO+__azOoBv4hlt2SZ!pH(a9|=b|!*sZ)Abwl2ZC4 zk*$%y(oCP20Ss`t18;2Rr-m)Pk5kEU;;VBgSY$}$P;~jZYs&M-rMAy7XC!@nD?&@@ zovzwV8f~0A0(3DN;%3H4B;;;->ZKr`#8=kBX{Ki_F29Gl+F(yIK*Jm9Ah)3319~;R z&x@@ct}dBv83KtVxBy!NAQOT&8DbO
7r!;IT~l;nJ4j6o!ic)arr$s=!%Z=F>)L{9}7Py{*Ze#L}afpdea=O_wd7lr9cQ+=EEk&Ekm_Cx|RkIw_rQj+qNC zl`5k*79*|+&i#m7_Mpw;8_DgJQr$xvT`pwDII}p2KI6)8qzrT)N_a6t^LUfR zvaO+#=51*RXrXMfvhS(aIP)N2S8d29k+tzZkIb;a70k-634Ix96eBDs*(YqAkPl2$ zAByop5$o*Mlpe(T3vX&uwRyfF`{Q^kx0y?iH=~*tK1EM z&-&ExU~XY^#Jo#-mlumA%d~A~P#aT-oPdAghzA>xHyv^YI@CBXj6V==4t^|0CA4v? zBjm%&EW`uq**WyVsyS~iCcRXi5FgEr?2szVuQOCROvzi&fFlZY!%E6W!w#;CS! zlD4n9gDDyFX9Ho7NTl%aPN#>Ayj#pN#^CcT%z`n33BsMf%eKT|?@+k$@8Sit#%pPS zX<>}$#$pWmRK_>`XM7IAkdKJ+W%!wG9xecqKyAN6%WrHVI$~llLEori5A91O?2|OM zZ67g+O*1Jjj6e;7y8-3Kb@at&%fVN+o;l;GGYBQ!pb8O=n0&>hQ_~<5g(UPiqQm0( z=92DNWjbX;siMn=VXPT3=!Ycw-~n9ZTw}wFC8_-Lt|-JY$^0M#YS7pj#9@J4Y;tL7 zZ z9>h{@<1R4q^5$6NRaOu&IGBP^hsR#W0RI4`P(0onODkB!GNAaubn_?zc~wf}_Q*QM zHy9c8sa`(=d8C;m!!5Cn-b0?a<>(&EgQ)Ze+Oy>F;F;R|ejxascsVN~cwiSUaYWSmIMxh)p0lA>dC;R;yw)J#tTTy5mhF)z_;iIf_)J6BdumQ95t7JCyzW{ER}Tv zB3@*XvtnkDs^tLANI}=O*rcZM=ZYNL#HwAM?7KAQELpT^W9*@}&ceBlXAHcD<89kl-k8=j?r23%c_GQGJ?!bqm3(^kF_4lh(?D=Lj|4B z3lPIF3vVATR+MZ@62zb#83sD_=}G1INw;9$H}SNvPs~=7fv57x3PWm>P6z2+jb6E_ zU-+|&#MaR^E~S>yjMGWvg<3+%xat)^-`8s43|u1OXN!k4mmJ8!hFJmEplOYP9mrrZ zPo+H|;MX%Waa=@nUNX4J7V5ZFEE~ArIQ6Y#!QtX=Sdww+q|+Sis|Aw*Cvc>wEI~OM zK{`i#RZEUD47YOIq_J|#+gqU; zYNi_U2u0AAb%}1olKC>M4kJX2{{WZuWB&k3^hZPoM0dd~Z8cmgynuWE!^`z2U29ECGte#7=8T`FSHdZ*_mI%@ZLJ2epakSx5+w-C(DP^=LVpQW; z5<6{xSdH=60Zn`yLFADcq<}PO8b-MUkTqlk{us{r10+#wF0And-LoRQaDuVLb%vA- zpCRlO&g8b|HD7qiaU9C+@lvc!CCjrPg$xPAYpCPMcVaqe#RH9JYZRAU%|#)Vme{dq zVhb-)<(mLF#*n7A1H(7LD7t-Os6K~h6DqFa1*2RQpvG2d~! zn<=fCiIx-jQMviKWTpx4sC4zsFg_kxq>+|LbN>M8GA_u!(tQZ-D17@##lp#@xpv{y z!@ivvI=#%889jHSAxPYH+ISfXEGRJ~stCp~LlgZ!Df-k}e-B8P7OJkS)|#X&2|Y&Z zf%=FbW7eW4@ioL8tO=JukjUG@OM;>$^$I%r9M+?_xwo7M-WVhnjT@;9vEcz=*#sQ# z*P+c1Lbf3oHLPJ}F+yaHM+8Nf^8CO^8-wK{o0o`i$>Fq$JT{&pfkX9=1#kgAfD&kF z2M1!38G&5@I_#=-on`Tj$>F5nTadyvlsZJJNBtJb*nTQRkM_{f=1J@M<;g<5uvE1E9BRX@6 z!L)jY>xLusYB>}>BYkCc1@(rV4;)VN32-LTJm4?&78_%rqV5Xb!@%W^2`(a4k*+75 z<5Re0EIi(kmGq|~ZY0eiJd0^0g>GZibwt8YP_CbThtm{69|Gp)`aWb+SR)io=Rgh* zLAa5CIX#Ugzu?o`L8<`nY{D!v9$~@Ov11!-P7k#W!cssdj9ol=^RT&&0u_iOLdpYe z<-yK6=BkoTJ|WbR77$;u$p&zxRPz@}AIuI1_NQ$Vgx*`LOE_1F%BgHJh4Ql(_0Dz! z>p;9SO>kCZ+-Gc4 zmew~muw2?f&7CeDIFQGO*)aIY-*86W^%2A4(`zNcbT2RGkPFDHgpFVp#vdDz)VE43 zm!2S(h$QAsD}*&x58QlXl$xs$pemFIW@sT+8N^Yx1T_m6RUgeKYi`z8en* zY0?|OELuGmFeX`{kl~*N%V2GcXSksz3_Maxi&@>3CX7j;$kP&r1mS_|uZ)B1wrRK` zNRr{AR@Du(W0@9GbW^Pht~zd^iuCgu3f;kW7)BFUt4@bJGTh-icchKid$A`H@G4`WV(X%1%bwTjBVbRcrUCZ%g3pvv6fbfQm+UeRMw|#>Nz+Y z4CfTY^IU4P5?@KCIkh>o!#gl6bOkI2kQ0_}*rLG}y5iD70!*M>MihR3=B5EALFttt zf2iV_xZ&2T8p~qsGPR_f*`V5E8S)?_*H$x0UAGy6XGluRsSIU0!g-=pgDs!uSV`Lh-;*+^+M7Ftzw3iAPiG*OZL}Z`@GQTawEAlQ%pB)4>cmVnRus5%Yl^M0ip%H=sQ5z1I#~ zbYF?pIFm)QGNIa6)r{a5RV1lChovJ25V;UpLS9>#XPr4WBWsi~oT(#zx$ba5r>*X# z;xiX(SCTnyozgf!)|v8|1~cT&ax;KQ_oCVHyI9G$SV&oTfsuyfa{$-NP!4pUAe^4q zs=XwDw4N*OUEA^%0?4lu0c{>Ml_Zi*muz5Xd{Ab%muCfm z&KqUhu4()0n>&sfHw-r9y3eDWqb}U0)DGF`HVcu0)hYO|4xC2}up1<3b2tN<#gi?l zlaHD~xC5tpZd1^-{4b8B^l!`fxRH@ACYeBtl@XFOAXxSN>)`QP%>XN)P-?B3@hGKqJxYoNov#l!7Z(=}C0Nm;cfC2831vdVY&M`PFZ)0wK;gt_GIq#b zq;$txvY1-6m6S^mF0!;sFIz$&(;+BMOLs20r7A8}a0Kk~>UL~v0CL-6PV5Fiu72->coao%CY^0PxJO4iSfC0*p)Ih; zRXN>*edv<}>@0X~t;BFmDqTw>YjB^JDMipQ;I45YAmbivRV3Uej!4(=LagqFHAi9^ z6;#6+9Zq*EkC&zn*si|QgzqDM% zCFSI{M1_7JhIp<>66QWrDAacRz3>ScAn({*TTQ{fF6uOmP(Y0K`pM-mfRAtdYwrCb9;pnHih{700YGt+Nkgbn1v=SB=$j?wZAH8Z4AzRDg%`X!X$*kN*G>Gq> zb3}xd3Z2_x4sphzsaPT+wvpr;`2) zcx~jB?i%vr$a>5Qw11eov4XyA2iqeRNp-_+?L)*!g;<6q2y#Yskjxiip@A6mtLbf- zIAxrX$C(2(5=%Cbx@R)!&Ph#udti~&QWpSSskvzw{7byqlo=&07ChQ>fE-|8=VDD| z6t{1Bno0=D!)(a0!byy>d5C2_dBJk{*lPPzR||IW&kF-*B-bv>G@fQwVW&=@dahI* zJFjl0my?HaH-<>>1IE`Wu#91F*elD&WeL!KJ}J5X0L2o{-rDoXaR`h@hMeU}nIFCo zFv!j|8Ue|s`elYzWK(V#oil|=`EF3-yD>QKNe4Ivts2@1=DNI&aT3EbhRMVq@Wiqx zbGRj0!sn?yDNBXo%4N2cD-{t!kz0|ZG8tndR@oYWEu*6Cnt@IoY+Ck6nZ&QBmVAsE zL5xVKLE1)A2_tewJBlm~5xuy0i#tIikUOTJGEK6oLL4z8UKcqZ&z||KUKj8d)@aFY zVzr>ipFUoc|6c*e8b9C0Ov?irOS8k zR+jduX8b&^!Bnt&c5Z;Nd}=|s8gsom)|@delI|9GWNUSm zV?h8z^>lB|U&znB#aExgN1Mc4NdJy!u)Z53g+qH z=DnnGzrvgl+B(!`_j9j&k#3EZo4T{KN ziw@0|kc0Dd(yRPKoCTuaN8yQYVlpI_>SmHzBDX3^AY^kIu5qDa9#fKEPCJUQxv;#7 zK_vZ657Ixz(F>nq#7FeJ9RGIQmU z$~&};PEj0)q*$=0a8ZhlT{&%62)-L@pN4(4S_@lI7yeBhbVHq4*_Z%X7i?{u5Gs=1 zI1S3emgw5&j!EQ;EUXbqlA1`tOcLsPYU@DQNYRqs7mg8g!(N{A7&)fxrMtLGYq??|#rNg^$BNX|z38%Qd5&PW8+ z!Ao098*5_`^GFhBe71#{yrkt$b>QL8R?ln)g4A zLve98CPA*r1bm1*yA!cvwlR_48@8IZ{Z+)lAciT>r1yz5V4=)fl%YCEa7krGZMMq{ z4eHV;c$Ks99v%XfYk?KSk+75oa*?n`QLttNGme=16=So%f?M^waXg072T71?yb3hH zNMJm%ga>CnT!D<{nS+F*TRSujG zW0yN;KJ0xeSLxz;S}}0RV-6uqdpVKdchL@rB#XwM~V>-F$45-4-e=7HqKBA$fG>Fw2iD zMTteu`Z2XKw;mai7=&^}ZDF^HX=RM^E~I>zGL55Fut5L}>`4Qu3t3wU?eF6(Vwx2; zxlznj1Y3oWmCmS+Km&eWt+R~Or{Zv1@}{@95W;TAlG@k?y4U4RD&2~(C0TKhTOH{$ zZTgVk6XMKNxsEZ+xFu6gt5ynCIeHXlCEAhUI5aDa&)En#D!Wr@|MnoqqAx( z%tJO$nS(Bo<~wcDp)3|-Ns183KPl~_QIc0Z<7F269Q>tM6psaZLk5BA9LwXPQJCfia0n6%2DC>I4IT0H^Qdis8N%M0<#! zk|3oJ3&M4n!jNADA4z2_cR#fyd1Ct6TH!Rr>XO}E5K~)?XKvi0gHn-^kyZ&Yac$t& zkV0f@go@!VC1fPqIFrm@QU3s#`ba8HNWcWpWVKeD+p{Fmw8X5CHZF9#p_rT#<y5zn!Ma#n%fjsc0K_4UZp4Dx)n;XnAK~&0Nb>$++ib202Rg<_YL^SM z@N8F?k~uO)mgZ|{PzQlFcleBj&Xq5c004Fy3g@_l(N8o+$~F=PjSxszO9fSAXFzoY z#x_xn_sOe8g7btxvs@VDGeaCK8(@TLoM4lvym&bbe8V2Qp$6gp9q^%oR=5F!-Mzt5 zK%Z2oN~sMhKPnLry7?nh4lnv z?^H%F@Nb5+o*2W-mj{|I7=YSz7~@W!WFTr#21^WWwN7pwXLw^+xsI|NqB#SIsVLD1 z-9YTigP!lxAQ~4C;e2veXiB{Bml6rKiZh^q#3pbFW*YwhsSed*@4`#V6sRK-MHp+b z=7`EQDc?EJLiRecaZprR@C(VWg^I}fWxDf9z{ewMAhW9m$z1t+4Z-VJoGaodjiz$~ z{{V+7#wATb717}ecHP-gK+-;9deG-yJ;UA$gn-I^3_%=^l$a)6vGZeEvgL7-at11Q zlK6Y$ZseX-F}?350NGjJPL^muAYi72-0Tjlb)d@*9m3~@Z9=HGhT>+8!E#zjRwz`Q zgPvO)u^?m*wF6HUlJCf}MHF%JC3nk65-^P3qt1Y-0CuI}yYVDH2dK0XT}1=I3dExfY>uo!0Fb5r z)lyd0+$7jr!8DV!=Ie#5_#-k#V_ioL(^QxQV;e7A^aMOC!wWoUXO>2ExR~sO23<04 z*!h#DPC8=*P;V#k0r*M9$c|fEmxn|7Tm{ULsAfAfnztC=Ju$Uv&x!FUrH)3|A0j7P zIOD=FX4M}ojqvg6V~{e%2XRtJOz_J&plfE3TgcPCxn$0Q$*n?1=G+`HIq8x;DO+oB zkqdq$A1s)@8siB_#Am`1?$<)Jr@Mwd?vfABT6_J37-3UZEm-2jy`iSc4NeVV> zW|h0~7l`D!v2IF9DqHg{qjCgmiY zB%V$f*7pe-mP7+21v;<+z{Z|~IrXORq`zBU8$3okc%`#RviV}0U=RoDV52$iDzgP3 zH`eny$BUg-;gLWkQP3=lAd!jKf^rT=dTQ#+h+ZYiO(NYENZ7`8Xgbl>Ah|dM5xMWS zDMN8-cH$`QnGrZ!I)oZ-H|4>jS;_JYk~)%2S|^Av)=!Hu!6z;hh{Vl+S{#_c1HO_# z1EE||u!YwX65UB~vP>YBVQ^H2P^6?K^K@MRh zaH`~E)PgkkV?-9p>fYKraS4(~OPM(W*JM6&OXY{@)}b@DU5~9JdfZtqB$?xmW|HYe z(p+WIHUXJiB>bz9*RD?4t4<%qcpbOr#UsZmq*51)%rq}C$RM5csNdWSbgHv=;+us! z;t`pPsM12t6?tV<+2m)UZdeCT5T;NOQRe4xE5`R#~iu z7h@cK1Pw7GkrNG40Hl-iA1NbkkF_-=?+(Ypp%5*_;tz)QxZotzbqjVn37&`AHq<~(rN(p47tJUzh0GH z8@fd4XvP?sQQCL&5G3*p`e{sLbvqh-{5V^MV2sRJnmEQ|j33lVUm0=LSc-lnrqKJW1R{oN7o|U(oiN_kN z2_|ktT(@1&lvg`{)s0#7qc#5khJwuql1Q!eYYa20Mq)H!Na+|~H*JkM9=l{%K@z5^ zO1hj#+qPK&*z)!`J#n{s3e*oixSB*fm}HAelgi&MsF8pXa5i4Q+KCOyExv^qt};_m2cW~sKU9qQZkeTbYPw!ir>xA2+ah;=L zBm)_k0J@7a4x8*0{{S{A=j6jWM~LBt_>4m4IKXJpF{yEp?~*apQnwaq@enj>Az7mu z0+4Q9K$w;TAM+1$(`pIIyg4VDX?ci1IGu4AZn#|a^J?E6Fe@N8tA}v9(!x0d$CU?S z#c~gsfc4zspeM0=i))g)blDFpVq1XG=LI(zV~;TPG|xYa3Ff+umRD$mg%EjAu?i$P zKQj%V17Ou-s8-7B!^;G2h`HpnS1~W~-3eICfwTHbi~-Ynv9*Vd&&wOFy0oynCI}-8 zs;2|CFmdV)4L`#qHqCB1Sub-dHpe(DSEtIQhy%G(Q%i0ptZiZ|FEfc}mu>`>yLp+w z8}Fla^&57kg8U})gCj9iC=vif$ac%qWrkgRaegYBz#&vRPlcwz-v9zH@t9-P|sV&#h-`3=6Dob;{R$^QTi zX)A?oHxl_H!D#~%C|_VtQg*`CiMg@YZ1QP@bJpf~ zEvqd!hvW*3*kW_~isK&HHM?^U#0$A6j_szsZbT|Is)P*1bLciv{$o&X#?Hs%;g&dB zC5~B=D`g)s!BV^7*yO(icIzv0u|qq4+gis6bb90zWS&Q1y29@wYhl_X|+DC9v6 zu$h%H$r4HyG>BuV!6m(My;|FF%NZuWy|)qE&hf)L!bg%2!IU>nr%^kdu|dt+*;q?& zZ)%p#b1@OhJGKCE~yX5qXB?*E$y+ zNUI%0?rb=03?)IJlc@>(wHk1{p5r<4)T}3x+S)s5V+K~XWDRh7ZL4$GD8?!l(Qzqc zI^~J_jkl;hw9f}J-exZ)-!Lq{C_oC73OlASN4)~l@Z`CQ!J@e_#EvC?ZqR?s zWFU4PqJcEGF9?eD9z=$1FD5~{T}81WZ2W{DzA5-3msRA_0~!d*#x4kJa#ZRhDegfU zKF~00znHzS-%TB(mOaH0*-vUy6=fhD2?(DH&f)!;h4n znWk?fnn0lcx>7O(7AJGfMC#Oa)a}IBm+ZFS-&w^<#XzLCh_~ zn8eEtWO;yTbhy{21rFmUC%q7jkNB*yyn-Du#dEIN-wQAY%*sgwWNPwawR||O!Fc1F z4v{-^UjS(%UPBGb08XHNX^0K{-|*K3;t)+2HOJ0$ZWJgTNgiy|Hxk-MbdV6%?JKsa zoD80KlATh+g)+dBF}FKmR&wWjaG+8&bZrh7-Rgk3wwSs9rfkR4WO7-aTywc zICU`{`r}pz^rlkE@XLE`CGWw=ZcdzU2m~^MM`M%bJ+n(#-rFI2X#$LK2^uS$;8=HpTr!eI>hHcmMvXP@s+Z-=L>`f&Uehfn-LK29AH-zqHlUnLA z5;CWJ3?7sw78bYHF$gUTk+iC-DQJ!pOOT=;W-4>mhGXKXa4fB#mv18>3ozxzm^z*f zVRpgNN$-QbXA|LEM-VL5>&cKQ3^roY4M9|alCX?mfz;EISy@OXXc47RJBgyp3zcaU zFwgX}4Ucc$h%MdEhvdG#eH_g|LneZCF1$n=xX99W&JLcT-w-yD%(FIRjoL}GW#t9brl2?ZQ%*rU6Q6oY@NkZE&hAe&ShP@il16R$ zdkkkw4xrukr;a5AT1gy^%yJ~utQ}4_0Z7r0O6#}}8--;~B2${?0cH7x zhP@+Bu%KY$KD!nb%EK*u@a*17k*MEIyL z2}`hbEz5xLkV52)9hYOLJ#a^A>p0Tb#l-Aw?wT2$d?#*6-BwcJ6~i8ylYDkH$=_P= z2TmYWHLO+>Mnr%rxR8wrqd5%&NwD`cQqWx9&hw-(JH-TF5g#z^t5y{6BR{(ShrAEYL0oJN*?fCpLUE4{nMG`?Hu=2(mEadiXH;Cr^)g1Z0sojPn?vZt9GD$2~^XHwZTgUk_dwONFPx7nn#5uqVg{!lTua!o73cxs8QZ9KP;TtlCQ1598?sZ6=ZIB>*`Jx*%w5*8M1!Dh01$fYqf zGZ=}F`1>;80&}rq2t7&2>Ael*x)Q^9v8|{V5-sYSN1!>48yJ1b0FN)FEhi80QMbH? zI19oRZjf34RBGl0G92Wv$i^#n*A}-i+T0;X!QsX^5@J{ed^1RQ8OoE5Jt??rXKrRo z2WVou_;~q<@fp0Cjmia)Nf^}HH^8OivbTR*gE|{0+faB zC$cjbq@Pr$OgPqGAde}=pwYLW#>W-EjJ%JPHLAI0i55hVXpuo;IY%wKA2xA}^)yY% zm^g%HW{I6!R~OZ6EycE&N1%eWgHob9zTE^d&UcV&`Mbc(X>R2a;0a>+g9 z37mUS*_r+Z?ieoPm*Hk<2%D9Xi;%36V;I5DLEZC4;mT&3CY2W0%N?|mw1kNrfqb8S zVx0O6S1l(K;w4WeQ#4sw;wUhoQ(&5Vl`1p7aHhL{9~TIUIb*n%Ib<&_y~sGysxu=D zk+>vdSLxo1wbYlKRT5jd;DXJg(FSoc=JT{zW~O>tf`e-fBl z7?(3^FuBPwjIIlH0IC8D4a;@fjO`vT#Q6313j%CF8ui7>T;dngBQ}CaT_Yc;VC)7q zpxDT4mgZO^Bt+cuw;50pGC&wCJj;>}ujO630nJ`<*oQ7D92NLv3K+8mU>Qg|d9@(J zU}Y=c6U5*+$=7#M6+<%01Q^@&~ zVUzP6i5S2c_NYD8w05^vut3H17@5H#9h9WSw1o%s4Fyj56ftvWCDJM#0xUATgki*3 zBYn;p27ISEVU2}r<6-AYURDG{B#^^!HBG5?La6vy*{dL?^g1M=$tmG?PX&+OvLW5wSi{pkM=y$uvk7 z-s0LS*FM!-JbW=yIQdB;EsI?weIjJTHz>YxA5#!P z8|Is{;Q}wNbNah?%rW;&2{k_N&LrMQlgx60f++)z8oB5dgLznX<0ua zA#Rdc@*Usx7A=vsMv_<@_vk7n+Pk;3iDrr@(m^G#MK6|MszWX}&zKJ=2Xf+qIE939 zK{FVj(*sKyZUczQy5U1-C%M(Wq6a}r!+Q*3;^`k@8)$F&nPS2DG1V}|Z4Vv|cHvPo|C$u-FHoHK;d z!(gDcBpn9TcPn1WeHvM+GK*|1SPtC9X(rnz_;HbpuT>;>syH8uL2Lg292yC2?fxFz zOf@5dK^Gy3!6zdG^cd?zi;CK!M|P-I;bBm%3D-H(^R|rt01#`~osTWfI?-KpclI0k zn$fOoUJ?KT1LfvCiov>OLU6+Y6%KQXVPt2ywvOHi!rVm2lEfI?0@_j#Qy>^5-fs*n_EDlmaFRk7mvf}5O3KnKip;)dQ24=I4ToWi3qK8bkA`2|K@9CAt{w>? z#<&#}+^egJFfybmE;@a4Rt~VKnYbcc2~;%7_p{r4BQc6DPZax_cfe6*?}lahIfmKBvDC>FD76eO7F0Lef-%br$cF6-f(FI9Mxxz7>*J^yz=wp zv}KCpIB--q^8x8uV<{j|EN+!I4&U~5LVxUhoe zQyd0PT$2OL+;gK+K--%yW$Vmg+*QQa96Cs2LPQw2XqVyga;V4)j2^BZaCY(z*s6t& z${3@LNqJ9o0fC}odCVbbB-9l~4pb734i2I>#Y>vWaBme*JoX^PV4K{XL2$&7Latcj zP78194Hap_M;(G|X`q;_mrh>Z-9dFYTSet+ZlMVUvAN~-$P^1}b&5DmWedLX5-#)(l#S8?P*BC$5URHn-vYO4`?gDT7>+OTm?6(!9wNp3d@IDrmrDX28GGz&Oyd8f$LS!@gsRP?-6sAj{PD_c)-@E zrCiOnNl4jPYHfzEwJS1MO&|D#(aUobwuNohOsYDbL}Fu+xI(x(v7H2tl^0?dL{_?I zjf1xyhVJ5dfkirb${ATl@aDz|A2u_JVK|2zww-RE{FUT|xQ0X~=xB{6Vi4!cm2eGNACL=w{ zEwoWD4pfpbtg^H}$A2MjnX|Jm{{Ty4>YVq!Cx=AP$oFXW^G316N}S4*9D(X|vmwUh zfO=K858*nm2oAD`k5taY24sO5A&}?gavT;1V5|V#(PCixaO)$)C24?`S*_8oR2DL` z9$E`-plV)b2|m@zSi$0ZZWOV{amjhwdz4uTS>tepW-iRYYA68<>i8AtPs2Q7%_BtI z=eMxtTU<&T$gz_Ue1Wkn2D16caB;D!d#)A6@9b7POKwzgUP9s-SM$Fyw5zjYI-O!0 zD8mLM(49F?goMd_wpPm#wy-x2V=DIwp%G@)@eGU7sG-{4_+BV);P_dtgU=V`oW@b4XgP_Vxpp8Z?lJBQk;UP-<&#tCf(fIE zL>pU2rI#}>J>ABI&iEfpm!y`8=5&{c!D}J3FtiJGG&-0$%ubUXV;RnR41!4MP?@-# zc8c>zfm2GVt7(u3h$_-2c}N+{^cY&4oMzhXt}bL-jT25|5J}~Xyo%rn26qjoQ0dnh z8(~Y;xwvSdkn*LH+%$qh7DjMnK#s?uB#o3{74+Vsbb*>aH*S})#Ur@3)(ToF6FY#@ zF>U_J{5`Xqe&9!WVT~r4X7-c((*Jxw+1zKCAZ5I#+(`v zq+ZX8Gmcn>NUivPGHEVD3x;J@d=a10Jf(Vijm=IeE-mMh@+d(@bc!Bm)q2?F?B0TP z$WhZPfCg#%Cg6Per+^b24t2$F2!S_2@eIeVe5X!2k?U1vfCY*H&n~{wrhp3`JOT+FOKZdusWl?Sr8)40m z2IkA~tb62)#2aEsQb$U%zBVl!HyUrMlMBlyGv%m-%XW434wYvRe} z)QoLqp5>WKDD}711+NlVpI<Z6L1VxgZXGI#mML!_X=alvDFaTJW7agVmqErcx)5t}$7ywU2(Y#`@RcFrgUxVO zQn9?AZjR}d)J8Hf=~}ju3$%M_Adzjus>Ki?nDY#*7?H6k7YYC&OJmxuf<%+DTic|` z%nqf)NtDK>i*b^SN@xSV53N>ZUBWnT3zAY{*K;iEkt2+!K*Ta?^95zj+0*98#?-1U zyw-fX_*z)ZlEz|kIl;n>B+1pVtEi{|jgEKN)&S2O3?zGZj@iYu>M)4%9N`EjEaiT0 zr-DHnqzuvs43RE~`B@0kGUFxGE~44M%{GBt@SYtv3Av5s_|9FBw+#Y- zRgsW}Y+z}VV5H@kzI{b*dp;W~+ZK*k3)%8w<^jt>RrY6Np1QCJ$pLX%wzc36lgN>o zB6}kwaasNBcmn^>=-mgXi-axJqabb#Yircd&1gWFjd+Y}Zz zGV#Q>65PhmEwe=|il7sul~-JJ$pnDd=)SwsQSh@BoVN=y1bf{J@cU#@h$Ow{ z+c}xVq-0EU@WD}&t}@3%^&=#Kft`(7-COYV;qe<*ibQrvmNSk@a@$MlaB-xS>-vk0 zvPd-&TwDaamR4fJhmh$I^GPEVD2i2wmO#ahN!h~p*q0nXj@(;K3kcR_hY`Zys3nW# zRBFIzgny{x(08l0bQQI)7q;ROf(`CCo{bZEl&r>WI+%Q{HDR%wlm~A19wXu2D@(@V zwvxQcw#or-J7z&UtYwt$?8gLw^CULB2p{>C;I1RNc4gx=|&c4+cUDTeKG7 zLibqN+BpduE;UEx#t&UbzA9_LIF;OtL}eBZ6ZsBTH)W#**-C@x04%`n0Qau&HX^_}wXhnMVh?X5qCj`mjDUcjCYoM2yl~CLOpKQ5nP{Yk&oBguZ~)FxGTNE` zY!U5R*{3B3hc6_DEeg4Nkc}zXom~WyPihn9OP=EZ75_3t+JXYCfCtk=*huZgnTd z$g?K7WIWi{0g*u&{Ujawoei}%Y0C>9B@}kn6F>-+n3&|x#c2-GWaED}lbr9C$E6iG z--so*jWf%EXJ*kpSb#DNfqrd3snw@rob>{%Zn%^XTqLfa6Ct+?42839S(IibZul&4 z4#bS-u4(Uh--+Zl%J3M>u|`ZW`C(8Oq98n>f(y4p@QZBd!3VSZIj4O77ncYpO}6!diz#I3NN^X$xlrZT6=` z)T$NjE)f^Wd+AK)OI$)+yIRyqc*?<@r zZ04b1@bJuehzv~ukO_3GnpHu@I*f%Haz;oyQ+yihhbqk!p~9lYB6HU>ZZaas{X;+) zI}knTxK&U1hl?P!FM`6#RgM!N5$}@_^ZF>?*tJ@5NR-?1xO_{h6$^y{%OkQ#gn{!G z$8EqU=~o#HB~ro z$!4n*P|2hfpC|JakVeX_o|!&hda%Wuye%!`LgpEzkR#wOWF>TaI|a#6{`Fmco*%hb zTIt>pWXfyGxC2`&xZiIv8+FINXrtYHBsNg2amQ@02PK+g`Jj1#IE z;!Ap8RBL#)rZO_hxYj2G@1$UWeFkXC{8CO4HR^&yoJk7D0LW3P)loCH3G0wH#RyBl z&D-+cX(81#QQX1-!;fvKG>oQdvnAt^-O?IF_HOc7v?$Czr`T_mB_|=5-7k}|4d&-B&5edgBY!rWVuq0h-s=2WT9V5Wu@W)W82u++4(9_NfErVu z!XDVcE2t5PXGVcTL>OrfS8>|`eaF(a@8GEIC0l6%$OyKKC_Z%`Gaa`Yi3*_aiZ%6x zq>CN8sg@$l5;pv%B|(@LBxgeE*bH=_TZdd-7+q1#qKjqCyW`>;0!>H;asdZy)~7=h z?S0EqB(!3iok8Sg0aqLOOZlDL#Z*xkGU*;#U%E8R#&#S zmJsEdo1vr=B*M#8L@l zMQ1)x;Cb|cwhKN61~#UymSY57eN4!vIRWyK9^xh-Y{|Y3Kkq;`@Xc_V+~@&BrrXOP z(y}w)p15olJw0e3>%{J0yk^2lEQparz;g7KDp+mQGMtci+MsxE7n*3q(l07F)m)|o zk}Bp-KqGKfa0nGEh2j@BQM__IP9qkm23Z0qS5_w;pEd{T%|9F56JaEBa+VpM7kJ2d zNg_Nhu9~ICQZfLl6OeGpZjxCrB1?{IGy@Yc#!#Q~lZGd1)Dq4TJL`!OR#q}hM)I5x zLLnVG41H*lFB53-7cDt1S5ep!NsNL?+^#ZCXz*~36&#{Qndd;E%w+PJgWwc9bU}@V z=A!7cL&Pm7x0+YcIzVKR2n?sBjK|O}a8GN?{h3Gm{ zP($J;lICb*S>w!+Yx7AlWcgtwy03CT?M~bHYl*{Vu}w3S5Cw^w0aKVV(GKNv^B#bA ztwIqRW*|=OAZXFyS$v$-T{B>f{$26xaZL^Qv^Jf_u@9B!06)?XQ zW|AqLA$yw#2+`_PMSUMOcfr%Qscq^YT+FDKtm>AWGAFf;-vLNmX(79o$8NO5ULTjs zbn@zdhJ|E_4haloP~@J35DC+@GOSwG)(BapRO&GUgPzr3Lx;=3CXI{6 zkTftY(v|CzuMvrvpto$vOLy7=ORKvq+p-#-!)QIBIkhXH!(;=Y=Q?b zz0!weQmQfBV}Gq4<_k$1%!U@Z;U?NEd}@_WqRI)+qUDcj=?4XjnAz>5vn>&9q1K^} zmkh((+o2|*abez)?|mS;qJiDepAJP=X(bvlpjQdLg&++Nb&WP#b`7fTb&4zi#U zP6l&_W+0BcRcyCboVAW9rH*-4StphsBZh4u0}n;gPCM^iTpk~@_(b8+<#~5mxVc}; zjo9ZxrZ+xq$vtsYyf?$1HhX!klo(aGk|ol_37ZeL10UBfa(Zt_(g_8>5-VX~k(iP` zO~mp?E21_R>cy z+(NfAHbE*`o60+A9+gzwGmf%KrrtYJ{7Nvl8@#QPltmf90Y>Av>S@teiEu70)=frd zAbDdNXH%$v!85wX6fO^J)h)LP{6I^$yN4?UyE8^&aF$Z(#+4v+I~<&EjC<9c)wISL zRf(K@2)LD|z`1>F6ETsEDl_E=+PD4}b!OiS31@)an{-JqWGn+}ka~ns)3Iusw*3RJ zaj9-+vz26fPbs>&3x&Ba=PMV!PH~=qd(^G?!cPQi@ZmXOSkE9D&UBL=WMib{;YjP+ zs^zx7j_L`tMKn@c6p+o9fSuVJPCCX0HrskC@UIiVlA@wPhK<)pkw&wS2`$n*1Gh}l z1;lXQ#qkd%%EIF1W`wZ;NIFXD$LVbEo|L_}7vlDVhzqEc6CS%`9>g&?I~@5?=TEL` zcT-RCR;v}Mm08u8Tn{!1t`Hn_&UWays94?b`1$vDEAXZ}W;4e=_aM1Djj@IOA$lIQ zowo#Hy5TXGYi@POFo~u~0VvNNrOpWI#fHFk6irr9S~csilw90Ob=iy+8!PqS8*P!c zY8*mqnBXC161}!$m75~uYtl6WHuHX*cNI5rr%7 z?s)w1+DNdpA(+8#iZbC?YAx4dfZ!gqdBoRHrL0b}Bxj!-=gOc)Mxq(F1OQ1Rt~yXI zW-Nwv1<=e=clmU#24oALn2cbrrEUKJ#$GV2g(F7Jr9UWRoVV;byGE}s_^r#p zmgS)h308~@%cz4PB!5|6p!cI(-*|>AhXISN%fzDCk{GBVNb>Z^7#h1~s}27E0c)`{ z4pfLAmo#Vo6phpuPOlak{RohVf|AYhCFd!5c}A(mJ*#UxOu=f+u2%34h)mX7Jv}boS4L)_|NaVbnH$gyxhs zc5Q6d@hO%`;90IDCj|ynjSY^>r$}C)(mXUbm6la>8f?@;Jk8Ak*|LB7DmK-y#R!A3 zaZ5;MXNo5f#PV6PvtYb_eMhJKlKmIv0Mj-x@V96!<4_?%s9 z3E&e8ZV?hIJU25kOLWJVrc7xJ2kICjeuUSccwWoE2^?}uG`8_95{TY#HFFCix+v6g zm;(*ldf^_%2ri+xnjylYp6Ep^SW^1XX$zbVqjoz1pIW_&=K3oL_(rgkJei0n%c3tX zHj7|<^Bm_^-70QKjU{)*Y`Bf2mqp<-o*&EQF#}SKCrIC7riOnE!DxiHM&aPT1d5gbdd$5s;^sKMTT`e|Mfg#B8fc0xWG^$mk&*)ggc&1ciFe=1 zz?zGG3UMh3P{Eo@*JXPkQ%)ONqmnj==b+f*Ij^F;J>hv_jtJIGC6p74BrYNWaj@t{ z20M4IzHbcpdR3B1)6DP{(~ro;=Q|wXbLAfO@-ydnvG}=0SlfHPM3eA~i@6IVDHP&n z5HjNgXp!)!3#M&5=*|l205&q)6OFd5;f4qdaH2G5bW0!tQl}%9PxR#OYd<~3 zkFehj@>CuJ@q{oLZQ{9+jk3sB%$8`ehaph))N_T~dahpv-dozN0a_`V)dNrS1!);y z%tqT|U^;5Yy?uW#f_OZT!iyWq@t`CS3n@}uFa-499>Rxn;45i-hTbUR5*9E=hRM!y z0T>&7>v7LyyTV^2-~Jx>kfIxemf7W-FP+%y5YLT=Ln9CmtI%cer-(RYw+udpsWE#X6NEO9QT(pE6PG0+QwRN(akrun7#e}y%-UDdN?^o1GHjEL?f8-3}O&lD&zcN5Hs!!XpWU zazSi{PH*sJ<&qvvM0rRWN)yzx4eRR5zr!n_##r)MaNx#Ba?Pb&lb)ciM`NgppZ@?Y z_&+SEj!5;PIuPni4Juof`xTSE4%=;ABc6obFOVegryX<<7fXazl1TZxMiX^MRSl2{ z2TuN6oYz5dX~r$lrspa=k;r9L1L5T?p_WC?aNx1kgV6nJ={pa?>k`a~ZvryIBB)Rd znI=HVlE1?`wgctUO#cAjdvt{?;(=mSg;evfvI2#4z6xg~4Zt`!t>e$(D>{6Q4+Qa? zTt3Ie8-un%0OXYqvmK5A^r2kvuNjLgSrKzAF>=b_g5&34jpzdq%1Osc z`qjS-AhnJqNX#zG31s6$pZlA zdfq(u4rHGUL*=&c>fEcwO3cIfX&>=HkO$NO8Qk^mxI6Ddy5am*c_g?2%qwFZ(Nc+k;SJxx`A_V0_HKJODcumX3jH= zZcl2ioJf&GB#+@`cp|kLwzp`e^Xm_*qi>`Q#{JEGPr|=E^EJ=t8d=Pl$IG37?~}Dy=Qvj0?M=7zcs0y?O3q0{ zFr<+z2aw1>Qb|xzy7_#~)PTSOXj0p8SdGJy^1>mKXajELPOFYlM)HPCHUT|J#eESE z;I)#*=Gu2?j+oPviK8L8U?5@u1du*u$OC$({{ZB7i4`s;F-v?UfDsMAAvB*mW1+%xyohQ|fcd7FnGg9;D zpO0#i<{MzQFAgC=<(u<-%;B+scfyS48Q(O-u<#fzBNok;nHZIfYh1gz)u&E2MIp28 zUG!gv5yx+8>map|0|Qeo7r%0yP%S8FZcd7tC;zZzIny z7E;dd%#tZNKx=%EmkBD6bC(6fj^19qDrv*`h>p@3gtk$?3AlTi-G{}yC?Ar{f13bl zzzL4MYtk=&3cO4Z%N$E~s|q2vw_zRv22&oQ3Cv-9qzzao$GNKb{{RneW4D)>kxE%& zQ7C12(@A9J;GE%bai=@6By_DuABQV#{hUKTi7sQZypSS6cuL!ijmE<`3R|lj4Mgq} zpw4KwU*WfpXvp%wvEE1|QswWtYy04n@KLDXCz}auQvtKrLTqM z>s^T6G>Rm#SNMqvK(&9*CiP9+KSYpyFoZ;gdw4Id(+6eYwwj=Ops zBdDvM9mM<(9QN>hID%_^QZo^vXCSPi)EzxW&6UQ$ZLk&Qmi#H?mg?J}(ng1;`P|(Z`Yr0RYfQ%MwSWHwN_eHSztg z54VM_4RWGRO zI>~1lQ5f~bdCkKY;vz_di5$G4bvxlL-F%U#LyW08IK~TPbj@3E8~b00jv&l{6}F2b zOnK9Z8_WqPncZ6&npOnuQYIIBdRK;g5#hTI4wB!2Ze_B$7gn}`x$0rmRh{xO(z3TG zfw9V+fuyDIw+e#&rfz73lU%|k0^lfU)sTU=pDUJ=<|8=4AcDumFEsae1|>fi!k~@g z-JP{NLV=hrrE7pnE`{=IW9mQ>am6*tC6vcBQp(dY%xKEX`TV^nPLS%lafQ>dtwgob zRXkw$R&|CL{{S`FmMIJ>Rg7q$tZ}~jom8Bj#6&UrLl-gd;L}TRg5FDWHN0-aN0GUR z3bvqi0JtXvlH!}clfw|)0ck44M-X_{NLN#VmoGSD=F-?)uo+DBsw>N{2gb22!!+F9 zGaP^;D7Id4jhZ6vhhPv9t86y@m3Iu~AdVX}d`9k08cp8t@~3q<4&ji_Sd0=kWd{LE z0x|&%TwaD&jydh)Tb7V!5sXO@!8tC&Q=lIyZ!w}=4h0-oiBedO90o3yvH%Y= zOFMkdPONl0dsTN3w&2#UY5BxQZjz$PSfoY45r9W>tLRRg>@o>A)tEHAJB3_Jc^AqW zxrGZVPx>*Odm5awHl=Kn~pop^q>d zb*AB>@o_Nmd~-^mNqq&B#Slqyx#tC(g19m$*|0EsW|20$C*o|LDcVL=XjVvpiZIHf zmm~Q=)S!?`j-I{jWZ_&~stK-Pv@IcJc)<`8It7(qQQ2*Sg)Vw$X4@2?;CEMMIj$7i zD7##lKP;=LUSZhhmlmUeoVKOLD)bT%aD=tCx0NGhlI_+|=UQ#9B~)v}HdNsx_KMZF);= zN~v%`+^|#ZL-zL2EZ^dfaPK6uKDb=5jYANz6P5n}m;)%$wiFY!Hv$TbS?%W>g|>{C zq*IvJ9HbB&jlmc>Q@GD+arkeAp7v)q516iGwS}YuAvZb>27f6R4U?#9>9#7IM>^|C zR5HhPB(}Ovv;rWKE;i1WTkN1VII8#`o)3Y|@iok%+G zSp-{K6E_vJxn;O9aa(vKczn@n3nV5$#eP;e*mna5d{l0t;sVs&D&{E}<7=o!k{wD) zLjbu^8w1Pw?~UnkC8U#!8*-ACf*3@x41icM)Duq6slfq$UANrhO?eE_F1Z>5BqX%4 z<+v-#M2um&00|G1u_IgynGijUJ(a9wex9hr4QQ?;H$12warsLW>|;Jx{%y*W&;UIRK-I4TxwU(FFA27{nNupnmq*IC z<>_JaU^5)=jCIJOJ+B;{uNF6!I35;w*kBYY1hQaf9Mp5v91t)D^*P5LRz@Y|lG((t zC?!!eb0iQ9oguo?Ve?r;fVCcPz49b4dIY9BspOGTL{c&1J;v8I4l=qfX!;hbp! zH7+#cp~>iKa=#OrSYTO0tWrqkT|?qDW*}LP2|TiL;A#pNBVn3RuI}WHD|nrCMRK<2 z%Gxc{UVtSjjI$OPE_OrMVu)^gNfd^a`SaU|rYJxVJ2P_dWhYaJnB?{(jqm`aICbZU z*{&rA61C%%Q-GsUG96AoOM%h1C!nRLzUD=5Br~!Fg=KkIhLxUGkx1KO@Z`>A1( zxHY&qpAeSf(rDy)ej4Ci$ohdfe7mqG0I2~=u)zhr>MyFw2`;0S;6yp)_;wwp$Y_;_ z1yj?Qqbf0vmwkz?$t=@ElR85@b4bYzq=PSo1^Gt@I+Gi(OrE(Sl)v~ramQsV1RyNW zZKy~=D;kFdh$vL(gby>3wmMS|_AkXQWw?)8!6umAKgzd7T{%>be1M|_jo5;7wIiyx zEK=MXxCE@N6d#i$nuIRS65)V+=kiDJ!tQaCw$!D+6~1WYwvHuOW{sIddW$nJFvbQB z%mDL7+mHuL=7PLih^5$O<*SGrNVWm(0063K+X18sOKRD)?r?EdHY+=sl1N(4;f!r) zxz_OAShIy;<=Qxu4O(~Hjj@WTBI?Qu$lNl@oH?MkF%UJ9RaQ_Na1WOa zwvJvqgH|(fnD}k=im>L!csDhzt{5AAPpPuN5DG+FAdex{gSN%eS=pW$dB()iNfoI} zmf@1v>I@7ZNSuCM?wgr5{wd>^(eUMf zw9K|h3+y3s<=6+vA#{*S3}9&V#w#1daot4FG39csR7&J`l- zjZ5=M8X^Uv(hrg~C3KJ(KpIHM7|(j>_~gdQ(-DM~T6B*}<>cH-TnLAkM3@9`oDtBI zNXcd3kczxJpCet~plHBSFhWRWE2k+iEiKGA#9Sdrj+UkBq$qzIMzxbjW`4AoaUhf_SZiSCXrG}kz;}X0R0>(E~Kd~k*nWw zat}%}@ZSW-CDqhXt(KKpT_-xG3^FpKJLfo17XWY2VxZCRcsUYWOrtXu6EM|mbAqZB zM#~Fo1cQ~%YUm#4{1B59LM0D(B&w0=53Rz;p-y)STg(StS?f$ocVMtwCBw-cr87m0 z6;f0N&U&+F7zfLM4OHB4&J}Fd@Qav@yw?pQXGzE0|mFrgX>pQq)aS?3Z_=N zEW~Nk`Jp0Y1EKD4*an&v){t7mG_f#|3dERi(7I1EAa^=*k(`W?Mgzk_#pD{5-fmHe z5BytTh9gNQN~i-2cOYZE0&W*~7281p)|ut5oHGIdRKw&P5OOx_nw)$V#(Ae`;*sIE z(q0%!ynr?}KCM9cSRF@mf(NBQ#l@Emh_q%!er%>#j-68Axlxb?HAv$Jnb^{I933s* z=t6XkXptUqtrQW=!xBDX2_OK7` z2)2cyya_KlDWO)ll6MZ?gCsV5zw*fIoK@;hinI_rDx_>0S#%92Dg>YbAp;{S8MNo1 zt(!|#k>gSm;q95r4<)lnFjaR|JqS`TJwYV(6wHvNrM0_!LwUwXkmy|zmIUl_Se$~m zCt=!>x`T^AiE$8kV=-x7QPnc@bj_q=ePr#74Tz^zjT^n;wlSwOnTbu?M;yIX6o}QN z1G3}f&gV~E>r+R<1)b;R5;C@`ZSsg2bvtO))s7cY1AJCnzY0+*yBM^>1<7(%Nd^El zI}CXNJ+qUw3s)YROK1#|Ln?7ID3oN|0^gcfMl+F}iTSdAwHKjFxa@YC{%GeUylZUw zw%bDENX}JPe{59by}ps%C6vmkY*I}Gw#Xk#0x(9AfWzxU;m_g=+vsMB?UP47UTnui zYlUnPAY5wfanPTwGiK4G_A|+PSVtc+CXdRxiFMG&7%d|vfWNu7LY=%dWkmY>Co9U2OX2#m6a#(TMuEH4- z0+I@Xh^v-o2o0?+oFBeZ7MnN29xP+G)jyYaj11DaJa0hdWlMB*V zAmR~9+@@cN)XgkkEuknJYF0Z1BLVyQO(`v(6j>$Jh#kOa;gG9am2iN#Jqg(7PxDhz za&B$XBO;ZOLXpaY_;7}1BUh}X^!}>RThVdMxQ$6`Hi#%1WlmTJ1&P29jIs1JP&T(n zq2dDmUkjWFunS>RY~{lL0Mrx@N+jGDipj+zj61;)X-(rHP{EjGrQ2b$kURbA zEX-2I=_88ZTX5Wv-1E-6+Dx#i4kLuvlOGAhpSdVgukEM?W#aKTOas z%$Sj9Y8p@YC2|Lv0iXFm9+}hg4z;(i<4v0x9c5u`nj|A9&!$1E)W!kFb51|_ylhB` zZKFhtL}xjRaHU|_ZIOaV*kpPtJ|I+z z-5*S?3z+bz9!*4z&chhNKD$;~Ka3XTk)w#>C5@DC5DM63&r%c)r?{xcJ;WyB&tEu0 zYB@3?I%UunLK(CF053fN&cskSO#DvTMMhIJt#i#TGH!IsuVr03gan=Ynkl&WCE_g8 zM-BzV5~valQf=i@G5U)T0Q9RjiqaQ{LqsHsz(G5Fs6={M@G;Q`r+m<&hV~&Xo6oKw zWD68be53;>nX!V~?4zOmsjEr2&`Wq^NQk%L!3>OaxaNVDE=DqP00x7dv+(zeku(lr zGRDoEU@{NHGtnF+(LunnQj82Wu&=yIylrw5&I{Fn*KebxfOXFu-X&|=D z31(V$LRheDP!7tG=OY7iT7gXbBZtRr zYX+dvxKNVHxRJzPJZq=fxPa{Y(hKZ(;{S)~hb~d1sbKku0%gEJ+p*GjiE&x^LdPOG!A~&uw<; zBDK>xmS6@-0(ojbmp+}vR!4E-xFfwsj!TIpA*6XQA`CKlMcZ-|bsfz?S@HJJEtXV6 z3q|LS)E3mr28}1NeC&OVNo=l!S8s7Tpmyb|YGPHFeFOuXLccRG+?t8D@fCx^qzF+N zWSSy*&=N*bunu*B(Lun#t=!!3rHhFhVI%U#EVF^n)Xb{HsM|04LwXtsC9e>^Tag<% z*JTuUK$9G?jmr|wI!Fg?$g24#o@;pH5zBJYX@U!Q-%0{Joa2Gh8w~aaoXyRgw=><_ zT$3%cG*LbTp@;yx9+(;J(>SX4xG=yT?&3(<*c+)~*`HsPQ%LBloBNicLd0=yB`^4- z>ntYeqmC_H0oW2efO_VJ zi>DFsBy9!6D=ILXLr8NhNFU3~O!UCtZ>2FG65@?}KRFwj9p;@HfrzVv8!*l>vB)0O zymmZTCCqY29780st-R!NLY*umUqZm2r6`wET}`g!(A+LU0O2Gt;Qs(N4l}WT~t7qgXhDYzNAhWYtlmf$mYSRv>PW^I5wZDB2K}-PSKZoh zQ432PW<3{tsO1G-9I@CEPQy6_<6tQ%0>N=?uM@08iN=}~hGDNOtsi5A)3;(Nqh{?| z&zQE5fbq4HOL+1E9SAKVwy$%HW34~Ot~@Im1&SEdFAUK;T<)&pNL2uBsCB}grnf!a z#<>^)zX(%p4pH+;B4AR>8xdmkN|ZagIU>6VMJL?ZNlf~#c=Ng zampcum=iOpD#{2Qa4MR4tnDR|Y3<$yj^k4*d7<-ZK$>&%ft=A=1h$>vQr3kLat`QO z6tWdycRLMUv@4EOhDk(XO6$Yqccwz4P%3u-6yoa@uM1R5RVaU00(;(`@{=C?^V!rQV$ zSb|A7$kZ@frix#Oo+lNM`AtuT#lvoGZjx!VD%|2kwZL${^5c>5kcp2sUZ7H(HZBy>ph+aM zhJIvG$u>D}f?Tdt=K$bs?~b$-y5n3uB^L+;Gc=J(*2DBCUw%WHO{i~JX z@$qXlzlqN>H{o&u;2jZ+7f>WUn>`5XYUUPLE#kS329h{9VAFFU#k7vWaEt)lMo(X@ zHEsF|Ywi_uJ-l*HBo7l?0qyPQxDc|9Csvs`i5jz#c9SwQC>xTe86&4k9F1tUiD%1&*(cLDYz!SecCVcHb9lliAki#S#S;RCP+7*TXU;ar0{|1a&eil+ zg!sjT*7i}@7~?4*mR^4O(eubNjj%Vs?r~ouo{5+<)I;1nKVfqik%}uu&KpEqtFuAWPR=N&VTYS$yn;hwF( zgXQtEn{RN0RtIf4z`!SW{{Y|Cfjkz(f>dNSL0y~sQz4WewF#vg?b^QFa-11(@#IV3 ztle8y{(V_*G050{)gXmXBL#d7@-{TuvS?<;JJ3TWGJ4{q@>~h~4>K!oU`>UJgka6F z^7hBI4WP1Y1A+vZ8TqNlby5v9c1M5!F`SL)3h`$i-Rm*%{$K7-GbjPL$q~3`h&9K-lCAXQ20{7{W;eWMZ`vp=@;Dze>#fJD0ZhJlvW79|IB0-}3NT zeq;UWG4PvMt+{HVOaO4*PMqNH-xTTO>By+$V>OxhZ!b3AW%F`^X2v2n8nEG)`Nlu( zO1BTXX)_?y3`JW%A@ps%JJpkN@tn}GpnvZ*KeuoteC(B90IIC6r#qO>L7ZSV-^=bP zm*Lh7;p2z&vq}!-jsk|?ewq5^wY}SpJB;HVAMi2cG;ublU_~enRe&ZkKs#h9>URRX{@cOa zH<=?KOLn)tHvuI67&%ZfN9x#ooq!eYGDE|_K2d@WN7lJ%EMkd<9gd%uUgTf}#(k@v zUk>9>(%(4}P^s{te;LT1Om7ksaC=Rq2E> zNEd#?ZO2@1UYi}S3tdWxJCX+5wm1IN2I1C0T=La5GiuT5+D?D9W_}&UYtP%xqwv=V z7b1BIt4psbXZ#H#%v6kZQh#b@-@*1V!qTeeo0&&5%z)*!ZH(&B2;Xh~mDk0?xI#Bh zvX(xXZ8`n%Oo(jo$T9~fmyWx6cKhPB{kx6#%RYXb4Bi>xV%8`CGnH7xMn5wbMP*V{ zjA>rOwli1UE5Uvh5-id}#oe4lRF+Y%Ag4?f+omzT)zzd{$45{VG=RM~!6*A|OrqPJ zI+>0n1xG*#-)vT+;k;Pe9&(yr2k;`SA%jceHZrLK;D0j)UpM)-^*!p^FAm(K7sTm! z`3mu(X^i=Xh9xnLEu7%`p82bYQat1USSB?MnCA!ms@fQ7iPwl)` zXOFvYvxdCze}|-v2}ICt3tNR@n%_{+2pc#GlfSQxQZ(nlHN%fBg{ivm1Ubc3l>A1XE?|rk9pueWz;t!Fp~35k!h4u zsOk)=I+=G4U$T>m^w+h8x92(#3g@bk&;|!$SFxczg{Bk&nABM48ecs@1Rbz_YnEJ( zITqh{Nai8p7XJW-oH{wyNzt{JT~VOYn}B3d)ZwwKC#fI|bfVjS64^<3Cz{ebXD~mO z1qB~hpCR8kkoPQpRsdJEHMYES9JXImWc?1r^xyZOKL@fg2;}_1fJsxQZ#R{XeFFhc zQN1$d`TT9Z=bsYs7yKyTamQ^1ow^v}XqjdT0+vo`Qc-i|K7i*rJxu|B3j8xG&pqlc z8;FaTmgRJ#5z7rYQMeN-4q$GDh7JkGwnxD1q*)@JM5xy8iUvMVa8LQMqzzl`Pu%d1 z63QKIgs$s}7yz>E=KASw;N&jYtW11EhuYuyYB;z&2Ji5@fX8oj91sYZw2p2LH|7?N zg0XMR);8Zb1L;CP3H&08k~U%G!~}}q8-QWeE1xSIIShq}Imp2qZS-ZY3gW<^(Wgvl z<(LJ7$+!d5gOYtSQGN%*)-WQCp#K1aZ{UEzG64z{?Wnf?UgEQ^dL})68lE;UpXU4= z;g=Rx$IXjn#)SSUVhgm#10<7;AnY|MJuyOu@FLD~<})zwJ{rzZ~L2+PSTK({P&hDK(~5(aar z!r_VTMLc}>;=X1Nns|rc^wIGl@V4skt;5d@SN>Zx2QiWXz$qv>1$R=4B_h?yz{?$4yxN9*<86)xck5jc;L9hPY{!g5 zS|;U;VTL_&e@}dx>m0`xAtQ+qZTEb-e-F5IjC08x5zBCw5-h75Jd-&fl0EZC_VdcuRy>t+T8u%@7OB zQqLebVB|3v)t zsU4k2)xYW_FctM2z8|xRBpMhNIAWi~Awy{jOOuUEeSlyw-i>F&l%av6Xc9Z)a~7Pc z20IBcz6sn7BYf?-Ca=xq1Z9il3%|op8o^|xU_z0JZUHAOScfSYZHpAwf+Ju7$A2v{ z--B0H!s_~Emec+{B3@}`w+zK(5#VR?#ofD|y6nM{VU8&sOEb4Gm8_W946x6X z0tQGK+j2|b9~#@W)OU=~M;*He#HF0EQ9H$i0AX@+11>b20zt2^pTaisIJ%DIqYg9^ z7UW>Gil-z10T~VR65Vzbll~a^eWaaawri6#I%jfq%yjM%8`SCy$JZcjwQ4!YmGNV3 z?D)#(!Tu$+mhGcuo>-)jz>xlIYzjV=85*_e@|*0 zy0Iap4B+841s-=RvBCcNtw%Q&-p1kazy2KYkW9p3EAVcJ%b{&RU2)~xCobWXDzD3d zmfIC6JSpPwZ)>(=j^IYzjEosIO3^tv3chSdfJwpcfnQu*ei-nk_)v8L5zc_B^Bq}K zZ#Hrx1mNRsOP=(k--I`c%Wx$$-Dr=Ks>*j>5#6X4t6A- z$(7r!eQ^H(h29Ulyt9(t6}Qq^S_^#gmr+Rzv0URJb^zsz4&5jZ;FY3XO?4~~NW#=| zp#W-ERpo?3@_<<7mphUNy(62!ca68Z=BMDkGHKy?tu&~Q5}6K!CJ-e^N&a`#5Rg3B z&qGz$BI4o+9j$7n7jc08!^If}3VGrI=z>Ff@|zMr@JAn@`?Wtru3bVOGg{HYra z4m37N40jpNloC4N)n5|)7m!E`*lUd?5Y9CfhGkcnD}Yawc~>PyGT!*DeAf=!**s4J z;uc8v2{ds$Hs(HDHn${vSTcYe-*e?E016Ip!yPKRaeHFU9w&WJNXAU!P^C*EYIM(- zsnRj##`z=~`d$A33V2J}m1ibKUU8b&s+1x%g9H$DjD%+29-!AhFX12!9jZj|tg(b? zA5S!BY>Xl%NnTz^2LO|v)qZb+*5Y0Vd1b{fEzD?(7v{_$(r_6h(Hgl?oQGYNljb02 z7|lCjadsXiTQbm_MR{BRnME=ZflD7U3f#P_rs6e?SaV|}>~IND(QrL+O;~&|dzjiAhK>;#Qy=jJZVW|^o`_C0 z7C2pCkC=+}sXq%9CAoizXo||R8E4WZmr}+$hW!NyP!4}H>rt}&Ht{+%v#qd(NiEXh z`JQh;al<9G<;|?|BBFBKmw5$1XvDO>PRA&lE z>P1a20bXLyAyLH%Qyvr@JncqKr&A{DjFrwi=Dl7200{W$Mury+BFbcu!sggA^ccs@ zg5(jl?IU4b# zL=rvQ!)UaLo8u*jV|Rpz51a@Ru~G=mgM*yq z32uBJDVhb9m`56{&Ps(t{5fRO0m$MQS{?%NEUPLTRkUC5siwME&tvf$vtup~{IE$l!S$qZuwITrbhDP;2Ydvc zz_6BI;;S>RVvvwY4oJ{;AcX+nlSoG5_23ejwF{xjYl0Mv0E;6=K=L?Yr3cD7XQA{} z{4kdK28JjeB3c#XO@OijtRp3e!Bsg@8)xn62ET>=B4>w+NTot4DzW3^m0ZjU1q>MA zkV#>c{l#iHxLbQBoUN7e#U0EoJdFj!2U@7XC4)v#vD_HUm^j>#vFnDd_{1vj6S##9 z+gz(#kBEXzeAA^e!+giE{)4|`*G>3a;!Artq)6usGX>PBq_|=s3fWVfD@NK+eI)m$ zB>W+?iddzE4W4*-n_6MyEh8d25*XpMw?_n=0#qE;jxIB8_eCPh#-obRO&J#G!r>!w zM2=xq4nYScN6JrC)1JnYTh9p|R7o^)v+$#?SjjW0l~{rm+~DPKGBKrxP3xzVz}NQI zTr@`u-6SDq!bn~-7UZzbgQOf0 z=G58st$CP3PCPFfy`D>WWo~hdu;p)V0%>Ff=Ncp2Yxc)+n<-|$_cWfHB#h7qWetf~x}khuV3DdpeWKJ*Kp!>%_HTmsDe zhb#n{BzYJGU{`fqd2_J@RP!*A%-Y8ktE9TJA$_HpDc?jh8-Il zgxF^r)CYk)O+AdUnIMd$Qx069sa-l#n7a@;hBJ_QZ;E-CB<;&actc#vBS9iGCFQuu z54qH$Mge**ph)R}PHJhyA{LWLbjC?zu`!pd7ofg#?6Y5=cXjE3OD&`2^&X ztqkEFa%=&>(Ck^I-Q1hz%D#F;yKJB)f#0tR=^J~ zfDbDXG3s(b^7I(bda;}nHs7IDh}#BRcKCJpjZ>*y#@b0nRTqcvCEc)!B zcDH$Ejo@2#3J!D}>i}Vf_|Ks}^|*Lfi_WPo<7gpPBs9Q@&NXT|3)2U3-zoai_dXu{ zOq$*)kO!3{Sz$%;%ojMlX!wFIab#!^3BW~%(TuoeFT%Z03R^~ z5O$zz;I}eG904t(n$0AhH1h=slO~1-=4@`b!sn>2nqC2YY>{1Q9HLlrCdpo`fGZur z2h6xWY#zd?qVPZBbXt@mFl(S^d9rMQ*?=krM-bopamy#~UXn}qnFrMyc6 zNa!SZ*GUn#P&1wX08Uo}r|(8fUlh54W(x#x4r21ja#j9$SO7uPP6CskJ}Eh4ZSJs7 zjK#xa=E)p!gBr022AFU@X3tV}U~k#BrX`+Nx0cmpmFJd4NStNME)<=B9&a$yow@)h zZD+@BUhLW?soL9I9Gy*;Pb(-b(4Yfeat;WhLt)0?V=QsTmoVE$DKV0;-~dao^%-4; z%4y<-CZFS6%a|f%Y&xW13?`-75TFDQFagNHBpjU6(!K&J$up{=EK;a1%aj3<%bui@ zk~&seMS7R7as#<;BGO!+nLjTCM~r2gBpvn`7@(=~wX`zvInmiAjER*$FdSfmqydE| zI#_hZ`Kh=Ap5o+2>eI-K{6FIhM1L%ncN~DjsZo|(k6L72NfX`j=H^8cNeDBMvH~On zBXwyB8Ekf;L2u$zGDi|e7yDy@uZysbF&`#EjwUw*a)&d>qzoJc0~p3vH4EE665mT2m`riH^5aw)nGz$O zV`F{D@_Gtx4W5SL^4=EZesD>HER1z8n6zqyp2QXh&?u&P=EiGC;FJi8+(ME$3_yIg zq5Vszq3f!XvWon(i)A+GphV01gMMNMZT?}`Zu&>PV>gQ+j%%xU!wD_9`EUy88C61~ zU|U9TH}iezxKTN`Eo&e|VH7usEHP&hD19%jk8s)C5w~hI@>yQV1DED0ywRDC*pTSg z*BV@d<@6LeZg?WjzYh~cuW=kdlruMz4nbdBZMHM2mWi*S5(#5bt_KlK8Q)Woft-Gk z7I41*0D5jMy@kEi+DR3uGONmCGN&MFP!}P2i;QUi6Qpzl*J@vz#;+b3CySJmN?TI` zG8iIlpXmoqqqQxb6$PW*-WLpRM2bh1$v>9a1f1jpK})|F+e+NnH1fy9OpuHds3V00 zcNsl49+h_%-s0YVBYh%Y0?t-Bvjj*#M?m2*)F|qDiegK)XWmsX^7*hN$15IyjIN+` z$UBdEtV`|#Z7e9z=zdx~tZ{E6u^3b?I))^IXf{_fGf54`Vbvm|@8LB*hwnx&N zfoU%j;!}&8h#BoXf@jtNTt1d6LElW|VL;sNowlcKE_ik>t_rDUktGtj07Q?K5pUdW zryV!0a^i6$k+HdX!vf2w5pxKws{&dj1P-m7Z|_W7Upnwc3y36@nmASWg+L|CYC93O z7eC4>mP^^@l-*=V&~W!I>5*)jh;#~j_RG2V+j!$`IS>h^MT!~O=QK*8hPC6Zw_W^dN;Jo3fV;{${5*dq~wQ4sk zVl12NqXQnft!^3G;_Hv|@BRi!T1>JmoR-uw3Fvj635SG-sj6cWtNY?zkG`MEvpmW%w`VH#R&x_w*X`VxkR^eiZU?XV^5lH_4>Bpyj z`+Az>A>!OfOdeRH1}n!iml(CiRe~atGRisw^3giF8@rzk{{V-c6ae7vH#<~qq2Yq%_%a}|mS~BNR?9?rp-_YTxYOk8k}+D13#s_O7fJZE zb55oohz4Oe)uq4^VF2n>4fCdza+1I32UkIQU>kT-l|7^?f8 z9pSiI-UX1cxhoqg1M+}ZRy&RM_o=kJTGa#+M$x(zkChSA8j=Vl+dnf8Pf7xpOIXHL zmPyw`#!8tZEPU+JdV88k%74S-g4y!Te;Ys;j%yNRjhufk_&aF_^%B}%q*#+;_ZhnH~taj=+meYcad8I+;pUExO*uU@iD)gN{>m3AA}bP5_*<4WS1e2{|5=Ex)*y{{Z1-P$2-r8zM%ScvQ)k z$r;GPmJA=J1}RAl&`Tr;eg`u1Qe6K4!mD7vDl7$sJoEbG{3Cv(PD}z5?1ycY;L>v0F;Wqs?-_Hsd+R zm$3ApOxKb_1Tjq48t)uNxDm=g^6AJMY6NFh6Ki*h+ADiWkO$JjMG5DSX)2|h1Gzt; zew8_(@MMVmIvccAp7|WCJKh~<%Gt&+yB$4%s_CS>SY_tL%OVvsBKcUkEXY^W7{>j7 zy-wn88=H9ei1;U4#3&F1W^fp^cwf?RH$Jo^#rj`Ia*(Nx*d@e@En?j<7+uG%ybS8w zCZ`GT#E_Pb1I&exwmhrm2$JB80%aY&seU)aFXxko%43dKh2{LE9!{Y-7#s9C$vfhs zJ(mTB86~%vhR~2}$1T8{C}jvgPz2JsXF8ugQ=c{t z)Ww{RQUex;X1s8g@_t-8WD0bEPRxY%J7R<#;Z4E;;two~b8dkY`HQ3+IdgSsa@Pr|W}guWGFz0GVz}D}(2l0LTU*ew3p-`BxM*zNY=Bs*##0Cez_zTB zo}oo_^6@)#wY+;vfqZTnB)MHUKo~JN$;j1#lec;_;uS4StdS_Q5xcME6C6>q>R^ls z!DRppft|Oh++DyURJe^2+nN&9fW^FqLd4-tPFEY_Y=8(AAAsR;TS%`Ea~di}u60|I zP+&3c$0q}|Ms~PcejJiTB0ij?qYbbd$Ah?R^vS`=+odFjL*doDw&px{Mgt`2Dy&;7 z^4Iet&=}w#W2dtKewFV&9W6?qY>5hHR3Qk9&^%&NR=ZVhPK+U zDh^2_ZuD12^3h^+h$~XlzI`evpfKANHTl&}+M5+74at;H103gi9=6H%qD2@1`}w=n zG@P;DVcM!RsUqZ_{VGt)a>{jp2|c@eR8Yvvp1)qTmhz*km1S)*lsbD6+v+J17T(LT zot!RlzA6gtaB0IU^y|z!7ZJqN{MZMupIla9A9Eov3F80nXT|Ld*&S)2Kc7q(obLi<^00So-3wrQ$p)+TL56hvml- zW=Gtp9W`t^4(GLVusiF)7{lVa2yn>ZfM7ucHtKV+1bQ0Yp@GH3O`L8qkXLm%@As&e z0dtP^M{Q$g!d2ppm2EX<1apB7NF0z){IXAwACqy@09#1zHX^JmfaUq z2F9Q~fU)0hfKUXCy8+dxUlqoFA>nIR2ra{{z#zg&*vE|IGW(1lTDrwLoCup5i>0v` z_o#_r>5wWi0#56V{`DseWp^URB3*$40|(Z&Q8VN@IPF7MxAPD{&st6HEg;6Tq!XiV z`K%*DRXnT@6x(}_>jriJ>Rl&p zqtMdu+HqHcEl!|l(ndVncERjutt^cGm^*2vNmgP(&#gS137NL`09jl4!)5gxoqLLA zIBnE66-K4OzyRQ6ft+@zV2<^p&eCyKcsNQ%Qwd9N#LR8VaTJ0qBe>NXpItuR+N2nGA>-|T!S~O>c zqY0D&iAIo}HYDs0+n&EltrJ|9QV3DY!2_v2y=y)*hy#Fpy0d|>tj{UIm5lN~EyFS( z-9ct0M#?t_`{Vmji7=)xB`pfJl>jbA-AU_#zisNg+=AJ_#&7`lql??DA#Lz*Gt#m0 zd=|XP3GMC7nli+NA2-Xk-2ui&w_01^_&yaDHC+x$X90&@!(*xSG|D}|EaYlD!ayD9 z;_}xF%B7B?Fy}dAk1jnk(-n-l9tK}!x7DcPWeU;5@40`Lz+pq{mptM}$}`g|fe{6B(uxl0zpDA0$E7syO#!vRBXKyCIt!Syt(mXo_i zG@#QcW($!K)4rSz%6DA))uEQ&St3G`E*GlcuGz;?{it^K_RlJ}oN6I(#>-vBEe_EO1ECL}?a575#z4QCl zKepm|(ydMr!(_ywIXRlMt-Pca1u_UdPe4zlS2qlq@Z}~bLWbr5TOfcAP=l}?LGE_0 ziRFZyI&xG1NZa4`trilty(FCg9Cye4s}u0Zl=G#{Cx&=5Y~a8Pa|7#e7#0T|LXCjQ zA6)xT{{Zm62WIC-Y>_ldjUJJf0hr}*Pp?upY?|uVSY>8XaNV=3C+S5k!*v!43Bgti zlHSDs0Pkw&KMVZYjx@O|uMGHIkfg#R8AB7R0UReKNheQm2H5thYi|m0Snfii#{8eV>yG&zq*j37EBrH-WAiUjj@$nLwLiAy8gCvv z!;z1|ei0D7uFWx79IS*LB)B@0AIiBqleY8`;cgoG+1b>D-C`u6Ds^O@`}NPQb}~)E zSfZRU2TmK_f{nvNI0y%v>MOSX_0E19oRPbDIRX^Z2RA7902BFvgJh9_2yEkR#?)DS1;X2skr5Il z(#Yu|ql1GZD&T?_atOlYV;QdS*?3@x z-^{}K@bdV74E!x`E-dY|FD2Lj0>Z_PvRRe7W2VCx9`y(C2ZW}6T*=BZK8Y3t#Ckv> z7_d3gLk^$GzpZ+iv$GqN2h&$x=l$vzHe4nsXPFqVOF1MFDFHzPSIl~3kD#fSA z26_@VA|~&*&9=gq{8YaDT;Ue{E5sZ+`K{ozVAnRv+GBFXUzX0JZfFE&pg6Bf;otaw ziP>9UTg=nNJ(|lNvOp^1rr0?k@1J_ia(v!8w*C!y(BlVzY$TCxZ za=Njw?tI(z?MOx7PYole3lp@gS>t_CNZNYGkfZstf;ZLHy-)lu$f1i+3(G1O03go& zF}^>lg&zyDBlDO#l_cZ%f9c=8D{;zmaL=6%2IKJK!?LRWKuFQb=|7inx{l`ovQ>fG z*BjD};4TW+7P3lKMp-~3=C%Pqj4(QI9OHAoa7}ttJU4}MM=8vCb!qJXV zAs)Bpk29PE@~#iB{`=JVesVtcqm2(Ym%$uLWsYn{#|)-a@;aW`9Z1N+^vD2JN_Z22 z#AkTYMv4$KH{}#o|`~0Ea#t4L#hJQOrsfQj3_xXMdC~H7O%*)n6y!z57PC_c1_x zz$|tn2+J8bJFXSRa53wgZC^r3!+EKPh=N$}FP7s6^p+h+@15y+cs8yAM$colAR&3kPe!HXg+VWX9_CI*xc=bUiJPJ#TE=I;dP9lIXiAiC)c;75;!k)Jc}EU5HpE3IqrIO z{{UJ>eB^zSzHT#Z_IL*t{5{|gC?XGtjzY7$mgUN#B2WSgbY(aPsmP@d;eEBm%yB$g z;gEhzWRVcX+&z|eiV~K{JFWvqWNe$i5jyH4s5iUScr%59tVYoSFAFDM6{3*U`h7iXL zB1sq^nX?<5fZayn$H}%f&3!jF1>sS!jH5DYTQd_Q!5n3lHUtkiB(}f1 zf4ws&hwWKnk`!2R144i)<&E+|@B8hwW_XY>t2H0~Q}G^hO9j08<>BcJvEy7olO6#ld;zzY(>3)|a7$9^;XmZ) zB}bQShS=@YW{i9@!3*TZxJ3*K=b4eP&i#G+)$_TyJj`DxMfgE{iNt4?GZG1esQ&;g zga&jf2ey)MI_+Dz{3w9IGo*&zC%G#h#cJoSa_aFF>P~hT^&Y0as<-gnxHFWAPNl-9 zNOuY{N2teYPUC^WBdZvMQbZd_jN;tq^>69heX2(vnw5?w6K(f=sUP7V6JeF+${OG@ z852r7L^K?noU;%z0jb^o6!@A*1d1YkQHYDfw%IHh_s5ux^U#X=(0F6Rtd{Kn1C}y* zd#iQKXD6i@yfNVQia+>h(1%cTjVv^cfIgpIwVCF*i2EgDiHqc$zrs!_G)Ne`M*xmD z=8Q2=LBemAVh^W(r3rrvxP-ibM4+rj>4SpKrcu6={{Y*@K=w8DrRRq&=4jcKWHAs! zsVN`>By{dc-|0$0;XV?ER}Plk#sgT(WR3S+clY(Hk2TCm=3x0M{{Zm+0L7;8H}IzT zFp9Wf#n%NH4lpy+X*oGL6=**Tc-q}KmNuQ;QPo%wpfG>S-EcBbn4S%jS-#?lx%+td|ZM# z^oNppqcX(Avyi1oloP(=Vf@)SsN4P%@p3MR2?R^TnNefa{{S>5HvXMhAnm!Yt{1~T z5sy->skkUqfd(}Ypy@e3%1_>dY2aH3;FQ0awR068A@!MvpD4HC?;cfU z7Dnk}U}fd*NCTz_`GMbWT9**~G4Vyni{gTaW3*5vwjpM2SzIprd9jg?PPO&J_&PO}~<3yxsKEQxLC4K0#_#4Aum?b|DrV$c}LXrT_>Huzjl=G7NkdL!72c3?Ln9D`sRE1(kRGjY#fJ;wTEm7&aD3cPWbCzS&sp5 z;U-{a1hyGp0f$qoKHaJ5JQ$A}D`i;9Wmj>DGIr{xwmSRO`OMZc!SYqFfNr%-D!?s~ zcy}%2U&~o}!Lg|Z!1vp(I@BWkH1S5KlJeE=CYLemgohe(#7F^P6%-FB?0VPMuy{gP z&%>fAG9YIQ<~o#US7V-lbOx#Tw+FF`4~=L*GD)F|=T_rMI~-sW)9Y3_%-Y^E`H{Rm zbv7gx<`cq#Ket!WVn+~t#~9PDZVoLcl+16 z_>YD7a?al3O$EbS^3{i$?_9c36f%*F?WY3(170D<_^%9#c_UEsEH}=!#t=RkG>nuC zerX5;EZ;9``kc2H&4P3l+*XjoHJibdn$laH2!A3V7-iju%*PulU=QzA?|p0@&gL|B zd8STk{MwatqU?54BOS50&S(}h@OCa_3^BrWqChf)4F3SbY&Q9`BYKLJt*!L&{4kT1 z@Vr1IVlON#>KaXK`5ss>G3$!;jbF>a(OZ)~d3Mr1xBRPe@{`TOb;M&B&!ra1k#Lb|)B&4NK|uG^PE&48FKB-rATEP{_QXQb|b~)DRBFVY3w!zY5`U zUER2fG*t*7v$lwHEwLHZD{6190Xvh5CgIWC@Qw%v#m-j#IIlFx&+;a=(Wru;=O3qU zTBz4*{{R}nx9Z#qB$xLhXSGttm!dHn6NV~vV6nzpMg$StO=X`E zNo12$-z}7JCZmBKG{U`8at2ORY)ut8{w941a}<-JHn)**#1oPqRo4C0<*yHJYv)tk(U8k@a-M|{aMa?Z%fZF60x&*ZPkpg zIaIe?xm|c8PM-UmH}z4X2ZCPR+sk(zC0PJyB79~nwoawa%6bOsaYeIkEATDMXI4TZ zk|`H44q;Kt)r^vM>C-eJbAKhMYhq!a;?_M9W!%43h_Cef>}z~dPB|=hI#EoJU51h6 zVk9Xa<>~+)nvPC7U{R8`oH}97if9T&8{|lGIg$gOQ3JLz2V=Ee-r8`BXl~O`%$QV= z3?O*$LIxuz0OLNUfOwHcmR6l+S*9#4@%d$=(;AX9oDw!2`_tYgzT%wQXd`H(F!1-1 zGJ~VBC7G}>okI)hkw&3W0q}$o&SjP2iB$l}ZgDJE89=~hH5e6M_7cYnTil~vJ6koy zyUUi)a>JHJaru48>(Z>6>x#YY@a3#PU8_x~h5$xDB~CM`y(+hfU)qmm)iF|ZM;bM@Bg>`oT zuvo|%3wL4%oQhkCN5$>T*D;5NI4${e+qni+<{f1d*n&EB$699EZU!fg>7#3fTO^J& z2lJ$jxrFH*H4J+6G-^Y>g7zz0nGL~?;%fsbf0;Bf!o!eubEj^Mah+K<{l2 zAV~)?Nm7Uc6m`$5We-tCMY!S6!)b9FLY(WHqt1c6l9Cy9Mx?h!*qoiRaaH!VmT|1S z$)VM8I)faCQml$~Z?@P2a605uPjkWr)v8}fCEG*7%dChM+4H&3=RQ>@8;tE%yf=q% zg^nA?5nd(JJn+pnNgBv4l{noF+309O+S=E_)|Q$=7MGq&OBu|WP-Ioc0V>4j`gYAy z-oJ>;J*=t9X}CObXl>!u8)$4}Y>Z^}2D__H8~AN;XD<|;UKSF@A`Ouwft`Rj2X=AS zA1DI2G4_$8`e8+5~S8NVkD7LZhy z_IQp)Na%1WuZ6XSSc+mb7Hp2k{$LDOS^@|KdY#Dt3e-l(Ko;6{)NQ21FNo#Cb2PbN zaphcN8@8cZx4W>8BQ*NmQuRy4a&+B!yvra~8xy`j*y5guxbXZw6kGYAxMYo_ow?Du z%wAkE*b+d?3}Yi^$giOM8*eW*SguPUWz_4E5c2frzU6@HoDDnI&psVMB(~Byj|7Zv zqR1(rkXqpa_W_9CbKBeLpAIW5?;A@95^(ZEPo39Wu$NKaNgV;sde_M3ZNH(M&Yru$ zLaN8AZgcX%I(lTB9sR$(bS%GjQf{u>=3@_3=fB*D*0(*(sC5;L}cdV@#kb6cgNEr-Ev1Lkw^}S6Sw>rK)H5Rks~H*J z6^Mj`Q6eo$r^}YxJrA`IRAf4c7#Z4$$l#GKRa6-qyYhxIdSv6d^`Ib(Y8`}~y41;! zBMpyXKuI1T0U!F%+ijGBed}^E3>?t(Fn#)wow`*95uwU!s>{{YkP zQI0+%6x@`GB)1l$lgaXwD}l??(@7sG9WX^e>%WlTcIi?QC=1&iD0$mzz!{i*I?@x- zZyff#+@C-}{?&hPb7i>I+PPSqY9yR?tE+h;3fgzb#!YS+T!rEC#zc{ZRyZpt%Ac|A zRk85~mgerxSWUAMS3x?p* z4V1Xi)Pe^808vUwZ{h}0Ef!GS7n^|w*zR|$Sm!Lx81I^sHNnou=qaORB;j|>hUTQ%G(AY@JzMhiccvU5J41k-zE{4TzQ&Kxx1OJv&f2 zHr_&19$V^B+djW)DY(4TvtX0d&|dQR9UzU@2OCh>j!2Al{xF0)B$pzIb{PLohamNC}v4E+N9EKG3!@xZSFBd z;gxVty={_ENXB>VSR^H}pW3DIE*PoljP2L=pwLZ>IM&b zDqdL<9oKOE2g+*;2u9PB(030WILHL^AU}T=b;C!N-LrmI8aMTy0<}0 z4}sM(mDa^DplqW!%V+(n!hsaGY8;WajFP>G+I5C*C)$TA*?AvHP!mp1T7zwHRTyv3H z%Yb7#cHhle6|4+qML1yC^8BQV$Q#cFr%r`jV2y_R)`U_?g)O8LzIPv5W%zU)q+_w> zoc{pt-lWhu5fmVAtn^rhbP8;y?=UumGu(X>5cmS^#`z7 zFiUDA^j@@B>}LoIVCrHHRcNq_p7W%DnO?@>^s#5iUa=ug7FZnQ&d4oU5*JEAN6$m)%k)& z)Y&6DpGu1)fpniRE6~z$##Sa_RyY@huJ||jMf@UYq~W60bU&zIAvyK*J*$}Tt%nfs z@>=+LOHXYXc&+Dsr5~*ozs?B*9n;>spZKjoPTAOIsd&$aZf?K;kl!l>+aM6b=v0h@ zSe!9fnOid^tvd2b>c{HGO#Lf*u1LnSf$8&AcMiF@y0?PnRUF<)jzixnNF(S-&)%HL z-GS&S7~+#NZS0t9j?Qt{2c=J0B$NLDr3e#%!*E8#bg2e^T-EU7ZR|wNx3WT6v-jys zM{R8cMl>WYNn9L}oSbjz+N5M)epB_KmYn(@V^hJ4Tag9L$r?i(j_=p^tma*Sbhlbj zh30nh{V1iJ0pHgY@M6y7es$gyWbM|YEzcATaK{Jsp+_W{#t%xzGE|-(5^in1lUc7= z?s2zjB5@1clwpylW8RevayG4rSR7RH@RM?IU0q|Z?^^iV%wrwteN9=Zg*>blCPizz zq2K+hX7coD!RnYkl)QwTP=uK{toe9bdoPMkz5M8O>B!G&*t@?hPwh#w9PVhVAUkKL zT6tJax7|EbZR{buzSMr5t6vpykNZ%|L_2q=F=7p0D+9%qx3K2+LZc`ijRwspo+kKjhvLEB_3hlOkYB%_d#9;61RjR}O)jZ(j{i=C59xRqAcOha} zXA4>Jcwz$Llvg{{OC0)B$l<4sZM}~Rlh*^SV7*cZ$Jq3xmGUTMf|K;^Q^?_-DYo`K z@fNyrRCTDycN+jP-=}I#=Zq-#t%n$?^86`0d0Ts)l6!wC#&*ZOY#tg&%J=)yWtY8R ze?wXMZV}_i^BxtrBxe{J_Z2jf&jnNrV;*hk0wmm$D+V_p)_zxm_bg|T#s2^U4D2IZ zk_jW)uqOv7KtKn#T0|Bd=;A~RS)NydzGhb5;(^03pdx@j{3>amh7|#kU;N!FwH-Gd zX!_R}to)}3?uNX14sCohfu%4^x`7?LZS78L;aCd9W6(O#CkZWtF;yW7K{ERS#sv*}>RnE2EK5#>>g z)r>ZN88*u$yiDrrD2fLvl4_il9$b^MgS&2W1q$PiGn`uNo!6Fdb{dWl z^}?E0iE)cKz9)%`V2qb#LtFll8PkVcX+5wy?_WWePd5kg8<&lYD$&G>b!5vJZzBZB z3`hWF`X1F^XT#&Lz2gmQm~cb+iD{0$npkua^kCf$R&fq1;xQa13%2-^V!+1=_8BBe zk*F6Z3yqG{{{RHybJ+0+<$@McWYu#W&fo=YkOR5VoU;yq=C4$qt1c(_bdXuI2pHO% zM$s+90fGhMOclo#S<95|hTfxMvQsO3( zRGdE!*9qv(%tE9@0o8QjzLXiQ<%@^OaJLbeAdwXkTys3+jchTv9kbGaZ|r^=YddJz zNY{*2PDHL4l7(CivQJ-ZQg;@dGTz$mc8p%ix+0cFZmdd^mi1glTc>nFCKS;{$JV-hpQ=t(!bSJ|%{8b9zoZ`OHJMSFShfL5gl4BT59#HM)&v zEM?0LURB3z<36~o;uCmr*4eI6jPXQP-Dk(b>wI~A*#~7EO$jw`X=7{^-s(1$oV<#6 zI$sT?PyYaOA2R&8qr7}5OC;f2Nr;%1HYL~+WNl6T8hQ`r6j-fzxwpNIK)Sh!7C_K0 zo0ZNNNYpc>f%2SfS;U`?CFCg+MGHm4RLqiZ8td~r4E)ASVYKclNr^)XBirXpna(e@BBEICJ3a$$8L~K%>$B47V`m(%Ie0WzUGS)aMN%SNL8bn z2Dp)=I5;h!0ta>qHpbMo+?-V1T(!xE%^{XJ7tS>%9I0k)ANoH#KHI zm_RB^V0G1y6!*ZT#m5Ruh*}iRXE2?4_;gSTpeGwiBMrx0`cWsTxNWU@H+Ip9Aytup zf=nc?iVNXe9TbC(?Tk@u?4!83u!fCIgws68RnZu>u9txum`eagN?u&(O@=7ZG)3=CTTRa z%(4?A6B}Vy9f27+6{fIA#IefZRb1c41P3<=8&C_8)NPHrYdNLvAWJ4$9%hV5cv@FX zG%Cc(q11XmTyy{m0@`@GiaVJDE$_n0Zm_p#uYgMo?viR6OLrSlk>rbw+}%w) z0c2TBDv@21Wl-g|3_1eiBeB}L+b$fEKf$XMhTn&Vk~8uhC09;>bD0U;9=&l~rIdEp zH*C?sZ&_^#ZfBNu(7|;Ro~W(!blWxTUJ~JU_h$3rbWIxBwDPKXEZ5~|h?I?h_U^6jK}x`6u0jZR2l+3ED}y;#973Ktg(1i{jHW0F}P z%K8%~8ukYP1$gdOybn;Nj8Ce}pl1Js_6JJGm zZbO*_&s34%R6@sAw0R4HHdW8)$Mol~db%*%wzX!+J$nlJpAU^hK1UfS&JzUg zb3q)yxKq>Ci4<2F0)h?(+jMfLZ#sTkJDLGw+aY7N?jD2c@ zPSb=Kq2^{}Il$A~r5Z(>0QI4TlOSVlIin@zFRXfF?@K18X4|2rW<}WNsqI3yjx!^- zaG3Vmf=f41ijqupvG$$h5z zvJ9vrqKnH6FFRTt-QFH?f(EP0;CbiA%^O3Nbg!zkC?dJ`gfv1 z*q-00^!reGwvDJd=Mrbz>M3x_xm3rXtB2Roj}Y7O+4Qn)81=)gUNVpbfb z<+C$LjpQNmpJP?_&f9JMs96SZGuy3i zK-?b9*0!OG#@XmM6$UcveD{5-X;o49lY@VV%fhB!M55oHZdigPL8LQ*>l+*}?T~xb zu#DAx=K}DB)b>}h!Ww%yS*_(8O1i;DO#c8Y1Gx4FwKpB*gG|=?hP8oZD1L1$N{0Q% z+K^9MZ?W*3g*fS&w6azwMn(z9BDu$rgrU8_t6O=URDg5tde)eiMFckvS1dq7k7{wP zW?`i5o|&rqCnhIM?nrNXvv(m?Re>XLYfP(Sv*H?iDb>*Q+Kgd#Y>uG$s%6>04thA`2bf zl1gu@r9j7ZzWw@twI7=>1mio!l(9!7dPv(K?XlX5j}ZrI z!<{*!AZnC#-m#kGV*^(E;)$v(WSr#VY9knz3++G^b;+pnBqfw7KI5ern8%^-wL?|8 z+tl`}u@rBZdK%HYvr>vq32Z3uOap2GJ-gP5TAa3^02#>ZKtVHS05)`z2>E`L(o9u! z{M%h<47{9+ee_eRv(;89l2xGp-OW z<0H+|q^ttdHjPIk2L~Uu8B}4*0&+nCw*sQDUOX}?1CoRSK2S#WHaDc?s~iEJQBiHb zx>}hq$S_F2(bqnevCP<UrWO75YPI~vVE z91>5zdeIj#lAwm>D8^3X9@JeNNncKpoa2A{R))lqkfS|2jj9e`DC?a=JFi+Kaojjq z`nCxq^dEYHtQZ$tjN)x@Qj=<`~7Q5$_euxoetuP*2e{us{q(Ow7TFNk$?^e zJq-c5^BgM>a=6VFE1Q(^uvrE_RV2r3;9&H{Y%_Hu_NW||a@cZI6>N>RsXg2TYSJ=C zo|7(fSn`YwE7m>pS3zinyf_iys}r}^dNaHP6$yYw4tHu>Mb3~E51Xgfjz9w%vAsbE zxo8Aoe4%y*w9?%Z(NqD@R<%M7dj9~eM?pOa1K*_xO=of#vH^pEr>##2e8q9~tpQ`W zT}pG`bv3p&t#Iloc>8#AiRfNnHx}1dQO)&a&qrvD*|wI<5Kz zJvy4q+G^6n7#Yuc0vU2fbB|uNw=MdpAkS`3lw<2#=WvV`e5N+XdX9{OGl~|dv8Qix zXbvQ{$z=y0-lrs%0ImsajO|N}0AQT`D*=l+1GNEkDL$WCiyJjgySR(3dJx3>z_&w<^oAM+P5CP`U(RUP08phd5DaG+Jefs$T|8{hBWMZ_n?R5 zj-(14(%MHEcg{717~GugQj!$gCvLSV2_O!`ddpD3qhWzXF{accSi$R^>SPi&q;*LV zN^kU`=^NBWMr#RP#Ya(Vbnwp|-zAHtJ`}V9=UtZJ_Si6H;<*o?L3rc`7>rx!Rrh-Wt z3L_#B)`R(ir{~2@LhMD3G1iFDL`^ClQq*QIkZPdo6hew3i2KqDGwSQ!npp;OoL4R) z!G}oKAfMCst{0En%_gO3!~jM}X8E&*>EAx$yICGkk~Z1uGuLYKj}%SC*4E<#K$dWX zf6i>B3 zEUh%AZ5|?2dxkkx)CSryjk|5OYh0vEL+WmHD$6z3z!WQLiEPt6vZ3>`^8x@{Y=QCu zdeK*ean2tkE2P~|%v-Z>ck(EZt~ra)mIr?0HMuQ3O6wmF(&*Qh>vIb+2PmZA1skrT zxj5*x3;r#8dwpd07xQrjYgA}jd?_rs3XQ05mg%c(3itGLnM%`vM6t!LNU_X$vaC6q z5<=)~Wh24c8Qj&k2tF#ix0d$)c9oLXmh75dB61NmVBjJR&UeY*wNj@Y@q}_ubbvEY zrJ#h2TB|<9`)8;Ma&>}htl&IKB}@43)tzRMU&=!rE~hQ1kU&#{Gwroh^tSt}ulRq9 znq5%IED_o9Ej-+XEvy`?9q_HTk&g9KcXQ%2JlL+Zn}e?0Dcl&9BvnQueb359=DvpF zcRm}J!ZKUhYZ1oqiG-ZA=SccNcNz|$fPz1lSKhogidjS~npbGyni+>I0s@X;GHiqo zDgdBky-CzJ9aXb02zHH0o_<@;n za;M*VdT8Vj21sL+{833+K^ww#6a&%1jmFs&j55Zy65q)&Eb$ur^ zZ&-$kGH{D|+9;%wNU*Ieu^kqm$O9tajDQbcsHUW|v$%#e*YOiXF>lV)WmW(NAPu~^ z$ad*UTv;^C@Fu9?S4kANo!dAdGJh%PF;*=Nu(nCA*Oar^m`JuE7&3 z73+2l#PgJCT&%o^-^@sFDu562=Rax}KF-l&hTB~2CCc0}ZLz24(!}mVH6_I%0-~egk|i zrbs1NB5PH*EKaQI(JJI;raobu?L^^r)<#IK2OSu47{M?1h+wgdCX&d<=p|$~)FU4Xk%^O9>IWUJ#1I^H?V=fJSlUW9B1sgG4ED z9lhk&B+K~`@O6ugKjkY zP!0%q{FkuEkUUZbNSfmXEtnP|o!IOZfB^c}N5iG@_YL7Qd`ky=k|WUuQUkeSFmvUQ zFX|)z{H3BOEr<2}w3<@r`Z;!OLmg z2vTvWnV8^@ln%65bIZjzU92(krA$U7xQ-ZntV)0$DLnurkUHUUo|QL-;!xAd$YU2W zOsu(98!U{*Fxc~KaC(8>rFdsEM|_biG8yD&irnPJV>$~ug&8a|Hrsrh(@>`gjs!@p zVp$q9EQ@g3?M|boEZ}ZaBLjSAV?;tbuMrEG+)lTGD43D*O_mxPMx`eJA0hQP&ccnv zekY&9xQW##CQ&jOPWnJnA;H{)Bmg^i8=6Whw2tMUl_nl=tRn=Y5t4N74weJWf#tz8 z{5Jdv~pQPMmuE>IBDXC<&fV$=R2-AGoK|ay_oE=r@niwe3Wd1=i*%xx*EO7-m<_g~!4koB zXZiclmPqtA{{W|KP~})g2e(Rxl}5*}trRAi0`9x_qDldcak2jN7muh1dYN}2Mn1Wq zfFo>mshv3)0->V^Bi4)~0kXp*PuhUU@RPTGwSq7w$lC}AtL! z-h)B~R(QzRAl`=zabee1HSLqvZR%oH!;!fo??UDD0AOk8XdH$#(Cybw{{ZbyBv!2$ zYz?waR|7XGm(_xwy;$2_K&d+ZlDbAWIUir|Mr9FiCRm;DI#9}t^v2Xzoxubi`;S@! z+*}z8U??Xz8;aP0L#TG&y(tWL%!JF#)bg`vn;ucP3NhFUcue4&;N$nAEQsSc+yhvZ zho9d;b%_!)sP@%Lv~sGhJ!;PITytH{2qfdyl4)hoN2~X&wA>2X$9(?Pj|`=x19Aby zYT3%m?Vj|*JL+~F%>sxRq4fs_syMut_LlN-C?Ybwv<2B0cVrl6jAOY2EAA@lK9Z7p z$yzfoI3B&KX|3p#7hE3h3wyg+1kq1!vc~JshQS7`tsTm?dWONJQrm^wffNxeOR1ks zdmt=JAO8Rdnu^PMk0YTOU^Z>jYDYwuU1EfzklT_mk8SG8MYthxvF3K`y;5+VBXNjd zO5}nF>a~4#)_NBzTMQcuvC8lJR^iS|G%^+)Mt9nx;j@ql+Zm(WU#OY|R11{c_ujC& z>L7nLZUE6+AY-)%uns}&cJ!miE~44&aqn2u+k(rSX&E5@0I00U5_3o-?d{%#%W;M( zHEoO?sgTyq=1@rNd(;|RH6cz{Qj@<=r9coFwx9X(eUL%hF9JoOu#u@oL!b4;$sn2|F zI~u?Iyj2ySgHq3oUGW%XSZ(fX0?BNhIe>%B9>jI`HGa^b85E7PC6oYh@7J|PM||V2 zziMbC0~?CdM+rL`w%^{{U(TJn>}|_Zb7}Me?!?fWRDpXjc|i7YHMe5(I(4QdNN)gONlK z$VfQpT7f1jonOJCN*7H>iIglRR)e2%4%%w89rZ| zANHuUP(z?9w&eL+aZwF;fB>P12d2Y*-%262w^eO+D_T9_kiMD-`GZa| zj0#C+zsu?9RPE7zwV*EXsJPf^z}eQ{0ce0Rl)DQ~9zw9<)I_ zFDuWaYQqJfG;(8E+!9Z?_WD-LQ2BvVmR~NOxjSd=Kt`E}Y_VLOi0fKby(r|Ilei~i z^r1%;{z|^*Q3RSQw-UnPM$CSG-qaA~-Y6;w&NF~;-n4CeScM>NF_GW@0Ahq1;~Ife zzA(GD*0kr1mhx#M10}ltCA1t8s53wJ&`_?SCA+_gQ2guda=}0NJI3F%ow@lH)Fm8aA zI5gY~RN@owBE*52wH%ZE$E5^Z@dRQJqUuaGcRssP2;}5y40Gn+2krE%NiPdC?}4_X z*XvX@E8NHwa?=5OeEWCJPATO?D$y(NoS*lk{vd+DDI@ug;<05I!<{4h&>DH6kmpE@ z=b#%_3HV^r(nd+fFuO1BOEmLf0(0n1VRR&Cw&NXY0|O32lpi)oQ?+VG;eAy|`p{ZY z=xYSf?NmrySgxgH)){e;u^#jSEVo4^v-+QE+>!!wkJ_Nd-LdLFYLf$CT7#sKOU`Cu zoV=(F<_Ea;qkxAxS8?moiOses3NT^ZADDKCwB=oD_fb4878#D%euor_Xj z;HM*Mkh(b;86MRGPZgh;gKdqf0zMhaaLfbaBi5iVBf$iBpuDiL%YQD^8w(H^3>cA} zsts>$#c{d82iAs?TdBwZAMaU|Cs$etXoP`-jp{9LY%)Uz9^ET>hZqzA93Zmb9lOv> zBNjW1W9>y2_SnfidSaGn;Ko1Jqzng0W1JnR7)bjcO{!dpx@sMIP@Iy$gV24bv9o75 z%>blM^7&3Oj$7+IP1MVrXR*DclZGha0+Q69mP*Gz#f$lp|u^3Em zMbkzIHr&?4IqO4ENf|v2Zcy3VZSze*p^dhl`_#S}M&+?fp^&&I`D-1MS6a%7Ub2qIh^`&79S?dAUfwFC&lk(`)xagfw|ApmQyCJYXF}4Z521KNDYE{{V;07=YZ$a4qD(E2xvI zO+CVFI>#_d54*9t+|q?P7SOjo+5B@)XFp0f+#ASx6W?N{sE+yk6=q9^s~rH4Oua z43^^%2O*B9^JhDJ-LZ=GuM$P#0~NgTGTbltfq7Yu0WP$pB{0 zEG~3{H_caBzaLO1a};Y8>!ZrV6;)uMV*`CT!nf(^UYBWQ;MrxqdDcE!SvSMLiVV7x z7?-C+$RvMyrM=-?GTok8Vk;AH)r}&EVkQd4O%VngsK=d~(!FfCDWu|&+p&1wK?g0Z z+6-#O=z{@{HDF|rNy)3*H@%T<%7XlP1Va6j_IsIr6b#asUASw8qCdHS{lqyfyeQ#`t{s zf=K3)+u}Jhg%CJ|9bRk@LWUi-BE0*=ej5BSx4jI|qJ^^#V~lA5vz;U>D98l;D-#nf zM7*wRyQM1^#K|EsqcX>YB(V}Ma(dwTu~U{CEf+e~Wr`&cEJ#aEb@VELfJkGx=}SR1 ziq9edsU)$fhGCYCepMQY{Vkkee6_p#rM8-5Hk(I=PE*_=!@i(!0{V6PV9~K`n~KM5 z>CY_BU=n%e$HT^;gUSaRxHukzH5-U{oy67)9L=6+UmFRZTT%5 zrNz3EiOR#4(}@)rXJM1S(x1BGu)%xGxspXkw$al}p#d73Q12sbKbQ)km?gC$J81{R zfPzS!2vaL5WWi(8*U$~=nc?HDcWKUkaW68oX_vWBx{mqW1Yv;9=}=iNiz217TiLzB z+eFfw%c-&qY&z;Ij-4sXz9)Gf7Ij$+%?c|>j&)sml^m1+WPnav*G?)LQ%4=RGX)JJ zTwV`_iHSDqyU5*hyLyhfHCCy|1l-k+TMJ=qvE@<{SDH3B$xsiNoyn^|hvL@{BoPSX zS*C3*Kb}u63M!oA5-S{Md>V*#PDeSIV zXiTppkbZobQdODbG9rVLq>hLAew8(8C3Utl`K_5Fh3$s5c8^mdg2x%_tY@|bFMny` zLCa#F9699M^Zx+z0B+@3l!5^2orZe$tY?j)vsgqn@kMVjSH{GqkPZR)!DEbi=h}%S zr4|NTi@9SEMI7vAwSO@tGM;TDeC!y5gGGw&{UHs_3~mE6t7bcZW7jE!w^cf_NgpxC zVNkoZcb?DU8E4lj$(&^g0YhtS{KPQZvB$kb;vi^RC026rzcpqWqSr7Hum|+Iu_J!N z6;R|?;hlabEK)L($oiKIm>M-X;V=BZ9Wb*(75IYR@uFuA;!MJtF;4+=_^a#JcbA_9U_zbLsP6JG>&&n+;d=Aur6F_)8)eH%tK-r@14DaJV%$7D$=Fn6)H5Odi4N- zPJFGT9qp_Ch0J%8T*0E!VHagHGG3}nzSeg@t)xJ7+s*-Ns zhuq66g~k>%NhdkqJ?bP7Zc7q+;N#w+R@|Wk<8Gpb zpPL80PsyVcS(HRz_w8FT9D>**ru6_uHtcFr63Rb%5iNuO=_h<IXrd{(R_VU2i0MZ`Bl)mR zE*bt~vFq(phHK0+f}yaFD5oK|+aQX_ zhy|46<<8x4Quu+ZOQGx3bfR-OdL)w+Cq!hOJH7_^sXYfF#Vw|Rv^EY#SJxi(NXv3p zVZMIV)N%WpePn^Wx!0Y7AyL%VIq1?T8CpD!z3HV%8BU$XtWcH19XRPl zhG>_ZxW*c&3dF}*>E^-osBQ?#@2eEibr8Gbt8ME*V&o>Cxdws_6ujAboa1iW(u6T* z1RMjtD#GSP69P6IpiM3DQ7cg`zN%&Daii-Z^_3$|);Nq($RlrcXk zG%4kOj$m+AVE}sOnKM`&in6e91~*#NB1wajw@e>Oi2#BRT{z7hNCdB4>tI^8af9W_ z#UuzA!r*%Lp)|JoPDul%{b}0rP&ET4%5s!zt2mKsm>?MbJ`8o>5Rmkg#m@ zJu4bCDjyih+du0>NK+$hWNk$BO{7ec$LIwJ7(pl3dNbR>oyJd1>IMjP02iR|)~f6r z9OoT5nlRnxddwJI#(Az z7xDBQP{(kSG*3S+0SkUfT!!Z8_UOd?xvu)+%E=@#t}&}umv!IY)~fi21mO289Iqol z&}wCp9=JVFj_Q3qt2u3PNCaXZ9jkAr=~O-!gT)JPbrtK#(#OT68YR?ljCIBVZoX18 zr(x5zbP`&IIVU4I0<3jO=nCl0ag*w61hIL#k1pAw2!`bLs5Q05b%Hk=QhE$S7+uG1 z)dKQk13xzPJvTslA5lW(T!Vr&Z`PnVnC*f_KYB2@Ecy1u0HnlivCm4>ap8y`b5u6B zOssZN2Tffl@J%7q8S&=r(vd4T`c{#y*_dg^e4d81EL!}s5s>T{1#Y7o)J@M2a2UA^ zH(gynYEebHs8WGIZGvpIGb8}*jMipD3wQ}CQAsLy-1VZ{y2Z3*bm=RP)G01zptvCz zuKxh4i>V0%POPv88y|D^`qT`pkQm-Q0Z+u?f!G`XYDqPy1sOvF(MM5^`4qW$2|jG; zlWh5oV0&$6DiDPyKPf+IyCbObv`0peF{h!}?bz0lqjo}5BpmrV(4>&$9=RAGR8;wk z4T*edKAyFp+2v~tp?4=Bj0zcBAjcS747oiI(t@+80Cm{y+|gr>9UuXaS0g=WF(g$b z6lGZlOlR#;cj4L@RYvE(&I#N0pfbcY43n1t5zu?q%7eKFN{kXcdsL8R=18Mh3J~er zcF3*C0AR0>H2Hn-XhjK^CBl(z2_vDY5(6tM0pVAOH*xe|i(W ziI7UMYYcEy{GP=9J*XknhkbYgLaM9OR0Bc=br1sd-~BUFQXEC$F_Y%lrZNG>Ya?4F z1}t?yKHz@NKELQMN(r^`dCujOidNf|(1SHq;JeyOWc* zew03NBN!gopluS@n00On9hRW>ut&3FI&KN{f6qO}+8bvPMzgRu6xggd~t0j8I6uqhrm`P#QUdf~89L$6A9lgpx&RFcjco zq=p1m&=m zp5d4=KVi~~0vO5ZS*Ar|Dm>;AY8{st{WU0LpK`}1J!oh)g*9aEakWIm^&>6Uo1xEh z*0r0R8~*fA)+xcJH1_tT8cUU3w=`a4pf7BS39>NgYA%nAn$t-kBk59U20)=GD17G_ z+ZCEzlk}~}F=L%L-nJd}Hg_GXDYn;Af;a0?k`8J-Y)A~aC3b3>NW>jpy{mlI17H~E zze+13h13KYATLwbYRwJX){IQ$2`3(!Xg?4}6!#r!$4hU!C>vtipSPtIVYnoB`gEx@ z;V3tCpfHRs$RA`BFlTs?=0uS1tW?}}^P|}3RtI$9s!>6qskdaX4uFLO6 zFDBblLrEO_ZAB{C#y{^`6R9`?q-EcwK`7Qt;QG{=TYOg5;1UHizXR2dH>_vU76`qy z`>r2I9K5qO-)iDG-{sm$#vletq1;BR83#G_Vte;B>5{>3D(S#wC#ma?+PPm7O>Gn< zW6(*KHH{o^5elS53cG{9oQ~hMd*2_i;BxUPp}Hzl;aIGah2<7Py8OPQ0509@jN!H( z5j<)(7UokGgskfr+)E|~mT%@&J^EK}UNsMU&v>Lf658h4=Hpzp;4RC_*eB2C5#>O@ zVt!VxUyAt4h}_EjLOGWcvl{`;1QlPEF|b#&||ibasrUCI8Zmq9SwS9R9oEme${TJSCUAk z0@m%O3e$%hjRf?;-Luw>#CSxOkfOG;FC$u&*~1J4V#Bylezjo(cqM!~VUi@glyfJz zSuoc+@H3o`(0b$2t**F#0SUvc-uzrFs;DwFyZHzSk=cuNJt_;%1LIB&1-+{xn`uJ1 zl2QCtjl!#iBmQShgVfMGY2s^9Y%O4YP79eN2U~eDusx1C{c5qeZ{hS8oD#wb)uela zE6W+ptLogS!9ODa6n?B%VE+Jx95;$Xd8wj`Pw>aNi=L;N+RJlL;j{S|893WtN<_?C zeb#zgeV!pDkBj7v}A^6rHVX?FvUCCBvkTK3*cY4$s%k zqqaLzNe>>5?l`Vtmej1#m}5-nby29U`))}rPRBKGFB0JrrQGnConV=SQOD(V>bsm^ z^D&GMny%dycD8C{m12<|*6Kx-WRY4pLop}!}D-RoB&Gijk;$vpAw4Ic!kuh3yevxn_-WN3omqmR#jC>5ob(lHY~cT3x|rVHb$DeqhNWaH6cVmV*>yax67uJ)SinLip(XlTRADub(e3*83Qt9fCEz~AbT3F zn}&FTJBET;aN~xbh>8)Ifg_xcx!tuX)<)UdnY!W09Gp(sh$aZ}p)zOBlqwK5Izs1H zL8zLsMYT89_lSNP=6j{MmG3g@%8MIp2XM{P9&JP3qG?lUW8x_8q_%nDZFcCcfEgM= z=FnJ!^ROApbj^E5;dhC6Rh9JDtmy7-jA*kEZX*CI2^qn`8lM35VUI&zSv8*wctyrg znfQru9!gCRW=ML2lFk6zqWX2I$8#)pcQM$b#}U#^k-5P@aPsjO_A4A zW6C-YY|skA9v~Lp-v0nis>L$%Ah+|ZfyiLP%t`6y$-u_cTdBDH#g(m{$w@9{yp1hp zlmd0+%i=-#-zlo!VbAlHqm)9L7N0p0&BGY(L>` ztc15Q%L4QHIsC8*+{cYymPeR_zYh49w**ZolpbxdDI)Ym zLd-`|^8>jodK&sB&|1ZE*9km@@r{8)t{Ia>xg#>mKI4&%>Ionq`KruK zvMR=8QK*8lU=y};wK}hCHUnx-&A22Zlu9PH0WwFM8NdW}KEtIv@h9mTJL10o041$M z2W7~tjV?KgLX4aZy$5>JxH$FEQ?+6nQT|c}dR2l}QWCN+eJV5Q zRi+=FKT=ILWf&(p%L-6QAP(gIqAJTO@dTJ+e%PoxTrVhc*@H0*%Z)3I!9QPWBZ+_^ zPCwGOsrg!S-+Gf8w)+qhAjaEz zX2BS2Z&F#;4hYF3Z%UfVa5XM=-yJBem405YR_#s1?tySKsCD%BsAwe=ZV7B)d)1^C zJTOAcPNUAzfwBJpH`CIIC6LTA*w`MwS|+z=eCKRqJvXKnJ2Isge4OF7AH4~ZWN8qx zGKB-llO})DA4;%@foKPq=QRd(84KU+YG&CTK~f0|k~`E5zsgGizuK&hZ;k*R3FuQF z>s+khD#oObn;X}0#&~#DaO58@#BW?Z+%OeP;jrL}=aX=12UC;iD`DI-GYscrii|w6 zbJNSX?M+7=vugzD+N2Vbs~E641Kxl+A%I{;+he6R1AH@Y^2?8Ui}Ha@_XnqHs7l~5 zasFHiTyQpduJoia56o6M8<2a{mY|ieNaj~kN9Ke3S8i?{o(2Q4 zEJyELj8Iy>NOm@`TfA{sPi#Y?R^W+VKiECveQob}p+@YjE&gM)+XTZTjufJx438H9Pgb6Z$0*YxCip0yJV!N}Neo$AOO zg51TVfJS?C+j_6$aHW<><5fqKO2|O@wC4xvGuOR7V!goxXAO)B7`0LcSAAVO)>b7p zV8KT~D6wSdBp)uug256ukcFw^rJ}=MyntM10e@LZk0v-ry90`)<{ff3m_z%hQK<8^;>`2T=ePwzLirdp$ws!farJcih5gp$m%;>7Z@@z{#8$u zeZA-|u$2hFk=~^oZ-RjQt-hVHikVx71ge(6-$?0BlDa7kylJONCm+sBAEr%BoQs-DWBNa4jQl;>I)j^hg>I^?la5pBVCx{>=1~qIA1xOp8wQY^i zXvVYya=?OQ_Q(6uI);DXv8`7GoDc>M^{@B@`GFpqb`&6D7{amaG17{(n2fb%95Cein8#^B*ZLT5&V<%H&@8!p(1kIhnlR+zvVIYmu za5e|pk+k95Nv4)3OqB-@(NDg8s>_?G1!e(BBOj+e)VIXN5z4e_31)3*UE9XU9r7RON2Nj@<{DM z_?x{XFdLq~tLal=mjSx$e|lsYH$Sx&K{l7THNI1gBOv5a5$=IHw**#sl}X4a`&B~1+Tl(I z)YJe;b*>H+`Kgg`#UIJ$Bxyaqn5}7KCrAscbLmiyh!buXBw#45qD;U(HY0CJ+^(*I zE}3o5`%@g`3L+$69kH>;r2>LEz}>TxP;`_EvnvnjJ7b~VgUpN)Swn5wfdxy$x3y-8 zRIYtHbf%hkR0q-a9cycG35)=~Vor5`Y5*Bj`9%z?>KGem?Myp_U*Y7D*S%?-2?Iw_ zoX`d1lb{v2#MvNc%rcsMU0w4Aeh6IU^pFz?#&8zz{RgR@Q5F3_{@g9<*J;Czw~R z{*EQOda^R2hb*SpHAYrrh8__flwjDdxu*JbG+ZgRed2GfP9V=@ssbDmN zzut%*sWNnoZ`!t@x6h?dn*n3CH`=ta!bu*LsL{E$_W_afzSX{7F})X^ZIUsXAd=jS z>Ad7Lt&H$s7jW<)i zGqrN!^oFq@+*5|CMprTh!B9NFk6hOm;w#=Ppsaa-JL^F%2wfODnYB=>6PI1Sgq-SO{&xJcgbhbfXtNDPs&aIhi9It|b5Ud{(ddmfd= zJVD^Eg+iB08UFwSl;5SvEUc#piK`zsO@PP-yibeVTf&k~q_bN@VPd{v%zQ|W81?0X z03ESjlMmtbj~d~2mu0>ZEz&pGU>0!f`nJ|^0Q4kR4R_&2;g;s{dGo-$Ez;YW=ZH+s zxi68vjN?7=UV%$@2M@7>iBE3xy8LG?&s%cNHA&^_J@dDdjE`FAH&7B$8XZnH)XHmf|a8s@;hKBbCp5@27q0azS@I^IKS}{6lJB zQ}ZlYe2UMfscpJ;z^MYm!<;taPAVkihKABugkgs*b*K_Fn~a4AeLt%;-0?m+b2YWp z4I~nPjF2J7k)Ci^fPHmz!SB6!?+BB`cYIAtw2Q9IxvH5GxrE^AIKV7NZi8y572-v_=gn~B>p(o9jlNwcu>Co!5vILfaA)EYJ(1IGAX#LHD`rjO)-({q0|f5J zr7gs5<47S(NaK_}lrwVR&I>7J0ORzG=QSHk9}J+HIc+&S-B8Al`GmOK9FIeuzM$5) z>~qC$1>DdryvbmBq6P_Xr90^Zt901xYc8^!wmdp+Xv#%$IFm_k;9%@E0z2tF0qNzd zOQnWqfW{r6gcM0!1&p%=Y#emS=zD=tj_T4y;qludJ6uS}R!z4fSY1G8Lx#>X){%X7 z_ftsB`Hh6rMHV?)W`Ri0T@WSMQYkmwq@dcNm49fbkr zx`OwSZzD-?le0<`6B33x&@&F`PT*`#C`5xj-wqa!eRd^|L3+9+1I~30S%eK)=st1j z?Nt}I{Bm@HJBS2p9mTsSk9%^5F^vok#FOU(Z!KM1+D31!-{KN)hmo!b0IN2jT2){M zbGAosHY%D!Eyc~$PLV>3!px;udBW;N)S!-xK3`0eL|BNelG^g-QY1Fl6Fh9^3n*P7 zfjHcNqi*5pRf@_^8^dEBc_X(mkp@~ql3~vM&KPOH+f7@^!#Dytw!FAe1-z{+8n;kL zRQPE#sJ=6HzAik!eQ80X5p^wmUV;`g5q97{T4FcxLB z^F+n9{%#4zumHebl$FiL43;@#l)9C8#B zdf9?V7(l?5>~~;;SNcn*@IIX-|MA29wmK9jlq?qY}5JzsC0O8N2Uan?YIMro-Z*56TPV!3!NnEcd(Z-=2z3Ps%O5!h(TL4LSU88l zTU<#Iw=bohI586tKr%dyjNp^9=ceMR?f7>VRI~_zqJrW@6V3@~OX^~*n{HWfxZ19) zt@t!%&hbM_1k=XtZtO+ej?BxA7(QsioPmJAk7|?AnE;Dz;042Sr|hUmWcB_APH1Rq{I28iD8AyjW}KLu*EH9Cy7XwK^o@Q zD~T4W&{bTgAtqTCBE~jb!T$ge5~|=GIP+oD;~G*UJ z+pA#gGP|6O{(#rP=Oe{2`P=^hE_}wc^++x4q+;B$(^O2`xc=LHs(hyefOgLQpS?!L zV(MQdKp{+WAI)7OU`Ri`ML)!Jur2zD0eV;H`5uuEjhO2jXvTf$W;wM{X9{~A zIH(4YqHmq>fA3#T9NQ>#D)Nz4|+cJVX{{W>$(5mQ8+ig$^ zqa-%u(V}?Efs6pSH70vv>;N4xwGbr=bCP;?pdMHNW483-GzU04QmpoEl6Kz|Y7ij` z^xm-sYG6X3`L^wvlxqpb_|HlPqmU_6kT84GYjGe(LUEDXy#X!YE0!a3j2^VhS-_|W z!Q26kv}RFeoq!q61}Y&?Q9d3lWE~_PhN3O*hfq3go|Rw(sPi1-BO6rKM<9X&ZQh~q zo*~2@MFD{=oaFnj{;9GK zSC*GcYa~o{{%K`q+pcgcg}RPo0<#UnV2Z@76oyg>$?Z=gsTeebX!`JdHmfLN$jIxQ zR8caaG=s5nNHj29xIOYQL}Zvnzw?nmQ6MUR`-2#uoQxTm`aUQKtQJxZJ5y3Z+MI2i z{8Qqfz!M^(e%*HL9X%F7uCba2=o>r^qvCZ-?^YSr)Bt?gl*W=HJA zim;Nrz4)01LlRfc2YvQGy;t*if-<_5WdN5}`SZ32s~dE@B$gW#)00(i4565@Cj^WN zteJx7=se<1<+7cJrERZo89EFW@{`tw0GO`BPuHywn}P@+j6Mc>R=|+T12e+DVu)yD~7)La)bI!}G=v}#_`Fnj&TB5UFBNTGMHODxHc~d(#YQgtdaK8-p@PzWF#^(6k(ylVL}DuIdqR@sQ@*Zna? ziq%A~9B{CAk6dOypKu0(zPTUXjcs7dD+vgU^GFfO4xmPzvUWXsEjmi{gV1oh31xms zX}>YB7^no`oPvKy#`&eK?2tL}V63Tr>Ji5JU(V3RHC?kI0V5x1J9@}mWDr2$BE3r>0 zWjNHEdee6@MF}uTl2Cwv?Azey{`Flg*dPTOwm)C;)dL3Alz;<&r3A@qgRt_P01-j% zzE%X3d9m(j49?kHk-mTRpqMdf`cTQV827E=G2Wwu$jIn+tjHrQSsD9Oxm-Fx@yIf* z8Acs48z7IpK(HiME`oQahdaTeyy0_4z@9l~iaSE~mu=<+LH-k;=8vXN&9!wAq*_h} z#P*?=gLEec9V&6@!P0gEwOEZ3*@^>#xWPSpQF%}t0y}l>N&f)C6;KYviQA9}B!B_We)Mr}7%DJA zY}oax4K=qG0d=MTLPH+;{{XdZV&ZA#K*3pe{#sfqdl;l?m3-2C-A-}0b50}Pe7mRw zA1>?k>p_ocs$C8hMxl*8J#kt#JVl(NCJK#bpkMupGcCU{Kvo#@4E3gCp3f#(GIk&a z>IZrXrQv);>LoA$+tYsaCbzyQ@&#O~00!T1DX)uWR&^Y}v3bsYHtCugO9w7OkFg+y zf0Mp;si+IBo$y%YKtaw;66JW4gfm2AEH`eM&rFH{y5eYE5=M(V9R!3v)DMZ4H7h6P zD+7Rh!+HmDW?2YX=n1 z$S^zf6&JR=2T%kL?M-vmDLldRY(N10DKHla5!px^@2hiI5yw-vsis=y+?5#(t)W%a{@0Zj@6pYS;{8e#W9C^AV>br3mO5j_jO;6l6=S^WL^yhCu+} zZQ7!jGrr|?kE?jsDaWl2_IW72g2U%s5Cm!8jSHD%vnCHWd~NdHpvOMdo91TW8?I z3|pzj^)S|;Wp^IbUsA!?WPw|dz6BSXZQs_U=F}w)q&XKf`PZA6g){Kzf0-SdEeliyx*wwWV|f zQ!j55ZJg~;TWfsdQ2zjWxqg?(uqM&r;9 zbNkeUl4{O7)}n`OjrXGnCGGzJtz8L&7zcgoY0Co{{ptqVKr02j*#q{j9A8GDt>m*C zeF)$kUnn@w{*~iiB>w;q%&xIXZ5&q|(>z#dTLFUr3CR8H*e>ljYNI5qW7eCWYVp4m z$l^_Qx>J_q$ZlAem@XK$H`%%oUz+B6%v*m4(dFJD$78cgy9|>dj_Pocey3lVFgkg2 z(3;{SZUqhG(zz_~+>s5!3;-8)gG!tdxyGZg&2(IIkk5N?wxl#uI>uu<5pn^-oPNJv z!nrGJFA-hEaIL5^-Kd5&^Lc^GNJm0Cdkojm;B<$#C#LXE5^-0vy0tOJ!h7iFOL+Ie z2Uvvf(oHH{d(%E9;@m#?DbQh!)=R{VH;g>`0d`TctXjXZuP}MP7*ch6b>$YecEyp? zYzvgrHm^axbJI>K=`H^N5$BFnYowL#t?li~%av^-&d8+fOAs^YE721S8Jmhvd?(^k zO6zYNGD8zypJX0IBma>6LDSsoI#jweY2jNcS-r zP(&h~SIas87!tj|H>fIlj8%QL><6vvT!uVz6t3~+WZ5}6sBjn zHnJ6l>3q?;^kBmsS65TBVx*Af{{Y7Lw+?wOE<;YH)I5#`w~tB4&zB>Z2nW}#2Zr&> zY3=8k^(wkMTd*3XP!C*<_9PRY!n$}9ifUdRDT?x0Z}b;t3>8Qv;$_b39>qxM(y1cg zqRGMK6|px`5pDR*~q6rT`~yW%ng(x48cj2*GDE50h~88~K$VUf|~46knR?vJY=rW>a1k_Ip{ zREVB9uxT!%R78?7B(jr+3gr1$PiG$}A9^6K#G#jkqXKTZ`$;UgW;%I=V;#egeq-K? z4;!&-Mt_LJZ=Famjpy>Dz=MM!DgzFq4YztUaqz~CTuG)$tYv~reU@0lgEsqjBN;iy zs-?K$Try1%i(?MCVm8*jX937BGmt)91CLEq4)Lf`NH~4TxF=G?(6Xr$C{~m)$tN4* zIQGR7JFgL1Uqf(AN^V_5l23sPuUEnyfL_c_kIY!Yf&f&= zCk?pl4k>GaI&nBHq&RsvTP@U#d6EUvhaEa(9f$8hx$QV@l*$?6iU1jIIit+xKv)(| z+JcPZpr@kr1?IP)k)Vpmw-3|q<$-dxw7P4S4~TGO7AS}LWn zC8Ej)k(xq(Rs!QYk%5}%EqJx}3Aebsv~zGoFBJT|fJi91$f~+pvDFPIO=d}cQ;|IMe|D1rkq8~Bo$vHDSQpI zWMc<%K;qE}8fbYhpaXKsy5-Fb?3?iuhh0I~1`bP@+d^ z35ctOSj#54NML_cDLCJ4y)jow2TOfq`cNsrJefZf4{wKti-ks`R~$;Z?BZvn0GsFcg8pW0N+~E%ZzL@>Uvk{ zIX_5zeA;!CE=Z`MYyv%Kk0{fDzSW4 z2kle*yo^@mSo2Y!;C)2nY#r)mLLVS!ed}>(4n6wRv`MMR+YgE}EJcW`6+32tIYT)e zdef0AWt5!kX>gD-u+PjkB8J#fJsmbZ>TsgyD%fAl$j@J;ZDU4_vT>&a+N8Fisma|K zxHJrw`FyzY^`k6y<&@)KcO$O-Dj4zx=ub>^sj|W_!>*9HA9~aQ$$^GqHudXR7%|nW zd~NCUtY{?b*Cwzur@j0Z))vjXpBzaV6NFCefrlMe{VJnj85YUy@owLwVaj} zQ5I(>(Q`~&%P1{_jq^)GkV+1{vqwajYHS^sZ(7Qjo?S4713IPO+JGgHl+NI9`&8s- zcvXSMTLzZ=@W_Pf8grlasIY6|r{-jg41KFm1&SsMkXgwj@7H<s$gcE=O zZ2fAMX=IM>Y>Xoiz>dE3<))ClyyPm3{d)fZYFhYWL}8PwQ1;suWi)OHRF}xnhVNU3 z=GeIe6Mzr(dR2TzK#W-G%WeMvYAVWCEC%3JMVw7<<_tGsh1Iq*-2Ew$Zy1T48wA=C z6l~epcNJE$sX*Z8&DxqvxQe0?oJc^&P4~&#f%dTstbG3f#0boOMfX15;85R$tO+Jc zoUsebI)+DFkU#u&2zZ^`GpndpAZ%pA53nPzr9$J0M8$z;Y`Jl(0ZBVB`qb(x`B2E~ z8#AC1hZ+e{>4HaN-mPBBW@SOIc`YLe||L?c@?D{{V|- z^7%iRgB8#8(^vQNh#q9O)K!s2z{+)F3J5!cjq|-G++6%ZvP6IjoW`hsB;aIZlhM2S zZ&D{#-(~eowbTtXxphHrAPo6F*(13u-S*tod`x+A!-jTvlxTx?#zSF(`{NYF_2(IP zvomGPkdU!K<_rKbhjEXUiRsjVOUFMDjwuLIjy#zRa_pHJ3C;$C(Lmg7PgT}{lGg2G z4{@49Esx`(>p6I~qEmcXhemIff% zPX7RG*7=Z03dyCII0%^-OeV);zH|G~+5n)s#;6nyyYsiSJu)}X)Kr)nFd!Qqlraos?lbkM z>bH=yE9bGtT9Whpr%^auZ&Yl@Hg-AA)hJ+P3^pD1pou))d(^qoC_D9Iy#$S{x_b0% z?beIPLIBThhovgBUy|xeb~=c{pQSR=&7^f0??JN#!Ei_mfwrBhYSRZ+Q=Y`Hy+tQ; zq~x4_#-s7qWAe_DGt!*_<6FU=*)=7F)VLrvTpW-6_Mr3cH5?#}W47o0Xp4C}?#LME zz{cNt0uy>10JtY$O$F!T8)+;Gp$AvXMOp6GOAG^^<7zTV3#_cf0v9;!Ycdv&J|xP* zGDZMnr>@)LnU$ep#V}OO)NP-(Dlthq1B~uAC#cODM++Q!RY5Wk`Q5hYaoAvr1q3n? zso1LMC3}zknh}a@^amgvy3^+FT>x#Q9^GmZy!rCz*kF44&?;8ok1!>*U>^AY0Mdpd zzR1+WRxk>7rqb@+oE88u9TViKEVih5fDlV=2J2c09fAH*2`jk;Btkc~h`qe<9zHLZLuVq2C_ zh0c?|-!-99B^?xN+wDXxBH&{g-k#=gMBJ;8M{czMoH3Pod6AD??TXJ(sSpx19Mp8k zHeB?pGB{cT8z}?;Lv<9psN5;fp+7AGMq7Lpae@ZtwQY4{sOhm3+Rtv_DaXEgR6|;C zxWK05B+d`E4?)-KTjmWrrIW8BfedQB4RfcEJpw?r0ZhJ=>@4OO}w6(0bFYXKMK& zvFWQ}OI%sqMp@WxjqyMsB%1~~tV0-Ld*km>ac`v?KQnELB3nOG*Bv|14V{j!*wl6D z>5iSKjb(HRIL>`Hpa||-UP!?Fyzkbeuc{1@oyZ2J2rKEmO|0%$A%-#6(zda{R~!Ah zQ*xjk85kq25r%s7#Yo#n*EtyNQ#R4C2d31CnP+lWN`su%5eX!dow`x}7aI@nS}-sj zMo8NoYRbwmv^XRV)d376Bp;cwXz36g4ywr@C<#8blWpXMrRGJz^Ji*nlbkMl{i{aU z4Z$DnLIcc2KARgYd+duEE!Mg~rQ>8%LW@Ig2uBi518C!%Z=wn4@RYKmypnv%p0 z%6IhdQ(Hv`bAwv-5OPR8v)py8hB*~Z4x{hZi^!XN5%;V}X6cdkq(*}B3y=WG`Llsc z4O#%{S~ipC1kpYcW*u?0NdP?khG~sN5!n%~39aKnA7z#_{z_TRM?ZYA7o-(IvJljAtY`q6|}$^p+_l|;F-k-uEjCza$z zPzsXUvTQ{aqPqtqW}rip7%D+5bLsW29A8DnRmAV_qgDwJnSdDPWw-6pynn>}dx*11 z3PH-$g^aJ|c?e)S^wIwSdiBmNXW|JXWrrSVfGWSlAmAPSyH|+ue~CBuHo;_gBW8|R zoaq>tjVe8dsPr}Y?qVZvqriOi;*KL{Ybuh(SDMb!&I!w%nMwhj9%Jl!Qk*M`-no)T zg{6vSD6JpmNOS>|jenGt-+wOu09xtz^LUJ1T|&k-W?&Vj08aYbLLQhRKW(MCdls z3k@f}b6re6C%li~xPn?Ft;k(A;AxCF7+BPU^Bf$x7*H@PlevEkq!8te)Nw}|TeO4o zB_*`JW5(mkG5%3jt8?PExUsZ!id{A?$~WK^Kaa(ux(7I8l#s=o`HQjVuJin z!*cO)9i&o}5a|koK*8%8so0cl`fY<&*4I1@F0HxBjUi@9B#(F0!JMM!V0QtD+NwuW zJ{Iwxh2MxqZK4cE4;J&eBt?+SMZ=DyNE@$g*MAy#3T_v56go`M`G*WX4r!0XnjV15rgvr6o%5=O9H8S$yGs=UP+>9Fa()M%%S+^qMkVn&lf zi7+zJjRXhB%16H2Rcz-9vcnrkM>?R8+q5JLM#jYHBd!}^-kTC}=%cub+TkKnf@Tnb zsHE8}fq#)Zp2vEvw7&5jyuxVixn>)H(Y@F32yy`@Zv za}*B&oH|H=>zq8fD#5@QQ?@q7^$9h?nQr8UBqBTLZlMv#MqR^$sWI7Cex8D*0^8o( zqJXZJ(lDNM$cqc9KHYN6s> zK`vG(os2QgUgknZ2B$fWHa)ef?f~sjG?$z~P;+d+j$45oU0&@;%X5e)7;JPKVv@Im z#D5VbqeO1xgvRcV<-P&+<}vDW`vvPv@oU-RWW0_h3f7LsDMq3d4uYX^u;0y%@k8Oi z_|VA?XAT?4^Tt3#bpesXkO?DCLECBzK-?~SX~1`kT+3|oNSPB6BCwHhjC3ET)|It} z(%#U-E!yfK#7o?!Nw_H5m1IK4K79GR4LQX-4~pc6mu+OHns{?VZOs5V0OcHw`X+Je zb6orvH_>0eAnMmMLZEq^G5n&c$D*ig?kFd9#b=zq!^mzW6NQ*tsVaGGpd#a{u-$?5 zt2C2_3!6iZT=v(lZxmyc18SXIHgG)Oq@4DuadqMzA7{(qen#c8Yq|M@0v1US4b@Wz zB%fMwj|PrAdt$^akIa^38375)BN5bYNY3L(qCnR0-7J~H+zCt@?$NAJz1wE%=`ry|cTDGs)#?FbRHf%{mOE zh5i@~fW5TSmoXwoW>OcC=Cx$xwgW^_flzYYQ1lJ+sa$rVwg{|N5J|!m*HsPW7m zNo7dmc^R#d!7&Yk27U4ZvtVaEO%sOj`}oDAbN*nAL2)BXksNWc5v-sF`MQ#K#@#4l zOG~LGd8E*g!12p8#5!S%4q4k`+CdD%eOb*#C*Y742ogXzY#f!GoaAIME8R#ZB<PC?y~4v4q@WzuzN`9^&!-}oHs%at(AnVI9zasq;& zsM};rYz7WG^u>HGVt1TJ<8S=D{MXxU{2qa65Q^O*JK;bY{$t-Y2M$Tpp!vE{?KvhQ zUk3+D<7L3u5m5gChU#|AnEwFZ*1u26M@W2po5;Y&r4LxtDCEEfNvLRDtLVo@8)7q) z{J(mHL0O5$^huH-q#mdDqs0}d(gCeQA+b4TC-h>48ppo*+MAXuLfSL>K|l7P#S8(8 zilJFFfzqMAkO!qPG%;l0-~)`($Z!YhrVe8h2BDm5HoNu?K zSqDiVQp(~Zf&dv_ zhL{stkO*9lPV~7FX(WO?*sRN7U}TNJ_4c5~lZR=L;4x)7RM#WLV26%pVD);p!T7sA&$eo zlh}ULWZFY+P=ZKZW6U~K&ku@3DqCWN5{C`GJv)xoi2xvF!hlY3(;rH5+(i?k=Y1-` z9kZSDnz7UzL;FbVoWkfSi&} zla2c>;2dJ9czkn6Kw_;LvX*rjbJqZ5cRqs^eP-N2fS%qRWoOWgNqHPDq$dC!!6O~2 znj3xwtq^A=BDllv`cIg!+iZ9D=~-)M=Hgb9MRETC3eo9q{ZGZe&cY`KihT zbPXW~Q1tTu0Hsr7-Q8SI`GItEC6zz~>cZ&2BkE6IQBheSSkx6P%^Al<3Obd~QVBcf zy%UHY85>)m3lk}I(g|ot{%q%V_cVJy@LBmVGaM|fCo)acspz@J!1vYZS8A)cZXnMI z0iz!ZidTJG0CG=%Z){Pfw~!P;0~Q1p2MZa_Km+#ZccyP`C0S&Tn9`GN9GDC=hd50D z`mQ_lt+x>mB(8A_4KbCAe=r5ii=DL+cgMXqZTcEiJ-yM9la^G5+&1Qe%D4(LyBFS` zlIHRv%CbDHmkhb;r>6#+XK9iCO_US+Xw|n_}_M*ugn8*a0 ziJIhqIvrb)M0utdAOq`~2q9D;5O@8nMmGhBOoDofn4VJGV;Jw&q$fLq2_DoC2`^LT z{{S^@Ou!!~*lc_L)MT1N(Ry^vXkQ>u#BZx`K*a>VG?R>+43AH(Yb1lGYyw+W;QLk^ zrUhRFWcJ+D*5W<%uChk@u|X9Qg*g})*sn@EUC2ui29o0heA^6T?@?Cw5KG z(y`@IijYUE&yvrw`hN8^G3T8E6^W(QC{nTGI6tW8u zs9HE?b++LD054i@LXRLlMQBY4BPSR;Xz5I_;X~$NfSe6|Dk2L3l@caF-96JMex=~uv`VYL_XOksl^Y7bui)U0a7 zMgh(@t?7Qg)D_AunIa_Ngjm4op0w(?S1;6&xjWQMQe8y@r{4CCKwio-5+^xM5XRU;+iWeFq^jq6MhfVs!gu-nQ;H`wQD!5JXn zjfdW(t1`F)Im1yTXE^#$3#SvaqHHk$uLj{rEOxHzgjZMkPt9P`c&1nPclSC>~-XA zwHY2yF()})sd*CX^zXeIIPN-=RS-v!TO{=uG{j*7^~wJ92982{14dMk4aES&*TAys zCqKOxop*o%AcMJ~k$xFMMp(08mFPXqFe1NZ#s)zBRWt~*U9bSTAL~=c5f~A_Q{SaW zl1H1V3z7#~X5KR4ocTa*{c58*7o|WXbNB{_d zS5py&?e(F#34SOt=WjpOnYp%wNyR92Ti-w<($fj%0poZ zBco!tas3;IJ;Y11FbJ#xEWx`0jq~qbGsd`=3VWy|SQZrw%^>JkW2IRL-9Q;1TJ_E; zd2*sg2vJ%<8T;?iKK0|?C*#HKS|bxN7d*z;NZv*nEJ4nFJuBexqjLA~A3AYg5k(7L zT*Yi<31${2n|!fzra+@O3)xS6Ra)Kg7%ioca|<=B@x?USP^(CM(vo@;j{g8kwYlOR zABy63jLO#SAec)q)X2G0ENl<*h4SNiqPw5Np9?ju%bS~j@hvLMG&=+uhsrn9ah(4E zEqZuyr_eCoDAx+F4vg^A4S`Z+^WL!|QiWnR1e~$$nz*y#_O?@4++8E&1ZZJ!IX@vX zNJ;D%3?73uM{TYNd3R+dp5U~M>UAOn!<%vaSRP~BVN8xE!fimCQcB2%-a$Cjtcc3Q zAkR%FeD%e4j*QCU_WEXJW{f8<7Lweuf}w^w;Owuf<{e1uii2@q2tf}N41t<>!a*~2 zUT86hN&%6$>N?_;;1?bo3v(Rz3Cb`Tolq79W64N>C#l9s2XF;cTk!!JUNN_h=i+cY zt(lcm^9-sFMo@O&VtQ2}(872K98G1HFCElv9F3oabAuj+Iq0|>w)Mc?o>&~YNAhI<0L%SfO6U&;@dUBUWpNyAvq}L9r&5$V{;XHfJx@k*oCy0&EP9T`}H|Xn}1+INPHy&4JWW zZR~F*S*?%WRcJT#j}QFwQzJM#gKhw*LSJ_{lFWZKGybqxgMiPFMk#Ip|qi z0FjOHRGdaj3t4Xs@?^_+tcbZXs`Uu+e>P8-JCXIpUCF0CBAecAsAD6##voPzTt_I> zxKoem-#ZOeT?NMn5=fD=NQ)-dHh_oJPFWdF#YQ^}Vyz~)05VJ@nlFwhE+NM~3*k%T z0s6KX-0xH}2`6SY;7J%@kn8-oTTv=TTYRoT3F>Id%GTW5d^OQToo;UeOC_-aKwD;r zH$~Jw+tOk?i#M2LN|wkjw4f@5j#(J7>!@R4wpy%gEw~NDiOYvmaw1qQ<;h&Hn99mK z4bNO1s^5q3>#i!-@m(>AlF45|T`-`JmicTP9%BBU-6{%cAmZZD?5^DymNyu;z?8Ee zl;eDy9G;yiYn6i4gf}rMhTiN6BL4vNhb~$DpL`_-ROCNg`a`{=%P;wc}-^X}M=PylLG zF`)~elo9&+^`mg>$PW>fZ!cq-NYhT01406PPbsZRY&U)2{9l7xQ+)63nQ36jY z6^IoR9RuW%ax|-sqHw z>NE`4UraeO5UA1IEC%I)T?7?FY(ko;IFUk||%2#5oyq5ve0U9J%aW>vqik@Qm zBRxx;fIfg%yzl@*myn0%#&REFmpaB5AE@JhVPBu-XIaCKGwAJt954((2Rr<~K|=;J zx4zVkhZ~w!ds~=|w4n)%KIrNWHL1tx{X?j$0URS9Z110H{Z}dJ4~v(oZ>JRmc(4iU z=|qzSeJTkRy67EnF}-~TC8-Ez$@I-L5M4#HgQpn(0D6gv68QEMRY*CR1Lpmbj+N$I1jge_U}Bk#SVsN!&IK$!C2(=n{{XFBA(oavnCp-Uqa@cPt~bii zWC~DZXKm_GFv@MQO^EI7Ryq^aX3wO=2*?lS9W$Dkb~#^{OZMD-DSZu*k<-0Q8TB&b z9&?g=&@gV@h){$8eq`K{=tT^ZlZ4VoT-1Vb4I~%Gl=Rqt?9jQ2z&1|nk`G!5YqoQ^ z(}d~k{{Z8uFT-raX&CSG549}v%%O-njz-P$*5sN%0aM>>^q_3na7RM=#>jFP=B{^% zg-ckNuI2DQn;X^B&u|d10OfGrl~2cUC9)oXHU>LZC1J<`W+e)vV0_-SANWAejNp3F zidl&c8~#u}{*;%tGTzcp2L6~9|#&9>NM=We(1Fns| zYAkdXc>>DgIR!=q5(l^Cl6qp6kOexkxa;XsLoP5n5mRb*8C9cQT~BWG(-lc0{YuNF zho_;WVUYZ+aisUA8<=r}+O*8B?ZgF;D{rq)@3wx`d~K!XJZMBgH4!NUM7h!!(b=eshjp~)w3{qUtjzqPJx&4Ja79>2>Y}>gQwhvb zsbSQ!0*4;BC)YiFD^qYpidiEbY(7o_)mBp7NV3N}kt54*thw`|gwlbFYTbz+FHOm( zT7L_OV7T~wSaTeRo>e-*aB@3zz!g|fd?W%@jBk|5#?_?cJH{U*h%trviC&ew+ZIv@ zASXfdeF65N#?XfW5tX&=o`dgKY6l{3%aMulN!!0(zr9W?TR^1m)Sdbo$$`TVqdxH;aK~{+Oa2(It;X6|9-QNV0)TPU<8#zjScsBVjIq-s1d$eWPb}2=AN{d#wPyoX{41^5Imrz!890eMSec2ArI5 z(HyX%g?8k+vg9tD2Lz0sg!lC|DDAj8kMl6OxX1yB)SxV9q5j?f0KGQ7u6&ekBM&l5%BHxQsHA~@u%gUA3ar|FP$ z_NHTvBACEAuA)YC)^oVPEu`sI@AE<9h*+d+0HuE zg~E$@6hy6Tt!b`D^6S)c%*B`tX~#{la4}XVXrYEKKG7nx>yX2id}u?A`GTKc_pEqO zyD|b7NIq`9;+c#5bOp?uxeR)UZ!GvaheA4^two=S4JzoUR$VNsoo6F#wJwPRzMYY6=?2oM||y539!fZ zsdMEgB?jF)8pAtj2N~bBP&Ptz@4tH44l#w#u4+bfBRYH3OCF~<_NgE&ZnYga>Co2k zchevYXMVKCEsN(HX!}+ht8SR@jGmN@+k1e=6vaqpCpph*+H!eF2qQ_;r>{yf%BMIx z15y%NV79CfdUrYh0JS#&Y-Ylcy0Oq6wY=SqqXQY+tr4Elaji}d{_{nSJ`}`0cVxiD zP$-tnu+T{-*SFS<`Kp)<8_lpA3Lst@bm@>O58q)@Xsp*#WD*Be?f0OABn(cSCrSWy ze7pA)GaM=i4WCdtQN&y+m@GwxQ-8HYEr65~{!_a*aD6dA5OS(X$Yt__*KMmct_PT| z*rvW0qXIN)Dy{l{l^E@9H}j#w>|54>a2ZJjyVl53K@Ea`eWU;mj&|2d~c2Fe93XJ#{K$KO|KGASnLY*sPZnr9(?3ydP%0GhAF&gUr>Fjrvhu-tkA27R&vpqSq~?4gIPb3@89^kOx|mtS^PZByW*gSftni(TG24 z#8LIXd&b0SUQ$R?j`NY3K4Cb-r~J7=eAQb$vytKcl7SN*8@&rjyXO^vjYZrM8uf=I^&k80B; z&Y%xXIjthG8Pb0BVPGzG*v|RiJJHhNN*5sKI28^=x!mK}R0qWQyrh*o4uXoAxV$4O zqo)3pHV}XYPJOE*hS_6SaDH9!*Vl7eCT1B?pD8)*wF&Cccjy5hT9}!EBY(97O1RaW zgHk-eNdl436iFi;@G;zVtTQ+S_1|w=f|WHlCm1W=YLXzQh|D$ME*k)M`qpWkKsyfP z(a+U8;>#1UX+O2DRZYI*V2k7I}I87&`U{xz+#S}dgFSqCeJ3`U)!ZcT$brm zEaN`)rB=>pFtm9&^sGr)h8Zz|+PCM=O{-^Lr|m#QpNFE7P_fTW)NhD(P})NIx>Cxr z=_IZ;BS3=;0x4p?na}p8CrH{?k};61p;NvMB|XKf%(~81Tg{(AzA9Wc;S8S;7^r4) z0qQjLpgp)@cod)`Lu$uCP&PM?3&K@_AP_!p{{R&x_p@o0^_3+HXSpYD+NLjWtrkEo zH4=wWKQ8@;(!AVxjXGjVP90`ryjd~|lx;`l-yjTEjCg|AfS>U~VNc7_GXDU>B%uQ* zJsVd}_39VANl`N72IP#Ql1l-$FhBNd#<=Gdf^UdbnF8JM2aNNEsKJR}86C!Pf;}tX zaVM>}^L;K|;k;hn!7eQx>VG7*1)%1J^uigU@NQQ=GEo4g~U%2PF`+y@2DvfM~v^B0#9OVo4nz-W03*Er2H}TZRC~E zl)+!+)O@FH#d|RHd!;pxg4@f(TS~`^hKK?|X!(a3)K0_(T}SOs+u267XblCE=grPBNG7a7B;>-up=yx=|%ktCK|F@Am}z(Iy$MhKH65;UR4{{Sv3 z-s^<74SRd|tyUSXcv*%h6l0d(E~UZqXZpJ5HCa+{n+dt|Tv|X7TiS@03!Uy4M$V*- zil<_CZB;AZ4A|P)n9EH%nU+;M#SrD?hK#V)tekm%)n{+Rc;5@LSjCfxWWEZz&OlfB zn^t~j1I!Q0*0OFNIz#a5C&Za9qtN#3T;o5M69XAi2p;`vX}5pJt^7D2hrw;38bV|% z5e%#(RXJi50NO@&`EWB{FMq`@G+V(WZqlz4{G%BhrdYu$*~ZM{u6l~>?s$d7^Fb76 zn$ez2%X@$EWGo0g)pQQ!ao;(>W9?k=jXGu3 z)J4Vr01&P(CMg#>HH66m%Y<^CMPf-i6~N^&*x*+`#Q28}kX#Kd&YBRCtDQ>P$Yg&p z{w40@l0nKUyljCUBuPe5}-n9_mM zh1<_@cqBJG&L!~dTNy==hGDqrsexR4!l&@uLR-Ubg%Hg&!<8lp(;@kkXDfoB=|1MG zppS(*autrY;wZ)_&WwpwST1q1smA>_r(xopB1n@E1kuH&nT(rEilly95Ju--!FN3< zMCrTOcskqK&uMO0#cJ{iBsjU$d54;Djk1{khVj4Um zf#m?8EuQ<(BTfhyg^Fof=~mn^z(T*Ep#x&NNNk)D?MAnXSk_s_km6}pG)?$$W1(7o z`VAy)*pIajRDJ^PNN+7IL_%#3uxt%%1d529$xHUZoW^rv9*q{exg zX%hDWNd}XtilOrj!px*?`bZ<%hzxK<*Di_6gc)SDeP8)!RMd&7x(!YUI)9jZQJy{) zwpQ+|Ac^hM{{SvTgKlXEry~M33#U*Fb&z^c_SR;VOmhsA~3^GbSAPBArb{Y)(^oW709eYrT(5+__*EbBL#3hCspv*>v zX$yW6YTu{7JdqAZ8>NOr5;IYaoK8jCxgUHq*m$el4I1 zF4h-m!mI#B7=Bp&Ky*{vAmXf|vF6-Lek@(X7YHD{gB!6J0Jl>TjHqmV2TI2hV^-hE z(;lx`@QgCpO=+!+!{9?HpYs7_EUGl;ePyzN`Tz}mE5dC2RSW?nk>+V!vB}iR0oh6V z4_>Cc6Tn{?a}pv1XAFTFFi(&O(QtE>!l^kw%td>@35IA=G`3}qHIE=6)aFC0JLjeb zDMwjh$(E1MBwxl0yzGKD+wV|DosMhY4svL`TJ!0(N;W!yC#Ou%OSYkbxm@Op3rtw& zbEgMAD{zVHjE5`Tvzi*b*khdKaaiTlV;I2gLq^DAN78_JYz@s!wEVKU?OHM~f9+bx z(hm8lAqhml<25&V4w2IfQj`Kl2kPFnDUlsKq=MMntz}^hIUo~|4rqkAVn?S+9;MZR zwP1Aw{{XcV-ME3KS3OlW%`E`)Kn%aGT_v-*b5ciOGB(?-XcYqhbRFo-h>}Igk-O<5 z_n;TTE_55WGNGJ|HDp51* z0ZuY^#WyWWqWFFpp+I(TA!hc)WyOrKa&?DK%gbYRI

B#lT>?vu|)eg_31A+&e6o7fcjr)^F=1McaUAL+U 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 z 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 ~(Jb}g%6*BSK9dWQ|V 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

9H&{+&c_4)~*R*cIct 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