From 4d1d561d28e04beb56f2c75b4ddaaf20d787ba07 Mon Sep 17 00:00:00 2001 From: chenxl Date: Wed, 28 Aug 2024 16:11:43 +0000 Subject: [PATCH] [feature] release 0.1.3 --- .github/workflows/package_wheel_release.yml | 34 +- .gitignore | 3 +- README.md | 98 +- doc/assets/Framework_effect.png | Bin 0 -> 111136 bytes doc/assets/InfLLM_equation.jpg | Bin 0 -> 17725 bytes doc/assets/InfLLM_framework.png | Bin 0 -> 120894 bytes doc/assets/KTransformers_long_context_v1.png | Bin 0 -> 134536 bytes doc/assets/KTransformers_long_context_v2.png | Bin 0 -> 161040 bytes doc/assets/Quest_framework.png | Bin 0 -> 290850 bytes doc/assets/SnapKV_framework.png | Bin 0 -> 214311 bytes doc/assets/SparQ_attention.png | Bin 0 -> 140228 bytes doc/assets/internlm_memory.png | Bin 0 -> 127690 bytes doc/assets/long_context_generate.png | Bin 0 -> 185748 bytes doc/assets/long_context_prefill.png | Bin 0 -> 150325 bytes doc/assets/needle_128K.png | Bin 0 -> 138555 bytes doc/assets/needle_1M.png | Bin 0 -> 103188 bytes doc/en/long_context_tutorial.md | 316 ++ ktransformers/__init__.py | 12 +- ktransformers/configs/config.yaml | 18 +- .../ktransformers_ext/CMakeLists.txt | 9 +- .../bench/bench_attention.py | 178 ++ .../bench/bench_attention_torch.py | 94 + .../ktransformers_ext/cpu_backend/backend.cpp | 88 +- .../ktransformers_ext/cpu_backend/backend.h | 19 +- .../cpu_backend/task_queue.cpp | 2 +- .../cpu_backend/task_queue.h | 2 +- .../examples/test_attention.py | 142 + .../ktransformers_ext/ext_bindings.cpp | 644 ++++- .../operators/kvcache/kvcache.h | 727 +++++ .../operators/kvcache/kvcache_attn.cpp | 2533 +++++++++++++++++ .../operators/kvcache/kvcache_load_dump.cpp | 123 + .../operators/kvcache/kvcache_read_write.cpp | 1019 +++++++ .../operators/kvcache/kvcache_utils.cpp | 1157 ++++++++ .../operators/llamafile/linear.cpp | 18 +- .../operators/llamafile/mlp.cpp | 26 +- .../operators/llamafile/moe.cpp | 28 +- ktransformers/local_chat.py | 99 +- ktransformers/models/configuration_llama.py | 203 ++ ktransformers/models/modeling_llama.py | 1744 ++++++++++++ ktransformers/operators/RoPE.py | 176 +- ktransformers/operators/attention.py | 173 +- ktransformers/operators/cpuinfer.py | 746 ++++- ktransformers/operators/dynamic_attention.py | 775 +++++ ktransformers/operators/experts.py | 4 +- ktransformers/operators/models.py | 756 ++++- .../DeepSeek-V2-Chat-multi-gpu-4.yaml | 2 +- .../DeepSeek-V2-Chat-multi-gpu.yaml | 2 +- .../optimize_rules/DeepSeek-V2-Chat.yaml | 8 +- .../DeepSeek-V2-Lite-Chat-multi-gpu.yaml | 2 +- .../Internlm2_5-7b-Chat-1m.yaml | 28 + .../Qwen2-57B-A14B-Instruct-multi-gpu.yaml | 2 +- .../Qwen2-57B-A14B-Instruct.yaml | 9 +- ktransformers/server/config/config.py | 28 +- ktransformers/util/cuda_graph_runner.py | 3 +- ktransformers/util/custom_gguf.py | 3 +- ktransformers/util/utils.py | 24 +- pyproject.toml | 3 +- requirements-local_chat.txt | 3 +- 58 files changed, 11709 insertions(+), 374 deletions(-) create mode 100644 doc/assets/Framework_effect.png create mode 100644 doc/assets/InfLLM_equation.jpg create mode 100644 doc/assets/InfLLM_framework.png create mode 100644 doc/assets/KTransformers_long_context_v1.png create mode 100644 doc/assets/KTransformers_long_context_v2.png create mode 100644 doc/assets/Quest_framework.png create mode 100644 doc/assets/SnapKV_framework.png create mode 100644 doc/assets/SparQ_attention.png create mode 100644 doc/assets/internlm_memory.png create mode 100644 doc/assets/long_context_generate.png create mode 100644 doc/assets/long_context_prefill.png create mode 100644 doc/assets/needle_128K.png create mode 100644 doc/assets/needle_1M.png create mode 100644 doc/en/long_context_tutorial.md create mode 100644 ktransformers/ktransformers_ext/bench/bench_attention.py create mode 100644 ktransformers/ktransformers_ext/bench/bench_attention_torch.py create mode 100644 ktransformers/ktransformers_ext/examples/test_attention.py create mode 100644 ktransformers/ktransformers_ext/operators/kvcache/kvcache.h create mode 100644 ktransformers/ktransformers_ext/operators/kvcache/kvcache_attn.cpp create mode 100644 ktransformers/ktransformers_ext/operators/kvcache/kvcache_load_dump.cpp create mode 100644 ktransformers/ktransformers_ext/operators/kvcache/kvcache_read_write.cpp create mode 100644 ktransformers/ktransformers_ext/operators/kvcache/kvcache_utils.cpp mode change 100755 => 100644 ktransformers/local_chat.py create mode 100644 ktransformers/models/configuration_llama.py create mode 100644 ktransformers/models/modeling_llama.py create mode 100644 ktransformers/operators/dynamic_attention.py create mode 100644 ktransformers/optimize/optimize_rules/Internlm2_5-7b-Chat-1m.yaml diff --git a/.github/workflows/package_wheel_release.yml b/.github/workflows/package_wheel_release.yml index 93e5f38..f04ee07 100644 --- a/.github/workflows/package_wheel_release.yml +++ b/.github/workflows/package_wheel_release.yml @@ -29,11 +29,6 @@ jobs: - { os: ubuntu-20.04, pyver: '3.12', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.12', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.12', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'FANCY', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.12', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.12', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.12', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'FANCY', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.12', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.12', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - { os: ubuntu-20.04, pyver: '3.12', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'FANCY', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.12', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.12', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} @@ -52,12 +47,6 @@ jobs: - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'FANCY', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'FANCY', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'FANCY', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'FANCY', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.11', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} @@ -76,12 +65,6 @@ jobs: - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'FANCY', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'FANCY', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'FANCY', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'FANCY', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: ubuntu-20.04, pyver: '3.10', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} @@ -98,10 +81,6 @@ jobs: - { os: windows-2022, pyver: '3.12', cuda: '12.2.2', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - { os: windows-2022, pyver: '3.12', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: windows-2022, pyver: '3.12', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - - { os: windows-2022, pyver: '3.12', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: windows-2022, pyver: '3.12', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - - { os: windows-2022, pyver: '3.12', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: windows-2022, pyver: '3.12', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - { os: windows-2022, pyver: '3.12', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: windows-2022, pyver: '3.12', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - { os: windows-2022, pyver: '3.12', cuda: '12.1.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} @@ -114,10 +93,6 @@ jobs: - { os: windows-2022, pyver: '3.11', cuda: '12.2.2', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - { os: windows-2022, pyver: '3.11', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: windows-2022, pyver: '3.11', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - - { os: windows-2022, pyver: '3.11', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: windows-2022, pyver: '3.11', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - - { os: windows-2022, pyver: '3.11', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: windows-2022, pyver: '3.11', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - { os: windows-2022, pyver: '3.11', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: windows-2022, pyver: '3.11', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - { os: windows-2022, pyver: '3.11', cuda: '12.1.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} @@ -130,10 +105,6 @@ jobs: - { os: windows-2022, pyver: '3.10', cuda: '12.2.2', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - { os: windows-2022, pyver: '3.10', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: windows-2022, pyver: '3.10', cuda: '12.1.1', torch: '2.4.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - - { os: windows-2022, pyver: '3.10', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: windows-2022, pyver: '3.10', cuda: '12.5.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - - { os: windows-2022, pyver: '3.10', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '124'} - - { os: windows-2022, pyver: '3.10', cuda: '12.4.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '124'} - { os: windows-2022, pyver: '3.10', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} - { os: windows-2022, pyver: '3.10', cuda: '12.2.2', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX2', torch_cu: '121'} - { os: windows-2022, pyver: '3.10', cuda: '12.1.1', torch: '2.3.0', cudaarch: '8.0;8.6;8.7;8.9;9.0+PTX', instruct: 'AVX512', torch_cu: '121'} @@ -219,6 +190,11 @@ jobs: $env:CUDA_PATH = "$env:CUDA_PATH/Library" $env:CUDA_HOME = $env:CUDA_PATH $env:PATH = "$env:CUDA_PATH/bin;" + $env:PATH + $directory = "$env:CUDA_PATH/lib/x64/" + if (-not (Test-Path -Path $directory)) { + New-Item -ItemType Directory -Path $directory + Write-Output "Directory '$directory' created." + } cp $env:CUDA_PATH/lib/*.lib $env:CUDA_PATH/lib/x64/ $env:INCLUDE =$env:CUDA_PATH + "/include/targets/x64;" + $env:INCLUDE diff --git a/.gitignore b/.gitignore index 1bb8666..5d72e80 100644 --- a/.gitignore +++ b/.gitignore @@ -17,4 +17,5 @@ compile_commands.json *dist/ ktransformers/server/local_store/ ktransformers/server_test1.db -*.patch \ No newline at end of file +*.patch +local_chat_djw.py \ No newline at end of file diff --git a/README.md b/README.md index f04a159..a3a6792 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,17 @@

- - + + KTransformers - + -

+

A Flexible Framework for Experiencing Cutting-edge LLM Inference Optimizations

🔥 Show Cases | 🚀 Quick Start | 📃 Tutorial | 💬 Discussion
-

🎉 Introduction

KTransformers, pronounced as Quick Transformers, is designed to enhance your 🤗 Transformers experience with advanced kernel optimizations and placement/parallelism strategies.

@@ -22,17 +21,43 @@ interface, RESTful APIs compliant with OpenAI and Ollama, and even a simplified

Our vision for KTransformers is to serve as a flexible platform for experimenting with innovative LLM inference optimizations. Please let us know if you need any other features. -

✨ Updates

+

🔥 Updates

+* **Aug 28, 2024**: Support 1M context under the InternLM2.5-7B-Chat-1M model, utilizing 24GB of VRAM and 150GB of DRAM. +* **Aug 28, 2024**: Decrease DeepseekV2's required DRAM from 20G to 10G. * **Aug 15, 2024**: Update detailed [TUTORIAL](doc/en/injection_tutorial.md) for injection and multi-GPU. -* **Aug 14, 2024**: Support llamfile as linear backend, +* **Aug 14, 2024**: Support llamfile as linear backend. * **Aug 12, 2024**: Support multiple GPU; Support new model: mixtral 8\*7B and 8\*22B; Support q2k, q3k, q5k dequant on gpu. * **Aug 9, 2024**: Support windows native.

🔥 Show Cases

-

GPT-4-level Local VSCode Copilot on a Desktop with only 24GB VRAM

+

1M Context Local Inference on a Desktop with Only 24GB VRAM

+https://github.com/user-attachments/assets/a865e5e4-bca3-401e-94b8-af3c080e6c12 + +* **1M Context InternLM 2.5 7B**: Operates at full bf16 precision, utilizing 24GB VRAM and 150GB DRAM, which is feasible on a local desktop setup. It achieves a 92.88% success rate on the 1M "Needle In a Haystack" test and 100% on the 128K NIAH test. + +

+ + Single Needle Retrieval 128K + +

+ +

+ + Single Needle Retrieval 1000K + +

+ +* **Enhanced Speed**: Reaches 16.91 tokens/s for generation with a 1M context using sparse attention, powered by llamafile kernels. This method is over 10 times faster than full attention approach of llama.cpp. + +* **Flexible Sparse Attention Framework**: Offers a flexible block sparse attention framework for CPU offloaded decoding. Compatible with SnapKV, Quest, and InfLLm. Further information is available [here](./doc/en/long_context_tutorial.md). + +
+

GPT-4-level Local VSCode Copilot on a Desktop with only 24GB VRAM

+
+ https://github.com/user-attachments/assets/0b9fa2da-66f0-48eb-b4b9-f0e1f06f8927

@@ -54,7 +79,6 @@ https://github.com/user-attachments/assets/4c6a8a38-05aa-497d-8eb1-3a5b3918429c

- More advanced features will coming soon, so stay tuned!

🚀 Quick Start

@@ -89,17 +113,21 @@ Some preparation: ``` - Linux-x86_64 with gcc, g++ and cmake + ```sh sudo apt-get update sudo apt-get install gcc g++ cmake ninja-build ``` + - We recommend using [Conda](https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh) to create a virtual environment with Python=3.11 to run our program. + ```sh conda create --name ktransformers python=3.11 conda activate ktransformers # you may need to run ‘conda init’ and reopen shell first ``` - Make sure that PyTorch, packaging, ninja is installed + ``` pip install torch packaging ninja ``` @@ -107,37 +135,44 @@ Some preparation:

Installation

1. Use a Docker image, see [documentation for Docker](./doc/en/docker.md) -2. You can install using Pypi (for linux): +2. You can install using Pypi (for linux): + ``` pip install ktransformers --no-build-isolation ``` + for windows we prepare a pre compiled whl package in [ktransformers-0.1.1+cu125torch24avx2-cp311-cp311-win_amd64.whl](https://github.com/kvcache-ai/ktransformers/releases/download/v0.1.1/ktransformers-0.1.1+cu125torch24avx2-cp311-cp311-win_amd64.whl), which require cuda-12.5, torch-2.4, python-3.11, more pre compiled package are being produced. 3. Or you can download source code and compile: + - init source code + ```sh git clone https://github.com/kvcache-ai/ktransformers.git cd ktransformers git submodule init git submodule update ``` + - [Optional] If you want to run with website, please [compile the website](./doc/en/api/server/website.md) before execute ```bash install.sh``` + - Compile and install (for Linux) + ``` bash install.sh ``` - + - Compile and install(for Windows) + ``` install.bat - ``` + ```

Local Chat

-We provide a simple command-line local chat Python script that you can run for testing. - - > Note that this is a very simple test tool only support one round chat without any memory about last input, if you want to try full ability of the model, you may go to [RESTful API and Web UI](#id_666). We use the DeepSeek-V2-Lite-Chat-GGUF model as an example here. But we also support other models, you can replace it with any other model that you want to test. +We provide a simple command-line local chat Python script that you can run for testing. +> Note that this is a very simple test tool only support one round chat without any memory about last input, if you want to try full ability of the model, you may go to [RESTful API and Web UI](#id_666). We use the DeepSeek-V2-Lite-Chat-GGUF model as an example here. But we also support other models, you can replace it with any other model that you want to test.

Run Example

@@ -162,23 +197,30 @@ python -m ktransformers.local_chat --model_path deepseek-ai/DeepSeek-V2-Lite-Cha # python ktransformers.local_chat --model_path ./DeepSeek-V2-Lite --gguf_path ./DeepSeek-V2-Lite-Chat-GGUF ``` - It features the following arguments: - `--model_path` (required): Name of the model (such as "deepseek-ai/DeepSeek-V2-Lite-Chat" which will automatically download configs from [Hugging Face](https://huggingface.co/deepseek-ai/DeepSeek-V2-Lite)). Or if you already got local files you may directly use that path to initialize the model. - >Note: .safetensors files are not required in the directory. We only need config files to build model and tokenizer. + + > Note: .safetensors files are not required in the directory. We only need config files to build model and tokenizer. + - `--gguf_path` (required): Path of a directory containing GGUF files which could that can be downloaded from [Hugging Face](https://huggingface.co/mzwing/DeepSeek-V2-Lite-Chat-GGUF/tree/main) (we only support q4_k_m and q8_0 for now, more formats are coming soon). + - `--optimize_rule_path` (required except for Qwen2Moe and DeepSeek-V2): Path of YAML file containing optimize rules. There are two rule files pre-written in the [ktransformers/optimize/optimize_rules](ktransformers/optimize/optimize_rules) directory for optimizing DeepSeek-V2 and Qwen2-57B-A14, two SOTA MoE models. + - `--max_new_tokens`: Int (default=1000). Maximum number of new tokens to generate. + - `--cpu_infer`: Int (default=10). The number of CPUs used for inference. Should ideally be set to the (total number of cores - 2).

Supported Model

-| Model Name | Model Size | VRAM | Minimum DRAM | Recommended DRAM | -| ---- | ---- | ---- | ---- | ---- | -| DeepSeek-V2-q4_k_m | 133G | 24G | 136G | 192G | -| Qwen2-57B-A14B-Instruct-q4_k_m | 33G | 8G | 34G | 64G | -| DeepSeek-V2-Lite-q4_k_m | 9.7G | 3G | 13G | 16G | +| Model Name | Model Size | VRAM | Minimum DRAM | Recommended DRAM | +| ------------------------------ | ---------- | ----- | --------------- | ----------------- | +| DeepSeek-V2-q4_k_m | 133G | 10G | 136G | 192G | +| Qwen2-57B-A14B-Instruct-q4_k_m | 33G | 8G | 34G | 64G | +| DeepSeek-V2-Lite-q4_k_m | 9.7G | 3G | 13G | 16G | +| Mixtral-8x7B-q4_k_m | 25G | 1.6G | 51G | 64G | +| Mixtral-8x22B-q4_k_m | 80G | 4G | 86.1G | 96G | +| InternLM2.5-7B-Chat-1M | 15.5G | 15.5G | 8G(32K context) | 150G (1M context) | More will come soon. Please let us know which models you are most interested in. @@ -188,7 +230,6 @@ Be aware that you need to be subject to their corresponding model licenses when
Click To Show how to run other examples - * Qwen2-57B ```sh @@ -208,6 +249,7 @@ python -m ktransformers.local_chat --model_name Qwen/Qwen2-57B-A14B-Instruct --g ``` * DeepseekV2 + ```sh mkdir DeepSeek-V2-Chat-0628-GGUF && cd DeepSeek-V2-Chat-0628-GGUF # Download weights @@ -221,8 +263,11 @@ cd .. python -m ktransformers.local_chat --model_name deepseek-ai/DeepSeek-V2-Chat-0628 --gguf_path ./DeepSeek-V2-Chat-0628-GGUF # If you see “OSError: We couldn't connect to 'https://huggingface.co' to load this file”, try: + # GIT_LFS_SKIP_SMUDGE=1 git clone https://huggingface.co/deepseek-ai/DeepSeek-V2-Chat-0628 + # python -m ktransformers.local_chat --model_path ./DeepSeek-V2-Chat-0628 --gguf_path ./DeepSeek-V2-Chat-0628-GGUF + ``` | model name | weights download link | @@ -245,11 +290,15 @@ Start without website: ```sh ktransformers --model_path deepseek-ai/DeepSeek-V2-Lite-Chat --gguf_path /path/to/DeepSeek-V2-Lite-Chat-GGUF --port 10002 ``` + Start with website: + ```sh ktransformers --model_path deepseek-ai/DeepSeek-V2-Lite-Chat --gguf_path /path/to/DeepSeek-V2-Lite-Chat-GGUF --port 10002 --web True ``` + Or you want to start server with transformers, the model_path should include safetensors + ```bash ktransformers --type transformers --model_path /mnt/data/model/Qwen2-0.5B-Instruct --port 10002 --web True ``` @@ -264,10 +313,9 @@ Access website with url [http://localhost:10002/web/index.html#/chat](http://loc More information about the RESTful API server can be found [here](doc/en/api/server/server.md). You can also find an example of integrating with Tabby [here](doc/en/api/server/tabby.md). -

📃 Brief Injection Tutorial

At the heart of KTransformers is a user-friendly, template-based injection framework. -This allows researchers to easily replace original torch modules with optimized variants. It also simplifies the process of combining multiple optimizations, allowing the exploration of their synergistic effects. +This allows researchers to easily replace original torch modules with optimized variants. It also simplifies the process of combining multiple optimizations, allowing the exploration of their synergistic effects.

diff --git a/doc/assets/Framework_effect.png b/doc/assets/Framework_effect.png new file mode 100644 index 0000000000000000000000000000000000000000..fbf1be12e659fc02899907676dcbfd713e885a08 GIT binary patch literal 111136 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≺VlVgs_okUDL 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 EKO*M05dZ)H literal 0 HcmV?d00001 diff --git a/doc/assets/InfLLM_equation.jpg b/doc/assets/InfLLM_equation.jpg new file mode 100644 index 0000000000000000000000000000000000000000..54d236c03df634e15fb1b64631ea2860156beb45 GIT binary patch literal 17725 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≥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

>Mk}l8P)~29WMzG?k3@is z5EvO}1*lP*2f*VeA|i6eg2EZ-!{}>ir)f6W6v>0vVcpsUYD`pM{rmizjNj%+oHP)j#ITb7RbEa9=XmW zrWC_pVWC+=%qF#Dv0Q=cmpoJA^8EZ1C_1y`jEqewdno(*df(yVf}6$T=Gmq9JP2cX z*=Yq<}NVqzkdFk(B|x&T-gpXbqJPD@lFIUvIZA~hg4MJkwu zEeWOw0k;JP#$|VRi{Ei)vrC1s9|R~BT3cIz91-jwV9Q0gZBT2ss)Fb`>fr$33;?2R z7Jn<9OXB0KA>h=YludtyaJx^J`U+!Ni6-t>AxjedM8cztp#W>15;&c)X;v9MG9rO62U>_x5DZIB}7NKikU@$)LFmpa*H z#S%U{^GW$(ccXj^#xV?i0#k62v}Hbt1;2Hc@t4o3(B1H?RBn2R<6T_+F8oqGyUfG> zuBnDB)M@qhHU|shbFN&ab~$D^W>N$7y*(TKzPr8c4P8ZAs@E(t5y*IXiWHP_yj*Qr z(PEghDl90V4C~#zIt1gT8OMA)m1*7yz8u9cLT)c_)y`~?-0m-1km3$MI@Y$@FIp>J z9CFO;^Z9rkaD8vn@hx~5uurY2Q61NPJU`#5h&jt$@;+R$O?O)JxqRv8yTOO~**(Yw zVBX=K*0@Xln0>ZGosFg|UsLs2JG0s)`j_-Ur6<)&O-SRdB_C-?aq{@?j|PRL@A)zN zAT90%+3r072NM`|8)IHFb6L);LnP9<4!uD->C$tC=6Rm*e#BuR47Xk?pDA7{wyT5- zd?xpeWlR_zMlCIFJuNh~#k_>JqX#Gbo|c=T5b2GxTDsOVQ%gvQlgv|V^$lz5c}DF1 zIyVm0ZP{%@4;HfnRS8;94$?`}+YCsRKK?}$zzmmsEvp(?WNIemT;)w=rfGMoH@`0{ z)z98}oC$DmCU(Bvz{J}df)6G@LR*u%*Y1n8+)H^Wy(Shy|n#Js7RR9!; zXJ4XV;CXAUbUTCOQ%@QB#vCMs^ik^8d)VfM5IDn9?GPI9;`ODU9rr@TmL4FN47xmB zf%!H9v~<^RA-bJyc6jA#io165!f_v70^t7`jiB~>-9n?X-eLbqdSO5$n8e=_p#7Fv zDWfGn7~$9GuC-z5>GuPJwROO*v8!wCiI*lwk_7?@oUJcytYBxEinhWf?6R3v3Ach2 zX^0sam6u(F&c3nf9lW6}r|K)EM;#~Lj4)lE+im-us)Z;>gcrI&%Cda*3CgO7fm&kd zv-L**c%U)vO=lYaiRm|T*jJd6M&orkmVOOt4vXqz<-`8lHrPuN0xc~nO<}?A57}mk zNYwgnrK@x{s0r z{@r)~_L@4}@Siv05I5jQbI(2l z3Q8b~yo{u#SNe7ame-xG3QDu zujxYJ3?a1Gp;9?&EX4o$kxsRyq8<3Z|IhN~ePHA0o$UYo{(CVU34zp9M@A{$fBr-O z|2^k7WqdlB1jZ18PHyEw`Ns+9acLIQOpW*819J}M%S@wRzE{`NMdpfiU9L9E!1oN2 zd9S@TeK%%Cy1O+unlWUC5_}`%eoK9AevVwB!R7ls9f9$qdh(o2oKUG#0kqt@Zh5gM z#A$L;{fc=it_*2u&!QC-6&C}p{(b-cy-?%B@z$hjLOzpL?|=?QPj8lAA%?X5G=pJF}A?<@rh-P-_KUe)hgsPLqqLqE$@cW<_;|JTC)A*-n~a|_CI!+4 zKd5BzAaRk4sVm7JG*;Q#RPASLZsFmTHm>d4YH3YWSPT$IEiW&Rp}bdPQ9&!Vd@%fv zN;rd)mv?k@w9;ZA`2k5h`;_awWQ!d~!`GqN*|hlh_|G4Zq_?AlC7q3aP$eZMu7XD@ zr}5tsrouc32?+_sA*Byl`}%gY-u1b+TUqIJ+ad-A#^L(#@Zewuzx~W-)6VTNOp^k7 zIy%#h?*)jQ-TB5zD-^|qH}Ub=lUo)?1r7J`BtpZ&FflPF&OJKnMLf23DlKmfAFlMo z#YIFoO?bYO%DJGR4dKSs(9$~YW6rW$XcA&$8#tScr4kW8nRDf8y{M4Nshcl)PaY!& zr<&A1>xuJ_ShhrKYhy$A5o)qUnL)kFu-M6zYrD3Qw*@Stnj=TQ(>XmVDr&?^vuONQ znIOanpT@g&18T$}oQ~h|^z+xRUx(w<93LJQIdE~4kZ-*=Aw>l3k7=l82s;0G#hj^A z>yS}Nj)Uij(iwd3-aRrQ7jsk7<&RJDJa%Trvp-<$jZPW|G+U1{g{VD#+}ja~Q!*cS z!`XjQUrt*)-VDdT}aJfV&152x|}J6G@O^cfawQ{7NiRn^pVaj-hz*mBC$?KM%X zn=P-CwV-DFgWQ6BY`OL7-(JAwA&r1Q?O>Wft@Y^p*uHORS`5WW39joyVwZncX#D;> zi4h3eVoT~L;m}J}VmkGJ%}ij7E>BCN7^p~Kbf$dHpZ4$Hznx+_I+-eybsOns(x#1$ zp-(YSSl%#U=Kt!Bp_nW+gdMNSXtG2YdqK z;^K;_H;&GJuk?J#&sR$2UXBr12t2{;f8p&d=`A54VT;B40!2ADwh|fk`{bmoxY!(t zDK6V=gdf0?q#%gcRHRZw9e>SulMi{W3PJK_EsQ;@Cx!xR!cj)%OOy8@CLZOlwYB7w z6wia7ePykeXFvNApATnN3q2v06>>sDbZ(x9NNNVTJ`hYTXUAFBQ>_gaRF;>QS5lHe ztgf#=l953KwH-E9uhA`5bw?3Mp-TqZO#NaDqHSXp=;RKf{dII!S63Gu9j);}B(ZiBSiDz zkjUU5%9=N|S+N?6P1;K_z!`Wwo8f{?--A9pD&Z;Xk~XTMvhPAfD$h{#R>7#DOve@gR=R%{TaIT5We|DYe~?x`uYE@8L_#zowlc#_keAS+QB|PlAmh9jG8A zB!tXNwilwI$pQ?Br4ZPy92VaiD@+s}xXCj(Qbpa#}B#L3Fs2lBJVd zbhy@PB&gCvMl;gP+Y03d8d{Da zm9U%DNUrSBQ1Qa?=D^y6g^xbUcETk!Dy6?Adzok4LPZHpG%}$^IS^`VYbRS68W?Qr zN+ovk%vL_15=NJf3EgTYKMmg`#qt((`}J*XOj8Hd68XNO!euy9%%^!_aWUXa1Yt!d zUMIJh&!6~O)rr}VnO*(7!#83jpT!3<^L>sy=1W#YF`eA)-XKp0OG^U+hxn|&Gp4yh zGB!6gL5BJI`PuVP6sVtmAyVzVs?z%WDem{J4Al-~t;77x*<&v+!7)~0VPSguj)RbS=%%qP1YnjI=VQCORvQizvW3b?b0^>WYf;DTQuU7YpOYSjD3I0s;H>M zQHyoQQZ)kVUCZ@rAkhPYqSE@p7}C2C-bz&wn?I%6NEqF8=*n|N0g!6h7~N z@fYefFAt9rQ({?}eepbMs=o>PXYndm8UULPM?j-rb_$f1?x6cu!p1zc1nL((LiiMAaI*Y4yC3 zVx4l>=Zld?G&|!(DRxT*1qJ_(XB}U?dUbkw%03Vl5`s%DT9=a+QdGpnlz8*9aCF1` z2*Zdt*+Q9VG?_#H$I1#04i2FdDk`eq*&i|ykK*FtaW9-F#NL^z3JPbxduZ;;H(Xtw z?=_zodG&F^#zFwuPL`74Vj3GS8a4aG&`20*885v{;WRwk_>cvO`av}-Gb^hVf&(fH zc}zC|&nqHkkB#qL4GFlNj7&@pi!E>z%~e%=+}xibe1UtFYrO)RR$%n7DND$e>F(W7 zg74L~lOuVLg89(o=_%qT9N3rE`C)}2A?RC0CAyWC^9}A0gdtub*)(?36&5=))qdy4 z94suUBA%s2Whn!W(-m<3{-~j5U6FV6YaNnot9_1a{x&`>(oz-ujo#Y~w5WBz0|)qG z?UAx}slh3{(M3RE&VAat$rS@%!m+%q@*Or)_?pVo;8;6F7s@5~Jp`A6-#d0hje+ zgiWxWt6G6MFD-PR5JQ?k`0FO$!p6qN#Vszi4%Wl*eFMdackgCqW&$sbug}iOA^O>+?%kTd-D^$MPRjl?g56M0?~_)Mw3HM8-RhHy*v2;Z zDm{*Y3f3fSt%RJnz+d5Hb8|a7I~hbpDRY^07iaAFDR40h)Nf{vdwY9tY;16Ha+c`V zY88$1?}XaEQ+jWJ7RFE8HU0q=9TJgMH8_L+) z-8K66W<4ul!H!=s0sTbSX$ggL@v~{L!R$<+eBoQ(=N%P?s{<*k!QYM{CMJ>luD$Ve zkU(m~;trrr-;_ZEu!4xcdc*(d!h8pe6Gq;<9)c+ zLla3D6I?+yww=PMW#ba*k&s=(%f9cK}Fy z>rU8%r^yzxwT{NRx`pF55H+Xa)INxOD-)CJfV}Kwh!Z`YGFur z`sL3s=)PF--Ih`Tz<#EV(cw{_3fpJw(2WLB3SggXkB6Riy=>nkAH{&?NAXO zjx~I^*Lo#B#(4KGM(G?-WRTV^P-1{N9~~dpOfZ@VIufHHV~tyUb@6(}i?qw&1F=vP zYOM2ebNdGdEJ{@P15H;Mxw!E8d)w*J<{W1tl4okmEuVzQl#o=2)RZfy+|c%l}B{TQ?ZH zqse$5juji!t54jqks+2%?BjF$r8bp~Y8$q%;o)%%snb?>22g21`0qy)SI~IB^BmNM zn;raITxC!jKELzXp1OZ}7LOOWBB+-6GwrsNk>AnN)Qu}BrK?#9iHXwE(qv)Qvo#z# z^C0~otrlxeHdh485+CDCnn}z#6kR%Xx`xQt)&TAR{Z~kc>DlY#{rr3)mPT-P{ zRaBByPvK#vM-SkjeY1;iEu9{&6G@3*>`VW;8p;sqd;oRUZ6hHn3PJ&xDPuBsx=rA39paj;0l ztiqQzSW$SR*?H2?v)Xa74p04g@$4CW^q<4E z!QiaOs3>No)Xy%f{qXzxsmp)ol8H#r`77jY`=QZPA|x$99oCSzn1XlN*lfRLOMdHy zU{Pz~LbgFc)7910D>(+{9A?vWwprx#Oim8-uaw))%+cA=mJ8L-x0jHK9hA4}eioIr zBzRu5{QVL2&89?4#O3GXy6UDDRP0>!LQ$VTAAJXLNIBC*y%Roh0b!90eC)ef_~9YT z&O&n|-aYKl_B<>z+)g3f{ezD8dL`XR&&@G;>dSVNH9?2dgHII`4 z4_|lzdP<5VWXx^ua8jTlZ4lCQ!-s0O68q3uap=(HNW33b@dvh^ZL&?9)hniOI!XS@ z5?Js;qsvz>1n9Lg#46FExP3e5ex{%^J!RkUaJY^E)Z`YA9r8IU2Qia26vPWu-m#GQ zlZ6*?rbtrK6fl4~E5it5uGJOB3tW@T4X_?^$x*yCUh z097|{ZhnGmB4`WB_FD*@blCPnvj~_v{QM*~p#(NS9;2-$Fu6kt2xOm76H@!`OYT=N zg)|*a=sP)egxmxw*EcW_6&D9;NP=>%!Xj#p4s=Q)Rg};1c0I6Hz-1uTZS9bC+FDvt zcSpZ}_sV>Zw1nX9>+1vBTv%8L_8zr}hg}{8&X6O@KxxeZt>3S2bo;>pz}{AaAt(CG zgEnq)2QsUqv#?R_-=9LZ@o%QIn*_2ENVQ4SL#`4$YPf!hRbXV_;^FP2Om&MC<>j4S zT|1GFWM%tYxlK^c&(Dn;J(Q1q(Y8p3&i<~%NhSst(vl_i5fc)=ydRc?#e$2;EoB9G zH!=U>;;(b;3U~L?yT^#r?aED7-&^Ua9i{{d6^d1WF_Qx<`$whkjydA-)~YwSghvFwwEg#)rL}&i5)^FHjNS+ z7Z+Z*1;rCE*Qm}3m4pNAx(d5#o?a7l3Y&-2LGr_TfzyAYqjA;5O;|>@jw(Y7frI-=-9Yb$Tnk+-lnn4iA5%qJlT4XHy}}wf3sFm zQjrhN9wC@-wHjrpxBRGdvewN}7UiWRgHkLUML?#)CTwUMnnl zs{{6dsu=AKF>!BY77wuO8xpimbPnuj$nHE)50WSmlEIj|iYoF6*HOhS(|Wo_fh4il z3N-dw#;{uHea+x5Or^S!}CGc&WWM3|-mAPr1ld6}3-gQ~t6^|~!v zGPtekbw(fr{!Lfx7Z7~&Z01MIXTWe@u@Xm;8v7DbvxXShjJ}TnUylx5N^abv)ZNHB zyL*3eqP5>t;*G-H;X}|8ckbL-x}&D6Yt2Va!KQ^Z#z;qpx=?bHh^Z|F*Jv(?Rz^+^ z%x-*=^25VJ`)4vBY`wwD!Vdj$G-+&HVg9P=L`+DC%xrsSXJ>QsU2<~ryLay_=@=Lo zxVZ^DN~JNG>S=V6t2Y*ac>-4d?O2ZWoOdT>k5&Rgz0w_{c3WNGfr2C0bO97D*ni-k zaOBI6O3KO@kE-|gozm(~T)Jsv%^xHQzA=$Y{G=5{Bo)-BqoG$W( zhK52$B67gJ*3qW;zJY;-CG9V=wHrEg0USs{QL+6#tElLl9e<~2@wA-^EQ&NARH=JS zF4XmF^2&G*zFuy7;AYHf_Px&~m>xLNnkDCZtu!Q^Ad51=T&5QDVb}RgD<0T>- z4#{Mm;NJod%6Jijv)RdICTl%z(z%7%&k2Q(DI@{ukSiS%nN)f5G#`$yt9Ke+l%QY6XxY8C zd%wu2tajH3;%aO6!CR$kjSGbW$UQuY3Cg+CatCNPpYQqd9C}sRblLZa6@pRfiDApX zPXUWzS|P^9u&b`R zDmEG>Zk?YiIw+7E{rn+JVWD>;G*H^Jz!C(GyR=E^}em{|-{J`nt>sO_zEea~CTY1#m0dye{i+RvmfGmMj_$KTm zB8AwQtp!&8kE`2jf2ke(@gk|5_*ITSH@7{&&!fe4`nJIPe8`DXTTKlmYPmx6A}vXj~zc=`e!Ltmm?RH<8h?Zy^qm8fJ0C#9qa*w0h}6_6soDW4D- z8TpXo5WW=si4(Rja{}Wna=ynUTC+b_J~h6OwDE;1nj!42S8emu$LFj-F=fI3d>^BOk``>+2!Dqa}{fdS0DTwz!f7%zg+>gFr{M^UOtIfoB>*0eo znH0v2L4n0|A=mdKR#hrLY2_2t3#*1y{y=-m;JSuMm}>chT39L`W2vrahwj?sWNmhK zHpIJ+&7?!&leV0BgWU*@`eAc=ysY_4{}A43+0%A?=yZqkmuX+!a4IR#v-oBU9ej z)$6fM=}gSY+N?=Hurj$#J3x|M$1F%;Rf&IYK$5`D%Y@3h5_uL7iaLkBFWMS#bqRv{ zrq(Ic$az4}cD-NlcF)Yr9D8i3V9Bx1AK18alkKgoG1f zETJ=DGFoFZzS*C|22L^5z~9HmVPxcjq@25JYZGdd7Sn`&L+L`G8|T4Lfloo5f=s=3 za)D9*Jv&oBg1+C>&ED^+sj1*hk`NQaky=6}ixWTl2=2GBfsiRf^dkE}&>bwYd2n(O z48l6S0<*<4iS^mREysWIk|2K`m^I5TQSWi&{bZ!L5~o9YwzEI?4(bGuXJPHH+JH#xrdvk zr<)9E@CyK-T91Q~%zm+@IV;Qfzl?uVjwjY@1w;P=6#Gx=_(ST!bfHS{J}oP!XN(BYbD(Ps(KxZ`*W5uvvM^KY7yxV=`jH@q zcj2!&Sy*(MyqtY~FF?YYR8*Jeiy3+s;hf684z{28dyJxAWA~EO3Jj}6X4PHb_cAgv zPEMcGZx#~1?4hBi#!Gq?7uSOv@UD8OE%@S?y&KsyQoL0>x&gi*EbT?8R6F-qeaB{Z zAhl{FAg)dG%KFS*Knwjd{#hLn*5aGJ{#Ju<1 z2GVcGyF=0N0{zui?DM;eR5e`?%=@-N+#ipDDE@==5BZh>KJkiRtZ6FPU#0o^=q|sd z%K^8gvA+;9$Z_Mk61}`RH$N{K0W|AAZs(!sF9L8P#l^*OJ0Ynt==JpkBr{{tbI$tN z%B=Xv!%W42r2s0TV`B2)9)jM<6n4j+b4Ac$<9v>hbyyoLyb(kTSn!ab7!2exqh@l> zi2GVB#L$KZpnRq~0nh{DfPXz`1jN=1(5KW(;~G1%x@)^TmOvev>hRE+?f#dojt=z5 z8p6KU44SNWzO;8EwYBfx15fvT`Kv^9EYq|ct)jucK2+DX1}6^>eyQHsSrJA?^cz|) zbs%o&qbzhQr$wI+Q9|E+ZSDBl&;u(U%$ZB*9FVZpmrL#cIxxV-#ukh! z%imkAXD=y<`h^SqxoSNgZYR5OOOs)v2OY-N?v@LP3IQDx?=NDQU14*3kv1 zU|Pa1;MGuTtF?NZ4S=C2DSd@@zNzb8$W0>JGsQH1d)f%f5UX0}#JY`Pb?9~)VIw1m#s2o8Ew5oEX!{Lq0z-DMkw^`^%kXW@fG~F3@ycxNaUS`cqtF(UCT=|FTIdD!tTr_z;EN zofCXH=y7mz;@!|_tgjb4{K{*Bj3a+wbFw=R1)n_T{l|~L+Fqg!>j$O=T_Y~Q3854~ zksWlhpq&R!9GZNB64NNS5v*m}ytqIl2f4q3O+8tnpOTezbvP^`%^2a+Lz-qI?cIxm zLU=9#MreM1{@mOgc&hjm{M$3twz(`VP|*n1`p@W1n6a?1AiMDno-4kUf>m}Ad-*}wI-J`4=HuGlKsWmpABf&L_0&|o9qaH?}fe%XwoK) z^iaZIpn?2Pi;CNlJfd>Ie-Ot{l3tAb#Xd|FzDoLZO#tf!o zVL{OGIm`)Kb#&rOh(cc*TEDh@v=gZnY9469NE5R;dr0&nmx=Jez`(gV16%L3H*e5C`0lr3RWP!1 za)vSb(&7_JK{kh^0k_7d5jSWl1SSFfgO);RKS1iz zE!sjWY@$ROQDWFwvnz>iBkue|CiQzL`ksr;U7>I+!I}gSj5;u)kl{<1Yypj@;ymwvz`E6npuHRr5Fq4?Pr-KUJ0M5f zATvGv56FoF-QT}|!+gd!KE#S64CsNQz~|AU zb}X7VBEJ9wu=IDw3N`pKxwm!0^Dj(LIw`|0kUtG#!7)w5a#S;DlTvy7I56W!ypm2r zJ|yE5J&s~wv(Hgb>#`9r@Ptaz4s!`9#2a3)^rj5I9$o+#n1?DQIQ*DUn07ntE(8C0l6$-B6NHRBJf$y@I=r-ZpDw2CMn#pmRumh-=q11EWTaI zehw2?)5tcc&<_z}zrPTD3xVYC*nmC*AbZ870JPz)y6gx4$o{92$3Sla9K}7D8)1L% zm5G1rRtBH-?dblBkbCUx>B8=;N_hSB4!^$TTxkEMyY#KNouc59PrT~~v%90Cqu4N9R8%w!p9Tbvww z(b1}Ri*}h&JkjF>#tfB{4jiuDocyNdW*`(#9+8`GDIJIoV_{(E+CJG|gj(piJ4eQc zORxb<;oHNl8W@4{^7j5MiZ20_rEUWztJ+Vk0BpVuLo`T-;g;7F2*pCnd>#nTQ%y~D z3k3xQdIkpX%&Z5t$p!&PY*Ka|h|!;UNeR<(F>i3kaQ!$3e^T4~x(_dGS0 zA;zhxkBpo6OZYb7Mb@#!U651os_)LezGGU57^&AqI0o zv>eMp#sUATDUEF)=&z|EfIk>C1X5t?GKWM{i|Khdo}R8}L1_U*kRWKK>}mepO;Le* zF=JciOi7AFTD79i6)2L%uI$1Xz$tAyhEO;y@hxmP{xuT3 zB50e4ozTY+5{5^Gt<_enTltgF9-1`QW*@k2K^Qo@tyliNwXC(zfOS&#z+l}#H_Ae5 zfW&iDT(;iLNCI-`Xo4}x@3?S16(Nbhk6khG$&GC<%@KTsYG7c1%k={qo~s`)6yHE8 z;GU(^w-V043kp(6<5%Wi2i3AH*};xS9L6XYCw82=-3tRnH`m-;TzHT!S-uCaE~23h z&sN)N*MHV4xn?Sp#k#=+o70saz{16*6!Rg*ZmS3u!{laPXlQJdUV7l&$YtdYT(?F= z`Afxhji#Hgsn!B_e2*?fug2~s@0Qv+DDH>1D+2>j_Jbm#qM#?69rMA{$!Q-Fl$V!x zmCF}i^8x2)iWs>mI~1JlT$b+c?rRTXA`KM=TVTBHmYC`|Dac0G-kHF5lRBTHO&EXx zig5yi4uLF{BwQ|iP~Cx~?9A04f>U}BQX8X{Gj0RU+u^~1T|SZduCl6X_>txyBpU}CAd_GnU_!o%i4lX;GcwBb^#L_wW5ddx)xT;n{2s_52?@!JCIc_; zAxx`DK zZ?|u3Yz%@D+^#KnN~_P&CzTJCh3arhE-n?@NDISpAjY$rPl>zW3wNRa44X;HWi)2R z=fR&2-kS}Yd9_{d_+wbuHc7hJ3y+vIJ!a*1=tDdQZ_@kBeP9}|C3G32)|Jh=hUfVuUz<2o+{@2~4Q{XTJ47x0{V&bp#I%~VSd%t^$%XN# zEtvDXBnK%N;H{^XH{!OpK&9fnRZ?p*l_B<`M%3G;6W|=?C%hLM+-)h)ydYfEkjedb z<9-Ax1n>?l-Hj|>$c3l9Jesi_^zh9pz_LCpHV zV5BK{OlgIX`Kvwm8arTmq#!@vB)ZXU<3=~{-!U@WFi->B;yIs3teRkc3OaExj|6B3 z>S)mN5Ht(05Ga4y(X@yq3IZ}R>*soi60Nk%%-tV9Zj+E${=?|MuLzbV2z@+&N5fKreHx^)Obe}gRD-`@y_$Mz9EDIDqjN~p|U61(I22pB{uGP7d zGuG$38$8=es6`gE#x|(B(*R!xkxw-K2C1!HSV=s+xtG-fV2|eF~DIC z3=Fh;e}LI9e9`@fpiY10?*bfNK{Pga?umm^`^b_00uTbs4n$Kaw1RJ}oj~$J^S~RT z31r;f9u17ZKv(pk`f4}TdHNTW7C*j^Jw^C^%JDyI_>+2v^tHLPW?u=UwCCa-t-dGn zf`RqO2i#Hvw;S=~?+#y15QcAb|8e4wXr~!>UDwNcI$Oq1m%Y`j9V5{qX(r_+-5?Mds3^e`wrSx$3c-< z#?)t@XGP>V+5%LzjoR}iMJvQY#oo<&hDTAF5)Q3r&z_(B#}4}M>jfY0w{xMKd#wfp z;gtHK4}BVRtGc{1=UGBD`LePqy^-2KX%O31x>LBaS*+K-aPYAAj2VG$Xc$xWn||We z?&^w@+Ah&wW~HJ2n358OZ%%>^hB~|ELi7K2bQIjE(dzgarQ#C>UIY64*KLP6t;32}I!5}qv>GQ_;Ly9)oxBvf0+K@UC!4xr`#`?p>4?a3CaAJwi< zjPa#xs;|;LFj60q5*+MD4cs1ex$rf>kj&NM{@+IllA+UOn(ujs}p-Zo8r zXD`8QjM|Ody0upOe(~hnx7gJ?n8^hs|M$=CdOdIa@&k&1MB~M1Qu_t`RS|Jt0}WR zp*U2#QN05RiFQ<*OZESK3hzsf!no}ipKVdh&&mzVcJAqB_lL_xht)}~{^#98rJTtT zlDRC?#tYuKOV}kwj(og2LwEf;F-c_0rEI^ljoDOT+MsCs??YW5BA$_LuNKx^5r+!| z-lRjWBvka@boA9wD>l{b?j~)J%DY+%|Ld+lq!X)wmiqq>KrJ2Bu5VN1D(2j*p*DfB z(W6PY2^IHO%vw`!#pL@xG1w=(@4im#exn?Cd>g#r8m|Ad;iw_BVO^G$e~&+$M=H9D z4orFH0u@IxBn3H=t}YfDDmITq_g=}MbP7DIeStCM-JxVQaJAiL{f=Gr9f8z#x>&9n zC0QfrLN29k!)MN*H{VnQ}%f zmZ;X-X!<636*Ha*$4Z?BAS6qInlKlLyxFwa=pt6$=Kkncp1oop{Y6pfPu!n@sb8GE zj5a$z%J$WSZ&IYeG}rR7SvnW_re&H5aVOY_` z{QNjVAtzGAdu;@(J1Iq5=W2|VJ>M_9M$D`MpT;{NTxDm_(v_i9|F)D)SmD^)wE*W| zK9;Y7)+s$5Zt{Lqf9|unyh}vARa(L~eypHtC(F-le7KN{W^qS2(@Y-iS)2eDx13y} z;J<0{lM~0za=}Z3HOFub>KECKCL|ktLS5D-x@+sr&)LsqZbZwqTjO@I4rX@gWo#7f zUH;S+XP=t1BT4V%2tD8mC+KjVJKCm?QCZw8bt*_`w#KqVR*do}_%9@J`#5PA1SL{x zDdwmZ)1eo>iEMtvSwZP)oP}u4Y2o{fyczT+vCP?yYWU!^f|6)yz1vkOxWzKsSvRz$ zSZS|qu=XLs#Z%+Vt6^?#L&XAx=!uKzc=!no2Upo&m+{;Qd-^EsC>)$f^#qOKta^fz z$wIVNDyG}7UTx^=7<_e(nf3_l!VGqLQ1aP!y^+3CpDdcGXRIwEVcm1*Tx`{cuBY7n z%V5plIo>;ZE7j2z?P!>P&(Gdrv`Yrtxl%UzY1_$Zy|NIGew;8?saS+>96(7oBB?Kv zqZv&5#YkoF&fUKIvKkpCN(gn<(^FpRrjy+v#9IQFi+X!(40*&ol}uHi)8H)fu99ei z@2uap4yVnKD)#k)p+C?cBb+TO)ht5^9rP{#-4dT-#amiZv|{RzWu%=vEDG z|8v^NaJESGq_D`nxgYZheWpVsh9X|qrT_TsK$mmyjnBB8lSm&oJOkk?$>gQ9{a+re zXsH%t&G}bbU*wG?vU)Oor$$Gm6Bv`1(d7xg25A*Fd+n;LJ@3`Zitk6iVP);GNs1Hd%L^*K@c@T#_O(GsZSAwvizO9@*37| zo?St-Bfn#Qphx89tJRY$2W701g^g&DKP~-KP89aZP&3!eACcN_nYh1lw#Y|rCfy_Q zb*X~KaJW%qPU3>IdFWR}WT{L6; z{t|9Gef*f(jw>0_j^x$JQTwyAIBU+I=8$H}K=_QCoXuUhd4$gRp5j;TK69Q~i5b0) zO(d(kPvX)?hj7c}lJDG?C$!rvPTxqLu<#QoMzn|+M$O_~UZq|QE$T#$2LD!;tt-UG zTnWIelWXM<{XRzUeLsbaAvEFS__tbNQtq!*Oz!R=TGpqLX+?=8t*MKnORGh|x!KZY}A1 zmnJYu;tS?(a>_rAQ*C&#ya&}$CPJz(;+&V7ZmcZ8F}SboqO9Rz3I>b7t>F7bnr+yl z8KnapQUteUT>nwjoPIhM?vYcF=S$n-_`;Umtg`RBW3$(a)^X1( zGu?JV=BaJISCCkm?hxHc*u!_g72GECHsyG^btCu zeBFE+Qcv+iJ+0-XmXVND8v(@4XLVTtBCbEpr5348gBS%(T+2GyUTw!AC+DH_SDCa zczxd_j{edgKSCAn+?iQ8nd@?G@^!{8c(U)N!R6=Z6qwR_w=a@G!6+zxGt_%lW;W2c zM(3ibJZL>LAb%irB;$2=Af>Zvp-g`%WKHm~rJEZ>25-J{|Tv zZ|9`|lkex2_X}>tpCjjb0YY2i<;TTqgJkmb#W*ycoSs8xuFw9Zy(sTv_pn`bS^soj zS)+LtEjeD$WN!EvokJk4D}o>^tA%o7Ya=#3@BI&HM9kZkPV*LCSH5K0oVjh%2K>m4 zp!kLR=kc`pmuDZ$0=iRXHOLu&vCItnnX*V>_So+&Cz6r|B${X+-9K!bH;r1Lj%KBF zJk-^plR^w#JP-^Fdxnn0#l75n)La(-x=R*9wo`02aWJ?$-Md~tDeI4n z7}0zuQ~sT0v+lj#OKTaKSNqXAIrr5Uxoz3~+d@)h^K{*MhqdTgc^M)T{*^{0Fy55; zvP81s#UY2=F88FWbEXxwTZZ7S6gsLkGie2wAL6a?BIuWO3!6HuKHvz@$vh|cBc4g*l~e!WG?iJazlWoY%^<*<2n!j}-<@Y~Rby@Tw>MacwjD z5@MhI$IL0IDg_RzwhmpOcn!(WLp6B6{>iC`Az`G3Gu9utM919?^RIAiNd_Fu9%pDz zA2d;Qa($vrGHnti0OEk*(`Xws<{M zI;c!=bNdk5s4z_O=+Pq@ao?$)o=3#8$rglCa9v$NNeSF@dnF~@skY`dm{&b`XM|407S+w)bU+P$hDhBgq5pcBeh6B-(t;P!0wLbzpgeN)BQ{}e+Z z7J2^%T%Ed!hgZX#ey4N)4u&-{&&cy+OyE1FiB!Bf+~SFnkE09Dl8G?S(dCewou>Pu z?!7NXDq9$v9+F^w&!q1y?LTQ(2cAMPB2m%RPfXem*5xD>xAG}8xRYD2tlgiMi|m$q z5b3NXe6mqN5IR(qt|btlN9h<@J_&Mg7R_FpP_3*<*pJBhXyV;6HNvyT9s8@=isr~t z?k>8iZ{F0cdd(xgaz?_nZZlZ{@!9vETp8#GD1Tx94Twn~@lUwCC(oS_A-#*rgpke_ z-}<22j1)EgTUylc_>D|dL?hADmYdv?A>|=i4M(=Rn7cj`ukS{QHvRT_oWOp&sD=31 zgNAWZ`f_jeyE}bX3g>!0d6?x(fgGiugev^rRilU3+LW2auHBmHk;$1-)u3ogU@T|9 zwt>LeSvpUqb_@{(8O^t~%Dkh;PZRyU90y^md)}G!k<1vG*Ak zX!{)atRb|SW(EeD$4K`O0*uZ`dXUAkCC5&l%Yvn+I>8ByWYI@h;j|(9aM5<{)6yN* zf~CI3XO0H5mXCoovG1+sn38o5j*rjJH|y>+lH46J;nt&pDHUH1eA#wa(VqH`cUo9U zLn5N|ax|UTi%fJw4Z3?qlU9(9s&@uH=_b1>WjzRrS1&L(98-w35G1W_(9ij)>scLi zq*>29MYkfSfbPv=__Rs=UU_|gHNt7JeRWk9qE_`|O)X3<0u`zc? z1x9pd+yPhi9-hqIr&-MUM-Gb*OVknA$w%t-&bTgLtZ%%g)m|7V*-Se+aw$1fW`k$K;c-+4+J`&zqjIZ*|c3^t;It+{R#>+k6UYLNKX< zI!QVqg5pC}6LoP)3Wb!Y?Rc4Jk5An_U9A#JD%VO;MFMr*ZU^20p3O5kfog>ut+yO` zLMwGUM@||ClrUfsrY5$M7NwA*;qo+3$fIf`ouH2v`SqFf5bd)PBHF93=(>MQ2fh;0 zsq@~Ve#kCz==eiM{u3KUrkk048|u3_X9n}Wl3!-vpfzXmF31j7vs9=H(( z7bQc!!At^lP%6O{h2ASA7`rgvbN~MRieR^xNofQQW=RYCc_vm*U46aHgBg7T)Ee_U zmaYeUJ(nuHIF_2m{IXI613&r|G@J{WIK?l0&fF`%i6#t~MkC<9)y_;|o_b+%Cni&f z6J<(TR=~wxD{mz)-<`EP5>(?GTm4MKhf4lAHA;E^{>80i?m7fbQC6%xQ|#6LvARJv zUr+Q!vl6}R84;&({Tr{RpOqYE|J>+Y8v9e6ffZS1kwhPKJK^9En|1Nu57J7OXNsoD zrmR(Gb3q5E#+m!S)dk{``H?~KL1wDPUlkPvl5MMmg9~F{J&pdIG&UDAbKqJiE0;KB zXUR{FLif19MAeYvYYD-kZj>|BW2VuA5u0v!C&C>*BhS$ zvIg$4ldSpG51JIay9J*Hnf=xlG9n0BREia9kWU`rxL?93l=r7ZHDFEWy`{iSFKMsc zxY2uHQwdp2*=a*hyb1As_UfkS+OG@-{(6)GH}1>O0SqT=hm4 z*&Hp$IuS%2!#m|QVa=2oC-)~#1|@RwEQDM}B}=+;?TrnEa;^C1H;GND zpb+5tQ4tc3K%W{sco=s31mpB@>l``-h#VL>{8Li9AceR^CCmqR-{FF2aq-v80VZZ+ z$;X@i+Nu~I>W*;R5@Za8>o^@BNm z$*ko`4gCqY*lUr^sP_r$H3{G-gz%NMz_^6cy*Jh-JI`@ep@G>i$-v?MA2 z{zSi+Ip6j9o&)ZuZ{(Xc!3E4=bE7J6)SkR1`+qE*byyVN+s0Qx1O=r-N>Y#p>5!I? z?p_)xX(R-sV+BFFMd=Rdj-|W1SsLkv_wfC_`wy3wusgFebIud@{dtTfa3&5nD1zBED3=E!A1N3&WGszJ_5`^QSC-9~tz70& zRnGdG!~D1YC865(_w%z*O60g$RTUJHrzx@i$jDW;czL<+7J{7&dNq`Dx#3P|#)Mg8 zP?z}OWFG;lq;nc4)YH&sr<7S&1mE%-83P-l^cv5X@P2md8hbZ)ISA%gROA>P6nFBZ z(wy3mS0ib*C*&u|M#P^L*;-!PKzlu(mR~Q$_%paIHEP{{6b+VX(UW5mmMNT0=T1u6 z(@uNCMwwP=&)m7TJBS%2x1 z9Tb3ehif%_QY6&4o_*DA=$NZ%?9H&|Wr1IOEceaIJ8`_U$%NyVj58Ap1JP;gWOz-} zUouv|CrZyOmrK2t#mPUrQciHlgW7*y=1}Pu_g|9JpWNP*UgS=%zxa>`qwMV4J$kPy zD0i)G=-q858Z*+GOHjDrNY7b=h5Q1J9Qnw#O6%rq)TQ7G=U+jAK7BUfe6r@uq?C<9 zIXvnGccQWXpPlJm>bgC0N-UZU7Tp1@^7W5#n_V-K61^_(8&#a5TcDzW@B;f)C{YP= zx!uNEjJhF{K*QX3$!l&x>^|0{%Cuf)u7H3i@%?{m2azQ!ME#><)VYXnZ|^CP51%m~ zyX$+|N(XJyQO*@X@#V}Rewm5M$pXM`2lT5z-~_CJ5BgFdoCIoKpiw`VtKkrbuDE#t zDd>Z42@P!v^!4W1k_iJNsU23@?E@V@5sk^PCJ~qBql&b?Hin329}!_A;?-duAzA_5=wf_Gja_Np!eR{WUkPsYBweTrG1j zV2a}6VIhMrJJEH1zC{%>SW62jH#=|8th{HfmAS1lxN~sC7VT#93v?oP@*eDw5ySY| z6ifC)9L>vda#4DPtMet|t*;Ld;swpApq9j8^ z!NM5+_srQ*Y7H*)6x2qWljb&sW*OU5Kb-(KEsqcsvYIqQrhti!ES=8@?c*65KqX@J z!Qg9?D;AaZCq$?HE?JyE46!|v!frt&#>kqzy+|B@m=Q|ib^!eYNG<^PLOFmgv!deA?sWN%d=XNE z8G--N0r<}1;|afrl4z(sx?ox3(=IoYQ&*2|YPtuU1sz~da201@^?6Co7mRsy@;nl` zrHr&y+FxkhrOh7QD7wG@b~Wp@)Vs<2eJBi1=C4Wx0fiBMz}0V~e=?cB*Wcw~h`d{b z+XaU|DOTm_HOAX>D-Fxu&?_c-+PQJFO`5yB?6Z!oi0{FT4 z-oDM#-yt}fOXj%?3QLMha+Ov3Lky*JF_iw*VupyjCGpTU&*9aE9)Ad*Uf;^|bP#8G zZ*b1{_)16A_jyv)eS(Ujp*i$;0}UQ*IJDU^Oge)c^0)nqFy^e5==*~^{w-}0D%&b6 zcgEa*L&4X460Ycl`3?6kngw^q0xJGgc=8S=Q2DaaVsFiHmB?OWD&=rC5=iA$zWpUeGVxp+gzu&Q8B+Pf#tV`fS^Y|3Un{Lfj*^y)TVf4Z&5X`-B?X z-{0>GMjHHSiMO94cuLjo*taP%Z1Y=tg5q|GFrTLqkn>=+n9d1J$vc&K;qV32Pgx;IfsmlT*Bx9_?Vxg0A2OKe_}QBQvP=6-dD=- zxJ7c35h{P<5~^D4Z)KXFSjp>tO#apT_w`N)d$_zhusF-Ier>wUXufl?-DPiyd=v3@ z3Wu=%@{tzF`E6vD>Oa!iKrG5J9wTf~o>->*F_w9|sWyzN7w3Qd#p;pp8YLLDFsA(8 z6rp8I6{?un?A>a7BdUjXq@E=E4!vekD)83JaceELwltIeh{$nH6VgF&k^2*QjSgHm zH{A`_$USc{ob6@(D4n4H`L(yTdt1K*eK4oOct}(`{g_7tZGDsVhjXq+8B{3770s-$ z1q)_64jY3z(b*i~@?3S}tl>!NR))*I`Wu!BvfWqvTZmkC?%t2tXFhCqdnSQNVR?Ex ziqh=m)&OR8YQJ?JgvupR^_(?4 zoA&NYUCI9`;aws%n{PB!(bP$!V!9u^4St>R`n4~vh!XOXUV40aT*blAi}!}F|8NCrqe&!`#ASq$Gm(QaEu}=GY>NB(?#n;7zEb8&`cd}z_*y?)VXl7uYx(s; z{bfVKWxtMsLC}xRL_Yyu(Mp3e(%YS}zpx;kK`m5^ip35&#H}&rWG-Hl-T-f9cc=W? zqJWKH;V;Zo$AyyAowW0F%Z2(EBX1p@VU{$qt_>$m!9rp%Q)#c2yM3{1U5n`%Ax$O$ zZeuld_31*a^3S?=vkh?z0)LWBdwa1Q`m{?v-NLP{_TQIOZln5i;4T8qAJF@+g55`_ z)`>pz1W0D90Tcr0SiOK=4b&#~nB!zm@Nh(BdM|Y|fVFYGG)%uN+-%wF|r`$ zKF4a9C!S){8kchfLFY@x*jdyR3a(pgirB=;<|ZxG`MIPCg6#d#{p^eK$9~Z4=xwwc z7Fe!p{)}LUbG|CEhU^OSqz@nKrt?RwA?l~#0ahNLh0TTfi;2f4?saRd**W_DaeuU7 zu{$%5PGX_ zrx<*t=-KBzab`CEhQnysQv4Zy?vkj%%(xt8P@II7$D^lK*JZ`FPl%J^JdblwV>QZD z-D-I0Q;b!^2)H4f#e9#UX03!_FBTTE-T>VtAemhN{Twh)0N330L!>=zT0w!Y(-%i-s8e+)L3YE$WF8INRBkV&wt z)q4^1zXSXT*z<^0MZ`z@+-D2=L;FHrOx)**&>O?7YHcm};PGrluM0xWw^T`f`r^#+^}>(3ynIq*XZ*}}8p&F*hu+w*$ktcf*Pz0%Wa*7@;WyTe?;Z?Z zBCp}9ZV*NXt&oM8p((RARuB{(0bS~Y~UV zfy#}dV33(?6;!6z^B_VqNCaJWkMBJTKe;cPl$a@tkSUHQkPlM)f#UJN>|du32)e8_ z(en?Y^tE_%&ZFjB4dpTv*7-P<)RVY*UX5|%zdec?A^5P4`lL8czlm!Tffg#{t7Nc`pMlpN0ur)mJxRl3#fa;BZXPL6O^@3&WnJC(j{2e0c? zj6&mFRGDE@8*@;%HeGFHz0lqX(O`;#*V|rYx=1G4i{?lbj{B7B)1%vHE%v$yDFfG= z=+4z&ROInQX2|K6yg%AH%jhRR$X(S|%qc0!7g%o{e$q0puM)bFW`)sbc9GaiM}?>L z^q+tE?CJ7104{0dC}pnf>o`*_OFS8t|1Z^%;`6>1vb-FDqMVUOb*JV#kb{d#rF;`LY2EfXr3{&IWvC{01H@VHDv z94UQU)ds?tu?TE9fCcxKimJ`F>Kqv1fLq~3kRKbI_w#t(I1pezl!YHWoxpwxD+Tm| znCV;MGKX~;t=Kv}hmfp1_1%HTc(l^ggR8^u?(-w&Rk?>vaplt^{4h}An!n;>pOPA&reSebgE^d1DfM*`f*P z8JNR{-lxCEuSd!Y687mxuqJF}1e2HSB5L;8)l>kAvv<(84~;fdRJC6iK{n%(WUVM! zD8P}Jv{Q%a`;KY%;}SHtCZlUZ6Ghg{_9X>!+=WdlQqnnhzuT)s`NEOeeqLqVt&8rt z^TwMyC);#4B-f6~KT9OCQ^Z3rOq0F-P2|@ajIm=5;Ywsg$6SPjIQAqfxebi(S=$U2 zRyT_nV$+vbvb>hXHlEv#t1?WCw3SdTmb%MD6bn|zFeBwK4YcYB`d3i5DnBA{IkTop=)Wp|Pf8h%Pf)p=crUgJC zy;a)&@RY7Vbj`mQ2)Y{i8#O_GzGQpUVaJ2;VbP$7Mp^Y(W)hXU zZoHxnNgJomv8I0oBR-bsg%|J5UdAqK#An+ioVtW8rmr_njEuE%aMOa#mooLHK7f9f zVcmsTl5SydbF^Xa38{7h(RG`KtDW<68zQ9Xqh4p{a&yfc@!oxh<$c|1+>$TNO9BfbEGlMINh1S%wz@8V(Ga@6!t!b+NRw z!3#hHPw%e%KARtUc%>WB8SAH6s!$`vDn4av(QW%_QTweo^7*0>&j+$J8KQAjgAkR8 zM?Q~~oYVr)e!fOggj>7Nr*E&@lsM}DqZ;7+HDqvqGdNVd z(WJzEmfu=9R=#>2DiA#2#q%Uh1dUt*_v>TRr>^4#GLNB=zj{^=1;9#%`s+cI3w8^@ z0OfJs9s?*2Ai@RKSPKptHANsUr#rz|cVRw0#S#U~;vwg+T}v(N(`>li&D1hAU2pBV z{4{V$MJTY&zJv|-ki1d(5n9mR-)_)>hU3-yO4TS*!uF#wT|#=!Mc&tgw+3qlB4cXD zc(|WJjO*(E;G4jyk!AgZ(-Id5AOi%5`nNC4B6ka=?hsQ&x1nJ%N0Qo0gv=}-s*NcWOQcK1MKflUc_XbEOQRLrSHP{y zHEJIElJbH=e6*pQ(v{g#HwL*G#wHy#0nj?Y6o7*9sxO7V3Rrhhe}UR+ThPloU1qks z1Wd4zHqAMW%7Lvi}-d19?6}kD)wyxhy1($bWk2(t1RPG-XQkWBaR-ABUTK8uRCwUeJ;`#T)pmQfP%VSJT}b_l}R zLE%JCJUG5aYU#i6Qv1VS82y#UfU=3Gm8(v9A=`+9$#;=J_#!#%2|PYAKluX5-B!PO zRjrf=GCL0K9Uj7HVp%$Wnn4YLn<*=6p`mOKk8bDYkwN{3fIZ%ajf~wy3K$XJ$(2uA z7dKv60!sjhUO~50M{g2Oq8oU>6cp09KQBCF9hbZ;v=Ct4tp#RvP=gAicGyUswH|4C z?;v#RZY9jbaGIRpv=#x|#d*`f@jd~E#$3_RUcR&WPGdY@XOgv*$xI9t_}c$;uIg1g z)i5xJ+pB9Ui?I1JP_5=G2od?DTG-TurI4qBNW9aiSy`dOh~q%PDcDg}bIvyq zigu+R$c^|J9 zKHj8>V{E$6K#43HMM72nj+a2Llob^og-yJUky@h4^1EKGMRz55ef`>aY1^!dUZ#Ye zq_UFx{@^rMy_kx31)IWNUWZ77`xmQQ>4ne1(s2{W^P;3jcmxv8FaX)agxjh`! z?{RZUbw3yzl){TyV1mezB`Iv^=`L&!@=phg0!hhR0wia?g+l9+L2b?lg_5NdFbJ$(YzTLs>C+xgHOZCn~lg4Ke@ ziIr|Um0|n_V>u#7dfYPCeZHWRLORf;Xf2b!(NE8?>f6sN(^$<6Z=w7!xIW&8`qq4X z?WW#YXK;TWdv1T^G1L(QDo*5mmO_){LgFwpSann=;=kmX=04h76!E=@s}GqK9&hB@ zcV~H=}r1JYW_`{_}ZXM_O zdG1O0r;DlXj`g$BR_Ew0@S1|D$^)Sjc=G+_O(4xnqo10vViCPb4xA#Jg+F9W>-&E! zM%R)Lg|3S;JLM4{K3xCtWrbsJyu4rEUJ&FXs?}aGDsMTGX(t~taQEo`{8S$EBTr~- zc*0RjaJ(Rq>-T!k_Ga7KA`Qe!ZJ+MVK^x1&fKFuxsd;v+oTn)2+2yz_AE(E4f=(;! z0#$$BI-HZ(wSnhYMSuA#wvZc$2}HwJS2%MC`t5f>LcXjJ{Iq2x~~bA?2wSaX0Z zpeW3~F(6mKXud9Uv0$)!;0?QoC2wjN8?XJY)BIJ)*QZYB*P)dtG$Dl19A^kV&6VGn zg8!5pNS-7ea;+B z-UM_Ouu@s(8tQj;wS5ExkL-XCDboqS@78Bo+I8Mp@tCdIQ3f=eTELYBz98F^2riCK z$4?-RGwAXY1H>^OP^pUM(ti9>6u-;iK<0x#>DBhcL;VxK}GAmoKIiY6>rU+_*R~( zsYOJ6b6amEa-FepY@EI{-u{I(c_OS^Jdi}Np|fmoMq)KQW`D4`|A-3Ou|6lUcivXn z#?ZtsN~A)aTj3Hi-5U9VM5u7PG56(($W)@M98VN#ci&;d)$&9Ei9(oJcV-Gr%ZMTU zt)`2u85C;FF`h}?pkGn+&Qug17fut@%ai5l4*a4Y$ZjO_Cr zmiKFr*}H20#S*kzES}c>h6qJ#z<5RLyfwqTxXLhscq60j)QzLhy2dAioOB4nEQ^Ev zlf;EMN7ZG_O<=HW0t6heq7VXZ(f#e>{Z~K|K>a2Cla?s(*G}!|)*N6}f|Q@7_XuDn zDZT9v^@_F1;mdZxXwB=Q^v9P-!=q0Om^TWYy2(+at-gy4)V#-JZ4D<0*G_h{B>d*{ zYWX~XO&Pc5Jm5RZnU&uWQkSnBayyR${~1Zo<)xkY@0ZjcnQPLQIUD#XaZ5J-iH83W zWYgFFd#6cFz~pP6wBd|$R_5ep^PQNFpiqcJVlpQ&kj-|ncHu&YxqSB>H2lXOj>V(D z-r`4pjbJ~qSK$V(hVzn#Qs%J&n7*7bf~Go>)Y(juJPUglz28$>o$R;&E9 z;>V{Lb){SN_-J3EPI&2C72%K--0r@(na}Ezs)Q3(*`&U!R(Ps9V>4{gi4}G1=|+8=+k|dTF$)#8&O{aqgou z%MN62fvIo=7VTlKyc#y7x9lVR9zb#fT52q#)=@wABA{HiB98SO`#ClAoMWb51B+th z2eQNK+Xj#G#+6V8aSMX(u&{o>Zk+~H2LLb)d9m!Umnwy)G2A*{61wME_?8_phclG> z;neLN!vd8#j34U^1g*cKO%b_h@)F|->peP(DoSKSlnsA-2;cuCNFU4Rm=85) z#z?K{BOgkU`JPgfOfYu#R?W2AUCvPHdflT(XEq;~jX|EAJO4>yQt?PI6?Z>WD8g)u zY>7j^5PK2{hqa}Je24TgZTLVryv0o z0qjwT;~juBkLRi&9>PChp$3*^0Q_}4*;FdE2T%}lkY$6eL9`Wm`IG~&cE1Q(1sqvs z26}8Tk>{;H+6&~zt;lUvbwTH_j$;Sy^ueCY-l6x_2bv^{P9Z zuC5`a+juA*16Xfjlaonoau*-PwJzRye+I}(&F#ub<(!|<720p0FUZ`uAeowLg}=%{|`V48rX8ucj%^BCl$f~-!Zmy z)Y_p(AUgS2wn6a*Q=*=oVQ1ZbgWkAmh*V-0=ck#qZ$a=X>+uY=q}Z1N0zx&0U-d?p zi)bEB*iwBR{o6*eij0J(6|;uKJGmVIlL5>aexvqakjnuUke+yJ^a$&4@g_M)Tbq3z z0YdsiMHz5gfHioe>hmIi<<-rDARIgm;QmOAj;3CCQHu+XOA-p>RI?h-TIXK$a^vG* zU}I~+Lj1eFY1jP~4Z5o*=CtqmzF{g?=_|iZPwb5shMBPhb*wSnNEQPcILIxX@;xBgT zXcQFyfCA$7{Ph7d)vS}Ix=^;dMO6W+t; zibouOryw$pqJAJ6++R&LJp&w{sJ3N5WR{na0qjjVU0o7UDWzydbP_K{r_Exdj|zgP zV_+=;Sp5{x8YJO$5Ld#56ZX*{L44?xv;)xbIR87Lo=cSGl}0Z~Nl8yn0mR(FdD!)B zv~n@Mpdd&`_Kb|-@r=F2^+(U(JU5<8ioOlCF7&`ukdun&hj0~qeIeOFA!ZWP zjIB#x7j$pXXM2~Z{7fwU;qHHUiSO4NNeuvgVdb>-sa&QFeUt`K;2}W21JWNYCh7y~ zE{a+Z6uy>`mWGJC%O2q2{zHK2gweMBzjuH@qBS~jegoP6;>4`nJWImBF4s&t8BtMDurLDQqR{6B0j*dx3J$ZruD(8M|6rTey-Xsr2aW+C z0RVu&59KHS|Ng>mY9&wO*(6b=<>W};Stz==RDQ7oaBVQ4WJQj9{+<0wdoOd{$CEjB z_%oJqS$a}7qjrGP;d0rXdYD|5uc1({8h?&`+n1OHn3+YOI>#LMeB$m2#All#&z@~R z%TABfU3V^$QQ++x)jb@N8w0uB|1O?z_gid8m`HD4-rZ@jcmKdZEcF(srwsP>%>g6; zC=Gy5IRhD{IoN~%;rEwKN; zNkjc3jkbOR0;nw*=oPyTZUV3dF!S?!?9bJJ@&zkGS8Y5X3&5bXe?ihnH2Cf|@MaK<`R%F?2I+H0gun>wC<#HPQ}CBgh}&u zA)*%A@)&k#Q#H>8SVMY~08_JL$HRjF*W7Bhau2XN(AzZ4w?W?qKuW-{nd2b~b5YdH ziY}kp5r0|;s9D87EI;Gls9mvj5*^^Z>|DoAp-lp05GUvJp{fH{thT4OM+vU*+ zA%@DYTc_RvM^k@BwGx=)uAwu(O1bC2#3@YCIK73hmoxVhPSXF~M0cwDQc;co%>^zR zD46jez)FQ@SZGKH`11Io7N95qs4@nX)>;59*&)0RzEznhf4N_ik<|22JnA1IXVDJz3S$fdykgeJ~Zg3QDb$@J{%obFCrm?6c5FDzz%_TbU1Gg zeFJ;j2pGEb&?g0h63|I_6emvsNf<1;ovbhrWE6lq89d#1&viRyAHZuI9FAaD_{I4R z9GWWq@!fBKR(5nT6;A&jjMAIdbPNokU*>@B#+H_ukdvtw;L;5V=aO04czu&%AC4gy z8;?YmQ95c6G3uX2%nJlxA)hJ_n4w! zG#d@f8wKKH>BE*44ezY8t+9!o-3twKJlmSg|JqsU z7HEJobX&%F`Ssg#=IyC$1D3d1yfn=B?tNW68YI6>P56)>jwpv~Jr(IA>T)u-#SnC* zJp@dN!Jihv5(Pmk>Mv04^e+=6=XF3fPEJW-%DPs!z89~q18Y;&>^y*Rq53?6q`O05 z&huaP*K=3*>%=C%#}+2_mVpi-wX{%i@x4!@mDknTSa)CG_g7=Z29qS)j7pYc(s{@0 z8H3@Zg1_h-M$P2jsrkkHcsLkL!ME5SjbNr)USKovzTT?>yKR`fcJZVv>Lm#A0Izt% zjt9(tU2&ATYU2TE6M3u99CI3Bf!~->1TZJ=~yLKY{kvk%D z{kROvI8!}bk^8@I;u z35=})pBpgWYu00RiU7R=Xx{)&`2St=HcbN1oPyCQ7>=3vPX#$+jU9>ageed z9UZH{bpUMoq<$0z$bUgJ1Y(plU&OPz8>K4iafjL>pRE`BXC;#Sp~*A5*K;WzK=ZVj z(oRlRwhr_TK&ba{s+AVQl%9kzHhj_!KtfwfcHNoS^UN?PeHlf)H($pM7F~e4TbVbl znfsLg-$_Ft&2MAxT-#>GXXQ!x=L^l>s3+C>5+On<$psy*ZmXKmP*OX%mQcIPoVLdj z%(~@mT@uun^je=ZgF^GR*(l(Ie3`YWl8a{rY0HaWxiu2LI>UlVKYwzVbp3cJF{kjK zSI*l0j!sp$V(=dV^HeZJ1wGFE4+sDEb@>p|uGBQnCpuZ^cn^pA*s>}op)?!8oc!Lr z;g!@I)t>zHNg}&IVpjbWH-U9P>GFMA6cQB666}(t0OSg8mNyEio&aw10Bd>>CV*$o zNKk*ECiths(~8X!fZ^T;v{TfFnK$dq_R_#?@-Pq!@SgsA*z*1@-OG^3sm{#d#Q%I4 zM5D zipKyxc@GFv*&h=|a+Ik274`KOK)=nQ15aZP+>)RbMGDt^7;xAXC4qW)=?NfJLhx#E z%LD8(4u$=bGkRQk#M;`QtgN$xMFXYi5p4TM5MicHUh@rw4hK;FT7&?(sn@q2ppcRsEiuv9x?fWpxI*4>aU$vFEW28%T= zm|9PB+2J4$;0F&L02pnJW`n_uC=`D_%>Y={)%gLSAuR#oPaq1f;{d>Q{R3q~#{n?* zae0VR8jmXV8vGlvu>l77y?eL+3gnkqFX}#)h?W>tb+0!lI}GUA#%0h&kF>WVOGk1cmsSG8zVpLp{kTuEF}laH3;7m^Ul?5@AA zyKh>mqn%N#p1`mus{7KOHF;Gd$-HCgTqX1!H8e~T}o`jJ7Zu{*j?V{6Op?A$?qaMHO?4Aoe zp78Q!!s;NrW|^fby#Bg80`WFfxi`)dl3vd$nJ7QFcBz24DnGi(lV7HOoQ?_`4j~~A z*y2im79FXo<)32oT31vQpowt+V{G98t_*%WOpe18eV@1hVsWs$gW%}9qY$81fqaM% zeraNj-+2W<@c^p{h*WR>yIbE4Hr908#<7WB>N_{%kt(%ge1fr=p2Q&TFLws!QGfL( zRbmi2jr)jbfayQfG~<^CH(CaR*OJy+RbKNEW=%VXU%*JT^8>J)B*b;B>Ub}>+;$lb z@MLRJrRT|@3V&Rd54t%HUv1mh5l%=Dem9vGy(u1i%X|OQXXZNW3m1p_I7eiL8zLj6k`55oTk zphyFQ4>~bdpINz@j5j;Tng2xSSFg67$w?pzM-6|YeE%2X57ireKz?y0G4|FLArKyY zJ+V0A@@YL~)7D&da-;8xJA3^K9jUvi-*cy7W=!F-?M)%h>*kncsJ^N|ECmbl;2oq% zP5-(u67!6YD=a4|6NqLmVVg*=W1;@eJ(4f?8V}=~IHr-?o7352e*eTbX6!B7!~jvU z`zRnMKPa1MWMemL<>|iyFr*&yq+5{}wZ1n<3dkZJV&-4;EnuMtmHlW}J8v5&1{x4B z4*X96-Gmy}GNMMU{-ECJ?Su~+z9Ekb@UyMIkEj6Z&E={^Vvrj@S)NEBf;x^p_yVPb18KRSv( zP4t|crvM3hdVTvaCTFur@Lo`-$xDzz{J-r-@s%7m-MDi<-KNmn3GF2kL-i5SD-vn{ zo7)b0P{L6{vW)1hbFHh$A6!+zrCHn|a_;^9>G~xZ-;afKk=w(Ub9;wwxDw#k@+X)K zJol!Z@2~YK*WkmGbt`&_c_PG5d>q*5I2Cm8lHMr%Bfl}1JWpKUhh&J>lxagSYeE%9 z@eE6<4;Mkk2I%V=6G9;uZh(sknvCFi)H9VB0};tjY~2^q%71v2uaH5l_Ya-K(+#LE z(xcPFUq~n~_CFH_atv%8e&Jn>hl+8(dMD%cc_K+DZIK8u#;K>KhPCc6Kznb~>Mwns za4r_oxf8HS;Byp3jV)l4ax*s?OGTa3pwC%t1rdM#;WCa3@){fOrOy+r#6V@gXNY6p z6=!x14!}2b16&jyiMNj}K-Rm6lBTBeb9ku_2gUZ_)O~a|In@0F%dTg<5z{R+4|u%?bFTac5^sVb7%_r+cEp$%+$G?L|jVTFsddQtE$x zCe#GBEHz^1th2&{!p#y8qH+h%f_V|dkmoT|Vhpqpp!Xj=IDY_vmFaVx{d*rUpI&>O z{|t}Wt`F~pPpHTBF>baPz2i2^hXSotzCa}>aV@%8??|2RzfOWW#B@t(0%3n4s>rTW z>!cpxbAqOoB4MeO$W(r1o)MO*u67AXe{nzPQhsThxJ5%__FdM6#1uF@UXlT1#l-+x zNSoXcc6XVz3a%cTjO?p!!gBghT(RGsc;#J`U=nK2WkLB9;l3r*hKseO=QG?V*Rl!} zy?#lCFkO2tZ($bu@)1kzoNteEtTo3spX~ii`?~hZTeuT(24M(wdfUr!n{sN-vG`b# z*wCNeRIGUaN9}bq@BGM-R{H&J2Ymxca;L*n1tL;cgtf{#KaMkn|7MtGqoEzcnUR5?u31R`GYF;>jtcCdFUM}g-O-yz*;P8Dvpmf-GV82 z4C&a>ngT-;+TL@qk28BG29Hs~$?n0KJ2pY{z&RWEz#7b|if8EAQT>5xAs zIQuFF)$B}pbxphCk5 z=0!^=K_A=MCp#wmz@yKfy#FV-nz_;0wlVKNC!kQrWy6%B9F;VhnIl5Lte4SMM)$mB z3Ng7o9+JP+fRw&L6itl631eqTD7EKC_t6w4I=^%_5N5%K5Jx{%o$n#AfxMOLI|;z{ zEiZQ%eVL+os~!KGjeB(U@@w8;c8APxq=hFTN-vM6OqA5cLA3q81FwAAK&IN^g)R|87<8_q2IQ#^y&u@eX}jMOz3FChBwJosk0*wPckW;>a; zAd&Lw@`g{8PH4b|Z`NRx|9_Pg;aqCpuU>l#v&_W21+rdV>9A7msXi2z$S+lLqZa5U zM{IT8pXT`n&a)OR7_3m=@m-@;Cv!Et#qs%|0b!KnX93`E5UGL^TM$~ap+(}d%IV0_ zG%^yjXU|1zl42bM=9)ZKU6fDhxmh3>FoN9W9pKxKWSv3OR1}4x^73Yr4lYAOnwQ3d*3i0Le_^u zYEFttLUPa99`BdA{Hqn~a2QVNb8YUNt(3=*Xr{?*#QG;#IZ1@sklk~y$BNIfd1|0++$48?;)4t^i0f0CY(t^Ckl4d{jCqWiTFVER~ zwclmp?Bxw&MIS}!TsDr8Fn?0}lDi*B%oaz1@&ZI!TtxLlw%#)86IDOM6}v9BsR$$x z@&?KAMMrX9)|}Rgm?k6-9O}&$bBM-w3YQr}>4!n#%kCU-2?2;Tk=4+bv6mHOiHZzZ z5!|f*LgfeL$#PLVqr_PyPk+w!(Q&SlLSDaOg{LO)WQZlv)@B*P=Hxxf1Eu@YGc&g# z>9G`E;}(k4=vylZ)le)Fvc{$9wxh6pZC&LJm5z?9cN|jqx ztw2-Ja}0$=QSADuu-tE$N?sTllo^{Uh5tq?nG|c|8A`fQ1|?)8ISj2CNQ1V)AYPDf zP=G9TOgouMB9=OYN6*Fo&q$@HlnbvlEAuO#&E*pMvOirf!ew~bOyQWcq3F5uB1|;W zno+pjA#L*49cABTu#;)i^TcH#Fg78Ofjwk00CX*i`Vf7Lsp~3r9jdt1o!u-SUQ#PN zJoj-dqH}T8`H#b4Tm5VOLq&#HHI$xj~p%>>CJBRs}Qn@Go0 z3oF8z2e2qKxi_~+6!K#a#~Xj9s|Sa^{t4=+4>N4h9;TiB#x<*Z1hHh=ci`i)o^@a9 zlAcdDtZduREUR@+wv9_sM)5O)n57WitT9UPm#1$tSPsv!3^WP8IUw%rnSyn7u}_jlxVW3;w>pFeEy}aV@l* zhBuiID_cyd!PJ@@59m6|KGz?@!Ti6I?QttGObC#Tn>I7TM1Q9n%0VH*dxkGQ$F8Js zsg3t0BX{uns%k>Sk;1>s#ya!6TCbgcGL;|TMwcN9ip9v$#Cb z{_cUo7#7w?zZTTL)d-!JRdyw{8PEB2@kT-x(#Lx+nmq^_7oZGs#i9bLX<+&_KgbmU zU{u5Qq?Zs!u206Zf1APB+y#UU;GZZi58l z=b2ro38u%ET2}EM5!vqg%>+A&fBLtLe|KS?tkN?m)X~~K>Zfsdyx_Rw^?1A-k?g2N ztK&lQ-m~3GQPTPHNLD+@TLxSbN(6^-0SG8TgH1tBE(I9#z=#w8(e=mNo+@2^e}6f+ zQ&cDa5l?84JBoV6p(Er+UDR2_Rj|`E@@f~ys-ZuwgiFl|tmG%!Z+yg@naWCXxI<#&1=k@XdxZA;sDWL>{tr2&c6|g$57G7d5Mm2957{(h|le<$8n{Bh1MlX#!o3{ z4?c#@RSa=W6PSIn7=>-!Y#+7edY$GL;RoBgQD$S3VU0jGmnj<2T^9$T{=8SeF~fhf zk(x6!j@g8;N^*6yu1mBW&G@bdtcMMl{-mi}ao`bEPVsjrn5Dpq+N|t7bkQR?v;19@7rz5YDO{*)#y`AJ&WHOY|^ zUW619FDA~AwaOk*;pcO_ybf+;g#BQ|%AUoqAJD46kCyh;@9rfqMSQ{cE(i3t!Y?Yq zKTw4{FDi(J;)>BpDEu-=XJ7t+uD;hb`<6qKc=#d0Bu}UzZ&5Z1l|nNzb0q2?0lvf| zI}7#_!r~p5y6Xf{zgP*gg3uO1A{47Rx>9?jYq%VJY=PFtmEBL%V==muHiXMZjfoOj zg-Mg&UH4}HwY_CH`|_NSO2+Ma!Wn0UlycnWlLVVe6NTD1qF}E4I)cQzxdf_*#ppZF zTs#%MP^MPimD(IzAYD#hmZicF8)px;g}U>!p7UHRJz}24Y9`~WpdCj2g}wrg#v=m^ zV?u>%s-5EwepC^dR`H?^tcmYuKH2*if^Ll--uFKb?kP<_-->4&_MW|c#Q#i}2i7mB91ltu2)A4i!w=A+w zX+Q0Tq1pPA7bN{`NI#C>K9-c?)?5ul`yJ#uaE{D6^7gZWRr4tlzwTJ+uY~g=l0lo@PV!4^gt}askF(QqfX&nMMxSFl=gdnb!byGS$h@r}4xXyD z;Ll1gwpF8So9;w4lEu)G=xz81z6%M?kn%*i@%U-g*4tP9;s3n*W66cJhjE%%-K~9c zrqsF3g(=aqVb@OXVBm7O{sUs7{}pZEdq-YlXB@q+9u*3gOfOe&Ea%%~Bml4Zk73*k zIn0-F{qY?5h>G*3`nJlHH!iz9Rr^okp}S7)2442E?N&>vPY^e?`TQ#I7q=q3RnT*m zxAFVxohhE<7;+}k&qfJx##>GGv@x2tqgLPK27Jaf8c0~3*m38wif-4+%?_bEph-zw zV9lAOACJPBcxHjxT{&A+SFbkeZsx{tC)2_}V=5go&~$GDMMsZcNxnv^)lO|cXz7y3 zM!K#b97=Gd9R2Ek{AXY^KKs|a(zQ^Gfy9M&iYuX}hS9JM)L zFn;V~3Nfj>hMzQjM(3T?vh9%hnKthxb84qY;}1346uWXJ8#%zXimgEHL1*f-mt!>x z96pYk5MX%OD(l=g(@nCO|z$o zLG@>Dm5Wu>OO1evw%~;^i5fRMBPNFWzA0_A%D^_|y{e^7q_f)koUdPI=u)IQer=Xx z)_CgCtHhRgGNg6RQ7+92;_M?LK8dcLTQUUQbzTP{qN3*@KqHC$c^?l#o9XRmykWJJ z;~AA%W3h;onbf5+KXS2b*d?QZz6$mFcg6Jqy2|7w1YJiv8!Erp|bJNB=D=qnvuI z7}~(zUfxcBHTNv(o@&EXT8V5A&HLX40e=NovB=5T6!ld_-RO-`O!4&^AGN1y6F~el zDP{lYM?IH)f%d`#Q*0%fD=jZiuU;y!OiO~xIOpn*L5cL2y5Vvz~1r!4W^gg}sR5O;tR7}j`y^HCfS*-4H zBV)3o-;u=qbw@FqT$Kr}4kVOy^j*~GbgFT-0|R26N9ZR4sE|$jUyTntJ$r)|{0Qs} za`Lx(sGXErEOU3roM?}sP(eZ}wM-lBi3Vqr$z6^GNSKAl6G#TRq|~J1qJIC=Q=5aA zo23Ng$~`E$)3&$pii67AXH|v5ea#yJh;JH|az%)VL8|~RYen@p!-sLh^P?}#-A+6; z88F&W?47L^iv}|F64~KKdow5nv@VaK99Hj2>Df&g&$Pd%qlPPvN`@#XY%3_X{NT9g z5kcpf9a+y4Q5(0LGR_WtQRApu)dbr{iFp?+9nIcTJ+FSq5l3aBvi9_#UbK~v3Z2yS zHCM9UqVEpu66xwPnF``>7fy}Fp}s%o&*pF=jf_~kN_BHK1&eB}2%9d8k!}g)da&cB z=wr5L#--sNyMMj(qa?nowiM_kUEq2RxQ-{5FncrRsm%*L7a!`JKn{JrLBs4SGlyrsQI@ zh2(H&n7hb(x~gnH1H~!Dm|^R7$`}8VVEpH>fQ=p16VtP_(i;EsPlpTDjw!euR;5E@ z{@>RP^Ne2BOO*ffH0$s+vg(5W#L5z@!yx8=zmxqw7<3= zxMlVDr{&|{`+&#V7OzUi+a%Q_KQ+1N$WVO8L^s790ndHNtkOey;jWQq8>5xFEIkf+T*)DUUA7b%8D4hD9 z8diA?ja6uhuRwUr zVmlmMe-e_M5SdMV@L(4Yk3a6w z#OKhNni1gtObSf-w0eP6JYz^&a=(o4AN&DoY;g}Bd;($&T|ZSlQgyp)==7lv^abLP zYx#ZC-yj;gO`^tSZ6YD`I|Ewgl|$QK<@R1gFG?_2KtRCg(`gbC5jN~a(_4Jbtzda$5HU@}M5KzkiwY-~{?5%Wn-&t^=e)l_6!@gf#E?$BX%QYsvKY z&{JXhhDIJ{V?gytIOk090VSnR^DE%*{Ko1Hmz+HU6^%y8@M9FcY|8CzzAKE*uO$t0 zBK%noZCUXl$-RI>X1!oCSQvp(|w#^2rc2m5r4?`m?~~{E&W)#@0or zkS4`$h(aWuOVv7glI_kpdwW%b6ZAt6<$W#m8OY;3f`S*4;**n!wFefZ7Uf2Qw+8hj zLoYSe;JH<*?gqvKtdXmdOVPVe1$frvZb!*I4RRD9N8d2GP(H|RYs|T{rM-c@y{usN zH-LGB7~DVD-QC?sAL=ARcrGS6`45)DA5YSr`&9<@tFf^bg#)x%Pjt-rU$gkLs9s4_ zs8pNMzt6=rmZN_1isQE%j700~7Vc^wDg9x|#5lUH_w!ha8HNKeH6VjXKde(gl*IspxY@-cA@W2#aC z+VL3|$fR^JN%9h!-uVYUx&(DkwRd-KqV>yj{bvvQS{S{t&#KNBl0VOiLeoxJWh;oA z&*W58H(E9BDqYyO!GDrE&HljKD7yWh8+R~Y?hD=f>jDrLXpbpF-%TwSt#aVYey#aN zlW${Ypb=v+gc1d67HUlIyySUbSSmbF*F>Dswa~` zxyT%G_tNC3bHMF-*7`cu`mf=KCNz@XW^hkR7F$g=?zDx>2c5*38o+(Jl~(B0 zls8swzy8@;q575gYPE%~A+8g8w{ei}d$EPiI-(K-TcEPHa4ylYfbDV=TU7Avlp7i1 z1#gb&{&+3<==A8LU8g^hi43ywP=N{u@+@UpmTH3j>uy0B z>868MzbgW`4oD%LZ4D^R3#2Yz%X}bvhI+02xpU7gilAZ*FvTr;gVjt?@y!?k=p#Rn zcO|66r#+rte6RZ@R{Y04_2=Za*iH4!1Q@-0c52WHc z;61;-4Z1_6G@<*49PsgjWbs2^}sO>Vszx|-Q9{yIzJc;##G=R>LA?g^AILUMnXd3 zNdqwD!?=2=-!R))lRPFP9DwPluoi#l34u?K#xnh2$_TUu)Se+fHwN-NdcZ5){u>0E zGvrhZ#`0lY%Wa9efqMUXuOGp|!6+|57Wh20--I@PXUa?g@_Qerlb5~@*N!kiG{(=*MU9>hgHy>5mXHm8A z8N;Liw(uwLMY?CzTCfE--W;K0(M@{}(Ih}67vL4^0G$e-kINJSD54$&Xmv+ul%7hc zT4Eo^2E&S+v-!9P+3{yYr-cG)jD!yOq4^r7x-*QWu5^Z9ACmlB50qrqptdx`vjZ`_ z6$QoJ!I!bhYR7J6r8la6UG{;*F~}ym!Ft`PO4w|pp3ezy;lJTq|5?SpEf&vx*tL0A z(!)Wgr$AqXeLbM8><8lt2J6Yf7jIX!@N!!tMdQu~V|A;jNjg_gu=ZRwVQ!rByr#%)`JPaGtM}g|KqJs9j5X*X zS#P)6kOqSHhsWK*y%G{|i5Q}|27-VHqnk{VliW}}ftdX}&hrndr*mJDucP-w=3X<| z{Ue-o7x*fNc3o%&ef-u#Ni|2jWzGY6e$}^V#e{C(>A+5*_Vw9p(QJQyLi0Et{U9P4 z=ra*^kho(+P-DY=H@EL3xc07(oZjZ@gWxTXpF+bA^bbOMmmj6xmA>9y%?NhB%+CNK zucu!7E__L?nEhs?RI0RnI8_jVAx}-+z!J+eK{U!0f?-4~*Ri#iW@=C1SGHJ9t|rt* z33Oq<2E zxeBTb$cSzHo-J;^!*lZZ@zbR?1k_Ib%^%QvEGFRdFfsUZ960*Ko7TY zQiSLgVw!X3&OLhga2PtPnLWaS{NcLnJ*61J4-jvHm|09*Tm@_bAfMP4VAWgJv{Ul< z@|w@!$KxsfxRbFfoWRJ!`@A_^(W@=s3AzkW?6-V`F{;*xoWv%gXf|buu!Jc=;4~1g zAP6&v@(?l7^VyXTVhwlAa7?D)I&Sx{+AvsKzTf_e9jqPs1Dn`RA!k00|A5A;;(KCv|khN>xR*dckQS zU{h~M?6093XiFt=)+MAlmei91Bzh^Q;#3t-0^a!b4}^Oen}Aj0_LH=-7nVpb}098OOFXm7t_ zKba&e+;JPBHm%PMBIeL?!z?A@am5H|=dmk_Y4sYPvRsA=WvtvMU7eFjD*hW#@)rB< z-<>FP^e-&pdAKd^J5wm+pTsZ+sH6*?Om$*!x;9^XluDo39++`N8){Vjg{N1LByj>+ z4|+>gyZG>JDKLlr!b#)L^^_%mZN*MMEkJxe`uuu&8s%FD_VI~_Z+6EBC~!rAVr2Q= z-b~z8phT>l;K^6J?P>CY8KP7AsprUHkkG!2aWc@b`|{1PTdwHg2syQvDk z2-dh{;68mX(wnW@Si?4HA7pzzR{{eBs4mu^QjKP#^OhGvT)PO3HkhD5`pol5nL@C% zX>i;GRFX%T>)_y7S2mZ_*8v_q8f@FS6-~v0JV2TP_EvcB-g6j@2%Xe%xFcA4tG~Bm z1a_(TDT<2Tb{{Ubsuw(w6xP6O^HbWEuqCizFWGq%z3BO#TpE&-ik`t1-j^b8-a#*( zBD9T&Er0;Not_q`+7v0bM*s4UYv-Qk9O&gGXS{HOB!gN=$dXi;pN!@hLpIxa8qJ>} zbfg;LUq#7!jeRH?@}%A#K73FxIyfepyKL}VS69b6_sU4k>_d9q`%Z3tzZaYw&V3(# z@F3BBb0y_k)bbw6igoKzC0j9Ns5?UdIGUT$v+J}Fy7^OGyS&<=$&N#s zDa88eSHrH1pUsVpTkWcOsZL(Q9C=|{<`+~p{x_BjEvgq`{~;ES8N?t=0ltNR+7odc zuv}5xO1}|Lv>i$c-h!CCoqZcEZGnCk#g}fQ4T70cS$WmKfYFYr`s(}{h!pb)h>6h} zoD=RFrcb2qe7Ox$?N?@us75|kyPtz^;ekpS?*v!V0D!{-b=R-0_BqOOV>jaLp$-94 z=L>Y!;=@N|)}$)Ut^ol7-q*`Zot1W?(i-0Ef$gKl1nGL3WCj4mCl3(h-B{#KZ?<#e_%$@O!I{$t;Z;|%+rUH zPggA*VpfelM`_r_8&;dye*xERfvg89GUm5TBT7^DT1ZbzXKHyyEyH>Uwv7clk z9^3FpH8Xp%`Ku+xSh2v418t+j!^3j%rqmSW!(``k?ahd`y8EADDuahDU0tjiJ$BNq zWd(iH#M~=HM@L$uvMbsXpkG`CZ0&>2)8XXCi?2jqU1fj67FAsAjD%7{AF`#>LzTs4 z8zn-Y8_g|6PZwE;6``lZHg$qpzIR&m~$8tt$x@9U=d zkEt`Jb)zMEx&JYXz=!R0bfM~78W-&^zRmrCfICgmdl5$(NOHJeeE$W;UGG??7kMk2 zUd9cfaF;)J4i0LgJ}q-8Y*toQEg38v9Mp-qFCuCAbm0?j#H*5=$}`yNF^_X2oWtwG zcl2QQlH93+GsVT`6*I`bMhh|E9^$L4k-UMix^ISg!*(6nq!23wsY6-0L}~Bdz4IIN z`%H+{FNsAOt1kV@nt%WP{U{w7(DV%y6%~n#W6%+{&uKQ}KxSUKNtL~Or{YeX0pgY; z!akIigOQD`d8sCn?V!ZgwS+gjgJUUU6~qqb7&LHdXrDhbUqnXRNzI4td+4>#VYw^X zc@5U`?vu1RZ(CcbFMk0c@Q9G0)2XH(dhc2UV~^02A2?76=EL*qYF93djj4fQW_d54 zD)kT&;c%UsO@o7G-Z7@fIVY;m)-t3~hd~i+!uw32$q^RusPW0J2RoUVUa@bZp?Qo7 z<1h(%`QSHb6q}`^{_+DEv`F*g{+Zm|To9JrxK2IN-F3{ZCtHgN>fx>*F>N3%C55)) zw^!-`&Ped=fVd61@<*|IC+$s`RzKu7(HY}#@q`+1W9=T-o3LZ_gdHosL2kU!?9+uY8ieY4AEa-#*g8Vk(bT6EJdoyqZzfjyYJL&L4aT8MMka5Lpc3l3248pSBuU6=u*`2Ma zy59Q3#sb?Fy{!u$y7{?i36QyP!Qxf#$Kb9qNqh(PRd8tNE7?vYzS(wWfiQ~q#FW~6UKtY!83s559UA0v5s-$;VO(mD?{yaw&$h_@-8indN zI>~T7T_&}=P#L^%VFq;`zxCx)(N%y22i-5Kp{zpzQLp-dqGAnJOWSpmC_z|MMH|da zO;J`HsI9HV%qv1J8Z^x)9u+@G*uvrmN26k(iv&$nRFt2ethZKVuDz@Vng2F6@f79j zzfu2zZMS^lsLy9+mvMX~)xanJ%Y;wYUPe`I+C4XIP&7p>EqG5WCL4zeaNH%hC;EKq z3HM7BgCp77X=soX3_vCsr41DRS6la{)gasSsr7>kgB`iK5Q)l$YVf1b&}K|>c=_rT z7(7VWmN)-SsSs0@?%c7$fI_6nsEZMb_NM;i0@slJI~y6j1?!@>uaCf)qxv`F@hs47 zzvzRG=bs$Ty71Zh1U1kzFz|(Enitl&PelznfuYveh&6K7%+fD3Ax>jDXUVZO=)JX< z`F;rOJdNeRLz#Y8xRZUCDHnO2)%}lm?W<9b#04ZNxIg5jvNF}%@hDa|O?j8PME6oe zDRGfVw5tGW#V~Skfp^VzUl^`YsG%n(W#xW#qLZD-!0;nmTU&gfBE$|r8hK?AbHceH zaLV%LVXD^7&N%x)J872L#3S@y8072J>Hln@2*d0mFGS0`cJ1Q(AR;J8u{fru&9=|{ z%jhU+`6v3Zt-qQ6)*_VTlC*vStC$fYcj<%CV3 zC&`WgjF_d3tzqxrfEI?Bj7&KK$`OV@2AP!u2Opp`dIgmjka7PaeLVfdu?OVh8cuf2 zUV;t=jp30648d-BM+j)cbZ7OjGc!N2Yh_%p8MTl%h`$jR8XWB`Hc)dKNd<=Fs68-X z4|~PCv+2i(VUm=srje16y83HGIlPwTfe8uk;kmYuk=dD1?8mMgzysgU&p(F1_Q*}z z(&1`U8W+fJjxVT|yzoN4ivo<2-``bqY%qeS7D0zEOF>x-zq2{1<6LRK#mGgBuqZ}O zD(Ad@f%J^?K*=a~9Z zv5^#Kq_(;&)mvgfEfQFw90rs6(?`j+qp>juPZw2Ge-wvUmR_^xqho-4k1u~Kl`|V# z0^%R!As%xdSnMuYTc_W-gC1^woJa$Uh>{o%KjVgr>yYRdt3YSrjo>ViNp|Bu#Hmg_#c1`Vnm+={v1gtZI`%`2$*Bx)AO zR>RNES(%u;LnO77Wasa{iTXOjFQbi5_5LdACr*#g&OUeOWp~P`!+c#cfMD^Wk$_VGs_i3RoF0350Bun;WKB5Vj@_@Nz1z^BeA|ZP`*|R zp(*j|9UQDil!An+t+O*kss8Wc@vB!?Kw%iJcBgzTXDbFzEGzr=((Vefe?jlA_diT9fh5Bb#==A<5N>p^Yinwvwv`>=Kj~o zTW?2Z09}ZxsEA`49(ZawNk8efGQ)_{Cr_Sy{rVMl7YSK%rMf=i-BXJ>qR!NT(W$9t zRwt6;;^OYzyLa^vGezYzZ6I%>Mt~?2Tw%zICqF^v!VKDryH4kt%k$El4`L= z4b}^bi!|G}Uq@*Eq8`eDhz-E#K-Udr-|5-eZFFo=<9;aLp|NsEUOr;yfi5V5H{IUm zj}!Y1jG&Pu6Y1kYdlRK5r>0Po^Z&WdZ_k+g=4kTUGC8SxKDElwAa8F!?&>FU0MZK> z0pHot;o;(vYf)W>sCM{O+=ITpJ{Y4&%`E&KJM}D&*QuCnXa_yerPLaUo5KWoRL`;L z(>tE&#cRa~;Bh2B@3)hlMk(`XbB)IP#jQrcon=}RCv!iA4=`BoC^&8xaP5~_>dYDi zdB9pr@`F;|#YnBLt64TZPRjY|SCm3L7*(SU$Y`v|g)cIfjhOHiYe;-q2;}UzT424- z;JCq%%}eu4^#!Hz>)?}X!!27seOkL58u%*2mvy+Mr7xqyfwgSH>hRsqTWc?7b#FWW zC|YS-@0Sn>9|>Qcnq~SgYXM~J@QqZqPlw4I7`YzF9TL4Z$x^xyKSoBTnmqqiog?=2 zNk7r2X2M4<$Xp2hmGM?v_2$QC!&+w~Sy&C8mP$2*Z0k{@XuD(cY|$>or}x3qI`gd9 z)sr7;Gr5xIH`W4uUYyZ;c=Uu|AFP*v77Zsz z^TJ8*4V+y}BhiaJ(@GV|OJ%^HPNMnWXQguImNc>tmDz90d5az8zqz4DMp72l+|)!9 zc$i8*yg$Jsfq`7O{{MLa{R>ol_v)r#W(fue@bVtcE7uT)BebIC+p%LuMn(oEWb+FB<^U`0$IM_8;(cgkMC#pHv5Sc>1S64^Ktg+3utkPoN5O7O4{4kY>OdURf7dTe zA(SK1pY>HOPP@_dBf8a8e8&4En~>&WX{@Pa|9d+Fr^C8pQR9e%FzaJ~>XaqEEG)F2 zSz(pQm0tW?Yu;m0yW6Gtz92}&A|wb*V=^xiRo!F9^oFrk!oqL1{LfQi-m5p;(%MQa zsd?c$C%M^uu^#of8Y=sUI1irxmX-MLm+ByH*r{!jO?K50I>;QvJB2vdci&H?P}P?4 zWK*P_PLET`3t^mN2;|-5rl&Tb`M+lpmu-*|`{DKcS5i&-KNK~d=M#T3P1!~S8ufni zHc_;=BC)?HukZ2kXS+25&HQexwXbNXujlnYo_kN-?V8dfP&53nAf1(#lzR<5N`5=0Wu~>M}8+ zc!O~m(E_c0&f?^%ZPc*_k(x5-q9WU;56_JAxU)e@So>{XXl%;q>pMqxeW|C={B=Oi zCSv;S;~~1T&+F1^l0)}+k_{f4=Bjhjg%tSWZcAor1QJzB6 zG_WR0y=&&$)61r<(HD#RNV{}D^#3VRw|aiM_qr-QS#QF46^Q8=eyttDt;BtN$dOT% zUR^cbUOSJM3f*Xb;MucH@{gYulO?WbcdmETlu&6UvoJ|{?%wUbTdxI4Jv@+<<8)8e zxvY7kUD};jpxM#SvyyR-dX7P@X?Okg*$V&SlG;|30oIUj2>dL5z$q6^!ZlCi~=0R_qk_x>fIW zZyO;##iRR%KiJ5xMMwp;icL{b1X!69*5!{3MKW>PlhPi889X0z2j z>d2VTMAgwvmF{kDaY;4#BBQMr_`>#~Erl+SwblxmD!qU|0#sF!1aqR)q{P=AvEFxL zZ>#j#J9hU4WLo_g8HOHQd-Kq5&tFyH38DU6`Nzi7vLeq{4IFyhb}8+YJ2jS-7f}Cb zi(QjlQ?8OlglRl;=^;0F_dVMb@3_)X1;+C8o(tfm+Vkmd^9{mRQ{O&5$MfpSFeBO2 zmvp>c;q7@;kC6@Bmb`Sz-;kxL@WH z_jR3Drb*xD+s}%~KUwS(%u~r7_f4{%`H4<{ukBcw;;CTLYQ13Mw)0crj_$j?pU(6dN01QX>Yas`AZ+a#YP*~J8Udm)M;HV&CQihO0oaDQ22ZPDqU-*l**MbXN3E!&z)c)@e0+%s;69$~BPqa!Www)Tz1G&bopQUzC@9F5VB*(rx#f3bGHh z?#=ZU+}te`z*sigGPnKcWwz7xX*(5<-jj*!8>ZQ{;S=U4ITTXQNm%IUbL8-S11zx@ zKWDdvj-S5!#Ny?q(wRr`ANEBIs`hg&z9oyWY4!-u>3UTu8qy{-jr)Zu-$8vnS2vd@_?G=^S;u{7R=wf_6?(2XHFT zPh4i}aU@n`vG`vkN8Myvq#s)rp+FZYGQ2@i;h(odwX1jAud10CDZ%^p4)Hn;t=xOk zgrwrkM2cj(-QQ|Ga`Q0CC%=Hx21t|*g_w*4hMH9CnsRcdK^2tx{A;a zK?RK6_Lo-=@#Kz`2Hks&|F`rVRyAUJzFyxkts3Ur)zX5T>?r&$=0gmjnSsQtr!1`Y z$zH0%#G3k3{ud=0u#U(_Nli{n5Y5#0XRdWR%6>TigbcSIsHh@I&Z(-sD_*3!tTVm8 z%;R2J{pxH*%GEmtw?1hcIvr>;tx_p89n8JndMvMd&1w2``8J+kD=V9yS=$q>@94ID z-c*^LQoP!Bhl0F%Cl{9@y7f@k&B=cLFNVw6fh#bWNsnE4D|c{9%m>H)A`d6!&qdzW z;?Gf`j_)9E=z3>1c_qP2POtFhsUIokjr!Xk#Z?)Ie;bXxJytGQlj;3rxAWS)DTS6G z4ez!k&uH>??t4W_+seeAS5*zXFAOCDpv@gv@oZ+&uI7%=n=MQJNgazS!!|lulf|F4 z8J7p2`&Z|^-JB_%a*mc0p~ijR3#C2)W3MCN291Pvi|`ox5D+cJuPSpzWGV zD(Be0zA*6%G>fkq@2s0TlUuJzZYonbmLHF6Uq^~I=90tUPJ$j ze3#FnTD*PvAgw~TSE@wM4(z}I9>;AA*>CS&WZY>|T;hEBl;DSF7kM9+#?p-?+D{iN zzyIj>LBc^_e8T(_MTPmg_OZjCQ!~_^`Q?;7&HQ4QtC)`~^UI7qynf$S*<*A=#>;QB zH!7mEFJX-H)VqpHoQ@sq%^oB4<&H8y68D8a_w9`cR`_hYmPx)SE|w< z%-*c3s%k0gSgILx5)2lzsCv`a$8=jD&RjkUji_LHIy$GolvPJeO(pc>Abv zPqR1E9*Fb>?@;+c>x~LbrEjw%dLM=`y!pZw)gj*%{`wI9tBK=?-OOQ z6+84^%s%;>*TEZaxU#|+yX~aWnz;y&7n;z|c&Sh)TSa&J0#f(hbv5oIIoffUW^}$> zs*Q}#4hXYY1Bh|c!x+pd=D6JNjHkB|Qau;aGCH%KRuo>V`3mgyqW z>B6SjFH$#{s!%CJzvx^D`|uP)CRr%oZ`#QBZw7oINS(+D(ZV^2n-JS!_pto<#StrJG#p{^&b)cY=G$DDqEjI228t<|8)kuX$HZ+!R!#jD5^fCSWMCP)s zUfcD{0(lAa4;ngqg1J=ud@)>yt2wdL;q8lGWby%^*M`zju1GYg?1o|AWlH(q#WHg> zqmDv<3?*~LZUA>p^3nZXLv`!(^Q+DP&LP1?0aSQ8m0u%p%Dc(5;zB=qKtqpC@_20W zH-?GHtgYz;>#Mm0c5;s@m`_f6%!)iSZ2kxfYPt!lh_`udj8lL547<>$}fU{hjhP;v1*9^W1iVfpaZjG6n{lyUp|Ry&%1AM`Zt^X=b+Sx~ zKU^;}iT2mKQQ5(6<;f%Oxb*LubTWDz7e95mretM}*AMSPuqhE6Q*?>5Bl+DO`djpM z@=1U5AKa;1O{D+57OQ;6!_)gqu|#Uj`VrlZ{*%eBW@O{xZmsK%&N4 z#w|OxG!nVvudM|$1?=soE>v9T5o2waQFYKM?4fojW%n_g5w0gQjmfUrnU-&<8oq;k zzQOs2#Ly|T_=dkrHFJuNe9nA`?73;A>>S6#8KQ5~+ildS9FGwge(Am*o9WN?mAY+2 zdP}$dt*pjOBL&TU=Yy#$WJTEw%RMP=)z`+juK)CxlD&9-yZM;dRJ>?WcBjcM@ugTR zQj2I7@8Q0DduqL)Znq+u3jqe^2K?o`N5tEuKX_p;sE>ZWTbEwiAh-b*dqYD5j=!(& z+IjSW%FD_Sxm~_2-t3BVBO;WdEG=Dz158Rv8ZIyKtBVM+_O|7bU_KG*1UQ1>*`waW zs8XX1g4R!Xt?=~ac+U}LrS|H!YrIe5@82ghWRP7(a4D2w1n*|lYVe&pv_ic2F6ThOi@8ylOP{FS1tCgo2I@2PSb z#r#fXOu_>Vo%!0>S+@IYJ(}1@6F?gya6JBrcXyOPd(2NEn;l8^jY+u!XRL$ur}b~yC*B=1 zKh-|4X&z*_uhs2tZ$!`0+acZ_Q?W-#X}iBdG|J=an}$iW`q5}Z`RJhgqz)S!TkL^5 zdt_t`vw9SdYqO}*1H4#UQxm(-`Ynuf2}Ufcg$adY0GjZ_4P^?mc<q~m*u>+JaYx(8^I{r1Yj?K)%v8rzyE-Y zq@?8MU~!EpE&Ipjg(xoI(-tzy#PW?EzkdCibPEO6mr)I4aBpLqpH)ZY?ARK4>L!>Z zr`6QR_+Gz%zrrzR#FyrVA~bjknn#bK7wCb9&Bw>r_(xdI2z(jTRyR?`WVgjXiwb2V z={}mhFpBzMinM*(NJ9{hvadWUv2S1G(6Dbh4P06LnIj*k`Cx^nB6jthb79T z$}j_ccVT@s^?Q&^t_VNpEz3((DITniv+~(}ELe8)Q@GkjaVLIcQRLR-0baX^@oLe^ zm_~~^e{rUAqb~+8{Lg=`=O)eM{qkO9RJfJ?*kk2u9R+E-JZAVGn`v(zd{-Pen_Fr1 z%jIf}dYb6m};G5b=dIBYY8+*lXC(+;uBowHSp)r@_=R&?^_hR}(Lp##T# zZi!Au3|s_U=Jpquipg16+E z=blD$^!)g8hc-s&(DL+Zrgr0mjQd&Pt$%6k6*M!#44oqwB9rRVQYtPC-Qu3x>ErWE zS}@Lb{q&iwC2rMTUS3AIdZcGUgM(Ms)|S5wGC6pj>$p$4Xxx+2CS!TmK+eaw^$isx zvs_@lf-~!$S&t}ht1q2$PV4a%ss`D`Cq5Sh_=(Jh#EK98v{HEYtg~kQRDORjJsMi{ zm1rW0Y?HGr8@5rp^I|lmIT6(2ytR%Le7j?G>^Is)?V|B+tHtwL_;|3WOLWJI|`CM}MaqgqS>w@@yt$ep<)TG+`#UZUWb)buH?E&hVDgH6% z+C5@ASU5#4MZOMu6t%Gu&OF8PH?7o?r}A1)XqNvK`F;E5nhGi7ue91PUlkUaFd`AX zVa4zb-4&EYxVgFEqJUM9N|<}8XGq6oDOJr^R1+pKq&(EJdV^o791%!DP{pc@W?9Ad%J~+t2&AlU%jzd~NNJt0+Wr1{n?ZWX!98uWg zXi?>I7W2}vF1R3v^<}C$2y!AMsPdRL(A2zHUheMVvVadm3+t4} zD~xv#em&`$vCwN(iWy=R|~*>5Qp#6GN_wj^Xxh_wUPZ| zi(yQ*`&1W$8d9lQw6Mq10tKVuir2skMcASuC^(7BTpbCblcaxU#Mj;-)HX==$X{pI zhs>sh)8vv2_VE{)?aWxi^L$FKpG|ZgL-{{OAXy-OAN_SwvQ@3S>^=8y@iJ*S#I(K+ z-+09wp3_u(aL8Ju$mrZJU2nD*lFl@0x`igmI)Yg}$AquAy9d49Oy?$eGeFv?_^#?H zxL`X04@)=MK;CMmM z!XGJA$q%eNa9J*{t{6g3P|O4Z4NMU-0a^i^+2r_m*8O}uwe1+~iqL6r4lrM0XW`Mu zX?;a1c!zWU40^Qh3JZbb1H25)68*NJ@5oyLWV?uD%fVq18Ws_2ms5F}(VPNn zH+OGbWI4n@?k%Pr-VpP>W%I_~zo>{3BWTwaCqT~h@%CQ({o4ddDvmOWDSG++i2YzZ z-#a3PL1hB-&Pxz2k0fL0{uy*a)zyPd@&USc12FV0CuXhnfVzP5-05%9YzfJ?8g zuELgugoc8NQSdchl#h>;^#Cx9fhud*C9v2bP6@HSXr}@-cg8zB@Z58>nsEt{QBgz= z0+UeKf8q9@1l3e(^MWgmswA(L)8A(7yXiScllx;E^5&DpClWu8F}~0nPk8mC`*ZA7 z(r;hCIx0O^01GUuhpL*#E0v90HLC~uMK-9B1V;m^2SHG>i~MKqUriiAXk|mr9X$hIYcpADJe1kQxWrA5w0Su1JWIpHCA%fLX&zR4NH>V zqilhLXzc-uPYh{3*Ttnuj|tH#P6LwmU8jrRZvyZJAB1Cf_UzfxO&J{%#H+rTyf1NFpkDYySOrJg& z5X!L30pM|y&3EBwRslH+AeV^o<7_SsVJvdwty`|{?$?H^?T{OBEd<7MbI_J80o9rY zu;D-Ws2^Y!D4(5`t~AKe{;wVrBaoAmGdEnjGb-@l)(aH}VP7!@9d3ZpsUFvWvdGiR zpFR{@sq6{%!f8Rl4XXioNo6k?p8zsd>;`MA*r@?bAQQ?#eFsFtmP$G0fd)`I+<`s7 zcHR?AKs4ddiD(67#k1Kz0K8j&h6@|*FYh{TvRX1 zJsnZi>Tv`V))%#?fq?-mCb%#Z4_^2;*V#N_KmoYzkE61PNZaSnR>kl43JQM5!^G~j zo&r0Gw*9<;p&`(ICkTlA2P`v?Z~Ns-U=0aSY)6L$V2Ny2zNBYMV+2&C_o}GW~rCKUk&}>kEihP$p`VzJ+Qn$4_bj2#m}D!=dQGm;D7^MDH!Yv zq!$vx0EY%QL;>o>?};}<8U5)UR2<+=04wLs1H)dnFn=)uc+n+1M8)n`&+-88fax}iM+M^>A`a<9Oe>(i$AIvKB4IyY zcKO!YGsLuYxSQXl6k72Um;v#z#{1sXTH|dtXbG_NJD)#7AB;d0Zahuu9nK?+sAGjW z`xQ7bvdcme62%C1FejhvuS{uaDGoi}n!9@m6B~X*eM^Nahp(lc&NLhVTI3~HknhX3 zSkvD_HiVOYu-TQsm4d)a#YYh|N{Fo1c)LTv3Vexw*p@-~FyJ&je*Zj=56Ds{-A@Yp2GpX9Udx&rik4du0yz+9Pm}A?}C@K|zd@BeFK17NK2Nc5b1(@;6m_-mAjdKg3 zh|OEF?5|ap6h9Z3$>`N1@B^-L1@PuQTAYBly;JYp zx&?*2y*VDB421vQ6C4~8f(LXhq7;1qOaL)eNm7W~vMkzO)@rx7u)q#7o#|(Ug$!yD znke=?O;o=;$ay1zsC~#gdaxV}B#mBOk?4lYA$YsG}{%kh4{|-eWCO z=pEbyD#S$J9}x|hV_JcjqdP;awPBv^1-S^@pvf}^obz`BXl1RUKBnBYCP ze#8C%tR&i@3El5du zrDA(-XVV;3J{}{B%>isS&Lehq9Za`FIfvSS_4ZRJgVxm4gx{|ud&rlWm6gE`N6Jg! z{5JkBbz5CuW?^ncP9|J%q-zKqtF+KiN?b_NE5({uXNSD|S?KB~nq zx49mh2yZVh`GfE}f`LQ#=og2t%?B)#HMlQLo+u%W?S;c=@Qgl#Qm7u4#JNt>NCFwALElk@XDJ9mnP^XKl5 z8ppf_3rowbsy99ajf9!x_h$;hz=F*Kft(Cfb<^1!lt0yYGc_?`{Rt0fq(^dz_LEGa z4h}KtCA!e6=g(JW-_x;D1T_?yl?(pl+rOVh`TfC4`Y)wV;={trnK$5tw_ZKyHHX}6 z`m<1dNUxfz!_1|%de^FMbq9Rr?|DAI~ zFNFr^3 zB5~R=*H6rgy65tm_axD1xrTk9Un4h07){ap+$(Y!1`0xvCn~c}`!?H9Bj{v5|QAbG^W17

W@DQqB0m3o+tA{evN)xM@tI!b0z)rC9hV(rNxDn8OwoSeO^!>Lo9I`}VEi8_MmO zCi$us0iBR;tGl)$&i4fyOq(IFhKJ^SIMEfu$F8SNY3P%Ox{tmvdI_sf)KResvB2QEmJb%l z=cm0Cf60eyBx1KS#h*)UDXB)lN)Z$gkZeL+wzaPp8D{YOA^0EPkEmql@)k@<^I9~U*sO}DTlCIukO$A+Tf+s-MgNAVG< z57Pb{4Cep}bP|c@J9dktw17!aCoCeu$Y6Ve!0y$kST^qitcxaf^Q=!!@^vbErZry< zegE!-A!o-u^Fq1gP6P)ZD=wZwb^+BDvWauYgHiUl4)aqI^A*nwCCJe8gJ1|W?68&x zLzt@d5bqCir{G*EBrYFJ^ZN-wB#}6r-t!e7-~v>`J24@^9!&L2p@Z`BEoHQOGw^EO z5|+Z`)YKhmR700;e8PwV3L0-@0@mKDP7pa@<2;YvCquowq9Sn5WIc8WTJPSy3k1y% zm|Qr?Dj<2W!Px4oUpF>3c6LV6$3VK&A}!xDgFE9Mew+Sh9Udw&8Gi^(xHK>q({9Wj zkl;PhyV?8L>~VWrBXhj&rf$1{j9_b-K>I{Vc9+$Z$-{UWgGOJU3}Hu|Kt|(}Zt{C3 zr1lOP>J1-Vf&m+5h0V?}$wyR|n4EkF+Xf-u3&SmCq8DY8z>IAv%i`Kr)L2p?*?76( zmzwOEVf85QEE~Yy&W?N^9c5r=cPv-wn1AVJ72S!TjfiJ4Ubj0%;oklGs~F%>jHsMQ zsHJSkgBM>0sH&>sL*Mn-yHufShBCy7v`eY&@3!*MsH9289P(XtK`AWu^;=jv7f(-z zh=2tz8fz*>E-pe?7=3!ot06QRQP{^54PFa@8*E6GbiA>D2+5*$fat`^;_`CHx1%9L z+^Y02stA5LSXmt;*(bZxKBG#6*m*prrJzbj3}s<&2%w8KFrjMOZ? z5>Y7vU)XN+7>?)luFQLEp;bquiZcB{%JsC8yWP&h2YyIi?n-`)EsL zs=-9qcoj_Tu}^?+r8ob{T?%!n?i68gL6nVpGVn|1D%g0b9tLGe>wlt-JTYtzfpW2z(QyE-+- zyt~|dsISL}y^*|lcYZC-ZY)!fGb+zZH|L61_>SWaqpf#DuA)ppJFDC9^hBznH)QFg zq@Zy74JAEoqQw?Uu5(H4yUiY1bNzDf*~L5~5vm%ah@3$uin%H5qi^4wc4s0WDbfnZfcYgn-20F+8D($;l`PZ4#n_ocn30sBUx- z=?Ni_R}~WXPC$$7o{8AA9R;7T*)XUtAu(}!W`>iS8*H9)XnUMHH-$K#nDCRgOkp~K zqX>>(x3whnBPEbM4OBYwnW{6-a%F4>h%d?B}#Zin*EiEl!d_!@k=Ka#ZkJImlM*Rw$`R4h6RDYpClp)}W zj&$tPiBOZgTP8W+6H?OIq&8eOe3Y8UUL!s1kcxhC+re}4Z=RK^+Z-MfXUaj`9jVtMQx`23lN{vr5vc{*!W3@jAy4&$mE_1kWV^%tD=>2n%IUeF z^x-_PGB8L%E3SOd7dH!}4U4i`NuJYRMLn_>LQxbWxnDh4{Hy$ZFhILYayQAn-H1++ zV4+I+y*H;F@<+VaKgigy=FCxMGR8%)uLt2*S+haD;{--59MutDo{CCMExB@V1Rh3yS1^_3}#RFX_sM}l*4kd_q z^rTohf>5>a@qL69mmx`7M2On8-7wbEqY^(gp>E&%_rHrdX|@uz%*$OvKAY$m>E53| z#X!pl&ooq2>*zq%^|;aA;h~Cx0?agi z1SjdOTemW&;wnZ2SXptrNN?TR1L8IN-O1%sGK+@@F$_x2!0;5_2S+z>bdI4Oao}@U zm7-MmiH>CxHM9NH?t1ynlQJ{;C}ONq=`K-&fC-$D0QB>@ici7zty;SnmJ_W6P=2tb zfH~jYT>u17IIGph&j0ngvnD;#O#rK?V?fs4Lc$5>F?3eoUTP>(?24x+C3%1d0{IAf z0f6EwhZaB~^fJhHC@YY7yJURb)YJjMm(2I#8w8Urf>g?|gl%p4MEp!IKbRE~gQWC| zCJi+;0Z&H65afPz&Q=gYfMRgabEoTFluiM1BYfx?T4fA2BfvNSQRxB7`1I*K#z;{4 zo#k11^=e4WCE$G}`D-y8hi!Kr&st#whcJ11Lf^0SvjyQO2b_D^Sy|8_#fYD*D3v~c zWV4=3=lOa2_qKZLuq;WA&+X^hH5D>NAG*o>&2Emp){GEH>0`+@TOTc6URYvK;O|#e ztj4<=FiGtz)chEa>u=L{{sSwX4xu9B(c%8duXnK36o1?+qQ9xPIII-hAw=eSP}-AU zw%ikP+-)hB)DW>3_dUY)r}4;*TUm3fO`KBeIt6E8^m=a<6DT7b@iH6nO|U(Dpd7G= zHVeD}?%D(5*Yx!C`bfc*!&5kcY{Aojg1GkDZs?PwNOAx3e~=eKkSf%oI0sPm^OY&M zdB_t)V4M~^N=;1-1jvvHLSx|pP~(;imu57-?t_5KrkaY3^ff!+S}V{6z+-qzqyeoX zd3pKlp<1V<9iqm=Ik2I;V=ij@rme1mb39+Y{XYE|R1GDBi58Qs zt(X3-fZAw`i^R#v$JbZP<@XMlL_zyu9^Qf`vbVS2IcP1ofs3nNG#bN%an-mZ?ol2a zJ6!2w{P!F95rXN@GT@hhlR%n&0=v+fHFWW1CL4-LJnY7ZxUd;*U_E#mp}IehjUB0w>vTF3I$Uu)RB(2ipW=y_@a zdHfXv-tvrQ;QL|^2&gkR*Sd2!(QbtAwPv&(2%d>>1H=rj-L`)3j zCx&1GM?SRbU%DEXn@EAu4WJ?)h&-4o3%=c00cWe8w};1$xIb890cZ=?b`Hx3a%zGb zH-ak7_d*cBDQ7PvyKvfqDR3gT6cB=>U_p8B|9%zr3Ur2Yif%T`lht2tRU=e? z0U!z}E=<%7hnxpKBXs{Pk+$SpGGN7EDCGl|QNP0b`};wx4XgkOr$wAvhxly|Ai0*4 zK;gJFJ0Y(4LajfhL3ZC0 zAW4V0d(XZh7^aQjyFo4unJ;MC~-+dFkoaf1&{ctph3NI`66rN9U~LUSDY zF-yaHo5Vh1!EFJ<*lD(alS1ztpfjjkGSp1r0nGq14c%Jz-{0n-PXL<*Gb{!e;K2UD zlG-^s0$(_^hqcAz6DR^;?SOn-z+=ZG={3Nm(hd&1TH)s5x)%?5*)arh=-@yTneg;z zbyyy^HNYRN^oYTy8M-4tk%PNb53(RJF(|U6H6xY3B1Oy?uZX>6 z@HYb5doNj9fZzh~1SF=01sXZP{d*>u0$U|FH&;WEKDwItHZ*KJ6$@badg(?~ax$)+ zDP;9hL~t8wz>o-b^GK=T?Ym`=LjiOOZfcP}XLIGvAsY2iegS@+^f(uuPO(uF=HJl4 zxn5y%)_@a$aZrJJ5%viLxAA%^?9^A#3~AqxhD_$yXL2KtO9?+P&1;B$ut~r>0{D|I zaHmW9X{r6-#)C60PE(Njm~&{X#^pMty@#~9U101;hgySrjARx6_2>CJ;!jG6dWN1p zx_GYp_k{IyG~2Q+AjUM_+Whk5df3rEyA_3zrk<^Yi(c;ZpTXBo_kG^@oI#=rWm1nE zZxakU)q?=#dfyPtnSnfNwgJ)xaX@JRhzH3(YYtE{FgLLA8=yIuaoq7wKkUdnpR8B{ zEC$FTCfV9W*Ku(HMIHnSV~Ng%mxsr1mwM=jPf*}KdA*M@HkR3%`Hkh|-vDK-=;YU^qa+f%fY|6G%QvOwu+n zz6)Sa0%Gsit%%qq$n(Gg91!0(v9Y&`Zv@~jLr?oH1z#K382zikWC1TO`%zuHc8#^T zER|9r21>{v*k$0OFlqx|8aiHOsh+=|0PqI|B(SpPR#x&f3ZTQBKZ4qV?GK3u9&M4Q zr>E%s`)w`d*a^;&w}oMl+blfaKG0_akB62z^soKIHKhXKy3p-FBLIX z`J^pmJA!>Tp%bLe_Yj`-PCNj1BS4RV$M6>LM_7*zNOtXF3NkV|Hi#CsDk>4x9j~(C z^aU3T*{>52XY{}kikNs8@_cUS{nF7PwDRG0Dc`}OrA_zYplTD}25YTMUMyCi2m$sA z{znvMpdtqoK>)MDpj&=}nRxHVx8PtLoQ;Zs-2?GooZv8wjQ@ z5l{&}DjH?4UgtZ*3WyU~8n{AmQVEceKe*qyU%n$7eQ~L=@FaAOKaj2M|o97tEUg$*tO=)CAYm$E& z`i@{sy8*ES4pR#Y3!^d^dYlUfw@bsc%2AoKBR|1HMK8BLjI4zN8Xq4YZo(A!@hA3@ zHf530n}ba_Bmq_7qGqLJ{80^yF-i&GCK?-C3Bvt$UT|!M{qP>l>wOcyK_v+A!zN_T ziN=0^PS2n>YCT z%q*)y>UL5ER)m;s;2^?Do2Z(ge1${1cmj}Rz`2$Vkrj&o=VNS_G5;KR1DRG-n01+9 zgZBBT=!!)8Huy%}f$Vo`zXhs${xAS6OAYEki4DU1k?tYSQK;oGeZh8KDq%a$cKel$ z?&T}#gGb=H1BTuU7%mZb9G9-^>gqx@6=VMlHEx;w7t$S!BdGGQxk4&-4K6*#JP4d- zbQKE>zTrz}z#z7MU7b3=u(>J&Xezox2F>$hF&&nq00{ZutF`NjDcXr$fIW3FFo2+h zvr2OvgF($>l~$^v?auHY+=)d{UR03l7(D~6Qfzwqwo@IzgUf$B%&%n-WdZyG``#Cl zBLGv{=XL;oWEbXf8QZ~3yOccLsDvmC_)D$-#kop)VPhW{1*rgU1oA;RjxbDHz!<@~ z_+J=z{ci|siTExZ;Yus1r)Pcxp3tMNydNZRSdyRr40bJC34}GLGcHeNsAe||-KSAt zZHR*f$B8gJs2=YJJ)c%F&2+nmtmAHqyX)Ei)UE?{`dqVlRl!dM5y7EAj!+8CGPkhk zIEyv7p|_RGD9XVr{7F_))Jx|>QYW~!Tb_PN+n%dLp^%=k>LfW$Tz4JwsN%1GRDQvi z6B>cLgbke{AiPvrhOs07fe$`bJh^p`mVDQ*7wpV4eJPGr~IB{#!;XX!7aE^Wt>7 zp7{ekeg%w>F-eEZDuefHGrg##>)qfJ$8$tP!*3qEu_jZ#Qe{E6k1cY8*&4B7Ks;Y! z?MLSqW`x^aN2f5rI6x*gq#7G3rq6i)9bpI8Lm|e%#U+-zok{6-i3icaF5H-`};5UH%@ z-geIV`wQ_$o8(9^RO=E-Fw?8aWQwzzH8ovTy|p3 z&VhFXEFX(dLt)Xh!6m7Za&K+=qw&!7jJqP_yDW!}H&Nb*&k&QHU(}y@fieq$60}ZpAtY z%#$EOT4-&Z1AX-qs9Cn~A{_BoH`0viuyrGZG*Pb5GQub0R3ic0-3WR~pLe4WoucVF zR*zjh*?HbEQXl<|*V?5R3}9=Mf0R=bOQk)E`f*v_}<KV3QlD zpj^i3*`vNI`}4pTcr8P3aFpX>esBPTl}<6&tO+WszF>qx`~mfct}=9XXv zfnY4UAc^%q-%E$CIfKr6@JyMJdK_#LMZ0KBqX>Z7kI;t>&FZS1?-LmO2jT|e>a*f0 zwjIoU2iI`8=LzxgLXhG~y}n9+5}0xe`HXw8wf`9>2Q|Yr$-%-x;@sX@E=Hm=_Gw>- zQ*Ii!0MmRvDMqXJswXQ9Wt|qf;>&}A8k=gdVF{Dh*9y>`H!lDB;@~D9JoD)qTyTb) zIYDZ2vMA)^5C`1h{DZv=(;Xn?K8ET&rbe626 zsHiCM{&W@UWUxYCheip#3{it*47+VB`5w6TBqb+Lw#=fetyfd^f4{g-tTkcvw=9xS zyu|mDwWFLFJCqsU4q!2`c#Kb6e@li(Y>s*C<3g?fZm3Ixa2_u!~$sxtxZv zWLngmkvOuWc=&iHhGz``B;7)upRYaVxHx*0e+c_cNLU)dtA zmrpdH+kgJHRwtUy&Jgu|iY<=FGW`Yjqe8LKY)z`t?eC*kxY5?Keo51pO&m@2sQWKD z{EMp2GH~h96{>eaC0mPG=G=#wndSxMV|>&%>9H(+yr1^o-Q8Ve4T7sqj3W_#F&3V5 zm)?A-2lXGX_J?#kN&{oPI7?Fu=u+L92tGJ(k(u944sP>KmX8s%SFz~fe~s{%42ZpY z*#wb)4H=cSt2R;2DTY`^)(Yn2i<_q;jcO*M9aejGuY2eDma|g`E(xg+%{f_DCN6#u z3Z0HP{lJ2y;P~7|TD36u-w*1jIhDP&s{O^5D=%*a6Y!fI9!D-0EBo4}EZjV48&cDf z#WDSHvy4GUO7icjMd;I%T!U8zA$rkIP^bY8jyHvIQt+~1P8c|Wo%RP!nDe2$%)$J6OeI`(g z_#gdz-u$HerN%vn&#u?0?p179#g^w7uQ5hN!gu09ltFlT%>8~uI%47g*m)0&B8RooYOmn+$OHqm&$URs@&m{ z2^}B(sC=uAK>CbqZ}H1BSvtWC)yO&bgOU?AL0!F3Y*Ta`)en^x9@`|9ozKX{I8D{M zllkHG1|Nvxi~|p7j`|2MptE=vr72cr&(pa8QrhI!hV8lr`&ka9P$kI9(h{Og1KSG= z_2g-Ra7@a)c8uA(*>)sMB<@Th zLTbi`4Q^`9Vk>A=T(8{?Vs*OSa>6mr*O@O#LgTQcOE}}D8?P!QO@Mg#RNW@|uGxN7 zY2HuoJAql*LITt_)4A8_@#cakC2DoJax6ts6W}!zMRdNt@QWxKUt5;0@maSXN|WOV zv0k6hP+4A{-zb6aIfa=AcJL5KV~)^ss-B2xnLQ{fyP0Y342zk`_Q~M{uaRf(8zymj z1fmmB{f3G%^JS&B=YD#hL+x%ZdvvF=Ce9U(fv+8##}?QfOM^|#bX%<4J4_q)iX^aB%lj@w;30lZ6xx`r6(SAL&7&r6K0g~3+Wl3j zvaI#?_xaz@AvH-O_2sRuV0MS})QnStv(&Q@$ykdBYhU7PI&BU#(HCFpAhL?EvEjXl zTFyzj<0}H=&oXZ0)Cw_oENM=ZdG~qjlSF>~7ObC$MW50(LXv3n$C$PnOTo47fT@W) zR5}q0KBJQefl#4B617(eel4UldSm1QzU*pmSea)_erjsb5Ky*k@hyyvru(tspxb_j z6mtZ4xLAxP1V~1lw}q}c3oY&cM0U>^JWEMg#OEEMS8NNKY_`ZgwQK%RZ^f*DcwAtb!j)omy?KtIz3SP1 z1zp@!;kUi|n#8w42fB~oBSo}fB*?=%--S@>B!O&>35@9b(rkQ>2Sm&MvCwy3VNq?A z4>5gG^3LK$V}-oypyK;mml24lssH@YJQ7Drgq-iJ2}gL1DhIX28*Q6E&1|P@V8=;$ za1DuN%9)&U1@Y?xqhEaahZ_p__&UU+zeo~>h};@l4OT1?7?YU%!W_@^pU=v2`%CYS zSi{fJQh#C#tJEPNJFea(UIR5QDtZzkizF&sjm8Q|E6!b4n0(rgof#@lSf8s=SnKkZ z>4UPUQxNJaMW&2ZbUM24>H4=*7yEXD1(Mpyiv z&U2ROucWeM91YIU7~+^F{R>%<)S$S9WHQUkqKnfQp1(faWR~j_^KFkvf!Q`m#^a*# zesp#MW%kk~FE1-{P2SVh9k@f(k*v&x$nKCjg#tPm3oUh(t~O0Y&8d`_EfotvzU!5p z6y!|PY4c;OZ!0frb9J#zrKU%v%j!B+T}6CWkUQ+T_gMA#DDL#16l3c_Ws`w~jfywh zbv<(On~Lk^CZgmFqYE0O8+@J~u&pBG$yjpy+AD}}wNsk~5CsnHzGUmv9Cde$cs#+| z{MWd-l!Nrrg3J^Zi__WOTKbuA;xT`ugpgvvcu9qpPH2;+8Uvn(t)rBNAx&aR{xS@p zUr@A^Q@p(9^^ys~!>`)d`O$IP=~?%`K7LOl+TumXWtU9L^ozCwsFOJc#9o{WOZqof z$PhUqOYWmTP}}CDVFud}V|C;F@ZewFwfZO#a>83zgn`CF>2G z2tiDlXd5%9z;_I>gaL4GI_~8L6;|^gxo4!-KFuk$OucEn#KYuuLWjl`$neBr9#zO zO)S`Km?d+^8+Yl}#}=-LTUpz}KSD&dg-g-YK}~-;HS>zBU0j zJPL$@jFi^@?;rY~-zZhGefhs1PqC6pgnV&eNG1~T-_7e_JCJ zhm~GL6~S`Lry%l{2cu08pCVhywg!R;AGQMv*VlaCqf7sJ-moM-cPro^*>tP9-6spV z;>J+I<#b4tRv??HfPvMEe@Jz$fe=%N=pB>yaszQ$yn#3UziFX526+GI^2+(ra8Z0} z3j&GGzq$%%byN=p{u?e0a$N)y9&^2-Xih*u98S%>LS9b8VUoa6*#mi8M?OlNFA+KFr4yc#p7bbFEcWB zIHXiI;FjI_GAqd^cXr8nH56vl3EEDJ3sEnJ`19Zl2_4Rk9!r#s)k#aYFV?;aSRgZV z89lk&v2CBm{y6OJC&RFt#8q9(PGfw^wfVn79-oeL5=f23m)k}@TO+%x`cLGx?q~@Q z@g0?Jo0%`<_lPgvlA)jB86KMX=@q)^z3D^iP*u$6f4tiwKYmxD%tqJs8-Y|vN5>I| zo2RC)a;1RsaA9^ApS`}HVv4W;M|kR zj2*POr6w9@E`G-!Y+4GsL`r%o;kT31fTm_6KAHdCru(d<(_mUkpp{;{mPTuiy z-)W)4c25n<4LYVd_sUcv-}TZaVM#&%uV4Jww&Lo$ksRzibvq~ik&PDty@TsAkIHXo z(=MVtX#TdSR^C1hn)P*@Hop|bx-r0KEcoNoQp7+p6X%opH3F&Nfk*GtBaRjPEA&Nv zaxh|3R?g;)7(~U39 zQj!DG#tM*yXwwl9V7+#|iQot&#tY;MyB0t%E#x_W#iZ0)uM6kh-4zB~TqUNehG6{6 zo9c6f@5st_-ZXi2G2w2#udWPcQVGVnO$NOWLXME;zzWVx0ZT_30@(^)nIvZ3Lc}BL z))2*H(0T4D<8Z78&##$vx*qelc$-9&at=!1D0W3Dy7{w8tX;2>!JK^fVdsmsX1#QO5mk7&8(EoB!Pc=BSD>=l{AFLwkzw#E54pJll|mARFLU2;tKTYaG*4xQtnc%?_f;TXnk|3X3VdxQeYnB)$%OZbfdMCr)fmG`{GBf7iUYG-33v*8 z&=#Xq8khaZrQfFWF#7r>%n&W0g29X@xeWnK3W0FQdPvAi9Yh2ZqqMc}fl>|l>t65{ zQc}|7@>6g?9dqLAC#S^A(!7v z<6`xM$!%1R9<3;ZBt_QBhUoNIHr_+&rQX=94p|#vhL^;8%Vk|Zo8LIkl=>>w^tK1C z`e>Q&H#iTz5AZ#`Z6VZU_ajMO;;p<3;>$dPyOo`Sqi%NbRj!K4P1cj~eM;27)`tT; z?}Q9r4AAgzdgZ6=+*wJUhIixk z@nJhCx=u8vGKgL}bR<6d!RPT$R%KICowACS)nW7L-Qz-!O%i_HNmi2!#piW+Rc9%+ z%JeE^Z4ty=4b&=EcTx588mO|fmlit}(i$HdZn)&U`X|3wHXpV3InYGLftyfDrb0yU zQx#`#&WHZwz10j!iGif=7i(cFKL4m{2$0yBar#p^Cu1)r9J*y|wx(-Zbjs{zxjoZq zPa?ipn#wvkzBeh0FC-%+H~#ld%JZkYaNpyLwROt8^f4jx1OZuk((xaX)u##CFvO$*!65Opsu)G;p1-+pfb0NvPkYW`2*2UFEcJ@60Duj`e9Q2TFQ1V($Av&1@3u$>dk*|1E`OmQys=yFod#%h!!Ke?_=oV31q zLzG49^$viNVNI97m~gG>f%$K_*U9R}n^p-Em8oY>@~Z37`waKzPA{70a)08mRgOI6c?zi_!^;Qu^UQaCSXxuLBVZ6{x&gEA` z8Gc+dG1YsSvf#F2ilRj>f6spx;?iGg6tR=dj`MNDja^RGHZQM<&>>WgR8d1HCU?~D zHj~n~o>j4*bbN{=isE<*<5=V$-1JG31K7j0C48)IGok3M+3K@uA1FRXLBiIiEj8O~ zH(6!v9sBiqv+k~2gWEJN?gURf?hXvac)m4duc6_i)a+f>Yi&h5FKIqK{7CjgVW_5c zlDhvA+M_eVZ}~t+(ge@@JdkC(;m8izLpWwjMqgmxEP8f+`ks%A&!+E8Rq}u$`^}iQ z7ExBMVQ5?a&m5WWk%n!OPB?^;e<%9<{Y$OaZV$h2`t$W&HoIzAR2)qIdQ1IBn7gaD zES$<|g$Nl+*w3(=t{-M_jWn>JzAz|W?}d^SS8vu~ll+pO)9LaXzOOgTOcLkSHs1=3oEGR+g@)o8j)Uu) zUENXw%wU1oZxbNL((JogJr1LpDuAc=knWdTLuF+phAjp0@W<_LoRtf|7Jm??Liq@W zAMa+jp)-T=!hWg`hEc!}A!x@5M53b-jl5QYt|COh2&#XO^1>RAZ_flaB(&wufq0b= z7e|ByvHGCsN-CzQT3iW|ju;EfaCr>>0lMy&U%f0{2W|<*9P(^yhG|8)|KcPMwf+g7 zX0t86lnYAtSTq#u^gj61MlAJI_j{^?%G(WQbqa zmLyAQMO85Jg&XZqx8E;XC*^PQZ{LFN&b9$g;+9^6E(hijTc4n?*Wy6oBH2>Pj z)jLKW)c!`ImD@_!W-wgSnV|jOpylqbzsEpf;3Lp{f8jo>yJR;h#>F)~deV3L)yFL9 zYV|fZp{Tmdv%-q`6`#aX+gX&2-ofnsD+*y6ne5;WvU5GiV4tgcuPwK5hjjT) zDJlOQ{*uSolLQHLQ!f@MVD9e@ebocJ{+dhp37k^s)b8?>X z*$ZWVp%pyZBox2DC0QUbeZQ(~mixn@lC^h*CEu@b2`^_e45B}W<4Ba zP^7IZqmtYqmOfLeKd6$c?pb~xF>=LA+{L{0kHXg)Fu>6S;sJ^5kl+h&J*b&-3ZtfC zZ~yh11)rYA>vtxI`D7(x-oNKIQ$ltzCmQgBMGEk9CuLJ%h7;&hK@23h+r`M!{5Q*# zA~Xw)%mkv!0%$W5d7vrH%FUh7LP){;3rJLM4b%J#zz(Set_e)C(yHqN{*4L{r%G$* zLu=)$fWj>>Ao7~1;@MCZ^kqTpq7)Hl8Gd}`hYTKE@m@)DF9oI^<@0Wj^W1lKp$aU_ z%pD7VU^Z$QP^CZ%t^9ZS^i4;dNx0F2#lRO0XPbJ$kyuK97_`#IE#8#P=^b3dlT~;6 zv;>p3KT3Nyte$+6*^V>CBU}n{I5#C^d>S0=0D3Oj^I@Np|+t zC^B4<1-GnR524m4kNlRN8@S3emxPm`pQ(sGD7s`Nc)nvM7otypsp#IVOXfIt%76Eq z6`N7nZ;)9wO4G&tB_UppPG`K2#e%-!Sf878_UA-9v)bIIlv(L73l&P0dGaeN32 z+aI8YwN6tgc66|^ZfBFCx^3c`9Te=erH^E-tZwJt6uud$U(I>*Ua>TxigpQijS{&V z_7nB3NYO9w0EidU1;&j$++wwrHQRGhqMmXEoh4TT?w0MVbm4N^MfNUz524GoKxtt; zeIFGwpYzz$eLyeP=8jkm-kW*afbr}f(oORoOS}{5b7&4{$H3N08%C^6s;XS}4*SmGVDbNAU zJZ69^1vuG!vr6}c$#&(yeeL3Xa){`~TLO=S*r9EhVlQIah6bt_G{D2}h#eYVoQ#8y z56~0EfxBOr>t&O2h#AK%*D?;Z6;R3E30lXbr(cX{s`~!vAgA@+A0h=(%ebLCWl-k& z32@39fbpql4RlyAXYqx(*%${X=s?1dC}ZHleNc!6#RJAmTAs%93vW1#pmqeR&(hKo zkYzTe>ICRvzSDk$*wzFHeSw(|N@H-f^8Y%qlJ0;0<(4W58JPs^;Y0%`1rTM?e`sv{ z7sB#BYI*?bz0>sb{X7_82B$ixe`|rdEin@-UF%YPK}vqqG~c!xsy20VV5)gLfBKh| zr#t`I=22*v($*a(Z(gE8OTNk3I79YEu1*kvR&oZ&~k7&GJLD;78fivo`&rZA&w*R`^Tw2$!aM;Z{dxs70VCVYmK$+2iUT zi|G6;k($)fuJLUNO;N72!1+(IG8McO+2LQyoHlbB6&ER_a+;9YHkR%Cd28p_+;*Rr zig>GC2;kzPn*2{&X{cVFd>OOl>i(hYXHTv{94aY3F;7N67ClB~AoH{>2YaKR`ryw% zkUqV3BjSllzlEb&PkZ$1{3EQ@*B8U~b}tSG=1DF8N!YBjR^mkQJ)bt)-t@Ftw?!6O zXBVF{>B1r^{w}~6KfG4$X{f4j+f9GFurfdQ`!99>5(5IMM}M0pi?(aet4cS2YN_*t zyw+4HykEao`3wCmaJE>7KZT%iHS2o}9@#d#L&ng@Pr_p9=7`!f6Vj^9Rd&4-6m1 zMNT3yF;Q}_Paymwtn-0nfjpr8qNAW}XoAHL;RR}>*tFacq>px$Bq5d_{LyaVvYqERF94V!OO)t ztocsKbH^Xnc?E@FP}Bm8sguSVX3zup5A1LqOQus-W6!1dsVRf66CiO60(#Gd3-|ye z#>YPZ&m3Tz0I75AMa}eG!h1YCkwpAp-UVr3x0Mn66fhgpfc4Ag!!f^LfEAGWz2ae@ zq*?=O4HfhlDjp9Da#c1?(Gpy}HRHm9{*^#^<4pmxqI4rCH47rb&ui5GzQ>BoZzPui z(J%vjE2{vs1Bl4YE~zl;qWfbqa5~mIOIzt>?gWxLlf)c!`oETusuQE_u%G|VR(yMULmC61D*Z{gZ!d1<*k z3pu7kyeA(<=up_7<e5S7;LfhTan78)6@)bHt+;%ZkcAij)bOr_lqQj$ z2H7XhmeyPTIBsc=l*1g_IXMmz6S3E`o@=3!E&e!6u=4Eb#IZ==dt=Mc;05wc5&x6( z5r-ZU2_?{mwat|m7V@jLoNhIwy|4!)${a6Kt*hdSsMYNcFzj7TvB70^UZ&+c{62_E zEr7}a1-M6^jK}CP+o<3skW3@7(76h1C=|w%3FHc3;wRfgh>E!~L|L>%r8645HU1z; zI?bG(eB5&Xv+7e(LqYyO=-HPzyU#zawn{(p;AnYlTzZhD7K)&V&_@yl@_Y08r}-45 zVWru-v|agS+%n|qj5DM=VQkYQs_e1LJ-aP$EYRZ~XBXTg3jF3?ZFSc4(E zfN!=a0A4kK`BC3^W3f|QxCWeRE!6cl?Ld%sykfGlgpLAFX|O1f3rgWH1`w~HuuxW3 z7EnBlLng@jm(n3UVrFFZyc8Se)ZHJNdX3QNoRnpZorh-@sL(`NRaGu9ynf&k|5qsS z7oTjwY~e{m12r`|w8&DNCRkO|NgG==VvIG-4*f495RY)I`de!IiwBzb4`y)i5e^JM zOnJj1Ei>Q=I-QH%#Fi8O7%B}tB@C3SzeZanB$lZ?qRs}fL1!i z7Z(?ES{<3K*iy))3MB*V7(vXeWoA@2@R9B5xG|ATz814qjX$BIllkd)eX<&Nb+W?) zfx|2x2lt~#@2icbUeOxtiCT6#>3YzxAxIepj4vS~fO+9SQIR}3>7M8e<=syRQ7su6 zzhKq>M^jJ%iK5ERah~MaDuhCUK;%HRW>6S#k})32MS9pO!-C1Z@WtJG*z&q=n6E75 zTEhXWp&|-TStZ3WOz*+hq`o5fkeX>X{r$0O{w^Jo9C+pfR3=W3T_1nsO9r0C+GXYu z-oAr%VW<%yUj2cMsq;TtJi+}qGbxr5!Qq>Lan)TqZ%&~Zqx+ySZjzwqd z>=Mg7>r)QCn@C*w=vP-~5`KJrFoPytZhmmxyg-{4^XN>u;nIh!T^c_igCH&V9tO|{@(6M=GO)NY2PxC2`0&b}5d0l-2H4)vzUALZpe!h4 z&wd7-WSQtco99_=9NY~h85yk19Sw`8M}xn;>RZo39~1@S*gP4l9-lg$b}z!A=g=9v zzZWiW-AFxlM$h{X`x4J!OXJ2V?X=za?~h06KQgn~E)NK4SgKqwTQdx#dv)CyC>DygLuE&q6U`Q7#xEpyuUeL&lR^Yvz+vpc!TKz)K|mcu?FYPl3y190|ua1 z7iurLC5zJ4?)_w3EU(6t)k+EVX_+J}WPvcJ~_krZ5Z$|9jFIHKGxilSa)dhB}*J!#pxtMrL(bb>Ha@@_85`d8^ zj7|UjA^9s;32LDekfnJF&`m(A33xPQy`h$02hFOSoE-3CF*$R;(71uiknE8EGz?15 zVg*qM9eN*R$sn5m24d2S2KWT?g0WIVZvfdraQqyGc{&|Gqr7(kYPfK|$j$|HHLRU; z@C|?<{2r!*2+#TquOHl}JU%;zKmewaqnmEGkQfh2aN1W~1uMpt{&y_2pmkbO7M^Cx zyEcCC`z^&Gf<9&H+C&bK9OG)y#_!7}^pQ-%-LV^6MKDM zE(!lAiY`37RO&go;Fs+x*J!zTd$XctXpvR>RW8E-ZcKcTPW3u-d-VbgNg_p9W^pXu+U;Zd)y z@Z5Ik?MI^Dh4M3ss$^4&if}?R&YhrOt&s9nW>EryR~d-)KfvQQO!o zvgfU*@O0d+iy6CzKj0~Xj+e5L`P#I*g?zsQ`D$V>^Eer{$i4sFHq*BSMz=U{h(QGQ zJ|W=~xLv7A95YehxP^ph;R*%Z?VxBF0|a^|jI9I(!TB7aKLwPOx>jkU071ec!pNxr zb%ap<4_NqVaTYD5#iz(jHGmgsy*Dt69*WC-Ff#xbC8$WfU>-cA=CG_!Alg8cI*QSi zy=e!VC=Xcvw1DKOvATelo)Jt|2MzfQcyfZG4pKEpE?5|gKqQONI6+wnX(D9OFF@Xi zY4c$$cfe|~`E<)0e4h4pch6y@A{^!CTkb8-L9WY6@&mZv;41(m^K#HM;&azN#Nh)Y zZLp5Om>WY`00LlRIETPCfDh))R8;U&8j5jU#$^f4Krb(D_Wm^NVt?_gJy4BQTT3q! zd`(YQgj!8D*x7`bRz!R6PAIlEeiQWdS6BCx?O016N4L-ES(&EDP4F6WtM(bj5w(@9 zdmoXhNgCF_i@RN2KUB4C+AC@{wOjDUoK9wu%v19tE8(A|~l1Gheq*wZ*kb$`-liF zI`exrzZ6u5xVTdX8;N8riZjX?3{(=f?)vQox7-++!EG4H2yOGh)5%IHK?lpU+*V|q z{e7`~>+PMnHPtuEPt{}@4Ybx|w1LAa-#m0X6s!7Cd3{C^)mH{

fBUitQUlf!%>J;KA|7kutmv871_mW#zDy?H` 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

  • )CFkC;FcjKr{h979s7iLW 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%0A{`7)|)kFS$ zond~lBo#_l%L+!WP{Yu8oJW}C;%>0{Da|s?W!?QqLb<4D|GAfX`0n$E6DvefI(Uf;!0ScXtE8cUvwNc1)GM3?(2Q*lLeZ^7$Em(#0=gZBv;Q6mSPW zc>Zke(*;|S7v!hafq&ZmTP?m6*{tYSlnFB4zcBCCf&qQ*`yf%IjK{QN_JKI`I6I}) z^{QcaW%kQ+=J`IgOwrz<1(!6Z)*?1;-!Dq1-zyyX8?t&zVafKxQi$251!Qk2Yb)qAp-;k^A|44*#(Y+XOfek0i%MM#s~7O9NC6^jDel&Dl5EtQ z{ASCoGvoaV>r@X!(;1<$murpNMpK8O6$fPVxagdKp#AtLg;(C}>`Q*~^xIX0p3Agw zoJ!1{>VJwtyuC*h&yHvoiw1&q16U`JIFzA5Z}{@daS%V>1U~(-hfNvbvjCyGWab?Dn7sLiY)K%M8GvD;u@~d z$k1A1LD$U;W7iS(=Mr&}I?lWXC*I7GRi=G(b}9A8hnEPyZ+DK~nno90d8-T9Oivzv zl;y`8VJL6awi|vRWY~bRaQ61NTH~!&rfD*m3_V&`@6$a?GTb>_RoKpUJ#y?vkfodcx^mDV->CFII?F9LtbtBm&jbthN<|(#K`hN zLw)4L39W0I8qwr=n<@ccMJjEsZ-b}sqNVR9u>alISIrY+FS~Ma|U+CU2 zvZrWMkz7Hq$|E#CKSx-4yu8q1`xWPJ;em1<64igb*0tiS@E`eA8yi38*?khnUM@Nj zjA)CHSF_5^|1sp7-f|&qn=bAJvaT_k%FVP zQ8T!)M39LJgqgNaG2(t-*k2{k*XePgKw*ka5wH)@TCkd8B__iSyt1KQSVN}z;}vqv*HlXWSkVkXbqr0a_9r`1-b-+k4Ezd#WW0a8A=|PRaGp5w zH;@TGj?N^ye){cG?c!S$c$&~3cYn>QtkxxzKRS@#d;a$zl{SdH6p#R7_%RHzd*5tn1LlF_1k0<=d@l}EX6QwQZ|NEB%b<;FNFSk)Y$H|U^1`b7Zc~_(i1~R)=%nz9 z6t|G~;hFT#fT8OjagGf>!(N>G^f{#raqytZ=bCFNMBmodyACJ!s&~Y9{DqXpdq)t7 z#lfqhATQ+O%rAepQJf-qBy+U*Zb@-ecqu0Dx;bas{dmT!j4cZ>htYuHVNOBa9IP@@ z#mfU@GQgB+pw>o5Lk)Bpb?B;Zkh#dWjdf?;s-{}if=D@m-E&g-3Yl7V^DAsOscn0H zwPO7SOiGQ*ecUIX4bM%kO%@hO1r*m%NTG>5>k{klD$hA<_G$f`!z~``8*HY)UbdMKjN;pAMz^oJgT7OU%Vdj>0U|ird*? zF}F}}RD7l<&D2{5240p$xM2{GhpmO1DGimLOxL37r>`IEIOhL=LTkE;owl~KdW(e0 zv*W+ML`x6#7w%wXHg1nAcZbCqv)rxzaU5FsqmD{aONV~3>XVV>%dVJ==NzWZ_LG=S zS)0bgGj^-T@05boE>-z9`V2 z!}&Pb#Fjv!`V}d!$=d$xmbQZc8%zhn%K4l&FbI$H5tB)lP5HypPs@R9By#>Q4pvy} z3+cFIm?>FINty&vxcD!#rf|hhPvod8`uLe&$LC`o9ST|OviZSdG@feoV#}-al(G$c z40SDXdXL3r6$s_Uf(71snb$Niwu|I^h?m}K@)YmkYxHveb-@Y3p^LDc92V$r%FHz# z==BCOq8Cy6!P{IN_rJXHP;Mbh&}M2~UWY`sT7sl%rNW*eZ@xd`NdbH9$1S^kXaAfd z%ge#PAr6XL^+6-=An933uv%%~aK~4_Mp9k~ZpViO6lFLDzi1WbCX%wE$#fZ90ikS*ny7y(QWmR9erPJVUdgiVF$1vSz%89KRjBYQ9EL1b`|(2uB}l+} zR1W6EYulC2@PT0AO5Q+{zTo0PNh~6_|N5-ZRp#WcW6h+9M}HLI1L4xwS^kb}ur&>n zRauioes13aJt4>beRT`V*LY^)neMGKXF(BUaXfmdQCe1;wK>wZVSd^e+kl@DpZ-ft z$slq)bscZWJX|H;Sm<>nVC-A{x+2x&b1h{Im&$LL1CRtljW`@s8yM)`|h_qH_P&<+c|cCadF@)h%KL(87H>*u9U>-1*_Jm7@`k^6P^P z0xn0pnffx%W7AFrHj%ekp=t5l@(4JyX^O$h!-b3O!2&{JW>l{?s6U?%b{mtx1S^KR zztUL7pK6=NhV!v)71&WO9;M0QA;{?94Tx2{z#CQtm7?_4`_ z$A3>7yRqAJbFdtIu5l`dTuoTVzF}HqXexR4b*y{_+VvifDX#(k-^1MCjMe(s)aB*i z$bLbk5w-VQ35KL;ucPzx*R_zbU*1Y3&{%AF%D1_<^$0U1(Aq;sio$uQbfO3t8b+Vf z&9Hws(V5rG%YF)mlZ3G8+~fApr){y@vIq~-XA5q-U z(^KcQDRC>E*hM58Suy^R#P^O8O`Y@vK95poKW>;(sa0;a#Z1_j2*cYtVydpcc&JVb z(0%tAj3Jqy#Tk@`gN(5h5GC7ucJwAps3zgvyj#Xz6>DJ^pUtyfn$8oWl2V@p_0Lw= zo_yOyg)ggCaD4UlC)Uy>J@Rt;68ub8jLkMhD0>xG>7d@~z;ikM+UM-B=5Fl3rBf>y zKVetD_5v2XDXV*%h+5Y`d;ZT@r7vNjZVo>4slNt;DhtsGOf%-q`?y|hH5#qTAzsq9 z3_H{HMW0#zi`i^d_b3ib?Mkur;Kign3YT0VE`zmZhZC+8DtsJ5^TeP&E!@nL+Ht%9 zO>gX2N8XiCY+bKH7MnXot9C@t(H4n<=(;7``iu^*SJBeOh=<))ccIBzrAo)`gYR;| zb3Oi-ZwTg)O(YUZT6)+1B()rWzy-%L+3I>HdAHfH!X?y#y~>S+xD#w8B2986FTN;y zcRq7*;oD4Gj*1!4XG+W_ZS!Xq+SP;i0PTuw#$LCS0JpC!Z4-@dyowgwUvXZGmPM9| znt<(`z=E_@Wx;WIHCIfx_#rIGB5 zqc#4t#K0foL;-Eag$LPHtE-3ZGDh2}`+Y5SrNRE}n&c%apIauLl?-v|*W{TPn=UrD z?xTXdi^=8cou+-4ix`e6A?`bW6|B-K_(>lNtByBG`s&y_8h_Cew6<#cXWD#t<*SYT zoS?6KGb1jv#ax$3 zZPn?s?rM;BrjC}Q&0Oobqn7KO4Y8lzWBDOzsH)#&i$ii=+)$XuSrSz}iGJ{Xpx3n| zmQ* z*_|sE!Q9wKfTMcp>^!OX?%GJ!CVuyw8Bb#S6M@%rqmLxaGM-iS%BHrMj;8)4)J>+l zmw<2hBxp91po=h~KO7I*x`m*;s+G2L{nj3%$_qtKW$P$v-)4?@zHOSO(ILFlkXC%D zzn{30Y{X&qa+iaAj5pi%mOo`ojB(be@;Hx5v#jgoTCoN_5j5%=hnXOgHlh;?=YFK2 zN;uLdZF}ejg>X{eBY_$4P467TAwqQH(To>prFX`&2)%LB?;eQbJ3E@V%(QiJPO=iP1m`!`5Zf*nFU zOxpRuB&!kkFUY6@mO!D;RVP_KY?AVy2C05E!*Tt|tf`n!_pDH=E6S7f+_vY9f= zQfQWo7lN*wl{tXTvVOMoJKU1|KpsLIFeKN33sdpWW`hOdapQkXAd!g7VkIDJ4M!#- zdP<>fpK&&cJ`p39;634i5Yy|Ze63#Fzvw_V6l-e`Tb3#OBZsKs>EGRtB*T%coNpqO zVfgs(k$G7)CNG)9lazIpu%5K59`hnsnJE?( zvJ(+&9)}gNNP% zO!9anpQ*M{J*eL(6Iga|6xpNey*NCva1!K2ns zk~Q&#tMCOXj$6o#=bjTMicM0&o{^%zjja>{Ch!{+Bh2K%rRnL$XGI=qQ^qa2m&QSk z{#Aq*+1tiQJj;N#Q?H82|93>Ecm9l52%e1mjtCka;)xv|YRicwOVh})NJ4wu;~jgX z(xR2jn>8Pa#H*vB>i^8a>Ekg29eoRY+8BTAaH9|+<*Hgj~ z29^;Vke_b#`!HoVX`EmF`_sB6gLQe8T)`CL@D8{K86LegoI7kYAMKD@m3+D$wK>F( zs#Mo#a~E$yq*&n-znH0@fF8B7 zqDj!vA@wW$r)QJ5WQk#dLc@%ni&!e;?=b=4w8sNreBpN3eKu63%yprRHv=y6h07T~ zGpcKtBP31GYfKw+8lJ3=&YvE51Ve{x7JgGjMb2V85v# z?|W7JKj1I0gH@n40LalU&EYBjRrEJxkq~*mF;*S6_*4 z@@nFI*pVUb#>i>DUWqptSv=dkP~2Ev)Q86Mi-s+T%=jEnt6%L?FfaN)wgRIRW+N#K zZ*h54+(j&{XHlIQJI$p;1c`f%jbKELwYUqi!*6Hym$qG=tNu+!CQ8^NWCM`d0$lO0 zy6pmpE4jK%nF@EYphopL z=`8Bl0{Jb6%N#A2)e*!)-{hx3C06)px?vToaO&0eIiu8XD`Dovz@s?nv-i4w5Hy8! z#b&_p!IErI>cx;gD%`MP&p7GPFH%#WcKJ2sc8=LH-1e|E_DLVz*gkcOd+Bf<7a@<0 zE>>Uh61whVLlL*kp1Tb`gIjlGjl>@}bbevi9AmQ( zbk6y+uj`ot_p?Y1qiM_oIb~J~_v@!!qb&4*$d*C;A}ypopp<+$O=RN|t?~kod8fXi z{j_Kzz8s~~Z2D*B>A&QPSI1r#wy>UNZ-pnHo?B|yj3TmOuW%eVUd5twdskP^PrPYh z*>3NiqrM8jGw)Q7rW~~`8tCYVt>D~w&V|2et{s7J$dAR{yK~=7UenE^{`#~`JqpgZ z)J`2m+&kc1iL6k}&u={J>YnAjQd^K=#`SwWBJDL6?R^>$J@m*tEnjzqRqH7i!cGAi zgDbW~#(uPaE)|>~LU*-yl#)b|tpe3Mun{>wrtbzdv3K)dE=4-oSRY?!$YS|ra4LXV z!N!S(+Y82Ivy;2s#ZE1svYepuPK*B+e#WI!iso26JewH0#`ZIF?8d88g+he}Riccq zw`xKWy+%z9!gen8%<#xJ=`qB#0)NZuovnowuMhVm`*g2zcSEF4Cj$vn+NcW*C9Qw{ z-6nmg9GCWp{oCSN4uj2<*r!KFU4>zBUM(*zY-2pFd{2JF8S}8Cro8q=bd7uhkgi*5 z9#4SgPi!Td=d7DT*QIusfVl%`%VjKjHwgCiV>=UeI^&Ga!L`J))gL!jxK{`fk`#_0 zRiIT_nk>@i;~&D}vn})<*39A#3vPXAow4A)5?%N`9zEoE?c-5nTSK7N|59NPiiu~2 zU%7PE9m~2^SiAzAC-l2h+KPrQp)V({n=XIV-1Uh@%y{TGeBo~#ix$(yqW9B$8~-9D z5m^$}e0}(6Ny_qTqaCJ_qqyb5Cdc;pO&k>)k*pLTaCE*rvg|e4x3oIib_|OKnt%WF zkH(0XU4aAE-O|@wXwZbwrGC(C+#}bypiFv5S{wlzcp|r?B!X38s zA)F8riCC;fR1=qd^nr;*_7`dU~e*oth{RHd|ub`vRSY zxink0t{5#Ghd@B#+%Bps=apcz)7Q|SWtP58ziGmbw;!@C?(kAeycRTH8zf9BceVQv zE#UNWkao=(S9!S-9Sy-!`~533ZA3T*ab~l9H}>9O%K1``V>2^q%E7v!pt!b;yfbDC z(MnA*lpCYx`!l>dD|#;I*Kq=V$f=RrT-D)5jS@6%+tYU;Fekp;q3F+Q2Nq3YvEZ($Me-GAcXJd+ZQAs)(57-o>J zXB)jA__M4(uf`+e*c)`6n1wW-W2_dshrmm`#Ws%T??e;JIoF0CCz^bj-`6*M zuU_*NQi>d|zPfxCM!O42Dbmxj2X)<8g^TstV!w5OM9@n~wB8$6F36 zy%1t4UGG|?UGvrn+bo*l;DaL_1J%DtS|A9F_`cOJG-=nc+gmU}3>wvE%k7NQ2Uloh z%0*e|@aWX8O)<4lIA6o!kmt?@E~LI#8Q*Yw?O)iCVivjAxIM%4)1*J|>SrD_8DB4i zrGSpS7vwTFZu~9$PaqiYfUly_2rSFcgIDc=$I+x<;dYdFDnArIKVQ(JpKL_@9TA6& zIqAcXx1CFLxIZG!E>_p>QeELf)MdQwhNIMk6e10|IN2icRPBLTWjVe$^7go3oZN$$ zbmVeKZ97TnlSs7w7ZX?UNSN^7)Zs8>N3Yi_Lf_5K?Kuw0%!*ymiFovJ<797c7b$nynaS&+{OzPv-#IQMD+9vM&fQWV|g;+x;hFI)8dD!Eqc9ir-|2V_KNRXk| zoC1-Q+ZQdC+oZNlTN4{44HM)FK(_hwf7uG`8D2$BE|{xC0@7n%$je4I_nG2>+m_-U@Y0GJ+}5Bt&CvJ@Gz zWGDM54!;b22}H)xt8%Q>R}Y>1|I=Uoj9@}**SRj`r?H15VL@!;igUdd0%aAy#`h*n z{@{qZgF<-s{G|e|D;o~Tni-eSjDL~yfBmMEqaCoJwOVncV#BUm$3ODcv9%2@t3@Jc z1F_^}($2Rw!(?8#*AqWnD+Pi(1NVlfBd3_I5+Z4WMD*yjj2UZ&d;#DU7da z^Fnm?%xdG0l_p%)?RtN3WkAb)Vs7er93>-b&h|=bQn`6IAFQWu_;yXpt^=$G#F*37 zSx53^*$Y)Br^0j>NjuwX{Lan~2Tr~@7+q{RqnXsXK~>X(_Zvkhasrj4(}{+=E$1YD zPPMyx6IB&>%s6K)#CXd>`Rpm75GBRw_CVE{GVhw~Jki-bA{`y<4;tY8e(4+c+pF0m z3x#zrxolW4Fog9j4ZTk+AjA4k6r7)&l9}CdJ;#BzPM#Xtu6L=C*?p}G!TZE=d8Qgp z`lj4iImBU@Kz4sbtdBH5|32*nXHIJC6Gle~iK7ikX0vF4e7YB>=%2MapDa|2Pe(nY zhxYl!Hnt^q-1gSalOy_Z&eZSW9zV)A*}#%W9m{z)(Q>`N)*^crN$g4Dm|J`4zw(lH6~s@gO01NlX7*{C=m?`G;UqlmD$cvS$%i@MfobLeQT(#X5qF7en_MuNV4|kln4Lb)x zzf~_W*Y5g`lgNOcu_!sg@rEcvkjW31E7yAMdk-GFPgbWOdZ(-y_dEnWWoOW8DLh?c zwPixSv$b6e-;LMcY>Ii|e}>h+irkBGeC*a^POyKUVUKzx1ToRFgVM{v*L|a|~(iJITp* zuDDE6Nyr@$PBb8g)ZZy>YbT74^8q9~K{ng#cX-VVv+PMsi z$$F)gqBwEQtAEy8dCZ9hclyBA&`zjuns8loYk#B((R*>>-}=$`n|9GA#D^KxHZ{m7XEhI z(T;5Rb$?H#|8%(R)lEo6w`G>W^JKl@4q>%YP(rB^yc(RYT#j#o?tHLRCFul!1d8T zmKr$Jb!S4-X7x4GkN&`05Q5>m!LEc12ay@?(*}jy-ncUPBP@e70P>K!a-)Kp&NgSH zKQYeGZvSPzD#pb2W~$-n*tk0^=?As-lvs}I&N=EHDU2eU(7TvJSIqoid`h|VgLE=7 zX6s^*CW`4yTKX|vFflApdbAIH?nlgwLnP}pnwRr9J-Yd@%eVQ}zpCELjJ5DD9isnUY2DEeaP9tSQ%IR6OZL0zBhMk=g0C{874Hp`4hit8^mKgs z4(}&}{4eg1--3C#_<}ik5Bo@QZc8V|XpUlkd<5r=`PDGA%@?PJM-wiIJhbB;A()Ms zAZuEm+^@daNZTQXsYw?phcO)E>CN-({m5_~OV3GjFEvu5hxHT;%Z^ohSM(nC&g7{; zX`Bh^1m=zp^?6jJCN42rNh!!+rY|$sLd-bQ9!_9K76YW;>#+UWXV!QEX33+^Pi z6Wl$xyEC{;aCg^10)q|Q$vNlue?Pq+?pk-PS@Wg4_uk!I-Bn#(^*ldQ;>)olhTh1P z_7Wa`p$C0SE!Qouc_U)__na|ofAa2dZ?5&Ej62p9STCPK44=sBP7uZRW?S{Eu=!e0 z*J4BaQ96Jb87|;guLLq-LA;iB8lfReD%b1jVppmN)x;q@P3FD?ePMjMtIhoL-RrXV zja7Tu>A3r3qoT8b{;`~FiNg_GyfrHOAX-Z_u_G$8=1zZ72yYV6w^oy(QtGc8PgI1U z=(0J-_>_K@m`&MCxw8m`4`4LhHBr<-1k|@wa7dC=)YN(C?>;y4O&Hun*K6`Dt~}{| zcHC$D^$;oJ<9fm84bAfAUwqQtwDr4hT?IWC3xL|Jdji;ecP6B;a78W6%Mx8LiTrs{6-=m$Thh7??l_ z*jKRstKFsw?^s=o@MBkwH<)p`^$2Fzi0 z`*i^sM6_yXJw~g@dI#(W=1H#BvUTfkvh%OYo)D#_6~i=e>-bfc3gycTU=<1`SIc>6 z7l9pqb3znzXYh?dlYYK1{Pj75=jCv-qjo95?vT~>S)UH6WV!@+Fkj7V=3FdqSLJ|J zBcJ80Q7LRW?$v6X&XWVhk=c)ieI5G#O-dsh_?ECR{?+H@Y*9{x7h_SGBTRZuXj3W{I(?1}h0;qOPD)7R)iWoryc!VDAxh z6z)gHl4zrOIvKg7#=dGt>n-yIihj&R`5j&i^D6}>?)VW~xGcafX64DVNO3z>5l%-{ zIn-hhy^3r9w?NT@=OBd0+s7_82Y=Up#EVZ9jxT`Ek4<^NU&)8onEUus?}iuCf@LiY zBd}iD6VIVsuT~>1dDhC?@MD9&)peIY_M@LqdOh*P8BodXlI3JL2^bx-`4qVJG=+-b znrfPkoe?-?gkC2?)PqWvMz;Ckmin1Ro!0_XloRy&iF)V@shWo;Z`jE6=+)#3arzGVX*j6hf&r^667D_t6D^xmh z2lHR8NQTsNW$2?bn}!Xw{%ISuECWD;f%3pDI&@qO#`-_+!iY-N3(-OQIg9qcx7EjD zb^nDEvJ}2a%dl^=ZVH7$XgYfRvx7jNvaMzeg&@}`kB*L>xD$oG>Z{`a`jE+BRoT8? zh12sM`X!(LKket=f%tzjtTy#RF#mR$BdY@jt8oF^QO|5_EJ_P)?$rWp==b^lZ&p~x z%-~^IIXU5AZoTwfs-a^#@_(aio8Q<41#9{XeDfF67u1Ol14Y@mjdt+q^XPT(yUBo3 zP(%|8u2SK`iFqtj{oQh)Z#7;RzR{z)ia3y8|85# zxl+L?%?hn60Pqf=1E6wAQqehu67%T!LvAIhAN~prNAQ2r60{756@Ju5_Huc2R5IPI zc3B(i%QVJb9RYo0P)f}I)#|_RgfgSP+#0^RQkE^A>YOrGwd_Cv!^kPIaXvw1XdLO9 zR{h`3C9_q5WQ4D=Oy9zGlRfv4&Dn6(`a>UQf%ktB6vg&Kvr^}l75arfY7*x-nMnfgxlR?M*SpXE9)Lh$QBexNc zkO}GE4Z_&sa%S<*H(w~W8mY(DkK$~flUAWADDpA+B41ocZ`ppvkYpV&Y_41+I^fcxuDHRWh&*FLbo`YiCuC`08DMmHPFr85_G#st5vTqY zQx>M|@iJ@FtiEAO_fGQ>EgwlOGlB)pn?UxVBjoYOy&^i_$cImFkF4sy=k83XZD3v2 zM~}QaPp2yqvW;$meV?J~JffAEK-UQqCWAcEp}vObjUHv#I~s^9;ldLfh6(wq0DKw) zWg4QWp^9{tTA0wM z!hIjnIQ<N0=w5x}f-6M-wQ5rZ0o%83Bb zMr-htZdRA&> zQYX$nw&1soNOj?e*J|gRAj{K@<0a>=)@wOq(`xNP@&0!>JQB7ECm}YkQGzpJk0Te~hcG`UdUrj>-~Ixeb$a zv%F;t{XJp#FatSveih~Z5>eI6v#!Av5^Op7lXP{wbK3BNZgfJsLtR|*<2mtm^@qM+ zR^Dot37hw z3+1xPicHb_+0>X#VpFEA<4Kx}E3VzW!(9yKUsSEU>sLEn_MH-W?!T)Pa68`sKhLf< ziFBT)34oq^a5Zf`R#!Kgpk!9eAo%Sl@qfj;LpJJ4UebNdZ)k#Nv*W3CJ;=+}wr3wu zt<`)GzaObFNlYSs9%W440Z+C@g5}T&R7od<0Y~BbHEKJ#yX6!9F)hD5Ne{8J@ z$(_9*VhwTM)GgW{DrYk^I`Xi;ji=B!<*y)c1@T4Vn>y?Viqq)%F2OqIC&=F<1mUda zc5dgnyOp2mJu#ASV+L%*H2vzJP&}idQAzX-Z&6lsWA&>wYS`?leh0x{AVXYc#%&|( z;MnwrWt#_0?KzZmB9G4<9bFFG3^BKFWnNu{TY@kA%~tEdwi|6Xt&rvouhqe)3-2-A z&Fi~npsAJB@H3Wtu{P#cz`vTTH?l{N7wQr@bk2ENgQAByWkEH9o?FkpL)%UzBVOf< zXqLTYozPcFWThYMtw3pUoCO6XATm3nx%x?7jCJ1^fZG%8-$bz11p`CmwG5!xk`Kh>~-D*K-60c({^4u#M8;V#Wn+X zRYfUnMJ9fj5VEC2#KX9(O;Qb05Vr>hL7?~>njqwJlfy;=0tAv{<^WINKyBaY^WfvK zV^I+jYowa$@0u5;<0Or0LQWJ!XnfQenr%&R3ev`dSrfU`)#V1hTL!$+mt>UBtbsh) ze77MbVT|L$pSa8pJ~8L_bPhb!`>u`52rI?C-#UPcYi$enw}BJ5;wl^$qH$<2)pE1w zH0CXD%^J9+f7(Z(61~7PZ3yd|kh-hfY5&{_Uwj6KHXi+^R?IY>@of|2S zSFXAI<^m4OEPCYukX$X~zR#5c+<5}qJ@&xHlJdITGa5deK!`!F!C;_2q|Ma?9>tRA zU%j&3e|cMV(Fu)d6!xEmqO%|%ATn!1MtOiImdskU8mB%TTro(<6sJPb7JKHj9}ld< zN?d4c40kyMlVF`oGYxL3Zqj*%S!oirK!tPA+k?>dxUT{pA2kw}YYB(Hr11H6@49A5 zn`_q|ojGhFh7K=8jvrkz`~X{^6qZKHI?*`%99TOM2O4K4>wPnlJ+mmU3Oqb`UpLEo z>A1_frV=qZ;P5>Xwb%nys~;S%?tS1W7J`LuZx3^Uo*(O{XixF$s=?ly3YpphNav@- zpd&Tjekg#YR+uBv@x4>j{JriuLMVh=%@3=W`Q3ma<%{?u?88r| zOTyk4??C15CgQ-(C;LA>54@YC3GhAc3?@laT`tp;C<2O{-)s7R0}gk}e+|plJBRx2^)`9E!N{w6NHD7vH$q`qbmi?XceDJ4E|(QoRAWa5sb^ zidlhUC1FwiXYg;svBuWRm1aPBGZ+nD?WZRIf5bzE=0r;RQJR(on# zIK{|(7ss(gIlH~2l0M;yc!L%}Cur$yZHmgmVn;V&Vm@_ZK#i$5g{HW-brXdZ$!S4l zA8xI?gO`ft&YU@&3&W@qTi~x&x=C$Z*Wy#{*C~GZNTm+^W@Gg^#{;yu2Z?{E5Eo7& zh>grlb+?HChQ0^kdko}nK`1qWV)5#~0>zPjq6v_HyghaJB_tTHKvi^|(feL(7sCF= zVqA)n>EUuIVcLz)qQWGJFDE)$I)i26eYgIe^RNAp^vMfiQQ^BT5GkfAa9W2V2O-B6 z?Gl5ILx7?;XCJa+ZoA)nr(XT+wJ=_;*@S?LzaoSyhj~s>(~6STc7)Sn*eMKU3^&Y) z_)s>%77Wr%juus1`2Li_ewyP`@(zcBfTU7DwK5px0CIBc(0UTznA867G%z!nNHN&ws4=CZYu&DqUsXzo z2|Rwn$sj3KamH&Pz}K0YJu=iOJxc478NMN@{irH!?!uPI{T_2Tl2p@x!!u!S)r#4E zK6GEY=z|LD8nUm-r*jyFufuaJ@EI|DUSjSt$jce^INnXZRqt9NzoviY=#L<`qm_IX z+Saa~E;K!XP|EM$7E`pxif%K66$WT}?apaJ25;~*NfidI z1q9VSQ!NQp==omvSw_r}eVJugXch5_&;}_KX1&+0k(7`FK&h5;W-!gY#_c}f3Cmpg=3=>!l@_t}FWE|Ldqu<#& zOoK=Dn$&n#%N1El`N+3)r{Shu}AHB z&S{2K+(uMsc@W~2cH^;0hVYr3%s#nFHHmAcis&k>9sGW5jhz}bFT;Pv3E&NTehIg} znh4|?H|o>5Msy7n18cAZO3<^KtttdX=+)QewiUZuk66Bwc{g#FW=OAw1T|LH;__av zyWG3>M>Wl&43NnvVq7 zit5&;#g6c#E9b#01rrlWOTlo{t5Gc0?}=v9_RzdI7=Prx@!6vSkKPccqFbc6XqBXCXC z1p3-^ir`8P0j@po6Y1ltsx}=?`a!kkmrv50yfZ(20^>@JBY4~}dne!3@^2`={Wf3- zn?op^#cz)8lMb4~(ACQpKXVZvnr8u?Du}!;XkwtF3H|vkk@NDW_(l-q?IXsk|DO+F zXs~3n{i5x(+z`S**K(gJ?|)?ng!_JOuUlH;7Uyc<@ncCA*5;L^pZc)=ak`1}dinI7 ziCE#wmx_s4Z`7eZ`c!(J{2BUQ53M#ThJrU9Fm|nO6tlCv>eda<{r_(3Nd5 zVFUB*_NM5Cwm)tPsc=)X%y849=?EOz^oyfkWt8?fzx;>Zx3|5Vpv4p_=YZ*9mdz^q zxw;s@!(bKDQV*|P!WXl%qc($?REA27hj(kK1ht{YF_ydetRYt>;$%-SXPc--Y}M3%iwf0vnen z?i~jz>VP%psddBW9egb1Q5c}MEQ0R`+;wE2@oYm8SM(B3<2Yhk+dDZq?Bg6d&yg3&e9|gxw-`f!&Sd6q0P(SKQrdxq-msT z6X&tV!Kfco@h)CI6rC$)VgUO!rZ_&avEFGJaf|rljRS@bD8(m64sVh#ccnb z{`tox9NX7l#w~@NkAfv`4x&0=vw+GL;SNK&!L5$3<=!~N(vE=>Z@By~WA)_oOEgva zg^vy)(sFM*hmF*o3kqr<%1R#AXzOP^fwC)JUVFGq1L5Ugws@Vn-pAXbiV?jZlaRik z%y_+CAz5y~5}z?1*8Et2$+9&^ntaFN^Q757Duk(tID1}+B8TECT8;7p;O5cIn_pHP4mGHE~h9_s(O*j80W8AG~e;^>=b+EnjFb;ec znzvr1h=n71G*_cbQB_C?|CGYDeAkZUwLdC+_Z(VrZZsW;pclyjzoFV-B07cnOZ-^<=r9xuy{%@~!NlgYe zue+@#%QT~6ph4DjH-TPP>7{pSSPy3a5N0`Ul13+c=(|T2G}Di-6wIf#86=yG^VUdF zrx;X0ypxWsa#6s!m*8J=HOfsCYpH7)Q6`M}ELqyxFAV}Ar=o$r;$`clWmGv>RKQ8E zLYz*Krj=)svipxYDrVI!!gHsI$vqM6r%&nqsUutS)6OJ}GKPgo?ET6E^;O(=-#X|t z7}>tQz#2Zzq&#kt{QsPzk0x_a$ZYRdsHZUrN8fKdDW%$XzJJccIJRckl2#$jRvg?A z1@mp<@E-LJ$QEz2;4fkSq$Lt5`=t0NEO{r`-$D0%X&c${QpkyNdpH3w>&K0geW1?v zU8R^HY)+PpjGgxfI%v;$Zswi3@ia|VpvUi0o}Tk{IyL)gneZdQjcz;47EmxF>)@Se(T$(}21{-FRJ!M>;2)we^K1d^ z#EI6~OexZK2ro-V6!HT+CP#2wV{L@mw+@;aXu!dP`1Bs_34Xo@22^!o>1CZ*Q#5a2 z{wy`zSIus8@c%N>6lk|$`!cG~xH6WUc{{nNuL0oZvF`xAJb_ZojJ92*{&igZ84z59 zLg7z9X%Y#DNxXMMn%&w+`Y-9MZJ64BsuWpdX~H#aM>o4XnG2@hh=o;3+0Q<_=kD*- zFg2Gp7CfWJ$5vOHz6x7J+&SSXF}Xzl6c@A0@Wc8TyYeCPK4crwWRZ}JUXP*H%$O+) zDYy42dc#QI4Y!6WgDpj~vanU*fpbcHe&^Q2&l1(uOXD z3Br5WGV6NxR{2u40j8H(U6!p0C}xBwP`-|fa0se%TNO#`Ege|^Fbln|?OQgltULIg zW~|$5wo$$-{`l`6n@6PjWCJBmAO@|Luy;5?0GdpC%g0UmPNHGLS*&;r2Uw~cLj8ei zr8%%6dJR}#bZ=VkS@xaXTjBAe!w|JJBymEET@I=rzka3ZN!06i_(K=Nbe*Q26VMM= zr3OsY3eif(+qk0R*AYBJj*OCf?XOAbhSLx8xl5{_ma5jhJ>~fMpp`cVT2v&TC4y@b zL$Cd_6R()D_OZ)VTVHVV+4a8RtlWl*>d>TXb$kMl{Z5-VD za(GOBKj=pit5pMY?Wp5# zV-c>oM$@#rLzxqaMt(yap$1{=*t}O)y=BmA^~~u#Dl!UFj{yijrH0D}Jf5OnO?Gv8 zl{`cl3k-qWlZGY}tj~Q}x>A`Gfrfka8E*KE+c$o$QeWMzbAHIhut7sjjVW_>&9_+T zVUEn}flP&tPIWhk-)CN-IBDKV= z!|a83cEN>C%T^nNjUHhd1h(Bjn{2W{jo?;B;@0FjP_2z{y^@;y8@ETCQ%P9NQp3YY zc)Z?SykHFP64?A;9oMX9i+P9cDj*C$cZ5vMfcxa*8!Pu*& zW?V-3iuUH4x=UFcx06EFfa)@{-+7?wndD=a*EIfTX?#`tf|~W< z_{xlAd;gZ4UZHOC(OHm#9`4k};l?ImyI9eEV zB2RJ1%nXnih$mSJcd68PN?X(um9@W_ijh&ho{*Zly}0} zJ3E7i-(fvHGBS!6%t*a;!YEil8R@bAEk&IbKT^H(t$mRAhlg>7p}`FYUMc!qZ1PcL zX;~)e>X0xke|)$FaT?^uKkGj;Tcee-ei4ixAcOEzIS{_|NIFEwn`#P}_#Py`v($A# zUcP%XP~T^_%<#&U$*ATSa~lqg;+F*vn>G%eXr<+^=-dpeyal~q<-F1Z+>kNY=~+=m z=$ctS9c0pl&iot?Eu$IKw75Gi8fout#@9%-$gWRc|6oQ~jHAGQ*RE42Xj*Ssqkr-fE9z{-c?A92f8RB}*%fWJfisgSYeRgTm0m({Rveh<*rVEWsg8@s$c zU@WAOHlHZJ%yAop5KIpTvk_71LMdtM%8y^6Rrh=bzl)s!hC(_wXnsUuk^k3t5{Ew+ zae}gkLY=tFy||HscB&WDEh0JkrK zcxrpqB`N%Xwt|cn0f_E={Q%au*yES@#`AZc$JdUWK(=0B9Go&C1Ca5T7*-1_l5Umf z%AL}Mm2m9(xo+NDkxy=tCCj6GBTIR7E=gt}U!_y%RrHPKC$Vu-DC6b4&1XfUZO#Jj zRoK55t3j&h*chIFj;5guDdk_XfF|cg^?bry27io=neFa>w19O5r{Ak2m1@8Blr^6- z4>ob#+9>KcLD-~OBx7PPSoRE$O$$A1dz9v`iN8Ol1T6-~Al#nBlZ^@eDAojiWzMyu z1yI_mn<1W-!78y|#qrXY?{367I|r{cNPP;BVv94Ggl4Xx`%wLu3d|6sMSq|XSLUHt zJ$V9eH14MrPwF>ar!yLy-}w2iiGCV0;Ptu}06#nWm^|O6*lD#pDF}e>GXUaK^*T+U z2Uz!)y%#~yLfu(}>#61^gN0+ah)D^YQp0?mWD?Sx`$e)BBOj;u@7xu-{ukFtB7oro7=~H*IM`>809_Z{ZDMAB=}X@eyc(m;PXu& zlnv)*N<>7jk-X#izdK?218aw&7?P(u5E&_vLHkLs-XR=+VB5v+^gW%%_v^m>+Ig0n zMmemcJT--x2VtWrb>}{q%MHyU_&`NY$5mV;f{59oD>}*{gJ-x1g$=P+ckkJ!n^~CK;u8Za8t;Md_^_~OK z;#E(_)8tLaz9AXuhw(_k@n0wE$>y6akOk1X^P-XS)@A>_8NlYej4La<L- z#-LEO><|<5)^O#5MyX{-7V=iI(``vC*A__Qj?M;YqW0~u&9V!_9_+CiJYuf9gnO}A zP#{|8->pR`I^f`uk}y7$gd|`4#ZBnO`A6pcNn9n%8-{C|hRf@3sq}Ikr(VtV8_Re< zjxfZ#y!r9+iBPiQeym$;9LKe7-8qHDfS0??bkSM2S=b)#vR0Z7iG`RNPUr91DT6Yh ztoHZc&jgR9FzanxGq!cdLOtOVhxuztmwp9`txUR7OgM>_6h*~7 z)LpfdpcE3lH?dEyQ$wX>xRg1w2u-twrql+31H{LlzBAAtFhGnrtf#dX2!?Q1p|*q7jG%8?7}4$EWT!WohwWGgA2cK?&^c7bb_>9p zRShqdu4hT^4tGBGW;K4wfg01+>7L_AmbR$U`8LYb6F1!D6&rM*7j}@^yb0(L?8q(bEID66USQy-u)o%47+Y3aws82$A70{wo$D}U-Vm^#&Zh+ znWmJ7gvwRa;2XVr-JI7hMSE39g@C?^>(#R?YkvQj(Vp?rwrU(iK0GTDlh4RFJM2^j z22XS>(SSfZl_X#;|BfbY1pJY>Flvi3C-CuOSKu~w)9j_zHDR6xJr)3gSWjwibRDl} z=g#Q(4gedhr2Az*ZSAt7+Nl(wr@5iTDo0-!oA^+_qt>z2~Ez-_X z05>!gN*4M)FKus5R{BC*fo{T0uhST@J(~_$j_@)6tSG zOnTNke8(<%CU;lZ;NW9+@~MWV&hn~ftui9Z_upj<+WP$w`h5Enc%_;Aqu?rX%vz@u};Nz zITa;d`-x~pae3X;)L5W>qPgnZFf9zNRXW_ChH5UNo9K&~f@o-;^sUXks!)J%hf&KM zPfF$%QxDd?do{R;2A>!NiEja?unL;D5yO9kzIG@)p$iY}nfa^nueJv?eZVpnERx-z zsAp=ed-sr@YVhH}({DiPlt<+1KCeKATe!{h{AB(m1sYY`b1*1Fy3yzW8s7RHa$9|W z7klvsYf&1&b$Uyivwk%pV87V}I8}pVjH!mH)W;zqdzMCDJC$3ZhI%5&>VQPZ`|C z^BA^*BcF*VPa7YtJ5`F>z%p@DiITohbu|0?_^3v9+Ivecu00-a4lq3>6mv<4)a0x=#;p9S&S&WxiKu7hrQk(f0~P#M4&(YlBBmK>fi) zMr!)wLKc+5;6_iV+*-t1@B7Ul--wjjE>%wSmh*YcW7(#XS!Pz?68igVb|)VIjD9tf z==nSggCX%UNEJ?m=h4LYKH^%=LfK04{-Z8fxR}4JXTKWu2WaP4+|)Oqp>E*vkr7&< zW1y^9JE-)*f%x$34kms#VR_=4q1ECMivH{At~$_XNA@(X=Z8*Z(T$IZ3FYGkbSZrJ z_BU7_E-&C~@$9*q^7heX$4|!cmbKX?D;!dPuPiDj4@RW8sh6vqG{r(HlA+@f9woNe zx%7K$)~XX6w7%Q19%`m~cB1<0@&2=$c+IHkX`ksL)}Xy^HP2DXFM^=V;=p40wZhKyh6g9ZQm zUfYh-1DMSy5F)Nd@XT#HN4XFlzbLGs3qkbT-u8D|C~TsOE(|AN6ywmbb5x@+ALa>3PI@M# z3>Wkf5Dbh<@n=afwYBEh_K5*~4Gr~rFITOy2f=d$>D$uvE16J4;>HymvpI2JDVv`pLY_wDp9cnlvbryswaWw}X?@T> z+XcsWQ$8*J0-U|$6tS^9I6^J_1 zI?bdtAeV|#xV2T@9%j2Qba;AZLv?9i<=4eM3dX_<-}}6)@bF;M8tvp2DV#T1J6^! z>JU|CB+Sq3Dw-LB_(i+bP@eA+SMS?l2r+_b%|TZ?=QZyt3;E%cX+jvYjzP z9ljAJ(cXKF5s~DROpVVdNjX#_p*}I~>pneetx%1M0h6=QcypX3Ky>T%NfoLvfXCrO zZ;p0uCPe@jTE(mT;U(!M+2&A-GErp}eD<*EzES!a10B_+?csh-?WfA54_EwnHGU4k z28bIMFd`)kXwPHq1ZP~VVc!2X_iqfRAC<_}FKYye+0izJeP>>?tsjY>D{{i>md40% zFjNBi=?TkaeOBK5S=te6{x(+seRXsqSi%WqV9Ye&=g4ZpZ(CRf`1K?@PL!yMAGXA= zMddPpXofGTu|96};34%}1`^n(+1V49wpNX>#&pRj}uVEsQj@xMkcS@3M`w+<3USiAeK4dSxE}R_`LtMVwxs^5qV%#B2J#8 zsLN@ZYrdyWfmHwV?}d@d*CljlnGk~O@2XlW;>k3nZPVrcb93y{6245FN zcQ!e43Hn3#7DK=T${99-;RcE+;mQ0m!iWws_5pB<7RP~%tgINFJvelTR$yIlY_7Yz zJCZ+W+{qG;(#4Jrj0nwV75%mco8OAHPE96TDgGg>xD*81k9Lw#le&r(`B z#r_CtPf!Zo`;~C(ktz7RD-@hq7@VX=cp6m+{bJ!H2P?1JF@f=1hSE*mjrzJ)dFz~9 zYS=Fr#ra4H>oQ6a72}^Htsit2=FM|&fuR`9?dwmZ8=0rinfqglOoj^=4IG6#7{=wZ z2A#IY4qf0w%}?6-jT_g0n*3iTKasr-y?Q^hL?sM2}#b0 zOS^V5SB3&NZNO!nj5rb0euSgw6+A?{C75*e^LVa_(;{kkd()th+Ey_?m42|jv0#cU zBt1d{`oTK zY1Yw$wPK~c&%}loH-5&=ouHLHQwJu7CoSOi1tgWjX3izwIiUqUGNag3-BH~VcNk85 zMD%*|j#~|v6>r0yN)$e&-HH9-BCuAg)ul)8^oPZ65`bl;4U*Q0n6uet`m}U()TA$P zs_om?c01wa>ts{r;_h{5(xW9Vshy5LQ={CqU4NXGB9=MTMvfxUfHPtoIF zPG|qtbbxTLp}xV_e?)V?r(>s}y*e3@R*K7;m35(~)F6gaZit%W^6iEBdf6SrDQ>Dr zx6*AJ*6fg3ZINcdGX0ZXGixgjLNg5JoA-*u5X~iD)ZJlA?jO>m_z!c;*R9PiU+No9 z$~2kN^xC^EcRYc%89f{Dm7nQVo5v%~$R0ivxvemG&u;I7DDbZ@tnb~hf2J?pViM6=Wo%>DXGcS3hYl_QT)=WB>e z;+2{D4NY|fv4x+feeLVJWf?Y95oKOAbJkiUoN9PO| z5&;UhCUr+1bH{p4FYwUF0Ly zt`gEVAn!JcokQqm@RjNbKUZJ4I#D%2RP5$t-PMRj`8p{vF)<;bC;bpkkm`TwNIy-o zS@3f@36RjE$uiHrm@!C*2Xx#Ekq$}FgdjdPIN0qdt=P-0sYO2(wowJd4n@f?nD_|d z%|@Qx+Vq@8jVfuO^j(f&&w>ZG)>w>XKgtctlms>`a z8X1|H={D{L{sXvxWM*jQh<;Wx)HhDpdaXHK6_Vrknn8!L)~MW+!2ns1D2+&7joQjX zahus~b$;!!qE?1F2mFw{Ntq{77Znbzw^Pmbu+^%WSuQMv3zF1CC3*C_+IDhbP_aD3S`qu6J7JBPXZrg%HQHrtO zzx|u-gEU{E(^%rVKPTm^cHpMNJAuuZc~c`ZVKCT?VAZ6 zmcNGk34Zw;>1^f&Uv`6Q;CiiV{^QJSA-BqLO40^P>u(hY;nf?bE78)?P|V~H^hHil zb*CU3wG0p#U?Rr&$rIU6NL@xaRC4M!G54L{4;dsx2WFfn^R8yi*sw}B!0DY`+Gxbm zqRH=cya_1tTgStJ9rAov;FL(y`G`jQxkgyk;)y(7CVUdzTFnJ6Sg_&qEqY;S#su2w z!eJ{j{d-2BZq}WM&+h3VlkQ!cydfXIUGYUT|cZkjFmCAPfmO?i<|0MdjH zES{KA|5H)+?(O5p1bQyE<&`=+%_7H#YuvC-fU=w|$2RAG2{*q|5q~E!YGyZXRro%E zg&TLnlOi>gQzC{-;~xv@p5IF}G8VVfJyK*2c-PFwO>Y(W?dG;c6RETN^CmWVabs zR4mU(;!@VSx5yA_ghT*}@wF)}XrX>(;}FB=Br*q_)Qq!ZR(@Nr2|Vr;xtXlGaBE+O zCR`UNU_2k?A$ANDho?tBIzW0^CNcyRhgLt9s1?r&I}D8CTC!}kx+_-QJ~~h7Hky4d zpOr5D9M5j*Sw*(mblxRH`p^T5!9@HifXnw`@6pliF9jz-EnWc*RP4&lkF&<9~ae;D9~PQ za-O>IMGQqigtFat5c1cNXEF>M#Qe=f`;{s)3Xg)vWYE!)aj2W^$-9^(tRI#+gG@Og z+*Lorr4*k;5a29fxafR$Hy}C9w}_BC|VyxrZkt^*C`jrx2ZftMe96G=V1~$t$-R)4u03+ zq1ir8W%D}qF3X7a9#c|>71oWm+eZ=0-$*>QUTngS3y-h;(s<7dZ_-MKWa+QAi=I36Z|6#{BoC9Cy~=s7iJk{Q&T zNKpq;2yNc+TLhYtgd`|3f)B~>hdE%agP2rfg&=3s;ib^DxGL>>1nL)U-cC%!fATFE zSSkFgJI<0Y?7bX^vPqsW&J9`J{dhnc9k{y)JOoj{U(~DD6qOAqYB3Mg=1pu3#rC#Z z`@nZCi@NpKkcUoND@DSAxH-!RAmM0$TC>r?#g_z2)R2Bt!L zq%@2*IoCZzMYSe}$$V;A!(mOjS&L6u5;2DodB_cS{_SY%=OWt<2!0Ebw;xJe7r}zK zu64gd{=ltLGTF5?pj>`ZnC|7(t1v&L;pRz~>}E-$BSW{4*ZvqnVs>x!({HPuG$c!Z zb&oYCa(GJ|l`N5UR^Jp}QkU}hwmW0Aga1p+6)xZa&=U^d+3z;AC^+TbnDNJ%Z`e}6 zBc9@mauI5+d_&5Wnf(=X0crSg?Mhw7qIbgs@uO}JO8qzKNyQLN5+Kelyh>sWcAF{=gj_@p=b@8;8==Rg_p8T+ z0orV?Vf%EGt+!zV9}-})kQ4+b25pNVCoL;GXWEGI+v-!D@FvRUkTHFzi6e*E{GHxk z6`gmF)Fd{uUZ z+c>0og3GcCf1Zx$F%9Q)rUxH=uLF^ckE#;DW)Xn%($v2x+#R!W>^EFI(~;v?7^7fd z&%ZI_6qH1}eA{G=ev9UODsj|8Qxb0(d?P&SE4l*->BmHi1f|655OMH*;GuS>W$S=q`;I_{+&!WbDxt_i}Q}qjSM!EX3oocsHbc{ly${(1=QPHOaPY0QSAr8qmF`BR z-(J4@A(i8k{qe6W71W;Ew=MH!EzFQLRR@=ha*b7mc|M%RfZU=h@m>Cv3V0~$z?l+S zV%bKjWlM4B%uiJX{d%rcwj#k1CaF_LxKDc*;?PikH-<#T4R#U|AeTq{>r~mS3=$6*2CCME>H;Qs16ZC6l(6)lpBl5@ehc@r<=yZ+-zY9^+Z zoeYZ{*Sm*hUb|~)$;oS53%T=Ig>gds%7HP0b&qC3X-0GRq^8dG#X6K5v(496r(zso zo=aEagm#D;;?fLnA9b#$nIea&y)ngHs@9_APKWssO{gRX1SyxE*bqI0pfn(TxDnEI zsC+m#Aj9CQz+8V(`Zhi(6?^zK)zrpIF?$iRbJ;u&*;mxJvELMpQ5Hgqqxg-+#Tt+F zZRnO>oIbJ&t5=#GQn7_64r4=Ohc1v{E=3U9VMPfmrDwi-=NiPnRI>c3?L>$X_l*?0 zY=)wwlDB;%+HzvXuGhrOrS=D<*e&X_Sy+aj5%^yYnzhj_3S(+`VqfqZm3{8Wl1#K- zZRzgqb%?>(j~ZL>dhZw5^pKf~_aPNXLY_`4YJR>fu~PXLbG+3_kp?16bLn2`i+7HT zH!B|oy}XueDQ*3K;BpQn5|K};k*_ErM#;aFSj(0wjQGCQuI=65kasmz=urNHK$wUyG;>;W3PD~RX*Bs5e}RKM0NTG%WOj&+$#K+%-MT!HvvL3HkLbmvr7t-rj?^FINm3Q;GTHL#0TpJH*RFc(I93LSzHQq zAe!#4-R5swpjJ4Oo~&LRrSbjp&-{hRc$w)~)<;8z*Z9KX?QE_Qt1T!6(M(qQ<;J<4 zEfZheq(ZZH=p|AwY;IL{-y-sB{+T(e&LRPwB6fng-4U~>_9E&jni#BEiS#ObJR_b; z`|j+bd5kgD<=d&qNYpY-=qG%(0=cK^k(rB^aTwzmM|F{>-CQXHpXwKeYu*YGBp~Z^F$nK3Oc#sh-GAw zuW;paHH+(t#3mF>cD_DvpmrjCc~Gsi68PDubMEnJ1H|4B@O>9g?KU`iv_ry#U%A7llx0u>ip5lnIM+7DU2B>15Lpfq~oAoa(`5apYlcQ)HcWCW$|e zn|$YgSP%>Q^_b3!^mg25R+Nku2V`t9mI(8#qmxdRp9bYwE|yvA*qq&;4|#%oChDpZ z-|>IkJGu{KdZ&xW9#>JF;wiir_uI`6wIGEIQfMJ>fr43v*42sC#e(i-PN4Ev_;9#G zk{mX~jZEkC7a{a4A~Cc1S{Gxl*ErlLJfxpnHIx&#J94-K>1QY*<{NqB(^k1@gNh$+ z0U8A*K>=R%`!+&F-t|39mNj^W52*4ETxV^=pHvOSp(6zKtI01t#9u`f5T%ycO`-z< zZVbY2LtBc12QG)=3j_A3N80RKa~SN61%#~3fj4N1&5>98G%xyCNl9+Xsk%^Z@T!*e zr`Tf`wX|+VdA>EJY7y)7$15?hygR}F3U$zQm-fcB*BbCci?1D`hxg^{pI#&{b^UBP zHkfD{jdLFNC`uXV*}cU`a3x)Fvvk!|tx*yJg(;=@e@P11FStN#3Y0r- zmNDgOJkO(byE+%rAdPxsh$yL+k+zohI|L4+I2OR z{^KTe{LYl0g8;A4eLp;m*KLJqPB3Nc&GH`LP8H%(`do@LP{q8c$1_$YYC zUFCmhUy?r z9qcgvdZ`bUQDBfhNgbQ?Vd+?mA~h$BP^y*M^6>bs_sqk7={;VG?Um2GMU$@XlDVeM zZWil;m5)<%+iuwZ_IEZGVX1~~?qlacdBx4-`@eTU0=Y>w0Mc=$3_})s%unpUzVMA}71mM0sA*`tEkX{|li~8`>{G2Yf2O+La%N&kiYRCeI=J2D zhD>x!$RE)*G`^;rjo@}qGsnmu5wHE@F}TTQ9HOD=7ZTX84D1&zzHsy=CC%k*K6VK) za+n7y$?c#J;t`ZzOorr>&GX9Do&Rr)Dqr7O{m)#@<#9D4X z=HGOzaB*1f;QqRtXdF4Pm~(Q@6axUZ*xqUYn*Y7 zh|LeAfoII6KK2`@Xa{l#v=0WP&RCB>HR+m|m~8gN5L~ywhMrOZ>V4S%$v~~@{}|O( zj(zA}zK&Q&TL&fYZqE)id7Li%9MvCa#%6js;n%tKCEkv9&}fL2S9l+5kV9Rz0b~$EllGueWmY+lbPmVYl`j3TRVvg^Z>^$X{tq2{lB zKo6u!nD=OQkTF)Q?{9)xr|DUWs=~#%OzyPXJKH#A5;8}Ql2+kCji zZ*zZ1q(Z=k-P<$4iQHniSll3M`PVC2^ab3KWgbzBcxR}gmDLXH74I!=^#Y_Vk~jpD z=6)oAhlz!S44kXxh>@Ok13%(n0gWLGCLDtM6$NGpea@?evxw!}RN2EkFBit? z+I}Ow^u~n-{Q$~(vr*o%TX_;J7+Pe0$-3YV&cfUDdO&yI z{c(?T{9KGTyjSb}Ad7En2>;)Hok>=}TW&&Un%9H(L3ov={woK?i2%pwJY0m3s|D#z zf8;QWZq4n`{QFlcVbS+m(e;EpZL|BDrj8(=?W$cg)NQD0sJt*mU-R*ZJN2RKLqG(c zdV|rZ<-?TaXXSFiTl_bM(Eq!dt~$wxp^o$IA~pee2MVFSA@`Mhi`hyps3lXH=v zd7@W4d*bMXp@Fqp>4u=$J#g`X+Vn_c&Q%e(L+;lgxEB&sM3$G8cV z7mB{g3)PyMn;8(=)lq;+nzkU)%1^D_zeCIEiEYr-TKaR>dU=PavB@;(F+#2>Jo@+N z5KgHxfh-h&$=Q_CwSYN_j7zWBuW%T%pMNjI$QiXckjI6Q~lY zKs}_)CLr^GsJy{g^C-Fsv%@vCLv1!VlMI*k931t;&={RHkrS}l4*^JeC7;AWVc!&(%nwPvfWLRMwLbTNsDyO_^!h|8N#Ss&8o=9`Cd56l)T2V z(ul1lYU{6S_Os<27MP)WLU6U1nHcHm(hu)sn_H6((QZPqotri65|=NzUvb8qk9((3 z>u6H771u-}tF6ik$;3u**Nzv(0lZ>~4{bOX&OlwZ{4EA+4Nq z^X5?Fs*Vx`J=7;n#<%Nb{tqwDH3)7FZXYg-HltO>ttShtxZR0UWexGfVrm*9_e~wO zudUo>A8CBA^|Ft>A(o4B8~SZ@Qr(a+|9DYT5EUGRwu>BgARsYz+z99upzO($6r=IQ zA{6jbF?B3z^h}z8k0~CA6DzCGV)o>g4O59VefZU#a(fwp@8&jNtWdygsJEkjd^@{e zTtDRYN$>&Q5b2*o@GaBf-v^%H3{)+-o11QOn2tD_YcjptzI1;~2{>-rikU7{_86Mk zxqoZQF+9JBDKoT|;?s?jVmmlq>i)+uVhNpz;S~aEYv-vq@_W+#ZVDB7B`s9QLF9s_WlKHj1tC@-&6RLZs!g zt&CE9pDt`=GNX~E95GJK&WNsxxxQKGFpm!Yc)~gecPp%NTA!mSuMGEqbN(lC)vMrT zK^kI}dIB}S0we53T%8A-wcZZ7x`Y)-#=JG1u&H$whngV+xcc@0PJg$4^PaJOqRL=u&% zG>(03I(1BV>K6pwMh@@#)X13f7^B?HxkOg?>ZwFq;^8sB6(BmwEQdJ}x&Jtv{>S6S z2;s(ngziej}SqHim907pIY*0ynNU3rv{@POuj)MRh#?Vxr2{=7_fwujk77>6UJRN)>%WasadP<-bZSLWV1@3>apcw@7W z&t%xUvaV(*lhL6SW6ye`E3Qf@JdB25J4>U-&bfBdkSmX_6G@FFJM&XSEtllOlG;*9{FZb# ztJ06$SlkFW3dE!}_6Qa=vF_AIvS?OK3YP1J1nS2Rx7blPRkk~k zt0Vwk>NwbjfmNhht=;|_?ZnK6wc{FNNbg@4-fA_V6Z^zrsR43Wed>Ip?p?U~{9o?s z`W#mas zri8O6c1S8dEUTR@%1T`;#DrSD61}Fs9x?hNy?L&ax~lN`d?Gw`i!J79!;)6@vYSIj z&z0cHVC+p}?b$l5J0TJx;*=>j5DMEKOme-P4N)vst2LR--|UYw1frF?e@d{M+ur}v z8I7kO_?7i0SV8Qwa)Vy)8Y#G~XE|SRxm{c3j2lrQQrM~OK%(1>YubB z`jCA%?-69QZqE74(%&51zLisC6SGgV>_V@};Bx*?^DO6uCpNb(frO#r=ieMEo11NU z?7BJOx7=BD7`xwE?*QWm=L}2mIZs83L+8fdg1#ca$Omn6;&<7x`>`uop1lLT`0Y{s z@lu6h#5afdBJI$K2+yaxC~2;R~`|8BXp*s5DVg8nMi{c={>S(>c-`0?m?sIR^5 zQ}_e9=NUQg<7q_DPELu&0O_-365P#n>+!BRos{o6dTcwAk&}P(6CGDU8;$*}3PM0v z=5v+C3Ybydg}D~hcLmM21*s1QhLXgU%I|~Nj~$!u7OxtQ-C>dOxiF3ZcW><}qzl*bqi+hB#X$ACFrClY6n!8`n6B%5YjB*YNC>(C3e)Onx%sK_YH8is|5_~884Tj^p@ide-(JpJig-Z9uGdH=u{><^K9js#ykL%-?kqa?T8cH))WD64 zD1805)HZ}RfN}F*6KVWt>t731c|wZpRU&nA9hk!EiH~%qsm!KRX3I^<+s>h<{j|+$s;aoFq&0<-6j>mL z>n))mif>z68_;<~cXZDEZQR z>}JIgvA_*bmV!GxMI$alNO321Xx+G#1Ft~dKCFRv66n(bC+|wqGPA1k~tAi^F zE|;^0s#Yj$boZd9GQ;H?8@y_84Z?i?63K!9)6)je@noenOFYg759`KI74&ny#+ta> z`hXz84*{#~BOTQ0zbPl8yT9AbNqy~dh>D-_=Iv9lYIXQJn?gWCLqpG7Xjp$wTN@j? zu0p;B4NDSOFXfqLr_;6jdpArHE4*qT`wY%OEg!AE9>}VK(t;pW5c+BWtVWgp8n*9H zulzHJ-Xf201@zTHv0|_BVoW>|?l zHE;k$QtO(A4t-#c&hybNuD|oVA>CdJ%l)uwnv#-orb>z6p&glbq1n^(rGNiSQc-cS zMvWDrsg**TLUr3mD*>;`W}p&;hg*hRsOx!DyFJs5b@REyIc2!NU$sofk3`hVMl_1& zX5$wSxe>Nmh*{+I{fVXNCWGGDa-|aW2Mhpk*dm1t2Ng=q9uMFELMp0*)rlRFQ3H%B zpk4c-8u!Ovg#TuE;)=GC)=T+@Qax^sC-db$Gi)l2SJv8YPfbkpl;h<_QTI#b*be<> zkGy|5`vE9*Tbj?73yqfH+`94b_bk-fii?R6orM1AT*Z$toGMff&gdy0D9+8#&!7O_ z$aya>N2R@M5vo#(UtAGbFBBVWS$f6q-@kKnDSq|J$;!58M+u9F$cn|$sJnE3a4by? z!}Zl;Bms7kk(o&#@h-mfCl z!Qq9jv!xDSfnEuTh=gP)sjCle(ROrn9oCvx5XtT^(77Mn4ye9i0V{7fYBQ9 zkQNgc7sn7Pn?D3T{`xtf<92=WjpxR<2v_3kSGoiV;b||F?&hP9P3CZZ_=o~oIr$<1c z@bjdWWMn|=Qp2^yC~Dk*O=T#Nd4E)dK!4Q9#)jc#3nVvRML|Iru1uwfb;)TRAjUb8 zNq>R;vdkq!M^BV%PYxt7VtrPzJ0E1N`1JPkK1jz-WitLgoWgx|I6qy^{2o+`^+&|j z@VME$JE||yH-*O0`4+h~oXTrDMeQqXVzPI6I4}GCd#LL@Y?}|N78rpR6zuhl4ZTZS zetu~F9*gRnKYs+vk?^`-701WN2ciTA2aAb`1uMORp4Q4{q&^zf;2Tci`uh_O5!V=b`dT<;cp*OM*}Pv8oA$1M`9ov{4IP zEH8s1gW~lR6fBvBP%vs661&t)DK&j0Zv%ZwCC3d&6oc+ zrp8eag zZSkhdjpbDTA|34EO-Fr*m^%4X`MIdHQ$t7nolgPZ%^1jZ&$jfvS{G%s%Df^?bZn zt}rOuPM@!~{3a?&=-V=KS!UKY;?u8W#NH4Vr85*NtIT_wL#dGeZ=%{?ZK+miT~&7Ow@{9xsHP1X`+c5T zOE;hkrB8}qTvL&+fEwxhw_O)AcOZY(fX)4q1oQbd6x&tHI?;3go?ri8Ht_r&Bdm{5 zub&^l>;J!zd5?@?{O@<6u2K16cy&YRx?acF;<22$LyfrnuZ6$8S1hv9z3&QF3$(Rp z-xJeFe4r5WT1MhHGmDYsRVWiy^?r#ob{a2GbL1#0%^t8nG?&(JG$9$Q>pL9wWA)E# zgvq(pKA((ivi|nv7VSAanLje`GVln)?lr>cw-VKdY$XSr3mu7>pSs`_r5*;yR)qQ0 zX8M>MlHRK$eYtz_-}vZjn{_Yu%x|drak56{Qed8#A=S#m8Mr~P-V=AB7 zFM$8P&b;jLBXM-s+KlXH%UsC9S63v=8@-tI()`Ga=$dF>Bj2BeCU@t-@?lokrZ~IN zu_J^-;V5U6dyfq|ViaAE>zr9#!^iJf8|A12JOs{*aS&%qTe@t?CFqaC=UPAEB5UHg3ZN zM4<8O9885?_>M4lur=pqly`NW{}%oly%;rH2IIOb&8J+{-+tbZZR}7`dl%&4prKux zIaNgP%^Xu!L0J7}RTqO9NwNKmSO{YhDNYo<{tvm*!1qRY>AmBHr$p83$?Qck(X@#t zOpAD~2A}542v1I{gAl}eYJ;Hf`6e6R6o03V5n>WnUP+H);W{J;MiS+tx*TQ+jLEK{ z@ZX&UH_w!cqdQGCD5^8$+9p1QZR4{)-Z<7fg;u!Q<8T&Y)$b_Zrx6G35mb&Jaw>f9 zw8qPd-mVS35ajcmk&#)aEGgV%58v5L9)Bmaq^YrM6(`TO*T=rV&MmW1`-Q#RI`Dg8 zoVbg#d{NGy2LEj<8-BaW#WtF`G_pqnuJ1~ZONj(r<$bm@hq7d$2d=$6Jb@#9IMb&6 ztTkLbGArsDH)E*oG#@6hP*o1CXw@E*$BW`zH^d)DOxt!I1IJY299zpRzeV45A?`Du zdcO$#9--*5+h}Q`mQvZVqgq_sV!;^j$g&$@<1zcI*=7;5Frc+OV=$hn!85|{Y0#~b z$#7Cw=A_!MJ7*xCiK||b+;?O&BiN6?gFNUlcWN`zPy&yq)Y4GUc=a@2G4??b-5F_J zCGKh%EdcTT2!`>7k}<@Tz(a)MFf!6^ymA!rn24XEdzCfT{ci3~Gp9oYRm^m;i8DK_ zX17mUa5Ow_ii^oIru{I+DSc|a{^^!}TAkykNo88;z1Oy4e=y}qL;Ggqaoy-R`P*z? zbSy>QlL0YhNZd4Alyk=9gi>^&Wvb5a( zCAW3|HI*<#C>o#pJI8rm1WDvJo0|H*^L^~8qQ;2kF=^c5%@fa>Gxdp@P}m&-t0u!? zl$W4F1cv;=-35G@G~bGe2{*Dt^T};LESfT>f}Hcyc|l)(^62Q_D)y^g?YD?29|oYSen>XXHjvG+f^%7P%s16m6+gJ8DH-{BG7H?$4)yFKMW~ z3`iEqFei&sJevLtDQectH1^%DonC&tuRjd9u*tHV-uMk$(gikB4_i>p-I7~+{ep}0 zs;;05*#NeJqx80h`)oN?)61=?5{W)vOin&&j+eU?EyTI_pe6E9^-5S-(pOr3oD3o= zs;~gJeg-4rF9ApalPXPK6UQ( zR(E_^yGzxgG+*j+NP&r3HSgt7r1uy_fv7?yMbgb+v*xc@>@a7G!JH&po*Vi(gDCmW zeI_otN0Z4>y7a@Ibq?pa1y5M!%%AcN7{yBllcz|T@e%H^QZ1eBH?zUVOa>~y(@1r- zueS5NsiXDufMkYQq`GaA`lQx4Qt}gKNGV+0!Y)6atRIC0*u}ZS$1oTDiN@?im6ye{ z_%1KhP~K%dkz+!tf1yM_%9J%FKv@tdGW9at1*7OsC_08r7zGV&ULhHNDw$PBfl-!z zW$ss5=GlU=Jrm0q+toN#+V`_1mI@rCk4lXi`ZI>NCDYSW3UUwWmWHX{NO5FBBG8ha zn6qkrE6Ag9Ly?u|W5)e7!k5X%l#k3e$>1gVs3FAt9LW<4a%o7EQ$$P2!6UMm)l30; zVA;`=Rzq_Qx)`aR=lvJGo^+x*jUq4y+hNUkzu7A9h*>o^3LUKR{=#{GR}uXrxi-pK zLAERYicV;P5?)LhBdanq=uT@0U1d7o#ksbbOZgAM0Jn@(p3vItsdaSm{oSNfsG$$;Z@sp4s59{0(&tue!bAQBQlsQUK9!5Hd9uHA!ZXL5_4~~e z^O5UeHiBIJF`zy>!W0`yk#m8##M1<_oC7&nM0IuxT$hW8FhVD!42EV2+UYQn8(bgX zi_`Uu+=^tD6o7k^(ef(JRbLVkryGujmdX2M(mgf^8{5ovUg)`i+TO)}g-=SdWtsC0l)$m5SrO^xx= z-|aC{C6w?8JacvvS)V;mr+&hO7BWag(=HQYE zr^ozE-bc@GgSH8${i*Mu0HVQZIoJ^JG*Mv+e|PI^mU_zCOlR8Wj7HNdEJd(Jcls&c z1LlOQ8+MQDI67&Lb1)Z^e$sTvzP7evC+?VY5wH2t)A3n{b4p=y+0BPn)seN;)v5rSpo;JKLCR7~G;f!37*H zePUt)Xp@195(&0998{!W+Ln80$t2wA)ir8xSozEFY?qb+e<IY_zy7vLv%ES}9h|=&AI|c! z5AMq-gPp}r!NZWU68jX(PQb&*|7uZx`_Kcow*^I%p$v8w|7ej8R!eAj(Pd3_f zNr?rTupCo=tB5#Cbw=*y222K~Yq+{JzesL#AC;wvOM< zW3GIB{Tq+jT|;>i&iqdt-mT)dg5Unfqy@pj`z%%#h1+36rFg^=Z{AGfsE~|(zY)NB zRC97$f0~$KT7R9&X?p12y)JAK)zznLi^|U)mPXb#ly;%$e>y!*jpLE9bt*EgO|^bW zk(iMnG*p8Tj7_XeEOOpocTow?k2d@Yij6#(_$d(vs%4h{)1;l(iSTnEU~V}4P4xFF z=fq_)W@ctmQc|-rQZ`$fl0w>S=972Wx~Ul-XsD-gg1j)~ZST-CQ%$r&5yVXMP1Vhe z%9c!V2!TtlcN2@(>og1mk%s#w@3Y~lC!G;eqM+}8@)Jj&;l^ej!s#Zzz&$kV z_Z$(EdTYs*c4IQS%9*d0ABV?rdJ~wkTs(ZcL+Jm&WvQfp0XccKS%t9tq%irly{Jri zG3Dk;k-(!~yfV>;5jS^c$VgvCkU_`yI4{7^d@O9f zS{8tIkcpdj?3e9Fj+=lZvK+}?@FkLZ=fUoD4~bxXZ~YjkefUdL&3YQ4faYn&d!AhH z3W@-L+Jsm`Z_kG}jG-Jd^TTsphDE_X(C`=URAz^=7wYDd4$9UW|``Pcsbegcnc?YMpn3S{5H zgX!4{sAutb#^H|cZq@|hu}vGGPPlyNfQ63U@}pfjQd3Pi857q_!)6Czhd`^UJx25U z;+iIW1&MGPQbx->^>$l0AAah+>XNlGv%@V^(#Ms8`QTa^1JP)~c0)d0-;6_pro8tD zn7=5ndHdB@tScAswxE8I1oM*!=Omh;Kn-dC7kPo#`=kWo=nq%Ro*;a`64wMG$kQ6G z=4TtdAy~9hU%wiK6nHC#s>sP*fVe7XYXkwW2D(6@fNsF%_I5Lf^$xNhCOa<8{)UQQ zXA9|EJ9Q%2Rf8i`fvFHh4?AvND{a)1SsBd!N?o+UPBXC8s3s^}eld%--ImSA)jdlc zb^1-}9_wA=oTFHTJMk%-gu(>bw%ADNdb=S4;a8+PwU*6O=U4OtL)wNpIME913$F(W zUi?F6_PRU(E5-IXIv?zf(l<2JbWq-Z;Bc2N5Wr%w;IuQ6UIl;^)#{^R&&P`Vd^6T{ zf7g#?jp081KH?xgf|S$DIb81evQZ4~%{`u*iUNMa>G$@&3fpqD^5!W{rE#Y4b)MUu z%-IS<@u*6};S^B4rrdFnu2B-iY_|py*6lcyx%HJbDhwp`_4RFR&L;9?l}VW;L&C#{ zdU~{)Cx45Tv(A@pLBey$OXF}X@YG90eV%X_kSx!9%_GMT&+`&T8}(wYU3$QQeXAQ$I8oQQ8u48|17|rG zJ5#AXt9LO4U7pbh)13~Su`&y_Q?NDY*r@m*(z8E5Y|S=%B?_;ZZHZVmk@}Ub?>f z%DwE~_`b(WarWA_vBFQ{LkGXI+jl7(nv-{`jd*Ua9Y_%DNJZD!hD@pwCCH?vOCRCV zudlB`qUfu*?D?y-D(sKdX202UzzJ#;*D``1pK^Q43hX7tzaK@!Xgyz{bMEeYCnaP}lT_w#)f8Bt^D7q^? zYo9zNVt~wt=EWB(SP&{oYt-f2dIlOPDN*>xbG~_k>X9=ZGKI45aB=Tee2|CY>50k6 z{9`t@w+r$UQ&KD#k|(?YVZ0&H?RZmdj0JW8W)g7r^=i(N-53QxJzWH#ZMJ`jC;4(V%e*R$6dK2&di7&*WtD zidh_m;X{Y*?d@k6HR=xt<5tM*{|#xZpJi3g`0z>EEm)>q@K#z|C;H~Lcbhd9)@dW{ zhD6gh%<-Aq z`wC`5FLf&JPnWgz#q2N;GgQ z5$6RyLt25uMSQm3V6DA>O#0V%Ac(h9YTQ@}C-L{{$(5>rVnIg_YDj;(O#|{5w9#JUs&gzv*?m0P+d25{F*WIEh3iW3cNSOd5}8>l+w&T#Sl@V1CA7 zG8zGHsXO%juV25~T^a#Rq3P~uf4XFOrc9UoTMC!SMD7ci*I>6speEAiGxqTCDA8yH z@o|Tv1$GdBJ~%kAUhk4j;bQ0HblscC1J-q5K9s~tOHAw|Kd@^T{+==0_3B8y-oYKf zMz|LJ16_&Ue$>{lNJbO!azqL@Jl_Sx+P}>|5-Uoy-Wz;IWyeSu-SODJdyn zpY`_p4&b0r&L4UjMJn$9_C15yOsVKEGIda<_u&?Dcb@vBrlNuqe;A5Vx9X3}z{t4l z`Sbvav>5=Xt=%6ni27R^?@BV3)-lBwvYCcwx}h~& z7Fq^Q?I(C$;Is(IE6;zQwEC9N@8|s*CFHl#6jF=vGsH4dTt;EE+~f{G(DdkVT-IXE zW)FyixPd2P=$raQi@#DcyLPWr#bnSUx_wZ9)gYpm>s}tr+5$o#sMr{g%)-l?njCys z$z{3JkickIw`ftn7>)uw3qM>;bhMgP>$5UKZeHH*SXMt+_Ur5GAt52#0DrUHlE93; za~0R1MPN1@h^IH5Dg?7cPEKBdSPZU*jPAD=EpFl=ooyTo2ZvU8h71WWSDCh7lo2if zfLhaTR0x;F?4z&U&IsY>&tdB|V`F1EDK2|!A+*KQJYJeiNrU}yw9VlB_W?;nOso$` zk{21)qaFiD`nk3q;7gR1l?nL2-JL2*n%-9jg+GO`)H{frFJotopR4jc7d-~KJwc$c zVPX0NYZ!`Z)+Z}`q4cJ|Ap6sr&wMM#V{kOV=CCt*dVJ7V_5j}R?EHM*--NapWK-zDJ?*?W~I1FQ4QJ%+`Y!xh<0lT&_{82dgZx(;m0h7H0{pVj(dJlz}* zF|s4y_3?u3J`R+JhD>Yng5I?UAXj*@qVNMECILVtFLuX)hpMyP9%@0WBo&Vh1t>CD z69NH94*+f-;tIjeqJV}8#nz1zDR!vAE%ASvzv@5AZ2s_h{2U7Rmvi8r^A8O3(ST*v zg!9V)bJ%eC37llun$ir1(emTA%@-Q?lOWt>Vur8f#jCO2bToP;)@Q1v>M_FeeCIQo zo_Ts`ez?TFGX*9C!|1X9hMF4@|EbUsiYgC_i`X}O-ygKjS`K%e>?%jlc;Pe34 zHhGE@(ZE7~SLsf5W#vV2{gDkvGMIFrzY6|d@8IAAsF^a%`{d?30uG+d0BU!sV4a;g ze$MEcZhnkG%=ZLj6ELtsa1U3_PwJ&wFZg%*s7e5pU>mqRum+w{Zd>|O-5zXHj96HZtu#ajArTFVn^u$iq!n;`{b9{K7hQ2tr_MjN zn;tgSYhtmLD&G>n8wiaA!1g_P9LUURbybY)Fa8 z$&zsFPxt45cgSiyMiP1oriZ5Cgg>M+3ZSoviG9%58jUVlIl#g)%b?gwO>RNSWgr}s zG%HRl60Qck=#LjL;KHcsycq*rSh;=e0pM%+0)h-+;(6NDKbs$zs}Br%fzRkU&%?zy z_Bz-MK{@U+P5K0h=lOmDNtYlANC)IzfkP}slK0S335h6Jw5ja2WSr;wCCyD>H^>x; zumCKo#=cl3-B7R}M8?E)wjHC^tvHxwhNH{NWpxRr#o=uwNy{H{*fjKwd?-!yiTH{` zBC}FtNQ_L^ZS9M~vWI)W5)@M*v)t7;+^3^et+?b|O2O~^qkULizO~SYwn#p+|!))?M#sJ#tgO5eIX^n`(%1m~1n3js)jtMS{ZWPml`&6PED;^1 zDl{f4ES7R#o$bjBk4WguP}S{Ms{w*3b<`xVq3&H?Uu{QpebQDY{(_4>*j3@veGO!z21zx4JL=wkJf`tE^Cye~vafm3sZAG-{=q>`-q= z%aL$2FbG;gX5ec%`}_MYp*;14hu|6EDFkj#eW>`0Yt>(DtQdW3lY4u5kUKfdWQ5ZH zNE+$nlNH~)87<<|XbOmOamvZ=+?(%R(Yq`;<}-;o0VSa_5h0P0MLfZ^E^ z4cWS&qoqYEp55X%aG7l}8u_4bQq<9*MB9^|mWE`0d%IpoVk$j`v)YRP)nq9C$uCzh z3V>rj&in%1p%8Ey{n@I{6R}n`Ha0dH4hy63XlhC9!>>R`Gr+7z^w`q~KmOcs_g9jy z&!>?xH6J`vLC~{be*JaZr+m)6mszjqv3sK_KybEm7AI@KgX+5wPG-FeGt#fJjQX-sf{!)}983(zA+uq6{_tkn#% zi60Cer^hj5yeavUU}eK%skB&8)HeK4Qm6P1Lc_8F_ec5MqHe6fh{S)6SD4O%6v+CT&+2@Z_q$p5iDT`4V9R9A6VS z&*zost;a*T!+@eqfHeTX8U5~|xF)c;Eu8Hy;Xe(6!y5-yI_P2g`ZcW6?bT{YHnoOS z)YPH&@%IAS=&fmm2^QUy`T&4z17>w_L4n)TJN;K-y1C!M7jD3XPU;!)QN|Wx6|e>y zX;DdXH;;F6HV4b9D5%vhI>58oAIn9rD0kl9~dEbrVE1%TE)}^$ZNUMv3&N8wg z4vuvaS=3WK*_nP&lBf9R)cUAHx{8rqU*Cb{w@aa4S+Nj#jrxnVJ3){8iE`BW=kpr0 z)Ow@s+*sz#H}-dBMa+`Ap1^}If@VDi9d^`SZHtJK3%?bi9YHvCj%VqcJ9}LrvWR_Lf(8(8dV@}@9 zGbp>kCSa8fkh5^B($^fJqM}+{TGHmlv0T^(bmZRi+4D*JyjI})y7Czs8BGGDIx;fC zt(p1W@n`9;%Q1!;+6>Rb7sn2-T)@Bj-eCYy{*X=Q<{QEnNAnfv4WG#c2`^q`QDW)R z_57~)3HKT~4q)b@YJlf4>f=@rlH3p(Up~6J_feWM+=L)@y)YP$J?K_Bl(3=7RLM&09w(`^Vk!NV~+|M1K z`rf3@g@3|oez#WS_0vw~{^lxhsRC`AE4dV)O96XGa;Y^cPW$-7Hf#cOQ;REr0q|mg zvW0uVfO+!+G{1Prr+`W&u{BYlH;3W?0B@h&*_;&-KQI_@s9RZExgZ8MynHrCdCx9< zw#Ehd`D0YtijCDzq^uCY>)Jn74hsT|#;2Ltx&?T6NBnBbKIMPs)U{sNNY9#@(2?XMj^~SqQ%MEH`d}Z;yv@=#gR6|sTN1B5_nn2W zfhUYhohs%9+|1m37TDB(cyEo@Rw9fFX271bB}pBcNrlDjNfa3|r2&7hyYJk~Qvh6rdw^5|L>8vrO7qtH^72@hR*U*h+HzqN zyEmz+;Uabz%Q`ggHv|ioVfs;zAzDobPWtxkArAE-c_(Qlez~eqUHSM5X`+PcFn$Y0 zA<<+Q-{pzt6AgIcuwdDF8)-A5QR%(PKRf(A6a3{`uy@+p6Y@#TCp6mwkRN)x3>kzI zP}=dU$&}2#DNUV&o~vI!hY~txrsd_ygV8bwEC35~1LrI07FQGx zz-3By)pN`o)($QSdeT29J24`c!1PEbwY?Kh;PWIQ z|2)x%B)@a{{SkyxiHWS2^xibE|92mrgAE0u(vp%4iDy3nF`0I4C@TXdWS|FJnO9q7 z+85>^(%Yb03B6A02hIktZ9ml)0h9V|fcL`^fWjmpQQ3NIz5DBu4i0?(aiL>*(-Jl#yPY_44gTtv2O?c$oxl?!3Gg3O{8kzP6`R0%nT#1r9 z+B}Pz9rYI~kf6OB%C&gt`{rtKc*lPVNM10{8r>%Ao z6Av)G31Sd`Tc_`wybU5$Np|NPdpHPbSZ29mi@MZhy9hHw9n5#axl%ut`GlpxYn)K- z102S)?gEd%Hq8_% z?1pn&9Y?q{M_Ay?i6Ckir{bJ*-`i@+;MyslnC80_i8Qy@sVMK7 CIPeE*%np;Z- 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
    CKwH$!`-#hQe*|2 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 LXen1IS%&-(iB{*Iv70tt@>+Dh&9j;S#z3 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

    eJe|o=#}TvT4gw`IDm(P9K(}ap)Axd^HOvKqIU< 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≦Bm}nV@vV@B6k( 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 a{{P=TbJBtGUH7sWfWXt$&t;ucLK6Um?}JAG literal 0 HcmV?d00001 diff --git a/doc/assets/SnapKV_framework.png b/doc/assets/SnapKV_framework.png new file mode 100644 index 0000000000000000000000000000000000000000..a192a1d121496686fafe7d69d0a8aa202765b607 GIT binary patch literal 214311 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 z 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­m_UDvpe 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

    ~5TcP%F-gdvqKAa(odZ#zIfGM-~o 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

    gz@APdw;} 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 literal 0 HcmV?d00001 diff --git a/doc/assets/internlm_memory.png b/doc/assets/internlm_memory.png new file mode 100644 index 0000000000000000000000000000000000000000..be6de92e6b05a6d55beac4e60f1a0a10befb0636 GIT binary patch literal 127690 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

    gch)|a%w5_*G@#~MX<(S4yE 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%0A8Qo@>|EBjQ#FK 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 z zdISvID>mvF2i~olVi8(@?hQ2#U@T`AiNoshISyKR%Rfk~?vYsXSB5R{JNsRrHi<2P zj6#in=;{b*Fj@wZD~%Wd$r3Pa`smSpk34Oi#>6xbO5|FdZRtIjhlPAhnd!fLH*OsKIT6PwE(`bz z6rATA*cb39<-89}{I?6|cUl?Uk1#>R}!ScUJ=mc4rMtCdHr-+h3 zm??=+RpnHFcGX1--z(JwF!j*;A=;^c^XgFpfdaqkNA}=ypMA6(0VnBToYAO_@Lv50 zaJ|U!jgN@I;T4S=E;|QtIiaoiJpwNv4`rMn9Q+HvmIVX_%`Sbg44S2Y2YBaB^n+!e zzI;ivPy^DUmdW3;MEe;>IOD$Q5bk)aqmbf{Axz+;Qjvvj+`>bEJ|zE)uxA2{wGZu@ zeM<1$Gctg@k%Bhk=tTO1Z*cmLyMN*TPV0Mr+4(x@;^vx$HZ-D8aEiPBu{}u?95Mv< z2_5t6*FkJ}Ze46R;5Vq#;AHsKHwO#4fYt#fV!d;0g4DxfTqBawLF$v!)5Yg&j@?U9 zR1`Zj=xntY-+_o!qJs!K6Wi>_5;RcSVEC$W1EGRohdgFtthtT(+7tElVSv{eC`sG{ zM;sh;i^M4?Xm= zOh)9kUv=>(FN;IBcKNa|d-m_Is;r!Gyz;IGyN?fvzgA49Ax7jrdDMNEHPL6_F*|#9 z8c7 z)bz!fqen3-1Z~)G0dvfxNkekm)=YWgEsKC8qKwCnhsYPmN6@ev zM-D5Dw$nhePt}MOb>=7j7n?|zjoN$n z7ruG>c6e55nSbvBADREF;DvN@b{GYXI#T7Ti~eJ^{sFFF>8Q~ORx?%Qcrh=RDB&Lb zH~0!pwf45y9t$)jBEm&plV*5llWM7}z~w(36*Yh0?7cZh%So{YuEzO*tv-1!=q_~^ z8WwTI>!_GiWSIs~0CC~>i<%fUAO$B?BLzQdQItSx1G%zNjW(an&sVbB&4s5fZ-obQ z=FD5Pt@Mj24>*{qBp&+AG4_)6#aQ*s`5;bQlr#@%vWF-EsjPOojt} zwW;+m>Ef{4t&sz=X8uye04EUee)?3b`x&wWhtM{NOQIn}q>AV1DeMdl70&*fQy!TB zDE#BHGGDfL^qVVXa%P9K@sBj+)`*=`@6=4NLj64@@aKifM&b@pd2)`iKZxO&+)Xk$ z91FbL24^zI@ZPdYZahgLm=|vXR6C(sb+^ zY70S0if{!B$iVG(93w1NxxG>iq`goMvk8r-8oZp>u)&b(h$6e%YZE6a+sQ(0N1SNn z!52XDC=9Zzz4qQ^bPH6mv|SWu6X!O2iknOIPozxa<#)V&>(Ob*_Mw{PD3Fsj5l{uA z@(!W*DRRA@ajG3P6E+F9G6IiqIR(iG+?ao*8Yb|v+(`0v1`Kv_nO0`krChY|CQK;? zVvD2YXiFp|B~8{0Z{F%BWg>>s#zAc$Wfnroy?1eLsy>%>BH!S`l`Dk&&Hj}@s?eA* z5N3X^Ffw!yhN+zofb63E8hi~1#7F!_k(;MDrCTS$4BQ<)BHT5k`P4)X{;1+9>)u*m z`@zXAu}vbvj1I!cCHWtfO*g=9P&<%@D-E zu40vgQ4j$~8NsrZdM2?3T8t6ca)%uw2#nyJA%o?Db8$(VJJu*$Rdf5do^zX*7tT9a zE_}V!>-Fufc)z=5lY~VM*2ag+E80m;$Y?Pe^JPI-MbA;4-y<~^o_d_5ePos9<0Oki ziP2*wR6FdGt%zIJG4Mre)$Xb7JC~n*d(`OJj->sv7Ka)-L_C)L`jN7-?*5N!>+isx z7uIYexzeFnNlI+cb`g)!F{ZaMq#n+jeL8+GRRi;IZXofke)VdNUb0n+@i{GK%%Irf zkTh0iwvp$!*%`K`v(vfoC#){4J0KQT2M%J>rIG$f5Id!4ri+onKHfS;8uqDp48u;8bi${aufNKc@_RBxEWJf+COwtx4=3kwa5kniH45tEAre zk>=nOY(L;h^w5T!8mXl2WG?c#Eb+FTy#*&`hzjjpk^eCHnMId890o7lDrBtel$ls> zkl{SVOyY1-cpqKIzcKqh6tp_yFiyI;z7rb^REdY6Y`0JB{yM&4o2r zHlDWi{M#{c=KP%{^(_jNe%#3wN?I?sMitL*G*q)R6J2Q;pHrID#C;u0W&frLFuz463;Q^)PF{_Pyn14ZDp4>e7nePfrw38O3F=d9^ zJRt@z%IPOgp52>;4)`U!KbX5yNpWny&}A?Ycs&Nfarb$bYjwx2-NLhQMRmGHVeo*n z3&*(*w=23-Ql`&H;2nj{*MyhExVmmF=qBn1#legBCq~^O-qCeZO5N?jBbVlH%&!=1 zwe5muV(mZnTQq9VRljond1w?44iqqv7Ie3DqKZ7aHc)W2ba^=E1@bF!Zk!UZb^&1WU-@Th_ac@w$(#ZYCiAODg~GV0iLzc zNk~d@Y)SoEiFoFhRW`oNamw?X+T_CVo`_@EUUDaok_l&1hxPLat~;qBp_=jlkK{Tf z`^HRDlGj9p6Ygzjc3-(7T-Gd0QS3Tj`E?L5FuB?8=a7S;v7$n#IAxaIDM(qUD~>XL zG)Tk^<&?I4we6#5=qkM3lBQ;vRQd#}G=I56hV34;eyfjl z==OfiitCso)jRGJ0nW~bA67<*34NI8tr5B@(KF@10SGw2HJVM_#4A%LIQ*cq z`1-AJfrVVsZjnuGH>8?h45;E$3jO<8m&G0U+p(Qu0o_=Ap16!M8b>yI#pr&a`{BPg zep;lL9R6nURhO>K%bAM<#W@V(OLcL(+G)E}=Bll%Veoh8=14a#J^1AvbGG~;Dq<=j zdUaa9)7SLux~D7j2@F0%m$dip%ff9WYkQHoRI%H0Ot#&nHO=0xuvJ8d+j4}V{TMe6 zdnm}?%B$}QNu|=}j}(4Op1+&+PgZD#acn;~&V$_cZk>%h@ed1`dIFwB)dPgzVDP0^ z07w29w#i`!Y9vA#T{4pVY}A|-Lk(?P(jRRGuF@D0wsc&)8qg!fsY}*$DxHeGlbCuh z975Canz0&d*8*VzHKU$niN5(YsWgWH2$Tfauc_f4qdjXbmC4(G%Y6z~ zZ7OWOE2b+7L_)8+y1JN3kD0=*tZQmaSdsaJZcRX9VZI4>A^>MNsAQU_tUC=!$D=Xtq8!=*DhApWudDtP~ z^%Kv4X942y5gnbJ5O%Zzd1@zx9n97$)t`qb*=pXgQ^A7)%GbHMF=`M9biB}5iBM0+ z^VMg{SBQy=7uU7$rwO2cREHWL^l8IE#DUzQ_J9*%rj^b6q;j%wti+kh*H_xBhw+DaL%AS8Vd(Ci% zL{EYHaK3zD*O#l{twd{3F~81R8|LY_<48rLAOf9Tr!|D+QQE))zt$rq_2XSEq*f{U zPUw5uQ%vQpkzdOp5_&RE(WMcl++Xc1M6H1msiTaF&CN|`Pt)zjjh}GM3CxPIPndTN zdP;Q)F9!J(h;v#N0p{eYBEjwu$s2I(usY2aTz$Us}z}mrPm1&wTpHCbF-dZ&_TrcfrcY z-gzE0!XOa>;k2$o0K;zd6-jm6THun1DXxIB@Y1EHSP3^>-PYBV3$OKDf4`b#%7dr2 zl$%C>{LyFVAIWp2iY?;NAU>_B*+!rO`YW^8-=#g`q1-n8rGn+mB$@^YiU(Tz?8r^x zw^(nHPKyvSDh^%9__yWD$8C^O962%_OD>V8Kfj$+-;pg20*mZ=^gxy9g7NskgDb|IMOm+e;)Q0GLr~n1Kc;8yEsrWCh9?30L7EMm%pTC zJaVv>jflt5hFZ+G!wt*1i{OjgMJkc)@t(;?)TxgJV*&l~121 zPw1PGyYrt$aP8tRACRG-Ifj|BXhVa{*?@UfT)f7=dFp|GNHy>0cAh4BrPF13V`E@; z%q+u{l@U7vk;)m{OBG9mmethw5Sr4uSItuXma}#emB?l1grXUt1%53TUn+7~KKb{8 z_tBN&6S0-e=L6Dem0l}rjEklyB@|B}2Y9bB+@{WN*DMlJ3BBqh|D}e^d>T#$(Q-jizxo?vEsTD`y3;zjlFZx z4nyoxX0B|BSG(+dmMI#5t7H_R9fKLL(_nV6`6412zX+t~%Ek@{av~kh;w2~F*vH$O z@Htdo^de=CqZ+oHeqvSmt^XK>!)fa^5<&+qdZC;}%juo_)hy(nm9Zu3nK8wjuYXxh z$Oc~nsgBSi>YNC^1|V`kaDpbe?Z=MEe{1G45d>pSSdq=Ur?3`T&om`M!6yqmH4=7s zI;KA&ff&j8W-{*}-u;ZVcO2o|*jf-&*n`iB7(W2tmhrtaf)cD2DhZY5yhJ8S*Sx8# zH@5d+g@Zv-Da08F^YP;I;G-g@7`U_6RrZ$EWDcc20&>3dgQI4vrN)`ZvFwSzC>tzH zSwPQkF-)hu^6;B4#9!zuj*+b zM?jiqHM+_~&(npb>O;1hL0r`pcci2GF6y5YWLUD6quXcfUbOkJ5+JYoGqf#jwUg=%ywN$O zTF1;zu%U>=rlOZq?88}U#qZP5?sX;sAON0lDJFM z$Y{jV)EhY!Lk;IZ4NAIvGgnxT;QZ3;3jL-DCxX=GRXz<>EHQ~ccJ5F`pM|T;soC~; z>`GslT2T8g>!>F0eB0skD(hY9Gs!D>@meobMPD?#?8;+^4M0l6R08kV37$*!uMh0I z*)-wNsn%)(-`e0=M^EZhwOjCME*1;*eww%#lb_z=3!_79wO5Fb8?xYcy2dy&C!ZI6 zirsRwW{4h5Ds*jaO^94Fr`^9a_jUE#q!F_=W{kF5B$re$^xmAPoSOdDAvuemh%YsM zToENw@jX-}`iRARd9{zZ#}1I%2JqHPJH9U$mI&6|wQ5eG`~JE&v5`j7g=Yg>9K`#N z3g0B!TRFDhzSQT%>8m$N4>~w^=k8EE+WK7Qgi?>*;Paa`L${W@*rv}9r3r|*O zZlO~;c3tqrWzBl#3wi*#6Pfh#RGM5Ci%w^#6DC7T!BK^q2iP%Gg@Z~=OiX%&;Z5E9 z58rI!5Bf{@b>(j>(r--4&QjEJdR2Dnfy%CXYMovmt&U z(^UBRw_w!ru|=nGr@3V1VnX7HcrKnHI2_Kqj_myw)8joI@BTJh>Ky5&EA(PxyxP0A zEe=gmW0Df?y^T|)vQlFjuiGfY*Ay{ZkM^GUd=o0=>3xz+_(5h}`zq``me%9W%)eNjBN*_j29$ z{rwMq9v;_4&iH)ZhmVOA#Y>;Kow2QvL zlp#Z)|2=jr$Io2d_Uv#zY`r{G7DVld;s!JR@Aq!2oa7qz|NR!s*gyIr@H>(81>PAy zs+r>dJ4BJG}#G^dhqrCeUQxeYp6ZKp0}zjsRMTsk(<_<^60Gw^CH}oQCSjx2R$TG2<10} zivRbTKDhcR0Xw}^m-`(T6UWELhqc!V&}O;d&st+6BMB300jC=c8=m)3dl{dur>`6< zA%5-qMk^L57EFp0$$iK6<)9`!@rTPQ)Gn=BtS6=GJN9o^LL{W7vL>tKcs!5WCyVNx zc52WqyGKp9?G*I=uI%@R2r>g><1xEBu`J^IPGxcGB`Yf{c)?YM<>U$yYrh#u(0h1m zYir3OKH1gfZ&=%3kL{zPq)bvN>N5Kw?);FH%lcd9ORsJkB00D-MqF7g%0xt3M#d>l z&^C_W;pQ^~Pl47iOgyPm8}!uFY@D3WMd;XGG~f?CN=!_=efxHDaXI#*(WEyS?b}ancq0SbW>7Neojqoc(x2IGb@w%IhJ+0W=^baY;ExvW0x!% zVPvl??sz*p^C)QDyLa!c?6Wd7=K&kRpR=`)}6c4?XCfBD?4`nUbyIBDjU4Fr;b^y+N#Iju1DYoFN$~@Nk+66uthSyX8p&Zi2mkkvl?B?UJ*zmtR)<%q3e@a zqm+=^7SB;a$TMH>;e9FnBLAKB4D(Xg3$(CfFE;XgTN;HiU37OIwaZ+2**wyBS=KXb zmQS|D8Djf-EnHa=@j_)k@zVxU1~alnl10c{RKG1=jSgTfK)c$Fad*+aQa!EK7pK=K z8GRQhoT z(12?|McSlBim4j2Qsg{5Q=#TI$Tas0Z-sa#z zkv-;|=HCC7i^VNb~ zgja9E5l2~5b0=Df#w)Mvf+KNSSo!-o%{ zYU778^YCbt>-Koha=6e@#rCD9C>LoH_6!M@>z3{9?RkjZDy$*F4vC72+VRf3+JiRf z^^*>iQO}&5zOC#H3qE=L_)h9T&VJF^4OowscMibX3fbuXVg%hvNma zadQW*l{a{9P9GlzT^?Gavd8V}E;l;Pg-b?}uG7DfUh{{il_qT`!w(pS1UmaM=HgU`vAJG6ZdVh zh?raVb)P&TTBE{1D0_N&1pxpV9Ub*;YcDMPWK}!U=I0d{7&uk$_#l?vLxj#A(HqgX z*m1VZb6-qMhhtnLa5phB5`W<+*SVym1P2>iQBm>t@87a{n*3?x5%L_#Uo814C@FOx zKTb|bk-RsDp1pE23=b3I>C>kwMf{Xe<(e!RbSckDiiK6EK4Y3urKD8y@SJ&$mZ8H zfos>UEx73SdlM!j>kJ*?uAe=7rluA>Xk`>&mw+f3{*NZWub zrKYCl?_ax;(X{fwmX;PHL&KAk6F^eeGVtv+eA_NUsZ4Af96lPB8=VwIVo)34q4wxb zdt6HT>6qG6!!K_PT!uL4i+6B^h{h~G7aF$5zp9GY(G~a^-}0V5e|t}INa?ls4QaIS zo`s5v3Y65PF>^dQ1x0dF(u=Me^%3&S0I*E`cY0THg6N|az1Dx2*BSOKZ11m4R6c2` zx1ZoH8C`V|*(^<(m#ducJ6NA2pyEzSO=S@G);x-QX3#Mw1#A5DU?V0brn3{uAS!F(DT8is|3du`3mjEyb1h~=;z)VK1NV{5}izZr|yhyif*-ex#9HAU$PDlJeK|$g1)$TP>w=DCPv5fKr!cx_d@dpES|&K&=G#iwKL>g(rEnrOw)Vt&FKQN7IZxXKAb zI^LndXxMk3n3!C+J70bdf!-l}R@42Y)Sd@M7 z*2pKDF&y$>bqAeK1kH?$bnl&Yh2YHjZM9v)A%4}fP+wmU8!tOMdvbE}G+BWOmzgX= zRYOBVU7ZY5OI!PwTho}`J?eH?yfBBCdqEedf`Wn_?`a!Bcp4=+`8yqsFmr#&Ik>+E z5BlotCt#QZFZObT@7-f3k1TnvQNNkH@7o4X8n$tVx$8Le>u7k|M_kn)M}s z@7|>#CvQDJn8G2Uhn2}Sz(R)CWZd4^*ofpg3*5Sit{F?NKtVy#w%tu|=gyrpRqS?V zWjAy4yvj;vGc#%KRAC_@N-8Q&a{QsMTmygieO-cH_gc)GWu~Tj{T*X(GtnTG2daS` z0&BCa?dnosV+jZd1RaG3>1%2-;+nDs)0vXI2C~m4i3KkAcmZhvRIqlMoKvW3PM0Y!1?((LfL7qy{)iNzDOHS z?Qz+-hlht)mecc!M;{pe2Pg$kXY3(U=F0-oK z+}w%^;^59M>x&HM_T%+hRC7zqhUe)+p0=^Ev80@wN*#_nWOz#au)l zP9`SVU1o7eOIhweL=MPB3@r(9u#QB_Kl8=xSgNu&(6+X?nqrc;7Im8 z-=9!U0Ib5F_MxIe-6lc_LBqhns_f?JnUeo*W2%8c#HG`c|K)Q`huqQC+|mrsItz(h zG(~!X;LdeD=u@b>sGLnTmPE-M)Y?9FNEgsTRTd_Sa_!QwwSC2cVKZJ!=NzQvS>WZ- zQRCDGH#<8N{Zbt}UtgNvP-HP#{&}`!A&{2*tNXst-TWmPdUyeIR!*!eFE6jG0PkIR z8~69~)}ddUNyi)mFvHTMAwqz)4O2|^n?19aN{E`Os`(vn#{B(opV?hLB5XMr@3=Nk z_;PUgx^<}c_^|;Ol(X8Zs;ZA4laQ8-KS_UPX1$^6W;{JT1sa{DUNUU+)si2mZkHLU zthLMmtWwFEDN*W|Azkw@2A6Y}r$JOaCOT~7;Uo-!i_yZK8$YqE*wTxiaO*ibZopW3 zc^zim_flm^R6-a!;?OfNbod{;3DT68l|g3$8a{LiyJ9Zja0aSblFD-R)4o~%y}|T! znj@hMeJ)*HT_G{CbPxcRy70q$+Mk(izu={e>ZOTh;o(6!2!+J^+*@@QBga?M(BQdy z7ch^znA+$^9S+zo@GwjMa@;`d>V?D88K=Ybbq53)6Rs>vqKu21lhfwkmolXC;`FBa z`foEbu9YJ9TIHExmFbp^J2h0cf3Aa}e<^L|>-%$MPoY37d!;J?;MLC!&vIRY#T!YE zetxG=*P$(ruKxS__3QE8il3h!6PCNJ?dsW?zqPfsk&%%I9gFhr?(zUY4uGFrlvF&m z^+~^c0$p8)H#~W`xa13lRave%wOQ4QN=ccPjaS4$-Tt|C2!HDANmfFL#1ycp)kuHy159a3ZbRxc2MckcNhaD0${IRb5R@O#_3{ ziM5GFlTg_Ox28<>lKGoja6vjcg8cmaqN1W=Vq$!J@RyH2&V6I9Y>hYN_KIfU4YYSyO9`GHLT2x2k=tr+1%@c$}Z}8??*&_wV;wR4XCApin$K zJPrC>Wk!v47-M?SO?2BL#VazFphlbBKyOy_ZO@;L zyxDWZ5XSP)A2v3id$;42xF{b!d$#=Y8V(H&4HqQ=wFYjmQjxZtoLo-e$!aJ8Rp6ml zP(wupH!1GNk00N}#DvK*h01E_>UwU^cj=i1JTBMu6VC>S(D3miAu$wcnRq1~ZEZLB zYpQABipa%~gw3#@wk*k!90;Ghw*VWAy_o>OtlPMVf@Wk=X>0kX6 zqEK0=@a5&@4Nfx{6iJ}^qz(*PJ%<{yv)E^EZ%>4MO@?%4X6Ck~r^sjH13UuKAukCD38*S3MeXf@9y+Y3 zJ>c|!Ywmll=d!7YTmbBgrWN+}^Xu#D3y?JBq8vaXwb;n9u(146ODigLIg%%FmPELd zRR#wK_YV$)goR0niMwN9RTm6HQP`Yq^P6iAsH>}+BvL9FeJPy_?GBb>U7d%MQ_P}B zxvmkctiNTIo6}9BQ28E;q&$0C{p0B9X#W`tE94}vdc zHr#H`uEbF9CULZ3j`IL5-@_cJxw>oTIVW4&m&mqBhuIOlA~SwiDd!;IUZ%f&%S%nD zQbfiwm#1mt?cG>bRt7T>d+{e$JzLzCKkZc;br_&@`q&aEgC!-Z$>K?X+wpX zoSt6yY{3iWO;d%5GYvexqoC#6W>T&j8y)?m$?X|DI8T%Az9*NI6oZo)e;OSPjTm5f z0DW%Hp98DxG6UI~6!%SR>>||oy|M?5<%-z=46D}v>eO&Q zOFg|9fVTBbB`3nqJvtl|_@Myhc%C#1ii=PG{P}*^1|J`PWcA;VA3vaZ^?m;Qxv%eX zQtH$i*xz8gU%ZkfthJ7gj)H>Qq_}M4_@n$z4OjPNX;}#O9YP`rn>qNS;@Ub@W2d)x zATW!L3ySNznP4Da`84=+CXK;-xzHH{Zj0 zfaYKdgW@&ogA)c@>BEN)grTzZv8*)FfA>#zcinKM@3OH~>2m>^0f@BW3E&;rbm~CS z#2Qmy!lXlr5&~pR4*}_nyC6*LB3Y@pjj3sA7e$Cu^kC~i=@=T)w6|Yt*=qMYJKFj6 z%OdX(t`LS0!f&nTT346vDgOf3FzvVite1 z$}!{hR*QZXPu5{#W*_UiYKzx25sT}SwNO`KFG4R49kv}n*GB(6=h@Qs@uN=3DCnRr zEgNfVEzln3=jRXSf^vY19BrE~STL!^FE-}oF##oX7lWb%>ZpFoEjl`J__?#QGflv{ zlYMN#MMqZ`a7!@bybX{R7)IWVL7@z_{t^z#D4E<~WgPxrm>4hN3jp%PMPQM36TA~3 zFq?&+uVnLpnOC--ysxW+#+n1ovALPX-)nK_=<8QiMp9V#sCw3r-VY58!gR!Xy1G!K zC@Cp-#ib-90``6nf+i&_ENsL@8JC{h!!(xoY;t&53;MC9W)(16z)A5+g7@$H!6RYV z1cim=(kG!ZI)v5>5%zrj_APL4P#8Mz#>NJ5_#*4Ti)Bv*g-2C#x_WvVs;WRNp$A=U zw&o9j@>^Q`EG=Kva)O7O+tc0MxXEo9dH_q}Dv%OPEaG2|Ha36$ zt&Zwd7+;U-g-QcARHx6COTRVUbnQOCs~-;aptJbd1ui6jLa$f=c=~L2fG0dWoRfp2 zv*vER66j6V)~s)binMK&m64k>Eg;NwnTh!97OIy3Df&4!rlX}bT>7ZQ%Svb6-_gn02!b5#fWC9HyLx2MeOeGF1h(|BpVKsH7-C6f|@qn^c;vLSamqWbZ9H) zN~ZqHUy=_FJd3nTb<3cQX|BQCQBhFbf)-dG zeLmTT$NnI10VmJM$l$ztccvpKNI?P1as@0bS{j+6J=7(y8v!|R=~Xgfw`N+9PF zVuOY$n->RMZq*$OJo?zf!$UuDdXS!=1?S`hbs)y+`fd`2y?@VKY6`Acr z$Ku`nQ+4y(Nn>pIbY4ci2TXGt91*y!58&`tt+ZQzde#BeV0cJ&UYW_ z=`{ph2EL98d)eihIkgeEoUC^x^MXT*TYbfvPr`$aaCpCipqG%4uwJ!N2NER+)&Ogv zw8NyFAI?d6{Dn1iU2XI*X$aKO($Z4sd(aK*>L|Kxu+D)?bru+v>Iex5;n!*0h`@YR zt5P%q^sZdDa46 z*o*)E{ewanxZQQ->xM4VM_w&uN1-WbU|RrR57rIBd-9%G9d6FViAEILW(?MYyjN4h z&pY#o{8_`)V~*sBwKn(F1aPa{1N;I4+7t^GM7YybRS*fMMTInUbPi5V^fzzvrKvi% z?SDrF9tdbQ0XLK=-_;D)a1M3?R(3PV&7_lMR#eB$kH-TEdSX`oOE!*TD<`;MCT34xk%UX169f=27~NNwYF^ z;a(i8;2F|R3eryt_&eZGsyuvni?|QCKU}6j+Ska^Jbf;19-hjwGEQ!8N_nV4cj1eh zd-Km9mnLJV#o5QneEh6))4$(r(hzg9EwN zQ~@T4QG*j7;a)etVu7o|VwaDbLMc-M;tBUewuGO9kdbFv&dA6Ja0!5#&{jUy*MA=$ z2dTH~2K7H{fKMPq#qEKEI6g5E`{s>5;Jh0*Zou9FxR_NGf*Y)_uipqo0JQ>F90>f3 zgiZuaY$LEowQ^$XXWbeoP3v1*&d$zrEnd!^WVRi1L5G`9Dks)lM1aCL2+{fj(eGa1 z9jI|@g6$+Ft9qZBP|qF|qoE%^L<9u|+uqD=;mAndyEi^Oys!_!f|cQd2XOU~ZUss0}(uG7SyKJbJj6NAC9JR%L3}{Q%ol`-J zJC)!s6YASHz@-wr1s;r~)b#Y(X=&hwf(i{1vTj*&v2EO7XlSU^F;W94+w+C)P-xIx zckgzY@cvv#3yy3@^M9C7sJWQRh#OZ*ik*qH+?*uf{eg{x1I+;-HZ&<12gVNuujQGW zj7^M;{D6Oh83oH9=;KcZp=iZxlighIh`inKk`NR7`TaWp zKxiH$43f}j2_^_^o8dR8=1hb~$~@yTHPuB$MZbSrB_idubXXE2dMyB01MIm;M~8_b z=oi9?zl1PL$>=gX#=5+PHSU8tcPjV=;5LKnjdr`=nUOuXP$_%SAceJN9S>8+Mb!VB zbKuj!jI5lm3yqobf?2PN)8xhIm6wzMlq(pPE7uoEEQ1wWkIyy0&CLyR$o}_oBd!6b z{xhy*6(8~JmoL%7%o!~|R#t9pU0!TC3T5bU%)B#TwCsABe=GR(*P|EaZ;?nOI1$o} zq!IFr=`jf9*ggSaVJa}(yUZYXqJ)@K)QMLDEXR}>XZDC$dBluYIz=bEM+=0z^ScUK zhUMQKguFaF@J7{SuD$A6SY2H$EoHBqppB5{Pa~wBOh7Kd?)$VU%d&!VrSb?0$|qQY zT>s?B489sx^h*-G#{FjFisoi9Hl^D(N{Psi01u!ddx1)KcnC_wx?DU0EET|Dx^FWW z)oVaDFDZe4_ii)EQg68U+C$gZB`-xyDC_lskKU3$t!IIaogG@>Z%~FmeUj&;#thv$ zJjKDm0lSO>Ujh83aXSh(dAUfI{^&ECy}MV&+E?~2=h2MznV^Wxu;E7{=4J!p)v~99*JF&^Tuhu_--2&Xc zMU^=|4oKBKw~2QHS?7m8pLv+q!idJlUr#Rvs>{jAsYh)F!Z)mCz-j_gQd0cI_36gVk!;QMrjDLkg-2f~+fM?Zei-aqyL| zrjY1Xr1UiD`8tU&mE^0(V(FCUk5a2LRU-#2MPin{C0YMGl<#>H#6(X}68Zj(U7IQ* zPbpG9+y?RitT>isAZmO8M*?CNSOPOo6S6LEWQqgf6V@ys!|ba0(6fN%CHZ=E>Rrej zNy;-&c7ZxT-*%pET-fo>O~0P>?*&a2sG-R!y%v0RhFN!Cut)M!6P6KVLJY)Zf6PX( zY@qB#X(U2fq*%MO(3ZyS;Nagsz`;f3_WC+ z_yxJCvGKoSf5w&hg)2zm=-B4Aj8DDvsFeJl2x>1v9wR}k=Ml+qPFGAiI587zdM%bc zzhaEJ=iX6##_8sLgIc+kA^HOa3MDKzaK8_>=1dbi3=*nCfW3SWrTlX5`Bxt192*umc+E+FwLm7lE@o_gS4Rkei zV}rh)GI@tRC>Xv{6?RQ89{Ty+AE<#%2!pKReY)o|il%((e= zb^Cx+7y|xjiPHyxs6t2FcfMFG@EQq0@sxk_y&TX1Xr4;x)@AFCnA zxCY+qa4>QBZS>)^hdxfGIFa8@qq1A-T+#e11gno$>0l>R8w4#?{W)_3PaA;f#FX*mR{*=zG<4FFSea#3A4RKGgtgzr&()Qu;@qKU~ja$9>fZWfp z)EN?CkGPA?jE)NM@-ns#=2}B|O*sMlll#k!Xi2_-X6ygLq_5%vU>YACqk>Gp!z@(F zwFSqFGg&2B1&hTv?~AZVqTK3M-6L%2&!@08Ce|RsB9Zfp;Y!*_KHH|P%q=H=!ZPUA zk(H(-t}2rClw14v3awA}o!1N|uWiE~zyBnbI4wbM==MNcIc4SfTk;GQs}W_PM5~?) z%j`!P_K%bcMMj{vW-|uAohH5GBSk@!aV@Kj`6sXabM$ zd~;92;8q8RKR0>UU^|5w*<90eYp7m!<+y|MBE-h&3~x^e!ubB}{uS!kC8gFuKKt&Y z6)WxeP&bJ4jmd&!2v$o`(emH%GNk41Sm`4OmIB4EY6hevNE6++2rAHI-}MxVPO;__ zc^9O{hFY&{rb^NKvN9kj_Rj2N5nPl}|MCAvj~>00X1ssPS7_c9T-z=K=~A7);J0<+ z)?fq|dh;pcC8EW@$?tuouc)$2j=KDP_jdB|d&gqq3>8QH^glZ%;_>pY%tf>3BP_)Q zCL75A^@hyqE4NLWX(7oi40n@iR+w;u&%9rB^IFw50k2-CjuqFs=G-aG=puDWjoJf9 zTsaZd`>QYWsQVQt#h1e)*Cn`kA7-bgH+!tC61C&az9=Rw%28rxj1U>{0;Y<=x1K&C?H`fgM z6!7fI%1SV1HdK_l`$16$!3(kj;84_oUk@4>7_q!=kms0K!yKiq4h-HH)lmOxFL?q^eFc%SjQ08FifRb=FnR9-V zD;GC!3otmaZ)8ls9c9o;zbv~2GcvNHz4~P>4CbA8+pG>pU3StsEry6&iFWC_wLyOh z&lywdz!UD&al1CZLnoj@U0^(d4q&5i4wA%D zio2dkUF?P9#30;`f_`-td>>G;dxKqO@uBbj>{@gvb=bn|*$E@I$#&-3DRU`XG;cMfJM9V*U`*v%SFV* zcl8e2;_=(NDyUKW5%sVkkrJBJ^{27fe&N6Qt=^Xbr5! zArPjFTK+R!u#EyP8*sMMx8QOFdO)bluXQ(r?QqDlw+FOLZDeO;v;>}uVR}QZ5b9-W zN=k*N<6P&`1LiH`X|l>QADXS{lDA)FVA-n~$Ar)260`Ji! z0V_Us2;3V;{5FD;x9;<{roP&aJavS0lm}nyE@hx#?pym z1P+7#EFN$IM@~S-(uE>d|D5L|0=z~L$-p2@&&q1^-mw79fR+{}859|~#mNMX9~b@c zw?Qq@t2B}D+5|lS+##rSWzJLsHD>yrO~$!JOtKlzCN25d8=2)Y|ALbND-^avjRKYo zDRFo~efOHki767Sa4=p1jRcA|BDmo$MuZ)rIqKcRgxkI94*Pop zTBES@?1%U7PqLt3t`mV32#)-pz2h$f10Y6V6Su`t;b)U?M^S!$(YGk-cfeJMKM;16 z)xt;}@L2m^4jDHysc_9sl&_D?`s zl5TfJPe5GBj2CCeoO%_&aMIJ$sZ9N^*ZbHt9SYL|kRp1~kId^$LRNfFTXF-3py0P+ zNVQAkxp{C`$)oi%OOd}CVW|nL?w@r(q_X!~;3>pOjg$~WApaVAs@5QXtUoDl@JmxR zOTYFUEV2*Wf@*U-KO6+06Rmrmg5xZ+91b(JLS8AH+Ny!S}7v(CELb$y@y% z0Pn6Ijthc69*vz*Mc0 zWKLEAZFPHl8^jrKBA{=BB;%U~7TxoeZ;&h*&!1U#g9k&=f(;h{I0HWvqox45HfW}> zv2jAWaK1bGo=D5qz)YY92Lm9z4jQ#)AV4)8B?}<9ywqnf`=}hL4hXHl$s{oKARenGN|3*H@jn%u)c1?*h-G#BuKrduj<25t@^5c z2>LZ`@8Z|5oeyHnsg<4*FqIyPV`09wIwh4PrcKs731nHLz?Kg0sSdiln4O)4927u* zC?XK&brBI462iV-2!L$zne)Wlm`5N%5L@z>5F9ui(6za_dAZGSA@}4-)}R#ul!E%C zeCRX{%nOu-&S1LyXT`XS1srWJkVqb(VZ2pN_&P8E&J85~E>G4f!RZ1LSOZhkGNV2U z!CFwA;B|pKiuvp!jyCacLc)qwIU#6=DhQ-HVwrLPIN+<9R01v#0^xRi{AI<945Tac zPEfZ%`6!5$1T~WrB8#@ZzP`-`1y4OazuO45{~LJ-PMrReUF-81I3KeV3i&b6jG$rd z_Avy(F`l`=(~bOm$arCk-G~&(P%Q@Q5VBBgvrikQXlZHnXbnR@LtYDDqZ)VW<;L8_ z2Eb4F?_410*05iyXh0*F+X~;Uh2;Q{OBQ1mz};14t*zYyml9SqtR4O|hzF7o5(1~` zOaZrGsv(8(^{-#Q<}T0YtPKvJdUhQ3@)!?D6ERgzv{Y3wQbs{eTcKpM$s+EM-I@YVMspxP zarAO>fWGf;&_g)3Gs%m~9G;6?no0SPoSE-V{HQ=r;GsU-pXg`&;sejq2xI5myQXw2%DTp_;3yt3zTAge0NF&z}{u)F6v=k;jk6p(g>-VT$LUPJGhh zc}ptrY$#98jPhGMUA6wYyBNf?K#+ud<@~%E5TL$Ax;_8{bTEGNT_G%qwi2Qvxf6`` zdI!nf>%aja`cE3^_oO569Cl5VV!>AH9x-)UC_((dGMvLt)@VRr+zfTJm|eyBq*6O_1!Ml)p$ zr~bbj#@)9AU7?(iG_VYC2l!{%+DU~XOCoHc zHb`e0mQ#j}9vz7&Xc6|rAq=#&YoO}F9mx=xELbocG2+H9(ZnJnox9r4A^QgG2b>#_ zCYooQUR!`*3!5Gae%xOJw%Ib>G7@@m>Zo3B<3?V9Sj%51n6N&Mu6`&jg^l#ByIb}^ zfSBT&G4}++`7lG4RM5q@touV9alr#1V76VE*E$^gHUvQ~FU#hX)>=vIrM1WlyM0%( zyr82&D+YfRtN=)Go1sa+bZwb2(bB307zwDU61T`?2Kx`Yca#%H)FC#A+>BQr#Lop zZc9#01^j#y7n6~Lj8M(6{3`qkI~h&}Krg&P>EIuM9mq$xcy)GRAOAF?%j_L= zPbx)jz0J~)V+TVTK?cG85Y^h?PSU7e2!BBD2L3ek2C62^J}e|}@e19t4Nt%Nz8YZ2 zQyWm0UQs)2^HHip!-Ydvwn7<@_W-l)$`K+Cm$86U02CU?xK(W97qh+p`0*bEBVnO6 zGB zw6fClsedq|y9gbq0dQPuZFLn4R`3kr7;33bWU+0iEV}3jfGrMA&c_@SuN6ymAeB-$ zZU=5sY;8{>Oz|{>A`)XJBbJaF-C*B_Sb!01bXb4U7@+2oH~Y z4j}NtLW-di)z;Cm6w1&m94@vM`yVJLnNtbwc7+zT7Hkm+Eac~7)I2`*mkcxi?xZoyHeg5jm*Wf|4|zt-~Qx)bB$fDXN} z%Ad!_ulS^?*26Kq{QP{_Y>*RB~=zC;}!*WX6gW3_(aYaU*ZB; z{Mea}%e#PC2}+eu)Y$_I-q}YB`zl{_n4h*cTa?^Il_sGSTKha>(Ef{xSepl8}=^Zh2-wBKX|s#vH*0@?tgNn!y!)O zU4Y=%$Lh|Xmp@&dWRZh|yo_+PotlM?I0Tz?BuBQwkoO^|;Lxh4`Kt1OZo@glVvhbd zSeu^$I~Y_XWGWb4PSi?9cf9FF7C?}7@WAPqiFmd&@ZsH9H!oqo5R{1b(npk@#>0d_ z1mczcGvi)}Hpd0welQufNm>*EcqNm~>4f_#8JJAhD_r_kI5qXfz-LgV3aV+WPm;7S&x{T^&bJ9Y>Jb2t26Gfh>p->=?)s%PyGO zw5qZgwHUeyaSe12qQ6X3(u&r#S~mfNx5MG#7C8hV$##cG8_h0j*L~Dz0`o-{!RT|JPzRUF6eZERvJ6_S zAF+pbAROj`EU|S^R_G_pPG7=n(p5bnEiwn*CK``IOLnuV2vY34AK=v=vf^N}Kt(DT z#@+gH>WFmB>{~oe1w#q);Fte$E)sh!n&zDE7`}*S#Z^mGi55ha>b)y0#<=`6qcCU8 zMX&ZqFdperO`2#GjP&+(<#zB|{!L-eK3q$62Fyds(9H1ogV7GDG!bfjsS}NQv}T~e zG6+k>Y+uhTEcDpvfE_U~U5kz>)7ii|Qi0#uw0XR7o{o-e*1f;eJ$9T;b%)W=D%!57 zEL8|jA;1JDU7AQB}4=6Yq6w3dzsqxoBZT`ky0dF0R`L z-8mzYj6)l!;e4Y5{VhG@ZtNL%N zDQ)+yLiJ^zrXk?vFejzKh(so`LJ$Eose0zok@H+zh~Ky!do4}!i=qEMn*bXv zS&QC|>UCAXyG$fZSH=x^ErAe9Ejx)jdXWgXY8`IRSgaKBY8$rRm2KNFlDl^bx-41J zlt1&=la;fZ-qADHxjJh9-*+rAtPz9mJyC>OI>DG-)|lDjn3?@=#HWcns$mO^9iO{Z zMaWc-#jopy^y(HSbA0;vmbprm?EjulLUQ$VS<->oAw-_$!}aARm8`F3kD}f0ay1pG z1}{fs(s8rWsJIrqd@Yq``ktp;_@)C#b<($m=e(luX&e7@4J24_X8n2 zD)Bnp>9qSOjnMNwKKST`#!PRntk*@4BHa12zi|#vMt&44$n1Rg|31ou9vkkTCAe6* zT&n_^ylhDBR+l=sU9FigxIJAX=iW(6a!mGcuiEkr`>d6=9fFxpA&xEN>ccm#z742g zl@7k1Eq8oy<)qCq?qw?OPYwhdtaWol_B5LZyC{TzKspNDYTcttjuKU z-zd<=OT}F-korBHf(B3Fe?HUX>fV=TuT-V`2n7xuviP@T%C<$iV)uXLOi5Iv9ieJct(zA=Vu2sD2IH9Rr#Ufm zqxCL~$l*0C-Wrd2A4B=c0V2DQ>2*z#nVq9)KJLM4E{$OwmO(X=laMIBtv3}Py50+O zBKXr8@iH-CEX6Cg&n~UE+CmmZwoWgn+G-~JaEQZAVr(#_;}~Uv3-Q^>YHXA*RHTpx z6W@Ns6iD$$WJ&SIu%;my(v)xdWu|?)!5Tw%FP-d8qyk2-2|Nj3>$PX&HJ8p?#1npV zQ|ClG)rWqf+~d-eh)qd&QdXQ>ykeSrgS4hM?gm~k->zw~xV zV01-dtZNM#)e;bC167mjl}qQ6+-$Ud71ieziTK1O1Cl`uD^A<;35bc+DZ{pA`_r}Q zZ%@-4TuNwHdkjOG;^V*Ge-?78#)+CaS}n`=)0_AFF6FhjXT8i?CUna9q-~;>9@7wQ zR9u1)_lu>Of4w$qx3@!kT$|Yek19_0EF#AG|6}Sqz_IS%wX&@t#>=lwES;@`{AtXERdH4Un$NP5tj^FVdJ&$pJzn^hk=eksx zYOhYIvuhkKdZqcz;0b{cbMB&7z}nmL^T5*-mkNA$-2vFZ$qDwZ0*aS1m+M!r9*k)6 z&+nGnr`&$_YscC1V(dW9{r&yH^0!;klGn!z8KE{Fb6UGh5p3nJS?{JXTIyK&o3X7j zr_3!fKAqs|A2#!1V`k0&$Lr?{{Vs-ZA|^CqUVQ2L?FLf?iu+~(%ZdB_I*YtgF% zoV6|X03IGu?tf*sN;C|A?bc$fw5T#+0wT&?XyN-MFrx?Jjj|rUL?#cBHAqKfM?_IR zgyaYLJd|WGz2$UK2P!Zt>!*f=DDg5<{`+Fc!5lfR74;(FN00^bm=Glt!g{j;@{A_= zu1-$S{(ZF;%lr1KMieoxoo(1PvOWTdqRJ&T5g($dq37~As>INNgd09#hr>!d~~@m_fTA0s6)YW%n* zIl@)=v~#*(R&9g0#aobNY0c}OU8t@VDu58B448Tax(w$Io6?6V@j|M_NQq)lG66)l z8%#&pdO08~rFRC7zJ+<5_ywf>(swI#oX!uCp@u~(C|YVfx3q?4d{}&h_45l@OY23Z z*Yeg|RHG3Qv>*(@;A7CmX!V!Y@Jw>LChT)8i+W2-rGo3D)cMU=Ze-^0M!kU5<5+^M zn($uYTE4;k;G{6c9<$>~-*wmt{QL)?ZkI3t7qqe3HPCa1jSPQccyv}C^&v0A0$}7oQ`Jc!(3R#3l%;{5+QxV zTLjl5e_jIp-Z*>vd4~;cy%_s>z?Bf7fipzMPrJ{Ld&+qo6c~*5Z~A6C z$DQ_nEI%&^i~AN95kBQ}<73ZviO{tU$ZG{0{{BNPlY`U9lCdq!ee>KaUDE2MXO_(t zVxtdf4voIOc3j&|Tfmw3K@+cPnXU-nz}DpcwJ763TjP~SPIzhUQ($~Iv&;$1AFLr~1chA#aBazOD83*Lg@a8>%H0%Z)1BIT zF3|qd`kZ!|?u6Nv)c3BgfY8ySii~`5YHM46fn?$nf+w1XcN%oU#DbfttyNJkYmodw zG^Nbc@JS{P(4@WBD_ghh@Rp@F!B`Vl!A zK#xdXnwgzNXb+AISfTgs#W^X*ErOF9#y4r{b$Fg(3Pbo}T(q~)oZ_}-J0mJ>$dz$J z!75n~P5zt3VLR~|XKB!A+Y3!xNJ}wig%iEe3a+0aaEGuuK!gDrg7W0<&P$vT*Gx@^ zu@FG2KqUwX;IhZ+CiWcY33zAl6zyznKX}$Ua=>py+;M<%vH4+!&gn7@ZnF?waPx9- z_-rA1W1!6Czyki_oSGV9LMly!$6X$9-)k8M#lO7f1yBtvA2(x-B;5O>ZV;=f^CQFK zU)loPtdZq7K);X$)C1GG1=JF`RQEw1bSHA$rH? zRzgSLwp;7wbU_KCW#86Lnm92Ev_|pXW1@`6|m=d^9iW z{Q<-yj^p~%t!rIzy_G?`^O!vuj+^W*n{_HhP7TT?2>(~+hlJzQ=F4j@mRC-P9Hnqi zjh{cEYnrbzd1dEnWE6#n>U7wh)Ce6$1Z6^@;2c9D~T0Pb7#d`!dXkhSu#No@->sG7% z;K}#z2lMi9z#je%nD9{QnTsajx`ES>GeSpo6}CsnGVqJwlC!a~xpwWjNj}9>y33IF zo_PYo%Kn$5EVK0v^`$rxo?=cRkW&$*7?3u8j5aXJCPjw zv{>MAY}15DRM!(b=-#cX!XsV1&$1=yiZiQZ?r~$eqO;?_B+ACCA!9P)jUMJc%C)SN z;w&6ZxIrO|jL?i|+Nl+eD5lxlsJl3tc(Up24q~sD(&FF#r_3L-!|1plH$rIimVlYY zsmT|P_YcF{)^Lemg9cTSg(wv}m2}J{a@rsVUXwM_DuY4Q_^N1J5#z2yjP0Bzw3aRWT-<4&ap zf+$zH_U})5_|SOSSQ5_GVnXi0$7(5oLK8wFtsp5J@yeH0dk4-#*2opax%@2&;jL|C6l%uW-+~3=>RK{1k3zT_`{3NU&?CX^t#i*2Fy#}?mW8Zk(f4C=!k-ykrU_6^-|1N;w zs-1-_0GA^2>cAd?xQBBXPGd$&Nh16B{QZP$3;mFmNfmc4l^-IEVrdo(mvSK%z-iOtzQZJ- zwpKo}8`&kW(D>5VU-~tzwTDTb(ZBW=(y9>txyt5yKKQ?DpEg^nH$!{vsvu;7a9oU? zuEG`4Ra6x3VLb==EK#)(rf=fD>u2+4L;e_I>@S|y>5ZR68_>|-KP8Bw$<@0h`4Ij< zJkt;DJH5#Q6h?4-K*Ozv&?Zui+JwJPw#U> z->8Tbzr3dpCs5P_qaORu?1u#Z?3vcwNrOJl1B-59VFBJp=+96Y;PE5-vCXy^NIS05 zt*$FuadO-w*9Y-_R(|&4r9)#2?=!KufT|ElYEQMZs;a6M796XGgqf+a%1n zi!vjk0$$|iLMU_-`lz&fASIBBhB^n8*1rHHTt`%%c!jXk&&GO9IntD6&lS%5Fk`BY$e}}eFjmeFa8|PJ7{=Dsp5Z9vK|MA;HnNeDrqAAWr)P3$t+3ZlUS1yFgS^Y-P?Iika=pj`eU3{PDqNf; z@NJsE0?UFFSunu1wi#uROteiByMC8x=JYlnP^f?&-o1N=wSJ0I19?sP`P&N-J}>oh zcvKCbA{ZOvv)D^&ldVa>lR;D{F0U+#5*EUJq8hK?mnG25IA@(kaOMz`>e;gtc4x*8 zsoPpxn-=v#r1=vZEEnQ{M`MG<4b0Kp)kuN!gN0P*Fm+%ZqLgBq;Vyl5tu7d41AOH; zYOw9{YE4y;{-%;yUfwslV34Z^1xR-{QGN!m$AD3b&fS)AbJp7v9}!fP2C~;dQvJ?F z6akwD-PK%L;)Nb-{y?CWRgt^7Icd|va?>7uBi^WA9+eLJR&>u&$VYiNEY!aemC4f z%Q8};`tWmWIgp2M^mX7Am$1*U9g*7j{KhB7zaVIna$c9nm&B4b+CPnIn zmE4jt?x`2~iSr&JYf$bW*&*r4hkhq7FQ_%EA_^;GSf*{nfxF1iUV@Y6 zHOaHJX}M@x`h={``vK<1_ABmU3imwC)%fwvf*sQbQwofmogC~}O1aUIL)L;1D3 z^%su%$EBrgpFUU>;aTA9C#G>i4Gxo;&fY{Hob_)XAdEwikcE7;jV&kv_*4-FD4%9Z zO@8i#u8K6yf82Uqw(yrYEpp&WO-%(hgU!Mo7Gx+5=_4Fn=y#B*WFcDm_ATtru_}Cz z{_~ZC;#1|7C~kJ#t_MZFZq|tIW=X&(S(!>c!=ElbF#X{lMoXA~ST0XO?#|IvYMf_$jAEpAbOFXS{7>yE&KE=!<2OlC zzo4Okl;8bgVBV!u!@t>HI>C{gT|^gTEuNBk)LDK#k3E&Xx5!P#L?G_|nJ1mcU4<^( z=IY9ZRUV>FG`lbLW}wMIG%61>wSMd7M^h2M+F@vunntyc&zyqh(uqX zC-l77M7X6z$~!@f&$(vrhL zdK`N05eLX$xQ~A2dZ{XPUVimAeqkv1c^L0FI50K_i_U6qSjQGo{oY~NGCTcbr8#q# zNUJ`D+Z{&!y1fnp;@68CqNjLDmgDx z%@*y{*isWy6Q69&XKMz^6&U%__w2WHtTya`x+7p`!7!%=M7_)D+5GCC2?(EcLrzPbV!m6>l zRcajh6q+ntrl{;xsA$L=p?<;HDcQEkNtYR~_(F~WP zi$RHpOAudNKa!Z3_!fr30ed_@pa#RQ;Kcf9wFHkpw4OJ@&gfjed;@92)XLJSf7ZO< z-E9D=SlvZ*ZCwvHKozQjR zhhop*&p)&FI~Z>?320DDuj}BLh~}e(83Xwph?YXm@IO0|X5M?0vpDW?I>ViW(;o;h z(j%dkhNu(bX^d1Ltk+U-z37^L_KaV19!Diq$i7Y|Q&Uri`RUAj@f5hce$|4+#HnIw zdB{SFc>J_s3+HsLCm=B!ZBoIvX9DE_SWvy7xdoC7St4A{UAFw@=!I&yV|`=_$E&0-{d% zBOpjPJxC^xdjyv^aApJ~8X2V+c_X=dwzudSpu+04)|-$n4>O&4vOpobihF-YT#G=- zxkoR|^2s;@TE@#9M}s=1peKcG;^_@9p?s?XWq9Z55yQZy24^nNYnLc8n4jfwV zF2Q=|=jZRHuBQ*Khl7xVem`x{hYxC})6@5xeHvXrU4jT^L6#!J+~GPoM&wANT7tVh zP(dK}u7|Yov3+*K@U&PJjekO}C(zIve%$C7(31US2&+1E1@ zZD&a5mq;h{?LUmUaEeR5Sf#(`k310o2u8-nWc9^oo?N;X4e1b$BHW<3$#4ol8lCr% zy&x*@vo5`=Py4J?2@>?KEMf~RA!&WN* zCWtG3aAp({!(nF*Qkwe8)r>A6;(%)|iW^8N3dtdlnOu|y@Et|M3PStxkml<%IbD8d zkA^lN($Txx$IEL|c6&({KopiBbXa*LYsb-qaGC8<*}qrK z+2Hol(!yb?lhujO_w_4lklE1MCs%|^Kk2gNX@wOW)dz4lK^8@I(f1SRdv6Z|6oTKw z;5))Mk0qq2JeQ0f-KFp;_G=j?kz zOxG*-M;*%(fmbLVJi6KYMlRk5Tw(euC{koxf9>%LidD3HPK zqYW!G0G~JG5ch5^CRB4AIDqLQJ`+jT{~0IT{{xv0qUbL9zNr`bEOY6DM4dkLAa0g7iszn@f1i z^oWMl+>URxnsF{WTYU@w)<4a=KK#fxru%Qgmw_BYcl0Y*Z9bb#J}_$ELdH-W*>x{3 zFbmjtlSmLJiQyl1kj%SM?TwJ)=N(8b-SU=AZ%a>2-D(i_eg%}gyIb#lWUS|7C0;Y} zlz)*?jG6S%9RpQF+JCuKSc}<;r})>JA{}e*?gBj)xzr0t`Ux`o`u%$b zTCcE(=cL3g($cIjQG4$d?z*?6;`%iv52@Tz+ubD3Gd*w?NV#z6dz7wBa`;)%U6$Gx zeGRxDKk>uSn0A`dPyL-X{khL4xOnFd-JbK2k9G^9+=%H_XOU-}5%;(F(yM%qn?kt2Tk&%4OqeY?DFH(m^`oH4j%N2V$iP{0p%2}>E&UhF8wZx1z91~dH3a40AM#;YK zU@3|)SfP)jp;-0o2SgI8`d!e zmNdQZd7`5GBF_(tt#BF$YyxKt?fnz*s-VxB_v#85Pu^q-GAg1 zdl<$bv4j>wERDVt*L6(|C|@Lq;->=j{f8W~(g$OR0Jwy!S4Z(*0Od!OO3cU?P2zsI zcfw1M#oyurFmz2pggrHmE}#O0-|Q9aOIf;u%eT3yhf(qmKN;-qK69RY`k7NIO<}KK z?DUSwYrjl`-%ppDSc3%v?2Kv<*K*sb6=Qqn-`RKf1JDVgi>f#$ci+wJ4x$kS;`|tp zN2iz5YE=ZMA%v$-o+xrNYKA;Re}!}PNjst90Uq+=q;C_VhOpPsO#w8qFX=NC0m|c+ z4|V_q#bdqCC=BO|O&2Q_qBDDD4zRJI8aG{}3$6!BogjS0#J~XNCSrb;FKHA#$VqO- zAI@biOo{TF709*{2acZjp}L~n?cQfF137ff-ybFOzS2DunY~tY)nrm#g!96+gc+}4 z$*DJiPkb#t9}v!MVHFtT;7lq0`EmJwLpM5kU3up2z2s-sx(QTAgz>ZTnh$2(edoT+r^Sxpo&EQj7Y?xfbAb}o|`^120R zBr-8pn)bs5?e6`n5|#{)Gt_J24UmzDoGhf8%sneTC&#SJlWPyVP3tbyn2L`X)7vJU zO5xRwjFie}eARA^01)`gfQh8E)@5+j6LUjxRx9zodi$0#Dgg3mqKtrYDizPrLX@rZ zl5aqz``#4pGqGxEWS_zcJ|JTUPY;zJm}Gz^&z_y(W*qz0k7(sL_5&V&H{IVe#qJNH zPDOJAKOW+2KGE#TyiJB%_u2Ur)Ex4W^_P)_52vSiiZbtR<_KRUW05*i-$!L-9#&TT z>|w}Pt~5dEiu>~Ydt__iodF!_nps9e6nkt}7Q^2h;6O+a$G3k*dW0v{07W9s=Q+B% z5>j6|fjAHuh)cm-f|zD*Gln>aRV_WWx^!hH-DcvDj1Px8!z^wI}3 zBl6+oq^RTkG6>FCV#m1B zW3P#UL+jlH_RSiedZLjKP56-8XxM?1x0(0tL#7Ij1K=&7`6hvEBEB3&0iN!a!3mm+ zAE!_|KZ|ZeKs=s>gCrkQa~h75**=Ps=8=(b5FrG#i^XKGz#L-h`?Vc7u9OO`k}1%b zCg+P&`iUkIVh$^vQx`}&^Fw5nf8*g`gMs)tZc2Y8)&+-e;v+Qf=Esa)lwHjKLc{js z%+WXhFia}Omb$%dj7srd%;WC!#^HQ(eM8B%LEH=D(kE7i>bM%xV9bJLbaga>=hDnd z)k-CJS^rxxjX+hTNMEr&_07e zDwHsjHd)$PYHDgV;^%~FL2nAg$#4oI(oTR~L|$KCA1x*nLNh&ZPy&4eHi$^4mX;Pe z^7;>fQ`wJQe^D9SMPgHs8EiGgweTXM*#f*b{gtj36OwFKt*N zT6h1=3P-T&U)g+jnsVX@#{~ea_ojnG0qh3o^&V}5Acipt>0R(D;5Gn?d*jAMIBjp* zAc^yf<%@3@BA;?_%;OA}Vb4BnYU_=-3?u>pHN5&Nv1cZ5Q5G}YAmvvVXR<`V|jSWvwMD}8X9=)|4*T|CUO0&qb_s2uI5h&h@S-!h&%4i z;#e~h=5c|e^>bK+A&4fT8(n#E!w- zT2ph^FgGaE{K_E9M|d5PX50lA2u`T~v1AZc7It=-Uh`Ss>`J?GyV;M~?w>oY@RsW! z5w|l$zJq>^o|zzhaC2kgpQ)NJ#sqeC%lH{?e)A-C=@hkLw;+OG09B}u?KGQlFHe#t_Jq=rNh(uJi$IjiMHkC6mI7Q(oB$n!D}OU(R?I=~ zVwk%wOL_@%C#a!3$;??ZNyqq3!WRQUFmiB_Ld$A+tC%Z%6v_vf4y#>e;*s%zw&l$Y zlsRB=kwNm}1pwx)^`7b~bj-Mzqbr8X7&@q&BrUfoSD8T!C0e<=0#T%i_oV_VfE|oU zOHl{UqHCf~%LDvig6c%5ABsgR!N80ki0p!U2T`+0C)cuCnI}YJpObjeq&_y`vR&Fm z-8{h(0)_&2%yW(OKW;KuX7=D^jvRTMr*MF(IQ2+6{c6AmF7gu@`p=$|OWZf+vU4Cu z52G*1aRE~oe}20A>Qs_?cGol_sf&7Pt=tLYbov1~MZG_XW}zT*0Sd{ApOJ<)y}bG{ zK1ncM_=E=wc@eJRCr@@R4l15-0>dxDYMOAKH|p+O;QAmeC{2zpxGTFEj;LQ1*{n-F zo!m3|SdMt8?pEjL)meI~mZos@d+6mqM|?i-Z%R1fz;c*0O^NUA52O3>-G|sR4GH5; z1>@;jhLku_WqJz|2^#OC2yYoI&R>4h#6RjP{KM}NWkQpAp%&SlN2vG*?AA zCAVpmih*%|jz_WeF@)g@e?(JDv4QsWanN(8PkaCV(GHW~lyezCs*8GhaL^cRfHT4^ z1zNiiiz@8Xbr$W>yw0vpr*w8793>*G^c<3pdS;0BXECwYfM*fa4v`$8nzfBFGadD^IMjq!|mUR0+NRz3#jhDuLYR;V^_0CLE z$H)>K;1^rf{;}K>?5tVxAoFtuO;uH?>}=)oenN5QP;M#0ie@3{S{kun&noyT%;2!c zz}Q#@HTAsrN;zPB+#EjhoZnK}%C_J96l5Nt)0Ah#HQ-DXuJ#6qK#fr18{9J-y!C7$uU zm@`Ek2>NFFzubrVkw^DqO&OiLgWw|Q`yjnUw}}J-&|%*fB=2Y7=FoIn)309Ns~R0? z!{BFy^iqHb+LfpT@Ssddo}1iKaU*a3h&v_W#z|!@XMC9L-x}Mmoe~7{FYHCYWR@

    F=-Lbxk@tKbn}*`AP-<}C6Cv=<-W6RztF%t+FT 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≶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 literal 0 HcmV?d00001 diff --git a/doc/assets/needle_1M.png b/doc/assets/needle_1M.png new file mode 100644 index 0000000000000000000000000000000000000000..b67e8a717f9cb7dfb48e7f8247d6145a4cd79d82 GIT binary patch literal 103188 zcmXtgcRZKv`#wrWc0%@gkgOzGQIZfDsbpkCX4#|cy%Iw9rV`4|$d*W%DU?-2MOGPE zzr*MI`aS>jyz1@kzOVbb&huF39jEjwqViv+jDH@?@HaTWXsEDPCcjjYutTzCQM%>UoXG) zKE>W(yyYfSNdMW;?(D0DHHN>l&IXDYH>hiWP}o_D#z(9rn5jZnQa?S@eU_5K9Feo` z)lgHjQD?X;O4uqUp>gWu$-8&&Ub%9GEV$+KOM8<2`?I#G-3=~ZzO1i5^5H|CuHfH4 ze^}Yrj0_Ds=4Dvg3$MK(CnuL;eelsbBqW53i_1&C@z;}T-(4SX@6#FsQKQuJ-3}=%X)9HJE!VmEaM2x(;yHa$$JYLO$@!JA(adEMRhDH*}p+j-*HA)4# zkMLhYf+{avM2?5t4L!Xi6<%)V|6*0j%F7Rv6F2nR2@8=H_N=d+foz zyLW4Js=r?+BIkZo)aIWb=Txry`1q)*l7+U$c1@d=R%d6Q z&DM%J*lA7BDu&;1ub?)e~W0wmDDOy?OJRII79T!Z9c=K(W zBy>%IQia*rcl$4YrkA4jhl%FE6DLlLr^_Epc>C|)y(s0@nU(kN-c=j^-rb5RSZxVW z;gxazuCA*~&pt!#-o+ppq?jESH&92)a{l~z(HpOt9^T?OOdj0V*Jt#OSESK>;l{ah zfmdaBoTSpi!bs1ZI~S32XYAF{Se1$(O8g>Y<8gO-$=>WoC8nmPlarHN^yGc#%*?*_ zd-v|u*4F+Eic(->Vsn|L!%dqeEiO6;CB10)M;;aN zQcEy_qV?&Z%~o5dm3D#d#>U2Io%`C_8i%Bv9-e?=c1))^b5w}S^Q(mkYX8+d@(%N6 ztklPbaNxUh_PH5{j$lFzQ?KUDn>>FwvbB=p;sRHxM0sD{azC%n6jD%JoPOHVO-n1r z-=A>9&CtkbraS%f(2&ZdfdIv96Q)~#e-5(w-23?PV`XJ!x=~@D)uIp~Az`}rD?^b} zva&4YeZ>YZSNZj>U#Dc3lR9?n;N{WbV|@FD8hv+TxX#VZ&8bjhr!Flm@oQ$ZeY?+e zoM=Avl>IHH$Hm1_r|0LWt_U7Zw#nD&^r`XqA?r3bJ62zpnK|APe6Uok* zZZ59o;o;eot*Q@`W zr;XDaGNaaacc(h-^g2~A<*SsLcQL6%`e> zrn!-y*2d{2mAL!<{`%DUROZ*^i$f;v*g7&d+wbGTyuH244shCi`1Hx0Pt3&WYLQ;w zGzk<`4RqSWs0E-rSy@xpd4Qi{T?QVu4wz1gd)t9c~O&MVc` z)%WjH+_(HQ+h?Vzsrklzn!(kj#>ah^zP_HT9AU36$;&fu3!^QOB9PD+ zuW=@Mad@A{zdr>T8SK(r!opES$3sk?->83^k*2Az9Zwo0vvqf|aX9N~YvcZsS~hvF z>dMN)HZ08HC#mY1&D|6AYN`#NtMI<<>dF;R-8;jmSX5 zB%ePUlHo{s$Yq@26qAs^(p)RhH55sFY^|x;<6b(uxxS9STk()fPz$~gqr&_C{d?x9 zc5H%{7NRG~$;k-`3C-=+w{AVwDG)q%%+|)HJ5BnsmX^c($VpGnO{%r|rTffLxA2z+ zFYlbs&CbroKGQFLURWsWxmr|Ox>RD?I&>)V;t*@f_E)QvJN8BY#f1;{fBYCyNlQc1 z`&UvtWc%k};mtP>CRGg#3{EmfsqotDN(u`L<5%IL^^4_E*?xU`k)D?3Fm6=m<|xJL ze}>>ddzHm(Rv?wHHq((K{!~fH$>=WGS{^%F8&gwL?d{4DIqmn4IOD0#&DmYMcCAwX z{iK7g;Fa6Ai**X}1m3o_wG9n1Md5NCT&;WV$naVPNlf|*XAEVWFWX({Jwl#nSnc57 zHEko2@?+qMs9`nANDDU^L+fvb`qJyvsWAcl4>Qx*`mH4B&s#e#uJ$~2HC}aN)fmWg zp7XON+qY2d7)6EFmA%naNfQ0hbvJ7Zm1^zxXs*Dsf`ZO>@8%kL?5tGjebt9%zbckR z4w+ulDUdjQn(ai^e|GT+3G?HPjgdxINm*E_-hB9=D?tCXz&fR>yxcRf{sJoMqel#O z`es*Dc@w@aaf7nPMgd~CgM-@c0%FXro9*VZO9{nlrI;^Hc$*g;@ZdGGg^ znsJ{^Vdn6Xz7HQeXU4GDVfUl;wcz(Fta)H~9z{0{}(FGMe zPKB4E6)Rlno65kzfCeqcu9@4%s^H_*mvjEorAu1b)T~lx1}d=e=QLzYzx9x%6BV`E z6Sz#_iw++?On*K&Cj5QWNiQYySXuw`RnITrjR3&c1iX1+sP*^1qB7sRBxJ@2?+~xF;w_6 z8!L^6PDx35 z^X5%}6EXuED=PsZp`xcxt*otMJIxOqI3OY-(iVP(J2p+m_2)>Xt;v+Aal@Ae?>gn& z(uxXJ85e=np4iFe{S9vO`Wze_?9qww@gGJ;$S>d9EZ~zIdHC?*_y_H~$x%iXdp&km%L*$O_RlBrWLUlp?;|40kh`06 zwQ$4B=kDE&-t2Rk3ci=LKLijT{N9sEtx6rtoVVcz2+uPLC6v-&saPRNi;o-Zz zS!YoQP|h4w6V&pF{F}zc>Bo=x7#S0XhV;bsTO#epUR~GG z;ZE#2&#i4@l2unHE3JR!itE2W*1?KEMQHK3roy5kp#-(V931vHZw`F?==QBW>g`*# zr-T4}zkmM*3OsjNNMm4ndU|bP{E5I@ps?m<|D309-@g6!Ci(=$O$&>Jq$E8(J&&1g zwq*71)6<99*eKgwP#1Az&ZC_b=)Rp^7B;BzbLZ#f^}Fj>^97GKEseFhMMg$u_17or zmIEHY5{_NFf#noacX6ozpa?$57!es+|LWDh)p^gkq0*l}Z9+`He*2c5o(}wGbmPVy zb8~tYme0W@_>o(;_=2Knd6dz?GG$z!WoI{!j@F~COOd=_F}kj&mxX0#qoEP=T3uGsH4-5hiRa%?}k3_@#qE`Oil}j*E+{sj2-G66opca|Gnu+1a^u z>z4QC>Uo89G8P9Nfn&#H?=G9`>oZ5cIVK_!vQnihIPFw3w7X!o?7AL3IbJte)M`w< zz8uc;JLRM;Q;7dv3YHc$J$}=};5J=}qM?*RLPF|YixgYSU7{4N9n;IxU5RzIwGZ8b z3gkQ%{iJg4GoK_6)fpq&jb@d8Xv$QA4!C!^$cgtKI6!xSt?HmeZGsAK{k^{}$tP~T z^Lu_tJ3b?03}+CCBRo=6?kflo)xHcR?t*8}%rpSM7DR+1IL58A!M|XF-WH74#R_)mvTx8nxmFAsvX&YM`&Nz%Q>jO_T z-DiJC66#*Pnv#?>@eU8;CC6bqN+9)jJ#RRC%%XaU44cPKo}6#tPs_^6B8XMtj-5rtvtyk7^2IPrwj_N(f{mX3Lw|pZ z*t;j0K5E+W!NJ7$Md{B2U0<3ZDh5t4n)sG3Zb9BKTT)VTkWs`>N{jv^esO{Bi2T3Y zXV2b#`ouWnwf*-~UZ(ZHCl`BKOdhs#mcv61syg*-QQR#Fdw@Y7g<0^w+(1&@scy zkGG1sFO1E9ekq!KB_gNI?0B`@CC=>sBs6@NUNcrzRjuE}jt>Y3@be=OmRb1ubFb5{ zE)d(BPQOi%5|)!=oxk?n@N8scWLKF*m%4_=(q&^~-_D2s&7H|!WoEn)qn58GGoh6gcSdE3G#MEgzc8AWcN72X zIq-i_hF4TX^n+`}a33K7R3ngN}}l zjcxRaX6CC`fYb?(9)-k3MMa%cR3ueB90~OBy83U0^}v22|Aq$n4hs_#lQUd ztRkY|;UObSmT?tSImT6zMaLZV_|>bll2p)D?l#@rJ|Vr5Gn_O`OiX?}f6&Lp#2l8V zIw@Lt`S_MMyzK397(7FRf@oF>>*_o;G$=#-yYT#*Lx}e614C-wfzSdjLwkhO#@fmX z-@?SqOrFSa;lhPrMaTJ(N;GjA8#3c3Xkxn8t|{DI4zeo7M&;e$IIn#!gu-9I_}Vo~ zTic7(sSOQ2y1MbHsh{KcHPJA+=)%{%`f*)h?X z-lR6=k&+sE`b3b`$~pdT*F_Ag{px9)#K~&-$;C2z zW*nqC&RUq82h~J`hjZ1vz}`aZ!%dyFKP#V^l*Cl2Kic2_Fe#~nK{6*Nhnt(5?$9CC zr(TRL?P!#~mkB?9`m~E3KWUN~8=Ku{1ue!p1zU0sdY5C(CBhwN#U}*67Fh^Xx$kI$ z9#gi8q0{rodZ73~Ve;Po=W1fY8QPj{&1@_?%x7_tAd3wY1^UoqYhz<$yPJSb6%`U< zVpAeueI>chHHQ9YN&x?Z75f12bamUrDEeLdC2rf>?=DWB%dvElVs&?SXVUuh>(}RF zP5TZ|GzCL)1o3gI@mic{CgquQkiz9bBmzR2#mXG~!1^clzHx3Jw(-{`5=!O|rjHLP zF39h0IpeXSBnaJjC3W&-Li*oHu%!j7l-CA(dP7Z(GJ#RW^O%^L z3Np!?>B-D>1n^{tR`!UhGNr&HK^(;q@s1E!g;qY<*fD=iyH8F9( zXU_&6_(5;N=CW=~fYaMgl9+}IZZdm%{?B50PEJ5E!J%nWG^I8RYiv64abM(oS5hb6-&A5xG!32ic@e>|OrF#CPxBasJAbc0Q0s%;IAHs|Z!- z*s))Du3$P=py$->Rkoi*#H+H;g$5iB2@al~nJFCn8Aw8nN@+sT!J>Ql^0`00_V)H- zA6r^l&@Mx%Iez~5;osrAJ{hW0P*GCS3$Y`Pk0J6PIeDIrwV4@rQrG<>C&ZGl3X=`s zdo833qje-3V;vo&X{U}Iixil_r3MEFQ?$PF*{;pcM_E75Ndv^&=(Ekt_9#9c{D_pX zO7q<7D#mj^%$UA^f1hgdmHs^V(`D}1_(zWp?B73ObSRp?I*z1K$FV@~74v9T3)r|@)IQ|~R*ujv~Y3_oKg{Mh+6;TYuW zxQ7oJL~o=$deqJ!IYGQC(sH2t?#A+eL6l6f*s%JZ&uAo}4EFyu0`Ltz2>pfp;KA@R z$_ai0!tV}JsBB67>9X!QuRnfdaLUptcm?8k;|BYWJ$WsJpFNsHLAI*oxZ~HhaW5}% zI}M%08PRpa&d7H zyd)y$*|TRVKZ(**t#b5>A6x&!)i~9pbxmKrdKIO$sa`t+&5xpS?!3Q(@^-*0&oahVhU(CP2*pP2df{>gMD>Vbeq5D*5tuVa3;*`&4{J08g<$Wn000 z^ee2i&z}zlAsHC3wX!0(aCiG(Wnv=Z4*vp?;3uM>tdUue=24#LVeAOc-o|t)n~=c!}BJZgL-XGPQ=l*kzkJZ3Vc$kmLEVo z41_d3-iQvRbuU~`xt8b+dcF6bS=yX)Gw)Mp=I4ub1+fWN7sh>;r&LoOLuM0$9OWii z1jGmb=c%sX{$Jc=#5yYPQchk3>-VpAb#;}{0DfUF6651Lz>cS1Il);i+A0Rsq1ItC zKrNq+bU#)NXb8oDnnQkWu#hqJ`rfjSjv5tTm6evBBs8wS2g$hBsxJq48JB&d{vNIS z$MGw4$_2Xm*RQ`%m;JOT463_{I*#pESlDS8d(yA|Y+Df4@G@WAlE{P$SbUmpiSAU}S5IHI3UD9QXP z3=R4a|0V1?02R$-@nF*=SSNT)@IYY6B&&y99BOHY-9*JIm7^7rvOo{$i0R*X%*V%v?Mr_izxR}cL`7BA^Xuj9 z0|Nui&1Z|R&dkibtgM_AoLVK*+S=O2bxmV+ zp&AJUS3A#i1LGznCU#9b?b{cKW5KI@cj;?zW1|AE=Ca68a5|?QCnH&_7?eo6nE?0w z{bv09{Khp-)9@llmm(t~$SEmrXZ9I|DjaqpFQM8MMy>ojJk0f)sI!cq^jzel(qAH1 zuU-3Q%tAYYt6+TiIB@cxiQMiLmtC?HlX84Hw@MvaqmB zrEzv{$A~Z)YH`wV4vMJ;1Xmmy92|sH1&&64UK{uUg~rL%b^d+<&8Cd@O4G)_wS_&? zD&_H>^CS{S5pvDIU=w7mrCJIc9ahy_^{_A5z!XmeeuAq)R_W>KQNXbQ36{J)qBP)Q zXvj)t>)-4I{E&A8cpbVXWyGleF_)_zC1|Zm;jeEh&NcmFfvs@%tpCUVX7gYd+CI@Q z+(k2EmvIT(x*riyd+)Dc-b?r7V?^er(54^}oV(o$tC9Ox=fckmBC64aGS9 z-QDabZ9V{YotBgHvER^&|FeIZpVt;1A6oS%nacw7&vXTA44)7F{`D);HkOe*D$4^~ z!w3Kp)iSf5m?}9b31`Umb;M!)4RMv{-$zFD9|peZ>?HHlVx=N+NmbgV6BMK;=UNLC zR(#JXlGU5V6w>T-v{lTkRPR{aAt?{&iUtNOv(BMK3UbkJh?Q z2s`Mb^I>)Nzuy>jH9_^Uv?Lh=B1%3+arn8VemMzFhbbQmGcz2~%3APj<7|SsN7(&= z7tWlzSuP05CCB!RGLChmk<8N4QrNWh%a^pI^}Y^C@|%6=ej3T*(8c}*e?K(dc zhZa{?+vhsX#j~}-PLi4C=H>BJXA=(k`D{%tXD58@V_lg1hTWUL^G|xs#WgR&2Isq! z7N&o2&!($!ei9hC&*0#HF3BY_ioL_Wj+Z>6r@ILxUqL}wUUrhQ=kZhuo&HbDRy$j3 z|Ni|HFdh{YGFvCH4#X$y%*}O;jWt)V#h%VFZuChSLlrp}O7(ZPZyzgB`6yR;(C2c7 z6Ya?Wt^xuA6An@kKXBMwot)^%gEM{pSvxv9hH8c~hCbK2ewLHQ*T#KcT)CD8KIkV{#h<}SWr@ZK zJ$X<3)z)vMlw3}pqy=c<> zfq7qM4~g}lU`F0+@}=nPY%WJqXd}TdUf4T3pJ1v-qAnaDTcD*z&JY-mume%Z?u=y-=i!?8nd?+H@rGn=5F86 zr6aPn^<~WC+1aNa^iIq)(Y)nz7s13Fu;tOCM^SXns!m~9JIBU$AWaIay&ikxlSpW3 zZtiEi_H*!{e^GkE;2Dik_S5$$*ktHi4j6vaCO-6w~Q>Tt@u&Xk1*JtlZ`QU(W+Mb#HLT!kecZffBc0@v4#0{N&_W z9rc%0RbzGTngaAKQrjX$OKT%Pcl54#$?rlpJ;bLjASfsxk;)i*}*k|$qHpcQbJb)|<1fRC_H zQc_Z=<<}?Jp42{lN~+0t=ulvM1{U7>_U%DtVWlG>rY70^!)L4Rj7Ge-(TR!^Q`kE9 zj21l4&Q9H<@uL`Ls78v!4^$K=4A$1xQ;K^&x-W;h_;nADbu?$JQ))^Ip!1o!DcQIwaL2YJG>CxiEVxpMAVdaFy9sOk<7 z`YUFaynMN*L0`XqL}LIjI{N;72}wyP1=x3zx+fnFEv(7wTly{a0gpEqB2ObJ2^8>9 zTIlG}yIbp}xw$tP(|JTb!9w{dED!;{85tG^=joWJ=!@dw%Brg0MIpT$OmZ#q)+snS zA)zNa)58rQ+WuQ#r!hSzm~hL&;>WLFfudWf!BHYj-!ra9K5uZ*N=5dCKJXWEPi{Z5lD#Mr<8!ONegIq>%FTTVL)W(ljoXIF+I?}*wp&F&lbaXUV5-?+Vsr*C?Y zB~SdnTjBe^H17-!e`p?(aQ^-dC9c!F4BMcotqpOW9T9$Cww>+XqfIie4pke9go*Z9 zFU4ulc1Q++hX%2S$RncI=|?l+#9< zw6nSRk<6ZJg@aIq&fXEu*BS2b&(SI1r6c=c1LYO!xGVbZm(fw2bCDab!g`rwRf1H? zpJ(d|Zg}mK-h2bw2Dl(SeKd&d&QNEDP|nZUDE>B;+Tmvhb^q*T;(ELeUHRC>Y zws$N;+O30}%wTu@TQp3>B3;4VjUHcke}$0K1QVVW70tn0CGzLw=O^LH3Nm^q8!*(J zeBudAY+l|rpe{}tIj?n^u^U(!U}ZL&Mz*qV?zECc2=qin{YR&2WMpJx^DHqjv7lhj z6W{#%>l8{LnODl#_k3r65HA`TF=JNxTbPx6VG zQ#I`LqhKiX3=GR2av%e7w6v8XW-^8-}HBuBl zZ-5Oau6C@_7Wa^-nC$^m1Qxbd(A=qDN-r&}InxRZ)7ZRuluUuO_v}^a>1;k@*e+Y^ zOL*)^WZ?JOiP{lhJ&s*_{=rHDi4>+l#q9OX@!bbPzi`>gVX~g4y%JF`$`I7Ux>p-9 zMyiD>5bxAWzjRsuMc8)%;-Q`x%v$1vW=&aHSwvgr-0~i9hw&|c;5o(T9~(=%tbicH zf4saEPvk-MRbChMSq%kGs8F50AF9{uDBdat?#Qb?4c;tp@T}f<90zTZr1+MHQphC`Pi%A&W4A5M~d-(N*pvmJD=K`*QddA+%e*RoUMkYlmfEKX@+|$;r ztI9z+CnY7ZUD+6s4AL*GBH6Jy@{KG=aS|4b)-jy{+Mz)|6xELI;|G{nSYGH?l6Rg^ zCHB>6B_r!0m|`n_{`^2FUlNR>qxl}dnqNwvJrk6Wi1*fq+fp#t#?H>purVmJuRlT_ zo?wwbvMw6js9DaWoB^;-CUJR905vbgk6UlyQ!Uov#5e}8`okWoEJ0*1pr(F#N& zLMMD}rAL8ZH(>DvJhr&*L7Pg&Y|bmQ{;=arTSF#y0Zy3$`^;tl;XCl&n%QZO7Q89Q@+Fxe?KXw1V(Rl1={un~flsL+{flWo7H|^xdu= zu*Rm6qCA{*Bm`2JaWASuK*S%4))?^!RD%$^tgD5pH9UTge?SUpQ-K>-#VCnJk1IK@ ztCPU!<$qdI$IJmbq}APje~!`$$2itDG-On8T9)BPbq2sn948ZveZn7=l!#UA<>j6> zc${q9`DeSS%F`5K!SwxI@(HWb%F19X*aM6#EM3p(De;VvVcNb`KwM1-%=0j~)NZ(p z>O6h1;zxKrd+{fGQC%iFtj%L@9SHS_TAd|sVtasD){;H=gI*h z0brEUva;WNxmBTRhXx0iYDPv!^MA7zJ?P5tocK)AyZ7(^vrqH7qyH;eh~QnG$iY9E zl(lRVjdY9M6?CNAV|EdZjI&fr$Dybmmz{0K?a{K;spmWnoRiF0yJ z0EdyTpyHk(D5=EiAM#unO7KxQn^!MP=&HfeGr)qEXbp!mVk z($bC3<2xS_#yu3q#^!TUY24Y}JyXK^p>l3>1?Q*NHO@14zEm&G_T_@FU|Z6K*Sasr z+k6nXe0jiKwKGhD9p@YNlb5_NdJJ2JBrq(3vq8dV$);8|aGc@VwsC(RmN{D&74;sa z3V2=As5Z#_$ZunsHAkdXRD#&a zohG*NeK#q4B`9}g)QJNcdS{@cAAcAVLsPu5@O5TkySJkDpHcQ5nc1w?I)ZUs=n1Uy zv3F>=%3!|2{Z-f0oLTY^Po6_d#VP2eq@bk4UmM=I@xX+&%+yvD2L3mj;E9QV2Eb}FDS!UBbbh5yloYYDixyK|hhi4P1s zx9NS}@Gw2Sgmph}%47Ih;cl?%hUjq%VMnE9WSA@2Cw8LL6!*{&AVYas*_p-Sq9QEX zkq|_iwh#wH^ycpL+ry+RxYmY-2J8>`>_dw8qoYGbC4wj=YuHcSVQphKe?wppYUMxO zwikNly59#biL{HuY0j&knwrkM6DzesM6oC3WMM%8+25SrjSC#!ym6gj7mjaSD872L zk@-8jiv@%aMnmixm==%{ATwm`1fZ!QMFSl`SV$<0rTnVL3DYYcJg9EC5d52jMh|jT z?`6VCWh~y(56MqR-nVb-?-xh+KtQ!aqVy@M7rMqaP}jvo5#;EQ|JC56LCpd7N3^Tu zt>U$qzh|XPHQG>%+78o z_uS{gVP68a?=ii#U5#q4yNML*3ZxIMYPYj}2anx(;YVwm|4~du=yxLx+cRIbki)Sj zeC>aK6p2^2S~e<@Sgn^y6R2YT@;73>ws19~bT0v~;NO_m`QsGHmtnH>%H2Yh_Z+h` zM%BA@uhbiP zxi1L~s0&vwzU1=UW^;S$%B-99=Z{ON-u<`ayhrnO3gWw_9V8U%mK)E==oSt-?U@d+ z7vG_Jw6^9}RM1~CRLd{R%WK0jQ(aP__A?{njfE{@e$8&5a9rd0O{WJ;ng#}`%DFWj zOF4Q%$l0an6xdl=!KwB0rN0x^-I>-zOC@YR1hJrdFBB82V*b~dl$u(>X(~)HyNM!3 z{iEFyLF4bv>1Vw)lyktKK1$u7oen$ng>7xm6QC)zQMf5937nt4SJI#@}LVb03 z&a*(&8p!w&ct=ZRxUFpp`i8(SO?G3E#1~N1VUPCpl|t}9XbTbg`)QAVY;Ue1k0~Q9 zT~k*FWiX*y;2R}8{-XfDSSS!B97L$f9yju`kj8tnN-9b6fK3)4T<7v-ZR6Mv)h#OK z;=_R9;J~bGZ1Zz-XztJ_h`XaI9VeOyeSLjBJv}d6cmpN13h+bIGcXf|IO-;{p8z!| z(rm~>At}?@35yG-B?>ed%6dgbkm$?j%yFO+7ke}O;-dIk@`gf5F9x_fZu-a+u~W2b zBS<}LnTeSUBxa?hrSIOmcPUkpGI$!oUH}0{RhN|~!-2P|Nu;UXF&C8|utGvAydq>2 zIseeHEZC!k?~#a+4bpcpF$9{o&_i)wc4K8wvHknin| zlZ{{>3Wa8l_kOZY zd6gNaRS4inv7Y;1CX|tehTw^#6H#K9@X@2m($2Sf4G=`(g5$S2BXyQLR_J})Pr*n^v*ihBN;jg60QW8h;H);BjbEro$wETc)| zX=7`P_Hi3R0m5|)3-I#K-nf8r3i0~h-=7wsBDZhPFDx{AuH8{dGJiOnc^3*R4)5rf zFKuR}`S})hc0#ItM54bT6aui~M!VNk?ESpiMUGIU zd|nU^&3^>$G4Ff`YSNRbV9ZN*MOQZs;UEAa5Lj5oa6rzR3zbrp-F~Uha@}r)pBBk$QW@{|7vR9PULfrB>1_~(wWXyEblO97 zbO;vUc!YmiYo%83g2V2xT8H>2+$=m>h0VDW>K<-xtI+Ioa&zHG6+U~0qGW7n=!N6` zLEq}m9n1~{%04>7IfMiXkfx$y3*2+eeua^1D3?LRg|ym}dP-DWT!%Z>?sJteQWeLJ z6~ZNw(6GmLL+&42mgBgYl7+=|fBr>y`fwPdLkCj^@f>g1o1*X!4ON33V$cH%*5dlA zw)P(S0-7!h6%_ctr`>#MQ<*Za z_o33AIhr4jxBnX=0}$c?ruh4+=E%?Reu~e} zp9XrE98%AS9p&=u?kp-J36C3|4{s<^znlz#pIgw42wgu}G7*-xHaGcuxNv?%dNd7LP0;D&Sy zFf#-kgve7dLnfn@z6wx?xd z^9I9%Z3E(Nm;nbIAPJBwhbpu+`S{Itm_5kx7UJK(q}!d${fBT}3s&G`(RB#gG0DlQ zL4*-GPR`Da0JO+$Lmcmw@J2ukB4s`J%z&oCZH|<-nH7cIt(7Zveqp39pU~(kEBSc&eO$coX&>tS48}275DT#`WRfdPQaV>59inm7SE`ba+ z^~cE`A|^+iUp6*2)mx-QIt;9@D5LPGaEvKhA=W~}If(?^LRCRQK}CfwcPyu`GE7dP zWop_xyR{AP*=1KN;(l=$|ZI!EOAvwNwQ@MoUu@LzaNVl7dCzqBwBC8>N@6W7uM9!j=(Twmp znd2a?=5PGHF>bKCP`~ zwtHDx8cWJT7artteoP-d_wHTkkv_dESAx~`=Z-*&;QLXX6${Sv@xzCh;lP7>PEKWD z)OAnvS*4xwVq^QD^ev(@rrWVcbfeB%r6@lZ_-fUz468Wf9%c@}#r4F1CZ)b~cT;`t z1_sdDh5n3>#_TvFc{)p;pMg==z$L^Z4hAbe{1#=Jgcgj*+|4_H+>wz7hh8e@-re0^ zI~oD8^4jK`H$8ytTJ)9n~Km_QqBwi0}!{-AI6iJa$9$4XAQG;X#@-M!&pzKr|l4ipovGk{tBwg{(_af9}(8M`FZSFM6VmRS3kq<=}9_%uIu@M zJ-gd}7{P(z;f?LJ@e5~LL~`C}PkW(u0NELPEfK%Vtd{-3am5+M3;I1~RxsHE!%9Ux z0fSmt8sJ$pHar7dImTZ@>JDlQz-mP5yc(Yc&%N+~bpz)NKUT$aWK#t0Zd7`GcJ8eUvi79$Uks!fp59*dX?fkj87j zd2X3*z<)u3_z;xLjcad{W~V9fl^_1)bZNBy6qGSbqTn4gcTe}VFd_$}rR_VVl= zU1eou*h|ABBgg;(EZ-S#813ny{*e0q*x3OHRTu6vO(I={Bk=WWnbWjd4wb7U0u?;; z#nuxw6s9%?bi(A%w^3~;8onHheDNPdkJU2Sdu zT)3Wi2uK%$@`C#!&S+y}!@W5;ztIgP2>S<{Z*+7Nr7M2IwWseT3J1HwGWA^Ej0fuY8!S(ZCM32FxmDC1ABCVn(#L&9+56F~o z-vOX^e5kdv^C%zRcLZ^iWPYYxYr$OCG7bnN*u66hmjMwZ$9UVGfI5bHttHa`9+zA! za{bWL^8zda1s=^;tf1}n>$@Hvy1Kd;&HDZMrKYj50w14pz77OQkwi54Av_o^&fh?p zPBn5+$~tpSGQS@xy_v6bltD5>1;dxZtoRr%3l*OC; zGrtFbRG^+h*I9H$K?6^Jv!#-cfqpMKCdPh7F!%<= z6Ps%-go>>eX9Hm|6dB}gMw^;U;2)u`zD98CKe|qc3TQ@ONj#K`Z`A)o@1%`Dk;qymA7`B1A#OVD(^K^{HyjdD7eL z%A;H2{qCrisd?mDOV>>HqWWxj$qO#$Iz!ZmQVu+0F;s+Qr&u{s!6JJBCLd_d`d6dtRhH1KC8 z(^uZ&Z9K3y<_#oIo=gXpwfEg*5wvf+2LI4zj!8P}%fjFHMc(f@w>5IncLL zFnV#<;Z@ykc9AQ%(C?-h^)HuQh1QJ-nCaNr?^sw=;$eMyVf?18?a%K~u!ewH&!-!z z-w{QFbnghT4Lt#wDtzJ5qd)LaOU5b049WK|z6Qw8 zLVS2{jQr-!h4IFP*;#?OPK*a&^TuRk{Qmk?M_c>&?U4#t_COEtILARPKRne&D1RM> zp7!$}IPDm()Xy$YibHdkKY7x1vLzU)fGdTA232-Pu*z@%0Z;2l58PrpaK)kdw6l}b z2OC!v6;kB}+zULh_3|G1$f&3*0`$;Spe*-vcd!2W^92Q>3c4y%sM)Bp{>KXK(HE^G?*qz$03M~b=-^3w<+m3 zG2Ai?dbSsu1+YN~de0}lT7=YQwda}$!vU80yZ;qvanh3m5Nso?yuH2Pdm-uYXIF;Q zmvc-`t3t6ANAp^DUseuw?{ZvD$NMZO*xD9Gy1IVBy}{!`fd)`_b8(S4b?O4?VR8FF zVgwv=%=Wn6BN+@3R8@UFSD7*K&*hR%%Z0Wm;D*7JDzBWZcpddpxnd6#2Emb)R+@-dZp4#F)s zw%SKXrwP%c2r^^PrZBv3rG{}<3=cRm6hD1hQdJdlE=*SthAd`#_|owPhtS7Aj-0qP zF@r1wY@vxtjJh7D3Jv`Cya_)aW^l>#0$&9uVLKcY3FfHKP!dB`RQvbembAnXr#&ek zUHgfen8LdN|!tF(moKbMG{=f;gxz7vQaSD!gS zaROEo&SuHx^(wpM;^Nz%$`OAtAt4EcKZ3)w*C!!xBH9a$s@-4~0}r1y5>1l;oU-@- z*D4ks9*%#W%LSvxa5)c8;3yL{C)O!^ zmB%L!G9t!|O+fWTJ(=iM$Ob>P;^JE4t~U;{c=CPqQ3N_LB90P|xnk^UYBm|ASFbT< zD0lj_c6o|v62f&kiprK$gLb31x~_!}@y(M$H*9@?WW# zkwvAY_20F8pYk6=1#&g81cV*5xxHm{Ld@` ziI%)L9IoWBI97U-M5u9!CSo8U!xtJX$oh^@b#8fid12u(qSF|m!K*FE$3J0;8Z-Ox zvHW;#%O)PP%pdvxM0&wak?pQsV%Sqoot=4>guwT~86Xju84nd3oFWy2oM2YU#NM(W z5kKTef|5>9tiXE1r|FYWu%1q}HJI;B7~L~tYVYf#{hUFn3_|f4hjNJUDvdRgMVQ-w zU5f#mpms!A1?-Gg)O4+t<*2^=>!sQZz%N9EbY1k}Ep7VXqw_@uMgCv|NLyE*$vp>J z_Tq)+ouCb<(b5$Vv-kFa`@(~Z6ULPCR6i^r@WYW>>}}VU8i%q%6A+Y{$)P94J({O; z^s{9{PL3Ix1MZDyL+EIPKCFRuL-0)}Lx-mJA<`!q$TrAzj2t?y^LlT7-caNv@*QTS zLoF>|L67I8sxc*mcaq?Qi>5CuwrHw$6Un>Pb_qZ}4k z#Y_meui#BpPo6x%iKm;PYwAU$3h0(`#`J;N*m3BU|c6|N-?|l)2BC02dG%X-dLvIDt!Xx zgLf3|86N$<4r|4p2a)&$r~nuOdV8FghyORMb@@@hHWuj6I_8EDiB0Yea{n$==Yy+{v8hvB+k0=0c>f;STdkgua;C>$z4OQbbmXY3k#?t?JUG^c zL@n|b);2a@mplN$1qGj#|6AWbYj|u$P?e9c{FG;0a=ITS70=vDir-dn%n~tX4C7ik zntiXs?Fou-pFh3bt}=T~-Y=Zkl@8?|9Cfb zW!@13$T~eWW#S{_CGv&nx0_&s4Uh=Lp<%qfXo}Zpl!tAHf?%oh{d-Ik#4B+F$jt1W zBI1iKvqVWirF(O*_yR<_#7>=B+v`rsQ8Eq_XR!G`eq>GTii(U3On>m^8|);qU`4$@ z(C4gD4qP~MCmRH($ha{ho$KKrX9THEpRNboYn@N-nr5J<$9O-=9x%U12VP!*fCUu= z1xBUEN=)~Ci6^xT{rnTaU>WL}OUtwq%mVC_qY-#@l6>?VoGcdAy!(fjF&2BDgG@fF zm~4LlE);s*>hl_qXyAPS=56HH&dLQVnnJzC@LzI2mF;VM5Tf??>1jkEp}xUa!MHk2 zXc0;-k8hQ)Nj^i9mN5)F^1YTjmlZpSw)K|wv zwMOj@>Ch!1N{2{`v~(%mAdLu!ASEH)N`t6`NOvP3A&pXkNOuZIBho2+YtFsj{oV7| zk%2vX_I~$z*LrH+rKhG6=y4MxVLbz|-r)4+wd}iuca*HSDhd6o*_GJd%g?cA(|q4W zLA{Deckwv}#F!WvK~8)L#T`745Kdv*>~n*`Z|k7=BnBv= zEAS7%ZSw;;&o-r)no*t8FDNK5*^-lzX6dj4yHN$h4#3L&uqgu_0fKgzX z3})={N??6DzJ|-a@wWy0iWQ5h_z1RK92^`d>d<2L_x4W1Rse%u{ZYtZAc2N>Vl6;< zP*mYppyN4#Lr+$;wFifpScDQw$i1d_=6<1*_1Z7=`?I)W9Q>PHVzfMv_%%I!F7)lT zl-?XHch!%ATn3fQOiUQz1erHEu1A348H{x@j5N1yfkH%Tm|p=9Ubtf42Vqr0(hX%y zA=_p|Td-(0apM@`;oc`0wZZr^pqil+F9$Y9C>V~S$LGv@17+O~2r6^WwQ_(#yq(@OZjBkZK3uI>mkKD3|Y_cn-0W3_2Pq zl8c^&Ig^9NTUsM6f^AVdP@NbH4G&!+J%W)U0$qt5OHLCFONTf|F-UhxyqL zJ1<|p{rwj6VcOl#r!D7ytzZ86^J8l(MFe^-k`TCw&;^_)zDhvNq;$Rqac$;KqN)5P zEm>??Y|VQ;9KbB6-g~MBZF{dGIx>^9w=Y>>b2vZt3d_uEoh7zQ*6tZVv0yZ%z-(LE z{gEyy$!xB{R-+SmtgbAS`^x!CR6X+B4}CU`pm z`Gq<#4N^@%fKGt|0p^2%PNETvZfDVJ-J|of^|T$k69NF1R@PKE#pc{MUkaPomLqXA4~ZW2oOn|LxBgN$#>l3rLNB~i{f4))>)ZJ zeSREmeidmJo2l(}H5$&VqiM(bwkoy=@S@VW-F1>DQ9*uyE*C_ts2U8Xw~>E~Ff@w| zHh6KDl_+jYSl$n7`v*Map`FNcsnq#%yg3fJ3o-2501$mv&R>d9#xi^?z%#v;|m2PK)hd`RRM2`bO zFDQ5f$}z!@(ZIX>(*v*&9RWk`?cU0k^}s&scUB+La)*aOtD&60`31Nx7_F6jeb^$h z&dc-ie(IRs#D85o=Y>)xr~6-?LSR&93=JN_V=Xfj^j>b$)-g-)+zPIeWEPxFZdfItP`_9;z0Q08r&WDv->!?FgQdnW57G85+7J|GC;C3W$` z>mSh?KNJ#RB{h4PmLG@TPGh@sM+Ejl4-XGe{lapF85p%<4ZFV)AZ8;Ac5vFLj7rA< z)`E2#(^+&U@luN{5E_G#o`?Rc+wR_Ad?3JC@V}od3_3+%n9J+(e@6`ICyqgik1YV; zV3RhlcvKLi17#*4AOPTH*w~sDi3&#tHp^S)KpGYC^dqPW6B8ed7eDKdfA>!I>11y% zzm4nmlpD+(iQgZ~uld+QfWzc-LOeY0^X*#LUHGhjB*6kr-T2^pc5u4mf8|{mbne*k zMdja`5UG3x+*^IXxT*`gx?!V2oMUt3g7g4>+k z+8SnBV5#<7O4uS$P@JUS1z1t&JeNu8e=EG4%^W9kQ;-k!t)C~HnowaK1|;DT_qWSm zaTl349Hwiw8+Mu-0APcN0eMYk#j`&RJLu@>YawdTs1)X}0i8M6Bnxhkd{!4k0O%mV zHmgC&bdWqE`4mck+YUYd&n_}`u}roen1Hqqy-;xyhTP&#Sg+2sGaGPR$L-!SYtr33 z2!g~vFV1NAOn;#G!qn*%xZ(=nvdr!vxLRa6YiSnP z(im!iBDfH+=U+qkz$JuD3>6FnRb`Uzq3%H9*8%}fnF3hlP{%+p6tDD7`S5Ba=M;Wn zWRgdSz zZ+KO+MerZV<+}Z>L;FkFM&9ziW@765HN*n6vw(Y~3ECTac+`z=Mu&x+v|OFHK#tfe z1r@7`yF3`Bt*~1*0`Y~aXU%AGnm>O2^jl4Rnaux;l!Qcjwdo*jTr!ATp6CW8EiF*} z{jhJP3OffCVWM0U;E6hPLx|Spe@${X1tCd6OW*-~P5^(nnHCBwGaKZf*y#flIPbAU z0I6yEMc`@wQ@0cYB?q;yos}Q_{Q~pg4m@9|F@T_q4H}hvcWt;0@0iy?8J?%T1wZkJ zRk?25V5;TIybFb$$Dq;@Xt*;sh*pHw)9bWu`SX#@7F}!?88x-&u;HbW)68*bJs1A(C=Fyif`h_nI&9h8vSI%lT7RzN8MYx9`4uU*$w z>Q#Qp0RriB$hz{_s_0s)3+x<9689ENO@rCVFICiS&T};tGPcf&;QAyv#>x1F#~PT=kr|4r%#7zw1Vi9 zR9LACf@0pUwY~VpaHRr}0dPIf0W1M_YLsk%7{7je6NXw~@x35E16CA3**VWJrFp6F zy##F<@x3(sW8!<1*ySM9Lku<=$T6GsJKsK|rSo^p(+Se9DDE|5U*VQCk-y1s$f(c} zT}Fkg-Rbo3&?;_n>F^IGS|h|&f;1>ap>&#U3U=Tk2KlFUz2g#E-OAs zwx6zvc1UTZa-6A)TRlZFOh#9C8Md@{vy0frd?a(K9qCA^r^G}=fP8>;4j3n3t(#-z z*%eOD@&j-*b#j42Y4SSGn!n4?A!y{PasY{3KKkD_VBs$bcxsmK^Atlcq4KHT_jXpcbX`Jb|IJ$v5d1u)o%(uSR8 zcDfg6G?^LhW_d}my-}%UksNJ&JhRxA( z$BIXMeD{(C9OwL717O^TXLZPk({xe$+~tMKnrw@Pl)cU%cPR~mK384|ay&qhS5@!U zyOA*3^dOdd-2|3e1kNdhJ0K9>=)912v^+LHn@k-obu1yt@t^6lZMTh?LQNU;)W+C| z2wN&jpi7P$jJeM&TTB}S#Tc{TiB1)LDQLvG4K`C37vByY%cxzr^l$|roqVVv?}7Y- z2MP)fgEa|vBC>3Y8(@_rFoPvh4Mv3;Y;0&bVu=@by?7a1<9=m~@rh5335eQm&E_A& z@90Fq;^Cx-?6b}mIR*2a3`oIB#t3U?hM*_VyzYIpVW9CyO8KmC#ibf0vJrK|#Urwt ztv?)m@&Jdy)P70mu)XH_DW73_Fg6ivrkfLmPrSwt6mUQ!?6#004a%d>A5wWl{WtAv zS(sVnY`7IsFfg!D5K%Ia_{x|2un_AqF)Ciu3v0U<)-pV|v~+akp#x&TiNg{Hq>s;{ zJq&_yqbg<{{5J~ofx+7ZGF)fxqD$69u*&A5T-lAMhZJU01$vwXz^%&&VedM z+oa~;pavkVhK9zA7kqB1CbbUuzN+kJPFgyzUdtm80Hh>Rgi<&BnQXX*kotE9E#+qu z!-kBER@kgd91KAC;Pzzm=l&?yU@C*##z^?j9Sx#ne)p!XrOaAk*R>3a=N8n1Ax{8P zYq|Uf3ZrCb#(;tWT_`z?fc=z?46iQ_>b8$Xqaj>3M!t_bKH=o3T;Y12)?rZy+cyv? zP(wkoAno6!=4u^cGo-pBxrRk_;Ta%7sCokK>_LCu7s5QHtG+)S;4{>$ zKO5Qmo9|;E$PkK@yh-Qxa|Z)%tE504FVsss1QkH=r7q>;_dWhDcpYwn#YY_00f?7? z@P`$VO~^E z+!Qm$;yT*fORj9UL4FE0Er^C;=y!>x7TAF4&HN!RB12JTDbY0P{ZNSrW`OL>RWuDH zDXCHm27(iN3GYgX0gO)Q2po_nO#zDW6$?)-O?Xm_<%^xQ!t|IuDRt-YwE?E=n<@A* zC4p1VZ+_VxGdlh=RRt*BQdbpLU~EhbY{tsq6QvKpKpKmM_M**iPu1A&FSb(x27r#n zizE%8FEyFU$D@FV8sL&0h!JSJL5e3^RsDW5C*PpgS#}i-3J&@x;5e46TyLF$0E*ZB z@@#s~su!B6;vyxO^kL>y=E`EY1#@x3m_6u13^hlfh(b?z4E?ZeX8f!LuNu{{KTs{7 zo;N=|Dls^o_w9#y2t)vo6HQ8Xb2zmVac*d0HA;}?Z?4D05l%9 zCc+~~J-<9Bk`&$ojD_<~g+b|94yz*UbO-L@^~aB{M#q7GcNM-BeUn8BadxowJ$R_I zRA_HC&9C#h;Q9mBroUflFs_xG)YfEV3|QQa^;y=W{!4*qWule(JJXV`7#69n@_eiK zv@%tVOG~Tf>R=yKj`EoaP9yL7X?O^6fp7WeFGuTx zy)a_1AgQ~`HGP=EDc9a@&lZoz*tc;0^LYk7h;KxM4XbJ1n8C{&tgD-msOx^QHw|kR z9O`~yO)ra4(|3~ZtC`m6<~in>POMh@_8 z^-jZZN-G5SPOse5_iW^u^mW4;6-c9(T%flf z60fT7^Re&T-CCl0cUvK*e(C3Zv@C&z-lv-hrKWz*UKGFAsh_#GUo9l)IQKp^b=y_6 zbgUIlA^)ibx*MCmO+>ZEU{hj5j=f`QP&!eVVim_<}{ zYTb3?m+l8-^YsHos1;A9`=|ZRPFJC;hd}d3oGT+EdcI!AdE&BHe*dx=vx6~YeZGp; z|M^@veE;PZde7PSI&5bi^$$~Js>$VpBu;>rz$|Cm5fOj%_N_$iQN^?}@Bno4pGfTA zX4CqA-8@|THwQB|HX&7=!|Yj5kc)K{m?tIPMSSd`(8x^q=>4ZzsM@M%(0nWvDRH^B zB(_YW_SEN_hnaemA`F->FX~-@=!DsT1=A+N7iO8yzF*tN#ogCa0Ab&Qu>={UaU7Eb z4O4hD*%}rEKFznx2hiO2t9pbE(e)@Q0+>kbYp(|0s-=rI$r@hsN?lt^qVqfX)jMhj zuKx8yuWw&vw6%@gwkAk4CJiS~82FjDs`bt6uFpTTO9-p!S?NpmzZkp?5NRiSOl0JA zv)ef!TCjpj*_418_&8STCObpPs%AUK`5`SLChACcVV_Kum5Vu3gT0&aE0fuWBP9ie zyq#a@meq#(rN-62K04L{zU$rq=FPY7-U*~LC5vB2gMwIP-TVcP3pn%;0~+}w04~%W z<}7BXsvTli3kRP-heu9FnVx1kbt-u=5LWVoQ{4I4jq0b=x2VLd_Ie{Y8)mqpdL6?G z$V{&xoRmY=cvMnGa-4^U^m16jBcl8sFXsG+!Y>sb>L?v~`8%U^q2W&>o(%t|EBY8& z({dGFhpC(!n7K73a8-Z&=$?W!sEDHGgT-ajChr6*{DC{K6S%a%6ltoZwO39OJLB9% z6V$z_pi-)3v^}$X4#+i7?AHix`2eIH`uf#CC|meYuXdho8Tk zefakKqmBK&%wI&c51-vIuNewOAt}{%A0f9$9}rH!9znKF9e_4G`&+0iIYP>QxPS?{5L)V z@o^*XJADXR_qaX<2X~l;vvlTjm(FMBq6mb#ggAef$JJoQx{=#Nfl zjbzpEswLgp!o;SBYk)oahI7m2xt5s1)uv7Vx@l&fF!n22rP*oqh*JK#V} z+nZMvjc4|TRbZAWj_G9aCeCleSCokSt&#qrB|`dQE21D`Qs$(9@>ht&4esMdcRSyj z^P(@C+4?3TyLPQ5DRD0IeVB;U_)e;w;>Za6#@i6@*|?kR#-=Shl$w7q)qTi}W(au4 zzWvztFLy^#KJ^}v%$Dn_Rl1H&Jc5{prgWz^-yW6A0swvWxGBUl0%e6t0RboyGOGYB zTn1wKMfV#9z!tVZXG9>x=YM$tebZRbJEvr!^6`(55Cyt^SOglY`?tCvD)AUPpK$d{z+>@iatNKo zEty+A67GD=Z0~E*8!sBu44QsU;~j5J%a7t`n`i3hwRBK@lp{k>uJm4C(5&dm?s+ym5f9E82Kb)kb?GjQ zM(7zHRlZF~m~DCCDi%Su`v#+6X8M}1{x?ink{cIx0dw!?2D3$#UsA<4SQ|WM2)TUq zf`c%5=*rfrT6!izTPQ7Ov`jWq+x?}Md(FXZzu3+!qDSII@8*){iWhy|JWLm)Pop&{ zC6W1ULY6XA-KHHz46E^GH6wnsI*bn74r*v;&WX=M{gkjeC)lVTf7lwfGb+C(O?Y-c?Qkbkb!^?$ ztI2fZ2XXJl0ngn0o8|C=o24F2@jol?xw;6lXZ09UGkPhF%?vSatINlsh4}5q$mw0j zWC#ko7jc9ka!%{59b4bxQO8 z*=3CE;^@7qY_JjGXJA#3hjXL%JOQ`mTUo2#nr0@d z;)o(f_|RYoHKcum4lEz8IUC!e7K_1wCtJo=SO~9t-NN=Q73kA;Hsx6m%ZS}XZMguq%eFH z9I#hcAKvPs_wNHV23y7cj=8J6oEx$+$`6D?^G5LWZT3qpt4+DxyjPR>x}cc!Dfk~?*{^h)a?B# z+a0I9uUIq_$42BI(Q{j!?o})AnF+J#*pRm3p*K49Ri>QR?+m4EdUCkMhX|WkuczXm z$t94_f8oQCxv;Fa#`}HK@#Oea=ly#E^MI@D%%G2dcwlE#&%U8dR#9o+dbU(>-3x1; z_yJcuALR>E_Cx_njrhapc+(Gg<91rTl}c7kEhCUVKgJptF1W_N!*AqB?s`#(XETp6 z^#1XcCPC@bKHGr&Cm5pj1H~~lw&??$-V|0lcx6-*ZzbfC>1@NePpH4i4;jbO>y{b& zMc>dd1?qWX4{D9~rLJQ{?{l%nbUe_)UlgB%mGEQe=1_zSpQ{B0$ z6J^Ry;Pjxeem+xoH&reVeDcQ7{So5eWcp)Yy9PqtmDSbF%tr+_HPhSG`3Tq>Qm_@q zQ+ptFv1e%)BI*zb=BkP=*_UPa53mx*Rqo$akXH(3Hx`yE7%EI%toEa@^Jm=PnJT9i z*+!zt?RLLD`=xm0*?p={>+U7|&hi}K;A{a7ax2pY$e_av8G*&Ss+}%|)&`MA>OIWiD`9~-dQ&deJA#4A|Xl;>Sr!0Kb^m}06Wf$vTWuT9nfx+EgrDaJTjb93vrC+Z&7lkvTaV~h) zysa}ntMzO&?xpCAU2r=WecjA!qECEY?3JrqKsMH^ONf@^&i=r=BuPga?KM)wq-^E; zwgSNDSxZ)t7xmZNbaeq>BX`MS8&XvoiNyc+(>Y~)v-%O|mF0Kt9tM*gkeC7Tk^1e| z8)n4>tL(u#aK=S;kWx}!Lxib^ZMx`>OTMUqklKJdt??Kn3q9o%+Ex?!o@e#+XSX?N zc88Nk_`55aFzaa25^n51zB~4Hn58I!OSbH^*N8qpUPdMic**OoeePRycqiAh7d& zpD*$&c$5cM3BT@wLcalTj?%WjU)lvNbYruF!Ii|rMMdD^8sN!~KT*5gL$K6vWU;RMu5S{%Ofdwqq zaIJ72D~9eU8i#h1Y&8dl&`;l<*iZ7h{eG17(PePmDcvwQ#2ioKuBDpSji}-W+bTc5 zRjTW1y&z_*1hIh(uUWmJ-juS2e-*zlZkIEBjU@3`05zMzjSpV~S2}7-fRB$N4M0o; z1O`lO*0s~?dyd;BG8(_d0JbZwoinVo{0=f{&$MF?F@Q`VGFu)vaLbNfm!K~B(!ruf zEKyfjMdj377F9;nPK;T-X%6{YZg;F0PjKU7h1cAQE5d(WT{<~^xHI}{UK&}Nsi1q= zrMh|bRG3yYa(4EQVj!}15T_5Jaa@u^AIBdK()n_C%U?`5FQJVCq(T+GKY~eF0V-vArX=P zdTt^JnaIFJk(SmBoET`SmZOE{kofrTD;Vk13U5_kV<;Lf6`e^wyB27D)1-+*$|ek_ za6~JWja_rMnzIGTnxeT}n%DD_gtIt69`iA;19}mQZ#4ncn^n)OJFN%80$5@|WdV&< zurmhEAJFcp0Raxg9Smq-92tPnNyR2i04$ckPyzzwzaSyC(KwhI)Dn*QMg^yQ4y-B- zL>+PVf>a0&^}W9z6{ffFYK>#usoeKTpzb2)?m!_9QlM&OLq~!^j`uIgAv%vkW5{Lp zw!@b^c`7|csW6iGKO;@%d8+D#xc8*Yc^!Pr1>|`J)QLT4F@i4Ki=~nNDBMKi%m$!! zuqADd7LS9t2!ID~kW0arL>ZQjHT6vl}m>OYU;16-{4S`EmMX#G~~{&E0te)IhL0G zGsQK*Ok9aBK)&E0x;Qq!{DhH z1pl3k`N;KAzQ8hPk{|!?=;N5l_89+NfNX_=G8}%Fp#R>ga~><+wKWr;9Xmpd ze?nTv(V*_V^F6IRg#MvR^*&ryTPkGS1Lx}S^+7g%-HwR7HBuQ~R@=~tX=-d1Z(SiH zOlw}->+CAUxBcymG4Ej|p+0*QM{5X6u(Pj}4?AZFf&t0EEYb7R=A3{bq*)s&gRmOC z`5Zr%NRcIgK8)XF{AC(@Q}nkfoQI5I?@e%tC0$g#tp3>^bn9{m1Uol5yXCUKTmL^R zDRA@@v4Tu)tK$xk0>VgUvY1px4x``sO;KJ@Hx4!-V&RbOQCmu@Gb8VApq?z-A^P@9 zl6m#4;G6KVbTyl3UlB7tyv5^mpcO)Fx`6rpIDf~M{TEhyq!=vgsGSBfSh}vCQU;doE89NxDsCs{7=WdCc+&}us?AD@_u_wF^4)kR)WSnL_$&L551O9uo z@1YCiQ|sym^lDWG!kO92@ZL3S=b4|qJUnl4UrT&HRQ>oed{Osm*6@wdUh6Wa>9V_n z@Y|P_!kf(rfsa{hWiK6ml^u7LTyqQ}tnfD=$fW8;?h+%&pCGy?FD`z)j1`Obw`e7! z`5~=k>b{#SGObQ?hw602J}j6vv2meer}B99&{vF$Uo>N_WU2Vrzi%#GXeBuCttK-S zMjpmJs>EECPkO3o){ozyR#V%_x$!L91w4${nS$R>MQWn)UJ9rc-+yjMq}%p3juL<7 zt-fIH>{y-r`0EeHHT;Hhc1Z^A9N1OF@2EswP9o?e{xON~Hy|@JN3SdKbf6K^|NXb( zcr|mi+G0JE>~54byn;hz?wU|1#61)5l9S>5F{#O@lISY!{=)YdUxm+AlwUApqKMl% z${j@O&sBP(g!RKIo%I_OsG{sX+D;1IBeOvj8eZD~+t<=xh1{u_H)zBB%G^zBeNZ)AJHt%9zkmBWaR~P4p+n zX<5qeYje%H((?rY!r?-Rb-4Xrgjaf>C=ePRc_C6r&z$a)iyIB**Gqm`$5JX=$1R;^ zi8VyvER!%STo~LBqG#@5?@gjVn!7vigFplz6y>CKXz!M3+bZHpwMgOXt3)9d92UqI zY)7$zon?a%a)#Z~KWc9BIp{sKR}3urD3!?497lp9NZcWHy~N(elDCY9mjN3e!y^c} zTSuOaAm>yTd-*e)6w$v*A={w6*VHbzNUx`pJ$kV}M#l1#=0+_G^>wZ1lJyQ(TS%9Z z_77Wg`&ebe1j)$MGnTR|o32S&Plm^@-}#fL3u~RU?yqY;##Rr%Cm~VLHQU!>=G>}l z6B|~ul3sK5<$TMe-z_GV=)gk^y|E&{mr96}nEv7QxPq&T(uZ!U8FqS@X0o`S(Bm*7 z)Y#a52nj5$VA!hNyY=XZG#+Ch3X@Rg$7l1-zH4Z50o9Ks!cd!}64!2YDI$HPFZ7jp zq`4mK1a*WAAx`YBLdx&I3hkW!nxG?cl{#GV%y$`H>Nda7H?>HaOd|Hx zKr%#JyFs8zSI2Vvu&t)l)7UpFjWdiuMp`wC5VuV(9<9E@8xQJyP&bx*VC}`QP*6Rx z?5l8M#6t4#WQ~AlnOhHq?_d@N8CVY`I^UD_5hpw#B`0%Ima@#c{;0sKxi+2stHV9g zM=DsIec0G?A-7&%ZK<%8o}af%$u@ zWj^)vFZ;xu54XgzeqR43%u~lAhh$^tk5GCX{_jh!)GyhU7=sb|v^phSJ$puK z^r-N5j@x@Q>ONnE%IGQ<7_O5RtSr;`d8};3nSDrXVv`GHUya!AFAHd;s`z7YolNZ~ zdAip|>PrPbtFuL{3TIB|do)STCSTD!XuZ7+EELYlhFv|l&xJjBJ!$O$=k*46deQ}2qC?mM{=KX3Cz>z8J-_5$0|o~tc$QlaXYzJk)vX|LT<3!|UKRM$~S6_VBb?bCs0!A)%i5`^=5Xj`3wG%;JmL}lCrA1yJ6^Ner$-zF4F zPmmLid6;FmB`mq8dRSi7maa-{#6sMF=Va9xkIa(7)6}(aks;@hC;ZCLx-X}Rkde|0 z=q5wz#s)EHMW$jh(BsPKA!Xz=!&;w&e9~`27Gi$A=|2?ZjDaq2N8`TQCt>^3+6c8z z{F3hlaHj2h%`Y&B5jrZC@!jkiBYT9UysQy^xZMb%icX=pAj_a?*Ea}yvLCW14>jK6 zxD+vBBvZZHd)Y>H!kv5alaDHDL%QhdF)!6PFS5{6{=^4I<8DBA!{)<5GRNKRclZXS zVZGTD_aoDMZqiBKY+Um!d~z?NVBmQ`76KV~i;+-&mm^)2;&}iz2|Y8v9YW{1{}l&1 z!{?+=eZMYj#24O7Fs2C``z+NXo^*MeS=2^xDr8x#hT5TZ$`oTR?nzl+{V+HFP<+R~ zyp-G=dr2XH7{P$choOi`j4)tfQOhdGeY|@&Pyxpv3L(9qJ3^YT_`4F_V(n`=_dQQ8 zXAWgoTb1DLITy6XoFZK3y6|4_$4^PFWm<;3MR*Xhv2$0NRWqVGyf0QfW-+`g@&Pr}<61eCdl}wb7MkO^C^JKAmOH?N7GwdaIG>tD{GAx4(#K~ z=Io6YGGO`lkHq4svrt9D7cUa69e0bcQK`BY=kx`KBXg4OzkQm9KD>)=VkhKRPJP$$ zUU=S(|0zvQ`|nBTN8%~L>f{-J>4%#P^h-zZJKd0s?Z;4T7nE@((RqWNxq^wEdSBC) zW_AR)^rIn9+8-5q+jTQ6#G}z`dErU$VHVh~>+s1S$kK~SECO(Fd9g3%o7iTQQXJAT zS2P#iKYlIotmjX5`>)qcQ%IU*MXts0VGLn8ozb%`8Z8Co)7s$n6-YG6z-uCkfpsS$}x_w7I5m$*(xK#+AddHnNu9P=mjooah@ zM1_Cl&)v?|c8kSq+4mju4HUjlJ-kO8GgpVDXt0P)hrMwah-C~kty|8{E~`0m>K;)B zZG87xohkpJj?YW9i8VuOBPg=s|HR)#1c50mM$b9mY9>S>mef`tTCk3Jd>;N2$MKb-*$T9O&YqenZ@FPu`o2-+<2U1CAv3i^fa~f z@&3Erp%I!+0sBjbb2~4wetPyy+$JDqOz-B{x;H2Br0}y>QRDs_-yWH}#kzm}6&NB1 zz5gzsPT!t3JG0!)%E?SnplE-RzG1ZS{K3M>z|%j1v74lpI2vdS5r!9A=SPLtmHoT%FTq>f#c+KR6bU)W5>DcII-ZoElszK3;Qe{t!Hr#J9B ztulk+bw+XY2)bk+@304JW=j>UP#`d)4N4KLt-s?8Z#zX>IQiXeov3n?)TsFVYi{7V z23|x*-eI(?cYx}-JI#zF-_@#1#Ld%oftIC-Ri>lg@@8IB*5GWst;}K4lZ*hur9^U?1sXc6d;(L+Q`MRP*#El^&b#T_FbZ9wV1iq|N_*V zjq#f0^{VoA&}BaDNY?vB-sO+5ShWnO$W-?(Q*+u)df7gr@cM_&;vR4LXMhnh>rFHM zgE`Dckf?dySyl?U;Q3;X^~x_KGIHe!(}+ulREM$Lr-9}|zN?!8tGDQGFtT*v(23us z>%$_99jW->GRc}a%vEErQhO+)i9nLZ;vWbTm|}S=1w_OdtY|MvJ<2#94}MK+|5+j! zp^Jr#SCG`wnZL$RBk{vr=hcRTl*JDDe>j2wdVP_Da1zwNky}Yp!6E2p^B!bMoFBQSbj4Pi%SQs zKQqjnD@ZZ`O~Lb@l!~ENQv_T3wQj(8Pv!xhK#> zS&T z_6CdDRYpO#MNk{sk^DS*ExsjI5<%XtramIq2i6$Qo|*yQefje(HyB%8h^4zT-zKhL zkbmsLCoyU#2@Sm=15%)gt@25Jop9?8 zIT;4UwWPMXnm~!!(TS?)Om7bQVgwoe-ka4heQb7YV#6+cLXQ{pf7t^bXpja*gd1@a zWW*}M7JI-br5qGh+nHLF<)(WR5%SJ9S;mn+GOV}vvl(_a z`zK+zjk;`+(&*J|EQu>K}xQL@_^~Eb&AR|I=>@3)0{yS|8xS z@2vhd8jbP8QZ!g||3pW_;PB2jG4u!}W7?vBXKJ40>3W<_&5r|nm$ak)#p{MB#Xq)3 zpFNgULG+)NW!sKxjzpqgF(QSRj{`Y5p`yy0A4&q)i=A&_+ELlsz}&{-ZGl9vI{GYR{Ty$ z#OO1gl0MUm71Ir2@!v!tl%)E}wCA}`gWk3k5bD1?`_NW*6o{B8VdV)rR9hi3Y{>3P z_;>%~i0`IZ(~Lr#c126vJ?2)X7Z@!w51d&Vs&RfkqxpV^972 zV~Z*(+JEN%iX9!L*zZ(^amP8v8x3sq4@Xz_i=Tf@Wi8*6bi`pLCPgwZ2z`IS_Iknk z4m)HWY($u&4vvC-b2#y3b+z9%qe{^rTF4p^Y%S*?nwaoaY$LIGV{p$T^={`;g8cy>gFM zg1|TWHtLr$2JgHBa2TkbEMDt8(Ryn4xB0(vp@UZtDqXaq zkQ5@mbQ4D`szf7MxuiM*i?4Arg#IZ`j|le9Ybvf?3n8E24QaJ}G}5xYKu7d>`X!_N zc!lFVLrn6?S!_*t2^Q@)|12(~)_#cuWv~?^&5*}9IGQB5;yX5e%;jp*;SmGm4_cek zol+hw;B%{IOS;HJZ26B8Ns^J{(l>b&UT%^5ObM4;l(#-XWWB(|Q$>dgYA0#GcimS8#^w)EBvs ztQk-k2C^uWh8!g-2Ejvd(NvavB&aFD|1?+yFMR-`BZQRtfPe}D^W`HcKJ;0e2>v(5 zX?~=a`mC<2ZCb_As`C~s)0<$SJXz0Ae=c}4yPi*!K_dM;Ta8O6 zDbvGqUIia>jF%Bg@^8W#znXk0l|i=*Bx0+Ky*%i;-!e`2(d?_Y)yL5T?csu}x%B4p zXTGmw+52y7{S?to>_}&?w>z6XRHqcbx6`24wMW1mJItJlE7;_zo^SPUSndXf7Ig#K zV+$c=Rl*b>uen-r_Y`EMh**|+6_v#Lu*KN7S)I5u3=CKKaR*YPEeQ#SKSHTT>6H}s zQxyv7CoUeRQ(XDh-A4=K7!LHk6Fp>a=kM+HEAM1jFuQk2AnbfIRMn3yyPGqxvYII&Jn+*r{`CuMY6FfZZm)!u>z}q{!Dv>#b46c=0W|h7-AW?2e8E z3K8XxDlEXj2k~1<4<9-S--7fD_$nR zdfq#sb4->i(=Rmc9gOSE93K9eNm}5kO!marx){_Juch0r{@w4euW&iYr>1fDD>GmJ z*ontwdu=my!x#j8Iv)A3YXrh|!znMU4 zXuesqJrKF`9LfDcQ=s;<@I!L;w~ge&jM^-qXa zmouAmDK@X)*dka8q1t;rmv-Hl0Rvy(*5Cdq&mU9gMBLWxWAty!CDx}tcl;M8Eje)b!1-5h>c~wB|3o%YT_hJ8L^J3AbfcbwiW^?SEP4RN@|>@2-6| zYz-8?4w@gtWkB30H7)JsLNF2J)0aPA{D2~*^y7+e2506Cloo(KRxe+TM)Uf5I(%s> zDpV4FGtK|fGX%x`{|`%N9S~LX^>I{05MwD>LK>t?N~OD`Q}q(oYzyBprK&+qjw7547EGjq?Jn(xP|Oou8E&Ysm49Gg$57-LG6;Jf7_w)Fk{ z4t->>F|p^)L?05q`Tg+Cd+mD|`hrXGdd~NKjE8?%h#Val4Q|HJ3$vCiMfX>QGN&In zbY#etnSeM(Obgp~6v9w7P3-wwF^oU~`W8I1AY>sq4MN_qed*xjML=q(trn`|&}VP* z)s|$#&*-@uHs7Jy4_{|(X{Tqldd^J-A0?^VPVVn35OFoKE9&Wu#eMsSn+JE?GPU9) zqTQr8`t=8Q57*>2?I#B6Tc-YiZr4>*Y>uUxAB{=2)uUHTAYrYK4`np<6nE` zDD!DRfq%Mu_o$XVqN%#l76Kfe&=8-rkSDqyumwNm@f9*1f7jI{Or{VSwP>@mKJQ^! z+5Y}PVmms^le!k4?i=ma%bLZ$HwRCP=X{nD2@U^BhpuqRu2wt~4VSt;DAb&sU>;1q zQMI{xG_hMnM###@-1<*+@C3zhN0;AJsiFS;lcqCs`&V9)zUu!d^c#hi`_)-azN8*) zdWWjstgOSq^oSvAJS!>E^hvL^?|XN9xlfQG;O4A4r8k+|*MHd;aQvsB1jD$xPl{?{ zsAlZNb^6^5J)T$F%Hw}{8OR?zN^R3V!*`gfDYxkU(s^nu$KzVh7qe}n@q6%PbpDO! z{7+PMltvrg6BLCh;bBKl?piesJus>se8Gnlys0)!8-aRoQRkCQK>782ckld#v-hx2 z+;St>Z)oc%!nN-;2thoNAaOfMlPC$D??YfRCp;ES56B&<9+wgbZxyLt72su?% zuV7MSPPo&6L=}C;RaRG`V6KHP5iKE3)5zqDg)eca1^dVN1UtWXjMlIGTD@z|gf*b? zSCH(U!}N}=a(x9>VzFpD2FjT4cfeJOXAQfV%05@IuiUxvcCPL87iAJxky7JRCOszx z#7?3>c)c}YOl0bE&32@d&@;KvZWe*&SuH%c@=#-ROthFJ;_8o#gi0cf7a^-QX){l| zoHoy$ecqneq=p(ub8VDVH1KV@1U(Z*{{GA<$XNQ_~DF}ZP|AJP#50f6oUJ|cS^2?^;zNKSe}m0URrDl zH)j`=-|(IGnD$T~eDFrYJ>i|0Xsth$rlgdLiWuf~M>a<0x}{o{GXvbLjhon^JWi^Z zMZSc1k~mUSnAmL8fqP~rEQc3OZu}$?j7ny*za6}%Jq427+&23X|Mj{ZPQ7+tdo&wf zTC_UWN?=+>6qlbxrNS$z$tA(u5^PXT?nvc1op0Gm`pxZW5O$ryu!xgPtiY=|nx@UM z$4>TIo?^Oc&fco}v2=x;*te{uc*m)(i(Fte-Q?+iMS_C%Wl&1=08LUi2l_z$#;G`Z zR>Cyg6B-K)42&6?l@3y45$~5tYRq!KK#J{hC!y(!{qzNBX-Qz?_%{#EDR^;o{6<)t zA0!K*RBmuea>eiS7XCVJFLc!T$s?IW6QWTvTZALfyR6Gw)MG1>JKeZ@B*Rf;6K`-f zvh=y`F+Yw|S2>+@Y>fzMdToPkD6?EvL0nMsTf5(f-&YL6uw0Hdo0UwIBAF4Y14{HV zZy!x0Z=FW+(9;cVT;ytx+t*PdziiL^)owgmS`6pFauzleIncLp%~R+g*8dx=5sJ(X z)VNi}Ex$FJi*r;LFl#rwwnsSL`W|FDI`GI=6y1w*V z;M=_FezJ++TjD$|Z)R`eLg*{=6m3k4$jYsh&;Y{kRL2f9I>Dp6`7{SxV=lcuOqdj!$T83M4PX?$q zEMqVO6Z5R!eBEOBv|Fkz{EPEo^~(M1(Dh_dL~EAx?Q&;BDMqiZvL{1=>+PzYF*daP zYaTYkpJhap$A^oi-s2evH#KCN@*wL&eNfYPed4aX2+|M}AfSAMB;X-6{L2`Ar|OT8 zEFmrV#_hRjG14cO`_yJ!AJh_tv(@}0;{&ifkB2F1ux*aKw<~ZQ*$4?13th z`7tJIyt2mwv;G{}!kdDLmucq}N8{rCmsEY6@q}y~6H9k^gB}S|E8V>m*=cfkd3Q*z zXd@is^oAdFayNobHoZdpgwv>j&u>eyOVoExYHC$HMaR_&;h8Et^hj%-^T{rC3nv&F zT&%f(cq!;Gfzq`V_`jmmNUneZ%g|fdN1+Uc{;P;w4Zh$`@avl*D<* z@`_vc2?6Ci7l|Ti&KZC3uYpw`BHkd9irRX-oX@SlW#yPI1z7WkK3LzPRvqr882fPa zUQRCOUZl+dqx&DNsryykT}zMBpPAyOJVJeY>*82*7-ryNe^lHP{o3H-xV?D%uF(0J z!8=Y|qb{Qh`(fe$>@2LQ4~fQOX3fD&Sa?>+ZDxt5mOh_`C4U%|29w}x?wg5!RMira zR?XUT{phxwX!lMftcf50f%TAiY&k(zNbaK|hDL|c4+RC5MX$PWv=vz|cQ4iVHrq9g zQVq)#v;8}uk08r8^FD5#P&G{{))dzAv$bn$M)P3^P(xoiJKjxT)#bLE5YUa6+CG%n z+BRvVA3n}5p$lR2a2kH+^+v;a-MbM?ii$QOmv|PN>L0>uPQkWw)#&H}a`(wa;&*L~ z>)T&AobLEj5fT%Fy73+m1wdiRZn%KR=x}wqnbP_E@c0*9hh-oebB#ymy2V|C^<7M- zyDb77tyxL*dPz_Cs=niq$bZ?ftJ2Ad_%T+d-6daI(~I>wUqLjFr zs?y^B0E*#tAu=tpx1zIh%4;%zO(M@zp0hm>e`*g~)kh*%A>)=kshQ-FWyQCIOYXJF zmtGrZJBy#R&Kx@z!XNH8dTft9d1^S^^fK-~SK#$HK0&uTCTo1y^wF9A(mh4ekzxqs z=~s{4=|B8@u0&dH1FXCE2mZ!IP#oLXRCk({RySNWG^jtHbFEOwy&(BRbo_O!kSe@? zI7~8_#GJSMdvuB!{_zuA_0gpz$D zlnx4JZV2L7@~c(;>GSbg&8_UWGYUTgZ znu*6hWcXwg%Mfon^YYB2sqK|0cs4gS!hcP9l+#7F77lH#YesJ+1nfWRzeO9PM^X)v zpJp<<+1Xw#m6x*qM-^0sjpksa|lJ8ge(waHkd>f$8xcgeG*dnE8I=6W@ z2!DVo-)_H%53DP+!U(JkG=k#j`Q^o76Ix~yL~}uA5+EFC(Gs`-$S|G=8N5Z@VxQq7 zlcy=lnbndB9JY-`pbBK=+t}!5N8V!>j+=>Mr_@hnM-aG7M%l1CO`lJCuW8mZT%-Be zYlGa^d=@ab`0Eedru8W2&~gsagU+Nil=8_&kKtg|@IgxQ3+d&EG9e8y*OP49zISGI zz0zt-Hx6=qNLg-Iq*@bd929U|(RziS&F^f*p10TN zWW~R(2-3D&q_-2PH3`=<I0usM5o_TLcFx%r9Cd~m~8wS6Dl_IXT;3_Fy{E zvY{~RAmZ*eKrSGl{=sbzAj(OCZrtMEXB`5Af_CO0=hqm~ZfXUf!H#NZO0TC6$hE3} z#ECZaZ3UWs*Ql98vlvr}d5+7+K`RS#g{byWB2W`^1?l%EAR7(JY@k=wwAG3Whnqo# z+Yy@YVU-xTB|AnLVRt0wqNx~gBEF!YR-awCv)hatN`;M29UUFvsGXE5TrfM=3aDha zKX)Aa*7`x$==UTn-D5)3r}p3f%o8Fv(_5$7;5!+rqb}^n=VnUjn&c~1D2F&%!2DTLDEQjerP6#a(Ny-x`F8*op7kM&VF9?$>p5w^t{RIWTZjptD~(u z4Lx6NX;FKoKf6_@kG!pWsgqY&4@P2qus-!3UE2yFwzvnHX)I zK72Ur?-V9`g;MhTIL5Zf@LL!;kaOy{mN_2Tn{vL~wAsk?q$M}FwV3Si0yQ;SM$g`^ zv+aUKE0#n5^=Csw);M{O*HT5sI|iAH5t>IM8;!Q(nIx2FQN;I2|EgB*eo6|C%|r}d zGunvfS?`%Dj?DRn)NnHU6Ot6hmn68daA#lp_9p({ElX{mS2r;d{P2pk@L014ROm5x zqaK5pEC8axazLl8z4D*)k=#A|dRg%%?6v%Bt`0bY0$B-x91TQZR8$lQN(Qjg)6+9E zTZ6rVV?baxC9xxrT&CcZYja##I3>h10hQ8(u{EVh^8*Y~^F(T0sza}Xxgq-T#Nl8j zDM?ZPDEFn_P?8=`k#36P;!}^tqrXB~SxG`WpUF}hUfM^F;qv`Bn|Vw9!RV_jd6S+KHPCK;z@iMNAxsHEJkm=7j zx2i)e-s{tUS*!|qq)Ru;!PROcjIUCEi^i!%?^Usx4PN{K5e6MG7Jx10ks)f!q z)V_SME`IoVlZaeJii}nYknuWri^usdpb^+&05E z&(%*)dMFG`556xp5Fx3hPK(_d%2p2*!6(bi#gW#vO4STT{+Z<7?pl;~Ws?plGSrc} z9=$($R|yf!(X{0<)C9 zMJH}v`Zn3rY2>VVd73dk2!12p(}i&Hx$iCUz8FD^E`!=7suQU15kf#90T{1QG8vq` ziiuIb#v!Ar>E41b?-SKv=^IanQ*PwIl=!Q+V_RhZ#Ui(y&Ze5ig&Yy;<7jfXjYgzp zvhceAHj4dqoT>%sw-bl^jVBgiw)8)Qir=4=`R@fR{`|D}nB4m5 z=jThj8>?=87prk5c7S zD(OxacQth$90Vplo!Z$ii#3iJ_xR%Wt9q0IxwF4j&ThK`($d5R~yi{g5dqybQRgpiYiUOmqF=l}1m#Fs_6C_N!>ui#>0m=t@gCI77`_j9cq!A}q=p zm1~$Ov@~=>v-HWiICRjI=&c?$&N9e7=gll#4?S}{6hkkmJ5pNz%{)_A} zFgOduF~1kNqn8pCV`p&;x_Zcc*#`{Ewpx zLt2xnzyD2iD3sx2w4RsOh(%QBIR_?*AV*zVsvG5Wk6&KTF${40XyyMriq&qcDKQ?; zW{27QYw2<1t>h9boU!XK-LkIoiHWD^W=M=6lWhS zwE0r#`vm}_eEvntFeoOLf~*?|vsMDY;D4(1H-t4cIg-6cBsH*LRzLI7ZQ&VvXC|wC zOYG*kf*a>?{~XA0Ah&sYG)XZR%zzUpqd{>Mc($N-3`ojdwyFuWYaBOxKfv8(D)r~2 z4|@=%X_pIpn-xQvkCt?HveC*LB#U;hJ~FY18rF$y-7^{PeuQjKqztBZOww%hGe(k_ zx35L>X3t6v(gj9|snRN>o&{?PTN8BmDn$lwXMT;~M7_@ndLsDecu~tc2$P^&d|!UK z{bjUU$Uq=hn2dC}R!$UmyUqump^a8-;^DBz34{`ixZB;q`NVcsFMG6zS>A=Q23Nt? z=q&ug=5iwp)BF62H1>#38kzPqB)joYi|dhKtg-5_X(%}%?K3MedpAnsjv}QJRn%L( zVHs?>f_obd>YmZsH$?l|hDok0=oJ)n(=FJSH)oiJgUW_INIYjTI>X4o0enepkeu}f zj}Ufj$GS<-o`=JsSpD%Vn*{jAFvL`xIvMA>`BeyUkWZBB7e2KC)Ds}G8AJJ}Jzv|{ z*ueQokjnz8X+kMrSM?4T`d)7ymcYp!URLUQEtsu6TVok#6K_&8>NmE!5NI zM75Yk?t|7rfy-)4uIJ8fN2I9r^2(oX@0pkj=vc6qyDr=LEU?R(zYa~auZ=5iKIkn} zGgv8}*(}aHYhY{Ib4aR+^}&_+zV_Lb^1}+zQHG`=Zf({io=;TO7@E19;rcfO)Ymt_ z75@1_Ogek}$CFL8J}$^)l~J4E;#XL3=-&e0$IQO8G!U!CXw%c~5{Fj{GGphVP$t&W>0n={66P z$H?aEwh=Ni-H9pd+n0uOj4jV2>u1t8$m)2;2l6w;a-2BYZa7J}oekUj)N|ENJg+AZ zZu+T+J`IU4P!~fdDTx3q9jAJxC z^*8!e9EV9cJdzHElJZxw7A0ckwe?yFw*s1Ho@r9}=<eU=$!_a_=!!bSf$ zgR{UHuV}_FAP5r)Y0Q0DQ4Q>(yQRJkzIy15W+swT2ouixP#RPF_7z;e3hGk-{qbGB z8jb;;Of`jx*Og!9$z+;i__?BJ*G5eB96_!a^}ioRhw4%3-Bh^_xo8Y*tRk6Vj792Q z+1oGB)8)(ZhJN@{9_N3b&$A+$^txsv zE=zsmKVwP$S;@s{=^A?6FmL>KGZ>YAn*5kITyArI5kr3x{YM35y<5)xzk9vICDwHP z)p3%&oG}6(7Ngn}otLb>Dd)@E4F42GY~jaVvH4#3-*ZqgUM;yA@mU=E{|AO~YsCNO z4fMyb?~yxDdS7<@?_bqwm3n^Y2d}mpw!1IS=zkslj{fr@XlR4i9QogLOtuVfT)UMP z1^?|!m8V5%>`4@=BL2T+6iBi=c{SB%e!N;*2|XowFPFa`kpjDf+T3s;lZBX0!Ok~LMPhP)fudTzDoNK^53WW3}e-BCc$qZ?;b=BQc#!yo+F)`3`1zfSWw>O{@ z)zs8z?<)tGFv56=PO8^Qm7XOeg190e@7zG8x^9vJeAw97p(5Q12&Niu|7(V;t)xF= z_vZz|CP*!jgShKXHYgf{_B^OhPTY5yz+0n5Pike!AKNH@cSrH>P?D^1-Tn((z~bVf zws!&0Gr$v15p;V69=N}|BK-0PzS&Tp9tnpJ@DT&dRiIi?0>BXZ3&85Vdi4rCu9*1v z18~3Q7Z;V2xO2c#3i9X1VjZIIN0hB~xas5N`T$O|MC z(DDy|zU1dxapJ+Wi>BeZD&DqRns51HP>05xLheg1&H{8BVS57w{8Th;IqBg85M+j= zNjR5I7$!X4kGx_;Z%CYsi`yehF@)=J1lU_|5P4Vn6jMTU=O7dPnmtoLze(Og5;Tvq z1tR3kokrnh1qJm>LAh30j8mXU4w}FkgzcAX=qJAKd#Q+hhhczHmjrdeI%>>$#A2*l ztVNL$;9(3u|8Vd66jlfo11ISOqfQPc4@&Vpop%Ot=P#b82+ZsOP zOTVjIepd!GZa@_T+);Q0wCFJ;2|GBHBo5%IKfI&vb;12|lSe`zkN88OBgr=;T2%ou zfG~^(wT^BJNfv;c(C~vdUgdBm6hSVl)x&@1)qVL(rzKE-n1uWx=nO+5$Ou}509ufi zkg&Mfa~D1K^wnyVtr+%Vg0;C;g7wzPK?tDZEu$iZ806G!Y}NpSvGa{Uxw#izwRF<3 z?JzpODS+~v900XsC{KKWQ3h=7{YS6RO5w27T96Xw|NW{m+epSg+GfGl9jZEzlu_E&g8)EMR$v_R`Y zzB-&M5p8NdY|J|GUag~U(ARRO;&7ujS=wP0JPsde92))otxQZ-TC$-*8j#{J>>* z12R&>@j?m^`0lQ}g!}M)5pDRVz*(F#!&M5zZe9L<3xUKByo|6HU!;q8yrE8%8Smz0WqE5X z&lG43UsE}+{AR|OrV7+uY^x>@;Mv%8N@oE40!wrGDgWdbz*MLbmYD54?9lm{=E5l+ zcvHm)_Bv6v0;m0<5qh(1HvHYP5)m5n(&a zm`LQ;i%0sNyfGq}yPf}SaViQ0lUPjEX;Hz9q5f2Yz*GRO6*Ewe1YKnikaj`WWp;ZX zf{eeSb_4Op*ERa!d_7fA*fr|tKw4N>TmnrIZ9A*%GqM=tR+Z436mN*e?!6)=9Z$O< zS|GHbJ!VPCe~XKU%Yzn>yn@pHcp2(#&pev3gYM*f@V7){6y4Sd)(DnU2jw?pVSziS zi}cmPvNFB@-!Sps)fU0LK@9rheQ;lBx&RT27EpOfZUt!@x|xFshe{}5KVLg_S{>7| zgl~h{hoXZMWc`7}OB1NiJ_=qs$VQ6*LJ(>JRnYbWR%rtGPvO_#uJee{4$DW!=>E^v z16l3h?1JV@OtD^-Ff@kQH|*cb`63p81xDin%~OF@6CWF^!7npUR;T|Nq}lgYhF3E# z&mQ=k{mhgA#b6-AHLQNF1ANi|%st4<+#@D#6F|FG&s15qM@u~46GfKS^W+p101gJt zGj`*jVIEB6h}`@K?Pq9M0(2%y3$G`2qNG&Ow?JlJKVZp|`{~nN(AEYOZ5Z?~V>aQ| zvcA@OFy_`uZ1-CJo<01CO}d56HnvP`F7Jk)5AN0kub!L*EwX%O6zdw(%eMLZQ_V z@X-aDg~0dw%y@I!f+NkR2i=(fn-_F?dhYh|OQ}jC{L$u&O5cMzk+z)mVTV?c4wuJ) zjnAl&Fkx?i8_Nu^``;wH~sH{cL>gWBWy-5nL3N2EJ)16MX;I!6Fj)M3Wmm-?vU%aQ`woB z-2of}H#XepHD@Vv*9AtJ>DBxz$#eeb)1#gm}wbc50p+OqC7dUiF%FsIBfEKC7-3DnY) zfk5W=?JYL?LeDiNheahE93qtjDI%$`rL&_CCGau*rZZ!KFIWwW6!@waZMkQH--P#v z)Imod-czT?X?9h5s)SDmfdz2Z6Xj}n-utlMb8kQf)&Mz=B_e~D&A6yqC`CkvX?{G3 zuGyUq20~kJ{i~S!dgbU>`{^G@0x5WXPE!7bWyuC}@PMA~D6F{I;&Apsc0VIuc6N4P zCjDu9L<{-Ele8goy1&-~xn6pJPxGC=hZuyhl^W>1fbYA$(-8=U$$+09|>*|oM? z3}&$Qs=G@$_J)+O7rw#HhJI+!5d$dNy)dcxdEkjbr4gVyn-ev!p^><1;#ChN`@O$7 zTYydmt_8T0=DG}l0%=NtD)2>U4QTKQ@(Y+l|AG$LG4!r-zRGd$^MZhs`sS}nJj;+8FmBD~t@JOgM{$$<3%!SR$nkg1ulI|QQz zR$UkcJqR50+N~3K9^dzA^r$M#^u)Rep)LnS`jufDLelxy}8IKDew|+V{4H`%V-7KJN3Y-Vtl9g@nmm8pQ z7ghs>h__${ZC};Dk}l)QQgK-?^vfRjC;4h$kKzyTkwN(uZ3<47KarpqV&o8*y75F( zWn(tbvQPTN*#;mLJ<2n`a7ulowkd1?rLV6q2pa?J zH}L(HnuS_|j0v0mT#CVFT-5d|hLkYMTQ>?su0KwERC)yYGBkw(Fjdo4_C_WqnNVs3 z?-PclSgWw9^tG>40WdmMj(Y%-_hW8b5X`qH);>HnH>@JSqixbkhkx(tn$;}N%FaG7 zO!=Mj$rT<7qlM_Gh}o;hILOeDbnf{i=+?akpcg>r6MBelv2cF!Ur3>PM|t2O~l5_Tp`GB`@;^9^vHin6i-9tW&O)a3W?uSaf%xBfjM&d-n8ddC4JJ4pE{81d6~`~N?{wm6zXkoI8|aC_GNqn z>akp5hXQio3bB!=33t-jc_`r1Ah-f0d|~5e48upXAH32i3;uJR#%(LcFvVmQ6(^c} znpk@P*J&|yW+dE%TZ@M_&L)Y=Ria-d{p?5tG&SkvPF9UBpMhjJz>2n>X`R*X0!oF_ zV-4iGN8SK4`Zp5-rT++X+~zBI0Kk{txpCt*X>5FaE(ETO7Y%sgM*ZLZjN z%&-&R&dlJ0*LAQt-H*x?xpGfxd!{7-OvkYGHzTzDI6sV#MgdQey^?+p9j&XhSr^{r z>_n}?u>?r79%~v?yy5By%~}HoZl{l!T^SJw^VxD~{*hhw0Xodn&u_lAs=0j4hC4}I zT)dm(nl@b)yp9m@@TIKFm#a^GZ4s&MNx?YHm}mJ=;K&4#8-}$sg1}h#T2kcS9Wm_= zWWVusvFat(2ZmU`Ov_vaDSV0`e+EkbGT2-xeLfeJX_WpXC}KXfR%F{A3w*qiCK!h^ zM`Ms@N-L_9_X0a3-E%-uot)bYyF=$aosV<3g$a0=`5;AnMX9kik2#v?Dg=1GFJusf zqS{G*y_CldgDuC=u?b&EIgOhSr+w@>kw@~zmlgh0mdSipzvw{nvIx9h8#M*1E37(m>^w*ki)&tYU& zF-8F-$iiXw*!U|wl)lHtYw&L1i9?)T zIgX}V=f9E^_9BhP20M}G!6{CYeKkA${3U^YIKn(O4w9r?vj(BAStszu*F)C=*fEAc zu&h*p;CfNIFJ(Rf1|Kv{z+Q_+c6T)R--f_rvEkDL+5FXfGnf;VWQ|SVE^EObntC zSyq3**Mq|PlecXx+E>G}@))}z`gVadGPL%g=jJHGw-9=>x%zClDS&=fQqjo5)Fp;3 z0*Mni46?Az#m2S{lNKHsDFQJn%sy<$@zK!(d8)LAD%s$e!-g||`8H)bhMwE);5BXcbVEe| zBG>A{1f7+I`8t}rbAsA*F8vUovFv(zas-jngFAxz_dPEG7UQw zy!DAcrgvsq4R(6@`1z~gyc+Phz(Kl@OnA^-?@texROvJp!i@3#gOTud2C(l7eIC}y z+Jrgav{M*zbpV|iDi)rQ9f6(xArRpJuOt8dU&-}83wfhzg_n>efH%k$Bt+p|aUKY0 zm1Ko$Iw?E-p*p6qlyr4fQwzh*fL@zfgKId{;NQRnfvwZ?f`a#S zUeHDZcuBOnCxC+4y)BU!Xsf=cQHUL1V8z7LC5`&!7P-1z2A&Qi;v})@A3VVIrwTQF z^=b!NeO&LP#>K^@rh1xi5&^woZf*|X)V*^r=Ral2p?9y^f@fa7IN}=i55Fgdmg&?~ z{e;l2Ba-s+crgQjA*sS%wNQ%y1TPmK?28OflRcpk4VGP<2D1kkEGTmvK=2`dwm;ep zCLD5t*7VJo)VlGvu{x0L)q*1P70Gb-=L;$J3=9nHMve7gGZsz_dz2+DAM&tJn#Kxro~oVeTwJ!(V)gJT${7zADlLae4f4*!S*(3v^dZdi3n zo1xMV@tLRf2%KGn1 zv`B57ma`v_W5X0n1j;cy)a5}{)Aqs5%cD*akl-XIAvuQLlVrtQ+(;TAg1v+=8j?`m z5Ncd8&j910|KKWzzh>Edd-|`0qk~~h?|RTz1^?;aAxHB04vo%TaPVOI!OY!>@In8+ z2>iZNzU=zlq8M-zNI%XUa!~lYtpC}ElFJ#Cl3}F5lg<~TG`J@PM=l+KGypi+x6D7$ zBTFugKwWvz+?rGMkC%_Y@Wvh%CQ?-w#pma~KPNHeGDS z(OH38tX0U1EFpx;R0kOc28J?{H+M9$aa8z0E7w$<2&NG-wh(b$Ojbz=?XtDa&ZO)V z_dTzmlhZy}fe-n<(5M{2F!Fww^<-0z^UlXWI%+yz-eJ?S-|NmD$Z4FWTYdb#d}xaW z^Iv?W@hsl|^A0UB);#k!rL@PzMokyo)c1nWLog(Sj#yKIb_fsgCg<)^J-)R{EwDwS zL-(QP*RW`mq4o)&K58NB1lf-o$7Qv^pU_uk>|8q zV4uV>(1AVrYR+|Du(LuE0g~X3-rkLqcAZF;(49XoN?KOX>vzVQ3KHDUAaRDiA;`1A zTa;H2ihw+wCL}f?q48f0NaX=uL#f$Jl_-P44W&Vzz@P8w6@H`(p`nUCXLFPgG6Qgx zk%a~FM*j=arG~?r5=yR~KL`dq3L1n4z>1t$i>8Z?pgV7`W&Jm@`S5mk(Vt*kT6snf z0JskTcH{&EsH*XEW$3a4kZuq6f3+7#)~+00xdR1^0W2GeKOeQ^d%A!Y5b^`zSwJm< z@89!;>H6sh7(3Bo(|LNvYfaY=cOFI-!!{(RpfFzZ`au)ceJF}@c|+0yvLWEl8k2Bh zlZKadsq88wZ9H){o0->=Sbb=8o90TwO zu%{=)#i7HiPDi+LRJ{U$C*}?9U~U_(Jeht%kv$H{QjR`};Ay-kd=W>B62XYe8P4ay zp|bRrKVOU-Op}`7w#AD0VN2;qkac?el6J+JPNkN#5?vJCs!Uf@3+lsKiLRWp7+&*y z?h+D#{|#&3(_X36=kN-~aPcDfo(Lrk$_BEj=oBd+g&_=pxKBzIp!HqQ?ukT2oueK0 zn5!9+-xiIo3t{a3bA~V$b{ahpy#^s*NGkn-&R;-DRe>dsRZH}{?tcx%Q20#CaQN-2 zRQe(PzIhYYla0Ee-!5fxv0Rs#7D$s0Wb63m4tc#M`=yjIHcnum?p1-uS$0WX-IX4^ zZ@JC586Uj5|61F?JshjxeGgMh zPD})7y9nRt$HKC15~ylkMv;bH9WH6cTO;@xPz0GYh;7xCh2jztEI5%+m^rH8O+7co zZgGmgXd+rgl`ckN5M*m?vov$ID{cu5Z%!}h-P1M0jbZD(%pY88o)%s>vnxp9q_aF} z!%`K}Gc($mbjvVdGLNMWFZDSJr241X+h))A#lBUaV)|tXucC;YlvDjd{^7XM%fxo> zS`M}{T&9<5X4q^_R98Mr_^nDwQRVqvD_aSgnMwEM7!U%WBV%aS;|oh?=dW3eunXVX zXkmZTG?1BGRi;nasS#(z`&u7X^C)RhV&L`Gt0~Xiu3s%Fe96n~;1HT+_WU{c6H?OB ze3n0b6S4q4sRJZAunfbG7TVjH4j5jUU{+dcU#8vQ4dtdGO_R5}f=blbLa4u@tB55JrcM6*sY~?R( z?%mV(20Q6%O?Pu-TWDE%I1b9z4;fy-#{^GW1DE2i%f_NGrf%$Mb_nC;~=xK zSj5;;4c`2dY(-AF>(d)7V@^X8jO-Wb8?po42^ZY=rfTqByJNR#`b_GyQ@xJMczq#I z`&*sZCxmD`rpMc^>1Y-yEz9;ry+mHJW#km=pCc}*`H}zOT7TMb4qs#M)Dh!3B}LA& z#n<^UI9ob1C%z?Jaym=QimmuSFNZEL$ZUmkEwFfVbpWiCnUPUeSy@?8F;KV}=6;2O z-1y(H2+7W`YB5PBB1{v=V$ROaf@k%qv7o>-96HE|+4Yy4>-wHQ9BR2L_EyR-|Jk1H zI+-9>V!k4;ntHVBuE<|fA7bXWYDLR~oTVJ6L>l#TA!lB5p>+Hv)oRuuT$*`=MDMxH zF?@Wj;6$8je_Z^UpsD=3&my*n*F6_F{mE?-4L9*Q2N|<&;bNLhd$Hn366O_Mc)tqg ziZF>b4)Ep5EngX5^OyVHcwQQMzEs1^C*QcazaDB}mc=`)(7oN3PpZzdR?^e%>7gD< zE^FjEbE@%K?VNne%|ePK8gp82@k!{ylchH@+i8MQm?-hRiq>y*YMK(HyX*1Xl2-Gt z8Kgs~ryrdjcI@%QA*H6hN>-jMhAEL+1P|=EM5=bjhNa#WA*aD4=$)1@CCtw{N#J?7 zQYUlkDnp<<$A$1Uhq#$g|6M=nS>p%US^sr(!iMuDE0z+~`@i!o3xWT2GURz&Rc6`N zOu3~6zyUI{o=)#$GZy)LAkD_Q3sP8KzvbVX;6$Bk{gT$+`m9w}3}G%;Nf=rsoECKy zCUs|^!pQ5(8_PtTwNIb=*D3W_zb{%e&DZVFhrTjox(v07tu^nP-=9n%I@ZV8WxS9a zO3>Y|9i)D48tW>|8l?BnpIbSzE!J#zUB4ecq)W6HtMc2jkoq?b>pWuiAU&Q>pXBM8 zxq8KKWj$Lk4P^*Q%qwtHnn$T}GK_Ib57B2NTze?pi)BhUU(c=VH;Evy4!%9AZT@rtGU3TxjjlGtR52S?{8Tk_(^h&fd!Y44|16xAv(qQt|y_@+JPv=HL{ zy5dHMq_8*%W2+V`ht5en~R-X!GB>(<1q-_N~w;!k zFa(l|ch2CMX9eZtl=bU z7=6{$?ow6;CfAAAQ;rTD{O%jnTn9qzzq*si1{0B{y@p@%T~B8}-Z+)sw{cr(*xVUC zFCeVTI{9LK^pDdt9)W5Xx&Ol`V?i*Lb}@lEF#P4L2|r){q@#Vh;B0*B?bGt9>6tEe?r(vW zp1W7n5+Tz3}cbtR8?FDn&kJ`g$^GclSk#KX%!sh}%hn{rwx| zrF2R7H18QE@P`YDih1HUo>0cn5kLA-U(@KSSG%a6Z^=hWK#O|otWzi;N*HvrrMphchlQs5ARW?cv*l5+vzc?n13$hggd zyUhHL`>8DVn16=VDHZ|(Zn>l>R) z(W!Kn#NNoZ_e-+<>{Ia+uk}s`FUK5qDmlCsrAil~qzYA?sw4X@cznD_DY@daB$C9} zo6^2sIzJQEn>f4ND6FseHQA}~mGbM|71xC}wwjDH$zCj`)|D>yJu{-mcT(-nH{Z6^ z@#L^4nb0NPvJe@Me)NJUyEhSGB_9%x+r2Y#_P%N%fx(9?PH6T^7t`n|>M2#W~(TQnI};Ziij zzr(6>a5HmTpElk1H1pex45w3*A`%Y|rm{Fm`fIy9n?^=#FOqtGfklTv*;GF$Y>v^K z5sn_ch-vzLm?58Wa%C`&T3GD|+d(?hm(3@`Cn7O4wS05Of`k2?PBa{I%Q^1?bc2mw z47&EQC9De@em$*DwO4j?#Mm!5L6j{$PSUPtoBTsFJ3-t;o>b$n?4=z>?msN6x&IxP z1-EghVK_c_TZd{R=J?a1Pg1|5I+0*)?p%)nbpPosT`YQns+ZCO|x=Vr17Yz+* z1pb6}3qZJn8xNF|+g|9j-jLh{7N?&L$zCm0AfiJDmIDNWZ<;RlOCZXBF;bKS*(M-f zKt|liZJsDM028VID7=TbFISN)@k~YJ-!Ng!y~C86!|4?%i$uZ~?Y$QMm>dU^`E?X* zvXq)MHU0_buiP(!uD?GVPA@l#l-jqBb1>ovFUvF(kO*IT9nN+eMety+f+yc17zahl zHkST!rO)ZuXfvd-*sJ%$yMoCGscDPn1J?d!SZ5_LB4Ts4$~W zc_Bl$mR_)uNg^2A|Jlmp^A7Fs^4Lx+2BDvNw^)qwQk$GzblyrAOxoHZ2A$jIa+=JZ zH|{Y-ePFGu-Yl$|k*O%KwP7y*;qN>h8c%l_{kwjy#SQ4- z_wA$dvbamSIpxVm3vK$h>v@~***r!(5v=^>Dc8Z%t?_52A*8IzWhm8Zf_U-B3Y5&1}W`c-hV{) zhasmuW$yM@mEnyRnh;8_hw7EI{cQc-J`zU}PnnyB&6}PFxmXXqx{&B_$5Y%E5*G?( znPY7g_#zRIIR2!ohF*tiAvO_9`BpAFN4#Wi9yFZl+X@zFNzRIBFk#*ZafSLSoGQE6 z&A5an4Da~|#%sjrY`PXSHoB61gu@kk(0YI_%EA#d77<)(B$;htT~uSXqIz^}Wk;eA zm`}{?hL*Mg8b;c$hMt949P-woWxG5gi=4i`eL3+=18 zA20UAMxNumGR!yJtvQpwr_4<2!4pY2X~5>h)o_Wp_h#!y#BSqn^YBQUts#}bM75Qk z9L=}mf2iV-lEbsAVdQy_!~z+mew;bg;fXV;-yqFu8^TZ6)Kn=TeA4!qKiaf){Ztud zMeXCTQJMla7q6>z9yNnLyW>(tauU+?AdL~VLE!cyoLr#|**80^Z}<&)?>hKz5!98> zFvC86`UF+^=2?flf&wejVhrMRv;j9sZKJ}JmyCg(DRinI73Zuy5& z`yIXK>WK1Lf3zE`ED%~w1sWeD;cXvy7r?hl8NOuZIHz?g5(gM=;ZJzf#gCD~1 zj(g9!d+)W@TyxHaz+xcrH;a+!#$|28jGwRVK}=65#cu9GZsW%pS$~OIm&Xz*1$sz| zKFe#>z}<7jrbt*J?6JiHUFA-W$jN-LM!jx3PuN7oNrXzmJLx;K6Fc?U*WPva(j;0> z{92B{GexyX?WO4>JKL$fOQf~N>fvD*K}bC2JsF~-@OVSj0pDdA`J<)K(iJ1{&&YO} z?ojvLJnJrRXf@5>Zw3i08p3b;0{jpJkukmsBCsgLl(+uCBPT<=3e?ETAfuhM{7&3s zjE&@R#<&`^VECawh*cx;as>VfW`436oD9g$p5fv*L(Ea1FD*^NVw|!^`TzcEGfR3b z;ri4|gGfpRw^JoB_TBaY6{~H#eZcJvcbHe)7WjZZ=gZd;I~?1yPdkrzb$x z-fPr~{DO4`zGOmSyZ=gDnp$)zlxBF*u<@mWsq{iE;8a(2zLC<^{^=>Qbu@C3V{#HJ z6X{p8L2riU^VQ%r5(*n~U@p5E=rL1!+#X}X5|S}238tkJ3M+l9^qxj^Kt3^OESc2k zDZSz}O_4!DMz8h0c|rc>@d*TvFG)5i7KsV=c4%79ji5@+(>*^zh(kIKV=?lgsKHCo z+}B1lt+kY_Cym?|YTIoQAEJpoqg)KDz0hrbUxz(15X$n5c99LC^4iJQHJ1AMMHkUf zn%3cwb^SD%$EGj`xk=J6Q5HK_@)WZ_O$^l{>(}P<$w$6D#{oNy0bOnPgG*-&UQLR~ zeT>~oy{sp<2UH1uF4hEBDyNdw=){)Z$JxYaQgQO9{iq%KxG&luPr|c-0lS@-0jj6Z3F4qzWqyj&4O71C% z`G)xFKGw0-O&r^JoYLcmap!D z%2zRKF{gId`^doe@0iWG25Yq62N^%buzPVdcO`TUb9~TP1(zPI~5y-Fv$y4|rBb*okonmecubRH(iLx#}`+#nS;6 zL{{WP`-iW7ii35A6=?Fq)Qk8?a^a?}UUz=6hNILUNdsw$c!|@jj}v7LC*urDU2s#- z@!9@1_k`qlh%tQg=vzSCyFxrIt4wcey)7feepVkXrY_Lo)(%JLpNsC=hs(-PY-$VC z2f}DD?v9q7o&9Z;WIPtyXFquobbwrOa^!;fh{(u3aU?2}M~hc%g<(#NI=*vObB*aB z-3A@@xU{sluY;NU?*xSqMrsKLoXx!9;1KTSl8-vCGkvPoEQkIM#{YYKCG%Pge(VYY zCl8Z@(;xo#gJ+cYQT{%Cc6m$z4SzgQifG5_R|gSs0#4?Okc$L;06N6PfF?RH5+XHEOU;?ZaKZv*4{N*&L^qhVO`Trp-Qow>#1q zSwq4oNEz&4Hrib#N75GlaxEF*+P7LX!AU8HXP>ZE>o0g6h#;yH4J~8ANxfwTL|NAW z;v_B(GC;7=2iM<`tpX0$rG%d=4V2~Ssyg`&KRlv%%>z#Yru z5MXnx%#bY(4XVY{<^(~-mKauVQ}A{)={(5y*FKjanG9PaPfpP-lZqI|%m0Q!-&V|s zH3=&aNHUP7GG-a-!h;Zcd$)O6Kx7!A!!kxBDT2dTQTs^(P8`3kkLY14;!GX7{_V~b(QxB!AP`|3vR||BIe(_ zsht$&39$q-9Hglm>f1;B{Ki>vu**ykgwDJ41b9Gm z-y(y2 z?vkCw!l$}aW~7*kgtE+%hY+{yG4oT94d1N8V+g`ft2@J9jhN)Y)#@ejbE_hq(YR44a=fOHj8x`5b;wg6!Z0ZG9v$0xz-gk>3Re_QQyQEzmYw=FF;>>K9M-vPo zXJ_XZ)(JS?XbNKhxB+@14M5WH9+(k;4)V79>byS(Gq`SG^TcwFhPx%@CN;i)y;K@z z9tA{iVz0klpveUd=>P=5uS~7xpkfB35zwWs-hf#DdNkkn%A<7lJoPG@;J5wqZ!CnR zcE8eeLGtsDco@Vy>syDu! zj8AJVT{iHpt2Yr=Ztt}OTj%i*aOWaI(=MJ|C3jEX!)VGH@w&`m7zsj&pd;le6C+sD zSv`4#I;wY6Fuy`S&}x?}vEBF-UH_f@k`d9(>%HNtKw{ZX2u^CV%}k+RPgunj62K7A zLlBN$CYX+M?-6LI5~qW{BADpe+}w;OBreXWrSlH&<$4(YJvR$jxL~Mf%GfSo0J5^P ztEeIDZEufe@h%O*S=*<{?|g=fXy_RBWh_j9z_j2kdT07xX1|5XiNwQoB87_&q&QYH zSx?Y09gT*BI>?~CrZY{TjYHD~i2qVETmeQ46Q}a2+TU08&o*UDe zV)iA>-h9h^o%JwKReL49gL!CfF1CHJLT_At)EA8H$qZ>A3fnTb-eVv?OF2gB#4 zQ~M|ebSp0uB#!AHZDh@tehq4tRn%1y;HyF%a7v`z)&TEa+!FJvR}q46%;M%@?K7TSJGvzT9(X8FQ%~4zq^V=48EKTsIVqJ=vnQ)%ufZ6dH=Ra?ZC&win zoJ-!;F1Ax}FUBK-xb^1E`03m;e^arJXC>_z;k>fyeb+&foy(@chrO(kcqSqN!`dX% z@LG;KO`W`a9aIVxI@5~XC%e&6-%UCx+b{Mb{;g=L;HJr&f-uJ!5ALhdZQ7^ArCGiF zP{u#Cy0Zs?*8L073wR~5SkG4j-z*e7=5-*oKn@lHnx)4*{%3bEMfV9oAqQJhJ&ez4 z;Z}SnPkH?NFQXH}xBq>UwYh#@VsC3t2|4;j zSnk_!NX~`^NooZ z!mYxAyA9&E{GrKcM!qi^-+~0T^rCXdKxwq%Ajx2zh;mRVPHz8KuKs1VzJ$#n2&M!F zCdp%(AbJRvK?2+J%!3s(B{c%IkEJ{^33-F{rS~(u@ws0mf;YMX_cs0o)8Xh`z@n>g z*?dR{T+F~!ncDkEhxUoy--ZtVX{3C(bHqy^?xYqfBNbzW%$_I;}kvX_`cur{O0?`VE4IEG@ii0&a+0d`&X_g%u^jLoXo+wHSK<2>UWvVyt zX{5U9?kuSCsn6Z)X2#{dTB7Ft{c+3T_0Q&iCS!7S*rtm31HwF{^FtZ~9pk^dslz29 zLVQC8lCG~H-vd+xYlKlrJtF6HDv&WKE~6FX5k@#K8F(>n% z&wnJC%2ya8$%?1&UkB&?F0nl>|Jt=-KYw@$2w87YfBx@btVDM-wrW@2-FXC|_b?|Y zMzRC}Vd-m9;~I6J1CF;3ihi+lBDl0F3Sx;a(|X2sB|7*5`1+{K@cqG^St{fdG_#PA zP&}pBnj8Gj{)pH`XV+#|>3e+sr2o*YitqC1X}QQ0H57tRD=9Czp%5$={1Brhxk`0z zje8`mx=Lt@xajt~_YebgGHw4Y(vswr2N_wq8hBvJSTcThaaQhC2&bbUQXBobJ_q$t z|EJ&R=x7_@gM+dPFol?skw~2YHPY0~4DIcQFh$D(LDv5TL7|+xsX|x23gf1{dmNcm z)*V0)0<6L&Tc9~fGMSp3eDHY&A=J4KTP;PJiX0(HkP||hh|M?j8z}EcY_ZBdBahOzzZdjx@OJV3!h;#WFm!u%}4n$o&^t|=bH06EhdYeh?6Ko6r zR6Wikqhq803;Q2sGreFn2~0tHp~CF3%S0Oc;V^yG5s)yLnCt*0+}>Eanu0=&eiwA| zh$sR#ER?z$`C%s;@>J4-o?J@-@f_!mwrkV>B~7xpEAIj@NreVMkNt&*x&*j0fTdSe zQIQE)dTXa(M7b}3yp~3D<%c)s-&fbpxB`xa>6-*e*U7@roLPCN#r#=> zdR}6rJ`GRH2l18HZ3aDXRdXK!T?=GDIgjwgMfWpmQ{dnFKvx0eD73UM6UVm(V&Eax zKtBNdR8&+{a^(kYoAg{3On~s^c-E8UWmz!)Vdd9BXVAGphJgk$x7-BXFGG}oi)fqe zxPeumnJumKMRSWmpb+5en@%#~lS z(Hb8@f`|O#AOTGLlTA_$Qos(f9Zg{YYz(TPU+TW#D{md1I9uA>n>P)dLVNM}^Z1kn z$SgmAlM-M}zkE*GHaLUGQ_x8RJVT&UE6T|c;KxG^y=(v?U}E2mVBE#momY!iuB+~Q zKyK;O1&fO=4Pkxo|6d^~t$!$oE9HWAhjRg53|s|)C`SU}MW6>1B<|qVrpCq@0g|e? zhUsZ(K&7?{B!WOi1NJ7ESlbpqwGY5tz^=2S=Lcv$JdxWv5cF`SkNKhZWKaFf@#NZB z-YI^+@9qjkYFz(mlD|xcZ7?reC*7CuXSOBctikhHjPIY34dBA@GKXMBMJ-dvn$Da1 zJuPi2P)vf)uPrbCt4P>Z%Rz@p?OurqteX70 zax$me-}Oc=;t)#v3rF&%3KYsH2m zz42Vg2$6$J=hs$8OIAol;fcTHm-mI`W4)A%8f~|3!HB^Oo0!LuV+Bv~+afp}QrCrv z8_TM*wonLP5IJToxJ_L#N+q|@t7Ykv&BaVB%XC~HNdJ(b6Wv{NE)|WH`rLms-k3?s z*pQEKYkZn=UaETXJd%II>aad)cTp9UZ4TCkJBp5q=dgzF3VsAx%laE~=P<9A@r{m7kW_KV;KIc+3q1 zfUHKOf2L0DW-fU%>}QKjIBs^L*FHKOy{67FT_8lmZIFZ#uj1akLVjfvUuT;jK2-EJ zNcK&v5vgY+DHndPX14m)n?o;oZ#Di4#zrWCYL{`#uvpp!2@|i~rfanUxwkN1AGg2B zfyf~)J`W_tBqR%W9gM5%2If%!S)dMxmo%h!#Pc<{iulc>@;-1eiT^FtiS++Mkg|%( z3v(V35iyUZb>*bLzaQ`$8FhbfVTS*4_o!;#jJR?c84%+%z4B=Hy_?DgrwJ6~ClH|U z8TN)zXSo@IXaa^=c#LlVl4rkR4PYQXfOgUY&^q0L8&HzO2-?suu~p-i+~)G zx|b!F5Ie3G?z-B`(U#RBadtXJo#LLXqv2kon9@Kxn@#2;^|Xf(woHSg>iz6daqT8| zmE2^IKZIBzL=l4F$DqaUE8Hg~RS?pnQFOqs3t(#FaboH(M4rV>MSQNGsM%p9iSK_k zdFU;j6}@k~o5k7V_rW&A3vf6*3%uy>tHa}_u^W1y}_|%lRKR>nej#cnXjCnW2L@~vtBYKr+o@M^AHWni_)&=KKRxY z&P`2C-CvR@NZ<<5kPh~Wp%T!zZ@-c{{csKYNUIvH;W_77{@9-J#pk^wRL{|m4L!ps zHGT+25P=k=K&&waI>N2v>M;@i`HB`oVsbDTba77-jZK&K7T3n|#>snl8bdoGJ?#8< zls|HO&t`|`8lufd^W(%Mmt%9K&qDR(xwhjGA#!uV(LdBwq(o2ZFP9MxaR8bs=lj*k!|zs8_ryd2vUU&6kH`&vh?e-!>t~0@ZW`X^ZHk}x zqU1h!QMXd{1=VP1CY?e-nm^+hYD^t9Bor%0(o$^mlJt@(oW$ZT%IXO8erz;>gTDnVevGHFu zDLuD63zNJt`utz1oMF2@WbS7G(f}xLId{;d_ZP@v#E5(HO)m#&JWu9v48a8x$+WO8 zaCkYKv(WNd`r&(7sI3=p8Kwbf_#oT^krR;Z`w7{9jw$cz#J_ew=2%KC486zCN$(?* zB~&7#_anmZ4O1*NuZhDexV6XZt@CKkcPlB#4^38FdBApH5Q#OE#?E{FNo*WOlIAB2 zGXkqT<4=;_TIGJ5w=leU@r%qb-wSqT4;Wf8`%29r?w`MY38FpuF|Sbky*tsxyJ+Q@ z;J5fC2^9sE`GEf-9IRD@$miqN()Q|)VKpfwK{GKlFbo05Ivdjq(xf9K4c7>9H9RW{ zp*|!6c5DFxNL+z#s%5BUdDFDbmx2g1V;xpx(Fn07X?$y#i;AlfEJFBfxT|V9x81&^ zLbtx{R5tzQ2qax8&gz&z~(0A4bg#=6Q!*bV(?c;u;)0=}ZeTxhX2GBV!46{GUUx#U;ilc?V61mp&|I!+kz`tEip|z~SfGlQV&90#F2loFewdNqD%Tk)NDP<7@0#XALMn@QWmCb`n@sHtP4) z5@|v)&YC4c1^o~|KPjhb99_hIS^d!Bp~>=*&rq@H0bFFYsBC)<>nS3XluRjtKi!YC z|7{jx4OF`#Vf>?g!^#gfY*g z@RKS;8`{(D2IZ-Q*$EvP5pL(j!TSBZO?_!J#b99;N0)fY_ldpRMlR$pbPmv{1*7;bbwaLtNfkU1Oqj!E8gg4p)fBUF9sc({#w zujWERmdspuy_Sdw+U};>ps|QD1VLg<5c3;;dbpg6pCRpe-x^Y<_ZPbcGfGteD&Or{iuoD4#+Dw{a!Me($+k^Z3cYqPAx?lIxVNBkxv1+s zGDj9{E|6C0B=}$m1;zIE_P!`_fa*R4_`v|#+t;sOL6$PM_H@+*3=Mop&{Kfn#Y7e_ zu=tasWu&FO1;reYnLDpI&o#hqa5da${eL&|qil+0?jbEAen@UY^gGTIkY{?Y`@;{9 zjIgn>0iTaUVCVA;U_h`zbQ&yYfb|P2cvAp-fDGE8Cj=NEuK;I+)J#v zy}|RgL=XBvZ$7=n2DH!XqLr7ez4c11Vi*-{W6Mbgx{aK>eu;_l$83bX|KN?0mT{?k3o{p+iOhJML z`6t|eO5M=P_x{x`Qd9AapsS!ng>s?orD}iZpSCbUes4(xX{Z1fnl6LT? zNGwDFc6~fw{d*o3IXis&h|4R8qK_kLUl0upnT-~d#cMfySKTU22ra3gC4#(A#qIaj z5;S}f(p)_1=wr2u{<#fa6`{-+IhX!m0Z9qvAclNNE1k3C5I;l3%Y$UYiua1zWvE>r zN7~D-FcgG7B|AP-%o-G_D?MnAWO}}s({7E=gg>DA}nEButl|{D@$*p($toM8A>>*!6`5q%lJvT_?_fcfzQTz znEcZuCMEh9$Scfu-|kkuG~H`vN8FE+9_o+yrI`zx!=Ie~;7oive6)4Fh-dtL4o68) zXH4BXK`YsQK+tb%`JPV623MjzQ-74r7LwTTOD{nvE73a+Jib7!;oxD@L6*ku$ZdMD zW-;uNK$E}pfxN-xotXi^=}tDAkC&VKb^*9a0AP**XQZsEgU4}Knz#2KP{DQr7L z5qW>Uv}6HOO;BKi6c9hJ>c33CD(Xb%=HJS}oSv^Y(31i;1yu^nq2XZwaa4i!KiGjZ zGr%WI;M1PnMwH48$vr~i^l9vhPmTzzDVB$_lWtHYR7qw0@p@$$?4j`G3LKDx93Ez}@aB07&9 zQz=_k4D7u1MOW3q)oLGIdnxzonOLspi8&aKq}h%-?Pn!hM0TG>h3A!oxL7V*5{&O2 zW5Q!5&mXCqk8>8=zcc05vefR$k8pnU;N|7riKwfg%TYAm71l!I0M91jB*}YY6Mj|Y zW0z?+21{*cf18(D*To#QoBA|SNSbG6$Rpa-=<<&!{_BSpc zl5m7|^)=-LRu{*yqaEyt_t21k-WM(n1xfjM8ZyqO73C>~U{s&`tO24m&CAbeC7ss> z93QV>qQ6Fn_?I5)HTo{~#YmPJJFk^mr;j2Csq^z)pPhM*D-Z5xkIPr`QWanI)~Qr6 zR`@(xmFmyh2vf~=R!(;|HiNWZ^!?*13k~joh&L`8YZyYUuQ#GGJ~%NGN_bJYKU*Rk zwOz>Y2H|DzQu%OeYR=WWNu6&Sv}dKQHt4e7?EEVHqpBlvZPKcq-y??H^QqwXhTEL5 z^#9t3cm(hv1}DGFKjyu!wXm>w0j7TML|tBE3077V5nXXnEmyiB=fx&KuG3GbTjs=DLlZc-olYtZ7s?3LQ zDucg`bHVNQ;SM#Q3GMy$QVM~0kT&)m%S}##;Y?&_n2&Y7zj5m)DUAq=H4*xVHZ!JW zH6%B3_o!~n>450M*EjRfH`_1AS&b_7q*o<@w?qt$&RABJ-V`Dt$}}X1g$xm;YCM>! zvRr$LcGj$W=3=>xCmrk$Z6ql1u(6oJ)naH@@?3VNjYc4(&@aVz{_4zEGn>rnEYh9A zw>v7*ZyKS>q1t)n>~@`-=Gt+1x!sVU*vlgNevRRt9Q*k?RemL&-7&*#S)h;DpWqdV zOox|S_w6IdxwZLSqZ&xaPirg^pU-;t@6C}E03Z+ zFfM36E~>$2>*y258jVS*bh8K`8tssdd|+CpnDyW_nvi@x##3@pEYJIX-uL|Zs}(pC zc8FF&6?POCqq0YaLw zG~8;fm`N-q@~aiGFv2pvn~FyoKfES_s*gB$ly)GvFw7)E_pY5FO!;9=D7Tc`YPT=T zArQ+K=8WO6ULK!3{rlMz3j7lX@tO5(1unJrub9jELLT3#z4W*IOX}zAZQg4?dU*2$ z5C?b`_~a3`YMQ+2>c9sk%Q}2~a1O^U+meDZAxsJheuwty5>bTaBI)a7CE*z5$Natq zb~~S?^ReiNPG8-dO&J?Z{_G=)fFIA}oF;k&1MSI_8FR@EDQU^JWj+__gR7c?i|}G>Y_?hzMR3=%IU0_C6Q>p=`09hFl)6sCyq$m zF|TMMOd0gc+`?HZ2DiQ1pOL^aU7fzOXyQDHx2Xu28~__SnE&Kfv1BG-Dkm(=4hQ_`qWZ--k_YxogY&kYmB*?RcU1&pEwP-%Y_D;&)HE*Fgq>%uEUL=jb-;$HP zTVUxDL+6A#MjnsTD0!;;8d8)Hn{m%H(drGoiAV5_ZwF z%m@XcT07!wuYLWwK_O>m(Nx1tyaf8`dIFFAue*gyFHcL|jm+Xq#6$@DNULRFmA~!J zj20vJQ0oFCM#12dCM4I&__V%EEF8t>Cu=km_m$5A7X!2E8w|?+(a;wZ=L}^#MORKI z-K)=@AVMLSBAR%xnEI&WEOGH#wMd#TUC!CrzB>rPP*Ae{O55|9s1l<+E}Swz+PIIU zg!*bglKAmwr$@H@g7LUyci#3}1rm62kTyfCVezvr?j>ZPR>I~oz8On8hq|biPDV^^ z@-!jP;0cKs2TQVkQMc4p$6~B-MBUf;JF%8JiD}Q=PyNwj*^!o{{`@q1&bPjCk6g)V zr<{(PUcLO%bcK&^?@0n(h~UlfW34@x>K(sh_eXl8Lg#Ue_C$H)Zd-N^5zt4%*jEGVaG)jYY}>f5H|QOd z3s@U3C9k#TV+<$%t&Ju6J}+POA4i7gZzFiRNzxc`hF%lUc^VR7Y#+5zQOUifx+j-M zYNb+cP;Re>5t!dv9r0N9#7FHf2>|7`^@Lv27AMN8oeL~yV$0`${dwiViuoQH)lYS& zPBC=77;!?2TUjGylnrB2P4JuvbeuXRZRSBPgn2=W69;h|-jSvhayGE|SI;eqSE6`r zsg1Dj^08`Ynu{f`L^1pSndsmwyqjIg0*?&RU0*it07fB}wnwgH*#FiT-?**7*ou7L zLyY2G@N=k8@ZjVhObMeo1#g7XkIlIHimE>}k%e`qb%QIVFMj{P6e4;+` zfC$8oj#P&i7KVxj~XPN6Df zgO=~e0*X}Nlogfz_2x{CN{Q9FSyXT~)oaGr{`GMT=9GV=N>N<-;wXM>BiJw41+Wj} zxa+dx9F>+*dg_(@h%YDUB6;zckxLi3BY~but0yMq z4@GPCKC5p!C9*zbU`{^V?$!?MTGYhFnD8UVQ=`CReeh~-ygJ_Tlb^M~ICxO0Vq)xY zZCuslO<6#**i{fF=?(Q${Fw(hDm1Iihc(5zY?@c1${R{uUr2;RDQ)iX`fUNYhqtU8 zQZ6R@${Cuu_PzGieCQV==G%xm5abY15zz%p@kKq=jS!i5e zg4;ei*-%#nJgtSyLZJ>9Af}xtz#1yW0v_O3KmRMJmV*n-i0_#MF&I%Zn@^AKP zp&$;*$^ij9QcJ;$MQH|J7x5K?y$kT$=HuhA<5Bd6TCi7=>r8W>ho10?#R_CCVzLE$Li zzmecxG)^$TV;UrbkQ%F#(Sq>IH^aydQ{d4_mq~U>PDU?}DGIoD?p~N*l;>b_FY=IjrUUxPv>5d z4YrnRdJw&qVMx~JEc7(iQ%C%aU$+030|Ti+M3N#43m$sbL@|4q_%Uhfvk%TwY$kN#? zMYbmguO_?}o89UF&1u<1-uAWWvw@JYUW4l`QNKa17`|t7@wl&Mq&H%p2C3jX;FW zF!V)jR1$mC5w^mX!XlFVDCiulG;XU2WoJuv*m?wmGp=m`rQ&ZX<$JY?&jSenGvOx2 znU+ZR3yWOY!#cOHt?AeDnpnc;)XQ-Dtr58b!`v4z&F7bWw|+zZ)No(XK6&(5cL^ho zWi)FdgSW)rT=>KGKJ6FzkW17ojcU}F z9HO^otMpFoxgy2!&Bzci1tnXZ!lntzeI5_NHgxM;G67J!*UrMww~#YhCQR&)S9@o4nFL2)S9Bs)+p{FJm8l=Bw^dMpKz7^6e4ZvGQj?`nf?b9Aq#3 z1!ZKy*TZAS5eZa3Cv96OQWMibNcV+$o|W93!RF_F1Yzsd5E@3$ho19JA1AK)M4V-H z#J-Y%;8If+ZGMkcr3kmr*tv5jcACvyZC)`%@^6K5LMK(;xeud#O)B|pi42kKJ4mWX z{)F-~PEuYnG3PD?0CZA5mTg;SKSXSN0e7Z>|IEV8X{L)zJAlUv@P0k`T?x0kl!ErJz|N7x(b%1T=deSX5!~N^xw?*Ry)llIr4zPimO6u$mx*e*9!MZ|}edJC#w4#w5;mJs<~ z7Uea)U;U_|qBUJr7LA>DDV-hO&JZZFVdbux;m?u?BBOEHM874@dZ&ZThg}3H7vj^k zZ@N)-d><(kwYBd4da9&`gDh{VlF){q{+-y?1Z-cBv!*xwbr_02K#K6nG;oAs{n5z? zFxc#V2q1obw_BkQYP!#1CFn7X-Sdqa#Vpg53=j1uKP+`a-SRQCJq=bGaIFG{Ibdi@ zY-VP~`+ARlujCOEn4$kDAIyJT5J>+sa|HiOUUGu>T03j+5*G0OYgdx;yVn2Z4F62+ zY-2WX%HDn7IOAJSrKtVR-PT~M_}v%c7BT~AJpyh;xDc`SE>alw9Xy4#b9M|rBf~@) z$`{^l=?62)B3<^$RnC!Be)#jFSwuPKCq9=1KNwO97FvsL5>V%j>DgM{+}xXMcmwR< zVsni9T1GPKgLI~D1xD`ZLb!I`Bf`C$j8g&n{QVWlF@qGEUbdj3W66=6~rI)Pb-yWsGHct`$hP$y;cP#_BUx5@&yDD%9BuS#GS zJdc!y7sn2)>ZeL&;TU_qEy_yM7GBlWzT;o=6Rt6eP?1mecQ}~Fu;}C#L+mrQOL5d_ zF*d6&m$gO~fCK2VGG7tW8Jew6nQDg1tV#lj4sEFk2VX|2#+2LFOCP=&6G>vBsY4z>G!IqxNn`pUsE3h+t| z{8f#Gf450L28tH$P2UW~`uplszpxg7*$puNqLRy6wm>8o`!DzJdXLVFFdzZbbuc~$ zTr-9KfMJKZ3AT&%w7~9d%CMj4Un)`%7ek8UH^-B{TYGy-JINwsGxIKK7FSIdpO=C~nAVv@vCtvDacQV1DQy0{iaA+DWKcv2%xGQ7=iqdTo6^MOvI()DlNylN(O%aF7|!-%7@ zXhKWSojRY24G(5`v#NlL40% z?k#(^G`OZs1cmat9ihKiN_=R0raq- zJ_Q9E_c&9_Uv9!-`;M>N1hI%(euWsxMk&OQ&QrL2CIMhh8~nb>9~=<;s@>02TPR^P z;A$h)50Q?`m17){|KLT)w!;#9!}6WhjE!?25ry^bjB{Qp@X#Ak`xqO}R**%Up6!JA z8H`cjNUx}@L?!KYAXq{*+FJOpAi^CPs_dZF^t<#neq@YLq_ZN(^c5H5bR*(%Dw#Wk zg*d7EYBZ*Q!+PuVK2|VRcyN@Q4IW=4FJKzW9(Abh@)QakFi!`!#fv53Qr&fOOEU)> zz1oFsQ5}fd9PQ-@6456@TnM2N(&{iZLPe*F1qWF?nl97bD?wDRVpzY>0){W6R- zBN-6LdWD>C#%M^019HLZjkgei;e@&v^Y~Rf*~i~|i9D}jK7Eg7;n1g!SQyV~rT42)K^#EnL;7k?*0eZ`C4v+4VG@nJeFB%<+ zJ~X-Bo`BN=uZ%}pr2ixiHgX1QL20Gg{LNvba1ae?YrKZt-|yDC0)C^P^f8P!X2uh+ zzjOC4GG=|fJG9-?^y6%B?}{>kK&}T@!%WQE#-J;jX2gU&^>Z;JhdRQH1S*Z>nM4ra zosFD@Ax{qbworIR%Z;wfMYFuK9dN^=qZwcVav&O?x{}fx)X@BjAR*F72hO$9|G`V| zvAl`7iJ)U2ulh@5ZSeB5FYojX%{C@QHYP%b= z!`8#9MNZz{{-%>#0Z-;x3YD8gG!&U?HRJUCBKPP$aj=WZ!R!y^es(*ivU`2d%i5nL zy?R<`B`l|%dWC>;S`m#kS7ZC`un`JIt7E0*-nFVymXhJkF$q!hr?Z_CXf zVAxGHPZA)c;^^jzy;WaI7D3dL`U`Z8An12$r}XZ|vh{h0=RgG|9NmXOT7BzBw0ON8 z5{Yiieye)4;N3IgY3ow~ssrOq9*OgUTo@z8c0F5E$tXdBsahtf+G)Imv_M5+fvF*3 z9jJ7N5q0C;x470N?iX5;P>1ybA>ZA%wARj7BF7R~O`7R=Ya@@oV)5UctZM01xw-i3 z(i+Fwm$g9HI))&L`Pw%iCB$Ce1NRTngXmUw)R~g8Hk+sW<1+i= zHi0GmaJK?RJ)0Tm;+zfT=sT(!Uah==f&mS1R@L8w>h1(M89nFUs8GoBv~QR5(w-T} z1A6Dj%12(4MiQDMoPM8ls-Wid@H0StJRF&Pek4&{5MkNCwDyXSLKN|$zlN3^(+Jl# zT=r|RIHOW39hqcH9DEJ1v3?fAD7!U6I{-<*!5f8{-C|MiH3AM`kSjo+<|9~X`ZE_O z@E)vl5?GP*PYIPIm!?|>CU`j2nOhXl|69Y9A&@*jB{$E5E3=Q=s z4Xs)=QZa%B4(8SCkK4azjM#zQW2JhHA@F_$_M(6bd9vJ6%kW|=4SqcidIY}3@j`ZMLU2Ui?j<9WW``+7VYXYQo)o*Ipf>|($mR4Fnm>Z+QluOd1cz@{)E!mh>1a`g*i5Jq6J_AD(oT7b{laSV zePckc`Hi4U<_i6D_!@zii{J%l;v{;0!bM}=D+0Zm9?#PJ`!b|wAEU{go)V%r_kVoM zg_G^Jin>cj7itY-roj-e4_@^gx3#3@Ba0hE&hPezeVJ@;P2r7L6of#Z0J5&9*J`xL zfIu3zopDcHJb_2<*&`AQ(yd$Hj@Ey^{9HG_*#KkMAyUCxRoQ>E<%E#zbq&o1I1yl~ zH!(KXjCOhuLvq~r8$mML^iMJn3t*k+70ZWOEloRRHc46EyK{GcwqlYEC;gZPZvYiU z($T@-9{8u5Mj*)Jrl(a@#a*b79S{2LU3=OZG(2oT zZCvrqxzh<7#$H*x!`l1;SL@O0EB$j#^WVOA>|6HS*ZvZQ6?2^)YyQQ2-_x5G9R>M& z9e&jRl)7&PyYe8k zV)=?>PUc6Hlsw2!*av=lm9>c}jp$cDMd=3E`npxFi}e-=xxkE;Nwc1Yn%WGE9Lv;= zBLov0`d_9b6emO&eljQRVU8200Ji2~KMnq;JKi?NWR@3l&oaYE;Sxz|V!Vu)-o$6w zaxbKXb`YKLT`gv~!~2sFXCL_^W_QYMz+M&qO%v>sb026Lm5B+Bd*4LVTTL)}Z@+5c zp4UA_)POrn6SZwiQjq3KZg_5Uog3Fs;dhm}n6v>f`aUra+>Ys*_xB2tZwQ#i_ypfZ z-M@Q3dwYVjBE56@?V^kP1P3w%ND>Dh9@S;W_i1D-9L&vEw>kwsEj?UDw_d9qWE(Gg zDU7eYq1SuR=9-SwR2k6R)&)*L;<~8|s0U z$+(M4YElI*r5}89>=u|7-X%R^Fo;_R5c;9|4=X1KAj2C`Fvv?o0?{WFC3pHEBFKd> zNbyv(3OTDe8DDk~`fV%SFP7GeYS)Wc0U2R;xMM4Ry6kg&O8GnIbjNtGJL5Jr_hP*m z=dr1RDC7u`5i7iQke&}7pJwhaS!7xa-L5jLYt$+vu3KG)Y zjf5x&($d`}jdXX3G$;xvok}-I3n&PPq;#ircf-5qe*S&m{E$PKx#o)V+EBaI- zZ{T5!@4N>MQP4Ls+8n@fHD%?1~G$}7&3Mr?6(q3Ni2kq}oZoVlikzEApVed{MN)}Xxpm-CYvJ!@*PJUnc zN3~mEb@t=A)(fkd^Xj!O+arn++u}QP`g}YqOrioPI35&Rt#hqEvl?G>=|S^ zgB*b32S!m;H8e(`S=eoR%Cn2DMlOZl5gZrH|9FBp(2;u8mG-V2XN3x*5!HE-*$U04 zNR_9#qF960|4rO5;VIpJY{=)>eb(iPWyc7TOP)`GWUoikMCCG`0ex% z1j=JS204<|(bDv$fQQh_>=Fewp$I$dR+e5}Ocmh|_NIQudLIA{7EJUJ9HdO8@$1M%(>80LtYl6o-~SzmKr&qb zFu(PEc_(1Nh~?T!MiI@&khIXoSRXQE^}HOPjGca2*DUA1G=p}Q=+C3cDtgcxI%1ps zu$}88Okmd5#>iAkj)bmWPiE^J4XewOva2pPbz$;$E|=qn-s`WVNb~36}eE0wVec zrtj7Hpb5!QyzIf|YX!xy*Ds`f|qM+c$+GTO%@! zj($PaBob`mW*oHquh@6QfS|9%9LKETX*7pAp{u_g3R zs3Bg1X@n$NuIOQuq%28Lf%%Ae1%Y|OV?k^rR%R&_|D1rAPS&T^1s23swlU|0UOOEG zGxr~eNR!>~*hF^jAxf+D4CK4}?Xpqy+jo&XtBPZpCl(A`Zrq>#-T#{z{&n?diPDAb zBQ}h06T|0H<_7NEBPsv1NpXHX^Y<|14G&wMGVKT;9WkN`^fTLP5>Hf#IAni5W&8p^ z>nU5!3~}}cGs+Iep9xCic!f4dw{*O75}acQleLRemDqnaogDjn$M29=96G8-99T{_ z9se-SXCh>?{-7JE7dSn^@=n%K1Wh0nwOIi>h)RNRsoVSc4Y3^hVDQl%KB*W2AxQ(&{h~KvzQuC)OC13%D)Q^Q5c3qAn0#RvUSM0MfDyE&?C0a z(W_Y414z92NX5)o?XK=#B5b?1Y6EeFjniKu8I@(N$kXP+M(xn@zTQHyl^}w+Dge7m zOAQH|lfVG~SSL2MVCU`Bjm3^o#+QO>C}}u%9ZK(@AO#tq;4wuoGD_g!-$`$&44`II z6i30s$5(qHf{l;gcCvX#`1Tzf?2iS?FJ9zl;!-wROxUjICL)_)-o_=3d2!v$+a&?! zhTEOqysrsb-Do>mxX@lszfsbmAKtbYg{)IS&2lb2SlIGl}9AG zzPsZMM#T!8#9JW#{4>qUseN^j_;(OF`GGipGcW^m&Z@#=G5%>7RSA~#v8Le%%F&G){$ zKN@tIF1{RJuIG^*?b$Q>jQUaTFA`gi%%DdNwT>JW8F7e<4e9BX5h}~ga{M(?LZ1`c zZr_tFOpb)Jp?kte*8)G(M0;WmVo-aJu@Vi=apKZ&=$2+sep1ITM=VY7tIA-y?JwOC z3XXj~jAs>7^v=YlXCc3tDJgT6!M{p@&6;ka+y5*|p~+a3PWiF)^#IA+6dm`7{Cdle zWW^f-6ZCtP=Jj?Sc*{4xr|xn`){r?>%T~}!SW9dV&WPRIlw~(7P%YQ)4&2~iUf%@w zDo{KNU042u^GfEmo!$2K^hH>SR?!G>0^R*n3i1$8HVC+l91|N0YNt}7zd`ka+-nuE zSW9aw36EtNsPp~%XX=;#%;Cjr2&n*mZNpqK9hxZRZ9dFJ|C`C!(@gxrxsQ9Z9j|Bi zO!pKd)`Uw>H%@*Hd^^URB|Q^6l=;pngN#0qpE7jAw!0Zib@nB0fO|#a>W#~{zAdE&T4AH*K7;F$AK`hZs>lqYT|3UpCvQI4{@AwX+LC$x@!7VRF(JBG$wT=V zw+YdXTym{83C+t<0fn2PKi|=>XK~dTL=z=teNY4(&fjEbGJ7426D4(OM%?sUT%w&e zW0{{SU}>kXxsUM=3!i^m)ZE=yAp5+QZQqsXSJmrbkn3M`{Uo$mpP}OiGKcyT@xsnZ zVX;o;f*U2noHhLG^8u%31qOfDzFmLnA^JF#wp=}d-4N@$zdkp}Vh4c&O)1big6bD2 z_cF4wPL-S7wGV779SzIUny&~{0Sz5cD$~-^8ZRb~4&~CYqXFjmwlB=i0ZdF-Kh)IG z2g51R{Vo+sM-eI_Fpf63asVTpJ*fgU5GBKa%c8*7>}=p)**_GUu;CMZDJmK`Zu5C5 zR=wzw0yGouhql`A-QClh_sR4hWNn)rKkcJ4WZ_LStZNMPOmX&TXMX-Gy)mWg(TT^N*dunx`4#%&yv{Tl$U-?d1xF1K)$+2+XUG#kG zhM%{s>ipTBE-G06Z^|nE$uFU*C-o%5#OlPi>D8Fnb3{>&IEd*ZsGlFLsKtB@ z3k!q!x%tz*#k==OPhlz#sPsW8ta}HN=gV01UB2rBkRyLjCNKg~$P3ooICC>IWtn7< z|8?Fta6$+o@&@m{7y4u^vNjv5A`)X}tVErXg4BU*1^NjDtXe;~=gFUY0eOi4J^eDw zGV7JSdedV*39t)#dAlSHg}PyOXAD}~DV{q0S~<{n?&1ADlxSEp)98&D7$UoWw<%wL zHNhxlGs!yy-#z2muJl)WrtSB3RPlW8SH~qej#Yf>8ZFV{Jk?jS-;vo8|Nf|eyj8@G z_6EC~dGyXi^Qq`-v|~jop}OH4k=a!#G3)%}Uoc%kPA-MpLIH-@6#U^*Urak!Q}z_5^2%=vWJi{409QLqN-x8l zN!G?WbSXo$HdvwRd1mtksHw0UWQQq}^mK zJN^xns`#^GVDbj6g;;VwA@oJYmuUPIdB>iexrpcPd$O_MlLw_LN6++7PWNBNspJlh zS6ORDcW?vU!PL|g2v*Yb@f`z6NUYh};pe^qVDEzo>1!ByQS(p=g6`#7e)VjW^G$&R ztu+UJ^S-p6MaL)2vC-_KJ_F57e?jO=49ycJe(&A8m*#iAR!K_0{xXiZz|I!Wx%1{7 zP0(r^xtK`qII)}4%;SpL$iJPQo2L#OlyHwdyg@78sP9|BMfqu5 zPKjd3lVG0bNtbJmG5fd4p%CY6< z4J>aV_sJ$ewsA<<5R(zzDVGk!FkX(A=~gS71)~^*4TH89F!c!X@bFMm8v__=^g8ka zIZNdKbjR4A9rn?ae)@jrL3+&BjdQs7-cUJ4==ALE?Zpis{cm8CAvhX9t`gRq|H-sFgF*@+EPt3jhoLtbG$bU@uzBIIH+Bxg5E8p#TqiAjdy(voXH=#jmj_sj;<4$=S4?v-zXCE<+cS*~wYB`5 zN+2QXu$O0biRFg(88QKbYyYw}l5+OKrQ=jWTdBG#wmWK24qmggpsD9);E0G}ID=YL z1dgP1Rg@2EDaPSbG@kd%?-=kUGUL|k?aH-irSD;3VWF7K%z{wN+yc&5_Wl*gb!ff^ z_T^ci-2h&lL^=AVBbalx0!Ih5h<~aN`Da<>B1fih0*kmCz0z<%XOBcOLA))p=>k{L zI`jdBAHYw$v9dR%iL?k6(Ik-61#H*~sKnTPK)3kVmEqn?(2vwqcLhB-kXr*0 zCM+sb7{dYjfTpeL$uzHZCjHT~Mo^VnDW#!1S~*f!mes&$VG=>YyrpE3Dic8Tbk?Z0 zfaZrto2E6t(?5jZ^#7)K4B;$cdjm2C2{4#kdk&(`NjV_Zp^(DQ^}A31V?~c-!TcIR zt~!&!M5HQj9A^$VAAw)X9vBj)fNcvNsizv$o!5YU80MWVq+{?ThyWdX$_G4cHAE^_ z5s^BCN^K#bQIx?Yn4#MS4Q|C9iwG4xxOHaQe3)X`L7$@8zt2$_o&Ynp`!;scdf zz5C8JENrfJxb_qOn-l*iE`vb)ZU%&&qHue{=te3$&LcnAL}pPCA6vjy5=1c}f@=$y zd&rm#m}q0V;RH0$L3ymsdX!z}wX*VGAU{z|;eS*37Y-uw=(i0>D?Rf$b&wx~FNsf0 zm1jZ_Zo)2O%nqc?I0ZEs%Gw}M;Z;oHSp!NZJ&?Tt<-D_kx1e$jL>#cAw1O$XdP$m1 zl51`g3_X4Mz1|AOL=YKm;0gW);;sGtO5_eOY3RN=##K5Ri4FVaQ7&`n+^dJj+tVy) zEkNWUj`r6zwL@p-!;)l)VxGH@E2~K=1hsr_S_qs zix5zj;?PLaGB9k^_dcS6r&gP%=8D3fciM6Rf_h%S5ZmCgwm$AL^C%f9R;G zxrEMw_^+Xo5@o~!;^D|AkAP?n-0J`iMZ&mT5I4&+v!cI7MH36b90%|Qm&|83RSV3D zV2uze2ngr`n#ni;aH4^-qpmV*|2ktqZw53zhhVG_jMXKu8h|4KAz#>!)7#+fVDjo- zV8(`*e6toT*n>>^!j!Mk!q>H%eG0kGATI}32gRdi5K`N66S!9nMxR>ki*o>IG=S^k z0ZqgT5?F4aem4VZyJzs$RDnmnWeDG(_N9vweY4a>{|V+IAQ(_Q8Us6d_AE%m4~oD6 z#F|SFS6>Nvg7X6EcB9ifqQKl*!76;d`h`WKXb!pUr;iN0O(*LQUH?zau%%LV)n*_u z?(gphcl*NzoP0n%i^sjh`$u$DHmC+rGZVfmHiSs~(XIDtv*+Zs} zJ1e@sz&iXP@q2fc*;zg@O{YTG0|GkvPO|ls2>FC0< zw1!*vu{Yfsuv*K;ZE|z_1uu>~1f#eLha=>mrer1A*KW!KR+~^dhmw5H-5`)SBp@Id zfh7gt%{cQeEd964mVs@Fayfq}g5&i;Djjrq5>wA(YM;^`K!GI7RraK%ej`2nv)MjT_l_^xaDcY!KjMx}0Z3cb|0Aok6HIjRl zLCN|Zg>X||o+YS}yutqj>a7&OJpqcK63QRWk!}ICb|*Gz_q~6>CPd2b@akxN*k`pC z)GtBX6Y^UEjtk-0uD{e@dX&_ z6NE5g)}tj?K-ZHam)KG&f)U6GgTNrf3No_ikQbA<;sywWsWC{`FCs`#IyzBlq4=r` z@)IBuD=v;gK`jJ(3nCvwueEHrEl>_}Ufo3)tK7(_DAOo1eusdY)q}J56v8uLM1h&R zAdnJNHD3X%O=;tCQkyY)6gpU!A>N-vx0kI?Alr8dl9+x#di}(13V}wz9)h@vKb*5$ zgZ`+i2(}~$r33B(d0#(3y}6qHL?I&DbOKKQ+1{kA7w<}tNyP=zz-zmJ{vjm5O#o`y z@=b!Xg}~wf#1;2SbihTEfZ8DtSIuUKyoEV_C#nRlb|oCRQ^PruqqpyyBZ0m(0y0BH zU^`XI#l__~+vF=PEe(VKEAyVfz68S9lTE%2Ij?=zKMK!Xd(QBM>c@(IQc5*8CA^jK z-Z+R${7u0eelILpMZvvaz~uynt4L!5ay~n?i|@j%SsmZ z7vktxz+fHUaudPkk;lznJz!=L(j)zpU|5<~#KSf6b;c$p;8Pt2 z<)2)^0h_OmbwPI*9th~>vPi2aD7-Hyz@?W%DB41kHm!6Ft!%tO4C|*&G|lPyk~@3q zz@Bp_2!~#!?paJ(tn9AlLOye|Mb+XotZ5JE?1pR$NI!QHs;VDVbg_dF&u<{yO8NZx z7>0GhT+Bd7XHcpc^A$Kg9uW{AG-YAwBUI6I^5;L|?Aa!n_QwpkH|O+$PPLUdufb;a zuZ&z{YdSY`krE6H9dsTlS^)vw7+M3Bwg#pBfg*^R!9)mwmT^QDNW}(HZcbFO(9`FD z$B!ErC>6-+|Ej*fBVgK=ff_Lj>TJxC32&$~3NqrDBUJSCx<@&_#_dyEXn#hhg53*# z+IF_7F^kcsZfoBPO?bT{yLGET zmRI6UWEM(NJV=}^!?pARcOazN$pk&h7$Xo~7Z}<`!G;5iU=2u#Zi*ow8z5znwfJRR zerkah?}yv}y(vim;>SD__P~dhLP%2(5RSi$LR9^?Vw+#ez?m%e(Suqi6$4bbQu zkRa%a(@;~xZu<+lg&Ehknx=c@3tj9DHULP##l@N>ehM)wYJyX7VE1^m3L>lke-Ldb zP$fvp0fDFt;0nUQ!GQn+gADB_qEvv`5{rw9Jvs%S#3tc`D^mSQul88_LyTPZF>F>w zle@M?pac$k8>N~P#Spf$a~p@4Y|Ky}M_H=HcQbdIAibrN6@p){;P%M|j^9Z#3>|TO zURGbq7-3d9d#jbxgUu!Q1l&i8yLytZ>Co{Tl{92+q<^Aj@*5NSL*Nl+}+jG0#`U-Tw@9 z>PfJy(C+&|jC#xAb}eK53$Vj_9?TS4ePWjqh~K)Z4A;LHJ)TFLI|fRz=%dvG>_FvE z_zU9YiX;hOFGE2T9gh0qs89u$H4bqI6sex0bif^Xg9S;q?(*LIf`X8KfY&-o6e2^N zsy0lowfgqXty|c5mVxjC@p5P~LIDJ@PTPGOaq52m{Xq%&Kdrr?Fk<-tWh4Xu!XMB< zfTa60Kj1SWO2hX_Ezo{Map{kuQ^lz$<8|5MNqkgs>4SU5Nb^#@3{zM%Y);dSCR+_V z=$;to!&h+V*g!RZ38qh9V}HhRwVT+Ezk?&~J`%b2b7|i|1pCzgOtPKXkG2K8-j7+M zY{wx^Ok=_z;-To=hVk)nNc8@OHX{I0urAKF$)hbm>@+E78nO@fLuoz`!sWkEFHBMl zd1a0*&cYT{9n$y|6RC7FbQ`8YiA%O zS_PAmN?T+KLbx5l+04RXJ@8c;nA~WCYV}G0rTasCP^eK{zfsbl$3CiEB8KpvZ0h07 zf+(^C*00eBvMbbkqRL^u5!eklAn(}#?}T;@F|_eI=auH0s~zyE09-e~Z7kBXE~QZ* zZl@B1x);*JKEKMxmDN|ZlAV3ofn%U#4rK?S#S<{%-T-URsSu=TfC`=i_6OodQbCVh zNG{O_9d3>zbg{_=Jvh^&)z}!|87eiX3!!jROYf(V2^{0u(I+X!$ZP63N&sl!C{B9n zY;I}ENM#B(3<2>WT!E}xD)?+f6*?!#N1P-s+z6r-poI&Z5WklHs0S5RBl&m8nhWY;rp!@h3m+=T6Ot(E>ZOY6!#{$k$qfM(odWYIB)Llgngo4->y3)SoC$sm#0kvI z1v!fFO>-^(9{jYD4lgJuSQzAC>sJNpPU#p#K=_X22?ASzC@A(rBBI2!v|bXkrGNiG z^8PNn)?I{5bilLx2zh?S>==OeYyPLf7DC1DZ4vm8o7{nt(=dXpuv@NO3n&)>_?1KU z0?Q9vs_=8br=U!tj`=f?^0!|M?ViUULR=J}+%!1dtn33qHP`sAPsz!$XltO92Y5a< zDd`!QbY(mNm(?F9tQY?n-~9L81(Dck)eMF<4ghWyat{FS_#X{x!oK4NhESlofgU3h zSj+V#%|I~;0c87Qgeo{gIb{)Y_m}kud=~H+@D|t@u)B8uM@GpHTL`=knD3qM2k*yi zgnaQ)|65ZlqA@ZitFnGe+v|%RH}4P{PIEq50ORY}0x6@87KJqk1FbcYY_R{J@uD>` z!UZZvVe1fM6wD_wPrg|kvcuo$)LdEF<1Kq8e6T1GSNI)nLf%FJabVwWRmLW9^BZi^ zF~Ttwg)NzY!bOq?U>!JRGM>u39&f`(BH>!cfNjE+c7FZ#p=C*nY`4Gnbe$XB54fJ; z;Iw*mC&Z&fi*UyH`7^xj<$t#Jyn~D%ewpzn@Gr_n`j20b$wIvHa5?{5nyO11rGXl5 z2%E|)fPszqdKE;Ro8>^~*8blS{EK)p24ZWPXX^&M;lh8+W~kr) zDH8lYL(cOPaW8QGe+yrP3=TwzrVO#bUsQd`wfi&$Soc<7Rsj`%f-)gpKm5lZ199#z z*1FYQ8-`5ywY3JK>I(uho`n znl(G83vT`AHQ?w<3~HVz30#oLJiwJu#{QGrUtdBJBEp1!`Dfbtl&c*@1Y2S+z0m`% z*xB_q-_M2HL!40qr)<)3*GpOaCUT>$?S$ECcx{6_OH`+Fx52$-B2e>>fc)Dk`{>Oz1LP4~GKfFJm)#<*w!)%~%)Wy*Z ztsc)IYCZC54Eg{zTU`6c-(W9rbpa5ZB zq0~K#ibae^KoAlX^!;c=7u@PH4kn?d0(fUCq=Mwu2BpB6ic?^QRKQlO9g&81K_g->kVH4WW${YyNXx73*ii4pAI0h zgcO}MfJ9&*g*+36UNZuzFZU#$Kzy5%le0bB+zbf~Pavn#pz{re4oDKB+Umut9J zUxCgU-ISS`33SuYuks2$?<-_T>9}+d2IbXY!0J#{)x$=K?c@O}qngPpK)CxI;HjQa zQ!gZ1qe+?8Rj=aWxN-`ZP2>i@ zIk|65H)yI4Ba%ekL?-ciPT}J=5O(oW(Xz0x@bXqcBIZpnA>?g|NJuWAAr&Ek09T^Tp9yXz3z z`Y|nyoF7R7vBRxYzr-69PTe_|JIyO)?Ro?5<#$DQ*SFJ!A2GD$s)(U7RT;$*N3LaN zH=OBNER08AZi6doxHWoP2sgd2BVGs1X1);R0Bz&oj4|761@queEbO|U6aB7+<%OsX zKDVKq>|{rkaEC$V4%=<$zzxEV?!aZt8Q|$z+=FOl_a$pr#pni`_gd19P0gh2fkpJr z7l{qN>ikD!@fl3_ezt&7c6~@Am$TqNo$!`mt@lvwQ<}Dm-!kQ$kArJp0qnd3BHIw7 z-TqAnenJzwn&eptreW9Vm4m%g78RBtZ!_pEqC{`a&$Su|5Oc$w3kF|Lk~CoT(bJ7QdXEF7=$@e%y|` z(LIQz&4;plR5|P&Ab2$x!C9G#CvOcBym1`|6 zAFDg<+65UF0@0%+L19?PTv1Bz?s@U5A*;W3+VM<4)muVIc=R+hC`d^LIHjTbU#?R; zYT&)KK3pg(BSU)sE|n?RZD2^^_`ZweKL>f0YuGutIXM8MKV!$FrZ$3<&c${^v`PU{ zJ!P2qs6-3O4O>DkBpe>y4`FmL{~k4NUa2f2CMrrREcz169yJY(FiiS@%#m)fhUjnj zB4`#EEv2BMWoIt|jWMu}ZO|ofiUT_~x2UKHL0=|}B!_MyK5FezZUWb!47E$Or?+Ry zO{BcMymWMua$ZA?SgX?f9VHqtLqmlZPPRo|Q~wA|Ulb8{4otm+A#Z?5M~_KqnKi&) z!VvOjiiJXUKsM$pm;*=_fNts6!;SYp!(J#I!@3#HmE;gkM^;xyggO$+fD1EUPkeKL-z*os%Oe zCFQ<8^ctE7p_JeOIXirbH7N2yTLl2#&cYlM6B8)jJcX0=yE<2v(XFyNf`EqCekO&B zKFm@Gav4foGu6z(!v0W7^69zLJ_ao-F8Vu@H9PLJz7~Y-fG!D5ARJ2pO#~xC$h#&B zdR7<_`s@Wmros=peIY;cuO%46RloUcIT_y9X+cZ12eKN^vMbOXGMtAI%~kO0iZ0Z9 zf!J_PG%iq3^g7v2O-_bHn3@{i?C%Se$L)yp4ivpoQb=1lkz}cr4SZa4R<1fM&{ovt zqr)Inzw|(R9}zK8VTO_Zi)8G#Y?5c}3go;lg>TLjm6bpCm}6jJv3aAkkHJdxgIe0k z%1RfMB91%XLX$)pHWVp(MLx-9bhQmtFlL7s{jMN=^r)kTFa$^I)0x8ZtoWQyo>1{M+6t%nhP}TAJ8?c_#W#$!U+NMr=`I?E~BP0q@69&yvci;uLwiN zZAv&_Xga(Q#SEI8c=wR{tYc@7>h_P|kTlGqPZ7m&grW`{of=PXo8#*<-w)Cf!A26; zT{`XB);Kn}UQA32ewc+r|Cl&ixBIKk#2e9JCh@*UKE%AV)Rec7e@K)NTqX+0qAeF< ze#ZK_Kk%LU49yN5%!2q z&2%mUUv<#xCr`{F6!}4o^T$HGW(7kTjGA`?Fn&K}eT%22t`Jaon@){RN8tJTMA))U z)VqPo;xL@kSVMuPlp(gL^1}TVg@19Z4<96i{o191Jm%Me!rjp~Zpzo@{oSu@GROyc zt20@Cu~JqRRJoYEtT&6SS$(1!9z0LXb4yRDfHd&!*}p2T+vY)N;vd5D5+&%Bj8nFv zjs{qx{tmF7k-p_IDN@mF>x*t4s#M=Ii}PKoFTn_O$U)}3nOQlcweY=7{g*9E9A(Jx z_ANb9LMnP{CFVSW@r-}0Y!xzM(ZV6m!uk}MgX-5Brn0((a@-&dKX(GLv)1TQ?W556(+Ou|CFVpIHhidGDsdgNlIj8<0CXHpYbR3S({8xut0TU1C z`d0#Q%yIq^j=#n?{fLHYB$Q*$M91E$ncY^r2YbR&{)d*)l+_Xbzb#FvdXImd!d4vhf?OdA1qHza`M)a3iGrccM>G?E{^Tp zG+wTU~j8X}R1amHsT&(kf5Dy%$Xw@4J-iFU@}>-#RC-n$%AC z#jNQyn6)2T!(t9f`X1lh94P^iztYQ|K5No9+r8fn}#KKwY9)U|SuXo@@ABd^DzV4R(ZzBtHU;mz7kSCGGBPrz+SQY-SXsJZ>Qpice&&n2 zU;TwS^DLS-q%g_dhT% z8l=Pxef^lZhI7pLG3?$RejNrn)qF1+Hy4XI+ddv)$h<>Hm^fbeZ?rCsPAu0D?J#u) zosXp-D83U5SwmtJ$$y_;CQKp9;pc#o8!FNpam!juJ{+TT71Pt^+)H0HbGgsi4-8Xp zein@i$!g=Ks~Hm5#-XvhbJ290*K~=qyF5yeTSn8(dl8oGF}3|rIi|%1hgrGkmrfr3 z%NQFPHyy9i$t^eK8{P><-LEfDDE1=6nUC?;lFTb7w|@1aF>ytl(V6=h)qE|poXegj zuCcLm=f@i!Es{^Zpch<6!}`n9W9L2=_6|p-=#i(dL2{3I*7AVO=ilrLdmj24$y?VO z=Y86z+D;w|nK8cpm-P~Si3`QbZQ@LOcz1gL+VI)yH27W1R_6PEcv`0($)%dk(o=KA z5q@e|*QHM_>lDN$Lpvn)oo?G$1iK|=9+j*6*8)9z=_Kxa)Mwe|*LiJeEeBUP$hU@` zxjLiN+A#6Z{CdSISDl0s{^?A`7@Jy!O0=TRr)iK~MDs%l5h||4>+u%4nrQ)#gZ8-F zV%uX4CKi8^ux`kocH5MHr4YDYz9_}?{Re_cvV-Z9HO?n=@rG_I$R`tI@1d*ky?oe( z*;ad3X?>P!sH~8mv!9!WMrd#RtmDme3~OY}>7KyO)iAe;oSnE{T3;1ldlJMDIx=t%fJs>q`UI-0MBPAiB zaQB#fQ;ys53GdOngx!}edPM~V-JCY&7Z;^{xO8VXO@_)}@wR4wyuv7!?(E0U*7V-w znAEiK64fi#47#CoaAjio@) zC^6OU74*COQS!XeuJNqHzRCAhcWtTA)dwZ7tF0Poah)3DrN38qxBV=KO2{UK{ST(I z0s}Yfwr0KO0yc4pAf+s4H@qL(Cc8uSIH z!B&bCuIv1GA&)+(=Y>rM6_=5vn+hEn^I{wg-wq}yG`FsN?{Y^8^VzO(TmF!*x!!o| z>HJ`4`eYON=Jj~V^wHb9A(A1bS8ivU?}Qm@Y#dke?s^=vL}Wp;+Q~xKlPRv%rVA;u z9$A5udc!9!4Xug$tx5L67b>d51~tdcB{ytPy7oId>P+l-@7|nw^6u@;l3U%)Nw0P0 z$9X2#nbbd%_nkM zYoT(CFCj%Ic(A&1_- zkN$v#iAlS`M?HR9b9w1sub10Ieu&o4E6JBymKu`neM}^eqjL>s@~uT1&pQSN(rRyv zWPZPMpQ1+#9JcbdSl(bE@N?eyAmC;C^&n}%i?(hWXp2i0(TcILH@k1|xjyoTbY|kA(Luc7rz@nNH~NazHB6Px z7&q5cSw-9$>?p~mT^xm@TDBvZixm2mE_I40=oP1HB=)#6E?FENE6oLpJsiJNFQy{N zN;aMP#{L@m@2-U`&0=JoUbB>5)tZiDx!-r;Co`yN*x9PNUvEDaT4^v_;b)RSXETD^ zM>^G*dlH~aaJBP=W7c=prs}%FyeEF=+J3Gqa}=v~t;!-zQNZIRU#Fno9^Syl9;1+9 zE4_Sr!qvcMSCT=+ueJs?j(Zmr(^tRq-jC`Xt;hB)5iBj6nl~M;E(U#I@z%dM|GMHY zKkl&hNi!%Y^yqt?VV|xY_8qD#%ZZ(4n{DTffF%q9zk_)Tx5&3=g|&A?$^^uYcgCvD zPUNASy6q$%#%8+sM}3gO_q%+DZ0V+Nao+~bvt+@29Ct_Q**7(Q{1@-C)7c%Ki8Y<= z4))D>tVEn^=c)Uy z8?SEY&w}H56){{h>+UY;cYYGtq^|DT`iJ5B3K|Q8Th_8M-|>u(X|KFR1f5RSo5VTI*k>y8;trW1e_mN`c2m6f35Xc zvoL%e!i?r$=f-j`u<(}|LHE2ej>H{_!e)KPh1K#eq4#&D_Py=gdjCks(n`x%4V-R= zf))KdNs+|wcGhA~-AcXiaHFdBtLu*S`BO2msgjt zri4bPA7I%JW===t(nnJO*WSkmL_*Kaj!?Dv0eATrl zJp`aW=|3Lx+549%-^uEz#i3YqmCdMmXT0I-g6h}PeP^DY$)mY8^5dpeUtJV4}=i@5b-1G!1c{lI*FA>HozxgL^ z!NK{uH!mmscYn`ZS;zZXd}b|@yUdDH5n*(CB;L`X{D#1Eh5cevcDT@P@>KSC?+|kI z*G*=T!{!ZN2baVoqrbb4{ocMhXT9GB6}sH4zkRhs^0a<-Zt~)0Ys4}TvNpE`Zau_kEPdVhC^;(RBw-mXZ$UT^QrPrIsjWzXkkcwuu2 zbKLaV1rl^8R~g8+&+6zSZ5ir`F!oQgmquT?dVjNVk03Z6bq!#mA{Xmai|E>xL;ssV z)h~?9X(IQyvrghE*wfCwp4rB;lSQHqUI{XRvo-6BldFF{H+HiJx^`~I>W$tx+hZmb zTE>fug5-)_vJ;1OOOlao3kS?xj^%dC13b3Jm8z=ln@uG*Sef%iXLX)-rMi3P#<&X+ zE;Z9@Wn(r`4iC+_&9= z_{Ca8Bk$e2J0tLKzp&oa!aP(W=&6|K{$b2+9$G7>kNB{wzIq%|)eBYi;9MMTrM;`)INW{B{JN5Z$Yk@&To8ZLE%d&>!halP5f)orJRLjUdI-JI2ASXV?&mE z@6euTcS{5Z$4K9cj#5fUOH7-0_J(uLXH8(uu~_*&RI3d&Bj(v+;#(Pf1y<-TWL^BH zE%&7G;$Kb|bxVf#qgJ%ChUJFNk@m!9dv~#Syg=W3tpC-YZ<*6&+PrdSru?cVU1i_N zNywq8$^V4CaC)Y>kFA))_U7P3n9t@fYmR}>m)&1?F75|ONrZ%iE}5AfkvMs8bUmw$ z)T>|(m5{9G)iiKB{`WCDNHWO%`?*ZR;F_biUK?EuZLoOIqqUi^RYvI;we(U-h9~qw zGY_qLx_Zz0{^d@%)lC(8+}H%S9jNKMkEL`xAUBE%mJ~O&Fcqi!^+zLCWs^kMd7Uoa zU9WC;Bkz=7)ROB!vaOALs!G#H=q(X>e1n!NQ3%dMa^^5moIwfY{;TO?53$$s%DUB7 zC+i*QDZd5lPfo~UrQUD*`BIpd)uJ9f7iVH(jX;ZJW@f}he-PWVY^)zH9j56U(Xm)P zxpj;k+VP4=YOtF?*3{-($Clkp$<~oOW{iBryy2Vtb3c423f|Yx=nH(9^;qA?Yn<&F zx439(*3#h>29IL-Hh#Vm``zmFEX~>z2j@bD z-8ZXeQt7KsN9y-Oxyy}^rNSy-7cM_B^i~Z?OLyE1qC`{6i27u{Twii?*gEmIPl#)C zS)fBMsSM&Zs`q86o$oYQb-cu8bw`S?=YRb*38bvHoRw7mG*dG*#!tQW@-LTrc%jV| zXZFyxLy(M7oz5|dszt5-cCV&kcK!sj?>L(n>To3kX}3T(rkLu`TkjM5@dT&WvB%c& zr4bSD%CX1$UDHQN=t5Kb@zaj)U563!YtNuqk5uKGfm&h&590=8}sq_5F=VTJ{9~b9uHMEK6asJLhQ7xE}MCd zbmC9rs%LT54^QTQJ$wl${OOZHnabkFx-RDYcb+Pg-KpN)9DT*AdQh970hv{8m+??; z(V{@#wm^w#`&Dk!p_dXzOXg;cCj*;r$ECby{Wf%CbFb>nr)^JWzu=C1vrQg0gxYmL zGI7YLfJ$76m#<&|afs2!qK;_N=k+&pQY1}^VJ|P2zw~`4cQ-ahW=13V?C*ckylrrG zR6||^819MH-_5!0M)%n#GL-+6+C`*4W0~*b*tCZ+O81s==JL|A(3l+K_I<1WCgyZy zj+M;o7+*{7;SeSAdqzxvYy`Wqt-^Itk>Ne*>#COXQb9uRyjsT-)pT(zoe5Vq9QuCt0J5Tbs18VcS`7Q z!iJAg5^|lFW~dS)*jwW>@!FF_k?bkxXf<8&Ey=?p{10-@cXUtZbK~{L&kA}+P0uP? zy62}a^e%=k((e;GNQJVK8K&`j9&$%p*AtNAb9oH}X{IM1&yLQF;AI~SPlrTP6rbX? z_7fRZu+Dm&%suUs*KJx&PB|>(bNZ+joUdSc{MY?;f6{Q3#=F5Ty>n;!W4(qdLrJPsn<;Mlx{-~qvwa;KGGQ-r3gNvMtn%-vIsD+^5 z>lVm=@!86CcKz`@UE6bu)jwilzZBWX*FSz#^^ny z+jCheU#vOx7!?!^?=YKN+9lrmIMCVE|J|qqCwr_5bKG!OZ=1^hIvMh4KGZ9}+wlv@ zQ~Bz|E_x+&GPNsMQ*P#CqJkhH2yCG6iYXxo> zzb}$%tTzrknX<`&yR*Xcq9pZt(Eruq2-}ndU5x2t)xogb_CDX^HVOg`u&5Ft4Kgy@ zUZ+3vP1zRR|^e|UA=c%j`j4p!AZC8m-^$T>e*Ce zeDyuU(VY5{!UCOh)Rbpi0HevLQmvfF_A8uA*8F`3tJ!c#7`A5Wuip68XxUaPJg<)? z7I55crO6R`EW}FP(tl(z<2Af;R8Y`Ps2WZ@OX>Ja71vylZ?7?7U zP!`SU)velBf0OjX%QU_{9!Q{4HgeoPW{CD7qX}K@-ooj5?GI~byI7uZswvZBC5W6^56*bvt12A)7NJ5XD|5D$@ z=Rnl4xwH9|%B~+1qLci3yMWmRWTUP!RZX?@UU_ zQP$^>O~e+Q`h0XOS1#u=Gwj|IlZuFpK%>dTF~UlsEW{2)Bv&om<3x$?ba*PYitBSWyw;4E@QL|kd;5AYq9fwy>T1iB)Q7|J7^iRS zlw^Dj>?J20-KE31S$QCwD%l8Rv?}njR4gc2+mk*@rJ{<_RuFK=<9t$TRGIU>A3J?i z_d~3;`?F%c{a%T@l?x$GwCsIT{C^` zM-p3GdZ{-x=S5B&ctaW@f+8~6RO4}pNlY&4a zx{HjAM3sZsOX3!x%AWsPiEN((}^gd+QrrBX>MBw3=d`;jb>_5Ysl|D5mXoNq_tGk5NN z?(^JvUa#A$$t4`!aoJsdbHiuXX2)V-xh?JI0&9JeR-WvQ6gcAWfiUBBysE_5ApULh z1C4-e`=@E5X3<9!#CPpKq4{HPy?Lwy!&M&&J1rxDxZMeBuRr8fN z+L7&f?v93htH+=|S&wmN-$8>o>vGd9E$XF_Rz6aisFTqP`{pA}&#rf69vVNb`M~1t zzTo`z>akQeJ8c$&%?5K~*5;bDyUi;8?TMdU3mTP{3r^1+DYx^z#H^9sF`OABZf5Re zL#f`VJ|`gT>AUmnzRl^e!o?Hc?<_Dn_^c?OHE_!eRSwb>&mMcvCH^+?jm_n6CB>(d zlkCh&L-n5Kh@U(`(%1E^$i(aD#l5}II%M`H-J?1{=ymd9rs9UWiK{A&jeCUm@+%v1 zzxnL8d|-X;h5}WoAEvb|F2U_z5{79i@3Pn}MnbfuBFjR|1U4{sZBW!%)(TlhFR0kD z1`uYqiX*Vr%Slagy`wNi&=8+3e5EOzWQF^isW5gD8b65F>FyG$}S z;5jrUu&i?4$98Qi_gVK#d$Ljh*aSZX5x3AfzqP)+h7=)F!zZT-0?zz^qOb$q$^WUrD7j&xeaGj2{BZ$EzMh7Z-t(5b=LZ(wUl zrMY{ard6=$p8Q{h>uU6*($gwkO-sK^-ZS?MZlu|SC^oUJ791COT9DVB zWn&9@Hm4FTujFmDBa+{!p$9M5R3svSsGTl|xQM%82;vJ?+-V z`?!^JJ{jG~O`Lzs{z)dV?(ypj!Y-+FyTb!b_kWu@}hxfbXBFN8OQ zGz`1VF)KiuG@nTGJ~4kyki5s*@aaFl;FQCvcG?qub(QsUqZx~1MViMus=dUB!zdzpFGn%d4=MQYS*B)%e~_C6iFySsI9 zcv5Yb^4U&W_+CX(K|SB3@lU@qvI5$_Yzr$&be5J$i|yn3j2}J|W!hma;AdsaV_)Pvo&Y zc`h+(W^avq_u}Mr(bV-y?eTBMwvyUby6X;XKRIu4X3n9QiY%g_zasrLBu z3;t8)^e-bc+RWQ+&S>vai*0jiI_0`)Xzlb=^vn2$`x&PEN?}1azkKTZeQY%>&1@`_ zd&GkH>@v%J!B381=3#2_mfs(SoS*0{8g4f<=V7v3nCgdgOQGdwiAV)2PwlP*$Jkb_ zq<~r4!EMX7)#D9orzdg-oAx$dNfYJ@H$SE;wTDx@xOGgW)Y4t&VW3N?)H(h;SrlgG zZQn$B^0XIli@7{HD0w6(l4ey4=<0-|WlMu}kAvjPKn;qxk(fxuGOhJ8^{0fT+RI}h z#Je#w4F*m}NQ-{Q`l&R$vOmQUTX+RZr@E=r1cb3r$^y=T0a zlRR;Y>#41o78T3KtB z_W0Z)x~sO33yX@-P6jH@yX(yLu=R--{T5bbdPS~RX+Nv%3W!;H*{$tAZ@w*4D`~8! zG_RG9I94aW{|5h_-{q4nmlgO!D&oz{rap!9K;iKp6kpEZu9 zD-;mT!*jW-B7vCp#SXGTV<{=A5o;$qyQ$gPc;PT&TI;A#x^wOs?%D&7CU1MmE(B$1 zB|rY+{mXXU+|?wR&1KD{@+JaG%*ra4zdx^=lZ$A(F@hdiJy!B9YTjfbue*?jiyrIP zgh$@qeZB|$cy)gNZ7^T`w9vICv1@^ue{>Z8U zW=#=lZYa3z5uzu)de9{7^15p=uJWd*PSv7g+JC9*Cod0=r?>a~ zXlqtwg#TR`rs3tZUacIRASNXy8XlFJG!kkWZ|t1KyqCg&Lzxv;SC;K75hU%z6R zMW0x-1N3m&>yOjcuY@_r9*6$zL0(6VF43U>S!gm}<>KS>0D_CIz6Oqum~TxxWVo-MX}8cxwr6x_k`;x83+V3~6*^Bs$~@@IezR zO!(>uZoWEi53pTZUH%sm5`r$33xkWYo&-7r^^va$f9mBWM zY#)hE-oJT<4w5GuU*32eY;b*bq46Y|_9!QA5yyV%hQV?-WDCRj} zRa~yRE739$JfLZr3rSpDqt|u=sjZ=pc^k<+VAd4v)VDZy(~;5SVX+K!CpwjSdwEq< zy5SA$v@p55H``o;XA`0U72N^PWa8KE?vK(Dlw3D=Mo#jM4XhSH-Ac)>%3?_eti#*w z@#hCfy7)sb+1nquujy5tT;byG%}FMt?j$EmWVhQxvxWZg$<88M6G`4O5?dq5$MQmI zW!G(@y|xjTT`xyiJ%B(FPXMp; zzNx8UUjXMA{}j74IVsXIajUt{i^q>^fBrPjZU4{x<(Yg>SnTlO>p-;QM6{jk?H6JD zfE%Hw$0&$M&K9{LJ`en~yuAE$)OIlm32(G9ZrQRWbtB+TAp1cv==23I;Dk2&JO|Tf ze)v@`+|1-8X8C9U3g!Tw@cDB9OM`F)gnsCxEujy+sQA$3lRnMP&VKlyG4diaK0NIf z?a+VYs!G4pccI09wFty3z<97x=<|GFZLA^IctwX1Tm1@JVpEQLmo(c1E++`Hl%NlI zj!lk9AoUYtU;(d`na}jVdvvh-t*y*QD@?z`+``IExqqKUP*puvE{cAgjF*>u%M4(% z1AJ^QpL?25V{%vQ8L=)gl0@?`=#K*QTwS^H=b3R4nM?-A@A}hsUh&lJw0Bp!(MoJn z{JreTZpnb)dAwcq=M1XZGp85~DU=7AnF|XZiDB^x34>I|rs7HLCUm0(8f48f^!lrI zV?amt>uQ`ibH>-lCm) zQ9?blpbuRraN`DpdnqTWP1l7!6E^?-X3G~c?5WEQe+N2oIRynF>RAR2-~uoMuD3-r zPK#wgaMu&5g3<9}KN?_s7g-AYOWXjgrr;!>W&!pR3xIeAJ499VzN~EbHxdqu=Hj=gi%aP+NmFCD!+mjVZ#Em zo*G|oNE11JM!#58$sVqcK0<@i#oi=XqwXEQzyrPFpk!zbTxR)Zr_D@}l@~SMEU+1Rd%o$%P z*`yKM#@X>|pL(p5m&13d5WJ=N8)Kz2-YJ$x_C{C)$@BNFQ_Vh8>rH=|7?ZwaR>GXP z2Q%N?uIGg+6beO6O%36~!=o%!1%g8l4-fpQsi}GCk{G}!m2zi-)5l5h*@q98R8>79 z?h604Z^_QN+#|tf;NHCw1o{%k`*jv@fSl}L*7U#1T<~i#W;w8RR8m4BHz((c?`$2j z;CWc}THLhgpO$;=g%@mm(n1JQ&o(I2h06^M=sHpo(M|@9;B@~2+zzvVRfMAYzkG8) z`+M(p{*Wtj+y6g3EL^_af7iCendzZsCV2S=%{B|a6bb)e#Hp{ZUtRg_|MRL3FFD(E zYSM`Tkz?pDT~G1rb(nZUxMdNws1c>IoeqP4!Ep*!$Jb5Y+xk=|K}25Dk{sbiqS%s^|O#l?#>yxz?8 zH07BQ>D9Lc3B&b_jHW5UvgwFFJ$o|r?x&M;gp-t35S9vM(8pi|o&;R6Bl_pQHvRbs=KINyd&=)v;2SIq}(W_RV z;`6hNC3!;|Qd>tolJCVu(Bx3LFej2z?VOxSsCj;Ve$xrg-DQembJNoSEY;7m4X#}) z(#X&gPvE`%X4KWbn3_E7@ANXk;qOnT!f*X9Mv}Y<8W~^g2GTl4U8$11$fF6^mi0ur zsd?Xu^=ooGiy@C*gmJEsVb*ZOx-3X=Uk%{#aVu zi0!C1c=+FGL0|n_AiW>6k~*Q3Jb47HAW(lzI^!tY?jWpTFUV%a8}$;UF<2pmX(t7^W^Fu z4qa~k5HVy&nwo4NgEwzJ3oPd90O57Q7dtw04StSpWbmFW7ZDW|J#nI@tc=gT z;1>qC7KWbZVh;tC77!Si;x(32Q3323ePbZXfHx-}zD#v=d=?$uf>`a~;LzWEfbAU6 zkOvP0h(zMHZIyOk(%N$k8{fP!(AS6F3L*UY)2H?@Q9*Er=Y|kvS5R%GA3(t0mA_B$ zWtYH{)t$sg3i@oyrNTMg;dr>AB~26`8(B?V{XG&oEVMsy8<()a@1@uPF)=1OtY9Tbm*Fc!`6R);siX4?c8AYNH(fDufZ;e4rWm##z49wa zHT}M{B^fD9T_7`E0~kfaqcLdTKYDElxTq)+`^%tPl9Q8>)!htD_V~p@e)l0kVt%5_ z(8!37lT!vW1?YaVo>yP(x=7V60s@PG$N}uRVypJ5_WPJ9lP0RM?|j$AqE0YUp=|u? zRf-(~3(l8AI1BSj3_fV6*(A+t9ucSU-EMt4rUHH)LSQe(31sBjY}QFmGMM(`9xuzv z5{b~kMc{n_8Ir?Q7LARzDDwcyrl$4-t)%3()AeRB;y`2MRMh$5!v}@q$1z; zsM#TV#k#=!{VX%FSiFwp+K9BQT7P^!-AQ93Ka|-(SOPg z`~B6c2bLe)zkd{*C_FEFMMMC@#oxQ9w39AZ+}=3RTWwNP_U3{m-w=?h;PrgGt1*JU zqZ#*Ry;iU)`&CT4t~KF+#u@e`3|78#Dr$kQu5GFg$Z!xm@kH;U;UW@}kYM%06>4_+ z`td$>2wusX@UHqLp(NHkk;!P7~tv?pOMe0?4e3I`V<2LUj#Jh z?cTSvgj!((q2$hi)XIn#Ptd6BfvS+3e5=Q4SS}wmfbZgL4k9AWWv|>YKwn$qlI-je zK-TfY!du9nQckAay}OsNzVXTy5v`zpt4+Zd;D`omxHnErNT?6-#QD^zQ)Kdbwi${j zHwB)%b)V(t-VO`90fI$lf+&87*T-522JU=(Ltqv z+xUpVxAgh-;Hu+X&rA_>sk*u(sZaQqP%rk|YUG55GH1jOd*%l(cbD7kS_3 z7QDUksH#pImM&l46+rX+AvmqY!3Pec=ew_IgQ<4xJw^C4HT4}kA#i&@`H;FO-nB-Y zL$HLV%xiVo^IxHAI;UT-NpXHp1zSV6>k~I`i>=IMzc(%M*xK4U9DD$?)W^929E;To zNt9(eRHKMmu7PLEs+el-J#k3Rh(alG8>jr!{a&7mn;v%t-+t*tawV5G3LYgBNXkME zLJ=>i6T6XS!l(=$l%t+5+k&)Vt=ZWxosw%AxGS^)rK~@S2LS$ecArL2kztbs=i1lT zw}F+nHqXKZrK)FZpGgR<#qIaB0*47h{en~(bCdK(_zSTUBb5EmYZ@tmC4sN;%GBn% zIr&Y&WNsDI1$XYy%S{NG>&8)9r9XS7nW3i`Hcq3pc6Z~7C85c|!<9G1YHOb| zE*=zsUQtgkwp#{|^EO%#Hqj~g7o^UYO`+sLJf`OHs-AxZx)_rYY3lR$&wY}HhHQ*l z?h_ASkmz^UKnsYHb_}pBDx-}YJAE*7j{1VwrVE~tm1*TsT2fA)+`T&;ZX1{(r`s(K z6=1NVmd$UXhTWPPPcbx9G8G}zBQw-alAohnf#1J>uh8NTG8g;*Cq(zk9Qvu+1~CQb zulpP5j)jAEpHWG~$Ho@I?Tjqt_3PKLQjE?m;s~g{y?tdSWsQx61-v(=*av-!V(P;O z51_Uj|9dOV?(oB=4sd~=9fDV2yEG-QW3r;<)x&NJt2OW~<;V;QaY+x~T^<%Es0< zx7{9v*7*2C3@5&;QViT!=Odh?b;PosDM?Gj95u8DvMXxdUF%NhRKI^W3T@~g9=?~7 zVs38kk5j#qYyVmVB14F=C`h=ug$V(w>HG)nh>oSw2z_)XU2!nv0dckl=t~ozA4_sv zRgQfEg*N0UbLcQYKyL9$H7zml%pc?7mWr-OW$oKpW-s;lQ5+GAqZmcK7GQr z%%dVhBK1ce>BZ68MR+v8-djw&;H+CCBcQwvp5CwHb2!&VC4tJ;rHP6T1S;LSRa<)s z$1^|PG|%u7$C@p;o{irz(FzXMj`XRzmf2L|WMXov3rho!(y!*}`434WZn&o#Hky(? z(~oktt(^bS``2Pvd1}Y2@Yd011qGo$5{QME=NJ|g^fDqMr-?xi-{RawzHtqLqO~=D X?n^x*7YBe$FfgdAXesBDEdu@zdCn`9 literal 0 HcmV?d00001 diff --git a/doc/en/long_context_tutorial.md b/doc/en/long_context_tutorial.md new file mode 100644 index 0000000..e11467d --- /dev/null +++ b/doc/en/long_context_tutorial.md @@ -0,0 +1,316 @@ +# KVCache Long Context + +## TL;DR + +Training larger models and supporting longer text sequences are currently the two most widely agreed-upon directions toward achieving AGI. After lowering the barrier for local inference with trillion-parameter MoE models, the second showcase scenario for KTransformers is reducing the inference barrier for ultra-long context sequences. Recently, both ChatGLM and InternLM have released open-source models supporting 1M tokens of context. This article will use InternLM2.5-7B-Chat-1M as an example to introduce a method that leverages the sparsity of attention to accelerate long-text inference on heterogeneous CPU/GPU systems. + +After optimization, KTransformers has achieved native-precision inference for 128K and even 1M tokens of context on a single 24GB GPU with CPU/DRAM support. In the 128K context scenario, the generation speed is 7.1 times faster than llama.cpp, while also achieving 100% accuary on relatively simple test sets like "needle in haystack" and "passkey". On the more challenging dataset kvretrieval, through flexible framework configurations, we can achieve a **6.22x speedup** during inference while obtaining even higher scores than running the original model directly (**21.2 -> 24.4**). In the 1M context scenario on a single 24GB GPU, KTransformers can similarly achieve a 16 tokens/s inference speed, nearly 10 times faster than llama.cpp under the same conditions, with the "needle in haystack" evaluation score even surpassing the original model (**89.31 -> 92.88**). + +Project url: https://github.com/kvcache-ai/ktransformers + +## Mathematical Principle: The computational overhead of long-text inference and the sparsity in Attention caused by Softmax. + +As the demand for longer context windows increases, not only have commercial large models like Kimi and Claude/Gemini started supporting increasingly longer context windows, but open-source models have also begun to catch up. Notably, both ChatGLM 4 and InternLM 2.5 have released versions that are under 10 billion parameters but support up to 1 million tokens of context. However, despite the relatively small size of these models, the enormous KVCache required for such ultra-long contexts still prevents local users from practically running these models. As shown in the figure below, while the InternLM2.5-7B-Chat-1M model weights only require 15.49GB of GPU memory, an additional 145.49GB is needed to store the entire 1M-token KVCache, which is clearly beyond the memory capacity of local users. Even when using the KVCache Offload feature of llama.cpp to offload the KVCache to CPU/DRAM, barely making the model runnable, performance remains unacceptable due to the need to fully scan the entire KVCache each time a single token is generated. + +| internlm_memory | sparQ | +| ------------------------------------------------------------------------------------ | -------------------------------------------------------------------------- | + +Fortunately, many studies have noticed that attention distribution during the inference phase tends to be **sparse**. For example, the right figure shows SparQ's experimental statistics based on LLaMa 7B, where less than 1% of tokens in a 3k context have relatively high attention scores. Similar conclusions are not only reflected in many other papers, such as H2O, Quest, InfLLM, and SnapKV, but we have also further validated this through long-text experiments with InternLM 2.5-7B-1M. Although the proportion isn't as extreme as 1%, due to the inherent head-focused effect of the softmax operation in attention mechanisms, it is theoretically possible that if we can identify in advance which tokens have high attention scores, scanning less than 5% of the tokens would suffice to essentially replicate the original result. + +Thus, the problem narrows down to how to quickly identify these tokens with high attention scores without scanning them all. In the following sections, we will first briefly survey several key related papers, then summarize and propose a general framework we designed and implemented within KTransformers—a highly efficient sparse attention operator for CPUs. + +## Related Papers and Conclusions + +### Prune or Retrieval? + +Based on the aforementioned points, we studied papers from recent years related to sparse selection in KVCache. The earliest of these is the paper H2O, which suggested that the attention distribution during inference is sparse and that only 5% of the KVCache is needed during inference. Following this, a series of works built on H2O's approach by designing more complex methods for selecting tokens that perform better in different scenarios. These methods are quite reasonable for single-word inference. However, as we previously explored in the Mooncake project, **we believe that the future trend is to precompute reusable KVCache as much as possible, and then use it to answer different questions.** This "compute once, use many" approach aims to reduce computational costs. Therefore, with this goal in mind, we prefer not to delete any tokens from the KVCache, or at least not remove a significant portion of them, to ensure that different questions can focus on different parts of the context in the future. + +![InfLLM Framework](../assets/InfLLM_framework.png) + +We further investigated related research, among which InfLLM proposed a very promising framework. Not only does it recognize that attention is sparse, but it also suggests that overly long contexts can cause attention to be dispersed into irrelevant noise, thereby reducing the model's ability to focus on key information. To address this issue, InfLLM introduces an external memory module (Memory Units) to store the context's KVCache. In each computation step, the most relevant semantic information is retrieved from this external memory module to participate in the calculation, thus enhancing the model's ability to handle long-context inference. + +Specifically, InfLLM organizes the external memory module using semantic blocks composed of neighboring tokens and employs a sliding window mechanism during computation. In each step, it selects only the semantic blocks at the head of the context (Initial Tokens), the blocks near the current token (Local Tokens), and a few blocks with the highest semantic similarity to the current token to participate in the attention calculation. As shown in equation 1, to efficiently retrieve the blocks with the highest similarity, InfLLM selects a few representative tokens whose scores $$r_m +$$ are the highest within each block. Use Equation 2 to calculate the semantic similarity between the current token and each semantic block. + +![InfLLM Equation](../assets/InfLLM_equation.jpg) + +Compared to the previously mentioned H2O, the differences in InfLLM are as follows: + +1. The KVCache is not discarded but stored in memory and dynamically loaded onto the GPU during inference. + +2. KVCache is managed at the granularity of blocks rather than tokens, with each block selecting a few tokens as its representative index tokens. + +InfLLM's proposed method aligns with our "compute once, use many" approach of reusing KVCache. The external memory units in this method can be offloaded to CPU/DRAM or even SSD storage, allowing different parts to be selected for computation based on the specific question. This significantly improves the efficiency of attention computation. + +### Other Improvements + +Similarly, after InfLLM, Quest also manages tokens at the granularity of blocks. Quest analyzed the recall rate of key tokens in H2O and full attention, finding that the Top-10 attention score token recall rate for the H2O algorithm is around 50%, which indicates that too much key information was lost. To improve the recall rate of key tokens, Quest chooses two "representative tokens" from each block for retrieval. In the prefill stage, each KVCache block records the maximum and minimum values for each channel, as shown in the figure below under "Reduced Keys," which contains the element-wise min key and element-wise max key. + +During the attention computation stage, the dot product is computed between the current query vector and the max key and min key of each KVCache block, respectively. Then, for each channel, the maximum value between the two resulting product vectors is selected and summed to serve as the upper bound of the relevance score for that KVCache block, as shown in stage 1 of the diagram. Based on the relevance scores, the top-k KVCache blocks are selected to participate in the attention computation, as illustrated in stage 2 of the diagram. + +![Quest Framework](../assets/Quest_framework.png) + +Compared to InfLLM, Quest does not take heterogeneous architectures into account. Instead, it assumes that all KVCache can still fit into memory, simply leveraging sparse attention to accelerate the inference process. Ultimately, Quest achieves a 7.03x speedup in attention computation and a 2.23x improvement in end-to-end inference latency. + +Going further, SnapKV proposes retaining two parts of the tokens during the prefill stage, as shown in the diagram below with the orange and green segments. The difference from InfLLM lies only in the method of selecting the middle tokens. SnapKV selects tokens at the token level rather than the block level, with the score calculation being similar to H2O, i.e., $$softmax(\frac{qk^T}{\sqrt{d_k}})$$. However, when summing across columns, only the rows within the final green window are selected for computation, corresponding to the Local Tokens section in InfLLM. Additionally, SnapKV introduces a pooling operation on top of attention, which the paper explains as ensuring that the recalled tokens retain more complete semantic information. + +This approach in SnapKV involves a one-time selection during the inference phase, after which only the selected tokens are used for attention computation, while the rest of the KVCache is discarded. + +![SnapKV Framework](../assets/SnapKV_framework.png) + + +Other related papers include PyramidKV, which observed that attention scores exhibit a pyramid-shaped distribution across attention layers. In lower attention layers, attention is widely distributed, while in higher layers, the attention scores for a few key tokens become increasingly prominent. Therefore, PyramidKV allocates more KVCache storage space to lower layers and less space to higher layers. + +MagicPiG, based on Locality-Sensitive Hashing (LSH), proposes a dynamic KVCache management strategy. First, it uses SnapKV to select a portion of important tokens to be stored in the GPU, while the KVCache of other tokens is placed in memory. By leveraging the high efficiency of LSH in high-dimensional space searches and the multithreading capabilities of CPUs, MagicPiG retrieves KVCache from memory that is similar to the current query and loads it into memory for inference. Compared to the earlier methods like InfLLM, Quest, and SnapKV, MagicPiG does not need to scan all representative tokens and select the top-k KVCache. Instead, it utilizes the mathematical properties of LSH, which not only simulates attention scores but also allows for identifying important KVCache with low overhead and high speed. + +The above are just descriptions of some key points. For more detailed explanations, you can refer to the existing articles on Zhihu in Chinese: + +- https://zhuanlan.zhihu.com/p/701580870 + +- https://zhuanlan.zhihu.com/p/714288577 + +## KTransformers CPU Sparse Attn Framework + +### Framework Prototype + +Based on the introduction of the above papers, we have distilled the following key points: + +- The distribution of attention weights is sparse, and useless KVCache may introduce noise, which could actually reduce performance during the inference stage. + +- For the KVCache eviction strategy during the inference stage, the common approach is to retain the tokens from the beginning and the end of the prompt, while designing algorithms to select the tokens from the middle portion. One of the main factors affecting the model's performance is the ability to accurately identify the key tokens. + +- Managing the middle portion of tokens in blocks can improve memory swapping and attention computation efficiency, and smaller blocks do not seem to perform worse than token-level granularity. + +- The tokens that each attention layer focuses on during inference differ, and even the allocated KVCache capacity for different layers should vary. + +Based on these insights and inspirations, we developed a general framework for implementing sparse CPU attention operators during the inference phase. In the prefill stage, we use chunked prefill, loading only one layer of KVCache into GPU memory at a time for computation. Once completed, the KVCache is stored on CPU/DRAM. In the subsequent decode stage, instead of swapping KVCache in and out, the sparse attention operator runs directly on the CPU. **This significantly reduces the minimum** **GPU** **memory requirements, making local 128K or even 1M token contexts possible.** + +Specifically during the generation phase, we implemented the entire framework as shown in the diagram below. + +![KTransformers long congtext v1](../assets/KTransformers_long_context_v1.png) + +We organized the KVCache in units of blocks. Specifically: + +- **KVCache Partitioning:** A complete input prompt is divided into three configurable parts: Initial, Context, and Local. During the computation process, the Initial/Local parts will be fully attended to, while the Context part will be sparsely retrieved. This approach is based on findings from many papers (such as streamingLLM and Minference) which mention the existence of "attention sinks," where higher attention weights are often found at the beginning and the end of the sequence. + +- **Context Block Partitioning:** For the middle Context, we follow the InfLLM approach by dividing it into blocks based on a configurable fixed number of tokens. Each block can select 1 to k tokens as its representative tokens. During the actual inference phase, the Context blocks that require attention are selected based on these representative tokens. + + - Specifically, we have implemented the following methods for selecting representative tokens, based on the approaches outlined in various papers. + + - Max: The maximum values of multiple tokens within a block, across each channel, are concatenated to form the representative token for the current block. + + - Mean: The average values of multiple tokens within a block, across each channel, are concatenated to form the representative token for the current block. + + - Quest: A combination of the previous two methods: the maximum and minimum values of multiple tokens within a block, across each channel, are taken as the representative tokens for the block. Under this method, the number of representative tokens is fixed at 2 + + - Dynamic: By calculating the cumulative attention score for each token using a specific method, each block selects the top-k tokens with the highest scores as the representative tokens for the block. This is similar to InfLLM but with some simplifications. + + - Fix: Select tokens at fixed intervals within the block. + + - Once the representative tokens for each block are determined, use Equation 2 from InfLLM to calculate the similarity between the input X and the k representative tokens of each block B, and only select the top $$r_k$$ blocks for attention computation, where $$l_P $$ represents the length of the historical tokens: + +Since InfLLM requires calculating a representative score for each token during the prefill stage and then selecting a representative token for each block based on these scores, this operation involves invasive modifications to the prefill implementation, making it difficult to integrate with other methods. Furthermore, in actual testing, we found that in most scenarios, similar or even better results can be achieved through a combination of other methods. Therefore, we ultimately decided not to integrate this method into the framework. + +## Further Optimizations + +After implementing the above framework, we conducted a series of evaluations based on LongBench and InfiniteBench. + +At the beginning of the experiment, we designed the architecture so that for each inference token, the most relevant KVCache blocks would be reselected. On the one hand, this strategy incurred significant overhead during the retrieval process. On the other hand, we found that in some scenarios, f**requently changing the selection of retrieved blocks did not lead to better results**. For example, in the kvretrieval dataset, we observed that the model's responses were often correct in the first half but incorrect in the second half. Since the answers to kvretrieval questions consist of long and meaningless strings, this indicates that the correct KVCache blocks were selected during the inference of the earlier tokens but incorrect blocks were chosen during the later stages of inference. + +To address this issue, we further integrated the method proposed in SnapKV. Before starting the inference, we preselect relevant KVCache blocks by analyzing the attention scores of the context tokens, based on the question. During the subsequent inference stages, the selection of KVCache blocks is restricted to this preselected range. This approach allowed us to select the block containing the correct answer 100% of the time in the kvretrieval dataset. + +However, it should be noted that this method strictly relies on the structure of the Benchmark Prompt and **does not necessarily guarantee optimal performance in other scenarios, such as complex document understanding and generation tasks.** Therefore, we have integrated it into our framework as an optional module. The final framework and configurable parameters are as follows: + +![KTransformers long congtext v2](../assets/KTransformers_long_context_v2.png) + + +Configuration: + +- **threads_num:** Number of CPU Threads + +- **block_size:** KVCache Block Size + +- **local_windows_len:** Prompt End Window Size + +- **preselect_block_count:** Number of Preselected Blocks + +- **second_block_count:** Number of Blocks Selected After Preselection + +- **preselect_block:** Whether to Enable Preselection + +- **token_step:** Interval Between Token Selections for KVCache + +- **layer_step:** Interval Between Layer Selections for KVCache + +- **dense_layer_num:** Number of Initial Layers Without KVCache Selection, Importing All KVCache + +- **head_select_mode:SEPARATE**(In the GQA scenario, each kv_head is selected separately) / **SHARED:** (All kv_heads are selected together) + +- **representative_type:** Method of Selecting Representative Tokens + +- **representative_num:** Number of Representative Tokens + +By modifying configuration options, various KVCache eviction or compression methods can be easily reproduced within our framework. For example: + +- Setting `block_size` to 1 and `preselect_block` to True results in a version of SnapKV without the pooling operation. + +- Setting `representative_type` to Quest, `preselect_block` to False, and `head_select_mode` to SEPARATE replicates the Quest method. + +Below is the pseudocode for the framework: + +```python +def preselect_block(local_q, kvcache): + key_states = kvcache.keycache + attn_scores = torch.matmul( + local_q, key_states.transpose(2, 3) + ) / math.sqrt(head_dim) + attn_scores += attn_mask + attn_scores = nn.functional.softmax( + attn_scores, dim=-1, dtype=torch.float32 + ).to(query_states.dtype) +    vote = attn_scores[..., initial_size:-local_size:, :].sum(dim=-2) +    pool_vote = pool1d(vote, kernel_size=kernel_size, padding=kernel_size//2, stride=1) +    indices = pool_vote.topk(max_capacity_prompt - local_size, dim=-1).indices +    kv_cache_block_indices = find_representative_tokens_block(indices) +    kvcache_after_preselected = kvcache[kv_cache_block_indices] +    ... +    return kvcache_after_preselected +def get_representative_tokens(): +    Calculate the representative token for each block based on the representative_type. +    return ... +def decode_attention(query, key, value): + # Select once every token_steps tokens. + token_steps = 4 +  # Select once every layer_steps layers. + layer_steps = 4 + for token_idx in range(max_new_tokens): +     for layer_idx in range(config.num_hidden_layers): +         if token_idx % token_steps != 0 or layer_idx % layer_steps != 0: +    # If the attention of the current layer in this round does not require reselection, the historical selection results from the kvcache will be retained. +           kvcache_after_retrieval = history_kvcache_after_retrieval[layer_idx//layer_steps] + else: +            # Otherwise, use the query from the current round's current layer to reselect the kvcache. +            kvcache_after_retrieval = retrieval_kvcache(query, kvcache) + # Save it to the kvcache historical selection results. + history_kvcache_after_retrieval[layer_idx//layer_steps] = kvcache_after_retrieval + # calculate attention + output = attn(query, kvcache_after_retrieval) + yield output + +# Model prefill, if preselection is required, local_q still needs to be saved. +local_q, KVCache = model.prefill(input_ids) +if preselect_block: +    # Preselection round +    KVCache = preselect_block(local_q, kvcache) +# Find the representative token for each block. +block_representative_tokens = get_representative_tokens( +   kvcache,                       +   config.representative_type +) + +# model generate +''' +''' +decode_attention(query, key, value) +''' +''' +``` + +## Experiment + +At the beginning of testing, we will use the following basic configuration, which will be further optimized through the extended framework. + +```python +max_seq_len: 256000 # KVCache length +block_size: 128 # KVCache block size +local_windows_len: 4096 # The KVCache of length local_windows_len is stored on the GPU. +second_block_count: 96 # After preselection, each time select the number of KVCache blocks. If >= preselect_block_count, use the preselected blocks. +threads_num: 64 # CPU thread num +representative_type: DYNAMIC # KVCache block representative token selection method. +kv_type: FP16 +dense_layer_num: 0 # The first few layers do not need to fill or select KVCache +representative_num: 1 # The number of representative tokens within a KVCache block. +preselect_block: False # Whether to preselect. +head_select_mode: SHARED # All kv_heads jointly select. +preselect_block_count: 0 # Number of preselected blocks. +layer_step: 1 # Select every few layers. +token_step: 1 # Select every few tokens. +``` + +Under our framework, the comparison between the original model and KTransformers after acceleration on datasets such as 128K Big Needle-in-a-Haystack, passkey, kvretrieval, etc., is as follows. The passkey dataset involves inserting a small segment of numbers at varying depths within a redundant text. kvretrieval is about finding a matching item in randomly generated key-value pairs. All tests were conducted under the opencompass framework: + +![needle_128K.png](../assets/needle_128K.png) + +| | | | | +| ----------------------------------------------------------- | ------------------------------- | ------- | ----------- | +| | Single needle retrieval zh 128k | passkey | kvretrieval | +| Original model | 99.89 | 100 | 21.0 | +| KTransformers (reselect KVCache blocks for each generation) | 100 | 100 | 15.40 | + +We can see that both the original model and the accelerated KTransformers achieve perfect scores on the relatively simpler datasets, such as Single Needle Retrieval and passkey. At the same time, the generation speed has significantly improved, increasing from 4.86 tokens/s with llama.cpp to 27.49 tokens/s with KTransformers, achieving up to a 5.65x speedup. Although the current configuration shows a noticeable drop in performance on the more challenging kvretrieval dataset, in the next section, we will address this by implementing a more optimized selection strategy to compensate for or even surpass the original model's accuracy. + +Additionally, we tested the performance of the KTransformers-based configuration framework in reproducing the results of Quest. However, since InternLM2.5-7B-Chat-1M uses GQA (Grouped Query Attention) while the Quest paper primarily focuses on optimizing MHA (Multi-Head Attention) models, the actual testing results were not particularly favorable. The official team also mentioned that further support for GQA models is needed, so we will not discuss this in detail for now. + +### Further improve performance + +By modifying certain configurations within our flexible framework on the basis of reproduction, **we can actually achieve better results than those reported in the previous paper,** as shown in the figure below: + +![](../assets/Framework_effect.png) + +As mentioned earlier, the goal of the kvretrieval dataset is to find a matching key-value pair within a long sequence of semantically meaningless pairs. If tokens are generated by reselecting based on the current query each time, the likelihood of deviation increases as the text grows, leading to the selection of different KVCache blocks compared to previous selections. To address this, we introduced a preselection mechanism using SnapKV to calculate the method for selecting representative tokens, which preselects a portion of the KVCache blocks. During the subsequent inference process, the selection is limited to these blocks. After one round of preselection, the score increased from 15.4 to 24.2, **surpassing the original model + full attention's performance of 21 points.** Further research indicates that the sparsity effect of the KVCache in the first few layers of LLMs is not as significant. Therefore, we set the first two layers to fully reuse the KVCache, ultimately achieving a score of **24.4**. + +Similarly, when testing the needle-in-a-haystack task on the 1M dataset, we not only reproduced the original model's reported score but also further improved accuracy (**from 89.31 to 92.88**) by using the KTransformers CPU Sparse Attn Framework to selectively compute only certain KVCache blocks. Additionally, the inference speed **reached nearly 10 times that of llama.cpp**. + +![needle 1M.png](../assets/needle_1M.png) + +### More comparisons + +As shown in the two figures below, using the Single Needle Retrieval dataset as an example, we set llama.cpp to store the KVCache on CPU/DRAM while performing all computations on the GPU. On a 4090D server, we compared the KTransformers CPU Sparse Attn Framework with llama.cpp. While maintaining **100% answer accuracy**, we achieved a 20.6 to 94.1 times prefill speed increase and a **1.2 to 7.1 times inference speed boost**. + +| ![long context prefill.png](../assets/long_context_prefill.png) | ![long context generate.png](../assets/long_context_generate.png) | +| --------------------------------------------------------------- | ----------------------------------------------------------------- | + +The main reason for the significant gap in prefill speed is that after enabling KVCache offload, llama.cpp performs the attention (attn) computation on the CPU. In long-text scenarios, attention not only requires heavy computation but also takes up the majority of the computation time. In contrast, KTransformers leverages a flexible template injection framework to implement GPU Chunk Prefill layer by layer. Moving forward, we plan to further integrate high-performance sparse prefill methods such as MInference to boost speed even further. + +Additionally, as a key focus of this article, the right-hand graph shows that as the prompt length increases, the inference speed of KTransformers remains stable, hovering near a horizontal line. In contrast, llama.cpp slows down as the prompt length increases. By selecting only the most important 16K KVCache blocks to participate in the inference computation, KTransformers maintains a consistent inference speed comparable to llama.cpp when processing a 16K prompt, without any performance degradation (at least on these test datasets). + +## How to Use + +Currently, long context is only supported by our **local_chat.py** interface, and the integration with the server interface is under development. + +To facilitate user management, we have uploaded the model config, gguf, and tokenizer to a repo. URL: https://huggingface.co/nilv234/internlm2_5_to_llama_1m/tree/main + +By setting the model_path and gguf_path in the local_chat function to **/path/to/repo** and setting the mode to **"long_context"**, you can use the InternLM2.5-7B-Chat-1M model with 1m functionality on a 24G VRAM. + +After running local_chat.py for the first time, a config.yaml file will be automatically created under ** ~/.ktransformers**. The relevant configurations for long context are as follows: + +```python +chunk_size: 4096 # prefill chunk size +max_seq_len: 100000 # KVCache length +block_size: 128 # KVCache block size +local_windows_len: 4096 # The KVCache of length local_windows_len is stored on the GPU. +second_select_num: 96 # After preselection, each time select the number of KVCache blocks. If >= preselect_block_count, use the preselected blocks. +threads_num: 64 # CPU thread num +anchor_type: DYNAMIC # KVCache block representative token selection method. +kv_type: FP16 +dense_layer_num: 0 # The first few layers do not need to fill or select KVCache +anchor_num: 1 # The number of representative tokens within a KVCache block. +preselect_block: False # Whether to preselect. +head_select_mode: SHARED # All kv_heads jointly select. +preselect_block_count: 96 # Number of preselected blocks. +layer_step: 1 # Select every few layers. +token_step: 1 # Select every few tokens. +``` + +The memory required for different context lengths is shown in the table below: + +| | 4K | 32K | 64K | 128K | 512K | 1M | +| -------------- | --- | ---- | ---- | ---- | ---- | ------ | +| DRAM Size (GB) | 0.5 | 4.29 | 8.58 | 17.1 | 68.7 | 145.49 | + +Please choose an appropriate max_seq_len based on your DRAM size. +For example: +```python +python local_chat.py --model_path="/data/model/internlm2_5_to_llama_1m" --gguf_path="/data/model/internlm2_5_to_llama_1m" --max_new_tokens=500 --cpu_infer=10 --use_cuda_graph=True --mode="long_context" --prompt_file="/path/to/file" +``` + diff --git a/ktransformers/__init__.py b/ktransformers/__init__.py index 48fef32..a833c84 100644 --- a/ktransformers/__init__.py +++ b/ktransformers/__init__.py @@ -1 +1,11 @@ -__version__ = "0.1.2" \ No newline at end of file +#!/usr/bin/env python +# coding=utf-8 +''' +Description : +Author : kkk1nak0 +Date : 2024-08-15 07:34:46 +Version : 1.0.0 +LastEditors : chenxl +LastEditTime : 2024-08-28 15:19:03 +''' +__version__ = "0.1.3" diff --git a/ktransformers/configs/config.yaml b/ktransformers/configs/config.yaml index 3a4816c..4078e24 100644 --- a/ktransformers/configs/config.yaml +++ b/ktransformers/configs/config.yaml @@ -34,4 +34,20 @@ web: open_cross_domain: True ext: - cpu_infer: 10 \ No newline at end of file + cpu_infer: 10 + +long_context: + chunk_size: 4096 + max_seq_len: 32000 + block_size: 128 + local_windows_len: 4096 + second_select_num: 32 + anchor_type: DYNAMIC + kv_type: FP16 + dense_layer_num: 2 + anchor_num: 1 + preselect_block: True + head_select_mode: SHARED + preselect_block_count: 32 + layer_step: 1 + token_step: 100 \ No newline at end of file diff --git a/ktransformers/ktransformers_ext/CMakeLists.txt b/ktransformers/ktransformers_ext/CMakeLists.txt index e6e0518..1ef9823 100644 --- a/ktransformers/ktransformers_ext/CMakeLists.txt +++ b/ktransformers/ktransformers_ext/CMakeLists.txt @@ -1,6 +1,7 @@ cmake_minimum_required(VERSION 3.16) project(cpuinfer_ext VERSION 0.1.0) + set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O3 -ffast-math") set(CMAKE_BUILD_TYPE "Release") @@ -215,7 +216,8 @@ aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR} SOURCE_DIR1) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/cpu_backend SOURCE_DIR2) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/operators/llamafile SOURCE_DIR3) aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/../../third_party/llamafile SOURCE_DIR4) -set(ALL_SOURCES ${SOURCE_DIR1} ${SOURCE_DIR2} ${SOURCE_DIR3} ${SOURCE_DIR4}) +aux_source_directory(${CMAKE_CURRENT_SOURCE_DIR}/operators/kvcache SOURCE_DIR5) +set(ALL_SOURCES ${SOURCE_DIR1} ${SOURCE_DIR2} ${SOURCE_DIR3} ${SOURCE_DIR4} ${SOURCE_DIR5}) message(STATUS "ALL_SOURCES: ${ALL_SOURCES}") pybind11_add_module(${PROJECT_NAME} MODULE ${ALL_SOURCES}) @@ -223,5 +225,8 @@ target_link_libraries(${PROJECT_NAME} PRIVATE llama) if(WIN32) target_link_libraries(${PROJECT_NAME} PRIVATE "$ENV{CUDA_PATH}/lib/x64/cudart.lib")#CUDA::cudart elseif(UNIX) + if(NOT DEFINED ENV{CUDA_HOME} OR "$ENV{CUDA_HOME}" STREQUAL "") + set(ENV{CUDA_HOME} "/usr/local/cuda") + endif() target_link_libraries(${PROJECT_NAME} PRIVATE "$ENV{CUDA_HOME}/lib64/libcudart.so") -endif() \ No newline at end of file +endif() diff --git a/ktransformers/ktransformers_ext/bench/bench_attention.py b/ktransformers/ktransformers_ext/bench/bench_attention.py new file mode 100644 index 0000000..1b8b9b8 --- /dev/null +++ b/ktransformers/ktransformers_ext/bench/bench_attention.py @@ -0,0 +1,178 @@ +#!/usr/bin/env python +# coding=utf-8 +""" +Description : +Author : Jianwei Dong +Date : 2024-08-28 10:32:05 +Version : 1.0.0 +LastEditors : Jianwei Dong +LastEditTime : 2024-08-28 10:32:05 +Copyright (c) 2024 by KVCache.AI, All Rights Reserved. +""" +import os, sys +import time + +sys.path.append(os.path.dirname(__file__) + "/../build") +import cpuinfer_ext +import torch + +layer_num = 10 +kv_head_num = 8 +q_head_num = 32 +head_dim = 128 +block_len = 128 +anchor_num = 1 + +anchor_type = cpuinfer_ext.kvcache.AnchorType.DYNAMIC +kv_type = cpuinfer_ext.kvcache.ggml_type.FP16 +retrieval_type = cpuinfer_ext.kvcache.RetrievalType.LAYER +layer_step: int = 1 +token_step: int = 1 +layer_offset: int = 0 +max_thread_num: int = 64 +max_batch_size: int = 1 +max_block_num: int = 1024 +CPUInfer = cpuinfer_ext.CPUInfer(max_thread_num) + +warm_up_iter = 1000 +test_iter = 10000 + + +def bench_linear(cache_seqlen: int): + with torch.inference_mode(mode=True): + cache_seqlens = torch.tensor([cache_seqlen], dtype=torch.int32, device="cpu") + seqlens_zero = torch.zeros((1,), dtype=torch.int32, device="cpu") + + config = cpuinfer_ext.kvcache.KVCacheConfig( + layer_num, + kv_head_num, + q_head_num, + head_dim, + block_len, + anchor_num, + anchor_type, + kv_type, + retrieval_type, + layer_step, + token_step, + layer_offset, + max_block_num, + max_batch_size, + max_thread_num, + ) + local_kvcache = cpuinfer_ext.kvcache.KVCache(config) + block_table = ( + torch.arange(max_block_num, dtype=torch.int32, device="cpu") + .contiguous() + .view(1, -1) + ) + + for layer_idx in range(layer_num): + k_cache = torch.randn( + (1, cache_seqlen, kv_head_num, head_dim), + dtype=torch.float16, + device="cpu", + ).contiguous() + v_cache = torch.randn( + (1, cache_seqlen, kv_head_num, head_dim), + dtype=torch.float16, + device="cpu", + ).contiguous() + + CPUInfer.submit( + local_kvcache.update_kvcache_fp16( + k_cache.data_ptr(), + v_cache.data_ptr(), + layer_idx, + block_table.data_ptr(), + 1, + max_block_num, + seqlens_zero.data_ptr(), + cache_seqlen, + ) + ) + CPUInfer.sync() + + input = torch.randn( + (1, 1, q_head_num, head_dim), dtype=torch.float16, device="cpu" + ).contiguous() + output = torch.empty( + (1, 1, q_head_num, head_dim), dtype=torch.float16, device="cpu" + ).contiguous() + + # attn_lse: (bsz, q_len, q_head_num) + attn_lse = torch.empty( + (1, 1, q_head_num), dtype=torch.float32, device="cpu" + ).contiguous() + input = input / 100 + + # warm up + for i in range(warm_up_iter): + CPUInfer.submit( + local_kvcache.attn( + input.data_ptr(), + output.data_ptr(), + attn_lse.data_ptr(), + i % layer_num, + 0, + 1, + 1, + max_block_num, + block_table.data_ptr(), + cache_seqlens.data_ptr(), + -1, + -1, + -1, + ) + ) + CPUInfer.sync() + + # test + start = time.perf_counter() + for i in range(test_iter): + CPUInfer.submit( + local_kvcache.attn( + input.data_ptr(), + output.data_ptr(), + attn_lse.data_ptr(), + i % layer_num, + 0, + 1, + 1, + max_block_num, + block_table.data_ptr(), + cache_seqlens.data_ptr(), + -1, + -1, + -1, + ) + ) + CPUInfer.sync() + end = time.perf_counter() + total_time = end - start + print("cache sequence length: ", cache_seqlen) + print("Time(s): ", total_time) + print("Iteration: ", test_iter) + print("Time(us) per iteration: ", total_time / test_iter * 1000000) + print( + "Bandwidth: ", + cache_seqlen + * kv_head_num + * head_dim + * 2 + * 2 + * test_iter + / total_time + / 1000 + / 1000 + / 1000, + "GB/s", + ) + print("") + + +bench_linear(1024) +bench_linear(4096) +bench_linear(16384) +bench_linear(32768) +bench_linear(65536) diff --git a/ktransformers/ktransformers_ext/bench/bench_attention_torch.py b/ktransformers/ktransformers_ext/bench/bench_attention_torch.py new file mode 100644 index 0000000..25f20e7 --- /dev/null +++ b/ktransformers/ktransformers_ext/bench/bench_attention_torch.py @@ -0,0 +1,94 @@ +#!/usr/bin/env python +# coding=utf-8 +""" +Description : +Author : Jianwei Dong +Date : 2024-08-28 10:32:05 +Version : 1.0.0 +LastEditors : Jianwei Dong +LastEditTime : 2024-08-28 10:32:05 +Copyright (c) 2024 by KVCache.AI, All Rights Reserved. +""" +import os, sys +import time + +sys.path.append(os.path.dirname(__file__) + "/../build") +import cpuinfer_ext +import torch + +layer_num = 10 +kv_head_num = 8 +q_head_num = 32 +head_dim = 128 +block_len = 128 +anchor_num = 1 +warm_up_iter = 1000 +test_iter = 10000 + + +def bench_linear(cache_seqlen: int, device): + with torch.inference_mode(mode=True): + + kvcaches = [] + + for layer_idx in range(layer_num): + k_cache = torch.randn( + (1, 32, cache_seqlen, head_dim), + dtype=torch.float16, + device=device, + ).contiguous() + v_cache = torch.randn( + (1, 32, cache_seqlen, head_dim), + dtype=torch.float16, + device=device, + ).contiguous() + + kvcaches.append((k_cache, v_cache)) + + input = torch.randn( + (1, q_head_num, 1, head_dim), dtype=torch.float16, device=device + ).contiguous() + input = input / 100 + + # warm up + for i in range(warm_up_iter): + k_cache = kvcaches[i % layer_num][0] + v_cache = kvcaches[i % layer_num][1] + torch.nn.functional.scaled_dot_product_attention(input, k_cache, v_cache) + + # test + start = time.perf_counter() + for i in range(test_iter): + k_cache = kvcaches[i % layer_num][0] + v_cache = kvcaches[i % layer_num][1] + torch.nn.functional.scaled_dot_product_attention(input, k_cache, v_cache) + end = time.perf_counter() + total_time = end - start + print("cache sequence length: ", cache_seqlen) + print("Time(s): ", total_time) + print("Iteration: ", test_iter) + print("Time(us) per iteration: ", total_time / test_iter * 1000000) + print( + "Bandwidth: ", + cache_seqlen + * q_head_num + * head_dim + * 2 + * 2 + * test_iter + / total_time + / 1000 + / 1000 + / 1000, + "GB/s", + ) + print("") + + +bench_linear(1024, "cpu") +bench_linear(4096, "cpu") +bench_linear(1024, "cuda") +bench_linear(4096, "cuda") +bench_linear(16384, "cuda") +bench_linear(32768, "cuda") +bench_linear(65536, "cuda") diff --git a/ktransformers/ktransformers_ext/cpu_backend/backend.cpp b/ktransformers/ktransformers_ext/cpu_backend/backend.cpp index 5707505..16693f0 100644 --- a/ktransformers/ktransformers_ext/cpu_backend/backend.cpp +++ b/ktransformers/ktransformers_ext/cpu_backend/backend.cpp @@ -3,93 +3,125 @@ * @Author : chenht2022 * @Date : 2024-07-22 02:03:05 * @Version : 1.0.0 - * @LastEditors : chenht2022 + * @LastEditors : chenht2022 * @LastEditTime : 2024-07-25 10:33:34 * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. **/ + #include "backend.h" -Backend::Backend(int thread_num) { - thread_num_ = thread_num; - thread_state_.resize(thread_num); - for (int i = 0; i < thread_num; i++) { +thread_local int Backend::thread_local_id = -1; + +Backend::Backend(int max_thread_num) { + max_thread_num_ = max_thread_num; + thread_state_.resize(max_thread_num_); + for (int i = 0; i < max_thread_num_; i++) { thread_state_[i].curr = std::make_unique>(); - thread_state_[i].status = std::make_unique>(ThreadStatus::WAITING); + thread_state_[i].status = + std::make_unique>(ThreadStatus::WAITING); } - workers_.resize(thread_num); - for (int i = 1; i < thread_num; i++) { + workers_.resize(max_thread_num_); + for (int i = 1; i < max_thread_num_; i++) { workers_[i] = std::thread(&Backend::worker_thread, this, i); } } Backend::~Backend() { - for (int i = 0; i < thread_num_; i++) { - thread_state_[i].status->store(ThreadStatus::EXIT, std::memory_order_release); + for (int i = 0; i < max_thread_num_; i++) { + thread_state_[i].status->store(ThreadStatus::EXIT, + std::memory_order_release); } - for (int i = 1; i < thread_num_; i++) { + for (int i = 1; i < max_thread_num_; i++) { if (workers_[i].joinable()) { workers_[i].join(); } } } -int Backend::get_thread_num() { - return thread_num_; -} +int Backend::get_thread_num() { return max_thread_num_; } -void Backend::do_work_stealing_job(int task_num, std::function func) { - func_ = func; +void Backend::do_work_stealing_job(int task_num, + std::function init_func, + std::function compute_func, + std::function finalize_func) { + init_func_ = init_func; + compute_func_ = compute_func; + finalize_func_ = finalize_func; + thread_num_ = std::min(max_thread_num_, task_num); int base = task_num / thread_num_; int remain = task_num % thread_num_; thread_state_[0].end = base + (0 < remain); + + // 为主线程设置 thread_local_id + thread_local_id = 0; + for (int i = 1; i < thread_num_; i++) { - thread_state_[i].curr->store(thread_state_[i - 1].end, std::memory_order_relaxed); + thread_state_[i].curr->store(thread_state_[i - 1].end, + std::memory_order_relaxed); thread_state_[i].end = thread_state_[i - 1].end + base + (i < remain); - thread_state_[i].status->store(ThreadStatus::WORKING, std::memory_order_release); + thread_state_[i].status->store(ThreadStatus::WORKING, + std::memory_order_release); } thread_state_[0].curr->store(0, std::memory_order_relaxed); - thread_state_[0].status->store(ThreadStatus::WORKING, std::memory_order_release); + thread_state_[0].status->store(ThreadStatus::WORKING, + std::memory_order_release); process_tasks(0); for (int i = 1; i < thread_num_; i++) { - while (thread_state_[i].status->load(std::memory_order_acquire) == ThreadStatus::WORKING) { + while (thread_state_[i].status->load(std::memory_order_acquire) == + ThreadStatus::WORKING) { } } } void Backend::process_tasks(int thread_id) { + if (init_func_ != nullptr) { + init_func_(thread_id); + } while (true) { - int task_id = thread_state_[thread_id].curr->fetch_add(1, std::memory_order_acq_rel); + int task_id = thread_state_[thread_id].curr->fetch_add( + 1, std::memory_order_acq_rel); if (task_id >= thread_state_[thread_id].end) { break; } - func_(task_id); + compute_func_(task_id); } for (int t_offset = 1; t_offset < thread_num_; t_offset++) { int t_i = (thread_id + t_offset) % thread_num_; - if (thread_state_[t_i].status->load(std::memory_order_acquire) != ThreadStatus::WORKING) { + if (thread_state_[t_i].status->load(std::memory_order_acquire) != + ThreadStatus::WORKING) { continue; } while (true) { - int task_id = thread_state_[t_i].curr->fetch_add(1, std::memory_order_acq_rel); + int task_id = thread_state_[t_i].curr->fetch_add( + 1, std::memory_order_acq_rel); if (task_id >= thread_state_[t_i].end) { break; } - func_(task_id); + compute_func_(task_id); } } - thread_state_[thread_id].status->store(ThreadStatus::WAITING, std::memory_order_release); + if (finalize_func_ != nullptr) { + finalize_func_(thread_id); + } + thread_state_[thread_id].status->store(ThreadStatus::WAITING, + std::memory_order_release); } void Backend::worker_thread(int thread_id) { auto start = std::chrono::steady_clock::now(); + thread_local_id = thread_id; // 设置线程本地变量 while (true) { - ThreadStatus status = thread_state_[thread_id].status->load(std::memory_order_acquire); + ThreadStatus status = + thread_state_[thread_id].status->load(std::memory_order_acquire); if (status == ThreadStatus::WORKING) { process_tasks(thread_id); start = std::chrono::steady_clock::now(); } else if (status == ThreadStatus::WAITING) { auto now = std::chrono::steady_clock::now(); - auto duration = std::chrono::duration_cast(now - start).count(); + auto duration = + std::chrono::duration_cast(now - + start) + .count(); if (duration > 50) { std::this_thread::sleep_for(std::chrono::milliseconds(1)); } diff --git a/ktransformers/ktransformers_ext/cpu_backend/backend.h b/ktransformers/ktransformers_ext/cpu_backend/backend.h index be3d45b..80ff7f9 100644 --- a/ktransformers/ktransformers_ext/cpu_backend/backend.h +++ b/ktransformers/ktransformers_ext/cpu_backend/backend.h @@ -3,7 +3,7 @@ * @Author : chenht2022 * @Date : 2024-07-22 02:03:05 * @Version : 1.0.0 - * @LastEditors : chenht2022 + * @LastEditors : chenht2022 * @LastEditTime : 2024-07-25 10:33:38 * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. **/ @@ -31,20 +31,25 @@ struct ThreadState { }; class Backend { - public: + public: Backend(int); ~Backend(); int get_thread_num(); - void do_work_stealing_job(int, std::function); + void do_work_stealing_job(int, std::function, + std::function, + std::function); + static thread_local int thread_local_id; - private: + private: int thread_num_; - std::vector thread_state_; // [thread_num] - std::function func_; + int max_thread_num_; + std::vector thread_state_; // [thread_num] + std::function init_func_; + std::function compute_func_; + std::function finalize_func_; std::vector workers_; void process_tasks(int); void worker_thread(int); }; - #endif \ No newline at end of file diff --git a/ktransformers/ktransformers_ext/cpu_backend/task_queue.cpp b/ktransformers/ktransformers_ext/cpu_backend/task_queue.cpp index 0ca865b..fb7ac4f 100644 --- a/ktransformers/ktransformers_ext/cpu_backend/task_queue.cpp +++ b/ktransformers/ktransformers_ext/cpu_backend/task_queue.cpp @@ -54,4 +54,4 @@ void TaskQueue::processTasks() { } mutex.unlock(); } -} +} \ No newline at end of file diff --git a/ktransformers/ktransformers_ext/cpu_backend/task_queue.h b/ktransformers/ktransformers_ext/cpu_backend/task_queue.h index 13836b7..a633a40 100644 --- a/ktransformers/ktransformers_ext/cpu_backend/task_queue.h +++ b/ktransformers/ktransformers_ext/cpu_backend/task_queue.h @@ -4,7 +4,7 @@ * @Date : 2024-07-16 10:43:18 * @Version : 1.0.0 * @LastEditors : chenxl - * @LastEditTime : 2024-08-12 12:28:25 + * @LastEditTime : 2024-08-08 04:23:51 * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. **/ #ifndef CPUINFER_TASKQUEUE_H diff --git a/ktransformers/ktransformers_ext/examples/test_attention.py b/ktransformers/ktransformers_ext/examples/test_attention.py new file mode 100644 index 0000000..5627a0e --- /dev/null +++ b/ktransformers/ktransformers_ext/examples/test_attention.py @@ -0,0 +1,142 @@ +#!/usr/bin/env python +# coding=utf-8 +""" +Description : +Author : Jianwei Dong +Date : 2024-08-28 10:32:05 +Version : 1.0.0 +LastEditors : chenht2022 +LastEditTime : 2024-08-28 10:32:05 +Copyright (c) 2024 by KVCache.AI, All Rights Reserved. +""" +import os, sys +import time + +sys.path.append(os.path.dirname(__file__) + "/../build") +import cpuinfer_ext +from flash_attn import flash_attn_with_kvcache +import torch + +layer_num = 10 +kv_head_num = 8 +q_head_num = 32 +head_dim = 128 +block_len = 128 +anchor_num = 1 +cache_seqlen = 8192 +cache_seqlens = torch.tensor([cache_seqlen], dtype=torch.int32, device="cpu") +seqlens_zero = torch.zeros((1,), dtype=torch.int32, device="cpu") +anchor_type = cpuinfer_ext.kvcache.AnchorType.DYNAMIC +kv_type = cpuinfer_ext.kvcache.ggml_type.FP16 +retrieval_type = cpuinfer_ext.kvcache.RetrievalType.LAYER +layer_step: int = 1 +token_step: int = 1 +layer_offset: int = 0 +max_thread_num: int = 2 +max_batch_size: int = 1 +max_block_num: int = 512 +CPUInfer = cpuinfer_ext.CPUInfer(max_thread_num) +validation_iter = 100 + +with torch.inference_mode(mode=True): + config = cpuinfer_ext.kvcache.KVCacheConfig( + layer_num, + kv_head_num, + q_head_num, + head_dim, + block_len, + anchor_num, + anchor_type, + kv_type, + retrieval_type, + layer_step, + token_step, + layer_offset, + max_block_num, + max_batch_size, + max_thread_num, + ) + local_kvcache = cpuinfer_ext.kvcache.KVCache(config) + + kvcaches = [] + block_table = ( + torch.arange(max_block_num, dtype=torch.int32, device="cpu") + .contiguous() + .view(1, -1) + ) + + for layer_idx in range(layer_num): + k_cache = torch.randn( + (1, cache_seqlen, kv_head_num, head_dim), dtype=torch.float16, device="cpu" + ).contiguous() + v_cache = torch.randn( + (1, cache_seqlen, kv_head_num, head_dim), dtype=torch.float16, device="cpu" + ).contiguous() + + CPUInfer.submit( + local_kvcache.update_kvcache_fp16( + k_cache.data_ptr(), + v_cache.data_ptr(), + layer_idx, + block_table.data_ptr(), + 1, + max_block_num, + seqlens_zero.data_ptr(), + cache_seqlen, + ) + ) + CPUInfer.sync() + + kvcaches.append((k_cache.to("cuda"), v_cache.to("cuda"))) + + # validation + for i in range(validation_iter): + + k_cache = kvcaches[i % layer_num][0] + v_cache = kvcaches[i % layer_num][1] + input = torch.randn( + (1, 1, q_head_num, head_dim), dtype=torch.float16, device="cpu" + ).contiguous() + output = torch.empty( + (1, 1, q_head_num, head_dim), dtype=torch.float16, device="cpu" + ).contiguous() + + # attn_lse: (bsz, q_len, q_head_num) + attn_lse = torch.empty( + (1, 1, q_head_num), dtype=torch.float32, device="cpu" + ).contiguous() + input = input / 100 + + CPUInfer.submit( + local_kvcache.attn( + input.data_ptr(), + output.data_ptr(), + attn_lse.data_ptr(), + i % layer_num, + 0, + 1, + 1, + max_block_num, + block_table.data_ptr(), + cache_seqlens.data_ptr(), + -1, + -1, + -1, + ) + ) + CPUInfer.sync() + # print("cpuinfer output", output) + + t_output = flash_attn_with_kvcache( + q=input.to("cuda"), + k_cache=k_cache, + v_cache=v_cache, + cache_seqlens=cache_seqlens.to("cuda"), + ) + # print("torch output", t_output) + + diff = torch.mean(torch.abs(output.to("cuda") - t_output)) / torch.mean( + torch.abs(t_output) + ) + print("diff = ", diff) + assert diff < 0.001 diff --git a/ktransformers/ktransformers_ext/ext_bindings.cpp b/ktransformers/ktransformers_ext/ext_bindings.cpp index c220a9b..902d427 100644 --- a/ktransformers/ktransformers_ext/ext_bindings.cpp +++ b/ktransformers/ktransformers_ext/ext_bindings.cpp @@ -1,19 +1,17 @@ /** * @Description : - * @Author : chenht2022 + * @Author : chenht2022, Jianwei Dong * @Date : 2024-07-22 02:03:22 * @Version : 1.0.0 - * @LastEditors : chenht2022 - * @LastEditTime : 2024-08-07 10:39:37 + * @LastEditors : Jianwei Dong + * @LastEditTime : 2024-08-26 22:47:06 * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. **/ // Python bindings -#include -#include -#include #include "cpu_backend/cpuinfer.h" #include "device_launch_parameters.h" #include "llamafile/flags.h" +#include "operators/kvcache/kvcache.h" #include "operators/llamafile/linear.h" #include "operators/llamafile/mlp.h" #include "operators/llamafile/moe.h" @@ -21,119 +19,541 @@ #include "pybind11/operators.h" #include "pybind11/pybind11.h" #include "pybind11/stl.h" +#include +#include +#include namespace py = pybind11; using namespace pybind11::literals; -class LinearBindings { - public: - class WarmUpBindinds { - public: +// Binding functions for the KVCache class +class KVCacheBindings { + public: + class AttnBindings { + public: struct Args { - CPUInfer* cpuinfer; - Linear* linear; + CPUInfer *cpuinfer; + KVCache *kv_cache; + const ggml_fp16_t *q_in; + ggml_fp16_t *output; + float *attn_lse; + int layer_idx; + int generate_token_idx; + int q_len; + int batch_size; + int max_block_num; + int *block_table; + int *cache_seqlens; + int pick_block_num; + int init_block_num; + int local_block_num; }; - static void inner(void* args) { - Args* args_ = (Args*)args; + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue( + &KVCache::attn, args_->kv_cache, args_->q_in, args_->output, + args_->attn_lse, args_->layer_idx, args_->generate_token_idx, + args_->q_len, args_->batch_size, args_->max_block_num, + args_->block_table, args_->cache_seqlens, args_->pick_block_num, + args_->init_block_num, args_->local_block_num); + } + static std::pair + cpuinfer_interface(KVCache &kv_cache, intptr_t q_in, intptr_t output, + intptr_t attn_lse, int layer_idx, + int generate_token_idx, int q_len, int batch_size, + int max_block_num, intptr_t block_table, + intptr_t cache_seqlens, int pick_block_num, + int init_block_num, int local_block_num) { + Args *args = new Args{nullptr, + &kv_cache, + (const ggml_fp16_t *)q_in, + (ggml_fp16_t *)output, + (float *)attn_lse, + layer_idx, + generate_token_idx, + q_len, + batch_size, + max_block_num, + (int *)block_table, + (int *)cache_seqlens, + pick_block_num, + init_block_num, + local_block_num}; + return std::make_pair((intptr_t)&inner, (intptr_t)args); + } + }; + + class GetAllKVCacheOneLayerBindings { + public: + struct Args { + CPUInfer *cpuinfer; + KVCache *kv_cache; + int layer_id; + ggml_fp16_t *k_in; + ggml_fp16_t *v_in; + }; + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue(&KVCache::get_all_kvcache_one_layer, + args_->kv_cache, args_->layer_id, + args_->k_in, args_->v_in); + } + static std::pair + cpuinfer_interface(KVCache &kv_cache, intptr_t k_in, intptr_t v_in, + int layer_id) { + Args *args = new Args{nullptr, &kv_cache, layer_id, + (ggml_fp16_t *)k_in, (ggml_fp16_t *)v_in}; + return std::make_pair((intptr_t)&inner, (intptr_t)args); + } + }; + + class GetAndUpdateKVCacheFp16Bindings { + public: + struct Args { + CPUInfer *cpuinfer; + KVCache *kv_cache; + ggml_fp16_t *k_in; + ggml_fp16_t *v_in; + int layer_id; + int *block_table; + int batch_size; + int max_block_num; + int *cache_seqlens; + int q_len; + }; + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue(&KVCache::get_and_update_kvcache_fp16, + args_->kv_cache, args_->k_in, args_->v_in, + args_->layer_id, args_->block_table, + args_->batch_size, args_->max_block_num, + args_->cache_seqlens, args_->q_len); + } + static std::pair + cpuinfer_interface(KVCache &kv_cache, intptr_t k_in, intptr_t v_in, + int layer_id, intptr_t block_table, int batch_size, + int max_block_num, intptr_t cache_seqlens, + int q_len) { + Args *args = new Args{nullptr, + &kv_cache, + (ggml_fp16_t *)k_in, + (ggml_fp16_t *)v_in, + layer_id, + (int *)block_table, + batch_size, + max_block_num, + (int *)cache_seqlens, + q_len}; + return std::make_pair((intptr_t)&inner, (intptr_t)args); + } + }; + class GetKVCacheFp16Bindings { + public: + struct Args { + CPUInfer *cpuinfer; + KVCache *kv_cache; + ggml_fp16_t *k_in; + ggml_fp16_t *v_in; + int layer_id; + int *block_table; + int batch_size; + int max_block_num; + int *cache_seqlens; + }; + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue( + &KVCache::get_kvcache_fp16, args_->kv_cache, args_->k_in, + args_->v_in, args_->layer_id, args_->block_table, + args_->batch_size, args_->max_block_num, args_->cache_seqlens); + } + static std::pair + cpuinfer_interface(KVCache &kv_cache, intptr_t k_in, intptr_t v_in, + int layer_id, intptr_t block_table, int batch_size, + int max_block_num, intptr_t cache_seqlens) { + Args *args = new Args{nullptr, + &kv_cache, + (ggml_fp16_t *)k_in, + (ggml_fp16_t *)v_in, + layer_id, + (int *)block_table, + batch_size, + max_block_num, + (int *)cache_seqlens}; + return std::make_pair((intptr_t)&inner, (intptr_t)args); + } + }; + + class UpdateKVCacheFp16Bindings { + public: + struct Args { + CPUInfer *cpuinfer; + KVCache *kv_cache; + ggml_fp16_t *k_in; + ggml_fp16_t *v_in; + int layer_id; + int *block_table; + int batch_size; + int max_block_num; + int *cache_seqlens; + int q_len; + }; + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue(&KVCache::update_kvcache_fp16, + args_->kv_cache, args_->k_in, args_->v_in, + args_->layer_id, args_->block_table, + args_->batch_size, args_->max_block_num, + args_->cache_seqlens, args_->q_len); + } + static std::pair + cpuinfer_interface(KVCache &kv_cache, intptr_t k_in, intptr_t v_in, + int layer_id, intptr_t block_table, int batch_size, + int max_block_num, intptr_t cache_seqlens, + int q_len) { + Args *args = new Args{nullptr, + &kv_cache, + (ggml_fp16_t *)k_in, + (ggml_fp16_t *)v_in, + layer_id, + (int *)block_table, + batch_size, + max_block_num, + (int *)cache_seqlens, + q_len}; + return std::make_pair((intptr_t)&inner, (intptr_t)args); + } + }; + + class UpdateImportanceBindings { + public: + struct Args { + CPUInfer *cpuinfer; + KVCache *kv_cache; + const ggml_fp16_t *importance; + int layer_id; + int *block_table; + int batch_size; + int max_block_num; + int *offset; + int width; + }; + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue( + &KVCache::update_importance, args_->kv_cache, args_->importance, + args_->layer_id, args_->block_table, args_->batch_size, + args_->max_block_num, args_->offset, args_->width); + } + static std::pair + cpuinfer_interface(KVCache &kv_cache, intptr_t importance, int layer_id, + intptr_t block_table, int batch_size, + int max_block_num, intptr_t offset, int width) { + Args *args = new Args{nullptr, + &kv_cache, + (const ggml_fp16_t *)importance, + layer_id, + (int *)block_table, + batch_size, + max_block_num, + (int *)offset, + width}; + return std::make_pair((intptr_t)&inner, (intptr_t)args); + } + }; + + class AttnWithKVCacheBindings { + public: + struct Args { + CPUInfer *cpuinfer; + KVCache *kv_cache; + const ggml_fp16_t *q_in; + const ggml_fp16_t *k_in; + const ggml_fp16_t *v_in; + ggml_fp16_t *output; + float *attn_lse; + int layer_idx; + int generate_token_idx; + int q_len; + int batch_size; + int max_block_num; + int *block_table; + int *cache_seqlens; + int topk; + int local; + }; + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue( + &KVCache::attn_with_kvcache, args_->kv_cache, args_->q_in, + args_->k_in, args_->v_in, args_->output, args_->attn_lse, + args_->layer_idx, args_->generate_token_idx, args_->q_len, + args_->batch_size, args_->max_block_num, args_->block_table, + args_->cache_seqlens, args_->topk, args_->local); + } + static std::pair + cpuinfer_interface(KVCache &kv_cache, intptr_t q_in, intptr_t k_in, + intptr_t v_in, intptr_t output, intptr_t attn_lse, + int layer_idx, int generate_token_idx, int q_len, + int batch_size, int max_block_num, + intptr_t block_table, intptr_t cache_seqlens, + int topk, int local) { + Args *args = new Args{nullptr, + &kv_cache, + (const ggml_fp16_t *)q_in, + (const ggml_fp16_t *)k_in, + (const ggml_fp16_t *)v_in, + (ggml_fp16_t *)output, + (float *)attn_lse, + layer_idx, + generate_token_idx, + q_len, + batch_size, + max_block_num, + (int *)block_table, + (int *)cache_seqlens, + topk, + local}; + return std::make_pair((intptr_t)&inner, (intptr_t)args); + } + }; + + class ClearImportanceAllLayersBindings { + public: + struct Args { + CPUInfer *cpuinfer; + KVCache *kv_cache; + int *block_table; + int *cache_seqlens; + int batch_size; + int max_block_num; + }; + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue(&KVCache::clear_importance_all_layers, + args_->kv_cache, args_->block_table, + args_->cache_seqlens, args_->batch_size, + args_->max_block_num); + } + static std::pair + cpuinfer_interface(KVCache &kv_cache, intptr_t block_table, + intptr_t cache_seqlens, int batch_size, + int max_block_num) { + Args *args = new Args{nullptr, + &kv_cache, + (int *)block_table, + (int *)cache_seqlens, + batch_size, + max_block_num}; + return std::make_pair((intptr_t)&inner, (intptr_t)args); + } + }; + + class CalcAnchorAllLayersBindinds { + public: + struct Args { + CPUInfer *cpuinfer; + KVCache *kv_cache; + int *block_table; + int *cache_seqlens; + int batch_size; + int max_block_num; + }; + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue(&KVCache::calc_anchor_all_layers, + args_->kv_cache, args_->block_table, + args_->cache_seqlens, args_->batch_size, + args_->max_block_num); + } + static std::pair + cpuinfer_interface(KVCache &kv_cache, intptr_t block_table, + intptr_t cache_seqlens, int batch_size, + int max_block_num) { + Args *args = new Args{nullptr, + &kv_cache, + (int *)block_table, + (int *)cache_seqlens, + batch_size, + max_block_num}; + return std::make_pair((intptr_t)&inner, (intptr_t)args); + } + }; + + class LoadKVCacheBindings { + public: + struct Args { + CPUInfer *cpuinfer; + KVCache *kv_cache; + std::string tensor_file_path; + }; + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue(&KVCache::load_kvcache, args_->kv_cache, + args_->tensor_file_path); + } + static std::pair + cpuinfer_interface(KVCache &kv_cache, std::string tensor_file_path) { + Args *args = + new Args{nullptr, &kv_cache, (std::string)tensor_file_path}; + return std::make_pair((intptr_t)&inner, (intptr_t)args); + } + }; + class DumpKVCacheBindings { + public: + struct Args { + CPUInfer *cpuinfer; + KVCache *kv_cache; + int *block_table; + int cache_total_len; + std::string tensor_file_path; + }; + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue(&KVCache::dump_kvcache, args_->kv_cache, + args_->block_table, args_->cache_total_len, + args_->tensor_file_path); + } + static std::pair + cpuinfer_interface(KVCache &kv_cache, intptr_t block_table, + int cache_total_len, std::string tensor_file_path) { + Args *args = + new Args{nullptr, &kv_cache, (int *)block_table, + cache_total_len, (std::string)tensor_file_path}; + return std::make_pair((intptr_t)&inner, (intptr_t)args); + } + }; +}; + +class LinearBindings { + public: + class WarmUpBindinds { + public: + struct Args { + CPUInfer *cpuinfer; + Linear *linear; + }; + static void inner(void *args) { + Args *args_ = (Args *)args; args_->cpuinfer->enqueue(&Linear::warm_up, args_->linear); } - static std::pair cpuinfer_interface(Linear& linear) { - Args* args = new Args{nullptr, &linear}; + static std::pair + cpuinfer_interface(Linear &linear) { + Args *args = new Args{nullptr, &linear}; return std::make_pair((intptr_t)&inner, (intptr_t)args); } }; class ForwardBindings { - public: + public: struct Args { - CPUInfer* cpuinfer; - Linear* linear; + CPUInfer *cpuinfer; + Linear *linear; int qlen; - const void* input; - void* output; + const void *input; + void *output; }; - static void inner(void* args) { - Args* args_ = (Args*)args; - args_->cpuinfer->enqueue(&Linear::forward, args_->linear, args_->qlen, args_->input, args_->output); + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue(&Linear::forward, args_->linear, + args_->qlen, args_->input, args_->output); } - static std::pair cpuinfer_interface(Linear& linear, int qlen, intptr_t input, intptr_t output) { - Args* args = new Args{nullptr, &linear, qlen, (const void*)input, (void*)output}; + static std::pair + cpuinfer_interface(Linear &linear, int qlen, intptr_t input, + intptr_t output) { + Args *args = new Args{nullptr, &linear, qlen, (const void *)input, + (void *)output}; return std::make_pair((intptr_t)&inner, (intptr_t)args); } }; }; class MLPBindings { - public: + public: class WarmUpBindinds { - public: + public: struct Args { - CPUInfer* cpuinfer; - MLP* mlp; + CPUInfer *cpuinfer; + MLP *mlp; }; - static void inner(void* args) { - Args* args_ = (Args*)args; + static void inner(void *args) { + Args *args_ = (Args *)args; args_->cpuinfer->enqueue(&MLP::warm_up, args_->mlp); } - static std::pair cpuinfer_interface(MLP& mlp) { - Args* args = new Args{nullptr, &mlp}; + static std::pair cpuinfer_interface(MLP &mlp) { + Args *args = new Args{nullptr, &mlp}; return std::make_pair((intptr_t)&inner, (intptr_t)args); } }; class ForwardBindings { - public: + public: struct Args { - CPUInfer* cpuinfer; - MLP* mlp; + CPUInfer *cpuinfer; + MLP *mlp; int qlen; - const void* input; - void* output; + const void *input; + void *output; }; - static void inner(void* args) { - Args* args_ = (Args*)args; - args_->cpuinfer->enqueue(&MLP::forward, args_->mlp, args_->qlen, args_->input, args_->output); + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue(&MLP::forward, args_->mlp, args_->qlen, + args_->input, args_->output); } - static std::pair cpuinfer_interface(MLP& mlp, int qlen, intptr_t input, intptr_t output) { - Args* args = new Args{nullptr, &mlp, qlen, (const void*)input, (void*)output}; + static std::pair + cpuinfer_interface(MLP &mlp, int qlen, intptr_t input, + intptr_t output) { + Args *args = new Args{nullptr, &mlp, qlen, (const void *)input, + (void *)output}; return std::make_pair((intptr_t)&inner, (intptr_t)args); } }; }; class MOEBindings { - public: + public: class WarmUpBindinds { - public: + public: struct Args { - CPUInfer* cpuinfer; - MOE* moe; + CPUInfer *cpuinfer; + MOE *moe; }; - static void inner(void* args) { - Args* args_ = (Args*)args; + static void inner(void *args) { + Args *args_ = (Args *)args; args_->cpuinfer->enqueue(&MOE::warm_up, args_->moe); } - static std::pair cpuinfer_interface(MOE& moe) { - Args* args = new Args{nullptr, &moe}; + static std::pair cpuinfer_interface(MOE &moe) { + Args *args = new Args{nullptr, &moe}; return std::make_pair((intptr_t)&inner, (intptr_t)args); } }; class ForwardBindings { - public: + public: struct Args { - CPUInfer* cpuinfer; - MOE* moe; + CPUInfer *cpuinfer; + MOE *moe; int qlen; int k; - const uint64_t* expert_ids; - const float* weights; - const void* input; - void* output; + const uint64_t *expert_ids; + const float *weights; + const void *input; + void *output; }; - static void inner(void* args) { - Args* args_ = (Args*)args; - args_->cpuinfer->enqueue(&MOE::forward, args_->moe, args_->qlen, args_->k, args_->expert_ids, args_->weights, args_->input, args_->output); + static void inner(void *args) { + Args *args_ = (Args *)args; + args_->cpuinfer->enqueue( + &MOE::forward, args_->moe, args_->qlen, args_->k, + args_->expert_ids, args_->weights, args_->input, args_->output); } - static std::pair cpuinfer_interface(MOE& moe, int qlen, int k, intptr_t expert_ids, intptr_t weights, intptr_t input, intptr_t output) { - Args* args = new Args{nullptr, &moe, qlen, k, (const uint64_t*)expert_ids, (const float*)weights, (const void*)input, (void*)output}; + static std::pair + cpuinfer_interface(MOE &moe, int qlen, int k, intptr_t expert_ids, + intptr_t weights, intptr_t input, intptr_t output) { + Args *args = new Args{nullptr, + &moe, + qlen, + k, + (const uint64_t *)expert_ids, + (const float *)weights, + (const void *)input, + (void *)output}; return std::make_pair((intptr_t)&inner, (intptr_t)args); } }; @@ -149,8 +569,12 @@ PYBIND11_MODULE(cpuinfer_ext, m) { auto linear_module = m.def_submodule("linear"); py::class_(linear_module, "LinearConfig") - .def(py::init([](int hidden_size, int intermediate_size, int stride, int group_max_len, intptr_t proj, int proj_type, int hidden_type) { - return LinearConfig(hidden_size, intermediate_size, stride, group_max_len, (void*)proj, (ggml_type)proj_type, (ggml_type)hidden_type); + .def(py::init([](int hidden_size, int intermediate_size, int stride, + int group_max_len, intptr_t proj, int proj_type, + int hidden_type) { + return LinearConfig(hidden_size, intermediate_size, stride, + group_max_len, (void *)proj, + (ggml_type)proj_type, (ggml_type)hidden_type); })); py::class_(linear_module, "Linear") .def(py::init()) @@ -159,8 +583,15 @@ PYBIND11_MODULE(cpuinfer_ext, m) { auto mlp_module = m.def_submodule("mlp"); py::class_(mlp_module, "MLPConfig") - .def(py::init([](int hidden_size, int intermediate_size, int stride, int group_max_len, intptr_t gate_proj, intptr_t up_proj, intptr_t down_proj, int gate_type, int up_type, int down_type, int hidden_type) { - return MLPConfig(hidden_size, intermediate_size, stride, group_max_len, (void*)gate_proj, (void*)up_proj, (void*)down_proj, (ggml_type)gate_type, (ggml_type)up_type, (ggml_type)down_type, (ggml_type)hidden_type); + .def(py::init([](int hidden_size, int intermediate_size, int stride, + int group_max_len, intptr_t gate_proj, + intptr_t up_proj, intptr_t down_proj, int gate_type, + int up_type, int down_type, int hidden_type) { + return MLPConfig(hidden_size, intermediate_size, stride, + group_max_len, (void *)gate_proj, (void *)up_proj, + (void *)down_proj, (ggml_type)gate_type, + (ggml_type)up_type, (ggml_type)down_type, + (ggml_type)hidden_type); })); py::class_(mlp_module, "MLP") .def(py::init()) @@ -169,11 +600,84 @@ PYBIND11_MODULE(cpuinfer_ext, m) { auto moe_module = m.def_submodule("moe"); py::class_(moe_module, "MOEConfig") - .def(py::init([](int expert_num, int routed_expert_num, int hidden_size, int intermediate_size, int stride, int group_min_len, int group_max_len, intptr_t gate_proj, intptr_t up_proj, intptr_t down_proj, int gate_type, int up_type, int down_type, int hidden_type) { - return MOEConfig(expert_num, routed_expert_num, hidden_size, intermediate_size, stride, group_min_len, group_max_len, (void*)gate_proj, (void*)up_proj, (void*)down_proj, (ggml_type)gate_type, (ggml_type)up_type, (ggml_type)down_type, (ggml_type)hidden_type); + .def(py::init([](int expert_num, int routed_expert_num, int hidden_size, + int intermediate_size, int stride, int group_min_len, + int group_max_len, intptr_t gate_proj, + intptr_t up_proj, intptr_t down_proj, int gate_type, + int up_type, int down_type, int hidden_type) { + return MOEConfig(expert_num, routed_expert_num, hidden_size, + intermediate_size, stride, group_min_len, + group_max_len, (void *)gate_proj, (void *)up_proj, + (void *)down_proj, (ggml_type)gate_type, + (ggml_type)up_type, (ggml_type)down_type, + (ggml_type)hidden_type); })); py::class_(moe_module, "MOE") .def(py::init()) .def("warm_up", &MOEBindings::WarmUpBindinds::cpuinfer_interface) .def("forward", &MOEBindings::ForwardBindings::cpuinfer_interface); + + auto kvcache_module = m.def_submodule("kvcache"); + + py::enum_(kvcache_module, "AnchorType") + .value("FIXED", AnchorType::FIXED_ANCHOR) + .value("DYNAMIC", AnchorType::DYNAMIC) + .value("QUEST", AnchorType::QUEST) + .value("BLOCK_MAX", AnchorType::BLOCK_MAX) + .value("BLOCK_MEAN", AnchorType::BLOCK_MEAN); + py::enum_(kvcache_module, "ggml_type") + .value("FP16", ggml_type::GGML_TYPE_F16) + .value("FP32", ggml_type::GGML_TYPE_F32) + .value("Q4_0", ggml_type::GGML_TYPE_Q4_0) + .value("Q8_0", ggml_type::GGML_TYPE_Q8_0); + py::enum_(kvcache_module, "RetrievalType") + .value("LAYER", RetrievalType::LAYER) + .value("KVHEAD", RetrievalType::KVHEAD) + .value("QHEAD", RetrievalType::QHEAD); + + py::class_(kvcache_module, "KVCacheConfig") + .def(py::init()) + .def_readwrite("layer_num", &KVCacheConfig::layer_num) + .def_readwrite("kv_head_num", &KVCacheConfig::kv_head_num) + .def_readwrite("q_head_num", &KVCacheConfig::q_head_num) + .def_readwrite("head_dim", &KVCacheConfig::head_dim) + .def_readwrite("block_len", &KVCacheConfig::block_len) + .def_readwrite("anchor_num", &KVCacheConfig::anchor_num) + .def_readwrite("anchor_type", &KVCacheConfig::anchor_type) + .def_readwrite("kv_type", &KVCacheConfig::kv_type) + .def_readwrite("retrieval_type", &KVCacheConfig::retrieval_type) + .def_readwrite("layer_step", &KVCacheConfig::layer_step) + .def_readwrite("token_step", &KVCacheConfig::token_step) + .def_readwrite("layer_offset", &KVCacheConfig::layer_offset) + .def_readwrite("max_block_num", &KVCacheConfig::max_block_num) + .def_readwrite("max_batch_size", &KVCacheConfig::max_batch_size) + .def_readwrite("max_thread_num", &KVCacheConfig::max_thread_num); + py::class_(kvcache_module, "KVCache") + .def(py::init()) + .def("get_cache_total_len", &KVCache::get_cache_total_len) + .def("update_cache_total_len", + [](KVCache &kvcache, int cache_total_len) { + kvcache.update_cache_total_len(cache_total_len); + }) + .def("attn", &KVCacheBindings::AttnBindings::cpuinfer_interface) + .def( + "get_all_kvcache_one_layer", + &KVCacheBindings::GetAllKVCacheOneLayerBindings::cpuinfer_interface) + .def("get_and_update_kvcache_fp16", + &KVCacheBindings::GetAndUpdateKVCacheFp16Bindings:: + cpuinfer_interface) + .def("get_kvcache_fp16", + &KVCacheBindings::GetKVCacheFp16Bindings::cpuinfer_interface) + .def("update_kvcache_fp16", + &KVCacheBindings::UpdateKVCacheFp16Bindings::cpuinfer_interface) + .def("update_importance", + &KVCacheBindings::UpdateImportanceBindings::cpuinfer_interface) + .def("attn_with_kvcache", + &KVCacheBindings::AttnWithKVCacheBindings::cpuinfer_interface) + .def("clear_importance_all_layers", + &KVCacheBindings::ClearImportanceAllLayersBindings:: + cpuinfer_interface) + .def("calc_anchor_all_layers", + &KVCacheBindings::CalcAnchorAllLayersBindinds::cpuinfer_interface); } diff --git a/ktransformers/ktransformers_ext/operators/kvcache/kvcache.h b/ktransformers/ktransformers_ext/operators/kvcache/kvcache.h new file mode 100644 index 0000000..ac91778 --- /dev/null +++ b/ktransformers/ktransformers_ext/operators/kvcache/kvcache.h @@ -0,0 +1,727 @@ +/** + * @Description : + * @Author : Jianwei Dong + * @Date : 2024-08-26 22:47:06 + * @Version : 1.0.0 + * @LastEditors : Jianwei Dong + * @LastEditTime : 2024-08-26 22:47:06 + * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. + **/ + +#ifndef CPUINFER_OPERATOR_KVCACHE_H +#define CPUINFER_OPERATOR_KVCACHE_H + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include "../../cpu_backend/backend.h" +#include "llama.cpp/ggml-common.h" +#include "llama.cpp/ggml-impl.h" +#include "llama.cpp/ggml-quants.h" +#include "llama.cpp/ggml.h" +#include "llamafile/sgemm.h" + +#define CHUNK_SIZE 32 + +/** + * @brief Converts a ggml_type enum value to its corresponding string + * representation. + * + * This function provides a human-readable string representation for a given + * ggml_type enum value. The string can be used for logging, debugging, or + * displaying information in a user interface. + * + * @param type The ggml_type enum value to convert. + * @return A string representation of the enum value. + */ +std::string ggml_type_to_string(ggml_type type); + +/** + * @enum AnchorType + * @brief Defines the types of anchors used in attention mechanisms. + * + * This enum specifies different types of anchors that can be used in attention + * mechanisms, such as fixed anchors, dynamic anchors, or special anchors like + * QUEST, BLOCK_MEAN, or BLOCK_MAX. + */ +enum AnchorType { + FIXED_ANCHOR, /**< A fixed anchor that does not change. */ + DYNAMIC, /**< A dynamic anchor that can change over time. */ + QUEST, /**< A special anchor type used for QUEST (Query and Embedding Space + Transformation). */ + BLOCK_MEAN, /**< An anchor based on the mean of a block of data. */ + BLOCK_MAX /**< An anchor based on the maximum value within a block of data. + */ +}; + +/** + * @brief Converts an AnchorType enum value to its corresponding string + * representation. + * + * This function provides a human-readable string representation for a given + * AnchorType enum value. The string can be used for logging, debugging, or + * displaying information in a user interface. + * + * @param anchor_type The AnchorType enum value to convert. + * @return A string representation of the enum value. + */ +std::string AnchorTypeToString(AnchorType anchor_type); + +/** + * @enum RetrievalType + * @brief Defines the types of retrieval strategies in attention mechanisms. + * + * This enum specifies different retrieval strategies that can be used in + * attention mechanisms, such as layer-level retrieval, key-value head-level + * retrieval, or query head-level retrieval. + */ +enum RetrievalType { + LAYER, /**< Retrieval at the layer level. */ + KVHEAD, /**< Retrieval at the key-value head level. */ + QHEAD /**< Retrieval at the query head level. */ +}; + +/** + * @brief Converts a RetrievalType enum value to its corresponding string + * representation. + * + * This function provides a human-readable string representation for a given + * RetrievalType enum value. The string can be used for logging, debugging, or + * displaying information in a user interface. + * + * @param retrieval_type The RetrievalType enum value to convert. + * @return A string representation of the enum value. + */ +std::string RetrievalTypeToString(RetrievalType retrieval_type); + +/** + * @struct KVCacheConfig + * @brief Configuration structure for Key-Value (KV) Cache. + * + * This structure holds configuration parameters for setting up and managing + * a Key-Value (KV) Cache used in various attention mechanisms. It includes + * parameters such as the number of layers, the number of heads, the dimension + * of each head, block length, anchor information, and memory-related settings. + */ +struct KVCacheConfig { + int layer_num; /**< Number of layers in the model. */ + int kv_head_num; /**< Number of heads in the KV Cache. */ + int q_head_num; /**< Number of heads in the query. */ + int head_dim; /**< Dimension of each head. */ + int block_len; /**< Length of each block in the cache. */ + int anchor_num; /**< Number of anchors used in attention. */ + + ggml_type kv_type; /**< Data type of the KV Cache (e.g., fp16, q8_0). */ + + // Controls the pre-allocated memory size + int max_block_num; /**< Maximum number of blocks that can be allocated. */ + int max_batch_size; /**< Maximum batch size that can be processed. */ + int max_thread_num; /**< Maximum number of threads that can be used. */ + + AnchorType + anchor_type; /**< Type of anchors used in the attention mechanism. */ + RetrievalType + retrieval_type; /**< Type of retrieval strategy used in the cache. */ + + int layer_step; /**< Step size between layers. */ + int token_step; /**< Step size between tokens. */ + int layer_offset; /**< Offset value for layers. */ + + /** + * @brief Default constructor for KVCacheConfig. + * + * Initializes the configuration with default values. This constructor + * does not initialize any member variables explicitly. + */ + KVCacheConfig() = default; + + /** + * @brief Parameterized constructor for KVCacheConfig. + * + * This constructor initializes the configuration with specific values + * for all member variables. + * + * @param layer_num The number of layers in the model. + * @param kv_head_num The number of heads in the KV Cache. + * @param q_head_num The number of heads in the query. + * @param head_dim The dimension of each head. + * @param block_len The length of each block in the cache. + * @param anchor_num The number of anchors used in attention. + * @param anchor_type The type of anchors used in the attention mechanism. + * @param kv_type The data type of the KV Cache (e.g., fp16, q8_0). + * @param retrieval_type The type of retrieval strategy used in the cache. + * @param layer_step The step size between layers. + * @param token_step The step size between tokens. + * @param layer_offset The offset value for layers. + * @param max_block_num The maximum number of blocks that can be allocated. + * @param max_batch_size The maximum batch size that can be processed. + * @param max_thread_num The maximum number of threads that can be used. + */ + KVCacheConfig(int layer_num, int kv_head_num, int q_head_num, int head_dim, + int block_len, int anchor_num, AnchorType anchor_type, + ggml_type kv_type, RetrievalType retrieval_type, + int layer_step, int token_step, int layer_offset, + int max_block_num, int max_batch_size, int max_thread_num); +}; + +/** + * @class KVCache + * @brief Manages the Key-Value (KV) Cache used in attention mechanisms. + * + * The KVCache class provides functionality for managing the Key-Value Cache, + * including resizing the cache, retrieving configuration parameters, and + * updating internal states. This class is typically used in transformer models + * to store and manage past key and value states for efficient attention + * computations. + */ +class KVCache { + public: + /** + * @brief Constructs a KVCache object with the given configuration. + * + * Initializes the KVCache with the specified configuration parameters, + * such as the number of layers, heads, head dimensions, and other + * relevant settings. + * + * @param config The configuration object containing initialization + * parameters. + */ + KVCache(KVCacheConfig config); + + /** + * @brief Resizes the number of threads used by the cache. + * + * This function adjusts the number of threads that the cache can utilize. + * It allows dynamic reconfiguration of the parallel processing capabilities + * based on the current workload or system resources. + * + * @param thread_num The new number of threads to use. + */ + void ThreadResize(int thread_num); + + /** + * @brief Resizes the batch size managed by the cache. + * + * This function adjusts the batch size that the cache can handle. It + * is useful when the input batch size changes dynamically, allowing + * the cache to be reconfigured accordingly. + * + * @param batch_size The new batch size. + */ + void BatchResize(int batch_size); + + /** + * @brief Resizes the number of blocks managed by the cache. + * + * This function adjusts the number of blocks that the cache can manage. + * It allows dynamic reconfiguration of the block structure based on the + * current sequence length or other factors. + * + * @param block_num The new number of blocks. + */ + void BlockResize(int block_num); + + /** + * @brief Gets the number of layers in the cache. + * + * @return The number of layers configured in the cache. + */ + int get_layer_num() { return config_.layer_num; } + + /** + * @brief Gets the number of KV heads in the cache. + * + * @return The number of KV heads configured in the cache. + */ + int get_kv_head_num() { return config_.kv_head_num; } + + /** + * @brief Gets the number of query heads in the cache. + * + * @return The number of query heads configured in the cache. + */ + int get_q_head_num() { return config_.q_head_num; } + + /** + * @brief Gets the dimension of each head in the cache. + * + * @return The dimension of each head. + */ + int get_head_dim() { return config_.head_dim; } + + /** + * @brief Gets the length of each block in the cache. + * + * @return The length of each block. + */ + int get_block_len() { return config_.block_len; } + + /** + * @brief Gets the number of blocks for a specific layer. + * + * @param layer_id The ID of the layer for which to retrieve the block + * number. + * @return The number of blocks in the specified layer. + */ + int get_block_num(int layer_id) { return past_block_num_[layer_id]; } + + /** + * @brief Gets the number of anchors in the cache. + * + * @return The number of anchors configured in the cache. + */ + int get_anchor_num() { return config_.anchor_num; } + + /** + * @brief Gets the total length of the cache. + * + * @return The total length of the cache. + */ + int get_cache_total_len() { return cache_total_len_; } + + /** + * @brief Gets the total number of blocks in the cache. + * + * This function computes and returns the total number of blocks in the + * cache based on the total cache length and the block length configuration. + * + * @return The total number of blocks in the cache. + */ + int get_cache_total_block_num() { + return (cache_total_len_ + config_.block_len - 1) / config_.block_len; + } + + /** + * @brief Updates the total length of the cache. + * + * This function sets a new total length for the cache, allowing dynamic + * adjustment of the cache size during runtime. + * + * @param cache_total_len The new total length of the cache. + */ + void update_cache_total_len(int cache_total_len) { + cache_total_len_ = cache_total_len; + } + void attn(const ggml_fp16_t *q_in, ggml_fp16_t *output, float *attn_lse, + int layer_idx, int generate_token_idx, int q_len, int batch_size, + int max_block_num, int *block_table, int *cache_seqlens, + int pick_block_num, int init_block_num, int local_block_num, + Backend *backend); + + void update_kvcache_one_block_fp16(const ggml_fp16_t *k_in, + const ggml_fp16_t *v_in, int layer_id, + int block_idx, Backend *backend); + + void get_kvcache_one_block_fp16(ggml_fp16_t *k_in, ggml_fp16_t *v_in, + int layer_id, int block_idx, + Backend *backend); + + void update_importance_one_block(const ggml_fp16_t *importance, + int layer_id, int block_idx, + Backend *backend); + void get_importance_one_block(ggml_fp16_t *importance, int layer_id, + int block_idx, Backend *backend); + + void get_anchor_one_block(ggml_fp16_t *anchor, int layer_id, int block_idx, + Backend *backend); + + void update_anchor_one_block(const ggml_fp16_t *anchor, int layer_id, + int block_idx, Backend *backend); + + void calc_anchor_all_layers(int *block_table, int *cache_seqlens, + int batch_size, int max_block_num, + Backend *backend); + + void load_kvcache(std::string tensor_file_path, Backend *backend); + void dump_kvcache(int *block_table, int cache_total_len, + std::string tensor_file_path, Backend *backend); + + void get_and_update_kvcache_fp16(ggml_fp16_t *k_in, ggml_fp16_t *v_in, + int layer_id, int *block_table, + int batch_size, int max_block_num, + int *cache_seqlens, int q_len, + Backend *backend); + + void get_kvcache_fp16(ggml_fp16_t *k_in, ggml_fp16_t *v_in, int layer_id, + int *block_table, int batch_size, int max_block_num, + int *cache_seqlens, Backend *backend); + + void update_kvcache_fp16(const ggml_fp16_t *k_in, const ggml_fp16_t *v_in, + int layer_id, int *block_table, int batch_size, + int max_block_num, int *cache_seqlens, int q_len, + Backend *backend); + + void update_importance(const ggml_fp16_t *importance, int layer_id, + int *block_table, int batch_size, int max_block_num, + int *offset, int width, Backend *backend); + + void attn_with_kvcache(const ggml_fp16_t *q_in, const ggml_fp16_t *k_in, + const ggml_fp16_t *v_in, ggml_fp16_t *output, + float *attn_lse, int layer_idx, + int generate_token_idx, int q_len, int batch_size, + int max_block_num, int *block_table, + int *cache_seqlens, int topk, int local, + Backend *backend); + + void clear_importance_all_layers(int *block_table, int *cache_seqlens, + int batch_size, int max_block_num, + Backend *backend); + + void clear_kvcache_all_layers(int *block_table, int *cache_seqlens, + int batch_size, int max_block_num, + Backend *backend); + + void get_sincos(ggml_fp16_t *sin, ggml_fp16_t *cos, int seqlen); + + void get_attn_sparsity(const ggml_fp16_t *q_in, float *attn_sparsity, + int layer_idx, int generate_token_idx, int q_len, + int batch_size, int max_block_num, int *block_table, + int *cache_seqlens, int *block_table_origin, + int *cache_seqlens_origin, int max_block_num_origin, + int topk, int local, Backend *backend); + + void get_all_kvcache_one_layer(int layer_id, ggml_fp16_t *k_in, + ggml_fp16_t *v_in, Backend *backend); + + private: + // Persistent data + KVCacheConfig config_; + int n_gqa_; // q_head_num / kv_head_num + int cache_total_len_; // Number of tokens in cache + std::vector past_block_num_; // [layer_num] + std::vector>>> + k_cache_q4; // [layer_num, kv_head_num, past_block_num, block_len * + // (head_dim / QK_4)] + std::vector>>> + v_cache_q4; // [layer_num, kv_head_num, past_block_num, head_dim * + // (block_len / QK_4)] + std::vector>>> + k_cache_q8; // [layer_num, kv_head_num, past_block_num, block_len * + // (head_dim / QK_8)] + std::vector>>> + v_cache_q8; // [layer_num, kv_head_num, past_block_num, head_dim * + // (block_len / QK_8)] + + std::vector>>> + k_cache_fp16_; // [layer_num, kv_head_num, past_block_num, block_len * + // head_dim] + std::vector>>> + v_cache_fp16_; // [layer_num, kv_head_num, past_block_num, head_dim * + // block_len] + + std::vector>>> + importance_; // [layer_num, past_block_num, block_len, + // attention_head_num] + + std::vector + anchor_; // [layer_num * past_block_num * anchor_num * + // attention_head_num * head_dim] + + // Runtime data + int64_t layer_id_; + int64_t block_idx_; + int *block_table_; + uint64_t block_num_; + int max_block_num_after_retrieval_; + + // Rotary positional embeddings + std::vector> sin_; // [seq_len, head_dim] + std::vector> cos_; // [seq_len, head_dim] + + // update/get + int seq_len_; + uint16_t *k_scales_; // q4_0 + uint8_t *k_in_; // q4_0 + uint16_t *v_scales_; // q4_0 + uint8_t *v_in_; // q4_0 + uint16_t *k_data_; // fp16 + uint16_t *v_data_; // fp16 + uint16_t *importance_data_; // fp16 + uint16_t *anchor_data_; // fp16 + + // sparsity = (sigma(block lse / lse)) + std::vector>> + block_lse_; // [batch_size, max_block_num, q_head_num] + std::vector> attn_sparsity_; // [batch_size, q_head_num] + + // attn + std::vector> + avg_q; // [batch_size, q_head_num * head_dim] + + std::vector> + avg_q_fp16; // [batch_size, q_head_num * head_dim] + std::vector< + std::priority_queue, + std::vector>, std::greater<>>> + top_similar_block_; + + std::vector> block_similar_; + std::vector>> block_similar_kv_head_; + std::vector>> block_similar_q_head_; + + std::vector cache_seqlens_; // [batch_size] + std::vector selected_blocks_num_history_; // [layer_num // layer_step] + + std::vector>> selected_blocks_history_; + // [layer_num // layer_step, batch_size, max_block_num] + + std::vector>>> + selected_blocks_history_kvhead_; // [layer_num // layer_step, + // batch_size, max_block_num, + // kv_head_num] + + std::vector> + block_table_before_retrieval_; // [batch_size, max_block_num] + std::vector> + block_table_after_retrieval_; // [batch_size, pick_block_num] + + std::vector>> + block_table_before_retrieval_qhead_; // [batch_size, max_block_num, + // q_head_num] + std::vector>> + block_table_after_retrieval_qhead_; // [batch_size, pick_block_num, + // q_head_num] + + std::vector>> + block_table_before_retrieval_kvhead_; // [batch_size, max_block_num, + // kv_head_num] + std::vector>> + block_table_after_retrieval_kvhead_; // [batch_size, pick_block_num, + // kv_head_num] + + std::vector>> + mutex_; // [batch_size, kv_head_num] + std::vector>> + q_q8_0_; // [batch_size, kv_head_num, n_gqa * head_dim / QK8_0] + std::vector>> + q_fp32_; // [batch_size, kv_head_num, n_gqa * head_dim] + + std::vector>> + output_fp32_; // [batch_size, kv_head_num, n_gqa * head_dim] + std::vector>> + attn_lse_; // [batch_size, kv_head_num, n_gqa] + + std::vector> thread_cur_head_idx_; // [thread_num] + + std::vector> + thread_local_output_q8_0_; // [thread_num, n_gqa * head_dim / QK8_0] + std::vector> + thread_local_attn_score_; // [thread_num, n_gqa * block_len] + std::vector> + thread_local_output_fp32_; // [thread_num, n_gqa * head_dim] + std::vector> + thread_local_attn_lse_; // [thread_num, n_gqa] + std::vector> + thread_local_cur_output_fp32_; // [thread_num, n_gqa * head_dim] + std::vector> + thread_local_cur_attn_lse_; // [thread_num, n_gqa] + std::vector> + thread_local_attn_mask_; // [thread_num, block_len // 8] + std::vector> + thread_local_draft_; // [thread_num, 2 * n_gqa * block_len + 6 * n_gqa * + // head_dim + 2 * block_len * head_dim] + + // tmp space + std::vector q_fp32; // [n_gqa * head_dim] + + void quantize_q_(const uint16_t *q_in_data, int batch_size); + void attn_initialize_layer_(int batch_size, int layer_idx, int *block_table, + int &max_block_num, int *cache_seqlens); + void attn_initialize_kvhead_(int batch_size, int layer_idx, + int *block_table, int &max_block_num, + int *cache_seqlens); + void retrieval_kvcache_layer_(const uint16_t *q_in_data, int init_block_num, + int local_block_num, int pick_block_num, + int q_len, int generate_token_idx, + int batch_size, int layer_idx, + int *cache_seqlens, int &max_block_num, + Backend *backend); + void retrieval_kvcache_kvhead_(const uint16_t *q_in_data, + int init_block_num, int local_block_num, + int pick_block_num, int q_len, + int generate_token_idx, int batch_size, + int layer_idx, int *cache_seqlens, + int &max_block_num, Backend *backend); + + void calculate_block_similarity_layer_( + const uint16_t *q_in_data, int batch_size, int layer_idx, int q_len, + int max_block_num, int *cache_seqlens, int init_block_num, + int local_block_num, int pick_block_num, Backend *backend); + void calculate_block_similarity_kvhead_( + const uint16_t *q_in_data, int batch_size, int layer_idx, int q_len, + int max_block_num, int *cache_seqlens, int init_block_num, + int local_block_num, int pick_block_num, Backend *backend); + + void select_block_layer_(int batch_size, int layer_idx, int max_block_num, + int init_block_num, int local_block_num, + int pick_block_num); + void select_block_kvhead_(int batch_size, int layer_idx, int max_block_num, + int init_block_num, int local_block_num, + int pick_block_num); + + void calculate_sparsity_layer_(const uint16_t *q_in_data, + float *attn_sparsity, int batch_size, + int max_block_num, int *block_table, + int *cache_seqlens, Backend *backend); + void calculate_sparsity_kvhead_(const uint16_t *q_in_data, + float *attn_sparsity, int batch_size, + int max_block_num, int *block_table, + int *cache_seqlens, Backend *backend); + + void attention_kvhead_(const uint16_t *q_in_data, ggml_fp16_t *output, + float *attn_lse, int batch_size, Backend *backend); + void attention_layer_(const uint16_t *q_in_data, ggml_fp16_t *output, + float *attn_lse, int batch_size, Backend *backend); + + /** + * @brief Computes attention with KV cache for one block. + * + * This function performs attention computation for one block using KV + * cache. The function supports different data types for Q, K, and V caches, + * and provides options for quantization. The function does not perform any + * dynamic memory allocation internally, so all necessary buffers must be + * pre-allocated externally. + * + * @param head_dim The dimension of the head. + * @param bsz The batch size. + * @param q_type The data type of Q (GGML data type). Only supports fp16 and + * q8_0. + * @param q Pointer to the Q tensor [bsz, head_dim]. The quantization is + * always applied along the head_dim dimension. The size must be + * bsz * head_dim/32 * qtype_size. If head_dim % 32 != 0, an error + * will be raised. + * @param past_kv_len The length of the past KV cache. + * @param past_kv_offset The offset in the past KV cache. + * @param is_full_attn Boolean flag indicating whether to use full attention + * (true for full 1 mask). + * @param attn_mask Pointer to the attention mask [bsz, past_kv_len]. If + * is_full_attn = false, a bit matrix is passed to + * represent the mask. + * @param k_type The data type of K cache (GGML data type). Only supports + * fp16, q4_0, and q8_0. + * @param k_quant_type Quantization type for K cache. 0 for per_token, 1 for + * per_channel. Other values will raise an error. + * @param k_cache Pointer to the K cache tensor [seq_len, head_dim]. If + * quant_type == 0, head_dim % 32 must be 0. If quant_type == + * 1, seq_len % 32 must be 0. + * @param num_k_anchor The number of K anchors. If num_k_anchor == 0, it + * means no anchor is present. + * @param k_cache_anchors Pointer to the K cache anchors [num_k_anchor, + * head_dim]. The k_anchor_type must be fp16. + * @param k_cache_anchor_pos Pointer to the K cache anchor positions. Each + * token is associated with the nearest previous anchor position. + * @param v_type The data type of V cache (GGML data type). + * @param v_quant_type Quantization type for V cache. + * @param v_cache Pointer to the V cache tensor [head_dim, seq_len]. + * @param num_v_anchor The number of V anchors. + * @param v_cache_anchors Pointer to the V cache anchors. + * @param v_cache_anchor_pos Pointer to the V cache anchor positions. + * @param attn_score Pre-allocated buffer for attention scores [bsz, + * past_kv_len]. + * @param output Output tensor [bsz, head_dim] with the same type as q_type. + * @param lse Pre-allocated buffer [bsz] for the log-sum-exp of the + * attention scores. + * @param draft Pre-allocated temporary buffer. The buffer size should be + * enough to hold (2 * bsz * past_kv_len + 6 * bsz * head_dim + 2 * + * past_kv_len * head_dim + past_kv_len * head_dim / 32) bytes. + * @param rotary_angle Pointer to the rotary angle tensor. + * @param rotary_cos Pointer to the cosine values for rotary embedding. + * @param rotary_sin Pointer to the sine values for rotary embedding. + */ + void attn_with_kvcache_one_block_( + int head_dim, int bsz, + ggml_type q_type, // GGML data type of `Q`, only supports fp16 and q8_0 + // [bsz, head_dim] + // Quantization is always on the head_dim dimension (per_token). If + // head_dim % 32 != 0, an error will be raised. The size must be bsz * + // head_dim/32 * qtype_size. + const void *q, + + int past_kv_len, int past_kv_offset, + bool is_full_attn, // true indicates a full 1 mask + // If is_full_attn = false, a bit matrix representing the mask is + // passed. [bsz, past_kv_len] + const uint8_t *attn_mask, + + ggml_type k_type, // GGML data type of `K Cache`, only supports fp16, + // q4_0, q8_0 + int k_quant_type, // 0 for per_token, 1 for per_channel, others raise an + // error + // [seq_len, head_dim] + // If quant_type == 0, head_dim % 32 must be 0. + // If quant_type == 1, seq_len % 32 must be 0. + const void *k_cache, + + // k_anchor_type must be fp16 + int num_k_anchor, // num_k_anchor == 0 indicates no anchor + // [num_k_anchor, head_dim] + const void *k_cache_anchors, + // Each token is associated with the nearest previous position's anchor, + // with the same distance. + const int *k_cache_anchor_pos, + + // v_cache similar to k_cache + ggml_type v_type, int v_quant_type, + // [head_dim, seq_len] + const void *v_cache, int num_v_anchor, const void *v_cache_anchors, + const int *v_cache_anchor_pos, + + // Pre-allocated buffer for intermediate calculations [bsz, + // past_kv_len]. No malloc is performed inside this function. + float *attn_score, + + // Output: [bsz, head_dim], with the same type as q_type + void *output, + // [bsz] + float *lse, + + // Pre-allocated temporary buffer with sufficient size: + // (2 * bsz * past_kv_len + 6 * bsz * head_dim + 2 * past_kv_len * + // head_dim + past_kv_len * head_dim / 32) bytes. + void *draft, + + // Apply rotary embedding online + const int *rotary_angle, const void *rotary_cos, const void *rotary_sin + // rotary_cos=None, + // rotary_sin=None, + // cache_seqlens: Optional[Union[(int, torch.Tensor)]] = None, + // cache_batch_idx: Optional[torch.Tensor] = None, + // rotary_interleaved=True, + + // // Not supported for now + // window_size=(-1, -1), # -1 means infinite context window + // alibi_slopes=None, + ); +}; + +/** + * @brief Scales a float32 vector by a given scalar value. + * + * This function multiplies each element of the input vector `y` by a scalar + * `v`. It uses platform-specific optimizations if available, such as Apple's + * Accelerate framework or SIMD instructions. If no specific optimization is + * available, the function falls back to a simple scalar multiplication loop. + * + * @param n The number of elements in the vector `y`. + * @param y The input vector to be scaled. The result will be stored in the same + * vector. + * @param v The scalar value by which to scale the vector. + */ +void ggml_vec_scale_f32(const int n, float *y, const float v); +#endif \ No newline at end of file diff --git a/ktransformers/ktransformers_ext/operators/kvcache/kvcache_attn.cpp b/ktransformers/ktransformers_ext/operators/kvcache/kvcache_attn.cpp new file mode 100644 index 0000000..c59cb94 --- /dev/null +++ b/ktransformers/ktransformers_ext/operators/kvcache/kvcache_attn.cpp @@ -0,0 +1,2533 @@ +/** + * @Description : + * @Author : Jianwei Dong + * @Date : 2024-08-26 22:47:06 + * @Version : 1.0.0 + * @LastEditors : Jianwei Dong + * @LastEditTime : 2024-08-26 22:47:06 + * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. + **/ + +#include "kvcache.h" + +void KVCache::attention_kvhead_(const uint16_t *q_in_data, ggml_fp16_t *output, + float *attn_lse, int batch_size, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + seq_len_ = config_.block_len; + + backend->do_work_stealing_job( + batch_size * config_.kv_head_num * max_block_num_after_retrieval_, + [&](int thread_id) { + thread_cur_head_idx_[thread_id].first = -1; + thread_cur_head_idx_[thread_id].second = -1; + }, + [&](int task_id) { + int batch_id = task_id / (config_.kv_head_num * + max_block_num_after_retrieval_); + int head_id = (task_id % (config_.kv_head_num * + max_block_num_after_retrieval_)) / + max_block_num_after_retrieval_; + int block_id = task_id % max_block_num_after_retrieval_; + int thread_id = Backend::thread_local_id; + + // If the block is out of the sequence length, skip it. + if (cache_seqlens_[batch_id] / config_.block_len < block_id) { + return; + } + int block_idx = + block_table_after_retrieval_kvhead_[batch_id][block_id] + [head_id]; + if (cache_seqlens_[batch_id] / config_.block_len == block_id) { + int seq_len = cache_seqlens_[batch_id] % config_.block_len; + if (seq_len == 0) + return; + + // Prepare the attention mask for the last block. + int full_blocks = seq_len / 8; + int remaining_bits = seq_len % 8; + // Fill full blocks with 1s + for (int i = 0; i < full_blocks; ++i) { + thread_local_attn_mask_[thread_id][i] = 0xFF; + } + // Fill the remaining bits in the next block + if (remaining_bits > 0 && full_blocks < seq_len_ / 8) { + thread_local_attn_mask_[thread_id][full_blocks] = + (1 << remaining_bits) - 1; + } else { + thread_local_attn_mask_[thread_id][full_blocks] = 0; + } + + for (int i = full_blocks + 1; i < seq_len_ / 8; ++i) { + thread_local_attn_mask_[thread_id][i] = 0; + } + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, GGML_TYPE_F16, + (void *)&q_in_data[batch_id * config_.kv_head_num * + n_gqa_ * config_.head_dim + + head_id * n_gqa_ * config_.head_dim], + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_F16, 0, + k_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_F16, 1, + v_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_Q4_0, 0, + k_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q4_0, 1, + v_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_Q8_0, 0, + k_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q8_0, 1, + v_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } + } else { + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, GGML_TYPE_F16, + (void *)&q_in_data[batch_id * config_.kv_head_num * + n_gqa_ * config_.head_dim + + head_id * n_gqa_ * config_.head_dim], + seq_len_, 0, true, nullptr, GGML_TYPE_F16, 0, + k_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_F16, 1, + v_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, true, nullptr, GGML_TYPE_Q4_0, 0, + k_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q4_0, 1, + v_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, true, nullptr, GGML_TYPE_Q8_0, 0, + k_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q8_0, 1, + v_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } + } + int cur_batch_idx = thread_cur_head_idx_[thread_id].first; + int cur_head_id = thread_cur_head_idx_[thread_id].second; + if (batch_id == cur_batch_idx && head_id == cur_head_id) { + for (int i = 0; i < n_gqa_; i++) { + float new_attn_lse = + thread_local_cur_attn_lse_[thread_id][i] + + std::log( + 1.0 + + std::exp(thread_local_attn_lse_[thread_id][i] - + thread_local_cur_attn_lse_[thread_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + thread_local_cur_output_fp32_[thread_id] + [i * config_.head_dim + + j] += + thread_local_output_fp32_[thread_id] + [i * config_.head_dim + j]; + } + thread_local_cur_attn_lse_[thread_id][i] = new_attn_lse; + } + } else { + if (cur_batch_idx != -1) { + mutex_[cur_batch_idx][cur_head_id]->lock(); + for (int i = 0; i < n_gqa_; i++) { + if (std::abs(attn_lse_[cur_batch_idx][cur_head_id][i]) < + 1e-6) { + attn_lse_[cur_batch_idx][cur_head_id][i] = + thread_local_cur_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] = + thread_local_cur_output_fp32_ + [thread_id] + [i * config_.head_dim + j]; + } + continue; + } + float new_attn_lse = + attn_lse_[cur_batch_idx][cur_head_id][i] + + std::log( + 1.0 + + std::exp( + thread_local_cur_attn_lse_[thread_id][i] - + attn_lse_[cur_batch_idx][cur_head_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + output_fp32_[cur_batch_idx][cur_head_id].data() + + i * config_.head_dim, + std::exp(attn_lse_[cur_batch_idx][cur_head_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] += + thread_local_cur_output_fp32_ + [thread_id][i * config_.head_dim + j]; + } + attn_lse_[cur_batch_idx][cur_head_id][i] = new_attn_lse; + } + mutex_[cur_batch_idx][cur_head_id]->unlock(); + } + thread_cur_head_idx_[thread_id].first = batch_id; + thread_cur_head_idx_[thread_id].second = head_id; + for (int i = 0; i < n_gqa_; i++) { + thread_local_cur_attn_lse_[thread_id][i] = + thread_local_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + thread_local_cur_output_fp32_ + [thread_id][i * config_.head_dim + j] = + thread_local_output_fp32_[thread_id] + [i * config_.head_dim + + j]; + } + } + } + }, + // Merge the results of the remaining blocks. + [&](int thread_id) { + int cur_batch_idx = thread_cur_head_idx_[thread_id].first; + int cur_head_id = thread_cur_head_idx_[thread_id].second; + if (cur_head_id != -1) { + mutex_[cur_batch_idx][cur_head_id]->lock(); + for (int i = 0; i < n_gqa_; i++) { + float new_attn_lse; + if (std::abs(attn_lse_[cur_batch_idx][cur_head_id][i]) < + 1e-6) { + attn_lse_[cur_batch_idx][cur_head_id][i] = + thread_local_cur_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] = + thread_local_cur_output_fp32_ + [thread_id] + [i * config_.head_dim + j]; + } + continue; + } + new_attn_lse = + attn_lse_[cur_batch_idx][cur_head_id][i] + + std::log( + 1.0 + + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + attn_lse_[cur_batch_idx][cur_head_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + output_fp32_[cur_batch_idx][cur_head_id].data() + + i * config_.head_dim, + std::exp(attn_lse_[cur_batch_idx][cur_head_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] += + thread_local_cur_output_fp32_[thread_id] + [i * config_.head_dim + + j]; + } + attn_lse_[cur_batch_idx][cur_head_id][i] = new_attn_lse; + } + mutex_[cur_batch_idx][cur_head_id]->unlock(); + } + }); + // move the results to output and attn_lse + uint16_t *output_data = reinterpret_cast(output); + float *attn_lse_data = attn_lse; + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + for (int i = 0; i < config_.kv_head_num; i++) { + for (int j = 0; j < n_gqa_ * config_.head_dim; j++) { + output_data[batch_idx * config_.kv_head_num * n_gqa_ * + config_.head_dim + + i * n_gqa_ * config_.head_dim + j] = + GGML_FP32_TO_FP16(output_fp32_[batch_idx][i][j]); + } + for (int j = 0; j < n_gqa_; j++) { + attn_lse_data[batch_idx * config_.kv_head_num * n_gqa_ + + i * n_gqa_ + j] = attn_lse_[batch_idx][i][j]; + } + } + } + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + // printf("layer %d time of computing attention: %f s\n", layer_idx, + // diff.count()); +} + +void KVCache::attention_layer_(const uint16_t *q_in_data, ggml_fp16_t *output, + float *attn_lse, int batch_size, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + seq_len_ = config_.block_len; + backend->do_work_stealing_job( + batch_size * config_.kv_head_num * max_block_num_after_retrieval_, + [&](int thread_id) { + thread_cur_head_idx_[thread_id].first = -1; + thread_cur_head_idx_[thread_id].second = -1; + }, + [&](int task_id) { + int batch_id = task_id / (config_.kv_head_num * + max_block_num_after_retrieval_); + int head_id = (task_id % (config_.kv_head_num * + max_block_num_after_retrieval_)) / + max_block_num_after_retrieval_; + int block_id = task_id % max_block_num_after_retrieval_; + int thread_id = Backend::thread_local_id; + // If the block is out of the sequence length, skip it. + if (cache_seqlens_[batch_id] / config_.block_len < block_id) { + return; + } + int block_idx = block_table_after_retrieval_[batch_id][block_id]; + if (cache_seqlens_[batch_id] / config_.block_len == block_id) { + int seq_len = cache_seqlens_[batch_id] % config_.block_len; + if (seq_len == 0) + return; + + // Prepare the attention mask for the last block. + int full_blocks = seq_len / 8; + int remaining_bits = seq_len % 8; + + // Fill full blocks with 1s + for (int i = 0; i < full_blocks; ++i) { + thread_local_attn_mask_[thread_id][i] = 0xFF; + } + // Fill the remaining bits in the next block + if (remaining_bits > 0 && full_blocks < seq_len_ / 8) { + thread_local_attn_mask_[thread_id][full_blocks] = + (1 << remaining_bits) - 1; + } else { + thread_local_attn_mask_[thread_id][full_blocks] = 0; + } + + for (int i = full_blocks + 1; i < seq_len_ / 8; ++i) { + thread_local_attn_mask_[thread_id][i] = 0; + } + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, GGML_TYPE_F16, + (void *)&q_in_data[batch_id * config_.kv_head_num * + n_gqa_ * config_.head_dim + + head_id * n_gqa_ * config_.head_dim], + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_F16, 0, + k_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_F16, 1, + v_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_Q4_0, 0, + k_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q4_0, 1, + v_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_Q8_0, 0, + k_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q8_0, 1, + v_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } + } else { + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, GGML_TYPE_F16, + (void *)&q_in_data[batch_id * config_.kv_head_num * + n_gqa_ * config_.head_dim + + head_id * n_gqa_ * config_.head_dim], + seq_len_, 0, true, nullptr, GGML_TYPE_F16, 0, + k_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_F16, 1, + v_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, true, nullptr, GGML_TYPE_Q4_0, 0, + k_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q4_0, 1, + v_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, true, nullptr, GGML_TYPE_Q8_0, 0, + k_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q8_0, 1, + v_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } + } + int cur_batch_idx = thread_cur_head_idx_[thread_id].first; + int cur_head_id = thread_cur_head_idx_[thread_id].second; + if (batch_id == cur_batch_idx && head_id == cur_head_id) { + for (int i = 0; i < n_gqa_; i++) { + float new_attn_lse = + thread_local_cur_attn_lse_[thread_id][i] + + std::log( + 1.0 + + std::exp(thread_local_attn_lse_[thread_id][i] - + thread_local_cur_attn_lse_[thread_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + thread_local_cur_output_fp32_[thread_id] + [i * config_.head_dim + + j] += + thread_local_output_fp32_[thread_id] + [i * config_.head_dim + j]; + } + thread_local_cur_attn_lse_[thread_id][i] = new_attn_lse; + } + } else { + if (cur_batch_idx != -1) { + mutex_[cur_batch_idx][cur_head_id]->lock(); + for (int i = 0; i < n_gqa_; i++) { + if (std::abs(attn_lse_[cur_batch_idx][cur_head_id][i]) < + 1e-6) { + attn_lse_[cur_batch_idx][cur_head_id][i] = + thread_local_cur_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] = + thread_local_cur_output_fp32_ + [thread_id] + [i * config_.head_dim + j]; + } + continue; + } + float new_attn_lse = + attn_lse_[cur_batch_idx][cur_head_id][i] + + std::log( + 1.0 + + std::exp( + thread_local_cur_attn_lse_[thread_id][i] - + attn_lse_[cur_batch_idx][cur_head_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + output_fp32_[cur_batch_idx][cur_head_id].data() + + i * config_.head_dim, + std::exp(attn_lse_[cur_batch_idx][cur_head_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] += + thread_local_cur_output_fp32_ + [thread_id][i * config_.head_dim + j]; + } + attn_lse_[cur_batch_idx][cur_head_id][i] = new_attn_lse; + } + mutex_[cur_batch_idx][cur_head_id]->unlock(); + } + thread_cur_head_idx_[thread_id].first = batch_id; + thread_cur_head_idx_[thread_id].second = head_id; + for (int i = 0; i < n_gqa_; i++) { + thread_local_cur_attn_lse_[thread_id][i] = + thread_local_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + thread_local_cur_output_fp32_ + [thread_id][i * config_.head_dim + j] = + thread_local_output_fp32_[thread_id] + [i * config_.head_dim + + j]; + } + } + } + }, + // Merge the results of the remaining blocks. + [&](int thread_id) { + int cur_batch_idx = thread_cur_head_idx_[thread_id].first; + int cur_head_id = thread_cur_head_idx_[thread_id].second; + if (cur_head_id != -1) { + mutex_[cur_batch_idx][cur_head_id]->lock(); + for (int i = 0; i < n_gqa_; i++) { + float new_attn_lse; + if (std::abs(attn_lse_[cur_batch_idx][cur_head_id][i]) < + 1e-6) { + attn_lse_[cur_batch_idx][cur_head_id][i] = + thread_local_cur_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] = + thread_local_cur_output_fp32_ + [thread_id] + [i * config_.head_dim + j]; + } + continue; + } + new_attn_lse = + attn_lse_[cur_batch_idx][cur_head_id][i] + + std::log( + 1.0 + + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + attn_lse_[cur_batch_idx][cur_head_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + output_fp32_[cur_batch_idx][cur_head_id].data() + + i * config_.head_dim, + std::exp(attn_lse_[cur_batch_idx][cur_head_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] += + thread_local_cur_output_fp32_[thread_id] + [i * config_.head_dim + + j]; + } + attn_lse_[cur_batch_idx][cur_head_id][i] = new_attn_lse; + } + mutex_[cur_batch_idx][cur_head_id]->unlock(); + } + }); + + // move the results to output and attn_lse + uint16_t *output_data = reinterpret_cast(output); + float *attn_lse_data = attn_lse; + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + for (int i = 0; i < config_.kv_head_num; i++) { + for (int j = 0; j < n_gqa_ * config_.head_dim; j++) { + output_data[batch_idx * config_.kv_head_num * n_gqa_ * + config_.head_dim + + i * n_gqa_ * config_.head_dim + j] = + GGML_FP32_TO_FP16(output_fp32_[batch_idx][i][j]); + } + for (int j = 0; j < n_gqa_; j++) { + attn_lse_data[batch_idx * config_.kv_head_num * n_gqa_ + + i * n_gqa_ + j] = attn_lse_[batch_idx][i][j]; + } + } + } + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + // printf("layer %d time of computing attention: %f s\n", layer_id_, + // diff.count()); +} + +void KVCache::attn(const ggml_fp16_t *q_in, ggml_fp16_t *output, + float *attn_lse, int layer_idx, int generate_token_idx, + int q_len, int batch_size, int max_block_num, + int *block_table, int *cache_seqlens, int pick_block_num, + int init_block_num, int local_block_num, Backend *backend) { + + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + layer_id_ = layer_idx; + batch_size = batch_size * q_len; + + const uint16_t *q_in_data = const_cast(q_in); + + quantize_q_(q_in_data, batch_size); + if (config_.retrieval_type == RetrievalType::LAYER) { + attn_initialize_layer_(batch_size, layer_idx, block_table, + max_block_num, cache_seqlens); + retrieval_kvcache_layer_(q_in_data, init_block_num, local_block_num, + pick_block_num, q_len, generate_token_idx, + batch_size, layer_idx, cache_seqlens, + max_block_num, backend); + attention_layer_(q_in_data, output, attn_lse, batch_size, backend); + } else if (config_.retrieval_type == RetrievalType::KVHEAD) { + attn_initialize_kvhead_(batch_size, layer_idx, block_table, + max_block_num, cache_seqlens); + retrieval_kvcache_kvhead_(q_in_data, init_block_num, local_block_num, + pick_block_num, q_len, generate_token_idx, + batch_size, layer_idx, cache_seqlens, + max_block_num, backend); + attention_kvhead_(q_in_data, output, attn_lse, batch_size, backend); + } + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + // printf("layer %d time of computing attention: %f s\n", layer_idx, + // diff.count()); +} + +void KVCache::attn_with_kvcache( + const ggml_fp16_t *q_in, const ggml_fp16_t *k_in, const ggml_fp16_t *v_in, + ggml_fp16_t *output, float *attn_lse, int layer_idx, int generate_token_idx, + int q_len, int batch_size, int max_block_num, int *block_table, + int *cache_seqlens, int topk, int local, Backend *backend) { + // printf("attn_with_kvcache start\n"); + assert(q_len == 1); + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_idx; + + update_kvcache_fp16(k_in, v_in, layer_idx, block_table, batch_size, + max_block_num, cache_seqlens, q_len, backend); + // printf("update finished.\n"); + + // cache_seqlens memory is modified. + for (int i = 0; i < batch_size; i++) { + cache_seqlens[i] += q_len; + } + int init_block_num = 1; + if (config_.block_len <= 32) { + init_block_num = 64 / config_.block_len; + } + + attn(q_in, output, attn_lse, layer_idx, generate_token_idx, q_len, + batch_size, max_block_num, block_table, cache_seqlens, topk, + init_block_num, local, backend); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + // printf("layer %d time of computing attention with kvcache: %f s\n", + // layer_idx, diff.count()); +} + +void KVCache::quantize_q_(const uint16_t *q_in_data, int batch_size) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + // quantize q + for (int i = 0; i < config_.kv_head_num; i++) { + for (int j = 0; j < n_gqa_ * config_.head_dim; j++) { + q_fp32_[batch_idx][i][j] = GGML_FP16_TO_FP32( + q_in_data[batch_idx * config_.kv_head_num * n_gqa_ * + config_.head_dim + + i * n_gqa_ * config_.head_dim + j]); + } + } + } else { + // quantize q + for (int i = 0; i < config_.kv_head_num; i++) { + for (int j = 0; j < n_gqa_ * config_.head_dim; j++) { + q_fp32[j] = GGML_FP16_TO_FP32( + q_in_data[batch_idx * config_.kv_head_num * n_gqa_ * + config_.head_dim + + i * n_gqa_ * config_.head_dim + j]); + } + quantize_row_q8_0(q_fp32.data(), q_q8_0_[batch_idx][i].data(), + n_gqa_ * config_.head_dim); + } + } + } + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + // printf("time of quantizing q: %f s\n", + // std::chrono::duration(end - start).count()); +} +void KVCache::attn_initialize_layer_(int batch_size, int layer_idx, + int *block_table, int &max_block_num, + int *cache_seqlens) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + // initialize output_fp32_ and attn_lse_ + for (int i = 0; i < config_.kv_head_num; i++) { + for (int j = 0; j < n_gqa_ * config_.head_dim; j++) { + output_fp32_[batch_idx][i][j] = 0; + } + for (int j = 0; j < n_gqa_; j++) { + attn_lse_[batch_idx][i][j] = 0; + } + } + // clear top_similar_block_ + + while (!top_similar_block_[batch_idx].empty()) + top_similar_block_[batch_idx].pop(); + } + + // get block_table_before_retrieval_ and cache_seqlens_ + if (block_table == nullptr) { + max_block_num = past_block_num_[layer_idx]; + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + if (cache_total_len_ != 0) + cache_seqlens_[batch_idx] = cache_total_len_; + else + cache_seqlens_[batch_idx] = max_block_num * config_.block_len; + for (int i = 0; i < max_block_num; i++) { + block_table_before_retrieval_[batch_idx][i] = i; + block_similar_[batch_idx][i] = 0; + } + } + } else { + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + cache_seqlens_[batch_idx] = cache_seqlens[batch_idx]; + for (int i = 0; i < max_block_num; i++) { + block_table_before_retrieval_[batch_idx][i] = + block_table[batch_idx * max_block_num + i]; + block_similar_[batch_idx][i] = 0; + } + } + } + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + // printf("layer %d time of initializing attention: %f s\n", layer_idx, + // std::chrono::duration(end - start).count()); +} + +void KVCache::calculate_block_similarity_layer_( + const uint16_t *q_in_data, int batch_size, int layer_idx, int q_len, + int max_block_num, int *cache_seqlens, int init_block_num, + int local_block_num, int pick_block_num, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + if (batch_size == 1 && + config_.anchor_num == 1) { // TODO: improve batch_size > 1 + for (int batch_id = 0; batch_id < batch_size; batch_id++) { + if (q_len == 1) { + for (int j = 0; j < config_.head_dim * config_.q_head_num; + j++) { + avg_q[batch_id][j] = GGML_FP16_TO_FP32( + q_in_data[batch_id * q_len * config_.q_head_num * + config_.head_dim + + j]); + avg_q_fp16[batch_id][j] = + q_in_data[batch_id * q_len * config_.q_head_num * + config_.head_dim + + j]; + } + } else { + for (int j = 0; j < config_.head_dim * config_.q_head_num; + j++) { + avg_q[batch_id][j] = 0; + } + for (int i = 0; i < q_len; i++) { + for (int j = 0; j < config_.head_dim; j++) { + avg_q[batch_id][j] += GGML_FP16_TO_FP32( + q_in_data[batch_id * q_len * config_.q_head_num * + config_.head_dim + + i * config_.q_head_num * + config_.head_dim + + j]); + } + } + for (int j = 0; j < config_.head_dim * config_.q_head_num; + j++) { + avg_q[batch_id][j] /= q_len; + avg_q_fp16[batch_id][j] = + GGML_FP32_TO_FP16(avg_q[batch_id][j]); + } + } + int seq_len = cache_seqlens_[batch_id]; + int block_num = (seq_len / config_.block_len) - local_block_num - + init_block_num; + if (block_num <= 0) { + continue; + } + bool is_seq = true; + for (int i = init_block_num + 1; + i < (seq_len / config_.block_len) - local_block_num; i++) { + if (block_table_before_retrieval_[batch_id][i] != + block_table_before_retrieval_[batch_id][i - 1] + 1) { + is_seq = false; + break; + } + } + if (is_seq) { + int nth = backend->get_thread_num(); + backend->do_work_stealing_job( + nth, nullptr, + [&](int task_id) { + int ith = task_id; + bool ok = llamafile_sgemm( + block_num, 1, config_.q_head_num * config_.head_dim, + anchor_.data() + + (layer_idx * config_.max_block_num + + block_table_before_retrieval_ + [batch_id][init_block_num]) * + config_.anchor_num * config_.q_head_num * + config_.head_dim, + config_.q_head_num * config_.head_dim, + avg_q_fp16[batch_id].data(), + config_.q_head_num * config_.head_dim, + block_similar_[batch_id].data() + init_block_num, + block_num, ith, nth, GGML_TASK_TYPE_COMPUTE, + GGML_TYPE_F16, GGML_TYPE_F16, GGML_TYPE_F32, + GGML_PREC_DEFAULT); + if (!ok) { + printf("llamafile_sgemm failed\n"); + } + }, + nullptr); + } else { + backend->do_work_stealing_job( + block_num, nullptr, + [&](int task_id) { + int block_id = task_id + init_block_num; + int block_idx = + block_table_before_retrieval_[batch_id][block_id]; + bool ok = llamafile_sgemm( + 1, 1, config_.q_head_num * config_.head_dim, + anchor_.data() + + (layer_idx * config_.max_block_num + + block_table_before_retrieval_[batch_id] + [block_idx]) * + config_.anchor_num * config_.q_head_num * + config_.head_dim, + config_.q_head_num * config_.head_dim, + avg_q_fp16[batch_id].data(), + config_.q_head_num * config_.head_dim, + block_similar_[batch_id].data() + block_id, 1, 0, 1, + GGML_TASK_TYPE_COMPUTE, GGML_TYPE_F16, + GGML_TYPE_F16, GGML_TYPE_F32, GGML_PREC_DEFAULT); + if (!ok) { + printf("llamafile_sgemm failed\n"); + } + }, + nullptr); + } + } + } else { + backend->do_work_stealing_job( + batch_size * max_block_num, nullptr, + [&](int task_id) { + int batch_id = task_id / max_block_num; + int block_id = task_id % max_block_num; + int seq_len = cache_seqlens_[batch_id]; + + if (block_id < init_block_num || + block_id >= + (seq_len / config_.block_len) - local_block_num) { + return; + } + + int block_idx = + block_table_before_retrieval_[batch_id][block_id]; + float sim = 0; + + for (int head_id = 0; head_id < config_.q_head_num; head_id++) { + for (int i = 0; i < config_.head_dim; i++) { + float q_i = 0, + qa_i = std::numeric_limits::lowest(); + for (int q_id = 0; q_id < q_len; q_id++) { + q_i += GGML_FP16_TO_FP32( + q_in_data[batch_id * q_len * + config_.q_head_num * + config_.head_dim + + q_id * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + i]); + } + q_i /= q_len; + for (int anchor_id = 0; anchor_id < config_.anchor_num; + anchor_id++) { + qa_i = std::max( + qa_i, + GGML_FP16_TO_FP32( + anchor_[(long long)layer_idx * + config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + anchor_id * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + i]) * + q_i); + } + sim += qa_i; + } + } + block_similar_[batch_id][block_id] = sim; + }, + nullptr); + } + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + // printf("layer %d time of calculating similarity: %f s\n", layer_idx, + // diff.count()); +} + +void KVCache::select_block_layer_(int batch_size, int layer_idx, + int max_block_num, int init_block_num, + int local_block_num, int pick_block_num) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + + if (cache_seqlens_[batch_idx] / config_.block_len <= + init_block_num + pick_block_num + local_block_num) { + block_table_after_retrieval_[batch_idx].swap( + block_table_before_retrieval_[batch_idx]); + selected_blocks_num_history_[(layer_idx - config_.layer_offset) / + config_.layer_step] = 0; + continue; + } + + for (int block_id = init_block_num; + block_id < + (cache_seqlens_[batch_idx] / config_.block_len) - local_block_num; + block_id++) { + top_similar_block_[batch_idx].push(std::make_pair( + block_similar_[batch_idx][block_id], + block_table_before_retrieval_[batch_idx][block_id])); + if (top_similar_block_[batch_idx].size() > pick_block_num) { + top_similar_block_[batch_idx].pop(); + } + } + + int i = 0; + for (; i < init_block_num; i++) { + block_table_after_retrieval_[batch_idx][i] = + block_table_before_retrieval_[batch_idx][i]; + } + while (!top_similar_block_[batch_idx].empty()) { + block_table_after_retrieval_[batch_idx][i] = + top_similar_block_[batch_idx].top().second; + top_similar_block_[batch_idx].pop(); + i++; + } + for (; i < init_block_num + pick_block_num + local_block_num; i++) { + block_table_after_retrieval_[batch_idx][i] = + block_table_before_retrieval_[batch_idx] + [(cache_seqlens_[batch_idx] / + config_.block_len) - + local_block_num + i - + init_block_num - pick_block_num]; + } + if (cache_seqlens_[batch_idx] % config_.block_len != 0) { + block_table_after_retrieval_[batch_idx][i] = + block_table_before_retrieval_[batch_idx][( + cache_seqlens_[batch_idx] / config_.block_len)]; + cache_seqlens_[batch_idx] = + (cache_seqlens_[batch_idx] % config_.block_len) + + i * config_.block_len; + i++; + } else { + cache_seqlens_[batch_idx] = + (cache_seqlens_[batch_idx] % config_.block_len) + + i * config_.block_len; + } + for (int j = 0; j < i; j++) { + selected_blocks_history_[(layer_idx - config_.layer_offset) / + config_.layer_step][batch_idx][j] = + block_table_after_retrieval_[batch_idx][j]; + } + selected_blocks_num_history_[(layer_idx - config_.layer_offset) / + config_.layer_step] = i; + } + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + // printf("layer %d time of selecting blocks: %f s\n", layer_idx, + // diff.count()); +} + +// retrieval kvcache, get the init_block_num block at beginning, top +// pick_block_num similar and last local_block_num blocks. Each task +// calculates the simlarity of a certain block with the query, then push +// the block into the priority queue. Finally, the required blocks are +// pushed into the block_table_after_retrieval_. +void KVCache::retrieval_kvcache_layer_(const uint16_t *q_in_data, + int init_block_num, int local_block_num, + int pick_block_num, int q_len, + int generate_token_idx, int batch_size, + int layer_idx, int *cache_seqlens, + int &max_block_num, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + max_block_num_after_retrieval_ = 0; + if (pick_block_num != -1 && + (generate_token_idx % config_.token_step != 0 || + (layer_idx % config_.layer_step != config_.layer_offset))) { + + if (selected_blocks_num_history_[(layer_idx - config_.layer_offset) / + config_.layer_step] == 0) { + max_block_num_after_retrieval_ = max_block_num; + block_table_after_retrieval_.swap(block_table_before_retrieval_); + } else { + max_block_num_after_retrieval_ = selected_blocks_num_history_ + [(layer_idx - config_.layer_offset) / config_.layer_step]; + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + for (int i = 0; i < max_block_num_after_retrieval_; i++) { + block_table_after_retrieval_[batch_idx][i] = + selected_blocks_history_[(layer_idx - + config_.layer_offset) / + config_.layer_step][batch_idx] + [i]; + } + + if (cache_seqlens[batch_idx] % config_.block_len == 1) { + selected_blocks_num_history_[(layer_idx - + config_.layer_offset) / + config_.layer_step] += 1; + int x = + selected_blocks_num_history_[(layer_idx - + config_.layer_offset) / + config_.layer_step]; + int last_block_idx = + block_table_before_retrieval_[batch_idx] + [cache_seqlens[batch_idx] / + config_.block_len]; + selected_blocks_history_[(layer_idx - + config_.layer_offset) / + config_.layer_step][batch_idx] + [x - 1] = last_block_idx; + block_table_after_retrieval_[batch_idx][x - 1] = + last_block_idx; + } + cache_seqlens_[batch_idx] = + (cache_seqlens_[batch_idx] % config_.block_len) + + selected_blocks_num_history_[(layer_idx - + config_.layer_offset) / + config_.layer_step] * + config_.block_len - + config_.block_len; + } + } + } else if (pick_block_num != -1) { + max_block_num_after_retrieval_ = + std::min(max_block_num, + init_block_num + pick_block_num + local_block_num + 1); + calculate_block_similarity_layer_(q_in_data, batch_size, layer_idx, + q_len, max_block_num, cache_seqlens, + init_block_num, local_block_num, + pick_block_num, backend); + select_block_layer_(batch_size, layer_idx, max_block_num, + init_block_num, local_block_num, pick_block_num); + } else { + selected_blocks_num_history_[(layer_idx - config_.layer_offset) / + config_.layer_step] = 0; + max_block_num_after_retrieval_ = max_block_num; + block_table_after_retrieval_.swap(block_table_before_retrieval_); + } + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + // printf("layer %d time of retrieval kvcache: %f s\n", layer_idx, + // std::chrono::duration(end - start).count()); +} +void KVCache::calculate_sparsity_layer_(const uint16_t *q_in_data, + float *attn_sparsity, int batch_size, + int max_block_num, int *block_table, + int *cache_seqlens, Backend *backend + +) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + seq_len_ = config_.block_len; + backend->do_work_stealing_job( + batch_size * config_.kv_head_num * max_block_num, + [&](int thread_id) { + thread_cur_head_idx_[thread_id].first = -1; + thread_cur_head_idx_[thread_id].second = -1; + }, + [&](int task_id) { + int batch_id = task_id / (config_.kv_head_num * max_block_num); + int head_id = (task_id % (config_.kv_head_num * max_block_num)) / + max_block_num; + int block_id = task_id % max_block_num; + int thread_id = Backend::thread_local_id; + // If the block is out of the sequence length, skip it. + if (cache_seqlens[batch_id] / config_.block_len < block_id) { + return; + } + int block_idx = block_table[batch_id * max_block_num + block_id]; + if (cache_seqlens_[batch_id] / config_.block_len == block_id) { + int seq_len = cache_seqlens_[batch_id] % config_.block_len; + if (seq_len == 0) + return; + + // Prepare the attention mask for the last block. + int full_blocks = seq_len / 8; + int remaining_bits = seq_len % 8; + // Fill full blocks with 1s + for (int i = 0; i < full_blocks; ++i) { + thread_local_attn_mask_[thread_id][i] = 0xFF; + } + // Fill the remaining bits in the next block + if (remaining_bits > 0 && full_blocks < seq_len_ / 8) { + thread_local_attn_mask_[thread_id][full_blocks] = + (1 << remaining_bits) - 1; + } else { + thread_local_attn_mask_[thread_id][full_blocks] = 0; + } + + for (int i = full_blocks + 1; i < seq_len_ / 8; ++i) { + thread_local_attn_mask_[thread_id][i] = 0; + } + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, GGML_TYPE_F16, + (void *)&q_in_data[batch_id * config_.kv_head_num * + n_gqa_ * config_.head_dim + + head_id * n_gqa_ * config_.head_dim], + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_F16, 0, + k_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_F16, 1, + v_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_Q4_0, 0, + k_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q4_0, 1, + v_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_Q8_0, 0, + k_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q8_0, 1, + v_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } + } else { + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, GGML_TYPE_F16, + (void *)&q_in_data[batch_id * config_.kv_head_num * + n_gqa_ * config_.head_dim + + head_id * n_gqa_ * config_.head_dim], + seq_len_, 0, true, nullptr, GGML_TYPE_F16, 0, + k_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_F16, 1, + v_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, true, nullptr, GGML_TYPE_Q4_0, 0, + k_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q4_0, 1, + v_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, true, nullptr, GGML_TYPE_Q8_0, 0, + k_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q8_0, 1, + v_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } + } + for (int i = 0; i < n_gqa_; i++) { + block_lse_[batch_id][block_idx][head_id * n_gqa_ + i] = + thread_local_attn_lse_[thread_id][i]; + } + int cur_batch_idx = thread_cur_head_idx_[thread_id].first; + int cur_head_id = thread_cur_head_idx_[thread_id].second; + if (batch_id == cur_batch_idx && head_id == cur_head_id) { + for (int i = 0; i < n_gqa_; i++) { + float new_attn_lse = + thread_local_cur_attn_lse_[thread_id][i] + + std::log( + 1.0 + + std::exp(thread_local_attn_lse_[thread_id][i] - + thread_local_cur_attn_lse_[thread_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + thread_local_cur_output_fp32_[thread_id] + [i * config_.head_dim + + j] += + thread_local_output_fp32_[thread_id] + [i * config_.head_dim + j]; + } + thread_local_cur_attn_lse_[thread_id][i] = new_attn_lse; + } + } else { + if (cur_batch_idx != -1) { + mutex_[cur_batch_idx][cur_head_id]->lock(); + for (int i = 0; i < n_gqa_; i++) { + if (std::abs(attn_lse_[cur_batch_idx][cur_head_id][i]) < + 1e-6) { + attn_lse_[cur_batch_idx][cur_head_id][i] = + thread_local_cur_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] = + thread_local_cur_output_fp32_ + [thread_id] + [i * config_.head_dim + j]; + } + continue; + } + float new_attn_lse = + attn_lse_[cur_batch_idx][cur_head_id][i] + + std::log( + 1.0 + + std::exp( + thread_local_cur_attn_lse_[thread_id][i] - + attn_lse_[cur_batch_idx][cur_head_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + output_fp32_[cur_batch_idx][cur_head_id].data() + + i * config_.head_dim, + std::exp(attn_lse_[cur_batch_idx][cur_head_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] += + thread_local_cur_output_fp32_ + [thread_id][i * config_.head_dim + j]; + } + attn_lse_[cur_batch_idx][cur_head_id][i] = new_attn_lse; + } + mutex_[cur_batch_idx][cur_head_id]->unlock(); + } + thread_cur_head_idx_[thread_id].first = batch_id; + thread_cur_head_idx_[thread_id].second = head_id; + for (int i = 0; i < n_gqa_; i++) { + thread_local_cur_attn_lse_[thread_id][i] = + thread_local_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + thread_local_cur_output_fp32_ + [thread_id][i * config_.head_dim + j] = + thread_local_output_fp32_[thread_id] + [i * config_.head_dim + + j]; + } + } + } + }, + // Merge the results of the remaining blocks. + [&](int thread_id) { + int cur_batch_idx = thread_cur_head_idx_[thread_id].first; + int cur_head_id = thread_cur_head_idx_[thread_id].second; + if (cur_head_id != -1) { + mutex_[cur_batch_idx][cur_head_id]->lock(); + for (int i = 0; i < n_gqa_; i++) { + float new_attn_lse; + if (std::abs(attn_lse_[cur_batch_idx][cur_head_id][i]) < + 1e-6) { + attn_lse_[cur_batch_idx][cur_head_id][i] = + thread_local_cur_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] = + thread_local_cur_output_fp32_ + [thread_id] + [i * config_.head_dim + j]; + } + continue; + } + new_attn_lse = + attn_lse_[cur_batch_idx][cur_head_id][i] + + std::log( + 1.0 + + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + attn_lse_[cur_batch_idx][cur_head_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + output_fp32_[cur_batch_idx][cur_head_id].data() + + i * config_.head_dim, + std::exp(attn_lse_[cur_batch_idx][cur_head_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] += + thread_local_cur_output_fp32_[thread_id] + [i * config_.head_dim + + j]; + } + attn_lse_[cur_batch_idx][cur_head_id][i] = new_attn_lse; + } + mutex_[cur_batch_idx][cur_head_id]->unlock(); + } + }); + + for (int i = 0; i < batch_size; i++) { + for (int j = 0; j < max_block_num_after_retrieval_; j++) { + int block_idx = block_table_after_retrieval_[i][j]; + for (int k = 0; k < config_.q_head_num; k++) { + attn_sparsity[i * config_.q_head_num + k] += + std::exp(block_lse_[i][block_idx][k] - + attn_lse_[i][k / n_gqa_][k % n_gqa_]); + } + } + } + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + // printf("layer %d time of calculating sparsity: %f s\n", layer_id_, + // diff.count()); +} + +void KVCache::attn_initialize_kvhead_(int batch_size, int layer_idx, + int *block_table, int &max_block_num, + int *cache_seqlens) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + // initialize output_fp32_ and attn_lse_ + for (int i = 0; i < config_.kv_head_num; i++) { + for (int j = 0; j < n_gqa_ * config_.head_dim; j++) { + output_fp32_[batch_idx][i][j] = 0; + } + for (int j = 0; j < n_gqa_; j++) { + attn_lse_[batch_idx][i][j] = 0; + } + } + + // clear top_similar_block_ + while (!top_similar_block_[batch_idx].empty()) + top_similar_block_[batch_idx].pop(); + } + + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + cache_seqlens_[batch_idx] = cache_seqlens[batch_idx]; + for (int i = 0; i < max_block_num; i++) { + for (int j = 0; j < config_.kv_head_num; j++) { + block_table_before_retrieval_kvhead_[batch_idx][i][j] = + block_table[batch_idx * max_block_num + i]; + block_similar_kv_head_[batch_idx][i][j] = 0; + } + } + } + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + // printf("layer %d time of initializing attn: %f s\n", layer_idx, + // std::chrono::duration(end - start).count()); +} +void KVCache::retrieval_kvcache_kvhead_(const uint16_t *q_in_data, + int init_block_num, int local_block_num, + int pick_block_num, int q_len, + int generate_token_idx, int batch_size, + int layer_idx, int *cache_seqlens, + int &max_block_num, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + max_block_num_after_retrieval_ = 0; + if (pick_block_num != -1 && + (generate_token_idx % config_.token_step != 0 || + (layer_idx % config_.layer_step != config_.layer_offset))) { + + if (selected_blocks_num_history_[(layer_idx - config_.layer_offset) / + config_.layer_step] == 0) { + max_block_num_after_retrieval_ = max_block_num; + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + for (int i = 0; i < max_block_num; i++) { + for (int j = 0; j < config_.kv_head_num; j++) { + block_table_after_retrieval_kvhead_[batch_idx][i][j] = + block_table_before_retrieval_kvhead_[batch_idx][i] + [j]; + } + } + } + } else { + + max_block_num_after_retrieval_ = selected_blocks_num_history_ + [(layer_idx - config_.layer_offset) / config_.layer_step]; + + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + for (int i = 0; i < max_block_num_after_retrieval_; i++) { + for (int j = 0; j < config_.kv_head_num; j++) { + block_table_after_retrieval_kvhead_[batch_idx][i][j] = + selected_blocks_history_kvhead_ + [(layer_idx - config_.layer_offset) / + config_.layer_step][batch_idx][i][j]; + } + } + + if (cache_seqlens[batch_idx] % config_.block_len == 1) { + selected_blocks_num_history_[(layer_idx - + config_.layer_offset) / + config_.layer_step] += 1; + int x = + selected_blocks_num_history_[(layer_idx - + config_.layer_offset) / + config_.layer_step]; + for (int i = 0; i < config_.kv_head_num; i++) { + int last_block_idx = + block_table_before_retrieval_kvhead_ + [batch_idx][cache_seqlens[batch_idx] / + config_.block_len][i]; + selected_blocks_history_kvhead_[(layer_idx - + config_.layer_offset) / + config_.layer_step] + [batch_idx][x - 1][i] = + last_block_idx; + block_table_after_retrieval_kvhead_[batch_idx][x - 1] + [i] = last_block_idx; + } + } + cache_seqlens_[batch_idx] = std::min( + cache_seqlens_[batch_idx], + (cache_seqlens_[batch_idx] % config_.block_len) + + (init_block_num + pick_block_num + local_block_num) * + config_.block_len); + } + } + } else if (pick_block_num != -1) { + max_block_num_after_retrieval_ = + std::min(max_block_num, + init_block_num + pick_block_num + local_block_num + 1); + calculate_block_similarity_kvhead_(q_in_data, batch_size, layer_idx, + q_len, max_block_num, cache_seqlens, + init_block_num, local_block_num, + pick_block_num, backend); + select_block_kvhead_(batch_size, layer_idx, max_block_num, + init_block_num, local_block_num, pick_block_num); + } else { + selected_blocks_num_history_[(layer_idx - config_.layer_offset) / + config_.layer_step] = 0; + max_block_num_after_retrieval_ = max_block_num; + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + for (int i = 0; i < max_block_num; i++) { + for (int j = 0; j < config_.kv_head_num; j++) { + block_table_after_retrieval_kvhead_[batch_idx][i][j] = + block_table_before_retrieval_kvhead_[batch_idx][i][j]; + } + } + } + } + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + // printf("layer %d time of retrieval kvcache: %f s\n", layer_idx, + // std::chrono::duration(end - start).count()); +} +void KVCache::calculate_sparsity_kvhead_(const uint16_t *q_in_data, + float *attn_sparsity, int batch_size, + int max_block_num, int *block_table, + int *cache_seqlens, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + seq_len_ = config_.block_len; + backend->do_work_stealing_job( + batch_size * config_.kv_head_num * max_block_num, + [&](int thread_id) { + thread_cur_head_idx_[thread_id].first = -1; + thread_cur_head_idx_[thread_id].second = -1; + }, + [&](int task_id) { + int batch_id = task_id / (config_.kv_head_num * max_block_num); + int head_id = (task_id % (config_.kv_head_num * max_block_num)) / + max_block_num; + int block_id = task_id % max_block_num; + int thread_id = Backend::thread_local_id; + // If the block is out of the sequence length, skip it. + if (cache_seqlens[batch_id] / config_.block_len < block_id) { + return; + } + int block_idx = block_table[batch_id * max_block_num + block_id]; + if (cache_seqlens_[batch_id] / config_.block_len == block_id) { + int seq_len = cache_seqlens_[batch_id] % config_.block_len; + if (seq_len == 0) + return; + + // Prepare the attention mask for the last block. + int full_blocks = seq_len / 8; + int remaining_bits = seq_len % 8; + + // Fill full blocks with 1s + for (int i = 0; i < full_blocks; ++i) { + thread_local_attn_mask_[thread_id][i] = 0xFF; + } + // Fill the remaining bits in the next block + if (remaining_bits > 0 && full_blocks < seq_len_ / 8) { + thread_local_attn_mask_[thread_id][full_blocks] = + (1 << remaining_bits) - 1; + } else { + thread_local_attn_mask_[thread_id][full_blocks] = 0; + } + + for (int i = full_blocks + 1; i < seq_len_ / 8; ++i) { + thread_local_attn_mask_[thread_id][i] = 0; + } + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, GGML_TYPE_F16, + (void *)&q_in_data[batch_id * config_.kv_head_num * + n_gqa_ * config_.head_dim + + head_id * n_gqa_ * config_.head_dim], + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_F16, 0, + k_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_F16, 1, + v_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_Q4_0, 0, + k_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q4_0, 1, + v_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, false, + thread_local_attn_mask_[thread_id].data(), + GGML_TYPE_Q8_0, 0, + k_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q8_0, 1, + v_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } + } else { + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, GGML_TYPE_F16, + (void *)&q_in_data[batch_id * config_.kv_head_num * + n_gqa_ * config_.head_dim + + head_id * n_gqa_ * config_.head_dim], + seq_len_, 0, true, nullptr, GGML_TYPE_F16, 0, + k_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_F16, 1, + v_cache_fp16_[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, true, nullptr, GGML_TYPE_Q4_0, 0, + k_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q4_0, 1, + v_cache_q4[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + attn_with_kvcache_one_block_( + config_.head_dim, + config_.q_head_num / config_.kv_head_num, + GGML_TYPE_Q8_0, q_q8_0_[batch_id][head_id].data(), + seq_len_, 0, true, nullptr, GGML_TYPE_Q8_0, 0, + k_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, GGML_TYPE_Q8_0, 1, + v_cache_q8[layer_id_][head_id][block_idx].data(), 0, + nullptr, nullptr, + thread_local_attn_score_[thread_id].data(), + thread_local_output_q8_0_[thread_id].data(), + thread_local_attn_lse_[thread_id].data(), + thread_local_draft_[thread_id].data(), nullptr, + cos_.data(), sin_.data()); + dequantize_row_q8_0( + thread_local_output_q8_0_[thread_id].data(), + thread_local_output_fp32_[thread_id].data(), + n_gqa_ * config_.head_dim); + } + } + for (int i = 0; i < n_gqa_; i++) { + block_lse_[batch_id][block_idx][head_id * n_gqa_ + i] = + thread_local_attn_lse_[thread_id][i]; + } + int cur_batch_idx = thread_cur_head_idx_[thread_id].first; + int cur_head_id = thread_cur_head_idx_[thread_id].second; + if (batch_id == cur_batch_idx && head_id == cur_head_id) { + for (int i = 0; i < n_gqa_; i++) { + float new_attn_lse = + thread_local_cur_attn_lse_[thread_id][i] + + std::log( + 1.0 + + std::exp(thread_local_attn_lse_[thread_id][i] - + thread_local_cur_attn_lse_[thread_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + thread_local_cur_output_fp32_[thread_id] + [i * config_.head_dim + + j] += + thread_local_output_fp32_[thread_id] + [i * config_.head_dim + j]; + } + thread_local_cur_attn_lse_[thread_id][i] = new_attn_lse; + } + } else { + if (cur_batch_idx != -1) { + mutex_[cur_batch_idx][cur_head_id]->lock(); + for (int i = 0; i < n_gqa_; i++) { + if (std::abs(attn_lse_[cur_batch_idx][cur_head_id][i]) < + 1e-6) { + attn_lse_[cur_batch_idx][cur_head_id][i] = + thread_local_cur_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] = + thread_local_cur_output_fp32_ + [thread_id] + [i * config_.head_dim + j]; + } + continue; + } + float new_attn_lse = + attn_lse_[cur_batch_idx][cur_head_id][i] + + std::log( + 1.0 + + std::exp( + thread_local_cur_attn_lse_[thread_id][i] - + attn_lse_[cur_batch_idx][cur_head_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + output_fp32_[cur_batch_idx][cur_head_id].data() + + i * config_.head_dim, + std::exp(attn_lse_[cur_batch_idx][cur_head_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] += + thread_local_cur_output_fp32_ + [thread_id][i * config_.head_dim + j]; + } + attn_lse_[cur_batch_idx][cur_head_id][i] = new_attn_lse; + } + mutex_[cur_batch_idx][cur_head_id]->unlock(); + } + thread_cur_head_idx_[thread_id].first = batch_id; + thread_cur_head_idx_[thread_id].second = head_id; + for (int i = 0; i < n_gqa_; i++) { + thread_local_cur_attn_lse_[thread_id][i] = + thread_local_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + thread_local_cur_output_fp32_ + [thread_id][i * config_.head_dim + j] = + thread_local_output_fp32_[thread_id] + [i * config_.head_dim + + j]; + } + } + } + }, + // Merge the results of the remaining blocks. + [&](int thread_id) { + int cur_batch_idx = thread_cur_head_idx_[thread_id].first; + int cur_head_id = thread_cur_head_idx_[thread_id].second; + if (cur_head_id != -1) { + mutex_[cur_batch_idx][cur_head_id]->lock(); + for (int i = 0; i < n_gqa_; i++) { + float new_attn_lse; + if (std::abs(attn_lse_[cur_batch_idx][cur_head_id][i]) < + 1e-6) { + attn_lse_[cur_batch_idx][cur_head_id][i] = + thread_local_cur_attn_lse_[thread_id][i]; + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] = + thread_local_cur_output_fp32_ + [thread_id] + [i * config_.head_dim + j]; + } + continue; + } + new_attn_lse = + attn_lse_[cur_batch_idx][cur_head_id][i] + + std::log( + 1.0 + + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + attn_lse_[cur_batch_idx][cur_head_id][i])); + ggml_vec_scale_f32( + config_.head_dim, + output_fp32_[cur_batch_idx][cur_head_id].data() + + i * config_.head_dim, + std::exp(attn_lse_[cur_batch_idx][cur_head_id][i] - + new_attn_lse)); + ggml_vec_scale_f32( + config_.head_dim, + thread_local_cur_output_fp32_[thread_id].data() + + i * config_.head_dim, + std::exp(thread_local_cur_attn_lse_[thread_id][i] - + new_attn_lse)); + for (int j = 0; j < config_.head_dim; j++) { + output_fp32_[cur_batch_idx][cur_head_id] + [i * config_.head_dim + j] += + thread_local_cur_output_fp32_[thread_id] + [i * config_.head_dim + + j]; + } + attn_lse_[cur_batch_idx][cur_head_id][i] = new_attn_lse; + } + mutex_[cur_batch_idx][cur_head_id]->unlock(); + } + }); + + for (int i = 0; i < batch_size; i++) { + for (int j = 0; j < max_block_num_after_retrieval_; j++) { + for (int k = 0; k < config_.q_head_num; k++) { + int block_idx = + block_table_after_retrieval_kvhead_[i][j][k / n_gqa_]; + attn_sparsity[i * config_.q_head_num + k] += + std::exp(block_lse_[i][block_idx][k] - + attn_lse_[i][k / n_gqa_][k % n_gqa_]); + } + } + } + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + // printf("layer %d time of calculating sparsity: %f s\n", layer_id_, + // diff.count()); +} +void KVCache::calculate_block_similarity_kvhead_( + const uint16_t *q_in_data, int batch_size, int layer_idx, int q_len, + int max_block_num, int *cache_seqlens, int init_block_num, + int local_block_num, int pick_block_num, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + backend->do_work_stealing_job( + batch_size * max_block_num, nullptr, + [&](int task_id) { + int batch_id = task_id / max_block_num; + int block_id = task_id % max_block_num; + int seq_len = cache_seqlens_[batch_id]; + + if (block_id < init_block_num || + block_id >= (seq_len / config_.block_len) - local_block_num) { + return; + } + int block_idx = + block_table_before_retrieval_kvhead_[batch_id][block_id][0]; + + for (int head_id = 0; head_id < config_.q_head_num; head_id++) { + for (int i = 0; i < config_.head_dim; i++) { + float q_i = 0, qa_i = std::numeric_limits::lowest(); + for (int q_id = 0; q_id < q_len; q_id++) { + q_i += GGML_FP16_TO_FP32( + q_in_data[batch_id * q_len * config_.q_head_num * + config_.head_dim + + q_id * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + i]); + } + q_i /= q_len; + for (int anchor_id = 0; anchor_id < config_.anchor_num; + anchor_id++) { + qa_i = std::max( + qa_i, + GGML_FP16_TO_FP32( + anchor_[layer_idx * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + anchor_id * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + i]) * + q_i); + } + block_similar_kv_head_[batch_id][block_id] + [head_id / n_gqa_] += qa_i; + } + } + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + // printf("layer %d time of calculating similarity: %f s\n", layer_idx, + // diff.count()); +} +void KVCache::select_block_kvhead_(int batch_size, int layer_idx, + int max_block_num, int init_block_num, + int local_block_num, int pick_block_num) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + for (int batch_idx = 0; batch_idx < batch_size; batch_idx++) { + int cache_len_after_retrieval = 0; + if (cache_seqlens_[batch_idx] / config_.block_len <= + init_block_num + pick_block_num + local_block_num) { + selected_blocks_num_history_[(layer_idx - config_.layer_offset) / + config_.layer_step] = 0; + for (int i = 0; i < max_block_num; i++) { + for (int j = 0; j < config_.kv_head_num; j++) { + block_table_after_retrieval_kvhead_[batch_idx][i][j] = + block_table_before_retrieval_kvhead_[batch_idx][i][j]; + } + } + continue; + } + for (int head_id = 0; head_id < config_.kv_head_num; head_id++) { + + for (int block_id = init_block_num; + block_id < (cache_seqlens_[batch_idx] / config_.block_len) - + local_block_num; + block_id++) { + + top_similar_block_[batch_idx].push(std::make_pair( + block_similar_kv_head_[batch_idx][block_id][head_id], + block_table_before_retrieval_kvhead_[batch_idx][block_id] + [head_id])); + if (top_similar_block_[batch_idx].size() > pick_block_num) { + top_similar_block_[batch_idx].pop(); + } + } + + int i = 0; + for (; i < init_block_num; i++) { + block_table_after_retrieval_kvhead_[batch_idx][i][head_id] = + block_table_before_retrieval_kvhead_[batch_idx][i][head_id]; + } + while (!top_similar_block_[batch_idx].empty()) { + block_table_after_retrieval_kvhead_[batch_idx][i][head_id] = + top_similar_block_[batch_idx].top().second; + top_similar_block_[batch_idx].pop(); + i++; + } + for (; i < init_block_num + pick_block_num + local_block_num; i++) { + block_table_after_retrieval_kvhead_[batch_idx][i][head_id] = + block_table_before_retrieval_kvhead_ + [batch_idx] + [(cache_seqlens_[batch_idx] / config_.block_len) - + local_block_num + i - init_block_num - pick_block_num] + [head_id]; + } + if (cache_seqlens_[batch_idx] % config_.block_len != 0) { + block_table_after_retrieval_kvhead_[batch_idx][i][head_id] = + block_table_before_retrieval_kvhead_[batch_idx][( + cache_seqlens_[batch_idx] / config_.block_len)] + [head_id]; + cache_len_after_retrieval = + (cache_seqlens_[batch_idx] % config_.block_len) + + i * config_.block_len; + i++; + } else { + cache_len_after_retrieval = + (cache_seqlens_[batch_idx] % config_.block_len) + + i * config_.block_len; + } + for (int j = 0; j < i; j++) { + selected_blocks_history_kvhead_ + [(layer_idx - config_.layer_offset) / config_.layer_step] + [batch_idx][j][head_id] = + block_table_after_retrieval_kvhead_[batch_idx][j] + [head_id]; + } + } + cache_seqlens_[batch_idx] = cache_len_after_retrieval; + selected_blocks_num_history_[(layer_idx - config_.layer_offset) / + config_.layer_step] = + (cache_len_after_retrieval + config_.block_len - 1) / + config_.block_len; + } + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + // printf("layer %d time of selecting block: %f s\n", layer_idx, + // diff.count()) +} + +void KVCache::get_attn_sparsity(const ggml_fp16_t *q_in, float *attn_sparsity, + int layer_idx, int generate_token_idx, + int q_len, int batch_size, int max_block_num, + int *block_table, int *cache_seqlens, + int *block_table_origin, + int *cache_seqlens_origin, + int max_block_num_origin, int topk, int local, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + layer_id_ = layer_idx; + int thread_num = backend->get_thread_num(); + batch_size = 1; + + const uint16_t *q_in_data = const_cast(q_in); + + quantize_q_(q_in_data, batch_size); + if (config_.retrieval_type == RetrievalType::LAYER) { + attn_initialize_layer_(batch_size, layer_idx, block_table, + max_block_num, cache_seqlens); + retrieval_kvcache_layer_(q_in_data, 1, local, topk, q_len, + generate_token_idx, batch_size, layer_idx, + cache_seqlens, max_block_num, backend); + calculate_sparsity_layer_(q_in_data, attn_sparsity, batch_size, + max_block_num_origin, block_table_origin, + cache_seqlens_origin, backend); + } else if (config_.retrieval_type == RetrievalType::KVHEAD) { + attn_initialize_kvhead_(batch_size, layer_idx, block_table, + max_block_num, cache_seqlens); + retrieval_kvcache_kvhead_(q_in_data, 1, local, topk, q_len, + generate_token_idx, batch_size, layer_idx, + cache_seqlens, max_block_num, backend); + calculate_sparsity_kvhead_(q_in_data, attn_sparsity, batch_size, + max_block_num_origin, block_table_origin, + cache_seqlens_origin, backend); + } +} + +void KVCache::attn_with_kvcache_one_block_( + int head_dim, int bsz, + ggml_type q_type, // GGML data type of `Q`, only supports fp16 and q8_0 + // [bsz, head_dim] + // Quantization is always on the head_dim dimension (per_token). If + // head_dim % 32 != 0, an error will be raised. The size must be bsz * + // head_dim/32 * qtype_size. + const void *q, + + int past_kv_len, int past_kv_offset, + bool is_full_attn, // true indicates a full 1 mask + // If is_full_attn = false, a bit matrix representing the mask is + // passed. [bsz, past_kv_len] + const uint8_t *attn_mask, + + ggml_type k_type, // GGML data type of `K Cache`, only supports fp16, + // q4_0, q8_0 + int k_quant_type, // 0 for per_token, 1 for per_channel, others raise an + // error + // [seq_len, head_dim] + // If quant_type == 0, head_dim % 32 must be 0. + // If quant_type == 1, seq_len % 32 must be 0. + const void *k_cache, + + // k_anchor_type must be fp16 + int num_k_anchor, // num_k_anchor == 0 indicates no anchor + // [num_k_anchor, head_dim] + const void *k_cache_anchors, + // Each token is associated with the nearest previous position's anchor, + // with the same distance. + const int *k_cache_anchor_pos, + + // v_cache similar to k_cache + ggml_type v_type, int v_quant_type, + // [head_dim, seq_len] + const void *v_cache, int num_v_anchor, const void *v_cache_anchors, + const int *v_cache_anchor_pos, + + // Pre-allocated buffer for intermediate calculations [bsz, + // past_kv_len]. No malloc is performed inside this function. + float *attn_score, + + // Output: [bsz, head_dim], with the same type as q_type + void *output, + // [bsz] + float *lse, + + // Pre-allocated temporary buffer with sufficient size: + // (2 * bsz * past_kv_len + 6 * bsz * head_dim + 2 * past_kv_len * + // head_dim + past_kv_len * head_dim / 32) bytes. + void *draft, + + // Apply rotary embedding online + const int *rotary_angle, const void *rotary_cos, const void *rotary_sin + // rotary_cos=None, + // rotary_sin=None, + // cache_seqlens: Optional[Union[(int, torch.Tensor)]] = None, + // cache_batch_idx: Optional[torch.Tensor] = None, + // rotary_interleaved=True, + + // // Not supported for now + // window_size=(-1, -1), # -1 means infinite context window + // alibi_slopes=None, +) { + assert(head_dim % 32 == 0); + assert(k_quant_type == 0); + assert(v_quant_type == 1); + assert(q_type == GGML_TYPE_F16 || q_type == GGML_TYPE_Q8_0); + if (q_type == GGML_TYPE_F16) { + assert(k_type == GGML_TYPE_F16); + assert(v_type == GGML_TYPE_F16); + + // attn = q * k + q * k_anchor + // TODO: anchor + assert(num_k_anchor == 0); + + if (rotary_angle != nullptr) { + ggml_fp16_t *k_cache_with_rope_fp16 = + (reinterpret_cast(draft) + + sizeof(block_q8_0) * bsz * past_kv_len / QK8_0 + + sizeof(float) * bsz * head_dim); + // dequant k_cache and apply rope + // k_rope(i) = k(i) * cos(i) - k(i+l) * sin(i) + // k_rope(i+l) = k(i+l) * cos(i+l) + k(i) * sin(i) + + // k(i)cos(i) -> k_rope(i) + // k(i)sin(i+l) -> k_rope(i+l) + + // k(i)cos(i) -> k_rope(i) + // -k(i)sin(i-l) -> k_rope(i-l) + + std::vector block_fp32(32); + for (int k = 0; k < past_kv_len; k++) { + int angle = rotary_angle[k]; + for (int l = 0; l < head_dim / 32; l++) { + for (int m = 0; m < 32; m++) { + float x = GGML_FP16_TO_FP32(( + (ggml_fp16_t *)k_cache)[k * head_dim + l * 32 + m]); + float sin_val = GGML_FP16_TO_FP32( + ((ggml_fp16_t *) + rotary_sin)[angle * head_dim + l * 32 + m]); + float cos_val = GGML_FP16_TO_FP32( + ((ggml_fp16_t *) + rotary_cos)[angle * head_dim + l * 32 + m]); + + if (l * 32 + m < head_dim / 2) { + k_cache_with_rope_fp16[k * head_dim + l * 32 + m] = + GGML_FP32_TO_FP16(x * cos_val); + k_cache_with_rope_fp16[k * head_dim + l * 32 + m + + head_dim / 2] = + GGML_FP32_TO_FP16(-x * sin_val); + } else { + k_cache_with_rope_fp16[k * head_dim + l * 32 + m] = + GGML_FP32_TO_FP16( + GGML_FP16_TO_FP32( + k_cache_with_rope_fp16[k * head_dim + + l * 32 + m]) + + x * sin_val); + k_cache_with_rope_fp16[k * head_dim + l * 32 + m - + head_dim / 2] = + GGML_FP32_TO_FP16( + GGML_FP16_TO_FP32( + k_cache_with_rope_fp16[k * head_dim + + l * 32 + m - + head_dim / 2]) - + x * cos_val); + } + } + } + } + + llamafile_sgemm(past_kv_len, bsz, head_dim, + (ggml_fp16_t *)k_cache_with_rope_fp16, head_dim, + (ggml_fp16_t *)q, head_dim, attn_score, past_kv_len, + 0, 1, GGML_TASK_TYPE_COMPUTE, k_type, GGML_TYPE_F16, + GGML_TYPE_F32, GGML_PREC_DEFAULT); + } else { + bool ok = llamafile_sgemm( + past_kv_len, bsz, head_dim, (ggml_fp16_t *)k_cache, head_dim, + (ggml_fp16_t *)q, head_dim, attn_score, past_kv_len, 0, 1, + GGML_TASK_TYPE_COMPUTE, k_type, GGML_TYPE_F16, GGML_TYPE_F32, + GGML_PREC_DEFAULT); + + if (!ok) { + printf("llamafile_sgemm failed\n"); + } + } + // attn = attn * scale + float scale_factor = 1.0 / std::sqrt(float(head_dim)); + ggml_vec_scale_f32(bsz * past_kv_len, attn_score, scale_factor); + + // attn = attn & mask + if (!is_full_attn) { + for (int i = 0; i < bsz; i++) { + for (int j = 0; j < past_kv_len; j++) { + int index = i * past_kv_len + j; + if (!(attn_mask[j / 8] & (1 << (j % 8)))) { + attn_score[index] = + std::numeric_limits::lowest(); + } + } + } + } + + // attn = softmax(attn) + for (int i = 0; i < bsz; i++) { + float sum_exp = 0; + for (int j = 0; j < past_kv_len; j++) { + attn_score[i * past_kv_len + j] = + std::exp(attn_score[i * past_kv_len + j]); + sum_exp += attn_score[i * past_kv_len + j]; + } + for (int j = 0; j < past_kv_len; j++) { + attn_score[i * past_kv_len + j] /= sum_exp; + } + if (lse != nullptr) { + lse[i] = std::log(sum_exp); + } + } + + // output = attn * v + attn * v_anchor + // std::vector sum(bsz * head_dim); + float *sum = reinterpret_cast(reinterpret_cast(draft) + + sizeof(block_q8_0) * bsz * + past_kv_len / QK8_0); + + // float* attn_score_fp16(bsz, past_kv_len) + ggml_fp16_t *attn_score_fp16 = (reinterpret_cast( + reinterpret_cast(draft) + + sizeof(block_q8_0) * bsz * past_kv_len / QK8_0 + + sizeof(float) * bsz * head_dim)); + + for (int i = 0; i < bsz * past_kv_len; i++) { + attn_score_fp16[i] = GGML_FP32_TO_FP16(attn_score[i]); + } + + // TODO: anchor + assert(num_v_anchor == 0); + bool ok = llamafile_sgemm( + head_dim, bsz, past_kv_len, (ggml_fp16_t *)v_cache, past_kv_len, + (ggml_fp16_t *)attn_score_fp16, past_kv_len, sum, head_dim, 0, 1, + GGML_TASK_TYPE_COMPUTE, v_type, GGML_TYPE_F16, GGML_TYPE_F32, + GGML_PREC_DEFAULT); + if (!ok) { + printf("llamafile_sgemm failed\n"); + } + + // copy to output + for (int i = 0; i < bsz; i++) { + for (int j = 0; j < head_dim; j++) { + ((float *)output)[i * head_dim + j] = sum[i * head_dim + j]; + } + } + } else { + assert(k_type == GGML_TYPE_Q4_0 || k_type == GGML_TYPE_Q8_0); + assert(v_type == GGML_TYPE_Q4_0 || v_type == GGML_TYPE_Q8_0); + + // attn = q * k + q * k_anchor + // TODO: anchor + assert(num_k_anchor == 0); + + if (rotary_angle != nullptr) { + ggml_fp16_t *k_cache_with_rope_fp16 = + (reinterpret_cast(draft) + + sizeof(block_q8_0) * bsz * past_kv_len / QK8_0 + + sizeof(float) * bsz * head_dim); + block_q4_0 *k_cache_with_rope_q4 = + (reinterpret_cast(draft) + + sizeof(block_q8_0) * bsz * past_kv_len / QK8_0 + + sizeof(float) * bsz * head_dim) + + sizeof(ggml_fp16_t) * bsz * head_dim; + // dequant k_cache and apply rope + // k_rope(i) = k(i) * cos(i) - k(i+l) * sin(i) + // k_rope(i+l) = k(i+l) * cos(i+l) + k(i) * sin(i) + + // k(i)cos(i) -> k_rope(i) + // k(i)sin(i+l) -> k_rope(i+l) + + // k(i)cos(i) -> k_rope(i) + // -k(i)sin(i-l) -> k_rope(i-l) + + std::vector block_fp32(32); + for (int k = 0; k < past_kv_len; k++) { + int angle = rotary_angle[k]; + for (int l = 0; l < head_dim / 32; l++) { + block_q4_0 block = + ((block_q4_0 *)k_cache)[k * head_dim / 32 + l]; + dequantize_row_q4_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + float sin_val = GGML_FP16_TO_FP32( + ((ggml_fp16_t *) + rotary_sin)[angle * head_dim + l * 32 + m]); + float cos_val = GGML_FP16_TO_FP32( + ((ggml_fp16_t *) + rotary_cos)[angle * head_dim + l * 32 + m]); + + if (l * 32 + m < head_dim / 2) { + k_cache_with_rope_fp16[k * head_dim + l * 32 + m] = + GGML_FP32_TO_FP16(block_fp32[m] * cos_val); + k_cache_with_rope_fp16[k * head_dim + l * 32 + m + + head_dim / 2] = + GGML_FP32_TO_FP16(-block_fp32[m] * sin_val); + } else { + k_cache_with_rope_fp16[k * head_dim + l * 32 + m] += + GGML_FP32_TO_FP16(block_fp32[m] * sin_val); + k_cache_with_rope_fp16[k * head_dim + l * 32 + m - + head_dim / 2] -= + GGML_FP32_TO_FP16(block_fp32[m] * cos_val); + } + } + } + } + // quantize k_cache_with_rope_fp16 + for (int k = 0; k < past_kv_len; k++) { + for (int l = 0; l < head_dim / 32; l++) { + for (int m = 0; m < 32; m++) { + block_fp32[m] = GGML_FP16_TO_FP32( + k_cache_with_rope_fp16[k * head_dim + l * 32 + m]); + } + quantize_row_q4_0( + block_fp32.data(), + &k_cache_with_rope_q4[k * head_dim / 32 + l], 32); + } + } + + llamafile_sgemm(past_kv_len, bsz, head_dim / 32, + (block_q4_0 *)k_cache_with_rope_q4, head_dim / 32, + (block_q8_0 *)q, head_dim / 32, attn_score, + past_kv_len, 0, 1, GGML_TASK_TYPE_COMPUTE, k_type, + GGML_TYPE_Q8_0, GGML_TYPE_F32, GGML_PREC_DEFAULT); + } else { + llamafile_sgemm(past_kv_len, bsz, head_dim / 32, + (block_q4_0 *)k_cache, head_dim / 32, + (block_q8_0 *)q, head_dim / 32, attn_score, + past_kv_len, 0, 1, GGML_TASK_TYPE_COMPUTE, k_type, + GGML_TYPE_Q8_0, GGML_TYPE_F32, GGML_PREC_DEFAULT); + } + + // attn = attn * scale + float scale_factor = 1.0 / std::sqrt(float(head_dim)); + ggml_vec_scale_f32(bsz * past_kv_len, attn_score, scale_factor); + + // attn = attn & mask + if (!is_full_attn) { + for (int i = 0; i < bsz; i++) { + for (int j = 0; j < past_kv_len; j++) { + int index = i * past_kv_len + j; + if (!(attn_mask[j / 8] & (1 << (j % 8)))) { + attn_score[index] = + std::numeric_limits::lowest(); + } + } + } + } + + // attn = softmax(attn) + for (int i = 0; i < bsz; i++) { + float sum_exp = 0; + for (int j = 0; j < past_kv_len; j++) { + attn_score[i * past_kv_len + j] = + std::exp(attn_score[i * past_kv_len + j]); + sum_exp += attn_score[i * past_kv_len + j]; + } + for (int j = 0; j < past_kv_len; j++) { + attn_score[i * past_kv_len + j] /= sum_exp; + } + if (lse != nullptr) { + lse[i] = std::log(sum_exp); + } + } + + // output = attn * v + attn * v_anchor + // std::vector attn_q8_0(bsz * past_kv_len / QK8_0); + block_q8_0 *attn_q8_0 = reinterpret_cast(draft); + quantize_row_q8_0(attn_score, attn_q8_0, bsz * past_kv_len); + // std::vector sum(bsz * head_dim); + float *sum = reinterpret_cast(reinterpret_cast(draft) + + sizeof(block_q8_0) * bsz * + past_kv_len / QK8_0); + // TODO: anchor + assert(num_v_anchor == 0); + llamafile_sgemm(head_dim, bsz, past_kv_len / 32, (block_q4_0 *)v_cache, + past_kv_len / 32, attn_q8_0, past_kv_len / 32, sum, + head_dim, 0, 1, GGML_TASK_TYPE_COMPUTE, v_type, + GGML_TYPE_Q8_0, GGML_TYPE_F32, GGML_PREC_DEFAULT); + + quantize_row_q8_0(sum, (block_q8_0 *)output, bsz * head_dim); + } +} diff --git a/ktransformers/ktransformers_ext/operators/kvcache/kvcache_load_dump.cpp b/ktransformers/ktransformers_ext/operators/kvcache/kvcache_load_dump.cpp new file mode 100644 index 0000000..eadf90f --- /dev/null +++ b/ktransformers/ktransformers_ext/operators/kvcache/kvcache_load_dump.cpp @@ -0,0 +1,123 @@ +/** + * @Description : + * @Author : Jianwei Dong + * @Date : 2024-08-26 22:47:06 + * @Version : 1.0.0 + * @LastEditors : Jianwei Dong + * @LastEditTime : 2024-08-26 22:47:06 + * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. + **/ + +#include "kvcache.h" +void KVCache::load_kvcache(std::string tensor_file_path, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + std::ifstream ifs_tensor(tensor_file_path, std::ios::binary); + if (!ifs_tensor) { + throw std::runtime_error("Failed to open tensor file"); + } + ifs_tensor.read(reinterpret_cast(&cache_total_len_), + sizeof(cache_total_len_)); + int past_block_num = + (cache_total_len_ + config_.block_len - 1) / config_.block_len; + printf("cache_total_len: %d, past_block_num: %d\n", cache_total_len_, + past_block_num); + for (int i = 0; i < config_.layer_num; ++i) { + past_block_num_[i] = past_block_num; + } + ifs_tensor.read(reinterpret_cast(anchor_.data()), + anchor_.size() * sizeof(ggml_fp16_t)); + for (int i = 0; i < config_.layer_num; ++i) { + for (int j = 0; j < config_.kv_head_num; ++j) { + for (int k = 0; k < past_block_num_[i]; ++k) { + if (config_.kv_type == GGML_TYPE_F16) { + ifs_tensor.read( + reinterpret_cast(k_cache_fp16_[i][j][k].data()), + k_cache_fp16_[i][j][k].size() * sizeof(ggml_fp16_t)); + ifs_tensor.read( + reinterpret_cast(v_cache_fp16_[i][j][k].data()), + v_cache_fp16_[i][j][k].size() * sizeof(ggml_fp16_t)); + } else if (config_.kv_type == GGML_TYPE_Q4_0) { + ifs_tensor.read( + reinterpret_cast(k_cache_q4[i][j][k].data()), + k_cache_q4[i][j][k].size() * sizeof(block_q4_0)); + ifs_tensor.read( + reinterpret_cast(v_cache_q4[i][j][k].data()), + v_cache_q4[i][j][k].size() * sizeof(block_q4_0)); + } + } + } + for (int k = 0; k < past_block_num_[i]; ++k) { + for (int l = 0; l < config_.block_len; l++) { + ifs_tensor.read( + reinterpret_cast(importance_[i][k][l].data()), + importance_[i][k][l].size() * sizeof(ggml_fp16_t)); + } + } + } + ifs_tensor.close(); + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + printf("time of load: %f s\n", diff.count()); +} +void KVCache::dump_kvcache(int *block_table, int cache_total_len, + std::string tensor_file_path, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + std::ofstream ofs(tensor_file_path, std::ios::binary); + printf("dump_kvcache: %s\n", tensor_file_path.c_str()); + if (!ofs.is_open()) { + std::cerr << "Cannot open file " << tensor_file_path << std::endl; + return; + } + ofs.write(reinterpret_cast(&cache_total_len), + sizeof(cache_total_len)); + int past_block_num = + (cache_total_len + config_.block_len - 1) / config_.block_len; + printf("cache_total_len: %d, past_block_num: %d\n", cache_total_len, + past_block_num); + ofs.write(reinterpret_cast(anchor_.data()), + anchor_.size() * sizeof(ggml_fp16_t)); + for (int i = 0; i < config_.layer_num; ++i) { + for (int j = 0; j < config_.kv_head_num; ++j) { + for (int k = 0; k < past_block_num; ++k) { + int block_idx = block_table[k]; + if (config_.kv_type == GGML_TYPE_F16) { + ofs.write(reinterpret_cast( + k_cache_fp16_[i][j][block_idx].data()), + k_cache_fp16_[i][j][block_idx].size() * + sizeof(ggml_fp16_t)); + ofs.write(reinterpret_cast( + v_cache_fp16_[i][j][block_idx].data()), + v_cache_fp16_[i][j][block_idx].size() * + sizeof(ggml_fp16_t)); + + } else if (config_.kv_type == GGML_TYPE_Q4_0) { + ofs.write(reinterpret_cast( + k_cache_q4[i][j][block_idx].data()), + k_cache_q4[i][j][block_idx].size() * + sizeof(block_q4_0)); + ofs.write(reinterpret_cast( + v_cache_q4[i][j][block_idx].data()), + v_cache_q4[i][j][block_idx].size() * + sizeof(block_q4_0)); + } + } + } + for (int k = 0; k < past_block_num; ++k) { + int block_idx = block_table[k]; + for (int l = 0; l < config_.block_len; l++) { + ofs.write(reinterpret_cast( + importance_[i][block_idx][l].data()), + importance_[i][block_idx][l].size() * + sizeof(ggml_fp16_t)); + } + } + } + ofs.close(); + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration diff = end - start; + printf("time of dump: %f s\n", diff.count()); +} \ No newline at end of file diff --git a/ktransformers/ktransformers_ext/operators/kvcache/kvcache_read_write.cpp b/ktransformers/ktransformers_ext/operators/kvcache/kvcache_read_write.cpp new file mode 100644 index 0000000..998f1b0 --- /dev/null +++ b/ktransformers/ktransformers_ext/operators/kvcache/kvcache_read_write.cpp @@ -0,0 +1,1019 @@ +/** + * @Description : + * @Author : Jianwei Dong + * @Date : 2024-08-26 22:47:06 + * @Version : 1.0.0 + * @LastEditors : Jianwei Dong + * @LastEditTime : 2024-08-26 22:47:06 + * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. + **/ + +#include "kvcache.h" + +void KVCache::get_anchor_one_block(ggml_fp16_t *anchor, int layer_id, + int block_idx, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_id; + block_idx = block_idx; + seq_len_ = config_.block_len; + anchor_data_ = const_cast(anchor); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + printf("layer %d block %d time of reading anchor: %f s\n", layer_id, + block_idx, duration.count()); +} + +void KVCache::update_anchor_one_block(const ggml_fp16_t *anchor, int layer_id, + int block_idx, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_id; + block_idx = block_idx; + seq_len_ = config_.block_len; + anchor_data_ = const_cast(anchor); + + // Each task updates the anchor of a certain position + // backend->do_work_stealing_job(config_.anchor_num, [&](int task_id) { + // int k = task_id % config_.anchor_num; + // int head_id = task_id / config_.anchor_num; + // memcpy(anchor_[layer_id_][head_id][block_idx].data() + + // k * config_.head_dim, + // anchor_data_ + k * config_.head_dim, + // sizeof(uint16_t) * config_.head_dim); + // }); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + printf("layer %d block %d time of writting anchor: %f s\n", layer_id, + block_idx, duration.count()); +} + +void KVCache::update_importance_one_block(const ggml_fp16_t *importance, + int layer_id, int block_idx, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_id; + block_idx = block_idx; + seq_len_ = config_.block_len; + importance_data_ = const_cast(importance); + + // Each task updates the importance of a certain position + backend->do_work_stealing_job( + config_.block_len, nullptr, + [&](int task_id) { + int k = task_id; + memcpy(importance_[layer_id_][block_idx].data() + k, + importance_data_ + k, sizeof(uint16_t)); + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + printf("layer %d block %d time of writting importance: %f s\n", layer_id, + block_idx, duration.count()); +} + +void KVCache::get_importance_one_block(ggml_fp16_t *importance, int layer_id, + int block_idx, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_id; + block_idx = block_idx; + seq_len_ = config_.block_len; + importance_data_ = const_cast(importance); + + // Each task updates the importance of a certain position + backend->do_work_stealing_job( + config_.block_len, nullptr, + [&](int task_id) { + int k = task_id; + memcpy(importance_data_ + k, + importance_[layer_id_][block_idx].data() + k, + sizeof(uint16_t)); + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + printf("layer %d block %d time of reading importance: %f s\n", layer_id, + block_idx, duration.count()); +} + +void KVCache::update_kvcache_one_block_fp16(const ggml_fp16_t *k_in, + const ggml_fp16_t *v_in, + int layer_id, int block_idx, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_id; + block_idx = block_idx; + seq_len_ = config_.block_len; + k_data_ = const_cast(k_in); + v_data_ = const_cast(v_in); + + int new_block_num = std::max((int)past_block_num_[layer_id], block_idx + 1); + + importance_[layer_id_].resize(new_block_num); + + for (int i = 0; i < config_.kv_head_num; i++) { + k_cache_q4[layer_id][i].resize(new_block_num); + v_cache_q4[layer_id][i].resize(new_block_num); + // anchor_[layer_id][i].resize(new_block_num); + } + + for (int i = 0; i < new_block_num; i++) { + importance_[layer_id][i].resize(config_.block_len); + } + + // Each task updates the k cache or v cache of a certain header + backend->do_work_stealing_job( + config_.kv_head_num * 2, nullptr, + [&](int task_id) { + std::vector block_fp32(32); + int head_id = task_id / 2; + if (task_id & 1) { + // fill k_cache_ + k_cache_q4[layer_id_][head_id][block_idx].resize( + config_.block_len * config_.head_dim / 32); + for (int k = 0; k < config_.block_len; k++) { + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q4_0 block; + for (int m = 0; m < 32; m++) { + + block_fp32[m] = GGML_FP16_TO_FP32( + k_data_[((0 * config_.kv_head_num + head_id) * + seq_len_ + + 0 * config_.block_len + k) * + config_.head_dim + + l * 32 + m]); + } + quantize_row_q4_0(block_fp32.data(), &block, 32); + k_cache_q4[layer_id_][head_id][block_idx] + [k * config_.head_dim / 32 + l] = block; + } + } + } else { + // fill v_cache_ + v_cache_q4[layer_id_][head_id][block_idx].resize( + config_.head_dim * config_.block_len / 32); + for (int k = 0; k < config_.block_len / 32; k++) { + for (int l = 0; l < config_.head_dim; l++) { + block_q4_0 block; + for (int m = 0; m < 32; m++) { + + block_fp32[m] = GGML_FP16_TO_FP32( + v_data_[((0 * config_.kv_head_num + head_id) * + seq_len_ + + 0 * config_.block_len + k * 32 + m) * + config_.head_dim + + l]); + } + quantize_row_q4_0(block_fp32.data(), &block, 32); + v_cache_q4[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + k] = block; + } + } + } + }, + nullptr); + past_block_num_[layer_id] = new_block_num; + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + printf("layer %d block %d time of writting KV Cache: %f s\n", layer_id, + block_idx, duration.count()); + // printf("get_one_block_fp16 duration: %ld\n", duration); +} + +void KVCache::get_kvcache_one_block_fp16(ggml_fp16_t *k_in, ggml_fp16_t *v_in, + int layer_id, int block_idx, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_id; + seq_len_ = config_.block_len; + k_data_ = reinterpret_cast(k_in); + v_data_ = reinterpret_cast(v_in); + + // printf("layer_id: %d, block_idx: %d\n", layer_id, block_idx); + // Each task gets the k cache or v cache of a certain header + backend->do_work_stealing_job( + config_.kv_head_num * 2, nullptr, + [&](int task_id) { + std::vector block_fp32(32); + int head_id = task_id / 2; + if (task_id & 1) { + // get k_cache_ + for (int k = 0; k < config_.block_len; k++) { + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q4_0 block = + k_cache_q4[layer_id_][head_id][block_idx] + [k * config_.head_dim / 32 + l]; + dequantize_row_q4_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + k_data_[((0 * config_.kv_head_num + head_id) * + seq_len_ + + 0 * config_.block_len + k) * + config_.head_dim + + l * 32 + m] = + GGML_FP32_TO_FP16(block_fp32[m]); + } + } + } + } else { + // get v_cache_ + for (int k = 0; k < config_.block_len / 32; k++) { + for (int l = 0; l < config_.head_dim; l++) { + block_q4_0 block = + v_cache_q4[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + k]; + dequantize_row_q4_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + v_data_[((0 * config_.kv_head_num + head_id) * + seq_len_ + + 0 * config_.block_len + k * 32 + m) * + config_.head_dim + + l] = GGML_FP32_TO_FP16(block_fp32[m]); + } + } + } + } + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + printf("layer %d block %d time of reading KV Cache: %f s\n", layer_id, + block_idx, duration.count()); + // printf("get_one_block_fp16 duration: %ld\n", duration); +} + +// k_in: (batch_size, seq_len, head_num, head_dim) +// v_in: (batch_size, seq_len, head_num, head_dim) +void KVCache::get_and_update_kvcache_fp16(ggml_fp16_t *k_in, ggml_fp16_t *v_in, + int layer_id, int *block_table, + int batch_size, int max_block_num, + int *cache_seqlens, int q_len, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_id; + k_data_ = const_cast(k_in); + v_data_ = const_cast(v_in); + + // Each task updates the k cache and v cache of a certain header + backend->do_work_stealing_job( + config_.kv_head_num * max_block_num * batch_size, nullptr, + [&](int task_id) { + // printf("block_idx: %d, task_id: %d\n", block_idx, task_id); + std::vector block_fp32(32); + int batch_id = task_id / (config_.kv_head_num * max_block_num); + int block_id = (task_id / config_.kv_head_num) % max_block_num; + int head_id = task_id % config_.kv_head_num; + int block_idx = block_table[batch_id * max_block_num + block_id]; + int seq_len = cache_seqlens[batch_id]; + int block_l = block_id * config_.block_len; + int block_r = block_id * config_.block_len + config_.block_len; + + if (block_l < seq_len) { + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + for (int k = 0; k < config_.block_len; k++) { + if (block_id * config_.block_len + k >= seq_len) + break; + for (int l = 0; l < config_.head_dim; l++) { + k_data_ + [batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * config_.head_dim) + + block_id * + (config_.block_len * config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * config_.head_dim) + + head_id * config_.head_dim + l] = + k_cache_fp16_[layer_id_][head_id][block_idx] + [k * config_.head_dim + l]; + v_data_ + [batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * config_.head_dim) + + block_id * + (config_.block_len * config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * config_.head_dim) + + head_id * config_.head_dim + l] = + v_cache_fp16_[layer_id_][head_id][block_idx] + [l * config_.block_len + k]; + } + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + // get k_cache_ + for (int k = 0; k < config_.block_len; k++) { + if (block_id * config_.block_len + k >= seq_len) + break; + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q4_0 block = + k_cache_q4[layer_id_][head_id][block_idx] + [k * config_.head_dim / 32 + l]; + dequantize_row_q4_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + k_data_[batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + l * 32 + + m] = GGML_FP32_TO_FP16(block_fp32[m]); + } + } + } + // get v_cache_ + for (int k = 0; k < config_.block_len / 32; k++) { + for (int l = 0; l < config_.head_dim; l++) { + block_q4_0 block = + v_cache_q4[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + k]; + dequantize_row_q4_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + if (block_id * config_.block_len + k * 32 + m >= + seq_len) + break; + v_data_[batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + (k * 32 + m) * config_.kv_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16(block_fp32[m]); + } + } + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + // get k_cache_ + for (int k = 0; k < config_.block_len; k++) { + if (block_id * config_.block_len + k >= seq_len) + break; + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q8_0 block = + k_cache_q8[layer_id_][head_id][block_idx] + [k * config_.head_dim / 32 + l]; + dequantize_row_q8_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + k_data_[batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + l * 32 + + m] = GGML_FP32_TO_FP16(block_fp32[m]); + } + } + } + // get v_cache_ + for (int k = 0; k < config_.block_len / 32; k++) { + for (int l = 0; l < config_.head_dim; l++) { + block_q8_0 block = + v_cache_q8[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + k]; + dequantize_row_q8_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + if (block_id * config_.block_len + k * 32 + m >= + seq_len) + break; + v_data_[batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + (k * 32 + m) * config_.kv_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16(block_fp32[m]); + } + } + } + } + } + if (block_r > seq_len && block_l < seq_len + q_len) { + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + for (int k = 0; k < config_.block_len; k++) { + if (block_id * config_.block_len + k >= + seq_len + q_len || + block_id * config_.block_len + k < seq_len) + continue; + for (int l = 0; l < config_.head_dim; l++) { + k_cache_fp16_[layer_id_][head_id][block_idx] + [k * config_.head_dim + l] = k_data_ + [batch_id * (max_block_num * + config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + l]; + v_cache_fp16_[layer_id_][head_id][block_idx] + [l * config_.block_len + k] = v_data_ + [batch_id * (max_block_num * + config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + l]; + } + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + // fill k_cache_ + for (int k = 0; k < config_.block_len; k++) { + if (block_id * config_.block_len + k >= + seq_len + q_len || + block_id * config_.block_len + k < seq_len) + continue; + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q4_0 block; + for (int m = 0; m < 32; m++) { + + block_fp32[m] = GGML_FP16_TO_FP32( + k_data_[batch_id * (max_block_num * + config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + + l * 32 + m]); + } + quantize_row_q4_0(block_fp32.data(), &block, 32); + k_cache_q4[layer_id_][head_id][block_idx] + [k * config_.head_dim / 32 + l] = block; + } + } + + // fill v_cache_ + for (int k = 0; k < config_.block_len / 32; k++) { + for (int l = 0; l < config_.head_dim; l++) { + block_q4_0 block; + for (int m = 0; m < 32; m++) { + + if (block_id * config_.block_len + k * 32 + m >= + seq_len + q_len) { + block_fp32[m] = 0; + continue; + } + block_fp32[m] = GGML_FP16_TO_FP32( + v_data_[batch_id * (max_block_num * + config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + (k * 32 + m) * config_.kv_head_num * + config_.head_dim + + head_id * config_.head_dim + l]); + } + quantize_row_q4_0(block_fp32.data(), &block, 32); + v_cache_q4[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + k] = block; + } + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + // fill k_cache_ + for (int k = 0; k < config_.block_len; k++) { + if (block_id * config_.block_len + k >= + seq_len + q_len || + block_id * config_.block_len + k < seq_len) + continue; + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q8_0 block; + for (int m = 0; m < 32; m++) { + + block_fp32[m] = GGML_FP16_TO_FP32( + k_data_[batch_id * (max_block_num * + config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + + l * 32 + m]); + } + quantize_row_q8_0(block_fp32.data(), &block, 32); + k_cache_q8[layer_id_][head_id][block_idx] + [k * config_.head_dim / 32 + l] = block; + } + } + + // fill v_cache_ + for (int k = 0; k < config_.block_len / 32; k++) { + for (int l = 0; l < config_.head_dim; l++) { + block_q8_0 block; + for (int m = 0; m < 32; m++) { + + if (block_id * config_.block_len + k * 32 + m >= + seq_len + q_len) { + block_fp32[m] = 0; + continue; + } + block_fp32[m] = GGML_FP16_TO_FP32( + v_data_[batch_id * (max_block_num * + config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + (k * 32 + m) * config_.kv_head_num * + config_.head_dim + + head_id * config_.head_dim + l]); + } + quantize_row_q8_0(block_fp32.data(), &block, 32); + v_cache_q8[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + k] = block; + } + } + } + } + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + + // printf("layer %d time of reading and updating KV Cache: %f s\n", + // layer_id, + // duration.count()); +} + +void KVCache::update_importance(const ggml_fp16_t *importance, int layer_id, + int *block_table, int batch_size, + int max_block_num, int *offset, int width, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_id; + importance_data_ = const_cast(importance); + + // Each task updates the importance of a certain position + backend->do_work_stealing_job( + max_block_num * batch_size, nullptr, + [&](int task_id) { + int block_id = task_id % max_block_num; + int batch_id = task_id / max_block_num; + int block_idx = block_table[batch_id * max_block_num + block_id]; + if (block_id > (offset[batch_id] + width) / config_.block_len) { + return; + } + for (int k = 0; k < config_.block_len; k++) { + for (int head_id = 0; head_id < config_.q_head_num; head_id++) { + importance_[layer_id_][block_idx][k][head_id] = + GGML_FP32_TO_FP16( + GGML_FP16_TO_FP32( + importance_data_[batch_id * max_block_num * + config_.block_len * + config_.q_head_num + + (block_id * config_.block_len + + k) * + config_.q_head_num + + head_id]) + + GGML_FP16_TO_FP32( + importance_[layer_id_][block_idx][k][head_id])); + } + } + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + + // printf("layer %d time of updating importance: %f s\n", layer_id, + // duration.count()); +} + +void KVCache::get_kvcache_fp16(ggml_fp16_t *k_in, ggml_fp16_t *v_in, + int layer_id, int *block_table, int batch_size, + int max_block_num, int *cache_seqlens, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_id; + k_data_ = const_cast(k_in); + v_data_ = const_cast(v_in); + + // Each task updates the k cache and v cache of a certain header + backend->do_work_stealing_job( + config_.kv_head_num * max_block_num * batch_size, nullptr, + [&](int task_id) { + // printf("block_idx: %d, task_id: %d\n", block_idx, task_id); + std::vector block_fp32(32); + int batch_id = task_id / (config_.kv_head_num * max_block_num); + int block_id = (task_id / config_.kv_head_num) % max_block_num; + int head_id = task_id % config_.kv_head_num; + int block_idx = block_table[batch_id * max_block_num + block_id]; + int seq_len = cache_seqlens[batch_id]; + int block_l = block_id * config_.block_len; + int block_r = block_id * config_.block_len + config_.block_len; + + if (block_l < seq_len) { + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + for (int k = 0; k < config_.block_len; k++) { + if (block_id * config_.block_len + k >= seq_len) + break; + for (int l = 0; l < config_.head_dim; l++) { + k_data_ + [batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * config_.head_dim) + + block_id * + (config_.block_len * config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * config_.head_dim) + + head_id * config_.head_dim + l] = + k_cache_fp16_[layer_id_][head_id][block_idx] + [k * config_.head_dim + l]; + v_data_ + [batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * config_.head_dim) + + block_id * + (config_.block_len * config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * config_.head_dim) + + head_id * config_.head_dim + l] = + v_cache_fp16_[layer_id_][head_id][block_idx] + [l * config_.block_len + k]; + } + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + // get k_cache_ + for (int k = 0; k < config_.block_len; k++) { + if (block_id * config_.block_len + k >= seq_len) + break; + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q4_0 block = + k_cache_q4[layer_id_][head_id][block_idx] + [k * config_.head_dim / 32 + l]; + dequantize_row_q4_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + k_data_[batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + l * 32 + + m] = GGML_FP32_TO_FP16(block_fp32[m]); + } + } + } + // get v_cache_ + for (int k = 0; k < config_.block_len / 32; k++) { + for (int l = 0; l < config_.head_dim; l++) { + block_q4_0 block = + v_cache_q4[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + k]; + dequantize_row_q4_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + if (block_id * config_.block_len + k * 32 + m >= + seq_len) + break; + v_data_[batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + (k * 32 + m) * config_.kv_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16(block_fp32[m]); + } + } + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + // get k_cache_ + for (int k = 0; k < config_.block_len; k++) { + if (block_id * config_.block_len + k >= seq_len) + break; + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q8_0 block = + k_cache_q8[layer_id_][head_id][block_idx] + [k * config_.head_dim / 32 + l]; + dequantize_row_q8_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + k_data_[batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + k * (config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + l * 32 + + m] = GGML_FP32_TO_FP16(block_fp32[m]); + } + } + } + // get v_cache_ + for (int k = 0; k < config_.block_len / 32; k++) { + for (int l = 0; l < config_.head_dim; l++) { + block_q8_0 block = + v_cache_q8[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + k]; + dequantize_row_q8_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + if (block_id * config_.block_len + k * 32 + m >= + seq_len) + break; + v_data_[batch_id * + (max_block_num * config_.block_len * + config_.kv_head_num * + config_.head_dim) + + block_id * (config_.block_len * + config_.kv_head_num * + config_.head_dim) + + (k * 32 + m) * config_.kv_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16(block_fp32[m]); + } + } + } + } + } + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; +} + +void KVCache::update_kvcache_fp16(const ggml_fp16_t *k_in, + const ggml_fp16_t *v_in, int layer_id, + int *block_table, int batch_size, + int max_block_num, int *cache_seqlens, + int q_len, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_id; + k_data_ = const_cast(k_in); + v_data_ = const_cast(v_in); + // Each task updates the k cache and v cache of a certain header + backend->do_work_stealing_job( + batch_size * config_.kv_head_num * q_len, nullptr, + [&](int task_id) { + int batch_id = task_id / (config_.kv_head_num * q_len); + int head_id = task_id / q_len % config_.kv_head_num; + int seq_len = cache_seqlens[batch_id] + task_id % q_len; + int q_offset = task_id % q_len; + + int block_id = seq_len / config_.block_len; + int block_idx = block_table[batch_id * max_block_num + block_id]; + int pos_in_block = seq_len % config_.block_len; + + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + for (int l = 0; l < config_.head_dim; l++) { + k_cache_fp16_[layer_id_][head_id][block_idx] + [pos_in_block * config_.head_dim + l] = + k_data_[batch_id * + (q_len * config_.kv_head_num * + config_.head_dim) + + q_offset * config_.kv_head_num * + config_.head_dim + + head_id * config_.head_dim + l]; + v_cache_fp16_[layer_id_][head_id][block_idx] + [l * config_.block_len + pos_in_block] = + v_data_[batch_id * + (q_len * config_.kv_head_num * + config_.head_dim) + + q_offset * config_.kv_head_num * + config_.head_dim + + head_id * config_.head_dim + l]; + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + std::vector block_fp32(32); + // fill k_cache_ + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q4_0 block; + for (int m = 0; m < 32; m++) { + + block_fp32[m] = GGML_FP16_TO_FP32( + k_data_[batch_id * (q_len * config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + l * 32 + m]); + } + quantize_row_q4_0(block_fp32.data(), &block, 32); + + k_cache_q4[layer_id_][head_id][block_idx] + [pos_in_block * config_.head_dim / 32 + l] = + block; + } + + // fill v_cache_ + for (int l = 0; l < config_.head_dim; l++) { + block_q4_0 block = v_cache_q4[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + + pos_in_block / 32]; + dequantize_row_q4_0(&block, block_fp32.data(), 32); + block_fp32[pos_in_block % 32] = GGML_FP16_TO_FP32( + v_data_[batch_id * (q_len * config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + l]); + quantize_row_q4_0(block_fp32.data(), &block, 32); + v_cache_q4[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + pos_in_block / 32] = + block; + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + std::vector block_fp32(32); + // fill k_cache_ + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q8_0 block; + for (int m = 0; m < 32; m++) { + + block_fp32[m] = GGML_FP16_TO_FP32( + k_data_[batch_id * (q_len * config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + l * 32 + m]); + } + quantize_row_q8_0(block_fp32.data(), &block, 32); + + k_cache_q8[layer_id_][head_id][block_idx] + [pos_in_block * config_.head_dim / 32 + l] = + block; + } + + // fill v_cache_ + for (int l = 0; l < config_.head_dim; l++) { + block_q8_0 block = v_cache_q8[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + + pos_in_block / 32]; + dequantize_row_q8_0(&block, block_fp32.data(), 32); + block_fp32[pos_in_block % 32] = GGML_FP16_TO_FP32( + v_data_[batch_id * (q_len * config_.kv_head_num * + config_.head_dim) + + head_id * config_.head_dim + l]); + quantize_row_q8_0(block_fp32.data(), &block, 32); + v_cache_q8[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + pos_in_block / 32] = + block; + } + } + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + // printf("layer %d time of reading KV Cache: %f s\n", layer_id, + // duration.count()); +} + +void KVCache::get_all_kvcache_one_layer(int layer_id, ggml_fp16_t *k_in, + ggml_fp16_t *v_in, Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + layer_id_ = layer_id; + seq_len_ = config_.block_len; + block_num_ = get_cache_total_block_num(); + k_data_ = reinterpret_cast(k_in); + v_data_ = reinterpret_cast(v_in); + + // Each task gets the k cache or v cache of a certain header + backend->do_work_stealing_job( + config_.kv_head_num * past_block_num_[layer_id] * 2, nullptr, + [&](int task_id) { + std::vector block_fp32(32); + int head_id = task_id / 2 / past_block_num_[layer_id]; + int block_idx = task_id / 2 % past_block_num_[layer_id]; + if (block_idx >= block_num_) + return; + + int max_offset = 0; + if (task_id & 1) { + // get k_cache_ + for (int k = 0; k < config_.block_len; k++) { + if (block_idx * seq_len_ + k >= cache_total_len_) + break; + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q4_0 block = + k_cache_q4[layer_id_][head_id][block_idx] + [k * config_.head_dim / 32 + l]; + dequantize_row_q4_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + k_data_[(head_id * cache_total_len_ + + block_idx * config_.block_len + k) * + config_.head_dim + + l * 32 + m] = + GGML_FP32_TO_FP16(block_fp32[m]); + max_offset = std::max( + max_offset, + (int)(head_id * cache_total_len_ + + block_idx * config_.block_len + k) * + config_.head_dim + + l * 32 + m); + } + } + } + } else { + // get v_cache_ + for (int k = 0; k < config_.block_len / 32; k++) { + for (int l = 0; l < config_.head_dim; l++) { + block_q4_0 block = + v_cache_q4[layer_id_][head_id][block_idx] + [l * config_.block_len / 32 + k]; + dequantize_row_q4_0(&block, block_fp32.data(), 32); + for (int m = 0; m < 32; m++) { + + if (block_idx * seq_len_ + k * 32 + m >= + cache_total_len_) + break; + v_data_[(head_id * cache_total_len_ + + block_idx * config_.block_len + k * 32 + + m) * + config_.head_dim + + l] = GGML_FP32_TO_FP16(block_fp32[m]); + max_offset = + std::max(max_offset, + (int)((head_id * cache_total_len_ + + block_idx * config_.block_len + + k * 32 + m) * + config_.head_dim + + l)); + } + } + } + } + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + // printf("layer %d block num %d time of reading all KV Cache: %f s\n", + // layer_id, block_num_, duration.count()); +} diff --git a/ktransformers/ktransformers_ext/operators/kvcache/kvcache_utils.cpp b/ktransformers/ktransformers_ext/operators/kvcache/kvcache_utils.cpp new file mode 100644 index 0000000..f1d6f7d --- /dev/null +++ b/ktransformers/ktransformers_ext/operators/kvcache/kvcache_utils.cpp @@ -0,0 +1,1157 @@ +/** + * @Description : + * @Author : Jianwei Dong + * @Date : 2024-08-26 22:47:06 + * @Version : 1.0.0 + * @LastEditors : Jianwei Dong + * @LastEditTime : 2024-08-26 22:47:06 + * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. + **/ + +#include "kvcache.h" + +std::string ggml_type_to_string(ggml_type type) { + switch (type) { + case GGML_TYPE_F32: + return "GGML_TYPE_F32"; + case GGML_TYPE_F16: + return "GGML_TYPE_F16"; + case GGML_TYPE_Q4_0: + return "GGML_TYPE_Q4_0"; + case GGML_TYPE_Q8_0: + return "GGML_TYPE_Q8_0"; + } + return "UNDIFINED"; +} +std::string AnchorTypeToString(AnchorType type) { + switch (type) { + case AnchorType::DYNAMIC: + return "DYNAMIC"; + case AnchorType::BLOCK_MEAN: + return "BLOCK_MEAN"; + case AnchorType::BLOCK_MAX: + return "BLOCK_MAX"; + case AnchorType::FIXED_ANCHOR: + return "FIXED_ANCHOR"; + case AnchorType::QUEST: + return "QUEST"; + } + return "UNDIFINED"; +} +std::string RetrievalTypeToString(RetrievalType type) { + switch (type) { + case RetrievalType::LAYER: + return "SHARED"; + case RetrievalType::KVHEAD: + return "SEPARATE"; + case RetrievalType::QHEAD: + return "INDIVIDUAL"; + } + return "UNDIFINED"; +} +KVCacheConfig::KVCacheConfig(int layer_num, int kv_head_num, int q_head_num, + int head_dim, int block_len, int anchor_num, + AnchorType anchor_type, ggml_type kv_type, + RetrievalType retrieval_type, int layer_step, + int token_step, int layer_offset, + int max_block_num, int max_batch_size, + int max_thread_num) + : layer_num(layer_num), kv_head_num(kv_head_num), q_head_num(q_head_num), + head_dim(head_dim), block_len(block_len), anchor_num(anchor_num), + anchor_type(anchor_type), kv_type(kv_type), + retrieval_type(retrieval_type), layer_step(layer_step), + token_step(token_step), layer_offset(layer_offset), + max_block_num(max_block_num), max_batch_size(max_batch_size), + max_thread_num(max_thread_num) { + printf( + "layer_num: %d, kv_head_num: %d, q_head_num: %d, head_dim: %d, " + "block_len: %d, anchor_num: %d, anchor_type: %s, kv_type: %s, " + "retrieval_type: %s, layer_step: %d, token_step: %d, layer_offset: %d," + "max_block_num: %d, max_batch_size: %d, max_thread_num: %d\n", + layer_num, kv_head_num, q_head_num, head_dim, block_len, anchor_num, + AnchorTypeToString(anchor_type).c_str(), + ggml_type_to_string(kv_type).c_str(), + RetrievalTypeToString(retrieval_type).c_str(), layer_step, token_step, + layer_offset, max_block_num, max_batch_size, max_thread_num); + assert(q_head_num % kv_head_num == 0); +} +KVCache::KVCache(KVCacheConfig config) { + this->config_ = config; + + n_gqa_ = config_.q_head_num / config_.kv_head_num; + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + // TODO: Elegant implement + k_cache_fp16_.resize(config_.layer_num); + v_cache_fp16_.resize(config_.layer_num); + selected_blocks_num_history_.resize(config_.layer_num / + config_.layer_step); + if (config_.retrieval_type == RetrievalType::LAYER) { + selected_blocks_history_.resize(config_.layer_num / + config_.layer_step); + } else if (config_.retrieval_type == RetrievalType::KVHEAD) { + selected_blocks_history_kvhead_.resize(config_.layer_num / + config_.layer_step); + } else if (config_.retrieval_type == RetrievalType::QHEAD) { + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + k_cache_q4.resize(config.layer_num); + v_cache_q4.resize(config.layer_num); + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + k_cache_q8.resize(config.layer_num); + v_cache_q8.resize(config.layer_num); + } else { + assert(false); + } + anchor_.resize(config.layer_num * config.max_block_num * config.anchor_num * + config.q_head_num * config.head_dim); + importance_.resize(config.layer_num); + past_block_num_.resize(config.layer_num); + for (int i = 0; i < config.layer_num; i++) { + past_block_num_[i] = 0; + } + + ThreadResize(config.max_thread_num); + BatchResize(config.max_batch_size); + BlockResize(config.max_block_num); + q_fp32.resize(n_gqa_ * config.head_dim); +} + +void KVCache::ThreadResize(int thread_num) { + thread_local_output_q8_0_.resize(thread_num); + thread_local_attn_score_.resize(thread_num); + thread_local_output_fp32_.resize(thread_num); + thread_local_attn_lse_.resize(thread_num); + thread_local_cur_output_fp32_.resize(thread_num); + thread_local_cur_attn_lse_.resize(thread_num); + thread_local_draft_.resize(thread_num); + thread_cur_head_idx_.resize(thread_num); + thread_local_attn_mask_.resize(thread_num); + for (int i = 0; i < thread_num; i++) { + thread_local_output_q8_0_[i].resize(n_gqa_ * config_.head_dim / QK8_0); + thread_local_attn_score_[i].resize(n_gqa_ * config_.block_len); + thread_local_output_fp32_[i].resize(n_gqa_ * config_.head_dim); + thread_local_attn_lse_[i].resize(n_gqa_); + thread_local_cur_output_fp32_[i].resize(n_gqa_ * config_.head_dim); + thread_local_cur_attn_lse_[i].resize(n_gqa_); + thread_local_draft_[i].resize( + 2 * n_gqa_ * config_.block_len + 6 * n_gqa_ * config_.head_dim + + 2 * config_.block_len * config_.head_dim + + config_.block_len * config_.head_dim / QK4_0); + thread_local_attn_mask_[i].resize(config_.block_len / 8); + } +} +void KVCache::BatchResize(int batch_size) { + mutex_.resize(batch_size); + q_q8_0_.resize(batch_size); + q_fp32_.resize(batch_size); + output_fp32_.resize(batch_size); + attn_lse_.resize(batch_size); + block_lse_.resize(batch_size); + attn_sparsity_.resize(batch_size); + + if (config_.retrieval_type == RetrievalType::LAYER) { + block_table_before_retrieval_.resize(batch_size); + block_table_after_retrieval_.resize(batch_size); + + for (int i = 0; i < config_.layer_num / config_.layer_step; i++) { + selected_blocks_history_[i].resize(batch_size); + } + + } else if (config_.retrieval_type == RetrievalType::KVHEAD) { + block_table_before_retrieval_kvhead_.resize(batch_size); + block_table_after_retrieval_kvhead_.resize(batch_size); + for (int i = 0; i < config_.layer_num / config_.layer_step; i++) { + selected_blocks_history_kvhead_[i].resize(batch_size); + } + } else if (config_.retrieval_type == RetrievalType::QHEAD) { + block_table_before_retrieval_qhead_.resize(batch_size); + block_table_after_retrieval_qhead_.resize(batch_size); + } + cache_seqlens_.resize(batch_size); + if (config_.retrieval_type == RetrievalType::LAYER) { + block_similar_.resize(batch_size); + } else if (config_.retrieval_type == RetrievalType::KVHEAD) { + block_similar_kv_head_.resize(batch_size); + } else if (config_.retrieval_type == RetrievalType::QHEAD) { + block_similar_q_head_.resize(batch_size); + } + for (int i = 0; i < batch_size; i++) { + top_similar_block_.resize(batch_size); + + mutex_[i].resize(config_.kv_head_num); + q_q8_0_[i].resize(config_.kv_head_num); + q_fp32_[i].resize(config_.kv_head_num); + output_fp32_[i].resize(config_.kv_head_num); + attn_lse_[i].resize(config_.kv_head_num); + + for (int j = 0; j < config_.kv_head_num; j++) { + if (!mutex_[i][j]) { + mutex_[i][j] = std::make_unique(); + } + q_q8_0_[i][j].resize(n_gqa_ * config_.head_dim / QK8_0); + q_fp32_[i][j].resize(n_gqa_ * config_.head_dim); + output_fp32_[i][j].resize(n_gqa_ * config_.head_dim); + attn_lse_[i][j].resize(n_gqa_); + } + } + avg_q.resize(batch_size); + avg_q_fp16.resize(batch_size); + for (int i = 0; i < batch_size; i++) { + attn_sparsity_[i].resize(config_.q_head_num); + avg_q[i].resize(config_.q_head_num * config_.head_dim); + avg_q_fp16[i].resize(config_.q_head_num * config_.head_dim); + } +} + +void KVCache::BlockResize(int max_block_num) { + sin_.resize(max_block_num * config_.block_len); + cos_.resize(max_block_num * config_.block_len); + for (int i = 0; i < max_block_num * config_.block_len; i++) { + sin_[i].resize(config_.head_dim); + cos_[i].resize(config_.head_dim); + } + + for (int i = 0; i < config_.layer_num / config_.layer_step; i++) { + for (int j = 0; j < config_.max_batch_size; j++) { + if (config_.retrieval_type == RetrievalType::LAYER) { + selected_blocks_history_[i][j].resize(max_block_num); + } else if (config_.retrieval_type == RetrievalType::KVHEAD) { + selected_blocks_history_kvhead_[i][j].resize(max_block_num); + for (int k = 0; k < config_.max_block_num; k++) { + selected_blocks_history_kvhead_[i][j][k].resize( + config_.kv_head_num); + } + } else if (config_.retrieval_type == RetrievalType::QHEAD) { + } + } + } + + for (int layer_id = 0; layer_id < config_.layer_num; layer_id++) { + importance_[layer_id].resize(max_block_num); + + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + // TODO: Elegant implement + k_cache_fp16_[layer_id].resize(config_.kv_head_num); + v_cache_fp16_[layer_id].resize(config_.kv_head_num); + + for (int i = 0; i < config_.kv_head_num; i++) { + k_cache_fp16_[layer_id][i].resize(max_block_num); + v_cache_fp16_[layer_id][i].resize(max_block_num); + + for (int j = 0; j < max_block_num; j++) { + k_cache_fp16_[layer_id][i][j].resize(config_.block_len * + config_.head_dim); + v_cache_fp16_[layer_id][i][j].resize(config_.block_len * + config_.head_dim); + } + } + + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + k_cache_q4[layer_id].resize(config_.kv_head_num); + v_cache_q4[layer_id].resize(config_.kv_head_num); + for (int i = 0; i < config_.kv_head_num; i++) { + k_cache_q4[layer_id][i].resize(max_block_num); + v_cache_q4[layer_id][i].resize(max_block_num); + + for (int j = 0; j < max_block_num; j++) { + k_cache_q4[layer_id][i][j].resize(config_.block_len * + config_.head_dim / 32); + v_cache_q4[layer_id][i][j].resize(config_.block_len * + config_.head_dim / 32); + } + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + k_cache_q8[layer_id].resize(config_.kv_head_num); + v_cache_q8[layer_id].resize(config_.kv_head_num); + for (int i = 0; i < config_.kv_head_num; i++) { + k_cache_q8[layer_id][i].resize(max_block_num); + v_cache_q8[layer_id][i].resize(max_block_num); + + for (int j = 0; j < max_block_num; j++) { + k_cache_q8[layer_id][i][j].resize(config_.block_len * + config_.head_dim / 32); + v_cache_q8[layer_id][i][j].resize(config_.block_len * + config_.head_dim / 32); + } + } + } else { + assert(false); + } + for (int i = 0; i < config_.max_batch_size; i++) { + if (config_.retrieval_type == RetrievalType::LAYER) { + block_similar_[i].resize(max_block_num); + block_table_before_retrieval_[i].resize(max_block_num); + block_table_after_retrieval_[i].resize(max_block_num); + } else if (config_.retrieval_type == RetrievalType::KVHEAD) { + block_similar_kv_head_[i].resize(max_block_num); + block_table_before_retrieval_kvhead_[i].resize(max_block_num); + block_table_after_retrieval_kvhead_[i].resize(max_block_num); + for (int j = 0; j < max_block_num; j++) { + block_similar_kv_head_[i][j].resize(config_.kv_head_num); + block_table_before_retrieval_kvhead_[i][j].resize( + config_.kv_head_num); + block_table_after_retrieval_kvhead_[i][j].resize( + config_.kv_head_num); + } + } else if (config_.retrieval_type == RetrievalType::QHEAD) { + block_similar_q_head_[i].resize(max_block_num); + block_table_before_retrieval_qhead_[i].resize(max_block_num); + block_table_after_retrieval_qhead_[i].resize(max_block_num); + for (int j = 0; j < max_block_num; j++) { + block_similar_q_head_[i][j].resize(config_.q_head_num); + block_table_before_retrieval_qhead_[i][j].resize( + config_.q_head_num); + block_table_after_retrieval_qhead_[i][j].resize( + config_.q_head_num); + } + } + block_lse_[i].resize(max_block_num); + for (int j = 0; j < max_block_num; j++) { + block_lse_[i][j].resize(config_.q_head_num); + } + } + + for (int i = 0; i < max_block_num; i++) { + importance_[layer_id][i].resize(config_.block_len); + for (int j = 0; j < config_.block_len; j++) { + importance_[layer_id][i][j].resize(config_.q_head_num); + } + } + } +} + +void KVCache::calc_anchor_all_layers(int *block_table, int *cache_seqlens, + int batch_size, int max_block_num, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + // Each task updates the importance of a certain block + seq_len_ = config_.block_len; + backend->do_work_stealing_job( + config_.layer_num * batch_size * max_block_num, nullptr, + [&](int task_id) { + int layer_id = task_id / (batch_size * max_block_num); + int batch_id = (task_id / max_block_num) % batch_size; + int block_id = task_id % max_block_num; + // If the block is out of the sequence length, skip it. In + // particular, the last block of the sequence that is shorter than + // the block length should be skipped. + + if (cache_seqlens[batch_id] / config_.block_len < block_id) { + return; + } + int block_idx = block_table[batch_id * max_block_num + block_id]; + + std::vector block_fp32(32); + if (config_.anchor_type == AnchorType::DYNAMIC) { + + // clear anchor_ + for (int anchor_id = 0; anchor_id < 1; anchor_id++) { + for (int head_id = 0; head_id < config_.q_head_num; + head_id++) { + for (int l = 0; l < config_.head_dim; l++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * config_.head_dim + + anchor_id * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = 0; + } + } + } + + // find top anchor_num importances and their corresponding + // positions in the importance_ tensor + // TODO: Move top_importances to the class member to avoid + // repeated memory allocation + std::priority_queue< + std::pair>, + std::vector>>, + std::greater<>> + top_importances; + for (int head_id = 0; head_id < config_.q_head_num; head_id++) { + for (int k = 0; k < seq_len_; k++) { + top_importances.push(std::make_pair( + GGML_FP16_TO_FP32( + importance_[layer_id][block_idx][k][head_id]), + std::make_pair(block_idx, k))); + // TODO: change to config_ item + if (top_importances.size() > config_.anchor_num) { + top_importances.pop(); + } + } + + // fill anchor_ + + for (int l = 0; l < config_.head_dim; l++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * config_.head_dim + + 0 * config_.q_head_num * config_.head_dim + + head_id * config_.head_dim + l] = 0; + } + for (int k = 0; k < config_.anchor_num; k++) { + int top_indice = top_importances.top().second.second; + int top_block_idx = top_importances.top().second.first; + + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + + for (int l = 0; l < config_.head_dim; l++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + top_block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16( + GGML_FP16_TO_FP32( + anchor_[layer_id * + config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + top_block_idx * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l]) + + GGML_FP16_TO_FP32( + k_cache_fp16_[layer_id] + [head_id / n_gqa_] + [top_block_idx] + [top_indice * + config_.head_dim + + l])); + } + + } else if (config_.kv_type == + ggml_type::GGML_TYPE_Q4_0) { + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q4_0 block = k_cache_q4 + [layer_id][head_id / n_gqa_][top_block_idx] + [top_indice * config_.head_dim / 32 + l]; + dequantize_row_q4_0(&block, block_fp32.data(), + 32); + for (int m = 0; m < 32; m++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + top_block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l * 32 + m] = + GGML_FP32_TO_FP16( + block_fp32[m] / 4 + + GGML_FP16_TO_FP32( + anchor_[layer_id * + config_ + .max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + top_block_idx * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * + config_.head_dim + + l * 32 + m])); + } + } + } else if (config_.kv_type == + ggml_type::GGML_TYPE_Q8_0) { + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q8_0 block = k_cache_q8 + [layer_id][head_id / n_gqa_][top_block_idx] + [top_indice * config_.head_dim / 32 + l]; + dequantize_row_q8_0(&block, block_fp32.data(), + 32); + for (int m = 0; m < 32; m++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + top_block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l * 32 + m] = + GGML_FP32_TO_FP16( + block_fp32[m] / 4 + + GGML_FP16_TO_FP32( + anchor_[layer_id * + config_ + .max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + top_block_idx * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * + config_.head_dim + + l * 32 + m])); + } + } + } + top_importances.pop(); + } + } + } else if (config_.anchor_type == AnchorType::BLOCK_MEAN) { + // clear anchor_ + for (int anchor_id = 0; anchor_id < config_.anchor_num; + anchor_id++) { + for (int head_id = 0; head_id < config_.q_head_num; + head_id++) { + for (int l = 0; l < config_.head_dim; l++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * config_.head_dim + + anchor_id * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = 0; + } + } + } + + // fill anchor_ + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + + for (int head_id = 0; head_id < config_.q_head_num; + head_id++) { + for (int k = 0; k < config_.block_len; k++) { + for (int l = 0; l < config_.head_dim; l++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16( + GGML_FP16_TO_FP32( + anchor_[layer_id * + config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l]) + + GGML_FP16_TO_FP32( + k_cache_fp16_[layer_id] + [head_id / n_gqa_] + [block_idx] + [k * config_.head_dim + + l]) / + config_.block_len); + } + } + } + } + } else if (config_.anchor_type == AnchorType::BLOCK_MAX) { + // clear anchor_ + for (int anchor_id = 0; anchor_id < config_.anchor_num; + anchor_id++) { + for (int head_id = 0; head_id < config_.q_head_num; + head_id++) { + for (int l = 0; l < config_.head_dim; l++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * config_.head_dim + + anchor_id * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = 0; + } + } + } + + // fill anchor_ + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + + for (int head_id = 0; head_id < config_.q_head_num; + head_id++) { + for (int k = 0; k < config_.block_len; k++) { + for (int l = 0; l < config_.head_dim; l++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16(std::max( + GGML_FP16_TO_FP32( + anchor_[layer_id * + config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l]), + GGML_FP16_TO_FP32( + k_cache_fp16_ + [layer_id][head_id / n_gqa_] + [block_idx] + [k * config_.head_dim + l]))); + } + } + } + } + } else if (config_.anchor_type == AnchorType::FIXED_ANCHOR) { + // clear anchor_ + for (int anchor_id = 0; anchor_id < 1; anchor_id++) { + for (int head_id = 0; head_id < config_.q_head_num; + head_id++) { + for (int l = 0; l < config_.head_dim; l++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * config_.head_dim + + anchor_id * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = 0; + } + } + } + + // fill anchor_ + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + + int stride = config_.block_len / config_.anchor_num; + for (int head_id = 0; head_id < config_.q_head_num; + head_id++) { + for (int k = 0, tot = 0; + k < config_.block_len, tot < config_.anchor_num; + k += stride, tot++) { + for (int l = 0; l < config_.head_dim; l++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16( + GGML_FP16_TO_FP32( + anchor_[layer_id * + config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l]) + + GGML_FP16_TO_FP32( + k_cache_fp16_[layer_id] + [head_id / n_gqa_] + [block_idx] + [k * config_.head_dim + + l]) / + config_.anchor_num); + } + } + } + } + + } else if (config_.anchor_type == AnchorType::QUEST) { + // clear anchor_ + for (int head_id = 0; head_id < config_.q_head_num; head_id++) { + for (int l = 0; l < config_.head_dim; l++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * config_.head_dim + + 1 * config_.q_head_num * config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16( + std::numeric_limits::max()); + + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * config_.head_dim + + 0 * config_.q_head_num * config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16( + std::numeric_limits::min()); + } + } + + // fill anchor_ + + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + for (int indice = 0; indice < seq_len_; indice++) { + for (int head_id = 0; head_id < config_.kv_head_num; + head_id++) { + for (int l = 0; l < config_.head_dim; l++) { + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16(std::max( + GGML_FP16_TO_FP32( + k_cache_fp16_ + [layer_id][head_id][block_idx] + [indice * config_.head_dim + + l]), + GGML_FP16_TO_FP32( + anchor_[layer_id * + config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l]))); + + anchor_[layer_id * config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 1 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + l] = + GGML_FP32_TO_FP16(std::min( + GGML_FP16_TO_FP32( + k_cache_fp16_ + [layer_id][head_id][block_idx] + [indice * config_.head_dim + + l]), + GGML_FP16_TO_FP32( + anchor_[layer_id * + config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 1 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l]))); + } + } + } + + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + for (int indice = 0; indice < seq_len_; indice++) { + for (int head_id = 0; head_id < config_.kv_head_num; + head_id++) { + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q4_0 block = + k_cache_q4[layer_id][head_id][block_idx] + [indice * config_.head_dim / 32 + + l]; + dequantize_row_q4_0(&block, block_fp32.data(), + 32); + + for (int m = 0; m < 32; m++) { + for (int gqa_idx = 0; gqa_idx < n_gqa_; + gqa_idx++) { + + anchor_[layer_id * + config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l * 32 + m] = + GGML_FP32_TO_FP16(std::max( + block_fp32[m], + GGML_FP16_TO_FP32( + anchor_ + [layer_id * + config_ + .max_block_num * + config_ + .anchor_num * + config_ + .q_head_num * + config_.head_dim + + block_idx * + config_ + .anchor_num * + config_ + .q_head_num * + config_.head_dim + + 0 * + config_ + .q_head_num * + config_.head_dim + + head_id * + config_.head_dim + + l * 32 + m]))); + + anchor_[layer_id * + config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 1 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l * 32 + m] = + GGML_FP32_TO_FP16(std::min( + block_fp32[m], + GGML_FP16_TO_FP32( + anchor_ + [layer_id * + config_ + .max_block_num * + config_ + .anchor_num * + config_ + .q_head_num * + config_.head_dim + + block_idx * + config_ + .anchor_num * + config_ + .q_head_num * + config_.head_dim + + 1 * + config_ + .q_head_num * + config_.head_dim + + head_id * + config_.head_dim + + l * 32 + m]))); + } + } + } + } + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + for (int indice = 0; indice < seq_len_; indice++) { + for (int head_id = 0; head_id < config_.kv_head_num; + head_id++) { + for (int l = 0; l < config_.head_dim / 32; l++) { + block_q8_0 block = + k_cache_q8[layer_id][head_id][block_idx] + [indice * config_.head_dim / 32 + + l]; + dequantize_row_q8_0(&block, block_fp32.data(), + 32); + + for (int m = 0; m < 32; m++) { + for (int gqa_idx = 0; gqa_idx < n_gqa_; + gqa_idx++) { + + anchor_[layer_id * + config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 0 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l * 32 + m] = + GGML_FP32_TO_FP16(std::max( + block_fp32[m], + GGML_FP16_TO_FP32( + anchor_ + [layer_id * + config_ + .max_block_num * + config_ + .anchor_num * + config_ + .q_head_num * + config_.head_dim + + block_idx * + config_ + .anchor_num * + config_ + .q_head_num * + config_.head_dim + + 0 * + config_ + .q_head_num * + config_.head_dim + + head_id * + config_.head_dim + + l * 32 + m]))); + + anchor_[layer_id * + config_.max_block_num * + config_.anchor_num * + config_.q_head_num * + config_.head_dim + + block_idx * config_.anchor_num * + config_.q_head_num * + config_.head_dim + + 1 * config_.q_head_num * + config_.head_dim + + head_id * config_.head_dim + + l * 32 + m] = + GGML_FP32_TO_FP16(std::min( + block_fp32[m], + GGML_FP16_TO_FP32( + anchor_ + [layer_id * + config_ + .max_block_num * + config_ + .anchor_num * + config_ + .q_head_num * + config_.head_dim + + block_idx * + config_ + .anchor_num * + config_ + .q_head_num * + config_.head_dim + + 1 * + config_ + .q_head_num * + config_.head_dim + + head_id * + config_.head_dim + + l * 32 + m]))); + } + } + } + } + } + } + } else { + assert(false); + } + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + // printf("time of calc_anchor_all_layers: %f s\n", duration.count()); +} + +void KVCache::clear_importance_all_layers(int *block_table, int *cache_seqlens, + int batch_size, int max_block_num, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + // Each task updates the importance of a certain block + seq_len_ = config_.block_len; + backend->do_work_stealing_job( + config_.layer_num * batch_size * max_block_num, nullptr, + [&](int task_id) { + int layer_id = task_id / (batch_size * max_block_num); + int batch_id = (task_id / max_block_num) % batch_size; + int block_id = task_id % max_block_num; + // If the block is out of the sequence length, skip it. In + // particular, the last block of the sequence that is shorter than + // the block length should be skipped. + + if (cache_seqlens[batch_id] / config_.block_len < block_id) { + return; + } + int block_idx = block_table[batch_id * max_block_num + block_id]; + + if (config_.anchor_type == AnchorType::DYNAMIC) { + + // clear anchor_ + for (int head_id = 0; head_id < config_.q_head_num; head_id++) { + for (int l = 0; l < config_.block_len; l++) { + importance_[layer_id][block_idx][l][head_id] = 0; + } + } + } + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + // printf("time of clear_importance_all_layerssssss: %f s\n", + // duration.count()); +} + +void KVCache::clear_kvcache_all_layers(int *block_table, int *cache_seqlens, + int batch_size, int max_block_num, + Backend *backend) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + // Each task updates the importance of a certain block + seq_len_ = config_.block_len; + backend->do_work_stealing_job( + config_.layer_num * batch_size * max_block_num * config_.kv_head_num, + nullptr, + [&](int task_id) { + int layer_id = + task_id / (batch_size * max_block_num * config_.kv_head_num); + int batch_id = + (task_id / (max_block_num * config_.kv_head_num)) % batch_size; + int block_id = task_id / config_.kv_head_num % max_block_num; + int head_id = task_id % config_.kv_head_num; + // If the block is out of the sequence length, skip it. In + // particular, the last block of the sequence that is shorter than + // the block length should be skipped. + if (cache_seqlens[batch_id] / config_.block_len < block_id) { + return; + } + int block_idx = block_table[batch_id * max_block_num + block_id]; + + if (config_.kv_type == ggml_type::GGML_TYPE_F16) { + for (int l = 0; l < config_.block_len * config_.head_dim; l++) { + k_cache_fp16_[layer_id][head_id][block_idx][l] = 0; + v_cache_fp16_[layer_id][head_id][block_idx][l] = 0; + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q4_0) { + for (int l = 0; l < config_.block_len * config_.head_dim / 32; + l++) { + k_cache_q4[layer_id][head_id][block_idx][l].d = 0; + v_cache_q4[layer_id][head_id][block_idx][l].d = 0; + } + } else if (config_.kv_type == ggml_type::GGML_TYPE_Q8_0) { + for (int l = 0; l < config_.block_len * config_.head_dim / 32; + l++) { + k_cache_q8[layer_id][head_id][block_idx][l].d = 0; + v_cache_q8[layer_id][head_id][block_idx][l].d = 0; + } + } + }, + nullptr); + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + // printf("time of clear_kvcache_all_layers: %f s\n", duration.count()); +} + +void KVCache::get_sincos(ggml_fp16_t *sin, ggml_fp16_t *cos, int seqlen) { + // Timer start + auto start = std::chrono::high_resolution_clock::now(); + + const uint16_t *sin_data = const_cast(sin); + const uint16_t *cos_data = const_cast(cos); + + for (int i = 0; i < seqlen; i++) { + for (int j = 0; j < config_.head_dim; j++) { + sin_[i][j] = sin_data[i * config_.head_dim + j]; + cos_[i][j] = cos_data[i * config_.head_dim + j]; + } + } + + // Timer end + auto end = std::chrono::high_resolution_clock::now(); + std::chrono::duration duration = end - start; + printf("time of get_sincos: %f s\n", duration.count()); +} + +void ggml_vec_scale_f32(const int n, float *y, const float v) { +#if defined(GGML_USE_ACCELERATE) + vDSP_vsmul(y, 1, &v, y, 1, n); +#elif defined(GGML_SIMD) + const int np = (n & ~(GGML_F32_STEP - 1)); + + GGML_F32_VEC vx = GGML_F32_VEC_SET1(v); + + GGML_F32_VEC ay[GGML_F32_ARR]; + + for (int i = 0; i < np; i += GGML_F32_STEP) { + for (int j = 0; j < GGML_F32_ARR; j++) { + ay[j] = GGML_F32_VEC_LOAD(y + i + j * GGML_F32_EPR); + ay[j] = GGML_F32_VEC_MUL(ay[j], vx); + + GGML_F32_VEC_STORE(y + i + j * GGML_F32_EPR, ay[j]); + } + } + + // leftovers + for (int i = np; i < n; ++i) { + y[i] *= v; + } +#else + // scalar + for (int i = 0; i < n; ++i) { + y[i] *= v; + } +#endif +} \ No newline at end of file diff --git a/ktransformers/ktransformers_ext/operators/llamafile/linear.cpp b/ktransformers/ktransformers_ext/operators/llamafile/linear.cpp index 81e5006..d1e7967 100644 --- a/ktransformers/ktransformers_ext/operators/llamafile/linear.cpp +++ b/ktransformers/ktransformers_ext/operators/llamafile/linear.cpp @@ -3,8 +3,8 @@ * @Author : chenht2022 * @Date : 2024-07-12 10:07:58 * @Version : 1.0.0 - * @LastEditors : chenht2022 - * @LastEditTime : 2024-07-25 10:34:58 + * @LastEditors : kkk1nak0 + * @LastEditTime : 2024-08-15 07:45:18 * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. **/ #include "linear.h" @@ -24,10 +24,14 @@ Linear::~Linear() { shared_mem_buffer.dealloc(this); } -void Linear::warm_up(Backend* backend) { +void Linear::warm_up(Backend *backend) { std::vector input_fp32(config_.input_size); - std::vector input(config_.input_size * ggml_type_size(config_.hidden_type) / ggml_blck_size(config_.hidden_type)); - std::vector output(config_.output_size * ggml_type_size(config_.hidden_type) / ggml_blck_size(config_.hidden_type)); + std::vector input(config_.input_size * + ggml_type_size(config_.hidden_type) / + ggml_blck_size(config_.hidden_type)); + std::vector output(config_.output_size * + ggml_type_size(config_.hidden_type) / + ggml_blck_size(config_.hidden_type)); for (int i = 0; i < config_.input_size; i++) { input_fp32[i] = 0; } @@ -45,7 +49,7 @@ void Linear::forward_many(int qlen, const void* input, void* output, Backend* ba proj_input_ptr = proj_input_; } int nth = config_.output_size / config_.stride; - backend->do_work_stealing_job(nth, [&](int task_id) { + backend->do_work_stealing_job(nth, nullptr, [&](int task_id) { int ith = task_id; void* proj_ptr = (uint8_t*)proj_ + ith * config_.stride * config_.input_size * ggml_type_size(config_.proj_type) / ggml_blck_size(config_.proj_type); float* proj_output_ptr = proj_output_ + ith * config_.stride; @@ -57,7 +61,7 @@ void Linear::forward_many(int qlen, const void* input, void* output, Backend* ba from_float(output_fp32_ptr, output_ptr, config_.stride, config_.hidden_type); } } - }); + }, nullptr); if (config_.stride % ggml_blck_size(config_.hidden_type) != 0) { from_float(proj_output_, output, qlen * config_.output_size, config_.hidden_type); } diff --git a/ktransformers/ktransformers_ext/operators/llamafile/mlp.cpp b/ktransformers/ktransformers_ext/operators/llamafile/mlp.cpp index abad01e..602fdcb 100644 --- a/ktransformers/ktransformers_ext/operators/llamafile/mlp.cpp +++ b/ktransformers/ktransformers_ext/operators/llamafile/mlp.cpp @@ -3,8 +3,8 @@ * @Author : chenht2022 * @Date : 2024-07-16 10:43:18 * @Version : 1.0.0 - * @LastEditors : chenht2022 - * @LastEditTime : 2024-07-25 10:35:04 + * @LastEditors : kkk1nak0 + * @LastEditTime : 2024-08-15 07:44:38 * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. **/ #include "mlp.h" @@ -31,10 +31,14 @@ MLP::~MLP() { shared_mem_buffer.dealloc(this); } -void MLP::warm_up(Backend* backend) { +void MLP::warm_up(Backend *backend) { std::vector input_fp32(config_.hidden_size); - std::vector input(config_.hidden_size * ggml_type_size(config_.hidden_type) / ggml_blck_size(config_.hidden_type)); - std::vector output(config_.hidden_size * ggml_type_size(config_.hidden_type) / ggml_blck_size(config_.hidden_type)); + std::vector input(config_.hidden_size * + ggml_type_size(config_.hidden_type) / + ggml_blck_size(config_.hidden_type)); + std::vector output(config_.hidden_size * + ggml_type_size(config_.hidden_type) / + ggml_blck_size(config_.hidden_type)); for (int i = 0; i < config_.hidden_size; i++) { input_fp32[i] = 0; } @@ -42,9 +46,7 @@ void MLP::warm_up(Backend* backend) { forward_many(1, input.data(), output.data(), backend); } -static float act_fn(float x) { - return x / (1.0f + expf(-x)); -} +static float act_fn(float x) { return x / (1.0f + expf(-x)); } void MLP::forward_many(int qlen, const void* input, void* output, Backend* backend) { const void* gate_input_ptr; @@ -72,7 +74,7 @@ void MLP::forward_many(int qlen, const void* input, void* output, Backend* backe } } int nth = config_.intermediate_size / config_.stride; - backend->do_work_stealing_job(nth, [&](int task_id) { + backend->do_work_stealing_job(nth, nullptr, [&](int task_id) { int ith = task_id; void* gate_proj_ptr = (uint8_t*)gate_proj_ + ith * config_.stride * config_.hidden_size * ggml_type_size(config_.gate_type) / ggml_blck_size(config_.gate_type); float* gate_output_ptr = gate_output_ + ith * config_.stride; @@ -90,12 +92,12 @@ void MLP::forward_many(int qlen, const void* input, void* output, Backend* backe from_float(intermediate_fp32_ptr, down_input_ptr, config_.stride, ggml_internal_get_type_traits(config_.down_type).vec_dot_type); } } - }); + }, nullptr); if (config_.stride % ggml_blck_size(ggml_internal_get_type_traits(config_.down_type).vec_dot_type) != 0) { from_float(intermediate_fp32_, down_input_, qlen * config_.intermediate_size, ggml_internal_get_type_traits(config_.down_type).vec_dot_type); } nth = config_.hidden_size / config_.stride; - backend->do_work_stealing_job(nth, [&](int task_id) { + backend->do_work_stealing_job(nth, nullptr, [&](int task_id) { int ith = task_id; void* down_proj_ptr = (uint8_t*)down_proj_ + ith * config_.stride * config_.intermediate_size * ggml_type_size(config_.down_type) / ggml_blck_size(config_.down_type); float* down_output_ptr = down_output_ + ith * config_.stride; @@ -107,7 +109,7 @@ void MLP::forward_many(int qlen, const void* input, void* output, Backend* backe from_float(output_fp32_ptr, output_ptr, config_.stride, config_.hidden_type); } } - }); + }, nullptr); if (config_.stride % ggml_blck_size(config_.hidden_type) != 0) { from_float(down_output_, output, qlen * config_.hidden_size, config_.hidden_type); } diff --git a/ktransformers/ktransformers_ext/operators/llamafile/moe.cpp b/ktransformers/ktransformers_ext/operators/llamafile/moe.cpp index d75db65..0fcf9df 100644 --- a/ktransformers/ktransformers_ext/operators/llamafile/moe.cpp +++ b/ktransformers/ktransformers_ext/operators/llamafile/moe.cpp @@ -3,8 +3,8 @@ * @Author : chenht2022 * @Date : 2024-07-22 02:03:22 * @Version : 1.0.0 - * @LastEditors : chenht2022 - * @LastEditTime : 2024-07-25 10:35:07 + * @LastEditors : kkk1nak0 + * @LastEditTime : 2024-08-15 07:43:41 * @Copyright (c) 2024 by KVCache.AI, All Rights Reserved. **/ #include "moe.h" @@ -121,7 +121,7 @@ void MOE::forward_one(int k, const uint64_t* expert_ids, const float* weights, c } } int nth = config_.intermediate_size / config_.stride; - backend->do_work_stealing_job(nth * k, [&](int task_id) { + backend->do_work_stealing_job(nth * k, nullptr, [&](int task_id) { int expert_idx = task_id / nth; uint64_t expert_id = expert_ids[expert_idx]; int ith = task_id % nth; @@ -139,14 +139,14 @@ void MOE::forward_one(int k, const uint64_t* expert_ids, const float* weights, c void* down_input_ptr = s_down_input_[expert_idx] + ith * config_.stride * ggml_type_size(ggml_internal_get_type_traits(config_.down_type).vec_dot_type) / ggml_blck_size(ggml_internal_get_type_traits(config_.down_type).vec_dot_type); from_float(intermediate_fp32_ptr, down_input_ptr, config_.stride, ggml_internal_get_type_traits(config_.down_type).vec_dot_type); } - }); + }, nullptr); if (config_.stride % ggml_blck_size(ggml_internal_get_type_traits(config_.down_type).vec_dot_type) != 0) { for (int i = 0; i < k; i++) { from_float(s_intermediate_fp32_[i], s_down_input_[i], config_.intermediate_size, ggml_internal_get_type_traits(config_.down_type).vec_dot_type); } } nth = config_.hidden_size / config_.stride; - backend->do_work_stealing_job(nth, [&](int task_id) { + backend->do_work_stealing_job(nth, nullptr, [&](int task_id) { int ith = task_id; for (int i = ith * config_.stride; i < (ith + 1) * config_.stride; i++) { s_output_fp32_[i] = 0; @@ -165,7 +165,7 @@ void MOE::forward_one(int k, const uint64_t* expert_ids, const float* weights, c void* output_ptr = (uint8_t*)output + ith * config_.stride * ggml_type_size(config_.hidden_type) / ggml_blck_size(config_.hidden_type); from_float(output_fp32_ptr, output_ptr, config_.stride, config_.hidden_type); } - }); + }, nullptr); if (config_.stride % ggml_blck_size(config_.hidden_type) != 0) { from_float(s_output_fp32_, output, config_.hidden_size, config_.hidden_type); } @@ -191,7 +191,7 @@ void MOE::forward_many(int qlen, int k, const uint64_t* expert_ids, const float* m_local_down_output_ptr_[i] = m_local_down_output_ + offset * config_.hidden_size; offset += m_local_num_[i]; } - backend->do_work_stealing_job(qlen, [&](int i) { + backend->do_work_stealing_job(qlen, nullptr, [&](int i) { const void* gate_input_ptr; const void* up_input_ptr; if (config_.hidden_type == ggml_internal_get_type_traits(config_.gate_type).vec_dot_type && config_.hidden_type == ggml_internal_get_type_traits(config_.up_type).vec_dot_type) { @@ -220,10 +220,10 @@ void MOE::forward_many(int qlen, int k, const uint64_t* expert_ids, const float* memcpy(m_local_gate_input_ptr_[expert_ids[i * k + j]] + m_local_pos_[i][j] * config_.hidden_size * ggml_type_size(ggml_internal_get_type_traits(config_.gate_type).vec_dot_type) / ggml_blck_size(ggml_internal_get_type_traits(config_.gate_type).vec_dot_type), gate_input_ptr, config_.hidden_size * ggml_type_size(ggml_internal_get_type_traits(config_.gate_type).vec_dot_type) / ggml_blck_size(ggml_internal_get_type_traits(config_.gate_type).vec_dot_type)); memcpy(m_local_up_input_ptr_[expert_ids[i * k + j]] + m_local_pos_[i][j] * config_.hidden_size * ggml_type_size(ggml_internal_get_type_traits(config_.up_type).vec_dot_type) / ggml_blck_size(ggml_internal_get_type_traits(config_.up_type).vec_dot_type), up_input_ptr, config_.hidden_size * ggml_type_size(ggml_internal_get_type_traits(config_.up_type).vec_dot_type) / ggml_blck_size(ggml_internal_get_type_traits(config_.up_type).vec_dot_type)); } - }); + }, nullptr); int stride = QK_K; int nth = config_.intermediate_size / stride; - backend->do_work_stealing_job(nth * config_.expert_num, [&](int task_id) { + backend->do_work_stealing_job(nth * config_.expert_num, nullptr, [&](int task_id) { int expert_idx = task_id / nth; int ith = task_id % nth; void* gate_input_ptr = m_local_gate_input_ptr_[expert_idx]; @@ -242,18 +242,18 @@ void MOE::forward_many(int qlen, int k, const uint64_t* expert_ids, const float* void* down_input_ptr = m_local_down_input_ptr_[expert_idx] + i * config_.intermediate_size * ggml_type_size(ggml_internal_get_type_traits(config_.down_type).vec_dot_type) / ggml_blck_size(ggml_internal_get_type_traits(config_.down_type).vec_dot_type) + ith * stride * ggml_type_size(ggml_internal_get_type_traits(config_.down_type).vec_dot_type) / ggml_blck_size(ggml_internal_get_type_traits(config_.down_type).vec_dot_type); from_float(intermediate_fp32_ptr, down_input_ptr, stride, ggml_internal_get_type_traits(config_.down_type).vec_dot_type); } - }); + }, nullptr); stride = QK_K; nth = config_.hidden_size / stride; - backend->do_work_stealing_job(nth * config_.expert_num, [&](int task_id) { + backend->do_work_stealing_job(nth * config_.expert_num, nullptr, [&](int task_id) { int expert_idx = task_id / nth; int ith = task_id % nth; void* down_input_ptr = m_local_down_input_ptr_[expert_idx]; void* down_proj_ptr = (uint8_t*)down_proj_ + (expert_idx * config_.hidden_size + ith * stride) * config_.intermediate_size * ggml_type_size(config_.down_type) / ggml_blck_size(config_.down_type); float* down_output_ptr = m_local_down_output_ptr_[expert_idx] + ith * stride; llamafile_sgemm(stride, m_local_num_[expert_idx], config_.intermediate_size / ggml_blck_size(config_.down_type), down_proj_ptr, config_.intermediate_size / ggml_blck_size(config_.down_type), down_input_ptr, config_.intermediate_size / ggml_blck_size(config_.down_type), down_output_ptr, config_.hidden_size, 0, 1, GGML_TASK_TYPE_COMPUTE, config_.down_type, ggml_internal_get_type_traits(config_.down_type).vec_dot_type, GGML_TYPE_F32, GGML_PREC_DEFAULT); - }); - backend->do_work_stealing_job(qlen, [&](int i) { + }, nullptr); + backend->do_work_stealing_job(qlen, nullptr, [&](int i) { for (int e = 0; e < config_.hidden_size; e++) { m_output_fp32_[i][e] = 0; } @@ -263,7 +263,7 @@ void MOE::forward_many(int qlen, int k, const uint64_t* expert_ids, const float* } } from_float(m_output_fp32_[i], (uint8_t*)output + i * config_.hidden_size * ggml_type_size(config_.hidden_type) / ggml_blck_size(config_.hidden_type), config_.hidden_size, config_.hidden_type); - }); + }, nullptr); } void MOE::forward(int qlen, int k, const uint64_t* expert_ids, const float* weights, const void* input, void* output, Backend* backend) { diff --git a/ktransformers/local_chat.py b/ktransformers/local_chat.py old mode 100755 new mode 100644 index b5782d1..3fcbf6f --- a/ktransformers/local_chat.py +++ b/ktransformers/local_chat.py @@ -1,20 +1,14 @@ -# Copyright 2024 Shaoyuan Chen -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. +""" +Description : +Author : Boxin Zhang, Azure-Tang +Version : 0.1.0 +Copyright (c) 2024 by KVCache.AI, All Rights Reserved. +""" import os import platform import sys + project_dir = os.path.dirname(os.path.dirname(__file__)) sys.path.insert(0, project_dir) import torch @@ -31,6 +25,7 @@ import fire from ktransformers.optimize.optimize import optimize_and_load_gguf from ktransformers.models.modeling_deepseek import DeepseekV2ForCausalLM from ktransformers.models.modeling_qwen2_moe import Qwen2MoeForCausalLM +from ktransformers.models.modeling_llama import LlamaForCausalLM from ktransformers.models.modeling_mixtral import MixtralForCausalLM from ktransformers.util.utils import prefill_and_generate from ktransformers.server.config.config import Config @@ -38,38 +33,56 @@ from ktransformers.server.config.config import Config custom_models = { "DeepseekV2ForCausalLM": DeepseekV2ForCausalLM, "Qwen2MoeForCausalLM": Qwen2MoeForCausalLM, + "LlamaForCausalLM": LlamaForCausalLM, "MixtralForCausalLM": MixtralForCausalLM, } -ktransformer_rules_dir = os.path.dirname(os.path.abspath(__file__)) + "/optimize/optimize_rules/" -default_optimize_rules ={ +ktransformer_rules_dir = ( + os.path.dirname(os.path.abspath(__file__)) + "/optimize/optimize_rules/" +) +default_optimize_rules = { "DeepseekV2ForCausalLM": ktransformer_rules_dir + "DeepSeek-V2-Chat.yaml", "Qwen2MoeForCausalLM": ktransformer_rules_dir + "Qwen2-57B-A14B-Instruct.yaml", + "LlamaForCausalLM": ktransformer_rules_dir + "Internlm2_5-7b-Chat-1m.yaml", "MixtralForCausalLM": ktransformer_rules_dir + "Mixtral.yaml", } + def local_chat( - model_path: str, + model_path: str | None = None, optimize_rule_path: str = None, - gguf_path: str = None, + gguf_path: str | None = None, max_new_tokens: int = 1000, cpu_infer: int = Config().cpu_infer, use_cuda_graph: bool = True, + prompt_file : str | None = None, + mode: str = "normal", ): + + torch.set_grad_enabled(False) - + Config().cpu_infer = cpu_infer - tokenizer = AutoTokenizer.from_pretrained(model_path) + + tokenizer = AutoTokenizer.from_pretrained(model_path, trust_remote_code=True) config = AutoConfig.from_pretrained(model_path, trust_remote_code=True) - torch.set_default_dtype(config.torch_dtype) + if mode == 'long_context': + torch.set_default_dtype(torch.float16) + else: + torch.set_default_dtype(config.torch_dtype) with torch.device("meta"): if config.architectures[0] in custom_models: print("using custom modeling_xxx.py.") - if "Qwen2Moe" in config.architectures[0]: # Qwen2Moe must use flash_attention_2 to avoid overflow. + if ( + "Qwen2Moe" in config.architectures[0] + ): # Qwen2Moe must use flash_attention_2 to avoid overflow. config._attn_implementation = "flash_attention_2" - if "Mixtral" in config.architectures[0]: + if "Llama" in config.architectures[0]: + config._attn_implementation = "eager" + if "Mixtral" in config.architectures[0]: config._attn_implementation = "flash_attention_2" + model = custom_models[config.architectures[0]](config) else: model = AutoModelForCausalLM.from_config( @@ -95,26 +108,50 @@ def local_chat( if model.generation_config.pad_token_id is None: model.generation_config.pad_token_id = model.generation_config.eos_token_id model.eval() - logging.basicConfig(level=logging.INFO) system = platform.system() - if (system == u'Windows'): - os.system('cls') + if system == "Windows": + os.system("cls") else: - os.system('clear') + os.system("clear") while True: content = input("Chat: ") - if content == "": - content = "Please write a piece of quicksort code in C++." + if content.startswith('"""'): # prefix """ + # multi lines input + content = content[3:] + "\n" + while True: + line = input("") + if line.endswith('"""'): + # end multi lines input + line = line[:-3] # suffix """ + if line: + content += line + "\n" + break + else: + content += line + "\n" + if content == "": + if prompt_file != None: + content = open(prompt_file, "r").read() + else: + content = "Please write a piece of quicksort code in C++." + elif os.path.isfile(content): + content = open(content, "r").read() messages = [{"role": "user", "content": content}] input_tensor = tokenizer.apply_chat_template( messages, add_generation_prompt=True, return_tensors="pt" ) - torch.set_default_dtype(torch.bfloat16) # TODO: Remove this, replace dtype using config - generated = prefill_and_generate(model, tokenizer, input_tensor.cuda(), max_new_tokens, use_cuda_graph) + assert Config().long_context_config['max_seq_len'] > input_tensor.shape[1] + max_new_tokens, \ + "please change max_seq_len in ~/.ktransformers/config.yaml" + torch.set_default_dtype( + torch.bfloat16 + ) # TODO: Remove this, replace dtype using config + generated = prefill_and_generate( + model, tokenizer, input_tensor.cuda(), max_new_tokens, use_cuda_graph, mode + ) + if __name__ == "__main__": - fire.Fire(local_chat) \ No newline at end of file + fire.Fire(local_chat) diff --git a/ktransformers/models/configuration_llama.py b/ktransformers/models/configuration_llama.py new file mode 100644 index 0000000..2b4f4db --- /dev/null +++ b/ktransformers/models/configuration_llama.py @@ -0,0 +1,203 @@ +# coding=utf-8 +# Copyright 2022 EleutherAI and the HuggingFace Inc. team. All rights reserved. +# +# This code is based on EleutherAI's GPT-NeoX library and the GPT-NeoX +# and OPT implementations in this library. It has been modified from its +# original forms to accommodate minor architectural differences compared +# to GPT-NeoX and OPT used by the Meta AI team that trained the model. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""LLaMA model configuration""" + +from transformers.configuration_utils import PretrainedConfig +from transformers.modeling_rope_utils import rope_config_validation + + +class LlamaConfig(PretrainedConfig): + r""" + This is the configuration class to store the configuration of a [`LlamaModel`]. It is used to instantiate an LLaMA + model according to the specified arguments, defining the model architecture. Instantiating a configuration with the + defaults will yield a similar configuration to that of the LLaMA-7B. + + Configuration objects inherit from [`PretrainedConfig`] and can be used to control the model outputs. Read the + documentation from [`PretrainedConfig`] for more information. + + + Args: + vocab_size (`int`, *optional*, defaults to 32000): + Vocabulary size of the LLaMA model. Defines the number of different tokens that can be represented by the + `inputs_ids` passed when calling [`LlamaModel`] + hidden_size (`int`, *optional*, defaults to 4096): + Dimension of the hidden representations. + intermediate_size (`int`, *optional*, defaults to 11008): + Dimension of the MLP representations. + num_hidden_layers (`int`, *optional*, defaults to 32): + Number of hidden layers in the Transformer decoder. + num_attention_heads (`int`, *optional*, defaults to 32): + Number of attention heads for each attention layer in the Transformer decoder. + num_key_value_heads (`int`, *optional*): + This is the number of key_value heads that should be used to implement Grouped Query Attention. If + `num_key_value_heads=num_attention_heads`, the model will use Multi Head Attention (MHA), if + `num_key_value_heads=1` the model will use Multi Query Attention (MQA) otherwise GQA is used. When + converting a multi-head checkpoint to a GQA checkpoint, each group key and value head should be constructed + by meanpooling all the original heads within that group. For more details checkout [this + paper](https://arxiv.org/pdf/2305.13245.pdf). If it is not specified, will default to + `num_attention_heads`. + hidden_act (`str` or `function`, *optional*, defaults to `"silu"`): + The non-linear activation function (function or string) in the decoder. + max_position_embeddings (`int`, *optional*, defaults to 2048): + The maximum sequence length that this model might ever be used with. Llama 1 supports up to 2048 tokens, + Llama 2 up to 4096, CodeLlama up to 16384. + initializer_range (`float`, *optional*, defaults to 0.02): + The standard deviation of the truncated_normal_initializer for initializing all weight matrices. + rms_norm_eps (`float`, *optional*, defaults to 1e-06): + The epsilon used by the rms normalization layers. + use_cache (`bool`, *optional*, defaults to `True`): + Whether or not the model should return the last key/values attentions (not used by all models). Only + relevant if `config.is_decoder=True`. + pad_token_id (`int`, *optional*): + Padding token id. + bos_token_id (`int`, *optional*, defaults to 1): + Beginning of stream token id. + eos_token_id (`int`, *optional*, defaults to 2): + End of stream token id. + pretraining_tp (`int`, *optional*, defaults to 1): + Experimental feature. Tensor parallelism rank used during pretraining. Please refer to [this + document](https://huggingface.co/docs/transformers/main/perf_train_gpu_many#tensor-parallelism) to + understand more about it. This value is necessary to ensure exact reproducibility of the pretraining + results. Please refer to [this issue](https://github.com/pytorch/pytorch/issues/76232). + tie_word_embeddings (`bool`, *optional*, defaults to `False`): + Whether to tie weight embeddings + rope_theta (`float`, *optional*, defaults to 10000.0): + The base period of the RoPE embeddings. + rope_scaling (`Dict`, *optional*): + Dictionary containing the scaling configuration for the RoPE embeddings. NOTE: if you apply new rope type + and you expect the model to work on longer `max_position_embeddings`, we recommend you to update this value + accordingly. + Expected contents: + `rope_type` (`str`): + The sub-variant of RoPE to use. Can be one of ['default', 'linear', 'dynamic', 'yarn', 'longrope', + 'llama3'], with 'default' being the original RoPE implementation. + `factor` (`float`, *optional*): + Used with all rope types except 'default'. The scaling factor to apply to the RoPE embeddings. In + most scaling types, a `factor` of x will enable the model to handle sequences of length x * + original maximum pre-trained length. + `original_max_position_embeddings` (`int`, *optional*): + Used with 'dynamic', 'longrope' and 'llama3'. The original max position embeddings used during + pretraining. + `attention_factor` (`float`, *optional*): + Used with 'yarn' and 'longrope'. The scaling factor to be applied on the attention + computation. If unspecified, it defaults to value recommended by the implementation, using the + `factor` field to infer the suggested value. + `beta_fast` (`float`, *optional*): + Only used with 'yarn'. Parameter to set the boundary for extrapolation (only) in the linear + ramp function. If unspecified, it defaults to 32. + `beta_slow` (`float`, *optional*): + Only used with 'yarn'. Parameter to set the boundary for interpolation (only) in the linear + ramp function. If unspecified, it defaults to 1. + `short_factor` (`List[float]`, *optional*): + Only used with 'longrope'. The scaling factor to be applied to short contexts (< + `original_max_position_embeddings`). Must be a list of numbers with the same length as the hidden + size divided by the number of attention heads divided by 2 + `long_factor` (`List[float]`, *optional*): + Only used with 'longrope'. The scaling factor to be applied to long contexts (< + `original_max_position_embeddings`). Must be a list of numbers with the same length as the hidden + size divided by the number of attention heads divided by 2 + `low_freq_factor` (`float`, *optional*): + Only used with 'llama3'. Scaling factor applied to low frequency components of the RoPE + `high_freq_factor` (`float`, *optional*): + Only used with 'llama3'. Scaling factor applied to high frequency components of the RoPE + attention_bias (`bool`, *optional*, defaults to `False`): + Whether to use a bias in the query, key, value and output projection layers during self-attention. + attention_dropout (`float`, *optional*, defaults to 0.0): + The dropout ratio for the attention probabilities. + mlp_bias (`bool`, *optional*, defaults to `False`): + Whether to use a bias in up_proj, down_proj and gate_proj layers in the MLP layers. + + ```python + >>> from transformers import LlamaModel, LlamaConfig + + >>> # Initializing a LLaMA llama-7b style configuration + >>> configuration = LlamaConfig() + + >>> # Initializing a model from the llama-7b style configuration + >>> model = LlamaModel(configuration) + + >>> # Accessing the model configuration + >>> configuration = model.config + ```""" + + model_type = "llama" + keys_to_ignore_at_inference = ["past_key_values"] + + def __init__( + self, + vocab_size=32000, + hidden_size=4096, + intermediate_size=11008, + num_hidden_layers=32, + num_attention_heads=32, + num_key_value_heads=None, + hidden_act="silu", + max_position_embeddings=2048, + initializer_range=0.02, + rms_norm_eps=1e-6, + use_cache=True, + pad_token_id=None, + bos_token_id=1, + eos_token_id=2, + pretraining_tp=1, + tie_word_embeddings=False, + rope_theta=10000.0, + rope_scaling=None, + attention_bias=False, + attention_dropout=0.0, + mlp_bias=False, + **kwargs, + ): + self.vocab_size = vocab_size + self.max_position_embeddings = max_position_embeddings + self.hidden_size = hidden_size + self.intermediate_size = intermediate_size + self.num_hidden_layers = num_hidden_layers + self.num_attention_heads = num_attention_heads + + # for backward compatibility + if num_key_value_heads is None: + num_key_value_heads = num_attention_heads + + self.num_key_value_heads = num_key_value_heads + self.hidden_act = hidden_act + self.initializer_range = initializer_range + self.rms_norm_eps = rms_norm_eps + self.pretraining_tp = pretraining_tp + self.use_cache = use_cache + self.rope_theta = rope_theta + self.rope_scaling = rope_scaling + self.attention_bias = attention_bias + self.attention_dropout = attention_dropout + self.mlp_bias = mlp_bias + + # Validate the correctness of rotary position embeddings parameters + # BC: if there is a 'type' field, move it to 'rope_type'. + if self.rope_scaling is not None and "type" in self.rope_scaling: + self.rope_scaling["rope_type"] = self.rope_scaling["type"] + rope_config_validation(self) + + super().__init__( + pad_token_id=pad_token_id, + bos_token_id=bos_token_id, + eos_token_id=eos_token_id, + tie_word_embeddings=tie_word_embeddings, + **kwargs, + ) diff --git a/ktransformers/models/modeling_llama.py b/ktransformers/models/modeling_llama.py new file mode 100644 index 0000000..5271ed5 --- /dev/null +++ b/ktransformers/models/modeling_llama.py @@ -0,0 +1,1744 @@ +# coding=utf-8 +# Copyright 2022 EleutherAI and the HuggingFace Inc. team. All rights reserved. +# +# This code is based on EleutherAI's GPT-NeoX library and the GPT-NeoX +# and OPT implementations in this library. It has been modified from its +# original forms to accommodate minor architectural differences compared +# to GPT-NeoX and OPT used by the Meta AI team that trained the model. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +import math +from typing import List, Optional, Tuple, Union + +import torch +import torch.nn.functional as F +import torch.utils.checkpoint +from torch import nn +from torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss + +from transformers.activations import ACT2FN +from transformers.cache_utils import Cache, DynamicCache, StaticCache +from transformers.modeling_attn_mask_utils import AttentionMaskConverter +from transformers.modeling_flash_attention_utils import _flash_attention_forward +from transformers.modeling_outputs import ( + BaseModelOutputWithPast, + CausalLMOutputWithPast, + QuestionAnsweringModelOutput, + SequenceClassifierOutputWithPast, + TokenClassifierOutput, +) +from transformers.modeling_rope_utils import ROPE_INIT_FUNCTIONS +from transformers.modeling_utils import PreTrainedModel +from transformers.pytorch_utils import ALL_LAYERNORM_LAYERS +from transformers.utils import ( + add_start_docstrings, + add_start_docstrings_to_model_forward, + is_flash_attn_greater_or_equal_2_10, + logging, + replace_return_docstrings, +) +from .configuration_llama import LlamaConfig + + +logger = logging.get_logger(__name__) + +_CONFIG_FOR_DOC = "LlamaConfig" + + +class LlamaRMSNorm(nn.Module): + def __init__(self, hidden_size, eps=1e-6): + """ + LlamaRMSNorm is equivalent to T5LayerNorm + """ + super().__init__() + self.weight = nn.Parameter(torch.ones(hidden_size)) + self.variance_epsilon = eps + + def forward(self, hidden_states): + input_dtype = hidden_states.dtype + hidden_states = hidden_states.to(torch.float32) + variance = hidden_states.pow(2).mean(-1, keepdim=True) + hidden_states = hidden_states * torch.rsqrt(variance + self.variance_epsilon) + return self.weight * hidden_states.to(input_dtype) + + +ALL_LAYERNORM_LAYERS.append(LlamaRMSNorm) + + +class LlamaRotaryEmbedding(nn.Module): + def __init__( + self, + dim=None, + max_position_embeddings=2048, + base=10000, + device=None, + scaling_factor=1.0, + rope_type="default", + config: Optional[LlamaConfig] = None, + ): + super().__init__() + self.dim = dim + self.max_position_embeddings = max_position_embeddings + self.base = base + self.device = device + self.scaling_factor = scaling_factor + self.rope_type = rope_type + self.config = config + # TODO (joao): remove the `if` below, only used for BC + self.rope_kwargs = {} + if config is None: + logger.warning_once( + "`LlamaRotaryEmbedding` can now be fully parameterized by passing the model config through the " + "`config` argument. All other arguments will be removed in v4.45" + ) + self.rope_kwargs = { + "rope_type": rope_type, + "factor": scaling_factor, + "dim": dim, + "base": base, + "max_position_embeddings": max_position_embeddings, + } + self.rope_type = rope_type + self.max_seq_len_cached = max_position_embeddings + self.original_max_seq_len = max_position_embeddings + else: + # BC: "rope_type" was originally "type" + if config.rope_scaling is not None: + self.rope_type = config.rope_scaling.get( + "rope_type", config.rope_scaling.get("type") + ) + else: + self.rope_type = "default" + self.max_seq_len_cached = config.max_position_embeddings + self.original_max_seq_len = config.max_position_embeddings + + self.config = config + self.rope_init_fn = ROPE_INIT_FUNCTIONS[self.rope_type] + + inv_freq, self.attention_scaling = self.rope_init_fn( + self.config, device, **self.rope_kwargs + ) + self.register_buffer("inv_freq", inv_freq, persistent=False) + self.original_inv_freq = self.inv_freq + + def _dynamic_frequency_update(self, position_ids, device): + """ + dynamic RoPE layers should recompute `inv_freq` in the following situations: + 1 - growing beyond the cached sequence length (allow scaling) + 2 - the current sequence length is in the original scale (avoid losing precision with small sequences) + """ + seq_len = torch.max(position_ids) + 1 + # seq_len = position_ids[0, -1] + 1 + if seq_len > self.max_seq_len_cached: # growth + inv_freq, self.attention_scaling = self.rope_init_fn( + self.config, device, seq_len=seq_len, **self.rope_kwargs + ) + self.register_buffer( + "inv_freq", inv_freq, persistent=False + ) # TODO joao: may break with compilation + self.max_seq_len_cached = seq_len + + if ( + seq_len < self.original_max_seq_len + and self.max_seq_len_cached > self.original_max_seq_len + ): # reset + self.register_buffer("inv_freq", self.original_inv_freq, persistent=False) + self.max_seq_len_cached = self.original_max_seq_len + + @torch.no_grad() + def forward(self, x, position_ids): + # if "dynamic" in self.rope_type: + # self._dynamic_frequency_update(position_ids, device=x.device) + + # Core RoPE block + inv_freq_expanded = ( + self.inv_freq[None, :, None].float().expand(position_ids.shape[0], -1, 1) + ) + position_ids_expanded = position_ids[:, None, :].float() + # Force float32 (see https://github.com/huggingface/transformers/pull/29285) + device_type = x.device.type + device_type = ( + device_type + if isinstance(device_type, str) and device_type != "mps" + else "cpu" + ) + with torch.autocast(device_type=device_type, enabled=False): + freqs = ( + inv_freq_expanded.float() @ position_ids_expanded.float() + ).transpose(1, 2) + emb = torch.cat((freqs, freqs), dim=-1) + cos = emb.cos() + sin = emb.sin() + + # Advanced RoPE types (e.g. yarn) apply a post-processing scaling factor, equivalent to scaling attention + cos = cos * self.attention_scaling + sin = sin * self.attention_scaling + + return cos.to(dtype=x.dtype), sin.to(dtype=x.dtype) + + +class LlamaLinearScalingRotaryEmbedding(LlamaRotaryEmbedding): + """LlamaRotaryEmbedding extended with linear scaling. Credits to the Reddit user /u/kaiokendev""" + + def __init__(self, *args, **kwargs): + logger.warning_once( + "`LlamaLinearScalingRotaryEmbedding` is deprecated an will be removed in v4.45. Please use " + "`LlamaRotaryEmbedding`, which now also does linear scaling (simply pass the model config to __init__)." + ) + kwargs["rope_type"] = "linear" + super().__init__(*args, **kwargs) + + +class LlamaDynamicNTKScalingRotaryEmbedding(LlamaRotaryEmbedding): + """LlamaRotaryEmbedding extended with Dynamic NTK scaling. Credits to the Reddit users /u/bloc97 and /u/emozilla""" + + def __init__(self, *args, **kwargs): + logger.warning_once( + "`LlamaDynamicNTKScalingRotaryEmbedding` is deprecated an will be removed in v4.45. Please use " + "`LlamaRotaryEmbedding`, which now also does dynamic ntk scaling (simply pass the model config to " + "__init__)." + ) + kwargs["rope_type"] = "dynamic" + super().__init__(*args, **kwargs) + + +def rotate_half(x): + """Rotates half the hidden dims of the input.""" + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2 :] + return torch.cat((-x2, x1), dim=-1) + + +def apply_rotary_pos_emb(q, k, cos, sin, position_ids=None, unsqueeze_dim=1): + """Applies Rotary Position Embedding to the query and key tensors. + + Args: + q (`torch.Tensor`): The query tensor. + k (`torch.Tensor`): The key tensor. + cos (`torch.Tensor`): The cosine part of the rotary embedding. + sin (`torch.Tensor`): The sine part of the rotary embedding. + position_ids (`torch.Tensor`, *optional*): + Deprecated and unused. + unsqueeze_dim (`int`, *optional*, defaults to 1): + The 'unsqueeze_dim' argument specifies the dimension along which to unsqueeze cos[position_ids] and + sin[position_ids] so that they can be properly broadcasted to the dimensions of q and k. For example, note + that cos[position_ids] and sin[position_ids] have the shape [batch_size, seq_len, head_dim]. Then, if q and + k have the shape [batch_size, heads, seq_len, head_dim], then setting unsqueeze_dim=1 makes + cos[position_ids] and sin[position_ids] broadcastable to the shapes of q and k. Similarly, if q and k have + the shape [batch_size, seq_len, heads, head_dim], then set unsqueeze_dim=2. + Returns: + `tuple(torch.Tensor)` comprising of the query and key tensors rotated using the Rotary Position Embedding. + """ + cos = cos.unsqueeze(unsqueeze_dim) + sin = sin.unsqueeze(unsqueeze_dim) + q_embed = (q * cos) + (rotate_half(q) * sin) + k_embed = (k * cos) + (rotate_half(k) * sin) + return q_embed, k_embed + + +class LlamaMLP(nn.Module): + def __init__(self, config): + super().__init__() + self.config = config + self.hidden_size = config.hidden_size + self.intermediate_size = config.intermediate_size + self.gate_proj = nn.Linear( + self.hidden_size, self.intermediate_size, bias=config.mlp_bias + ) + self.up_proj = nn.Linear( + self.hidden_size, self.intermediate_size, bias=config.mlp_bias + ) + self.down_proj = nn.Linear( + self.intermediate_size, self.hidden_size, bias=config.mlp_bias + ) + self.act_fn = ACT2FN[config.hidden_act] + + def forward(self, x): + if self.config.pretraining_tp > 1: + slice = self.intermediate_size // self.config.pretraining_tp + gate_proj_slices = self.gate_proj.weight.split(slice, dim=0) + up_proj_slices = self.up_proj.weight.split(slice, dim=0) + down_proj_slices = self.down_proj.weight.split(slice, dim=1) + + gate_proj = torch.cat( + [ + F.linear(x, gate_proj_slices[i]) + for i in range(self.config.pretraining_tp) + ], + dim=-1, + ) + up_proj = torch.cat( + [ + F.linear(x, up_proj_slices[i]) + for i in range(self.config.pretraining_tp) + ], + dim=-1, + ) + + intermediate_states = (self.act_fn(gate_proj) * up_proj).split(slice, dim=2) + down_proj = [ + F.linear(intermediate_states[i], down_proj_slices[i]) + for i in range(self.config.pretraining_tp) + ] + down_proj = sum(down_proj) + else: + down_proj = self.down_proj(self.act_fn(self.gate_proj(x)) * self.up_proj(x)) + + return down_proj + + +def repeat_kv(hidden_states: torch.Tensor, n_rep: int) -> torch.Tensor: + """ + This is the equivalent of torch.repeat_interleave(x, dim=1, repeats=n_rep). The hidden states go from (batch, + num_key_value_heads, seqlen, head_dim) to (batch, num_attention_heads, seqlen, head_dim) + """ + batch, num_key_value_heads, slen, head_dim = hidden_states.shape + if n_rep == 1: + return hidden_states + hidden_states = hidden_states[:, :, None, :, :].expand( + batch, num_key_value_heads, n_rep, slen, head_dim + ) + return hidden_states.reshape(batch, num_key_value_heads * n_rep, slen, head_dim) + + +class LlamaAttention(nn.Module): + """Multi-headed attention from 'Attention Is All You Need' paper""" + + def __init__(self, config: LlamaConfig, layer_idx: Optional[int] = None): + super().__init__() + self.config = config + self.layer_idx = layer_idx + if layer_idx is None: + logger.warning_once( + f"Instantiating {self.__class__.__name__} without passing a `layer_idx` is not recommended and will " + "lead to errors during the forward call if caching is used. Please make sure to provide a `layer_idx` " + "when creating this class." + ) + + self.attention_dropout = config.attention_dropout + self.hidden_size = config.hidden_size + self.num_heads = config.num_attention_heads + self.head_dim = self.hidden_size // self.num_heads + self.num_key_value_heads = config.num_key_value_heads + self.num_key_value_groups = self.num_heads // self.num_key_value_heads + self.max_position_embeddings = config.max_position_embeddings + self.rope_theta = config.rope_theta + self.is_causal = True + + if (self.head_dim * self.num_heads) != self.hidden_size: + raise ValueError( + f"hidden_size must be divisible by num_heads (got `hidden_size`: {self.hidden_size}" + f" and `num_heads`: {self.num_heads})." + ) + + self.q_proj = nn.Linear( + self.hidden_size, self.num_heads * self.head_dim, bias=config.attention_bias + ) + self.k_proj = nn.Linear( + self.hidden_size, + self.num_key_value_heads * self.head_dim, + bias=config.attention_bias, + ) + self.v_proj = nn.Linear( + self.hidden_size, + self.num_key_value_heads * self.head_dim, + bias=config.attention_bias, + ) + self.o_proj = nn.Linear( + self.hidden_size, self.hidden_size, bias=config.attention_bias + ) + + # TODO (joao): remove in v4.45 (RoPE is computed in the model, not in the decoder layers) + self.rotary_emb = LlamaRotaryEmbedding(config=self.config) + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + output_attentions: bool = False, + use_cache: bool = False, + cache_position: Optional[torch.LongTensor] = None, + position_embeddings: Optional[ + Tuple[torch.Tensor, torch.Tensor] + ] = None, # will become mandatory in v4.45 + **kwargs, + ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]: + bsz, q_len, _ = hidden_states.size() + + if self.config.pretraining_tp > 1: + key_value_slicing = ( + self.num_key_value_heads * self.head_dim + ) // self.config.pretraining_tp + query_slices = self.q_proj.weight.split( + (self.num_heads * self.head_dim) // self.config.pretraining_tp, dim=0 + ) + key_slices = self.k_proj.weight.split(key_value_slicing, dim=0) + value_slices = self.v_proj.weight.split(key_value_slicing, dim=0) + + query_states = [ + F.linear(hidden_states, query_slices[i]) + for i in range(self.config.pretraining_tp) + ] + query_states = torch.cat(query_states, dim=-1) + + key_states = [ + F.linear(hidden_states, key_slices[i]) + for i in range(self.config.pretraining_tp) + ] + key_states = torch.cat(key_states, dim=-1) + + value_states = [ + F.linear(hidden_states, value_slices[i]) + for i in range(self.config.pretraining_tp) + ] + value_states = torch.cat(value_states, dim=-1) + + else: + query_states = self.q_proj(hidden_states) + key_states = self.k_proj(hidden_states) + value_states = self.v_proj(hidden_states) + + query_states = query_states.view( + bsz, q_len, self.num_heads, self.head_dim + ).transpose(1, 2) + key_states = key_states.view( + bsz, q_len, self.num_key_value_heads, self.head_dim + ).transpose(1, 2) + value_states = value_states.view( + bsz, q_len, self.num_key_value_heads, self.head_dim + ).transpose(1, 2) + + if position_embeddings is None: + logger.warning_once( + "The attention layers in this model are transitioning from computing the RoPE embeddings internally " + "through `position_ids` (2D tensor with the indexes of the tokens), to using externally computed " + "`position_embeddings` (Tuple of tensors, containing cos and sin). In v4.45 `position_ids` will be " + "removed and `position_embeddings` will be mandatory." + ) + cos, sin = self.rotary_emb(value_states, position_ids) + else: + cos, sin = position_embeddings + query_states, key_states = apply_rotary_pos_emb( + query_states, key_states, cos, sin + ) + + if past_key_value is not None: + # sin and cos are specific to RoPE models; cache_position needed for the static cache + cache_kwargs = {"sin": sin, "cos": cos, "cache_position": cache_position} + key_states, value_states = past_key_value.update( + key_states, value_states, self.layer_idx, cache_kwargs + ) + + key_states = repeat_kv(key_states, self.num_key_value_groups) + value_states = repeat_kv(value_states, self.num_key_value_groups) + + attn_weights = torch.matmul( + query_states, key_states.transpose(2, 3) + ) / math.sqrt(self.head_dim) + + if attention_mask is not None: # no matter the length, we just slice it + causal_mask = attention_mask[:, :, :, : key_states.shape[-2]] + attn_weights = attn_weights + causal_mask + + # upcast attention to fp32 + attn_weights = nn.functional.softmax( + attn_weights, dim=-1, dtype=torch.float32 + ).to(query_states.dtype) + attn_weights = nn.functional.dropout( + attn_weights, p=self.attention_dropout, training=self.training + ) + attn_output = torch.matmul(attn_weights, value_states) + + if attn_output.size() != (bsz, self.num_heads, q_len, self.head_dim): + raise ValueError( + f"`attn_output` should be of size {(bsz, self.num_heads, q_len, self.head_dim)}, but is" + f" {attn_output.size()}" + ) + + attn_output = attn_output.transpose(1, 2).contiguous() + + attn_output = attn_output.reshape(bsz, q_len, -1) + + if self.config.pretraining_tp > 1: + attn_output = attn_output.split( + self.hidden_size // self.config.pretraining_tp, dim=2 + ) + o_proj_slices = self.o_proj.weight.split( + self.hidden_size // self.config.pretraining_tp, dim=1 + ) + attn_output = sum( + [ + F.linear(attn_output[i], o_proj_slices[i]) + for i in range(self.config.pretraining_tp) + ] + ) + else: + attn_output = self.o_proj(attn_output) + + if not output_attentions: + attn_weights = None + + return attn_output, attn_weights, past_key_value + + +class LlamaFlashAttention2(LlamaAttention): + """ + Llama flash attention module. This module inherits from `LlamaAttention` as the weights of the module stays + untouched. The only required change would be on the forward pass where it needs to correctly call the public API of + flash attention and deal with padding tokens in case the input contains any of them. + """ + + def __init__(self, *args, **kwargs): + super().__init__(*args, **kwargs) + + # TODO: Should be removed once Flash Attention for RoCm is bumped to 2.1. + # flash_attn<2.1 generates top-left aligned causal mask, while what is needed here is bottom-right alignement, that was made default for flash_attn>=2.1. This attribute is used to handle this difference. Reference: https://github.com/Dao-AILab/flash-attention/releases/tag/v2.1.0. + # Beware that with flash_attn<2.1, using q_seqlen != k_seqlen (except for the case q_seqlen == 1) produces a wrong mask (top-left). + self._flash_attn_uses_top_left_mask = not is_flash_attn_greater_or_equal_2_10() + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.LongTensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + output_attentions: bool = False, + use_cache: bool = False, + cache_position: Optional[torch.LongTensor] = None, + position_embeddings: Optional[ + Tuple[torch.Tensor, torch.Tensor] + ] = None, # will become mandatory in v4.45 + ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]: + if isinstance(past_key_value, StaticCache): + raise ValueError( + "`static` cache implementation is not compatible with `attn_implementation==flash_attention_2` " + "make sure to use `sdpa` in the mean time, and open an issue at https://github.com/huggingface/transformers" + ) + + output_attentions = False + + bsz, q_len, _ = hidden_states.size() + + query_states = self.q_proj(hidden_states) + key_states = self.k_proj(hidden_states) + value_states = self.v_proj(hidden_states) + + # Flash attention requires the input to have the shape + # batch_size x seq_length x head_dim x hidden_dim + # therefore we just need to keep the original shape + query_states = query_states.view( + bsz, q_len, self.num_heads, self.head_dim + ).transpose(1, 2) + key_states = key_states.view( + bsz, q_len, self.num_key_value_heads, self.head_dim + ).transpose(1, 2) + value_states = value_states.view( + bsz, q_len, self.num_key_value_heads, self.head_dim + ).transpose(1, 2) + + if position_embeddings is None: + logger.warning_once( + "The attention layers in this model are transitioning from computing the RoPE embeddings internally " + "through `position_ids` (2D tensor with the indexes of the tokens), to using externally computed " + "`position_embeddings` (Tuple of tensors, containing cos and sin). In v4.45 `position_ids` will be " + "removed and `position_embeddings` will be mandatory." + ) + cos, sin = self.rotary_emb(value_states, position_ids) + else: + cos, sin = position_embeddings + query_states, key_states = apply_rotary_pos_emb( + query_states, key_states, cos, sin + ) + + if past_key_value is not None: + # sin and cos are specific to RoPE models; cache_position needed for the static cache + cache_kwargs = {"sin": sin, "cos": cos, "cache_position": cache_position} + key_states, value_states = past_key_value.update( + key_states, value_states, self.layer_idx, cache_kwargs + ) + + # TODO: These transpose are quite inefficient but Flash Attention requires the layout [batch_size, sequence_length, num_heads, head_dim]. We would need to refactor the KV cache + # to be able to avoid many of these transpose/reshape/view. + query_states = query_states.transpose(1, 2) + key_states = key_states.transpose(1, 2) + value_states = value_states.transpose(1, 2) + + dropout_rate = self.attention_dropout if self.training else 0.0 + + # In PEFT, usually we cast the layer norms in float32 for training stability reasons + # therefore the input hidden states gets silently casted in float32. Hence, we need + # cast them back in the correct dtype just to be sure everything works as expected. + # This might slowdown training & inference so it is recommended to not cast the LayerNorms + # in fp32. (LlamaRMSNorm handles it correctly) + + input_dtype = query_states.dtype + if input_dtype == torch.float32: + if torch.is_autocast_enabled(): + target_dtype = torch.get_autocast_gpu_dtype() + # Handle the case where the model is quantized + elif hasattr(self.config, "_pre_quantization_dtype"): + target_dtype = self.config._pre_quantization_dtype + else: + target_dtype = self.q_proj.weight.dtype + + logger.warning_once( + f"The input hidden states seems to be silently casted in float32, this might be related to" + f" the fact you have upcasted embedding or layer norm layers in float32. We will cast back the input in" + f" {target_dtype}." + ) + + query_states = query_states.to(target_dtype) + key_states = key_states.to(target_dtype) + value_states = value_states.to(target_dtype) + + attn_output = _flash_attention_forward( + query_states, + key_states, + value_states, + attention_mask, + q_len, + dropout=dropout_rate, + sliding_window=getattr(self, "sliding_window", None), + use_top_left_mask=self._flash_attn_uses_top_left_mask, + is_causal=self.is_causal, + ) + + attn_output = attn_output.reshape(bsz, q_len, -1).contiguous() + attn_output = self.o_proj(attn_output) + + if not output_attentions: + attn_weights = None + + return attn_output, attn_weights, past_key_value + + +class LlamaSdpaAttention(LlamaAttention): + """ + Llama attention module using torch.nn.functional.scaled_dot_product_attention. This module inherits from + `LlamaAttention` as the weights of the module stays untouched. The only changes are on the forward pass to adapt to + SDPA API. + """ + + # Adapted from LlamaAttention.forward + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + output_attentions: bool = False, + use_cache: bool = False, + cache_position: Optional[torch.LongTensor] = None, + position_embeddings: Optional[ + Tuple[torch.Tensor, torch.Tensor] + ] = None, # will become mandatory in v4.45 + **kwargs, + ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]: + if output_attentions: + # TODO: Improve this warning with e.g. `model.config.attn_implementation = "manual"` once this is implemented. + logger.warning_once( + "LlamaModel is using LlamaSdpaAttention, but `torch.nn.functional.scaled_dot_product_attention` does not support `output_attentions=True`. Falling back to the manual attention implementation, " + 'but specifying the manual implementation will be required from Transformers version v5.0.0 onwards. This warning can be removed using the argument `attn_implementation="eager"` when loading the model.' + ) + return super().forward( + hidden_states=hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_value, + output_attentions=output_attentions, + use_cache=use_cache, + cache_position=cache_position, + position_embeddings=position_embeddings, + ) + + bsz, q_len, _ = hidden_states.size() + + query_states = self.q_proj(hidden_states) + key_states = self.k_proj(hidden_states) + value_states = self.v_proj(hidden_states) + + query_states = query_states.view( + bsz, q_len, self.num_heads, self.head_dim + ).transpose(1, 2) + key_states = key_states.view( + bsz, q_len, self.num_key_value_heads, self.head_dim + ).transpose(1, 2) + value_states = value_states.view( + bsz, q_len, self.num_key_value_heads, self.head_dim + ).transpose(1, 2) + + if position_embeddings is None: + logger.warning_once( + "The attention layers in this model are transitioning from computing the RoPE embeddings internally " + "through `position_ids` (2D tensor with the indexes of the tokens), to using externally computed " + "`position_embeddings` (Tuple of tensors, containing cos and sin). In v4.45 `position_ids` will be " + "removed and `position_embeddings` will be mandatory." + ) + cos, sin = self.rotary_emb(value_states, position_ids) + else: + cos, sin = position_embeddings + query_states, key_states = apply_rotary_pos_emb( + query_states, key_states, cos, sin + ) + + if past_key_value is not None: + # sin and cos are specific to RoPE models; cache_position needed for the static cache + cache_kwargs = {"sin": sin, "cos": cos, "cache_position": cache_position} + key_states, value_states = past_key_value.update( + key_states, value_states, self.layer_idx, cache_kwargs + ) + + key_states = repeat_kv(key_states, self.num_key_value_groups) + value_states = repeat_kv(value_states, self.num_key_value_groups) + + causal_mask = attention_mask + if attention_mask is not None: + causal_mask = causal_mask[:, :, :, : key_states.shape[-2]] + + # SDPA with memory-efficient backend is currently (torch==2.1.2) bugged with non-contiguous inputs with custom attn_mask, + # Reference: https://github.com/pytorch/pytorch/issues/112577. + if query_states.device.type == "cuda" and causal_mask is not None: + query_states = query_states.contiguous() + key_states = key_states.contiguous() + value_states = value_states.contiguous() + + # We dispatch to SDPA's Flash Attention or Efficient kernels via this `is_causal` if statement instead of an inline conditional assignment + # in SDPA to support both torch.compile's dynamic shapes and full graph options. An inline conditional prevents dynamic shapes from compiling. + is_causal = True if causal_mask is None and q_len > 1 else False + + attn_output = torch.nn.functional.scaled_dot_product_attention( + query_states, + key_states, + value_states, + attn_mask=causal_mask, + dropout_p=self.attention_dropout if self.training else 0.0, + is_causal=is_causal, + ) + + attn_output = attn_output.transpose(1, 2).contiguous() + attn_output = attn_output.view(bsz, q_len, -1) + + attn_output = self.o_proj(attn_output) + + return attn_output, None, past_key_value + + +LLAMA_ATTENTION_CLASSES = { + "eager": LlamaAttention, + "flash_attention_2": LlamaFlashAttention2, + "sdpa": LlamaSdpaAttention, +} + + +class LlamaDecoderLayer(nn.Module): + def __init__(self, config: LlamaConfig, layer_idx: int): + super().__init__() + self.hidden_size = config.hidden_size + + self.self_attn = LLAMA_ATTENTION_CLASSES[config._attn_implementation]( + config=config, layer_idx=layer_idx + ) + + self.mlp = LlamaMLP(config) + self.input_layernorm = LlamaRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.post_attention_layernorm = LlamaRMSNorm( + config.hidden_size, eps=config.rms_norm_eps + ) + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + output_attentions: Optional[bool] = False, + use_cache: Optional[bool] = False, + cache_position: Optional[torch.LongTensor] = None, + position_embeddings: Optional[ + Tuple[torch.Tensor, torch.Tensor] + ] = None, # will become mandatory in v4.45 + **kwargs, + ) -> Tuple[ + torch.FloatTensor, Optional[Tuple[torch.FloatTensor, torch.FloatTensor]] + ]: + """ + Args: + hidden_states (`torch.FloatTensor`): input to the layer of shape `(batch, seq_len, embed_dim)` + attention_mask (`torch.FloatTensor`, *optional*): + attention mask of size `(batch_size, sequence_length)` if flash attention is used or `(batch_size, 1, + query_sequence_length, key_sequence_length)` if default attention is used. + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under + returned tensors for more detail. + use_cache (`bool`, *optional*): + If set to `True`, `past_key_values` key value states are returned and can be used to speed up decoding + (see `past_key_values`). + past_key_value (`Tuple(torch.FloatTensor)`, *optional*): cached past key and value projection states + cache_position (`torch.LongTensor` of shape `(sequence_length)`, *optional*): + Indices depicting the position of the input sequence tokens in the sequence + position_embeddings (`Tuple[torch.FloatTensor, torch.FloatTensor]`, *optional*): + Tuple containing the cosine and sine positional embeddings of shape `(batch_size, seq_len, head_dim)`, + with `head_dim` being the embedding dimension of each attention head. + kwargs (`dict`, *optional*): + Arbitrary kwargs to be ignored, used for FSDP and other methods that injects code + into the model + """ + residual = hidden_states + + hidden_states = self.input_layernorm(hidden_states) + + # Self Attention + hidden_states, self_attn_weights, present_key_value = self.self_attn( + hidden_states=hidden_states, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_value=past_key_value, + output_attentions=output_attentions, + use_cache=use_cache, + cache_position=cache_position, + position_embeddings=position_embeddings, + **kwargs, + ) + hidden_states = residual + hidden_states + + # Fully Connected + residual = hidden_states + hidden_states = self.post_attention_layernorm(hidden_states) + hidden_states = self.mlp(hidden_states) + hidden_states = residual + hidden_states + + outputs = (hidden_states,) + + if output_attentions: + outputs += (self_attn_weights,) + + if use_cache: + outputs += (present_key_value,) + + return outputs + + +LLAMA_START_DOCSTRING = r""" + This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the + library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads + etc.) + + This model is also a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. + Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage + and behavior. + + Parameters: + config ([`LlamaConfig`]): + Model configuration class with all the parameters of the model. Initializing with a config file does not + load the weights associated with the model, only the configuration. Check out the + [`~PreTrainedModel.from_pretrained`] method to load the model weights. +""" + + +@add_start_docstrings( + "The bare LLaMA Model outputting raw hidden-states without any specific head on top.", + LLAMA_START_DOCSTRING, +) +class LlamaPreTrainedModel(PreTrainedModel): + config_class = LlamaConfig + base_model_prefix = "model" + supports_gradient_checkpointing = True + _no_split_modules = ["LlamaDecoderLayer"] + _skip_keys_device_placement = ["past_key_values"] + _supports_flash_attn_2 = True + _supports_sdpa = True + _supports_cache_class = True + _supports_quantized_cache = True + _supports_static_cache = True + + def _init_weights(self, module): + std = self.config.initializer_range + if isinstance(module, nn.Linear): + module.weight.data.normal_(mean=0.0, std=std) + if module.bias is not None: + module.bias.data.zero_() + elif isinstance(module, nn.Embedding): + module.weight.data.normal_(mean=0.0, std=std) + if module.padding_idx is not None: + module.weight.data[module.padding_idx].zero_() + + +LLAMA_INPUTS_DOCSTRING = r""" + Args: + input_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`): + Indices of input sequence tokens in the vocabulary. Padding will be ignored by default should you provide + it. + + Indices can be obtained using [`AutoTokenizer`]. See [`PreTrainedTokenizer.encode`] and + [`PreTrainedTokenizer.__call__`] for details. + + [What are input IDs?](../glossary#input-ids) + attention_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*): + Mask to avoid performing attention on padding token indices. Mask values selected in `[0, 1]`: + + - 1 for tokens that are **not masked**, + - 0 for tokens that are **masked**. + + [What are attention masks?](../glossary#attention-mask) + + Indices can be obtained using [`AutoTokenizer`]. See [`PreTrainedTokenizer.encode`] and + [`PreTrainedTokenizer.__call__`] for details. + + If `past_key_values` is used, optionally only the last `input_ids` have to be input (see + `past_key_values`). + + If you want to change padding behavior, you should read [`modeling_opt._prepare_decoder_attention_mask`] + and modify to your needs. See diagram 1 in [the paper](https://arxiv.org/abs/1910.13461) for more + information on the default strategy. + + - 1 indicates the head is **not masked**, + - 0 indicates the head is **masked**. + position_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*): + Indices of positions of each input sequence tokens in the position embeddings. Selected in the range `[0, + config.n_positions - 1]`. + + [What are position IDs?](../glossary#position-ids) + past_key_values (`Cache` or `tuple(tuple(torch.FloatTensor))`, *optional*): + Pre-computed hidden-states (key and values in the self-attention blocks and in the cross-attention + blocks) that can be used to speed up sequential decoding. This typically consists in the `past_key_values` + returned by the model at a previous stage of decoding, when `use_cache=True` or `config.use_cache=True`. + + Two formats are allowed: + - a [`~cache_utils.Cache`] instance; + - Tuple of `tuple(torch.FloatTensor)` of length `config.n_layers`, with each tuple having 2 tensors of + shape `(batch_size, num_heads, sequence_length, embed_size_per_head)`). This is also known as the legacy + cache format. + + The model will output the same cache format that is fed as input. If no `past_key_values` are passed, the + legacy cache format will be returned. + + If `past_key_values` are used, the user can optionally input only the last `input_ids` (those that don't + have their past key value states given to this model) of shape `(batch_size, 1)` instead of all `input_ids` + of shape `(batch_size, sequence_length)`. + inputs_embeds (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_size)`, *optional*): + Optionally, instead of passing `input_ids` you can choose to directly pass an embedded representation. This + is useful if you want more control over how to convert `input_ids` indices into associated vectors than the + model's internal embedding lookup matrix. + use_cache (`bool`, *optional*): + If set to `True`, `past_key_values` key value states are returned and can be used to speed up decoding (see + `past_key_values`). + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned + tensors for more detail. + output_hidden_states (`bool`, *optional*): + Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for + more detail. + return_dict (`bool`, *optional*): + Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. + cache_position (`torch.LongTensor` of shape `(sequence_length)`, *optional*): + Indices depicting the position of the input sequence tokens in the sequence. Contrarily to `position_ids`, + this tensor is not affected by padding. It is used to update the cache in the correct position and to infer + the complete sequence length. +""" + + +@add_start_docstrings( + "The bare LLaMA Model outputting raw hidden-states without any specific head on top.", + LLAMA_START_DOCSTRING, +) +class LlamaModel(LlamaPreTrainedModel): + """ + Transformer decoder consisting of *config.num_hidden_layers* layers. Each layer is a [`LlamaDecoderLayer`] + + Args: + config: LlamaConfig + """ + + def __init__(self, config: LlamaConfig): + super().__init__(config) + self.padding_idx = config.pad_token_id + self.vocab_size = config.vocab_size + + self.embed_tokens = nn.Embedding( + config.vocab_size, config.hidden_size, self.padding_idx + ) + self.layers = nn.ModuleList( + [ + LlamaDecoderLayer(config, layer_idx) + for layer_idx in range(config.num_hidden_layers) + ] + ) + self.norm = LlamaRMSNorm(config.hidden_size, eps=config.rms_norm_eps) + self.rotary_emb = LlamaRotaryEmbedding(config=config) + self.gradient_checkpointing = False + + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.embed_tokens + + def set_input_embeddings(self, value): + self.embed_tokens = value + + @add_start_docstrings_to_model_forward(LLAMA_INPUTS_DOCSTRING) + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[Union[Cache, List[torch.FloatTensor]]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + cache_position: Optional[torch.LongTensor] = None, + ) -> Union[Tuple, BaseModelOutputWithPast]: + output_attentions = ( + output_attentions + if output_attentions is not None + else self.config.output_attentions + ) + output_hidden_states = ( + output_hidden_states + if output_hidden_states is not None + else self.config.output_hidden_states + ) + use_cache = use_cache if use_cache is not None else self.config.use_cache + return_dict = ( + return_dict if return_dict is not None else self.config.use_return_dict + ) + + if (input_ids is None) ^ (inputs_embeds is not None): + raise ValueError( + "You cannot specify both input_ids and inputs_embeds at the same time, and must specify either one" + ) + + if self.gradient_checkpointing and self.training and use_cache: + logger.warning_once( + "`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`." + ) + use_cache = False + + if inputs_embeds is None: + inputs_embeds = self.embed_tokens(input_ids) + + return_legacy_cache = False + if ( + use_cache and not isinstance(past_key_values, Cache) and not self.training + ): # kept for BC (non `Cache` `past_key_values` inputs) + return_legacy_cache = True + past_key_values = DynamicCache.from_legacy_cache(past_key_values) + logger.warning_once( + "We detected that you are passing `past_key_values` as a tuple and this is deprecated and will be removed in v4.43. " + "Please use an appropriate `Cache` class (https://huggingface.co/docs/transformers/v4.41.3/en/internal/generation_utils#transformers.Cache)" + ) + + if cache_position is None: + past_seen_tokens = ( + past_key_values.get_seq_length() if past_key_values is not None else 0 + ) + cache_position = torch.arange( + past_seen_tokens, + past_seen_tokens + inputs_embeds.shape[1], + device=inputs_embeds.device, + ) + if position_ids is None: + position_ids = cache_position.unsqueeze(0) + + causal_mask = self._update_causal_mask( + attention_mask, + inputs_embeds, + cache_position, + past_key_values, + output_attentions, + ) + hidden_states = inputs_embeds + + # create position embeddings to be shared across the decoder layers + position_embeddings = self.rotary_emb(hidden_states, position_ids) + + # decoder layers + all_hidden_states = () if output_hidden_states else None + all_self_attns = () if output_attentions else None + next_decoder_cache = None + + for decoder_layer in self.layers: + if output_hidden_states: + all_hidden_states += (hidden_states,) + + if self.gradient_checkpointing and self.training: + layer_outputs = self._gradient_checkpointing_func( + decoder_layer.__call__, + hidden_states, + causal_mask, + position_ids, + past_key_values, + output_attentions, + use_cache, + cache_position, + position_embeddings, + ) + else: + layer_outputs = decoder_layer( + hidden_states, + attention_mask=causal_mask, + position_ids=position_ids, + past_key_value=past_key_values, + output_attentions=output_attentions, + use_cache=use_cache, + cache_position=cache_position, + position_embeddings=position_embeddings, + ) + + hidden_states = layer_outputs[0] + + if use_cache: + next_decoder_cache = layer_outputs[2 if output_attentions else 1] + + if output_attentions: + all_self_attns += (layer_outputs[1],) + + hidden_states = self.norm(hidden_states) + + # add hidden states from the last decoder layer + if output_hidden_states: + all_hidden_states += (hidden_states,) + + next_cache = next_decoder_cache if use_cache else None + if return_legacy_cache: + next_cache = next_cache.to_legacy_cache() + + if not return_dict: + return tuple( + v + for v in [hidden_states, next_cache, all_hidden_states, all_self_attns] + if v is not None + ) + return BaseModelOutputWithPast( + last_hidden_state=hidden_states, + past_key_values=next_cache, + hidden_states=all_hidden_states, + attentions=all_self_attns, + ) + + def _update_causal_mask( + self, + attention_mask: torch.Tensor, + input_tensor: torch.Tensor, + cache_position: torch.Tensor, + past_key_values: Cache, + output_attentions: bool, + ): + # TODO: As of torch==2.2.0, the `attention_mask` passed to the model in `generate` is 2D and of dynamic length even when the static + # KV cache is used. This is an issue for torch.compile which then recaptures cudagraphs at each decode steps due to the dynamic shapes. + # (`recording cudagraph tree for symint key 13`, etc.), which is VERY slow. A workaround is `@torch.compiler.disable`, but this prevents using + # `fullgraph=True`. See more context in https://github.com/huggingface/transformers/pull/29114 + + if self.config._attn_implementation == "flash_attention_2": + if attention_mask is not None and 0.0 in attention_mask: + return attention_mask + return None + + # For SDPA, when possible, we will rely on its `is_causal` argument instead of its `attn_mask` argument, in + # order to dispatch on Flash Attention 2. This feature is not compatible with static cache, as SDPA will fail + # to infer the attention mask. + past_seen_tokens = ( + past_key_values.get_seq_length() if past_key_values is not None else 0 + ) + using_static_cache = isinstance(past_key_values, StaticCache) + + # When output attentions is True, sdpa implementation's forward method calls the eager implementation's forward + if ( + self.config._attn_implementation == "sdpa" + and not using_static_cache + and not output_attentions + ): + if AttentionMaskConverter._ignore_causal_mask_sdpa( + attention_mask, + inputs_embeds=input_tensor, + past_key_values_length=past_seen_tokens, + is_training=self.training, + ): + return None + + dtype, device = input_tensor.dtype, input_tensor.device + min_dtype = torch.finfo(dtype).min + sequence_length = input_tensor.shape[1] + if using_static_cache: + target_length = past_key_values.get_max_length() + else: + target_length = ( + attention_mask.shape[-1] + if isinstance(attention_mask, torch.Tensor) + else past_seen_tokens + sequence_length + 1 + ) + + if attention_mask is not None and attention_mask.dim() == 4: + # in this case we assume that the mask comes already in inverted form and requires no inversion or slicing + if attention_mask.max() != 0: + raise ValueError( + "Custom 4D attention mask should be passed in inverted form with max==0`" + ) + causal_mask = attention_mask + else: + causal_mask = torch.full( + (sequence_length, target_length), + fill_value=min_dtype, + dtype=dtype, + device=device, + ) + if sequence_length != 1: + causal_mask = torch.triu(causal_mask, diagonal=1) + causal_mask *= torch.arange( + target_length, device=device + ) > cache_position.reshape(-1, 1) + causal_mask = causal_mask[None, None, :, :].expand( + input_tensor.shape[0], 1, -1, -1 + ) + if attention_mask is not None: + causal_mask = ( + causal_mask.clone() + ) # copy to contiguous memory for in-place edit + mask_length = attention_mask.shape[-1] + padding_mask = ( + causal_mask[:, :, :, :mask_length] + + attention_mask[:, None, None, :] + ) + padding_mask = padding_mask == 0 + causal_mask[:, :, :, :mask_length] = causal_mask[ + :, :, :, :mask_length + ].masked_fill(padding_mask, min_dtype) + if ( + self.config._attn_implementation == "sdpa" + and attention_mask is not None + and attention_mask.device.type == "cuda" + and not output_attentions + ): + # Attend to all tokens in fully masked rows in the causal_mask, for example the relevant first rows when + # using left padding. This is required by F.scaled_dot_product_attention memory-efficient attention path. + # Details: https://github.com/pytorch/pytorch/issues/110213 + causal_mask = AttentionMaskConverter._unmask_unattended( + causal_mask, min_dtype + ) + + return causal_mask + + +class LlamaForCausalLM(LlamaPreTrainedModel): + _tied_weights_keys = ["lm_head.weight"] + + def __init__(self, config): + super().__init__(config) + self.model = LlamaModel(config) + self.vocab_size = config.vocab_size + self.lm_head = nn.Linear(config.hidden_size, config.vocab_size, bias=False) + + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.model.embed_tokens + + def set_input_embeddings(self, value): + self.model.embed_tokens = value + + def get_output_embeddings(self): + return self.lm_head + + def set_output_embeddings(self, new_embeddings): + self.lm_head = new_embeddings + + def set_decoder(self, decoder): + self.model = decoder + + def get_decoder(self): + return self.model + + @add_start_docstrings_to_model_forward(LLAMA_INPUTS_DOCSTRING) + @replace_return_docstrings( + output_type=CausalLMOutputWithPast, config_class=_CONFIG_FOR_DOC + ) + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[Union[Cache, List[torch.FloatTensor]]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + labels: Optional[torch.LongTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + cache_position: Optional[torch.LongTensor] = None, + ) -> Union[Tuple, CausalLMOutputWithPast]: + r""" + Args: + labels (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*): + Labels for computing the masked language modeling loss. Indices should either be in `[0, ..., + config.vocab_size]` or -100 (see `input_ids` docstring). Tokens with indices set to `-100` are ignored + (masked), the loss is only computed for the tokens with labels in `[0, ..., config.vocab_size]`. + + Returns: + + Example: + + ```python + >>> from transformers import AutoTokenizer, LlamaForCausalLM + + >>> model = LlamaForCausalLM.from_pretrained("meta-llama/Llama-2-7b-hf") + >>> tokenizer = AutoTokenizer.from_pretrained("meta-llama/Llama-2-7b-hf") + + >>> prompt = "Hey, are you conscious? Can you talk to me?" + >>> inputs = tokenizer(prompt, return_tensors="pt") + + >>> # Generate + >>> generate_ids = model.generate(inputs.input_ids, max_length=30) + >>> tokenizer.batch_decode(generate_ids, skip_special_tokens=True, clean_up_tokenization_spaces=False)[0] + "Hey, are you conscious? Can you talk to me?\nI'm not conscious, but I can talk to you." + ```""" + output_attentions = ( + output_attentions + if output_attentions is not None + else self.config.output_attentions + ) + output_hidden_states = ( + output_hidden_states + if output_hidden_states is not None + else self.config.output_hidden_states + ) + return_dict = ( + return_dict if return_dict is not None else self.config.use_return_dict + ) + + # decoder outputs consists of (dec_features, layer_state, dec_hidden, dec_attn) + outputs = self.model( + input_ids=input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + inputs_embeds=inputs_embeds, + use_cache=use_cache, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + cache_position=cache_position, + ) + + hidden_states = outputs[0] + if self.config.pretraining_tp > 1: + lm_head_slices = self.lm_head.weight.split( + self.vocab_size // self.config.pretraining_tp, dim=0 + ) + logits = [ + F.linear(hidden_states, lm_head_slices[i]) + for i in range(self.config.pretraining_tp) + ] + logits = torch.cat(logits, dim=-1) + else: + logits = self.lm_head(hidden_states) + # logits = logits.float() + + loss = None + if labels is not None: + # Shift so that tokens < n predict n + shift_logits = logits[..., :-1, :].contiguous() + shift_labels = labels[..., 1:].contiguous() + # Flatten the tokens + loss_fct = CrossEntropyLoss() + shift_logits = shift_logits.view(-1, self.config.vocab_size) + shift_labels = shift_labels.view(-1) + # Enable model parallelism + shift_labels = shift_labels.to(shift_logits.device) + loss = loss_fct(shift_logits, shift_labels) + + if not return_dict: + output = (logits,) + outputs[1:] + return (loss,) + output if loss is not None else output + + return CausalLMOutputWithPast( + loss=loss, + logits=logits, + past_key_values=outputs.past_key_values, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + + def prepare_inputs_for_generation( + self, + input_ids, + past_key_values=None, + attention_mask=None, + inputs_embeds=None, + cache_position=None, + position_ids=None, + use_cache=True, + **kwargs, + ): + # If we have cache: let's slice `input_ids` through `cache_position`, to keep only the unprocessed tokens + # Exception 1: when passing input_embeds, input_ids may be missing entries + # Exception 2: some generation methods do special slicing of input_ids, so we don't need to do it here + if past_key_values is not None: + if inputs_embeds is not None: # Exception 1 + input_ids = input_ids[:, -cache_position.shape[0] :] + elif ( + input_ids.shape[1] != cache_position.shape[0] + ): # Default case (the "else", a no op, is Exception 2) + input_ids = input_ids[:, cache_position] + + if attention_mask is not None and position_ids is None: + # create position_ids on the fly for batch generation + position_ids = attention_mask.long().cumsum(-1) - 1 + position_ids.masked_fill_(attention_mask == 0, 1) + if past_key_values: + position_ids = position_ids[:, -input_ids.shape[1] :] + + # if `inputs_embeds` are passed, we only want to use them in the 1st generation step + if inputs_embeds is not None and cache_position[0] == 0: + model_inputs = {"inputs_embeds": inputs_embeds} + else: + model_inputs = { + "input_ids": input_ids.contiguous() + } # `contiguous()` needed for compilation use cases + + model_inputs.update( + { + "position_ids": position_ids, + "cache_position": cache_position, + "past_key_values": past_key_values, + "use_cache": use_cache, + "attention_mask": attention_mask, + } + ) + return model_inputs + + +@add_start_docstrings( + """ + The LLaMa Model transformer with a sequence classification head on top (linear layer). + + [`LlamaForSequenceClassification`] uses the last token in order to do the classification, as other causal models + (e.g. GPT-2) do. + + Since it does classification on the last token, it requires to know the position of the last token. If a + `pad_token_id` is defined in the configuration, it finds the last token that is not a padding token in each row. If + no `pad_token_id` is defined, it simply takes the last value in each row of the batch. Since it cannot guess the + padding tokens when `inputs_embeds` are passed instead of `input_ids`, it does the same (take the last value in + each row of the batch). + """, + LLAMA_START_DOCSTRING, +) +class LlamaForSequenceClassification(LlamaPreTrainedModel): + def __init__(self, config): + super().__init__(config) + self.num_labels = config.num_labels + self.model = LlamaModel(config) + self.score = nn.Linear(config.hidden_size, self.num_labels, bias=False) + + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.model.embed_tokens + + def set_input_embeddings(self, value): + self.model.embed_tokens = value + + @add_start_docstrings_to_model_forward(LLAMA_INPUTS_DOCSTRING) + def forward( + self, + input_ids: Optional[torch.LongTensor] = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[Union[Cache, List[torch.FloatTensor]]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + labels: Optional[torch.LongTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + ) -> Union[Tuple, SequenceClassifierOutputWithPast]: + r""" + labels (`torch.LongTensor` of shape `(batch_size,)`, *optional*): + Labels for computing the sequence classification/regression loss. Indices should be in `[0, ..., + config.num_labels - 1]`. If `config.num_labels == 1` a regression loss is computed (Mean-Square loss), If + `config.num_labels > 1` a classification loss is computed (Cross-Entropy). + """ + return_dict = ( + return_dict if return_dict is not None else self.config.use_return_dict + ) + + transformer_outputs = self.model( + input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + inputs_embeds=inputs_embeds, + use_cache=use_cache, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + ) + hidden_states = transformer_outputs[0] + logits = self.score(hidden_states) + + if input_ids is not None: + batch_size = input_ids.shape[0] + else: + batch_size = inputs_embeds.shape[0] + + if self.config.pad_token_id is None and batch_size != 1: + raise ValueError( + "Cannot handle batch sizes > 1 if no padding token is defined." + ) + if self.config.pad_token_id is None: + sequence_lengths = -1 + else: + if input_ids is not None: + # if no pad token found, use modulo instead of reverse indexing for ONNX compatibility + sequence_lengths = ( + torch.eq(input_ids, self.config.pad_token_id).int().argmax(-1) - 1 + ) + sequence_lengths = sequence_lengths % input_ids.shape[-1] + sequence_lengths = sequence_lengths.to(logits.device) + else: + sequence_lengths = -1 + + pooled_logits = logits[ + torch.arange(batch_size, device=logits.device), sequence_lengths + ] + + loss = None + if labels is not None: + labels = labels.to(logits.device) + if self.config.problem_type is None: + if self.num_labels == 1: + self.config.problem_type = "regression" + elif self.num_labels > 1 and ( + labels.dtype == torch.long or labels.dtype == torch.int + ): + self.config.problem_type = "single_label_classification" + else: + self.config.problem_type = "multi_label_classification" + + if self.config.problem_type == "regression": + loss_fct = MSELoss() + if self.num_labels == 1: + loss = loss_fct(pooled_logits.squeeze(), labels.squeeze()) + else: + loss = loss_fct(pooled_logits, labels) + elif self.config.problem_type == "single_label_classification": + loss_fct = CrossEntropyLoss() + loss = loss_fct( + pooled_logits.view(-1, self.num_labels), labels.view(-1) + ) + elif self.config.problem_type == "multi_label_classification": + loss_fct = BCEWithLogitsLoss() + loss = loss_fct(pooled_logits, labels) + if not return_dict: + output = (pooled_logits,) + transformer_outputs[1:] + return ((loss,) + output) if loss is not None else output + + return SequenceClassifierOutputWithPast( + loss=loss, + logits=pooled_logits, + past_key_values=transformer_outputs.past_key_values, + hidden_states=transformer_outputs.hidden_states, + attentions=transformer_outputs.attentions, + ) + + +@add_start_docstrings( + """ +The Llama Model transformer with a span classification head on top for extractive question-answering tasks like +SQuAD (a linear layer on top of the hidden-states output to compute `span start logits` and `span end logits`). + """, + LLAMA_START_DOCSTRING, +) +class LlamaForQuestionAnswering(LlamaPreTrainedModel): + base_model_prefix = "transformer" + + # Copied from transformers.models.bloom.modeling_bloom.BloomForQuestionAnswering.__init__ with Bloom->Llama + def __init__(self, config): + super().__init__(config) + self.transformer = LlamaModel(config) + self.qa_outputs = nn.Linear(config.hidden_size, 2) + + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.transformer.embed_tokens + + def set_input_embeddings(self, value): + self.transformer.embed_tokens = value + + @add_start_docstrings_to_model_forward(LLAMA_INPUTS_DOCSTRING) + def forward( + self, + input_ids: Optional[torch.LongTensor] = None, + attention_mask: Optional[torch.FloatTensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[Union[Cache, List[torch.FloatTensor]]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + start_positions: Optional[torch.LongTensor] = None, + end_positions: Optional[torch.LongTensor] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + ) -> Union[Tuple, QuestionAnsweringModelOutput]: + r""" + start_positions (`torch.LongTensor` of shape `(batch_size,)`, *optional*): + Labels for position (index) of the start of the labelled span for computing the token classification loss. + Positions are clamped to the length of the sequence (`sequence_length`). Position outside of the sequence + are not taken into account for computing the loss. + end_positions (`torch.LongTensor` of shape `(batch_size,)`, *optional*): + Labels for position (index) of the end of the labelled span for computing the token classification loss. + Positions are clamped to the length of the sequence (`sequence_length`). Position outside of the sequence + are not taken into account for computing the loss. + """ + return_dict = ( + return_dict if return_dict is not None else self.config.use_return_dict + ) + + outputs = self.transformer( + input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + inputs_embeds=inputs_embeds, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + ) + + sequence_output = outputs[0] + + logits = self.qa_outputs(sequence_output) + start_logits, end_logits = logits.split(1, dim=-1) + start_logits = start_logits.squeeze(-1).contiguous() + end_logits = end_logits.squeeze(-1).contiguous() + + total_loss = None + if start_positions is not None and end_positions is not None: + # If we are on multi-GPU, split add a dimension + if len(start_positions.size()) > 1: + start_positions = start_positions.squeeze(-1).to(start_logits.device) + if len(end_positions.size()) > 1: + end_positions = end_positions.squeeze(-1).to(end_logits.device) + # sometimes the start/end positions are outside our model inputs, we ignore these terms + ignored_index = start_logits.size(1) + start_positions = start_positions.clamp(0, ignored_index) + end_positions = end_positions.clamp(0, ignored_index) + + loss_fct = CrossEntropyLoss(ignore_index=ignored_index) + start_loss = loss_fct(start_logits, start_positions) + end_loss = loss_fct(end_logits, end_positions) + total_loss = (start_loss + end_loss) / 2 + + if not return_dict: + output = (start_logits, end_logits) + outputs[2:] + return ((total_loss,) + output) if total_loss is not None else output + + return QuestionAnsweringModelOutput( + loss=total_loss, + start_logits=start_logits, + end_logits=end_logits, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) + + +@add_start_docstrings( + """ + The Llama Model transformer with a token classification head on top (a linear layer on top of the hidden-states + output) e.g. for Named-Entity-Recognition (NER) tasks. + """, + LLAMA_START_DOCSTRING, +) +class LlamaForTokenClassification(LlamaPreTrainedModel): + def __init__(self, config): + super().__init__(config) + self.num_labels = config.num_labels + self.model = LlamaModel(config) + if getattr(config, "classifier_dropout", None) is not None: + classifier_dropout = config.classifier_dropout + elif getattr(config, "hidden_dropout", None) is not None: + classifier_dropout = config.hidden_dropout + else: + classifier_dropout = 0.1 + self.dropout = nn.Dropout(classifier_dropout) + self.score = nn.Linear(config.hidden_size, config.num_labels) + + # Initialize weights and apply final processing + self.post_init() + + def get_input_embeddings(self): + return self.model.embed_tokens + + def set_input_embeddings(self, value): + self.model.embed_tokens = value + + @add_start_docstrings_to_model_forward(LLAMA_INPUTS_DOCSTRING) + def forward( + self, + input_ids: Optional[torch.LongTensor] = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[List[torch.FloatTensor]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + labels: Optional[torch.LongTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + ) -> Union[Tuple, TokenClassifierOutput]: + r""" + labels (`torch.LongTensor` of shape `(batch_size,)`, *optional*): + Labels for computing the sequence classification/regression loss. Indices should be in `[0, ..., + config.num_labels - 1]`. If `config.num_labels == 1` a regression loss is computed (Mean-Square loss), If + `config.num_labels > 1` a classification loss is computed (Cross-Entropy). + """ + return_dict = ( + return_dict if return_dict is not None else self.config.use_return_dict + ) + + outputs = self.model( + input_ids, + attention_mask=attention_mask, + position_ids=position_ids, + past_key_values=past_key_values, + inputs_embeds=inputs_embeds, + use_cache=use_cache, + output_attentions=output_attentions, + output_hidden_states=output_hidden_states, + return_dict=return_dict, + ) + sequence_output = outputs[0] + sequence_output = self.dropout(sequence_output) + logits = self.score(sequence_output) + + loss = None + if labels is not None: + loss_fct = CrossEntropyLoss() + loss = loss_fct(logits.view(-1, self.num_labels), labels.view(-1)) + + if not return_dict: + output = (logits,) + outputs[2:] + return ((loss,) + output) if loss is not None else output + + return TokenClassifierOutput( + loss=loss, + logits=logits, + hidden_states=outputs.hidden_states, + attentions=outputs.attentions, + ) diff --git a/ktransformers/operators/RoPE.py b/ktransformers/operators/RoPE.py index 9dc233b..dca441d 100644 --- a/ktransformers/operators/RoPE.py +++ b/ktransformers/operators/RoPE.py @@ -1,67 +1,128 @@ -''' +""" Description : Author : Boxin Zhang Version : 0.1.0 Copyright (c) 2024 by KVCache.AI, All Rights Reserved. -''' +""" + from torch import nn -from ktransformers.models.modeling_deepseek import DeepseekV2YarnRotaryEmbedding, DeepseekV2RotaryEmbedding +from transformers import ROPE_INIT_FUNCTIONS +from ktransformers.models.modeling_llama import ( + LlamaRotaryEmbedding, + LlamaLinearScalingRotaryEmbedding, + LlamaDynamicNTKScalingRotaryEmbedding, +) +from ktransformers.models.modeling_deepseek import ( + DeepseekV2YarnRotaryEmbedding, + DeepseekV2RotaryEmbedding, +) from ktransformers.operators.base_operator import BaseInjectedModule from ktransformers.util.custom_gguf import GGUFLoader from ktransformers.util.utils import InferenceState from transformers.configuration_utils import PretrainedConfig + # Copied from transformers.models.mixtral.modeling_mixtral.MixtralRotaryEmbedding with Mixtral->Qwen2Moe class RotaryEmbedding(BaseInjectedModule, DeepseekV2RotaryEmbedding): - def __init__(self, - key: str, - gguf_loader : GGUFLoader, - config: PretrainedConfig, - orig_module: nn.Module, - # device: str = "cuda", - generate_device: str = "cuda", - prefill_device: str = "cuda", - **kwargs): - BaseInjectedModule.__init__(self, key, gguf_loader, config, orig_module, generate_device, **kwargs) - self.orig_module.__init__(orig_module.dim, - orig_module.max_position_embeddings, - orig_module.base) + def __init__( + self, + key: str, + gguf_loader: GGUFLoader, + config: PretrainedConfig, + orig_module: nn.Module, + # device: str = "cuda", + generate_device: str = "cuda", + prefill_device: str = "cuda", + **kwargs, + ): + BaseInjectedModule.__init__( + self, key, gguf_loader, config, orig_module, generate_device, **kwargs + ) + self.orig_module.__init__( + orig_module.dim, orig_module.max_position_embeddings, orig_module.base + ) self.generate_device = generate_device self.prefill_device = prefill_device - + def load(self): - self.orig_module.__init__(self.orig_module.dim, + self.orig_module.__init__( + self.orig_module.dim, self.orig_module.max_position_embeddings, self.orig_module.base, - self.device) - -class YarnRotaryEmbedding(BaseInjectedModule, DeepseekV2YarnRotaryEmbedding): - def __init__(self, - key: str, - gguf_loader : GGUFLoader, - config: PretrainedConfig, - orig_module: nn.Module, - # device: str = "cuda", - generate_device: str = "cuda", - prefill_device: str = "cuda", - **kwargs): - BaseInjectedModule.__init__(self, key, gguf_loader, config, orig_module, generate_device, **kwargs) - self.orig_module.__init__(orig_module.dim, + self.device, + ) + + +class RotaryEmbeddingV2(BaseInjectedModule, LlamaRotaryEmbedding): + def __init__( + self, + key: str, + gguf_loader: GGUFLoader, + config: PretrainedConfig, + orig_module: nn.Module, + generate_device: str = "cuda", + prefill_device: str = "cuda", + **kwargs, + ): + BaseInjectedModule.__init__( + self, key, gguf_loader, config, orig_module, generate_device, **kwargs + ) + self.orig_module.__init__( + orig_module.dim, orig_module.max_position_embeddings, orig_module.base, - None, #device + None, + orig_module.scaling_factor, + orig_module.rope_type, + orig_module.config, + ) + self.generate_device = generate_device + self.prefill_device = prefill_device + + def load(self): + self.orig_module.__init__( + self.orig_module.dim, + self.orig_module.max_position_embeddings, + self.orig_module.base, + self.device, + self.orig_module.scaling_factor, + self.orig_module.rope_type, + self.orig_module.config, + ) + +class YarnRotaryEmbedding(BaseInjectedModule, DeepseekV2YarnRotaryEmbedding): + def __init__( + self, + key: str, + gguf_loader: GGUFLoader, + config: PretrainedConfig, + orig_module: nn.Module, + # device: str = "cuda", + generate_device: str = "cuda", + prefill_device: str = "cuda", + **kwargs, + ): + BaseInjectedModule.__init__( + self, key, gguf_loader, config, orig_module, generate_device, **kwargs + ) + self.orig_module.__init__( + orig_module.dim, + orig_module.max_position_embeddings, + orig_module.base, + None, # device orig_module.scaling_factor, orig_module.original_max_position_embeddings, orig_module.beta_fast, orig_module.beta_slow, orig_module.mscale, - orig_module.mscale_all_dim) + orig_module.mscale_all_dim, + ) self.generate_device = generate_device self.prefill_device = prefill_device - - + def load(self): - self.orig_module.__init__(self.orig_module.dim, + self.orig_module.__init__( + self.orig_module.dim, self.orig_module.max_position_embeddings, self.orig_module.base, self.generate_device, @@ -70,5 +131,42 @@ class YarnRotaryEmbedding(BaseInjectedModule, DeepseekV2YarnRotaryEmbedding): self.orig_module.beta_fast, self.orig_module.beta_slow, self.orig_module.mscale, - self.orig_module.mscale_all_dim) - + self.orig_module.mscale_all_dim, + ) + + +class DynamicNTKScalingRotaryEmbedding( + BaseInjectedModule, LlamaDynamicNTKScalingRotaryEmbedding +): + def __init__( + self, + key: str, + gguf_loader: GGUFLoader, + config: PretrainedConfig, + orig_module: nn.Module, + device: str = "cuda", + **kwargs, + ): + BaseInjectedModule.__init__( + self, key, gguf_loader, config, orig_module, device, **kwargs + ) + self.orig_module.__init__( + orig_module.dim, + orig_module.max_position_embeddings, + orig_module.base, + None, # device + orig_module.scaling_factor, + orig_module.rope_type, + orig_module.config, + ) + + def load(self): + self.orig_module.__init__( + self.orig_module.dim, + self.orig_module.max_position_embeddings, + self.orig_module.base, + self.orig_module.device, + self.orig_module.scaling_factor, + self.orig_module.rope_type, + self.orig_module.config, + ) diff --git a/ktransformers/operators/attention.py b/ktransformers/operators/attention.py index 3cfb9fd..33dd021 100644 --- a/ktransformers/operators/attention.py +++ b/ktransformers/operators/attention.py @@ -7,16 +7,22 @@ Copyright (c) 2024 by KVCache.AI, All Rights Reserved. import torch from torch import nn import warnings +import torch.nn.functional as F +from ktransformers.operators.models import KLlamaModel from ktransformers.models.configuration_deepseek import DeepseekV2Config +from ktransformers.models.configuration_llama import LlamaConfig +from ktransformers.models.modeling_llama import LlamaRotaryEmbedding from ktransformers.models.modeling_deepseek import DeepseekV2Attention, apply_rotary_pos_emb from typing import Optional, Tuple from ktransformers.operators.base_operator import BaseInjectedModule from ktransformers.util.custom_gguf import GGUFLoader +import logging from transformers.configuration_utils import PretrainedConfig from transformers.cache_utils import Cache - +logger = logging.getLogger("attention") class KDeepseekV2Attention(BaseInjectedModule, DeepseekV2Attention): """Multi-headed attention from 'Attention Is All You Need' paper""" + attn_mask: Optional[torch.Tensor] = None def __init__(self, key: str, @@ -24,10 +30,12 @@ class KDeepseekV2Attention(BaseInjectedModule, DeepseekV2Attention): config: PretrainedConfig, orig_module: nn.Module, device: str = "cuda", + chunck_size: int = 1000, **kwargs): BaseInjectedModule.__init__(self, key, gguf_loader, config, orig_module, device, **kwargs) self.orig_module.__init__(orig_module.config, orig_module.layer_idx) + self.chunck_size = chunck_size # TODO, generate chunck_size automatically. def get_absorbed(self) -> Tuple[torch.Tensor, torch.Tensor]: if not (hasattr(self, 'q_absorb') and hasattr(self, 'out_absorb')): @@ -157,9 +165,8 @@ class KDeepseekV2Attention(BaseInjectedModule, DeepseekV2Attention): "Passing `padding_mask` is deprecated and will be removed in v4.37. Please make sure use `attention_mask` instead.`" ) bsz, q_len, _ = hidden_states.size() - chunck_size = 256 # TODO, generate chunck_size automatically. - if q_len <= chunck_size: + if q_len <= self.chunck_size: return self.forward_chunck( hidden_states, attention_mask, @@ -176,24 +183,170 @@ class KDeepseekV2Attention(BaseInjectedModule, DeepseekV2Attention): cur_idx = 0 while cur_idx < q_len: if attention_mask is not None: - chunk_mask = attention_mask[:, :, cur_idx:min(cur_idx + chunck_size, q_len), ...] + chunk_mask = attention_mask[:, :, cur_idx:min(cur_idx + self.chunck_size, q_len), ...] else: - chunk_mask = None + # generate chunk_mask automatically. + self.attn_mask = \ + torch.zeros(1, 1, self.chunck_size, past_key_value.max_cache_len, device=hidden_states.device) \ + if self.attn_mask is None \ + else self.attn_mask + self.attn_mask[:, :, :, cur_idx:min(cur_idx+self.chunck_size, past_key_value.max_cache_len)] = \ + -1e+38 * torch.triu(torch.ones(self.chunck_size, self.chunck_size, device=hidden_states.device), diagonal=1)\ + [:,:min(self.chunck_size, min(past_key_value.max_cache_len-cur_idx, self.chunck_size))] + self.attn_mask[:, :, :, cur_idx+self.chunck_size:] = -1e+38 + self.attn_mask[:, :, :, :cur_idx] = 0 + chunck_mask = torch.narrow(self.attn_mask, 2, 0, min(self.chunck_size, q_len-cur_idx)) cur_output, _, _ = self.forward_chunck( - hidden_states[:, cur_idx:min(cur_idx + chunck_size, q_len), ...], - chunk_mask, - position_ids[:, cur_idx:min(cur_idx + chunck_size, q_len)], + hidden_states[:, cur_idx:min(cur_idx + self.chunck_size, q_len), ...], + chunck_mask, + position_ids[:, cur_idx:min(cur_idx + self.chunck_size, q_len)], past_key_value, output_attentions, use_cache, - cache_position[cur_idx:min(cur_idx + chunck_size, q_len)], + cache_position[cur_idx:min(cur_idx + self.chunck_size, q_len)], **kwargs ) - cur_idx += chunck_size + cur_idx += self.chunck_size if attn_output is None: attn_output = cur_output else: attn_output = torch.cat((attn_output, cur_output), dim=-2) return attn_output, None, past_key_value +def rotate_half(x): + """Rotates half the hidden dims of the input.""" + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2 :] + return torch.cat((-x2, x1), dim=-1) + + + + +class KLlamaAttention(BaseInjectedModule): + """Multi-headed attention from 'Attention Is All You Need' paper""" + + def __init__(self, + key: str, + gguf_loader : GGUFLoader, + config: PretrainedConfig, + orig_module: nn.Module, + device: str = "cuda", + **kwargs): + BaseInjectedModule.__init__(self, key, gguf_loader, config, orig_module, device, **kwargs) + self.orig_module.__init__(orig_module.config, + orig_module.layer_idx) + def apply_rotary_pos_emb(self, q, k, cos, sin, position_ids=None, unsqueeze_dim=1): + """Applies Rotary Position Embedding to the query and key tensors. + + Args: + q (`torch.Tensor`): The query tensor. + k (`torch.Tensor`): The key tensor. + cos (`torch.Tensor`): The cosine part of the rotary embedding. + sin (`torch.Tensor`): The sine part of the rotary embedding. + position_ids (`torch.Tensor`, *optional*): + Deprecated and unused. + unsqueeze_dim (`int`, *optional*, defaults to 1): + The 'unsqueeze_dim' argument specifies the dimension along which to unsqueeze cos[position_ids] and + sin[position_ids] so that they can be properly broadcasted to the dimensions of q and k. For example, note + that cos[position_ids] and sin[position_ids] have the shape [batch_size, seq_len, head_dim]. Then, if q and + k have the shape [batch_size, heads, seq_len, head_dim], then setting unsqueeze_dim=1 makes + cos[position_ids] and sin[position_ids] broadcastable to the shapes of q and k. Similarly, if q and k have + the shape [batch_size, seq_len, heads, head_dim], then set unsqueeze_dim=2. + Returns: + `tuple(torch.Tensor)` comprising of the query and key tensors rotated using the Rotary Position Embedding. + """ + cos = cos.unsqueeze(unsqueeze_dim) + sin = sin.unsqueeze(unsqueeze_dim) + q_embed = (q * cos) + (rotate_half(q) * sin) + k_embed = (k * cos) + (rotate_half(k) * sin) + return q_embed, k_embed + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_value: Optional[Cache] = None, + output_attentions: bool = False, + use_cache: bool = False, + cache_position: Optional[torch.LongTensor] = None, + position_embeddings: Optional[Tuple[torch.Tensor, torch.Tensor]] = None, # will become mandatory in v4.45 + **kwargs, + ) -> Tuple[torch.Tensor, Optional[torch.Tensor], Optional[Tuple[torch.Tensor]]]: + bsz, q_len, _ = hidden_states.size() + + if self.config.pretraining_tp > 1: + key_value_slicing = (self.num_key_value_heads * self.head_dim) // self.config.pretraining_tp + query_slices = self.q_proj.weight.split( + (self.num_heads * self.head_dim) // self.config.pretraining_tp, dim=0 + ) + key_slices = self.k_proj.weight.split(key_value_slicing, dim=0) + value_slices = self.v_proj.weight.split(key_value_slicing, dim=0) + + query_states = [F.linear(hidden_states, query_slices[i]) for i in range(self.config.pretraining_tp)] + query_states = torch.cat(query_states, dim=-1) + + key_states = [F.linear(hidden_states, key_slices[i]) for i in range(self.config.pretraining_tp)] + key_states = torch.cat(key_states, dim=-1) + + value_states = [F.linear(hidden_states, value_slices[i]) for i in range(self.config.pretraining_tp)] + value_states = torch.cat(value_states, dim=-1) + + else: + query_states = self.q_proj(hidden_states) + key_states = self.k_proj(hidden_states) + value_states = self.v_proj(hidden_states) + + query_states = query_states.view(bsz, q_len, self.num_heads, self.head_dim).transpose(1, 2) + key_states = key_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + value_states = value_states.view(bsz, q_len, self.num_key_value_heads, self.head_dim).transpose(1, 2) + + if position_embeddings is None: + + logger.warning( + "The attention layers in this model are transitioning from computing the RoPE embeddings internally " + "through `position_ids` (2D tensor with the indexes of the tokens), to using externally computed " + "`position_embeddings` (Tuple of tensors, containing cos and sin). In v4.45 `position_ids` will be " + "removed and `position_embeddings` will be mandatory." + ) + cos, sin = self.rotary_emb(value_states, position_ids) + else: + cos, sin = position_embeddings + query_states, key_states = self.apply_rotary_pos_emb(query_states, key_states, cos, sin) + if q_len == 1: + position_ids = position_ids[0][-1].unsqueeze(0).unsqueeze(0) + query_states = query_states[:, :, -1:] + key_states = key_states[:, :, -1:] + + attn_output = KLlamaModel.dynamic_sdpa.apply( + self.layer_idx, + bsz, + position_ids[0][0], + query_states.transpose(1, 2).to(torch.float16), + key_states.transpose(1, 2).to(torch.float16), + value_states.transpose(1, 2).to(torch.float16), + mode="prefill" if q_len > 1 else "generate", + ) + + + if attn_output.size() != (bsz, self.num_heads, q_len, self.head_dim): + raise ValueError( + f"`attn_output` should be of size {(bsz, self.num_heads, q_len, self.head_dim)}, but is" + f" {attn_output.size()}" + ) + + attn_output = attn_output.transpose(1, 2).contiguous() + + attn_output = attn_output.reshape(bsz, q_len, -1) + + if self.config.pretraining_tp > 1: + attn_output = attn_output.split(self.hidden_size // self.config.pretraining_tp, dim=2) + o_proj_slices = self.o_proj.weight.split(self.hidden_size // self.config.pretraining_tp, dim=1) + attn_output = sum([F.linear(attn_output[i], o_proj_slices[i]) for i in range(self.config.pretraining_tp)]) + else: + attn_output = self.o_proj(attn_output) + + if not output_attentions: + attn_weights = None + + return attn_output, attn_weights, past_key_value \ No newline at end of file diff --git a/ktransformers/operators/cpuinfer.py b/ktransformers/operators/cpuinfer.py index 027cc8b..74b8fa8 100644 --- a/ktransformers/operators/cpuinfer.py +++ b/ktransformers/operators/cpuinfer.py @@ -1,18 +1,746 @@ +#!/usr/bin/env python +# coding=utf-8 +""" +Description : This script defines the `CPUInferKVCache` and `CPUInfer` classes for performing inference + with a Key-Value Cache on the CPU. The `CPUInferKVCache` class is responsible for configuring + and managing key-value caches, updating and retrieving cache data, and handling attention + operations. It supports different cache types (e.g., Q4_0, FP16) and retrieval strategies + (e.g., shared, separate). The `CPUInfer` class handles task submission and synchronization + on the CPU, with optional CUDA stream integration for tasks involving GPU acceleration. + These classes facilitate efficient caching and memory management for deep learning models + that leverage key-value attention mechanisms, particularly on CPU-based systems. +Author : djw +Date : 2024-08-26 23:25:24 +Version : 1.0.0 +LastEditors : djw +LastEditTime : 2024-08-26 23:25:24 +Copyright (c) 2024 by KVCache.AI, All Rights Reserved. +""" import sys, os from typing import Any +import torch sys.path.append(os.path.join(os.path.dirname(__file__), "..", "ktransformers_ext", "build")) sys.path.append(os.path.join(os.path.dirname(__file__), "..", "ktransformers_ext", "build", "Release")) sys.path.append(os.path.join(os.path.dirname(__file__), "..", "ktransformers_ext", "build", "Debug")) import cpuinfer_ext from ktransformers.server.config.config import Config + + +class CPUInferKVCache: + def __init__( + self, + layer_num: int = 32, + kv_head_num: int = 8, + q_head_num: int = 32, + head_dim: int = 128, + block_len: int = 256, + anchor_num: int = 4, + anchor_type: str = "FIXED", + kv_type: str = "Q4_0", + retrieval_type: str = "SHARED", + layer_step: int = 1, + token_step: int = 1, + layer_offset: int = 0, + max_thread_num: int = 32, + max_batch_size: int = 4, + max_block_num: int = 512, + ): + + if anchor_type == "FIXED": + anchor_type = cpuinfer_ext.kvcache.AnchorType.FIXED + elif anchor_type == "QUEST": + anchor_type = cpuinfer_ext.kvcache.AnchorType.QUEST + elif anchor_type == "DYNAMIC": + anchor_type = cpuinfer_ext.kvcache.AnchorType.DYNAMIC + elif anchor_type == "BLOCK_MEAN": + anchor_type = cpuinfer_ext.kvcache.AnchorType.BLOCK_MEAN + elif anchor_type == "BLOCK_MAX": + anchor_type = cpuinfer_ext.kvcache.AnchorType.BLOCK_MAX + else: + raise ValueError(f"Unknown anchor type: {anchor_type}") + + if kv_type == "FP16": + kv_type = cpuinfer_ext.kvcache.ggml_type.FP16 + elif kv_type == "FP32": + assert False, "FP32 is not supported yet." + kv_type = cpuinfer_ext.kvcache.ggml_type.FP32 + elif kv_type == "Q4_0": + kv_type = cpuinfer_ext.kvcache.ggml_type.Q4_0 + elif kv_type == "Q8_0": + kv_type = cpuinfer_ext.kvcache.ggml_type.Q8_0 + else: + raise ValueError(f"Unknown kv type: {kv_type}") + + if retrieval_type == "SHARED": + retrieval_type = cpuinfer_ext.kvcache.RetrievalType.LAYER + elif retrieval_type == "INDIVIDUAL": + retrieval_type = cpuinfer_ext.kvcache.RetrievalType.QHEAD + elif retrieval_type == "SEPARATE": + retrieval_type = cpuinfer_ext.kvcache.RetrievalType.KVHEAD + + self.config = cpuinfer_ext.kvcache.KVCacheConfig( + layer_num, + kv_head_num, + q_head_num, + head_dim, + block_len, + anchor_num, + anchor_type, + kv_type, + retrieval_type, + layer_step, + token_step, + layer_offset, + max_block_num, + max_batch_size, + max_thread_num, + ) + self.kvcache = cpuinfer_ext.kvcache.KVCache(self.config) + + def load_kvcache(self, tensor_file_path: str): + if not os.path.exists(tensor_file_path): + raise FileNotFoundError(f"The file {tensor_file_path} does not exist.") + return self.kvcache.load_kvcache(tensor_file_path,) + + def dump_kvcache( + self, block_table: torch.Tensor, cache_total_len: int, tensor_file_path: str + ): + assert ( + block_table.dim() == 1 + and block_table.dtype == torch.int + and block_table.is_contiguous() + and block_table.device == torch.device("cpu") + ), "block_table dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + block_table.dim(), + block_table.size(), + block_table.dtype, + block_table.is_contiguous(), + block_table.device, + ) + + assert ( + cache_total_len > 0 + and cache_total_len <= self.config.block_len * block_table.size(0) + ), "cache_total_len: {}".format(cache_total_len) + + if not os.path.exists(os.path.dirname(tensor_file_path)): + os.makedirs(os.path.dirname(tensor_file_path)) + + return self.kvcache.dump_kvcache( + block_table.data_ptr(), + cache_total_len, + tensor_file_path, + ) + + def update_cache_total_len(self, cache_total_len: int): + assert cache_total_len > 0, "cache_total_len: {}".format(cache_total_len) + self.kvcache.update_cache_total_len(cache_total_len) + + # q_in: (bsz, q_len, q_head_num, head_dim) + # output: (bsz, q_len, q_head_num, head_dim) + # attn_lse: (bsz, q_len, q_head_num) + # block_table: (bsz, max_block_num) + def attn( + self, + q_in: torch.Tensor, + output: torch.Tensor, + attn_lse: torch.Tensor, + layer_idx: int, + generate_token_idx: int, + block_table: torch.Tensor | None = None, + cache_seqlens: torch.Tensor | None = None, + pick_block_num: int | None = None, + init_block_num: int | None = None, + local_block_num: int | None = None, + ): + + assert ( + q_in.dim() == 4 + and q_in.size(2) == self.config.q_head_num + and q_in.size(3) == self.config.head_dim + and q_in.dtype == torch.float16 + and q_in.is_contiguous() + and q_in.device == torch.device("cpu") + ), "q_in dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + q_in.dim(), q_in.size(), q_in.dtype, q_in.is_contiguous(), q_in.device + ) + + batch_size = q_in.size(0) + q_len = q_in.size(1) + + assert (block_table is None) or ( + block_table.dim() == 2 + and block_table.size(0) == batch_size + and block_table.dtype == torch.int + and block_table.is_contiguous() + and block_table.device == torch.device("cpu") + ), "block_table dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + block_table.dim(), + block_table.size(), + block_table.dtype, + block_table.is_contiguous(), + block_table.device, + ) + + max_block_num = block_table.size(1) if block_table is not None else 0 + + assert ( + output.dim() == 4 + and output.size(0) == batch_size + and output.size(2) == self.config.q_head_num + and output.size(1) == q_len + and output.size(3) == self.config.head_dim + and output.dtype == torch.float16 + and output.is_contiguous() + and output.device == torch.device("cpu") + ), "output dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + output.dim(), + output.size(), + output.dtype, + output.is_contiguous(), + output.device, + ) + + assert ( + attn_lse.dim() == 3 + and attn_lse.size(0) == batch_size + and attn_lse.size(1) == q_len + and attn_lse.size(2) == self.config.q_head_num + and attn_lse.dtype == torch.float32 + and attn_lse.is_contiguous() + and attn_lse.device == torch.device("cpu") + ), "attn_lse dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + attn_lse.dim(), + attn_lse.size(), + attn_lse.dtype, + attn_lse.is_contiguous(), + attn_lse.device, + ) + + assert ( + layer_idx >= 0 and layer_idx < self.config.layer_num + ), "layer_idx: {}".format(layer_idx) + + assert (cache_seqlens is None) or ( + cache_seqlens.dim() == 1 + and cache_seqlens.size(0) == batch_size + and cache_seqlens.dtype == torch.int + and cache_seqlens.is_contiguous() + and cache_seqlens.device == torch.device("cpu") + ), "cache_seqlens dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + cache_seqlens.dim(), + cache_seqlens.size(), + cache_seqlens.dtype, + cache_seqlens.is_contiguous(), + cache_seqlens.device, + ) + + return self.kvcache.attn( + q_in.data_ptr(), + output.data_ptr(), + attn_lse.data_ptr(), + layer_idx, + generate_token_idx, + q_len, + batch_size, + max_block_num, + block_table.data_ptr() if block_table is not None else 0, + cache_seqlens.data_ptr() if cache_seqlens is not None else 0, + pick_block_num, + init_block_num, + local_block_num, + ) + + # k_in: (block_len, kv_head_num, head_dim) + # v_in: (block_len, kv_head_num, head_dim) + def update_kvcache_one_block_fp16( + self, k_in: torch.Tensor, v_in: torch.Tensor, layer_id: int, block_idx: int + ): + assert ( + k_in.dim() == 3 + and k_in.size(1) == self.config.block_len + and k_in.size(0) == self.config.kv_head_num + and k_in.size(2) == self.config.head_dim + and k_in.dtype == torch.float16 + and k_in.is_contiguous() + and k_in.device == torch.device("cpu") + ), "k_in dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + k_in.dim(), k_in.size(), k_in.dtype, k_in.is_contiguous(), k_in.device + ) + assert ( + v_in.dim() == 3 + and v_in.size(1) == self.config.block_len + and v_in.size(0) == self.config.kv_head_num + and v_in.size(2) == self.config.head_dim + and v_in.dtype == torch.float16 + and v_in.is_contiguous() + and v_in.device == torch.device("cpu") + ), "v_in dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + v_in.dim(), v_in.size(), v_in.dtype, v_in.is_contiguous(), v_in.device + ) + assert ( + layer_id >= 0 and layer_id < self.config.layer_num + ), "layer_id: {}".format(layer_id) + assert block_idx >= 0, "block_idx: {}".format(block_idx) + return self.kvcache.update_one_block_fp16( + k_in.data_ptr(), + v_in.data_ptr(), + layer_id, + block_idx, + ) + + def get_kvcache_one_block_fp16( + self, k_in: torch.Tensor, v_in: torch.Tensor, layer_id: int, block_idx: int + ): + assert ( + k_in.dim() == 3 + and k_in.size(1) == self.config.block_len + and k_in.size(0) == self.config.kv_head_num + and k_in.size(2) == self.config.head_dim + and k_in.dtype == torch.float16 + and k_in.is_contiguous() + and k_in.device == torch.device("cpu") + ), "k_in dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + k_in.dim(), k_in.size(), k_in.dtype, k_in.is_contiguous(), k_in.device + ) + assert ( + v_in.dim() == 3 + and v_in.size(1) == self.config.block_len + and v_in.size(0) == self.config.kv_head_num + and v_in.size(2) == self.config.head_dim + and v_in.dtype == torch.float16 + and v_in.is_contiguous() + and v_in.device == torch.device("cpu") + ), "v_in dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + v_in.dim(), v_in.size(), v_in.dtype, v_in.is_contiguous(), v_in.device + ) + assert ( + layer_id >= 0 and layer_id < self.config.layer_num + ), "layer_id: {}".format(layer_id) + assert block_idx >= 0, "block_idx: {}".format(block_idx) + return self.kvcache.get_one_block_fp16( + k_in.data_ptr(), + v_in.data_ptr(), + layer_id, + block_idx, + ) + + def update_importance_one_block( + self, importance: torch.Tensor, layer_id: int, block_idx: int + ): + assert ( + importance.dim() == 1 + and importance.size(0) == self.config.block_len + and importance.dtype == torch.float16 + and importance.is_contiguous() + and importance.device == torch.device("cpu") + ), "importance dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + importance.dim(), + importance.size(), + importance.dtype, + importance.is_contiguous(), + importance.device, + ) + assert ( + layer_id >= 0 and layer_id < self.config.layer_num + ), "layer_id: {}".format(layer_id) + assert block_idx >= 0, "block_idx: {}".format(block_idx) + return self.kvcache.update_importance_one_block( + importance.data_ptr(), + layer_id, + block_idx, + ) + + def get_importance_one_block( + self, importance: torch.Tensor, layer_id: int, block_idx: int + ): + assert ( + importance.dim() == 1 + and importance.size(0) == self.config.block_len + and importance.dtype == torch.float16 + and importance.is_contiguous() + and importance.device == torch.device("cpu") + ), "importance dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + importance.dim(), + importance.size(), + importance.dtype, + importance.is_contiguous(), + importance.device, + ) + assert ( + layer_id >= 0 and layer_id < self.config.layer_num + ), "layer_id: {}".format(layer_id) + assert block_idx >= 0, "block_idx: {}".format(block_idx) + return self.kvcache.get_importance_one_block( + importance.data_ptr(), + layer_id, + block_idx, + ) + + def get_anchor_one_block(self, anchor: torch.Tensor, layer_id: int, block_idx: int): + assert ( + anchor.dim() == 3 + and anchor.size(0) == self.config.kv_head_num + and anchor.size(1) == self.config.anchor_num + and anchor.size(2) == self.config.head_dim + and anchor.dtype == torch.float16 + and anchor.is_contiguous() + and anchor.device == torch.device("cpu") + ), "anchor dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + anchor.dim(), + anchor.size(), + anchor.dtype, + anchor.is_contiguous(), + anchor.device, + ) + assert ( + layer_id >= 0 and layer_id < self.config.layer_num + ), "layer_id: {}".format(layer_id) + assert block_idx >= 0, "block_idx: {}".format(block_idx) + return self.kvcache.get_anchor_one_block( + anchor.data_ptr(), + layer_id, + block_idx, + ) + + def update_anchor_one_block( + self, anchor: torch.Tensor, layer_id: int, block_idx: int + ): + assert ( + anchor.dim() == 3 + and anchor.size(0) == self.config.kv_head_num + and anchor.size(1) == self.config.anchor_num + and anchor.size(2) == self.config.head_dim + and anchor.dtype == torch.float16 + and anchor.is_contiguous() + and anchor.device == torch.device("cpu") + ), "anchor dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + anchor.dim(), + anchor.size(), + anchor.dtype, + anchor.is_contiguous(), + anchor.device, + ) + assert ( + layer_id >= 0 and layer_id < self.config.layer_num + ), "layer_id: {}".format(layer_id) + assert block_idx >= 0, "block_idx: {}".format(block_idx) + return self.kvcache.update_anchor_one_block( + anchor.data_ptr(), + layer_id, + block_idx, + ) + + def calc_anchor_all_layers( + self, + block_table: torch.Tensor, + cache_seqlens: torch.Tensor, + ): + assert ( + block_table.dim() == 2 + and block_table.size(0) == cache_seqlens.size(0) + and block_table.dtype == torch.int + and block_table.is_contiguous() + and block_table.device == torch.device("cpu") + ), "block_table dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + block_table.dim(), + block_table.size(), + block_table.dtype, + block_table.is_contiguous(), + block_table.device, + ) + assert ( + cache_seqlens.dim() == 1 + and cache_seqlens.dtype == torch.int + and cache_seqlens.is_contiguous() + and cache_seqlens.device == torch.device("cpu") + ), "cache_seqlens dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + cache_seqlens.dim(), + cache_seqlens.size(), + cache_seqlens.dtype, + cache_seqlens.is_contiguous(), + cache_seqlens.device, + ) + batch_size = block_table.size(0) + max_block_num = block_table.size(1) + return self.kvcache.calc_anchor_all_layers( + block_table.data_ptr(), + cache_seqlens.data_ptr(), + batch_size, + max_block_num, + ) + + def clear_importance_all_layers( + self, + block_table: torch.Tensor, + cache_seqlens: torch.Tensor, + ): + assert ( + block_table.dim() == 2 + and block_table.size(0) == cache_seqlens.size(0) + and block_table.dtype == torch.int + and block_table.is_contiguous() + and block_table.device == torch.device("cpu") + ), "block_table dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + block_table.dim(), + block_table.size(), + block_table.dtype, + block_table.is_contiguous(), + block_table.device, + ) + assert ( + cache_seqlens.dim() == 1 + and cache_seqlens.dtype == torch.int + and cache_seqlens.is_contiguous() + and cache_seqlens.device == torch.device("cpu") + ), "cache_seqlens dim: {}, size: {}, dtype: {}, contiguous: {}, device: {}".format( + cache_seqlens.dim(), + cache_seqlens.size(), + cache_seqlens.dtype, + cache_seqlens.is_contiguous(), + cache_seqlens.device, + ) + batch_size = block_table.size(0) + max_block_num = block_table.size(1) + return self.kvcache.clear_importance_all_layers( + block_table.data_ptr(), + cache_seqlens.data_ptr(), + batch_size, + max_block_num, + ) + + def get_cache_total_len(self): + return self.kvcache.get_cache_total_len() + + def update_kvcache_q4( + self, + k_in: torch.Tensor, + k_scales: torch.Tensor, + v_in: torch.Tensor, + v_scales: torch.Tensor, + layer_id: int, + seq_offset: int | None = None, + seq_len: int | None = None, + block_table: torch.Tensor | None = None, + ): + raise NotImplementedError + + def update_kvcache_fp16( + self, + k_in: torch.Tensor, + v_in: torch.Tensor, + layer_idx, + block_table: torch.Tensor, + max_block_num, + past_len: torch.Tensor, + q_len, + ): + batch_size = block_table.size(0) + return self.kvcache.get_kvcache_fp16( + k_in.data_ptr(), + v_in.data_ptr(), + layer_idx, + block_table.data_ptr(), + batch_size, + max_block_num, + past_len.data_ptr(), + q_len + ) + + def get_kvcache_q4( + self, + k_in: torch.Tensor, + k_scales: torch.Tensor, + v_in: torch.Tensor, + v_scales: torch.Tensor, + layer_id: int, + seq_offset: int | None = None, + seq_len: int | None = None, + block_table: torch.Tensor | None = None, + ): + raise NotImplementedError + + def get_kvcache_fp16( + self, + k_in: torch.Tensor, + v_in: torch.Tensor, + layer_id: int, + layer_idx, + block_table: torch.Tensor, + max_block_num, + past_len: torch.Tensor, + ): + batch_size = block_table.size(0) + return self.kvcache.get_kvcache_fp16( + k_in.data_ptr(), + v_in.data_ptr(), + layer_idx, + block_table.data_ptr(), + batch_size, + max_block_num, + past_len.data_ptr(), + ) + + def get_and_update_kvcache_fp16( + self, + k_cache_cpu: torch.Tensor, + v_cache_cpu: torch.Tensor, + layer_idx, + block_table: torch.Tensor, + max_block_num, + past_len: torch.Tensor, + q_len, + ): + batch_size = block_table.size(0) + return self.kvcache.get_and_update_kvcache_fp16( + k_cache_cpu.data_ptr(), + v_cache_cpu.data_ptr(), + layer_idx, + block_table.data_ptr(), + batch_size, + max_block_num, + past_len.data_ptr(), + q_len, + ) + + def update_importance( + self, + importance_cache: torch.Tensor, + layer_idx, + block_table: torch.Tensor, + max_block_num, + offset: torch.Tensor, + width, + ): + batch_size = block_table.size(0) + return self.kvcache.update_importance( + importance_cache.data_ptr(), + layer_idx, + block_table.data_ptr(), + batch_size, + max_block_num, + offset.data_ptr(), + width, + ) + + # attn_sparsity: ((bsz, q_len, q_head_num), dtype = torch.float32) + def get_attn_sparsity( + self, + q_in: torch.Tensor, + attn_sparsity: torch.Tensor, + layer_idx: int, + block_table: torch.Tensor, + cache_seqlens: torch.Tensor, + block_table_origin: torch.Tensor, + cache_seqlens_origin: torch.Tensor, + generate_token_idx: int = 0, + topk: int | None = None, + local: int | None = None, + ): + batch_size = block_table.size(0) + max_block_num = block_table.size(1) + max_block_num_origin = block_table_origin.size(1) + q_len = q_in.size(1) + + if topk is None or local is None or topk + local >= max_block_num: + topk = -1 + local = -1 + return self.kvcache.get_attn_sparsity( + q_in.data_ptr(), + attn_sparsity.data_ptr(), + layer_idx, + generate_token_idx, + q_len, + batch_size, + max_block_num, + block_table.data_ptr(), + cache_seqlens.data_ptr(), + block_table_origin.data_ptr(), + cache_seqlens_origin.data_ptr(), + max_block_num_origin, + topk, + local, + ) + + def attn_with_kvcache( + self, + q_in: torch.Tensor, + k_in: torch.Tensor, + v_in: torch.Tensor, + output: torch.Tensor, + attn_lse: torch.Tensor, + layer_idx: int, + block_table: torch.Tensor, + cache_seqlens: torch.Tensor, + generate_token_idx: int = 0, + topk: int | None = None, + local: int | None = None, + ): + + batch_size = block_table.size(0) + max_block_num = block_table.size(1) + q_len = q_in.size(1) + + if topk is None or local is None or topk + local >= max_block_num: + topk = -1 + local = -1 + return self.kvcache.attn_with_kvcache( + q_in.data_ptr(), + k_in.data_ptr(), + v_in.data_ptr(), + output.data_ptr(), + attn_lse.data_ptr(), + layer_idx, + generate_token_idx, + q_len, + batch_size, + max_block_num, + block_table.data_ptr(), + cache_seqlens.data_ptr(), + topk, + local, + ) + + def get_all_kvcache_one_layer( + self, k_in: torch.Tensor, v_in: torch.Tensor, layer_id: int + ): + return self.kvcache.get_all_kvcache_one_layer( + k_in.data_ptr(), + v_in.data_ptr(), + layer_id, + ) + + def get_importance( + self, + importance: torch.Tensor, + block_table: torch.Tensor, + ): + raise NotImplementedError + + def get_anchor( + self, + anchor: torch.Tensor, + block_table: torch.Tensor, + ): + raise NotImplementedError + + class CPUInfer: - cpu_infer = None - def __init__(self, cpu_infer:int = Config().cpu_infer): - if CPUInfer.cpu_infer is None: - CPUInfer.cpu_infer = cpuinfer_ext.CPUInfer(cpu_infer) + cpuinfer = None + def __init__(self, thread_num): + CPUInfer.cpuinfer = cpuinfer_ext.CPUInfer(thread_num) + + def submit(self, task): + CPUInfer.cpuinfer.submit(task) + + def submit_with_cuda_stream(self, current_cuda_stream, task): + CPUInfer.cpuinfer.submit_with_cuda_stream(current_cuda_stream, task) + + def sync(self): + CPUInfer.cpuinfer.sync() + + def sync_with_cuda_stream(self, current_cuda_stream): + CPUInfer.cpuinfer.sync_with_cuda_stream(current_cuda_stream) + + - def __getattribute__(self, __name: str) -> Any: - return CPUInfer.cpu_infer.__getattribute__(__name) - - def __setattr__(self, __name: str, __value: Any) -> None: - return CPUInfer.cpu_infer.__setattr__(__name, __value) \ No newline at end of file diff --git a/ktransformers/operators/dynamic_attention.py b/ktransformers/operators/dynamic_attention.py new file mode 100644 index 0000000..13a74b4 --- /dev/null +++ b/ktransformers/operators/dynamic_attention.py @@ -0,0 +1,775 @@ +#!/usr/bin/env python +# coding=utf-8 +""" +Description : +Author : Jianwei Dong +Date : 2024-08-26 23:25:24 +Version : 1.0.0 +LastEditors : Jianwei Dong +LastEditTime : 2024-08-26 23:25:24 +Copyright (c) 2024 by KVCache.AI, All Rights Reserved. +""" + +import torch +from transformers import AutoConfig +import sys, os +import logging +logger = logging.getLogger("dynamic_attention") +sys.path.append(os.path.dirname(__file__) + "/../ktransformers_ext/cpu_backend") +from ktransformers.operators.cpuinfer import CPUInfer, CPUInferKVCache +from flash_attn import flash_attn_func, flash_attn_with_kvcache + + +import math +import json + + +class DynamicScaledDotProductAttention: + remaining_length: int + + def __init__( + self, + max_seq_len: int, + block_size: int, + config: AutoConfig, + device: torch.device, + local_windows_len: int, + topk: int, + threads_num: int, + anchor_type: str = "DYNAMIC", + kv_type: str = "FP16", + dense_layer_num: int = 0, + anchor_num: int = 1, + block_selection_mode: str = "SHARED", + layer_step: int = 1, + token_step: int = 1, + preselect_block: bool = False, + preselect_block_count: int = 96, + prefill_chunk_size: int = 20480, + use_attn_sparsity: bool = False, + ): + # assert anchor_num == 1 + # assert anchor_type == "DYNAMIC" + self.remaining_length = 0 + valid_anchor_types = ["DYNAMIC", "FIXED", "BLOCK_MEAN", "BLOCK_MAX", "QUEST"] + assert anchor_type in valid_anchor_types + if anchor_type == "QUEST": + assert anchor_num == 2 + elif anchor_type != "FIXED" and anchor_type != "DYNAMIC": + assert anchor_num == 1 + + valid_kv_types = ["FP16", "FP32", "Q4_0", "Q8_0"] + assert kv_type in valid_kv_types + if kv_type != "FP16" and kv_type != "FP32": + assert block_size % 32 == 0 + + valid_block_selection_modes = ["SHARED", "SEPARATE"] # individual + assert block_selection_mode in valid_block_selection_modes + + self.max_seq_len = max_seq_len + self.block_num = max_seq_len // block_size + self.block_size = block_size + self.anchor_type = anchor_type + self.kv_type = kv_type + self.anchor_num = anchor_num + self.threads_num = threads_num + self.layer_step = layer_step + self.token_step = token_step + self.preselect_block = preselect_block + self.preselect_block_count = preselect_block_count + self.block_selection_mode = block_selection_mode + self.use_attn_sparsity = use_attn_sparsity + + # model config + self.kv_head_num = config.num_key_value_heads + self.q_head_num = config.num_attention_heads + self.head_dim = config.hidden_size // config.num_attention_heads + self.layer_num = config.num_hidden_layers + + self.device = device + self.local_windows_len = local_windows_len + self.local_block_num = self.local_windows_len // self.block_size + 1 + self.prefill_chunk_size = prefill_chunk_size + + self.topk = topk + self.dense_layer_num = dense_layer_num + # self.dense_layer_num = 32 + self.cache_key_states = torch.zeros( + (self.block_num, block_size, self.kv_head_num, self.head_dim), + device=device, + dtype=torch.float16, + ) + self.cache_value_states = torch.zeros( + (self.block_num, block_size, self.kv_head_num, self.head_dim), + device=device, + dtype=torch.float16, + ) + # [max_num_block, block_size, head_num] + self.cache_importance = torch.zeros( + (self.block_num, block_size, self.q_head_num), + device=device, + dtype=torch.float16, + ) + + # key_states: [bsz, q_len, kv_head_num, head_dim] + # value_states: [bsz, q_len, kv_head_num, head_dim] + # query_states: [bsz, q_len, q_head_num, head_dim] + self.q_in_cpu = torch.zeros( + (1, 1, self.q_head_num, self.head_dim), + device="cpu", + dtype=torch.float16, + pin_memory=True, + ) + self.k_in_cpu = torch.zeros( + (1, 1, self.kv_head_num, self.head_dim), + device="cpu", + dtype=torch.float16, + pin_memory=True, + ) + self.v_in_cpu = torch.zeros( + (1, 1, self.kv_head_num, self.head_dim), + device="cpu", + dtype=torch.float16, + pin_memory=True, + ) + + self.cache_seqlens_cpu = torch.empty( + (1,), device="cpu", dtype=torch.int32, pin_memory=True + ) + + self.cache_seqlens_cuda = torch.empty((1,), device=device, dtype=torch.int32) + + self.prefix_block_table = torch.arange( + self.block_num, device="cpu", dtype=torch.int32, pin_memory=True + ).view(1, -1) + + self.block_table_cpu = torch.arange( + self.block_num, device="cpu", dtype=torch.int32, pin_memory=True + ).view(1, -1) + + # assert ( + # self.local_windows_len // self.block_size + 1 + self.preselect_block_count + # <= self.block_num + # ) + + self.output_cpu = torch.empty( + (1, 1, self.q_head_num, self.head_dim), + device="cpu", + dtype=torch.float16, + pin_memory=True, + ) + self.lse_cpu = torch.empty( + (1, 1, self.q_head_num), device="cpu", dtype=torch.float32, pin_memory=True + ) + + self.output_cuda = torch.empty( + (1, 1, self.q_head_num, self.head_dim), device=device, dtype=torch.float16 + ) + + self.attn_sparsity = torch.zeros( + (1, 1, self.q_head_num), device="cpu", dtype=torch.float32, pin_memory=True + ) + + if preselect_block == True: + self.preselect_block_table = torch.zeros( + self.layer_num, + self.preselect_block_count, + device=device, + dtype=torch.int32, + ) + self.preselect_block_num = 0 # block_num before preselect + self.evict_tokens = 0 + + self.cpu_infer = CPUInfer(threads_num) + self.local_thread = CPUInferKVCache( + self.layer_num, + self.kv_head_num, + self.q_head_num, + self.head_dim, + self.block_size, + anchor_num=self.anchor_num, + anchor_type=anchor_type, + kv_type=self.kv_type, + retrieval_type=self.block_selection_mode, + layer_step=self.layer_step, + token_step=self.token_step, + layer_offset=self.dense_layer_num % self.layer_step, + max_batch_size=1, + max_block_num=self.block_num, + max_thread_num=self.threads_num, + ) + + print( + f"local_windows_len: {local_windows_len}, topk: {topk}, dense_layer_num: {dense_layer_num}, kv_type: {self.kv_type}, anchor_type: {self.anchor_type}, preselect_block: {self.preselect_block}, preselect_block_count: {self.preselect_block_count}, token_step: {self.token_step}, layer_step: {self.layer_step}" + ) + + self.shape_mask = ( + self.q_head_num, + self.block_size, + self.block_size, + ) + + mask = torch.zeros( + self.shape_mask, dtype=torch.uint8, device=device + ).contiguous() + elm_idx = torch.arange(self.block_size, device=device) + + for i in range(mask.size(-2)): + idx = i + mask.size(-1) - mask.size(-2) - elm_idx + idx = idx[idx >= 0] + mask[..., i, idx] = 1 + + self.tril_mask = mask + self.triu_mask = mask ^ 1 + + self.generate_token_idx = 0 + + def get_attn_score_one_block( + self, + batch_idx: int, + max_block_num: int, + query: torch.Tensor, + key: torch.Tensor, + offset: int, + width: int, + mask_mode: str | None = None, + use_softmax: bool = True, + ): + n_rep = self.q_head_num // self.kv_head_num + importance = self.cache_importance.view(-1, self.q_head_num) + importance = importance.narrow(0, batch_idx * max_block_num + offset, width) + n_gqa_ = self.q_head_num // self.kv_head_num + for head_idx in range(self.q_head_num): + key_item = key[..., head_idx // n_gqa_, :].view(key.size(0), -1) + qk = torch.einsum( + "qd,kd->qk", query[:,head_idx,:], key_item + ) # (num_attention_heads, len_q, len_k) + + if mask_mode == "tril": + mask = self.tril_mask + mask = mask[0, -qk.size(-2) :, -qk.size(-1) :] + qk = qk * mask + elif mask_mode == "triu": + mask = self.triu_mask + mask = mask[0, -qk.size(-2) :, -qk.size(-1) :] + qk = qk * mask + + if use_softmax: + qk = torch.nn.functional.softmax( + qk / math.sqrt(self.head_dim), dim=-1, dtype=torch.float32 + ).to(torch.float16) + + qk = torch.sum(qk, dim=-2) + importance[...,head_idx] += qk + + def get_preselect_block_table_and_attn_score( + self, + layer_idx: int, + batch_size: int, + offset: torch.Tensor, + width: int, + query: torch.Tensor, + key: torch.Tensor, + union_with_last_layer: bool = True, + ): + max_seqs_len = offset.max().item() + width + max_block_num = (max_seqs_len + self.block_size - 1) // self.block_size + + for batch_idx in range(batch_size): + query_cur = query[batch_idx][-128:] + self.get_attn_score_one_block( + batch_idx, + max_block_num, + query_cur, + key[batch_idx][: offset[batch_idx].item() + width], + 0, + offset[batch_idx].item() + width, + mask_mode=None, + ) + + if self.preselect_block: + self.prefill_block_num = max( + 0, max_block_num - self.local_windows_len // self.block_size + ) + self.evict_tokens = ( + max(self.prefill_block_num - self.preselect_block_count, 0) + * self.block_size + ) + + if self.prefill_block_num != 0: + importance_cache = self.cache_importance.narrow( + 0, 0, self.prefill_block_num * batch_size + ).view( + batch_size, self.prefill_block_num, self.block_size, self.q_head_num + ) + + importance_r = importance_cache[:, 1:, : self.block_size // 4] + pad_r = torch.zeros_like(importance_r[:, :1]) + importance_r = torch.cat((importance_r, pad_r), dim=1) + importance_l = importance_cache[:, :-1, -self.block_size // 4 :] + pad_l = torch.zeros_like(importance_l[:, :1]) + importance_l = torch.cat((pad_l, importance_l), dim=1) + importance = torch.cat( + (importance_l, importance_cache, importance_r), dim=2 + ) + importance = importance.mean(dim=-1) + importance = importance.mean(dim=-1) + # importance: (batch_size, max_block_num) + topk = min(self.preselect_block_count, self.prefill_block_num) + values, indices = torch.topk( + importance, + k=topk, + dim=1, + ) + + self.preselect_block_table[ + layer_idx : layer_idx + 1, + :topk, + ].copy_(indices) + + if union_with_last_layer and layer_idx == 31: + for tmp_layer_idx in range(self.layer_num - 1): + for i in range(1, min(topk, 6)): + x = self.preselect_block_table[-1, i] + if x not in self.preselect_block_table[tmp_layer_idx]: + self.preselect_block_table[tmp_layer_idx, topk - i] = x + if self.anchor_type == "DYNAMIC": + importance_cache = self.cache_importance.narrow( + 0, 0, max_block_num * batch_size + ).view(batch_size, max_block_num * self.block_size, self.q_head_num) + importance_cache_cpu = torch.empty_like( + importance_cache, device="cpu", pin_memory=True + ) + + importance_cache_cpu.copy_(importance_cache) + + block_table_cpu = self.prefix_block_table[:, :max_block_num].to("cpu") + offset_cpu = offset.contiguous().to("cpu") + + self.cpu_infer.submit( + self.local_thread.update_importance( + importance_cache_cpu, + layer_idx, + block_table_cpu, + max_block_num, + offset_cpu, + width, + ) + ) + self.cpu_infer.sync() + + importance_cache = self.cache_importance.narrow( + 0, 0, max_block_num * batch_size + ).view(batch_size, max_block_num * self.block_size, self.q_head_num) + importance_cache.zero_() + + # key: [bsz, past_len, head_num, head_dim] float16 + # query: [bsz, q_len, q_head_num, head_dim] float16 + def get_attn_score( + self, + layer_idx: int, + batch_size: int, + offset: torch.Tensor, + width: int, + query: torch.Tensor, + key: torch.Tensor, + ): + max_seqs_len = offset.max().item() + width + max_block_num = (max_seqs_len + self.block_size - 1) // self.block_size + + for batch_idx in range(batch_size): + for idx in range(width // self.block_size): + offset_cur = idx * self.block_size + query_cur = query[batch_idx, offset_cur : offset_cur + self.block_size] + self.get_attn_score_one_block( + batch_idx, + max_block_num, + query_cur, + key[ + batch_idx, + offset[batch_idx] + + offset_cur : offset[batch_idx] + + offset_cur + + self.block_size, + ], + offset[batch_idx].item() + offset_cur, + self.block_size, + mask_mode="tril", + use_softmax=False, + ) + + offset_key = ( + offset[batch_idx].item() + + idx * self.block_size + - self.local_windows_len + ) + if offset_key >= 0: + self.get_attn_score_one_block( + batch_idx, + max_block_num, + query_cur, + key[batch_idx, offset_key : offset_key + self.block_size], + offset_key, + self.block_size, + mask_mode="triu", + use_softmax=False, + ) + + offset_key = max(0, offset_key + self.block_size) + width_key = ( + offset[batch_idx].item() + idx * self.block_size - offset_key + ) + if width_key > 0: + self.get_attn_score_one_block( + batch_idx, + max_block_num, + query_cur, + key[batch_idx, offset_key : offset_key + width_key], + offset_key, + width_key, + mask_mode=None, + use_softmax=False, + ) + + importance_cache = self.cache_importance.narrow( + 0, 0, max_block_num * batch_size + ).view(batch_size, max_block_num * self.block_size, self.q_head_num) + importance_cache_cpu = torch.empty_like( + importance_cache, device="cpu", pin_memory=True + ) + + importance_cache_cpu.copy_(importance_cache) + + block_table_cpu = self.prefix_block_table[:, :max_block_num].to("cpu") + offset_cpu = offset.contiguous().to("cpu") + + self.cpu_infer.submit( + self.local_thread.update_importance( + importance_cache_cpu, + layer_idx, + block_table_cpu, + max_block_num, + offset_cpu, + width, + ) + ) + self.cpu_infer.sync() + importance_cache.zero_() + + # key: [bsz, q_len, head_num, head_dim] float16 + # value: [bsz, q_len, head_num, head_dim] float16 + def swap_in_and_swap_out(self, layer_idx, past_len, q_len, key, value): + batch_size = 1 + max_seqs_len = past_len.max().item() + q_len + max_block_num = (max_seqs_len + self.block_size - 1) // self.block_size + k_cache = self.cache_key_states.narrow(0, 0, max_block_num * batch_size).view( + batch_size, max_block_num * self.block_size, self.kv_head_num, self.head_dim + ) + v_cache = self.cache_value_states.narrow(0, 0, max_block_num * batch_size).view( + batch_size, max_block_num * self.block_size, self.kv_head_num, self.head_dim + ) + + for batch_idx in range(batch_size): + offset = past_len[batch_idx] + width = q_len + k_cache[batch_idx][offset : offset + width].copy_( + key[batch_idx].view(-1, self.kv_head_num, self.head_dim) + ) + v_cache[batch_idx][offset : offset + width].copy_( + value[batch_idx].view(-1, self.kv_head_num, self.head_dim) + ) + + k_cache_cpu = torch.empty_like(k_cache, device="cpu", pin_memory=True) + v_cache_cpu = torch.empty_like(v_cache, device="cpu", pin_memory=True) + + k_cache_cpu.copy_(k_cache) + v_cache_cpu.copy_(v_cache) + + cur_block_num = ( + q_len + past_len[0].item() + self.block_size - 1 + ) // self.block_size + block_table_cpu = self.prefix_block_table[:, :cur_block_num].to("cpu") + past_len_cpu = past_len.contiguous().to("cpu") + + self.cpu_infer.submit( + self.local_thread.get_and_update_kvcache_fp16( + k_cache_cpu, + v_cache_cpu, + layer_idx, + block_table_cpu, + max_block_num, + past_len_cpu, + q_len, + ) + ) + + self.cpu_infer.sync() + k_cache.copy_(k_cache_cpu) + v_cache.copy_(v_cache_cpu) + + return k_cache, v_cache + + def calc_anchor(self, cache_seqlens: int): + cur_block_num = (cache_seqlens + self.block_size - 1) // self.block_size + block_table_cpu = self.prefix_block_table[:, :cur_block_num].to("cpu") + cache_seqlens_cpu = torch.tensor( + [cache_seqlens], device="cpu", dtype=torch.int32 + ) + + self.cpu_infer.submit( + self.local_thread.calc_anchor_all_layers( + block_table_cpu, + cache_seqlens_cpu, + ) + ) + self.cpu_infer.sync() + + def clear_importance(self, cache_seqlens: int): + print(f"clear importance: {cache_seqlens}") + cur_block_num = (cache_seqlens + self.block_size - 1) // self.block_size + block_table_cpu = self.prefix_block_table[:, :cur_block_num].to("cpu") + cache_seqlens_cpu = torch.tensor( + [cache_seqlens], device="cpu", dtype=torch.int32 + ) + + self.cpu_infer.submit( + self.local_thread.clear_importance_all_layers( + block_table_cpu, + cache_seqlens_cpu, + ) + ) + self.cpu_infer.sync() + + def clear_kvcache(self, cache_seqlens: int): + cur_block_num = (cache_seqlens + self.block_size - 1) // self.block_size + block_table_cpu = self.prefix_block_table[:, :cur_block_num].to("cpu") + cache_seqlens_cpu = torch.tensor( + [cache_seqlens], device="cpu", dtype=torch.int32 + ) + + self.cpu_infer.submit( + self.local_thread.clear_kvcache_all_layers( + block_table_cpu, + cache_seqlens_cpu, + ) + ) + self.cpu_infer.sync() + + def get_attn_sparsity( + self, + q_in: torch.Tensor, + layer_idx: int, + block_table: torch.Tensor, + cache_seqlens: torch.Tensor, + block_table_origin: torch.Tensor, + cache_seqlens_origin: torch.Tensor, + generate_token_idx: int = 0, + topk: int | None = None, + local: int | None = None, + output_path: str = "./attn_sparsity.json", + ): + self.attn_sparsity.zero_() + self.pcinfer.submit( + self.local_thread.get_attn_sparsity( + q_in, + self.attn_sparsity, + layer_idx, + block_table, + cache_seqlens, + block_table_origin, + cache_seqlens_origin, + generate_token_idx, + topk, + local, + ) + ) + self.cpu_infer.sync() + with open(output_path, "a") as file: + for head_idx in range(self.q_head_num): + sparsity = self.attn_sparsity[0][0][head_idx].item() + json_obj = { + "token_idx": generate_token_idx, + "layer_idx": layer_idx, + "head_idx": head_idx, + "sparsity": sparsity, + } + json.dump(json_obj, file) + file.write("\n") + + def apply( + self, + layer_idx: int, + bsz: int, + past_len: int, + query_states: torch.Tensor, + key_states: torch.Tensor, + value_states: torch.Tensor, + mode: str = "prefill", + generate_token_idx: int = -1, + ): + + # key_states: [bsz, q_len, kv_head_num, head_dim] + # value_states: [bsz, q_len, kv_head_num, head_dim] + # query_states: [bsz, q_len, q_head_num, head_dim] + assert query_states.dtype == torch.float16 + assert key_states.dtype == torch.float16 + assert value_states.dtype == torch.float16 + + assert key_states.size(2) == self.kv_head_num + assert value_states.size(2) == self.kv_head_num + assert query_states.size(2) == self.q_head_num + + q_len = query_states.size(1) + batch_size = query_states.size(0) + self.cache_seqlens_cuda.fill_(past_len) + last_chunk = False + if self.remaining_length <= self.prefill_chunk_size and q_len != 1: + last_chunk = True + device = query_states.device + if layer_idx == 0: + if q_len == 1: + self.generate_token_idx += 1 + elif last_chunk: + self.generate_token_idx = -1 + + if mode == "prefill": + key, value = self.swap_in_and_swap_out( + layer_idx, + self.cache_seqlens_cuda, + q_len, + key_states, + value_states, + ) + + if last_chunk and (self.anchor_type == "DYNAMIC" or self.preselect_block): + self.get_preselect_block_table_and_attn_score( + layer_idx, + bsz, + self.cache_seqlens_cuda, + q_len, + query_states, + key, + ) + output = flash_attn_with_kvcache( + q=query_states, + k_cache=key, + v_cache=value, + cache_seqlens=self.cache_seqlens_cuda + q_len, + causal=True, + ) + return output.transpose(1, 2) + + elif mode == "generate": + assert self.generate_token_idx >= 0 + self.q_in_cpu.copy_(query_states, non_blocking=True) + self.k_in_cpu.copy_(key_states, non_blocking=True) + self.v_in_cpu.copy_(value_states, non_blocking=True) + self.cache_seqlens_cpu.copy_(self.cache_seqlens_cuda, non_blocking=True) + # print(layer_idx) + if layer_idx < self.dense_layer_num: + self.block_table_cpu.copy_(self.prefix_block_table, non_blocking=True) + self.cpu_infer.submit_with_cuda_stream( + torch.cuda.current_stream("cuda").cuda_stream, + self.local_thread.attn_with_kvcache( + q_in=self.q_in_cpu, + k_in=self.k_in_cpu, + v_in=self.v_in_cpu, + output=self.output_cpu, + attn_lse=self.lse_cpu, + layer_idx=layer_idx, + block_table=self.block_table_cpu, + cache_seqlens=self.cache_seqlens_cpu, + ), + ) + else: + if self.preselect_block: + self.cache_seqlens_cpu.copy_( + self.cache_seqlens_cuda - self.evict_tokens, non_blocking=True + ) + if self.preselect_block_count < self.prefill_block_num: + self.block_table_cpu[:, : self.preselect_block_count].copy_( + self.preselect_block_table[layer_idx : layer_idx + 1], + non_blocking=True, + ) + + self.block_table_cpu[ + :, + self.preselect_block_count : self.preselect_block_count + + self.local_block_num, + ].copy_( + self.prefix_block_table[ + :, + self.prefill_block_num : self.prefill_block_num + + self.local_block_num, + ], + non_blocking=True, + ) + # print("submit_with_cuda_stream") + self.cpu_infer.submit_with_cuda_stream( + torch.cuda.current_stream("cuda").cuda_stream, + self.local_thread.attn_with_kvcache( + q_in=self.q_in_cpu, + k_in=self.k_in_cpu, + v_in=self.v_in_cpu, + output=self.output_cpu, + attn_lse=self.lse_cpu, + layer_idx=layer_idx, + generate_token_idx=self.generate_token_idx, + block_table=self.block_table_cpu, + cache_seqlens=self.cache_seqlens_cpu, + topk=( + self.topk + if self.topk <= self.preselect_block_count + else None + ), + local=self.local_windows_len // self.block_size, + ), + ) + # print("submit_with_cuda_stream enqueue\n") + else: + self.block_table_cpu.copy_( + self.prefix_block_table, non_blocking=True + ) + self.cpu_infer.submit_with_cuda_stream( + torch.cuda.current_stream("cuda").cuda_stream, + self.local_thread.attn_with_kvcache( + q_in=self.q_in_cpu, + k_in=self.k_in_cpu, + v_in=self.v_in_cpu, + output=self.output_cpu, + attn_lse=self.lse_cpu, + layer_idx=layer_idx, + generate_token_idx=self.generate_token_idx, + block_table=self.block_table_cpu, + cache_seqlens=self.cache_seqlens_cpu, + topk=self.topk, + local=self.local_windows_len // self.block_size, + ), + ) + self.cpu_infer.sync_with_cuda_stream( + torch.cuda.current_stream("cuda").cuda_stream + ) + # print("submit_with_cuda_stream finished\n") + self.output_cuda.copy_(self.output_cpu, non_blocking=True) + return self.output_cuda.transpose(1, 2) + + def save(self, path: str, length: int): + cur_block_num = (length + self.block_size - 1) // self.block_size + block_table_cpu = self.prefix_block_table[0, :cur_block_num].to("cpu") + cache_seqlens_cpu = torch.tensor([length], device="cpu", dtype=torch.int32) + self.cpu_infer.submit( + self.local_thread.dump_kvcache( + block_table_cpu, + cache_seqlens_cpu, + path, + ) + ) + self.cpu_infer.sync() + + def load(self, path: str, length: int): + self.cpu_infer.submit( + self.local_thread.load_kvcache( + path, + ) + ) + self.cpu_infer.sync() diff --git a/ktransformers/operators/experts.py b/ktransformers/operators/experts.py index 864c4b7..d84b063 100644 --- a/ktransformers/operators/experts.py +++ b/ktransformers/operators/experts.py @@ -6,7 +6,7 @@ Author : Azure-Tang, Boxin Zhang, chenht2022 Date : 2024-07-25 11:25:24 Version : 0.1.0 LastEditors : Azure -LastEditTime : 2024-08-15 02:36:29 +LastEditTime : 2024-08-27 03:50:23 Copyright (c) 2024 by KVCache.AI, All Rights Reserved. ''' @@ -436,7 +436,7 @@ class KExpertsTorch(KExpertsBase): final_hidden_states.index_add_(0, top_x, current_hidden_states) - return final_hidden_states.to(org_dtype, device=org_device) + return final_hidden_states.to(dtype=org_dtype, device=org_device) EXPERTS_MAP = { "KExpertsCPU": KExpertsCPU, diff --git a/ktransformers/operators/models.py b/ktransformers/operators/models.py index c95e1ee..d6cdc47 100644 --- a/ktransformers/operators/models.py +++ b/ktransformers/operators/models.py @@ -1,14 +1,14 @@ #!/usr/bin/env python # coding=utf-8 -''' +""" Description : Author : Azure-Tang Date : 2024-07-25 11:25:24 Version : 1.0.0 LastEditors : Azure -LastEditTime : 2024-08-14 14:53:05 +LastEditTime : 2024-08-27 07:29:04 Copyright (c) 2024 by KVCache.AI, All Rights Reserved. -''' +""" import inspect import math @@ -19,7 +19,10 @@ import torch.nn.functional as F import torch.utils.checkpoint from torch import nn from torch.nn import BCEWithLogitsLoss, CrossEntropyLoss, MSELoss - +from ktransformers.operators.dynamic_attention import DynamicScaledDotProductAttention +from ktransformers.server.config.config import Config +import os +import yaml from transformers.activations import ACT2FN from transformers.cache_utils import Cache, DynamicCache, StaticCache from transformers.modeling_attn_mask_utils import ( @@ -40,19 +43,35 @@ from transformers.utils import ( logging, replace_return_docstrings, ) -from ktransformers.models.modeling_qwen2_moe import Qwen2MoeSparseMoeBlock, Qwen2MoeMLP, Qwen2MoeDecoderLayer -from ktransformers.models.modeling_deepseek import BaseModelOutputWithPast, DeepseekV2DecoderLayer, DeepseekV2MoE +from ktransformers.models.modeling_qwen2_moe import ( + Qwen2MoeSparseMoeBlock, + Qwen2MoeMLP, + Qwen2MoeDecoderLayer, +) +from ktransformers.models.modeling_deepseek import ( + BaseModelOutputWithPast, + DeepseekV2DecoderLayer, + DeepseekV2MoE, +) from transformers.models.qwen2_moe.configuration_qwen2_moe import Qwen2MoeConfig +from ktransformers.models.configuration_llama import LlamaConfig from ktransformers.operators.base_operator import BaseInjectedModule from ktransformers.util.utils import InferenceState from ktransformers.util.custom_gguf import GGUFLoader from transformers.configuration_utils import PretrainedConfig +from ktransformers.models.modeling_llama import ( + LlamaDecoderLayer, + LlamaRMSNorm, + LlamaRotaryEmbedding, +) if is_flash_attn_2_available(): from flash_attn import flash_attn_func, flash_attn_varlen_func from flash_attn.bert_padding import index_first_axis, pad_input, unpad_input # noqa - _flash_supports_window_size = "window_size" in list(inspect.signature(flash_attn_func).parameters) + _flash_supports_window_size = "window_size" in list( + inspect.signature(flash_attn_func).parameters + ) logger = logging.get_logger(__name__) @@ -151,6 +170,7 @@ QWEN2MOE_INPUTS_DOCSTRING = r""" the complete sequence length. """ + @add_start_docstrings( "The bare Qwen2MoE Model outputting raw hidden-states without any specific head on top.", QWEN2MOE_START_DOCSTRING, @@ -162,18 +182,21 @@ class KQwen2MoeModel(BaseInjectedModule): Args: config: Qwen2MoeConfig """ + def __init__( self, key: str, - gguf_loader : GGUFLoader, + gguf_loader: GGUFLoader, config: PretrainedConfig, orig_module: nn.Module, device: str = "cuda", - per_layer_prefill_intput_threshold: int = 30000, # if None, no per-layer prefill + per_layer_prefill_intput_threshold: int = 30000, # if None, no per-layer prefill transfer_map: dict = None, **kwargs, ): - BaseInjectedModule.__init__(self, key, gguf_loader, config, orig_module, device, **kwargs) + BaseInjectedModule.__init__( + self, key, gguf_loader, config, orig_module, device, **kwargs + ) self.per_layer_prefill_intput_threshold = per_layer_prefill_intput_threshold self.transfer_map = transfer_map self.stream_device_map = dict() @@ -192,29 +215,47 @@ class KQwen2MoeModel(BaseInjectedModule): output_router_logits: Optional[bool] = None, return_dict: Optional[bool] = None, cache_position: Optional[torch.LongTensor] = None, - per_layer_prefill_intput_threshold: int | None = None, # if None or 0, close per-layer prefill + per_layer_prefill_intput_threshold: ( + int | None + ) = None, # if None or 0, close per-layer prefill ) -> Union[Tuple, MoeModelOutputWithPast]: # print(f'Total length of input_ids: {input_ids.size(1)}, {input_ids.size()}') - if per_layer_prefill_intput_threshold is None: per_layer_prefill_intput_threshold = self.per_layer_prefill_intput_threshold + if per_layer_prefill_intput_threshold is None: + per_layer_prefill_intput_threshold = self.per_layer_prefill_intput_threshold per_layer_prefill_flag = False - seq_lenth = inputs_embeds.size(1) if inputs_embeds is not None else input_ids.size(1) - if per_layer_prefill_intput_threshold and per_layer_prefill_intput_threshold < seq_lenth: + seq_lenth = ( + inputs_embeds.size(1) if inputs_embeds is not None else input_ids.size(1) + ) + if ( + per_layer_prefill_intput_threshold + and per_layer_prefill_intput_threshold < seq_lenth + ): per_layer_prefill_flag = True for layer in self.layers: self.load_layer_to(layer, InferenceState.UNLOAD) else: pass - output_attentions = output_attentions if output_attentions is not None else self.config.output_attentions + output_attentions = ( + output_attentions + if output_attentions is not None + else self.config.output_attentions + ) output_router_logits = ( - output_router_logits if output_router_logits is not None else self.config.output_router_logits + output_router_logits + if output_router_logits is not None + else self.config.output_router_logits ) output_hidden_states = ( - output_hidden_states if output_hidden_states is not None else self.config.output_hidden_states + output_hidden_states + if output_hidden_states is not None + else self.config.output_hidden_states ) use_cache = use_cache if use_cache is not None else self.config.use_cache - return_dict = return_dict if return_dict is not None else self.config.use_return_dict + return_dict = ( + return_dict if return_dict is not None else self.config.use_return_dict + ) if (input_ids is None) ^ (inputs_embeds is not None): raise ValueError( @@ -243,15 +284,23 @@ class KQwen2MoeModel(BaseInjectedModule): inputs_embeds = inputs_embeds.to("cuda") if cache_position is None: - past_seen_tokens = past_key_values.get_seq_length() if past_key_values is not None else 0 + past_seen_tokens = ( + past_key_values.get_seq_length() if past_key_values is not None else 0 + ) cache_position = torch.arange( - past_seen_tokens, past_seen_tokens + inputs_embeds.shape[1], device=inputs_embeds.device + past_seen_tokens, + past_seen_tokens + inputs_embeds.shape[1], + device=inputs_embeds.device, ) if position_ids is None: position_ids = cache_position.unsqueeze(0) causal_mask = self._update_causal_mask( - attention_mask, inputs_embeds, cache_position, past_key_values, output_attentions + attention_mask, + inputs_embeds, + cache_position, + past_key_values, + output_attentions, ) hidden_states = inputs_embeds @@ -263,7 +312,7 @@ class KQwen2MoeModel(BaseInjectedModule): next_decoder_cache = None for i, decoder_layer in enumerate(self.layers): - if self.transfer_map is not None and i in self.transfer_map: + if self.transfer_map is not None and i in self.transfer_map: prev_stream = torch.cuda.current_stream() cur_device = self.transfer_map[i] if cur_device not in self.stream_device_map: @@ -271,11 +320,25 @@ class KQwen2MoeModel(BaseInjectedModule): torch.cuda.set_device(cur_device) self.stream_device_map[cur_device].wait_stream(prev_stream) torch.cuda.set_stream(self.stream_device_map[cur_device]) - hidden_states = hidden_states.to(self.transfer_map[i], non_blocking = True) - causal_mask = causal_mask.to(self.transfer_map[i], non_blocking = True) if causal_mask is not None else None - position_ids = position_ids.to(self.transfer_map[i], non_blocking = True) if position_ids is not None else None - cache_position = cache_position.to(self.transfer_map[i], non_blocking = True) if cache_position is not None else None - + hidden_states = hidden_states.to( + self.transfer_map[i], non_blocking=True + ) + causal_mask = ( + causal_mask.to(self.transfer_map[i], non_blocking=True) + if causal_mask is not None + else None + ) + position_ids = ( + position_ids.to(self.transfer_map[i], non_blocking=True) + if position_ids is not None + else None + ) + cache_position = ( + cache_position.to(self.transfer_map[i], non_blocking=True) + if cache_position is not None + else None + ) + if output_hidden_states: all_hidden_states += (hidden_states,) @@ -323,7 +386,6 @@ class KQwen2MoeModel(BaseInjectedModule): hidden_states = self.norm(hidden_states) - if per_layer_prefill_flag: per_layer_prefill_flag = False for layer in self.layers: @@ -333,12 +395,22 @@ class KQwen2MoeModel(BaseInjectedModule): next_cache = None if use_cache: - next_cache = next_decoder_cache.to_legacy_cache() if use_legacy_cache else next_decoder_cache + next_cache = ( + next_decoder_cache.to_legacy_cache() + if use_legacy_cache + else next_decoder_cache + ) if not return_dict: return tuple( v - for v in [hidden_states, next_cache, all_hidden_states, all_self_attns, all_router_logits] + for v in [ + hidden_states, + next_cache, + all_hidden_states, + all_self_attns, + all_router_logits, + ] if v is not None ) return MoeModelOutputWithPast( @@ -349,11 +421,13 @@ class KQwen2MoeModel(BaseInjectedModule): router_logits=all_router_logits, ) - def load_layer_to(self, layer:Qwen2MoeDecoderLayer, target: InferenceState): - assert isinstance(layer, Qwen2MoeDecoderLayer), "module should be nn.ModuleList of decoder layers" + def load_layer_to(self, layer: Qwen2MoeDecoderLayer, target: InferenceState): + assert isinstance( + layer, Qwen2MoeDecoderLayer + ), "module should be nn.ModuleList of decoder layers" # TODO Support restore to original device, not only cuda - device = "cpu" if target == InferenceState.UNLOAD else "cuda" + device = "cpu" if target == InferenceState.UNLOAD else "cuda" # attn layer.self_attn.q_proj.set_inference_mode(target) @@ -458,18 +532,21 @@ class KDeepseekV2Model(BaseInjectedModule): Args: config: DeepseekV2Config """ + def __init__( self, key: str, - gguf_loader : GGUFLoader, + gguf_loader: GGUFLoader, config: PretrainedConfig, orig_module: nn.Module, device: str = "cuda", - per_layer_prefill_intput_threshold: int = 30000, # if None, no per-layer prefill + per_layer_prefill_intput_threshold: int = 30000, # if None, no per-layer prefill transfer_map: dict = None, **kwargs, ): - BaseInjectedModule.__init__(self, key, gguf_loader, config, orig_module, device, **kwargs) + BaseInjectedModule.__init__( + self, key, gguf_loader, config, orig_module, device, **kwargs + ) self.per_layer_prefill_intput_threshold = per_layer_prefill_intput_threshold self.transfer_map = transfer_map self.stream_device_map = dict() @@ -487,15 +564,23 @@ class KDeepseekV2Model(BaseInjectedModule): output_hidden_states: Optional[bool] = None, return_dict: Optional[bool] = None, cache_position: Optional[torch.LongTensor] = None, - per_layer_prefill_intput_threshold: int | None = None, # if None, no per-layer prefill + per_layer_prefill_intput_threshold: ( + int | None + ) = None, # if None, no per-layer prefill ) -> Union[Tuple, BaseModelOutputWithPast]: - if per_layer_prefill_intput_threshold is None: per_layer_prefill_intput_threshold = self.per_layer_prefill_intput_threshold + if per_layer_prefill_intput_threshold is None: + per_layer_prefill_intput_threshold = self.per_layer_prefill_intput_threshold per_layer_prefill_flag = False - seq_lenth = inputs_embeds.size(1) if inputs_embeds is not None else input_ids.size(1) - if per_layer_prefill_intput_threshold and per_layer_prefill_intput_threshold < seq_lenth: + seq_lenth = ( + inputs_embeds.size(1) if inputs_embeds is not None else input_ids.size(1) + ) + if ( + per_layer_prefill_intput_threshold + and per_layer_prefill_intput_threshold < seq_lenth + ): per_layer_prefill_flag = True for layer in self.layers: - self.load_layer_to(layer, InferenceState.UNLOAD) + self.load_layer_to(layer, InferenceState.UNLOAD) torch.cuda.empty_cache() else: pass @@ -542,9 +627,13 @@ class KDeepseekV2Model(BaseInjectedModule): past_key_values_length = past_key_values.get_usable_length(seq_length) if cache_position is None: - past_seen_tokens = past_key_values.get_seq_length() if past_key_values is not None else 0 + past_seen_tokens = ( + past_key_values.get_seq_length() if past_key_values is not None else 0 + ) cache_position = torch.arange( - past_seen_tokens, past_seen_tokens + inputs_embeds.shape[1], device=inputs_embeds.device + past_seen_tokens, + past_seen_tokens + inputs_embeds.shape[1], + device=inputs_embeds.device, ) if position_ids is None: @@ -556,15 +645,17 @@ class KDeepseekV2Model(BaseInjectedModule): inputs_embeds = self.embed_tokens(input_ids) input_ids = input_ids.to(org_device) - - causal_mask = self._update_causal_mask( - attention_mask, inputs_embeds, cache_position, past_key_values, output_attentions - ) + if per_layer_prefill_flag: + causal_mask = None + else: + causal_mask = self._update_causal_mask( + attention_mask, inputs_embeds, cache_position, past_key_values, output_attentions + ) # embed positions hidden_states = inputs_embeds if per_layer_prefill_flag: - print(f'Total length of input_ids: {hidden_states.size(1)}') + print(f"Total length of input_ids: {hidden_states.size(1)}") # decoder layers all_hidden_states = () if output_hidden_states else None @@ -576,7 +667,7 @@ class KDeepseekV2Model(BaseInjectedModule): t_f = 0 for i, decoder_layer in enumerate(self.layers): - if self.transfer_map is not None and i in self.transfer_map: + if self.transfer_map is not None and i in self.transfer_map: prev_stream = torch.cuda.current_stream() cur_device = self.transfer_map[i] if cur_device not in self.stream_device_map: @@ -584,10 +675,24 @@ class KDeepseekV2Model(BaseInjectedModule): torch.cuda.set_device(cur_device) self.stream_device_map[cur_device].wait_stream(prev_stream) torch.cuda.set_stream(self.stream_device_map[cur_device]) - hidden_states = hidden_states.to(self.transfer_map[i], non_blocking = True) - causal_mask = causal_mask.to(self.transfer_map[i], non_blocking = True) if causal_mask is not None else None - position_ids = position_ids.to(self.transfer_map[i], non_blocking = True) if position_ids is not None else None - cache_position = cache_position.to(self.transfer_map[i], non_blocking = True) if cache_position is not None else None + hidden_states = hidden_states.to( + self.transfer_map[i], non_blocking=True + ) + causal_mask = ( + causal_mask.to(self.transfer_map[i], non_blocking=True) + if causal_mask is not None + else None + ) + position_ids = ( + position_ids.to(self.transfer_map[i], non_blocking=True) + if position_ids is not None + else None + ) + cache_position = ( + cache_position.to(self.transfer_map[i], non_blocking=True) + if cache_position is not None + else None + ) if output_hidden_states: all_hidden_states += (hidden_states,) @@ -622,12 +727,12 @@ class KDeepseekV2Model(BaseInjectedModule): t5 = time.time() if per_layer_prefill_flag: # print(f"to cpu") - self.load_layer_to(decoder_layer, InferenceState.UNLOAD) + self.load_layer_to(decoder_layer, InferenceState.UNLOAD) torch.cuda.empty_cache() t6 = time.time() - t_gpu += t4-t3 - t_cpu += t6-t5 - t_f += t5-t4 + t_gpu += t4 - t3 + t_cpu += t6 - t5 + t_f += t5 - t4 hidden_states = layer_outputs[0] @@ -648,7 +753,9 @@ class KDeepseekV2Model(BaseInjectedModule): torch.cuda.empty_cache() t7 = time.time() - print(f"total time: {t7-t3}, \n layer num{len(self.layers)}, gpu time: {t_gpu}, cpu time: {t_cpu}, forward time: {t_f}, restore time: {t7-t6}") + print( + f"total time: {t7-t3}, \n layer num{len(self.layers)}, gpu time: {t_gpu}, cpu time: {t_cpu}, forward time: {t_f}, restore time: {t7-t6}" + ) # add hidden states from the last decoder layer if output_hidden_states: @@ -674,16 +781,18 @@ class KDeepseekV2Model(BaseInjectedModule): attentions=all_self_attns, ) - def load_layer_to(self, layer: DeepseekV2DecoderLayer, target: InferenceState): - assert isinstance(layer, DeepseekV2DecoderLayer), "module should be nn.ModuleList of decoder layers" + def load_layer_to(self, layer: DeepseekV2DecoderLayer, target: InferenceState): + assert isinstance( + layer, DeepseekV2DecoderLayer + ), "module should be nn.ModuleList of decoder layers" # TODO Support restore to original device, not only cuda - device = "cpu" if target == InferenceState.UNLOAD else "cuda" + device = "cpu" if target == InferenceState.UNLOAD else "cuda" # TODO Support DFS to auto use {to, set_inference_mode} according to the module type # attn - layer.self_attn.to(device) # + layer.self_attn.to(device) # # mlp if isinstance(layer.mlp, DeepseekV2MoE): @@ -702,3 +811,526 @@ class KDeepseekV2Model(BaseInjectedModule): # layer norm layer.input_layernorm.to(device) layer.post_attention_layernorm.to(device) + + +LLAMA_START_DOCSTRING = r""" + This model inherits from [`PreTrainedModel`]. Check the superclass documentation for the generic methods the + library implements for all its model (such as downloading or saving, resizing the input embeddings, pruning heads + etc.) + + This model is also a PyTorch [torch.nn.Module](https://pytorch.org/docs/stable/nn.html#torch.nn.Module) subclass. + Use it as a regular PyTorch Module and refer to the PyTorch documentation for all matter related to general usage + and behavior. + + Parameters: + config ([`LlamaConfig`]): + Model configuration class with all the parameters of the model. Initializing with a config file does not + load the weights associated with the model, only the configuration. Check out the + [`~PreTrainedModel.from_pretrained`] method to load the model weights. +""" + +LLAMA_INPUTS_DOCSTRING = r""" + Args: + input_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`): + Indices of input sequence tokens in the vocabulary. Padding will be ignored by default should you provide + it. + + Indices can be obtained using [`AutoTokenizer`]. See [`PreTrainedTokenizer.encode`] and + [`PreTrainedTokenizer.__call__`] for details. + + [What are input IDs?](../glossary#input-ids) + attention_mask (`torch.Tensor` of shape `(batch_size, sequence_length)`, *optional*): + Mask to avoid performing attention on padding token indices. Mask values selected in `[0, 1]`: + + - 1 for tokens that are **not masked**, + - 0 for tokens that are **masked**. + + [What are attention masks?](../glossary#attention-mask) + + Indices can be obtained using [`AutoTokenizer`]. See [`PreTrainedTokenizer.encode`] and + [`PreTrainedTokenizer.__call__`] for details. + + If `past_key_values` is used, optionally only the last `input_ids` have to be input (see + `past_key_values`). + + If you want to change padding behavior, you should read [`modeling_opt._prepare_decoder_attention_mask`] + and modify to your needs. See diagram 1 in [the paper](https://arxiv.org/abs/1910.13461) for more + information on the default strategy. + + - 1 indicates the head is **not masked**, + - 0 indicates the head is **masked**. + position_ids (`torch.LongTensor` of shape `(batch_size, sequence_length)`, *optional*): + Indices of positions of each input sequence tokens in the position embeddings. Selected in the range `[0, + config.n_positions - 1]`. + + [What are position IDs?](../glossary#position-ids) + past_key_values (`Cache` or `tuple(tuple(torch.FloatTensor))`, *optional*): + Pre-computed hidden-states (key and values in the self-attention blocks and in the cross-attention + blocks) that can be used to speed up sequential decoding. This typically consists in the `past_key_values` + returned by the model at a previous stage of decoding, when `use_cache=True` or `config.use_cache=True`. + + Two formats are allowed: + - a [`~cache_utils.Cache`] instance; + - Tuple of `tuple(torch.FloatTensor)` of length `config.n_layers`, with each tuple having 2 tensors of + shape `(batch_size, num_heads, sequence_length, embed_size_per_head)`). This is also known as the legacy + cache format. + + The model will output the same cache format that is fed as input. If no `past_key_values` are passed, the + legacy cache format will be returned. + + If `past_key_values` are used, the user can optionally input only the last `input_ids` (those that don't + have their past key value states given to this model) of shape `(batch_size, 1)` instead of all `input_ids` + of shape `(batch_size, sequence_length)`. + inputs_embeds (`torch.FloatTensor` of shape `(batch_size, sequence_length, hidden_size)`, *optional*): + Optionally, instead of passing `input_ids` you can choose to directly pass an embedded representation. This + is useful if you want more control over how to convert `input_ids` indices into associated vectors than the + model's internal embedding lookup matrix. + use_cache (`bool`, *optional*): + If set to `True`, `past_key_values` key value states are returned and can be used to speed up decoding (see + `past_key_values`). + output_attentions (`bool`, *optional*): + Whether or not to return the attentions tensors of all attention layers. See `attentions` under returned + tensors for more detail. + output_hidden_states (`bool`, *optional*): + Whether or not to return the hidden states of all layers. See `hidden_states` under returned tensors for + more detail. + return_dict (`bool`, *optional*): + Whether or not to return a [`~utils.ModelOutput`] instead of a plain tuple. + cache_position (`torch.LongTensor` of shape `(sequence_length)`, *optional*): + Indices depicting the position of the input sequence tokens in the sequence. Contrarily to `position_ids`, + this tensor is not affected by padding. It is used to update the cache in the correct position and to infer + the complete sequence length. +""" + + +@add_start_docstrings( + "The bare LLaMA Model outputting raw hidden-states without any specific head on top.", + LLAMA_START_DOCSTRING, +) +class LlamaPreTrainedModel(PreTrainedModel): + config_class = LlamaConfig + base_model_prefix = "model" + supports_gradient_checkpointing = True + _no_split_modules = ["LlamaDecoderLayer"] + _skip_keys_device_placement = ["past_key_values"] + _supports_flash_attn_2 = True + _supports_sdpa = True + _supports_cache_class = True + _supports_quantized_cache = True + _supports_static_cache = True + + def _init_weights(self, module): + std = self.config.initializer_range + if isinstance(module, nn.Linear): + module.weight.data.normal_(mean=0.0, std=std) + if module.bias is not None: + module.bias.data.zero_() + elif isinstance(module, nn.Embedding): + module.weight.data.normal_(mean=0.0, std=std) + if module.padding_idx is not None: + module.weight.data[module.padding_idx].zero_() + + +class KLlamaModel(BaseInjectedModule): + """ + Transformer decoder consisting of *config.num_hidden_layers* layers. Each layer is a [`LlamaDecoderLayer`] + + Args: + config: LlamaConfig + """ + + dynamic_sdpa = None + + def __init__( + self, + key: str, + gguf_loader: GGUFLoader, + config: PretrainedConfig, + orig_module: nn.Module, + device: str = "cuda", + per_layer_prefill_intput_threshold: int = 30000, # if None, no per-layer prefill + transfer_map: dict = None, + **kwargs, + ): + + BaseInjectedModule.__init__( + self, key, gguf_loader, config, orig_module, device, **kwargs + ) + self.per_layer_prefill_intput_threshold = per_layer_prefill_intput_threshold + self.transfer_map = transfer_map + self.stream_device_map = dict() + user_path: str = os.path.expanduser('~') + localstore_path: str = os.path.join(user_path,'.ktransformers') + config_path: str = os.path.join(localstore_path,Config.CONFIG_FILE_NAME) + with open(config_path,"r") as file: + config_yaml = yaml.safe_load(file.read()) + self.long_context_config = config_yaml.get("long_context") + self.ext_config = config_yaml.get("ext") + + KLlamaModel.dynamic_sdpa = DynamicScaledDotProductAttention( + max_seq_len=self.long_context_config["max_seq_len"], + block_size=self.long_context_config["block_size"], + config=config, + device=torch.device("cuda"), + local_windows_len=self.long_context_config["local_windows_len"], + topk=self.long_context_config["second_select_num"], + threads_num=self.ext_config["cpu_infer"], + anchor_type=self.long_context_config["anchor_type"], + kv_type=self.long_context_config["kv_type"], + dense_layer_num=self.long_context_config["dense_layer_num"], + anchor_num=self.long_context_config["anchor_num"], + preselect_block=self.long_context_config["preselect_block"], + block_selection_mode=self.long_context_config["head_select_mode"], + preselect_block_count=self.long_context_config["preselect_block_count"], + layer_step=self.long_context_config["layer_step"], + token_step=self.long_context_config["token_step"], + prefill_chunk_size=self.long_context_config["chunk_size"], + use_attn_sparsity=False, + ) + + def get_input_embeddings(self): + return self.embed_tokens + + def set_input_embeddings(self, value): + self.embed_tokens = value + + @add_start_docstrings_to_model_forward(LLAMA_INPUTS_DOCSTRING) + def forward( + self, + input_ids: torch.LongTensor = None, + attention_mask: Optional[torch.Tensor] = None, + position_ids: Optional[torch.LongTensor] = None, + past_key_values: Optional[Union[Cache, List[torch.FloatTensor]]] = None, + inputs_embeds: Optional[torch.FloatTensor] = None, + use_cache: Optional[bool] = None, + output_attentions: Optional[bool] = None, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + cache_position: Optional[torch.LongTensor] = None, + ) -> Union[Tuple, BaseModelOutputWithPast]: + output_attentions = ( + output_attentions + if output_attentions is not None + else self.config.output_attentions + ) + output_hidden_states = ( + output_hidden_states + if output_hidden_states is not None + else self.config.output_hidden_states + ) + use_cache = use_cache if use_cache is not None else self.config.use_cache + return_dict = ( + return_dict if return_dict is not None else self.config.use_return_dict + ) + + if (input_ids is None) ^ (inputs_embeds is not None): + raise ValueError( + "You cannot specify both input_ids and inputs_embeds at the same time, and must specify either one" + ) + + if self.gradient_checkpointing and self.training and use_cache: + logger.warning_once( + "`use_cache=True` is incompatible with gradient checkpointing. Setting `use_cache=False`." + ) + use_cache = False + + return_legacy_cache = False + if ( + use_cache and not isinstance(past_key_values, Cache) and not self.training + ): # kept for BC (non `Cache` `past_key_values` inputs) + return_legacy_cache = True + past_key_values = DynamicCache.from_legacy_cache(past_key_values) + logger.warning_once( + "We detected that you are passing `past_key_values` as a tuple and this is deprecated and will be removed in v4.43. " + "Please use an appropriate `Cache` class (https://huggingface.co/docs/transformers/v4.41.3/en/internal/generation_utils#transformers.Cache)" + ) + + if cache_position is None: + past_seen_tokens = ( + past_key_values.get_seq_length() if past_key_values is not None else 0 + ) + cache_position = torch.arange( + past_seen_tokens, + past_seen_tokens + inputs_embeds.shape[1], + device="cuda", + ) + if position_ids is None: + position_ids = cache_position.unsqueeze(0) + + causal_mask = None + chunck_size = self.long_context_config["chunk_size"] + cur_idx = 0 + if inputs_embeds is None: + inputs_embeds = self.embed_tokens(input_ids.to("cpu")) + q_len = cache_position.size(0) + + # generate + if q_len == 1: + x = inputs_embeds[:, -1:, :] + position_ids = position_ids[:, -1:] + return self.forward_chunk( + x, + causal_mask, + position_ids, + past_key_values, + output_attentions, + use_cache, + cache_position, + output_hidden_states, + return_dict, + ) + elif q_len <= chunck_size: + inputs_embeds = inputs_embeds.to('cuda') + output = self.forward_chunk( + inputs_embeds, + causal_mask, + position_ids, + past_key_values, + output_attentions, + use_cache, + cache_position, + output_hidden_states, + return_dict, + ) + KLlamaModel.dynamic_sdpa.calc_anchor(cache_position[-1] + 1) + KLlamaModel.dynamic_sdpa.clear_importance(cache_position[-1] + 1) + return output + cur_idx = 0 + assert ( + output_attentions == False + ), "output_attentions is not supported when using chunked attention" + attn_output = None + # prefill + KLlamaModel.dynamic_sdpa.remaining_length = q_len + while cur_idx < q_len: + print(f'current prefill length: {cur_idx}') + chunk_mask = None + if inputs_embeds.device.type == 'cpu': + tmp_inputs_embeds = inputs_embeds[:, cur_idx : min(cur_idx + chunck_size, q_len)].to("cuda") + else: + tmp_inputs_embeds = inputs_embeds[:, cur_idx : min(cur_idx + chunck_size, q_len)] + output_with_past = self.forward_chunk( + tmp_inputs_embeds, + chunk_mask, + position_ids[:, cur_idx : min(cur_idx + chunck_size, q_len)], + past_key_values, + output_attentions, + use_cache, + cache_position[cur_idx : min(cur_idx + chunck_size, q_len)], + ) + cur_output = output_with_past.last_hidden_state + KLlamaModel.dynamic_sdpa.remaining_length -= ( + min(cur_idx + chunck_size, q_len) - cur_idx + ) + cur_idx += chunck_size + # if attn_output is None: + attn_output = cur_output + # else: + # attn_output = torch.cat((attn_output, cur_output), dim=-2) + + KLlamaModel.dynamic_sdpa.calc_anchor(cache_position[-1] + 1) + KLlamaModel.dynamic_sdpa.clear_importance(cache_position[-1] + 1) + return BaseModelOutputWithPast(last_hidden_state=attn_output) + + def forward_chunk( + self, + inputs_embeds, + causal_mask, + position_ids, + past_key_values, + output_attentions, + use_cache, + cache_position, + output_hidden_states: Optional[bool] = None, + return_dict: Optional[bool] = None, + ): + + output_hidden_states = ( + output_hidden_states + if output_hidden_states is not None + else self.config.output_hidden_states + ) + return_legacy_cache = False + if use_cache and not isinstance( + past_key_values, Cache + ): # kept for BC (non `Cache` `past_key_values` inputs) + return_legacy_cache = True + past_key_values = DynamicCache.from_legacy_cache(past_key_values) + return_dict = ( + return_dict if return_dict is not None else self.config.use_return_dict + ) + + hidden_states = inputs_embeds + + # create position embeddings to be shared across the decoder layers + position_embeddings = self.rotary_emb(hidden_states, position_ids) + + # decoder layers + all_hidden_states = () if output_hidden_states else None + all_self_attns = () if output_attentions else None + next_decoder_cache = None + # decoder layers + all_hidden_states = () if output_hidden_states else None + all_self_attns = () if output_attentions else None + next_decoder_cache = None + + for decoder_layer in self.layers: + if output_hidden_states: + all_hidden_states += (hidden_states,) + + if self.gradient_checkpointing and self.training: + layer_outputs = self._gradient_checkpointing_func( + decoder_layer.__call__, + hidden_states, + causal_mask, + position_ids, + past_key_values, + output_attentions, + use_cache, + cache_position, + position_embeddings, + ) + else: + layer_outputs = decoder_layer( + hidden_states, + attention_mask=causal_mask, + position_ids=position_ids, + past_key_value=past_key_values, + output_attentions=output_attentions, + use_cache=use_cache, + cache_position=cache_position, + position_embeddings=position_embeddings, + ) + + hidden_states = layer_outputs[0] + + if use_cache: + next_decoder_cache = layer_outputs[2 if output_attentions else 1] + + if output_attentions: + all_self_attns += (layer_outputs[1],) + + hidden_states = self.norm(hidden_states) + + # add hidden states from the last decoder layer + if output_hidden_states: + all_hidden_states += (hidden_states,) + + next_cache = next_decoder_cache if use_cache else None + if return_legacy_cache: + next_cache = next_cache.to_legacy_cache() + + if not return_dict: + return tuple( + v + for v in [hidden_states, next_cache, all_hidden_states, all_self_attns] + if v is not None + ) + return BaseModelOutputWithPast( + last_hidden_state=hidden_states, + past_key_values=next_cache, + hidden_states=all_hidden_states, + attentions=all_self_attns, + ) + + def _update_causal_mask( + self, + attention_mask: torch.Tensor, + input_tensor: torch.Tensor, + cache_position: torch.Tensor, + past_key_values: Cache, + output_attentions: bool, + ): + # TODO: As of torch==2.2.0, the `attention_mask` passed to the model in `generate` is 2D and of dynamic length even when the static + # KV cache is used. This is an issue for torch.compile which then recaptures cudagraphs at each decode steps due to the dynamic shapes. + # (`recording cudagraph tree for symint key 13`, etc.), which is VERY slow. A workaround is `@torch.compiler.disable`, but this prevents using + # `fullgraph=True`. See more context in https://github.com/huggingface/transformers/pull/29114 + + if self.config._attn_implementation == "flash_attention_2": + if attention_mask is not None and 0.0 in attention_mask: + return attention_mask + return None + + # For SDPA, when possible, we will rely on its `is_causal` argument instead of its `attn_mask` argument, in + # order to dispatch on Flash Attention 2. This feature is not compatible with static cache, as SDPA will fail + # to infer the attention mask. + past_seen_tokens = ( + past_key_values.get_seq_length() if past_key_values is not None else 0 + ) + using_static_cache = isinstance(past_key_values, StaticCache) + + # When output attentions is True, sdpa implementation's forward method calls the eager implementation's forward + if ( + self.config._attn_implementation == "sdpa" + and not using_static_cache + and not output_attentions + ): + if AttentionMaskConverter._ignore_causal_mask_sdpa( + attention_mask, + inputs_embeds=input_tensor, + past_key_values_length=past_seen_tokens, + is_training=self.training, + ): + return None + + dtype, device = input_tensor.dtype, input_tensor.device + min_dtype = torch.finfo(dtype).min + sequence_length = input_tensor.shape[1] + if using_static_cache: + target_length = past_key_values.get_max_length() + else: + target_length = ( + attention_mask.shape[-1] + if isinstance(attention_mask, torch.Tensor) + else past_seen_tokens + sequence_length + 1 + ) + + if attention_mask is not None and attention_mask.dim() == 4: + # in this case we assume that the mask comes already in inverted form and requires no inversion or slicing + if attention_mask.max() != 0: + raise ValueError( + "Custom 4D attention mask should be passed in inverted form with max==0`" + ) + causal_mask = attention_mask + else: + causal_mask = torch.full( + (sequence_length, target_length), + fill_value=min_dtype, + dtype=dtype, + device=device, + ) + if sequence_length != 1: + causal_mask = torch.triu(causal_mask, diagonal=1) + causal_mask *= torch.arange( + target_length, device=device + ) > cache_position.reshape(-1, 1) + causal_mask = causal_mask[None, None, :, :].expand( + input_tensor.shape[0], 1, -1, -1 + ) + if attention_mask is not None: + causal_mask = ( + causal_mask.clone() + ) # copy to contiguous memory for in-place edit + mask_length = attention_mask.shape[-1] + padding_mask = ( + causal_mask[:, :, :, :mask_length] + + attention_mask[:, None, None, :] + ) + padding_mask = padding_mask == 0 + causal_mask[:, :, :, :mask_length] = causal_mask[ + :, :, :, :mask_length + ].masked_fill(padding_mask, min_dtype) + if ( + self.config._attn_implementation == "sdpa" + and attention_mask is not None + and attention_mask.device.type == "cuda" + and not output_attentions + ): + # Attend to all tokens in fully masked rows in the causal_mask, for example the relevant first rows when + # using left padding. This is required by F.scaled_dot_product_attention memory-efficient attention path. + # Details: https://github.com/pytorch/pytorch/issues/110213 + causal_mask = AttentionMaskConverter._unmask_unattended( + causal_mask, min_dtype + ) + + return causal_mask diff --git a/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat-multi-gpu-4.yaml b/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat-multi-gpu-4.yaml index d7adfa2..07f173f 100644 --- a/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat-multi-gpu-4.yaml +++ b/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat-multi-gpu-4.yaml @@ -225,4 +225,4 @@ class: "default" kwargs: generate_device: "cuda:3" - prefill_device: "cuda:3" \ No newline at end of file + prefill_device: "cuda:3" diff --git a/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat-multi-gpu.yaml b/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat-multi-gpu.yaml index a21b22d..3884077 100644 --- a/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat-multi-gpu.yaml +++ b/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat-multi-gpu.yaml @@ -123,4 +123,4 @@ class: "default" kwargs: generate_device: "cuda:1" - prefill_device: "cuda:1" \ No newline at end of file + prefill_device: "cuda:1" diff --git a/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat.yaml b/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat.yaml index a2701e1..52db7dd 100644 --- a/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat.yaml +++ b/ktransformers/optimize/optimize_rules/DeepSeek-V2-Chat.yaml @@ -6,7 +6,7 @@ generate_device: "cuda" prefill_device: "cuda" - match: - name: "^model\\.layers\\.(?!.*self_attn).*$" # regular expression + name: "^model\\.layers\\.(?!.*self_attn\\.kv_b_proj).*$" # regular expression class: torch.nn.Linear # only match modules matching name and class simultaneously replace: class: ktransformers.operators.linear.KTransformersLinear # optimized Kernel on quantized data types @@ -41,6 +41,12 @@ kwargs: generate_device: "cuda" prefill_device: "cuda" +- match: + name: "^model$" + replace: + class: "ktransformers.operators.models.KDeepseekV2Model" + kwargs: + per_layer_prefill_intput_threshold: 2000 # 0 is close layer wise prefill - match: name: "^model.embed_tokens" replace: diff --git a/ktransformers/optimize/optimize_rules/DeepSeek-V2-Lite-Chat-multi-gpu.yaml b/ktransformers/optimize/optimize_rules/DeepSeek-V2-Lite-Chat-multi-gpu.yaml index cfd77dc..99d01c0 100644 --- a/ktransformers/optimize/optimize_rules/DeepSeek-V2-Lite-Chat-multi-gpu.yaml +++ b/ktransformers/optimize/optimize_rules/DeepSeek-V2-Lite-Chat-multi-gpu.yaml @@ -123,4 +123,4 @@ class: "default" kwargs: generate_device: "cuda:1" - prefill_device: "cuda:1" \ No newline at end of file + prefill_device: "cuda:1" diff --git a/ktransformers/optimize/optimize_rules/Internlm2_5-7b-Chat-1m.yaml b/ktransformers/optimize/optimize_rules/Internlm2_5-7b-Chat-1m.yaml new file mode 100644 index 0000000..51a8142 --- /dev/null +++ b/ktransformers/optimize/optimize_rules/Internlm2_5-7b-Chat-1m.yaml @@ -0,0 +1,28 @@ +- match: + class: ktransformers.models.modeling_llama.LlamaRotaryEmbedding + replace: + class: ktransformers.operators.RoPE.RotaryEmbeddingV2 +- match: + name: "^model.embed_tokens" + replace: + class: "default" + kwargs: + generate_device: "cpu" + prefill_device: "cpu" +- match: + class: ktransformers.models.modeling_llama.LlamaModel + replace: + class: ktransformers.operators.models.KLlamaModel + kwargs: + generate_device: "cuda" + prefill_device: "cuda" + per_layer_prefill_intput_threshold: 0 # 0 is close layer wise prefill + +- match: + name: "^model\\.layers\\..*\\.self_attn$" + replace: + class: ktransformers.operators.attention.KLlamaAttention + kwargs: + generate_device: "cuda" + prefill_device: "cuda" + diff --git a/ktransformers/optimize/optimize_rules/Qwen2-57B-A14B-Instruct-multi-gpu.yaml b/ktransformers/optimize/optimize_rules/Qwen2-57B-A14B-Instruct-multi-gpu.yaml index bfa60b7..da4fb4a 100644 --- a/ktransformers/optimize/optimize_rules/Qwen2-57B-A14B-Instruct-multi-gpu.yaml +++ b/ktransformers/optimize/optimize_rules/Qwen2-57B-A14B-Instruct-multi-gpu.yaml @@ -109,4 +109,4 @@ class: "default" kwargs: generate_device: "cuda:1" - prefill_device: "cuda:1" \ No newline at end of file + prefill_device: "cuda:1" diff --git a/ktransformers/optimize/optimize_rules/Qwen2-57B-A14B-Instruct.yaml b/ktransformers/optimize/optimize_rules/Qwen2-57B-A14B-Instruct.yaml index 073332c..989e4b8 100644 --- a/ktransformers/optimize/optimize_rules/Qwen2-57B-A14B-Instruct.yaml +++ b/ktransformers/optimize/optimize_rules/Qwen2-57B-A14B-Instruct.yaml @@ -1,3 +1,10 @@ +- match: + name: "^model\\.layers\\..*\\." + replace: + class: "default" + kwargs: + generate_device: "cuda" + prefill_device: "cuda" - match: class: ktransformers.models.modeling_qwen2_moe.Qwen2MoeRotaryEmbedding replace: @@ -54,4 +61,4 @@ class: "default" kwargs: generate_device: "cuda" - prefill_device: "cuda" \ No newline at end of file + prefill_device: "cuda" diff --git a/ktransformers/server/config/config.py b/ktransformers/server/config/config.py index e17d215..d391d66 100644 --- a/ktransformers/server/config/config.py +++ b/ktransformers/server/config/config.py @@ -5,10 +5,11 @@ Description : Author : unicornchan Date : 2024-06-11 16:35:42 Version : 1.0.0 -LastEditors : chenxl -LastEditTime : 2024-07-27 01:55:42 +LastEditors : WuHao +LastEditTime : 2024-08-12 06:31:14 ''' import os +import shutil import yaml from ktransformers.server.config.singleton import Singleton @@ -30,10 +31,18 @@ class Config(metaclass=Singleton): os.path.dirname(os.path.dirname(__file__))) config_yaml: str = os.path.join( base_path, "configs", Config.CONFIG_FILE_NAME) + + user_path: str = os.path.expanduser('~') + localstore_path: str = os.path.join(user_path,'.ktransformers') + config_path: str = os.path.join(localstore_path,Config.CONFIG_FILE_NAME) if not os.path.exists(config_yaml): print(f"Can't find config file, {config_yaml}") exit(-1) - with open(config_yaml, 'r', encoding="utf-8") as fp: + if not os.path.exists(localstore_path): + os.mkdir(localstore_path) + if not os.path.exists(config_path): + shutil.copyfile(config_yaml,config_path) + with open(config_path, 'r', encoding="utf-8") as fp: config = yaml.safe_load(fp) return config @@ -51,6 +60,8 @@ class Config(metaclass=Singleton): cfg = Config.load() self.base_path = os.path.dirname( os.path.dirname(os.path.dirname(__file__))) + self.user_path: str = os.path.expanduser('~') + self.localstore_path: str = os.path.join(self.user_path,'.ktransformers') # log configs self.log_dir = os.path.join(self.base_path, Config.to_path(cfg["log"]["dir"])) self.log_file = cfg["log"]["file"] @@ -83,11 +94,20 @@ class Config(metaclass=Singleton): self.model_name: str = self.model.get("name", "") self.model_device: str = self.model.get("device", "cuda:0") self.gguf_path: str = self.model.get("gguf_path", "") + self.model_cache_lens = self.model.get("cache_lens") # web config self.web: dict = cfg.get("web", {}) self.web_cross_domain: bool = self.web.get("open_cross_domain", True) self.mount_web: bool = self.web.get("mount", False) - + self.ext: dict = cfg.get("ext", {}) self.cpu_infer = self.ext.get("cpu_infer", 10) + + #file config + self.local_store_configs: dict = cfg.get("local_store",{}) + self.file_upload_dir: str = os.path.join(self.localstore_path,self.local_store_configs.get("file_upload_dir","")) + self.assistant_store_dir: str = os.path.join(self.localstore_path,self.local_store_configs.get("assistant_store_dir","")) + + #long context config + self.long_context_config: dict = cfg.get("long_context",{}) \ No newline at end of file diff --git a/ktransformers/util/cuda_graph_runner.py b/ktransformers/util/cuda_graph_runner.py index c7a9c87..b4b0adc 100644 --- a/ktransformers/util/cuda_graph_runner.py +++ b/ktransformers/util/cuda_graph_runner.py @@ -46,7 +46,8 @@ class CUDAGraphRunner: capture_stream.wait_stream(torch.cuda.current_stream()) torch.cuda.set_device(main_device) torch.cuda.set_stream(capture_stream) - past_key_values.change_seq_length(-1) + if past_key_values != None: + past_key_values.change_seq_length(-1) torch.cuda.synchronize(self.main_device) #self.graph.debug_dump("cuda_graph_hooked.dot") diff --git a/ktransformers/util/custom_gguf.py b/ktransformers/util/custom_gguf.py index b3929be..04ce0ae 100644 --- a/ktransformers/util/custom_gguf.py +++ b/ktransformers/util/custom_gguf.py @@ -6,7 +6,7 @@ Author : Azure-Tang, Boxin Zhang, chenht2022 Date : 2024-07-26 08:48:54 Version : 1.0.0 LastEditors : kkk1nak0 -LastEditTime : 2024-08-12 07:21:55 +LastEditTime : 2024-08-14 08:20:45 Adapted from https://github.com/99991/pygguf/blob/main/gguf.py Copyright (c) 2023-2024 The ggml authors Copyright (c) 2024 Thomas Germer @@ -294,7 +294,6 @@ class GGUFLoader: else: values = GGML_DEQUANTIZE[ggml_name](data) values = torch.from_numpy(values) - values = values.view(shape[::-1]) if "attn_q" in name and self.gguf_file_meta['general.architecture'] in ["llama"]: n_head = self.gguf_file_meta['llama.attention.head_count'] diff --git a/ktransformers/util/utils.py b/ktransformers/util/utils.py index 8c91d47..f85b66e 100644 --- a/ktransformers/util/utils.py +++ b/ktransformers/util/utils.py @@ -84,7 +84,8 @@ def load_weights(module:nn.Module, gguf_loader:GGUFLoader, prefix=''): else: module.load() -def prefill_and_generate(model, tokenizer, inputs, max_new_tokens=10000, use_cuda_graph: bool = True): +def prefill_and_generate(model, tokenizer, inputs, max_new_tokens=10000, use_cuda_graph: bool = True, + mode = 'normal'): import os os.environ["TOKENIZERS_PARALLELISM"] = "false" torch._dynamo.config.suppress_errors = True @@ -110,7 +111,8 @@ def prefill_and_generate(model, tokenizer, inputs, max_new_tokens=10000, use_cud cache_position=cache_position, past_key_values=past_key_values, return_dict=False, use_cache=True)[0] - past_key_values.change_seq_length(1) + if past_key_values != None: + past_key_values.change_seq_length(1) for device in all_cuda_device: torch.cuda.synchronize(device) #print(logits) @@ -125,18 +127,26 @@ def prefill_and_generate(model, tokenizer, inputs, max_new_tokens=10000, use_cud torch.cuda.set_device(torch_device) with torch.no_grad(): stream = TextStreamer(tokenizer) - past_key_values = StaticCache( - config = model.config, max_batch_size = 1, max_cache_len = seq_length + max_new_tokens, device = device_map, dtype = model.dtype - ) + if mode != 'long_context': + past_key_values = StaticCache( + config = model.config, max_batch_size = 1, max_cache_len = seq_length + max_new_tokens, device = device_map, dtype = model.dtype + ) + else: + past_key_values = None cache_position = torch.arange(seq_length, device=torch_device) generated_ids = torch.zeros( batch_size, seq_length + max_new_tokens + 1, dtype=torch.int, device=torch_device ) generated_ids[:, cache_position] = inputs.to(torch_device).to(torch.int) - past_key_values.cur_idx=cache_position + if past_key_values != None: + past_key_values.cur_idx=cache_position start_time = time.time() inputs_embeds = model.model.embed_tokens(inputs.to("cpu")).to(torch_device) + if mode == "long_context": + inputs_embeds = model.model.embed_tokens(inputs.to("cpu")) + else: + inputs_embeds = model.model.embed_tokens(inputs.to("cpu")).to(torch_device) logits = model( inputs_embeds = inputs_embeds, cache_position=cache_position, past_key_values=past_key_values, return_dict=False, use_cache=True )[0][:,-1,:].unsqueeze(0).clone().to(torch_device) @@ -184,7 +194,7 @@ def prefill_and_generate(model, tokenizer, inputs, max_new_tokens=10000, use_cud tokens.append(next_token.int()) seq_length += 1 - if next_token[0].item() == tokenizer.eos_token_id: + if next_token[0].item() == tokenizer.eos_token_id or tokenizer.decode(next_token) == '<|im_end|>': print(stream.end(), end="", flush=True) break else: diff --git a/pyproject.toml b/pyproject.toml index 863fcb4..adeb8a9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -27,7 +27,8 @@ dependencies = [ "wheel", "colorlog", "build", - "fire" + "fire", + "protobuf" ] requires-python = ">=3.10" diff --git a/requirements-local_chat.txt b/requirements-local_chat.txt index 17cb0f1..50b1f65 100644 --- a/requirements-local_chat.txt +++ b/requirements-local_chat.txt @@ -3,4 +3,5 @@ transformers numpy torch>=2.3.0 packaging -cpufeature \ No newline at end of file +cpufeature +protobuf \ No newline at end of file

    >0o5Ptbdq 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 EKj27aBme*a literal 0 HcmV?d00001 diff --git a/doc/assets/long_context_generate.png b/doc/assets/long_context_generate.png new file mode 100644 index 0000000000000000000000000000000000000000..0e54fbcc0714798bee3de59670f534635f5b0f37 GIT binary patch literal 185748 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