From 4f285b354796fb17df8636485b9a04df3ebbb7dc Mon Sep 17 00:00:00 2001 From: Tri Dao Date: Mon, 17 Jul 2023 05:26:11 -0700 Subject: [PATCH] FlashAttention-2 release --- .gitmodules | 4 +- AUTHORS | 3 +- MANIFEST.in | 2 + README.md | 270 ++- assets/flash2_a100_fwd_bwd_benchmark.png | Bin 0 -> 378008 bytes assets/flash2_h100_fwd_bwd_benchmark.png | Bin 0 -> 315020 bytes assets/flashattention_logo.png | Bin 0 -> 2738980 bytes benchmarks/benchmark_causal.py | 166 +- benchmarks/benchmark_flash_attention.py | 4 +- csrc/cutlass | 1 + csrc/flash_attn/cutlass | 1 - csrc/flash_attn/flash_api.cpp | 912 +++++++++ csrc/flash_attn/fmha_api.cpp | 796 -------- csrc/flash_attn/src/block_info.h | 41 + csrc/flash_attn/src/flash.h | 141 ++ .../src/flash_bwd_hdim128_bf16_sm80.cu | 20 + .../src/flash_bwd_hdim128_fp16_sm80.cu | 26 + .../src/flash_bwd_hdim160_bf16_sm80.cu | 10 + .../src/flash_bwd_hdim160_fp16_sm80.cu | 10 + .../src/flash_bwd_hdim192_bf16_sm80.cu | 10 + .../src/flash_bwd_hdim192_fp16_sm80.cu | 10 + .../src/flash_bwd_hdim224_bf16_sm80.cu | 10 + .../src/flash_bwd_hdim224_fp16_sm80.cu | 10 + .../src/flash_bwd_hdim256_bf16_sm80.cu | 10 + .../src/flash_bwd_hdim256_fp16_sm80.cu | 10 + .../src/flash_bwd_hdim32_bf16_sm80.cu | 16 + .../src/flash_bwd_hdim32_fp16_sm80.cu | 16 + .../src/flash_bwd_hdim64_bf16_sm80.cu | 16 + .../src/flash_bwd_hdim64_fp16_sm80.cu | 35 + .../src/flash_bwd_hdim96_bf16_sm80.cu | 20 + .../src/flash_bwd_hdim96_fp16_sm80.cu | 22 + csrc/flash_attn/src/flash_bwd_kernel.h | 1519 +++++++++++++++ .../src/flash_bwd_launch_template.h | 355 ++++ .../src/flash_fwd_hdim128_bf16_sm80.cu | 19 + .../src/flash_fwd_hdim128_fp16_sm80.cu | 32 + .../src/flash_fwd_hdim160_bf16_sm80.cu | 17 + .../src/flash_fwd_hdim160_fp16_sm80.cu | 27 + .../src/flash_fwd_hdim192_bf16_sm80.cu | 16 + .../src/flash_fwd_hdim192_fp16_sm80.cu | 27 + .../src/flash_fwd_hdim224_bf16_sm80.cu | 9 + .../src/flash_fwd_hdim224_fp16_sm80.cu | 9 + .../src/flash_fwd_hdim256_bf16_sm80.cu | 9 + .../src/flash_fwd_hdim256_fp16_sm80.cu | 9 + .../src/flash_fwd_hdim32_bf16_sm80.cu | 10 + .../src/flash_fwd_hdim32_fp16_sm80.cu | 23 + .../src/flash_fwd_hdim64_bf16_sm80.cu | 19 + .../src/flash_fwd_hdim64_fp16_sm80.cu | 26 + .../src/flash_fwd_hdim96_bf16_sm80.cu | 17 + .../src/flash_fwd_hdim96_fp16_sm80.cu | 23 + csrc/flash_attn/src/flash_fwd_kernel.h | 576 ++++++ .../src/flash_fwd_launch_template.h | 251 +++ csrc/flash_attn/src/fmha.h | 211 -- csrc/flash_attn/src/fmha/gemm.h | 451 ----- csrc/flash_attn/src/fmha/gmem_tile.h | 555 ------ csrc/flash_attn/src/fmha/kernel_traits.h | 116 -- csrc/flash_attn/src/fmha/mask.h | 90 - csrc/flash_attn/src/fmha/smem_tile.h | 1703 ----------------- csrc/flash_attn/src/fmha/softmax.h | 607 ------ csrc/flash_attn/src/fmha/utils.h | 1215 ------------ .../fmha_block_dgrad_fp16_kernel_loop.sm80.cu | 64 - .../src/fmha_block_dgrad_kernel_1xN_loop.h | 772 -------- .../src/fmha_block_fprop_fp16_kernel.sm80.cu | 90 - .../src/fmha_block_fprop_kernel_1xN.h | 533 ------ csrc/flash_attn/src/fmha_blockmask.h | 57 - csrc/flash_attn/src/fmha_bwd_hdim128.cu | 12 - csrc/flash_attn/src/fmha_bwd_hdim32.cu | 17 - csrc/flash_attn/src/fmha_bwd_hdim64.cu | 30 - .../flash_attn/src/fmha_bwd_launch_template.h | 114 -- .../src/fmha_dgrad_kernel_1xN_loop.h | 841 -------- csrc/flash_attn/src/fmha_fprop_kernel_1xN.h | 707 ------- csrc/flash_attn/src/fmha_fwd_hdim128.cu | 12 - csrc/flash_attn/src/fmha_fwd_hdim32.cu | 17 - csrc/flash_attn/src/fmha_fwd_hdim64.cu | 17 - .../flash_attn/src/fmha_fwd_launch_template.h | 91 - csrc/flash_attn/src/fmha_kernel.h | 78 - csrc/flash_attn/src/fmha_utils.h | 100 - csrc/flash_attn/src/kernel_traits.h | 366 ++++ csrc/flash_attn/src/kernel_traits_sm90.h | 159 ++ csrc/flash_attn/src/philox.cuh | 200 +- csrc/flash_attn/src/softmax.h | 272 +++ csrc/flash_attn/src/static_switch.h | 77 +- csrc/flash_attn/src/utils.h | 388 ++++ flash_attn/__init__.py | 9 +- flash_attn/flash_attention.py | 101 - flash_attn/flash_attn_interface.py | 575 ++++-- flash_attn/modules/block.py | 36 +- flash_attn/modules/mha.py | 73 +- setup.py | 60 +- tests/test_flash_attn.py | 1103 +++++------ training/Dockerfile | 4 +- 90 files changed, 6867 insertions(+), 10641 deletions(-) create mode 100644 assets/flash2_a100_fwd_bwd_benchmark.png create mode 100644 assets/flash2_h100_fwd_bwd_benchmark.png create mode 100644 assets/flashattention_logo.png create mode 160000 csrc/cutlass delete mode 160000 csrc/flash_attn/cutlass create mode 100644 csrc/flash_attn/flash_api.cpp delete mode 100644 csrc/flash_attn/fmha_api.cpp create mode 100644 csrc/flash_attn/src/block_info.h create mode 100644 csrc/flash_attn/src/flash.h create mode 100644 csrc/flash_attn/src/flash_bwd_hdim128_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim128_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim160_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim160_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim192_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim192_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim224_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim224_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim256_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim256_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim32_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim32_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim64_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim64_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim96_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_hdim96_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_bwd_kernel.h create mode 100644 csrc/flash_attn/src/flash_bwd_launch_template.h create mode 100644 csrc/flash_attn/src/flash_fwd_hdim128_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim128_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim160_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim160_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim192_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim192_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim224_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim224_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim256_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim256_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim32_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim32_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim64_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim64_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim96_bf16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_hdim96_fp16_sm80.cu create mode 100644 csrc/flash_attn/src/flash_fwd_kernel.h create mode 100644 csrc/flash_attn/src/flash_fwd_launch_template.h delete mode 100644 csrc/flash_attn/src/fmha.h delete mode 100644 csrc/flash_attn/src/fmha/gemm.h delete mode 100644 csrc/flash_attn/src/fmha/gmem_tile.h delete mode 100644 csrc/flash_attn/src/fmha/kernel_traits.h delete mode 100644 csrc/flash_attn/src/fmha/mask.h delete mode 100644 csrc/flash_attn/src/fmha/smem_tile.h delete mode 100644 csrc/flash_attn/src/fmha/softmax.h delete mode 100644 csrc/flash_attn/src/fmha/utils.h delete mode 100644 csrc/flash_attn/src/fmha_block_dgrad_fp16_kernel_loop.sm80.cu delete mode 100644 csrc/flash_attn/src/fmha_block_dgrad_kernel_1xN_loop.h delete mode 100644 csrc/flash_attn/src/fmha_block_fprop_fp16_kernel.sm80.cu delete mode 100644 csrc/flash_attn/src/fmha_block_fprop_kernel_1xN.h delete mode 100644 csrc/flash_attn/src/fmha_blockmask.h delete mode 100644 csrc/flash_attn/src/fmha_bwd_hdim128.cu delete mode 100644 csrc/flash_attn/src/fmha_bwd_hdim32.cu delete mode 100644 csrc/flash_attn/src/fmha_bwd_hdim64.cu delete mode 100644 csrc/flash_attn/src/fmha_bwd_launch_template.h delete mode 100644 csrc/flash_attn/src/fmha_dgrad_kernel_1xN_loop.h delete mode 100644 csrc/flash_attn/src/fmha_fprop_kernel_1xN.h delete mode 100644 csrc/flash_attn/src/fmha_fwd_hdim128.cu delete mode 100644 csrc/flash_attn/src/fmha_fwd_hdim32.cu delete mode 100644 csrc/flash_attn/src/fmha_fwd_hdim64.cu delete mode 100644 csrc/flash_attn/src/fmha_fwd_launch_template.h delete mode 100644 csrc/flash_attn/src/fmha_kernel.h delete mode 100644 csrc/flash_attn/src/fmha_utils.h create mode 100644 csrc/flash_attn/src/kernel_traits.h create mode 100644 csrc/flash_attn/src/kernel_traits_sm90.h create mode 100644 csrc/flash_attn/src/softmax.h create mode 100644 csrc/flash_attn/src/utils.h delete mode 100644 flash_attn/flash_attention.py diff --git a/.gitmodules b/.gitmodules index a8e8349e1..8d501cb19 100644 --- a/.gitmodules +++ b/.gitmodules @@ -1,3 +1,3 @@ -[submodule "csrc/flash_attn/cutlass"] - path = csrc/flash_attn/cutlass +[submodule "csrc/cutlass"] + path = csrc/cutlass url = https://github.com/NVIDIA/cutlass.git diff --git a/AUTHORS b/AUTHORS index bb78ee50a..e35a78166 100644 --- a/AUTHORS +++ b/AUTHORS @@ -1,2 +1 @@ -Tri Dao, trid@stanford.edu -Dan Fu, danfu@cs.stanford.edu \ No newline at end of file +Tri Dao, trid@cs.stanford.edu \ No newline at end of file diff --git a/MANIFEST.in b/MANIFEST.in index 885bb8b9a..021b4d0f7 100644 --- a/MANIFEST.in +++ b/MANIFEST.in @@ -2,8 +2,10 @@ recursive-include csrc *.cu recursive-include csrc *.h recursive-include csrc *.cuh recursive-include csrc *.cpp +recursive-include csrc *.hpp recursive-include flash_attn *.cu recursive-include flash_attn *.h recursive-include flash_attn *.cuh recursive-include flash_attn *.cpp +recursive-include flash_attn *.hpp diff --git a/README.md b/README.md index 31fc62a6e..829230cd0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,7 @@ # FlashAttention -This repository provides the official implementation of FlashAttention from the -following paper. +This repository provides the official implementation of FlashAttention and +FlashAttention-2 from the +following papers. **FlashAttention: Fast and Memory-Efficient Exact Attention with IO-Awareness** Tri Dao, Daniel Y. Fu, Stefano Ermon, Atri Rudra, Christopher RĂ© @@ -8,39 +9,22 @@ Paper: https://arxiv.org/abs/2205.14135 IEEE Spectrum [article](https://spectrum.ieee.org/mlperf-rankings-2022) about our submission to the MLPerf 2.0 benchmark using FlashAttention. ![FlashAttention](assets/flashattn_banner.jpg) -## Usage +**FlashAttention-2: Faster Attention with Better Parallelism and Work Partitioning** +Tri Dao -We've been very happy to see FlashAttention being widely adopted in such a short -time after its release. This [page](https://github.com/HazyResearch/flash-attention/blob/main/usage.md) -contains a partial list of places where FlashAttention is being used. +Paper: https://tridao.me/publications/flash2/flash2.pdf -## Full model code and training script +![FlashAttention-2](assets/flashattention_logo.png) -We have released the full GPT model -[implementation](https://github.com/HazyResearch/flash-attention/blob/main/flash_attn/models/gpt.py). -We also provide optimized implementations of other layers (e.g., MLP, LayerNorm, -cross-entropy loss, rotary embedding). Overall this speeds up training by 3-5x -compared to the baseline implementation from Huggingface, reaching up to 189 -TFLOPs/sec per A100, equivalent to 60.6\% model FLOPs utilization (we don't need -any activation checkpointing). -We also include a training -[script](https://github.com/HazyResearch/flash-attention/tree/main/training) to -train GPT2 on Openwebtext and GPT3 on The Pile. - -## Triton implementation of FlashAttention - -Phil Tillet (OpenAI) has an experimental implementation of FlashAttention in Triton: -https://github.com/openai/triton/blob/master/python/tutorials/06-fused-attention.py - -As Triton is a higher-level language than CUDA, it might be easier to understand -and experiment with. The notations in the Triton implementation are also closer -to what's used in our paper. +## Usage -We also have an experimental implementation in Triton that support attention -bias (e.g. ALiBi): -https://github.com/HazyResearch/flash-attention/blob/main/flash_attn/flash_attn_triton.py +We've been very happy to see FlashAttention being widely adopted in such a short +time after its release. This [page](https://github.com/Dao-AILab/flash-attention/blob/main/usage.md) +contains a partial list of places where FlashAttention is being used. +FlashAttention and FlashAttention-2 are free to use and modify (see LICENSE). +Please cite and credit FlashAttention if you use it. ## Installation and features @@ -53,125 +37,116 @@ We recommend the container from Nvidia, which has all the required tools to install FlashAttention. To install: +1. Make sure that PyTorch is installed. +2. Make sure that `packaging` is installed (`pip install packaging`) +3. Make sure that `ninja` is installed and that it works correctly (e.g. `ninja +--version` then `echo $?` should return exit code 0). If not (sometimes `ninja +--version` then `echo $?` returns a nonzero exit code), uninstall then reinstall +`ninja` (`pip uninstall -y ninja && pip install ninja`). Without `ninja` +compiling can take a very long time (2h) since it does not use multiple CPU +cores. With `ninja` compiling takes 3-5 minutes on a 64-core machine. +4. Then: ```sh -pip install flash-attn +pip install flash-attn --no-build-isolation ``` - Alternatively you can compile from source: ``` python setup.py install ``` -Interface: `src/flash_attention.py` - -To run the benchmark against PyTorch standard attention: -``` -PYTHONPATH=$PWD python benchmarks/benchmark_flash_attention.py -``` +Interface: `src/flash_attention_interface.py` -FlashAttention currently supports: -1. Turing, Ampere, Ada, or Hopper GPUs (e.g., H100, A100, RTX 3090, T4, RTX 2080). -2. fp16 and bf16 (bf16 requires Ampere, Ada, or Hopper GPUs). -3. Head dimensions that are multiples of 8, up to 128 (e.g., 8, 16, 24, ..., - 128). Head dim > 64 backward requires A100 or H100. - -Our tentative roadmap: -1. ~~[Jun 2022] Make package pip-installable~~[Done, thanks to lucidrains]. -2. ~~[Jun 2022] Support SM86 GPUs (e.g., RTX 3080, 3090)~~[Done]. -3. ~~[Jun 2022] Support SM75 GPUs (e.g. T4)~~[Done]. -4. ~~[Jun 2022] Support bf16~~[Done]. -5. ~~[Jul 2022] Implement cross-attention~~[Done]. -6. ~~[Jul 2022] Support head dimension 128~~[Done]. -7. ~~[Aug 2022] Fuse rotary embedding~~[Done]. -8. ~~[Mar 2023] Support SM90 GPUs (H100)~~[Done]. +FlashAttention-2 currently supports: +1. Ampere, Ada, or Hopper GPUs (e.g., A100, RTX 3090, RTX 4090, H100). Support for Turing + GPUs (T4, RTX 2080) is coming soon, please use FlashAttention 1.x for Turing + GPUs for now. +2. Datatype fp16 and bf16 (bf16 requires Ampere, Ada, or Hopper GPUs). +3. All head dimensions up to 256. Head dim > 192 backward requires A100/A800 or H100/H800. ## How to use FlashAttention -Here's a simple example: -```python -import torch -from flash_attn.flash_attention import FlashMHA - -# Replace this with your correct GPU device -device = "cuda:0" - -# Create attention layer. This is similar to torch.nn.MultiheadAttention, -# and it includes the input and output linear layers -flash_mha = FlashMHA( - embed_dim=128, # total channels (= num_heads * head_dim) - num_heads=8, # number of heads - device=device, - dtype=torch.float16, -) - -# Run forward pass with dummy data -x = torch.randn( - (64, 256, 128), # (batch, seqlen, embed_dim) - device=device, - dtype=torch.float16 -) - -output = flash_mha(x)[0] +The main functions implement scaled dot product attention (softmax(Q @ K^T * +softmax_scale) @ V): +``` +from flash_attn import flash_attn_qkvpacked_func, flash_attn_func ``` -Alternatively, you can import the inner attention layer only (so that the input -and output linear layers are not included): -```python -from flash_attn.flash_attention import FlashAttention +``` +flash_attn_qkvpacked_func(qkv, dropout_p=0.0, softmax_scale=None, causal=False): +"""dropout_p should be set to 0.0 during evaluation +If Q, K, V are already stacked into 1 tensor, this function will be faster than +calling flash_attn_func on Q, K, V since the backward pass avoids explicit concatenation +of the gradients of Q, K, V. +Arguments: + qkv: (batch_size, seqlen, 3, nheads, headdim) + dropout_p: float. Dropout probability. + softmax_scale: float. The scaling of QK^T before applying softmax. + Default to 1 / sqrt(headdim). + causal: bool. Whether to apply causal attention mask (e.g., for auto-regressive modeling). +Return: + out: (batch_size, seqlen, nheads, headdim). +``` -# Create the nn.Module -flash_attention = FlashAttention() +``` +flash_attn_func(q, k, v, dropout_p=0.0, softmax_scale=None, causal=False): +"""dropout_p should be set to 0.0 during evaluation +Supports multi-query and grouped-query attention (MQA/GQA) by passing in KV with fewer heads +than Q. Note that the number of heads in KV must be divisible by the number of heads in Q. +For example, if Q has 6 heads and K, V have 2 heads, head 0, 1, 2 of Q will attention to head +0 of K, V, and head 3, 4, 5 of Q will attention to head 1 of K, V. + +Arguments: + q: (batch_size, seqlen, nheads, headdim) + k: (batch_size, seqlen, nheads_k, headdim) + v: (batch_size, seqlen, nheads_k, headdim) + dropout_p: float. Dropout probability. + softmax_scale: float. The scaling of QK^T before applying softmax. + Default to 1 / sqrt(headdim). + causal: bool. Whether to apply causal attention mask (e.g., for auto-regressive modeling). +Return: + out: (batch_size, seqlen, nheads, headdim). ``` -Or, if you need more fine-grained control, you can import one of the lower-level -functions (this is more similar to the `torch.nn.functional` style): -```python -from flash_attn.flash_attn_interface import flash_attn_unpadded_func +To see how these functions are used in a multi-head attention layer (which +includes QKV projection, output projection), see the MHA [implementation](https://github.com/Dao-AILab/flash-attention/blob/main/flash_attn/modules/mha.py). -# or +## Upgrading from FlashAttention (1.x) to FlashAttention-2 -from flash_attn.flash_attn_interface import flash_attn_unpadded_qkvpacked_split_func +These functions have been renamed: +- `flash_attn_unpadded_func` -> `flash_attn_varlen_func` +- `flash_attn_unpadded_qkvpacked_func` -> `flash_attn_varlen_qkvpacked_func` +- `flash_attn_unpadded_kvpacked_func` -> `flash_attn_varlen_kvpacked_func` -# etc. +If the inputs have the same sequence lengths in the same batch, it is simpler +and faster to use these functions: +``` +flash_attn_qkvpacked_func(qkv, dropout_p, softmax_scale=None, causal=False) ``` - -There are also separate Python files with various FlashAttention extensions: -```python -# Import the triton implementation (torch.nn.functional version only) -from flash_attn.flash_attn_triton import flash_attn_func - -# Import block sparse attention (nn.Module version) -from flash_attn.flash_blocksparse_attention import FlashBlocksparseMHA, FlashBlocksparseAttention - -# Import block sparse attention (torch.nn.functional version) -from flash_attn.flash_blocksparse_attn_interface import flash_blocksparse_attn_func +``` +flash_attn_func(q, k, v, dropout_p=0.0, softmax_scale=None, causal=False) ``` -## Speedup and Memory Savings +## Performance We present expected speedup (combined forward + backward pass) and memory savings from using FlashAttention against PyTorch standard attention, depending on sequence length, on different GPUs (speedup depends on memory bandwidth - we see more speedup on slower GPU memory). We currently have benchmarks for these GPUs: * [A100](#a100) -* [RTX 3090](#rtx-3090) -* [T4](#t4) +* [H100](#h100) + + ### A100 -We display FlashAttention speedup using these parameters (similar to BERT-base): -* Batch size 8 -* Head dimension 64 -* 12 attention heads - -Our graphs show sequence lengths between 128 and 4096 (when standard attention runs out of memory on an A100), but FlashAttention can scale up to sequence length 64K. +We display FlashAttention speedup using these parameters: +* Head dimension 64 or 128, hidden dimension 2048 (i.e. either 32 or 16 heads). +* Sequence length 512, 1k, 2k, 4k, 8k, 16k. +* Batch size set to 16k / seqlen. #### Speedup -![FlashAttention speedup](assets/flashattn_speedup.jpg) - -We generally see 2-4X speedup at sequence lengths between 128 and 4K, and we see more speedup when using dropout and masking, since we fuse the kernels. -At sequence lengths that are popular with language models like 512 and 1K, we see speedups up to 4X when using dropout and masking. +![FlashAttention speedup on A100 80GB SXM5 with FP16/BF16](assets/flash2_a100_fwd_bwd_benchmark.png) #### Memory @@ -182,38 +157,37 @@ Memory savings are proportional to sequence length -- since standard attention h We see 10X memory savings at sequence length 2K, and 20X at 4K. As a result, FlashAttention can scale to much longer sequence lengths. -#### Head Dimension 128 - -![FlashAttention speedup, head dimension 128](assets/flashattn_speedup_a100_d128.jpg) - -We show speedup with head dimension 128. -Here we show batch size 16 with 12 heads. -Speedup is less than with the smaller head sizes, since we have to make the block size smaller in the tiling. -But speedup is still significant, especially with a causal mask. - -### RTX 3090 +### H100 -For the RTX 3090, we use batch size 12 with 12 attention heads. -Memory savings are the same as on an A100, so we'll only show speedup here. +![FlashAttention speedup on H100 SXM5 with FP16/BF16](assets/flash2_h100_fwd_bwd_benchmark.png) -![FlashAttention speedup GTX 3090](assets/flashattn_speedup_3090.jpg) - -We see slightly higher speedups (between 2.5-4.5x) on the GTX 3090, since memory bandwidth on the GDDR6X is lower than A100 HBM (~900 GB/s vs. ~1.5 TB/s). +## Full model code and training script -### T4 +We have released the full GPT model +[implementation](https://github.com/Dao-AILab/flash-attention/blob/main/flash_attn/models/gpt.py). +We also provide optimized implementations of other layers (e.g., MLP, LayerNorm, +cross-entropy loss, rotary embedding). Overall this speeds up training by 3-5x +compared to the baseline implementation from Huggingface, reaching up to 225 +TFLOPs/sec per A100, equivalent to 72% model FLOPs utilization (we don't need +any activation checkpointing). -We again use batch size 12 with 12 attention heads. +We also include a training +[script](https://github.com/Dao-AILab/flash-attention/tree/main/training) to +train GPT2 on Openwebtext and GPT3 on The Pile. -![Flashattention speedup T4](assets/flashattn_speedup_t4.jpg) +## Triton implementation of FlashAttention -T4 SRAM is smaller than the newer GPUs (64 KB), so we see less speedup (we need to make the block sizes smaller, so we end up doing more R/W). -This matches the IO complexity analysis from section 3.2 of [our paper](https://arxiv.org/abs/2205.14135). +Phil Tillet (OpenAI) has an experimental implementation of FlashAttention in Triton: +https://github.com/openai/triton/blob/master/python/tutorials/06-fused-attention.py -T4 GPUs are commonly used for inference, so we also measure speedup on the forward pass only (note that these are not directly comparable to the graphs above): +As Triton is a higher-level language than CUDA, it might be easier to understand +and experiment with. The notations in the Triton implementation are also closer +to what's used in our paper. -![FlashAttention speedup T4 fwd](assets/flashattn_speedup_t4_fwd.jpg) +We also have an experimental implementation in Triton that support attention +bias (e.g. ALiBi): +https://github.com/Dao-AILab/flash-attention/blob/main/flash_attn/flash_attn_triton.py -We see speedups between 2.5x-4.5x on the forward pass. ## Tests We test that FlashAttention produces the same output and gradient as a reference @@ -228,21 +202,10 @@ pytest -q -s tests/test_flash_attn.py ``` ## When you encounter issues -This alpha release of FlashAttention contains code written for a research -project to validate ideas on speeding up attention. -We have tested it on several models (BERT, GPT2, ViT). -However, there might still be bugs in the implementation that we hope to iron -out in the next few months. +This new release of FlashAttention-2 have been tested on several GPT-style +models, mostly on A100 GPUs. -If you encounter any of these bugs, please open a respective GitHub Issue! - -## Acknowledgments -Our implementation uses Apex's -[FMHA](https://github.com/NVIDIA/apex/tree/master/apex/contrib/csrc/fmha) code -as a starting point. - -We thank [Young-Jun Ko](https://yjk21.github.io/) for the in-depth explanation of his FMHA implementation -and for his thoughtful answers to our questions about CUDA. +If you encounter any of bugs, please open a respective GitHub Issue! ## Citation If you use this codebase, or otherwise found our work valuable, please cite: @@ -253,4 +216,9 @@ If you use this codebase, or otherwise found our work valuable, please cite: booktitle={Advances in Neural Information Processing Systems}, year={2022} } +@article{dao2023flashattention2, + title={Flash{A}ttention-2: Faster Attention with Better Parallelism and Work Partitioning, + author={Dao, Tri}, + year={2023} +} ``` diff --git a/assets/flash2_a100_fwd_bwd_benchmark.png b/assets/flash2_a100_fwd_bwd_benchmark.png new file mode 100644 index 0000000000000000000000000000000000000000..f529197bec8d885219f5cb44533c7ee2db50d667 GIT binary patch literal 378008 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

  • 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

    wpPUsb> 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

    TzxB!3{2cqGs{+tJqc55) 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 +4h?ntLhH^YG71)|8oWMySUp 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%0D8%M+uyYQ~kBx~zCfAudZ_6%oK6$W6 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

    d#vMC1Ic_1W~hf-2O$#J)@OZ(z&T(5 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 z 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%0D5Z~)c9#XOr7lR}ljfQK1JJ|qTwn#S^& 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ℓk1I@k!w<1(5;EUQk2qUGB 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

    QJXpUV-#kanzQRGzKhbFJ)qstX`V+m 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�wUu3PT=im^CF)_R?eVWKUR|RnJ@ww1zSx+k*{_bFZrmrLQQ;WWl0W1860Mx#dr5@;7)b%RxXa$Y zt4(^W+Uf5;bn!eN0nLiJrKK*+tf(5rk@KECU9ud4UbM4T+KvA2H;2THUbhe&wj+nI zd3Vgg&7FEUZu7}**XSh{R`}1xoSO5Q^S7$V?HKh-hLIq>p=soj8@ z6uV~dIyR66(}4W;)vw-~M&G6aAfi&6bAsGWeHFdhIV1^l#c^Lf>(~(Tx*a*n)f%zh z{v7Js!JOmLRO{lM{I~cRjcMK{9XX5p&OBO3-T=nQwsP8(91BGrn#|yu);;?lmwS)l z)UD&?&;av`e4u@sxHD#gR@{w`$q`fTn4N6tHBRTr!f?(^>zWz|23sDdZLN5p6P)*{ zMeYk7uXyS-=VbD+x--j66QE=K&O5T;Y+Lsib2!MZEFGNC8*U%@om+N%$)0r?AWL%a zb3gaTtXoKv$@|K~>(M8E;QHh*{n6_e{;R)oec=~=|MkX4KYl%W^yvEFqc^V~`tcvT z9)I|Q*SGcV*7x-8UUXIm%YRKDllo`==6`+tzz==l`p$QMNAGxhtmg$!^!GY?R*ODB z2;;BD=$KDq2v?S+dz1`ZD5++&W(;Q560qXxfkR`6rga{~_{eiNmi&s@v4BDnj`7RH z-GH^Yiu&2~P(Q!FR5#|;TtveEpdt<=)j_Zo4E#;d|Tg`S6p?Mr?HD?bQ8C+Vez`{ zSJdcO>)hy(nds%81ZzGCyrj_Yn%OsxR~oOp0vm4)S|dHTvsO&?MFkwEc=iSy66p71 zC@)8Ge!vA_@`@9k z{NBg!#5Cq_y!`0;+-HB}`qh8*|6Jes_OI&`loUHp6O2=o^O8gBy&*pM|qFQL$20S zc*f-PI$pp{GWj-+c$=DJ#m116H97Y=Vt(_iu!(D>qro^YaCF{TtaC%Ys^H1u!h>an zRllv{1SGrb@j~noPl!dywodre02&(Z*09)kaugcWm{cDHglfbcV8_c(4{zhvP=PxK z*3AJvF(GuG3@5u;#^SRu!sT@=Y_kxMj(43V#9j5rv9%DO+o3OdvX;%j`ElwX?BJ5i z5}?vo_(!W#fZiO7OK}~yhr#1=x=+0{G#i-JEF=8!21RlFAgmren?E_1PJ~Yb=O3D~ zIiu!hD)V3?h2u8wL^uyP#~TPa8YYRS!)sjY5`d2bj&8z7{q$Q~Vv{?vlI2V`c4Fb> zcBk2n)?!9IFz>5e=MxYZ%rabwCwy|?zsVE(HWA&r;~RX6=6w@jlGLZQ3Ku=jZVKlK zLAJz!IgELw@}7Gy65kglyp_^Z%_C!&sxxwYL1Cns5AB0&kI?7>m~-J|>3;14Gm8 zHi=LzxhP8GX|DHI#Qwj`((aEp_PbvJ<-GE~l25$)j5S!v=pJHW zfq1R%CthY;_T1Fi#v5&?PI%78K+narYL;*xxj#4e4ael$=Y`;-lfbUgB%Uh^#j=7zZ7X}X9Rt@VQ3j6ejIYY>_ z@i)4k1Kk>mjjmfCGjjPk`M5F`np|pVEXUI20V@OthYb2IF7+XP$6`x-;=;aTnlEV+ zTTbF=Bgx|z-4E=T!>QY*Nf?b$7=2twRnx)iaB4E@rgyRNj^9Uby>)%=kNnd0d%yA* zuP^@MAG|)I3%@VxuiE^_efojT&*(RFA^3-XFz@4#ddOWzVCvhM7^k=T` z=*j!H{{BDIb1FWRIT(wiKIr^D0F*p-|5Rp$*B?E*P&^x|h8ml-r(i*!KqIEVO) zw`%giMLTkrqp{~X**)HA63_1geA!b7vS`$3DFVTOxzy4s%Zgg%jW=F+!;N10pGaxwQUL-bq(}}D zlGEjP&aZu2$7hUZ%r*CZ-y`$;-D}SIJmVQpGuK|bS$plBTy|f6ZR(Rx;HaDN z8p|MKiLFCzp+f*YCK(JSoOq)NC3)+d`wo_=K}<5oE+b4vCP~LO(x#Zs>5(mux<7l~ zSZ6JYu^0HqM+liC0(JHs^O}OjYgFuR=;wRxe)hA+Xa3Z`cYNtD|Hb3oAN#$>%dfuX z#|U1VaIDMgkVZv(vo_LMs^jKu{Z{ZT^}Gj?=Kw_K2z_kw>pbo291mW9_2uKczw-;n zFa6zLIUaodn}q9F;9}ewH-}M&FW?JI?5qeE2GbTt>#-CX$S_tOx@O?*U+UUk$76r+ zjWKfXaD=ru&oo&+qF%m=N4$IvruWaahC*~5O0)OZ_UN9GP2ATy z?=u$42m5&Mr+zMc?oU9H%Z5R?H~HxM<%suMT*Tv8Bmsazt+{sn*F0)(bp`ONzZeCT zExp3>v~$yKW>-V7c+S6-p&9{kE$(1jd?6ZdI5am_itboo`STMr^!jV7u5(ni+mW#u zJGwQTf!OP#*z}1H)VK5R1WIFSO_>}vcau1Hhs*>_f6_!}9p%H<1pwU3|hT!3WIye8y{zj@Rqz2lrbYPWL0 z=k925j!EXI5S_JoPJUwpHnEQp?#WHfItG&~CVN~sS@UHh2|#JinphyYo(8mTAOdu6 zabOEW{9w3wKgVGkwlW&G!Ysv%V^<$&iPep+c=g7(&-j`XJK&CS2qMF1>@Cm6@e;f5 zb7KWT+cpN#Sd$8|1v~NX8SXrolLmnOTPe z-CVC28R{JD+``$EFE-v6!E~npHC+CENEZ^d;x@zS2j6FGR$|=2>cJp)e;sF}3;Qn{ zI7boTCA_CaWlgy$zC&jGy|592sxC8%HdPFz2PMsH>rtcojb9K zF=I5ttIi|Y!+ADg^dFgyPT=MS#&tJ1IEK6^e4=-WzVL&$kMH}g7mj=LW>wdOxSjXn zP5zu{d(0a~`n^?70^jCDt0nQqb6NB9yDMos-C(aAFHmFuLIYEOSo6W22vy zI&R*-bv)D+z~9hG;77WO7pQ>=XpJpLr-p6oW*FQe=L%DOVEy>ioBAr~`$Q=mP8AoO z;}upHHEW-hpa(Av6JOR1vG+Y0`GW)Omr9VI`FpIh-u}vBd@3kEz6kHDedUEKr1`z% z+tTso2%nV4RgW#rBbgFaB*`anu3AY;6V0W)=CK?$CP)CPvyQPEdE_|{b9u2iI&id# z)_RTX#0I~xDmD`GV#NK0+fD5#%%42Gd3>mveWa`VKho9xeBCpj_2}t%c&=MKY<|R- z8ae7KxNr_G_#T%WzwbAfd3Ikn2_{V(0kJ!3IE~1C5dLfIg`tfd262{S-4`(?eqROE z001BWNkl3dlX??;m}W==0I2y*yCSzUX>G)Y>lKoUvb)Ph)& zc5MF!&prvJ zUN<=+KXQoTU%eAC^)Q7q_Lp*IqLAO%UH8@lP$RbV_}Uuc$uH7m;C))U`UN%= zhK23)9ou2R&R|)qKljP<$>HYHSb~C-o>m8$t!>pyFavY!_M1GhTv`xbGF8un^_vHj z-~kko;GjR_zKmq|UmoDd7mM#$*BsHq?fc+DWBvS=_@awnM|J@=pCpO=R2e_}>M4D8 z6U6V4&*_ueI6eDZIv{}`@5vAk>eBg+u6lWwtFnGBbG=fG<&UZ z*Tpa4V-UNG*r0J5L&y~DxF+6e8nf}jAorFNE%)vnFMRs5$GboC)5q`qi+|~O_YeNT zzYF|z`F(oa z71tm9xxa9H-w*%Z;~O8oub(n_=;yFJA9X%#bo2d9y`Otb$i(RTv>+>PawO7;8T0C* zLdO+^tdDd{slkl7%P`C|TVMT*e+;Hx=EH%I_JiTH9a0(fOFZ$t6L~K(6~Cc;?|A$3 zpFh6-)&J*s^y^>thvf*gYvSBAckUv$d|Wr5^k+P=P5d6qS7hm_NAp6CW%Z69f#a(q zq#6&;vbUO8!DA4fh_y90*-kAD%h>s#xAC+7iR!cy*Z3YM7jyfoZ>>vgi8z}2NJ>2G znr3xT;J>T_{V-oU(Hz#1d>k;4&x z8KFWGR<^Fq*ez}wO}#m;>3H|4KmI3=FaFh^JHGg%KXSaG6TkOm!^=uupMW$YMVMM= zn4-8g0`q&pxAh{;zYUB}ICSGRjefw#e^@m3r{aF=)1NvXzVp)YYyamj9}o2P_(2h1 za%uc$>}O8Z1sz_-yS)Bz+A;oJOJowJW+OwVw)~ODbDC{p?3jVLMuIQCu``#(_@`at zu07Nq`JRi7x6QNqW(dfMx%c{LR6j`Ptyx^+*iYG4?(M@FlS<(llg(HCL3W5KAnOD%-ej4uJa>{9K%>ks8xKkh&f zj?&x{zrAnVoAMJoljW_P{s+760xz*|ov^IT&$ zO~9U*D5%RGf9rr2pS0R7U$S8gn`6q2recjP-dUWA%)>2MyCxONU!I(NWPaWg4_QV%__sjT6 zomM>djlb~PX8bmcc+obn6;L_a=YAHS<~xU`VBgsPg4sYNs()K$(_9<`xP|RLZ8mMD zFm(QFH8qn>_f7ZG2NfS?Fz;|&Bs_6SKci)v{UjV`oSM5{-WZEv{DRe_IWV2J?9p|{ z+Hm%6Q*CHVm$=v_&!{|BAkki$*q40JdpwlptZegPOejpw-22uR%1#ko?nk9@t;(T( z_v=(3VBlN2RFG}iLts3^$$=q!7n~MeT2hU)#AcpFHY#-yooH($WDQL*Hjd1c@$IXJ zh9+Wd$IkI#3`a56b(TISqBJ&vdb@1B@e^6%IAK`Vq_xQXfA9c6h@i3T^+M~&@MqYp zUrDhhUVv=@dIqfbvD%}s59bUbWX4*j4TKW(q>N@pjX3tp0KC>kkN4NDu_?Q{F@#ty zTbP~4uC!UemnONNz_Dx^+$FJR_CI;<>hl;Ggm)$T49fc!Lvg2OOoB~9TU2_J%QIoO z-HEe0`pwtl_@3{4di>BAUq0^NzN@-ELF|)aFk2dbX8O}LuDS9_>u%$_w= zeiM+d^tFMoVUK?>D$wX;r7^#S1eS5s#3)h|nA|qrM=lCxxamBS&Q*cSL{OZZjF#Lg zp=V$8ngxobJ+G+-=)sz9k*IzM28j5aYButIpn=*xdhq0UQQzzP%B#1JyZ5zzoZY0> z0(0V*o)q~#-M&5L7&T$t%~>a!gW(h9oM?UV1zj)o(t4+YwZ|72V!R~*`yanIA5Qb7$^lrU+aJXnZ=5Y-hUQF z1w=U8A|XgR!oa`{Q0A6vQeEnoI{KJd6MAgK10`Ey&FM{~?t2`(bqilo4z+Vu%Vw=5*730a=PhA zI&r7o31g*Ph=Y)>h1J|P_#jsQSr`Hdky*1i;%B5n3})%cF%`5ZK=XAC@QJwPGJa~+ z9HfqKb2Sd6v_y)%osGo&!Z*L&U!c^7(PcBf!AO;nZLK#Jb*x03)?>rN<^MXaM0_^Xlzyu#BBcJRxn} z2R=OCP9A$>hr*PrJ`$FizCmKZ+_3;gpoacx-1t{q(qD`*s14@g>^=jfvE$e74Bi6) zr4}UvPt#|7$%*XJz7}Jc7+_kQ(d=`^*K@PZ&b{lfUh|F9wZZu&+waS*9r1Q-{oup- zO!THphOq;8fkJ5kn>BHa&)zpry}(yZyb}v+*6|g{@-xNUKfs2Wt!#D0+8tfV`^x9P z@A#3Q{WHf;{_KBr{4Ra<>8tO&spqFUb)g69o!?i(iGvdzTrK>F$0MEm`0Qstcf9tc zFCD+}tN-|T`rdmwaeVjqiT~thkC)zf=lJ0L4}9|Xk&gBJ{%^00bs)sAPIZ4A~5fv#{dVGV1 zmqGZdOOKr3Kxsq*ZtDG?_0jftbnE8v9rx}ZpZURekAL`UzjA#1|9(T#(T{&j;pKL{ zwuAtE`~u`Ze|9;x9#1?@YLl<{#z#otP!oBcFXJTK*Y*>DlyShew#fLCwPntMndL4A zUe5Su+_iTU#31~V;ivYaTlvc#+(f^4og;SmM(Y4G2kR-?6w`BLm1~$*f6OL^4B3;? z`i)n3qQ%SETgJ%{bmL$PEpl&TQ_zZKjL5k%_nLeEkgc->R~bY7b*){`$z{C6c5EuU z#6ee&39$3MZq~p(_qR#qq7KNgt-I7J+}@6#j?KT;Ci~MhuQ|2x#TQ$g<*zq5X!{B}EV_;) zM6S8leUtC_1Q`3>atnKLhw+m0+w#kwW1*io%75V>o&UnCr1@VyZ99&4Iim74=k~j9 zXQKosrq)5XM)v2;ShjBM4bMInJ_Ksk+rb$>JOoW+>~0Mr(00$u)q;zCiKg*bta%1A z1)|%2Tw8kC=D0X(U|jK+{jw?7yly<}CHx$h)_Z%z$!*%oV?=bP_8i+pU~^vp&PlRA zkJZoks9^8OmtzaP{!&YV5byYNjGEU|VnA=e*<&`Qx&pXg0bR54swt8bnQ`@YV-UXE z&N2GnTi~UOswOLul~4@NL}y1?$(lFjjScQZ1S)^mF(bW}HM>}3X3i;cgGAr9;*_YI z&GC#%x|Q(Nc(``G?WUyhk4@I9t{sB_e?Wl0W!V9)?ZIy@MF~?IO2*oFN0_n2)TPa! znJ}K9G{T=H1NL09MQ6;=?=-S9W`aw10#4ufICE}oCm6@loP(P?!iopv$xGAw@f(kl*yYX}O}4gQvFPo| zHBO{#n=`uTw^*B!`r4M?^&9=rF8dXojI67@0=nQqX;~O{|8R`8%FhAKt0McsB3VMv z#VaS{gWJboI(J{L;X#%b&yBU%NP}WL>2I8kA%5U$4vjlmbSu4ld!349zK^Fq*snMm z7&wj1A#F02@L$$2Fh@9n=fw;ISQLSSIQ7Qh!T+&8>xEe|#dWTY-`lF_(a2A$I{ zB2Q#z6#IU1OJ4BBr{%_so_c6*su`^Hv5vgPzChcbn-zuz_J^umj;m4OCu0B|0lyeG z7Yn0V@edM+Z<@zd@x@3wN*oU!E^`yWjF1~&CNgIYFwOz{hWZWBYCnKo|8VcrRP4$K(5+wa7PwTBZU zRpx{pC;47_{l())|J8fP%P;Chqfe{$4JN&yg-AB}R)L8@GW_!f+Eble^VNeoar9VM z5pu;TCyWT)Cwq17gsX!E^$9(K@CjT_E@_NAaGa3BmfIr{P&t0T7mtByZ`6QrgkD>| zzKZ=+6n^6lefH_I_QZ}QSBQXP76$dwc|EO*B`5cg`vj;h>z7G9Xk;O_TuJPDT9*h3 z79BUcH$J)8b~XzWI>%+2O;5DNE!*M7AiDy7b*r(%&{e>?>h-}VH;&hIV)ca=d83rC z`JI?#OGKOy=WD-hDm&K(s@caVnoqpSE{`d~NOo8A`+BqB#d|l8-}>6aJtU zI1ZR#rs9oTbDyZzyRErWM*EXa0)PDR?c=*%)u+^7)+NSjURRm-0|0jvC%=D1&C#vq zxV^E6{ituGexfVYpS-XAL^AKse*Y_Prjp|Mm1>kv0@Fkf2RHAtlDi4R{^4>PJh@e^ zz9(hZ`j4&6sDb{l!W~2%r)NH#GGOEr&W6e$M$FVyKmLZtb=IVQhDA65G~q7AX>?!M zssi%c-4Aph<}02*(HY+dn)fPcNU`7Dxjwih3^uFn;|h`O^5hi`N4@l`PBr~Dz2lLt zJ+Lzl`P$u~Yw%Su=LP{q;=trjuBhjeE1dY{cYXC^<3!sJ8^jOWsrNWq{1Z^zWj(6% zzJe){Uc`sd*`flIIz=rJErXY7(j;t&W*xVBtrv0r4_Fbvtf=#u{N>@bGH)d2x-e%g(zbLWm>6MbJkCMd-Dl#bwpmxtr@lj- z1aah)uJd}vbGQa?|BBL?h?hSaCGm~P;2!D$PK24-4i<*J;1>Bem7#^1QNxRB+( zzLwEBaDBYb#j1XsgkX;4%03wI?5mRt815vr=is|m#qVo|EYG9DnYgoV@damY%zJ;u zRmbZ-nTSzMY#z=Al0{`?YgC^LV27TK1!JKmx7xwBVk{h7&?}l}F#)$OXH?mz8qW=# zjC@hQ-}`<4`tLjb{r~b8j{o#O{@LU6Ix+dm%P${K?%mPVZ2XQT@2}`vI!vi}WPDSb zTnVgG8vbpHoZR9R$7^rAd3^3if9QDc%U{-q%3eEu{7?Q_Kev4F;A8cV=j5+Qw4RPn zLqBdacW&fNHP{d-Wy!d2QVW4rEqV-qfa7*sZ)(4y=h=6ZA2vJ(_46uv^JN28zrJ7$ z&oz?80HmYYr^YfX1O-J-k0EppHD|co}h>!SRZ2@1cgE{(8lBGaHl#OMsj3eY2|f%!-dTC34mfP+~T&i0mC#wm@`Uv;$>=s z&icsf`?QRmx3c|q%^J8j{>tELD}Q{BbnN0&8ve(ZWsJFPIivUeNn#pZu(hS0CS&yt+b6h+VFF~+NtfqNmUos8gt*ytSWbC|VPFI}A+BEO< zvfw0_ZhThuhOW@P^UkM_H~z?EQuE;97XFa_G2 zAmzP0{F4CO6Ql<>;pHou^r0A6S_EKx6P{OSlz`WL4>44a4~`Qr=mp{reE;WW8?4V>d})qW+3 ze6#D6$AsiZzi|SXwqnQkG~0O2>s%fspcjJzDZYF$$vQ5X^T>WsJh;e0}Ub#8OU@wdfOze)Mh8yQaeAI;d?bOEmp=);;Lv6Yq zc=ltq7nj-QNVDd0>#j}!M|Cdd6?W|$#o>RaOR;bwImOb=3pyyUt1w1oLs^YeG}zE$ z2Y>#M1qX)N+2W^jP-%`qGy6nph4hZ=#51zrF*M#sycQ@6RSOXsUr&x}?X)4e+%jva z2_xD)$8sk(=>v(_<5S>R(KwDkuOPOoh4K3iASaGtWS$9}xQJ7e$|^O#CuvIGLIaN%uoKo8;sHT82bw@X?OprOJvC%fGHA# zhO`xv$3YHkmBQ{2(#AJKY>BnwjAmQBruAXyX1^SOsj&u(*Mrf>FLNt6z2D%R`nQH? z>}nAc$2n>27qT;o)4{}ZnwCTCCIPCtoq%}O+%mzR*$=?m%*shP9b)r=SZbrALW?i{ z>rM+nz7RDD zVG0Yz2#809{*ogq$0D712XFh~8Pw3s`dXJXg56LJZP8CW!-tDPByvofwT8h5<=IkW zw+u94&dqsQnF%qi{S7BHb^z_hip2Eo?q%OX4UDEEmC zH~xvyzEF)V9jn*Xa(y?wStbT-Nrn?U84V3*y+UNJ848m9!eELZMJ!>NeE?Gdwh|fM z+O;kM~TI>o7zed$xn8+f>V6)Y0IdQR7&Ct=7i>@yTSUH8fzeM3nX2KR6-4 zN$!a$?Qc=62*R(e^^MII#9@Q@uuOpZw8}|X7*8f3P7SOZvFd1hPqiX?-aIIFJKs=o zqSZYcJ@MxX;MeuS?+^U=o#Vw@DC7u zsLW~Jna49xhOy%K9x2A$h6i*VgDaL;Z6E0PmJtQxY^bnz^n1W}bQ1Wkeh(Nz)`@lg zM1jJ~ACd4W@|$||fyR=>hsHV+DwWRh>ICA%!xiKA^_9(h&GK)3<&nQ?*@h6|qxR%L zyjFT>U3W~csYpNiNEZ4Y@OM6S^SJkd9O{bY+wyUneFa+)(Ca*<8}aulAaq=m&ZpXW zbK{2INxgSh>!~F4p6_u>MucGo^XSbG@v@Kju@FuY#DhA2<(h`M|H5iuM(!iS9UW3~2-X;4fm<7Ey`v*&6V}Gs6{O3_Uwy4JHPL>- z317bE`JvX2w|ad4!W184NY_xyiZ}1;Qe5a1gx%GKpx_cdLswfO&6X`1aJjAf&?a=w z;`IFyyXwq?T_pHsxO(D{%xhQ}Cw+CI_Xa0=xoHP^`h>4|R#B9!sYu%6<;nH1XGEys z^N>+mB0DumoogcwoxzdE4qwf|Hp2JMbL?u{UZQ$J=Nd_p7|@;L>fyR>#t$dmna#v* zC#O?Jj(v%!S)zs8akP#IuVK}^cw&EEOAOgxTp~EeuC=#qmFVmZkKDqG%%g>qZq(#nKQdV3 z)T0?#Q#vMtd$xZj6&H7K__S*V8(pSSDNY=#5mVR1F(UIHcEYS&q=<=Zu$)%T8cUo! z84Q<>#r~W5ZhA?z%`TkOV&mTY*x#1Vi8g4ad%ly%XjZ(#fw*-E;dj9`k~{=i!UFa{oe1_Z`$kRua5aVe|gN~fMW3S zY3^@;DE0Ksn?Bi&f}&Np+xYo|usn~}^Q2qK@1}oygC|e7^t?o|qN6uq*1?O==N?W< z^uoE3V|^%CT%)Ob>Wkj<0Ty#xkMUsrT+|$Sz7v@&T}1}74KJn3e3ts&tZfzB;W$+U?o~Iw$C2P*~PFP)H zGbH2MKF7bY6T?Q~Sn=pHM_7m<{%SFFq%U8H_YwpvVKnkL?{l?Myq1)@?xz`FC?lWg=EJ)C;`?Idj zz5Vvv$2&jsZyi7OpX;lh|Gw}16lk8l0+uZ-U8 zwyUqM%gPfT{7nyz5b@=vf#>Sctr`=Xn)w_jF2iL78_Dg*wvpB^))#(&&&?$Y+*`}% z7>xiwG~~4FzRZoMde3bj2^{2Y28NS&!NZ$)gB@u6k@GY#=d4oo8)lPEJ;!3zeMew> zId9z}9i=+^zVcJk>%O^~WBjgKlEdUtU)Yn`H4pa4%2$2m7s2DlkDcKMv)84zrx*0k zayO>6zcs4Ky=zTOa2BuOYR&JtaSzY3^?agZ%)ff`tG{*U6|MjdU^!zt>?G8n29`jk z@Qn%+_$5{|y;YWFbYX5$H?r#i41cSLkTSDg!->ge_7y?!^*J&b@#lk=`m|y)k3QKu zM-KSpHTVm?n9hTKc)E!0p9v2i^$t^f)`oZ@)mE{Zk(f!=%IR&Fn3CD3)s>5y*DTs? zJBr1NCs8||aj|@3c12{I<>7?KTyQi*n=y$1xnrHUz-J!{$1pAXOPcD-2I&%rTu8sPztx{Ou!VEe(E&zSg-iNO5SGt z_(J9yGZ=@&%afSXW*fzL)hWI)CXe)Nd;iK%L6!Go7Qp0c4EfraQZpufm{ zY|L%*F<_jaG}Z78Bg9?Iy(rm``K;ovM2E?GB2DK{Ag-uK~a(|DU%>gd3%oqpmT z8|N^d3fU2G+KGQXWvDPsK6JqmjTNCSo zD+!Q+d0;Fdni$b&>FUf5YbeDcz);hgc#xQ*L3epSSf;fp(D`&y&Ti?`HUI!107*na zRMayZk$H^IwK69W`}Mh>El);cL3qt~UuW`h-ctkS4Ba+eYvX;wxnf8C;SIdJo+4~O zRxeh~E_JO_7+W)7;KI!tUDiv+&{Iwl>7NPEo421Hzvo|j@p$vC`^Oyzmi3q;k>5ZX z7N1DPhK3%hCproIm>+SKGy70~Lsy=1CXSPgoJD-f$v1&pGmr5Cseeus9 z9$$N3`vOwO0z>L*wvn-xU003zuU;QWc=-7E*2lMww_bg!-!7Jj53&p5^;gXJcEu#f z^D*TDAMrw^->oG!PImG&(l6fASb2W*;gjRm!x+PXh5xYC4X)KRb}ezLMiz|NyVFk$ z)}G_m-_e*)cA>D{aG?hACrX^Jb$+ON zaMG8PzxvmGsri)tk)_=rx$8RT#}vceHq}|%%NWOI+=a7si+$@HJ^>+UBJIb%UH8Mz+go0n z1hTj)Ufj;9me2NZo%d;?n?I89zvd-vf5qv?y)7RY_Qrgv&5It1n&w42mMiXnvNf{c zU9pW*8zCp?_8VmB%Gy{KmYBxAai3A10fI>uIW~aFagVf^oxz%COMBgSO(*2|t4*!L zfSzdMXK_hZo;^Q|XZ_CBy4vv1!#-uTSh$DjGjfA08i z{`>#x_+x+M&mNzC^K-|?dO-S`et+P%^&Ik{PSif-1BOHF-|MXx@!#;VTaW7ibcOI; zy*Zqd9(t~#0C}9ht!H=lUwG+w`?K#HoQHk*;DL_&`qmTK(sK;US3pmY%w)zg zOixfKB>y^Irp;VJpQfR#h;%!Tx0h=%hKZASF(B}mW?d!Y`B5$DouOop<@<&EFX#mM zcOAd+kAC_1=(qpH@mN0{0)i(;HUmu%YWtd2HlScItH1^}i=E`Dus{=|wNQti&^%t; zOy!&WY4)GNId2^y0cXA$8+CG&H*8WCFC&|=WiSByb~UC3&`&L(?zp|pi5K0X>1^=! zDXsctH!^H!mQM`Doh-o!+R!>pZ=rAkNuUuaD4wy{KWCbYp)-C9+$g+K5)u$MSk#s zk^5x9amw+SZ2V2ExtFSTI;K38pBwr>%oE-l5?SC~7sW$N7K)y+ZX9N~GMLv=eD>p= zS6(~b`r#is{`TMb<>TR3_-gnxo6S1Na-=RBg|lR@AMvmG=;5erU(51!O~Ke-?QFPQ znxmpd(!Qw9={rWZ`)Dk+d8U_>6BCb~D=xS8nmA_GjPcApnYqWsZ#{NAo~*b4Rn4L)G!wvkzvUwJ9c>W6SpW_``o=pvOz>PYe4Pd@1U;D0*(T zXCGz`w`HD&cjmhtH7g&;^oB1gBegymeThQgAw|H1nWuU zUQ1(w$idW3Y-64=ZY}8HOrE23>=WdMUw5vt!Hy)-Yp8k0*L7if5RE}Jvza{CxF+|AK&k&yzo z$aRpPL~Pr!Y%|1bGAXBd%u&plM}oy*qNT?fqQ+B)Bdcy)FI?qW=i%A7&?mBtGFE*p z4j#_N@1zSg=A00t;{?nObkQUnze~)#HcOZRD({0#!L&y)tuJQ1KUlxH*m#NQV*QLA z2Vpj2Ul0$yy3<$dA6f1*gtF4q*ip8(kB!MOT+SB+H!ZS;lWo8&4*~S=8b@=v1*gBn z;~-A`#Ztss^SP)CG0Lj`HC=ldR%p`bxe*W&ZQQR8q1t&r?bo!JP(k9!e#TBu20U+E zu|N5cpRtBFk8==kJADy%+cvc8#C%GN?fuyKTeuaC`Al8^)7Al7V9xLZ#R{BE|6^3IxgABhacK}4RZ00%(j^5EwtlDfB4Svx$k(%KK)`)kKwKx z0TGCC88Y)ta^7frtQV#?KhWD%dP5C3S6uRDojPA>!PUSwIQgbG>bMxym_U7^&SpxU z{2Akyc!6>rnLV8w@AKi8<~OqxBeI;(v)C`3T~FEbA{WkHA-dKY67*)n0lwyIr1er5 zzo>u(6THR94PZ8J2x>GXGM;GN7H;%$1*y5S36w4V+#mz1zsOjNDkWoWn2Mj?d1*wh z83$|K$oX3B+xm*;SKqjCysl$~e(u>d=H#DG#%s~JAcp$udPw!dCn}CCTEgSzJ;uW5 z_E-a7C8EiV+sAQFR~HlQKmDyo`YK^i6Tbp?I`cw~lK63A5M_#4p%(pyiv0Rp zxAbXry)f1ZX5Og4F9ERjoWO>cc&P%pIcvUY2=w4&?i-%goPjq{vJ0bPq+W^onPPpsHX_#yavN>RqnozC& zIXrw_Se%oxIXB$u&#gJZS)~-#?zo|{KjgaEmw_{{bLXcC2cw?&NB&S9k-XHA2s9>WG z21!&)%Ko2RqN8Rsa=)&Lqp)w3!L-Jv#Ce2Q6Tkn?@xT5r|K0J&e(H}O zufOscU77pz`09g)$5(Xw`ojmuM~@!pQ2qG$L=N~?5BxL^KSubIg;8)?gsW>g`N0*o zJip)>h@ThAkl*=5_C&u?0Vnq6V>7IDuCWrxK6Z7C6E?ZA%^2&}5ZQe_iFi?;R(n|| zqhHm@-?wz~_YGZn{5hQfe&^*^j_-U?zioW)h2xQG@Q|-(rA9j2(vvV=I6Z&i$u{eToB$$bL!z2f|Mz{6YpkK$yZR|S42$*95yZAKL z#Jt{z0s?4s3b`_fops>?N0{Za6({#7{MMF!*3h^(S*V2}rUpK-8E?5pQm@zknWDaE zj%g&YmD@Gi=9Pnim$~tpCa)+KA9~&Pd2=;aV}x#vV`C=ESSx1ZZ)C;qx`i=1o8A|z zb57z|^6^`~_TX1e#yjO~M$!7j)8rr>l#Q#pi(Y_UiHN*od~-`|*5tLy-P^~Vx8FJ5 z`olkS{40O;=Z`P^csCoUUcZWsAHb{y@Te31p(;B`nWOI#P@3gq)qROB_cSU z>cp>p0N7U>=d0qa@P^mHKC#SeLB}aES5%5yF9-d#(}d)Al5{+H`_5w{|u&sr|0{ zmyPRd=j(X&TKjy(xFiV2h+#4H6LlUZ_IP3v?X?ZImZ=uDX>r;QxvF-dFMs*sBV5ny zFT+(V_t7rGI(BSvjLTqT8@pMzaTFib;WsGMdo1|L`iGVA#afns z7N;OVrs(L3t0Cs%b`XqVX|TvWXE2U})pTpc)w-(9%%T?l~zUuK4B)UCED@NDaEPE#)-Z@BlaTazwpCP)292;CC=Q4gJ0Cu+1C^fmB zpUBn>Z@E>MC>vX(S!Y+mal}75Mm}z75X)0nJ^d6Xn9HE8c5axO&?4t;){PR}Sqo{m zd9pqCMaOd;uMJ{{m)a8`W8#c#<_Tr_oar-luZ^rj0-wk5O-*a8-fKSV-z)j-zxJNU z&bDx-W!;dc4vAYiyQWitfrqd8v^Q}4k4)5l0FO$uVt5IYX1^^wqKWHrKM9|(ctoe&#OnCQ{ZP6V zjCE`N=9iD=m$=V;(cr0T$EI*xaE)jBxt%EtFVRaki)~ymFrDopE#srRM3EnnAU*32 z64@C)E}0{bO)wE;myl-m4cFruyTyFLav_f&^rpfI?K)@&aV>lv(AKGuqc1<9vOhHB zD=rjQ&Fd{0nrdAW0-c80iMy)bU{+p3LRSWhMAH2UM{6ul!n$4s2w1!Dm;+yc?QHfb zWVCT+E>n$#y2c)$<{b=s^_6#?^_G+;@#fiW!`r9hXh} zY_R1`rusiuF*U>N-Ot}YzVJPF_1aN5)sYvA;8zU=GLz)iSfAzN>-IR?^pvXxI3vez zuB!7%IGtp=$=O4_!59CeL0p>Z297beKH~Xz@`fK@EmR`v46!8o_ZxtYiYb3&%vLez z#tFk<8Q3j?*vfJ53$|rn)<3q~JaHF37$Qf5Y*6Z$w;^?Sh(^4$Gbj%>i1vBdkczd+ z6{}*N-07oE&TG9ORkL0g-c$HUn|m+l4N9G?eL*L4pX$v@EtL)*x?)Bwd;*+Lq2J}5 z(|Ntb34X_=o-1)#Bi1VKL?mL~JA9z8X?{a2U;p67@zrnWD;A%GU_YL8OuTL3%1kaC zFSrl%yTxzbdvd(>#;xPFu3TpS<*TXjNG{ZcjGro2K6t~?=gPo;zezAe0obC5$i7B>~CSb79C4^#H$GRgH$0Kw5 z+Pou2iEVvbBw2Y#u{d&NJ`x7DyR5aiIF7qvJly+YVQ1D@mXhPc9tRXL10BxNFry-g z2V`QYz4Zp*>p2ab+h|1`+tj=MVyu}R37h{K+dsO-+2gF~myg7D9mrbS;aulUN(d&nT{Z+5UFeGqTWbYDEy@+dipWG@DkTy+=caa8 zI;RcP99MiYYxLOVilF4ce0g9T0m3xRy$@;zumAM5q_2MddyoI%ul(ubfBc{Sr{j+1zwtMYC#u=ms2i@bp38pb8{vwvYhVrs?#&kS%+;A!TwWXI6QjK$pB&0b z-{YLeI5C|!8pZ}8lG-_Qf{zd@wbN$JCPCXx-e+v5Z=2VMS~S+-l;F(Q;5wfWBs*gR zko#DCIY?VsqXl?|zuKj1Hc`MZsVqOu$q3?8GwId#F>v-nmt7+pPOSswXzFcJo3LuQ(*JKiK>Yf%5+`fHoOfn<{x8XA9 ztexe&Cf4nauK0cP5B<^Oi@)&Kj(30JCyzH@eeHNrIKJ-Lxl;q&>p0*jbR1#N#R0ER znul|%PdhL~qwI?SIYvF@tDkiR@J+sHz*@7}M_%uceq>zv&xbs8y|BLdOP~J`9v3+= zs*}X}Aj=m%|2_JRs0YVC{2Tw^c&uZx>md-hZpoe4(Y3GMGACxhy3e|R!ei?jbZU;x z#l=W0!x=tJ!2neA82fF!>ySe=kmbAkANm3kr>sp7mej#0=UbkDa-1bDvkwuLNXAEed%BR=t@ZG_pLGC)O`GdAfjBoQ8e(yKF14dCo^k8`Jgj5c z@mGo4Po0I#F(7gcCLdI^;JcQ=Wc^P4tvmV+;DQrqJWxCrP|7@z7nME*sjN0#L>Bfk zMG#A($yxYK4xLc-J1JOty@|&#?s0?LV?X@{TkgHKE}rbnLu_!U2kSf}$il^|#GbpD zOC+?6!k=wpX|CD9gF{Cva`iee`fnDq@?dR(do@St5qE~>%hn7h@*2vUQnFfVmjB`6-qA}LOpU|>Uxk;m6$9KI_un;^r){Y)%4=@_;Cd%bO_ zU}Bq@O+{mwHXEZk&^MLZ&GEqm$n0wj&oKhx02W^J7(f2ZkPUXUawq=aEZglw)L3@@ zv(Rv5ZB06xg*BHp8_ybJs^)kwAZX7s^!`Pa1{bBam*$5 z8bj(7yL~&z;n+2@#NWPiZ|ajjYqg#Pp_p~H{fb$hYy?RL*6*AHSjPnOoOq8;lJHO% zMk8M?BDNeAw}ED0ScFG_}tg)68SmzLvRf zowiskLkC^RkVpPdZ#>t}}`0mHY=ihzhctLNVu@-rwEB(Og3M1VJWb8wvlTD9x zh2>*?<*u}PSBrBnH}sy^4gJtCV@&iunBtl`57W9@LAt(dn%M3UR%et zq#6*vag5>jEGOjlH_j&eyqP8{>H=lf0iKMB(SFb|Fvy!3Z(?dWH_-U^n~|~`i-1u| z#=ep`h}jOetwDp!Sa7dn-+07gH0qiWlBoe+Wn^ZI(YVu9v0VA76RWSk^z_jCkjE{4 zA6I%`AuY381P_)23HL`$IaW|_8Zq#OL0srJqcr!Y%5{bALxi$<@$Qr3t6zI^yvG%{ z()+2cY^6=^^3nT?qnsGwXNV5JT&Vf+H+8c5)tkr5ujS-3zVg#_#BD~3+6IvXugynrOFu_mSvePu)gQ1>9S)$EoP`P!VrPg5mez$Uap!)gueRb0J zf%2uE{QmDno0ylZEAH@a+rP`^<{M=U4z6PneZHa3P+-pu7WOQ<9 zF;{|V?BDO@WUqe9m$TkE;Tzpeg42I!!jgRuS?V?}#tUnSNj>5{F-0=_Fr3R`@Vg0C zA_7x?8Zt}w%vb_ACm8$p_{77OxWXIq*mw;tn8CymjTP%fL;z8l{Cka!Ja8lJV~EQpRlX<9~6ll7zgRt&Q!pNgbKd8c1f9 zAiWOR2-ia+^0r{xpz}_)$+ltRaesxY4qiBzy9Q%_ZPT2HBCAFw`NL$7eIGBK+?*Ng z{!rvLo!RW4&>*;Ax4;{Ro{_lK5V+gcb7amj%95^lE^A?m#lS(ee8M$8d=B&j$%7 zF+GUsWUG8|Oy_w*GRSii>g5lxWX zp6Y@1rXEf_mR8<%(^i}h#r^30Zyg_h_?}Mwesp}KCm=ljeyAru_mt-c`YnnF`iYdU z=*0GWa`~~Y();WS_m7u#Qv3sPeJpMs$H|L`{PfEkg|0bY<;ru+1V^8kq;fo{+@@dC zQLHRA&;2%3;JD#RPm?m!iKBPEENuc^Fo$CR>lsn zw2d=efmytC!3r4$G&N4C$6*T#7;QENVomtW+nA+`?AxNIVt z*gaXw3u1>eF$obK;q7m7NN(0jKYg+8b#Ky1*xS0|_l=+YL&ul?i@$oj`)_dK_f@^N zexfV;^#eKBaf2HhdgAhPS*e=BB-eUe$5rWw&$X0{-)R5B_k8~Njiw0a~dSH3(iEuj}#M4@EqO|Kf!MhEovE%^$v9|LHw1ZSACsU*Z(qGjb?emopdB z3>F)P&Z(0vu*P23owu)?o}3oND00lode)|4o*WF(djJ3+07*naQ~?jziltpqIKDMY zPWC5f<%BEaGtb4e2K7^Ha$nRUFb7FY-CVzAc5?5ruNXF*nc>iVpXMB%iDUd10Fm1B zuA((&(3!ZCFWSazPBZe|l>^vKkf3RZlamL5yoI}ZBG z;^xll9LJ1YimC5#;wnDv$vZ@9nIH%b4{61A4i~NR&a1~q{RJtk_=+!X)f6u0nstgi zGK(F|_=MZTNz!Bpn5&oGfAo_>{ic^NFk9Bl6R8}>*aZ;g*d#CH7m&p_J{`^lqEyRW zwB&;EC1K*0kpD>{eXNKj0ZhF#N7M#3HL4^Aw${cjhYCdNF~P{ZEWzHn!zRjzaEojaLjM zmL&d77(N+c)_lrYTY6eh9(tBhc~VEq1h;L8AfL9lt^*xCK5AQkj?4JyfLd2xbhCqk zU3nNcc?q(g=!4;G8k>Jr_vEV`D)=&5Eldrne?O8eDZuK&0P<#A|Fjc58!uFWB z0?<6^pM4cTp53om9WN;`=K&`i&xvV41>k>fTgV}qVD@!M%<^Ae${~B&1&=vVjDO|^ zj&mD~sb4K1m^o&U?M-u^sDVc}+%h1ZXZNibIyAsR4|zK5l1unvk!^Gu+x9}UCb8XP zoWNGiuIvj{Q1yF~WfZ@u?dd!5TUT!4ig@)7l}(aXpSrtFgd)ZAyPLzawXD$y9Bam+ z8+&|g3fpH563mGw2gkMX=U6cuBPXuxPbV;TM2~|l_K|c+u^=2F7^=0`u;#q<6X?@# z-8|m?-7g=n>NjF}v*~8eEXf4xiD6?%y|SP1q}eY%^+whcU1`Xbz?_HS(v4eua}-xH z2;leMH06CazIxd2ziI5>9U?YjQiF@Hiq?B*?#ThHU$nZ<$=zO^N`1(UzPUPTY6r)> z;wF1uCPYeB*u*V3H*BU%!GaoBKaAvnrZWan|}{ z6;*rV@y1*Fg!)}Zdb2{8A+s*tcd(^llj1l=_AUSBt>kx=+Y{}7j}+4fALjv+9gdjmUAhVdy)A&AJJ5Dr? z8DEAa*I1le(oGs6NFLG0uHykBbO4cWVJ*dO2Z}ez&Ns@Gv=1mb+3Qc3@F|lyAsk#| zCI{lvoVqiCZ*#yf^9mDOu*k;NIL)^@S=V(oNqk`2V^dk>rAU}`%hn^}o8!l+F=RuY z4CTyGZ+I(=nb+`Hj|m_7WGPZ+GS0uOFA{W=sh>143f`JHBlW~j-SbCmw1jo~KgvDs*ljFx%myxdhXMuR zl!}~n^S%w-^2ls>g|E!G@o`~4kq!Ogvt5mG9!E=D{3(#6J0}5yuMNF)u95Czt--P- zh9RtuK4TOVVA^mkgAs2faz?V2=DaV|+_>=-SupFqBL1wUw8EK(9>3U)Bd2PDO}OUZ zJy~{4lg}AxQwegmHDuax`wa*StsLP#P0;bU$?xC(+kgG9AAjzPU(y%B+&I3W2j{Qp zr0mB!@%y1q0PCt>o%sDo-`MbhWS{7ysh={+0Uz{Ye4eb;r0eKn;EyLUs+o9iaQt`C z^mwQ74RPJjiC5qBc;OF2Ht;kxIBSy^~BQnk1-067~PxP9%V~j87CAoi3S@GT0r|53q zyLWu=7ry`a$G`ITkN1D`x2LA~wS)0NE#?>?N2!hGbs`<%Eet*zQzG*geFoZkxZyN( ze8mL0agOPxUwnflo+p%4=*o$;=J7{hHtV>MdMd~1d+ z5R+MoEv*vk@F&^g-N$3Q^jBQvnShtCYc9W6gx}h$U$KY;ahER`YLK`Zqs)WzfE=P{ zN;6*j7{t5(*aws67}>9oU*g7&U}(feKeczf#8f@HX^{zmfjVQWY%d)-+T7e`w>I|Y ze3>Aszgu^XJ8!&sy!lfu1Mq46mzn{}+GueU1-=@jvvzYlDF7ZYN#@v?Fyqxug54SHqR8siVH!)8enveYHYj@%o+nN-2SvEaG7u6gIOFHXkxp@ zK_7tqV(;k%Kga7dn*pGegP{f4G^b}|8-Bs@N9_7rVQA187Vdfg*V=c_m@fjU4S|5K z%>=f5Ag{+6pI-rOJ8ib02)0Sq2PN2fz=K(T8utMV$8Fe59u|QIcik@hHI}h8hYaYk zZ^P#F*&<(Z8$Uabv9htRlLqEc%G5c5nZM=B^OiB%dcxW-LbpUg(DuBLHQo#N;EaA2 zA2FVa7~qCSb0YScJZidyH9SS186YP-KkvTbhX0bJPHtU+Zt&=41@+P0Syx0*4@cob0^)^Z_QX#z91 zqP0o-`U8u+^E0Qgq07z2z}K7@&-hYXqXt^rg<*hh;;{!rgRjmo2_sK^h-=j(p-qw# zrvnRjhUdQD`v7v9k-UeD-#)f+eqVJnvL*}^%t#e08>|I_}oiK95%^<%bxMC^L67#!Z@F+SHU zX618^n_cA>e1uR;6LB5l*No_0z(A#@M0w#vO#qq0WUd!JB93e(OP2lgtf%(}J&7j9 zSc;OrkWZg_nuN^&gIQ7!kkvK?J{^~uw z2t<}pcmt2---&hXHkvrIUphbDUlQlzhkDD3lZ+orr<1>20gNM`u+s@D-kyV#csTLf ze8KRC-Wc`PO`OETR}?24ZI!oANUG;eGVJ}PnN^InmX@NyA10?gwCFj;qo>7{;*!jK zBb=Ad1wdpj@NR;0k~DMH8qQ!AxunSXUv@Ii{wtwc<+hg(?>{yfqZwykw~05|zZ$nh z#zjvm+{o#v4kpz0#)ta4ulu)-H(%F@RlQ$u`}WP8Xs?|D0nZh;DV&US;`I@0tlJ%? z4Oa6<+Q%QN!1{tPy#f04_}15-9>4LMdb3sQovi5FrY;1jn`z`Hv*Of`?@z?>nHL@% zFTZljUr+9fdt?*~^*W~6$}&-E;aO|)e5{!7>m7~T`cT40-_nN?-qRH|Tm`Ki=9X|= z(WCcW>?8L!3owoP^ zrQTx=*{@+B#v3e#0_SU;`S!^Vbh(gE{3=IIf@gojz((c{=M0GimALknsrNz<2Am8t zIt4ZWr9fK0bvbq^2P0 z?d$ZC`-eO@*+RNj;4)4QiGFPrh-2Bd*O~SHS0s$F$%yf3qufTBEK?bf82My|C$*5! ziyfodmJ#1mt+C3wd18~;J9kmW{uepTXCK{aJZaW5 zakSoLF#n2i(ndMNwV~%m%U4KhAc5~I9*(kOIa(z|HL+-PHaP7lEQUFjlMBPeW6O{& zI`F(}Dv+ORfw|xSNgK{FbWJ2e+87v(TEl39z&@I+J@c&rmD=mg*sKy@vNb5l<+8C} zl2m>*PHeF-{}|h5%N&j4S7b{?qr){1DS`qU-M~xp<^!6mEv&3 z?)1sL&zY8P<9a5>;XMPF7aYN(zmvnF<>=ho%!t8IjEw>%*2J8s!&Tf+$q#Khjq0IsyFYpZ|s9$KQP8cuB`^e%JSX zo%sD&CxQ8z=LdT5dZ6R^1HS%QJ&#>n^~+=OBW>u-NL>8uMxs0}yD*;4>nJ@I@R|ud zR|((Zfl<8t9Kcf^GgebFZQz|;Ylb;`Zj$k*Au|4+i09GAy6RU~{QBhYqfh+U^hhV5 zc`W9q2JXoBC-VJJw@1qJk>b)15$LMm8^`a6Ri{<;yi31_tdp%T-@SL}vuXa?Yki#Q zxUVND)Xm@eLln~8n&(pZry>5+CCP~g0eAw7$qRVM!eambj!}an&A<+Ck)&I?vF4MzMG*bd1B%xWPhcTJ^jRxS^|LZ@=}{ z@#atb)bYcA?XMhP`l)~Oc>DD?j=R#`(Wf*08b$Xj_V`3gJ=?5Lq{_FIGMCzj<0i?Io0ZKKK5yaeKgbK2OtPe51UNVDyvF|w@I z<|SVKc)_W*I5hSCAYJ6GqosIMgwxHWMSH)}-MhyD(#)b`gujrzT_9euNnVN}S!MIAv6r-B%oMu1X_#d^N_7q2`HL z{nB6Dm`vVy@CyJ5{Nzo##D6{^0kign`jd<&@$6ytWCt8KvzH0x<~Jn0(-MRJBoCKx zilJ|$nj04I*O6%vqRv){or1&LVR?8o%Ue_00^~ z?9)rXd3lblwXQkJ0K8s~5zc8=O*I&I-K)00=3u~O{K94Zl2^>eAGwpH5A0|nN5m*> z$dem&SzNpuMzj5JV`qw38euZc>BX2#3<{Tq<-7&wotww+|2?;lPrZ3pZ%px`2Pd+M ziFsJ*UzkLeA)CprOqlOLDmw}AEj8&~sk6=u%ViUC9Lu&D;Tk=Gmk@WBgE zZjAj#A11o-JG3D{K>gdBbn&!ISovyZVR`$ne*Cq9l5xV1#?~d%3*eMajue~S4IsY8 zyH1>Y`5c4d@TWZ{9`Mt`JNu}-xKa14v%gS@}?yx zM>&S@d(U6dJDk7%&-Es$zWUn^!O>j6*5b^XJgo}Kc_Q$e8XxIR(~oZ)Z@sBEAzsrb z+fmHA_&0&&BD=VJlc3bBJtw2lYqxex?|)Ta1Fa7v=vp9s#iY1(WB<{Ya)_5WxzxY5uEzr#8UY?)~8@cZ!W~muk-A)gN zh-~?{t{COug~N3?+f$rKM5p5kS10+ao%O~$Z+3I_l{OmF$LsRTeB~k*#_*~4eP@_i zBO(oSd7Jn%XPf*d2hHP$dB)-CK5an!Y2QmF>}3?`u!$Y>-M6G7_RY}I#hHD!X3H*4 zY!f!wV8%^4Oyg^6VBTzi0N{@{%W>j0a{kLlx#&{~`%tc(hiSGGH{8uB)nF|UZa0I# z%|J@8S*P^VkOOpB^)Wq>5VQS((H+8Xz@EnO%UlEv;}o_U@n5s__~oAL`$$=)#b&0wXyEl)6IdQ~kyhN!Lx_~U-@UfaL za&Gvc&6v;;2v)#>vKR zgEt9ADT?cH-p`=0lgUB3)pwl6zs%jx>6U!K!jAnk4RJ%OEkXa2Llte=OtrxUpiFt`0EHrk18BzBpc z4JC#tQV{ZmfBiMq_UIEmCg?NY{YD;?5J1vA$cz(ZOOAH@n{R4TKMQveBlX+brUSq0 zYG0Y>^5NJt$^7IZmz58(Y<$Qsc*ZQKPG$zri0Xv7{UV1O0l2v#woIVL0893*Ev|tD z3}@EN?Do4nZ#=Dw$Q{JQM;z1ENQ3%qJjHkpa1v>p=+_wCG|R?E%~0ReZ{*&2^G$u# z^G_dN`uU$b-qnfUmv!Rzj_$v_PPwfYO}vKjvvJnfH(pJsF;+9J#>Bc}AGHw{?wW+X z_BYdpv$5aOzG0H?nW*hcd%sQTRPC4xX+{_-{;vE)okyiw^CZ8%^0{= zb9Cr->7bHL}$mB@#}{uw8pazrw6 zb&k;3;hFJ{V@xBgw2oNlDNHrYK^B61$}pPcvk>Hca4CPE06AZiB|iI``R)WR+!)V+ zZ{lz)A(d5jyj2s!CpcryabsKeREn+^UPktYgvm6U*d_u6X@d7kN< zXFzJ01*gI}OVN4`mEs9c_nvDPJy!N`rn!LQsB5ZHc1kI8n)UZi^$_yr;(i9;B8}R;x*5S%E)n% z)qh1BtdZlRap3Db_Ql2_tR``?wF7peKxh3_!hFF?JjW7q8zORR-P$9(gq)5q<*{e) zTUV7sZ<)CyXkCjT1CImFMNEzxF5Uv4+lMf&13cwYPpi3kz(pKh*(YjSjjsTLH$zFS zm@J))xyuJL@ys7ayM9;)J(LTZIZECo=TBzw1W(T3OO1#TK{GgQT(>13JDkJzzB}1V$cGz?}CgG8ui+<1aDbSz% zv-)kaPua`IX#EW7kwGvfQ>vf?+a=F_8WfeD|$F@YR*dy$1MS-y@=;{$EMU? zCttav*UaBt{uPk%}2+FoXri3`ox%cp#_Z*J;%u8>%h^d zo*b9b-qS~qU(}ll-v0EBpKZqC&aoqfTKyXzk!8qfKd6s3egU0+G@hD7 zs1q}aQ#YgInZD-v1Lbg^3%^_hR=(VhbQ(vF*kC=6pVNE2sk-FkU;*2}%E>BY07GZm zfyEB993zXyRwo}e|9{O$W3(ezZQO?Qb8SGvErK^Xld%tbv0Z$` z7oNIyi6p+mJUl18l}t}8JS=H*89&YgMdrzKbP*00Y-%EG%*KubvQ8`;rr7CWXr0S( z<|rjG*iB*#24m^8vpvIU%)vBf#IfJ7R-XU>AOJ~3K~#~3+x_H5T)Xu-$AT6KBRD6B znW2-&kA<)papI&tpWjr6Z<`t4bu*858_oz^M&?Ku!)sZ`%Nj+jD5lNWc>rj&p|qWg3Gq!x8sQ{H36zt3&Q0-{IZSzC5*l{7B^t|a;$?L`peAA z4~-8t4LpvKbCLYyi9gIv*)Z2{IYpFXEpcpO=ZJ^!#FyvYiQmf=cLwDC?G#Wu6G-dO z#cJ6ku)cZ7*3a(}k7B%9n7U}d6J+u&IAtm;CZ`#k;E*JyQgJcjwO{$`$0z>UFCR~C z-8^0p<}8ez)BQUaO?~lH_w#&{2oJoyh{~sFeF1ftdEQ6E%Zf}Qr1m~~ zKBfE2pZev(t1iy+7y@?#!+xe+*G**~>?{*8&wqJt`AD3{cfO-Hlj-8GF7D#zi8kW5 zPdN3*bIyEUV(o-Q9QjRtsGO{>1HD$18g9`%}$%@1)+7=ZnCi zvU%B0()T5kWydHwAsTp-cevAC$$3%bL4`;(tM-n#SX_&2}#TgOBF zhI`+1i&+d$57_MWjDvHJeyu~r$QXw(G0zx{bxwqlve%eVdFpR*Ptjr`qz%Te>$hCt z)f4-ev1R+tu>@gG_wCNW8i4xfw#V2ym|ON@EXH5y;lJ9jTZ;`3+XXB!VTb>VVuI%128}NmC>ry+ zV}oQ`a!H&Pk*oereiK8#cw#CPFUr&$nTE+Vl8$ZX`WZOfVNXWkz$$GxZ79hU!EsuJ z?bx83;W^-r6`}U1mp*prh>gbBHPf_OuV-x}tbJ;0v$eyXe~js}jbKpm2T!zK0}YvZ zzmLZsu}p}J3Tu#&A;#9bC7J;Yco@QSw(-gWCQsbBIZ6aB?^l87EKt z`t+>h+g&ksOsAt$|Fr6_^ zfza<8{%OfXgP2>!4m$gVP%VCk!(OnJwZk5-HZVFi+RFlK&sScS)N|InzV`dF*q(8( zoHxGaZ#Rzh`D3Vl%iXzyA{Od437_L?e?UKVc}_bufY1JBUfd5dt3E~7jDoAdlXz3d z&`rF8xQbE@Jm!H?{Amo}f$x;%zI^zXJbq)`G3Ma%@_9iew*U6RJXhn^mH?M?aXB9D zv*Rf_0>O`jmTNF$-Hl-x>eG=q8EMN!+KZ3Q^R-udj9E}M%pxf+;vo(h**?dn)!Na2bbRAQfYfr1X^Ah^WnilVFaKWai4PxpOSD!BjOGeLvQ;D2 zb^>f~qp6cGc8Ou8MR$y2poap_LFN(!j~93 z)_JAli7o(Nd%%f3#U*aeW_9hXm&g~hbfya5KuGVJF3{yus0cKdj9B8qB4Z^U=h68S zBMN|9cClSgMPMOv_*iy0;qXOb^#D9q&xK&trFPayiJlW{CZlW3!81jZLZP()8I5&1 z*SfOBv;^4O1vbN#`zr^vj+yAP=ERw~Fg33I@P&7jl0DSL`1|^Sy1ROp_=_*=g1;`5 zKD*5)Oz@+B&K+=kQZVVB>H;z66LMVWLL_S@9@ecVWvMIQRQUb_{SNSdczAqQ{H@`Z z)r8nsOpxQKF{`JMKHNILYRY2&B+8 z#|}T}2ckjZPOqFr#w$SL;1k!(9_fbjffB#RS6ZuotOJ!i9P7kj!ijAipZKETtN~ka zW!HG^x7Y|-Kk{46JSMb=x+HJnA)-@f$Fe=;VHtN)fY+uw0>0+iSLn6qeDc>$If*6{ zZ)4WQejP?2DmkjF=v%XeamjqTWF5`W?cQ{M|uzTCD5 z#O=&rc{_tleIRk3R4PoX=5R>u`d3G8_5K(6b4~ihIRpa$>o~_GQGg*1eAu-{ zX^p|PMZ4Jhw+O|>=B%J4ej66!j1=s=i->>5?Hzxi%f&III`ai z&ln1s9!%r&SaLE?ZDi~+I0;)AyKaXeL3ZA@f_3EUHpwi3EN&5-I-b_do&`;P!jI`b zXI$#bP|nqJOyf0v;yH}x*j$bz@j1V`m2%ydQIA<_Gax$4$G67j0KW&l!O>?EWa?rP zY;|$-)qnKA9iRQ$SC7}k@uILi?tWa)J3zm~_*%7LN&sF-@oy zM#Qa7b7_*Bjh{u~jE~P2OYf@67kJ-C3ff#Kk8@W~Kv4LCmgnqrd~~cQ zd+6>cu1|jTE5|$E{+;8U|NMupWsm`$>pgRk$~BG(uumrVj?+pt# zvM+O6YfbVQUy`ibExxGN*4x+a2c4SbgEf9I)^#kb{cG+TVQX0d;pyy*h*-~7em+5* zGEEFX#5d{1V4IhN-W&dD69c@KAol`{U*xmF?PCGpg(Ha6B!^{>tBS7Cir<`9Y&7*c z5d-6?Y5UgCIw3pn+S2onkMM9inLN}JSKALv0pF8{u{{QAfNma$?8P z)FJ#tVFLG_!G)0;^w83~X}~bJk!@XJOJsp|?HP#B_T^D;{yJs82o$&eibw7|B_Mv! zi*JxNj&38`NzI=81ui+#kBH%_+Vlf;ory*B%Ar|>^CY|Ko2%EP&#@bO@tsd^{_bX- zf!e=$ss^c|a9yBjxOp09vL(q{5ZFo@rJpTbM+kpQ^d zwORh?<1m4NOG`p!YL709mOvTD{PX0-tdqFNuNLL$2yV*+^qeA2Grha5!>bg;?%_3q8q*y z4B#!G#^d^lggFiFvU)E0zV54bfg4*H{McXCYUuDy8$07{u!*JH-8&{^Hf#OD4=%B$ zx1ISxt2vg~MsV)CKBoi@&AjDKtGfE=oPIo5-W+X+cp8&zYHJl0h)Hx1z4Z#fAS?A%-E&<8vzrKNhz)#!0{)R97#@b=c zG>6Bw)>&XmuWKJXBuNG#Xnp|WH*y~LyE24o9Ydmk zWi?IgYW&&5jEi9kWnbij$&0&DEPQX%@j!gx8zxP7!oTVRshNYP7Kkh!)w+N#VNli1 zZQgaj2swz+d%iqb?%Q+CC84#>J92S|3w`W1ggKfkB>Z0zU+|9J$09KDBtACcua8iL z30>RRFs+?yRZI$#7>pfG@cQ$Sx|OE1I4VVC0+}lce0a?_|FumnrvmKC2d_gM1o5C} zyMEl!h1XBLb?f-?pML4Mqu+-`T)&2x4569?*aqX^JZ@aRXvc{!{T?u%xYYOVic1%( z^eR(gok-KhtIOH0>p~V^Z<~3J&${y`da;oJDolXxdEuOu2S!6(dat8}qgUX#4}VUQ z#f}qwd7&R4!b1c$-P(IDp4PK58IBwagWAt@_;yZ272AY4#ohV>{9Kp7H$79HhGL7~ z=35RENt5iew?}dCd$?SDfAiJjc2!_D?t#b-vZt85LVT0UQozEF03`IHl)U z=5|GYw$zcjb9~;A{+9H7h`O+K|782&f^hiZ>Kf5gZ|jVKUmLd}#mHA_-_yr}?&*`i zeC6{aUBtG2_*_da)Q2=ZdyDqCPu1lJOmZTD#^nW*oH=z}P4ly5-1S8M+}Os7SR8)L z6ULv2aFLa{7ek-eqW6h(uY~K4DqT5j4foKu?!IY`$GS$hd9W54ExIB0++v4qUxP8fopB6e7u=xT6<^Kr zJGb%rj4=eV*y5;NWu4dVYM*LMO$;8+L>P1U3CvC7HDAKiw7IRs&f^AEd`C70wtyC$ zZze-;+3cVT<=l@LuaLY@QqCL>V?D1tykameA#$6^19y)N^H1?Biw$Xb`NrPwK{IBZ*@Y`SiUyo0`{VB)miw!d7(`kGX_{C@X+GpMGU(?280-vINpx)2X z#G{A5X&R^oe(oV(h`T{dee6?0fAWrc@#IF03&4qIo;ypIkJq4uCGqC@tGG!H89M#D z_Ij*(_Ta(s;JtVBIQ5|(mvf=|i7pCr@z)obaY>BYo=jhylUEVR8{K1lOU^xQ*Y4gu zUe*(qKNkO|bOHF|y2zwoywEp%=xe35ao)Sg5lyh&qcic8uR?4@!|vjJbQ2K z@hcl~`1PUmWXz+BFHos(LoSNQ8Tcz?_3bM!y?DI&=DjNFbH+ga#cJR@{)D?W#`C6;)D z!Sks)?HnTO%kwU;^Mt@$7kKZy{@U^BU-&D>m;aZqA3yfr>ca0^Zyk4Z|8-OMNW6)f z+Y`@S;ps)-^L_}ArgiUl@G&xa8nwor-b!|w_?SVajd8XUn>t!u!|=2&6)M)}v5|P1 zt5=a2uCyK})qr=t!gXxjX3Nke+Og$DxnU7wU%X+;VZ~Xpg%K98nyIjsp!V3s){?

    jFH3$id6sM*KZGvB|1SV5ro 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 z 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

    dX`d|X-=y-jYSRzmq4Yc2JzZ?t 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 |}rY4TlHw(t9t( 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 ~z^->Ka*5 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

    cz8hVF}m{KB!+(?RE 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 z zvGb;~4HMD=C$FaW1>uT}?6eyOX_j^hzvXNbr&Cq`-eWU6gJmGEzUP(kqo4ZO@u~N` ze_XnBv2G^d^9IM2Ni$Fbzi+x`kYUO+aWK)?dV`aPvFgz{|3Ns+)mzxS!NNdqSj70t zOgC=wT)NhoAm<0_QQ$d_s!1EHU^(s?uLCT|JSe+3pi@dsCF$G&`D>Sl6A4G&;1 zvc%m-{_#H@FTeC65AeBx#D3#N<>%pr&kZ_$>QY+OsXEC|Q@WnZJ%Ie1uQo&-Oq-?8 z@u3|todIGp#_W)Rvf~Ue`e+5M5a%zkB%VH%bHLUca%}b6v$;7Ij*PRs{p`|Qj~IYB z;9JsrFTTnQx);VFOO86Dn7iY8XoM{X%HhF4b}3MLc!o@_6yD|LVB?x!-1K%6s*o zEAdliZPAD9e&|=Z=-n`msdFb>Ol;3f}r@}5Pwvobhb zG0XmImb)=QlZV+Fft)&2l%+)L)3!o2lWtS*JJk6$4=HyJZu6j#C9nN<7y}9UzBKr} zd_Y=*N!Gc+(;*B%jy|M4BG1{s9`~EF%?cT5r(@ju?px!=x8BGM;V>6BSp@mRFDfXB zVjC14v+QvwucSpFJr9V2Kt^yN`Oh&UAvhm+c`VuQ)zZ!^5$AXZ1H6o%WO;9Wlsr=C zTXl!SBR>a$Qx=AezMNoR>+!71>7!-T0$|$iuMAlbC0xq_lF0wUN4HsRC;|mcUkhIS z3q;T)PX!kYo2Z+#{m3Yq*io#dCAd1~l-;`9exwOrHrtOZWsiImG!(kxH7`*Rt{dVmx=w>d`dGaL9d27zDMduF`MH-WdA42`yN+x`d7 zeCTeC)a)5+rs~D3OCLx}V?Cwn3;|ocq%2(5tXpNIHUrz_q2WKgMNU6qtstF&2amtw zeSXYP{*hn)FUPener|l{ORqr#1y3Ps@XhO(h=slao_=ov)m_(Yg=^ZF9S}Q#`7c4% zoj#|<#s2a-RK18=+6%-WH_ua~y(94o1F(d|cB92p8NBV}B+@(-Qi!I3B^(w4J?q!}k5vC`aD zGgIL^^i5}Z8R8W_JM;1nd}LgCij@|K16P81;Vair>f%_^56`3NPi)Hx4eeBz?Nw{Z zOV=)>jSB~m2pS(Lih24|eMAJ7i=j>#-P7DiDY+YGPT`;^9p!3NgiCrh{fK?jJc`}^ zf`1Gre>g)I){sS1F_a=|H*FXB(HT8eM~A$WbjZ2j42_Q?J9OIo^pjV{_y79e8Nc<< zzda7V`da!(M*)vG9=GT((l5}rE7zg3t*pw#k&4(u=)5-6Ia`f>kFArt<8%M&Uye(B2Ike5Uygk{t~SIm?Pm~R#v?@~C;#-cPfM~@KwEl~l^yQf<>g?S+Bs(I9`WMNgWLP#@S$zW z*}C{cr$s^?dW=KEjmtLmWnA}nc`?nmKsnKz*~S(d<{7?6>^bLXcig*u#OHJvSmyk+ z!&=M-1VP;g2xM`k)VJ1YADY-F4ER*-)&A0einD)_&U0eAUE|nzZROPU2!C@bwCkp`WBCiEblC>OpqJy;QTW7kLs(^B|B(J0ykBy$k`9oL%FU}c9<-6_d zUcUSr9q172Ajq{&^Zw*LwJBr5N}!VJuNc5b&|{49^``93Phrs?XazY+HbkXi8fZoM z-ww%^yecP;7Palc!CSBjy!j$-I}0yuS9CjCv{J(p9pt>ARf2M-UBLxdv};){W8pzo z>rqnbh>UcWTW0$ppIhN7-+;iHkFv}s*4zX=RVzZ9zUjcUP#0#%@lXQVr;vcP5J#N)O`E3p(=Y%*`lnqLzGYXRKlXO;MS)^`7cwZzSzA|wkd1r zv^KV@qXajNsecnasT;czIwdVO$}mM2m4%Yhem3n|T3A|{B4W@6P;Iv)YHX`0-#6t+ zaVlxrVuBVx`74=N`-N$xIR7>Tlcs44Cs%KA8TvlHgg1ZE;MBq8m5h`d9~p1c)v|)k zE;_onRxa%EvanMDn>6YXK8xB>`GOaE_K_6IFKmWKdy8|UE^$hLLMmf{pYj%bGUai>iz9i+a}gYnj7l%O0@ij3ji{s(H%Y^lW(6RG zimEfKyvF{idLi0_lW__;1 zpaQt|bBd1K<~0>i{+H#x?X6}X4>*JA;?*a|4}S8aOSo24!pYldDd2hV^rQIl-|9t0-oA%U^CP<#EGgJO;N65%P1$o;W&k;eD zT#(qt%p~sAAHa8prGfwR8*h!}TtDKX%He=*})siqIs>_>yM@r=JVJ5KL z_=b&q?9(oJEtDOJ@5F^v$q+4V0{SR4<)@4C^s%Shsv|w)&+tT9ORLnqYNRz))(+oY z{=h%`jq&|I{u9i)28!)2Rm~kMS!Y%0hj&o@n?}gL+Dd-|G_vy1ldN_{y9SgUvz!Su z=yc%sh(QLPjDW{Gbt;IFC?D2lh9!5repB^GdX@w;=01ow-p(F4gzkg~KIdP2@3`>l z`^WjKS0n4d<*b?IyTy`R-ZlH3;5@)5@AAGrOscwWA4oA*i>aU;1&1FJu%%AB zK-mX6(nb9tnX|1$=Wb6Q7;5ExQr=jU;>HLhHJVtnh(Yva+Me2FmGraaErLQGx- z(D|3Xf@3c*%aI8t#y+MqBBYtJl*txxID5jw?yJA@E8_zUU>&|5gD!!>?*>tHXd;^w6Qn}{z5Fi|7l7R@)=Y~TEx zQQ@GNOM=>l{63`1v-z-FzH}4mAGC@7Py1-o2h7~tzt5oW-Rm6qEOX1ZqPHCUkLZ??0X+ezD3 z%dwN4cng~DF6~mEbjlC zVyA%hwkpe4#p08!ZL66_U=<7egrM)Ttn>NjpBu0K)Q^v!`nA74KJn?FW$^c-l zF(7<}I$+?+8BiRjh9Kun>%?CPR|A!1V#9{k8NQsic6M13_wtkDSl>bF0+~sn1O$I_ipq)Vugl>5AI~P&0yy5(YZ@m zUiyeZ^kmgOmSi zL-K{B`r|(S4yl_9*n0Nq=fJ(=6|XJPImJhG84>kqpO#}wwb2MTWt#*| zV?Ej^`Z%yh!ZIrT3^BPE7NRp!_>_?33!TK<$n6^#%JpC%?sp!(QYc%(6C`qjQ!1n#fm zq80U%udhcBcwyiy_5I4#y>a$D!#nh2XE`C9=j3qyJTna$7(T-rgiQM7*z%j6*iCuo z9N($u;rx!vKhrPzy#e!*Txx?d&GA18<+@f&N+A z^xn9C=6sd~^})X5Rod)#iof`cx5k&gej|g`^g=mgQB*O&*R(eQk8S$6#DeT5hLh01 zU|s0M8>tz;=1qH-F0^G+)7VPF-0`-oJ*I2{D>5aZ`ek|bvry&2h1kARrZAdM2DwV! z$cWg6RUxIy$^)(YRDS85*-3pm+0a(IEF;i~{>V^$i7nGCg3IhsbZv8dJi+QiAN!FX z9v}Y2PmfnW@WFBUGM_z>$CIYkaWb_p?j`q)mM;<{HuUSI2RaPRUmI-diFjR>%s*lL zPiJE_ zY5uj*s1&{WYUV7y8^^gh_~s`BvP`qI9Q*1x&nHbDKKb;x@wwk;0PbO~9qGW~GIspi zw>b(2ZPoX*g|hXM`$ON})dFdt_m}f0_YK-bfon>C=$%5^&O=sWdFzcg$2;HqURK>W zmut=pq4Zw2-Uax6=QL&eUrUgWvI?*6mwz_^O$L&e{sViu}-J?q^r^mQByTX(a z6z&KV0|!Y$F4MAA8`43x48|s!dA!!?uhed`u zdzi~FaPuX{^HT=ULnm!&n-sY1g0cg@d%T2sjujftA6_4qAAMu&J$xP5Ti_XBb=3w2 zfYoK6M-m^R(IV|la9xwup!^~Cd^dTC>|1=t{adV-a+g8b6K)oEIA3@vb(?FN>#T6J z&+`6WOYCxPw7#wDv~g_n{=&B4N-V6SF&=S24BNP{!)g<}3$S(Oa9o7v;K9kbe)G|| z!?%AA7?9m(#Mf1nykGV60SA;39~)zSY}O54I^f#PZ~J;(l{TJ;7!@~zNjoOzb=|(# z=-hho)r|3w!DweMb84jBVKFi{^)6@2P*1g=h|Eq8ZKsna%yq1ZMpPL~qD)-L))JF; zp-{_SnT0PMr#Tn0=vdmaV42o}7x~r4G-vt}3LZnY#qL|khFw>BtNw77An0RLl1;2s zq^(KZXA6D`D^u{xOa*${N;$xiS1~RA+83w!kWmbz3;?<^wisepbVpaoEq?9a$O-ur zzrZU3Q;A9W-26*A`Kl6DI^>@|n@vr|*2=dJ@&!D}g_jK*eX&n_t*Dj>P~RS}m!ef7 z8{`V#)K8$YqKp-CYm6V|d2_PD(8P1;J9!k-l{1O^{n9q0lrd>zLnC~-jhPRB_G zRA5y&dW^zjDbp)Sd>Qhi#%{G7cg5h zH7%7TY@x$+875gADT-n*wx|_Q_+*xR0)UKD9nj<}J#tO`kJFWw+Q$azG)_~+=)~(+)0O-(xMUaM!j??o!#{nNw%b(lO9e;GvRmj{pf&_s`zmc9(kBwqFTo+- ze4vjkzZO8t3{_&D?Mhr+8bP{`zd85vuME;Iuzwi(JsQKo(Vlg z7v@q@^$0d$0M>Q2cCW%dHA|yxwng@1_7x7iZOa0?mKP}$ruvz#OB?AMO$wRYl-2S& zUC~)opIV1eDIwZ81!NhMaOy6y-|Q zw6{c5lMTltS;Z4@*;TX^VDQ2N+VII0&dD>w5!&*mWJSq_t)y5kLvj-r`JpLY;hDQl z48mGE3H_aa)D}VEc$3OXp z|NZ#P&wYBl=eZXd$YH5T?qaqWB+&=IthHPB`q)TpBTw73nKC#0j#cDF9w##ElXRB{ zo6eMqJGG0=RXMa0WY>*(#k+1^e6Y>~WN`VzVFz^l`dhv^{KE6&4}bT!#_^js^(Kr< zdxOVK^Bf4Q!9bQJW8lX@u)4FWfuPtREyNBSRlOE>#ozqn8+3qFQ~hZbLSL#8D2*+Y zY#ua~4kd*Sg{I1RT#vA9;!$#jo6Rj|$NtDa`Df!fmRD42Xt>GsTc-Vxq6cF0kTF#@ z=@P+3>J+Vhv(_J(Dp<_cc59({+vFMUh_jrggTK}e6{XJD;2<==Ohx2w*V$qYvU97R zzb$UErGMmIG4|}e^W|~ry&oPY&%BT~`HPRYy}4m`NokiDbrw{<31<6KmIHU2gL%e4 zb1Uc_M_uTjjk8@#Lk+E76;0XmO+rgtc5o| z|A*t`#3Y#(e{N!qSkte*mrEPO?|eg%IM`kt zm~z&y15;ZJ2A}Y->FZzn+IZ_b--Q<`{-+Lzg7q@X)gDSmX_HJtcUdFEUe35^8UDR`yR7<8T@s?ml^oyuD`|1--qd6j-73c zjvZzapJle{HnWg#;lG17Pq7@n!k&W z{fB?se9QUO_k8bo>fP@c-~N-=#y!4uTk;TUX1z_G1~pb&%um+}O|Sz8(Y7w>q}9)k zjZE=3^n??Mo;zsb;g8J}?%>DO3tU%Tc6Rx027sAp&VaD(kQrI$h@aoo&i8*^(wsJP zj@j(Y+S>MnfZQ!-`KFaj{k-%;uLg{l!uX!#(ZL;FM4(;XI%K)^9ex*iA>jhY7=yr^ zMIPeYA=fASoLBA>+wZ<{ZG7%4uaDnv?S8N7bcqQuU$*IEl`S-eeCR3-*xe){ z32EvYx@rQXVHdj*l{TcW%3EX>L9Q!8T|8zJdjy#_OSM1xZ`#!&V&b)l5ET7P16%l& zUG2hLe*Yh5Zx*cEaozXz8SXuI25>PE06_vIK~j`J2&5(sk|=7hEX$V5ku62EE!vfG zIdPR;Wk;@xouvGbr@SVW%0tR=B` zbyc>nV3vQy(|lpiA-K>eFG9j>vaTlu6IZaJldtf!6KUtqda~7c@2_q)?`QXsyW_&% zwQ+9$&2e(~bv^;{HqRGs+s}=teKvkw`ZV1DAOBqU`Pon9$9(|tJ}(O2U{{9M-n=}% zb?Mr;#m*wG`gNuE3AT3L-tvXv&2gE2{^m{Z-+4Av820)y2)D|!06tS3vK2MYIqtVA^*Ac-pM3wgdZ7 zi;@+<(F2#-nS ztkf*XZV&6eTaYryGtH@3Iny4|;{9>(FF|_4%&yV}h%S=m7W>!8Bj5ae1{ZClt#FGj zq>*lUMKzD5w)8cVw9Q{TK0LydDxAM^2uJb;x1uPR znfxb_i|4!=luWfuzJ*SGQ&6lBQMw?WVUa%dmyUu~8MJGbBFHYhHb-nr@+zqr1o^uG zCXXFUKBl&Vw+{3@W_ubfa3frciY@$k*@0|a?&G_LXK+N zKGQ|JD2}ekTXaga;1i5yAQbBwK( zfRn$s&5Aw9DqqMbHvwiPGH*%QLp5*@7zaNBFV$X~;&q-<7a zx7UIdybY|lY?@`kpf3Bmo*2@)m5IJ8$6DEd1)g%2yq1yDsE*J!$0B4+@B)vYywRNq zBef|DBL8Df+ZlR6z^i>s0_c^#&_NSMj*%h0l`H#Luv`ih*cKFlyemDWD-_2>R3@}x zJBBPleJp{oU@@n0YjKw&AjGxjlsvoPrL6JTbWCfGjU1MIIbkVcWVAz?D6xlG&q>uG z^q{Ja8$rBQl9(`MR2yHR&ASC-Zf0fcFr8p|?TeM~L`(52jNh~~b(CyM7YQkrS$X4I z3HT>!A4Y{TCNB{|J+jTZ?=p*=veKSH+lP{2u5cj^vUQbg^+#(nR-Lun=q%kOtI`W^ zv$ich1i&+eSd6ke1t4vnU&A94fbJG!84GJ(ULUHe1i^TSa|#*LqcR96%@m2umQ@+5 z7oIq*X8iYD41h!V*{lN}PQ+~!UwGi``1rF=kDvRc&x|krz}?E#^giir9^M>4Kgl+`x0w+A)D!O?fA9-`e*Eh<{^>Ym<(^_QV20kb zCIu=D-OAKKX&)Vft@a5D-jEcF7*iz=ofZu?LJ?*_NC3adDl+n=O;Bk4mm-0(6t?)1 z*AK;%Hlo~Cm}J$pPqMd|{L%-TepAb*UdnoSvgj?ND<=(Z9hpfr9DLx!m-2iP1|5?4 zNG}nh&)7@_lbN)}u6lbH2oKGhOu`*F(K{#LVgP9$_MO1Zwv`NCyL!oo;H*$~%8H7$ z`tNA(Ll2LOPe03w-$!XfY~zN0SNpmpn-jl=OnhpWKkUwTo}|m4#uX~W7)~}J{UfOi zkO&b0pKY^}(0c!;T=*hU-^@^bUr>bwC#8o>9w|#ZraZA*luhZbD5U`W9JJ>BciQfg zk3KrC{Ka1xul(2lB@;F8NmZI8C7p9d@zWlF@w?}aXF(0tkrCmMc3)N_VA>LdIL^z+ zV`As@gAY;{PMAZ@tl%bt8J@?!kdeh3@aCRdW^JLZGS-6C(>~MqsRmi9yw;(EYqnKs z^Fl|;A-@A}46-23fjIG+?D_5F@CgW<5I$*}6)4_FbsQ`!Jp==`e8-VCzPERCY}~s! z&apbu?@T)(%~ct|#K^&kHnFk}137H#ALUMEggOP9_pY!s?|U%0b%g;nGJl z+Krj{?4|u~Rs)0Y^5^`g-Qk|RKVh8Jzz#G~MtOsy{1iXI$QGq9tKE@7U-gY;bJ{qB zVbRdZ960%7v`|Tx;^d&bh%6Y{lS@(C+=#Hnk>}j8Za*#N=F-7 zvVqyY9O%xUI@c^lY5E*szF=X<;OEY%@xI5O9>4UZFOS#0@RQ?T|MUN9y!0<$8vEC7 zK;Z-iboxnuFXbrxN^zwY)ti;NN3`P&zoUNl=D5aoo*O%7Sn( zVS@M6_9Npdc)!C0-PhP+asSHY@j7%HzAa#Zi0^o=aNg~+(te9;>kYPrzK8scUANpl z7}vNC+=b4aAUvlI8EoCVbBlps27phV9=DMFO;!m%%XbceEF$lh*)s)z;E00JK`I>U~;sv z%S7YJ@uNTg=f=B#{EhMYzxnMNEQYpUx>25?`)Hk`ZIP8kL)0x?q%eZ^&W=d+k;K8Y zt>n=UUL2qPwR+-`+kop8M1n`QG8# z@xS~R|LwT_%Bv+*1?p1)A(61kF1QS2>jzLNU-0+_C6#Y}TU>}Bq;1fdmS_t}zV*<@ z#6Po+^iWNtF{lsa@4fckxNw2h@9ZGM1rnL^@*Pm_3Ag!c=M8`@cvGb_l|FfF6}u3~T+0F8Zy=`GrVA@{Ovd;qarO#TH`;iiG83u-ab zvYDwe7wtqYGzz&dC?~jux za?r27nJ-gHNBTx&?B2UK?%duUXV0-}AAh>Q)_b~(^iiMv`JW%xUwUcW`M1ASC5i3o z<=(<`31xm7!EJeSu9H6STiw*b7B`(o+!tGqej>&GW0Pynk!jx$1n={KE5DDZ+aq4! za202sA$Y*_KJMk;{hjd`FDZZD4?I6k@redM3*x5;e2L4Kw0sWrdg!xaJ$F{O=gQ*T zUq&x-d4oCE6Wf!%pr5FTN_goTykCW({4AcV&p@6ec~${nHqWsZ6&hQO_n!ufFLT|i zqQf)-yT#d`hf>~|_EaZ1m6lAi2H|xrsC3t#aMRs}N~j!!X-oHS(t5_&PQ=+xtgoV5 z*`}xb&+`*_%VpZLC@+3`#&J(@X8$_B%WV048G3eUIN-%I`ep6Oa}cq*%T^T`)bFLy zu>h}c(BjjZ>?-m$FLA$fg%^65P2b?9v6$wIq2OZ^@r@gM- z1=^xbDPLdL(bVQR$0r7;TnfZzGPpL}y~RZGbtZq=UiuEQtV?av9?5)h)bB#uwlR}n znuP5W8bkS=bp0o$DN#0Fc;k}B?NcUwbDtfVGL^4WKTB_d^=A_GUnvA!c@WkuwHw`48E^TV`JwKe5e zKC)Y%7pJ7lE^*T9;u297n#O=CP1`TbF!Ss7#dPUoe26$qp=J#&M;lB-E4j(Yn!W=X zR#}o3&tLk2nHC;g5tZ$xJ50f`r;H1YhlS6K`OvOx0AvQbHQIH$=$K`V@nzpq_DLH# z$Tn7%VLiP7NG$m1l}90=SnP`y@!AVgnpIgQ?ZN~FB0>XwM5$bRlLM2y{ex{_Q5PN# z{sTO2ejr))~P34MBm%PXFUSeFN1{wBZp{FX%VRsFP0 zB|0q7mA!hu8h+h?FX|&dM#-Rb^lO5-s=LaFUirZEG&GcD2b8nyGhUM=S=kb*Nmo9a zB1Di}!TMxPT$oUV@K~xL#ouLZ{sn8H2+>i=HJgNYnP(fP(B%U$>**?c`ziGtuR#?@ zm5!)@RT=A{^i0SUqD@67cJhBu-ol4QU9FGUWQD40rOZMdD`!)w)3ESi%aRT}w^v2A z5>-4ou9)Rp&Rg2Xs;-+*Kdi#k44@ofKCnWp2(_v17=jmF?Y&4=>0)fX3mowAGOg?o zUfNZT|JAh+mvq_COy;#wr~RNCVzZ4Lv$)&1?H zpEiVd7HH|el;i*Xq?Dls8ZADXw(~$) z64k1V@@dytaG=WWqO3`@f@ypF1PTkstep2arw6Fm!d-HQ%d?8 zePIegrs{!ij0Y}W7+?Cy=f~gryI&q({+qu(UVQ$C$GIK8@yo!hTkh^N;<(L#t=pnH zXzBxV9EB zP@M-f7+Y&_X!UL0J4}SB?ZL<2H@^OdUmdqEv4RR4eZX>}%2^K{1+#iI_3ll69_G|s zy0z6@w^8dk0VB(cmTHC&cBW&1lSN3&S$Ke@4yHWu5u+0(%)D)(K;Wkh5z9eY{nP&Q zKmPgg_>)fs=HQlFwrw%6VI9Q(4t)7WJhQ*ih0kl%8gXdUrT&tO_-cy)%8s@XIobt( zt`H8Au+qz4y)o~DF&gx_gX&BQAM(WOs-*)a98;gP9oxwkPt+_*9CxvE`^gWE2R{1! zW9P!d*%s76oD=YFrL8$p%&LG4fLr@8tAk&+41m3cBQ^N#bN-UI<=5ay$?)_vZ|@@O7K2$2KK}T4D8$n3LwsalX#6MHtJuvR4j7@$Oi!4L$}&{-&5n6U-`9hnw3>YPN1^#i6x=sM13tPDs`HnsYYgK^8JI!AruIL}~!2R`fd9;>2&t89QTc%Ir769V~RkhW2Yx zwt6PsVW58pWd3TVL*_)tA7t@TTZYz(Xz*?gRBUqf4O<( z>UjB&zs>-t16j&ZK60k-Ba}mYpA2~0PGIGOm?6M`Z-V2H7=IY&9D|QjboywPL3-?$ zN}pRU2eC6jlFpVk0L*I^RfvgB@RE1HDO=1@UPeouV{;{gs}HjMGkI72hE^ZIt1oiy zMvk%&%Fk2Tkm3snTtp?czeCD|t?AzYV*ZpPQ`X3@AM%qwSL@)`S_o&~4HHFMROH@%b-*dHmv+|Gn{{kN*H$((;J|oViQe zsP9L^V4>_YRXgLVaRF;V-Dagnn}tX@%o3_hV&aWdn%}OrP5aV|+m)WV@X+}1r$5K1 z4K9p#-*|QGvK_NR?GJLVgX|KYmY+WT;h+BL@xjL~jvLo5GY0!M->_rimr2+?CV;KV zlMFI1f7 z9M^A*BPNM=8ED_X!?w@#Blp|_nu*?{yL_jXpWE}>uD2YxJ$06Ce9vS{X};_}9%K9K z2Y4an0XhY3y5meH<#LeTZ$8?V?+Ca{b_AYhi3M60Dac2TgYU?ZlvBz%BzQBnTx1BuNIx(Jl>I37# zhn^g7e(f9C0y%@yC{AmiWvnuHiv=0OEKDUlCfJ!%P_H5Kr0nQ#A5@<;X(6>7u`M*% zrdHF&@Mod`=XwqCp3N6go_gf;ICpkyoa7?G&fw$JDPO?gTEdplTTB4C#pgCFy^dI& z)iG@$5zju_>mXJ4}akc;{$Am z?pDuU3v($Zrcuz?>gP86I@MLBPE?u}=E}T$@7W71Y1?$#ulD5!-fOY)V&8;osQ6eI zBRjQ2rj>h1n z3)OcW3LMJfpSr^hQ`t1d)Botx9qPosSpVb6afa=ew;z9Eyz%uv8XNA)q6;mg79h{0 zzudQkgZkkFP`5B&;Eh@U%9SHNpssvI@$&`wlVO&}{=@q|YBSFlmtTKvJn`%^PjG{ zXrWn5Q4AS%$*UauJ#WpV={k)MB#hKz3O-at8*B*G%^!ejLlMM5KTcdSri<5XLUeRS zyOcyQp1;Z#JpAfGZ&$ssW!GQ6Y$y#+j?*U-Ck)^0@Fc!NpS!breVp5SeVpWXV*j1o zr*E(lIG z3-xH5@btvhxleYrxs$!`zPHB;VB~T=u}!49X1R&-`2=}0vV(qi(Xss8z41}wGhD=1yc7ejQE&aA8 zRFXA=rp{JM$)!~%VbRwaAfe>oc_XQ@?aG}5Y@41Rq0;Q8CtbxTTNax20xOK4@=N>F zuN;8{y}H^DD{95)pUD^nv+PY2n3=NKSS@8?5lNzq!jw!gYpfxN zF8#93FbS2n*dfd?1yot4+*JW5O-Iu{j99mAWf^o+xAL_0n7vlavCt)&dRNqCzj=9L zqe@%aF(KubpvAXkO=~<^6IVXK_9$}OvSWU0U<7cO=0=0%44h*nqNM$(ts&Ru;7eo6 z@3^4Kw$5zfwDI)`V7Vh>O^8IoIxI>BM4!k>FbffSarsSL3&7MAY7N{nh0BwMo%AeN zml0WH6A|yp~jIGNR2`hZt zT(r|3X{H+GSDCDo(b^YY@do*tXS!g*6DefoNleAD3#jx3D%~DKzs_UX z$S?klm`MO})mI4%oigW71;U#D{ur{UzY;CA>IQ3Ih>ejbb%myjy@CL&+t>aO5&e^< zeHDfhRkkT&3T>a1ys8W3MMUhW^kk2X>*;P+3vA7H?On&me)S^qKB-~XrY_eyh2=1K zT%}g&mR0_NBLC*r^%u6}Kme0s+vma!Q&pv-4WAgxf^kVt-p~gE(%5KKfGNAJi^!s$ zcXh{oQ+V06DS8SNU$tFPG2!Ye+Li32BqFqo@?W>DS&k{NERQ>&Ukl*1yvPbuwiQiq zle}$P$E$rkd~cef5LY&?xY7niOn4f zO>!ZceqRWcS#le+?jPA2-tql-eHYt8+1R2^J(67P4sqv2$jf1}l`Mf3nlJ5F8W`%D zSUkbc0#>?26%n+@3m>7ms76-AEmjA)ehBY0%(M?>fpzPYf8AEH)5b-NY-WU0ILS-3 z&`ODxYE_m#H-y!LR1Mk}T_2SYd5R&EhZ1!3q>gkF;g5fH+NkSg{nTSzR_ z?xe{TBBs|hx^9de=y2js2Dh3%|KR!Y4GghL*V{Pv$K?=rcXM>{pE7kT`=4f5^TJXiwt;m=8;SPPNQR(4JLqeAsinb7mW z3Q8ZOcvi~86;p|MxN?f8G|2^whkI$A4BllXgdt~sJhZc|({;Wb``YjS9xE(aHRzL= z6I{mpv@fdTU^B67-5?btbepXDs4_OL2s|zYiBIdG%vmSL7*sR$-3M1rd{PxZv6i?b z_H{vRowi5^?|W>#pOq2mlk^Efw)nQA6TZG#p9g4T@(09+`QZfy;L{Efs9xpzX1v)eHL z=3@-%J^f*3CRj_(s+e5eo=<9s!dmVs*HUOD0yCNQwH0h;?D4G(fvmr z9+!XXH<>Wu+gMp1tA3CQOFbZK+A32GQ0fH2{ajbsnPlhUqq|qc@lU=1u(# zwvl5Ni~fhV^KY;n>TTKwlUcEo&cark5f}8)I&@d%t$f=KWl5hxc8@YU0qUf$D}E2s zR!K7haOkW4(A;8s+i&sR-&@!D7HDKBkS4D<9G@IA$)-Nct5e?#H7<@-yU97F5V=BI zJm&RJO_G}~Ino4gu~`Jp9t`Ay%R^mX2dB4*;($=|(Q2ENE2WKtM^ zWB?BBDYE=_ljSGNXx=vAsiwi^wP~6!F!&@)7eM11lsG;Kvnb>MH8xCf#I_-F-JXN3 zgRJ5sB1%d|l9Ntc=R>co321nWEX|dp73F(|A7!=eU;d4MJYIO=Q%pRa$x7CH^hNYM z)Ood^E|(WUF=Nh`LRrj|OADY}UWkZ)VH__}IPn?l`=CgYRQ=-Y^Ng$GM|EFRGgu zeiA=>PHZswc#9RJ@1gfHTP$9qPjK5|P7zj9k%o7ZZ5R)bwSWCGt7Le2gvm*_eD>#{ z?LFnQRrMa%+C%Z=-2&S09Pgai8FyG!d$@fv*Cf7}%x)c&mkHqa(E*&I4ZHH!7l`aj zy@q&ik!!%LxRfttq?p9XQn9;cWD-eK$K9VUKHoMA%v%!zCV&3rEx2UeKxFmUe#@Ft(RV5{^# z`&Yi;uJ7xmHvH{z`!WOhZ*H-&{fPFu!M7fd##P$pD{s9s{?*rB8Nc)Gx5gE| zmz;YDROE$2%7aO?zxt&_q^sN*tRKrUaI7c6%@ALCkQ5lv^h;B$;^1|>M1+23P+#d5 zF_ETL$;gza%5RDQKJ`j0ZLCUq_TLjOUD`P;X&ckRlCSnE>Y_x^0twY_%tZQHEOtHE z)`}+Oq1}WFSjUYw&OOY;MK=A|S+;t9{_~$4FMRQ*#MT9)l?u*v4Dl_F2=*V+bGVrY$(RVhCK)z)AG|hx8EY4f;Fl?yi0>-`X zHqSx*eOhV#Oo_3+aKhGqYa@Ld!ix`x`jAogd-ItQJmk=8MLb1JNI46mZ2LOnKp^e= zgyNbABMq(pT>F%)UG@bQ)<0neQ#q>3Kj{)rIbs7#V#;38EOJ7ljFL&V(!{x!1|I*Q zw#y)GVA#T$#tWVMyr9d9-`#8D43oa6?|plmVykCg(A;#BeZ~#AB9X6adR~sONO5Mh zXIJZb@9p)?T|jQ}BF^h?T^Zka>GF8vJzjodg4XZDd(Z0&PAMBk*fd-@?m4{6eeAoJ z?y)tr^+mhGH*q%FrV)y3WxPJ9uT))mP zXTGd_j}mw>VE3VXP9^uw-lxE;bjzc9E1g0P25np6m6=FETJj7r0Wnk_D(3rrs7Vy>fC*36T7xjSpf#xI^b@ z6wrjLXBE^pH7j!>bN)e8bzq|DOh#L9E8c?1Vd&f{HQ_|278_QC;rp(G_-0t6ja{85 zZaWjV@W!`L^HtQu3t5+kSd#pN@n8P1RSPX-m%jiL*cr)M#}v@?iDz9ZFEXdtNa-~E z()M+&ESf^w=vKR)2d0SDS2A1Zad-$l6hmdFimse>dzFp=B(5Dvjd%Xr@g-qjSnKmj-SZe{65*Ak4(o%FGnX=aTn@@T}$IVvT+SD>Vd1uQ~M>qF(=PbYEFhAoF#oL~y)vD;%wkfy6;#koqgj6a#C z<>WD7J{%&GJGA!EO4|SbRAiN^2x+^_2)6wgFLfkh3Db8oA2BU!O;Ceo1uonrd%*@? z^)X>nhLMois>3>fDEb1#ny_+6eU^P&uaqDnuGpq z-?gtxb1@g4gyh3paFe!C!#aJDXlXIjKx%0$YB@@$gAUUYf!`HY^kt`?m2kx2xgY!N zIK$FP2W83!B)F&8cJPYm> z7Y&?HRyK0TyNzhAPIW>OufUr}`*j}yOC3>(eZLZ;Cv9-}q3SvXEBY>1i0cqq;j|^& zifyd;kJpH>yj&7|`A2#~%dnm2&3Rfv9)PjWK`iDyDG9bxALk!?Y+Sl}bKLvJA5t0B zZ+Ko!Iwi5=SM$&;Jo zG^@ML5T9q&*Gazjc;Xb_;5v1ORliRBGLW=+4Y^k+2`_K>b#J%!O#j0q?Og_pZqbea zJ3)py6xjhCe%RxLU4knI^fPV9cHzK{lUlpPwbIK;V0^(Kl;8W^r;Ylv!`ZueXMFpQ zUmDlmW%VDtiZm*TC|L{DGCbR>j}w);fI*(R7L<&_rMjw45oHzYYk7o@S8tp5iKN{_Loi zGQJ(aP`?_qL0>mnY?=%WlR|ihN-L-M zv|*~R>j@JH7oUA>{Mmo-_r@>%49ZHDOd)bQvp^=wWIQZZI;PWCcQ3PeBXHC$6jP*~Nj;+`Plq%x(*P58v1~`vR5A zROC6leRtfsbz|JSeVuI)ud~|sHs7wpH%$EQx;?QIzfJ^0bN3408|JrrlZj#`n=Snz zgYSoY({}d+8#_}pC#bXaCg<{HUif*EWuFhyH+WxglXEYttT~rmk(mYV%FwB{4?>RR z!pPUbU7ym3GOT>R%6H{Olmz)TH*qS@dno!c`&9@YeB_aF?z!j2&2Rl7-;upZ-#}gX z7e&+)i5k?dI*YVIwz}9nXs+JcOCY1&uc{a7cvB2zqvb}dFae|=;7_G0N&o= zlK^M8#}3=D(`3d5AC5odC9_Q?hqq6jr;O*&X{*&J^rVlc4?nm`KhESYFEHG73(vO? z#?4FouJGe!p_jh%*7(goczOKxx85A@_%egOg}?o1?6qOff%}|N_9K>~{-iGd5euKb z1DtXv?nCfo;x}lCmDPT+=E~n8K-Q#{#-#iva+ta%F0iDFRx(3!(97GT)h;Iv0%_Lq z>-}0wE8ZxM97|t83Kdi?Ua@TybfJ)*@=_vdcbEYp5+CG z7k=(%#z(%7iQhBla-FLkYg`FfZQlFYn$-28$eUy|F8h~UB%Kg;!k3p%gl$&Ci*4RB zrT#G9x~Vcy7Hq2L%Su}>UB1Q6>D<_B86?mtQ_gfxWCb<-u*h2aHDz13b$t(Qu3SNoW5u)NzM_%qkhA(5d(~!G0 z_$;%o;G=3s{bPoZiMEi_@uch zvd?l-QJeDTjgsX^K|+{(IF%PV`3WH+)>btU=e}MA{*+-bOH@~z>1S|tTc?fS$s3ol zK$0sMIOQ3LO?N&qc38%0Ka_YG71YGf(XASSWYyi~=^m5e!k@lv!=&-dQyn^xc!y0}` zVo&NfLM9ZJ@C!5TxfW+MSIGpiFzDZfq`{4yxCXCmYkBGr3#QLA@ojrvPplHqVvdENJRE~U-hlGky6Cc@@Y1c$?I}l;rkDj^vL{=#vSPz1mH}wKwG6-L{vE?S7Ws$bwNlzOVxyn#JzqJYAx+xb}$oOX6zJe>|PYF}* zF(W09(deAzTj@y2$_vtX0b7DLhIc{`UL8mQ#T^gP5?zrp9nlRhvNUiB(pP>xE?$|- zZu#|zwiO4636on~Ns%*sy+LnMidnIAP+Kzv&iW<$G_kLPD(m z?~#_biJ(Xt9zg|`YYGYbA|=q!95d*<3%8Q5fU>rvu6)vMr0g!LsGEnDvBcA+Hhr;b zF%^iWI>Kq6vu(l@gVhh6L?E=N( zsiau%!;_upmM1}^w2TrNz8pd?P@6eYZ*3!q72ThZT5N-MojU2}N5_&>pSlFBGkh=k zVJg~%dy~`Ts|`A z4Pogjo2%^FTeR`^ESD;Mkji9Kcm)I*8|)GCP?;NAr5?8}`lfHCT^{fhQAiSq%%S9p zh~6$QINQF!O!7!y43m-a21ZFhL=XA(a%fkGr{4HLP@ttZyd+cmk<)tgXQd-$;@VD) zF9|cAv{QH<7%M$JO?!4?MCv@mvC87H=iWDd<4Z4$fAk;y!|`W+?pMbXk9?59V6^e= zJ_mn~Sk;-WdwH_jXP`HeCk}=)I_3j$zDEN&shV)%p+}>%SJyfDE6C8#Jr43ZERacH ziE&uk)qKbc9fv$DOGnzrIUn!yQ=f8)^9(uhuqRmBd!%=L03m(GH@_czXnf=U{puKO z<*H%oP_=p|o0;%0c?k%!34|_o0xNsb1c}d*MH%vBmWOR=*M2fIZBjF1q~5~nSL?oz z-T#7~ezl!qH#Cz3I2iz2w{MOQ{_v;Axd$F(Ae0AdjLU!ogbrq(U=ZvigEo0{o`IVh zRN*1p$uZ=w9+0r48n!w)$pX$zSU z=BZxax@y_$rE~>nq8IoHU_SISo||o+Pce{xp1q#Wp4uJ{Fvx$7*lj;gxV7g=2YgtK zymgZwt8F)~VT;>&(gyg^7}6Ge3*RQOduN~TIx>0d1aKOzUa*I-$et0EP9IKr929a( zUAJl5<7YF=%3s>r9_`FYU$+Kz^{;+7xVJZ6{l?4VGAl}Ql1Fm+I+Cpr>mIn8yFE!Z zJq|)lRize5Q*<*e?NU7?_}8DA{AJd}`%-_F!E2$sj$tznM!uMH?+QFqQmV5*bbtyY zUE%9XFZ--Ka4yO1pL2Q<>q7^uJk6xd;MEex+L$lSV(8-8&|(j{*j^#uWXaL`6HieyDtt21YL`dSCiwS7p)IzqeCo5G z8UMk5@}G`RfAYuJKz4K7VC&*tSN+K zNr@-SzEip4dlWJ9i!LjD$=inA@bc8zb8Hd(;<&}Pb}zm52A6C5VcSPpq>g)T$;=AM z2hOpwvRD5)vFPp!PX1Fa2QBkL5Z49kcY{^N_gE=+iq-Y^m;m2nMb-YTn{4y^9+SH_ z$7!~ccEXnrr_zV>DG2x|!WJjBmi$hQB; z1P$>$8s}}Cbqn0HeDnAM>Fd~Z8(Tb2J?rcJ4SfYnpTQU36(}wYvJV!XFry_dD8~{p zv#a(q-5mnAy!WKAc0Ip5Col57(Z`?v=W_rSn zx-ZK$AbOiiPTQ7w`YzLmPnShmJU{Hma=jqV4g_3}KJ+x-13t^-?`f_Xd}s6o*N5%X zTxH$9V0Cq!-%QI?g$Yq}#cWLTw$ z{5+V1kYscdr%xAd+TTo@h|L&cT=tie^|Uh6W+rpVg}I$EV|n5e8KS3T1x->JL1_TV zO)hL_9(-VY><2zRUi_(_93Of9`SI|DbF>@pM!4UhAE|~zOuv$QIU7^b1@jHFOcHZX zxyf%MTZY#io3?~Ub<;*Iu>Bfxh&LEJQH3L+sP2A9&Wz_zIqpDntd+~$Si^B;U>yy43-@9+{|%8b9lSH6rP)>#rIJNGjj)NO5x>`A1$ z*{O4tMnHWPo$ySkNscqq578Ijef>M*;vc= zW@=^b!6Fx3zO_WCdo242`~CKgn0AVGR6UjNEre)zNZ8jx;D18P(1w6!y(vzbY9Eq{ zFCA$?kyA7>>id8ecwMuiOYW&Kv9bfR-IGA4ww4W*797|Dul#9l8qYAnyR&y~T-f{0 zIK$-ciGxc#2lApOFK7B3;RI`JwXpcfW@53l+q!aPxc#cY115QI+`2bjW2@({{_&;p z+8cgOf@jeboI0Zt{7j6K{=V>-=Mg4pc|V798(YEc-aQ;|yvwRxUIt~UKi5z0*XYP? zU5n2&0GJcWTij6W6K~KUwwYjdcZmyUcE&wz1L?*7?JnvXz)cUXd34R8gEWGi62hB2z_WZ87Fpht`deN&ZPT z=|>4BKK87OX}!Wy;3{jf0U;lnSsj9>Ur4mhz}5vxMQGb1w?KVtI}*o6^;kD$ZY3rK7i`#3pQ3$Ak|n!i$7{8L6~L$GE?3z~81SE&DM^`rP0147y2$(Mear8cjPeS@N( zXn$a}TiRnc<-s&u36)lwIq54*g;R0#u7i%z%29Sq<|(IyRT&zizE~}b|7)T2*QKG_ zLU@l875$n&1VpBONV>}WJrsmj+H^G1_TMp^RM-?@`5vO=tPmOS8;Yya!nG#{K$QnF zjg)G#Ex1T6_LM37p_?)%POAneGNs{Y$P;SdvZ_iRG)3#mdqG}pp-R?VHNeWB&OLxgAUgVVE<@{Nf zU!0S_5bK~tMU{7j(z;9rPEh5SrjRnO^8_EBRXN(p(oGX924Ojt`r-UP9@>k?eYH5Y zZHfVEUT?)BRXB;(ML{1HV6%HK8v-we>i1>mT$ptwlYhlL>1NiPKklnj++f8`-l$ip zzbZ})3tf0SH4UASMD3q2^g%gmp=qkkXbXRk7~89MKFX0Tw`GjSq=PsjIn-)T`{NaS z@y7yFLWQI}P*&wAv+ar8LX|vOCaY1B;UjJJb8v8rry~Z?PK?jI_~`g2zwry>AO4+x zFh296e{o#A@B}`E%k3dE3Fj(bwmfnYj|shO{fqz~u9g)A(j(Ks&l;%JMjr5Hd$Wps z6m%fc2R1{MquNJ5a4JM}`K{W86V+YkK459O_WKxaEG~H-(0s7U;GJ@KxRb_hh24Cr zo+A&&Ll+(#fArq%ap&v*w(N&S$5|I7JP8^`E`3}E4j~g-Q#(f zffQ`8`56|!nHDhJTxji|G?s-yCm$&DpgZa1@5wdUBSa>XGcJ)F;T2=v`gEXb8yg*5 z5|TbaJ<)0VbHIT?1{gxZp=hR=p{w+H20pKyerR0#e}0$qkO>|5O0PsYiKD|dEr(@M zX4-fZ$|6Ky#gmk*!<7W;{Lx?dh4Bn4YL57}=i%L5ws&P~SK3HcX{m}oSIX!oCvV;A z&n>&Q;LW72>ENIN793Ca+oVqtpJEVqhu$Td&!0LuF7P{lYKPwmCVhD!!x>C$ zJYZt?;OGv?o9Md2VBJ;x<#x}k_+|A-Jm3hDtn`nypOcw+Q2@$5 z&wR5#fAH1hZ%ukRsN+D5s}S~RlY0z8IT7p@wod*!L%Pev*0*2!_IUI4x6SXfQnDX{k&=fOpCxP`@PBHKfUiAcs{X0_APbyEGWz_w~(j}krmQKr9Kw{1D z0HE5V=|U&Lp-e7#9Sc)@MJsPpsL#+4^Wx)k(%M-84${fypoF3`UJp(Z>|A_!{Lo+c z3*$fh`+sLV_2^Tq_+a&i+ZnTM@g7dHtgiM@V#?i4hz8}U1o=6d)pJ1FAoxQApRk;( zQqO$o$@&6GrHSP+Z%_^ba}CV(mV5%+RkNb@`=0-SahY0DFyhlu}6<)KnGy{vCAQVKuNXN8Dl6@U5HInABzUJujr} z-eOf1yu0+#cUaEiH-2}Kv&(8=Us$<&l~up2lHa{@Efd1|W-aW7MFi}mla)6CDBb5oSLhYy}*5}4K3eDm0y1G*h5C%mab z(qtl9XCq?^ADn&aiSdyyeqsE~ul@4))aO1w9_Hn=Y`f33)D_QZP0Hand+oG|mTQSq z)~Tz@ot1G>h6MW&ZRTekKfntEAN%B|#ye~We&vlz*lpjs@>6`0##1oGL|9zkI=BJn;l8(i!#NW&(JJ>&NzK zC-Ug5aMFo0OaPyF5Vb4|_U>|n7aE-S&E)T$ymWBD3krUZdhgne@y6FKkN@lcc!SB` zOXJOJY*#*4Z|P;m@#}t4Nu)jP_PuZ9=Poi;YLI#&el-ca)5Iw|;HHH#nb4R4Vf(by z{)e!M$%dYIMK{S>hqwfpkTT)nBfW@<9!M5I=`C`orJX+;b;u@9r$ZAvS7q$-6+_9< z9OYW=^=o>qQjZh_>so?@BJO<0+GN^Kl$?Fw!ua^7KR!P7#V?GHG4cBV`Ml5ozgsx> zs@|FeW@RUR)`ly7!KHtpZ#hJcTg=;^x$A&iMQexct?lXizkp(!sIoJ*%vup*QEb1~ zpCsYYW`3FUEXM@bb>1>crsb=?Bm4@C9DFu)0?~l{)Kl5=Y4ibzOG8rl5OJt`za>|8 z2w#&O8Ivt(@korFp=%_u|7K?$wmrgAzR2c4Fz8ih}zPDDNN>8v~!>5q(t7kvcF`2&3 zdvRBlzW3&9Yz58tfY0#)0XA7?zX9!5(3wD%8(MK`9|*8NDtoHuRjw;p)t81%c`dhn zDp5k7hbzfZEflfy`X}jvBPn=k%KsHBvuu+#^E=%gY`BW!E(%K&3#HAxbCyD}K-3d1IX3{WdFp-{v{(26f5{q)z&B zJD4Q&0Oolz{Z7VwH7GM--Zk z0S529@qEHJjA>U_-#y^70lTdJ-Q=;E7vhhg*ChYfTzmR@zmdT#>U1G`xkvvu5?pw z{hyYN`>?R>kABQCwqPAsSyqzf3Sga5L>97y%{&?N?W<-D4e)h;1=n(nC$Y3KU^-EF zuJ?WBzX(b~BGv9Ti z+^J0NRWfPYU?!=$;$|62(uyH6!1ehlzHKTyl??=%*0H84;*N{1@|K+Ab$y(!^hAI< zr%-i8Ul8@c&_#$$=n7v9tF+R;cZeVFGg^JE=RVX*$VA+4w*<`-83@Zczv5hEhZf>4 zL&_<05-S@PfuI(B(6pX4(JSQvN-;Uwj)iZLR5a1KCewWV*UcVADy{r7A7VV`gz+on zi~?9Ri%lqSwNd#Ds6Gu(cYu9%P-2caq)-5GUl@J{(#k_uKdc215EnvlXk^eVxN@HKQzuT@q6w=A7_=% z4miIp$#&1QH79&G7`SorGvEBB&6QuQCQC-Jj5cb*gd}YnjDO8hzSLs;E1V$|U>WeR zj9@bW#QEX2mB(bJUHDYXzZ1JoMp)rJpyH-;3_GR`xH>qK6|_VB z7|SEp1Gb^tyFOdE1DfZa{s4p4FOR)9UIV5Me{d0ZKE+CbsEydJk<-v1O!ikOr# z_-B>f`~T`+A0K_<@o|c8ByQqw>v0D=?T4&;S4?cvY1lTL{B=_IB=M=FndAj7Y=?og z6Zr5H+w7g=r4lE1A3A-KZ)u$*-Wlikw&&@c9R~9mlx2`M1M8fucc|}McW*Ob!}q=R zSm}Fojko;YLFN_o-^R#0*un&ODx%r|ne;h=oB(#>a?dTGodD(=z^-sz24$qBPHOVV zqdYZW-0bCJ&^ut+tpNG^uMRMAVsSVh)897LBmjmswY~H!K3KT?r&?iuQN*)%qyk z_$AK7FP&oYxKvzi4{cwLKji@~zp=-q{s;c4e$lCT&ua&1GYD=OCQr2mYmHVTp$4?0<0!9Y z6Gquw{TqKtDm*k(Cs}DrT3zcL!Ti|Ao?`{=7}vk{hn!Qan76;1#6d}loL z6x-|b{oT8MQsF5Z6pkXm0_h1=Z&b@)xaub9);tMnunkt3TMl{agrGe_ z{Z*fArs(u~c%ePRUiBaS@Q25TKmEekdEdox6+dj?4+Yo;l;F!bUPIk-bemPHXCApY zp8fuhkI(+n&yLUX!oerlmidtj57DQx;?ed1Z|+l27ZI~uHF&K|%UW^Tkr{2XJSNpj ztlj!v(zF!tUSpKA!;1pn_k-U*?u=XG(kpMVf|+|h;JqSJIfn9|qO0se;$vw8Q*Zvs zBildqh?~D9Esyr`tCyr~?!Ez13#Bl$=STv=;=ocFm6PVVUGh#@GZf`_z%ErkFhTd^i$5?v|Fb_aKJoku<1F`x8HccrIX~>jT*>RX z#38>U`jid(312MXcfgAyhrkY{;hvS&6ZPL)vBF!BV7IhDqCbv4+Cd zu_}YKeRg9azt53om{^=(N*nx(pN-AWpE|4&e;qvU>>KlpBryDqoi=IG!lb;)3ijtQ zIwno`m%+uZCY;nnW#{BIB8U~f3QoSpy4*MBr9kk$B!suPT9>n``hq@A#Z5jZe${Ji~)BW0i9oKxkSE|qclOStK@ zMPg31*b;@2DILF18CTwfJh`txJ;keYmV`1EerciuVBn&VHvIy+^7d_Y6CIoZP=T9^8Fv?A(2oN#9H3#L;zrykhODUuZ0mbude|+~Vk; ztoU`}*B9!zzjn8f*I$2c{Qg(p8sB(@PfBp#Wp(D0CMdU@?K5rNwjPk3?|S15>-&%i z#Ur*Ay3R`5OYgCY_=eAosF#j5CSQD~tk@>Twp#MtvB(!nPMzla!b|`^$QIC>JVU(q zHur$s`s7=^h;%%`HfX!CvJZLQ%`=4M%5#Xj3C&60d#pTX)o&hQVU#8Prj=Eyqu&Fl zRfvrR)9wn`XJ+PC<3Y1sO~n0j!rMZKt2W_j*h+j-+GuF}N*;<=nUo`SvL>fZ74A80 z8?0ZYmlgToq%Brxqjcep{=lZ}sD-9&3c)-ym-LOVc+J?AGAm%kxh}sQ3$}ceMCITw zw#nNfrlhKrwxodCP;wS&X{Qm?IOQB?TO^uTH#@#xr(H{Tc}tVN4QCl`88v>1OK{Va znC1Z&Qh6qehRmRd#mB&wbRkeP>tOOW-}kf~8qF-z6fAWPb!pH#_R3$}B z+g4mM%1hjQriJ-8?Jph?_k{_H?g%M-=%>7D!)tu2W-ns)9qW>E->CtJ})bSb8XX#*{2=poad?mU{W4Anf5lbuBP6+CqWZ?MB>2 zFPt&66cw-h3vrQjJ~Cwb&}O?OxIXxP(qNJM+qPO%>qVo)ZVAqKFW@%I#d?kGDKL2OO6r(=*pG}T6jBOaac*VO%tl}h%J9F z(6z*UI>l%c;I@5@I7uH=%KpZr5Xs!H$9x2;rUaS@tm`Ln{IQ@&5GJpFohB8$QO2bp zw4u>o{sAxF`IMwSi7Qfl4XSC<3fDE4wiIwPOumi)FGUH=dN1+e1z(&~c5;<2x`wX_ zq(Aj0JA6TNfVh04y+tc31@i$H8lPSA=4*+MUF?XoJpA&6l!r(nieKf^Mju>HVux2V zR~6N_fGr2S_Bq5Uiwd;a7zSf9^T;red7#oX|pvV1O5kh z8KgdafpM7KapDexX=l%mqn*=P`Rmj7X;)|At9$stmD3r_A$CC2N=Q5Rz{)t@7U0I# zZzTc$JV(E&@<_FmlbPF4sT^} zfVSu8EIga$DZAyiH>@qa(bwyV<^hM?bLxUJijckWzLRP4PpJ0$??CIY(l0^&d`p zvvwkWJi>nuY<}m}m)hfdDOl5!j z$wEvsHW@&D=FvyT)714otEp}?k$aD~-M6T>9c-~rJ7-Lx9cXcNuiyV=O$|y}b%?B* zfcLzn-5}WVvvV5$#ySRrJlF3r*mIlTJ#4&<>^<7yCUt#^0s3SQKJZ(qGOUjD|b<2_#zL8t9Sy9~e$q5A4$nS zY00k#%Tq<1ZAL)}%Ah$|Zj$QmcBRVR?Z8uov9D@c&|6loCtFUG$jGngtK6;vwu`rU zXR?>3lRR&O1V_URT)*%`0*A8AIH7J`}#BVtlnpKn5JQXro`Q_Z4vR0y2 zjPap#i#}{LABj~?WoTAAB=sYp<%ZvTK=mDsv#hrN;V=FA_|;$g5-%y79PiK<-EiX5 z)!?+FS{aLV@GC3#3(APds^gRom_b{#N_E=ld1SDB0?i@CTm|YY_YcX%k%4%iO!d4+vf+3$>>`Sbq{FJz4I+yCr;KEGbz+Tp{m+e7c&Ws7KDBsp@T8Cjlf3XbjEBzTUw_5T(x^=vVL zJZ|6Mg%DQf-Qxz1$^fGS+3fmMy=?vO-JBCW(;G}W z$m=(Ok7%C<2TlO{;@Pcnc=g0_e2Qn z9yT#5tv*O)36nQG>Y530svsXbi@0nA)^O`evE7JFs?T8YJvVZ%38?K3ZzP2{h?U+b zE&kY2?MeKUiv2-TkI+(?JFNJB=EENxKk^eVj;+U^V&y-5mTiTW?h7oLfa5-8lcjnG zO!hM4%LR@nBPV%zk;KX2nh4|tGuoQvtw}GfFT1r}bIQ-!G_A4x26^~1r=>-gjM$Qs zqrMX``AEhev#r~9^;dk3Z0$%ef@P5#P3FBnne@cb4XJdKC90xR5lKv$3XUxuSuTMD z;SkM!Bk9#|JiaEi(4W@m* zH6^{%mR|qjXUgUai+0Pt0I+6seVa*rI+!bCoh!iLoK3_s zA=rO>0aWJ5@LpQi+pCH3#VdnVkP;FXkJTfmbOlSlV0odjy~&R!!*6W?o^_+*{0C+# zG9i#Eljhnr%dB#}DxGzQcg8mUKgX8(JA3bq?frLoM!3Q?@g{Wh{vrBT+Vkv$1TS0O zQySFi&QCrQ?lIB(*4tOcH($9rE?wrHL;v94o&fprpuXA zw&YF#=f-66rqQk%R(!Xnu=zth3scG_e?*r3Le_OI6!MkbWe|CNzJM&bSGfh&m^GN7 z)(>Gjt{WlPLN{x4RO1k*Bif0_9SV+)S<&&`JQI&O6y&jd#I-Tg7MPcYwPs&6mPy+M zFpkV=mj$1p{I{|-;OW$&T9v(dWbZQ7V7{)bIyKcHrBv@4Y#q12CrkMQ3i9jauQoA> zQjW5zWC2hEXl+_Lgqg1aWhtdIC})-Ko6w-dtks)zZAWy3=)23=yvAi~L(mmHcA5fqvqg>>GN2Uma%!YONgr&@dj?%X^NY@|H(^xfQg(=9D@>AjL*Jz3i9QmGQ+Q-g-dHm!7j~QPE zX`Osyh%B)KuF&v+Q{U3zVHcTIcjX_gjJ*)W)7(#FoYXSl4{mz$fUJ-F`QRo!!@qfm znuP?Z@l|Lasy7)NNc%yzlfaf8R_cm0e>G5NJMsZdI6v!JIod3pNw$vlzRL#^SG-kV zfCBsrKmJqW<=_0>apx<)LwThy*`W!kf+vUao7*&*s?REq`Fao`Ax>ItA!t{^%vVN4 zk*v_@k6>|A$eOMx4P>Phpk#BBXE3b+!uZ{~%3IYpZt-AyD&O`!WMX5JL4Eez;z5}S zH(mg6!gF_rp^LLj5;GBe$Y9zD2H8&Gw*w{>?=tAW%OJ@v1NDP#7I$eI@e~6d4%lbg zOMTA6xhv(eUAU9K{2YYd=ZQGmL_7M*Dz!5odTw0&$S0C^h1sT)f(-66>SHC5XK)xk zOPA}n1+g^7?JP@8+S^xy=Ufq#KYR#9Tl!*cP2P4zo3tIen$<0@_bJz=-&BJQ?o039nR0HKjN-Gdx8u!PTP$fsPa6Zv}KnD zDTk=Gx|W|6_$Tg-4}SDR2rz|!@?LNV3+;a?`oMr&zEPJ2bW)SSeE|dQZ(ClEJW#u!y{EEl&At-}Xh|jmR zIlHi#egXJx;ycv!J?hStll#=G{m3>0ZFi~XbGL3YK*r?H?kz@0c4<3zXlJyclfX7; ze_QBbP-%lfnWLjjGgtj$3r%qrSf5!pp4%x={Nbd*1{1*2IZ2cOBin%Oa{Z5T2L{}> z=_C>+vdyy-z!b_pf->CXy!qBQUf~;`eDjo+eKV5<##-pm6CEw9e=>1ty3UztPHmUZ^gY>%K3MxI4&Q{`T4Od51}rlbn;eUOTYKIqWvid-wRR>K#@M^U~DeEhaaa zU_QJJoNI(zAbU=w$!Qw}>Uu~qJYl^iaNXhK!VJ3eGLnKi{yMKPi+tozAq(tk?zXOfx)z@*Jc^Z*^ z6P_?pu@6Awa?U|#Xk0RgKVs6-iQve9M4zQkrvLOlf)zQ^HK`&mXpBB;~pb7an>936?C#!5|og1lKS^wy)&Nr z%9ZgW@28D0`FG^Ci1xwTYOv6Tq^JG*J2+(9=Y8*Y-X5=h>y7dCKfE@svW4eWwgbI| zFAiX<9Z&En1u$Pb9#D^z53|%vtOcavQvv>qDW3;0O)lRQ4+Qa91d$9!${tMQDzooJ zq_bY7jDN#H4u3SSG?iZIP-pXqJ=R9dm%6fFJGFtjGN^7QV`keg&i*`cNT-zc#k4iP zDN$+HWq85>%_kQ&(6LIf<{v+eLA9``T@Bd@$-JU&5viq)Gbxz%@ z`aV59m!2MtG_o!unoG~UyZT<$U0wG&b*hTb=eyS0d!OooaGvwqnYr${GI#F1Gk50ZWi(e~ zawD+hyW4a~PUiZ;LRNqBV#qP=_95|UCV;p9! zJ&AWb_9jJDz_9^fg8J&*t2R{fMO8hNEgVZh#l;z#fe)zK8X8qMA-<|i#L&3z@y+dn ztg5Z8pxs5rdy*F~U0QzmZ~V>W|9J21<>(K;6~B&hb@`%I?tfE_JlAoPd73SPYb7f8 z*IeIxPV+C5{j`(QyxelimjQg}M20Izb6@zFb`cxS(dY02Fpc}k?R(3&{;z+$yv+B2 zf97X?p8HQ~$z3eiY38A6+K)a|UkXW_)<}U75t37OpGZcWdvM zBY(ieK3mp(X7yeHmLDZn`jb=Z(Q=t(P zZ23vP5^bvN(`w2T8+XW(S2hc_l##Uh4gRzfeHD!otzl%AuUgKEtwi0kdLQdOZp#Oi z{t{(2jh(tM#V%8g7$2+L7inTc9$=fGDoAPKHVcCWW{8l+t%ge~+sKrkbQ#r*;U50N zH)xB(-|o{aU1HkB#iC&en>@2q){<2D6icH`l%S#u46x-2!m^Fr zfp4(YFHI}sh>eUWZ3VEO2!L1FGFirUW?5#Q|6EWksnX|Ayy~Cx|D?TA10gCM<|D3T zL~uYS4ry-alP^KDCK=_U*9%iUY)yIN3uy%)!vXaQ`ec=Y>>rgLxq}-{^h0kMRBsuF zf7RPsVrXnshKZ_+@>ajr_v~K!6KgEOpzvF&Lm@>zN^`P)n z0QyT#t3BbW*bgH1dUDCq0@pUCsL0ia;}6ovr)gKQxp}?B!08L0xxDeP{9(`ZJ`xhxWReey{7p$Om}E`l|=uE@%5Fd|mPx5R=w(aUPIkQtOsGc^L_* zC;c2a=dgZBS{M&@l;v}51O27H{A6JD`G$95%CMY+dV|~33m4zOB2E0JZJ!Bc=15kYfP>ecerPT)?URz$g z@{9;T+%LEaE0g@JWMbg{)I|oiZ3C>L$)xRhCWToA>}t>BgL4eH9xfM{5PovN>Kb%k zVgle8IgYV7$&~(p_%sj2`3^8`=oIb8i3tbiokVaY=qVrEa$)QV;O9D%nCB; zTxISSF?CejYfs6oA^HOBKWapN3c@aO7H z2ZkJ>$~oaycF6a;!3K}Ebq6Y3CHDwFU*da>Kl@kz^74QG!9QCbz4=Duj2~27s?ezb z{Fs>f%AhDneNgQcJjfa}R1tN9o~u82eR-KJ@s2p5&$Dvx5&Z%qHVf+<^1$M@)u*97 zqm97*F69IA#x`9aYWyyk-*&$2)~5g;FaqE15>EV<~ldTKN6mO+0-ut580U>`@0F%HtIBgP7rp)qr z4=iW34brqRC#N4efWty|w|#b^@0eHk-~ZtH^1bh0Wd#}|Kss2fqqlV@FBsg~;gXj& z^rY7iYopt8q^3%w8R%C+n@r;Yc00EJoflvnNaM~07Ry2my}Ktoc2x|pEJjoUE-1f5 zVH8x^HIEedtZs`t={J#UQ&*SOkg6aqT78D1=3DI@yAxN&W1W8$*JO2oktNPDD%TL& zl%)J?z5;lYMOLxCPEf!mLxCX`7KV~hI`kEuYPqUib#u>g{<&wCU-;Yq{_>aq)^G8B z(R0fHk3ew0hfHqXV)ECm!2N!?w3%QewvU_gjEpv@BJgU~n&>2!$G&1LPYWcIi3_>F z|EQq+)fFwTC{G^8j@U*2t*u8nFPT_j0{1Jw`Wwp|eB|9JWK zKl$o%{$Ks+<&u0Ey`*>Kg^&YYn0n-v?7V>Cr&g`|VRS+<}g* zpIHg~$iB+H+p<}Djn5B|Nul}yU2gC1i$}`?CUw{z-ihM_^YmHn!f=WKeN?cA^+(Gy zXD%$a>6<=0`#h7vtXk!};SU**bwy4-WxxeU|JwiPO7FSX-9&)L@glT^xcpk_YJ1X5 zy>(3_U+vUBJ9QSa;`f~z?~zhgP8ugPPcxyK75Gdzz!E(s4(N~^@K3*m4PIk4$5oBm zDNVG;zB+%=5<}`(yxvn(@E%7@wXrP*1lS_)8cyX==*vl`ytiXzlvJ*kW*!4lUVy@P z=Pq1ce&w(I`ttmzpIQF5|M7oX?!57K+pJvsQzX}a>{pr4Jmc6|n8QY`^!lX@me~ng z?XvDuhV;SuMJH;llP)sp+ejf}pU+hifIYwOjQ#$1ZY^Ja=i>6&&s~CzHpF$S#yp^7 z#ji^I?(ePJKV+5Po68Tr$4eZy9@1tt+ik<4pl`SBQ*-?A0qUIu*8FVIjop^1CT!~5 z1+|9sGVo|;1sMgHTY*8PZ8hPXqs7zwu<@TT_^DAvDK`3cGE9ai2Qv9DV2vp#n>=CK zP)jLVa5)c$uSg@b*>?6=e{LR0;{N9cKVL85fgE}Z5uGdP=Q=ir7 zDbt@E(`VU_YS(EdfPL_mCQWnwLTBD^gMj@*-^dH`_$$D9;MsU2-pb)_Y5= zwc_}l;u>n1+;qX0Vde4Xgkzl#%jdMiKaTSmyp3qQbd7uZSR*$3CSZhVOE-sKv?gs=TC7Wnhp zAWzzYO5wFH@;=p$)xOnjp1oQ;;3oUp$9I?Se&gEm!*{ulV8YgMA1CK?-wG{4>s-|W z^KzO%Rj%#C^7#!}b;b(o2g(O`j+X~FxR0Q{SQSpN$8*{Tf%m)Fr3$#$KezEdga5Vv z49^S~nE1VTjxFe&Naiy#x9+-XTt1(rAkr3IMtA_P_lI7Wj(v9E<)VDww;vUcEw=^1 z?DU|*udwMPk7iGihlr7=JkHPRq6yag#d$M|N- zu*0Pf$f*K(Fc1E3EY?YihuBJQF%o0yeuV zTlvrpN$Z>9jIA*zLOc{U_mawAiBHOpZ;%@qr7*lz7X47RYnK)HqkJZtq4c->VoU** zZHNzywLh}x=~MQgN=19WU79GARN9f0yDG!jzKUL|{ zp5R-Rmt=8O7optj+beGIp-m+Vke<+Vg&SSd(2K<5kWVaN%9tV`r;1P%NlR0}#M5XS zv+ zmRoz+6{{VoHwaJa+T_kTHoC-2g$+*or%VIeY3jC78l)YX;wy=J3rt&5gIwX9 za+R3ES-?uI$MI0{S59Pft-?aS@@zT%C+$G2|B@tRz-4RoJ%JCy@It7*VkoX$a9hU6 z*(q9OE6)&q6J72#AEa=8tzy)#a-|^@PnDr)q}a+cG$+d}w1WI=`BR>*CB*F8*(Z!2 z0mRCP9c92LNXKU5&^Co_q{4W+3cR+R#>NRl**31M!XtPkEW#mmnFyg^v`z?|(yfd4sE>@nHG=fS?niq|v*+E~oeM^aU3l7%gb z!V8|OaP);+Int&;3a)f)sI)u|&ihbWH`Q|69>@dpLBPjFtsPrSj^bhrmhdL+U*gnsJStkW~XmzkG+dT6imzN|ck8L>*x!PvBed9x%D>4q;cFP|Rz}dzN z2c#qx!hlUaxE^6=R?C3((TC?IR$^40WuU+^NCRBIg@!}Yh;sE$9{hm#fLU;@f!2qw zcA8q}7a72P@N+yMTY5UMN!vU7;tR`nzw_PY;X7B0LB2Sjgt5j%QYBA7P%!nl(MnCp z!`pb7611qrR*GZ6)@*L-OKXb=YHvpAD)4$lN7Q6BXaE2p07*naROn+9P%`P4DC2WK z@rC8ZS6|IwuMJgyRDDwSv`64-&;tQ4oMWOb7h zx6<)I?8M5uS8rx;`+_Ym73vyx4_Z7UBmc*7Q_ zFTA*%;hb@d+(~RF(6V|ejm#RY7Vq|9j1^=Mr!=Ov``M5OVRSjbV;gchATON6ZsfH+ z82|!*fpXhUQf6Xpj26r6IjHYADK0U2fA{eGa^sudV)BIZ)?nc#f;R=08y=$0hosWd z1Z)f)b$O0ajI&oRFF*O*rRDmKYs=yFcb40{EO3V{Os`*mfBES82g}FT-dR5S*!bP$ zSYs-_H@9?eB8*B^v5tB_HEr(17 zpJHX@8Mfv0cgR+92T#~qmMvz_A3k7vK(-?1?fU};)edi&le#@uDK;}I))^W9rYTIarXtv`vOx39}&Fa6tnd~n1HN4LVg zclX}%{U5xweD8Z#mj?_KR$D7~QYEQV9UtBLaw;KyCI6J)^>qDgBb)7}1yuVnW4j5U zs!=pqVKsOfj+Pbj;4|0~6!M9+QCaa3jA;tM9FWsT=JU&7mFqYM&fK7WSbDp~dk%U=OC-Tcs-Te%}Q1VwBzWu0tsn_Kxw#Et-v9Qt}* z9y;5St4J=taIpOBzxi)3zy6!QyJiSV}X$SB-VEuqyAfE7hk*$fX{3o=LW9s&R$rfKA@I|gnnlZ_H|IW?jmtz;5N9Z)a2HayA9D1I!PQH%9!|eZ6`~`xESPW9}6mGij<$2`%dx zl)KfU*ZF%){w%zl^MqBveh=6eW4yjNTCR#aHd@N*%PCF*8xW0x@`*`9>L-b0*8^m! z68mF+wqyP5y{q>)!DENI(w6EVW&XTg(q(0(lr|hpOr1oC^o_wKy0eDC|;SibtTHVkx*I^BR1BB&`w`y+KR(OuH0&1O&MiJ;xavPI14LJ!xA0q5ubuW6wl^)` z+G*wWh39(zN6z>_aRzPiuL?Lang{v1G-a38OgXeUiIS>#JL+M1$Im6N@TE;r!&CN?3yle#fCs7i378QE|Fh&3X623(xbRfrI7UZ-0lA&nGei#H}D|(&=)~>@~!?0_dckvaNG3 zB9_;4)N?tLg3t()KU+jY=JUDFoARAu#j1V#1HRLK>*lrP3$J~Ni9c5Hmi9d3%=e;8 z4zlQ^5mUOy$I(%G4tQRUP0@)Dy#|oh2CouQnYTF&Ukx7wr$6EenN29%|&NyEa1uHkWo2T7Hq zs0a?E@+N;&kY3v8mq2DgwiUGUOWRbx*g{tVBMKjuDn}&)SCsV9*#2#E>-iZSb*M6@ zGXZPig;2yA4jAi-Fs$zkQ}{DRf0NGHdomy zjSP*kUOG-*(egYMHl9MPUTPbMT)NbvGM@^ojQ=kHv7n1%YjvsR{n6emQ-G>i;5P~1spvgir&_<8dLeQL*QN)vixtk zr8k-8u5|F@P~yl+++^Yi($)D{R<+@U3?4W{Iq`+=Wdtv99~3Ol$PLS$plp#!xjAtP zJ$9HI{=z7+V1o;wktuNwLvzxG;;D;4m$Hjlel5LaZ;4b`IcT%76@bw;;rqD!v(apF zidG#4d0KReFm1cQWlwAbu$QU61fnT}aq){O33VikzVI~t$Qqu=lExdsHZJsIXb9?{ z%*c<-)%=nVri&J;{h@U2A!SqKja_Z$R;H3S`Kg=e?=mKmfAvZGVdvcNsk)4h5!Kdg z2i#102chnh<`rGTHr$pHwdx(Z)s6<7h&JBhqhx@z&zsSwy_fogU__n})tSg?R(&50 z9OAQNKFPJ(Jj!>nlrdrGM&>jJ^U9yq0oCqGS@ezosfJmeDM*pFu@!}{3t&|Kkbj6v zsJXy2hX27=EY|+FX;)rh1zm4`SDMz3yvT0&+K@+>x?096Hni2=O3E-B!^nTNGZSQo zF>wHqm)&~-OpTQz;a97$QPyIkYJaVS7C9&C4c9oAp8($RT zTIV7HQm^$=a^=lWo{*ecUVH7z^56Zp|NZj(3xAA<9iDPBxy#B%Cga>L)(N*v`ex#n z6;FXNLBhjZ26uSC(QjE%lQMa`-TG4x6yWUXY!!UKca~23%N~>RVOKu{rMU0`%H%84 zD(k>n-X+H1j3rS48R&#gF9>r0L7LDZRJd|7VL{>qeUxIK^m!1Iu4tY3^*4F@n@kh~ zJI4y6<+ zyKddmjK~NoK=A3KiqE`?im&}HYIse8KmYs-%S%7;<2a-GS=Cue|7we79_*PE@cXUW zbwnHRd##z|h1kI-w@9?9&hb45%lQJ4Q5_GX4_Y`ab~69=?8cCo+o_p zXGJ%wec4YLC)yVLt}}yf>@;x5R`Un^&f@#ie5=vb9B25J<~g^3K41{dffy!z5Bc#~ z=4?-$ZMub9UP88Eir?Zg^5rWhES&)MZTx$;U43FdR_D9E)UW!}J}%!hXBOaymA*&x zac)okh)MO2uYa_>{`wos+wZXA0lHL+I-}R4_0@XIyYV@oAxg4{NTvb`XBAFJ4Ow3j zgvL5IbPR2^qvDvfHE31aRt%=YhoM$)a6lYLl4702rM>3Gn8cl?`&UeD&DSvUHYfch zF8pgAxun&oFHQTi3{H5eyzpb5#KOW9y5cVRS;+)o<&nAyAX(&z42alsDgG+#b}aF0 z{%M+$8AIa}<$29G#mdu{|MV{{|L))Y&zDa<%gYtC(R=Kaa6~(BJA3=0yeyz@f1LXX zq_xY)Q2I)KLFy>HNhAto@*2Po2`9^2M0H#lKPfBa0WW|0mynbd_TB!{UeZ@nHw=us zv%&LU{_^qzUUKrA)|rU(T2Fs}{O-r>Fu?cE*319)k6jVM9iXuPaC5VS?^Zek} z$ICI_-~}8eRgs9&OiD;F*QVi&3V)&l^~=g4}U5T%IrL1R*Xn+)gISuNG-eL z|EUkiESo=J&i9!1JEHb$XWg!ocNF}jz$>5T#f>jKPkXIZS@$1&u)O=m_m*#d^M}j( z*IYJ^f0;Rc%*`j4b=t4n(LP>o+cHRZ)X&uZ^6t%XbguW2P2gvV9M z<?!lhj$)5p#Vc)bi;{IMr{&^j6pAiHI3O%F*RJOJs{XX!aF;Fi zq3Msc4Y`_|mjS(QAj@k>O^n-DDBG|7O2<{qJe`T{lriCSq1Fp zZbZhFd4bC75i*gVxXWX?%u8qA>9t0?a&BlFX~ z;p~6;kIqmPwdF1@1=&y8k4adv!yrm={z&T&>toId{pio@koD!hN3M`Q%PtBRk3Qme zbvb{0bvd~IJ_`6uixcNwadlv9sxn*d^>WAkw|4tX=MEXiJOh64;m6C@Uw?D?7hiji z{+aFh>68z>(bp(~QQ28OZ7^{Ex|9-VX49tqa7}pZ3!}V=dr102UhsME-G{sgq+OI! zL719r7&iLX+7g}Sr6TLrN#L_*c`m$kusnPD@$xJ$o<5;jyz|lH<-VVU;n|d3owLIC zA*+8M`drKf!LxvRuV(Mb2 zuE?8h%cW`LSe&tSkjG2+qf=W>gh2Y&RWFaU#V1k_jhf=wtsTy^15yqi;BS+E>m~f)N15eyMYFo=CV$_gS zo_}@Xi`>(yS0P0w_USM_PzFlmK1olu^aXQ5&j~|zf@LvmHaBD^s|kumCrq$xPld9v zfJw)om>XchN=9_9dQy~6n5nwBW%QCSzCpCE_C>3E%BrWcDlMCm>N+YFRX@U`2e~=n z!tu$2H2%uQ!3!(-1F3?U+jMs_B+(6O?PLYSzhzwT0mxrEBMroQUIZR-n>~?H?V*lS zuA++!4zX&df9$BXTKYzha#HT*o0D51;nSuvUP`Fi!JP|8#e|YmR0ZiHY|$fe%205n z83q*TExzar?{VrT>DE2`8&##of`}?-hkyJ~e0B7qKfz?F7d93T-njc08i@875)Fv} z1Z=oQtU7jtB+cz0a(^P6Y>S0%7p=C2#yggTi91JDdc*i7X>Pd3&LI0BY~-(n+m%&a z@fq>c{NWwnNH{^0Iy*dxceY8oxk-cyb~Y5Am=#$T4Z-;T}Cai{{}_cuJ`}{&OQ8-xX8x8*>T5r2V;< zfsdhSEBAb%g~!RP|L8yXEgrTnq10s${CLQ#l_{=p;@2yFwJHzmj+(*iL!EW$Y9Ut> zr6w#lzsEc@J#qZ)0u#Or${sK%o0UGG!xMf==>r&P{#%x5cmev7uFp+AyfOzvIg!iH zhw8xbXFb?9kFu4+FB7@&`OsVPE3NEIPJ}KNNAFBnNIUinT^<6_`OJ$iEpNSleYx}f z*BOY#g4Tzq3glDU8jxV3h&Zmn`ql?&KgNW#`A$~}q_LD;|49|kURG;>MJT0HHh)`a zT>`)jjp^8GOnu35ni16Je(EO~5P=R`q8~)n2L#l++j#PXjyeZW57-8c$uTEqnb`GV z{vmeQ9;`dRllzDXzoYwX3C#*Izv;NHB6pCVmkiFZ{qHdk&5vIF;`02@{mJF=MZP!b zDqmzBILRW96Tjp$P)_BzEmy7nwWQjKZ3g1fH+f5+ zE!^@QE_^!QZ}r6%+wn2&(#hXPbUgM04_Wp3?$vjfZ+`14E1hr0N6Pc3z6!?mt21{8 z51qCU)^xQ;^I~+lL7z8e0l?c%WlN1fSJfkfGAb`|(jKk5OE|9ka1o!sO1ERaPf9e8H6;QA2w%noZ-lfeS(boND zb#3okF9_9ns&6cG)oIF3I<&#pZCET4jSWqJE+|Ic#&qnjW(H)#xy=xaXWyNDN`y})3$ zt0_TwS~G~6>$F=z-@ds#xOsDVc$0}=R>*su$j$^B9J?{l`x|t*8%X(^G&uk4+aEBg zc;nj5<>rmsOa`&l^ErB62HKtEa~nnnh24f10d`6341giP=Q?zY@6g|1CGab()_R^k zfjPWAn00>XMf?7a=l`qQ7Qex1}|Og}GY*__U?D(k`}?ys2x{E)57UwM^w!RuvL-+Fub zKHvHM=;m#5_?(KOYSwx`X5{|ieI|hKJYGJ&#gF-6FI$h(?{klXfixLn`<0jx3rz#A z>H}gq43@DD$*zZ#DSk>Sa7mM^3fcI~hqeg1N`U!~4**1u=#ZB7sk;ycH@XTBXsh1{ z-QcmLv(*+_I2H=tQ%XDfCt*JAWRFt>e>oDFN?Yjym1Lk?%r9_n{pCOYbIY&(#$Q>! z@Qc5^T;bc}XPMNsOb^-B2p{g&Kgc{5%?n{ing|r-25QeBsTjC%$Z=@#FY+ zYe{Wi+a;Z4nGjzqR(Vl+l78rnSFR*DgdPNq7;gn1P|CU1%0?%Ry7?uBxcmWv)W{b% z>B4w4l<&laKQPbldL9lBeVeefRl);xnc^_R}}sd3SmCl}|6vKF{ty)-ipx z&!NX&kG%JUr}Qe)wpQ`@4E1@2$jdv(({Q^qKgD3>g@+hW$|QXSV8{!?m>{j|;Jr?q z<>$8bXT%Zv{Gi>|Qwf_S_6Z}XH^Er4p@n~FrfzHHuP<789pgpJM|WBE`{8oo!CT9@ z2Up2o<361iJAF};EuWqI&GSn4*WOEeKUnt*#F-4G%v?Vnu$nAW#kANMQ#CLNO*f3sQ>b=YN4ZA$tzIt@XD(2uB;Whs5j#I{Pw)4j z`SZNVWVBV%`ob?9B|i82xruX31fR#z=Po^3p1(|e!~fCs$IG>Qr>1_7CZH=B8r=kG75lPq~{XhKUaI zX2ZU`WlPH(QP9gWwyok6HS#*Wa*}x3?@}L}xqRh!#`sb;&90rQqW+tcqv*;S)2osK zanz)ODtm&-;jIDy2A6o1D`P)@^3m1PIeQFOEo#Z_qa z4Br;F{~;7V9l$tSIz`1^j{C66NSUM=x+Ds))% zaZx)!V`TY9vdWcQmj`qxMxWHu8<$$C=iD7yW8n$fAq~RgJNZ$zm8ZzmzrxyhB}A9J zxye=z55MvkThi;f6ngC`SsPX5a}MqKv}Kjlh$$G^GNY}q9IaFm!=86^3g4&ACyc>s zru`P7CA^E>49zx5$wsbV%U?=HS=-t?LzCBB()*( z_Bzv-cG*T$@I@b+;ewSmCqFhuY!2awTnPvsXJRM=@6lUH||f07*naRD1v0a{1zCpmDIzhf-o5PMrjE0yv8D z@M5X>@igUgtT}Oc9@hp(6XwO#~JdotiWcn*XOmG1m?jmMJYd7;0*qQS7z}jS6=is%yUmW@<4_@^FC84 zms0ara?EcJZH^mIrcb}Jy!kKwdA0|OYLyU7TgTBF#6W?!zf+ge$U_t|{nzQq@9}{R zzU2g_ctUi>28qP9L5&Sf6f{@Mh;l$>iU|jUPA#wg^p7)`%Jz9aF#~fjLmlx2WK6^I zJu1GV#3YETcU>KtcFaS)TS6Z)iOPBnCifU_y~_kJ+xi|K-OU8BD}J3E%*wf}>h)oq z!IaN^VR`B2e}P>*FYrb=D?pL$cVXEV3|b}=Gg0Wk0WAQ7Gck=Fm{)<=(q&6c<0@3a zI9kKv>jAWAYfy-rZT;`}ja|8V%&OGg3lN92e|7tN#CM2~Z?nRUMt;Fg+oRv|I&gx42IpJzGaRUHPm*Z|bI)jhFt(k;U!Io^5-1N7E}uy5r%DK4B^LdJPks=s&bqvie^Z&Dte6G5e4-^?!wvR&8ll;rW2Hk0z6 zh@`9azW7r=&NrSZrxWGW)9&2ggtPj)~nT_|rHO!Nh*g)4U_=+0xr~K)udt zxKsG;5IIi%S}ufwWAFvNsADjPL4Ohl{xbQ?r0-J`z}W&Y9g$A${y@tu`gj>XJz;CM zqkG4h0CpvS12*+-+j^5f6MVjqz#vWr{o(%jll#K@Ki#6#xLnDtG>@StE^FdHm4-qZhz(~)z5ZGqE;yRoJ z$|_G{%VnC(z+{T}rUTRZ26IxLP-WzzY-9mCnDQL@mB0I+Er0fxevy}2SQW^scfU{P z%K>TgeZHkHf}#9Z0#;edSFHkLY}qT-rmbPh03N@P7*=VkxaG@aL6+FPl%i|$;7!lH zko3yjLMhDd2Q&`*d0*;z;l)oaN0+WF@BQH)vi0+=auGORe(`(Wmo78;;)R|*?jgSi z^y5eL2gkf@@|bU7Kf1@Z`JB%hkilpYz8t2Y*s?Rky#3l;CYL|_;KuS1TR`4tVAz*2 zEZMnB=b7MPxEp>a`CP4azzV=j_*fYGCRbu98=Tv|9V3Py-zEGC?Kl;J#I#q^bGFX28M!)jljwX}g0WYlltZ+1kj031iLexQip#-9m z?b&Qvpy#^%gMA?{0&tCb#P#Sdb@WI7`#)UX`^Gn_-N($9RE*6J%sfBi`n9eoY@MUK z{aY;1;~;$$A5wow>jQpH0=tsk+s(Wnz)i&7EKNx+X4Vt1GfK7K&EJZ3tB3ozA_0sg%Bg6ZB%`YSo* zo4gE%efmnb#T~>Z%+tBV2b~j=ATIuq@kfO40v9`Jyb{Xt5xC}!95LjBOVTvn(vA_( za6J&I;RhKaKyCeMQ77WD77`ZeXx|F1e2W-Gpz|El$hp3#!BB0Xt{WF#cy9TH-~R38 zPyVG}UB1A#UwtX{G21(H@^iksl{4G#G6{T&mA7t*#*v0#d+#>m zIZ)?>Anmkd)_P1PE>C*S1=jG`<{{9svt1HKX$^@Zm(&0|q08ci6;*9xDj{_eDSc?V z5?A+ITDuoJ_l%Jn`Pe^7JTZ!Sl^Wg{GN8_cu3#nK{;B#Fp^*vc=o#3){^hgJt3HTy zh$e2oB0!DO*aXT}W9j4&YZ(fcK9s)CiG05aOigCxtmpV8@3mk0^z!z%exL8k^HS23 z7n-y|B}FdhIdZ4IUFDw@zmcUpaPa!fa+=@y112@Ohre{1`%?7gUKhOb?W^5|=mIZA z`wa5o)vL>AU;E;6<-*0-WuYF?-u&cE+8^}l&2=jFv>zrd-ZX!n3;F2-`+f9S{6JcIcq{|bveIoLv9=vLLO3G&(dei=;5}+0?jY#8IRC(nH^5?zzCFJ|^ z<@3jPma~sOX43b~<=oMme4d3}e|qBglrN1VOu70*HRkh-4}V^)q{H-kxZW2$Ad@$HPq9tN zx%2ev_Z~0rzst4j4g}EY74HZ1i}(3qGy>xtg5|MW@g<`(ykz?PvybSP4j0~mTkhXt zE9v)WAC%|F7l_#2`L2_`{QS;uCVml;`#|eYu?p>=omC$(WxxVMYkeiGQPtnHgVeXU z2sY|OOUk`UDx_$FKS`1Ts%PUR1x=l&riY>8_!e=-LZZHDDh&*Tx^vyecXiKJ8uWJ* z5REJ)`6qvH#x1?zksN5?Euu*ZK4vy+omT*3TgmpkHXGZ2RIJtzm?*L9G5I~P((2iK zwAtA%345inVJmRKRgyxNnT6ih#i~8Ls|hAHRT~kh*wV^3yH1dNqHJrKhkx&&hE+Rl z#nByW)=J##G944zj=lE66|d-&xkVLuLO1p`6|>YSM7Y-T|5`+_@pVTbI@2gqEBLSUC!}K`6OiRTheBstCO_z$QjyIT!}A&mR%Y7%Qp4z zLwMzjT}@}U8lmqY_CLWu{j*?W^(%tEi+=htDui-|@QkU?u6o@y|!umIv zm10K=NrG}F)rnocJ7ENsK4NuLAw##y-f@)$(2l;H3Snbo2{5nxeb{na8No+h)9usE zJ#tGgbg5L?>Tw|aZTw1us+4UCrRw>aSY=r5D!6FFCgZ6xHE!tJypwW6qZH+MMD~d? z2@_hrFJ>X5UGh#(40igx&2P|vuYRlO!xtWLJ2~3WVcLbXff{pzy~!QEK#FVip?b>h z(%9(O5p!D8lx>uj*0@~z>K~-`k3OpeKJZh1xkk^#K+)CnjaPMsXFpxUml zv-LC2>B&P4Gy}ZusN|@eTRfj-b>snqG(Ke4gRNpqM#ObG@=)ih(PLl___>9!lMJZH z1fw;X)xX%9^Bj{wrzXW!S}W>d*?a~pfrWfD^Hd2DpzS+Y9^sRVM>nT}n-2n<4GaGWc&yh|i3*3=pSBY|Ob6I56Tm ziySnmRaS>gNIrgW8(p`MkG;GA;p4xPI;Tmy%Jvi!zph?(;_~5LCV_mqzw+#I>G|iE zi*5-=xKE=#g+C6R6h;3G(5O>G+ybtX(VZ#?iop&2OVM0~Or!IV^E#^x7))@LShfZw zK8+vpEivqipW&^+BW;G)yf!m(arWg`mTQ0bbtYygTdCKC1hWBYtLfMWuUKUyU+0Vz zL;n*${o3*z6Ebf3>UW&oCjJTWDeB0VMP`!MiC!nLGkI?P`4S0!(>8rtlO5=?Z0ghB zmWhf~YwRF)rS|~?P)_#F&#l}}F;kQ803Why*cHHR9qD8|2>Kkot{>}H)+-aq*x^9b z16Kat{P=jebCXG52XLI&V0D7q`sRfM()LY9OmzIe&bEPPj)laQ>V^YSXxk) ziGo;aXb+pP7Kfw?!66m`Ul=iQxWTVe? zJP`Tf=G;MDtit`kkQ$un`q?DYM}nWeGql?3DH;4mPj=-c*=5(-39&eQVB1SWSKuj= zHgo|ev2w)z7G*&<`J;ze0pcjv<_mpg{v=P6hR5%Q{>)$ch2`J*+rOP_*zJ3F7~Ffn zV4vTPv)$W1Jm>ti=823)HtDL*F|=*dn1r!m%U5};j&oI8X`6*;ye3zx-H<|>XWD~E zLDACo;u4`Y8~SZxI!#vtKO%ndl}|0#KfJLVz4>}|yEFo?4M(@`vl8Yk-#|Z4xj4NM zatu8E!5wx^xaT#&tFGq&Wkabeq$(y&K4k*$w}kKBzPnt1pNZe=A7@371F{)R2mg>A zBFf)v4C*3xH@;snVxJ!SOm%9*= zEvYpU`_o5jD}PDrPzo2{ku>%%o;GdLpHXn8tS>|1ha(UW*|mg>epn}j%||CT;KLdK zj|k1Gb~Ad7g;_3zb`@)HU7zbZV!mwEHVJbuQOVd_ZEola>9NX?GAVy}t!VplKIL%g zHZMs%X0o3byZ-6_{J$)B-e>Di(5X{Ytvsqjm#kIarpa{Bs)84w{J7!m=jNFq+pEHx zNpQHbIvyYdHFR+sQJl=(#t4;Zq ze#`H<-@fyR$zQJnv_;Z>%aPj@t^us-Vha;@fAF>=-vY+e^o7d79=)Z-_1kPuiO6o{ z>$U{Ua$DA?LtF#+1ZMmN{R&S)K_nVqzSEX&gVKOo$2?luz8@+ZPRfW9i!t_%QLC|0 zo?KFvQF?zJVk!J9yyXpNY>oVZz|Oh(%+Gvf`SoA_>&unTzqUNN{QPpC=Z7Qu;M3e| zWM6N-{riLpKIPBJL3rjDdzH!0$%nKZ3Nz<2pv`}zB+Yr#P%WwRriyNVXb>K;or&$c zvWk?(L(!V(dNA&?OCm+l<`}wy26e)RLp?Gr&-k5lErv|2?Rj+C0?H_cac349P+)UaRyXEv5pIN>{JIjGd;a2;k*xO# z+GT8AdT+q}fMW>{c{aN7(VgX6-+piT{XcwXx%wW@h1_S`M#@7PtZn30p@p$2?J>x|3!E)ss6UlGU4%so{#sgk3<0aBNd`jjn&uYHF&f`sZ<=5>gL8r~f<`~er zD6IZ6q@Kb7fwaJK&mCdS6hbMGhlSuogrxAd1Kxnc7w!k||@U z)muXNjok%NMpB^4tKdWBL0aNULRUOe#t(%O+o|C!KMk))=|_GOS2V22m4*UY!zD-Y z!L;~&x{M8^3cM4(w^5n-mGG0gb%MbtI<|c3HYi|2Hw804PHx_m6WEZ3e=-rSq7I`b z_;R$M5gU6X9Xups52+F&F2BwKZ*LSJ>`g0V6~0PHLY}n8GUEjA9;E&fvy<6kS6uR& z6)R=yu1KjxlT^zU#um^_00R{k;wIfUprIe7@D(x9gu=lUStx^M>TYQEvGg0h8sOkd zRu$!hZe@q48?3oj6nPY+2CUUDPBaJjs`C*r0GO5A)De($$Yof!6sr5?H}34D<{I;u?$P3T8I zberY+yL3+6j*mR~{oBs%(i?to)$TQ{g^!Nr+ZFF5LAyoZYB$752X|7SxuR2ZhZq5T zoYJUOUdVRzm5gb(GYc3T>XW{zc%c6#$|sN>00M~RuT64>m zUA{c*nlLnpyrzu{q}`QT`J|6+<+(N|Osh-;*!Rh4upCpqWD44F2?Cg?^39yGBPr#M z;T}Mi(2~1}0M0Ek4-6qKv8A$gl-SCI#ye_5%G61sym7gQt^A!JN|}na_@@N$IZ*qv zFWy{!@z4ERR14dy@kZ|{zUAXeVBbE5AcM6I0GqXb^HwiZ4s2SNJPq=oRV#iEc{uig zI&~C&1Tff}RiEJ{9XW0t%mW!St1JR#b&(G{+U#Vj{2I=bB03)Oa1Kd=9!~q|yjcii zmnqwU4^7&J$UGR2-P*4IIEKFP4(Q33qQX-xNm5}JB)DWy&A`CL&%L_5@vR>$58izj zQwlG2Oli76JADF&ys3}Ct2k;h+fmbii_D-vHa=~QwDBrypKh+<9U4edewAon&J6j+ zFT~G0e|dSH34pxD%mi-{> zCQnYW3hTVzj%7mdkvJyTF1`BG%QLL}J>;c<2dw;k?6);t5u6D|CxFq*6ZK3gr1%_+ zt1inwHQ>`}$~c2A7T2PA>X`Oi@uAd7)H8mI_U=tqt1_@{Ih1PMIIBh8$!&e`#MN!u z!^F>hwt&5W-KQ=;vmCGr_$-qQUtj>}7C6h~V8R3aiLMMz>touoI`zF?=p6Xxf8sOC3k-(b$0rY+Fz-5Z z;x}93I`PY7Y9^uK$trTn@ zc|eB0+~Uo*^ADI5W(+QLQ9vQ3m|%Hmz43$J7rlG?m{q+D+At{efWe!Ge&3hA$o|N; z`rVTJ1Gb_48s8;*{Ri(+UdpBKx)08|O@5sarLVF~YE985CL>?@)8a}|d2Q21fAR#b zguUU(1At(@NebyoGqk#6^w`GBzLL304^8nFt@ad6`KR<)CiTtgU-eb9jMQol&=i@v zEKk!&Yubb9#s!$X(9#oWMJ6yLmPgw{B962&M6RUbm7jQMlu+k@ajS<;ejwCai|d3D za`pk*y8mIT{~vp8`OUxoUoS6z>eI_jCcf^{-tW2HIc+*^%neCE>6A3_>>f*2DI1uF1uGDdXa*S!Rflr#0vDZ6acG5|1 zTP*Y(+itFoAYpM#UY7gz;+mTg}1G8rP5G4(Z zC_S;$OtLQZZQP2g#7-^tbepZ{s=0c!Z*z#k_uH?A|qASHty;?MwjmGxapljl|Ra6>0-h#M7J`_ zBPqcucS;KJ3Nu~IxfXSH`l#rFU`j3JN{5W#yZtF>FV;-uRZwZI^5sxYx0;-#pC5UC zfA`r}KEJ&2?zQFa)vNGQ4*GUj{ZCyH0Y?^v&X_ZJU*vQZr*-Me2B)3ywJp(ac!@d( z;tCVKet$am?A~LBmYpW(SKRTyyf24-`2IC^rMS3!_EVps&jHyLX?x{@sM6R~{g>C5 zYC|y)Ay^z)-n%0*!G1P%WM?uBL;azKq$|+8Od)Azqy?=suZsrDp4vs8zK~tIMi+;0 z1eFf?s!#QLa)uXKFR<0~rQ=)d=Jeij{=w_Z>7(o1)3ep{DaHnT(X)HOvXUdZ{N)oN zxwvv4&9hT|?W zhQD~s<$6ffoH@fwRlF2*;Ub@`favXa-Sr1wb0HYnv+_5!5eJn=gnM2GPy4vYw|_4_ zd$7F3D&PmV4wmn||75v->&bHSE-$U~nHa|~@^X=i{MR3vM6AtaWWlY7DX%(0*EA{r zv;o;b+IvmijtA1`M6iq`km+CN0-Jm^gk)tXI?J2?f~WZA(>FxKC+R{I@XG6XcG?$m zjlsKvlM<(XN_v$gMT0JX&?;`TGa^fP1Tr5%<{ur@2oxc-w1 zSS8v>G;K=VhKZ9&zEZJkfPw2bZ5|zwRulrYJ2Ine^qv+=3QB~ zoaJi3PS##7Sgnq^2WPMN4PZe85>udoB_C7~Y1nFf^HiiGOjRg;3uM=8JW9&I_-2UJ zDw^M(u8LKB+Tni%6Qiv0oa~0s1uMSjgxPsap2R9TxB*~9qzr5G?-YmfgpDvn2E1V- zUzSA@^k9`6*(E>S3Hg14FPSHKR2KMZPaqr$P-PO@uyuzpL#~w)x%I^?W940PsnKowfQ%8RNEiABI#q(mzFt4*3zduDGL(S*~QZ$ z^vhN7;*WK0V%b+0oU(UI5A{=Vt5u(WPlxhBVWuoa18x1U_G#NHp%X?WI|&Y(?N95B z7G>zamMVXl2(}8p+Bx=?sybRRp^prh3DONrs?xLfYsdm`6&exBvbXTUJZIWv4V0|q zt0zt>R9m#-g%0e54EXb>PW~ffM;mG4)QtQYsEwam-#o-fJAPWz&ANw+t1>Dxx#oMi z&6PYw>_cP$EE|Xixh5Krd;u%j1ScJ^6EOOot{*%UA0W3yl-DZXps^yrAzv9}ln~t; zPJb46j&mUPUVFkMC0+H39A0DVBCu6W;gt!#Nrz;m4?5Q=4U<%eXysKpfaD}7oOTqx z`I@LW3M(l2RX-KWOwj-UAOJ~3K~!)q&93y=mpeMsmg<3W(`-G|!<%yEytI{Apt}4f z7wp(>5$ad>0dKLT(Qp2(-{7J93i_FJ^&yW*yqr%w(76iOL0})uvnp6=nT%oZm5JZ8 z7tb;1%ET`taq)}1R8XxJ=7ApDeayAaoY?gl(T7F9zj>F3C+1x;z-GC9e0}J{G~WPx z%tN-;^Aax)8SxZ(Wmr~YOYFdZmE5<-W8=UmWN2WO-e6qzfCH{g;TvA_O_&Ec@+lLt zv_OllT)ez|boSD6?VtT_2EDUt8{GcduZZ{<`m%g{UUeqkU@kFbmrh+XI97-pIe;yJ zr0QX-O0#QAt0H-nD`0?6C*f11coQ8?u~p(rU-~>yD}_OIS9&tRM}n2wOpbxEM6ucf zFh@(X3Y0ct8*^(krUV#GWjkjkeV_OZU?xx)6<|)4`eZQv@XJ5DT=~kMV&vAzik9@x;?8I+uv9$15 zMe&E_jX!AfX)Cw@q0qk7Lx-6GI{qk~^Z>K%@@Pqhd`Um|I#~DW!**LQD!Rm5@ zIzsbgdFk^nFE2fRi3QsD13OPK@pGDip40d#lfL*b6DpQXc}@Z=M}F)RlyiwhY!6O2 z^sOUA(OXvbX&?HWtM)~9Aj;+gn|}N8>^bU|cAHf}8n2@MRjWZC^vBrhx5u0SzWJdO zz`TIM$GVP~XmSOxlLI$yvP$92_m;1H`|9#xf9qEp_7ZiQeNI-0vGsv=SwTai1~e>b#N~Hns>NNZ+b9>h@*ugESKvS^>`vzRJ*X zAks$we8TnPEW28qqJ6kKxjfr5XO(@Fi?eKpOgR3+Z~oTu=l|TFXIsA`wuE)nzu*0> z9Wk8Y@O;Q>)!0;W_0#Gb?bF&WtMy@CKx!a}og>QZ)SEP0dyxqaVM&>9*(RE=lSUQP z6NNeK3=u6;f%f+pUh6DZwkIZjmVxdIFTS{Z_v>F@mfJVd2g&UV6mA=R?gC3K6@@?C zR=rMww#|`sf0mPf4^I5vW2Gid_t)Rh3hQ5NCcO_apM$Yi@%X;;_Q|CS9KzL*yBxsA$wQMm4vcF%aK^A3Uok}p zzkQJ<<_@Xw+Kj?=kQlrrQ}P@w)8vziJ|Nl?`@|xTgKfY`39m;7T<;#;`EYr3``U8) z!5v=qqR;1g_0IRNE?@oKe@6f3uy@NCeah<)Tz8(+h6iU{yv-lqw9VL%YZ(N#QSZ5I zm$@4RrYz@v{4R99-AT+>E0*&#Nml`1e2$5Xi>Fz+#k~d-08adPPvT(x9VUKn@w?L# zzh2Jo-Dj0J+dgLn@DcYe+@l;nViK4Yz{d{mqdS+J+`HOVs*V9yU6b%Uz)b%eW@-y- zE(uF+Emhr7pp`I5X^JGV?J4yX=^O3F)Z`K-Y|K@^)eo1N!j;TTjckz&QK@g+f@qxz z(3YYc4k^+GllT!h;iWsNBJ1O6Cf@$!U->i3t6%=fWqIyX%VT#}VY2TLb;jKV{dJx5 zPPoyN=Njkvx!!9dSnJ9^bxwGm)j9UGrS(i?yElwYL)CZSX>%phvbO9H!)WaPkB>cBU?;p;PsR+Ga}Pq$e+BUxc2MthXzEngO5yr zBRg!PM}E_39G#YcAbqY8Ov-Fmm-z-$W8;_VoZN{mrlXUebj4FLbu2pf`8~DbJENEwMRi z{pnb3PasZP1s3TZfKlo~qx%y5`gvCNUU>L1-}!xqt)AbY|EJ%7atCIfHV|Uc&`tBD!}KYn@s$E<2xTLzyG!OmLFba;+J~|%a!(te$9(1z@|ND zcNrU2T=^lGvN60cmw;l4EX`A|I3i^mg`z+vi>70d{EAEJ!MBVcM?zs&o8-eU)h&4bpbi*??gtK*R^#?8g=H)lo4^&V-DG$b?gDSd_QF=;7 z_(q-#MOyO7glA-hxDKlW}~8!Nkt z4z6KI$2kR9?I=V6PuSCr=tyItFY#zDwh}R39froWPW27NmIeZR>hWo*!TpHB@9B0$ zT8+_yl|}*ql#MN*ul!CjH2f%SN)4;B7hCcY@~;s}E6mA4jmD6~l8wq#ctcc*imtgL zeg{Xx#$CK#0+msiK1Rr@If>GvEbX+xmD~W7n*WwQ>8b3e><;k>ex)F<=~_yOp5v;n zY;2A=J-Wj?#7gKBD}*DvY~RyQxr5>M5t90)w~3t}b3_!*|l2lHE+Lchguhhrjf0 zxv{G%KuL1+MxdgmMs%{WQg zVrYVv&{0rOjBexgp{qD0sSqWT*~Q9|F=6_dYRlyl5a1{`u=oUqhk@)HXUvw#LB8Uo|h@b+o5$lE+a9ZhTL zD{Qm%W#k=XJLYWPl}h@Ig?zBwnejew8CBHWkWqXG^#6B9ah+ zWs9PUR>qN0gir)lx+2~K_5AsteARi`=sRG7_cT8ToSlfQI^|&>UVrtl%w#@we~JO) zOj1IpH=NKsWR=hpCQLa&FX0rF}XFk6ie&tUyXnUBgRZlUn;+D^@0IscroovBZ zv=0Y%--r&2$H(9C5pawNcacK-lFU z6eHA}u=ddoJbE{fDSry=h*&zaTWEX$h0)eJ^Q+y&$3V)OvcQflmQMuQ_++_byoW+%Q_!ZIPf1gC{NxA$(MbCM9DI?2DYP@H+~IWmqpqBfVtA|;NqF( z;;Wxue&VnH)#bIn@Mo9X?_FDtZ?YYFE0!)IIV27*TTTAl&nyS7Cw0SFUwONsbG_b<$X$o1#DSPbRBlhW( zM{!ZOT2eeBPwLkq`@NJ?Ir#9|mtJ13u`KfXH(qBONcT>xg5A6KfK@T|!dLocx~wWz zoqyIt0=hl7?z6n|Bfs%`ot31#fMMSrv!I(e_ex}9pYXmXKce3{!#2=oxzBLGUeWe( zhuj~qm}{K`wwHRueS(vtFCfG|+84>5A^tq~Dpz2<4X^$05$Coq1ksy>UVALB-AyZ~ z@+7N9!4s>0OV`;?SF8xY_S3GU7Vgg=b?)~dkVYF_X)8Rxz?m38hSymyy)|hdp8k!d zN6~kuQ~iFO0CFHi{pEmy-nlWmDN^+H0AUym<)< z9@~k&@RPo-0zc&9PPH>pM4k!YLnncsVd9AIJ|1{o;6{e7pGjW&_?ySeJtlu$@yn;& zxgN0BjXRg$JH^j$Ir?4T`aN<2_%Uq)-{(i8&gF=>u1A+*TrVLHsf@bV#+gCIGKaWhWSc+RLqUBZdyLjix7IqOABw`pDj7STof& zhGx~R0WCutO=@?6)L*}{-*VIhf^5P($1n0-&A<3-zqowv(_iG}n-`YH=PzZ|ujj7y z?mgy3>M#CNT!I>=JXOw|U%)&QY#$YDM?lDr4+|xn6k?<`8GDRj^k=Aal~xaUpEo33%#O zS(}XVRrAFzaLR%ve`YuG=+f^>ix}xlga?fFkQHy=Xk7KAG(+=6hIByahtBZqch*T& zc&uMv3VDI=0YBk8^*4U+pYttpb{68#^FP-M@Jc_xIC*?g!~Vj_OKE&z$iC9P{{rcA zzUmyvE}MEn=(;m z?M+#UEu&@7oohRaf6!x``{kNsjc=rbTOXQNL`hRp1yBjrg~?=-CKX-Al7tyi>XA-6 z>d31W>`HXRs^6RJI&_t7uiv5Xzs9qPyFJ{;R{DLPg%qwh6ZU)jazDt+U%mjA7eFC6 z%_Q=TTX$LU`~LEKUwv=+-WyE(^5Ts)SQnN<-3gV64`UU1|MDM_C9F{5uxw2!uhKL8&Vw099b~e1uv9=q+ zwq7!&RXk-fhpx2gVD@Qf_jG$n4If>e2i|VD^O^12KDtV}YK-*qW!tZey&UB?C}4fi z`6LBaBK4^cfCLobl0zfO$gMa`)m}u2U&EFg-mqGKZgh^#0OU+tqPw__J+B^|k` zw4JQIo=9t4qSg@_0H2`kQskVG0s2+%m=b@9D8NY>Y2jN@AQ}Ftv2eBQHLb95e0WN@ zvRAi=HvkJ(!KRJ>C4y8NrLwl%ut!!12iN5cc@P_)*%q^wZKW$*?C)}|c53gGWfXTD zdWG^IZC$qET~!JXK`{>A+)5La1{r{&b5B=FIH%?tz(vGyl)^OW5+X&xs#8@JVON+> z&?74sf+j7|W*R_Ay=fW|1yzS~^Iz%EH&C4`f2CG?bli^lq&-?+yk&>H)xbvbo?ckd zkIXG@DMUJWsGf3ggZDZ@ALUg>%f0E``6|2~Mz$Iain{Bnd>ew<>x#E`Qj|PO5e09{HW$|xlqajMcbVncF_^66qR#cl& z-fD-4)^VarilL7!NF9W@!8nX0Mo(aMXi_pmUy!w&ZG5$1t&KFG`?gT&*ehIp3I8u& zZ~E<9a@P0lGoL%(R!_IPHGq+j0ExjCGX!IngNeb$@j$#_VLK~v%<|iKt-MH9c$+^f z4uODWBMGF|EVb0*9s170neNHw^L^^sd!O5F>YTl+>Y3}Q+V$JJYFF)|F9!exTvaDt zoI0zF3q({KiY)vTN?_7fXnmEN^@Xi-Mca0!{$iPU{$^Q=jJn2V6{C*I#E;+z>j|Bt(5BiN5LgL#R#*2Ql9p=e%6oG?4c%=+2%90mq8HS>i&Zd>@~v%_t#u36 z-c}PaBNNFZ9e&ceiGPM(+Z8fMBO-bgKq%d#jX_lX-C3P2zi`!d%eEn;M4=*E2B0Y4^Bc#Pr=XZRR( z+hWDzmXp7%z;Qcd+f=r9W}r8dzZo#&0f`5rY!*fAWU$}-d&)!8F>lQtWN=NXThk#E zzE1L;@}~DOTQ+X{_CKq4{Px#VR`NV@t4W?XTn(J>17l6v89WZ)`uyc{or819ldk8y z>N5aa%Ctw}StW!sELHf3i?{O1D;{H0)oy$+Q?C#QB`-1%arDY-)A#?=pHENO(lV|M zxhakSN)~_$g4b~ALx>I(SDPNB5DwDOw#kRNpe;xKwD0^rqYoRU>vpi@OKuEMgaXhX z+T{hpJN@v7x!g`}%;hwqLY^Z=^wY~50tbijX;QB_yY?zm!z^a-nn zPMJVBq5e;>0g*O@!uvBvX5CM{FF)4YC~fyQ3sl>2uq<~l8T~SM-F1t)}5Bp zGMDY67#Za7dP~0!ZjTkVI|mGCv+DQs!0-KH7iG)0X|dPIU$=NZag{F%>nUko8(CsqXzr%8)?F(1<9`MEK9(-G@Zo9%j`34h4PKG;~;>y@_>e##;bW$}u$?$VzS7fesp;fgt{*28P{WnNUc zedoq>_j}(@dw0}A-tw7TMO&%l1`G(a+M0?*?zt=Hrx&hWW%7K~7q*6mwh)2PdbLn$Ptb?xM0B_ElgtGbnU4NDOjb+?{-V9aaIl^h!m+EM7;U5@jt;9!N<9@|pa1TZC& zN!hf>r_{Uc%DOwY?wIU-{OE|S;Eq_-=r+)Y(_L2lzWwg4>C4}Id;0cUw-{8U4&l~+ zI@Rk#+mvc+OZ%tMpU@#5GXb0uSjI3|Vi`LCm$6R7CClCJ`h`V{yk%p|&_vA{CKa7J3ob6@w~B|5IUb4hjp!|kmF)IOWDN9> z(NRQ5XTk`DmSG8%K4Y^;cw!sLmT}5A#ZQ^=+kfq~>8F45x2K=~!+$+};&1;vtIIw! zz50`%W9!JTPxtOToHl3&bPfuM98>DuXJ?0h@JD|%{UnpX_Z~f@Ej;0R_gZ!U6fO2e zwr%LkK_=ua{yEe33lDI83O5wxTA=DZ~ygl@A|E@eeKh>W3H167tb+p&Qcpf>-Xgr zR~~uYJ$&$xiQn6q{C$$adg*ZeXpP28(l-D1=UUhbTNbE4OY;CvT2{N{^B-aYzNS6hRM&q9k% zeJw0uq|FP}raBKaIm;A0afeD3N09QXkKe|f!+Tlvd&ufvcjZWX0DeTB9^t_6e)XHv z+i$#`cHa`$?J+7_sB#@K?lAjvScw2-EON?klG{wYceWB-Tc=;+IPy;ZJL&6SKZ{7+ zFop@=Ixbvh^&Yp7r`)glGxV4N`zH?C^U@)=8thCq zreFHi&rRoEdTl!0=jF1!^W5|E5-86Wz66(-J?X=khGHU)z87A1eu=GQl8+HSN2vw; z9FK&s*kvrf;NcApm}MDs)n(d8pl65(Pn_41^bcY1>4W4woyioDT%vMBfAt+=LoW`b ztP)A*d64Gbt?M>4V(lA3V0v&6Cp9X%@m9rhLxap)H83ew0bz7d|pw2Y>xrU&}qT z_sO=cZ0k&gIl*g%`h3^B!YGrU1NsZ_JWFoVnQZe3ku6^$@e?9+H11#(I)7KnI*maG zb)|guAobw>-Rb_ld(*3*_~B`f-$=VC+sRXYhj#g$iT&z^I`W2ZV-_c0nzf|WwJ8(X zIq)nxwy<5F*q)tWv(8M*ukTHp=m~y#g=<4y7i0{BUYx&e{0}YEHIu%3OxB)ftLO8F zZ?od}O}2by;`ix&evcmGLq7$@Rfj#%rM#41IUL^e^LxNdXr5b)AMgzH^>1FE{=fh7 z&h+i?-pxxl`mM_yLE5Sv0tuc?3tI<$l0K#3mW6b(iA_O86#s#DCoY}3$AtcQUJTtm zx0%(y@4d^5pS=@)Xe|ems+}2wN z$yDgc-`Fikv_TnlDo_e*f%qq_=J3QPrh@{VmQ^ywIldy@{v&Y)uQw9ZT?MMVX=&AW zCSAIfx0adJ^0BSjn{6%kFPJ2M+GBp#wVx21l|O7(zYQ|V27zecR+H#6ra~83lTuIm zq+rn?hR}4v&cZuCmqp!8Hsbbmmo@%}&U|cxu48RiL}aXu6NG(+&?dDy$urZh;2)NJ zM*iFuqgd4t)c-8A%hzRSu?07$P=j^dX>Bg(nX|G*40|J^w1y%2n;~=%u4DQ6o7=Ar zA*}Vz<^&_Yq*f}x0U7C)p|fqn&bFuEWsAD~eFzS^E=x%pXW@}sJlY^(+mLdv^oA=k zLpGO3dV}1CW(mL0K``S(J361O?TeTGIEAtE9IU2F#JW-ouZ%8G zCE*&DeQ3d?Zp)Esx-Nu8PHXO1`Px$UXuPR{b~=C|ujwT#T~OthtEh^nN>oxy+AL$1 zFQoKIT{h^8;$4?x!IqS>c128;btP}ntrldWAdRVtmmmI?W<05RPRK0W+>lRF{(_J&9r-et?zqZaep1jt1g$;ASJah`+`t{g zGc0`S=zOILH$zDTLR>b8Aq;~?j_gtwMNsFG4>{MvTvtI=3Bb(cACyrz;javw#opn&q5fS~4>p{`?>gRLeAOA2cr7 zr&9m`AOJ~3K~&ewGt(}K#tAu_4rB$x+X&XuGJlj~_$9@$Smq^?HbCW!U|!=mB_g$^ z39k}b#Gn=4b+72NJVT^#4w(~oK5@&e+ub}cNQ>09tSD}s%E`@T1XS6F?6P6#8^1To z=`uz1d{T$kf3;7IGhH@t^G{x0{!0;O<+NRigA=b#|4f9@RPw^ST@3xW7=`8VM5-P- zhI~N=aIGuZS+0msbd*ffrUqkoSrq%BuirHp%eN87Q?a^tFW#Ph`|tk`JZxXcpyMGA zIEOyqG4SVLrV}h%Jly*IJzcNUGvN!3Me1(^XN4$(wmu(<&v${42SgYz7cu-`VXcj-(VmD zn|vfx!a59cp!$44r=@7`Ah+)9GuHh^tdR+t^hGmqYbfcFt8V^_4i;!@fT(CyQ`F5{ zfaog$Wgp;6*Vu;dc?RQ1XUlKvn2Ad#NVAf1)cJ`MY}N%1iyWPd5(fveik1;qCtgpO zd-1G+ny-90LsuC^K1l-~a*>p$;JUElJykK39|lA6Ha8=yR?5KyKY< zFgQMyBE%_Q1_a6#$va4~g$-K_WA_m?ML0@{r+SoM({(*#EM@B`!^}@&Ne<{fPdF5 zKKVY^t`oq(eI~ap)Z{M{ceYn9_!GBkbM^0IzT^DpfbWB{pTnf7?WXougG=bw9F`simrH@*4Ro71BkH_|R<0b0xe@XJ5-6VpHcpZ+c1 zkK3U=uxkO=)vsmyReIdWt@_nAC@I!5e>*c3>j?YDl$P3a&3!IbC@9wdn_6`Ra6h zm+u1l1IoYKrrXE(jo$16fh@ZK{q^wvgX#TuZcTS?@{M0tk8(ZNwP~r9${z}Z8D_hJ zE!Yf4S3V_y{BwM2!rez~7N_XWpuK~T$Z}QH7Imm>x{malhrsUwze5{%Wp8hKiCIIZ ztL-=QVhEM#-Jku8FP9t=TebupKu9Fa1JGGEB`>7xcqrBhC5v`AXwZ1ayCN-(eH zwa?z+u;1xPM8f zOxo{rpUCq7?VQEjsdw*&a(fX?_>6mzk&HOoyoXQujYi)@?2pcu|(2v#zsaz2&3O4$+d^f7&k^s#HlP zm%7Ny$Fvb%ICi^tVe*`#;k@+PtJ53be`9)hgKdhrPSd2}tiDqb)+Bk_(L4#sLxZ~p zcx;jO_aYO(v_n?_@9^8=;co)niOM*f3ida}YaX#SJ<|8D-=*zxKm3y41BM#h5pZ9q zcFXGgHo$J_%5GxQvIF%9jWWp<4x414eWzwD0FBxDPx+)Zp&oIf!(HjRT~cY;8$HnZ zyc`3iXBG3V6ThtRy>NVkorm7$`RH9fJ#z;e_#{rA%y}8rD{kmA&Y$<`IKkgeKZ#Q> z%=(#(gXufmOaIwlzQdN!cgXYdD}~N?nnzsvEnJ1J?`naTgOGAo!Kxo=t4F^Ji6#}D z5%mbC&q5^WQ;u#GITiT#a`I50P zcQ8A6!b?O4l-(aed@zq1$4BTcv(dA*AIW435-qWRkYKf;;LoOu2F`&_`OeUfHX(x0 zwhv`Q)o#`-O*1SBDx5=xy7Woo114kJ?3XXBSD(FYYq=J{S-x&-B{YHxN>aRXqYLTP zP79WD1}7Ck*_D!jly$b^ZJaUqnReudw$y`M33Fm(rAZD82V{ggi{5J%YqI*`S{P5OQu{OKQDeal|6T8=xOF2jl*=O-*3~H2u`LFtr zVjxz^hMP)(=-6%@v~>$x`APi>RbH_rM)oW#n8uAdiSB19Ae`lldY^63+O}6k<1kvK zKcEzOgA2+Eov(V-A46#q5T{IY{;ZwDji>^y{1`yFl5QQ=^D0D#ax-%pfJtA%9T53r-HR0Wn!HRx1{A;B$0|e1ugw& z&60oZ$mF9(Ii;&jp7Y=rKNKCH=w0(ygH(54P(|BiXnEq-p=2zjC_GRNX`c>s+5Qaw zFj$;_Fh+dR1u1oc$04p8SwQg2os(p1;v5yO{(RMB7k;!aGi}>lqun3{oq@Q{p5$ z-9GNT<&mImUu+fJ0qXKKfOUGtqi8OB1gc&hOQuZYanILEQv`PEOx70I)1KzaaO2?qKtRhEf z{l;~DH3lMSS7A*XaAcLR#tE0JRV*U(t;n1P1?l1I(0c;(Y@GtFAg}BMA51DU^n+O1 z+d>y{mblPFgE(#|m0b@^LPz_EF)+lI73;_w*(3~k*c_z7Q$`Y% zE}G~TULANSKV8RudCc088Unb$gn@6e|EQPjBv1DpcX5{Cz z=t|ijp4$LQLaU5nj|uTh8+6GZCU|&&f9gcZA%ki>faRHz2e3mX zeh-+`-DZpDBUbo2;FF18x76A_H=QuKcEE!>pV`3_9^e_g?eD!l#$Kn+bVBry&>xp#lvXl+9{FXj+Bd@$beB=u7k~1XrgPUmnw1;ss!SPpr#)`7-SZ|Ze@~eF<>{S+7QkT{T;c2rT(^DJUfZngI+MS^ z-S!g3OjMt+g4u~%mcC6-7(_n#k`ZJ&sq&VkP1)Wwiymi@of~QVA2S$*z2?gwQN_`BYEmS6A}P68D+3;GWpBM!v-TW zJ3FibX0_MudA&F;ezQql#Ta9PcCbpgU@(CmQ$BgnnW~Ki9TMwomeD~(` z7hiaH`odq`m~P)?`*BT4Dd{sT7iCSJLL28r5aN6j(&ke$FogqN*Cz=BJmoU`0PNK( z2odJsSz-Z_=3MC{pEhnL(s8f+^S$ZOJA4=0 zc8DbZcG)id7ysw~W%}8l`0Vt6{_hc6x*u@8y1k>mPasx5Gh{0bHBQE6f3#EY?!>Cu;7&u_eaj(zkKw!_@n-{<<szJG3f| zZk208VmxC}tMiK1(ky-uK%QoXfCE+m@9b@{N}GED2izkES|@#-6xI*eion!?a`(7z zaTV}Az8QR^!X)B#ez%F;nZ%!F`u6lsnLGXEl=}F6ztW1^I?(76G^pi*RX|T6jYA6uuTbWCFcxJGJUfC{IXPUtnRINjZMA`Gm{` zKI3qDdNh6FGe16EynK!OO?LjFA~(mZK6hsId#r8#<(l=r08!dLG*`RO0&!)(IVUUt zm373qR*NilHor9Cg|cChLnh@BJrcpEJPWNT%d3s)F9J~S;40CS?&^_7oy)ku86)L%uo;-4>Eror0fv7KCgmjdBz^ zj7WNr#fPJf&79Ih>qL@4`9pl_$4u&p*uF;@`}Et!Iq<_po(V6#_Oa=^U;iRIx;)5a zRHkZSq}x|0|M6mqpO=MD>Vz-z$=UkZ-4*hJiT#MrIpqCqushWrR|$JpuC2cJWFMfV zP9dJsVZ8Uw+tbUhyfR(ob1>G8b?=T7wG}ka%qdsdET2tLxt2E*q^991D{VKlXLTEU zpidr)liw6$IqZv(Avc!rXI$?0)-;pViG`^_Brn3!8}75h_XW0k-aouffB)XJdvcfG zA$G9JieEZFgx7sLa@9kj( zZ$F*hdW)T#jx~r0VCegPB7TXova{_n&IGV>O{46{=Li~r)8bW@Hn$BSu75ZxgpOpF zM<1REO+Ub*P38!#J{jc{IB5SiXfvx?I1I zcwJP`BO0bZX=@y1PK>BDGE!az_+JVK|KAWn7jp(lr4gV%h75HpuXILy%3UnlFz71< z-BO;=43eVf+=2v%TcSCi1h`r6;E5m9KKQ~*y392ZaUVPhm!}y=`QoR@vL+Yy$~Ae_ z)og2Ie7GV}E7!&T<}3Z05kqFes;d|gyDML|mVJ#Ib&xEl28XLo(pP&jKNq?*4*G^x zyq2>{x9kxscLpV`E!6W2Mcqs=RBHmTnP%m(xs1|08(I!<{b?{-*qfmBW63}^{lWwS zWUdY3jC&|a1`mGggs}zml|OEyK45T59R=4aO$a?QW@Q16?66qYKE#A)z>0E(mxrLp zmK|QTt@R9-b_HlnSeH|z%;kXDbct95DSLq})MW!0k%LHkLJ^)JgQ&|x3i<#N3!m*< z^GKI~G-W455vdU?#{hcPJ3s}Nuk4w@VJ&%LW;m&$th0#79J&`9l>EUk;}?POS5ccf zG%K5DZ+QwC&aelY4CDr3{& zUeb$wi)8ewgj2PfDhH4`NV~Q(mWD~T(mTr=1}6%QIt?wM%eTl>asBuV=1_z8jvBsn z!o)-6kXI6w+=#X%u)qfjpDZ=e`WL>Lek9ro<;{L+B4O3|8d7l^M{aFL%j)7s=FF)q z8OG7+AtT6Hz+h_qD}BMhtL$!9?W8J0iZKKf-JDq`BGbAkdb2Uj#3*x>4W>ebJ8YpT zVNGM4o6;etZ|K7+Dfq5;*@f!@;ii{L8wQD@O|*PTA}jQRN7#_109#+RdZ{Z!b}^=0 zb>kdp@uJR$wzNCjCTw*mc<9L!qP7U~l>bVHS{WgaQc2dK%252_9Rw*KfLSK+Azrcw zeE4K*`s9yZm_GOEUj@KpCJ60wt36BW#BV0atg}vo?}x;EGdK^44w4D4$=?j5@hEk` zDBUrmaz{-59%fr-N9$bqyFVSX;`a)ZzNf(RtzQHjGhuefiWIjU-edC0B_0Rpc0kV+ zSw1wgW;8bXpqwqPFj^n;7+Vi}+UKFkqdfJ{vOG9jAL4aH+D+(XpoWo^hiPHK6PwO~ z9$*(PUzu(kJecnAO}uP>tm8sK)IkuTT27?{8j7inU=tN#5plL1wOui?F%6Ht23nQM zvc{GWU7S>xv?%B#l`icDj5uKq-rsxg{b_@ht^2I1aiGpYcKyCZ9Xt8!id82vov3rQ zrj_o%L26{g`tFn!U=I!-PFH{AZ%@zvtxxfWxq}F`-{Pq&YDsT0px}3Q!;h?7BicAZ z+_Wy!D5J)=%}rZn0gk+V^ltFY-wh{!(d(P*PWsg9UPgIIJ2~i9&%Nrm-){E}_oobU zI8lAbsP4ppzHng6)eX;m3kXB z+AEhCbgyqCZcv^L21Xnv)0d8r)k95{vt-*gIFR2H!nTzjyp_*%`@}&(R~!2hfiSOB z2gQ5=Ws8{_S9$I5QB2+w;Ty+H03zg9uLpPTPH%nZ z-RV#M<6G08ec{&hgLj$au7Vy#3E@R)pSs_h$OZswYKTfDzA@42{EP zE%YcTSG-OQu3%}mq2YIl7i;!db+vPjw?7mOoj%-VvdHu)?ZOpUvgbDm$yYazd6{iD zFPa@e_dF8`ACZQ?yJ$7Vok%A6oNTHqq%5)zj$C3x>cX~A+2mv8uqA2fR!2?pTG#5T zez^=Jt^FL{zc{|?%RT)aVDGzvhezIQWg4ro4I4@aycSkDG)`S-@0XxlP{ItxS}xyw z&8Hvc_lecM8;@?WVwO)NJU!sx&I+6_NM+?O*MJisUQZ90^#97AeQ`SAMWPDoA4y3# zLK^)mgg6b-hQvi|Js1S(3$x-g0YWA|GcOHgj8AZgzkho;X@}o~O`Ntx|G&*=0k&QJ z%NtOe;9Mo1Eu87xk9Y~u@B5xG0epPOq_6LCIq6F=Jou@ov@th!{zN))T$8@G5ASRJ zUDJOYBy)d5CixL-skSDFSaJcSY^DaT+xyJ(41JiCsc&X+<_q)edEFmKQucfpu`mS^ z5EeVgcHM+y=u7z|;}{%rEjEFvHnrj(1{!4|t`cT!%+y!y+;Q&G9xul68_%rVOMmOf zxu;^+AMkF|y2178y?l6xco&s42L^d>U?rq{F|gV;*b31ru`J~;tPHz(OX4{PHpM)0 zoi|arA~G#*Zlk1?QP&h0Z16g6|A7#lYd3skTSs(9e(6s?1KurXwb5_btBmZ>Dl-Q` zu_Xvv?IxT4q4h(M-YtYh8yh8D*+Xs)k}64gNgFGhLtWYt0}>b85LfWmSt@93BJYQg|=e?s_7=N4J z8^7_3wY&fnKUqe6troB6Jdcg|DgO0-+UKFiyy*JoJGZAVe)-+$ufO*GbeA1WY?WL;)=NJUmTvE(yB`QJ^zthLzY*&PWAkP2f)^W> zFo$iVDk|PVG0M88FHp%%T1AE^u5u(V64Ve;Ajvp{wOz(-XT6xI(k=1U6_F&_dsgVdkWd<=37PCZ>Y+M|MXou;RA6$&F`<@U7~C{16p# z>8d;f9#zHNCPkPT1E}^#0meCk%D&<@O==}?HtGyxWva}iBfsQ`Ib-V(Y&4P;M~Bpw za|C_X2O#_PgoY8@N~IT+ZvfBCXiWnq*08k^7N`I!Fg=b$B|#pAuK7A&anr$+P=W%T znX1ynq+q~fOPS2M{>-)+WlYPm46<^bWeQM>$HHZPhP1r!6uio#oTjX};lmPuGGn*# zidJ75X1e6oCos^5siT-(^$^P7OGczwuFwvtC7@vFTkA3%8(QYd#$j4)j(=BjQobe_ zl2bONYtOK$$!CMKO<$N{6PZQq zl4_{3^{n>xHL$p#bkz^nka|YR;9QFhnS8B5fYK8c9Aw1AUm}`Ts-ZK`IyLRc!CN+K zXZuE+bcIt!G#1N;otxISG0I+KK`3o-iS6{FuS))5)jQf=>(oYn-0L6qaeqeu03ZNK zL_t(20GSDak4(xj+uT=B=_~4p5YSmAB<(qMx3W`2d@$&XMvlSLa>y>)T4I+b(NmVwe67=gf=v#Oe1ZadL5!WZ`?E?pCt~$ zA#c#7PG%8{p7kXibfY?^0BgIJbQ8?#(gsFzC?L9}4@^ab@UQF^+A@>YTZ4~8{2xt~ z6cxO(`er8d?Pc)F3mIqQT=R`L)|O$9at!k1W>y7~7?(j!FzC9!D!M_ggn=(|Sp|7R znk^3z77Ft66k7Z0;a1|P6c17@%CJ2fXSHOY#V@QLZcP=d30?cpv z<^j@2fop-LBvnD8Q@{E*YEqDGV!~^B-#lRzeni1 z53g?)J2ANTF9t1BbkqlrB0jhxz9)fw2)DkguG;TQ z>_c*VqfLagCmsr|r}F+nYrYQfkvaMf;I=Qnfw=RrPfTyW{*~$Rdp9U2_8|xrp;u-L zEe)O}5E1MgnJpUqyaFpwQlmVKnIR24wu?`wIHJXeDQx33sGgxODCKbm(SQyo)SldX z%(ow}Pp1zbOcxn|$@XX%w#mRS6;2)d6=x>vd?2>o1Iv_I+VUZ73~7LQ?^?^Wgy?xu&1eOR~k9dLS0f}4x$-i32C3z4TAMa0*RT9vMg!%$Y((1h)LMT zO#U7}Vv>>p4s3Q(xY}sh@2Ib3$QGmEeY4$dsHH#2*qn9o%uy(&A)bhq5@h!`k=2 zeN^@uv3hHAm_a1cOl`!+>xl$uTmj{_czfJ$na&pJz^&Tq_f%AVqqMBjF>aQ zb|}DjJb`T66Wei9FL!Rdw#cNTg4| zqA+-E3=y$Ac~Vut5}k@)U|s$>CLwQFpfy&i)mOlZgXh%t+b>Dk@VSA_7J=?`h?H9N z)u$m|IERsKzzM$1%U7q1Kl)?SXaD8zP5;e5|0mO@KlhVtDbI>uUJ!DywkChmdf@l> z3!huYTwLyKvCRsR=cXV3*>o-bWmc=(xR>87)Z>~w+N2$Rh6(mgB&;Tc{tTERkjZQ!BUp&t> z&r3-V>x23oE`9YKNBd3s3;T3+@acgQ+6Nz&nC>(A`w}k?Tw$F$CFoAjSH``fp{64=ux@AI2=W7;`> z!0!~lb@)u2F9|v6nZD1LX_UpabLYmL>1%)aRY>eLmjD`F(U!K<7^`rGOM`MuD0|F@ z1qyv8Q({_#F@S9S3fMZXqw0#!JZ5(iSM<3c-1(M`UG6>jP1w*$I)b)m9c%kjw*cjG zws=pO2+pcsCx4yr&EX1R`wRMf?^|^P^jZ03j1cX%Kk+clKmLk)D`VcjAjl9>rb>R` zESUr;`58hpV#^1!@C7XA5+aDKvUHjuMi7tufFf0G)`30_r9?@b=yX|l$bWhHx2 zGvo$ry6RZjRhK|e=rx_yzg&O27k8)2d{$!r{Qh+P4lmd7sfv$1|1y0!{Wve{c+DO$ z5$uGp^5D+(U%iI+nZPuF|F*3N+v09#=56;S$8^fBEhgd%;+d^WXe`(=j8y0cse1W~ z9iZ*Uvr-e8P1)3$mYwtoYIpIeP_F9I$~qgdq@rpg)kVuL!;cUTVZ)6@%% zaD(Knb8Z*dtpxQ;Af8l(s021>DlTkW)AkxG-)b=SRKI&9XJFZ*@If;4DYN+J7*P5u zFu5m|A?4z}kC%70@nfD%0lRwl)t9bKZ}P4ATi^Z`BDmV&XFiv-b`YzPbiY7z>I5)t zkIihjrzGvCji{_Gn0)@(B4fR9D-m90Y?G;%3#%`&USbw6$~?How{E%Tf0<{%eO_j^ z%>IUWuTn22QHs!4eJGo3>c(57;36*D;{mT@F3o5{4vq%H5bR;5!Y zp~y{B52KO$+px_`p$rw|x!}%&)9J16vwOuc6-{5_4k1XIc}@GTOvR?H2B35i73)*& zssd?Cewl_{ zrVN7gaZrJjowC>_xjg8<$dLB_Ep;Ft`Ix8i5=V->Fqp4@jVd~2E2BuwkuDj534bOi zKQvKM0vjf&xP$=7=P#I9Z+sJ4Px(*cjJm+}!H{5{V=kJEIf&L_CR%`J>>c1P=R!54 zMXaZhPeU+ofzF0e!~v{Qg|GRQ~#L42eYw@J&HvK1)j z<|k9Fxp?Y4EFSWsCrkrQI^9yr0W8-)anMEM@02%>dZT1UKu&A{edUi$tsUIy<neFG8{2_8?+F^N@DL!bQsj7JqwD^Nku6)!qZCUccS1}5HR+cn# z83w^{Z`I9Q2B<)YtE1AbYvIvQZEVaEmmU$75+n5zTBb_)=LofN%Ofo!IADw3lA`26 zS~%$&Fp>@GSWe5C3(W+fFNkCoiKIB1y3Jy%8IgiPu% zI+pML=FMQY39N_GV+J6O*&^2gw-Z+Tl4ZMRSNHlL#sf0n_A;pg(5S-eV>Yh4I8b?VP_f-Q(fhhhMkOr6MvJ?4)mOB?3AQE%#x) zdZR%S-wP=Y3|j?rMOXMd_~8?2>nLA#d$<1dnGgE=m#$2Y`F`2Wzx?y*loe5cqr1g- zTTWYQAhC2FhNek83@)5R0}nv*=Fw8=wJ%~sG*Y1>2x=b)YF%BH>pd6;GZWP?#9 z2SD$#ZSKA6xAQIAT?b644?WG00lKAOAc2upR}1;FfFIan>|%OCqaZnb>}P&%+J5nc z3>u%fJ+c#|)VJT%bs#wd4M@};=6MpQ9K-I|M}=7W@}Yk3as##4Fco`6$zW~D%3t_g1uT5?sRQM-x1EFOg`fWA>G{w8 zat864`IshFNpC#3Hytwpyvc;)KC7qw?ynBtX3}>LpKPaG4(@o=!+{eN`q@=q8PLLT z+mwGr!=xs(J<;pnzLNsXca8}I2a3FQ>-zP3oEh#$2Fb`&2TAg7Yqv3-XA9i-?%kVi zf9nk{R<0yRuL~@;kpBC)tL?b20YJN*S;1UF&PlN zolaoot12lld}7c?DbXmGuq2ZRYX+F4uJ$_!B{G~P9e&aK^(EyyrIrT+b`S+le%!G2(k|10VyJJzz1rk z2^gTiQR4QP)cMHEADKS&E1#eK@ZbHL=^y{Ie>(lpCqF%%=R5ITZs{UNU8cRpEnDCf zyRGPnlM75LT)K31dXb6b?|<<>^Lw{F{pKJ3tLep8UY&09vdf_Zo>aU(v2Dg?WsL)o zb5L^Wt&){K(WLO(T;7=jnB~%^UYEe@Tee=m-~un=Bq3}0nM_sekd^xsFZP6vqc*n| zkrguvm%Ox;W0n%s&>KY&mXp~Qzr!T?i!Z-2z4hMB>E0V(k4>2b=VI}1mObP}00n5= zj4uRmdJoF)_13n8#zJ!;E*9!5Y09`mw}L*;rx(ugk{Z9gnOBj3dfj3c&^orS^A2E> zzPl$2Yzv3f^9lDHH+YHX6Qr*|&$JWY{#ATwbXN~A_n|Jn&R~r;K%$K%bCAz{9K7kP zg@>l#T9LU(?9q?X%)2=t$NR2)0~l$UybYbS^_!4MVff_jInACx&V-LfprdW5-;H6L zehgk3sVtxNQCIx7ZSsQMDc}0tI=aUv3iu2I{bF{8;5X8GHSIlJR>P7=J>l%@yfE?Y zuYN1nLIe&attxe>ss?l-=Ctn$sfh-oq)Av-gOn!w`^e%miKEYO#y+Fe#`gP80Q+K) zD}T25ay*tf3}_1&IB;@P5?V$+^Z1hiC=u^ zPnj;YsOdYCFbx1``=R;_bQdBWEjGiV5OAJs* z;Y>t#5ydCwqu&-Po+G-EE^6qEogrB8jcvNH z?M9;v(9R}}l(_O|nXBB4gCvf`w8_4%g%pnh2amCgv87<;AK_Xj7iXgn3DF7MSlPVm zX75;bBPdlsyHAsYNHLKWc_rOsywFJE>Ni1@ggVRbq>fQjX}60hWqZ zaY1q(NTc?>c6L7T;1`(5>KR{j)t3!L;4EF*IR@H)?$T~twQC>m-#+c*`Hz2M`pz4C z5BT~meCF;k)jqmxG`ISlplA1!0j>hxX2SRUKKJJK9SHVC5`Rn7?~7#Gnlw)A`w)F` z%1bcbA9_EVw#N=Lci+D`ZC^S+JQqT|c+kuT`d0UkYmJl(u`clz>I-kZMo*Egn{ zci20hVBO}F7`|l9V0Vz(Ybcnpzr&WnkUmkSq$}=o$r4dV#4tp~Cbm zn+qp22o-8Ov&6GqT?V1>&8pi0!iKzHO)Jn)hQ((A16teJuqH40RS)V}(<-F%WrI3Q zRa;wG229n$J1lf%lKDjsf{{{kifQ4D1Pv9R*i?nGx9l3I$jM8YgGL{OE-K4cEvMs| zltjqvKsrq_`cnRY3lqYTM7e)+`_-5d5#39hDle71Dup&wYRFDO1|)I^yemnSp&9Tw z8vavpIT?&{%8+L1Sa3g2M#Qi;M)L6>hv zGP<-i_IBAvn-7gJj(9KekU7%vf%h=zTIqg)Cp?uLfQso#kQmVo;Ar32O*)jB%pqLWMVNdCs zO^k??Q$ZzQhRt~dw9a%ugS7lp`iiOOP?dz1cKH-8Jhrs$GR?9{uk?!wE(|0`JPVoq z8_JSPaxJ2Gw4rF4s71BR*hNOTq=B0m1V(`ezxa1eU)&{Nu#r(jF$Xpn%5TAjW__CJ z2D(_#*~ZT$oV7#Q*rHQL9c!9)LTPIbZCO*bn%J!z{<`d@0|(Nv6h&pMpW23k4`A#u zEnh6*R5C(Q@KL9&ujRI+v+&}Rrs(=y@Uml(UFC@8a70!+N;1U69%0F9r)B9dQVRgY zkQW{i3w`^i+E&R31uS#9W5mEAV}=)K(XIT^h@Yhyq=_2W@r(;Ux!5^F&m@}1*lTui zl4Pm*Gw`Bc;LRWE=&_BIhb;Hs7(R?Z=Ey0|u0QoiKC?v0QV-q!XC755rh*NXgJsB`lak zOUn~hewD_M2WcquskdmwJK_*oOT)Q?*Aav(&p*#MR=+YG+;}tPa%ExBK^vWDq8;gX z1L7+vYNVx48w+RI)eKdCT07X1D7z|Iyj7>lY|2WTEtm;S>JlrjXmedam;n+-D|{=y zE;d)k98b4z-DgWJwu^N5g24@+d;LbB^{C^t#+9zFe9gAXte)Nc)Q?YBKK&EZfrA<+ zOy;|_D%(E$jY0NSu0aR=!x1Ymt8I5cBE=ZEG8rw}55f}2G?=zwKKG10LkvqWTp2lfmN)3P-FO-TBxjr&mA!-%hVk zmZQ6@oVtH!+I+yuU$%@rVimwP<=sY>?Gpu=_}%5=$Yd|pZdnd&tW^v(Amn$HGnkLv z%xQA9Ow&2|-No!2#OJt{_lb9nDX3NA>ZeTj5r1K932k%ZE;Or zViNf6uYYBF#P>RFm-;WhH=%LB<{*sF_2B^7%h#^(O<`8>TQ0_^q9=6^A-tLN%|(Qq zA?qmvR$jLbPSwFRYhD|r@t`i8{B?VAC%wJ;C|wS>e%^BhFoShFZu7YZ-42sGr1$n5 zq+&bg2k%eszH@#0*6Tl*{^HNyX4UVV>GsVh)FnEVN7;0hRpSJ(gZ>8x4yMs(p$!!M zn0<+wt1qkVp~YY#N8F*0#*u3%>5$BRvN+OuoVm_QRET3wQu?LrOLm-!w^S*q>p-+B zm!L8L{Fg3$$6tQ`0DPXh$%ZYq1%I5$ z-?UjJ(_m_nK}Gtf?Kf+>;@ChL?3*lur(j310s%kwu^=-TjXe(jI%y@Y2DjaYlEzNR z?@)YGzN-5gr6agyx9`HB)0{b`St zyyXw{IPp71^PMPEh3(MaB_~x6D1UjgEG+HpVIgD1n`j) zzZBoeUly}7A?$C0lh!qvN~NCtmqsK0C5M9deKP zgudRGJI7k}&Z@*NZ^C^=b-XH4_0S7RUyIVVJw>ITq>VYn6W+!GmtTTaJeNn^ z`gq9DCi9IKWk~5qS~&)v0`eSVUSCusD%Uv8nLdGj$vA?vU0W11N^VlSG$4Tt$r9P# zArH)UQn8sqL%~Rvy~^bpns($?(8l!)z&$db1lW7^wdu_-{{?-Uuk=LIkcpMpXY+Gqqo(?N z<7ZLa_Ia0^X}<~V=S@76=?BEE6JOBrx{03HU~8jK!JoNjq>ps6e&TuKy?5W8Ub^P@ zfUkxxFPVbN4pDYk%2PD4vRi&IqpZ7Rwl{hkXv=K7wg`kr{>*`Z#Od^WCh}RRK7Dh{HvjLk zE7+I6^6vD-*KbZYZgFn}eawxYhNmr*WlKCV8mAsnAVxMYiPgEpg5@ioq|F)t6@TH< zPNGOE{-E3RH=O=||H9^U?jkRBF+csrn+ zHz#@NA~VYybgB=y>alVIM`X#w%h)oKA2w)JXvlY6=&!O?8;V;a#Lv6~9LX!21V?7m z15ifEDXH?zFXAZEj%kEaXTD+0JLCel9FaL_Oh>2rXK=B(gtiKqNuzhblZ$iKB#ZtP zbd@Y!0!nwG6q#dC>e~*B4;I+kKA|bgD1&?@Z%B#kEM2 z(L}y-hHOzIJJTtZNbLJZaJ zE4_%QdWIu1OF{H;O1oX@OObLac_nKGln(iVC|O0*l=|AToA0>YCQ!TA@`^6B#VH^` zIhJ#lvu29{qfEf1H8g!Pft~e<@RlowwixRh&FWZS@KS?VcZR~ns;klgNO=Z6EFU&4 zG;6+vUv6^44%0{yvJO2at!J|5bCr&D=Y6EBl@%jWCi~jJ5fQtD7b@`i zq1UI{XM&`CGn<=h@DAh~Jm;t^Ia(fNp5fw$4N|t-+pbwc_{$e<-z-NQjFGA=WqOcK zJ10{-1&@xv27J&qU&n1reurAFz!ILwr(18>MF%|m*jt}PFPO&VQXsRH!5Jq;o=(s0 zyfgj6FaHyy)Fkam23#0GbFz1=0DcOc6D!9&EM#EJ0W&l^KzQg#ocd4M)|oA_ST4wl z-}7w4xHmmu;MFF!<@TCv(R;)VwG`7Oc z7Q!_sdF%r+Lg&F~)9~nP-BWKIS3ZE@J5aGj8tttKse0&hz|e=k8ek{_=|XD(I-NQt zL%e^U3GU}#obLTUf65lK4mB@rxH!V5st*lk;4sWQAjDPO4OVR!mE40)7UqnMLAolg zQo^S2xh<>+lpx#(LMJ3#>Fc-nB3PaLKY93Mx_SNX^yK~%si&=d2jOXT42))*W$2z# zkF2+3wdVQh#b5k;(-z<9I$(tLDJy?Z_?~Vif3v#QL1yS9yX1E{$dwbYC*@z2r}_`f zf=FC^fN>dAb6|umo7ulQ+f1_$Fl~e38ozTztk9>K2xg+!!48g0`f8h#zP$AgkiirV z+aeRXkDb7L?%MS7=YM^=!gkj8pWL4wJ-R#XGVy!L3Sd{AD$8&EIzaCPumd}O%hn0r zOaNnO*@flvBsDt8~t-(SEsT|fx z7Z)9+$5jNjU&gk}N62Pz6!u@5Hutut?|$_gZ0p9L5HS98@`@>M3s^$8J;Y5fym)E4 zbb+N4jB0MZ|GL1W^GXA zSN!r0FO6D^ozK?c2W&y$v$C~sv7>C(bCKJ`WCM!{0~h0(ezsyRd;AqX374`49$rpl z@;iba2Uj;(nfZ~AUz`5jzy7u9Km70i=k!~@{*R|CS6+r}W4cG>J)$pp!XTwD2q}kV z6MgYF0EcNEfOTTc_GVjz1of^?iC>JPFILRFZ9~Z@unP2@eT(&D9bdd~p22)p zgV7mcTBV%?Mo+d!whvS*7xQ^KQ2QAcfbs&t_H^BAoJrsp;J*UD+syhI3hqKk^Sw#$ zcksP(m7zZEu{!kEusFW4etM;`zUm_rnDW46J<6NO9p#bskcRQ=@c3J6+KGa+PjI~g zHZTnEw^pC!6C%Xrczt8vWp6n{(nhNvqy2NgwZZS!^pIsyM|ZP5=oY^YzOY4!Vd6J3 z7ZS8yGaM&OjvjiihY-tt%u8+Gef`_hbzZbF#1AMI7p)|^opqba{i+1mSAN5H8ms96 zSG`8Vpb;1UfTy_eMSMzHR_9avwtf7H!>CT$066i)wUw*F@COy>W#9{W6p;hpY)yvasFTTw00M8Iq?$cfcj1XP{ z&C3WS4WZs2aP}p-_)QSOenNXSL6a6g2;eY?Zvw5WO!0Uo-=vaPxr;6s8ip@$qz@Dy znwCjM`8H(X{vj`QiSw)pd4n^OcC;tK)SSKh>tLwi@gw)?NF&L@uOvORJo zkPx`Z_`v!kA!d|0RDwd9)4(q@MIR=~=Fnv>fHoT}&j{#HUHN0!59*BW&Ub;x+rN2# zeLlaFNTqYIAGA-ra^<<{KD$J{{nfAeAd5YtJj&tle%Zb^{W$G=mp&uk0(SD3Nnr1> zRkg=1KO1%;^2j6*`Pvqnk>KuDDKGaGJ}XG#OG!6a!Tze>1LlPW>q>i1(6!BP`i?TN zX`6idHkh;}FDI#j!%6MjAJ8v{CU3TS|3V*apX>`P#7DV5MmE2LN9gClif0dBp1#HJ z*4s=1v!(yxb$-7Na68XiOe*`#qpxzGmA(vF$n)Oll+Mo=U{8I%=lSQ5XSDZu+4rwr ze{cFvU%ozFzx9N^Uyr2Ji)YE|Wex#}eT*7W_ipH4S#Ic5PBK22wk%F~|G?N!v7)NSP&G|J)?SoOX_ zSF#EO7WssfivrYj)Ut~|1Oqfm9=Y~|b(NP6dE+v$k;y5k085s(cIYB$%3ukqy&7=n z4`z%rG(B*7oxRK4lFV(W$m7T$sg0R#ZVe>RNeamk3CQ;K+cc@-1k= z7j>N%o~SB$s^Cw(9SeyaIm=s`o4@O{q^vcNZbKXVA$dU|tVHEVThv8nl_@q+R zSVS|~T>fEkuFXg+U)Vp}Coigii=sbGO_NT^i@c4f`VOoR$~hajpLGIwcGObSsSM$B zSS4rhP*`k5V7d+yRYu9m@q;G$k}PdIt>nlfBSjkWLs_gOBW;*a76vu&kufvQOoM*t zG@4PJD7kC-CB2P+Zpckp!nX2Ii;3tZBZUnhVMKEyj1fyi?S`TaA>|}(w2X9h+>87W zk`2uON9URs<;t76%sdn3`k9H;4bduZI(h;o(>4vV*gEPhyu$5}!#6|?-Qtssj3FTY zMFTj4ai?n(pIi*X-G^OI^_1K7NKvJ>!SToag{BW1#s55);qjDq?SDO8kAjhWx?HViwffu2E?t}~!BnGecR zJ|yMb#GwH=)2@6o!t8Dg0NmWR-n=-oi zg>|SO$R)o*HOZMcy34G&UA4TH(*7xnOK0P{3W5WeqSh&@!wbCd^+VsjZW(D`5PEx> z`(Wj0r8m5Z2W5mQtFD2r3v*KRO~l}?`YS;*K7GZIBfsd<-#Uo{2See4m)?KjBMw5n z0AdfeZZU|wfBrm%uyTc)lH7!FZOGGMmJPt`rsS1uY4V^%JNfS0Po{tK2mcfrwqXPQ zl!wo32Zcipc!)gWK~Wt}0z2t<%r}0Yu+_8Q`hDVSxV$}m%*5X@+jH`#${J!rd`t^KDhCVNEC$}8j$>TE*_-^yaBQJI_ zFqwk~S>oE-H(thl`0d_K^Kknod?xnvw3*^ldIxljtuQs3zkY)hp-jb zS+W(4JkqZ~+MpO$+4#*QCx9Kec3@gE-=sF7FCOvj+xzd|p-x%#>H|1SQ{{JsIMXN$ zMzFH&(?2s^`q7_Y;DO0U1{OB_o-UItZb9iFO$H!ruQ8)bIefM<+yVS9uTu;1c6VdA&i2cx>VHXQhH@|OXACVbuI`NWmTv_oT;0zGx*FL<|( zW>@rSiPJJ`C#bz(c#J_nt$ zr5{G`lHUij7kJ_JoZQr>`k6sd$DW)7t^sZbx;Y%I0=6S9bu+IbgU>3l(sE5OU{%*o z`JtX&*xM_~|eaFSP-@MIW&%^27Lsog~mvc@AQD069(4lv^UBzZEufDAIqMDrmetf{B zj|2Uh#u2;X1KOaOjF1Y*KM8{VAQElcGo8>h0eHPABjiOqh|*qlT!)cvNc4is^{jxA z7Vc4lDMPNtG-D{o37NBsA!7k3yXlAAIvSUqGZ7Cw%4 zXWLw=g)^v1|GB|LfV&0!-oO7x)Bp8<{BP4Q{>tyN#rN~n(NjK8a5&vz^7jtc=Og+L zC#LcOl9i`lJTSf<%7s;XtTtyOC16APYWk`A&8FUgUEV*JKH>@2|5FA-BV+InPb~FZ zl5$R+s8u2l)$(WEN0&GYnex*vAvwoHA}=((c)ABhmQ`X^L#&a_xxV?vdUkvbe0>mCHqvj%-3+QZC@hU8aC`%7-;ST zf54B|OO)v)>SUM6riaix(oW=@&>3qt-AAnQg#rim({_M$8?qSMTXDfPlrAX)t!bZ> zp(lj3&BOMPW4L1%yObfHakc^_;Uqz?5VmiGy!-$SsLGq*-;?F7!G3l~VdD4c!To9L z;VpK>xXnvV4|yTU4{y-8oC)Q3%RblZ$7{v5UoZ99SIWG3`xmUH!@aDw{MA&@%G=RU2`9uKD z^f%I#V7?6Cgs?08bWUF8u`3wG&E#*kfu?-?%)1kW6TviNCV@xHB(N)mvtk(DUIkpM zf0b!pJd7qF-+K4@^vY|mP3NBDQ#9^`z%{x-d`zRD8u`8Up1-bxyy#&XzP2M)a>{*0+nch( z3~iN1`?Ro*^pTBAdBs9&`Ar%|B7WsMY2Gt2nfNMxlV>m`Y1-chL&MDvc>F|Lm5Q{n zjr~kKIPC*+sK>-8U)xJjfGoPyz$KIGN?ddTj1>UVmxT!)1O~2H!^p&MmIr=M{bGXX zSzc(1A$mxfOV6IPC)(h!v%7orH9TPYU10C6=ie!CUZd)eQ90gSE7ATn zITO-x^7rQ+pM*J}e|_zhk5A`#xl6sN0sOf|r)0mDzCGM!bNYYs!hP0Cw?)41XVL(@ zC!z1n=S$F8yD6RUUEdSF@q3?7>fGSr{2iW6-eL0h7LH;S^aeYmcn?kM(Qn$37kfq> zXPf|E`ulyvbJovR31>41XKpG5&|Rv-*Xvp&<6$-T7fq*adp1uxlck|s7huqr}qpW$VwqPoa4Pa0JlAbylt-te1W^J}NJH|fwf^O0zo zjVjv}E^oyu>T)$)T<|b<+O}M_R9tyX8Z@)sA-DM=XQ&e8G20Wkxxr)#hCl$d{ow;1 zS;E6t`KE0VrEgplp;P8a{8ys*7pb-m3sg2#Uf%d;#VcLO495yT6cM$~XX6qx=*XCg zJkGNo3RQXwpE8EBXh(8o(OSkCa5AOCWczl+K+1noRC&!8&_sp!2a>YmtW9#Z_St?R z7NC!rGsK*Rq+$+G-gq;5OfRA8qx1@mzmVO3fvKy*oCY?h3z-4Gri+&5>v%?cYncxQN$u zGlg*f2Jc#D(`!VhLzn9&PoBeuMgE#DI#k?LkyDult6QCVJiOzYG(TEN;RY3v#^lHY z;7FH^Gb&^VkeFj>W340gs~B*3n2kYotrU-}Rjzb=ikgEwI|`txIH%PA25llQ6B zf5GEmx1n<&d*AkhQyGt9uxd>70^gN}!!4khAI=~VN&H{+YBl8k71(k7R1fR6V?C?q z1Upgd3TP+2_n4J_@8SLFov(Z=ZGY}xLMsOlTxtwg`JbeEFJI=Heb4j#?&0rTf6)R@ zDNUUY0VM-kC&T@dD64ZxJG99wEBMUGcIpS)^6hU{ZQo+6@%L`to4)_n`_uQ{e1H1d zcWzDJ`oX>Ft(%Xg_a7WGP>dWW0qA5HYn#q72(-folDF9wnvDozk!Q=HT~1=S-KP`3 z%-K&5A2E=2#8$u#^n;Tw=1b3!q7xbG#ehVl;RDAPp_ArJfJS11TpvzT_y~y{7>2yQ zR>@Yd@(@z(y+B?E$`z(hLpvBGH?&^!1+pH4iGAT6a>Kx>%Q+hZB=uY7g)Bvj@RHj7 zTO_wUhyov)pNXP>_7VQvWg_o|pZcl)pR_k?_9RK~wBoFpd2-L%yQ;cdy{TK%k_HKc z+R%c~pkXv42~3O-5@IkJ7nltg+ck!aJ3a%~7{(`nySW%>TmUuu7OVBG0X$b4>)`4ia<*8T_?lsAQ*j6akC}-Bxv^jxQ*Xo#dW5EdK4Krz{hh3wQ zRJmp1QqL_jCQ0X9YRq;|MTTmt37I?fHZM>t!O!k{@xi z7}7Jq3%zw9yFN@gQTh1bkS!lC@sfZOM9QI0;Tp8zU^{$sy-=3&A$B!rO*r!M0Q`=b z;Jpj~_uzGdj^rA&x48b%g=8RJ!M<3sNBi)+_hlaY+Z@o<5E60H`bf=6kKAjC3s86_ zHOV`XTdRI+0>Zp~JJSWZU&{9Pro*xZEdFWf)F^7D|7#exteBjOmF)V(+T%n zr~7=S;J|PFvRa$#ms4oD)2RzWbmIh|O?oYMvY_sve8KNA6AUNB?hNA!=|>L^roZ~e z-%N)O=|ruRZWq{9X%nSO;`yiiV%C7VIg&O*Xj@XoPx~!p@kjgBzL0XRg>~Qu(s}m~ z=j2vw+`}lvI?w7|CVHLFwJJT9t)J_qpql)x31Ci3{D%*@7p_TQ(`Yhy$=7Z}n?1kh zU>aQw4OZ8L259+!Nol#~a-Wxl+(hPzzvLgm2?KFt5`+;|n+tW32Lvn!~NRpMQ31df{d7cf45d^3n?jFOQzm=eb+V z?b~lpPyfW{r_1z-C!Ei|6yrAURyI|cw(gE8yHtcPW@MKK`clnM*}hfn`^f01FVv4H z?Mutd5R7v0Gt&f81wqSCSV)pm>py+i$X9_(JX-};y5Z?Fh7QG!UwD+LrW>@hrBc~5 zI^4phV3v8ETI87S^QL(l2S2KSp}xatsqM=`H)7NN2dbXvQ1~TJc*{`llp$bfAz@4| z9g_{axS<#q&G12KCr!zbE?eR&S6<<#PK$(NuAT1u;3oilAtw{3l)Ezc*2^zWuksB1 z_+6e!oB)k2)VF+Tdrp8kS-VR+@`Xz8zx~urUK&aNK@Gvn)7bj}?iA?yy@S_R(Wdn0 z{NEhReJMeFcgwo-!TZyV3s0eI)4jV7r|;1Xgw;eLXs`zrsv7P6gN*OC=0Ghu0hH$umAEw+C}R9D%*fx-OhI2@9<9RoA3C1 zXFXQElt85qT`E}_`I{HnL^2kQwmm@FAc_dNrz6#{*cWdUgPg142PYa=ol9sPCV=pm^#b0u23D-3;0W_1#p$9MFH8sCz@NpCA2q4aN-s(TI|V5$9?duP zwZdp!TYl3CKi@9kGi2BvRanj*%}$!=C8|JiDk2VM#g(kW&^JI{Ydq6xW;~9Oo$UwQ zyhCgK%cBpSyW(k5yNVytDl{J@DYvYtT>UP{$%nU`hBiY~i~LwI;@CJTEP18NESttF zZ}SaXqzYehDPQF+Df^NtJ|rVSJY`!HI)9yf001BWNklFOK6I(Lz^l&VjaNzgo> zbf_B6F!6?d1uy+qpmy&lAZn**g8IZqQLN-cJo7AYbO|iDgN~^5G(iZj!PGQI+YrYN zUURy6i52HUBRL^AYQS?MH=XfJ6ErbnPj1R7RG$Bauo^Vx6w&n^{{+FGLTZ~U_hcQ3 zMu~+ZG=62}ufByQ?7S`|NAf-b88pRLh(Ui;YW*9!0go!ATL)#O{ZSCSVpy<|7B@QT ziy7AP2II=E#m?!bZ-Py91kLm$TKCo?KDWc2 z^;mEUnxg0>qjb)I7Kz0@W$h!Fwl1SoafC&e*sT-%k29(VC@jJCXL+^1kw?&zJS|`I zF0V>gd=f`SK>0~qF7cJ;H=@R`z^dO%rTOs%=Hj%mCC-K?7(b!)?d{zpUGHc z@Hoo@E)TP~;)K=2jP_oj8 z4fo#9Fj{kXhEkg7T5{xJ`?<;%nQt*Uc<}9S;G^<;(FZ-8LLuK`Vew#6?Xq+b2ttC0 zl}>#w2!WqF|3XvDhw4SzHp(^W;%Pd0W81+P1W|JbK#v{tq(1eV+i%-NXed=P(u^PQ zecU_m-JAAr-{X6=e6QIz?4SS4bp029eLCXF1_rS*7Q{}u`AYg84+?4UEJ-&lvC!=hZDxu zPYg{xjk?2T&pCb41AO|-y5h`UyPi{KM|3)j&u>I~A| z)lMiFLBC(Rv@=~{^-f+CP@wflpW&dAEAq1~ulS^$^l~fh3}E5c#~era?U;VyjC16K z35Cb^_ourb-kaXxTVro9dh^3KKA3*==AG&F_t5e7!|5)Qy$6TXnR57ZwZ;ZZs<$}U z$(rr^(j~C^w+HdiTW1qAErb3{^745>=k2Ha_s*vK5BP=}D+QeVb>Lq=)g-WIIrJRH z{!}}xHYiNLrZ2H(41o5kL=&$8@$3`*X1;+M9v&$Z+M$0J_QcN3ypGFJCwHVz^$vvye6H|4`drecsl?c{fG@lZByJ9cE!2NBLbvu6J1aC1>w(| z2fhULkZ%;;J2;r`b3We3zT4PzkK;Wix8Egy#-!v^eADnM+ekX$VOv&D-d&h3(?_{2 z{Hz~vn|gFr5mM1p{f6#!W|#imjtXl`9Y{Q8h@Ql-E1y&YhB86nh7N)F`pY0J^CB8(2D%0LI zUc6!u-+R6IL#J_M1(=-{Y5O@R+H)R3@3r8O{S(Ef`21CFC@yo|x`oegvhxMRlOH*- zho|Gss$zFuaKcvhf=MQfZ1O%=mkzqa{=IBaj&QqgSFjliyFee6>jGuj*#RUcv7H$3 z@SE>=D!7>xPQR~8b?q4Dp^SCtCkVVg?N7(P0Co2RUQ&9%b;-{lFwmcg13S`+2V`G0i;5G|i}6_6QJWF6W_T*ydl# zLQXo_6aq1jHk%-|!5B(?(@X^qyik`j3svmoZR;YgLbC+atO{imG#|@38okn;Ykuk^ z(gI(Lo9kRI;*7)E-Mzr%?@OF(&+^g>FOPag_%g=E7S9saHkEw#?tShZHl}Ak{po3g z7b}mLK+B6eRJ?tRRRCu7g%}gr{8Wnbi?roJ)G&Po4`voKZe>YCdzBi4oe)1vC_rM6yOU& zp|c-NAHs`>z&Du*Rws({tl@4Gel{Y{>Rcl%OB+L&K6Iyr$E4HV;C;l)(r>-}#`KAo zUYxF7xz0U4*B-7jnaa(iGdk10dp8JQk~VF>rVNtEMj>K*uuKBeaUJLWogGR}9!}f) zcX_schZl6-0PSs_Uml8rq#2F5*vFXCqBBkrm0+}@x5=KJqW z|MxfFnO=GQKKI3Rf+}Gk9!+MzfR8eLoihlKv3QD&e^ThrpeNb)BjG14$l|U8UI<8wHR2$ zRaj*M+Dc1AIKaW`8iAyi^PY@OBIJ1^_~sTr)b&Chi&n}jzWTH1rAiXC z-~!gRE|uCt&-sFc?YYLnY-{$PmR2aAl-{8apk)?+@g3jjAfAVyiYpcRMjEAyEu~|N zK8LGc2d|K;14n2r@Mw$()EB|bPkc1s3p9X{ZRC~`hUgBQ|E^QThDzCH2&I4FBoDaD z212Py|;HBl(X&rCaT)@4IV z+hp7}mve^vHBDpzD4`{vY}5966q1!)YZh}^mnY_D*rDI#x6~0u)yV)~IQ6+P^Lx_% z!AFuVTGHcOTg#M@c1Z_C-HMt|LHg8;IoXG)9ewM9FHQ#uT2jTaXYet-4g<_}3Bj`V zzm0nWm!fivES@ZrsSjC8!z)4M&=v`2B$g5pU9wFWekyEb3Ay}4c9nPf( zU2ecyQWLZ#E9Q$Y2jQS;l8W{3c!CIE_`tLQ(m;sI_VQ2ku9g^hlrty_4t&ccIOv3jQnJIg0h8dd~RykK)XBOA{RUQJQ3 zg}ilY-f~Tw6mcb@bdXDx7hNHg*GCydOTJT9fd7R*`=qi(n6kpx=AnJclw}CGl7rvk zBX2I{+Y%#VZLBK5R$jp+(|%s)Bv>gm1U63{TDq4K!IZ=>99c5dV+r;j3P;6KB1OrN z8nGzmqN6ZT&+`%1^)%}wU*Y*nB6M;SR{C)3BCoIo3PEfJP#1yHqNGNOlqLvZMyLFk zO=w;Ph$P^0XgXzg8fd47pNfm+MYE=?vikj4IAmq@z|oG_C$^#a!hMt#yz~eRK>M<_ z)Cxm%op}l=Ey@q1Et|pdWMG0Kn~HY8%#yMj&d?abNk;7tDaelEfw7jipf(SM7vE@+ z>r*o+De$YJ!Cc8tgn`<blMsoCma6*h~P5&ylvX0s{?Z#nt9aM@N2UolVOiw#y11 z4t|AGxWlt`-N|*gM9WYg@xKa{i>>foWP#U+BX%`Lh|%4F;Z3%xy!FK|O+Wqjeq;LS zFMV;ke)T#7C=PTM`x{qpPQUP5|6qFiUw(Uf@F6P|WAn;z_{us1utSEW^@p$DWYP`~$CPb2`^EsK6M!`tP!BBLFY*W+8U7lE=#m^YC_%nSyFIigkdVN-AED}} zYuhr(u)uocA^r3*6L+jw_}Sn2o$0;5{PXGX>)*~JEgB6w<=S<=@Kr{&12sSosv$R( zVk^V?6-VWwRInD5 zciT76k)elfP~YeN6iSfIJ3io_T({^{LNKTWmXiK)Z8AkQ2!c@L$9umuXnO1VM}A zoN%I3J<-Q{N?TG-y~v*x2+UTX-CLRb5RM)7WF9-*&eDm^temHe_btG60vKEzeoETI zzK-Gi@OJ?M1)exq`H3$yj!?fz z&OfD}q}8@8kY}+WH9EBL7di`^SyW;WmAOIs2wXswl&r{ZIvpN_Q6{dS{FHC1?aM>I zw$G}*igUGlJ-^H9&42Vi|4-BJ|69MA?`+@WnsJ+nQqRRlOokq^)w6BJbJYI7UOHkh z6~?M!JJ$=gw5TzAPwAyrQo00yZQ{%qQNVLxHvXg~oX`(!Aj1LEv`LV~@A|K{K|Wkz zEN>5g2&spWE)?yxE2$k1jyeC_`QU{9FMX&h*|2A8^o@^^dx-{o1jD~NnOvPZusSLF7t7`kf8GGmk7+P1{%Q zq=%&4P!HatoZ}OafQrIC|3(!guKrX1ai|zJXiHv> z@;u|a2ln4N81?OMMY{F#5i_Q#1C_y`q=$Z}GlvERqX^0YX%lI+(Io_yO8`&rMYSo6 z(@tywa6!+-7u8a|KlXc^xdub-y`Oa6Yr4X>s=@07Jg8&8X`FixCbd&-V3vT^5_ePJ;GW0O2i2dV{iKzjDlT zSkkbMSbuMV`P041kJvNP^+5C7Bpyb1sBn`!} z$_G}iAKrg>{)R=wtmRgLa!Z5aBR}!Go{giUF(K;G|FphMTpGbigc-N|UOYmc^3;bu z0@rI>dnU9f9NC~NQQh=*X<6r`oFbxqOUA$X*&D)~-XbBR>>FGtP^;KcCZ#z_n?4QR zPB8g`r#QJ(*j|eXFl*LO79Y?De{lZ+FPrj71)fFi#+2Yh@K67(FHb-Et>2!$_rL#d z;4=x#pSIZt9I-Ogmk3X}Q9NPSqGO)fcsF@E;imX>mp*ihXH{f+Wi5Ttkn2K!7Ds*a z9cu4y*^+0Q?Pk39j$gpr=H=|8`}d}Q`hWf(({KLne>^?Kx2(C{=9z<4wcPg~GMRjl zPbT>iPz=TI%E>dh<`KA)#(u6^Ja=!NNNxM%S!RRft*rDt-guvvpxM&@!oy4qAG6)F zeV_Nh_1P8l$vIK6_W*gh&HfU-P2XV`hadgugXz0JxI5js&-E-)>O816rdH}weob2v zCx(_kQ`f>`L2>BkG|{}y1Zr%azv4)m`V?kJn;OH#&quv*Jobd^;#;wNJP+RMneb%gkVt6dK7Z$GuxYXP}JcC(p(n(7di42 zr+v`&mYMad?vbbc>Y#4wAaN@)9746FEn3!XIEbZ=6eFy70Fhi24_|aJ%yor~$O^Q6 zW_=-)rt82`^A(T*Vd>HQ%7&DK*yz*a)e0b*b{@HySQ9WP?897$AH87T%3MV6s?+s1^F5i{feDL!;sk{wQ52@u4u;dBoO~ z%4`6I(`S~u0U|883LS!}kxG*!dVPs}Q0gN1_y< zi@Fc_Gqnt#2Sbc43j zEvxc{q^;}x&`M9lKM@Xsc`+lOL_|f=vZa45$v{Wr4%)TL041z_GwU()Y`qFM?I9W{ z0U0A5d2?D{jdL5aHGjDj$KqFcA#h4`p04~%@o;U^wjD)TsiX zH&YPW_I?tVd>T zkiGUh=x7jM|95OXyQ<^@+vn}`P0fG!AN=ODckz}K8F+EBY@fmBBOZ7iaC6J&T_=Be zsCCk9o7KIWJml^^zQ+m_*3KNW;+Fw$2h|;-bHpugB&!Md^TT1Z5u|_0N3M2qklq1K z2P(V~K4mgbpKM_FDJuoEn_+uaYVzRgU z)DLCSr)Z^9_yh_qL8^Xml80`!t{r&ZyK-&1&8q18fALQlP=s69l}tq!eN>a}sJlq7 zG6|HOXb_N39fw!Yq(qNJ|84_Sx|BtTz#&|Y>Y99D@WucKS#8U8{Tk&yKn|H_c?B4_ z?FMk`lX?q323}Fx@8&-Jdw(=N|NILKU@&muiXq-Q-(=EtgF!ng4BKp*#L_{N?>__5 z<`O8}v{pvsoDUGh^i9OpR|bP=V-67Pv4!dxZ^=Jmrozc1SEFy(c9qWr(-8wTSpiJl z*sil3H3Qp^c$I&1n{(}@Pfs^K`MK#9g16CsiwOn4Reh0I{VySBC-T#*bDpntjlL-9 z#&N!V?UD1$Jm;8$R!(lZ{apOWc&Bqh7szijIJLuIMi!wl8NAJ&(9B2VaMkTL1EJEn zGHl0*=h%)ge8r~>b1t|&vRhl9VC%*KTY%oXkKGKGamH-ncehU5XKUT>eCG$OfY#|< zm)2zYJ3daXQX<)+JdY3d52gbq7!K|cbL`(em>zK4z4MT*fn?U^Ax{VUtqo2f)!eA(74)W=@fnV(NDNBe$#h3@W&>{1$^Wde$t-Mw>-us z7GkjCmkAzL{O<2>@J+BSCi3wSs|0G>XH20TqDuNN)Sx}pIb+%o*ziGFUj=Bol&gOs z23B-3BZWQ&e@8M*!zJY@UKNgfD-c?!i%oLDcoGD!=3j9n&@RiKnL+qq2}pHaUo#rA zM^qfl%)(P*Z7t`$Ua@@eYb79_=}FAj`LJ5}ZLwPC7ypa@Zu-faY!lDy%N?#E`+nb- zbL@c0Q(x@q6^W+Z_BmU5(*|=*KyF@kh-TDd$JPmHkLW6Vh!u9~JX=b z@S+cf=7e@`AA?uZOQj6`zQ;=CXFmP%^nH*VuCKk2$fg@-o3T`t&N|ZVXxdg1oHUg-p-XHs8mr zzU8GdAWj(S*UKDl(I-4$0_qC)H8=44t&6+#$@JtLuJk&A*BN@dg4qdSSB&L5&FJEb zI@!4a2hq*vB?DFTnu^uw`@Lt|19*|cElKIV;BUWA-LTce7BALpqmVD@WP8%=b^tAX zKBC~^!JQ2+ylpZWy}iq|Y3Cu^`rpBp4{2*$_a5@H57%2iW#H!yXlz=YYlXWq^aQYH zOzy8J_a!L50qNGy-m@IjS3l;OXkY4z-xDU1-+b+@>8&^4hYUw}b4$Rygo^zwxFy=& z!Md_vj~9u2ELU>4ZQdB+wV^BY6Ipm zA?{><+>r_5W#uo|AvzCEPi(c^iDL5wx6FIJd{4N|8?pUR0+Gp)3rNia&x{#l)BEE#2PLx_amK-RZ_> zzcB4wzfm_y@Q}Cn+1_iqI^H$|gS2l-m>eFT5Vyt)CT}SNaN&+zG@!_!e!-U5D~40p$hq&%em0c;5eDy3O~bx4FJL;Tk_g zr_r|}#OL80q`e2v4oL9!IU;%_wieWmHpwqY|xiFux8gDOn#Uxu3U5dFy`T*wBUY{0W0$U%Mi z*Lhh)4Pq(89fFBXmVFJio*OpHD#Y+LxgI|W{;Yfu`Dt#(721o(CbL8n!sL=5z62b`&9C{3)6XiwKgYcw{oAz3hhH;pjEW<_oK!Mb zI+`pC<;LGAE8f&$Is~+v^{$d|9z0De*&u!KfPnwLHZA}i4IKTSVFtq4T6 zzJpQpoP_~Qc@g)obQP*Hmwdy^9(hOgSx)(va*^vSu9yzhDe`Gndc}T}ITtj^Ae5 zq7bD!#kRF{2fpGx>$B3o^wqWq#SP_?_-IyW$SFZv8ADp}k7Q5raUK~{viK<+y~Pk3n${y~g#Q2!UO`>+12Hy;>))(D zJb_hRmkz~AS%mNo1xYd^oTp#GDHq$&aWdvxSxTfB5>jk>;Th2QXJxv+Z@%7~iRpD(6v@0XF8zvM9#o@T zVb*WyD1Kx>&=0PIIQcC`2KR1Uo<9B4KRf-}AOF$xOTYcw(@UTH3=^PxNMsU+hsd&{ z>dKoI{e6MiqOIqin_mCtU!9H)SOwfd(R8*IJoPVMmmTVpK}%K~IT-UZpSv-A=5zmg z>^tEh)d{l=2Ix;%`E$&h$qt0ND(fMzOAK;vv%-mw@-Z6gV7dd{b;A@HJni&@p_9dH zoy-Ul4h7HB#t!3*KX^TMBH4*JCh)fRt{{JVI>F8(e88h`9(uiTGiPu@FssB&tAP9x zSK7)-`|Y|xzQxvEPb@fqqAo=Sg5}}?Sn4_8QC2uOme-PZrW;Q`JH5s>&`0mS!+=zs z*|8f2`r5-#akbIbVbn+=L<1k_8h3ybRXgi`Bf5s6$o>x@;c=h|$2`GD=f9TRV)9b}IyK|CRSjaAT}`olk-E?&8sZ?&G%cFvfLbaZuI zwPCyWV6ei$6F)O#Xdjpg99XXW;5tbh8ynL+?aV>#Ee1a_xlDeS0hdb*0&U%XXF6su z+zFmjCYBuJcEZ;QrmSRR@+AY^jO1)H@Ob0-m!=m!{n_dIQ&00&KRQ8^?@SYCvIaS) z*oP`L(M{|_eJQ24>s$mvTdeab14*#~UG*dM4)$NYd||rI$9SFabwz@M{q?~4lL-$5b&=};A*2}g7?KIyZX$Pz*(^e1?M;Jp(^NcJ+nis*XJrDR$`NRF?I5=>-XC{T2 z0B{n3s?Wp#Zo>`qOVv%y{ew1FP+<-QN03mh9ZoqPSmy9WB3AW|0W-;2GK%1xDg>DZD82EkcRCRS)mtE=mq|rw0 zYJn!o-m;l2I-l&{aUS4&CN7zm1xIcm2#S5hy>V-L^)J7XiNXxfaK1+$PRyPtH6L2~h?@Mh3|`|J6B&|4ouXHp_*CFf zTJ7btE<0hO(t-O6SGhNGKz`8KFVRiLALSzZ%t)X=_nN_KY9~7B2d*Ep!%4i$DkA$x z(%b0&h~pXdnZLs9z(wwja^HmBP6FExx{`dCW83Quu><^`d+zd(31ZUGgL{?SpFw+x zw&cXGlj73a?|V(yW%8HZaVyVDKRw~Q1KdTCZhgPW2a30Lc#&tv9USiSV$cWhWpdzb zpKB`UkQSFuIlynl%s6i$-5!bN6WW^wDBVchja=$`5=FPTG-8!3I{si|o7wH2y z5vV$3aPP6_{^if{2p~Cy6LQZA+7E38HTA=?ziiv^7cD#O;>N;n4V@!>K$lp zr}}jZJ>6E?7eW0bj6SZuQcg-7HS;(_wKObMX0=GoP~`u{#QV{W1MpCVuIx z5KtG69^+4 za{ZQafL=Du2LNu;Eo0528ORPiZ4a6>Cd?~0NosuLty_cF2>s?uvO8DVk%^ti-hS_F zdixz;@+l9hWv5iQMMjRi(Q|H_6h=f0iHHz{Uc4Ff5k{lLsIj7S<-?TZAj3V?B@rvI z#I%&3$@Bp# zt?uGB-K>;A%jB@~@!*ltrj#J`B6O=vP9Qf=D0PwqaFjGORqgNtC`I26q&Sw9e0p0Bn7_T-;)`&;&GmB1vqk zHWc*!`3St3o);pgz8)1u@fJ%K@#C;0V{^7+b+&)TkX*mL`J0VW7ih&(7ja1pjV*cN zke7&r#zSyu1(E3D-~`QbF}%OOcKuK0f*3t=PY6!Y;FN}?5RNpY78j|-yiX)?)uR7o zQBE%f{9W^wRoFz0V3$IHmrU{NkgE&^N@5%rhJ&xggBLcq3^s$A=#~v$ znxW883nOn?m9OwZ7YV~R(uLK`E3O^1ZDGa5H!MghtvZ<@M?QqIM~X_9F2g$bj;dSA zld7NSD{pNW{0h-*)o0lRzhR^0=Q;%PlE!Lo95MaNZ-6VjyQ#N+2FmlGsOdE#xo%-`jr05IbZ>>6oQhgWuf=4 zIxXaj{jE>*(}qE-I79JNXa{J)i4O+HE^YZk$$Wh9N8tW|DSXx&$XZ%Z0$KT2AV}h! zqZ>Lzmtp_xAInC0k&ir4+6mnBRq3+UK^Y&PpW*OTmzlr$wXBgJDy6LIT9T3}xnV_C zfWV?;@*iJbI+hYeCg0Yt&x4lPj9bSpUo4$9ZPfGj0Byey%g^DdW0mWbC)?JHTKb_> zbRBX0NJ&4~iQRe{f2{q56q;CF3XBI>=))XgYON$gNs6puk(Gr4-X$rum9CwXTq)I zmMkBhl;x2JFZBVIRf?WB@K)c0jd!PC|K;C67T;6?_lUv4GqzClt?R6~h5yD0-u8yoA<~R;31+y4A;yi@UlgE549<2=7OHL-v&KCvNf9 z^Va3-O#ZUchsWkkCxNlr2?9s)SQryN%Jwa2WqUK{!?2Pvacim+Nx5m;xS*8d47ia` z3kj@IAz)ty9AM@j&`nIneMWU@a;eS>U83YoNz2!d8u0~fY)aq3GN^- zgTEtLiDcBT{44z&f;{Jv2pq;dA;9%gmxAvAj~>3yKsE#Ylsk}pmH}V}$r&7R z(06P5(zJK;nd#{lU!I=6b&~;k29e}#dq&QN6E{2e0-5ToE^u?3NR*rS;#zXu@$MX9ap)sEg~aH ztQZ))(qk~VjV*`R{)nwVPk0$)hl!_c;tTkE+Z6=SO&e+gX@hg+82kSEl{eTHnTh!k zh8bxC5~*$~AO&*KE?ZmKH>{s=#7GDoKLT`)e)Mln4?GZ-HdwIm5KlSAQDBI0@)uB= z9A%!>p5=~l9kM)+xo=h)Ge$PjR6BM$NLcOFXV^3Ib{BNkuJrO{7bgKyza?C)qI%g= zX|5o&HL_yOc3u|hLnt)# zA9-m?ihv>zr;9_h{`prFwq5cnPR7k;@Rg5(XC7czQAy@}IN95qF8t2#O`m-3`RNnT zUxH+xwt2vL>TV6$Hk`_P&eLucOe&};Q6FNEEC@ulgVw|+d`dG)o@txnJgI(IFBD9d3T?(d%!-x7Is^iSY^(4e@{=i#?s*(9q=N-eO{zs0=Twt=6bB(kefD=cEUMC z+sXOm$1)Z zVHBql2f?V*hK0vqAiJoVV{E zNAeIE+YQX+Gz3qrOajB$^QsTqh(TW}zQRbMSSE)BN<(B@>o79tNxNm3d`$w!P6-V@2XKw|JjgCQv_ISQ5!e2=-+ODi@xlw! zEuP8crTsj$`<)jz&L2hS;dT|nDsx3_|YgZLc2^s{r3 zoiuK7Ej~P(e*7jocQ8M$z#%GP<|V%jE?P;OxqJcYrLGPVg45}y^H zkt}=RsZ4!3$MCF|K#R8+iV4qf7qiRcO|BGDSmgx^hp_us-BqjB!J)kG>*O1DLmu(OUizn89)m1-^>61j-r&D*Z;Pe%uYz&9HDf_Tzp4}g1bL4jPW!O zrY>oiXh0_y%>hOIVMc&SBeh{5%xPfp$FQfUMaX}$lFfdpqQJMduU`9;A}&7_k_Iot z!(XM`%t)4o1u+V#d>5_L!L1*iw>W+&X!^tfH=_mTUzJ+ZNVVjfVt92ZH**HO?);k0 zIC`eCE&#s+9!IitLMROR(MaAeRyTnUE!6}Vsn zH9SerI*8c%45E@P0R;_P2cvVW z27}f!{(y&n1uI@nQ+(RohN{&_qjcJ`S&rZ*VY>LLktu_IY-j-DaI}Auj_V2@rlAS; zASrG$&5&nd)CfOiwlC_u300{Po!9iHAxntf&0_$CtwU+xFMla28(aUjS)UfJ{KZ}P zbbq9xp%d5gD1)>{?RW)JmlfFT|7%{{wT&}DJ0XD5qxrV3QE7#@z{?)<4UE-Bu)^<2zA_eeu0MHFZEduqbi>s!|^IaxRlsR}g|z z0G&W$zgEq-#iPoCFqjs8m-oZJJVCozsR5;lbz5z=&ernpm}&MRzmaOXuY_K%7;k@Ca=QlZ~pQxrib?)RGmcw zaDA{9Jd>aWMF^gU+M@R$j$vqM%h z@(tE424y##;kkHuI=gg@?i{eRu^EW=MlFNra%M2kSstHI3AraQ&Y!x7vp7&) zZOhr-k+^h~(zKYRrzt6yW59LdfP;b`7|dn#_R6!*O>eyY-t_2i{yLMKmN6V#zE`}5 z!1^!$kSX64!)`0V1+UM!*hIceG12^zJO`f(gHud$zL;;}A~ASv-;;CP%CxO;_<-pn zxFG{5)*%N&!|@fFJV@x@V+OLHdGS-zm;e6nGMGXg(Pkc6FAPYeoe;bF%1Phw)1XSI zNp8Ml4R9Y$w69`ls87G=>$i9}-BOx?kPTOb(^mWjrQg}~`;4a?>F?-H`rcqH>>Qh0NpZCO?%Gd5H!ZBVsH>C`T!|? z^`N@qBX!0vx~>LwC<7T6a#WeCc{eW{vrRbLi{89BUE=NaU3}prLRJ8~A_kltCVnrl zz1a>Qy4tzOK+$C;85rpy`HRa$_uR^dczW<}QrVnp(j-hwAr*03nx7eKe(Nco;5v6HhSNaU$B2$vTfhxGe z8YGQOY%9{0Ts>I%6b=IY-1sfaSe2^z&>N04O)M~~Z^T$kog@!3=8nTUHr<2#17BQt zDL+wug_)~3x+JG73SMzhXqO=qF6bFw7AShwk4XBlkP|~bI0Umr_M@Bpk>Pw`gK;}>$G~XQ^3vN z`iIkt&p*q=*w*wkgQkAx_a2q$mhP_B%j76&Cxl&X(_21g<*xijJ;=MfG%Ex^!!0PA zx?DZ&&paROQ*ubAPhyvuqA44tRQ)!I9$t>K=V2FY$nAKV?XJ$B*hV zpSQ?%HMK~-&~{7*;Y&2>B%nA1=Jyos6z;vu_Sa}C|*o5ow@ zJvNy9-C~>Pt?k>`#g_gPTl%vp_;kj%rJ49W;~va5<97as580LF?h&?lr(qkYR+|Zo zv|swY(PrF2^u%*5og;YgIAQ`p+Q(choebV*mD#JWy*hpGo3Bm#OroTX!qZk{NV~8e zfmJODQ(tQZXkLYd;kVn+9_yVemN!C&YjSJLKVr5IMQ zq5(vi#aAwEPA|W-G2OUU&l;X5lDir{y%-a~r)Q*H4a~jT8E-`#ow2z&ZSSSe^64A; zLHm;(gt)D{6U2rsD#$H%YtomtY=uz~-jh{7AGBa+fS0o9O?lg4h1tK9nZ?(1?uXSe zhh8E9ZoEp;&^|CN{^IfSs6_`klXo{Dap@Ys-~|Nus?+=u0RGG5GNrj>@Ir}pY%r64 z$o;@OA0g+73IG5g07*naRK7R8#A@WLyzu6ZNjvE4weu3si0Z4JndnwAyy&0L`5R~M z%5aZong`rd+@BuZzs;vt-eQ-V!%XfT@%(elO5ihA0q4as`g3;xa`Jbd&$RsT^$(^$ z{ra2JH@|;-y8Dn9aM9UN2+upuQ9G}QfZek6tiL|%#!_QBk zMUgfNdfQ;0%W0RkHT_-=C6?9`i~l4kQ-{{4c&UTIwk8%KI^bUr%Z33W-)%-z@4*W< zL=uuM9<7EsteVkm)8qn`s#uWcKlLHd&}vmKfQ7dlSLL7xl!Oa7ZMcvL88$~9B zN7)k=C==aAnfP%|^43cg~3q5~CM< z?z!)P2Ax6Pb`24PCOU^Q!W(LA;@e zdYuog;R-r~=ESP7l9sdvTRThut4dXr!Yr<1wwY{!qjJ*gvU7S#+97nhZ~05nutQlT ziI{{uTYli7FWJFe<>k|`q{A54h?hhGdJuArJ2#@BRAVdEMmh>ns9gT40>}Wjp+x&x z=RrC0-H1ZdN)0}xLjglI^RQyb2plxpxbTXikz2Nd)VL##R-u7~v2cRvFg0piVcJ5J zVvAP%W|Fyl*la!uN?&aG4f{19GC@h0^&l6S)s`#^O5?$>bXBL)-#EI!Bk`b_Nk;y> zt#T$vFc71&JUn3&h-dv*%!Q2*T~_&-pjixC7W__C8!|WREX|;6a`WX?Z7thNoEXJp zEj~V3@tpMuOrJJ(`D|%BtD}_=Q5qM#$bsbFA4`oY z?)0KQgzsPo|*W-Tf_!D-&6DwK3}itYN}vU9j#Ho9@^5ay#` z(93gepZN+hEZi=iZ=wcVwt+PXvAUFo#Wx&Qd|GEoim%v1Cn(png(DuRQ4o4Ep>4jQ z2dNQD=*)GU5T$%NOB#9rpU<(vDLm634W&C}6t2%F56FKb?N=m%hSE#OE?_ zcrx^owAk{Xm}^{dRl97ZN!FWqt5;M9-!3yK`|kFI>D}*sl`W%~eB(i?bOuKr9`ZLH zG;TZX1n`xsyVKPhtc+xf!Jqo#SJ-Na@9u(gpSO_Rf-|dSSXt<|w(4wf5FNg81g(KM zp5do_sA5W~_8}}2iR9g?*%e-ocsO^G*%iM>toGgDTf$q!J4_&MIl;%%-7#es-S_G0 zO;(%MHq<)|!aBjFUN+Q+Jds|^sz>#xhe01!)ys zMPFnP=g)YBS2$reB1u)}5blcUn zjGEl|m0z2_zzYmce4O$z)*~issXSJ2+h#bxi!ZuoT37JIU7Cljfxp1;M)@tbT_dgbbk z>B_b1Y!`ZMy2!-JHiJf-0wpiDAY1v?Bk-;>V?zzpXtjR?eMF?b^3iWKKtvvZE4m@?MqA;@X@Os zCxtKVP8*jPz`DRH!wt6nJo9u$6W)P>_LTu8a{F__ZN?KdA)o)qGaMA|pbLI@Nl!oD@N;fbCBLiJERFP+|hF_>t zzQPHo`mq`2`)TN+?C1k(R%es3dF8xxMUj&LP7(vlAiprv99a#FPh^lN>|qqK{>Z1a ztn!foo>EEIL7kgX^al@6`C_3xM=~-YT@^?(dZY*|ZG;)jc~m`@h6S#fpMF>M>aYKM(+e-Z#Do~zqI1sP z6rYzh+!ong9IQmY^X_%RqD=A>V-*`J$*g@+;P&-euE+&19c1WvopU#3MLYj$i>45i zEw3B{Xj-`!Ck|3!uI-F@ z5Qm>k22J>3kGQ@#b@S#^)AqH~>4R_nC4q3bKFjU?<$*u+V9Q?4lX+>TZ744bg**Jf2Z6)1i?lRVHxv*sK3KFX~<6rK209uU@=JKflYQE&Vl< zy_a~o$orN((icg4&DmuFd5=ln3m11djCZG9($ct1?glF(H@QFbTfZBd-2ZIeL1QO= z`J@3WeraUm@EoZLPQL~D=)uwSkQKmOGSfCP0FI-*`|&sJWK8CQs>!;3gqaa;0{RgPHKaI-XrZ=LTx6up4;po!eI;_S95N^iZjpq`u)TN+DFXQ< z4BnQvo(1n><(oDhJ{;LmP>6*z(hUmX6ELy^98HuTkTHjO4zJZWu5V2*^8Mc%*SHs< zBAo#9j^d2|;)oY4XpQ)siauo$m@S~41U}}I9-F-A@MwE)dg`T@*e!)~1Y0w424AX( zHmncFE)JySW8dn^;ANmU+C-iDfe?j4Rd4wf{%~S)ecdz;9rO(=eBj|}`EuA! zsvbuSx6p|jX-FiU5JuIux(-{G!dm@OGSu{)DI5OlB znC-zn-K-~Efk!E@PzF_4^2IROfCO_`v*SNy-g~ML~5f6O8p#>6SVHE;5T;VV?W`GWj9}ZdHT_tZ%+H~exE)-xV<;e5!mNT zs$pR}B$0bZ=-iFRdv}B7K99NkmI}x1&}v`$8)aEenJ**+rn|wh|9JS}2gE1SOV7W| zXI<$3VdE9Z>yR%2c^9cvp@`bZUO#J@%jSr_k|K>Z>zxb>7r@IflQ&5-U+T5+htcD$MecEN(7kq(| z#bEnFdKh5KQF&PuO3RQegw25101V{#SqyzXj;egTf)DkZxTO;*{3HL+k?`E#q%rJX z1CPt#`|qAi4-U#6G)aHZ^tNSX%B=a7Cas^jDog)qUC7^tDH-w#)8AEC@ys<~FgGe) z&*KWOequpXo?Mr@S!k-iu!RjjKqj8}w)w1dr$1GVHN7%oN3&8HL&tKIiC}5@>%OV! z;$O-#9s#oG9{x&JT3cT9jnFt17k*<4Yro8~DB9Hwj2GfkQDvXdwTzay3 z!?r?9e=w2|7GCTZNLc%^ApKhkNMTAtg4;Ysff3CoA!-M2;XBZWXmwl4B3pns8pdSZInBO@Cpx8;u6}2 zYl-UIddsG53BCpAf_eR42aJ;!rO!FjODK9KfNKlrkk3quI9Un`b&w`6qy=DbgaYca zE?T6W=OHS%!}b+c@mc|b)3{5eXyk%*UK<-+RoAGJ-Jv zs$mpfz`?bIzeW_#Lc^S>?8pBW?K$}?#Mm|DDfe)ZiQ}+LZh! zxr7WRvt9$C>?m6#H(#AI2t$^o10z&T)3U4GtZ_o z7>Z)y)*RIDqd}Uby~rYmh$9`Lkd_|`KT<%9e=t}Xk-rod{?Mr!XcvA|i~qk6Ik)}t zieAI6HE-c-ycxGnmbt9zP(Ii_+?Mp<-E_@6@<&Er=q>+CmJF0z;1rY04WPag-ZW&A z6*Px}ggp39Vw}&*ccy6NXI>^oX$c-B>Q{%wGY3&UVnWeLV7Bl~kUWP|?I{S#r_A#9 zd$_bLY1a%yEO&)y(PPz*Mpy}r9{Cx31V>~&RLZ;26=P73p;pp$BVKskL@CLKL~(XV zZ!zF^@%iVcPyfbmOuzhxe>i>V-}uUODVo?)q_FRT?SMilF8Q8 zXyKqw2GdCki(=raALD#U^!GQ7gDSDlNAakK4*}aQ_&VXV{kOj|eg5D41y;5) zvG3$PgA`{BF06YEw>+Mpniik z<9DZbg}E9%?S)|=Z|WW7f%i7ss9oecur>NieInP|%F7FB8{mTHVVlm-gL!cv)4+K^ zkG%A@VSScu2fRu!hVkl$_oi1~e}Cz>1bP^q3$~-O+4IJ(N!x55!A(ME zRnRwzYhE8=SKRb)$On@U7uldNn)#4X4*!DUe+;Ys4!cR@VHF(7s3x01klp5)@i+Q} zKFFu3Rb2hpXv-?D9EHfkzksx9Xl$9qWn^@c8AU*skba%4Wx<)1npst1=uwpNEr!Ri~a|p!$@PC2+$ARJl26TNX$ad?%Zod6%rIDXs?1_-(Use>TVa7o8*YJf{ zrlVRpAULp%(MG0&6WBr<^k$vRz=NB+RUAKLwGOLtvaNF_u-R@AJ3JR%rR(Ic1Hm=X zTWQPmt#~y^!F3g1JO*a-^%`P-d_evwUg~<50c5YA_nidRAJNC_oqo}_8B~0SrJ^lm zedd)f+NAhs_(}7U#0R!3&og~#%QIQ7u@4lnt`X0@_{r)0_g|mx|KP3YQ+297?L*Gf z7KW|~9S@#i&QJ3nSOHfJ!*2y_c8T%9uM|| z`RzvA+!l4?_b**R#RV(h2Y$qhN4CWS%KUcxBhy@?J_P?Ed~P$LaL0=ua=drD#Ieid z?;iDZgBN_RvkmEGI`S*@-Fr+B?=kUvkqKg7T-yO>3mhkXw_LT%wKn$$bg*08P;G2F zNx}7V;(qAt0XlJi#EuVaT2Gte$c(1?Vjru{j#vSFu#bNGwm17W%IE}XVR3cR=$?sR z>`B|R{c$*XaER}Y*owuK&v)24=DU0&{>?YvueJrR-h#cWtj{T#e>7b(8*Uv0LLzlw z2w+|{UVkvHMP(+JSNmQFoMji>J%g97t6bnlErgd8Q`*P{##3RY{!izj( zTxJr(drkhV=`$vJo$%YqQcCVMk9n!nX+d7}+;9~zC;j~cUhsSFx#`&(*SW7MuVqy! zX`efM8OFT*Ls{uPrG1w7b_Lghwn7KaCJlI(sg=Pt*fw-7xxCeM1Bsp1=)t4^09^bN`Gi|7-*H+^JW!C`W)t zA5H#}{Z%-mX696`nUt|vP9}lfDm;_J(C_Th@4oPf>6O3wo9W=g+nMyOdou6Ix!)Mt zYp;(sW=UpSe)Wq@5vLJj#X1UkHBn!6i|@syz1dxGHA#C6Eq%!Q@4h!(x^Z=Siq8V= zIO!W2+3|uW*9`BetIg?oo38Ks!MLiF)x>gQ5au*^-OuFZJ4u3PKN+K{ zPpza}gRg|3fs?rDK#)wlfTE24#8T_q@dsh1=?fOjAr{JRXG(}XXmKarC5HCk?le8P z?X}rH0AZ;oFe4Ny74lGy5r2UtSKzdTkQAMm!G^}aksB1!z=O8dA-H6;zIYd;+E~eG z+=?mZe|_#2Jc%G8905;gy-x> zslnqv;|iS)r$IkUR#4%Ww*C&iEoyneDs9*L2PHq{zpY)jfDT|Ss03((#Fhk-{17oJ zs+boC*{oG*!3%7t3c3`sr~`P?T)_FWEdG<>2$rv5<~xKYSA8K>(0oUBpe{tFO4fjN z1fhRj*0I=aPZTKz3rw1Jp<2l2ypmCEfwflwdr=yHD;CjN{8@+izZ4a}!y0F(RosUB z)~nT#wmJtnEPRq%%Nqh(R&)p5I7fFTD;6a~K;bC6*9Abi54Xr#;0<%%H~C29E# zk+5^C`i@owFXfOT(-Asd^}FymX9zsn#*j%qj@bAy`~rgA!qF6DjT;q84?*3j1!vgt z5qm(49>#-@9E!8pm1~(558M(Z`$1dq(m&u;S?Ob0wQ&`cu<(keGXBozmS|CCoad%F za^qA53a>+Uv7z{^`InTB|2;<|%J4($2H@ifSJ1_-GE0*3-GbCMR{JlWv+USdxPgs) zsj{*M6#FIp6Z-~x(Um7=@f-yONv6#j4iynNl-`V+LNRGOZrKaJfe&uM)Pr=WNf`5A zF!Kfn{G>B1n08S@EfU|5c)-n9IW+deT+z)Zj70p<#1t%gp4T8k&KBT?oh zSv_416MAs76(QRW?y~A+m+zBak*t@Q1);ucSDI<}nkykD0_fWXsx3KHjtG_e+miL3Mn41hZ(iq>R8015-8-Bf-?%Y7zQVS>$jkS3nM8YpF^34*W?<8|t24vjA1-ham|yytZL0fuM@ny5a6-NO5Y6*Cw^TCyv+c;tHU#TYg>e$cdS_nOIyfx z(UhMsO1^;}PW<|v&8+aHedOUl<$+7r4+~bG?btp*|K;2Toli2>Ifktc9A)r|*mFuh z>OSA-Pt2%}TRuCuV;^>5$01GH_bK+A9!}4kU0@&++o8L#ca;H=TG`^a$aWyyWxK;& z&flFqz8|)`$0R(1@SE5@eTcl<=!H*N6@7BZx%h}df8Btt4)h!H&2X?i=kv{ECJ7u6 zbyd_O?0xg@{`4<@_%?{CawsrZd-)iVcl zB$V&rkDR1ch9T!Bak4=w+=j1l#G22qW*`DVcn4{h>jzNsDOWyd3uaSPe2xd8#uYBl z(5>X?m!c_uDI+<-}ZRMhKj2d2G;);?!{?250btIn_vp7i7Nl<>}=w zf0>sWc9`UxrW=5tV^EY{fUTg%tUb=}3E&L8$qOA6QwM2bNJ_tytzNrA zXcS+J1|~Dg0$Z3SB`@s`4^AEjOAom&9&`A;Uw130Nw!+WoNacoLA*==GjV6%m&sw$ znGoi@%=dp8#`OAn41c#3woR}bJgZH&rboQ!^u;Te>0tQm0fWHqcHs+7=~H7Dis={V z^)FoyrlDmNP9{1RYPBzm+Qza8+kn|Rbb+Dsi2)XzasZ8^kPBSvZan|O^y6=TXF9mY z&H^D;zLe#&)El-6DG8kpLJ6Z(66y7E(W|fdSt6wd`}@LA5k5Y8_-MLzb&v1n?&e-7 z)e2^=ZN?E!zl#C-$!mfWz}cFU*qtlfvBGaS`$+*`F4|^tbyFDq?IG8+d(`m(FE!oc znsXbK-ZQ4+?m&Ns_^tC2e>c_->pWJpHOSukg@dD7+CNBtW z@V&|nCwd>`;LFd{5#NG5V|BTG{+RsLm#S+2?RM#heE0Ve6Tpx5-M-oW&3=!zhP_@B zGT{qy?x}=hx7USZ?0B?)#H0f46OX+2;oa$5-+G0~{5$1u?8_GHTtBix4ro;n1^P1n z)Q%-tbtT>cPf}1Sz_=(z7E}P}+~s+xCpfYxS!V6#^;z&p_dT8{Y0Jj=1Xj7$8Rrt8 z?xe1N$%E6|K5L)0_4nXI6Ikh(iDmhg=)`s2sEmj7iOLS~M$o>(Z9tb)+-0$Uurrzi znf6J;LL=k)2fU^jzKKEw4?X&|&t{*GM0Aw-IhvN+yo;|qT4xwWrT8VuI$ukUfXa*K z*5=Rg?cb-L<3$NRXW{**FJWXWU7kmr{M}^x=S^1tbFMsQ8|cjq&SCC3eYWuC^4|Nm zryHOCiRqcWOPM4LUv=Q{*~5zW{@*`CRSEYBq`jXL5H(3eN8!?s(EW>$!4`Z8wWG0& zQ(MH8$&*6)G*9Ck!5q9snkYKR)gaqQAkiWgK0!%A^bB&heKOQnaHS3LNK_`(nTb&K z6*qtK)I-7se@_T#goP1Nnu0&U(H@KVA;_okMnS;^ld@kOWC4gzmlvr0wPnKcQYmTA zb??bpc$<1v=im_6AJ;Pg^0l75J}Or$VxMUV__>%#RayZ&of!5$_}bO0)68B>YuiZAHC-^q!{X5WU!^l^zhvuOwWDt<>{LD^tAnqYf!e!^Od|sGdPv$ zr(8~1{d;`y?)3jq_9jlAB-edkOYd&|9BpDcHID}~q1zE#O@06*f@=YA+=5B26fqzC5;% z^|_>wB!nfe%33u7iePFp9`C|Z_Cpr4%o{m*#0R@l1QZ?83T__d)5Y?ch`fENm}`p> z*_Tqo-Z2WO#gZOj)Fh@n{ z@N>Vn*;T^QnZmx?i1If+lz)M##H#r|X=K5W7``^TdB^b*T)ZPoQR3?-4os0GADfeh zxZ*qdr5zJRUrYoGf@uJ8>h;h6HLZ3E^e3QcC`L!}VzM5YO=`JfIl7u|RZ#T=N6Ff> z`x`Q0F(r5{ppN6})BiP57njuV@v(CGz)BL@B2|vRf|Ui;xrB=lRe35SLs*w%JG2+< z3GpT)a#~D_Epf=$*H^mu*gG*mX`ZDM5ZfZ7%Ru&a4A1Jjvb4SaV?zZvh_x=?vvT66 zj4-(Mx25V=hNR?8KT}SXFEF7X{X<3kPx;d^SJ$R##kXT(_W0C-yT~_vF`~NN^iR^k zjSZ!4>_<9-sXkP)ZmE5ubkU}=^`cGE7hmZtnt~dipjSUeUfCg4>9}A6u+`q8XuH%D zZGl=@<6n@X10FrADdkUSwM2aKm7uww$r6mAnY?AMq!o?Te#rJ0gCVP+t{nSisrp44PB;_^cbU5XDK^HnVfsFuog;^~E3#k`O+5UB^PMwOd z>drfgCJY=ot88d9SW z>o0z?+?EBN;paRd^^nE8N4zfc^dV2Q z@U$Byz36q;gOrqyoub#Xylj*k=54dQ*%y*0~oj+I}u!#PUrzW5BWR3ou zGa-KI$d`*{3Wy0^ta4&geszn{5Pk`5mw_bJ0yaRdAg2u_(dHsxiyr%dx$%#WgRPdjp(U!$TIxNWVWlE|+nQ`w~rR`{)mVBM@q zQza@pEtX&7o9Mdu4q@=ptUoW(={u_M)qM6{uRgtSFFtIuPb)_oqY#`|;Lser`i14U z{>y*BqQ$a2gDujTYr&@SdWQ9s|pw1Kq^{|gh);fR&WWkuBfs_^_dCN-6G2s0w+oZbaftT`VCFs9$Gm&nn-d-{ zSNt)Nf8)k6PZ?mF6Z*>K8(}^PbHIeqF|QOo<{PO8^z}<9e{#Ung$FG9F7M+XFNMt_ zk`qNN{t~~(5171vYy=3Y6Z^U!4+%Ry`U>6b1e8ztJ?3}!_9x3XfAp?|q%f2((%NSV zn(f+mGEO{rCi9qulY*i{o?y-8t;%Zi z&;_T=p)UF@x`kV{#{Qu$XtqsoQGU^_v1@xKY*D!i9=pp2tx=ZkQXzvdKyrDCV9S*q zC*`WYB5Zi{6mNMNfLxWP8l?Or8t?fpeQ|m1Km5(*lqVz~(-$7oU|(X)WPKnDoYoH* zC;Z0WDf@{HSjT1r`M(8z8?Tj(Q>98x=u2g_SctbB$b$nE7#zlM`+kHw-7e6NtW5a!p zd9U##=`oYc?;@8q#K^LvJN(8j=<5a-ZLNLNJZL40C)Rb|RsK&OvUgPLR?KQdDPCzp zr~eT+(<}%yhS>KU-&21~TYmVhZ!l5KLU^=7POi_6Mbl(cfID)NN3H-ya%IM;;xBrs zNGsfmbc_X>MRGyY2wvfPzf0=?6x?0}swLeQAY47gBR+^Y5lPQyiMT4BHf>GV`nB zY9?_3XiIeiVvzQ%zGZQq)(zM`$4^*p1_G}yc|9}&Dvll_F7jv57tN7Ht}Ih$Knj*I z=o#D)1t+C`loQDYue^zu<$Y3QyB~050f;K{iHU;6`B$>USZ43t>nw1=A{&4(Y5hw% z8-a~$8o_PMN>PRssrE#ldBr7pUefA+IS%L^|ql%exnQ9f`--2C8}^prOZ zWkJt#i*s+W^IO2a4w`Ef_T6*#wf9;1`4ZPspYaKL`Oz`wqc+kJJA~s_MT9mNPyhF` z7XVlPEpM?$igm`@@h>G|4H-BR!iVZDQI<}SGK0bv^NdRYNK-!@{Jd>gya*-rlmJ+czpFt%MgTF1LAsM6;psd%-P=7}6O?M>OBZ_}@Y#OCThA?SDk zj?oog=_>TO)&i9qOU?PIJ3p8*9#gT+@}ww?2f0a7K!np5*e6?o=kLn&_^wYLUp@9+ z<(kEBt*e+b?DVmhUVdfy=|EHR8sXybTq&{+N-BCj(2{a-Y0$^aKqB++>}K8s;|MW4a(7h5g4hpi3&DY z1xXoPYO5ay)I{x0$%@$GX|||Ps=k%Fl2n?22dFNI+_c0^$!bHeLAMOcZNJAnZwfy0 z!qS}sxFRGeABt!E5g~5V34X+a(Dy|8(sb@3xaV+L1lcn3IV|o4_==pz!9+V=~4Px(^}tT?i8)XDkyL7 zV+?D(ZL$)Rq@DgXeDbEw4j>TVgXgHVN|=edC9NhAGGP zn$yXmu|9Af5IM^5I9EbL9=Xy)zn~}z&XPJN#YXA&G|1ZIK^^juQ4)%OS1xton>emI z*yl7>>cit3{RHr8@a{x7ilKs1;+SQ@@=9;H@a_KTxVkuvzsh3UYR=%3XUJ6r`MR-VJa0`)Qh|EhwbSZb0)%=4Gche7z`6_A( zt!8Mf?p#>u+py>zg3Uj<%9eI<6;d=cV60`O@;`AOt2Ak7lxRv_^8QT#gcp8PRT~D# zCSj7N%L5l8YsI%M@H#DaWq z%F~O|S-GHSDy0$EDt3J3n8JWD$C$8Qia^#j!bVXbA zlwS3hAG0V`5E-DR;iPkW%!Kjz=U-la`bT^Vm{+LHD~Np^TfURW1gYOa^1|W@ua-UG z_0N8n?&h`2%k#cUkyjIb=CeN4_$soVXQJ>flQ4W|j#fNm7LA7vb8@9Nzhjzyl&jFP z;gl0IpWr=X!t~LZcP{g!6t8)H`sg-K)v&M!?2y+wA3}4)Le>EjjS%E1s!XQ4Xy+s> zxJ!PA4!S3{$MqMNGZx5PV9j@Z{jMGt-g(U-7u?>pU9W$xcsLmfsP=;j4pj{fST8!h z(pR;!y70};05NG|U+fLD9g9uy`t#!X$nOO5y6<I1Z2fia#C)&#ZvuKURx(z>Dw~4O!};^CCj9WI-C$AwmywEG(d7uRTt-$ z2L(No8aG(L{FQ(Fk9gu0J{E5uGud*U*LT-~uTS`%^Ay!N6B$qZ@nkQv8_?3LSnxgI zThsNlFN?u>+Lx!HpmWmwfc{XEd1Zg~H^vXl-~YTA@>T0T)#YL-oiM*D+ZU|6nB+x5 z^AoGc=-f6*??6_GW^vQ$ej0^nBH=gJ9&sTZP7n4^f_Qz)MEqWilzH((nzWY=NSk2pl<=Sd<{FinMDcx12sG z-U`XFR2#tLiOReN8d$#dSWRCG8qj2DAO!5H@lU?Mv^_E$6H0bus-lD^E1jiRjr$~7 z;-{}Ie{2+!xWS+r>1MwS4=lP96U0BGVqdkq$)%EdwkgjhG*PzaF07EUW2hUjt7_$% z+OQI*?UUNC7;G8%lv6BPCwQNG_2uQY-}q~+2wdkT9u_$1oA;6Q%f3FBeaxE~eEse@ zWBMt1o^J2h>r2^OI;@W^S|V0_EM{X@NFPuQ=0ov_~nb|3WEm4#pS{rW~QIsCp&L+wsnzId0Z^5BwDt9Yc$p-1q^XzBoo#!p}ITkNu~A_~M@_eZo9H#y4;- zvO5jv_$rtC+!~j}q2P)rlnX6TGUmVh#V;=Jy!-C*;Tvycyh(K7NlM1XdJHRYZIvXd z@@UXj+oai(kBm@j-PmBE2p>LRv6iv*>a{BwrzOqAP!A|8PwXIqF~|Ocwd#|en0gL! zNT1Ak3U4Vn;{1mdQ;t&{zkCvl8=Fq~2K{4>Q%_hVevZCy!eTJ*>RgT<@B}Zk=N!|n zaE!ao;==*wK9?WeU9LX5vs~t>-VlKy~LBg{1(3LPK)Ck$3PZ- zdA|t;(T_R~>r>-&jJ&>>^Cq9*eaQEJ@ACw(uWPn{+bTIHqK|pwQ~IBMj{WKJ1J22K zd&CoN$nvS?pSWc5=)?FMnw_mwWx$wIk55(~U*N4r-(>Tvh z%av!E#bCZZZ8|=`6sDHCj734*^!(BpRXDgV# zEt6$&1G81Ntw>vjm0i(F*{>n)FYS*86(bp=k7a&a&P}4150}rq@RS>0*)Ms^P~9l! z@!2tlALE?Q?>dfnK=+A17k(FRY&++i(pN!ye))*~?e5LzmRCOa(sC7^RvUi(@?8Ij z#ViyG^d6 zq*-}O=kS;Z5-}||J)q!qtdQM)QMM~9y4w24R{qYLx}ghmTx?Z6*mLYUcFB+S4?jT8 zl!H@pGysbm$Xh*!*iQ?oBG(_ZO z@xfrx51MMPZ>rE(?1BC=&sP6Sj*?C2eAak#BE zX@wg&CHYBa_!aGSVwbunZgsr2U)5M!jumZq%VfZH9JCrAi_lv66Sy2w1Ukj=2DUbE zsV`Vj8}_;}LeH!JmLBnyDkeMmt!uKwqZ`ltUYJ5tgj$g>un8`eRU+6HsB!gwfqwdf zyu+V7A~cl3;99_{xeF_A^Q^He)@mTj{90V=N-bQC>GEWSpSYGUy;CR)baXQiIv}Ks zme9r5Hn8cGHc8s-q@@CI(au(#8@-j$TMW{bCQAbYVyyTJZwxFO)mv~opFEX{8XP_h zJb4U23Zw&XHBl#eq*&fdo58X8*bYIN8F~8w%5p@w;U{0kv!w#lm81|_nu0b~x%f7+ zfZ0U<&~zR>;zmwlwbcV36_cx#a*5c0mWq9YX+>zw)iL%DV)R;H1Di_AFL>G$c4Z|d z^6@|N;+rAh?^zXV%oH^|=B5zCMSbXEuNzV_ah3y_!q$IE=V&ciLt1%pZ#p*G4X-XG zscZ0J3s!VhiyZ)sKyts(c2mW$fnB5n%76OdGm_L5e~TnEfuVcvPvWXj73|FtMv_*P zzkLed=I|c1mZcf_CFfZwl9v26Ch`na`IeJIfkW$^#=%_NjIK`^+hi-=I-*NcA;krM zLFeAyT{*?3$EFn{?}ZpPhHTX>eRPN`yjzAP;AM-2p`S6sx+k9lm(mkP)q$}S2T`=!h(E=?RgcO>Kh$?LuCN|G`!qdrePS|`((^qF6aAlVT zLExuMoIiGP&?h~4V#ZekpD`JGi;2^F@W1fV3oIDiSe`H;uJ%(d;E#A(*#)pOCeY8A z?95Zd6^+EOCVwD@#_K@-6Ix>oC~4r{?P}+h$KmuUL;PLHXn9* zclYJ%*Ot3H9rgYn|8XXU!yvz+m0bX~G8Mm|^hd>)34&H0>EzFan>3RY);!4rFM{e{ z%BNq`KZ+2Uqto1eEiN!}CQe)c&TIIXq!<|`7P&d6Q50qVPxwaLtN-vHFE8+<+C3(g zUHpH_1bHUXY15}X#c}S0xlaYtmM#Dv(npSf9neplT=(al?mjhaJ03ErGYh}=u}q|O zqv=`3FLQqONB2Rd3-gq)-*yZ?xvxMrXd}ZGbOI_*eu={e+u0`!d@A4jILa^MVg;Gx z-iVzLwc<<;0Td_5^zrGx}A8@SlX?(wL>y161WkJ|)c;DxE;1lb<(c#R+QibtTkCRjR zvtk;DV+nQPz@jgks)u|9QUDNA&{`LK%Dqv>$d-?v?c$9TXZJqI)4y5B&9Thy^Rn2+ z@#=}M5eAkge}SFj+mvfD&V@NVaB)smlzoGR=URCph`Pf_JFDI=BYybkjI#ZB+><_Rr};Enw-H|=jR(Hj)>^ozX z_LR>6Jm8g>_jwA~MG$+0p9JtmIC<=!=bTIVtHodXDfqj5SMs|*_{s7*-)^?w8lMUl z{hKlK;VDO*JZYuwsI53to;K7LF^Qqv3JFX}_K}jR@Gi*^x)mow^O+Tk{la}fMkRF{ zgI9d3NMYgwc#V|{wl!gHUgN(x;lVdx=F}^m`df4(YtJiR+1fPGqb@bZgtocrMO)sE zkLAJmR&vCRjD2t>1{H@WUzN1VQUp`v7vTsm*lIIiZA6i@v8w5#-?%DmVAcxId8+~# zaH^JTzYWlH%KQ`~l``t*IC7a+!rZ*Zr)Kz2>(#4VZ*Z>T%`K}tj!XamAOJ~3K~xSf zSxAG_^Cla$&OcScF`B-2%G1A3_&Mf!t#S7Ldo1RCd3ovjjp`dvdd_y9^KImLae^TC zfh^ilnkRsT#%J_umnmkZpvD^8Crr21Ou06<3x8dpCCzo8r?W+NYtJdTCd##D0t$?L`nB{is{}@u`0>ML@#c`nyxHOb-==2@fVQIjOG&tqw)&$A zldzK9{X&`i2@hrnLtXv|U;PSPp6UZLW=f$1>xsn$Il|*!@X-Wd_J!napMpyl3Xm~0 zQCpyxA8p|6gU2rZ+7G?_i-498L&{raT}YAuDror=#n9Eh1U_PRHpB^dT5fiYk!#*+ zwK;Y~I>7qhd{J+HrM>u!2c#`yEL(++IpahLD0GX79N?l%X;&(Ww4b@3ZK>&`4Smyf zLU6k~V=&0HBnXE5XOvl3a1NES|i;BR@(4 zvn0->aVCXL&@Bcg8Go%Peo(I+FI;6Rh`?5%n|KLikBA+LIFuT-EB`RimcL!+#Pk< zP_`LAlX_#7HW#F}31D*vH`s>3KQU9(l$BNHkPo~7Q83(5GMkpawwr~-2WjH^7co>~ zue{Kd-UujZt!uSI=1#-+sXjdfRW>UkHk2$?B&AvkOU=HFHf;@`)WvJQGbuD} za_NYoQh$+7+g8fbzY}}Wve9*sEZo{Nd=>6tqzog?2#nQ_D#NV1ybTj*z z7%1c`hLBd97A}B2GT@flJQvutZ|pF)o_?;Twx{bQN_y1S6=bQ~ZMD|aqE>HW0Z7|3 zY3x^De)0@A$P~*0g%x?}*7;S=1z{yx=E!QfEevGEvEqdS{TiKK-FP z$0ZyWa96KiUcT_xeq;Gt|KfjIe(S&eua{r=gA?DC_pe{FfpB&Ca2UQ9Ttc7$Cn z{vP-$Xcm8ud0O>^$#@s1uJZ)&Q|d=t;9kFZ#Dysr} z#IxlA3)p}0=9|m+|KwZC>rDQ9hSv<==3R0RE??stiA-b=(_{Sf&T)kE&qO8{3E)1H=RW<*;;)nF$Kvy}75kD4J+xsh)S`$sL~|yBqE~gPn`0vtCywaW zp);hJjKNrM3UKi_hAT%L@chJqQAY6Qwn@u(YDawb6AE68ANUk1LbB)xEbf~(Ot^Lk z$1x_cc*Un*sUk+|c7JhU%U2>^Kkzls!XNP}P-uL%o(cKOyaM#{wNH5Jo+r@6=P?Nv zhRToZ=ak)F&V1D>3&6YsE>CkkVG;O=H%*}4@;M8?XT)uy#gA?|3mjtd9GB>Eu{w>*WsPWszUSR-M0S3~#S;1?6>3Sr$oD$V^+5mmp z3HipC>MZ1FLyJpZ1~yPG1}2-)Yhy#kkdR*%eVH8YHT1^2C@fRc!YD5q^2_|tQ4aM-1%5i_Ow+M4{S}$ zVsm@b_HROv*<$s8B?%T9xWR=dJ$+U16UMGQ0nD-MjIqq)nERQ>GV^)rw-$yu&f&+l z2<$PdI;sBa2G0aBc5sY#JRvTZ`FRZcgo*4IuCoZt4K}BV58pI&!4Iaop@HZVFWW&o ziBz_!P!#5H?ew(!t-1nZ>$qa;H6VP!u^B#rE6f;07UN;}eWt{h&%F3qzIA)Ly#4L( zvgpYekK9?bl(!_LQ1KTMTM(vnk3Y%FdizRYin}?J1tQWU8+=ynvk&=3;#J;ga>CPA zC=eMR^_iX~Rba8tfdU$1;P{QfDSHgc0AWXC?8ss}H}H6aQa($7f0sFqop8Q$DaW$g zjJZ51%y|zVa9oag8u;Y??d8$~-r~TUPcEO|;dpX~g$B-vP8j1)I4?Tp4JgMP|NI7U zZuYVLJgajY_pHx9jjDl4lZF<(1Bmor28MzvOxSGdKL4KIGht zH@HaeO?DrB{0Xmo{?YQr+kRf4j!)eKJp3~0&NIloIl_r|<76QffXHMAKY1X(sW zbz#K`5|)jc_)ED#sc+>GF)YniTAOe7e`8VY*zKRHG3q#VylmzyY=k~6Y}^k3G%SOa zW$f959c-p9*0lOs)fKkNlOjagr4B0*USSv+1=EtN7@n~XPxJ$DfX0oIR}lMwK(cA&(SbBaC1LXQcuq+4~^>TpDLpx1&C9R z*A)fSX}cqfs!hdH706qF1yd7MC3>O&raFHpg>z1rD9OUFI0FewYzzusjL_GNy}*u< zXFY^ksuTQIoMRQ$lGvt%M%$mz)~B3PT;@iyD_nbpw`IM=jkr&Fi^e$tk0FKg{>P?{4$Ly~@RV`gcaCCT6 z=o4-Refzz)moIP)d;K}Cr-6AraL5fm3&(~>AAWy%_%YXs@4vY``1r%+!}mW}zWL{G zEdR$JytRDqt$WM8Ec{k1>iVB?-Y_IS?uVU#Sju+<=m3qgu0TXj4g+Q@`n z@upH^47PfCt4v@ly6aEf&;eg;B6j9-LsKPX);_1=@Iqq@UEuYGBR`q&kegb4`uB|Q zf_qM1F3PDg6VmFxs=bZHfkUf8^@h3h54Ys8Wbl$2l$NO;*@s5@*t+T$Qfce&)Kws3 z(po4x61;&;UX+_(u!B;ji@$`F1VD0N;gTTsrB<@H;z}#0_GGM;6aSj5ViE!%8<667 z9@bFI#yIL;7*?LaZh6eJnog$8qocTsvIHdLqF1IV*M6UHvTunGhnuDijC#}r8)Q6K zZ7cy%8U8U#NHLaNs)H}N)YPf2HnP=1H1(s6pn7m3pTJXjf37zyMj z3645;thqr`UnHq>?K*BdDwUt+rDKk#)mx{X3a5ZlqbzaM8y3acNO3V$TZ9Ap-V^?k zeYRp!GS>KvqKIwz!ls_G_5O7nVjO<+4d9!dM<7%@}y^G~sDqAdLPJ z93{~yeg7#pu~JkSn_PUwP>QxRilacT$cq9&J4N9I-=-94Xo^il=@$hZysZHOMQOij z47a?ah~S2_8Jolv8II}bR4$~_SaC{u)wv^6Hhk{T=96}o#MY55JQimoPn|RlZ^ap^ zmX(1*D_e*D*2yTElmUEglTjX9T7Y;--TBc~@|v(oA|q5<7wTuCs-7Y?i@qX@pwVw- z;xJNzTkX_j+q_~>62rx2?_-t4m{$26Gie(!W>sCQ+xMu1Y#+~wX~nYo)aX@!ddB`1 z7?}2|v3_hVBo$nxf=VZ)wxMW*Rw_BwpM*qTxD;7`fw#1=C31n4{8C@-2~Rs!`50zC z7L}gO_u?5@n?6gV1gCQ{PnMLu*F!CTl7BjlZY}7)XJk~QKFt}MH?uceARQaVj!$vJ z7j4NuO|Mv!xpe6lO?-odnn#To43Vb8y+jc(XsY;p!`=KR&KRg)r&_c95NRm<-J_{>W0#O zNiNbC1=}cLkO!}8bv{y$j0`0AII>&KT_$iYJR z>YGO;z$XjC-*%KPaGkth37&f04Qox_f=gBtSQQ)VT*iW~IJn*XsSC0jOc=k*cildE z{d-(!dXm9J42HR&;^fRB-#NO%qzu<@SpdGqE84DH<>Ho$XD4DV@pP6?sa$<{nO8Pn z=9_kpmq#pk`-(OvtRFKWvoNvvlu6GszwP^w2~S>^c!}3p9iH(TTPOJWIYI8^jgvDz zUE_r66Rz-{uu#ZVA18pwapK%ba3<96vhe$(AN+Xv!>@mH`Nj|4SU%#3qK{ZCeBm?C zEmywqWnQsMgs=E5V2&4D>_5d$1O6EKmzm^rGNEEs6XZVeVt-v@OlWg~XmCkb6n^u- zZ9GBQ)@I5^%D1=a)DC=nwh49}~oT0WjEpa}lY+YIXZ3 z@wY+>tZf>js;!GUL~TaNS4{)RSK28jS1vRu)1I5)=&SFnwE-xYNxI1L%9P)z%-!%z zWE}q1Z!KT_;%mzlCdVJL=y=XkP{({P@tjG!GbY3jfgSKla^71>f8fa~`otj%J>Fe! z-^gNtR-rcII(pTo9@j#hlovh|M!73rT=I819PwV}6DD`q-LTa~Y<}oJ#OEsrzUtFy zN5FWx;N<8LPZ_uf?1BJGU{}w1T83Adazlp7r|oKS2P2IYKfeL|gvtL)Je_~e-STJb zM`tYRp0en4$|C#2TRw$$k8g_kDjKl_LYe)c(hNwTl$7->Kk@~%i@ zJgdKU9}QpeV_l_|Wkpu2@}+KtU&-3=LG~sj2|n@byiLerym&ctT%ppEX=C*8BRt7{ z?I*(z;}7GFFlNl^8<3XyA;o@S0cpkGxf;@Us8_jZr=nhYN!rt5Qg4F-l%gb*o#S^1 zi#@SW+X#|oj+xR$zBwf7u|7%KpO*p`6@0~;N=ReFs2iA=mX!>=_2>&O7KU0>v5jt{ zSE2GE`xOx`|5*%?poe2F(aoUp^+u|G3LxS*9q zQyZv#V-ulUpmQUXJS=%B)zf5fqwX}`$`xguw>y`%} zHo2Rw>QdOgZDVl+rFD*jE_hz!T*g;!W)KJKB(8pQ))2p<3EQ%0lmVefDG0NeBX0E2 zR-W^C%<^^LewyHfn{ZCZx$CWtX+HVwCoWhJKH;3`GWp>dZ@J)Gz9)?D`R4Cc&Woh1gBaa0}lKass}jwSWSm_pI>bP7dxFa?{k`rZM@;({`qq2jSUiw0Q# z`P-+d{bjl2X-DlRS&pa{lKPZGJjav*u5x!wMn@sZV~-{41rePR8$yutzdp%JU7Y6F z2WlZizu}hNNl5W-I~dvMdVK4vpOS3mK{w=2xp3M*OGllEm2lw`G(R3AyJpP;q4md zGIVope7Lk+x$cdpAowp=+#lr<2ETG$Eq==RkBh*bkaNu;1s4{174!o>vGe(tUS2M{ z$Oky*gz&O=W(>6T*sK)(%a!+Wjdzil6V z;3q%kreVjNsD~4M&|KoUYJc;SF$au=#ureXbE4R5i;QSo*BN&gjLRbWl~x2Vj-+2G za83Ep#k>>7?X!=U4?cN=8yJ3Zxq10Hh|V~+-{o5At>rNbz^Au=xZHZ<$IG|A_JieL z{lQO{Z~fp_zIn?~-#2{|6@5mw?WOO@sheiJ*_R7nJTXfCFqSXIRi6S=Ch;1&iNEqp z)>W05OUG}%^PB6#q6%D^$Vpzj&6&0=z52j@%lLcB4M!ZZbL=@|zxOHNk|D1`piCjg zM|SElrj%%1s?f{QY~deSMJ^pBoR(&AR#IO93K7x>N=3ZYDpaf> z)h-$yDbmhEx$zW4%T2~neQir%vjJE{1(2vy*{6<@BPPG5QFo~E&lG!7DxQFM@2t$=y;3`u)9pl_jOYRhe3)7|Xr1-G<98m#oVwD8_>O%9H zDKYZKS?lWcWGw3JJHpJd2Do{IO^)EAQJ^s=CrwN@q|j(wahna&%f9hTT~PDl+w$_M zRY|Z*%GfZ&DZw7T$r_tRKfK1Y>E&Som{&k!;s94|(#G`g$WpOUzdsnXrFiA;w1Zv1 zg89g)1eDugK3M}#jQaQ7L$ZRE4GTsN^5NgC)!l9fR+J)S@tg- zxQSN0bpF~-J9fz|o{<=u@Q$OS(LBbME-eg6@t2;0iCXQD%~S@r&H_b$6>GbvY1y%J z=c9y0)^?9BpwZd+=wIy$m)v7e*(g5pqN8O-cZI7$)_{SpGHlpaCt!}wuTPH1hp0XC%ko$vj(+*>3r(yJCZ-Z6s*ukPpF{IIBzWp|y@IrUwQ+7;H z-+bZb^2>kgx0nC;zyICk*Z;G>vwZ&5FR`d|Ij?W@A~bizlb3}k#o&at1$ps<^!%&e zBqUHy*rqI5{VYh}#zc!z_GH%9)8=4ef96fH_WX^mn^(+r}Op8yr`Ci%WDVEFLzkf;@RF@g!=8fM||7v z39n~9;CG2{+#NFMdB9|-Pe?t5mS`~v&g8czd*nHZbt0UF-*XmvFEL5!tA72?-8qX? zAAa)j^8N4sX!*Ba|IYH~KYVk!%VMFIrxlSW%WYn#`1$|fmzSHL`3&uFg$wgzzClcI zc?$U0g)%d1O1$k*G7+tk@Y|xP2Gsji>xeGM>Vl@UmiC>T2$eZv zvWd)6iq5jR5irt=@+-Z;hrR3xofFFx{9ctix0G(p69)@4NV~gOk_Am>HtYi#-;fl!#G&M?qxv`&XP?i6wPsQG;@F?K zwJtAx?Pws_Q?X3^DrM-3_?V}$ zSs3ocwWlmTKco%c{MjeVok#T@QG_D1+tT<^Hl}G4bWJLXibeGWkj-bG>F#UySmT|3 z3QggRGRcZ5bb*u{W$_bHV`#^_XG>xu!n4Z_ZIMTuV&^vtzUPkD^s!pppcQC}i~;0Y z5mUlf`}dfpz`;d0HdP-r3T@|}xQM{W*p(GlJ_^={ifhRU1L&eCR%2GyC_qd&4YdL) z7d0vTEun~_N47C#^oBV!V@u@`1#!inTFTAeLbQ13s=yXm6NZ(yk+OxO*#yUH+VBS7 z0RGai{aWom+${9SZ-q0KpR*$70==(n{F0w0fa4MU+#8K@3}L@^Z;Efor5YdGL^0Ie zUt(J7*~A#2V@ua76kFR$Tl}lH;fdW4XPo3%bM3~>*!1}JN32O;+q(GcA}|ZWEEMMH zUv9GSh9+Of?$g13gVke_3&Xw^I>#%-H}2?dVB(3fzub7l z;_o4C$Z9k6wy8gFhI`13Z!8RR4s^oz+I_<7;NUS&rSVO8p7uTQ2A`|k_;Z;X)sFeO z^1~Q6PneZiz+$gsKBbOfa?P;K8Pm_0G{4XHe{X+uwmiH?Kcs&N_jS*wEdKhLfF~Sx zq`%D#3*Y>UH(=70i{{+R$HMPp7u|UBs?L@AxL;Oet6dZS1|+NY zuvmSea6s!n?NTtd5zy_Ja$)NDUi{TA)t)O~v!*Vef+|!2ZE-SYfD$VU`00K@aem^e zoR$x5=p`p5a}gp$(h7;v;I~b|3vJ({zAj-(2aEs!AOJ~3K~!EmORv4)yN?dGdt-FW zI4Vwfb6P#$mI#9X~WYn_{4?Z4JqfZ@XvXvdh*E=^=Nz3X-9aqQ5oT88+@H3mu<#P z|A#_*t6VJd$W|Wcg>hc{WPFjNcp|f<2?<|lDk6oicq`v}^0sq>wH@GB8tIX3TX-t$ zvEGGR?GId8{=hpf@Yd#ztum^t{T_4X7%}nkDPa5P0XGQH-4b6%@*}R@uYc*a<->1$ zce!`(JY-j8;!#Oco%Tfg)!FU32i#^wa}bPdybwSs4>{-TdA^$ zO=s|R)JI1gmp#Xa=`x>%xy=okXS^Ng7hd_rJVbo*^xpFLqaQDK-uuq-!$1AA<$wK` z-(LRY^^cdk+_+=X@yxQ(;` z*3^bHtNPN-A6hMiJdxMLD9&&cD=9M&ZI`7UDnEq>1^p}{wbQ_h*2u0g6 zLE3RCt7ul@_F+dfu^vKm6ihs%+?U%qvR(Ykv4#!5x$|4v;C>2`Jc2oos~v^&N{(S` zTNwk4UgHie0Jlk@vyPnXcR-EVV9m?tk`cRic1Ctn7p)Ran=eXCA{)QQgkapn-<2}Q zMr{%v8zHH4ZT*$Fes!)L>41bu=eElzDlzhDz@Wri*}SDf0v^^P9D4&3)B?h#;1wp0 zYU&YSEwJI~N;HOb6gxaJ|~@Pq~6Q6Qpy4`}ab%ZcO&Q)v`5_gXek zR8$h`qLZg~q}CC<8k(x>3f-JS#-PcgqUj<_nK5{k5{)aJv?HKxk{5 zIRb=+#*uP_i|b&mI))awCkNq=2>Es$x#a`Bkj9=ZR^wlU#I{zs@|Eu59R3&`tAUK4 zn=!#CK>f-qedVXX3p;t}+S2$g{mN~jHBo5%I4)g*WElU)Ct=!`EQFRvcI8zsAB%4D zv2bO7#K#XxEem1$n75z7yHS_929h=%!zVDP%2(gYk7)<(oU+0y-ovY}%4nVzXEy$& zKU(K6Dn@5uqZ&*z3}0-EY*B5*j#s?kprWs09s8scM`lV)r(z8z?G8Wn*cHn5FSOwb zG&1CAKMONHlPhBlQYjkl62(?!oq}8IB?l2nYrLYbV5|RBQzl>43A5g|t^Bd7FrZTl zO~a>L+)|jfcCeVbS*Oi|f&3+Te2V}LE@R2Z_6uBV@Wo%itd%{V<@$}-W2?BZ{Numl9ckom`ggW8uxJ!oX?Vuy)IpD~u|-`)vpJWAOvDV062;nwJZTC2 z_#wM6lNa?<6WBO)*I(JU(hH?h(4x1}E|p+qgrRx+7_j;my)CiMsGzTU@|9o0ovx~e zHhr~4*l|5U;XX>WO<3#`?~P!qH10A)y0k?bHUPj zJgL@(x;QXze^n@)T$oia^wKY)y?s?6sohFh+dNq^o?#@HuftLoXNk5I@Wk(Z7Je6A_k6-)u&;Rb=@@3VIdA2p)k_H`B>j%Bi+(Qj`CccV{B_d&fQeKu zqIr~Y`S61em)Bqa!Sa8z@cW&gyuI9Gq3|hZMNZl=2c)O*?E$=>;pwo?fAKZGlX{g2 zaqgMN_9ra<`ZRzSmWhS&r0B$_-;i|iAQBoMk%~<+9%4z|2Ii@<30xHMQflH2UJBdQ zWLrz8t?6s(hrZg9nDgqf6DA(s_{O)Erysma8@0|D3?tRjgANLU&G&Ye+=gi%ovF># zgwk7u;G`@oMFvrM+ZcILL>7LThmMSL{^GN|Wf0Z6t6qqprWbB3&Of=e{L3aUEc~+Qf54=IP0*mn*kxbC zCZjG-9w@;c>vc~)Idz|?@Z|cKS%u@K&65Vmbi%3Rz=x0{2)*!j!pFLkPUe@G^hs!_ zCr4iG>lG)Ba^lFvf@2nVFJ;nSyIg2M4?CUT5Id&MR0oqdkCtmb0gNBVOpYG#$VV1{ zSq%33c&z)f0L*j9Jnd({@*=LD{;fW2r0X@ZEH<&gdv=d+{N7{XmnR#}TyUZODPj34R;pP)0)M^9N68bAoCH30GCS#**O(P6|JJMIIYJbd6w-ayS2YQ_TaD=q+k zHErrEl>IiiPrn{=!;;6GTkLpW=1Et-4S1i1@@5{62x&7HJe56uMvrp+naG3JiKYyk zdi;(JLaP0=r{YwI^y5`nI2&JMLOwfi{pRvnZsK_G@!K5!cm*)_opJ-lnKw4E-?<2U z%9G7!j(bi<^KXbP7lr%@U9OGg(vf_Wo!9z{<*LbWy)qnMwUATYUcjX11$h91464Qap13^)d zON^l`Pbb_@Iahk|#TS^^9`hvd`6Cy9F@>4*GjQHa;j#CPcivsT{`yasw?E=7 zEyhTBX$!tiPxo~3*M(m{?~w&JbxFq`#fm9))3p0Q0}Q-M7km(Yq5W+0kx}yGlEx+* z*(*=lF%)G3#)y+s+KgwEwJ|Anr@K}?{1rO^k{LUBE1m@uUb0G|<*{Xz4WvU5S}CRu zd-;i=;v0j434Qq_!QSqo8=u4}mjAtIg+#9Ca7Z8wK*_Co!MfZu8-`K~2%lOIW;>fo zR*I|4i9z^c7(B7D^I`<%B2f7?_BiHvjp2(-F0+TJ<$(Rcb1Lqk$+v-FgO3eBr@=Kj z=Z2IrW<@4_lKMI0iZORl&DYLo96@-@)D2Hkz!8v#pd?K4rp zKH;KcjbT-eUUaSdJep=q@LbOhmiWYiih217oqXz!%qq+4`Qz+s;!WD(FZ9$E{cMV! z?sQ6!W>01rRnMd%5*Itfw#{i@ZHzs|W*kceaG0!@QP#mlkTTlFox*CbqR)P!Y#1tD zCBGzUeJACiKwV{*as#Yf8Blw?HyKk){v;Dyb^%ur$u<<{X`DCNR(lpqykqCF*Ru2% z-|C}Gf6sC3TwZ;3`TjS*$=muL(huof3SuCPMV`y^^UWK^C^k?(W~}z6P2cKu$e5YW z%V3M+sBP*~njWnEv=R@!qZcT7ULg&i*Bw6je$KJr{<}Y1u6*vw@+z;TKEMCr^5fV4 z)$+gmZ-21-!M}NPdH*)&2+)>p$EosB>*6bjv>$bCd-f;2NxO0r4`o4f%{@oYF=^%VmBFeJ#{H@nWk)>>W$GAM%OMh|Um;01*+!!Mg@z__0Tp=_h8)qg6n zCsgXD?v4X<&T}F}e*saho>nqSyxWdzN+oY}8}H#!Lc!tjpI_qG#5Eq3EM-<`Y9Cd- zvND)OP;COEsE!ET;hrr{{Dc?ZMXnjU*0znA*_5cnprxiR@lPR zxQtW6bl6;8%C@txEcON`p7T!25JgYQo5sDmv1>J@I>=PXrJfkr#>#D3EvP7JTMZVH zos24~Ys5Ee5K1czZEv9ZVZm6LecDgwH|m^RLL^8twC1fWVyu&b7Y=Z2X(-sC4AqXH z>vE^)Mq2X3gJM#UQz5th?}sJ+E3fi~g|e*s`c76{K=(7>0ImR!&@>YQ%29DGGzx`> zqBN?^6nZMHI23J&^!j_ju$2xL%c4tRRoJFs)TLNx6sKGpJvMCWR-U4@L8V^JNqvw|@MvNk1x-wgfN;dYgnfl(2qK@PklgPmq32yu;BY==(Gu6n7Zb=Fn->g+( zH9_pAyJQYc4Fnudu%iHq3d{}8h(YD2}vTOR%o^CBmzJ({? zv1@YqFQirxJa$>F?Wc2vN52A^Z&z5wDrdD~>aqES?C@$)%YmwU`0?UrK<88XIiLGfYe0Zgwd`!~BhnU+yK z>TD0gDay3Q$$AH%VB)yoLH8vV9IwCp%JQrK)jwGN-tYdi<=6hkZ}TeR&$38!B^M@h z*YN5y!t3HcD(Yf7Hh6)f8WlBea_sc7tT6g36*V1>4-~;ChMk9X^@AGa%^zeK8+DO6>V^TcwW`i_!?S6_ZiF+MF zN%o7*>LQ$qeP-aR5m@X+dZ)ReW6kFRz5`+`w*5Cehs)_~ofJY|q3WpmnUUJTXqWarl_m znWH=3=*2MS&viv!LqJyvuM5Dl(CdVR{YhH!botbMP4f{GGcNwtBCyQ*LrCcW36b@b znH=hJXq1UC=?+-@J>naYc?ERqci}fvo8&GA9J2WP@ad!FD*9X?@HmzVpOuP$%!`p=Kvzm@(K`HD?D!kawMbz@8ew?JCQ$mU7V3lV&6 zWRkvqInL6~Eg~d^F}CIBDtD(x_KJDSGP5Dg+0=OsQK2un|77vk2`1`}A%Q1PccaV6 zGy5AkQfjHIr@c+&ou9E~b#olOEbfoQvm z&lvjD%(YiuT3-A0uiCI#Eae^L>_5B;otvr74zDZ^5OS5{>lax)@O!woId+_ItU06~ z``Tk0)?Fd(rcBf)CYCgS-^9#72x1#5vofvdf(qJtk(4_XLs5aVF-F-Fx#8&Mb2m92 zv1s{N?!OE1UBaFyle|;Ml0zQca(= zV7vN83(9);L}wXi9s;<>AaVcdwdIv7*OqH8hA5wS)M6p@>GT?1aZzxFjjpGi0lLS< zL!GspxK*AaoBUNp;{0NsGR2c;%#DN^R}(vI|2#K5{ph=|FL&R0r}a0{WHLu+XFA(S z8Om+b(%&{LT;1lf2X1|c;kB&oHrB(td~$%8Tw%f9@iuCQ-`uezsm@F69Qh$oNtN8QMpRUA{*EWrg+ zLP&{Shzh>?7vjQ2n|v~K+Dh_Ki%$1$ctW?QfC=4eoJ48M4ikLp?1qIdwADi5TtxGH%IgZ(jXdviQ7mH` z=jlf*sO1JY#=6L4Kk!^lrM9$sF-*m@m*>(h%<&{Y#}9YxN1R)JK!5+-t6yBMaq^b8 zhJ=lC9e6zMds9mF-7=p&iv5&*j-OI$u~`k3%KB*U@v+9CEEr1YVHExM;+$EQf-`EW`(q_S3f1H-*RQ$cHC=%vf*^e8{ornDYp6%01@y0yijqbaHL^_&a}|MMy3q^9t^~ ze$;+Q5IsJo`{|Q6Dig;8E*9+9$`O`pe|@E|rVo>s4i=2*`@Y&g*D46RLiwrvANV2X z3h#0A*ww3#mf!!^zrXzN|MK50KYN24GPz&Ou_-%cQm#wRK%8=YlIa0$lwZLql{{s}CJQ8?ttxfN<*202(k(n!tRbKRQ$#~3 z|CHs6rcGUBM5aWmGUY-Xm|UVtmoQO@lX)Ry*eZ4>M^8tLxg5ivnHR$B0wafymv2_RaZi3%=~Ho@vVHeKS3aT&1JDJSMl!i z0C(`QhT6L}qAc7niWX9!cpVbvRLJ2@>o_N2$Es{V#Eka0Ywz*NdZ znVWuQ}L zbB(OhU(m={@nv`QC(7+@qmv1H7GH8(UQ-QEY}m;uFUqH_JU+tJ#kfP|g1%>BG5$*% zS?&K?0D(Y$zh7-BO=Gv4@>Jqen9Na_o;7o=iY z`>EA+qCD1wv8dNrl&tg{Fk2joM>6H*Z^pJ37kk73ZUWujT6R6W;}r zFT5`S_sJ+HUxoQpu)haPiu**$AAaLI%fJ2OZ!bT2^TXvH3&nkXi5KXGCBET;uf56z zJ#qKK^^q6#JVE)=m%hB5o?PJ@V?N!()5_qFeL9Moui(s+zljO)p+0v$rzMbY9MdN7 zCM5&XRbd&M)Sq(EZ)BFL??(<*Z7!MEAkH?Biu};mkA427<)=Oc{LWi>Iw7=dieFyn zse~;+m|JcHSryrRrKA^)OxCk)e3)gFN4$BctZueiF7Bq4M~L*zl5q*B3&6REv0alS zz;Y%xL|pqTzqtJB7hhws-~PfASUfH6Q&GqCA^U`r>3K!7{SZ5~A{V~e%)jGA`g?2w z53Ck%wGi6IA7O`l)_rxex!+G?zA=+vOw~k=!O?-1 zqEC38nhU^Bx%=Sk2~T->lLY(80k3rTJDu;bVEpdepVaUZhY;U?X-i`-ywkoML<7=R zd*p>OGE?9Bnc@Z(@#6VSxo}M*JZP~NDzlL8O|=$#iHraIY7rRU87Oj%EzBWk#ZS3} zrOUA~H&qTUg;gO{2}-ZHu~WTLl>wABxRWf_S~R7OX#tP7mY7}xgA7$;%Ht|X`KK@%2bxnG_;v3&IgH(z|T+`Dy)1>ncaBNu;p zd&McoIG+agJHS2-oF{@g#`)duGmnLI%1rh+2HH9KIe8xij<4+R^(F#!)xwb* zEC9O*e8g+AU*&jx!g1vRG9RIf_02l|#x-PWIAZlnegiHnaR(6}0|OpnH$|J_Mt+h| z`L)nvv3!;tCY30@INd@+e6I55k*i;Ld3o#K{eHg38wJf5UD?Q3JYhsiq97dwQPmF8 zSSc!z(Mw+avuF#i1d=ogpnCt#gXCAQaz4`&_%s3}9K%9a{$*i@dfki!&hr<}S-gqu zh_Va6p3~%8z>MS$GAk`~>mo2XX~i9~`1_RCJRcr&6T=Bl1YhC!cO5%UYB523@+#5z z7VpchoI&UZKNZ@YeXT+xfjkju$?Cg{8Es{o59;F)|7XXzg7>ji-3xILKDS#-z#;D*QwKmYlSB%$pv1)%(w?Nt?R3apB?ZU4F= z1-#?;K+B%gpjSreZ6k^-V^R3$0eejV03ZNKL_t)QLi^hvq>XLD9Iw=8nhZMI&l@i0 z?MTNA9KNupZXT-huM14+s7kEXeCS0)%4mnG)PmU>SKo;ez{V;|iWnwdyIleahq0lq ze-Tl}r(Mz$3b>1*YT*DL9<=8s06xod#JThdi@^FT&Tser;!7_rciw$>`S86rQHtg? zI2PyM8w!vX8^HP4G5y@vMf*BvuQwzI#G%_o-*jx~9Y@P&udk1|!RMIs`xAM&*f=-$ zMrqF9k9m96+u#5C@)6%-KmC~NBF18GB%{mGPLz`q6Y`2nwV!p9<5p-br!HObXVDj! zuUj^aOe54`1Zs3A89D3F8(071zx%s!a3{4ag>=d(*|uBC;e(dkKVz-ldd)MrH=;T{ zz^nBrk% zMz*+>whH>EO_MC;7tlrA#CH=@e1Wq`4tH5txOhd;zL~zId}+yJ>X2!GWq!6#un-hw z$3+?w==7timHo!D>mk`yq9?L;1j7rL_=!QCtBzjvY`9_xb+uano1)0D8W5W>Q!fS4 zVR4^IT9dQ~C9z^ZczH^!eWoZ@Ia8lJl+YLxVS91}_VC^8BFidiqc1$g6qr20Rm)a8 z1Edi7aCy$}Sd;k8v59<+Ib*9$d$G^8p0P$ef3~KWY}FlI5&;dujmf-v30drsXZp=h zg%r51t!Y;&p2jqdXyakBJigQe7mYC(2}tERP8Ulo3-4MgYa2}l&(4MoZb|v^zRSWY zsczWz<&r)Q7XR>+1BF}L6!{aUm5xGub%ThGY?~_o$e(;Ttxta#SW&Y8eDn8WsPOQ) zsYVTGg;^tMJ87H@Pn-^6aEbZQ0M@Deg{d8reE230cWor~H$iOHQYXFg`J=ef$yxAS z4&%O48?-c?vSsMh7N!4<6721qG%^~W>`fYE9EW9?3cGAmUar7_9pqJEMuXCHf^$I3f^+@gbJBLDms-@4S%>A zFD%ln$Bs=#;lQrADi;e<_@Dm2X{r+?k&(BGk5*u9i|ke=rEFsWX!u~qhasJOyYA*^&XmaIzC z4~u^E1uGxF#5^aM$e{n1yeQ5D3V_HOJ#{i#^3@SmX()`J!lNJfmc#;ACx7PIp+nPj zO<%Dq8O0UG0O}%9`;--ty%EqN+n?AhtSl=VL&n7&7l}7+USGcO)n8lw(|_?lFaPkL z{L|&PzVeI9%e=z(2K;=LvrgVn0*kfe^@^glr{krKUbx{^G>y$`zFw68nL!Eql&veL ziPcpJeN&+z+6&GUv_zz=5{u{OMX65#Uwz@l`cg?I!0 zBfpu%g{q5bv|?zKcFMb&9`Llu+0Wj|lebT=J;%kI-`K0CVJ>koSFd?yGM~v(zj;_! zdzD+i&$nRTdF!p^Yk&6L<&VDp`trehA7sMRr!R9;zwOiZtNZ^Y?9F~XNv=D;th#mY zt-X3**efYfqBf2wP=X|kWJx1f(qIh9vMqREV=#sR&&c)|o&juN=EVg3kNC+ie)Qwm z5Fk;cB$CZVB;BOC+1>1Ysr^>f-OHcP_r%G}TiwFMy}yizv!4@@k(m*>`1G|i1U}vC z&*!A_BW^d4_3*QwnzkN#m!HKrtPjuo(oKIdQjrgQr z8?%v&nLk^!CPuVp00+&I(R-AGUGhkn3;$*Sou00#5<&(hgU@&O-byuMQO+ zUUN#7MRozi79zBRAbofyKsRcH4RyiDx#k(b5(sT@5k2?@OntH1g8Gz#GlL;@B z^&ikApIW+b@zV6{PyNJniN(f!CaHNGE`7r9CE7P?5*-b+i;`;s-B&cz|M@19!nA-NrH^H|2$vd6)cr?XwHQzFN*jUb=a1c8Hu&_U4ClHRyCT zF0)a$bVMg(gz@Tc&{+;GlRT$*wdds1i}pEawb#X8b}eK%*{E&MF`LE|J^tXCzj?3R%97pf>^(aCw>ok?ejgpDaPdg@h%jh2BXZ+0T!hDa&~oq z6f>VUuC=K%elYoDE-pNl=_{!#h-7(DL|xdBEoM>(m&2D{O2uG35}p!86w<7ING~ z*ok;WYw_!sspDhK*mQ2J=VVz~121LbH;ht-B(tuWv1AtCAO=?@p~DtnU6wVb4SDuV z<({xt+zF0wX~1;u(JRw)KmC*JVDxz>L|HuL&IJw`+$_RazRe==9dD;#Jpatu?ddGC zZqcB-EPQz^@Yv#Fn-iXTtW5jwVzatP0JK3WOKwA-YVpZy>bNXcT%_91Kn|L_Rcymon03*fzkUmjvIHr}i z6)XA5CrQ;hj#Vicllm2tZCv~3U%r`cq{TR11Elxc-aTlIe19xg12l50k!cQ^QXI$qSz#IN} z1L>JdXL%x69LFjT0@{lK6%FmO-O-JXBulm37!R~bJ-NWhLEnoG_ zqA*XIU%kP%eqVii`Yzx4y#pN`hvC|>KsAnqwfMWY2M?!bhsLQV_=!afQJ-Z}o=C%@ zN&t~z8wV2lftqQmu0I&9Q%NV<71&9C7dq*~OCeqlLB?hcS8(hAXglm1GYVscMPSZcLk7A`y0w2&<5BWJJ`rYm8 z*FKyc;%3lCxZx!H$kx}`MqH1wzv>i@P~TvDbRVztPH3ffL-M?{VmIK_#GPm!>KUuW z$peA8+scb4SQrDt2m6VBXjguNpDZ*gQkV1yWmAD))8>W}DC*`2Xe1#yUdd@(vnL=( zh`Y7|t7fIHNkaue%N8zu$IrTHuoqqAK%<`aMHz#RQ{gh3dfpObE>5S+`E}j0wmN2d zKA-dK+2)Ev#dY*!=!%EFLcyP@PXC~{k5G5p?GZc*{j`MKUIVA^#U78{ThpcIUz}ck z{fE=dYu9+gNa-+?j_k_LwSk7p1KhZ8Z*gqE0L!-NKIiC+@SMtcEiD{!uM1o=)lk=l z$2D%=DCP~Er|(S{xehqs#+{=N?s4O$1F@$y8TB(p*U(>!m&+K1ZTf>P+7!5sqTeTe z>DsYdnmPx-?9un6n)$4(Qi;RX(FTbo<@673HcMoJGs>eKEf^M<3tC&j9%DGI$<3Ds zUWX7{k56^Hsbh{Y^H)*t_S1xu(o!FyEo-Y9vp)@5A=b6OoHR~C%htfdQ*9_*QpKuy zkftoZu)r;caOeYS|8n>ACx1NzKw+paVM-KB8pWy&SmT;t@cJn(yG$%1uXzZG%EoZJ zNdY{3@f(okBn#M>dfPtep$duBIbK4V7s385`l?)82|G2z&;z*JO^Tl5UsEe1$wJs$ z2K6YIDT)l+TV`W)r;@x?nQ5pB>0i+aY)JF8Ug4&Um_u6Cf@yRSMUJ{cjfm)NQF2$n zPx=PTvAJ$Eq_vEOj@+*{BZMxg0?8 z2(!7(Ls{f<@TQ|nD#_>f~=T+2^r2TWY0 zvODtR#n$Lda1_<;EcMclg!{Lofm4wFl3K6zE|))RzP7RQnJ;=vW`vDR=~SAwExe*D z4sjqC&K0B575&5BwcYD-(8KmYniH?JUEuXj z=epZD3$ZK!=apF~)t2#k* zOI+~vb-&*6xOex?boJfWrc%+hlQm)2D#({MJ7nF@ygRrP4B+_?sWIHSF;cx zeaS|5nbp-u5uH}FGkikQj%w?HEaJ!*;%0p4n%-O%HYu5_!(ZTwkHSk9IE=J!e>V$@m8u4V@25phofYV=m4POPn7J*$zsL8ETZ>)p`E)M;6 zm(WmlN}_I3s64cEAai{&_gmMjqq68r&IF84`?_Gvyksu2BhLjWU^O0unGLNAGI()7 z+y^D>IE$C>__P!Lyw2MjA?RcFvwYtX=I+)I5-|2AONb*+mAUAA#P_$4_>S2guV6pg=WfU&bv_;)RE9(2h)5ksUJam=RT8RU>BL3v36|gvwLy`sj;jt?o3smEFsq zlTeueOI~g`v8Jeq>wM^&;VLm{%uHidJpfkrFQ#jSwWd+PNbm(G>nauf8c_U3UO9=S zHjE^_`nw+rwvDPjghy8~XzIcpi31>4n2R@rLm%L_EBaC|SaFp^&6??`%`Ie+Qg^y23}ONC<(Z<26aIOQ89IDYul&L*!nKDBvvx|1@mg62Dqx9MxXX4zLj zyI-k8A6x{+2};(?M>eWUd?YJ;WrKFu8n$73Npqj&kBX-`5l1C;Y*D|*(2I<7zUkoR zd#_A8yoP<>w;tfj5evXBPDGE;XP?A?luHwF zasdTB=x(kLPhT$3h(< z=}Sub6(>i$^x5%F8jQ@%HB_WdJb`JB1P#lLFvvN>6UtA#@RQTuz5K&z=fe-M!7Iqb?e8i6G#!=E$P z89bbD_{o#->y|Bbu_f-)bB+}JpvEjdr(3E<7k zEPh?)O(l%;-uRPqFijuk=gC22#DVCtk1)A!pW?ORd)#2KcXywsnh&R)k68TukZ(%f zIi9ZZR)^Q$`EdHytM5$j-q?{NcJ}#&{vR_Dzsth!?tXoL(IeC;`c5XA6U^F=Rhv*! zsQr2X3>L-o56gy`c-1w68kS_=n17K5ZuluxwVnBJ9Kk6!?vwH%N83y-L(RfsYny@N zWjmO}vFmXm8^Oi7!U59`agIf0)6h86%eN%K>5=j-;H3mStVNhg_u(Rn^+nUN7VaUt znM;>;#kL0(CMYYQ^(aRmdCE51IR=Bd^oD5&gbrNWB=tz}G6vqsWaG0OEAuGEZ|@`yr5@rPRNg)Sy9%>t<==7ws<{5oX27%Z&l>Skuf zdZK@y8-gC$*y9+^InAxZY1f;pd9&6bZ({K9<5RmX-r9hHuJ3%e%%abpt4 zowNf!#jchY`j*o9Y>1MRgshX4WxtVFug88b)djilpX#?&z5=fb7~3Xkl_ zwKNyjgdxc$K1-vZ&=y_fs;fzdBF8sV$SHT52k77ux*`fLh!S0~8)~RDUh1~4$HL)W zxQlMchR?r_uhR6P#!Sg=kKqHgv@r@6`iLAG`QWgTA|u(5SLHz%SbS49zvz&yTn#L= zv;S)(L@Ltf?&#mnk@EmPTLow-Tglk!VWkc)qiSLno+?(nV}Ut3J2VfGwINeq0@6ycx@%yLnd zjj6`E=&5Qb0xYuwmAxccMVIvw7yNqDHkKE)orzZ_&t?ki-z;bll39vw7}h$Qzw)9= zTLH+Qh&KA~v9;C7=l-z!sZx-yJTdG@Ol4$Jao~S%J4wS^2R(;!&kbxUWkGf z{c1muNRc7_qySXx6Yq7yE660{C&1%-D=x|hYGE$^=x!q8+JJT5ePLyzbVI*9=_50* zDDfpX_E1k%c*G1OBw`Zp#swl->mBw+f-sqyziE_0QFt?e| zOI5krSgGXo$yrMWCmC7!UT{x{Q!m!wwXubJ@`^Msc+XF-zx88Y8Tcko3V8uj6M!z}I3eoQYhJC(gmXA;&^EP(dj<(^52P*Y03)=wDZ`1KR$j?a}FP*_t&+FX?z}?$C1^mQA z(<6^O&Vs>NPN4V(F!1}nXO3SkIB7pmw2xUVc0%0O;@YP3zKXn)Pqon<2}THaDj) z7bM`JZuALwLubxk#*C1yCHFn) za?va;j!5Ir-QGoCzc1%6-}VKT#a{@FckRT;sN1ch)L1CA_Zi77*LYziNajS?XPEe5 ztd zkLRCaw&^qm`^x4l0JCqTcjc;_7>?ITAMp*~Ll&0ycmnKTm;Gdqr(;+EK0e%HqI8pQ zhMwVR`0>ObegC~{x2EsB_V)Dhn?4u0c}Q{^H#fLnI5zO~ z?`g_eH05}8=G-O5@~!DZ8toyT?mEj25qD|FJKjj*n9lJgj-aR7E2=)Wi629E`c4HU zytZrg-;ocSwKw}cdG!Rm^;ii)dG3ww(-{XD<1Svjz>}EoOdnmn#zbyC{mbLP)16y) zfM1(FeEaHj_5GVXt#*65e&fz`{U*QbJJYQlUf<3QGA@f|#yIjzmvx^Gts50b(^2v{a}o-#wdQ{Tm02GelCP~F5}p#Y=;)% z`c{5QKj7dTKbN;N03ZR1%<#)+J%*wa<^y#5Mu_u|Jv#m9Z@$5s3i!?;tkS8=Qtex% zGniIB|ks5Z1WRN@pL`j*+y?_B0NAEWF=i%sj(^!8g8m&ZaCEM|^sE zliat50v<(19{eDl<&%e`^n@E!{XcX_MIjYIm^ z?)35-A5PzR?cM2hUiZA~4Ocl%;5-8DTlu+o#v;QWp9eUk+~-^v8oIGbY_mV1R6!cWf})wh{j=a0m;$%fl5l z$YxdYln0<-%4;U+hEQqRAj(w*H(=>O0-Lpjr4|X2s#}Th%#_N4s$tS}KQ&)cl^bF{ z%aBMw)0>yJ<`|s-03ZNKL_t)61F`4`=@1hBHIGOWu&}fL49*fg_*&1rA4;zQ z#eoX2<`otI+rCbYbOM#}hIVVawACwa4uSC{LXf2{Q^~AYw`qx`i0B+LsVm2yZRzKY z{N#~~x89iGtC?SX^wDYW+}Y{vx4tnQbAoY9-_2)-7$?1U$n`3UV++Rx&GZRhbLH3% zbDSQ>2TeHTn|r)Ypx;8m4P5*{XzSTC`_nluRJ>lkd6(B&&S4TS`(3V1fs>DRkOBn%$O4nT zrz}!nDkcR7ZEU22x#;VHuM59S1B@HDn@-)zQ)d}f`-M`pYL&z%si?5=Hhc{MRp=sJ zZ6iNO*-KW7tbM07Hcq=t)Q4}@jGKJQv;TPmK(%`)XI${mI)hAJXg6{RLnY1QVKn~R9mJ^OH%vp8rhscWGt&+mw6-k?NL{AnRi1eO z$4&Tgf4cg|JIb-h<&8GjPeDDsr z@)Vzd{wa6xYPkR8c9(huv}h5LRRZInqC%_yQh0^Q+;jmBx+0D&h|@?B1TFu8L(=6k zwBRX=Bh7S{RcbO@7m=%Itr%dbR%zypyoK)L)I~Wui8A$#y!^0eWhMH-;=oDQKC6$) z=;+jD10?QBs3Kq9`V(7lMF?AOt1f0FNVT&hF0zYm$Qd*XtPGZ~N+rv9nuJ;mUK-_( z_8tTyYX)fonmzO2ZfdwvD>fxR$YEa5AfW!EyEetIHRYcn9Rq{3F!~E0`8sZqf6{;g zL7pVv&>vl`K>VPYNmne1g(R}W6ZLM^X;sg_9|H%$APs!b#Rt$;tyosLhks$!@6y?- z!q;}kmu#RbC2PFp@T-SkwI?vkEs#?4is&|%YUZEgFK4%@&dxK$3 zC#dZf)+siqPyC>n{n583wA2;y^cMh;DZFvrc;RcHl~oK=EZ#XTAEO7LAtRNZp>M$2 z=Axt4^yH0O=XDV-L{en)TUe-9=NLH9Iu)8~kJ(4T!9`N!SuM%3P$7jTrJ-}?Y06Sr zw#X2{C+w(jmOR;2($XUi9;FS6h!}1Rab-nBLsX+jjEbGsl~6XfT`f(zl5U?de$sow zY;v357?T1Vh}m~|mUuu9L!M4SkkSeVu>MO#361nv6d6OhlVPpTGjW_fbME}~1h1g{ zZ~oaIPyhX&{^|6~U;K^fFgKphU#!iDK#L|$&O9Tw+5&NbmBHVTr8RX?K`xQO81jOX7f|jd)*kI62Ae!p zwaXK;?|toW@RdcmT)+}lu0EWM^xDrSQvBvmCR>nm1kP6zo#LYIh<7;oddnL(uTKv@ z_5=%6Tud`L>DB6epW>6IV7HvRdxzc+pDgz>GV`t zn_TG4g>8JZ%=dh0=Y1|${HiL;Vwto!#v!L;*8x*! zC1sZ^7X&Sx=O%;qcm?*YAH9-=>AAnd+cqsQI07$>>efn&ZYa|ahz(Kf3~^grpkNf3 z{}n-sqh3UjWwDP@?uS~a4*l~dM=qpj51*Ry@A(&>nVxw3;fcEh^18k=S=^zOxq-mR z^miTAE`Ja8a*XeI)bCr(WJi+Vte0_aw>`23>M;D)giG8&I z?85hb7Htm>nZVz>H(g@k_`urpD#vBhf*d3AF| zIeR2!_ZDc7afGacTYEfN$fV0XUhjO5#om2xemG?R&G&y#O*_oOymkHN^!3-?n!f(Z zThlw&Zcg`@rQyW}dX_lru->ozrn*YTt$u^3h;`FgttiFkSg){XC?wudt)It*Iv)th zLZ1#bY?2M~lA@(mH%n5tzhD?o*uS$cs6v!^3g+(b(k}4S5jwzy3_-!FkBco^+sksR zxJrgSE(iXC!r`bnMw=2`YEa;iKx^hnRIkF9e%t5a*DJA+|t9VRet ztP(!N{-fPilL-+%-N*6g^0aaJ%5?bpx2Ngdo$2Q7o6`qxe>lDK z;}56XKJ~kYKOS%3vyD9Rcz&_Z%~QUbc=s;;1K;4rCErGp-l1I>>H?uRYI!{Km8$X{ zuo!-kG0rz$?C>PfLIGhO@GH+k)m}r5yz)QrE>9qKZk%0peomX~+~t$iC|;Ep+FJo?0wOmbhF-v7a?j7=QjRaUHS^Iv(D z+n$phx@;`I;x7YAL|UBS%4>|ZVF(`fP#f?)zQ??C`z}x9@_7u-VRA!}y!53ka?49O z3%f)-x&1@s$tiO#afUYa2{zj+uayODJpK0LhOfLOSeukLw|M$@`)Jxe%MD}07hija z*FAqY-Su_P_Al(~{lH0kzrE-y@DYKms@Fo1&fv2RzDl~DC!q~rDk97G(QFk+pm2*! zTH3T=sgEWQQg{JfmfvzfRheyBoe2~Dpa8u!>p%NM3hODM(Ik1LMxVxNmImX() zL9qqa?WN4<2BreDR@`mXwiT-UgsS*PuBYqJ_$)Z7I;>vc4ezbnIY`)AxO(gfrN_j+Utl-R(0zpXZz+fUEn65XPg*Zf+T1z=#>Z_?{d>95iw9CyIE7unt(TR5NLx5rIJS@`uPBXKe-KYA?lZ&_?| z34q05=m)I$Bp()l7dF=ixI7mjW(F#Qhu&L7vGrjf} zSF#aTVb-7<3lG6)UZv|(v$wWVS5VK9vJV)&l{E_* zIEhCRJ$P*MB`rL{Qj?ZG@86QtSGCgHxW6x7Xy<)p#37c1O*@)jdX6b)E?)YQFqQO< zR74U2(YWAKO?iRY=;fR=DTQ8MQak`KV6*&z4vkFK%}taOh!tGh!ZKhH3+aithI!e9 z2Bs2AXX38{BaOiwzZLw18AD0O<)o1%L+Q%R--^Dhs7_zys2nFfwc~$j{Z=_4=rU!xKFai zz9BSmDgL$Ik1>>SbDY+;S{@dPA2i0GlQHsSBW*coDi%#Ka&fdzI9L2dJ0d;g%<>11 z5)$`y`)bZ?Tbb5YNmlJtx+52N%t@)RS;Ii*yfksr z!X>TC1+7?>NXmX!lZzUev}2n)eP8&cUzq;g|MVx*zy0U`)%3+*_`-C-R|qpZmM4!m zsq>qB$DZ6Vk=ozq^8_dhQ^<*J)N=x@Qp%p}d(!Sjnv1`ELDs%yf*QD~+HbKub>#(H z_#VS#DY*J77)@7}C{x}69lF(9lfYbzX&)!3Ui6-2lGs=Nz4o=gnvQvbHj~Sq@Hh!c zeujyZ4K7}@$V%MuN-TKuv=Hrc=y!Zr#M|AyHa&Lp)b#L`OI+U)CnoWCuHTqm|IusH zpMCRhr8&Uygy8m3Jr$t`a4)YkS3FHG-$^()*3&MUEp zSlMu~TQgAWa+z1(Ni{e(;TifuG-DR}@W~%J3be;WFzsF!`e7?2(bIjf#noh=tTh25 zyYAQPoQWqfPRA#;Au22Y`0mq;Yn5+fK^JLs&~I)k{eNu27b4fxfJ@H zu_8w%t(!@CEv$tH7k%jg>V`;s7L2L;Jz&4_+uxHrlPA{UWA-MmefCLPgyaGnC7?4g zsXl*(t}eLU$Eb`L(UfUBV`q%4A2WHw6bBS6{&E9_ucGdL6IR(x2@H~miTj67#{0DJ z5#KpIytg-9;0BY+EC!tBDX`PL{&|z{0Q;@TLvB7f@CD{uyfPI0#`b0QL2hio<8(wP zmz3p`#4Hy3MA+VqqiOg0>FMA$`^p`DyDSj#n$KH2CHB@wx2C`0m7w2z<2}Cndx!mx zX+CVzJZ{i0->KLysz+2mv+dJwab@m1qi;ZJi0VfcDbyV!jh`rCktxgoE1kS?LIxs5 zb<}YhaPN=7)J8tX(4>)ReDzWGy$DAJycUJG7#BgZkB_NU zpSVoFXKe6^)njh;;T5-Myom_j1I7x+{VO~He8>~F#~ia>^Yj{YAdcPZ-`JWK!Rt*TsrF09G*0U3qxAe6TzH@Wud+U9k0koMO44e(jN)r|QI2E6F>S;X*u>sNfsFAIC2so5?n62J`&((VgceJV?K+|-lSxk_^ZWV z_XQVzS?Fb7IN~_rg830P`u*bl-M#7d&7JABAG|mH*`L2V{ngj6PVZm!Eh5@kV`Roa zYIVb#HyUt`<)Rt6{c(7dDE0Y@75S6&Rli3lEsNEE`-OBfZE?(7;~Mfc4a8|P5Rp{Q zMo8d;+jxh6@D^?uAq)cbDnE4EB2y>eD{6^mKx_(9`nFMgm4h1m@m(7KTHwH?H#H1N zDX!{e3UXDGR0T=e)+T?z^g&*{<*7`9XO3A$5w}cv#;*~b1E2M_7=^ZSa((m=7oF0p zanQ;uY2g-2*jXY&y!&wD+YZO9EygexOdjr`WdW5pwxkB{)H~Kta#K@GK^1^6J0AN^~T^T z4^ZG?m@N=f?V=T7kvI6!UI4W{IFB2su-vrD%Mlbmv@2t>66E1m@}cJ6su1^)j+KBM zo5=b2!L;w7Cf(pQKBlUdW%{O^$aB*%EUSV`F?!Gy3ARV`jY8m6RK0ST#{g(e`sRfkl!(sJ-;$N3%?AP(d9Y3jop0Vf!cjeljUq&>uq=tP^>7!F}T7% z+cz-Uv81J@4$t@M4~pT;TwiICf8o@2Y63KDxIwp3w+QZ}_k zU+I)DpoDG44I1Sy=WLd34O!Ihag$o9P_XPt5h?CLJlMj4ifm(2Z1(e#TSOiw?V9>& zlD@e0yLjTixPck!%Z#pw*A!_=Q~{_rVdD#w$XblQi;fmp`O;=Z7lvXgw^gP-b*mt$ z;-(>q`u>r;_4n zJ7zs4Zs23lOxyAlS7xq>6&TXmM5n$Map@_&5)6~tl<;KYDmeRCY3SI5pta^=M2HHP z9l2#j7wo0FbjB0NV~?C5#Vg^#R5U}tOi*%KU-RV7Ix67_3k;o0B!4R!B88P$x1$f6 zH#Eq_zVvBj3{jO=A8($PXr6u8JPjsfRc>39C4A^VDRYq)_=>LltXQ~>eoX8AP5gsx z7yF@XSt(>wz9(Pj*X)5e=aYiDV0oQcU&9)fSk22O=4cY zQwYBSsF7*;e+W_jAl0WTe`t7vAu@{ne+r8EG3K!Lxo#3%@3T5>zK z+SU7;#D%YTsdnKND`XgxjE(%gj|OJ{6Ml~wUX`RXS3`mVlD%LR~UMoC^qVLvl%0fpCCaFN}8LYeRzpE*%4 zk2(&ev`)aKG8jc+twSv&_Jm~c>N~;Cgd$PDz=WdD5PJCb;`c1y$o;;}E-rJpi^vY|~SHJPi z>6@>-Fl!*=MG+m-sF*6X6@Y7SjvaGb|i9!)k=I+b6~nH)laJ6PoGo5-UQ5>WgAF znr%v6_7uR_3NHeSrfN~N1*gYDB!Hd(3axdHS&uw?WxCFEz^(6oEeoPbsBz5L&*EEs zbY#G{N+`!Mz{_EtRPqI6)DS_~7uV|_sv^g{Z{9Ehi4U+|Skr*mB{P#a zyx5FI0T!$DGZTjxAU%Ub!r3u3F83HVeQ! zN{{P2?@r8I{M|gy>q$3xvVDUa8%A%+_dU^ne7wt8L7`W1oSrVfQtxu@B&GLCjHM!{gV}ci63P<8*p6>n;Udj zEDF~2QqKCNlP64KindCl3@-LJkXqR!T*E==XENvoha#aexEA9Yx zTwhC&e^HC=rANnS&Lc{=AE5`JfzQ8x?27+{?2^O;Q0cIq7;Z7mzy7;~Yd z1WNy_D!A>A&v52=hWT}XI+!j#d=VN(N5%!e5$=orm2<=ls;@9U#=gU?^E~mo#dmHu zrzS|%57?UU`2XEZ72z+*v{ofn4n0$oa z8(Zo%l(u^voBjTr-v>TJOg4xW_j^o7ylvqHRv6E+Fno)*bnLURZk%1Lw7aD5sSbZ_ zf*NCMWT`qZa15szle74VesS%yw$A0MC>WSjBkA+(tMSq|U;BM&nt0vjyWjryw9gor z6DW8MK*wETA&E(0tW|1+0{O)<^OS{!VCJ<@eitY@RwOP$Y5To?zk zMkT6Lmvc4x|1m#rZ1625`EjiD3Hf8rQ*T_mHhur)cc#Dmiyu#4`RnV`2OsWE`+WQN z5L+^~q08K{-LRT_n&X7LPfHGO;)Zld#*%WXp8G`*bs0?xN_>}c#_k~Ht9?frQ*8%Q zoRIo29S_jV?JgX;8Xp%q%9BR>YC=-Tzz@4MapAxs;RURGoIu7mC+^J001BWNklZq7E zU4Rd4X1T>OV=LaJKVbtC7(V9Qr%fAtML%eyZF+2UpFbf(EyB5p#q%)lIr6;B{R}Ys zNZTF4==C^by6-9%`^*_m>dyE{48Sh5#mDe778V=FDUJy)03UNB46(46X^1zg9_-$m zu7i8_Q@j<3vb}XpMnC;f1R9gaOmPfpp~bDhqWn{ywOc|L1B zMo~Xerjof4+fSVS&{pOY29L}Xv(dNu1%QA4RZPnc?ggLrIJWFE39{#n;ht_ZO?VN6 z-n!;gsMw0r&>|4X*b*z{M}}MN1W@}^h?WgZ#RtejoUO7|Sfk17?$otov_+IiAjV9k zLl?Dx%)QarH*{p-H>9m3;B|-8!zqCo{DwbCC98Fd`+{^ha`kbD|s~+6rchEEsVA0H&YCSqc?`b z^2{k-Mp8)G*v_dhK(XT|aCWsS@>D6?$XV69SmS9at56NaA*fg_f}m)jnLxt=?22vV z;q<&nTgh|ui`{xR7|B9M9$3I`gr*YB-9Cf*W4I8pshD+*x{j{Ir4ArEr3c@!Fkj$9 z#$v)Ov}qcU`tYl8FzJ7Emw?_clMgE!*7D2)TOH4gNqhoXzLhhvISeqhfHp`F1Tm>` z$=lbDJ5{pR#1GJv+9j6iYVy`M+Nz1mWT7mhx%)U?c4C7PS z=Qs~p3NVmK5XxG$0V@pKK{o^>XyTf;=^|q-vm{1`#gXPt-F1&Tq!M2pqU`EsUCC_I z#-Kh#47)ox13J?#^+=2&y^6tcx-4y%WE5BO40S1xs)}>R3B*lFsO{hnZTS-l1d{;<~5ag2c3j!{SeQF9AZFPq@0|M1MQSW9T$a;PpwqrPk} z(jsy@Pp%-i>Y7?@mmHcQN@{EQqY#^7PNh$UYn|E>Hjho7_@}jtG8M<0; zXqt|^;lmI(OUmF6eq9b;Q;RZLI~iQrQ_i%{RU52JrU>K0pC`apJ1%Jm(NY_$VW-t~ z*?OlX{>2vyhhN>#q20a2@cBL=o9k`7GJRHO-bk+BFVVtIy-q3l?-Kb@DD zv2D3cJY=*oW%3tQWn$@wuPtcEKtxnPH^&x|nN$`07PG6L!7Ww(qiGxi1~gbN2xkis zC}(0ee9AckWqCs9MxL3e^eU&g!AFJ{YMh!u=y&p-{K==LfANK%pMLvK{rh?zb;6VjFP~2G#Lwfg=i@$I=z^q+mUZIC1O<3+K-WSSg8j~? zhWh;;`->OS$}nYaBeXts$D(5{l7q@dzw07yz~IwN<#oTTHnT5FBYp&fT%1ve&(x2& ziuCDaCl`HDTI_aSofS8qq}nDfKk@m0FunBW{||cinW#hpvxWKo5YG6TJj{7_`rfy{Gu`9$ResO#SQ;mBh=0t3)>uFq``miSw64W2 zyct(zIXUAbaostrPeoInRXLO23Q(qjuth|L^Yq<9CGLdHu6b#TgtfUJa-^P#?KHNmx%l4;&PD21(f!a%>2n6;sy(WMeKY zb#k1fN@9Y938%fg_cBrcx!?SCz6Jd6r@P;JDHFD}?}SO>OhnnP$_YC#txEfA4+zVF ziJNs&30#fhtrk7SN)cL8l_P!P(HB4S)o4lgriLWw>?;}+5^c}|LHvy2-h1y&`*(ME ztsi~xCQrRGF?a6rlFvBHaWTE%?S2KpBVR*rRk3%6~T|a zfXXiWij?#QY%@9jn0m~?`S4U6*_Vi!Pvf2P$y@eGZ!n<~a?=8@AmzKgTYR|lm~T5C zA8xXkqb=^O2xk)W6pO(;zm6zi8PkXl`u&b@o+Rcef+NQ<#;p4+0_?Kz`^FpBr?0-k zE7(8S<<-x8v)lcJWN4gFvgU%k{lp0oFFZ!8q6ch|C)2flWoGsV>Om;X1g-pOcjTp? z3M2;drf(LR)JYXLBM&|HgpN(qH{EOi7{?sjK&r^B$|%Q-!7q*arFV>|smS3Hn8HOH zPM0l}Tki9S8D7$cajM6NMp|wB$WM$9!`3#e_Sa#_N=E!#f+!c#NC=P1)EyT+9-iV= zzh^HoN%_>1(<7hz?DWiMpPQa~=2O#!%a8D?_`_1AyEQ-!Zjx4!ee=_WS^-K8%bawC+-1#d{G8ym4D_Sp_) zW^IuffPKmkRs4gqY+*3i2FA&5`N3OPd2_?t(_=3@lZn+M7keF099!5QPVqhKJJ;XO zYtWCmS?fD2usWΚ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


    lr?Sfs87PsfwtW}MmhGFF7R4~a~vOUa+8ST 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

    =xsl!3qaSX;B z@pAkzj1||fdZhI~MC2U=Q>5q)9Y1d9x@i0?J1JMWqwbiA(2)ZpFxI#;385?0WFjJE zDmhAz9P39AN>@~Hjxhy`Jw=iUnHQgRw_41EuVh6|q`-&V;UBri9<8}`7ItVrpS4Bh z-G)*J;-^iSCd58}LR&C0NtE153yA(O6vZ~n)KxaPw6at;m-Olw$(vZYYVd>{`Q`(t z#M*9>RZ0mNA4!_fOoI=+%Q`e8tLV{VyE4Eld$m0$5oLpXk2z6Z;kA0tzp%T!&uh+o z61Z7pEPDb7_{`6=dx6%c@{6bBhZu2nk|c7s#l zDy?-lN2yxrmF&54nImTiQX6Z#33QcbP7OsH9YX-z%@D)DC!gxq4rz@@ z4~^iOUBrWO?tsx0ffLd5I0jXHp)&G2&v_4hvpx_Ufqk$fY~s!njI*jEr6L#6Gd9 zHBJV#$^JD9<72uwWr<6&e>1@pB~F_gZb|a=N6L{LkZLnt#Cq{3wSB|$zl)20Z^);d zTvVvm0}f^T`xlniUjMD-()n}C+u!)sa)-|jWOEdp{K|zPp`-#apF=H$EW6DUnq|nw zZhaS-VHw{cYV@?&v?CUL(muE%NPEKWLrx&)4<9Wry!26geVK(*Rh^?f?PqS089XwM zX+Mvst0U|9&oeZ{w*%t zZ=lIfggoGNVtmtvl@_1CNk~KTM9M#Y%*K-KCT&L=(q0U$hwZiS5b@8GzHItFW+&!8 zC+f#E#`}D<>$~6n;qvWo|BQu;N4XeMlHcy~+iFysl@!@{fWJ*>tD-*}t>}=nj%~_< zIX}>c+G{M~n#T6PCPsK#7&J=qP+#~rCTyk3nw2gXb&wcC%|@q4GT0GZ@aPYZV9Fgf zf42olAYHe0ay3nlr7c@}4#yl0YMF@2H&45x7bYLcX^TVOzO}p@hM1MObVe+wGw{$3 zMB7mnb_v%^J^ zoE4-c6+p?!Z~v?~^BlT&pH7{(9dP|=pS15ee&qG)3dOE0Or;zF__Jk%<=fcc_^A;V zCvC#K_-[U90G$yeW7iG%mNW(zvpW3^1?g8KY8Q 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

    gW|m`WnDJVVL(ZfdS(Qe{ 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 z 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 z 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�y0aXm5}E_XiKHuL#Yn>%bo|h9E9Oh%gs~O@_CAwST5vgDKmkn%@M)x*;;J zR6R#v@fWW&LuEPf12VkH)31wO>RI%n6#0>XqOt+H91p-^zkj(%?~_PeCELGnu$+JD z!t&u4pIScl*^e%-{QPH@pZSGPFQ5Iz&n=(*;-{Ba{>EpQmwxV3%k!Ukae4OT4=?Ag zTv*QVO*X$Hcg8DiJYDNkq(0$ftYQy#lyzlK`KX=kYmjWFu1(=6*hn!h!aGulldJ_V zs)`++rrm8U`biqCmSbqO3Fj~vrobZCAknswV|klm4i?aH=eR7o$Q05kouT{_GGg@C zTIB^Ve~Pc!sFe5C<#0a{QYZ8~J;Fw2QFh!y5~ji{D3VG~G-Hdr^An?a89#~91NMoJ ze#jdtnM>Sr|KZ{Qp?l;CmSLstHKq|=!{pdg+Cax{RhR2+UmR;%5b1-OD7`kNzy{dK za{&=16?aL&VJPrg6b_B`j59^PZo@XbablxOCUMD>v$4Bjg)Sqi4b)XUVGP}_mxQK+ zHS;d%#@|+#dhA~Hmo#OsGFnY|L$|XdG~xw~Ipnd8W0IiJKRUH?#E2gmRi;h=!w*gY z(t5K_#bsG8U*LF2XSnT+vvdT{P)zoTDivQT395CBRH>@5)SWg*XZi*8Oj%pR=+}nW z8AqRxskp(DKjKEog^T|mdWolOKg!E~xhks9K5d%yE@b%ji6d_I$rHf9Gv<@KaO?2l z*k3n1fOD;`hY?7!Zx~q@h^?FS%vvq}8Ve1Q4LHhSk6(`%GC%fH&n{p7AOB~@+@Im; zJZ$6DtoatP?d3eeg&8^0erl+)^3_tJJ)c4=HuxqdyP9y*w0D&`LloY)wJ3eS$e^&6 zRS&?0;Q*=g-cklJl$Wo2O*64bA--6VG#!tJ7c8lni|A6Mj&U z>zPfS%z`rVsV5Fd%y}cZ@TBfYE*iCiU~MCGYc}|N5(2bVX90M%Z-gkRY}SZh}=ym~~_=yiT6rsKU@X>OSyC=@=@sw`+Ws8=eZcq8K(f{i25wqL0+*mg{$Uphq zi_7cp{Al^+_up7vc#&5@^Q3;B2D4r8GtG(pv6VZ9AF+_-Zek2-yd*BvYcad`=$J+s zW+PyPuU~y{`S1(guy9e&W7leDRW~rLgbH}so2wNlVZY<%y(}y;mwQ}y>gF1O$6@U- zWx)a6<`ED%D$y2l1lRFjNVQS13XcRf(o1XR#>@qYsx~Na42qg!bzAh7@}rvE4Jp^q zHZ}y2FYFr#(#LcS-{V^ zym#Z~^5&1;C?J-EWu=hwh{JT#17B|TgZ}a2F zz}NTys4`S*EFuCKL?Fy1LAs0u|*J{?sF6M5TxpGAHbnGJ?!ht9s}0x&mx<~|&+ zmr>1h2YC;H>pPMI%Y2BM&Df^}X=AFTi-O}t<{z>N#z678xd7eviHPh>`x8d(;;&+o zXh{ie3!)f31q@t_upNbwF6i1HgscQp7#Q{Z3vb*AT$K$?>x!_VcROUw4djW`h_OMt z%0}s`BygakWAcgo;CIYr(~3vv2|ev20(UG?T!2JjwZlUBP=>9DaO`TzqSki z>Xo+uvlO>l8W;6dR@Ba}rUfW=RWl;UgAr*tbfGL|p)1}UbMZ7wnH2pS1*53-wDvNr zX~)N5J&`M%l&s6CC{OsnQl^5#joRTP8bSloN!I8d8Q?6QJ@Q5kOPTRdfO+_2I5Ek9 zY|?bhTy%vkC$QutHgPRdVLLm@2rz(Sd~{HX9y!$6xkQ#{;wX5R2(LmWL72KT21lx- za92r(Bd`4Ptr(Ry3=Hm_@ zTz`AHc*v6v7tioir56MoG!e|dCx~_iI3$iRE|m?z`6@6&R@vzvzDx|bm|C3`U zUuJcR6Ri5AVgb|zfszb<@+Ou_P=RY3nFCXYf30tfoQ1()N9V{Ux0smNztm4XMaq@e zfjm(swz=rU{_VxATTD3L=Pp*i_gk+dWe=v!A9E4k9{D&&dME1qbS!a-hPHZJ1_Vz| zUI}o;g-CWl5?jebrJ>5x-YQq@rB_WN5nkJ(n}?Dt_9RRGNGr1H#arToM_}<;t5RYS z^0G1}*r}CepC6lL0d&OO!0&RV_Mt2L%S9$Rr@07to8WRD2O2(E=&b1{>dOuS(ga#n zWtaZNqo9->q^cuHUjfQ6iTYHvw)jh)c9yBp0G)!QDQ2@2-2jie_}RiEyNIWq!T~%& zhA;JqSZ#~1!bz)+78@8wtiCi|S=E@Zfvl<0*Jh{YbN(CXR^*G{w2HGLX^i1Q@xSHwxYr&YqO}&MOb|Rt`5l^ zbEfQx>1i%T_!PnqUi~58+P%J9IN&ThsqK%Q91Zy70WHN(`A4)FuXeus`tqZn{L%9E zPreC;ry4l9<&p;ea=e4|G(3+Va6msmFW(9Cgw=~Xejn^1#yoOt1^5uyEc9xdWo>h8 z(510?{Mg+UjWyf;0dG=#tYQRM)E&|M><1Zl(jh7ywrgnvhdtBIiVPX78LuNs+LmRe z4cd&{$QBy{PTKK9m=^>O=--zvA1qfs^4#*t&%V5T>NB5QUU>dlp5}RuZ@^yU!q5RX z#Cc(wCzR+9@~O$UN}Qz+IsYM|{J1D^{~j0SZY}ru4#7J&t}S2x?st~2eeD~|kG^|- zxqa>S@_?s6yr^3t(c!Ym_$DQDW1mDzp*J{q$_cj3BUVwN!Y+K4iUR!Zvn|99NQ#8D ztS2oeOjXmK+C55E?9*|Q6lsU52G*$X6iw?XZKjh;Ef4TAA@$x3$%6s{RbKD)y-Qr9dA8}W= zZ$)r{U#A_hvPfdw^s9ws+#6W*mS5VC)Pbw`8j={hvx;g#iac^DmJW5PzigFa+b$Jb zfU%|QN;z~=@8V!Tk!;5PMwT8bS4^1Nb_rRo1E!<_h&+x$K`+XMWKoi~aDO4ZIk^o7;F)If9TUmJkaVUFUWEc#O9mJ<| z&Tz~-{KSiVy5}X1eLPC-JpRZt@;iA8)hSNYYQc`yb!-EFng-A(kCotyJA}ft0SmA&|*lMX~s?XGltSe>8eoMpS0Kck?}Ru9(O9%=+}3C`l!V&?%HQ| z{2rz2+(P@LRh~&Y%U%~SiF3^M`E|3$3S-#Mql5>S!>=5Dv|?r@65Y@_b}>+= zu>=pUwM&$L`?N`%i=LsNtZZp#U)QoGE&F7O0oo6-@rS_UaK;tOZDZ*+{z~w8%t9E8 zWCz?pwa2km_S}#VlS&W8RbT8_^@m99u}@~r&_3Jf{H5oXzxSp8aQPSi!w;5keC@{a z+%M6`FP$SK?zq*4E|KlgnU9~|TMp<*_c%X#bi~elice!9%vX;ai?UWfly4ufKh&bz z&D-xRKX~o;d27p;n7^F|N~e~HRGC}#DWxEhr?K9Mws**Wc8`7OzB38>E(^gAA1P0y5lF$B@M3#~!hC^QZ z1R2_jhHd(UZQBsr+kTmLCYLfamLt1*9aZYJPl=a*q{x%;Aw+B<9B6_+nv`3(&Vmn2 zdjRGd5dqob;RZhic6jh$Ilp&@Iu{P|ytlVMws<3-u>uIHGBmChK_rlWS^%U4Vn~r& z{1Tr$yq?7&-V}oV_dmF^+~KL;H{QL!?B9a&Jo8P2US{FxKJEH0H>}^~!bM_(%F(^< zCu>Aih(79xAGFTv-{OsD|I7b=WBKPV9Pqkx-)CL+pXNL1=lJB)A%nILaWLCwe3eNO z>J+)>qQ-LMKIU9N8@%!1F69F*4EO}FuS2&D4&b@Lt4xns^nII#y~p*057<4t5l)`A zOd%<2t%ZUMvn{kenAC%$ifGyBR%{xdoNCg*tVdwc1sqr*BHN;A<*7a;pkg`%(4f?t zxAu4f)Xz7Z23Fg%{9ycmFZ~|ihy*Fc+75xo_UgITEvYYUWu1Paed3g_-0XV< z*L_vEsXVE&GPZRqMF$*xk&V#AH6~@V;VSCH9+CDf=P33Yise^G@KIZ#@p`EK+BeS9 zxGo4kWO3Kqj~~)!c?M;9bd!fHxXWN4j{Qq#dDZyi<&}@q7vJAs{(@IU`FWrmA#rSC zuJ0z>SugDolM2Lk0+eF;<@{QCuFtw3X9Ujh-GbE@VM{Xz+_Z1=2;-+Q-mpX z#L%VBL9=PH6w+HtOk^8tNKd5n6(Htok|wm>m%>xPIz9vq$xdL&srJpj(mcfloiRbI z`rF#*v_E)k5H>f`g-%EtyOXV5V%v9QSvB4Y7ZbIe8&CUg*=!pWz1;c17g)>5oCI9% z0jGl>G37kwZBKNCQk z8mp~nTgfOsAf+(lf-*WR5wR<44D9hygH%y@%JSJKS5WCJ(WNhK5YF1fkC6$eIaZ3G z*p$5kUKNzCVhXe7SY5{e%DZuE`1N19Nbizy-Nv$X6pd=2%}!D>Vvlno6O5&|cv2pl zLQs{h9n)Tk4Q$0(c1NBXBVSF?zS3BzHqoXiDE$CKjRAspb|^iNCN6z*9$d0U<}NS( zU5mvI4;-6ReRH)QOqEw{+R_TPeMJ$Gq>@RSva}QXpvASEktaOd(vA~A+}~1PO$Fe8 zXz)U&l^*yL{AJk6+#a>P0ayQVkayfZ^Gm<`J6~of55@?~E5!NVc@*=7O3Nzp%PC9Sjy1RVuwX4e?e*KN*+ppc=+ne5z>I4Vb%4sF) z@fSdHRlwEl^;dxF}CseGmFG<2eS@~79wJSlwt&QF$i-~5B+^;iED$CB51 z)gdpx_q~t#_Y}s94xG$#vEDoX@A17Z)*~~n-sg-o7jqaBd?j?f8rnrJPEJvmgSxO_*@D{9Oq^0cq>AAgAm62itNa+O1BnbZHP7Xp_?xhBePY!90w zVEe7$O&S?ZQ5YHccdk~LRXr; zbg3{@O;csJ0gIN6t=~kw%gvO}K6hq0&(k6IId&eiD0Y@#LLI6QcPNLmU>X-YV&JM4 z$)f}U6ZpheOo?cD?SIF1aNQ7SqR5hp82+d`vlA{r(0KL9?I z9S*`>)JA`#G7Fl~q|w$6cMa zcB?3bz0DJAB8?MtvArl&*D%ms4qM8F6Q1VZwK1UBUcOfRy)JZz1+J@?pDv%^^`VC> z3}}Ds%7Gs`77ZLra&exUERVSWDuG`Ykd6_Cg92rKE*9k?r=TJ$Sr|0!Dv$FC`8dSX zYqLGxF@&CYtm8O!#JTDxf8rC%um1AC#%8X>`#NAa5(fsNI<7jF>8~699X~CiAl--B z)WfIZSkpXKB`}#|yBvr~wLZI3v2XN73Wef~pK&(L_>#IC99%DMNR!`Yqq>ZVN%{6M zW8%1<{-$H#wSC4s(21QltmUa+gi7m0doOSw!h8;+0&5#fL&>R#XiC|?C{$KlEx=S(6}G6-`NUY(DFEbLR_*RfzCxfq~zkR4W2Vhw#d4JF@n6mEFPb!2oncP{8pEVZs6c zQPuP{VfMK!{IX*o@Gaj9M?UrYfTw=>&hO!E#%jLvdzQs@=3+G}snr%lkiN{1x=+)N z9&@kh#T7U1@9Z?1LAT(t8#m6-W_S56^jmLzu)OouUFHjq7#H!4MTQeT>V5v1vpi{b zu-v}$XnFk`k9jR9^5D%}y39bI`HRn;Sw8tHb5#1LpCqs! z`HgoM@E);X$2xJw+6ydhEX-f-+$86llouF`FEMf)I*v1dKE*-jqi2EpWU%|`L*KH- zg2-De{=UI+!EgQE0sj!Zc$R9tRfS zjz4TNAv`j|6is`%mOaNhvLz#MFZyPF_pSizOR4I^D zH#~_GAbrmf-IZam9~f7Ut6>6`{-nM9pSoTgek9lz3atu~k%)FX`U*)0iQfTrweZTW z{sW5=BF}xqx;m6;3If`KN$Z;^&T~%aQ0u~`$6+1-4*enD(LH28y3FFaH;P~5CWl*j zojDdNBUD=+#qh3uJ36E%Ns40U}%RMA96lgl#gT#8DDaE&vL(igeg zaEomqQilfgicMjsB!-o|V(x8|L`Pzy+>I}?D*&;<7>Zx@KstVfz`E=N*xWdK;{d~8 z+I{97wyQ&=@?2nd!T0iov&#jZ`n~c3<0Ut`{N=Y!mbcz{!nG1)#fH*aHnpB{23bH- zTkX*@b--I_x3)>V4XutSuUV_SN|Gd;D#bJL0N+%b(b|vt8}g-mOT0`ckbpSsr^UIzmX&wXEVW-i;f) z`4}uq+e2Zc%|6pO$us_eE%;`GI1Sl!2C~YDp2#hDY_i_Jf&ORnI9n8nKfF8Vo3+O7 zRKQQ1^=V*JUUfH4uh0F$?|kj+9LoEI&Y)HJ*o{kooRslOXPL}C zWwPoKP^FviR+JS_!FeDo8QMOTD&>SFdZhrC&Q|59*1r5wix_oDo20lgvIqy0hSCn( z>jobwJp1tN<%?hVaqf70jtQ0D)bS2a1UOO0$k@Up*9lo$7Zqdw?9`>V+G^)c^lE~U z@Xu%l7>3@650NPBHLyH&&c~)2$h!DWiVYFIq zaNDMMY@g~=s`21#-}l-RH$}6+f3k2x?Q;FbvRvb}9Csgc51&_%I6?Pm08iBGn@k3; ztw`2o?Z}^cM-RR?TB!C7&b%y!pb(7(14vngw=8TYC}O4#v%2LOQ0ODhQVO+CP)@*v z?ueVJ_&4}kqA>bns`|oT6vDEY!|R-0e2zPziO&-+aBw1L4|ZP&pFHT-1XFRh3{e=c z;)=BBge!@BY*a-3*akSbhDQ)WB0ihQ(jJv4OA=+2%%B_4Woer={tjVOicqI=N}gOr zuGC8Qv4KtuRT_Ci1Wn0b0mCwY%B73EM#qjOi45SutFw?Jx9k#MG}5J>A3d@tzcw*pi|Bq>oNcSD%{08^0VN+`!^+&2pk!@mxlLN~ z2DaI_s)?Ni?_%1{a$??k73cmaEE6;UKDCr%GmB4m7~;PC<6i;h)fg8(mz`6 zJ^23e=J)=u<;`#Z?_Ah_n+xpR{N+U}#zZeD%moK8Og-j~k0-3+KI9Jm`@02TpZN7+ zrwhDZoG|x}XJ75?1%6?UAC40lE2ukg+N`xWtUXoF1&xlM?LMKDuM&RB&Mz_4?`crV z)mIEo;~|{>W>3rpdXP3`?{>PSI|Mh>g{Px%W>GG?; z^vlZ^e&S2Z%dfn~g`j7N*G2qfL6_fCZYX-nSoxHbL7(*WyFG~`w$%47oi%v@3_RLG z2hU^c@ObCCF*~Mw_Uw5sJU+X8;v=70e(LXjarpY#K`kB|3htF`a#MMlF%#bwI(=cK3%qJdjQ_&W zlaPo~*3d;R?OR~6!3SWmY5f-J5mypkc%i-p{Fn=&XPHBKalj{ijGS@Z{HR!}Ss95r zxsy1QKLi3lGh|uyqFZ(B2CZ>)1IeXU3&RNo?GR3d54RkUTu`D=9z87@BuIT z3lN`KKt^gx$yNOPeaPc ze~vlG^hsC0cWwVZ%LM$43)%RSSLNf9Z;bHx;LQ3@lxzNoZpf)csdz&MszS=O(d94SR6VzsLzXvJ86zZDR>Zmx?DzxDc7e}$Ynj`TCu!s<3%Qxg1EZxw zhhZx|5iSAXN>*Z#n(+{+_vE3ooy+gS80*Fb-*t3_%Rm%kBxaEV*i)W(y>j6qPvUW@ zABWVFcG9-y4O`2M&4?OR7B&>+@TvRU^3uy6U*7(Yf3*D7w{I_>{WJ>~T<|@hFCJ)% zrb;V6oss+LI4;v?Ij8hZA8CJRa?ck*k1Z{`#zr9Y!4r-XH*b8feDu}N^0evY%)!cr z=?8Hab!DYqX|t*Hvm=<8jHOqw>Tt~Ui#&m1$gnk`bK`&ViVemKN~*l%hQ3%EyN9Di z;@AM(T))E9bk_N;{X|)ys*i}%j*?M*bmMD1Chy(4&)eH>Ew8_Ghu0)Or2lZU7zz%2fZ{y+reocCzCBFe ze(T!P<-2b^ULJcx8H489PFROjY(snfQ`_pPKrCJ!-_CdM-N(ykKg$hj&mJ+Jasw&n z2KMc9jH$kz=9srpI943Vz_%z*uAT5SWBKahvu^mtpL2Yp@(_8BC6Ac@-ed0jJ`2dN z^E&CbI1b!qy!R6aTc3$x9e-nF#IV&InNtr?_}-za1&T!*4!)%LUh<~ifoc2>R}i)` zHQY>D$zx28Z$~WjU1GuS3X8v&IWI6ylFT+dLWoE835w-#I#|qOlU%Y3=z*X2Bd+}WP;^<0~!?LjYf-O#4VMNdjx!OLW3s#vQmmB1o;r6{=aYD_KO zRfjgfn{gY`D$Bz^7bAH)KYr0O=od$Hru#T}ffrM`aDL1U#m_?bh#PpW{opa@moZ|m znR5A}VP$h|t?!fe6$PaJvk=FD)yJkaE)yE}3+Em#5T>!X z&T+sSNQ8Ubi43;x=f2(Kn4hNj6t!Rg{PY&ci%z>Oy;)vyj8(?IhQC) z)uah3qU3-7w8DzG9IG{;1~?(nUwtQ(;gw&q>I?Gw&&DJosq2(24YY6#Y?9z3Z!Z(* zFg0E38lFThNg2|h!L1ab(N2HTmdy$t+RCF!*)3n+L)&(h#9|AazG+|a;VIvgV#qYu zS$M=WzvH3TS?t3Xp5gXx-h6XJ{?~6W+?c~#K>FrQ2hOrhIc3J*7UR|0QeptcL*Na(Wmm-GN2nOLeLERB|{{scF& zM7FFVjC6fXphss&HVay2>1>*@WAb8&J!K=3!L{bU)$YO$UE8C)`rnM89`jmPQI@-{ zHkt6jor;t29a7xdXNLirZi2EoZtj?(q2+Wr`^XC432K;GLES3wG|lOn=!(Tq8lUl_ zqHdp*OU!BiZNJdimZ2$afhl)S--=Jcz)u?fsmojvfV7RlwVq%pSD%%b-_DK%wqfy2 z+QBF2CHLGv{@QPS-IE|)a~nfsjA)pe5r8@)SAoiqZSp!nqF$DVwpq-QlsYLvqN4mH zjv|rQb)gm=bS9K@pbfm~2IgRu1DMqCc}y}q{_M!Pm}738-w}79UO2-yVo!LD(lK{A zF1I-ug zd*d5zk-j4@Cq?%;2;b&49Jgc_}5SKdx$wF8W?wepZzA6?}8 zwi6#AqbPYRFJ#*$Oxr8hqmrWmo36FZ8XVM4&TyAbS#1f@=uZ)db$1)zNh8nxP6Q5$}i%9*Zl2K(lvh_wOXvMeq;#uXF4Uwa) z{MdHP6Mtc)JaOtuQ3la%!0{-ygtmA@>&xU8vcHj!Y)?v3mXGn|EXVb)eEui-R?+h^ z#}<~Ic%AUI<;D;G!}7)(|DLA^-eN}v&5(G8lW^nb80N)yefNUC7grziTB`?qu%HXN%d;$=g z*8Qesm2a@8P+7?#o}M&|VylQBN+lMswos9gC&-?;a$$Mxv!7gk~C! zSa>{9R&3#zK>38l;B#k=mS;HIeC?GVUB3F2pI(0U=fB8@FP~YizkO@Df16jGW*~-F zohVE0E~j5MKp^CnZ3tuUN{n#o8MjlGw!jIPhLg6?H9kfE(wXc@(V;!oU@%X4uvFBe z>@}^$IIw~(tYj37y{~R23Mz*@5V)S5tw`x;u zcBTZgdbjov5YpOM2BeOFB{mRbRo~GLP3Q9LWkrXuNvo_#8YnDPANkg!a>&dzfjmE| z!y~KZ71ss(LSoZ0R$D@^oIz;D>2h6Y5MHTbML7=2Yq|QRxK)&%WUN>hSWpj5kLAG7r|MPm|dBEK5#ydBdi{Dy)z?)r;7^9S!d4aE+ zbw!#J?Gwh?1I9n+;osv4v-hqch;DPjz&dS;xyb2fRVe8`!vqet87l!EK2cuYuix=N>lQ z=E>x5@%F#(@MgX1@c9O|jQ?7Z;B*_MT$aW*ico|kZI+sNBa*OztFllbjyJ2AFb@VD zDcU-vuP`HRYU)!4)I0uS2JZ2Neewbezn7W6U1YKEfJMK#sn`8?AAfgsZJ#kXa;?W9 zZ4qZ)%B<(GME`KkU;ClQM64#J#*HZ>eaU@ecmQ}I%Czbe*M1@-<8bKJa5_n8nmqB@ z%O1=cScnmmI3e5fOuHo+W9k-ve zN6#$Z0@I- z(zin=0Xjn?LDlr}EH~wx;dZ~eMmD5T^ zmAymMeYYLlXp1{kaVm_nDI0q``qCD}q;!o=^^FZBliK`uUbd9yWr(32IdaAPQIvYy z-?nwszyN4i@kuuxLq&{g{EX_5hOT9+CwL0#k53Yq^v%q25n9?()9(Q5aZj0B`$R&> z+KXbD%7^U-KB!{qnl^O$aJ&SMi5179)sEDyc6leJq^)9$R@qumW`Xp7e#NoHCG}N6 zW68?EwH_PB7NL>nCjVt43L`0-vL&|09&kIui=^!xEhE2mkF4RVy4&_lc`aMT#nv#% zc4?IXynF#UW$BRRpZ{GIm@-x_=YE9+V5@6bVaUm>L}(s6!cm09UotYbWNrsv(KbT% zFiGAOQ37?))VYT5HCfNEIE%FDn{$O(_vZn^DfrYCohLiY9o+Ec5c~z7_~mKe3nzD% zqhltz%N+(kUT@=3iixKKmIef`FD+PAXGx~Dau0*=x=`Sdt3>`QV4&SB{l~Ct-Y$hlBW|#G<4!1@nD9HDgPhjfb;@Lk&` z1fFcx)NqSXPP|m6qEVj$AmP}o+5f2|XA(p)sqK^}T1IAsjJ%ydijg7x2$M`35U9*a zDT*uM7GkOJbO~`Gt~QI|&^S5v1nvPR-FF`FdZYKxE+25Ra+C4{UdQp+C$xMe7bn&p zbm|01f0R}>sM3C5uAR}7IuRAtb8gk!oB`(*NG$*WAOJ~3K~$#gi#8zT!BZD&%JvpS zro^ET&~Jcx z66nQ_mzk)0@#7J9ZXW1sChIJMtmOJv{dg|IB&LeO;EqTnuPU`c-8;P1v9`+kCr9}i z*s62yL(}P$KRGNmU)nxx-iV^8ErgqnvaUs}vh++@>7Nl%W$R;3O06@xTW=PET9?)N0Z^~Gdc5Dd1zy)+7?;Z!$0rB5) zz43*qddd-6^ABj(Xl;^@s{7t`4>$hae2)Dv0+(>DOw0;|P*Cz5nWEx!4#tL9#yS_;~Wb*2B z{GwnJcypnAue`#ypus$`O)Y5RMQYd|) zA37^IWq-THYdt^v^3&y+kMI=mc@~20=ypgPbgt+dApGpgQ#!al@Sh8r8IG7U<|$xU zd>n>HJl^D#y77fU_*^ zuW(1oS}Yq{iyD5$CzPt#JdUgu<1${TgBHsEydP(Gnk9dQi5aO5j( zIa>)m)+>Z$76|}6Z%*o%R3$1xr-Jy{`LoZxw7mQ12g{%QT8XlcVrK-5WgR|P8#SsHCzF40h zNc$s%mAAddsWjF;F4#V|@&yl|lX4Xkdo7SwEXb0zgMtiM_%^Armtcw;+fznDnucpS zhdgR~=>o5$y>N>~_?ydxgFEQr!3Y*#&w@Wo45igt=S_7CtiF{6198e1kMKO*9n&<1 zAODVt2I~b z-}x>J4Ln_I$2-mf6S={SeJb50gBZhX|1OJ;jkUmdgT>m9eC*8f(U*>LLr>;~;GNq( zLNKA=^|idoS^rc?1@IPuN#n7w&eB{xYL1sJ1W` z#wsx_G~3gudm6yv(FbAG`a6fGxOcJj&VrBCiiPf5875^fV@|9NhB$>Ix!T;LVDkGSdJ3AU$?0Ee5bYiu`Oh{tVl+hyo#Y~SYc`#_NKNhNx@3qh>u>;ZKsM0)_TXlmSHxs zEt@utB}dLZ%_By}-J?aCMdaoJe)@~J6z<_Q@Se@J+fkFROF?h~sg z7^F?>xJ0GOF<>verIGEOQ28coqY>C5cEDY6V~ky5Mov?envE_bWo%Q7Df&>%=F@yD z(JF681FYgw@@3!D?@B3Fj3Nf|m>@s6aBt+TiENCJ$ZApUbOgL^Y9!hODc4jsR$1nu zu#Mtth=jrs+loRy@xf@zE>(<*f69Xn4}6g?F!n2@17COabXyc29paw#`wzq$PRH{V(Q;1AzkUVry?E&O^?5XNm6or?;#g-sKKqd?!%dt>6nQ|0?RiB&E6 zY|Gk?RqP6~C?E{Jj0aZS=?8^biPHqu)W_d6N$F~`R9a{wqEg~;c_5}pysO{ar;M>D zDLmQB)4jLv^BNiY+KoGBcuIkZCEr~1DJ_>SJrOt1@+wcUwfL)keQc$v2@_wxl)K*N zaM3GVnW0Oi>c(Q)2GRZ}nd{9!+BHRJLGqwyQ;4Z0FS(nf2uEm0-H@`Sy#0;d(i0kq ziri|7%5D+l#(RTb+yq_|mp z2|V_ODC1gS(1&G}piDR$nBx!^zqmHAJmT(kTV0AI$+{rVKA!RqPLk4J6fq-sDJt&i zQ(`At<@YT@A=)HIM_VQyt^4jvjt-oI0f9wC? z=9t%+1#qJm1~?>oCpL#>#z+@t*>aq7VfHZ>mLBjHko$MJfr}4!`9_6&_m?NRpKvul zPyP0Ve6Kh9U2r2vw`W{%n5KY^DuV~%#g3d1Q?{Ph9ZN4QykSYX{M`COweiG8>PiVh z{NLC*AVXoS!k~N#)=BQ4dF?+oo;iQCJpb`mm#_YdUta#(fAe20Kl9W7aCzm$SGo9i zo{M(%YG#iiF5YrPC+8$zd&ggMWah*_aO9&(wUw7%=@C)pXau%+{FS%tDnI3md}To6 zagJ*Tz+B+PlmBcW>lV5V_cx;FqNxd?YJW4V8>W z`j@Z@O|rzkK^?MTS@Xm*{A?77j22NcT1|9-_GuPnWiJS=zDNWxHi?l2IQ2SCfCeTy z7v5Td{l4}Kb^2F$4XL?K%auLY6m}bA(g#efI#Qx%99C$=w9>H^uo|_!GzSphM%M6Y zqs{P$i=;2T$WtWG9A*E~KNn~&`1B0r^Z|6mqWBLab^y`WQqexQU1ZXPr;07WO7S#_ z*_xz}N7=04k{xwLQSlYO`58N;iTrFLK-x7Hn@Bj7Wjd{F+OBZQ>v$@%gcsMSkUe@! zPUzc?>Kx4%O--{2@8j6O$^F;nHcw1p1ps$kq+P7p4}&j)l1h21F;|-YRU=egqM>7t zg{IjXu4F+*I2WLNT{0IDU*x3?x9`_CcO9Tdhs33)QQOz; zBZ+cTl}=xpHSpkpJM2(?%=aTNax>6JK6Au{FfNV*Pt0I)JkQNPUhw1zvd0`d{L-mo z7>AWS;p0<2d4mKnN2t7R6rFj2tvfdp2ZuNpLA?L?kSlXMV1{3H9^ge-FDyHr@^IGj zv%mD^<%>V@&ybWEM_KN17rkfv&MF5V%NYlS`J%5 zxIbSll{E(v{{$vKS8tG0me*eMW(4M1_CsVT{~&tsk%glZZhW{;hxg`3_X}^T^SG_7SmBP;_LN?r z;O?`(+`IR1dG%wTqTh3K1w6sa*Jc~H6bH~YdfZD)b-_}uRX9l_s_&JR#J zQvy-rHN{8t)%V^zUS9pg!Sd2&_8siuo_WSz`ga5sq*3H}~*>jp!J^iT6>21fVNs^5V(;u-SaQW@SmG(|io~r064`s%Z z?(=&j@{)FW`Uden$W0{YmKQm$Jy zdyp7&=Y;0cS{CjRO3@J?`sTqV`?&NKN2n2Hj3SZBst+nLruYLckmUAL8dgA3gskN) zyxN7fQUbo^$rxTY8$QQL=!HfnxucsuIkoN_W2F_3>F2mM=VyVO16;g7L|IIA;qA&r z`Z!OzzkiD}RNjE%^||tFlZ`mVkP?m6M3`I~al z#C?d(vmi*p7>V_!3}5?fH}E{d`G_|O=qGFU*>{bL`@9W&mK{59kY|7K4JZmyf2<_8 z3#2cpBT#9AZ90Z)X#_*F(gQ0Q#T9$P2w}?#NpFmiJ|v>+zR@v(Mk%#v1~UCXTBTC+ zVUp-7YbBGq3A?t!kd+kMVn|n;r|~m^0E765m>x8DsWg{p5u4$3;>>Dzj5vC@~v<48h_q02_*KF4r;bD zGEVPL5Sb+Y|CO3hqsDhZ4UX*6tic7Bt_f`G_#gHzgB?*LM^jcit&k#yJduv*R%)h- zP7_~cRk_+qbj{h&+ls{dS9|r)cP>sJb}4lXDgMp=BH3t*4yYi1YX~-);`!n2MzNKo zN{lR=1~*_;AjPU~jVny!qx|Dm`Y!fb4ix7xf)RKNCh9LR@Hqf-WDUc5WzmLYCXUb4a}Y;`<{ zq7$m_5H&^9MqZmLdLN5(zxLa|{q>B?3djMsB$OJx$bSajGOU$GQaPA`xi!axVlIO) zLRiplsINXy7ZY%)O;AEBsjvjJ%JKvN|ZUShLKL_hNz(WJ<15Us$oq22d{1<+LJG)-S4^FGS%H0d(9;#gk z)_@an@T83X+Tk^1jOn7r`rrBLp*A&XWI?XDV`fJ;cz5wPT=@Ny?=Np$yORrtKB-g} zry!Ej30*kkvfc5BVylTi5g%ZY+FnxYdoGMbMjaSsjz0=Bb!F}I1uXCEfJtg-r32Zc z#3DzV)M?U()yA$zS)_uk^bd*e1IB7WbO*T_76?45>v zkz8)b)1UMO;mX&R@lDyL#Di@n;^sq3H?4BnTxI)n$x?p86m$avD7hsYTJfRT>5m=q zH)18(>LWii7%oe}w3t75Tg=KW$={yj82v?&{-^$Gpazy~6%~qjFlj$S++TPBeawck zOE9tZ^-nOz2CpeN@@UW4sesf~LGZTN3oTxirUa;BAx|nrFF`0$sM_jx$uEp$B}q+Q z#X_;&yBNnp*XS5F0OU|F8477ZW3mtf37-%SnLf&^ERw{t+rMwI?LS- zjYx*PR@=mT9tCdT(Pv)2!i7lE55-pAo!24OqwoeJfj>q>bK)FZD4Hzi2^0#&BMCRg zJb1Lc`~F|?Ewi^d*1?Is6cY1z%?WsjyUA zink71^1|)oWO<*8qS}0p8bx37OQ(B{u{m@8;_~umKezmgfAcSw-~F9`wfwy=e2Lfe zUS;%R{9+(;EUSw$_7ZI@KFiwVLWdgt%^Ya8CXEwB+9Q?$8+scoFg9s-E5PDw<7~&! zkekYGZGaA2oULUcnD1VG?A4Dh|K#Vsvb_3{OL>dQqwDWiObucR8fkNwzTKJ$s9 z+EGI*`S_|_=XzuJz<1J9jDC=-9ZisMMxJ)tKI$h&iCQDi@)R2GtKfWM{zaa$xs+ok zH(7wwSLYKsZjx(kvhbI{=+tDYlj5%c;L%S}TQcS~&oiK0F_5s+NcdvN&y5H+C8jn zkTcWW1hoVTTWuAOylL0b5g0`2JFUC8?V{>w2^3Q&k9Kg$<;jp#F-}aPtLS0_=T8r5 zr^5plu`Y2l4;P8R4lOls`` zl&r#u4-LxJa>LXgBgjTjXsMXTKW)Y!?b(qP8z7-a8j4WZ+^6y`#MR@$dAv)Un+TCaV^c00d3TyEX}0Q;{j&tClz za9&^0ejOy)E?sV~1D3|RXUpzK>{-><{SL4bJFyt(HJ9`s`xG`wX&Xe=hXg0GBE;*Q zIzk9caQ`COGJt}erYkLSkRqe?QC)R6uLdc@WM1neY5wx$uA+25v0p4}1{f0jDX($~G%$jwb1Q%^x_zDmK-3MOin^%`chr zI=MxhZ$xme?dzW3zw`cb=h0pEQ=X`WCpWw>IPjvfyjJ;uF*SQGgQNTMITpu!0__=I zx$li)uYd2!^6q;Gja+6^E`ddjq}hd z^?-@Vc^*RG!>!!(jg7qh=k7a<#XJ@K7K^>#dUIL+nDRGS*t!NS=!_+rqPjAL=vc|G z5y5QMjmZ-10&6~fxC!Yhmf zEMS00Nj|$F<8Nt_^2jrb|8I=l51wZ_m@S?ju*9RRGuX-haZpM_c$IByA{)6f?`q;0hWH zn^@oWYg5U{F%-M_jk*iIvD*m=Ob6^RhfGk8 z=r_Kp#N+WX#7Kyq6V9Kx1fT04o*Uclb|v?5=Ro?Ig#Pq{U9L&_L1HecG}`5PU=roP ziB)I{nC;Xh$v6(wan-S^;tCH$(zP^luM(&COtv}W!-{cM*e1nfB z1q&lZeie6&2vJJQT4_qMda92=u$C2ALbC-ve>O_qNn~n&G4d#X0w&h3aKZGkPTUGl* ziJVDQax3OTDRjjby!!XNVVnL!rG!Pu6r~>@)IVwLh`g{C-JYh%i)Zw1V~KWElBdk7 zc1$JiKm%g-|5)0(WG@=MdNnU-}D>jNC0A*Sf|(!b$(cHP%A!~R?!uW z_y(eUEdGqWE9=-=fN(Xv-M(~!qoU6vN9rm^YnN4Cb@5wTjcQQIs(#^|qf*9nirc)) zO5sjP*j2Q5t+sJ#H`%neMT}L`o+VY1J;gvPFI)@gEOJ^;oL-f$rnbzkOY3ifIk_sr z%Xt3Jf9qd;Jv%TX!;GnguZ}8Ds2MmX1(b?B)nSUaEGk3gs(Orw6fn>W9m=uK4%*aU zT}nZ&4NuL}1o2vsGEfJy9LOZ#Cq2hgF1#~vF_}Hj)4rE@&GY%=n|xp7CV0Q`dl$Zk z+;RRSG)_Z{T|G58A|kS!y*%cO{TyfEN1p7A-5RVd<|HRk6%P*bEEeB>_gyad{~&|w z?T1V-xeGk61?kyP1~geKu<3{TxmLR{zPE50Djv~Wy47z=XK8y947^#Z@la^BQ(GPT zrvplRmLt29_t)RPx4ib!!{y_z{Wy0-Udi2>HIw7S&IvsyR(1C{b#0CF)lRDu8dX7o zp3Ai=SZNDq+l8p1ULS11nSjL}n945s6|l*Xr|JEpXIq!Z;5$#x5hsv*bVa_KGSO0S zA*))p8$MDu87)g|$|76m3A_LRAOJ~3K~(pjO}C}dwW`ohDv3*r6JQ^9Vte)C2~RR{ zk%JSyV=nGFp|$_{%03s~W4{6-rtbuX&nFVqjl#&+aK)=XlTmAwZ3W{|_DU6|5Q{0U zShSW4wzZX919L!^%T&IW9_y>T7$$@yI-3+Af}3Jc?m)Yg+748F5a?qv@|LacjA!Jc zrKlKJT_dM0!Yy6@l`OZURSw1BLC5eGk#zo-?D4l|+d(Z$$jqE0?(2`Y;#FjesYo&Q*>*5yb09T)?@{69{*> zrT;dIzxVPDN{;=&{1ikj`f`#(`}sZRr(B?Nf!Aw`83(Y%)7^~Ij0af&M!6@bbukP) z$UI#PQoE$d1vCAEclO2X6Tk#Zm!Bj_j?ea$U4mv}rO){bK~c${lWp~JLG|#`rRAkh zy|(<9U;Fjtw}1CHmmmMJ&n}k_dD@1v@zAPsd;vfexb_vi>eW|-s&7kEE{p-^B zQZ(zydzi~Fi`rm3q$J6`-bu&310an4#TEr^c7Db6njC$0QM3Vez5@TXq$|L7k>TXx9W8Fl8c z6kjE%d3mEZr^5@h{#z1yt;g}^2wu-9AY0V<6}l+@kl0mP7qn$9R{Km{fg`82oEi&b z%7^9cWL4{y%<@GkMz3v(A~y|dftsD7ZOK4cJ_|c-Yxs(=wU%H(^(*`3a}2jHm`9ET z>P_DCtyfSqjhu#)CFM8?&hhey8yi3R68(d5*(YK$R@fF&?qzqmz`-_=WY*PK@EvK1 z06aE_GMy+<+GHr$BrSd=N03wxcq;7aJ15I$K7Dq1<^|q^$1%s#WBZdavC|xLtjM?U z@X2EZ55VzSXcmE)t7ie&V}-&>LB6Z%IgW=fpV&EK-rxd=PZ;xGeRas8V||1#^&Bk! z#jpM9@`;cCG*YC}8wTn=G* zqk#D49e4>*3~`IV&bvW8k5tXHlO$!fLPws`sOnNmwt@Z33%R)062zyBfRfiz5$fDV zUdYq#8Pn3{0{Ta0rJ~q88dLw_D~e(Xc?05_-0GG`+lLQ$d>^9F$!Khw$P&fclpOI{ zgj1&EMIHH7ANtzoY~=@ZsH=3x^SlZ=b~Iu99vQ%@zLy##JR4>7Nt;Glmgk@U=lAn|hw7+wHFq@$$^rWwl%5=dZ8D*fG${p2j4BrAEv4eec}0 z-v=L(*rt8{loNlgmxvW#xTX^)jkXsXXet^;3eLQJ*Ak z+$Wz-YelnPwc3!?e60Nhkz=_NO?jN-65pr9`UltfzVG|*v#`%+ySVW(ueA60BM(kH z8Y%E1Hw_5OyqI}*{B-d$(`3|uC7W~7fEL<~({NAJGG1pnna$fMAYbVQ}+&EeO@CVEC z4Hkj9M`x^RRQGXiNC^4b82ULP?T{F@Avn_Lbyo( zdp}a1G6d#{J{|=>;u!J_PjLDT?(=-l^}Gil6ERKCBKNo)-YA2=O*C6WOQq_?CyPmZ z+S~5IPq@c)^Lhge^dYKTHh-lmo&=EdY2jkyLL3XEHa!>FK~mJ`HIDFjqKE)YsHC!# z%kJP*(Rg#MsIYB)R++|9aYL&>k7?`qtuch(?@H^U=cf8S=TyEn|2#Kw**pgv=%2rQ zz^4PBE+6m-jHkTaPt)RVH%XgR@hYQxAgEq5cKE!y5!)&ao zY#zV$F>kB~+UtnyGxiL)*v!pZm4n`P$e0IK7k4?F6b7kflL0vDUE> zG)A{H5RBo8_e?P2TtZU8F?>3*8ixfj7$PP#X914`~K4mlIi|-C?^H57*|uu-HV(U z6i@^|Rk`Vu2K`&g0cpc9S&CWJ$y!j%tj)w+KlsI`8m#YP?_YfP95WU6N0$KGM9KKFe8JpnLrG+!;ohztw^OTBa}%Qih>;rGV-H!&tD-KM zC8F`Ev}chK;@t*Z43U17Qu@Xg;H@^fWusA(p%OK=xj^xlpHG=S<;>|3w>R9Qe_ZF5 z*$+4oy6?p#arPPL+A_)&t*NWp$&zUXoYV#u1RDv9Oh{4=-d(PJ(Mq-7?1MtK_OWJ? zMhm*FmCY~xMIDr@&ozyB>CI}>+qGKsNGOV(#^w#H`cjv#AkvTDqqAHeeDOrGJR3N& zoX{OjTB2#k{-eh5_ zx;8-tSw)}(E5G6*e{_*6DrGkE_;VZ2gRrjM$ZVQZ>Pt~EQVzd-16NvrEhqJ|MMSk_ z+c`M&rG2dDPZ`Rz#sr(6iR)pRAV2mbh>I6>GG0E3FY1ayY>2Zhvu!H`CnUl&=@0kVTdY8jrY& z<+$KQ6EA3)=jmVYIpL*FvHMPXaO$p#2MP~O`SaBn#BIplf2*sE4gaQEBGvs^jMC_x6*c)C+;4_nWwz??90pF|Jg6| zfsgCU8{c_{r#3iK)yPTmwlHHmX~5R)TiTg&(^gr`jwk&364ItGys|T|bZ%7`$Xezp z86a1FDEZGxM~lq9mE*hZDB(z};y|XKgbm$Ag)9ihO<~*IT(w5?v^@DME*%49jesDv zplmTeg+i3H154g<^jnM%xlr)YR}b@T^v7IG^@$^@OSF__czf zA0H+X*2_jcoN{apTqnf$&-hF^xwVe8MX}K2?%?)Cs7W*8ZzNP%TKi7U3qrKf6_4_; zOWAF*#l*O6k>G%ei_jjbm_k^ zXqTZhO~0|MtoUXj^`c#21unw2A*3CjVv@1s0IqgbA7jc*`tD25KUrRVjVCTI)eXYh z;qK~?;~46vA0Dxwk*9wdiXJm}cQJ#*NX9McVmmxO5p;xXFRF4KH4DF<@9KG7tgASA zuAog%0AA*?v#44fWzUGHkyRCyO^aN8$`LqtX$u$SLr6XtQH{BFD2 zKjoA z=Z=<_Kl0-8?|%PJm#5d?TR!#a!`y(71(5E0sK*|x=KtwKo~HE9So(j=Ru1hD8kE%R zzf?NDx<8-eA$U%?a=gG|l=sRJ7Gso1- zZJgJQ5OnvkRiCTPCpgIKVo`TLkTAb$tKc9sx93-0VpBean|=wtkjbmhXuwV;(Futg zQ_GP?J7a};3gGe0`BM2%Oqmzc4u^c=%D~ANF02zD9C(5=}l#`usY|oGKIp@kuj^Dd=XZf2q-&_9ryEm4HHy$mAe8>DU zPnYrlS=i3Hf}F$+n{-oec2SQv%H-2ZDD;Mbv*6Bi6X#7{|NJ-Kp>MF-YP_^3HYp}^ zT-b%R%&~2%dT4A0UvUzvb1Y0TAm4q9S3&>C!E%Y4)Smi~12+&p{Qjfm!S|jnciul< z{^IqM<^TTn$?{E(N!Rf+3%~M{5)aG%XM8qNg%fYd-;58d{(#MOW`NiX^rMKTYapvmzu^5bjS z5+36w44#UQwo~sUPe|JK&~{l3ITvY}g&R)!1fbZwiY^-&jsj^f(a#D z`~h^4`7Eol9y_uNjtKIJkH+ii^o7;G)u|dM^eL~FhSxDwzYgh3{*Ecz_iW=_HTNbQ zYFQX&A($^yBml;WT|P1LrU31>e;BjsA9|n<)siV|a~mr?Y)t_fHp*LVAfGT*b=z5u zAL=qH0l4h|kjpl#!zWK*lN+BVlDCugDYI;*5CwzW(_>*|wmcn)u2^0SAs>mO9-uOb z{YWb>p!<+LB|l>Orb7B3flFURL@b5Jz7Q?Q9iKde3U}VgVW0W!@pAbx*HND1ov8qC z^1btK|JBpwo^Lnh8uZvA|7u4A&1|odU2)gcq7$n_0{pjLunI}l-4=Yy0t!=MQ!my+ z&2|?T+g!aL{tam?Kt@@lu#vs_HU8x~o`j^(@AQ;>;2=gqQ98!9g7CEfsKP!t@{P~Z zX16lOLQ6@T$d0Sf&E}#RqD^wBqL`AldVC1+>CO1Ohi1H%r){+#R#^${mzioim;bb^ z&Cl@K@kr%kiqMm{$P^>5f^ZhyfI1Ip%3G-vmaXv~CWukuS= zah>*KR0KE9XjJ~)@B_ZZqS{I+(??Iquo9kvhOcGp>Bj#R22I5keI|J{B0sB~WBkf* z{Zz^=L>YO? zva2T^96=(n8zd(S(Zk>;A+wi9EP(oSuTKM)A2pGR9X%n55M*6Ee_?t5-S4vKdsht{ z$oY;Scf=kuP|lGplSK6GPkxnE2|8`zj}UAr#!gjCHRu#F z**Mq*$Hwql&JX!(S<<8?2(N&mDOp7^WGw_0Wtaz2+glz_AY#4>I(2Ud+bXYpEV5N; zXsYSNjLhmwid!j%U$XW`{8lc>6Ekzi1sB|(<5fLZFGI=#@G*;ekHI++w%dE6Q~j6R zzGKGEp|bodm^JI_3yqtUQ=kYgj)V#t?SU8cHf9vBn2vUG>q$F#VFwtTvQMRwzUe%T zFVoOvfh65fm=C_B4`gg=rZBo`8<1cmN><5M>O`mHce_zpZ&E1{hAOC67ItK`@R8==gmRp59&c8i@!v*j7r3+}c~6mnNAioDQJC&0!W$;woL zoBF5HexK4kMo4PBI(G1^V^zc`Y`iP6!x^7MlcKYVWk;7Qp2Z*fhRd+>venb@3=!dJ0H9>ZUBFi1I0&2deH*CL<2a>T;mrSSQ_ z4`09KtDbN3YK|MXAMsQH7kPMH^kW_ce#|T1T&!~OH;ba=J^}3FZ=MFW{k)*h32zpF z+24Iyzy)6~_?vri--j5o0L=i=wyEg_b4$f<})_nwc z_Q^ua5SDp^L}aok`tm2PF2C{{|8)7c|MtIMe(LjoXL8ovA$&&TZ02+N_12^wqm`Yf}YH`Nx@uK)kW@HSn6;kjJ zuX@7hrsL6u)B=ulVT-<002GT`euE#`O}-hu0h$xQc)!UXF=dyO{Ee=1yabKP6*ux% zbeY*;?cZcKO#{|g426B&a`K@S;sqy}sxg&mnmjDUnH!}Jm~*<%bGo#={4)DF^zZSB z6Tik|Co10*pp4Xz+%Z{Y1CR0IE3J77;v3O+DX@2e;vIC;NuPGr24VDH-|BIfn=pUu z`IF`OSNXgEPf|r=u9{)H<0>>y{Jtgg_Qxz_`y@Q~yVmgmF^+M*IL5K*i1RRC%UAN% z(LZ!%(HC3w%h%;*oa1%b?=#;0`fq$~`N%7uhZyD$d7O(>89^QEjh|Vxrd|U=$1mJP zZo$Wc_0td(jRy|7fs;nzk5&T++jWKpz|U&hqLLZBSl z-s6LfsZvsSBco^n>`jwQEqUpOkD3xnim073isQrBHu1F{8KG&q07{s}rijS#C$N>b zD2jF?Q*g$u)i>=b3o}Mid`zc1M_;<=A~5rxGKS2!fiFGsRasG@)?`_c4J%9Rdwi?% z60d?jdwcnV|LvR0h36jgb`@@{JHsXZlY`pNbBwYRv(I9~2{&`(?Mdv{^(4PS`60}w z+q2J6bxv39l~JAVs(!FM_tMMDGnYQXzEQ7&*1q_lh+W#Ml&m24B(IMy-8z%wm^&jK z+x^lctoji2mIEz#;TzDjLl7Pm+1or9le2isk|{?GAnBaZ7-y$U=1D0Juk#{lrBP=4 z+Ii~gqflBRp(+869Q*_2Q?mz*59bdbvB39$-%W13y2CfadDXL@KI7&qUprgEdOt*t znjJ;_X^nb~=cW{jUHqQ9_{;p*=6k{o{dex)U9MgGVEOhNH@UHr>qW?X1d`84FV9}4 z9a-Gsxrog16dT##>n2(HjEY!P&@{ird&EsZ&f)*+^{30V_aAew) zReMveTJ4+C?Nh~3NNi}{TO4#A+<3Zt>N7m-!5ugkc>?%=Zw~*(wd3Xg{o|+0?|<)j zd7E?o2Q;Fuu615&vOm;5qGn+AFD7-VLQ@W-Q~hmimusAsV@qY5b)}ZB>i=bbjRVCa zt-O&##eF8ud0_GSkoyq1$Ks3lc9q3nbKcsUC;S{HA^;(d>oqRNmB3e<+bHcXTa5!G zsn`6}{=4>N?9Rd-5(AUCeUU$5&|blvro3L~5HFBTbXFzQ88^!F)T_PA^)?XMB{6JL zDFo0oLHSXzL7R^(%j@_QQA*U7l55|uIZl{LEwG%Y;7B}-^+tjVJ_#(a7I)?0E$+x?tU&2m9+o)v zJKp|blkJcj2kap2UlpsLPal~$Kt(EBEYD9p@hh;RcDxM%S!^%n6$ZHc)5aPPY}F%ws@3l4MUfG4I=K-jIaWz)pQ5{E z;g=%yBF(k>y-mTf!JM+oycUbOw~_C}GiF?(&do8`AD&&l`^~4z^_$p{$?Il{yd9C4 zwDwcsk&Sg4lJw!c!HpX_sYa%##9u`sRuNNZSXbpsM5!0ZE$!I8r_Xm8M2G@wTSs%n z)IMcw%Nk`wKKaNSQOP4CQcJnOs4xEi6mN6v7+X-W?cfy4sTCGqsYQ06rwEEJ#%aso z-!T=PfHDyx=})CdYlvlN)33TL zW6QNzP^n_5g}*&*gizW~90e;)8wb8Z8;P!o$MnybJaEZk)8s`zw2F(l(OF|mvCs-} zpkUgPdJ#)PY8p$@CQUxoRYBPSxJVfv{>j&V>+8pi4C(mIoP&cz{Bj`9#NKiUI*wzM zI|3It)gg~GZ0fH86Nokb6#!{N-eQMGxOXBBE`t{|o?Gi=UTeeAV#5Ua-d(IEI#!M&Ts43 z<{rWGWTdcMR91NVNnIV*#W_jviK8bxI(h9H3%`HrtDdhd-@o~QNj$XrB9U~K;Vx5^ z63cp0!hs0G-8Burm<}H~wfyKm;VQq1O3BuBREMcdZgJ`Xmm!gb{G?=R>jZCNpgy6> zH5X1XaUxenrSeCr&~&b)(e3w>pnbx==Bu^tA9Dva-}Jr5oq)Ia-R1()115w%5ghN8 z%YP<&k)_;`UABy?Wi=6%rTNUpPGPYt8-_-Pwc>eM_`Dwx?u+w=N1v;_ELWT1K@&sI|WX(c(*{72vViBEOWSO}SvI8yj2< zI`fo86)yT6Y71@g*qb{dOFc|(Y0Q?;d?Njs$m3+iJ9YtEPj-s2XrL=jx3O-uwM3Q7 z+6GdawqHF?S#3`M03ZNKL_t*JTMOFidveOr)AW&7>e>$pcCwm2TzmM+C`SL>gJlgO zd3m&pHTY@+3u2|^B%$TD*O8?SlTrk!?1{EK#xqouE05UK28jJ1U`nY$Ed5we%qu$k zfp!L-Oltei@NE5PxZ(qq+$GETka{0;^5cn;jAM5swEj|2wkuoG#7D*a_h$7+8SDN( z*d~>~1gLKKm0>+%S2wGTbgbjnn9xC=6JQzF_-e_}7N5$dt>cF(6_C_zLtUKWJ1cZ5 z(#n+o=AtZEU~?!le`~H;=w=8p7TTJa^x4kEqsPm0S6TFgz;8<4;)&mzx9%@DUHJ9l zJWpvo<#^^Vi@qF-Tx_*0EDONw_bvdt_?urZ0E5m2C>MiW~K!%R;%DN#ind4381*m?VK$P#|Wm*$u(2hfn*)D=#xO#Q@;xGN;@<09$|K0L) z|L_<1wwDXP`tTTgdZ8QJA|Sc#iMfdcPch`WB}AQe#X>S@t-?)aryC|{4(E`yT5$<^=~c5 zw>hGMj}4M4CstAl5CBPd`Pp_gL*U{j0oeL>^95JF>vO`T7z#zJ%_E8ZHpj9OICjN1 zDpIANLsOPiUU6;PhNe`kJYqw!k+uHO4S{L!`a)IH1dU(mUv2Mj3Y!zH_^23|Abw1X6kRzfgDFid_NxVw=V8lYs2E!31Aq)h}wF zofB!%wf`3X#6UB1u}Ycz4(JnpPwu4`&o1xZT{wSYpk=>KA6sRd-cQt@WWhM+ull3# zien+uCShRXfB&jai%>wdfw(Pcsc;u77Tz4e)0Vtd>XlDjT%LXA03YC#gye;97f2rQ zw7X9=Kg192Gs^eyIJ_hdJlwYMX1(PCC${otu0YJ^g0io;_bot78y4>WT<$~Uxxph~ zH}3Ezpt}dlZ~iyGy}a_mk0A*GI+GvSl-;RZQHf!_lW9H2g7r-?ZL~4VelKtPAxf#~ zQ^}RxeFUUDp>6tLBTrc^W@L#hX^pU|bW`Q2vdK9SAff7TOo$i>+9>NYcb;=U^L%m% z+&+1ZI1OEWp{q@#tgVlzlZ2i_Vm*;%86}AI7$i+VT3CN=rQnvQoLxB%7N7Q%-W|Tk zo8Nv?zfeN2T$AV|NS^4Sp%X{y=zkKYYKgJVr&mgttG;6E^Vbe*yiM|D`K(>pCXMEh=oz0)` zlqWfl$h8UzcB9an$tTX@9&TAU9Z350H}fWQ53m8O=jJvG#!uKvM;+fpwVEnhAt|$d zCD-^zF8De+S_eWSRv!&p%d#!02gd^u2Y!m|>2m4({pFbpTo>bs-@|kFSQNGu@)Fk2 z7L&X(S8iV`D{C8j!NvwE*(ZscZ^iLO$-E(lapczhdwe?V{pD|7zs|h+VQ{{p-o>Fa z^aIb8jXPf;iN~4S0XvUC7brBrG0%O}IrK3X6E7dK0L%B_Z!<^#_FwRM7RFk~)Wld} z#)bf6Ips=QSr|VvNJFiX_*%5~muY|b95b%-bnnZTkC&HNggbuo(el6ky9dkv^rugj zZ@#xIH@Ft_1b)ZCb&QNCm5@ppk}7slYAtGuFLYx^+cNE09+j-Le;FMg;wAL;2clKF zpOw!5Jb>g!(8+5N*xX|aZjro-{Vl`k z2PSImgK)9QZ4=-HE0K|5n+f$_J_)oRx$%7$H^GH8qvkI~<7c(%>l|VN5vmP8Jc(oD zhExgmvr4v4`w1ZOcRIT`W*|cPnBHy(am;IRlK~{Oq1Ro9pDdITbL(NEq`tGv2^^yN zN)fsHE)N;-pwSIpOYXTUr=3!UHlb4?smfG3egz#LR)PX+G(YFqo{t`4aN1o%5aeQ? z`1lVX^Ep9qyYQX$}oLx<^+U^Y}_6>hW++5&O%)-+@p`neZ8mV#`}{%K{GbdXu|c?(6cey3s}5 zan*H_Ln`j)B}ZJ9hko{@O=DCPJ$x5=qv>Uy96x&Q+;Wx&UtWLXWO?WNPq-ek&Bs?8 zHLnFF@A#V4SQS9qTDI)N-VEf=$*YjONw!E)q$rXin=_k3cXd_QJlq=c`Fz(}=bT$j?R$S`@4bfaT6^t% z&e>bDzU`w!GH1V|Kv07pfjh6nHE%79|an)HntyR zwE`-PxT?%jOJ&2UhS7*#nd^i=H7YwB6zoDZ9CC_z5zmm(Mro?IkRNmt|e$edrVy<6iHR)mJ0VjT@FDNAr-3}Q@dm_Sb zRsGyjRhmkHV~DS8(U!%b;Uu3h*c=* zKf>joEFcqx?E%BOq`6f(Cqu;(b$8^2PM3}N;-q(dutW++qo)=Ep zPm92tR#on@v?JTq;+41I>c{HKs?tUa-?opQjOoKtRUaZhr99d3ENAUJpgQIW;GA1y z;5wo8q(jzihd=8_)VwMKuMSpIEHDj4LYkf$4`lbgLYwip_O+5{WCo_k7*%1F5moBQ zx0%V5)N14KY64h%EC6mo78eBL|(G|b^9f~^|w;liC?7g%kLYr8{ zYivr7yg==vK4ZGmW@B&_t+H|@IXr951uC`G*srq7D(MGuf|1;gSjy|_vLm1Zui}Rf z>wz3GXB|B}I?5A=w|s-b9lq^#_W}F!dY!X3Gv(qh2d9pYx$ryrL*!2RnfoM~ue(Z_ z+zY@SRG-qP57?e@u8Jqayl6>y+$KQx;;*B{^?!bbZbp!0leSad)!m_3^*1q#tc%2A z_~Zy-k_!q)%f~+XiRFL(!~bFVtzY}q<(21O&e(X2^N+m%j6Xi%tb*Gp+o@msB-g!rv%~XqA@XUo@{)Wn}+iF4gkhw z#r2-1)IJr0Ckl@aFD#$>`M^F+l%F9&M22nK#!NdkzASZuk*;^4P}U;n4BmC2F`gjJyaze`$vFz--~~lrbS7!AiZ=9&H~5O> zf^7z)7)8^w@Ze{>3S4aJavE1(sg+@5Tc!w9;(ueVvIUl9$J!WV{b78a=fdyF(L=r| z`hW|+*OyB?@q2v!7IPlnfX5TR#?QCIZ2NE>AjOd?iajag)pHX~keBc8G7p}&PvKJ1_Xq3!FdWMgg{YKGjP{CuM9J2>yLSF!t1e zf1YpCzWd&z<-6Zv&hFPdpgR&XR$QpWFE$FU>Rpy=N{m+V(kY%xW5N@vbeQw?@A7T; zd*8ad{P7>3E`R)OK2OH?f7kD^BA&6({nOcIql~3K3vFxKRDRe9fcDDr_{}&=#k#&B zm-CGf%Uc+f;1D3!ht63?&U4-|=PQY`bT0yVq4x!z$b5#^3qQ++IbKvj?7`Alc2Z?q z^zl;*mNTylQ67Jon)pYidGQBk9p6+x>0d6`qgS36UdlEEs{fUNuRk3VVcnJuDP~k5 zrM-IBzN8+7=2zDIj^Wr+E&FJc$V@%h!BUJW?RVyTGh1uRE*8}4%z|#quGNwcavEZ%v zr66syV>@?tquX+om2cqc&X^V7a$IzgUuqk+`jA4^W|abx_Q?lCUuK+0N>VR=QcJnX zQ5?&YmrP5L*`Dd$q1t9R86z7lC1Fh386S(X`Wmxx6Z?uqsi?7wAsCZ(#UWwec3DMh zmrtKa5^n-sGNm)|7>s?r3_RWLLMxsa#-tojx5f%G{wvx^UhGc}J(1oE?Pa^Xj!)$s zQ!Bj-WJ5DgUw~Qd7*5G<{_W~%xERRh-$m)g=kjt$kt^)BrBY;6drDVq6LeSMga7>3 zfBiFT4bovYr8aV<9-9gxKPz0Yl|xwobut-Nra|MiHlm48Qsp+vk{1c5G1hBCC9eYN z)br4d89dIP=R)c+cUvEEf%k-0J)iKZ=cByt`4$^{UTwpN1-M5KCp>^~7ZT5Er;dJg zLfReQ$17cP!*No_iilLZv23< zCx!VgFdNMWJRamWb>yNG%{BpVwWe+ATN+D62~Pl0#nFQQ>QxL?AD;ahdt*O}@ZEEF zQr2H$1?>*6!TIVpZY;n2OP7}yUwo5};2@3zslpeJT`mVx?#<7+NB0233&b9Mx@V_; z%7x!6-@CGW{)@co`OEJw?_RI(@)_T;J$5J0SnCEFQsxo(RlgMQEuqn0${s{84@q8L zRX@&{tz!i^wmrIP51=Lc8F%Hy5Ctg;TQ@1tX%z`ZiA7g_#KoqZouoKaT*vf~8O~#$ zW?)k1-xE&QpHjZZ>*Vg<;fY_y$!#wD-r+SVemArx(SqmgPgsH#KU*L#uSoYKlL9#>G1w zP1@E)apyM-5yA_hWUOaA!i+DVTF*h{POhDRk^gWKm-tt<1lOm1iVvYSJxb-pOtM3g z?M8=Y_}wLO9`JONCyvW#1cF|eZN+v{RLa6?Ut&p%0fK{%DK)pZV#p;jzWWX5DY3RdOeF`>CdV&F>~x z*r>QBiS2>kM=w9W{GBdLQ%B6he&Lg!UcP_x%5wc1ybjtE!0v-xC(G52ZMAuPi{};e z$Zd4nW{sc!mRB6<(pFO1-R#mSiHZkp>1wjnP?kJ8F$GuTpu1?M+4MpB28mkNYQ40L zgQIro7gBIpM8ETvXjxzGOcwO7tB&pgMe z{(h>yUXjlFgJ8l^3egtBRNI`%^|t=x?M+HulMahTvaN|vv#ndKpF+iO>9)gE%aPe= z*`yCPR_*rd=vK(rk45mp)NmeA3jjjgMUW(>|tuL~nUSy$Ufky z_7C`m{HK406YMV?alx8fQE9{@wnOYnIOt=WdzafD*l*ZQk5jy0<_TEeznP09+Sfmp zvp9-Lcl-F(C+dUzucWse>H;D7oxK6CJiXn%MCuqoR|EI6+C z)oY-&G}b6Own*tQi(L=VvOAffliS8M$=b`qSo?>DtXm=*HIYxbAcG@jXs#<2s~SDj z2ppS^#1Elhte7fG!+z%1ja%dup=9tx?KKHns*rR*F(rD8t%60bCKqPLbK5e@7*;hx z0tIHp3L!MHJ0|37oV3+=7A+Sr**V_!Dyk(=v4!lWu44^7QL5E7Efp`BpD9 z<5lZm;hwRf-TIIF+183Vwjx{$+xfzCuPj#|++IHa=U-V~fAie(+%r7d$+*{N&)8_| z90x%@`T2x#{(zew9{R)(R}0kl?2PLN4k2d@Y%l8#G@t%7f5b)LAKtjOy!_Hz%cW;t zfsZ`DTF>=GTa^;eowF5FK#}+Rw0MBgp6l7?8Ou3H%eYn5IiPNsXKV>BJvp|_BjH&O zZAWU2QH}qWGY-hRcA27zj&s47Z(1;r^`eJ9N8XsJk)V{WO_wG~toRu(yvRqykN6DQ z!F@jOabtP@n1>XUoZX= zpa%~gEbm^qzI^>VSC=1Nxy^o?Cl^un0<#+iHq#l02Q*B(j~N;{O@uqgdkVV|yS(=K``lo2*Von3f>NSgqYGtA0#*DhWqb~HqS_U0nmSM1VbxgOSk@!S z!u6p19t;BuBNuond)3fiz)%=WlM2|ixbc!$4Z=1P+H--4YO}2HfQ9hSl=hyBC&l7 zr$@9tV`MN^dFcYg0SelonjgGuV-=QfB6qzh`AyDV@}>^Qj^?v&xjhS#b|LZ$jE+!} zz&+af>PpD}EMcCpEPN0IP_DIcVtXI*xDC9y6$Bo7&TIp={LkGgDudxis# ziOIb&o4eam&M`GYZU*!tKgu4v=K%}kjh_6;9d8CbeGq!tNJG^V2kG=D6~#*>jINiy z!j1{gcV=5)9w3MxN~JG)CHhm6>qh#dIC3M={j^CdTR&LwBRH!-6a)l%&-7@%rt#MXsE{EP!w+&hw2KYyQ_ajtR0qvxda z_84##6MoW+Mcek_gsu28ZE1;?6)inIfaGWD1Bkt{>r($aA3dnrNnf_k*i9dWrq0<^ zqfEWhFWix7-=|&LD!~Yh?itiG6~xdPU(W>1ILGGBRwR)IBU-`Ic!5d}vje@CDT%={ zA06@!GfQw!pEjQHsl{Tr%2`IXW3wZ#VryZTdqYFp+#2!eyIHUFd&buEt-ML<4YGO3 zPD3h=k!{k3fpo`Ee%7~iMnIzS^ukyt_RU!RQspV(@#RBw9A5Rhe5SrbioK_Bi~SVp ziaGruf7gk&-9SaTWDfqpZ~SIn0WH1w6s+*G?$2`lxucI%av<1nx)H5kcC4!A?`-Zy z3Ni^TFzhPV{op>O3bFkG%-o1JHKJFMIgF zEm7M0@jKtbE1$f1!Ua8ctapE5rd(Y*hD)A>j z#{oj!UHgc(-dW!L&U?#eKl}aVPrvg1@?-80ok^YMb8!*hw53D->ErCU@-W87Iwt)toCk~^(0Us`0)X((h(sj z!WTyBMW48p+a;H!Z7lKfQQa}7E37LcUG{2SS(^{j3sc?=dx2N!c=7i>S2~vJIFryo}d)?|5(Fj)}FJgQ)^8whuYt{@K6r#`3TJ@OPJA`_=z; zdFJ8^(0y(7X>MBc_0@Ip*EZvnzO2SY+_p7S>CQ+2NvmD(m1 zmby~Q?Jh^E7H+F*H$$OuVsB(njy_8-g3O5%x3g+!Wh>*SzCxck>)R=g`o@-D_{Cpb z-nsJa<-vQrm4z$y@*<49S{Y}QrBzuZsx~yTRS(g+j+u7kRTgsEUJc){QEE~YEqA0s zUww$229#H*+7*-3$7JelYjs4vKDSWG^s>ok5TH$avmHY}>lGN%g;6_sUJM1shceIxwoizKnSV~`X(_%Zl7&-Z+ zGCr06))dVzk`k&Ao|QBHZ~V|($4zy~k9ygbW^%4?icH5Pgb<-ZlV^WVtY%#qol@Jz zNazhR<$+EvCXC>jBWroh!<0C&DH$PURc@h!O{sj-M=K?_$)447bVO_f95aHFDjwn* zT-S595Y04H69b9TWx0Pe8Ea2sN%wX8&-3KLi_iNM@Z;r>wMuWm9={=qH2Kglt|`&{_F%}LYy ztRSu<7rCMG_x|922pt#4Ev1_^X>6Xk%UO3^&bkEK^Zqpkgm0Xnq5%knq#N85V2lZvJ znQvh4jgP&teCdl{TE6wY_m`jksgvayO*j+K7iT>*?7#~P*nPySQF1dg{H*3+!3wrF z`P;tOWFF%j>VR`TJ|*v4n{Qmdvb^#7C%G`fV@SxQ{fS2T4OEhO$~xNRj4MNwa}><^ z$TPkb@F`&DLWox%-~rV%G?AJply8n>*~+?&%D66z1F+*MgHYr&1~iKKv(J74me$0T z7wnX+Ypbj&Q)FYyev`XOE*#zCLf@_B87}<#)b9c3#C+n{C#lzmEE1E#5Utu+Sg{7^ zm@~fGlTtT0vL#am|L;FK<%!(u%iG_)wtW9bxA=+!`)` zo=%o;HyFcX-k^0}rhchF^3zF{mE*0WdGo;!Z=YY@{t}-eikGky3!QK2|w0wmIAy z%Pkh#EC#;TC6F95t}x{1e7xQ(Z2s~{DY49Y=CKd!7xDHf>t~-K?ibJVM7VYkr%mOz z@v8cG(hZ1LkwKwisz;9d8WH8!##45Fb)3Vx&may4dX?*cw_ihD-WOvFy4#Ai?PWUl z^&!=$S9^*Qa=6;qYlqLG+ELPC2j8mlyv!eS!N~wAc{lk09j%C)>{Nh(3G5-4s4V@XV#dg?r1EYajUb0_~_#c)^Z;#@Vsg zcHxiHI|{^-QIDZuV7Ni2w$~2w46jijw^(thd4cOe#lv;GOxVAU3_sW5Q^0w9iM~KT zNBfR=14ZU_C^*OQhGaj*=z+1v#;#{xVDv^2HZ9qY!;NkE2GF`=E7dS9o?a~0jT@&C8QkNU!GX!uf<0z+-gM2 zwPNhc?NLQNIsnWVNMR56A z)^gkDtbCQpr>w4sFd*P)GTU z!C=QR4dKUTVPw<|dh4!O6oS#V6FVWgF%!#J3%xWqdi#;aRe6tHHl?IA%6pNxETP5| zlD22;tGB9Jux%w{+eUWE;mL2MpO`09#aW@FQ;X2{3_+hx_aQSja^Qy_0<-XiErs` zF>TYqO&h`3=gOzQ5maloOOwlAv8zFnl0M{rH&mNvZS?w~)&yf$KKT2;@f)96U%e6m zATU-3UV+n#1b2LpmyIr4A2;kZ(Wa1p3B92lg<@$|k^IuVY~^*Y?ntcM0|a@;%ves& z^NrufcbAJ#c)jz(Yur7=cYe9>>-T*Red0G4BAMti+4XhAdG#=pdTnGKNr!7Mln@P0 zY(lEC!kv16>9!i4IL-!)x(6w4T=mYASSP%% z$`hUUIgs~>K~F?Gsq#?Cwz|Wx)3XDzEDanB84U4Q+hhI{zPF@^OaOlUKYuEU8$hGBXf9}&v+@E8|{eXih8se>6KE=V2nr-m_>%pBH z%MZW9Yo0&*z2(ooe1-2+F?qqhZHgD*rEU7!W#j70fSvraA4^Q6DKdK(V>Gdn?7>ov z!AJ>J3gkpXk=V4|)+QzjdD5m*@uC_4sOJ14K{0xg{e!No3+c5UD9cY;xLxPsZhBZO zF8ccP!joM1^&pqmJyZ9)zSnZ`_i-*HKIHCapN3i2z4jyV3btOA@9_nj<&(y(R6T9b zPm=s~926;Xfs24b!)SeNNGnK*t3W2PFlJnCGA)8=`jQUwm3XgnlIjz$bApTuz%Nig zI${#RjQ3drnAck~u}$o#r=4luW=|(V2VR@Dzn02GSVp(A`zQz5)r9tnOrL{RzVF&J zIAzCpm3`4S+l5pUS1xLE)B6k0BgaJD?-(MO17`UL{LIBEU(p>`Ev6k6L-mrL$}1M# zuGSs7XdrK%esE=pq4HdMS?=)~#llL_MaOKdQ>eBI6boVPX%h>5j+8m$Ro7PyD=*JwGyM4XujSp@V$H(pqDW>FmY>mWFNz{R|ew7bV2!;oA zEfb`YDZmhdQ}|UcX^m2<|1cV+RHZ|RtaehOk*lq6rW)DmG;#Swls-T=+N+-I(v4vE za~yCXOS{T%<`ToO)TU5BBA)#f87D%7Qs2JFD+Dr>4(q#lE&x+bj_tf=*>+RT1!vsSHxDx14W;b1LIE6} z=u(OQS(`~T(NS^mxc_OF*uf9gNU$=Szzdg7GF#`1b+=0ka^ znLP22FWM^G(t^9zDO7Od^T?&2pu25LBG!j08gsH*7Z~3mDXk6jF55{`Iaj~5UL7aFvkMe?j4+13z7#JgffBrXnOhjkk%Y(9(M>X~1u3*>q6@4$m&=6MXZib>Xawfhp^lC z)S6!`DD^+0Ykde#Da04kvg=>c=taQQzoJ{YNVjvHOWej;T z)su-f&)4cd$M?q`F*m;Q0mmB5n+#S%1@$Db{JZf8$#F3ZPWf3#fw$jNeW zIiwd@IN`<#Hcz_U;Lz%Och4_By#8c)m*d9U5PcPC`Xp`U#^@JLmf!h<-{a!XtBoY$ zpi0`;DTjq^-pOiP@(G_zRHfNYRNSWPH(7kOuFw1zt>}^x5BH;1T08|8F`$k|K{3XX zTpP{KI7x&;ee^V|sKT{QO?{&k3{vPn4i%t)Qv9XkH8=C^!l786EZInTc4a zT^}ZNlRUR84l3o-pw?A1@n?JvFXzXy!9;~g&>^qZzHoS-R{)hjYQH_-S)Mt$$#J$1 zL--12gKNJzcH&OC+dg+zxZ1^7cQ5f~j5m#-uzeycQ9;dA>(6YjWCpkffA+PCVWe=Wnx7hBofy%3$bK#d>QZKQtOkDfU*F9fg z#qo*X3*3-&#Q7F4xEa$E_ANXpUUg*G_{6^~w)kQ|f69<9ZgtyH53!)5PzmM{oVxgn zw0=i_!-$|e{*LFy*9^75nfGtimn2i%BARuv><=9Q*R9A)Yu`3+AR?0`N-1aT2McaiTl$dxyT}6thdd>J;JGqh z1%1fpC9d-JlUp}z8OOCixGf93MoDJf)YL=kk`gUNDJ@TKU*%X0e{(S!p|nT&T^q!< z1^#Koy4z>-S|9Ndx^KG7JqeVZ$Gc7+@hWH^l1R7He&_Y)Q99uKx$SsBJDk$^>K|VX z?Nme`VjjK*^f+y%E-7_s`74^ykcUh0i;Ps;&!X%5R^JJg4zjk-dFS9}95hZLgJh#k zI+UVuz~9glq16%Tg|X?CwjK#p^3x+FU$Dvr5+lLZUek=FL&@>uFBg9;Cjz2vNehLe z&c>+{vii{EoO2!{==tUczxe0_Nw<81#~tRlx%ew;%}pZCA{gQXs|tl{-)Tq5Ev23| z!H`$Y>vg2%WXbcFq|jPv8d>n0K8D1$yps2N)8?VI@t_Z_;H~)^iR#bdxvctd$K+WI zwIdgo8m$|qW{N4;l$LGm>Yv6-R^{NSC?<=-sZvXeFdWLAl#ju#BW%6R7f~4p*iJ4w zd!fP6SQ{K%L!aYT3rQ`|<-kUN<3?1IBj4q5LH^+HM7sUus!?!cn#OV}>q2Vrhja#0 zF71ArrtD9ot=x7k4ZeP6!o!jId-i2-{~ z4;jcaW~s#!f?(Ygn<-bo43%yb$q=N}vgi$E$TZA$_=~Uj?GrwN93EX@1MGdTB_l}1 zfp&3A)VYJx<=PLwfwy&n>mC>TPI=X@+fjF(PVDW-^1TK}^h2%{8!5E)UD0ZTY7^VY z!yIV}Nkgw%IhM9gyA%}E_B&At{wiHjX?vdd{>D3ZmQVid-Q~@X{7w4vh?A&yIJv`z$hvVznY=Ijp5r2?G#$EsdcZ;L!iDk2%XN0DK0$iQS&STNX^RHN z)H;A6(hqB&$6w^yZ%Xj}9|r}gnr&D&I1!w7DMNhV&rfzP_{$j^5>3I^wf2pAS?Sz~ z8g2L0>&M)2`V14-H~C$D;c$7Cr+uGg9l1cfE}ak^Rw83|$U(|62bdpla?F!^m8zXx zsV3@Yxlm*Vjx8-JoN2b)ZqK@&l*XB5+Kcw8mN6dXwViAGd;Hf%xMHQGPq}jlyu8M1 zdY<*8I-H<$z>4W4H{LlGC~r4E=$_+NZpr9xu*ugnjzN-Yb>*hezIQooUX@EDZ4{fo zYKz;Lj$;PWfEMyMiCSg5{m zH+X@ABEN;{O+>jVBxYQ9#5?Q9hKG0IBTOMagfKpaG60A)n608%aW3}gTgz6WWj75N zRK!rPE<&_l6G?RfTyi3f&9x6S5E*zhyljoUKG_zXcv@Fl>#A>683ROJe51K-t0EF! zXl!4ihPd74TSWX0US3DV_E%5bFZkqaF3xhY%W^IPW9K3Jv-RRH`?tCX%*9_X0JEJl z&nuwOkylSil)fvx7kRyaZ1eKNnf1bNXlYz{^;C#$^jFPJoVp$&`f6l{NomTq;n`PT zS$^lY|Lf)V|HU6Huf6yx?a@!3`sK;rdYyGW`TNKxHIOfRHTMuFKNdtJ`#$}cevj>5 zOy5?Y;Vb{qA;6FD&#^8|pU&G?{PHxAQehQ8a1uz`HqAb_YA!_%Tuv;ASBcnCwl)+a zqfO5o_~ej3M~5eUS6^YD5|_)*KDT`QQ$M?W_6uKJ?q0dN+DLR8aM~Gr?L>JSN{uUv z`Xs}w+tVQ^!C5wOWTMyV0tmBDiDQU+t0hrUsj_X1{Zwn)5jR@RY(+38VQNg9Q>PYs z2`6riJ1%H5aa_@)Bx1Wx(3jO(4BJa3SGI!JzS?MC%lYWR`Q`HE15R==oA)XoeWX85 z>78EZ#4fPxMuR4XR;uk;rY>y8-5D2l75Vztv9>5T63}M*7Mzg{zihN*FvL-ROH~QJ zykStV7N1qn_vosxRK>?~MsyU5?z~pTjD_Ioc$3$}h5mRJ6nj=BSmN^%@hJTK#6*U_Cc;=~0yQxv)~G0Ijr$u<$s`a*nqw zgZ0u&Tma^KjCZ(MAblx477VV2D%0)M$@C=`faH_P2XiXvlRd44TCU>Q{P?-ailq(r zFWRt&ZgPQ(jp6d~pE+EPpFOVaDP#HxuYX>6^V8{V=8RnA&F4XA!y`_r`34}jpKP+Z zz1~h zT+b#!v*9=}aVyXJNkQ94k{0dMTi>0B|K@3JM9T>`;GLr9f}fHpj!NQ0yJMlb2q?2c zT9*)Zc~@?=Phqx<_{iA@*#|Vp^lzA?d~2XYlRjwGWopUwwtE`4mUqS^eyesS*{(t)dhHPEJDICuENf9`Tg#gFNy3?8$X5 z0^f$l=g)kROS>vaRj!CzHITsT!+$EQ-1GdZaB(A6)`|~z?-k`;h@U_I!>=Ar=g^K7@%$wrUo95kY+6O)Qv`PcC9h1o+@R8lmbMze zwpdKuMp(Fl2i;{}yrLm18DKZF{ z>zlMrWrK<^8+^D{%a^u4wh;7hk{DLEKGeTTD@}2JagFU_^;h+q+hIaq+fmipPHDwhqtZDoqF7Ix7hN<(TM z4y{G4SA?3@^bSN=({IDtY@*spA0kJ-%Ef4#>ayY!69r3Jht;xX+-uxW>{Nx~N{V7| zDh6v$MZYAF$vB~3RzE;k{n+fRw6-^G36Am(fc9%>iiS!dA~HG+&#GnpE@>&$?dJ?C zb>)>@3cZNT(93*rO1$B^-2*>7^>$^^w>pfrE#S1lvNEF<5eQ{^s2i?+SG!bH`{~p~ zfU+((yT;$hZs-G{4|RN_t)Y(m3NnS{@g@FrScVI&EEHkNGfq=iZ)Zn~`?{LL9{SiT zUfHmmWP4Xk(YlR8Gq47%3`IrxgTKc&fL-}f?~UIKk}{y4s@sJwC!oCw@WVaZQqke*LdagRh~HEwKjbBm*;Moz%T*z z?&ZGld(J%=Gj{dkrP$+;eo)bR(RO8gubsU#e$m@Y31Y*mkrUX+2A7Mt++BN~Tb>TM zJ2kI5YIS8z#^>btWV!LdJIjqbw=?yAyUXRRye+Gkgk=INeWVlhRxF_h;;z47I zTjz?C9SCXB6&a!r z)?MPD?)4WqvHSed@(NGL9zR2GaKQM884F}w$sqLmNY3E1c{uE7} z9o$-3_2HHc*S}6Er0wBtwBW?vAUZ}0QoLcUE^T6M147e?CgpfBsPmbX001BWNkl>%?*FDQ1czN?6=6+pew5#M-l1u*;inIUCBo zPN}!Qd#F-$*?x>Y2!Sep<3kpuoaG+Ja()|eb9v`W*d^1JO0Ny*;igwC_Z`N2YY+PV z8wXaL%GqxKD6$j5I%tJYjPpG+PH_2}zwmjCV_{%YnKk53;gr+l03l&3RnS3Q;NMQhrLeA(2tupZEnq*o*{TI)-( zjc*C06lXh@b_PQ7J)!KrJ+jD{r>`h%eFM>*G-=vW3eeEeYTbDq5f=L9Q-G*h(>9>` z<$@oBxlz@a%H<%E|JT|L}QU1|#*Ht2fLG8RojW>I)WYPq&OSR*@- zBE?q-L6s373N!u*NQyaa1#|qIyk)|RWa*@i4&zK%KXY+`6PA}R3q;*H0E08@kLyus zt@$9C7q9HJSouuF_D2>YJzPoUJekBnOy7LM|fKNJl`|C`Yzuz z_d=>dNm~rXi5(X4v2C_s*tKZ6*eq_^Qci?WzKX5ig*WSmb%%|-GRVa(=6xSrUzU%) z@??4CP2M))BXY`c_4aWt0P{oz7k9k~e98rldv|@(mruaZKA(ob$R!Or(tJ=0~WdSU*l9^>?TUR)o&AMQ; zN$fXDhPvxxlMA5Z3(eO$`rG1xY$0UZ?Mam!|AFQ=LcO8K{j$H>87Uk~H3-C%MPI1r zMUcUpEvYe3#yPTFJPiqd60rx^d#TbW3gZv0qb)BOd^!I&H*^*ct7X|x32P(@u#>r zaxuODnKVycRIS>gx8Y|2c0je^jc|@@3_I?vGgmU^Pq*$)d(yqBL-duVJVL2M4^Nu%fETB*ox@bL3p7vFaRu-A_;h*hOxmHlCwajP9+^{-eJQ_HnpDBm(F>SzC@nnksw zBq20rfYoT5D^7_=b9lDBtdxIMrnxdm*IPdLdA5V_vFk|oc;=Xk zg(tr5nHxM_^u~LRExF#t`BHR<^8x*mr!#e0Rj?d;?oTjEf|$%$`d9Vx7Dn1AuZue! zSv8KurEEL&-vRg&lE{wHj2Go7pOsVsneZ(5&!6?G$fP`8mR}I!X1P|fN)&eG83#@A zSVI>Jcb|(yT^@Niy((juygZ0#$_lJLs_&15w2_u3!)}aUfG12%bG^#8fORi7=FzuL z{D!Vq?a?^mRnQN4%i@jeet#P!$my-IAxXbAJdRV0Bay9Q*!p6klJ!MB>>sc$%BNU3 zX-UcD7%Xz#0A&#13rO{K^ic&?QZ3c6^7)wm6X~HH9LquNKVB%=vXzA;Sjs!jsWr$(w;f zsgMVw;UoRjq67nyV&vn@sw-G|MFIZKL#;+ms;c#*uj7O5Fylk|IuDAE(P$^swOH$l z5z&^U@<4hKoYzdl59zP_+;Me}IV$)5Fy>+%#qv$Wlp4!=3<(@OxoeA{QBGAGEi2V> zry8?Vf?=*KD9B8V72W3ho2c}`UDZP@nZjto(^(W)j3WGrN%B>`1uCE`^}~9|jnBfi zyjZheO1pQw&;!%~L8q-ne;20M4WAr;$Yhem$5A#J)P(mt=kEmYZhJU4CE zW(=?x{p4MVoaORqbrQX(!iq1+3v276!pO4aGL}%RSU!b``WjcEj6ugijOd7yio#VM zIVfvVqy$TEaD%Z*bsKhd`O2F1I%!k3k0mVr@TF|HiHh9m&hW;^eQZYOY)nKWZGu%U zYLS9dTrU4;&SjZ7<=RU0Q7Xy9Sx zCy%nRVLQgPA$Jf=VxBzU8^3p#lhbRiHfAS^dQCT=?bU@8(V8Yh&!_ zFFt8!{Xw(rBEhxXGL=_H4n{SkCbhzug4OyJNcLGgh3q%x4*985-?~x~`zRh9TwsU9 zcT?W|4ijBZI6ql#-tx{G`0nKR;kMEVVg((a;!N?mnD zXPJ7-%?`Xg*kd4tBQsG`JjYL*(0F|7?(*>Nx0X+T^51QJPzYsT6cZWc^?|2W*c0cFm5Dkd1sNw$wA6_( zJ~JA;U4d8FaaTXz?Yg!;@ykhhP8J0dT-%zBh<-*_M~beH{4G^Xx6MV%wSbcAhDJE* z6XTVxY}#{HSF&lWwa8}Q!3j4@{E}b&$%$MJJbcpk6K|d@FFs2gIO_0%?-O#akK`be zW6I?o6TN$xWI!hdCmgL@;-tX)+}ZdrH${|d)nqIsNaK;-RjRgZvU)RdN)CWp`Z(Id zmpXLer4Qbe+f0;28V&stFDJ2?yguYW_2uXM#<3^ss;v*{YtGw6&M{sm2+D?bG04B1 z@=qV)kA4(8y#1nlkg07JEvVn(Nl1(3%TC-1A#{t{jaL&Zb^VV*DV9p`8+MZ^VZjBn zmS5@(5#!|mMZx_ID7mVgf)XPVhS9>UH~kT;Q6yjME4Ka&#>S5g^}x#?@)a`sqv&%a zCX_ULrlg~`y06WlBa)_-WZ5mg91}F<_ss#=18+~1oN%z^1wvnm=Zz0*GvHU-HcZiy z;vl5~)f>zHa6I;hM{d1P1~Xoz4SR#C2)(7Vwg*yvtN>keuWJUx(Bn=ZF}XrGXCaZReoCSqWrU-wvxNq zRo@fhX)AA)_@!TZdHKIS^M5YC{PTZ@@ydSY!F~LEz>jy0*bd)N;05dWRDgS4*nVQH$f#=1|IJAckJ;2!nt{3J8WKuNXVOyz&yCQs7M*kJ)c} zBFLMlJn@j&Rxq%w7C-djPxtj|vFnC-VmZ9T5$$*_1ix*bUoBF$elA-!rEM{|;wYi! z(6+qvD74Qheu104JZFUcoRgmL9i#WzpWnNA zZu!{94wq+NIyT(A{+WFXH~l`j$u{{mPh@g&_bwNI@7+AV++qCRMCS_hZ}Ey~zw_%G zakyU0I#BCM#_QORuP);C@+=pCf9Lmpn^(ZT*u*eol4=B$@V*R-72pX6HtrdmmDDS8 zv8Th?cy_t#iEA2DeImMzt93Lr15_5{LfNx8y0!hOdeKYI7%Oc&vp4b>h`N{Qa*P9kR!W@R{3EXgVLKrEC ztpG9gCi<~c`)cWh=`zI_+A7Mo2(R*gVR??Z)gS$TU*eS{T!?!0ndO+rx}0x$e0;!0 z-F4XR^J1T`4|d+0m;$K=W1j4)I^z|WWm&(%SaKNcCY=Fq#x2RY*`GH@cFpgR7L zk89A$XWWZRtz>aDrf93JE*!Ze$3Fzy;wzoK@cZnAd%RVP@BAKe@%Q{);>gWw@bZmc zWP^&bX6^rc3Qa7M+o#~VtOB`?(Olb&BhF(hXWMi0?()s=Ugg5?)#d699=t%bZl3gf zSV6=d4kjkpuQd&0(1xe&ia$#6%!el6>I3%ei(DMyCNSkPzs8u`eoq?w@H-EeFYpTJ zd%P)RODOBRkS4(ll!W*bYT{>U`fSbhFFMWBm!ttK$m;hUZNw(mtTxq;eHp1prQb?- zY{`|PMAoq`+t>AjYnd@xuX>iQ5>_0yR8qxvpQd~f%8576ajxZc&b_?I>w+(^e>|Z- zy}_Xd7wQ;vd#T;p1_dQ}WuW>){ES=VijKTWT8*;hqV1~jst^^+T2|r+*-q7yqnl$2 z+as}MEh?sNw5hCJs!nXeQOHzIHJv(iw-ZecMzF+Pa)qT#SW%2F_1vILJ}hyxSH7rOe;Sjnd@h=HTfBh(gbVtvcj8~-^XJd7 zZM}N!(Q@5SN#woBZC3%(#5ta|Z8_8a@~vd0b&C=^%i3b76;2e_aMND>C|wq{C>y zFx2Hg@EOlgYx@_P?LA4gk# z+8DFifiEreD2rqoq%F5J`buQ(@Dxq@=tj2j4N}3Ey^^bC*)BVU-!?lt_?3VBk3TaT zy8@@dFm-kR%Qm@#5rfExVPjnl>R`|V5S;12$cqehx2MWEiS*Fm0tX&`P{km0D~{wl=@2Q&W~oZ{N|gRsF*`n9`3&g9ESOvcJ2*O7uD|}G(hIs#6Th}4JW1_@?R$q; z@;ra-Ys;1EZ!cf|+F$X+@73kh?=d6j>nN0W88ZwdCo^*aICe`Q@)qrnnmp9lC=v*? zH+NklBvwsA_Wh6QEYle+DfUI!>_RwO|%;w`jnfZbjuE>O~!5(MOYQ=8`cq4 zA{?6e(%R)OK%9UU($B!p4{>C(T5zY9Pw(h8{E}+ zhxlX|>%LCe26NJw9uJcb5vesCNT#f!{Nxk{STNG4YQevZe`M92UrCPeXbdorw9yMg zp6IxInK8g*z$g44F_FsC-`aE?N3~9EG!}JH;)M1rOas~n1yrvC$%@1HxvI8~z89Dr zl6quCx7>U(Sozg>+w`j5%4Xw_B3AvAwu@tMrw(uIMSk>KTZH^Vukv2L>{V|BxAn&_ z{oW?d>Q|p_m@yO|23H*=3)`B>zNvD_ty0D9cDOAwl^Zpd1BQ6@$;OYr!z5Q{d?@?s z@I%*eZwH+C6flCh%aRpDx%^^KpDGPbYUNDyq+6Y~$XBakS6I>M#U4jHt-Sg<+G#gH zVxPf^QsHVRwhE{$5Yw^|#k8dut)l{I{8&{3w9zAjc8lA<((9!@P1{$joo}I`vmO{V zlJs00vtjL>(0LM=jnbn$`CG4hPB|BT`}NOW6lPto?*emzh5pKGpuNCK`4Km?)Wu(T ztnY67>Mmr;+Q5)B_aU(H$T7I(x??LR-ZoV)=i+dh*8|cU!hi8^|HATr|GR&){M5%j zoo&#g(|ha1Ur+wzqOU&U44bF;Q1$>FyA~3sS`ch#EpD0@icleetpLauc?@=a0C(_XIgIsK)taj@1Ei}^{XTub@_|D-3U?D{r0 zEJhC6vlot*pZ?@a%UA#3Kj8%D-CCbz@=G6JJo&(qi&+6HYY6~Y(P%wmqNE7)RA=_tD?kj#HNiWLUAG~UrfyjR_13eX2f;02pvyn)O@FC3D$=bdv)F02 zzoV0!7*wuMm&H}P0SZrkV`8X|n~4=4nesKbmtW>phPutV}|`pJ~w#LD#%uJ9&-0|1+gWd_^Wnl*Ugjy;cbHdml7 zwXfq)(^@Ar%3GB-Iat##9ZQA8F4d|u!C`y%_POQdOOKW}-s07V?B^eHAn@=8Kb~Ye z<#(48xF7HoDJU2lM(o%+~AGJRm1*1pg-%tsuDe2VXA z|JLvSE_UVua61>@#>2_SVFCEhxXtA!`r0ie&O2~ug!@l#By!H)JFUb3E(ux{EUo3t zMP!ATgz z#zqj})wb4_ZmE24S@rpu%HI@R-yK1AAj*%%PVg!%kvjK7vfnSbr`#hFXif@Fvo}7@atf9|Iz#JFK@m6b9`6w`D&vRYb_v9URFi@!mu8RV7ucv=jSjy z_;i%0#N2PRaWnI~D8XBA5VPFZ3eJUL%e`H+Y+(U#iX;hAmIV7 ztwYAG^C8>n?R#z?d;rY%B|i4XYUG^b@tha0>c=PQIiA*M{`90~E5@V7we~~TKBf4J zsN+nV+8?^PNt!y2zr-Ne#ju`nsR*fb1hnQt+e6*x+4n0iuM7-o@`TEEtSaSO?T0Ow z|H&g)>y2++@Z#@zwu>{K3Im`v6?fE+o?8iB(AP>uw_Nr!e(}l}d0yj`4LUEw;vpq& zvSP>OIfFzzK8bcV4RrZje%P>zTQyMLcu;w~Y9C8R)bhOx4P2Tfzgiam!>+9D)W-a( zBxc27Rcm}P%O_=ab^_pHqirR%OdBQJ^wf*vQr}l>2~XoUH&O#-zNU#|`7UC$yT+7cEEJfqBdY-shH^dDZjr!}od37k4&3 zxw#xM!S#i?=iCc;6|JB4WhP#h>1~~ko#1vk_R4x19$u-8PqyE(xv4Y}%o-zo7?CO& zXfpu3o3;?pNy&{gvfR4lH};N>c{LH$Iw=8q>mKo);M4mzmK)dJ;ZolP2U&=zQ`7?F>hNNv9Lw#dAeRgEkJOxIPvc9RtA}7X&X9K!ye4^1L zHT21ERDI<~cb2PHt}U;>#(~N)J8`}ZbKuE4LBYt4TkPR|!ugQ8yCv6^Oe|spF=Uww z(BJZlXFR8FmuE+=pZ<{52l;aso^7n1Z?z|PJL-lCN?QPP;_4_0mP`HMUtIb6EdL?& zM^wBE%9AYmls={Zov1siAMq5{BksaWgrqw*sPm?(yyoo|uW|c;*Sy{3K=&Red3b|p zY{V_Kv`tdqvIl4S5rXL>m<&`c<|40CClnBZv>Ej%({KdlMmjx z>2df)?ruCn_XA?~h{=fkS?e6~B$wTdU4v3A`h$Wtx?b`XQyGbE3kP#2IQ6WjrRZ{? z*FyDG$5nm*v71=4Lfn6Hw7mHmPXY7ImWRH^(kGeHHgx!3w;Ju^Ok!h;&ciIRJ&BH2*`_` zg|jKDEY|UUR})iPuwuN-B!9fK`Wtq&e7^Lli~i{Dz|8c0GRNSa_lD}$A)+N7an3>0m} z56|r^^zn;)){*jkvk~oHOq-O6jp$nu!2c}tU`w*2P^9<^O;s_%PG$HTZ-r~v!LQ~C zqTOPOJ21uXbt(o*EG9MU&uxM!m7Q);vyB&jUIXouvfjwyCmsBzuTKF#pi_L6vUI=I z?8V=FCpdXs_=vqf89 zyEwQQ$c1V5Um7=co^1ue?p}-|`s22&JTr5AS1tQ-1xOk5ovUb{RUh`+PhCCto|zXQ z8&!xL?{Y$*P7EC4i*?sw?dsu-1>@+yyPAxdDP`*FN*-2Q3|(Kc{iTq>lMgSvc(`0-9>EKBvW;Xn+UMn+M{Hww!?uJ~f#w&==IR#rl1(HOR}Or0lXCIj zO4G9mpaxZvnc(#p^2%mv7%X z&u>}2&oRRHx$t|Pb>M*qAmdMp%$p4cDVZ_RH)0@F-;ST-70|!`-*ckaS3p-kDqpE| zOIpglPB~Ruz)W2*SBl-wZDqnC*`0`@ED{Hc0MrGtj!iJeM)4z-Nn)wnr<#ayO;TF7 zl}$e5W>;!GS8Z&$F8CXJ)EZBc+YIf<)vf9ueb-1Od9~idjo@%pY(g?Ejbdpjnf)r& z*pf^tJ5@=$id^ST;z;olZ~d2sQ&ktBf#O294$|8GB;Nb0hJ&>TlOR_7d)=a$lm=6Jx?BxBJroxTIlJoUJS zKD711FOG_C8zz_M#SO)0m62z;AZRPDWIU@^fuuwtMhC>^{2|}?J?5c^<2!us_r`MR zJP$;0Ud*R~4~!!^(>lw!W@`Jy3XUGsR>NgJ^mZlU6NJvk-}2REQ|Qkc`_v^pg}bd6 z(aa)Z7+HDEatxL^H`X;qGVa`XvlBxjIakA~5y%vl@!0&ZeV%dhyy-LEXwNa@n-`ue zFQE1UeRP2da*in-U?gv%(-+T?)jDVFizj}3BC97e^&(VcTmva1nsdSA(aNIySG_wD zfYgxLFvjk@=_dd-fRuf?dH-r#Ev^O{AKB?IV=#WJBzBNWJU}Tb#~)c_s$8-`ZMv;l zG1>>m-|7%W@wBh@;6M^MnX(h3l?G>AlB=E=(!6k|s%3S@UU|oQ3t@Eq%t3B~K*w!} zGUvJR!E=$vd?w9fnM3=VPpjEe?_E9R7`1>4Pg`Xyxh#z)Ljs=hTzPA~{BwJx@A~AE zrVdl##E`C3Z8xRKE6nsOa>`1pEjVQ`I7OO%SKedib6(8$d%zqls^=JR%kA;rIkrjc zn(z@`ZH^Pi98V)7ZoV5lWJQmU9Bv|BxSoETDOg| zf0ar@owOC=P$CkH(u+4RC)WB$IBUI*exYvrT_TKrAkdqO@V*(9kfmOqwJJ|ad&Aeh zW3B*7W|rx594K4kUms&}a=`k)s_S7UBPpYnAccQ4r)oR!H;^Q5m^esI*w{~4#TWF6eHIeE7# zymp`R#7wER+=cOZCLCL^w98K&v(}ZLjVX$jg>l03*fS9{_K+um550v-&&ow)*txS; z{qYaJN%;|NWy8yR7OwLu=vp}xZ}JQC_1sI zogj40^)C|+aGkgswK*ZIOeV3?5cYVac1sY{M!x2}MNOHu*vCooDa?VEbemApjRXNP zgvvkVO}^Us92ax_J4e4AFiE!$pU|&9+3Bl_^Q~WKUWk6;U2*I^Iqv1Ietvx4_d2&y zxpQ@=>eDM3$vP1K%pI4NXU(Cg{ndZU`?S)Lvz%_TY;a6X5V9%BQ)Xd5+g5EVYMMOb zxJU|wvB#*5I4mY^7nqE`^gOR1dXAG@9JD>ltB<*Zu`1C<@M7T=@(^l{jHdtEe}mArKe8*5$tmC zn$}n)PoEW#^14AC|m^sx|kLg@wUS_evW zDT=@0kuNQoM z>dXtk_Dx==Ox+8tc>o{N>`cC-v%yW^be^Uuxe|2faDP z(}8l|JpHV_+CP+M#%%ACU1v|M+Y82U2rO&`&-!FPSTtBDXeMK*?YVECCx_ksXD%QO zTiNd;uN~)7ehAtz>M^$WA4B>FT>Ws+jaw z@Ln^dG-lBw18zB0_Jngi3rb_}Oq9N;iDPkMbBqcq*`LtXdzoUq+fjp4{)n?vJ*ze_ zB^sB5hfZz+W5RIC1--XE>NsM)be|T`Hct-c+&sv6dOk5}_l)V-N5@b!dV6nxt59kD6D!Vd`2Ih^>w`(Lpr5>`_f{(-vEEI zZRAIP6Ah)|vVLvtt@h3QQ9mk1_+$gDkRrbZ)_O^rl^+>xN|r5in8Oc-c&d@42fFJa zNY7u1WnEUVt#N~89hY{0t$JfXo0O+&zVF)@k=^?G z(Xz>?_@~!}Q~Z>{slF=(m(tyo++hxQk2@jXc=LQtaNd09Ay3tvTi$+WS-$?`C(GCP zR`8Fx_D#bOGZxw)D zM-~v|%+?8sJbpNz*T)*8P@pwyATe!2dmC8zifH3(9%3($Lq{`-9n}>!fKe~ml_6~~ zqZlE@(1gTb7=8?ek7&sOlO{RdrQ&b<=GVVh3R>mQdn^M1k0}1G11E4@5#J;#-6O zAtAnCKplaE_=os}C2$A^;lwua&~~?{cDH+|;nZ->sWZR)e%H0`{XFlfj#%%zpS9LK zT=%{1wf5d?&naa8EnfL#c-*Sb3|! zaXW8Z;`sKZTj$6*Uesd`oIpm3pVdm?gOC4*4QgaN9;F}fUwrZP?ZcCY+pquH*SF8V z`gnWevlsc^<96+wZ{pe?`0B(1`#$w}pA*k#+yU%sqP@{Neq+b?y=8`=f4ZU{6uqp) znUn3#M;~sly!6KQ6827fL@EMg%U9Qpj%PT6lKQ(!w%0qgIRdo-u1U|h^T>-}={r`e z-ur;@bb6hTm)Fgrsg_jR@1^7Bz(RAekHSw``7T#^rDpR;Tu#oPa^d$O#|00#_{$sd z&hGO)*ZX;$wojSsiajP+V?~aymPN9W*=Ix~6d3qyd#Ktbk5y?z=0KO6u=v(@KG=Ty z_uk$9?A!Mk8=Tb;!vzewsrDf3HsHux=vQhP69GUVsoO_wrys;YvttJV?Z_i27hLH$ zVY|*JrSbRL_Qzj)vi#VreExO& z0&l+f66acc)pK463oLI44utE=DKT>%?%djGl3SS!UFwcG{T;vBgV6Z1F`bW7CgmcS zilm84FBXTy&+yuh$^^TGu+u(pgO7ML%#q3B4=L-pv9Y3m!BF16FbWFmo(QGg5BSct3NZr3RSGN8Iv+O0Mgxy@91yE+%(&JtT z{wvsG*Q-?B`qT?A0DF-)+YSJ1%_GLoHO`G)qu*V4UFP;OH%fW{fk1x0?%3}EyRJN+ zW^77N*}l*&Khxd>CbWhq+dUQNdpElr9_4A@wx_gOqMU{dW{jj=88-ZAq4Chj1vfHiL!88#0qc#r-pt|~fV|)3zMNs-ei09EuCXy4WxgKRpR;wOeYojcHT$MiN$JBa;@`kkxqd%rB=s3%_=k zH%B%`z5c*QPpHPUf_ai@W&G zXAALpa^hH9!z$L)4sBa>vm=oyCO0_Gr9F1gXInJ6I+hd9JswagpZ?8X{>88MU|@Cr zbHIjOLG>I04&z?f>A;DTv7i+?jjS6Ub_8zFI1ISBWKzo$zBiw~&vz>L#_#2aT=csS zk5}5TS@-1J$$s$Z-XQE!a^f-07Hg@C3*~P8x(Y+7&e#1Mt0PF+KcRprvPV0?n zc7$L|`?TD_FRgYvaILUlf0FdXNb(U~eyaQoIsQ;EspXg;&ounOonJ6_)shV?Lqmcz$Z`#2jm9e0S)K1I0Ww1L3f8`L1a^V|EGoKcGX9By{CK$N zI<|yt#d5Vw^;YSSQ?k?1scbnZ%i4{WJ_t)?$1T0SG{%ACz=Cy{1CSS(xV^+}r!TwQ zA~y7?ck24Bk6`)84jwSK$X$zhvWy0L(CGxOlQ^)@i%Tlm0p_GrE+%^+`7Yl_d%#6g z`z;=i+sI7p&2;uj&dT6_Y}Xz8E1avJxa}j34i) z_Cm{NZ*yUR@0>i!&E;N%As&nmfz-1vCbk(D5T#i*Wn-O^8q(Hp*h+yT&~vHS3L)b- zpy;}1YT1J2K@CgsJ!PCIv}35Sd_u3=o{EbT=F;v2e-Nst#35PJSgBE$N%hDDDe*Uj zsf-%3YTJV9w=IfAq|j+&CFLC9?flZiOR;^EHW6I+DdJB(a?9bauTYfZZ(LI$eYfOb z1*5txH)d_Eu6SY4J7ImDmrrFp%wzK%r|OyFa(--M`!?8RU-=C__Upn@65~)@i1k`} zbs(=nwXaiytZrQnrEOTu!CeNdhP3F)3fluJSDY6FWJ|=t@C;1^E03R zWn<$7VEwXfUI_L{U{5%?{qaU6PqwZ zmESjfDA&HsC8$1at)T;s9DpA5wC}Bghs<$kRF1FG!&qS8E_2aIdjl&13Fazw{6exW zma!hp(00j#j-=o#xO9WL>Y)vfT>FiAg=J;2YGEZy#w?^owq4pfNLewWLo`mVg-ruD z7~(hP@i=@jQ5GA7ajT?{g!= zD_qp!n%MTi*Pd?w;`g6!U*nagf8ohnPLMif&XyOr+#Caz`5AWlx<6t|TzqAsU1Qla zzM0>C<6`@d|KZPZ%=so9N53+&P)r#^S7_2r$Px66jI~~5;NrYn&ps8Vu5Cq*Y~Nog zzZ&gW7i-ontK}(wC|Bw*4pomTjOIsvFMKIUtKd9nABRT(>0dyM=V9E{c2wgl{5Y!* z2ruLHA4TIEx#`no6q@qdknN&s+9+>`3(zW}+24;0l*O%o)t9XvQPpZZbX@ng}H zi5+l0_vYK%*T42B+qb^{&F!r(pKmX`z^AdUd68DX738uH$JOUxJ>@R)`@Y^6AV-`@ zoTu=6X2ACLDY(2Qm-)jv-xGe!Fn|A@zu4aT++W_#Z>(2AN4q|Xfns#i&!CkyLi*13 z!z&D&h-u&Q%e*Sbt2W5V8oBY2);1Q$k&wDPAT7JUvh4L3$KWhl%$OvPo;kiLtD>hH zPER?raQ=|*8{gxJP9BUn{fPV_bEU`3fm{zGoe0{mQRQdOrG$jtda$_a$iS~0i?dEY zb6!aODK|KN|J{$bfAI(JZD0T9$2tD+!n{3@Z88O1Ouc=+uo6?s=8@G_%a+EZX1k6W zCu_RW`B=tchATwJdGu30&sLP#j}+u;+{1ccgAk%w}7&l$A4* z#?A9;K7sA|kT0?P8#lJ?b9_VfCH4d7_8+>OX4rfHlzWJBlZ7D-ByDpa0=s(y_%?SM z;|x3H(2U0P(aLQr3fUhbqkDS_5N!QdFAPg2e*0g#IQ&g3r1?LUk`7Y-h zxdAT6LTkg&F|LuALbrwH8T|)ZMS@??-CSsoF{BR;)qx8BV0Eko4N`_Sb{x}{pzYSd z@&fRQn}4F=Q_R<>pRDJNs7R#Bx||b9EFV$4=xeI$6WM%NL+oprRT0QpGIWHNkTLR zi(dOeVp!|h8ZV#1TsGy^w`G6n9~>P*l^5h8epQQ5k!rIs(0G^VQ9cr{|Ij8r$(3J1 zZQt?`TA}o#OGGE2n&B_1tE^Mi*&&y1IR313Kh%96EA!E#C%3=!8j(_kUjJ$=>VFnAkqKL+(XipZNWR4csGS zJw3Um$65J2IM8^T7<*z$N*WvGNV1eh8;lC=ziFT{1r5DY`t3q3O4Yn_0z{rZ@h^8E z#PSa5Y@mZ!flTx$`aR$?Ze#R9@TuGlb)y*2Xl z?K;IxQf-$xg|>0+Y1-Z}WL{~X-bN=JepdU^?qNut22oC0^|qDYIMBX{A4_+hEb2iK z-)-fI*Y{}07e9Z-MZz;~tVPG;Do@l<%!HP9pA#_O@H9^gdBLCkfBYC%96S2kiHDx3 zzg!{jK_cywRnfKsEHQH8mx6qKwvCSKFv)r?PGuH&rx?13Fc<3V1N!V5?=3mu;;$f2 z;P)af*wi1gIAYzAa?XAGhzq_S@oir({@&xlrFT`ybHuvT4q1Y!$@Yz$NtSVSr30rW ze_Kj>R(Yh4^TDolf79^l1JN;4tihbPG*+TTkYD~>hY9`-CYrDDWb5l(;P)wAKG%~I z_Z*iHE8);u$dYPlqT0TUVS}f^5|gQA>!%MahqlHouv8=ph+hAG$Eo<}8k17Seh5Xw7h#%2f9KFCrNKtE~<^QTp zHS3A2y0ErYkuA#jq>~FG_EkvF)Ex~hGtJeDgw^OC^V`lShy(EA79+o<*Zmb2=!K*1 zAC+htK+EIc@>LIxQ|urY@c_X!Us$`WST!8d__ss@;5Mx-jQTETVcdvM)>(&kUqu$5 z#S3(zoOyRIvwy#T?M28uX%S;>f%f-)5KkkdVzxfCVJ0pWyP`Xa#aseEAgey8{%a^{ z<;R)6t$=nLQeWfT^SIF)tOM>bymlwvZL=;^M>BP(z^yNuocLl+Y@?%ZmK(=ClLo`> zRxSn;b1wuRU+DFY*gV|}Jr{%*KNo-5z&~RjpS{p0`cSGKp_{2_2SN%{B_o>YFsMPM%e;;cUU1gm(t z_)Pn~yWV}*GfpfuR<+*#(jTqx2RXj&T~oQ~2mPJ#?iM0+WR0_nG%wT|a`)TH&XV1E zSUsWONhx{lo*8BImOFXqvgG@mk7ZN5vBGjeFszH4^@v=QidIIRvN>-kK)AM)WXIBA zN2yb@bADcW`Q`1`{>5)@cfS2zpHAUd&Hw-)07*naRLl>IzO1pW-b&ipZ8fN|B{gPu z?vgSfi!&I@y@kI3ZC^bsg7wfwtL(J2&|xG7Xhc-HYW%geZG(c!jok=QoBpleO6>qG zO1a{L$O4V7@@QX?5of6jOlnr$*+vLc`-_g8C#N6s>4eX|er-IKGWy{KlOOYDyH237 zq1>2?h%xkx4{6s)P1!{uvut1Pv|Wb6^h3l~pQxjJP_?nJVy9Fk($>i8*T|PYZ4#pT zm7nd#=ypGLj9=%*-+evTw(T$gDaV7=rtuq`w1<9LzE}3(lgA3(Ot^hu8$;#xE4&Jt z>(Vsuve*gQ=wmXk{9HBM!9R`jB@lL6bb%B^NLdMcfNo=oNUEfsn*S>JM{p>&Z zc`g{d4vJ@5-O5fvC~5McPcGfQu^%XA;;LuvnB4QsWjTr_SoUMKzpI{@hdEIONC=a% z{HulxG)nF%2vBQSaJ}?)(AUBlOnvzixyeRsq)hkzr+Fq5l=t{ zsk)L5<2ah>yD>6Y6~e-fA?~uDpit3{hDfqp#!cq}>2qWTV|iN1MVH4vI7V*aEL!Re z5@lwc?7q=sS8i0LuW#MD$q9PLi{~>cd$0!?&AAvHS2af3WmW@fBMhF-zp>qZ^Tzh8 zzxvO%&pi2%?*ZTJ>!y`;pfgu-Y~}n2k9|G8&$gbshKuPjIb+WC0NbAEKVzegXSt~5 zWunuky)pX%A1(CrDQ|rCU*&uYN2BAv4z9GkZG4vR$|YsrZ0s24&I^cvsZ^0>I(e3%An=T${ zy<|K-xbtlLzj*@qDX)R{{D8+q@lSc%h-iLN06~82m6s@oSFsV->8hwBm81ifm%i0K z*~k!<9*l{Fu~Dt^?vGe!B|5J15moBu!6-d(p`JWOTF!Y#=*EY)rswlopSym!{dI0| z`q3BoycQRKpKzS$__@Kv)(dJE^w~|WlI7yLo-EVOf&A1~nuCqz<8|pf52ZbB5S2MA^4yancyz@!C9MAt)}1H&S#xRF5j``+@4SCdaQcF#q4wLU^rv( zoT2b8ZtwD1dJmi#$ok@VHZGD}+!pjz(3EL^c*^Mej?TV)D7M*YWc035?f3=LaYSt2a-Iy}D z7OeX-bjQ7woD*QjUrI(kV{Vr`^11#5PlIVw zEd!S{OqbYKiYM$YvKJ~RUbkmGrl>DR zLeXvgc)KTMbk#BKb}b()h8O-ZZM7MtAIJ~YARO@{xWqdyR>cg_@WV@SKZmV0R=gX@Cbc#Nj2(4(eBz-w?w`?>1Uvvb2;rZ z&-jkXQa^oOGX@U+3V;%Vhdj zq;n3AKK$VO+Xwgf_!BsvaCg_ek9m5B9hs9m0gZ)eRa2Ii3j;M+etv7eiuo-SgRxnt zVaHbm0B zuI$`QO0eZ?r%t@nm`U^ljy@iqoO8g(tEjlk_#u1bTo7hQ`IPcA8jvSj)r0oXCw}ig z&E0noA8W(8qyT=J1uMl)hTJt-nQ3XJ>NdVcRQ{#%ei2&U-Q~2VsVXN_&RWb z^(+%GJC(}HG64}kfB52f$whJm^dX}_2o~>py@7Ea#@Zfu5m*$2(!N-z^EoN8x2tVk z9I~mKv*;K<5vQsj`Io?wx{_4OFkeZcPLg-MM7n~hC*JZ9SIip*UgzZXi##Fi2?I~G z@mg7|LP%``9NVbQa4c9aVb{^oU8p`xb&0~Z z_mp~0S6WG<()cdgFx#H-r_4{c6;%&@z+55LWa$ONzc1V#fZwb=G|+{oxUqLf~HvcOl-`kfr_?tR2j zo)h$}55cLVSZxDVj%+A$uo#7EEtz_~bQR2aQ>0o0br^5LJN_z?K6Itbe{~MpJ4|%+ zIzArDj>^zhJ#iFhQXEk`fKR%#*){kdtLER;Sfp@d|KgicE2UGJ)H zzevwIS3!_OF*a}(Mofm^A9q7I6I_bh_t9B^(zLTL(92>g zYHUWFw&&@C1PeSA-v{uzRGQT+tjj*qx$Oe zaV4s&Vl1W))E$``>2G6#ITRxkPinq8GRp6T3d??Dw=H>zljFB;@ha%|cxw#%&e`6H z9!wggPgmPxHPq0@uho?BK+4OFIhv zpfsak__bwwvxd2^@DAR!$La+oc*|&G*Wc`84P19_$S5~9J5D6*Bz>~7Oy{Cn;#D2n zY!ZDJlSU<+@ZplXA8E{CU*R8Q6SKt=ubzm#>@2((T{e}o4yoFLRAmJ;^HOaMf3m&$mN#nL z$ZL$f;o1|@;__i74m5q!7Ej=^j(FernS92sawpDI zKk>u)ouUr=ncI26CUXvGYL`dF#*&nCBkO8(={c~AC)@e;hrAB;(gl%C$-JrUx9l8IJ+V%G|0^<=5P7rz_U-q0 z{WEV%@WK|S0-_$-I9IUzs^e1d!*8&49eXevt0^~Exb#(6Afc%r$1VI|eA&5)*L8}k zIC+AXJQp>&>GH%IFPD+t&~UIf@k<^%tO^_hevxw@Kl=9N_P1_7+ur6}+LvDCBH&HN z1FyyArGoJnb9`Hy8#p+RG8d18u-nDE20a(eXh`1x6esY7b~}K{lPIQ?23vs-!)3~m z8*v$yk&DWr@9P_^=pHG#M(!OzQ9Z|os+o^3o7P?Y4W4rOt9+UDPbt^6$S*9%Qd51i zx+E&+{ubxbgg9@xN^Wm*ZgtUvQvhVph%E^IXD}@s1k>Kg`XiFLDy{|LT1!ceZX{oF z2?%9PXR%BlWhoQZ0DTh=lB%c$GlDCedZUQw@lKLBT&iTbT-1m4g`%#{1PI4vmF?Xso-)qV_-nJpmQXI}1*9uccB#YIQp_!C% z+ngH*QjfSQO$dLgoW2&NDSYgjEGI_hkR)f^#;RNh3ovbhB5A3&Y3#*+_Onq|{$ z^H(*rmMb&94nx##yE{I`&i+_|C?4!YCv<3g|Id7@v@S+YxWME6{so){swjrx?Gx+3oA zLdt=9DAcpl#!?PC*|>U;aDM%Ic8bcFyzBMy^3nDoPXS-!qqn~L^DZX_oanlP%Rz$n zvea+eqyKKO;h=BLJlSHl92!C+6NShstoBMr#q{H_$unrI12zZPmIu?k+XdQ4*>CrH z^!DKH6Hca{Y_GlHg>Oa!C-D4!NftzMY682SEH+k#(`NeWW#$Hu0=%jSIe5y`+v~+hcrqg8xr_^%8sNCp6Xx zi?8+NygPTz(r0|**Nc=KCt`O^M1ZcV9nE#ovfgQ(zmeJ9*B>fTlxSUoveii}j$|?( zk@$fL9s6g6tUGoD2fjIAbt$GTdokZB)j1vU0vCR7bI0jtU-rVUccOFf;cIBrVQ~@` z>DVcj`o`Z$y*Y*z-IugPf||oeKV>F&`en0E7)-ecOn#TAtGys*Eb1tE3g!o$ROSbk z@z$PZ%>B$j=vvno+8 z?D~}=yh@{&e9?A|g{6=NqJ>zcQ8vi{2t5H$0`|% zv=sqmqQBIPK=snPL&L&Hk39OR_rPYUs##YLgeg^;VAccMst-1O4vxguc4ho^pL>Hl z-@P%#r+~fY(HPYKcsN1BLN!yMe28_7`=deS&8_Cws(wc!`=~%tb-$*KW4WaQZKwjm-!;Zj%fOjQL18jLTf(?ZL`sDz4jxC?X&^;xIvtgt8D|w_w_0D%EcK3 zm7T?Xvr`XWm25dr0JCB9e3`FymNplKz2F;pbC$j~nwvc+i;$v7Tr(!j9s;3V0maWGs> zA9U1>=#iMT4Trkz`=|9q_C{#{j1%PSwahVWa~xk z_P22jpw8(x`R<=}4F+f0G=9g6W3cG?6uaM~dV_}A>fsg1TzVf#W!*WU1#ZvE8`LdqZ*OghVpMQ)S*49RPpBshZA+*dqgh`&g4T#%L}ewN@Y*=`eXx+@uZSq;%uU$i#!k(`v&rZHm? zj{lS`ByNkAZ$m3faI(!&-a08h`g=?(vHZAD8zB(feLJR+s75GQ!L&LCLf}W)PtCcCay~~eo2jP`y!&&0gmkY-64(&9@F~vke4_| zah?lU=!~udEC!bKDxqa=={$Tswx4*r8?u)nB&vIdx z@v6GV+8zm=obmLl7X?^99(mFq5RcJaXL2zZ^Sa{DaUDqCf|0nnUh&=dckX;=`~2ts z3Kz+4;Xn8*9`SMc9f#wyKnLd=B?!!+yy?N4ggigxlA+IB(0Q8n*fmAb{gB%pb^F#f z`D<0Cdvu$=jxKG3cY?>*SQ_Ko+q-~65Tws${zl(|tp$rUsZ#o(uT z;PR9DGGGgUi%%nwHYpSzmOi%i+dt(|YpxP>eYOoTDG#!d_dGtct z`(%5UwH47ok$R9Z66|d4&-8B!&jz=!?GN>7( zokslgtB{z9&!I^0yn!;`QgtXT?D0vvhnw~5MdMo^=(;^+dy0tTFTJ&}c7dqFnE@yR zncZf!Dvqo^2w$uGE}Hn#ZQjiNDMlNW$eX+0&u9n{LS*W&q$KiC$o1KgmiYn#%4FoF zfE0d5kCm!AH=S+HDeDQL7@ujovebyDH|vb%2teuquliMQ1r1qS&Fb(5(^_*Lld`DSDSZ?rPEj( z%dhgWAmu%_&(W=>HLD-04GrRy4es+XP%H6Touh1{qW1?Ml!@-n*P=9j$3PXM*VZq6 z1@z;{M(v8wKd}pTB&W^j)rRWhlh&J-aWm~7r)Af%(uDSu_q?2{8VlE^Cbin`BcJeK z{Wp(|#&GP%$0+{*{be`p6@Le7x$RrAi2c$>zMlE3fkxSy{!f#vx3U7Vvb22-h?G@W zO07q;KDC(kM+Uu$>tSt=?t+hoIJL6?p3A~}j&^l!a%fYrOQpZX7f`Kynz*_8^JMM#~QlrR}IIcg>_?wGjn%LMk~*?nG5 z^3iskZ~R_x_viWc5tG?_?8v;l#zddJmpg^N)`pF|GweXw5qjt58dzbtNqg<5`o-l9i%Z%7!TY#z`11_N#1_rWP9Z`+RTC7b#~?# zVEC;|-!zr;8f=ez4Rj|JU{Dq(b{2a2YZ;o2UD`sB;|@RBiR**A^0G(~O7oi=#8&`9=2$em-V#!hOa`NA(|J=mAgp-ebATBEBK3q?Z(SxO=v2t3xcIhtR?xsi#BsV}LtVORllC|*LU}Xx#B1Lt zcF343qene3aQ)?VEZkCfi>G|wc;Re&iOJ2y6Dc8TQK+%$mIoF5Q&0=2MD02YF9RW`mXRp7;tD1Nc-goz0GJ$=<7|M3d zO`c`Yvb_kx9){&mOvO%Hbr=`NKGX{-l=LCmEe8>reN^WPoiVm-N>NA6j$lQlRHwF; zA_+?-tuiGHeCdmSBs{SaVo$NrTKEE!LiPvH(bNBKW0u`9s65NT9}!4#tAN2kV6e=y zC?w8G(#C&D@ne|CPIRifGen8rY@cdX7s^rIqS)zceOWxscYnc#hKhIezQ6|YA!p^B zuxH(r#h++72`ru%yT8^Cu?ju7YOI9pQEjMceok&9uRx_7FS|$!+FYsaX?@6h9+0cD z!yA3A9Irn^7dO~8E@|pi;#>2uW}`o%5-F$3kL^esmhtgu+U0o4f?7|KaZt&ICnxk+ zH*+zSjhq*HQ(nC6Q=og%*K#fbk34og(U<8A{;8|ITr{ST{W^7N@l{!h6Y~|(_?5B5 zPEy&IU%$QmH~;xBZGY>p|2?+Rd|KfV7k;?|$=5zV@!~Iz_{1dUdceoNjJ1WO2fm)1 ze2P=?1A7|PPxqCz*|8~j8#lT(zboZ+)46+KyyJI19U zU|lSqbVIy4=w4@sl21V(;{{sFdOqL$6<_ZXCtc7d^xbx9+>>p-X~hJEgd{kY_4OjW zwlz_Kof9v}h^c)1;)Ja0-itS1-2VKdKidBIpZ(D~$si7P5Ef6Jj!|`M@lcl*^O2Do z`Fa!H$VPKO;k2%Zz85#zHHiJ`Be({|G-8u4*=02Bu@~p7RaF~9QpHrcBiw~`@a14G ztg5Zw>Wv%PD&9fz_~3I_wf%~$hSa5{L*`A9z6SC3tGrEy`a=eIZfx-0QR)rf*zOpa zm`NSqMKqO0P9gDR?2NX2$5rbNt!mqjme!a$k`X67@^lG?uC#lvS1w2~Fql@lji3 zS>iL}RaV+JdD--kC;$K;07*naR5g*QLioGKjko(hp|iOc+KT%AP|1lv=2gc3IyX<< z;!ODmyaxI{uY>mH&SRSa8k@lpqispsSB!%$ptko#MU@WnwqN{76FcH zGd0Ey^vIHD%*8HpZb#*@EmbFS)Vodf_^IVyNb?DrYugX~_~*8N=kNRsJTCzAu}HS2 z^?4afmYzN$j3+~)9w(J!yP9LV&hFWRF?Tfrq{U8~jaxUtZ5P$H@G3T2>L`Yqj$An6 znXoIYOK{0O?hx9rh?@S|VOw7c;iXTI6vMRVqYtIqqQ#MJd;5PyN20dts)B>o;?(5F z-(3U_n5DH%aUGiNNm@27E4QyBtFBQ+6dzbMgSp1(tb2*g5*k|c09zJ*6GBas{#4rRne@@T}Sjy>lo`F$5lA; z=>9vrZH;pdx4#rDtT$fcUJ22&Xj&nPTrS*+>wzufKCgjZ^CmC2;lSjB{Y$dhhA>C%^r8`_}h;D_$?4D_80H4S^pmnmSev_2rlx+Y%X3rdN;!x!SlZZ5uV#<_c7+2OOmb(I2Eb>WA9S2M7Eic2&WpUc(8hqsxddYAMKAySl9r2olm5}1i;giq z)Rlrr((v3u@9t4{4CjIzL{&}ZE@>NWa2-@@pEFR?sQlpx8hvQu7bBD`gQ+Opgs^Ein4jr~u4hB4d3DuN#UrY#Jg@{q&c9xA{;7RbFUId>wZ#0^xcptlGJlb!ybhys-qs7awpn&$C|}Wqb%=k* z0T2rh9(yn;I?o&7Fx5{9Vk0-SklWTAmos=h=FK+5I5ALN zPtqS)lU25(P)y_25osrtZyOs+X#=%nRf+#XLXp1(NO1mbPuXyBp*3#Pf~BPcHZ+FFJ zQ8#@!D*%MrmucTsP7`si3eoBK5JMvDW+_V*M}Lk%QeP5g3$EBlbnQ->c!;x?VMgRg zPWfZL^4%sOgyG#*fDhiMs_t4WMNh_&%`r7Lj`4<8r=sW&Hto~;Z9dybb(I~=)cM)l z9l}w3ls848T4|9A{Xc+7So-x}-0BRzxqY$M2SmM!E{v&29{(pkX<6Jl{*ii|Mla;? z3juvH9@48*ywOfg2PMSU@{27|9yAw;!81#(Vj*Kkfah$FfaG06jKw&H8D9r`^1+yV zr!PS3rF9%AcLg_!S3DS~)h7F?9_`pjgfupmhSfyq$biMr<3|LlY`qrtx((+Q(7*6i zclenYxYdH_-S{&>Omwgw8-lae`}#a5uov8aedFoJ+pTB3#)eltpFR7S6M6l{@5wbU zp)twjc9gt2)=iPE0NaqqNq)`U!q>gjhMGW3FcmY!5As>DLMw{Jl|U<0IV*aSCb&lQ zu(7S0wz}ES4$}Dt%eW*E-O(Mk#QNPO2#S&Hz9+Q%8W$bUe1{8CvaX$8=kuVSY#)F3 zkBO5T>}~smS15B{H#+K>+|XN|K^!{%#!@OZWU=vSy^U@pgJTO1? z#F!nmet96|V2t1JGA^O}r!99n+9peGVP5TQ`@Q(<>v$jX#P!o_c)%UWryPtv#i$p1 zvQZhmFFZQfIe{QceQ-_>jCY%%goCsQSbA*=TEppIp0pG#n{#ZeaLtMZ_0Z- zp(W_%NzMJ0)P5t5i*LTiTA5`l<7+`gw_rtFy4p7NfNTk)-?2V*G237EiIb4mnUuZu znUn2RUR!*NlW87IduN({`{b&PvOP||oP=5KB&6-tru3$RosLxX8>6%_zM_{|gP^n! znp&CEVJsJc@ySR}^ezaSYyQs@|a`aM1`{DIhW z)RN3K!cQjD7NJdh#g{$yQV2o8LyG(e1y7iXL*>H8`Lx#xa+U+fdXV}7GWu5QOPtzu z4r0;|4rw!O0oPK0BzY193Zmv}$P?Rx6Z?!$ZHIS{jgl7{cR!CX3s_zt7G{7~+sNv( zJkz4LB7*etX4{Y!AYT>y3r2CW_FCt!a!XtP#aXiQOc@j8UF$=tKNN$%1Ut8=9{~|< zRVz~LAjpVQ3s1Wy1yj_wsZ2Q%sLA0^eg3lzgEbduv(7>^_aG{C%C4uCVcSIA6Mi0; zTh2`|o@f(qZ5PEJeVvl0$w?Dy>!B}ytQbd|;o^9>;Dqdd@{2#c{lYK&Lk^H%;DjEp zeV&DPIz403(2LM+lktg-i!-Vf3@wB%FFuB%L-~&butGKHYU-bn%ea#z9fr#}<1??a zqHMqQ0M?VY9?)_(dJb$?nKvN#8ei%1eQMb8?YQuShEFz#HTZe@S6pqd9(wTa{NP+W z_~WXXgnzo6Xd#nb6L}o0L{6G0?~?V_MzW-?CRJ6MoWnXV@pXN~@8P}epZ?l!@RkoZ z&`V?q>#k78Dg7xUQ9E{{O4?V(6FCCrB$x8hNh@L})#a5fZ2a3N+DkhM3AcRddqZ~K zVcjc#F^+{-8}@Zik+mF;&nx=TS&BFt@da&m>{H2I|CGEEvgZRB;RU1{D>kk}_c3KGjCdBeyZft z6VbK(`ib4~eC#Nhu_`}l^%d2fqF(reTA!9evn5|SN%aZEj3@IQFu?j!nXwc8@FIV; zFJuLu!suM7Lu8eRsW_!j{I37e@n>(3{9-M0Q5#zF=$Gto<${#5_DY|ELS066VyA5S z%@IcB4X%AUr+@EGx6=!uK3T~)S#gXJY5E{-Ez(J2qveB4nZu9Z(p@q*>vry{uZ%;s zfx6%}Mqcfak1V-u=xan7Lo|%0L@%$1)<5degXhySs`O1c+xEq`U*7)Rzx&hZy^59N z3&2{PG-dNCJLspZ9A*EF6~VzOIV+=ge_E%SHz!C!CLx8>gEI?^G1gV}f~?=_SSzGL zEekC(OUtnb=)^zk)xuD1PooDRK8U4N=rOa*K?*HweOh&8$|I*ze*Ml=P6`2*(i6hU zD^~PT=*IE^>_Rcs^rXU5_Ph_z|Bs#9i__)5jh&d9ya-OdIxr*oH%Q z5DZVhPB`;_?dhZK&O7h&6!6>Ijhk;G3q3wBU)7JAb=9rc|8S`1BCwB4vGZ|^U-G6p zZ?JQ2=YeT10$XH!>xc6yvK+H^{>AnOo)^wk@rc!@fqkO>+9~J1_{Q&z^N+Wi=O1pj zPIxE++8L4XqJWF*(;1EPW;nNNwwz+t`#3KJf;Oe6tQ~CXrwngce8Q8<4?cOgee;`l zw%_2w@3+2tpLwI7y0Gcm65AL|9Hh$uVCStuMH8?15;D>%M;N_yi2hsFu|zcfq%3I` zwUi@BXApae;bgndxv#%?XWQQ48|i=geO{G+udgc=8rAsfoFG2O^09x*Zscma{R?3^ ztzYr^iW+)LCv6#7Xzs+(SO%TDvgGY>9H239z39tEc$M8St3*7uU%{Vi};v1@ZlVp=8#yeHH2qXg7p_2cVQ%8iQd_`TFh4F z?B%;z4J40#TT!b8%n*uB^(>|_FvLa}_J&zSH5C-iH3M&mnov zqE}i_Lf)i*{v|dc?2HwJh#?W-MWeAgu`ccnhe)ouWgrVOft25TcjNZz_AE#q%uwoedHmZ$l96$&O&CvBo5oA{VDm~2d zmJgBl#}wPu-`ACL`Wx5^)rKxP$8w|R{{o2g@_Ch?_w!g%wZ`s1J@`F+Q};x*(Ze4- z@skb^He|(Yu~yye^eg|-FMstZj*nvYlPbq=6;qBukvF0}gUc%(D78w#r!pPyv#@>1>mOrMmgG z5?>c>m6fdy0{qi8yP3gKHK`&Ls{o2Xb-z6P!A+n6NwD=L9*AFG#2A`efAu|>cuEXT zxBz_WyDyYsGI@G-wte@zf67k#VSIYPlaBY9+~u{B7+m`}OF>P)SCrP<8 zpQ!{B2X^utU!BrU_Jd4v&DVyA_RM6~{>cK(9sS&0tATh#?znLtA;mi%yJ*FQIurCq zOwb?udS`M@H%D6BC(K~<+ygWZM0|zwxjRez^A0qh)N}{x_h&!iX@dK{hS(>5@jdv) zG`?t`*a)U4&;m>@eFdZf;YF}?1o!nzS<~pZ7Obw+=&2geX0x&{k}Ziqd=Y0Q$Ag@1 z6jF#kXRL^RZ{{<^;wA1LeDyPD+bvE2@Hr0dvZSqu>YwAxcsRN}#>{ahxtQZn#vBA& zJrl;-(+_mTsY3i1&GxesTQsBZPh*#p^7!XKxyGa>7sRydhE=@XI)w$^X1DG67zCbilAW zcxiPocW)9LYvJj~V(k)<7o`XYA|}!Atzm z8mj6C8waYklgQgvn!4kUetkQ5QLKaNDxs%pwzr^J)(>+JY{m6})BMT>U=E(#p1IB2 zFa9E!a(HWdIJ%=xF1XuHF->W=v{XvhJ6kfj!q(K$pMUM&`Zu@#_P_W?yyEM#Y&#zE z)GrH9{rcMHr|h(R%HuJDJ-B0RIzFRsn^B%nqpqvXA zxJFaEi=zKSye8e*J&>U%88(6Vd8|U0subpEV^?Gu!)YO-b zS+*-jeqGhAU}&-5*2Wi{X@1q-*f&o~0q+Kwx@C2vzv6w2(zdL~j-q;3S~dor%OkJR zk*>if%p)H@Io)o*#z`dl<&39;oUiGY>xU;iGH*cNx#O(ggYLGlP0)G%mtWFc93v^q zTV)G+k_Hbgt|=i|fk;H8)Qa!kufB=Afc^&qio7G7{p4_H5gpT!6T{VHC#FbyrCE02 zC$<+Ybj#RGllfUy>J`fGDyP8^hPUenTgmF|S(Oz_ii9?not-Xz|96NgsL?p2A&Hk9 z>HG$()ll3fEc^)YW8aN@`|;U!lVhsaUb(h?z{P{RTu>N(M6K!1agM#+RyfME5Lx?~ z`a$nVhz?cs)B0jA3^V;+cFO2FnB!h~+1{BmR$bT#=7t&Qd6Pog4vciRPbb`UlZCn` zP|uk#TxZ=l<>cvCe)`9@>o>lL(VHwDXU+)kcm)NTX$GTZY0uZu;|hbXel9mhR0<=C ztcxok|N5VO8!X#-NH8a*=yn&G6%R!tPrlfdUi8YUu=sKf?2eTJ^~Q67*FAiSxH)1= zvipHl)QL#ts7UVI2}bINZQ01qIOy1mYiLDt$FZ(lv`0}X?S4Rrt*58b`RvV8nINqf{A96$4%eQz!mvKfbrh#css`h*2`LR5X z913AaENvHqIl<}0_W9dyZ-4Mle`kC5{(IZ!f9U%5f)@Co>E&g<0?Zt%cfPwH_TcjY z^WSIi@_OCCz|bN zjWQhJd%lX?OS%32uk#4zQ8Sk!R;uSITXQPeAL%+}FIIT-x!)6hcFtQ)&OYG{1w8G0 z_R)6h^d2{x@fkE<1I;?NW^9codb4k**o2EMV{>(?>zg)hQ!h}jn-Gz_`{3dBt#5y@ z{lCBe-uBIJ-@_N|yE=oz<|QfP%o4Oo8MDiN%iynhR^=+3bznJ%3-N8{NP&lz3%oLy z0r{yy@jQ*OrnlKd_3bs^efQb+=kHu@-{TwZAMu8@hg{imjvYS?Y{rskYrLyV%9@~= zmExg4b+y#dCErEkT7`~9)ibIFE9V*99{ZOGsX=5WY7m`givXRMPKyaU)9CLZaZ?tqk- z11JWcl;)y3`v>t8a7)Op@oL#Ex#xEFi(u&1|6-_$NRycOsKils#@2{v!TGtXZE}=t zm*dm;*nM_+N2{>q$6xhASteIJjA0U))i0#Wdb7sH_+9sDyZBG5S|^;}7)QOo2>6DG)s4=M7=} z=UmxSR%pKk?0LDHdq9;#_z|Dt^OgE(myOh@um&_frMB#>Fr*>K zE(uE>uVwv3$Gop_h7L^ol)_+74yWTLKsmNMZlCRN{5pT}`}1?m?S<@f#=dVhVf5%m z2bJ=iJL_AzpfP}bqn>)XxQS?v3;8hyZn;wz!v0z9P5eXZIpwUs$m*M-2@SbrV{TF> zb#wi&a+J!0u;g24CEHnwx%g}UvH13dgRFW8Ec;_?peAN9ry7jf*J}N;ozmQ{_K9C^ zoFP6wQ093?-vlJ=nY2ut(^K82av57GUV3WZl#Tw0vBD4&U(^h_SirFO0?1&%!L5 zRMPHa`of+#?D1SsX&5qB=+v@}6i5C1R3bK^=|bZbfyPYHN%5h5Faa5V71{AA7lC~F zEpO5yrCQqud&fSHd<9#Rzaya*dDVB~!RFYGR7}*)72M_5$eK@iv;=Ue&z4~@>hAOAR9VPgbCFDn8{=VjdLch7ncvY_{-glPe1H8exLHhZ@%yQ zfSv3k3_j)J9v6Q(Lz7oMi^Z16ZC_HHIyA~1v&o%$avR)&E%U$hW@*tP9m&BQ{E;&s z-GFoh5xD_4mZfYvla>#wFV>DzcMg7!sv3uZUpLYr_!F}TxJ&YY;_QsqEO{p(>H5VD zPU?QRy?^KXxiI7fqK8}ne$2(9Xs9=BnnGC1M?t7(AY&+^8nmDYF)vL)6ZH^Uvtp!2 z+=5ujNOL(P0Q;XEZ#wHpAU#H1H1!|x#O4Rwy>*)#(%*jTjBh-2$9%@CY~muFJp<3Z zb?la^RN{LK|ohOv~8L`POD|E&Mv?5(xzUm z>PgHbsmy(R*-X>KW>q!O#S9&*nlu?EM{cUxgW-O~dgGYrK_DtL`394&&v3%%#ha(w z%Ut|@(Qk=3IRV)3AK6@A&l~{2fy&9&9!Nmn+qoQB^&FIHANl1}W2QfPtix+UX$#`E z!ckcE(9cPKWIgG1!7FauZg@wdPhUGhR$N`-G;JHRgg)_BK)N}L*;1$u1aSP#x145YZOOY8`I51Zb(ow`D0bWy2cX(N7}=E74wf z2=>2v%KNAO>L4-qzS{Aoy@81?Lp~>XeGO<*^SaI*TLnxPJZ_{PyPChr(XQc znMQ4S>V5_OG>?a9HM=+Uon$PH72bR@1r_#=JA)Ds2s1WnF)q2%0XUg@0ISmi=5 z`wpHOy5Nc5b3Su%&W`?^d5z0i7EUNb_r|vqE?!XPgACah`t-}Z?hIoc z_r^qraZ!@r1ayCZd)uk&21&OqHTsEcYV*w}@0fR=!Y-ffFYQ#>e>zWHFK!EEuxKeuoioanBwhSjc+SKJ|vEuA?Y|LHs1pnP=H z(4V#b$~!VJzAovV*T{@rZDR>%=0vZ0`=W{EM=e{sYVSA(j=AVYPg&CyiH^a=FB|@m z-y<(h%e|TK7H`tH&G+z}vw0(4CM1Y>k|TC&?25JcIylJc`FNEYvI~*MK>6tTL$adI;#+ZDo45+)5KJ;(`r1g-pcPwQ*t=-k)Uhyn zJ5$-J?4*$icG`>##v`ZQ!Iwa)4~GatGTyN0Hi2`8yb6&Mh%a2*-v7XxHfzH%-aE2ekDY}${^@1>Im&mMZpMKY z;$zxTov;+%lXebxJrP)%Wt)|lD@0RV|I${B(~)Rv_gRJ0>Cm zWBe7vG}|!8N0CF0+{jQl*o2toC~et1gH0Ln7lTY6A_1-2FW+e5o4WYy#EpxN$-%DV zj%_>&b;w1O*0D~3G&Vh^eDT)p?E!Cc_^n_2t?dhMana&6&V8Jm=Xl?XyeFJjN_dzn z_<5#>9E0<1raTdwZ6!9H8*3xB5)*8?ey~GeP085!ggfY8xPF80r@qa4;v3iWt6Eq3 zCBcvlf6C@5ixMC%tqdzv!_rp>9iJ!W8e9?2(tv;HTaD1s50BLEcjY36DH4_Iwz zD|4+FRj-Sg`>va}&bGh%lPBBTKlB1mh&!k5c3yuSb53>67%&(2k;gZ0ByXFH6;fX8 zL&$bGM6?QYY}#sN)8ux*CPZ)~jP5z=3URv~VmN zg`*$w2dOcruey=#W|*RkBPg$;cE>+S5vA`EAH^ca4}~2&^hyt=$DIZ|n>;YRcq(>o ze1YW?wWo|3rUq^9wm;JhFtSyP_Kq5bq z9hVnr&y*RQ!7NT1y7P7ga81=&K2IFtvAlycwN<}ixpgbUupaqdyRpfP6Fw;3RziGwh5H2OBvYVD-+xX zY1dOYI>*2X(=xR9JD@JGo524-V)jbcH(0T_aOJ4KL zj)%$fH73ul&UX746F5P(q03o$o?ux<$r*|eWk>HhoeZPUR!brU;b3JLAqB%9Mbrzo z1-t)K9SXlP5zL8DOXF|KCHR}9e3xk}lY)JcNSVf5KIQT{Z9C)6*HaIAe1!~qi96r= zQ?PSSB(F|pBhFor#-JCAmM;V(J3re%noesuBpsZ>;&#Hbpr?9VdcC=+eN4Zn7uH4%3;E^>eC&V8R`!ny( zz4Yah9+aG+`*{0+1I`ccKFzD1echl>{5q*#Mv+-Xa#P}{PYKe2H-0CtDE{jJY2~XH zXnDmbb?U8&vgk_hpdGh^w_M1?R%y-HdJjfje>sfdHKM%Yizj{G;3MyKh!=+-H>g1)Wyh@9qFHq`M zX;Lm3K%BzZUcc>~nv73hW6eSCOwiaoqJz9~8%S^rc>w#9N_<`PG}rRdak6}63`Ss& zf|5;<=SRKl+^o_ttD6$`#f72sP(kAM(;UPl*ZQNBQf=HWo#SQy^M|Wi$B{nX_c|0%#tFr zyGF_ivt15kS-hh%Q4&C=%MPE z7b2Pa*V3%J80T!S%tP}e+iVNvSH5>5E7Nr&2k3)=;@}1IN*$q<E~k{N&Fe!ghnFe=jo*I1$M%=piRUlH|55Q05%84qz=XY`ag5^4|@VZHUi@UgQ zt_#3i{Jr3!@HtNbb7J>`^0izD=3+2dzEawC;w%@2*FkccA}x;UPWC;XERvK9apo-g zKD%e@d3ECA*({y6otZ~Po}WZWCJFm#UyD)kcCo+s=GV7x{O+HnA6Eb(o-wslS5`VU zTGxx1Os%tmf2Ubv-GugZ@tbw z^aXB;;VIxg^^UOXqmu-MNeeOah+r;T$rd+lRkp-kFWY8n69X9|+aak>%TRa+d$!Ru z7?zctHq;ccP>i2Q8ynX3MM{h!5PHOfiII_+yo~xH+Tdz6v15fFpJEGz_!7KQ(*DJa zPE0|_#$w4^bXIg(&!xg~dybFyqt?-O7z)!C2908I%kj#A%Nf5ABu) zY0-8cB?TLwvrQovY-lO!W9i2-xsZ^%zTk5#s9G-klIN)(8l4=OK0!jxoY=*0=Do-b zoS$KN{mmQO4}baL_WJ8zW}g2;IMmM#;e_6iCU33vW18g|C6;Mu#*tgt>?s=;W8+Q| zSuc)dxTu!YLVFI3z#VL)8b8Y0)u`I;ZvRqfSzAfaR-WEd_$V3cxCKp?-Z4lb(cX6d z1{Oj&@f^ftNzOkrA` z9H5wim+iYNhK4m#$l9tD$KTf&n{RAi`_`Xr-~HyFZ*RWEt8Tet`yiWZNu((bHG{pqLRbT!(=42?P{j+st_mK{<*hK0 z;_WP_pYVN7F8p5bNwiZg{$9I}pMK|;r+&e9RGG5wkb6$ZWE?Fuo{g)7eGDqczy8=@ zL-F|GlkGd-`)K>;zx(d?```F*dq|yYD!Jg`d}$x6$Px)#riJ{rtu6LfexjUerItps zjvcupma$>oULc|5_;x+BPaMfvAITrl;77#l{zESQesH;c|9eljyC3@P-^Os_A$GR~ z0**%zwHX8ErV#cll--}Q(+2TW&sZ?}Rz}}4p6?4$n{nVxm5hhH?iq!y4*^oyCa-+a zR(nH_;dmQU_TfGTtG542fBE*s_LG14+4kz2=Xslh-^q5bc*+WJ#<{3#j5*`$w|z~I z84J9%oiT)MVwxPDLqrkHcW%6ow(xY>ZNltBm0Qi&`%B27wiyueKYdYrrA*2g)8y)| zzzkh~(sp=`!TiINZ#jKKF>9W>E;b}M*raOREx>+Zud2(oZPqvbREsy@31cl-C{R{T zTE?dROxb^v{;c9&wl0pjICE@7H7WfHH|tp(T^LnBhC&)j2_RibgOF9kxMb*2JI%I7 z@1jK>kmTtzhbg?yBWN@I?oA{Y;Ckcgb+CLL{>z+i<>?o`2h3cVu~Wol3;prOqG?<@ zs>M$0wK+N-LwdukHz=gT5SqTVT`6mkazSiY7xCO)+DCq7z}1UWuncOks6+R-@cK>K z!-Zhu;y%-`q^BI`4r(5x@KOV;jQxDR&q0>FzUN<`{MSOPh--y_#WpQlg4NK5@%tMO{$EHvS)v=oT5!t z@*Fsu`+Vcqr+#~0v3gauy!wI$)xVWT;JF`yHU8Dsat|2k8M_5ujL{#P=9NqQtf4pQ z`SLC^0trT;cb+l5f>XSsUfH#;6qa6S2Nyooj)QwgLc7vmaXrjX1Be;lkMoGN(+KeWJqG`uc4TlMV!Y8OW<%Qx02SGa;}M*+#}=?JngY6ho)l zu!W7xE~Y*97JHo@Xp_{PE2LYc^ydH+WcF_1 za5rgR|9rt&7uD zxjNJn0O@$4PfMhNN5AmgX)074F)c3{bxCQ<6%hRyq3jDeVT&B3r#xZ%(T7jAyB}R{ zf8~eHx0kv2=*e?#{oVb|E~YT?UTQmMKF`d32YFY zBs$6K&K-Gt_SMe9oN}PyYf-LockU;A6W9a1drYuD`Q*v=F0V~_p99VZOtf=xS^L;Z z%dnl3{Giyk=@0Ox+50$xW~$4^+fs95+I}>up{71qR8%FIV^zZx^?X>CTd7QZQyPIO z$0n8NaDv9W(0B-S`wSO+ecJbBPNLo*9w&^mUO*r|XdBajpzFFg7d4!CHkJ_4OG;am z(hf9@>w~#4<||q3`d0q1lxZ3I!tnLmT5vunH#@H$gHh&UKjY-Suf=72IYzXtss;lg zV07~n17R1=-z692h(HsbjGrAzhH=Oj2JilZ3B2T60G@q)< z9ec{_uFD)031O@q!)b`jW#Zri#H<_eR#H#V%Bs6kh{u%yQ*_B)ky)}wK}r9vdNo$t zA__%)_?44b!1m41wJRsWv3$j>>|g|R=R+>8s5CM*q$!pk3#4Ph&<%>Lw9!8UP;!2x#(BftG#0z&6%*o$C?UW^mg!NFGSiI7dQxF%s*sSKi~7It;4S; zG!O+^-@6W6ads*T?^wn*#C#nIiajJ&=mM{DEiMr=2sSZtijkCQtgkXEGYI7TJKlwl zJcWd-ETQ%!zuVjYkFYoW@hr*C^KMmEW^LWo)%(nFHc^&j!Z6^K0%XG&xXZ!`FAG*K;Q9fA8P<=JwzI{6E-k-gqlFf7xkrvhSO}JV54K zz>JBSyWQXUXb*8>uD5^9z4<$JTPJ-|c?s3nDsOIZSrR{TFJ{z2U%|@74GNBBZ$jj0 zbKg?nNo_wt>Q2UeGnTm)<)`oYZDNiIy=*GB54v6RQ_$Q5zRvNEH+=JOT!BZ|3&hvh zDS6^7ng5KFzTV3*X7ysm1b)l+Av5bqO~YV#QghLSJZ+R3**zBOIl{D;w+tju`Sj7p z+i(8LZ}a7kI=Yfs^hgGZj&Aye+a#h*A5&049G!Pd0YDeH0Cp-Qk67;bHoMbX;` zm7R#NGEcL*oQkrQ3R7MQx=tE#E5%A~e~)?FJZ+1S0aYiiV5jp^63E4jd}OS$C_8>E zJ|vlmLD(G+=`a}f+Z#7uZLhz@gL-^bhEc_K0S7F%10h|}^(oZ6IAbHxl@XaLl&<|g zy36Gy&;9ow`OLVF*6u+oM=jZ2MNwABc4I@S0F zOrQK)HV{y(MWdpa_0GeB5S{Wc{Kz!EgobEd)vFBvk(?VWmF=PxcDv9v%JlS2^IC7> zEMC&VukvU7gewq>V<3rgK6%HDp)c_^?437Gw;$c-OFlkKi=h5F_{xULP|XT>ve2io z)s}8Mvep$3CAvk6A5!HfFZygp=2KSIa?T&wzvmcNnm2#(F<(Y-j&tP`2SxTnab0% z9CX|EdJEWj(S_K0K6QZ0jR?qVJMaF9REW(Roujfe@=VsGn^!-s1B znv^4}xd58v=&9c_B^J2_h|tXTndjSH#(;PQgA`*o;818!!LuIuU?1(Ep=dM*g8zX>J0e9N&m< z^(j3QKrqsfLDA0inPuqm)wfK#advZilLvWz_qTs_`}ni-?cFcm;0<vKb7hD*iGr{qaOl<{fUXajnLOBaF*AK3;)eZ$B~!GUnl+_<|c= zUJLOU+4C2#mpQh)hQRQMBN=uYo)q&nPP83g;q7hN+a=Fqt@6GB&=J}sKgg^gr#)u& zWqi=UEJ*5S&?SGd{d8W;G+A+qWu z9yMRYc#N?Evouo-OH@aUe$6pNF-EfbLb;2nqNZzEV3vl)VyH5Gqncxa;w%{DjZ?Na z-7CSE_fyOk{IVS1Q3%F$-u%t)jT7iMUq9VG{e&-}e8#-wL}O}<>QT{21=G2-1HF0i zctKDge%klg#QDbgP5&#dKuOeBby(yfnu`6P1;^RZ71 z6f|uI%f417W7!Mj$mFefu`uu zUaR(}3NsHt@74#W#%lQ{M!OJRVADWMbxe|LS^u=H8%dV;T5!5L{>IOAdbw+TmT5f7>|ix5FjYR7IUp5pOpPDrjX;U*tB+ZvrEjCK$G0MGqz~y3m)K5S zeo0YHN<1i8Ek9~IkU6okd`zViZ<m~afCmw&M;?R_xy;Y__`Gp{YP&{zazU3J1N;;%EttJbdYB@zptJf+c z8-4{&=aZl%7}KLlN@F#+B{<@OTuc{&9v{`+aiVch8(c}+u3W#mt}(* zIOV5{T(}oZo7uSev`u^!7a%j+f9@N;#LTyQbCWWMVmTZOevTYE^6@9?*u}Od9voxv zloW5$VdDX`hs6C62M`bV2GOT{Qsf?QDSyfh;D?^yVN0EyOzL~$KwW(5X&-sw8e<)t z&?;s#hUAo93XxW?_!sp8d=M+$I&g|<47Z6ga=_N7;F>8%mS_>z>zp^=hccoPwX4v7wPw*O>d;G1)%V*N}ZGlWkT3i;GMp7pxQ^m@R9JEJ`zV7D8-@osL|bmZ=Dr)~;DzReY!a z;~$lY-}oD?z!ui{pcl%NJOcH<^q1bzg>kR_jjn*=piu1gPV%A-tt2k2tJ1m-2e;;( z*rlde(`T}@b+@_8H6Oy-exg9V{WNAd5!5XfznI`Q^@RB<55oi=hI+@CYCVR^TE!0H zq8C3h8nKXn<=d}mpQMp#ecP=|WrKp{%AifD2-cOg0gH!7Nr^;qrBLihFpWeNBRRsw zinx-h6@YoAu~plK3Nv=)mq!Dje&!uy{Oz37+33u3=wqJ6xT{{bKcX8$jhQZ&OfmJm7KE-S_Wq|LZ^eueYy#^v8Mv2CE~%YUnest!?{u8(X4$NvZ-@c)rw7eFyhueig{ zNG>x`VkLkLe0*iQ&6i7V@q1@yT=>YF01Po&p6yR1#UjpHdzPzhwxnW|@jYd8gr=R! zSkAb!T)~hM?5Z=al#-{xPVx$;^63w0Y&z(O?O*w3UHzD_OtSSyy`q*+mV@6Y>5gZqqAg&SXAy-kmpprPrtNnN$0ss=3Fs@~X_aBJ+|L zOV9k`0>_cpUARbk!<)c7;rZ@6*Eqkr!{-_K1oqYU*-pNWiyk;%PSuVyAgz`^v}3s% zQ*$IijR*nCn0I@q{Y%ZwwAH}6Wa=)w+@Q1lvK;G{+_*wvBt*wm$xukj&AlR1Z>-|9 zKxbeFqpFBHy8NpYcxsR%mp*9TplW$(pb%MC5rAthee{M9N-MzBRtZ;GTejGC8>4kcYiv5ZN#jLnK#6BzR*T^tm4Md48jG!V30_oX^)9>!^0{Nw#5g< zJZ66Qn3ok^duzLM=PR_qPfQozb@^L)9gAT?zroD*i9xYyY;$whV;7bye$k2RGOzL$ zFb`&OAoi3qwij0(^Ak$EBysjRU+&?JUw-HJI=}OK)i&9D(E>=O-=VPX(2NgC)^^lB zrj4!YF%V!L$KC(r(e~}{e7ODEKfSlz%M+_L~)sZhxO zwol!1S>4yi7?r#790Pl-0tB_7^i53V%+1`2D$l2#rStMYZusYz%esr>(HvRy>@kZ; z;#d!1{FJsNn%{LYOA}%h%jZ^saf=HxKlM#++P%+%JqX|Alm6ZSo0l6Lo4SP*V&_J) zwk7kym5C1_Oq>t|Q(bk!vtr+orAS_>d?%i+prIPMhkpp^na4=vi%{o{qSgm zTHe4Lf2F6aQp)<_m@%(%+NU+KT36mA>4m392hPYx5X9IhZ1?LUTK2_<)MO72OwPp_ zC)DfuRtu1s{3?iTD#yqua;YyjPkm(NDi`|Ref#D1;XQsA{UMS$PgGNl(XDc|p@HEC zm1^v_vvT#(l~a-DzSo#|(l7WZZ|{r3FI;U@GIwtBFBrV799tgmFx;~nkiwY0#)HLf z1AHJN=bq;n5|t`^uK)R>4m*YX&M^bQeL+5lk9t|C>Dw`qaiUFi$+MWnxOXvn9~}!? zktGm92RX=TqkQQ;G%VY^-g2%s(Ihl+c$2sMQAb7nGfK&|E0MHfN%^u)1dgi= z(4($O>g}{6M#f6`1rlC|R-Kcd`A`4uw@&%C!qr#Y;C;nGtiSPl{xLU!AMjZje%}|m zZ~UH`bK}>~==$;8tDH5sBk;s6c_!;>fUelMn)r9ak?mHSjhz0h16a!kUP(bPa5$`N zXzbwCw^MiB;YO%d=;+@hF-!+i>Y<7cLy__?tk?;G>I$^&ZmdF-*Y=}dRPhA#?*&J0 zeh$&!$Gd*>*7oTKf5vZwe#SxG%l!7^Q{HrV;b$(|xI@LAW~FNT*c#mA?VPeB-Vmd_ zGfH96S9O5NjVWH_0CZPuzlxOuy4tx4g`e)FNO_Bto%;)J*!g=D@4Rtkdz(+(_!|;0 ze3BJ0SQ?4^D`j)AMz4D`;pf{J0lE3hk-)j1dS(QA;LBc)GPVei5ILY|C~y8gW8uS@ z{EQG~_Q+4beM0>)2haYN>_hG(J|NF;CV24RNCTFC`XKH=>jnn5eJs}E*e}t^+EQVZ zn4{Nbj#N>LwwL!(*(k(v#BA2j(GinZwANQv8V-!CGWuSU#ji#p(MHThVlP*lqc1ZOwO+B1 zOp;xTRu3t9hq^^+EoQrnl?U%$^mRM%6S=-&$@3}eE#Lx2vHewliUC-avbCE%_=8OB zl}I^p#EFr`Tz*dM<%nCR%7W|F*I{TwnQB*bO4Q=AUzjCZ!7!qo;!}+^Ep|_~?N|)X z?#Hwdp1OgtjAooGUo2`R`;nF@K9%eX%vDpbuPb+a7wAcZDr<}YOskDcM`zvXI+ z-j#<{_lEz;_H%#h-`M`cfB(PWWcZBxzx?hm2LW^Q*Bij+93N!v(9gd4o40*ADSqjV zSNP78%YUqRGgyDh9yaY0Y-j$UZ2VlD+h@@;FNS)d!Mn33JWb>$M>%Bai;dNi_^uv* z>KIqIdrN6-xq?rAy4OjYhXpy?zs^nIGarECB7!IWC%p0F??GMR!mk%wqYtjX^JH>A zADV00XVo_3vUKdzKM|=DI0cNhAK?##Jhms};Fz;&vNR{m@fv@;`25Si{L9;?AAJ@H zTdJIR=4D%&SYfg;FaWVuZ7E-gH-6aXb@q@3MbDLzt{qKtlQ`Q( z=nkc6TM_Jo(2#eN@l&5(ta6$2qS$I|%PS2QI@uq&E({$Sn^7l^H*33Bxe$6B3#^=38?kCPK}f9DFpy@7?8qxE zEgBYBY+KRYW)CJ{L1%G{_*p!Uv%dP?w*BB!9`Jl941E5hCvLYZUm{3-K`(#D_lZpG z3B$5@l=bj9ZspgFr1E!onP=4ZDz7q}m&6~cdGnVxIp0dF-}!a^tvR@E0M}=q{f#`A zYg{0`dFy(P@!xuv-~auI*ZC^L+4ktk2ixm+{v~coz1}VRaTyL&Z;)G_tP@{VXOV%hV?RlpBQNAaE6^Ta2&K8{| zZg&`8*SWLk*t2mZOWVXRv_QFu7O#=Zfv%Knt(hB7u5Ul__Sd#=|NgISfA-IQu>FgF zmA4-G-AXT@Uwi4Si44~U{1S+70>9#h>q~x`$%n?DaRb=vO@-wVhhP5k3n;|Eg9wj( z7>j4#4d%e%-n}1eU;fHpW1F~B^HiFiRbsRpyi{;ZlmN5;OCJJbLg4|tmruB&z>h6@ zJ>$7wWbr%I-1xoCjo+Ks9@4glY;(LAf$bcbu#M!cHuhbPuSp3{1+?fBPh~t->*F^) zeaX%)v4!^WXOFkv|K}fUzw(7x&k21r``qfnHUI|ilJ`9Sf#NtYYX zN(mug^d(d(KkeV@W1~^~Y{vjHuEZuweYLx6xXzFhn`AttiB|>H3tPUs(C}L(zu6s% zOeJ=HhccK3SIB&I$pT~72WV~A?b~%8Kg_~ALnL}_pUBg(40OOKQ# z8TxE~@H4i`^KuKQoEIbIo51<?Yw-5a=`W3GoGu}P?@Kn(_%J-RLJH28>j*Rj4sD)WI_7TlEP(EdO z@malz1)|X8M=gBHe_vc6SJvsjKpD@f^tSv}MmMe{))`}Z+aN|D%DO7^v z`OXXK{>JZ9mgh_o=l%A7OVv0PseN6?>v6W?6HD=Jyczkn-@1blzhvoCyfmjIM!Xv; z_&q??wOF})6_Fn7=oNX^&1#*%FZoj6{fj$+EKG3+d&!nKRkz#SQ~4%ohn_BC)5FiI z^vat>O?7Yefo{=+?TNjWv@JAh`h{}ok8I_;wTiVu$}4M%ZpY5@$TzpLtV?n68)tx4 z+XdDivjVTWw9sQD{H(?q@>1=#HE=Ls3~WK_MgO&}Wiy~7U1p9Vr8VZ|C~F$2%k|E#>b}lYXkvYJn|& z6#TbAOz56y`B}u%vs>Kwe71e?!FSma))4fWuw=y0gX4TYUh?(K`Y8)n!KzR z&Goop?y}M{(34LyX0Rpx&`Qq@CvHV5?QY(n%AbCVO?Ju;Y0qaIuzvL`r`z4Pu4m`! zZ_j#T@`ayf_F^_CeCI5_@#{f4hhK~z{+&QahUo+f?$HE#U!1fWj@ z@*sC_qvfl|fgBel)tI#iie@n;UfLAHmhrG%YPI<3!FZBBT4;aFqa(3J6dhbkiynZM zgG@7E$+vIu+ewhR2U(s6)s0d5l>?$DT>PDbP*s9kh4^3Fa~Ls@_KB8)beE}DjcTP) zQ>xpeMA)NBK4MF)j5J8`J+bsHycc|`?EN=ha-o2m*F1!9p2-XZ4tDb-Z_w+YGkqG{ z1y%TMEp}aXT@iguwIzqQ`Y1xn;jj_4pDG^kscYAQD9RZ7fvP+d!6IwzLP~XXVj%3X zAzPf$G9OzDXP6^90FFR$zx52FsT59h^c%7`rr4?h7ay&c{T8Z*gjX7+BXV$zNqe|X zh`Vkkui|Ezlm>K}YW8CtS7mqmEfXcm?bq_V(9j2iG2=FBPh3B9OfZje(JAL}%JIL# zQB^$=H2%aTib?XjJT|RXFSm@@2%(&KEuE4n`HD@<=s^2yJuz#Yg4-*Wj9H|pBz~i7 zUIK+No&l;K%THyLNN$;${NPr7)>^7G`mF?`c+M+T&Kx2goSaBDL)c)Odm?EbQ2N7) zC!G?qDr>=rpmt5=Ur4M%W2N7oT-ugwLsi(m@y#!9|J(ok54Sh(evQu$^KJ<{#&f@W z?~PyHKFQ5rgXO-`4IZrA{N+se92wur8ejFxa#^VM>qpd$qeTZ>k#Yj5UrtNX=LWH=HjeuG8>9YcjkI2CJyv@OJ+JXh@?(h9`8*J}#jNpZmqOqSuCALuJnnV0fyVVo~ zd)E>8gYW$2_Psy+L5#!>tcy2`T3#1eG#DIn>!uWK`aJ~= zw57D6>{e727~fkM+3_pw2wz(HV-u1ZQ%=PW|7FDg5>ZxKV&V2y|6zK}R)3O_ls~e` zTlY{7n6jp2-*Q#O3%#Hs-o>S&FRCUFRduB*{?(t-Dvj*)Vab+GXpOaNP-@@W)8LDz zZdeXD3WKes@~inFluY)iC6MuuBCA~RR-}2}g!FeN{hH7d@Nd1r{jNe=7&Z(57wZoPtgsHGRk#h zSb8n~zMpUXdPBe)zxmyD-vs9E-y1jhE!A6R+naCS-oEseH@4e6sKd<4Lt|IByLbMw zp3%Iu6?9W=$mKLN^GjtL#67XUUinh#0;zC zWajcs%}W)Ae|3y2BU?*k>){G$(Y2o%0v+cV_YNf^=tX#CwO2Z{K?nGEOsAiyWNwaN zNvV=Vwe~5fginq=J-8sQA1JtFj+=4}L2dgQu5qp;36Rn(yu?d#j0H^*3Cn)4+L>}m zo+aCJaSTW<89^#pmu@Sbb3Ea=ymR9^exr-N@$tsOQFAZ`Pj0oKIKfl{ER*rP&ZnT? zd-wYGfB#>k3!opFHIl>a!<&YWlD6#S%XSJ^dP_V01~9@KaBjmB$ufUgak6tLIO)^CvFP zx6e5?d;0Rx_S(%S{It?%y!HDz>Rhbx#xL=SI@?2ha@zny*NjVe`Vn)LR~a5cdAQBI z7fuhihuk^+y+6Fa{qk>rxPABgpXUL@7Ju5dFfAoJW_>|FQwkYm&Q#xFnn^}YM&+x?IE)H7f2@SNRiH3}BK zkmbknrEP{khN5z?t$F0!-#b6X^~kb9Ov%D`ygNQ>Ec6{3>Rw2I7U#jStY1mpcFOI_ zD#T8YVU3PQ`?%I0@Y1FR7+ArkT!wmkU|wf#|Js+YY+v&8&-_f(b;ipzu9uxK-=E#^ zAxXv{y57t@rOl3yJdDcz%==w@>>~A4sKd_eoS$05Xg#B2zZZsnBu3Po8;z0#V-^=# znY(ReQ<6Wabw}SgOzftKUJrI2GY&fLb)3xG;zIHUpwTmw!BLT<_{{INH4n{%rwtP2 zx=v!TbV7EegkTMtWBfEM%*gK=CECVHAZsPM|Koex(P`{u%%!NDZP?>AdNnHGmk8wc zeXN8fGms^gYQ-x& z-T#DhNdrrYY+@MXSX|WzC=n~xI+boJU7Wc>AH4aQ_#ec413eD`NQ;3w_j26Tm@tl& z+z$NBTrU6STBbLFUwPcaLrB-y24>TC6eYwa&|q84R2W2P4Lyk=qtOn4a)ixJFWt(glYFB zV@wjpmFMmXFG|%7Umt4B%Stxe4HNza`~&E|eT)RMnC&jm0?7u!Z~CsIuS7*goK{RZ z1xHU(^<5oT3{GuyibgUzU4gKdO21^vOz^ZDpN=s}Q&;Q6NGRKWFkD?q%8l%im3D-8 z!JBShwKFmpvH8^&+p1MD>o1ibw*pp)NqZ~`FWv{YWtKb^+MXQsw3zY%FU6MAhH}Sc z6hl*hWP3&?U0R@_m&9Q`*vd>gmZ2TnC-8-O__b1P+MwTixd7uAGL?SJm}^c;Q>)TK z3ShNu1+R5>*}XK{OMl5CV}MBJGya$Sbj-BiAbWslLuj>M`ZTyp4)%U5-Vq6{^&&`_ zJwRZBK{hfdFTi3UTIVksi$rBEIdETCx$P07a ztmLT6%W_V}PMD_Y{#;a}o&$i;HKK%bXm?U-wUMVW(H3hOs7^ethD4qfwBENb$EN|w zRo@{}?9c{bWD9QRNY|WcS1;PsVefiQhkHR+S`Hf7>D37+JAW{J#?~9az6C|Na)H>RSwH9Th=Qk! zFNp19KG*aSH-10*oZtK9jo+sz=K->64N}#H6wuAa(rt)H$HCaxE|YC?v7T~xwwziR z#VL99nuq-5q@ z6AxqUn0xyM7e9Ei_uNmCGd4YVz2cL6Z8SRQ)$ff`AW3swG3)wrn0otG4)68RTkPP} zN}XMAryWFAu}o!T<3*vab|JN}VyGn|RyM|tEhz81B~+uUrGg!{l$FN+Inh?sMU=H8 zg`nlw%3z~DiYrzz7|r5UA1=AwV(^zsgQH!_nID>2x>l;)@nPDz00eH|j#zA*aSb`! z7M5kjZ5uSEzIx-5@_8OwfwM5$|H#j(+t{|_Rr@>=8Y*@R$yhYY{x1LwRse15&_^?Q z>n0W@S{Tq*qB#1B1V?^V!rM)bUd39BImrm#*hocL!3%22vc`_KGUB2qX7Q|6)8K|T zb+t``7Nc&YR&~byT<|U&*8a0hjN}(@!2~rl+rGo+Sm2b4o&U{$`8T$I>#zT9c=SCN z8J*x>^2$VR?0SROdD~;9fG~wShbUw2f&;b0)NY@uzNr?wX1c(NEGOI&astfp$yLt6 z{oJ!l-pXZe^&uShH_pc%ckKEi)RG&M!8GQ`d6uj!e~#Pi+i^tctGq$u7(Y9`$qBT- z30ykv%-t`Q7CG|uDLZ0ugr#Ze(Dzjs$kboaDHr*I*hr3_#?QD{y|`9`)cR%%i;Cq@ zS>@ItTdCC}pLm8NG8haauh%lfb5ZBr_qb9-Jfr~I6oy)8tp_ZGj0nf#|T|! zxCs%t@oU*_XUsCzjc`E)UELJa?<9uwux6DU0Sz@z@v;M;z8qy_l16H`5D`c(AXnm5$hM16ej8q4mgy7E6*QT#r(F^ej?waPr$H^Bi&QR3tA;kUY^O2` z!=aw`N^hhbqs7^Z+OhfKMs$3p7D&g7G(5;y5RIxl_i15=D+8(wiK#Y*)sU#SOzdS0 zimhtfM^2FoNuD(1?b3%Fd)#q+ar4wUw4$JYnyJ4jmEA(CT`5BPAHAkWhdu-U?weoc z@aEC>>%aIr+h6(@u<-^rny;MFZ$9|#jSWxkJO;rN_Qx-{cJT74?|<3z%o4VVZQQ>k z-J|Sw=P`o$GjJZ=|9E@zt@pOue0n;+`8tk99u;$4P3)^;%Yw{A;aCdw#b?`#Cy%%h ze2;4rPq|+6oCmHS&;{Ha=4!($9&Agy*-7R21H2pqlB;ju1}BxO%eU$cz3`MVX34K? zkGYfj2jBg8`;~8hxc%`TKg=hm{VGs}6xnpd)X|$*2TY>}n&nVhFU%0q--%-MYWr+X zY3LIrW90tOn#Y1BZ?>gJu>FLak{|LDM?d`N#de=BFZi%M&n?<3I+A0nXpf%)5My8y z?^Kc9Wx`0iLe)uhW7=|3i0G4?*fY6n&+);Q!?9(yNAh`(cR7Lp03ZNKL_t)Lp$(|8 zViuPMJGiszc$9z|v9)54Si5zBKH9|-<6_*^_gd*~ZqR-G{cU^eZLZ<)l`!sk<#^Y9 zN#=Kt!Py7sv+Z{4c*%oreggL@*UY^9m7jTGpypa32939Kj<$2kAdR})h1<2Z)12^O zcBSN9R~u6gTE)q_vigz5zAIA3Z4+}X((T4A*oQAou213=8rqvlk#cb1+fU`YxRf0j z%62L_>dJLIBNKE1WDyYcNHI+@SjBEhF-u0QgNg7#$e5O1{Y>8Cut?e`(*U{qnPQ9E z$kLD2A|PNyvJyM(h!S4H6Ee1_bm*cYuaX64r|O4mwAU%phglsP@~-+Fac`uOoiV0P zU%R?}$|u-A`^1eANn?kkORbK%RB+<20+k|rC?DgVo3R`KWXH(WAB9e#RnG$TRca`b2xAQ=K7#b zVUcz`cT_sthCW2odYvuaG zx6GX5`)TLrTr~8p-@5VZ{si>{?&z<$gE3>OY_|mPwY}6_8?(E~h!(&6nRaAbDpF!N zZpKC#m==UDDdMfuA}v!Rc6^O2fYTf?#lHX$LZJ-g?%T8;zT-LiB^4QUM@iVrSY0oa z@uF;v#a%_I#x_6TTCO(5NPLMt%IeqlT{_l-GkI!MN}<}{;Evhdz5+d0h|9RU%ufqC z4uO!+&^t~H$J*u9v~P6eNBw{kf)JM()6HyrkS* z37j{6d0XSuw|+UW^^Hw;YBRyRo3=hTeLWb=1v_OdcOFOD?+TX29RLWW9nBnX66vah zqhLC31TN*8cxm9f&c5HMT;sOkPsdD)f z`%z{$0jg_@w_5blI${BUCEr;In0gFU0E5me3KZKP4R<103|F zUwHBkGKaF9va`0Vwtv9uq7o~H1=+INB+d>~@|fU>PHinLmA~Wh4?)&5uI-p33-F z`Sf#Sk2=fsD5o}Yi5R{v-He;!&U)FlaFA7JA7`?5zh;}!m{hTrOJaoD+^$c2))+g$ zEnigWH0&d;{uqCgLp{SiJJ(jyj}R}_drk~%$`L8Af@Ph;l(ifA*c-dm+Tq1F<_3?d zzWkTJy8SQz{r|YVe*0~v3O+Z;4boR$JtI$<`NI8geTG^)IHEm|Cs?xYwys@$nRQiC zn?A_RiCjP>a?>we&&^+dGJq5DYkW)1lkWQT)_(kCE2LNQ47lb!=Q`u7$@IT+@G8XB z_ME&Z1@Rh}XivD?ddi!?SA2^Ydd-A&5!Lp2qVE?jY)^+CGIelaA@BI9Wp4E8+LYzw zBBg#9A9Li@uV{7N&4HX7;@8d}Z@=)5eud9H=DigZ@P+o3SdUPJB?M5&;tFrFHk1oI zh(nKHgo~n_e+?Og(1LAr%XZe#5(;R!fEiD}ou?m|OUtsN-8v^E}@SGh{%OX56E zO&(vDIBIwmBbsQuWUW9}nD}VlwrsMcCyecqFOG>iv3Kh8BJ-U$UTyE>g)Tpf#`w=6 zbR7>GxH`fvzXj3v+*UZ)&ya%No@pe`jZco-j2i?pmd5cC3+CDcqTGI8DrZ~khK#L1 zrEU7CQ`OKh;g&FEn!S=@>2GuX#@7fyv##D@RXCxC19Ok7lp{v;gCoeLB;CL8Cs!Z2 zMUyU}abve+f}Mbgaqrr=f(cDGZQfi52?CZ3p6pH_wGyky_yFqqigevJ$1Z=G%T z{>+C#owp3=AqMS}>VO~x`pPZW65qVBE0%nGNtt>+0S!;u z3Ck64{&Lg8hhyCT&+o5a&Cdp%aSZ8&Q9lLEn`39E+xu^y@m3}0RD4<=s=p_&J$ig^ zd*jYu#ZP{;J>Fw9$;eGv!qkU0^$6F>fe70hT_sNp``ncs5G*!MH!4+Y6+K#7+p<)6 zS}0oBS?&9W;zz;&DV^9UW?hW(ZE%{r^NFSViRlYEXdha=t0h;~3wCjA1`3dKWpMLs-?JGaQr=ZXHbOdt7b0v%TQ%Qd-R*J-T3fJ

    )OTZUvG;x+)!s9V*_l9na=mpE({Ah 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 G@dE%NGF2}>uI54$aykX@p%{DI&Jh6l7sbgBpO zp6K1=H_v=3z>^l=821fM8n@bExk{SM_8sHUw7qzfi*3A*y1JE9U!5lX_HSykj@U?* z7oAm>U{{x8hCF9{4|oIZbFVz*W&!i&M_x4GWQ##)?&m5CB6d{LuI|*wx|pO@J#3bc z@dNSblZscNplM6Q7YM#h4E9_TusxyWe?4((9Xc1aaksp{uM?}otx$_q8@bUPzI7LU ziC9*Zh1UPlmOvwa8kcgP)6GGRL0kI9!B4+F<|dGD1>R?Qz&^>7Uq1_*?cWC4FTpzl z3Uj?4(Peh2sg>AR4+c7iR&nK>Q+2g3b=ss51eig9nRqNqR(1TD8D^?;C`#Wpe(m5a)_%K+5VSdbI`Y|%KBY)Sypnu)&O3(a>(7f%d zb9uAEhu+*qSj6xV?3s7!OOMGguE())wqt~3wH4&!dtwYv24(;9?@eEC{<3&e)48Lc z<8!}h_lw8EP}t+7>e)!4;?KUqPE2B?vA`GF#OAZT`qj^Ff9qHN25(V(nmNi>3B1|M z8@OCG)8;dM@w3ldD2`uoM8E2jHV_l}@QJ!{kZ$9Sd3kQZ zk9m{rF~9qJ#SP$leAnzZfBm2EK;r{00CU{Q{vf|ijPsAV!Dc%?^|`y-AN%=V*nauH z{P(v%^=JS5_TsCb{>T1+1pcj}p|CnsQODs_LO_>$$~;ufFf z`^@&?Yg=sRiA|+EbNj4guo#Yk=qsZDDe7VcsBs<}iEYKw zx1(e~PkGOaw4}+95hvqr30cn(o$ZDuPL7QiUs!2_pRzOqN76+x;-5J*by9C(AuXCp zNrF;HV@nZBK%On-E#PO{PyFGF?Mt7!y*=e(r(Zc>8jOy=f#-pQW6_6z?5}j_f}9&D z+4Y9jW61P11_Q(Ri5&K#9th+zDT28m4US_aH*P6kz<0my8@}&z9`rtbKJd#W?1M5( zd)(s5My~1-59f~TUG7R(i@pQi$A1-g!MSUo?GcA4tgmjy?L~nNmkSIa=LE(BJAw=P&zc<(EVDtz$w` zhr;+oj*fEL_kklnQ-8tua%_7l{sPCwK75UZ$e_>x>HG#&Jwcy5zK{OPd>ZnzB1t7_ z@tn@}DF*?esZXw+;{$#+ejM@+L$-{?i|W#k%wVZX8I{D1qVWn>_*ISy_3pMnu`SMqJG14CTSRZjC zi!zoY8|RB3I(6IbmqDDTyzcYiJ0EOsy#L{LkB6!J9nDMbH06dMZTEo!<*#^p<_Qnm zzWw&&?YrNn-nMWV|iwD~`er?3AJ5y@eZ%XNIpOnLFbfo{K;XqAE~$A@deOJ?}Hymrb{H+BM699h}rEa(eA zAI#?a5}$be{HJejuX6XtYb^S9lMePqpm*QmjEbcEkhU&58 z@&P%MZ3^bf^q1lyIR+WI(j-RqXhVbqAx#^vp)c(64o+iQ8-~tpqrUbbMR%h<_&8ra z$j^8XhnpX8odEBQ*DY_1t%tI1dD9%6AH2hMz|#Y6p*G^MQ``Gmqbs@nSe0^+ZS15K z_fuo-TiX;Jwl6lrj9IUvzQ|2rf3sQU*te9Q=^`G6^Cri@w&4bHe0V5*>p;K3Ah>mx z2N>lAUklpeH{x^CkB6T2SX?V-tM_f@gI%eu;*CJI#FQB5!^F-fLIe8*ekd zeF8u%j5wZ}+O~{MKxBuXLdzk>iKPK=*b{-&m(2LD^vG3n>F-pvmAEc7`pF4U^4$Q6Im6JS?-*K=I+P?JnD9t5`3oTDOCCTf=GIIZhdt=VhWN`8sI#1)pH-1YMnJ z_cg{|xh4~8oGm{t*KQ(w^1-6I(LcBC)XeCJv>YA@4 z)>%jL8E@p&zJ{|LOB*62Y8$Xh3n(2UYN5Z}+@=@t3~dcMfM}L0EYu zy13S!^(7}|xghO&I^^38*ZJ|Ka4~Sagn?Wgt>F{soU06}?Q$GRsZZg7JG_D{LnjyF zZ|csf7RH&DDhg+UAh06i+iLHbRGSKFbr4!VuZ^+ooupo+$A{L2ug#1jrB3$MN`H~3 zOrXbyUkxc`rkdJQ7j1Noyq}bxeaiugK`eh87b{`>BrZJC?yVMe4h_LwA0wQ<^H?=<|lm6F=?jCpNk9>y5u&aMwHa%z-!8P;|*dq#7Jn=FPg^ zD-Dio1rj{L&eB6a>8DMp*HT%;9R{*qNtS?iK4n~D(UN{5lwjzGmqTjgK@vJcqM2X_>gZQ40)z2-~w z2e5wF-aXQk>sw{gwq*yzv}5c$#=LO)|Gv3x-}&~#?HB*(i=4G^G)@^#t3x)4Nd)f6KvStcXdWWjk?YpvHBxs z^AGomkh);lVrPr}# z+HHWjM~=Z)Pa_f=Il-|xES0Pe)@^&-!+Bjgr|Cm`ENw%+G^AEz#f#c=y87n0`H0V` z{oeO)Z-4A(82fAn8^8Z|L0fJzFnx1SWiP6)V*0c3XgvE6gyR^&Z1>nZD%*olE8z%#bWmuG|ac_4bo1<|}I7|wP46}#J}uIJ;FJf{Ev zAOJ~3K~z(0;JB@N9O2JqJaJp$=IBG{SAMpc1Fw7y<>nLa@$_dg@*8Db{0UxyQ$H;_ zN1MC7ThPDm%dkORf0W1#Uz=q2N5{S{KLAq}QyrNmvsKhij0`RYj&2pWHx_QZdb$1O zpZvw`M_&4|wv!9{-U@xf4PgCq7I0j8GddTRiABO4{Iw57EcTGE-DP`acUPw=+HUEYTC#tFj6>X8@XIso;~7*mxuaYM!%c77oz66A?HLXHk; zxhenjR$_Ad=I!l2`b&Rx`(OU2|6}|1|MOZfXFmog*!I`7cEu((MH|~IF9oXgIF)kh zQvz!>2TDtWu8I~82{_Q|`A8`n<|u8ch*Y|f3jY^#jf z2fTg!9`+t!-=Dw9_KHrbzoJmM}XQg z9)E0)F&c-cIsVm=c71#muo}xHNy`bLa$$vh+M67Pcq6BZvSNDC>NxlNR;aE!PUqN5Wn+NWH-skPimtW$z?7~k$;~Dex zoU1$V;xk);?f2_C@4WqwkpD5>9P=iy+)6Z$=dMW7O*nQfS(oQl;@1;6Yjc2eg63@L zmm<0#2R-K>9J@O^L@yhQjkQlC8Mjo)#cm8Jgs)8b6at}=GBW(HzVb;S6Z8Bji;T2o zq`5?Gb^CS7GX4{{$OIdjGRSILer`xmzCk;0UGZ6GKKFd_=q*0`|IT*n=?CnG*x;{`^j(MY}Z3wp82I|ui*S7sL;~7rVE@Qk9SC9OXecKEE1}rdU9KBfN4q6j{=p%~(zDc^pD$qjMFE;OEb z*>1eUu_HH1-DWQNcJy81_JyxpY+wE0_ICgEr`uahSqVcOim$PsR;?9y@mat00%LW# zj;5IrwJi~=hf7w0@W4<+HR?mG84etkG3j!^D3wDN77{wZgB^hw;*;rQhVlk0&{!v{8I z4wYYhk*c3w7Kir8Gv-eiR~ds9!=Bqb?SW@}CdD&lNc!TKQP%!YUO)6l72CSgBx)a< zO%QC93iurMTFZAHIB&1}*j@e=qicB?yTO8{Ke9$vJE=mip*X2k-}nt1Mve#KUwx9^ zhwG_Jr%})BTOJay`Z{C&4Sp~EihXZ1RxEU5nT%iOcEpic)vd%|Uq@&6Tc0D-_C2Ro z=4!Jowr|ouBlw*D#4wOLOq%|4|6L68CL$91ii#`!;Ax(kZ4Q6c_u3dZDN&ph9rVqQ zxvy;)yjZiMZDjQ|sX=M^w9W&5`g4{&@z2E|1rGz_4K_l%on2wswH|-Uu=p`qa3X#3 zG4Q*p+-TNp;#$zbO0A?CQe)voJLL+bsP8BLRT67-c93fY_2cQTTI{S(lC3Xmhn?k5 zP!w_5vxTu_%CxVK@l;vIPLZvrocNW#P$pc8>?!6B)#x5$f7eWm)4<5a+vUzGgV?dX z#-1C3X+b28peMu-+lHlU`%eDC4A%Iu*zJcn3~p4wvCb0P3i5BgtErf;vRMRL*Prw+ z)v&4@`RV(~s~K=)D}AkN)LH~}nwFfE<=+`kbAxrz)m;uPobgkLv)r^h_M$?J*W_GU z6za-?t?SZbC4NyOO~hd+yV8zhJ@hgU+auY$J{J4pZ~xLC{Q47j3V!Y`HYuBP^dNx0 z^?Q#ueqVe2?d{io`+M83{`MQ&n|y!F@#D@<$M(U3-3Hi3t_u-LQ0|U}gA2-i>IJ?B ztMc7@vM2XOufOU0fG0K|a`ELM7d~>~9d?H#1(UAUFqQ7yB|Eg|lL^8e2`f=hsO9t< zGSgWT+C#@UAP||xH8Rj9_BAmwl^jF#?1b5 zv3mQM8R04~t;*=<4St-(r-=PsnxFcKJNyn6Z-;YG`i#Ykwt4%J&xCW#?&Sll^}y8j zcyq@wo0Ag9oo&RvH*_3+kgmbP?8IjXFdjJmcZDd5qly&&6n!>-@fw0kY>)!LLdxG_!L1NTY0sYPhN*)O#* z^>JG{eSo* zWsim8i3dv2L&>%;b+XWfnhV-qV6Z>D`Qk+df48uoqAPCkjeHyc3lA3jf-|cRV8y0QL3#8Z9IXBHdX?O^$cpchV~K%Td)*cUk_KH{RlBhHN-8<{s^Uq`#d zZ*#14Obdvn<9bQ-;OZ4VAJN z?)=2A10^~8_BcqM6Vb@l^Mp#210ayg`;-;8eag6vB)*iDIrIX02!>15HX~#{>3QsI z6WWgt$|0}8r6M`h*c_Bk&f^=xwYg-*$>n>nMjc*scF{PITGUc)I|ozxB1boMaip5B zg@M4fu?}K59?Ev(b{#R=7!bxH1HudQzCDv0#MB*!q2q}slwK^UQ>?w1(1|p0>bPn_IU5HiMhQN(;?YP3W)`JCf`JK4*HQV+}-}G|Kva3 zzWif<5Z}S)4PX~P`J7omd2a^uTBC2FPrLP3q{NSc<$UhVK!wqmmEL$J#w(VYQ`op~ zbEozuSEhUrtctexKF6BA0nFEH_{_|E-~9dU8^6i#|N3^N4+ZfQ+2zd_wy*w?U)cWI zfBM(AfA`<~v)dOx`v-WtDUZwx6c@}5m3^(Jd$I^UzEONaTp!Z*Tm+EFVr&$%|1UT| z@j{ZvF}?|W%eR2wc^pEhM1vh%HcoX;*7kx$Z#=X)! zhp};ABNtb__-G%_qMd9u(lEf*7z36a>A7f2F4?guqIoW2TBq~!_IBVkKA5I#%5g-C*)K_3tPYjM zlfES7b+orF}e6nSPg+aYK%J{m?&4JtgFlHR;(US0aD=uVc zeih-yLmr^yrtvFZMV5o=BoUWxy!Gl%}(KYzUa+HXACe&bu* z(D;Z4e8Tf5GHlz5O>|KerG7tR{JsVyA`Fv%Q6`80hfCtE7UZS&wdbwWB>j z_Whq)i#V;1k?4qJlGAeR)EIVaCy}5}oPs>}ed)y;d`0TU_8D&Uy~H7n#~mJ@c;nU= z?{g#h8U_{r@k3V}M?TOts2U~hQ9dX&EcX?F}oHDLb72yPu zR)@c2Pw*oa{jg6M6=$ta)AwvY1j0|?I&ZHb#Hey)DMg%Umww#l=9qEtE!vxuZ@+qz z-<7`F-sI;a<}FG4&s4w3DTonjoGYd>R_&`a)?6XuB}oC+!ExV_8ad3AS!K)<_ghQ~ zz6I?0w(~>$#%CWe%lRj{H;g?mzlGc-LSlG)D(wz8w>|#c_f_#lKbS}GCl3@M??-(4 zId8xKV5ZKoi`|~<56erL86(j5H*G1)Zsb!)jHmr`oMd}lrk%#GF}2;=)pMbgf;YYj zPV&>w$~Z6k$E=ib8zyDt#SBhV>I9I=-f?e26dD@pUud2Y&8D^0OTXaLiL(Y_y)%8acdE*eVi2inM@ zWnG6A3TEsFK-nXWZ&He@Ldy|{uI`@VXKa|QX@+p;*=1$CbM*9 zH#Wo#+GreXDQD`GrM5hMFtONUedaGeYOfXjF?DY7=wbOX#^J}tDX-9BdkdU z{F!#hpj^EYD=twc={dfPJ;w4!Zsm#5&{7e1+TOTI9uXn-3dGXYF*QD|F@|^|;5|;> z{vc2Ce&O?XII!jI&4-K>gX2}UN4{mlm@+QV9OPbM^Q6WLXE{Msb~(_v!BZZxEA#WB zz5$AC+9BjRu$4~Pzm9u7Zc5I|e3la@)blus{UsYYeIyNT$~v*=+N`H?CUuM|X0o3; z;iodHbx4vzNtBk(zTH6|8_VR9J?IinE~PAOA0J{KMq0GaGUQ@ArleJ2c!L$ZaiW5< zD!u5*R0JY^yH!^I`gh1r zFlrL|@)J!h>11_w$0bx+-F(Wil4w+aMwvH+E}mU(U-~pE9Kib<={LAY>|4D6eL#Z0 z`4sdT&qkAC7Llz7Qrg0f&1JT{Rw~=__&)yaZZ5nz|8U>nobO8jF8M7}>%b&N1hBgS z3Ck70v|>D!iCx_sBYXMa&zM$3T~qK^E&a3@$)1zT1ycg!g$~SSUhrX~54rIF0XKo} z^J)3)gP1GiyNx?{WM3C+^-|9*DbrPrmaDw~rR`bT1$A%V@QL11Y+I;AUt(okPupv6 zsjS#pOWV~*!)$;z-Q1zNtOhaK?JH00P2x6|jtYG%Execx74+S~<&hHY7fVUVCmzyI zQUP5w>4SB|K_A*5*VIyp6XCbo`j|A==NUt1dU$KqR;XM1_3ywEBWW)bcM+EjwMojf zK;?)*`fl{e(|g%Ku$E(?=0eN~-f>Z0Ovl=av$_8aJ}<1~0vmnk1)KbSFSPt_F7>7r z)xBS-gCR_AzEV&xH9b$n z{_?N<=i8mjyZHKuh2u!Z;uCBT0YI?l&EMPr#t%WX)&J&{r-fn1@)7gt3lBwSJX!W_ zj@uVkeE?sT>%aWV z+n@P&{=)X9FMWlJCLGIhv^p_JtaQ`3=umRnv6pRvG2~(ytH<;YyO^ZViMNxYZ$;!{ z-5MW`2jBR<9DQaS^eqO$QDS5go{Xi&76BWc ztWvAGbe3*JT&;yHqy!=Ak*_X9m~MOarw{%3bnaJwlG`dTT;i5*JwWpzAl}4vf8dVP z8^F9Y&J6@FrrO7D8?fk7`&(1iQ;u=U81y3P>Ye0{9oyvbNpAeo_YcAHQ_t^m^Z6dX z_3K-|eK=Pj>>wk?%p=mg5D_!MTaQ&y_P9Vl8n@b-xhee!&-_Rsgch}+%0KAJ?mDtY zA45A`A(E`(9QEDWD%g|pMftX(!b`K5qBL0_las49xZxuzuecNO>d$;@E!b(=!VFIR z3E-(s*L;hygOZED%K`E0qj_yKUuF1|;!Nd6rg}2m)&}FiTXN`%=W$5<-)&f^i~_lU zAGy*)3*Wu|!g62K8lMjL_8sGmL3{V|iqAvxV3Kp5lPEFL?ab@cGj3z-5$Edf@}SC> zcq5G0#BxLtbXL>zlh;zrEvs=jWqE7Ke#@DD>Cp%5vEX*&3W|d|8yC4^Ss3f8t!jdF zVjD9@LdD&`BG^D?+hntI(+*!(A`3s~4z*sng`fQZWw(E!l*?~p${+p6!dGBf=8%}T z&A9RV>^^V(zPH_Z^yc;gH-7K(JHMAtKVxL`4boRg%8bW3lU<#^`!T&w%>V;{VfmG_)}h2S(ra#TWhvO z;S^O`oOlvmDB;^f(2=*rU92Y($(0Z@3!U5$WkhE1hTDfX#k-q%FRBU^0U(wB@M z%07haXNzCp;f|Mi)AO@@y4Y>JT3+*`PgrL2bDYYn4~JKfGEW$<><-Bj3IgC8-d7AV z>xpRtq6(>&T3&0Nl@DmJKlNap#F zadOGjM;j6YbGAF*Tz!F-dlUTy-n8}M2al7D>#IzGZ@tf_p!t%5UmJ64b)3wxTBiQ^ zGfp;7Kdo(ApW@ppWSpJ+Zm>tFZIF$b9IL?LINJw!yy=Sv%arH2zRB!p^IETD&(Cl1 zRHV7vtF|tAAmEbEfqP@y;R&c$AX z>4Od4^tBuEK+zg+HqI|b_`>%y#_~%yIK=F zmRDzF``H62{&lZ*C!r5U{B74H_K~rR0)6O@NNi|zVK)a2(U9zu-~%VlH8~UqXkj>( zBfra`GaHKlD~%_UM^E0;8@c2s8xhHBG^sqVLp^>jk(5uqJO0L#X-{!cP|ga;eA<(` zxE9JusnwzDiWnUyW8{n{KeiJKIKy0MJO4o6Mb4sUzen_-P3s1ztvj;A;@oBeoqKOs0G{;eevX*B(%ZV|x zlPE&kmr`zgQ9txWi^8&_uyH3-X2!jers`WrHSHSOiX@B%q;^j_(O-HgYpeCxqSBV> zg4@nAqC4?rnUx-z$D$S&2xaB`o7f&>D53>8#G@HA&_-uj5o{^dukj~x;SGO@Y5ypu zeCvt}-X5X*29VaSxG?9ZeO~8{-{1JoyW4Ag;)gw6CP#kltOtF7+Xq?ZfIB;u?j-Ao zjnrauPXs){%t1jK!$lQvA92vgF$FsqF3NdD#l5V~H+FGSoH))(mOJENLvLCVWZ~}$ z!(P%W({V#~4t|bLmR`g>697z^kOd~S-Q|rFp@p|}7DHWk-XauZ<{5-- zVn=SoJ;kbGgv(n+vuF$H=NQZ=E~(jl)|76eC-KD%fw##hkx2R#$~LI z^2t`)i}pApB<1)lY7E)77K54w$Z#Q9KeAnaZ};LUrcb7&x%Yos5NDRm_=EU9rlVP9 z51eM3@FX?eL4SC1>d^4Y?FA2-+~EZHWqup#0guf;Vqkp8T-4iQ^}zKRtNwA(W#Lb| z((BB;@!Hf2R#=`5-+qE7!NSX(`(fXo_dSkDh3tko|(b zxYR;#zSg_r5`?;1Ic$xM_HlK?N3L-w?(~bao|Ak6&I+y<%#25G;JB0F#tav)9?rW0dHSXHb_t;w8X63AgR%%mmM zI+dG~@Ya-Tdqya2i2|#{|Bz`r56zTli-D>~)d{9;Tt1J6u#Syv8;jUENXAH6#wQ1e zv9YX;q-l4Bg9m;5x`w5lr61{&suvt{5rO=IvvbFxPiW^iaPt)w`CL%73{HO26a9GM zRaurB-t1*N_k`7Pq;38=+3y2)7v%XAygo$HvB0=SFUMc*|6CX+vTb4(eA;gWPrJi& z+!%xvkCaobW7wYdFEQ#jd9d&1cKfBf+aLXF|JwG#i$8*W-tKiV2EI8IVcX80*DucK zkF;!{6!LHIOpTi(h7$cak#}1p#Rp(4n{r(0g%2l!?VGuNBHD{4`J5qI@e%vW{T0L1 z3`Ao{)nhh&b)VBntE>oHGI(^K;wkHI-By{1(^D+>)CB03ZNKL_t(b z+pqlcf4Kdf|M{P7KltJM^qY3a7P|3gjn#mUe=sH?K01+yuHB>s)w0e}k~#gKs{Jmj z`_*h0QK(qvlmIT!2wOgZQ!RJmhR^(E`-;6~8l8-1x@-2mwXGwC>{wG@T2ZsVUp`7M zGo{rOm8axt`hJ(Z}IKF(NCu%e@YL_~)k@o7?J z7r2?dsAOy+8XA@KLrpE(s+b{kZd-g>IuRB%$F=$rBWf{!h)V&Q`ugdVY1doN!>Z0L z%ps23%<1ZhorTe;8e^(+YA;%6U*kNMxs2TT9z*Ko4KO|h?awZ~_x@9EZtz*ym(aHj zw%z>^qdmAf7yo!r;>M%xoj3mR_JtQdhcA39U1!5oz!briPx(xr^5mS6@omu?{!Wj^ z{2Vn~iZ>8%a8i~B*|49BwY2@2`$K(9ENWdB5;x32PTbt~#v?7ceKO64nByw>+S}7& zQn&q0Ejg#p`C#UE_?|nu@3Ah-^a<4vobUal_RXh{c-!h8bICjG$JysRes8N9o3iR5 z!Z>KVW=qg+?*CxGYcyUDdh7iUwzuD7(&M2Rz3_o+ExJ#9>bB|t{fIf#{&2s_4KmQT zXUv!0eD(_lAKZJq-OneW9lN%W*$p7uV2Y0_ktF5(86Ou(fij|?b)^~=+b%Qx9y;Q? zqUBb)|3oy$8pRF^cD5~zM3goHZ;axe73s3=OKn+Ay*w$g15w_{P$Z$V`XP7XUm?DcC!yX823E0l$85i-mjSxWQoMPZy#0Xl$&7LP+yL2{{AZK^n=Kp1?D_hdk|)k2Z`P?W zzKyfWwl&3zzC!r^gynr6uDJU?Zz$v2F_Lc}U+Xntu9-ZJdi^ceq~0vpB`;e%LiXYj*osX<{UXe?Z1~J!U$n75IU~gP!Kc>i9)OCzIZ)dEpvJasMV${@+ zk!W?kwC>l@%*~!4>!VH=eCfjEY&PRIIee3ucsT||rr2y3DIj2u%rQTdWGi)JlD>BT zREp?BTW+GEF&Jeoj7PhfMr&LuQQFU&i0d zr9Ah=il5Wt0f0N)2!4}s{@S~It>H0%y13e`3u5fFsmuRZiejnor5(T>Og3Jr+ZY1j-S$LRzK|8v2n3Ja(4w z5r32x55ekF9~+5nkOfD1a2D;FJ$E$yN388tC*`GEwQB7$fnIV8*GvRu#+MT-+|p-E z7E@Yu;)t}SogUKAJ09Yx?ZW?}jMn5}>W%HQq#VUGaVdrHT^0hTI^%HYNmw{kLzWZd!6T4}{*_Xru{qbeTTzd5*#$tZ@RLj>L zTTbHd_#`S)yWEn9uj5PDt|EB$qk0|NmD z77tRqxZ#aof7i;zx9|M?b2kt?wih%kwhc&6S%BnG7(C5{S88Yt?m^u8<8lTu_(mS=E@9XH3uGM;A8=JCz?u9LD>YJdDq?uw=IX(ZMQW%?7 z;)hz*u_Sx2_loU=Syh9e25EBblmcmp<}4_w=K+&>V^ZPKnRuEz31nkc+p_s8r*Z%rZmvSf) zNz<+!hiG|D>5021_FsC1lNj1?j|<0_G}1Q)GM%an=zh^7CIzic+2e1=Qz-Ex^!Ql& zJKy=&e{&?=wk^AB;CzuMqsck9^2t+a%1mqmSM>!?1z*Fj>8wY-B<<(}{V2dmUXCP_ z@ya&aYAHLf`U(>%P6XZFnFr|a2RwL`FHblI2%0y4wPkxnH5l5kDt(O*nN8b#a>iqw;*WkY6{_!N8v;e{5RM&*vwbX0Ga+I;80xZQOcy00jhg`V zTYpv)(ucOE`zmtwU0FDmlIG1-Z}NJh^$EWt{De1ZpGaf>n47=I=SH(Kj2D0BZEniu ztzc|Pt4(Be0Uzs=?xhF!y8QObio-5nJul9D;l(@K-~6xtyY1DNKhK24)hTZLUOnb_ z_wdW(M?~`JXFmt6FNP?eqh3}fw@EDsjt{*-#X;<4Se5zGL(7C86TDCMMN$@A@39SUYv8uK4~2*>%W$6QQV!q7r1K8-y_|dGQBxY3{MAlcj3WSh(+qkAbCi@hPrVT+BMZc#W@S zb($0;RLi%-u0Fcj{*|BS6WpKSh8Ugr>?3!!p2H-o4<1hn#E!zu z^BOiQ%z3dBIXv)s8fv{r3Qc`wy=dz4gyRn{68q-yJ3No@0dM_2V92o<>|-UNY-1#@ zh8q*zcLgA;#At-cvu##Lfh8N^#6-BMJRycBe6m~!jNBjA5H#Xj4Z z@*qZGq0}#RpHFEQHZmS;l$K9&(*{XHA6k7o`y)DI1>r!P^3D$hDZk9fg?!kZ?I*`Q z2bhDPn#zT!As>W_uPp5En8 zIq2yTE{OXUu*o<1Zr!@%&0cW5)9BGTviq14n0YZ5p`br`_5n9AFSold@-*U_Rm5pp zPNdTQD?L^z*0)1ek~B9a7AK&YgOe{kvo#*l0L4ODc-AF|KfF}O9__JB(A_5Nz4GW=+vTG-_&xD= zxN-E5<8>Z}@&wg{)A__R*fT%duZG;ZU*@)#Ts%wDSABL5m7CDWiS&dq=#5{?&b_cB zt1s#MD7unC?g4M&3x)oF%6`(H{`%hA?{2^UgSYwYGhgnoOIV3_>EeD3HKt7Vwd`X# z&vHJaM7Oa<#y2T_(Ci7H*Lman54Yd{Avd})=i9&j#IyT)eV67KGj&up53S^Q-u|H# z-oVLDpwXRqI5$~sR#Fvho@vP07nQ{Ny37b&+h6Hd9o)4NdFOsW#T{$~rX7iNHo{P2 zDcdN*v5NApS2q;g^;0QfFQ$M$yZDNk9Z|c+!}+o|0bgMpyu^b{FTcb?f!xvbAqsua z@FUvvjNkS2ZB@swn_Bkw6BCT-pNr$j;~771?7gFuspla#$3=AXO8er&T)xFyS*IlC z#7Uh`N^ND4KZ!rIWhN$VTl;RAU(ja@=koKW^@{TSe z-8&qsap&`yzc0d#&=>h^?z`MvedArmHL+?6YTB!Bw)cAbL*m%SEqZPDQK9Y6Ios+% zoIcl%W8b;kW0pJkbcbz^58Ciac#ko`MQv;-Z*u$elmEWSZ#&(_Z%X4y0e??erOcD~ z?dPxU_?~Cdeg=!jIZPGtJ91*MU8k7|E_~WzyKR!kM~R`8^ws3H6$hm$XU=k#wHt&q zOIotd!O;nk@l764R?aO(OI@)nr%s+XV$sb54cZb1KjVi^JC_AW`m&3%h{16coa!lx zb`69>5zO7=l&dehH*YH_OUc8wgf2aoT)ZVy+~tQ5(Wj3*uV5VJbIJn4;7{Eh(lA)Bkv z+&EoJ6$%N7ot3_@w)lJBgfw#G0E*w3?CKO&UrGu_dC{D@{q5htRpi?GjH_6Dj7`g} zJGxWW4`?52qjHN!(MqytQ*14sEcW;`auwfe(XXxgw-7>ayRXyHcMzMD$@ta=eI_Z4 z`n@2+3mImyj=bWh_=*w5=JpkYg<4u`ZP&y{ozV+T9s6X_)d{~$YddBOs}0k(lik66 zPT_babqV<)C5WVjLX)f>@n(i6{)c{H^rwhL9Xv-KO@9y zA0sh79+aEf^$r(Ut)+e{Q%ro)C#fu%5$*PRCaV2OKJ7BL+jcP?m7S!{#ozu*zxegX z_dnd;eEs$9@A9eVfB4Ve!_+L&ni7uU>3_=qtB-ki$WDK8uO2Do+?+o)KH-KNsgb zX-VBcaAbFrT%HGc<~Aq?d{ifi>dI=Y6^#OR@eZ@>#mHu2>-A+#s@qe|& z2G!gyaJ^cAWp)?c`(H}hGZMl~dGQwViJB7}$@(q*m=Bz)Y**XFbVYX%;hYiWoF*qT zOnd7FNVJh|ENUaYBm9x{k<=ciym#0ka`=5N!B=;6-immXv=UTSDW|dmO4c@|fI6d( zGrZ4!>e==ZH-g{e^JX{soffaz`9!y4bC%u5Sb-@-$`+}tTJgsVv=EYS)8yqqz%n$$ zXABcY285qm^`?u*J?go~Fy}uqoSQ%^w(HoHxzf46mfWVKm4E_)Mv@gGdF)Z6=ytngDVa#KX=^V>pK*Ac3N7|to7vt&JS02 z+g2%)%KfB+!pJVsbB~F0t?3iNomiz=@8lIo+n+xf6lw$gsnGD%(e!D;0vFJ9~@Y&Y4@mh5v|<*MT^ z;bX_7j5Ozh{*EtWfbozU!G2=Vo4xteA~!yB)7Q6fE1R3YK0IX|tXu#BtNXhcuFcq| zZu_*i{HbTQqiup5win0U(%mut8-MD@wqN?Ue}%UU?tt&xl-lMK(8BpXfIjiIYkvEe z9dzDCvOOTg52QqkS#pzGO}3nxW{#sqIpHVQyl?4v5hQQXLU0_2_mqq6PoMDCFE^vF zxFG+4x02p}^qK8X{#*av_ESImN4Hn*zQ_e|x263m7PcGbx$*8?7=O&;QGIo;bsou6 z_2l6pvxY^FZK>!>KKr~J&L=a)(Q*EBqgbE0BI5kFl6VENcF%H)fzJwu0Z|Yn3Nn%CRK0(yXh2?h1EX zEvu!h%d70jRiScwOhW_^p+eWjGP@9CGAs3r`S2yCZ^*OnkRX5jw_Z0aC8dqKm({QB z#iueV$>Y*NiR~pZ<>+TsbB?_lYnIO*hh#LG>IdZ!P2Tw1z+gj5tP~skFjhTsqcc!Z zYE0=~Z5Mhlso|eKiWy(WPOzZ`R~usTx7u^|!FfcUDL(Exju+aA&Mm(jfe(&xuj2bV zmwpmdy)}Xc;lOYXNByIF?`7?3h&9X5yANrYAse^|nYy9Yy`v|u) z_Yu3+f#V__j;l90nCV++ z99nbJH+xLGD(!GiNE@i z&ibI4{pc}=4@rq_4C;qY>0xypPw5j!A)r|tW7zdCvSg0yHlZ}VHYJCYalSN$Clj^W zT{hL3ZO8KSDe_A;%|#%7B+iuWO(w&LFU(m9i z>nQL#ES5i!uN#S-WN4FYUHfX0;kQm9KqGl>S7n4*RzT5LM&JY~I46ij-`VlO?O-8L zPjT`^pZ$@p)Sc>F@|CcCY{t5Nf<+*uzsM6A?q8pB)AWL}pVz*)bFuy4t*h-Leh-)n zrYby_X!)``?P&vzh>jtS6C-1_+xfdzG8hKF27>8`;?}P;qYa z7)*UMW)AqF3T=CG-erQ3fT>MHr;!5OnOP@^62lje>oW55#8rOUisPr8*d}}&KHuh3hzA1Pg!zwTFm#0ow^}X!IJv`udiR*>5Rr%c? zi(=|;m2*=hdmH<~<9NWLFz}|$BUV%yofift^iQxO%8<S1Yh(xIM)lVVG>7skFYu$gz6iT;zJt@2MBD?sOcm2T`-3pG+yS^$l zn0ys?<>3Y8WNXH14AyK70kHFscU)ROazPdiCk8+HibH%zc>!PR3M*o;tPHsSpESN` zr{f|zkye=$n8QBIyUVQ(3st_@vc!zBtFS@J4Nkjz5t*`4k_p zJ+U3u)WZ)}fu#E{Ju>lkjFGQ;>}7z+JN(`0AwySQEM=EuA7^+kQN!oM<})ab8yQ)6+oVFAiiEsM&wmEp42J;usV z+T9Ls=|xbT=t*oFlu2#zq>7`w{#6R%vJ=1HMGYMXSs^SJJ_IYK01V1807q*{U5m@E zMjAU3u_A|8?a*52~CYM zt9#%pE^YWJT2mZ`SvA{#(N`#pa;#1oN^Dkp>e| zG0}9MAoZZRUQA5)JOaus*;Nuznc6RCbe3Gvx>m+C@+q^LvDb-hV!5Q3&pBX6(t~1s zusnTC@+m8ua>P9W!&h-B7{bh^ zDk0^6iq;xv3u-9PHRJGAKV|*utvnR*m@)4OSm$75kQYBolv)o!R&J2gl2UT6@BBtb z&6d>=$~@Xj#LWGdH^BVVv!D68=clZgCwgIt_9IkXY^lI1R?QcVK^)(VYxsyNu)JNK zNR%vS`?Qo0cib>#pd9;_#}-73;_jC0MA|TK`ua)1+^q5wwdr7Ir%CiE;!;!0`vYLgPn?8--H{AeB@#A^T~7GIKo*4=PO_KhhtP@~&` zH}DAqaZR5iXdQk&?c)Znx^;E@XD*O57grU}O=0MH1DKtl^?4)MJa6KHtF3f zUqkaoj1N}Y*Iu;o;$efQyz?r2bka1+m)r!t#q#pYuWY~f(eG^E_|@0&gML;m8izVs z@vW9Ecl)$YGR9O`uEjkWrc}%*j7%ITdl!gkq!J57qMFsnj`RXj2f>U{^AQVvWkl?` zMs*`Ua>jgkn$ekJ+E>MlPf=Fj@G&*@2e^?)b>>VFC+%Vo z%8$X=1J?hfLTYCS9>c5(+3@A+V+7$(EN0$TrF;cbDqvKoyZx^A%Fj*Ph(gzhywp89 zs+r!PT_&aSAK%ok(z2z7Y3vj;+fT{G%p7t(z_Nh=03ZNKL_t)@#7|+tatu$KGDwiM zkDaz}ac%5Y?W|d;+ zW3*|@^RjUiqUg@UEGy4Lk8F>bPl5;A?sic$*A!MAn2v-IT=bQt7j~KS81nqlSYa?D zWX}2Ac5@C$eR;F<^d&AVM{+F2cSmnNy|>+Z{O)$~=m*RdKiux{#_tO^?(?}-Z~XeS z2U;vSR4~T|U6B5^KlyK8lKW7nZ~uyI-|4%1dyn`$6V+G#<99-kHYjHzU$z#3jB%hm z^ypE3O#i*{_Ium6zw;KqJO4g6m1#o;OV4%P2m7$n4ffd{hxW7Eby76rBAUk-xl8Dc z2;Mrq#hu}Yd_DU2zxRkwN%OE5HY0=6`rR9fYrfMN1EJ6R;yJ&3Z6!j9fijU@I%blR zg31Ly9ZoHr;)+b(B5Ri5~spTTX4!VUH)JA;2xv%1qso~KLV_+4E zdv$SPEUtF47#Y;P$#uz1oL70<_cO0t@bg$c)InF_h&Q=(*y!0&4!>Ya)cG2q$loH_ zHzvE=F3lKQvSvLlY#dZKtt{oGo^ncb%#GgKW{=X9+;EQF^RyrnQSt3yvS zmwe}QD*Z3U;&Et}`Oe?d&4&>Ha~?J}x7b8dFd6FOr$I^t6YLv8y`T<5DyqLfX+hUNo! z>g%F&j}P*QYyYYz*Ri2Y2-Yp1Qs!oL7ROk`KW#%d8Ote$AUU9^?WDanowM|J0qZ9R z_96xQ&heSwt)`!S_`^9n=NJHF`ZgB;+nS#;&c%e!C|Km4|8|R$rbqbw+7GU__ug}! zR>Vf-|I{91Qhg;XWdSJdo}HKUWoL5bE8Wt0UH=Z9vz+)7(*+sTl*fS+nEut~-f$_^ zF&|@4hJI521i!_rY;dhy!)R3ukIx+w=M)_WD#>z}qfLqjUl%E4TRaHiMS1Ceyj)D_ zVo$6lk9~O&a8%#g*?!-NNAM)Y4l89-UcL_xclEgJB_MCLZ^X>ik1WOMpI{DgahF?B znN{OCHK9(nLN18Z84DwmI*iik1O76`pNAOufJ~*ix-R2tu{2h`bW>H2?P8#om`ySLfryVQQZwB6DgYAnt&5sguQOFd}g?Mh@Kgt@^1A zQw=IB4@5Nc{Nz(3suu5>|LO%?y;X=)2R+oq3%2FNiX7RnSVf;zcOH$?Qj3gbmwKUI zB_&p_4H!SPr7Q6p0l5<^ilMJ-omOf;LdcmLUo+7KA_Xs{gL`Ute%v6MSWUh zY~jVggwpN~E>7VH8S~0qoSs=;N_n}bVO_UkH^7PL()Q0xlUyeM~v=YEw zCX^*3+%h|@+1sE_A~riXE@VlE_Xt~Lpo3k7JP+0%TTo!V+6A5~jakToS2MUc> z+(Jea%Nd6rwGw(bLYtquKjC>h-Pr_&EV@JG{^@Taio4&d6>(eVtVyWkox$*=eALZa4KGzQQ z2*hEq9hKt z=Q2MR>Au$pc+od;qwMv{+N$k%VGLQiA5=#k@g&B6lJX80=z0;!3nIP&?ZN1WyurY6 z!i~>t7ccxc7q~vpTf+R7CEL_9{WAtko;EYFqb6?RLOvHgb5WHz`Sy~Z+{?{heU3DO zxRJRKUp&_F#;#-Hf{8L0XF^xLW5F9hIUbfpjP34L;F?qoF zy~A(c{nStJ7B&{#Z+Pya)=qS446`uT6 zNEA}pp#o;Srq7kupFn6|o-qx^Qr6QETJbJh3(MGK07rJIrVKCY=CKDeIM$o8zr7|` zoBFjMn<*L}jaQJ`9{Q*(^8QCI#6~&x4_}sC)q+)h)g*Q-ShDW;-5ovYRCe(Z>5blQ z;}MImRY)HOyOhvMbwOk%ileT+|%B{4Jo=g0*56Sz6<<3vIdu)`eG* zamJenmwZD1_FX6q>PM_+aNhOli?ho630o}i!WwYN+9Fb<=`ZE!4z5V|7 z&2PWCz5W)zGp~>CJ6ZI{?MWck9ePz3v!MDkWw%Q-5jJ1N@*yi1{sNEQ z7?Nk%ZJ%w|H$7kCw>v+@&Bs??xUt>kMzCX(cP)4TsShdXlQDNZPgr7xHuTHaeuN%&@`;&#(Z}o0QxU@{VS>0Vco7S z`HcT1^SSDtqhHvLATf{Yt_LeHZQmuo2R!?dJk$f-8-n~AK#w`l^g-^MeqM}Yb>{?s z>cmgRd*Guzw`a$O8@~_E>9O-bW^l;bk}W;ek{~0*zqEvBRrD3u()1GnX$q?1Dq&x` zvc&R_kD=w*Ey94>XO3-u2RL&nI`J#=dQ?nfZ&_UN`7h6ENUn=*DG$kz>u1`5bE-zz z+(K*&30pbFD^5fryyhQdXFEFE#x11mBhMx5%ij2%&pu0II@n|6zFr+u_9x3+WX2z9 z>X7*bH)HnZ+t0SQ{OXNQHpC^fk0U2U@fU5E)a+ilUJ(26SNA#|x>-O%-0c_7X$C~xV)lW&Sm{aI=1 zJAYW(RK^V=CCAOO1x>E?NmCr!^ZCfFjp@(@D;5CIRP+{@<-wUTdEijOynf_=9M}ac zbgYM@&-CB!vDivTf6m^-Ui$OCRV#?-2VvzqGR)GI8tiC{kFq1qDtRQ^Njp#0&ID(T zJsdJ(gDYg(uw<==7Tc?wxLR(EgB(3el}Ye*L#q;#T2Qa{j7Hr&_KAs*S^+DbcJOh@ z%A0XJ0L7dpmmdrSYO6Nm%K@~vb&tVv)+{s)q@1jkatBu;R9LhKoeuxXZ0=DM> zjxPL;*}+&i;>TtoLlx_6r&iKdWe;B>v}BjiCuK|Q<1Ax2_FK|!V^byV?eS}u?!Luu zXwwIWBkIE7KYed|M)%~zl1fu8PrLT*EHUfYxcJw<_QkLJTU74ak<3ySgWZ$84EoX` zV6RJLbJQFYbOLl1Z?NTtF9!(^Ssrl&>J#qyZJZnsbR$Zq=^{3Z;JRr_?yM&m!!s}K z)N+bxcIQeKPaR6gnyJ?`9A||ERDQ% z)9BQf)}tp!JHeP-X%a-p?K4WdjSwRtH_O$dN85u3m)p<(%+2jn{OHLeuEKeL#3M{U z5q*P;bT_#`_m~5iykz8&s5UuR?OUEbXv+a+)wGBU9e43aC!sCx+80y;Rk$1!&y(2* zCn>L{ifKc}pvD*01SLX;OjOnZSN)Je+>y(cqd(C(qAkAmjGYI_-NIsO$(pTLsz374 zYP*?bwB2E!7;9 zj;^M&4BXTqQj9kvlQ`%J4K=1-@bcv6*?Jt-Im@x4%{^w~OO%_lg9b@$ z;zUFg{tT=#OW=I5HX&GgHfq6y63oI;I-h}9H0e^;1LFf0JxWMe$$P;*(qLHQ8 zct_J!eQF=BxGrqtu8UT^+~>`R-n^g=!#CGFne@$H^~W!tB(=q;?_-{pV_Va#)y6eqmz?rxtMw^ItB5;)r#UA0qn)wqjj~K!3`lQKS@-6z z){KQ$a}u0|7cFD7oC-*qv2%LRSp4g)v(Kv#AA-{MTF+dx_yLnY^_t&p#Qq3Hu0EV& zr*2$dKE~_NjOikdjWXNTp`G*bZ}OuXpnzpO#S~vXY5A82L0W8}n)-(Whk2D!FV6(w0BFAIiv9#uT6GSc@8wzG!s2J4e-q<#- zbO;x}pK|k;6}G&1WE;%cDE~jk-sR`BEKAS&W!xh(>)u_}?QWN`%iVGt%R>t+EE|D@ zV8VncSYm)BZWbfVtRy7<9VQI82xxS4M(po9XYai(?^(`=iI;Gq0!A4VGEOT{Rk~nE-h#sViOt=~h6!{d}rvni?YP*b0b)=AY zY@GElhPUPBm9cCo3oD_zP2r8iaLk)RqUdPQ-|jQx`N*GgX}`Dh)Gr3>t!zHBBM>|v zy7?(@xBLs=x!wL0zXj~}@$w^Yr0}H>jw#ut-0pwCxeiJm3wm3`F=4X5pXZo@3#1In zkGb*t6F&3&$J{vngyGJ!u=9`uu5dx5<97Pq3nXa(+7wLxE_H@dj zsV)FGFsrHSx z{vJL>M&XfBD~ch(ZRB_3l~#Zp0b~L#Lpc( z!2jHYL$g6m29z!8@n7aJeIhBV6~~zVSj&UD_@8kbsp|Lum0>OY*k=m`P9P18(s0R>ST9Tci7?vG7*V<;I$w6He=>Uy~xFXfc1mF*rb|d9{pq? z>C&c%4c~b5J29+4f|3JoXy%30s~S4>s=rtVj5_$2G+D}HZ+XRDIrA>dKkSV+p&yQE zo9)zvyHrme`_}J++t>J9`x9>BdDGJC9^RDmCcT5|@k`$3q)|ObvT+xx1!xc)+cv{- zorwYOc46PdAiC9Sd!QA!lON?`Z4-oisT{IVr6zBkk*R%G&NIU^c4@1-eb6>hc@)W4 zCU#xDmE;HZ+8+=@AKCKpgSd6Ww<~?iGQV++AH9s!hh;3gO+2L!-tk5${oywJn47|1 z;U@6^{i9d6Pd_y%srov}nDikVik$I1zEFd&A2|kwS53Wyrnh#K0?SExaip_dA>uJBs9S_qYBvjD3(C=VN2Ptu< ztoXx;`FBw=o({FfSL2FS zcEXNSju%@B)Lpa%f+_=jvu&?0wt0gLMpmj&V6i=$^t(7i0CQ+VSLJN4!3^HUvzlMb z7kM8<*mjFeF@jUQ7E4??Ioi*naM@MZinO{l^ihg?Zr!M*te{xUQ(?7janL8M_5H}B zXYIt-_^jMNazzpPg$xhrfGXgF`hr)sek+%mS2bL{2V z8GvvvJ{6`0l-(sUujhq4amR%a-d-KNRjU2qY9D7TZ$OvUDblE|AKSL;_v&49F_e#t z!3KToVCrxQ`n9ZNeTl-syZ_gJ^DE!YQ(^1?dO)BWW#x1}4VB%A1n6Bb8D4$|2Vw5D zal`lX+ov1_Jo92Z2LSnPm->jq$UB*l)fpWWqYgEPqdiDTlrxxBTI%2x1gxs$Ks7R_ zaNp=-fG2Y38#QNN271_ILSll=id2GvusX?;q+NeXZI)!B(UxYIvt zf8$dlevF+=U#bVw6)6?u5Uf8-uHd%ax~KR%+_3W?^iv*L`-{Kw`u3~eetdhwRXMKt z-ro4o0b}q1Z(I0g&L0WCYjquir|)B6c$kIf zIH*(SK@Yg`YUm1@^hZ3&Lu$baOYB*qoW811e27Bpfnw#wuGgPGxc%zaUvu)$g**=A zeOt*-A~EDMR)dB;$GtHfiy)*uuuF{ajVEt?c#<(E9G(E%S)O$G)Ol`ZpxYClz?`cz z$Qi$}-sxZYN3wq!su$1OS3C32r;)Xu7KwAVYo101qe!$UHoRZ@k~!fe_nJQAM))Ue z>(6P6{nWEUYubMDV#l3+UANXD@khb_tyg1lffC2~HZg^TKQ*S!9^~)1+L$VCry#?X zmcH3bulX%|24m`6iO45(4RAaVrxxqKthSqo__uMWq1q&iwOxWbcfwdf^=mFMD0gfF z(kH;XQJ=~urm?qg>eK=YaXPuBE3Ie;N28Zm>UZNlu~xsiK9^^1(qH4S4a`HEa$;Hc z#_ZxPPUWK}FohE%eY1KilDxhSD{(LGVpv~(3e#!vk#feKv@B-Q#t1(20_w<7$xT+p zDJ$o3g|4=aoEHJ*Wk;r7%fUr(%)~&_+2_U2$*^h7x`1P-T>Grq(v+r`# z@|#=``i$+8H-FhUbHi6ZT&&LswZSL5bTZu_4B%^xV(6DEecLL4U|sIex-# z{XX~0NXUB*)xcsbJ5=`%x!40qUPik>*ejj(jaqFWmAWg(ulco40~4Vyt|Di5gKa`H z7}cjNoOJB#!j{KMX;e~=K-)M3(H1wlto&b~!m%#)z#r7LrB9m<-609Jv@2|A7hd$$ z!BKfxsO0!8incN-Ix~Ki3rV8P${+S54J-Y!^})BA6cDija{6n3t}l@par@st{o=oK zi1n5&9C}U+*Sadfl{^@L^tjAA*vc#xCM}!NS7B1-&za|*4}^O_?99cnu*Z5&o<0uk zK4Vy!#f!g4b}Vq*#oMC~m}eh9{bi`!H7SSun#OoYYMPd|^()OSM!E|d+sxG&s18<_ z?8g*w4p+BZMdzFy)0+on(K5FikaK+Id96@q@09J;pAd4pweEd2=LX**)51M|Q~n{p zC;#~Mhqs3>f57rbwyZ1J^! z#$qjFN&Dd0cZ$1EJd)ef%Eh_m1mG&HesNH!)BvSAG)e81ia1m}AA88Bec$D+({J$e zSAXjLcWzI)LHEX27Tx5~@wmkkOdoFc_dxH{;PzsV_wXB;nsD4RZm4AJP?m20NVB}{ zs|Sf2+J+-Pl_iMVR#9992}#ZDTLyP2001BWNkl?oS zy;}RqS^`3m8I|xxxouVeuVX( zV-=74X>q1+Vo=Xx%BJieBp~N!oqbc7UmM9jA+v=Cyzn1$bNfMFg+`7#!zsT7{L=G> zY~zd_Cdhmx07ZWbT$#fWbeyss7m|%Ff8-K2)_O%f1=jLO@t1OrodQr~yG%c$A57ORPB*`bv&t&AN9J^kKd?E8D`-Op*4h9ham>xCvM_KNOUYAq(GrhIv$ z5`tyN(~kYhC})yR|LYUT^0brfmqN}5XpB67PXjAvoVhtnZkv;#qh};4=`U#zY{y_? zqxKyi%)eZ2c+T|_e~#oC$E=@ot+a6s2ujw)PFtr!4-P$2DZ}7DG7^sz;!!)m#F=DK z{H{k{Cw2H2r7N$&RCdd&Gr;v}e3nL%*1wiZoppFEZ#>G{bw zH2)7?>#7uY#z2k_#Fs8}LCwb|%!GGfRanv0yQ8)chy2Qo)Dg>SZC=Io`HUHUL}q*p z?gc*nsjZkx{FQJCNcq4_tlJKe8Zd1(*$d*d9zA687g^edzvYio+BO;svuM%1;8_pO zYT{dDVkx%Ev99bXcehl2BfiVo+V+w4gtu51)!@4t=UZ1}h4n88p|zaWkVsk|cU)C( z*g$pEnFQRW^n8uNlS~+u_}IfZTEwvQkKY2G|Kpw z`BJ&*++b7gzl_72TBk>~bE-`}@^81-$qV41G>o&o*XMH^iFH<|)#XKYeNAloX-vq* z+}bo(f3mF(JMBO@d8MLW-_-0jaq^u?l z_pEXugk6nKvp?tH!8fcvrSgm&N^bn3=YeI+>xl-e?MSk+9vU3w;{Zt>DYDShU?t6Z zX#<+9!(y9)@C(~XD}>WQe7`!@`h3ofQWzn zT!WE;c)=u4?G$htvB&r#}RYuQ8LdOm))ik(3ZB2={Yx`Gj%!TYvEp z7akaw9F*SYK!)@3i1`-ar(V!tobrXo+!*t~IB%pQVH10k%w=OUo;|p9%;!W%S;|I{ z15w4NemH0Rp|j>+`SPS*)6_L&U{({L=UTCpcw(IinMMtgAs-8)ZA~T%khmZvp2PG*G#$=r_Z{NN2?E>Dqd-`QQ8;XR# zk)5}JchFWTII4LuD}jqE7MUXEe041>FEltNq-AW-K5pOc7W^F~uQwQ%OZQp(@e_Tp*67_7(TsqdH$-xVn%TtR?3K4!dJz}AL+B(C+7raT1t&fm~`hnr#d zEW0?4QOa-LsqA7J>@f?WZJK(4S0tSDM-&^6a@B2nsGoQtHr{}2k+iF`Z@ zj_9`4pdftFIjGPM#Y*0(t_`(e7<%HMpxluxM==6pX~x)vJ^;gC0DTzWkqy4}LdDbF z=9N3_QkEI{7E(UVDL_&u+YVbr{AMeWbpVZwa`_v-C4x!FqvVYWvvOfk;$*<~&?`6s@%V*z$bx)3fG-7PUW#dL(M zt3V58@k)qVo8-~=nBevhxhMGcknN1|xPxbBou( z*dnt(kgkuN>(;)xK0pN`zmo{YeQd8=wo?`?b-!s{*E@G=J;&iChVIQ{XAET?+~+f_ z;5~Wp^!BY^{o3vC{D9yTuTt@d+SS)W$~SLOrbpyZxij#D~JZPf_KYGZkyGi_X zue1ZG0<~Rl*ZA7DzVotb#~7rt@JB9x;JeMOEq$+)Sc|>1VMS(n`W-%M9jkE0koi8i zmUfxJ96#Zyci?Qfo{8FRHwLWLwoR&*NuEp+NveB33?j}5?-4|MAV=59kvTj?_jnfB+M0Sr58g$PU zJzn-a(4P}>+w_|e_xz;utDoQAfA#&_Lw@J?Avb;>apU(9H+~sM&WU5RTP$`J>)fJ~la2^74f@4oJn zk3YHn@gM)>_K$!6hqoX9>={)3L>OKEQ&uN$l^tH;D>9Cm_^7|gx`GXH$-#+?;FT%;Q{kh3Nkv6pthzTF5lH!f1Qx7rB%#%}1fV9b`+Sdmb zV~Iah11h~KxHgW#YCB|opa3m7MaM<3!k?8oB-^2SN}M{wOeV)Z>2?^cOIeV?!OqGg z2l&pMrmb<`moPcSyS@MJ?e>j_{Jtx1Y(DijUXgi41A0wPTnDo4>SvxGaQ(w=plvR8 zZQJ%1_a?6l$GyaC6Eah`#rPA~CFK+%yX0XhKq_AdOWKTn>bBPzGo&)Ba#W)`N{8+i zR1rDBs7^Wh<7a$F=xsaEi;3u{QXjW;5m1cw)P(bbZvguyaOZjE1bDs``;z^Cj=ebU zbbK;R<{tbbUpU~d+b@0n-t9SG3i;7bUoqYt=V|2{y2PWoq&Sr5>LW4@4PQne^${=0 zk!C7KjX<+X|I+{7zjeGgL~MWGV5_OhW_&>RQ{u*|pw|H&a=`0xsJ{iz1-8WPc+`@! zpa;sn0X&EEIllG=xi^88!1VY=%`vHOvPc`34DckmR1%c%y1vc*qlTJS<+jjIlSenzejj zzKv0Z_&+Y*$z<=gnQ#Jl3=Oa=Zf^0&M-Ic6G;IX!h<$XbUHyv!#R8z2ZDH#xf9A8j z#fz$`xpvmC33t@uu~J>CkYO)HvZUkT@C7j^Wj;VCIkc@08;-O}Uj10Pt6oeax^hv& z%$iI=hm^Uj_2SSu3@cH3=Jm+mU9HaIXTEahN-9jtp@%SI2uH8{qEsw={oIt?v=~oYWv}6DZ%j;9IKIO}P zpB?-Qu4+8v0*Aks?fBol*wfpOQc&-QatPzM1N!%#F_r2 z@=DawN^M?l%mr_TmgU4fe6si%-xiS^7?I+y{-x0rQrd+yrZ%L;R{RR6U%4;ZY>d?% z9pU-2Jr2wmkpYnOb{=(o5WG0%p^Q(lAGOM)PI1}w)p`d@8E}o2RJmfO>=~bd{&T!_^!3LcqUG~PZ#bgyBg5)$Cj5QHS1ziA4-^(-(Zuq|7^QPba8W)_nQ0=Gp?{l>ZbU<+blVV8B?|+ z?U5Mk?Ud`t+5V@8wx9os8<$C#10$Hm8;)EH^`%6%e{6cgm*t)}eRK1dGH+(&lj|{T z_<(?ywhPMI31TQ4N5)ZXM+IK(Dir@B-IW~mjy{1fuE}XELkMJI32P%hftFXz15<%* zpS2@pQ(e_-?KRewUzuwj`BA@^jIOH-axg=vk;HTIiy95}lu4|oMB4N)Ub<`hel2ag zpIU8G?Ft!Obi%i8dF+J;A=_6a?pUiG?d>=^*eTeaM}L9SdTEyX_OH1#7IQBUvY4xU zmCJahQEk`ACufDfNJhR~&D&-bxW=e0>D<%3J^0G|xBvWa|ChIKe&aVG_~x%SfVpJu zZ-E%E&U5wQb8if*u>QmpD~}^*r$;UO+Skm6M6PrhJivJ zTEzbPl21dy+nd39wr_hK?S-G}!staS^u-ZhoD-{Mg&*+t?|rVw-RHY+U;WD0ZvV$W z{Cl?_{QggJ$eH~e@ft^LAaB2UaVS0-pZ3~JEn6pr-eM}#l$6DDh9^N(&atr|($j8( zaOg#R>|TjMI<4tvFw95p5T_7Z2*k#z26}1I{nP2LEkaRuWIWJX?2RG9@Hamrf)s~_ z8Bi|pe)gK<%X_!K#9P4cf92urW8eDyIp;e+yDIv^{*Dp)KYeEIK?nM|$(uOm7>KKWkcdTF)BB$!%XQ z?&{cXo3^h{-fT+obc=zcW3J8w|CnE(W?o9Ti$_~Vy!!W;Yi!@w z98)=;J$=Ibdf(6cLU%$9#tc0xY=3^L{&Ri<_t~efZeRZLx53M0d6=h9ik@i)$e+ZA zp7@bt{>i+Mxk)lUsOG#Rj4S_{=aYxVyzTza{RxY$y3<(pi&IzBb3%7LZm;eYGVf#C zH-N2c`!m|pPhCI!{L|ax&wj+)zI^Wa)ereS(4XHPzj@B`isNl={37eZPblZ@tL-1> z0MGx-<0H6vgBCk9ZI0D*{{>x-UwgjU{e}H*xCY>#J0gmf>MwcsRo(Y%C!dd|uUR%yz%?v4?oS#DY`e~!{!ykEh+d}V-rU0!9W1_@SPSE7fxHVblXM@*KU#y zkLR2mJaaDmkk8-$lsccm_eRm)@U@$KNHu!&O}fnrc8$w6D=J>-h&(fWi1mm#NFlvkKl{HDH*FswyWc3Pn#+Fn^9Osbp3Z#AvWdU@2-Ht-JY@%b1VMRAy> zjUxx9XnxJ)OT5MT-uwI%1i$h7kQ>0c83e{0(s3^iY}z+B)oE96!fArt5H{PUV&3wYq^T3Dalmquxje@~g3!;hvOfAM{3>s3Hd%$*e(6KoOJaDIw{2G!7QFgX z^|#x8RO8QKV=&jYRT0;Pvmi(M!D-)?90g-_ygH9Q@)`mC;G6A_dBDq?rE0o8M2^Pv zCp#W;LBThM-!RzU;j`Rd|MEMx5B~7Y?L&?w-tYwlV>hjTJ1!bTF%vW3E0cy;PcMOP zJIc2OBOktH^=r=<-sSDycZngkbJ&3f)gEt}!y&%=e$JXa4@g4t5Z&X>C+~W^q735( z@U$uC+iVs^m7Bi@rOfxR6&Z4}FW6pUB4-;%30)at_3%0lA*hp0I(>8HV%KW_c zE16iGlh{pld;;K{9R^sIg9pi*pnh4$pU5&6Z5vQmZ4ed8=E`fwih}GCwUh}&?>E;*G_#YUUS0CS& zJ@nsh`(Xrr`sq$v=-Z);4P>${X+XOCX`v&|L%vQ+-=?lw>Ge_kLT&vTNii#b^rK*J zrK^uEkBy1<@BzK6?7{?6l|z2zx_w>!uTFh<8|w%?t#WRwr`-4zkYZzL+#m;_7~>2) zEk$2;{zhC*nIQxvtI8d)a-p~HoEMwYZ(??*Q!Mb-*W}_S#So=wj~He;jFB-qv=|$$ z2`08r(#qFXYWgvMkvm0JEwJ(V=qy-ggMU$OFrpLDFM>Ls#O*uwm212Q{8e??u~>#} z71^uYTQ=i|a?tPpD}Uiz-?ij)wmWK1gk&C#im*FuFNV33_qP z$EPutBy@Dh5Sq$KNbwS?wj}RjQ9_oXp8!K3n{;K}=@0n94Za(GCF23bsU~h|;i6#K z1LSp~S_5{`gEAQDy2gRFy4wIb5e3K-&7;tY6hT{kZBxaaP+8i+?x=P>^FVuGJ;4B)f`|ArcuRP&ICnwhy z+h9@3!0bUK|Wll;lLPNJ4CoDJ~)&twH?WpQuMVfuA_|P*Jt+SYMeLXjUwUy6) za#E8|L4&>X+UYq$oA9G!U0g)4nI6kwWmDwdXTLFh7D5PiWxwebh_1u-Ut6+DIpFDObn|orHCr#N9{M0l5v71J7!?4bo zN!r(KhPwXrB2l-AT&%2U!ssfVBCnxgTAZ|zb$lTkUUgzrIcNu;#`9BCy5xz>r}WcD zT$KNqhml^ey?f(k6vn1i+f(et6_iwCXviBI<>+boHr$q>YIjpzU3-Wx1DT;>cOvA< zjGuV+M%X*t_`1iiV zisixO|&H6mmcc6_6zz zI#Lm9J5?~DES-wHw6_fZ-PuVqw+`JKzxGXU1d~hiAaD3&IYtq}WFAb*xiUas4=-(H zd7L#0Wt|7^@yf}oHxF*#{wsgw_V54O{|*-|`4$16;&|hYU*49gv(eyY@MrO>e%7a$ zaBk5)cwYR@)9TDS{&rX98f>NIs5=US#>C~#l~-JN_xH{oa7F3?Z_2)N??9Fbr+eMs*9!6j{C<|LWwj0JfH$CCLo zzPFwWg#l)@^Xt@&Fu3IRx!Li^ofL!W$)m@&Z~y80xBuz4|2_|4eww%ftX@pBI+CsQ zR)V1K(l2gDw?yT!j(}}qIkGq(`9YK?&ed8f5iWJdktn9f3(`u&>%+(=8+#+8{kKyo zr)`hnboQ=4;v|6jkD#PURF{%RZI5aZ$_PH71Dh(|nVXje2xemwfwU+v&hnbW)Fji?FoHU1-RMCTYtnJbBHY zz}8(x<)}nX5F?>-^vkI_@fSEa7hA0hUSf`~K-n9vG9u%Obk%qJa_E#be8)oMs<%p| zuD(k3H~d+(o!rjbiq;o9JkxTB571oQKHX!^o1d z`yJ{Crwh)^7Ie9jO76+Ofgs97!1b!lpNy9{elrVSDU;v2NtXZd;qjK-xtWtEIrR z&R^SF?!-l@*KVes20D34nu>3sno68fqU*`YOaI|OI570o6d7%_Bf?*|*Ed=BxB>K- zyT9)~eV7L@d{Eg31oF9V+Yewd?JN5!7&*4HUxx=!<;stoI^wXh?xHWz4_*imkts7i zOHILiQX{frseO^!#Af->xzMh0-jRPx=D?SZgSN1==*MKd8tV8By)5L>OL^Up7ZrK* zkeJHEZt*wHZ6ABkhoYbI6$HOJ;|(>pU1xcA>9@x`_~o{d8+W{Ed*2(aoKrt%dwYl1 zw%=za`2!vtd%FJjCkd4cgtAG~7FzHniF_Os8gnJ1)g ztmAF;0y!}v5fN#Pvy#$fgdc^{yG~%)Y&#wNd;74t65sM@B|TfU1m@)%ryrKG&hu82q;Yiylzuvq1M*%(Oi z1H3!xD=4@BMKMs9Z3ul_UjhJ6%!s+&wj2=4sb_r`22OR%7sK`*AEi-TUU4gD`4^^T zM-PeAixXp`6muhUgf;#w?zq${m8%~OY9l;EQqZL1RNNl_Quei>$K$Y8 z^k|z^Fke45AD*&l!lf7T;@@46`~T`+`o?!f<8+TTJ3s)uSt1C#_UwFp`@*M${Egoi zJn{96n`^#hwFi#wptZAor-|-t*9&+Qr>R;{Xp+Mw1Cx3>K-r1noZw+fn^qC)GC#l^FjG|#`rfncz)WfTQGKX9YYTpIwxKfi<-ibrs*OllGNKQN! z6Wa33BY%fi0Wod2rp>L@Mh8vxHx~Oqa8JCNVktV+Yu$r}l$4b_Z65#M($v4mLQm_) z$i%t+#qLE=I@KK1YHJ42fpbT6WyMsi&py840j$>Op_Dyoj=;UC^HV)OCL=2H1S#Pw( zRp@R9?=oHv1NM%^biez7?Rr;=Om%jZX>AH7S1@qcZ8G}OhKe8m_%Mj zr#kUat3)Tv3H4A(VVvBtQRu}zMekCiUw!X^|KU!oo<6K^i*dD)FI9x{L}MO@`h zik%@hEtx*ZK?wuEHhG5=pGQ3Xn(dJT<(E7mnXw{b+Ns_j{U8?fZ3F3Iryf({mi*;PC;>M_-LH3hOy3bGJW(<3_ zl}*l_j&Xa^;lc@rA$d}o8;!YGjjl8qBrg(Jlu&COmPr}nL1f5Y4hiU?G*E(dP_EMNT- z*3|JfeID(@$>CS#*zbh8E5XtA<>udAR`bR<{9{E|ji zg>9p|Ir8G*&uXI5q|Q+pl6bSknRF1mrPu2dz!+1D13Gaeak@{DEaQ+&QCe)lS-JFw zjs`9(EEvG*lBe2S!LVFO-}-o=`=c7lmLWGy!AuLWMP>Uo7kk5z#yln)2c+Ebxiaj(m{cA=diVBU{U`sy?a%(1-(cSd;d8!! z>s!DAF!Y7>jbK)}BK&4{f|-w4e%o z9|%(Y*Q_!lCqJ?yBAC1$AdnBPP>!+k6m}m;{}6{aUhex=GdH}y^wn?Pe)o_5$?bRl z;rAj_@09PD7J5_4Yfp)ot4-yzj7?+Q)Us`B8?jy{`QmTBI_4cO(`$np-SKJpo!dGG z>4qi}_vD&OJ>Yl!l?OL#^)}fn8EfNMSd`CWo|QBohpsuKP~&%fvio1~cJHr$`@!wu z`|MY_ko%m2!FPD0=ldVObNk01^42f3AMu;Py!gl%V%%v{6B!#@_of=}p17ZKWFerx zy$Gk_@iVp^1CqLr6>5_@agwZ|Ys+mI!Y@h!k&=zbwsV2vNWexkb``xMZeN%mwiHnP zDyT7%wD#%N6+&}`#kuOGyfTO`E+B_a5Y}FmmlrH#?Q73wP32A7lyulkRiz94kcWQa zDsYa|>J@v{m38|TZ1pr0I^=BA@(!OYiRm1LR&=92Qj3qA{~D4VgLi$o!&3$<#XQG| z_}U%+`mlpoj>BU1fdnh+hltPU2ZJ%|Tfj`m_e;v+>JM@85p;T|O=RkU9rIY<`Rh#umDH z^HQuC;~pP9puE3d8cfHNb~KcgBhDP~;j_+7iE#r|nm^7K4*Gm6eC4`NSgMqR{5Xp?^=f zvFqoQU%4T%czqz(OrfPsIo#!Wu-kpUmhg~1d&EOCUZ48f*B;$|#Dio%n$4z_5jcX5_+Or4@M zw-r2gR!>=38HsItw^>eoHQE~8tI;12+=q>7azB&q!=#xv(a_#DZ}(^DASpd)o+w0M z+Do#2KufPv)%hGPB%BUwKDG8p*n z_W`Zg;6x#mQIE}SpJFLm?ny6*zRS^~cH}RP63e%I@bAc7rHiH9>QO8vxwNLcI!itB zQ&6ZwC7uoN#&zgeSlJ8lPCV0=jbntCw(Yzy#z;Bl;shoBw;fLtNQGX?`n$QzxHW{U zzUB05@)KM6`mGPq9&=l6zQ_5C*}5K|SS?!*`OZq(hHqIB>({i{(!y_xP+L3YR89#} zuq@+!NLzMXIH$Cpwwbc@s4}5#Ii%=^1ss)YUGn-n^k7S~exa%Au}#{Da?FlEcm#fp zRp>9K0Ssfy7~{Wq=1Z@3dJvlZY?6O1SE}nhhg!Mi-Njg(&Xs9T;@EK%`{Tl0PlCEl zve0e66)f}_!{Ut3cgNxhK~!mg`+ws*-~6tRS*=sLsAC@3ykd{^IlR~0`2Fk|Pm^-d z{Urwx?mTi}rxE0Pax0{u{Ku)5BcR-!s=-IJIuTmu5KJOh2HgltOWC|WHn_^iWMqn~ z?sl4bDJyDu{9K*x>{TWeE*|M)WL$;LN*_owHp;i2lGwGIK|>=QasfK=LLXZlU>6Kz z!y;e(+AK&8_|q0+72zFB#T_42LeBn>F4f-$Dkr9XBFW>P9H=9ca#r|F-nOoc=zD^+ZK`d>jWP$8OnxprwYdA$_R`76K`?Dh=KUO@){la)r+_Bdtwt};#*mR*^9#QtBoky zVSCGq>sS-}G+jT#*Ipb$e{74JHq~|5zV&Kc-iPqSCQt4P2EpyZ-<1_yk}hvqUHvY# zxj62u);C2=>TYVWUdvejM zMl?e5^nwyRFMu^suG-Wql{x6}wY2(;n5xlX1x~A80F>;6!oncRZ~A%znEqjpiXFx| z?$lm&?;0Qf#DRVFD{TW^3ms=I#~IWP%`~zyN;Yj@CWq(=zn_+S!o`ZmKDEvS=KSXT zxH=ZLi4x(}8Dz!MYTKmNW9=%3$jTW^aI_JbFr#v=?60Gh4_~Ai^EDM?<1Qz<>JNq* zCt51u=|^RZ;cmK1SuCl87Pl+4J^<#w#)2!N^^;$o0{yGN!B>G42o*7PMtirUOxi** z+9c&|8$@%#XJkBH*miTD7Es|*Jb6(U3)W$HDrVX|)~y_J#_*ES{a63;d$+&&H~&^{ z1n0MZeH|zdK(Ig7fdAH=T-hFa(HbK9v7C(_@Zi@MZ8Ghwj@M zkDor}YasmgBshJ$xOTm@>jkCUaHb7x2FJP>Uhwv!e}1D)KPdOM0y6L%-TvoIU^ZM` z^mEglr#d#AC&W@vKkH-5QI-R}^JpvXDi(jeztM@Ft1X;3YX?qj zv@SoCqaD_+)E*aEsEi)#-FP0NcE{lg+0T^3ag4-(M)+WKvVFn_=DlNa}HfA%{MxXE$5{lWL|-TuKJ-ERNzhi`5_5TiR6hBo z9LB7AtW({PG-F}(JJzQndF>@{J=p5#tO-J6DM5_rv5_A!z9l2viM?f;-!U=Alo~RT zdz-RFu`NyeP(ETFAMeDVFG%NtL}Kl+qzE#?%{Gm%CnH`jK^|L}i_8aw8dUUU4Ji{(as= zUA`Gmq&Glenxbnfs{&?f#%QGCTjXM`9n~XP))dhx3T{)hD+HFMh&J zoFDQ#zu&(-ef?8@WByYXJ_C*I{jx-Fq#B2Ao_?RDxZgH{Xe4c@j?wM!-H)6Q^)>NS zBR;F`G5j8{HCB#^KYMZe$p=5X{m$?G@b-Iu^dS$baQtaF=@b-jQQg>^a_7j71?hf@ zT0b69Se|d9RsFKF}pltJOOo#Nyzcc(&E_qRxIJ;aPo6yjPXA)RBD>CLWy4oERe_#tk9&h zK$LD&rBps6pvBM?a^5P2fYAf$_l~eSZ5X4`$nS zb?)>IjTt90$Jdsqv_7s|P1=3jow0>b`U|Q3v$ebt=&|m*?{Xf`&qVnqFRsNGf9E$T zz_zQ`LWq}ZB9{4HPrjn}fH#02@q55DLCz7!NSlS2ToJj^X zc!^Cs5!2;vTDt*V5p^Sq1#}ncu4ZwM?d!tSzbr$$ z>c@mk40K&n89UI!lDh@0FHg8LmMufXfZ~<2Uc%z5x7&)siRloQ`~Q{Jd(iw}zsS$B zEUlesc~TDqbmE5?Bfk8p);Dyv4&lH)bmfaRdE%w~b~-R%M4p(J7F`t}NRzKy*L2W_ zD1YT@ySlQ!pgV+MtiJiBZ&Dqe0EhWY-)PSioHZg}n)M0fY^AWqPush`jaZqhd&OHj zX*nefTYJr9#$*QvZ%h=~sPiFUE@Ln|)-xo{7rS1E*jI@zZd-{pYrm*2gA`=zhlzy12J+`IkixA;AouinpZI6vp)jYAQZ z9PS7hoUSal??V++XmWkI<`<>$VJYG(-PGwL-XnLRTO^+ z<;M?s3;3Pem%j0k@yc(Za?#G;2!5anVLkVVlm8rWiogMpZ%2Cb*8@}k9RDLWK48HH zuA#J!2bLa8O7t(!zJu$SPAkIGx9IC%yl$;qfm`DbwtDl+b7{iP}x9LXAmG! zDw?vDml{TNT46op>wvtrXXa&~{LC@K4KZf2?Cg-T9W#&tNv>UOh>+5(*G#GLuk4yn z?8N5eVN#%1m~ZzUKfL|N|IxpG`>o&jH=v>Pn(y7QJ-mMD8^FDo+?%rg_Aj3ab)bpO zqP6oz<6Ni&+oD{UW7rf2rRPoh@JGQpJY#X1RA-)?3h&z#)MEG5TL$v z^RfkKjOVD8R9^x=c4BWZ@9yJ}@*m8@*3?1Du=(Jp{MP)>Uf#a<$G6-6`OjY8{(zgm zpK#pl*fHfn1wh`oLuJgo!&SXt8OO1`fKOl6PQszQaub{T3jF|c^BAz6f^oIfwZthI zGsT2!fzpH?%^}5yNJ+@QvbC2&$`_n8+;9{{Z&YgG}4iA^6|%?)Se4*rfmF{Fb% zm~JC3&Z$nFen!%_+WZuBVlWoRhTjYY+dhsC+koX~{0QuO@BbNY9P?CSP<74}>*V8X zXxFlYx9jLc%{kotiG1dG=5=OyXw*4g%*{oLGwmO_^Lpp`&g~qbq0RgciVp|pH&nrR z>6@~j{p|Mm<%hTXpZ(G8;fwEc4*B8j>FpEdYTo$eq|vj4do)NNhSXT&);;4kS++f` z#_gfW+qCpkfcB3<`$4S3@0cNKa{xFL4(~O-yyE=#$8+QN_y74%`AQp)WBI0DTV~7^ zbG^wpS;Jt(7uv!8V}+_WQLNXVHZ5yhAG{vqO93zV{H>qE|AgG*bbtHzGa5SkSNi5P z?UcSqx8XlLA0XX0ax5<<(772buV&JI6ergaIVSZf>(4dmyJ^Lcv3NXmt)7EGTGkd? zI-ns1`Vgp0%|VR(Ff9XD8>Myo9B}wo+_hTYm8Vb0?$a4=SHHv!wr}t|zmIq*Q|>D} znUcpmo_pnZ1%@HGK#D(}cXiw~*QUos36=H~qYv9nd7NrYf+#_%xwm}Q1h|ozoQi%& zht(NRA5~rW7ckRKJ=-KcUbbk1XJQ89<237tG)5nFF(xN!GG|< zXL*>}zR{29X-qSSDs9?vlpJE(iMW@a?R4evAx2I@{J^np zTl%N8Rm$pCwA2uar&MG{L)NH<9s>eJ&;p6_vA@Mv`%HW4>Wepiz3H3tadPRxTCi;8 zs7KS@nk3H!8=1?&XODzUzhc2nU;5)2J2$_+ux+YlV!*h6ZztP2?YRv7*s^vshzzBr z-pPX<)?I#Ur=D_KlXpljzWmr3o5-|2?ILfK*5A!#2(xL+n;(h@NV`Nh1c-09!+^zx zrq%08fG?yanH%S(x9bP}bS|WgB{=X_uXQm&&42srkQYbaMPaq{wIk8L^(k`0tj=4u zf&&Kyv9dr@e|4)N=J+yrk(szo*)qjBe3){+HZ!`Ltv%~kd1Fixe{GO!M;%jgH)b`% zqr4#DQ%yhjJXEz`H2x1A_{FvzlnrdkF&X&Te&mf0@+_ap+Q?CgE)wf^q$_gL#JGUe zwzFW<>5D=YTzPS~Z1{37%}{`YdNC5Im0tSRRinJ*pj=RgZjbnP$VtC0>rnJ(B_Fz( zspD$SQ9?Q6**44e0I#-IbK;~by)xB}gpHE6u?9b5L4LT6J~9!DWmj#_tM0I>*2=XE zw)n}6D>kjJklSmw2YH$2ltJrGTw^BL!cF_d=Y>z zZ%qE29mflv8uD%5SCqX@=fO(k5PaKMwy`x}ew3#|rk^fN1RNzqhj_f9MSay(7zEVX zNZIPB=|kjpOre9wLPpG!ybHk@Yro3jNH)DetTsOcCG6Ic@AXB zH$|3}_ToD$WmBdg-*#*pR7t$e@oiyx3;|}az6ONOSGqNnXt50(1Ag75(GV|PxZ_7rnS8> zq>p7zLoMzhPeB_!aacd5-A5=o+t}W4!QXFvi5tLQ;%QyR_@{2y#L_p|+^)NL{+2g9 zu)S^OT;hp|nDyF|t@53$AG*Eh6BxE}rFN|NW*Xk=ut`30@33vfcG^bNGMqEK@hHAJ zxq|AUcK`q&07*naQ~^ZU`O6a-UlM%rjL&LvBIzfe{k{2IEV850UbQ>Lz-m@3$3ogz zQ{pGVAXyJTwUciXn%rj6oULXZ8<MZt5yXo9FY+dE3#OTeOgiJWiUG*Ms#U7DF5V z#XUgRNb?;hQzM&Eeu9mv1Oqr38;^d7v%e?gg(h$M`Z+LZdLiF2=4Zfd=YFOvo?ap2 z=UPaP$+*sH=@ROtyn|YPu%_a({=qW(##disg9*hCfBxE+@8AB@|M2hdWszTD8{pT#+#X)N zz$6$^@cp7ABay^^0#_tga{P!r(i}$*~cPAyp%hrbc;* z4nka9`N*DgcjTj>juU8koo|bSs)fY6e-G1!U})Yb3eM{Nu+uo#Q4AB$sx;67gXfXU4P6QcQq#@++I2qiKIa2zqpbow%wnH zHp0PILE-|`QmO+fY;i}b(&fg38f^@b?kd}aI^cUzZZFJju2g)ec*?rcmgP8rVf@1% zyy5NNH~h9G$CjKU*_w`}-2Amq-MOy+@dJ;bt?$X9Rk1^Ox@D`Rn-F}w2Z zygPN|?Wa3Q9SAG8xybSG4&O@YIbRxH5RS4n;}x^zE0(q)hiAD$<0lG^>FJ5!w2RbG z^voAKdC08%hoEmO8)G7cebV=QuehTZePQ^^5Huehc!KmngON#n_+>{|%-uFE>&rcE z?)vun10F2&eAe5a@4xHstaGrS41Y&Tv16xm+^gHC&p*9=<;&kjkl!#*Qs``{(%M=r z|Dtt*7=~?bQ608E_9+=lZit!osX3oh&o=Ko=p1BS5pPN+_W>Xe)u_XN?SA6*ryTS1 zdFSWf=f>|3c|iC_y!HDrpWc0Wd&oZRJ`eZxH+~7n?M^^a`@WUk+VAw^`0EHvBD17l z_LETIWQDJc)x~xfR+@Q4FASc%Pqh9>7rlOWI-c7~4IVevtrlA#;4!YBHbjYJOiBK<>-J$absXcJ2qe0%N*tK&1ko6M_U^wy6P`&LLPi;$isIV^VIa+ z$Dil?&)<1hKe`SOHSpa~{5q7rKV;hWVPV_o9^1Uv415dtzQ2bI-Qne2=<>$5o6VhT zIn;N4_2#&B=K+PC+7h|`%EKC2=HOapZ9MX1Ok5V_+fOEMBnxShS3cOtcdJ2=|IE#R zxsCWA3^OewD}IjADC&##3bsuXSL8&6He9kK>n3w07B_OVmD@zLAn1F>1MT*}^KTS7 zMiw^#2TP=wH4i1;NiIVg;yzHHYrfRI+3TmCpYh_BUqyV)oUE4Zn6L&%#4jWS4r+y0 zDWV-;^-n_D&OF?^tMyxI^_1gpZEU`3V=w4aj_lG2p!HD*y_Th$%y%q@V9XTK{#W_P zu6!gTxA!2#*zHjLqF2uLE@=I+VXuCrjL0E2YG(0o>WiCv{Ep1XZHI|tTHGxs&wjl; z>n7!DG~1`@@!WCtZDAMzCif9emq(O}1gy^|qVL5x8SQGQhF|nes&fMr%Wx zx_0Bo%8&h(z0?2ecw{@zg>=WvXp+U^@FvV6Ks(2fV5jdDFoqcqqAZ4@mhn;jrXgJ9 z4u!}pUuE^Jo6L8S9%9-q+!dp;zME^=aebC|E_Y&;#^)w4p`8mGz7^p`v7AWNI{?{Rp_I1_$B;YV7?Q5j{B3ZX zk7zOtcQC4F&D31^-MdFF(Vp^^t&Kx1s#>+cB18qVwtTHiT>Ftfd{}yMjOCC+CKz{s zx=|>jZ2i{$2&v-%RsX{dEA-LP_VQIrU0l6v3MsroS8VLm)d;GSgCTNd9&z*YJq}F2 z#^;3o)Hm+kew~}Yzsw27``iqE%t5I)03L7w@gez_-{*oN2O~fKn73#>V8E!*Ci`e> z;%-{LG;N#5opm?@p|qLh2WwCmZ}~$cQh-ENJeE`}TVauBs>~47&B6-7Hw@a(Up>10 z`Cq$td-`=Q1aqS5&0Zg1;5@nQLwsHv_IIswKni`1>Vw|{xFG@VX!F3)C&f+H9jC3u zwK$=Bk;MTitUgC+0hN!Rp79pwNZ3?ofOfm z;EMtM0-tiW-wNJkDhoaQ=uwVx5f^m6b_t+A(SnJg*VQP1Wtk{K*qPxkVo^P7KsH$EB;kUQwinO0#TApONpu zqkM%Tr!r}Mx0_Y_nl(zuZeQdWsQ^ScbypxLEv53klfdFCA&a>qnYMzn!km$q%&u5oKh ztMOY!d=}UH$1l0N{E~gqr~H8TC)~W|0~G9w)KjaNZ4=P3?~){-W&f{ZAF^$|Vj8Z_ z;AJ8ZS3EqDU&O3io@fAihk@az4gLJze&RWItK|{LZeJRWI|Fw3YW?C**oSj9Ts?f! z@uX8}eV1~mDV9nKR;oqjQ|dlt{D^t~F~4!`?>jlZJ&`|pD01a#GM_#_P%d^vEp)Rf z$JnfnI3sHR*#5Q!h5T3PpxN@+jQbTXQsgTu!BRXv+C&{AC~tFR>)ct0?L(krrqSb9 zgvWuyk)VWA8_J1Wf0D7PZvBXVVK|b+D_ynY=0!my#rIPuq>PJ>!)xCUZ$$!)rtw^o zuG^*^Gx8-MusKEDTe-w#Wz!Vh%=j2XOK*My@__F@#uM`jrH}YQyIH5{!QOS^M?D>9eDP`G{>~=kwaFdl^sY z`iDq;(%<+-?leMK-d^T|8h+akhV9lYtX!Z=2^Na-y3c>jO_w*f_uqMbd-~2xe#@OV zPwqeAM#O{L&tCrV?Z5wT{vO91SYbbf3XbWn?2fInJc6JV{m(1@+_|V;RQE)}oQ9(MZ)>TSs|WBYNdm z#x-gBsQB8|f_+BchPb)Bs!VoN4s00FUqL0LnT2MlIibo@G+Pv9Bo~ zHmG!)lbHX>TUo!vPI-(_O*;9F?Vt;XZ2eoR(3EkcdX$4_9);xXv&MMGr-)Uy;w|gQ z9Y3@Jt}-Sg`4}bnF=kuP=^ti6rT6{q4_t4cZz3JScK@!-ZA=7;UwAjZ3?6}lx z+7FqRoJ&0Cx6XgY6V#tR)A8pL_lqpH+YAjW#YG+_&)K$b* zZ9AQLf+`300hTzjH5_)kbzLOlL;B^acPX!I`)+Ic(PoNk$cIlrl`A*<@JJ?_HY+k* zM(a&cc#r7_H}eOq{CTC%SUhgb@9dI4m>Z>^VThN2Z|^^Oc>BRmc(C~su2+F&`+Hnq zYj(b^!Nx>cpTMy%kFe6F^+^G^NB;<@F5-rkb^Fe;*S*{(@9}%a{!a1P21@&SWPOE+mZ z`yp~wjK@VEay)GvY3I9Wk$Vhm14;6e>5G>+JA653Y8wT7A)+hp+ETi5)vf2n(8Qe- z=fztp(v+>bbZ*8sPQLGF%=qbN<2q%OJNNgEW%bQB*~ZZM&(T9|DmsTL#&E)z-2q~*IxBaVBa1XFD&+Un$Cy~Qi- zBB0%B%OXu}_3&o-r(f0AkEoi%)c>}_U4N9RmFg+Hm}%>fPxSR-DX}B*NXr>Qszq$y zK|rZ`<6InFz0%g31D3+tGS3iR!bNDelg!0NqRh&Rp=?&81mEh;-K}ZMQvXJ>*%d(S zgmVR4+^ZJ*p}+PQe)+pExS-(^L%sp(Cuh94;f^`M%t3&Lb;jnfE8-nAcktSik)W(o zzD^R=f*~)8=EV_DfaFqTkgOlF8t`8ptKsNP%8VmB zIG0}|)cP;!-dNAaZa~_W!l+=R zm`kCh_V4<{D42LU9wx|(yu~C~(b8X+q?JdT4&Cumc6r-2_V@O&s^Lbkx>9_C&lAXx zxbFPzuM+#8dz_1=zQOL9)Ef^*Jt(5l@;P&9)`>NXHtLwhrqo#77P39mEv?0eJ*iSU z+X}g{ctJW%Nck?308q5mjJj#$q8o|CGb}-4FFKSr*(M%f1~8VaocxtDUq22Sgk!sm zpR^@oD#@(I5|6Y+T^ZeoE68PBYQkwq_?j@oXIt=`0p$aWg4>91NorHo7YrQ7Oe6^^NIWUp~kXCr9)n~NbICH>3- zQ9Ch88*>u#3Hzdt@;kqM%YexPQ6gOV|v3q=S`w9Dlr*xbT{V=TK%UZ6w(UBnfHiFxhCz9zGh}kyY_Jw*{Hj34? zuKl*Db|TdFqr4C)4J$^6qxb=5W5!7Q9Cq*rS$gJ0WsjsDm8fqNo437FTM{-p9><*Y zUBpam+a9BotTyYx*(QxzfxGbw<;LzCQD6V^)7y9di@$UG+Sk6rxbf{@UJ3H4D}7;~ z8}q#?#J<=Y!)){rcdQ`B#Ub%Mu0g&#P(#jmbSz)J>(u3T2?k@!<6yaq*IE)wh%K6DQDl)-n6(*vkpMk+)r(lA5qUU!WETCJRm5+ogGE4*SuQ z2%fU~4LRi*P*su+Bi4`?OTO|RZS=yHZS;x@jJ$ouThv@;2ZzsT^LL*M$oK9&yghjR z^V@I#*T2nMSRT;meUO5pebccGXy@t+72Cb31@&{Waj4eYdk|DMW6Ayk|J4eWmAT9I zmDdWTtcmak!xl+f>p(!{n(9-slki~fs;2bTd*4cr=qTXtPSu} zML^$@$Xc4U0v4yeDkQ{Wz)S;hS^%yZ2f6^;4gI@!_qfezummkP|*fzVvyoE&&qQx66>be|vWOSaIiKJSIas`elj!)IedJ$9O*J8>#pnKBp%p#V>iQ z_jNw^{QcWopS^c``r^ARwtc{Ft$xDw@@Je^obz=qwcdb=cl9srP(rHEWP|lgWLc4+wa}J`@@f-D42d{B0cU((%TGN&WAWF|-hap{*QdPo z_#C>|0?{M#`dSp+%;q`RdM{CIw`PrV?w!~QFmLES$@tdZtDo?c(Pu*UBWH;&ig(j8 zR34qd$+4*(+>t280!uVZzNKp>tnuS2RQKwOl8(^z*O>b-Jb?K&bMZg)?t|O6SV;Q{ z59xoMh4shCJw(~Lj9;I!KHla6$e*zCQKP*^)6plkE7%SlJ<2qMC7rU}(t%)>jQQ4J z2-3(ay5XAEUCYq2>iX!a1HGv74dh1t%1|c#N}rTM_s|%eLmrN4W!4WZMn`+lS6di; zxTAX@OAin-<6ZL54W^HH@FT8W{ak*_@E+M{w(se)B5r8TK5%pZyQdIMEX<+*o5x2xDR39 zbM8*w<5uxgg%t89t(;I=)PS4x==ZwHvDa&LH{blt*Xp31$ofRyx`;1VgS9;_o{q%I z${pT;p?lPv3bS3@iq>Hx>Z_}`J`pQ5X_JPXFUmaXY*cp)sieXRi8Se^j{Ti-9@IAy zDaROC)*qNXiEVvrwe7QIS&3`8g_Q1AIa2toOysmbeCg|R>S)Ub-|!~x0b2Iw`B(au z^NJZCtU^8eJpS6-I5NtaIKthW?HIVQ(zT;Q)k)kY% zwMdJ5V8lYXw%{E3hg}olE`a$-Z+r^dX3Z^c{Szc<*`(uFk;ljB1G0lZbr87KEVzCy zSdN2a26)o?Q5yj`cI%f;n6BIztDd^NYx0x@DH!_5R=gD+Gx7-X!k0ZEzLOr2OMR8H z{Kc*_S$zT*{liG9+u=$I7mvUxo9Q}?N7x^tPAh9uK){j&2lEUVLKlKaW_%^re z@`=rT8^ZIqE?9ZBXGwayi5{QpL{S@QF%f!C#|k_BsMv*gfhcY;A%G~+lW?v^v&!bdvJlN z`dsLk53`As@6g{4duTTi425jwt&vV9p0JSn6+R*KGhgI$LVVu&3vWB&K$b~YJ04H) zlHJLcgUTaTY4|xgo>Jsu}YjeNv+o8fmlE*^sYr15l1GbwFGZ2!PyUCh7wWkC>eQ@n3mNdEoO2SszdKMWoLL zJCja6Tg5!A?V&mw|IS;JNPRKEvi}?tRC(m}S3h%cOePnx;kk3-+AYV%lw7TAIhE61 z`VuL5;SXJ2^K+b#FJYz3S1Ym{%;8u@6D309FLJ71bfdmJbdW#z%^(q>#z|Jc(E4@Z zYvTfMa_z>?@gef-(591OZ( zcU4(@83FrsK6wPsW5dPY=iKbjt=s?}f9qN8t6CQ<6N>B48q_-fN1ZGkxz&T4vUxO} zrL17}aBK^&y+eM;0C{1iqp!KS^)3%}{NlHG?1Mr+;}~FFHJ@nXf#lo}v&YzvweNM= zBNCS5Frv%QtQYS`=mV;$bI%#Cy}@T^S5Lc3FqH>fQ zYO#>;^IcE4`S8>)KCt;|XPc-Ej9ygPjqdtt{D=nf2CrWMd1cu}^(vHkf> z$(zFDEkOTsGsE(GE`^hzZ}9*VIad=q-sh9g)0r)Wo8y79_qfyY=pl>1B8Wx*^}PQA zd(I8~vVi?sns$g#>KJ1(=X&Y-qUVX5m%kzB0WvvvT&h2GbWn}1$UVoX2{A$3=JYy! z6@s?>x(=rtjzNyVdwy*7Q?~gHW!3Y<66NLX(}$d#J_G!}{kwnb_QQYvVd^z@YvkCs z|1_K8#t&<)PQ({?p*OPTQ?{tVo5H70lg;=Wa{X3Jgbke&O`AZ}Rv@&~N{^_?fo^x0 zOnc|atJ+f6%3YgF)yF#qkuOThX^AvUsO2*sKK*9c#HP#dgGpz; zhDNt=2X3vgU!WwFZ8b@@jvC_y2_ZtWbIFikvQg90n|dQZeHLm|NB&NOLI40D07*na zRPGQ@{cnp50?f6Wc!bY>J95Fi_@fJvHSzhji`F5ojS;6Lsml~HQc{irj`>3-vQzq| zx1Q7*tilB2=+^)(mh7eLZOqwkNM;mT^HDhUYVYhzYD8a%;8%9kBvyhr^_RX`S+aE8qBptyW zrSV;x%v$o>@6K7sdxJc0yBRab^qlk3H&ONFvrl-o<^z7?_r2R=-uiv(<@aw-@4e5p zktuAuJfNmBkguxAA+`(E3)Urw5tW^xlgpbtxWtp zb;iR>!1+7&A3yu#_K&~A!td{V@AiA&`_R&|cw_t32cfpjb*5gl|He#q9vhxU@Ln0u zeW-huHh9Q&jfT?G@V@i>g2k*4neczi%GO70&s_MW{dZk=tOv)=k~)Xj(|y~)ddX(H zU?+8A`Le|{dO72UR*L>qeoK@3JxW%p{Ti_&9LbcgZf)O>szp_yMQ*dEZc0}Flpmo3 zUEK({8w_RaDe3K`CxGc9dg>Y8V^((G;o|G3c^LC&`5o0SGe7sC{1+ZFTo?HOEkB*g zPjpcve zI|Aus-Pup{z5HOfi_)P$qB_b2zZ6Xz`MWv+89Reh6Ialr#mnKcD)d!pXx>cZ|!|Xw4;0w#Nq7ShT0(APvn!BSgr(VE2l)y~l$RFIn_^ z$oJA8_|qg5=7|DaAV22X{Iegtx_zIYlK89_*D(=%uui*UIKJ%e;#b`ohO#(e&f|JQ z>#V#@8!Oo_LeaPI%j>TzHWwi`>iGt(!0rF3Ib3H#JMA~_|=a2_H zByx`j8eTdsF>V<7HNMP^Pq)%f?W@xBMyvYkGjXo}q2PiAPTT8q{0phlc|c}lER-@f zMEbbcWP8uEb6Stnd;t(0>0+zi-4T^A`pc$<+9#thwxCtN#MrmOuw%XY#&18P?YOJ| z-ITUIbwPllwC@Jvpuj^e8R6bDT8`a>y*N5Erb`Hxe)Hb=8eswbytIEBrb6I!Hg3_Xe)n)WKj!Rzj#mL*Fv3 zpNZwY(T^4@V?O*qAyz$cn~En(U)xbuW~E3RH1#Z-+@!Kk#uSX@NgJ`SrMK)P25;^6 z+*Cg+hf16-ia5&pmo^;Wt&ea+8_D6vFgigQe!Gor*>UE|tM4n1HIk(%byPyiarIBG zA+m?xBo0D-*OktP?iB9|ZBhQ++bE`L|Lsl8t)|ZqsBsbuxk72bxK!Mlv>Zq~vhn6Lr zh22;woPF@?zx>nR&cYbqF4+qYPH|x_us5Z0TFS|!2et*Ze2cfT8jGViCg06a*`A={ zv_xg5#?slBw#Wf5&S5Ars?G`CJj_fINUgnkF+Lz$MypVh5-gMUlMk(>F&V$)D>`9m zDyXA$bcJ8qmI;0=n2((M!H=>^{x`0P@}0Qk#61`(->IGnmGU7mq3}yAUwHe$?dxB8 zbo)9J%db4;>1^)9e#XS3H!7(s<-yHFXmtfa|26vFIDNvy*)A4*^x;buf|+P=;jWQ- zrSK(fow9Aa>q|W{Zau4*6S5cq8Kerg>@qAb+qR*YrjLFiWJ+r+hBZ4Nk_fTrq>DQf z?>~QV`{O_R>h`5?@|i>?qCOVqPY?QrGiCzi4Ge#yM7nJts(Y?MGr@8qBsnRWu0 zppPVMD`P{;2n`W0&P24{?}qB9Y$W5)ML@1wFe@6azMa|HUW1{JKdC#ETX)K(ht-0h z2y0XR5kg;C=rd_lSXRBM{pJtN6X%L|vhSvVu3Zzu!kN3s5ehSI$;F@RqN=KU5wNie zDKmZ?uEb1sa>tI6%5JG#EOW%O-I!QI_i1`RiT-kqi&qeRnJvF34NAfo(dJp7!wbH2 z$`;b8W2!AeDh1TCVd?>e9Q&|SSBGjfEl1R}Tg78<3H3#pS6mT%{Kv+$}M@D>A48Yg+WZ-1+fr1_~3XwCvrAU3M zYa4_wbLuCUD~p!uZXzfzDFXouFkGSD=T4U2#PAJZuUfk>Jh;eO2Sl;+2ez4Yq`)Pd zK9v}~jOU-ep#rA@)Md$%E#Q@_%Hv9zjXV< zKl>+gjJ)P)tJj=ddklHZs7Nc%g77Z>dN|4R=1*cg@#aRwu_<|dP(M7z5o752tfl29 z@6GxIe0qdGsauX=Z=65pF3EFl{CC``e9_QA-_rO{N6ziw)=uGq3T?b9(Y>_LOWN~L zVlmxNHg@m{1$ohm&JU_U{2+QZ5@ADS*gG^9bE8ggL{Io3|a$H&x zf4=2^{k#A0_TKOO)6}E>rfkYp#Jwh)PcD?Cl-Vsc6MstEGPNAkF}yDLXIRHi$MnIy z;M?W&xK=11{uo;TRp*-TsZQl zzi;B)K~Qn)mvqWD@SDEMubrb>m!Rpznz;J(T^y+VXpN8N;@jkF79ac@T$moA|gC$Fhi{mQzm{c_Y?3liu@}d2(Qkw@FJ& zo_e$|i>gk3rhr7>80KeCoZL1_nx4n97ibO!h z;m4DZMbLs{r1bboY+#x=i^3h}IeX_pDL*XXPsn`8_6cd+2+RhH6Np+HJzMiQePdmksz7J`rX2`6HjQ!W+z+>xi#y=&* zVBTSyK>y6AaCrg4uKgMH`40EjJoNm{*GJIr!T-+tJlMf+0^8QH!LD}4XLQFQQz@Gg zhAbXNdh+U8_NkM!LnOOXs*;w=GH3(;eGq|u_{i&dWO8i6h({I)-#mi+t>eesSM(aw zxwQSvMd8PfS=G%VTK(RKL_s;HI7sNt;j@TgV0Z7e35Noq8X~dnPIG=n$D= z6WzEtN$c1OD@M?+VQN)Eax1ocWg-bX(G6lIEP5p&`jwV;%1D!0f!0@PYoj!DP^$kcKfq>_BvF{eOEObQ zFD^C(QUfgw3ljSKkkvf{rB7+Lod#*n04%f9~tw&Pnv()`|0?Q(=oRG&a-vVY(qX6>5jX7C_F1t>oBUT|knIZ%ST$s*So^BxScl$Noic zb<0= AFKoPL|D+lc{JYh6kRq@#Prf@6BL06#ey54B1rF3V_tmUyM6hc z2e+U3(xclqzVz_+E*BQ>Fgs&Th7c12aBN%guTRNoK6N~H^0YIvwtMKl%R=&7q(69{ zMPQ!x^^>jEM64rkY}t->G*7U7+HNK)*ETC(ihjs6)&EY&Dsk4gd9mW>q(h5-dFC66 z+45-E&zSppo+rEo{DAsk>4vMK7c4OO`_`|R@mZn=#JpgW3nzbHFSeLq`SzlS2Fn^> zCvAB`)3*__Oqo8KhdGBwFeJ&d4GvU@qYCXLhdKs~j`AxkAsE%w*U&1Mbo&ufFjE)t z1@DkiJes7!r@HMs@VsD(57WuL$hAiGCQqG{%GXm5_;> z&cp+-k{;05oBCV2HjZ@Mi2acCX%l5h$#z(1l~A8}fo$kgPpZT}>iRJko4%3bMY>NN zd%>x&qAOnQu_;dx?dPAJWrgT(C`o=nA2}9|<-+s$3v)n&0nZSuA!y6L9GlWKqDA#< zIk7s&_z@Y%2?aXDm#n(m1Z^0Uj&I2+atf^-y1W2zTbY}vHSef=eJK- z0Di&1?&mYb@+Oma?ySGuL^aD_Tp_lul}lOU%lM!R6T(YfoN_%ciDa2M^TSs~u^oSQ z{4($TLGvzBKYaaZe&6>#pL%}v+S|K4bfRteVmxF4#kqtv(>JtuW61u(Zvp@CC;!Lo zfBT>R2@kkgK5Z-40EC6hZfU~_R_gj%j?oNBzuD}b>vu~h9CaUNz{f=GT8}jfPX`8n zspaiH!e?D+A9+z#>t>>I!MLWcK8&6GwlC=(y91)46=2qS_nZ_QW9(@bLPQ*A5zHUL zj=Aeh+FcGZw(-&(Y;!!s!P!M^{D|RV9y()R>4fAbN&2X|R>=rqa#KmPy{G7fxn$z{ zsR6&*2gYDkPBuQip&x%o&M18QX5Y7tZTHhpXbLBXmicn6O ztNh}1eAM^BAGy@{=vBreuOT?>EQfyyBO98e@J^e`=u^FePM;Y~S@lmE#K;lLFWyyh zXmb5$>w^Sl)rWA@aYRascx{r5p1b4R5ghX}TbHDwYyYeQwoFT3TgeSu8`&?Hm$WAI9M1z%}Kkw=aI-TUhfu2RYit z@g1>3VvKfV3lcYk>M`@He{kN@8vGhgOSLfUkYQ^)l{53LLL zU>R#C8=w_xpCIErJ+oTc&P6DVOyy#a`qd7nnA_Lce(|gP&hJn0Fz%OL-@fcM zC3XA}@fWBM=K$(ZZBwTZsMEaBYniQIW!UswS+7<3KnOCO3wWa^ZyJZYo+y8AB$GEj zLYzl_$~D|8mp3r929*N*cggaUhymgRo5{Odaf~bF48R*WSwmpO~Xrt63Nq+ei|Qn z(h`)k9i8jv&1B@1vF!3Z`}or}{%&yS+WsdaNH*XmX>g~M9e2+PJhh3=zb+2)A|HA#@ z4-!dh@4y(f0kwVysVzk=amt zQL9}T(hiB0)kYWxClJ?MYvaUJu}iF6G?IuXlUFwKF(w=g;T%-rfvTj(PWVGFB0ed9;0-l|`WyYR zyikYEMX%V^KLO2GNSwO2{kF2w$Nk8PvvpC`F;ejsOH%wM;r|w3WP%s9DPP48xs{JU z3In#~EJT!3G4VUx(oRz&Q-$nPFO!#hmh0l9LM_-xHrqNy3-%(%&&i}-5ITH6w2Qa? zZ{2OZ){6>J(zy*Yrp!{Z@==1UQQ-4s)vREG| zf;u5hT5)+&*N&7{tbSBJGWcg1Q#e7Y813kXP@L*3FK6^da@Dl=h|2eOB);%AzZ>&~ zN4Kx>J2GG5H)MR{mw8#~@DWxwCN1}wq<)dNh?&yd zzRx1C3pLuU58I8Zcb1<#GR5gcXxr0rrC%*V?2X0vlpS2_!L+=s1(K6%V*RL3ksQ10 zOKj1OAG6@}$9|DdVt?}qpW@+00H3z@2Uza2_>_w(Cr``{GbtV0=I!KKce4(A%eZ+b zl9^B*Jn8i*Iyhu}1}~Q3>u73+XzEg}tiipDy?6VWpLvkq z>-v=6_;vyI9-B90`rZZ@!D2`Mf5{lpl5vp~`&gh)`VfhWyZ-gJa5&)RaPf)9B@dN+%(tkYao~MQz4{wA9#eb4skxME3Wxg9Y^FCPJ$0?*SCHB9GN#F?$ddLjgWE2#!c&v zs5Rm^A3SKvrH)|fx|3PQN8bd#^lT6bmOW0y!=RZ>kk`bBAal@$Wwc_GP^Ol~mv!dC zPZB>DPY6q599oK%odl?c#`U!1qrK#gSa3{FLi(_XH?<1-VDB24VXxd`27{gKJr67` z?Xr3jvD+;2LpPEBkbGrIvqdDjoxYgXeYb?@ZDzS8#^hAQinR@jx^;ZTiC@+~L|g0W zyH9U_^*{Z0Z-4k#e-m&<6Bc@11kO$PECkROJ;vtEDi>w_T|n<#ne=E?q8Dp~v5-bG*Yjx%a>-+rsiXS_M}DVv{v#$5TdS!6TdDHVX!w{$!`Ldu^4 zm$b>$k#zt;gzP*HF=Cg^MX+QQwysFaQ(n5`>LWezQ_r`L+4un#7Ji+iE=D@sT)0Mqer4LlUN+vP6_)(ynO?& zWxUu>j!IC!Hc&Q*DIw;{TfTHRj}P@CWJFLVdT+#)ntB=8!-jb3=5#ZCTK&bNOv_J< z-7FB~_)w0&_*5NvrLqs5o|3q7f<*$FVWLBp5huse%dGhIw=f^`Tc(-&#hT^NS#eqX zWwQ=hhGhc%Aqxm!W5MA|;kN>7r&hI?mN7v{1vi?SG@82`sEM#lc&JLJ*no(v@!<;8>-fI?E5hqT?6cD!?)Nyp-Oob4y1c!|wXvUe{)F!l zzt7jdKKz&mG`WU;&YQnZk3YlLd?AhkOf|8{Tf15OwI~(>6LyP~#d1x-x*)8)Jn7<@ z8NJ92519CFY_PB^XEp_wI6>V@*mg?=X=6g`NN#n*5f^?ocVg>bk}Y4>+%n3HZP+I_+zAJ$)@T z$<+N(kSP#wDU!MdZKu92x)D&`e`5P{${z5sFnD5&X_Jlt@CX0^AOJ~3K~xIHq%|vc z#1M$gj#FZe|H}9uRn?oUy-6=IzM!}5Q1;pwzb+W^mBm{95-4KoXlbo&s@SDgrs5py zRD$*JgoRz2nEM5y(?;U(Z~Z^yTKfSDtB+~(CvU;-MfL4%%Ka{VTnlr|<1`IlQT+p2w2Wqw1@={)rG*tYe4^Yw10qcyGgn#79rrxPj=`&>W=hJLh!D z;~%7aafbMji@}sjT^XnNU@cPPla2NQ7;9-N%Hue8NBArs1bN80 zRZStb{JS%6)Hs>heV(=soKk9C<@6&^+Pxe@ky#sW#>g6!ImaaOcd(}nh#sCU&d8~M z$Bv+e0ws>_rA{gUi~i)_8A$8b*pO2%D-kh~N z@TZ;@Lyc;wXFGcp(h!|Ee3s$O@{H)|(-iRPqB4hlz&D+E$`hNbl(;}wUve&jHztB( zdUcJLr_BwAy+}?!hq>lfZsXtqRK3GO*=vNjO>5n1x40b@w-;P=1G*NBtCv(9`JBMm zUq9rZcq_e@mStXEAV)mM1BB4C*XrV$I_u<0UmIJ_wV{muU-PM}*pqHQvYjN{5sUQ| zlNUd)KAl9U_26i~bx0Y4*{$yo#-5zeF?7{U+ImoNV`M(>Pti0G*$7l_IKya8+}#u% zD$yvCvMkHH7Nc}HA+j?WqXRR#n|tsZ{06Y+VNcGUxD7Ut;BGnVLhnW65-TG+p=z7E z5bLBvz~Ptc^V}PEp9SaBvSB51GV#kp~{qjQB;#qBO$BkvN#f0kw zGfz(w8(M-+##|(`&AQmG7i31)bS}HecS2ZysT~qC+=yabuJ5EEUkSn@!>l*r3GsQEu8seRb&(MAem?z zN;a&&a`ZN|q}4^1I`c1j;8ngCCX(eC;)Zs^^ZPybo-^Bdv*H)4|aUa1=*)ufO*rw{^-Spz8=?}r9)`*}0prpkq5J2nc~N5&`AeS+8;w0 zo_1}0gvHLjs$J{VIDs@Sw%#DE>=8>tCPFztNxR_d0q+2in}%GdX5lxt?^4a}8#N(T ztY~QLFDG_9ZsklHc)rx6`Sm&cNOhNTs3TsSJDJs!H$l5%18SG^0fon`_WJoT-}-eC zI9(C3)Qxs^APC~CUbOc8@mK5d5dmeCCoflV+dT`w(@#do%DCh4>QzZ=gt2#(6t{Fz zu@j0!w)NM(8$oyRDZUKsp?BmX7KEl|ACSdA`^&XGl&r0Kkj&Vwx|w3EToq1Q>h&n{ z8}xDI@R>5Eu4tQ#9pP8GwZ00*#WLEq+xSl9M-q%_?`W-#cKF-=wY;?=?{*-d^Y;O`S1Sb?fFN(b=^|NI4bd9U6sL# z#}P4aJtT^F#szt!rw@iLPx@XezeIb9$ZkgvlT7>RfC(^CJN8IfT z^xvk7@-dTA-;)oPiERdhwkpa#|84tnsVc-%1^^xPV=}cvpBZE?vdD>{ zf$E>-zk{c56O?YwJ$lk(*Mt$JcMf`32T1%^PX%R6w(o}`qxO;_ZNExD z@>)hARW>$qXIa<>kA(5jlP14qRX+AjO#AM!(lJRqLIek&bmlK1kN?3DqV*C?77!iE zoj3UgnAch2q$G}6;zCNh@`aepAc;Tz_>-Ra+I^OtYvH9NZeYPJU^Iaa0{xM_b$6V+7yXu|y-A6w2J_dthj;#gFuo<`Y znzwv=97Ke?=Pj%!PCYVCtc)1S86w{#8SGhkQavxSy?F8B_QUr-y8XTX`#pZ=_XoER zKY5OAG#F1NJ<q!%)gHVuY9(Y$A(vcm%ETj2i*|u?M^2*xdc^Hm`y?2<4|Iv3} z-~RZ|-M{^ruRP#$&(<}4gL-hz;7{bdq}%h;sa#0$Pa8ae?$=KED)8+I{lLS>b;L)^ z2Vxh4c_Y|Eh`P@)XM5-eex+?%vh=|;H=@xsMlNHt>ZH#qYJEVWucRlDs$R={$^!3y z!&d(Sg=+m+R$~aenWTIM_2mbLopK!$59G;P$CQ2as(kW0Vp?KdJ%0u%2IPB87y9f+DKMjM9i{QQq>=*eQ zjJ(Xw{2KX;E9j=0sS8gJ_Cb$NN`wnIrlaiqi9$z8ohV&7v5Kc&MpE*=q>)0YES|d3 z49hC;i3uxy0lIUO$XBI!9^=9kmPjx8qjJ=-+C2YRXU@xyI@1U7Rm{eI{E;pd@u3yd zqI*r`eWqRb&6~dv@(@nyM(e9*EQ)cWH+B-&+OS4$F;bTC50nZeVu!sRLvO$WnX(9t z&f30v9EK$~e{Ue14o{grr~8J&)}7?qJN;Wf^(A5bOJ@DkkGr8Y19chWOAMI4hRCoB z-Ar5dP~J*_v%aQJk1wk(KcD8ZJDMHl;5%^4uRdp*g=;k+Bg{dq)*Yc zwl+`MsLrl_3#D8`X(BCU=#xK?qoYjQ(>P^WCszKDTl{$5O!lKNg^A@!i+B8CD(NfU zy0|0?)qlV^qw2)Lp4|OIF|KAyJIMRROqCS zBSt|%KKjay&q*d53A1;2%`UIT^s)b^=k--xH3%1cvk!jtkA36Y_qdP~!i$&;2BbZm zcv3T{n@J?Ga^2Vq7U!k;7s+Vs;2_E4bM<21-5j*i)iU0oEz#tpVjLKdkIZ3D(|fQI zbHc10J8B(o9`wUpfKOY}?^xGfaTGEgHjzoU4F^xT{K-kCA}J_I3rFzcCykLja$637 zDl)bemWRCda$&%v!cQ}QgWvf5#+M&u5%?*KwB9hxL_;0qy>A+&%#74-2tJtJxXkaJ zPP;nk(I*E+acp#-V!Y4I$tOGw_%;_aAM*PoAAU^FVDZaI8=?u;aq0?#>3A^=OFlwt zJ>pR+<>-*2z-%7gp*MKw$lH2OJn+ZCB1ROGXqvM7=aY@^KfizbwO@R7`)Pjzl~>vB zLGxnPHzQvlm&IQupMFlMhKTTkVv=oHt)qOF3rsz8^LB%FryAp@zV0M{%UCH6GGtY; zh#O4HpGr&{n9c2Lunc?AreJMXNA}i7ptq99D0c?ZX0x@GOs-wyq$L_QZf@G<4aNeD zk3j&$WA@NT#`=@ci@0T8m(J z#~WSTeshQ-75AaKV9onA!rSyp-i3<2pAKyutG}3xz-bvp(_L8$K`j&YSBp zxnvi>@l*Ki)Q}`++!|YsAA55mt)xBw(e4MoN>5Bxms(UV5{E?Ai$ z#)lwwXMVErEshko6H3z2QOXURv_oa;w;a8Jrnp4e>Zvhll94N2j{Pz8a@*D#wAhzARsTiP8f$IL(C!k9d!R2x^Hyw0^G4fvevI zjp&gE%JSqdu*l6M@VFU=-W>L~C%pCbAN{%Cy8Y>2{|`Xq_;)~Y@iz;>99taXanEBe z8)HtMxu=nMnts)(>Nme-JpD!wfgK05spP@eKqyJXrIL`+Ci1D1$ZX-j81u$OtZdNa5n>~0 z^t8M5vQIx2RvoFz-I1;CY4g%fu~Wd5^J3(VUyBz%?)p-_0n)rOLf+9S-@_sN92W|$ z*tPuPBbZ{JX)8d;@GjU2%Bfv(5W46_KK#**(UDg;STnvKS@P-o3aghxur@e0RPnfa z#pi_IVFm0#Xc~2X=eW{&p1%q2ap{QmlDBd_SG@Jk&mzMy_PJm~#+gg3khC}H*8N?_w~kn>;LY&(#JOC76?D?mFj*y@!zgI<{KV zsBJxteaFU}SEvxj%PcZbPxkSiFY4>&6Qf)20keqM^_=5x`u>20-@pI6-@X0K-+u4* z-48xt?7?OyrVe=x#MYs<)5d9FSkRB-5m@j4#Gf#g`on)cLGU4NO)8)7gkN^0gWBSu`Mf-w01tSB%=B+2wVj5cC3J%R= zv#~=mv9eoK3GK&H2_v7hLMjnbWifnW21LH~Llm|;Q8S(`B6ri39VO(hKG;mo$$$M< zUf=%Qzy9F%$Ntqvw?FdLhqo_sp8kj?c+AS~mpBQ zgqp;ml@WfELq|$6C83+#eD%mfUzG?VaP-yf2&11m)sN)elQBwkS**SnA z9{YyuQ^!f}IL-;|Noc z5l`dT4|=WcgNFM%#nGiuwiRRz1j3=xwD$*{9%YD<#)Bk}>EM0|V&4K*ffwO(Z@@)h zA0+lm0!T1F$3O4K=^Y*32gRwL+S?)KuW{*0#@ctm$R02}tnZEF6d8Rnw1XJ7#-Zh!A>FT@1x(b*ZzJ6$J z!&*A3+zT4!>^jZ(fTLr1yNJ~sxewszUnd+?|J$k)GZ!U>9W+t(BH z;9V*Jk`+V94K_r~bq+^LGL6SyLwt`0-fz?-i(=sC4gG9hi|6~Ymxy5r|J96GkTZTv^ z)_}EDc~7>F$$69ii+tkwXTI|I_VZu9fBO=ji}4em{&t1lp3+fmAbq$Hnju1f}Z5lRzVYfWiRz6i7ow^vheeNw?D+2%)k6g)+YUkMLgd+ z@(EfVwobWUvN-mdNtQ0BpBal&PR_DTu>{J6M*%BavDDl8xsV5tdO=gTyvdK%K3_1>me!{2i8qE2P~{*;>}uY1+4a^PE@C}fw5-1w_SxwRw4mfM>-r4KJT z(h6mh-t8#7`9p5%@gg7A=-B6#w$FdU!w}#6I&T4g@d2N9^Ec7x&n}kGX!cb-Ns&yb zzwH9kKJ9pwi`c|-p$4yuy78s|egN@ePmH6!u*B71vS|CLYtJu@5>s zW26uI7}yBD?N9xvqwweANI+1WU%vg+PkobzKNwK_gfRobE5Gr^&3Mn*8K`sYar?!)7~XWpU|RwX%(HA(L3_ElZ(i41!pD86`5NVI=y;v7jTCnSZhLA?C*H z)_;b|u-OsfcT&l?3ykwM-#B}~Cr4ku{)GA4Gwkse8VeCj=ipgSecM;{&UG>iM~?A} zGUY)J27xDh`_UVXPq~TgZ>rzF{|VYJZvWT+{`YQw|DXIsbxUJKB%M6|8(J3PR!C^2 zH)$PaZa;M^QUdZqXKwB*F7hL$oNZ)#s#`r<&ZI%; z_+vT+9fr&eQ%Ay%E8%Pznh|nz6OkJ~XU@IH@`hfh5fdX_9SPXgPJ4yC<@By)xTqL=8 z;6o{nS80F7pe$IXQ2OC$hcXwOpM3Je+uLvdVXimdg*M03lq53hY+>qEDBW4&YtSKR zoOfQmG(N%t782f_96C|X<@c*kn>! z@jrh1_N{;I@$HM8ryqMg^n`jv#`N1<6Fu?!&VD9WL)7~N7TxpkIc@vEdeJUS#N%Je zG4yEaPMBFpjw$KNXd`LFGR}>B z?4)$%2M!t0;!5<$1M2zEH=*;%XVUr9vwce8$eCzenYAu7W4&%4Us3t?7M*dimtQW( z_JVV2-}qhoYSfdU7cknpJ0+HK#_h-TL72@S&aIQHLSC8p$?lMc5~}hk>p}xK-=2pZul{woYvy&aS8tyD`Y5B|(Aef``1=HvRVvcBYGi-6VLP$=oWIDi@hMt0hElr6_rek(@V$`@@L5t_E5 z6oKRwwkoB^{^%ZZS0 zn|yt;Vho8O==WqzO14BJHTg<7NwOCGob%f}Huq(o3jEra9^Ssrg3TAWuzoUrcyZta z$aW|IX!@ybW;U5zX~2XcjYiagZ`?8g&xw~eAbnELPnS3k@yR|XcuxM__V63XJ2Zz}o;9w($(ET<0Abb_P~y|C|u)N(-L_f46s zhBp172J1uY)}QnjS5cwuan;XWaldW#C)vZk8 zslfCP$T_(Uu2O1Nd+NHXHFGsCX3USk@D5x082;&@yzt{sy;sZ-n?h|JE_KXAX3EjD zvJsl{O(vxFx~;T$IR0)Obn=H?m~Ll1)amT0qz4=fwzuu+y>Y86{O9zUWyi=R~aKh|h!Bwjncywmv6Yx^2AtBjG_!-{q>}^~*=M zU;YIzR`_k#54-_2iy|}rM;-AOCPu%)}ZlOzfGOIEmq0`*>Tt} zJ@~}+TYhHIPl)Z>gvu?FW(jSZO`moul)60R@qhfbO%J-AhjNlZy(sH^b!j5%)=t->a>z8E=r3uVIPzS1d=9@MyFE)@7 z+nWqoAiKoX5!joH>X>Z2emCy19Rtcmkp1=@9FVF%Q;4QRTxkW)Fsu+vA2%RY1maaj zvU%&na;C(w2aPzg@eN-*4kA2eBv5ST?TXfjIH4nT0k`jn@rqHSP1TXF=ENL zAH)~(+8E~occ%;~^MY%pbrfs>x4r9+Fv?b@u(hxJ%IrMKmRP^ViOhj7&Im}GK8nHi zf7!ED*YTwoD*Dqv^~0!GF6Q<@6>fyz=R=E{JhXRP%t-+TVH@4b)M7;j(kHZ8wNfBWnO=ONBfJdAYD zrxw|avlvXa;{_0=Eu(?-*22}d@*VG5Iu~sbCGnFFHykFsSldxp$|WPcKhAm z|NiZN`Un5~_D{a|0Skq2XGjSWK3vcw5kTfYZ4^G)X(!K#eXxabi)-I((DH}9EV6LT z@(HI6Kk@tlzw`SM*TT=Z26!=V{VJ1la*d@-Eg9JOZE;*Eif3k0Ptc*6JvX&Z9i4_< zIb%0>#_sE7emwk$E@5x<-VSFI28FU;QM^h>A~&2@4m{`?_X&6#_#PGE!w+5$Xj3;$8%I1g>B|suA0}RxZ+Uj?wJywC zU+Nixl|A&SEQY!8ePCzHqpWq&KIu75$`K*i`YNBaV=ZFdAAR(IpOhn=I`Lp7*zQe@ z4QwX`ZmM5=0me?0;(P1f7YqD(E`R6O4^)7d^Q5V5*R;7{fFzP>m~y@WeaBP<#UkZ~ zbLkHQ6l`!3D*`?BH)*1T!-jhOubtr75=SqId~2g77h8sDv9h__FqqqROE!+!=q)Zl zZS?Sq*?PaEtJ(ILbnw*8rn2bf^MCZ6h=->}Lwp}v)K$HN)ZOHlRh`bmm!?S5^>rLP z+OzzXKz0=G>R)n~SOY&+O^jN}X8SzM&v*Ur|1uqnz|ODV9k?%w%VJ5@DR_6K4faUO;x2@`=*F zmVB9~&uRyOUHuvv^CWwWg;~Z{?mAuVQ6kdrL=n~gMLo>zNN>_rje2z|>wfd8S@Kh1 z(nlyMGb1u?)OHXmSo&(oAf2*ki1uNKEfqKgf5qPFH& zY>DH_L@DVNR(j6$F-YbQ3^0RN<~Cgl0?9Hgey~^8II87tSq~E@Q0wgQ;jX>aYn`38 z#Oe51L^*qmq+H|2gFnd|z%Br1A*{WL6XG050bz$m0E&g*682y-u6Nl7xP^)$I-bkq zr6JXA21@0w7hLj={5a`igCY2%(+rIDW=WxfI7X^gGV zvzkY4g==yq6xFWk8kA;QA8OE>sXop5kXrgF-nRYX+YfJF<@bHR^iwSS^7iUmKH|xR zK;B%%uS_R_P(2%HPO_V>XDKx@4(LobVlhvQqGNqwy+k4>Wb*PPscB|3KGpY-JCW-1 zfBVWi;2`_M_n-52pC>TOUf`*EHB#bRNsIhb^Wu>^xMRCaQ!$p zWvbi*to|g8kh!2C@+p(4pZ%F9x1ayUBMxS2?*}edA;GNjRo>)87CA4<^8_LZ-*(II zUV?Qz?Hs@AVfL|KyG~N=v$hS%I=XS_dL!K(0h(LdQlfc+xXOu=2_Knj`728KM&9_2 zy)_`@q(#n#Y-r&fCN-O2ae`%T@T*z=u|If~uN^HM+Nb(L$x`pyX8OT|+0cP$t(A5$ zlk%#%<+ebZE?xXUg>G`PC5~^aBT@VuGZAhn?C*8e*fvn8$I(MBie7pp1I^FjenP)` z$v~36P_5Y7T1X#@p^&p%`}Nrif!aMJ;!ATTgQX8|h6^eFhTqh`8@fJmYX9{D&du`p>Fd2Hv;2;iIUcdI=Z4U@F{u0lj%nW{_z@R) zA97rI%(2!JAGQpZJ>v=TrbE|n(_}Vp42gg*WReb1n!4pBQc4*)jw>!U@l=PgSF`!# zb8rMuXf~A$1tZbCdt0Ra@vw0EAy=Klv1$f(9F11eqy}G1!(A&O)gGJ!18fhATwK!U z9&_X9ZJwz1bGv?>L6n@o0Nei5SbIa$F8{ML5!sHJdJ|^dL-r6=t*m03W=nNp&zn)X zNQaQJjBv|U#nnG;TejsHx2!P)&h~}KRP2z~Z-X+`)YAIfKD4|D!mC7-njYOivs1fo z@r{PGFc)DnNG5q8B0yTaFl5SWC{6q&Y-0FCl^GpzWYtK8F8d`%3c<>r@`pVc3px7o zQWNl|rD|Kb!CHM)4qJ<(zC{0nHNc>mzfUK4>#J|y{_DT`S8iYa>MzhIax&%Ea}k&{ z3&7F0pLkb^JIk;9;qTnkz%%GMXKEk=4KcQBew@7cqFB$bmWm8}APyTDzlL6v=?D0# zoCR@?WdH5olxNE(Btg;GsXH1N`Z_ZJ2#bgapU&-$LN2Larq}1 z`#yg5!R@d8^?ycv<3|cYluAO3IQ5{(Nt=w}#7$3eqi*{NV}0q|K$2$6&j2L3D4y$% zb18x$tAJMff$7q7&R6Y%sSVpTvQdse?T?KB=u4=m2ZDXdXfA}w_H6aJMNh=CXyx?| zi&XdhTrKCY+{8$ujUV#03oVgtG(mdnD;*`izEUU_9!=!-aa$sA|E{2 zTc1N~anU%yrjEmxScdwipS8W1M~w91M01oZe_fB37mI!j)e&CAcRHNZwK4U(aGek~=u(2AbC?vY42Cmok$Ld@J? zebne_IPhDJ___LN#Nrlf)WEFz#OuJ|Zv!4O%CC&Y0e{P6YsaRk`22&j$~h$8wH+#sqD@VD9zs(Zk!@yy+;tM-6^yi_o@W{6O|TbLkhK zeRO;H_$#+3kH4(3*_3=UsA(up(|7mjEw6p}h{fJ)F8s0>%;%>2xf|$y_Q|=SU!m|i zZ^uf;W!qaT#q4*bv9)53JghPksf-^8=X#m=&>Oi| zt}g4dyx}W!q({!kkUBS3AVJ;nX-UJ0-=-}yp;EPV(AK5}jm*Tsx2{8;-D%)3AI{Pd zHc8}tk++^ay#3kVe02NPFT8Vmn`7aT_ZfJ=_MzR8bM|L64If5Izww8DUF4w|vVi8p z1Ktr4$F|ENxYtf>wsG7FopCF6vm3M_#GLu+Yk+AXCtA zj`W-LA~w>gEOiGb7?g*&K33-7n#jg3#OwyE$}@ec*xiU3&#uO}9LeZz(L5XwHTIVKR#ro3Ol zxyKmvKz#l4?O*c#B$fVp8DQ+g4|dwaMYAZV;&GDsIT^*`2eEecv(V9l#$XzqjboGY zSVna&{HnhF<5Vrg%R`(bO54_R=I)lb0B*iY4)Pa}20lz+NpV5yAt)yg5 zs8esnJ{JdYZMVN2m@5o+`(`=y3)>{t)-`=~;y^|)dNN7d{v@CkJC;W{(eNXcbo)%O z3sKu~X&ot6dt8ME^3sk=x%wWEmJzkg6S1jeIV8yG#?cO;NI$wvcM|;yJb7n-bfr4*P%D~E#HN>{boql zdJSou((d-3cy5Lex@D5MHjO1s-Z*R(&$#?V6@wzDdwrtB4ZI^Y>jI4*O6oj>$s{Htp^3J3Y%^$_9<6=<#%r1 zN-M(Dpl&1>SJ&)1BC|H-xutFEQTDCdSP4$icMnNicL~IS+q}f>(_6-oyozWSa!5M5 z>513d)7OZwTdfo9EC+atWjx!`l5b#a8^7?=-^N-m9MIa6j!x=V{ImdMJo)CNF5OKl#@Sciq{c$4a=7)QIJroH zDqFe8Pg=VP$y4;?+Z8G|8v3%8c*PohHI#H$jmE)_f8mxtenw}7>*^@KY0CrW65jCH z62&*@X+ZGT)vYs~a#F1PlwmU*U7lU-_wrw|7|h_4i`r`&+iYx#~q`+XTh6 z2Pp?l@(6V15S#H%y8qgbI+-ShJ(D?dnM`5C2_W;b+XFr^=wh()+5MWYcAbp(lWYg^is>L8<-V1BvdGR6g{w}ZpeL#Z09l%4(Y5XU2n&&nuV5!%{ z)mPW@wm+CDy@plsCKxd?USJ7*_@1%`p?YyP$;iakoibZJX$^$xx6WHPhK>)|!`5dw z{P8CbZ@=_So<8O?1J8K_z|X$<`#bt;+xGLWD)y#Ao}3kryyy=&IIN4$xPktNE0+&g z^Z7Ajf}eZ-gbNry=_HOPFk>&w5{TvOXN&V&n+ib9L}cW~>mI+dBNH)m_=*?t2ZlG5 zcuUUTlgpy7pPjYdq3;{N!E@&ZFUlrE5{QH${xwrqma!`4t%22@SVBZ8-N0|%!znZT ziY;$QD-j53T?F!+;NmZD{rb5uKQ$$jamy}e=dr)oriNmU@rlBiol@;zNG4NX&VFm1 zjz}3Tk1_cpq`yxYeoUSDn{h90&p-b7_Q6LlZvVqy|J~d3XM92sw^GNai!JLGTpt+2 zdyMLbf*Z)7A5xNnnX_Im?Gy^su-KVUkN9Z63$S9s9K7VEx*6fe#K9WfUSO^q1|n72 z=0*>W?Jhrm>Wj&_HY$|Y1z&dbSz>vl%P)SeH6kxhUAF)y9c*DCxhvn?ZcSOu>TUfh zzDmKf76y3Zh}@y6U!3S47?!c+T%Fo+tT^T4+bHUtp|+ady(Ysa5uE0heZ=a<>ZM%c zZUDrPpODOyQK9K~SNqXjd1GY4zc4By5I~I1!bdWKb_h&uYts3LeDW`x~ijh z#U)LD)~{eDVYW)8HJ`NQ8`*%4F&~_&PvZ?@`GUbbNa4KMg}x_`A2Vh>g4Z_9!j>5R zqvPT)lQgAo&p!Cc?WcGP`2Kx6IYqA$O* z&L{Vo{PGJ0Ojh}HPrd-P3&5ExcI2@Cr@TZ-V@A?pl`?n=bMsBIU3|@==g4OMxk_OB zaJ6;vF~3LjyWjcI?Qj31_ilghpZ)muJ}W)Wt*wyYvr9FPG3&X-v#lxJj!VRrRN?)N zUthz^xhoiz&u3?GG}r9T(V3rrMC`(E78&4aDn(8TJP2-P%fk)?>!M`y@D))e!svN! z4^7z%9a)KC zfv6QB$6olGStsH7rH*&GXY-r?-dne?{LEXodvEcT4(IE%xpVgCoY%A1OSimF-MeV? zkoxj%QAFlk?KKd5?Xl@f&f(xECZC7XrDHGWrm2<8$Hqr{h6~7jFrh?UcJ!$00GKA) zavu5+lu;rH1^7>1Qt~ItiY12Ze8!elE^`|T5j)VuQJ>(k6HCLB7LJBUsGs%>u{sbG zJA%1-n?#*l(V|^wGU}HA!JfS74VyAfdI{zzi`jG$)9MX>qQHclxe|+nwDaS~loo*w zy?X3IsC~wH9`~D=hCF1R_tLjzLAcNL-k12Px9{;5@Q;2>OS3p=SR2V`)>XWl~~))z0sNDLO*hRC^>;-9+3F|`FgWn-Lfn# z?>lFoHZmfc>JqA`Dkw}9qG*JGG8aZdviu8tW66>&3yC`md|}DRH~G^LmMst$*tifB zRTNZ{O=Lu5bSF-n{`h&`cZ~I|eKPUfd#yR=Xx=gAm~*W)SNoxz_AecMZ&F_+^--Ve zi*!S2zH|GiB9qu4K8Hso!z#XZxM@w>^3!-=q}{3k4SrI923j^b9kYxlp0Nk zy;RFrG_H}$U#-aMe+vmV`9qj`z)ick!jymI)N?RT1IBagEn`( zrYqR_9L+ciU1 z9iL!CcKR*t>#@0rx7Y8s^ETI74aMKV{b`v}4w(c*T0Bgqog7_akUsP;Y(W*dj>(Rf zQLp*P-2Bbo`m^85XV9te-Z_jTWY|K8<0-+plU4kr=sKj!JtOrn@1`7{_aASXfjUAvh` zU40OZ$i)~o366uMZ92SZTlL9_seIj-cF4?4D0e`VorrO{GM}lr%MD=8;d#1`$tu{7 zk-5*L=M`@eKH)ckU;BC2pr`q5_rz(#rH4srI<~1K4hX~r2pMZD1TpR@IWil!0tEn> z(YI=|idsjeF2o%!OgLtq^R(fg`{lcrU;QpOt*F1^Q9IxM^)t|X8SL_gw%zq67_k=1 zaqmS7C%$P5Mx2x;M$oevpdK4>Nsl1Z8A~mbxtr+8kxiODT15qIa8`|v<>;3Y$kbUS zkGv{VAhWbPKhdzlvM7yUWT0PnC`ytBMm#m-SBBc~)|B<4X(5%wN3m_2kVjhi1hLcu z`w-G*?T*XC5!IzBGGp_gQ8;{)m?nFZ@w#)?UTe1NDsS2Geol)OAK?YYFpQp`HSz@9 zlOlgN`fDE|h|NW@QcUBc-Vv9O%Uh@Qi}NSaNpD2N(T|0fY@c4)N9ojFt(sU{z&XcW z@B#9@3_mmU{+kDv@BZ>Vc;In$;)atj$M-XL4zuJ*Ts0wi0(8UGD*b)q=l*E-*W8Qv z1YJG~z-Q&Sxtu0w3)A|+w5-$s03ZNKL_t&?$87^q225JH?AJirmLxuKbko*upC}s) zSK{$!to*#QZye_BUU!nz^Qq@853>68151L}q0LIuM&x5njZj#TEW0Mx_g076Z8`!K zO7Yrmaj%T1vPy^`Tc2j7%v=WQMHU4Z88AzhMWfZ&zC416r`2k_*%DJjaOwN=qmKq5~pc^{+wH; znA`7eH?eWn)%i(j3)%+-;VqjNi_$oz-Q~x}1$rlsO=+W-TszcHuB0yF2{p8;YPZ0` zBt}<~;Qc?0Ra|`2sJ47mu(a|+ONLT>SegT>9f5oxCLd3sExoqHUAa>k)V;_dKl@SV z8GPpOfBDD%ga=9fGV>G;puG9(jo;q>vZ5Mg*_&)o_`^e-|?;KdX z!1Rc>LLNQl#xIkVo12%&va`K>hUO>O`;2+XYvwI)F3-5>`^BfvE>C#C?ZwwmF8}QR z`cIdqU%X5^fVTx*ENn`Utmu2Cmc4nnuw-|y-!?9UA=$;3=w8#FULb57#W}_)2%;F{ z#OsJztiWPa#gF>aI8R&!Dp*Ct2wd%~|HY3{L62C6uFBl_-M4-nR-v_lDuVCm-dq%F z+KNHlP-$z@P3s`V$c8w2(jXeB@KyjM=pl!%Sb3YPAZggKqr7P(qcduyk9=e*6z{G& z5gR@6yEMF`fC$tG27Aey$A?6s&Lt`^hreR#HlDTVx@~SFYP&r9J9_#P!O~L{Xd4b8 zdgM7a#lh;PtMz6jDCg5eubpepcVtu9BqexK*T0>J2&mPi6gazhnx$ zjWNcW*=x#-@oj4gVk8rb7Jz?AV0nyM0M%gJxm74R4=VE*I3 z7_FCoU?@lGT0a~ol~Ki%u|s95!IK_HR^=-Q4ZK56f^u1Rr5_pJGgeQmLoR%D&5uOU z8(hEoXD*k&`}e-hb)1K}DW85q^DTG#UUBa9;0Z@Zy398o-4q`(Oz%2Wy+MW}UW<6? zw!?t(v$&b>Bd3p!F&mMG4BTGEzBoBIK4BIy%)zxDc=N`wnh9K>y(`~9X z7k$~Xwq2|{1m$%#wv6WzeT%$2|SjeD0zcOG8;^ut&DHn-=^NUIdQ_#Mg;hG)Nk{EeT2b`HyYc5lAsA$qTA^5D4u zoW=761WKO9vtRNdhm^eu%r>u-w9v7~Ka0HCF7QK|$!$P+Zz}J$l9!9s!`;`!w%f$$ z*dSA4gp5_2WjL~6i9znQ9zTceZ##Qa-y8To#4*~~+!8cFj7^fBS_MEq;W_4vt-tNd z3%|J*;|=ia?xNRTI1mSGdvTG+K(iRJc;((kDW^1L@B`dqsh5ZLqGWp;xuEOIG9~Eb z)Hjrpk0dYgKrAsh#9?Uv3SoIu{cNq{`ovrz^2mkds%@%;Qy&Dl`pW-IBxHhc>bv!4 zW3*STx~Bq^qLuj>WH>SzqNlm z7ooO~PC1~f8SHd2XxI<(bb9LRo-mdN?#Kr(O=2bcz!~0V;cexVFZ7b)Q$1PI5gU2+ zYaBy4R>x-*ZtK^l18BxVWe%!JsRTb5+uVA$$6TNPwWEBF8|Ez2oYEk~rn!Q_70b#dD=uSHTgx(sEa#Tas*GItCzS z4ze07t4;JMrZ&cu&mZ+|cSdQ24&CKJASnwDGKHD_aan8Nuv59}#2r^_fAWDv$Nl^? zEX1pw#nFJ}10xz&owKhgzhh&~*G_=Ol8`oRav`T2S?cCJE*<8hvwq+F&Ts$1_nd^< z459T@Odrzq_a9d<7GYQyHnLMcWUPlFPO;QWk^I`Y!PSsDIxZ$QC0SPM_5rmxkvoh; zY#G%$@#=!>;t8I~foj@CR&J9%A*X1asC}8xf+C&5RcFevsp2~+O3=tX`1?k0e&d%X z>%PTr(teAZz8`$!h9?DkQ%M<5hU1qr1q^%aG+ArvFhJ<=Whj-28@7d{yD5yHY5&mR z1zJAzn#pN2CpGXm7k9$uNoFqZLF4PsOziIS`$2DbF4-ByZWYW z$NdB9{+{pGYA>s+oco3N0k*l<^L%UIAr}n1>HC0_&5V8JCb)W$?Y$NPEaKIN!&9ip z+GfF{U%x7AEJ*TVe|%0m!;w3B2kYg~=Gwydvz%~!6zg*GPj z!Zu#z0yDIh%Nt!uX+wEgr*8WM-F6LM()yzu&aJIOcYIOZV*RsJS^W#hJJ`ytwKHbm z#>e!BQn3xp(BqTV`foOV4PiuM1JV&A1&3Fx>xID3cQwA%FJq%p{$nTgHtcXo5i9am z&++JuOLup_@;iU^@{j-9|A7nqytVbVH-F7@Ky8CK=(3IGK@H|JUg6LN`wz#&E zMW5XFt>626GVdY31Lvprc!7@Xjs2XTkG{hjzi&Tb`3gUta}oK)<;jz0mrp-_a{1y% z&n{nl@%r*LKfM0Kk3YTqAOHMMc^jCU9@yD7Up==$E@l&Hc0`$@lpH-&lWelbN?3`Z z#MA~OSn`%nAz@O%g;i}s*PdABv)IS&BV|q0mRG{UgdS4-WVQVPW--LQju=8xAF*&j6D5Z41p)9zx#-g z2BacX21mKWz{VlGMIu*e^d~D(xv?2Kb^p>r=*FSR%Cra4woUbvEs)N>SYETC7d80B zJn7Cr37(EpSS(qh7th|c(z^2T)k4T&RL1&@vG9;lHj;`#jDM>eRb$@mIkGV@<4_Qi zegvb{`Z;t-ZOT<Nj2hr{LoKQN_yJdS+56w9;`Sx#q^Y<%`KTkL$vCn)-*-t|I`Deei z$%BG99_>NL4$Q;~uPDYh;an!|zBD-v%?&oKB4gPU&%ks(>Ky3>Z}|R*8^8beAN=_8 zFaPl4%a6Z$&T))UW(=~Zrjf=w^iD^rj<+IT*-$_G@@{|dlEZrqzwjVz>m7Z(h|6~$$BA)-2n#0cv@#w zdZbDix!qUa@YLp?|HZqPzy7!1yL|JT{Prn*;zRt=bv$sx%k4q`^Pv>xK=(Pxdqw`7 zx&961`uRfi8?V&uqxM5U)gF2CXr;Z% z=x_Fks_XjfXd(&!;HhanV(JW138_dkH8vGcLvnbuZ!wfxY}=JOD??z_n})s}>mgq` z_iQ=-Q?}*L0p(f0+$i<@?=>KPUibrU3P0m~`{Pgj6m;?wj!|fgZQJ>PYnnd9=yv~l=J^lU zHXhIxKZV_g036$l30}ZRyjc0rg9D!_boNt@KNoKf>xce&DK!2%ph!!12JKB=osMte zSxux%hp$M@;GfjOj1N{=t}0RY!H)DFb8~mGKCGFCIUQT1?Dr{lKOluR0DNGJnT|JZ zZ3CAtj+?)J>f7T)Y}+3#6-O-ojxl)RBJfU4im86J9B(S8L&0AQm0Leo{>WuVrE+bb zgi0Laed*92)1l=YQh@}q<0_#D_d3p^rT!s1`h}ad zR*vY8ipGDsU6GuS3t8c2-9xH3^?^L(N*4C8Hlz@4(~p)OA}t7B2R3fnTN@kOLup|k zoO$Xdbm~U<7D(cC;BSM(KyPu9R~e5mG`5zW{6wps3MKCOjE`O=v9Hf#RK}$EUBC$+l?0$|3VsIA&}}EnZePK@nrjolzT&Q-@#ScXW_CP+XWPLM zs^+e(kaqJofAd$qcRearQ4wznt8Q7r{gh`fl*N6aXHmjRlv;#jwUQy}eVmJE&^<6# z!ij$@p(LeLK*TxKbCYf0mT}z~)Q{?FpHlpgGC+z@J^NPq21_40xJuR32J}k7?_dw6 z*ve%+c}}cq$G-8#?;~!izRwL`f8+O?y!rc(3w_M{5`JerZ+WZ3iBT`a*cSk@3OcKn z5Ktz>;$LkW-*LiL?1TxT(G|geCqaT_z&W{sxUupkui$&5OIhYZ2;Jc~Dv;zRg};CL z`B$Fgjjd;UN=`DpnJ3*7v5YgyPB48l$T;MwMENf0 zWCAK(oBV0tJllvu_}7#8x+z9z<~r)yHnb2*LRreJMXa1yn<96u1};@(GKQk#N{!N5 z8k%vUPNa%%?6!RoW|h7ge~?&m^lS1;jsHr>sJWxvtGPOb(&j3dqdFjm z{1nVOy6gAGQ~EAW!H@9=&Mg@jg{ouS_OwWX5$cR9_klNT!}hWczM$hBS8NtgigLti zViOq3@x@$KiHScY{?(0MbSfLe6+HY+J44Irpx1_L61dyG5-OWA?Qnnlj31=>);BMg zKl|N#oapgc_s_g|){`U0?n^M-9y|uT=E9Q?NPIq@k^6#5uA{ksLpGyR6Jy3EXur8u z6Pz?>8ao#t41_n8KsoQHAa~mXStq=Dd2&)bWj3@ zQfMyJ_T7l5evYL*bAk)R^3&!hES%H`@*w}Vk8F2F6aRR zO+4uJUTIT_t}SO$MuRq{yC2$mr6L>?p`#pk7eDr6sDjd25`j}3wj)Qa)c{rPSSyg! zv7S&A?b=@WrJJu@6|;_AJQ%F_{f@2r7grlTWVd}KoQznEPv$L&t$c>oFwgoSDKjwP z4aS1G@5>_U2-au&gn0n_j>kXu`0~Af_}^cChg@wFMRUpr1wj$FE$`fvr#Uj&`c zWa7$b;X8yf^hYWeF1&fllEvFs_&c)Do|1;cVS8;T4;@$Z|Xe(4_YqubjNm&gc z**S{(G_eFn4vlJT2Y2D)aKw?rR@$We(AI+T#w+`F%1I$!W2~-yf5b@E$gaw0){dCA zUomy3a+Xbe2XkdsUgg8)_;TF5w0`!bUak4Mg~)X*4lB*EUsa!Yq@s`YQ%Tv2KkQI! zdwia@pLqk?Olg=`oT-;EShW|svK`#!WQUj-5|%#Yh^8%JU3Eq`Vkr+{^+ony-24T( z^_7Rz8%*T|Tv_;=_81`X*lu8kKKR+cj9y16+pm*jXnviA?z=pE_>lQB+aZ17KIt4= zZN*Qv(KkFW^Yzz1xqS0me*qdN#mHV4C8t9yCY_v3JqH+$9XyQmh8w=T^?P~sB{zJZ z@+L4hg(`&C;TfzP8*_YPg_kx)hjlqN%{EC3*|@&{9qpV#pSREwmQD@yiO-=8{xlquJAgd~D zmbl3?hQ(H(@mQhqMp3*I^i>y|#vZoA`W8;>sE<~LmTc;hvJ8|FNBxdH!{ z8}j~iiZ^}y0-0OME5N>{FYFuT93uWsaDMs~WIgbqj`W>nXkLd%|5GXYI zIIt~KVd=i7P+^bm3LACDjmPwiA5^n#M0nyexXPx@ftMHu$u%`XkhU0p{DLPj|0Abv zwwM_rhX6F`!{bc-}x55 z7tTu-AAjlt1U~rD_QuY*q>1>cG580MLfV&Hp=&Z$Cd9L_PQ6$ZEx^o|o`~#wkM+-Q z+2AiMk49b#>x8lh2Q?>v)75-{yld#Hffh)VAz%^CKttYjM3Jz z4xQDyphD$J36|~TFZA=+7#!Hyc5dSz@KeyEVvBXY={W*FJ4;MdoW;!cY4b{wm?c)^ z`zHyRLr}Uz+d%p$f8|LJ&(bvp)>b|_Lg(Ca)PF{N7Dr(BF>ceF7IW)IerjC38ov;z z_u9Yubm&nyW3G?#D^DKbC|`YE8eDrj?NKLs6Sv5875dbJm&Ol|^2z-}Yjw=qhSQi* zDh`$z*}-gkprEwn;KM&-T7EZGzSa)jNwEBKwj4IAt*_qgdOU!&`ARiUKPQrnq14c( zO^38?U}<|I)p}fJrTk=v{n2TC8*|E|Qzd1xjKSSsCvZaxj^k2d{);8dah$L+shiJj z-x+E@%`Y>AuyH9dXJK0xfq$e%*=->Jo~I98jZq(*&h-__UBou z)vZct>xYuj2>4ZLJt}$Ddk-o*MI(d_xwf&Fz)EJ9!I9G?JS{3OphZM@qj9$ zZac>~Z+#=y126g{@l498UcxkdnIVg^e(69(GkF|NH*0%;=PkPF7kbo8^7P?jo)v5>pq{yLe~&75ztTlvYekr zx*lsF4lKENF6Web^oh|3s1i)`2phiw<;Dtzm+oxKn>;4mj6H8^I$?LB=jTtn`)l@= ziOdToFMI$tlfEZUILYMuEs+N!?Gf367&vqcG-&0I93uL%e3|u7XDA)KrH48zF)Cei zJz1${ddR(C>;cxq`1Y-}pC`b7={N3Q{JixmK11`6pN6_i41xpS`!26&r&!($ww^Nf zjIVJV@uP0vIf>6n&iJj4sq#$r&X8D3dFaG_qw~>G5Uol(WA6 zq;!gnVCp9n5w3hO>Cc&_dmt1iCdoZvj3US@8(tiX(Je(!pvho#ozjUM%~}| zH7)Yy)0EBXCl2=HpI*dIx1EiRam*J6z;mnh!dkAvnP=m}32*p%^EVe1Ikk&vEjDu7 zzlS$tC^h08zq@BR^QcYVPA z&+iy|p!CWOi#>^~4{rG8%W)8O)1DZ4@h8V4a@&+-mi>UX93y&Q9O{E|nUe%wYRn)v ze{oKXGKwMO99M0CsL991njTtQ7znc2=0+BWJ)Y#}JG^nr@9{o*{RAQ3_I&}JFB8zP z$Z$DJ58bEd;yk|Pw|&99$1LCuPf_@FmHXWAef;`G{4x9QPq>-jR*{5vzE%MN;w@ zyz&&WkDDsEwS$~kAu;}H%cA+F6o)Tni}IC?bmT4RM=8}_oQ3PwFg&xv%uxs_dckrm zJ36RN4lKI>03ZNKL_t*4WR%76FZ=Q^c3d1DRRx`ui4W8RV=iG9%hjw?C6BNg{D&i> zg{U5l)x9XmbX1NUwW_S1{Ijg|mB)i=rUrw-wp=XyLo_x5;K~Gdp_5lyV*e@y?C3(B z!K=9CM{Gd8@_9M-G8q^4+I*S8v!q#Tpr$h zlegi15n9_q;gpn3Ysk-KMWpj-?ff89bg`yaiV@F4=S+_#@RfK z#5~wzkvHdZf+kFkLl%1Mu;i4~bUlWlM?J@}FvNJx&DXCk|Mow8c=>1l_J@~0`t&I` z^RPoxeDk+r?GNLbMT}Vz3-(ohPT$Yd6KU|XZa)PA>HgCXy3EaUeE*6s_R9wUFmCb()hewIwR z!EPQOEX+cdn<2q58YHos-SVfywK7*fsf(!s0`|kjZ)D%)q4~Sq?DIi; zKLhLa6Tb}Sljn}Am+4r0sWC_aFx%xYVpL>XiXR9msa~d2qvLSq%*if~deL--B$l~Y z@--BSK9@Jcy>be;U|&7O6Njmb?Y3Pcuk zrxbmJ%N8$xQOxSV3a|D$YIV+K*P~lfacye^Mi!sCkEQNEd>4afrtOID8sm{C&s-P2 zH-J6w%NG^t_d8r;a*FbR^J&Mvae4TVH*UERtj=9OIm|V~d%V&ABYqF~DW7srU^mFI z6?bYiK967HPvdj)Ek$rh>$9bdtLRf3oYK30@V>1#r+rz42E>mX9EYlw?TZJP_ZpzjVLK)H37vejV z=%2VjU%kOPMBgp!wuroO67#TW`6R#e_zxo{P&k=7 zQ~Wx7TR5=@Q^`r=bGJT=zf~p&RM9QD>L!g$fc5vRINw3Ueh_EyY@5ql!wKH<- z-`d)|-URKIk3%`dPs&v~6+78v+giHi%ZVE9j-9oA=nRIfkB*EJrq%4j(y*|Cw=3}$ zduiAH8;W=ZIz-N`sjqh0iG8TDM|y`IDEQkJMb`&u@>i$%v`zZ_sbg9>3(?dK0MceD zsaypkGgVnvACwjUOePRHXNtZS3Z$q>+$L>MiT*Y2+h)k5f|oXmJ67Np zOFD8@P$}tTW=SX83TwOgX94w&IKY1gHln*dHm;T5as>u)o!ETHu{~{D(#FYp%F75r z0DZ0I&F}o>Kl?p>cM``@E;|Shl5rMV%X9FQsO$i4{5+8`E&V`Wn%H7Rjy%%J^M`@Z zAvzp4DU(HA981|1N%<66m848@*C!b(6Wi3R?-CycGYwIcK@K^X^5TQc`X}j{h8DSs zh~Z@7J$}>o=lH7CFERo8&SQR4!{62QH7d?1o%p34HOky-T5p|YO&$Yi4AwU56pS5= zjiEBuRUTghHe}1n$L{Dymx+ldx%vHHb9m169y0lPOTl@NZ~Hz6^9DhhcKM3BzcKWj z$(c~ojM%kqN*h>hTS^k)r1dQw3;$2CSJD3YQ~T(C+1V1QsiE7 zA@$3zZZ3cE*X~}v`-?YB#<=i+vh8$Y=A@LLGGqddwlm8;gVGn}yy=IW*0foxuqb&F zC(Ffp+MyTf>9|Gmw1@IY)&4e2(25?DO(oSy+g8pz7)KVku!pYRCP^-tz#`KY5Cp!TmE`BxcZ=bs~FN6F8e zjH(LeXg20Hl2p_wKuUioOCXLIAe1;y9>q}(3VsY6PjIshIA}bf1H<3c&G>P9Tbx8< zz0o%1X-i-!SGY#xrLCb?UXIDWk8iD}J!2^JAt%e&AB=@kHti%A$K+Ui$<>E9FYj^j zf;P|qw_`61zhE19^EJ03cyj%tuU}t&;*DQ#1~a((8#;pqhT}b$!7YBq0QFdM)c|I9 zbZuuxiU8jDeZx&8-x%x-U-m+|sl@3UZFkSVG0==~gC2hELo~sU-4rcNzlF#u$`c1W zG=8fXCl6gIYa=MgRoq%-gH3tmie;>YjX_~Zw1L6vZz0|1Gg%KfvG>NWC;O0QTyyi? zepcLpZh0{v#-epMUejbL#NdT6MXNu%3K=zJreCRwQ|M}pok||~kx>k# zY#-y}u^)kcz^$DVhT_|r`Y%@TEUZdgnKAioezxL&{Ga~2%U}5~{ws9ZUb*qfHz&zF zaC#J+m~k<@Z~wYY0$K3z2H`_=17D zAq@_4JN_U9C!DA#naC#J&nKb;nHddn-f}LwY15r;02l}G?E{w#Dd@3f9$Q&kN;-yE z)iTXS(nHUNZIzZ(MBz2P2sRtuuqcg;0Ef-mVavhs)+ct00Xbq+{mj1Uq zf^rf`3kbAKWsK<4SV^p8=zo2D$3KHKjhHM}l>I=L?s${G3W6i_ z?zoqKzL1=HWNEwO3CwNw5wF2aJ^DbCtgpK0mMd^s7%UAMh6N-Mf#2 zn_yDX#_d$Qw`m-U<`dBTrU~b7JfQQ6-~N@x*BNs2*BijxZSdIS`JMswCdK*Yq_#Xa z_Yh@rY^3PQG7Q|#TU^dr-*8^})t6sg{?i|Qc=@Nl`@_rc{rJnvGnDe#Q{1$T(WiaQ zjm5P+#$n@V42_fc(zhQy9@#er{Vw}^3bI*P*_DC`23cGW> z72mOx>oxcwuHHoyUd66AVU+h@0cDJZuA6sdh4NITi+^QnPi908-nCxE#-qN)-}qTI z@fsho$57!;>&B|M;3ziSjrH0n*+v~rD=GEycPZOe>j5kwSkyi4ed{|9FMsj3-n;zD zJ$~!g@%{mGd&YkrZbiwPQ1|XJPCQR^amobEpPaG}{n}D)_cJszPonL<2q4Y#G;et6 ztz)7t)c0IZkgiMQm8D>r#lFq9ZqA|>BP(BXt9<2(X8aJCWSpIQsg->XxowUNJkJBf zbVy1UFR~E`u{31|H!+*C%#M;`mRuWwino=C-dNDaT3eF3Qu6>k6@9V3b}25!0*O(* zKI`Ae)(*m>D9(`@3?!?&*!GEo(z-bQCqbWGZ1yFR^9HGRQ<<{7=GuY5b9c#*xZGhX z>4P8lc!2E%<4C^pkN8QDXW0JuCoj2?C^9gyYkH11{|W*9aaw^lf4G^0dpb=iJ{@`G-6NWLs?S z8&>XL{q(;#c5M#NP_iH992i-5%T4X+^eYdwxJ_uMFH^uvV=LosFTC+d9k;Q4@j^)X zrs>M;Pi?2yY436J;8fBFH})9S?bjww%&H!LrS3lTa2HzkeHeJ{jbGaHf|%sz=H7Dl zfME8ggX6Ka0fY`O%?ZyoDJj26UiO1aIOvtCWDLN82I1EBw(`N$<7#xwkL)_JxjGTM zdQz=|S>8oN(@L7RdrHX~!rB|*)Ppg+ZDX|}H7lhWqys~p|T&*~#{$SWYI=B8ZJ*4F732Rgzl6Pz?m<)))5 z=Ge-%H~>ql^w`1r5kDC9CF>)ehtFjm*kiUz@D^v~TMtY^s(g9vr>lPZQ~%>Y8cErX zlr;XQGIgQ)9U$+6%5J$xIS3Pec3 z{*4b(P4PdaQ@c{{>KX&B_6S<>l`p+Gmaplmd!^;PooeLqGy5I#wx;b!E%2_aEiUyf zLOqh?6UJgGy!*8xp&VH>DGC)efes8Sq@Q6Y80w9!M05Z`gSUND2ql`*H(ME6vUhY2 zg_R9{akOvBe7(i-Wh%)Isq(-PDhpWpdH5){H2GUjUCJp%p!JGf`PPkHK-Tn0wak%` zj>66F{H5=HuZPF0GjqO>4m-9nj-Wf?afi|!>=^gR9?M;Okd2f9)53l1`4xsul znvz$}gLUfK*)q%=^dkgu>E^+#tbnOQOMoLu3zdmKT69q^ic_zj2|i?5oorR6YxMd* z`cw;*c7{hN9x{>m_Iup){l?wP2i)|1%!U7ZOzfBkWFnFiG8!373~9&7xrE@k^51-X z?4YGia#yB6^+ReId1+CJ2z3adRg8KGX5Mr01lU=Tn9}scTqSugy&-D%!q2B+p*uP9 zv#|aa@K-)`ommx(I$yuXM}cfd+5%LExcQWaHbY-SqaT6Dg_u@=Ha7G*xMc=#ZAcQY zqHUX$uW|YTe*d+-PXjf@Yb-`hA%u8E7MctaD$K^$a^4@UMo@i;0wsE8wqnwNtiiyD>n#od6 zOjFD46RGyQ#N-vpg&*aA3TuFr&ZGh-GH!#vn4_oRV6f7!)XLlP!5_J91LAahh*wlr z{>Z0bmPLhNRCd_It59gH%yTgf-*1hV*ck!AOwzw!z$OSw zmQs7C4dNAFZe1S>)WpBmj`E47{`Qahhx8Q8JS3SP?Xo>mhF-2d>Wd2XxJBC>mfT|; zB_0I7zDFYE_#(*gMs;}BVuf{MxlM`nt)L$ND(t#0njw>kW=%@)KWR_ytfs9K_gr9z zOxx0n`>L$}2Ym6OpW?KAykTFL{Uuj0e(lfy^5uX22mdQ?y?h%OuUc`y%+23iy{vr) z=e+U4l@QHk$(+&yVG88uL}L;|WRGL38-G%der;cUR@y0vF|hsKTDX=W9{mul@N85@ zr?w=UD0d#Z7j&Y^1+4b@8+Ph%IPm*zgd5s>=gku?d~x%a$-x6A4iC_0O2>lZ=){M~ zb5V)1Z~NbH(f)=x;6px#_u!E?M5y2O<9A=6?Ps1pBIoxiFHhN~UR<7k{rvLe(@!p+ z{HISZpZ(~I%hNCKTt5HktILl*{K4g4|Jy&geE7+a*{OWZzNKFe@QRzi;qHZ}AAk6g zhkJmt!8(L%=}G&6)cKzgBuyNwSyVjTW5If^Vp>SeRZ_Nt(A<$x$iMC1GGdm~52{d3 z);#km`0bDOp)!Y0!BKWRvmPVZ*qgq@maC-nC4FzqJs2aGn^yQ8TC~!7N}{79)H&$~ ztZ-uorZOe8O_Jbc*)qBIToli7%{qFCgM2DSSs|0SOILnU%x&eJT>oNf=vP0W8wXO` zt1qpq(;IlBbk4@-*gW|VoS&+%;v!QYx6`(F9FNrUM>Rg`kgDKUMIoe5_M&DT0khVl zwkA`l%IHQel7r<~Zr#jMET=pKkpHfG>aTF1GvZ_O+@~ z`ST<~H>@w-$<~l+>%@=j$VonQ3l>ioGhz!wZgDR-U&(@uA2uzXo^jhQeU^K+XS1vu zSMy#-LXI7)`y_1{;g>umcEe=nG3UVhR%8vW4hVv*6ukA3R z#l*M!Hueq_{x%X$>{QZize)Bt_gO~lgO8O3#4NE($ zr;+V9c~fn>Q?b~-3lW^QG%#(C1Y{k?hYE#|56r7x{1`#AvwzgU96xF>{K!px$6czf z#wVjWuwgCs${Wi#9BylEzhwPO&qOMIOsQ(>HXSJFRAkzQ>-RY3{Mw)4q4M8&aCx6u zz}M98ymyy}{Q!?ZaKB&Yfls^qE#ulxzTW38ZNKKRzmMtzYhHWsrkAn2;an{Ju33ht z4@T542?Ft-SW(cIja|7}OLg%+BT`u;xPJ=I)uhz7OvQPSQbMcW-4yc_#}#SibDX2T z`#kLg9Yx3f5q}tJT0dw(fjBAlQVznB$*`p5jH_ZR-QxQ560I&s*Wo)}k>O+3O`-_gt1KX7zV*ugdc zQ+MCw6y9q9ex=5Tm$jcELGFV-O4~-BKgqR1-)_&O7*VHWZ~YB&_FE4h^W{DDA^Q8i z8DFg2Cg1p(bhd+xL2jJ-(usIBH{M_%*Wd6Ru`G>i%P;U{&l`H9b!4DBVuE3tvN%R5 z5t5WUisrYF80?vXh^50vLWmbHZ5plW_D;^`B8RhPV7!m&UhbOH==# z+i$k+XZR>BjPfi>Ni1ZrOco673pLQm&-#%KAwXSGKYT}V<%?XNf@$0E$J@%D*N6Ve z$kJ|`yw>1fQ)7SBkC;kVj^z-aaV5UIiJ^^-$PtItoi+@(I;ts~#re?=3T58u6H(jl z0Z>l>(r(YGxC*YT;V;%nU|1(g{a8Z%o3<>GeD%)WXk~p#V{5C zLYFggapQ}awqqTL4OU~u>TyFDV#vc=+^W8_odjb20`8rCl(U1x>n!y z_f}sDFe=4*w|d3hzTA9O+xM(31Pi-u*yQ!)u=9?+;;nUL(Or>12CL9Zuf*2IlaVV@ zeaQX;G3Ddu^wU{$Eyw2w=|j6T$nOfL-o`3-EACgY%gx{ZYv27|PA(Kdve-q_50_jd zBi|;=RnC)|JrLWi(oE_k&l-A!)v3%>M+P)-YA2+$Y-P-216`AH228pUu%5uRaPZg1 z=(sxh7ro=C9A+?E+I1|XB6M_O)i!hxI~nfImyL%>i@)XgEpGh&0&mKE@W=^WF97qDHWSel$sK)tAz%jajTfP{)&AW2S8v z9bgWWlaAcPVG{O+o2CA)P=3n;A+NjPc63?uTfjWA%^Sd9akD5lzzPE=a9vNs%+4E( zKpDu;V>tp8ac)$sAfs10Oa?=pUi$6CvkZ7gI^hb0o?&tE#M-uf_5A+jum1Mk%P)Qt z3ZJmf#FGmG_q>r!dv_x0?~z!}7zf8On9%D3cpa0)b|~p$_;GX`QdWk(O!CCZR)r{E zzpN?KRk2niu-4Lqu|xt^4H122A}=62EFc417Q8ay+-3w|nH$=4*Sh)#7#YREiN#T&ow zC)!WS6?^0n)Kv8?%o3!^C?A`$5*(k-eS7)j3-(zbaO>f-yO%%w!#9^d_EU1+4EA%H z!9`BR38>!eLB956YNI|iuGSb)A!~3XeBgpdg5UBOeBTgs17k}%mUtMnbbRbjtj`@f z63RHv_W*h;sK}IuZT&FC)vc7&wJm9!>%mf2#s-Yu=D~tLJ{qee2A}cCLjsJKN9-rx zUFsw9 zEQ7UH+g@zEqZfs3`@y^Fr*zu(t1r&DfbM$USe|rKJl8Exovc_B-}OPXfY<%FBrmGf zZLvNq+#w<%0_f=5Y#-aS`nqu(+c5LDdgnN6I{acOBCz{BBmVH=qs#yP5B{6WU;OR= zx_0?I@g3i$%3HuZz`;H-I?{a2g^T5xOQ4(i8l)NUt&5tC1}*$gzol{1``_48Is5{` zW-4ntJz)uta#D%8P%ei1A4!%?eRzxl#Q0Qd-11_R7m>_$=!SOj96!gq=aDdKU1W zl`{b4+TKMv`iK}b4jZFrB}U#{krxiSjOM_ zjtQ`RtFW5|4O50?Hu2cbO1f++86Vc;OhqDZQFXHjHcm&ILzgjpav)PNo|(t43)074 z5EpbDQ?E!0Hra+13olLxzuVAC%1zJI&mpf)Vl7Smu@?=>$Mz?C^@88ZnU;314?2hb zVy~Q9m9wzra?`)Z+} zL{`Dk9US|}6s-ugk5i1S*ip->=%q#P02V|$D=|0U6qA)EPU-dDHiGNDi-qcoU zNiqILwt49fI1&8q-@0@8rC)w{dGnCtJ00}_tv4 zjJK#%E^$%UaayV6>UClY$7@~kwP7+hqJDYA<0kH9QC<;q)9UwPLH*Rs@+*{eIiU~< z001BWNkl#`+*uy=coU)BLQ)J!Gjzey#-9^u*7-t1>;$XMX|0`z;CC;HIL+sg-B zOZ3N~KmOw*6^o>`=c}Z~LTYo}VVq+R`;e@mjT{^lSX{bMuez>%Q+! zFm~OSI~I2?3@Hzy7z1w>dvi5yQQxuam#^F|3<8SodOcz|u6!uMedb+quetdXL(av0 z3Bw2Nz4noPlY+uKt9qTc>J|U>)+2_^W{P1@PBfoR0*nnmW&gorW?32(eOxb$0;#BG3RltxQ zeR1f^n;5U(<;l3F>aI`5;mWJc^(Wde@kKudJHAoZhE8t#4&A`X3*`!aDlMKeDQjiR zXNOKYDXtOaXSs^#No^jM#YAA^q3kWU&TWqpD+O)|2{4L_XO+ct_J8fHAC;&~;#F^= zQ~gC*$>xnMy#K#2!d^Gc>*BQcHeBr~KlW1^rMJv65_8~DKiNf%iC|Ivrb%;vF!f|ceTf-ZBL{NaL6yNyd-c}e&ex0jE(qnjiDws z4(hjFD80JQ)wb2sV*MCj>gH5pz4|tB_r+@Q2Jo+Z?@jJ5AnZ|G>ZCZEdVy5df(OIR zC1s#!naYYMAD%5Z>Z-1s`7R}=wI0lCWAIRj+~~HIU=HYHa#tb1c3(p;qyCwvgCvoh z9GDtPWmZGR_+2tpq$o!gIiKeCw=Etq;d!4Y+`h%9{XXEc&))dG;liIY7bk!Djo7h~ zi8_rFJGREN!b3 zG;U5idEut7Cz`K0NqNmIOCK_^V#4O6)Tgw2V%&?Ho{HbPaS#p^M`ML}Q}sVx7}Q>R=$JOvh#?dQzS-8~vsC@9Z}&gdeQ=)IFj7BH-^dAF_i{HxtLNG@|N|n{RIVH#O)7cdZGh8!h+Rzt2Q^| zTH5lXEI~POn8$n z+j>=tZ{gR$>bn+uv*N_&vZ7NNabsib`CC2u`t<4R%OC&Xa`~elUM@fKfexR*1v2|! z27mS~+HgSX;JXRoj*v1G$;ATuEI{3$-oErxvEKM)2P1AaEH@&xv5D*zzO-Pmx`iL< z%Gy>vI=4B5@v)dEpO4~EI9elRV=pn7SBDBab>-v-KM2-mJ0SPO@)2jh4_z2H_Fwu? zS(TDC&QYWu=r|Gfxfvm(rK)PTA}7Jp5|8*5!C6_?S#ey3P@ZdcbgYjX3F~KWBFjTQD&j@_&E;2r{TDC)@E`tfmq*|Dc{X3~F!l+l z+yKty9Gv5z=v)2CE!%JGWV~4H{G&tP$WBVJzRA>Q$CkdiRG~iDA@Wp_7is1rNf2_8 zLV+a5HGgqlCh{!aDy{XlQ55SL!sNLCj4*p{nT^b`h5ufhBwss)bkxa^?dij=bn9A?JaNoGKqTm{MqGG zKK1;QKYDt3^2g6EUw!fV^5v&5FW>*@^ULr4!Jl0I{r7oG_~t3UvDTxkZ(ii>1sY~d zU-J86FS+pagqs6jvp;{%%WnB83)`lQIgM1dePEn+X$e9K&f`|b+&<|b5NFCOtV+g; z^Z^Jjz2h(|{T9#u3}JK!emYlsIl=LQw85NQ9osF<-^h%;!RbYucv^$HBaa3grm3f0 zJ46O4ZE5)0dV-WZ%#?9=uGSsK@V!k zvaFxem?+80_)^=Imb7*vxJsKtR6a6MaaCP&c}H6yZ*xOaNy0l=+L5%Z;!nF|#@b0J zMSK{AwWnkfSjKV9G?zlk>JS^+l_*y6s-JzcY5~C~bC&M2hi;STqtM95(qS*E!RShB z2W_xxmrCmJt6jMbwx%N?fz(Qi0E$^ZXUxFaV_Yu+7-RNAjwe#(9Y?8!Ch>SUNI6W2 zk#RLjif5ljZdqRyZ5#AMYU!5W<%u5|w^!xJ#dGnED8E?rJ{SLQyfIvftX;Y9jV|rD z@yF45@aE~$&o3W*^DjVW$2l5@LJFenV(eJhPrvoIe~;e*=8Fn1`3y9le}4Olw}5B< z>7BNG{+Yv6cJ=z_F=}9ZDAIChPLQb>WAo>{YWwkzescL2zxSid|M?$2xqQg)rf?6o zqnX@&=bP-abkE~Mw<~?k8=Z+y{cit3SJXbj#L}`4CZ^sL@#e`>&dZ;$eChn0LdP|3}8HVl6|I*{<)PK=M@42jIR$e{Q7jm~DcN+juDw?;6nv-lgd(lT?Q zY?P(1Y~{5fb#x}L?9j>7F(kR}RWRL81zKDRZim)mCyctbmTc|*2^QZiP&zW*Xl=;M z520n>34Ona-~(>nJiL#zZ;pPzB=X)P=8*W32M7t+x7c?+|NQOc!_S#3dVU@s0gE|T zUE0&sZZ)`0L^MT8!|ygI@x+x~mC!A}VNkkXykXwuwM|@3GD?0Hdgov1a%pS}5AvWq z*GvqscWlvl@UZh?&3l8EX=`mg_w8op&$d0bF!zf*#2?%CMI1;DZU%MRcJzH>Rl&FycKe_(`FW)@^UiRByT#TDrI@hpxi6 z@axR6whiffA$KraJ|wP%#o0WZI5TmDkXS=&%&XgT?mDP$14r(^br#l1sZ-kekcTH- zj$TJi)xikq9qgf<@OKPcEh01Hqta)~*Yf(MjOFEQ9!Cl=K2pI={WD$thM>J$8{EoF zKKL8UQfIxL3{3opfnsXx7%Pa&T3^?HNJon5$myYJ<+dEW6^z8nv=83(vGz1v;k9?* zf;E-~ZSi7})o{n=Rd4zBV0G55kq5y=^~xHo#4cYx4k^z%JsKsomBP)K)fpYJ8R)>tVy8UoQpYVWu`Nxs1&#n zN0vi$8U}Z0-Vabu`4U0jC`7Rw-^sZd>XXJebQj z*RCf{`OPBoyUgYua^v?gCjlSu=I?vH3Mk)6d}NUqgNAw9TP$c0GtnW>Bs9+IP^@UF zK81966?#AdRM}kA(25;1Sz5UT@&q_6_a!=8bRC*j^`(+zaN(_SU%%mx0Wbz_4W#gWBQD1#T z#%?67Mkg_+wDNY``s}u#P$oKYfO0fz(>Gd3iv8?4IMj%@1`{Cuw`4eoE@=H!B*-jg{rz3~4&+y7TQ zMDUz##FL?I8|?a&AfO~c`xa+i)QPbMmJ`vD#ka+5ZcL;NK04QJplwl3IGa^_wItm> zGk4GQf)l$}PiY)in*1Fi<^A+&Zk|N5vU5tTdn6IrUK|hp4W1u6*Qb0c&ns7Yl^ebi zZA*QMU#VSv({3A7OlqXszDh}}wxuNW5|ijdF=y4PvYYg?CiJ2b%Oi)^xL6KIm>n0j zvD;|4K(Ei{o>02n&TCu#)WLHOE^iq3;%(aTpu52wo!fqH zA6)flc48 zDjTHi-;})`I~~6&yRW;s{QbZGcQ5aM`&S^a*O;5TUd-%gGp4N$a`zo7>9Yo0BvaRJ zE=04Ri40CiXJo?BKUO4XQVgl=gM_i{{?`;48s6a#b96+}lyzmcjU{=JlnZMxcm#zD zMN*q;-~CoD-*Xf98RMB7222EehObZDrUBXJG?#thU}V+@(YH-+I1bz}Z@BN1+>dDK?mp^=RdH$1U{B-3FZ+X4A{PB-J zx%}XVKfL_uXD_*s_MCl6f6LYmNuT6y`aQzREolPuk~fLI;-cBBSNE`ap9hv+~1 zoHh8iqtR(>5_4$@S2+o6L=E92`)6ewGoV0l94XTf3`#3ky(y`mqyo!TuXP;~FJ9U{ zB%X#WX5IozsT5sy>O%CAfEh>Jvq?aM)X0yV+*>mXbakg*jGkH;Vf0$3Q3NP z;+0psu`$?6nqteGC2*5#v*S$;JhuaMTkAHoehskz3$$P=L#tUZ4`DH{^Vld8fV*ruJCvQ8q9&J@-8&0EiB-qt&5rM&vuH~q;O^wa!k;fS_ z$4USYrVz4uHWnEs$FBazz?c>n{U|F_Uj(RD9msf*b?9y!N>Wb<*_KVw!CrMISB|AH zDb-F?T8}dIjv-qN0(H+DJPs#OmTy}+{%TbpJhxUWO-EP_Y5l}<=K$_A+=Z+k>g58w z1a`J&`?=BG=Gi^6jf$;Z&xpET(I4eqWu8D6-eu0mk%4naCeEa%Po7;qi;v%KW#&QE{x<>g=h(I=Nb`0b11MF-FbPXXFjqhtYRc7{2>6`(M|JuvnYA`CK31OoLs@UzjjA!T>d*CXUb2P;( z7(H=K2Q9U(N>j0hMsg&wr5rr{G*wjpQcK*|m-vdDl98r-w5;kXO{%r6`4x`G-?+KF z$GE=36U6tNZ_&puc{uJR&v!lj?B3(Tt2kw-NPI*F7sFib-10hPF-GS0Qy}^~IPbj|eLm0}$R=kI%5Y z{-{i^B?Tgi>vwe|XSM~CfgRDhS7O5 zLe!(PiVz&<_TSfBFtTs+@Sc5cU^##CGvPef!S>A?vR+)eYG(f#HX0cTs%-~Q~b)6cut37#QoKvdPrzg6$*3Tt(Y*XMLmnJ?ajq96-)Ubw|cOSxR)~YY3o6|trTt@J0wz=_Qy_EP{$pur;XW1BHD`Zctb+j+3TY#YnFVrxrnS4d=guMd$NAF@A1MB33>6{{w|k=DBX z9a-|R8kxql?Y*TGM=E)}CRzz~f-?55h*ujMv&C0axs6kNN8h$z_iN_{AQAJ@CjR); z*l(Qb&q0eqEymu&D?z1v^LKvZ&wbCETiHWJw+^+Ln9&v~IptP6Y0?{y8!MwN!=Q}E zjO5mp2}T|9MBENj|IAB=K=#0XrK3Bt`kvxok&*QDcH@uw_#p0~7@ewZkR;W!`X0Z~ zNgJ3vY@3wx!uJCvBJaO{bNTi+?_Iv>8^6@=GFukIiP;{La-+Mmq?&hsx`ENBqz;wF zM?ac+1LoYWYpgcr9#r(zJbL;pNgHW9*xF=~uACiJ5OZ=ca~O@O}D^uWDUB<+q4@dNF+iz3C`i>(l18(Lt_GYZbCgn^lc$ z2e+R~N;fZU5uHF!u#b(%ncnh~w>{c&7U*RB3BLZu&%eI>>aRY?`1QAdoqT(e^oDrc zrE&fyu)hsVbx!u}-A?qJ?CG{AI+oST(}(!ezL>VhrmiQV-B!R5$7N+Ra!`?$gr3&Y zjnZKhp*q=45M0{y`qZcY1hUDaf5x@EJ~YnCAvhkKilMZhs#TlX2>fcC>Q|mJxoD*i zR!nh7U5Twqw!KGtl!+4~H+tE2u+Xx|~tcH|A;JJ9_+tT%_;B0L4GwWy_B+pP~lhaqemz_ZR0{}q*#K#pEAz0@!M z#xH#@mi<)A#Tfjtb4HPKD-BixLHWurp0bu4D*m>U4~#ta<`3nLCu681lPs@Y^298; zlSR zZcz>#3+W6B6$<{kP~Fj5KEcw~j)g;Z3iTtPffQp5*Vd_SY>Kt*vJa$1>y!^oUf`;y z+}bmP@M*SdF0%7G5up2NPvjjZ-VioG zo;Y%B%)EnrVq#{NX0p@NIAzw&se9DUn95o~l0MAg{OT`S?Cf%pMu0HP`4^hS{c@l1 zNB=Nn`yy5gl;3c3Ab+&uE^mt6<;L$FemC;o+pqJf=ezLlBjGmAfAuMNL;MCKp}~B> zMZ5>x{JqbGtw-=E6gvrynOB(z`da6v`Np6dy3{9pIVOh!%&VyfIPM}882iatgLBht)%_s4}mP( z4SL!f3uRJCU7ls*Cq5n4&pdNfx7fo90qE;zPJ5pL$HY+m5rBhVwPq(|Mk&w>`_3#;+m{p<*NZFgF@TN zR(RE=#vgFp1nN)m&$!AN$6O2`N3`%qCT03mMN>&LPmpkU8J|b0K1FvFR2>`Fc-XJf z#UZ8KN@yqEP%E#fSS3c$a&RYKR&iPj-{6z3F>wS=3@MG|$&S*-sd?>E@jpIn8_X3N zzrw4GU>UjQ$9Amf;0(U==(}vw-dv{Vcwm~FV)uQRrE}oQQ^`)=d4+Ec;~Q7hpFjKb z@(tbszI*p^e3%weKBw&~k4e7i%NxJ1_yqI|?!dj8&p*H70r!_2r}#3(Th8(FHkyYi zPTag#?9y`U9=H6hRs;Hq6Xnmi@%y{K|Ka7I{oaR{Kl$R>g=cN9`$*cGxpJc1SY%(8 znDqvCV``rm8)Ml#Dl|6c*|&R`bn$%B^Umk&$G>7f{)Er^zhK|~iWAX()xp?LLe|t9 zscwhJgdmXx!O%ud``uqkA3lO7#8nfeNx2zg5-cv|r$FKG0h|6FvT|cvb)&BfNL;?E*eu^QUWEMc*C|B1CW0bM|-Cufp z`ITS)Mt=H>!++k6^tnn5pZkUM?GIa9~o3x_?vQ-UGF}%`wZoZS;#$|l@?w+ zz>CzS)T8R51HIVf%HWKY>+!AqAKb|5Z;=se3U-V7tbP*oEoVDIO^DJew|>Q5c;#lj z`Xvo!Gd&QYIhbslx+Pw1Om0Q`$ZAKOP|6yAl-JO3Z7@aWaK0hyF3)qt%&{rIhW?oC z{l0uBVSaIsYY%VuP3ikwpnH#(EiU|&$VVUY1pxL9ifr6YW@1gNCZKeyauKp#zv^4q z^;b8MU9oZ?@}HQ($fueSdhqBzb5igfr}?W42#J}e0m9wOwG+1$#(DOuj5RKxK79Ou zwi9g}H0D{uzso+(&-3@^*Lri-2a&wC;)jLYExV6=Ni4Ik#756RYR{N>aLN8fY%hu! zW8T=%2is;_yk2LjW%EsKP3Fi61Q=nG1La~2yk4q5FMQj7{7Rg})JEX8U=78kX|)3J zWf)}2Uu6^XW4jog14cRJ)rP2^yakp_d8Dl5Uvdk?d1RG|st4ss(F@;_P~`X$xe`L( z)ncVSxLfwTuqd^Bl#x@6O)=@rnHK2`kdATiE@5{0OOb^dkNubH$^K zOms(f^)`>rRL&b479K7yf7`NXm98K9v}8zu2) z>+%;N!*g5z|Ksc3dUngQyS`_i>(tfN?LJ@}g9)}3ECC{fYNDmi001BWNklWpi4r9W0&_5?ZET=zx4YV1)pgvpYoB+1zyE)X z^{jVShxxv1%{j;6KgJwuuDRwqJ_B>m<*zT6S2`vT4rQ^1D=*7QUfi=?>$dA`e_$kr z?P|AO@eXndH~PehwK^d!7J1|)ULB16tFnK7tLK)+FncB zy8ayahZEf&mv`_fEPj+ut8Rlx#?3;x-P+Wv=+JN`Jo3ZrQ5fm*EeP^n=Z93r`nB7m zzE{C^?{=@;8EDJ(^xV%D>*_n)hASj-8%GN#|0v6=P~DC!LhI-9cYio+0jSJjCI+rp zi>W}agKNj-P^j!iwf1C+*}M{xu1;EPRr^Z!FW4$Xb+(zjRSg()_#wHn9D&-iSbmkt zv)p5~msd5m2J4|^d+gn*_I!Zc9wC>?eikQ09R900|iHuu0U2{dfq zWis)Ar`r5Yj`zOCjo-JuF^W9S_cvR{JsTqqI(}LfxSpVeR&Z%9Nyy34XY=?R2CEPP zb@+bB;Gn))KNf6k7cX`a?hI|o=w?v%Klph1=t#8Go#(&;! zVKUbVT|1+bOQ#IJ1@`F|etwWp&}VuAP@imucugQCsQ7H|wvj>EzX(dO_nOF3ZLxG> z<+h7NR+R`2Gio`7C`M#0w%Xh{a3SEy?FW~?^vm}zZ+r4hobEpKrj_wR*jc4 zf4~eNx+!5}_tPUscFjf|Cq{bmw!_IlZeW<}-$GCDd z>WRMb5v1K$K;@C~q{5)s@0mcmPjL;t+YGYt5H>!Lo9c>dV>PiaWCg{W6n-|U_V+fb zVk%sba)TMXJCUif{vAn7ZRyYC*0p|2&_}$m;{=sEvrPk+Ai=Zk@EpH$k-;-Q29jHR z2Ed!Yy|U)E5MSGeCn=`7J`KBesSI83Hd#)6h2qol+pdj=I-PW#;=B3N@<~^2*G&xIq>`Rll(RkeS!bTDest2MTzz0z?HICBUIb!#2Qp`i{hB1 zmla<4kO@WlqWK|^lEN$zkVjJX|Htm)ndewr4c6K{EmEi&J9D-+hnbFnCua|B3yA$Y z)3xm)w83YZb~?7yw}WSUPUxX;8w+#8uKXMFaHZWC|IYT64`0C(l;zl48KXu=pW;Jox!;T+nQ|hBM$y`_$n&PH6#r$&r*JMuKe96YM`!k7RpOhpU_?MM zhaBcScP{_k-}|pF|M6e@JMg(F=ck|fz1mkV_|9-Xz?LH#a~yIOe~>&kc&8kt)7qinZ-6ywwm?^ow67& zxEM=2xG8)8=_7u>?=io#_a!%T`Q2ZxzB(?Nss~P$B;+EN_PnT+&)vPno43phAH2ys zxp%pdeESPbe#qGWG5Fk+;CF;y5--0#^2J9F`F-EdE+75q;pNd!xR}RpuD}1I_b>nK z`~UXxyFYmU^3Vxdjz7F5L9TsoHhV$Y8vq_-9`nTJ6YfMj@;84UKj(rVH-3q=5B9NX zc&M)zrcP7QY=#WYv@0#!mAJ;7dRyFW)G@#q%jYpY|+)$hng zU-_F!__RlI3^YGN5MSb0+s^i@ODY!2EOrMX`#3^}tt|i=52!E6LSth-Wnm+5NJ(kJ z>>@`m{#Cc_T%E>8XWf5}aTt_sZ`z^Ft2Y5U+CC;@=a6cxqL0b z=-GZ3`J1L#-O4O0xz6NY-LX;F*29D$t)eIO+6yC5Lts*T5Rep~^oyk~pKJ~Ah#vAa zTZ7Jp%Mh%^B@}yVvGID@ZF5yitb`2?ez+T*FfBJ$^;b0OJ^siHB{Ykvk{_Rz8-C>B z)<1|~>>RU0qrBN~anNxqW2a0;LcbECbML&xJe7enI9lVs{Yp97ro-qw<NR07hKr??Bj=*fBE}=a``{L|KrQQ{`5;maCmzzkOpHGU$bu+bZ9AO-@z|=WaVQs zZZEC6j?XX9bN=Kxs5gFngRbK`Z~k&aQXE1K#$a_Ej|gk*9|M({0u`|D5t>3baed9Z=){+1V8?(pCi zedw+m*M~xx7u@m-9>}}6VvEvOk>NUwpA3J-*T?*cA^T?Dyzf+shwPQ4o6??~N9m^v z^z1F*g^x_UVrA}^Q1g z+lj^))y#Q0+CObp{_t;X24nhRbQNF>^i#_B@@j11okRLocl4d_xnFZ(5W{zVYGasQAjgR z`3%hiFyG?2oJwXmonrx%*|y%SwNVdv^WAe~zZm$O3Fs@vvj?>4E)N4`o`H;_j-I#K zXI?NzzQw79b{@lXPV0m9ge{9-+4H3gA1(Lg6hcRt{fK(b1>8YATo5xKsxZ{`lYZN>Am%#`t%1qMe|3BQT>APYdr{=v#J$Q&-(}?%qf%O^ ze*7HVv(IZuo11Qw)n}>BO?xZ9x$!vLU&zg2j=#mL9{qmkF|@*)BP4EgEst{>x6CJG z2kfT(;&&~-(YV&Dvu&%L?DMnTcmF!$oXfhR=%(O}f6{i_tk1ULMxq{)WN;GWf?VS* zj(;nN(1C~4+ISsT$K)kGVcxVY+?gME=W$QW#*tD$t{w$@ zR^io&xFHVEr1t%@taSUJe~~~oqO(0EmpkhN3%V)_S2g-SgU~)3;So6$Xzu}1I|Vxf zTV~1sl%bq=nQm(ZSmOM6LA_?x+t@BoU&eXaCWP<&m0$br_dKug;O?Ir)+Z4?DE0;| z1$gpxLWp>`{P97$iwE-@Fs(R+XB28VzM0BW3@(xnGS=Uaq3z? zDSDVTARCmHA(#;8#u!<3z)c+LGG#94QT7ercbMeA%Z=Z6cp~qOya`K;XzXn!G+yj< z0&(oH8W(@^m=oWEX&dKOo@zxKf60+mC$h#~N-uU*U0H0X&th`>c_Jzy+b$=M-27#- z!p{})RIw+ROkg~*G^WU@@5D$nPY}d%j^G?BJmB(1q;I1T2j7S^j-K3W!<$Y|InVx- z&%XFHoZZg#9zdu}l1|FTuslmPN;u)Q57tIR<5Br~7u#b)s!v?I&4Q=%6w@ynBt>dT zktFBZ&ezV!wZQ%-WeWJ*b#a>JZhd9jr$33)Tx<`a*N6`n}c2LE2$ zh>Xrrw+&uE&TsBeuTG#cVTGiVX_>MqN0pVVT{i%cQzrd2$_iDg)xiphvVN5vq{u2b zI(0H$LWHs6%1E)UJ^mye`S=j%G6EUC?R8*9#xW$h_W0kvU^RdmF%6zVfg9bmnD!2q zPPLAnq zxoxd`0^@}m->7%|vppv5Oh8MEvI;En5HK^T6L~9&Ox@OE^~6*lBBLu;l*Y*2L7x{l zvH~CAtKI!PpYD>>4NqZok*}NT>P730i@D*OCrI3H_$8h^{Xqb1MYdH@;=?$Sn4Gtx ztupXOLP8%8KV&2-heQg~4q=Zm_t0DK!;N~yt(TUPD=A?bx7Ax8WR8aZjI7(---PzJ zklx^dpa*>JHDCW9eoRE#mB*8AlY=ycn6J@LV&U+i?TT-aX}^o0^{Yl5q+VGWyWMvi zMmW?x`BNtQXvC4*CfjkBW<%E0*tEL)cKXHm=9dsU9#%d0N4wDymTboXD~&s)qdn?2 zR??0xaJW=wyb-s&8>(wsQx!e(6YJC@W1w*UN5q(^+_i08-vg=afS-Mg+#1!nNoj8s zOIY317RL(Zs~F{LWq2iA^@)?m`KT_hzMW;(zIf7YaVEd$R*rhjA2vg$4f$j!%wPP) zcQ60LfB!#TzW()JWFO~3IyZn{z4S+BxiXX2r;HIe?*Cj7@fex|r*SY8IWX#}VwDY@ zVm!|(Tvk;0S1b3*U=^1P*+BRL20yLX?l5A$i| z%jcK-FL+Cro3poQPk-Onn2etsEAkm)-P0Eqe+Gl=y4Zb@-vE5Tmr?G%!NpuY)$DKl z-oEt_`n-YW8^7N8B}Ol~Yy0R^K7;z>N8I@R;_}%?&v^s*+2uz+{_yh8|J4sKzw?71 zUOsy4r=FkX0VHqu>V=;Ryo=w?zn?Rgd(IW8FL==IAy1`wbHGmuJ|%bF_1w1+pu1`O zTxcHbbH4;90mX0QnqeB6f9KRVH@>ACHKW zTTgOQ4E^w`#1PItMNT`5rLN^wj2>0Mmo$zhJ7}utz~Rf46S|lt_+FgM-{h;Lx>}VV zplyRpl$U??2U>6huZ;QHl(H!hQ~6nZS<-iVMJ5|~d;+ZTS`c#Gl)j`G83MXH9u9j1 zEA4vqws6C*z$npJ2)+K9uYc8P9L{zeXVaa=PV~pw=mf7CZjU`)C}*mTYx(R)w?zF< z2=vG8V;+D?SiT-##Z;#Tu6oe2|7<%C2dZHE4_x)Fc4j$}A!;Z4;^BL_>yvhK1GoT` zx!BJb7Ez=<8NEq*m+|Z1tt=X5w~x1ljHHHm$%;jF5}?WvBVgmfAxyo)OK)Z zmjRDAfM58Vzuf%wO<)E>A5wb7C-pl(;s9giz6Jb>@zU4GVw>ZZH-2A2`||Tgmp}Ny zPcHxGZ@+)}oey|O2OFN>IsP}OL_h87cxCi6Cn5JCP(A96VG5BOz45mE-c<9@=;GI> zp7G@9V}8Tko4=l`@7IJnC3B0Dh}rHlR)eK~6l_OiShZi2CRMuIBsUVlsG$4^3zf9n zL0NghDe;WOfGuPlftR4#lxkltOL=NFGl_08Vb1IZ!6v#|J{eyCHV%;Cv> z8(jYsXj>-N@ATnP6B6YVEkg2rAlR5?KZhxv{Zu)`i@$mqPXtgfo>t}xJorciKrCaW zUjcU=;N+G~*gV(uN7{OE^iM^_0zCLrj;!M0t9q>{KegeXYlp^|+g`1mg01#K4oEZo z#&H+q?!=x}NO@MDYSXNoiyyfpURyh2c3~u%t z1iJ_7XEEY){0Yh!D!LNepDhP9ipv+U<4*QNs_B2)KOEK&@>4&2)Z8X{F$4kpHPL){ zE1Q;yU&0MLl3+-aoqlcspp{P?PBK*)ofSGep#W+3t=4u8c>hDFsd&8trOPlWo8=n+ zGP>65ZBN?}3QRGh-dz7FH9nHu3v0ynwqMTCaQPa)Dn%pq#^sGo)z(F07sL z=GxW}(khV0%EU#T>X`@Wz?6QD!*Fk8Yg6K4-OvH^EOS=YmmE`1#GfUr`-f|%vUb*K z`Bo1>ibonBc8m+w0^-5OWXBlw8jA$3{x3Lr%p9>9D<|9WOVq=Lc&-1e_LX-MJ|L%$ zOxW;@9I0$uR@&=&P-)(y?;$9TcMq`(R}SiYIy1Bqi3e>`nP2D#L`z&pic$a zsajB!zu1av>~Duc+jTd;L*iSH)bkPCRrJCcH2!0VSddEAn_{F%==uATOEWLjU|7Lk=&To8q2MoHSc8P9#enE}VbX?hs1K>Q2y~9j zQ)^60?lXgU?NruyX@I6g_5mvx*xFEbvXzYCuB zQTOJSwr_D#!V5B&=WjDvwY|u%Z?}2P`CISuR`gqZs)|q3$eu<-s2v?*=(C+PW8H-7 zHmf^Et9g*5!hUMhc@cHF8|MBJW7k=^Cs&q^J$~z}3Wg?IddgHGgmRobjcA0`I|hqrtI&QJx-^8` zN5oE0gI&7%@{H+TB#0c+i<>~IOFFix<+YdX(#jg2uty z9qLELiI&@!O7KDi3Lk2T97bJ&!hg)N3PP0Z-@UVt3mDuC(!%<%aX&c-7i|qpimmZ= zEWk0gtPjT&9;JgO&IxGnHcJd^Et>H;wr!uaZij9Uq2fu^v5^zrX=Ck3yV|p8Oz$ut z`rAdGn5U1-iL1V=o;FxOwwe75Gj%BTmM(Eb>j&$#7`nB(e&r9YcJ=~nY)V&3#c6Ty zQyT{sT-etPPgiW4BbO~VeY|ZcMf3vEz4MTe*8u#@V;_FtdRF*_kD)fIDn}TCrEG$; zo&rc3(Znt7lycHfe>>O1OzTeo6L&4j8u@PjZrflV8%KfHF;tuFxLo1b@gtpBYf>pF zQFq^Sl-GvCMDs|wji`qo-TD#Llbo`3c>Gaz{A^L{+LOMr=DGll|BO*(&U!_o5XmU8 zGA7v$!`iYY?=k=RFaE|~y!@$e|7!X|eoxUOP;UM@z+ue9c<2RnAB6Lm9p519A`LEI z$0lhizG?(=eMqssC8Hv=JM;xZKy>-#6@UA+HQ)GU219HZx0uX$6Z;vz z$$N`e41{orhvWbCSkhyG_H_3FpOf*Wo4>r13${mhu$ZGf z<;l1&zuvJM;NFE`oi@Lu$P2%YFtfldP97;iu8eTln$c`AtMMU2EQX4yC5jp9y(oZa$#fBf=Fmh1{l(yVLOPV*Su4Ce=7ym=MuB1;(qihK=S0NWi>GqjyRy^#%}w9_+d6>xJ-WRAlmF}TXa2o!Gxz$Mk}S63wZvGP+i|qRlI`Q4q$~wu>v?Y) zjbA>u2E>)izwo&U z;kcGRc_hVb+hDkvJ?Ar!=ElS?IOM08xDJ!^cKImkb8jXGDREAz)xp+CZG=GC{@4xx z#>gfv;khM;KD>oX{}ziS_AMOD5N-0&9x3X??$W6Szv74eg^{p6)!&=-#A;+RFUNtl z2Wex!K-fEciyt+Z&9XuxYxEU2iD4>b1oVBVY2aWV`&M|Xg%5$aeR;$~^^!{zf2pIz>74e0?lf*)Yz33IAv-VlC|xdSq9a87ZH z3k#2&KQpiJZOOa|?6syO<{$I}O?v&o#X-ZqmfcNT@FPyyIYh20C^vn~zS-p(YuP60 zP0UTTa*A={4lUQ@pnIb-IBp-5+7~D|h*80FDz1&LSdFv8O!tA(A`{VSSlpD&GxFJq z<4*{}C7CN{UQf!|Z5xd62Oob&LPzRfgo>AS`b@kAxTpw5R_z%Is-VLFs#4r3udg9a z9Hb%M{RDZokMp>PkNlDhH$s{C-QvW_bIRxRg=fg$WgK|&B{xDJ(kb};-wQW^Z!-sU z%)0;Hoy)KNrME91eEj9*cex4d)9U`LNc!ZoN%Put9amDJ97dfE$GGTUNo^D3p?}$$ z1p!AH$9Rqd&>nL~_NSk71D9`A=c|A*#eV9zN}&8&jTgV3aUJ9#A7r@CJoy#JmbVyt zAJAF9xc!Wul)HDi?N6rg8`@rMdF4LwHTH+c$nyKY7v3Cx;v4d`{Vq6OgY;a}o4WVy z|2!CJU-US{Wf#Ig{PY|+kG)A`J3h7lQ%_rF`&vs-Y+uJ2+h;t?eXuzXUIOZ2Yz`U4 zPK2g7nHZf{qD<1aJ+^I}D~f$Y+#I{sGt1XLY(tiFXL|0k6AP~<}f@ub1P zNNjf-1GE_C>)7V6c_}}AZ80}Tw;nni)PCY2|6G?9_DV+}b`zt+hx&M^V>f&WlY~ha z24C{VZ_&F=6kJMuTRC->Giaft`QXy!qgov5(5~{exAp2M59Q>OHcZ9n{NP$|-#h$? z?#k9zduyUGnClBtvEv-fwC6OT*FgP%f9Q;FY8>YW&>BmqLc&WM#MlJ!pjSAYn(nsI zNA-d|dWo0##%*$0%0O`aRa*ma!~}aIiFA!GUaEo|+XcQNr0PuhWIH_TBY4BFl^YCY zQ#|=Uo1vVQkIyG1toOw<#D>?*IEZ>PC3XnzTza|dn>yM(d`3WPM;s_O@~_cO##VN{ zEY>+uO%HdGa3SKs0=`sY+RDYR$w z8f<~pAxqH$Rmy%R5ZSdC4o24};?gqn~WyxDcHJ1}T2& z;t}9NyN=14$1XBMQIS+yJaVN^O2jwI;Uu$@cuv&^q5uFO07*naRDg|`eqXtf_vyT6 zOqQPVi9ml7?u9phnYrv+vO=zovEAir#W;Agqdp!76@R;fNf{4wGYP{7fO06K-}w7< z4|((Clh61)yH`v|wV`j|qz!_T^fnh(DX$L}EPDt)tWh^E>oQ$MW8<`j_ zODVwGi>i};0Y8%y{oc@)jaK{!cx|Wr$K+(G7e0v^-f=QHs>s z_H8Nc6Xm)tH2$QZd_9eveyT$y?IIUTo{J~1-qcmqx(7Q?8uAGy`nnUn<4ct4iANr< z$Wci$zsp8&|MyKTlYJn4-YN=yf-|3mw`w0q(&!XZ5T811^DIMGW9!*(m$1UhfvY(o z;vEW>lT;>k-MCmkV1~1?=^I%}gD6o!@fqv#+veO|@Ds1EeAAbm!OuJ=J_y!^==wah zC5jV?Zujsv9xJOzJ&SC~@l?R;61lE~SoOoE+99rSWr;~>-Ik$Hcbh~?_!5=06yTJV zLDq|*zTx}8^>e&zYMK7{g*$(9E zL-M7My_K=)XSkDVTWl`K$aXu|Z<$w1VqNXu><?UqJt}>!W&VhxE`R(t1 z?eY)){{MV=_q{*MKF^I(ubj_s|8~T~VS}9w&n(iM_N9%|W$Te`=0Dvkw4uw5LnT^H zpRaQn%kxA(^^DKv4&v%D=a810-O$`l4#%NoT<_TK?|pIsg@H~Q%ZpIm^XULFat#*$X}e=-X`gp84HA;O7kl`P|UR zTluumG0K}dvx$t{ZjSVo*)))$D`XDQZIKJYXqehp!nV=^*hn5r80xcl!^eZ`x$FkY z7dX;bWo)$n{HYg9UtP67*@fy?lulx{LBG#Q%%xeL9u_;PD1I_{Na*_l!H-`x0JR)x zSyo^2Vc&?D#G$k@p@qDq@~uVxAdh?F(QJ$LFS3WuO~uS@BaeV~>qzo-FB(>C)9}p{ zk3J>awmir;((>FE%5U=y{K1rw7@@rpjc(`?*Eo6NTluAj9q?MPE>5DG^13BuEZm^i z2BfCp742&4%0EydAK$|?9`sXE{7=p*?Wo<-DQjZ@+g749gw%(xi1msN{>DJ+mX*nZ zLUfw9T^#pr1O%J7+iy`h4&dnckgX44F`u&2j z-J3$s5n`xLQg4c1&0)&RzMx?I)Q^@kenY#Co5-#hHk8Br>1J2CBeu#0)yAB3p~)&P zywrw&;FTJ#n=m+0N@buST+`y|SNUiYNRqW_^4RJP{QF!N`S#D<;a(m7bJ%;%IfFOC?z4^Wa*V!DTki98@GIVY z_a}8!7x`6=+vxMFLZrWV*Vmi8@hN1E=k_C^!1n@!u)3YTrVNhe z+T6g1AH%cG?u$~|FAnnCF2O>#v83p3nY{HYeYcuE=%c!kv075FZOSI$Rwg=;gge9? zHv>6J@riO_1gP-RBX+WV=*HO84x-Xv6pVZdM|}-7D#vhFlQlIEsTi{qX0>=!8=u}l zx8^4EH=uokmM-CtK$`h0CEu8J``+Rj-d$d>xXa54x4BX3&Hu;fJ$TFbzPkMJ$ItV% zfWz|PfQ9R}JsiWQ#;St5o$6`>Bh9}wbL1mUIs2SBeCL>V=;Uwlz`N7AejcATz|XZo zayz5fUHoE}Uk*&WATuJ+T`0H@`qGT{GUuk=XPb&!AYle` za6%WJzpRI!IBOtQln2Bt*l5P==(}%7m^?_-$E8Dg?Z%e{ zI=B>8Ay`}2k072U+b&rxg}3-ts-h3-vW(v+@#tg~dyPl<)ML?jZMi7v55?3*q|)xl zP5oTn&|HmeX>_r4;0){ay5!esYZ^wh*5);jmgsG|V%bdg>8Sh+%=IOL6=EF=*l}MN znBZDTq!KzRY3$0YSX$@$1ybJ>+R+Fp%dt$d8d5B@iu@4=U0f06CoTVVn@d0EmWvTX z3-J}&p>s%_y~UA)tG)&A>?bkBSE_^CguoA^T6svIHC|%F1(!0C=U*D9*iSL{XyDq9-^4}bv%#3WAvCrt)n96GThBWBVvs0;;tOYKNviQ|Nc zdzzd?Fmd68(hGrJAoPt8Q#3HQoqgL-q`FsAi(Ohwq3`7FJ~x4#=y}o7x>%m5=&N|2 z@EK@caDgxvy0N#(Ca-NR7?0Gc7@lp9KDb?`7mQ3a(uS1a$1g508p6a1Mri6=#-Os^ zz>yFc>r$!9^;3!O@tF6o`~{xSWitAlCk^%UmDdx9o7gTs1?X=Bdn4T&96=dO*jA6e zt$a_sDhFchUHg80ImbhYtsj0%(@X5AYpyN*KIgH*3U*Sm)Q3=V@K<1E#fjozw|eTU zvd5nGMa-rOy*`}{2TvZdXSqX01aVkQi)l4FLsxfc-BRVNlM{@nx6f7Xs&Bm$jc)(k z5FWgg0r$z(rxft_}_I1jdw@D=Lj8{pz5zjgV7RIPWd+CAT^0P+x5l z0@=QTU_p)>W=w>y6N!tmZg|rO*rG!gvc3gF*$UeDDXr|(o3$UL%*}^Db7K=jVtc~$ zg0r982=GR4KJm;B&5a*F|H@vCgo{awE(D9D&$jKF#^6ZHHyzZ}&+@}vfmEl0SoS0J z(Hkgg)o&D5aWSW!>|7S4I5kn;?rSq#B#b$6rLWv)Z1Bna9W!HAjH5My6fXWHPr3E@ zJ2o4K+N^rxrq@y%$EghdjtxpgE-?sTwr4P@o-qb(5WrhzptY3VR6{zLW$nW|*$9^S zIFc_MpjE)iXZ%KfKbN&Vq|QYvnagp6TxRAbD@Q^>iJ0;&hWbEqkMGf_(!A}qL=^d-(h(g6Y)|0r7bo`V-t z9azIh)(3BHv0wT-?SA9!HuDlMBDvh*6#>V0zVFPJJp7^uZM^>&`7eO>_jvW)hgclb z;BlP4#f92@mIFT>6K`{Hu%Ex=s_PvF`#XHLwLXsQ5yrssY zcC?EdzrOMN`7=KA{OI!WAAE6n_yKQsefr|^<9zD*k1xOZ{r4}Q@=C-#-kk7e?`>XP zNL%B(<32WV%%5`A zDsT8QR|(&F3%JHUbUbz&brTUQQp#=z5)ny%OlPoOa`L_5pPxm{@2EpB3a zv&fq}w=Ki#4Rz(z9QhPO2)X^Bb!Du(=y&>Nm1`>w6wSp zILXORLVt@!W^vV3!n*v(NEmxiLbGbhJ{^r>l*)R{oNa_S^g~WTZN)&<;=>v~?2f|| zgRB0Of?M#kMY$CUe&eCPjw>CDw5|E9;)g1Flbmh4@~tmDYLK*{Zp5=n@wIxS*2ah` z61&#ppShJu%1>LhVRh3&HHRT@_$f|V`PLiV#W-XnB&?$l#$hGO!_k%ayY-bamS;aw z9;TZvZId`@WBq!Yx;@6mV7AWuKK^Emqs%~-F)TNu?C;Q=Bb&5pz#Vt`Ta^0Bq8>8c z!tbLQ(&G5Q}5{m$xoI_sv_E_uk_{QM%fF z9_-3*0CQZ=@f`MHg7r7ejkGB@B3n#KHxmVub6XBEsN)UUeB>_MULZpE&^cn z8mab|JIr6a;kNW#p3uh7$dc0bDQ{++oLaeW8j~j4Wk0?OA;q5n$Vj)S-Z@6$SE$!3 zqJ^vq=w)0{1?7lYoI-s=a4+CQNa1VhIHkJ2LJ!UfOadt^aVdyzZ!ksAT5L*VG1F{o zty4Y{vWGat5l?Q}6n^qj#7bI$Asp?8nQ=rq^RhRXul9>lRdalC{_PO_Jn?2ut1K_2 z_^q0|et`4$l9OwZPC;ikPug@Rz$?YZKKi*Qk}Awnasrev&Kiyt%){&UHcN z)=#re3} z9w#4{e$};9xwHe>iTpuN;k1g$Q+lBO9pf0aQ<6-enkyuBk?<7buxQwVBv0Lhj$GL@D=Go!t3w2=yih1k{6TsK| z$2ffS#n@czg_^omm-Xu_F3F#Etz7V5Uu_)qo3!yVUmND*a`+J)(8y^gwz?11u1cy^ zaJE{-4&+Kikd@Z}HheeQz5?Xum>oXqYn;5cVVVhiOX z$0pR*f-nErFsn5Ap{vZ;T#@Kmk)8mQbB#p}%2rk%6R!oByuPpOfqFwKGO-Uj{~ebq zve;Woj!eYQC^}}UspeZQr|c+>KTsOG5hRPf0jan0D5ZTG7RI{yrdGDUD07tcYjjq6 zdFJJvM4;XI#Xs}&-^=H!P;~R|o0K}FQZ5_?ttT59$n*%Fhr=9b5zLzg($twc#T;Cv zWto87ppU20vZyOfSsRmz`V^p*Cwa;dt*j!4j=HN1QJ+F-7LF$TZ3>@4^EZCqd5fnw zc~Xrp_GEG*ma%bOx{I)$bPZfFS+75PLN;c?k59@-97S;qjz9614US?ur`Yulo9z~< zDxVb1#v+b%^717c;wd*N`?+U8z}1v-(`*8>s?qf7F*k*LiC{5|83Xc4Lvd*9E8=b^jWq{^+Z8-u< zi{ePu<{%}jl-n}N24QcLCwmctzW#q9So@t`-`k+GdhZhpd850+&89Fy2T{E<0Wkz1{yZyUmEDV&kta6eKwDzFZ9g{fUw<1{@)S?8C@Jy>PeoGjjh%mIpX61bGBGjZ<|4&`6%3df zP0QOlx%mCNinLuFFVEY*4O4n#Prfa&+}-Zu@7NhNjiz|CEj~=YIb$k?=*q>{F>ZLn zKI9F0t)Jy8l?`#=h?zb)P74vZU@5!uwJq;3vt@0mH+k#?q~qVxD|5m@@Q7*j;n^4t zSYLndt;_%P_y57==fCymIj+sk-+UT_@xkv6vm@ll)&nKah%gAE=Wi*FX$O|Nub**h zR#VZhFc{2Y7uzA3>xVYvu@CxY?B3*M;L43(b1$aSh{)vaQhxl)8^gDl$K7%s#|_(C zxB1jFpJ!%ZW84JOH<^8)#lexW+MB;Gd}ywru2062o5y!~yT{-7y><6X#sz-g_tqz1 zeGJMMEd0hKga33B@6%)0ju@WDZ zuTSb*y4C@uQa?Nvn1T_5M=kW!q;HyXDXc9Fo+7ci^2zIky!dy5D$O-%aZmiCIEAAg zacToCE=Q8YDp>L@?23G2noh1K+Uvi}2)mYcop+UGh|*7#+qfx8H9A!b!MfO+>*Ebu zqephokFteH!L@y)^jw*VGwXGrvjI6lkj_|}ShZaFc+i^+ zxNO{97@{*KV>#H|C(KtIzTk~tzA(-2w?k*#wk`Q+ja6_&j>^cH ztxatuL0EsR*M3>)ZHT2=;;+uR2s3SzyJck0n2M{Lw^`unarxsz1rj5RZ3;3Jo^iA4 z9yh7J`)zLMaih0S*218V`_`rpnBCzf*Bfuod_`yJQ*;URxia7qQ05v=uPA$MLVs-Q z?Y#8}9W`U4O@(qSx9k$xExI2<(G2;Dj99MOiPIiY8`(mM%_s;!(mpVWh5N86b#k$p zZKWL(OJR`HBj*)St|CQuyV%vApvf8~HL73(W*Y^@O6rMGd=;p? z-PVh;xqgMGsIsO}+p@ANuh4-N;&^tZBR^&fpzEhe+|VSoV|EY$yA&^H}?i4?JcLFFg}e+Q~yeZ?a$9;zqc# zTFKtve4Ih^4nLdn_z~Are0ImL-YBH~6CqD3@}L-W8IJw!~q zKP2!aWnJ6K7Jpf5Bl-5tB_2W$M$yc)?Gx9(wq|^<$aNhh$A>B(Idt_*X}j$4A@$+L z_eg2CDKtA5DYS8{dRITTzO6p$@w;|AkI;1Y*|ueTRc^3r`LLL3T-Jw^%(=We$`$dH zpRm`qxZF(Y4H@J*{UQdh5k=U7KUCjfbcdGC)4@xrtF|wk`ZBzw7v|*OiQoOH?yl?Bw%lf*i_W$)>UE`Uz^|#2 zZ@CET!!<8X?5c#=l~=CXlWe&SqtBTD3^MXg#GH4Em1LQM zc;+2ADv-JynKu%g6V0Ec^9JxH^-PL%(^D9tSvu5M)eo=3`e5@DFBmcl^0$mSyRV)& zZp(BSN|y7q3GFdTJ|#*R1dfbytzProJcH<`jq;Wc7g+D{W{sajyz3_n0q~>GzLoO~ zKYsd<%c4%yfDKrz9+i@?6Q;PbNLuu-H`0c&!B&3C#bv?>P14m)^(D5wfWqt>z%5hJ z)MUuP|B{=5@6r!`<(Iv%K=_z+zRcM>6+1os;JMcq*j6rf;+qDG!NG#%|$vu#Z~u$$-LEC^D?uZ(3E?XRM3h4j@lL|I|8 z+KE$erAI~^l)(w?>XG+^MyeR1v>bx<{%8NuDe;xEb!^GfZ3A(P4S6FYMrG^Qmd)KC za}vrx)_$rlLx(Bt4x7~{Q9bdnZl}*1VidJygBmaE5W3OYgf{fr8uahd$LaQ$XLs*i zp5DL58>M(94!< zmkmPt)Zs(*1PBHaUVQNPgI;p8_obf?U_kLr-`x167y6`bVk9OmwO@4G36lPGIBMbK zdD^nfYaZ=sXXFLZA!$ilF^7c%i9sESXc((^Q#q^x3W@)tk!=e%Z9sSH!nQv;mU&Xm zae$jg{{DMDbszq=wNAd??lebV`3tYEhcYAK_;qdS+CSQ@&gjY8aAYhwv|Cu+%?~#E zrM2Bhh!n7)2SG!P!Hy@pF%z%DkI^%`I!A5oj3CZ>KB3c|nD=v8t;g=@rd<=fXzn&8 zUtZiC{1LS_eQzX_;r3aa%%PjFmd7NKL|D(o@3F{y--mKJOEB$fm7NU_>l8cz{>{&mZxs%q0wn0BwaIceP1 z(CAd*j5nfHh>kL^QxA6AaT2jzv4cu|92+4*n|4GlFcY)&DEie2dy1o8(z26lZ{BU${hY|efh95 zUm~~M6&X6&4&*y0gqnYCubm^0ZRZHgsdy^KV}-xh=ua)Z!H_L(_PI3yA7pBGorRKn zZut>!k$sDK**BD8+2pZ^6SSA!0Op~bXAc?sxNE=-V1IP|)tB4^=BDqXM2vcn584;!pe?)m)=6R?vIBV&nwY zm&g_CFcw=Y7m=*iu6o5QFDRo^4E&^CnG~qk_h@XJ@L_eO6V0$gOG)C;ATHg!W!p5R zw698`jNSpW1vKqPrpUR%gtk+BT`%?FMXNTm-BpcyXbz4d^|*Z_aga%Yk8)fdymPsH z=Uw_ZH|Kl+%4yAQj^lYQijH%OHw*6a(8C?)F7_|<#JjUkY;mK@w>^!fZ#LSquP1YK zX@sR6$8!15dhNgp<>=d{SsO8>@=Nj+*T~^<@C7561Sa^-CQ4MexVoVvogC4;IATo-)?74b32hX{oURd@kSXrOt6xvky8JI>yc{-!l~U58`7E&py*P?e!$yBv;>?zmEUD>B}zz z^d>NhUP9Gh9FJ^Uj56t3zLs9+TuPLya}|}Y zM%1zje{c`#3W;xk%=;f){aoA|{qm(wpHCD!2KS{goxBeB(k&E!I)c0JQ799HW#$bFMS<7ulV;3-PNT!XQ6JBg0F8#!@$lZ$b0GvRoLH-F#aB-Gz`yyF|K0VGFPRM$xYPQ{{PU$H&* zLa$bRKz87+AUcMiagQx^BWI4GCx zFcE#`4X{srDzN?g4i{y)-s`pRTvYXft9{_SxPRDU`?3?zw0$hZ0m>$0y?SmEQ}&G( zGEyIo_an#>UaWeIsJG1&q=j<^i@x~bMseS z3}#6m7VErNv97Ia{ML`0;Bb;)d)+s0)9K&%&NnZ={2RZ1`HO$+Z(Kfl|5N(>L+tfL z$j>wRP{boI=G$l5Bn;q0HlWBP?PalITXhmgNP3csc&&yO>ePkd5<=)zso%=@Z!@;A z5NTW52h+jAy9?wmecRVQFOPk}JiFAKq&4pKH3s3&u32|=AWqcM%EyncSg#jFsEp+} z8sgHFw0yvZ>#F^#{1PK~@NX81chjyCOEK?FuiDx-e&66&V42$(aW72^G#XU0J+H(} zK+=peaO7Prv4m?I#e!z@7mGY`+IrZ#59lKb6Rt=e`a)TW!fSGeO4u8dj4`7kBSr0N zEAQVzgClU72m) z#ATd`t*WGdPVuJA5i$!#a_w2D1F=^#8K<`=sIy~e{Su=%>ex5#bD{D#{)@kT`Rjk> zzpVM(Koz%>3}$#(B0dI|?VlUJvJ>bOMo*ubwBZfRwi&vE3`EE3V}U09c&k^Qb#D6R zZC`KxauI1iF?{D3~)VSMf7_>{Rbs^9uztgw)Snf2TGeqX)fZQom;(pql(^8Hdj_uNlCKe~MWCl7h+_sQkak6&CKeemM)A;0F$r#~go+)8IWaqg6_P8eTyl$RWsUU7i(4KR-pPq=vZ(9IG^x$Gr_Zo`AoF?qh%eoA9z=QX^#*PV^jUq#{T#`uxa;EE^ak!LVZRf5*gb<6%X#T zDSj9i|0l*%l|*WkVW#Ff%dVu4h>UH%VLNarTgv!-_0*=ZZkmBF@9qN<*AQX9cn6(0Y|<=uCG1m9A#faz9&guJ! z(49|ctL0pypb@@VmPCe1`kKCFwv5j++$Mj<*y=+#=1)0C_r}E|7H|CK>s$$;u@*>F zv58K~C0U+o^6(G~Ej;BVRM0*h8LKSDYi|;2VR@F5kTIEU(^8MFCH=GSj17Gp;ow8x z{YdGw0e*DUl@z1sO))gfp_F)(BWA7gTTP#eFRP^9wOoEp#n&jFFf0bPG&Q%hO}jD1 z!);%$pt9C?QU3r)W%=Cn=K%cZ%R85E@)_v2zSeWIyT%E*^cCXa7opyM$D4Q_N8#y& zhf?}U<|96cM%jnceCWVqx?lHD%q6zXnHTt?MvmuH?UR-_9#oTRnr1 zqo;U)s+R@^jJ?&96w~M#6Ssf*vUbCq^#L|6PO~HO+Un>tXS(|6xSjWJ8=F--f?AIH<|8^~t3#5rZ% zuZ(AI{^FRw46qMVraz4Cb-T8oAMx5o8n7%XOq-6nv7GG~yvjy(;-3A>^6-^kn@bK& z?2)o?U=aJ%hGxwq|AtHmBNPG3>S`ny60KhCr_O3IMXWD_t^DXj$_gnSiPLJw#uZFjBB7__IRW|^$dcB=j-r4I?*Y=?Uc*<9$_-u!<}T$rv9* z>&lo^DMRN|(T^-2L7UTP)4uy96zaVTibT#8+SNUxW!Ydx0qE}i^I^R&!*54yeKI|prOPBD7mO$FS!A*dcUJQybz_wc#)wPW-3q)6)`F-W+wNop6JNp!%kL=Lz;-Lu@NF@;;`iR6_YywVmmQ`@#du$&mXQx!b&yL|`!W%jK3ot;Exc&j|2SCZfjE2M;}w(TlgC{rorX@ms*p zFAu$GDw-JTj_u9EgcT>O_^*s4RqEVU$epO$kMK+(OZp!J)`eoLiIezU`@?}*?F!o< zl9S1wy#M_2d*8oz`Q~r%TfkquxIBIvqPR>BZ}B#ePpZH4w|eL=Pv>H)6WrYJa2tY~ zx2V7~f^I9@knTk;l-t>TB1t9^w$`{wPi=fkJ1R150fTzB424mTR@$oU=z0>d`{_tF z_K|@yF%DK@TwhfWF1fZ+7B-7(()vx_eGD3`ZmQ8}1yTE2Rn)efnY<19@`N>2doY4I z6!D^?9Z}c6;td?w@C`n>pV!P>$LgWe{-T^R?L+dXjXD&6_1pcbeetCiyt(`DiOb!u z|J>!5|D(Tp`P={5-@JV1Ti;vfU$^JU zb}SdG+my2YWD%zN(TJbb?YLh(rH*k z<8$j}mjuN|sG<*%g+vgQ%{B}t0% z8)lBP9OtcbWOMvzT+s=lK2Z=$3^u>}WP#}3QrjJm(=dz-g;Z@qYm z+#_1|m>Z{j-uV@8j`($?!9Qe&!qqygiy($>jL$&p7;j*2M zC}~^bfNe6ZQOi&kh&)Awkl$EaP8zu!H%m#MwHR5%x?S{59TY~@g0WaA>20Z?(knP7 zLW_QM4v_i>E%w-7uI;M7?3!$|Vh7o_Ydan_m&-s^-He&*n|ys4d;?pR{c(kC^(o?Hww{h^Aw16`z~IwQomZkaoz`iz}XzV%m;jkD#!jt%D7`2_THfA{w>_k%yWeDqKL?d7-r`3ILDe$3d8mS4AMK+(a+ z-27D^q}}HBCwbCLVyk1EJcQXS!>OkpaX8(}xB!?yXTRtTzI;j)hM#zT>hS_*e@ha< zq{bJ7#$0f*$EG4@+v|k3Q5mN!G}W~R*|OWQ^QG+*`cI#8+nsbmi(Qq3kwei=Q|#$F)uqKI{rQuRpI`pP@7=q+{q>iZZ@fo;Wj=D3Nr1=g zr+iuL`G-#~pK$Hz?l0WC+<%9;i<^xHieG(=2?OVfci&;Z;=!*MJS^}AZxQ=tbMI_D zn{C45ZYXdJV2zxe5ot_AQoj${a~t z@N7#M<}`ABvMO`+M>;xTu?n7kkkpG#YS&fp#(y!AG&*|b>ZOfkhNoV~Q*Pk0Phuet ziacgJ`zCOvrS=Q@lRu~8IQo(kRNsRA?6a4bufO|}&p$KvGM{|Gpzx=@b@%cYfAx*a zPai$GeELaS6CZ>g&#!TgBh$Ww0Yg_geXIWxjbT8dlx7{{vAXaSr*A*zA{rmU$!Dtl zU3bSr$I00B;dx{nXTPKkpYw%4ug^T-H-WtdYa5^alvgmQWT9;w94@cuR3O@LA*-Wf=c>p0GBuYv<7QH9$2f> zDz%~O#CaPR)wP%dgzU%Yv%Zs-9-Ai&i&tJmNO%2_WyRH)Fl zOItV*x8q|7rHM8oRj8~uImXv{iC6vCxOL+A;hL-(z#s9Yis1s7!xSl7(3|8 zK9cpMilyD-h$^vzU2 z6sasHKClv$&d82Mn%epxM!)4%lRzWqHXhj|;7K9&P22gdkn zFaz(wbeA49m2=6(tKk_~gP$BdbN-uyl{ztq%m!nEm<_DEv1x8a-F3Bf*Xk!t6jGyX zM|C&RkY(pr512^2$!AmE;WN*E?)hyd7=Gq6$IfY6OzDUIvN8`$vsrJ)njLriS5zJS zHg|(YUDEPGK#qDgxPFIg*0`*GM8k#-kFT>b`Qs$O#WDf!&0p=heTu8TN1^rILND0F z1h(s&oqgaFpJ+o+{hB%mZ{2IKCNF4uhTzGCpS<-g;9S(zw2t5#nw-?XxIE-UrZ=Z! zft7aKCe=4-H>Sq{%M;G{oVcjB3a8wY+9M(0HkVR7^TuQAi=nT^A<~?MyaX47CY}>(`WTF+!_{*oZ1|1B8cHr)#WA-R%Z7H8^v$*j}P(%h$< zIOO6y@@_BdRiEvYRwyq5DVXG^wqAKMNx`X&R3%MeP{xn?oIZh$?Miu0Od_kIh4?)n zW+caw9IRU{ZCucxJfZZ&3zuFnsx1_yvl9x-f9q5ZuPqNVauo@l@e(_1lv8Iv_ay=! z^zg(wJp1eLL!;_`k3{%3tTwEN+MGDt!^L<_2e|u-B-;~c$3#Dm?n&DdPvpclw(+aJ_w&ly#2?y| zoOR+9w>MUBz&nx+JL=W4MfL&vjq8j@G#!U<$6W3QW zv~GXj(DtRm2b@@YeDJq^{mrGTh1#q8@eF&-o3(t?kFh=W!qeu|Q$zSfw$;jxOzU1G=O;0~{^;_b|E>R){p2mg88>o-V*@j$WY%GB@H|Mm!P7{$L(qw9 zx5+p=PL4kvgt-tzTy2BnALFTWiQ9fo*f)L2Z+laKa^Cb^y5Eqy`vAHNZ-RL>$>gzx z%m~yqf9<;~4)Ui=2ZsZl66Rv{oqe7|L<@A@#PQr?DLCT&pG}8NxN=2 zPoh1qoIDv6ZeTcfc*X@WFZMm=D=E+UO6d!}6!DBJTV9OXPdNJ)?@JFBHbq@>?`>y4 zaT8F_MKyA7{QA=$*$k{YmTiH<|)7pVATfviRBti~GB&-H+=?Qw2Y%^UzS#ct#ZQ_`Xx|)MS7P8xf zWO;qv1|=@xb|vo0NjdXdPUGcN;kEUddg#XY5!82zi;@b274ar@Fe10@s*VWCwM~OJ zw5vbS9;U!oIm>?+m<#{_AOJ~3K~(W+j2-^XHd@imHFU@v4iClv2P(c^O%?t?Y1`CC zXG~9CnU$315>cg7x9!!du0(lKCr!D&RyG{`?^sMbf>(`QCr9_(p8_7`u~}m!Ylo$d z)d$P@8=jaOvxr&`-paRf^%X7+w%(h+<&Vcv_QC7XN>*7|d5Fg^AlN6kp}}Wy@A3AR z$CYd@AMQbQjx>}hVdpvH_ru3O;U>th@KE=g^)H`h;z^w6eERwM=M3?Wc`)b0%ZI=J z+n4YE@BiZRd%yk3$Qp)^Vp66W!ACbc5iS}XqzWqaK;wA(MdrD1a<8bVx=DRj&XZjj5%YPKBbs; zY@rD{fe|A|8D*4Jg7R(`>nTU6c3Whv@l=|nIv8-Gcg3pASXi|~e`8Yz)UJL@6>D2h z^d%@e%ME$j;SFK03*;I`9gp9({h9G#Bl;O-hEJQ%c`JQ}4f)nPcP~#qxOMsH^Jn=Y zpiz_WVrqO^E^!zmH=Ow8YTG?wme2%X{#IsUZ`16*J{+2#gu_4g)ATK5?R$APQ zeMrJF+8e%(+n%xb&}C@gIrcwgzk0%h82!y(_6a-Y1_^l+l%&_lOPzePl@{h&P6M#H z6p9DGa?2@B`>fk+=$orIOC_(Ekp=jQt-Z|X5z??pU&vx(uxoEn>!1P=&w9(Pgr3#3>#ASY)@@Qz zq#GY$p=3G5K{jdiR%Y{ZMIfC)3z#-VW^h-&=jzw(v-I5`#Lr*y;#)tq&(Jm8h>!hg zw|Ix_f{%Z?@_Jg5cGWYbjVaN4AgLGHw5@jAuhv$^!pIge^6D+#07<{%6};Hs$rw4~ zq&e%W6PIkYa;H>&Y2n>u-;{q%_kcOkw@n9c3b8{uVK_0@PYk8K=G%^lwV4yhji<3` z8^sOg_>eZNo!4l=eyx2cS8D&*XmFIZo7CPW7xSSDmFzO`%1OgwC8P34~3P9!%S+OjB?f zkInD=(x3Ux_q-0~WYEc&PjroLw7n_hgfnj#!03e~51yxqD7wn1*QeWRFbDnw89GcG zA}vqdPH2Y>wViUUi{+9Q#8vtD=&T`R@(9pLN=fc-W;pTSobvK66YXzs)Av0l7GLAW z?*k@Fx$&Z&?ZkL>1C$`8qZ_ru=9q~MSNH%wohNc-{C|wSY11xQc9!?l8EUSsuCA(9 zH{C6X4hu2KmOuz30VWs%D;$9xCJZ?6kLkbU@E3n@_=5-=6H-VaW6*#GKvK`$HP@NX z@pawzTKVLAs0-{j251PUg)U`*}dW z()!RvBqm6YnPE9`F?O;Q&+B~ff*D&Sp7$1PJJD6e$u#Ybt@8AyzV40X1=g!hPLbf> z#S&B;54?lQzvc4At)JU|LcCAN z?t=&^T5J_J#}P^8oMXB*w2rynOWj-VPEeh&wrq7usa=ds`86O8yW|m1y>6jon;ttJ z+L?UU=&|2E8;p_Fmb&Sy#{S6*_ED>mQLYr@imX3+qyy_m;&@rNl(%0AYx*2QhY(Er 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

    v3O7%YTi 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 z%0A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%0DT0Z+M>4~EZ4 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 (b s) ...'), - cu_seqlens, seqlen, dropout_p, causal=causal, repeats=repeats, desc='FlashAttention') -benchmark_all(attention_pytorch, qkv, dropout_p, causal=causal, - repeats=repeats, desc='PyTorch Attention') +# qkv_unpad = rearrange(qkv, 'b s ... -> (b s) ...').detach().requires_grad_(True) +# benchmark_all(flash_attn_varlen_qkvpacked_func, qkv_unpad, +# cu_seqlens, seqlen, dropout_p, causal=causal, repeats=repeats, desc='FlashAttention') +# pytorch_profiler(flash_attn_varlen_qkvpacked_func, qkv_unpad, +# cu_seqlens, seqlen, dropout_p, causal=causal, backward=True) +# if fav2_qkvpacked_func is not None: + # benchmark_all(fav2_qkvpacked_func, qkv, dropout_p, causal=causal, repeats=repeats, desc='Fav2') + # pytorch_profiler(fav2_qkvpacked_func, qkv, dropout_p, causal=causal, backward=True) + +# for dropout_p in [0.1, 0.0]: +# for causal in [False, True]: +# print(f"### {dropout_p = }, {causal = } ###") +# pytorch_profiler(fav2_qkvpacked_func, qkv, dropout_p, causal=causal, backward=True) + +# nheads_k = 2 +# q = torch.randn(batch_size, seqlen, nheads, headdim, device=device, dtype=dtype, requires_grad=True) +# kv = torch.randn(batch_size, seqlen, 2, nheads_k, headdim, device=device, dtype=dtype, +# requires_grad=True) +# if fav2_kvpacked_func is not None: +# benchmark_all(fav2_kvpacked_func, q, kv, dropout_p, causal=causal, repeats=repeats, desc='Fav2') +# pytorch_profiler(fav2_kvpacked_func, q, kv, dropout_p, causal=causal, backward=True) + +# dropout_p = 0.0 +# causal = False +# benchmark_all(attention_pytorch, qkv, dropout_p, causal=causal, +# repeats=repeats, desc='PyTorch Attention') + +# benchmark_all(flash_attn_qkvpacked_func, qkv, None, causal, repeats=repeats, desc='FlashAttention Triton') +# pytorch_profiler(flash_attn_qkvpacked_func, qkv, None, causal, backward=True) + +# q, k, v = [torch.randn(batch_size, nheads, seqlen, headdim, device=device, dtype=dtype, +# requires_grad=True) for _ in range(3)] +# benchmark_all(attention_og, q, k, v, 1.0, repeats=repeats, desc='FlashAttention Triton OG') +# # pytorch_profiler(attention, q, k, v, 1.0, backward=True) + +# if scaled_upper_triang_masked_softmax is not None: +# benchmark_all(attention_megatron, qkv, repeats=repeats, desc='Megatron Attention') + +# from src.ops.fftconv import fftconv_func + +# dim = nheads * headdim +# u = torch.randn(batch_size, dim, seqlen, device=device, dtype=dtype, requires_grad=True) +# k = torch.randn(dim, seqlen, device=device, requires_grad=True) +# D = torch.randn(dim, device=device, requires_grad=True) +# benchmark_all(fftconv_func, u, k, D, repeats=repeats, desc='FFTConv') +# pytorch_profiler(fftconv_func, u, k, D, backward=True) +# pytorch_profiler(torch.fft.rfft, u.float()) + +flops = 4 * batch_size * seqlen ** 2 * nheads * headdim +ideal_a100_time = flops / 312 / 1e9 +print(f"Ideal A100 fwd time: {ideal_a100_time:.3f}ms, bwd time: {ideal_a100_time * 2.5:.3f}ms") + + +def time_fwd_bwd(func, *args, **kwargs): + time_f, time_b = benchmark_fwd_bwd(func, *args, **kwargs) + return time_f[1].mean, time_b[1].mean + +bs_seqlen_vals = [(32, 512), (16, 1024), (8, 2048), (4, 4096), (2, 8192), (1, 16384)] +causal_vals = [False, True] +headdim_vals = [64, 128] +dim = 2048 +dropout_p = 0.0 + +time_f = {} +time_b = {} +for causal in causal_vals: + for headdim in headdim_vals: + for batch_size, seqlen in bs_seqlen_vals: + nheads = dim // headdim + qkv = torch.randn(batch_size, seqlen, 3, nheads, headdim, device=device, dtype=dtype, + requires_grad=True) + cu_seqlens = torch.arange(0, (batch_size + 1) * seqlen, step=seqlen, dtype=torch.int32, + device=qkv.device) + qkv_unpad = rearrange(qkv, 'b s ... -> (b s) ...').detach().requires_grad_(True) + f, b = time_fwd_bwd( + flash_attn_varlen_qkvpacked_func, qkv_unpad, cu_seqlens, seqlen, dropout_p, + causal=causal, repeats=repeats, verbose=False + ) + time_f[(causal, headdim, batch_size, seqlen), "Flash"] = f + time_b[(causal, headdim, batch_size, seqlen), "Flash"] = b + + qkv = qkv.detach().requires_grad_(True) + f, b = time_fwd_bwd( + fav2_qkvpacked_func, qkv, dropout_p, causal=causal, repeats=repeats, verbose=False + ) + time_f[(causal, headdim, batch_size, seqlen), "Flash2"] = f + time_b[(causal, headdim, batch_size, seqlen), "Flash2"] = b + + # q, k, v = [torch.randn(batch_size, nheads, seqlen, headdim, device=device, dtype=dtype, + # requires_grad=True) for _ in range(3)] + # # Try both values of sequence_parallel and pick the faster one + # f, b = time_fwd_bwd( + # attention_triton, q, k, v, causal, headdim**(-0.5), + # False, repeats=repeats, verbose=False + # ) + # _, b0 = time_fwd_bwd( + # attention_triton, q, k, v, causal, headdim**(-0.5), + # True, repeats=repeats, verbose=False + # ) + # time_f[(causal, headdim, batch_size, seqlen), "Triton"] = f + # time_b[(causal, headdim, batch_size, seqlen), "Triton"] = min(b, b0) + + if seqlen <= 8 * 1024: + qkv = qkv.detach().requires_grad_(True) + f, b = time_fwd_bwd( + attention_pytorch, qkv, dropout_p, causal=causal, repeats=repeats, verbose=False + ) + else: + f, b = float('nan'), float('nan') + time_f[(causal, headdim, batch_size, seqlen), "Pytorch"] = f + time_b[(causal, headdim, batch_size, seqlen), "Pytorch"] = b -benchmark_all(flash_attn_qkvpacked_func, qkv, None, causal, repeats=repeats, desc='FlashAttention Triton') -pytorch_profiler(flash_attn_qkvpacked_func, qkv, None, causal, backward=True) + # q, k, v = [torch.randn(batch_size, seqlen, nheads, headdim, device=device, dtype=dtype, + # requires_grad=True) for _ in range(3)] + # import xformers.ops as xops + # f, b = time_fwd_bwd( + # xops.memory_efficient_attention, q, k, v, + # attn_bias=xops.LowerTriangularMask() if causal else None, + # op=(xops.fmha.cutlass.FwOp, xops.fmha.cutlass.BwOp) + # ) + # time_f[(causal, headdim, batch_size, seqlen), "xformers"] = f + # time_b[(causal, headdim, batch_size, seqlen), "xformers"] = b -q, k, v = [torch.randn(batch_size, nheads, seqlen, headdim, device=device, dtype=dtype, - requires_grad=True) for _ in range(3)] -benchmark_all(attention_og, q, k, v, 1.0, repeats=repeats, desc='FlashAttention Triton OG') -# pytorch_profiler(attention, q, k, v, 1.0, backward=True) -if scaled_upper_triang_masked_softmax is not None: - benchmark_all(attention_megatron, qkv, repeats=repeats, desc='Megatron Attention') +import pickle +with open('flash2_attn_time_h100.plk', 'wb') as fp: + pickle.dump((time_f, time_b), fp, protocol=pickle.HIGHEST_PROTOCOL) diff --git a/benchmarks/benchmark_flash_attention.py b/benchmarks/benchmark_flash_attention.py index 03ae29d1f..e0b63881d 100644 --- a/benchmarks/benchmark_flash_attention.py +++ b/benchmarks/benchmark_flash_attention.py @@ -8,7 +8,7 @@ from flash_attn.utils.benchmark import benchmark_all, benchmark_forward, benchmark_backward, benchmark_combined from flash_attn.bert_padding import unpad_input, pad_input -from flash_attn.flash_attn_interface import flash_attn_unpadded_qkvpacked_func +from flash_attn.flash_attn_interface import flash_attn_varlen_qkvpacked_func def attention_ref(qkv, attn_mask, dropout_p, upcast=False, causal=False): @@ -62,7 +62,7 @@ def attention_ref(qkv, attn_mask, dropout_p, upcast=False, causal=False): h=nheads).detach().requires_grad_() qkv = rearrange(Wqkv(x), 'b s (t h d) -> b s t h d', t=3, h=nheads).detach().requires_grad_() -fn = lambda qkv_unpad: flash_attn_unpadded_qkvpacked_func( +fn = lambda qkv_unpad: flash_attn_varlen_qkvpacked_func( qkv_unpad, cu_seqlens, max_seqlen_in_batch, dropout_p, causal=causal ) benchmark_all(fn, qkv_unpad, repeats=repeats, desc='FlashAttention') diff --git a/csrc/cutlass b/csrc/cutlass new file mode 160000 index 000000000..c4f6b8c6b --- /dev/null +++ b/csrc/cutlass @@ -0,0 +1 @@ +Subproject commit c4f6b8c6bc94ff69048492fb34df0dfaf1983933 diff --git a/csrc/flash_attn/cutlass b/csrc/flash_attn/cutlass deleted file mode 160000 index 319a389f4..000000000 --- a/csrc/flash_attn/cutlass +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 319a389f42b776fae5701afcb943fc03be5b5c25 diff --git a/csrc/flash_attn/flash_api.cpp b/csrc/flash_attn/flash_api.cpp new file mode 100644 index 000000000..cc2b54160 --- /dev/null +++ b/csrc/flash_attn/flash_api.cpp @@ -0,0 +1,912 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#include +#include +#include + +#include + +#include "flash.h" +#include "static_switch.h" + +#define CHECK_SHAPE(x, ...) TORCH_CHECK(x.sizes() == torch::IntArrayRef({__VA_ARGS__}), #x " must have shape (" #__VA_ARGS__ ")") + + +void set_params_fprop(Flash_fwd_params ¶ms, + // sizes + const size_t b, + const size_t seqlen_q, + const size_t seqlen_k, + const size_t seqlen_q_rounded, + const size_t seqlen_k_rounded, + const size_t h, + const size_t h_k, + const size_t d, + const size_t d_rounded, + // device pointers + const at::Tensor q, + const at::Tensor k, + const at::Tensor v, + at::Tensor out, + void *cu_seqlens_q_d, + void *cu_seqlens_k_d, + void *p_d, + void *softmax_lse_d, + float p_dropout, + float softmax_scale, + bool is_causal) { + + // Reset the parameters + memset(¶ms, 0, sizeof(params)); + + params.is_bf16 = q.dtype() == torch::kBFloat16; + + // Set the pointers and strides. + params.q_ptr = q.data_ptr(); + params.k_ptr = k.data_ptr(); + params.v_ptr = v.data_ptr(); + // All stride are in elements, not bytes. + params.q_row_stride = q.stride(-3); + params.k_row_stride = k.stride(-3); + params.v_row_stride = v.stride(-3); + params.q_head_stride = q.stride(-2); + params.k_head_stride = k.stride(-2); + params.v_head_stride = v.stride(-2); + params.o_ptr = out.data_ptr(); + params.o_row_stride = out.stride(-3); + params.o_head_stride = out.stride(-2); + + if (cu_seqlens_q_d == nullptr) { + params.q_batch_stride = q.stride(0); + params.k_batch_stride = k.stride(0); + params.v_batch_stride = v.stride(0); + params.o_batch_stride = out.stride(0); + } + + params.cu_seqlens_q = static_cast(cu_seqlens_q_d); + params.cu_seqlens_k = static_cast(cu_seqlens_k_d); + + // P = softmax(QK^T) + params.p_ptr = p_d; + + // Softmax sum + params.softmax_lse_ptr = softmax_lse_d; + + // Set the dimensions. + params.b = b; + params.h = h; + params.h_k = h_k; + params.h_h_k_ratio = h / h_k; + params.seqlen_q = seqlen_q; + params.seqlen_k = seqlen_k; + params.seqlen_q_rounded = seqlen_q_rounded; + params.seqlen_k_rounded = seqlen_k_rounded; + params.d = d; + params.d_rounded = d_rounded; + + // Set the different scale values. + params.scale_softmax = softmax_scale; + params.scale_softmax_log2 = softmax_scale * M_LOG2E; + + // Set this to probability of keeping an element to simplify things. + params.p_dropout = 1.f - p_dropout; + // Convert p from float to int so we don't have to convert the random uint to float to compare. + // [Minor] We want to round down since when we do the comparison we use <= instead of < + // params.p_dropout_in_uint = uint32_t(std::floor(params.p_dropout * 4294967295.0)); + // params.p_dropout_in_uint16_t = uint16_t(std::floor(params.p_dropout * 65535.0)); + params.p_dropout_in_uint8_t = uint8_t(std::floor(params.p_dropout * 255.0)); + params.rp_dropout = 1.f / params.p_dropout; + params.scale_softmax_rp_dropout = params.rp_dropout * params.scale_softmax; + TORCH_CHECK(p_dropout < 1.f); + + params.is_causal = is_causal; +} + +void set_params_dgrad(Flash_bwd_params ¶ms, + // sizes + const size_t b, + const size_t seqlen_q, + const size_t seqlen_k, + const size_t seqlen_q_rounded, + const size_t seqlen_k_rounded, + const size_t h, + const size_t h_k, + const size_t d, + const size_t d_rounded, + // device pointers + const at::Tensor q, + const at::Tensor k, + const at::Tensor v, + const at::Tensor out, + const at::Tensor dout, + at::Tensor dq, + at::Tensor dk, + at::Tensor dv, + void *cu_seqlens_q_d, + void *cu_seqlens_k_d, + void *dq_accum_d, + void *dk_accum_d, + void *dv_accum_d, + void *softmax_lse_d, + void *dsoftmax_sum_d, + float p_dropout, + float softmax_scale, + bool is_causal) { + + set_params_fprop(params, + b, seqlen_q, seqlen_k, seqlen_q_rounded, seqlen_k_rounded, h, h_k, d, d_rounded, + q, k, v, out, + cu_seqlens_q_d, + cu_seqlens_k_d, + nullptr, + softmax_lse_d, + p_dropout, + softmax_scale, + is_causal); + + // Set the pointers and strides. + params.do_ptr = dout.data_ptr(); + params.do_row_stride = dout.stride(-3); + params.do_head_stride = dout.stride(-2); + params.dq_ptr = dq.data_ptr(); + params.dk_ptr = dk.data_ptr(); + params.dv_ptr = dv.data_ptr(); + params.dq_row_stride = dq.stride(-3); + params.dk_row_stride = dk.stride(-3); + params.dv_row_stride = dv.stride(-3); + params.dq_head_stride = dq.stride(-2); + params.dk_head_stride = dk.stride(-2); + params.dv_head_stride = dv.stride(-2); + + if (cu_seqlens_q_d == nullptr) { + params.do_batch_stride = dout.stride(0); + params.dq_batch_stride = dq.stride(0); + params.dk_batch_stride = dk.stride(0); + params.dv_batch_stride = dv.stride(0); + } + + params.dq_accum_ptr = dq_accum_d; + params.dk_accum_ptr = dk_accum_d; + params.dv_accum_ptr = dv_accum_d; + + // Softmax sum + params.dsoftmax_sum = dsoftmax_sum_d; +} + +void run_mha_fwd(Flash_fwd_params ¶ms, cudaStream_t stream) { + FP16_SWITCH(!params.is_bf16, [&] { + FWD_HEADDIM_SWITCH(params.d, [&] { + run_mha_fwd_(params, stream); + }); + }); +} + +std::vector +mha_fwd(const at::Tensor &q, // batch_size x seqlen_q x num_heads x head_size + const at::Tensor &k, // batch_size x seqlen_k x num_heads_k x head_size + const at::Tensor &v, // batch_size x seqlen_k x num_heads_k x head_size + c10::optional &out_, // batch_size x seqlen_q x num_heads x head_size + const float p_dropout, + const float softmax_scale, + const bool is_causal, + const bool return_softmax, + c10::optional gen_) { + + auto dprops = at::cuda::getCurrentDeviceProperties(); + // bool is_sm75 = dprops->major == 7 && dprops->minor == 5; + bool is_sm8x = dprops->major == 8 && dprops->minor >= 0; + bool is_sm90 = dprops->major == 9 && dprops->minor == 0; + TORCH_CHECK(is_sm90 || is_sm8x, "FlashAttention only supports Ampere GPUs or newer."); + // We will support Turing in the near future + // TORCH_CHECK(is_sm90 || is_sm8x || is_sm75, "FlashAttention only supports Turing GPUs or newer."); + + auto q_dtype = q.dtype(); + TORCH_CHECK(q_dtype == torch::kFloat16 || q_dtype == torch::kBFloat16, + "FlashAttention only support fp16 and bf16 data type"); + if (q_dtype == torch::kBFloat16) { + TORCH_CHECK(is_sm90 || is_sm8x, "bfloat16 is only supported on Ampere GPUs or newer"); + } + TORCH_CHECK(k.dtype() == q_dtype, "query and key must have the same dtype"); + TORCH_CHECK(v.dtype() == q_dtype, "query and value must have the same dtype"); + + TORCH_CHECK(q.is_cuda(), "Input tensor must be on CUDA device"); + TORCH_CHECK(k.is_cuda(), "Input tensor must be on CUDA device"); + TORCH_CHECK(v.is_cuda(), "Input tensor must be on CUDA device"); + + TORCH_CHECK(q.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + TORCH_CHECK(k.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + TORCH_CHECK(v.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + + const auto sizes = q.sizes(); + + const int batch_size = sizes[0]; + const int seqlen_q = sizes[1]; + const int num_heads = sizes[2]; + const int head_size_og = sizes[3]; + const int seqlen_k = k.size(1); + const int num_heads_k = k.size(2); + TORCH_CHECK(batch_size > 0, "batch size must be postive"); + TORCH_CHECK(head_size_og <= 256, "FlashAttention forward only supports head dimension at most 256"); + TORCH_CHECK(num_heads % num_heads_k == 0, "Number of heads in key/value must divide number of heads in query"); + + CHECK_SHAPE(q, batch_size, seqlen_q, num_heads, head_size_og); + CHECK_SHAPE(k, batch_size, seqlen_k, num_heads_k, head_size_og); + CHECK_SHAPE(v, batch_size, seqlen_k, num_heads_k, head_size_og); + + at::Tensor q_padded, k_padded, v_padded; + if (head_size_og % 8 != 0) { + q_padded = torch::nn::functional::pad(q, torch::nn::functional::PadFuncOptions({0, 8 - head_size_og % 8})); + k_padded = torch::nn::functional::pad(k, torch::nn::functional::PadFuncOptions({0, 8 - head_size_og % 8})); + v_padded = torch::nn::functional::pad(v, torch::nn::functional::PadFuncOptions({0, 8 - head_size_og % 8})); + } else { + q_padded = q; + k_padded = k; + v_padded = v; + } + + at::Tensor out; + if (out_.has_value()) { + out = out_.value(); + TORCH_CHECK(out.dtype() == q_dtype, "Output must have the same dtype as inputs"); + TORCH_CHECK(out.is_cuda(), "Output tensor must be on CUDA device"); + TORCH_CHECK(out.stride(-1) == 1, "Output tensor must have contiguous last dimension"); + CHECK_SHAPE(out, batch_size, seqlen_q, num_heads, head_size_og); + if (head_size_og % 8 != 0) { out = torch::empty_like(q_padded); } + } else { + out = torch::empty_like(q_padded); + } + + auto round_multiple = [](int x, int m) { return (x + m - 1) / m * m; }; + const int head_size = round_multiple(head_size_og, 8); + const int head_size_rounded = round_multiple(head_size, 32); + const int seqlen_q_rounded = round_multiple(seqlen_q, 128); + const int seqlen_k_rounded = round_multiple(seqlen_k, 128); + + // Otherwise the kernel will be launched from cuda:0 device + // Cast to char to avoid compiler warning about narrowing + at::cuda::CUDAGuard device_guard{(char)q.get_device()}; + + auto opts = q.options(); + + auto softmax_lse = torch::empty({batch_size, num_heads, seqlen_q}, opts.dtype(at::kFloat)); + at::Tensor p; + // Only return softmax if there's dropout to reduce compilation time + if (return_softmax) { + TORCH_CHECK(p_dropout > 0.0f, "return_softmax is only supported when p_dropout > 0.0"); + p = torch::empty({ batch_size, num_heads, seqlen_q_rounded, seqlen_k_rounded }, opts); + } + + Flash_fwd_params params; + set_params_fprop(params, + batch_size, + seqlen_q, seqlen_k, + seqlen_q_rounded, seqlen_k_rounded, + num_heads, num_heads_k, + head_size, head_size_rounded, + q_padded, k_padded, v_padded, out, + /*cu_seqlens_q_d=*/nullptr, + /*cu_seqlens_k_d=*/nullptr, + return_softmax ? p.data_ptr() : nullptr, + softmax_lse.data_ptr(), + p_dropout, + softmax_scale, + is_causal); + + if (p_dropout > 0.0) { + // number of times random will be generated per thread, to offset philox counter in thc random + // state + // We use a custom RNG that increases the offset by batch_size * nheads * 32. + int64_t counter_offset = params.b * params.h * 32; + auto gen = at::get_generator_or_default( + gen_, at::cuda::detail::getDefaultCUDAGenerator()); + // See Note [Acquire lock when using random generators] + std::lock_guard lock(gen->mutex_); + params.philox_args = gen->philox_cuda_state(counter_offset); + } + + auto stream = at::cuda::getCurrentCUDAStream().stream(); + run_mha_fwd(params, stream); + + at::Tensor out_padded = out; + if (head_size_og % 8 != 0) { + out = out.index({"...", torch::indexing::Slice(torch::indexing::None, head_size_og)}); + if (out_.has_value()) { out_.value().copy_(out); } + } + + return {out, q_padded, k_padded, v_padded, out_padded, softmax_lse, p}; +} + +std::vector +mha_varlen_fwd(const at::Tensor &q, // total_q x num_heads x head_size, total_q := \sum_{i=0}^{b} s_i + const at::Tensor &k, // total_k x num_heads_k x head_size, total_k := \sum_{i=0}^{b} s_i + const at::Tensor &v, // total_k x num_heads_k x head_size, total_k := \sum_{i=0}^{b} s_i + c10::optional &out_, // total_q x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i + const at::Tensor &cu_seqlens_q, // b+1 + const at::Tensor &cu_seqlens_k, // b+1 + const int max_seqlen_q, + const int max_seqlen_k, + const float p_dropout, + const float softmax_scale, + const bool zero_tensors, + const bool is_causal, + const bool return_softmax, + c10::optional gen_) { + + auto dprops = at::cuda::getCurrentDeviceProperties(); + // bool is_sm75 = dprops->major == 7 && dprops->minor == 5; + bool is_sm8x = dprops->major == 8 && dprops->minor >= 0; + bool is_sm90 = dprops->major == 9 && dprops->minor == 0; + TORCH_CHECK(is_sm90 || is_sm8x, "FlashAttention only supports Ampere GPUs or newer."); + // We will support Turing in the near future + // TORCH_CHECK(is_sm90 || is_sm8x || is_sm75, "FlashAttention only supports Turing GPUs or newer."); + + auto q_dtype = q.dtype(); + TORCH_CHECK(q_dtype == torch::kFloat16 || q_dtype == torch::kBFloat16, + "FlashAttention only support fp16 and bf16 data type"); + if (q_dtype == torch::kBFloat16) { + TORCH_CHECK(is_sm90 || is_sm8x, "bfloat16 is only supported on Ampere GPUs or newer"); + } + TORCH_CHECK(k.dtype() == q_dtype, "query and key must have the same dtype"); + TORCH_CHECK(v.dtype() == q_dtype, "query and value must have the same dtype"); + TORCH_CHECK(cu_seqlens_q.dtype() == torch::kInt32, "cu_seqlens_q must have dtype int32"); + TORCH_CHECK(cu_seqlens_k.dtype() == torch::kInt32, "cu_seqlens_k must have dtype int32"); + + TORCH_CHECK(q.is_cuda(), "Input tensor must be on CUDA device"); + TORCH_CHECK(k.is_cuda(), "Input tensor must be on CUDA device"); + TORCH_CHECK(v.is_cuda(), "Input tensor must be on CUDA device"); + TORCH_CHECK(cu_seqlens_q.is_cuda(), "cu_seqlens_q must be on CUDA device"); + TORCH_CHECK(cu_seqlens_k.is_cuda(), "cu_seqlens_k must be on CUDA device"); + + TORCH_CHECK(q.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + TORCH_CHECK(k.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + TORCH_CHECK(v.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + TORCH_CHECK(cu_seqlens_q.is_contiguous(), "cu_seqlens_q must be contiguous"); + TORCH_CHECK(cu_seqlens_k.is_contiguous(), "cu_seqlens_k must be contiguous"); + + const auto sizes = q.sizes(); + + const int total_q = sizes[0]; + const int batch_size = cu_seqlens_q.numel() - 1; + const int num_heads = sizes[1]; + const int head_size_og = sizes[2]; + const int total_k = k.size(0); + const int num_heads_k = k.size(1); + TORCH_CHECK(batch_size > 0, "batch size must be positive"); + TORCH_CHECK(head_size_og <= 256, "FlashAttention forward only supports head dimension at most 256"); + TORCH_CHECK(num_heads % num_heads_k == 0, "Number of heads in key/value must divide number of heads in query"); + + CHECK_SHAPE(q, total_q, num_heads, head_size_og); + CHECK_SHAPE(k, total_k, num_heads_k, head_size_og); + CHECK_SHAPE(v, total_k, num_heads_k, head_size_og); + CHECK_SHAPE(cu_seqlens_q, batch_size + 1); + CHECK_SHAPE(cu_seqlens_k, batch_size + 1); + + at::Tensor q_padded, k_padded, v_padded; + if (head_size_og % 8 != 0) { + q_padded = torch::nn::functional::pad(q, torch::nn::functional::PadFuncOptions({0, 8 - head_size_og % 8})); + k_padded = torch::nn::functional::pad(k, torch::nn::functional::PadFuncOptions({0, 8 - head_size_og % 8})); + v_padded = torch::nn::functional::pad(v, torch::nn::functional::PadFuncOptions({0, 8 - head_size_og % 8})); + } else { + q_padded = q; + k_padded = k; + v_padded = v; + } + + at::Tensor out; + if (out_.has_value()) { + out = out_.value(); + TORCH_CHECK(out.dtype() == q_dtype, "Output must have the same dtype as inputs"); + TORCH_CHECK(out.is_cuda(), "Output tensor must be on CUDA device"); + TORCH_CHECK(out.stride(-1) == 1, "Output tensor must have contiguous last dimension"); + CHECK_SHAPE(out, total_q, num_heads, head_size_og); + if (head_size_og % 8 != 0) { out = torch::empty_like(q_padded); } + } else { + out = torch::empty_like(q_padded); + } + + auto round_multiple = [](int x, int m) { return (x + m - 1) / m * m; }; + const int head_size = round_multiple(head_size_og, 8); + const int head_size_rounded = round_multiple(head_size, 32); + const int seqlen_q_rounded = round_multiple(max_seqlen_q, 128); + const int seqlen_k_rounded = round_multiple(max_seqlen_k, 128); + + // Otherwise the kernel will be launched from cuda:0 device + // Cast to char to avoid compiler warning about narrowing + at::cuda::CUDAGuard device_guard{(char)q.get_device()}; + + auto opts = q.options(); + + auto softmax_lse = torch::empty({batch_size, num_heads, max_seqlen_q}, opts.dtype(at::kFloat)); + at::Tensor p; + // Only return softmax if there's dropout to reduce compilation time + if (return_softmax) { + TORCH_CHECK(p_dropout > 0.0f, "return_softmax is only supported when p_dropout > 0.0"); + p = torch::empty({ batch_size, num_heads, seqlen_q_rounded, seqlen_k_rounded }, opts); + } + + if (zero_tensors) { + out.zero_(); + softmax_lse.fill_(-std::numeric_limits::infinity()); + if (return_softmax) {p.zero_();} + } + + Flash_fwd_params params; + set_params_fprop(params, + batch_size, + max_seqlen_q, max_seqlen_k, + seqlen_q_rounded, seqlen_k_rounded, + num_heads, num_heads_k, + head_size, head_size_rounded, + q_padded, k_padded, v_padded, out, + cu_seqlens_q.data_ptr(), + cu_seqlens_k.data_ptr(), + return_softmax ? p.data_ptr() : nullptr, + softmax_lse.data_ptr(), + p_dropout, + softmax_scale, + is_causal); + + if (p_dropout > 0.0) { + // number of times random will be generated per thread, to offset philox counter in thc random + // state + // We use a custom RNG that increases the offset by batch_size * nheads * 32. + int64_t counter_offset = params.b * params.h * 32; + auto gen = at::get_generator_or_default( + gen_, at::cuda::detail::getDefaultCUDAGenerator()); + // See Note [Acquire lock when using random generators] + std::lock_guard lock(gen->mutex_); + params.philox_args = gen->philox_cuda_state(counter_offset); + } + + auto stream = at::cuda::getCurrentCUDAStream().stream(); + run_mha_fwd(params, stream); + + at::Tensor out_padded = out; + if (head_size_og % 8 != 0) { + out = out.index({"...", torch::indexing::Slice(torch::indexing::None, head_size_og)}); + if (out_.has_value()) { out_.value().copy_(out); } + } + + return {out, q_padded, k_padded, v_padded, out_padded, softmax_lse, p}; +} + +void run_mha_bwd(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + FP16_SWITCH(!params.is_bf16, [&] { + if (params.d <= 32) { + run_mha_bwd_(params, stream, configure); + } else if (params.d <= 64) { + run_mha_bwd_(params, stream, configure); + } else if (params.d <= 96) { + run_mha_bwd_(params, stream, configure); + } else if (params.d <= 128) { + run_mha_bwd_(params, stream, configure); + } else if (params.d <= 160) { + run_mha_bwd_(params, stream, configure); + } else if (params.d <= 192) { + run_mha_bwd_(params, stream, configure); + } else if (params.d <= 224) { + run_mha_bwd_(params, stream, configure); + } else if (params.d <= 256) { + run_mha_bwd_(params, stream, configure); + } + }); +} + +std::vector +mha_bwd(const at::Tensor &dout, // batch_size x seqlen_q x num_heads, x head_size_og + const at::Tensor &q, // batch_size x seqlen_q x num_heads x head_size + const at::Tensor &k, // batch_size x seqlen_k x num_heads_k x head_size + const at::Tensor &v, // batch_size x seqlen_k x num_heads_k x head_size + const at::Tensor &out, // batch_size x seqlen_q x num_heads x head_size + const at::Tensor &softmax_lse, // b x h x seqlen_q + c10::optional &dq_, // batch_size x seqlen_q x num_heads x head_size + c10::optional &dk_, // batch_size x seqlen_k x num_heads_k x head_size + c10::optional &dv_, // batch_size x seqlen_k x num_heads_k x head_size + const float p_dropout, // probability to drop + const float softmax_scale, + const bool is_causal, + c10::optional gen_) { + auto dprops = at::cuda::getCurrentDeviceProperties(); + // bool is_sm75 = dprops->major == 7 && dprops->minor == 5; + bool is_sm8x = dprops->major == 8 && dprops->minor >= 0; + bool is_sm80 = dprops->major == 8 && dprops->minor == 0; + bool is_sm90 = dprops->major == 9 && dprops->minor == 0; + TORCH_CHECK(is_sm90 || is_sm8x, "FlashAttention only supports Ampere GPUs or newer."); + // We will support Turing in the near future + // TORCH_CHECK(is_sm90 || is_sm8x || is_sm75, "FlashAttention only supports Turing GPUs or newer."); + + bool is_dropout = p_dropout > 0.0; + auto stream = at::cuda::getCurrentCUDAStream().stream(); + + auto q_dtype = q.dtype(); + TORCH_CHECK(q_dtype == torch::kFloat16 || q_dtype == torch::kBFloat16, + "FlashAttention only support fp16 and bf16 data type"); + if (q_dtype == torch::kBFloat16) { + TORCH_CHECK(is_sm90 || is_sm8x, "bfloat16 is only supported on Ampere GPUs or newer"); + } + TORCH_CHECK(k.dtype() == q_dtype, "query and key must have the same dtype"); + TORCH_CHECK(v.dtype() == q_dtype, "query and value must have the same dtype"); + TORCH_CHECK(out.dtype() == q_dtype, "query and out must have the same dtype"); + TORCH_CHECK(dout.dtype() == q_dtype, "query and dout must have the same dtype"); + + TORCH_CHECK(q.is_cuda(), "Input tensor must be on CUDA device"); + TORCH_CHECK(k.is_cuda(), "Input tensor must be on CUDA device"); + TORCH_CHECK(v.is_cuda(), "Input tensor must be on CUDA device"); + TORCH_CHECK(out.is_cuda(), "out tensor must be on CUDA device"); + TORCH_CHECK(dout.is_cuda(), "dout tensor must be on CUDA device"); + TORCH_CHECK(softmax_lse.is_cuda(), "softmax_lse tensor must be on CUDA device"); + + TORCH_CHECK(q.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + TORCH_CHECK(k.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + TORCH_CHECK(v.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + TORCH_CHECK(out.stride(-1) == 1, "out tensor must have contiguous last dimension"); + TORCH_CHECK(dout.stride(-1) == 1, "dout tensor must have contiguous last dimension"); + + const auto sizes = q.sizes(); + + const int batch_size = sizes[0]; + const int seqlen_q = sizes[1]; + const int num_heads = sizes[2]; + const int head_size_og = dout.size(3); + const int head_size = sizes[3]; + const int seqlen_k = k.size(1); + const int num_heads_k = k.size(2); + TORCH_CHECK(batch_size > 0, "batch size must be positive"); + TORCH_CHECK(head_size % 8 == 0, "head_size should be a multiple of 8"); + TORCH_CHECK(head_size <= 256, "FlashAttention backward only supports head dimension at most 256"); + if (head_size > 192) { + TORCH_CHECK(is_sm80 || is_sm90, "FlashAttention backward for head dim > 192 requires A100/A800 or H100/H800"); + } + TORCH_CHECK(num_heads % num_heads_k == 0, "Number of heads in key/value must divide number of heads in query"); + + auto round_multiple = [](int x, int m) { return (x + m - 1) / m * m; }; + const int head_size_rounded = round_multiple(head_size, 32); + const int seqlen_q_rounded = round_multiple(seqlen_q, 128); + const int seqlen_k_rounded = round_multiple(seqlen_k, 128); + + TORCH_CHECK(head_size == round_multiple(head_size_og, 8), "head_size must be head_size_og rounded to a multiple of 8"); + + CHECK_SHAPE(q, batch_size, seqlen_q, num_heads, head_size); + CHECK_SHAPE(k, batch_size, seqlen_k, num_heads_k, head_size); + CHECK_SHAPE(v, batch_size, seqlen_k, num_heads_k, head_size); + CHECK_SHAPE(out, batch_size, seqlen_q, num_heads, head_size); + CHECK_SHAPE(dout, batch_size, seqlen_q, num_heads, head_size_og); + + at::Tensor dq, dk, dv; + if (dq_.has_value()) { + dq = dq_.value(); + TORCH_CHECK(dq.dtype() == q_dtype, "dq must have the same dtype as q"); + TORCH_CHECK(dq.is_cuda(), "dq must be on CUDA device"); + TORCH_CHECK(dq.stride(-1) == 1, "dq must have contiguous last dimension"); + CHECK_SHAPE(dq, batch_size, seqlen_q, num_heads, head_size); + } else { + dq = torch::empty_like(q); + } + if (dk_.has_value()) { + dk = dk_.value(); + TORCH_CHECK(dk.dtype() == q_dtype, "dk must have the same dtype as q"); + TORCH_CHECK(dk.is_cuda(), "dk must be on CUDA device"); + TORCH_CHECK(dk.stride(-1) == 1, "dk must have contiguous last dimension"); + CHECK_SHAPE(dk, batch_size, seqlen_k, num_heads_k, head_size); + } else { + dk = torch::empty_like(k); + } + if (dv_.has_value()) { + dv = dv_.value(); + TORCH_CHECK(dv.dtype() == q_dtype, "dv must have the same dtype as q"); + TORCH_CHECK(dv.is_cuda(), "dv must be on CUDA device"); + TORCH_CHECK(dv.stride(-1) == 1, "dv must have contiguous last dimension"); + CHECK_SHAPE(dv, batch_size, seqlen_k, num_heads_k, head_size); + } else { + dv = torch::empty_like(k); + } + + at::Tensor dout_padded; + if (head_size_og % 8 != 0) { + dout_padded = torch::nn::functional::pad(dout, torch::nn::functional::PadFuncOptions({0, 8 - head_size_og % 8})); + } else { + dout_padded = dout; + } + + // bool loop = seqlen_k > blocksize_c; + // TODO: change later, for now set to true for simplicity + bool loop = true; + + // Otherwise the kernel will be launched from cuda:0 device + // Cast to char to avoid compiler warning about narrowing + at::cuda::CUDAGuard device_guard{(char)q.get_device()}; + + auto opts = q.options(); + auto softmax_d = torch::empty({batch_size, num_heads, seqlen_q_rounded}, opts.dtype(at::kFloat)); + at::Tensor dq_accum; + at::Tensor dk_accum, dv_accum; + if (loop) { + dq_accum = torch::empty({batch_size, num_heads, seqlen_q_rounded, head_size_rounded}, opts.dtype(at::kFloat)); + // dk_accum = torch::empty({batch_size, num_heads_k, seqlen_k_rounded, head_size_rounded}, opts.dtype(at::kFloat)); + // dv_accum = torch::empty({batch_size, num_heads_k, seqlen_k_rounded, head_size_rounded}, opts.dtype(at::kFloat)); + } + + at::Tensor dk_expanded, dv_expanded; + if (num_heads_k != num_heads) { // MQA / GQA + dk_expanded = torch::empty({batch_size, seqlen_k, num_heads, head_size}, opts); + dv_expanded = torch::empty({batch_size, seqlen_k, num_heads, head_size}, opts); + } else { + dk_expanded = dk; + dv_expanded = dv; + } + + Flash_bwd_params params; + + set_params_dgrad(params, + batch_size, + seqlen_q, seqlen_k, + seqlen_q_rounded, seqlen_k_rounded, + num_heads, num_heads_k, + head_size, head_size_rounded, + q, k, v, out, + dout_padded, dq, dk_expanded, dv_expanded, + nullptr, + nullptr, + loop ? dq_accum.data_ptr() : nullptr, + // loop ? dk_accum.data_ptr() : nullptr, + // loop ? dv_accum.data_ptr() : nullptr, + nullptr, + nullptr, + softmax_lse.data_ptr(), + softmax_d.data_ptr(), + p_dropout, + softmax_scale, + is_causal); + + auto launch = &run_mha_bwd; + // launch(params, stream, /*configure=*/true); + + auto gen = at::get_generator_or_default( + gen_, at::cuda::detail::getDefaultCUDAGenerator()); + + // We use a custom RNG that increases the offset by batch_size * nheads * 32. + int64_t counter_offset = params.b * params.h * 32; + + if (is_dropout) { + // See Note [Acquire lock when using random generators] + std::lock_guard lock(gen->mutex_); + params.philox_args = gen->philox_cuda_state(counter_offset); + } + + launch(params, stream, /*configure=*/false); + + // For MQA/GQA we need to sum dK and dV across the groups + if (num_heads_k != num_heads) { + at::sum_out(dk, at::reshape(dk_expanded, {batch_size, seqlen_k, num_heads_k, num_heads / num_heads_k, head_size}), {3}); + at::sum_out(dv, at::reshape(dv_expanded, {batch_size, seqlen_k, num_heads_k, num_heads / num_heads_k, head_size}), {3}); + } + if (head_size_og % 8 != 0) { + dq = dq.index({"...", torch::indexing::Slice(torch::indexing::None, head_size_og)}); + dk = dk.index({"...", torch::indexing::Slice(torch::indexing::None, head_size_og)}); + dv = dv.index({"...", torch::indexing::Slice(torch::indexing::None, head_size_og)}); + } + + return { dq, dk, dv, softmax_d }; +} + +std::vector +mha_varlen_bwd(const at::Tensor &dout, // total_q x num_heads, x head_size + const at::Tensor &q, // total_q x num_heads x head_size, total_q := \sum_{i=0}^{b} s_i + const at::Tensor &k, // total_k x num_heads_k x head_size, total_k := \sum_{i=0}^{b} s_i + const at::Tensor &v, // total_k x num_heads_k x head_size, total_k := \sum_{i=0}^{b} s_i + const at::Tensor &out, // total_q x num_heads x head_size + const at::Tensor &softmax_lse, // b x h x s softmax logsumexp + c10::optional &dq_, // total_q x num_heads x head_size, total_q := \sum_{i=0}^{b} s_i + c10::optional &dk_, // total_k x num_heads_k x head_size, total_k := \sum_{i=0}^{b} s_i + c10::optional &dv_, // total_k x num_heads_k x head_size, total_k := \sum_{i=0}^{b} s_i + const at::Tensor &cu_seqlens_q, // b+1 + const at::Tensor &cu_seqlens_k, // b+1 + const int max_seqlen_q, + const int max_seqlen_k, // max sequence length to choose the kernel + const float p_dropout, // probability to drop + const float softmax_scale, + const bool zero_tensors, + const bool is_causal, + c10::optional gen_ +) { + auto dprops = at::cuda::getCurrentDeviceProperties(); + // bool is_sm75 = dprops->major == 7 && dprops->minor == 5; + bool is_sm8x = dprops->major == 8 && dprops->minor >= 0; + bool is_sm80 = dprops->major == 8 && dprops->minor == 0; + bool is_sm90 = dprops->major == 9 && dprops->minor == 0; + TORCH_CHECK(is_sm90 || is_sm8x, "FlashAttention only supports Ampere GPUs or newer."); + // We will support Turing in the near future + // TORCH_CHECK(is_sm90 || is_sm8x || is_sm75, "FlashAttention only supports Turing GPUs or newer."); + bool is_dropout = p_dropout > 0.0; + auto stream = at::cuda::getCurrentCUDAStream().stream(); + + auto q_dtype = q.dtype(); + TORCH_CHECK(q_dtype == torch::kFloat16 || q_dtype == torch::kBFloat16, + "FlashAttention only support fp16 and bf16 data type"); + if (q_dtype == torch::kBFloat16) { + TORCH_CHECK(is_sm90 || is_sm8x, "bfloat16 is only supported on Ampere GPUs or newer"); + } + TORCH_CHECK(k.dtype() == q_dtype, "query and key must have the same dtype"); + TORCH_CHECK(v.dtype() == q_dtype, "query and value must have the same dtype"); + TORCH_CHECK(out.dtype() == q_dtype, "query and out must have the same dtype"); + TORCH_CHECK(dout.dtype() == q_dtype, "query and dout must have the same dtype"); + TORCH_CHECK(cu_seqlens_q.dtype() == torch::kInt32, "cu_seqlens_q must have dtype int32"); + TORCH_CHECK(cu_seqlens_k.dtype() == torch::kInt32, "cu_seqlens_k must have dtype int32"); + + TORCH_CHECK(q.is_cuda(), "Input tensor must be on CUDA device"); + TORCH_CHECK(k.is_cuda(), "Input tensor must be on CUDA device"); + TORCH_CHECK(v.is_cuda(), "Input tensor must be on CUDA device"); + TORCH_CHECK(out.is_cuda(), "out tensor must be on CUDA device"); + TORCH_CHECK(dout.is_cuda(), "dout tensor must be on CUDA device"); + TORCH_CHECK(softmax_lse.is_cuda(), "softmax_lse tensor must be on CUDA device"); + TORCH_CHECK(cu_seqlens_q.is_cuda(), "cu_seqlens_q must be on CUDA device"); + TORCH_CHECK(cu_seqlens_k.is_cuda(), "cu_seqlens_k must be on CUDA device"); + + TORCH_CHECK(q.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + TORCH_CHECK(k.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + TORCH_CHECK(v.stride(-1) == 1, "Input tensor must have contiguous last dimension"); + TORCH_CHECK(out.stride(-1) == 1, "out tensor must have contiguous last dimension"); + TORCH_CHECK(dout.stride(-1) == 1, "dout tensor must have contiguous last dimension"); + TORCH_CHECK(cu_seqlens_q.is_contiguous(), "cu_seqlens_q must be contiguous"); + TORCH_CHECK(cu_seqlens_k.is_contiguous(), "cu_seqlens_k must be contiguous"); + + const auto sizes = q.sizes(); + + const int total_q = sizes[0]; + const int batch_size = cu_seqlens_q.numel() - 1; + const int num_heads = sizes[1]; + const int head_size_og = dout.size(2); + const int head_size = sizes[2]; + const int total_k = k.size(0); + const int num_heads_k = k.size(1); + TORCH_CHECK(batch_size > 0, "batch size must be positive"); + TORCH_CHECK(head_size % 8 == 0, "head_size should be a multiple of 8"); + TORCH_CHECK(head_size <= 256, "FlashAttention backward only supports head dimension at most 256"); + if (head_size > 192) { + TORCH_CHECK(is_sm80 || is_sm90, "FlashAttention backward for head dim > 192 requires A100/A800 or H100/H800"); + } + TORCH_CHECK(num_heads % num_heads_k == 0, "Number of heads in key/value must divide number of heads in query"); + + auto round_multiple = [](int x, int m) { return (x + m - 1) / m * m; }; + const int head_size_rounded = round_multiple(head_size, 32); + const int seqlen_q_rounded = round_multiple(max_seqlen_q, 128); + const int seqlen_k_rounded = round_multiple(max_seqlen_k, 128); + + TORCH_CHECK(head_size == round_multiple(head_size_og, 8), "head_size must be head_size_og rounded to a multiple of 8"); + + CHECK_SHAPE(q, total_q, num_heads, head_size); + CHECK_SHAPE(k, total_k, num_heads_k, head_size); + CHECK_SHAPE(v, total_k, num_heads_k, head_size); + CHECK_SHAPE(out, total_q, num_heads, head_size); + CHECK_SHAPE(dout, total_q, num_heads, head_size_og); + CHECK_SHAPE(cu_seqlens_q, batch_size + 1); + CHECK_SHAPE(cu_seqlens_k, batch_size + 1); + + at::Tensor dq, dk, dv; + if (dq_.has_value()) { + dq = dq_.value(); + TORCH_CHECK(dq.dtype() == q_dtype, "dq must have the same dtype as q"); + TORCH_CHECK(dq.is_cuda(), "dq must be on CUDA device"); + TORCH_CHECK(dq.stride(-1) == 1, "dq must have contiguous last dimension"); + CHECK_SHAPE(dq, total_q, num_heads, head_size); + } else { + dq = torch::empty_like(q); + } + if (dk_.has_value()) { + dk = dk_.value(); + TORCH_CHECK(dk.dtype() == q_dtype, "dk must have the same dtype as q"); + TORCH_CHECK(dk.is_cuda(), "dk must be on CUDA device"); + TORCH_CHECK(dk.stride(-1) == 1, "dk must have contiguous last dimension"); + CHECK_SHAPE(dk, total_k, num_heads_k, head_size); + } else { + dk = torch::empty_like(k); + } + if (dv_.has_value()) { + dv = dv_.value(); + TORCH_CHECK(dv.dtype() == q_dtype, "dv must have the same dtype as q"); + TORCH_CHECK(dv.is_cuda(), "dv must be on CUDA device"); + TORCH_CHECK(dv.stride(-1) == 1, "dv must have contiguous last dimension"); + CHECK_SHAPE(dv, total_k, num_heads_k, head_size); + } else { + dv = torch::empty_like(k); + } + + at::Tensor dout_padded; + if (head_size_og % 8 != 0) { + dout_padded = torch::nn::functional::pad(dout, torch::nn::functional::PadFuncOptions({0, 8 - head_size_og % 8})); + } else { + dout_padded = dout; + } + + // bool loop = max_seqlen_k > blocksize_c; + // TODO: change later, for now set to true for simplicity + bool loop = true; + + // Otherwise the kernel will be launched from cuda:0 device + // Cast to char to avoid compiler warning about narrowing + at::cuda::CUDAGuard device_guard{(char)q.get_device()}; + + auto opts = q.options(); + auto softmax_d = torch::empty({batch_size, num_heads, seqlen_q_rounded}, opts.dtype(at::kFloat)); + at::Tensor dq_accum; + if (loop) { + dq_accum = torch::empty({batch_size, num_heads, seqlen_q_rounded, head_size_rounded}, opts.dtype(at::kFloat)); + } + + at::Tensor dk_expanded, dv_expanded; + if (num_heads_k != num_heads) { // MQA / GQA + dk_expanded = torch::empty({total_k, num_heads, head_size}, opts); + dv_expanded = torch::empty({total_k, num_heads, head_size}, opts); + } else { + dk_expanded = dk; + dv_expanded = dv; + } + + if( zero_tensors ) { + dq.zero_(); + dk_expanded.zero_(); + dv_expanded.zero_(); + softmax_d.zero_(); + } + + Flash_bwd_params params; + + set_params_dgrad(params, + batch_size, + max_seqlen_q, max_seqlen_k, + seqlen_q_rounded, seqlen_k_rounded, + num_heads, num_heads_k, + head_size, head_size_rounded, + q, k, v, out, + dout_padded, dq, dk_expanded, dv_expanded, + cu_seqlens_q.data_ptr(), + cu_seqlens_k.data_ptr(), + loop ? dq_accum.data_ptr() : nullptr, + nullptr, + nullptr, + softmax_lse.data_ptr(), + softmax_d.data_ptr(), + p_dropout, + softmax_scale, + is_causal); + + auto launch = &run_mha_bwd; + // launch(params, stream, /*configure=*/true); + + auto gen = at::get_generator_or_default( + gen_, at::cuda::detail::getDefaultCUDAGenerator()); + + // We use a custom RNG that increases the offset by batch_size * nheads * 32. + int64_t counter_offset = params.b * params.h * 32; + + if (is_dropout) { + // See Note [Acquire lock when using random generators] + std::lock_guard lock(gen->mutex_); + params.philox_args = gen->philox_cuda_state(counter_offset); + } + + launch(params, stream, /*configure=*/false); + + // For MQA/GQA we need to sum dK and dV across the groups + if (num_heads_k != num_heads) { + at::sum_out(dk, at::reshape(dk_expanded, {total_k, num_heads_k, num_heads / num_heads_k, head_size}), {2}); + at::sum_out(dv, at::reshape(dv_expanded, {total_k, num_heads_k, num_heads / num_heads_k, head_size}), {2}); + } + if (head_size_og % 8 != 0) { + dq = dq.index({"...", torch::indexing::Slice(torch::indexing::None, head_size_og)}); + dk = dk.index({"...", torch::indexing::Slice(torch::indexing::None, head_size_og)}); + dv = dv.index({"...", torch::indexing::Slice(torch::indexing::None, head_size_og)}); + } + + return { dq, dk, dv, softmax_d }; +} + +PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { + m.doc() = "FlashAttention"; + m.def("fwd", &mha_fwd, "Forward pass"); + m.def("varlen_fwd", &mha_varlen_fwd, "Forward pass (variable length)"); + m.def("bwd", &mha_bwd, "Backward pass"); + m.def("varlen_bwd", &mha_varlen_bwd, "Backward pass (variable length)"); +} diff --git a/csrc/flash_attn/fmha_api.cpp b/csrc/flash_attn/fmha_api.cpp deleted file mode 100644 index 73d9cdb58..000000000 --- a/csrc/flash_attn/fmha_api.cpp +++ /dev/null @@ -1,796 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2022, Tri Dao. - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#include -#include -#include - -#include "fmha.h" - -#define CHECK_SHAPE(x, ...) TORCH_CHECK(x.sizes() == torch::IntArrayRef({__VA_ARGS__}), #x " must have shape (" #__VA_ARGS__ ")") - - -void set_params_fprop(FMHA_fprop_params ¶ms, - // sizes - const size_t b, - const size_t seqlen_q, - const size_t seqlen_k, - const size_t h, - const size_t d, - // device pointers - const at::Tensor q, - const at::Tensor k, - const at::Tensor v, - at::Tensor out, - void *cu_seqlens_q_d, - void *cu_seqlens_k_d, - void *o_tmp_d, - void *s_d, - void *softmax_lse_d, - float p_dropout, - float softmax_scale, - bool is_causal, - int num_splits) { - - Data_type acc_type = DATA_TYPE_FP32; - Data_type data_type = !(q.dtype() == torch::kBFloat16) ? DATA_TYPE_FP16 : DATA_TYPE_BF16; - - // Reset the parameters - memset(¶ms, 0, sizeof(params)); - - params.is_bf16 = q.dtype() == torch::kBFloat16; - - // Set the pointers and strides. - params.q_ptr = q.data_ptr(); - params.k_ptr = k.data_ptr(); - params.v_ptr = v.data_ptr(); - params.q_row_stride_in_elts = q.stride(0); - params.k_row_stride_in_elts = k.stride(0); - params.v_row_stride_in_elts = v.stride(0); - params.q_head_stride_in_elts = q.stride(1); - params.k_head_stride_in_elts = k.stride(1); - params.v_head_stride_in_elts = v.stride(1); - params.o_ptr = out.data_ptr(); - params.o_row_stride_in_elts = out.stride(0); - params.o_head_stride_in_elts = out.stride(1); - params.o_tmp_ptr = o_tmp_d; - params.o_tmp_row_stride_in_elts = h * d; - params.o_tmp_head_stride_in_elts = d; - - params.cu_seqlens_q = static_cast(cu_seqlens_q_d); - params.cu_seqlens_k = static_cast(cu_seqlens_k_d); - - // S = softmax(P) - params.s_ptr = s_d; - params.s_stride_in_bytes = get_size_in_bytes(b * h * seqlen_k, data_type); - - // Softmax sum - params.softmax_lse_ptr = softmax_lse_d; - - // Set the dimensions. - params.b = b; - params.h = h; - params.seqlen_q = seqlen_q; - params.seqlen_k = seqlen_k; - params.d = d; - - // Set the different scale values. - // const float scale_bmm1 = 1.f / sqrtf(d); - const float scale_bmm1 = softmax_scale; - - params.scale_bmm1f = scale_bmm1; - set_alpha(params.scale_bmm1, scale_bmm1, data_type); - - // Set this to probability of keeping an element to simplify things. - params.p_dropout = 1.f - p_dropout; - // Convert p from float to int so we don't have to convert the random uint to float to compare. - // [Minor] We want to round down since when we do the comparison we use <= instead of < - params.p_dropout_in_uint = uint32_t(std::floor(params.p_dropout * 4294967295.0)); - params.p_dropout_in_uint16_t = uint16_t(std::floor(params.p_dropout * 65535.0)); - params.rp_dropout = 1.f / params.p_dropout; - params.scale_bmm1_rp_dropout = params.rp_dropout * params.scale_bmm1f; - TORCH_CHECK(p_dropout < 1.f); - set_alpha(params.scale_dropout, params.rp_dropout, data_type); - - params.is_causal = is_causal; - params.num_splits = num_splits; -} - -void set_params_dgrad(FMHA_dgrad_params ¶ms, - // sizes - const size_t b, - const size_t seqlen_q, - const size_t seqlen_k, - const size_t h, - const size_t d, - // device pointers - const at::Tensor q, - const at::Tensor k, - const at::Tensor v, - const at::Tensor out, - at::Tensor dq, - at::Tensor dk, - at::Tensor dv, - void *cu_seqlens_q_d, - void *cu_seqlens_k_d, - void *dq_tmp_d, - void *do_packed_d, - void *softmax_lse_d, - void *dsoftmax_sum_d, - float p_dropout, - float softmax_scale, - bool is_causal, - int num_splits) { - - set_params_fprop(params, - b, seqlen_q, seqlen_k, h, d, - q, k, v, out, - cu_seqlens_q_d, - cu_seqlens_k_d, - dq_tmp_d, // Reusing the o_tmp_ptr variable to store dq_tmp - nullptr, - softmax_lse_d, - p_dropout, - softmax_scale, - is_causal, - num_splits); - - // Set the pointers and strides. - params.dq_ptr = dq.data_ptr(); - params.dk_ptr = dk.data_ptr(); - params.dv_ptr = dv.data_ptr(); - params.dq_row_stride_in_elts = dq.stride(0); - params.dk_row_stride_in_elts = dk.stride(0); - params.dv_row_stride_in_elts = dv.stride(0); - params.dq_head_stride_in_elts = dq.stride(1); - params.dk_head_stride_in_elts = dk.stride(1); - params.dv_head_stride_in_elts = dv.stride(1); - params.do_ptr = do_packed_d; - - // Softmax sum - params.dsoftmax_sum = dsoftmax_sum_d; -} - -void run_fmha_fwd(Launch_params &launch_params) { - if (launch_params.params.d <= 32) { - run_fmha_fwd_hdim32(launch_params); - } else if (launch_params.params.d <= 64) { - run_fmha_fwd_hdim64(launch_params); - } else if (launch_params.params.d <= 128) { - run_fmha_fwd_hdim128(launch_params); - } -} - -std::vector -mha_fwd(const at::Tensor &q, // total_q x num_heads x head_size, total_q := \sum_{i=0}^{b} s_i - const at::Tensor &k, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - const at::Tensor &v, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - at::Tensor &out, // total_q x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - const at::Tensor &cu_seqlens_q, // b+1 - const at::Tensor &cu_seqlens_k, // b+1 - const int max_seqlen_q_, - const int max_seqlen_k_, - const float p_dropout, - const float softmax_scale, - const bool zero_tensors, - const bool is_causal, - const bool return_softmax, - const int num_splits, - c10::optional gen_) { - - auto dprops = at::cuda::getCurrentDeviceProperties(); - bool is_sm75 = dprops->major == 7 && dprops->minor == 5; - bool is_sm80 = dprops->major == 8 && dprops->minor == 0; - bool is_sm8x = dprops->major == 8 && dprops->minor >= 0; - bool is_sm90 = dprops->major == 9 && dprops->minor == 0; - TORCH_CHECK(is_sm90 || is_sm8x || is_sm75); - auto stream = at::cuda::getCurrentCUDAStream().stream(); - bool is_dropout = p_dropout > 0.0; - Launch_params launch_params(dprops, stream, is_dropout, return_softmax); - - auto q_dtype = q.dtype(); - TORCH_CHECK(q_dtype == torch::kFloat16 || ((is_sm8x || is_sm90) && q_dtype == torch::kBFloat16)); - TORCH_CHECK(k.dtype() == q_dtype); - TORCH_CHECK(v.dtype() == q_dtype); - TORCH_CHECK(out.dtype() == q_dtype); - TORCH_CHECK(cu_seqlens_q.dtype() == torch::kInt32); - TORCH_CHECK(cu_seqlens_k.dtype() == torch::kInt32); - - TORCH_CHECK(q.is_cuda()); - TORCH_CHECK(k.is_cuda()); - TORCH_CHECK(v.is_cuda()); - TORCH_CHECK(out.is_cuda()); - TORCH_CHECK(cu_seqlens_q.is_cuda()); - TORCH_CHECK(cu_seqlens_k.is_cuda()); - - TORCH_CHECK(q.stride(-1) == 1); - TORCH_CHECK(k.stride(-1) == 1); - TORCH_CHECK(v.stride(-1) == 1); - TORCH_CHECK(out.stride(-1) == 1); - TORCH_CHECK(cu_seqlens_q.is_contiguous()); - TORCH_CHECK(cu_seqlens_k.is_contiguous()); - - const auto sizes = q.sizes(); - - const int batch_size = cu_seqlens_q.numel() - 1; - const int total_q = sizes[TOTAL_DIM]; - const int num_heads = sizes[H_DIM]; - const int head_size = sizes[D_DIM]; - const int total_k = k.size(TOTAL_DIM); - TORCH_CHECK(batch_size > 0); - TORCH_CHECK((head_size % 8 == 0) && (head_size <= 128)); - - CHECK_SHAPE(q, total_q, num_heads, head_size); - CHECK_SHAPE(k, total_k, num_heads, head_size); - CHECK_SHAPE(v, total_k, num_heads, head_size); - CHECK_SHAPE(out, total_q, num_heads, head_size); - CHECK_SHAPE(cu_seqlens_q, batch_size + 1); - CHECK_SHAPE(cu_seqlens_k, batch_size + 1); - - int blocksize_c = head_size > 64 ? 128 : 256; - // Need to round max_seqlen_k to multiples of blocksize_c - int max_seqlen_k = ((max_seqlen_k_ + blocksize_c - 1) / blocksize_c) * blocksize_c; - if( max_seqlen_k_ <= 128 ) { - max_seqlen_k = 128; - } else if( max_seqlen_k_ <= 256 ) { - max_seqlen_k = 256; - } - int max_seqlen_q = ((max_seqlen_q_ + 16 - 1) / 16) * 16; - bool loop = max_seqlen_k > blocksize_c; - - // Otherwise the kernel will be launched from cuda:0 device - // Cast to char to avoid compiler warning about narrowing - at::cuda::CUDAGuard device_guard{(char)q.get_device()}; - - auto opts = q.options(); - - // auto o = torch::empty({ total_q, num_heads, head_size }, opts); - - at::Tensor o_tmp; - if (loop) { o_tmp = torch::empty({total_q, num_heads, head_size}, opts.dtype(at::kFloat)); } - - auto softmax_lse = torch::empty({batch_size, num_heads, max_seqlen_q}, opts.dtype(at::kFloat)); - // auto softmax_lse = torch::full({batch_size, num_heads, max_seqlen_k}, -std::numeric_limits::infinity(), opts.dtype(at::kFloat)); - - at::Tensor s; - if (return_softmax) { s = torch::empty({ batch_size, num_heads, max_seqlen_q, max_seqlen_k }, opts); } - - if( zero_tensors ) { - out.zero_(); - softmax_lse.fill_(-std::numeric_limits::infinity()); - if (return_softmax) {s.zero_();} - } - - auto gen = at::get_generator_or_default( - gen_, at::cuda::detail::getDefaultCUDAGenerator()); - - set_params_fprop(launch_params.params, - batch_size, - max_seqlen_q, - max_seqlen_k, - num_heads, - head_size, - q, k, v, out, - cu_seqlens_q.data_ptr(), - cu_seqlens_k.data_ptr(), - loop ? o_tmp.data_ptr() : nullptr, - return_softmax ? s.data_ptr() : nullptr, - softmax_lse.data_ptr(), - p_dropout, - softmax_scale, - is_causal, - num_splits); - - // number of times random will be generated per thread, to offset philox counter in thc random - // state - // We use a custom RNG that increases the offset by batch_size * nheads * 32. - int64_t counter_offset = launch_params.params.b * launch_params.params.h * 32; - auto options = torch::TensorOptions().dtype(torch::kFloat32).device(torch::kCUDA); - auto rng_state = torch::empty({2}, options.dtype(torch::kInt64)); - // Forward kernel will populate memory with the seed and offset. - launch_params.params.rng_state = reinterpret_cast(rng_state.data_ptr()); - - if( is_dropout ) { - // See Note [Acquire lock when using random generators] - std::lock_guard lock(gen->mutex_); - launch_params.params.philox_args = gen->philox_cuda_state(counter_offset); - } - - run_fmha_fwd(launch_params); - - std::vector result = {softmax_lse}; - result.push_back(rng_state); - if (return_softmax) {result.push_back(s);} - return result; -} - -void run_fmha_bwd(FMHA_dgrad_params ¶ms, cudaStream_t stream, const bool configure) { - if (params.d <= 32) { - run_fmha_bwd_hdim32(params, stream, configure); - } else if (params.d <= 64) { - run_fmha_bwd_hdim64(params, stream, configure); - } else if (params.d <= 128) { - run_fmha_bwd_hdim128(params, stream, configure); - } -} - -std::vector -mha_bwd(const at::Tensor &dout, // total_q x num_heads, x head_size - const at::Tensor &q, // total_q x num_heads x head_size, total_q := \sum_{i=0}^{b} s_i - const at::Tensor &k, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - const at::Tensor &v, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - const at::Tensor &out, // total_q x num_heads x head_size - const at::Tensor &softmax_lse_, // b x h x s softmax logsumexp - at::Tensor &dq, // total_q x num_heads x head_size, total_q := \sum_{i=0}^{b} s_i - at::Tensor &dk, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - at::Tensor &dv, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - const at::Tensor &cu_seqlens_q, // b+1 - const at::Tensor &cu_seqlens_k, // b+1 - const int max_seqlen_q_, - const int max_seqlen_k_, // max sequence length to choose the kernel - const float p_dropout, // probability to drop - const float softmax_scale, - const bool zero_tensors, - const bool is_causal, - const int num_splits, - c10::optional gen_, - c10::optional &rng_state -) { - auto dprops = at::cuda::getCurrentDeviceProperties(); - bool is_sm75 = dprops->major == 7 && dprops->minor == 5; - bool is_sm80 = dprops->major == 8 && dprops->minor == 0; - bool is_sm8x = dprops->major == 8 && dprops->minor >= 0; - bool is_sm90 = dprops->major == 9 && dprops->minor == 0; - TORCH_CHECK(is_sm90 || is_sm8x || is_sm75); - auto launch = &run_fmha_bwd; - - bool is_dropout = p_dropout > 0.0; - auto stream = at::cuda::getCurrentCUDAStream().stream(); - - auto q_dtype = q.dtype(); - TORCH_CHECK(q_dtype == torch::kFloat16 || ((is_sm8x || is_sm90) && q_dtype == torch::kBFloat16)); - TORCH_CHECK(k.dtype() == q_dtype); - TORCH_CHECK(v.dtype() == q_dtype); - TORCH_CHECK(out.dtype() == q_dtype); - TORCH_CHECK(dout.dtype() == q_dtype); - TORCH_CHECK(dq.dtype() == q_dtype); - TORCH_CHECK(dk.dtype() == q_dtype); - TORCH_CHECK(dv.dtype() == q_dtype); - TORCH_CHECK(cu_seqlens_q.dtype() == torch::kInt32); - TORCH_CHECK(cu_seqlens_k.dtype() == torch::kInt32); - - TORCH_CHECK(q.is_cuda()); - TORCH_CHECK(k.is_cuda()); - TORCH_CHECK(v.is_cuda()); - TORCH_CHECK(out.is_cuda()); - TORCH_CHECK(dout.is_cuda()); - TORCH_CHECK(softmax_lse_.is_cuda()); - TORCH_CHECK(cu_seqlens_q.is_cuda()); - TORCH_CHECK(cu_seqlens_k.is_cuda()); - - TORCH_CHECK(q.stride(-1) == 1); - TORCH_CHECK(k.stride(-1) == 1); - TORCH_CHECK(v.stride(-1) == 1); - TORCH_CHECK(out.is_contiguous()); - TORCH_CHECK(dout.is_contiguous()); - TORCH_CHECK(dq.stride(-1) == 1); - TORCH_CHECK(dk.stride(-1) == 1); - TORCH_CHECK(dv.stride(-1) == 1); - TORCH_CHECK(cu_seqlens_q.is_contiguous()); - TORCH_CHECK(cu_seqlens_k.is_contiguous()); - - const auto sizes = q.sizes(); - - const int batch_size = cu_seqlens_q.numel() - 1; - const int total_q = sizes[TOTAL_DIM]; - const int num_heads = sizes[H_DIM]; - const int head_size = sizes[D_DIM]; - const int total_k = k.size(TOTAL_DIM); - TORCH_CHECK(batch_size > 0); - TORCH_CHECK((head_size % 8 == 0) && (head_size <= 128)); - if (head_size > 64) { - TORCH_CHECK(is_sm80 || is_sm90, "FlashAttention backward for head dim > 64 requires A100 or H100 GPUs as the implementation needs a large amount of shared memory."); - } - - CHECK_SHAPE(q, total_q, num_heads, head_size); - CHECK_SHAPE(k, total_k, num_heads, head_size); - CHECK_SHAPE(v, total_k, num_heads, head_size); - CHECK_SHAPE(out, total_q, num_heads, head_size); - CHECK_SHAPE(dout, total_q, num_heads, head_size); - CHECK_SHAPE(dq, total_q, num_heads, head_size); - CHECK_SHAPE(dk, total_k, num_heads, head_size); - CHECK_SHAPE(dv, total_k, num_heads, head_size); - CHECK_SHAPE(cu_seqlens_q, batch_size + 1); - CHECK_SHAPE(cu_seqlens_k, batch_size + 1); - - int blocksize_c = (head_size > 64 || (is_sm75 && head_size > 32)) ? 128 : 256; - int max_seqlen_k = ((max_seqlen_k_ + blocksize_c - 1) / blocksize_c) * blocksize_c; - if( max_seqlen_k_ <= 128 ) { - max_seqlen_k = 128; - } else if( max_seqlen_k_ <= 256 ) { - max_seqlen_k = 256; - } - int max_seqlen_q = ((max_seqlen_q_ + 16 - 1) / 16) * 16; - bool loop = max_seqlen_k > blocksize_c; - - // Otherwise the kernel will be launched from cuda:0 device - // Cast to char to avoid compiler warning about narrowing - at::cuda::CUDAGuard device_guard{(char)q.get_device()}; - - // It's possible the softmax_lse_ from the fwd has a different length since blocksize_c could be different. - auto softmax_lse = softmax_lse_.index({torch::indexing::Slice(), torch::indexing::Slice(), torch::indexing::Slice(torch::indexing::None, max_seqlen_q)}).contiguous(); - - auto opts = q.options(); - auto softmax_d = torch::empty({batch_size, num_heads, max_seqlen_q}, opts.dtype(at::kFloat)); - at::Tensor dq_tmp; - if (loop) { dq_tmp = torch::empty({total_q, num_heads, head_size}, opts.dtype(at::kFloat)); } - - if( zero_tensors ) { - dq.zero_(); - dk.zero_(); - dv.zero_(); - softmax_d.zero_(); - } - - FMHA_dgrad_params params; - - set_params_dgrad(params, - batch_size, - max_seqlen_q, - max_seqlen_k, - num_heads, - head_size, - q, k, v, out, - dq, dk, dv, - cu_seqlens_q.data_ptr(), - cu_seqlens_k.data_ptr(), - loop ? dq_tmp.data_ptr() : nullptr, - dout.data_ptr(), - softmax_lse.data_ptr(), - softmax_d.data_ptr(), - p_dropout, - softmax_scale, - is_causal, - num_splits); - - launch(params, stream, /*configure=*/true); - - if (params.num_splits > 1) { - if (!dq_tmp.defined()) { - dq_tmp = torch::zeros({total_q, num_heads, head_size}, opts.dtype(at::kFloat)); - params.o_tmp_ptr = dq_tmp.data_ptr(); // o_tmp stores dq_tmp in the backward pass - } else { - dq_tmp.zero_(); - } - } - - auto gen = at::get_generator_or_default( - gen_, at::cuda::detail::getDefaultCUDAGenerator()); - - // We use a custom RNG that increases the offset by batch_size * nheads * 32. - int64_t counter_offset = params.b * params.h * 32; - if ( rng_state.has_value() ) { - params.rng_state = reinterpret_cast(rng_state.value().data_ptr()); - } else if( is_dropout ) { - // See Note [Acquire lock when using random generators] - std::lock_guard lock(gen->mutex_); - params.philox_args = gen->philox_cuda_state(counter_offset); - auto seeds = at::cuda::philox::unpack(params.philox_args); - params.rng_state[0] = std::get<0>(seeds); - params.rng_state[1] = std::get<1>(seeds); - } - - launch(params, stream, /*configure=*/false); - - if (params.num_splits > 1) { - dq.copy_(dq_tmp); - } - - return { dq, dk, dv, softmax_d }; -} - -std::vector -mha_fwd_block(const at::Tensor &q, // total_q x num_heads x head_size, total := \sum_{i=0}^{b} s_i - const at::Tensor &k, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - const at::Tensor &v, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - const at::Tensor &cu_seqlens_q, // b+1 - const at::Tensor &cu_seqlens_k, // b+1 - const at::Tensor &blockmask, // (seqlen / 256, seqlen / 16) - const int max_seqlen_q_, - const int max_seqlen_k_, - const float p_dropout, - const float softmax_scale, - const bool is_causal, - const bool return_softmax, - c10::optional gen_) { - - auto dprops = at::cuda::getCurrentDeviceProperties(); - bool is_sm80 = dprops->major == 8 && dprops->minor == 0; - bool is_sm8x = dprops->major == 8 && dprops->minor >= 0; - bool is_sm90 = dprops->major == 9 && dprops->minor == 0; - TORCH_CHECK(is_sm8x || is_sm90); - auto stream = at::cuda::getCurrentCUDAStream().stream(); - bool is_dropout = p_dropout > 0.0; - Launch_params launch_params(dprops, stream, is_dropout, return_softmax); - - TORCH_CHECK(q.dtype() == torch::kFloat16); - TORCH_CHECK(k.dtype() == torch::kFloat16); - TORCH_CHECK(v.dtype() == torch::kFloat16); - TORCH_CHECK(cu_seqlens_q.dtype() == torch::kInt32); - TORCH_CHECK(cu_seqlens_k.dtype() == torch::kInt32); - TORCH_CHECK(blockmask.dtype() == torch::kInt32); - - TORCH_CHECK(q.is_cuda()); - TORCH_CHECK(k.is_cuda()); - TORCH_CHECK(v.is_cuda()); - TORCH_CHECK(cu_seqlens_q.is_cuda()); - TORCH_CHECK(cu_seqlens_k.is_cuda()); - TORCH_CHECK(blockmask.is_cuda()) - - TORCH_CHECK(q.stride(-1) == 1); - TORCH_CHECK(k.stride(-1) == 1); - TORCH_CHECK(v.stride(-1) == 1); - TORCH_CHECK(cu_seqlens_k.is_contiguous()); - TORCH_CHECK(cu_seqlens_k.is_contiguous()); - TORCH_CHECK(blockmask.is_contiguous()) - - const auto sizes = q.sizes(); - - const int batch_size = cu_seqlens_q.numel() - 1; - const int total_q = sizes[TOTAL_DIM]; - const int num_heads = sizes[H_DIM]; - const int head_size = sizes[D_DIM]; - const int total_k = k.size(TOTAL_DIM); - TORCH_CHECK(batch_size > 0); - TORCH_CHECK(head_size == 16 || head_size == 32 || head_size == 64 || head_size == 128); - - CHECK_SHAPE(q, total_q, num_heads, head_size); - CHECK_SHAPE(k, total_k, num_heads, head_size); - CHECK_SHAPE(v, total_k, num_heads, head_size); - CHECK_SHAPE(cu_seqlens_q, batch_size + 1); - CHECK_SHAPE(cu_seqlens_k, batch_size + 1); - - int max_seqlen_k = ((max_seqlen_k_ + 256 - 1) / 256) * 256; - if( max_seqlen_k <= 256 ) { - max_seqlen_k = 256; - } - int max_seqlen_q = ((max_seqlen_q_ + 16 - 1) / 16) * 16; - bool loop = max_seqlen_k > 256; - CHECK_SHAPE(blockmask, max_seqlen_k / 256, max_seqlen_q / 16); - - auto opts = q.options(); - - auto o = torch::zeros({ total_q, num_heads, head_size }, opts); - - at::Tensor o_tmp; - if (loop) { - // o_tmp = torch::zeros({total, num_heads, head_size}, opts.dtype(at::kFloat)); - o_tmp = torch::empty({total_q, num_heads, head_size}, opts.dtype(at::kFloat)); - } - - // auto softmax_lse = torch::full({batch_size, num_heads, max_seqlen_k}, -std::numeric_limits::infinity(), opts.dtype(at::kFloat)); - auto softmax_lse = torch::empty({batch_size, num_heads, max_seqlen_q}, opts.dtype(at::kFloat)); - - at::Tensor s; - if (return_softmax) { - s = torch::zeros({ batch_size, num_heads, max_seqlen_q, max_seqlen_k }, opts); - } - - auto gen = at::get_generator_or_default( - gen_, at::cuda::detail::getDefaultCUDAGenerator()); - - set_params_fprop(launch_params.params, - batch_size, - max_seqlen_q, - max_seqlen_k, - num_heads, - head_size, - q, k, v, o, - cu_seqlens_q.data_ptr(), - cu_seqlens_k.data_ptr(), - loop ? o_tmp.data_ptr() : nullptr, - return_softmax ? s.data_ptr() : nullptr, - softmax_lse.data_ptr(), - p_dropout, - softmax_scale, - is_causal, - /*num_splits=*/1); - launch_params.params.blockmask = static_cast(blockmask.data_ptr()); - - run_fmha_block_fp16_sm80(launch_params, /*configure=*/ true); - // number of times random will be generated per thread, to offset philox counter in thc random - // state - int64_t counter_offset = launch_params.elts_per_thread; - - if( is_dropout ) { - // See Note [Acquire lock when using random generators] - std::lock_guard lock(gen->mutex_); - launch_params.params.philox_args = gen->philox_cuda_state(counter_offset); - } - - run_fmha_block_fp16_sm80(launch_params, /*configure=*/false); - - std::vector result = {o, softmax_lse}; - if (return_softmax) {result.push_back(s);} - return result; -} - -std::vector -mha_bwd_block(const at::Tensor &dout, // total x num_heads, x head_size - const at::Tensor &q, // total_q x num_heads x head_size, total_q := \sum_{i=0}^{b} s_i - const at::Tensor &k, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - const at::Tensor &v, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - const at::Tensor &out, // total_q x num_heads x head_size - const at::Tensor &softmax_lse_, // b x h x s softmax logsumexp - at::Tensor &dq, // total_q x num_heads x head_size, total_q := \sum_{i=0}^{b} s_i - at::Tensor &dk, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - at::Tensor &dv, // total_k x num_heads x head_size, total_k := \sum_{i=0}^{b} s_i - const at::Tensor &cu_seqlens_q, // b+1 - const at::Tensor &cu_seqlens_k, // b+1 - const at::Tensor &blockmask, // (seqlen / 256, seqlen / 16) - const int max_seqlen_q_, - const int max_seqlen_k_, // max sequence length to choose the kernel - const float p_dropout, // probability to drop - const float softmax_scale, - const bool is_causal, - c10::optional gen_ -) { - auto dprops = at::cuda::getCurrentDeviceProperties(); - bool is_sm80 = dprops->major == 8 && dprops->minor == 0; - bool is_sm8x = dprops->major == 8 && dprops->minor >= 0; - bool is_sm90 = dprops->major == 9 && dprops->minor == 0; - TORCH_CHECK(is_sm8x || is_sm90); - auto launch = &run_fmha_block_dgrad_fp16_sm80; - - bool is_dropout = p_dropout > 0.0; - auto stream = at::cuda::getCurrentCUDAStream().stream(); - - TORCH_CHECK(q.dtype() == torch::kFloat16); - TORCH_CHECK(k.dtype() == torch::kFloat16); - TORCH_CHECK(v.dtype() == torch::kFloat16); - TORCH_CHECK(out.dtype() == torch::kFloat16); - TORCH_CHECK(dout.dtype() == torch::kFloat16); - TORCH_CHECK(dq.dtype() == torch::kFloat16); - TORCH_CHECK(dk.dtype() == torch::kFloat16); - TORCH_CHECK(dv.dtype() == torch::kFloat16); - TORCH_CHECK(cu_seqlens_q.dtype() == torch::kInt32); - TORCH_CHECK(cu_seqlens_k.dtype() == torch::kInt32); - TORCH_CHECK(blockmask.dtype() == torch::kInt32); - - TORCH_CHECK(q.is_cuda()); - TORCH_CHECK(k.is_cuda()); - TORCH_CHECK(v.is_cuda()); - TORCH_CHECK(out.is_cuda()); - TORCH_CHECK(dout.is_cuda()); - TORCH_CHECK(softmax_lse_.is_cuda()); - TORCH_CHECK(cu_seqlens_q.is_cuda()); - TORCH_CHECK(cu_seqlens_k.is_cuda()); - TORCH_CHECK(blockmask.is_cuda()); - - TORCH_CHECK(q.stride(-1) == 1); - TORCH_CHECK(k.stride(-1) == 1); - TORCH_CHECK(v.stride(-1) == 1); - TORCH_CHECK(out.is_contiguous()); - TORCH_CHECK(dout.is_contiguous()); - TORCH_CHECK(dq.stride(-1) == 1); - TORCH_CHECK(dk.stride(-1) == 1); - TORCH_CHECK(dv.stride(-1) == 1); - TORCH_CHECK(cu_seqlens_q.is_contiguous()); - TORCH_CHECK(cu_seqlens_k.is_contiguous()); - TORCH_CHECK(blockmask.is_contiguous()); - - const auto sizes = q.sizes(); - - const int batch_size = cu_seqlens_q.numel() - 1; - const int total_q = sizes[TOTAL_DIM]; - const int num_heads = sizes[H_DIM]; - const int head_size = sizes[D_DIM]; - const int total_k = k.size(TOTAL_DIM); - TORCH_CHECK(batch_size > 0); - TORCH_CHECK(head_size == 16 || head_size == 32 || head_size == 64 || head_size == 128); - if (head_size == 128) { // TODO: eventually we should support SM86 and SM70 with d=128 as well - TORCH_CHECK(is_sm80 || is_sm90); - } - - CHECK_SHAPE(q, total_q, num_heads, head_size); - CHECK_SHAPE(k, total_k, num_heads, head_size); - CHECK_SHAPE(v, total_k, num_heads, head_size); - CHECK_SHAPE(out, total_q, num_heads, head_size); - CHECK_SHAPE(dout, total_q, num_heads, head_size); - CHECK_SHAPE(dq, total_q, num_heads, head_size); - CHECK_SHAPE(dk, total_k, num_heads, head_size); - CHECK_SHAPE(dv, total_k, num_heads, head_size); - CHECK_SHAPE(cu_seqlens_q, batch_size + 1); - CHECK_SHAPE(cu_seqlens_k, batch_size + 1); - - int max_seqlen_k = ((max_seqlen_k_ + 256 - 1) / 256) * 256; - if( max_seqlen_k <= 256 ) { - max_seqlen_k = 256; - } - int max_seqlen_q = ((max_seqlen_q_ + 16 - 1) / 16) * 16; - bool loop = max_seqlen_k > 256; - CHECK_SHAPE(blockmask, max_seqlen_k / 256, max_seqlen_q / 16); - - // It's possible the softmax_lse_ from the fwd has a different length since blocksize_c could be different. - auto softmax_lse = softmax_lse_.index({torch::indexing::Slice(), torch::indexing::Slice(), torch::indexing::Slice(torch::indexing::None, max_seqlen_q)}).contiguous(); - - auto opts = q.options(); - auto softmax_d = torch::empty({batch_size, num_heads, max_seqlen_q}, opts.dtype(at::kFloat)); - at::Tensor dq_tmp; - if (loop) { - // dq_tmp = torch::zeros({total, num_heads, head_size}, opts.dtype(at::kFloat)); - dq_tmp = torch::empty({total_q, num_heads, head_size}, opts.dtype(at::kFloat)); - } - - FMHA_dgrad_params params; - - set_params_dgrad(params, - batch_size, - max_seqlen_q, - max_seqlen_k, - num_heads, - head_size, - q, k, v, out, - dq, dk, dv, - cu_seqlens_q.data_ptr(), - cu_seqlens_k.data_ptr(), - loop ? dq_tmp.data_ptr() : nullptr, - dout.data_ptr(), - softmax_lse.data_ptr(), - softmax_d.data_ptr(), - p_dropout, - softmax_scale, - is_causal, - /*num_splits=*/1); - params.blockmask = static_cast(blockmask.data_ptr()); - - auto gen = at::get_generator_or_default( - gen_, at::cuda::detail::getDefaultCUDAGenerator()); - - // We're gonna reset the rng state in Python after this kernel, so the counter offset - // here doesn't matter at all. We just choose an arbitrary number; - int64_t counter_offset = 4; - - if( is_dropout ) { - // See Note [Acquire lock when using random generators] - std::lock_guard lock(gen->mutex_); - params.philox_args = gen->philox_cuda_state(counter_offset); - } - - launch(params, stream); - return { dq, dk, dv, softmax_d }; -} - - -PYBIND11_MODULE(TORCH_EXTENSION_NAME, m) { - m.doc() = "Fused Multi-head Self-attention"; - m.def("fwd", &mha_fwd, "Forward pass"); - m.def("bwd", &mha_bwd, "Backward pass"); - m.def("fwd_block", &mha_fwd_block, "Forward pass (blocksparse)"); - m.def("bwd_block", &mha_bwd_block, "Backward pass (blocksparse)"); -} diff --git a/csrc/flash_attn/src/block_info.h b/csrc/flash_attn/src/block_info.h new file mode 100644 index 000000000..94251a41e --- /dev/null +++ b/csrc/flash_attn/src/block_info.h @@ -0,0 +1,41 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +namespace flash { + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +struct BlockInfo { + + template + __device__ BlockInfo(const Params ¶ms, const int bidb) + : sum_s_q(!Varlen || params.cu_seqlens_q == nullptr ? -1 : params.cu_seqlens_q[bidb]) + , sum_s_k(!Varlen || params.cu_seqlens_k == nullptr ? -1 : params.cu_seqlens_k[bidb]) + , actual_seqlen_q(!Varlen || params.cu_seqlens_q == nullptr ? params.seqlen_q : params.cu_seqlens_q[bidb + 1] - sum_s_q) + , actual_seqlen_k(!Varlen || params.cu_seqlens_k == nullptr ? params.seqlen_k : params.cu_seqlens_k[bidb + 1] - sum_s_k) + { + } + + template + inline __device__ index_t q_offset(const index_t batch_stride, const index_t row_stride, const int bidb) const { + return sum_s_q == -1 ? bidb * batch_stride : uint32_t(sum_s_q) * row_stride; + } + + template + inline __device__ index_t k_offset(const index_t batch_stride, const index_t row_stride, const int bidb) const { + return sum_s_k == -1 ? bidb * batch_stride : uint32_t(sum_s_k) * row_stride; + } + + const int sum_s_q; + const int sum_s_k; + const uint32_t actual_seqlen_q; + const uint32_t actual_seqlen_k; +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +} // namespace flash diff --git a/csrc/flash_attn/src/flash.h b/csrc/flash_attn/src/flash.h new file mode 100644 index 000000000..cb0a57dff --- /dev/null +++ b/csrc/flash_attn/src/flash.h @@ -0,0 +1,141 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include +#include + +#ifdef OLD_GENERATOR_PATH +#include +#else +#include +#endif + +#include + + +constexpr int TOTAL_DIM = 0; +constexpr int H_DIM = 1; +constexpr int D_DIM = 2; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +struct Qkv_params { + using index_t = uint32_t; + // The QKV matrices. + void *__restrict__ q_ptr; + void *__restrict__ k_ptr; + void *__restrict__ v_ptr; + + // The stride between rows of the Q, K and V matrices. + index_t q_batch_stride; + index_t k_batch_stride; + index_t v_batch_stride; + index_t q_row_stride; + index_t k_row_stride; + index_t v_row_stride; + index_t q_head_stride; + index_t k_head_stride; + index_t v_head_stride; + + // The number of heads. + int h, h_k; + // In the case of multi-query and grouped-query attention (MQA/GQA), nheads_k could be + // different from nheads (query). + int h_h_k_ratio; // precompute h / h_k, +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +struct Flash_fwd_params : public Qkv_params { + + // The O matrix (output). + void * __restrict__ o_ptr; + + // The stride between rows of O. + index_t o_batch_stride; + index_t o_row_stride; + index_t o_head_stride; + + // The pointer to the P matrix. + void * __restrict__ p_ptr; + + // The pointer to the softmax sum. + void * __restrict__ softmax_lse_ptr; + + // The dimensions. + int b, seqlen_q, seqlen_k, d, seqlen_q_rounded, seqlen_k_rounded, d_rounded; + + // The scaling factors for the kernel. + float scale_softmax; + float scale_softmax_log2; + + // array of length b+1 holding starting offset of each sequence. + int * __restrict__ cu_seqlens_q; + int * __restrict__ cu_seqlens_k; + + int *__restrict__ blockmask; + + // The dropout probability (probability of keeping an activation). + float p_dropout; + // uint32_t p_dropout_in_uint; + // uint16_t p_dropout_in_uint16_t; + uint8_t p_dropout_in_uint8_t; + + // Scale factor of 1 / (1 - p_dropout). + float rp_dropout; + float scale_softmax_rp_dropout; + + // Random state. + at::PhiloxCudaState philox_args; + + bool is_bf16; + bool is_causal; +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +struct Flash_bwd_params : public Flash_fwd_params { + + // The dO and dQKV matrices. + void *__restrict__ do_ptr; + void *__restrict__ dq_ptr; + void *__restrict__ dk_ptr; + void *__restrict__ dv_ptr; + + // To accumulate dQ + void *__restrict__ dq_accum_ptr; + void *__restrict__ dk_accum_ptr; + void *__restrict__ dv_accum_ptr; + + // // To accumulate dK and dV in case we're splitting the bwd along seqlen_q + // dimension void *__restrict__ dk_accum_ptr; void *__restrict__ + // dv_accum_ptr; + + // The stride between rows of the dO, dQ, dK and dV matrices. + // TD [2022-04-16]: We're using 32-bit indexing to save registers. + // The code probably won't work for arrays larger than 2GB. + index_t do_batch_stride; + index_t do_row_stride; + index_t do_head_stride; + index_t dq_batch_stride; + index_t dk_batch_stride; + index_t dv_batch_stride; + index_t dq_row_stride; + index_t dk_row_stride; + index_t dv_row_stride; + index_t dq_head_stride; + index_t dk_head_stride; + index_t dv_head_stride; + + // The pointer to the softmax d sum. + void *__restrict__ dsoftmax_sum; +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream); + +template void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure); diff --git a/csrc/flash_attn/src/flash_bwd_hdim128_bf16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim128_bf16_sm80.cu new file mode 100644 index 000000000..bec30a8d5 --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim128_bf16_sm80.cu @@ -0,0 +1,20 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +// template<> +// void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { +// using elem_type = cutlass::bfloat16_t; +// if (params.h == params.h_k) { +// run_flash_bwd>(params, stream, configure); +// } else { +// run_flash_bwd_seqq_parallel>(params, stream, configure); +// } +// } + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim128(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim128_fp16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim128_fp16_sm80.cu new file mode 100644 index 000000000..1de5b16a0 --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim128_fp16_sm80.cu @@ -0,0 +1,26 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +// template<> +// void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { +// using elem_type = cutlass::half_t; +// if (params.h == params.h_k) { +// // run_flash_bwd>(params, stream, configure); +// // This is faster, in the case of sequence-parallel bwd (where we need fewer registers). +// // Out of these three, the 2nd one is slightly faster (2% faster than the first). Idk why. +// // run_flash_bwd>(params, stream, configure); +// run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// } else { +// run_flash_bwd_seqq_parallel>(params, stream, configure); +// } +// } + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim128(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim160_bf16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim160_bf16_sm80.cu new file mode 100644 index 000000000..de9007ded --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim160_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim160(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim160_fp16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim160_fp16_sm80.cu new file mode 100644 index 000000000..9adf32b61 --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim160_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim160(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim192_bf16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim192_bf16_sm80.cu new file mode 100644 index 000000000..d9859500c --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim192_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim192(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim192_fp16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim192_fp16_sm80.cu new file mode 100644 index 000000000..8179d75f1 --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim192_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim192(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim224_bf16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim224_bf16_sm80.cu new file mode 100644 index 000000000..0ce28e3f4 --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim224_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim224(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim224_fp16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim224_fp16_sm80.cu new file mode 100644 index 000000000..ab1eb6c96 --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim224_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim224(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim256_bf16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim256_bf16_sm80.cu new file mode 100644 index 000000000..2bc48001a --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim256_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim256(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim256_fp16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim256_fp16_sm80.cu new file mode 100644 index 000000000..9f76c58bc --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim256_fp16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim256(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim32_bf16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim32_bf16_sm80.cu new file mode 100644 index 000000000..4b6ecb40a --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim32_bf16_sm80.cu @@ -0,0 +1,16 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +// template<> +// void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { +// using elem_type = cutlass::bfloat16_t; +// run_flash_bwd>(params, stream, configure); +// } + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim32(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim32_fp16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim32_fp16_sm80.cu new file mode 100644 index 000000000..f4ac6c582 --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim32_fp16_sm80.cu @@ -0,0 +1,16 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +// template<> +// void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { +// using elem_type = cutlass::half_t; +// run_flash_bwd>(params, stream, configure); +// } + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim32(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim64_bf16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim64_bf16_sm80.cu new file mode 100644 index 000000000..7307344eb --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim64_bf16_sm80.cu @@ -0,0 +1,16 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +// template<> +// void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { +// using elem_type = cutlass::bfloat16_t; +// run_flash_bwd>(params, stream, configure); +// } + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim64(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim64_fp16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim64_fp16_sm80.cu new file mode 100644 index 000000000..7a2f8ecc3 --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim64_fp16_sm80.cu @@ -0,0 +1,35 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +// template<> +// void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { +// using elem_type = cutlass::half_t; +// // Changing AtomLayoutMdQ from 2 to 4 takes the same time +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// // This is slightly faster. We want to split M more so we need fewer registers to store LSE. +// run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// // M=128, N=64 is quite slow, I think because we need to read/write dQaccum twice as many times +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); + +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// // run_flash_bwd>(params, stream, configure); +// } + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim64(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim96_bf16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim96_bf16_sm80.cu new file mode 100644 index 000000000..2f5d9aaeb --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim96_bf16_sm80.cu @@ -0,0 +1,20 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +// template<> +// void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { +// using elem_type = cutlass::bfloat16_t; +// if (params.h == params.h_k) { +// run_flash_bwd>(params, stream, configure); +// } else { +// run_flash_bwd_seqq_parallel>(params, stream, configure); +// } +// } + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim96(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_hdim96_fp16_sm80.cu b/csrc/flash_attn/src/flash_bwd_hdim96_fp16_sm80.cu new file mode 100644 index 000000000..9a1d88a68 --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_hdim96_fp16_sm80.cu @@ -0,0 +1,22 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_bwd_launch_template.h" + +// template<> +// void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { +// using elem_type = cutlass::half_t; +// if (params.h == params.h_k) { +// // run_flash_bwd>(params, stream, configure); +// // This is very slightly faster +// run_flash_bwd>(params, stream, configure); +// } else { +// run_flash_bwd_seqq_parallel>(params, stream, configure); +// } +// } + +template<> +void run_mha_bwd_(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + run_mha_bwd_hdim96(params, stream, configure); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_bwd_kernel.h b/csrc/flash_attn/src/flash_bwd_kernel.h new file mode 100644 index 000000000..74f25ba45 --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_kernel.h @@ -0,0 +1,1519 @@ +/*************************************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include +#include + +#include +#include +#include +#include + +#include "block_info.h" +#include "kernel_traits.h" +#include "utils.h" +#include "softmax.h" +#include "philox.cuh" + +namespace flash { + +using namespace cute; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +CUTE_HOST_DEVICE +auto +make_tiled_copy_B_warpcontiguousN(Copy_Atom const& copy_atom, + TiledMMA const& tiled_mma) { + using TileShape_MNK = typename TiledMMA::TiledShape_MNK; + using AtomShape_MNK = typename TiledMMA::AtomShape_MNK; + constexpr int AtomShape_N = decltype(size<1>(AtomShape_MNK{}))::value; + // Divide by 2 because right now we always use 2 for the ValLayout + constexpr int kNWarpsN = decltype(size<1>(TileShape_MNK{}))::value / AtomShape_N / 2; + constexpr int MMAStride_N = MMA_N * AtomShape_N * 2; + // This gives the correct layout, idk why. + // auto t = make_tile(Layout, _2>, + // Stride, _8> >{}, + // auto t = make_tile(Layout, + // Stride<_1, _64, _8> >{}, + auto t = make_tile(Layout, Int, _2>, // (8, 2, 2) or (8, 4, 2) + Stride<_1, Int, _8> >{}, // (1, 64, 8) or (1, 32, 8) + make_layout(size<2>(TileShape_MNK{}))); + // if (cute::thread0()) {printf("make_tiled_copy_B_warpcontiguousN "); print(t); printf("\n"); } + return make_tiled_copy_impl(copy_atom, tiled_mma.get_layoutB_TV(), t); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +CUTE_HOST_DEVICE +auto +make_tiled_copy_C_warpcontiguousN(Copy_Atom const& copy_atom, + TiledMMA const& tiled_mma) { + using TileShape_MNK = typename TiledMMA::TiledShape_MNK; + using AtomShape_MNK = typename TiledMMA::AtomShape_MNK; + constexpr int AtomShape_N = decltype(size<1>(AtomShape_MNK{}))::value; + // Divide by 2 because right now we always use 2 for the ValLayout + constexpr int kNWarpsN = decltype(size<1>(TileShape_MNK{}))::value / AtomShape_N / 2; + constexpr int MMAStride_N = MMA_N * AtomShape_N * 2; + auto t = make_tile(make_layout(size<0>(TileShape_MNK{})), + Layout, Int, _2>, // (8, 2, 2) or (8, 4, 2) + Stride<_1, Int, _8> >{}); // (1, 64, 8) or (1, 32, 8) + // if (cute::thread0()) {printf("make_tiled_copy_C_warpcontiguousN "); print(t); printf("\n"); } + return make_tiled_copy_impl(copy_atom, tiled_mma.get_layoutC_TV(), t); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void dot_do_o(Tensor const &do_, Tensor const &o, + Tensor &dP_sum, Tensor &sdPsum, + const int gdP_col_stride, const float scale) { + static_assert(Layout0::rank == 3, "Only support 3D Tensor"); + static_assert(Layout1::rank == 1, "Only support 1D Tensor"); + CUTE_STATIC_ASSERT_V(do_.layout() == o.layout()); + // Reshape do_ and o from (8, kBlockM / 32, kHeadDim / 64) to (kBlockM / 32, 8 * kHeadDim / 64) + // The last coordinate is the "page". + Tensor do_reshaped = make_tensor(do_.data(), make_layout(get<1>(do_.layout()), + make_layout(get<0>(do_.layout()), + get<2>(do_.layout())))); + Tensor o_reshaped = make_tensor(o.data(), do_reshaped.layout()); + Tensor do_fp32 = flash::convert_type(do_reshaped); + Tensor o_fp32 = flash::convert_type(o_reshaped); + #pragma unroll + for (int mi = 0; mi < size<0>(do_reshaped); ++mi) { + float dP_sum_cur = do_fp32(mi, 0) * o_fp32(mi, 0); + #pragma unroll + for (int ni = 1; ni < size<1>(do_reshaped); ni++) { + dP_sum_cur += do_fp32(mi, ni) * o_fp32(mi, ni); + } + flash::SumOp sum_op; + dP_sum_cur = flash::Allreduce::run(dP_sum_cur, sum_op) * scale; + if (threadIdx.x % THREADS_PER_ROW == 0) { + dP_sum(mi * gdP_col_stride + threadIdx.x / THREADS_PER_ROW) = dP_sum_cur; + // recast(sdPsum)(mi * gdP_col_stride + threadIdx.x / THREADS_PER_ROW) = dP_sum; + } + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Just compute dot(do, o) and write the result (softmax_d) to global memory as a separate kernel. +// This is used in the case where we want to parallelize the backward across seqlen_k. +template +inline __device__ void compute_dot_do_o(const Params ¶ms) { + using Element = typename Kernel_traits::Element; + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + + const int m_block = blockIdx.x; + // The block index for the batch. + const int bidb = blockIdx.y; + // The block index for the head. + const int bidh = blockIdx.z; + // The thread index. + const int tidx = threadIdx.x; + + constexpr int kBlockM = Kernel_traits::kBlockM; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + + const BlockInfo binfo(params, bidb); + if (m_block * kBlockM >= binfo.actual_seqlen_q) return; + + const index_t row_offset_do = binfo.q_offset(params.do_batch_stride, params.do_row_stride, bidb) + + m_block * kBlockM * params.do_row_stride + bidh * params.do_head_stride; + const index_t row_offset_o = binfo.q_offset(params.o_batch_stride, params.o_row_stride, bidb) + + m_block * kBlockM * params.o_row_stride + bidh * params.o_head_stride; + const index_t row_offset_dq_accum = ((bidb * params.h + bidh) * params.seqlen_q_rounded + m_block * kBlockM) * params.d_rounded; + const index_t row_offset_dpsum = (bidb * params.h + bidh) * params.seqlen_q_rounded + m_block * kBlockM; + + Tensor gdO = make_tensor(make_gmem_ptr(reinterpret_cast(params.do_ptr) + row_offset_do), + Shape, Int>{}, + make_stride(params.do_row_stride, _1{})); + Tensor gO = make_tensor(make_gmem_ptr(reinterpret_cast(params.o_ptr) + row_offset_o), + Shape, Int>{}, + make_stride(params.do_row_stride, _1{})); + Tensor gdQaccum = make_tensor(make_gmem_ptr(reinterpret_cast(params.dq_accum_ptr) + row_offset_dq_accum), + Shape, Int>{}, Stride, _1>{}); + Tensor dP_sum = make_tensor(make_gmem_ptr(reinterpret_cast(params.dsoftmax_sum) + row_offset_dpsum), + Shape>{}, Stride<_1>{}); + + auto gmem_thr_copy_dO = typename Kernel_traits::GmemTiledCopydO{}.get_thread_slice(tidx); + // TODO: careful, we're zeroing out dQaccum with type float4, but when + // we do atomicAdds, we use type float. The layouts are different. Check this. + auto gmem_thr_copy_dQ_accum = typename Kernel_traits::GmemTiledCopydQaccum{}.get_thread_slice(tidx); + + Tensor tdOgdO = gmem_thr_copy_dO.partition_S(gdO); + Tensor tdOgO = gmem_thr_copy_dO.partition_S(gO); + Tensor tdQgdQaccum = gmem_thr_copy_dQ_accum.partition_D(gdQaccum); + + Tensor cdO = make_identity_tensor(Shape, Int>{}); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor tdOcdO = gmem_thr_copy_dO.partition_S(cdO); + + // Allocate predicate tensors for k + Tensor tdOpdO = make_tensor(make_shape(size<2>(tdOgdO))); + // Set predicates for k bounds + #pragma unroll + for (int k = 0; k < size(tdOpdO); ++k) {tdOpdO(k) = get<1>(tdOcdO(0, 0, k)) < params.d;} + + Tensor tdOrdO = make_fragment_like(tdOgdO); + Tensor tdOrO = make_fragment_like(tdOgO); + flash::copy( + gmem_thr_copy_dO, tdOgdO, tdOrdO, tdOcdO, tdOpdO, binfo.actual_seqlen_q - m_block * kBlockM + ); + flash::copy( + gmem_thr_copy_dO, tdOgO, tdOrO, tdOcdO, tdOpdO, binfo.actual_seqlen_q - m_block * kBlockM + ); + // By right we need to scale dP up by 1/p_dropout, but instead we don't and only scale the final + // results (dQ and dK) by 1/p_dropout. So we need to keep dP_sum scaled down by p_dropout here, + // so that (dP - dP_sum) is on the same scale. + dot_do_o(tdOrdO, tdOrO, dP_sum, dP_sum, + Kernel_traits::kNThreads / (Kernel_traits::kGmemThreadsPerRow), params.p_dropout); + if (Clear_dQaccum) { + Tensor zero = make_fragment_like(tdQgdQaccum); + clear(zero); + copy(gmem_thr_copy_dQ_accum, zero, tdQgdQaccum); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void clear_dKVaccum(const Params ¶ms) { + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + + const int n_block = blockIdx.x; + // The block index for the batch. + const int bidb = blockIdx.y; + // The block index for the head. + const int bidh = blockIdx.z; + // The thread index. + const int tidx = threadIdx.x; + + constexpr int kBlockN = Kernel_traits::kBlockN; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + + const BlockInfo binfo(params, bidb); + if (n_block * kBlockN >= binfo.actual_seqlen_k) return; + + const index_t row_offset_dkv_accum = ((bidb * params.h_k + bidh) * params.seqlen_k_rounded + n_block * kBlockN) * params.d_rounded; + + Tensor gdKaccum = make_tensor(make_gmem_ptr(reinterpret_cast(params.dk_accum_ptr) + row_offset_dkv_accum), + Shape, Int>{}, Stride, _1>{}); + Tensor gdVaccum = make_tensor(make_gmem_ptr(reinterpret_cast(params.dv_accum_ptr) + row_offset_dkv_accum), + Shape, Int>{}, Stride, _1>{}); + + auto gmem_thr_copy_dKV_accum = typename Kernel_traits::GmemTiledCopydQaccum{}.get_thread_slice(tidx); + Tensor tdKgdKaccum = gmem_thr_copy_dKV_accum.partition_D(gdKaccum); + Tensor tdVgdVaccum = gmem_thr_copy_dKV_accum.partition_D(gdVaccum); + Tensor zero = make_fragment_like(tdKgdKaccum); + clear(zero); + copy(gmem_thr_copy_dKV_accum, zero, tdKgdKaccum); + copy(gmem_thr_copy_dKV_accum, zero, tdVgdVaccum); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Convert dQ from dQaccum (in float) to fp16/bf16. +// This is used in the case where we want to parallelize the backward across seqlen_k. +template +inline __device__ void convert_dQ(const Params ¶ms) { + using Element = typename Kernel_traits::Element; + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + + // Shared memory. + extern __shared__ char smem_[]; + + const int m_block = blockIdx.x; + // The block index for the batch. + const int bidb = blockIdx.y; + // The block index for the head. + const int bidh = blockIdx.z; + // The thread index. + const int tidx = threadIdx.x; + + constexpr int kBlockM = Kernel_traits::kBlockM; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + + const BlockInfo binfo(params, bidb); + if (m_block * kBlockM >= binfo.actual_seqlen_q) return; + + const index_t row_offset_dq = binfo.q_offset(params.dq_batch_stride, params.dq_row_stride, bidb) + + m_block * kBlockM * params.dq_row_stride + bidh * params.dq_head_stride; + const index_t row_offset_dq_accum = ((bidb * params.h + bidh) * params.seqlen_q_rounded + + m_block * kBlockM) * params.d_rounded; + + Tensor gdQ = make_tensor(make_gmem_ptr(reinterpret_cast(params.dq_ptr) + row_offset_dq), + Shape, Int>{}, + make_stride(params.dq_row_stride, _1{})); + Tensor gdQaccum = make_tensor(make_gmem_ptr(reinterpret_cast(params.dq_accum_ptr) + row_offset_dq_accum), + Shape, Int>{}, + Stride, _1>{}); + + Tensor sdQ = make_tensor(make_smem_ptr(reinterpret_cast(smem_)), + typename Kernel_traits::SmemLayoutdQ{}); + + auto gmem_thr_copy_dQ = typename Kernel_traits::GmemTiledCopydQ{}.get_thread_slice(tidx); + auto gmem_thr_copy_dQ_accum = typename Kernel_traits::GmemTiledCopydQaccumAtomicAdd{}.get_thread_slice(tidx); + + typename Kernel_traits::TiledMmadQ tiled_mma_dq; + auto smem_thr_copy_dQ = make_tiled_copy_C(typename Kernel_traits::SmemCopyAtomdQ{}, tiled_mma_dq).get_thread_slice(tidx); + Tensor taccdQsdQ = smem_thr_copy_dQ.partition_D(sdQ); // ((Atom,AtomNum),PIPE_M,PIPE_N) + + Tensor tdQsdQ = gmem_thr_copy_dQ.partition_S(sdQ); // ((Atom,AtomNum),ATOM_M,ATOM_N) + Tensor tdQgdQ = gmem_thr_copy_dQ.partition_D(gdQ); + Tensor tdQgdQaccum = gmem_thr_copy_dQ_accum.partition_S(gdQaccum); + + Tensor acc_dq = partition_fragment_C(tiled_mma_dq, Shape, Int>{}); // MMA, MMA_N, MMA_K + CUTE_STATIC_ASSERT_V(size(acc_dq) == size(tdQgdQaccum)); + + Tensor tdQrdQaccum = make_fragment_like(tdQgdQaccum); + copy(gmem_thr_copy_dQ_accum, tdQgdQaccum, tdQrdQaccum); + #pragma unroll + for (int i = 0; i < size(acc_dq); ++i) { + acc_dq(i) = tdQrdQaccum(i) * params.scale_softmax_rp_dropout; + } + // Convert acc_dq from fp32 to fp16 + Tensor rdQ = flash::convert_type(acc_dq); + Tensor taccdQrdQ = smem_thr_copy_dQ.retile_S(rdQ); // ((Atom,AtomNum), MMA_N, MMA_N) + copy(smem_thr_copy_dQ, taccdQrdQ, taccdQsdQ); + __syncthreads(); + Tensor tdQrdQ = make_tensor(shape(tdQgdQ)); + copy(gmem_thr_copy_dQ, tdQsdQ, tdQrdQ); + + Tensor cdQ = make_identity_tensor(Shape, Int>{}); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor tdQcdQ = gmem_thr_copy_dQ.partition_D(cdQ); + Tensor tdQpdQ = make_tensor(make_shape(size<2>(tdQgdQ))); + #pragma unroll + for (int k = 0; k < size(tdQpdQ); ++k) { tdQpdQ(k) = get<1>(tdQcdQ(0, 0, k)) < params.d; } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy( + gmem_thr_copy_dQ, tdQrdQ, tdQgdQ, tdQcdQ, tdQpdQ, binfo.actual_seqlen_q - m_block * kBlockM + ); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Convert dK and dV from dKaccum and dVaccum (in float) to fp16/bf16. +// This is used in the case where we want to parallelize the backward across seqlen_q. +template +inline __device__ void convert_dKV(const Params ¶ms) { + using Element = typename Kernel_traits::Element; + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + + // Shared memory. + extern __shared__ char smem_[]; + + const int n_block = blockIdx.x; + // The block index for the batch. + const int bidb = blockIdx.y; + // The block index for the head. + const int bidh = blockIdx.z; + // The thread index. + const int tidx = threadIdx.x; + + constexpr int kBlockN = Kernel_traits::kBlockN; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + + const BlockInfo binfo(params, bidb); + if (n_block * kBlockN >= binfo.actual_seqlen_k) return; + + const index_t row_offset_dk = binfo.k_offset(params.dk_batch_stride, params.dk_row_stride, bidb) + + n_block * kBlockN * params.dk_row_stride + bidh * params.dk_head_stride; + const index_t row_offset_dv = binfo.k_offset(params.dv_batch_stride, params.dv_row_stride, bidb) + + n_block * kBlockN * params.dv_row_stride + bidh * params.dv_head_stride; + const index_t row_offset_dkv_accum = ((bidb * params.h_k + bidh) * params.seqlen_k_rounded + + n_block * kBlockN) * params.d_rounded; + + Tensor gdK = make_tensor(make_gmem_ptr(reinterpret_cast(params.dk_ptr) + row_offset_dk), + Shape, Int>{}, + make_stride(params.dk_row_stride, _1{})); + Tensor gdV = make_tensor(make_gmem_ptr(reinterpret_cast(params.dv_ptr) + row_offset_dv), + Shape, Int>{}, + make_stride(params.dv_row_stride, _1{})); + Tensor gdKaccum = make_tensor(make_gmem_ptr(reinterpret_cast(params.dk_accum_ptr) + row_offset_dkv_accum), + Shape, Int>{}, + Stride, _1>{}); + Tensor gdVaccum = make_tensor(make_gmem_ptr(reinterpret_cast(params.dv_accum_ptr) + row_offset_dkv_accum), + Shape, Int>{}, + Stride, _1>{}); + + Tensor sdK = make_tensor(make_smem_ptr(reinterpret_cast(smem_)), + typename Kernel_traits::SmemLayoutdKV{}); + Tensor sdV = make_tensor(sdK.data() + size(sdK), typename Kernel_traits::SmemLayoutdKV{}); // (SMEM_N, SMEM_K) + + auto gmem_thr_copy_dKV = typename Kernel_traits::GmemTiledCopydQ{}.get_thread_slice(tidx); + auto gmem_thr_copy_dKV_accum = typename Kernel_traits::GmemTiledCopydQaccumAtomicAdd{}.get_thread_slice(tidx); + + typename Kernel_traits::TiledMmadKV tiled_mma_dkv; + auto smem_thr_copy_dKV = make_tiled_copy_C(typename Kernel_traits::SmemCopyAtomdKV{}, tiled_mma_dkv).get_thread_slice(tidx); + Tensor taccdKsdK = smem_thr_copy_dKV.partition_D(sdK); // ((Atom,AtomNum),PIPE_M,PIPE_N) + Tensor taccdVsdV = smem_thr_copy_dKV.partition_D(sdV); // ((Atom,AtomNum),PIPE_M,PIPE_N) + + Tensor tdKsdK = gmem_thr_copy_dKV.partition_S(sdK); // ((Atom,AtomNum),ATOM_M,ATOM_N) + Tensor tdKgdK = gmem_thr_copy_dKV.partition_D(gdK); + Tensor tdVsdV = gmem_thr_copy_dKV.partition_S(sdV); // ((Atom,AtomNum),ATOM_M,ATOM_N) + Tensor tdVgdV = gmem_thr_copy_dKV.partition_D(gdV); + Tensor tdKgdKaccum = gmem_thr_copy_dKV_accum.partition_S(gdKaccum); + Tensor tdVgdVaccum = gmem_thr_copy_dKV_accum.partition_S(gdVaccum); + + Tensor acc_dk = partition_fragment_C(tiled_mma_dkv, Shape, Int>{}); // MMA, MMA_N, MMA_K + Tensor acc_dv = partition_fragment_C(tiled_mma_dkv, Shape, Int>{}); // MMA, MMA_N, MMA_K + CUTE_STATIC_ASSERT_V(size(acc_dk) == size(tdKgdKaccum)); + CUTE_STATIC_ASSERT_V(size(acc_dv) == size(tdVgdVaccum)); + + Tensor tdKrdKaccum = make_fragment_like(tdKgdKaccum); + Tensor tdVrdVaccum = make_fragment_like(tdVgdVaccum); + copy(gmem_thr_copy_dKV_accum, tdKgdKaccum, tdKrdKaccum); + copy(gmem_thr_copy_dKV_accum, tdVgdVaccum, tdVrdVaccum); + #pragma unroll + for (int i = 0; i < size(acc_dk); ++i) { + acc_dk(i) = tdKrdKaccum(i) * params.scale_softmax_rp_dropout; + } + #pragma unroll + for (int i = 0; i < size(acc_dv); ++i) { + acc_dv(i) = tdVrdVaccum(i) * params.rp_dropout; + } + // Convert acc_dk from fp32 to fp16 + Tensor rdK = flash::convert_type(acc_dk); + Tensor rdV = flash::convert_type(acc_dv); + Tensor taccdKrdK = smem_thr_copy_dKV.retile_S(rdK); // ((Atom,AtomNum), MMA_N, MMA_N) + Tensor taccdVrdV = smem_thr_copy_dKV.retile_S(rdV); // ((Atom,AtomNum), MMA_N, MMA_N) + copy(smem_thr_copy_dKV, taccdKrdK, taccdKsdK); + copy(smem_thr_copy_dKV, taccdVrdV, taccdVsdV); + __syncthreads(); + Tensor tdKrdK = make_tensor(shape(tdKgdK)); + Tensor tdVrdV = make_tensor(shape(tdVgdV)); + copy(gmem_thr_copy_dKV, tdKsdK, tdKrdK); + copy(gmem_thr_copy_dKV, tdVsdV, tdVrdV); + + Tensor cdKV = make_identity_tensor(Shape, Int>{}); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor tdKVcdKV = gmem_thr_copy_dKV.partition_D(cdKV); + Tensor tdKVpdKV = make_tensor(make_shape(size<2>(tdKgdK))); + #pragma unroll + for (int k = 0; k < size(tdKVpdKV); ++k) { tdKVpdKV(k) = get<1>(tdKVcdKV(0, 0, k)) < params.d; } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy( + gmem_thr_copy_dKV, tdKrdK, tdKgdK, tdKVcdKV, tdKVpdKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + flash::copy( + gmem_thr_copy_dKV, tdVrdV, tdVgdV, tdKVcdKV, tdKVpdKV, binfo.actual_seqlen_k - n_block * kBlockN + ); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void compute_dq_dk_dv_1colblock(const Params ¶ms, const int bidb, const int bidh, const int n_block) { + + using Element = typename Kernel_traits::Element; + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + + // Shared memory. + extern __shared__ char smem_[]; + + // The thread index. + const int tidx = threadIdx.x; + + constexpr int kBlockM = Kernel_traits::kBlockM; + constexpr int kBlockN = Kernel_traits::kBlockN; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + // constexpr int kNWarps = Kernel_traits::kNWarps; + constexpr int MMA_N_SdP = kBlockN / decltype(size<1>(typename Kernel_traits::TiledMmaSdP::TiledShape_MNK{}))::value; + constexpr int AtomLayoutMS = Kernel_traits::AtomLayoutMSdP; + constexpr bool Double_buffer = !Kernel_traits::No_double_buffer; + + const BlockInfo binfo(params, bidb); + if (n_block * kBlockN >= binfo.actual_seqlen_k || binfo.actual_seqlen_q == 0) return; + + int m_block_max = cute::ceil_div(binfo.actual_seqlen_q, kBlockM); + + const index_t row_offset_q = binfo.q_offset(params.q_batch_stride, params.q_row_stride, bidb) + + (m_block_max - 1) * kBlockM * params.q_row_stride + bidh * params.q_head_stride; + const index_t row_offset_k = binfo.k_offset(params.k_batch_stride, params.k_row_stride, bidb) + + n_block * kBlockN * params.k_row_stride + (bidh / params.h_h_k_ratio) * params.k_head_stride; + const index_t row_offset_v = binfo.k_offset(params.v_batch_stride, params.v_row_stride, bidb) + + n_block * kBlockN * params.v_row_stride + (bidh / params.h_h_k_ratio) * params.v_head_stride; + const index_t row_offset_do = binfo.q_offset(params.do_batch_stride, params.do_row_stride, bidb) + + (m_block_max - 1) * kBlockM * params.do_row_stride + bidh * params.do_head_stride; + const index_t row_offset_o = binfo.q_offset(params.o_batch_stride, params.o_row_stride, bidb) + + (m_block_max - 1) * kBlockM * params.o_row_stride + bidh * params.o_head_stride; + const index_t row_offset_dq = binfo.q_offset(params.dq_batch_stride, params.dq_row_stride, bidb) + + (m_block_max - 1) * kBlockM * params.dq_row_stride + bidh * params.dq_head_stride; + const index_t row_offset_dq_accum = ((bidb * params.h + bidh) * params.seqlen_q_rounded + + (m_block_max - 1) * kBlockM) * params.d_rounded; + const index_t row_offset_lse = (bidb * params.h + bidh) * params.seqlen_q + + (m_block_max - 1) * kBlockM; + const index_t row_offset_dpsum = (bidb * params.h + bidh) * params.seqlen_q_rounded + + (m_block_max - 1) * kBlockM; + + Tensor gQ = make_tensor(make_gmem_ptr(reinterpret_cast(params.q_ptr) + row_offset_q), + Shape, Int>{}, + make_stride(params.q_row_stride, _1{})); + Tensor gK = make_tensor(make_gmem_ptr(reinterpret_cast(params.k_ptr) + row_offset_k), + Shape, Int>{}, + make_stride(params.k_row_stride, _1{})); + Tensor gV = make_tensor(make_gmem_ptr(reinterpret_cast(params.v_ptr) + row_offset_v), + Shape, Int>{}, + make_stride(params.v_row_stride, _1{})); + Tensor gdO = make_tensor(make_gmem_ptr(reinterpret_cast(params.do_ptr) + row_offset_do), + Shape, Int>{}, + make_stride(params.do_row_stride, _1{})); + Tensor gO = make_tensor(make_gmem_ptr(reinterpret_cast(params.o_ptr) + row_offset_o), + Shape, Int>{}, + make_stride(params.do_row_stride, _1{})); + Tensor gdQ = make_tensor(make_gmem_ptr(reinterpret_cast(params.dq_ptr) + row_offset_dq), + Shape, Int>{}, + make_stride(params.dq_row_stride, _1{})); + Tensor gdQaccum = make_tensor(make_gmem_ptr(reinterpret_cast(params.dq_accum_ptr) + row_offset_dq_accum), + Shape, Int>{}, + Stride, _1>{}); + Tensor gLSE = make_tensor(make_gmem_ptr(reinterpret_cast(params.softmax_lse_ptr) + row_offset_lse), + Shape>{}, Stride<_1>{}); + Tensor gdPsum = make_tensor(make_gmem_ptr(reinterpret_cast(params.dsoftmax_sum) + row_offset_dpsum), + Shape>{}, Stride<_1>{}); + + Tensor sQ = make_tensor(make_smem_ptr(reinterpret_cast(smem_)), + typename Kernel_traits::SmemLayoutQdO{}); + Tensor sQt = make_tensor(sQ.data(), typename Kernel_traits::SmemLayoutQdOtransposed{}); + Tensor sQtNoSwizzle = make_tensor(sQ.data(), typename Kernel_traits::SmemLayoutQdOtransposedNoSwizzle{}); + // Double buffer for sQ + Tensor sdO = make_tensor(sQ.data() + (Double_buffer ? 2 : 1) * size(sQ), typename Kernel_traits::SmemLayoutQdO{}); + Tensor sdOt = make_tensor(sdO.data(), typename Kernel_traits::SmemLayoutQdOtransposed{}); + Tensor sdOtransposedNoSwizzle = make_tensor(sdO.data(), + typename Kernel_traits::SmemLayoutQdOtransposedNoSwizzle{}); + Tensor sK = make_tensor(sdO.data() + size(sdO), typename Kernel_traits::SmemLayoutKV{}); + Tensor sV = make_tensor(sK.data() + size(sK), typename Kernel_traits::SmemLayoutKV{}); + Tensor sKt = make_tensor(sK.data(), typename Kernel_traits::SmemLayoutKtransposed{}); + Tensor sKtNoSwizzle = make_tensor(sK.data(), typename Kernel_traits::SmemLayoutKtransposedNoSwizzle{}); + Tensor sdS = make_tensor(!Kernel_traits::Is_V_in_regs ? sV.data() + size(sV) : sK.data() + size(sK), + typename Kernel_traits::SmemLayoutPdS{}); + Tensor sdSt = make_tensor(sdS.data(), typename Kernel_traits::SmemLayoutPdStransposed{}); + Tensor sdStNoSwizzle = make_tensor(sdS.data(), typename Kernel_traits::SmemLayoutPdStransposedNoSwizzle{}); + Tensor sP = make_tensor(sdS.data() + size(sdS), typename Kernel_traits::SmemLayoutPdS{}); + Tensor sPt = make_tensor(sP.data(), typename Kernel_traits::SmemLayoutPdStransposed{}); + Tensor sPtNoSwizzle = make_tensor(sP.data(), typename Kernel_traits::SmemLayoutPdStransposedNoSwizzle{}); + // sP and sdQ share the same memory so be careful + Tensor sdQ = make_tensor(sP.data(), typename Kernel_traits::SmemLayoutdQ{}); + Tensor sdPsum = make_tensor(make_smem_ptr(reinterpret_cast((sP.data() + cute::max(size(sP), size(sdQ))).get())), + Shape>{}); + + auto gmem_thr_copy_QKV = typename Kernel_traits::GmemTiledCopyQKV{}.get_thread_slice(tidx); + using GmemTiledCopydO = std::conditional_t< + Is_first, + typename Kernel_traits::GmemTiledCopydO, + typename Kernel_traits::GmemTiledCopyQKV + >; + auto gmem_thr_copy_dO = GmemTiledCopydO{}.get_thread_slice(tidx); + auto gmem_thr_copy_dQ = typename Kernel_traits::GmemTiledCopydQ{}.get_thread_slice(tidx); + using GmemLayoutAtomdQaccum = std::conditional_t< + !Seq_parallel, + typename Kernel_traits::GmemTiledCopydQaccum, + typename Kernel_traits::GmemTiledCopydQaccumAtomicAdd + >; + auto gmem_thr_copy_dQ_accum = GmemLayoutAtomdQaccum{}.get_thread_slice(tidx); + + Tensor tQgQ = gmem_thr_copy_QKV.partition_S(gQ); + Tensor tQsQ = gmem_thr_copy_QKV.partition_D(sQ); + Tensor tdOgdO = gmem_thr_copy_dO.partition_S(gdO); + Tensor tdOsdO = gmem_thr_copy_dO.partition_D(sdO); + Tensor tdOgO = gmem_thr_copy_dO.partition_S(gO); + Tensor tKgK = gmem_thr_copy_QKV.partition_S(gK); // (KCPY, KCPY_N, KCPY_K) + Tensor tKsK = gmem_thr_copy_QKV.partition_D(sK); + Tensor tVgV = gmem_thr_copy_QKV.partition_S(gV); // (VCPY, VCPY_N, VCPY_K) + Tensor tVsV = gmem_thr_copy_QKV.partition_D(sV); + Tensor tdQsdQ = gmem_thr_copy_dQ.partition_S(sdQ); // ((Atom,AtomNum),ATOM_M,ATOM_N) + Tensor tdQgdQ = gmem_thr_copy_dQ.partition_D(gdQ); + Tensor tdQgdQaccum = gmem_thr_copy_dQ_accum.partition_D(gdQaccum); + // if (cute::thread0()) { print(tdQgdQaccum.layout()); printf("\n"); } + // __syncthreads(); + // if (blockIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0 && tidx < 64) { + // printf("tidx = %d, tdQgdQaccum = 0x%p\n", tidx, tdQgdQaccum.data()); + // } + + typename Kernel_traits::TiledMmaSdP tiled_mma_sdp; + auto thr_mma_sdp = tiled_mma_sdp.get_thread_slice(tidx); + Tensor tSrQ = thr_mma_sdp.partition_fragment_A(sQ); // (MMA,MMA_N,MMA_K) + Tensor tSrK = thr_mma_sdp.partition_fragment_B(sK); // (MMA,MMA_N,MMA_K) + Tensor tdPrdO = thr_mma_sdp.partition_fragment_A(sdO); // (MMA,MMA_N,MMA_K) + Tensor tdPrV = thr_mma_sdp.partition_fragment_B(sV); // (MMA,MMA_N,MMA_K) + + typename Kernel_traits::TiledMmadKV tiled_mma_dkv; + auto thr_mma_dkv = tiled_mma_dkv.get_thread_slice(tidx); + Tensor tdKrdSt = thr_mma_dkv.partition_fragment_A(sdStNoSwizzle); // (MMA, MMA_N, MMA_N) + Tensor tdKrQt = thr_mma_dkv.partition_fragment_B(sQtNoSwizzle); // (MMA, MMA_K, MMA_N) + Tensor tdVrPt = thr_mma_dkv.partition_fragment_A(sPtNoSwizzle); // (MMA, MMA_N, MMA_N) + Tensor tdVrdO = thr_mma_dkv.partition_fragment_B(sdOtransposedNoSwizzle); // (MMA, MMA_K, MMA_N) + + typename Kernel_traits::TiledMmadQ tiled_mma_dq; + auto thr_mma_dq = tiled_mma_dq.get_thread_slice(tidx); + Tensor tdQrdS = thr_mma_dq.partition_fragment_A(sdS); // (MMA, MMA_N, MMA_N) + Tensor tdQrKt = thr_mma_dq.partition_fragment_B(sKtNoSwizzle); // (MMA, MMA_K, MMA_N) + + Tensor acc_dk = partition_fragment_C(tiled_mma_dkv, Shape, Int>{}); // MMA, MMA_N, MMA_K + Tensor acc_dv = partition_fragment_C(tiled_mma_dkv, Shape, Int>{}); // MMA, MMA_N, MMA_K + + // + // Copy Atom retiling + // + + auto smem_thr_copy_QdO = make_tiled_copy_A(typename Kernel_traits::SmemCopyAtom{}, tiled_mma_sdp).get_thread_slice(tidx); + Tensor tSsQ = smem_thr_copy_QdO.partition_S(sQ); + Tensor tdPsdO = smem_thr_copy_QdO.partition_S(sdO); + + // auto smem_thr_copy_KV = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtom{}, tiled_mma_sdp).get_thread_slice(tidx); + auto smem_thr_copy_KV = make_tiled_copy_B_warpcontiguousN(typename Kernel_traits::SmemCopyAtom{}, tiled_mma_sdp).get_thread_slice(tidx); + Tensor tSsK = smem_thr_copy_KV.partition_S(sK); + // if (cute::thread(0, 0) && n_block == 0) { printf("sK layout: "); print(sK.layout()); printf("\n"); } + // if (cute::thread(0, 0) && n_block == 0) { print(tSsK.layout()); printf("\n"); } + Tensor tdPsV = smem_thr_copy_KV.partition_S(sV); + + // Partition sP and sdS to match the accumulator partitioning + // This has to be tiled_mma_sdp, not tiled_mma_dkv + // auto smem_thr_copy_PdS = make_tiled_copy_C(typename Kernel_traits::SmemCopyAtomPdS{}, tiled_mma_sdp).get_thread_slice(tidx); + auto smem_thr_copy_PdS = make_tiled_copy_C_warpcontiguousN(typename Kernel_traits::SmemCopyAtomPdS{}, tiled_mma_sdp).get_thread_slice(tidx); + Tensor tPsP = smem_thr_copy_PdS.partition_D(sP); // ((Atom,AtomNum),PIPE_M,PIPE_N) + // if (cute::thread(0, 0) && n_block == 0) { printf("sP layout: "); print(sP.layout()); printf("\n"); } + // if (cute::thread(0, 0) && n_block == 0) { print(tPsP.layout()); printf("\n"); } + // if (n_block == 0 && blockIdx.x == 0 && blockIdx.y == 0 && tidx < 64) { + // printf("tidx=%d, tPsP = 0x%p\n", tidx, tPsP.data()); + // } + Tensor tdSsdS = smem_thr_copy_PdS.partition_D(sdS); // ((Atom,AtomNum),PIPE_M,PIPE_N) + + auto smem_thr_copy_PdSt = make_tiled_copy_A(typename Kernel_traits::SmemCopyAtomTransposed{}, tiled_mma_dkv).get_thread_slice(tidx); + Tensor tdVsPt = smem_thr_copy_PdSt.partition_S(sPt); + Tensor tdKsdSt = smem_thr_copy_PdSt.partition_S(sdSt); + + auto smem_thr_copy_QdOt = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtomTransposed{}, tiled_mma_dkv).get_thread_slice(tidx); + Tensor tdVsdOt = smem_thr_copy_QdOt.partition_S(sdOt); + Tensor tdKsQt = smem_thr_copy_QdOt.partition_S(sQt); + + auto smem_thr_copy_dS = make_tiled_copy_A(typename Kernel_traits::SmemCopyAtom{}, tiled_mma_dq).get_thread_slice(tidx); + Tensor tdQsdS = smem_thr_copy_dS.partition_S(sdS); + + auto smem_thr_copy_Kt = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtomTransposed{}, tiled_mma_dq).get_thread_slice(tidx); + Tensor tdQsKt = smem_thr_copy_Kt.partition_S(sKt); + + auto smem_thr_copy_dQ = make_tiled_copy_C(typename Kernel_traits::SmemCopyAtomdQ{}, tiled_mma_dq).get_thread_slice(tidx); + Tensor taccdQsdQ = smem_thr_copy_dQ.partition_D(sdQ); // ((Atom,AtomNum),PIPE_M,PIPE_N) + + // + // PREDICATES + // + + Tensor cQ = make_identity_tensor(make_shape(size<0>(sQ), size<1>(sQ))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor cKV = make_identity_tensor(make_shape(size<0>(sK), size<1>(sK))); // (BLK_N,BLK_K) -> (blk_n,blk_k) + Tensor tQcQ = gmem_thr_copy_QKV.partition_D(cQ); + Tensor tKVcKV = gmem_thr_copy_QKV.partition_D(cKV); + + // Allocate predicate tensors for k + Tensor tQpQ = make_tensor(make_shape(size<2>(tQsQ))); + Tensor tKVpKV = make_tensor(make_shape(size<2>(tKsK))); + + // Set predicates for k bounds + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tQpQ); ++k) { tQpQ(k) = get<1>(tQcQ(0, 0, k)) < params.d; } + #pragma unroll + for (int k = 0; k < size(tKVpKV); ++k) { tKVpKV(k) = get<1>(tKVcKV(0, 0, k)) < params.d; } + } + + // Prologue + + // We'll advance gdQ and gdQaccum before the 1st read/write. + tdQgdQ.data() = tdQgdQ.data() + kBlockM * params.dq_row_stride; + tdQgdQaccum.data() = tdQgdQaccum.data() + kBlockM * params.d_rounded; + + int m_block = m_block_max - 1; + int m_block_min = !Is_causal ? 0 : (n_block * kBlockN) / kBlockM; + + // We might need to exit early and write 0 to dK and dV. + // Otherwise we get wrong result for the case where we don't enter the for loop. + // And we might read OOB elements from gQ and gdO. + // TODO: what if we're not parallelizing, do we need to compute dot_do_o? + if (Is_causal && m_block < m_block_min) { + const index_t row_offset_dk = binfo.k_offset(params.dk_batch_stride, params.dk_row_stride, bidb) + + n_block * kBlockN * params.dk_row_stride + bidh * params.dk_head_stride; + const index_t row_offset_dv = binfo.k_offset(params.dv_batch_stride, params.dv_row_stride, bidb) + + n_block * kBlockN * params.dv_row_stride + bidh * params.dv_head_stride; + Tensor gdK = make_tensor(make_gmem_ptr(reinterpret_cast(params.dk_ptr) + row_offset_dk), + Shape, Int>{}, + make_stride(params.dk_row_stride, _1{})); + Tensor gdV = make_tensor(make_gmem_ptr(reinterpret_cast(params.dv_ptr) + row_offset_dv), + Shape, Int>{}, + make_stride(params.dv_row_stride, _1{})); + auto gmem_thr_copy_dKV = typename Kernel_traits::GmemTiledCopydKV{}.get_thread_slice(tidx); + Tensor tdKgdK = gmem_thr_copy_dKV.partition_D(gdK); + Tensor tdVgdV = gmem_thr_copy_dKV.partition_D(gdV); + Tensor tdKrdK = make_tensor(shape(tdKgdK)); + Tensor tdVrdV = make_tensor(shape(tdVgdV)); + clear(tdKrdK); + clear(tdVrdV); + Tensor cdKV = make_identity_tensor(make_shape(size<0>(gdK), size<1>(gdK))); // (BLK_N,BLK_K) -> (blk_n,blk_k) + Tensor tdKVcdKV = gmem_thr_copy_dKV.partition_D(cdKV); + Tensor tdKVpdKV = make_tensor(make_shape(size<2>(tdKgdK))); + #pragma unroll + for (int k = 0; k < size(tdKVpdKV); ++k) { tdKVpdKV(k) = get<1>(tdKVcdKV(0, 0, k)) < params.d; } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy( + gmem_thr_copy_dKV, tdKrdK, tdKgdK, tdKVcdKV, tdKVpdKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + flash::copy( + gmem_thr_copy_dKV, tdVrdV, tdVgdV, tdKVcdKV, tdKVpdKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + return; + } + + if (Double_buffer && m_block % 2 == 1) { // Double buffer for sQ + tQsQ.data() = tQsQ.data() + size(sQ); + tSsQ.data() = tSsQ.data() + size(sQ); + tdKsQt.data() = tdKsQt.data() + size(sQ); + } + + if (!Is_first && !Seq_parallel) { __syncthreads(); } + + if (Kernel_traits::Is_V_in_regs) { + // Clear the smem tiles to account for predicated off loads + flash::copy( + gmem_thr_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + flash::cp_async_fence(); + } + + Tensor tdOrdO = make_fragment_like(tdOgdO); + Tensor tdOrO = make_fragment_like(tdOgO); + if (!Is_first) { + // Clear the smem tiles to account for predicated off loads + flash::copy( + gmem_thr_copy_dO, tdOgdO, tdOsdO, tQcQ, tQpQ, binfo.actual_seqlen_q - m_block * kBlockM + ); + } else { + flash::copy( + gmem_thr_copy_dO, tdOgdO, tdOrdO, tQcQ, tQpQ, binfo.actual_seqlen_q - m_block * kBlockM + ); + flash::copy( + gmem_thr_copy_dO, tdOgO, tdOrO, tQcQ, tQpQ, binfo.actual_seqlen_q - m_block * kBlockM + ); + } + flash::copy( + gmem_thr_copy_QKV, tQgQ, tQsQ, tQcQ, tQpQ, binfo.actual_seqlen_q - m_block * kBlockM + ); + + Tensor caccS = make_identity_tensor(Shape, Int>{}); // (BLK_M,BLK_N) -> (blk_m,blk_n) + Tensor taccScS = thr_mma_sdp.partition_C(caccS); // (MMA,MMA_N,MMA_N) + static_assert(decltype(size<0>(taccScS))::value == 4); + // Convert to ((2, 2), MMA_N, MMA_N) then take only the row indices. + Tensor taccScS_row = logical_divide(taccScS, Shape<_2>{})(make_coord(0, _), _, 0); + Tensor lse = make_tensor(Shape>{}); + #pragma unroll + for (int mi = 0; mi < size(lse); ++mi) { + // Using uint32_t row makes it 10us slower on d=128, not sure why. + const int row = get<0>(taccScS_row(mi)); + lse(mi) = Is_even_M || row < binfo.actual_seqlen_q - m_block * kBlockM ? gLSE(row) : 0; + } + + // Tensor tKrK = make_fragment_like(tKsK); + // // copy(gmem_thr_copy_QKV, tKgK(_, _, _, 0), tKrK); + // copy(gmem_thr_copy_QKV, tKgK, tKrK); + // // if (cute::thread(1, 0)) { print(tKrK); } + + flash::copy( + gmem_thr_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + if (!Kernel_traits::Is_V_in_regs) { + flash::copy( + gmem_thr_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + } + flash::cp_async_fence(); + + // if (cute::thread0()) { print(tdOgdO.layout()); printf("\n"); print(tdOrdO); print(tdOrO); } + if (Is_first) { + copy(tdOrdO, tdOsdO); + dot_do_o(tdOrdO, tdOrO, gdPsum, sdPsum, + Kernel_traits::kNThreads / (Kernel_traits::kGmemThreadsPerRow), params.p_dropout); + } + + if (Kernel_traits::Is_V_in_regs) { + cute::cp_async_wait<1>(); + __syncthreads(); + Tensor tdPrV_copy_view = smem_thr_copy_KV.retile_D(tdPrV); + CUTE_STATIC_ASSERT_V(size<1>(tdPsV) == size<1>(tdPrV_copy_view)); // M + copy(smem_thr_copy_KV, tdPsV, tdPrV_copy_view); + } + + auto seeds = at::cuda::philox::unpack(params.philox_args); + unsigned long long seed = std::get<0>(seeds); + unsigned long long offset = std::get<1>(seeds) + (bidb * params.h + bidh) * 32 + tidx % 32; + + clear(acc_dv); + clear(acc_dk); + + for (; m_block >= m_block_min; --m_block) { + Tensor acc_s = partition_fragment_C(tiled_mma_sdp, Shape, Int>{}); // (MMA=4, MMA_N, MMA_N) + clear(acc_s); + cute::cp_async_wait<0>(); + __syncthreads(); + + Tensor dP_sum = make_fragment_like(lse); + #pragma unroll + for (int mi = 0; mi < size(lse); ++mi) { dP_sum(mi) = gdPsum(get<0>(taccScS_row(mi))); } + + // if (cute::thread0()) { print(sK); } + // Tensor tSrK_copy_view = smem_thr_copy_KV.retile_D(tSrK); + // #pragma unroll + // for (int k = 0; k < size<2>(tSrK_copy_view); ++k) { + // copy(smem_thr_copy_KV, tSsK(_, _, k), tSrK_copy_view(_, _, k)); + // } + // if (cute::thread0()) { print(tSrK); } + flash::gemm(acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma_sdp, smem_thr_copy_QdO, smem_thr_copy_KV); + + // Reshape acc_s from (MMA=4, MMA_N, MMA_N) to (col=(2, MMA_N), row=(2, MMA_N)) + Tensor scores = make_tensor(acc_s.data(), flash::convert_layout_acc_rowcol(acc_s.layout())); + // if (cute::thread(32, 0)) { print(scores); } + // We don't need to mask out the elements beyond actual_seqlen_k, because acc_s would + // be some finite value for those indices. In the end when we multiply with K to get dQ, + // the corresponding values of K would be 0, so the result would still be correct. + // Putting this causal masking right after acc_s is *much* slower for some reason. + if (Is_causal && m_block * kBlockM < (n_block + 1) * kBlockN) { + flash::apply_mask_causal(scores, n_block * kBlockN + (tidx / 32 / AtomLayoutMS) * MMA_N_SdP * 16, + binfo.actual_seqlen_k, m_block * kBlockM + get<0>(taccScS_row(0)), + // binfo.actual_seqlen_k, m_block * kBlockM + (tidx / 32) % AtomLayoutMS * 16 + (tidx % 32) / 4, + AtomLayoutMS * 16); + } + // if (cute::thread(32, 0)) { print(scores); } + // Compute the exponential value. + flash::scale_apply_exp2(scores, lse, params.scale_softmax_log2); + if (Is_dropout) { + uint32_t warp_id = tidx / 32; + uint32_t block_row_idx = m_block * (kBlockM / 16) + warp_id % AtomLayoutMS; + // Need col to be multiples of 32, since we're doing dropout with block of 16 x 32 + static_assert(MMA_N_SdP % 2 == 0); + uint32_t block_col_idx = n_block * (kBlockN / 32) + (warp_id / AtomLayoutMS) * (MMA_N_SdP / 2); + Tensor scores_dropped = make_tensor(scores.data(), flash::convert_layout_rowcol_Aregs(scores.layout())); + flash::apply_dropout( + scores_dropped, params.p_dropout_in_uint8_t, seed, offset, + block_row_idx, block_col_idx, AtomLayoutMS + ); + } + // Convert scores from fp32 to fp16/bf16 + Tensor rP = !Is_dropout + ? flash::convert_type(scores) + : flash::convert_type_relu(scores); + // Reshape rP from (nrow=(2, MMA_N), ncol=(2, MMA_N)) to ((2, 2, 2), MMA_N, MMA_N / 2) + // if using m16n8k16 or ((2, 2, 1), MMA_N, MMA_N) if using m16n8k8. + Tensor tPrP = make_tensor(rP.data(), flash::convert_layout_rowcol_Aregs(rP.layout())); + Tensor tPaP = smem_thr_copy_PdS.retile_S(tPrP); // ((Atom,AtomNum), MMA_N, MMA_N) + copy(smem_thr_copy_PdS, tPaP, tPsP); + // if (cute::thread0()) { print(tPaP); } + // __syncthreads(); + // if (cute::thread0()) { print(sP); } + + Tensor acc_dp = partition_fragment_C(tiled_mma_sdp, Shape, Int>{}); // (MMA=4, MMA_N, MMA_N) + CUTE_STATIC_ASSERT_V(size<0>(acc_dp) == size<0>(acc_s)); // MMA + CUTE_STATIC_ASSERT_V(size<1>(acc_dp) == size<1>(acc_s)); // MMA + CUTE_STATIC_ASSERT_V(size<2>(acc_dp) == size<2>(acc_s)); // MMA + + clear(acc_dp); + // Tensor acc_dp_reshaped = make_tensor(acc_dp.data(), flash::convert_layout_acc_rowcol(acc_dp.layout())); + // #pragma unroll + // for (int mi = 0; mi < size<0>(acc_dp_reshaped); ++mi) { + // #pragma unroll + // for (int ni = 0; ni < size<1>(acc_dp_reshaped); ++ni) { + // acc_dp_reshaped(mi, ni) = -dP_sum(mi); + // } + // } + + // if (cute::thread0()) { print(dP_sum); } + + flash::gemm( + acc_dp, tdPrdO, tdPrV, tdPsdO, tdPsV, tiled_mma_sdp, smem_thr_copy_QdO, smem_thr_copy_KV + ); + + // Reshape acc_dp from (MMA=4, MMA_N, MMA_N) to (col=(2, MMA_N), row=(2, MMA_N)) + Tensor dS = make_tensor(acc_dp.data(), scores.layout()); + auto pointwise_mult = [](float p, float dp, float d) { + return p * (!Is_dropout || p >= 0 ? dp - d : d); + }; + #pragma unroll + for (int mi = 0; mi < size<0>(dS); ++mi) { + #pragma unroll + for (int ni = 0; ni < size<1>(dS); ++ni) { + dS(mi, ni) = pointwise_mult(scores(mi, ni), dS(mi, ni), dP_sum(mi)); + } + } + // if (cute::thread0()) { print(dS); } + + Tensor acc_dq = partition_fragment_C(tiled_mma_dq, Shape, Int>{}); // MMA, MMA_N, MMA_K + tdQgdQaccum.data() = tdQgdQaccum.data() + (-int(kBlockM * params.d_rounded)); + if (Is_first || Seq_parallel) { + clear(acc_dq); + } else { + // Reshape acc_dq from (4, 1, 2) to (4, 2, 1) to write to gdQaccum + Tensor acc_dq_reshaped = make_tensor(acc_dq.data(), + make_layout(get<0>(acc_dq.layout()), + get<2>(acc_dq.layout()), + get<1>(acc_dq.layout()))); + copy(gmem_thr_copy_dQ_accum, tdQgdQaccum, acc_dq_reshaped); + } + + if (Double_buffer && m_block > m_block_min) { + // Double buffer for sQ + const int sQ_offset = m_block % 2 == 0 ? size(sQ) : -size(sQ); + tQsQ.data() = tQsQ.data() + sQ_offset; + tSsQ.data() = tSsQ.data() + sQ_offset; + // Advance gQ + tQgQ.data() = tQgQ.data() + (-int(kBlockM * params.q_row_stride)); + flash::copy(gmem_thr_copy_QKV, tQgQ, tQsQ, tQcQ, tQpQ); + flash::cp_async_fence(); + } + + Tensor dS_reshaped = make_tensor(dS.data(), acc_dp.layout()); + // Convert dS from fp32 to fp16 + Tensor tdSrdS = flash::convert_type(dS_reshaped); + // if (cute::thread0()) { print(tPrP); } + Tensor tdSadS = smem_thr_copy_PdS.retile_S(tdSrdS); // ((Atom,AtomNum), MMA_N, MMA_N) + copy(smem_thr_copy_PdS, tdSadS, tdSsdS); + __syncthreads(); + + // Layout p_l = tPrP.layout(); + // Tensor tdVrPt = make_tensor(tPrP.data(), make_layout(get<0>(p_l), get<2>(p_l), get<1>(p_l))); + // flash::gemm_A_in_regs(acc_dv, tdVrPt, tdVrdO, tdVsdOt, tiled_mma_dkv, smem_thr_copy_QdOt); + // Tensor tdKrdSt = make_tensor(tdSrdS.data(), tdVrPt.layout()); + // flash::gemm_A_in_regs(acc_dk, tdKrdSt, tdKrQt, tdKsQt, tiled_mma_dkv, smem_thr_copy_QdOt); + flash::gemm(acc_dv, tdVrPt, tdVrdO, tdVsPt, tdVsdOt, tiled_mma_dkv, smem_thr_copy_PdSt, smem_thr_copy_QdOt); + // if (cute::thread0() && n_block == 0 && m_block == 0) { print(tdVrPt); } + // if (cute::thread0()) { print(acc_dv); } + + __syncthreads(); // Need syncthreads since we're writing to the same sdO location + + if (m_block > m_block_min) { + // Advance gdO + tdOgdO.data() = tdOgdO.data() + (-int(kBlockM * params.do_row_stride)); + if (Is_first) { + tdOgO.data() = tdOgO.data() + (-int(kBlockM * params.o_row_stride)); + flash::copy(gmem_thr_copy_dO, tdOgdO, tdOrdO, tQcQ, tQpQ); + flash::copy(gmem_thr_copy_dO, tdOgO, tdOrO, tQcQ, tQpQ); + } else { + flash::copy(gmem_thr_copy_dO, tdOgdO, tdOsdO, tQcQ, tQpQ); + flash::cp_async_fence(); + } + } + + flash::gemm(acc_dq, tdQrdS, tdQrKt, tdQsdS, tdQsKt, tiled_mma_dq, smem_thr_copy_dS, smem_thr_copy_Kt); + // if (cute::thread0()) { print(acc_dq); } + + if (m_block > m_block_min) { + gLSE.data() = gLSE.data() + (-int(kBlockM)); + #pragma unroll + for (int mi = 0; mi < size(lse); ++mi) { lse(mi) = gLSE(get<0>(taccScS_row(mi))); } + gdPsum.data() = gdPsum.data() + (-int(kBlockM)); + // if (!Is_first && tidx < kBlockM / 2) { + // sdPsum(tidx) = recast(gdPsum)(tidx); + // if (!Is_first && tidx < kBlockM) { + // recast(sdPsum)(tidx) = gdPsum(tidx); + // } + } + + if (!Is_last) { + // Reshape acc_dq from (4, 1, 2) to (4, 2, 1) to write to gdQaccum + Tensor acc_dq_reshaped = make_tensor(acc_dq.data(), + make_layout(get<0>(acc_dq.layout()), + get<2>(acc_dq.layout()), + get<1>(acc_dq.layout()))); + if (!Seq_parallel) { + copy(gmem_thr_copy_dQ_accum, acc_dq_reshaped, tdQgdQaccum); + } else { + // if (cute::thread0()) { print(acc_dq.layout()); printf("\n"); print(acc_dq_reshaped.layout()); printf("\n"); print(tdQgdQaccum.layout()); printf("\n"); } + CUTE_STATIC_ASSERT_V(size(acc_dq) == size(tdQgdQaccum)); + #pragma unroll + for (int i = 0; i < size(acc_dq); ++i) { atomicAdd(&tdQgdQaccum(i), acc_dq(i)); } + } + } else { + #pragma unroll + for (int i = 0; i < size(acc_dq); ++i) { acc_dq(i) *= params.scale_softmax_rp_dropout; } + // Convert acc_dq from fp32 to fp16 + Tensor rdQ = flash::convert_type(acc_dq); + Tensor taccdQrdQ = smem_thr_copy_dQ.retile_S(rdQ); // ((Atom,AtomNum), MMA_N, MMA_N) + copy(smem_thr_copy_dQ, taccdQrdQ, taccdQsdQ); + } + + flash::gemm(acc_dk, tdKrdSt, tdKrQt, tdKsdSt, tdKsQt, tiled_mma_dkv, smem_thr_copy_PdSt, smem_thr_copy_QdOt); + // if (cute::thread0()) { print(acc_dk); } + if (Double_buffer) { // Double buffer for sQ + tdKsQt.data() = tdKsQt.data() + (m_block % 2 == 0 ? size(sQ) : -size(sQ)); + } + if (!Double_buffer && m_block > m_block_min) { + __syncthreads(); + // Advance gQ + tQgQ.data() = tQgQ.data() + (-int(kBlockM * params.q_row_stride)); + flash::copy(gmem_thr_copy_QKV, tQgQ, tQsQ, tQcQ, tQpQ); + flash::cp_async_fence(); + } + + if (Is_first && m_block > m_block_min) { + copy(tdOrdO, tdOsdO); + dot_do_o(tdOrdO, tdOrO, gdPsum, sdPsum, + Kernel_traits::kNThreads / (Kernel_traits::kGmemThreadsPerRow), params.p_dropout); + } + + if (Is_last) { + __syncthreads(); + Tensor tdQrdQ = make_tensor(shape(tdQgdQ)); + copy(gmem_thr_copy_dQ, tdQsdQ, tdQrdQ); + tdQgdQ.data() = tdQgdQ.data() + (-int(kBlockM * params.dq_row_stride)); + Tensor cdQ = make_identity_tensor(Shape, Int>{}); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor tdQcdQ = gmem_thr_copy_dQ.partition_D(cdQ); + #pragma unroll + for (int m = 0; m < size<1>(tdQgdQ); ++m) { + if (Is_even_M || get<0>(tdQcdQ(0, m, 0)) < binfo.actual_seqlen_q - m_block * kBlockM) { + copy(gmem_thr_copy_dQ, tdQrdQ(_, m, _), tdQgdQ(_, m, _)); + } + } + } + + } + + // Epilogue + + if (Is_dropout) { + #pragma unroll + for (int i = 0; i < size(acc_dv); ++i) { acc_dv(i) *= params.rp_dropout; } + } + #pragma unroll + for (int i = 0; i < size(acc_dk); ++i) { acc_dk(i) *= params.scale_softmax_rp_dropout; } + + // Convert acc_dv from fp32 to fp16 + Tensor rdK = flash::convert_type(acc_dk); + Tensor rdV = flash::convert_type(acc_dv); + + Tensor sdK = make_tensor(sK.data(), typename Kernel_traits::SmemLayoutdKV{}); // (SMEM_N, SMEM_K) + Tensor sdV = make_tensor(sdK.data() + size(sdK), typename Kernel_traits::SmemLayoutdKV{}); // (SMEM_N, SMEM_K) + + // Partition sdV and sdK to match the accumulator partitioning + auto smem_thr_copy_dKV = make_tiled_copy_C(typename Kernel_traits::SmemCopyAtomdKV{}, tiled_mma_dkv).get_thread_slice(tidx); + Tensor taccdKrdK = smem_thr_copy_dKV.retile_S(rdK); // ((Atom,AtomNum), MMA_N, MMA_N) + Tensor taccdKsdK = smem_thr_copy_dKV.partition_D(sdK); // ((Atom,AtomNum),PIPE_M,PIPE_N) + Tensor taccdVrdV = smem_thr_copy_dKV.retile_S(rdV); // ((Atom,AtomNum), MMA_N, MMA_N) + Tensor taccdVsdV = smem_thr_copy_dKV.partition_D(sdV); // ((Atom,AtomNum),PIPE_M,PIPE_N) + + // If we don't need syncthreads here since we're writing to the same location as sK and sV. + // Unless Is_V_in_regs. If Is_last, there's already a __syncthreads() at the end of the loop. + if (Kernel_traits::Is_V_in_regs && !Is_last) { __syncthreads(); } + + copy(smem_thr_copy_dKV, taccdKrdK, taccdKsdK); + copy(smem_thr_copy_dKV, taccdVrdV, taccdVsdV); + + const index_t row_offset_dk = binfo.k_offset(params.dk_batch_stride, params.dk_row_stride, bidb) + + n_block * kBlockN * params.dk_row_stride + bidh * params.dk_head_stride; + const index_t row_offset_dv = binfo.k_offset(params.dv_batch_stride, params.dv_row_stride, bidb) + + n_block * kBlockN * params.dv_row_stride + bidh * params.dv_head_stride; + Tensor gdK = make_tensor(make_gmem_ptr(reinterpret_cast(params.dk_ptr) + row_offset_dk), + Shape, Int>{}, + make_stride(params.dk_row_stride, _1{})); + Tensor gdV = make_tensor(make_gmem_ptr(reinterpret_cast(params.dv_ptr) + row_offset_dv), + Shape, Int>{}, + make_stride(params.dv_row_stride, _1{})); + + auto gmem_thr_copy_dKV = typename Kernel_traits::GmemTiledCopydKV{}.get_thread_slice(tidx); + Tensor tdKsdK = gmem_thr_copy_dKV.partition_S(sdK); // ((Atom,AtomNum),ATOM_M,ATOM_N) + Tensor tdKgdK = gmem_thr_copy_dKV.partition_D(gdK); + Tensor tdVsdV = gmem_thr_copy_dKV.partition_S(sdV); // ((Atom,AtomNum),ATOM_M,ATOM_N) + Tensor tdVgdV = gmem_thr_copy_dKV.partition_D(gdV); + + __syncthreads(); + Tensor tdKrdK = make_tensor(shape(tdKgdK)); + copy(gmem_thr_copy_dKV, tdKsdK, tdKrdK); + Tensor tdVrdV = make_tensor(shape(tdVgdV)); + copy(gmem_thr_copy_dKV, tdVsdV, tdVrdV); + Tensor cdKV = make_identity_tensor(make_shape(size<0>(sdK), size<1>(sdK))); // (BLK_N,BLK_K) -> (blk_n,blk_k) + Tensor tdKVcdKV = gmem_thr_copy_dKV.partition_D(cdKV); + Tensor tdKVpdKV = make_tensor(make_shape(size<2>(tdKgdK))); + #pragma unroll + for (int k = 0; k < size(tdKVpdKV); ++k) { tdKVpdKV(k) = get<1>(tdKVcdKV(0, 0, k)) < params.d; } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy( + gmem_thr_copy_dKV, tdKrdK, tdKgdK, tdKVcdKV, tdKVpdKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + flash::copy( + gmem_thr_copy_dKV, tdVrdV, tdVgdV, tdKVcdKV, tdKVpdKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void compute_dq_dk_dv_1rowblock(const Params ¶ms, const int bidb, const int bidh, const int m_block) { + + using Element = typename Kernel_traits::Element; + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + + // Shared memory. + extern __shared__ char smem_[]; + + // The thread index. + const int tidx = threadIdx.x; + + constexpr int kBlockM = Kernel_traits::kBlockM; + constexpr int kBlockN = Kernel_traits::kBlockN; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + // constexpr int kNWarps = Kernel_traits::kNWarps; + constexpr int MMA_N_SdP = kBlockN / decltype(size<1>(typename Kernel_traits::TiledMmaSdP::TiledShape_MNK{}))::value; + constexpr int AtomLayoutMS = Kernel_traits::AtomLayoutMSdP; + + const BlockInfo binfo(params, bidb); + if (m_block * kBlockM >= binfo.actual_seqlen_q || binfo.actual_seqlen_k == 0) return; + + int n_block_max = cute::ceil_div(binfo.actual_seqlen_k, kBlockN); + if (Is_causal) { + n_block_max = std::min(n_block_max, cute::ceil_div((m_block + 1) * kBlockM, kBlockN)); + } + + // We iterate over the blocks in reverse order. This is because the last block is the only one + // that needs masking when we read K and V from global memory. Moreover, iterating in reverse + // might save us 1 register (we just need n_block instead of both n_block and n_block_max). + + const index_t row_offset_q = binfo.q_offset(params.q_batch_stride, params.q_row_stride, bidb) + + m_block * kBlockM * params.q_row_stride + bidh * params.q_head_stride; + // We move K and V to the last block. + const index_t row_offset_k = binfo.k_offset(params.k_batch_stride, params.k_row_stride, bidb) + + (n_block_max - 1) * kBlockN * params.k_row_stride + (bidh / params.h_h_k_ratio) * params.k_head_stride; + const index_t row_offset_v = binfo.k_offset(params.v_batch_stride, params.v_row_stride, bidb) + + (n_block_max - 1) * kBlockN * params.v_row_stride + (bidh / params.h_h_k_ratio) * params.v_head_stride; + const index_t row_offset_do = binfo.q_offset(params.do_batch_stride, params.do_row_stride, bidb) + + m_block * kBlockM * params.do_row_stride + bidh * params.do_head_stride; + const index_t row_offset_o = binfo.q_offset(params.o_batch_stride, params.o_row_stride, bidb) + + m_block * kBlockM * params.do_row_stride + bidh * params.o_head_stride; + // We'll advance gdKaccum and gdVaccum before the first write. + const index_t row_offset_dkv_accum = ((bidb * params.h_k + (bidh / params.h_h_k_ratio)) * params.seqlen_k_rounded + + n_block_max * kBlockN) * params.d_rounded; + const index_t row_offset_lse = (bidb * params.h + bidh) * params.seqlen_q + m_block * kBlockM; + + // We assume that params.d == kHeadDim for now + Tensor gQ = make_tensor(make_gmem_ptr(reinterpret_cast(params.q_ptr) + row_offset_q), + Shape, Int>{}, + make_stride(params.q_row_stride, _1{})); + Tensor gK = make_tensor(make_gmem_ptr(reinterpret_cast(params.k_ptr) + row_offset_k), + Shape, Int>{}, + make_stride(params.k_row_stride, _1{})); + Tensor gV = make_tensor(make_gmem_ptr(reinterpret_cast(params.v_ptr) + row_offset_v), + Shape, Int>{}, + make_stride(params.v_row_stride, _1{})); + Tensor gdO = make_tensor(make_gmem_ptr(reinterpret_cast(params.do_ptr) + row_offset_do), + Shape, Int>{}, + make_stride(params.do_row_stride, _1{})); + Tensor gO = make_tensor(make_gmem_ptr(reinterpret_cast(params.o_ptr) + row_offset_o), + Shape, Int>{}, + make_stride(params.do_row_stride, _1{})); + Tensor gdKaccum = make_tensor(make_gmem_ptr(reinterpret_cast(params.dk_accum_ptr) + row_offset_dkv_accum), + Shape, Int>{}, + Stride, _1>{}); + Tensor gdVaccum = make_tensor(make_gmem_ptr(reinterpret_cast(params.dv_accum_ptr) + row_offset_dkv_accum), + Shape, Int>{}, + Stride, _1>{}); + Tensor gLSE = make_tensor(make_gmem_ptr(reinterpret_cast(params.softmax_lse_ptr) + row_offset_lse), + Shape>{}, Stride<_1>{}); + + Tensor sQ = make_tensor(make_smem_ptr(reinterpret_cast(smem_)), + typename Kernel_traits::SmemLayoutQdO{}); + Tensor sQt = make_tensor(sQ.data(), typename Kernel_traits::SmemLayoutQdOtransposed{}); + Tensor sQtNoSwizzle = make_tensor(sQ.data(), typename Kernel_traits::SmemLayoutQdOtransposedNoSwizzle{}); + Tensor sdO = make_tensor(sQ.data() + size(sQ), typename Kernel_traits::SmemLayoutQdO{}); + Tensor sdOt = make_tensor(sdO.data(), typename Kernel_traits::SmemLayoutQdOtransposed{}); + Tensor sdOtransposedNoSwizzle = make_tensor(sdO.data(), + typename Kernel_traits::SmemLayoutQdOtransposedNoSwizzle{}); + Tensor sK = make_tensor(sdO.data() + size(sdO), typename Kernel_traits::SmemLayoutKV{}); + // Double buffer for sK + Tensor sV = make_tensor(sK.data() + 2 * size(sK), typename Kernel_traits::SmemLayoutKV{}); + Tensor sKt = make_tensor(sK.data(), typename Kernel_traits::SmemLayoutKtransposed{}); + Tensor sKtNoSwizzle = make_tensor(sK.data(), typename Kernel_traits::SmemLayoutKtransposedNoSwizzle{}); + Tensor sdS = make_tensor(sV.data() + size(sV), typename Kernel_traits::SmemLayoutPdS{}); + Tensor sdSt = make_tensor(sdS.data(), typename Kernel_traits::SmemLayoutPdStransposed{}); + Tensor sdStNoSwizzle = make_tensor(sdS.data(), typename Kernel_traits::SmemLayoutPdStransposedNoSwizzle{}); + Tensor sP = make_tensor(sdS.data() + size(sdS), typename Kernel_traits::SmemLayoutPdS{}); + Tensor sPt = make_tensor(sP.data(), typename Kernel_traits::SmemLayoutPdStransposed{}); + Tensor sPtNoSwizzle = make_tensor(sP.data(), typename Kernel_traits::SmemLayoutPdStransposedNoSwizzle{}); + Tensor sdPsum = make_tensor(make_smem_ptr(reinterpret_cast(sdS.data().get())), + Shape>{}); + + auto gmem_thr_copy_QKV = typename Kernel_traits::GmemTiledCopyQKV{}.get_thread_slice(tidx); + auto gmem_thr_copy_dO = typename Kernel_traits::GmemTiledCopydO{}.get_thread_slice(tidx); + auto gmem_thr_copy_dKV_accum = typename Kernel_traits::GmemTiledCopydQaccumAtomicAdd{}.get_thread_slice(tidx); + + Tensor tQgQ = gmem_thr_copy_QKV.partition_S(gQ); + Tensor tQsQ = gmem_thr_copy_QKV.partition_D(sQ); + Tensor tdOgdO = gmem_thr_copy_dO.partition_S(gdO); + Tensor tdOsdO = gmem_thr_copy_dO.partition_D(sdO); + Tensor tdOgO = gmem_thr_copy_dO.partition_S(gO); + Tensor tKgK = gmem_thr_copy_QKV.partition_S(gK); // (KCPY, KCPY_N, KCPY_K) + Tensor tKsK = gmem_thr_copy_QKV.partition_D(sK); + Tensor tVgV = gmem_thr_copy_QKV.partition_S(gV); // (VCPY, VCPY_N, VCPY_K) + Tensor tVsV = gmem_thr_copy_QKV.partition_D(sV); + Tensor tdKgdKaccum = gmem_thr_copy_dKV_accum.partition_D(gdKaccum); + Tensor tdVgdVaccum = gmem_thr_copy_dKV_accum.partition_D(gdVaccum); + + typename Kernel_traits::TiledMmaSdP tiled_mma_sdp; + auto thr_mma_sdp = tiled_mma_sdp.get_thread_slice(tidx); + Tensor tSrQ = thr_mma_sdp.partition_fragment_A(sQ); // (MMA,MMA_N,MMA_K) + Tensor tSrK = thr_mma_sdp.partition_fragment_B(sK); // (MMA,MMA_N,MMA_K) + Tensor tdPrdO = thr_mma_sdp.partition_fragment_A(sdO); // (MMA,MMA_N,MMA_K) + Tensor tdPrV = thr_mma_sdp.partition_fragment_B(sV); // (MMA,MMA_N,MMA_K) + + typename Kernel_traits::TiledMmadKV tiled_mma_dkv; + auto thr_mma_dkv = tiled_mma_dkv.get_thread_slice(tidx); + Tensor tdKrdSt = thr_mma_dkv.partition_fragment_A(sdStNoSwizzle); // (MMA, MMA_N, MMA_N) + Tensor tdKrQt = thr_mma_dkv.partition_fragment_B(sQtNoSwizzle); // (MMA, MMA_K, MMA_N) + Tensor tdVrPt = thr_mma_dkv.partition_fragment_A(sPtNoSwizzle); // (MMA, MMA_N, MMA_N) + Tensor tdVrdO = thr_mma_dkv.partition_fragment_B(sdOtransposedNoSwizzle); // (MMA, MMA_K, MMA_N) + + typename Kernel_traits::TiledMmadQ tiled_mma_dq; + auto thr_mma_dq = tiled_mma_dq.get_thread_slice(tidx); + Tensor tdQrdS = thr_mma_dq.partition_fragment_A(sdS); // (MMA, MMA_N, MMA_N) + Tensor tdQrKt = thr_mma_dq.partition_fragment_B(sKtNoSwizzle); // (MMA, MMA_K, MMA_N) + + Tensor acc_dq = partition_fragment_C(tiled_mma_dq, Shape, Int>{}); // MMA, MMA_M_SdP, MMA_K + + // + // Copy Atom retiling + // + + auto smem_thr_copy_QdO = make_tiled_copy_A(typename Kernel_traits::SmemCopyAtom{}, tiled_mma_sdp).get_thread_slice(tidx); + Tensor tSsQ = smem_thr_copy_QdO.partition_S(sQ); + Tensor tdPsdO = smem_thr_copy_QdO.partition_S(sdO); + + auto smem_thr_copy_KV = make_tiled_copy_B_warpcontiguousN(typename Kernel_traits::SmemCopyAtom{}, tiled_mma_sdp).get_thread_slice(tidx); + Tensor tSsK = smem_thr_copy_KV.partition_S(sK); + Tensor tdPsV = smem_thr_copy_KV.partition_S(sV); + + // Partition sP and sdS to match the accumulator partitioning + // This has to be tiled_mma_sdp, not tiled_mma_dkv + auto smem_thr_copy_PdS = make_tiled_copy_C_warpcontiguousN(typename Kernel_traits::SmemCopyAtomPdS{}, tiled_mma_sdp).get_thread_slice(tidx); + Tensor tPsP = smem_thr_copy_PdS.partition_D(sP); // ((Atom,AtomNum),PIPE_M,PIPE_N) + Tensor tdSsdS = smem_thr_copy_PdS.partition_D(sdS); // ((Atom,AtomNum),PIPE_M,PIPE_N) + + auto smem_thr_copy_PdSt = make_tiled_copy_A(typename Kernel_traits::SmemCopyAtomTransposed{}, tiled_mma_dkv).get_thread_slice(tidx); + Tensor tdVsPt = smem_thr_copy_PdSt.partition_S(sPt); + Tensor tdKsdSt = smem_thr_copy_PdSt.partition_S(sdSt); + + auto smem_thr_copy_QdOt = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtomTransposed{}, tiled_mma_dkv).get_thread_slice(tidx); + Tensor tdVsdOt = smem_thr_copy_QdOt.partition_S(sdOt); + Tensor tdKsQt = smem_thr_copy_QdOt.partition_S(sQt); + + auto smem_thr_copy_dS = make_tiled_copy_A(typename Kernel_traits::SmemCopyAtom{}, tiled_mma_dq).get_thread_slice(tidx); + Tensor tdQsdS = smem_thr_copy_dS.partition_S(sdS); + + auto smem_thr_copy_Kt = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtomTransposed{}, tiled_mma_dq).get_thread_slice(tidx); + Tensor tdQsKt = smem_thr_copy_Kt.partition_S(sKt); + + // + // PREDICATES + // + + // Construct identity layout for sQ and sK + Tensor cQ = make_identity_tensor(make_shape(size<0>(sQ), size<1>(sQ))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor cKV = make_identity_tensor(make_shape(size<0>(sK), size<1>(sK))); // (BLK_N,BLK_K) -> (blk_n,blk_k) + // Repeat the partitioning with identity layouts + Tensor tQcQ = gmem_thr_copy_QKV.partition_S(cQ); // (ACPY,ACPY_M,ACPY_K) -> (blk_m,blk_k) + Tensor tKVcKV = gmem_thr_copy_QKV.partition_S(cKV); // (BCPY,BCPY_N,BCPY_K) -> (blk_n,blk_k) + + // Allocate predicate tensors for k + Tensor tQpQ = make_tensor(make_shape(size<2>(tQsQ))); + Tensor tKVpKV = make_tensor(make_shape(size<2>(tKsK))); + + // Set predicates for k bounds + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tQpQ); ++k) { tQpQ(k) = get<1>(tQcQ(0, 0, k)) < params.d; } + #pragma unroll + for (int k = 0; k < size(tKVpKV); ++k) { tKVpKV(k) = get<1>(tKVcKV(0, 0, k)) < params.d; } + } + + // Prologue + + Tensor tdOrdO = make_fragment_like(tdOgdO); + Tensor tdOrO = make_fragment_like(tdOgO); + + // TODO: Might need to exit early and write 0 to gdQ. + + flash::copy( + gmem_thr_copy_dO, tdOgdO, tdOrdO, tQcQ, tQpQ, binfo.actual_seqlen_q - m_block * kBlockM + ); + flash::copy( + gmem_thr_copy_dO, tdOgO, tdOrO, tQcQ, tQpQ, binfo.actual_seqlen_q - m_block * kBlockM + ); + + Tensor tQrQ = make_fragment_like(tQgQ); + flash::copy( + gmem_thr_copy_QKV, tQgQ, tQsQ, tQcQ, tQpQ, binfo.actual_seqlen_q - m_block * kBlockM + ); + + int n_block = n_block_max - 1; + if (n_block % 2 == 1) { + tKsK.data() = tKsK.data() + size(sK); + tSsK.data() = tSsK.data() + size(sK); + tdQsKt.data() = tdQsKt.data() + size(sK); + } + + flash::copy( + gmem_thr_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + flash::copy( + gmem_thr_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + + Tensor caccS = make_identity_tensor(Shape, Int>{}); // (BLK_M,BLK_N) -> (blk_m,blk_n) + Tensor taccScS = thr_mma_sdp.partition_C(caccS); // (MMA,MMA_N,MMA_N) + static_assert(decltype(size<0>(taccScS))::value == 4); + // Convert to ((2, 2), MMA_N, MMA_N) then take only the row indices. + Tensor taccScS_row = logical_divide(taccScS, Shape<_2>{})(make_coord(0, _), _, 0); + Tensor lse = make_tensor(Shape>{}); + #pragma unroll + for (int mi = 0; mi < size(lse); ++mi) { + // Using uint32_t row makes it 10us slower on d=128, not sure why. + const int row = get<0>(taccScS_row(mi)); + lse(mi) = row < binfo.actual_seqlen_q - m_block * kBlockM ? gLSE(row) : 0; + } + + cute::cp_async_fence(); + + Tensor dP_sum = make_fragment_like(lse); + copy(tdOrdO, tdOsdO); + dot_do_o( + tdOrdO, tdOrO, sdPsum, sdPsum, + Kernel_traits::kNThreads / (Kernel_traits::kGmemThreadsPerRow), params.p_dropout + ); + __syncthreads(); + #pragma unroll + for (int mi = 0; mi < size(dP_sum); ++mi) { dP_sum(mi) = sdPsum(get<0>(taccScS_row(mi))); } + + auto seeds = at::cuda::philox::unpack(params.philox_args); + unsigned long long seed = std::get<0>(seeds); + unsigned long long offset = std::get<1>(seeds) + (bidb * params.h + bidh) * 32 + tidx % 32; + + clear(acc_dq); + + for (; n_block >= 0; --n_block) { + Tensor acc_s = partition_fragment_C(tiled_mma_sdp, Shape, Int>{}); // (MMA=4, MMA_M_SdP, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + + flash::gemm(acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma_sdp, smem_thr_copy_QdO, smem_thr_copy_KV); + + // Reshape acc_s from (MMA=4, MMA_N, MMA_N) to (col=(2, MMA_N), row=(2, MMA_N)) + Tensor scores = make_tensor(acc_s.data(), flash::convert_layout_acc_rowcol(acc_s.layout())); + // We don't need to mask out the elements beyond actual_seqlen_k, because acc_s would + // be some finite value for those indices. In the end when we multiply with K to get dQ, + // the corresponding values of K would be 0, so the result would still be correct. + if (Is_causal && m_block * kBlockM < (n_block + 1) * kBlockN) { + flash::apply_mask_causal(scores, n_block * kBlockN + (tidx / 32 / AtomLayoutMS) * MMA_N_SdP * 16, + binfo.actual_seqlen_k, m_block * kBlockM + get<0>(taccScS_row(0)), + // binfo.actual_seqlen_k, m_block * kBlockM + (tidx / 32) % AtomLayoutMS * 16 + (tidx % 32) / 4, + AtomLayoutMS * 16); + } + // Compute the exponential value. + flash::scale_apply_exp2(scores, lse, params.scale_softmax_log2); + if (Is_dropout) { + uint32_t warp_id = tidx / 32; + uint32_t block_row_idx = m_block * (kBlockM / 16) + warp_id % AtomLayoutMS; + // Need col to be multiples of 32, since we're doing dropout with block of 16 x 32 + static_assert(MMA_N_SdP % 2 == 0); + uint32_t block_col_idx = n_block * (kBlockN / 32) + (warp_id / AtomLayoutMS) * (MMA_N_SdP / 2); + Tensor scores_dropped = make_tensor(scores.data(), flash::convert_layout_rowcol_Aregs(scores.layout())); + flash::apply_dropout( + scores_dropped, params.p_dropout_in_uint8_t, seed, offset, + block_row_idx, block_col_idx, AtomLayoutMS + ); + } + // Convert scores from fp32 to fp16/bf16 + Tensor rP = !Is_dropout + ? flash::convert_type(scores) + : flash::convert_type_relu(scores); + // Reshape rP from (nrow=(2, MMA_N), ncol=(2, MMA_N)) to ((2, 2, 2), MMA_N, MMA_N / 2) + // if using m16n8k16 or ((2, 2, 1), MMA_N, MMA_N) if using m16n8k8. + Tensor tPrP = make_tensor(rP.data(), flash::convert_layout_rowcol_Aregs(rP.layout())); + Tensor tPaP = smem_thr_copy_PdS.retile_S(tPrP); // ((Atom,AtomNum), MMA_N, MMA_N) + copy(smem_thr_copy_PdS, tPaP, tPsP); + + Tensor acc_dp = partition_fragment_C(tiled_mma_sdp, Shape, Int>{}); // (MMA=4, MMA_N, MMA_N) + CUTE_STATIC_ASSERT_V(size<0>(acc_dp) == size<0>(acc_s)); // MMA + CUTE_STATIC_ASSERT_V(size<1>(acc_dp) == size<1>(acc_s)); // MMA + CUTE_STATIC_ASSERT_V(size<2>(acc_dp) == size<2>(acc_s)); // MMA + + clear(acc_dp); + flash::gemm(acc_dp, tdPrdO, tdPrV, tdPsdO, tdPsV, tiled_mma_sdp, smem_thr_copy_QdO, smem_thr_copy_KV); + + // Reshape acc_dp from (MMA=4, MMA_N, MMA_N) to (col=(2, MMA_N), row=(2, MMA_N)) + Tensor dS = make_tensor(acc_dp.data(), scores.layout()); + auto pointwise_mult = [](float p, float dp, float d) { + return p * (!Is_dropout || p >= 0 ? dp - d : d); + }; + #pragma unroll + for (int mi = 0; mi < size<0>(dS); ++mi) { + #pragma unroll + for (int ni = 0; ni < size<1>(dS); ++ni) { + dS(mi, ni) = pointwise_mult(scores(mi, ni), dS(mi, ni), dP_sum(mi)); + } + } + + Tensor dS_reshaped = make_tensor(dS.data(), acc_dp.layout()); + // Convert dS from fp32 to fp16 + Tensor tdSrdS = flash::convert_type(dS_reshaped); + Tensor tdSadS = smem_thr_copy_PdS.retile_S(tdSrdS); // ((Atom,AtomNum), MMA_N, MMA_N) + copy(smem_thr_copy_PdS, tdSadS, tdSsdS); + __syncthreads(); + + if (n_block > 0) { + // Double buffer for sK + const int sK_offset = n_block % 2 == 0 ? size(sK) : -size(sK); + tKsK.data() = tKsK.data() + sK_offset; + tSsK.data() = tSsK.data() + sK_offset; + // Advance gK, gV + tKgK.data() = tKgK.data() + (-int(kBlockN * params.k_row_stride)); + tVgV.data() = tVgV.data() + (-int(kBlockN * params.v_row_stride)); + flash::copy(gmem_thr_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV); + flash::copy(gmem_thr_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + Tensor acc_dv = partition_fragment_C(tiled_mma_dkv, Shape, Int>{}); // MMA, MMA_N, MMA_K + clear(acc_dv); + flash::gemm(acc_dv, tdVrPt, tdVrdO, tdVsPt, tdVsdOt, tiled_mma_dkv, smem_thr_copy_PdSt, smem_thr_copy_QdOt); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0) { print(acc_dv); } + tdVgdVaccum.data() = tdVgdVaccum.data() + (-int(kBlockN * params.d_rounded)); + #pragma unroll + for (int i = 0; i < size(acc_dv); ++i) { atomicAdd(&tdVgdVaccum(i), acc_dv(i)); } + + __syncthreads(); + Tensor acc_dk = partition_fragment_C(tiled_mma_dkv, Shape, Int>{}); // MMA, MMA_N, MMA_K + clear(acc_dk); + flash::gemm(acc_dk, tdKrdSt, tdKrQt, tdKsdSt, tdKsQt, tiled_mma_dkv, smem_thr_copy_PdSt, smem_thr_copy_QdOt); + tdKgdKaccum.data() = tdKgdKaccum.data() + (-int(kBlockN * params.d_rounded)); + #pragma unroll + for (int i = 0; i < size(acc_dk); ++i) { atomicAdd(&tdKgdKaccum(i), acc_dk(i)); } + + flash::gemm(acc_dq, tdQrdS, tdQrKt, tdQsdS, tdQsKt, tiled_mma_dq, smem_thr_copy_dS, smem_thr_copy_Kt); + // Double buffer for sK + tdQsKt.data() = tdQsKt.data() + (n_block % 2 == 0 ? size(sK) : -size(sK)); + + } + + // Epilogue + + #pragma unroll + for (int i = 0; i < size(acc_dq); ++i) { acc_dq(i) *= params.scale_softmax_rp_dropout; } + // Convert acc_dq from fp32 to fp16 + Tensor rdQ = flash::convert_type(acc_dq); + + Tensor sdQ = make_tensor(sQ.data(), typename Kernel_traits::SmemLayoutdQ{}); + + // Partition sdV and sdK to match the accumulator partitioning + auto smem_thr_copy_dQ = make_tiled_copy_C(typename Kernel_traits::SmemCopyAtomdQ{}, tiled_mma_dq).get_thread_slice(tidx); + Tensor taccdQrdQ = smem_thr_copy_dQ.retile_S(rdQ); // ((Atom,AtomNum), MMA_N, MMA_N) + Tensor taccdQsdQ = smem_thr_copy_dQ.partition_D(sdQ); // ((Atom,AtomNum),PIPE_M,PIPE_N) + + __syncthreads(); + copy(smem_thr_copy_dQ, taccdQrdQ, taccdQsdQ); + + const index_t row_offset_dq = binfo.q_offset(params.dq_batch_stride, params.dq_row_stride, bidb) + + m_block * kBlockM * params.dq_row_stride + bidh * params.dq_head_stride; + Tensor gdQ = make_tensor(make_gmem_ptr(reinterpret_cast(params.dq_ptr) + row_offset_dq), + Shape, Int>{}, + make_stride(params.dq_row_stride, _1{})); + + auto gmem_thr_copy_dQ = typename Kernel_traits::GmemTiledCopydQ{}.get_thread_slice(tidx); + Tensor tdQsdQ = gmem_thr_copy_dQ.partition_S(sdQ); // ((Atom,AtomNum),ATOM_M,ATOM_N) + Tensor tdQgdQ = gmem_thr_copy_dQ.partition_D(gdQ); + + __syncthreads(); + + Tensor tdQrdQ = make_tensor(shape(tdQgdQ)); + copy(gmem_thr_copy_dQ, tdQsdQ, tdQrdQ); + + Tensor cdQ = make_identity_tensor(Shape, Int>{}); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor tdQcdQ = gmem_thr_copy_dQ.partition_D(cdQ); + Tensor tdQpdQ = make_tensor(make_shape(size<2>(tdQgdQ))); + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tdQpdQ); ++k) { tdQpdQ(k) = get<1>(tdQcdQ(0, 0, k)) < params.d; } + } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy( + gmem_thr_copy_dQ, tdQrdQ, tdQgdQ, tdQcdQ, tdQpdQ, binfo.actual_seqlen_q - m_block * kBlockM + ); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void compute_dq_dk_dv(const Params ¶ms) { + + // The block index for the batch. + const int bidb = blockIdx.x; + // const int bidb = blockIdx.y; + // The block index for the head. + const int bidh = blockIdx.y; + // const int bidh = blockIdx.z; + // The thread index. + const int tidx = threadIdx.x; + + const int n_block_max = (params.seqlen_k + Kernel_traits::kBlockN - 1) / Kernel_traits::kBlockN; + if (n_block_max == 1) { + compute_dq_dk_dv_1colblock(params, bidb, bidh, 0); + } else { + // Iterating backward from n_block_max - 1 to 0 might save 1 register + compute_dq_dk_dv_1colblock(params, bidb, bidh, n_block_max - 1); + for (int n_block = n_block_max - 2; n_block > 0; n_block--) { + compute_dq_dk_dv_1colblock(params, bidb, bidh, n_block); + } + compute_dq_dk_dv_1colblock(params, bidb, bidh, 0); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void compute_dq_dk_dv_seqk_parallel(const Params ¶ms) { + + const int n_block = blockIdx.x; + // The block index for the batch. + const int bidb = blockIdx.y; + // The block index for the head. + const int bidh = blockIdx.z; + + compute_dq_dk_dv_1colblock(params, bidb, bidh, n_block); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void compute_dq_dk_dv_seqq_parallel(const Params ¶ms) { + + const int m_block = blockIdx.x; + // The block index for the batch. + const int bidb = blockIdx.y; + // The block index for the head. + const int bidh = blockIdx.z; + + compute_dq_dk_dv_1rowblock(params, bidb, bidh, m_block); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// +} // namespace flash diff --git a/csrc/flash_attn/src/flash_bwd_launch_template.h b/csrc/flash_attn/src/flash_bwd_launch_template.h new file mode 100644 index 000000000..bf70ac19e --- /dev/null +++ b/csrc/flash_attn/src/flash_bwd_launch_template.h @@ -0,0 +1,355 @@ +// Copyright (c) 2023, Tri Dao. + +#pragma once + +#include + +#include "static_switch.h" +#include "flash.h" +#include "flash_bwd_kernel.h" + +template +__global__ void flash_bwd_dot_do_o_kernel(Flash_bwd_params params) { + flash::compute_dot_do_o(params); +} + +template +__global__ void flash_bwd_clear_dkvaccum_kernel(Flash_bwd_params params) { + flash::clear_dKVaccum(params); +} + +template +__global__ void flash_bwd_dq_dk_dv_loop_kernel(Flash_bwd_params params) { + flash::compute_dq_dk_dv(params); +} + +template +__global__ void flash_bwd_dq_dk_dv_loop_seqk_parallel_kernel(Flash_bwd_params params) { + flash::compute_dq_dk_dv_seqk_parallel(params); +} + +template +__global__ void flash_bwd_dq_dk_dv_loop_seqq_parallel_kernel(Flash_bwd_params params) { + flash::compute_dq_dk_dv_seqq_parallel(params); +} + +template +__global__ void flash_bwd_convert_dq_kernel(Flash_bwd_params params) { + flash::convert_dQ(params); +} + +template +__global__ void flash_bwd_convert_dkv_kernel(Flash_bwd_params params) { + flash::convert_dKV(params); +} + +template +void run_flash_bwd_seqk_parallel(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + const int num_m_block = (params.seqlen_q + Kernel_traits::kBlockM - 1) / Kernel_traits::kBlockM; + dim3 grid_m(num_m_block, params.b, params.h); + const int num_n_block = (params.seqlen_k + Kernel_traits::kBlockN - 1) / Kernel_traits::kBlockN; + dim3 grid_n(num_n_block, params.b, params.h); + + flash_bwd_dot_do_o_kernel<<>>(params); + C10_CUDA_KERNEL_LAUNCH_CHECK(); + + // We also use is_even_M to set Unpadded in the BlockInfo constructor, so we need to check + // for cu_seqlens_q as well. + const bool is_even_M = params.cu_seqlens_q == nullptr && params.cu_seqlens_k == nullptr && params.seqlen_q % Kernel_traits::kBlockM == 0; + const bool is_even_K = params.d == Kernel_traits::kHeadDim; + constexpr int smem_size_dq_dk_dv = Kernel_traits::kSmemSize1colblock; + // printf("smem_size_dq_dk_dv = %d\n", smem_size_dq_dk_dv); + BOOL_SWITCH(params.is_causal, IsCausalConst, [&] { + BOOL_SWITCH(is_even_M, IsEvenMConst, [&] { + BOOL_SWITCH(is_even_K, IsEvenKConst, [&] { + auto kernel = &flash_bwd_dq_dk_dv_loop_seqk_parallel_kernel; + // auto kernel = &flash_bwd_dq_dk_dv_loop_seqk_parallel_kernel; + if (smem_size_dq_dk_dv >= 48 * 1024) { + C10_CUDA_CHECK(cudaFuncSetAttribute( + kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size_dq_dk_dv)); + } + kernel<<>>(params); + C10_CUDA_KERNEL_LAUNCH_CHECK(); + }); + }); + }); + + auto kernel_dq = &flash_bwd_convert_dq_kernel; + if (Kernel_traits::kSmemdQSize >= 48 * 1024) { + C10_CUDA_CHECK(cudaFuncSetAttribute( + kernel_dq, cudaFuncAttributeMaxDynamicSharedMemorySize, Kernel_traits::kSmemdQSize)); + } + kernel_dq<<>>(params); + C10_CUDA_KERNEL_LAUNCH_CHECK(); +} + +template +void run_flash_bwd_seqq_parallel(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + const int num_n_block = (params.seqlen_k + Kernel_traits::kBlockN - 1) / Kernel_traits::kBlockN; + dim3 grid_n(num_n_block, params.b, params.h_k); + flash_bwd_clear_dkvaccum_kernel<<>>(params); + C10_CUDA_KERNEL_LAUNCH_CHECK(); + + const int num_m_block = (params.seqlen_q + Kernel_traits::kBlockM - 1) / Kernel_traits::kBlockM; + dim3 grid_m(num_m_block, params.b, params.h); + // We also use is_even_N to set Unpadded in the BlockInfo constructor, so we need to check + // for cu_seqlens_k as well. + const bool is_even_N = params.cu_seqlens_q == nullptr && params.cu_seqlens_k == nullptr && params.seqlen_k % Kernel_traits::kBlockN == 0; + const bool is_even_K = params.d == Kernel_traits::kHeadDim; + constexpr int smem_size_dq_dk_dv = Kernel_traits::kSmemSize1rowblock; + // printf("smem_size_dq_dk_dv = %d\n", smem_size_dq_dk_dv); + BOOL_SWITCH(params.is_causal, IsCausalConst, [&] { + BOOL_SWITCH(is_even_N, IsEvenNConst, [&] { + BOOL_SWITCH(is_even_K, IsEvenKConst, [&] { + auto kernel = &flash_bwd_dq_dk_dv_loop_seqq_parallel_kernel; + // auto kernel = &flash_bwd_dq_dk_dv_loop_seqq_parallel_kernel; + if (smem_size_dq_dk_dv >= 48 * 1024) { + C10_CUDA_CHECK(cudaFuncSetAttribute( + kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size_dq_dk_dv)); + } + kernel<<>>(params); + C10_CUDA_KERNEL_LAUNCH_CHECK(); + }); + }); + }); + + auto kernel_dkv = &flash_bwd_convert_dkv_kernel; + if (Kernel_traits::kSmemKVSize >= 48 * 1024) { + C10_CUDA_CHECK(cudaFuncSetAttribute( + kernel_dkv, cudaFuncAttributeMaxDynamicSharedMemorySize, Kernel_traits::kSmemKVSize)); + } + kernel_dkv<<>>(params); + C10_CUDA_KERNEL_LAUNCH_CHECK(); +} +// + +template +void run_flash_bwd(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + if (configure) return; + // dim3 grid(params.b, params.h); + // const int num_m_block = (params.seqlen_q + Kernel_traits::kBlockM - 1) / Kernel_traits::kBlockM; + // dim3 grid_m(num_m_block, params.b, params.h); + + // if (params.h == params.h_k) { // No multi-query or grouped-query attention (MQA/GQA) + run_flash_bwd_seqk_parallel(params, stream, configure); + // } else { + // run_flash_bwd_seqq_parallel(params, stream, configure); + // } + + // // We also use is_even_M to set Unpadded in the BlockInfo constructor, so we need to check + // // for cu_seqlens_q as well. + // const bool is_even_M = params.cu_seqlens_q == nullptr && params.cu_seqlens_k == nullptr && params.seqlen_q % Kernel_traits::kBlockM == 0; + // const bool is_even_K = params.d == Kernel_traits::kHeadDim; + // constexpr int smem_size_dq_dk_dv = Kernel_traits::kSmemSize; + // BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + // BOOL_SWITCH(params.is_causal, IsCausalConst, [&] { + // BOOL_SWITCH(is_even_M, IsEvenMConst, [&] { + // BOOL_SWITCH(is_even_K, IsEvenKConst, [&] { + // // auto kernel = &flash_bwd_dq_dk_dv_loop_kernel; + // auto kernel = &flash_bwd_dq_dk_dv_loop_seqk_parallel_kernel; + // if (smem_size_dq_dk_dv >= 48 * 1024) { + // C10_CUDA_CHECK(cudaFuncSetAttribute( + // kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size_dq_dk_dv)); + // } + // kernel<<>>(params); + // C10_CUDA_KERNEL_LAUNCH_CHECK(); + // }); + // }); + // }); + // }); + + // auto kernel_dq = &flash_bwd_convert_dq_kernel; + // if (Kernel_traits::kSmemdQSize >= 48 * 1024) { + // C10_CUDA_CHECK(cudaFuncSetAttribute( + // kernel_dq, cudaFuncAttributeMaxDynamicSharedMemorySize, Kernel_traits::kSmemdQSize)); + // } + // kernel_dq<<>>(params); + // C10_CUDA_KERNEL_LAUNCH_CHECK(); +} +// + +template +void run_mha_bwd_hdim32(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + constexpr int Headdim = 32; + int device; + cudaGetDevice(&device); + int max_smem_per_block; + cudaError status_ = cudaDeviceGetAttribute( + &max_smem_per_block, cudaDevAttrMaxSharedMemoryPerBlockOptin, device); + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + if (max_smem_per_block >= 2 * ((3 * 128 + 2 * 128) * Headdim + 2 * 128 * 128)) { // 104 KB + if constexpr(!Is_dropout) { // We can afford more registers to keep V in registers + run_flash_bwd, Is_dropout>(params, stream, configure); + } else { + run_flash_bwd, Is_dropout>(params, stream, configure); + } + } else { // 96 KB + run_flash_bwd, Is_dropout>(params, stream, configure); + } + }); +} + +template +void run_mha_bwd_hdim64(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + constexpr int Headdim = 64; + int device; + cudaGetDevice(&device); + int max_smem_per_block; + cudaError status_ = cudaDeviceGetAttribute( + &max_smem_per_block, cudaDevAttrMaxSharedMemoryPerBlockOptin, device); + // printf("max_smem_per_block = %d\n", max_smem_per_block); + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + // Changing AtomLayoutMdQ from 2 to 4 takes the same time + // run_flash_bwd>(params, stream, configure); + // run_flash_bwd>(params, stream, configure); + // run_flash_bwd>(params, stream, configure); + // run_flash_bwd, Is_dropout>(params, stream, configure); + // This is slightly faster. We want to split M more so we need fewer registers to store LSE. + if (max_smem_per_block >= 144 * 1024) { + run_flash_bwd, Is_dropout>(params, stream, configure); + // This has a lot of register spilling + // run_flash_bwd, Is_dropout>(params, stream, configure); + } else { + // if (params.h == params.h_k) { + // run_flash_bwd, Is_dropout>(params, stream, configure); + run_flash_bwd, Is_dropout>(params, stream, configure); + // run_flash_bwd, Is_dropout>(params, stream, configure); + // run_flash_bwd, Is_dropout>(params, stream, configure); + // } else { + // run_flash_bwd_seqq_parallel, Is_dropout>(params, stream, configure); + // } + } + }); + // run_flash_bwd>(params, stream, configure); + // run_flash_bwd>(params, stream, configure); + // run_flash_bwd>(params, stream, configure); + // run_flash_bwd>(params, stream, configure); + // M=128, N=64 is quite slow, I think because we need to read/write dQaccum twice as many times + // run_flash_bwd>(params, stream, configure); + // run_flash_bwd>(params, stream, configure); + // run_flash_bwd>(params, stream, configure); + + // run_flash_bwd>(params, stream, configure); +} + +template +void run_mha_bwd_hdim96(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + constexpr int Headdim = 96; + int device; + cudaGetDevice(&device); + int max_smem_per_block; + cudaError status_ = cudaDeviceGetAttribute( + &max_smem_per_block, cudaDevAttrMaxSharedMemoryPerBlockOptin, device); + // printf("max_smem_per_block = %d\n", max_smem_per_block); + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + // if (params.h == params.h_k) { + if (max_smem_per_block >= 116 * 1024) { + if constexpr(!Is_dropout) { // 92KB + run_flash_bwd, Is_dropout>(params, stream, configure); + } else { // 116 KB + // This is faster for dropout since we don't have many registers to spare + run_flash_bwd, Is_dropout>(params, stream, configure); + } + } else { + run_flash_bwd, Is_dropout>(params, stream, configure); + } + // } else { + // run_flash_bwd_seqq_parallel>(params, stream, configure); + // } + }); +} + +template +void run_mha_bwd_hdim128(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + constexpr int Headdim = 128; + int device; + cudaGetDevice(&device); + int max_smem_per_block; + cudaError status_ = cudaDeviceGetAttribute( + &max_smem_per_block, cudaDevAttrMaxSharedMemoryPerBlockOptin, device); + // printf("max_smem_per_block = %d\n", max_smem_per_block); + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + // if (params.h == params.h_k) { + // run_flash_bwd>(params, stream, configure); + // This is faster, in the case of sequence-parallel bwd (where we need fewer registers). + // Out of these three, the 2nd one is slightly faster (2% faster than the first). Idk why. + // run_flash_bwd>(params, stream, configure); + if (max_smem_per_block >= 144 * 1024) { + run_flash_bwd, Is_dropout>(params, stream, configure); + // run_flash_bwd_seqk_parallel, Is_dropout>(params, stream, configure); + // run_flash_bwd_seqk_parallel, Is_dropout>(params, stream, configure); + // run_flash_bwd_seqq_parallel, Is_dropout>(params, stream, configure); + // run_flash_bwd, Is_dropout>(params, stream, configure); + // run_flash_bwd, Is_dropout>(params, stream, configure); + // run_flash_bwd, Is_dropout>(params, stream, configure); + } else { + // run_flash_bwd, Is_dropout>(params, stream, configure); + run_flash_bwd, Is_dropout>(params, stream, configure); + } + // run_flash_bwd>(params, stream, configure); + + // run_flash_bwd>(params, stream, configure); + // } else { + // run_flash_bwd_seqq_parallel>(params, stream, configure); + // } + }); +} + +template +void run_mha_bwd_hdim160(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + constexpr int Headdim = 160; + int device; + cudaGetDevice(&device); + int max_smem_per_block; + cudaError status_ = cudaDeviceGetAttribute( + &max_smem_per_block, cudaDevAttrMaxSharedMemoryPerBlockOptin, device); + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + if (max_smem_per_block >= 116 * 1024) { + run_flash_bwd, Is_dropout>(params, stream, configure); + } else { + run_flash_bwd, Is_dropout>(params, stream, configure); + } + }); +} + +template +void run_mha_bwd_hdim192(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + constexpr int Headdim = 192; + int device; + cudaGetDevice(&device); + int max_smem_per_block; + cudaError status_ = cudaDeviceGetAttribute( + &max_smem_per_block, cudaDevAttrMaxSharedMemoryPerBlockOptin, device); + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + if (max_smem_per_block >= 136 * 1024) { + run_flash_bwd, Is_dropout>(params, stream, configure); + } else { + run_flash_bwd, Is_dropout>(params, stream, configure); + } + }); +} + +template +void run_mha_bwd_hdim224(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + constexpr int Headdim = 224; + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + run_flash_bwd, Is_dropout>(params, stream, configure); + }); +} + +template +void run_mha_bwd_hdim256(Flash_bwd_params ¶ms, cudaStream_t stream, const bool configure) { + constexpr int Headdim = 256; + int device; + cudaGetDevice(&device); + int max_smem_per_block; + cudaError status_ = cudaDeviceGetAttribute( + &max_smem_per_block, cudaDevAttrMaxSharedMemoryPerBlockOptin, device); + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + if (max_smem_per_block >= 176 * 1024) { // H100 + run_flash_bwd, Is_dropout>(params, stream, configure); + } else { // A100, we don't do double buffering to save smem + run_flash_bwd, Is_dropout>(params, stream, configure); + } + }); +} diff --git a/csrc/flash_attn/src/flash_fwd_hdim128_bf16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim128_bf16_sm80.cu new file mode 100644 index 000000000..654400a74 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim128_bf16_sm80.cu @@ -0,0 +1,19 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +// template<> +// void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { +// using elem_type = cutlass::bfloat16_t; +// if (params.p_dropout == 1.f) { +// run_flash_fwd, false>(params, stream); +// } else { +// run_flash_fwd, true>(params, stream); +// } +// } +template<> +void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim128(params, stream); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_fwd_hdim128_fp16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim128_fp16_sm80.cu new file mode 100644 index 000000000..5b7254a91 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim128_fp16_sm80.cu @@ -0,0 +1,32 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +// template<> +// void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { +// using elem_type = cutlass::half_t; +// if (params.p_dropout == 1.f) { +// // Using 8 warps (128 x 128 and 256 x 64) is 28% slower for seqlen=2k +// run_flash_fwd, false>(params, stream); +// // run_flash_fwd, false>(params, stream); +// // run_flash_fwd, false>(params, stream); +// // run_flash_fwd, false>(params, stream); +// run_flash_fwd, false>(params, stream); +// run_flash_fwd, false>(params, stream); +// run_flash_fwd, false>(params, stream); +// // 1st ones are good for H100, A100 +// // 2nd one is good for A6000 bc we get slightly better occupancy +// } else { +// run_flash_fwd, true>(params, stream); +// run_flash_fwd, true>(params, stream); +// run_flash_fwd, true>(params, stream); +// // 1st one is good for H100, A100, A6000 +// } +// } + +template<> +void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim128(params, stream); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_fwd_hdim160_bf16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim160_bf16_sm80.cu new file mode 100644 index 000000000..6a9d60c39 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim160_bf16_sm80.cu @@ -0,0 +1,17 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +// template<> +// void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { +// using elem_type = cutlass::bfloat16_t; +// BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { +// run_flash_fwd, Is_dropout>(params, stream); +// }); +// } +template<> +void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim160(params, stream); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_fwd_hdim160_fp16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim160_fp16_sm80.cu new file mode 100644 index 000000000..6c40a164d --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim160_fp16_sm80.cu @@ -0,0 +1,27 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +// template<> +// void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { +// using elem_type = cutlass::half_t; +// BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { +// run_flash_fwd, Is_dropout>(params, stream); +// run_flash_fwd, Is_dropout>(params, stream); +// run_flash_fwd, Is_dropout>(params, stream); +// run_flash_fwd, Is_dropout>(params, stream); +// // run_flash_fwd>(params, stream); +// // run_flash_fwd>(params, stream); +// // run_flash_fwd>(params, stream); +// // run_flash_fwd>(params, stream); +// // run_flash_fwd>(params, stream); +// // For A6000, no-causal, 1st is fastest. causal, 4th is fastest. +// // For A100, H100, 1st is fastest. +// }); +// } +template<> +void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim160(params, stream); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_fwd_hdim192_bf16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim192_bf16_sm80.cu new file mode 100644 index 000000000..d2f4cba71 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim192_bf16_sm80.cu @@ -0,0 +1,16 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +// template<> +// void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { +// using elem_type = cutlass::bfloat16_t; +// BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { +// run_flash_fwd, Is_dropout>(params, stream); +// }); +// } +template<> void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim192(params, stream); +} diff --git a/csrc/flash_attn/src/flash_fwd_hdim192_fp16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim192_fp16_sm80.cu new file mode 100644 index 000000000..2875c9266 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim192_fp16_sm80.cu @@ -0,0 +1,27 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +// template<> +// void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { +// using elem_type = cutlass::half_t; +// BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { +// run_flash_fwd, Is_dropout>(params, stream); +// run_flash_fwd, Is_dropout>(params, stream); +// run_flash_fwd, Is_dropout>(params, stream); +// // This one is slightly faster for causal? +// // run_flash_fwd>(params, stream); +// // run_flash_fwd>(params, stream); +// // run_flash_fwd>(params, stream); +// // run_flash_fwd>(params, stream); +// // run_flash_fwd>(params, stream); +// }); +// // For A100 H100, 1st is faster with dropout, 3rd is faster without dropout +// // For A6000, 1st is faster when causal, 3rd is faster when not causal +// } +template<> +void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim192(params, stream); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_fwd_hdim224_bf16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim224_bf16_sm80.cu new file mode 100644 index 000000000..982fe7ead --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim224_bf16_sm80.cu @@ -0,0 +1,9 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +template<> void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim224(params, stream); +} diff --git a/csrc/flash_attn/src/flash_fwd_hdim224_fp16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim224_fp16_sm80.cu new file mode 100644 index 000000000..4c083f7b6 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim224_fp16_sm80.cu @@ -0,0 +1,9 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +template<> void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim224(params, stream); +} diff --git a/csrc/flash_attn/src/flash_fwd_hdim256_bf16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim256_bf16_sm80.cu new file mode 100644 index 000000000..cb074a95e --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim256_bf16_sm80.cu @@ -0,0 +1,9 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +template<> void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim256(params, stream); +} diff --git a/csrc/flash_attn/src/flash_fwd_hdim256_fp16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim256_fp16_sm80.cu new file mode 100644 index 000000000..ddf5e1322 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim256_fp16_sm80.cu @@ -0,0 +1,9 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +template<> void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim256(params, stream); +} diff --git a/csrc/flash_attn/src/flash_fwd_hdim32_bf16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim32_bf16_sm80.cu new file mode 100644 index 000000000..81e359e16 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim32_bf16_sm80.cu @@ -0,0 +1,10 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +template<> +void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim32(params, stream); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_fwd_hdim32_fp16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim32_fp16_sm80.cu new file mode 100644 index 000000000..91e6331e9 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim32_fp16_sm80.cu @@ -0,0 +1,23 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +// template<> +// void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { +// using elem_type = cutlass::half_t; +// BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { +// run_flash_fwd, Is_dropout>(params, stream); +// // For dropout there might be a lot of register spilling? +// // These two are very slow due to register spilling +// // run_flash_fwd>(params, stream); +// // run_flash_fwd>(params, stream); +// // This one is slightly slower +// // run_flash_fwd>(params, stream); +// }); +// } +template<> +void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim32(params, stream); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_fwd_hdim64_bf16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim64_bf16_sm80.cu new file mode 100644 index 000000000..fffcbebb5 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim64_bf16_sm80.cu @@ -0,0 +1,19 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +// template<> +// void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { +// using elem_type = cutlass::bfloat16_t; +// if (params.p_dropout == 1.f) { +// run_flash_fwd, false>(params, stream); +// } else { +// run_flash_fwd, true>(params, stream); +// } +// } +template<> +void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim64(params, stream); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_fwd_hdim64_fp16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim64_fp16_sm80.cu new file mode 100644 index 000000000..01bd17167 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim64_fp16_sm80.cu @@ -0,0 +1,26 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +// template<> +// void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { +// using elem_type = cutlass::half_t; +// if (params.p_dropout == 1.f) { +// // Using 8 warps is 18% slower for seqlen=2k, 2 warps is 5% slower +// // Using block size (64 x 256) is 27% slower for seqlen=2k +// // Using block size (256 x 64) is 85% slower for seqlen=2k, because of register spilling +// run_flash_fwd, false>(params, stream); +// run_flash_fwd, false>(params, stream); +// run_flash_fwd, false>(params, stream); +// } else { +// run_flash_fwd, true>(params, stream); +// run_flash_fwd, true>(params, stream); +// run_flash_fwd, true>(params, stream); +// } +// } +template<> +void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim64(params, stream); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_fwd_hdim96_bf16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim96_bf16_sm80.cu new file mode 100644 index 000000000..b0b27db59 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim96_bf16_sm80.cu @@ -0,0 +1,17 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +// template<> +// void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { +// using elem_type = cutlass::bfloat16_t; +// BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { +// run_flash_fwd, Is_dropout>(params, stream); +// }); +// } +template<> +void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim96(params, stream); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_fwd_hdim96_fp16_sm80.cu b/csrc/flash_attn/src/flash_fwd_hdim96_fp16_sm80.cu new file mode 100644 index 000000000..820b63cbb --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_hdim96_fp16_sm80.cu @@ -0,0 +1,23 @@ +// Copyright (c) 2023, Tri Dao. + +// Splitting the different head dimensions to different files to speed up compilation. + +#include "flash_fwd_launch_template.h" + +// template<> +// void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { +// using elem_type = cutlass::half_t; +// BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { +// run_flash_fwd, Is_dropout>(params, stream); +// run_flash_fwd, Is_dropout>(params, stream); +// // This 3rd one is good for H100, and A100, A6000 +// run_flash_fwd, Is_dropout>(params, stream); +// run_flash_fwd, Is_dropout>(params, stream); +// // These two are always slower +// // run_flash_fwd>(params, stream); +// // run_flash_fwd>(params, stream); +// }); +// } +template<> void run_mha_fwd_(Flash_fwd_params ¶ms, cudaStream_t stream) { + run_mha_fwd_hdim96(params, stream); +} \ No newline at end of file diff --git a/csrc/flash_attn/src/flash_fwd_kernel.h b/csrc/flash_attn/src/flash_fwd_kernel.h new file mode 100644 index 000000000..2eba4ef12 --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_kernel.h @@ -0,0 +1,576 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include +#include +#include + +#include +#include +#include +#include + +#include "block_info.h" +#include "kernel_traits.h" +#include "utils.h" +#include "softmax.h" +#include "philox.cuh" + +namespace flash { + +using namespace cute; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +CUTE_HOST_DEVICE +auto +make_tiled_copy_A_warpcontiguousM(Copy_Atom const& copy_atom, + TiledMMA const& tiled_mma) { + using TileShape_MNK = typename TiledMMA::TiledShape_MNK; + using AtomShape_MNK = typename TiledMMA::AtomShape_MNK; + constexpr int AtomShape_M = decltype(size<0>(AtomShape_MNK{}))::value; + constexpr int kNWarps = decltype(size<0>(TileShape_MNK{}))::value / AtomShape_M; + constexpr int MMAStride_M = MMA_M * AtomShape_M; + auto t = make_tile(Layout, Int>, + Stride<_1, Int> >{}, + make_layout(size<2>(TileShape_MNK{}))); + // if (cute::thread0()) {printf("make_tiled_copy_A_warpcontiguousM "); print(t); printf("\n"); } + return make_tiled_copy_impl(copy_atom, tiled_mma.get_layoutA_TV(), t); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +CUTE_HOST_DEVICE +auto +make_tiled_copy_C_warpcontiguousM(Copy_Atom const& copy_atom, + TiledMMA const& tiled_mma) { + using TileShape_MNK = typename TiledMMA::TiledShape_MNK; + using AtomShape_MNK = typename TiledMMA::AtomShape_MNK; + constexpr int AtomShape_M = decltype(size<0>(AtomShape_MNK{}))::value; + constexpr int kNWarps = decltype(size<0>(TileShape_MNK{}))::value / AtomShape_M; + constexpr int MMAStride_M = MMA_M * AtomShape_M; + auto t = make_tile(Layout, Int>, + Stride<_1, Int> >{}, + // TODO: Shouldn't this be size<1>? + make_layout(size<2>(TileShape_MNK{}))); + // if (cute::thread0()) {printf("make_tiled_copy_C_warpcontiguousM "); print(t); printf("\n"); } + return make_tiled_copy_impl(copy_atom, tiled_mma.get_layoutC_TV(), t); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void softmax_rescale_o(Tensor0 &scores, Tensor1 &scores_max, Tensor1 &scores_sum, + Tensor2 &acc_o, float softmax_scale_log2) { + if (Is_first) { + flash::template reduce_max(scores, scores_max); + flash::scale_apply_exp2(scores, scores_max, softmax_scale_log2); + flash::reduce_sum(scores, scores_sum); + } else { + Tensor scores_max_prev = make_fragment_like(scores_max); + copy(scores_max, scores_max_prev); + flash::template reduce_max(scores, scores_max); + // Reshape acc_o from (MMA=4, MMA_M, MMA_K) to (nrow=(2, MMA_M), ncol=(2, MMA_K)) + Tensor acc_o_rowcol = make_tensor(acc_o.data(), flash::convert_layout_acc_rowcol(acc_o.layout())); + #pragma unroll + for (int mi = 0; mi < size(scores_max); ++mi) { + float scores_max_cur = !Check_inf + ? scores_max(mi) + : (scores_max(mi) == -INFINITY ? 0.0f : scores_max(mi)); + float scores_scale = exp2f((scores_max_prev(mi) - scores_max_cur) * softmax_scale_log2); + scores_sum(mi) *= scores_scale; + #pragma unroll + for (int ni = 0; ni < size<1>(acc_o_rowcol); ++ni) { acc_o_rowcol(mi, ni) *= scores_scale; } + } + flash::scale_apply_exp2(scores, scores_max, softmax_scale_log2); + Tensor scores_sum_cur = make_fragment_like(scores_sum); + flash::reduce_sum(scores, scores_sum_cur); + #pragma unroll + for (int mi = 0; mi < size(scores_sum); ++mi) { scores_sum(mi) += scores_sum_cur(mi); } + } +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void write_softmax_to_gmem( + Tensor const &tOrP, Tensor &tPgP, TiledCopy gmem_thr_copy_P +) { + // Reshape tOrP from (8, MMA_M, MMA_N) to (8, MMA_M * MMA_N) + Layout l = tOrP.layout(); + Tensor tPrP = make_tensor(tOrP.data(), make_layout(get<0>(l), make_layout(get<1>(l), get<2>(l)))); + CUTE_STATIC_ASSERT_V(size<2>(tPgP) == _1{}); + CUTE_STATIC_ASSERT_V(size<1>(tPrP) == size<1>(tPgP)); + #pragma unroll + for (int mi = 0; mi < size<1>(tPrP); ++mi) { + copy(gmem_thr_copy_P, tPrP(_, mi), tPgP(_, mi, 0)); + } +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void compute_attn_1rowblock(const Params ¶ms, const int bidb, const int bidh, const int m_block) { + + using Element = typename Kernel_traits::Element; + using ElementAccum = typename Kernel_traits::ElementAccum; + using index_t = typename Kernel_traits::index_t; + + // Shared memory. + extern __shared__ char smem_[]; + + // The thread index. + const int tidx = threadIdx.x; + + constexpr int kBlockM = Kernel_traits::kBlockM; + constexpr int kBlockN = Kernel_traits::kBlockN; + constexpr int kHeadDim = Kernel_traits::kHeadDim; + constexpr int kNWarps = Kernel_traits::kNWarps; + constexpr int MMA_M = kBlockM / decltype(size<0>(typename Kernel_traits::TiledMma::TiledShape_MNK{}))::value; + + const BlockInfo binfo(params, bidb); + if (m_block * kBlockM >= binfo.actual_seqlen_q || binfo.actual_seqlen_k == 0) return; + + int n_block_max = cute::ceil_div(binfo.actual_seqlen_k, kBlockN); + if (Is_causal) { + n_block_max = std::min(n_block_max, cute::ceil_div((m_block + 1) * kBlockM, kBlockN)); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z == 0) { + // printf("m_block = %d, n_block_max = %d\n", m_block, n_block_max); + // } + } + + // We iterate over the blocks in reverse order. This is because the last block is the only one + // that needs masking when we read K and V from global memory. Moreover, iterating in reverse + // might save us 1 register (we just need n_block instead of both n_block and n_block_max). + + const index_t row_offset_q = binfo.q_offset(params.q_batch_stride, params.q_row_stride, bidb) + + m_block * kBlockM * params.q_row_stride + bidh * params.q_head_stride; + // We move K and V to the last block. + const index_t row_offset_k = binfo.k_offset(params.k_batch_stride, params.k_row_stride, bidb) + + (n_block_max - 1) * kBlockN * params.k_row_stride + (bidh / params.h_h_k_ratio) * params.k_head_stride; + const index_t row_offset_v = binfo.k_offset(params.v_batch_stride, params.v_row_stride, bidb) + + (n_block_max - 1) * kBlockN * params.v_row_stride + (bidh / params.h_h_k_ratio) * params.v_head_stride; + const index_t row_offset_p = ((bidb * params.h + bidh) * params.seqlen_q_rounded + + m_block * kBlockM) * params.seqlen_k_rounded + (n_block_max - 1) * kBlockN; + + Tensor gQ = make_tensor(make_gmem_ptr(reinterpret_cast(params.q_ptr) + row_offset_q), + Shape, Int>{}, + make_stride(params.q_row_stride, _1{})); + Tensor gK = make_tensor(make_gmem_ptr(reinterpret_cast(params.k_ptr) + row_offset_k), + Shape, Int>{}, + make_stride(params.k_row_stride, _1{})); + Tensor gV = make_tensor(make_gmem_ptr(reinterpret_cast(params.v_ptr) + row_offset_v), + Shape, Int>{}, + make_stride(params.v_row_stride, _1{})); + Tensor gP = make_tensor(make_gmem_ptr(reinterpret_cast(params.p_ptr) + row_offset_p), + Shape, Int>{}, + make_stride(params.seqlen_k_rounded, _1{})); + + Tensor sQ = make_tensor(make_smem_ptr(reinterpret_cast(smem_)), + typename Kernel_traits::SmemLayoutQ{}); + // Careful we're using the same smem for sQ and sK | sV if Share_Q_K_smem; + Tensor sK = make_tensor(sQ.data() + (Kernel_traits::Share_Q_K_smem ? 0 : size(sQ)), + typename Kernel_traits::SmemLayoutKV{}); + Tensor sV = make_tensor(sK.data() + size(sK), typename Kernel_traits::SmemLayoutKV{}); + Tensor sVt = make_tensor(sV.data(), typename Kernel_traits::SmemLayoutVtransposed{}); + Tensor sVtNoSwizzle = make_tensor(sV.data(), typename Kernel_traits::SmemLayoutVtransposedNoSwizzle{}); + + auto gmem_thr_copy_QKV = typename Kernel_traits::GmemTiledCopyQKV{}.get_thread_slice(tidx); + auto gmem_thr_copy_P = typename Kernel_traits::GmemTiledCopyP{}.get_thread_slice(tidx); + + Tensor tQgQ = gmem_thr_copy_QKV.partition_S(gQ); + Tensor tQsQ = gmem_thr_copy_QKV.partition_D(sQ); + Tensor tKgK = gmem_thr_copy_QKV.partition_S(gK); // (KCPY, KCPY_N, KCPY_K) + Tensor tKsK = gmem_thr_copy_QKV.partition_D(sK); + Tensor tVgV = gmem_thr_copy_QKV.partition_S(gV); // (VCPY, VCPY_N, VCPY_K) + Tensor tVsV = gmem_thr_copy_QKV.partition_D(sV); + Tensor tPgP = gmem_thr_copy_P.partition_D(gP); + + typename Kernel_traits::TiledMma tiled_mma; + auto thr_mma = tiled_mma.get_thread_slice(tidx); + Tensor tSrQ = thr_mma.partition_fragment_A(sQ); // (MMA,MMA_M,MMA_K) + Tensor tSrK = thr_mma.partition_fragment_B(sK); // (MMA,MMA_N,MMA_K) + Tensor tOrVt = thr_mma.partition_fragment_B(sVtNoSwizzle); // (MMA, MMA_K,MMA_N) + + Tensor acc_o = partition_fragment_C(tiled_mma, Shape, Int>{}); // MMA, MMA_M, MMA_K + + // + // Copy Atom retiling + // + + auto smem_thr_copy_Q = make_tiled_copy_A(typename Kernel_traits::SmemCopyAtom{}, tiled_mma).get_thread_slice(tidx); + // auto smem_thr_copy_Q = make_tiled_copy_A_warpcontiguousM(typename Kernel_traits::SmemCopyAtom{}, tiled_mma).get_thread_slice(tidx); + // if (cute::thread0()) {smem_thr_copy_Q.print_all();} + Tensor tSsQ = smem_thr_copy_Q.partition_S(sQ); + // if (cute::thread0()) {print(tSsQ.layout()); printf("\n");} + + auto smem_thr_copy_K = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtom{}, tiled_mma).get_thread_slice(tidx); + Tensor tSsK = smem_thr_copy_K.partition_S(sK); + + auto smem_thr_copy_V = make_tiled_copy_B(typename Kernel_traits::SmemCopyAtomTransposed{}, tiled_mma).get_thread_slice(tidx); + Tensor tOsVt = smem_thr_copy_V.partition_S(sVt); + + // TODO: this might need to change if we change the mma instruction in SM70 + Tensor scores_max = make_tensor(Shape(acc_o)>>{}); + Tensor scores_sum = make_fragment_like(scores_max); + + // + // PREDICATES + // + + // // Allocate predicate tensors for m and n + // Tensor tQpQ = make_tensor(make_shape(size<1>(tQsQ), size<2>(tQsQ)), Stride<_1,_0>{}); + // Tensor tKVpKV = make_tensor(make_shape(size<1>(tKsK), size<2>(tKsK)), Stride<_1,_0>{}); + + // Construct identity layout for sQ and sK + Tensor cQ = make_identity_tensor(make_shape(size<0>(sQ), size<1>(sQ))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor cKV = make_identity_tensor(make_shape(size<0>(sK), size<1>(sK))); // (BLK_N,BLK_K) -> (blk_n,blk_k) + // Tensor tScQ = thr_mma.partition_A(cQ); // (MMA,MMA_M,MMA_K) + // if (cute::thread0()) { + // print(tScQ.layout()); printf("\n"); + // for (int i = 0; i < size(tScQ); ++i) { + // printf("%d ", get<0>(tScQ(i))); + // } + // printf("\n"); + // for (int i = 0; i < size(tScQ); ++i) { + // printf("%d ", get<1>(tScQ(i))); + // } + // printf("\n"); + // } + + // Repeat the partitioning with identity layouts + Tensor tQcQ = gmem_thr_copy_QKV.partition_S(cQ); // (ACPY,ACPY_M,ACPY_K) -> (blk_m,blk_k) + Tensor tKVcKV = gmem_thr_copy_QKV.partition_S(cKV); // (BCPY,BCPY_N,BCPY_K) -> (blk_n,blk_k) + + // Allocate predicate tensors for k + Tensor tQpQ = make_tensor(make_shape(size<2>(tQsQ))); + Tensor tKVpKV = make_tensor(make_shape(size<2>(tKsK))); + + // Set predicates for k bounds + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tQpQ); ++k) { tQpQ(k) = get<1>(tQcQ(0, 0, k)) < params.d; } + #pragma unroll + for (int k = 0; k < size(tKVpKV); ++k) { tKVpKV(k) = get<1>(tKVcKV(0, 0, k)) < params.d; } + } + + // Prologue + + Tensor tQrQ = make_fragment_like(tQgQ); + // We don't need to clear the sQ smem tiles since we'll only write out the valid outputs + flash::copy(gmem_thr_copy_QKV, tQgQ, tQsQ, tQcQ, tQpQ, + binfo.actual_seqlen_q - m_block * kBlockM); + if (Kernel_traits::Is_Q_in_regs) { cute::cp_async_fence(); } + + // // Copy rmem to smem + // // copy(tQrQ, tQsQ); + // flash::cp_async_wait<0>(); + // __syncthreads(); + // // if (cute::thread(1, 0)) { print(tQsQ); } + // // Tensor sQNoSwizzle = make_tensor(make_smem_ptr(reinterpret_cast(smem_)), typename Kernel_traits::SmemLayoutQNoSwizzle{}); + // // if (cute::thread0()) { print(sQNoSwizzle); } + + if (Kernel_traits::Share_Q_K_smem) { + flash::cp_async_wait<0>(); + __syncthreads(); + Tensor tSrQ_copy_view = smem_thr_copy_Q.retile_D(tSrQ); + CUTE_STATIC_ASSERT_V(size<1>(tSsQ) == size<1>(tSrQ_copy_view)); // M + copy(smem_thr_copy_Q, tSsQ, tSrQ_copy_view); + __syncthreads(); + } + + int n_block = n_block_max - 1; + // We don't need to clear the sK smem tiles since we'll mask out the scores anyway. + flash::copy(gmem_thr_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV, + binfo.actual_seqlen_k - n_block * kBlockN); + cute::cp_async_fence(); + // if (threadIdx.x == 0 && blockIdx.y == 0 && blockIdx.z < 2) { print(tKgK); } + // __syncthreads(); + + if (Kernel_traits::Is_Q_in_regs && !Kernel_traits::Share_Q_K_smem) { + flash::cp_async_wait<1>(); + __syncthreads(); + Tensor tSrQ_copy_view = smem_thr_copy_Q.retile_D(tSrQ); + CUTE_STATIC_ASSERT_V(size<1>(tSsQ) == size<1>(tSrQ_copy_view)); // M + copy(smem_thr_copy_Q, tSsQ, tSrQ_copy_view); + } + + auto seeds = at::cuda::philox::unpack(params.philox_args); + unsigned long long seed = std::get<0>(seeds); + unsigned long long offset = std::get<1>(seeds) + (bidb * params.h + bidh) * 32 + tidx % 32; + + clear(acc_o); + + // For performance reason, we separate out two kinds of iterations: + // those that need masking on S, and those that don't. + // We need masking on S for the very last block when K and V has length not multiple of kBlockN. + // We also need masking on S if it's causal, for the last ceil_div(kBlockM, kBlockN) blocks. + // We will have at least 1 "masking" iteration. + + constexpr int n_masking_steps = Is_causal ? cute::ceil_div(kBlockM, kBlockN) : 1; + #pragma unroll + for (int masking_step = 0; masking_step < n_masking_steps; ++masking_step, --n_block) { + Tensor acc_s = partition_fragment_C(tiled_mma, Shape, Int>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + + // Advance gV + if (masking_step > 0) { + tVgV.data() = tVgV.data() + (-int(kBlockN * params.v_row_stride)); + flash::copy(gmem_thr_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV); + } else { + // Clear the smem tiles to account for predicated off loads + flash::copy( + gmem_thr_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV, binfo.actual_seqlen_k - n_block * kBlockN + ); + } + cute::cp_async_fence(); + + flash::gemm( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_thr_copy_Q, smem_thr_copy_K + ); + // if (cute::thread0()) { print(acc_s); } + + // Reshape acc_s from (MMA=4, MMA_M, MMA_N) to (nrow=(2, MMA_M), ncol=(2, MMA_N)) + Tensor scores = make_tensor(acc_s.data(), flash::convert_layout_acc_rowcol(acc_s.layout())); + // if (cute::thread0()) { print(scores); } + // We don't put the masking before the matmul S = Q K^T because we don't clear sK + // for rows outside actual_seqlen_k. So those rows could have Inf / NaN, and the matmul + // can produce Inf / NaN. + if (!Is_causal) { + if (!Is_even_N) { flash::apply_mask(scores, binfo.actual_seqlen_k - n_block * kBlockN); } + } else { + // Tensor caccS = make_identity_tensor(Shape, Int>{}); // (BLK_M,BLK_N) -> (blk_m,blk_n) + // Tensor taccScS = thr_mma.partition_C(caccS); // (MMA,MMA_M,MMA_N) + // static_assert(decltype(size<0>(taccScS))::value == 4); + // // Convert to ((2, 2), MMA_M, MMA_N) then take only the row indices. + // Tensor idx_row = logical_divide(taccScS, Shape<_2>{})(make_coord(0, _), _, 0); + // Tensor idx_rowcol = make_tensor(taccScS.data(), flash::convert_layout_acc_rowcol(taccScS.layout())); + // flash::apply_mask_causal_w_idx(scores, idx_rowcol, n_block * kBlockN, binfo.actual_seqlen_k, + // m_block * kBlockM); + // Idk why it's get<1> and not get<0> of the stride. + // if (cute::thread0()) { print(idx_row.layout()); print(stride<1>(idx_row)); printf("stride = %d \n", get<1>(stride<1>(idx_row))); } + // I can't get the stride from idx_row + flash::apply_mask_causal(scores, n_block * kBlockN, binfo.actual_seqlen_k, + // m_block * kBlockM + get<0>(idx_row(0)), + m_block * kBlockM + (tidx / 32) * 16 + (tidx % 32) / 4, + kNWarps * 16); + // m_block * kBlockM + (tidx / 32) * 16, kNWarps * 16); + // m_block * kBlockM + (tidx / 32) * (kBlockM / kNWarps), 16); + } + + flash::cp_async_wait<0>(); + __syncthreads(); + if (n_block > 0) { + // Advance gK + tKgK.data() = tKgK.data() + (-int(kBlockN * params.k_row_stride)); + flash::copy(gmem_thr_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + // TODO: when we have key_padding_mask we'll need to Check_inf + masking_step == 0 + ? softmax_rescale_o(scores, scores_max, scores_sum, acc_o, params.scale_softmax_log2) + : softmax_rescale_o(scores, scores_max, scores_sum, acc_o, params.scale_softmax_log2); + + // Convert scores from fp32 to fp16/bf16 + Tensor rP = flash::convert_type(scores); + // Reshape rP from (nrow=(2, MMA_M), ncol=(2, MMA_N)) to ((2, 2, 2), MMA_M, MMA_N / 2) + // if using m16n8k16 or ((2, 2, 1), MMA_M, MMA_N) if using m16n8k8. + Tensor tOrP = make_tensor(rP.data(), flash::convert_layout_rowcol_Aregs(rP.layout())); + uint32_t block_row_idx = m_block * (kBlockM / 16) + tidx / 32; + uint32_t block_col_idx = n_block * (kBlockN / 32); + if (Return_softmax) { + Tensor tOrP_copy = make_fragment_like(tOrP); + copy(tOrP, tOrP_copy); + flash::apply_dropout( + tOrP_copy, params.p_dropout_in_uint8_t, seed, offset, + block_row_idx, block_col_idx, kNWarps + ); + flash::write_softmax_to_gmem(tOrP_copy, tPgP, gmem_thr_copy_P); + tPgP.data() = tPgP.data() + (-kBlockN); + } + if (Is_dropout) { + flash::apply_dropout(tOrP, params.p_dropout_in_uint8_t, seed, offset, + block_row_idx, block_col_idx, kNWarps); + } + // if (cute::thread0()) { print(tOrP); } + + flash::gemm_A_in_regs(acc_o, tOrP, tOrVt, tOsVt, tiled_mma, smem_thr_copy_V); + // if (cute::thread0()) { print(scores); } + + // This check is at the end of the loop since we always have at least 1 iteration + if (n_masking_steps > 1 && n_block <= 0) { + --n_block; + break; + } + } + + // These are the iterations where we don't need masking on S + for (; n_block >= 0; --n_block) { + Tensor acc_s = partition_fragment_C(tiled_mma, Shape, Int>{}); // (MMA=4, MMA_M, MMA_N) + clear(acc_s); + flash::cp_async_wait<0>(); + __syncthreads(); + // Advance gV + tVgV.data() = tVgV.data() + (-int(kBlockN * params.v_row_stride)); + flash::copy(gmem_thr_copy_QKV, tVgV, tVsV, tKVcKV, tKVpKV); + cute::cp_async_fence(); + + flash::gemm( + acc_s, tSrQ, tSrK, tSsQ, tSsK, tiled_mma, smem_thr_copy_Q, smem_thr_copy_K + ); + + flash::cp_async_wait<0>(); + __syncthreads(); + if (n_block > 0) { + // Advance gK + tKgK.data() = tKgK.data() + (-int(kBlockN * params.k_row_stride)); + flash::copy(gmem_thr_copy_QKV, tKgK, tKsK, tKVcKV, tKVpKV); + // This cp_async_fence needs to be in the if block, otherwise the synchronization + // isn't right and we get race conditions. + cute::cp_async_fence(); + } + + // Reshape acc_s from (MMA=4, MMA_M, MMA_N) to (nrow=(2, MMA_M), ncol=(2, MMA_N)) + Tensor scores = make_tensor(acc_s.data(), flash::convert_layout_acc_rowcol(acc_s.layout())); + softmax_rescale_o(scores, scores_max, scores_sum, acc_o, params.scale_softmax_log2); + + Tensor rP = flash::convert_type(scores); + // Reshape rP from (nrow=(2, MMA_M), ncol=(2, MMA_N)) to ((2, 2, 2), MMA_M, MMA_N / 2) + // if using m16n8k16 or ((2, 2, 1), MMA_M, MMA_N) if using m16n8k8. + Tensor tOrP = make_tensor(rP.data(), flash::convert_layout_rowcol_Aregs(rP.layout())); + uint32_t block_row_idx = m_block * (kBlockM / 16) + tidx / 32; + uint32_t block_col_idx = n_block * (kBlockN / 32); + if (Return_softmax) { + Tensor tOrP_copy = make_fragment_like(tOrP); + copy(tOrP, tOrP_copy); + flash::apply_dropout( + tOrP_copy, params.p_dropout_in_uint8_t, seed, offset, + block_row_idx, block_col_idx, kNWarps + ); + flash::write_softmax_to_gmem(tOrP_copy, tPgP, gmem_thr_copy_P); + tPgP.data() = tPgP.data() + (-kBlockN); + } + if (Is_dropout) { + flash::apply_dropout(tOrP, params.p_dropout_in_uint8_t, seed, offset, + block_row_idx, block_col_idx, kNWarps); + } + + flash::gemm_A_in_regs(acc_o, tOrP, tOrVt, tOsVt, tiled_mma, smem_thr_copy_V); + } + + // Epilogue + + // Reshape acc_o from (MMA=4, MMA_M, MMA_K) to (nrow=(2, MMA_M), ncol=(2, MMA_K)) + Tensor acc_o_rowcol = make_tensor(acc_o.data(), flash::convert_layout_acc_rowcol(acc_o.layout())); + Tensor lse = make_fragment_like(scores_sum); + #pragma unroll + for (int mi = 0; mi < size<0>(acc_o_rowcol); ++mi) { + float sum = scores_sum(mi); + float inv_sum = (sum == 0.f || sum != sum) ? 1.f : 1.f / sum; + lse(mi) = (sum == 0.f || sum != sum) ? INFINITY : scores_max(mi) * params.scale_softmax + __logf(sum); + float scale = !Is_dropout ? inv_sum : inv_sum * params.rp_dropout; + #pragma unroll + for (int ni = 0; ni < size<1>(acc_o_rowcol); ++ni) { acc_o_rowcol(mi, ni) *= scale; } + } + + // if (cute::thread0()) { print(acc_o_rowcol); } + + // Convert acc_o from fp32 to fp16/bf16 + Tensor rO = flash::convert_type(acc_o); + Tensor sO = make_tensor(sQ.data(), typename Kernel_traits::SmemLayoutO{}); // (SMEM_M,SMEM_N) + // Partition sO to match the accumulator partitioning + auto smem_thr_copy_O = make_tiled_copy_C(typename Kernel_traits::SmemCopyAtomO{}, tiled_mma).get_thread_slice(tidx); + // auto smem_thr_copy_O = make_tiled_copy_C_warpcontiguousM(typename Kernel_traits::SmemCopyAtomO{}, tiled_mma).get_thread_slice(tidx); + Tensor taccOrO = smem_thr_copy_O.retile_S(rO); // ((Atom,AtomNum), MMA_M, MMA_N) + Tensor taccOsO = smem_thr_copy_O.partition_D(sO); // ((Atom,AtomNum),PIPE_M,PIPE_N) + + // sO has the same size as sQ, so we don't need to sync here. + if (Kernel_traits::Share_Q_K_smem) { __syncthreads(); } + + copy(smem_thr_copy_O, taccOrO, taccOsO); + + const index_t row_offset_o = binfo.q_offset(params.o_batch_stride, params.o_row_stride, bidb) + + m_block * kBlockM * params.o_row_stride + bidh * params.o_head_stride; + const index_t row_offset_lse = (bidb * params.h + bidh) * params.seqlen_q + m_block * kBlockM; + Tensor gO = make_tensor(make_gmem_ptr(reinterpret_cast(params.o_ptr) + row_offset_o), + Shape, Int>{}, + make_stride(params.o_row_stride, _1{})); + Tensor gLSE = make_tensor(make_gmem_ptr(reinterpret_cast(params.softmax_lse_ptr) + row_offset_lse), + Shape>{}, Stride<_1>{}); + + auto gmem_thr_copy_O = typename Kernel_traits::GmemTiledCopyO{}.get_thread_slice(tidx); + Tensor tOsO = gmem_thr_copy_O.partition_S(sO); // ((Atom,AtomNum),ATOM_M,ATOM_N) + Tensor tOgO = gmem_thr_copy_O.partition_D(gO); + + __syncthreads(); + + Tensor tOrO = make_tensor(shape(tOgO)); + copy(gmem_thr_copy_O, tOsO, tOrO); + + Tensor caccO = make_identity_tensor(Shape, Int>{}); // (BLK_M,BLK_K) -> (blk_m,blk_k) + Tensor taccOcO = thr_mma.partition_C(caccO); // (MMA,MMA_M,MMA_K) + static_assert(decltype(size<0>(taccOcO))::value == 4); + // Convert to ((2, 2), MMA_M, MMA_K) then take only the row indices. + Tensor taccOcO_row = logical_divide(taccOcO, Shape<_2>{})(make_coord(0, _), _, 0); + CUTE_STATIC_ASSERT_V(size(lse) == size(taccOcO_row)); // MMA_M + if (get<1>(taccOcO_row(0)) == 0) { + #pragma unroll + for (int mi = 0; mi < size(lse); ++mi) { + const int row = get<0>(taccOcO_row(mi)); + if (row < binfo.actual_seqlen_q - m_block * kBlockM) { gLSE(row) = lse(mi); } + } + } + + // Construct identity layout for sO + Tensor cO = make_identity_tensor(make_shape(size<0>(sO), size<1>(sO))); // (BLK_M,BLK_K) -> (blk_m,blk_k) + // Repeat the partitioning with identity layouts + Tensor tOcO = gmem_thr_copy_O.partition_D(cO); // (ACPY,ACPY_M,ACPY_K) -> (blk_m,blk_k) + Tensor tOpO = make_tensor(make_shape(size<2>(tOgO))); + if (!Is_even_K) { + #pragma unroll + for (int k = 0; k < size(tOpO); ++k) { tOpO(k) = get<1>(tOcO(0, 0, k)) < params.d; } + } + // Clear_OOB_K must be false since we don't want to write zeros to gmem + flash::copy( + gmem_thr_copy_O, tOrO, tOgO, tOcO, tOpO, binfo.actual_seqlen_q - m_block * kBlockM + ); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void compute_attn(const Params ¶ms) { + const int m_block = blockIdx.x; + // The block index for the batch. + const int bidb = blockIdx.y; + // The block index for the head. + const int bidh = blockIdx.z; + + // We want the fwd and bwd to generate the same dropout pattern (RNG), without restricting + // them to have the same number of threads or have to traverse the attention matrix + // in the same order. + // In the Philox RNG, we use the offset to store the batch, head, and the lane id + // (within a warp). We use the subsequence to store the location of the 16 x 32 blocks within + // the attention matrix. This way, as long as we have the batch, head, and the location of + // the 16 x 32 block within the attention matrix, we can generate the exact same dropout pattern. + + flash::compute_attn_1rowblock(params, bidb, bidh, m_block); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +} // namespace flash diff --git a/csrc/flash_attn/src/flash_fwd_launch_template.h b/csrc/flash_attn/src/flash_fwd_launch_template.h new file mode 100644 index 000000000..f48186aeb --- /dev/null +++ b/csrc/flash_attn/src/flash_fwd_launch_template.h @@ -0,0 +1,251 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include + +#include "static_switch.h" +#include "flash.h" +#include "flash_fwd_kernel.h" + +template +__global__ void flash_fwd_kernel(Flash_fwd_params params) { + flash::compute_attn(params); +} + +template +void run_flash_fwd(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr size_t smem_size = Kernel_traits::kSmemSize; + // printf("smem_size = %d\n", smem_size); + + // Work-around for gcc 7. It doesn't like nested BOOL_SWITCH. + // https://github.com/kokkos/kokkos-kernels/issues/349 + // https://github.com/HazyResearch/flash-attention/issues/21 + + const int num_m_block = (params.seqlen_q + Kernel_traits::kBlockM - 1) / Kernel_traits::kBlockM; + dim3 grid(num_m_block, params.b, params.h); + // We also use is_even_N to set Unpadded in the BlockInfo constructor, so we need to check + // for cu_seqlens_q as well. + const bool is_even_N = params.cu_seqlens_q == nullptr && params.cu_seqlens_k == nullptr && params.seqlen_k % Kernel_traits::kBlockN == 0; + const bool is_even_K = params.d == Kernel_traits::kHeadDim; + const bool return_softmax = params.p_ptr != nullptr; + BOOL_SWITCH(is_even_N, IsEvenNConst, [&] { + BOOL_SWITCH(is_even_K, IsEvenKConst, [&] { + BOOL_SWITCH(return_softmax, ReturnSoftmaxConst, [&] { + // Will only return softmax if dropout, to reduce compilation time. + auto kernel = &flash_fwd_kernel; + // auto kernel = &flash_fwd_kernel; + if (smem_size >= 48 * 1024) { + C10_CUDA_CHECK(cudaFuncSetAttribute( + kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size)); + } + int ctas_per_sm; + cudaError status_ = cudaOccupancyMaxActiveBlocksPerMultiprocessor( + &ctas_per_sm, kernel, Kernel_traits::kNThreads, smem_size); + // printf("smem_size = %d, CTAs per SM = %d\n", int(smem_size), ctas_per_sm); + kernel<<>>(params); + C10_CUDA_KERNEL_LAUNCH_CHECK(); + }); + }); + }); +} + +template +void run_mha_fwd_hdim32(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr int Headdim = 32; + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + BOOL_SWITCH(params.is_causal, Is_causal, [&] { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + }); + }); +} + +template +void run_mha_fwd_hdim64(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr int Headdim = 64; + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + BOOL_SWITCH(params.is_causal, Is_causal, [&] { + if constexpr(!Is_dropout) { + // Using 8 warps is 18% slower for seqlen=2k, 2 warps is 5% slower + // Using block size (64 x 256) is 27% slower for seqlen=2k + // Using block size (256 x 64) is 85% slower for seqlen=2k, because of register spilling + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } + }); + }); +} + +template +void run_mha_fwd_hdim96(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr int Headdim = 96; + auto dprops = at::cuda::getCurrentDeviceProperties(); + bool is_sm8x = dprops->major == 8 && dprops->minor > 0; + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + BOOL_SWITCH(params.is_causal, Is_causal, [&] { + // For sm86 or sm89, 64 x 64 is the fastest for causal (because it's square), + if (is_sm8x) { + if constexpr(!Is_causal) { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } + } else { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // These two are always slower + // run_flash_fwd>(params, stream); + // run_flash_fwd>(params, stream); + }); + }); +} + +template +void run_mha_fwd_hdim128(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr int Headdim = 128; + auto dprops = at::cuda::getCurrentDeviceProperties(); + bool is_sm8x = dprops->major == 8 && dprops->minor > 0; + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + BOOL_SWITCH(params.is_causal, Is_causal, [&] { + if constexpr(!Is_dropout) { + // For sm86 or sm89, 64 x 64 is the fastest for causal (because it's square), + // and 128 x 32 (48 KB smem) is the fastest for non-causal since we get 2 CTAs per SM. + if (is_sm8x) { + if constexpr(!Is_causal) { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } + } else { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // Using 8 warps (128 x 128 and 256 x 64) is 28% slower for seqlen=2k + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // 1st ones are good for H100, A100 + // 2nd one is good for A6000 bc we get slightly better occupancy + } else { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } + }); + }); +} + +template +void run_mha_fwd_hdim160(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr int Headdim = 160; + auto dprops = at::cuda::getCurrentDeviceProperties(); + bool is_sm8x = dprops->major == 8 && dprops->minor > 0; + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + BOOL_SWITCH(params.is_causal, Is_causal, [&] { + // For A100, H100, 128 x 32 is the fastest. + // For sm86 or sm89, 64 x 64 is the fastest for causal (because it's square), + // and 128 x 64 with 8 warps is the fastest for non-causal. + if (is_sm8x) { + if constexpr(!Is_causal) { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } + } else { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd>(params, stream); + // run_flash_fwd>(params, stream); + // run_flash_fwd>(params, stream); + // run_flash_fwd>(params, stream); + // run_flash_fwd>(params, stream); + }); + }); +} + +template +void run_mha_fwd_hdim192(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr int Headdim = 192; + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + BOOL_SWITCH(params.is_causal, Is_causal, [&] { + if constexpr(!Is_dropout) { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd>(params, stream); + // run_flash_fwd>(params, stream); + // run_flash_fwd>(params, stream); + }); + }); +} + +template +void run_mha_fwd_hdim224(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr int Headdim = 224; + int device; + cudaGetDevice(&device); + int max_smem_per_block; + cudaError status_ = cudaDeviceGetAttribute( + &max_smem_per_block, cudaDevAttrMaxSharedMemoryPerBlockOptin, device); + // printf("max_smem_per_block = %d\n", max_smem_per_block); + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + BOOL_SWITCH(params.is_causal, Is_causal, [&] { + if (max_smem_per_block >= 2 * Headdim * (128 + 2 * 64)) { // 112 KB + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // We can't do 128 x 32 with 8 warps because with headdim 224, kBlockKSmem = 32. + // If we have N = 32, there are only 1024 elements to load at once, where each load + // is 8 elements. This means we can only use 128 threads and not 256 threads. + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + }); + }); +} + +template +void run_mha_fwd_hdim256(Flash_fwd_params ¶ms, cudaStream_t stream) { + constexpr int Headdim = 256; + int device; + cudaGetDevice(&device); + int max_smem_per_sm, max_smem_per_block; + cudaError status_ = cudaDeviceGetAttribute( + &max_smem_per_sm, cudaDevAttrMaxSharedMemoryPerMultiprocessor, device); + status_ = cudaDeviceGetAttribute( + &max_smem_per_block, cudaDevAttrMaxSharedMemoryPerBlockOptin, device); + // printf("max_smem_per_sm = %d, max_smem_per_block = %d\n", max_smem_per_sm, max_smem_per_block); + BOOL_SWITCH(params.p_dropout < 1.f, Is_dropout, [&] { + BOOL_SWITCH(params.is_causal, Is_causal, [&] { + // For A100, we want to run with 128 x 64 (128KB smem). + // For H100 we want to run with 64 x 64 (96KB smem) since then we can get 2 CTAs per SM. + if (max_smem_per_block >= 2 * Headdim * (128 + 2 * 64) && max_smem_per_sm < 4 * Headdim * (64 + 2 * 64)) { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } else { + run_flash_fwd, Is_dropout, Is_causal>(params, stream); + } + // 64 KB + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + // 96 KB + // run_flash_fwd, Is_dropout, Is_causal>(params, stream); + }); + }); +} diff --git a/csrc/flash_attn/src/fmha.h b/csrc/flash_attn/src/fmha.h deleted file mode 100644 index 2905e6dce..000000000 --- a/csrc/flash_attn/src/fmha.h +++ /dev/null @@ -1,211 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -#include -#include - -#ifdef OLD_GENERATOR_PATH -#include -#else -#include -#endif - -#include -#include - -#include - - -constexpr int TOTAL_DIM = 0; -constexpr int H_DIM = 1; -constexpr int D_DIM = 2; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -struct Qkv_params { - // The QKV matrices. - void *__restrict__ q_ptr; - void *__restrict__ k_ptr; - void *__restrict__ v_ptr; - - // The stride between rows of the Q, K and V matrices. - // size_t qkv_stride_in_elts; - // size_t qkv_stride_in_bytes; - // TD [2022-04-16]: We're using 32-bit indexing to save registers. - // The code probably won't work for arrays larger than 2GB. - uint32_t q_row_stride_in_elts; - uint32_t k_row_stride_in_elts; - uint32_t v_row_stride_in_elts; - uint32_t q_head_stride_in_elts; - uint32_t k_head_stride_in_elts; - uint32_t v_head_stride_in_elts; - - // The number of heads. - int h; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -struct FMHA_fprop_params : public Qkv_params { - - // The O matrix (output). - void * __restrict__ o_ptr; - - // The stride between rows of O. - // size_t o_stride_in_elts; - // size_t o_stride_in_bytes; - uint32_t o_row_stride_in_elts; - uint32_t o_head_stride_in_elts; - uint32_t o_tmp_row_stride_in_elts; - uint32_t o_tmp_head_stride_in_elts; - - // The pointer to the O_tmp matrix, which holds O intermediate value during - // the loop; - void *__restrict__ o_tmp_ptr; - - // The pointer to the S matrix. - void * __restrict__ s_ptr; - // The stride between rows of the S matrix. - // int64_t s_stride_in_bytes; - uint32_t s_stride_in_bytes; - - // The pointer to the softmax sum. - void * __restrict__ softmax_lse_ptr; - - // The dimensions. - int b, seqlen_q, seqlen_k, d; - - // The scaling factors for the kernel. - float scale_bmm1f; - uint32_t scale_bmm1; - - // array of length b+1 holding starting offset of each sequence. - int * __restrict__ cu_seqlens_q; - int * __restrict__ cu_seqlens_k; - - int *__restrict__ blockmask; - - // The dropout probability (probability of keeping an activation). - float p_dropout; - uint32_t p_dropout_in_uint; - uint16_t p_dropout_in_uint16_t; - - // Scale factor of 1 / (1 - p_dropout). - float rp_dropout; - float scale_bmm1_rp_dropout; - - // Scale factor of 1 / (1 - p_dropout), in half2. - uint32_t scale_dropout; - - // Random state. - at::PhiloxCudaState philox_args; - // Pointer to the RNG seed (idx 0) and offset (idx 1). - uint64_t * rng_state; - - bool is_bf16; - bool is_causal; - - int num_splits; // How many SMs per attention matrix. -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -struct FMHA_dgrad_params : public FMHA_fprop_params { - - // The dQKV matrices. - void *__restrict__ dq_ptr; - void *__restrict__ dk_ptr; - void *__restrict__ dv_ptr; - - // // To accumulate dK and dV in case we're splitting the bwd along seqlen_q dimension - // void *__restrict__ dk_accum_ptr; - // void *__restrict__ dv_accum_ptr; - - // The stride between rows of the dQ, dK and dV matrices. - // TD [2022-04-16]: We're using 32-bit indexing to save registers. - // The code probably won't work for arrays larger than 2GB. - uint32_t dq_row_stride_in_elts; - uint32_t dk_row_stride_in_elts; - uint32_t dv_row_stride_in_elts; - uint32_t dq_head_stride_in_elts; - uint32_t dk_head_stride_in_elts; - uint32_t dv_head_stride_in_elts; - - // The dO matrix. We assume it is contiguous. - void * __restrict__ do_ptr; - - // The pointer to the softmax d sum. - void * __restrict__ dsoftmax_sum; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct Launch_params{ - Launch_params(cudaDeviceProp * props_, - cudaStream_t stream_, - bool is_dropout_, - bool return_softmax_) - : elts_per_thread(0) - , props(props_) - , stream(stream_) - , is_dropout(is_dropout_) - , return_softmax(return_softmax_) { - } - - size_t elts_per_thread; - - cudaDeviceProp * props; - - cudaStream_t stream; - - bool is_dropout; - bool return_softmax; - - Kernel_params params; - int num_full_heads; - int num_main_groups; - int heads_last_wave; - int main_steps; - int rest_steps; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -void run_fmha_fwd_hdim32(Launch_params &launch_params); -void run_fmha_fwd_hdim64(Launch_params &launch_params); -void run_fmha_fwd_hdim128(Launch_params &launch_params); - -void run_fmha_bwd_hdim32(FMHA_dgrad_params ¶ms, cudaStream_t stream, const bool configure); -void run_fmha_bwd_hdim64(FMHA_dgrad_params ¶ms, cudaStream_t stream, const bool configure); -void run_fmha_bwd_hdim128(FMHA_dgrad_params ¶ms, cudaStream_t stream, const bool configure); - -void run_fmha_block_fp16_sm80(Launch_params &launch_params, const bool configure); - -void run_fmha_block_dgrad_fp16_sm80(const FMHA_dgrad_params ¶ms, cudaStream_t stream); diff --git a/csrc/flash_attn/src/fmha/gemm.h b/csrc/flash_attn/src/fmha/gemm.h deleted file mode 100644 index a142f0bf2..000000000 --- a/csrc/flash_attn/src/fmha/gemm.h +++ /dev/null @@ -1,451 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -#include - -#include "cutlass/cutlass.h" -#include "cutlass/gemm/warp/default_mma_tensor_op.h" -#include "cutlass/layout/layout.h" -#include -#include -#include - -namespace fmha { - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename Data_type_, int NUM_ELTS_, int BITS_PER_ELT_, int ALIGNMENT_ > -struct Fragment_base_ { - - // The data type. - using Data_type = Data_type_; - // default input type - using Input_type_ = Data_type_; - // Does it store the array of elements. - static constexpr bool HAS_ELTS = BITS_PER_ELT_ >= 8; - // The number of elements. - static constexpr int NUM_ELTS = NUM_ELTS_; - // The size of element in bits. - static constexpr int BITS_PER_ELT = BITS_PER_ELT_; - // The size of byte of a single register. - static constexpr int BYTES_PER_REG = 4; - // The size in bits. - static constexpr int BITS_PER_REG = BYTES_PER_REG * 8; - // The number of registers needed to store the fragment. - static constexpr int NUM_REGS = DivUpConstexpr(NUM_ELTS * BITS_PER_ELT, BITS_PER_REG); - // The size in bytes (as returned by sizeof(Fragment_base<>). - static constexpr int SIZE_IN_BYTES = NUM_REGS * BYTES_PER_REG; - // The alignment. - static constexpr int ALIGNMENT = ALIGNMENT_ > 0 ? ALIGNMENT_ : MinConstexpr(NUM_REGS * BYTES_PER_REG, 16); -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - // The type of the elements. - typename Data_type_, - // The number of elements. - int NUM_ELTS_, - // The alignment if you want to force a value -- use 0 otherwise. - int ALIGNMENT_ = 0, - // The base class. - typename Base_ = Fragment_base_ -> -struct alignas(static_cast(Base_::ALIGNMENT)) Fragment : public Base_ { - - // The size of a load/store. - static constexpr int BYTES_PER_LOAD_STORE = Base_::NUM_REGS * sizeof(uint32_t); - - // Clear the fragment. Using PTX in that code seems to produce better SASS... - inline __device__ void clear() { - #pragma unroll - for( int ii = 0; ii < Base_::NUM_REGS; ++ii ) { - asm volatile("mov.u32 %0, 0; \n" : "=r"(this->reg(ii)) : ); - } - } - - // Immutable access to a register. - inline __device__ const uint32_t& reg(int ii) const { - return this->regs_[ii]; - } - - // Mutable access to a register. - inline __device__ uint32_t& reg(int ii) { - return this->regs_[ii]; - } - - uint32_t regs_[Base_::NUM_REGS]; - - // Immutable access to the elements. - inline __device__ const Data_type_& elt(int ii) const { - return reinterpret_cast(&this->regs_[0])[ii]; - } - - // Mutable access to the elements. - inline __device__ Data_type_& elt(int ii) { - return reinterpret_cast(&this->regs_[0])[ii]; - } - - // Immutable access to the elements with a cast. - template< typename Cast_type > - inline __device__ const Cast_type& elt_as(int ii) const { - return reinterpret_cast(&this->regs_[0])[ii]; - } - - // Mutable access to the elements. - template< typename Cast_type > - inline __device__ Cast_type& elt_as(int ii) { - return reinterpret_cast(&this->regs_[0])[ii]; - } - - // Add another fragment. - inline __device__ void add(const Fragment &other) { - // TODO (TD 2022-04-09): Shouldn't this be NUM_REGS instead of NUM_ELTS? - // Also are we doing int addition or __half2 addition? - #pragma unroll - for( int ii = 0; ii < NUM_ELTS_; ++ii ) { - this->elt(ii) += other.elt(ii); - } - } - - // Multiply by another fragment. - inline __device__ void hmul(const Fragment &other) { - #pragma unroll - for( int ii = 0; ii < Base_::NUM_REGS; ++ii ) { - this->reg(ii) = fmha::hmul2(this->reg(ii), other.reg(ii)); - } - } - - template - inline __device__ void hrelu_() { - #pragma unroll - for( int ii = 0; ii < Base_::NUM_REGS; ++ii ) { - this->reg(ii) = fmha::hrelu2(this->reg(ii)); - } - } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename Layout > -struct Fragment_a : public Fragment { -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename Layout > -struct Fragment_b : public Fragment { -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -struct Fragment_accumulator : public Fragment { - - // The base class. - using Base = Fragment; - - // Add two fragments. - template< typename Other_fragment_ > - inline __device__ void add(const Other_fragment_ &other) { - for( int ii = 0; ii < Base::NUM_ELTS; ++ii ) { - this->elt(ii) = this->elt(ii) + other.elt(ii); - } - } - - inline __device__ void mul_(const float other) { - for( int ii = 0; ii < Base::NUM_ELTS; ++ii ) { - this->elt(ii) *= other; - } - } - - // Do the HMMA. - template< typename Layout_a, typename Layout_b > - inline __device__ void mma(const Fragment_a &a, - const Fragment_b &b) { - asm volatile( \ - "mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 \n" \ - " {%0, %1, %2, %3}, \n" \ - " {%4, %5, %6, %7}, \n" \ - " {%8, %9}, \n" \ - " {%0, %1, %2, %3}; \n" \ - : "+f"( elt(0)), "+f"( elt(1)), "+f"( elt(2)), "+f"( elt(3)) - : "r"(a.reg(0)), "r"(a.reg(1)), "r"(a.reg(2)), "r"(a.reg(3)) - , "r"(b.reg(0)), "r"(b.reg(1))); - asm volatile( \ - "mma.sync.aligned.m16n8k16.row.col.f32.f16.f16.f32 \n" \ - " {%0, %1, %2, %3}, \n" \ - " {%4, %5, %6, %7}, \n" \ - " {%8, %9}, \n" \ - " {%0, %1, %2, %3}; \n" \ - : "+f"( elt(4)), "+f"( elt(5)), "+f"( elt(6)), "+f"( elt(7)) - : "r"(a.reg(0)), "r"(a.reg(1)), "r"(a.reg(2)), "r"(a.reg(3)) - , "r"(b.reg(2)), "r"(b.reg(3))); - } - -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename Fragment, int M, int N > -inline __device__ void clear(Fragment (&frag)[M][N]) { - #pragma unroll - for( int mi = 0; mi < M; ++mi ) { - #pragma unroll - for( int ni = 0; ni < N; ++ni ) { - frag[mi][ni].clear(); - } - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename Accumulator_type, int WARPS_K > -struct Clear_accumulator { -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int WARPS_K > -struct Clear_accumulator { - template< typename Acc, int M, int N > - static inline __device__ void apply(Acc (&acc)[M][N], bool = false) { - fmha::clear(acc); - } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ void gemm(Acc (&acc)[M][N], const A (&a)[M], const B (&b)[N]) { - - #pragma unroll - for( int mi = 0; mi < M; ++mi ) { - #pragma unroll - for( int ni = 0; ni < N; ++ni ) { - acc[mi][ni].mma(a[mi], b[ni]); - } - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////// -/// Statically maps half types => cutlass data types -///////////////////////////////////////////////////////////////////////////////////////////////// -template -struct HalfTypeToCutlassType { using Type = Type_; }; - -/// Statically maps __half => cutlass::half_t -template <> struct HalfTypeToCutlassType<__half> { - using Type = cutlass::half_t; -}; - -#if defined(__CUDA_ARCH__) && (__CUDA_ARCH__ >= 800) -template <> struct HalfTypeToCutlassType<__nv_bfloat16> { - using Type = cutlass::bfloat16_t; -}; -#endif - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ void gemm_cl(Acc (&acc)[M][N], const A (&a)[M], const B (&b)[N]) { - using Shape = cutlass::gemm::GemmShape<16 * M, 16 * N, 16>; -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 - using InstructionShape = cutlass::gemm::GemmShape<16, 8, 16>; -#elif defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 750 - using InstructionShape = cutlass::gemm::GemmShape<16, 8, 8>; -#else - using InstructionShape = cutlass::gemm::GemmShape<8, 8, 4>; - // TD [2022-06-02] We don't support Volta (SM70) yet. - assert(0); -#endif - using Element = typename HalfTypeToCutlassType::Type; - using ElementC = float; - using LayoutA = cutlass::layout::RowMajor; - using LayoutB = cutlass::layout::ColumnMajor; - - using WarpMma = typename cutlass::gemm::warp::DefaultMmaTensorOp< - Shape, InstructionShape, Element, LayoutA, Element, LayoutB, ElementC, - cutlass::layout::RowMajor, cutlass::arch::OpMultiplyAdd, 1, true>::Type; - - constexpr int kIters = Shape::kK / InstructionShape::kK; - // using FragmentA = typename WarpMma::FragmentA; - // using FragmentB = typename WarpMma::FragmentB; - using FragmentA = typename WarpMma::ArchMmaOperator::FragmentA; - using FragmentB = typename WarpMma::ArchMmaOperator::FragmentB; - using FragmentC = typename WarpMma::FragmentC; - - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y) == 0) { - // printf("FragmentA::kStorageElements = %d\n", FragmentA::kStorageElements); - // printf("Archmma::FragmentA::kStorageElements = %d\n", WarpMma::ArchMmaOperator::FragmentA::kStorageElements); - // printf("FragmentB::kStorageElements = %d\n", FragmentB::kStorageElements); - // printf("Archmma::FragmentB::kStorageElements = %d\n", WarpMma::ArchMmaOperator::FragmentB::kStorageElements); - // printf("FragmentC::kStorageElements = %d\n", FragmentC::kStorageElements); - // printf("Archmma::FragmentC::kStorageElements = %d\n", WarpMma::ArchMmaOperator::FragmentC::kStorageElements); - // } - - // static_assert(FragmentA::kStorageElements == M * a[0].NUM_REGS); - // static_assert(FragmentB::kStorageElements == N * b[0].NUM_REGS); - static_assert(FragmentA::kStorageElements * kIters == a[0].NUM_REGS); - static_assert(FragmentB::kStorageElements * kIters * 16 / InstructionShape::kN == b[0].NUM_REGS); - static_assert(FragmentC::kStorageElements == M * N * acc[0][0].NUM_REGS); - // const FragmentA a_cl = reinterpret_cast(a); - // const FragmentB b_cl = reinterpret_cast(b); - FragmentC c_cl = reinterpret_cast(acc); - FragmentA a_cl[kIters][M]; - FragmentA b_cl[kIters][N]; - constexpr int kRegs = InstructionShape::kK == 16 ? 4 : 2; - #pragma unroll - for (int iter = 0; iter < kIters; iter++) { - #pragma unroll - for (int mi = 0; mi < M; mi++) { - uint32_t *a_ptr = a_cl[iter][mi].raw_data(); - #pragma unroll - for (int ki = 0; ki < kRegs; ki++) { - a_ptr[ki] = a[mi].regs_[iter * kRegs + ki]; - } - } - } - #pragma unroll - for (int iter = 0; iter < kIters; iter++) { - #pragma unroll - for (int ni = 0; ni < N; ni++) { - uint32_t *b_ptr = b_cl[iter][ni].raw_data(); - #pragma unroll - for (int ki = 0; ki < kRegs; ki++) { - // b_ptr[ki] = b[ni].regs_[iter * kRegs + ki]; - // TD [2022-06-02] For some reason the order for frag_b is different. - b_ptr[ki] = b[ni].regs_[InstructionShape::kK == 16 ? iter * kRegs + ki : ki * kRegs + iter]; - } - } - } - - WarpMma mma_op; - // mma_op(c_cl, a_cl, b_cl, c_cl); - #pragma unroll - for (int iter = 0; iter < kIters; iter++) { - mma_op(c_cl, reinterpret_cast(a_cl[iter]), - reinterpret_cast(b_cl[iter]), c_cl); - } - - // The modified c_cl is not copied back into acc, idk why - #pragma unroll - for (int mi = 0; mi < M; mi++) { - #pragma unroll - for (int ni = 0; ni < N; ni++) { - #pragma unroll - for (int i =0; i < 8; i++) { - acc[mi][ni].elt(i) = c_cl[mi * N * 8 + ni * 8 + i]; - } - } - } - -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - // The number of rows in the CTA tile. - int M_, - // The number of cols in the CTA tile. - int N_, - // The number of elements in the the K dimension of the GEMM loop. - int K_, - // The number of rows of warps. - int WARPS_M_, - // The number of cols of warps. - int WARPS_N_, - // The number of warps in the K dimension of the GEMM loop. - int WARPS_K_> -struct Cta_tile_ { - - static constexpr int M = M_, N = N_, K = K_; - // The number of warps. - static constexpr int WARPS_M = WARPS_M_, WARPS_N = WARPS_N_, WARPS_K = WARPS_K_; - // The number of warps per CTA. - static constexpr int WARPS_PER_CTA = WARPS_M * WARPS_N * WARPS_K; - // The number of threads per warp. - static constexpr int THREADS_PER_WARP = 32; - // The number of threads per CTA. - static constexpr int THREADS_PER_CTA = WARPS_PER_CTA * THREADS_PER_WARP; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct Hmma_tile { - // The number of elements computed with a single warp-MMA. - static constexpr int M_PER_MMA = 16, N_PER_MMA = 16, K_PER_MMA = 16; - - // The number of elements computed with a single CTA-MMA. - static constexpr int M_PER_MMA_PER_CTA = M_PER_MMA * Cta_tile::WARPS_M, - N_PER_MMA_PER_CTA = N_PER_MMA * Cta_tile::WARPS_N, - K_PER_MMA_PER_CTA = K_PER_MMA * Cta_tile::WARPS_K; - - // The number of MMAs needed to compute the GEMM. - static constexpr int MMAS_M = DivUpConstexpr(Cta_tile::M, M_PER_MMA_PER_CTA), - MMAS_N = DivUpConstexpr(Cta_tile::N, N_PER_MMA_PER_CTA), - MMAS_K = DivUpConstexpr(Cta_tile::K, K_PER_MMA_PER_CTA); - - // // The number of elements computed per warp. - // static constexpr int M_PER_WARP = MMAS_M * M_PER_MMA, - // N_PER_WARP = MMAS_N * N_PER_MMA, - // K_PER_WARP = MMAS_K * K_PER_MMA; - -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -using A_type = uint16_t; -using B_type = uint16_t; -using C_type = uint16_t; -using Accumulator_type = float; -using Epilogue_type = float; - -constexpr int BITS_PER_ELEMENT_A = sizeof(A_type) * 8; -constexpr int BITS_PER_ELEMENT_B = sizeof(B_type) * 8; -constexpr int BITS_PER_ELEMENT_C = sizeof(C_type) * 8; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -using Cta_tile_extd = Cta_tile_; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -using Cta_tile_with_k_with_padding = Cta_tile_extd::VALUE, - Cta_tile_::WARPS_M, - Cta_tile_::WARPS_N, - Cta_tile_::WARPS_K>; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -} // namespace fmha diff --git a/csrc/flash_attn/src/fmha/gmem_tile.h b/csrc/flash_attn/src/fmha/gmem_tile.h deleted file mode 100644 index e0bd24c3c..000000000 --- a/csrc/flash_attn/src/fmha/gmem_tile.h +++ /dev/null @@ -1,555 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -#include -#include - -#include - -namespace fmha { - -template< - // The dimensions of the tile computed by the CTA. - typename Cta_tile_, - // The number of bits per element. - int BITS_PER_ELEMENT, - // The number of rows of Q, K or V loaded by this tile. - int ROWS_, - // The number of columns. - int COLS, - int BYTES_PER_LDGS_ = 16 -> -struct Gmem_tile_qkv { - - using Cta_tile = Cta_tile_; - - static constexpr int BYTES_PER_ELEMENT = BITS_PER_ELEMENT / 8; - // The size of each LDG. - static constexpr int BYTES_PER_LDG = BYTES_PER_LDGS_; - // The size of a row in bytes. - static constexpr int BYTES_PER_ROW = COLS * BITS_PER_ELEMENT / 8; - - // The number of threads to load a "row" of the matrix. - static constexpr int THREADS_PER_ROW = BYTES_PER_ROW / BYTES_PER_LDG; - - static constexpr int ROWS = ROWS_; - // The number of "rows" loaded per LDG. - static constexpr int ROWS_PER_LDG = Cta_tile::THREADS_PER_CTA / THREADS_PER_ROW; - // The number of LDGs needed to load a chunk of the Q matrix. - static constexpr int LDGS = DivUpConstexpr(ROWS, ROWS_PER_LDG); - - // Ctor. - template< typename BInfo > - inline __device__ Gmem_tile_qkv(void *ptr_, const uint32_t row_stride_in_elts, - const uint32_t head_stride_in_elts, const int headdim, - const BInfo &binfo, const int tidx, bool use_seqlen_q) - : row_stride_in_bytes(row_stride_in_elts * BYTES_PER_ELEMENT) - , actual_seqlen(use_seqlen_q ? binfo.actual_seqlen_q : binfo.actual_seqlen_k) - , ptr(reinterpret_cast(ptr_)) - , tidx_(tidx) - , col_predicate((tidx % THREADS_PER_ROW) * (BYTES_PER_LDG / BYTES_PER_ELEMENT) < headdim) { - - // Compute the position in the sequence (within the CTA for the moment). - int row = tidx / THREADS_PER_ROW; - // Compute the position of the thread in the row. - int col = tidx % THREADS_PER_ROW; - - // Store the row as we need it to disable the loads. - // TD [2022-04-16]: To minimize registers, we'll recompute row_ instead of storing it - // row_ = row; - - // The row offset in the batched GEMM. For each seq element, we store QKV in that order. - // int64_t row_offset = (int64_t)row * params.qkv_stride_in_bytes; - uint32_t row_offset = (uint32_t)(((use_seqlen_q ? binfo.sum_s_q : binfo.sum_s_k) + row) * row_stride_in_bytes); - // Add the block index. - // row_offset += (int64_t)((binfo.sum_s * NUM_MATS + qkv_offset) * binfo.h + binfo.bidh) * BYTES_PER_ROW; - row_offset += (uint32_t)(binfo.bidh * head_stride_in_elts * BYTES_PER_ELEMENT); - - // Assemble the final pointer. - ptr += row_offset + col * BYTES_PER_LDG; - } - - // Store data to shared memory. - template< typename Smem_tile > - inline __device__ void commit(Smem_tile &smem_tile) { - smem_tile.store(fetch_); - } - - inline __device__ void load() { - int row_ = tidx_ / THREADS_PER_ROW; - const void *ptrs[LDGS]; - uint32_t preds[LDGS]; - #pragma unroll - for( int ii = 0; ii < LDGS; ++ii ) { - // ptrs[ii] = ptr + (int64_t)ii * ROWS_PER_LDG * row_stride_in_bytes; - ptrs[ii] = ptr + (uint32_t)ii * ROWS_PER_LDG * row_stride_in_bytes; - preds[ii] = col_predicate && ((row_ + ii * ROWS_PER_LDG) < min(ROWS, actual_seqlen)); - fetch_[ii] = make_uint4(0, 0, 0, 0); - } - - // not packing predicates removes restrictions (e.g. FP16 384, 4 warps) - Ldg_functor fct(fetch_, ptrs); - #pragma unroll - for( int ii = 0; ii < LDGS; ++ii ) { - fct.load(ii, preds[ii]); - } - } - - // Store data to memory. - inline __device__ void store(const uint4 (&data)[LDGS]) { - int row_ = tidx_ / THREADS_PER_ROW; - #pragma unroll - for( int ii = 0; ii < LDGS; ++ii ) { - // char *ptr_ = ptr + (int64_t)ii * ROWS_PER_LDG * row_stride_in_bytes; - char *ptr_ = ptr + (uint32_t)ii * ROWS_PER_LDG * row_stride_in_bytes; - if (col_predicate && (row_ + ii * ROWS_PER_LDG) < min(ROWS, actual_seqlen)) { - fmha::stg(ptr_, data[ii]); - } - } - } - - inline __device__ void move(const int steps = 1) { - // ptr += (int64_t)ROWS * row_stride_in_bytes * steps; - ptr += (uint32_t)ROWS * row_stride_in_bytes * steps; - actual_seqlen -= ROWS * steps; - } - - // The stride between rows for the QKV matrice. - // int64_t row_stride_in_bytes; - const uint32_t row_stride_in_bytes; - // The pointer. - char *ptr; - // The fetch registers. - uint4 fetch_[LDGS]; - // Keep track of the row the thread is processing as we move the tile. - // int row_; - const int tidx_; - // The length of the sequence loaded by that memory tile. - int actual_seqlen; - const bool col_predicate; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - typename Cta_tile, - int BYTES_PER_ELEMENT = 2 -> -struct Gmem_tile_o { - - static_assert(BYTES_PER_ELEMENT == 2 || BYTES_PER_ELEMENT == 4); - - // The mma tile. - using Mma_tile = fmha::Hmma_tile; - - // The size of each element. - // static constexpr int BYTES_PER_ELEMENT = 2; - // The size of each STG. - static constexpr int BYTES_PER_STG = BYTES_PER_ELEMENT * 4; - static constexpr int COLS = Cta_tile::N; - // The size of a row in bytes. - static constexpr int BYTES_PER_ROW = COLS * BYTES_PER_ELEMENT; - - // The number of threads to store a "row" of the matrix. - static constexpr int THREADS_PER_ROW = BYTES_PER_ROW / BYTES_PER_STG; - // The number of "rows" stored per iteration of the loop. The output of 1 MMA. - static constexpr int ROWS = Cta_tile::M; - // The number of "rows" stored per iteration of the loop. The output of 1 MMA. - static constexpr int ROWS_PER_LOOP = ROWS <= 64 ? ROWS : (int)Mma_tile::M_PER_MMA_PER_CTA; - // The number of outter loop for the stores. - static constexpr int LOOPS = ROWS / ROWS_PER_LOOP; - - // The number of "rows" stored per STG. - static constexpr int ROWS_PER_STG = Cta_tile::THREADS_PER_CTA / THREADS_PER_ROW; - // Do we have to guard against partial writes/reads. - static constexpr bool HAS_INCOMPLETE_STG = Cta_tile::M % ROWS_PER_STG != 0; - // The number of STGs needed to store a chunk of the Q matrix. - static constexpr int STGS_PER_LOOP = DivUpConstexpr(ROWS_PER_LOOP, ROWS_PER_STG); - // The number of STGs needed to store a chunk of the Q matrix in total. - static constexpr int STGS = STGS_PER_LOOP * LOOPS; - - // Ctor. - template - // inline __device__ Gmem_tile_o(void *ptr, const size_t row_stride_in_elts, const BInfo &binfo, const int tidx) - inline __device__ Gmem_tile_o(void *ptr, const uint32_t row_stride_in_elts, - const uint32_t head_stride_in_elts, const int headdim, - const BInfo &binfo, const int tidx) - : row_stride_in_bytes(row_stride_in_elts * BYTES_PER_ELEMENT) - , actual_seqlen_q(binfo.actual_seqlen_q) - , ptr_(reinterpret_cast(ptr)) - , tidx_(tidx) - , col_predicate((tidx % THREADS_PER_ROW) * (BYTES_PER_STG / BYTES_PER_ELEMENT) < headdim) { - - // Compute the position in the sequence (within the CTA for the moment). - int row = tidx / THREADS_PER_ROW; - // Compute the position of the thread in the row. - int col = tidx % THREADS_PER_ROW; - - // Store the row as we need it to disable loads. - // row_ = row; - - // The row offset in the batched GEMM. - // int64_t row_offset = (int64_t)row * row_stride_in_bytes + binfo.bidx * BYTES_PER_ROW; - uint32_t row_offset = (uint32_t)((binfo.sum_s_q + row) * row_stride_in_bytes); - row_offset += (uint32_t)(binfo.bidh * head_stride_in_elts * BYTES_PER_ELEMENT); - // Assemble the final pointer. - ptr_ += row_offset + col * BYTES_PER_STG; - - // Is that thread active on the last STG? - if( HAS_INCOMPLETE_STG ) { - is_active_for_last_stg_ = row + (STGS - 1) * ROWS_PER_STG < Cta_tile::M; - } - } - - // Store data to global memory. - template - inline __device__ void store(const uint4 (&src)[STGS_PER_LOOP], int mi) { - int row_ = tidx_ / THREADS_PER_ROW; - #pragma unroll - for( int ii = 0; ii < STGS_PER_LOOP; ++ii ) { - int jj = mi * STGS_PER_LOOP + ii; - if ((!col_predicate) || (row_ + jj * ROWS_PER_STG >= this->actual_seqlen_q)) { - break; - } - - if (BYTES_PER_ELEMENT == 4) { - if( !HAS_INCOMPLETE_STG || (jj < STGS - 1 || this->is_active_for_last_stg_) ) { - fmha::stg(this->ptr_ + jj * ROWS_PER_STG * this->row_stride_in_bytes, src[ii]); - } - } else if (BYTES_PER_ELEMENT == 2) { - float x = reinterpret_cast(src[ii].x); - float y = reinterpret_cast(src[ii].y); - float z = reinterpret_cast(src[ii].z); - float w = reinterpret_cast(src[ii].w); - uint2 out = fmha::float4_pack(x, y, z, w); - if( !HAS_INCOMPLETE_STG || (jj < STGS - 1 || this->is_active_for_last_stg_) ) { - fmha::stg(this->ptr_ + jj * ROWS_PER_STG * this->row_stride_in_bytes, out); - } - } - } - } - - // Store data to global memory with atomicAdd. - inline __device__ void atomic_add(const uint4 (&src)[STGS_PER_LOOP], int mi) { - static_assert(BYTES_PER_ELEMENT == 4); // Only do atomic add on floats - int row_ = tidx_ / THREADS_PER_ROW; - #pragma unroll - for( int ii = 0; ii < STGS_PER_LOOP; ++ii ) { - int jj = mi * STGS_PER_LOOP + ii; - if ((!col_predicate) || (row_ + jj * ROWS_PER_STG >= this->actual_seqlen_q)) { - break; - } - - if( !HAS_INCOMPLETE_STG || (jj < STGS - 1 || this->is_active_for_last_stg_) ) { - float *ptr_ = reinterpret_cast(this->ptr_ + jj * ROWS_PER_STG * this->row_stride_in_bytes); - #pragma unroll - for (int jj = 0; jj < 4; ++jj) { - atomicAdd(ptr_ + jj, reinterpret_cast(src[ii])[jj]); - } - } - } - } - - // Load data from global memory. - inline __device__ void load(uint4 (&dst)[STGS_PER_LOOP], int mi) { - static_assert(BYTES_PER_ELEMENT == 4); - int row_ = tidx_ / THREADS_PER_ROW; - #pragma unroll - for( int ii = 0; ii < STGS_PER_LOOP; ++ii ) { - int jj = mi * STGS_PER_LOOP + ii; - if ((!col_predicate) || (row_ + jj * ROWS_PER_STG >= this->actual_seqlen_q)) { - break; - } - - if( !HAS_INCOMPLETE_STG || (jj < STGS - 1 || this->is_active_for_last_stg_) ) { - fmha::ldg(dst[ii], this->ptr_ + jj * ROWS_PER_STG * this->row_stride_in_bytes); - } - } - } - - inline __device__ void move(const int steps = 1) { - // row_ += ROWS * steps; - // ptr_ += (int64_t)ROWS * row_stride_in_bytes * steps; - ptr_ += (uint32_t)ROWS * row_stride_in_bytes * steps; - actual_seqlen_q -= ROWS * steps; - } - - // The stride between rows for the QKV matrice. - // int64_t row_stride_in_bytes; - const uint32_t row_stride_in_bytes; - // The pointer. - char *ptr_; - // Is the thread active for the last STG? - int is_active_for_last_stg_; - // The length of the sequence loaded by that memory tile. - int actual_seqlen_q; - const int tidx_; - const bool col_predicate; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename Cta_tile, int BYTES_PER_ELEMENT > -struct Gmem_tile_mma_sd { - - // The mma tile. - using Mma_tile = fmha::Hmma_tile; - - // Each STG stores 8 elements. - static constexpr int BYTES_PER_STG = BYTES_PER_ELEMENT * 8; - // The number of MMAs in the M dimension. - static constexpr int MMAS_M = Mma_tile::MMAS_M; - // The number of MMAs in the N dimension. - static constexpr int MMAS_N = Mma_tile::MMAS_N; - // The number of rows computed per MMA per thread block. - static constexpr int M_PER_MMA_PER_CTA = Mma_tile::M_PER_MMA_PER_CTA; - // The number of cols computed per MMA per thread block. - static constexpr int N_PER_MMA_PER_CTA = Mma_tile::N_PER_MMA_PER_CTA; - // The number of threads per block. - static constexpr int THREADS_PER_CTA = Cta_tile::THREADS_PER_CTA; - // The size of each row in bytes. I.e. how many bytes are stored per STG. - static constexpr int BYTES_PER_ROW = THREADS_PER_CTA * BYTES_PER_STG; - // The distance between elements stored per loop (in bytes). - static constexpr int LOOP_STRIDE_BYTES = MMAS_M * MMAS_N * BYTES_PER_ROW; - - // The type of elements stored per STG. - using Type = typename fmha::Uint_from_size_in_bytes::Type; - - // Ctor. - template - inline __device__ Gmem_tile_mma_sd(void *ptr, const Params ¶ms, const int bidb, const int bidh, const int tidx) - : ptr_(static_cast(ptr)) { - - // The block index. - // size_t bidx = bidb * params.h + bidh; - uint32_t bidx = bidb * params.h + bidh; - - // The distance between two blocks (in bytes). - // const size_t block_stride_bytes = params.seqlen_q * params.seqlen_k * BYTES_PER_ELEMENT; - const uint32_t block_stride_bytes = params.seqlen_q * params.seqlen_k * BYTES_PER_ELEMENT; - // Set store location for each thread at the beginning of the loop - ptr_ += bidx * block_stride_bytes + tidx * BYTES_PER_STG; - } - - // Store to global memory. - inline __device__ void store(const Type &data, const int mi, const int ni) { - // size_t offset = (mi * MMAS_N + ni) * BYTES_PER_ROW; - uint32_t offset = (mi * MMAS_N + ni) * BYTES_PER_ROW; - fmha::stg(ptr_ + offset, data); - } - - // Load from global memory. - inline __device__ void load(Type &data, const int mi, const int ni) { - // size_t offset = (mi * MMAS_N + ni) * BYTES_PER_ROW; - uint32_t offset = (mi * MMAS_N + ni) * BYTES_PER_ROW; - fmha::ldg(data, ptr_ + offset); - } - - // Move to the next tile. - inline __device__ void move(const int steps = 1) { - ptr_ += LOOP_STRIDE_BYTES * steps; - } - - // The pointer in global memory. - char *ptr_; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename Cta_tile, typename Base = Gmem_tile_mma_sd > -struct Gmem_tile_mma_s : public Base { - - // The number of mmas in the vertical dimension. - static constexpr int M = Base::MMAS_M; - // The number of mmas in the horizontal dimension. - static constexpr int N = Base::MMAS_N; - // The type of the vectors stored by each STG. - using Type = typename Base::Type; - - // Ctor. - template< typename Params, typename Block_info > - inline __device__ Gmem_tile_mma_s(const Params ¶ms, const Block_info& binfo, const int tidx) - : Base(params.s_ptr, params, binfo.bidb, binfo.bidh, tidx) { - } - - // Store to global memory. - template - inline __device__ void store(const Fragment (&frag)[N][M], const Mask& mask){ - #pragma unroll - for( int mi = 0; mi < M; mi++ ) { - #pragma unroll - for( int ni = 0; ni < N; ni++ ) { - uint4 dst; - dst.x = frag[ni][mi].reg(0); - dst.y = frag[ni][mi].reg(2); - dst.z = frag[ni][mi].reg(1); - dst.w = frag[ni][mi].reg(3); - if( mask.any_valid(mi, ni) ) { - Base::store(dst, mi, ni); - } - } - } - } - - // Load from global memory. - template - inline __device__ void load(uint4 (®s)[M][N], const Mask &mask) { - #pragma unroll - for( int mi = 0; mi < M; mi++ ) { - #pragma unroll - for( int ni = 0; ni < N; ni++ ) { - regs[mi][ni] = make_uint4(0, 0, 0, 0); - if( mask.any_valid(mi, ni) ) { - Base::load(regs[mi][ni], mi, ni); - } - } - } - } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - // The dimensions of the tile computed by the CTA. - typename Cta_tile -> -struct Gmem_summary_stats { - - // The Mma tile. - using Mma_tile = fmha::Hmma_tile; - - // The number of MMAs in M/N dimensions. - static constexpr int MMAS_M = Mma_tile::MMAS_M; - - // The size of each element. - static constexpr int BYTES_PER_ELEMENT = 4; - static constexpr int BYTES_PER_MMA = (Cta_tile::THREADS_PER_WARP / 4) * 2 * BYTES_PER_ELEMENT; - static constexpr int ROWS = Cta_tile::M; - - // Ctor. - template - inline __device__ Gmem_summary_stats(void *ptr, const Params ¶ms, const int tidx) - : ptr_(reinterpret_cast(ptr)), tidx_(tidx) { - - // The block index for the batch. - const int bidb = blockIdx.x; - // The block index for the head. - const int bidh = blockIdx.y; - // The block index. - // size_t bidx = bidb * params.h + bidh; - uint32_t bidx = bidb * params.h + bidh; - - // Extract the position in the warp. - int warp = tidx / Cta_tile::THREADS_PER_WARP; - int lane = tidx % Cta_tile::THREADS_PER_WARP; - - // The distance between two blocks (in bytes). - // size_t block_stride_bytes = params.seqlen_q * BYTES_PER_ELEMENT; - uint32_t block_stride_bytes = params.seqlen_q * BYTES_PER_ELEMENT; - - // Set store location for each thread at the beginning of the loop - ptr_row_ = ptr_ + bidx * block_stride_bytes; - ptr_ += bidx * block_stride_bytes + (lane / 4) * BYTES_PER_ELEMENT; - } - - // Store data to global memory. - inline __device__ void store(const uint32_t (&data)[MMAS_M * 2]) { - int warp = tidx_ / Cta_tile::THREADS_PER_WARP; - int lane = tidx_ % Cta_tile::THREADS_PER_WARP; - if ((warp == 0) && (lane % 4 == 0)) { - #pragma unroll - for (int mi = 0; mi < MMAS_M; ++mi) { - // TODO: Not sure if it's right for MMAS_M > 1 - fmha::stg(ptr_ + mi * BYTES_PER_MMA + 0 * BYTES_PER_ELEMENT, data[mi * 2 + 0]); - fmha::stg(ptr_ + mi * BYTES_PER_MMA + 8 * BYTES_PER_ELEMENT, data[mi * 2 + 1]); - } - } - } - - // Store data to global memory. - inline __device__ void store_row(const uint32_t (&data)[MMAS_M], const int row) { - #pragma unroll - for (int mi = 0; mi < MMAS_M; ++mi) { - // TODO: Not sure if it's right for MMAS_M > 1 - fmha::stg(ptr_row_ + mi * BYTES_PER_MMA + row * BYTES_PER_ELEMENT, data[mi]); - } - } - - // Load from global memory. - inline __device__ void load(uint32_t (&data)[MMAS_M * 2]) { - #pragma unroll - for (int mi = 0; mi < MMAS_M; ++mi) { - // TODO: Not sure if it's right for MMAS_M > 1 - fmha::ldg(data[mi * 2 + 0], ptr_ + mi * BYTES_PER_MMA + 0 * BYTES_PER_ELEMENT); - fmha::ldg(data[mi * 2 + 1], ptr_ + mi * BYTES_PER_MMA + 8 * BYTES_PER_ELEMENT); - } - } - - // Load from global memory. - inline __device__ void load_next(uint32_t (&data)[MMAS_M * 2], int move_steps=1) { - char *ptr_next = ptr_ + move_steps * ROWS * BYTES_PER_ELEMENT; - #pragma unroll - for (int mi = 0; mi < MMAS_M; ++mi) { - // TODO: Not sure if it's right for MMAS_M > 1 - fmha::ldg(data[mi * 2 + 0], ptr_next + mi * BYTES_PER_MMA + 0 * BYTES_PER_ELEMENT); - fmha::ldg(data[mi * 2 + 1], ptr_next + mi * BYTES_PER_MMA + 8 * BYTES_PER_ELEMENT); - } - } - - // Store data to global memory. - template - inline __device__ void load_row(uint32_t (&data)[N], const int row[N]) { - #pragma unroll - for (int ni = 0; ni < N; ++ni) { - fmha::ldg(data[ni], ptr_row_ + row[ni] * BYTES_PER_ELEMENT); - } - } - - // Move the pointer to the next location. - inline __device__ void move() { - ptr_ += ROWS * BYTES_PER_ELEMENT; - ptr_row_ += ROWS * BYTES_PER_ELEMENT; - } - - // Move the pointer to the next location. - inline __device__ void move(const int steps) { - ptr_ += ROWS * BYTES_PER_ELEMENT * steps; - ptr_row_ += ROWS * BYTES_PER_ELEMENT * steps; - } - - // The pointer. - char *ptr_; - char *ptr_row_; - const int tidx_; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -} // namespace fmha - diff --git a/csrc/flash_attn/src/fmha/kernel_traits.h b/csrc/flash_attn/src/fmha/kernel_traits.h deleted file mode 100644 index 63f07aee8..000000000 --- a/csrc/flash_attn/src/fmha/kernel_traits.h +++ /dev/null @@ -1,116 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#include - -#pragma once - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct FMHA_kernel_traits { - - // The CTA description for the 1st GEMM. - using Cta_tile_p = fmha::Cta_tile_extd; - // The CTA description for the 2nd GEMM. - using Cta_tile_o = fmha::Cta_tile_extd; - - // Do we use one buffer for K and V. - static constexpr bool SHARE_SMEM_FOR_K_AND_V = (FLAGS & 0x08u) != 0u; - // Do we keep K in registers. - static constexpr bool K_IN_REGS = (FLAGS & 0x10u) == 0u; - // Do we keep V in registers. - static constexpr bool V_IN_REGS = (FLAGS & 0x100u) == 0u; - - // The global memory tile to load Q. - using Gmem_tile_q = fmha::Gmem_tile_qkv; - - // The shared memory tile to swizzle Q. - // using Smem_tile_q = fmha::Smem_tile_a; - using Smem_tile_q = fmha::Smem_tile_a; - - // The global memory tile to load K. - using Gmem_tile_k = fmha::Gmem_tile_qkv; - // The shared memory tile to swizzle K. - using Smem_tile_k = fmha::Smem_tile_b; - - // The global memory tile to load V. - using Gmem_tile_v = fmha::Gmem_tile_qkv; - // The shared memory tile to swizzle V. - using Smem_tile_v = fmha::Smem_tile_v; - - // The global memory tile to store O. - using Gmem_tile_o = fmha::Gmem_tile_o; - // The shared memory tile for O. - using Smem_tile_o = fmha::Smem_tile_o;; - - // The global memory tile to load/store S. - using Gmem_tile_s = fmha::Gmem_tile_mma_s; - - // The shared memory tile to transpose S. - using Smem_tile_st = fmha::Smem_tile_mma_transposed; - - using Gmem_tile_do = fmha::Gmem_tile_qkv; - - // // The global memory tile to store the accumulated dK and dV - // // Hack: we set BYTES_PER_LDGS=32 to emulate the access pattern of dK and dV - // // where there are 16 bits per lements and 16 bytes per load. In reality we won't - // // be issue any load or store of size 32 bytes. - // using Gmem_tile_dkv_accum = fmha::Gmem_tile_qkv; - - // The global memory tile to store the softmax sum. - using Gmem_softmax_sum = fmha::Gmem_summary_stats; - - // The shared memory tile to store dp sum. - using Smem_dp_sum = fmha::Smem_tile_dp_sum; - - using elem_type = elem_type_; - - // Make sure the number of threads match. - static_assert((int)Gmem_tile_o::THREADS_PER_ROW == (int)Smem_tile_o::THREADS_PER_ROW, ""); - - // The number of threads. - static constexpr int THREADS = Cta_tile_p::THREADS_PER_CTA; - // Make sure the number of threads matches both CTAs. - static_assert(THREADS == Cta_tile_o::THREADS_PER_CTA, ""); - - // The amount of shared memory needed to load Q and K. - static constexpr int BYTES_PER_SMEM_QK = Smem_tile_q::BYTES_PER_TILE + Smem_tile_k::BYTES_PER_TILE; - // The extra amount of shared memory needed to load V. - static constexpr int BYTES_PER_SMEM_V = SHARE_SMEM_FOR_K_AND_V ? 0u : Smem_tile_v::BYTES_PER_TILE; - // The amount of shared memory needed for Q, K and V.. - static constexpr int BYTES_PER_SMEM_QKV = BYTES_PER_SMEM_QK + BYTES_PER_SMEM_V; - // The amount of shared memory needed to load Q and store O. - static constexpr int BYTES_PER_SMEM_QO = Smem_tile_q::BYTES_PER_TILE + Smem_tile_o::BYTES_PER_TILE; - - // The amount of shared memory needed for Q, K, V and O. - static constexpr int BYTES_PER_SMEM = fmha::MaxConstexpr(BYTES_PER_SMEM_QKV, BYTES_PER_SMEM_QO); - // Make sure we have enough shared memory. - static_assert(Smem_tile_q::BYTES_PER_TILE + Smem_tile_o::BYTES_PER_TILE <= BYTES_PER_SMEM, ""); -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/csrc/flash_attn/src/fmha/mask.h b/csrc/flash_attn/src/fmha/mask.h deleted file mode 100644 index 6c8092983..000000000 --- a/csrc/flash_attn/src/fmha/mask.h +++ /dev/null @@ -1,90 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -namespace fmha { - - -template -struct Mask { - using Mma_tile = fmha::Hmma_tile; - - template - __device__ Mask(const BInfo &binfo, int tidx, const int loop_step_idx_ = 0) - : actual_seqlen_k(binfo.actual_seqlen_k - loop_step_idx_ * Cta_tile::N) - , loop_step_idx(loop_step_idx_) { - - const int warp = tidx / Cta_tile::THREADS_PER_WARP; - const int lane = tidx % Cta_tile::THREADS_PER_WARP; - - static_assert(Cta_tile::WARPS_K == 1, ""); - - // find the warp in the Cta tile - const int warp_n = (warp / Cta_tile::WARPS_M); - const int warp_m = (warp % Cta_tile::WARPS_M); - // decompose warp into 8x4 tile - const int quad = lane / 4; - const int tid = (lane % 4) * 2; - row = warp_m * 16 + quad; - col = warp_n * 16 + tid; - } - - inline __device__ bool is_valid(const int mi, const int ni, const int ii, const int jj) const { - - // ii and jj iterate over the 2x4 fragment - // const int current_col = (Is_causal ? loop_step_idx * Cta_tile::N : 0) + ni * Mma_tile::N_PER_MMA_PER_CTA + col + (jj & 2) * 4 + (jj & 1); - const int current_col = ni * Mma_tile::N_PER_MMA_PER_CTA + col + (jj & 2) * 4 + (jj & 1); - const int current_row = row_offset + ii * 8; - const bool col_valid = current_col < actual_seqlen_k; - // const bool col_valid = (ni * Mma_tile::N_PER_MMA_PER_CTA + col + (jj & 2) * 4 + (jj & 1)) < actual_seqlen_k; - //&& (row + mi * Mma_tile::M_PER_MMA_PER_CTA + ii * 8) < actual_seqlen_k; - // bool all_valid = Is_causal ? col_valid && (current_col + loop_step_idx * Cta_tile::N <= current_row) : col_valid; - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (blockIdx.z == 1)) { - // printf("current_col=%d, current_row=%d, actual_seqlen_k=%d, col_valid=%d, all_valid=%d\n", current_col, current_row, actual_seqlen_k, col_valid, all_valid); - // } - return Is_causal ? col_valid && (current_col + loop_step_idx * Cta_tile::N <= current_row) : col_valid; - // return row_valid && col_valid; - } - - //BERT Mask: if upper left is invalid, none are valid - inline __device__ bool any_valid(const int mi, const int ni) const { - return is_valid(mi, ni, 0, 0) || is_valid(mi, ni, 1, 0); - } - - inline __device__ void load(const int it) { - row_offset = it * Cta_tile::M + row; - } - int row_offset; - - int row; - int col; - const int loop_step_idx; - const int actual_seqlen_k; -}; - -} // namespace fmha diff --git a/csrc/flash_attn/src/fmha/smem_tile.h b/csrc/flash_attn/src/fmha/smem_tile.h deleted file mode 100644 index 491253bb9..000000000 --- a/csrc/flash_attn/src/fmha/smem_tile.h +++ /dev/null @@ -1,1703 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -#include "utils.h" -#include -#include - -namespace fmha { - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - // The description of the tile computed by this CTA. - typename Cta_tile, - // The number of rows in the 2D shared memory buffer. - int M_, - // The number of cols. - int N_, - // The size in bits of each element. - int BITS_PER_ELEMENT_, - // The number of bytes per STS. - int BYTES_PER_STS_ = 16, - // The number of buffers. (Used in multistage and double buffer cases.) - int BUFFERS_PER_TILE_ = 1, - // Do we enable the fast path for LDS.128 and friends. - int ENABLE_LDS_FAST_PATH_ = 0, - // The number of rows that are used for the XOR swizzling to allow fast STS/LDS. - int ROWS_PER_XOR_PATTERN_ = 8, - // The number of cols that are used for the XOR swizzling to allow fast STS/LDS. - int COLS_PER_XOR_PATTERN_ = 1, - // Use or not predicates - bool USE_PREDICATES_ = true -> -struct Smem_tile_without_skews { - - // The size in bits of each element. - enum { BITS_PER_ELEMENT = BITS_PER_ELEMENT_ }; - // The size in bytes of a single STS. - enum { BYTES_PER_STS = BYTES_PER_STS_ }; - // The number of elements per STS. - enum { ELEMENTS_PER_STS = BYTES_PER_STS * 8 / BITS_PER_ELEMENT }; - // To support arbitrary N, we pad some values to a power-of-2. - enum { N_WITH_PADDING = Next_power_of_two::VALUE }; - // The number of bytes per row without packing of rows. - enum { BYTES_PER_ROW_BEFORE_PACKING = N_WITH_PADDING * BITS_PER_ELEMENT / 8 }; - // The number of bytes per row -- we want at least 128B per row. - enum { BYTES_PER_ROW = Max::VALUE }; - // The number of rows in shared memory (two rows may be packed into a single one). - enum { ROWS = M_ * BYTES_PER_ROW_BEFORE_PACKING / BYTES_PER_ROW }; - - // The number of threads per row. - enum { THREADS_PER_ROW_UNBOUNDED = BYTES_PER_ROW / BYTES_PER_STS }; - // The number of threads per row. - enum { THREADS_PER_ROW = Min::VALUE }; - - // The number of STS per row. - enum { STS_PER_ROW = BYTES_PER_ROW / THREADS_PER_ROW / BYTES_PER_STS }; - // It must be at least one. - static_assert(STS_PER_ROW >= 1, ""); - // The number of rows written with a single STS. - enum { ROWS_PER_STS = Cta_tile::THREADS_PER_CTA / THREADS_PER_ROW }; - // Make sure we write to at least one row per STS. Thanks Dr. Obvious ;) - static_assert(ROWS_PER_STS >= 1, ""); - // The number of STS needed to store all rows. - enum { STS_PER_COL = Div_up::VALUE }; - // The number of STS in total. - enum { STS = STS_PER_COL * STS_PER_ROW }; - - // TD [2022-06-02] In the case of Q (16 x 64) in the backward pass with 256 threads, - // we only need to store 16 * 64 * 2 = 2KB instead of 4KB. - static constexpr bool PARTIAL_STORE = ROWS_PER_STS > ROWS; - static constexpr int STORING_THREADS = PARTIAL_STORE ? ROWS * THREADS_PER_ROW : Cta_tile::THREADS_PER_CTA; - - // The size of one buffer in bytes in shared memory. - // enum { BYTES_PER_BUFFER = STS * BYTES_PER_STS * Cta_tile::THREADS_PER_CTA }; - enum { BYTES_PER_BUFFER = STS * BYTES_PER_STS * STORING_THREADS }; - // The number of buffers. - enum { BUFFERS_PER_TILE = BUFFERS_PER_TILE_ }; - // The size in bytes of total buffers. - enum { BYTES_PER_TILE = BYTES_PER_BUFFER * BUFFERS_PER_TILE }; - // The boundary for smem_read_offset and smem_write_offset increment. - enum { BYTES_PER_TILE_INC_BOUNDARY = BYTES_PER_TILE - BYTES_PER_BUFFER }; - - // Do we enable the LDS.128 fast path? - enum { ENABLE_LDS_FAST_PATH = ENABLE_LDS_FAST_PATH_ }; - static_assert(ENABLE_LDS_FAST_PATH == 0); - // The number of rows that are used for the XOR swizzling to allow fast STS/LDS. - enum { ROWS_PER_XOR_PATTERN = ROWS_PER_XOR_PATTERN_ }; - // The number of cols that are used for the XOR swizzling to allow fast STS/LDS. - enum { COLS_PER_XOR_PATTERN = COLS_PER_XOR_PATTERN_ * 16 / BYTES_PER_STS }; - // Use or not predicates - enum { USE_PREDICATES = USE_PREDICATES_ }; - - // The type of elements that are stored in shared memory by each thread. - using Store_type = typename Uint_from_size_in_bytes::Type; - - // Ctor. - inline __device__ Smem_tile_without_skews(void *smem, int tidx) - : smem_(__nvvm_get_smem_pointer(smem)), tidx_(tidx) { - - // The row written by a thread. See doc/mma_smem_layout.xlsx. - int smem_write_row = tidx / THREADS_PER_ROW; - - // The XOR pattern. - int smem_write_xor = smem_write_row % ROWS_PER_XOR_PATTERN * COLS_PER_XOR_PATTERN; - // Compute the column and apply the XOR pattern. - int smem_write_col = (tidx % THREADS_PER_ROW) ^ smem_write_xor; - - // The offset. - this->smem_write_offset_ = smem_write_row*BYTES_PER_ROW + smem_write_col*BYTES_PER_STS; - - // TODO: Why not merge it with the read offset? - // this->smem_read_buffer_ = __shfl_sync(0xffffffff, 0, 0); - // this->smem_write_buffer_ = __shfl_sync(0xffffffff, 0, 0); - } - - // Compute the store pointers. - template< int N > - inline __device__ void compute_store_pointers(uint32_t (&ptrs)[N]) { - #pragma unroll - for( int ii = 0; ii < N; ++ii ) { - // Decompose the STS into row/col. - int row = ii / STS_PER_ROW; - int col = ii % STS_PER_ROW; - - // Assemble the offset. - int offset = smem_write_offset_ + row*ROWS_PER_STS*BYTES_PER_ROW; - - // Take the column into account. - if( STS_PER_ROW > 1 ) { - offset += col*THREADS_PER_ROW*BYTES_PER_STS; - } - - // Apply the XOR pattern if needed. - if( ROWS_PER_STS < ROWS_PER_XOR_PATTERN ) { - const int m = row * ROWS_PER_STS % ROWS_PER_XOR_PATTERN; - offset ^= m * COLS_PER_XOR_PATTERN * BYTES_PER_STS; - } - - // Assemble the final pointer :) - // ptrs[ii] = smem_ + offset + smem_write_buffer_; - // smem_write_buffer_ is already merged with smem_write_offset_ - ptrs[ii] = smem_ + offset; - } - } - - inline __device__ void debug_reset() { - for( int buffer = 0; buffer < BYTES_PER_TILE; buffer += BYTES_PER_BUFFER) { - for( int row = 0; row < ROWS; ++row ) { - for( int col = 0; col < BYTES_PER_ROW; col += 4 ) { - if( threadIdx.x == 0 ) { - uint32_t val = 0x0; - sts(val, smem_ + row*BYTES_PER_ROW + col + buffer); - } - } - } - } - } - - // Print the content of the tile (only for debug ;)). - inline __device__ void debug_print() const { - for( int buffer = 0; buffer < BYTES_PER_TILE; buffer += BYTES_PER_BUFFER) { - for( int row = 0; row < ROWS; ++row ) { - for( int col = 0; col < BYTES_PER_ROW; col += 4 ) { - if( threadIdx.x == 0 ) { - uint32_t val; - lds(val, smem_ + row*BYTES_PER_ROW + col + buffer); - printf("block=(x=%2d, y=%2d, z=%2d) (smem_=%2d, buffer=%2d, row=%2d, byte=%4d)=0x%08x\n", - blockIdx.x, - blockIdx.y, - blockIdx.z, - smem_, - buffer, - row, - col, - val); - } - } - } - } - } - - // Move the read offset to next buffer. - inline __device__ void move_to_next_read_buffer() { - // if( BUFFERS_PER_TILE > 1 && smem_read_buffer_ >= BYTES_PER_TILE_INC_BOUNDARY ) { - // this->smem_read_buffer_ -= BYTES_PER_TILE_INC_BOUNDARY; - // } else if( BUFFERS_PER_TILE > 1 ) { - // this->smem_read_buffer_ += BYTES_PER_BUFFER; - // } - if( BUFFERS_PER_TILE > 1 && smem_read_offset_ >= BYTES_PER_TILE_INC_BOUNDARY ) { - this->smem_read_offset_ -= BYTES_PER_TILE_INC_BOUNDARY; - } else if( BUFFERS_PER_TILE > 1 ) { - this->smem_read_offset_ += BYTES_PER_BUFFER; - } - } - - // Move the read offset to next buffer. TODO: Remove this member function!!! - inline __device__ void move_next_read_buffer() { - this->move_to_next_read_buffer(); - } - - // Move the read offset to next N buffer (circular-buffer). - inline __device__ void move_to_next_read_buffer(int N) { - if( BUFFERS_PER_TILE > 1 ) { - // this->smem_read_buffer_ += N * BYTES_PER_BUFFER; - // this->smem_read_buffer_ -= smem_read_buffer_ >= BYTES_PER_TILE ? BYTES_PER_TILE : 0; - this->smem_read_offset_ += N * BYTES_PER_BUFFER; - this->smem_read_offset_ -= smem_read_offset_ >= BYTES_PER_TILE ? BYTES_PER_TILE : 0; - } - } - - // Move the read offset to next N buffer (circular-buffer). TODO: Remove this member function!!! - inline __device__ void move_next_read_buffer(int N) { - this->move_to_next_read_buffer(N); - } - - // Move the write offset to next buffer. - inline __device__ void move_to_next_write_buffer() { - // if( BUFFERS_PER_TILE > 1 && smem_write_buffer_ >= BYTES_PER_TILE_INC_BOUNDARY ) { - // this->smem_write_buffer_ -= BYTES_PER_TILE_INC_BOUNDARY; - // } else if( BUFFERS_PER_TILE > 1 ) { - // this->smem_write_buffer_ += BYTES_PER_BUFFER; - // } - if( BUFFERS_PER_TILE > 1 && smem_write_offset_ >= BYTES_PER_TILE_INC_BOUNDARY ) { - this->smem_write_offset_ -= BYTES_PER_TILE_INC_BOUNDARY; - } else if( BUFFERS_PER_TILE > 1 ) { - this->smem_write_offset_ += BYTES_PER_BUFFER; - } - } - - // Move the write offset to next buffer. TODO: Remove that member function! - inline __device__ void move_next_write_buffer() { - this->move_to_next_write_buffer(); - } - - // Move the read offset. - inline __device__ void move_read_offset(int delta) { - this->smem_read_offset_ += delta; - } - - // Move the write offset. - inline __device__ void move_write_offset(int delta) { - this->smem_write_offset_ += delta; - } - - // Store to the tile in shared memory. - template< int N > - inline __device__ void store(const Store_type (&data)[N], uint64_t = 0) { - uint32_t smem_ptrs[N]; - this->compute_store_pointers(smem_ptrs); - // Trying to reduce the shared mem for Q from 4KB per buffer to 2KB per buffer. - if (!PARTIAL_STORE || (tidx_ / THREADS_PER_ROW < ROWS)) { - sts(smem_ptrs, data); - } - } - - // Store to the tile in shared memory. - template< int N, int M > - inline __device__ void store(const Store_type (&data)[N], uint32_t (&preds)[M], uint64_t = 0) { - uint32_t smem_ptrs[N]; - this->compute_store_pointers(smem_ptrs); - sts(smem_ptrs, data, preds); - } - - // Store to the tile in shared memory. - template< int N > - inline __device__ void store(const Store_type (&data)[N], uint32_t preds, uint64_t = 0) { - this->store(data, preds); - } - - // Store to the tile in shared memory. - template< int N > - inline __device__ void store(const void* (&gmem_ptrs)[N], uint32_t preds, uint64_t = 0) { - uint32_t tmp[1] = { preds }; - this->store(gmem_ptrs, tmp); - } - - // The shared memory pointer. - const uint32_t smem_; - // The read offset. Reserve 4 offsets if needed. - int smem_read_offset_; - // The write offset. - int smem_write_offset_; - // The buffer base offset for read. - // int smem_read_buffer_; - // The buffer base offset for write. - // int smem_write_buffer_; - const int tidx_; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - // The dimensions of the tile computed by the CTA. - typename Cta_tile, - // The layout of the tile. - typename Layout, - // The size of the STS. - int BYTES_PER_STS = 16, - // The number of buffers per tile. - int BUFFERS_PER_TILE = 1, - // Use or not predicates - bool USE_PREDICATES = true -> -struct Smem_tile_a { -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int MMAS_K, int MMAS_K_WITH_PADDING > -struct Compute_reset_mask { - // The potential mask. - enum { HALF = MMAS_K_WITH_PADDING / 2 }; - // The remainder. - enum { MOD = MMAS_K % HALF }; - // The final value. - enum { VALUE = (MMAS_K == MOD ? 0 : HALF) | Compute_reset_mask::VALUE }; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int MMAS_K_WITH_PADDING > -struct Compute_reset_mask<0, MMAS_K_WITH_PADDING> { - enum { VALUE = 0 }; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int MMAS_K > -struct Compute_reset_mask { - enum { VALUE = MMAS_K - 1 }; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N > -struct Rows_per_xor_pattern_a { - // The size in bits. - enum { N_IN_BITS = N * fmha::BITS_PER_ELEMENT_A }; - // The number of rows. - enum { VALUE = N_IN_BITS <= 256 ? 2 : (N_IN_BITS <= 512 ? 4 : 8) }; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N > -struct Rows_per_xor_pattern_row_a : public Rows_per_xor_pattern_a { -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - // The dimensions of the tile computed by the CTA. - typename Cta_tile, - // The size of the STS. - int BYTES_PER_STS, - // The number of buffers per tile. - int BUFFERS_PER_TILE, - // How many rows to use for the XOR pattern to avoid bank conflicts? - int ROWS_PER_XOR_PATTERN_ = Rows_per_xor_pattern_row_a::VALUE -> -struct Smem_tile_row_a : public Smem_tile_without_skews { - // The MMA tile. - using Mma_tile = fmha::Hmma_tile; - // The base class. - using Base = Smem_tile_without_skews; - // The fragment. - using Fragment = Fragment_a; - - // When we use padding to reach a power of two, special care has to be taken. - using Cta_tile_with_padding = Cta_tile_with_k_with_padding; - // The number of MMAs. - using Mma_tile_with_padding = fmha::Hmma_tile; - - // The size of a single LDS in bytes. - enum { BYTES_PER_LDS = 16 }; - - // Ctor. - inline __device__ Smem_tile_row_a(void *smem, int tidx) : Base(smem, tidx) { - - // For documentation on the layout, see doc/mma_smem_layout.xlsx. - - // The number of warps. - const int WARPS_M = Cta_tile::WARPS_M; - const int WARPS_N = Cta_tile::WARPS_N; - const int WARPS_K = Cta_tile::WARPS_K; - - static_assert(WARPS_M == 1); - static_assert(WARPS_N == 4 || WARPS_N == 8); - static_assert(WARPS_K == 1); - static_assert(Base::ROWS_PER_XOR_PATTERN == 2 || Base::ROWS_PER_XOR_PATTERN == 4 || Base::ROWS_PER_XOR_PATTERN == 8); - - // The row and column read by the thread. - int smem_read_row = (tidx & 0x0f); - constexpr int ROWS_PER_PACKING = Base::BYTES_PER_ROW / Base::BYTES_PER_ROW_BEFORE_PACKING; - int smem_read_col = ((smem_read_row / ROWS_PER_PACKING) % Base::ROWS_PER_XOR_PATTERN) * Base::COLS_PER_XOR_PATTERN; - smem_read_col ^= (tidx & 0x10) / 16; - - // The shared memory offset. - this->smem_read_offset_ = smem_read_row*Base::BYTES_PER_ROW_BEFORE_PACKING + smem_read_col*BYTES_PER_LDS; - } - - // Rewind smem_read_offset for last LDS phase in main loop. - inline __device__ void reverse_smem_read_offset(int ki = 0) { - // Undo the pointer increment for the next ni. - // Should match the load function below for ki = 0. - if( Mma_tile_with_padding::MMAS_K >= 2 ) { - this->smem_read_offset_ ^= BYTES_PER_LDS * 2; - } - } - - // Load from shared memory. - inline __device__ void load(Fragment (&a)[Mma_tile::MMAS_M], int ki) { - #pragma unroll - for( int mi = 0; mi < Mma_tile::MMAS_M; ++mi ) { - // Jump by as many matrix rows as needed (a row in smem may pack multiple matrix rows). - int offset = mi * Mma_tile::M_PER_MMA_PER_CTA * Base::BYTES_PER_ROW_BEFORE_PACKING; - - // Load using LDSM.M88.4. - uint4 tmp; - // ldsm(tmp, this->smem_ + this->smem_read_offset_ + this->smem_read_buffer_ + offset); - ldsm(tmp, this->smem_ + this->smem_read_offset_ + offset); - - // Store the value into the fragment. - a[mi].reg(0) = tmp.x; - a[mi].reg(1) = tmp.y; - a[mi].reg(2) = tmp.z; - a[mi].reg(3) = tmp.w; - } - - // Move the offset to the next possition. See doc/mma_smem_layout.xlsx. - static_assert(Mma_tile_with_padding::MMAS_K < 64, "Not implemented"); - if( Mma_tile_with_padding::MMAS_K >= 32 && ki % 16 == 15 ) { - this->smem_read_offset_ ^= 31 * BYTES_PER_LDS * 2; - } else if( Mma_tile_with_padding::MMAS_K >= 16 && ki % 8 == 7 ) { - this->smem_read_offset_ ^= 15 * BYTES_PER_LDS * 2; - } else if( Mma_tile_with_padding::MMAS_K >= 8 && ki % 4 == 3 ) { - this->smem_read_offset_ ^= 7 * BYTES_PER_LDS * 2; - } else if( Mma_tile_with_padding::MMAS_K >= 4 && ki % 2 == 1 ) { - this->smem_read_offset_ ^= 3 * BYTES_PER_LDS * 2; - } else if( Mma_tile_with_padding::MMAS_K >= 2 ) { - this->smem_read_offset_ ^= 1 * BYTES_PER_LDS * 2; - } - } - - // Reset the read offset. - inline __device__ void reset_read_offset() { - // The number of MMAs in the K dimension. - enum { MMAS_K = Mma_tile::MMAS_K }; - // The number of MMAs in the K dimension when we include padding. - enum { MMAS_K_WITH_PADDING = Mma_tile_with_padding::MMAS_K }; - // Assemble the mask. - enum { MASK = Compute_reset_mask::VALUE }; - - // Reset the read offset. - this->smem_read_offset_ ^= MASK * BYTES_PER_LDS * 2; - } - -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - // The dimensions of the tile computed by the CTA. - typename Cta_tile, - // The size of the STS. - int BYTES_PER_STS, - // The number of buffers per tile. - int BUFFERS_PER_TILE -> -struct Smem_tile_a - : public Smem_tile_row_a { - // The base class. - using Base = Smem_tile_row_a; - - // Ctor. - inline __device__ Smem_tile_a(void *smem, int tidx) : Base(smem, tidx) { - } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - // The dimensions of the tile computed by the CTA. - typename Cta_tile, - // The layout of the tile. - typename Layout, - // The size of the STS. - int BYTES_PER_STS = 16, - // The number of buffers per tile. - int BUFFERS_PER_TILE = 1, - // Use or not predicates - bool USE_PREDICATES = true -> -struct Smem_tile_b { -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N > -struct Rows_per_xor_pattern_b { - // The size in bits. - enum { N_IN_BITS = N * fmha::BITS_PER_ELEMENT_B }; - // The number of rows. - enum { VALUE = N_IN_BITS <= 256 ? 2 : (N_IN_BITS <= 512 ? 4 : 8) }; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N > -struct Rows_per_xor_pattern_col_b : public Rows_per_xor_pattern_b { -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - // The dimensions of the tile computed by the CTA. - typename Cta_tile, - // The size of the STS. - int BYTES_PER_STS, - // The number of buffers per tile. - int BUFFERS_PER_TILE, - // How many rows to use for the XOR pattern to avoid bank conflicts? - int ROWS_PER_XOR_PATTERN_ = Rows_per_xor_pattern_col_b::VALUE -> -struct Smem_tile_col_b : public Smem_tile_without_skews { - // The MMA tile. - using Mma_tile = fmha::Hmma_tile; - // The base class. - using Base = Smem_tile_without_skews; - // The fragment. - using Fragment = Fragment_b< Col>; - - // When we use padding to reach a power of two, special care has to be taken. - using Cta_tile_with_padding = Cta_tile_with_k_with_padding< Cta_tile>; - // The number of MMAs. - using Mma_tile_with_padding = fmha::Hmma_tile; - - // The size of a single LDS in bytes. - enum { BYTES_PER_LDS = 16 }; - - // The number of STS per thread - enum { STS_PER_THREAD_ = Base::ROWS * Base::THREADS_PER_ROW / Cta_tile::THREADS_PER_CTA }; - // The number of STS per thread must be at least 1. - enum { STS_PER_THREAD = Max<1, STS_PER_THREAD_>::VALUE }; - - // Ctor. - inline __device__ Smem_tile_col_b(void *smem, int tidx) : Base(smem, tidx) { - - // For documentation on the layout, see doc/mma_smem_layout.xlsx. - - // The number of warps. - const int WARPS_M = Cta_tile::WARPS_M; - const int WARPS_N = Cta_tile::WARPS_N; - const int WARPS_K = Cta_tile::WARPS_K; - static_assert(Base::ROWS_PER_XOR_PATTERN == 2 || Base::ROWS_PER_XOR_PATTERN == 4 || Base::ROWS_PER_XOR_PATTERN == 8); - static_assert(WARPS_M == 1); - static_assert(WARPS_N == 4 || WARPS_N == 8); - static_assert(WARPS_K == 1); - - // The masks to select the warps. - const int WARP_MASK_N = Warp_masks::N; - - // The divisor for the warps. - const int WARP_DIV_N = WARPS_M * 1 * Cta_tile::THREADS_PER_WARP; - - // The row and column read by the thread. - int smem_read_row = (tidx & WARP_MASK_N) / WARP_DIV_N * Mma_tile::N_PER_MMA + - (tidx & 0x07) + - (tidx & 0x10) / 2; - constexpr int ROWS_PER_PACKING = Base::BYTES_PER_ROW / Base::BYTES_PER_ROW_BEFORE_PACKING; - int smem_read_col = ((smem_read_row / ROWS_PER_PACKING) % Base::ROWS_PER_XOR_PATTERN) * Base::COLS_PER_XOR_PATTERN; - smem_read_col ^= (tidx & 0x08) / 8; - // The shared memory offset. - this->smem_read_offset_ = smem_read_row*Base::BYTES_PER_ROW_BEFORE_PACKING + smem_read_col*BYTES_PER_LDS; - } - - // Rewind smem_read_offset for last LDS phase in main loop. - inline __device__ void reverse_smem_read_offset(int ki = 0) { - // Undo the pointer increment for the next ni. - // Should match the load function below for ki = 0. - if( Mma_tile_with_padding::MMAS_K >= 2 ) { - this->smem_read_offset_ ^= BYTES_PER_LDS * 2; - } - } - - // Load from shared memory. - inline __device__ void load(Fragment (&b)[Mma_tile::MMAS_N], int ki) { - #pragma unroll - for( int ni = 0; ni < Mma_tile::MMAS_N; ++ni ) { - // Jump by as many matrix rows as needed (a row in smem may pack multiple matrix rows). - int offset = ni * Mma_tile::N_PER_MMA_PER_CTA * Base::BYTES_PER_ROW_BEFORE_PACKING; - - // Load using LDSM.M88.4. - uint4 tmp; - // ldsm(tmp, this->smem_ + this->smem_read_offset_ + this->smem_read_buffer_ + offset); - ldsm(tmp, this->smem_ + this->smem_read_offset_ + offset); - - // Store the value into the fragment. - b[ni].reg(0) = tmp.x; - b[ni].reg(1) = tmp.y; - b[ni].reg(2) = tmp.z; - b[ni].reg(3) = tmp.w; - } - - // Move the offset to the next possition. See doc/mma_smem_layout.xlsx. - static_assert(Mma_tile_with_padding::MMAS_K < 64, "Not implemented"); - if( Mma_tile_with_padding::MMAS_K >= 32 && ki % 16 == 15 ) { - this->smem_read_offset_ ^= 31 * BYTES_PER_LDS * 2; - } else if( Mma_tile_with_padding::MMAS_K >= 16 && ki % 8 == 7 ) { - this->smem_read_offset_ ^= 15 * BYTES_PER_LDS * 2; - } else if( Mma_tile_with_padding::MMAS_K >= 8 && ki % 4 == 3 ) { - this->smem_read_offset_ ^= 7 * BYTES_PER_LDS * 2; - } else if( Mma_tile_with_padding::MMAS_K >= 4 && ki % 2 == 1 ) { - this->smem_read_offset_ ^= 3 * BYTES_PER_LDS * 2; - } else if( Mma_tile_with_padding::MMAS_K >= 2 ) { - this->smem_read_offset_ ^= 1 * BYTES_PER_LDS * 2; - } - } - - // Reset the read offset. - inline __device__ void reset_read_offset() { - // The number of MMAs in the K dimension. - enum { MMAS_K = Mma_tile::MMAS_K }; - // The number of MMAs in the K dimension when we include padding. - enum { MMAS_K_WITH_PADDING = Mma_tile_with_padding::MMAS_K }; - // Assemble the mask. - enum { MASK = Compute_reset_mask::VALUE }; - - // Reset the read offset. - this->smem_read_offset_ ^= MASK * BYTES_PER_LDS * 2; - } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - // The dimensions of the tile computed by the CTA. - typename Cta_tile, - // The size of the STS. - int BYTES_PER_STS, - // The number of buffers per tile. - int BUFFERS_PER_TILE -> -struct Smem_tile_b< Cta_tile, Col, BYTES_PER_STS, BUFFERS_PER_TILE > - : public Smem_tile_col_b { - - // The base class. - using Base = Smem_tile_col_b< Cta_tile, BYTES_PER_STS, BUFFERS_PER_TILE>; - - // Ctor. - inline __device__ Smem_tile_b(void *smem, int tidx) : Base(smem, tidx) { - } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N > -struct Rows_per_xor_pattern_row_b : public Rows_per_xor_pattern_b< N> { -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - - -template< - // The dimensions of the tile computed by the CTA. - typename Cta_tile, - // The size of the STS. - int BYTES_PER_STS, - // The number of buffers per tile. - int BUFFERS_PER_TILE, - // How many rows to use for the XOR pattern to avoid bank conflicts? - int ROWS_PER_XOR_PATTERN_ = Rows_per_xor_pattern_row_b::VALUE, - // How many cols to use for the XOR pattern to avoid bank conflicts? - int COLS_PER_XOR_PATTERN_ = 1 -> -struct Smem_tile_row_b : public Smem_tile_without_skews { - - // The MMA tile. - using Mma_tile = fmha::Hmma_tile; - // The base class. - using Base = Smem_tile_without_skews; - // The fragment. - using Fragment = Fragment_b; - - // Can we use LDSM? No if the data type is 32-bit large. - enum { USE_LDSMT = fmha::BITS_PER_ELEMENT_B == 16 }; - // The size of a single LDS in bytes. - enum { BYTES_PER_LDS = USE_LDSMT ? 16 : 4 }; - // The number of elements per LDS. - enum { ELEMENTS_PER_LDS = BYTES_PER_LDS * 8 / fmha::BITS_PER_ELEMENT_B }; - - // The number of STS per thread - enum { STS_PER_THREAD_ = Base::ROWS * Base::THREADS_PER_ROW / Cta_tile::THREADS_PER_CTA }; - // The number of STS per thread must be at least 1. - enum { STS_PER_THREAD = Max<1, STS_PER_THREAD_>::VALUE }; - - // Ctor. - inline __device__ Smem_tile_row_b(void *smem, int tidx) : Base(smem, tidx) { - - // The number of warps. - const int WARPS_M = Cta_tile::WARPS_M; - const int WARPS_N = Cta_tile::WARPS_N; - const int WARPS_K = Cta_tile::WARPS_K; - static_assert(WARPS_K == 1); - static_assert(WARPS_M == 4 || WARPS_M == 8); - static_assert(WARPS_N == 1); - - // The masks to select the warps. - const int WARP_MASK_N = Warp_masks::N; - const int WARP_MASK_K = Warp_masks::K; - - // The divisor for the warps. - const int WARP_DIV_N = WARPS_M * 1 * Cta_tile::THREADS_PER_WARP; - const int WARP_DIV_K = WARPS_M * WARPS_N * Cta_tile::THREADS_PER_WARP; - - - static_assert(USE_LDSMT); - static_assert(Base::ROWS_PER_XOR_PATTERN == 2 || Base::ROWS_PER_XOR_PATTERN == 4 || Base::ROWS_PER_XOR_PATTERN == 8); - - // The row/col read by the thread. - int smem_read_row = (tidx & WARP_MASK_K) / WARP_DIV_K * Mma_tile::MMAS_K * 16 + - (tidx & 0x07) + (tidx & 0x08); - constexpr int ROWS_PER_PACKING = Base::BYTES_PER_ROW / Base::BYTES_PER_ROW_BEFORE_PACKING; - int smem_read_col = ((smem_read_row / ROWS_PER_PACKING) % Base::ROWS_PER_XOR_PATTERN) * Base::COLS_PER_XOR_PATTERN; - smem_read_col ^= (tidx & WARP_MASK_N) / WARP_DIV_N * 2 + (tidx & 0x10) / 16; - - // The shared memory offset. - this->smem_read_offset_ = smem_read_row*Base::BYTES_PER_ROW_BEFORE_PACKING + smem_read_col*BYTES_PER_LDS; - - // Fill zeroes for group conv - } - - // Rewind smem_read_offset for last LDS phase in main loop. - inline __device__ void reverse_smem_read_offset(int ki = 0) { - // The size of each element in bits. - const int BITS_PER_ELT = fmha::BITS_PER_ELEMENT_B; - // The size in bytes of the data needed to compute an MMA per CTA. - const int BYTES_PER_MMA_PER_CTA = Mma_tile::N_PER_MMA_PER_CTA * BITS_PER_ELT / 8; - - #pragma unroll - for( int ni = 0; ni < Mma_tile::MMAS_N; ++ni ) { - // Undo the pointer increment for the next ni. - // Should match the load function below for ki = 0. - if( BYTES_PER_MMA_PER_CTA >= 128 ) { - // Nothing to do! - } else if( BYTES_PER_MMA_PER_CTA == 64 && Mma_tile::MMAS_N > 1 ) { - this->smem_read_offset_ ^= BYTES_PER_MMA_PER_CTA; - } else if( BYTES_PER_MMA_PER_CTA == 64 ) { - // Nothing to do! - } else if( BYTES_PER_MMA_PER_CTA == 32 && Mma_tile::MMAS_N == 4 ) { - this->smem_read_offset_ ^= BYTES_PER_LDS * (ni % 2 == 0 ? 2 : 6); - } else if( BYTES_PER_MMA_PER_CTA == 32 && Mma_tile::MMAS_N == 2 ) { - this->smem_read_offset_ ^= BYTES_PER_LDS * 2; - } - } - - // Reset smem_read_offset for odd MMAS_N > 1 (npo2 kernels) - if( BYTES_PER_MMA_PER_CTA == 64 && Mma_tile::MMAS_N > 1 && - Mma_tile::MMAS_N % 2 == 1 ) { - this->smem_read_offset_ ^= BYTES_PER_MMA_PER_CTA; - } - } - - // Load from shared memory. - inline __device__ void load(Fragment (&b)[Mma_tile::MMAS_N], int ki) { - // The size of each element in bits. - const int BITS_PER_ELT = fmha::BITS_PER_ELEMENT_B; - // The size in bytes of the data needed to compute an MMA per CTA. - const int BYTES_PER_MMA_PER_CTA = Mma_tile::N_PER_MMA_PER_CTA * BITS_PER_ELT / 8; - - // uint32_t smem_read_og = this->smem_ + this->smem_read_offset_; - #pragma unroll - for( int ni = 0; ni < Mma_tile::MMAS_N; ++ni ) { - // Prepare the offset. - int offset = ki * Base::ROWS_PER_XOR_PATTERN * 2 * Base::BYTES_PER_ROW_BEFORE_PACKING; - if ( BYTES_PER_MMA_PER_CTA == 32 ) { - offset += this->smem_read_offset_; - } else if ( BYTES_PER_MMA_PER_CTA == 64 ) { - offset += this->smem_read_offset_ + (ni/2) * BYTES_PER_MMA_PER_CTA * 2; - } else { - offset += this->smem_read_offset_ + (ni ) * BYTES_PER_MMA_PER_CTA; - } - - // Load the data using LDSM.MT88.2. - // uint32_t ptr = this->smem_ + this->smem_read_buffer_ + offset; - uint32_t ptr = this->smem_ + offset; - uint4 tmp; - if( USE_LDSMT ) { - ldsmt(tmp, ptr); - } else { - lds(tmp.x, (ptr ) + 0*Base::BYTES_PER_ROW_BEFORE_PACKING); - lds(tmp.y, (ptr ) + 4*Base::BYTES_PER_ROW_BEFORE_PACKING); - lds(tmp.z, (ptr ^ 32) + 0*Base::BYTES_PER_ROW_BEFORE_PACKING); - lds(tmp.w, (ptr ^ 32) + 4*Base::BYTES_PER_ROW_BEFORE_PACKING); - } - - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("BYTES_PER_MMA_PER_CTA=%d, ni = %d, smem_read diff = %d\n", BYTES_PER_MMA_PER_CTA, ni, ptr - smem_read_og); - // } - // Store those values in the fragment. - b[ni].reg(0) = tmp.x; - b[ni].reg(1) = tmp.y; - b[ni].reg(2) = tmp.z; - b[ni].reg(3) = tmp.w; - - // Move the pointer for the next ni. I expect the compiler to not recompute those. - if( BYTES_PER_MMA_PER_CTA >= 128 ) { - // Nothing to do! - } else if( BYTES_PER_MMA_PER_CTA == 64 && Mma_tile::MMAS_N > 1 ) { - this->smem_read_offset_ ^= BYTES_PER_MMA_PER_CTA; - } else if( BYTES_PER_MMA_PER_CTA == 64 ) { - // Nothing to do! - } else if( BYTES_PER_MMA_PER_CTA == 32 && Mma_tile::MMAS_N == 8 ) { - this->smem_read_offset_ ^= BYTES_PER_LDS * (ni % 4 == 3 ? 14 : (ni % 2 == 1 ? 6 : 2)); - } else if( BYTES_PER_MMA_PER_CTA == 32 && Mma_tile::MMAS_N == 4 ) { - this->smem_read_offset_ ^= BYTES_PER_LDS * (ni % 2 == 0 ? 2 : 6); - } else if( BYTES_PER_MMA_PER_CTA == 32 && Mma_tile::MMAS_N == 2 ) { - this->smem_read_offset_ ^= BYTES_PER_LDS * 2; - } - } - - // Reset smem_read_offset for odd MMAS_N > 1 (npo2 kernels) - if( BYTES_PER_MMA_PER_CTA == 64 && Mma_tile::MMAS_N > 1 && - Mma_tile::MMAS_N % 2 == 1 ) { - this->smem_read_offset_ ^= BYTES_PER_MMA_PER_CTA; - } - } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - // The dimensions of the tile computed by the CTA. - typename Cta_tile, - // The size of the STS. - int BYTES_PER_STS, - // The number of buffers per tile. - int BUFFERS_PER_TILE -> -struct Smem_tile_b - : public Smem_tile_row_b { - - // The base class. - using Base = Smem_tile_row_b; - - // Ctor. - inline __device__ Smem_tile_b(void *smem, int tidx) : Base(smem, tidx) { - } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct Smem_tile_v : public fmha::Smem_tile_without_skews::VALUE, 1> { - - // The base class. - using Base = Smem_tile_without_skews::VALUE, 1>; - // The MMA tile. - using Mma_tile = fmha::Hmma_tile; - // The fragment. - using Fragment = Fragment_b< fmha::Col>; - - // The size of a single LDS in bytes. - enum { BYTES_PER_LDS = 16 }; - - // Ctor. - inline __device__ Smem_tile_v(void *smem, int tidx) : Base(smem, tidx) { - - // The row/col read by the thread. - int read_row, read_col; - - static_assert(Cta_tile::WARPS_M == 1 && Cta_tile::WARPS_N == 1 && (Cta_tile::WARPS_K == 4 || Cta_tile::WARPS_K == 8)); - - read_row = (tidx & 0xe0) / 2 + (tidx & 0x0f); - constexpr int ROWS_PER_PACKING = Base::BYTES_PER_ROW / Base::BYTES_PER_ROW_BEFORE_PACKING; - read_col = ((read_row / ROWS_PER_PACKING) % Base::ROWS_PER_XOR_PATTERN) * Base::COLS_PER_XOR_PATTERN; - read_col ^= (tidx & 0x10) / 16; - - // The shared memory offset. - this->smem_read_offset_ = read_row * Base::BYTES_PER_ROW_BEFORE_PACKING + read_col * BYTES_PER_LDS; - } - - // Load from shared memory. - inline __device__ void load(Fragment (&b)[Mma_tile::MMAS_N], int ki) { -#pragma unroll - for( int ni = 0; ni < Mma_tile::MMAS_N; ++ni ) { - // Jump by 16 * #warps row. - int row = ki * 16 * Cta_tile::WARPS_K; - - // Load the data using LDSM.MT88.2. - uint4 tmp; - fmha::ldsmt(tmp, this->smem_ + this->smem_read_offset_ + row * Base::BYTES_PER_ROW_BEFORE_PACKING); - b[ni].reg(0) = tmp.x; - b[ni].reg(1) = tmp.y; - b[ni].reg(2) = tmp.z; - b[ni].reg(3) = tmp.w; - - // Move the pointer for the next ni. I expect the compiler to not recompute those. - if( Mma_tile::MMAS_N == 1 ) { - // noop - } else if( Mma_tile::MMAS_N == 2 ) { - this->smem_read_offset_ ^= BYTES_PER_LDS * 2; - } else if( Mma_tile::MMAS_N == 4 ) { - this->smem_read_offset_ ^= BYTES_PER_LDS * (ni % 2 == 0 ? 2 : 6); - } else if (Mma_tile::MMAS_N == 8) { - this->smem_read_offset_ ^= BYTES_PER_LDS * (ni % 4 == 3 ? 14 : (ni % 2 == 1 ? 6 : 2)); - } else { - assert(false); // Not implemented! - } - } - } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct Smem_tile_o { - - // The MMA tile. - using Mma_tile = fmha::Hmma_tile; - // The accumulators. - using Accumulator = fmha::Fragment_accumulator; - // The accumulators. - using Data_type = typename Accumulator::Data_type; - - // The size of each element. - static constexpr int BYTES_PER_ELEMENT = sizeof(Data_type); - // The size of each STS. - static constexpr int BYTES_PER_STS = 8; - // The size of each row in shared memory. - static constexpr int BYTES_PER_ROW = Cta_tile::N * Cta_tile::WARPS_K * BYTES_PER_ELEMENT; - - // The size of each LDS. - static constexpr int BYTES_PER_LDS = 16; - static constexpr int THREADS_PER_ROW = Cta_tile::N * BYTES_PER_ELEMENT / BYTES_PER_LDS; - - // The number of rows. - static constexpr int ROWS = Cta_tile::M; - // The number of "rows" to process per loop iteration (in the "epilogue"). - static constexpr int ROWS_PER_LOOP = ROWS <= 64 ? ROWS : (int)Mma_tile::M_PER_MMA_PER_CTA; - // The number of outer loops. - static constexpr int LOOPS = ROWS / ROWS_PER_LOOP; - // Make sure it matches our expectations. - static_assert(LOOPS == 1 || LOOPS == (int)Mma_tile::MMAS_M, ""); - - // The number of rows loaded per LDS. - static constexpr int ROWS_PER_LDS = Cta_tile::THREADS_PER_CTA / THREADS_PER_ROW; - // Do we have to guard against partial writes/reads. - static constexpr bool HAS_INCOMPLETE_LDS = ROWS_PER_LOOP % ROWS_PER_LDS != 0; - // The total number of LDS per loop. - static constexpr int LDS_PER_LOOP = fmha::DivUpConstexpr(ROWS_PER_LOOP, ROWS_PER_LDS); - - // The amount of shared memory. - static constexpr int BYTES_PER_TILE = ROWS_PER_LOOP * BYTES_PER_ROW; - - // The write pointer. - uint32_t smem_write_, smem_read_; - // Is the thread active for the last LDS of the series? - int is_active_for_last_lds_; - - // static_assert(BYTES_PER_ROW == 64 * 4 * Cta_tile::WARPS_K); - static_assert(LOOPS == 1 || LOOPS == (int)Mma_tile::MMAS_M, ""); - - // Ctor. - inline __device__ Smem_tile_o(void *smem, int tidx) { - - // Get a 32-bit value for the shared memory address. - uint32_t smem_ = __nvvm_get_smem_pointer(smem); - - static_assert(Cta_tile::WARPS_M == 1 && Cta_tile::WARPS_N == 1 && (Cta_tile::WARPS_K == 4 || Cta_tile::WARPS_K == 8)); - static_assert(Cta_tile::N == 16 || Cta_tile::N == 32 || Cta_tile::N == 64 || Cta_tile::N == 128); - - int write_row = (tidx & 0x1c) / 4; - - const int lane = tidx % 32; - const int warp = tidx / 32; - - constexpr int ELEMENTS_PER_STS = BYTES_PER_STS / BYTES_PER_ELEMENT; - constexpr int STS_PER_WARP = 16 * Mma_tile::MMAS_N / ELEMENTS_PER_STS; - int write_col = warp * STS_PER_WARP + lane % STS_PER_WARP; - - // if ((threadIdx.x == 16) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("write_row = %d, write_col = %d\n", write_row, write_col); - // } - - // if ((blockIdx.x == 0) && (blockIdx.y == 0) && (write_row == 0) && (write_col == 0)) { - // printf("threadIdx.x = %d\n", threadIdx.x); - // } - - // Assemble the write pointer. - smem_write_ = smem_ + write_row * BYTES_PER_ROW + write_col * BYTES_PER_STS; - - // The element read by each thread. - int read_row = tidx / THREADS_PER_ROW; - int read_col = tidx % THREADS_PER_ROW; - - // Take the XOR pattern into account for the column. - read_col ^= 2 * (read_row % (Cta_tile::N == 16 ? 2 : (Cta_tile::N == 32 ? 4 : 8))); - // read_col ^= 2 * (read_row % (Cta_tile::N == 16 ? 2 : (Cta_tile::N == 32 ? 4 : (Cta_tile::N == 128 ? 16 : 8)))); - - // if ((threadIdx.x == 8) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("read_row = %d, read_col = %d\n", read_row, read_col); - // } - // if ((blockIdx.x == 0) && (blockIdx.y == 0) && (read_row == 0) && (read_col == 0)) { - // printf("threadIdx.x = %d\n", threadIdx.x); - // } - // Assemble the read pointer. - this->smem_read_ = smem_ + read_row * BYTES_PER_ROW + read_col * BYTES_PER_LDS; - - // Is that thread active on the last LDS? - if( HAS_INCOMPLETE_LDS ) { - this->is_active_for_last_lds_ = read_row + (LDS_PER_LOOP - 1) * ROWS_PER_LDS < Cta_tile::M; - } - } - - // Load the output fragments. - template - inline __device__ void load(uint4 (&out)[LDS_PER_LOOP]) const { - #pragma unroll - for( int ii = 0; ii < LDS_PER_LOOP; ++ii ) { - - // Load the elements before the reduction (split-K). - uint4 tmp[Cta_tile::WARPS_K]; - #pragma unroll - for( int jj = 0; jj < Cta_tile::WARPS_K; ++jj ) { - int imm = ii * ROWS_PER_LDS * BYTES_PER_ROW + jj * Cta_tile::N * BYTES_PER_ELEMENT; - uint32_t smem_read = this->smem_read_ + imm; - // TD [2022-06-05] Ugly fix for d=128 in the forward pass, maybe there's a better way. - if ((Cta_tile::N == 128) && (ROWS_PER_LDS == 4) && (ii % 2 == 1)) { - smem_read ^= 8 * BYTES_PER_LDS; - } - // if ((threadIdx.x == 8) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("imm diff = %d\n", smem_read - this->smem_read_); - // } - if( !HAS_INCOMPLETE_LDS || (ii < LDS_PER_LOOP - 1 || this->is_active_for_last_lds_) ) { - // fmha::lds(tmp[jj], this->smem_read_ + imm); - fmha::lds(tmp[jj], smem_read); - } - } - - // Perform the reduction. - out[ii] = zero_init ? tmp[0] : fmha::fadd4(out[ii], tmp[0]); - // if ((threadIdx.x == 8) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("out reduction: out = %.6f\n", reinterpret_cast(out[ii])[0]); - // } - #pragma unroll - for( int jj = 1; jj < Cta_tile::WARPS_K; ++jj ) { - out[ii] = fmha::fadd4(out[ii], tmp[jj]); - // if ((threadIdx.x == 8) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("out reduction tmp = %.6f, out = %.6f\n", reinterpret_cast(tmp[jj])[0], reinterpret_cast(out[ii])[0]); - // } - } - } - } - - // Store the accumulators. - template - inline __device__ void store(const Accumulator (&acc)[M][N], int mi) { - // uint32_t smem_write_og = this->smem_write_; - static constexpr int M_PER_MMA = Mma_tile::M_PER_MMA_PER_CTA; - #pragma unroll - for( int ni = 0; ni < Mma_tile::MMAS_N; ++ni ) { - - // The number of MMAs that are stored per loop iteration. - static constexpr int MMAS_M_PER_LOOP = Mma_tile::MMAS_M / LOOPS; - - // Store 1st column of the different MMAs. - #pragma unroll - for( int mj = 0; mj < MMAS_M_PER_LOOP; ++mj ) { - // Precompute the immediates to jump between rows. - int row_0 = (mj * M_PER_MMA + 0) * BYTES_PER_ROW; - int row_1 = (mj * M_PER_MMA + 8) * BYTES_PER_ROW; - uint2 tmp0, tmp1; - tmp0.x = acc[mi * MMAS_M_PER_LOOP + mj][ni].reg(0); - tmp0.y = acc[mi * MMAS_M_PER_LOOP + mj][ni].reg(1); - - tmp1.x = acc[mi * MMAS_M_PER_LOOP + mj][ni].reg(2); - tmp1.y = acc[mi * MMAS_M_PER_LOOP + mj][ni].reg(3); - - // Store. - fmha::sts(this->smem_write_ + row_0, tmp0); - fmha::sts(this->smem_write_ + row_1, tmp1); - } - // if ((threadIdx.x == 16) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("smem_write diff = %d\n", this->smem_write_ - smem_write_og); - // } - - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // uint4 read_tmp; - // fmha::lds(read_tmp, this->smem_read_); - // printf("smem_o = %.6f\n", reinterpret_cast(read_tmp)[0]); - // } - // Swizzle the write pointer using a XOR of 16B. - this->smem_write_ ^= 32; - - // Store 2nd column of the different MMAs. - #pragma unroll - for( int mj = 0; mj < MMAS_M_PER_LOOP; ++mj ) { - // Precompute the immediates to jump between rows. - int row_0 = (mj * M_PER_MMA + 0) * BYTES_PER_ROW; - int row_1 = (mj * M_PER_MMA + 8) * BYTES_PER_ROW; - - uint2 tmp0, tmp1; - tmp0.x = acc[mi * MMAS_M_PER_LOOP + mj][ni].reg(4); - tmp0.y = acc[mi * MMAS_M_PER_LOOP + mj][ni].reg(5); - - tmp1.x = acc[mi * MMAS_M_PER_LOOP + mj][ni].reg(6); - tmp1.y = acc[mi * MMAS_M_PER_LOOP + mj][ni].reg(7); - // Store. - fmha::sts(this->smem_write_ + row_0, tmp0); - fmha::sts(this->smem_write_ + row_1, tmp1); - } - - // if ((threadIdx.x == 16) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("smem_write diff = %d\n", this->smem_write_ - smem_write_og); - // } - - // Cancel the previous XOR of 1 + swizzle the write pointer using a XOR of 32B or 64B. - static_assert(Mma_tile::MMAS_N <= 8, "Not implemented"); - if( Mma_tile::MMAS_N >= 8 && ni % 4 == 3 ) { - this->smem_write_ ^= 15 * 32; - } else if( Mma_tile::MMAS_N >= 4 && ni % 2 == 1 ) { - this->smem_write_ ^= 7 * 32; - } else if( Mma_tile::MMAS_N >= 2 ) { - this->smem_write_ ^= 3 * 32; - } else { - this->smem_write_ ^= 3 * 32; - } - // this->smem_write_ ^= (ni & 1) ? 7 * 32 : 3 * 32; - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // uint4 read_tmp; - // fmha::lds(read_tmp, this->smem_read_); - // printf("smem_o = %.6f\n", reinterpret_cast(read_tmp)[0]); - // } - } - } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct Smem_tile_mma { - - using Mma_tile = fmha::Hmma_tile; - using Fragment = fmha::Fragment_a; - - enum { COLS = Cta_tile::N }; - enum { BYTES_PER_ELT = 2 }; - enum { BYTES_PER_STS = 4 }; - enum { BYTES_PER_ROW = COLS * BYTES_PER_ELT }; // TODO - enum { BYTES_PER_TILE = Cta_tile::M * BYTES_PER_ROW }; - - enum { WARPS_M = Cta_tile::WARPS_M }; - enum { WARPS_N = Cta_tile::WARPS_N }; - enum { WARPS_K = Cta_tile::WARPS_K }; - - static_assert(WARPS_K == 1); - inline __device__ Smem_tile_mma(char *smem, int tidx) { - uint32_t smem_ = __nvvm_get_smem_pointer(smem); - - int write_col, write_row; - static_assert(WARPS_M == 1 && (WARPS_N == 4 || WARPS_N == 8) || (WARPS_M == 4 || WARPS_M == 8) || WARPS_N == 1); - if( WARPS_M == 1 && (WARPS_N == 4 || WARPS_N == 8) ) { - write_row = (tidx & 0x1c) / 4; - write_col = (tidx & 0xe0) / 4 + (tidx & 0x03); - write_col ^= (write_row & 0x07) * 4; - } else { - write_row = (tidx & 0xe0) / 2 + (tidx & 0x1c) / 4; - write_col = (tidx & 0x03); - // write_col ^= (write_row & (BYTES_PER_ROW == 32 ? 0x01 : (BYTES_PER_ROW == 64 ? 0x03 : (BYTES_PER_ROW == 128 ? 0x07 : 0x0f)))) * 4; - write_col ^= (write_row & (BYTES_PER_ROW == 32 ? 0x01 : (BYTES_PER_ROW == 64 ? 0x03 : (BYTES_PER_ROW == 128 ? 0x07 : 0x07)))) * 4; - } - - // write_offset_ = write_row * BYTES_PER_ROW + write_col * BYTES_PER_STS; - smem_write_ = smem_ + write_row * BYTES_PER_ROW + write_col * BYTES_PER_STS; - } - - template - inline __device__ void store(const uint4 (®s)[M][N]) { - static_assert(COLS == Cta_tile::N); - #pragma unroll - for( int mi = 0; mi < M; mi++ ) { - #pragma unroll - for( int ni = 0; ni < N; ni++ ) { - // size_t offset = write_offset_ + mi * WARPS_M * 16 * BYTES_PER_ROW + ni * WARPS_N * 16 * BYTES_PER_ELT; - // fmha::sts(smem_ + offset + 0 * BYTES_PER_ROW, regs[mi][ni].x); - // fmha::sts(smem_ + offset + 8 * BYTES_PER_ROW, regs[mi][ni].z); - // offset ^= 4 * BYTES_PER_STS; - // fmha::sts(smem_ + offset + 0 * BYTES_PER_ROW, regs[mi][ni].y); - // fmha::sts(smem_ + offset + 8 * BYTES_PER_ROW, regs[mi][ni].w); - // size_t offset = smem_write_ + mi * WARPS_M * 16 * BYTES_PER_ROW + ni * WARPS_N * 16 * BYTES_PER_ELT; - uint32_t offset = smem_write_ + mi * WARPS_M * 16 * BYTES_PER_ROW + ni * WARPS_N * 16 * BYTES_PER_ELT; - fmha::sts(offset + 0 * BYTES_PER_ROW, regs[mi][ni].x); - fmha::sts(offset + 8 * BYTES_PER_ROW, regs[mi][ni].z); - offset ^= 4 * BYTES_PER_STS; - fmha::sts(offset + 0 * BYTES_PER_ROW, regs[mi][ni].y); - fmha::sts(offset + 8 * BYTES_PER_ROW, regs[mi][ni].w); - } - } - } - - template - inline __device__ void store(const Fragment (&frag)[N][M]) { - static_assert(COLS == Cta_tile::N); - uint4 regs[M][N]; - #pragma unroll - for( int mi = 0; mi < M; mi++ ) { - #pragma unroll - for( int ni = 0; ni < N; ni++ ) { - // Need to transpose ref(1) and reg(2) here since when we load it we transpose again. - regs[mi][ni] = make_uint4(frag[ni][mi].reg(0), frag[ni][mi].reg(2), - frag[ni][mi].reg(1), frag[ni][mi].reg(3)); - } - } - this->store(regs); - } - - // uint32_t smem_; - // uint32_t write_offset_; - uint32_t smem_write_; -}; - -template< typename Cta_tile, typename Base = Smem_tile_mma< Cta_tile>> -struct Smem_tile_mma_transposed : public Base { - enum { BYTES_PER_LDS = 16 }; - enum { BYTES_PER_ROW = Base::BYTES_PER_ROW }; - enum { BYTES_PER_ELT = Base::BYTES_PER_ELT }; - enum { WARPS_M = Base::WARPS_M }; - enum { WARPS_N = Base::WARPS_N }; - static_assert(WARPS_M == 1 && (WARPS_N == 4 || WARPS_N == 8)); - using Fragment = typename Base::Fragment; - inline __device__ Smem_tile_mma_transposed(char *smem, int tidx) : Base(smem, tidx) { - - uint32_t smem_ = __nvvm_get_smem_pointer(smem); - static_assert(WARPS_M == 1 && (WARPS_N == 4 || WARPS_N == 8)); - int read_row, read_col; - read_row = (tidx & 0x0f); - read_col = (tidx & 0xe0) / 16 + (tidx & 0x1c) / 16; - - // read_col ^= (read_row & (Base::BYTES_PER_ROW == 32 ? 0x01 : (Base::BYTES_PER_ROW == 64 ? 0x03 : (Base::BYTES_PER_ROW == 128 ? 0x07 : 0x0f)))); - read_col ^= (read_row & 0x07); - // read_offset_ = read_row * BYTES_PER_ROW + read_col * BYTES_PER_LDS; - smem_read_ = smem_ + read_row * BYTES_PER_ROW + read_col * BYTES_PER_LDS; - } - - template - inline __device__ void load(Fragment (&frag)[M][N]) { - static_assert(Base::COLS == Cta_tile::N); - for( int mi = 0; mi < M; mi++ ) { - for( int ni = 0; ni < N; ni++ ) { - // size_t offset = read_offset_ + mi * WARPS_M * 16 * BYTES_PER_ROW + ni * WARPS_N * 16 * BYTES_PER_ELT; - uint4 dst; - // fmha::ldsmt(dst, this->smem_ + offset); - // size_t offset = smem_read_ + mi * WARPS_M * 16 * BYTES_PER_ROW + ni * WARPS_N * 16 * BYTES_PER_ELT; - uint32_t offset = smem_read_ + mi * WARPS_M * 16 * BYTES_PER_ROW + ni * WARPS_N * 16 * BYTES_PER_ELT; - fmha::ldsmt(dst, offset); - frag[mi][ni].reg(0) = dst.x; - frag[mi][ni].reg(1) = dst.z; // Fragment A regs col major! - frag[mi][ni].reg(2) = dst.y; - frag[mi][ni].reg(3) = dst.w; - } - } - } - - // uint32_t read_offset_; - uint32_t smem_read_; -}; - -template< typename Cta_tile, typename Base = Smem_tile_mma< Cta_tile>> -struct Smem_tile_mma_epilogue : public Base { - enum { BYTES_PER_LDS = 16 }; - enum { BYTES_PER_ROW = Base::BYTES_PER_ROW }; - enum { BYTES_PER_ELT = Base::BYTES_PER_ELT }; - enum { THREADS_PER_ROW = BYTES_PER_ROW / BYTES_PER_LDS }; - static_assert(THREADS_PER_ROW * BYTES_PER_LDS == BYTES_PER_ROW); - enum { ROWS_PER_LDS = Cta_tile::THREADS_PER_CTA / THREADS_PER_ROW }; - enum { NUM_LDS = Cta_tile::M / ROWS_PER_LDS }; - static_assert(NUM_LDS * ROWS_PER_LDS == Cta_tile::M); - enum { WARPS_M = Base::WARPS_M }; - enum { WARPS_N = Base::WARPS_N }; - static_assert((WARPS_M == 4 || WARPS_N == 8) || WARPS_N == 1); - - using Acc = fmha::Fragment_accumulator; - - inline __device__ Smem_tile_mma_epilogue(char *smem, int tidx) : Base(smem, tidx) { - uint32_t smem_ = __nvvm_get_smem_pointer(smem); - const int read_row = tidx / THREADS_PER_ROW; - int read_col = tidx % THREADS_PER_ROW; - // read_col ^= (read_row & (Base::BYTES_PER_ROW == 32 ? 0x01 : (Base::BYTES_PER_ROW == 64 ? 0x03 : 0x07))); - static_assert(Base::BYTES_PER_ROW == 32 || Base::BYTES_PER_ROW == 64 || Base::BYTES_PER_ROW == 128 || Base::BYTES_PER_ROW == 256); - read_col ^= (read_row & (Base::BYTES_PER_ROW == 32 ? 0x01 : (Base::BYTES_PER_ROW == 64 ? 0x03 : (Base::BYTES_PER_ROW == 128 ? 0x07 : 0x07)))); - // read_offset_ = read_row * BYTES_PER_ROW + read_col * BYTES_PER_LDS; - smem_read_ = smem_ + read_row * BYTES_PER_ROW + read_col * BYTES_PER_LDS; - } - - inline __device__ void load(uint4 (&data)[NUM_LDS]) { - for( int ii = 0; ii < NUM_LDS; ii++ ) { - // size_t offset = read_offset_ + ii * ROWS_PER_LDS * BYTES_PER_ROW; - // fmha::lds(data[ii], this->smem_ + offset); - // size_t offset = smem_read_ + ii * ROWS_PER_LDS * BYTES_PER_ROW; - uint32_t offset = smem_read_ + ii * ROWS_PER_LDS * BYTES_PER_ROW; - fmha::lds(data[ii], offset); - } - } - - template - inline __device__ void store(const Acc (&acc)[M][N]){ - #pragma unroll - for( int mi = 0; mi < M; mi++ ) { - #pragma unroll - for( int ni = 0; ni < N; ni++ ) { - // 1st row - 4 elements per row. - float tmp00 = acc[mi][ni].elt(0); - float tmp01 = acc[mi][ni].elt(1); - float tmp02 = acc[mi][ni].elt(4); - float tmp03 = acc[mi][ni].elt(5); - // 2nd row - 4 elements per row. - float tmp10 = acc[mi][ni].elt(2); - float tmp11 = acc[mi][ni].elt(3); - float tmp12 = acc[mi][ni].elt(6); - float tmp13 = acc[mi][ni].elt(7); - - uint32_t x = fmha::float2_pack(tmp00, tmp01); - uint32_t y = fmha::float2_pack(tmp02, tmp03); - uint32_t z = fmha::float2_pack(tmp10, tmp11); - uint32_t w = fmha::float2_pack(tmp12, tmp13); - - // size_t offset = (this->write_offset_ ^ (ni * 32)) + mi * WARPS_M * 16 * BYTES_PER_ROW; - // fmha::sts(this->smem_ + offset + 0 * BYTES_PER_ROW, x); - // fmha::sts(this->smem_ + offset + 8 * BYTES_PER_ROW, z); - // offset ^= 4 * Base::BYTES_PER_STS; - // fmha::sts(this->smem_ + offset + 0 * BYTES_PER_ROW, y); - // fmha::sts(this->smem_ + offset + 8 * BYTES_PER_ROW, w); - // size_t offset = (this->smem_write_ ^ (ni * 32)) + mi * WARPS_M * 16 * BYTES_PER_ROW; - uint32_t offset = (this->smem_write_ ^ (ni * 32)) + mi * WARPS_M * 16 * BYTES_PER_ROW; - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("mi = %d, ni = %d, offset - smem_write_ = %d\n", mi, ni, offset - this->smem_write_); - // } - fmha::sts(offset + 0 * BYTES_PER_ROW, x); - fmha::sts(offset + 8 * BYTES_PER_ROW, z); - offset ^= 4 * Base::BYTES_PER_STS; - fmha::sts(offset + 0 * BYTES_PER_ROW, y); - fmha::sts(offset + 8 * BYTES_PER_ROW, w); - } - } - } - - template - inline __device__ void store(const uint4 (®s)[M][N]) { - for( int mi = 0; mi < M; mi++ ) { - for( int ni = 0; ni < N; ni++ ) { - // size_t offset = (this->write_offset_ ^ (ni * 32)) + mi * WARPS_M * 16 * BYTES_PER_ROW; - uint32_t offset = (this->write_offset_ ^ (ni * 32)) + mi * WARPS_M * 16 * BYTES_PER_ROW; - fmha::sts(this->smem_ + offset + 0 * BYTES_PER_ROW, regs[mi][ni].x); - fmha::sts(this->smem_ + offset + 8 * BYTES_PER_ROW, regs[mi][ni].z); - offset ^= 4 * Base::BYTES_PER_STS; - fmha::sts(this->smem_ + offset + 0 * BYTES_PER_ROW, regs[mi][ni].y); - fmha::sts(this->smem_ + offset + 8 * BYTES_PER_ROW, regs[mi][ni].w); - } - } - } - - // uint32_t read_offset_; - uint32_t smem_read_; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct Smem_tile_transpose { - - using Mma_tile = fmha::Hmma_tile; - using Fragment_write = fmha::Fragment_b; - using Fragment_read = fmha::Fragment_b; - - enum { COLS = Cta_tile::N }; - enum { BYTES_PER_ELT = 2 }; - enum { BYTES_PER_STS = 4 }; - enum { BYTES_PER_ROW = COLS * BYTES_PER_ELT }; // TODO - enum { BYTES_PER_TILE = Cta_tile::M * BYTES_PER_ROW }; - - enum { BYTES_PER_LDS = 16 }; - - enum { WARPS_M = Cta_tile::WARPS_M }; - enum { WARPS_N = Cta_tile::WARPS_N }; - enum { WARPS_K = Cta_tile::WARPS_K }; - - static_assert(WARPS_K == 1); - static_assert(WARPS_M == 1 && (WARPS_N == 4 || WARPS_N == 8)); - - inline __device__ Smem_tile_transpose(char *smem, int tidx) { - smem_ = __nvvm_get_smem_pointer(smem); - // uint32_t smem_ = __nvvm_get_smem_pointer(smem); - - int write_col, write_row; - static_assert(WARPS_M == 1 && (WARPS_N == 4 || WARPS_N == 8) || (WARPS_M == 4 || WARPS_N == 8) || WARPS_N == 1); - if( WARPS_M == 1 && (WARPS_N == 4 || WARPS_N == 8) ) { - write_row = (tidx & 0x1c) / 4; - write_col = (tidx & 0xe0) / 4 + (tidx & 0x03); - } else { - write_row = (tidx & 0xe0) / 2 + (tidx & 0x1c) / 4; - write_col = (tidx & 0x03); - } - write_col ^= (write_row & 0x07) * 4; - - write_offset_ = write_row * BYTES_PER_ROW + write_col * BYTES_PER_STS; - // smem_write_ = smem_ + write_row * BYTES_PER_ROW + write_col * BYTES_PER_STS; - - int read_row, read_col; - read_row = (tidx & 0x0f); - read_col = (tidx & 0xe0) / 16 + (tidx & 0x1c) / 16; - - read_col ^= (read_row & 0x07); - read_offset_ = read_row * BYTES_PER_ROW + read_col * BYTES_PER_LDS; - // smem_read_ = smem_ + read_row * BYTES_PER_ROW + read_col * BYTES_PER_LDS; - } - - template - inline __device__ void store(const Fragment_write (&frag_w)[M][N], int mi) { - #pragma unroll - for( int ni = 0; ni < N; ni++ ) { - // size_t offset = write_offset_ + ni * WARPS_N * 16 * BYTES_PER_ELT; - uint32_t offset = write_offset_ + ni * WARPS_N * 16 * BYTES_PER_ELT; - fmha::sts(smem_ + offset + 0 * BYTES_PER_ROW, frag_w[ni][mi].reg(0)); - fmha::sts(smem_ + offset + 8 * BYTES_PER_ROW, frag_w[ni][mi].reg(2)); - offset ^= 4 * BYTES_PER_STS; - fmha::sts(smem_ + offset + 0 * BYTES_PER_ROW, frag_w[ni][mi].reg(1)); - fmha::sts(smem_ + offset + 8 * BYTES_PER_ROW, frag_w[ni][mi].reg(3)); - } - } - - template - inline __device__ void load(Fragment_read (&frag_r)[N]) { - #pragma unroll - for( int ni = 0; ni < N; ni++ ) { - // size_t offset = read_offset_ + ni * WARPS_N * 16 * BYTES_PER_ELT; - uint32_t offset = read_offset_ + ni * WARPS_N * 16 * BYTES_PER_ELT; - uint4 dst; - fmha::ldsmt(dst, this->smem_ + offset); - frag_r[ni].reg(0) = dst.x; - frag_r[ni].reg(1) = dst.y; // Fragment B regs col major! - frag_r[ni].reg(2) = dst.z; - frag_r[ni].reg(3) = dst.w; - } - } - - template - inline __device__ void transpose(const Fragment_write (&frag_w)[M][N], Fragment_read (&frag_r)[M], int mi) { - static_assert(COLS == Cta_tile::N); - #pragma unroll - for( int ni = 0; ni < N; ni++ ) { - // size_t offset = write_offset_ + ni * WARPS_N * 16 * BYTES_PER_ELT; - uint32_t offset = write_offset_ + ni * WARPS_N * 16 * BYTES_PER_ELT; - fmha::sts(smem_ + offset + 0 * BYTES_PER_ROW, frag_w[ni][mi].reg(0)); - fmha::sts(smem_ + offset + 8 * BYTES_PER_ROW, frag_w[ni][mi].reg(2)); - offset ^= 4 * BYTES_PER_STS; - fmha::sts(smem_ + offset + 0 * BYTES_PER_ROW, frag_w[ni][mi].reg(1)); - fmha::sts(smem_ + offset + 8 * BYTES_PER_ROW, frag_w[ni][mi].reg(3)); - } - #pragma unroll - for( int ni = 0; ni < N; ni++ ) { - // size_t offset = read_offset_ + ni * WARPS_N * 16 * BYTES_PER_ELT; - // size_t offset = read_offset_ + ni * WARPS_N * 16 * BYTES_PER_ELT; - uint32_t offset = read_offset_ + ni * WARPS_N * 16 * BYTES_PER_ELT; - uint4 dst; - fmha::ldsmt(dst, this->smem_ + offset); - frag_r[ni].reg(0) = dst.x; - frag_r[ni].reg(1) = dst.y; // Fragment B regs col major! - frag_r[ni].reg(2) = dst.z; - frag_r[ni].reg(3) = dst.w; - } - } - - uint32_t smem_; - uint32_t write_offset_; - uint32_t read_offset_; - // uint32_t smem_write_; - // uint32_t smem_read_; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< - typename Gmem_tile, - // The number of buffers. (Used in multistage and double buffer cases.) - int BUFFERS_PER_TILE_ = 1 -> -struct Smem_tile_dp_sum { - - using Cta_tile = typename Gmem_tile::Cta_tile; - using Mma_tile = fmha::Hmma_tile; - - // The size of each element. - static constexpr int BYTES_PER_ELEMENT = 4; - static constexpr int ROWS = Gmem_tile::ROWS; - static constexpr int THREADS_PER_ROW = Gmem_tile::THREADS_PER_ROW; - static constexpr int MMAS_M = Mma_tile::MMAS_M; - - static constexpr int ROWS_PER_LDG = Gmem_tile::ROWS_PER_LDG; - static constexpr int LDGS = Gmem_tile::LDGS; - - static constexpr int ROWS_PER_MMA = Mma_tile::M_PER_MMA; - - // The size of one buffer in bytes in shared memory. - static constexpr int BYTES_PER_BUFFER = ROWS * BYTES_PER_ELEMENT; - // The number of buffers. - static constexpr int BUFFERS_PER_TILE = BUFFERS_PER_TILE_; - // The size in bytes of total buffers. - static constexpr int BYTES_PER_TILE = BYTES_PER_BUFFER * BUFFERS_PER_TILE; - // The boundary for smem_read_offset and smem_write_offset increment. - static constexpr int ROWS_PER_TILE_INC_BOUNDARY = ROWS * BUFFERS_PER_TILE - ROWS; - - inline __device__ Smem_tile_dp_sum(float *smem, const int tidx) - : smem_(smem), smem_read_buffer_(smem), smem_write_buffer_(smem), tidx_(tidx) { - } - - // Move the read offset to next buffer. - inline __device__ void move_to_next_read_buffer() { - if( BUFFERS_PER_TILE > 1 && (smem_read_buffer_ - smem_) >= ROWS_PER_TILE_INC_BOUNDARY ) { - this->smem_read_buffer_ -= ROWS_PER_TILE_INC_BOUNDARY; - } else if( BUFFERS_PER_TILE > 1 ) { - this->smem_read_buffer_ += ROWS; - } - } - - // Move the write offset to next buffer. - inline __device__ void move_to_next_write_buffer() { - if( BUFFERS_PER_TILE > 1 && (smem_write_buffer_ - smem_) >= ROWS_PER_TILE_INC_BOUNDARY ) { - this->smem_write_buffer_ -= ROWS_PER_TILE_INC_BOUNDARY; - } else if( BUFFERS_PER_TILE > 1 ) { - this->smem_write_buffer_ += ROWS; - } - } - - inline __device__ void store(const float (&sum)[LDGS]) { - if (tidx_ % THREADS_PER_ROW == 0) { - int row = tidx_ / THREADS_PER_ROW; - #pragma unroll - for (int i = 0; i < LDGS; ++i) { - if (row + i * ROWS_PER_LDG < ROWS) { - smem_write_buffer_[row + i * ROWS_PER_LDG] = sum[i]; - } - } - } - } - - inline __device__ void store(const float sum, const int buffer_idx) { - float *smem_write = smem_ + buffer_idx * ROWS; - int row = tidx_ / THREADS_PER_ROW; - if ((row < ROWS) && (tidx_ % THREADS_PER_ROW == 0)) { - smem_write[row] = sum; - } - } - - inline __device__ void store(const float (&sum)[LDGS], const int buffer_idx) { - float *smem_write = smem_ + buffer_idx * ROWS; - if (tidx_ % THREADS_PER_ROW == 0) { - int row = tidx_ / THREADS_PER_ROW; - #pragma unroll - for (int i = 0; i < LDGS; ++i) { - if (row + i * ROWS_PER_LDG < ROWS) { - smem_write[row + i * ROWS_PER_LDG] = sum[i]; - } - } - } - } - - inline __device__ void store_pair(const float (&sum)[MMAS_M * 2]) { - float *smem_write = smem_; - // Extract the position in the warp. - int warp = tidx_ / Cta_tile::THREADS_PER_WARP; - int lane = tidx_ % Cta_tile::THREADS_PER_WARP; - int row = lane / 4; - #pragma unroll - for (int mi = 0; mi < MMAS_M; ++mi) { - smem_write[mi * ROWS_PER_MMA + row + 0] = sum[mi * 2 + 0]; - smem_write[mi * ROWS_PER_MMA + row + 8] = sum[mi * 2 + 1]; - } - } - - inline __device__ void store_pair(const float (&sum)[MMAS_M * 2], const int buffer_idx) { - float *smem_write = smem_ + buffer_idx * ROWS; - // Extract the position in the warp. - int warp = tidx_ / Cta_tile::THREADS_PER_WARP; - int lane = tidx_ % Cta_tile::THREADS_PER_WARP; - int row = lane / 4; - #pragma unroll - for (int mi = 0; mi < MMAS_M; ++mi) { - smem_write[mi * ROWS_PER_MMA + row + 0] = sum[mi * 2 + 0]; - smem_write[mi * ROWS_PER_MMA + row + 8] = sum[mi * 2 + 1]; - } - } - - template - inline __device__ void load(float (&sum)[N], const int (&row)[N]) { - #pragma unroll - for( int ni = 0; ni < N; ni++ ) { - sum[ni] = smem_read_buffer_[row[ni]]; - } - } - - template - inline __device__ void load(float (&sum)[N], const int (&row)[N], const int buffer_idx) { - float *smem_read = smem_ + buffer_idx * ROWS; - #pragma unroll - for( int ni = 0; ni < N; ni++ ) { - sum[ni] = smem_read[row[ni]]; - } - } - - static inline __device__ float reduce_warp(float sum) { - fmha::SumOp sum_op; - return fmha::Allreduce::run(sum, sum_op); - } - - const int tidx_; - float * const smem_; - float *smem_read_buffer_; - float *smem_write_buffer_; -}; - -} // namespace fmha diff --git a/csrc/flash_attn/src/fmha/softmax.h b/csrc/flash_attn/src/fmha/softmax.h deleted file mode 100644 index bd874375e..000000000 --- a/csrc/flash_attn/src/fmha/softmax.h +++ /dev/null @@ -1,607 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -#include -#include - -namespace fmha { - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ float apply_exp_(float x, float max) { - return __expf(x - max); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ float apply_exp2_(float x, float max) { - return exp2f(x - max); - // With fast-math, this produces the same PTX instruction as the assembly below - // float diff = x - max; - // float res; - // asm ("ex2.approx.ftz.f32 %0, %1;\n\t" : "=f"(res) : "f"(diff)); - // return res; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template struct ReadType {}; -template<> struct ReadType<4> { using T = float;}; -template<> struct ReadType<8> { using T = float2;}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct Smem_tile_reduce { - // Helper class to distribute MMA tiles reduced over rows per warp over quads. - - // The Mma tile. - using Mma_tile = fmha::Hmma_tile; - - // The number of MMAs in M/N dimensions. - static constexpr int MMAS_M = Mma_tile::MMAS_M; - static constexpr int MMAS_N = Mma_tile::MMAS_N; - - static constexpr int WARPS_M = Cta_tile::WARPS_M; - static constexpr int WARPS_N = Cta_tile::WARPS_N; - - - static constexpr int ROWS = WARPS_M * MMAS_M * 16; - static constexpr int COLS = WARPS_N; - static_assert(COLS == 4 || COLS == 8); - static constexpr int ROWS_PER_XOR_PATTERN = (COLS == 8) ? 4 : 8; - static constexpr int BYTES_PER_TILE = ROWS * COLS * sizeof(float); - static constexpr int ELTS_PER_TILE = ROWS * COLS; - - static constexpr int THREADS_PER_GROUP = Kernel_traits::Gmem_tile_o::THREADS_PER_ROW; - // TD [2022-05-02]: No longer true if head_dim != 64 - // static_assert(THREADS_PER_GROUP == 16); // DEBUG - static constexpr int ROWS_PER_WARP = 32 / THREADS_PER_GROUP; - static constexpr int LOOPS = Kernel_traits::Gmem_tile_o::LOOPS; - static_assert(LOOPS == 1); - - using read_t = typename ReadType::T; - - __device__ inline Smem_tile_reduce(float *smem_, const int tidx) { - - int lane = tidx % 32; - int warp = tidx / 32; - - int warp_m = warp % WARPS_M; - int warp_n = warp / WARPS_M; - - qid_ = lane % 4; - int qp = lane / 4; - - // Swizzle the column to avoid 2-fold bank conflicts when we have 8 warps. - // This won't affect reading as we assume commutative reduction ops. - const int col = warp_n ^ (qp / ROWS_PER_XOR_PATTERN); - smem_write_ = &smem_[warp_m * 16 * MMAS_M * WARPS_N + qp * WARPS_N + col]; - smem_read_ = &reinterpret_cast(smem_)[warp_m * 16 * MMAS_M * 4 + qp * 4 + qid_]; - smem_read_row_ = &reinterpret_cast(smem_)[warp_m * 16 * MMAS_M * 4 + qid_]; - - } - - __device__ inline void store(float (&frag)[2 * MMAS_M]) { - if( qid_ == 0 ) { - #pragma unroll - for( int mi = 0; mi < MMAS_M; mi++ ) { - int offset = mi * 16 * WARPS_N; - smem_write_[offset + 0 * 8 * WARPS_N] = frag[mi * 2 + 0]; - smem_write_[offset + 1 * 8 * WARPS_N] = frag[mi * 2 + 1]; - } - } - } - - __device__ inline void load(read_t (&frag)[2 * MMAS_M]) { - #pragma unroll - for( int mi = 0; mi < MMAS_M; mi++ ) { - int offset = mi * 16 * 4; - frag[mi * 2 + 0] = smem_read_[offset + 0 * 8 * 4]; - frag[mi * 2 + 1] = smem_read_[offset + 1 * 8 * 4]; - } - } - - __device__ inline void load_row(read_t (&frag)[MMAS_M], int row) { - #pragma unroll - for( int mi = 0; mi < MMAS_M; mi++ ) { - int offset = mi * 16 * 4; - frag[mi] = smem_read_row_[offset + 0 * 8 * 4 + row * 4]; - } - } - - int qid_; - float *smem_write_; - read_t *smem_read_; - read_t *smem_read_row_; - -}; - - -template -struct Softmax_base { - - // The Mma tile. - using Mma_tile = fmha::Hmma_tile; - - // The number of MMAs in M/N dimensions. - static constexpr int MMAS_M = Mma_tile::MMAS_M; - static constexpr int MMAS_N = Mma_tile::MMAS_N; - - // The number of groups of warp such that we have at most 4 warps writing consecutive elements. - static constexpr int GROUPS = fmha::DivUpConstexpr(Cta_tile::WARPS_N, 4); - // The number of elements that we are going to store per row. - static constexpr int ELEMENTS_PER_ROW = Cta_tile::WARPS_N / GROUPS; - // The number of rows. - static constexpr int ROWS = Cta_tile::M * GROUPS; - // The total number of elements. - static constexpr int ELEMENTS = ROWS * ELEMENTS_PER_ROW; - - // Ctor. - template - inline __device__ Softmax_base(const Params ¶ms, void *smem, int tidx) - : // packed_mask_ptr_(reinterpret_cast(params.packed_mask_ptr)), - smem_(reinterpret_cast(smem)), tidx_(tidx) { - - // Move to the 1st mask loaded by the thread+ tidx; - // packed_mask_ptr_ += bidb * params.packed_mask_stride_in_bytes + tidx * sizeof(uint32_t); - - // Extract the position in the warp. - int warp = tidx / Cta_tile::THREADS_PER_WARP; - int lane = tidx % Cta_tile::THREADS_PER_WARP; - - // Decompose the warp index into M and N. - int warp_m = warp % Cta_tile::WARPS_M; - int warp_n = warp / Cta_tile::WARPS_M; - - // Decompose the warp-n index into group/position-inside-the-group. - int warp_g = warp_n / ELEMENTS_PER_ROW; - int warp_i = warp_n % ELEMENTS_PER_ROW; - - // The location written by the threads. - int write_row = warp_g * (ROWS / GROUPS) + warp_m * Mma_tile::M_PER_MMA + lane / 4; - int write_col = warp_i; - - // Assemble the write pointer. - smem_write_ = &smem_[write_row * ELEMENTS_PER_ROW + write_col]; - - // Assemble the read pointer. - smem_read_ = &smem_[warp_m * Mma_tile::M_PER_MMA + lane / 4]; - } - - template - inline __device__ void apply_mask(const Mask &mask) { - #pragma unroll - for( int mi = 0; mi < MMAS_M; ++mi ) { - #pragma unroll - for( int ii = 0; ii < 2; ++ii ) { - #pragma unroll - for( int ni = 0; ni < MMAS_N; ++ni ) { - #pragma unroll - for( int jj = 0; jj < 4; ++jj ) { - if( !mask.is_valid(mi, ni, ii, jj) ) { - elt_[2 * mi + ii][4 * ni + jj] = zero ? 0.f : -INFINITY; - } - } - } - } - } - } - - // Apply the exp to all the elements. - template - inline __device__ void apply_exp(const float (&max)[MMAS_M * 2]) { - #pragma unroll - for( int mi = 0; mi < MMAS_M * 2; ++mi ) { - // Instead of computing exp(x - max), we compute exp2(x * log_2(e) - - // max * log_2(e)) This allows the compiler to use the ffma - // instruction instead of fadd and fmul separately. - constexpr float kLog2e = M_LOG2E; - const float max_base2 = max_in_base2 ? max[mi] : max[mi] * kLog2e; - #pragma unroll - for( int ni = 0; ni < MMAS_N * 4; ++ni ) { - // elt_[mi][ni] = apply_exp_(elt_[mi][ni], max[mi]); - elt_[mi][ni] = apply_exp2_(elt_in_base2 ? elt_[mi][ni] : elt_[mi][ni] * kLog2e, - max_base2); - } - } - } - - // Apply the exp to all the elements. - template - inline __device__ void scale_apply_exp(const float (&max)[MMAS_M * 2], const float scale_) { - const float max_scale = scale_max ? scale_ * M_LOG2E : M_LOG2E; - const float scale = scale_ * M_LOG2E; - #pragma unroll - for( int mi = 0; mi < MMAS_M * 2; ++mi ) { - // Instead of computing exp(x - max), we compute exp2(x * log_2(e) - - // max * log_2(e)) This allows the compiler to use the ffma - // instruction instead of fadd and fmul separately. - const float max_scaled = max[mi] * max_scale; - #pragma unroll - for( int ni = 0; ni < MMAS_N * 4; ++ni ) { - elt_[mi][ni] = apply_exp2_(elt_[mi][ni] * scale, max_scaled); - } - } - } - - // Apply the exp to all the elements. - template - inline __device__ void apply_exp_col(const float (&max)[MMAS_N * 4]) { - #pragma unroll - for( int ni = 0; ni < MMAS_N * 4; ++ni ) { - constexpr float kLog2e = M_LOG2E; - const float max_base2 = max_in_base2 ? max[ni] : max[ni] * kLog2e; - #pragma unroll - for( int mi = 0; mi < MMAS_M * 2; ++mi ) { - elt_[mi][ni] = apply_exp2_(elt_[mi][ni] * kLog2e, max_base2); - } - } - } - // inline __device__ void apply_exp_col(const float (&max)[MMAS_N]) { - // constexpr float kLog2e = M_LOG2E; - // #pragma unroll - // for( int ni = 0; ni < MMAS_N * 4; ++ni ) { - // float max_base2 = max_in_base2 ? max[ni / 4] : max[ni / 4] * kLog2e; - // max_base2 = __shfl_sync(0xffffffff, max_base2, (ni % 4) * 8 + threadIdx.x % 8); - // #pragma unroll - // for( int mi = 0; mi < MMAS_M * 2; ++mi ) { - // elt_[mi][ni] = apply_exp2_(elt_[mi][ni] * kLog2e, max_base2); - // } - // } - // } - - template - inline __device__ void apply_dropout_16bits(Philox &ph, uint16_t p_dropout_in_uint16_t) { - // We encode the dropout pattern in the sign bit of the non-negative - // softmax to distinguish from pre-existing zeros - auto encode_dropout = [](bool keep, float val) { - return keep ? val : (encode_dropout_in_sign_bit ? -val : float(0)); - }; - #pragma unroll - for( int mi = 0; mi < MMAS_M; mi++ ) { - #pragma unroll - for( int ni = 0; ni < MMAS_N; ni++ ) { - uint16_t tmp[8]; - // fmha::uint4_to_ushort8(ph(), tmp); - uint4 tmp_32 = ph(); - fmha::uint4_to_ushort8(tmp_32, tmp); - // if ((threadIdx.x % 32 == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("tidx = %d, ni = %d, ph Philox: %u, %u, %u, %u\n", threadIdx.x, ni, tmp_32.x, tmp_32.y, tmp_32.z, tmp_32.w); - // } - #pragma unroll - for (int ii = 0; ii < 2; ++ii) { - #pragma unroll - for (int jj = 0; jj < 4; ++jj) { - elt_[mi * 2 + ii][4 * ni + jj] = - encode_dropout(tmp[ii * 4 + jj] <= p_dropout_in_uint16_t, elt_[mi * 2 + ii][4 * ni + jj]); - } - } - } - } - } - - template - inline __device__ void apply_dropout_16bits(Philox &ph, uint16_t p_dropout_in_uint16_t, - unsigned long long philox_subsequence) { - // We encode the dropout pattern in the sign bit of the non-negative - // softmax to distinguish from pre-existing zeros - auto encode_dropout = [](bool keep, float val) { - return keep ? val : (encode_dropout_in_sign_bit ? -val : float(0)); - }; - static_assert(MMAS_M == 1); // We're assuming 16x16 blocks. - #pragma unroll - for( int mi = 0; mi < MMAS_M; mi++ ) { - #pragma unroll - for( int ni = 0; ni < MMAS_N; ni++ ) { - uint16_t tmp[8]; - // fmha::uint4_to_ushort8(ph(), tmp); - fmha::uint4_to_ushort8(ph(philox_subsequence + ni * Cta_tile::WARPS_N), tmp); - // uint4 tmp_32 = ph(philox_subsequence + ni * Cta_tile::WARPS_N); - // fmha::uint4_to_ushort8(tmp_32, tmp); - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("ni = %d, ph Philox: %u, %u, %u, %u\n", ni, tmp_32.x, tmp_32.y, tmp_32.z, tmp_32.w); - // } - #pragma unroll - for (int ii = 0; ii < 2; ++ii) { - #pragma unroll - for (int jj = 0; jj < 4; ++jj) { - elt_[mi * 2 + ii][4 * ni + jj] = - encode_dropout(tmp[ii * 4 + jj] <= p_dropout_in_uint16_t, elt_[mi * 2 + ii][4 * ni + jj]); - } - } - } - } - } - - template - inline __device__ void apply_dropout_16bits(Philox &ph0, Philox &ph1, uint16_t p_dropout_in_uint16_t) { - // We encode the dropout pattern in the sign bit of the non-negative - // softmax to distinguish from pre-existing zeros - auto encode_dropout = [](bool keep, float val) { - return keep ? val : (encode_dropout_in_sign_bit ? -val : float(0)); - }; - #pragma unroll - for( int mi = 0; mi < MMAS_M; mi++ ) { - static_assert(MMAS_N % 2 == 0); - #pragma unroll - for( int ni = 0; ni < MMAS_N; ni += 2 ) { - uint16_t tmp[8]; - fmha::uint4_to_ushort8(ph0(), tmp); - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("ni = %d, ph Philox: %u, %u, %u, %u\n", ni, tmp.x, tmp.y, tmp.z, tmp.w); - // } - #pragma unroll - for (int ii = 0; ii < 2; ++ii) { - #pragma unroll - for (int jj = 0; jj < 4; ++jj) { - elt_[mi * 2 + ii][4 * ni + jj] = - encode_dropout(tmp[ii * 4 + jj] <= p_dropout_in_uint16_t, elt_[mi * 2 + ii][4 * ni + jj]); - } - } - fmha::uint4_to_ushort8(ph1(), tmp); - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("ni = %d, ph Philox: %u, %u, %u, %u\n", ni, tmp.x, tmp.y, tmp.z, tmp.w); - // } - #pragma unroll - for (int ii = 0; ii < 2; ++ii) { - #pragma unroll - for (int jj = 0; jj < 4; ++jj) { - elt_[mi * 2 + ii][4 * (ni + 1) + jj] = - encode_dropout(tmp[ii * 4 + jj] <= p_dropout_in_uint16_t, elt_[mi * 2 + ii][4 * (ni + 1) + jj]); - } - } - } - } - } - - // Scale all the elements. - inline __device__ void scale(const float (&sum)[MMAS_M * 2]) { - // Precompute the inverse sum to normalize. Without -use_fast_math, it makes a huge deal. - float inv_sum[MMAS_M * 2]; - #pragma unroll - for( int mi = 0; mi < MMAS_M * 2; ++mi ) { - inv_sum[mi] = (sum[mi] == 0.f || sum[mi] != sum[mi]) ? 1.f : 1.f / sum[mi]; - } - - // Update the values. - #pragma unroll - for( int mi = 0; mi < MMAS_M * 2; ++mi ) { - #pragma unroll - for( int ni = 0; ni < MMAS_N * 4; ++ni ) { - elt_[mi][ni] *= inv_sum[mi]; - } - } - } - - // Subtract all elements by dp_sum - inline __device__ void subtract_dp_sum(const float (&dp_sum)[MMAS_M * 2]) { - #pragma unroll - for( int mi = 0; mi < MMAS_M * 2; ++mi ) { - #pragma unroll - for( int ni = 0; ni < MMAS_N * 4; ++ni ) { - elt_[mi][ni] -= dp_sum[mi]; - } - } - } - - // The pointer to the mask. - const char *packed_mask_ptr_; - // Shared memory for the CTA-wide reduction. - float *smem_, *smem_write_, *smem_read_; - // The current thread index. - int tidx_; - // The elements. - float elt_[MMAS_M * 2][MMAS_N * 4]; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct Softmax : public Softmax_base { - - // The base class. - using Base = Softmax_base; - // The fragment. - using Fragment_a = fmha::Fragment_a; - - static_assert(Fragment_a::NUM_REGS == 4); - - static constexpr int WARPS_M = Cta_tile::WARPS_M; - static constexpr int WARPS_N = Cta_tile::WARPS_N; - // The MMAs. - static constexpr int MMAS_M = Base::MMAS_M; - static constexpr int MMAS_N = Base::MMAS_N; - - // The accumulators. - using Accumulator = fmha::Fragment_accumulator; - using Accumulator_out = Fragment; - static_assert(Accumulator_out::NUM_REGS == 4); - - static_assert(std::is_same::value); - - using Smem_tile_red = Smem_tile_reduce; - static_assert(Smem_tile_red::ELTS_PER_TILE == Cta_tile::M * WARPS_N); - // Ctor. - template - inline __device__ Softmax(const Params ¶ms, void *smem, int tidx) - : Base(params, smem, tidx) - , params_scale_bmm1_(params.scale_bmm1) - , smem_sum_(static_cast(smem), tidx) - , smem_max_(static_cast(smem) + Smem_tile_red::ELTS_PER_TILE, tidx) { - } - - // Pack the data to a fragment for the next GEMM. - template - inline __device__ void pack(Fragment_a (&dst)[K][M]) const { - #pragma unroll - for( int mi = 0; mi < M; ++mi ) { - #pragma unroll - for( int ki = 0; ki < K; ++ki ) { - - // 1st row - 4 elements per row. - float tmp_00 = this->elt_[2 * mi + 0][4 * ki + 0]; - float tmp_01 = this->elt_[2 * mi + 0][4 * ki + 1]; - float tmp_02 = this->elt_[2 * mi + 0][4 * ki + 2]; - float tmp_03 = this->elt_[2 * mi + 0][4 * ki + 3]; - - // 2nd row - 4 elements per row. - float tmp_10 = this->elt_[2 * mi + 1][4 * ki + 0]; - float tmp_11 = this->elt_[2 * mi + 1][4 * ki + 1]; - float tmp_12 = this->elt_[2 * mi + 1][4 * ki + 2]; - float tmp_13 = this->elt_[2 * mi + 1][4 * ki + 3]; - - // Pack to 4 registers. - dst[ki][mi].reg(0) = fmha::float2_pack(tmp_00, tmp_01); - dst[ki][mi].reg(1) = fmha::float2_pack(tmp_10, tmp_11); - dst[ki][mi].reg(2) = fmha::float2_pack(tmp_02, tmp_03); - dst[ki][mi].reg(3) = fmha::float2_pack(tmp_12, tmp_13); - } - } - } - - // Scale FP32 fragments - inline __device__ void unpack(const Accumulator (&acc)[MMAS_M][MMAS_N]) { - const float scalef = reinterpret_cast(this->params_scale_bmm1_); - - #pragma unroll - for( int mi = 0; mi < MMAS_M; ++mi ) { - #pragma unroll - for( int ni = 0; ni < MMAS_N; ++ni ) { - // 1st row - 4 elements per row. - this->elt_[2 * mi + 0][4 * ni + 0] = acc[mi][ni].elt(0) * scalef; - this->elt_[2 * mi + 0][4 * ni + 1] = acc[mi][ni].elt(1) * scalef; - this->elt_[2 * mi + 0][4 * ni + 2] = acc[mi][ni].elt(4) * scalef; - this->elt_[2 * mi + 0][4 * ni + 3] = acc[mi][ni].elt(5) * scalef; - // 2nd row - 4 elements per row. - this->elt_[2 * mi + 1][4 * ni + 0] = acc[mi][ni].elt(2) * scalef; - this->elt_[2 * mi + 1][4 * ni + 1] = acc[mi][ni].elt(3) * scalef; - this->elt_[2 * mi + 1][4 * ni + 2] = acc[mi][ni].elt(6) * scalef; - this->elt_[2 * mi + 1][4 * ni + 3] = acc[mi][ni].elt(7) * scalef; - } - } - } - - // Scale FP32 fragments - inline __device__ void unpack_noscale(const Accumulator (&acc)[MMAS_M][MMAS_N]) { - - #pragma unroll - for( int mi = 0; mi < MMAS_M; ++mi ) { - #pragma unroll - for( int ni = 0; ni < MMAS_N; ++ni ) { - // 1st row - 4 elements per row. - this->elt_[2 * mi + 0][4 * ni + 0] = acc[mi][ni].elt(0); - this->elt_[2 * mi + 0][4 * ni + 1] = acc[mi][ni].elt(1); - this->elt_[2 * mi + 0][4 * ni + 2] = acc[mi][ni].elt(4); - this->elt_[2 * mi + 0][4 * ni + 3] = acc[mi][ni].elt(5); - // 2nd row - 4 elements per row. - this->elt_[2 * mi + 1][4 * ni + 0] = acc[mi][ni].elt(2); - this->elt_[2 * mi + 1][4 * ni + 1] = acc[mi][ni].elt(3); - this->elt_[2 * mi + 1][4 * ni + 2] = acc[mi][ni].elt(6); - this->elt_[2 * mi + 1][4 * ni + 3] = acc[mi][ni].elt(7); - } - } - } - - template - __device__ inline void thread_reduce_(float (&frag)[2 * MMAS_M], Operator &op) { - #pragma unroll - for( int mi = 0; mi < 2 * MMAS_M; mi++ ) { - frag[mi] = zero_init ? this->elt_[mi][0] : op(frag[mi], this->elt_[mi][0]); - #pragma unroll - for( int ni = 1; ni < 4 * MMAS_N; ni++ ) { - frag[mi] = op(frag[mi], this->elt_[mi][ni]); - } - } - } - - template - __device__ inline void reduce_(float (&frag)[2 * MMAS_M], Operator &op, Smem_tile_red & smem_red) { - thread_reduce_(frag, op); - quad_reduce(frag, frag, op); - smem_red.store(frag); - __syncthreads(); - typename Smem_tile_red::read_t tmp[2 * MMAS_M]; - smem_red.load(tmp); - quad_allreduce(frag, tmp, op); - } - - template - __device__ inline void reduce_max(float (&frag)[2 * MMAS_M]){ - MaxOp max; - reduce_(frag, max, smem_max_); - } - - __device__ inline void reduce_sum(float (&frag)[2 * MMAS_M]){ - SumOp sum; - reduce_(frag, sum, smem_sum_); - } - - template - __device__ inline void reduce_sum_before_sync_(float (&frag)[2 * MMAS_M]){ - SumOp sum; - thread_reduce_(frag, sum); - quad_reduce(frag, frag, sum); - smem_sum_.store(frag); - } - - template - __device__ inline void reduce_after_sync_(float (&frag)[NROWS][MMAS_M], - const int (&rows)[NROWS], - Operator &op, Smem_tile_red & smem_red) { - #pragma unroll - for (int ii = 0; ii < NROWS; ii++) { - typename Smem_tile_red::read_t tmp[MMAS_M]; - smem_red.load_row(tmp, rows[ii]); - quad_allreduce(frag[ii], tmp, op); - } - } - - template - __device__ inline void reduce_sum_after_sync_(float (&frag)[NROWS][MMAS_M], - const int (&rows)[NROWS]){ - SumOp sum; - reduce_after_sync_(frag, rows, sum, smem_sum_); - } - - template - __device__ inline void reduce_max_after_sync_(float (&frag)[NROWS][MMAS_M], - const int (&rows)[NROWS]){ - MaxOp max; - reduce_after_sync_(frag, rows, max, smem_max_); - } - - const uint32_t params_scale_bmm1_; - Smem_tile_red smem_max_; - Smem_tile_red smem_sum_; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -} // namespace fmha diff --git a/csrc/flash_attn/src/fmha/utils.h b/csrc/flash_attn/src/fmha/utils.h deleted file mode 100644 index ecb8aef7f..000000000 --- a/csrc/flash_attn/src/fmha/utils.h +++ /dev/null @@ -1,1215 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -#include -#include -#include - -#include - -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 -#include -#endif - -extern "C" __device__ uint32_t __nvvm_get_smem_pointer(void *ptr); - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -namespace fmha { - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -struct Row {}; -struct Col {}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int M, bool = (M & (M-1)) == 0 > -struct Next_power_of_two { -}; - -template< int M > -struct Next_power_of_two< M, true > { enum { VALUE = M }; }; -template<> -struct Next_power_of_two< 3, false> { enum { VALUE = 4 }; }; -template<> -struct Next_power_of_two< 5, false> { enum { VALUE = 8 }; }; -template<> -struct Next_power_of_two< 6, false> { enum { VALUE = 8 }; }; -template<> -struct Next_power_of_two< 7, false> { enum { VALUE = 8 }; }; -template<> -struct Next_power_of_two< 9, false> { enum { VALUE = 16 }; }; -template<> -struct Next_power_of_two< 10, false> { enum { VALUE = 16 }; }; -template<> -struct Next_power_of_two< 11, false> { enum { VALUE = 16 }; }; -template<> -struct Next_power_of_two< 12, false> { enum { VALUE = 16 }; }; -template<> -struct Next_power_of_two< 13, false> { enum { VALUE = 16 }; }; -template<> -struct Next_power_of_two< 14, false> { enum { VALUE = 16 }; }; -template<> -struct Next_power_of_two< 15, false> { enum { VALUE = 16 }; }; -template<> -struct Next_power_of_two< 24, false> { enum { VALUE = 32 }; }; -template<> -struct Next_power_of_two< 48, false> { enum { VALUE = 64 }; }; -template<> -struct Next_power_of_two< 80, false> { enum { VALUE = 128 }; }; -template<> -struct Next_power_of_two< 96, false> { enum { VALUE = 128 }; }; -template<> -struct Next_power_of_two<112, false> { enum { VALUE = 128 }; }; -template<> -struct Next_power_of_two<144, false> { enum { VALUE = 256 }; }; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N, bool = (N & (N-1)) == 0 > -struct Prev_power_of_two { -}; - -template< int N > -struct Prev_power_of_two< N, true > { enum { VALUE = N }; }; -template<> -struct Prev_power_of_two< 3, false> { enum { VALUE = 2 }; }; -template<> -struct Prev_power_of_two< 5, false> { enum { VALUE = 4 }; }; -template<> -struct Prev_power_of_two< 6, false> { enum { VALUE = 4 }; }; -template<> -struct Prev_power_of_two< 7, false> { enum { VALUE = 4 }; }; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int M, int N > -struct Div_up { - enum { VALUE = (M + N-1) / N }; -}; - -constexpr int DivUpConstexpr(int M, int N) { return (M + N - 1) / N; } - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int A, int B > -struct Max { - enum { VALUE = A >= B ? A : B }; -}; - -constexpr int MaxConstexpr(int A, int B) { return A >= B ? A : B; } - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int A, int B, int C > -struct Max_3 { - enum { VALUE = Max::VALUE, C>::VALUE }; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int A, int B > -struct Min { - enum { VALUE = A <= B ? A : B }; -}; - -constexpr int MinConstexpr(int A, int B) { return A <= B ? A : B; } - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int SIZE_IN_BYTES > -struct Uint_from_size_in_bytes { -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template<> -struct Uint_from_size_in_bytes<1> { - using Type = uint8_t; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template<> -struct Uint_from_size_in_bytes<2> { - using Type = uint16_t; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template<> -struct Uint_from_size_in_bytes<4> { - using Type = uint32_t; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template<> -struct Uint_from_size_in_bytes<8> { - using Type = uint2; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template<> -struct Uint_from_size_in_bytes<16> { - using Type = uint4; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int WARPS_M, int WARPS_N, int WARPS_K > -struct Warp_masks { -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template<> -struct Warp_masks<8, 1, 1> { enum { M = 0xe0, N = 0x00, K = 0x00 }; }; -template<> -struct Warp_masks<4, 2, 1> { enum { M = 0x60, N = 0x80, K = 0x00 }; }; -template<> -struct Warp_masks<4, 1, 2> { enum { M = 0x60, N = 0x00, K = 0x80 }; }; -template<> -struct Warp_masks<4, 1, 1> { enum { M = 0x60, N = 0x00, K = 0x00 }; }; -template<> -struct Warp_masks<2, 4, 1> { enum { M = 0x20, N = 0xc0, K = 0x00 }; }; -template<> -struct Warp_masks<2, 2, 2> { enum { M = 0x20, N = 0x40, K = 0x80 }; }; -template<> -struct Warp_masks<2, 2, 1> { enum { M = 0x20, N = 0x40, K = 0x00 }; }; -template<> -struct Warp_masks<2, 1, 2> { enum { M = 0x20, N = 0x00, K = 0x40 }; }; -template<> -struct Warp_masks<2, 1, 1> { enum { M = 0x20, N = 0x00, K = 0x00 }; }; -template<> -struct Warp_masks<1, 8, 1> { enum { M = 0x00, N = 0xe0, K = 0x00 }; }; -template<> -struct Warp_masks<1, 4, 2> { enum { M = 0x00, N = 0x60, K = 0x80 }; }; -template<> -struct Warp_masks<1, 4, 1> { enum { M = 0x00, N = 0x60, K = 0x00 }; }; -template<> -struct Warp_masks<1, 2, 2> { enum { M = 0x00, N = 0x20, K = 0x40 }; }; -template<> -struct Warp_masks<1, 2, 1> { enum { M = 0x00, N = 0x20, K = 0x00 }; }; -template<> -struct Warp_masks<1, 1, 4> { enum { M = 0x00, N = 0x00, K = 0x60 }; }; -template<> -struct Warp_masks<1, 1, 2> { enum { M = 0x00, N = 0x00, K = 0x20 }; }; -template<> -struct Warp_masks<1, 1, 1> { enum { M = 0x00, N = 0x00, K = 0x00 }; }; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename T > -inline __device__ __host__ T div_up(T m, T n) { - return (m + n-1) / n; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline int clz(int x) { - for( int i = 31; i >= 0; --i ) { - if( (1 << i) & x ) { - return 31 - i; - } - } - return 32; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline int find_log_2(int x, bool round_up = false) { - int a = 31 - clz(x); - if( round_up ) { - a += (x & (x-1)) ? 1 : 0; - } - return a; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t hadd2(uint32_t a, uint32_t b) { - uint32_t c; - asm volatile("add.f16x2 %0, %1, %2;\n" : "=r"(c) : "r"(a), "r"(b)); - return c; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t hmin2(uint32_t a, uint32_t b) { - uint32_t c; - asm volatile("min.f16x2 %0, %1, %2;" : "=r"(c) : "r"(a), "r"(b)); - return c; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t hmul2(const uint32_t a, const uint32_t b) { - // uint32_t c; - // asm volatile("mul.f16x2 %0, %1, %2;\n" : "=r"(c) : "r"(a), "r"(b)); - // return c; - __half2 result = __hmul2(reinterpret_cast(a), - reinterpret_cast(b)); - return reinterpret_cast(result); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint2 hmul4(uint2 a, uint2 b) { - uint2 c; - c.x = hmul2(a.x, b.x); - c.y = hmul2(a.y, b.y); - return c; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint4 hmul8(uint4 a, uint4 b) { - uint4 c; - c.x = hmul2(a.x, b.x); - c.y = hmul2(a.y, b.y); - c.z = hmul2(a.z, b.z); - c.w = hmul2(a.w, b.w); - return c; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint4 hmul8(uint32_t a, uint4 b) { - uint4 c; - c.x = hmul2(a, b.x); - c.y = hmul2(a, b.y); - c.z = hmul2(a, b.z); - c.w = hmul2(a, b.w); - return c; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ uint32_t hrelu2(uint32_t x); - -template<> -inline __device__ uint32_t hrelu2<__half>(uint32_t x) { - uint32_t res; - const uint32_t zero = 0u; -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 - asm volatile( "max.f16x2 %0, %1, %2;\n" : "=r"(res) : "r"(x), "r"(zero)); -#else - asm volatile( \ - "{\n" \ - "\t .reg .f16x2 sela;\n" \ - "\t set.gtu.u32.f16x2 sela, %1, %2;\n" \ - "\t and.b32 %0, sela, %1;\n" - "}\n" : "=r"(res) : "r"(x), "r"(zero)); -#endif - return res; -} - -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 -template<> -inline __device__ uint32_t hrelu2<__nv_bfloat16>(uint32_t x) { - uint32_t res; - const uint32_t zero = 0u; - asm volatile( "max.bf16x2 %0, %1, %2;\n" : "=r"(res) : "r"(x), "r"(zero)); - return res; -} -#endif - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t habs2(uint32_t x) { - uint32_t res; - asm volatile( "abs.f16x2 %0, %1;\n" : "=r"(res) : "r"(x)); - return res; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename T > -static inline __device__ T clamp(T x, T lb, T ub) { - return x < lb ? lb : (x > ub ? ub : x); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint16_t clamp_to_zero(uint16_t x) { - uint16_t mask; - asm volatile("set.gtu %0, %1, 0;" : "=h"(mask) : "h"(x)); - return mask & x; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint16_t float_to_half(float f) { - uint16_t h; - asm volatile("cvt.rn.f16.f32 %0, %1;" : "=h"(h) : "f"(f)); - return h; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t float2_to_half2(float a, float b) { - uint32_t c; -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 - asm volatile("cvt.rn.f16x2.f32 %0, %1, %2;\n" : "=r"(c) : "f"(b), "f"(a)); -#else - uint16_t lo = float_to_half(a); - uint16_t hi = float_to_half(b); - asm volatile("mov.b32 %0, {%1, %2};\n" : "=r"(c) : "h"(lo), "h"(hi)); -#endif - return c; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ uint32_t float2_pack(float a, float b); - -template <> -inline __device__ uint32_t float2_pack<__half>(float a, float b) { - __half2 result = __floats2half2_rn(a, b); - return reinterpret_cast(result); -} - -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 -template <> -inline __device__ uint32_t float2_pack<__nv_bfloat16>(float a, float b) { - __nv_bfloat162 result = __floats2bfloat162_rn(a, b); - return reinterpret_cast(result); -} -#endif - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t float_to_half2(float a) { - return float2_to_half2(a,a); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t float2_to_half2(const float2 &f) { - return float2_to_half2(f.x, f.y); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint2 float4_to_half4(float x, float y, float z, float w) { - uint2 d; - d.x = float2_to_half2(x, y); - d.y = float2_to_half2(z, w); - return d; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ uint2 float4_pack(float x, float y, float z, float w) { - uint2 d; - d.x = float2_pack(x, y); - d.y = float2_pack(z, w); - return d; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t hfma2(uint32_t a, uint32_t b, uint32_t c) { - uint32_t d; - asm volatile("fma.rn.f16x2 %0, %1, %2, %3;\n" : "=r"(d) : "r"(a), "r"(b), "r"(c)); - return d; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t hfma2_relu(uint32_t a, uint32_t b, uint32_t c) { - uint32_t d; -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 - asm volatile("fma.rn.f16x2.relu %0, %1, %2, %3;" : "=r"(d) : "r"(a), "r"(b), "r"(c)); -#else - d = hrelu2<__half>(hfma2(a, b, c)); -#endif - return d; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t h0_h0(uint32_t x) { - uint32_t y; - asm volatile("{.reg .f16 lo, hi; mov.b32 {lo, hi}, %1; mov.b32 %0, {lo, lo};}\n" - : "=r"(y) : "r"(x)); - return y; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ float h0_to_float(uint32_t h2) { - float f; - asm volatile("{\n" \ - ".reg .f16 lo, hi;\n" \ - "mov.b32 {lo, hi}, %1;\n" \ - "cvt.f32.f16 %0, lo;\n" \ - "}\n" : "=f"(f) : "r"(h2)); - return f; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t h1_h1(uint32_t x) { - uint32_t y; - asm volatile("{.reg .f16 lo, hi; mov.b32 {lo, hi}, %1; mov.b32 %0, {hi, hi};}\n" - : "=r"(y) : "r"(x)); - return y; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint16_t hadd(uint16_t a, uint16_t b) { - uint16_t d; - asm volatile("add.f16 %0, %1, %2;" : "=h"(d) : "h"(a), "h"(b)); - return d; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint32_t hadd(uint32_t a, uint32_t b) { - return hadd2(a, b); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint2 hadd4(uint2 a, uint2 b) { - uint2 c; - c.x = hadd2(a.x, b.x); - c.y = hadd2(a.y, b.y); - return c; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint2 hadd(uint2 a, uint2 b) { - return hadd4(a, b); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint4 hadd8(uint4 a, uint4 b) { - uint4 c; - c.x = hadd2(a.x, b.x); - c.y = hadd2(a.y, b.y); - c.z = hadd2(a.z, b.z); - c.w = hadd2(a.w, b.w); - return c; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ float2 half2_unpack(uint32_t a); - -template <> -inline __device__ float2 half2_unpack<__half>(uint32_t a) { - return __half22float2(reinterpret_cast<__half2 (&)>(a)); -} - -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 -template <> -inline __device__ float2 half2_unpack<__nv_bfloat16>(uint32_t a) { - return __bfloat1622float2(reinterpret_cast<__nv_bfloat162 (&)>(a)); -} -#endif - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -// Converted two half2's or bf162's into float, then take their dot product. -template -inline __device__ float hfma2_to_float(const uint32_t a, const uint32_t b) { - float2 af = fmha::half2_unpack(a); - float2 bf = fmha::half2_unpack(b); - return af.x * bf.x + af.y * bf.y; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -// Converted two vectors of 8 half's or bf16's into float, then take their dot product. -template -inline __device__ float hmulsum8(const uint4 a, const uint4 b) { - float sum; - sum = fmha::hfma2_to_float(a.x, b.x); - sum += fmha::hfma2_to_float(a.y, b.y); - sum += fmha::hfma2_to_float(a.z, b.z); - sum += fmha::hfma2_to_float(a.w, b.w); - return sum; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint4 fadd4(uint4 a, uint4 b) { - float4 c; - c.x = reinterpret_cast(a.x) + reinterpret_cast(b.x); - c.y = reinterpret_cast(a.y) + reinterpret_cast(b.y); - c.z = reinterpret_cast(a.z) + reinterpret_cast(b.z); - c.w = reinterpret_cast(a.w) + reinterpret_cast(b.w); - return reinterpret_cast(c); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint4 fmul4(uint4 a, float b) { - float4 c; - c.x = reinterpret_cast(a.x) * b; - c.y = reinterpret_cast(a.y) * b; - c.z = reinterpret_cast(a.z) * b; - c.w = reinterpret_cast(a.w) * b; - return reinterpret_cast(c); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint4 hadd(uint4 a, uint4 b) { - return hadd8(a, b); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ float half_to_float(uint16_t h) { - float f; - asm volatile("cvt.f32.f16 %0, %1;\n" : "=f"(f) : "h"(h)); - return f; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ float2 half2_to_float2(uint32_t x) { - uint16_t lo, hi; - asm volatile("mov.b32 {%0, %1}, %2;\n" : "=h"(lo), "=h"(hi) : "r"(x)); - return make_float2(half_to_float(lo), half_to_float(hi)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ void half2_to_float2(float &x, float &y, uint32_t h) { - float2 tmp = half2_to_float2(h); - x = tmp.x; - y = tmp.y; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint16_t hfma(uint16_t a, uint16_t b, uint16_t c) { - uint16_t d; - asm volatile("fma.rn.f16 %0, %1, %2, %3;" : "=h"(d) : "h"(a), "h"(b), "h"(c)); - return d; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ uint16_t hmul(uint16_t a, uint16_t b) { - uint16_t d; - asm volatile("mul.f16 %0, %1, %2;" : "=h"(d) : "h"(a), "h"(b)); - return d; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ void uint4_to_ushort8(const uint4 a, uint16_t (&b)[8]) { - uint32_t *b_tmp = reinterpret_cast(&b[0]); - b_tmp[0] = a.x; - b_tmp[1] = a.y; - b_tmp[2] = a.z; - b_tmp[3] = a.w; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline __device__ float sigmoid(float x) { - return 1.f / (1.f + expf(-x)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void clear(uint16_t &dst) { - dst = uint16_t(0); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void clear(uint32_t &dst) { - dst = 0u; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void clear(uint2 &dst) { - dst = make_uint2(0u, 0u); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void clear(uint4 &dst) { - dst = make_uint4(0u, 0u, 0u, 0u); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// -// P R E D I C A T E P A C K I N G -// -//////////////////////////////////////////////////////////////////////////////////////////////////// -enum { BYTES_PER_REG = 4, PREDS_PER_BYTE = 4, PREDS_PER_REG = BYTES_PER_REG * PREDS_PER_BYTE }; - - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// -// G E N E R I C P R E D I C A T E D L D G S T S -// -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N, int M, typename Functor > -inline __device__ void load_(Functor &fct, const uint32_t (&preds)[M]) { - - // The number of complete bytes (where we use all the predicates in a byte). - enum { COMPLETE = N / PREDS_PER_BYTE }; - // Make sure we did allocate enough predicates. - static_assert(Div_up::VALUE <= M, ""); - // The remainder. - enum { REMAINDER = N - COMPLETE * PREDS_PER_BYTE }; - // Make sure we got the math right and the remainder is between 0 and 3. - static_assert(REMAINDER >= 0 && REMAINDER <= 3, ""); - // The mask to extract the predicates. - enum { COMPLETE_MASK = (1 << PREDS_PER_BYTE) - 1 }; - - // Clear the fetch registers. - #pragma unroll - for( int ii = 0; ii < N; ++ii ) { - fct.clear(ii); - } - - // Run complete steps. - bool p[PREDS_PER_BYTE]; - #pragma unroll - for( int ii = 0; ii < COMPLETE; ++ii ) { - - // The predicate. - uint32_t reg = preds[ii / BYTES_PER_REG]; - - // Extract the predicates. - #pragma unroll - for( int jj = 0; jj < PREDS_PER_BYTE; ++jj ) { - uint32_t mask = 1u << (ii % BYTES_PER_REG * 8 + jj); - p[jj] = (reg & mask) != 0u; - } - - // Issue the loads. - #pragma unroll - for( int jj = 0; jj < PREDS_PER_BYTE; ++jj ) { - fct.load(ii * PREDS_PER_BYTE + jj, p[jj]); - } - } - - // Skip the rest of the code if we do not have a remainder. - if( REMAINDER > 0 ) { - - // The mask to extract the predicates. - enum { REMAINDER_MASK = (1 << REMAINDER) - 1 }; - - // The predicate register. - uint32_t reg = preds[COMPLETE / BYTES_PER_REG]; - - // Extract the predicates. - #pragma unroll - for( int jj = 0; jj < PREDS_PER_BYTE; ++jj ) { - uint32_t mask = 1u << (COMPLETE % BYTES_PER_REG * 8 + jj); - p[jj] = (reg & mask) != 0u; - } - - // Issue the loads. - #pragma unroll - for( int ii = 0; ii < REMAINDER; ++ii ) { - fct.load(COMPLETE * PREDS_PER_BYTE + ii, p[ii]); - } - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int M, typename Functor > -inline __device__ void load_(Functor &fct, uint32_t preds) { - uint32_t tmp[1] = { preds }; - load_(fct, tmp); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// -// L D G -// -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void ldg(uint8_t &dst, const void *ptr) { - dst = *reinterpret_cast(ptr); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void ldg(uint16_t &dst, const void *ptr) { - dst = *reinterpret_cast(ptr); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void ldg(uint32_t &dst, const void *ptr) { - dst = *reinterpret_cast(ptr); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void ldg(uint2 &dst, const void *ptr) { - dst = *reinterpret_cast(ptr); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void ldg(uint4 &dst, const void *ptr) { - dst = *reinterpret_cast(ptr); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename Data_type, int N > -struct Ldg_functor { - // Ctor. - inline __device__ Ldg_functor(Data_type (&fetch)[N], const void* (&ptrs)[N]) - : fetch_(fetch), ptrs_(ptrs) { - } - - // Clear the element. - inline __device__ void clear(int ii) { - fmha::clear(fetch_[ii]); - } - - // Trigger the loads. - inline __device__ void load(int ii, bool p) { - if( p ) { - ldg(fetch_[ii], ptrs_[ii]); - } - } - - // The fetch registers. - Data_type (&fetch_)[N]; - // The pointers. - const void* (&ptrs_)[N]; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename Data_type, int N, int M > -inline __device__ void ldg_(Data_type (&fetch)[N], const void* (&ptrs)[N], uint32_t (&preds)[M]) { - Ldg_functor fct(fetch, ptrs); - load_(fct, preds); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N, int M > -inline __device__ void ldg(uint8_t (&fetch)[N], const void* (&ptrs)[N], uint32_t (&preds)[M]) { - ldg_(fetch, ptrs, preds); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N, int M > -inline __device__ void ldg(uint16_t (&fetch)[N], const void* (&ptrs)[N], uint32_t (&preds)[M]) { - ldg_(fetch, ptrs, preds); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N, int M > -inline __device__ void ldg(uint32_t (&fetch)[N], const void* (&ptrs)[N], uint32_t (&preds)[M]) { - ldg_(fetch, ptrs, preds); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N, int M > -inline __device__ void ldg(uint2 (&fetch)[N], const void* (&ptrs)[N], uint32_t (&preds)[M]) { - ldg_(fetch, ptrs, preds); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N, int M > -inline __device__ void ldg(uint4 (&fetch)[N], const void* (&ptrs)[N], uint32_t (&preds)[M]) { - ldg_(fetch, ptrs, preds); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// -// L D S -// -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void lds(uint16_t &dst, uint32_t ptr) { - asm volatile("ld.shared.b16 %0, [%1];\n" : "=h"(dst) : "r"(ptr)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void lds(uint32_t &dst, uint32_t ptr) { - asm volatile("ld.shared.b32 %0, [%1];\n" : "=r"(dst) : "r"(ptr)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void lds(uint2 &dst, uint32_t ptr) { - asm volatile("ld.shared.v2.b32 {%0, %1}, [%2];\n" : "=r"(dst.x), "=r"(dst.y) : "r"(ptr)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void lds(uint4 &dst, uint32_t ptr) { - asm volatile("ld.shared.v4.b32 {%0, %1, %2, %3}, [%4];\n" - : "=r"(dst.x) - , "=r"(dst.y) - , "=r"(dst.z) - , "=r"(dst.w) - : "r"(ptr)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// -// L D S M -// -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void ldsm(uint32_t &dst, uint32_t ptr) { -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 730 - asm volatile("ldmatrix.sync.aligned.m8n8.x1.shared.b16 {%0}, [%1];\n" - : "=r"(dst) : "r"(ptr)); -#endif -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void ldsmt(uint32_t &dst, uint32_t ptr) { -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 730 - asm volatile("ldmatrix.sync.aligned.m8n8.x1.trans.shared.b16 {%0}, [%1];\n" - : "=r"(dst) : "r"(ptr)); -#endif -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void ldsm(uint2 &dst, uint32_t ptr) { -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 730 - asm volatile("ldmatrix.sync.aligned.m8n8.x2.shared.b16 {%0, %1}, [%2];\n" - : "=r"(dst.x), "=r"(dst.y) : "r"(ptr)); -#endif -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void ldsmt(uint2 &dst, uint32_t ptr) { -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 730 - asm volatile("ldmatrix.sync.aligned.m8n8.x2.trans.shared.b16 {%0, %1}, [%2];\n" - : "=r"(dst.x), "=r"(dst.y) : "r"(ptr)); -#endif -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void ldsm(uint4 &dst, uint32_t ptr) { -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 730 - asm volatile("ldmatrix.sync.aligned.m8n8.x4.shared.b16 {%0, %1, %2, %3}, [%4];\n" - : "=r"(dst.x), "=r"(dst.y), "=r"(dst.z), "=r"(dst.w) : "r"(ptr)); -#endif -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void ldsmt(uint4 &dst, uint32_t ptr) { -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 730 - asm volatile("ldmatrix.sync.aligned.m8n8.x4.trans.shared.b16 {%0, %1, %2, %3}, [%4];\n" - : "=r"(dst.x), "=r"(dst.y), "=r"(dst.z), "=r"(dst.w) : "r"(ptr)); -#endif -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// -// S T G -// -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void stg(void *ptr, uint8_t val) { - *reinterpret_cast(ptr) = val; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void stg(void *ptr, uint16_t val) { - *reinterpret_cast(ptr) = val; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void stg(void *ptr, uint32_t val) { - *reinterpret_cast(ptr) = val; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void stg(void *ptr, uint2 val) { - *reinterpret_cast(ptr) = val; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void stg(void *ptr, uint4 val) { - *reinterpret_cast(ptr) = val; -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// -// S T S -// -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void sts(uint32_t ptr, uint16_t val) { - asm volatile("st.shared.b16 [%0], %1;\n" : : "r"(ptr), "h"(val)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void sts(uint32_t ptr, uint32_t val) { - asm volatile("st.shared.b32 [%0], %1;\n" : : "r"(ptr), "r"(val)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void sts(uint32_t ptr, uint2 val) { - asm volatile("st.shared.v2.b32 [%0], {%1, %2};\n" - : - : "r"(ptr) - , "r"(val.x) - , "r"(val.y)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -inline __device__ void sts(uint32_t ptr, uint4 val) { - asm volatile("st.shared.v4.b32 [%0], {%1, %2, %3, %4};\n" - : - : "r"(ptr) - , "r"(val.x) - , "r"(val.y) - , "r"(val.z) - , "r"(val.w)); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< typename Data_type, int N > -inline __device__ void sts_(uint32_t (&ptrs)[N], const Data_type (&data)[N]) { - #pragma unroll - for( int ii = 0; ii < N; ++ii ) { - sts(ptrs[ii], data[ii]); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N > -inline __device__ void sts(uint32_t (&ptrs)[N], const uint16_t (&data)[N]) { - sts_(ptrs, data); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N > -inline __device__ void sts(uint32_t (&ptrs)[N], const uint32_t (&data)[N]) { - sts_(ptrs, data); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N > -inline __device__ void sts(uint32_t (&ptrs)[N], const uint2 (&data)[N]) { - sts_(ptrs, data); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template< int N > -inline __device__ void sts(uint32_t (&ptrs)[N], const uint4 (&data)[N]) { - sts_(ptrs, data); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct MaxOp { -__device__ inline T operator()(T const & x, T const & y) { return x > y ? x : y; } -}; - -template <> -struct MaxOp { -// This is slightly faster -__device__ inline float operator()(float const &x, float const &y) { return max(x, y); } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct SumOp { -__device__ inline T operator()(T const & x, T const & y) { return x + y; } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct Allreduce { - static_assert(THREADS == 32 || THREADS == 16 || THREADS == 8 || THREADS == 4); - template - static __device__ inline T run(T x, Operator &op) { - constexpr int OFFSET = THREADS / 2; - x = op(x, __shfl_xor_sync(uint32_t(-1), x, OFFSET)); - return Allreduce::run(x, op); - } -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template<> -struct Allreduce<2> { -template -static __device__ inline T run(T x, Operator &op) { - x = op(x, __shfl_xor_sync(uint32_t(-1), x, 1)); - return x; -} -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -__device__ inline void quad_reduce(float (&dst)[M], float (&src)[M], Operator &op) { - #pragma unroll - for(int mi=0; mi < M; mi++){ - dst[mi] = src[mi]; - dst[mi] = op(dst[mi], __shfl_down_sync(uint32_t(-1), dst[mi], 2)); - dst[mi] = op(dst[mi], __shfl_down_sync(uint32_t(-1), dst[mi], 1)); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -__device__ inline void quad_reduce(__half2 (&dst)[M], __half2 (&src)[M], Operator &op) { - #pragma unroll - for(int mi=0; mi < M; mi++){ - dst[mi] = src[mi]; - dst[mi] = op(dst[mi], __shfl_down_sync(uint32_t(-1), dst[mi], 2)); - dst[mi] = op(dst[mi], __shfl_down_sync(uint32_t(-1), dst[mi], 1)); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -__device__ inline void quad_reduce(float (&dst)[M], float2 (&src)[M], Operator &op) { - float tmp[M]; - #pragma unroll - for(int mi=0; mi < M; mi++){ - tmp[mi] = op(src[mi].x, src[mi].y); - } - quad_reduce(dst, tmp, op); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -__device__ inline void quad_reduce(__half2 (&dst)[M], float2 (&src)[M], Operator &op) { - __half2 tmp[M]; - #pragma unroll - for(int mi=0; mi < M; mi++){ - tmp[mi] = op(reinterpret_cast(src[mi].x), - reinterpret_cast(src[mi].y)); - } - quad_reduce(dst, tmp, op); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -__device__ inline void quad_allreduce(float (&dst)[M], float (&src)[M], Operator &op) { - #pragma unroll - for(int mi=0; mi < M; mi++){ - dst[mi] = src[mi]; - dst[mi] = Allreduce<4>::run(dst[mi], op); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -__device__ inline void quad_allreduce(__half2 (&dst)[M], __half2 (&src)[M], Operator &op) { - #pragma unroll - for(int mi=0; mi < M; mi++){ - dst[mi] = src[mi]; - dst[mi] = Allreduce<4>::run(dst[mi], op); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -__device__ inline void quad_allreduce(float (&dst)[M], float2 (&src)[M], Operator &op) { - float tmp[M]; - #pragma unroll - for(int mi=0; mi < M; mi++){ - tmp[mi] = op(src[mi].x, src[mi].y); - } - quad_allreduce(dst, tmp, op); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -__device__ inline void quad_allreduce(__half2 (&dst)[M], float2 (&src)[M], Operator &op) { - __half2 tmp[M]; - #pragma unroll - for(int mi=0; mi < M; mi++){ - tmp[mi] = op(reinterpret_cast(src[mi].x), - reinterpret_cast(src[mi].y)); - } - quad_allreduce(dst, tmp, op); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -} // namespace fmha diff --git a/csrc/flash_attn/src/fmha_block_dgrad_fp16_kernel_loop.sm80.cu b/csrc/flash_attn/src/fmha_block_dgrad_fp16_kernel_loop.sm80.cu deleted file mode 100644 index bfafa20ea..000000000 --- a/csrc/flash_attn/src/fmha_block_dgrad_fp16_kernel_loop.sm80.cu +++ /dev/null @@ -1,64 +0,0 @@ -/* Copyright (c) 2022, Tri Dao. - */ - -#include "fmha.h" -#include "fmha_block_dgrad_kernel_1xN_loop.h" - -template -__global__ void fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel(FMHA_dgrad_params params) { - fmha::compute_block_dq_dk_dv_1xN(params); -} - -template -void run_fmha_block_dgrad_fp16_sm80_loop_(const FMHA_dgrad_params ¶ms, cudaStream_t stream) { - constexpr int smem_size_softmax = Kernel_traits::Cta_tile_p::M * Kernel_traits::Cta_tile_p::WARPS_N * sizeof(float); - constexpr int smem_size_q = Kernel_traits::Smem_tile_q::BYTES_PER_TILE; - constexpr int smem_size_v = Kernel_traits::Smem_tile_v::BYTES_PER_TILE; - constexpr int smem_size_dq = Kernel_traits::Smem_tile_o::BYTES_PER_TILE; - constexpr int smem_size_dp_sum = Kernel_traits::Smem_dp_sum::BYTES_PER_TILE; - - using Smem_tile_s = fmha::Smem_tile_mma_transposed; - constexpr int smem_size_s = Smem_tile_s::BYTES_PER_TILE; - static_assert(smem_size_s == 16 * Kernel_traits::Cta_tile_p::N * 2); - static_assert(smem_size_dq == 16 * Kernel_traits::Cta_tile_p::K * 4 * Kernel_traits::Cta_tile_p::WARPS_N); - static_assert(smem_size_dp_sum == 16 * 4 * 2); - - constexpr int smem_size_dq_dk_dv = smem_size_q * 2 + smem_size_v * (Kernel_traits::V_IN_REGS ? 1 : 2) + smem_size_dq + smem_size_s * 2 + smem_size_dp_sum; - - bool is_dropout = params.p_dropout < 1.f; // params.p_dropout is the probability of "keeping" - bool is_causal = params.is_causal; - auto kernel = is_dropout - ? (is_causal ? &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel : &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel) - : (is_causal ? &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel : &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel); - constexpr int blocksize_c = Kernel_traits::Cta_tile_p::N; - if (params.seqlen_k == blocksize_c) { - kernel = is_dropout - ? (is_causal ? &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel : &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel) - : (is_causal ? &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel : &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel); - } else if (params.seqlen_k == blocksize_c * 2) { - kernel = is_dropout - ? (is_causal ? &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel : &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel) - : (is_causal ? &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel : &fmha_block_dgrad_fp16_sm80_dq_dk_dv_loop_kernel); - } - - if( smem_size_dq_dk_dv >= 48 * 1024 ) { - FMHA_CHECK_CUDA(cudaFuncSetAttribute( - kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size_dq_dk_dv)); - } - dim3 grid(params.b, params.h); - kernel<<>>(params); - FMHA_CHECK_CUDA(cudaPeekAtLastError()); -} - -void run_fmha_block_dgrad_fp16_sm80(const FMHA_dgrad_params ¶ms, cudaStream_t stream) { - if (params.d == 16) { - using Kernel_traits = FMHA_kernel_traits<256, 16, 16, 1, 8, 0x08u>; - run_fmha_block_dgrad_fp16_sm80_loop_(params, stream); - } else if (params.d == 32) { - using Kernel_traits = FMHA_kernel_traits<256, 32, 16, 1, 8, 0x08u>; - run_fmha_block_dgrad_fp16_sm80_loop_(params, stream); - } else if (params.d == 64) { - using Kernel_traits = FMHA_kernel_traits<256, 64, 16, 1, 8, 0x100u>; - run_fmha_block_dgrad_fp16_sm80_loop_(params, stream); - } -} \ No newline at end of file diff --git a/csrc/flash_attn/src/fmha_block_dgrad_kernel_1xN_loop.h b/csrc/flash_attn/src/fmha_block_dgrad_kernel_1xN_loop.h deleted file mode 100644 index ce5410fc8..000000000 --- a/csrc/flash_attn/src/fmha_block_dgrad_kernel_1xN_loop.h +++ /dev/null @@ -1,772 +0,0 @@ -/* Copyright (c) 2022, Tri Dao. - */ - -#pragma once - -#include "fmha_fprop_kernel_1xN.h" -#include "fmha_kernel.h" -#include "fmha_blockmask.h" -#include -#include - -namespace fmha { - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ void dot_do_o(float (&sum)[M], const uint4 (&do_)[M], const uint4 (&o)[M], - Smem_dp_sum smem, const int buffer_idx) { - #pragma unroll - for (int mi = 0; mi < M; ++mi) { - sum[mi] = smem.reduce_warp(fmha::hmulsum8<__half>(do_[mi], o[mi])); - } - static_assert(M == 1); - smem.store(sum[0], buffer_idx); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ void compute_block_dq_dk_dv_1xN_one_iter(const Params ¶ms, Prng &ph, - const int loop_step_idx) { - - // The description of the CTA tile for the 1st batched GEMM. - using Cta_tile_p = typename Kernel_traits::Cta_tile_p; - // The description of the CTA tile for the 2nd batched GEMM. - using Cta_tile_dq = typename Kernel_traits::Cta_tile_o; - // The description of the CTA tile for the 3rd batched GEMM. - using Cta_tile_dkv = - fmha::Cta_tile_extd; - - static_assert(Cta_tile_dkv::M == 512 || Cta_tile_dkv::M == 256 || Cta_tile_dkv::M == 128); - static_assert(Cta_tile_dkv::N == 16 || Cta_tile_dkv::N == 32 || Cta_tile_dkv::N == 64); - static_assert(Cta_tile_dkv::K == 16); - - // The MMA tile for the 1st GEMM. - using Mma_tile_p = fmha::Hmma_tile; - // The MMA tile for the 2nd GEMM. - using Mma_tile_dq = fmha::Hmma_tile; - // The MMA tile for the 3rd GEMM. - using Mma_tile_dkv = fmha::Hmma_tile; - - // The global memory tile to load Q. - using Gmem_tile_q = typename Kernel_traits::Gmem_tile_q; - // The shared memory tile to reload Q transposed. - using Smem_tile_qt = fmha::Smem_tile_b; - - // The global memory tile to load K. - using Gmem_tile_k = typename Kernel_traits::Gmem_tile_k; - // The shared memory tile to swizzle K^T. Treat K^T as V - using Smem_tile_kt = typename Kernel_traits::Smem_tile_v; - - // Treating V as K. We need to use Kernel_traits::Smem_tile_k otherwise loading will be wrong - // The global memory tile to load V. - using Gmem_tile_v = typename Kernel_traits::Gmem_tile_k; - // The shared memory tile to swizzle V. - using Smem_tile_v = typename Kernel_traits::Smem_tile_k; - - // The global memory tile to load dO. - using Gmem_tile_do = typename Kernel_traits::Gmem_tile_do; - // The shared memory tile to load dO. - // Treating dO as Q. - using Smem_tile_do = typename Kernel_traits::Smem_tile_q; - // The shared memory tile to reload dO transposed. - using Smem_tile_dot = fmha::Smem_tile_b; - - // The global memory tile to load O.Loading O here is similar to loading dO. - using Gmem_tile_o = Gmem_tile_do; - - // The global memory tile to store dQ. - using Gmem_tile_dq = typename Kernel_traits::Gmem_tile_o; - using Gmem_tile_dq_tmp = fmha::Gmem_tile_o; - // The shared memory tile to swizzle dQ. - using Smem_tile_dq = typename Kernel_traits::Smem_tile_o; - - // The global memory tile to store dV. - using Gmem_tile_dv = typename Kernel_traits::Gmem_tile_v; - // The shared memory tile to swizzle dV. - using Smem_tile_dv = fmha::Smem_tile_mma_epilogue; - - // The global memory tile to store dK. - using Gmem_tile_dk = typename Kernel_traits::Gmem_tile_v; - // The shared memory tile to swizzle dK. - using Smem_tile_dk = fmha::Smem_tile_mma_epilogue; - static_assert(Smem_tile_dk::NUM_LDS == Gmem_tile_dk::LDGS); - static_assert(Smem_tile_dk::THREADS_PER_ROW == Gmem_tile_dk::THREADS_PER_ROW); - - using Gmem_tile_s = typename Kernel_traits::Gmem_tile_s; - - using Smem_tile_st = typename Kernel_traits::Smem_tile_st; - - using Gmem_softmax_sum = typename Kernel_traits::Gmem_softmax_sum; - - using Smem_dp_sum = typename Kernel_traits::Smem_dp_sum; - - // using Gemm1 = Gemm_Q_K; - using Gemm1 = Gemm_Q_K; - - using Softmax = fmha::Softmax; - - // Shared memory. - extern __shared__ char smem_[]; - // Shared memory layout if we keep V in registers: - // dO | Q | K / V | dQ | S | dP | dP_sum - // dV | dK - // Shared memory layout if we keep V shared memory: - // dO | Q | K | V | dQ | S | dP | dP_sum - // dV | dK - - - // The block index for the batch. - const int bidb = blockIdx.x; - // The block index for the head. - const int bidh = blockIdx.y; - // The thread index. - const int tidx = threadIdx.x; - - const BlockInfoPadded binfo(params, bidb, bidh, tidx); - // if( binfo.stop_early() ) return; - if( binfo.stop_early(loop_step_idx * Cta_tile_p::N) ) return; - - Blockmask blockmask(params, loop_step_idx); - int block_row_idx = 0; - int mask_val = blockmask.mask_val(0); - if (mask_val == -1) return; - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("mask_val = %d.\n", mask_val); - // } - - Gemm1 gemm_q_k(&smem_[Smem_tile_do::BYTES_PER_TILE], tidx); - // Allocate the global memory tile loader for Q. - Gmem_tile_q gmem_q(params.q_ptr, params.q_row_stride_in_elts, params.q_head_stride_in_elts, - params.d, binfo, tidx, true); - // Allocate the global memory tile loader for dQ. - Gmem_tile_dq gmem_dq(params.dq_ptr, params.dq_row_stride_in_elts, params.dq_head_stride_in_elts, - params.d, binfo, tidx); - Gmem_tile_dq_tmp gmem_dq_tmp(params.o_tmp_ptr, params.o_row_stride_in_elts, params.o_head_stride_in_elts, - params.d, binfo, tidx); - // Allocate the global memory tile loader for S. - Gmem_tile_s gmem_s(params, binfo, tidx); - - fmha::Mask mask(binfo, tidx, loop_step_idx); - - // Allocate the global memory tile loader for K. - Gmem_tile_k gmem_k(params.k_ptr, params.k_row_stride_in_elts, params.k_head_stride_in_elts, - params.d, binfo, tidx, false); - // Allocate the global memory tile loader for V. - Gmem_tile_v gmem_v(params.v_ptr, params.v_row_stride_in_elts, params.v_head_stride_in_elts, - params.d, binfo, tidx, false); - // The base pointer of smem_v; - char *smem_v_ = &smem_[Smem_tile_do::BYTES_PER_TILE + Gemm1::SMEM_OFFSET_V]; - - // Allocate the shared memory tile loader for V. We use the same as K so be careful!!! - Smem_tile_v smem_v(smem_v_, tidx); - // Allocate the shared memory tile loader for K^T. We use the same as K so be careful!!! - Smem_tile_kt smem_kt(&smem_[Smem_tile_do::BYTES_PER_TILE + Gemm1::Smem_tile_q::BYTES_PER_TILE], tidx); - - // Allocate the global memory tile loader for dO. - Gmem_tile_do gmem_do(params.do_ptr, params.o_row_stride_in_elts, params.o_head_stride_in_elts, - params.d, binfo, tidx, true); - // Allocate the shared memory tile loader for dO. - Smem_tile_do smem_do(&smem_[0], tidx); - Smem_tile_dot smem_dot(&smem_[0], tidx); - // Allocate the shared memory tile loader for Q^T. - // TODO: assert that this points to the same memory as gemm_q_k.smem_q - Smem_tile_qt smem_qt(&smem_[Smem_tile_do::BYTES_PER_TILE], tidx); - - Smem_tile_st smem_s(&smem_[Smem_tile_do::BYTES_PER_TILE + Gemm1::SMEM_OFFSET_O + Smem_tile_dq::BYTES_PER_TILE], tidx); - Smem_tile_st smem_dp(&smem_[Smem_tile_do::BYTES_PER_TILE + Gemm1::SMEM_OFFSET_O + Smem_tile_dq::BYTES_PER_TILE + Smem_tile_st::BYTES_PER_TILE], tidx); - - // Allocate the global memory tile loader for O. - Gmem_tile_o gmem_o(params.o_ptr, params.o_row_stride_in_elts, params.o_head_stride_in_elts, - params.d, binfo, tidx, true); - - // Allocate the shared memory tile loader for O. We use the same as K so be careful!!! - Smem_tile_dq smem_dq(&smem_[Smem_tile_do::BYTES_PER_TILE + Gemm1::SMEM_OFFSET_O], tidx); - - Gmem_softmax_sum gmem_softmax_lse(params.softmax_lse_ptr, params, tidx); - Gmem_softmax_sum gmem_softmax_d(params.dsoftmax_sum, params, tidx); - - static_assert(Cta_tile_p::N % Cta_tile_p::M == 0); - const int steps = (params.seqlen_q + Cta_tile_p::M - 1) / Cta_tile_p::M; - - // Wind gmem tiles to the correct position. - int block_row_idx_next = mask_val / 4; - int block_row_idx_to_move = block_row_idx_next - block_row_idx; - block_row_idx = block_row_idx_next; - gmem_q.move(block_row_idx_to_move); - gmem_do.move(block_row_idx_to_move); - gmem_o.move(block_row_idx_to_move); - gmem_dq.move(block_row_idx_to_move); - gmem_dq_tmp.move(block_row_idx_to_move); - // TODO: need to move gmem_s if we want the intermediate result for debugging - gmem_softmax_lse.move(block_row_idx_to_move); - gmem_softmax_d.move(block_row_idx_to_move); - block_row_idx = block_row_idx_next; - - if (!Is_first) { - gmem_k.move(loop_step_idx); - gmem_v.move(loop_step_idx); - } - - // Trigger the loads for K. - gmem_k.load(); - // Trigger the loads for Q. - gmem_q.load(); - // Trigger the loads for V. - gmem_v.load(); - // Trigger the loads for dO. - gmem_do.load(); - // Trigger the loads for O. - // if (Is_first) { gmem_o.load(); } - // if (true) { gmem_o.load(); } - if (Is_first || mask_val % 2 == 1) { gmem_o.load(); } - - float p_lse[Mma_tile_p::MMAS_M * 2]; - gmem_softmax_lse.load(reinterpret_cast(p_lse)); - - float dp_sum[Mma_tile_p::MMAS_M * 2]; - // if (!Is_first) { - // if (false) { - if (!(Is_first || mask_val % 2 == 1)) { - gmem_softmax_d.load(reinterpret_cast(dp_sum)); - } - - float dp_sum_regs[Gmem_tile_do::LDGS]; - Smem_dp_sum smem_dp_sum(reinterpret_cast(&smem_[Smem_tile_do::BYTES_PER_TILE + Gemm1::SMEM_OFFSET_O + Smem_tile_dq::BYTES_PER_TILE + Smem_tile_st::BYTES_PER_TILE * 2]), tidx); - - if (!Is_first) { __syncthreads(); } - // Commit the data for Q, dO, and V to shared memory. - gmem_q.commit(gemm_q_k.smem_q); - gmem_do.commit(smem_do); - // if (Is_first) { - // if (true) { - if (Is_first || mask_val % 2 == 1) { - dot_do_o(dp_sum_regs, gmem_do.fetch_, gmem_o.fetch_, smem_dp_sum, 0); - const int dp_sum_row = tidx / Smem_dp_sum::THREADS_PER_ROW; - if ((dp_sum_row < Smem_dp_sum::ROWS) && (tidx % Smem_dp_sum::THREADS_PER_ROW == 0)) { - gmem_softmax_d.store_row(reinterpret_cast(dp_sum_regs), dp_sum_row); - } - } - - // Instead of scaling dP by rp_dropout, we scale V instead - if (Is_dropout) { - const uint32_t scale_dropout = params.scale_dropout; - #pragma unroll - for(int it=0; it < Gmem_tile_v::LDGS; it++){ - gmem_v.fetch_[it] = fmha::hmul8(scale_dropout, gmem_v.fetch_[it]); - } - } - - gmem_v.commit(smem_v); - - // const uint32_t scale_bmm1 = reinterpret_cast(params.scale_bmm1); - // #pragma unroll - // for(int it=0; it < Gmem_tile_k::LDGS; it++){ - // gmem_k.fetch_[it] = fmha::hmul8(scale_bmm1, gmem_k.fetch_[it]); - // } - - // Commit the data for K to shared memory. - if( !Kernel_traits::SHARE_SMEM_FOR_K_AND_V ) { - gmem_k.commit(gemm_q_k.smem_k); - } - - __syncthreads(); - - // Load the fragments for Q. - gemm_q_k.load_q(); - - // Load the fragments for V. We keep the data in registers during the entire kernel. - typename Smem_tile_v::Fragment frag_v[Kernel_traits::V_IN_REGS ? Mma_tile_p::MMAS_K : 2][Mma_tile_p::MMAS_N]; - if (Kernel_traits::V_IN_REGS) { - #pragma unroll - for( int ki = 0; ki < Mma_tile_p::MMAS_K; ++ki ) { - smem_v.load(frag_v[ki], ki); - } - } - - // Commit the data for V to shared memory if it has not been done already. - if( Kernel_traits::SHARE_SMEM_FOR_K_AND_V ) { - // Make sure we are done loading the fragments for K. - __syncthreads(); - - // Commit the data to shared memory for V. - gmem_k.commit(gemm_q_k.smem_k); - - // Make sure the data is in shared memory. - __syncthreads(); - } - - // Load the fragments for K. - gemm_q_k.load_k(); - // Load the fragments for K^T. - // typename Smem_tile_kt::Fragment frag_kt[2][Mma_tile_dq::MMAS_N]; - // smem_kt.load(frag_kt[0], 0); - // typename Smem_tile_kt::Fragment frag_kt[Mma_tile_dq::MMAS_K][Mma_tile_dq::MMAS_N]; - // #pragma unroll - // for( int ki = 0; ki < Mma_tile_dq::MMAS_K; ++ki ) { - // smem_kt.load(frag_kt[ki], ki); - // } - - // Create the object to do the softmax. - // We won't be using the shared memory for this softmax at all - Softmax softmax(params, smem_, tidx); - - // Declare the accumulators for the 3rd gemm. - fmha::Fragment_accumulator acc_dv[Mma_tile_dkv::MMAS_M][Mma_tile_dkv::MMAS_N]; - fmha::Clear_accumulator::apply(acc_dv); - fmha::Fragment_accumulator acc_dk[Mma_tile_dkv::MMAS_M][Mma_tile_dkv::MMAS_N]; - fmha::Clear_accumulator::apply(acc_dk); - - // Load over the entire sequence length. - for( int l = 0; l < steps; l++ ) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("block_row_idx = %d\n", block_row_idx); - // } - if (block_row_idx * Cta_tile_p::M >= binfo.actual_seqlen_q) break; - - int mask_val_next = l < steps - 1 ? blockmask.mask_val(l + 1) : -1; - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("mask_val = %d, mask_val_next = %d\n", mask_val, mask_val_next); - // } - - // Load the fragments for V. - // typename Smem_tile_v::Fragment frag_v[2][Mma_tile_p::MMAS_N]; - if (!Kernel_traits::V_IN_REGS) { smem_v.load(frag_v[0], 0); } - - // Load the fragments for dO. - typename Smem_tile_do::Fragment frag_do[2][Mma_tile_p::MMAS_M]; - smem_do.load(frag_do[0], 0); - - // Declare the accumulators for the 1st gemm. - fmha::Fragment_accumulator acc_p[Mma_tile_p::MMAS_M][Mma_tile_p::MMAS_N]; - fmha::Clear_accumulator::apply(acc_p); - - // Do this part of P^T = (Q * K^T)^T. - gemm_q_k(acc_p); - - // Load the mask for that iteration. - mask.load(block_row_idx); - - // Convert from the accumulator type to FP32 for Softmax. - softmax.unpack_noscale(acc_p); - // Apply the mask. - softmax.apply_mask(mask); - // Scale by log-sum-exp of the softmax - // softmax.apply_exp(p_lse); - softmax.template scale_apply_exp(p_lse, params.scale_bmm1f); - if (Is_dropout) { - // softmax.apply_dropout(ph, params.p_dropout_in_uint); - // softmax.template apply_dropout(ph, params.p_dropout_in_uint); - softmax.template apply_dropout_16bits(ph, params.p_dropout_in_uint16_t); - } - - using Frag_p = fmha::Fragment_a; - Frag_p frag_p[Mma_tile_dq::MMAS_K][Mma_tile_dq::MMAS_M]; - static_assert(Mma_tile_dq::MMAS_M == Mma_tile_p::MMAS_M); - static_assert(Mma_tile_dq::MMAS_K == Mma_tile_p::MMAS_N); - softmax.template pack<__half>(frag_p); - - // Store s * dmask to smem for transpose - smem_s.store(frag_p); - - // Trigger the load for the next Q values. - bool not_last_iter = (l < steps - 1) && (mask_val_next != -1); - block_row_idx_next = mask_val_next / 4; - int block_row_idx_to_move = block_row_idx_next - block_row_idx; - if (not_last_iter) { - gemm_q_k.smem_q.move_to_next_write_buffer(); - gmem_q.move(block_row_idx_to_move); - gmem_q.load(); - } - - // if( Kernel_traits::SHARE_SMEM_FOR_K_AND_V && l == 0 ) { - // // if we share K and V, it could be that V was not fully read yet but we write into smem for reduction - // __syncthreads(); - // } - - bool is_first_read = Is_first || mask_val % 2 == 1; - // TD [2022-04-24]: if Is_first, then it's faster to set acc_dp to zero then subtract by - // dp_sum later. If !Is_first, then it's faster to set acc_dp to -dp_sum and don't subtract - // later. This is because loading dp_sum earlier uses more registers. - fmha::Fragment_accumulator acc_dp[Mma_tile_p::MMAS_M][Mma_tile_p::MMAS_N]; - // if (Is_first) { - // if (true) { - if (is_first_read) { - fmha::Clear_accumulator::apply(acc_dp); - } else { - #pragma unroll - for (int mi = 0; mi < Mma_tile_p::MMAS_M; ++mi) { - #pragma unroll - for (int ni = 0; ni < Mma_tile_p::MMAS_N; ++ni) { - #pragma unroll - for (int ii = 0; ii < 8; ++ii) { - acc_dp[mi][ni].elt(ii) = -dp_sum[mi * 2 + ((ii / 2) % 2)]; - } - } - } - } - - // Do this part of dP^T = (dO * V^T)^T. - #pragma unroll - for( int ki = 1; ki < Mma_tile_p::MMAS_K; ++ki ) { - // Trigger the load from shared memory for the next series of dO values. - smem_do.load(frag_do[ki & 1], ki); - if (!Kernel_traits::V_IN_REGS) { - smem_v.load(frag_v[ki & 1], ki); - fmha::gemm_cl<__half>(acc_dp, frag_do[(ki - 1) & 1], frag_v[(ki - 1) & 1]); - } else { - fmha::gemm_cl<__half>(acc_dp, frag_do[(ki - 1) & 1], frag_v[ki - 1]); - } - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l < 4)) { - // float2 tmp = __half22float2(reinterpret_cast<__half2 &>(frag_do[(ki - 1) & 1])); - // printf("frag_do=%.6f, %.6f\n", tmp.x, tmp.y); - // tmp = __half22float2(reinterpret_cast<__half2 &>(frag_v[(ki - 1) & 1])); - // printf("frag_v=%.6f, %.6f\n", tmp.x, tmp.y); - // } - } - - // Do the final stage of math. - { - int ki = Mma_tile_p::MMAS_K; - if (!Kernel_traits::V_IN_REGS) { - fmha::gemm_cl<__half>(acc_dp, frag_do[(ki - 1) & 1], frag_v[(ki - 1) & 1]); - } else { - fmha::gemm_cl<__half>(acc_dp, frag_do[(ki - 1) & 1], frag_v[(ki - 1)]); - } - } - - // Load the fragments for K^T. - typename Smem_tile_kt::Fragment frag_kt[2][Mma_tile_dq::MMAS_N]; - smem_kt.load(frag_kt[0], 0); - - // if (Is_first) { - // if (true) { - if (is_first_read) { - const int quad = (tidx % Cta_tile_p::THREADS_PER_WARP) / 4; - const int row[2] = {quad, quad + 8}; - smem_dp_sum.load(dp_sum, row, l % 2); - } - - // Trigger the load for the next dO values. - if (not_last_iter) { - smem_do.move_to_next_write_buffer(); - gmem_do.move(block_row_idx_to_move); - gmem_do.load(); - gmem_o.move(block_row_idx_to_move); - // if (Is_first) { - // if (true) { - if (Is_first || mask_val_next % 2 == 1) { - gmem_o.load(); - } - } - - softmax.unpack_noscale(acc_dp); - // // TD [2022-04-01]: Don't need to apply mask since the corresponding value in softmax - // // will be zero. - // for (int mi = 0; mi < Mma_tile_p::MMAS_M * 2; mi++) { dp_sum[mi] *= params.p_dropout; } - // if (Is_first) { softmax.subtract_dp_sum(dp_sum); } - // if (true) { softmax.subtract_dp_sum(dp_sum); } - if (is_first_read) { softmax.subtract_dp_sum(dp_sum); } - - Frag_p frag_dp[Mma_tile_dq::MMAS_K][Mma_tile_dq::MMAS_M]; - softmax.template pack<__half>(frag_dp); - - if (!Is_dropout) { - #pragma unroll - for( int mi = 0; mi < Mma_tile_p::MMAS_M; mi++ ) { - #pragma unroll - for( int ni = 0; ni < Mma_tile_p::MMAS_N; ni++ ) { - frag_p[mi][ni].hmul(frag_dp[mi][ni]); - } - } - } else { - __half2 dp_sum_half[Mma_tile_p::MMAS_M * 2]; - for (int mi = 0; mi < Mma_tile_p::MMAS_M * 2; mi++) { - dp_sum_half[mi] = __float2half2_rn(dp_sum[mi]); - } - const __half zero_h = __half(0.f); - #pragma unroll - for( int mi = 0; mi < Mma_tile_p::MMAS_M; mi++ ) { - #pragma unroll - for( int ni = 0; ni < Mma_tile_p::MMAS_N; ni++ ) { - #pragma unroll - for (int ii = 0; ii < 4; ++ii) { - const __half2 p = frag_p[mi][ni].template elt_as<__half2>(ii); - const __half2 pdp = __hmul2(p, frag_dp[mi][ni].template elt_as<__half2>(ii)); - // If this element is dropped, then frag_p stores -p instead of p. - // So pd holds -p * dp_sum in that case. - const __half2 pd = __hmul2(p, dp_sum_half[mi * 2 + (ii % 2)]); - const __half low = __low2half(p) >= zero_h ? __low2half(pdp) : __low2half(pd); - const __half high = __high2half(p) >= zero_h ? __high2half(pdp) : __high2half(pd); - frag_p[mi][ni].template elt_as<__half2>(ii) = __halves2half2(low, high); - } - } - } - } - - // Store dp to smem for transpose - smem_dp.store(frag_p); - - // gmem_s.store(frag_p, mask); - // gmem_s.move(); - - // Declare the accumulators for the 2nd gemm. - fmha::Fragment_accumulator acc_dq[Mma_tile_dq::MMAS_M][Mma_tile_dq::MMAS_N]; - fmha::Clear_accumulator::apply(acc_dq); - - // Do this part of O = P^T * V^T. - #pragma unroll - for( int ki = 1; ki < Mma_tile_dq::MMAS_K; ++ki ) { - // Trigger the load from shared memory for the next series of Q values. - smem_kt.load(frag_kt[ki & 1], ki); - // Do the math for the values already in registers. - fmha::gemm_cl<__half>(acc_dq, frag_p[ki - 1], frag_kt[(ki - 1) & 1]); - // fmha::gemm_cl<__half>(acc_dq, frag_p[ki - 1], frag_kt[(ki - 1)]); - } - // Do the final stage of math. - { - int ki = Mma_tile_dq::MMAS_K; - fmha::gemm_cl<__half>(acc_dq, frag_p[ki - 1], frag_kt[(ki - 1) & 1]); - // fmha::gemm_cl<__half>(acc_dq, frag_p[ki - 1], frag_kt[(ki - 1)]); - } - - static_assert(Gmem_tile_dq::LOOPS == 1); - - // Swizzle the elements and do the final reduction. - smem_dq.store(acc_dq, 0); - - typename Smem_tile_dot::Fragment frag_dot[2][Mma_tile_dkv::MMAS_N]; - static_assert(Smem_tile_dot::Fragment::NUM_REGS == 4); - static_assert(Mma_tile_dkv::MMAS_K == 1); - smem_dot.load(frag_dot[0], 0); - - // Threads in a warp is communicating via shared memory (smem_s and smem_dp) - __syncwarp(); - typename Smem_tile_st::Fragment frag_s[Mma_tile_dkv::MMAS_K][Mma_tile_dkv::MMAS_M]; - smem_s.load(frag_s); - - if (Is_dropout) { - #pragma unroll - for( int ki = 0; ki < Mma_tile_dkv::MMAS_K; ki++ ) { - #pragma unroll - for( int mi = 0; mi < Mma_tile_dkv::MMAS_M; mi++ ) { - frag_s[ki][mi].template hrelu_<__half>(); - } - } - } - - #pragma unroll - for( int ki = 1; ki < Mma_tile_dkv::MMAS_K; ++ki ) { - // Trigger the load from shared memory for the next series of Q values. - smem_dot.load(frag_dot[ki & 1], ki); - // Do the math for the values already in registers. - fmha::gemm_cl<__half>(acc_dv, frag_s[(ki - 1)], frag_dot[(ki - 1) & 1]); - } - - // Do the final stage of math. - { - int ki = Mma_tile_dkv::MMAS_K; - fmha::gemm_cl<__half>(acc_dv, frag_s[(ki - 1)], frag_dot[(ki - 1) & 1]); - } - - // __syncthreads(); - // Commit the values for Q and dO into shared memory. - if (not_last_iter) { - gmem_q.commit(gemm_q_k.smem_q); - } - - uint4 dq_out[Gmem_tile_dq::STGS_PER_LOOP]; - // if (!Is_first) { gmem_dq_tmp.load(dq_out, 0); } - if (!is_first_read) { gmem_dq_tmp.load(dq_out, 0); } - - // __syncthreads(); - // Commit the values for Q and dO into shared memory. - if (not_last_iter) { - gmem_do.commit(smem_do); - // if (Is_first) { - // if (true) { - gmem_softmax_d.move(block_row_idx_to_move); - if (Is_first || mask_val_next % 2 == 1) { - // dot_do_o(dp_sum_regs, gmem_do.fetch_, gmem_o.fetch_, smem_dp_sum); - // smem_dp_sum.move_to_next_write_buffer(); - dot_do_o(dp_sum_regs, gmem_do.fetch_, gmem_o.fetch_, smem_dp_sum, (l + 1) % 2); - const int dp_sum_row_1 = tidx / Smem_dp_sum::THREADS_PER_ROW; - if ((dp_sum_row_1 < Smem_dp_sum::ROWS) && (tidx % Smem_dp_sum::THREADS_PER_ROW == 0)) { - gmem_softmax_d.store_row(reinterpret_cast(dp_sum_regs), dp_sum_row_1); - } - } - gmem_softmax_lse.move(block_row_idx_to_move); - gmem_softmax_lse.load(reinterpret_cast(p_lse)); - // if (!Is_first) { - if (!(Is_first || mask_val_next % 2 == 1)) { - gmem_softmax_d.load(reinterpret_cast(dp_sum)); - } - } - - typename Smem_tile_st::Fragment frag_dpt[Mma_tile_dkv::MMAS_K][Mma_tile_dkv::MMAS_M]; - smem_dp.load(frag_dpt); - - gemm_q_k.reload_k(); - - typename Smem_tile_qt::Fragment frag_qt[2][Mma_tile_dkv::MMAS_N]; - static_assert(Smem_tile_qt::Fragment::NUM_REGS == 4); - static_assert(Mma_tile_dkv::MMAS_K == 1); - smem_qt.load(frag_qt[0], 0); - - #pragma unroll - for( int ki = 1; ki < Mma_tile_dkv::MMAS_K; ++ki ) { - // Trigger the load from shared memory for the next series of Q values. - smem_qt.load(frag_qt[ki & 1], ki); - // Do the math for the values already in registers. - fmha::gemm_cl<__half>(acc_dk, frag_dpt[(ki - 1)], frag_qt[(ki - 1) & 1]); - } - - // Do the final stage of math. - { - int ki = Mma_tile_dkv::MMAS_K; - fmha::gemm_cl<__half>(acc_dk, frag_dpt[(ki - 1)], frag_qt[(ki - 1) & 1]); - } - - // Make sure dQ is in shared memory. - __syncthreads(); - - // Load from shared memory. - is_first_read ? smem_dq.template load(dq_out) : smem_dq.template load(dq_out); - - const bool is_final_write = - Is_last - || ((loop_step_idx + 1) * Cta_tile_p::N >= binfo.actual_seqlen_k) - || ((mask_val & 0x2) != 0) - || ((Is_causal) && (block_row_idx * Cta_tile_p::M < (loop_step_idx + 1) * Cta_tile_p::N)); - if (is_final_write) { - // if (Is_dropout) { - // dq_out[0] = fmha::fmul4(dq_out[0], params.rp_dropout); - // } - dq_out[0] = fmha::fmul4(dq_out[0], params.scale_bmm1f); - // Output the values. - gmem_dq.template store<__half>(dq_out, 0); - } else { - // Output the values. - gmem_dq_tmp.store(dq_out, 0); - } - - // Move to the next part of the output. - gmem_dq.move(block_row_idx_to_move); - if (!(Is_first && Is_last)) { gmem_dq_tmp.move(block_row_idx_to_move); } - - // // Make sure the data is in shared memory. - // __syncthreads(); - - // Commit the values for Q and dO into shared memory. - if (not_last_iter) { - gemm_q_k.smem_q.move_to_next_read_buffer(); - gemm_q_k.reload_q(); - smem_qt.move_to_next_read_buffer(); - // smem_qt.load(frag_qt[0], 0); - smem_do.move_to_next_read_buffer(); - smem_dot.move_to_next_read_buffer(); - // smem_dot.load(frag_dot[0], 0); - } - - if (mask_val_next == -1) break; - mask_val = mask_val_next; - block_row_idx += block_row_idx_to_move; - - } // Outer loop over the sequence length. - - if (Is_dropout) { - for( int mi = 0; mi < Mma_tile_dkv::MMAS_M; mi++ ) { - for( int ni = 0; ni < Mma_tile_dkv::MMAS_N; ni++ ) { - acc_dv[mi][ni].mul_(params.rp_dropout); - } - } - } - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("l final, acc_dk=%.6f, %.6f\n", acc_dk[0][0].elt(0), acc_dk[0][0].elt(1)); - // } - for( int mi = 0; mi < Mma_tile_dkv::MMAS_M; mi++ ) { - for( int ni = 0; ni < Mma_tile_dkv::MMAS_N; ni++ ) { - // acc_dk[mi][ni].mul_(Is_dropout ? params.rp_dropout * params.scale_bmm1f : params.scale_bmm1f); - acc_dk[mi][ni].mul_(params.scale_bmm1f); - } - } - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("l final, acc_dk=%.6f, %.6f\n", acc_dk[0][0].elt(0), acc_dk[0][0].elt(1)); - // } - - __syncthreads(); - // TODO [TD - 2022-05-04]: Are there cases where the shared mem for dV and dK are larger than - // the total amount of shared mem? - // Epilogue swizzle for dV - Smem_tile_dv smem_dv(&smem_[0], tidx); - smem_dv.template store<__half>(acc_dv); - - // Epilogue swizzle for dK - Smem_tile_dk smem_dk(&smem_[Smem_tile_dv::BYTES_PER_TILE], tidx); - smem_dk.template store<__half>(acc_dk); - - __syncthreads(); - uint4 dv_out[Smem_tile_dv::NUM_LDS]; - smem_dv.load(dv_out); - Gmem_tile_dv gmem_dv(params.dv_ptr, params.dv_row_stride_in_elts, params.dv_head_stride_in_elts, - params.d, binfo, tidx, false); - if (!Is_first) { - gmem_dv.move(loop_step_idx); - } - gmem_dv.store(dv_out); - - uint4 dk_out[Smem_tile_dk::NUM_LDS]; - smem_dk.load(dk_out); - // for (int ii = 0; ii < Smem_tile_dk::NUM_LDS; ++ii) { - // dk_out[ii] = fmha::fmul4(dk_out[ii], params.scale_bmm1f); - // } - Gmem_tile_dk gmem_dk(params.dk_ptr, params.dk_row_stride_in_elts, params.dk_head_stride_in_elts, - params.d, binfo, tidx, false); - if (!Is_first) { - gmem_dk.move(loop_step_idx); - } - gmem_dk.store(dk_out); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -// loop_steps = -1 means the number of steps will be params.seqlen_k / Kernel_traits::Cta_tile_p::N. -// This template parameter is there so we can specialize with loop_steps == 1 and loop_steps == 2. -template -inline __device__ void compute_block_dq_dk_dv_1xN(const Params ¶ms) { - constexpr int blocksize_c = Kernel_traits::Cta_tile_p::N; - - // The block index for the batch. - const int bidb = blockIdx.x; - // The block index for the head. - const int bidh = blockIdx.y; - // The thread index. - const int tidx = threadIdx.x; - - const int tidx_global = (bidb * params.h + bidh) * blockDim.x + tidx; - auto seeds = at::cuda::philox::unpack(params.philox_args); - Philox ph(std::get<0>(seeds), tidx_global, std::get<1>(seeds)); - - if (loop_steps == 1) { - compute_block_dq_dk_dv_1xN_one_iter(params, ph, 0); - } else if (loop_steps == 2) { - compute_block_dq_dk_dv_1xN_one_iter(params, ph, 0); - compute_block_dq_dk_dv_1xN_one_iter(params, ph, 1); - } else { - if (params.seqlen_k == blocksize_c) { - compute_block_dq_dk_dv_1xN_one_iter(params, ph, 0); - } else { - const int max_loop_steps = (params.seqlen_k + blocksize_c - 1) / blocksize_c; - compute_block_dq_dk_dv_1xN_one_iter(params, ph, 0); - for (int loop_step_idx = 1; loop_step_idx < max_loop_steps - 1; loop_step_idx++) { - compute_block_dq_dk_dv_1xN_one_iter(params, ph, loop_step_idx); - } - compute_block_dq_dk_dv_1xN_one_iter(params, ph, max_loop_steps - 1); - } - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -} // namespace fmha diff --git a/csrc/flash_attn/src/fmha_block_fprop_fp16_kernel.sm80.cu b/csrc/flash_attn/src/fmha_block_fprop_fp16_kernel.sm80.cu deleted file mode 100644 index d1a90633e..000000000 --- a/csrc/flash_attn/src/fmha_block_fprop_fp16_kernel.sm80.cu +++ /dev/null @@ -1,90 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#include "fmha.h" -#include "fmha_block_fprop_kernel_1xN.h" - -template -__global__ void fmha_block_fprop_fp16_sm80_loop_kernel(FMHA_fprop_params params) { - fmha::device_block_1xN_loop(params); -} - -template -void run_fmha_block_fp16_sm80_loop_(Launch_params &launch_params, - const bool configure) { - bool is_causal = launch_params.params.is_causal; - // TD [2022-04-27]: This case work is pretty ugly, maybe there's a better way? - auto kernel = launch_params.is_dropout - ? (is_causal - ? (launch_params.return_softmax ? &fmha_block_fprop_fp16_sm80_loop_kernel : &fmha_block_fprop_fp16_sm80_loop_kernel) - : (launch_params.return_softmax ? &fmha_block_fprop_fp16_sm80_loop_kernel : &fmha_block_fprop_fp16_sm80_loop_kernel)) - : (is_causal - ? (launch_params.return_softmax ? &fmha_block_fprop_fp16_sm80_loop_kernel : &fmha_block_fprop_fp16_sm80_loop_kernel) - : (launch_params.return_softmax ? &fmha_block_fprop_fp16_sm80_loop_kernel : &fmha_block_fprop_fp16_sm80_loop_kernel)); - - constexpr int blocksize_c = Kernel_traits::Cta_tile_p::N; - const int loop_steps = (launch_params.params.seqlen_k + blocksize_c - 1) / blocksize_c; - constexpr int smem_size_softmax_lse = Kernel_traits::Smem_dp_sum::BYTES_PER_TILE; - // Don't need smem_size_softmax_lse if we're not looping - const int smem_size = fmha::get_dynamic_smem_size() - + (loop_steps > 1 ? smem_size_softmax_lse : 0); - - if( smem_size >= 48 * 1024 ) { - FMHA_CHECK_CUDA(cudaFuncSetAttribute(kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size)); - } - - if (configure) { - using Mma_tile_p = fmha::Hmma_tile; - constexpr int M = Kernel_traits::Cta_tile_p::M; - size_t STEPS = (launch_params.params.seqlen_q + M - 1) / M; - constexpr size_t MMAS_M = Mma_tile_p::MMAS_M; - constexpr size_t MMAS_N = Mma_tile_p::MMAS_N; - size_t elts_per_head = STEPS * MMAS_M * MMAS_N * 8 * loop_steps; - launch_params.elts_per_thread = elts_per_head; - return; - } - - dim3 grid(launch_params.params.b, launch_params.params.h); - kernel<<>>( - launch_params.params); - - FMHA_CHECK_CUDA(cudaPeekAtLastError()); -} - -void run_fmha_block_fp16_sm80(Launch_params &launch_params, - const bool configure) { - if (launch_params.params.d == 16) { - using Kernel_traits = FMHA_kernel_traits<256, 16, 16, 1, 4, 0x08u>; - run_fmha_block_fp16_sm80_loop_(launch_params, configure); - } else if (launch_params.params.d == 32) { - using Kernel_traits = FMHA_kernel_traits<256, 32, 16, 1, 4, 0x08u>; - run_fmha_block_fp16_sm80_loop_(launch_params, configure); - } else if (launch_params.params.d == 64) { - using Kernel_traits = FMHA_kernel_traits<256, 64, 16, 1, 4, 0x08u>; - run_fmha_block_fp16_sm80_loop_(launch_params, configure); - } -} \ No newline at end of file diff --git a/csrc/flash_attn/src/fmha_block_fprop_kernel_1xN.h b/csrc/flash_attn/src/fmha_block_fprop_kernel_1xN.h deleted file mode 100644 index 15f865ecf..000000000 --- a/csrc/flash_attn/src/fmha_block_fprop_kernel_1xN.h +++ /dev/null @@ -1,533 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2022, Tri Dao. - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -#include "fmha_fprop_kernel_1xN.h" -#include "fmha_kernel.h" -#include "fmha_blockmask.h" -#include -#include - -namespace fmha { - -template -inline __device__ void device_block_1xN_(const Params ¶ms, const int bidb, const int bidh, int steps, Prng &ph0, Prng &ph1, const int loop_step_idx) { - - - // The description of the CTA tile for the 1st batched GEMM. - using Cta_tile_p = typename Kernel_traits::Cta_tile_p; - // The description of the CTA tile for the 2nd batched GEMM. - using Cta_tile_o = typename Kernel_traits::Cta_tile_o; - - // The MMA tile for the 1st GEMM. - using Mma_tile_p = fmha::Hmma_tile; - // The MMA tile for the 2nd GEMM. - using Mma_tile_o = fmha::Hmma_tile; - - // The global memory tile to load Q. - using Gmem_tile_q = typename Kernel_traits::Gmem_tile_q; - - // The global memory tile to load K. - using Gmem_tile_k = typename Kernel_traits::Gmem_tile_k; - - // The global memory tile to load V. - using Gmem_tile_v = typename Kernel_traits::Gmem_tile_v; - // The shared memory tile to swizzle V. - using Smem_tile_v = typename Kernel_traits::Smem_tile_v; - - // The global memory tile to store O. - using Gmem_tile_o = typename Kernel_traits::Gmem_tile_o; - using Gmem_tile_o_tmp = fmha::Gmem_tile_o; - // The shared memory tile to swizzle O. - using Smem_tile_o = typename Kernel_traits::Smem_tile_o; - - using Gmem_tile_s = typename Kernel_traits::Gmem_tile_s; - - using Gmem_softmax_sum = typename Kernel_traits::Gmem_softmax_sum; - - using Smem_softmax_sum = typename Kernel_traits::Smem_dp_sum; - - using Gemm1 = Gemm_Q_K; - - using Softmax = fmha::Softmax; - - // Shared memory. - extern __shared__ char smem_[]; - - // The thread index. - const int tidx = threadIdx.x; - - const BlockInfoPadded binfo(params, bidb, bidh, tidx); - // if( binfo.stop_early() ) return; - if( binfo.stop_early(loop_step_idx * Cta_tile_p::N) ) return; - - Blockmask blockmask(params, loop_step_idx); - int block_row_idx = 0; - int mask_val = blockmask.mask_val(0); - if (mask_val == -1) return; - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("mask_val = %d.\n", mask_val); - // } - - Gemm1 gemm_q_k(smem_, tidx); - // Allocate the global memory tile loader for Q. - Gmem_tile_q gmem_q(params.q_ptr, params.q_row_stride_in_elts, params.q_head_stride_in_elts, - params.d, binfo, tidx, true); - // Allocate the global memory tile loader for O. - Gmem_tile_o gmem_o(params.o_ptr, params.o_row_stride_in_elts, params.o_head_stride_in_elts, - params.d, binfo, tidx); - Gmem_tile_o_tmp gmem_o_tmp(params.o_tmp_ptr, params.o_row_stride_in_elts, params.o_head_stride_in_elts, - params.d, binfo, tidx); - // Allocate the global memory tile loader for S. - Gmem_tile_s gmem_s(params, binfo, tidx); - Gmem_softmax_sum gmem_softmax_lse(params.softmax_lse_ptr, params, tidx); - - // Wind gmem tiles to the correct position. - static_assert(Cta_tile_p::N % Cta_tile_p::M == 0); - int block_row_idx_next = mask_val / 4; - int block_row_idx_to_move = block_row_idx_next - block_row_idx; - gmem_q.move(block_row_idx_to_move); - gmem_o.move(block_row_idx_to_move); - gmem_o_tmp.move(block_row_idx_to_move); - if (Return_softmax) { gmem_s.move(block_row_idx_to_move); } - gmem_softmax_lse.move(block_row_idx_to_move); - block_row_idx = block_row_idx_next; - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("begin = %d, steps = %d\n", begin, steps); - // } - - fmha::Mask mask(binfo, tidx, loop_step_idx); - - // Allocate the global memory tile loader for K. - Gmem_tile_k gmem_k(params.k_ptr, params.k_row_stride_in_elts, params.k_head_stride_in_elts, - params.d, binfo, tidx, false); - // Allocate the global memory tile loader for V. - Gmem_tile_v gmem_v(params.v_ptr, params.v_row_stride_in_elts, params.v_head_stride_in_elts, - params.d, binfo, tidx, false); - // The base pointer of smem_v; - char *smem_v_ = &smem_[Gemm1::SMEM_OFFSET_V]; - - // Allocate the shared memory tile loader for V. We use the same as K so be careful!!! - Smem_tile_v smem_v(smem_v_, tidx); - - // Allocate the shared memory tile loader for O. We use the same as K so be careful!!! - Smem_tile_o smem_o(&smem_[Gemm1::SMEM_OFFSET_O], tidx); - - if (!Is_first) { - gmem_k.move(loop_step_idx); - gmem_v.move(loop_step_idx); - if (Return_softmax) { gmem_s.move(loop_step_idx * steps); } - } - - // Trigger the loads for K. - gmem_k.load(); - // Trigger the loads for Q. - gmem_q.load(); - // Trigger the loads for V. - gmem_v.load(); - - if (!Is_first) { __syncthreads(); } - - float p_prev_lse[Mma_tile_p::MMAS_M * 2]; - if (!(Is_first || mask_val % 2 == 1)) { - gmem_softmax_lse.load(reinterpret_cast(p_prev_lse)); - } - - // Commit the data for Q and V to shared memory. - gmem_q.commit(gemm_q_k.smem_q); - gmem_v.commit(smem_v); - - // const uint32_t scale_bmm1 = reinterpret_cast(params.scale_bmm1); - // #pragma unroll - // for(int it=0;it < Gmem_tile_k::LDGS;it++){ - // gmem_k.fetch_[it] = fmha::hmul8(scale_bmm1, gmem_k.fetch_[it]); - // } - - // Commit the data for K to shared memory. - if( !Kernel_traits::SHARE_SMEM_FOR_K_AND_V ) { - gmem_k.commit(gemm_q_k.smem_k); - } - - __syncthreads(); - - // Load the fragments for Q. - gemm_q_k.load_q(); - - // Load the fragments for V. We keep the data in registers during the entire kernel. - typename Smem_tile_v::Fragment frag_v[Mma_tile_o::MMAS_K][Mma_tile_o::MMAS_N]; - #pragma unroll - for( int ki = 0; ki < Mma_tile_o::MMAS_K; ++ki ) { - smem_v.load(frag_v[ki], ki); - } - - // Commit the data for V to shared memory if it has not been done already. - if( Kernel_traits::SHARE_SMEM_FOR_K_AND_V ) { - // Make sure we are done loading the fragments for K. - __syncthreads(); - - // Commit the data to shared memory for V. - gmem_k.commit(gemm_q_k.smem_k); - - // Make sure the data is in shared memory. - __syncthreads(); - } - - // Load the fragments for K. - gemm_q_k.load_k(); - - // Create the object to do the softmax. - Softmax softmax(params, &smem_[Gemm1::SMEM_OFFSET_SOFTMAX], tidx); - - Smem_softmax_sum smem_softmax_lse(reinterpret_cast(&smem_[Gemm1::SMEM_BYTES]), tidx); - - // Load over the entire sequence length. - for( int l = 0; l < steps; l++ ) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("block_row_idx = %d\n", block_row_idx); - // } - if (block_row_idx * Cta_tile_p::M >= binfo.actual_seqlen_q) break; - - int mask_val_next = l < steps - 1 ? blockmask.mask_val(l + 1) : -1; - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("mask_val = %d, mask_val_next = %d\n", mask_val, mask_val_next); - // } - - // Declare the accumulators for the 1st gemm. - fmha::Fragment_accumulator acc_p[Mma_tile_p::MMAS_M][Mma_tile_p::MMAS_N]; - fmha::Clear_accumulator::apply(acc_p); - - // Do this part of P = Q * K^T. - gemm_q_k(acc_p); - - uint4 out[Gmem_tile_o::STGS_PER_LOOP]; - bool is_first_read = Is_first || mask_val % 2 == 1; - // if (!Is_first) { gmem_o_tmp.load(out, 0); } - if (!is_first_read) { gmem_o_tmp.load(out, 0); } - - // Trigger the load for the next Q values. - bool not_last_iter = (l < steps - 1) && (mask_val_next != -1); - block_row_idx_next = mask_val_next / 4; - int block_row_idx_to_move = block_row_idx_next - block_row_idx; - if (not_last_iter) { - gemm_q_k.smem_q.move_to_next_write_buffer(); - gmem_q.move(block_row_idx_to_move); - gmem_q.load(); - } - - // Load the mask for that iteration. - mask.load(block_row_idx); - - // Convert from the accumulator type to FP32 for Softmax. - softmax.unpack_noscale(acc_p); - - // Apply the mask. - softmax.apply_mask(mask); - - // softmax.unpack_noscale_half_and_apply_mask(acc_p, mask); - - if( Kernel_traits::SHARE_SMEM_FOR_K_AND_V && l == 0 ) { - // if we share K and V, it could be that V was not fully read yet but we write into smem for reduction - __syncthreads(); - } - // if (!Is_first) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // printf("p_prev_lse=%.6f, %.6f\n", p_prev_lse[0], p_prev_lse[1]); - // } - // } - // Compute the max. - float p_max[Mma_tile_p::MMAS_M * 2]; - // if (!Is_first) { - if (!is_first_read) { - smem_softmax_lse.store_pair(p_prev_lse, l % 2); - // for (int mi = 0; mi < Mma_tile_p::MMAS_M * 2; mi++) { p_max[mi] = p_prev_lse[mi]; } - for (int mi = 0; mi < Mma_tile_p::MMAS_M * 2; mi++) { p_max[mi] = p_prev_lse[mi] / params.scale_bmm1f; } - } - - // Trigger the load for the next LSE values. - if (not_last_iter) { - // if (!Is_first) { - if (!(Is_first || mask_val_next % 2 == 1)) { - gmem_softmax_lse.load_next(reinterpret_cast(p_prev_lse), - block_row_idx_to_move); - } - } - - // __half2 p_max[Mma_tile_p::MMAS_M]; - // softmax.template reduce_max(p_max); - is_first_read ? softmax.template reduce_max(p_max) : softmax.template reduce_max(p_max); - - // if ((threadIdx.x == 0) && (l == 38)) { - // printf("loop_step_idx %d, p_max = %.6f, %.6f., p_prev_lse = %.6f, %.6f\n", loop_step_idx, p_max[0], p_max[1], Is_first ? -10000.f : p_prev_lse[0], Is_first ? -10000.f : p_prev_lse[1]); - // } - - // if (!Is_first) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // printf("after reduce_max=%.6f, %.6f\n", softmax.elt_[0][0], softmax.elt_[0][1]); - // } - // } - - // Compute the exponential value. - // softmax.apply_exp(p_max); - softmax.scale_apply_exp(p_max, params.scale_bmm1f); - - // if (!Is_first) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // printf("after apply_exp=%.6f, %.6f\n", softmax.elt_[0][0], softmax.elt_[0][1]); - // } - // } - - // Compute the sum. - float p_sum[Mma_tile_p::MMAS_M * 2]; - // if (!Is_first) { - // int warp = tidx / Cta_tile_p::THREADS_PER_WARP; - // int lane = tidx % Cta_tile_p::THREADS_PER_WARP; - // for (int mi = 0; mi < Mma_tile_p::MMAS_M * 2; mi++) { - // p_sum[mi] = ((warp == 0) && (lane % 4 == 0)) ? expf(p_prev_lse[mi] - p_max[mi]) : 0; - // } - // } - // softmax.reduce_sum(p_sum); - softmax.reduce_sum_before_sync_(p_sum); - // softmax.template reduce_sum_before_sync_(p_sum); - - // float p_sum_log[Mma_tile_p::MMAS_M * 2]; - // for (int mi = 0; mi < Mma_tile_p::MMAS_M * 2; ++mi) { - // float sum = p_sum[mi]; - // // p_sum_log[mi] = (sum == 0.f || sum != sum) ? INFINITY : p_max[mi] + __logf(sum); - // constexpr float kLog2e = M_LOG2E; - // p_sum_log[mi] = (sum == 0.f || sum != sum) ? INFINITY : p_max[mi] * kLog2e + __log2f(sum); - // } - // // gmem_softmax_lse.store(reinterpret_cast(p_sum)); - // gmem_softmax_lse.store(reinterpret_cast(p_sum_log)); - // gmem_softmax_lse.move(); - - // // Finalize softmax on the accumulators of P^T. - // softmax.scale(p_sum); - - constexpr bool encode_dropout_in_sign_bit = Return_softmax; - if (Is_dropout) { - // softmax.template apply_dropout(ph0, params.p_dropout_in_uint); - // softmax.template apply_dropout(ph0, ph1, params.p_dropout_in_uint); - softmax.template apply_dropout_16bits(ph0, ph1, params.p_dropout_in_uint16_t); - } - - using Frag_p = fmha::Fragment_a; - Frag_p frag_p[Mma_tile_o::MMAS_K][Mma_tile_o::MMAS_M]; - static_assert(Mma_tile_o::MMAS_M == Mma_tile_p::MMAS_M); - static_assert(Mma_tile_o::MMAS_K == Mma_tile_p::MMAS_N); - softmax.template pack<__half>(frag_p); - if (Return_softmax) { - gmem_s.store(frag_p, mask); - if (not_last_iter) { - gmem_s.move(block_row_idx_to_move); - } - } - - // Commit the values for Q into shared memory. - if (not_last_iter) { - gmem_q.commit(gemm_q_k.smem_q); - } - - if (Is_dropout && encode_dropout_in_sign_bit) { - #pragma unroll - for( int ki = 0; ki < Mma_tile_o::MMAS_K; ki++ ) { - #pragma unroll - for( int mi = 0; mi < Mma_tile_o::MMAS_M; mi++ ) { - frag_p[ki][mi].template hrelu_<__half>(); - } - } - } - - // Declare the accumulators for the 2nd gemm. - fmha::Fragment_accumulator acc_o[Mma_tile_o::MMAS_M][Mma_tile_o::MMAS_N]; - fmha::Clear_accumulator::apply(acc_o); - - // Do this part of O = P^T * V^T. - #pragma unroll - for( int ki = 0; ki < Mma_tile_o::MMAS_K; ++ki ) { - fmha::gemm_cl<__half>(acc_o, frag_p[ki], frag_v[ki]); - } - - // The mapping from tidx to rows changes between the softmax and the O-reduction. - // So we recalculate the max. - float p_max_o[Gmem_tile_o::STGS_PER_LOOP][Mma_tile_o::MMAS_M]; - int rows[Gmem_tile_o::STGS_PER_LOOP]; - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - rows[jj] = tidx / Gmem_tile_o::THREADS_PER_ROW + jj * Gmem_tile_o::ROWS_PER_STG; - } - softmax.reduce_max_after_sync_(p_max_o, rows); - static_assert(Mma_tile_o::MMAS_M == 1); - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - p_max_o[jj][0] *= params.scale_bmm1f; - } - float p_prev_scale_o[Gmem_tile_o::STGS_PER_LOOP]; - // if (!Is_first) { smem_softmax_lse.load(p_prev_scale_o, rows, l % 2); } - if (!is_first_read) { smem_softmax_lse.load(p_prev_scale_o, rows, l % 2); } - // if (!Is_first) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // printf("p_prev_scale_o=%.6f\n", p_prev_scale_o[0]); - // } - // } - - static_assert(Gmem_tile_o::LOOPS == 1); - - // Swizzle the elements and do the final reduction. - smem_o.store(acc_o, 0); - - // Make sure the data is in shared memory. - __syncthreads(); - - static_assert(Mma_tile_o::MMAS_M == 1); - float p_sum_o[Gmem_tile_o::STGS_PER_LOOP][Mma_tile_o::MMAS_M]; - softmax.reduce_sum_after_sync_(p_sum_o, rows); - // if (!Is_first) { - if (!is_first_read) { - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - p_prev_scale_o[jj] = expf(p_prev_scale_o[jj] - p_max_o[jj][0]); - p_sum_o[jj][0] += p_prev_scale_o[jj]; - } - } - - float p_sum_log[Gmem_tile_o::STGS_PER_LOOP][Mma_tile_o::MMAS_M]; - #pragma unroll - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - float sum = p_sum_o[jj][0]; - p_sum_log[jj][0] = (sum == 0.f || sum != sum) ? -INFINITY : p_max_o[jj][0] + __logf(sum); - // if (sum == 0.f || sum != sum) { - // printf("loop_step_idx = %d, l = %d, tidx = %d, sum = %.6f, p_max_o = %.6f\n", loop_step_idx, l, tidx, sum, p_max_o[jj][0]); - // } - // if (Is_first) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // printf("p_sum_log=%.6f\n", p_sum_log[jj][0]); - // } - // } - if ((tidx % Gmem_tile_o::THREADS_PER_ROW == 0) && (tidx / Gmem_tile_o::THREADS_PER_ROW < Gmem_tile_o::ROWS)) { - gmem_softmax_lse.store_row( - reinterpret_cast(p_sum_log[jj]), rows[jj]); - } - } - if (not_last_iter) { - gmem_softmax_lse.move(block_row_idx_to_move); - } - - // Load from shared memory. - // if (!Is_first) { - if (!is_first_read) { - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - out[jj] = fmha::fmul4(out[jj], p_prev_scale_o[jj]); - } - } - // smem_o.template load(out); - is_first_read ? smem_o.template load(out) : smem_o.template load(out); - - const bool is_final_write = - Is_last - || ((loop_step_idx + 1) * Cta_tile_p::N >= binfo.actual_seqlen_k) - || ((mask_val & 0x2) != 0) - || ((Is_causal) && (block_row_idx * Cta_tile_p::M < (loop_step_idx + 1) * Cta_tile_p::N)); - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("is_final_write = %d\n", is_final_write); - // } - #pragma unroll - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - float sum = p_sum_o[jj][0]; - float inv_sum = (sum == 0.f || sum != sum) ? 1.f : 1.f / sum; - if (Is_dropout && is_final_write) { - inv_sum *= params.rp_dropout; - } - out[jj] = fmha::fmul4(out[jj], inv_sum); - } - - // if (Is_dropout && Is_last) { - // for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - // out[jj] = fmha::fmul4(out[jj], params.rp_dropout); - // } - // } - - // Output the values. - if (is_final_write) { - gmem_o.template store<__half>(out, 0); - } else { - gmem_o_tmp.store(out, 0); - } - - // Move to the next part of the output. - gmem_o.move(block_row_idx_to_move); - if (!(Is_first && Is_last)) { gmem_o_tmp.move(block_row_idx_to_move); } - gemm_q_k.reload_k(); - - // Make sure we are reading from the correct buffer. - gemm_q_k.smem_q.move_to_next_read_buffer(); - // Trigger the load from shared memory for the next series of Q values. - if (not_last_iter) { - gemm_q_k.reload_q(); - } - - if (mask_val_next == -1) break; - mask_val = mask_val_next; - block_row_idx += block_row_idx_to_move; - - } // Outer loop over the sequence length. -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ void device_block_1xN_loop(const Params ¶ms) { - - // The block index for the batch. - const int bidb = blockIdx.x; - // The block index for the head. - const int bidh = blockIdx.y; - // The thread index. - const int tidx = threadIdx.x; - - const int tidx_global = (bidb * params.h + bidh) * blockDim.x * 2 + tidx; - auto seeds = at::cuda::philox::unpack(params.philox_args); - Philox ph0(std::get<0>(seeds), tidx_global, std::get<1>(seeds)); - Philox ph1(std::get<0>(seeds), tidx_global + blockDim.x, std::get<1>(seeds)); - constexpr int M = Kernel_traits::Cta_tile_p::M; - const int STEPS = (params.seqlen_q + M - 1) / M; - - constexpr int blocksize_c = Kernel_traits::Cta_tile_p::N; - if (params.seqlen_k == blocksize_c) { - fmha::device_block_1xN_(params, bidb, bidh, STEPS, ph0, ph1, 0); - } else { - const int max_loop_steps = (params.seqlen_k + blocksize_c - 1) / blocksize_c; - fmha::device_block_1xN_(params, bidb, bidh, STEPS, ph0, ph1, 0); - for (int loop_step_idx = 1; loop_step_idx < max_loop_steps - 1; loop_step_idx++) { - fmha::device_block_1xN_(params, bidb, bidh, STEPS, ph0, ph1, loop_step_idx); - } - fmha::device_block_1xN_(params, bidb, bidh, STEPS, ph0, ph1, max_loop_steps - 1); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -} // namespace fmha - diff --git a/csrc/flash_attn/src/fmha_blockmask.h b/csrc/flash_attn/src/fmha_blockmask.h deleted file mode 100644 index bbd33d62a..000000000 --- a/csrc/flash_attn/src/fmha_blockmask.h +++ /dev/null @@ -1,57 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -#include -#include -#include -#include -#include -#include - -namespace fmha { - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -struct Blockmask { - - template - __device__ Blockmask(const Params ¶ms, int loop_step_idx) : - blockmask_ptr(params.blockmask + loop_step_idx * params.seqlen_q / 16) { - } - - __device__ int mask_val(int block_row_idx) const { - return blockmask_ptr[block_row_idx]; - } - - const int *blockmask_ptr; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -} // namespace fmha diff --git a/csrc/flash_attn/src/fmha_bwd_hdim128.cu b/csrc/flash_attn/src/fmha_bwd_hdim128.cu deleted file mode 100644 index 138dcaafa..000000000 --- a/csrc/flash_attn/src/fmha_bwd_hdim128.cu +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) 2022, Tri Dao. - -// Splitting the different head dimensions to different files to speed up compilation. - -#include "fmha_bwd_launch_template.h" - -void run_fmha_bwd_hdim128(FMHA_dgrad_params ¶ms, cudaStream_t stream, const bool configure) { - FP16_SWITCH(params.is_bf16, ([&] { - using Kernel_traits = FMHA_kernel_traits<128, 128, 16, 1, 8, 0x100u, elem_type>; - run_fmha_bwd_loop(params, stream, configure); - })); -} \ No newline at end of file diff --git a/csrc/flash_attn/src/fmha_bwd_hdim32.cu b/csrc/flash_attn/src/fmha_bwd_hdim32.cu deleted file mode 100644 index a09ebac2b..000000000 --- a/csrc/flash_attn/src/fmha_bwd_hdim32.cu +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) 2022, Tri Dao. - -// Splitting the different head dimensions to different files to speed up compilation. - -#include "fmha_bwd_launch_template.h" - -void run_fmha_bwd_hdim32(FMHA_dgrad_params ¶ms, cudaStream_t stream, const bool configure) { - FP16_SWITCH(params.is_bf16, ([&] { - if (params.seqlen_k == 128) { - using Kernel_traits = FMHA_kernel_traits<128, 32, 16, 1, 8, 0x08u, elem_type>; - run_fmha_bwd_loop(params, stream, configure); - } else if (params.seqlen_k >= 256) { - using Kernel_traits = FMHA_kernel_traits<256, 32, 16, 1, 8, 0x08u, elem_type>; - run_fmha_bwd_loop(params, stream, configure); - } - })); -} \ No newline at end of file diff --git a/csrc/flash_attn/src/fmha_bwd_hdim64.cu b/csrc/flash_attn/src/fmha_bwd_hdim64.cu deleted file mode 100644 index 3091605ba..000000000 --- a/csrc/flash_attn/src/fmha_bwd_hdim64.cu +++ /dev/null @@ -1,30 +0,0 @@ -// Copyright (c) 2022, Tri Dao. - -// Splitting the different head dimensions to different files to speed up compilation. - -#include "fmha_bwd_launch_template.h" - -void run_fmha_bwd_hdim64(FMHA_dgrad_params ¶ms, cudaStream_t stream, const bool configure) { - FP16_SWITCH(params.is_bf16, ([&] { - auto dprops = at::cuda::getCurrentDeviceProperties(); - if (params.seqlen_k == 128) { - using Kernel_traits = FMHA_kernel_traits<128, 64, 16, 1, 8, 0x08u, elem_type>; - run_fmha_bwd_loop(params, stream, configure); - } else if (params.seqlen_k >= 256) { - if ((dprops->major == 8 && dprops->minor == 0) || (dprops->major == 9 && dprops->minor == 0)) { - // Don't share smem for K & V, and don't keep V in registers - // This speeds things up by 2-3% by avoiding register spills, but it - // uses more shared memory, which is fine on A100 and H100 but not other GPUs. - // For other GPUs, we keep V in registers. - using Kernel_traits = FMHA_kernel_traits<256, 64, 16, 1, 8, 0x100u, elem_type>; - run_fmha_bwd_loop(params, stream, configure); - } else if (dprops->major == 8 && dprops->minor > 0) { - using Kernel_traits = FMHA_kernel_traits<256, 64, 16, 1, 8, 0x08u, elem_type>; - run_fmha_bwd_loop(params, stream, configure); - } else if (dprops->major == 7 && dprops->minor == 5) { - using Kernel_traits = FMHA_kernel_traits<128, 64, 16, 1, 8, 0x08u, elem_type>; - run_fmha_bwd_loop(params, stream, configure); - } - } - })); -} \ No newline at end of file diff --git a/csrc/flash_attn/src/fmha_bwd_launch_template.h b/csrc/flash_attn/src/fmha_bwd_launch_template.h deleted file mode 100644 index 032c4a11d..000000000 --- a/csrc/flash_attn/src/fmha_bwd_launch_template.h +++ /dev/null @@ -1,114 +0,0 @@ -// Copyright (c) 2022, Tri Dao. - -#pragma once - -#include "static_switch.h" -#include "fmha.h" -#include "fmha_dgrad_kernel_1xN_loop.h" - -// Pick whether we should parallelize across seqlen_k (num_splits > 1) or not (num_splits=1). -// Parallelizing will have better occupancy, but has some overhead due to having to zero out -// dq_tmp and having to copy dq_tmp to dq. -inline int num_splits_heuristic_bwd(int batch_nheads, int num_SMs, int ctas_per_sm, int seqlen, - int blocksize, bool is_causal) { - float n_waves_1 = float(batch_nheads) / (num_SMs * ctas_per_sm); - float eff_1 = n_waves_1 / ceil(n_waves_1); - int num_splits_parallel = seqlen / blocksize; - float n_waves_parallel = float(batch_nheads * num_splits_parallel) / (num_SMs * ctas_per_sm); - float eff_parallel_raw = n_waves_parallel / ceil(n_waves_parallel); - float discount_factor; - if (!is_causal) { - discount_factor = 1.f + float(blocksize) / seqlen; - } else { // For causal, parallelizing seems to help with load-balancing as well - // For example, if headdim=128, seqlen >= 1280 always prefers parallel - if (seqlen / blocksize >= 10) return num_splits_parallel; - discount_factor = 1.f + 0.5 * float(blocksize) / seqlen; - } - float eff_parallel = eff_parallel_raw / discount_factor; - return eff_1 >= eff_parallel ? 1 : num_splits_parallel; -} - -template -__global__ void fmha_bwd_dot_do_o_kernel(FMHA_dgrad_params params) { - fmha::compute_dot_do_o(params); -} - -template -__global__ void fmha_bwd_dq_dk_dv_loop_kernel(FMHA_dgrad_params params) { - fmha::compute_dq_dk_dv_1xN(params); -} - -template -__global__ void fmha_bwd_q_dk_dv_loop_seqparallel_kernel(FMHA_dgrad_params params) { - fmha::compute_dq_dk_dv_seqparallel(params); -} - -template -void run_fmha_bwd_loop(FMHA_dgrad_params ¶ms, cudaStream_t stream, const bool configure) { - constexpr int smem_size_softmax = Kernel_traits::Cta_tile_p::M * Kernel_traits::Cta_tile_p::WARPS_N * sizeof(float); - constexpr int smem_size_q = Kernel_traits::Smem_tile_q::BYTES_PER_TILE; - constexpr int smem_size_v = Kernel_traits::Smem_tile_v::BYTES_PER_TILE; - constexpr int smem_size_dq = Kernel_traits::Smem_tile_o::BYTES_PER_TILE; - - using Smem_tile_s = fmha::Smem_tile_mma_transposed; - constexpr int smem_size_s = Smem_tile_s::BYTES_PER_TILE; - static_assert(smem_size_s == 16 * Kernel_traits::Cta_tile_p::N * 2); - static_assert(smem_size_dq == 16 * Kernel_traits::Cta_tile_p::K * 4 * Kernel_traits::Cta_tile_p::WARPS_N); - - constexpr int smem_size_dq_dk_dv = smem_size_q * 2 + smem_size_v * (Kernel_traits::V_IN_REGS ? 1 : 2) + smem_size_dq + smem_size_s * 2; - constexpr int blocksize_c = Kernel_traits::Cta_tile_p::N; - // printf("blocksize_c = %d, WARPS_N = %d, Smem size = %d\n", blocksize_c, Kernel_traits::Cta_tile_p::WARPS_N, smem_size_dq_dk_dv); - - bool is_dropout = params.p_dropout < 1.f; // params.p_dropout is the probability of "keeping" - // Work-around for gcc 7. It doesn't like nested BOOL_SWITCH. - BOOL_SWITCH(is_dropout, IsDropoutConst, ([&] { - auto kernel = params.is_causal - ? &fmha_bwd_dq_dk_dv_loop_kernel - : &fmha_bwd_dq_dk_dv_loop_kernel; - if (params.seqlen_k == blocksize_c) { - kernel = params.is_causal - ? &fmha_bwd_dq_dk_dv_loop_kernel - : &fmha_bwd_dq_dk_dv_loop_kernel; - } else if (params.seqlen_k == blocksize_c * 2) { - kernel = params.is_causal - ? &fmha_bwd_dq_dk_dv_loop_kernel - : &fmha_bwd_dq_dk_dv_loop_kernel; - } - auto kernel_seqparallel = params.is_causal - ? &fmha_bwd_q_dk_dv_loop_seqparallel_kernel - : &fmha_bwd_q_dk_dv_loop_seqparallel_kernel; - if( smem_size_dq_dk_dv >= 48 * 1024 ) { - FMHA_CHECK_CUDA(cudaFuncSetAttribute( - kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size_dq_dk_dv)); - FMHA_CHECK_CUDA(cudaFuncSetAttribute( - kernel_seqparallel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size_dq_dk_dv)); - } - // Automatically set num_splits to maximize occupancy - if (params.num_splits <= 0) { - int ctas_per_sm; - cudaError status_ = cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &ctas_per_sm, kernel, Kernel_traits::THREADS, smem_size_dq_dk_dv); - auto dprops = at::cuda::getCurrentDeviceProperties(); - // printf("CTAS_PER_SM = %d, nSMs = %d\n", ctas_per_sm, dprops->multiProcessorCount); - constexpr int M = Kernel_traits::Cta_tile_p::M; - // We don't want more than 10 splits due to numerical error. - // Numerical error on dk/dv scales as sqrt(num_splits). - params.num_splits = num_splits_heuristic_bwd( - params.b * params.h, dprops->multiProcessorCount, - ctas_per_sm, params.seqlen_k, blocksize_c, params.is_causal - ); - } - if (configure) return; - if (params.num_splits == 1) { - dim3 grid(params.b, params.h, params.num_splits); - kernel<<>>(params); - } else { - dim3 grid_dot(params.b, params.h, (params.seqlen_q + 128 - 1) / 128); - fmha_bwd_dot_do_o_kernel<<>>(params); - int num_splits = params.seqlen_k / blocksize_c; // seqlen_k is divisible by blocksize_c - dim3 grid(params.b, params.h, num_splits); - kernel_seqparallel<<>>(params); - } - FMHA_CHECK_CUDA(cudaPeekAtLastError()); - })); -} diff --git a/csrc/flash_attn/src/fmha_dgrad_kernel_1xN_loop.h b/csrc/flash_attn/src/fmha_dgrad_kernel_1xN_loop.h deleted file mode 100644 index d5ac579a3..000000000 --- a/csrc/flash_attn/src/fmha_dgrad_kernel_1xN_loop.h +++ /dev/null @@ -1,841 +0,0 @@ -/* Copyright (c) 2022, Tri Dao. - */ - -#pragma once - -#include "fmha_fprop_kernel_1xN.h" -#include "fmha_kernel.h" -#include -#include - -namespace fmha { - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ void dot_do_o(const uint4 (&do_)[M], const uint4 (&o)[M], const float scale, - Gmem_softmax_sum gmem_softmax_d, int tidx) { - float sum[M]; - fmha::SumOp sum_op; - #pragma unroll - for (int mi = 0; mi < M; ++mi) { - sum[mi] = fmha::Allreduce::run( - fmha::hmulsum8(do_[mi], o[mi]), sum_op - ) * scale; - } - const int dp_sum_row = tidx / THREADS_PER_ROW; - if ((dp_sum_row < ROWS) && (tidx % THREADS_PER_ROW == 0)) { - gmem_softmax_d.store_row(reinterpret_cast(sum), dp_sum_row); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -// Just compute dot(do, o) and write the result (softmax_d) to global memory as a separate kernel. -// This is used in the case where we want to parallelize the backward across seqlen_k. -template -inline __device__ void compute_dot_do_o(const Params ¶ms) { - -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 - using elem_type = typename Kernel_traits::elem_type; -#else - constexpr bool is_fp16_type = std::is_same::value; - assert(is_fp16_type); - using elem_type = __half; -#endif - - // The description of the CTA tile for the 1st batched GEMM. - using Cta_tile_p = typename Kernel_traits::Cta_tile_p; - // The description of the CTA tile for the 3rd batched GEMM. - using Cta_tile_dkv = - fmha::Cta_tile_extd; - - static_assert(Cta_tile_dkv::N == 16 || Cta_tile_dkv::N == 32 || Cta_tile_dkv::N == 64 || Cta_tile_dkv::N == 128); - static_assert(Cta_tile_dkv::K == 16); - - // The global memory tile to load dO. - using Gmem_tile_do = typename Kernel_traits::Gmem_tile_do; - - // The global memory tile to load O.Loading O here is similar to loading dO. - using Gmem_tile_o = Gmem_tile_do; - - using Gmem_softmax_sum = typename Kernel_traits::Gmem_softmax_sum; - - // The block index for the batch. - const int bidb = blockIdx.x; - // The block index for the head. - const int bidh = blockIdx.y; - // The thread index. - const int tidx = threadIdx.x; - - // How many steps to jump per iteration. - const int step_stride = gridDim.z; - - const BlockInfoPadded binfo(params, bidb, bidh, tidx); - if( binfo.stop_early() ) return; - - // Allocate the global memory tile loader for dO. - Gmem_tile_do gmem_do(params.do_ptr, params.o_row_stride_in_elts, params.o_head_stride_in_elts, - params.d, binfo, tidx, true); - - // Allocate the global memory tile loader for O. - Gmem_tile_o gmem_o(params.o_ptr, params.o_row_stride_in_elts, params.o_head_stride_in_elts, - params.d, binfo, tidx, true); - - Gmem_softmax_sum gmem_softmax_d(params.dsoftmax_sum, params, tidx); - - static_assert(Cta_tile_p::N % Cta_tile_p::M == 0); - const int steps = (params.seqlen_q + Cta_tile_p::M - 1) / Cta_tile_p::M; - // Wind gmem tiles to the correct position. - gmem_do.move(blockIdx.z); - gmem_o.move(blockIdx.z); - gmem_softmax_d.move(blockIdx.z); - - // Load over the entire sequence length. - for (int l = blockIdx.z; l < steps; l += step_stride) { - if (l * Cta_tile_p::M >= binfo.actual_seqlen_q) - break; - - gmem_do.load(); - gmem_do.move(step_stride); - gmem_o.load(); - gmem_o.move(step_stride); - - dot_do_o( - gmem_do.fetch_, gmem_o.fetch_, params.p_dropout, gmem_softmax_d, tidx - ); - gmem_softmax_d.move(step_stride); - } // Outer loop over the sequence length. -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ void compute_dq_dk_dv_1xN_one_iter(const Params ¶ms, Prng &ph, - const int loop_step_idx) { - -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 - using elem_type = typename Kernel_traits::elem_type; -#else - constexpr bool is_fp16_type = std::is_same::value; - assert(is_fp16_type); - using elem_type = __half; -#endif - - // The description of the CTA tile for the 1st batched GEMM. - using Cta_tile_p = typename Kernel_traits::Cta_tile_p; - // The description of the CTA tile for the 2nd batched GEMM. - using Cta_tile_dq = typename Kernel_traits::Cta_tile_o; - // The description of the CTA tile for the 3rd batched GEMM. - using Cta_tile_dkv = - fmha::Cta_tile_extd; - - static_assert(Cta_tile_dkv::M == 512 || Cta_tile_dkv::M == 256 || Cta_tile_dkv::M == 128); - static_assert(Cta_tile_dkv::N == 16 || Cta_tile_dkv::N == 32 || Cta_tile_dkv::N == 64 || Cta_tile_dkv::N == 128); - static_assert(Cta_tile_dkv::K == 16); - - // The MMA tile for the 1st GEMM. - using Mma_tile_p = fmha::Hmma_tile; - // The MMA tile for the 2nd GEMM. - using Mma_tile_dq = fmha::Hmma_tile; - // The MMA tile for the 3rd GEMM. - using Mma_tile_dkv = fmha::Hmma_tile; - - // The global memory tile to load Q. - using Gmem_tile_q = typename Kernel_traits::Gmem_tile_q; - // The shared memory tile to reload Q transposed. - using Smem_tile_qt = fmha::Smem_tile_b; - - // The global memory tile to load K. - using Gmem_tile_k = typename Kernel_traits::Gmem_tile_k; - // The shared memory tile to swizzle K^T. Treat K^T as V - using Smem_tile_kt = typename Kernel_traits::Smem_tile_v; - - // Treating V as K. We need to use Kernel_traits::Smem_tile_k otherwise loading will be wrong - // The global memory tile to load V. - using Gmem_tile_v = typename Kernel_traits::Gmem_tile_k; - // The shared memory tile to swizzle V. - using Smem_tile_v = typename Kernel_traits::Smem_tile_k; - - // The global memory tile to load dO. - using Gmem_tile_do = typename Kernel_traits::Gmem_tile_do; - // The shared memory tile to load dO. - // Treating dO as Q. - using Smem_tile_do = typename Kernel_traits::Smem_tile_q; - // The shared memory tile to reload dO transposed. - using Smem_tile_dot = fmha::Smem_tile_b; - - // The global memory tile to load O.Loading O here is similar to loading dO. - using Gmem_tile_o = Gmem_tile_do; - - // The global memory tile to store dQ. - using Gmem_tile_dq = typename Kernel_traits::Gmem_tile_o; - using Gmem_tile_dq_tmp = fmha::Gmem_tile_o; - // The shared memory tile to swizzle dQ. - using Smem_tile_dq = typename Kernel_traits::Smem_tile_o; - - // The global memory tile to store dV. - using Gmem_tile_dv = typename Kernel_traits::Gmem_tile_v; - // The shared memory tile to swizzle dV. - using Smem_tile_dv = fmha::Smem_tile_mma_epilogue; - - // The global memory tile to store dK. - using Gmem_tile_dk = typename Kernel_traits::Gmem_tile_v; - // The shared memory tile to swizzle dK. - using Smem_tile_dk = fmha::Smem_tile_mma_epilogue; - static_assert(Smem_tile_dk::NUM_LDS == Gmem_tile_dk::LDGS); - static_assert(Smem_tile_dk::THREADS_PER_ROW == Gmem_tile_dk::THREADS_PER_ROW); - - using Gmem_tile_s = typename Kernel_traits::Gmem_tile_s; - - using Smem_tile_st = typename Kernel_traits::Smem_tile_st; - - using Gmem_softmax_sum = typename Kernel_traits::Gmem_softmax_sum; - - // using Gemm1 = Gemm_Q_K; - using Gemm1 = Gemm_Q_K; - - using Softmax = fmha::Softmax; - - // Shared memory. - extern __shared__ char smem_[]; - // Shared memory layout if we keep V in registers: - // dO | Q | K / V | dQ | S | dP | dP_sum - // dV | dK - // Shared memory layout if we keep V shared memory: - // dO | Q | K | V | dQ | S | dP | dP_sum - // dV | dK - - - // The block index for the batch. - const int bidb = blockIdx.x; - // The block index for the head. - const int bidh = blockIdx.y; - // The thread index. - const int tidx = threadIdx.x; - - const BlockInfoPadded binfo(params, bidb, bidh, tidx); - // if( binfo.stop_early() ) return; - if( binfo.stop_early(loop_step_idx * Cta_tile_p::N) ) return; - - Gemm1 gemm_q_k(&smem_[Smem_tile_do::BYTES_PER_TILE], tidx); - // Allocate the global memory tile loader for Q. - Gmem_tile_q gmem_q(params.q_ptr, params.q_row_stride_in_elts, params.q_head_stride_in_elts, - params.d, binfo, tidx, true); - // Allocate the global memory tile loader for dQ. - Gmem_tile_dq gmem_dq(params.dq_ptr, params.dq_row_stride_in_elts, params.dq_head_stride_in_elts, - params.d, binfo, tidx); - Gmem_tile_dq_tmp gmem_dq_tmp(params.o_tmp_ptr, params.o_row_stride_in_elts, params.o_head_stride_in_elts, - params.d, binfo, tidx); - // Allocate the global memory tile loader for S. - Gmem_tile_s gmem_s(params, binfo, tidx); - - fmha::Mask mask(binfo, tidx, loop_step_idx); - - // Allocate the global memory tile loader for K. - Gmem_tile_k gmem_k(params.k_ptr, params.k_row_stride_in_elts, params.k_head_stride_in_elts, - params.d, binfo, tidx, false); - // Allocate the global memory tile loader for V. - Gmem_tile_v gmem_v(params.v_ptr, params.v_row_stride_in_elts, params.v_head_stride_in_elts, - params.d, binfo, tidx, false); - // The base pointer of smem_v; - char *smem_v_ = &smem_[Smem_tile_do::BYTES_PER_TILE + Gemm1::SMEM_OFFSET_V]; - - // Allocate the shared memory tile loader for V. We use the same as K so be careful!!! - Smem_tile_v smem_v(smem_v_, tidx); - // Allocate the shared memory tile loader for K^T. We use the same as K so be careful!!! - Smem_tile_kt smem_kt(&smem_[Smem_tile_do::BYTES_PER_TILE + Gemm1::Smem_tile_q::BYTES_PER_TILE], tidx); - - // Allocate the global memory tile loader for dO. - Gmem_tile_do gmem_do(params.do_ptr, params.o_row_stride_in_elts, params.o_head_stride_in_elts, - params.d, binfo, tidx, true); - // Allocate the shared memory tile loader for dO. - Smem_tile_do smem_do(&smem_[0], tidx); - Smem_tile_dot smem_dot(&smem_[0], tidx); - // Allocate the shared memory tile loader for Q^T. - // TODO: assert that this points to the same memory as gemm_q_k.smem_q - Smem_tile_qt smem_qt(&smem_[Smem_tile_do::BYTES_PER_TILE], tidx); - - Smem_tile_st smem_s(&smem_[Smem_tile_do::BYTES_PER_TILE + Gemm1::SMEM_OFFSET_O + Smem_tile_dq::BYTES_PER_TILE], tidx); - Smem_tile_st smem_dp(&smem_[Smem_tile_do::BYTES_PER_TILE + Gemm1::SMEM_OFFSET_O + Smem_tile_dq::BYTES_PER_TILE + Smem_tile_st::BYTES_PER_TILE], tidx); - - // Allocate the global memory tile loader for O. - Gmem_tile_o gmem_o(params.o_ptr, params.o_row_stride_in_elts, params.o_head_stride_in_elts, - params.d, binfo, tidx, true); - - // Allocate the shared memory tile loader for O. We use the same as K so be careful!!! - Smem_tile_dq smem_dq(&smem_[Smem_tile_do::BYTES_PER_TILE + Gemm1::SMEM_OFFSET_O], tidx); - - Gmem_softmax_sum gmem_softmax_lse(params.softmax_lse_ptr, params, tidx); - Gmem_softmax_sum gmem_softmax_d(params.dsoftmax_sum, params, tidx); - - static_assert(Cta_tile_p::N % Cta_tile_p::M == 0); - int begin = Is_causal ? loop_step_idx * Cta_tile_p::N / Cta_tile_p::M : 0; - // Otherwise we'd be reading out-of-bound memory before the loop - if (begin * Cta_tile_p::M >= binfo.actual_seqlen_q) { - // Still need to zero out dk and dv before returning - static_assert(Smem_tile_dk::NUM_LDS == Smem_tile_dv::NUM_LDS); - uint4 dkv_out[Smem_tile_dk::NUM_LDS]; - #pragma unroll - for (int i = 0; i < Smem_tile_dk::NUM_LDS; ++i) { dkv_out[i] = make_uint4(0u, 0u, 0u, 0u); } - Gmem_tile_dk gmem_dk(params.dk_ptr, params.dk_row_stride_in_elts, params.dk_head_stride_in_elts, - params.d, binfo, tidx, false); - if (!Is_first) { gmem_dk.move(loop_step_idx); } - gmem_dk.store(dkv_out); - Gmem_tile_dv gmem_dv(params.dv_ptr, params.dv_row_stride_in_elts, params.dv_head_stride_in_elts, - params.d, binfo, tidx, false); - if (!Is_first) { gmem_dv.move(loop_step_idx); } - gmem_dv.store(dkv_out); - return; - } - - const int steps = (params.seqlen_q + Cta_tile_p::M - 1) / Cta_tile_p::M - begin; - // Wind gmem tiles to the correct position. - gmem_q.move(begin); - gmem_do.move(begin); - gmem_o.move(begin); - if (!Seq_parallel) { gmem_dq.move(begin); } // If Seq_parallel, we're not using gmem_dq at all - gmem_dq_tmp.move(begin); - // TODO: need to move gmem_s if we want the intermediate result for debugging - gmem_softmax_lse.move(begin); - gmem_softmax_d.move(begin); - - if (!Is_first) { - gmem_k.move(loop_step_idx); - gmem_v.move(loop_step_idx); - } - - // Trigger the loads for K. - gmem_k.load(); - // Trigger the loads for Q. - gmem_q.load(); - // Trigger the loads for V. - gmem_v.load(); - // Trigger the loads for dO. - gmem_do.load(); - // Trigger the loads for O. - if (Is_first) { gmem_o.load(); } - - float p_lse[Mma_tile_p::MMAS_M * 2]; - gmem_softmax_lse.load(reinterpret_cast(p_lse)); - - if (!Is_first) { __syncthreads(); } - // Commit the data for Q, dO, and V to shared memory. - gmem_q.commit(gemm_q_k.smem_q); - gmem_do.commit(smem_do); - if (Is_first) { - dot_do_o( - gmem_do.fetch_, gmem_o.fetch_, params.p_dropout, gmem_softmax_d, tidx - ); - } - - // // Instead of scaling dP by rp_dropout, we scale V instead - // if (Is_dropout) { - // const uint32_t scale_dropout = params.scale_dropout; - // #pragma unroll - // for(int it=0; it < Gmem_tile_v::LDGS; it++){ - // gmem_v.fetch_[it] = fmha::hmul8(scale_dropout, gmem_v.fetch_[it]); - // } - // } - - gmem_v.commit(smem_v); - - // const uint32_t scale_bmm1 = reinterpret_cast(params.scale_bmm1); - // #pragma unroll - // for(int it=0; it < Gmem_tile_k::LDGS; it++){ - // gmem_k.fetch_[it] = fmha::hmul8(scale_bmm1, gmem_k.fetch_[it]); - // } - - // Commit the data for K to shared memory. - if( !Kernel_traits::SHARE_SMEM_FOR_K_AND_V ) { - gmem_k.commit(gemm_q_k.smem_k); - } - - __syncthreads(); - - // Load the fragments for Q. - gemm_q_k.load_q(); - - // Load the fragments for V. We keep the data in registers during the entire kernel. - typename Smem_tile_v::Fragment frag_v[Kernel_traits::V_IN_REGS ? Mma_tile_p::MMAS_K : 2][Mma_tile_p::MMAS_N]; - if (Kernel_traits::V_IN_REGS) { - #pragma unroll - for( int ki = 0; ki < Mma_tile_p::MMAS_K; ++ki ) { - smem_v.load(frag_v[ki], ki); - } - } - - float dp_sum[Mma_tile_p::MMAS_M * 2]; - gmem_softmax_d.load(reinterpret_cast(dp_sum)); - - // Commit the data for V to shared memory if it has not been done already. - if( Kernel_traits::SHARE_SMEM_FOR_K_AND_V ) { - // Make sure we are done loading the fragments for K. - __syncthreads(); - - // Commit the data to shared memory for V. - gmem_k.commit(gemm_q_k.smem_k); - - // Make sure the data is in shared memory. - __syncthreads(); - } - - // Load the fragments for K. - gemm_q_k.load_k(); - // Load the fragments for K^T. - // typename Smem_tile_kt::Fragment frag_kt[2][Mma_tile_dq::MMAS_N]; - // smem_kt.load(frag_kt[0], 0); - // typename Smem_tile_kt::Fragment frag_kt[Mma_tile_dq::MMAS_K][Mma_tile_dq::MMAS_N]; - // #pragma unroll - // for( int ki = 0; ki < Mma_tile_dq::MMAS_K; ++ki ) { - // smem_kt.load(frag_kt[ki], ki); - // } - - // Create the object to do the softmax. - // We won't be using the shared memory for this softmax at all - Softmax softmax(params, smem_, tidx); - - // Declare the accumulators for the 3rd gemm. - fmha::Fragment_accumulator acc_dv[Mma_tile_dkv::MMAS_M][Mma_tile_dkv::MMAS_N]; - fmha::Clear_accumulator::apply(acc_dv); - fmha::Fragment_accumulator acc_dk[Mma_tile_dkv::MMAS_M][Mma_tile_dkv::MMAS_N]; - fmha::Clear_accumulator::apply(acc_dk); - - // Load over the entire sequence length. - for (int l = 0; l < steps; l++) { - if ((begin + l) * Cta_tile_p::M >= binfo.actual_seqlen_q) - break; - - // Load the fragments for V. - // typename Smem_tile_v::Fragment frag_v[2][Mma_tile_p::MMAS_N]; - if (!Kernel_traits::V_IN_REGS) { smem_v.load(frag_v[0], 0); } - - // Load the fragments for dO. - typename Smem_tile_do::Fragment frag_do[2][Mma_tile_p::MMAS_M]; - smem_do.load(frag_do[0], 0); - - // Declare the accumulators for the 1st gemm. - fmha::Fragment_accumulator acc_p[Mma_tile_p::MMAS_M][Mma_tile_p::MMAS_N]; - fmha::Clear_accumulator::apply(acc_p); - - // Do this part of P^T = (Q * K^T)^T. - gemm_q_k(acc_p); - - // Load the mask for that iteration. - mask.load(begin + l); - - // Convert from the accumulator type to FP32 for Softmax. - softmax.unpack_noscale(acc_p); - // Apply the mask. - softmax.apply_mask(mask); - // Scale by log-sum-exp of the softmax - // softmax.apply_exp(p_lse); - softmax.template scale_apply_exp(p_lse, params.scale_bmm1f); - if (Is_dropout) { - // softmax.apply_dropout(ph, params.p_dropout_in_uint); - // softmax.template apply_dropout(ph, params.p_dropout_in_uint); - // softmax.template apply_dropout_16bits(ph, params.p_dropout_in_uint16_t); - unsigned int warp_idx = threadIdx.x / 32; - // TODO: this should change after we rearrange the warps (e.g. cutlass branch) - unsigned int block_col_idx = loop_step_idx * Cta_tile_p::N / 16 + warp_idx; - unsigned long long philox_subsequence = (begin + l) * (binfo.actual_seqlen_k / 16) + block_col_idx; - softmax.template apply_dropout_16bits(ph, params.p_dropout_in_uint16_t, philox_subsequence); - } - - using Frag_p = fmha::Fragment_a; - Frag_p frag_p[Mma_tile_dq::MMAS_K][Mma_tile_dq::MMAS_M]; - static_assert(Mma_tile_dq::MMAS_M == Mma_tile_p::MMAS_M); - static_assert(Mma_tile_dq::MMAS_K == Mma_tile_p::MMAS_N); - softmax.template pack(frag_p); - - // Store s * dmask to smem for transpose - smem_s.store(frag_p); - - // Trigger the load for the next Q values. - if (l + 1 < steps) { - gemm_q_k.smem_q.move_to_next_write_buffer(); - gmem_q.move(); - gmem_q.load(); - } - - // if( Kernel_traits::SHARE_SMEM_FOR_K_AND_V && l == 0 ) { - // // if we share K and V, it could be that V was not fully read yet but we write into smem for reduction - // __syncthreads(); - // } - - fmha::Fragment_accumulator acc_dp[Mma_tile_p::MMAS_M][Mma_tile_p::MMAS_N]; - #pragma unroll - for (int mi = 0; mi < Mma_tile_p::MMAS_M; ++mi) { - #pragma unroll - for (int ni = 0; ni < Mma_tile_p::MMAS_N; ++ni) { - #pragma unroll - for (int ii = 0; ii < 8; ++ii) { - acc_dp[mi][ni].elt(ii) = -dp_sum[mi * 2 + ((ii / 2) % 2)]; - } - } - } - - // Do this part of dP^T = (dO * V^T)^T. - #pragma unroll - for( int ki = 1; ki < Mma_tile_p::MMAS_K; ++ki ) { - // Trigger the load from shared memory for the next series of dO values. - smem_do.load(frag_do[ki & 1], ki); - if (!Kernel_traits::V_IN_REGS) { - smem_v.load(frag_v[ki & 1], ki); - fmha::gemm_cl(acc_dp, frag_do[(ki - 1) & 1], frag_v[(ki - 1) & 1]); - } else { - fmha::gemm_cl(acc_dp, frag_do[(ki - 1) & 1], frag_v[ki - 1]); - } - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l < 4)) { - // float2 tmp = __half22float2(reinterpret_cast<__half2 &>(frag_do[(ki - 1) & 1])); - // printf("frag_do=%.6f, %.6f\n", tmp.x, tmp.y); - // tmp = __half22float2(reinterpret_cast<__half2 &>(frag_v[(ki - 1) & 1])); - // printf("frag_v=%.6f, %.6f\n", tmp.x, tmp.y); - // } - } - - // Do the final stage of math. - { - int ki = Mma_tile_p::MMAS_K; - if (!Kernel_traits::V_IN_REGS) { - fmha::gemm_cl(acc_dp, frag_do[(ki - 1) & 1], frag_v[(ki - 1) & 1]); - } else { - fmha::gemm_cl(acc_dp, frag_do[(ki - 1) & 1], frag_v[(ki - 1)]); - } - } - - auto pointwise_mult = [](float p, float dp, float d) { - return p * ((!Is_dropout) || p >= 0.f ? dp : d); - }; - #pragma unroll - for (int mi = 0; mi < Mma_tile_p::MMAS_M; mi++) { - #pragma unroll - for (int ni = 0; ni < Mma_tile_p::MMAS_N; ni++) { - softmax.elt_[2 * mi + 0][4 * ni + 0] = pointwise_mult(softmax.elt_[2 * mi + 0][4 * ni + 0], acc_dp[mi][ni].elt(0), dp_sum[2 * mi + 0]); - softmax.elt_[2 * mi + 0][4 * ni + 1] = pointwise_mult(softmax.elt_[2 * mi + 0][4 * ni + 1], acc_dp[mi][ni].elt(1), dp_sum[2 * mi + 0]); - softmax.elt_[2 * mi + 0][4 * ni + 2] = pointwise_mult(softmax.elt_[2 * mi + 0][4 * ni + 2], acc_dp[mi][ni].elt(4), dp_sum[2 * mi + 0]); - softmax.elt_[2 * mi + 0][4 * ni + 3] = pointwise_mult(softmax.elt_[2 * mi + 0][4 * ni + 3], acc_dp[mi][ni].elt(5), dp_sum[2 * mi + 0]); - softmax.elt_[2 * mi + 1][4 * ni + 0] = pointwise_mult(softmax.elt_[2 * mi + 1][4 * ni + 0], acc_dp[mi][ni].elt(2), dp_sum[2 * mi + 1]); - softmax.elt_[2 * mi + 1][4 * ni + 1] = pointwise_mult(softmax.elt_[2 * mi + 1][4 * ni + 1], acc_dp[mi][ni].elt(3), dp_sum[2 * mi + 1]); - softmax.elt_[2 * mi + 1][4 * ni + 2] = pointwise_mult(softmax.elt_[2 * mi + 1][4 * ni + 2], acc_dp[mi][ni].elt(6), dp_sum[2 * mi + 1]); - softmax.elt_[2 * mi + 1][4 * ni + 3] = pointwise_mult(softmax.elt_[2 * mi + 1][4 * ni + 3], acc_dp[mi][ni].elt(7), dp_sum[2 * mi + 1]); - } - } - - // Load the fragments for K^T. - typename Smem_tile_kt::Fragment frag_kt[2][Mma_tile_dq::MMAS_N]; - smem_kt.load(frag_kt[0], 0); - - // Trigger the load for the next dO values. - if (l + 1 < steps) { - smem_do.move_to_next_write_buffer(); - gmem_do.move(); - gmem_do.load(); - if (Is_first) { - gmem_o.move(); - gmem_o.load(); - } - } - - softmax.template pack(frag_p); - - // Store dp to smem for transpose - smem_dp.store(frag_p); - - // gmem_s.store(frag_p, mask); - // gmem_s.move(); - - // Declare the accumulators for the 2nd gemm. - fmha::Fragment_accumulator acc_dq[Mma_tile_dq::MMAS_M][Mma_tile_dq::MMAS_N]; - fmha::Clear_accumulator::apply(acc_dq); - - // Do this part of O = P^T * V^T. - #pragma unroll - for( int ki = 1; ki < Mma_tile_dq::MMAS_K; ++ki ) { - // Trigger the load from shared memory for the next series of Q values. - smem_kt.load(frag_kt[ki & 1], ki); - // Do the math for the values already in registers. - fmha::gemm_cl(acc_dq, frag_p[ki - 1], frag_kt[(ki - 1) & 1]); - // fmha::gemm_cl(acc_dq, frag_p[ki - 1], frag_kt[(ki - 1)]); - } - // Do the final stage of math. - { - int ki = Mma_tile_dq::MMAS_K; - fmha::gemm_cl(acc_dq, frag_p[ki - 1], frag_kt[(ki - 1) & 1]); - // fmha::gemm_cl(acc_dq, frag_p[ki - 1], frag_kt[(ki - 1)]); - } - - static_assert(Gmem_tile_dq::LOOPS == 1); - - // Swizzle the elements and do the final reduction. - // Need to syncthreads here, otherwise the smem_dq reads from the previous iteration - // might happen after the smem_dq writes in this iteration. - __syncthreads(); - smem_dq.store(acc_dq, 0); - - typename Smem_tile_dot::Fragment frag_dot[2][Mma_tile_dkv::MMAS_N]; - static_assert(Smem_tile_dot::Fragment::NUM_REGS == 4); - static_assert(Mma_tile_dkv::MMAS_K == 1); - smem_dot.load(frag_dot[0], 0); - - // Threads in a warp is communicating via shared memory (smem_s and smem_dp) - __syncwarp(); - typename Smem_tile_st::Fragment frag_s[Mma_tile_dkv::MMAS_K][Mma_tile_dkv::MMAS_M]; - smem_s.load(frag_s); - - if (Is_dropout) { - #pragma unroll - for( int ki = 0; ki < Mma_tile_dkv::MMAS_K; ki++ ) { - #pragma unroll - for( int mi = 0; mi < Mma_tile_dkv::MMAS_M; mi++ ) { - frag_s[ki][mi].template hrelu_(); - } - } - } - - #pragma unroll - for( int ki = 1; ki < Mma_tile_dkv::MMAS_K; ++ki ) { - // Trigger the load from shared memory for the next series of Q values. - smem_dot.load(frag_dot[ki & 1], ki); - // Do the math for the values already in registers. - fmha::gemm_cl(acc_dv, frag_s[(ki - 1)], frag_dot[(ki - 1) & 1]); - } - - // Do the final stage of math. - { - int ki = Mma_tile_dkv::MMAS_K; - fmha::gemm_cl(acc_dv, frag_s[(ki - 1)], frag_dot[(ki - 1) & 1]); - } - - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // float2 tmp0 = __half22float2(reinterpret_cast<__half2 &>(frag_dot[0][0])); - // printf("frag_dot[0][0]=%.6f, %.6f\n", tmp0.x, tmp0.y); - // float2 tmp1 = __half22float2(reinterpret_cast<__half2 &>(frag_dot[0][1])); - // printf("frag_dot[0][1]=%.6f, %.6f\n", tmp1.x, tmp1.y); - // } - - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("l = %d, acc_dv[0][0]=%.6f, %.6f\n", l, acc_dv[0][0].elt(2), acc_dv[0][0].elt(3)); - // printf("l = %d, acc_dv[0][1]=%.6f, %.6f\n", l, acc_dv[0][1].elt(2), acc_dv[0][1].elt(3)); - // } - // __syncthreads(); - // Commit the values for Q and dO into shared memory. - if (l + 1 < steps) { - gmem_q.commit(gemm_q_k.smem_q); - } - - uint4 dq_out[Gmem_tile_dq::STGS_PER_LOOP]; - if (!Is_first && !Seq_parallel) { gmem_dq_tmp.load(dq_out, 0); } - - // __syncthreads(); - // Commit the values for Q and dO into shared memory. - if (l + 1 < steps) { - gmem_do.commit(smem_do); - gmem_softmax_d.move(); - if (Is_first) { - dot_do_o( - gmem_do.fetch_, gmem_o.fetch_, params.p_dropout, gmem_softmax_d, tidx - ); - } - gmem_softmax_lse.move(); - gmem_softmax_lse.load(reinterpret_cast(p_lse)); - } - - typename Smem_tile_st::Fragment frag_dpt[Mma_tile_dkv::MMAS_K][Mma_tile_dkv::MMAS_M]; - smem_dp.load(frag_dpt); - - gemm_q_k.reload_k(); - - typename Smem_tile_qt::Fragment frag_qt[2][Mma_tile_dkv::MMAS_N]; - static_assert(Smem_tile_qt::Fragment::NUM_REGS == 4); - static_assert(Mma_tile_dkv::MMAS_K == 1); - smem_qt.load(frag_qt[0], 0); - - #pragma unroll - for( int ki = 1; ki < Mma_tile_dkv::MMAS_K; ++ki ) { - // Trigger the load from shared memory for the next series of Q values. - smem_qt.load(frag_qt[ki & 1], ki); - // Do the math for the values already in registers. - fmha::gemm_cl(acc_dk, frag_dpt[(ki - 1)], frag_qt[(ki - 1) & 1]); - } - - // Do the final stage of math. - { - int ki = Mma_tile_dkv::MMAS_K; - fmha::gemm_cl(acc_dk, frag_dpt[(ki - 1)], frag_qt[(ki - 1) & 1]); - } - - // Make sure dQ is in shared memory. - __syncthreads(); - - if (l + 1 < steps) { - gmem_softmax_d.load(reinterpret_cast(dp_sum)); - } - - // Load from shared memory. - smem_dq.template load(dq_out); - - if (!Seq_parallel) { - const bool is_final_write = - Is_last - || ((loop_step_idx + 1) * Cta_tile_p::N >= binfo.actual_seqlen_k) - || ((Is_causal) && ((begin + l) * Cta_tile_p::M < (loop_step_idx + 1) * Cta_tile_p::N)); - if (is_final_write) { - // if (Is_dropout) { - // dq_out[0] = fmha::fmul4(dq_out[0], params.rp_dropout); - // } - for (int jj = 0; jj < Gmem_tile_dq::STGS_PER_LOOP; ++jj) { - // dq_out[jj] = fmha::fmul4(dq_out[jj], params.scale_bmm1f); - dq_out[jj] = fmha::fmul4(dq_out[jj], params.scale_bmm1_rp_dropout); - } - // Output the values. - gmem_dq.template store(dq_out, 0); - // Move to the next part of the output. - gmem_dq.move(); - // TODO: for parallel, need to deal with the dropout scaling - } else { - // Output the values. - gmem_dq_tmp.store(dq_out, 0); - } - } else { - // We always scale dq_out before writing in this case, since we don't want to - // have to scale at the end when copying from dq_tmp to dq. - for (int jj = 0; jj < Gmem_tile_dq::STGS_PER_LOOP; ++jj) { - // dq_out[jj] = fmha::fmul4(dq_out[jj], params.scale_bmm1f); - dq_out[jj] = fmha::fmul4(dq_out[jj], params.scale_bmm1_rp_dropout); - } - gmem_dq_tmp.atomic_add(dq_out, 0); - } - - // Move to the next part of the output. - if (!(Is_first && Is_last)) { gmem_dq_tmp.move(); } - - // // Make sure the data is in shared memory. - // __syncthreads(); - - // Commit the values for Q and dO into shared memory. - if (l + 1 < steps) { - gemm_q_k.smem_q.move_to_next_read_buffer(); - gemm_q_k.reload_q(); - smem_qt.move_to_next_read_buffer(); - // smem_qt.load(frag_qt[0], 0); - smem_do.move_to_next_read_buffer(); - smem_dot.move_to_next_read_buffer(); - // smem_dot.load(frag_dot[0], 0); - } - - } // Outer loop over the sequence length. - - if (Is_dropout) { - for( int mi = 0; mi < Mma_tile_dkv::MMAS_M; mi++ ) { - for( int ni = 0; ni < Mma_tile_dkv::MMAS_N; ni++ ) { - acc_dv[mi][ni].mul_(params.rp_dropout); - } - } - } - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("l final, acc_dv[0][0]=%.6f, %.6f\n", acc_dv[0][0].elt(2), acc_dv[0][0].elt(3)); - // printf("l final, acc_dv[0][1]=%.6f, %.6f\n", acc_dv[0][1].elt(2), acc_dv[0][1].elt(3)); - // } - for( int mi = 0; mi < Mma_tile_dkv::MMAS_M; mi++ ) { - for( int ni = 0; ni < Mma_tile_dkv::MMAS_N; ni++ ) { - // acc_dk[mi][ni].mul_(Is_dropout ? params.rp_dropout * params.scale_bmm1f : params.scale_bmm1f); - // acc_dk[mi][ni].mul_(params.scale_bmm1f); - acc_dk[mi][ni].mul_(params.scale_bmm1_rp_dropout); - } - } - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("l final, acc_dk=%.6f, %.6f\n", acc_dk[0][0].elt(0), acc_dk[0][0].elt(1)); - // } - - __syncthreads(); - // TODO [TD - 2022-05-04]: Are there cases where the shared mem for dV and dK are larger than - // the total amount of shared mem? - // Epilogue swizzle for dV - Smem_tile_dv smem_dv(&smem_[0], tidx); - smem_dv.template store(acc_dv); - - // Epilogue swizzle for dK - Smem_tile_dk smem_dk(&smem_[Smem_tile_dv::BYTES_PER_TILE], tidx); - smem_dk.template store(acc_dk); - - __syncthreads(); - uint4 dv_out[Smem_tile_dv::NUM_LDS]; - smem_dv.load(dv_out); - Gmem_tile_dv gmem_dv(params.dv_ptr, params.dv_row_stride_in_elts, params.dv_head_stride_in_elts, - params.d, binfo, tidx, false); - if (!Is_first) { - gmem_dv.move(loop_step_idx); - } - gmem_dv.store(dv_out); - - uint4 dk_out[Smem_tile_dk::NUM_LDS]; - smem_dk.load(dk_out); - Gmem_tile_dk gmem_dk(params.dk_ptr, params.dk_row_stride_in_elts, params.dk_head_stride_in_elts, - params.d, binfo, tidx, false); - if (!Is_first) { - gmem_dk.move(loop_step_idx); - } - gmem_dk.store(dk_out); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -// loop_steps = -1 means the number of steps will be params.seqlen_k / Kernel_traits::Cta_tile_p::N. -// This template parameter is there so we can specialize with loop_steps == 1 and loop_steps == 2. -template -inline __device__ void compute_dq_dk_dv_1xN(const Params ¶ms) { - constexpr int blocksize_c = Kernel_traits::Cta_tile_p::N; - - // The block index for the batch. - const int bidb = blockIdx.x; - // The block index for the head. - const int bidh = blockIdx.y; - // The thread index. - const int tidx = threadIdx.x; - - auto seed = params.rng_state[0]; - auto offset = params.rng_state[1]; - Philox ph(seed, 0, offset + (bidb * params.h + bidh) * 32 + tidx % 32); - - if (loop_steps == 1) { - compute_dq_dk_dv_1xN_one_iter(params, ph, 0); - } else if (loop_steps == 2) { - compute_dq_dk_dv_1xN_one_iter(params, ph, 0); - compute_dq_dk_dv_1xN_one_iter(params, ph, 1); - } else { - if (params.seqlen_k == blocksize_c) { - compute_dq_dk_dv_1xN_one_iter(params, ph, 0); - } else { - const int max_loop_steps = (params.seqlen_k + blocksize_c - 1) / blocksize_c; - compute_dq_dk_dv_1xN_one_iter(params, ph, 0); - for (int loop_step_idx = 1; loop_step_idx < max_loop_steps - 1; loop_step_idx++) { - compute_dq_dk_dv_1xN_one_iter(params, ph, loop_step_idx); - } - compute_dq_dk_dv_1xN_one_iter(params, ph, max_loop_steps - 1); - } - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ void compute_dq_dk_dv_seqparallel(const Params ¶ms) { - // The block index for the batch. - const int bidb = blockIdx.x; - // The block index for the head. - const int bidh = blockIdx.y; - // The thread index. - const int tidx = threadIdx.x; - - auto seed = params.rng_state[0]; - auto offset = params.rng_state[1]; - Philox ph(seed, 0, offset + (bidb * params.h + bidh) * 32 + tidx % 32); - - int loop_step_idx = blockIdx.z; - compute_dq_dk_dv_1xN_one_iter(params, ph, loop_step_idx); -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -} // namespace fmha diff --git a/csrc/flash_attn/src/fmha_fprop_kernel_1xN.h b/csrc/flash_attn/src/fmha_fprop_kernel_1xN.h deleted file mode 100644 index ee5d68dcc..000000000 --- a/csrc/flash_attn/src/fmha_fprop_kernel_1xN.h +++ /dev/null @@ -1,707 +0,0 @@ -/*************************************************************************************************** - * Copyright (c) 2022, Tri Dao. - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -#include "fmha_kernel.h" -#include -#include -#include - -namespace fmha { - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct Gemm_Q_K_base { - using Smem_tile_o = typename Kernel_traits::Smem_tile_o; - using Smem_tile_q = typename Kernel_traits::Smem_tile_q; - using Smem_tile_k = typename Kernel_traits::Smem_tile_k; - using Fragment_q = typename Smem_tile_q::Fragment; - using Fragment_k = typename Smem_tile_k::Fragment; - - // The description of the CTA tile for the 1st batched GEMM. - using Cta_tile_p = typename Kernel_traits::Cta_tile_p; - - // The MMA tile for the 1st GEMM. - using Mma_tile_p = fmha::Hmma_tile; - - static constexpr int SMEM_BYTES_SOFTMAX = Cta_tile_p::M * Cta_tile_p::WARPS_N * sizeof(float) * 2; - - __device__ inline Gemm_Q_K_base(char * smem_ptr_q, char * smem_ptr_k, const int tidx) - : smem_q(smem_ptr_q, tidx) - , smem_k(smem_ptr_k, tidx) { - - } - - __device__ inline void load_q() { - smem_q.load(frag_q[0], 0); - } - - __device__ inline void reload_q() { - smem_q.load(frag_q[0], 0); - } - - Fragment_q frag_q[2][Mma_tile_p::MMAS_M]; - Smem_tile_q smem_q; - Smem_tile_k smem_k; -}; - -template -struct Gemm_Q_K : public Gemm_Q_K_base { - - using Base = Gemm_Q_K_base; - using Smem_tile_o = typename Base::Smem_tile_o; - using Smem_tile_q = typename Base::Smem_tile_q; - using Smem_tile_k = typename Base::Smem_tile_k; - using Fragment_k = typename Base::Fragment_k; - using Mma_tile_p = typename Base::Mma_tile_p; - using elem_type = elem_type_; - - static constexpr bool SHARE_SMEM_FOR_K_AND_V = Kernel_traits::SHARE_SMEM_FOR_K_AND_V; - // If V is stored in shared memory, we can't load K using the same shared memory. - static_assert(Kernel_traits::V_IN_REGS); - - static constexpr int SMEM_OFFSET_O = Smem_tile_q::BYTES_PER_TILE; - static constexpr int SMEM_OFFSET_SOFTMAX = SMEM_OFFSET_O + Smem_tile_o::BYTES_PER_TILE; - static constexpr int SMEM_OFFSET_V = Smem_tile_q::BYTES_PER_TILE + (SHARE_SMEM_FOR_K_AND_V ? 0 : Smem_tile_k::BYTES_PER_TILE); - - // Q | K / V - // | O | SOFTMAX - static constexpr int SMEM_BYTES = Smem_tile_q::BYTES_PER_TILE - + std::max((SHARE_SMEM_FOR_K_AND_V ? 1 : 2) * Smem_tile_k::BYTES_PER_TILE, - Smem_tile_o::BYTES_PER_TILE + Base::SMEM_BYTES_SOFTMAX); - - __device__ inline Gemm_Q_K(char * smem_, const int tidx) - : Base(smem_, smem_ + Smem_tile_q::BYTES_PER_TILE, tidx) { - } - - __device__ inline void load_k(){ - #pragma unroll - for( int ki = 0; ki < Mma_tile_p::MMAS_K; ++ki ) { - Base::smem_k.load(frag_k[ki], ki); - } - } - - template - __device__ inline void operator()(Acc (&acc_p)[M][N]){ - // Do this part of P^T = (Q * K^T)^T. - #pragma unroll - for( int ki = 1; ki < Mma_tile_p::MMAS_K; ++ki ) { - // Trigger the load from shared memory for the next series of Q values. - Base::smem_q.load(Base::frag_q[ki & 1], ki); - // Do the math for the values already in registers. - fmha::gemm_cl(acc_p, Base::frag_q[(ki - 1) & 1], frag_k[(ki - 1)]); - } - // Do the final stage of math. - { - int ki = Mma_tile_p::MMAS_K; - fmha::gemm_cl(acc_p, Base::frag_q[(ki - 1) & 1], frag_k[(ki - 1)]); - } - } - - __device__ inline void reload_k(){ - // Noop. - } - - Fragment_k frag_k[Mma_tile_p::MMAS_K][Mma_tile_p::MMAS_N]; -}; - - -template -struct Gemm_Q_K : public Gemm_Q_K_base { - using Base = Gemm_Q_K_base; - using Smem_tile_o = typename Base::Smem_tile_o; - using Smem_tile_q = typename Base::Smem_tile_q; - using Smem_tile_k = typename Base::Smem_tile_k; - using Smem_tile_v = typename Kernel_traits::Smem_tile_v; - using Fragment_k = typename Base::Fragment_k; - using Mma_tile_p = typename Base::Mma_tile_p; - using elem_type = elem_type_; - Fragment_k frag_k[2][Mma_tile_p::MMAS_N]; - - static constexpr bool SHARE_SMEM_FOR_K_AND_V = Kernel_traits::SHARE_SMEM_FOR_K_AND_V; - static constexpr bool V_IN_REGS = Kernel_traits::V_IN_REGS; - static_assert(V_IN_REGS || !SHARE_SMEM_FOR_K_AND_V); - - static constexpr int SMEM_OFFSET_V = Smem_tile_q::BYTES_PER_TILE + (SHARE_SMEM_FOR_K_AND_V ? 0 : Smem_tile_k::BYTES_PER_TILE); - static_assert(Smem_tile_v::BYTES_PER_TILE == (int) Smem_tile_k::BYTES_PER_TILE); - static constexpr int SMEM_OFFSET_O = SMEM_OFFSET_V + Smem_tile_v::BYTES_PER_TILE; - static constexpr int SMEM_OFFSET_SOFTMAX = SMEM_OFFSET_O + Smem_tile_o::BYTES_PER_TILE; - - // If V_IN_REGS and SHARE_SMEM_FOR_K_AND_V: Q | K/V | O | SOFTMAX - // If !V_IN_REGS (then !SHARE_SMEM_FOR_K_AND_V): Q | K | V | O | SOFTMAX - static constexpr int SMEM_BYTES = Smem_tile_q::BYTES_PER_TILE - + (SHARE_SMEM_FOR_K_AND_V ? 1 : 2) * Smem_tile_k::BYTES_PER_TILE - + Smem_tile_o::BYTES_PER_TILE + Base::SMEM_BYTES_SOFTMAX; - - __device__ inline Gemm_Q_K(char * smem_, const int tidx) - : Base(smem_, smem_ + Smem_tile_q::BYTES_PER_TILE, tidx) { - } - - __device__ inline void load_k(){ - Base::smem_k.load(frag_k[0], 0); - } - - template - __device__ inline void operator()(Acc (&acc_p)[M][N]){ - // Do this part of P^T = (Q * K^T)^T. - #pragma unroll - for( int ki = 1; ki < Mma_tile_p::MMAS_K; ++ki ) { - // Trigger the load from shared memory for the next series of Q values. - Base::smem_q.load(Base::frag_q[ki & 1], ki); - Base::smem_k.load(frag_k[ki & 1], ki); - // Do the math for the values already in registers. - fmha::gemm_cl(acc_p, Base::frag_q[(ki - 1) & 1], frag_k[(ki - 1) & 1]); - } - // Do the final stage of math. - { - int ki = Mma_tile_p::MMAS_K; - fmha::gemm_cl(acc_p, Base::frag_q[(ki - 1) & 1], frag_k[(ki - 1) & 1]); - } - } - - __device__ inline void reload_k(){ - Base::smem_k.load(frag_k[0], 0); - } -}; - -template -constexpr size_t get_dynamic_smem_size(){ - return Gemm_Q_K::SMEM_BYTES; -} - -template -inline __device__ void device_1xN_(const Params ¶ms, const int bidb, const int bidh, int steps, Prng &ph, const int loop_step_idx) { - -#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 - using elem_type = typename Kernel_traits::elem_type; -#else - constexpr bool is_fp16_type = std::is_same::value; - assert(is_fp16_type); - using elem_type = __half; -#endif - - // The description of the CTA tile for the 1st batched GEMM. - using Cta_tile_p = typename Kernel_traits::Cta_tile_p; - // The description of the CTA tile for the 2nd batched GEMM. - using Cta_tile_o = typename Kernel_traits::Cta_tile_o; - - // The MMA tile for the 1st GEMM. - using Mma_tile_p = fmha::Hmma_tile; - // The MMA tile for the 2nd GEMM. - using Mma_tile_o = fmha::Hmma_tile; - - // The global memory tile to load Q. - using Gmem_tile_q = typename Kernel_traits::Gmem_tile_q; - - // The global memory tile to load K. - using Gmem_tile_k = typename Kernel_traits::Gmem_tile_k; - - // The global memory tile to load V. - using Gmem_tile_v = typename Kernel_traits::Gmem_tile_v; - // The shared memory tile to swizzle V. - using Smem_tile_v = typename Kernel_traits::Smem_tile_v; - - // The global memory tile to store O. - using Gmem_tile_o = typename Kernel_traits::Gmem_tile_o; - using Gmem_tile_o_tmp = fmha::Gmem_tile_o; - // The shared memory tile to swizzle O. - using Smem_tile_o = typename Kernel_traits::Smem_tile_o; - - using Gmem_tile_s = typename Kernel_traits::Gmem_tile_s; - - using Gmem_softmax_sum = typename Kernel_traits::Gmem_softmax_sum; - - using Smem_softmax_sum = typename Kernel_traits::Smem_dp_sum; - - using Gemm1 = Gemm_Q_K; - - using Softmax = fmha::Softmax; - - // Shared memory. - extern __shared__ char smem_[]; - - // The thread index. - const int tidx = threadIdx.x; - - // How many steps to jump per iteration, which is the same as params.num_splits. - const int step_stride = gridDim.z; - - const BlockInfoPadded binfo(params, bidb, bidh, tidx); - // if( binfo.stop_early() ) return; - if( binfo.stop_early(loop_step_idx * Cta_tile_p::N) ) return; - - Gemm1 gemm_q_k(smem_, tidx); - // Allocate the global memory tile loader for Q. - Gmem_tile_q gmem_q(params.q_ptr, params.q_row_stride_in_elts, params.q_head_stride_in_elts, - params.d, binfo, tidx, true); - // Allocate the global memory tile loader for O. - Gmem_tile_o gmem_o(params.o_ptr, params.o_row_stride_in_elts, params.o_head_stride_in_elts, - params.d, binfo, tidx); - Gmem_tile_o_tmp gmem_o_tmp(params.o_tmp_ptr, params.o_tmp_row_stride_in_elts, - params.o_tmp_head_stride_in_elts, params.d, binfo, tidx); - // Allocate the global memory tile loader for S. - Gmem_tile_s gmem_s(params, binfo, tidx); - Gmem_softmax_sum gmem_softmax_lse(params.softmax_lse_ptr, params, tidx); - - // Wind gmem tiles to the correct position. - static_assert(Cta_tile_p::N % Cta_tile_p::M == 0); - int begin = Is_causal ? loop_step_idx * Cta_tile_p::N / Cta_tile_p::M : 0; - // We want begin to be a multiple of gridDim.z - // This is because the row indices processed by each threadblock must align between the - // loop steps, otherwise we have a dependency between the blocks. - // For example, threadblock with blockIdx.z == 1 must process row indices that are - // k * gridDim.z + 1 for integer k. - const int begin_mod_z = begin % gridDim.z; - begin = begin_mod_z <= blockIdx.z ? begin - begin_mod_z : begin + gridDim.z - begin_mod_z; - // Otherwise we'd be reading out-of-bound memory before the loop - if ((begin + blockIdx.z) * Cta_tile_p::M >= binfo.actual_seqlen_q) return; - const int steps_og = steps; - steps -= begin; - gmem_q.move(begin + blockIdx.z); - gmem_o.move(begin + blockIdx.z); - gmem_o_tmp.move(begin + blockIdx.z); - if (Return_softmax) { - gmem_s.move(begin + blockIdx.z); - } - gmem_softmax_lse.move(begin + blockIdx.z); - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("begin = %d, steps = %d\n", begin, steps); - // } - - fmha::Mask mask(binfo, tidx, loop_step_idx); - - // Allocate the global memory tile loader for K. - Gmem_tile_k gmem_k(params.k_ptr, params.k_row_stride_in_elts, params.k_head_stride_in_elts, - params.d, binfo, tidx, false); - // Allocate the global memory tile loader for V. - Gmem_tile_v gmem_v(params.v_ptr, params.v_row_stride_in_elts, params.v_head_stride_in_elts, - params.d, binfo, tidx, false); - // The base pointer of smem_v; - char *smem_v_ = &smem_[Gemm1::SMEM_OFFSET_V]; - - // Allocate the shared memory tile loader for V. We use the same as K so be careful!!! - Smem_tile_v smem_v(smem_v_, tidx); - - // Allocate the shared memory tile loader for O. We use the same as K so be careful!!! - Smem_tile_o smem_o(&smem_[Gemm1::SMEM_OFFSET_O], tidx); - - if (!Is_first) { - gmem_k.move(loop_step_idx); - gmem_v.move(loop_step_idx); - if (Return_softmax) { gmem_s.move(loop_step_idx * steps_og); } - } - - // Trigger the loads for K. - gmem_k.load(); - // Trigger the loads for Q. - gmem_q.load(); - // Trigger the loads for V. - gmem_v.load(); - - if (!Is_first) { __syncthreads(); } - - float p_prev_lse[Mma_tile_p::MMAS_M * 2]; - if (!Is_first) { - gmem_softmax_lse.load(reinterpret_cast(p_prev_lse)); - } - - // Commit the data for Q and V to shared memory. - gmem_q.commit(gemm_q_k.smem_q); - gmem_v.commit(smem_v); - - // const uint32_t scale_bmm1 = reinterpret_cast(params.scale_bmm1); - // #pragma unroll - // for(int it=0;it < Gmem_tile_k::LDGS;it++){ - // gmem_k.fetch_[it] = fmha::hmul8(scale_bmm1, gmem_k.fetch_[it]); - // } - - // Commit the data for K to shared memory. - if( !Kernel_traits::SHARE_SMEM_FOR_K_AND_V ) { - gmem_k.commit(gemm_q_k.smem_k); - } - - __syncthreads(); - - // Load the fragments for Q. - gemm_q_k.load_q(); - - // Load the fragments for V. We keep the data in registers during the entire kernel. - typename Smem_tile_v::Fragment frag_v[Mma_tile_o::MMAS_K][Mma_tile_o::MMAS_N]; - #pragma unroll - for( int ki = 0; ki < Mma_tile_o::MMAS_K; ++ki ) { - smem_v.load(frag_v[ki], ki); - } - - // Commit the data for V to shared memory if it has not been done already. - if( Kernel_traits::SHARE_SMEM_FOR_K_AND_V ) { - // Make sure we are done loading the fragments for K. - __syncthreads(); - - // Commit the data to shared memory for V. - gmem_k.commit(gemm_q_k.smem_k); - - // Make sure the data is in shared memory. - __syncthreads(); - } - - // Load the fragments for K. - gemm_q_k.load_k(); - - // Create the object to do the softmax. - Softmax softmax(params, &smem_[Gemm1::SMEM_OFFSET_SOFTMAX], tidx); - - Smem_softmax_sum smem_softmax_lse(reinterpret_cast(&smem_[Gemm1::SMEM_BYTES]), tidx); - - // Load over the entire sequence length. - for (int l = blockIdx.z; l < steps; l += step_stride) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (blockIdx.z <= 1)) { - // printf("l = %d\n", l); - // } - if ((begin + l) * Cta_tile_p::M >= binfo.actual_seqlen_q) break; - - // Declare the accumulators for the 1st gemm. - fmha::Fragment_accumulator acc_p[Mma_tile_p::MMAS_M][Mma_tile_p::MMAS_N]; - fmha::Clear_accumulator::apply(acc_p); - - // Do this part of P = Q * K^T. - gemm_q_k(acc_p); - - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // printf("acc_p=%.6f, %.6f\n", acc_p[0][0].elt(0), acc_p[0][0].elt(1)); - // } - - uint4 out[Gmem_tile_o::STGS_PER_LOOP]; - if (!Is_first) { gmem_o_tmp.load(out, 0); } - - // Trigger the load for the next Q values. - if (l + step_stride < steps) { - gemm_q_k.smem_q.move_to_next_write_buffer(); - gmem_q.move(step_stride); - gmem_q.load(); - } - - // Load the mask for that iteration. - mask.load(begin + l); - - // Convert from the accumulator type to FP32 for Softmax. - softmax.unpack_noscale(acc_p); - - // Apply the mask. - softmax.apply_mask(mask); - - if( Kernel_traits::SHARE_SMEM_FOR_K_AND_V && l < step_stride ) { - // if we share K and V, it could be that V was not fully read yet but we write into smem for reduction - __syncthreads(); - } - // if (!Is_first) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l >= 0)) { - // printf("p_prev_lse=%.6f, %.6f\n", p_prev_lse[0], p_prev_lse[1]); - // } - // } - // Compute the max. - float p_max[Mma_tile_p::MMAS_M * 2]; - if (!Is_first) { - smem_softmax_lse.store_pair(p_prev_lse); - // for (int mi = 0; mi < Mma_tile_p::MMAS_M * 2; mi++) { p_max[mi] = p_prev_lse[mi]; } - for (int mi = 0; mi < Mma_tile_p::MMAS_M * 2; mi++) { p_max[mi] = p_prev_lse[mi] / params.scale_bmm1f; } - } - - // Trigger the load for the next LSE values. - if (l + step_stride < steps) { - if (!Is_first) { - gmem_softmax_lse.load_next(reinterpret_cast(p_prev_lse), - step_stride); - } - } - - softmax.template reduce_max(p_max); - - // if ((threadIdx.x == 0) && (l == 38)) { - // printf("loop_step_idx %d, p_max = %.6f, %.6f., p_prev_lse = %.6f, %.6f\n", loop_step_idx, p_max[0], p_max[1], Is_first ? -10000.f : p_prev_lse[0], Is_first ? -10000.f : p_prev_lse[1]); - // } - - // if (!Is_first) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // printf("after reduce_max=%.6f, %.6f\n", softmax.elt_[0][0], softmax.elt_[0][1]); - // } - // } - - // Compute the exponential value. - // softmax.apply_exp(p_max); - softmax.scale_apply_exp(p_max, params.scale_bmm1f); - - // if (!Is_first) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // printf("after apply_exp=%.6f, %.6f\n", softmax.elt_[0][0], softmax.elt_[0][1]); - // } - // } - - // Compute the sum. - float p_sum[Mma_tile_p::MMAS_M * 2]; - // if (!Is_first) { - // int warp = tidx / Cta_tile_p::THREADS_PER_WARP; - // int lane = tidx % Cta_tile_p::THREADS_PER_WARP; - // for (int mi = 0; mi < Mma_tile_p::MMAS_M * 2; mi++) { - // p_sum[mi] = ((warp == 0) && (lane % 4 == 0)) ? expf(p_prev_lse[mi] - p_max[mi]) : 0; - // } - // } - // softmax.reduce_sum(p_sum); - softmax.reduce_sum_before_sync_(p_sum); - // softmax.template reduce_sum_before_sync_(p_sum); - - // float p_sum_log[Mma_tile_p::MMAS_M * 2]; - // for (int mi = 0; mi < Mma_tile_p::MMAS_M * 2; ++mi) { - // float sum = p_sum[mi]; - // // p_sum_log[mi] = (sum == 0.f || sum != sum) ? INFINITY : p_max[mi] + __logf(sum); - // constexpr float kLog2e = M_LOG2E; - // p_sum_log[mi] = (sum == 0.f || sum != sum) ? INFINITY : p_max[mi] * kLog2e + __log2f(sum); - // } - // // gmem_softmax_lse.store(reinterpret_cast(p_sum)); - // gmem_softmax_lse.store(reinterpret_cast(p_sum_log)); - // gmem_softmax_lse.move(); - - // // Finalize softmax on the accumulators of P^T. - // softmax.scale(p_sum); - - constexpr bool encode_dropout_in_sign_bit = Return_softmax; - if (Is_dropout) { - // softmax.template apply_dropout(ph, params.p_dropout_in_uint); - // softmax.template apply_dropout(ph, ph1, params.p_dropout_in_uint); - // softmax.template apply_dropout_16bits(ph, ph1, params.p_dropout_in_uint16_t); - unsigned int warp_idx = threadIdx.x / 32; - // TODO: this should change after we rearrange the warps (e.g. cutlass branch) - unsigned int block_col_idx = loop_step_idx * Cta_tile_p::N / 16 + warp_idx; - // We want to use actual_seqlen_k, not seqlen_k, since seqlen_k could be rounded - // differently in the fwd and bwd pass. E.g., for d=128 on A100, fwd rounds seqlen_k - // to multiples of 256 while bwd rounds seqlen_k to multiples of 128. - unsigned long long philox_subsequence = (begin + l) * (binfo.actual_seqlen_k / 16) + block_col_idx; - softmax.template apply_dropout_16bits(ph, params.p_dropout_in_uint16_t, philox_subsequence); - } - - using Frag_p = fmha::Fragment_a; - Frag_p frag_p[Mma_tile_o::MMAS_K][Mma_tile_o::MMAS_M]; - static_assert(Mma_tile_o::MMAS_M == Mma_tile_p::MMAS_M); - static_assert(Mma_tile_o::MMAS_K == Mma_tile_p::MMAS_N); - softmax.template pack(frag_p); - if (Return_softmax) { - gmem_s.store(frag_p, mask); - gmem_s.move(step_stride); - } - - // Commit the values for Q into shared memory. - if (l + step_stride < steps) { - gmem_q.commit(gemm_q_k.smem_q); - } - - if (Is_dropout && encode_dropout_in_sign_bit) { - #pragma unroll - for( int ki = 0; ki < Mma_tile_o::MMAS_K; ki++ ) { - #pragma unroll - for( int mi = 0; mi < Mma_tile_o::MMAS_M; mi++ ) { - frag_p[ki][mi].template hrelu_(); - } - } - } - - // Declare the accumulators for the 2nd gemm. - fmha::Fragment_accumulator acc_o[Mma_tile_o::MMAS_M][Mma_tile_o::MMAS_N]; - fmha::Clear_accumulator::apply(acc_o); - - // Do this part of O = P^T * V^T. - #pragma unroll - for( int ki = 0; ki < Mma_tile_o::MMAS_K; ++ki ) { - fmha::gemm_cl(acc_o, frag_p[ki], frag_v[ki]); - // if ((threadIdx.x == 4) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // float2 tmp_p = __half22float2(reinterpret_cast<__half2 &>(frag_p[ki])); - // float2 tmp_v = __half22float2(reinterpret_cast<__half2 &>(frag_v[ki])); - // printf("Per warp, threadIdx.x = %d, frag_p = %.6f, %.6f, frag_v = %.6f, %.6f, acc_o=%.6f\n", threadIdx.x, tmp_p.x, tmp_p.y, tmp_v.x, tmp_v.y, acc_o[0][0].elt(0)); - // } - } - - // if ((threadIdx.x % 32 == 16) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // printf("Per warp, threadIdx.x = %d, acc_o=%.6f\n", threadIdx.x, acc_o[0][2].elt(0)); - // } - - // The mapping from tidx to rows changes between the softmax and the - // O-reduction. So we recalculate the max. - float p_max_o[Gmem_tile_o::STGS_PER_LOOP][Mma_tile_o::MMAS_M]; - int rows[Gmem_tile_o::STGS_PER_LOOP]; - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - rows[jj] = tidx / Gmem_tile_o::THREADS_PER_ROW + jj * Gmem_tile_o::ROWS_PER_STG; - } - softmax.reduce_max_after_sync_(p_max_o, rows); - static_assert(Mma_tile_o::MMAS_M == 1); - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - p_max_o[jj][0] *= params.scale_bmm1f; - } - float p_prev_scale_o[Gmem_tile_o::STGS_PER_LOOP]; - if (!Is_first) { - smem_softmax_lse.load(p_prev_scale_o, rows); - } - // if (!Is_first) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // printf("p_prev_scale_o=%.6f\n", p_prev_scale_o[0]); - // } - // } - - static_assert(Gmem_tile_o::LOOPS == 1); - - // Swizzle the elements and do the final reduction. - smem_o.store(acc_o, 0); - - // Make sure the data is in shared memory. - __syncthreads(); - - static_assert(Mma_tile_o::MMAS_M == 1); - float p_sum_o[Gmem_tile_o::STGS_PER_LOOP][Mma_tile_o::MMAS_M]; - softmax.reduce_sum_after_sync_(p_sum_o, rows); - if (!Is_first) { - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - p_prev_scale_o[jj] = expf(p_prev_scale_o[jj] - p_max_o[jj][0]); - p_sum_o[jj][0] += p_prev_scale_o[jj]; - } - } - - float p_sum_log[Gmem_tile_o::STGS_PER_LOOP][Mma_tile_o::MMAS_M]; - #pragma unroll - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - float sum = p_sum_o[jj][0]; - p_sum_log[jj][0] = (sum == 0.f || sum != sum) ? -INFINITY : p_max_o[jj][0] + __logf(sum); - // if (sum == 0.f || sum != sum) { - // printf("loop_step_idx = %d, l = %d, tidx = %d, sum = %.6f, p_max_o = %.6f\n", loop_step_idx, l, tidx, sum, p_max_o[jj][0]); - // } - // if (Is_first) { - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0) && (l == 0)) { - // printf("p_sum_log=%.6f\n", p_sum_log[jj][0]); - // } - // } - if (tidx % Gmem_tile_o::THREADS_PER_ROW == 0) { - gmem_softmax_lse.store_row( - reinterpret_cast(p_sum_log[jj]), rows[jj]); - } - } - gmem_softmax_lse.move(step_stride); - - // Load from shared memory. - if (!Is_first) { - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - out[jj] = fmha::fmul4(out[jj], p_prev_scale_o[jj]); - } - } - smem_o.template load(out); - - const bool is_final_write = - Is_last - || ((loop_step_idx + 1) * Cta_tile_p::N >= binfo.actual_seqlen_k) - || ((Is_causal) && ((begin + l) * Cta_tile_p::M < (loop_step_idx + 1) * Cta_tile_p::N)); - #pragma unroll - for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - float sum = p_sum_o[jj][0]; - float inv_sum = (sum == 0.f || sum != sum) ? 1.f : 1.f / sum; - if (Is_dropout && is_final_write) { - inv_sum *= params.rp_dropout; - } - out[jj] = fmha::fmul4(out[jj], inv_sum); - } - - // if (Is_dropout && Is_last) { - // for (int jj = 0; jj < Gmem_tile_o::STGS_PER_LOOP; jj++) { - // out[jj] = fmha::fmul4(out[jj], params.rp_dropout); - // } - // } - - // Output the values. - if (is_final_write) { - gmem_o.template store(out, 0); - gmem_o.move(step_stride); - } else { - gmem_o_tmp.store(out, 0); - } - - // Move to the next part of the output. - if (!(Is_first && Is_last)) { gmem_o_tmp.move(step_stride); } - gemm_q_k.reload_k(); - - // Make sure we are reading from the correct buffer. - gemm_q_k.smem_q.move_to_next_read_buffer(); - // Trigger the load from shared memory for the next series of Q values. - if (l + step_stride < steps) { - gemm_q_k.reload_q(); - } - } // Outer loop over the sequence length. -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -inline __device__ void device_1xN_loop(const Params ¶ms) { - - // The block index for the batch. - const int bidb = blockIdx.x; - // The block index for the head. - const int bidh = blockIdx.y; - // The block index. - const int bidx = gridDim.x * bidh + bidb; - // The thread index. - const int tidx = threadIdx.x; - - // We want the fwd and bwd to generate the same dropout pattern (RNG), without restricting - // them to have the same number of threads or have to traverse the attention matrix - // in the same order. - // In the Philox RNG, we use the offset to store the batch, head, and the lane id - // (within a warp). We use the subsequence to store the location of the 16 x 16 blocks within - // the attention matrix. This way, as long as we have the batch, head, and the location of - // the 16 x 16 block within the attention matrix, we can generate the exact same dropout pattern. - auto seeds = at::cuda::philox::unpack(params.philox_args); - if (bidx == 0 && tidx == 0) { - params.rng_state[0] = std::get<0>(seeds); - params.rng_state[1] = std::get<1>(seeds); - } - Philox ph(std::get<0>(seeds), 0, std::get<1>(seeds) + (bidb * params.h + bidh) * 32 + tidx % 32); - constexpr int M = Kernel_traits::Cta_tile_p::M; - const int STEPS = (params.seqlen_q + M - 1) / M; - - constexpr int blocksize_c = Kernel_traits::Cta_tile_p::N; - if (params.seqlen_k == blocksize_c) { - fmha::device_1xN_(params, bidb, bidh, STEPS, ph, 0); - } else { - const int max_loop_steps = (params.seqlen_k + blocksize_c - 1) / blocksize_c; - fmha::device_1xN_(params, bidb, bidh, STEPS, ph, 0); - for (int loop_step_idx = 1; loop_step_idx < max_loop_steps - 1; loop_step_idx++) { - fmha::device_1xN_(params, bidb, bidh, STEPS, ph, loop_step_idx); - } - fmha::device_1xN_(params, bidb, bidh, STEPS, ph, max_loop_steps - 1); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -} // namespace fmha - diff --git a/csrc/flash_attn/src/fmha_fwd_hdim128.cu b/csrc/flash_attn/src/fmha_fwd_hdim128.cu deleted file mode 100644 index 66532e651..000000000 --- a/csrc/flash_attn/src/fmha_fwd_hdim128.cu +++ /dev/null @@ -1,12 +0,0 @@ -// Copyright (c) 2022, Tri Dao. - -// Splitting the different head dimensions to different files to speed up compilation. - -#include "fmha_fwd_launch_template.h" - -void run_fmha_fwd_hdim128(Launch_params &launch_params) { - FP16_SWITCH(launch_params.params.is_bf16, ([&] { - using Kernel_traits = FMHA_kernel_traits<128, 128, 16, 1, 4, 0x08u, elem_type>; - run_fmha_fwd_loop(launch_params); - })); -} \ No newline at end of file diff --git a/csrc/flash_attn/src/fmha_fwd_hdim32.cu b/csrc/flash_attn/src/fmha_fwd_hdim32.cu deleted file mode 100644 index f569ca5f6..000000000 --- a/csrc/flash_attn/src/fmha_fwd_hdim32.cu +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) 2022, Tri Dao. - -// Splitting the different head dimensions to different files to speed up compilation. - -#include "fmha_fwd_launch_template.h" - -void run_fmha_fwd_hdim32(Launch_params &launch_params) { - FP16_SWITCH(launch_params.params.is_bf16, ([&] { - if (launch_params.params.seqlen_k == 128) { - using Kernel_traits = FMHA_kernel_traits<128, 32, 16, 1, 4, 0x08u, elem_type>; - run_fmha_fwd_loop(launch_params); - } else if (launch_params.params.seqlen_k >= 256) { - using Kernel_traits = FMHA_kernel_traits<256, 32, 16, 1, 4, 0x08u, elem_type>; - run_fmha_fwd_loop(launch_params); - } - })); -} \ No newline at end of file diff --git a/csrc/flash_attn/src/fmha_fwd_hdim64.cu b/csrc/flash_attn/src/fmha_fwd_hdim64.cu deleted file mode 100644 index 134efa63b..000000000 --- a/csrc/flash_attn/src/fmha_fwd_hdim64.cu +++ /dev/null @@ -1,17 +0,0 @@ -// Copyright (c) 2022, Tri Dao. - -// Splitting the different head dimensions to different files to speed up compilation. - -#include "fmha_fwd_launch_template.h" - -void run_fmha_fwd_hdim64(Launch_params &launch_params) { - FP16_SWITCH(launch_params.params.is_bf16, ([&] { - if (launch_params.params.seqlen_k == 128) { - using Kernel_traits = FMHA_kernel_traits<128, 64, 16, 1, 4, 0x08u, elem_type>; - run_fmha_fwd_loop(launch_params); - } else if (launch_params.params.seqlen_k >= 256) { - using Kernel_traits = FMHA_kernel_traits<256, 64, 16, 1, 4, 0x08u, elem_type>; - run_fmha_fwd_loop(launch_params); - } - })); -} diff --git a/csrc/flash_attn/src/fmha_fwd_launch_template.h b/csrc/flash_attn/src/fmha_fwd_launch_template.h deleted file mode 100644 index ec1d3df0a..000000000 --- a/csrc/flash_attn/src/fmha_fwd_launch_template.h +++ /dev/null @@ -1,91 +0,0 @@ -// Copyright (c) 2022, Tri Dao. - -#pragma once - -#include - -#include -#include - -#include "static_switch.h" -#include "fmha.h" -#include "fmha_fprop_kernel_1xN.h" - -// Find the number of splits that maximizes the occupancy. For example, if we have -// batch * n_heads = 48 and we have 108 SMs, having 2 splits (efficiency = 0.89) is -// better than having 3 splits (efficiency = 0.67). However, we also don't want too many -// splits as that would incur more HBM reads/writes. -// So we find the best efficiency, then find the smallest number of splits that gets 95% -// of the best efficiency. -// [2022-11-25] TD: Mark this as "inline" otherwise we get "multiple definition" error. -inline int num_splits_heuristic_fwd(int batch_nheads, int num_SMs, int ctas_per_sm, int max_splits) { - float max_efficiency = 0.f; - std::vector efficiency; - efficiency.reserve(max_splits); - for (int num_splits = 1; num_splits <= max_splits; num_splits++) { - float n_waves = float(batch_nheads * num_splits) / (num_SMs * ctas_per_sm); - float eff = n_waves / ceil(n_waves); - // printf("num_splits = %d, eff = %f\n", num_splits, eff); - if (eff > max_efficiency) { max_efficiency = eff; } - efficiency.push_back(eff); - } - for (int num_splits = 1; num_splits <= max_splits; num_splits++) { - if (efficiency[num_splits - 1] > 0.95 * max_efficiency) { - // printf("num_splits chosen = %d\n", num_splits); - return num_splits; - } - } - return 1; -} - -template -__global__ void fmha_fwd_loop_kernel(FMHA_fprop_params params) { - fmha::device_1xN_loop(params); -} - -template -void run_fmha_fwd_loop(Launch_params &launch_params) { - constexpr int blocksize_c = Kernel_traits::Cta_tile_p::N; - const int loop_steps = (launch_params.params.seqlen_k + blocksize_c - 1) / blocksize_c; - - constexpr int smem_size_softmax_lse = Kernel_traits::Smem_dp_sum::BYTES_PER_TILE; - // Don't need smem_size_softmax_lse if we're not looping - const int smem_size = fmha::get_dynamic_smem_size() - + (loop_steps > 1 ? smem_size_softmax_lse : 0); - - // Work-around for gcc 7. It doesn't like nested BOOL_SWITCH. - // https://github.com/kokkos/kokkos-kernels/issues/349 - // https://github.com/HazyResearch/flash-attention/issues/21 - BOOL_SWITCH(launch_params.is_dropout, IsDropoutConst, ([&] { - auto kernel = launch_params.params.is_causal - ? (launch_params.return_softmax - ? &fmha_fwd_loop_kernel - : &fmha_fwd_loop_kernel) - : (launch_params.return_softmax - ? &fmha_fwd_loop_kernel - : &fmha_fwd_loop_kernel); - if( smem_size >= 48 * 1024 ) { - FMHA_CHECK_CUDA(cudaFuncSetAttribute( - kernel, cudaFuncAttributeMaxDynamicSharedMemorySize, smem_size)); - } - // Automatically set num_splits to maximize occupancy - if (launch_params.params.num_splits <= 0) { - int ctas_per_sm; - cudaError status_ = cudaOccupancyMaxActiveBlocksPerMultiprocessor( - &ctas_per_sm, kernel, Kernel_traits::THREADS, smem_size); - auto dprops = at::cuda::getCurrentDeviceProperties(); - // printf("CTAS_PER_SM = %d, nSMs = %d\n", ctas_per_sm, dprops->multiProcessorCount); - constexpr int M = Kernel_traits::Cta_tile_p::M; - launch_params.params.num_splits = num_splits_heuristic_fwd( - launch_params.params.b * launch_params.params.h, dprops->multiProcessorCount, - ctas_per_sm, - /*max_splits=*/std::min(30, (launch_params.params.seqlen_q + M - 1 / M)) - ); - } - // printf("smem_size = %d\n", smem_size); - dim3 grid(launch_params.params.b, launch_params.params.h, launch_params.params.num_splits); - kernel<<>>( - launch_params.params); - FMHA_CHECK_CUDA(cudaPeekAtLastError()); - })); -} diff --git a/csrc/flash_attn/src/fmha_kernel.h b/csrc/flash_attn/src/fmha_kernel.h deleted file mode 100644 index 62879769a..000000000 --- a/csrc/flash_attn/src/fmha_kernel.h +++ /dev/null @@ -1,78 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -#include - -#include -#include -#include -#include -#include -#include - -namespace fmha { - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -template -struct BlockInfoPadded { - - template - __device__ BlockInfoPadded(const Params ¶ms, - const int bidb, - const int bidh, - const int tidx) - : bidb(bidb), bidh(bidh), h(params.h) { - - // The block index. - sum_s_k = params.cu_seqlens_k[bidb]; - actual_seqlen_k = params.cu_seqlens_k[bidb + 1] - sum_s_k; - sum_s_q = params.cu_seqlens_q[bidb]; - actual_seqlen_q = params.cu_seqlens_q[bidb + 1] - sum_s_q; - - tidx_global = (bidb * params.h + bidh) * THREADS_PER_CTA + tidx; - } - - __device__ bool stop_early(const int start_col = 0) const { - return actual_seqlen_k <= start_col; - } - - int actual_seqlen_q; - int actual_seqlen_k; - int sum_s_q; - int sum_s_k; - int bidh; - int bidb; - int tidx_global; - int h; -}; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -} // namespace fmha diff --git a/csrc/flash_attn/src/fmha_utils.h b/csrc/flash_attn/src/fmha_utils.h deleted file mode 100644 index 865ddc0b7..000000000 --- a/csrc/flash_attn/src/fmha_utils.h +++ /dev/null @@ -1,100 +0,0 @@ -/****************************************************************************** - * Copyright (c) 2011-2021, NVIDIA CORPORATION. All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * * Redistributions of source code must retain the above copyright - * notice, this list of conditions and the following disclaimer. - * * Redistributions in binary form must reproduce the above copyright - * notice, this list of conditions and the following disclaimer in the - * documentation and/or other materials provided with the distribution. - * * Neither the name of the NVIDIA CORPORATION nor the - * names of its contributors may be used to endorse or promote products - * derived from this software without specific prior written permission. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL NVIDIA CORPORATION BE LIABLE FOR ANY - * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - * - ******************************************************************************/ - -#pragma once - -#include -#include -#include -#include -#include -#include - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -#define FMHA_CHECK_CUDA( call ) \ - do { \ - cudaError_t status_ = call; \ - if( status_ != cudaSuccess ) { \ - fprintf( stderr, \ - "CUDA error (%s:%d): %s\n", \ - __FILE__, \ - __LINE__, \ - cudaGetErrorString( status_ ) ); \ - exit( 1 ); \ - } \ - } while( 0 ) - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -enum Data_type { DATA_TYPE_FP16, DATA_TYPE_BF16, DATA_TYPE_FP32, DATA_TYPE_INT32, DATA_TYPE_INT8 }; - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline void set_alpha( uint32_t &alpha, float norm, Data_type dtype ) { - if( dtype == DATA_TYPE_FP16 ) { - half x = __float2half_rn( norm ); - uint16_t h = reinterpret_cast( x ); - ushort2 h2 = { h, h }; - alpha = reinterpret_cast( h2 ); - } else if( dtype == DATA_TYPE_BF16 ) { - __nv_bfloat16 x = __float2bfloat16( norm ); - uint16_t h = reinterpret_cast( x ); - ushort2 h2 = { h, h }; - alpha = reinterpret_cast( h2 ); - } else if( dtype == DATA_TYPE_FP32 ) { - alpha = reinterpret_cast( norm ); - } else if( dtype == DATA_TYPE_INT32 ) { - int32_t inorm = static_cast( norm ); - alpha = reinterpret_cast( inorm ); - } else { - assert( false ); - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - -static inline size_t get_size_in_bytes( size_t n, Data_type dtype ) { - switch( dtype ) { - case DATA_TYPE_FP32: - return n * 4; - case DATA_TYPE_FP16: - return n * 2; - case DATA_TYPE_BF16: - return n * 2; - case DATA_TYPE_INT32: - return n * 4; - case DATA_TYPE_INT8: - return n; - default: - assert( false ); - return 0; - } -} - -//////////////////////////////////////////////////////////////////////////////////////////////////// - diff --git a/csrc/flash_attn/src/kernel_traits.h b/csrc/flash_attn/src/kernel_traits.h new file mode 100644 index 000000000..3468e4bff --- /dev/null +++ b/csrc/flash_attn/src/kernel_traits.h @@ -0,0 +1,366 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include "cute/algorithm/copy.hpp" + +#include "cutlass/cutlass.h" +#include "cutlass/layout/layout.h" +#include + +using namespace cute; + +template +struct Flash_kernel_traits { + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + using Element = elem_type; + static constexpr bool Has_cp_async = true; +#else + using Element = cutlass::half_t; + static constexpr bool Has_cp_async = false; +#endif + + using ElementAccum = float; + using index_t = uint32_t; + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + using MMA_Atom_Arch = std::conditional_t< + std::is_same_v, + MMA_Atom, + MMA_Atom + >; + using ValLayoutMNK = Layout>; +#else + using MMA_Atom_Arch = MMA_Atom; + using ValLayoutMNK = Layout>; +#endif + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 750 + using SmemCopyAtom = Copy_Atom; + using SmemCopyAtomTransposed = Copy_Atom; +#else + using SmemCopyAtom = Copy_Atom; + using SmemCopyAtomTransposed = Copy_Atom; +#endif +}; + +// If Share_Q_K_smem is true, that forces Is_Q_in_regs to be true +template > +struct Flash_fwd_kernel_traits : public Base { + using Element = typename Base::Element; + using ElementAccum = typename Base::ElementAccum; + using index_t = typename Base::index_t; + static constexpr bool Has_cp_async = Base::Has_cp_async; + using SmemCopyAtom = typename Base::SmemCopyAtom; + using SmemCopyAtomTransposed = typename Base::SmemCopyAtomTransposed; + + static constexpr bool Share_Q_K_smem = Share_Q_K_smem_; + static constexpr bool Is_Q_in_regs = Is_Q_in_regs_ || Share_Q_K_smem; + + // The number of threads. + static constexpr int kNWarps = kNWarps_; + static constexpr int kNThreads = kNWarps * 32; + + static constexpr int kBlockM = kBlockM_; + static constexpr int kBlockN = kBlockN_; + static constexpr int kHeadDim = kHeadDim_; + static_assert(kHeadDim % 32 == 0); + static constexpr int kBlockKSmem = kHeadDim % 64 == 0 ? 64 : 32; + static constexpr int kBlockKGmem = kHeadDim % 128 == 0 ? 128 : (kHeadDim % 64 == 0 ? 64 : 32); + static constexpr int kSwizzle = kBlockKSmem == 32 ? 2 : 3; + + using TiledMma = TiledMMA< + typename Base::MMA_Atom_Arch, + Layout,_1,_1>>, // 4x1x1 or 8x1x1 thread group + typename Base::ValLayoutMNK>; // 1x2x1 or 1x2x2 value group for 16x16x16 MMA and LDSM + + using SmemLayoutAtomQ = decltype( + composition(Swizzle{}, + // This has to be kBlockKSmem, using kHeadDim gives wrong results for d=128 + Layout>, + Stride, _1>>{})); + using SmemLayoutQ = decltype(tile_to_shape( + SmemLayoutAtomQ{}, + Shape, Int>{})); + + using SmemLayoutKV = decltype(tile_to_shape( + SmemLayoutAtomQ{}, + Shape, Int>{})); + + using SmemLayoutAtomVtransposed = decltype( + composition(Swizzle{}, + // This has to be kBlockN and not 8, otherwise we get wrong results for d=128 + Layout, Int>, + Stride<_1, Int>>{})); + using SmemLayoutVtransposed = decltype(tile_to_shape( + SmemLayoutAtomVtransposed{}, + Shape, Int>{})); + // Maybe the VtransposeNoSwizzle just needs to have the right shape + // And the strides don't matter? + using SmemLayoutVtransposedNoSwizzle = decltype(SmemLayoutVtransposed{}.layout_fn()); + + using SmemLayoutAtomO = decltype( + composition(Swizzle{}, + Layout, Int>, + Stride, _1>>{})); + using SmemLayoutO = decltype(tile_to_shape( + SmemLayoutAtomO{}, + Shape, Int>{})); + using SmemCopyAtomO = Copy_Atom; + + static constexpr int kSmemQCount = size(SmemLayoutQ{}); + static constexpr int kSmemKVCount = size(SmemLayoutKV{}) * 2; + static constexpr int kSmemQSize = kSmemQCount * sizeof(Element); + static constexpr int kSmemKVSize = kSmemKVCount * sizeof(Element); + static constexpr int kSmemSize = Share_Q_K_smem ? std::max(kSmemQSize, kSmemKVSize) : kSmemQSize + kSmemKVSize; + + static constexpr int kGmemElemsPerLoad = sizeof(cute::uint128_t) / sizeof(Element); + static_assert(kHeadDim % kGmemElemsPerLoad == 0, "kHeadDim must be a multiple of kGmemElemsPerLoad"); + // Using kBlockKSmem here is 6-10% faster than kBlockKGmem for d=128 because of bank conflicts. + // For example, for d=128, smem is split into 2 "pages", each page takes care of columns + // 0-63 and 64-127. If we have 16 threads per row for gmem read, when we write to smem, + // thread 0 - 7 will write to the first page and thread 8 - 15 will write to the second page, + // to the same banks. + static constexpr int kGmemThreadsPerRow = kBlockKSmem / kGmemElemsPerLoad; + static_assert(kNThreads % kGmemThreadsPerRow == 0, "kNThreads must be a multiple of kGmemThreadsPerRow"); + using GmemLayoutAtom = Layout, Int>, + Stride, _1>>; + + // We use CACHEGLOBAL instead of CACHEALWAYS for both Q and K/V, since we won't be reading + // from the same address by the same threadblock. This is slightly faster. + using Gmem_copy_struct = std::conditional_t< + Has_cp_async, + SM80_CP_ASYNC_CACHEGLOBAL, + DefaultCopy + >; + using GmemTiledCopyQKV = decltype( + make_tiled_copy(Copy_Atom{}, + GmemLayoutAtom{}, + Layout>{})); // Val layout, 8 vals per read + using GmemTiledCopyO = decltype( + make_tiled_copy(Copy_Atom{}, + GmemLayoutAtom{}, + Layout>{})); // Val layout, 8 vals per store + static constexpr int kGmemThreadsPerRowP = kBlockN / kGmemElemsPerLoad; + static_assert(kNThreads % kGmemThreadsPerRowP == 0, "kNThreads must be a multiple of kGmemThreadsPerRowP"); + using GmemLayoutAtomP = Layout, Int>, + Stride, _1>>; + + using GmemTiledCopyP = decltype( + make_tiled_copy(Copy_Atom{}, + GmemLayoutAtomP{}, + Layout>{})); // Val layout, 8 vals per store + +}; + +// Is_V_in_regs is an option to reduce smem usage, but will increase register pressue. +// No_double_buffer is another option to reduce smem usage, but will slow things down. +template > +struct Flash_bwd_kernel_traits : public Base { + using Element = typename Base::Element; + using ElementAccum = typename Base::ElementAccum; + using index_t = typename Base::index_t; + static constexpr bool Has_cp_async = Base::Has_cp_async; + using SmemCopyAtom = typename Base::SmemCopyAtom; + using SmemCopyAtomTransposed = typename Base::SmemCopyAtomTransposed; + + static constexpr bool Is_V_in_regs = Is_V_in_regs_; + static constexpr bool No_double_buffer = No_double_buffer_; + + // The number of threads. + static constexpr int kNWarps = kNWarps_; + static constexpr int kNThreads = kNWarps * 32; + + static constexpr int kBlockM = kBlockM_; + static constexpr int kBlockN = kBlockN_; + static constexpr int kHeadDim = kHeadDim_; + static_assert(kHeadDim % 32 == 0); + static constexpr int kBlockKSmem = kHeadDim % 64 == 0 ? 64 : 32; + static constexpr int kBlockKGmem = kHeadDim % 128 == 0 ? 128 : (kHeadDim % 64 == 0 ? 64 : 32); + static constexpr int kSwizzle = kBlockKSmem == 32 ? 2 : 3; + + static constexpr int AtomLayoutMSdP = AtomLayoutMSdP_; + static_assert(kNWarps % AtomLayoutMSdP == 0); + static_assert(kNWarps % AtomLayoutNdKV == 0); + static_assert(kNWarps % AtomLayoutMdQ == 0); + + using TiledMmaSdP = TiledMMA< + typename Base::MMA_Atom_Arch, + Layout, Int, _1>>, + typename Base::ValLayoutMNK>; // 1x2x1 or 1x2x2 value group for 16x16x16 MMA and LDSM + + using TiledMmadKV = TiledMMA< + typename Base::MMA_Atom_Arch, + Layout, Int, _1>>, + typename Base::ValLayoutMNK>; // 1x2x1 or 1x2x2 value group for 16x16x16 MMA and LDSM + + using TiledMmadQ = TiledMMA< + typename Base::MMA_Atom_Arch, + Layout, Int, _1>>, // 2x4x1 or 4x2x1 thread group + typename Base::ValLayoutMNK>; // 1x2x1 or 1x2x2 value group for 16x16x16 MMA and LDSM + + using SmemLayoutAtomQdO = decltype( + composition(Swizzle{}, + Layout>, + Stride, _1>>{})); + using SmemLayoutQdO = decltype(tile_to_shape( + SmemLayoutAtomQdO{}, + make_shape(Int{}, Int{}))); + + using SmemLayoutAtomKV = decltype( + composition(Swizzle{}, + Layout, Int>, + Stride, _1>>{})); + using SmemLayoutKV = decltype(tile_to_shape( + // SmemLayoutAtomQdO{}, + SmemLayoutAtomKV{}, + make_shape(Int{}, Int{}))); + + using SmemLayoutAtomKtransposed = decltype( + composition(Swizzle{}, + Layout, Int>, + Stride<_1, Int>>{})); + using SmemLayoutKtransposed = decltype(tile_to_shape( + SmemLayoutAtomKtransposed{}, + make_shape(Int{}, Int{}))); + // Maybe the KtransposeNoSwizzle just needs to have the right shape + // And the strides don't matter? + using SmemLayoutKtransposedNoSwizzle = decltype(SmemLayoutKtransposed{}.layout_fn()); + + // TODO: generalize to other values of kBlockN + // TODO: what should be the Swizzle here? 3 is faster than 1, and 1 is faster than 2 + // static constexpr int kPBlockN = kBlockN; + static_assert(kBlockN >= 64); + // TD [2023-03-19]: Idk why kPBlockN = 16 and kSwizzlePdS=3 is the fastest. + static constexpr int kPBlockN = 64; + static_assert(kPBlockN == 16 || kPBlockN == 32 || kPBlockN == 64); + // static constexpr int kSwizzlePdS = kPBlockN == 16 ? 1 : (kPBlockN == 32 ? 2 : 3); + static constexpr int kSwizzlePdS = 3; + using SmemLayoutAtomPdS = decltype( + composition(Swizzle{}, + Layout, Int>, + Stride, _1>>{})); + using SmemLayoutPdS = decltype(tile_to_shape( + SmemLayoutAtomPdS{}, + make_shape(Int{}, Int{}))); + using SmemLayoutAtomPdStransposed = decltype( + composition(Swizzle{}, + Layout, Int>, + Stride<_1, Int>>{})); + using SmemLayoutPdStransposed = decltype(tile_to_shape( + SmemLayoutAtomPdStransposed{}, + make_shape(Int{}, Int{}))); + using SmemLayoutPdStransposedNoSwizzle = decltype(SmemLayoutPdStransposed{}.layout_fn()); + using SmemCopyAtomPdS = Copy_Atom; + + using SmemLayoutAtomQdOtransposed = decltype( + composition(Swizzle{}, + Layout, Int>, + Stride<_1, Int>>{})); + using SmemLayoutQdOtransposed = decltype(tile_to_shape( + SmemLayoutAtomQdOtransposed{}, + make_shape(Int{}, Int{}))); + using SmemLayoutQdOtransposedNoSwizzle = decltype(SmemLayoutQdOtransposed{}.layout_fn()); + + using SmemLayoutAtomdKV = decltype( + composition(Swizzle{}, + Layout>, + Stride, _1>>{})); + using SmemLayoutdKV = decltype(tile_to_shape( + SmemLayoutAtomdKV{}, + make_shape(Int{}, Int{}))); + using SmemCopyAtomdKV = Copy_Atom; + + using SmemLayoutAtomdQ = decltype( + composition(Swizzle{}, + Layout>, + Stride, _1>>{})); + using SmemLayoutdQ = decltype(tile_to_shape( + SmemLayoutAtomdQ{}, + make_shape(Int{}, Int{}))); + using SmemCopyAtomdQ = Copy_Atom; + + static constexpr int kSmemQdOCount = size(SmemLayoutQdO{}) * (No_double_buffer ? 2 : 3); // Double buffer for sQ + static constexpr int kSmemKVCount = size(SmemLayoutKV{}) * 2; + static constexpr int kSmemdSCount = size(SmemLayoutPdS{}); + static constexpr int kSmemPCount = size(SmemLayoutPdS{}); + static constexpr int kSmemdQCount = size(SmemLayoutdQ{}); + static constexpr int kSmemdPsumCount = kBlockM; + static constexpr int kSmemQdOSize = kSmemQdOCount * sizeof(Element); + static constexpr int kSmemKVSize = kSmemKVCount * sizeof(Element); + static constexpr int kSmemdSSize = kSmemdSCount * sizeof(Element); + static constexpr int kSmemPSize = kSmemPCount * sizeof(Element); + static constexpr int kSmemdQSize = kSmemdQCount * sizeof(Element); + static constexpr int kSmemdPsumSize = kSmemdPsumCount * sizeof(ElementAccum); + static constexpr int kSmemSize = kSmemQdOSize + + (!Is_V_in_regs + ? kSmemKVSize + kSmemdSSize + std::max(kSmemPSize, kSmemdQSize) + : std::max(kSmemKVSize, kSmemKVSize / 2 + kSmemdSSize + std::max(kSmemPSize, kSmemdQSize))); + static constexpr int kSmemSize1colblock = kSmemQdOSize + + (!Is_V_in_regs + ? kSmemKVSize + kSmemdSSize + kSmemPSize + : std::max(kSmemKVSize, kSmemKVSize / 2 + kSmemdSSize + kSmemPSize)); + static constexpr int kSmemSize1rowblock = kSmemQdOSize / 3 * 2 + kSmemKVSize / 2 * 3 + + kSmemdSSize + kSmemPSize; + + + static constexpr int kGmemElemsPerLoad = sizeof(cute::uint128_t) / sizeof(Element); + static_assert(kHeadDim % kGmemElemsPerLoad == 0, "kHeadDim must be a multiple of kGmemElemsPerLoad"); + // Using kBlockKSmem instead of kHeadDim here to avoid bank conflicts, but doesn't seem + // to affect speed in practice. + static constexpr int kGmemThreadsPerRow = kBlockKSmem / kGmemElemsPerLoad; + static_assert(kNThreads % kGmemThreadsPerRow == 0, "kNThreads must be a multiple of kGmemThreadsPerRow"); + using GmemLayoutAtom = Layout, Int>, + Stride, _1>>; + + // We use CACHEGLOBAL instead of CACHEALWAYS for both Q and K/V, since we won't be reading + // from the same address by the same threadblock. This is slightly faster. + using Gmem_copy_struct = std::conditional_t< + Has_cp_async, + SM80_CP_ASYNC_CACHEGLOBAL, + DefaultCopy + >; + using GmemTiledCopyQKV = decltype( + make_tiled_copy(Copy_Atom{}, + GmemLayoutAtom{}, + Layout>{})); // Val layout, 8 vals per read + using GmemTiledCopydO = decltype( + make_tiled_copy(Copy_Atom{}, + GmemLayoutAtom{}, + Layout>{})); // Val layout, 8 vals per store + using GmemTiledCopydKV = decltype( + make_tiled_copy(Copy_Atom{}, + GmemLayoutAtom{}, + Layout>{})); // Val layout, 8 vals per store + using GmemTiledCopydQ = decltype( + make_tiled_copy(Copy_Atom{}, + GmemLayoutAtom{}, + Layout>{})); // Val layout, 8 vals per store + using GmemLayoutAtomdQaccum = std::conditional_t< + kBlockKSmem == 32, + Layout, // Thread layout, 8 threads per row + Stride< _8, _1>>, + Layout, // Thread layout, 16 threads per row + Stride< _16, _1>> + >; + using GmemTiledCopydQaccum = decltype( + make_tiled_copy(Copy_Atom{}, + GmemLayoutAtomdQaccum{}, + Layout>{})); // Val layout, 4 vals per store + + using GmemTiledCopydQaccumAtomicAdd = decltype( + make_tiled_copy(Copy_Atom{}, + Layout, // Thread layout, 8 threads per row + Stride<_32, _1>>{}, + Layout>{})); // Val layout, 1 val per store + +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/csrc/flash_attn/src/kernel_traits_sm90.h b/csrc/flash_attn/src/kernel_traits_sm90.h new file mode 100644 index 000000000..e07f38390 --- /dev/null +++ b/csrc/flash_attn/src/kernel_traits_sm90.h @@ -0,0 +1,159 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include "cute/algorithm/copy.hpp" + +#include "cutlass/cutlass.h" +#include "cutlass/layout/layout.h" +#include + +using namespace cute; + +template +struct Flash_kernel_traits_sm90 { + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + using Element = elem_type; + static constexpr bool Has_cp_async = true; +#else + using Element = cutlass::half_t; + static constexpr bool Has_cp_async = false; +#endif + + using ElementAccum = float; + using index_t = uint32_t; + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + using MMA_Atom_Arch = std::conditional_t< + std::is_same_v, + MMA_Atom, + MMA_Atom + >; + using ValLayoutMNK = Layout>; +#else + using MMA_Atom_Arch = MMA_Atom; + using ValLayoutMNK = Layout>; +#endif + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 750 + using SmemCopyAtom = Copy_Atom; + using SmemCopyAtomTransposed = Copy_Atom; +#else + using SmemCopyAtom = Copy_Atom; + using SmemCopyAtomTransposed = Copy_Atom; +#endif +}; + +template > +struct Flash_fwd_kernel_traits : public Base { + using Element = typename Base::Element; + using ElementAccum = typename Base::ElementAccum; + using index_t = typename Base::index_t; + static constexpr bool Has_cp_async = Base::Has_cp_async; + using SmemCopyAtom = typename Base::SmemCopyAtom; + using SmemCopyAtomTransposed = typename Base::SmemCopyAtomTransposed; + + static constexpr bool Share_Q_K_smem = Share_Q_K_smem_; + static constexpr bool Is_Q_in_regs = Is_Q_in_regs_ || Share_Q_K_smem; + + // The number of threads. + static constexpr int kNWarps = kNWarps_; + static constexpr int kNThreads = kNWarps * 32; + + static constexpr int kBlockM = kBlockM_; + static constexpr int kBlockN = kBlockN_; + static constexpr int kHeadDim = kHeadDim_; + static_assert(kHeadDim % 32 == 0); + static constexpr int kBlockKSmem = kHeadDim % 64 == 0 ? 64 : 32; + static constexpr int kBlockKGmem = kHeadDim % 128 == 0 ? 128 : (kHeadDim % 64 == 0 ? 64 : 32); + static constexpr int kSwizzle = kBlockKSmem == 32 ? 2 : 3; + + using TiledMma = TiledMMA< + typename Base::MMA_Atom_Arch, + Layout,_1,_1>>, // 4x1x1 or 8x1x1 thread group + typename Base::ValLayoutMNK>; // 1x2x1 or 1x2x2 value group for 16x16x16 MMA and LDSM + + using SmemLayoutAtomQ = decltype( + composition(Swizzle{}, + // This has to be kBlockKSmem, using kHeadDim gives wrong results for d=128 + Layout>, + Stride, _1>>{})); + using SmemLayoutQ = decltype(tile_to_shape( + SmemLayoutAtomQ{}, + Shape, Int>{})); + + using SmemLayoutKV = decltype(tile_to_shape( + SmemLayoutAtomQ{}, + Shape, Int>{})); + + using SmemLayoutAtomVtransposed = decltype( + composition(Swizzle{}, + // This has to be kBlockN and not 8, otherwise we get wrong results for d=128 + Layout, Int>, + Stride<_1, Int>>{})); + using SmemLayoutVtransposed = decltype(tile_to_shape( + SmemLayoutAtomVtransposed{}, + Shape, Int>{})); + // Maybe the VtransposeNoSwizzle just needs to have the right shape + // And the strides don't matter? + using SmemLayoutVtransposedNoSwizzle = decltype(SmemLayoutVtransposed{}.layout_fn()); + + using SmemLayoutAtomO = decltype( + composition(Swizzle{}, + Layout, Int>, + Stride, _1>>{})); + using SmemLayoutO = decltype(tile_to_shape( + SmemLayoutAtomO{}, + Shape, Int>{})); + using SmemCopyAtomO = Copy_Atom; + + static constexpr int kSmemQCount = size(SmemLayoutQ{}); + static constexpr int kSmemKVCount = size(SmemLayoutKV{}) * 2; + static constexpr int kSmemQSize = kSmemQCount * sizeof(Element); + static constexpr int kSmemKVSize = kSmemKVCount * sizeof(Element); + static constexpr int kSmemSize = Share_Q_K_smem ? std::max(kSmemQSize, kSmemKVSize) : kSmemQSize + kSmemKVSize; + + static constexpr int kGmemElemsPerLoad = sizeof(cute::uint128_t) / sizeof(Element); + static_assert(kHeadDim % kGmemElemsPerLoad == 0, "kHeadDim must be a multiple of kGmemElemsPerLoad"); + // Using kBlockKSmem here is 6-10% faster than kBlockKGmem for d=128 because of bank conflicts. + // For example, for d=128, smem is split into 2 "pages", each page takes care of columns + // 0-63 and 64-127. If we have 16 threads per row for gmem read, when we write to smem, + // thread 0 - 7 will write to the first page and thread 8 - 15 will write to the second page, + // to the same banks. + static constexpr int kGmemThreadsPerRow = kBlockKSmem / kGmemElemsPerLoad; + static_assert(kNThreads % kGmemThreadsPerRow == 0, "kNThreads must be a multiple of kGmemThreadsPerRow"); + using GmemLayoutAtom = Layout, Int>, + Stride, _1>>; + + // We use CACHEGLOBAL instead of CACHEALWAYS for both Q and K/V, since we won't be reading + // from the same address by the same threadblock. This is slightly faster. + using Gmem_copy_struct = std::conditional_t< + Has_cp_async, + SM80_CP_ASYNC_CACHEGLOBAL, + DefaultCopy + >; + using GmemTiledCopyQKV = decltype( + make_tiled_copy(Copy_Atom{}, + GmemLayoutAtom{}, + Layout>{})); // Val layout, 8 vals per read + using GmemTiledCopyO = decltype( + make_tiled_copy(Copy_Atom{}, + GmemLayoutAtom{}, + Layout>{})); // Val layout, 8 vals per store + static constexpr int kGmemThreadsPerRowP = kBlockN / kGmemElemsPerLoad; + static_assert(kNThreads % kGmemThreadsPerRowP == 0, "kNThreads must be a multiple of kGmemThreadsPerRowP"); + using GmemLayoutAtomP = Layout, Int>, + Stride, _1>>; + + using GmemTiledCopyP = decltype( + make_tiled_copy(Copy_Atom{}, + GmemLayoutAtomP{}, + Layout>{})); // Val layout, 8 vals per store + +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/csrc/flash_attn/src/philox.cuh b/csrc/flash_attn/src/philox.cuh index a1e4c641d..6ce1440f2 100644 --- a/csrc/flash_attn/src/philox.cuh +++ b/csrc/flash_attn/src/philox.cuh @@ -1,8 +1,55 @@ -// Adapted from https://github.com/NVIDIA/apex/blob/master/apex/contrib/csrc/multihead_attn/philox.cuh -// Pytorch also has an implementation of Philox RNG: https://github.com/pytorch/pytorch/blob/master/torch/csrc/jit/codegen/cuda/runtime/random_numbers.cu +// Pytorch also has an implementation of Philox RNG: https://github.com/pytorch/pytorch/blob/8ca3c881db3e3510fcb7725389f6a0633c9b992c/torch/csrc/jit/tensorexpr/cuda_random.h #pragma once // Philox CUDA. +namespace flash { + +struct ull2 { + unsigned long long x; + unsigned long long y; +}; + +inline __device__ uint2 mulhilo32(const unsigned int a, const unsigned int b) { + uint2 *res; + unsigned long long tmp; + asm ("mul.wide.u32 %0, %1, %2;\n\t" + : "=l"(tmp) + : "r"(a), "r"(b)); + res = (uint2*)(&tmp); + return *res; +} + +inline __device__ uint4 philox_single_round(const uint4 ctr, const uint2 key) { + constexpr unsigned long kPhiloxSA = 0xD2511F53; + constexpr unsigned long kPhiloxSB = 0xCD9E8D57; + uint2 res0 = mulhilo32(kPhiloxSA, ctr.x); + uint2 res1 = mulhilo32(kPhiloxSB, ctr.z); + uint4 ret = {res1.y ^ ctr.y ^ key.x, res1.x, res0.y ^ ctr.w ^ key.y, res0.x}; + return ret; +} + +inline __device__ uint4 philox(unsigned long long seed, + unsigned long long subsequence, + unsigned long long offset) { + constexpr unsigned long kPhilox10A = 0x9E3779B9; + constexpr unsigned long kPhilox10B = 0xBB67AE85; + uint2 key = reinterpret_cast(seed); + uint4 counter; + ull2 *tmp = reinterpret_cast(&counter); + tmp->x = offset; + tmp->y = subsequence; + #pragma unroll + for (int i = 0; i < 6; i++) { + counter = philox_single_round(counter, key); + key.x += (kPhilox10A); + key.y += (kPhilox10B); + } + uint4 output = philox_single_round(counter, key); + return output; +} + +} // namespace flash + namespace { class Philox { @@ -10,7 +57,10 @@ public: __device__ inline Philox(unsigned long long seed, unsigned long long subsequence, unsigned long long offset) - : key(reinterpret_cast(seed)) { + : STATE(0) + , seed_(seed) + , offset_(offset) + , key(reinterpret_cast(seed)) { //key.x = (unsigned int)seed; //key.y = (unsigned int)(seed >> 32); //counter = make_uint4(0, 0, 0, 0); @@ -19,6 +69,7 @@ public: //STATE = 0; //incr_n(offset / 4); + // key = reinterpret_cast(seed); ull2 * tmp = reinterpret_cast(&counter); tmp->x = offset / 4; tmp->y = subsequence; @@ -26,72 +77,64 @@ public: // printf("Philox counter: %d, %d, %d, %d\n", counter.x, counter.y, counter.z, counter.w); // } } - __device__ inline uint4 operator()() { - uint4 counter_ = counter; - uint2 key_ = key; - // 7-round philox - #pragma unroll - for (int i = 0; i < 6; i++) { - counter_ = single_round(counter_, key_); - key_.x += (kPhilox10A); - key_.y += (kPhilox10B); - } - uint4 output = single_round(counter_, key_); - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("Philox counter: %u, %u, %u, %u\n", counter.x, counter.y, counter.z, counter.w); - // printf("Philox output: %u, %u, %u, %u\n", output.x, output.y, output.z, output.w); - // } - incr(); - return output; - } - - __device__ inline uint4 operator()(const unsigned long long subsequence) { - uint4 counter_ = counter; - ull2 * tmp = reinterpret_cast(&counter_); - tmp->y = subsequence; - // if ((threadIdx.x % 32 == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("tidx = %d, counter_: %u, %u, %u, %u\n", threadIdx.x, counter_.x, counter_.y, counter_.z, counter_.w); - // } - uint2 key_ = key; - // 7-round philox - #pragma unroll - for (int i = 0; i < 6; i++) { - counter_ = single_round(counter_, key_); - key_.x += (kPhilox10A); - key_.y += (kPhilox10B); - } - uint4 output = single_round(counter_, key_); - // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { - // printf("Philox counter: %u, %u, %u, %u\n", counter.x, counter.y, counter.z, counter.w); - // printf("Philox output: %u, %u, %u, %u\n", output.x, output.y, output.z, output.w); - // } - return output; + // // if (STATE == 0) { + // uint4 counter_ = counter; + // uint2 key_ = key; + // // 7-round philox + // #pragma unroll + // for (int i = 0; i < 6; i++) { + // counter_ = flash::philox_single_round(counter_, key_); + // key_.x += (kPhilox10A); + // key_.y += (kPhilox10B); + // } + // // output = philox_single_round(counter_, key_); + // uint4 output = flash::philox_single_round(counter_, key_); + // // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { + // // printf("Philox counter: %u, %u, %u, %u\n", counter.x, counter.y, counter.z, counter.w); + // // printf("Philox output: %u, %u, %u, %u\n", output.x, output.y, output.z, output.w); + // // } + // incr(); + // // } + // // return a float4 directly + // // unsigned long ret; + // // switch(STATE) { + // // case 0: ret = output.x; break; + // // case 1: ret = output.y; break; + // // case 2: ret = output.z; break; + // // case 3: ret = output.w; break; + // //} + // // STATE = (STATE + 1) % 4; + // return output; + return flash::philox(seed_, offset_, offset_); } private: + unsigned long long offset_, seed_; struct ull2 { uint64_t x; uint64_t y; }; uint4 counter; + // uint4 output; const uint2 key; + unsigned int STATE; + __device__ inline void incr_n(unsigned long long n) { + unsigned int nlo = (unsigned int)(n); + unsigned int nhi = (unsigned int)(n >> 32); + counter.x += nlo; + if (counter.x < nlo) + nhi++; + counter.y += nhi; + if (nhi <= counter.y) + return; + if (++counter.z) + return; + ++counter.w; + } - // __device__ inline void incr_n(unsigned long long n) { - // unsigned int nlo = (unsigned int)(n); - // unsigned int nhi = (unsigned int)(n >> 32); - // counter.x += nlo; - // if (counter.x < nlo) - // nhi++; - // counter.y += nhi; - // if (nhi <= counter.y) - // return; - // if (++counter.z) - // return; - // ++counter.w; - // } - - __device__ uint4 incr(uint4 ctr) { + __device__ uint4 incr128 (uint4 ctr) + { uint4 res; asm ("add.cc.u32 %0, %4, %8;\n\t" "addc.cc.u32 %1, %5, %9;\n\t" @@ -107,51 +150,16 @@ private: // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { // printf("Counter before: %u, %u, %u, %u\n", counter.x, counter.y, counter.z, counter.w); // } - counter = incr(counter); + counter = incr128(counter); // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { // printf("Counter after: %u, %u, %u, %u\n", counter.x, counter.y, counter.z, counter.w); // } } - // __device__ unsigned int mulhilo32(unsigned int a, unsigned int b, - // unsigned int *result_high) { - // *result_high = __umulhi(a, b); - // return a * b; - // } - - __device__ uint2 mulhilo32(const unsigned int a, const unsigned int b) { - uint2 *res; - unsigned long long tmp; - asm ("mul.wide.u32 %0, %1, %2;\n\t" - : "=l"(tmp) - : "r"(a), "r"(b)); - res = (uint2*)(&tmp); - return *res; - } - - __device__ inline uint4 single_round(const uint4 ctr, const uint2 key) { - //unsigned int hi0; - //unsigned int hi1; - //unsigned int lo0 = mulhilo32(kPhiloxSA, ctr.x, &hi0); - //unsigned int lo1 = mulhilo32(kPhiloxSB, ctr.z, &hi1); - //uint4 ret = {hi1 ^ ctr.y ^ key.x, lo1, hi0 ^ ctr.w ^ key.y, lo0}; - uint2 res0 = mulhilo32(kPhiloxSA, ctr.x); - uint2 res1 = mulhilo32(kPhiloxSB, ctr.z); - uint4 ret = {res1.y ^ ctr.y ^ key.x, res1.x, res0.y ^ ctr.w ^ key.y, res0.x}; - return ret; - } - static const unsigned long kPhilox10A = 0x9E3779B9; static const unsigned long kPhilox10B = 0xBB67AE85; - static const unsigned long kPhiloxSA = 0xD2511F53; - static const unsigned long kPhiloxSB = 0xCD9E8D57; + // static const unsigned long kPhiloxSA = 0xD2511F53; + // static const unsigned long kPhiloxSB = 0xCD9E8D57; }; -// Inverse of 2^32. -constexpr float M_RAN_INVM32 = 2.3283064e-10f; -__device__ __inline__ float4 uniform4(const uint4 x) { - return make_float4(x.x * M_RAN_INVM32, x.y * M_RAN_INVM32, x.z * M_RAN_INVM32, - x.w * M_RAN_INVM32); -} - } // namespace diff --git a/csrc/flash_attn/src/softmax.h b/csrc/flash_attn/src/softmax.h new file mode 100644 index 000000000..3e9a7b459 --- /dev/null +++ b/csrc/flash_attn/src/softmax.h @@ -0,0 +1,272 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include + +#include + +#include +#include + +#include "philox.cuh" +#include "utils.h" + +namespace flash { + +using namespace cute; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +__device__ inline void thread_reduce_(Tensor const &tensor, Tensor &summary, Operator &op) { + static_assert(Layout0::rank == 2, "Only support 2D Tensor"); + static_assert(Layout1::rank == 1, "Only support 1D Tensor"); + CUTE_STATIC_ASSERT_V(size<0>(summary) == size<0>(tensor)); + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); mi++) { + summary(mi) = zero_init ? tensor(mi, 0) : op(summary(mi), tensor(mi, 0)); + #pragma unroll + for (int ni = 1; ni < size<1>(tensor); ni++) { + summary(mi) = op(summary(mi), tensor(mi, ni)); + } + } +} + +template +__device__ inline void quad_allreduce_(Tensor &dst, Tensor &src, Operator &op) { + CUTE_STATIC_ASSERT_V(size(dst) == size(src)); + #pragma unroll + for (int i = 0; i < size(dst); i++){ + dst(i) = Allreduce<4>::run(src(i), op); + } +} + +template +__device__ inline void reduce_(Tensor const& tensor, Tensor &summary, Operator &op) { + thread_reduce_(tensor, summary, op); + quad_allreduce_(summary, summary, op); +} + +template +__device__ inline void reduce_max(Tensor const& tensor, Tensor &max){ + MaxOp max_op; + reduce_(tensor, max, max_op); +} + +template +__device__ inline void reduce_sum(Tensor const& tensor, Tensor &sum){ + SumOp sum_op; + reduce_(tensor, sum, sum_op); +} + +// Apply the exp to all the elements. +template +inline __device__ void scale_apply_exp2(Tensor &tensor, Tensor const &max, const float scale) { + static_assert(Layout0::rank == 2, "Only support 2D Tensor"); + static_assert(Layout1::rank == 1, "Only support 1D Tensor"); + CUTE_STATIC_ASSERT_V(size<0>(max) == size<0>(tensor)); + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + // If max is -inf, then all elements must have been -inf (possibly due to masking). + // We don't want (-inf - (-inf)) since that would give NaN. + // If we don't have float around M_LOG2E the multiplication is done in fp64. + const float max_scaled = max(mi) == -INFINITY ? 0.f : max(mi) * (Scale_max ? scale : float(M_LOG2E)); + #pragma unroll + for (int ni = 0; ni < size<1>(tensor); ++ni) { + // Instead of computing exp(x - max), we compute exp2(x * log_2(e) - + // max * log_2(e)) This allows the compiler to use the ffma + // instruction instead of fadd and fmul separately. + tensor(mi, ni) = exp2f(tensor(mi, ni) * scale - max_scaled); + } + } +} + +// Apply the exp to all the elements. +template +inline __device__ void max_scale_exp2_sum(Tensor &tensor, Tensor &max, Tensor &sum, const float scale) { + static_assert(Layout0::rank == 2, "Only support 2D Tensor"); + static_assert(Layout1::rank == 1, "Only support 1D Tensor"); + CUTE_STATIC_ASSERT_V(size<0>(max) == size<0>(tensor)); + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + MaxOp max_op; + max(mi) = zero_init ? tensor(mi, 0) : max_op(max(mi), tensor(mi, 0)); + #pragma unroll + for (int ni = 1; ni < size<1>(tensor); ni++) { + max(mi) = max_op(max(mi), tensor(mi, ni)); + } + max(mi) = Allreduce<4>::run(max(mi), max_op); + // If max is -inf, then all elements must have been -inf (possibly due to masking). + // We don't want (-inf - (-inf)) since that would give NaN. + const float max_scaled = max(mi) == -INFINITY ? 0.f : max(mi) * scale; + sum(mi) = 0; + #pragma unroll + for (int ni = 0; ni < size<1>(tensor); ++ni) { + // Instead of computing exp(x - max), we compute exp2(x * log_2(e) - + // max * log_2(e)) This allows the compiler to use the ffma + // instruction instead of fadd and fmul separately. + tensor(mi, ni) = exp2f(tensor(mi, ni) * scale - max_scaled); + sum(mi) += tensor(mi, ni); + } + SumOp sum_op; + sum(mi) = Allreduce<4>::run(sum(mi), sum_op); + } +} + +template +inline __device__ void apply_mask(Tensor &tensor, const uint32_t max_seqlen_k) { + // tensor has shape (ncol=(2, MMA_M), nrow=(2, MMA_N)) + static_assert(Layout::rank == 2, "Only support 2D Tensor"); + const uint32_t lane_id = threadIdx.x % 32; + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const uint32_t col_idx = nj * 8 + j + (lane_id % 4) * 2; + if (col_idx >= max_seqlen_k) { + // Without the "make_coord" we get wrong results + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + tensor(mi, make_coord(j, nj)) = -INFINITY; + } + } + } + } +} + +template +inline __device__ void apply_mask_causal(Tensor &tensor, const uint32_t col_idx_offset_, + const uint32_t max_seqlen_k, const uint32_t row_idx_offset_, + const uint32_t warp_row_stride) { + // tensor has shape (ncol=(2, MMA_M), nrow=(2, MMA_N)) + static_assert(Layout::rank == 2, "Only support 2D Tensor"); + const uint32_t lane_id = threadIdx.x % 32; + // const uint32_t row_idx_offset = row_idx_offset_ + lane_id / 4; + const uint32_t row_idx_offset = row_idx_offset_; + const uint32_t col_idx_offset = col_idx_offset_ + (lane_id % 4) * 2; + #pragma unroll + for (int mi = 0; mi < size<0, 1>(tensor); ++mi) { + const uint32_t row_idx_base = row_idx_offset + mi * warp_row_stride; + #pragma unroll + for (int i = 0; i < size<0, 0>(tensor); ++i) { + const uint32_t row_idx = row_idx_base + i * 8; + const uint32_t col_idx_limit = std::min(max_seqlen_k, row_idx + 1); + #pragma unroll + for (int nj = 0; nj < size<1, 1>(tensor); ++nj) { + const uint32_t col_idx_base = col_idx_offset + nj * 8; + #pragma unroll + for (int j = 0; j < size<1, 0>(tensor); ++j) { + const uint32_t col_idx = col_idx_base + j; + if (col_idx >= col_idx_limit) { + tensor(make_coord(i, mi), make_coord(j, nj)) = -INFINITY; + } + } + } + // if (cute::thread0()) { + // printf("mi = %d, i = %d, row_idx = %d, max_seqlen_k = %d\n", mi, i, row_idx, max_seqlen_k); + // print(tensor(make_coord(i, mi), _)); + // // print(tensor(_, j + nj * size<1, 0>(tensor))); + // } + } + } +} + +template +inline __device__ void apply_mask_causal_w_idx( + Tensor &tensor, Tensor const &idx_rowcol, + const uint32_t col_idx_offset_, const uint32_t max_seqlen_k, const uint32_t row_idx_offset_) +{ + // tensor has shape (ncol=(2, MMA_M), nrow=(2, MMA_N)) + static_assert(Layout0::rank == 2, "Only support 2D Tensor"); + static_assert(Layout1::rank == 2, "Only support 2D Tensor"); + CUTE_STATIC_ASSERT_V(size<0>(tensor) == size<0>(idx_rowcol)); + CUTE_STATIC_ASSERT_V(size<1>(tensor) == size<1>(idx_rowcol)); + #pragma unroll + for (int mi = 0; mi < size<0>(tensor); ++mi) { + const uint32_t col_idx_limit = std::min(max_seqlen_k, 1 + row_idx_offset_ + get<0>(idx_rowcol(mi, 0))); + #pragma unroll + for (int ni = 0; ni < size<1, 1>(tensor); ++ni) { + if (col_idx_offset_ + get<1>(idx_rowcol(0, ni)) >= col_idx_limit) { + tensor(mi, ni) = -INFINITY; + } + } + // if (cute::thread0()) { + // printf("ni = %d, j = %d, col_idx = %d, max_seqlen_k = %d\n", ni, j, col_idx, max_seqlen_k); + // print(tensor(_, make_coord(j, ni))); + // // print(tensor(_, j + ni * size<1, 0>(tensor))); + // } + } +} + +template +inline __device__ void apply_dropout(Tensor &tensor, uint8_t p_dropout_in_uint8_t, + unsigned long long seed, unsigned long long offset, + uint32_t block_row_start, uint32_t block_col_start, + uint32_t block_row_stride) { + // tensor has shape (8, MMA_M, MMA_N / 2) + using T = typename Engine::value_type; + auto encode_dropout = [](bool keep, T val) { + return keep ? val : (encode_dropout_in_sign_bit ? -val : T(0)); + }; + static_assert(decltype(size<2>(tensor))::value % 2 == 0); + const uint16_t p_dropout_8bit_in_uint16_t = uint16_t(p_dropout_in_uint8_t); + const uint32_t p_dropout_8bit_in_uint32_t = (uint32_t(p_dropout_8bit_in_uint16_t) << 16) | uint32_t(p_dropout_8bit_in_uint16_t); + // if (cute::thread0()) { printf("threshold2 = 0x%x\n", p_dropout_8bit_in_uint32_t); } + #pragma unroll + for (int m = 0; m < size<1>(tensor); ++m, block_row_start += block_row_stride) { + uint2 rowcol = make_uint2(block_row_start, block_col_start); + #pragma unroll + for (int n = 0; n < size<2>(tensor) / 2; ++n, ++rowcol.y) { + // if (cute::thread(32, 0)) { printf("m = %d, n = %d, row = %d, col = %d\n", m, n, int(rowcol.x), int(rowcol.y));} + uint4 random_uint4 = flash::philox(seed, reinterpret_cast(rowcol), offset); + // if (cute::thread0()) { printf("philox = %u, %d, %d, %d\n", random_uint4.x, random_uint4.y, random_uint4.z, random_uint4.w);} + uint8_t (&rnd_8)[16] = reinterpret_cast(random_uint4); + // Special implementation for 16-bit types: we duplicate the threshold to the + // low and high 16 bits of a 32-bit value, then use the f16x2 comparison instruction + // to get a mask. The low 16 bits of the mask will be either 0xffff or 0x0000, + // and the high 16 bits will be either 0xffff or 0x0000, depending on whether + // the random value is less than the threshold. + // We then do a bit-wise AND between the mask and the original value (in 32-bit). + // We're exploiting the fact that floating point comparison is equivalent to integer + // comparison, since we're comparing unsigned integers whose top 8-bits are zero. + if (!encode_dropout_in_sign_bit + && (std::is_same::value || std::is_same::value)) { + uint16_t rnd_16[16]; + #pragma unroll + for (int i = 0; i < 16; i++) { rnd_16[i] = uint16_t(rnd_8[i]); } + uint32_t (&rnd_32)[8] = reinterpret_cast(rnd_16); + #pragma unroll + for (int j = 0; j < 2; j++) { + Tensor tensor_uint32 = recast(tensor(_, m, n * 2 + j)); + // if (cute::thread0()) { printf("random = 0x%x, 0x%x, 0x%x, 0x%x\n", rnd_32[j * 4 + 0], rnd_32[j * 4 + 1], rnd_32[j * 4 + 2], rnd_32[j * 4 + 3]); } + // if (cute::thread0()) { printf("tensor_uint32 = 0x%x, 0x%x, 0x%x, 0x%x\n", tensor_uint32(0), tensor_uint32(1), tensor_uint32(2), tensor_uint32(3)); } + #pragma unroll + for (int i = 0; i < 4; i++) { + uint32_t mask; + asm volatile("set.le.u32.f16x2 %0, %1, %2;\n" : "=r"(mask) : "r"(rnd_32[j * 4 + i]), "r"(p_dropout_8bit_in_uint32_t)); + tensor_uint32(i) &= mask; + } + // if (cute::thread0()) { printf("tensor_uint32 = 0x%x, 0x%x, 0x%x, 0x%x\n", tensor_uint32(0), tensor_uint32(1), tensor_uint32(2), tensor_uint32(3)); } + } + } else { + #pragma unroll + for (int j = 0; j < 2; j++) { + #pragma unroll + for (int i = 0; i < 8; i++) { + tensor(i, m, n * 2 + j) = encode_dropout(rnd_8[j * 8 + i] <= p_dropout_in_uint8_t, tensor(i, m, n * 2 + j)); + } + Tensor tensor_uint32 = recast(tensor(_, m, n * 2 + j)); + // if (cute::thread0()) { printf("tensor_uint32 = 0x%x, 0x%x, 0x%x, 0x%x\n", tensor_uint32(0), tensor_uint32(1), tensor_uint32(2), tensor_uint32(3)); } + } + } + // // if ((threadIdx.x == 0) && (blockIdx.x == 0) && (blockIdx.y == 0)) { + // // printf("n = %d, ph Philox: %u, %u, %u, %u\n", n, rnd_8.x, rnd_8.y, rnd_8.z, rnd_8.w); + // // } + } + } +} + +} // namespace flash diff --git a/csrc/flash_attn/src/static_switch.h b/csrc/flash_attn/src/static_switch.h index 53bcf35d6..b4a4b488d 100644 --- a/csrc/flash_attn/src/static_switch.h +++ b/csrc/flash_attn/src/static_switch.h @@ -1,6 +1,5 @@ // Inspired by https://github.com/NVIDIA/DALI/blob/main/include/dali/core/static_switch.h // and https://github.com/pytorch/pytorch/blob/master/aten/src/ATen/Dispatch.h -// and https://github.com/facebookresearch/xformers/blob/main/xformers/csrc/attention/cuda/fmha/gemm_kernel_utils.h#L8 #pragma once @@ -10,31 +9,57 @@ /// /// Usage: /// ``` -/// BOOL_SWITCH(flag, BoolConst, ([&] { +/// BOOL_SWITCH(flag, BoolConst, [&] { /// some_function(...); -/// })); +/// }); /// ``` -/// We need "({" and "})" to make sure that the code is a single argument being passed to the macro. -#define BOOL_SWITCH(COND, CONST_NAME, F) \ - { \ - if (COND) { \ - constexpr bool CONST_NAME = true; \ - F(); \ - } else { \ - constexpr bool CONST_NAME = false; \ - F(); \ - } \ - } +#define BOOL_SWITCH(COND, CONST_NAME, ...) \ + [&] { \ + if (COND) { \ + constexpr bool CONST_NAME = true; \ + return __VA_ARGS__(); \ + } else { \ + constexpr bool CONST_NAME = false; \ + return __VA_ARGS__(); \ + } \ + }() -// modified from BOOL_SWITCH -// because MSVC cannot handle std::conditional with constexpr variable -#define FP16_SWITCH(COND, F) \ - { \ - if (COND) { \ - using elem_type = __nv_bfloat16; \ - F(); \ - } else { \ - using elem_type = __half; \ - F(); \ - } \ - } +#define FP16_SWITCH(COND, ...) \ + [&] { \ + if (COND) { \ + using elem_type = cutlass::half_t; \ + return __VA_ARGS__(); \ + } else { \ + using elem_type = cutlass::bfloat16_t; \ + return __VA_ARGS__(); \ + } \ + }() + +#define FWD_HEADDIM_SWITCH(HEADDIM, ...) \ + [&] { \ + if (HEADDIM <= 32) { \ + constexpr int kHeadDim = 32; \ + return __VA_ARGS__(); \ + } else if (HEADDIM <= 64) { \ + constexpr int kHeadDim = 64; \ + return __VA_ARGS__(); \ + } else if (HEADDIM <= 96) { \ + constexpr int kHeadDim = 96; \ + return __VA_ARGS__(); \ + } else if (HEADDIM <= 128) { \ + constexpr int kHeadDim = 128; \ + return __VA_ARGS__(); \ + } else if (HEADDIM <= 160) { \ + constexpr int kHeadDim = 160; \ + return __VA_ARGS__(); \ + } else if (HEADDIM <= 192) { \ + constexpr int kHeadDim = 192; \ + return __VA_ARGS__(); \ + } else if (HEADDIM <= 224) { \ + constexpr int kHeadDim = 224; \ + return __VA_ARGS__(); \ + } else if (HEADDIM <= 256) { \ + constexpr int kHeadDim = 256; \ + return __VA_ARGS__(); \ + } \ + }() diff --git a/csrc/flash_attn/src/utils.h b/csrc/flash_attn/src/utils.h new file mode 100644 index 000000000..2221a2faf --- /dev/null +++ b/csrc/flash_attn/src/utils.h @@ -0,0 +1,388 @@ +/****************************************************************************** + * Copyright (c) 2023, Tri Dao. + ******************************************************************************/ + +#pragma once + +#include +#include +#include + +#include + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 +#include +#endif + +#include +#include + +#include +#include +#include +#include + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +namespace flash { + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ uint32_t relu2(const uint32_t x); + +template<> +inline __device__ uint32_t relu2(const uint32_t x) { + uint32_t res; + const uint32_t zero = 0u; +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + asm volatile("max.f16x2 %0, %1, %2;\n" : "=r"(res) : "r"(x), "r"(zero)); +#else + asm volatile( \ + "{\n" \ + "\t .reg .f16x2 sela;\n" \ + "\t set.gtu.u32.f16x2 sela, %1, %2;\n" \ + "\t and.b32 %0, sela, %1;\n" + "}\n" : "=r"(res) : "r"(x), "r"(zero)); +#endif + return res; +} + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 +template<> +inline __device__ uint32_t relu2(const uint32_t x) { + uint32_t res; + const uint32_t zero = 0u; + asm volatile("max.bf16x2 %0, %1, %2;\n" : "=r"(res) : "r"(x), "r"(zero)); + return res; +} +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + +template +inline __device__ uint32_t convert_relu2(const float2 x); + +template<> +inline __device__ uint32_t convert_relu2(const float2 x) { + uint32_t res; + const uint32_t a = reinterpret_cast(x.x); + const uint32_t b = reinterpret_cast(x.y); + asm volatile("cvt.rn.relu.f16x2.f32 %0, %1, %2;\n" : "=r"(res) : "r"(b), "r"(a)); + return res; +} + +template<> +inline __device__ uint32_t convert_relu2(const float2 x) { + uint32_t res; + const uint32_t a = reinterpret_cast(x.x); + const uint32_t b = reinterpret_cast(x.y); + asm volatile("cvt.rn.relu.bf16x2.f32 %0, %1, %2;\n" : "=r"(res) : "r"(b), "r"(a)); + return res; +} + +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ float2 half2_unpack(uint32_t a); + +template <> +inline __device__ float2 half2_unpack<__half>(uint32_t a) { + return __half22float2(reinterpret_cast<__half2 (&)>(a)); +} + +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 +template <> +inline __device__ float2 half2_unpack<__nv_bfloat16>(uint32_t a) { + return __bfloat1622float2(reinterpret_cast<__nv_bfloat162 (&)>(a)); +} +#endif + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Convert two half2's or bf162's into float, then take their dot product. +template +inline __device__ float hfma2_to_float(const uint32_t a, const uint32_t b) { + float2 af = flash::half2_unpack(a); + float2 bf = flash::half2_unpack(b); + return af.x * bf.x + af.y * bf.y; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Converted two vectors of 8 half's or bf16's into float, then take their dot product. +template +inline __device__ float hmulsum8(const uint4 a, const uint4 b) { + float sum; + sum = flash::hfma2_to_float(a.x, b.x); + sum += flash::hfma2_to_float(a.y, b.y); + sum += flash::hfma2_to_float(a.z, b.z); + sum += flash::hfma2_to_float(a.w, b.w); + return sum; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +struct MaxOp { +__device__ inline T operator()(T const & x, T const & y) { return x > y ? x : y; } +}; + +template <> +struct MaxOp { +// This is slightly faster +__device__ inline float operator()(float const &x, float const &y) { return max(x, y); } +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +struct SumOp { +__device__ inline T operator()(T const & x, T const & y) { return x + y; } +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +struct Allreduce { + static_assert(THREADS == 32 || THREADS == 16 || THREADS == 8 || THREADS == 4); + template + static __device__ inline T run(T x, Operator &op) { + constexpr int OFFSET = THREADS / 2; + x = op(x, __shfl_xor_sync(uint32_t(-1), x, OFFSET)); + return Allreduce::run(x, op); + } +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template<> +struct Allreduce<2> { +template +static __device__ inline T run(T x, Operator &op) { + x = op(x, __shfl_xor_sync(uint32_t(-1), x, 1)); + return x; +} +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void gemm(Tensor0 &acc, Tensor1 &tCrA, Tensor2 &tCrB, Tensor3 const& tCsA, + Tensor4 const& tCsB, TiledMma tiled_mma, + TiledCopy0 smem_thr_copy_A, TiledCopy1 smem_thr_copy_B) { + CUTE_STATIC_ASSERT_V(size<1>(tCrA) == size<1>(acc)); // MMA_M + CUTE_STATIC_ASSERT_V(size<1>(tCrB) == size<2>(acc)); // MMA_N + CUTE_STATIC_ASSERT_V(size<2>(tCrA) == size<2>(tCrB)); // MMA_K + Tensor tCrA_copy_view = smem_thr_copy_A.retile_D(tCrA); + CUTE_STATIC_ASSERT_V(size<1>(tCsA) == size<1>(tCrA_copy_view)); // M + Tensor tCrB_copy_view = smem_thr_copy_B.retile_D(tCrB); + CUTE_STATIC_ASSERT_V(size<1>(tCsB) == size<1>(tCrB_copy_view)); // N + if (!A_in_regs) { copy(smem_thr_copy_A, tCsA(_, _, _0{}), tCrA_copy_view(_, _, _0{})); } + if (!B_in_regs) { copy(smem_thr_copy_B, tCsB(_, _, _0{}), tCrB_copy_view(_, _, _0{})); } + #pragma unroll + for (int i = 0; i < size<2>(tCrA); ++i) { + if (i < size<2>(tCrA) - 1) { + if (!A_in_regs) { copy(smem_thr_copy_A, tCsA(_, _, i + 1), tCrA_copy_view(_, _, i + 1)); } + if (!B_in_regs) { copy(smem_thr_copy_B, tCsB(_, _, i + 1), tCrB_copy_view(_, _, i + 1)); } + } + cute::gemm(tiled_mma, tCrA(_, _, i), tCrB(_, _, i), acc); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void gemm_A_in_regs(Tensor0 &acc, Tensor1 &tCrA, Tensor2 &tCrB, Tensor3 const& tCsB, + TiledMma tiled_mma, TiledCopy smem_thr_copy_B) { + CUTE_STATIC_ASSERT_V(size<1>(tCrA) == size<1>(acc)); // MMA_M + CUTE_STATIC_ASSERT_V(size<1>(tCrB) == size<2>(acc)); // MMA_N + CUTE_STATIC_ASSERT_V(size<2>(tCrA) == size<2>(tCrB)); // MMA_K + Tensor tCrB_copy_view = smem_thr_copy_B.retile_D(tCrB); + CUTE_STATIC_ASSERT_V(size<1>(tCsB) == size<1>(tCrB_copy_view)); // N + copy(smem_thr_copy_B, tCsB(_, _, _0{}), tCrB_copy_view(_, _, _0{})); + #pragma unroll + for (int i = 0; i < size<2>(tCrA); ++i) { + if (i < size<2>(tCrA) - 1) { + copy(smem_thr_copy_B, tCsB(_, _, i + 1), tCrB_copy_view(_, _, i + 1)); + } + cute::gemm(tiled_mma, tCrA(_, _, i), tCrB(_, _, i), acc); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Convert acc_layout from (MMA=4, MMA_M, MMA_N) to (nrow=(2, MMA_M), ncol=(2, MMA_N)) +template +inline __device__ auto convert_layout_acc_rowcol(Layout acc_layout) { + static_assert(decltype(size<0>(acc_layout))::value == 4); + static_assert(decltype(rank(acc_layout))::value == 3); + auto l = logical_divide(acc_layout, Shape<_2>{}); // ((2, 2), MMA_M, MMA_N) + return make_layout(make_layout(get<0, 1>(l), get<1>(l)), make_layout(get<0, 0>(l), get<2>(l))); +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Convert rowcol_layout from (nrow=(2, MMA_M), ncol=(2, MMA_N)) to ((2, 2, 2), MMA_M, MMA_N / 2) +// if using m16n8k16, or to ((2, 2, 1), MMA_M, MMA_N) if using m16n8k8. +template +inline __device__ auto convert_layout_rowcol_Aregs(Layout rowcol_layout) { + using X = Underscore; + static_assert(decltype(size<0, 0>(rowcol_layout))::value == 2); + static_assert(decltype(size<1, 0>(rowcol_layout))::value == 2); + constexpr int mma_shape_K = get<2>(typename MMA_traits::Shape_MNK{}); + static_assert(mma_shape_K == 8 || mma_shape_K == 16); + constexpr int MMA_N_divisor = mma_shape_K == 8 ? 1 : 2; + auto l = logical_divide(rowcol_layout, Shape>>{}); // ((2, MMA_M), (2, (2, MMA_N / 2))) + return make_layout(make_layout(get<1, 0>(l), get<0, 0>(l), get<1, 1, 0>(l)), + get<0, 1>(l), + get<1, 1, 1>(l)); +}; + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ auto convert_type(Tensor const &tensor) { + using From_type = typename Engine::value_type; + constexpr int numel = decltype(size(tensor))::value; + cutlass::NumericArrayConverter convert_op; + // HACK: this requires tensor to be "contiguous" + auto frag = convert_op(*reinterpret_cast *>(tensor.data())); + return make_tensor(make_rmem_ptr(&frag), tensor.layout()); +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void relu_(Tensor &tensor) { + constexpr int numel = decltype(size(tensor))::value; + static_assert(numel % 2 == 0); + using value_t = typename Engine::value_type; + // HACK: this requires tensor to be "contiguous" + Tensor tensor_uint32 = recast(tensor); + #pragma unroll + for (int i = 0; i < size(tensor_uint32); ++i) { + tensor_uint32(i) = relu2(tensor_uint32(i)); + } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// On SM80 and above, we can fuse fp32 -> fp16/bf16 conversion and relu into 1 instruction +template +inline __device__ auto convert_type_relu(Tensor const &tensor) { + using From_type = typename Engine::value_type; + static_assert(std::is_same_v || std::is_same_v); + static_assert(std::is_same_v); + constexpr int numel = decltype(size(tensor))::value; + static_assert(numel % 2 == 0); +#if defined(__CUDA_ARCH__) && __CUDA_ARCH__ >= 800 + // HACK: this requires tensor to be "contiguous" + Tensor tensor_float2 = recast(tensor); + Tensor out_uint32 = make_tensor(tensor_float2.layout()); + #pragma unroll + for (int i = 0; i < size(out_uint32); ++i) { + out_uint32(i) = convert_relu2(tensor_float2(i)); + } + Tensor out = make_tensor(make_rmem_ptr(out_uint32.data()), tensor.layout()); +#else + Tensor out = flash::convert_type(tensor); + flash::relu_(out); +#endif + return out; +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +// Blocks until all but N previous cp.async.commit_group operations have committed. +// This differs from cute::cp_async_wait in that when N = 0 we don't call cp.async.wait_all +// (which is equivalent to commit_group then wait_group 0). +// Instead we just call cp.async.wait_group 0, which is slightly faster. +// https://github.com/NVIDIA/cutlass/blob/master/include/cute/arch/copy_sm80.hpp#L113 +template +CUTE_HOST_DEVICE +void cp_async_wait() { +#if defined(CUTE_ARCH_CP_ASYNC_SM80_ENABLED) + asm volatile("cp.async.wait_group %0;\n" :: "n"(N)); +#endif +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +template +inline __device__ void copy(TiledCopy thr_copy, Tensor const &S, + Tensor &D, Tensor const &identity_MN, + Tensor const &predicate_K, int max_MN=0) { + CUTE_STATIC_ASSERT_V(rank(S) == Int<3>{}); + CUTE_STATIC_ASSERT_V(rank(D) == Int<3>{}); + CUTE_STATIC_ASSERT_V(size<0>(S) == size<0>(D)); // MMA + CUTE_STATIC_ASSERT_V(size<1>(S) == size<1>(D)); // MMA_M + CUTE_STATIC_ASSERT_V(size<2>(S) == size<2>(D)); // MMA_K + // There's no case where !Clear_OOB_K && Clear_OOB_MN + static_assert(!(Clear_OOB_MN && !Clear_OOB_K)); + #pragma unroll + for (int m = 0; m < size<1>(S); ++m) { + if (Is_even_MN || get<0>(identity_MN(0, m, 0)) < max_MN) { + #pragma unroll + for (int k = 0; k < size<2>(S); ++k) { + if (Is_even_K || predicate_K(k)) { + copy(thr_copy, S(_, m, k), D(_, m, k)); + } else if (Clear_OOB_K) { + clear(D(_, m, k)); + } + } + } else if (Clear_OOB_MN) { + clear(D(_, m, _)); + } + } + // TD [2023-04-13]: Strange that the code below can cause race condition. + // I think it's because the copies are under an if statement. + // if (Is_even_K) { + // #pragma unroll + // for (int m = 0; m < size<1>(S); ++m) { + // if (Is_even_MN || get<0>(identity_MN(0, m, 0)) < max_MN) { + // copy(thr_copy, S(_, m, _), D(_, m, _)); + // } else if (Clear_OOB_MN) { + // clear(D(_, m, _)); + // } + // } + // } else { // It's slightly faster in this case if iterate over K first + // #pragma unroll + // for (int k = 0; k < size<2>(S); ++k) { + // if (predicate_K(k)) { + // #pragma unroll + // for (int m = 0; m < size<1>(S); ++m) { + // if (Is_even_MN || get<0>(identity_MN(0, m, 0)) < max_MN) { + // copy(thr_copy, S(_, m, k), D(_, m, k)); + // } else if (Clear_OOB_MN) { + // clear(D(_, m, k)); + // } + // } + // } else if (Clear_OOB_K) { // There's no case where !Clear_OOB_K && Clear_OOB_MN + // if (Clear_OOB_MN || Is_even_MN) { + // clear(D(_, _, k)); + // } else { + // #pragma unroll + // for (int m = 0; m < size<1>(S); ++m) { + // if (!(Is_even_MN || get<0>(identity_MN(0, m, 0)) < max_MN)) { + // clear(D(_, m, k)); + // } + // } + // } + // } + // } + // } +} + +//////////////////////////////////////////////////////////////////////////////////////////////////// + +} // namespace flash diff --git a/flash_attn/__init__.py b/flash_attn/__init__.py index 39e0411d5..7498a2d80 100644 --- a/flash_attn/__init__.py +++ b/flash_attn/__init__.py @@ -1 +1,8 @@ -__version__ = "1.0.9" +__version__ = "2.0.0.post1" + +from flash_attn.flash_attn_interface import flash_attn_func +from flash_attn.flash_attn_interface import flash_attn_kvpacked_func +from flash_attn.flash_attn_interface import flash_attn_qkvpacked_func +from flash_attn.flash_attn_interface import flash_attn_varlen_qkvpacked_func +from flash_attn.flash_attn_interface import flash_attn_varlen_kvpacked_func +from flash_attn.flash_attn_interface import flash_attn_varlen_func diff --git a/flash_attn/flash_attention.py b/flash_attn/flash_attention.py deleted file mode 100644 index 0719d0a0d..000000000 --- a/flash_attn/flash_attention.py +++ /dev/null @@ -1,101 +0,0 @@ -import math -import torch -import torch.nn as nn - -from einops import rearrange - -from flash_attn.flash_attn_interface import flash_attn_unpadded_qkvpacked_func -from flash_attn.bert_padding import unpad_input, pad_input - - -class FlashAttention(nn.Module): - """Implement the scaled dot product attention with softmax. - Arguments - --------- - softmax_scale: The temperature to use for the softmax attention. - (default: 1/sqrt(d_keys) where d_keys is computed at - runtime) - attention_dropout: The dropout rate to apply to the attention - (default: 0.0) - """ - def __init__(self, softmax_scale=None, attention_dropout=0.0): - super().__init__() - self.softmax_scale = softmax_scale - self.dropout_p = attention_dropout - - def forward(self, qkv, key_padding_mask=None, causal=False, cu_seqlens=None, - max_s=None, need_weights=False): - """Implements the multihead softmax attention. - Arguments - --------- - qkv: The tensor containing the query, key, and value. (B, S, 3, H, D) if key_padding_mask is None - if unpadded: (nnz, 3, h, d) - key_padding_mask: a bool tensor of shape (B, S) - """ - assert not need_weights - assert qkv.dtype in [torch.float16, torch.bfloat16] - assert qkv.is_cuda - - if cu_seqlens is None: - batch_size = qkv.shape[0] - seqlen = qkv.shape[1] - if key_padding_mask is None: - qkv = rearrange(qkv, 'b s ... -> (b s) ...') - max_s = seqlen - cu_seqlens = torch.arange(0, (batch_size + 1) * seqlen, step=seqlen, dtype=torch.int32, - device=qkv.device) - output = flash_attn_unpadded_qkvpacked_func( - qkv, cu_seqlens, max_s, self.dropout_p if self.training else 0.0, - softmax_scale=self.softmax_scale, causal=causal - ) - output = rearrange(output, '(b s) ... -> b s ...', b=batch_size) - else: - nheads = qkv.shape[-2] - x = rearrange(qkv, 'b s three h d -> b s (three h d)') - x_unpad, indices, cu_seqlens, max_s = unpad_input(x, key_padding_mask) - x_unpad = rearrange(x_unpad, 'nnz (three h d) -> nnz three h d', three=3, h=nheads) - output_unpad = flash_attn_unpadded_qkvpacked_func( - x_unpad, cu_seqlens, max_s, self.dropout_p if self.training else 0.0, - softmax_scale=self.softmax_scale, causal=causal - ) - output = rearrange(pad_input(rearrange(output_unpad, 'nnz h d -> nnz (h d)'), - indices, batch_size, seqlen), - 'b s (h d) -> b s h d', h=nheads) - else: - assert max_s is not None - output = flash_attn_unpadded_qkvpacked_func( - qkv, cu_seqlens, max_s, self.dropout_p if self.training else 0.0, - softmax_scale=self.softmax_scale, causal=causal - ) - - return output, None - - -class FlashMHA(nn.Module): - - def __init__(self, embed_dim, num_heads, bias=True, batch_first=True, attention_dropout=0.0, - causal=False, device=None, dtype=None) -> None: - assert batch_first - factory_kwargs = {'device': device, 'dtype': dtype} - super().__init__() - self.embed_dim = embed_dim - self.causal = causal - - self.num_heads = num_heads - assert self.embed_dim % num_heads == 0, "self.kdim must be divisible by num_heads" - self.head_dim = self.embed_dim // num_heads - assert self.head_dim % 8 == 0 and self.head_dim <= 128, "Only support head_dim <= 128 and divisible by 8" - - self.Wqkv = nn.Linear(embed_dim, 3 * embed_dim, bias=bias, **factory_kwargs) - self.inner_attn = FlashAttention(attention_dropout=attention_dropout) - self.out_proj = nn.Linear(embed_dim, embed_dim, bias=bias, **factory_kwargs) - - def forward(self, x, key_padding_mask=None, need_weights=False): - """x: (batch, seqlen, hidden_dim) (where hidden_dim = num heads * head dim) - key_padding_mask: bool tensor of shape (batch, seqlen) - """ - qkv = self.Wqkv(x) - qkv = rearrange(qkv, 'b s (three h d) -> b s three h d', three=3, h=self.num_heads) - context, attn_weights = self.inner_attn(qkv, key_padding_mask=key_padding_mask, - need_weights=need_weights, causal=self.causal) - return self.out_proj(rearrange(context, 'b s h d -> b s (h d)')), attn_weights diff --git a/flash_attn/flash_attn_interface.py b/flash_attn/flash_attn_interface.py index 07e97ce96..c6e43408e 100644 --- a/flash_attn/flash_attn_interface.py +++ b/flash_attn/flash_attn_interface.py @@ -1,48 +1,86 @@ import torch import torch.nn as nn -import torch.nn.functional as F -import flash_attn_cuda - - -def _get_block_size(device, head_dim, is_dropout): - assert head_dim % 8 == 0 and head_dim <= 128 - return 256 if head_dim <= 64 else 128 - - -def _flash_attn_forward(q, k, v, out, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, - dropout_p, softmax_scale, causal, return_softmax, num_splits=0, - generator=None): - """ - num_splits: how much to parallelize over the seqlen_q dimension. num_splits=0 means - it will be set by an internal heuristic. We're exposing num_splits mostly for benchmarking. - Don't change it unless you know what you're doing. - """ - softmax_lse, rng_state, *rest = flash_attn_cuda.fwd( - q, k, v, out, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, dropout_p, - softmax_scale, False, causal, return_softmax, num_splits, generator +import flash_attn_2_cuda as flash_attn_cuda +from einops import rearrange + + +def _get_block_size(device, head_dim, is_dropout, is_causal): + # This should match the block sizes in the CUDA kernel + assert head_dim <= 256 + major, minor = torch.cuda.get_device_capability(device) + is_sm8x = major == 8 and minor > 0 # Only include sm86 and sm89, exclude sm80 (A100) + is_sm80 = major == 8 and minor == 0 + is_sm90 = major == 9 and minor == 0 + if head_dim <= 32: + return 128, 128 + if head_dim <= 64: + return (128, 128) if not is_dropout else (128, 64) + elif head_dim <= 96: + return (64, 64) if (is_sm8x and is_causal) else (128, 64) + elif head_dim <= 128: + if is_sm8x: + return (64, 64) if (not is_dropout and is_causal) else (128, 32) + else: + return 128, (64 if not is_dropout else 32) + elif head_dim <= 160: + if is_sm8x: + return (128, 64) if not is_causal else (64, 64) + else: + return 128, 32 + elif head_dim <= 192: + return (128, 64) if not is_dropout else (64, 64) + elif head_dim <= 224: + return (128, 64) if (is_sm80 or is_sm90) else (64, 64) + elif head_dim <= 256: + return (128, 64) if is_sm80 else (64, 64) + + +def _flash_attn_forward(q, k, v, dropout_p, softmax_scale, causal, return_softmax): + if q.stride(-1) != 1: + q = q.contiguous() + if k.stride(-1) != 1: + k = k.contiguous() + if v.stride(-1) != 1: + v = v.contiguous() + out, q, k, v, out_padded, softmax_lse, S_dmask = flash_attn_cuda.fwd( + q, k, v, None, dropout_p, softmax_scale, causal, return_softmax, None + ) + return out, q, k, v, out_padded, softmax_lse, S_dmask + + +def _flash_attn_varlen_forward(q, k, v, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, + dropout_p, softmax_scale, causal, return_softmax): + if q.stride(-1) != 1: + q = q.contiguous() + if k.stride(-1) != 1: + k = k.contiguous() + if v.stride(-1) != 1: + v = v.contiguous() + out, q, k, v, out_padded, softmax_lse, S_dmask = flash_attn_cuda.varlen_fwd( + q, k, v, None, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, dropout_p, + softmax_scale, False, causal, return_softmax, None ) # if out.isnan().any() or softmax_lse.isnan().any(): # breakpoint() - S_dmask = rest[0] if return_softmax else None - return out, softmax_lse, rng_state, S_dmask + return out, q, k, v, out_padded, softmax_lse, S_dmask -def _flash_attn_backward(dout, q, k, v, out, softmax_lse, dq, dk, dv, cu_seqlens_q, cu_seqlens_k, - max_seqlen_q, max_seqlen_k, dropout_p, softmax_scale, causal, - rng_state=None, num_splits=0, generator=None): - """ - num_splits: whether to parallelize over the seqlen_k dimension (num_splits > 1) or - not (num_splits = 1). num_splits=0 means it will be set by an internal heuristic. - Any value above 1 will call the same kernel (i.e. num_splits=2 would call the same kernel - as num_splits=3), so effectively the choices are 0, 1, and 2. - This hyperparameter can be tuned for performance, but default value (heuristic) should work fine. - """ - dout = dout.contiguous() # CUDA code assumes that dout is contiguous - _, _, _, softmax_d = flash_attn_cuda.bwd( +def _flash_attn_backward(dout, q, k, v, out, softmax_lse, dq, dk, dv, + dropout_p, softmax_scale, causal): + dq, dk, dv, softmax_d, = flash_attn_cuda.bwd( + dout, q, k, v, out, softmax_lse, dq, dk, dv, dropout_p, softmax_scale, causal, None + ) + return dq, dk, dv, softmax_d + + +def _flash_attn_varlen_backward(dout, q, k, v, out, softmax_lse, dq, dk, dv, + cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, + dropout_p, softmax_scale, causal): + dq, dk, dv, softmax_d, = flash_attn_cuda.varlen_bwd( dout, q, k, v, out, softmax_lse, dq, dk, dv, cu_seqlens_q, cu_seqlens_k, - max_seqlen_q, max_seqlen_k, dropout_p, softmax_scale, False, causal, - num_splits, generator, rng_state) + max_seqlen_q, max_seqlen_k, dropout_p, softmax_scale, False, causal, None + ) # if dk.isnan().any() or dk.isnan().any() or dv.isnan().any() or softmax_d.isnan().any(): # breakpoint() return dq, dk, dv, softmax_d @@ -51,191 +89,249 @@ def _flash_attn_backward(dout, q, k, v, out, softmax_lse, dq, dk, dv, cu_seqlens class FlashAttnQKVPackedFunc(torch.autograd.Function): @staticmethod - def forward(ctx, qkv, cu_seqlens, max_seqlen, dropout_p, softmax_scale, causal, - return_softmax, deterministic): + def forward(ctx, qkv, dropout_p, softmax_scale, causal, return_softmax): + # Save rng_state because the backward pass will regenerate the dropout mask + rng_state = torch.cuda.get_rng_state() if dropout_p > 0 else None if softmax_scale is None: softmax_scale = qkv.shape[-1] ** (-0.5) - out, softmax_lse, rng_state, S_dmask = _flash_attn_forward( - qkv[:, 0], qkv[:, 1], qkv[:, 2], torch.empty_like(qkv[:, 0]), cu_seqlens, cu_seqlens, - max_seqlen, max_seqlen, dropout_p, softmax_scale, causal=causal, - return_softmax=return_softmax + out, q, k, v, out_padded, softmax_lse, S_dmask = _flash_attn_forward( + qkv[:, :, 0], qkv[:, :, 1], qkv[:, :, 2], dropout_p, softmax_scale, + causal=causal, return_softmax=return_softmax and dropout_p > 0 ) - ctx.save_for_backward(qkv, out, softmax_lse, cu_seqlens, rng_state) + ctx.save_for_backward(q, k, v, out_padded, softmax_lse, rng_state) ctx.dropout_p = dropout_p - ctx.max_seqlen = max_seqlen ctx.softmax_scale = softmax_scale ctx.causal = causal - ctx.deterministic = deterministic return out if not return_softmax else (out, softmax_lse, S_dmask) @staticmethod def backward(ctx, dout, *args): - qkv, out, softmax_lse, cu_seqlens, rng_state = ctx.saved_tensors - dqkv = torch.empty_like(qkv) + q, k, v, out, softmax_lse, rng_state = ctx.saved_tensors + if rng_state is not None: + cur_rng_state = torch.cuda.get_rng_state() + torch.cuda.set_rng_state(rng_state) + qkv_shape = q.shape[:-2] + (3, *q.shape[-2:]) + dqkv = torch.empty(qkv_shape, dtype=q.dtype, device=q.device) _flash_attn_backward( - dout, qkv[:, 0], qkv[:, 1], qkv[:, 2], out, softmax_lse, - dqkv[:, 0], dqkv[:, 1], dqkv[:, 2], cu_seqlens, cu_seqlens, - ctx.max_seqlen, ctx.max_seqlen, ctx.dropout_p, ctx.softmax_scale, ctx.causal, - rng_state=rng_state, num_splits=1 if ctx.deterministic else 0, + dout, q, k, v, out, softmax_lse, dqkv[:, :, 0], dqkv[:, :, 1], dqkv[:, :, 2], + ctx.dropout_p, ctx.softmax_scale, ctx.causal + ) + dqkv = dqkv[..., :dout.shape[-1]] # We could have padded the head dimension + if rng_state is not None: + torch.cuda.set_rng_state(cur_rng_state) + return dqkv, None, None, None, None + + +class FlashAttnVarlenQKVPackedFunc(torch.autograd.Function): + + @staticmethod + def forward(ctx, qkv, cu_seqlens, max_seqlen, dropout_p, softmax_scale, causal, return_softmax): + # Save rng_state because the backward pass will regenerate the dropout mask + rng_state = torch.cuda.get_rng_state() if dropout_p > 0 else None + if softmax_scale is None: + softmax_scale = qkv.shape[-1] ** (-0.5) + out, q, k, v, out_padded, softmax_lse, S_dmask = _flash_attn_varlen_forward( + qkv[:, 0], qkv[:, 1], qkv[:, 2], cu_seqlens, cu_seqlens, max_seqlen, max_seqlen, + dropout_p, softmax_scale, causal=causal, return_softmax=return_softmax and dropout_p > 0 ) - return dqkv, None, None, None, None, None, None, None + ctx.save_for_backward(q, k, v, out_padded, softmax_lse, cu_seqlens, rng_state) + ctx.dropout_p = dropout_p + ctx.max_seqlen = max_seqlen + ctx.softmax_scale = softmax_scale + ctx.causal = causal + return out if not return_softmax else (out, softmax_lse, S_dmask) + + @staticmethod + def backward(ctx, dout, *args): + q, k, v, out, softmax_lse, cu_seqlens, rng_state = ctx.saved_tensors + if rng_state is not None: + cur_rng_state = torch.cuda.get_rng_state() + torch.cuda.set_rng_state(rng_state) + qkv_shape = q.shape[:-2] + (3, *q.shape[-2:]) + dqkv = torch.empty(qkv_shape, dtype=q.dtype, device=q.device) + _flash_attn_varlen_backward( + dout, q, k, v, out, softmax_lse, dqkv[:, 0], dqkv[:, 1], dqkv[:, 2], + cu_seqlens, cu_seqlens, ctx.max_seqlen, ctx.max_seqlen, + ctx.dropout_p, ctx.softmax_scale, ctx.causal + ) + dqkv = dqkv[..., :dout.shape[-1]] # We could have padded the head dimension + if rng_state is not None: + torch.cuda.set_rng_state(cur_rng_state) + return dqkv, None, None, None, None, None, None class FlashAttnKVPackedFunc(torch.autograd.Function): @staticmethod - def forward(ctx, q, kv, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, dropout_p, - softmax_scale, causal, return_softmax, deterministic): + def forward(ctx, q, kv, dropout_p, softmax_scale, causal, return_softmax): + # Save rng_state because the backward pass will regenerate the dropout mask + rng_state = torch.cuda.get_rng_state() if dropout_p > 0 else None if softmax_scale is None: softmax_scale = q.shape[-1] ** (-0.5) - out, softmax_lse, rng_state, S_dmask = _flash_attn_forward( - q, kv[:, 0], kv[:, 1], torch.empty_like(q), cu_seqlens_q, cu_seqlens_k, max_seqlen_q, - max_seqlen_k, dropout_p, softmax_scale, causal=causal, return_softmax=return_softmax + out, q, k, v, out_padded, softmax_lse, S_dmask = _flash_attn_forward( + q, kv[:, :, 0], kv[:, :, 1], dropout_p, softmax_scale, causal=causal, + return_softmax=return_softmax and dropout_p > 0 ) - ctx.save_for_backward(q, kv, out, softmax_lse, cu_seqlens_q, cu_seqlens_k, rng_state) + ctx.save_for_backward(q, k, v, out_padded, softmax_lse, rng_state) ctx.dropout_p = dropout_p - ctx.max_seqlen_q = max_seqlen_q - ctx.max_seqlen_k = max_seqlen_k ctx.softmax_scale = softmax_scale ctx.causal = causal - ctx.deterministic = deterministic return out if not return_softmax else (out, softmax_lse, S_dmask) @staticmethod def backward(ctx, dout, *args): - q, kv, out, softmax_lse, cu_seqlens_q, cu_seqlens_k, rng_state = ctx.saved_tensors + q, k, v, out, softmax_lse, rng_state = ctx.saved_tensors + if rng_state is not None: + cur_rng_state = torch.cuda.get_rng_state() + torch.cuda.set_rng_state(rng_state) dq = torch.empty_like(q) - dkv = torch.empty_like(kv) + kv_shape = k.shape[:-2] + (2, *k.shape[-2:]) + dkv = torch.empty(kv_shape, dtype=k.dtype, device=k.device) _flash_attn_backward( - dout, q, kv[:, 0], kv[:, 1], out, softmax_lse, - dq, dkv[:, 0], dkv[:, 1], cu_seqlens_q, cu_seqlens_k, - ctx.max_seqlen_q, ctx.max_seqlen_k, ctx.dropout_p, ctx.softmax_scale, ctx.causal, - rng_state=rng_state, num_splits=1 if ctx.deterministic else 0, + dout, q, k, v, out, softmax_lse, + dq, dkv[:, :, 0], dkv[:, :, 1], ctx.dropout_p, ctx.softmax_scale, ctx.causal ) - return dq, dkv, None, None, None, None, None, None, None, None, None + dq = dq[..., :dout.shape[-1]] # We could have padded the head dimension + dkv = dkv[..., :dout.shape[-1]] + if rng_state is not None: + torch.cuda.set_rng_state(cur_rng_state) + return dq, dkv, None, None, None, None -class FlashAttnFunc(torch.autograd.Function): +class FlashAttnVarlenKVPackedFunc(torch.autograd.Function): @staticmethod - def forward(ctx, q, k, v, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, dropout_p, - softmax_scale, causal, return_softmax, deterministic): + def forward(ctx, q, kv, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, dropout_p, + softmax_scale, causal, return_softmax): + # Save rng_state because the backward pass will regenerate the dropout mask + rng_state = torch.cuda.get_rng_state() if dropout_p > 0 else None if softmax_scale is None: softmax_scale = q.shape[-1] ** (-0.5) - out, softmax_lse, rng_state, S_dmask = _flash_attn_forward( - q, k, v, torch.empty_like(q), cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, - dropout_p, softmax_scale, causal=causal, return_softmax=return_softmax + out, q, k, v, out_padded, softmax_lse, S_dmask = _flash_attn_varlen_forward( + q, kv[:, 0], kv[:, 1], cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, + dropout_p, softmax_scale, causal=causal, return_softmax=return_softmax and dropout_p > 0 ) - ctx.save_for_backward(q, k, v, out, softmax_lse, cu_seqlens_q, cu_seqlens_k, rng_state) + ctx.save_for_backward(q, k, v, out_padded, softmax_lse, + cu_seqlens_q, cu_seqlens_k, rng_state) ctx.dropout_p = dropout_p ctx.max_seqlen_q = max_seqlen_q ctx.max_seqlen_k = max_seqlen_k ctx.softmax_scale = softmax_scale ctx.causal = causal - ctx.deterministic = deterministic return out if not return_softmax else (out, softmax_lse, S_dmask) @staticmethod def backward(ctx, dout, *args): q, k, v, out, softmax_lse, cu_seqlens_q, cu_seqlens_k, rng_state = ctx.saved_tensors + if rng_state is not None: + cur_rng_state = torch.cuda.get_rng_state() + torch.cuda.set_rng_state(rng_state) + dq = torch.empty_like(q) + kv_shape = k.shape[:-2] + (2, *k.shape[-2:]) + dkv = torch.empty(kv_shape, dtype=k.dtype, device=k.device) + _flash_attn_varlen_backward( + dout, q, k, v, out, softmax_lse, dq, dkv[:, 0], dkv[:, 1], + cu_seqlens_q, cu_seqlens_k, ctx.max_seqlen_q, ctx.max_seqlen_k, + ctx.dropout_p, ctx.softmax_scale, ctx.causal + ) + dq = dq[..., :dout.shape[-1]] # We could have padded the head dimension + dkv = dkv[..., :dout.shape[-1]] + if rng_state is not None: + torch.cuda.set_rng_state(cur_rng_state) + return dq, dkv, None, None, None, None, None, None, None, None + + +class FlashAttnFunc(torch.autograd.Function): + + @staticmethod + def forward(ctx, q, k, v, dropout_p, softmax_scale, causal, return_softmax): + # Save rng_state because the backward pass will regenerate the dropout mask + rng_state = torch.cuda.get_rng_state() if dropout_p > 0 else None + if softmax_scale is None: + softmax_scale = q.shape[-1] ** (-0.5) + out, q, k, v, out_padded, softmax_lse, S_dmask = _flash_attn_forward( + q, k, v, dropout_p, softmax_scale, causal=causal, + return_softmax=return_softmax and dropout_p > 0 + ) + ctx.save_for_backward(q, k, v, out_padded, softmax_lse, rng_state) + ctx.dropout_p = dropout_p + ctx.softmax_scale = softmax_scale + ctx.causal = causal + return out if not return_softmax else (out, softmax_lse, S_dmask) + + @staticmethod + def backward(ctx, dout, *args): + q, k, v, out, softmax_lse, rng_state = ctx.saved_tensors + if rng_state is not None: + cur_rng_state = torch.cuda.get_rng_state() + torch.cuda.set_rng_state(rng_state) dq, dk, dv = torch.empty_like(q), torch.empty_like(k), torch.empty_like(v) _flash_attn_backward( - dout, q, k, v, out, softmax_lse, dq, dk, dv, cu_seqlens_q, cu_seqlens_k, - ctx.max_seqlen_q, ctx.max_seqlen_k, ctx.dropout_p, ctx.softmax_scale, ctx.causal, - rng_state=rng_state, num_splits=1 if ctx.deterministic else 0, + dout, q, k, v, out, softmax_lse, + dq, dk, dv, ctx.dropout_p, ctx.softmax_scale, ctx.causal ) - return dq, dk, dv, None, None, None, None, None, None, None, None, None + dq = dq[..., :dout.shape[-1]] # We could have padded the head dimension + dk = dk[..., :dout.shape[-1]] + dv = dv[..., :dout.shape[-1]] + if rng_state is not None: + torch.cuda.set_rng_state(cur_rng_state) + return dq, dk, dv, None, None, None, None, None, None, None, None -class FlashAttnQKVPackedSplitFunc(torch.autograd.Function): +class FlashAttnVarlenFunc(torch.autograd.Function): @staticmethod - def forward(ctx, qkv, cu_seqlens, max_seqlen0, max_seqlen1, batch_size0, dropout_p, - softmax_scale, causal, return_softmax, deterministic): + def forward(ctx, q, k, v, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, dropout_p, + softmax_scale, causal, return_softmax): # Save rng_state because the backward pass will regenerate the dropout mask - if dropout_p > 0: - rng_state0 = torch.cuda.get_rng_state() - generator1 = torch.Generator(device='cuda') - rng_state1 = generator1.get_state() - else: - rng_state0, generator1, rng_state1 = None, None, None + rng_state = torch.cuda.get_rng_state() if dropout_p > 0 else None if softmax_scale is None: - softmax_scale = qkv.shape[-1] ** (-0.5) - out = torch.empty_like(qkv[:, 0]) - _, softmax_lse0, S_dmask0 = _flash_attn_forward( - qkv[:, 0], qkv[:, 1], qkv[:, 2], out, cu_seqlens[:batch_size0 + 1], - cu_seqlens[:batch_size0 + 1], max_seqlen0, max_seqlen0, dropout_p, softmax_scale, - causal=causal, return_softmax=return_softmax + softmax_scale = q.shape[-1] ** (-0.5) + out, q, k, v, out_padded, softmax_lse, S_dmask = _flash_attn_varlen_forward( + q, k, v, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, + dropout_p, softmax_scale, causal=causal, return_softmax=return_softmax and dropout_p > 0 ) - s = torch.cuda.Stream() - with torch.cuda.stream(s): - _, softmax_lse1, S_dmask1 = _flash_attn_forward( - qkv[:, 0], qkv[:, 1], qkv[:, 2], out, cu_seqlens[batch_size0:], - cu_seqlens[batch_size0:], max_seqlen1, max_seqlen1, dropout_p, softmax_scale, - causal=causal, return_softmax=return_softmax, generator=generator1 - ) - torch.cuda.current_stream().wait_stream(s) - ctx.save_for_backward(qkv, out, softmax_lse0, softmax_lse1, cu_seqlens, - rng_state0, rng_state1) + ctx.save_for_backward(q, k, v, out_padded, softmax_lse, + cu_seqlens_q, cu_seqlens_k, rng_state) ctx.dropout_p = dropout_p - ctx.max_seqlen0 = max_seqlen0 - ctx.max_seqlen1 = max_seqlen1 - ctx.batch_size0 = batch_size0 + ctx.max_seqlen_q = max_seqlen_q + ctx.max_seqlen_k = max_seqlen_k ctx.softmax_scale = softmax_scale ctx.causal = causal - ctx.deterministic = deterministic - if not return_softmax: - return out - else: - max_seqlen_q = max(softmax_lse0.shape[2], softmax_lse1.shape[2]) - max_seqlen_k = max(S_dmask0.shape[3], S_dmask1.shape[3]) - softmax_lse = torch.cat([F.pad(softmax_lse0, (0, max_seqlen_q - softmax_lse0.shape[2])), - F.pad(softmax_lse1, (0, max_seqlen_q - softmax_lse1.shape[2]))], - dim=0) - return out, softmax_lse, S_dmask0, S_dmask1 + return out if not return_softmax else (out, softmax_lse, S_dmask) @staticmethod def backward(ctx, dout, *args): - qkv, out, softmax_lse0, softmax_lse1, cu_seqlens, rng_state0, rng_state1 = ctx.saved_tensors - batch_size0 = ctx.batch_size0 - if rng_state0 is not None: + q, k, v, out, softmax_lse, cu_seqlens_q, cu_seqlens_k, rng_state = ctx.saved_tensors + if rng_state is not None: cur_rng_state = torch.cuda.get_rng_state() - torch.cuda.set_rng_state(rng_state0) - if rng_state1 is not None: - generator1 = torch.Generator(device='cuda') - generator1.set_state(rng_state1) - else: - generator1 = None - dqkv = torch.empty_like(qkv) - _flash_attn_backward( - dout, qkv[:, 0], qkv[:, 1], qkv[:, 2], out, softmax_lse0, - dqkv[:, 0], dqkv[:, 1], dqkv[:, 2], cu_seqlens[:batch_size0 + 1], - cu_seqlens[:batch_size0 + 1], ctx.max_seqlen0, ctx.max_seqlen0, ctx.dropout_p, - ctx.softmax_scale, ctx.causal, num_splits=1 if ctx.deterministic else 0, + torch.cuda.set_rng_state(rng_state) + dq, dk, dv = torch.empty_like(q), torch.empty_like(k), torch.empty_like(v) + _flash_attn_varlen_backward( + dout, q, k, v, out, softmax_lse, dq, dk, dv, cu_seqlens_q, cu_seqlens_k, + ctx.max_seqlen_q, ctx.max_seqlen_k, ctx.dropout_p, ctx.softmax_scale, ctx.causal ) - s = torch.cuda.Stream() - with torch.cuda.stream(s): - _flash_attn_backward( - dout, qkv[:, 0], qkv[:, 1], qkv[:, 2], out, softmax_lse1, - dqkv[:, 0], dqkv[:, 1], dqkv[:, 2], cu_seqlens[batch_size0:], - cu_seqlens[batch_size0:], ctx.max_seqlen1, ctx.max_seqlen1, ctx.dropout_p, - ctx.softmax_scale, ctx.causal, generator=generator1, - num_splits=1 if ctx.deterministic else 0, - ) - torch.cuda.current_stream().wait_stream(s) - if rng_state0 is not None: + dq = dq[..., :dout.shape[-1]] # We could have padded the head dimension + dk = dk[..., :dout.shape[-1]] + dv = dv[..., :dout.shape[-1]] + if rng_state is not None: torch.cuda.set_rng_state(cur_rng_state) - return dqkv, None, None, None, None, None, None, None, None, None + return dq, dk, dv, None, None, None, None, None, None, None, None -def flash_attn_unpadded_qkvpacked_func(qkv, cu_seqlens, max_seqlen, dropout_p, softmax_scale=None, - causal=False, return_attn_probs=False, deterministic=False): +def flash_attn_qkvpacked_func(qkv, dropout_p=0.0, softmax_scale=None, causal=False, + return_attn_probs=False): """dropout_p should be set to 0.0 during evaluation + If Q, K, V are already stacked into 1 tensor, this function will be faster than + calling flash_attn_func on Q, K, V since the backward pass avoids explicit concatenation + of the gradients of Q, K, V. + Supports multi-query and grouped-query attention (MQA/GQA) by passing in KV with fewer heads + than Q. Note that the number of heads in KV must be divisible by the number of heads in Q. + For example, if Q has 6 heads and K, V have 2 heads, head 0, 1, 2 of Q will attention to head + 0 of K, V, and head 3, 4, 5 of Q will attention to head 1 of K, V. + Arguments: - qkv: (total, 3, nheads, headdim), where total = total number of tokens in the batch. - cu_seqlens: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths - of the sequences in the batch, used to index into qkv. - max_seqlen: int. Maximum sequence length in the batch. + qkv: (batch_size, seqlen, 3, nheads, headdim) dropout_p: float. Dropout probability. softmax_scale: float. The scaling of QK^T before applying softmax. Default to 1 / sqrt(headdim). @@ -243,9 +339,8 @@ def flash_attn_unpadded_qkvpacked_func(qkv, cu_seqlens, max_seqlen, dropout_p, s return_attn_probs: bool. Whether to return the attention probabilities. This option is for testing only. The returned probabilities are not guaranteed to be correct (they might not have the right scaling). - deterministic: bool. Whether or not to ensure deterministic execution. Return: - out: (total, nheads, headdim). + out: (batch_size, seqlen, nheads, headdim). softmax_lse [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen). The logsumexp of each row of the matrix QK^T * scaling (e.g., log of the softmax normalization factor). @@ -253,23 +348,87 @@ def flash_attn_unpadded_qkvpacked_func(qkv, cu_seqlens, max_seqlen, dropout_p, s The output of softmax (possibly with different scaling). It also encodes the dropout pattern (negative means that location was dropped, nonnegative means it was kept). """ - return FlashAttnQKVPackedFunc.apply(qkv, cu_seqlens, max_seqlen, dropout_p, softmax_scale, - causal, return_attn_probs, deterministic) + return FlashAttnQKVPackedFunc.apply(qkv, dropout_p, softmax_scale, causal, return_attn_probs) -def flash_attn_unpadded_kvpacked_func(q, kv, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, - dropout_p, softmax_scale=None, causal=False, - return_attn_probs=False, deterministic=False): +def flash_attn_kvpacked_func(q, kv, dropout_p=0.0, softmax_scale=None, causal=False, + return_attn_probs=False): """dropout_p should be set to 0.0 during evaluation + If K, V are already stacked into 1 tensor, this function will be faster than + calling flash_attn_func on Q, K, V since the backward pass avoids explicit concatenation + of the gradients of K, V. + Supports multi-query and grouped-query attention (MQA/GQA) by passing in KV with fewer heads + than Q. Note that the number of heads in KV must be divisible by the number of heads in Q. + For example, if Q has 6 heads and K, V have 2 heads, head 0, 1, 2 of Q will attention to head + 0 of K, V, and head 3, 4, 5 of Q will attention to head 1 of K, V. + Arguments: - q: (total_q, nheads, headdim), where total_q = total number of query tokens in the batch. - kv: (total_k, 2, nheads, headdim), where total_k = total number of key tokens in the batch. - cu_seqlens_q: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths - of the sequences in the batch, used to index into q. - cu_seqlens_k: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths - of the sequences in the batch, used to index into kv. - max_seqlen_q: int. Maximum query sequence length in the batch. - max_seqlen_k: int. Maximum key sequence length in the batch. + q: (batch_size, seqlen, nheads, headdim) + kv: (batch_size, seqlen, 2, nheads_k, headdim) + dropout_p: float. Dropout probability. + softmax_scale: float. The scaling of QK^T before applying softmax. + Default to 1 / sqrt(headdim). + causal: bool. Whether to apply causal attention mask (e.g., for auto-regressive modeling). + return_attn_probs: bool. Whether to return the attention probabilities. This option is for + testing only. The returned probabilities are not guaranteed to be correct + (they might not have the right scaling). + Return: + out: (batch_size, seqlen, nheads, headdim). + softmax_lse [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen). The + logsumexp of each row of the matrix QK^T * scaling (e.g., log of the softmax + normalization factor). + S_dmask [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen, seqlen). + The output of softmax (possibly with different scaling). It also encodes the dropout + pattern (negative means that location was dropped, nonnegative means it was kept). + """ + return FlashAttnKVPackedFunc.apply(q, kv, dropout_p, softmax_scale, causal, return_attn_probs) + + +def flash_attn_func(q, k, v, dropout_p=0.0, softmax_scale=None, causal=False, + return_attn_probs=False): + """dropout_p should be set to 0.0 during evaluation + Supports multi-query and grouped-query attention (MQA/GQA) by passing in KV with fewer heads + than Q. Note that the number of heads in KV must be divisible by the number of heads in Q. + For example, if Q has 6 heads and K, V have 2 heads, head 0, 1, 2 of Q will attention to head + 0 of K, V, and head 3, 4, 5 of Q will attention to head 1 of K, V. + + Arguments: + q: (batch_size, seqlen, nheads, headdim) + k: (batch_size, seqlen, nheads_k, headdim) + v: (batch_size, seqlen, nheads_k, headdim) + dropout_p: float. Dropout probability. + softmax_scale: float. The scaling of QK^T before applying softmax. + Default to 1 / sqrt(headdim). + causal: bool. Whether to apply causal attention mask (e.g., for auto-regressive modeling). + return_attn_probs: bool. Whether to return the attention probabilities. This option is for + testing only. The returned probabilities are not guaranteed to be correct + (they might not have the right scaling). + Return: + out: (batch_size, seqlen, nheads, headdim). + softmax_lse [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen). The + logsumexp of each row of the matrix QK^T * scaling (e.g., log of the softmax + normalization factor). + S_dmask [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen, seqlen). + The output of softmax (possibly with different scaling). It also encodes the dropout + pattern (negative means that location was dropped, nonnegative means it was kept). + """ + return FlashAttnFunc.apply(q, k, v, dropout_p, softmax_scale, causal, return_attn_probs) + + +def flash_attn_varlen_qkvpacked_func(qkv, cu_seqlens, max_seqlen, dropout_p=0.0, softmax_scale=None, + causal=False, return_attn_probs=False): + """dropout_p should be set to 0.0 during evaluation + If Q, K, V are already stacked into 1 tensor, this function will be faster than + calling flash_attn_varlen_func on Q, K, V since the backward pass avoids explicit concatenation + of the gradients of Q, K, V. + For example, if Q has 6 heads and K, V have 2 heads, head 0, 1, 2 of Q will attention to head + 0 of K, V, and head 3, 4, 5 of Q will attention to head 1 of K, V. + + Arguments: + qkv: (total, 3, nheads, headdim), where total = total number of tokens in the batch. + cu_seqlens: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths + of the sequences in the batch, used to index into qkv. + max_seqlen: int. Maximum sequence length in the batch. dropout_p: float. Dropout probability. softmax_scale: float. The scaling of QK^T before applying softmax. Default to 1 / sqrt(headdim). @@ -277,9 +436,8 @@ def flash_attn_unpadded_kvpacked_func(q, kv, cu_seqlens_q, cu_seqlens_k, max_seq return_attn_probs: bool. Whether to return the attention probabilities. This option is for testing only. The returned probabilities are not guaranteed to be correct (they might not have the right scaling). - deterministic: bool. Whether or not to ensure deterministic execution. Return: - out: (total_q, nheads, headdim). + out: (total, nheads, headdim). softmax_lse [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen). The logsumexp of each row of the matrix QK^T * scaling (e.g., log of the softmax normalization factor). @@ -287,19 +445,26 @@ def flash_attn_unpadded_kvpacked_func(q, kv, cu_seqlens_q, cu_seqlens_k, max_seq The output of softmax (possibly with different scaling). It also encodes the dropout pattern (negative means that location was dropped, nonnegative means it was kept). """ - return FlashAttnKVPackedFunc.apply(q, kv, cu_seqlens_q, cu_seqlens_k, - max_seqlen_q, max_seqlen_k, dropout_p, softmax_scale, causal, - return_attn_probs, deterministic) + return FlashAttnVarlenQKVPackedFunc.apply( + qkv, cu_seqlens, max_seqlen, dropout_p, softmax_scale, causal, return_attn_probs + ) -def flash_attn_unpadded_func(q, k, v, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, - dropout_p, softmax_scale=None, causal=False, return_attn_probs=False, - deterministic=False): +def flash_attn_varlen_kvpacked_func(q, kv, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, + dropout_p=0.0, softmax_scale=None, causal=False, + return_attn_probs=False): """dropout_p should be set to 0.0 during evaluation + If K, V are already stacked into 1 tensor, this function will be faster than + calling flash_attn_func on Q, K, V since the backward pass avoids explicit concatenation + of the gradients of K, V. + Supports multi-query and grouped-query attention (MQA/GQA) by passing in KV with fewer heads + than Q. Note that the number of heads in KV must be divisible by the number of heads in Q. + For example, if Q has 6 heads and K, V have 2 heads, head 0, 1, 2 of Q will attention to head + 0 of K, V, and head 3, 4, 5 of Q will attention to head 1 of K, V. + Arguments: q: (total_q, nheads, headdim), where total_q = total number of query tokens in the batch. - k: (total_k, nheads, headdim), where total_k = total number of key tokens in the batch. - v: (total_k, nheads, headdim), where total_k = total number of key tokens in the batch. + kv: (total_k, 2, nheads_k, headdim), where total_k = total number of key tokens in the batch. cu_seqlens_q: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths of the sequences in the batch, used to index into q. cu_seqlens_k: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths @@ -313,9 +478,8 @@ def flash_attn_unpadded_func(q, k, v, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, return_attn_probs: bool. Whether to return the attention probabilities. This option is for testing only. The returned probabilities are not guaranteed to be correct (they might not have the right scaling). - deterministic: bool. Whether or not to ensure deterministic execution. Return: - out: (total_q, nheads, headdim). + out: (total, nheads, headdim). softmax_lse [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen). The logsumexp of each row of the matrix QK^T * scaling (e.g., log of the softmax normalization factor). @@ -323,27 +487,31 @@ def flash_attn_unpadded_func(q, k, v, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, The output of softmax (possibly with different scaling). It also encodes the dropout pattern (negative means that location was dropped, nonnegative means it was kept). """ - return FlashAttnFunc.apply(q, k, v, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, - dropout_p, softmax_scale, causal, return_attn_probs, deterministic) - + return FlashAttnVarlenKVPackedFunc.apply( + q, kv, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, + dropout_p, softmax_scale, causal, return_attn_probs + ) -def flash_attn_unpadded_qkvpacked_split_func( - qkv, cu_seqlens, max_seqlen0, max_seqlen1, batch_size0, dropout_p, softmax_scale=None, - causal=False, return_attn_probs=False, deterministic=False): - """ - Split attention into 2 kernels running on 2 separate streams for performance reason: - e.g., if the batch has some sequences of length <= 128 and some > 128, it might be faster to - have one kernel dealing with seqlen <= 128 and one kernel for seqlen > 128. - dropout_p should be set to 0.0 during evaluation. +def flash_attn_varlen_func(q, k, v, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, + dropout_p=0.0, softmax_scale=None, causal=False, + return_attn_probs=False): + """dropout_p should be set to 0.0 during evaluation + Supports multi-query and grouped-query attention (MQA/GQA) by passing in K, V with fewer heads + than Q. Note that the number of heads in K, V must be divisible by the number of heads in Q. + For example, if Q has 6 heads and K, V have 2 heads, head 0, 1, 2 of Q will attention to head + 0 of K, V, and head 3, 4, 5 of Q will attention to head 1 of K, V. Arguments: - qkv: (total, 3, nheads, headdim), where total = total number of tokens in the batch. - cu_seqlens: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths - of the sequences in the batch, used to index into qkv. - max_seqlen0: int. Maximum sequence length in 1st part of the batch. - max_seqlen1: int. Maximum sequence length in 2nd part of the batch. - batch_size0: int. Number of sequences in the 1st part of the batch. + q: (total_q, nheads, headdim), where total_q = total number of query tokens in the batch. + k: (total_k, nheads_k, headdim), where total_k = total number of key tokens in the batch. + v: (total_k, nheads_k, headdim), where total_k = total number of key tokens in the batch. + cu_seqlens_q: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths + of the sequences in the batch, used to index into q. + cu_seqlens_k: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths + of the sequences in the batch, used to index into kv. + max_seqlen_q: int. Maximum query sequence length in the batch. + max_seqlen_k: int. Maximum key sequence length in the batch. dropout_p: float. Dropout probability. softmax_scale: float. The scaling of QK^T before applying softmax. Default to 1 / sqrt(headdim). @@ -351,7 +519,6 @@ def flash_attn_unpadded_qkvpacked_split_func( return_attn_probs: bool. Whether to return the attention probabilities. This option is for testing only. The returned probabilities are not guaranteed to be correct (they might not have the right scaling). - deterministic: bool. Whether or not to ensure deterministic execution. Return: out: (total, nheads, headdim). softmax_lse [optional, if return_attn_probs=True]: (batch_size, nheads, seqlen). The @@ -361,15 +528,7 @@ def flash_attn_unpadded_qkvpacked_split_func( The output of softmax (possibly with different scaling). It also encodes the dropout pattern (negative means that location was dropped, nonnegative means it was kept). """ - return FlashAttnQKVPackedSplitFunc.apply(qkv, cu_seqlens, max_seqlen0, max_seqlen1, batch_size0, - dropout_p, softmax_scale, causal, return_attn_probs, - deterministic) - - -def flash_attn_func(qkv, cu_seqlens, dropout_p, max_s, softmax_scale=None, causal=False, - return_attn_probs=False): - """For backward-compatibility only, will remove soon. - dropout_p should be set to 0.0 during evaluation - """ - return flash_attn_unpadded_qkvpacked_func(qkv, cu_seqlens, max_s, dropout_p, softmax_scale, - causal, return_attn_probs) + return FlashAttnVarlenFunc.apply( + q, k, v, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, + dropout_p, softmax_scale, causal, return_attn_probs + ) diff --git a/flash_attn/modules/block.py b/flash_attn/modules/block.py index a4ff5a260..5a25d79a9 100644 --- a/flash_attn/modules/block.py +++ b/flash_attn/modules/block.py @@ -8,7 +8,7 @@ import torch.nn.functional as F from torch import Tensor -from torchvision.ops import StochasticDepth +# from torchvision.ops import StochasticDepth from flash_attn.modules.mha import MHA from flash_attn.modules.mlp import Mlp @@ -70,12 +70,12 @@ def __init__(self, dim, mixer_cls=None, mlp_cls=None, norm_cls=nn.LayerNorm, mlp_cls = partial(Mlp, hidden_features=4 * dim) self.mixer = mixer_cls(dim) self.dropout1 = dropout_cls(resid_dropout1) - self.drop_path1 = StochasticDepth(drop_path1, mode='row') + # self.drop_path1 = StochasticDepth(drop_path1, mode='row') self.norm1 = norm_cls(dim) self.mlp = mlp_cls(dim) if not isinstance(self.mlp, nn.Identity): self.dropout2 = dropout_cls(resid_dropout2) - self.drop_path2 = StochasticDepth(drop_path2, mode='row') + # self.drop_path2 = StochasticDepth(drop_path2, mode='row') self.norm2 = norm_cls(dim) if self.fused_dropout_add_ln: @@ -129,13 +129,14 @@ def forward(self, hidden_states: Tensor, residual: Optional[Tensor] = None, if self.residual_in_fp32: residual = residual.to(torch.float32) else: - if self.drop_path1.p == 0 or not self.training: - rowscale1 = None - else: - rowscale1 = self.drop_path1(torch.ones( - hidden_states.shape[:-1], device=hidden_states.device, - dtype=hidden_states.dtype) - ) + rowscale1 = None + # if self.drop_path1.p == 0 or not self.training: + # rowscale1 = None + # else: + # rowscale1 = self.drop_path1(torch.ones( + # hidden_states.shape[:-1], device=hidden_states.device, + # dtype=hidden_states.dtype) + # ) hidden_states, residual = fused_add_norm_fn( hidden_states, residual, self.norm1.weight, self.norm1.bias, self.dropout1.p if self.training else 0.0, self.norm1.eps, @@ -156,13 +157,14 @@ def forward(self, hidden_states: Tensor, residual: Optional[Tensor] = None, if self.residual_in_fp32: residual = residual.to(torch.float32) else: - if self.drop_path2.p == 0 or not self.training: - rowscale2 = None - else: - rowscale2 = self.drop_path2(torch.ones( - hidden_states.shape[:-1], device=hidden_states.device, - dtype=hidden_states.dtype) - ) + # if self.drop_path2.p == 0 or not self.training: + # rowscale2 = None + # else: + # rowscale2 = self.drop_path2(torch.ones( + # hidden_states.shape[:-1], device=hidden_states.device, + # dtype=hidden_states.dtype) + # ) + rowscale2 = None hidden_states, residual = fused_add_norm_fn( hidden_states, residual, self.norm2.weight, self.norm2.bias, self.dropout2.p if self.training else 0.0, self.norm2.eps, diff --git a/flash_attn/modules/mha.py b/flash_attn/modules/mha.py index 684935dac..b70a58928 100644 --- a/flash_attn/modules/mha.py +++ b/flash_attn/modules/mha.py @@ -10,14 +10,10 @@ from einops import rearrange try: - from flash_attn.flash_attn_interface import flash_attn_unpadded_qkvpacked_func - from flash_attn.flash_attn_interface import flash_attn_unpadded_kvpacked_func -except ImportError: - flash_attn_unpadded_qkvpacked_func, flash_attn_unpadded_kvpacked_func = None, None - -try: - from flash_attn.ops.flash_attn_triton import flash_attn_qkvpacked_func, flash_attn_kvpacked_func + from flash_attn import flash_attn_varlen_qkvpacked_func, flash_attn_varlen_kvpacked_func + from flash_attn import flash_attn_qkvpacked_func, flash_attn_kvpacked_func except ImportError: + flash_attn_varlen_qkvpacked_func, flash_attn_varlen_kvpacked_func = None, None flash_attn_qkvpacked_func, flash_attn_kvpacked_func = None, None try: @@ -46,17 +42,13 @@ class FlashSelfAttention(nn.Module): attention_dropout: The dropout rate to apply to the attention (default: 0.0) """ - def __init__(self, causal=False, softmax_scale=None, attention_dropout=0.0, - triton=False): + def __init__(self, causal=False, softmax_scale=None, attention_dropout=0.0): super().__init__() - if attention_dropout != 0.0 or not triton: - assert flash_attn_unpadded_qkvpacked_func is not None, 'FlashAttention is not installed' - if attention_dropout == 0.0 and triton: - assert flash_attn_qkvpacked_func is not None, 'FlashAttention Triton is not installed' + assert flash_attn_varlen_qkvpacked_func is not None, 'FlashAttention is not installed' + assert flash_attn_qkvpacked_func is not None, 'FlashAttention is not installed' self.causal = causal self.softmax_scale = softmax_scale self.drop = nn.Dropout(attention_dropout) - self.triton = triton def forward(self, qkv, causal=None, cu_seqlens=None, max_seqlen=None): """Implements the multihead softmax attention. @@ -83,26 +75,13 @@ def forward(self, qkv, causal=None, cu_seqlens=None, max_seqlen=None): assert cu_seqlens.dtype == torch.int32 assert max_seqlen is not None assert isinstance(max_seqlen, int) - return flash_attn_unpadded_qkvpacked_func( + return flash_attn_varlen_qkvpacked_func( qkv, cu_seqlens, max_seqlen, self.drop.p if self.training else 0.0, softmax_scale=self.softmax_scale, causal=causal ) else: - batch_size, seqlen = qkv.shape[0], qkv.shape[1] - # Triton version doesn't support dropout - if self.triton and (self.drop.p == 0 or not self.training): - output = flash_attn_qkvpacked_func(qkv, None, causal, self.softmax_scale) - else: - qkv = rearrange(qkv, 'b s ... -> (b s) ...') - max_seqlen = seqlen - cu_seqlens = torch.arange(0, (batch_size + 1) * seqlen, step=seqlen, dtype=torch.int32, - device=qkv.device) - output = flash_attn_unpadded_qkvpacked_func( - qkv, cu_seqlens, max_seqlen, self.drop.p if self.training else 0.0, - softmax_scale=self.softmax_scale, causal=causal - ) - output = rearrange(output, '(b s) ... -> b s ...', b=batch_size) - return output + return flash_attn_qkvpacked_func(qkv, self.drop.p if self.training else 0.0, + softmax_scale=self.softmax_scale, causal=causal) class FlashCrossAttention(nn.Module): @@ -115,17 +94,13 @@ class FlashCrossAttention(nn.Module): attention_dropout: The dropout rate to apply to the attention (default: 0.0) """ - def __init__(self, causal=False, softmax_scale=None, attention_dropout=0.0, - triton=False): + def __init__(self, causal=False, softmax_scale=None, attention_dropout=0.0): super().__init__() - if attention_dropout != 0.0 or not triton: - assert flash_attn_unpadded_kvpacked_func is not None, 'FlashAttention is not installed' - if attention_dropout == 0.0 and triton: - assert flash_attn_kvpacked_func is not None, 'FlashAttention Triton is not installed' + assert flash_attn_varlen_kvpacked_func is not None, 'FlashAttention is not installed' + assert flash_attn_kvpacked_func is not None, 'FlashAttention is not installed' self.causal = causal self.softmax_scale = softmax_scale self.drop = nn.Dropout(attention_dropout) - self.triton = triton def forward(self, q, kv, causal=None, cu_seqlens=None, max_seqlen=None, cu_seqlens_k=None, max_seqlen_k=None): @@ -133,7 +108,7 @@ def forward(self, q, kv, causal=None, cu_seqlens=None, max_seqlen=None, Arguments --------- q: The tensor containing the query. (B, Sq, H, D) - kv: The tensor containing the key and value. (B, Sk, 2, H, D) + kv: The tensor containing the key and value. (B, Sk, 2, H_k, D) causal: if passed, will override self.causal cu_seqlens: (batch_size + 1,), dtype torch.int32. The cumulative sequence lengths of the sequences in the batch, used to index into q. @@ -154,7 +129,7 @@ def forward(self, q, kv, causal=None, cu_seqlens=None, max_seqlen=None, assert cu_seqlens_k.dtype == torch.int32 assert max_seqlen_k is not None assert isinstance(max_seqlen, int) - return flash_attn_unpadded_kvpacked_func( + return flash_attn_varlen_kvpacked_func( q, kv, cu_seqlens, cu_seqlens_k, max_seqlen, max_seqlen_k, self.drop.p if self.training else 0.0, softmax_scale=self.softmax_scale, causal=causal @@ -162,23 +137,9 @@ def forward(self, q, kv, causal=None, cu_seqlens=None, max_seqlen=None, else: batch_size, seqlen_q = q.shape[0], q.shape[1] seqlen_k = kv.shape[1] - assert kv.shape[0] == batch_size and kv.shape[3] == q.shape[2] and kv.shape[4] == q.shape[3] - if self.triton and (self.drop.p == 0.0 or not self.training): # Triton version doesn't support dropout - output = flash_attn_kvpacked_func(q, kv, None, causal, self.softmax_scale) - else: - q = rearrange(q, 'b s ... -> (b s) ...') - kv = rearrange(kv, 'b s ... -> (b s) ...') - cu_seqlens_q = torch.arange(0, (batch_size + 1) * seqlen_q, step=seqlen_q, - dtype=torch.int32, device=q.device) - cu_seqlens_k = torch.arange(0, (batch_size + 1) * seqlen_k, step=seqlen_k, - dtype=torch.int32, device=kv.device) - output = flash_attn_unpadded_kvpacked_func( - q, kv, cu_seqlens_q, cu_seqlens_k, seqlen_q, seqlen_k, - self.drop.p if self.training else 0.0, - softmax_scale=self.softmax_scale, causal=causal - ) - output = rearrange(output, '(b s) ... -> b s ...', b=batch_size) - return output + assert kv.shape[0] == batch_size and kv.shape[4] == q.shape[3] + return flash_attn_kvpacked_func(q, kv, self.drop.p if self.training else 0.0, + causal=causal, softmax_scale=self.softmax_scale) class SelfAttention(nn.Module): diff --git a/setup.py b/setup.py index 7597ea318..88353f8c2 100644 --- a/setup.py +++ b/setup.py @@ -111,28 +111,52 @@ def append_nvcc_threads(nvcc_extra_args): _, bare_metal_version = get_cuda_bare_metal_version(CUDA_HOME) if bare_metal_version < Version("11.0"): raise RuntimeError("FlashAttention is only supported on CUDA 11 and above") -cc_flag.append("-gencode") -cc_flag.append("arch=compute_75,code=sm_75") +# cc_flag.append("-gencode") +# cc_flag.append("arch=compute_75,code=sm_75") cc_flag.append("-gencode") cc_flag.append("arch=compute_80,code=sm_80") if bare_metal_version >= Version("11.8"): cc_flag.append("-gencode") cc_flag.append("arch=compute_90,code=sm_90") -subprocess.run(["git", "submodule", "update", "--init", "csrc/flash_attn/cutlass"]) +subprocess.run(["git", "submodule", "update", "--init", "csrc/cutlass"]) ext_modules.append( CUDAExtension( - name="flash_attn_cuda", + name="flash_attn_2_cuda", sources=[ - "csrc/flash_attn/fmha_api.cpp", - "csrc/flash_attn/src/fmha_fwd_hdim32.cu", - "csrc/flash_attn/src/fmha_fwd_hdim64.cu", - "csrc/flash_attn/src/fmha_fwd_hdim128.cu", - "csrc/flash_attn/src/fmha_bwd_hdim32.cu", - "csrc/flash_attn/src/fmha_bwd_hdim64.cu", - "csrc/flash_attn/src/fmha_bwd_hdim128.cu", - "csrc/flash_attn/src/fmha_block_fprop_fp16_kernel.sm80.cu", - "csrc/flash_attn/src/fmha_block_dgrad_fp16_kernel_loop.sm80.cu", + "csrc/flash_attn/flash_api.cpp", + "csrc/flash_attn/src/flash_fwd_hdim32_fp16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim32_bf16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim64_fp16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim64_bf16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim96_fp16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim96_bf16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim128_fp16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim128_bf16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim160_fp16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim160_bf16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim192_fp16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim192_bf16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim224_fp16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim224_bf16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim256_fp16_sm80.cu", + "csrc/flash_attn/src/flash_fwd_hdim256_bf16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim32_fp16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim32_bf16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim64_fp16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim64_bf16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim96_fp16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim96_bf16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim128_fp16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim128_bf16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim160_fp16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim160_bf16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim192_fp16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim192_bf16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim224_fp16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim224_bf16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim256_fp16_sm80.cu", + "csrc/flash_attn/src/flash_bwd_hdim256_bf16_sm80.cu", ], extra_compile_args={ "cxx": ["-O3", "-std=c++17"] + generator_flag, @@ -157,11 +181,12 @@ def append_nvcc_threads(nvcc_extra_args): include_dirs=[ Path(this_dir) / 'csrc' / 'flash_attn', Path(this_dir) / 'csrc' / 'flash_attn' / 'src', - Path(this_dir) / 'csrc' / 'flash_attn' / 'cutlass' / 'include', + Path(this_dir) / 'csrc' / 'cutlass' / 'include', ], ) ) + def get_package_version(): with open(Path(this_dir) / "flash_attn" / "__init__.py", "r") as f: version_match = re.search(r"^__version__\s*=\s*(.*)$", f.read(), re.MULTILINE) @@ -172,6 +197,7 @@ def get_package_version(): else: return str(public_version) + setup( name="flash_attn", version=get_package_version(), @@ -179,11 +205,9 @@ def get_package_version(): exclude=("build", "csrc", "include", "tests", "dist", "docs", "benchmarks", "flash_attn.egg-info",) ), author="Tri Dao", - author_email="trid@stanford.edu", + author_email="trid@cs.stanford.edu", description="Flash Attention: Fast and Memory-Efficient Exact Attention", - long_description=long_description, - long_description_content_type="text/markdown", - url="https://github.com/HazyResearch/flash-attention", + url="https://github.com/Dao-AILab/flash-attention", classifiers=[ "Programming Language :: Python :: 3", "License :: OSI Approved :: BSD License", diff --git a/tests/test_flash_attn.py b/tests/test_flash_attn.py index 3486f9b06..27223ebfb 100644 --- a/tests/test_flash_attn.py +++ b/tests/test_flash_attn.py @@ -1,5 +1,4 @@ import math -from functools import partial import torch import torch.nn.functional as F @@ -8,100 +7,87 @@ from einops import rearrange, repeat -from flash_attn.flash_attn_interface import flash_attn_func, flash_attn_unpadded_qkvpacked_func, _get_block_size, flash_attn_unpadded_kvpacked_func, flash_attn_unpadded_func -from flash_attn.flash_attn_interface import flash_attn_unpadded_qkvpacked_split_func +from flash_attn import flash_attn_func, flash_attn_kvpacked_func, flash_attn_qkvpacked_func +from flash_attn import flash_attn_varlen_qkvpacked_func, flash_attn_varlen_kvpacked_func +from flash_attn import flash_attn_varlen_func +from flash_attn.flash_attn_interface import _get_block_size from flash_attn.bert_padding import unpad_input, pad_input, index_first_axis -try: - from flash_attn.flash_attn_triton import flash_attn_func -except (ImportError, AttributeError): # Older version of Triton doesn't have tl.constexpr - flash_attn_func = None + +MAX_HEADDIM_SM8x = 192 is_sm75 = torch.cuda.get_device_capability('cuda') == (7, 5) +is_sm8x = torch.cuda.get_device_capability('cuda')[0] == 8 is_sm80 = torch.cuda.get_device_capability('cuda') == (8, 0) +is_sm90 = torch.cuda.get_device_capability('cuda') == (9, 0) def generate_random_padding_mask(max_seqlen, batch_size, device, mode='random'): - assert mode in ['full', 'random', 'third', 'split'] + assert mode in ['full', 'random', 'third'] if mode == 'full': lengths = torch.full((batch_size, 1), max_seqlen, device=device, dtype=torch.int32) elif mode == 'random': - lengths = torch.randint(max(1, max_seqlen - 20), max_seqlen + 1, (batch_size, 1), device=device) + lengths = torch.randint(max(1, max_seqlen - 20), max_seqlen, (batch_size, 1), device=device) elif mode == 'third': - lengths = torch.randint(max_seqlen // 3, max_seqlen + 1, (batch_size, 1), device=device) - elif mode == 'split': - lengths0 = torch.randint(min(128, max_seqlen), max_seqlen + 1, - (batch_size // 4 * 3, 1), device=device) - lengths1 = torch.randint(min(max(1, max_seqlen - 20), 128), min(max_seqlen, 128) + 1, - (batch_size - batch_size // 4 * 3, 1), device=device) - lengths = torch.cat([lengths0, lengths1], dim=0) + lengths = torch.randint(max_seqlen // 3, max_seqlen, (batch_size, 1), device=device) padding_mask = repeat(torch.arange(max_seqlen, device=device), 's -> b s', b=batch_size) < lengths return padding_mask -def generate_qkv(x, Wqkv, nheads, query_padding_mask=None, key_padding_mask=None, +def generate_qkv(q, k, v, query_padding_mask=None, key_padding_mask=None, kvpacked=False, qkvpacked=False): """ Arguments: - x: (batch_size, seqlen, nheads * d) - Wqkv: nn.Linear(nheads * d, 3 * nheads * d) + q: (batch_size, seqlen_q, nheads, d) + k: (batch_size, seqlen_k, nheads_k, d) + v: (batch_size, seqlen_k, nheads_k, d) query_padding_mask: (batch_size, seqlen), bool key_padding_mask: (batch_size, seqlen), bool """ assert not (kvpacked and qkvpacked) - batch_size, seqlen, dim = x.shape - q, k, v = Wqkv(x).chunk(3, dim=-1) + batch_size, seqlen_q, nheads, d = q.shape + _, seqlen_k, nheads_k, _ = k.shape + assert k.shape == (batch_size, seqlen_k, nheads_k, d) + assert v.shape == (batch_size, seqlen_k, nheads_k, d) if query_padding_mask is not None: q_unpad, indices_q, cu_seqlens_q, max_seqlen_q = unpad_input(q, query_padding_mask) - q_unpad = rearrange(q_unpad, 'nnz (h d) -> nnz h d', h=nheads) - output_pad_fn = lambda output_unpad: rearrange( - pad_input(rearrange(output_unpad, 'nnz h d -> nnz (h d)'), indices_q, batch_size, seqlen), - 'b s (h d) -> b s h d', h=nheads - ) + output_pad_fn = lambda output_unpad: pad_input(output_unpad, indices_q, batch_size, seqlen_q) else: - q_unpad = rearrange(q, 'b s (h d) -> (b s) h d', h=nheads) - cu_seqlens_q = torch.arange(0, (batch_size + 1) * seqlen, step=seqlen, dtype=torch.int32, + q_unpad = rearrange(q, 'b s h d -> (b s) h d') + cu_seqlens_q = torch.arange(0, (batch_size + 1) * seqlen_q, step=seqlen_q, dtype=torch.int32, device=q_unpad.device) - max_seqlen_q = seqlen + max_seqlen_q = seqlen_q output_pad_fn = lambda output_unpad: rearrange(output_unpad, '(b s) h d -> b s h d', b=batch_size) if key_padding_mask is not None: k_unpad, indices_k, cu_seqlens_k, max_seqlen_k = unpad_input(k, key_padding_mask) - k_unpad = rearrange(k_unpad, 'nnz (h d) -> nnz h d', h=nheads) v_unpad, _, _, _ = unpad_input(v, key_padding_mask) - v_unpad = rearrange(v_unpad, 'nnz (h d) -> nnz h d', h=nheads) else: - k_unpad = rearrange(k, 'b s (h d) -> (b s) h d', h=nheads) - v_unpad = rearrange(v, 'b s (h d) -> (b s) h d', h=nheads) - cu_seqlens_k = torch.arange(0, (batch_size + 1) * seqlen, step=seqlen, dtype=torch.int32, - device=q_unpad.device) - max_seqlen_k = seqlen + k_unpad = rearrange(k, 'b s h d -> (b s) h d') + v_unpad = rearrange(v, 'b s h d -> (b s) h d') + cu_seqlens_k = torch.arange(0, (batch_size + 1) * seqlen_k, step=seqlen_k, dtype=torch.int32, + device=k_unpad.device) + max_seqlen_k = seqlen_k if qkvpacked: assert (query_padding_mask == key_padding_mask).all() + assert nheads == nheads_k qkv_unpad = torch.stack([q_unpad, k_unpad, v_unpad], dim=1) - qkv = rearrange(torch.stack([q, k, v], dim=2), 'b s t (h d) -> b s t h d', h=nheads) + qkv = torch.stack([q, k, v], dim=2) if query_padding_mask is not None: - dqkv_pad_fn = lambda dqkv_unpad: rearrange( - pad_input(rearrange(dqkv_unpad, 'nnz t h d -> nnz (t h d)'), indices_q, batch_size, seqlen), - 'b s (t h d) -> b s t h d', t=3, h=nheads - ) + dqkv_pad_fn = lambda dqkv_unpad: pad_input(dqkv_unpad, indices_q, batch_size, seqlen_q) else: dqkv_pad_fn = lambda dqkv_unpad: rearrange(dqkv_unpad, '(b s) t h d -> b s t h d', b=batch_size) return (qkv_unpad.detach().requires_grad_(), cu_seqlens_q, max_seqlen_q, qkv.detach().requires_grad_(), output_pad_fn, dqkv_pad_fn) elif kvpacked: kv_unpad = torch.stack([k_unpad, v_unpad], dim=1) - q = rearrange(q, 'b s (h d) -> b s h d', h=nheads) - kv = rearrange(torch.stack([k, v], dim=2), 'b s t (h d) -> b s t h d', h=nheads) + kv = torch.stack([k, v], dim=2) dq_pad_fn = output_pad_fn if key_padding_mask is not None: - dkv_pad_fn = lambda dkv_unpad: rearrange( - pad_input(rearrange(dkv_unpad, 'nnz t h d -> nnz (t h d)'), indices_k, batch_size, seqlen), - 'b s (t h d) -> b s t h d', t=2, h=nheads - ) + dkv_pad_fn = lambda dkv_unpad: pad_input(dkv_unpad, indices_k, batch_size, seqlen_k) else: dkv_pad_fn = lambda dkv_unpad: rearrange(dkv_unpad, '(b s) t h d -> b s t h d', b=batch_size) return (q_unpad.detach().requires_grad_(), kv_unpad.detach().requires_grad_(), @@ -109,35 +95,30 @@ def generate_qkv(x, Wqkv, nheads, query_padding_mask=None, key_padding_mask=None q.detach().requires_grad_(), kv.detach().requires_grad_(), output_pad_fn, dq_pad_fn, dkv_pad_fn) else: - q, k, v = [rearrange(z, 'b s (h d) -> b s h d', h=nheads).detach().requires_grad_() - for z in [q, k, v]] dq_pad_fn = output_pad_fn if key_padding_mask is not None: - dk_pad_fn = lambda dk_unpad: rearrange( - pad_input(rearrange(dk_unpad, 'nnz h d -> nnz (h d)'), indices_k, batch_size, seqlen), - 'b s (h d) -> b s h d', h=nheads - ) + dk_pad_fn = lambda dk_unpad: pad_input(dk_unpad, indices_k, batch_size, seqlen_k) else: dk_pad_fn = lambda dk_unpad: rearrange(dk_unpad, '(b s) h d -> b s h d', b=batch_size) return (q_unpad.detach().requires_grad_(), k_unpad.detach().requires_grad_(), v_unpad.detach().requires_grad_(), cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, - q, k, v, + q.detach().requires_grad_(), k.detach().requires_grad_(), + v.detach().requires_grad_(), output_pad_fn, dq_pad_fn, dk_pad_fn) def attention_ref(q, k, v, query_padding_mask=None, key_padding_mask=None, dropout_p=0.0, - dropout_mask=None, causal=False, bias=None, upcast=True, reorder_ops=False): + dropout_mask=None, causal=False, upcast=True, reorder_ops=False): """ Arguments: q: (batch_size, seqlen_q, nheads, head_dim) - k: (batch_size, seqlen_k, nheads, head_dim) - v: (batch_size, seqlen_k, nheads, head_dim) + k: (batch_size, seqlen_k, nheads_k, head_dim) + v: (batch_size, seqlen_k, nheads_k, head_dim) query_padding_mask: (batch_size, seqlen_q) key_padding_mask: (batch_size, seqlen_k) dropout_p: float dropout_mask: (batch_size, nheads, seqlen_q, seqlen_k) - bias: (batch_size, nheads, seqlen_q, seqlen_k) upcast: whether to cast all inputs to fp32, do all computation in fp32, then cast output back to fp16/bf16. reorder_ops: whether to change the order of operations (scaling k instead of scaling k, etc.) @@ -151,13 +132,13 @@ def attention_ref(q, k, v, query_padding_mask=None, key_padding_mask=None, dropo if upcast: q, k, v = q.float(), k.float(), v.float() seqlen_q, seqlen_k = q.shape[1], k.shape[1] + k = repeat(k, "b s h d -> b s (h g) d", g=q.shape[2] // k.shape[2]) + v = repeat(v, "b s h d -> b s (h g) d", g=q.shape[2] // v.shape[2]) d = q.shape[-1] if not reorder_ops: scores = torch.einsum('bthd,bshd->bhts', q / math.sqrt(d), k) else: scores = torch.einsum('bthd,bshd->bhts', q, k / math.sqrt(d)) - if bias is not None: - scores = (scores + bias).to(dtype=scores.dtype) if key_padding_mask is not None: scores.masked_fill_(rearrange(~key_padding_mask, 'b s -> b 1 1 s'), float('-inf')) if causal: @@ -238,37 +219,40 @@ def convert_flash_attn_S_to_softmax(S, query_padding_mask, key_padding_mask, hea causal=False): """FlashAttention stores the S matrix in a different way. Arguments: - S: (batch_size, nheads, seqlen_q, seqlen_k) + S: (batch_size, nheads, seqlen_q_rounded, seqlen_k_rounded) query_padding_mask: (batch_size, seqlen_q) key_padding_mask: (batch_size, seqlen_k) """ - S_flat = rearrange(S, 'b h t s -> b h (t s)') seqlen_q, seqlen_k = S.shape[-2:] - block_size = _get_block_size(S.device, head_dim, is_dropout) - loop_steps = (seqlen_k + block_size - 1) // block_size warps_n = 4 - mmas_n = (seqlen_k // warps_n // 16) if seqlen_k <= block_size else (block_size // warps_n // 16) - S_converted = rearrange(S_flat, 'b h (loop nsteps mmas_n warps_n eight t r c0 c1) -> b h (nsteps r eight) (loop mmas_n warps_n c0 t c1)', - loop=loop_steps, nsteps=seqlen_q // 16, mmas_n=mmas_n, warps_n=warps_n, eight=8, t=4, - r=2, c0=2, c1=2) - - # Need to zero out things not in attention_mask in case S was initialized with random values - # and some of those values aren't overwritten. - seqlen_q_og = query_padding_mask.shape[-1] - if seqlen_q_og < seqlen_q: - query_padding_mask = F.pad(query_padding_mask, (0, seqlen_q - seqlen_q_og)) - else: - query_padding_mask = query_padding_mask[:, :seqlen_q] - S_converted = S_converted.masked_fill(rearrange(~query_padding_mask, 'b s -> b 1 s 1'), 0.0) - seqlen_k_og = key_padding_mask.shape[-1] - if seqlen_k_og < seqlen_k: - key_padding_mask = F.pad(key_padding_mask, (0, seqlen_k - seqlen_k_og)) - else: - key_padding_mask = key_padding_mask[:, :seqlen_k] - S_converted = S_converted.masked_fill(rearrange(~key_padding_mask, 'b s -> b 1 1 s'), 0.0) + blocksize_m, blocksize_n = _get_block_size(S.device, head_dim, is_dropout, causal) + nblocks_n = (seqlen_k + blocksize_n - 1) // blocksize_n + nblocks_m = (seqlen_q + blocksize_m - 1) // blocksize_m + mmas_n = (blocksize_n + 16 - 1) // 16 + S_flat = rearrange(S, 'b h (nblocks_m blocksize_m) (nblocks_n blocksize_n) -> b h nblocks_m nblocks_n (blocksize_m blocksize_n)', + blocksize_m=blocksize_m, blocksize_n=blocksize_n) + S_converted = rearrange(S_flat, 'b h nblocks_m nblocks_n (mmas_n mmas_m warps_n eight four c2 c1 c0) -> b h (nblocks_m mmas_m warps_n c1 eight) (nblocks_n mmas_n c2 four c0)', + mmas_n=mmas_n, warps_n=warps_n, eight=8, c0=2, c1=2, c2=2, four=4) if causal: causal_mask = torch.triu(torch.ones(seqlen_q, seqlen_k, dtype=torch.bool, device=S.device), 1) S_converted.masked_fill_(causal_mask, 0.0) + + # Need to zero out things not in attention_mask in case S was initialized with random values + # and some of those values aren't overwritten. + seqlen_q_og = query_padding_mask.shape[-1] if query_padding_mask is not None else seqlen_q + if query_padding_mask is not None: + if seqlen_q_og < seqlen_q: + query_padding_mask = F.pad(query_padding_mask, (0, seqlen_q - seqlen_q_og)) + else: + query_padding_mask = query_padding_mask[:, :seqlen_q] + S_converted = S_converted.masked_fill(rearrange(~query_padding_mask, 'b s -> b 1 s 1'), 0.0) + seqlen_k_og = key_padding_mask.shape[-1] if key_padding_mask is not None else seqlen_k + if key_padding_mask is not None: + if seqlen_k_og < seqlen_k: + key_padding_mask = F.pad(key_padding_mask, (0, seqlen_k - seqlen_k_og)) + else: + key_padding_mask = key_padding_mask[:, :seqlen_k] + S_converted = S_converted.masked_fill(rearrange(~key_padding_mask, 'b s -> b 1 1 s'), 0.0) if seqlen_q_og < seqlen_q: S_converted = S_converted[:, :, :seqlen_q_og, :] else: @@ -300,16 +284,15 @@ def normalize_flash_attn_S(attn_unnorm, q, k, v, query_padding_mask=None, key_pa if causal: causal_mask = torch.triu(torch.ones(seqlen_q, seqlen_k, dtype=torch.bool, device=q.device), 1) scores.masked_fill_(causal_mask, float('-inf')) - block_size = _get_block_size(scores.device, head_dim, is_dropout) - scores_block = scores.split(block_size, dim=-1) + _, block_size_n = _get_block_size(scores.device, head_dim, is_dropout, causal) + scores_block = scores.split(block_size_n, dim=-1) lse_block = torch.stack([torch.logsumexp(s, dim=-1) for s in scores_block], dim=-1) - lcse_block = torch.logcumsumexp(lse_block, dim=-1).unbind(dim=-1) - scores_max_block = ([torch.amax(scores_block[0], dim=-1)] - + [torch.maximum(torch.amax(s, dim=-1), lcse) - for s, lcse in zip(scores_block[1:], lcse_block[:-1])]) - attn_unnorm_block = attn_unnorm.split(block_size, dim=-1) - attn_norm = torch.cat([a / rearrange(torch.exp(lcse_block[-1] - m), 'b h s -> b h s 1') - for a, m in zip(attn_unnorm_block, scores_max_block)], dim=-1) + lse = torch.logsumexp(lse_block, dim=-1) + scores_max_block = torch.stack([torch.amax(s, dim=-1) for s in scores_block], dim=-1) + cummax_block = torch.cummax(scores_max_block.flip(-1), dim=-1).values.flip(-1).unbind(dim=-1) + attn_unnorm_block = attn_unnorm.split(block_size_n, dim=-1) + attn_norm = torch.cat([a / rearrange(torch.exp(lse - m), 'b h s -> b h s 1') + for a, m in zip(attn_unnorm_block, cummax_block)], dim=-1) if query_padding_mask is not None: attn_norm.masked_fill_(rearrange(~query_padding_mask, 'b s -> b 1 s 1'), 0.0) return attn_norm.to(dtype=attn_unnorm.dtype) @@ -350,68 +333,79 @@ def get_dropout_fraction(dropout_mask, query_padding_mask=None, key_padding_mask @pytest.mark.parametrize('dtype', ([torch.float16] if is_sm75 else [torch.float16, torch.bfloat16])) # @pytest.mark.parametrize('dtype', [torch.float16]) @pytest.mark.parametrize('causal', [False, True]) -# @pytest.mark.parametrize('causal', [False]) -@pytest.mark.parametrize('d', [128, 64, 80, 40, 32, 16]) +# @pytest.mark.parametrize('causal', [True]) +@pytest.mark.parametrize('d', [32, 40, 59, 64, 80, 96, 111, 128, 160, 192, 224, 256]) +# @pytest.mark.parametrize('d', [32, 64, 96, 128, 160, 192, 224, 256]) +# @pytest.mark.parametrize('d', [32, 64, 96, 128]) # @pytest.mark.parametrize('d', [64]) +# @pytest.mark.parametrize('seqlen', [128, 256, 384, 512, 768, 1024, 2048]) @pytest.mark.parametrize('seqlen', [97, 128, 200, 256, 257, 384, 512, 768, 1024, 1025, 2048]) -# @pytest.mark.parametrize('seqlen', [128]) +# @pytest.mark.parametrize('seqlen', [97]) @pytest.mark.parametrize('dropout_p', [0.0, 0.17]) -# @pytest.mark.parametrize('dropout_p', [0.0]) -def test_flash_attn_unpadded_qkvpacked(seqlen, d, dropout_p, causal, dtype): +# @pytest.mark.parametrize('dropout_p', [0.17]) +def test_flash_attn_qkvpacked(seqlen, d, dropout_p, causal, dtype): if seqlen >= 2048 and torch.cuda.get_device_properties('cuda').total_memory <= 16 * 2**30: pytest.skip() # Reference implementation OOM device = 'cuda' - # if dtype == torch.float16: - # rtol, atol = (1e-3, 3e-4) if not causal else (1e-3, 1e-3) - # else: # torch.bfloat16 - # rtol, atol = (3e-3, 3e-3) if not causal else (1e-3, 1e-3) # set seed torch.random.manual_seed(0) - # Set smaller batch size so it would trigger num_splits > 1 - batch_size = 8 - nheads = 4 - x = torch.randn(batch_size, seqlen, nheads * d, device=device, dtype=dtype, requires_grad=True) - Wqkv = torch.nn.Linear(nheads * d, 3 * nheads * d, device=device, dtype=dtype) - - key_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='random') - # key_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='full') - - qkv_unpad, cu_seqlens, max_seqlen, qkv, output_pad_fn, dqkv_pad_fn = generate_qkv( - x, Wqkv, nheads, key_padding_mask, key_padding_mask, qkvpacked=True - ) - - output_unpad, sm_lse, S_dmask = flash_attn_unpadded_qkvpacked_func( - qkv_unpad, cu_seqlens, max_seqlen, dropout_p, return_attn_probs=True, causal=causal + batch_size = 16 + nheads = 9 + qkv = torch.randn(batch_size, seqlen, 3, nheads, d, device=device, dtype=dtype, + requires_grad=True) + out, lse, S_dmask = flash_attn_qkvpacked_func( + qkv, dropout_p, return_attn_probs=True, causal=causal ) - output = output_pad_fn(output_unpad) - S_dmask_converted = convert_flash_attn_S_to_softmax( - S_dmask, key_padding_mask, key_padding_mask, d, dropout_p > 0.0, causal=causal - ) - dropout_mask = S_dmask_converted >= 0 - attn_unnorm = S_dmask_converted.abs() - attn = normalize_flash_attn_S(attn_unnorm, qkv[:, :, 0], qkv[:, :, 1], qkv[:, :, 2], - key_padding_mask, key_padding_mask, dropout_p > 0.0, causal=causal) - dropout_fraction = get_dropout_fraction(dropout_mask, key_padding_mask, key_padding_mask, - causal=causal).item() - - output_ref, attn_ref = attention_qkvpacked_ref(qkv, key_padding_mask, dropout_p, dropout_mask, - causal=causal) - output_pt, attn_pt = attention_qkvpacked_ref(qkv, key_padding_mask, dropout_p, dropout_mask, - causal=causal, upcast=False, reorder_ops=True) - print(f'Actual dropout fraction: {dropout_fraction}') - print(f'Output max diff: {(output - output_ref).abs().max().item()}') - print(f'Output mean diff: {(output - output_ref).abs().mean().item()}') - print(f'Pytorch max diff: {(output_pt - output_ref).abs().max().item()}') - print(f'Pytorch mean diff: {(output_pt - output_ref).abs().mean().item()}') - print(f'Attention max diff: {(attn - attn_ref).abs().max().item()}') - print(f'Attention Pytorch max diff: {(attn_pt - attn_ref).abs().max().item()}') - - if is_sm80 or d <= 64: # Only run backward for d=128 on A100 - g = torch.randn_like(output) - dqkv_unpad, = torch.autograd.grad(output, qkv_unpad, g) - dqkv = dqkv_pad_fn(dqkv_unpad) - dqkv_ref, = torch.autograd.grad(output_ref, qkv, g) - dqkv_pt, = torch.autograd.grad(output_pt, qkv, g) + if dropout_p > 0.0: + S_dmask_converted = convert_flash_attn_S_to_softmax( + S_dmask, None, None, d, dropout_p > 0.0, causal=causal + )[:, :, :seqlen, :seqlen] + dropout_mask = S_dmask_converted >= 0 + attn_unnorm = S_dmask_converted.abs() + attn = normalize_flash_attn_S(attn_unnorm, qkv[:, :, 0], qkv[:, :, 1], qkv[:, :, 2], + None, None, dropout_p > 0.0, causal=causal) + dropout_fraction = get_dropout_fraction(dropout_mask, None, None, causal=causal).item() + print(f'Actual dropout fraction: {dropout_fraction}') + else: + dropout_mask = None + + out_ref, attn_ref = attention_qkvpacked_ref(qkv, None, dropout_p, dropout_mask, causal=causal) + out_pt, attn_pt = attention_qkvpacked_ref(qkv, None, dropout_p, dropout_mask, causal=causal, + upcast=False, reorder_ops=True) + # v = qkv[:, :, 2].float() + # qk = torch.einsum('bshd,bthd->bhst', qkv[:, :, 0], qkv[:, :, 1]).float() + # if causal: + # causal_mask = torch.triu(torch.ones(seqlen, seqlen, dtype=torch.bool, device=qkv.device), 1) + # qk.masked_fill_(causal_mask, float('-inf')) + # m = qk.amax(-1, keepdim=True) + # s_tmp = torch.exp((qk - m) / math.sqrt(d)) + # p_tmp = torch.softmax(qk / math.sqrt(d), -1) + # p_dropped = p_tmp if dropout_mask is None else p_tmp.masked_fill(~dropout_mask, 0) + # lse_ref = torch.logsumexp(qk / math.sqrt(d), -1) + # qk_max1 = torch.max(qk[:, :, 128:, 192:], -1, keepdim=True).values + # qk_max2 = torch.max(qk[:, :, 128:, 128:], -1, keepdim=True).values + # qk_max3 = torch.max(qk[:, :, 128:, 64:], -1, keepdim=True).values + # qk_max4 = torch.max(qk[:, :, 128:, :], -1, keepdim=True).values + # o1 = torch.einsum('bhst,bthd->bshd', torch.exp((qk[:, :, 128:, 192:] - qk_max1) / math.sqrt(d)), v[:, 192:]) + # o2 = torch.einsum('bhst,bthd->bshd', torch.exp((qk[:, :, 128:, 128:] - qk_max2) / math.sqrt(d)), v[:, 128:]) + # o3 = torch.einsum('bhst,bthd->bshd', torch.exp((qk[:, :, 128:, 64:] - qk_max3) / math.sqrt(d)), v[:, 64:]) + # o4 = torch.einsum('bhst,bthd->bshd', torch.exp((qk[:, :, 128:, :] - qk_max4) / math.sqrt(d)), v[:, :]) + print(f'Output max diff: {(out - out_ref).abs().max().item()}') + print(f'Output mean diff: {(out - out_ref).abs().mean().item()}') + print(f'Pytorch max diff: {(out_pt - out_ref).abs().max().item()}') + print(f'Pytorch mean diff: {(out_pt - out_ref).abs().mean().item()}') + if dropout_p > 0.0: + print(f'Attention max diff: {(attn - attn_ref).abs().max().item()}') + print(f'Attention Pytorch max diff: {(attn_pt - attn_ref).abs().max().item()}') + + g = torch.randn_like(out) + # do_o = (g.float() * out.float()).sum(-1) + # dv_tmp = torch.einsum('bhts,bthd->bshd', attn_pt[:, :, :64], g[:, :64]) + # dv_tmp1 = torch.einsum('bhts,bthd->bshd', attn_pt[:, :, 64:], g[:, 64:]) + if d <= MAX_HEADDIM_SM8x or (is_sm80 or is_sm90): + dqkv, = torch.autograd.grad(out, qkv, g) + dqkv_ref, = torch.autograd.grad(out_ref, qkv, g) + dqkv_pt, = torch.autograd.grad(out_pt, qkv, g) print(f'dQ max diff: {(dqkv[:, :, 0] - dqkv_ref[:, :, 0]).abs().max().item()}') print(f'dK max diff: {(dqkv[:, :, 1] - dqkv_ref[:, :, 1]).abs().max().item()}') print(f'dV max diff: {(dqkv[:, :, 2] - dqkv_ref[:, :, 2]).abs().max().item()}') @@ -423,584 +417,411 @@ def test_flash_attn_unpadded_qkvpacked(seqlen, d, dropout_p, causal, dtype): # Check that FlashAttention's numerical error is at most twice the numerical error # of a Pytorch implementation. - assert (output - output_ref).abs().max().item() <= 2 * (output_pt - output_ref).abs().max().item() - # assert torch.allclose(output, output_ref, rtol=rtol, atol=atol) - assert (attn - attn_ref).abs().max().item() <= 2 * (attn_pt - attn_ref).abs().max().item() - # assert torch.allclose(attn, attn_ref, rtol=rtol, atol=atol) - if dropout_p == 0.0: - assert dropout_mask.all() - else: - assert 0.98 <= dropout_fraction / dropout_p <= 1.02 + assert (out - out_ref).abs().max().item() <= 2 * (out_pt - out_ref).abs().max().item() + + if dropout_p > 0.0: + assert (attn - attn_ref).abs().max().item() <= 2 * (attn_pt - attn_ref).abs().max().item() + assert abs(dropout_fraction - dropout_p) <= 0.01 + + if d <= MAX_HEADDIM_SM8x or (is_sm80 or is_sm90): + assert (dqkv - dqkv_ref).abs().max().item() <= 2 * (dqkv_pt - dqkv_ref).abs().max().item() - if is_sm80 or d <= 64: # Only run backward for d=128 on A100 - # Error for dK and dV could be a bit higher if we're splitting along seqlen_q dimension - assert (dqkv - dqkv_ref).abs().max().item() <= 4 * (dqkv_pt - dqkv_ref).abs().max().item() - # assert torch.allclose(dqkv, dqkv_ref, rtol=rtol, atol=atol) @pytest.mark.parametrize('dtype', ([torch.float16] if is_sm75 else [torch.float16, torch.bfloat16])) # @pytest.mark.parametrize('dtype', [torch.float16]) @pytest.mark.parametrize('causal', [False, True]) -@pytest.mark.parametrize('d', [128, 64, 80, 40, 32, 16]) +# @pytest.mark.parametrize('causal', [False]) +@pytest.mark.parametrize('d', [32, 40, 59, 64, 80, 96, 111, 128, 160, 192, 224, 256]) # @pytest.mark.parametrize('d', [64]) @pytest.mark.parametrize('seqlen', [97, 128, 200, 256, 257, 384, 512, 768, 1024, 1025, 2048]) # @pytest.mark.parametrize('seqlen', [128]) @pytest.mark.parametrize('dropout_p', [0.0, 0.17]) # @pytest.mark.parametrize('dropout_p', [0.0]) -def test_flash_attn_unpadded_kvpacked(seqlen, d, dropout_p, causal, dtype): +def test_flash_attn_varlen_qkvpacked(seqlen, d, dropout_p, causal, dtype): if seqlen >= 2048 and torch.cuda.get_device_properties('cuda').total_memory <= 16 * 2**30: pytest.skip() # Reference implementation OOM device = 'cuda' - # if dtype == torch.float16: - # rtol, atol = (1e-3, 3e-4) if not causal else (1e-3, 1e-3) - # else: # torch.bfloat16 - # rtol, atol = (3e-3, 3e-3) if not causal else (1e-3, 1e-3) # set seed torch.random.manual_seed(0) - batch_size = 32 - nheads = 4 - x = torch.randn(batch_size, seqlen, nheads * d, device=device, dtype=dtype, requires_grad=True) - Wqkv = torch.nn.Linear(nheads * d, 3 * nheads * d, device=device, dtype=dtype) + batch_size = 5 + nheads = 6 + qkv = torch.randn(batch_size, seqlen, 3, nheads, d, device=device, dtype=dtype, + requires_grad=True) - query_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='random') key_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='random') + # key_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='full') - (q_unpad, kv_unpad, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, q, kv, - output_pad_fn, dq_pad_fn, dkv_pad_fn) = generate_qkv( - x, Wqkv, nheads, query_padding_mask, key_padding_mask, kvpacked=True - ) - - output_unpad, sm_lse, S_dmask = flash_attn_unpadded_kvpacked_func( - q_unpad, kv_unpad, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, - dropout_p, return_attn_probs=True, causal=causal + qkv_unpad, cu_seqlens, max_seqlen, qkv, output_pad_fn, dqkv_pad_fn = generate_qkv( + *qkv.unbind(dim=2), key_padding_mask, key_padding_mask, qkvpacked=True ) - output = output_pad_fn(output_unpad) - S_dmask_converted = convert_flash_attn_S_to_softmax( - S_dmask, query_padding_mask, key_padding_mask, d, dropout_p > 0.0, causal=causal + + out_unpad, sm_lse, S_dmask = flash_attn_varlen_qkvpacked_func( + qkv_unpad, cu_seqlens, max_seqlen, dropout_p, return_attn_probs=True, causal=causal ) - dropout_mask = S_dmask_converted >= 0 - attn_unnorm = S_dmask_converted.abs() - attn = normalize_flash_attn_S(attn_unnorm, q, kv[:, :, 0], kv[:, :, 1], - query_padding_mask, key_padding_mask, dropout_p > 0.0, causal=causal) - dropout_fraction = get_dropout_fraction(dropout_mask, query_padding_mask, key_padding_mask, - causal=causal) - - output_ref, attn_ref = attention_kvpacked_ref(q, kv, query_padding_mask, key_padding_mask, - dropout_p, dropout_mask, causal=causal) - output_pt, attn_pt = attention_kvpacked_ref(q, kv, query_padding_mask, key_padding_mask, - dropout_p, dropout_mask, causal=causal, - upcast=False, reorder_ops=True) - print(f'Actual dropout fraction: {dropout_fraction}') - print(f'Output max diff: {(output - output_ref).abs().max().item()}') - print(f'Output mean diff: {(output - output_ref).abs().mean().item()}') - print(f'Pytorch max diff: {(output_pt - output_ref).abs().max().item()}') - print(f'Pytorch mean diff: {(output_pt - output_ref).abs().mean().item()}') - print(f'Attention max diff: {(attn - attn_ref).abs().max().item()}') - print(f'Attention Pytorch max diff: {(attn_pt - attn_ref).abs().max().item()}') - - if is_sm80 or d <= 64: # Only run backward for d=128 on A100 - g = torch.randn_like(output) - dq_unpad, dkv_unpad, = torch.autograd.grad(output, (q_unpad, kv_unpad), g) - dq = dq_pad_fn(dq_unpad) - dkv = dkv_pad_fn(dkv_unpad) - dq_ref, dkv_ref, = torch.autograd.grad(output_ref, (q, kv), g) - dq_pt, dkv_pt = torch.autograd.grad(output_pt, (q, kv), g) - print(f'dQ max diff: {(dq - dq_ref).abs().max().item()}') - print(f'dK max diff: {(dkv[:, :, 0] - dkv_ref[:, :, 0]).abs().max().item()}') - print(f'dV max diff: {(dkv[:, :, 1] - dkv_ref[:, :, 1]).abs().max().item()}') - print(f'dQ Pytorch max diff: {(dq_pt - dq_ref).abs().max().item()}') - print(f'dK Pytorch max diff: {(dkv_pt[:, :, 0] - dkv_ref[:, :, 0]).abs().max().item()}') - print(f'dV Pytorch max diff: {(dkv_pt[:, :, 1] - dkv_ref[:, :, 1]).abs().max().item()}') + out = output_pad_fn(out_unpad) + if dropout_p > 0.0: + S_dmask_converted = convert_flash_attn_S_to_softmax( + S_dmask, key_padding_mask, key_padding_mask, d, dropout_p > 0.0, causal=causal + )[:, :, :seqlen, :seqlen] + dropout_mask = S_dmask_converted >= 0 + attn_unnorm = S_dmask_converted.abs() + attn = normalize_flash_attn_S(attn_unnorm, qkv[:, :, 0], qkv[:, :, 1], qkv[:, :, 2], + key_padding_mask, key_padding_mask, dropout_p > 0.0, + causal=causal) + dropout_fraction = get_dropout_fraction(dropout_mask, key_padding_mask, key_padding_mask, + causal=causal).item() + print(f'Actual dropout fraction: {dropout_fraction}') + else: + dropout_mask = None + + out_ref, attn_ref = attention_qkvpacked_ref(qkv, key_padding_mask, dropout_p, dropout_mask, + causal=causal) + out_pt, attn_pt = attention_qkvpacked_ref(qkv, key_padding_mask, dropout_p, dropout_mask, + causal=causal, upcast=False, reorder_ops=True) + print(f'Output max diff: {(out - out_ref).abs().max().item()}') + print(f'Output mean diff: {(out - out_ref).abs().mean().item()}') + print(f'Pytorch max diff: {(out_pt - out_ref).abs().max().item()}') + print(f'Pytorch mean diff: {(out_pt - out_ref).abs().mean().item()}') + if dropout_p > 0.0: + print(f'Attention max diff: {(attn - attn_ref).abs().max().item()}') + print(f'Attention Pytorch max diff: {(attn_pt - attn_ref).abs().max().item()}') + + g = torch.randn_like(out) + if d <= MAX_HEADDIM_SM8x or (is_sm80 or is_sm90): + dqkv_unpad, = torch.autograd.grad(out, qkv_unpad, g) + dqkv = dqkv_pad_fn(dqkv_unpad) + dqkv_ref, = torch.autograd.grad(out_ref, qkv, g) + dqkv_pt, = torch.autograd.grad(out_pt, qkv, g) + print(f'dQ max diff: {(dqkv[:, :, 0] - dqkv_ref[:, :, 0]).abs().max().item()}') + print(f'dK max diff: {(dqkv[:, :, 1] - dqkv_ref[:, :, 1]).abs().max().item()}') + print(f'dV max diff: {(dqkv[:, :, 2] - dqkv_ref[:, :, 2]).abs().max().item()}') + print(f'dQKV mean diff: {(dqkv - dqkv_ref).abs().mean().item()}') + print(f'dQ Pytorch max diff: {(dqkv_pt[:, :, 0] - dqkv_ref[:, :, 0]).abs().max().item()}') + print(f'dK Pytorch max diff: {(dqkv_pt[:, :, 1] - dqkv_ref[:, :, 1]).abs().max().item()}') + print(f'dV Pytorch max diff: {(dqkv_pt[:, :, 2] - dqkv_ref[:, :, 2]).abs().max().item()}') + print(f'dQKV Pytorch mean diff: {(dqkv_pt - dqkv_ref).abs().mean().item()}') # Check that FlashAttention's numerical error is at most twice the numerical error # of a Pytorch implementation. - assert (output - output_ref).abs().max().item() <= 2 * (output_pt - output_ref).abs().max().item() - # assert torch.allclose(output, output_ref, rtol=rtol, atol=atol) - assert (attn - attn_ref).abs().max().item() <= 2 * (attn_pt - attn_ref).abs().max().item() - # assert torch.allclose(attn, attn_ref, rtol=rtol, atol=atol) - if dropout_p == 0.0: - assert dropout_mask.all() - else: - assert 0.99 <= dropout_fraction / dropout_p <= 1.01 + assert (out - out_ref).abs().max().item() <= 2 * (out_pt - out_ref).abs().max().item() - if is_sm80 or d <= 64: # Only run backward for d=128 on A100 - assert (dq - dq_ref).abs().max().item() <= 2 * (dq_pt - dq_ref).abs().max().item() - assert (dkv - dkv_ref).abs().max().item() <= 2 * (dkv_pt - dkv_ref).abs().max().item() - # assert torch.allclose(dq, dq_ref, rtol=rtol, atol=atol) - # assert torch.allclose(dkv, dkv_ref, rtol=rtol, atol=atol) + if dropout_p > 0.0: + assert (attn - attn_ref).abs().max().item() <= 2 * (attn_pt - attn_ref).abs().max().item() + assert abs(dropout_fraction - dropout_p) <= 0.01 + + if d <= MAX_HEADDIM_SM8x or (is_sm80 or is_sm90): + assert (dqkv - dqkv_ref).abs().max().item() <= 2 * (dqkv_pt - dqkv_ref).abs().max().item() +@pytest.mark.parametrize('kvpacked', [True, False]) +# @pytest.mark.parametrize('kvpacked', [False]) @pytest.mark.parametrize('dtype', ([torch.float16] if is_sm75 else [torch.float16, torch.bfloat16])) -# @pytest.mark.parametrize('dtype', [torch.float16]) +# @pytest.mark.parametrize('dtype', [torch.bfloat16]) +@pytest.mark.parametrize('mha_type', ["mha", "mqa", "gqa"]) +# @pytest.mark.parametrize('mha_type', ["mha"]) @pytest.mark.parametrize('causal', [False, True]) -@pytest.mark.parametrize('d', [128, 64, 80, 40, 32, 16]) +# @pytest.mark.parametrize('causal', [False]) +@pytest.mark.parametrize('d', [32, 40, 59, 64, 80, 96, 111, 128, 160, 192, 224, 256]) +# @pytest.mark.parametrize('d', [32, 64, 96, 128, 160, 192, 224, 256]) +# @pytest.mark.parametrize('d', [32, 40, 64, 80, 96, 128, 160, 192]) +# @pytest.mark.parametrize('d', [32, 64, 96, 128, 160, 192]) +# @pytest.mark.parametrize('d', [56, 80]) # @pytest.mark.parametrize('d', [64]) -@pytest.mark.parametrize('seqlen', [97, 128, 200, 256, 257, 384, 512, 768, 1024, 1025, 2048]) -# @pytest.mark.parametrize('seqlen', [128]) +@pytest.mark.parametrize('seqlen_q,seqlen_k', [(113, 203), (128, 217), (113, 211), (108, 256), (256, 512), (512, 256), (1024, 1024), (1023, 1024), (1024, 1023), (2048, 2048)]) +# @pytest.mark.parametrize('seqlen_q,seqlen_k', [(128, 128)]) @pytest.mark.parametrize('dropout_p', [0.0, 0.17]) # @pytest.mark.parametrize('dropout_p', [0.0]) -def test_flash_attn_unpadded(seqlen, d, dropout_p, causal, dtype): - if seqlen >= 2048 and torch.cuda.get_device_properties('cuda').total_memory <= 16 * 2**30: +def test_flash_attn_output(seqlen_q, seqlen_k, d, dropout_p, causal, mha_type, dtype, kvpacked): + if max(seqlen_q, seqlen_k) >= 2048 and torch.cuda.get_device_properties('cuda').total_memory <= 16 * 2**30: pytest.skip() # Reference implementation OOM device = 'cuda' - # if dtype == torch.float16: - # rtol, atol = (1e-3, 3e-4) if not causal else (1e-3, 1e-3) - # else: # torch.bfloat16 - # rtol, atol = (3e-3, 3e-3) if not causal else (1e-3, 1e-3) # set seed torch.random.manual_seed(0) - batch_size = 32 - nheads = 4 - x = torch.randn(batch_size, seqlen, nheads * d, device=device, dtype=dtype, requires_grad=True) - Wqkv = torch.nn.Linear(nheads * d, 3 * nheads * d, device=device, dtype=dtype) - - query_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='random') - key_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='random') - - (q_unpad, k_unpad, v_unpad, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, q, k, v, - output_pad_fn, dq_pad_fn, dk_pad_fn) = generate_qkv( - x, Wqkv, nheads, query_padding_mask, key_padding_mask - ) + batch_size = 16 + nheads = 9 + nheads_k = nheads if mha_type == "mha" else (1 if mha_type == "mqa" else 3) + assert nheads % nheads_k == 0 + q = torch.randn(batch_size, seqlen_q, nheads, d, device=device, dtype=dtype, requires_grad=True) + if kvpacked: + kv = torch.randn(batch_size, seqlen_k, 2, nheads_k, d, device=device, dtype=dtype, + requires_grad=True) + else: + k = torch.randn(batch_size, seqlen_k, nheads_k, d, device=device, dtype=dtype, + requires_grad=True) + v = torch.randn(batch_size, seqlen_k, nheads_k, d, device=device, dtype=dtype, + requires_grad=True) + + if kvpacked: + out, lse, S_dmask = flash_attn_kvpacked_func( + q, kv, dropout_p, return_attn_probs=True, causal=causal + ) + else: + out, lse, S_dmask = flash_attn_func( + q, k, v, dropout_p, return_attn_probs=True, causal=causal + ) + if dropout_p > 0.0: + S_dmask_converted = convert_flash_attn_S_to_softmax( + S_dmask, None, None, d, dropout_p > 0.0, causal=causal + )[:, :, :seqlen_q, :seqlen_k] + dropout_mask = S_dmask_converted >= 0 + attn_unnorm = S_dmask_converted.abs() + if kvpacked: + kv_rep = repeat(kv, "b s two h d -> b s two (h g) d", g=nheads // nheads_k) + k_rep, v_rep = kv_rep.unbind(dim=2) + else: + k_rep = repeat(k, "b s h d -> b s (h g) d", g=nheads // nheads_k) + v_rep = repeat(v, "b s h d -> b s (h g) d", g=nheads // nheads_k) + attn = normalize_flash_attn_S(attn_unnorm, q, k_rep, v_rep, + None, None, dropout_p > 0.0, causal=causal) + dropout_fraction = get_dropout_fraction(dropout_mask, None, None, causal=causal).item() + print(f'Actual dropout fraction: {dropout_fraction}') + else: + dropout_mask = None - output_unpad, sm_lse, S_dmask = flash_attn_unpadded_func( - q_unpad, k_unpad, v_unpad, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, - dropout_p, return_attn_probs=True, causal=causal - ) - output = output_pad_fn(output_unpad) - S_dmask_converted = convert_flash_attn_S_to_softmax( - S_dmask, query_padding_mask, key_padding_mask, d, dropout_p > 0.0, causal=causal - ) - dropout_mask = S_dmask_converted >= 0 - attn_unnorm = S_dmask_converted.abs() - attn = normalize_flash_attn_S(attn_unnorm, q, k, v, query_padding_mask, key_padding_mask, - dropout_p > 0.0, causal=causal) - dropout_fraction = get_dropout_fraction(dropout_mask, query_padding_mask, key_padding_mask, - causal=causal) - - output_ref, attn_ref = attention_ref(q, k, v, query_padding_mask, key_padding_mask, - dropout_p, dropout_mask, causal=causal) - output_pt, attn_pt = attention_ref(q, k, v, query_padding_mask, key_padding_mask, - dropout_p, dropout_mask, causal=causal, - upcast=False, reorder_ops=True) - print(f'Actual dropout fraction: {dropout_fraction}') - print(f'Output max diff: {(output - output_ref).abs().max().item()}') - print(f'Output mean diff: {(output - output_ref).abs().mean().item()}') - print(f'Pytorch max diff: {(output_pt - output_ref).abs().max().item()}') - print(f'Pytorch mean diff: {(output_pt - output_ref).abs().mean().item()}') - print(f'Attention max diff: {(attn - attn_ref).abs().max().item()}') - print(f'Attention Pytorch max diff: {(attn_pt - attn_ref).abs().max().item()}') - - if is_sm80 or d <= 64: # Only run backward for d=128 on A100 - g = torch.randn_like(output) - dq_unpad, dk_unpad, dv_unpad, = torch.autograd.grad(output, (q_unpad, k_unpad, v_unpad), g) - dq = dq_pad_fn(dq_unpad) - dk = dk_pad_fn(dk_unpad) - dv = dk_pad_fn(dv_unpad) - dq_ref, dk_ref, dv_ref, = torch.autograd.grad(output_ref, (q, k, v), g) - dq_pt, dk_pt, dv_pt, = torch.autograd.grad(output_pt, (q, k, v), g) + if kvpacked: + out_ref, attn_ref = attention_kvpacked_ref(q, kv, None, None, dropout_p, dropout_mask, + causal=causal) + out_pt, attn_pt = attention_kvpacked_ref(q, kv, None, None, dropout_p, dropout_mask, + causal=causal, upcast=False, reorder_ops=True) + else: + out_ref, attn_ref = attention_ref(q, k, v, None, None, dropout_p, dropout_mask, + causal=causal) + out_pt, attn_pt = attention_ref(q, k, v, None, None, dropout_p, dropout_mask, + causal=causal, upcast=False, reorder_ops=True) + + print(f'Output max diff: {(out - out_ref).abs().max().item()}') + print(f'Output mean diff: {(out - out_ref).abs().mean().item()}') + print(f'Pytorch max diff: {(out_pt - out_ref).abs().max().item()}') + print(f'Pytorch mean diff: {(out_pt - out_ref).abs().mean().item()}') + if dropout_p > 0.0: + print(f'Attention max diff: {(attn - attn_ref).abs().max().item()}') + print(f'Attention Pytorch max diff: {(attn_pt - attn_ref).abs().max().item()}') + + g = torch.randn_like(out) + do_o = (g.float() * out.float()).sum(-1) + if d <= MAX_HEADDIM_SM8x or (is_sm80 or is_sm90): + if kvpacked: + dq, dkv, = torch.autograd.grad(out, (q, kv), g) + dk, dv = dkv.unbind(2) + dq_ref, dkv_ref, = torch.autograd.grad(out_ref, (q, kv), g) + dk_ref, dv_ref = dkv_ref.unbind(2) + dq_pt, dkv_pt, = torch.autograd.grad(out_pt, (q, kv), g) + dk_pt, dv_pt = dkv_pt.unbind(2) + else: + dq, dk, dv, = torch.autograd.grad(out, (q, k, v), g) + dq_ref, dk_ref, dv_ref, = torch.autograd.grad(out_ref, (q, k, v), g) + dq_pt, dk_pt, dv_pt, = torch.autograd.grad(out_pt, (q, k, v), g) print(f'dQ max diff: {(dq - dq_ref).abs().max().item()}') print(f'dK max diff: {(dk - dk_ref).abs().max().item()}') print(f'dV max diff: {(dv - dv_ref).abs().max().item()}') + print(f'dQ mean diff: {(dq - dq_ref).abs().mean().item()}') + print(f'dK mean diff: {(dk - dk_ref).abs().mean().item()}') + print(f'dV mean diff: {(dv - dv_ref).abs().mean().item()}') print(f'dQ Pytorch max diff: {(dq_pt - dq_ref).abs().max().item()}') print(f'dK Pytorch max diff: {(dk_pt - dk_ref).abs().max().item()}') print(f'dV Pytorch max diff: {(dv_pt - dv_ref).abs().max().item()}') + print(f'dQ Pytorch mean diff: {(dq_pt - dq_ref).abs().mean().item()}') + print(f'dK Pytorch mean diff: {(dk_pt - dk_ref).abs().mean().item()}') + print(f'dV Pytorch mean diff: {(dv_pt - dv_ref).abs().mean().item()}') # Check that FlashAttention's numerical error is at most twice the numerical error # of a Pytorch implementation. - assert (output - output_ref).abs().max().item() <= 2 * (output_pt - output_ref).abs().max().item() - # assert torch.allclose(output, output_ref, rtol=rtol, atol=atol) - assert (attn - attn_ref).abs().max().item() <= 2 * (attn_pt - attn_ref).abs().max().item() - # assert torch.allclose(attn, attn_ref, rtol=rtol, atol=atol) - if dropout_p == 0.0: - assert dropout_mask.all() - else: - assert 0.99 <= dropout_fraction / dropout_p <= 1.01 + assert (out - out_ref).abs().max().item() <= 2 * (out_pt - out_ref).abs().max().item() + + if dropout_p > 0.0: + assert (attn - attn_ref).abs().max().item() <= 2 * (attn_pt - attn_ref).abs().max().item() + assert abs(dropout_fraction - dropout_p) <= 0.01 - if is_sm80 or d <= 64: # Only run backward for d=128 on A100 + if d <= MAX_HEADDIM_SM8x or (is_sm80 or is_sm90): assert (dq - dq_ref).abs().max().item() <= 2 * (dq_pt - dq_ref).abs().max().item() assert (dk - dk_ref).abs().max().item() <= 2 * (dk_pt - dk_ref).abs().max().item() assert (dv - dv_ref).abs().max().item() <= 2 * (dv_pt - dv_ref).abs().max().item() - # assert torch.allclose(dq, dq_ref, rtol=rtol, atol=atol) - # assert torch.allclose(dk, dk_ref, rtol=rtol, atol=atol) - # assert torch.allclose(dv, dv_ref, rtol=rtol, atol=atol) -@pytest.mark.skipif(True, reason='Experimental, not being used') +@pytest.mark.parametrize('kvpacked', [True, False]) +# @pytest.mark.parametrize('kvpacked', [False]) @pytest.mark.parametrize('dtype', ([torch.float16] if is_sm75 else [torch.float16, torch.bfloat16])) # @pytest.mark.parametrize('dtype', [torch.float16]) +@pytest.mark.parametrize('mha_type', ["mha", "mqa", "gqa"]) +# @pytest.mark.parametrize('mha_type', ["mqa"]) @pytest.mark.parametrize('causal', [False, True]) -# @pytest.mark.parametrize('causal', [False]) -@pytest.mark.parametrize('d', [128, 64, 80, 40, 32, 16]) +# @pytest.mark.parametrize('causal', [True]) +@pytest.mark.parametrize('d', [32, 40, 59, 64, 80, 96, 111, 128, 160, 192, 224, 256]) +# @pytest.mark.parametrize('d', [32, 64, 96, 128, 160, 192, 224, 256]) # @pytest.mark.parametrize('d', [64]) -@pytest.mark.parametrize('seqlen', [512]) +@pytest.mark.parametrize('seqlen_q,seqlen_k', [(113, 203), (128, 217), (113, 211), (108, 256), (256, 512), (512, 256), (1024, 1024), (1023, 1024), (1024, 1023), (2048, 2048)]) +# @pytest.mark.parametrize('seqlen_q,seqlen_k', [(128, 128)]) @pytest.mark.parametrize('dropout_p', [0.0, 0.17]) # @pytest.mark.parametrize('dropout_p', [0.0]) -def test_flash_attn_split(seqlen, d, dropout_p, causal, dtype): - if seqlen >= 2048 and torch.cuda.get_device_properties('cuda').total_memory <= 16 * 2**30: +def test_flash_attn_varlen_output(seqlen_q, seqlen_k, d, dropout_p, causal, mha_type, dtype, + kvpacked): + if max(seqlen_q, seqlen_k) >= 2048 and torch.cuda.get_device_properties('cuda').total_memory <= 16 * 2**30: pytest.skip() # Reference implementation OOM device = 'cuda' - # if dtype == torch.float16: - # rtol, atol = (1e-3, 3e-4) if not causal else (1e-3, 1e-3) - # else: # torch.bfloat16 - # rtol, atol = (3e-3, 3e-3) if not causal else (1e-3, 1e-3) # set seed torch.random.manual_seed(0) - batch_size = 32 - nheads = 4 - x = torch.randn(batch_size, seqlen, nheads * d, device=device, dtype=dtype, requires_grad=True) - Wqkv = torch.nn.Linear(nheads * d, 3 * nheads * d, device=device, dtype=dtype) - - key_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='split') - batch_size0 = batch_size // 4 * 3 # this must match what's in generate_random_padding_mask - # key_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='full') - - qkv_unpad, cu_seqlens, max_seqlen0, qkv, output_pad_fn, dqkv_pad_fn = generate_qkv( - x, Wqkv, nheads, key_padding_mask, key_padding_mask, qkvpacked=True - ) - max_seqlen1 = 128 - - output_unpad, sm_lse, S_dmask0, S_dmask1 = flash_attn_unpadded_qkvpacked_split_func( - qkv_unpad, cu_seqlens, max_seqlen0, max_seqlen1, batch_size0, dropout_p, - return_attn_probs=True, causal=causal - ) - output = output_pad_fn(output_unpad) - S_dmask0_converted = convert_flash_attn_S_to_softmax( - S_dmask0, key_padding_mask[:batch_size0], key_padding_mask[:batch_size0], d, dropout_p > 0.0, causal=causal - ) - S_dmask1_converted = convert_flash_attn_S_to_softmax( - S_dmask1, key_padding_mask[batch_size0:, :max_seqlen1], key_padding_mask[batch_size0:, :max_seqlen1], d, dropout_p > 0.0, causal=causal - ) - padding = (S_dmask0_converted.shape[-1] - S_dmask1_converted.shape[-1], - S_dmask0_converted.shape[-2] - S_dmask1_converted.shape[-2]) - S_dmask_converted = torch.cat([S_dmask0_converted, - F.pad(S_dmask1_converted, (0, padding[0], 0, padding[1]))], dim=0) - dropout_mask = S_dmask_converted >= 0 - attn_unnorm = S_dmask_converted.abs() - attn = normalize_flash_attn_S(attn_unnorm, qkv[:, :, 0], qkv[:, :, 1], qkv[:, :, 2], - key_padding_mask, key_padding_mask, dropout_p > 0.0, causal=causal) - dropout_fraction = get_dropout_fraction(dropout_mask, key_padding_mask, key_padding_mask, - causal=causal).item() - - output_ref, attn_ref = attention_qkvpacked_ref(qkv, key_padding_mask, dropout_p, dropout_mask, - causal=causal) - output_pt, attn_pt = attention_qkvpacked_ref(qkv, key_padding_mask, dropout_p, dropout_mask, - causal=causal, upcast=False, reorder_ops=True) - print(f'Actual dropout fraction: {dropout_fraction}') - print(f'Output max diff: {(output - output_ref).abs().max().item()}') - print(f'Output mean diff: {(output - output_ref).abs().mean().item()}') - print(f'Pytorch max diff: {(output_pt - output_ref).abs().max().item()}') - print(f'Pytorch mean diff: {(output_pt - output_ref).abs().mean().item()}') - print(f'Attention max diff: {(attn - attn_ref).abs().max().item()}') - print(f'Attention Pytorch max diff: {(attn_pt - attn_ref).abs().max().item()}') - - if is_sm80 or d <= 64: # Only run backward for d=128 on A100 - g = torch.randn_like(output) - dqkv_unpad, = torch.autograd.grad(output, qkv_unpad, g) - dqkv = dqkv_pad_fn(dqkv_unpad) - dqkv_ref, = torch.autograd.grad(output_ref, qkv, g) - dqkv_pt, = torch.autograd.grad(output_pt, qkv, g) - print(f'dQ max diff: {(dqkv[:, :, 0] - dqkv_ref[:, :, 0]).abs().max().item()}') - print(f'dK max diff: {(dqkv[:, :, 1] - dqkv_ref[:, :, 1]).abs().max().item()}') - print(f'dV max diff: {(dqkv[:, :, 2] - dqkv_ref[:, :, 2]).abs().max().item()}') - print(f'dQKV mean diff: {(dqkv - dqkv_ref).abs().mean().item()}') - print(f'dQ Pytorch max diff: {(dqkv_pt[:, :, 0] - dqkv_ref[:, :, 0]).abs().max().item()}') - print(f'dK Pytorch max diff: {(dqkv_pt[:, :, 1] - dqkv_ref[:, :, 1]).abs().max().item()}') - print(f'dV Pytorch max diff: {(dqkv_pt[:, :, 2] - dqkv_ref[:, :, 2]).abs().max().item()}') - print(f'dQKV Pytorch mean diff: {(dqkv_pt - dqkv_ref).abs().mean().item()}') - - # Check that FlashAttention's numerical error is at most twice the numerical error - # of a Pytorch implementation. - assert (output - output_ref).abs().max().item() <= 2 * (output_pt - output_ref).abs().max().item() - # assert torch.allclose(output, output_ref, rtol=rtol, atol=atol) - assert (attn - attn_ref).abs().max().item() <= 2 * (attn_pt - attn_ref).abs().max().item() - # assert torch.allclose(attn, attn_ref, rtol=rtol, atol=atol) - if dropout_p == 0.0: - assert dropout_mask.all() + batch_size = 16 + nheads = 9 + nheads_k = nheads if mha_type == "mha" else (1 if mha_type == "mqa" else 3) + assert nheads % nheads_k == 0 + q = torch.randn(batch_size, seqlen_q, nheads, d, device=device, dtype=dtype, requires_grad=True) + if kvpacked: + kv = torch.randn(batch_size, seqlen_k, 2, nheads_k, d, device=device, dtype=dtype, + requires_grad=True) else: - assert 0.99 <= dropout_fraction / dropout_p <= 1.01 - - if is_sm80 or d <= 64: # Only run backward for d=128 on A100 - assert (dqkv - dqkv_ref).abs().max().item() <= 2 * (dqkv_pt - dqkv_ref).abs().max().item() - # assert torch.allclose(dqkv, dqkv_ref, rtol=rtol, atol=atol) - - -@pytest.mark.parametrize('dtype', ([torch.float16] if is_sm75 else [torch.float16, torch.bfloat16])) -# @pytest.mark.parametrize('dtype', [torch.float16]) -@pytest.mark.parametrize('causal', [False, True]) -@pytest.mark.parametrize('d', [128, 64, 80, 40, 32, 16]) -# @pytest.mark.parametrize('d', [64]) -@pytest.mark.parametrize('seqlen', [97, 128, 200, 256, 257, 384, 512, 768, 1024, 1025, 2048]) -# @pytest.mark.parametrize('seqlen', [128]) -@pytest.mark.parametrize('dropout_p', [0.0, 0.17]) -# @pytest.mark.parametrize('dropout_p', [0.0]) -def test_flash_attn_race_condition(seqlen, d, dropout_p, causal, dtype): - if seqlen >= 2048 and torch.cuda.get_device_properties('cuda').total_memory <= 16 * 2**30: - pytest.skip() # Reference implementation OOM - device = 'cuda' - # set seed - torch.random.manual_seed(0) - batch_size = 32 - nheads = 4 - x = torch.randn(batch_size, seqlen, nheads * d, device=device, dtype=dtype, requires_grad=True) - Wqkv = torch.nn.Linear(nheads * d, 3 * nheads * d, device=device, dtype=dtype) - - query_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='random') - key_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='random') - - (q_unpad, k_unpad, v_unpad, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, q, k, v, - output_pad_fn, dq_pad_fn, dk_pad_fn) = generate_qkv( - x, Wqkv, nheads, query_padding_mask, key_padding_mask - ) - - torch.random.manual_seed(0) - output_unpad_0, sm_lse_0, S_dmask_0 = flash_attn_unpadded_func( - q_unpad, k_unpad, v_unpad, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, - dropout_p, return_attn_probs=True, causal=causal - ) - S_dmask_converted_0 = convert_flash_attn_S_to_softmax( - S_dmask_0, query_padding_mask, key_padding_mask, d, dropout_p > 0.0, causal=causal - ) - - if is_sm80 or d <= 64: # Only run backward for d=128 on A100 - g = torch.randn_like(output_unpad_0) - dq_unpad_0, dk_unpad_0, dv_unpad_0, = torch.autograd.grad(output_unpad_0, - (q_unpad, k_unpad, v_unpad), g) - # Parallelizing over seqlen_k makes dq non-deterministic - deterministic_dq = False - # Numerical error if we just do any arithmetic on dq - dq_atol = ((dq_unpad_0 + 0.3 - 0.3) - dq_unpad_0).abs().max().item() - equal_fn = torch.equal if deterministic_dq else partial(torch.allclose, atol=dq_atol) - - for _ in range(10): - torch.random.manual_seed(0) - output_unpad, sm_lse, S_dmask = flash_attn_unpadded_func( + k = torch.randn(batch_size, seqlen_k, nheads_k, d, device=device, dtype=dtype, + requires_grad=True) + v = torch.randn(batch_size, seqlen_k, nheads_k, d, device=device, dtype=dtype, + requires_grad=True) + + query_padding_mask = generate_random_padding_mask(seqlen_q, batch_size, device, mode='random') + key_padding_mask = generate_random_padding_mask(seqlen_k, batch_size, device, mode='random') + # key_padding_mask = generate_random_padding_mask(seqlen_k, batch_size, device, mode='full') + + if kvpacked: + (q_unpad, kv_unpad, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, q, kv, + output_pad_fn, dq_pad_fn, dkv_pad_fn) = generate_qkv( + q, *kv.unbind(dim=2), query_padding_mask, key_padding_mask, kvpacked=True + ) + out_unpad, sm_lse, S_dmask = flash_attn_varlen_kvpacked_func( + q_unpad, kv_unpad, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, + dropout_p, return_attn_probs=True, causal=causal + ) + else: + (q_unpad, k_unpad, v_unpad, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, q, k, v, + output_pad_fn, dq_pad_fn, dk_pad_fn) = generate_qkv( + q, k, v, query_padding_mask, key_padding_mask, kvpacked=False + ) + out_unpad, sm_lse, S_dmask = flash_attn_varlen_func( q_unpad, k_unpad, v_unpad, cu_seqlens_q, cu_seqlens_k, max_seqlen_q, max_seqlen_k, dropout_p, return_attn_probs=True, causal=causal ) + out = output_pad_fn(out_unpad) + if dropout_p > 0.0: S_dmask_converted = convert_flash_attn_S_to_softmax( S_dmask, query_padding_mask, key_padding_mask, d, dropout_p > 0.0, causal=causal - ) - assert torch.equal(output_unpad, output_unpad_0) - # sm_lse has some parts that are uninitialized from torch.empty - # assert torch.equal(sm_lse, sm_lse_0) - assert torch.equal(S_dmask_converted, S_dmask_converted_0) - - if is_sm80 or d <= 64: # Only run backward for d=128 on A100 - dq_unpad, dk_unpad, dv_unpad, = torch.autograd.grad(output_unpad, - (q_unpad, k_unpad, v_unpad), g) - assert equal_fn(dq_unpad, dq_unpad_0) - assert torch.equal(dk_unpad, dk_unpad_0) - assert torch.equal(dv_unpad, dv_unpad_0) - - -@pytest.mark.skipif(torch.cuda.device_count() < 2, reason='requires multiple GPUs') -def test_flash_attn_multigpu(): - seqlen = 256 - d = 64 - dropout_p = 0.0 - causal = False - dtype = torch.float16 - device = 'cuda:1' - torch.random.manual_seed(0) - batch_size = 32 - nheads = 4 - x = torch.randn(batch_size, seqlen, nheads * d, device=device, dtype=dtype, requires_grad=True) - Wqkv = torch.nn.Linear(nheads * d, 3 * nheads * d, device=device, dtype=dtype) - - key_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='random') - # key_padding_mask = generate_random_padding_mask(seqlen, batch_size, device, mode='full') - - qkv_unpad, cu_seqlens, max_seqlen, qkv, output_pad_fn, dqkv_pad_fn = generate_qkv( - x, Wqkv, nheads, key_padding_mask, key_padding_mask, qkvpacked=True - ) - - output_unpad, sm_lse, S_dmask = flash_attn_unpadded_qkvpacked_func( - qkv_unpad, cu_seqlens, max_seqlen, dropout_p, return_attn_probs=True, causal=causal - ) - output = output_pad_fn(output_unpad) - S_dmask_converted = convert_flash_attn_S_to_softmax( - S_dmask, key_padding_mask, key_padding_mask, d, dropout_p > 0.0, causal=causal - ) - dropout_mask = S_dmask_converted >= 0 - attn_unnorm = S_dmask_converted.abs() - attn = normalize_flash_attn_S(attn_unnorm, qkv[:, :, 0], qkv[:, :, 1], qkv[:, :, 2], - key_padding_mask, key_padding_mask, dropout_p > 0.0, causal=causal) - dropout_fraction = get_dropout_fraction(dropout_mask, key_padding_mask, key_padding_mask, - causal=causal).item() - - output_ref, attn_ref = attention_qkvpacked_ref(qkv, key_padding_mask, dropout_p, dropout_mask, - causal=causal) - output_pt, attn_pt = attention_qkvpacked_ref(qkv, key_padding_mask, dropout_p, dropout_mask, - causal=causal, upcast=False, reorder_ops=True) - print(f'Actual dropout fraction: {dropout_fraction}') - print(f'Output max diff: {(output - output_ref).abs().max().item()}') - print(f'Output mean diff: {(output - output_ref).abs().mean().item()}') - print(f'Pytorch max diff: {(output_pt - output_ref).abs().max().item()}') - print(f'Pytorch mean diff: {(output_pt - output_ref).abs().mean().item()}') - print(f'Attention max diff: {(attn - attn_ref).abs().max().item()}') - print(f'Attention Pytorch max diff: {(attn_pt - attn_ref).abs().max().item()}') - - g = torch.randn_like(output) - dqkv_unpad, = torch.autograd.grad(output, qkv_unpad, g) - dqkv = dqkv_pad_fn(dqkv_unpad) - dqkv_ref, = torch.autograd.grad(output_ref, qkv, g) - dqkv_pt, = torch.autograd.grad(output_pt, qkv, g) - print(f'dQ max diff: {(dqkv[:, :, 0] - dqkv_ref[:, :, 0]).abs().max().item()}') - print(f'dK max diff: {(dqkv[:, :, 1] - dqkv_ref[:, :, 1]).abs().max().item()}') - print(f'dV max diff: {(dqkv[:, :, 2] - dqkv_ref[:, :, 2]).abs().max().item()}') - print(f'dQKV mean diff: {(dqkv - dqkv_ref).abs().mean().item()}') - print(f'dQ Pytorch max diff: {(dqkv_pt[:, :, 0] - dqkv_ref[:, :, 0]).abs().max().item()}') - print(f'dK Pytorch max diff: {(dqkv_pt[:, :, 1] - dqkv_ref[:, :, 1]).abs().max().item()}') - print(f'dV Pytorch max diff: {(dqkv_pt[:, :, 2] - dqkv_ref[:, :, 2]).abs().max().item()}') - print(f'dQKV Pytorch mean diff: {(dqkv_pt - dqkv_ref).abs().mean().item()}') + )[:, :, :seqlen_q, :seqlen_k] + dropout_mask = S_dmask_converted >= 0 + attn_unnorm = S_dmask_converted.abs() + if kvpacked: + kv_rep = repeat(kv, "b s two h d -> b s two (h g) d", g=nheads // nheads_k) + k_rep, v_rep = kv_rep.unbind(dim=2) + else: + k_rep = repeat(k, "b s h d -> b s (h g) d", g=nheads // nheads_k) + v_rep = repeat(v, "b s h d -> b s (h g) d", g=nheads // nheads_k) + attn = normalize_flash_attn_S(attn_unnorm, q, k_rep, v_rep, + query_padding_mask, key_padding_mask, + dropout_p > 0.0, causal=causal) + dropout_fraction = get_dropout_fraction(dropout_mask, query_padding_mask, + key_padding_mask, causal=causal).item() + print(f'Actual dropout fraction: {dropout_fraction}') + else: + dropout_mask = None + + if kvpacked: + out_ref, attn_ref = attention_kvpacked_ref(q, kv, query_padding_mask, key_padding_mask, + dropout_p, dropout_mask, causal=causal) + out_pt, attn_pt = attention_kvpacked_ref(q, kv, query_padding_mask, key_padding_mask, + dropout_p, dropout_mask, + causal=causal, upcast=False, reorder_ops=True) + else: + out_ref, attn_ref = attention_ref(q, k, v, query_padding_mask, key_padding_mask, + dropout_p, dropout_mask, causal=causal) + out_pt, attn_pt = attention_ref(q, k, v, query_padding_mask, key_padding_mask, + dropout_p, dropout_mask, + causal=causal, upcast=False, reorder_ops=True) + + print(f'Output max diff: {(out - out_ref).abs().max().item()}') + print(f'Output mean diff: {(out - out_ref).abs().mean().item()}') + print(f'Pytorch max diff: {(out_pt - out_ref).abs().max().item()}') + print(f'Pytorch mean diff: {(out_pt - out_ref).abs().mean().item()}') + if dropout_p > 0.0: + print(f'Attention max diff: {(attn - attn_ref).abs().max().item()}') + print(f'Attention Pytorch max diff: {(attn_pt - attn_ref).abs().max().item()}') + + g = torch.randn_like(out) + if d <= MAX_HEADDIM_SM8x or (is_sm80 or is_sm90): + if kvpacked: + dq_unpad, dkv_unpad, = torch.autograd.grad(out, (q_unpad, kv_unpad), g) + dk, dv = dkv_pad_fn(dkv_unpad).unbind(2) + dq_ref, dkv_ref, = torch.autograd.grad(out_ref, (q, kv), g) + dk_ref, dv_ref = dkv_ref.unbind(2) + dq_pt, dkv_pt, = torch.autograd.grad(out_pt, (q, kv), g) + dk_pt, dv_pt = dkv_pt.unbind(2) + else: + dq_unpad, dk_unpad, dv_unpad, = torch.autograd.grad(out, (q_unpad, k_unpad, v_unpad), g) + dk = dk_pad_fn(dk_unpad) + dv = dk_pad_fn(dv_unpad) + dq_ref, dk_ref, dv_ref, = torch.autograd.grad(out_ref, (q, k, v), g) + dq_pt, dk_pt, dv_pt, = torch.autograd.grad(out_pt, (q, k, v), g) + dq = dq_pad_fn(dq_unpad) + print(f'dQ max diff: {(dq - dq_ref).abs().max().item()}') + print(f'dK max diff: {(dk - dk_ref).abs().max().item()}') + print(f'dV max diff: {(dv - dv_ref).abs().max().item()}') + print(f'dQ mean diff: {(dq - dq_ref).abs().mean().item()}') + print(f'dK mean diff: {(dk - dk_ref).abs().mean().item()}') + print(f'dV mean diff: {(dv - dv_ref).abs().mean().item()}') + print(f'dQ Pytorch max diff: {(dq_pt - dq_ref).abs().max().item()}') + print(f'dK Pytorch max diff: {(dk_pt - dk_ref).abs().max().item()}') + print(f'dV Pytorch max diff: {(dv_pt - dv_ref).abs().max().item()}') + print(f'dQ Pytorch mean diff: {(dq_pt - dq_ref).abs().mean().item()}') + print(f'dK Pytorch mean diff: {(dk_pt - dk_ref).abs().mean().item()}') + print(f'dV Pytorch mean diff: {(dv_pt - dv_ref).abs().mean().item()}') # Check that FlashAttention's numerical error is at most twice the numerical error # of a Pytorch implementation. - assert (output - output_ref).abs().max().item() <= 2 * (output_pt - output_ref).abs().max().item() - # assert torch.allclose(output, output_ref, rtol=rtol, atol=atol) - assert (attn - attn_ref).abs().max().item() <= 2 * (attn_pt - attn_ref).abs().max().item() - # assert torch.allclose(attn, attn_ref, rtol=rtol, atol=atol) - if dropout_p == 0.0: - assert dropout_mask.all() - else: - assert 0.99 <= dropout_fraction / dropout_p <= 1.01 + assert (out - out_ref).abs().max().item() <= 2 * (out_pt - out_ref).abs().max().item() - assert (dqkv - dqkv_ref).abs().max().item() <= 2 * (dqkv_pt - dqkv_ref).abs().max().item() + if dropout_p > 0.0: + assert (attn - attn_ref).abs().max().item() <= 2 * (attn_pt - attn_ref).abs().max().item() + assert abs(dropout_fraction - dropout_p) <= 0.01 + if d <= MAX_HEADDIM_SM8x or (is_sm80 or is_sm90): + assert (dq - dq_ref).abs().max().item() <= 2 * (dq_pt - dq_ref).abs().max().item() + assert (dk - dk_ref).abs().max().item() <= 2 * (dk_pt - dk_ref).abs().max().item() + assert (dv - dv_ref).abs().max().item() <= 2 * (dv_pt - dv_ref).abs().max().item() -@pytest.mark.skipif(flash_attn_func is None, reason='Triton is not installed or is too old') -@pytest.mark.skipif(not is_sm80, reason='Triton version is only tested on A100') -@pytest.mark.parametrize('dtype', ([torch.float16] if is_sm75 else [torch.float16, torch.bfloat16])) -# @pytest.mark.parametrize('dtype', [torch.bfloat16]) +# @pytest.mark.parametrize('dtype', ([torch.float16] if is_sm75 else [torch.float16, torch.bfloat16])) +@pytest.mark.parametrize('dtype', [torch.float16]) @pytest.mark.parametrize('causal', [False, True]) # @pytest.mark.parametrize('causal', [True]) -@pytest.mark.parametrize('d', [40, 48, 64, 128, 80, 88, 96]) -# @pytest.mark.parametrize('d', [48]) -@pytest.mark.parametrize('seqlen_q,seqlen_k', [(113, 203), (128, 217), (113, 211), (108, 256), (256, 512), (512, 256), (1024, 1024), (1023, 1024), (1024, 1023), (2048, 2048)]) -# @pytest.mark.parametrize('seqlen_q,seqlen_k', [(1024, 1023)]) -@pytest.mark.parametrize('bias_shape', ([None, '1h1k', '1hqk', 'b11k', 'b1qk'])) -# @pytest.mark.parametrize('bias_shape', (['1hqk'])) -def test_flash_attn_triton_output(seqlen_q, seqlen_k, d, causal, dtype, bias_shape): - if seqlen_q >= 2048 and torch.cuda.get_device_properties('cuda').total_memory <= 16 * 2**30: +# @pytest.mark.parametrize('d', [32, 56, 64, 80, 96, 128]) +# @pytest.mark.parametrize('d', [32, 64, 96, 128, 160, 192]) +@pytest.mark.parametrize('d', [64]) +# @pytest.mark.parametrize('seqlen', [97, 128, 200, 256, 257, 384, 512, 768, 1024, 1025, 2048]) +@pytest.mark.parametrize('seqlen', [128, 256, 384, 512, 768, 1024, 2048]) +# @pytest.mark.parametrize('seqlen', [193]) +# @pytest.mark.parametrize('dropout_p', [0.0, 0.17]) +@pytest.mark.parametrize('dropout_p', [0.0]) +def test_flash_attn_race_condition(seqlen, d, dropout_p, causal, dtype): + if seqlen >= 2048 and torch.cuda.get_device_properties('cuda').total_memory <= 16 * 2**30: pytest.skip() # Reference implementation OOM device = 'cuda' # set seed torch.random.manual_seed(0) batch_size = 32 nheads = 4 - q = torch.randn(batch_size, seqlen_q, nheads, d, device=device, dtype=dtype) - k, v = torch.randn(batch_size, seqlen_k, 2, nheads, d, device=device, dtype=dtype).unbind(dim=2) - if bias_shape == '1h1k': - bias = torch.randn(1, nheads, 1, seqlen_k, dtype=torch.float, device=device) - elif bias_shape == '1hqk': - bias = torch.randn(1, nheads, seqlen_q, seqlen_k, dtype=torch.float, device=device) - elif bias_shape == 'b11k': - bias = torch.randn(batch_size, 1, 1, seqlen_k, dtype=torch.float, device=device) - elif bias_shape == 'b1qk': - bias = torch.randn(batch_size, 1, seqlen_q, seqlen_k, dtype=torch.float, device=device) - else: - bias = None - - q, k, v = [x.detach().requires_grad_() for x in [q, k, v]] - output = flash_attn_func(q, k, v, bias, causal) - - output_ref, attn_ref = attention_ref(q, k, v, bias=bias, causal=causal) - output_pt, attn_pt = attention_ref(q, k, v, bias=bias, causal=causal, upcast=False, - reorder_ops=True) - print(f'Output max diff: {(output - output_ref).abs().max().item()}') - print(f'Output mean diff: {(output - output_ref).abs().mean().item()}') - print(f'Pytorch max diff: {(output_pt - output_ref).abs().max().item()}') - print(f'Pytorch mean diff: {(output_pt - output_ref).abs().mean().item()}') - - g = torch.randn_like(output) - dq, dk, dv = torch.autograd.grad(output, (q, k, v), g) - dq_ref, dk_ref, dv_ref, = torch.autograd.grad(output_ref, (q, k, v), g) - dq_pt, dk_pt, dv_pt, = torch.autograd.grad(output_pt, (q, k, v), g) - print(f'dQ max diff: {(dq - dq_ref).abs().max().item()}') - print(f'dK max diff: {(dk - dk_ref).abs().max().item()}') - print(f'dV max diff: {(dv - dv_ref).abs().max().item()}') - print(f'dQ mean diff: {(dq - dq_ref).abs().mean().item()}') - print(f'dK mean diff: {(dk - dk_ref).abs().mean().item()}') - print(f'dV mean diff: {(dv - dv_ref).abs().mean().item()}') - print(f'dQ Pytorch max diff: {(dq_pt - dq_ref).abs().max().item()}') - print(f'dK Pytorch max diff: {(dk_pt - dk_ref).abs().max().item()}') - print(f'dV Pytorch max diff: {(dv_pt - dv_ref).abs().max().item()}') - print(f'dQ Pytorch mean diff: {(dq_pt - dq_ref).abs().mean().item()}') - print(f'dK Pytorch mean diff: {(dk_pt - dk_ref).abs().mean().item()}') - print(f'dV Pytorch mean diff: {(dv_pt - dv_ref).abs().mean().item()}') - - # Check that FlashAttention's numerical error is at most twice the numerical error - # of a Pytorch implementation. - assert (output - output_ref).abs().max().item() <= 2 * (output_pt - output_ref).abs().max().item() - # assert torch.allclose(output, output_ref, rtol=rtol, atol=atol) - - assert (dq - dq_ref).abs().max().item() <= 2 * (dq_pt - dq_ref).abs().max().item() - assert (dk - dk_ref).abs().max().item() <= 2 * (dk_pt - dk_ref).abs().max().item() - assert (dv - dv_ref).abs().max().item() <= 2 * (dv_pt - dv_ref).abs().max().item() + qkv = torch.randn(batch_size, seqlen, 3, nheads, d, device=device, dtype=dtype, requires_grad=True) + out0, lse0, _ = flash_attn_qkvpacked_func( + qkv, dropout_p, return_attn_probs=True, causal=causal + ) + g = torch.randn_like(out0) + dqkv0, = torch.autograd.grad(out0, qkv, g) + for _ in range(200): + torch.random.manual_seed(0) + out, lse, S_dmask = flash_attn_qkvpacked_func( + qkv, dropout_p, return_attn_probs=True, causal=causal + ) + assert torch.equal(out, out0) + assert torch.equal(lse, lse0) + # sm_lse has some parts that are uninitialized from torch.empty + # assert torch.equal(sm_lse, sm_lse_0) -@pytest.mark.skipif(flash_attn_func is None, reason='Triton is not installed or is too old') -@pytest.mark.skipif(not is_sm80, reason='Triton version is only tested on A100') -@pytest.mark.parametrize('dtype', ([torch.float16] if is_sm75 else [torch.float16, torch.bfloat16])) -# @pytest.mark.parametrize('dtype', [torch.bfloat16]) -@pytest.mark.parametrize('causal', [False, True]) -# @pytest.mark.parametrize('causal', [True]) -@pytest.mark.parametrize('d', [40, 48, 64, 128, 80, 88, 96]) -# @pytest.mark.parametrize('d', [64]) -@pytest.mark.parametrize('seqlen_q,seqlen_k', [(113, 203), (128, 217), (91, 211), (108, 256), (256, 512), (512, 256), (1024, 1024), (1023, 1024), (1024, 1023), (2048, 2048)]) -# @pytest.mark.parametrize('seqlen_q,seqlen_k', [(113, 203)]) -@pytest.mark.parametrize('bias_shape', ([None, '1h1k', '1hqk', 'b11k', 'b1qk'])) -# @pytest.mark.parametrize('bias_shape', (['b1qk'])) -def test_flash_attn_triton_race_condition(seqlen_q, seqlen_k, d, causal, dtype, bias_shape): - if seqlen_q >= 2048 and torch.cuda.get_device_properties('cuda').total_memory <= 16 * 2**30: - pytest.skip() # Reference implementation OOM - device = 'cuda' - # set seed - torch.random.manual_seed(0) - batch_size = 32 - nheads = 4 - q = torch.randn(batch_size, seqlen_q, nheads, d, device=device, dtype=dtype) - k, v = torch.randn(batch_size, seqlen_k, 2, nheads, d, device=device, dtype=dtype).unbind(dim=2) - if bias_shape == '1h1k': - bias = torch.randn(1, nheads, 1, seqlen_k, dtype=torch.float, device=device) - elif bias_shape == '1hqk': - bias = torch.randn(1, nheads, seqlen_q, seqlen_k, dtype=torch.float, device=device) - elif bias_shape == 'b11k': - bias = torch.randn(batch_size, 1, 1, seqlen_k, dtype=torch.float, device=device) - elif bias_shape == 'b1qk': - bias = torch.randn(batch_size, 1, seqlen_q, seqlen_k, dtype=torch.float, device=device) - else: - bias = None - - q, k, v = [x.detach().requires_grad_() for x in [q, k, v]] - output_0 = flash_attn_func(q, k, v, bias, causal) - - g = torch.randn_like(output_0) - dq_0, dk_0, dv_0 = torch.autograd.grad(output_0, (q, k, v), g) - - # The SEQUENCE_PARALLEL option for the bwd to makes dq non-deterministic - deterministic_dq = False - # Numerical error if we just do any arithmetic on dq - dq_atol = ((dq_0 + 0.3 - 0.3) - dq_0).abs().max().item() - equal_fn = torch.equal if deterministic_dq else partial(torch.allclose, atol=dq_atol) - # Run 10000 times and check that the results don't change - for i in range(10000): - output = flash_attn_func(q, k, v, bias, causal) - output_equal = torch.equal(output, output_0) - if not output_equal: # Printing / computing diff sometimes makes the race condition disappear - print(f'{dtype = }, {causal = }, {d = }, {seqlen_q = }, {seqlen_k = }, {bias_shape = }, {i = }') - print(f'Output max diff: {(output - output_0).abs().max().item()}') - assert torch.equal(output, output_0) - dq, dk, dv = torch.autograd.grad(output, (q, k, v), g) - dq_equal = equal_fn(dq, dq_0) - dk_equal = torch.equal(dk, dk_0) - dv_equal = torch.equal(dv, dv_0) - if not (dq_equal and dk_equal and dv_equal): - print(f'{dtype = }, {causal = }, {d = }, {seqlen_q = }, {seqlen_k = }, {bias_shape = }, {i = }') - print(f'dQ max diff: {(dq - dq_0).abs().max().item()}') - print(f'dK max diff: {(dk - dk_0).abs().max().item()}') - print(f'dV max diff: {(dv - dv_0).abs().max().item()}') - assert equal_fn(dq, dq_0) - assert torch.equal(dk, dk_0) - assert torch.equal(dv, dv_0) + if not (is_sm75 and d == 128): + dqkv, = torch.autograd.grad(out, qkv, g) + assert torch.equal(dqkv[:, :, 0], dqkv0[:, :, 0]) + assert torch.equal(dqkv[:, :, 1], dqkv0[:, :, 1]) + assert torch.equal(dqkv[:, :, 2], dqkv0[:, :, 2]) diff --git a/training/Dockerfile b/training/Dockerfile index cef847f3d..de535e7ec 100644 --- a/training/Dockerfile +++ b/training/Dockerfile @@ -85,11 +85,11 @@ RUN pip install transformers==4.25.1 datasets==2.8.0 pytorch-lightning==1.8.6 tr RUN pip install git+https://github.com/mlcommons/logging.git@2.1.0 # Install FlashAttention -RUN pip install flash-attn==1.0.9 +RUN pip install flash-attn==2.0.0.post1 # Install CUDA extensions for cross-entropy, fused dense, layer norm RUN git clone https://github.com/HazyResearch/flash-attention \ - && cd flash-attention && git checkout v1.0.9 \ + && cd flash-attention && git checkout v2.0.0.post1 \ && cd csrc/fused_softmax && pip install . && cd ../../ \ && cd csrc/rotary && pip install . && cd ../../ \ && cd csrc/xentropy && pip install . && cd ../../ \

    t68cE2)cSv&rxi9%kGbmlzwUd(&>bMQ<9a!kRXsWH#S$BZIQkMcKm}*+HD5ow$&T zZokHU^Ms_EAZiLIhNH?OC_3ZoN(!2;KjrJ#CA}1j#H342%Y<21I4(0(vPtR2lM5fj zETpEmw)yl`&sCJ3t=w zd5YJR#y2cdD;wL)=io;Z9eWLWclN*-4jwZ@U>(F#6$M649bIYjyNC*oEgerefrqc~ zEkba@^jR`(Pmryz@FI$1;R^)YqK_Dx(q3YlHdk28CL62y39gM@(V6nFwXH(*FSdLH z-jwrvS2y@o+lzR}Q*Xq|DKXlq_t6wvxMn14zoM&+Gn_k^agKXbj#JKUzK6Hv_bF*Z zb%XZCxX5Pk+pPIry}~?+HdQ_%rX7_YN>KmN6EoE%td9_Yg`GH?NgD?E<_}Ewf+wuIber4P`fB*RD_x_f36wcS$q1-SjjU3son&bnGYH`wb zoTP{ve^Fa_^0|>x+1~BOoOy#e&BOos7sqFw`WSC6fgS~V_BgLQyn`PP$2RFa0nA3J z-=K8y)F)%zD79}zzQzz@pLPq>p8Qoxq}_DF9KbZyU@SarffUg8=={uB{z+d7$fevJ zO?(T`8$4BMYe2N5erbTKl9}8dr1va<2*^`@dH#hlSH1>P5 zfUeIZi8{AGr>;@qW}rsL^A_5$*o)*enDTgj+Xje=G{4$vf*c1|a^4+|ou-6RdChajq2*Hmxgc6IBMr_A_8>D>B73S;-{R!qeVKr`YgHSXQm< z%=#4=-Bm6tda@;!7gtc2`A&u-Dy*3s)>dEoc^RAn-Jng%~W^FFjsWivi zI`@}Ott%bfS6ePqiaZILx1Iot?UAoeiL%_tEAe^y_tC+P(I?}_f6t9M%-_rEinK3& zPquwRIdk5aK5mY(1YeVH=b6&bb&&;I|BXQnFug7}!u(OGaobP6>L-vDS_BjdaSN9E%SoO%x$@ol#Ez*Z9h?mXfk45^2&jZ_PDk797sE z459057l1|JT@We>jkNTCknTXn>SwN#{SpF?!6lj^R^TC zk1}}ifW!4$5FOI)>>FW4^y(s-&Zm7D9yQh`--Sb)2Eoe7+dm+?|_1Yc# z%g?&Set)W@3M6!ta%P?pfRyx6I@l4P^Sr^+-G1x2Hh_cTXK_vum#9u7q$+*ltdf~7 zL#ATk8R8sCq*;+wb}g^UgpRG0Q(;X;p;q`ZH-^D7wW9(OsmhL$Hf=4tq-hB8Y=}~> zq!-^Qm^?OIZEF6MkaW=zugr*!&;|*Pe>-D{B}QSdA0N5?W^M+uLnBfRhB2b z-Z|g&^>sO(b!_@NqKc6-iGENf%R=e!q8%m|e}>!+L#MNI(sS-{fpO@9gdLW{?+2Et z{;qtLHU?h?Cg8Ipg$B6B#Lws>Q-1AONj1TYxv{BIVGDf072Ti|i7YSTdqVsb_NSSM{1J9)G2`P3U7$7Ax{P9~#R|-eBwrV*=9u%``!u&lWvF zO=dFTpYke`b7bt|r*uzY3u8E^6@g0l9|@78mN*R#0i?rgY`%zMb7dnjwoQ>j3R>|@ zPkfDWK=a@6LR1clY#FqLOwf{YteZdEf8e22c?ok|@$UM|k8JUA`!PQ74l-)1_${BL zvz+qz-wH}Z(`ZN0+GeY-N>D`d^p zWu$Sg$hir>@Yn@s5=7TVZ(jAx)}nXsaRw?l6FT5Lk zbdTS(-C+e{i`Na;hOvuVZX{cTazy%x<x^e^n<%l7576&pD|J(!%s+HbyzQA9C;J6Hh$AFJ~>DJh{zxe%<)Jdga4${lhEc z-i`OO@q2RPL&kkxfy3a>{^r={iQhAio*VZ)b!MD>;4GV-wa9K2+~kSh*Is^oeCMxT z8h`bdZ;$u=SRLbp<$nL#A)DMhHFAOPGw+<^DPT5Bsp_4b`#6WzcY&p283}qP>ds@z zdx0+}0ZJ=e=jo9Aql0|;iOD^fdl*#9cI6YXakzeiN57Yhu0Qhn$d;tRR-Z@I$UyK{ zyWFgH;n2B@3!V9fG3hPr_Ir-nT_IY+SLY`rOq_yabA<9!Iy5ZJC}7JkS>s5{6V|3z zLvEOBnzFfQlEw?MA_m}ZZmIv+r(YO1FK&<5zW0xL9dz2h<|yA_y5)5Q5GiI7HStV` z33Mq+u4LKPO;IzcKMAnc#)5HWQo%wOW%hODw}jT&oS9R&&}knt&iy2$v+09xb#E@@ z&?hb%zTEwOz^k1P4tPq*DJu();#}Z&Y^lDCVHnivkVhW5xigwF;G#)wimv`YpKf zG$*)~&{HY#hLwHlELaPyD2>kgr5=03cZsd{wtd=>ep||0SZR?=J2SQliqU1`8sS=! zvUE8@8{?+c%?EzcOw(5aidOik!^{*zTK-k&Ga{dh(wA~qgvV)f^>rzWro(gZ7=Q2e$e<3l^u)y@~vg6DAqmaALw_nDd!XV zg&R7S&dpUnsguQhlncvGr_*xE0J;x`tR31{c$rqgGN?OsVaFlFU&P^wl7OQMYrvl# zljrw|_wePuk1HFn*~QEBTNLCKWKg_J--^~=hX9)44pCV*z9s$2*Nta)OCu;y#(>4Rzq z)BY9DA~T#y)UNq+TIck!n-zQ6oPd!3EO^syaubG=B5>PmQu$_4Ul08VpR{=W9lrgZ zS3xVA!}>ANzSGXsdBX%Z874PT001BWNklH?#L zm3-oUMgscI$kTj;}z@*aQ7hKI6s0 z0P`XH{!xD?K{c7jsg6dM4dLkv?F3f#S9`6o0>~QNvdJ=Sjk)BjWmbJm88fZ|t|8}jfzcdpZqzsW;MJ1o>7Pi&DE*d0`Jt*<4uf-u zr9KLD`nUNfFtlbAwiX=Yoip*KWp2*l33oDcqoL-%jQ=q8kP4@Ir+~73`q_3ENE1LA zM<<45eM3$m5!1BcG%ZUFD8ZKo=D_qNuf?pXvO#X=YiIZ{tp=NOX*JK)vVwo&6;UlAMZgG)aYTmRveR`Y~a3ACfql_K3`vH-K}p#fg3 zmP+c$A(k-94OlwElqJ2?6CPyp$eQ{lz3shW(%0ItvKAFdM@9seJth}DkwG3{tc;)9 zf|jk0S#N?oAZvz>g$d-4e$s4nF7O=cFy#h~H_UL)a9;Pk$CN#JZ`j*CyE*pGaFZM7C;LKlqA+QNg{k1?#K&&Zp4RddH-6sWdM7tO*s++~RR@Ds zdw^}z@ABk4%r$>h4m{-fjhdSOL`%~ME?lVEH|4W(S%YGeKi<&h`oldDK`Omu1O$z1 z7SpGe({?1Uc%twNs(iT31~BU+*^*o+(Mi=${1ln+D+tLeUh;x~*L-K@Y1N_CZ^A-U z>7HPE9@R$q7kQDRod8p?q@-#Zblcy^Tiz*GeqjYNMcTgr$`_8CD?aDyNp*(OWL}_gt@oCE397E#!^+xcF@=6bgHp=M zGq#NX^ktl7{ks2Ti}T+$EAHmqtGq`3>^Qr3e{{_eMX@m;p4K=$UPewE%f2ZOid>Ue zxE^%a-|$l~wWn13NOzqR9P_p}-cqr_6Te$Ge=@diy~$kXM&4?B!b1&t%Pf!89*};C z2OR$FyRVHu|H+l{#;v=9<%PP=pio+5SF=?5C4stf9&m(z-1zlPWwCpbbe!=`KIEi5 z6nA{3ta-k5tX-WcAwprsRLXXT2lf1X)otDY;EnTq1Nh>f%Dk!w6_oy#ugV2qMTmI< zCrN0Q%;Xne|Ai9Xp*Sbux+pLc9Qu#Qkg-4^D;v@*W1|&4)yy&#te~?YXqt_z#Z9x~ z#K|Xc$_t+&)UChx3x6tWVNYV=mv-XSwfIZK8c&%P*gP3U_8QI9Hy6-X++gfjteBp8 z?D6r;*S|JC|0jPuKJ$hDY&>z{{NN_3vB$*K;m5nJ6{&~jqwE&K#Yz#v3{!1gsMg}} z4wLw8f20?k6e%i=QmM~{CFUnyqj$NZum`KHhxd;^8G?C1~$1s$oGGJ z20b%T^r16alU(Wd1mgf8vdvnfs{z8r)^t{EtBZa+Y8~^nZ%TA(p#KbYf~+{j2vj8& zNng&=lh5ECg5@XmDGmSHmt^y)LvA;It@b=6Egg94OXN7oQ{^vPl_z6)3#v<%tcd{zH}xtd07%jzV$=&h?oEY=8qXOH;I$4>s2C<<8mQRuagS@gQ zjHJm~hwHRv&3D}fX})=@bY|r(IZ1@6;S)Rs7yAM=A-{H(oU);<3)dXC%jPmLlf0z@}|zT?`do7D5lZ?UlGFJaAoyh0T%<}qoRW-ew0|o;!pzA{0K9a zOi1SgBpvt)W=b(BZ__O0ojh&e91B@08h`M6|JB$({}j@>l_*d8ay7%ou4kOu;5E;y zn*IK7?)LL)lCzTb<;s#CkKCp2s>3lmwos4XO!H-ouKEnaGsjbU$R@+sup z@Dx6!TH{sciq;buJ4_fdo>}g;p`fbIVRoj&?@&20$f)xNyvl>%*jZZh6ldx7JnV(` zlb4?yPkrID<3~UE;kf%D3nh-dl%=YY@**Spj8*7Aah0K;qY z?#lR;b^~LEG;r}BPIfVZ43NV4JxO!=-@41(gSm(sz&=g3!GfnZrHNCgH^}8JDwf}K zri_tBG*cLo#gYc7ODktPlqJnygBu>w7aDt94bI(&*)`Y);P354`~2 zIc;cDy;$Q#exc>Ir@prYQ@>S$7Kc&Y~1f)p@0GeY~d)G{hU6Mp5$dn?4maCbJ zbiT~icLd-A=?tMWgCC_OmDu!@QIaKz7)9|PakXK~-NZB@$C*4itaDJ1R)HMnjEeB0 zv(%|Y01-dR^6+PxIluX9(_~7Vb?>CzOb&7JsJ~fT2DKXy!j&i9e4iHfQsO0x4=$qojoaw5*B4+4V!(AdUElB`SJhN}4jITnlzk4?2A2(^)BG zj5l@=0GI2Rg+-XM>R8D|ag;--4TO|o&7OkJ--&4AFjT2cR#^&XdMUKR7cvv;A*}=S zgj@E;6VK$ru^1%f5uKbFAA zXhu2gTpY?WPj0$F;`l{Q@TP0dAx+t|iXmz{0|PC^90P(43kxZp8~F1zsCzug8M82< z&U0KZ;jlNm(6DUX; zj+$Sip=J0&jy>8n%{v>sZ11J7_#j6<_h1|0CIU|BsqYKtHgZ$z8$5NE@8jw4_|b7o zZ&oxe2B0pF+H z?$B`0@9&LE&pti=`v3p;YTItHlWYp;P$R!KzQ*v044fpiCLJ zXy5XU_#G)LMXF>@UH9A_R?MUT8_9>ANr?0Ln7;CT54P&uJ>n#_`mYa zU3IE1z+$EiNdZuev~B?VihJwO!<${4+xh5+1T}|_fM`oQh!W`qtzvb_Q*A|!VksZL zmLv*`38-}QCrk|sC4OX_#4&Z#7xqvund^p$F_3EpNXE$l-%(_J>>d+thH=&oX~{X~ zAZPj-9{(U;4zlsVG|T*i!@@01;c`A}z7{8A*JH_;{M8=Xh$*|7rVYtXA5&KuF9Fsx zPCF@|aN3vWe~(RXRO7}2H+ePk)v=byZlwSFnjo++a;I zxlpwaiw3BAN^wBz>C#d4ypVNER7}aV?3TV_(ehcxJ`MfkV`Dt~+}5~w9z64!9X7ys zxXIc&QGm3O)oJaCpHu$0v*@snYGciwAJ^vC6mkfxIVQ}~Q%PLHh9-T|q7j^L+6SGZ zIA2k9;IX-Eh!XPFvu!TtREU(HHYfu)gJ%L^DXVgUdBdSLC_8NhbjYP67zLM{GG(U> zg(h7_35#rbnzkbGdbvXR&0N8f7Zn11YMIGKv3XZy%o{h}mJL4VOgl^9729ZIk^D_R z;~JM_l@@8yVIErLMNbS7Ew?|UrLA5R+9(hVGHNG}9JC)Mu-;T^-!1cmN@`3yv16&< z0~*g6ZUTE##{mzi`8sIt--=BzW*k<4dSgq~mBy9NLGqvRL%UO!g255E+M*Zm#`+%OG!@4u}j<1Z3+dt!C=QYk_H|Q^Xx)h#cu6=wn*zG%qA4Srab(q59I^93gw-M zv2)4mwTpCQ?M*pTHWJ#{)O{<{(NwSc=e|B8> z*yH2r-~RUajokrm{t$BhCr9zKJOnTMk1vpQzCj zXXy0~$kMv0THjo=9Li?%mr3)%5uL=>Is0_)9bVz$1~8kxCkMBfK(pz~MB3L0_!LYH zi3p7TvS8Ls`51dzUkvIW{pg<)Ms4-U8lU<-q!lllzZ0*mSZs+rv_5((laoroz;&nK zSr@6lGApp6D}0E>1z#sP)05XS)d|ZJc5?zy{+T^agFUeF5k-0)Pt$U7ag!&3@3N2| z(^{``qRU7z{)E5`N%1p;RD#k|48<Bv4Ld-;ebfZUG9jGD{yaDYm0SaFOV%&)i#KZD z7%jTVbWzKX#i2m*iHg_!DqFGwi-yLWB3Njq{z)|DltjIO4U{GJO%d9Kk!8b*Ls^qf zXwqxEp=|Oh`^vt6Ba@VZtz3dWcVB9oTQooA>v_12zIxrwkrE`8sZ2z)YvsMgmKY07 zmvLT2nCx~gYB(sg4)}$C9aey)_9~;P){#Ch@ZU_&2GnQX53r>X{CcGAxCR7>S zHYVSsUy+nO6W(;O5tzCK#Ri?wiq`eTHEZ(A-YJl{2~M{O7+Q#K`MEF^fD~PaJe`rD zvsxGt;wF$dlT0DX3a%m-w#|D{_nY7R;<*2T=b`dULrCWV?B@cNRW*icQ)PM9zP?P?U%25G<@fo?4gIIgrnDzC-m+yaMJomZJkH3ED zm2vx>chRSG{E)%b+K`VQgZgr`PXv*7(j9m36I}q)A1SyO>Yh)p-nc!U{=|bY@D%SA z&f&c3dGqcE;|v?YzV7DCc`igB<5kg*o*jD+^Sa{)&X2wQGc33x0h4auyfa>T>Fx1v z|NN!#o$tOiu71EAf%Af94>Bu@`tViTBGL7!z_v&T0oHa9NO zR(Pj8ZN%@b<&I4hD#6Okjb`WO`0SG^4B=t2uXnF zq8Z&@D5NBy)8~mT(>zS%VglRpeOUQ{S>kC{=~DI75eVhc)=*L>_JyKJ|83f$6fUU} zNU4*2c&8F%1q<3P;*;bP6{*1ZuLEXv+=FJ5g}9eqeSN(CcYoi$jNmoia7TBT)e^x- zixJYBEd7;hJcB-_xLe$$ zo8ryW=WxFveItqfnIe#732lPP^=&R5Ni!#M^EV4C;Eko7o4=JuUfW{ZF{C+nd8*C} ze)?A*PFrP~*ja9IGfk||lhs}syS{>|bmWn*Sh|uiMav$T4sW1IL)TJg0E+NnmGHzd zCI`L8Rm08~O*uHE{7hX+oay*Lf`pEV(zb*zI0-yo5Cx{U#fLFJvt6BHndp%6bIP%@ zmw$xIKSfSivM=(`ZMtm67XB7~8JAFVUfY*9_T*c6Y%;m|nv`DCOUC+a-mPLmDJ<9;8WOPRoP z8Vb^~N5K*olalNsdZ+715J7Flp>Rzv{USP5bjcS`cz4s_@>A^bf%fjQSn3X+vemoo zq6;9k=X@0*{HV{eLbI7NdcA3$O%_yU$b!6^%H<7yKC zL4*_~_5E_kXtC8kf|EwR$S8ScO6!bUannq>WC<<6m2Ys!3S5$vICUmAuWcMl zpPYtGAv&OG0uqmul-*ccga|g~PsPsL1tt!reu8h>HE_7hxA;|F7>D+W6ki&tX*=5t z!b5^i+J`p@*auHIyiBP&XFO;BkG;)thNrDEep0c1%IS@_#(3@Zx~8eJAsD_TU75~{ zSm9!`b|g{O6+zjQg-|}nu>0_%LTv+*zgr++iP^ebN&4_;*Bm4z7J#Ab8eV-wi% zLLWVH|D|yid9VG=_vnkh3cAV-S%pQviLxa)ZK#9>@edJDs)soyY6Cgh6E!Mf2F^ITs`y~%N$*E{o?XP@@% zCw^CBK#f%~t7U0-4jM+SrJ)akc@0|F(rz79D4R0xHwoDCRXj81i+;TXvu%aE@g=i< zi=#@%kjxy~dUL*47|*-5Yj0$TgGjdt(Z8736(QY-;xQ8#H_a> zm8W#)dWJSNZJT4LhWPfMt&@YXd&0vb^vx62nhrU)9OWi*^((hD&T%&FRnh2l*p42e zwH_Z^-QckmY43(HrmTZd-WtGc+g1<+fTxGe+p^7Y$B1l>^fyUivsVaq~?x+{;1?eU)CqiG9 zf8e*$+4yz5?2~%XqAgD%Vt3~ST0Z{J6`LYD+EWyOS=SR%9&XgKZqVag!#eiU7-uij zYIwc$YkzmVy!aZ|S+o-+&S3dw-J~A`A+T^Ak@-g)K}yHS9tTy5{4*q-d|}ClX{Asw z2LckCuDEhYXR2f4Mt19D(lnkv8aed%wDZTF-&r1idWSSm|8lR&1?FSt@PXgecHXG? zS%3Bo`-Q*VWYc%(#)*%7tf~KZIwTAIEvJ21H<`s7Ql}GfbIZgXJNwv1sl1*z~k3q+#FU zOF07!I(*6*vMs@ARh1u+;z`I$;l98s)M;(|J;r!QjpxmA(V0TRpnDPvs zKabgby>at3-h}c3^C0dz8A013c#TB}?Vst&(r$6?V=+g`CrG)DVe$Hy&tDxok2+yK zaC~FgKl$FWclTxPV|xo**wbQ;ab#GCownBlPylM!I!3BX|}_(XTl;|9RRlN z6F)5$ZhG>X-(2XBgI`#~7F`)9qWl^Z*HUrk&o56t_x|OhzxzAOCx4r7!u<5dmTP=` z)AN8Y(Tq(rY@h6~F?dq8;!PVMBhY-3jnLSU1smZsKJR)?-Ue?vaGI@8^7?uoHhuT* zTxX;ACXdE*@H)u7hj)2WnC}#NHzh65g-<^;@60SEMb0L)>=}dvQoQ)4jtyDvU?*?v zqK1pp54fnXG5eigUq2Sxps_O~JrtOa2IM9cUsopp3zVo3sP%6k{3cyvr;LGGX*^+O zFbf2#Dbs;W2Xh4P#D%uC!$q4XIz|YN*Le!~h*wE5u=1XL?;;Ut(Wh0ZFS7t=`&n&3 znWVEVt?f2O$YdEBx16O9KX7q*3XFtg%GYGm@#M-}TH#?L!PvN5V50Zj6O@NKIAL&c z0m#86>n2`_k=K4F4Newjy|hjcWtk{|_J>aSgxCPPI7pJ8cGWV?h&ACIrJBW(WcUQ# z%1+@+uY6O=%VYz5|2BGZ0vhrq*4~s`-oPu%U+s?HA_sudNPE>Jf&^f-z%q@1`ZZYnW_>GQ4v3MsMRsUu#u;XsZR`J z@DyZr1nVg}hv~JqNcm+EHpGW?Ta0Xjm6TMa3=hfJFU^KXBSW{^XIlw~A8;*mX`Gxm zp|o9|WkL3r|KZOp&p-c*Xz_K=E((=Cdey;r((eIx1P~NGDj<{m9JSOHJha*rmByUY z$;UUs7>5t`IWMxwxZ`ch7#NE}>MN#wy>!3rrH07#$0I_Ut}X>CLK*y_Cl^uL0xa#_ zbXbHT0T$yGRuT1CgiTeImwFS<0Gg+hamv-l9$!BG%b!~Q=H+iKw_f9ET*lxjdsB9G z#VWZwnMRlG#%7Yq_0XLQWZdRvgd9A_fxZU|51TAcJ#mG}|J~*2wi~~9anHl$@Dgu- zc>h)2IC5p#yL@5UXWrqaq5AH;duRFPw_aWT^b0R9U;5%}%gr0i70^HLQm&nx698u6 zMPuOeiJKiJBQHGv7_awX1Nbc8&gB(Xe(QN}kH?IyD^4!n%yhzJy)8nwcpDHw-wH&5 zcErE_%reFZCfp?V&kiJs?rC_39Ysxh-$*P#=e~rP0nlT~a$@ zQ@E;tUqwRepJDuBd+JA!h7rK&)BqPW^05fv){b`leckp;O9~ z5iwI9vS~XuALZxzVMUoAW287W6Hk@Bu#_g?#KI(NbKKwplyeYI+jWaI)Qx_toH>v# z^rjUWf@yD1bUxHqP=k|a99W(7+z`%q0j~OpY)r8jqhJyx?~jE6i;qAW=ddsa@F6kF z5nl+e*bsV9X1X+{xYUahYta(EkoockDO81 zSuRLQg$z-JNBblNKiW+w#mz9u%oWyZp*HyP0h%9%Vp|LXtZ zEKfDdD_vzeX6dCm761Ss07*naRB$PfO{cRg$oL&iuRRA_V=`)v&Jky>Y=cTU2DJnO z?;P9qBxo~^)fR!V)0n@6$O(J0vAg0zk-T;Q^VP_nyScw71IBS0JJ)tpwbJsPtPYBd zC+Z+Xz8)aKzp&{q)6;K(fi*5;ko+`W?M>EP{W|^WxM&z!BUean7Uo3bcP9O&YgQ{k zNWOQ7RouKvp*Y|8+BH?X_*5Ud`QxT+x*=nU;Y*XGuGU5e}oGah;{RJ!#5p7TTWB1_re=Mfe85jSKIYtN(=9W{xY%C7`q5|L78 zAS*w)6l^0KlC?ff&-yf-5MiZn?No<2t*gq~8R3?zz~C#Rb|gK1lrn?l`ZH_-@mb0~ z08LkJG)X^>`lWMHU!~~=gWpiq$GPcUIx6S9Pqcxvuj+&EzjVBO-zR|WWFyS;4;+!- zwmixhn&}5*A%B=RY#rY5sop1^T%P}DpId(GfBm1AkN?UqE>B;*lqYdAhC1IsrJpgG zhxt8>fA#~u7qkiGNVGqAY2N3UQ$pS8GRO4x1A5zG{d@?tw zW8W}OQ8|xK8x@+3iV6?D+M5)dysjiQ+d`oF*MVA$NJ82}QuTpJ$t-hx7+hf~6Nbs7 zeNsu>KeP2`=G&ZSoD;Gs zlA}WV2C3&KPhp+|J$Ljvr1LmoSs>>Ih=;ds@j7c3+aY@3=AP?gIk$D59eZe(sPI4X z^AJM^?3OKdfYsmAfMMGxdcg_+Zqqg14ygn5tYGyiOCF#Rn{-vQoffe2Kw0vQ4>vmW zrGF!=vTMrpx!CAM=xJCmar-oW(hZ552qnQOi$nXOuEqstT^r^YCEjyEu5;kn%v~G~ z`W6j_h0JGs=tWOSqn!3@VHN6cZQu5c+KQjL10iD_Wjvq_oIAr?q8OunTgoFgo6kSK zEbsDO{%?KrXnE^8UeBAu;M^8nv1?hCJHtRFn>r*F-_*#GP3HiME#%uLB`!&PXmSXd zbhV>(TjHs4)OBP{47kBxNM)xmDDYmK=PxhI`=4g*;;NsuaLx!E=Qu2%IqTaZ>|=Nu zIa8Fe`PfW4V+NwV_Et}>P3Rlh0H%+5^Red{yP6O2unbaSPZGeai<}ozc!elC!h&z! zv8nP`JJc12&@QY$dHTPxRr#{<+qPE%z@ZUm+8^6v0>I$IS$e%2y)uBE?O3_O1xuri z)>Q!$QDE&Rt)dK|+Dvj5NC^r^-Z9AZj7d*g;B8ZCG#ym&gJ#|Lij08|og59lRyRFL zTL)KmNT7s2*RbZBtzFceK8SK6KY5YD0~0K9io%cWWE8Zr<#kTv+z8_P*{3Lp<=yxL zk;A44ja+5xLSz_&m);T>k`HV(lXj{8KIjlG==%^>+l;&($~o|@eUEM~cOJaET)XrE zifv!0iyk1=%vYdyse>Y@ZGw|!SRC}ug3C$@c6_9I^TOrE~nwFn5XBTg(= zUjf}ls6&b`!A5v1T9uoS%0#2`8b$*$zX6Wq#@y02U)C@T89yni4huKMhA-xbtKP~= z5dw=hzzL6Ylb%%7v&lhcCO;b)E%#5dY4Ah8X;d3nsswq7x7d}p%KQnuL&B(b?#4T|r<_w0U z;}@* z6lk8q;FvN}Bd(U>2>4_7G%D(^>1s!JJ|za zjikz`FKb#1=+Bgtc*>51Ro>tkl+zxwn!7p72o$C^)3gcttMcCe0{NSdmN(z!q&e^8 zlEjl6e>t&D5v#pmR1iALF#1A4;j=bW+VYORGaK39tpIhYX)uRN&Po7T%#^*wt2nc< zg^cOIR&MQ7OKmYV*(+|~fApzq%YXK% z-$a&QlUEc0}FQp7DrwmT|y-=#><+Str46^6u?l z2wz!8&tap{@g_^Z4q_21U{zjMgr@eWF+n?|uR(<&e6p%Xyph_RBr42&4hg1=fm?m7 z{lW-`^s}qHd-)Te{JG`cYu{VG_sW}`6PaG7l3O2ZJs@yi1XVw}NaTP%uNrj~aa_O5 zbI{K5?(+7VH?=0W? z+RMwI{mDzqSHJq^^6rg$j{2K%nsRC0^g*0#-UdN%G5zMd50(#nh*uDw=c!-ho=V=Ul&`uPg!nJRtrhjHWU}+Vc7>Lf4ATmrw;97>15uZv<3YX`K~ zj)0COav%wqwzoe`O*0ni>AIB^?;RSo3!>?8<}#@7Iw4g0CV8g75(s7 z&XzAGr`_O&wjUUzQ*Z4XG%)1p24Zo;R8nTvpJtU6aDCNuP|+hQD6F59;EKH60pS-10blOUEpndR7 zTUQ-rQ$)fhR!>9^`5U=|H26VLS{ORN*$A_yJa$|__enNTu8}G`i|Q8j&GCw+C!`SlJ{?DB~yIg$X+2!kh@`dHz9nR%8 z=&hhVwFVoIrypx?>BJX0Y;-(VHftA=#Up<^XLz$5H~T$(l{dfe;pE&b&AjhNue`WC z_53r-CC0REt&!;s7J1yBl}I$Yj^w92lGe}TB-&~IXt!F2aoRXLS!4weltu=XGHsPj z7Q>wXqsfjlnczU)(2V~+g*K-PTksS95bZ9;f5gcI$M@WjeONBOFm+4%+q&89EorLW0P8{6hpzx9I>z&%v9 zm9CxQ{X=&Cq}cG;4jmroty%xGy&#sSjgiGee?R)GN6U9#;b9=>)s~-VmJM;qD{+SC zgs3zSjF3F(;AJ!@Ol3n*tV}%ydrEjXlsiys6oWLa<(u&6Qx<@sVM|`62sfBJ!+P;E zPwp>QuaRfT;v)U}taBOa#JT=H=cfb5WBlVB(smo)BP4xiSf(s>yBSsA4!<)Vc)h}Z z-i*SOsc&>)Q`mN;ku6;$w13f8q_>~7ueB_Z3w&~zvIWhtA>~4hv9=^1nvohXtJFU3 z8%M>2UMs*Graj>bjIwOW4b6}RvH#(buj#_t+#`#>ju;uHGr!IpvC~MVR zg+f%EwqBpu@AjE<_(bVLHi3O3!@S0f|07KMT2Hm5`h;Z;JaD0pPl02Xhu1~w%%5}$ zCvUs50XiZ?rdf3%#G4=V;UhjXdWIW@&YXLKyt8Zdwp|ZvVx4Jux9zp=(_@%pF)5&Y zeCPM!J0yREtXJ9W{ULLNn{4XxjbCv$j+aB9g1&u!`QA5vxcuLL@!jQ5zw^#=i~ghZ zhuEzABMRj!owYlCgLKv*Q7Aq(CanR5rDQ1_1hI4z3E2*_3{+9%dEJ^mOEIjQy9}6j z^Te-s?10dISw6L^ww~$}z_BXcn5rQeI2M}998_ESM9hYvr1B2>DH*oYT5M#iMl`)AXjAaD^T#L! zt5_N%{qUv*_H`53MZRw8IvH@#hQ>o0jfpkFNYj!IMNWNu9|DY=k zHt-iwiX%kE5IgfJQn2$URAk_nmQ*HS3*aZF|0~fDRzWr!< zm&0*SPW_<`%9wsy?FX6;t*>yN?P-SE)O>j-Mym#V8V5ljRzMw>NLX|MRz^#Dmd(j9w6$}41?(e`3B6p z$E2@AN+Vt1iMRO5z5Z55eW?g*cltsZ<_(b#pfG-8->S0k7&PcpIO-~P4Vgu)c1Li2 zRNOLHcd6SH82I2>v*rgZ_NphK0VF*qDZ-02rHV~1G@EP*wtiETr z0Z9*d)S9l&S^nePmR$Y9+!XRc>4>gC?;yUUB;cxCyMKmO+Om9M_F+`Y?_6ciG3VgDVO-jH#bCxJW0?(Fa_VD9qln2#f9FSbt`iE|t;8aCq} zx*P-ilO%f4L3wqLeiWP2ZE#Wy``{~`rOr*T3E^_e1-w3f@#wUH}7#1-wt!S{o^~! z*%Ln9fiLgA`^NJ1Km9`HU15OUKAln`D6+O>3)n0=i!~q1LOe-}30eZ!fW!^MpAy8G z0Cfg>XBp~y=(dCeC&2&M*Y?sm-Q+DpHiU;x`66fX8e6;qW1wxcR+-(Tw9E6D^EK5Ry&lju`dN1ILo`% ziOQm}$RFbgV`bG(8*0aOxvG}bC`1;KIIsBR&>1(VD1eJ4UJuJ-yF8>FAAplZf9B+s z!ckr?XiV!1BHN5(tZQg)7Wz=ACDR=w6SGzZZLfDiD^2poP0updYGC=(-w}u;UsE*W6@`5U8hzMV1d4n%_%ZX8? zS(SuW_VlrEw&YWOaYdL;muZqP@qi zEm!~HKVE+85B^~J)!+E_^F(6SL@RD<<0yqAFu_RS5Uk0dxm$dy1tNW25|f@ zPs4kiS2X|NOMkr_`RE7y`deM45Y#ejOKM5qlF8anfVJ78<;h>`(oJCX9q{d8ZU%h( ziEFu;LSLQmrkK0ec{SqhyW9}|Gz-N(iBp+s(mvnx;@VW6Dx=@I?v(Qzv7J%+-0UAd zoMSwG)0W6siomszWX7f>k*~Zh8s{(h&ak>nXLkdCu;H8U`}&<l&l2(KTj+HTJp1^>8{G6` zHvEC5e4v%(uYEK6h^LS922k3)eKMc#gPzZWcHZOM2OH>m3EszJ(wpYmkB~X!D|h-Q zx}d9N`i%qqn5(!T(o{_o8d-Kx^jT97cD$@dl9yiw&>PtUs9=u>mT2fz4(a?(-^e`Z zb4@wY(x_i+#jiMF(#+V2{hEdg+&n-eZJd4zU090%XxStZAnnKwqSOy?#~lkf$fV?` zbtG1JugQmw$Qtz^Z)7?j3v24k@zono!-Sr9Il~(?Ya<~8?9HRET{-m6@ z?!3vE#2e`juOhp2)As<@dNA#u0k)($t2Di&hA;DRUU6I?BviZxItNnzsifgsk_Gwd8s~x0P zq)$OVZBua5wG|RVfz#j0^}P6y`tUoycUVXBwa>@oZ7u$-GSY690VH4!Qs5Yu~Rc(3`q|bnFVOKiw>J(u7p9;loQ>3yLI>NLq zS-{&m#6^STgJrw?8<_Z&xuS-SDZeMJph_z~G*hryWei0tUw-*teSZ1mum9Tek>{V|?jIf>pEDtNyc;5$xg+i5*F{k`fjL)XqDMQ; zB*?MgtZ)u_yr}S%(YtOQGbujw{k{))^$JhBd76OK( z`5F94h#CWiv>g~D-Jj~v*Mmn})H?^U5Cvwcbud$tO;&AAIRG~AKuKDn6|Y?74|)bF zsl6Nhkc&va-E)BjlLyz|UXFOD#s%nZ@tR!TE|5Xbe(J@N6Z9!p*&D0Oz(hIYiXutd z7D@$Hq7o1Zt*n(pY=Z4Lf<_sHo1Diy8I-;VdG7O+*iSvXzg#-YFv=Y#zDk4#gENrj zwIYsE2#NR+o1fn~RJqo~u4zInt&gh@dGbnZ5V&=eKbXLk6C83AyCgz5I@{2K;&ymdfV}ejSN+V(ZC#tbjbD$J5X`+Y>`cv;kt@cmb z8~Zy_;X@2@{4r%JYNX@)DSuQ?oB1Fz+U8gGK&@j1dDH7SOBvEOn0z`3wIGi@c5nI2 zXMUH30ABISxS!tULJ@})jxlp=%Eh_%VNbeAC6CqvwS%TcaHMV8he<0b3uRtOiPsJn z9Zq8Mk#l%MrB+#hQP!EFwEN_mWN;imNe`x|) zb*Ef|R}OafWZiM1zt5|lU;frB%b))7x0f$|`8950 zV(Oa}ui8s>Mt5wFeCpEJMnK`6u=*v0dpuEdocN!sQ2^+g~1g-&O8vKF2q~ zcna7JCT{uOp`FCr4lH=Z3A61(SQZ$qD(s(&iD^Hf1cq+&a@x}T*ESsBkEw+43*!hL zXmk!(oEw-;2@EnL7h*RS;xzSW8~NB0K>`$;OvqHI*apg>JYidhxiqttY9yo@%#&}$ z0IwDyO-ma0gV6+Lkoe3+QRj8HSY*D(T+mH*KdbR@d3f{Y@}ASvxG zZABhJ7F8opRT8v5m1(~!Q+`8l&BP4sYP%yQ!BCY2D5vB32C#K*+L%M0?M+|vIU|bI zwEzGh07*naRKQK?+GROxE9x;$*@ot6cRdu~ik~>`H&}k@{2xUvB9co4s=;DASQtV) zm`KN86F&0#GjnYG6F%p)9`?^M{tAzLc?PVusC(6{WbnWyD5llNEkg)mSL-w^`7!U` z8jxXMj2{6iHgZ>z;-;MP!o2d#9g1<^&lNoKtnh+T$o)A5ka z8n4%U0@VdO`=FzlH0oV>2F%DXMUf&GB}v)#47M%Dv9v`2gJDw3m-50|JrZrgsctiQ z5vC?Xo`zP2heDvvNvi~4Qro%3-`!#A;P?+FUy*tEwX9a$q)x}Wq5LFx%n zDMtmZltY6it%u09%%M~ZKGIhd_zatQhb)w4J_Td^M_;u*+yLHX0ri+d*%GWzuT?XN z9p%aO7%+Q`S9HcXAhzA)z#8QV@3`mujK$h*xB&Bmr@3i+ymhKfr|L?%FnF}&X6obF z-?qnz`cB#*A7Wu)H$C8$mt3Hx^zAks+2%`JIS`}`6Ibr!kT$?!tLf4tfvinmn}Qo} zB(&{GSJ;NfeC%6gLMxDC$_?MhZ!a`TXM1&+cZiy?o4$0{+$7+JNAkpHc-qVxdoIK1 z#_yN@#?Lm@=l-fz#nEqSCbnQ!d0G~@M+m=o_TuvNr#`*>(*N{tmXCktGt0A2KE*4h zX)E+E`@uTSee{=#$1w|?}UE{USIX1I5BRR18^1o`)7bT~*bsi~BUXW}EG{CO`T~}6pi2F^!hUZYx?w}HF*7#% zDobAdl;n74oC!m`T~S^Il;a@~;|M0o`>=H>cy*O!3j~~)ib|olt8e=k207|Ey zw8b_Wn@EQjqt&vli!Ax#Hx|Gk4}P<~dx@Mk7Md|lJN6a$dz>>5>Gy|>gS-TQjYe=P zR1ZS!4;3yOyu%+R+J4jmiHAmv&~!Z`XtpD7K&~GuD)Nze2fHpk#oG?pgnsE2)|0-& zW(SurQ3wBaxu%}j_hULYcFeIx{nBpdYp{liZCG_|$+Ya2Q?izBl+kGTDBP1k_`n68 zpTRRqk?|1T^Z5R;$99&>mpC_hHxPbjs?xb6ecNhq!`AcLA+N^vjSb;drZ)ONV#nc_ zK%BCITh~?SP$%qQ*;ic0-{rDzhYh9l5BU+4`I0e8^Trtz*|l;EA4M1G%#~D57^wI* zYcYVm0g__m2oXQ>D$BPA8QUn0Bh$RTnb7%yt`pYP@^2GV? zA93Ubu(r>@hwh9M66yDHME4%&hJb--;;@cHS_bXIwsLQ|ee2ET>Xql|Bj>}fjEo^M zM@hv)p25S<)AUIIkFe z&vT+%cHZyDr;Ay;q0bE2tKuI9fUo>v8xIha&xSOW%OykphM)+D*&<`* z%t<~$No?f7RZ=KwVHzK>#NljOx*kKX+5zNm;H<_B1ViSOG24FiHXUUvKV@y=0Bk^$zbz#rS=Ic)*C*t-!}H43<(Xgk)#bPT zRxKT{Bbu^I zH#o`fCNXhr^WryDF~^4O3B^})-D7cge%n`>5s&SYIs>*`k-zb!x?&RXJVDrAI`);W zZKLg`?I~hU|46Fhu=HeO(qmeot{lKbM3(lL9r@OUkPXbX;pRpzGAYx2Hqv+Qy~;No z_LkdRP`-VW4R33W6MG6nB}HbW_|yJ5+vPmbPg}G@oV;2?E`Lf1kA$RCzJZC)WC4>W zmW^@RB(2XJ(vZ>Oq(G@N0M{<=EKj`;EEg2J9InkfvF8D2661t!5`M2aYp>C@WgBx<=uPPq2mA%T%%vt`nrpSsxt=rUlfJ&cXI}J?w0h(n=-tr9Hs|kS(a(DvY z;*W;Ns=zMf2{k{Y!xXtw{@@SCEDsrFOP4+e-1=6|6TG(O?4^U{N7wtk>+l6Pe&Dek z)^-v@ez?UcMd5_m_BAhUcj(;qo3!&N-SDjfhMXk*Aqav)QWGnQ`RE<6+9A;<)UGj3 z$beD8wu&IIayD$EOi@>z;=->^k7_msO=xrG*d+>^C8O+w| zneR9nf-nUh-2(=Prgege4#y4upy>po14R4$Q-hO{D{{v|Chh{J6yOt4i~M3 z^ULO-hkJg~Bz-yy7mdIYqMa17Ohz~TinbRvM-kiS*50so9^=gc=wuW4fLHwNa+T{-z`MI=Q-2)? zJjoE?IdMfxr=6OQbfKtsEVoWuF6+=T&U$KjH@KuCPrFm!fV8oW(Yssz)CB7Y8qa-l zTMl92QPW1`<~*uQY0xn@6x5>667e(jgny`4>i9>K$`pnvfPb`7&;ZhdyW$9T{eBz^4qAftuM> zPQj5Af)*%rZp?VC<`chuZou=M3#plJsyFh~XCcEqo)tZi%QC^aSrPw5DmzoGhFj@133`sDrbfzU56w=urZOa!}#P)pW_k0cZ z;oNL%Tj#=zQ(UfL^14g#kGK)}5f?RHIjQd$O5!3{`gN+r%vJ<<;PzzQ#J zrbqo)2ME;#zUG;?8>gR|cEijYHQbZRE8EE*L8niB^7aj`VgB|d&XLSxHoB8q^SWZ% z5)Ar;xgxW7;p+0l$3MM%`hWP>%P)QQx0dIhdTP0VGTy1eO#-!V_8apqlH1O7jOmOm z?7*DiCdRb2;R9z-@|~vukAL{1%UA#E-!J#x=5t+fphUJ+BIs713~!s)zHMBaY1{WB z?Av9`_sOA)m(MMS7nzT7Bm1u7k#CA)zOc(%MBaMqJIfPKzpz}qcn#mWa65Fx25$ys z)yk74s~jqH?TMdgKFWj%3r4?8k!yDB&bSRQW7-%1Z9mC7b|E(#zuMzQFE)8(b=3DF za)NdqKYcq2yyc4&Ke{wmf2uw%gLwKZ#`+`CjFZHc0rGXZuE9CiI>Kiei=mCJ@kto@ zfno3nfnw{oC?VUrt@8xsG!=Yk#Chl^u+CAWcfHA{xFd^LzEx8b<9s4qY$^OrKweu& ztIHja+T>dMstIPeSI+Q@)*Pmus`V2XF9nKJA3^ z`08pGy|cls7!M=I5n^Q+lLE%kD!02A9}H>ot1p2KF(hnLrLB~iMmO>lqIdmW^^py~ z_!(9@VI@%Cq>xk|A&FPsQuyn!wwaL^HsyFu@zCH|ZpD~R3z$NT39&!gn(uWv7U*;Q z?dER=nK*~>&W&H*z;uSgCr%w3ZPeqO`gVk{i~0b8~1qiX?kkJ4BeY_%RBPOoca2F125yKcj)waXlrT+ zHF1{7RPfT87C=Z`Lg1sELbnNq%+wD&8~!c5gWeZTJjTZFw~o~4EwcV4y1t>#kl!v%*dK!7Q!ZwKz;3V zcn+`-$}reAa-M<@^U_vRmqFGZ+d=IS2rv2dAs^Gga?L)xqYB%23tLOF4*)Iy)m_nw z3!VP$UI7S+W^iyZKjO;4>cAT3deAi_+3XxSh^$EHW?5|mfk_5R6UE8apAiSSffv6e zC&bE@u@VN00A#nEqH4pSl4#&(n{6K}UD_ykm%yZ~t!>-FGG7-uR3{#~Cht%Y8?2WD zZlc_yo!z7F@o+3Wer9KFrMj^A63?tFJSe)qNI z7XoT=WFV{S3O@0hmzuEoJD&PgAad6rzeg%(q$fVI zX#)pWc>;K_SqY{m!7|%L6;M)G}|_9r!BMjmAM062DjDZjlQY3#eyla z>Ngw24kx#>&pf|;=%4(?^0|Nc`Q_8U`YX#5S1)sCC?^1BG6yzR;<@STtC};85j!yZ z#IL%$`KSSHXjl;cd-tUi)2v~4JSObxUGkb|8uSqpx(BSD`Q-0IVi(e6 zh$?>wiQ?;M9x&uOI2fQ8-8!3Qz+3j>A(|&2?MdCq#F40Cl9q2BOhG2S%9nfakGS%p zrjyIShx({+fZL;NYyh(`bmAS3Y(Ct4gVzoCJsR$=d7IJY4g+gW-r9{HqRA5wLC~zx z8VNw#jlkr@KJtUH0$^-ghj4_{hyn@X>WiKfyqhe8xwsq_K!0rew+kTqG@)mo=5A!Z zQ{ihoGijhceRZ0zh1RIro#I5E?Q_1SMEh$ivPrBr766`M+Fm)sXpn6aCWc-5fWO%! zl&km|%2~k1S9)%=sV(A_ZP=$S`JEK3xYL5kO$?Oq`PZ=^Juv)}C6o#rEYdbzz$|m= zuy4>t>LiUY%B+pz4KjF4dedag&h{)`$aY>>bq;y55rnOxQzmlin>fZJX>1#XsXnFQ zPIsCEZP-_bJ^jqWO%9KicUVC2n%|o8KZnuaSDEtsi+w40M6WcHRGw-YJmFi59wu#{ zG^+qHn_`4cS^6YC*utqk`qY&~$dd^z*$ue-sqsOr?-ftTNjoUtlQI|k&b zy2LCVGyb{2=9>^c^G|<$xpeUb%x5;k*EZ5PJm=W1)WW}VvIu79Gp~LPSc5ufY=KMA zbie;Q>O?zSl;TkG;h94=Gv8tH;UJSaCykl-D=LQyFcLTtNb5yXDE3=n2I&m5{+g3+ zAi@D2p7?hd9qh2bBfB)pt6zf}X=QGg*Sc4)N7C9v`rP69ZSorzY%|1{3?sL(zb9{@%m3!FI@8J2#jU&I2$0F)6u$NwZX?gvJ z??#s@qFW_He^r9?}L8V)5il7)+8$rwk zf()wh19%+JKBG;wOYcfszan?06&^M9rz*6^8x_+puqPY9oXdoHp3^q(%#Dp}JlkdY zGjs$893B*gv737&Cn%U{gKaaIX}DC=yrf4ix;IG3?ep6q7YuN((yuWjw{o8F&E`E^Ty7{Gc!6N|iD|`kxG|t&<|InLWIW`b&#~ zf-XGR`(t9KLBUuqc}i6tc;VlcquPy}V)V1;x_qCLyX1Z4vkP=R|H(m+lp}Sip5*z7 z&LENw?Qnp!(%Ejje6z`z&p}!nl{oD=9nV}eswRgyF|&UaD~yzi#<@4#D5{iR%cU!V z_w}8=a!~zD_hXNJ&Bc5-fPHfl;%XZ-Ns_Cq#<4*Xg0@*E<+V&3+TbVW6cDbhA9cvT zT01qCMqD;*IVT?QH1-blqc1&m^hq(AHmj@Ih_DR$2$}m3WCIwzmf{d5$8E2-y@nB% zI-Vs2rXgrZ-xGh@lGU$%onHMM--Pl*@o4(SNB^Txx^i^V?`t{n}8#Y`Vbtu$*ckC17&-1FT zAHICNy!t9@6+CH?GFal(p5g!4t`R+amEj?u(0J@;Ke7D!|M;($U;f-bU!MEmbGf08 z=OCjaYc>(+b(uvc=5SBOd4**@1aZhslV|t<=K*oVi<2R$;-%%u%U73Mmo6>e`KvGH zW;%I;k%2IxkuGcq3*Fjc8Si)56?ha!uu09N{rShZslm-(V6GD!j}71h<`oa`++VKW zdUtv5{U7G@F6Y$*e{G6lpLQ(WB^y*N)(j(HxX?~geEL7w(Mb*xdfC=&HXJXdCKm2 zh~`omkk9eTaX^m9GXrxsP2eBqDBZ)*eoZ0(eNrWBF4VoRmVRPmY>QERI>auH@ zKIB}Ia?49XyIknr;d{VxoE%-}d;=$Kjwx&BTVe*kQuIYO---EO$9E^yx+g9gmWAB( zfZLX3%6S~P%ak*KNwDtIf=02T&+^vrNxsHo1{J-l@4yP5K|2j-^k<}FR(-~vC325z{M$} zhB`9EVb?=G7vNiCuUvW-81tiI zp*`&v;qkpK@c3Px_I+_VzWFWgg@2Vz;OooLjl0X8m)=-j`s?p6|IeSky!^i}-&o%E zjkHK)S1eEZIwv#l8e^{gwGTD6=}}rz`lGcM8uM|MvG6!9bp2_)OEPVaY6@L$dt3knf5&2Px;7ieQx=k-~XNE z=RWZZ-1)<6cIa`rGnCQUAuO+HMu$(~W^$?hBkhK&ubDE~Ei%|ATN)?bJ3cGU6FkfP z+siSVy}LZ+yGNXZ*E{EFUncVEQEtC)H(jk~El>Rt`D7i8XGk&~c0llf{z#xKw9^#Y zrGD=kzfS{xz{&j~8^3+kbA2+@L~%R*)Z4fxhEbP@w+dpN1BJ?j`7>}+-lWR}IJn9X z-T*Lx;jJTPWDj7)P~hs?u7C7NkIy8U1Fp>0cVs!RCC^El$yEkoYWFT9=#3k%FI=xN z$>mkhOl*9OT6!`*Qd?V<>Tli z3gX#zwLKqhr@Z$$cvH{v!ARaAGJ{##bA&U|5FZOkNJL1a z8N-yA0W|)Ux&}d6OqfPG{!(A+qk5%MrhGX}4|T#bP(xq68=2B}&<3^v5B)GE$hUK^pLSCYw7GJ~uA^^N7#D(#nlBQN+>R!SUcv8P&t zb*RAiVZA-;m%Y2S=&ZYm<1EDEZno zb!bq)(Q8J?=^*VaO)<4A=`EQdQqF1il;Jdg3EHgxNt;$Sc#0TI^+#Me zlqMQ9a@T*GGRhd(u(IYO!9@P`pP|1)Y^dXh*e0Qt4ZhIxGl>H>QyE1MTObnZ#%(5J z$Kxy_mMmL{@n zc<{la+;o)zqjoAb^=~vRn_kqeRR)Cdzcfk1Fw%-Jl(zn!GC~6`zE_^SDR9%#A8vop zz#QQm1M$aLWIQ;$xqS2MuP{01T+fMG`HtC9E4hkwh4tehjNkgN^%|cE1LH>hE8oAl z{LSCJvAlDGr$e(7(Ng8Yu>v%M$?@<9`W|}t#P7Y$#xEa`fK285gO6GK?9rYurLTsP zj~mfG^08~n1r{@R`S$M_zt;@gvU8rii$Y9`o+T*Lt;%kN!Oo_LG^2l1KP6Y z91KES@aUcA8%05#;9SQ{)RT7Zl?6gz+HZ&qGTsrIo(aI_G87Y24}({Eo^Lb9g2z8e z6&7)3Obppg6c`Y6lfHC7S6T%TlocX$fpku{$4wT#?)l8|TYT@A&v}(uB0vBDAOJ~3 zK~!+xtT$ftJ9*5{sLUf5WVyod0`cWn-dMi(;*T`FjL##eA1e) zLBVNaxPVQ#+#zWlRw;BL88G?E7;b;6ZvZX#BpC6`OQFqe=cVubawAi`&P^QQQINLf zVkPcL`%jv@aW`)n!Pb0>G;dldjdH9v4$3=ZE1K$!S9`RN5PlQMnw#Y* zZHf-4eJlwxa)db->Eu&>!E=5}T%3J$9uh$7M!*!ToQRz=TgThJ4arJx*-Ill%xfuz zjFdr}X14o!$Pn8h)g{n};UnFr{r5ZKe?z9mYv$*lb(k9P7w~99}NH!erPMI&4Y{Q{ISWnVC>x4MG1j^;zs!oSTOMh-}+A`QyUX1 zW6K}f7YU`=rVT=zhP*e#IINxggJzp{roB-}EpCYTRMS~)R%8YkHcB`F9pvyFSliBU zuG_=;yUa^6?$d`YqH|t-r8>_Uxwcgn3S4?}%~l^e2lBioD#XKHdAARn%V;uEg418M zL7P)U3V~mJ)@N)aX%L?pjUvfNc#Lo=rNH2cO!61c0Lwf9{I+aGL>^S(K({GnOu3mO z2MeS^8x1{!JZh`HoRvG}Q*LE$MEqD(UzHSaGl(V1KE z{^&~|`PlLg{`)^ze&hFkdwKTx7x-4)LD~}HYp><8J`v=R3rC`s1@V@H`~ijW+rNi- zBTDP)R6R+jJ;-?e>F1ZP{P5M~`b*y(7vS2(F#?oHt^Qx(TV$32ohRG`=@@tR+`;nr zWyiODHf!CubdNmkFh+&q+t-=d78i(gqAOL+)RlB7f`(Izy)IC90P9oQq#oKo>hQ`jsQ9~ z&%ByNr_NK?$kxt?M^a5Ie$XjH9X{Quy=(u{EGq^9UUG@_Z?$L$)8_`W9b;D|pSsuq?D*3-*aLpu=Ud`YPy0+}yhB_Zhif+dIR!n6Kxia-_s@@0V3zp30+ymb;)gTHGw9pfD5yrIh*U>pnc znrEK=<+3a7Mq|=4lo310*;mc2FtX7hh4xy$joq?oTm2i7A#2J+m*A9xgtSl`bNzUi zHgNCVljY5~PL_AxVttfvkml)vp?j7Kt~J!oA#d2SB27RrtwYQjYBRcLJw$j4X60DK zgvv+4R3tQ+ZGhC4!;);lx0y!zRNI2hw=F!$CruBpGPhLy=pW8KGA1FM9WoR@4rQVsJV}}(;kEy% zfdp8tYgRa#V~eqNHJ<6%5P=~I4Wbh)>9jFvp_-8}{i{uuPSk07?OpY(jFUz_(L>;@ z7~=`6&`6FfW#FsX_oJ~wq+I1WZe(0cCuELl+fkQACoRjKg8?CGW9E=OIggL!yAP;`99N&6rdGHPoP26~Ux%=9U<@fH6j*vxoVtQxR)x za52b&ZXKfF@n5vGm0?C-^RzEV-k>+0`1RbE8_vU{pZTkkDnyCo*S17{)k)I6(+yzZ zYW7gTFi?oehJhCnB?F^^NfG#zC7H@WLMpZCIza{-I)If~7-7&ys^~46$cv37oxjt9 z=ukwIPV81Z)j=3pTXf2(eCY>aj1?~ZD8s}_1<(!^{exxd?ts22w*nwpLmK?K3(HSE z@!ax@pZo0c2{wNJ(a-LyrVVLgkNH^8pyQPPDn@g$8QzQ@4<5UHOU^8tx&llG>@Fa0v9mNj;%wkn^r_ zFEGzA(^AJ-E|QLKzKQqmFIUf0p|m}r&(aK92=(pcFK@JDZtYzu&pyS|>nLh_fDii}mJOMI zYYS-)rHJ#WocY{0;BO z3&~#*!=BQn0P?K7^?!U4*{eW_$jlJs(G@VL6`gbewND-`Fj!0cL43qmw9ACy!_RSp z!`+>{M$ISSE3eey8_5ksag~v}X;$Gs7NQkKd2@u1%w#ks%<{*+7%<@*($bYylF6f7 zLq*muwFMsFq>w59GM8zh$OSau0Z-aeuH%@5r`Ts^$}skC@*9(Bo0vox22A*NIp$6you zPyOt#L5E!LfN=`NIZZD+_GK8I=EScX{gfKK=cecPM6dQRV2^(%L{;;iZ=qC)b&Db{dQ|v(wAd8+v+EX%xrx?OGw*^oZ1Hy%$^HvHu0=^ZC%?bJP}o&Bn_W>%5ID-jUeb_Wg_l9p%AHJUzkZ} z^WwpBc=Q$*_wO>VWZuWT&=;uXwTRBkI9yfZ+G05FgqwA4E#LmzmscCAzBa@*lhOw< z>?LamK5?>IoKU-9OQisXf6`h}tvT_9ucZ`_00q7azp%hZOw?DAH$Qb&vAAl|T z>T4-#OAQ5%+^ItqM@&?^4o!>GRpOcVh|9)O;_13ECIAy(S;aL!;AjQC6^1{wYaq07 zhFY&(Kr92eiJglLlXl{v4&BVBuEGbe?Jt9LIz0kMKD(DlnmBF9p<4N-*4l7Nr;0Ez zG#a`g9mydpOd_`k;tligjWVvXXJRe8fb!OyDJvFgSU85XQ(D3q^3tT9Np8wjcz(Ca z8iD*|T%c^unO!j1&*rahwdm$x#|W*f9QiutwvYI0ux@5i2OxI$jRu>!uH%@+R$|N5 z+$>{|qNE6ksmTM(`Vi;9ZJlJilpeU_5V14do^OY2dA7>F`baq(J-_o5flp7ep=zJ- z<_O0(H-RmK*Ln7nmR-X@Ca9wsf2*eLYG@Bu{gcIb#RWbw3f!VoScuzCnjN%c;#=Ce zuk-arGzMZ0&Nn$(P#)U8Pi*=ma9(k!-rSVN8@QnHEnChTvhd0v;t~@NuQ5ZYDDnD0 zy|xdn_BVNcj4emTauEdSX9zEuQ)QKD2$^+~`I}VAM33_3`9WEs3%W|;%PD90D;O0e z!B75^iJeVV)_|6D$QMR&Lpy{-vTB5Hh?@>fe@I}EhA^{DQx4#rvskb7nX=@{VS41( zF&)QET>2kB4qrK_UxzfWL73jLi9}yzgTu76pcA^_SXf^N%{&!F!PCwk9_=lE_toR& z#vM#|wJ&8U?<|BxazTBUr*toW@Po@Q{&)ZF^2?w9JWu?7c)7sFuUGxP1Az@~pni|u*=p>8r?{m2KGFMsK)%l$Vw?_<~W z+4Orz2R!Kz39w|^Ay3_+0CH`KZCm=w!@QZ!bt&JK!z_Ba{^k#s zXP$fia{l7`;K%U@)L!S9&hYI=?Ne^vx{-U#*a0Rd*gg@gZ*tyb4-%bL( z-}GhUczycU^{cFRIU}t7(b*gpHRvk~HS>X5NFl@{6+ER^MABAu`|E~xl_3*^{yCS3 zzpTUL1BiU-=Uii@QFr*OUz%hGc$1%WwFfd4t>sXRzEZA-Qlbl3BpNG%G0myHB%w04 z0dg&_>$8|#3)Dbp8(6i@0!SlUiO98$R`-CGWKa;HblRA6hth|Pz>(&de7aqGUEr!D z{f2iCKj4#e=Xd!mo#z`Cl}>o$oWr(bx8=#NWlEYn35rE`AfYb19QnXP6|>fQF=4wm zNGpl5Hopaw0`Ti5FLr!L^0x|D0*jQlA;vq}tywow8HtPz4T4N-lo+yIg=89kac z4zXrJA6oK*f6^HDTffBkGH*a|JoL$5;(ZRgt>d0`n+JguTTvR?Fyg2o-7-sOrujkX zz!bL7Y9GFi9gvR8>F_@yV}Enw|Ae*BJFJDi!%Hcz-#A%rv+c`{jEQcYhtKMRGR9Q#CimgpGgNG|3e=*o4|z& zyUXRv%*v<}{o@-;;xFpO&EcHmU`!0_T)&lem!Cu4a^iec*=^J1A6f#hiNFz}H%VnW z6d7KC)5nCHw;|gnys2;d(>8Lo-_gF2qkNB?zoV>hCHa&hQ^fSy(YDtYe#;SG33P( zWkkHc+o5ogNkN?cK1d?QA3~#%9{5IKZZZy#*lg`nqO#Za3Qf+t(C9-+m2Fcs?U~uO z#t<8V)L)3CiKO@{*NO0C%7XygoNxc}Eg;^EagV1_9f#8vBTJ$9+4hcTLt6>FNe4a3 z2_TF`Xp1&y9OT?2s&l+b>Up?xip?4zdZdHcPlesM{pxb{;rZKQQ z_z`cu{Vp57-{wK!x0dUF_nqaB{@pj0KlsQvoJE?Bq7oE8yH#R5QvhXhwbAL{m>2e2TXz7{B_^V z2QaiFb)>#laynrnXo07*i*KP7*D~os(`&4gwso!LN)b0o zG}y34lSz3iIE^-B0rC?vI}ekvbLW<;ANug})4%t7%jf>ZXP2M(xsNPYE}o~EF}dYp z(`m973EowCz^LnDVV?NaE5lAN*7cGX?&-*u1UeV{_PM+A;Njin;NC47Ij{M<_wKUK z`_cD!;&=b(Hh0tU98RA6n2YT;;d*>F77gxSb;f`8azctk(u?0-Kc{eM4yn&63rfxO zqT5FNkj8tT%{LLLqr6g$$qskB zIk4{Iqp4%+6B6nCICn3__=VW|iyxv`xPP{dL8>i7K*}o~m?r`S%PqS70$LqukPkw0 zYiwVmZmr9w&hIYQu9COgQ^(rwB;8kLI%)IC;P4VVp)gG{3DZs(hT_PNi6RK`>xert zwTz;JQ(ns3vMAJS*jE`64_FjotG%`#!I}2C2oAKJUU0$KaT~+tpeAD(Bw){Ro(>7&9mOnCB z)~ztX6Eroic?ja3=tIw7pY=KEhVYH9fsj13Fh)+`O_yij1CN2LjzOA8!6_5Dm|(t` zm44bLc>3owY%)w4Ep6ou`?PZ-xw3~M_2)p$Oh=-&L{V!bX<^D41{js5@a6|>jA>J5 zCzI;p9AR6a<933^1*R7jP=jLx;2i>xO;#|4IQ@}fJ zI-~d1{FwC+L!H__m)A-~V9&+#$k_8YdUnZ~&&wBC6shJP0wq|XzZl4?7# znmw|qr*je-TVz4zf`WfT;rt6YFkfAm%>V=nlSBE^9sqNJG%`TC!GJ>xiM*}0p?&Zu zqw~6^2Ssq!OG>-i3b8hzKtA;(&?l)C7Fn6|J$Q!=;CH|uagoghn@`MGdKOQebN0gC z1>9;<#+x^8FW>yii#f+R~&I8VHTUL#&v2 zvq91$AAzPPo;ZB6PCoSl*CVydf|)mv#&>3?pN8WC4-9}lsE7@3aQc1VGJhj4e3eJP z^=V$m!0e1L=9ymake4~*4|qi>Z}5vU*l&IMUZKj)0dedpNnj(n%Gl)B6p09_eG{zS zpA?2kv1{N{&)SfD+vQ}RaXq!kt<+Wmy!;GlGdA1wT0ZD{4)ci_=I_kcT?lcZ&9O0K z8>NW2DQ(DZTU6ertd(D%rLCZkrWU=%mL&O@v2E87J|ZPJR+OW_>Ki4XUwCs$@TN&+ z&Bk1y7ZYrI}au_C0(rbPyocPwOGzsWQ-C?9Eqn<># z_$haPEsriUOq-j5FYQGcrB%>OuCNdnE|vCAfwL@v($9hu&p(O-%MbRGcLT%MU^b>s z+}NPL{jOy;Jg9eXM6@mt(YjH#X=4&T>EeR)2`ARGT-zSqJXyZ}wWBP=g(u2M4O{$H zuJ27f_rm*^pZ#zC)$$u`{(j&iA7$hB>~aoy>>|8ilzWrB!%>%MLH>r|s-DCqZ7R6y$Zx{h6T%tWD zI8Qu&v|Q%Kb)S;o-Qi|2Ugyk5t!VFZa_)urgt^6?d)!pX=f$3X;lpgQGhYLda|^oj z2^K2IH~Z}JnGy$#N32KnTf%Pgn#U&@06U-*H@@xblf!HX?|8E)15V~u%EkJafhF^t z9P78ro3di+EK_33S4ixP+R+IsRmrKfxNhDi*EX6Ty(tS=+qCLIK@7to*Jt?wV&UnBYQh14Pn|;<4)(P5V>>13n^XY zW(w83_!YS$ZXD(loXZWCudnl2ygp^93EP!X9jY=|-f3fe4WK@0otTa(lC5ndnb7qd zM_!_Vk30=EM1ctlww)Jd7;vMZs4^#U@xiUK%2|Q(p@uf*rwOiI^ClkaVvO_Fne7iE z|1#fX(qMZB)jBnXJ~!QQ&N{;;u-|Ie+ty*ub%|?ZYHj*S-H|+S)RFzmc}cnsL$Mi$ z#w5wQ)|-G07RmXGv~xqCUh(9okBrTW4_4bb452A>g@rC- zN6VbIiVa@neYha2c^Pi@v198Sw=vc6OBzSJhL51rtOB+R&1NW)LdKN zKnE>K^l0pbPC4q0JmQvP0tOOn>XU4O4AWSWrnSSdF!rQkI^JgfzoS4@=zUjiqh^ckQfpj#DTZ{a(2iK$H3aK+TL`l9nwcVDQQOjkd0x zrdw{l2VVruP`^h|BPcxQ1BqSEDQ>-UeYt$?Y4WZY8N@27^NoeIrIUN#W8?Sh%k3Y0 zYx&Cm`Nidb`*$xc-+1f(a-Vk2%p}(@4{78+r0DDBJx98hIe zx_eIDGb4>ofDsUJkP$K<5EcYmf!LL@3)_it1>z_bU-~AO`U7&A{~;Ht%8e_Ps#HR` zT(PSHRuCXS0)&K+7-?pDdV2cY?B5Tn@PCn+v@Uc+%s^Jr1V# zms7s;yUQb``)s?=)db(>QXNN08MsVXyp)ZY&|M8!HN6aaQO)2%oD-8G)x5DPoh6-s zqk-S`_2RD!0$vPs?9s1^iKr-T)l*vW?eFq+E3qQ9F@r(DQb&UL&EOak%HhE=^kJz3 zgZZj=QJZ>{bnH>h**XRZb*ZmGO+O{HJozQ?XUL*jc-k)7l#{D`3mBjHIw$>l?qF}Z zckdqld9qw!b>S&bP2IWU2~Nb}2W!f79o)^8hG=m|D9EZiuqs=+5duMNfQ83|u{X=k~3iNTYLdpqQ9mio~8c5#TJ#$~!qz6^H6 z%H6JGaR@IOl9tvDP%)A~T*)Oagt3`OD}EGZ!qNJIgGN|F%j;ah*xT+(R@pFeHQxT9 zefpqkg^c-;Y2migBYVnJ)Foqdth|x4p(uDuXt~L4>xeF(TZ&AM%xMoJ)mYfbUTKHF z@v*nl%C=vrHr(W=h(ZjLS8n|TmX!2K9LE~O^7;ojpwhnIpk! zbrrs3oPh&6lh+8z+$`G^WThh^JPO)eGqI=nBniQWPC2WnNeua#FPhMn$TB7PE+_uC zUK5Dw0&CRAR#6Vojw_~(vrx`}Y<$ows5j0(Sbp)B{~0hQY8;ywO^Dg>pWmLZZxY(m zS}(#(so4v8X95ayLXR$$h9icwU3F#~!@SdYm$TgyZi?DH&qA4WJ{9TH1jyN`_bLG^ zUPqf9Uxf!eIygIaOiH6*VADS9HhGOAS-T`MUYd0e**pLMAOJ~3K~z`I*p(&%Rbp*6 zM4x>vRH3c$im@LO`DYCB;#B!}bQI2kcc0bH4}bLI%k>Z5Sibp{Kj1ABk0aANzqJ-Y zk(I+}*gG#g{ws4tx#jqPP0#i*C&f-w{kp`_AvZHIQT4UYF3iNIFxxirCJf|8HuCbs zGI`rjE=KEfwv?Kki#lF(eEF5r<%1u51;6-oz!l2H6Tn>jMJll?_|`|AbRJ<}xefiy zr&22sh!M(!%T3V4`oU%-EM+5}fVD|R1Qh0lWM4q6(C0uvIIq%m=IeZ_>cfiy@)fSq z3eF-fasrn?{}L(7I?i0L^I}x#R`d|XhK*gB-2?_vkX*{(hQD)%Z!VV(nHPFMrsQ7m zwV&18(L5Jw;ET_7ru`1s1HS$Il`s7n5Bs>d+xmEofEWOzcDhB1>4CsC8glVFMlugD<_g034k8 z(%mXLUv-fS#G#X>Hq|CgA|lbHT0?M^WRF&TN6IbvHC-~sx6@~aO!=t~0o!Thb@k9l z=yS=aC!DlzT8NLrWqh;$%qGDQAtU3Ypn+?lvWsTw)L4+UY^c3#otikNvKtt{V=l)Nbq@FZL3kd58Zp$ysxB=$R>zVL}xzZL3h zpR*8$8^z_kYIwEdjO_B7_GSF-@=25S0z5Ih@@LuJ#aYX>nz%xole!V$MXQpE&9+VB zo2Ps$-E`X9JVr@(KIeGKpe!X%M1{3@44S61(WJ7d49uG)Y*(Dpr2J1<9P+|K2rZy8 zvo&waP?6eFdhq4C(xGPUNKj$0MkP=9Hn{RDhuO$ZLLCZcz;l80+yxe~u+Q@oryjyB zzn?ug?^8FFgTp>klH=uon-~x9X)fe3IM)S4WHXnL&Wp;tp_J#<>d8^t1kEMJug4hj zf^?5K>n$YkmS4jorg%O#mTtKyJd`BxHed1Z5{KBS94PM_F zdTt-f)E8x?F??M|DO2bRmn4=+ze18ZTYix_o{~s;$U7{p{?Y^xvWk~pymgXqo^n%y zPyE(Xzw}q?kZY$bT2eQ;=&vmJDPLqNh_ZQ10Gea7biSH)mkT5duYmsgcTSh@eB0xt zoHiKX@Hs!*=fdcPS8pyq$ZMWI^V`3*{Me8D$Z`pVc|#jLKF4O_G`=)ITe=Fhqvj3j zMdD_2oF;GivN3jFK;}Ldn!QmWH&&Ji$_}r@1`_^kE3dxx>hk+X@dV*eTQ4F(&DX%X5~a@)JWG|HSvAx~xgMGc?UcgJh*E_)eu#MV<$|Vi5(ikKU?!DQGj5B zDeF8JSA;Uo^7-!N5l{Vc-)S!V<{P6~3XmF_a##sCvlkbkWn<`CTN$)cN53#=(w_>D zbn?KfC_xn8Rd2sE=KvM8$ zOd*PA9e>g}99^UXkwREveq)?))AfheWM_n{pdciX0&KNq#VFeGEX0weOxZhQ;!KDf zAaZC{bEJbfy%b+r0x*w zoJl`Arq+1dywb#{*dY(;@i(Ly$Nk>4eBPw-n7cQkQ{$q$j4RtpU((8rZ$sERJd&0U z+puyxw<2P*PCcI`&B5S=$#&{jWa_{&v)M4!OAC5<@^E?Y@q^|0=RSbl40uw27kkQE z&`uuy)$;WAUo7AKoqxalAOFkmEx-4NZ!dSb>idMb-68GX*DW8Deh7z$nImlQBCvkb zr#zp>Jg3@f*??qh0Ziy)L~K!SfbZMISMul-g7xH@_%Ro-y)E^lb>9L#4f0 zX5($>s0=SO0YR)zAOEE*H_^ z#a`2Sjg&eRz?OlM@x{zm;=Pf^+K=T z_&wsJIZytQcXDa>OMu759DT~y1~dK>Ym=1fEMM36IDiYqw?*!NVZ8{gu%Ni zZGyThAKfCzHz?^8Cg4?222PNXrntyRIg*KgVoQmZ)PDx9oUDb+ogJFR1P0H8J?fNE zD?ce~I3d(Su2~a|f&!c*66g=eeB$L;W7G6NY+S2m+WS*xa&cN;Z>nd}n*oLgPBv z#JcE<<=B}8Gw^Llr6db3(B1_Vc-mJ;Vr|-6+NdN^(d`NurEz$NK&b76gO7$xJ(JWI zGZ;ro=T}MO4eo87HFC6=pnwra#+G(r(Iqos+GhE|gCLIiT9s*| zTYif1wC4ThI!VtVP;q@@v3KBR+IR82B))GFuLCe}>S(m+~RNe91H( zM%ynL|B1n2NAUpDrsfOUJez9`E}A>x^u)v`hjy9p{NgYD!{x&H=Mcw$;UM7!sx0zY z05-#;l=7gBJ`G^A zta(EQP)`63PaZ5k@?)3z{@x9W$y{px2Jnlqg;G<8e0ad}Gaqu!!9Sa@x&t%riJx#+ z;yMlBxMCig)Nh=i9UUy~PdwZ znO%827lfrBt?->7JI6@oIpwD|E;Pkgi`Z2LPmT1&uHUyl zey(p?A{mG2Cl_K)onSaWq-{GlJms$5Km5|ys9XCb>{Yb*ezn5FX<6cs1eLrzgrp^# zaw&|zEY?#{MOb>|V{2C?lfDMfUo^ru={28zsGtteRE1ZKCk;v;$m>{BycS+kp!j3t zSq~#Zc%_SGP0Odu=C}Q=Jn}2LX-Y@gHay9h(HZSSv-+xHQ-shIeEew{GCv7{J7v&d zbeyr#G)~Ua>pST5JzyDA&{yMzZL~IxjeJ!Z6l@p2NA^^UAA99oHS-X&dPF$u*B(On35T2CuoO z&qHAy4)qc9A8C`?y`;J4rU_VUW> zuP>Lc+`y5P9-~U4{fD*>|H60pc6eLeF;5JiFwfZW>E3*Rk~kNLecHEf1kEwnfrPM* z16CBl60Ne6sGL63e=|m=oy)KmxNR~I%YaSjqZS_-vPm7%$VE1B`UJeuBT+L=wX8C= zBfz$42;?zDaNAARRLLB^K&0G+F%XF2w69`GQi#ZLXH{vN?I<*~DXKP#)T3*qi6@Cm zoBIhduoMME9==tlLJdSxPN*_hE;6@74oiK9RDbh81oqjNgM&78OMJrnaQF8w(`4>) zbIv0Kx>!yV;jB~g*4I^)%TPoz<=3bYH*ER$0^5#>hocVNNJvJducD|$QU4={+cn6@z2_co~d^6gOtJIG#xuVjo$DH{k zmKq6|YdzT}l&AU5x4g)oC;XvJ*&#gO_>_xu2#RjyKwIU9PFgVb8(+~}?O&bHFd!&9 z7pAB$-{vBn%QSmz)5iSvd&bqY5oEMo)0WIb9%%G*TDW~vSj}I^5XLrh>M&${X!~@` z*jZ^E#RguF#Bru|ppb?q1|0iR1;PDoRoG4QZfbTr;)8@X{!G5yJLKSCD(Dli@9~J zLdj)?m0)`cKDHHK+95m_7*AZ+zkkn9In>43T(H+3k1@!pwo2YKyAor)t3~_KRhd*} z=EO~xHU~{erKaPhy@?NR6~cb!F)VA!%ukMvc?c54moMIg&|but#~c4n?)};F=AZt% z<#+z)f3y6DfBV(tjoXj1cID@6k8q>`|4-hls6PuCU1T7F%>svCg_96K!Hrv zP2uJR5*j@T!P-3NvS0tIoAV{cLf6rrV1#Qj=^O2rc3NZ?pK3|PnblrYS^1>Q^wxRt zY?`G`E&%%ka8=R>(@`4}C3d zV)-xs`9E1c|G8gUK5_HqCmDYK$-5RjXw=2qa%1t5#y{Cwp8krt5(v|w z(H%g_65aB}j*?egaHIP?2WVdjd5I^=?!9xDg@{9*0>*C-PM6#79cBSVKczZb z{)tvYx|N*5q%AZ+y7)SIaaI2g+ArVSXHkWT z`D5Ce6LXII4rI0g2S+W_6qDvm+ZGEhMD=Q;P63~#vSkus()1=2pP)LR z7Df^JFIbVulPhJbp6K5aSbjn`blP0T6@Mg$zu?6yG{W0-((;Bx#U>n8=cio-4r)tx z<=GEju|tYXe=B*54tg7`eFXQLR6rY`G;Kuu-q~giUGb6>H?qhG7dCuKF52#!Ai18f zT)M!kpkL%QvApK|_I)lq_@to3TOl$guT0bGpnXlfthzx}TB;4yTf-6-ET06&={dcPV4AMSPa7WCbRAwP_=8V8&Ksk%TzR zV^`qp@*ALHTH*FFtoly-AT(9J=wb+SoC}S-%5=+k;TQpkv}1*1gLn4%dPwsw81v8s z6RMr%Q=k3}uRMAk0W=VUW3mOvAVH099~S|qiPCpMntj)N!^$=%d==8$#RacFw9Tit zwCiyBkH7oBE;nBJ2n)S8K=Gsj7kZC;T7oA`ed1RJTVB1oM)(2aG~We=&M$pvt3M5k z8^Y0cwhba`+*ZF-ghVwaXlp~`!!cg?ltU{LR7Jw$ZhXOxqU1P@i^HEgf`Ol7;q9ZZ z|IqT|Kl+2qH-7&s%iH%Jz{7$(Hq02VR84Y=u5CYo8(Fz755X~$R9{Q;C>MRX`0IsV z&g1|?T&I23fj0*!(_QA6=J9*Hq`oPSF*Me`blR7?;W+8H=dRy)!c)Mnvao&`US9>r z%>vZTX`aI7Vmu%7J3;Rg%BzpPz?pJ5-|^?MM;vO@F`IU*^C0xgllH68ZXHYoPHbCG zJrai`NKe2y-Xpl`p-Ptak5FOG1u`GN2=miN{Io}vwe;(XIjPW|)F+l%*V{pw(qj3L z2XY60>~YiI-jSdFxI@g-zuOmo@oTjjZwT}vFpN1SQ}4{vcG-Ls?up;p!%pAu@|7?D z#q#jsllU?HDtg9}ZtpRz>>J-mF&4{bJ#5GtvzDRc$vZp^NhD1E37K~WSg`1fe1OOZ zEvU${j9Yr*<-qWT?52%+LK3mGn=pqJY3-xXhTJw#tkyx&BMQIi<{r9Mt5*@xR;rVX zZyKm96{`by`CCPWFR(NdHe+Dsx@lP8yZ_ewm;Pj*^vpgDviQ@U(eZ3Z|7@SExGrq$ zAsw#p4u8km+)Ncu8Kx}=-B`a(o3ahJveg*^?Nw(}N5^o+P0=X6phY`cgl(u5TbkO; zj^Igolm~VG)la!clLcum0K`vL`oMzb`b<+`ZalF(sn%_)oaipH{CoNtB_+55EWbH2c(bcxZgCJD5;p0 z1}$@m@rhYK>EJ@73%8!)=qm?1&jIH(>f>k739)U`#2EvWF|gRDj)4J~AkkKKz|#^E z$Jh;_+44uhv@uV4GSK=435%5@6kY2ah#ktr!&15N+BYa1@D4bi4808B1qyjU%)_C} zdHA!C?w|?1UCoOaj^9MxZq(iS$5_jSUXMdsWWDQqi?wa%kQYs`p^rSM?eZS&R4}}z zOeahtB-`*t3_eoj5J0|;N)KuzM(#7UD0 zUYLNyz$kBqH1hg78&kEq*jpDj_PM~}f_P|QmfbmzPjHk5BB16lJ7JAIRD$yctUWG# z?s22`SHHo$hgXt1587e1{o)HRE7nfCeHc#XWkm-jTXYQ0k_TQ+whl&$S^PN<*Qeh{YwYS z*M9Fy%++{3bJLiZeqOx2N0vC}C{C7qz5B~AoN{4;a`D8xKDqehDSg3(QRh9(JBVdU znRFt&51t+_4|x;a>mU4q<=}#!St%Q}wPt3>e)<5LShwN=@Xp~O3$*n_uvdq6Y5}Qz zh|G*Ro4Qh?c3R5Xmmksw0dz429Y(93DP`Eg8ctH!Y#r%Y`@b^EHziv#tuJ`1l}$uEq1rcW{(8ZrQQToGIdDOT@?qMG$O0qrq_0gkhQ!+7P_({pH^T1jX3zM z3-#{poKHX4Ip(|82XsWn-cz1DJ7mG!y3oJAc`w};`Z~^z0s+;Gl(pH&C|}bBMwhwD zr{0qjFo~{NL{B*iS#a&PJ?R45T-aI%kO)ct5>eR@Pn%o$l@lSNi_m=h7^eEIW z8<8l_lhj`5WnA24P0mxR*a!q{eYzeZ1$;3;W*ant0}~pt!Mtrk9Gmlk$g$ng25b}XpE8!b z`{*66r(EDV%XNsGE$`?gv>ma#m- zM+{3@C({L9@THl%+Q&u=jDKw;vc3c^$DL>wCk0HVkT>-NfPjU{U~`(|vz)%s;;F|n z%43mi1uMVl$iO*@O;{6=J^GZn21P_y=^uAjo8)}f3&2*QJQ^r-c-$wkVcaf6=)`aH zwBk~-3L1f-HKU%=sBwZ@W5x9yY zvyD2lF8qvBU6ix(tqAq(vlzF}ZEmMr+}&kyZ|9H&Twd+$#orTN?|ky~VZQmh&uwtI z>(sk4;XAVcK;EF4>i~%}d<~;M(QZ=28B&>3flD5kvZP2{2cC392Myphd^>|D&))fM zM{*%JcXJTu03l`b>#wQK_%YILW6-$kP}0rlmqZd|)6U?NwQi<!JU6%&icpmxFqzPZzHed3`;$<@D(KadlUgGxoGc^PY;8#EadiM7Ze zU0GP^foW7|M21fRB~y7ZdKhJzbm&L!Gya53Rzum=J|i#N`$G$DnHD(*EU42KWf+0N z)^tm1KFlvV<0&!eWCg7Wl7Vj_w{b(b1(V%iZ_&Tjzjd*;7xIC(p?YM+$*3xoVtaIV zURcyjK1%A~=pDNkn2^5w!p`#6TfC~nr!EN5-JPmrMM89}ri&oNj-=!(8X~u~3xDk1Dq|RmqgA)Qk{UaaI5xDD_#zZ#R1x=Ho&m4ERBtONZ4i@K(`EU(92*v3Kt03ZNKL_t(UYt?&mM6R++e&a&kIx^M? z@K0ZkEMzjSsmr{RIVXuO$a#X2i^1g2^UlN{=5=|mz48gvrI+9!$2>P03vn*M=(Gd` zPC7C9DDFNq=$sg|ec|J{S_LngoNN;I_&(da_x@`6>L35^@_|==fD^l`NaJ|x*z65g zK1Q`_%jQ7s$r^mZ&JPAVVtJypeuna|Cws{#i$2mv#*rdN}(^@C{)t*>x6VK1T zIN@2Kg5DF+)7|6cBOkrIT)p}d#}b}?*}qO(azPOsZREuIp`P@oC!X~raLrAepLjx` zj&5DCwk_x6sqs?(IA7wtDHl!6TT-9&rS-)BUKbb@ z$~G-ed4$p8^*#r0>)>l&{p;nr$#NGD1*t!>=w8A(5ek#THQtF=iXN=1u29S^Nc{ zCfTAQD{|y&eCR_{X!S)^Vr6N~7At8NT-0nFoI65CBf60lm0zTC{E{-I?{ZXG;+XhH z95Bo1_{ID^eTOlq?s}%RI3C%z29~rfRnaXE8Jpxr-`FW>j8$jYT4xZoD}M3H3e_5K z$f``Mu9lTjHqbKXLbXgF1aI3hV^hJTg@#|epR|nXpCI;G$oN{s_rdGSLWMD}c81P{ zQ{Pl^jzu*u0+;T#PbIN;TX&?mOX%uc%ac4j#i9;Y>4j~RR2`$Ip&8rpTNc=9?;h#ASjwLpNr+p33;B-W z-W2R&Z=69?wJ_o~a$~6F8H1J6p}^fDiQkLB{lZvo5@4X`KBRi(u-%X{&&>jJJn(ee zv_XGsjmI8GX3Lwys4xit#izh?+>!+59MeNvWtUJ<)gRz3C&>;9Nh0enq~ONF4T;rg z-nK$)7F~gY7n6B~6vz)R!1P;*4C*CBio1~?=tvg~vII{QURkCMhCL$GjXulW`8qa2 zTf<-7bl`%e{&(@4IRq33?5t2Qm2@#;quw~A{a&D5Jmh5d zFaOL}@||1G-*|rc=r4Y5`P={fzgj-=v!CXTMwe+TP;>lrB=I<-pG;RDtu|$KD7f@j ze8x{8w8+i2U`Y9i_5XRUI{4WVF97GJJj!CoF<|P2e4x;$yyRWyxpni_@(17j?(*)R ze*JiRckv{!--UIqofx?_ z){xj(`AnMZIF955JzXsbi1x|9<*&djxT3Rz!t}GM0EMi1LoN$p(rdpGC^2EhRW{(D zK*YARLm*AxWStEWJ_V_B3B^m9tm7dz23>VlbJP{tL`Jqt#n^Om5ipI!vCnow{V~{h zL7-KY^irF0L}LVjB7Vk#@J(^nf`u%lwm z@tQo>I3GXdJC58?ex51rW9F~0W~wW!2#Q=0_PjrQlya!p7#0 zIClnN1br=G%0)gj!Bu;cYV}w1$X9SvCF)E**oJQ-LR&smRKz*vkajGTEyDq64`ZHV z+i!j9H{bU)?YDkC&VlExqKU&_R;JBsufOp{wa=0-+>kiFsB#L94~)gf5MpRBgRy}$ zn`zG*_jn@Y=~K=jx!2HnvAkLAWuAEa_}^NVAOGa}zZ%z$-cLIiWwb_ zKhn3}5=}l%nh5_Yo)C;Iq^+APyiUX$YsxO;qN2JA2BUs;3q}I|&J_e@jfJ{)?Zve= z$IPs`csz82ep6okWV?Z$lxcCwnRYMCb0tnCGd3u1has9v83Y>=d(v{3DedW&BUMQz z0j=rCPnL8P04MHb?1_z$A;Q=GN=rYL$OfKB91^XV2ttE3KN>Oh_YwUDZo#eumHNfQ+T`I4f^j`wEN5l{R)k zRsFgAHfsyzw+P7mLP=h`@f*~>iri6An><>#Rhb*l4X(59qx(JW^vxuXcop;^{UH5Q z8|??Nvg~qC6N=oadto(Zq*T;Dx)GXcMewX6TGo`u`UiPToObKrlJa9KB5G-aG`2rw ze(~n*H=^&&Z+~g|5C7Z$xP0x)-&pRx#kYQW-TY(bGoG6~p$+rp$~>&*_kSPBYq^C{ zhNldg9#gWu1m05_b!8n1T1%N@t0tPxFJ{GeGgr2R2K$%(JK}CSpZ0b9^CGbRAHOQQ zLU}N4afK;6g)Sx0-{is*;75<4B$T|29r#b1_s(Cx@x@SNSHzOZ5MFl$2rS7KDvKO$ z1t$%zYy>L80J0jlanTAEHgIWUWEU{3!djku2`1d66Q*Lr;7tTa3|-`J(?M$Gl$c>M zZ@TiUP0HN}PNTGvpApBzmT$9Mytq8~$_JO<{QR#hU--hmSbpg|cy{pD5aFIKmgbB2*EqB{6a_{m{z2l?Dywdr>a^c~9zURw#e0ja|4(Veq z0`DC16flc^PR94(-J=ov)Nfub*gjER{6|~^KmaMb9mfvtLD`dCZL!0-*|L>$rmUK3 zi`TauOxZ}CczLk#PVadQqeWAc!8mE_BV{iC=fIPS2w8~I2A~R03&=!kMyDk&3kp}m=BD0Pz2TGF#6*=SnGFP$S0zgZNZE-Q zz|PV6ors^%D?Mp_@9j76{n2uriS0e_V0o82RJ=unV7u)^2}-tP6~cY%S5I%@Bct81 zT`I}4D-JL+CrDF$WT4g;c=W}uru`F}OojpSh<13yw;Er($*Za^oh}#e`#nfsnLsP0 z4AXQRfV>OWK+{oBYnMhuT1jB$%JamU0AR`!R(4ZAsqW_0*5d8Bt_Sl!Cr0~SY%_DrnO%nXd8{B3W+oR5M zNIL!`E$fDK%|#_S<68JCJ|RpEgv!q_)D6g#p9x7wV6WMo#m5#&XYhddpA^OZgB zyxLuE)4u0bKgu(B@UM12CS}p0h9M)R)3!3M$_!~|6_K#oCWo0OFiPH-pJ8avWX=GC zfv}uI=|3NZKQ3 zbmvdsTfX+S|7&^g(f3#=`#2}fml>Z9k?CuNIj*w0=pvdjOQRPRDJAgw9$ZE-@Qmfq z80x7k>BmN)mDYf=w@QVewB@yKLMMgw2agTi*iBrR%cn{$u}&z_ud}<(?Z08mf{2j>)^fUYa7wr zz6cC!<{&_9Ce}~I)=s-l{iZusZ|sXLT2y5%sxr^Cb*sP1IZU4MwIaNeopW}|4Xqmq zFCKW&*9#$XtaS@K^&&kMNuSmoCl|kh>cmOjY6I~*dMrcqr!bTrzCE7mS&o?_K7N<^ z<9*t$uYBfv*7TpEWqt@)qKh;m~m|dE4X8haOrJNNK1P7f^uh>l9A7Rk&R4kow3qVGzlsFRKA*Y<{<6I zqJtyj5Okh#PlHREydAmmNvpukUCS{p|CjGqk}cA3D7#^$+Y&dgaO7;;ex@X&3%c!N z`RENV4vB8%=$zQqQWUHVVI)V-=$|~Otq`U&^jpX^xsliO>gOjsV;9FJ&xd@PBCn!! z>}+3zsCMijl8F#|+_A+*_NjaF0kd<_*~Nqzi#E(M!KED%PY_I6+YD(7`YZzMqt%Z` zsI)Psg(S^x<`9KcRh8GgG?EMJ;YU?#5I(l8KoTkY*cB-pdw}nHA(hRLMRwYvH<9?t zY+nQYge^A)hXs^94&$EG%hh(39cA-aX)Gjijgu~!b}{kUVq5E)w6bA{??~qf zDcY4cY1D;Z(q05Mj}YZWe(Td7_2xLQ5%ERMnc{CihVE6%Ap$Nw^`Z$+ra^n>oBPY{ z!%NGhPknazseko_`1HOEe5)rHO~lZ{Oq^tbJfWOnht ziaRuzTnsF_=JnH1HFsuFRQe5ZT^uWxz(pxrUue^Lo*aJh_1Bg!{m1`zd2*Y1LTnJ( za*RkTLQpaQ=)%jDYkPd!iFVCXZy9eSVvsy_(Ff{%oa*N-YCdG?ONMiNFBIH)^R49; z-y*(t^?BqWP+z$o=69k_pD_2}4I@u^-UdG&`}Ps$A(3sl8Sh-*t%I)qlU*OG#mzl5 z#I>abZr}nT+dwNH&eTWom!z=OZUmBx2yIEFk(W=Q6NC?aO(csJlGqkL32c`Yhk@kg z+#94KMXM{vam!Wo>dZD|%83uk9>56&F5Aj0gCJI}S!}cf9O|k+0kU5eQn`|1dHme+ z!zii~@T@77`VXM&RL$URYn3mE``J=tGVv`L{o{O8xYHUhX!-N0FZR%RVQXi(bnX(1 z=B$D4-m6#mW3Lw;a$ySQ945OiRHi)RsyoY9Z7GZF=oGKdwaZXiE4}U`L|)~T%&C*` z1n9h3ZUgoRi?jgZ*TEKKvkzY%FFXWUCAsm2STT{5v^!)|e}S{J{@k3a<)xzdd-e zv)t#R?;S4s-sNHuFBi(%vA8n<8{{;^oW#l~!t!g-;PpqPvu}oI9%lKsi9~8AcqOj5 zEjw&$vRe<{OmvOJ$6h{NKK6sW{o%F!<%2KP)4Eq!%i5(Jf8!I(4{W6s%2pMrs&uKW z^dVE>ZU9{Sz089%moLC?n|GMx7ZUijFYNBMTsl-L7q`~(;n!E(h`OH^r(JKE_(alY-~F~YSYuUAjIflksA zKyuSofTlj;Q}H8Sgp|=&>3~Aegwl4Hq~+lW;Ok!$uJJZf!&F)X1|ei{MX{l4`k)`X`nbE?r!1?D=h97Sa&p_tt2Z zG-Bkj`4zT|h8Yoo_k{PvyC1o*yYM9FIiBR$=Skm#`**=}#5{V)VEY(0o&xsCq{u`b zWy~bGeHYWRn-WwR^r5>Jz>LDva;1-5Feu-!5fQG2k>0X# z>=Kzl&$7WNZ~92`f=b4=O!aNxGDu^rH2qsX*AKa<0DkYh3)#L_gu6lRK3twWxXm{Y z4_Ht+S>C*J%mp*dvjF(J%7L)9L8(cu@`YILQdzdCwM`J+VYO3wev>boizs4CX~_T( zI^`og=@7L(+QQ|l`^)v`Sp2~VUpVD}>{uKz(x#CVzcBFz+e{|DNed~Pa8>CRj?SF0 zTfh#cpj2RVsKPD7F36k&gPViM*bJy`lDcIi#ZF}Fw@zzpF8S4_B+(Wb*p-N+wYLNp zF0~d~{RIknDTng6dF5+4QQw(}Yj|^P#H)fJeae+gKqG3kML8RFC8@<0f6xV4Wkpmt zSNUaI5UafC7epcwVo%XTmSv^_&awHl8K24GA}}Wd-}25$Ce9mc%ii#ptZ|ES&f29u zHV6hcv6_opp7MEkx9pN;f?`5Q6n!wguP=wBZD^gvrqE)HF6k;OI_XM8OP8V2gP&t> z(P>KS8M5RRR;3!D>YI@AnQ7R_NP7h~_`rur@{!%JvZeesG8DP$YFVKponuI3(8sLb z;0tbkE&|udDR=GB$z2C>;nl^}E6-n8e)>Q8wT*qL0bfJQEXiY}eVtevrr}#hRqqI@ z3KNoGHg}5>m(A3r3dz(sS7o;E=2g(F9De;z|NZiK@4@o$oi~>kU-=>I;!z*;@30*+ zczLnWE%zKMR2asE?UPJ#Hkf@569S%ezTM0(^n?{LBA+O-##Pkr*ImOsAzt>s&P_BM+x%u%cl?2tC&r~;8! z8dpewr44!u&z1#GVnkQ@a$*KbWx$;*Tj3dPOwZQRRaLsgC08KW*S5pS@xi6z<<*;q z*#A0{XU$4J>&MC7o;s|j5JK48|xNght{F3mha932^jBYXTVMEBKl)0Dq# zPneVH zy#k72t(?Fm(!7e3DM%Ft_-fbpp|MQyN!wC#MrKJ%@mIl{wh=0rceFB!!Xib0iu(&$fPe$K`HW^JDS1?+cWvnVoUT-{NLsaM&4&nVezz8qLQg!2yJiVAT?PL&~5rgl|jBr z>4URDOz20Rvii3Y%dY{_Qc%lufw9^rj~oXXK{5urh;P}S9CCw+hjeJ=Qcm<5Z>L+q zrtS)F2?7g~0!r3O*R~1|EY3Ig{xGDDe=0wZ-RBvwJr?GqoydhwkM6#Wi8tT!x@X31 zZp^)LV`q8sdETnw6Oqhg_jwtGPgl9%?%Ou_I7ED5eL2qO1_B3m(nblDO-a*MgtOHJ z-Xe1Eam1R)v4oU%o3}2Ki6i9|x(U(=$ngk2=#TPU(SP|z{sv%V$ESqelLJHKjl5&J@t2~pJkOE{JgLnr=WSAq){E_cNl3V^5RJ5HA-eWC+2hB5&QHFiV3&01A zQTsT+;Z=Uyi#9lqs1lJOSY|Z_?s&oY@xo=^TJzv^CQT>oynbNZOe5n+ol8EzQ-oku=Lj)qehngKR$f8JUDr{y!`q{c)IOk zbU8YBliK2XmZf7&>wrfBUE9hr*m;OD?HsO;Asdh;#6E4zVsZc)kIioA6ITT)Xpy)l z49;?zl|G2xDP${|dL>_A%GdaKj7+sB@huSA>2r!n+Jt=J4P_;T6O=hNhb(dnSNJeO zV>@awgATJo8epDG%0#lpllGMu@R38hrU>*S+Em7IaQ3s|&DgjKF8OH}%GVBM0d|}5 zLnMqm6KeXOJlqbM|N+a@=n>vqq`_j?Dd7dJ@&38_pa=fNJ z^3ld!n-a$P6jkg>2d(lyTh}(N&>>e^Lzz&vnv0KGR%qD84&#+xSm#LyH<+p(U+H*C zLW2I8GLM|;(~k9W<{TkXx{tRK&p*O1UE~;3c6^m5em(wriqxAYDWw)oc6$wAm)JtF zRohaJb`^bi*a-`Zw5HPzB?>q&?I=;SQS6gf*E^d&!hhUryxikXns?bAP)}a?$lIeL zLRku11(Gd!L2vDZuVkeCX?tLe6Q+$uNk?+gmE0aH!{5SFwh#uO?OL-3RV7q-wmiWMo{Zm7y~2`% zpT)}gC2T2OXsiQ*Me2N|D=(dR+k|b}*c;O9H<@!{kk=m0F~RYBz>3KEL}Zn#6feT| z8XeGB4DIyW(E8Z%mTJtoPR3%}5+~U?+)3N>X_94+wCME>TuuZ%{fu4-EFEx6jE>k8 zuw#+9vs=Bz3xc#Q$}2-;NQbS`N0LHGJEy2pkcmTp4B%nt1p(ZAiQ*)oysC6F}(1gous*%?%;~l<6O?ZSkHm++s*q<@qb|w+?vSY5L9rHPfqsLrK>3htbk|#`-9e&%q6lr{+Ny3daF8&T-09&-mp^Hl z&C@{ZfLdM>=j$JXVkcV`4NVU%z`)St0Z7`|!)^w~*j5I%QAN8c&{(eq%MybsR$yS3 zt?Qk9*-0!8@@-whw68+NlM}YKNf?EjFFD%PK9rEO6S9m*W@8aN%_nLN8c`OPJteu* zU{VZr&^gFSt~`CVpCh*41Lpnnyt3fp`IF@eN5}W>A1`Han>CQMIzz`U2Y_dIMJg{u+S@jdjL}gf+qo{s7X7Lj zST&04Oq*C=XkpB;{Nj1og)s0;+*_J9C;>6e)a3hTTE?P%K#s{%D41YShN;Uiu|kG0_BP9?&A>_8g0-I?IY#+-;z6X=$hbS zcx*43?!%&jtx)`h8~Rml%hzJVv^DdUZa#2XY%8i&Pw9i#$|JMpm1|{g*_8aySav$2 zbAt6G9&*d)iHVzcy*l%Jap&RkGe7r_$g`Tt0#J12Sjk|L<7F*$r)>I88@o{PiDVQNatlEJz`=>dZT6 zGs2`DYnvyyySpqCd)uTl-#$K7e+MM5$_yyi`mt5t8QeET;*8GEq&UcUN&tm z8w6Gw4^XAWB{V11#%wI7)?z;hZB@Qc4*K+0o&Zw@yg8w<9HgBK+UzqYgw{IZPyOIS zGWt=RFn4O!Z?S-#$5!5z$bu_#Lv9j0_modYaD(9fDQ}D6t2O0i=ZW#QQWDJPA~5{M z^<=%rSj+n0-n+}6e)Y|?D~mWmzf`b=;ycPV^(QL!La_2| z5+h<$$c7AmNgnxU$*c-7Ln~{g)yO73tfuW11(VL?CKSB1K&9YpMIk(}4MX!gUrQ~3 zfr>^m{YLiD5zRGm2q?JXh{TxUPGb`XoSo%y3p?%BwoD_UK4>Mm`oZ``TggeYv^JvE z>09-nG*FSH0WCM>Gz~g-NTxn$jKj2I$W92ZGDSBC;=x5tNiNx>l`Bc?Y+dI0>8DlW zmj1G($f!&^Qg znUFe83W*tXEl-LY7jLJ>#*}xAsnW1-Nif7GUhIWtzUS+WP}65i14=AJ=sRsB>`Z*t zUS&_%q<|o&=4l(Ksf|2xWReewiZ`@LcU$*Zf1X7k$1uN(=ebjE`eV@ZuJ=P0Uaav= zJ1dJ)-(%m1?s)2R>Q|0Jb$ji0BP?YcznBM@vAKEHGNcIYANYN8_X2Acd%0slex@s=o%M*Z@j?MKU@I5$P+sU#4fz^C4w9m9K-z{e4dQN5oJT4v$U-d z3S#|9L{3|C%rK8lRmVd`o*-rDNJ(No0iHAGt{d>Akk=foulSJR0Zm-sTj`h~kEm5s zbWT=iEUW}JZTfVBn!jWO#;(fHu|W9{S{D(?I>ym}@;YbgrRI_JSI#Sat*P?@`)dyE z^1(7&4>bWqrg*lLgx%WS1XS_3febvtp32NT>G;}}<-$jPYI*tBe|!0%PyfpD(yg1z z33I}HcES@~=2QCHo9N1~s7w8p{8eyNST<)O+Mof_B4TWA`!&TaB&_)y(ueZ&e1Nn) z7}B4V1rH;`MvjGVy4a&F0CG{;=Zw+wW!`Y0@(`|0rr~+uRh>EQ6Dh1YBo}Q0WRVk0u zP0*3;BGAAUQ+xv}WcEYY^k%I;bqBTLK`1DwwxhD6x^fl<9-}qL3SdeRIgwjLrKiNl zPQcd8jB$~pOcFCcDC3$(g4plQ3iLQgJ=u={USGus(#Ww*iA`C%kfOD^V(4W`P*6hwohd_jW_LC&I^@Y3smA4JqzB@$ z(mo<>ohwv&ShPU?;H4>HomUo{<0RwZ9^>Nr+Gk+;&NAEn_qYg`exN^;VL8~PwMAyP zI~7~*)>CO|s~p;6(4K6O0DwX$SDBvAxcK*oi@gth+V?(hG|a1>bA2WvBfo{o6@RqM z^a0YFvX(g^k7?R(jyV4SWI&t0l2H4y4J0V#rljuw=K`RbMQ}9?R+H zMXvBIVdoMtS3CI+jhXog=U;M6L#w~-GigJ_;yn+YKCK*Yh_-zka3`DJuP;6j1{qpb zS_2H4kiH@UUhVX($N93?19E!lx~_-5mJu;9+235rQ?fGDTM(zW`Q0MriyEdFsNrZ5Z3E!_w8tWQd8QTp4Ava#4}C zlCeTY|B(8vYv){+zig4e+JH3r)W2&9-b5r%-ek($i5J-NbU$ke^b=_f%FtA^M9`P+ zjLnS?g0vL2A=k5PY%|A`M}FJ8GOYK^4^VFU#5+uxj~#jem^Vb6JbJu5x%1xg@a?-POgi;$6kcx0_-E&u{Wq3Qg$C|^dhiLTPLbsxw<8DJ=1IxY@f+zN18Zg z)XvU?7x~8s^>xorec*|Cjk+>-lEICjkHQwYN>_fxMF34;KXxBl_+3;+3NnPk4P-2NV~ zk4x`_mcb(pNe&AfXDML{x+NWOd;(1l0%S&48gJBY@s2ZOYF>4CK&^vGnroakHYmcN zlxAD=0k(g|n@@#?_N*<3FW*@H9^Znw;5%}1gsl^HhcAXM4jASu_B*}4-g%e16Lxv^ z&7PANp7h=2qVHZ_?aViQnW+1EXZiMMem*hc$!IE^hHi(ow`tc}Y|>+=n4E|Z+hOXU z+~w5i)Q9CYl$4S)Y2|ysNHDH{${(;OVb1tXnpb<^)@28jluY*2Lpix@3dQR5;n-^E z$Qr1EdmLKXqALXKnzqcaz9l0r>g3b*0xhYtHx7LPN|v@3Gh%9}aiPD&(T;|;OBemX z)^^nbr}Xg%^2F;~eHf|gA(akJ+IQ&hbMwIA{d){jEbd-p*`6B+-r_0X$Gnc}gaM?= zR-`6juE3sJrxU@Zd1a1GqPQJmMkt z=dSE5H(zA&J$GfY$c*jYQE&H%85p5Htur5(g1cRhLR%PY*-YD>Czy9q(j^?0$dbl# zrmV7fx`a-C^_^u>PRr82N=+Mu zw{kjeL5HtA)uAr2yz^jZxikq!;2@kzznFNogm1ubA%LaLK0t<~i zrhOezF8G3Tl9&s>4CYQYeZArVtL=|DGx_Xi{tIpxxq_*Vv>54vRgRl9m_E*=&=lOV z$021&?KMldzDT5Dg_>AQo&;{ZM`ypMVWVI8DJOg9_&A^w;hK#0$8L)DQUb$sk zGbH67kmQjk0JxaCL96QmSdDX>XmXP3q~3GW%a>kUKKYA3vwVC1-tyM(e`|TTDhy$&w{Xc`{WJ}`M$>mXy%Z4l_D2~ZGY)M)rV@#RKf=CWZWlw zg(=g;Y~vHI&Uoy8>XX1vc^!0|bGqDr@8R;NfAU73h$%~(+B2(pBrE_n7rx3trb5#t zvmqh73J5B>p_Og}oy_}U%NWv?UJ^2$&ls*u>vKz;d`$^zi@B34jC^z$H-EJZYN&O~ zz7Zi@$x{&G@3dOzi&Ph zBZ@J4+s>%4izZXhLwS&dD`GdfQ&WRmL!| zD_GHMdD@EhprE-!DtBnfl|IHieaaRd#uRPe^T`vM?^6~&yr2a%N+L@;QW%9O)?MMv zi5q;i&BldRiVBKoP5_%!iS9Chfed-Y<34o-bcezE98dI2-|}3AwXC|)hYC8!RpQH6 zPx1utHO_4=U4h;Uzm|`ME-(1{G=%3ldt5y6wYWY()ZLh)YaKsIfB6yW9G}~&Iu2=z zyx8V3uzW%Wqb-$VL(C^LH(r^yPl&JMJ&+Vq44a5GU%p7WyZ#G3a;+WtfJRr#3K8H5 zl5`L?A-u8xu-?WV;leDJmR7xzv0Yit=puq3$4D=zyV*~fFZx|N@00dPYq!j06sRmC zf<;WaWAoZ}#y%@JTc2BkJVyU97f*Ihn3M8)qU*1GV)=nz`>&Ue{`{{kuf2S0+2OqW zF?JqsfzlhfXeF54H%}?O6{yeo>aw$hi*;$t73t*f%hM3!QjujnST0hh{H)Wnyb3I4*x#{TMazvZ-sjfrcERNl^i0>H5W_gvzW}JY$q_vTBbPq~;;DNS1Yn@ov zg-JUMTz=)j6PYb65xbH#YSkOz=v8<5E@~i*A7#v@+$wJ#eo+VX4qr}GG8THFl8cAl z6yx#8V{ha_;xWg*;sra8O@@di9ew1qcY`5KCS_QOH|5GWExpx&k|{@+7^CJ}u|C=M z@FCy#<>i$RSlf9-o#drLZG)oY6O{SOaXm)3>vmNHl5XrtuJUDbAva|i%f+&_4C^M4 zW~wrmZbhc<(2~BuasDdnmzSU4UtWG`Sw3)cZ@J9U{;?B7%3_1^rX+{3U3`AbiJix( z7hc?7PPm8tt-t0KxXycYlKPcvny}qg%v(=B{dmX~}iwj!Y2*e+Cjsq?FJXVZF-k6y;he-oex})Awrm{NwNChX{ZB!+;d~JIo z@`i01c?M=O`IZv|yP>JNga`pEEd1&&xzdOWcm!<4rL6(dT8jEBw93?R;7Jd`=p8A| zJK45XDS9))MmKWO6p0J2jifCLKbweIb6O?baVT>v>O)jD;ShCUjU0=BrFlco9L zTl7{}%0(DNBqGu2O`_`;{75TF(ZEgy`rW~GUjZ$#`wBG}3n+-nI~js$;7&phE?ruF z$2Xa3ROU;f!|{^R9We)dz#&6i$SK6L%!@?)R)!1Cok{_1j%tMA3rl^$JXAdnPJ z`I`gZ=&jB)1t{yfV6jQME>^Lug(zruu((^&CL*3P1|(P|L6^3*LWfO#q*oi2DKpNw z^S#^4-}z5Jw|w|{zEQ`dmD?C;vlaV&-cuUmF0j+554l6_QOEa})5rMbDM!fTM;thz zVMO(NGHyIS%^>QD1Z8O5##-lQuwK$};{$yq)XrbAzSR%L2_1!wv_A0X-$`=hH;wJr z4&Y+4pjlK7nxfG^I@APFTQ)ug*?4_47KB&jZ1PtgF-a$vOl*-0khbR)17Pg%o|GF( zX4zJNlACk^LZt_0AywAMR9`X`k3X#Qz@-Zi!dMUhsfvXqX{?QvU3r7FVnWn$^901M z#M1$pd3(@4rk&KuE*DK5aCr*YRpZ^gljR;y06%=o`q3N68xP&kMyLQw#?LzU56uhJ5HLNf8{F={z?^m zU?S>5Na+iC43oZTWh`b5>jU~0Ui8>g1{QB*%P5mJ>z~aiGqy!MJM~Sv#>lV*W<@ba z$N`;W@p9`H2VWL4-o4F1*_#Ar^hyCNU4_x1^w?3-&g{$A(ictfpoDzw3nRsZQBxKd zbk(I8Li&(#h=;O}Lz`GX)qotn*-anJNq}r@EB(fRw7ZoD_(rxYqpx_QXNVQqa*QUe zKav(EZ6OnNqwOkHI=>#Xmso2fBeL(&e<^+ zBPGr&bjymUbpd4^t1(J{m7NhmMu_8Dw_vj3g_h|8z&XYWAOs(gF-*;P+8s&s>k6|{v@ z`m*D5^4ME3vYrV-x+tYD$_l2fHpQIG>U+{I03PgP-{Irs^$*=z4h~-8q9p#_<$J)c z3MN|+S=59+Qb979fDw-^`rjj@g1NW}kQ!W5M z<<3~|j`jOF^4xvr_VNdR@R!S*-+RFPM4^#vB4tMfF|hg*iC4$aRa#4?-O9U$aqiHE ztz_6oBVXbcH%TsTN5(Oy0dKx^NL5}O6Q3wd4x4j$!ObJUi2$Vacugj>cn&d8xCX} zKzb8e+y-E(1g6>lhin@V{Hhn|i7YclkqT?NY+=I9U?+mo1`i#^!r7=B@&n{ey+<2dXb!38EB z4(6D{T!nA{KF8aQuDrCjT)4{m$7R|OjfcZ3bmeW^&rY76>#hvGyiVNXXlSIf-viTs z8k+3Xr+H26GEXrCS<5A=Bc_KJe4co%yY_~ zvSm|t%Ts#m(kb72lM|=!`3N{~6}j}%4==C&Xa98h*k^y8i@+b^rhd>I{0{v#Esc4% zPg3Kd*bm-5Pf(j%irk4Vn&{{jmkoqAT8Cb^wT@hG@iPoh=p2W}!r+>D;SL0cG$3CS z>J2Ndzd4?{UgEk_zSU?0OCyVxq|0tj!jE_~jdiByd3WifhxeARe)T()%~kvg@fk^N zb`r;f{L2e3pIct}0PUO!nD0{Yh6CSH7Pm>umM1T1|F&iG1!In{ZB`7BQ|4ihn48^y zd~f;Styl8eROd81+`Pu9K^07E#eV$ke8fpd<|^RQ){z7RSe31#vNu}QrGLe1PqmR` z05!B?{SP9vjWb`?SEN7Ui|m3-oo!LIEy{x1e+fx!TAi^|3iGxV5>2+!uKp{Aa zt(@=`FqxrM&nBn~q7VZm-o}?b!feGwlz!$k+N}1)M%yQ2HK6b`V>p`TjLxVkdBVpw zUk`4-jQya;w)Ge-OWabtv9-nIxC5i-XwHvfS8TK0DT^C&_bH(cCp_WU=hMD-*?8M(p011T_-y0fjgHb6U+S-T z4Pt^cLOLU)lI*3BcI1SkbyOvSXAGLqQo=W|#PR^uf7clFuDr0f+$6qneP?+NA760Y z(j|R5f)^rp@b^V3`obYk?(#_p-*mW7y?CR`>(_XtEJD9~oAWC0arh|Kd85#ZU|h3V z=Pe@C--2humk}u?LYl+2#p;S2zqPUn>i(0 z?t5J9B1G4?{E z9?`>R8MM>&IYXIBUKs5q^I+PNJdUkilNpaFWbCOmj{0nh>z(%=@GahB>s+ZSL6$-Y z<%1*zXB<|qH}BX^BUe&3$6trBybTLsJ{YM`zdJ2Y+8T*dF8*dt<3WJeKOesPXu1E+ z!{y$4PnL)Go-R*$D%lIbzWVtQ{oy{-pQq?Mg4bh(ZO)DEp0?+Cfu@u;5(M*cgz4?F zIM#sF9(`0d)H5D>@fUr*5lI~>32^zwsOYVEOT%__5^$ zUj2N5nyg9b$@1Eb7nj#R_Tuup|L)7&1;i5yE^yerk>kLDyVi8+ic*R|18@E6Hi+L2 zW;Jb`lhjHhZHASwNHeIBl6Zg-R02Z_y`khM8UENvc6bxxphF%rKjIFozx%0AGZ<5` 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